diff --git a/discord.indev.js b/discord.indev.js index 68dd6adc..419d475a 100644 --- a/discord.indev.js +++ b/discord.indev.js @@ -1859,7 +1859,7 @@ function isnan (val) { return val !== val // eslint-disable-line no-self-compare } -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0).Buffer, __webpack_require__(19))) +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0).Buffer, __webpack_require__(18))) /***/ }, /* 1 */ @@ -7070,7 +7070,7 @@ function isPrimitive(arg) { } exports.isPrimitive = isPrimitive; -exports.isBuffer = __webpack_require__(236); +exports.isBuffer = __webpack_require__(234); function objectToString(o) { return Object.prototype.toString.call(o); @@ -7114,7 +7114,7 @@ exports.log = function() { * prototype. * @param {function} superCtor Constructor function to inherit prototype from. */ -exports.inherits = __webpack_require__(235); +exports.inherits = __webpack_require__(233); exports._extend = function(origin, add) { // Don't do anything if add isn't an object @@ -7132,7 +7132,7 @@ function hasOwnProperty(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(19), __webpack_require__(8))) +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(18), __webpack_require__(8))) /***/ }, /* 11 */ @@ -7165,11 +7165,11 @@ var EE = __webpack_require__(5).EventEmitter; var inherits = __webpack_require__(2); inherits(Stream, EE); -Stream.Readable = __webpack_require__(227); -Stream.Writable = __webpack_require__(228); -Stream.Duplex = __webpack_require__(224); +Stream.Readable = __webpack_require__(225); +Stream.Writable = __webpack_require__(226); +Stream.Duplex = __webpack_require__(222); Stream.Transform = __webpack_require__(118); -Stream.PassThrough = __webpack_require__(226); +Stream.PassThrough = __webpack_require__(224); // Backwards-compat with node 0.4.x Stream.Stream = Stream; @@ -7271,17 +7271,17 @@ Stream.prototype.pipe = function(dest, options) { /* 12 */ /***/ function(module, exports) { +module.exports = function cloneObject(obj) { + const cloned = Object.create(obj); + Object.assign(cloned, obj); + return cloned; +}; /***/ }, /* 13 */ /***/ function(module, exports) { -module.exports = function cloneObject(obj) { - const cloned = Object.create(obj); - Object.assign(cloned, obj); - return cloned; -}; /***/ }, @@ -7653,237 +7653,6 @@ hash.ripemd160 = hash.ripemd.ripemd160; /* 17 */ /***/ function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors. -// -// 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", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// resolves . and .. elements in a path array with directory names there -// must be no slashes, empty elements, or device names (c:\) in the array -// (so also no leading and trailing slashes - it does not distinguish -// relative and absolute paths) -function normalizeArray(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; -} - -// Split a filename into [root, dir, basename, ext], unix version -// 'root' is just a slash, or nothing. -var splitPathRe = - /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; -var splitPath = function(filename) { - return splitPathRe.exec(filename).slice(1); -}; - -// path.resolve([from ...], to) -// posix version -exports.resolve = function() { - var resolvedPath = '', - resolvedAbsolute = false; - - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : process.cwd(); - - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - continue; - } - - 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) - - // Normalize the path - resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; -}; - -// path.normalize(path) -// posix version -exports.normalize = function(path) { - var isAbsolute = exports.isAbsolute(path), - trailingSlash = substr(path, -1) === '/'; - - // Normalize the path - path = normalizeArray(filter(path.split('/'), function(p) { - return !!p; - }), !isAbsolute).join('/'); - - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - - return (isAbsolute ? '/' : '') + path; -}; - -// posix version -exports.isAbsolute = function(path) { - return path.charAt(0) === '/'; -}; - -// posix version -exports.join = function() { - var paths = Array.prototype.slice.call(arguments, 0); - return exports.normalize(filter(paths, function(p, index) { - if (typeof p !== 'string') { - throw new TypeError('Arguments to path.join must be strings'); - } - return p; - }).join('/')); -}; - - -// path.relative(from, to) -// posix version -exports.relative = function(from, to) { - from = exports.resolve(from).substr(1); - to = exports.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('/'); -}; - -exports.sep = '/'; -exports.delimiter = ':'; - -exports.dirname = function(path) { - var result = 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; -}; - - -exports.basename = function(path, ext) { - var f = splitPath(path)[2]; - // TODO: make this comparison case-insensitive on windows? - if (ext && f.substr(-1 * ext.length) === ext) { - f = f.substr(0, f.length - ext.length); - } - return f; -}; - - -exports.extname = function(path) { - return splitPath(path)[3]; -}; - -function filter (xs, f) { - if (xs.filter) return xs.filter(f); - var res = []; - for (var i = 0; i < xs.length; i++) { - if (f(xs[i], i, xs)) res.push(xs[i]); - } - return res; -} - -// String.prototype.substr - negative index don't work in IE8 -var substr = 'ab'.substr(-1) === 'b' - ? function (str, start, len) { return str.substr(start, len) } - : function (str, start, len) { - if (start < 0) start = str.length + start; - return str.substr(start, len); - } -; - -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8))) - -/***/ }, -/* 18 */ -/***/ function(module, exports, __webpack_require__) { - "use strict"; // a duplex stream is just a stream that is both readable and writable. // Since JS doesn't have multiple prototypal inheritance, this class @@ -7962,7 +7731,7 @@ function forEach(xs, f) { } /***/ }, -/* 19 */ +/* 18 */ /***/ function(module, exports) { var g; @@ -7987,7 +7756,7 @@ module.exports = g; /***/ }, -/* 20 */ +/* 19 */ /***/ function(module, exports, __webpack_require__) { const Constants = __webpack_require__(1); @@ -8332,7 +8101,7 @@ module.exports = Role; /***/ }, -/* 21 */ +/* 20 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {var Transform = __webpack_require__(11).Transform @@ -8429,7 +8198,7 @@ CipherBase.prototype._toString = function (value, enc, fin) { /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0).Buffer)) /***/ }, -/* 22 */ +/* 21 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -8439,7 +8208,7 @@ var md5 = __webpack_require__(102) var rmd160 = __webpack_require__(166) var sha = __webpack_require__(167) -var Base = __webpack_require__(21) +var Base = __webpack_require__(20) function HashNoConstructor(hash) { Base.call(this, 'digest') @@ -8489,7 +8258,7 @@ module.exports = function createHash (alg) { /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0).Buffer)) /***/ }, -/* 23 */ +/* 22 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {// prototype class for hash functions @@ -8564,6 +8333,237 @@ module.exports = Hash /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0).Buffer)) +/***/ }, +/* 23 */ +/***/ function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors. +// +// 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", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +// resolves . and .. elements in a path array with directory names there +// must be no slashes, empty elements, or device names (c:\) in the array +// (so also no leading and trailing slashes - it does not distinguish +// relative and absolute paths) +function normalizeArray(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; +} + +// Split a filename into [root, dir, basename, ext], unix version +// 'root' is just a slash, or nothing. +var splitPathRe = + /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; +var splitPath = function(filename) { + return splitPathRe.exec(filename).slice(1); +}; + +// path.resolve([from ...], to) +// posix version +exports.resolve = function() { + var resolvedPath = '', + resolvedAbsolute = false; + + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : process.cwd(); + + // Skip empty and invalid entries + if (typeof path !== 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + continue; + } + + 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) + + // Normalize the path + resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) { + return !!p; + }), !resolvedAbsolute).join('/'); + + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; +}; + +// path.normalize(path) +// posix version +exports.normalize = function(path) { + var isAbsolute = exports.isAbsolute(path), + trailingSlash = substr(path, -1) === '/'; + + // Normalize the path + path = normalizeArray(filter(path.split('/'), function(p) { + return !!p; + }), !isAbsolute).join('/'); + + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + + return (isAbsolute ? '/' : '') + path; +}; + +// posix version +exports.isAbsolute = function(path) { + return path.charAt(0) === '/'; +}; + +// posix version +exports.join = function() { + var paths = Array.prototype.slice.call(arguments, 0); + return exports.normalize(filter(paths, function(p, index) { + if (typeof p !== 'string') { + throw new TypeError('Arguments to path.join must be strings'); + } + return p; + }).join('/')); +}; + + +// path.relative(from, to) +// posix version +exports.relative = function(from, to) { + from = exports.resolve(from).substr(1); + to = exports.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('/'); +}; + +exports.sep = '/'; +exports.delimiter = ':'; + +exports.dirname = function(path) { + var result = 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; +}; + + +exports.basename = function(path, ext) { + var f = splitPath(path)[2]; + // TODO: make this comparison case-insensitive on windows? + if (ext && f.substr(-1 * ext.length) === ext) { + f = f.substr(0, f.length - ext.length); + } + return f; +}; + + +exports.extname = function(path) { + return splitPath(path)[3]; +}; + +function filter (xs, f) { + if (xs.filter) return xs.filter(f); + var res = []; + for (var i = 0; i < xs.length; i++) { + if (f(xs[i], i, xs)) res.push(xs[i]); + } + return res; +} + +// String.prototype.substr - negative index don't work in IE8 +var substr = 'ab'.substr(-1) === 'b' + ? function (str, start, len) { return str.substr(start, len) } + : function (str, start, len) { + if (start < 0) start = str.length + start; + return str.substr(start, len); + } +; + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8))) + /***/ }, /* 24 */ /***/ function(module, exports) { @@ -8962,13 +8962,13 @@ function randomBytes (size, cb) { return bytes } -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(19), __webpack_require__(0).Buffer, __webpack_require__(8))) +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(18), __webpack_require__(0).Buffer, __webpack_require__(8))) /***/ }, /* 31 */ /***/ function(module, exports, __webpack_require__) { -const path = __webpack_require__(17); +const path = __webpack_require__(23); const Message = __webpack_require__(34); const MessageCollector = __webpack_require__(73); const Collection = __webpack_require__(6); @@ -9324,7 +9324,7 @@ function applyProp(structure, prop) { /***/ function(module, exports, __webpack_require__) { const Channel = __webpack_require__(24); -const Role = __webpack_require__(20); +const Role = __webpack_require__(19); const PermissionOverwrites = __webpack_require__(79); const EvaluatedPermissions = __webpack_require__(46); const Constants = __webpack_require__(1); @@ -9622,7 +9622,7 @@ module.exports = GuildChannel; /***/ function(module, exports, __webpack_require__) { const TextBasedChannel = __webpack_require__(31); -const Role = __webpack_require__(20); +const Role = __webpack_require__(19); const EvaluatedPermissions = __webpack_require__(46); const Constants = __webpack_require__(1); const Collection = __webpack_require__(6); @@ -11215,9 +11215,9 @@ exports.setTyped(TYPED_OK); /* 43 */ /***/ function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(Buffer) {var asn1 = __webpack_require__(214) +/* WEBPACK VAR INJECTION */(function(Buffer) {var asn1 = __webpack_require__(212) var aesid = __webpack_require__(204) -var fixProc = __webpack_require__(215) +var fixProc = __webpack_require__(213) var ciphers = __webpack_require__(50) var compat = __webpack_require__(112) module.exports = parseKeys @@ -11759,13 +11759,13 @@ module.exports = EvaluatedPermissions; /***/ function(module, exports, __webpack_require__) { const User = __webpack_require__(14); -const Role = __webpack_require__(20); +const Role = __webpack_require__(19); const Emoji = __webpack_require__(25); const Presence = __webpack_require__(15).Presence; const GuildMember = __webpack_require__(33); const Constants = __webpack_require__(1); const Collection = __webpack_require__(6); -const cloneObject = __webpack_require__(13); +const cloneObject = __webpack_require__(12); const arraysEqual = __webpack_require__(63); /** @@ -12634,7 +12634,7 @@ module.exports = ReactionEmoji; /* 49 */ /***/ function(module, exports, __webpack_require__) { -const path = __webpack_require__(17); +const path = __webpack_require__(23); const escapeMarkdown = __webpack_require__(35); /** @@ -13013,7 +13013,7 @@ exports.allocUnsafeSlow = function allocUnsafeSlow(size) { return new SlowBuffer(size); } -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(19))) +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(18))) /***/ }, /* 53 */ @@ -13021,7 +13021,7 @@ exports.allocUnsafeSlow = function allocUnsafeSlow(size) { "use strict"; /* WEBPACK VAR INJECTION */(function(Buffer) {'use strict'; -var createHash = __webpack_require__(22); +var createHash = __webpack_require__(21); var inherits = __webpack_require__(2) var Transform = __webpack_require__(11).Transform @@ -13357,7 +13357,7 @@ function nextTick(fn, arg1, arg2, arg3) { module.exports = Transform; -var Duplex = __webpack_require__(18); +var Duplex = __webpack_require__(17); /**/ var util = __webpack_require__(28); @@ -13522,7 +13522,7 @@ util.inherits = __webpack_require__(2); /**/ var internalUtil = { - deprecate: __webpack_require__(234) + deprecate: __webpack_require__(232) }; /**/ @@ -13555,7 +13555,7 @@ function WriteReq(chunk, encoding, cb) { var Duplex; function WritableState(options, stream) { - Duplex = Duplex || __webpack_require__(18); + Duplex = Duplex || __webpack_require__(17); options = options || {}; @@ -13671,7 +13671,7 @@ WritableState.prototype.getBuffer = function writableStateGetBuffer() { var Duplex; function Writable(options) { - Duplex = Duplex || __webpack_require__(18); + Duplex = Duplex || __webpack_require__(17); // Writable ctor is applied to Duplexes, though they're not // instanceof Writable, they're instanceof Readable. @@ -14271,7 +14271,7 @@ if (typeof window !== 'undefined') { // Browser window } var Emitter = __webpack_require__(163); -var RequestBase = __webpack_require__(229); +var RequestBase = __webpack_require__(227); var isObject = __webpack_require__(119); /** @@ -14284,7 +14284,7 @@ function noop(){}; * Expose `request`. */ -var request = module.exports = __webpack_require__(230).bind(null, Request); +var request = module.exports = __webpack_require__(228).bind(null, Request); /** * Determine XHR. @@ -15382,8 +15382,8 @@ exports.clearImmediate = typeof clearImmediate === "function" ? clearImmediate : 'use strict'; -var punycode = __webpack_require__(220); -var util = __webpack_require__(241); +var punycode = __webpack_require__(218); +var util = __webpack_require__(239); exports.parse = urlParse; exports.resolve = urlResolve; @@ -15458,7 +15458,7 @@ var protocolPattern = /^([a-z0-9.+-]+:)/i, 'gopher:': true, 'file:': true }, - querystring = __webpack_require__(223); + querystring = __webpack_require__(221); function urlParse(url, parseQueryString, slashesDenoteHost) { if (url && util.isObject(url) && url instanceof Url) return url; @@ -16176,8 +16176,8 @@ module.exports = { /* 65 */ /***/ function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(process) {const childProcess = __webpack_require__(12); -const path = __webpack_require__(17); +/* WEBPACK VAR INJECTION */(function(process) {const childProcess = __webpack_require__(13); +const path = __webpack_require__(23); const makeError = __webpack_require__(135); const makePlainError = __webpack_require__(136); @@ -19058,8 +19058,8 @@ webpackEmptyContext.id = 88; * Module dependencies. */ -var fs = __webpack_require__(12) - , path = __webpack_require__(17) +var fs = __webpack_require__(13) + , path = __webpack_require__(23) , join = path.join , dirname = path.dirname , exists = fs.existsSync || path.existsSync @@ -19290,7 +19290,7 @@ if (typeof window === 'object') { /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {var aes = __webpack_require__(37) -var Transform = __webpack_require__(21) +var Transform = __webpack_require__(20) var inherits = __webpack_require__(2) var GHASH = __webpack_require__(153) var xor = __webpack_require__(27) @@ -19553,7 +19553,7 @@ exports.encrypt = function (self, chunk) { /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {var aes = __webpack_require__(37) -var Transform = __webpack_require__(21) +var Transform = __webpack_require__(20) var inherits = __webpack_require__(2) inherits(StreamCipher, Transform) @@ -20471,7 +20471,7 @@ module.exports = function md5(buf) { */ var inherits = __webpack_require__(2) -var Hash = __webpack_require__(23) +var Hash = __webpack_require__(22) var K = [ 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, @@ -20604,7 +20604,7 @@ module.exports = Sha256 /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {var inherits = __webpack_require__(2) -var Hash = __webpack_require__(23) +var Hash = __webpack_require__(22) var K = [ 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, @@ -21115,7 +21115,7 @@ MillerRabin.prototype.getDivisor = function getDivisor(n, k) { * MIT Licensed */ -var fs = __webpack_require__(12); +var fs = __webpack_require__(13); function Options(defaults) { var internalValues = {}; @@ -21310,7 +21310,7 @@ module.exports = { /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process, Buffer) {var createHmac = __webpack_require__(53) -var checkParameters = __webpack_require__(216) +var checkParameters = __webpack_require__(214) exports.pbkdf2 = function (password, salt, iterations, keylen, digest, callback) { if (typeof digest === 'function') { @@ -21384,7 +21384,7 @@ exports.pbkdf2Sync = function (password, salt, iterations, keylen, digest) { /* 113 */ /***/ function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(Buffer) {var createHash = __webpack_require__(22); +/* WEBPACK VAR INJECTION */(function(Buffer) {var createHash = __webpack_require__(21); module.exports = function (seed, len) { var t = new Buffer(''); var i = 0, c; @@ -21521,7 +21521,7 @@ if (debugUtil && debugUtil.debuglog) { } /**/ -var BufferList = __webpack_require__(225); +var BufferList = __webpack_require__(223); var StringDecoder; util.inherits(Readable, Stream); @@ -21540,7 +21540,7 @@ function prependListener(emitter, event, fn) { var Duplex; function ReadableState(options, stream) { - Duplex = Duplex || __webpack_require__(18); + Duplex = Duplex || __webpack_require__(17); options = options || {}; @@ -21610,7 +21610,7 @@ function ReadableState(options, stream) { var Duplex; function Readable(options) { - Duplex = Duplex || __webpack_require__(18); + Duplex = Duplex || __webpack_require__(17); if (!(this instanceof Readable)) return new Readable(options); @@ -24861,7 +24861,7 @@ module.exports = function(module) { 'use strict' exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = __webpack_require__(30) -exports.createHash = exports.Hash = __webpack_require__(22) +exports.createHash = exports.Hash = __webpack_require__(21) exports.createHmac = exports.Hmac = __webpack_require__(53) var hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(Object.keys(__webpack_require__(99))) @@ -24912,7 +24912,7 @@ var sign = __webpack_require__(157) exports.createECDH = __webpack_require__(164) -var publicEncrypt = __webpack_require__(217) +var publicEncrypt = __webpack_require__(215) ;[ 'publicEncrypt', @@ -24952,7 +24952,7 @@ var publicEncrypt = __webpack_require__(217) var WS = module.exports = __webpack_require__(129); -WS.Server = __webpack_require__(248); +WS.Server = __webpack_require__(246); WS.Sender = __webpack_require__(128); WS.Receiver = __webpack_require__(127); @@ -25009,7 +25009,7 @@ WS.connect = WS.createConnection = function connect(address, fn) { try { module.exports = __webpack_require__(162); } catch (e) { - module.exports = __webpack_require__(243); + module.exports = __webpack_require__(241); } @@ -25129,9 +25129,9 @@ function format(value) { */ var util = __webpack_require__(10) - , Validation = __webpack_require__(247).Validation + , Validation = __webpack_require__(245).Validation , ErrorCodes = __webpack_require__(125) - , BufferPool = __webpack_require__(242) + , BufferPool = __webpack_require__(240) , bufferUtil = __webpack_require__(124).BufferUtil , PerMessageDeflate = __webpack_require__(44); @@ -26265,15 +26265,15 @@ function getRandomMask() { var url = __webpack_require__(62) , util = __webpack_require__(10) , http = __webpack_require__(55) - , https = __webpack_require__(238) + , https = __webpack_require__(236) , crypto = __webpack_require__(122) , stream = __webpack_require__(11) - , Ultron = __webpack_require__(231) + , Ultron = __webpack_require__(229) , Options = __webpack_require__(108) , Sender = __webpack_require__(128) , Receiver = __webpack_require__(127) - , SenderHixie = __webpack_require__(245) - , ReceiverHixie = __webpack_require__(244) + , SenderHixie = __webpack_require__(243) + , ReceiverHixie = __webpack_require__(242) , Extensions = __webpack_require__(126) , PerMessageDeflate = __webpack_require__(44) , EventEmitter = __webpack_require__(5).EventEmitter; @@ -27248,8 +27248,8 @@ function cleanupWebsocketResources(error) { /* 130 */ /***/ function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(Buffer) {const path = __webpack_require__(17); -const fs = __webpack_require__(12); +/* WEBPACK VAR INJECTION */(function(Buffer) {const path = __webpack_require__(23); +const fs = __webpack_require__(13); const request = __webpack_require__(60); const Constants = __webpack_require__(1); @@ -27550,11 +27550,11 @@ module.exports = ClientDataResolver; /* 131 */ /***/ function(module, exports, __webpack_require__) { -const UserAgentManager = __webpack_require__(283); -const RESTMethods = __webpack_require__(280); -const SequentialRequestHandler = __webpack_require__(282); -const BurstRequestHandler = __webpack_require__(281); -const APIRequest = __webpack_require__(279); +const UserAgentManager = __webpack_require__(281); +const RESTMethods = __webpack_require__(278); +const SequentialRequestHandler = __webpack_require__(280); +const BurstRequestHandler = __webpack_require__(279); +const APIRequest = __webpack_require__(277); const Constants = __webpack_require__(1); class RESTManager { @@ -27739,12 +27739,12 @@ module.exports = function makePlainError(err) { const mergeDefault = __webpack_require__(45); const Constants = __webpack_require__(1); const RESTManager = __webpack_require__(131); -const ClientDataManager = __webpack_require__(250); -const ClientManager = __webpack_require__(251); +const ClientDataManager = __webpack_require__(248); +const ClientManager = __webpack_require__(249); const ClientDataResolver = __webpack_require__(130); -const ClientVoiceManager = __webpack_require__(284); -const WebSocketManager = __webpack_require__(299); -const ActionsManager = __webpack_require__(252); +const ClientVoiceManager = __webpack_require__(282); +const WebSocketManager = __webpack_require__(297); +const ActionsManager = __webpack_require__(250); const Collection = __webpack_require__(6); const Presence = __webpack_require__(15).Presence; const ShardClientUtil = __webpack_require__(66); @@ -28243,8 +28243,8 @@ module.exports = WebhookClient; /* 139 */ /***/ function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(process) {const path = __webpack_require__(17); -const fs = __webpack_require__(12); +/* WEBPACK VAR INJECTION */(function(process) {const path = __webpack_require__(23); +const fs = __webpack_require__(13); const EventEmitter = __webpack_require__(5).EventEmitter; const mergeDefault = __webpack_require__(45); const Shard = __webpack_require__(65); @@ -28529,7 +28529,7 @@ function Entity(name, body) { Entity.prototype._createNamed = function createNamed(base) { var named; try { - named = __webpack_require__(237).runInThisContext( + named = __webpack_require__(235).runInThisContext( '(function ' + this.name + '(entity) {\n' + ' this._initNamed(entity);\n' + '})' @@ -29985,7 +29985,7 @@ var objectKeys = Object.keys || function (obj) { return keys; }; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(19))) +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(18))) /***/ }, /* 150 */ @@ -30113,7 +30113,7 @@ function fromByteArray (uint8) { /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {var aes = __webpack_require__(37) -var Transform = __webpack_require__(21) +var Transform = __webpack_require__(20) var inherits = __webpack_require__(2) var modes = __webpack_require__(38) var StreamCipher = __webpack_require__(98) @@ -30257,7 +30257,7 @@ exports.createDecipheriv = createDecipheriv /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {var aes = __webpack_require__(37) -var Transform = __webpack_require__(21) +var Transform = __webpack_require__(20) var inherits = __webpack_require__(2) var modes = __webpack_require__(38) var ebtk = __webpack_require__(41) @@ -30569,7 +30569,7 @@ exports.listCiphers = exports.getCiphers = getCiphers /* 155 */ /***/ function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(Buffer) {var CipherBase = __webpack_require__(21) +/* WEBPACK VAR INJECTION */(function(Buffer) {var CipherBase = __webpack_require__(20) var des = __webpack_require__(54) var inherits = __webpack_require__(2) @@ -30650,7 +30650,7 @@ exports['des-ede'] = { /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {var _algos = __webpack_require__(99) -var createHash = __webpack_require__(22) +var createHash = __webpack_require__(21) var inherits = __webpack_require__(2) var sign = __webpack_require__(158) var stream = __webpack_require__(11) @@ -31062,10 +31062,10 @@ module.exports = verify /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process, Buffer) {var msg = __webpack_require__(111); -var zstream = __webpack_require__(213); -var zlib_deflate = __webpack_require__(208); -var zlib_inflate = __webpack_require__(210); -var constants = __webpack_require__(207); +var zstream = __webpack_require__(211); +var zlib_deflate = __webpack_require__(206); +var zlib_inflate = __webpack_require__(208); +var constants = __webpack_require__(205); for (var key in constants) { exports[key] = constants[key]; @@ -31968,7 +31968,7 @@ exports.sha512 = __webpack_require__(104) */ var inherits = __webpack_require__(2) -var Hash = __webpack_require__(23) +var Hash = __webpack_require__(22) var K = [ 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0 @@ -32069,7 +32069,7 @@ module.exports = Sha */ var inherits = __webpack_require__(2) -var Hash = __webpack_require__(23) +var Hash = __webpack_require__(22) var K = [ 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0 @@ -32174,7 +32174,7 @@ module.exports = Sha1 var inherits = __webpack_require__(2) var Sha256 = __webpack_require__(103) -var Hash = __webpack_require__(23) +var Hash = __webpack_require__(22) var W = new Array(64) @@ -32225,7 +32225,7 @@ module.exports = Sha224 /* WEBPACK VAR INJECTION */(function(Buffer) {var inherits = __webpack_require__(2) var SHA512 = __webpack_require__(104) -var Hash = __webpack_require__(23) +var Hash = __webpack_require__(22) var W = new Array(160) @@ -39013,128 +39013,6 @@ module.exports = { /***/ }, /* 205 */ -/***/ function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process, __dirname) {var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&"function"==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=__webpack_require__(12);if(!nodePath)nodePath=__webpack_require__(17);filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);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){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(true){module["exports"]=Module}Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;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}}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};Module["readAsync"]=function readAsync(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){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};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.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{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"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;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}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,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);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=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}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:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"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){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>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?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>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";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;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;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=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,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>2]=0}stop=ret+size;while(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>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;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}return Module["UTF8ToString"](ptr)}function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}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)}}catch(e){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}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){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())}var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory0){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__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){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(){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)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];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;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+35488;__ATINIT__.push({func:(function(){__GLOBAL__sub_I_opusscript_encoder_cpp()})},{func:(function(){__GLOBAL__sub_I_bind_cpp()})});allocate([32,90,0,0,152,108,0,0,160,90,0,0,172,108,0,0,0,0,0,0,8,0,0,0,160,90,0,0,193,108,0,0,1,0,0,0,8,0,0,0,188,90,0,0,7,130,0,0,0,0,0,0,1,0,0,0,72,0,0,0,0,0,0,0,32,90,0,0,70,130,0,0,188,90,0,0,120,130,0,0,0,0,0,0,1,0,0,0,72,0,0,0,0,0,0,0,188,90,0,0,216,130,0,0,0,0,0,0,1,0,0,0,72,0,0,0,0,0,0,0,32,90,0,0,36,131,0,0,32,90,0,0,71,131,0,0,32,90,0,0,132,131,0,0,32,90,0,0,200,131,0,0,32,90,0,0,14,132,0,0,32,90,0,0,76,132,0,0,32,90,0,0,147,132,0,0,32,90,0,0,207,132,0,0,32,90,0,0,20,133,0,0,32,90,0,0,81,133,0,0,32,90,0,0,94,134,0,0,32,90,0,0,156,134,0,0,32,90,0,0,219,134,0,0,32,90,0,0,148,135,0,0,72,90,0,0,114,135,0,0,16,1,0,0,0,0,0,0,72,90,0,0,31,135,0,0,240,0,0,0,0,0,0,0,72,90,0,0,68,135,0,0,32,1,0,0,0,0,0,0,32,90,0,0,101,135,0,0,72,90,0,0,161,135,0,0,232,0,0,0,0,0,0,0,72,90,0,0,225,135,0,0,16,1,0,0,0,0,0,0,72,90,0,0,189,135,0,0,56,1,0,0,0,0,0,0,72,90,0,0,3,136,0,0,16,1,0,0,0,0,0,0,132,90,0,0,43,136,0,0,132,90,0,0,45,136,0,0,132,90,0,0,48,136,0,0,132,90,0,0,50,136,0,0,132,90,0,0,52,136,0,0,132,90,0,0,54,136,0,0,132,90,0,0,56,136,0,0,132,90,0,0,58,136,0,0,132,90,0,0,60,136,0,0,132,90,0,0,62,136,0,0,132,90,0,0,64,136,0,0,132,90,0,0,66,136,0,0,132,90,0,0,68,136,0,0,132,90,0,0,70,136,0,0,72,90,0,0,72,136,0,0,240,0,0,0,0,0,0,0,16,0,0,0,168,1,0,0,168,1,0,0,168,1,0,0,168,1,0,0,16,0,0,0,168,1,0,0,168,1,0,0,168,1,0,0,168,1,0,0,168,1,0,0,16,0,0,0,168,1,0,0,168,1,0,0,168,1,0,0,0,0,157,62,0,64,94,62,0,192,4,62,0,128,237,62,0,64,137,62,0,0,0,0,0,192,76,63,0,0,205,61,0,0,0,0,34,109,0,0,42,109,0,0,59,109,0,0,76,109,0,0,91,109,0,0,108,109,0,0,132,109,0,0,146,109,0,0,16,39,0,0,232,3,0,0,248,42,0,0,232,3,0,0,188,52,0,0,232,3,0,0,176,54,0,0,208,7,0,0,224,46,0,0,232,3,0,0,176,54,0,0,232,3,0,0,128,62,0,0,232,3,0,0,32,78,0,0,232,3,0,0,240,85,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,0,0,16,39,0,0,16,39,0,0,248,42,0,0,248,42,0,0,128,62,0,0,188,52,0,0,188,52,0,0,152,58,0,0,152,58,0,0,32,78,0,0,128,62,0,0,128,62,0,0,80,70,0,0,80,70,0,0,192,93,0,0,80,70,0,0,80,70,0,0,8,82,0,0,8,82,0,0,0,125,0,0,240,85,0,0,240,85,0,0,96,109,0,0,96,109,0,0,0,250,0,0,112,148,0,0,112,148,0,0,80,195,0,0,80,195,0,0,230,90,52,56,119,78,51,57,211,217,201,57,146,145,51,58,204,96,140,58,97,251,201,58,153,126,9,59,203,128,51,59,213,37,99,59,119,46,140,59,168,138,169,59,69,184,201,59,135,166,236,59,232,46,9,60,174,102,29,60,247,2,51,60,147,255,73,60,79,88,98,60,94,17,124,60,46,145,139,60,189,199,153,60,92,172,168,60,243,60,184,60,129,121,200,60,238,95,217,60,57,240,234,60,99,42,253,60,53,7,8,61,16,204,17,61,205,228,27,61,97,80,38,61,203,14,49,61,0,31,60,61,254,128,71,61,198,52,83,61,63,56,95,61,105,139,107,61,69,46,120,61,105,144,130,61,123,48,137,61,224,247,143,61,138,229,150,61,123,249,157,61,177,51,165,61,33,147,172,61,80,24,180,61,51,194,187,61,79,145,195,61,18,132,203,61,2,155,211,61,31,214,219,61,215,51,228,61,175,180,236,61,33,88,245,61,168,29,254,61,161,130,3,62,242,6,8,62,199,155,12,62,221,64,17,62,52,246,21,62,69,187,26,62,17,144,31,62,84,116,36,62,203,103,41,62,51,106,46,62,141,123,51,62,82,155,56,62,197,201,61,62,28,6,67,62,89,80,72,62,122,168,77,62,183,13,83,62,82,128,88,62,8,0,94,62,84,140,99,62,242,36,105,62,37,202,110,62,36,123,116,62,172,55,122,62,0,0,128,62,171,233,130,62,249,216,133,62,133,205,136,62,80,199,139,62,55,198,142,62,247,201,145,62,179,210,148,62,38,224,151,62,15,242,154,62,108,8,158,62,28,35,161,62,255,65,164,62,208,100,167,62,177,139,170,62,28,182,173,62,84,228,176,62,211,21,180,62,186,74,183,62,232,130,186,62,249,189,189,62,13,252,192,62,226,60,196,62,86,128,199,62,71,198,202,62,149,14,206,62,251,88,209,62,122,165,212,62,241,243,215,62,28,68,219,62,217,149,222,62,8,233,225,62,167,61,229,62,83,147,232,62,12,234,235,62,175,65,239,62,28,154,242,62,14,243,245,62,136,76,249,62,34,166,252,62,0,0,0,63,239,172,1,63,188,89,3,63,121,6,5,63,242,178,6,63,41,95,8,63,250,10,10,63,86,182,11,63,44,97,13,63,124,11,15,63,19,181,16,63,242,93,18,63,8,6,20,63,67,173,21,63,130,83,23,63,182,248,24,63,220,156,26,63,213,63,28,63,143,225,29,63,249,129,31,63,4,33,33,63,140,190,34,63,163,90,36,63,23,245,37,63,214,141,39,63,242,36,41,63,40,186,42,63,152,77,44,63,1,223,45,63,114,110,47,63,202,251,48,63,249,134,50,63,237,15,52,63,167,150,53,63,4,27,55,63,229,156,56,63,88,28,58,63,61,153,59,63,131,19,61,63,42,139,62,63,0,0,64,63,21,114,65,63,55,225,66,63,119,77,68,63,195,182,69,63,235,28,71,63,254,127,72,63,236,223,73,63,146,60,75,63,225,149,76,63,234,235,77,63,121,62,79,63,143,141,80,63,43,217,81,63,29,33,83,63,115,101,84,63,13,166,85,63,235,226,86,63,252,27,88,63,47,81,89,63,115,130,90,63,201,175,91,63,14,217,92,63,67,254,93,63,88,31,95,63,75,60,96,63,252,84,97,63,106,105,98,63,133,121,99,63,60,133,100,63,160,140,101,63,126,143,102,63,214,141,103,63,186,135,104,63,246,124,105,63,156,109,106,63,138,89,107,63,209,64,108,63,79,35,109,63,4,1,110,63,241,217,110,63,243,173,111,63,28,125,112,63,73,71,113,63,124,12,114,63,180,204,114,63,240,135,115,63,16,62,116,63,19,239,116,63,250,154,117,63,179,65,118,63,63,227,118,63,141,127,119,63,173,22,120,63,126,168,120,63,1,53,121,63,52,188,121,63,24,62,122,63,157,186,122,63,194,49,123,63,119,163,123,63,187,15,124,63,159,118,124,63,2,216,124,63,244,51,125,63,101,138,125,63,68,219,125,63,179,38,126,63,143,108,126,63,235,172,126,63,163,231,126,63,218,28,127,63,127,76,127,63,129,118,127,63,2,155,127,63,208,185,127,63,28,211,127,63,197,230,127,63,203,244,127,63,47,253,127,63,0,0,128,63,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,160,0,0,0,200,0,0,0,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,208,37,180,62,151,57,173,62,9,165,159,62,250,237,139,62,205,172,101,62,248,169,42,62,52,48,210,61,90,241,13,61,90,241,13,189,52,48,210,189,248,169,42,190,205,172,101,190,250,237,139,190,9,165,159,190,151,57,173,190,208,37,180,190,135,138,177,62,27,131,150,62,96,35,73,62,196,66,141,61,196,66,141,189,96,35,73,190,27,131,150,190,135,138,177,190,135,138,177,190,27,131,150,190,96,35,73,190,196,66,141,189,196,66,141,61,96,35,73,62,27,131,150,62,135,138,177,62,151,57,173,62,205,172,101,62,90,241,13,61,248,169,42,190,9,165,159,190,208,37,180,190,250,237,139,190,52,48,210,189,52,48,210,61,250,237,139,62,208,37,180,62,9,165,159,62,248,169,42,62,90,241,13,189,205,172,101,190,151,57,173,190,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,9,165,159,62,90,241,13,61,250,237,139,190,151,57,173,190,52,48,210,189,205,172,101,62,208,37,180,62,248,169,42,62,248,169,42,190,208,37,180,190,205,172,101,190,52,48,210,61,151,57,173,62,250,237,139,62,90,241,13,189,9,165,159,190,27,131,150,62,196,66,141,189,135,138,177,190,96,35,73,190,96,35,73,62,135,138,177,62,196,66,141,61,27,131,150,190,27,131,150,190,196,66,141,61,135,138,177,62,96,35,73,62,96,35,73,190,135,138,177,190,196,66,141,189,27,131,150,62,250,237,139,62,248,169,42,190,151,57,173,190,90,241,13,61,208,37,180,62,52,48,210,61,9,165,159,190,205,172,101,190,205,172,101,62,9,165,159,62,52,48,210,189,208,37,180,190,90,241,13,189,151,57,173,62,248,169,42,62,250,237,139,190,22,235,181,64,30,107,94,64,35,164,226,63,185,197,204,63,91,124,113,64,184,115,10,64,116,96,161,63,136,245,142,63,19,155,245,63,0,0,0,0,5,193,35,61,233,125,163,61,37,150,244,61,226,116,34,62,172,28,74,62,221,37,113,62,52,186,139,62,180,119,158,62,228,191,176,62,173,136,194,62,37,201,211,62,24,122,228,62,24,149,244,62,200,10,2,63,28,124,9,63,73,157,16,63,202,109,23,63,192,237,29,63,159,29,36,63,84,254,41,63,46,145,47,63,224,215,52,63,99,212,57,63,240,136,62,63,211,247,66,63,171,35,71,63,23,15,75,63,216,188,78,63,173,47,82,63,106,106,85,63,206,111,88,63,154,66,91,63,142,229,93,63,75,91,96,63,110,166,98,63,100,201,100,63,155,198,102,63,111,160,104,63,247,88,106,63,128,242,107,63,223,110,109,63,11,208,110,63,202,23,112,63,224,71,113,63,225,97,114,63,77,103,115,63,150,89,116,63,12,58,117,63,255,9,118,63,138,202,118,63,187,124,119,63,192,33,120,63,98,186,120,63,157,71,121,63,75,202,121,63,36,67,122,63,242,178,122,63,59,26,123,63,200,121,123,63,32,210,123,63,200,35,124,63,55,111,124,63,242,180,124,63,94,245,124,63,224,48,125,63,236,103,125,63,183,154,125,63,180,201,125,63,6,245,125,63,17,29,126,63,24,66,126,63,78,100,126,63,211,131,126,63,253,160,126,63,237,187,126,63,195,212,126,63,179,235,126,63,239,0,127,63,135,20,127,63,141,38,127,63,67,55,127,63,170,70,127,63,227,84,127,63,15,98,127,63,47,110,127,63,100,121,127,63,190,131,127,63,63,141,127,63,24,150,127,63,56,158,127,63,194,165,127,63,163,172,127,63,16,179,127,63,245,184,127,63,119,190,127,63,114,195,127,63,25,200,127,63,108,204,127,63,91,208,127,63,6,212,127,63,111,215,127,63,131,218,127,63,102,221,127,63,21,224,127,63,130,226,127,63,205,228,127,63,230,230,127,63,205,232,127,63,146,234,127,63,70,236,127,63,200,237,127,63,40,239,127,63,120,240,127,63,166,241,127,63,195,242,127,63,191,243,127,63,186,244,127,63,148,245,127,63,94,246,127,63,39,247,127,63,207,247,127,63,119,248,127,63,253,248,127,63,148,249,127,63,9,250,127,63,127,250,127,63,244,250,127,63,89,251,127,63,173,251,127,63,1,252,127,63,84,252,127,63,152,252,127,63,219,252,127,63,30,253,127,63,80,253,127,63,130,253,127,63,181,253,127,63,231,253,127,63,9,254,127,63,59,254,127,63,93,254,127,63,126,254,127,63,143,254,127,63,176,254,127,63,210,254,127,63,227,254,127,63,244,254,127,63,21,255,127,63,38,255,127,63,55,255,127,63,71,255,127,63,88,255,127,63,88,255,127,63,105,255,127,63,122,255,127,63,122,255,127,63,139,255,127,63,155,255,127,63,155,255,127,63,155,255,127,63,172,255,127,63,172,255,127,63,189,255,127,63,189,255,127,63,189,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,92,201,154,191,92,181,225,188,29,102,249,60,41,7,147,189,76,199,183,189,254,214,206,61,107,200,73,189,213,203,143,61,162,63,153,60,131,208,139,59,7,3,132,61,170,154,224,189,251,30,245,189,156,141,17,188,11,14,47,62,98,192,50,62,25,231,135,190,14,59,130,189,104,203,145,190,133,66,136,191,57,185,79,62,205,228,19,64,254,212,48,192,107,127,215,190,71,229,50,63,144,218,206,64,190,165,135,61,26,70,155,61,241,153,81,61,23,176,46,61,228,249,236,61,194,18,135,190,137,197,57,188,107,74,66,190,44,114,190,189,15,94,147,190,234,136,189,61,164,240,234,60,161,171,163,188,103,180,69,190,98,101,132,62,179,149,151,60,242,210,237,61,140,77,203,61,221,29,0,188,97,51,136,190,116,69,145,62,227,199,40,65,110,133,40,191,198,53,86,63,106,222,81,65,36,209,160,192,56,103,140,191,137,42,151,189,64,184,167,60,103,126,53,60,37,104,2,187,152,220,139,59,239,146,24,62,41,174,154,61,238,207,229,61,197,96,84,189,236,162,232,60,105,97,197,60,53,77,78,189,26,24,25,190,227,199,8,190,182,159,12,190,150,33,238,61,117,202,115,62,250,97,164,61,125,168,30,61,218,27,188,61,180,142,129,64,129,149,79,64,2,43,55,191,225,93,2,65,218,44,239,193,246,40,148,63,255,147,255,189,102,233,185,60,124,187,64,189,90,0,9,189,207,206,19,61,20,106,55,61,121,110,41,187,165,84,157,188,137,151,231,189,90,72,224,61,75,81,51,189,51,156,28,61,194,238,34,188,128,99,31,190,82,12,48,62,141,123,99,190,91,8,6,191,166,34,58,189,54,144,14,191,23,244,66,63,23,217,44,192,69,13,98,191,113,29,99,63,107,15,63,63,168,25,186,190,127,137,184,62,66,91,14,61,15,97,124,188,56,153,225,59,58,135,27,188,169,33,128,61,86,182,79,189,178,164,23,61,110,10,117,60,67,86,119,61,71,94,145,189,118,138,21,189,47,196,202,61,104,185,34,189,150,10,146,62,113,231,2,62,77,45,27,190,59,29,136,62,111,117,170,189,14,67,85,61,140,214,101,63,202,224,224,62,144,131,64,192,163,1,248,63,103,68,209,190,54,172,153,62,227,194,181,191,69,74,243,61,178,70,61,189,146,230,79,61,22,83,196,188,77,235,128,189,165,98,8,188,160,53,223,189,183,222,5,189,46,143,213,61,96,168,136,189,8,242,66,61,75,175,141,61,63,127,107,189,121,33,13,190,10,242,83,190,129,236,37,190,88,114,85,190,45,39,17,62,57,41,148,190,154,153,73,191,163,146,186,61,240,50,51,62,10,46,2,192,198,80,68,64,133,124,156,63,95,210,6,64,48,139,159,61,171,63,98,190,60,106,12,62,216,26,128,189,100,118,150,189,195,14,51,62,84,195,14,190,131,32,198,61,103,30,170,61,167,7,101,190,13,250,210,61,147,139,209,189,146,6,103,62,123,20,30,62,83,93,64,62,22,226,15,188,77,188,3,62,60,50,190,190,86,68,245,190,73,76,32,62,106,48,141,63,196,124,161,191,19,13,178,61,28,181,18,190,57,185,11,64,18,218,56,192,38,27,207,61,119,219,157,190,203,101,99,62,140,44,105,190,51,31,12,188,188,93,47,60,26,189,253,59,149,207,151,188,8,181,250,60,252,55,111,190,62,86,165,61,13,54,245,188,175,150,27,62,31,19,137,190,22,143,70,61,87,93,7,62,150,148,107,190,235,59,183,62,168,114,154,61,167,149,226,61,103,155,163,191,174,216,83,64,156,192,84,63,188,118,89,190,203,161,165,193,252,24,147,191,62,46,0,61,22,207,170,188,109,194,3,188,13,228,52,60,76,23,226,60,94,191,253,58,3,71,93,188,3,132,201,187,99,6,79,61,150,27,49,188,190,138,88,58,58,177,199,188,119,103,165,190,169,211,139,61,238,8,15,191,175,7,211,189,41,34,51,62,108,152,1,190,136,13,214,189,43,79,216,62,52,234,139,189,171,91,185,191,106,189,51,63,173,78,54,63,236,24,215,190,201,60,38,64,232,221,243,188,27,145,57,189,185,75,7,189,85,29,13,189,165,90,213,188,35,17,122,189,144,195,187,61,245,244,209,60,72,108,215,189,184,241,157,61,150,18,184,189,131,161,62,190,154,92,164,190,4,27,103,190,120,11,52,62,56,129,129,62,107,40,61,63,2,212,26,64,153,129,234,61,4,200,160,190,198,164,27,63,129,178,221,63,87,38,6,192,164,253,27,191,240,80,152,63,51,53,233,61,233,239,53,190,169,237,160,189,98,49,178,190,76,105,194,189,155,132,156,188,254,240,171,62,96,4,109,189,194,104,6,62,43,18,243,189,64,75,7,190,254,95,117,190,119,167,65,58,2,102,62,190,146,232,5,190,239,116,223,190,94,16,17,190,187,191,16,61,20,198,91,189,132,137,197,189,111,45,99,62,109,168,248,63,76,137,228,191,91,211,116,64,35,190,111,64,182,185,23,64,227,170,182,191,215,183,61,61,62,230,104,189,170,229,88,61,29,114,211,189,226,147,174,190,198,194,208,61,79,145,79,191,195,98,52,62,3,119,240,62,144,222,203,60,19,213,219,189,99,71,19,190,169,61,59,189,229,122,71,63,75,144,17,190,9,129,33,61,106,161,36,62,200,38,53,191,91,181,27,191,126,24,137,63,124,155,162,191,249,189,17,64,54,205,203,64,10,20,5,63,165,73,85,192,70,122,1,190,179,80,193,189,15,198,217,60,14,62,126,61,52,147,57,60,169,249,130,190,29,176,150,189,125,219,130,189,206,112,195,189,88,226,81,190,21,24,149,59,62,81,99,61,5,105,38,190,235,230,18,191,183,124,132,62,140,185,75,62,61,164,179,60,75,230,192,190,43,50,2,191,22,24,157,189,25,142,39,191,248,165,143,64,103,237,88,64,227,25,22,192,193,57,49,193,167,116,139,64,15,127,213,63,227,129,82,189,253,114,140,189,204,192,55,188,190,157,243,57,254,123,112,190,116,92,173,190,227,167,17,190,212,126,43,190,24,177,15,190,150,176,214,189,48,100,213,189,144,204,52,60,123,190,230,189,57,165,178,61,42,224,46,190,69,155,179,189,224,157,252,61,43,133,32,190,158,208,75,62,116,208,101,189,126,54,102,63,242,249,167,61,143,194,165,191,164,231,241,60,55,166,17,64,235,228,112,191,169,2,36,188,156,111,228,189,154,93,7,190,171,9,226,189,126,29,24,61,207,152,147,188,19,0,45,188,234,106,161,60,33,229,39,61,192,163,92,189,78,155,209,189,224,208,64,189,139,78,54,62,105,25,137,190,231,167,216,189,95,207,215,189,194,73,127,61,52,190,47,189,194,195,52,62,247,234,35,190,168,58,18,192,101,141,246,191,116,98,95,62,180,188,26,65,146,116,83,64,160,55,225,191,122,200,4,62,228,73,242,61,246,36,16,62,235,223,138,61,12,62,77,59,137,205,108,188,56,33,254,188,96,209,200,188,25,60,12,62,132,189,25,62,45,11,230,61,121,161,154,189,35,221,143,190,130,83,127,190,19,129,46,191,240,31,1,61,12,6,151,62,139,187,38,61,202,197,144,62,4,57,176,190,69,129,234,192,30,81,97,190,142,119,15,191,191,154,239,191,3,62,227,192,179,210,8,65,196,66,5,64,192,93,118,62,189,24,162,63,174,156,253,60,179,152,140,191,122,142,92,63,186,189,196,191,106,106,137,63,198,138,140,64,99,180,38,192,82,12,192,62,126,200,251,61,169,231,85,59,40,244,70,63,137,7,2,192,108,206,113,191,82,242,128,64,216,127,133,190,63,111,14,63,148,220,97,190,2,183,226,191,40,212,91,191,230,150,194,191,215,190,72,191,25,32,177,62,201,21,72,189,50,146,165,190,160,168,64,191,202,112,4,63,170,96,96,63,69,100,184,191,174,185,195,190,108,236,198,191,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,128,65,0,0,192,65,0,0,16,66,0,0,48,66,0,0,72,66,0,0,96,66,0,0,120,66,0,0,134,66,0,0,144,66,0,0,158,66,0,0,176,66,0,0,212,66,0,0,6,67,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,0,65,0,0,0,65,149,139,0,0,55,152,0,0,255,165,0,0,4,181,0,0,103,197,0,0,69,215,0,0,193,234,0,0,255,255,0,0,128,187,0,0,120,0,0,0,21,0,0,0,21,0,0,0,0,154,89,63,0,0,0,0,0,0,128,63,0,0,128,63,220,90,0,0,3,0,0,0,8,0,0,0,120,0,0,0,11,0,0,0,58,110,0,0,8,91,0,0,36,21,0,0,128,7,0,0,3,0,0,0,4,23,0,0,60,38,0,0,116,38,0,0,172,38,0,0,228,38,0,0,136,1,0,0,58,98,0,0,33,111,0,0,169,112,0,0,106,28,141,56,82,187,30,58,8,105,220,58,130,237,87,59,137,99,178,59,3,42,5,60,48,220,57,60,180,62,119,60,28,163,158,60,209,242,197,60,254,134,241,60,155,171,16,61,5,173,42,61,132,194,70,61,83,230,100,61,17,137,130,61,135,159,147,61,203,178,165,61,209,190,184,61,58,191,204,61,84,175,225,61,20,138,247,61,14,37,7,62,217,244,18,62,95,49,31,62,104,215,43,62,138,227,56,62,48,82,70,62,148,31,84,62,191,71,98,62,142,198,112,62,176,151,127,62,82,91,135,62,96,15,143,62,152,229,150,62,121,219,158,62,112,238,166,62,216,27,175,62,251,96,183,62,17,187,191,62,70,39,200,62,183,162,208,62,120,42,217,62,148,187,225,62,12,83,234,62,222,237,242,62,6,137,251,62,190,16,2,63,31,90,6,63,36,159,10,63,80,222,14,63,43,22,19,63,65,69,23,63,37,106,27,63,115,131,31,63,206,143,35,63,230,141,39,63,116,124,43,63,63,90,47,63,25,38,51,63,231,222,54,63,153,131,58,63,51,19,62,63,197,140,65,63,119,239,68,63,127,58,72,63,39,109,75,63,206,134,78,63,229,134,81,63,241,108,84,63,142,56,87,63,105,233,89,63,69,127,92,63,250,249,94,63,115,89,97,63,175,157,99,63,193,198,101,63,207,212,103,63,17,200,105,63,210,160,107,63,110,95,109,63,80,4,111,63,244,143,112,63,230,2,114,63,189,93,115,63,31,161,116,63,191,205,117,63,87,228,118,63,176,229,119,63,151,210,120,63,227,171,121,63,115,114,122,63,39,39,123,63,231,202,123,63,157,94,124,63,53,227,124,63,156,89,125,63,189,194,125,63,134,31,126,63,222,112,126,63,171,183,126,63,207,244,126,63,38,41,127,63,134,85,127,63,190,122,127,63,150,153,127,63,204,178,127,63,20,199,127,63,28,215,127,63,130,227,127,63,221,236,127,63,182,243,127,63,138,248,127,63,200,251,127,63,214,253,127,63,7,255,127,63,165,255,127,63,232,255,127,63,253,255,127,63,0,0,128,63,224,1,0,0,135,136,8,59,255,255,255,255,5,0,96,0,3,0,32,0,4,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,50,91,0,0,60,23,0,0,0,0,0,0,0,0,128,63,0,0,0,128,99,250,127,63,191,117,86,188,139,233,127,63,10,113,214,188,121,205,127,63,231,206,32,189,47,166,127,63,58,94,86,189,175,115,127,63,19,242,133,189,249,53,127,63,42,175,160,189,18,237,126,63,51,101,187,189,253,152,126,63,4,19,214,189,188,57,126,63,115,183,240,189,85,207,125,63,168,168,5,190,203,89,125,63,187,239,18,190,37,217,124,63,92,48,32,190,103,77,124,63,245,105,45,190,152,182,123,63,243,155,58,190,190,20,123,63,194,197,71,190,226,103,122,63,205,230,84,190,9,176,121,63,130,254,97,190,60,237,120,63,77,12,111,190,132,31,120,63,156,15,124,190,234,70,119,63,238,131,132,190,119,99,118,63,62,250,138,190,54,117,117,63,117,106,145,190,48,124,116,63,76,212,151,190,113,120,115,63,122,55,158,190,3,106,114,63,183,147,164,190,244,80,113,63,188,232,170,190,79,45,112,63,65,54,177,190,33,255,110,63,1,124,183,190,118,198,109,63,180,185,189,190,94,131,108,63,21,239,195,190,231,53,107,63,222,27,202,190,30,222,105,63,201,63,208,190,18,124,104,63,146,90,214,190,212,15,103,63,243,107,220,190,116,153,101,63,170,115,226,190,1,25,100,63,113,113,232,190,141,142,98,63,7,101,238,190,40,250,96,63,39,78,244,190,230,91,95,63,144,44,250,190,215,179,93,63,0,0,0,191,15,2,92,63,27,228,2,191,160,70,90,63,119,194,5,191,158,129,88,63,246,154,8,191,29,179,86,63,119,109,11,191,49,219,84,63,218,57,14,191,239,249,82,63,0,0,17,191,108,15,81,63,202,191,19,191,189,27,79,63,24,121,22,191,248,30,77,63,205,43,25,191,52,25,75,63,202,215,27,191,136,10,73,63,241,124,30,191,10,243,70,63,36,27,33,191,209,210,68,63,70,178,35,191,247,169,66,63,58,66,38,191,147,120,64,63,227,202,40,191,189,62,62,63,37,76,43,191,143,252,59,63,227,197,45,191,34,178,57,63,1,56,48,191,144,95,55,63,101,162,50,191,243,4,53,63,243,4,53,191,101,162,50,63,144,95,55,191,1,56,48,63,34,178,57,191,227,197,45,63,143,252,59,191,37,76,43,63,189,62,62,191,227,202,40,63,147,120,64,191,58,66,38,63,247,169,66,191,70,178,35,63,209,210,68,191,36,27,33,63,10,243,70,191,241,124,30,63,136,10,73,191,202,215,27,63,52,25,75,191,205,43,25,63,248,30,77,191,24,121,22,63,189,27,79,191,202,191,19,63,108,15,81,191,0,0,17,63,239,249,82,191,218,57,14,63,49,219,84,191,119,109,11,63,29,179,86,191,246,154,8,63,158,129,88,191,119,194,5,63,160,70,90,191,27,228,2,63,15,2,92,191,0,0,0,63,215,179,93,191,144,44,250,62,230,91,95,191,39,78,244,62,40,250,96,191,7,101,238,62,141,142,98,191,113,113,232,62,1,25,100,191,170,115,226,62,116,153,101,191,243,107,220,62,212,15,103,191,146,90,214,62,18,124,104,191,201,63,208,62,30,222,105,191,222,27,202,62,231,53,107,191,21,239,195,62,94,131,108,191,180,185,189,62,118,198,109,191,1,124,183,62,33,255,110,191,65,54,177,62,79,45,112,191,188,232,170,62,244,80,113,191,183,147,164,62,3,106,114,191,122,55,158,62,113,120,115,191,76,212,151,62,48,124,116,191,117,106,145,62,54,117,117,191,62,250,138,62,119,99,118,191,238,131,132,62,234,70,119,191,156,15,124,62,132,31,120,191,77,12,111,62,60,237,120,191,130,254,97,62,9,176,121,191,205,230,84,62,226,103,122,191,194,197,71,62,190,20,123,191,243,155,58,62,152,182,123,191,245,105,45,62,103,77,124,191,92,48,32,62,37,217,124,191,187,239,18,62,203,89,125,191,168,168,5,62,85,207,125,191,115,183,240,61,188,57,126,191,4,19,214,61,253,152,126,191,51,101,187,61,18,237,126,191,42,175,160,61,249,53,127,191,19,242,133,61,175,115,127,191,58,94,86,61,47,166,127,191,231,206,32,61,121,205,127,191,10,113,214,60,139,233,127,191,191,117,86,60,99,250,127,191,0,48,141,36,0,0,128,191,191,117,86,188,99,250,127,191,10,113,214,188,139,233,127,191,231,206,32,189,121,205,127,191,58,94,86,189,47,166,127,191,19,242,133,189,175,115,127,191,42,175,160,189,249,53,127,191,51,101,187,189,18,237,126,191,4,19,214,189,253,152,126,191,115,183,240,189,188,57,126,191,168,168,5,190,85,207,125,191,187,239,18,190,203,89,125,191,92,48,32,190,37,217,124,191,245,105,45,190,103,77,124,191,243,155,58,190,152,182,123,191,194,197,71,190,190,20,123,191,205,230,84,190,226,103,122,191,130,254,97,190,9,176,121,191,77,12,111,190,60,237,120,191,156,15,124,190,132,31,120,191,238,131,132,190,234,70,119,191,62,250,138,190,119,99,118,191,117,106,145,190,54,117,117,191,76,212,151,190,48,124,116,191,122,55,158,190,113,120,115,191,183,147,164,190,3,106,114,191,188,232,170,190,244,80,113,191,65,54,177,190,79,45,112,191,1,124,183,190,33,255,110,191,180,185,189,190,118,198,109,191,21,239,195,190,94,131,108,191,222,27,202,190,231,53,107,191,201,63,208,190,30,222,105,191,146,90,214,190,18,124,104,191,243,107,220,190,212,15,103,191,170,115,226,190,116,153,101,191,113,113,232,190,1,25,100,191,7,101,238,190,141,142,98,191,39,78,244,190,40,250,96,191,144,44,250,190,230,91,95,191,0,0,0,191,215,179,93,191,27,228,2,191,15,2,92,191,119,194,5,191,160,70,90,191,246,154,8,191,158,129,88,191,119,109,11,191,29,179,86,191,218,57,14,191,49,219,84,191,0,0,17,191,239,249,82,191,202,191,19,191,108,15,81,191,24,121,22,191,189,27,79,191,205,43,25,191,248,30,77,191,202,215,27,191,52,25,75,191,241,124,30,191,136,10,73,191,36,27,33,191,10,243,70,191,70,178,35,191,209,210,68,191,58,66,38,191,247,169,66,191,227,202,40,191,147,120,64,191,37,76,43,191,189,62,62,191,227,197,45,191,143,252,59,191,1,56,48,191,34,178,57,191,101,162,50,191,144,95,55,191,243,4,53,191,243,4,53,191,144,95,55,191,101,162,50,191,34,178,57,191,1,56,48,191,143,252,59,191,227,197,45,191,189,62,62,191,37,76,43,191,147,120,64,191,227,202,40,191,247,169,66,191,58,66,38,191,209,210,68,191,70,178,35,191,10,243,70,191,36,27,33,191,136,10,73,191,241,124,30,191,52,25,75,191,202,215,27,191,248,30,77,191,205,43,25,191,189,27,79,191,24,121,22,191,108,15,81,191,202,191,19,191,239,249,82,191,0,0,17,191,49,219,84,191,218,57,14,191,29,179,86,191,119,109,11,191,158,129,88,191,246,154,8,191,160,70,90,191,119,194,5,191,15,2,92,191,27,228,2,191,215,179,93,191,0,0,0,191,230,91,95,191,144,44,250,190,40,250,96,191,39,78,244,190,141,142,98,191,7,101,238,190,1,25,100,191,113,113,232,190,116,153,101,191,170,115,226,190,212,15,103,191,243,107,220,190,18,124,104,191,146,90,214,190,30,222,105,191,201,63,208,190,231,53,107,191,222,27,202,190,94,131,108,191,21,239,195,190,118,198,109,191,180,185,189,190,33,255,110,191,1,124,183,190,79,45,112,191,65,54,177,190,244,80,113,191,188,232,170,190,3,106,114,191,183,147,164,190,113,120,115,191,122,55,158,190,48,124,116,191,76,212,151,190,54,117,117,191,117,106,145,190,119,99,118,191,62,250,138,190,234,70,119,191,238,131,132,190,132,31,120,191,156,15,124,190,60,237,120,191,77,12,111,190,9,176,121,191,130,254,97,190,226,103,122,191,205,230,84,190,190,20,123,191,194,197,71,190,152,182,123,191,243,155,58,190,103,77,124,191,245,105,45,190,37,217,124,191,92,48,32,190,203,89,125,191,187,239,18,190,85,207,125,191,168,168,5,190,188,57,126,191,115,183,240,189,253,152,126,191,4,19,214,189,18,237,126,191,51,101,187,189,249,53,127,191,42,175,160,189,175,115,127,191,19,242,133,189,47,166,127,191,58,94,86,189,121,205,127,191,231,206,32,189,139,233,127,191,10,113,214,188,99,250,127,191,191,117,86,188,0,0,128,191,0,48,13,165,99,250,127,191,191,117,86,60,139,233,127,191,10,113,214,60,121,205,127,191,231,206,32,61,47,166,127,191,58,94,86,61,175,115,127,191,19,242,133,61,249,53,127,191,42,175,160,61,18,237,126,191,51,101,187,61,253,152,126,191,4,19,214,61,188,57,126,191,115,183,240,61,85,207,125,191,168,168,5,62,203,89,125,191,187,239,18,62,37,217,124,191,92,48,32,62,103,77,124,191,245,105,45,62,152,182,123,191,243,155,58,62,190,20,123,191,194,197,71,62,226,103,122,191,205,230,84,62,9,176,121,191,130,254,97,62,60,237,120,191,77,12,111,62,132,31,120,191,156,15,124,62,234,70,119,191,238,131,132,62,119,99,118,191,62,250,138,62,54,117,117,191,117,106,145,62,48,124,116,191,76,212,151,62,113,120,115,191,122,55,158,62,3,106,114,191,183,147,164,62,244,80,113,191,188,232,170,62,79,45,112,191,65,54,177,62,33,255,110,191,1,124,183,62,118,198,109,191,180,185,189,62,94,131,108,191,21,239,195,62,231,53,107,191,222,27,202,62,30,222,105,191,201,63,208,62,18,124,104,191,146,90,214,62,212,15,103,191,243,107,220,62,116,153,101,191,170,115,226,62,1,25,100,191,113,113,232,62,141,142,98,191,7,101,238,62,40,250,96,191,39,78,244,62,230,91,95,191,144,44,250,62,215,179,93,191,0,0,0,63,15,2,92,191,27,228,2,63,160,70,90,191,119,194,5,63,158,129,88,191,246,154,8,63,29,179,86,191,119,109,11,63,49,219,84,191,218,57,14,63,239,249,82,191,0,0,17,63,108,15,81,191,202,191,19,63,189,27,79,191,24,121,22,63,248,30,77,191,205,43,25,63,52,25,75,191,202,215,27,63,136,10,73,191,241,124,30,63,10,243,70,191,36,27,33,63,209,210,68,191,70,178,35,63,247,169,66,191,58,66,38,63,147,120,64,191,227,202,40,63,189,62,62,191,37,76,43,63,143,252,59,191,227,197,45,63,34,178,57,191,1,56,48,63,144,95,55,191,101,162,50,63,243,4,53,191,243,4,53,63,101,162,50,191,144,95,55,63,1,56,48,191,34,178,57,63,227,197,45,191,143,252,59,63,37,76,43,191,189,62,62,63,227,202,40,191,147,120,64,63,58,66,38,191,247,169,66,63,70,178,35,191,209,210,68,63,36,27,33,191,10,243,70,63,241,124,30,191,136,10,73,63,202,215,27,191,52,25,75,63,205,43,25,191,248,30,77,63,24,121,22,191,189,27,79,63,202,191,19,191,108,15,81,63,0,0,17,191,239,249,82,63,218,57,14,191,49,219,84,63,119,109,11,191,29,179,86,63,246,154,8,191,158,129,88,63,119,194,5,191,160,70,90,63,27,228,2,191,15,2,92,63,0,0,0,191,215,179,93,63,144,44,250,190,230,91,95,63,39,78,244,190,40,250,96,63,7,101,238,190,141,142,98,63,113,113,232,190,1,25,100,63,170,115,226,190,116,153,101,63,243,107,220,190,212,15,103,63,146,90,214,190,18,124,104,63,201,63,208,190,30,222,105,63,222,27,202,190,231,53,107,63,21,239,195,190,94,131,108,63,180,185,189,190,118,198,109,63,1,124,183,190,33,255,110,63,65,54,177,190,79,45,112,63,188,232,170,190,244,80,113,63,183,147,164,190,3,106,114,63,122,55,158,190,113,120,115,63,76,212,151,190,48,124,116,63,117,106,145,190,54,117,117,63,62,250,138,190,119,99,118,63,238,131,132,190,234,70,119,63,156,15,124,190,132,31,120,63,77,12,111,190,60,237,120,63,130,254,97,190,9,176,121,63,205,230,84,190,226,103,122,63,194,197,71,190,190,20,123,63,243,155,58,190,152,182,123,63,245,105,45,190,103,77,124,63,92,48,32,190,37,217,124,63,187,239,18,190,203,89,125,63,168,168,5,190,85,207,125,63,115,183,240,189,188,57,126,63,4,19,214,189,253,152,126,63,51,101,187,189,18,237,126,63,42,175,160,189,249,53,127,63,19,242,133,189,175,115,127,63,58,94,86,189,47,166,127,63,231,206,32,189,121,205,127,63,10,113,214,188,139,233,127,63,191,117,86,188,99,250,127,63,0,200,83,165,0,0,128,63,191,117,86,60,99,250,127,63,10,113,214,60,139,233,127,63,231,206,32,61,121,205,127,63,58,94,86,61,47,166,127,63,19,242,133,61,175,115,127,63,42,175,160,61,249,53,127,63,51,101,187,61,18,237,126,63,4,19,214,61,253,152,126,63,115,183,240,61,188,57,126,63,168,168,5,62,85,207,125,63,187,239,18,62,203,89,125,63,92,48,32,62,37,217,124,63,245,105,45,62,103,77,124,63,243,155,58,62,152,182,123,63,194,197,71,62,190,20,123,63,205,230,84,62,226,103,122,63,130,254,97,62,9,176,121,63,77,12,111,62,60,237,120,63,156,15,124,62,132,31,120,63,238,131,132,62,234,70,119,63,62,250,138,62,119,99,118,63,117,106,145,62,54,117,117,63,76,212,151,62,48,124,116,63,122,55,158,62,113,120,115,63,183,147,164,62,3,106,114,63,188,232,170,62,244,80,113,63,65,54,177,62,79,45,112,63,1,124,183,62,33,255,110,63,180,185,189,62,118,198,109,63,21,239,195,62,94,131,108,63,222,27,202,62,231,53,107,63,201,63,208,62,30,222,105,63,146,90,214,62,18,124,104,63,243,107,220,62,212,15,103,63,170,115,226,62,116,153,101,63,113,113,232,62,1,25,100,63,7,101,238,62,141,142,98,63,39,78,244,62,40,250,96,63,144,44,250,62,230,91,95,63,0,0,0,63,215,179,93,63,27,228,2,63,15,2,92,63,119,194,5,63,160,70,90,63,246,154,8,63,158,129,88,63,119,109,11,63,29,179,86,63,218,57,14,63,49,219,84,63,0,0,17,63,239,249,82,63,202,191,19,63,108,15,81,63,24,121,22,63,189,27,79,63,205,43,25,63,248,30,77,63,202,215,27,63,52,25,75,63,241,124,30,63,136,10,73,63,36,27,33,63,10,243,70,63,70,178,35,63,209,210,68,63,58,66,38,63,247,169,66,63,227,202,40,63,147,120,64,63,37,76,43,63,189,62,62,63,227,197,45,63,143,252,59,63,1,56,48,63,34,178,57,63,101,162,50,63,144,95,55,63,243,4,53,63,243,4,53,63,144,95,55,63,101,162,50,63,34,178,57,63,1,56,48,63,143,252,59,63,227,197,45,63,189,62,62,63,37,76,43,63,147,120,64,63,227,202,40,63,247,169,66,63,58,66,38,63,209,210,68,63,70,178,35,63,10,243,70,63,36,27,33,63,136,10,73,63,241,124,30,63,52,25,75,63,202,215,27,63,248,30,77,63,205,43,25,63,189,27,79,63,24,121,22,63,108,15,81,63,202,191,19,63,239,249,82,63,0,0,17,63,49,219,84,63,218,57,14,63,29,179,86,63,119,109,11,63,158,129,88,63,246,154,8,63,160,70,90,63,119,194,5,63,15,2,92,63,27,228,2,63,215,179,93,63,0,0,0,63,230,91,95,63,144,44,250,62,40,250,96,63,39,78,244,62,141,142,98,63,7,101,238,62,1,25,100,63,113,113,232,62,116,153,101,63,170,115,226,62,212,15,103,63,243,107,220,62,18,124,104,63,146,90,214,62,30,222,105,63,201,63,208,62,231,53,107,63,222,27,202,62,94,131,108,63,21,239,195,62,118,198,109,63,180,185,189,62,33,255,110,63,1,124,183,62,79,45,112,63,65,54,177,62,244,80,113,63,188,232,170,62,3,106,114,63,183,147,164,62,113,120,115,63,122,55,158,62,48,124,116,63,76,212,151,62,54,117,117,63,117,106,145,62,119,99,118,63,62,250,138,62,234,70,119,63,238,131,132,62,132,31,120,63,156,15,124,62,60,237,120,63,77,12,111,62,9,176,121,63,130,254,97,62,226,103,122,63,205,230,84,62,190,20,123,63,194,197,71,62,152,182,123,63,243,155,58,62,103,77,124,63,245,105,45,62,37,217,124,63,92,48,32,62,203,89,125,63,187,239,18,62,85,207,125,63,168,168,5,62,188,57,126,63,115,183,240,61,253,152,126,63,4,19,214,61,18,237,126,63,51,101,187,61,249,53,127,63,42,175,160,61,175,115,127,63,19,242,133,61,47,166,127,63,58,94,86,61,121,205,127,63,231,206,32,61,139,233,127,63,10,113,214,60,99,250,127,63,191,117,86,60,240,0,0,0,137,136,136,59,1,0,0,0,5,0,48,0,3,0,16,0,4,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,94,0,0,60,23,0,0,0,0,0,0,120,0,0,0,136,136,8,60,2,0,0,0,5,0,24,0,3,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,96,0,0,60,23,0,0,0,0,0,0,60,0,0,0,137,136,136,60,3,0,0,0,5,0,12,0,3,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,97,0,0,60,23,0,0,0,0,0,0,255,255,127,63,142,255,127,63,106,254,127,63,147,252,127,63,7,250,127,63,200,246,127,63,214,242,127,63,48,238,127,63,214,232,127,63,200,226,127,63,7,220,127,63,147,212,127,63,107,204,127,63,143,195,127,63,0,186,127,63,189,175,127,63,199,164,127,63,29,153,127,63,192,140,127,63,176,127,127,63,236,113,127,63,118,99,127,63,75,84,127,63,110,68,127,63,222,51,127,63,154,34,127,63,163,16,127,63,250,253,126,63,157,234,126,63,141,214,126,63,203,193,126,63,86,172,126,63,46,150,126,63,83,127,126,63,198,103,126,63,134,79,126,63,148,54,126,63,239,28,126,63,152,2,126,63,143,231,125,63,211,203,125,63,102,175,125,63,70,146,125,63,116,116,125,63,241,85,125,63,188,54,125,63,213,22,125,63,60,246,124,63,242,212,124,63,246,178,124,63,73,144,124,63,235,108,124,63,219,72,124,63,27,36,124,63,169,254,123,63,135,216,123,63,180,177,123,63,48,138,123,63,252,97,123,63,23,57,123,63,130,15,123,63,61,229,122,63,72,186,122,63,162,142,122,63,77,98,122,63,72,53,122,63,148,7,122,63,48,217,121,63,29,170,121,63,90,122,121,63,233,73,121,63,200,24,121,63,249,230,120,63],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([123,180,120,63,78,129,120,63,115,77,120,63,234,24,120,63,178,227,119,63,205,173,119,63,58,119,119,63,249,63,119,63,10,8,119,63,110,207,118,63,37,150,118,63,47,92,118,63,140,33,118,63,60,230,117,63,64,170,117,63,151,109,117,63,66,48,117,63,65,242,116,63,148,179,116,63,59,116,116,63,55,52,116,63,135,243,115,63,44,178,115,63,38,112,115,63,118,45,115,63,26,234,114,63,20,166,114,63,100,97,114,63,10,28,114,63,5,214,113,63,87,143,113,63,0,72,113,63,255,255,112,63,85,183,112,63,2,110,112,63,6,36,112,63,98,217,111,63,21,142,111,63,32,66,111,63,132,245,110,63,63,168,110,63,83,90,110,63,192,11,110,63,134,188,109,63,165,108,109,63,29,28,109,63,239,202,108,63,27,121,108,63,161,38,108,63,128,211,107,63,187,127,107,63,80,43,107,63,64,214,106,63,140,128,106,63,50,42,106,63,53,211,105,63,147,123,105,63,77,35,105,63,100,202,104,63,216,112,104,63,168,22,104,63,213,187,103,63,96,96,103,63,72,4,103,63,143,167,102,63,51,74,102,63,54,236,101,63,151,141,101,63,87,46,101,63,119,206,100,63,245,109,100,63,212,12,100,63,18,171,99,63,177,72,99,63,176,229,98,63,16,130,98,63,209,29,98,63,243,184,97,63,119,83,97,63,92,237,96,63,164,134,96,63,78,31,96,63,91,183,95,63,203,78,95,63,158,229,94,63,213,123,94,63,112,17,94,63,110,166,93,63,210,58,93,63,154,206,92,63,198,97,92,63,89,244,91,63,81,134,91,63,174,23,91,63,114,168,90,63,157,56,90,63,46,200,89,63,39,87,89,63,135,229,88,63,79,115,88,63,127,0,88,63,23,141,87,63,24,25,87,63,130,164,86,63,86,47,86,63,147,185,85,63,58,67,85,63,75,204,84,63,199,84,84,63,174,220,83,63,1,100,83,63,191,234,82,63,233,112,82,63,127,246,81,63,130,123,81,63,242,255,80,63,207,131,80,63,26,7,80,63,210,137,79,63,250,11,79,63,144,141,78,63,148,14,78,63,9,143,77,63,237,14,77,63,65,142,76,63,5,13,76,63,59,139,75,63,225,8,75,63,249,133,74,63,131,2,74,63,127,126,73,63,238,249,72,63,207,116,72,63,36,239,71,63,237,104,71,63,41,226,70,63,218,90,70,63,0,211,69,63,155,74,69,63,172,193,68,63,50,56,68,63,47,174,67,63,162,35,67,63,141,152,66,63,239,12,66,63,200,128,65,63,26,244,64,63,229,102,64,63,40,217,63,63,229,74,63,63,27,188,62,63,204,44,62,63,247,156,61,63,157,12,61,63,190,123,60,63,92,234,59,63,117,88,59,63,10,198,58,63,29,51,58,63,173,159,57,63,187,11,57,63,71,119,56,63,81,226,55,63,218,76,55,63,227,182,54,63,107,32,54,63,116,137,53,63,253,241,52,63,7,90,52,63,147,193,51,63,160,40,51,63,48,143,50,63,66,245,49,63,216,90,49,63,241,191,48,63,142,36,48,63,175,136,47,63,85,236,46,63,129,79,46,63,50,178,45,63,105,20,45,63,39,118,44,63,107,215,43,63,55,56,43,63,139,152,42,63,103,248,41,63,204,87,41,63,186,182,40,63,50,21,40,63,51,115,39,63,191,208,38,63,214,45,38,63,121,138,37,63,167,230,36,63,97,66,36,63,169,157,35,63,125,248,34,63,223,82,34,63,207,172,33,63,77,6,33,63,91,95,32,63,248,183,31,63,37,16,31,63,226,103,30,63,48,191,29,63,16,22,29,63,129,108,28,63,132,194,27,63,26,24,27,63,67,109,26,63,0,194,25,63,81,22,25,63,54,106,24,63,177,189,23,63,193,16,23,63,103,99,22,63,163,181,21,63,118,7,21,63,225,88,20,63,228,169,19,63,127,250,18,63,179,74,18,63,128,154,17,63,231,233,16,63,232,56,16,63,132,135,15,63,187,213,14,63,142,35,14,63,254,112,13,63,10,190,12,63,179,10,12,63,250,86,11,63,223,162,10,63,99,238,9,63,134,57,9,63,73,132,8,63,172,206,7,63,175,24,7,63,84,98,6,63,155,171,5,63,131,244,4,63,15,61,4,63,61,133,3,63,15,205,2,63,134,20,2,63,161,91,1,63,97,162,0,63,143,209,255,62,167,93,254,62,14,233,252,62,194,115,251,62,198,253,249,62,27,135,248,62,193,15,247,62,186,151,245,62,6,31,244,62,168,165,242,62,158,43,241,62,236,176,239,62,145,53,238,62,144,185,236,62,232,60,235,62,154,191,233,62,169,65,232,62,21,195,230,62,223,67,229,62,8,196,227,62,145,67,226,62,124,194,224,62,200,64,223,62,120,190,221,62,140,59,220,62,6,184,218,62,230,51,217,62,46,175,215,62,223,41,214,62,249,163,212,62,125,29,211,62,110,150,209,62,204,14,208,62,151,134,206,62,210,253,204,62,125,116,203,62,153,234,201,62,39,96,200,62,40,213,198,62,159,73,197,62,138,189,195,62,236,48,194,62,198,163,192,62,25,22,191,62,230,135,189,62,45,249,187,62,241,105,186,62,50,218,184,62,241,73,183,62,47,185,181,62,238,39,180,62,47,150,178,62,242,3,177,62,57,113,175,62,4,222,173,62,86,74,172,62,47,182,170,62,144,33,169,62,122,140,167,62,239,246,165,62,239,96,164,62,124,202,162,62,151,51,161,62,64,156,159,62,122,4,158,62,68,108,156,62,161,211,154,62,145,58,153,62,22,161,151,62,48,7,150,62,225,108,148,62,41,210,146,62,11,55,145,62,135,155,143,62,158,255,141,62,81,99,140,62,162,198,138,62,145,41,137,62,32,140,135,62,80,238,133,62,34,80,132,62,151,177,130,62,176,18,129,62,222,230,126,62,169,167,123,62,195,103,120,62,47,39,117,62,238,229,113,62,4,164,110,62,115,97,107,62,60,30,104,62,98,218,100,62,232,149,97,62,207,80,94,62,26,11,91,62,204,196,87,62,230,125,84,62,107,54,81,62,93,238,77,62,191,165,74,62,146,92,71,62,218,18,68,62,151,200,64,62,206,125,61,62,128,50,58,62,174,230,54,62,93,154,51,62,141,77,48,62,66,0,45,62,125,178,41,62,66,100,38,62,145,21,35,62,110,198,31,62,219,118,28,62,218,38,25,62,109,214,21,62,152,133,18,62,91,52,15,62,186,226,11,62,183,144,8,62,84,62,5,62,148,235,1,62,240,48,253,61,6,138,246,61,113,226,239,61,51,58,233,61,79,145,226,61,207,231,219,61,181,61,213,61,3,147,206,61,192,231,199,61,242,59,193,61,156,143,186,61,195,226,179,61,108,53,173,61,155,135,166,61,85,217,159,61,159,42,153,61,126,123,146,61,246,203,139,61,11,28,133,61,135,215,124,61,70,118,111,61,93,20,98,61,214,177,84,61,185,78,71,61,16,235,57,61,229,134,44,61,64,34,31,61,44,189,17,61,178,87,4,61,181,227,237,60,96,23,211,60,118,74,184,60,11,125,157,60,50,175,130,60,250,193,79,60,254,36,26,60,42,15,201,59,153,167,59,59,46,125,214,185,210,70,113,187,171,222,227,187,166,140,39,188,129,41,93,188,225,98,137,188,160,48,164,188,236,253,190,188,179,202,217,188,224,150,244,188,49,177,7,189,147,22,21,189,140,123,34,189,19,224,47,189,30,68,61,189,165,167,74,189,157,10,88,189,254,108,101,189,190,206,114,189,234,23,128,189,27,200,134,189,237,119,141,189,92,39,148,189,99,214,154,189,253,132,161,189,38,51,168,189,217,224,174,189,17,142,181,189,202,58,188,189,254,230,194,189,170,146,201,189,200,61,208,189,84,232,214,189,74,146,221,189,164,59,228,189,93,228,234,189,114,140,241,189,221,51,248,189,154,218,254,189,82,192,2,190,252,18,6,190,71,101,9,190,50,183,12,190,186,8,16,190,221,89,19,190,152,170,22,190,234,250,25,190,208,74,29,190,71,154,32,190,78,233,35,190,225,55,39,190,0,134,42,190,166,211,45,190,211,32,49,190,131,109,52,190,181,185,55,190,101,5,59,190,147,80,62,190,58,155,65,190,90,229,68,190,240,46,72,190,249,119,75,190,116,192,78,190,93,8,82,190,179,79,85,190,115,150,88,190,156,220,91,190,42,34,95,190,27,103,98,190,109,171,101,190,31,239,104,190,44,50,108,190,148,116,111,190,84,182,114,190,106,247,117,190,211,55,121,190,141,119,124,190,150,182,127,190,117,122,129,190,69,25,131,190,185,183,132,190,208,85,134,190,136,243,135,190,225,144,137,190,218,45,139,190,112,202,140,190,164,102,142,190,116,2,144,190,223,157,145,190,228,56,147,190,129,211,148,190,182,109,150,190,129,7,152,190,226,160,153,190,215,57,155,190,95,210,156,190,121,106,158,190,35,2,160,190,94,153,161,190,38,48,163,190,125,198,164,190,96,92,166,190,206,241,167,190,198,134,169,190,71,27,171,190,80,175,172,190,224,66,174,190,245,213,175,190,143,104,177,190,173,250,178,190,77,140,180,190,110,29,182,190,16,174,183,190,48,62,185,190,207,205,186,190,234,92,188,190,130,235,189,190,148,121,191,190,31,7,193,190,35,148,194,190,159,32,196,190,145,172,197,190,248,55,199,190,211,194,200,190,34,77,202,190,226,214,203,190,19,96,205,190,181,232,206,190,197,112,208,190,66,248,209,190,45,127,211,190,131,5,213,190,67,139,214,190,109,16,216,190,255,148,217,190,249,24,219,190,89,156,220,190,29,31,222,190,70,161,223,190,211,34,225,190,193,163,226,190,16,36,228,190,190,163,229,190,204,34,231,190,56,161,232,190,0,31,234,190,36,156,235,190,162,24,237,190,122,148,238,190,171,15,240,190,51,138,241,190,18,4,243,190,70,125,244,190,207,245,245,190,170,109,247,190,217,228,248,190,88,91,250,190,40,209,251,190,71,70,253,190,181,186,254,190,56,23,0,191,187,208,0,191,228,137,1,191,178,66,2,191,37,251,2,191,59,179,3,191,246,106,4,191,83,34,5,191,83,217,5,191,245,143,6,191,56,70,7,191,29,252,7,191,162,177,8,191,199,102,9,191,140,27,10,191,240,207,10,191,243,131,11,191,147,55,12,191,209,234,12,191,172,157,13,191,36,80,14,191,56,2,15,191,232,179,15,191,50,101,16,191,24,22,17,191,151,198,17,191,176,118,18,191,99,38,19,191,174,213,19,191,145,132,20,191,13,51,21,191,31,225,21,191,200,142,22,191,8,60,23,191,221,232,23,191,72,149,24,191,72,65,25,191,220,236,25,191,4,152,26,191,192,66,27,191,15,237,27,191,240,150,28,191,99,64,29,191,104,233,29,191,254,145,30,191,37,58,31,191,220,225,31,191,35,137,32,191,250,47,33,191,95,214,33,191,82,124,34,191,212,33,35,191,227,198,35,191,127,107,36,191,167,15,37,191,92,179,37,191,157,86,38,191,104,249,38,191,191,155,39,191,160,61,40,191,11,223,40,191,255,127,41,191,125,32,42,191,131,192,42,191,17,96,43,191,39,255,43,191,196,157,44,191,232,59,45,191,146,217,45,191,195,118,46,191,121,19,47,191,180,175,47,191,115,75,48,191,183,230,48,191,127,129,49,191,203,27,50,191,153,181,50,191,234,78,51,191,189,231,51,191,18,128,52,191,232,23,53,191,63,175,53,191,22,70,54,191,110,220,54,191,69,114,55,191,156,7,56,191,113,156,56,191,197,48,57,191,150,196,57,191,230,87,58,191,178,234,58,191,252,124,59,191,194,14,60,191,3,160,60,191,193,48,61,191,250,192,61,191,173,80,62,191,219,223,62,191,131,110,63,191,165,252,63,191,64,138,64,191,83,23,65,191,224,163,65,191,228,47,66,191,96,187,66,191,83,70,67,191,190,208,67,191,158,90,68,191,246,227,68,191,194,108,69,191,5,245,69,191,188,124,70,191,232,3,71,191,137,138,71,191,157,16,72,191,37,150,72,191,32,27,73,191,142,159,73,191,111,35,74,191,193,166,74,191,134,41,75,191,188,171,75,191,99,45,76,191,122,174,76,191,2,47,77,191,250,174,77,191,98,46,78,191,57,173,78,191,126,43,79,191,51,169,79,191,85,38,80,191,230,162,80,191,228,30,81,191,80,154,81,191,40,21,82,191,109,143,82,191,30,9,83,191,59,130,83,191,195,250,83,191,183,114,84,191,22,234,84,191,223,96,85,191,18,215,85,191,176,76,86,191,183,193,86,191,39,54,87,191,0,170,87,191,66,29,88,191,236,143,88,191,254,1,89,191,120,115,89,191,89,228,89,191,162,84,90,191,81,196,90,191,102,51,91,191,226,161,91,191,195,15,92,191,10,125,92,191,183,233,92,191,200,85,93,191,62,193,93,191,24,44,94,191,87,150,94,191,249,255,94,191,255,104,95,191,104,209,95,191,51,57,96,191,98,160,96,191,243,6,97,191,229,108,97,191,58,210,97,191,240,54,98,191,8,155,98,191,128,254,98,191,89,97,99,191,146,195,99,191,44,37,100,191,37,134,100,191,126,230,100,191,55,70,101,191,78,165,101,191,197,3,102,191,154,97,102,191,205,190,102,191,94,27,103,191,77,119,103,191,154,210,103,191,68,45,104,191,75,135,104,191,174,224,104,191,111,57,105,191,139,145,105,191,4,233,105,191,217,63,106,191,9,150,106,191,148,235,106,191,123,64,107,191,188,148,107,191,89,232,107,191,79,59,108,191,160,141,108,191,75,223,108,191,79,48,109,191,173,128,109,191,101,208,109,191,117,31,110,191,223,109,110,191,161,187,110,191,187,8,111,191,46,85,111,191,248,160,111,191,27,236,111,191,149,54,112,191,103,128,112,191,144,201,112,191,15,18,113,191,230,89,113,191,19,161,113,191,151,231,113,191,113,45,114,191,160,114,114,191,38,183,114,191,1,251,114,191,50,62,115,191,184,128,115,191,148,194,115,191,196,3,116,191,73,68,116,191,34,132,116,191,80,195,116,191,210,1,117,191,168,63,117,191,210,124,117,191,80,185,117,191,33,245,117,191,69,48,118,191,189,106,118,191,136,164,118,191,166,221,118,191,22,22,119,191,217,77,119,191,239,132,119,191,87,187,119,191,17,241,119,191,29,38,120,191,122,90,120,191,42,142,120,191,43,193,120,191,125,243,120,191,33,37,121,191,22,86,121,191,92,134,121,191,242,181,121,191,218,228,121,191,18,19,122,191,154,64,122,191,115,109,122,191,157,153,122,191,22,197,122,191,223,239,122,191,248,25,123,191,97,67,123,191,26,108,123,191,34,148,123,191,122,187,123,191,32,226,123,191,23,8,124,191,92,45,124,191,240,81,124,191,211,117,124,191,5,153,124,191,134,187,124,191,85,221,124,191,115,254,124,191,223,30,125,191,154,62,125,191,163,93,125,191,250,123,125,191,159,153,125,191,146,182,125,191,211,210,125,191,98,238,125,191,63,9,126,191,105,35,126,191,225,60,126,191,167,85,126,191,186,109,126,191,27,133,126,191,201,155,126,191,196,177,126,191,13,199,126,191,162,219,126,191,133,239,126,191,181,2,127,191,50,21,127,191,252,38,127,191,19,56,127,191,118,72,127,191,39,88,127,191,36,103,127,191,110,117,127,191,5,131,127,191,232,143,127,191,25,156,127,191,149,167,127,191,95,178,127,191,116,188,127,191,215,197,127,191,133,206,127,191,129,214,127,191,200,221,127,191,93,228,127,191,61,234,127,191,106,239,127,191,227,243,127,191,169,247,127,191,187,250,127,191,25,253,127,191,196,254,127,191,187,255,127,191,250,255,127,63,57,254,127,63,169,249,127,63,75,242,127,63,30,232,127,63,35,219,127,63,89,203,127,63,193,184,127,63,91,163,127,63,40,139,127,63,39,112,127,63,90,82,127,63,191,49,127,63,88,14,127,63,37,232,126,63,38,191,126,63,92,147,126,63,200,100,126,63,105,51,126,63,65,255,125,63,79,200,125,63,150,142,125,63,20,82,125,63,203,18,125,63,188,208,124,63,231,139,124,63,77,68,124,63,239,249,123,63,205,172,123,63,233,92,123,63,67,10,123,63,221,180,122,63,182,92,122,63,209,1,122,63,46,164,121,63,206,67,121,63,178,224,120,63,220,122,120,63,76,18,120,63,4,167,119,63,4,57,119,63,79,200,118,63,228,84,118,63,198,222,117,63,246,101,117,63,117,234,116,63,68,108,116,63,101,235,115,63,218,103,115,63,163,225,114,63,194,88,114,63,57,205,113,63,9,63,113,63,52,174,112,63,187,26,112,63,160,132,111,63,228,235,110,63,138,80,110,63,147,178,109,63,1,18,109,63,213,110,108,63,17,201,107,63,183,32,107,63,201,117,106,63,73,200,105,63,57,24,105,63,155,101,104,63,111,176,103,63,186,248,102,63,124,62,102,63,184,129,101,63,111,194,100,63,164,0,100,63,90,60,99,63,145,117,98,63,76,172,97,63,142,224,96,63,89,18,96,63,174,65,95,63,145,110,94,63,3,153,93,63,8,193,92,63,160,230,91,63,207,9,91,63,152,42,90,63,251,72,89,63,253,100,88,63,159,126,87,63,229,149,86,63,208,170,85,63,99,189,84,63,161,205,83,63,140,219,82,63,39,231,81,63,117,240,80,63,121,247,79,63,52,252,78,63,171,254,77,63,223,254,76,63,212,252,75,63,140,248,74,63,10,242,73,63,82,233,72,63,101,222,71,63,71,209,70,63,251,193,69,63,132,176,68,63,229,156,67,63,32,135,66,63,58,111,65,63,52,85,64,63,19,57,63,63,216,26,62,63,136,250,60,63,38,216,59,63,180,179,58,63,54,141,57,63,175,100,56,63,34,58,55,63,147,13,54,63,5,223,52,63,124,174,51,63,249,123,50,63,130,71,49,63,25,17,48,63,194,216,46,63,127,158,45,63,86,98,44,63,72,36,43,63,90,228,41,63,144,162,40,63,235,94,39,63,113,25,38,63,37,210,36,63,9,137,35,63,35,62,34,63,117,241,32,63,4,163,31,63,210,82,30,63,228,0,29,63,61,173,27,63,225,87,26,63,211,0,25,63,25,168,23,63,180,77,22,63,170,241,20,63,253,147,19,63,178,52,18,63,204,211,16,63,80,113,15,63,66,13,14,63,164,167,12,63,124,64,11,63,205,215,9,63,154,109,8,63,233,1,7,63,189,148,5,63,25,38,4,63,3,182,2,63,126,68,1,63,28,163,255,62,110,186,252,62,250,206,249,62,202,224,246,62,228,239,243,62,81,252,240,62,26,6,238,62,71,13,235,62,224,17,232,62,237,19,229,62,119,19,226,62,135,16,223,62,36,11,220,62,88,3,217,62,42,249,213,62,164,236,210,62,205,221,207,62,175,204,204,62,82,185,201,62,191,163,198,62,254,139,195,62,24,114,192,62,22,86,189,62,0,56,186,62,224,23,183,62,189,245,179,62,161,209,176,62,149,171,173,62,162,131,170,62,207,89,167,62,39,46,164,62,178,0,161,62,121,209,157,62,133,160,154,62,223,109,151,62,143,57,148,62,160,3,145,62,26,204,141,62,5,147,138,62,107,88,135,62,86,28,132,62,205,222,128,62,182,63,123,62,16,191,116,62,187,59,110,62,201,181,103,62,77,45,97,62,89,162,90,62,255,20,84,62,81,133,77,62,99,243,70,62,70,95,64,62,13,201,57,62,202,48,51,62,144,150,44,62,114,250,37,62,130,92,31,62,210,188,24,62,118,27,18,62,127,120,11,62,1,212,4,62,29,92,252,61,114,13,239,61,41,188,225,61,102,104,212,61,78,18,199,61,8,186,185,61,184,95,172,61,132,3,159,61,146,165,145,61,7,70,132,61,18,202,109,61,122,5,83,61,145,62,56,61,164,117,29,61,252,170,2,61,202,189,207,60,86,35,154,60,97,14,73,60,197,167,187,59,61,122,86,186,9,70,241,187,18,221,99,188,80,138,167,188,65,36,221,188,227,93,9,189,35,40,36,189,150,240,62,189,242,182,89,189,234,122,116,189,26,158,135,189,66,253,148,189,200,90,162,189,134,182,175,189,87,16,189,189,22,104,202,189,155,189,215,189,195,16,229,189,105,97,242,189,101,175,255,189,74,125,6,190,104,33,13,190,250,195,19,190,237,100,26,190,46,4,33,190,172,161,39,190,83,61,46,190,16,215,52,190,210,110,59,190,134,4,66,190,25,152,72,190,121,41,79,190,148,184,85,190,86,69,92,190,174,207,98,190,137,87,105,190,214,220,111,190,128,95,118,190,120,223,124,190,84,174,129,190,129,235,132,190,56,39,136,190,114,97,139,190,36,154,142,190,69,209,145,190,205,6,149,190,179,58,152,190,238,108,155,190,116,157,158,190,61,204,161,190,64,249,164,190,115,36,168,190,207,77,171,190,73,117,174,190,218,154,177,190,120,190,180,190,27,224,183,190,186,255,186,190,75,29,190,190,199,56,193,190,37,82,196,190,91,105,199,190,97,126,202,190,48,145,205,190,188,161,208,190,0,176,211,190,241,187,214,190,135,197,217,190,186,204,220,190,129,209,223,190,211,211,226,190,169,211,229,190,250,208,232,190,189,203,235,190,234,195,238,190,120,185,241,190,96,172,244,190,154,156,247,190,28,138,250,190,223,116,253,190,109,46,0,191,3,161,1,191,45,18,3,191,230,129,4,191,44,240,5,191,250,92,7,191,76,200,8,191,30,50,10,191,108,154,11,191,50,1,13,191,108,102,14,191,23,202,15,191,45,44,17,191,172,140,18,191,144,235,19,191,213,72,21,191,118,164,22,191,113,254,23,191,192,86,25,191,98,173,26,191,81,2,28,191,138,85,29,191,9,167,30,191,203,246,31,191,204,68,33,191,9,145,34,191,124,219,35,191,36,36,37,191,253,106,38,191,2,176,39,191,48,243,40,191,132,52,42,191,250,115,43,191,143,177,44,191,63,237,45,191,7,39,47,191,227,94,48,191,208,148,49,191,202,200,50,191,206,250,51,191,218,42,53,191,232,88,54,191,247,132,55,191,2,175,56,191,7,215,57,191,3,253,58,191,241,32,60,191,207,66,61,191,154,98,62,191,79,128,63,191,233,155,64,191,104,181,65,191,198,204,66,191,1,226,67,191,23,245,68,191,3,6,70,191,196,20,71,191,86,33,72,191,182,43,73,191,225,51,74,191,212,57,75,191,141,61,76,191,9,63,77,191,68,62,78,191,61,59,79,191,240,53,80,191,90,46,81,191,121,36,82,191,74,24,83,191,202,9,84,191,247,248,84,191,206,229,85,191,77,208,86,191,112,184,87,191,55,158,88,191,156,129,89,191,160,98,90,191,62,65,91,191,117,29,92,191,65,247,92,191,162,206,93,191,148,163,94,191,20,118,95,191,34,70,96,191,186,19,97,191,217,222,97,191,127,167,98,191,169,109,99,191,84,49,100,191,126,242,100,191,38,177,101,191,73,109,102,191,229,38,103,191,248,221,103,191,128,146,104,191,123,68,105,191,232,243,105,191,195,160,106,191,12,75,107,191,192,242,107,191,222,151,108,191,100,58,109,191,80,218,109,191,160,119,110,191,83,18,111,191,102,170,111,191,217,63,112,191,169,210,112,191,213,98,113,191,91,240,113,191,58,123,114,191,113,3,115,191,253,136,115,191,222,11,116,191,17,140,116,191,150,9,117,191,107,132,117,191,143,252,117,191,0,114,118,191,189,228,118,191,198,84,119,191,24,194,119,191,178,44,120,191,147,148,120,191,187,249,120,191,40,92,121,191,217,187,121,191,205,24,122,191,2,115,122,191,121,202,122,191,47,31,123,191,36,113,123,191,88,192,123,191,201,12,124,191,118,86,124,191,95,157,124,191,130,225,124,191,224,34,125,191,119,97,125,191,71,157,125,191,79,214,125,191,142,12,126,191,4,64,126,191,176,112,126,191,146,158,126,191,169,201,126,191,245,241,126,191,117,23,127,191,41,58,127,191,16,90,127,191,43,119,127,191,120,145,127,191,248,168,127,191,170,189,127,191,143,207,127,191,165,222,127,191,237,234,127,191,102,244,127,191,17,251,127,191,237,254,127,191,234,255,127,63,229,248,127,63,166,230,127,63,45,201,127,63,124,160,127,63,149,108,127,63,121,45,127,63,44,227,126,63,177,141,126,63,11,45,126,63,63,193,125,63,82,74,125,63,72,200,124,63,40,59,124,63,247,162,123,63,189,255,122,63,128,81,122,63,72,152,121,63,30,212,120,63,9,5,120,63,19,43,119,63,70,70,118,63,172,86,117,63,78,92,116,63,56,87,115,63,118,71,114,63,19,45,113,63,28,8,112,63,158,216,110,63,165,158,109,63,64,90,108,63,126,11,107,63,107,178,105,63,25,79,104,63,150,225,102,63,242,105,101,63,62,232,99,63,139,92,98,63,234,198,96,63,109,39,95,63,38,126,93,63,40,203,91,63,133,14,90,63,83,72,88,63,163,120,86,63,139,159,84,63,32,189,82,63,118,209,80,63,163,220,78,63,189,222,76,63,219,215,74,63,19,200,72,63,124,175,70,63,46,142,68,63,65,100,66,63,206,49,64,63,236,246,61,63,180,179,59,63,66,104,57,63,173,20,55,63,16,185,52,63,134,85,50,63,41,234,47,63,21,119,45,63,101,252,42,63,53,122,40,63,161,240,37,63,198,95,35,63,192,199,32,63,172,40,30,63,169,130,27,63,212,213,24,63,74,34,22,63,42,104,19,63,147,167,16,63,164,224,13,63,123,19,11,63,57,64,8,63,253,102,5,63,231,135,2,63,45,70,255,62,91,113,249,62,151,145,243,62,36,167,237,62,69,178,231,62,60,179,225,62,76,170,219,62,186,151,213,62,201,123,207,62,190,86,201,62,223,40,195,62,112,242,188,62,183,179,182,62,251,108,176,62,129,30,170,62,146,200,163,62,115,107,157,62,108,7,151,62,197,156,144,62,199,43,138,62,185,180,131,62,199,111,122,62,33,107,109,62,17,92,96,62,41,67,83,62,253,32,70,62,32,246,56,62,38,195,43,62,164,136,30,62,45,71,17,62,87,255,3,62,110,99,237,61,194,189,210,61,218,14,184,61,222,87,157,61,251,153,130,61,188,172,79,61,101,28,26,61,153,10,201,60,42,167,59,60,193,120,214,186,45,68,113,188,87,215,227,188,76,129,39,189,148,15,93,189,21,74,137,189,90,6,164,189,109,187,190,189,34,104,217,189,78,11,244,189,227,81,7,190,47,152,20,190,247,215,33,190,165,16,47,190,166,65,60,190,100,106,73,190,77,138,86,190,205,160,99,190,80,173,112,190,69,175,125,190,13,83,133,190,158,200,139,190,13,56,146,190,18,161,152,190,102,3,159,190,191,94,165,190,216,178,171,190,105,255,177,190,43,68,184,190,216,128,190,190,42,181,196,190,219,224,202,190,165,3,209,190,69,29,215,190,117,45,221,190,241,51,227,190,118,48,233,190,192,34,239,190,141,10,245,190,155,231,250,190,211,92,0,191,56,64,3,191,219,29,6,191,155,245,8,191,90,199,11,191,247,146,14,191,84,88,17,191,80,23,20,191,205,207,22,191,172,129,25,191,208,44,28,191,26,209,30,191,109,110,33,191,171,4,36,191,183,147,38,191,116,27,41,191,199,155,43,191,147,20,46,191,187,133,48,191,38,239,50,191,183,80,53,191,85,170,55,191,227,251,57,191,74,69,60,191,110,134,62,191,55,191,64,191,139,239,66,191,83,23,69,191,117,54,71,191,218,76,73,191,107,90,75,191,16,95,77,191,179,90,79,191,62,77,81,191,154,54,83,191,179,22,85,191,114,237,86,191,197,186,88,191,149,126,90,191,208,56,92,191,98,233,93,191,56,144,95,191,64,45,97,191,103,192,98,191,156,73,100,191,206,200,101,191,235,61,103,191,227,168,104,191,167,9,106,191,39,96,107,191,84,172,108,191,31,238,109,191,122,37,111,191,88,82,112,191,171,116,113,191,103,140,114,191,127,153,115,191,231,155,116,191,149,147,117,191,126,128,118,191,150,98,119,191,212,57,120,191,47,6,121,191,158,199,121,191,23,126,122,191,148,41,123,191,13,202,123,191,122,95,124,191,213,233,124,191,24,105,125,191,62,221,125,191,64,70,126,191,28,164,126,191,204,246,126,191,77,62,127,191,156,122,127,191,182,171,127,191,153,209,127,191,67,236,127,191,180,251,127,191,166,255,127,63,148,227,127,63,156,154,127,63,204,36,127,63,56,130,126,63,253,178,125,63,63,183,124,63,42,143,123,63,243,58,122,63,212,186,120,63,17,15,119,63,246,55,117,63,213,53,115,63,8,9,113,63,241,177,110,63,249,48,108,63,144,134,105,63,47,179,102,63,83,183,99,63,132,147,96,63,78,72,93,63,69,214,89,63,3,62,86,63,43,128,82,63,101,157,78,63,94,150,74,63,204,107,70,63,106,30,66,63,249,174,61,63,64,30,57,63,13,109,52,63,50,156,47,63,135,172,42,63,235,158,37,63,63,116,32,63,109,45,27,63,97,203,21,63,13,79,16,63,104,185,10,63,107,11,5,63,46,140,254,62,221,212,242,62,241,242,230,62,127,232,218,62,166,183,206,62,136,98,194,62,78,235,181,62,42,84,169,62,81,159,156,62,253,206,143,62,109,229,130,62,206,201,107,62,98,159,81,62,48,80,55,62,211,224,28,62,241,85,2,62,98,104,207,61,124,0,154,61,36,251,72,61,27,164,187,60,243,119,86,187,100,61,241,188,187,192,99,189,103,93,167,189,20,189,220,189,3,251,8,190,115,127,35,190,52,231,61,190,164,45,88,190,38,78,114,190,18,34,134,190,137,5,147,190,52,207,159,190,213,124,172,190,51,12,185,190,26,123,197,190,91,199,209,190,205,238,221,190,80,239,233,190,199,198,245,190,144,185,0,191,38,121,6,191,36,33,12,191,141,176,17,191,102,38,23,191,186,129,28,191,152,193,33,191,21,229,38,191,74,235,43,191,86,211,48,191,91,156,53,191,131,69,58,191,253,205,62,191,252,52,67,191,188,121,71,191,125,155,75,191,132,153,79,191,31,115,83,191,161,39,87,191,99,182,90,191,198,30,94,191,48,96,97,191,15,122,100,191,216,107,103,191,7,53,106,191,31,213,108,191,169,75,111,191,55,152,113,191,98,186,115,191,201,177,117,191,22,126,119,191,246,30,121,191,33,148,122,191,85,221,123,191,89,250,124,191,250,234,125,191,14,175,126,191,116,70,127,191,15,177,127,191,206,238,127,191,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,0,0,206,64,0,0,200,64,0,0,184,64,0,0,170,64,0,0,162,64,0,0,154,64,0,0,144,64,0,0,140,64,0,0,156,64,0,0,150,64,0,0,146,64,0,0,142,64,0,0,156,64,0,0,148,64,0,0,138,64,0,0,144,64,0,0,140,64,0,0,148,64,0,0,152,64,0,0,142,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,134,107,63,0,20,46,63,0,112,189,62,0,208,76,62,0,0,102,63,0,0,76,63,0,0,38,63,0,0,0,63,15,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,4,0,0,0,3,0,0,0,0,115,0,0,8,115,0,0,24,115,0,0,56,115,0,0,64,115,0,0,80,115,0,0,112,115,0,0,152,115,0,0,232,115,0,0,136,116,0,0,144,116,0,0,160,116,0,0,0,0,0,0,64,31,0,0,184,36,0,0,236,44,0,0,188,52,0,0,92,68,0,0,168,97,0,0,128,56,1,0,0,0,0,0,40,35,0,0,224,46,0,0,164,56,0,0,68,72,0,0,180,95,0,0,172,138,0,0,128,56,1,0,0,0,0,0,4,41,0,0,176,54,0,0,104,66,0,0,252,83,0,0,84,111,0,0,16,164,0,0,128,56,1,0,222,116,0,0,225,116,0,0,10,103,242,14,86,205,228,29,10,103,242,14,117,82,130,12,89,154,4,25,117,82,130,12,70,17,49,10,237,3,98,20,70,17,49,10,218,2,215,7,249,198,173,15,218,2,215,7,34,182,82,5,218,250,164,10,34,182,82,5,70,243,46,30,43,227,75,14,31,102,128,24,28,44,29,10,218,97,72,18,237,156,244,6,236,48,19,11,227,144,165,4,237,164,29,2,10,223,107,3,1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,12,0,0,0,3,0,0,0,11,0,0,0,4,0,0,0,14,0,0,0,1,0,0,0,9,0,0,0,6,0,0,0,13,0,0,0,2,0,0,0,10,0,0,0,5,0,0,0,144,69,0,0,80,72,0,0,12,75,0,0,196,77,0,0,120,80,0,0,40,83,0,0,212,85,0,0,60,87,0,0,248,87,0,0,108,88,0,0,184,88,0,0,240,88,0,0,16,89,0,0,40,89,0,0,52,89,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,21,0,0,0,23,0,0,0,25,0,0,0,27,0,0,0,29,0,0,0,31,0,0,0,33,0,0,0,35,0,0,0,37,0,0,0,39,0,0,0,41,0,0,0,43,0,0,0,45,0,0,0,47,0,0,0,49,0,0,0,51,0,0,0,53,0,0,0,55,0,0,0,57,0,0,0,59,0,0,0,61,0,0,0,63,0,0,0,65,0,0,0,67,0,0,0,69,0,0,0,71,0,0,0,73,0,0,0,75,0,0,0,77,0,0,0,79,0,0,0,81,0,0,0,83,0,0,0,85,0,0,0,87,0,0,0,89,0,0,0,91,0,0,0,93,0,0,0,95,0,0,0,97,0,0,0,99,0,0,0,101,0,0,0,103,0,0,0,105,0,0,0,107,0,0,0,109,0,0,0,111,0,0,0,113,0,0,0,115,0,0,0,117,0,0,0,119,0,0,0,121,0,0,0,123,0,0,0,125,0,0,0,127,0,0,0,129,0,0,0,131,0,0,0,133,0,0,0,135,0,0,0,137,0,0,0,139,0,0,0,141,0,0,0,143,0,0,0,145,0,0,0,147,0,0,0,149,0,0,0,151,0,0,0,153,0,0,0,155,0,0,0,157,0,0,0,159,0,0,0,161,0,0,0,163,0,0,0,165,0,0,0,167,0,0,0,169,0,0,0,171,0,0,0,173,0,0,0,175,0,0,0,177,0,0,0,179,0,0,0,181,0,0,0,183,0,0,0,185,0,0,0,187,0,0,0,189,0,0,0,191,0,0,0,193,0,0,0,195,0,0,0,197,0,0,0,199,0,0,0,201,0,0,0,203,0,0,0,205,0,0,0,207,0,0,0,209,0,0,0,211,0,0,0,213,0,0,0,215,0,0,0,217,0,0,0,219,0,0,0,221,0,0,0,223,0,0,0,225,0,0,0,227,0,0,0,229,0,0,0,231,0,0,0,233,0,0,0,235,0,0,0,237,0,0,0,239,0,0,0,241,0,0,0,243,0,0,0,245,0,0,0,247,0,0,0,249,0,0,0,251,0,0,0,253,0,0,0,255,0,0,0,1,1,0,0,3,1,0,0,5,1,0,0,7,1,0,0,9,1,0,0,11,1,0,0,13,1,0,0,15,1,0,0,17,1,0,0,19,1,0,0,21,1,0,0,23,1,0,0,25,1,0,0,27,1,0,0,29,1,0,0,31,1,0,0,33,1,0,0,35,1,0,0,37,1,0,0,39,1,0,0,41,1,0,0,43,1,0,0,45,1,0,0,47,1,0,0,49,1,0,0,51,1,0,0,53,1,0,0,55,1,0,0,57,1,0,0,59,1,0,0,61,1,0,0,63,1,0,0,65,1,0,0,67,1,0,0,69,1,0,0,71,1,0,0,73,1,0,0,75,1,0,0,77,1,0,0,79,1,0,0,81,1,0,0,83,1,0,0,85,1,0,0,87,1,0,0,89,1,0,0,91,1,0,0,93,1,0,0,95,1,0,0,13,0,0,0,25,0,0,0,41,0,0,0,61,0,0,0,85,0,0,0,113,0,0,0,145,0,0,0,181,0,0,0,221,0,0,0,9,1,0,0,57,1,0,0,109,1,0,0,165,1,0,0,225,1,0,0,33,2,0,0,101,2,0,0,173,2,0,0,249,2,0,0,73,3,0,0,157,3,0,0,245,3,0,0,81,4,0,0,177,4,0,0,21,5,0,0,125,5,0,0,233,5,0,0,89,6,0,0,205,6,0,0,69,7,0,0,193,7,0,0,65,8,0,0,197,8,0,0,77,9,0,0,217,9,0,0,105,10,0,0,253,10,0,0,149,11,0,0,49,12,0,0,209,12,0,0,117,13,0,0,29,14,0,0,201,14,0,0,121,15,0,0,45,16,0,0,229,16,0,0,161,17,0,0,97,18,0,0,37,19,0,0,237,19,0,0,185,20,0,0,137,21,0,0,93,22,0,0,53,23,0,0,17,24,0,0,241,24,0,0,213,25,0,0,189,26,0,0,169,27,0,0,153,28,0,0,141,29,0,0,133,30,0,0,129,31,0,0,129,32,0,0,133,33,0,0,141,34,0,0,153,35,0,0,169,36,0,0,189,37,0,0,213,38,0,0,241,39,0,0,17,41,0,0,53,42,0,0,93,43,0,0,137,44,0,0,185,45,0,0,237,46,0,0,37,48,0,0,97,49,0,0,161,50,0,0,229,51,0,0,45,53,0,0,121,54,0,0,201,55,0,0,29,57,0,0,117,58,0,0,209,59,0,0,49,61,0,0,149,62,0,0,253,63,0,0,105,65,0,0,217,66,0,0,77,68,0,0,197,69,0,0,65,71,0,0,193,72,0,0,69,74,0,0,205,75,0,0,89,77,0,0,233,78,0,0,125,80,0,0,21,82,0,0,177,83,0,0,81,85,0,0,245,86,0,0,157,88,0,0,73,90,0,0,249,91,0,0,173,93,0,0,101,95,0,0,33,97,0,0,225,98,0,0,165,100,0,0,109,102,0,0,57,104,0,0,9,106,0,0,221,107,0,0,181,109,0,0,145,111,0,0,113,113,0,0,85,115,0,0,61,117,0,0,41,119,0,0,25,121,0,0,13,123,0,0,5,125,0,0,1,127,0,0,1,129,0,0,5,131,0,0,13,133,0,0,25,135,0,0,41,137,0,0,61,139,0,0,85,141,0,0,113,143,0,0,145,145,0,0,181,147,0,0,221,149,0,0,9,152,0,0,57,154,0,0,109,156,0,0,165,158,0,0,225,160],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([33,163,0,0,101,165,0,0,173,167,0,0,249,169,0,0,73,172,0,0,157,174,0,0,245,176,0,0,81,179,0,0,177,181,0,0,21,184,0,0,125,186,0,0,233,188,0,0,89,191,0,0,205,193,0,0,69,196,0,0,193,198,0,0,65,201,0,0,197,203,0,0,77,206,0,0,217,208,0,0,105,211,0,0,253,213,0,0,149,216,0,0,49,219,0,0,209,221,0,0,117,224,0,0,29,227,0,0,201,229,0,0,121,232,0,0,45,235,0,0,229,237,0,0,161,240,0,0,63,0,0,0,129,0,0,0,231,0,0,0,121,1,0,0,63,2,0,0,65,3,0,0,135,4,0,0,25,6,0,0,255,7,0,0,65,10,0,0,231,12,0,0,249,15,0,0,127,19,0,0,129,23,0,0,7,28,0,0,25,33,0,0,191,38,0,0,1,45,0,0,231,51,0,0,121,59,0,0,191,67,0,0,193,76,0,0,135,86,0,0,25,97,0,0,127,108,0,0,193,120,0,0,231,133,0,0,249,147,0,0,255,162,0,0,1,179,0,0,7,196,0,0,25,214,0,0,63,233,0,0,129,253,0,0,231,18,1,0,121,41,1,0,63,65,1,0,65,90,1,0,135,116,1,0,25,144,1,0,255,172,1,0,65,203,1,0,231,234,1,0,249,11,2,0,127,46,2,0,129,82,2,0,7,120,2,0,25,159,2,0,191,199,2,0,1,242,2,0,231,29,3,0,121,75,3,0,191,122,3,0,193,171,3,0,135,222,3,0,25,19,4,0,127,73,4,0,193,129,4,0,231,187,4,0,249,247,4,0,255,53,5,0,1,118,5,0,7,184,5,0,25,252,5,0,63,66,6,0,129,138,6,0,231,212,6,0,121,33,7,0,63,112,7,0,65,193,7,0,135,20,8,0,25,106,8,0,255,193,8,0,65,28,9,0,231,120,9,0,249,215,9,0,127,57,10,0,129,157,10,0,7,4,11,0,25,109,11,0,191,216,11,0,1,71,12,0,231,183,12,0,121,43,13,0,191,161,13,0,193,26,14,0,135,150,14,0,25,21,15,0,127,150,15,0,193,26,16,0,231,161,16,0,249,43,17,0,255,184,17,0,1,73,18,0,7,220,18,0,25,114,19,0,63,11,20,0,129,167,20,0,231,70,21,0,121,233,21,0,63,143,22,0,65,56,23,0,135,228,23,0,25,148,24,0,255,70,25,0,65,253,25,0,231,182,26,0,249,115,27,0,127,52,28,0,129,248,28,0,7,192,29,0,25,139,30,0,191,89,31,0,1,44,32,0,231,1,33,0,121,219,33,0,191,184,34,0,193,153,35,0,135,126,36,0,25,103,37,0,127,83,38,0,193,67,39,0,231,55,40,0,249,47,41,0,255,43,42,0,1,44,43,0,7,48,44,0,25,56,45,0,63,68,46,0,129,84,47,0,231,104,48,0,121,129,49,0,63,158,50,0,65,191,51,0,135,228,52,0,25,14,54,0,255,59,55,0,65,110,56,0,231,164,57,0,249,223,58,0,127,31,60,0,129,99,61,0,7,172,62,0,25,249,63,0,191,74,65,0,1,161,66,0,231,251,67,0,121,91,69,0,191,191,70,0,193,40,72,0,135,150,73,0,25,9,75,0,127,128,76,0,193,252,77,0,231,125,79,0,249,3,81,0,255,142,82,0,1,31,84,0,7,180,85,0,25,78,87,0,63,237,88,0,129,145,90,0,231,58,92,0,121,233,93,0,63,157,95,0,65,86,97,0,135,20,99,0,25,216,100,0,255,160,102,0,65,111,104,0,231,66,106,0,249,27,108,0,127,250,109,0,65,1,0,0,169,2,0,0,9,5,0,0,193,8,0,0,65,14,0,0,9,22,0,0,169,32,0,0,193,46,0,0,1,65,0,0,41,88,0,0,9,117,0,0,129,152,0,0,129,195,0,0,9,247,0,0,41,52,1,0,1,124,1,0,193,207,1,0,169,48,2,0,9,160,2,0,65,31,3,0,193,175,3,0,9,83,4,0,169,10,5,0,65,216,5,0,129,189,6,0,41,188,7,0,9,214,8,0,1,13,10,0,1,99,11,0,9,218,12,0,41,116,14,0,129,51,16,0,65,26,18,0,169,42,20,0,9,103,22,0,193,209,24,0,65,109,27,0,9,60,30,0,169,64,33,0,193,125,36,0,1,246,39,0,41,172,43,0,9,163,47,0,129,221,51,0,129,94,56,0,9,41,61,0,41,64,66,0,1,167,71,0,193,96,77,0,169,112,83,0,9,218,89,0,65,160,96,0,193,198,103,0,9,81,111,0,169,66,119,0,65,159,127,0,129,106,136,0,41,168,145,0,9,92,155,0,1,138,165,0,1,54,176,0,9,100,187,0,41,24,199,0,129,86,211,0,65,35,224,0,169,130,237,0,9,121,251,0,193,10,10,1,65,60,25,1,9,18,41,1,169,144,57,1,193,188,74,1,1,155,92,1,41,48,111,1,9,129,130,1,129,146,150,1,129,105,171,1,9,11,193,1,41,124,215,1,1,194,238,1,193,225,6,2,169,224,31,2,9,196,57,2,65,145,84,2,193,77,112,2,9,255,140,2,169,170,170,2,65,86,201,2,129,7,233,2,41,196,9,3,9,146,43,3,1,119,78,3,1,121,114,3,9,158,151,3,41,236,189,3,129,105,229,3,65,28,14,4,169,10,56,4,9,59,99,4,193,179,143,4,65,123,189,4,9,152,236,4,169,16,29,5,193,235,78,5,1,48,130,5,41,228,182,5,9,15,237,5,129,183,36,6,129,228,93,6,9,157,152,6,41,232,212,6,1,205,18,7,193,82,82,7,169,128,147,7,9,94,214,7,65,242,26,8,193,68,97,8,9,93,169,8,169,66,243,8,65,253,62,9,129,148,140,9,41,16,220,9,9,120,45,10,1,212,128,10,1,44,214,10,9,136,45,11,41,240,134,11,129,108,226,11,65,5,64,12,169,194,159,12,9,173,1,13,193,204,101,13,65,42,204,13,9,206,52,14,169,192,159,14,193,10,13,15,1,181,124,15,41,200,238,15,9,77,99,16,129,76,218,16,129,207,83,17,9,223,207,17,41,132,78,18,1,200,207,18,193,179,83,19,169,80,218,19,9,168,99,20,65,195,239,20,193,171,126,21,9,107,16,22,169,10,165,22,65,148,60,23,129,17,215,23,41,140,116,24,9,14,21,25,1,161,184,25,1,79,95,26,9,34,9,27,41,36,182,27,129,95,102,28,65,222,25,29,169,170,208,29,9,207,138,30,193,85,72,31,65,73,9,32,9,180,205,32,169,160,149,33,193,25,97,34,1,42,48,35,41,220,2,36,9,59,217,36,129,81,179,37,147,6,0,0,69,14,0,0,15,28,0,0,17,51,0,0,91,87,0,0,13,142,0,0,119,221,0,0,57,77,1,0,99,230,1,0,149,179,2,0,31,193,3,0,33,29,5,0,171,215,6,0,221,2,9,0,7,179,11,0,201,254,14,0,51,255,18,0,229,207,23,0,47,143,29,0,49,94,36,0,251,96,44,0,173,190,53,0,151,161,64,0,89,55,77,0,3,177,91,0,53,67,108,0,63,38,127,0,65,150,148,0,75,211,172,0,125,33,200,0,39,201,230,0,233,22,9,1,211,91,47,1,133,237,89,1,79,38,137,1,81,101,189,1,155,14,247,1,77,139,54,2,183,73,124,2,121,189,200,2,163,95,28,3,213,174,119,3,95,47,219,3,97,107,71,4,235,242,188,4,29,92,60,5,71,67,198,5,9,75,91,6,115,28,252,6,37,103,169,7,111,225,99,8,113,72,44,9,59,96,3,10,237,243,233,10,215,213,224,11,153,223,232,12,67,242,2,14,117,246,47,15,127,220,112,16,129,156,198,17,139,54,50,19,189,178,180,20,103,33,79,22,41,155,2,24,19,65,208,25,197,60,185,27,143,192,190,29,145,7,226,31,219,85,36,34,141,248,134,36,247,69,11,39,185,157,178,41,227,104,126,44,21,26,112,47,159,45,137,50,161,41,203,53,43,158,55,57,93,37,208,60,135,99,150,64,73,7,140,68,179,201,178,72,101,110,12,77,175,195,154,81,177,162,95,86,123,239,92,91,45,153,148,96,23,154,8,102,217,247,186,107,131,195,173,113,181,25,227,119,191,34,93,126,29,35,0,0,113,77,0,0,145,156,0,0,253,38,1,0,101,12,2,0,233,119,3,0,153,162,5,0,53,214,8,0,45,112,13,0,225,228,19,0,33,195,28,0,237,183,40,0,117,146,56,0,89,72,77,0,41,250,103,0,37,248,137,0,61,199,180,0,81,38,234,0,177,19,44,1,221,210,124,1,133,242,222,1,201,82,85,2,185,43,227,2,21,20,140,3,77,8,84,4,193,113,63,5,65,46,83,6,205,151,148,7,149,140,9,9,57,119,184,10,73,87,168,12,5,202,224,14,93,19,106,17,49,39,77,20,209,178,147,23,189,38,72,27,165,192,117,31,169,149,40,36,217,156,109,41,245,185,82,47,109,200,230,53,161,166,57,61,97,65,92,69,173,159,96,78,181,238,89,88,25,142,92,99,105,28,126,111,229,131,213,124,255,189,0,0,1,168,1,0,143,107,3,0,241,158,6,0,63,35,12,0,193,61,21,0,143,182,35,0,241,252,57,0,255,81,91,0,1,250,139,0,15,117,209,0,113,191,50,1,63,154,184,1,193,220,109,2,15,207,95,3,113,142,158,4,255,123,61,6,1,182,83,8,143,156,252,10,241,97,88,14,63,167,140,18,193,37,197,23,143,101,52,30,241,129,20,38,255,251,167,47,1,156,58,59,15,98,34,73,113,134,192,89,63,138,130,109,193,88,227,132,1,14,4,0,145,33,9,0,17,44,19,0,65,238,37,0,65,79,71,0,145,67,128,0,17,247,221,0,1,70,115,1,1,146,90,2,17,1,184,3,145,53,188,5,65,143,167,8,65,6,206,12,17,178,155,18,145,15,154,26,1,26,118,37,1,76,7,52,145,158,87,71,17,157,172,96,65,166,145,129,35,81,22,0,197,158,50,0,23,185,107,0,153,246,216,0,107,137,160,1,13,196,254,2,31,1,80,5,33,217,29,9,51,108,48,15,213,162,164,24,167,103,8,39,41,253,125,60,123,181,231,91,29,119,29,137,175,160,45,201,173,142,123,0,137,230,25,1,57,150,94,2,61,22,216,4,181,99,119,9,225,40,198,17,33,3,52,32,117,72,130,56,125,87,87,96,191,91,175,2,129,216,39,6,247,132,94,13,233,254,173,27,127,139,235,54,129,183,229,104,23,3,156,193,193,12,255,14,57,106,133,34,25,238,145,75,129,120,43,158,51,225,9,84,32,0,10,0,20,46,100,1,221,121,0,0,188,100,0,0,29,123,0,0,93,123,0,0,111,123,0,0,15,124,0,0,87,124,0,0,60,103,0,0,32,0,16,0,102,38,171,1,159,124,0,0,82,103,0,0,159,126,0,0,223,126,0,0,253,126,0,0,253,127,0,0,69,128,0,0,82,107,0,0,48,117,0,0,112,23,0,0,32,209,255,255,32,209,255,255,0,64,0,0,108,34,0,0,66,15,0,0,18,6,0,0,77,2,0,0,219,0,0,0,237,0,0,0,153,0,0,0,73,0,0,0,30,0,0,0,12,0,0,0,7,0,0,0,0,64,0,0,147,93,0,0,189,112,0,0,237,121,0,0,178,125,0,0,36,127,0,0,0,0,0,0,240,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,40,1,0,0,6,0,0,0,7,0,0,0,1,0,0,0,0,0,0,0,88,1,0,0,1,0,0,0,8,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,0,0,0,0,72,1,0,0,1,0,0,0,9,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,1,0,0,0,10,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,10,0,12,0,14,0,16,0,20,0,24,0,28,0,34,0,40,0,48,0,60,0,78,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,8,0,8,0,8,0,16,0,16,0,16,0,21,0,21,0,24,0,29,0,34,0,36,0,0,0,96,0,192,0,32,1,128,1,32,0,128,0,224,0,64,1,160,1,64,0,160,0,0,1,96,1,192,1,8,0,104,0,200,0,40,1,136,1,40,0,136,0,232,0,72,1,168,1,72,0,168,0,8,1,104,1,200,1,16,0,112,0,208,0,48,1,144,1,48,0,144,0,240,0,80,1,176,1,80,0,176,0,16,1,112,1,208,1,24,0,120,0,216,0,56,1,152,1,56,0,152,0,248,0,88,1,184,1,88,0,184,0,24,1,120,1,216,1,4,0,100,0,196,0,36,1,132,1,36,0,132,0,228,0,68,1,164,1,68,0,164,0,4,1,100,1,196,1,12,0,108,0,204,0,44,1,140,1,44,0,140,0,236,0,76,1,172,1,76,0,172,0,12,1,108,1,204,1,20,0,116,0,212,0,52,1,148,1,52,0,148,0,244,0,84,1,180,1,84,0,180,0,20,1,116,1,212,1,28,0,124,0,220,0,60,1,156,1,60,0,156,0,252,0,92,1,188,1,92,0,188,0,28,1,124,1,220,1,1,0,97,0,193,0,33,1,129,1,33,0,129,0,225,0,65,1,161,1,65,0,161,0,1,1,97,1,193,1,9,0,105,0,201,0,41,1,137,1,41,0,137,0,233,0,73,1,169,1,73,0,169,0,9,1,105,1,201,1,17,0,113,0,209,0,49,1,145,1,49,0,145,0,241,0,81,1,177,1,81,0,177,0,17,1,113,1,209,1,25,0,121,0,217,0,57,1,153,1,57,0,153,0,249,0,89,1,185,1,89,0,185,0,25,1,121,1,217,1,5,0,101,0,197,0,37,1,133,1,37,0,133,0,229,0,69,1,165,1,69,0,165,0,5,1,101,1,197,1,13,0,109,0,205,0,45,1,141,1,45,0,141,0,237,0,77,1,173,1,77,0,173,0,13,1,109,1,205,1,21,0,117,0,213,0,53,1,149,1,53,0,149,0,245,0,85,1,181,1,85,0,181,0,21,1,117,1,213,1,29,0,125,0,221,0,61,1,157,1,61,0,157,0,253,0,93,1,189,1,93,0,189,0,29,1,125,1,221,1,2,0,98,0,194,0,34,1,130,1,34,0,130,0,226,0,66,1,162,1,66,0,162,0,2,1,98,1,194,1,10,0,106,0,202,0,42,1,138,1,42,0,138,0,234,0,74,1,170,1,74,0,170,0,10,1,106,1,202,1,18,0,114,0,210,0,50,1,146,1,50,0,146,0,242,0,82,1,178,1,82,0,178,0,18,1,114,1,210,1,26,0,122,0,218,0,58,1,154,1,58,0,154,0,250,0,90,1,186,1,90,0,186,0,26,1,122,1,218,1,6,0,102,0,198,0,38,1,134,1,38,0,134,0,230,0,70,1,166,1,70,0,166,0,6,1,102,1,198,1,14,0,110,0,206,0,46,1,142,1,46,0,142,0,238,0,78,1,174,1,78,0,174,0,14,1,110,1,206,1,22,0,118,0,214,0,54,1,150,1,54,0,150,0,246,0,86,1,182,1,86,0,182,0,22,1,118,1,214,1,30,0,126,0,222,0,62,1,158,1,62,0,158,0,254,0,94,1,190,1,94,0,190,0,30,1,126,1,222,1,3,0,99,0,195,0,35,1,131,1,35,0,131,0,227,0,67,1,163,1,67,0,163,0,3,1,99,1,195,1,11,0,107,0,203,0,43,1,139,1,43,0,139,0,235,0,75,1,171,1,75,0,171,0,11,1,107,1,203,1,19,0,115,0,211,0,51,1,147,1,51,0,147,0,243,0,83,1,179,1,83,0,179,0,19,1,115,1,211,1,27,0,123,0,219,0,59,1,155,1,59,0,155,0,251,0,91,1,187,1,91,0,187,0,27,1,123,1,219,1,7,0,103,0,199,0,39,1,135,1,39,0,135,0,231,0,71,1,167,1,71,0,167,0,7,1,103,1,199,1,15,0,111,0,207,0,47,1,143,1,47,0,143,0,239,0,79,1,175,1,79,0,175,0,15,1,111,1,207,1,23,0,119,0,215,0,55,1,151,1,55,0,151,0,247,0,87,1,183,1,87,0,183,0,23,1,119,1,215,1,31,0,127,0,223,0,63,1,159,1,63,0,159,0,255,0,95,1,191,1,95,0,191,0,31,1,127,1,223,1,0,0,48,0,96,0,144,0,192,0,16,0,64,0,112,0,160,0,208,0,32,0,80,0,128,0,176,0,224,0,4,0,52,0,100,0,148,0,196,0,20,0,68,0,116,0,164,0,212,0,36,0,84,0,132,0,180,0,228,0,8,0,56,0,104,0,152,0,200,0,24,0,72,0,120,0,168,0,216,0,40,0,88,0,136,0,184,0,232,0,12,0,60,0,108,0,156,0,204,0,28,0,76,0,124,0,172,0,220,0,44,0,92,0,140,0,188,0,236,0,1,0,49,0,97,0,145,0,193,0,17,0,65,0,113,0,161,0,209,0,33,0,81,0,129,0,177,0,225,0,5,0,53,0,101,0,149,0,197,0,21,0,69,0,117,0,165,0,213,0,37,0,85,0,133,0,181,0,229,0,9,0,57,0,105,0,153,0,201,0,25,0,73,0,121,0,169,0,217,0,41,0,89,0,137,0,185,0,233,0,13,0,61,0,109,0,157,0,205,0,29,0,77,0,125,0,173,0,221,0,45,0,93,0,141,0,189,0,237,0,2,0,50,0,98,0,146,0,194,0,18,0,66,0,114,0,162,0,210,0,34,0,82,0,130,0,178,0,226,0,6,0,54,0,102,0,150,0,198,0,22,0,70,0,118,0,166,0,214,0,38,0,86,0,134,0,182,0,230,0,10,0,58,0,106,0,154,0,202,0,26,0,74,0,122,0,170,0,218,0,42,0,90,0,138,0,186,0,234,0,14,0,62,0,110,0,158,0,206,0,30,0,78,0,126,0,174,0,222,0,46,0,94,0,142,0,190,0,238,0,3,0,51,0,99,0,147,0,195,0,19,0,67,0,115,0,163,0,211,0,35,0,83,0,131,0,179,0,227,0,7,0,55,0,103,0,151,0,199,0,23,0,71,0,119,0,167,0,215,0,39,0,87,0,135,0,183,0,231,0,11,0,59,0,107,0,155,0,203,0,27,0,75,0,123,0,171,0,219,0,43,0,91,0,139,0,187,0,235,0,15,0,63,0,111,0,159,0,207,0,31,0,79,0,127,0,175,0,223,0,47,0,95,0,143,0,191,0,239,0,0,0,24,0,48,0,72,0,96,0,8,0,32,0,56,0,80,0,104,0,16,0,40,0,64,0,88,0,112,0,4,0,28,0,52,0,76,0,100,0,12,0,36,0,60,0,84,0,108,0,20,0,44,0,68,0,92,0,116,0,1,0,25,0,49,0,73,0,97,0,9,0,33,0,57,0,81,0,105,0,17,0,41,0,65,0,89,0,113,0,5,0,29,0,53,0,77,0,101,0,13,0,37,0,61,0,85,0,109,0,21,0,45,0,69,0,93,0,117,0,2,0,26,0,50,0,74,0,98,0,10,0,34,0,58,0,82,0,106,0,18,0,42,0,66,0,90,0,114,0,6,0,30,0,54,0,78,0,102,0,14,0,38,0,62,0,86,0,110,0,22,0,46,0,70,0,94,0,118,0,3,0,27,0,51,0,75,0,99,0,11,0,35,0,59,0,83,0,107,0,19,0,43,0,67,0,91,0,115,0,7,0,31,0,55,0,79,0,103,0,15,0,39,0,63,0,87,0,111,0,23,0,47,0,71,0,95,0,119,0,0,0,12,0,24,0,36,0,48,0,4,0,16,0,28,0,40,0,52,0,8,0,20,0,32,0,44,0,56,0,1,0,13,0,25,0,37,0,49,0,5,0,17,0,29,0,41,0,53,0,9,0,21,0,33,0,45,0,57,0,2,0,14,0,26,0,38,0,50,0,6,0,18,0,30,0,42,0,54,0,10,0,22,0,34,0,46,0,58,0,3,0,15,0,27,0,39,0,51,0,7,0,19,0,31,0,43,0,55,0,11,0,23,0,35,0,47,0,59,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,41,0,41,0,41,0,82,0,82,0,123,0,164,0,200,0,222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,164,0,164,0,240,0,10,1,27,1,39,1,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,10,1,10,1,49,1,62,1,72,1,80,1,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,62,1,62,1,87,1,95,1,102,1,108,1,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,49,1,87,1,87,1,87,1,95,1,95,1,114,1,120,1,126,1,131,1,18,0,29,0,38,0,40,0,46,0,52,0,62,0,84,0,92,202,190,216,182,223,154,226,156,230,120,236,122,244,204,252,52,3,134,11,136,19,100,25,102,29,74,32,66,39,164,53,100,0,240,0,32,0,100,0,205,60,0,48,0,32,42,175,213,201,207,255,64,0,17,0,99,255,97,1,16,254,163,0,39,43,189,86,217,255,6,0,91,0,86,255,186,0,23,0,128,252,192,24,216,77,237,255,220,255,102,0,167,255,232,255,72,1,73,252,8,10,37,62,135,199,61,201,64,0,128,0,134,255,36,0,54,1,0,253,72,2,51,36,69,69,12,0,128,0,18,0,114,255,32,1,139,255,159,252,27,16,123,56,104,2,13,200,246,255,39,0,58,0,210,255,172,255,120,0,184,0,197,254,227,253,4,5,4,21,64,35,230,62,198,196,243,255,0,0,20,0,26,0,5,0,225,255,213,255,252,255,65,0,90,0,7,0,99,255,8,255,212,255,81,2,47,6,52,10,199,12,228,87,5,197,3,0,242,255,236,255,241,255,2,0,25,0,37,0,25,0,240,255,185,255,149,255,177,255,50,0,36,1,111,2,214,3,8,5,184,5,148,107,103,196,17,0,12,0,8,0,1,0,246,255,234,255,226,255,224,255,234,255,3,0,44,0,100,0,168,0,243,0,61,1,125,1,173,1,199,1,189,0,168,253,105,2,103,119,117,0,97,255,210,251,8,116,52,0,221,0,168,246,116,110,252,255,17,2,234,242,229,102,208,255,246,2,140,240,165,93,176,255,137,3,117,239,6,83,157,255,204,3,130,239,102,71,149,255,199,3,139,240,39,59,153,255,128,3,97,242,174,46,165,255,5,3,207,244,94,34,185,255,99,2,161,247,152,22,210,255,169,1,161,250,180,11,0,64,202,69,27,76,255,82,130,90,179,98,162,107,96,117,184,126,154,121,154,121,102,102,184,126,51,115,81,11,10,9,10,9,10,9,239,8,239,8,10,9,252,8,23,9,239,8,72,11,20,10,90,9,63,9,10,9,226,8,226,8,226,8,226,8,146,8,183,9,36,9,36,9,10,9,10,9,10,9,36,9,36,9,63,9,50,9,144,12,206,10,36,9,36,9,10,9,226,8,173,8,159,8,213,8,146,8,156,9,170,9,63,9,90,9,90,9,90,9,90,9,63,9,103,9,10,9,151,13,240,11,79,8,159,8,226,8,226,8,226,8,239,8,10,9,213,8,210,12,69,12,20,10,90,9,199,8,173,8,159,8,146,8,146,8,66,8,0,16,5,15,173,8,60,10,60,10,103,9,10,9,90,9,63,9,26,8,106,12,172,12,63,9,173,8,249,9,130,9,36,9,10,9,119,8,173,8,10,13,160,13,166,10,146,8,213,8,156,9,50,9,63,9,159,8,53,8,50,9,116,9,23,9,63,9,90,9,116,9,116,9,116,9,156,9,63,9,195,14,45,14,130,9,223,9,63,9,226,8,226,8,252,8,159,8,0,8,182,12,153,12,153,10,30,11,143,9,23,9,252,8,252,8,226,8,79,8,191,12,228,12,193,10,246,10,143,9,213,8,213,8,199,8,79,8,53,8,57,11,165,11,73,10,63,9,103,9,50,9,146,8,199,8,199,8,66,8,153,12,125,12,73,10,20,10,226,8,133,8,199,8,173,8,173,8,93,8,106,12,238,12,180,10,103,9,226,8,226,8,226,8,239,8,146,8,66,8,69,12,200,12,156,9,13,8,239,8,196,9,63,9,183,9,130,9,133,8,179,13,210,12,10,9,140,10,87,10,170,9,63,9,90,9,36,9,79,8,95,13,207,13,222,11,240,11,252,8,158,7,173,8,226,8,226,8,226,8,76,13,38,13,39,8,127,10,57,11,50,9,116,9,226,8,170,9,236,9,176,14,160,13,158,7,100,10,81,11,223,9,90,9,63,9,156,9,213,8,212,11,200,12,180,10,72,11,180,10,106,8,79,8,239,8,186,8,199,8,111,14,73,14,233,7,177,7,100,10,140,10,20,10,196,9,23,9,63,9,135,12,85,13,50,9,26,8,72,11,72,11,36,9,183,9,199,8,119,8,10,13,38,13,30,11,220,10,23,9,106,8,226,8,239,8,66,8,13,8,23,9,252,8,133,8,119,8,133,8,63,9,73,10,140,10,140,10,249,9,103,9,130,9,173,8,213,8,173,8,173,8,36,9,116,9,47,10,140,10,222,11,172,12,246,10,72,11,170,9,26,8,252,8,10,9,50,9,76,9,173,8,106,8,79,8,239,8,196,9,233,10,233,10,60,10,20,10,63,9,92,14,129,14,186,8,46,7,133,8,193,10,166,10,113,10,209,9,159,8,233,10,88,12,166,10,249,9,30,11,209,9,133,8,90,9,173,8,133,8,250,0,3,0,6,0,3,0,3,0,3,0,4,0,3,0,3,0,3,0,205,1,73,14,109,11,109,11,109,11,109,11,109,11,109,11,109,11,109,11,109,11,109,11,109,11,147,11,147,11,109,11,30,11,144,12,13,12,156,11,240,11,240,11,194,11,194,11,194,11,147,11,147,11,194,11,156,11,72,11,30,11,30,11,166,10,80,15,174,15,165,11,135,12,135,12,118,11,240,11,30,11,50,12,172,12,109,11,30,11,60,10,249,9,220,10,109,11,188,13,125,12,194,11,31,12,203,11,72,11,109,11,109,11,109,11,109,11,72,11,72,11,72,11,72,11,72,11,193,10,190,19,190,19,118,11,245,13,57,13,240,11,13,12,233,10,88,12,88,12,156,11,30,11,209,9,236,9,193,10,72,11,76,17,53,16,140,10,193,10,156,11,194,11,109,11,30,11,165,11,203,11,109,11,109,11,109,11,109,11,72,11,166,10,36,14,203,11,156,11,240,11,240,11,57,11,246,10,240,11,144,12,231,11,165,11,219,12,219,12,165,11,238,12,175,11,107,20,150,19,236,9,10,13,198,13,57,13,125,12,22,12,48,13,165,11,140,10,87,10,127,10,233,10,30,11,113,10,217,19,54,20,7,18,76,17,156,9,81,11,231,11,135,12,97,12,127,10,180,10,72,11,30,11,233,10,30,11,140,10,50,12,72,11,147,11,109,11,109,11,109,11,109,11,147,11,147,11,147,11,147,11,109,11,109,11,147,11,147,11,147,11,106,16,135,12,165,11,31,12,194,11,72,11,72,11,109,11,156,11,57,11,100,11,203,11,156,11,194,11,125,12,57,11,176,14,176,14,172,12,31,12,165,11,72,11,109,11,72,11,156,11,118,11,233,10,233,10,30,11,72,11,72,11,100,10,14,15,174,15,135,12,50,12,172,12,118,11,231,11,147,11,147,11,13,12,30,11,233,10,233,10,233,10,233,10,20,10,5,15,240,15,29,13,188,13,22,12,180,10,194,11,118,11,50,12,13,12,30,11,30,11,87,10,87,10,30,11,246,10,27,20,30,19,153,12,5,15,113,13,97,12,81,11,85,13,123,13,140,10,20,10,113,10,180,10,30,11,246,10,193,10,13,16,205,14,219,12,88,12,109,11,72,11,72,11,109,11,233,10,180,10,233,10,180,10,233,10,30,11,72,11,246,10,217,19,190,19,231,11,217,13,172,12,240,11,13,12,128,11,31,12,81,11,180,10,180,10,180,10,30,11,233,10,60,10,213,16,213,16,44,11,223,9,135,12,48,13,48,13,3,12,3,12,48,13,240,11,30,11,87,10,20,10,166,10,193,10,240,11,100,11,246,10,72,11,180,10,127,10,81,11,31,12,78,12,78,12,144,12,97,12,240,11,194,11,147,11,30,11,23,17,42,15,109,11,72,11,30,11,72,11,30,11,30,11,72,11,72,11,72,11,30,11,72,11,109,11,72,11,30,11,165,11,100,11,100,11,165,11,165,11,240,11,50,12,144,12,78,12,240,11,194,11,156,11,156,11,156,11,109,11,180,10,133,16,53,16,238,12,19,13,109,11,147,11,72,11,165,11,165,11,30,11,233,10,180,10,30,11,30,11,30,11,233,10,240,15,174,15,31,12,194,11,109,11,109,11,109,11,72,11,109,11,109,11,30,11,30,11,30,11,233,10,72,11,220,10,7,18,223,17,97,12,113,13,135,12,165,11,81,11,222,11,50,12,180,10,127,10,127,10,127,10,180,10,233,10,140,10,53,16,173,16,205,14,73,14,166,10,220,10,72,11,72,11,194,11,156,11,109,11,30,11,127,10,127,10,233,10,72,11,119,16,226,13,193,10,30,11,30,11,72,11,72,11,72,11,109,11,109,11,72,11,109,11,109,11,109,11,147,11,72,11,54,20,57,19,213,8,104,13,205,14,151,13,19,13,30,11,238,12,151,13,78,12,81,11,156,9,183,9,193,10,109,11,123,13,101,14,50,12,125,12,29,13,231,11,135,12,135,12,165,11,144,12,13,12,109,11,109,11,127,10,236,9,130,9,165,11,194,11,233,10,233,10,180,10,233,10,30,11,156,11,240,11,31,12,78,12,78,12,78,12,31,12,194,11,194,11,128,11,57,11,127,10,166,10,220,10,194,11,104,13,217,13,29,13,172,12,240,11,194,11,147,11,109,11,72,11,30,11,203,11,128,11,81,11,194,11,194,11,156,11,203,11,31,12,240,11,240,11,194,11,72,11,30,11,109,11,109,11,72,11,80,15,127,15,194,11,125,12,29,13,144,12,219,12,219,12,151,13,120,14,113,13,166,10,133,8,156,9,20,10,47,10,100,0,3,0,40,0,3,0,3,0,3,0,5,0,14,0,14,0,10,0,11,0,3,0,8,0,9,0,7,0,3,0,91,1,0,32,254,31,246,31,234,31,216,31,194,31,168,31,136,31,98,31,58,31,10,31,216,30,160,30,98,30,34,30,220,29,144,29,66,29,238,28,150,28,58,28,216,27,114,27,10,27,156,26,42,26,180,25,58,25,188,24,60,24,182,23,46,23,160,22,16,22,126,21,232,20,78,20,176,19,16,19,110,18,200,17,30,17,116,16,198,15,22,15,100,14,174,13,248,12,64,12,132,11,200,10,10,10,74,9,138,8,198,7,2,7,62,6,120,5,178,4,234,3,34,3,90,2,146,1,202,0,0,0,54,255,110,254,166,253,222,252,22,252,78,251,136,250,194,249,254,248,58,248,118,247,182,246,246,245,56,245,124,244,192,243,8,243,82,242,156,241,234,240,58,240,140,239,226,238,56,238,146,237,240,236,80,236,178,235,24,235,130,234,240,233,96,233,210,232,74,232,196,231,68,231,198,230,76,230,214,229,100,229,246,228,142,228,40,228,198,227,106,227,18,227,190,226,112,226,36,226,222,225,158,225,96,225,40,225,246,224,198,224,158,224,120,224,88,224,62,224,40,224,22,224,10,224,2,224,0,224,79,112,117,115,83,99,114,105,112,116,72,97,110,100,108,101,114,0,95,101,110,99,111,100,101,0,95,100,101,99,111,100,101,0,49,55,79,112,117,115,83,99,114,105,112,116,72,97,110,100,108,101,114,0,80,49,55,79,112,117,115,83,99,114,105,112,116,72,97,110,100,108,101,114,0,80,75,49,55,79,112,117,115,83,99,114,105,112,116,72,97,110,100,108,101,114,0,105,105,0,118,0,118,105,0,105,105,105,105,105,0,105,105,105,105,105,105,105,0,105,105,105,105,105,105,0,0,255,0,255,0,255,0,255,0,255,0,254,1,0,1,255,0,254,0,253,2,0,1,255,0,254,0,253,3,0,1,255,117,110,107,110,111,119,110,32,101,114,114,111,114,0,115,117,99,99,101,115,115,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,98,117,102,102,101,114,32,116,111,111,32,115,109,97,108,108,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,0,99,111,114,114,117,112,116,101,100,32,115,116,114,101,97,109,0,114,101,113,117,101,115,116,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,105,110,118,97,108,105,100,32,115,116,97,116,101,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,0,255,255,156,110,86,70,59,51,45,40,37,33,31,28,26,25,23,22,21,20,19,18,17,16,16,15,15,14,13,13,12,12,12,12,11,11,11,10,10,10,9,9,9,9,9,9,8,8,8,8,8,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,25,23,2,0,126,124,119,109,87,41,19,9,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,80,75,69,63,56,49,40,34,29,20,18,10,0,0,0,0,0,0,0,0,110,100,90,84,78,71,65,58,51,45,39,32,26,20,12,0,0,0,0,0,0,118,110,103,93,86,80,75,70,65,59,53,47,40,31,23,15,4,0,0,0,0,126,119,112,104,95,89,83,78,72,66,60,54,47,39,32,25,17,12,1,0,0,134,127,120,114,103,97,91,85,78,72,66,60,54,47,41,35,29,23,16,10,1,144,137,130,124,113,107,101,95,88,82,76,70,64,57,51,45,39,33,26,15,1,152,145,138,132,123,117,111,105,98,92,86,80,74,67,61,55,49,43,36,20,1,162,155,148,142,133,127,121,115,108,102,96,90,84,77,71,65,59,53,46,30,1,172,165,158,152,143,137,131,125,118,112,106,100,94,87,81,75,69,63,56,45,20,200,200,200,200,200,200,200,200,198,193,188,183,178,173,168,163,158,153,148,129,104,40,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,40,15,23,28,31,34,36,38,39,41,42,43,44,45,46,47,47,49,50,51,52,53,54,55,55,57,58,59,60,61,62,63,63,65,66,67,68,69,70,71,71,40,20,33,41,48,53,57,61,64,66,69,71,73,75,76,78,80,82,85,87,89,91,92,94,96,98,101,103,105,107,108,110,112,114,117,119,121,123,124,126,128,40,23,39,51,60,67,73,79,83,87,91,94,97,100,102,105,107,111,115,118,121,124,126,129,131,135,139,142,145,148,150,153,155,159,163,166,169,172,174,177,179,35,28,49,65,78,89,99,107,114,120,126,132,136,141,145,149,153,159,165,171,176,180,185,189,192,199,205,211,216,220,225,229,232,239,245,251,21,33,58,79,97,112,125,137,148,157,166,174,182,189,195,201,207,217,227,235,243,251,17,35,63,86,106,123,139,152,165,177,187,197,206,214,222,230,237,250,25,31,55,75,91,105,117,128,138,146,154,161,168,174,180,185,190,200,208,215,222,229,235,240,245,255,16,36,65,89,110,128,144,159,173,185,196,207,217,226,234,242,250,11,41,74,103,128,151,172,191,209,225,241,255,9,43,79,110,138,163,186,207,227,246,12,39,71,99,123,144,164,182,198,214,228,241,253,9,44,81,113,142,168,192,214,235,255,7,49,90,127,160,191,220,247,6,51,95,134,170,203,234,7,47,87,123,155,184,212,237,6,52,97,137,174,208,240,5,57,106,151,192,231,5,59,111,158,202,243,5,55,103,147,187,224,5,60,113,161,206,248,4,65,122,175,224,4,67,127,182,234,224,224,224,224,224,224,224,224,160,160,160,160,185,185,185,178,178,168,134,61,37,224,224,224,224,224,224,224,224,240,240,240,240,207,207,207,198,198,183,144,66,40,160,160,160,160,160,160,160,160,185,185,185,185,193,193,193,183,183,172,138,64,38,240,240,240,240,240,240,240,240,207,207,207,207,204,204,204,193,193,180,143,66,40,185,185,185,185,185,185,185,185,193,193,193,193,193,193,193,183,183,172,138,65,39,207,207,207,207,207,207,207,207,204,204,204,204,201,201,201,188,188,176,141,66,40,193,193,193,193,193,193,193,193,193,193,193,193,194,194,194,184,184,173,139,65,39,204,204,204,204,204,204,204,204,201,201,201,201,198,198,198,187,187,175,140,66,40,72,127,65,129,66,128,65,128,64,128,62,128,64,128,64,128,92,78,92,79,92,78,90,79,116,41,115,40,114,40,132,26,132,26,145,17,161,12,176,10,177,11,24,179,48,138,54,135,54,132,53,134,56,133,55,132,55,132,61,114,70,96,74,88,75,88,87,74,89,66,91,67,100,59,108,50,120,40,122,37,97,43,78,50,83,78,84,81,88,75,86,74,87,71,90,73,93,74,93,74,109,40,114,36,117,34,117,34,143,17,145,18,146,19,162,12,165,10,178,7,189,6,190,8,177,9,23,178,54,115,63,102,66,98,69,99,74,89,71,91,73,91,78,89,86,80,92,66,93,64,102,59,103,60,104,60,117,52,123,44,138,35,133,31,97,38,77,45,61,90,93,60,105,42,107,41,110,45,116,38,113,38,112,38,124,26,132,27,136,19,140,20,155,14,159,16,158,18,170,13,177,10,187,8,192,6,175,9,159,10,21,178,59,110,71,86,75,85,84,83,91,66,88,73,87,72,92,75,98,72,105,58,107,54,115,52,114,55,112,56,129,51,132,40,150,33,140,29,98,35,77,42,42,121,96,66,108,43,111,40,117,44,123,32,120,36,119,33,127,33,134,34,139,21,147,23,152,20,158,25,154,26,166,21,173,16,184,13,184,10,150,13,139,15,22,178,63,114,74,82,84,83,92,82,103,62,96,72,96,67,101,73,107,72,113,55,118,52,125,52,118,52,117,55,135,49,137,39,157,32,145,29,97,33,77,40,2,1,0,0,8,13,16,19,21,23,24,26,27,28,29,30,31,32,32,33,34,34,35,36,36,37,37,224,112,44,15,3,2,1,0,254,237,192,132,70,23,4,0,255,252,226,155,61,11,2,0,250,245,234,203,71,50,42,38,35,33,31,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,179,99,0,71,56,43,30,21,12,6,0,199,165,144,124,109,96,84,71,61,51,42,32,23,15,8,0,241,225,211,199,187,175,164,153,142,132,123,114,105,96,88,80,72,64,57,50,44,38,33,29,24,20,16,12,9,5,2,0,15,131,138,138,155,155,173,173,69,93,115,118,131,138,141,138,150,150,155,150,155,160,166,160,131,128,134,141,141,141,145,145,145,150,155,155,155,155,160,160,160,160,166,166,173,173,182,192,182,192,192,192,205,192,205,224,4,6,24,7,5,0,0,2,0,0,12,28,41,13,252,247,15,42,25,14,1,254,62,41,247,246,37,65,252,3,250,4,66,7,248,16,14,38,253,33,13,22,39,23,12,255,36,64,27,250,249,10,55,43,17,1,1,8,1,1,6,245,74,53,247,244,55,76,244,8,253,3,93,27,252,26,39,59,3,248,2,0,77,11,9,248,22,44,250,7,40,9,26,3,9,249,20,101,249,4,3,248,42,26,0,241,33,68,2,23,254,55,46,254,15,3,255,21,16,41,250,27,61,39,5,245,42,88,4,1,254,60,65,6,252,255,251,73,56,1,247,19,94,29,247,0,12,99,6,4,8,237,102,46,243,3,2,13,3,2,9,235,84,72,238,245,46,104,234,8,18,38,48,23,0,240,70,83,235,11,5,245,117,22,248,250,23,117,244,3,3,248,95,28,4,246,15,77,60,241,255,4,124,2,252,3,38,84,24,231,2,13,42,13,31,21,252,56,46,255,255,35,79,243,19,249,65,88,247,242,20,4,81,49,227,20,0,75,3,239,5,247,44,92,248,1,253,22,69,31,250,95,41,244,5,39,67,16,252,1,0,250,120,55,220,243,44,122,4,232,81,5,11,3,7,2,0,9,10,88,46,2,90,87,93,91,82,98,109,120,118,12,113,115,117,119,99,59,87,111,63,111,112,80,126,124,125,124,129,121,126,23,132,127,127,127,126,127,122,133,130,134,101,118,119,145,126,86,124,120,123,119,170,173,107,109,8,16,32,249,247,246,245,244,234,210,202,201,200,197,174,82,59,56,55,54,46,22,12,11,10,9,7,0,64,0,203,150,0,215,195,166,125,110,82,0,120,0,128,64,0,232,158,10,0,230,0,243,221,192,181,0,171,85,0,192,128,64,0,205,154,102,51,0,213,171,128,85,43,0,224,192,160,128,96,64,32,0,100,40,16,7,3,1,0,253,250,244,233,212,182,150,131,120,110,98,85,72,60,49,40,32,25,19,15,13,11,9,8,7,6,5,4,3,2,1,0,210,208,206,203,199,193,183,168,142,104,74,52,37,27,20,14,10,6,4,2,0,223,201,183,167,152,138,124,111,98,88,79,70,62,56,50,44,39,35,31,27,24,21,18,16,14,12,10,8,6,4,3,2,1,0,188,176,155,138,119,97,67,43,26,10,0,165,119,80,61,47,35,27,20,14,9,4,0,113,63,0,125,51,26,18,15,12,11,10,9,8,7,6,5,4,3,2,1,0,198,105,45,22,15,12,11,10,9,8,7,6,5,4,3,2,1,0,213,162,116,83,59,43,32,24,18,15,12,9,7,6,5,3,2,0,239,187,116,59,28,16,11,10,9,8,7,6,5,4,3,2,1,0,250,229,188,135,86,51,30,19,13,10,8,6,5,4,3,2,1,0,249,235,213,185,156,128,103,83,66,53,42,33,26,21,17,13,10,0,254,249,235,206,164,118,77,46,27,16,10,7,5,4,3,2,1,0,255,253,249,239,220,191,156,119,85,57,37,23,15,10,6,4,2,0,255,253,251,246,237,223,203,179,152,124,98,75,55,40,29,21,15,0,255,254,253,247,220,162,106,67,42,28,18,12,9,6,4,3,2,0,31,57,107,160,205,205,255,255,255,255,255,255,255,255,255,255,255,255,69,47,67,111,166,205,255,255,255,255,255,255,255,255,255,255,255,255,82,74,79,95,109,128,145,160,173,205,205,205,224,255,255,224,255,224,125,74,59,69,97,141,182,255,255,255,255,255,255,255,255,255,255,255,173,115,85,73,76,92,115,145,173,205,224,224,255,255,255,255,255,255,166,134,113,102,101,102,107,118,125,138,145,155,166,182,192,192,205,150,224,182,134,101,83,79,85,97,120,145,173,205,224,255,255,255,255,255,255,224,192,150,120,101,92,89,93,102,118,134,160,182,192,224,224,224,255,224,224,182,155,134,118,109,104,102,106,111,118,131,145,160,173,131,241,190,178,132,87,74,41,14,0,223,193,157,140,106,57,39,18,0,131,74,141,79,80,138,95,104,134,95,99,91,125,93,76,123,115,123,128,0,214,42,0,235,128,21,0,244,184,72,11,0,248,214,128,42,7,0,248,225,170,80,25,5,0,251,236,198,126,54,18,3,0,250,238,211,159,82,35,15,5,0,250,231,203,168,128,88,53,25,6,0,252,238,216,185,148,108,71,40,18,4,0,253,243,225,199,166,128,90,57,31,13,3,0,254,246,233,212,183,147,109,73,44,23,10,2,0,255,250,240,223,198,166,128,90,58,33,16,6,1,0,255,251,244,231,210,181,146,110,75,46,25,12,5,1,0,255,253,248,238,221,196,164,128,92,60,35,18,8,3,1,0,255,253,249,242,229,208,180,146,110,76,48,27,14,7,3,1,0,129,0,207,50,0,236,129,20,0,245,185,72,10,0,249,213,129,42,6,0,250,226,169,87,27,4,0,251,233,194,130,62,20,4,0,250,236,207,160,99,47,17,3,0,255,240,217,182,131,81,41,11,1,0,255,254,233,201,159,107,61,20,2,1,0,255,249,233,206,170,128,86,50,23,7,1,0,255,250,238,217,186,148,108,70,39,18,6,1,0,255,252,243,226,200,166,128,90,56,30,13,4,1,0,255,252,245,231],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([209,180,146,110,76,47,25,11,4,1,0,255,253,248,237,219,194,163,128,93,62,37,19,8,3,1,0,255,254,250,241,226,205,177,145,111,79,51,30,15,6,2,1,0,129,0,203,54,0,234,129,23,0,245,184,73,10,0,250,215,129,41,5,0,252,232,173,86,24,3,0,253,240,200,129,56,15,2,0,253,244,217,164,94,38,10,1,0,253,245,226,189,132,71,27,7,1,0,253,246,231,203,159,105,56,23,6,1,0,255,248,235,213,179,133,85,47,19,5,1,0,255,254,243,221,194,159,117,70,37,12,2,1,0,255,254,248,234,208,171,128,85,48,22,8,2,1,0,255,254,250,240,220,189,149,107,67,36,16,6,2,1,0,255,254,251,243,227,201,166,128,90,55,29,13,5,2,1,0,255,254,252,246,234,213,183,147,109,73,43,22,10,4,2,1,0,130,0,200,58,0,231,130,26,0,244,184,76,12,0,249,214,130,43,6,0,252,232,173,87,24,3,0,253,241,203,131,56,14,2,0,254,246,221,167,94,35,8,1,0,254,249,232,193,130,65,23,5,1,0,255,251,239,211,162,99,45,15,4,1,0,255,251,243,223,186,131,74,33,11,3,1,0,255,252,245,230,202,158,105,57,24,8,2,1,0,255,253,247,235,214,179,132,84,44,19,7,2,1,0,255,254,250,240,223,196,159,112,69,36,15,6,2,1,0,255,254,253,245,231,209,176,136,93,55,27,11,3,2,1,0,255,254,253,252,239,221,194,158,117,76,42,18,4,3,2,1,0,0,0,2,5,9,14,20,27,35,44,54,65,77,90,104,119,135,254,49,67,77,82,93,99,198,11,18,24,31,36,45,255,46,66,78,87,94,104,208,14,21,32,42,51,66,255,94,104,109,112,115,118,248,53,69,80,88,95,102,6,0,3,0,7,3,0,1,10,0,2,6,18,10,12,4,0,2,0,0,0,9,4,7,4,0,3,12,7,7,0,1,1,1,2,3,3,3,2,3,3,3,2,3,3,3,0,3,12,15,48,51,60,63,192,195,204,207,240,243,252,255,12,35,60,83,108,132,157,180,206,228,15,32,55,77,101,125,151,175,201,225,19,42,66,89,114,137,162,184,209,230,12,25,50,72,97,120,147,172,200,223,26,44,69,90,114,135,159,180,205,225,13,22,53,80,106,130,156,180,205,228,15,25,44,64,90,115,142,168,196,222,19,24,62,82,100,120,145,168,190,214,22,31,50,79,103,120,151,170,203,227,21,29,45,65,106,124,150,171,196,224,30,49,75,97,121,142,165,186,209,229,19,25,52,70,93,116,143,166,192,219,26,34,62,75,97,118,145,167,194,217,25,33,56,70,91,113,143,165,196,223,21,34,51,72,97,117,145,171,196,222,20,29,50,67,90,117,144,168,197,221,22,31,48,66,95,117,146,168,196,222,24,33,51,77,116,134,158,180,200,224,21,28,70,87,106,124,149,170,194,217,26,33,53,64,83,117,152,173,204,225,27,34,65,95,108,129,155,174,210,225,20,26,72,99,113,131,154,176,200,219,34,43,61,78,93,114,155,177,205,229,23,29,54,97,124,138,163,179,209,229,30,38,56,89,118,129,158,178,200,231,21,29,49,63,85,111,142,163,193,222,27,48,77,103,133,158,179,196,215,232,29,47,74,99,124,151,176,198,220,237,33,42,61,76,93,121,155,174,207,225,29,53,87,112,136,154,170,188,208,227,24,30,52,84,131,150,166,186,203,229,37,48,64,84,104,118,156,177,201,230,212,178,148,129,108,96,85,82,79,77,61,59,57,56,51,49,48,45,42,41,40,38,36,34,31,30,21,12,10,3,1,0,255,245,244,236,233,225,217,203,190,176,175,161,149,136,125,114,102,91,81,71,60,52,43,35,28,20,19,18,12,11,5,0,179,138,140,148,151,149,153,151,163,116,67,82,59,92,72,100,89,92,16,0,0,0,0,99,66,36,36,34,36,34,34,34,34,83,69,36,52,34,116,102,70,68,68,176,102,68,68,34,65,85,68,84,36,116,141,152,139,170,132,187,184,216,137,132,249,168,185,139,104,102,100,68,68,178,218,185,185,170,244,216,187,187,170,244,187,187,219,138,103,155,184,185,137,116,183,155,152,136,132,217,184,184,170,164,217,171,155,139,244,169,184,185,170,164,216,223,218,138,214,143,188,218,168,244,141,136,155,170,168,138,220,219,139,164,219,202,216,137,168,186,246,185,139,116,185,219,185,138,100,100,134,100,102,34,68,68,100,68,168,203,221,218,168,167,154,136,104,70,164,246,171,137,139,137,155,218,219,139,255,254,253,238,14,3,2,1,0,255,254,252,218,35,3,2,1,0,255,254,250,208,59,4,2,1,0,255,254,246,194,71,10,2,1,0,255,252,236,183,82,8,2,1,0,255,252,235,180,90,17,2,1,0,255,248,224,171,97,30,4,1,0,255,254,236,173,95,37,7,1,0,255,255,255,131,6,145,255,255,255,255,255,236,93,15,96,255,255,255,255,255,194,83,25,71,221,255,255,255,255,162,73,34,66,162,255,255,255,210,126,73,43,57,173,255,255,255,201,125,71,48,58,130,255,255,255,166,110,73,57,62,104,210,255,255,251,123,65,55,68,100,171,255,7,23,38,54,69,85,100,116,131,147,162,178,193,208,223,239,13,25,41,55,69,83,98,112,127,142,157,171,187,203,220,236,15,21,34,51,61,78,92,106,126,136,152,167,185,205,225,240,10,21,36,50,63,79,95,110,126,141,157,173,189,205,221,237,17,20,37,51,59,78,89,107,123,134,150,164,184,205,224,240,10,15,32,51,67,81,96,112,129,142,158,173,189,204,220,236,8,21,37,51,65,79,98,113,126,138,155,168,179,192,209,218,12,15,34,55,63,78,87,108,118,131,148,167,185,203,219,236,16,19,32,36,56,79,91,108,118,136,154,171,186,204,220,237,11,28,43,58,74,89,105,120,135,150,165,180,196,211,226,241,6,16,33,46,60,75,92,107,123,137,156,169,185,199,214,225,11,19,30,44,57,74,89,105,121,135,152,169,186,202,218,234,12,19,29,46,57,71,88,100,120,132,148,165,182,199,216,233,17,23,35,46,56,77,92,106,123,134,152,167,185,204,222,237,14,17,45,53,63,75,89,107,115,132,151,171,188,206,221,240,9,16,29,40,56,71,88,103,119,137,154,171,189,205,222,237,16,19,36,48,57,76,87,105,118,132,150,167,185,202,218,236,12,17,29,54,71,81,94,104,126,136,149,164,182,201,221,237,15,28,47,62,79,97,115,129,142,155,168,180,194,208,223,238,8,14,30,45,62,78,94,111,127,143,159,175,192,207,223,239,17,30,49,62,79,92,107,119,132,145,160,174,190,204,220,235,14,19,36,45,61,76,91,108,121,138,154,172,189,205,222,238,12,18,31,45,60,76,91,107,123,138,154,171,187,204,221,236,13,17,31,43,53,70,83,103,114,131,149,167,185,203,220,237,17,22,35,42,58,78,93,110,125,139,155,170,188,206,224,240,8,15,34,50,67,83,99,115,131,146,162,178,193,209,224,239,13,16,41,66,73,86,95,111,128,137,150,163,183,206,225,241,17,25,37,52,63,75,92,102,119,132,144,160,175,191,212,231,19,31,49,65,83,100,117,133,147,161,174,187,200,213,227,242,18,31,52,68,88,103,117,126,138,149,163,177,192,207,223,239,16,29,47,61,76,90,106,119,133,147,161,176,193,209,224,240,15,21,35,50,61,73,86,97,110,119,129,141,175,198,218,237,225,204,201,184,183,175,158,154,153,135,119,115,113,110,109,99,98,95,79,68,52,50,48,45,43,32,31,27,18,10,3,0,255,251,235,230,212,201,196,182,167,166,163,151,138,124,110,104,90,78,76,70,69,57,45,34,24,21,11,6,5,4,3,0,175,148,160,176,178,173,174,164,177,174,196,182,198,192,182,68,62,66,60,72,117,85,90,118,136,151,142,160,142,155,0,0,0,0,0,0,0,1,100,102,102,68,68,36,34,96,164,107,158,185,180,185,139,102,64,66,36,34,34,0,1,32,208,139,141,191,152,185,155,104,96,171,104,166,102,102,102,132,1,0,0,0,0,16,16,0,80,109,78,107,185,139,103,101,208,212,141,139,173,153,123,103,36,0,0,0,0,0,0,1,48,0,0,0,0,0,0,32,68,135,123,119,119,103,69,98,68,103,120,118,118,102,71,98,134,136,157,184,182,153,139,134,208,168,248,75,189,143,121,107,32,49,34,34,34,0,17,2,210,235,139,123,185,137,105,134,98,135,104,182,100,183,171,134,100,70,68,70,66,66,34,131,64,166,102,68,36,2,1,0,134,166,102,68,34,34,66,132,212,246,158,139,107,107,87,102,100,219,125,122,137,118,103,132,114,135,137,105,171,106,50,34,164,214,141,143,185,151,121,103,192,34,0,0,0,0,0,1,208,109,74,187,134,249,159,137,102,110,154,118,87,101,119,101,0,2,0,36,36,66,68,35,96,164,102,100,36,0,2,33,167,138,174,102,100,84,2,2,100,107,120,119,36,197,24,0,255,254,253,244,12,3,2,1,0,255,254,252,224,38,3,2,1,0,255,254,251,209,57,4,2,1,0,255,254,244,195,69,4,2,1,0,255,251,232,184,84,7,2,1,0,255,254,240,186,86,14,2,1,0,255,254,239,178,91,30,5,1,0,255,248,227,177,100,19,2,1,0,255,255,255,156,4,154,255,255,255,255,255,227,102,15,92,255,255,255,255,255,213,83,24,72,236,255,255,255,255,150,76,33,63,214,255,255,255,190,121,77,43,55,185,255,255,255,245,137,71,43,59,139,255,255,255,255,131,66,50,66,107,194,255,255,166,116,76,55,53,125,255,255,0,15,8,7,4,11,12,3,2,13,10,5,6,9,14,1,0,9,6,3,4,5,8,1,2,7,0,1,0,0,0,1,0,0,1,255,1,255,2,254,2,254,3,253,0,1,0,1,255,2,255,2,254,3,254,3,253,7,254,7,0,2,255,255,255,0,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,255,2,1,0,1,1,0,0,255,255,0,0,1,255,0,1,255,0,255,1,254,2,254,254,2,253,2,3,253,252,3,252,4,4,251,5,250,251,6,249,6,5,8,247,0,0,1,0,0,0,0,0,0,0,255,1,0,0,1,255,0,1,255,255,1,255,2,1,255,2,254,254,2,254,2,2,3,253,0,1,0,0,0,0,0,0,1,0,1,0,0,1,255,1,0,0,2,1,255,2,255,255,2,255,2,2,255,3,254,254,254,3,0,1,0,0,1,0,1,255,2,255,2,255,2,3,254,3,254,254,4,4,253,5,253,252,6,252,6,5,251,8,250,251,249,9,251,8,255,6,255,6,252,10,250,10,254,6,255,6,251,10,247,12,253,7,254,7,249,13,16,24,34,118,111,105,100,0,98,111,111,108,0,99,104,97,114,0,115,105,103,110,101,100,32,99,104,97,114,0,117,110,115,105,103,110,101,100,32,99,104,97,114,0,115,104,111,114,116,0,117,110,115,105,103,110,101,100,32,115,104,111,114,116,0,105,110,116,0,117,110,115,105,103,110,101,100,32,105,110,116,0,108,111,110,103,0,117,110,115,105,103,110,101,100,32,108,111,110,103,0,102,108,111,97,116,0,100,111,117,98,108,101,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,50,49,95,95,98,97,115,105,99,95,115,116,114,105,110,103,95,99,111,109,109,111,110,73,76,98,49,69,69,69,0,115,116,100,58,58,115,116,114,105,110,103,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,104,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,104,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,104,69,69,69,69,0,115,116,100,58,58,98,97,115,105,99,95,115,116,114,105,110,103,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,119,69,69,69,69,0,115,116,100,58,58,119,115,116,114,105,110,103,0,78,49,48,101,109,115,99,114,105,112,116,101,110,51,118,97,108,69,0,101,109,115,99,114,105,112,116,101,110,58,58,118,97,108,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,99,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,99,104,97,114,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,97,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,105,103,110,101,100,32,99,104,97,114,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,104,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,115,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,104,111,114,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,116,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,115,104,111,114,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,105,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,106,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,105,110,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,108,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,109,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,108,111,110,103,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,51,50,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,51,50,95,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,102,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,102,108,111,97,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,100,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,100,111,117,98,108,101,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,101,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,32,100,111,117,98,108,101,62,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,57,98,97,100,95,97,108,108,111,99,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,51,95,95,102,117,110,100,97,109,101,110,116,97,108,95,116,121,112,101,95,105,110,102,111,69,0,118,0,68,110,0,98,0,99,0,104,0,97,0,115,0,116,0,105,0,106,0,108,0,109,0,102,0,100,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30720);var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>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){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/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 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return(new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n"))(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,(function(message){this.name=errorName;this.message=message;var stack=(new Error(message)).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}}));errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=(function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}});return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach((function(type){typeDependencies[type]=dependentTypes}));function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(wt){return!!wt}),"toWireType":(function(destructors,o){return o?trueValue:falseValue}),"argPackAdvance":8,"readValueFromPointer":(function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])}),destructorFunction:null})}function _abort(){Module["abort"]()}function _free(){}Module["_free"]=_free;function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function __embind_register_std_string(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){var length=HEAPU32[value>>2];var a=new Array(length);for(var i=0;i>2]=length;for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}if(destructors!==null){destructors.push(_free,ptr)}return ptr}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:(function(ptr){_free(ptr)})})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=(function(){return HEAPU16});shift=1}else if(charSize===4){getHeap=(function(){return HEAPU32});shift=2}registerType(rawType,{name:name,"fromWireType":(function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=(function(value){return value});if(minRange===0){var bitshift=32-8*size;fromWireType=(function(value){return value<>>bitshift})}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return value|0}),"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return(function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])});case 3:return(function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])});default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){return value}),"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value}),"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}var _llvm_pow_f64=Math_pow;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);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){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(Runtime.stackSave());return self.LLVM_SAVEDSTACKS.length-1}Module["_memmove"]=_memmove;function ___gxx_personality_v0(){}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i>2)+i])}return array}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],(function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=function unboundTypeHandler(){throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,(function(argTypes){classType.registeredClass.constructor_body[argCount-1]=function constructor_body(){if(arguments.length!==argCount-1){throwBindingError(humanName+" called with "+arguments.length+" arguments, expected "+(argCount-1))}var destructors=[];var args=new Array(argCount);args[0]=rawConstructor;for(var i=1;i>2]=ret}return ret}function _pthread_self(){return 0}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",(function(){}));dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var argsList="";var argsListWired="";for(var i=0;i0?", ":"")+argsListWired}var returns=argTypes[0].name!=="void";invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2]|0;Xa=c[e+8>>2]|0;c[Ya>>2]=15;g[K>>2]=0.0;c[Ra>>2]=0;c[ba>>2]=0;Pa=c[e>>2]|0;Ua=Pa+8|0;db=c[Ua>>2]|0;I=c[Pa+4>>2]|0;Ia=Pa+32|0;wa=c[Ia>>2]|0;bb=c[e+32>>2]|0;cb=c[e+36>>2]|0;Da=(bb|0)!=0;g[Ga>>2]=0.0;if((l|0)<2|(f|0)==0){e=-1;i=eb;return e|0}U=e+28|0;n=_(c[U>>2]|0,h)|0;oa=Pa+44|0;Ba=Pa+36|0;h=c[Ba>>2]|0;xa=0;while(1){if((xa|0)>(h|0)){h=-1;za=631;break}if((c[oa>>2]<>2]<>2]|0;Ta=c[m+28>>2]|0;E=aa(Ta|0)|0;Sa=32-E|0;Ta=Ta>>>(Sa+-16|0);Ca=(Ta>>>12)+-8|0;E=Ma+(E+-32)|0;H=E+4>>3;Ca=(Ma<<3)-((Sa<<3)+(Ca+(Ta>>>0>(c[5272+(Ca<<2)>>2]|0)>>>0&1)))|0}l=(l|0)<1275?l:1275;q=l-H|0;ua=e+44|0;h=c[e+40>>2]|0;if(!(c[ua>>2]|0))if((h|0)==-1)za=13;else{Ta=_(h,n)|0;za=c[Pa>>2]|0;za=((Ta+((E|0)>1?E:0)+(za<<2)|0)/(za<<3|0)|0)-((c[e+48>>2]|0)!=0&1)|0;Ta=(l|0)<(za|0);l=((Ta?l:za)|0)<2?2:Ta?l:za;za=13}else if((h|0)==-1){h=-1;za=13}else{Ka=c[Pa>>2]|0;Ka=((_(h,n)|0)+(Ka>>4)|0)/(Ka>>3|0)|0;o=l;G=Ka>>6}if((za|0)==13){o=l;G=l-H|0;Ka=0}l=_((Xa*40|0)+20|0,(400>>>xa)+-50|0)|0;n=(o*400>>3-xa)-l|0;if((h|0)==-1)La=n;else{La=h-l|0;La=(n|0)<(La|0)?n:La}if(p){c[r>>2]=j;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=33;c[r+24>>2]=0;c[r+28>>2]=-2147483648;c[r+40>>2]=-1;c[r+32>>2]=0;c[r+36>>2]=0;c[r+4>>2]=o;c[r+44>>2]=0;Ta=r}else Ta=m;Aa=(Ka|0)>0;if(((Aa?(c[e+52>>2]|0)!=0:0)?(t=(E|0)==1?2:0,u=(Ka<<1)-(c[e+176>>2]|0)>>6,x=(t|0)>(u|0),((x?t:u)|0)<(q|0)):0)?(y=x?t:u,(y|0)<(q|0)):0){o=H+y|0;Ja=c[Ta>>2]|0;Sa=c[Ta+8>>2]|0;Ma=0-Sa|0;n=Ta+4|0;sf(Ja+o+Ma|0,Ja+(c[n>>2]|0)+Ma|0,Sa|0)|0;c[n>>2]=o;n=y}else n=q;F=o<<3;na=c[Pa+12>>2]|0;na=(cb|0)>(na|0)?na:cb;P=Oa+I|0;r=_(ab,P)|0;Sa=Fa()|0;T=i;i=i+((1*(r<<2)|0)+15&-16)|0;r=e+192|0;s=+g[r>>2];l=_(Xa,Oa-I|0)|0;q=c[U>>2]|0;l=(l|0)/(q|0)|0;h=0;v=0.0;w=0.0;while(1){if((h|0)>=(l|0))break;Ha=+g[f+(h<<2)>>2];h=h+1|0;v=v>Ha?v:Ha;w=w(v>Ha?v:Ha))){h=0;v=0.0;s=0.0;while(1){if((h|0)>=(l|0))break;Ha=+g[f+(h<<2)>>2];h=h+1|0;v=v>Ha?v:Ha;s=ss)s=v}p=f+(l<<2)|0;h=(_(Xa,I)|0)/(q|0)|0;l=0;v=0.0;w=0.0;while(1){if((l|0)>=(h|0))break;Ha=+g[p+(l<<2)>>2];l=l+1|0;v=v>Ha?v:Ha;w=wHa?v:Ha;g[r>>2]=Ha;s=s>Ha?s:Ha;pa=e+60|0;z=s<=1.0/+(1<>2]|0);D=z&1;if((E|0)==1){B=Ta+28|0;l=c[B>>2]|0;h=l>>>15;l=l-h|0;y=Ta+32|0;if(z)c[y>>2]=(c[y>>2]|0)+l;else h=l;c[B>>2]=h;r=Ta+36|0;C=Ta+20|0;j=Ta+40|0;m=Ta+24|0;t=Ta+8|0;u=Ta+4|0;x=Ta+44|0;while(1){if(h>>>0>=8388609)break;l=c[y>>2]|0;q=l>>>23;if((q|0)==255)c[r>>2]=(c[r>>2]|0)+1;else{p=l>>>31;h=c[j>>2]|0;if((h|0)>-1){l=c[m>>2]|0;if((l+(c[t>>2]|0)|0)>>>0<(c[u>>2]|0)>>>0){c[m>>2]=l+1;a[(c[Ta>>2]|0)+l>>0]=h+p;h=0}else h=-1;c[x>>2]=c[x>>2]|h}h=c[r>>2]|0;if(h|0){p=p+255&255;do{l=c[m>>2]|0;if((l+(c[t>>2]|0)|0)>>>0<(c[u>>2]|0)>>>0){c[m>>2]=l+1;a[(c[Ta>>2]|0)+l>>0]=p;l=0;h=c[r>>2]|0}else l=-1;c[x>>2]=c[x>>2]|l;h=h+-1|0;c[r>>2]=h}while((h|0)!=0)}c[j>>2]=q&255;l=c[y>>2]|0;h=c[B>>2]|0}c[y>>2]=l<<8&2147483392;h=h<<8;c[B>>2]=h;c[C>>2]=(c[C>>2]|0)+8}if(z){if(Aa){p=H+2|0;p=(o|0)<(p|0)?o:p;l=c[Ta>>2]|0;o=c[t>>2]|0;h=0-o|0;sf(l+p+h|0,l+(c[u>>2]|0)+h|0,o|0)|0;c[u>>2]=p;o=p;h=c[B>>2]|0;l=p;n=2;p=p<<3}else{l=G;p=F}E=o<<3;Ma=c[C>>2]|0;c[C>>2]=Ma+(E-(Ma+((aa(h|0)|0)+-32)));Ma=D}else{l=G;Ma=0;E=1;p=F}}else{l=G;Ma=0;p=F}z=e+16|0;B=Pa+16|0;C=Pa+20|0;D=Oa<<2;u=s>65536.0;y=0;do{r=u&(c[z>>2]|0)!=0;m=f+(y<<2)|0;t=T+((_(y,P)|0)<<2)+(I<<2)|0;j=c[U>>2]|0;x=e+160+(y<<2)|0;v=+g[B>>2];s=+g[x>>2];a:do if(+g[C>>2]==0.0){if((j|0)!=1){h=(Oa|0)/(j|0)|0;za=64;break}if(r){h=Oa;za=65}else{h=0;while(1){if((h|0)>=(Oa|0))break a;Ha=+g[m+((_(h,ab)|0)<<2)>>2]*32768.0;g[t+(h<<2)>>2]=Ha-s;h=h+1|0;s=v*Ha}}}else{h=(Oa|0)/(j|0)|0;if((j|0)==1)za=65;else za=64}while(0);if((za|0)==64){nf(t|0,0,D|0)|0;za=65}b:do if((za|0)==65){za=0;q=0;while(1){if((q|0)>=(h|0))break;g[t+((_(q,j)|0)<<2)>>2]=+g[m+((_(q,ab)|0)<<2)>>2]*32768.0;q=q+1|0}c:do if(r){q=0;while(1){if((q|0)>=(h|0)){h=0;break c}Ja=t+((_(q,j)|0)<<2)|0;Ha=+g[Ja>>2];va=Ha>65536.0;ya=Ha<-65536.0&(va^1);g[Ja>>2]=ya|va?(ya?-65536.0:65536.0):Ha;q=q+1|0}}else h=0;while(0);while(1){if((h|0)>=(Oa|0))break b;Ja=t+(h<<2)|0;Ha=+g[Ja>>2];g[Ja>>2]=Ha-s;h=h+1|0;s=v*Ha}}while(0);g[x>>2]=s;y=y+1|0}while((y|0)<(ab|0));ya=e+68|0;if((((c[ya>>2]|0)!=0&(n|0)>3|(n|0)>(Xa*12|0))&(Da^1)&(Ma|0)==0?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)>4:0){if((c[e+116>>2]|0)==0|(xa|0)==3)h=0;else h=(c[e+64>>2]|0)==5010;h=h^1}else h=0;la=e+100|0;Ja=c[la>>2]|0;h=Sc(e,T,J,ab,Oa,Ja,Ya,K,L,h&1,n)|0;Ha=+g[K>>2];if(!(Ha>.4000000059604645)?!(+g[e+108>>2]>.4000000059604645):0)va=0;else za=82;do if((za|0)==82){if(c[e+120>>2]|0?!(+g[e+124>>2]>.3):0){va=0;break}ga=+(c[Ya>>2]|0);ja=+(c[e+104>>2]|0);va=(ga>ja*1.26|ga(p|0))){m=Ta+28|0;h=c[m>>2]|0;h=h-(h>>>1)|0;c[m>>2]=h;t=Ta+32|0;u=Ta+36|0;x=Ta+20|0;y=Ta+40|0;z=Ta+24|0;B=Ta+8|0;C=Ta+4|0;D=Ta+44|0;while(1){if(h>>>0>=8388609)break d;q=c[t>>2]|0;j=q>>>23;if((j|0)==255)c[u>>2]=(c[u>>2]|0)+1;else{r=q>>>31;h=c[y>>2]|0;if((h|0)>-1){q=c[z>>2]|0;if((q+(c[B>>2]|0)|0)>>>0<(c[C>>2]|0)>>>0){c[z>>2]=q+1;a[(c[Ta>>2]|0)+q>>0]=h+r;h=0}else h=-1;c[D>>2]=c[D>>2]|h}h=c[u>>2]|0;if(h|0){r=r+255&255;do{q=c[z>>2]|0;if((q+(c[B>>2]|0)|0)>>>0<(c[C>>2]|0)>>>0){c[z>>2]=q+1;a[(c[Ta>>2]|0)+q>>0]=r;q=0;h=c[u>>2]|0}else q=-1;c[D>>2]=c[D>>2]|q;h=h+-1|0;c[u>>2]=h}while((h|0)!=0)}c[y>>2]=j&255;q=c[t>>2]|0;h=c[m>>2]|0}c[t>>2]=q<<8&2147483392;h=h<<8;c[m>>2]=h;c[x>>2]=(c[x>>2]|0)+8}}}else{D=Ta+28|0;q=c[D>>2]|0;h=q>>>1;E=Ta+32|0;q=(c[E>>2]|0)+(q-h)|0;c[E>>2]=q;c[D>>2]=h;F=Ta+36|0;G=Ta+20|0;H=Ta+40|0;I=Ta+24|0;f=Ta+8|0;J=Ta+4|0;K=Ta+44|0;while(1){if(h>>>0>=8388609)break;j=q>>>23;if((j|0)==255)c[F>>2]=(c[F>>2]|0)+1;else{r=q>>>31;h=c[H>>2]|0;if((h|0)>-1){q=c[I>>2]|0;if((q+(c[f>>2]|0)|0)>>>0<(c[J>>2]|0)>>>0){c[I>>2]=q+1;a[(c[Ta>>2]|0)+q>>0]=h+r;h=0}else h=-1;c[K>>2]=c[K>>2]|h}h=c[F>>2]|0;if(h|0){r=r+255&255;do{q=c[I>>2]|0;if((q+(c[f>>2]|0)|0)>>>0<(c[J>>2]|0)>>>0){c[I>>2]=q+1;a[(c[Ta>>2]|0)+q>>0]=r;q=0;h=c[F>>2]|0}else q=-1;c[K>>2]=c[K>>2]|q;h=h+-1|0;c[F>>2]=h}while((h|0)!=0)}c[H>>2]=j&255;q=c[E>>2]|0;h=c[D>>2]|0}q=q<<8&2147483392;c[E>>2]=q;h=h<<8;c[D>>2]=h;c[G>>2]=(c[G>>2]|0)+8}B=c[Ya>>2]|0;m=B+1|0;c[Ya>>2]=m;C=aa(m|0)|0;x=32-C|0;t=x+-5|0;r=(h>>>0)/6|0;if(!t)h=h-(_(r,10-x|0)|0)|0;else{q=q+(h-(_(r,11-x|0)|0))|0;c[E>>2]=q;h=r}c[D>>2]=h;while(1){if(h>>>0>=8388609)break;j=q>>>23;if((j|0)==255)c[F>>2]=(c[F>>2]|0)+1;else{r=q>>>31;h=c[H>>2]|0;if((h|0)>-1){q=c[I>>2]|0;if((q+(c[f>>2]|0)|0)>>>0<(c[J>>2]|0)>>>0){c[I>>2]=q+1;a[(c[Ta>>2]|0)+q>>0]=h+r;h=0}else h=-1;c[K>>2]=c[K>>2]|h}h=c[F>>2]|0;if(h|0){r=r+255&255;do{q=c[I>>2]|0;if((q+(c[f>>2]|0)|0)>>>0<(c[J>>2]|0)>>>0){c[I>>2]=q+1;a[(c[Ta>>2]|0)+q>>0]=r;q=0;h=c[F>>2]|0}else q=-1;c[K>>2]=c[K>>2]|q;h=h+-1|0;c[F>>2]=h}while((h|0)!=0)}c[H>>2]=j&255;q=c[E>>2]|0;h=c[D>>2]|0}q=q<<8&2147483392;c[E>>2]=q;h=h<<8;c[D>>2]=h;c[G>>2]=(c[G>>2]|0)+8}u=m-(16<>2]|0;z=Ta+16|0;j=c[z>>2]|0;if((j+x|0)>>>0>32){m=7-j|0;m=j+((m|0)>-8?m:-8)&-8;t=j;do{q=c[f>>2]|0;r=c[J>>2]|0;if(((c[I>>2]|0)+q|0)>>>0>>0){q=q+1|0;c[f>>2]=q;a[(c[Ta>>2]|0)+(r-q)>>0]=h;q=0}else q=-1;c[K>>2]=c[K>>2]|q;h=h>>>8;t=t+-8|0}while((t|0)>7);j=j+-8-m|0}h=h|u<>2]=h;c[z>>2]=q;r=(c[G>>2]|0)+x|0;c[G>>2]=r;c[Ya>>2]=B;u=c[L>>2]|0;if((q+3|0)>>>0>32){t=j+23|0;m=C+-24-j|0;m=j+((m|0)>-8?m:-8)+31-C&-8;do{r=c[f>>2]|0;j=c[J>>2]|0;if(((c[I>>2]|0)+r|0)>>>0>>0){r=r+1|0;c[f>>2]=r;a[(c[Ta>>2]|0)+(j-r)>>0]=h;r=0}else r=-1;c[K>>2]=c[K>>2]|r;h=h>>>8;q=q+-8|0}while((q|0)>7);r=c[G>>2]|0;q=t-C-m|0}c[y>>2]=h|u<>2]=q+3;r=r+3|0;c[G>>2]=r;h=c[D>>2]|0;q=h>>>2;if((Ja|0)>0){ta=d[29345+(Ja+-1)>>0]|0;sa=h-(_(q,ta)|0)|0;c[E>>2]=(c[E>>2]|0)+sa;q=_(q,ta-(d[29345+Ja>>0]|0)|0)|0}else q=h-(_(q,d[29345+Ja>>0]|0)|0)|0;c[D>>2]=q;h=r;while(1){if(q>>>0>=8388609)break d;r=c[E>>2]|0;j=r>>>23;if((j|0)==255)c[F>>2]=(c[F>>2]|0)+1;else{r=r>>>31;h=c[H>>2]|0;if((h|0)>-1){q=c[I>>2]|0;if((q+(c[f>>2]|0)|0)>>>0<(c[J>>2]|0)>>>0){c[I>>2]=q+1;a[(c[Ta>>2]|0)+q>>0]=h+r;h=0}else h=-1;c[K>>2]=c[K>>2]|h}h=c[F>>2]|0;if(h|0){r=r+255&255;do{q=c[I>>2]|0;if((q+(c[f>>2]|0)|0)>>>0<(c[J>>2]|0)>>>0){c[I>>2]=q+1;a[(c[Ta>>2]|0)+q>>0]=r;q=0;h=c[F>>2]|0}else q=-1;c[K>>2]=c[K>>2]|q;h=h+-1|0;c[F>>2]=h}while((h|0)!=0)}c[H>>2]=j&255;r=c[E>>2]|0;q=c[D>>2]|0;h=c[G>>2]|0}c[E>>2]=r<<8&2147483392;q=q<<8;c[D>>2]=q;h=h+8|0;c[G>>2]=h}}while(0);qa=e+24|0;if((c[qa>>2]|0)>0?(c[ya>>2]|0)==0:0)F=Tc(T,P,ab,Ga,ba)|0;else F=0;J=(xa|0)>0;e:do if(J?((c[Ta+20>>2]|0)+((aa(c[Ta+28>>2]|0)|0)+-32)+3|0)<=(p|0):0)if(F){C=(_(ab,Oa)|0)<<2;B=i;i=i+((1*C|0)+15&-16)|0;C=i;i=i+((1*(Wa<<2)|0)+15&-16)|0;D=i;i=i+((1*(Wa<<2)|0)+15&-16)|0;z=_(Xa,db)|0;E=i;i=i+((1*(z<<2)|0)+15&-16)|0;if((c[qa>>2]|0)>7){Uc(Pa,0,T,B,Xa,ab,xa,c[U>>2]|0);h=c[Ia>>2]|0;q=c[oa>>2]<=(na|0))break;t=b[h+(y<<1)>>1]|0;j=B+(r+(t<>1]|0)-t<=(t|0))break;ja=+g[j+(x<<2)>>2];x=x+1|0;s=s+ja*ja}ja=+O(+(s+1.0000000272452012e-27));g[C+(y+(_(u,c[Ua>>2]|0)|0)<<2)>>2]=ja;y=m}u=u+1|0}while((u|0)<(Xa|0));q=0;do{h=0;while(1){if((h|0)>=(na|0)){h=na;break}ta=h+(_(q,c[Ua>>2]|0)|0)|0;ja=+Y(+(+g[C+(ta<<2)>>2]))*1.4426950408889634;g[E+(ta<<2)>>2]=ja-+g[17220+(h<<2)>>2];h=h+1|0}while(1){if((h|0)>=(cb|0))break;g[E+((_(q,c[Ua>>2]|0)|0)+h<<2)>>2]=-14.0;h=h+1|0}q=q+1|0}while((q|0)<(Xa|0));s=+(xa|0)*.5;h=0;while(1){if((h|0)>=(z|0)){H=1;G=0;h=F;F=X;ta=0;break e}ta=E+(h<<2)|0;g[ta>>2]=+g[ta>>2]+s;h=h+1|0}}else{H=0;G=0;h=F;F=X;ta=0}}else{h=F;q=0;za=171}else{h=0;q=1;za=171}while(0);if((za|0)==171){C=(_(ab,Oa)|0)<<2;B=i;i=i+((1*C|0)+15&-16)|0;C=i;i=i+((1*(Wa<<2)|0)+15&-16)|0;D=i;i=i+((1*(Wa<<2)|0)+15&-16)|0;H=(_(Xa,db)|0)<<2;E=i;i=i+((1*H|0)+15&-16)|0;H=0;G=1;F=0;ta=q}Uc(Pa,F,T,B,Xa,ab,xa,c[U>>2]|0);sa=(ab|0)==2;if(sa&(Xa|0)==1)c[ba>>2]=0;q=c[Ia>>2]|0;r=c[oa>>2]<=(na|0))break;u=b[q+(z<<1)>>1]|0;m=B+(j+(u<>1]|0)-u<=(u|0))break;ja=+g[m+(y<<2)>>2];y=y+1|0;s=s+ja*ja}ja=+O(+(s+1.0000000272452012e-27));g[C+(z+(_(x,c[Ua>>2]|0)|0)<<2)>>2]=ja;z=t}x=x+1|0}while((x|0)<(Xa|0));x=(c[ya>>2]|0)==0;f:do if(x)r=0;else{q=2;while(1){if((q|0)>=(cb|0)){r=0;break f}ra=C+(q<<2)|0;ga=+g[ra>>2];ja=+g[C>>2]*9.999999747378752e-05;ja=ga>2]=ja>1.0000000036274937e-15?ja:1.0000000036274937e-15;q=q+1|0}}while(0);do{q=0;while(1){if((q|0)>=(na|0)){q=na;break}ra=q+(_(r,c[Ua>>2]|0)|0)|0;ja=+Y(+(+g[C+(ra<<2)>>2]))*1.4426950408889634;g[D+(ra<<2)>>2]=ja-+g[17220+(q<<2)>>2];q=q+1|0}while(1){if((q|0)>=(cb|0))break;g[D+((_(r,c[Ua>>2]|0)|0)+q<<2)>>2]=-14.0;q=q+1|0}r=r+1|0}while((r|0)<(Xa|0));ra=_(Xa,db)|0;R=i;i=i+((1*(ra<<2)|0)+15&-16)|0;nf(R|0,0,cb<<2|0)|0;if(!Da?(S=c[e+204>>2]|0,!((S|0)==0|x^1)):0){u=c[e+92>>2]|0;u=(u|0)<2?2:u;t=0;q=0;v=0.0;s=0.0;while(1){if((t|0)>=(Xa|0))break;m=_(db,t)|0;j=0;w=s;while(1){if((j|0)>=(u|0))break;s=+g[S+(m+j<<2)>>2];r=s<.25;do if(s>-2.0|r^1){if(r){if(!(s>0.0))break}else s=.25;s=s*.5}else s=-2.0;while(0);ia=j+1|0;ma=(b[wa+(ia<<1)>>1]|0)-(b[wa+(j<<1)>>1]|0)|0;q=q+ma|0;v=v+s*+((j<<1|1)-u|0);j=ia;w=w+s*+(ma|0)}t=t+1|0;s=w}s=s/+(q|0)+.20000000298023224;v=v*6.0/+(_(_(_(Xa,u+-1|0)|0,u+1|0)|0,u)|0)*.5;q=v<.03099999949336052;v=q?(q&!(v>-.03099999949336052)?-.03099999949336052:v):.03099999949336052;q=(b[wa+(u<<1)>>1]|0)/2|0;t=0;while(1){r=t+1|0;if((b[wa+(r<<1)>>1]|0)<(q|0))t=r;else break}j=(Xa|0)==2;q=0;m=0;while(1){if((m|0)>=(u|0))break;r=S+(m<<2)|0;if(j){ma=S+(db+m<<2)|0;r=+g[r>>2]>+g[ma>>2]?r:ma}w=+g[r>>2];w=(w<0.0?w:0.0)-(s+v*+(m-t|0));if(w>.25){g[R+(m<<2)>>2]=w+-.25;q=q+1|0}m=m+1|0}g:do if((q|0)>2){s=s+.25;if(s>0.0){nf(R|0,0,u<<2|0)|0;v=0.0;s=0.0;break}else q=0;while(1){if((q|0)>=(u|0))break g;ma=R+(q<<2)|0;ja=+g[ma>>2]+-.25;g[ma>>2]=ja<0.0?0.0:ja;q=q+1|0}}while(0);ja=s+.20000000298023224;W=v*64.0}else{ja=0.0;W=0.0}if(x){w=G?0.0:+(xa|0)*.5;q=(Xa|0)==2;v=-10.0;A=0.0;r=bb;while(1){if((r|0)>=(cb|0))break;ga=v+-1.0;s=+g[D+(r<<2)>>2]-w;s=ga>s?ga:s;do if(q){v=+g[D+(r+db<<2)>>2]-w;if(s>v)break;s=v}while(0);v=s;A=A+s;r=r+1|0}ma=e+208|0;Q=+g[ma>>2];ga=A/+(cb-bb|0)-Q;ha=ga<-1.5;ia=ga>3.0&(ha^1);ga=ia|ha?(ia?3.0:-1.5):ga;g[ma>>2]=Q+ga*.019999999552965164}else ga=0.0;if(!H)rf(E|0,D|0,ra<<2|0)|0;h:do if(J){f=Ta+20|0;r=c[f>>2]|0;I=Ta+28|0;q=c[I>>2]|0;do if((h|0)==0?(r+((aa(q|0)|0)+-32)+3|0)<=(p|0):0){if((c[qa>>2]|0)<=4){m=q;t=r;x=B;h=0;r=F;break}if(!x){m=q;t=r;x=B;h=0;r=F;break}if(Da){m=q;t=r;x=B;h=0;r=F;break}i:do if((Xa|0)==1){h=c[Za>>2]|0;c[V>>2]=h;s=(c[k>>2]=h,+g[k>>2]);h=0;while(1){h=h+1|0;if((h|0)>=(cb|0))break i;Q=+g[Za+(h<<2)>>2];Q=s+-1.0>Q?s+-1.0:Q;g[V+(h<<2)>>2]=Q;s=Q}}else{Q=+g[Za>>2];s=+g[Za+(db<<2)>>2];s=Q>s?Q:s;g[V>>2]=s;h=0;while(1){h=h+1|0;if((h|0)>=(cb|0))break i;A=+g[Za+(h<<2)>>2];Q=+g[Za+(h+db<<2)>>2];ma=A>Q;Q=s+-1.0>(ma?A:Q)?s+-1.0:ma?A:Q;g[V+(h<<2)>>2]=Q;s=Q}}while(0);h=cb+-2|0;while(1){if((h|0)<0)break;ma=V+(h<<2)|0;A=+g[ma>>2];Q=+g[V+(h+1<<2)>>2]+-1.0;g[ma>>2]=A>Q?A:Q;h=h+-1|0}h=cb+-1|0;r=0;s=0.0;do{q=_(r,db)|0;j=2;while(1){if((j|0)>=(h|0))break;A=+g[D+(j+q<<2)>>2];Q=+g[V+(j<<2)>>2];Q=(A<0.0?0.0:A)-(Q<0.0?0.0:Q);j=j+1|0;s=s+(Q<0.0?0.0:Q)}r=r+1|0}while((r|0)<(Xa|0));if(s/+(_(cb+-3|0,Xa)|0)>1.0){Uc(Pa,X,T,B,Xa,ab,xa,c[U>>2]|0);h=c[Ia>>2]|0;q=c[oa>>2]<=(na|0))break;t=b[h+(y<<1)>>1]|0;j=B+(r+(t<>1]|0)-t<=(t|0))break;Q=+g[j+(x<<2)>>2];x=x+1|0;s=s+Q*Q}Q=+O(+(s+1.0000000272452012e-27));g[C+(y+(_(u,c[Ua>>2]|0)|0)<<2)>>2]=Q;y=m}u=u+1|0}while((u|0)<(Xa|0));q=0;do{h=0;while(1){if((h|0)>=(na|0)){h=na;break}ma=h+(_(q,c[Ua>>2]|0)|0)|0;Q=+Y(+(+g[C+(ma<<2)>>2]))*1.4426950408889634;g[D+(ma<<2)>>2]=Q-+g[17220+(h<<2)>>2];h=h+1|0}while(1){if((h|0)>=(cb|0))break;g[D+((_(q,c[Ua>>2]|0)|0)+h<<2)>>2]=-14.0;h=h+1|0}q=q+1|0}while((q|0)<(Xa|0));s=+(xa|0)*.5;h=0;while(1){if((h|0)>=(ra|0))break;ma=E+(h<<2)|0;g[ma>>2]=+g[ma>>2]+s;h=h+1|0}g[Ga>>2]=.20000000298023224;q=B;h=1;r=X}else{q=B;h=0;r=F}m=c[I>>2]|0;t=c[f>>2]|0;x=q}else{m=q;t=r;x=B;r=F}while(0);if((t+((aa(m|0)|0)+-32)+3|0)>(p|0)){ma=h;$=r;break}j=m>>>3;q=m-j|0;H=Ta+32|0;if(h){c[H>>2]=(c[H>>2]|0)+q;q=j}c[I>>2]=q;u=Ta+36|0;y=Ta+40|0;z=Ta+24|0;B=Ta+8|0;F=Ta+4|0;G=Ta+44|0;j=t;while(1){if(q>>>0>=8388609){ma=h;$=r;break h}m=c[H>>2]|0;t=m>>>23;if((t|0)==255)c[u>>2]=(c[u>>2]|0)+1;else{m=m>>>31;q=c[y>>2]|0;if((q|0)>-1){j=c[z>>2]|0;if((j+(c[B>>2]|0)|0)>>>0<(c[F>>2]|0)>>>0){c[z>>2]=j+1;a[(c[Ta>>2]|0)+j>>0]=q+m;q=0}else q=-1;c[G>>2]=c[G>>2]|q}q=c[u>>2]|0;if(q|0){m=m+255&255;do{j=c[z>>2]|0;if((j+(c[B>>2]|0)|0)>>>0<(c[F>>2]|0)>>>0){c[z>>2]=j+1;a[(c[Ta>>2]|0)+j>>0]=m;j=0;q=c[u>>2]|0}else j=-1;c[G>>2]=c[G>>2]|j;q=q+-1|0;c[u>>2]=q}while((q|0)!=0)}c[y>>2]=t&255;m=c[H>>2]|0;q=c[I>>2]|0;j=c[f>>2]|0}c[H>>2]=m<<8&2147483392;q=q<<8;c[I>>2]=q;j=j+8|0;c[f>>2]=j}}else{x=B;ma=h;$=F}while(0);q=(_(Xa,Oa)|0)<<2;Z=i;i=i+((1*q|0)+15&-16)|0;q=c[Ia>>2]|0;r=c[oa>>2]<=(na|0))break;s=1.0/(+g[C+(h+(_(u,c[Ua>>2]|0)|0)<<2)>>2]+1.0000000272452012e-27);m=h+1|0;t=b[q+(m<<1)>>1]<>1]<=(t|0)){h=m;continue j}ia=h+j|0;g[Z+(ia<<2)>>2]=+g[x+(ia<<2)>>2]*s;h=h+1|0}}u=u+1|0;if((u|0)>=(Xa|0))break}X=i;i=i+((1*(db<<2)|0)+15&-16)|0;k:do if((l|0)<(Xa*15|0))if(Da&(l|0)<15){h=0;za=320}else{h=0;za=322}else{if(Da)if((l|0)<15){h=0;za=320;break}else{h=0;za=322;break}if((c[qa>>2]|0)<=1){h=0;za=322;break}if(c[ya>>2]|0){h=0;za=322;break}h=(1280/(l|0)|0)+2|0;h=Vc(Pa,na,ma,X,(h|0)<5?5:h,Z,Oa,xa,+g[Ga>>2],c[ba>>2]|0)|0;q=X+(na+-1<<2)|0;r=na;while(1){if((r|0)>=(cb|0))break k;c[X+(r<<2)>>2]=c[q>>2];r=r+1|0}}while(0);l:do if((za|0)==320)while(1){za=0;if((h|0)>=(cb|0)){h=ma;break l}c[X+(h<<2)>>2]=0;h=h+1|0;za=320}else if((za|0)==322)while(1){za=0;if((h|0)>=(cb|0)){h=0;break l}c[X+(h<<2)>>2]=ma;h=h+1|0;za=322}while(0);ha=i;i=i+((1*(ra<<2)|0)+15&-16)|0;m=0;do{q=_(m,db)|0;t=bb;while(1){if((t|0)>=(cb|0))break;r=t+q|0;j=D+(r<<2)|0;s=+g[j>>2];if(+N(+(s-+g[Za+(r<<2)>>2]))<2.0)g[j>>2]=s-+g[Va+(r<<2)>>2]*.25;t=t+1|0}m=m+1|0}while((m|0)<(Xa|0));qd(Pa,bb,cb,na,D,Za,p,ha,Ta,Xa,xa,n,c[e+12>>2]|0,e+84|0,(c[qa>>2]|0)>3&1,c[e+56>>2]|0,c[ya>>2]|0);da=Ta+4|0;q=c[da>>2]<<3;ea=Ta+20|0;m=c[ea>>2]|0;ia=Ta+28|0;j=c[ia>>2]|0;u=m+((aa(j|0)|0)+-32)|0;r=(ma|0)!=0;t=r?2:4;if(J)H=(u+t+1|0)>>>0<=q>>>0;else H=0;G=q-(H&1)|0;F=r?4:5;T=Ta+32|0;U=Ta+36|0;V=Ta+40|0;ba=Ta+24|0;ca=Ta+8|0;fa=Ta+44|0;x=0;B=bb;z=0;while(1){if((B|0)>=(cb|0))break;q=X+(B<<2)|0;if((u+t|0)>>>0>G>>>0){c[q>>2]=x;r=x;q=z}else{y=c[q>>2]|0;t=j>>>t;r=j-t|0;q=(y|0)==(x|0);if(!q)c[T>>2]=(c[T>>2]|0)+r;t=q?r:t;c[ia>>2]=t;q=m;while(1){if(t>>>0>=8388609)break;r=c[T>>2]|0;m=r>>>23;if((m|0)==255){c[U>>2]=(c[U>>2]|0)+1;j=t}else{j=r>>>31;q=c[V>>2]|0;if((q|0)>-1){r=c[ba>>2]|0;if((r+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=r+1;a[(c[Ta>>2]|0)+r>>0]=q+j;q=0}else q=-1;c[fa>>2]=c[fa>>2]|q}q=c[U>>2]|0;if(q|0){j=j+255&255;do{r=c[ba>>2]|0;if((r+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=r+1;a[(c[Ta>>2]|0)+r>>0]=j;r=0;q=c[U>>2]|0}else r=-1;c[fa>>2]=c[fa>>2]|r;q=q+-1|0;c[U>>2]=q}while((q|0)!=0)}c[V>>2]=m&255;r=c[T>>2]|0;j=c[ia>>2]|0;q=c[ea>>2]|0}c[T>>2]=r<<8&2147483392;t=j<<8;c[ia>>2]=t;q=q+8|0;c[ea>>2]=q}m=q;j=t;r=y;u=q+((aa(t|0)|0)+-32)|0;q=z|y}x=r;B=B+1|0;t=F;z=q}t=ma<<2;do if(H){if((a[t+z+(27892+(xa<<3))>>0]|0)==(a[(t|2)+z+(27892+(xa<<3))>>0]|0)){h=0;q=j;break}q=j>>>1;r=j-q|0;if(!h)q=r;else c[T>>2]=(c[T>>2]|0)+r;c[ia>>2]=q;r=m;while(1){if(q>>>0>=8388609)break;j=c[T>>2]|0;m=j>>>23;if((m|0)==255)c[U>>2]=(c[U>>2]|0)+1;else{j=j>>>31;q=c[V>>2]|0;if((q|0)>-1){r=c[ba>>2]|0;if((r+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=r+1;a[(c[Ta>>2]|0)+r>>0]=q+j;q=0}else q=-1;c[fa>>2]=c[fa>>2]|q}q=c[U>>2]|0;if(q|0){j=j+255&255;do{r=c[ba>>2]|0;if((r+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=r+1;a[(c[Ta>>2]|0)+r>>0]=j;r=0;q=c[U>>2]|0}else r=-1;c[fa>>2]=c[fa>>2]|r;q=q+-1|0;c[U>>2]=q}while((q|0)!=0)}c[V>>2]=m&255;j=c[T>>2]|0;q=c[ia>>2]|0;r=c[ea>>2]|0}c[T>>2]=j<<8&2147483392;q=q<<8;c[ia>>2]=q;r=r+8|0;c[ea>>2]=r}h=h<<1;m=r}else{h=0;q=j}while(0);h=t+h|0;r=bb;while(1){if((r|0)>=(cb|0))break;S=X+(r<<2)|0;c[S>>2]=a[h+(c[S>>2]|0)+(27892+(xa<<3))>>0];r=r+1|0}m:do if((m+((aa(q|0)|0)+-32)+4|0)<=(p|0)){n:do if(!(c[ya>>2]|0)){o:do if(Da){if(!(c[qa>>2]|0)){c[e+80>>2]=0;za=415;break}h=e+80|0;if(!ma){c[h>>2]=3;h=3;za=414;break n}else{c[h>>2]=2;h=2;za=414;break n}}else{h=c[qa>>2]|0;do if(!$){if((h|0)<3|(n|0)<(Xa*10|0))break;K=e+88|0;P=e+80|0;L=c[P>>2]|0;J=e+96|0;f=c[Ia>>2]|0;G=c[oa>>2]<>1]|0)-(b[f+(na+-1<<1)>>1]|0)<>2]=0;h=0;n=q>>>5;break o}else{I=0;h=0;n=0;r=0}do{H=_(I,G)|0;F=0;while(1){if((F|0)>=(na|0))break;x=b[f+(F<<1)>>1]|0;j=Z+(x<>1]|0)-x<>2];Q=Q*Q*s;t=t+1|0;y=y+(Q<.25&1)|0;z=z+(Q<.015625&1)|0;B=B+(Q<.0625&1)|0}if((F|0)>((c[Ua>>2]|0)+-4|0))h=h+((B+y<<5>>>0)/(x>>>0)|0)|0;F=u;n=n+1|0;r=r+(((z<<1|0)>=(x|0)&1)+((B<<1|0)>=(x|0)&1)+((y<<1|0)>=(x|0)&1)<<8)|0}I=I+1|0}while((I|0)<(Xa|0));if(!ka){if(!h)h=0;else h=(h>>>0)/((_(4-(c[Ua>>2]|0)+na|0,Xa)|0)>>>0)|0;h=(c[J>>2]|0)+h>>1;c[J>>2]=h;switch(c[la>>2]|0){case 2:{h=h+4|0;break}case 0:{h=h+-4|0;break}default:{}}c[la>>2]=(h|0)>22?2:(h|0)>18&1}h=((r>>>0)/(n>>>0)|0)+(c[K>>2]|0)>>1;c[K>>2]=h;h=(h*3|0)+(3-L<<7|64)+2>>2;do if((h|0)>=80){if((h|0)<256){h=2;break}h=(h|0)<384&1;c[P>>2]=h;n=q>>>5;if((h|0)>0){za=418;break n}else break o}else h=3;while(0);c[P>>2]=h;n=q>>>5;za=418;break n}while(0);n=e+80|0;if(!h){c[n>>2]=0;za=415;break}else{c[n>>2]=2;h=2;za=414;break n}}while(0);if((za|0)==415){h=0;n=q>>>5}h=q-(_(n,d[28203+h>>0]|0)|0)|0}else{c[la>>2]=0;c[e+80>>2]=2;h=2;za=414}while(0);if((za|0)==414){n=q>>>5;za=418}if((za|0)==418){oa=d[28203+(h+-1)>>0]|0;na=q-(_(n,oa)|0)|0;c[T>>2]=(c[T>>2]|0)+na;h=_(n,oa-(d[28203+h>>0]|0)|0)|0}c[ia>>2]=h;n=m;while(1){if(h>>>0>=8388609)break m;q=c[T>>2]|0;r=q>>>23;if((r|0)==255)c[U>>2]=(c[U>>2]|0)+1;else{q=q>>>31;h=c[V>>2]|0;if((h|0)>-1){n=c[ba>>2]|0;if((n+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=n+1;a[(c[Ta>>2]|0)+n>>0]=h+q;h=0}else h=-1;c[fa>>2]=c[fa>>2]|h}h=c[U>>2]|0;if(h|0){q=q+255&255;do{n=c[ba>>2]|0;if((n+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=n+1;a[(c[Ta>>2]|0)+n>>0]=q;n=0;h=c[U>>2]|0}else n=-1;c[fa>>2]=c[fa>>2]|n;h=h+-1|0;c[U>>2]=h}while((h|0)!=0)}c[V>>2]=r&255;q=c[T>>2]|0;h=c[ia>>2]|0;n=c[ea>>2]|0}c[T>>2]=q<<8&2147483392;h=h<<8;c[ia>>2]=h;n=n+8|0;c[ea>>2]=n}}while(0);S=i;i=i+((1*(db<<2)|0)+15&-16)|0;H=e+52|0;Q=+Wc(D,E,db,bb,cb,Xa,S,c[pa>>2]|0,c[Pa+56>>2]|0,ma,c[ua>>2]|0,c[H>>2]|0,wa,xa,l,Ea,c[ya>>2]|0,R);if(c[ya>>2]|0)c[S>>2]=(l|0)>26?8:(l|0)/3|0;I=i;i=i+((1*(db<<2)|0)+15&-16)|0;h=c[Ua>>2]|0;l=(xa<<1)+Xa+-1|0;n=Pa+104|0;q=0;while(1){if((q|0)>=(h|0))break;ua=q+1|0;pa=c[Ia>>2]|0;oa=(_(h,l)|0)+q|0;c[I+(q<<2)>>2]=(_(_((d[(c[n>>2]|0)+oa>>0]|0)+64|0,Xa)|0,(b[pa+(ua<<1)>>1]|0)-(b[pa+(q<<1)>>1]|0)<>2;q=ua}E=p<<3;pa=c[ea>>2]|0;h=c[ia>>2]|0;ua=32-(aa(h|0)|0)|0;F=h>>>(ua+-16|0);y=(F>>>12)+-8|0;l=pa;n=6;p=bb;y=(pa<<3)-((ua<<3)+(y+(F>>>0>(c[5272+(y<<2)>>2]|0)>>>0&1)))|0;F=0;while(1){if((p|0)>=(cb|0))break;B=p+1|0;j=(_(Xa,(b[wa+(B<<1)>>1]|0)-(b[wa+(p<<1)>>1]|0)|0)|0)<=(E-z|0))break;if((u|0)>=(c[m>>2]|0))break;r=(t|0)<(c[x>>2]|0);p=h>>>p;h=h-p|0;if(r){c[T>>2]=(c[T>>2]|0)+h;h=p}c[ia>>2]=h;while(1){if(h>>>0>=8388609)break;p=c[T>>2]|0;q=p>>>23;if((q|0)==255)c[U>>2]=(c[U>>2]|0)+1;else{p=p>>>31;h=c[V>>2]|0;if((h|0)>-1){l=c[ba>>2]|0;if((l+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=l+1;a[(c[Ta>>2]|0)+l>>0]=h+p;h=0}else h=-1;c[fa>>2]=c[fa>>2]|h}h=c[U>>2]|0;if(h|0){p=p+255&255;do{l=c[ba>>2]|0;if((l+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=l+1;a[(c[Ta>>2]|0)+l>>0]=p;l=0;h=c[U>>2]|0}else l=-1;c[fa>>2]=c[fa>>2]|l;h=h+-1|0;c[U>>2]=h}while((h|0)!=0)}c[V>>2]=q&255;p=c[T>>2]|0;h=c[ia>>2]|0;l=c[ea>>2]|0}c[T>>2]=p<<8&2147483392;h=h<<8;c[ia>>2]=h;l=l+8|0;c[ea>>2]=l}pa=32-(aa(h|0)|0)|0;ua=h>>>(pa+-16|0);q=(ua>>>12)+-8|0;q=(l<<3)-((pa<<3)+(q+(ua>>>0>(c[5272+(q<<2)>>2]|0)>>>0&1)))|0;if(!r)break;u=u+j|0;p=1;t=t+1|0;z=z+j|0}if(t)n=(n|0)<3?2:n+-1|0;c[x>>2]=u;p=B;y=q;F=z}R=(Xa|0)==2;if(R){if(!xa)r=0;else{n=0;s=1.0000000036274937e-15;v=1.0000000036274937e-15;p:while(1){if((n|0)==13)break;wa=c[Ia>>2]|0;p=n+1|0;q=b[wa+(p<<1)>>1]<>1]<=(q|0)){n=p;continue p}w=+g[Z+(n<<2)>>2];A=+g[Z+(n+Oa<<2)>>2];n=n+1|0;s=s+(+N(+w)+ +N(+A));v=v+(+N(+(w+A))+ +N(+(w-A)))}}r=b[(c[Ia>>2]|0)+26>>1]<>2]=+(r+((xa|0)<2?5:13)|0)*(v*.7071070075035095)>+(r|0)*s&1;r=xa}s=+((La|0)/1e3|0|0);q=e+200|0;n=c[q>>2]|0;p=0;while(1){if((p|0)>=21)break;if(+g[5104+(p<<2)>>2]>s)break;p=p+1|0}if(!((p|0)>(n|0)?+g[5104+(n<<2)>>2]+ +g[5188+(n<<2)>>2]>s:0))za=480;do if((za|0)==480){if((p|0)>=(n|0)){n=p;break}xa=n+-1|0;if(!(+g[5104+(xa<<2)>>2]-+g[5188+(xa<<2)>>2](n|0);c[q>>2]=(cb|0)<((P?bb:n)|0)?cb:P?bb:n;P=r}else P=xa;if((y+48|0)>(E-F|0))G=5;else{do if((bb|0)>0)za=487;else{if(c[ya>>2]|0){za=487;break}m=e+196|0;A=+g[Ga>>2];t=c[e+200>>2]|0;if(R){n=0;s=0.0;while(1){if((n|0)==8)break;q=c[Ia>>2]|0;p=b[q+(n<<1)>>1]|0;j=p<>1]|0)-p<=(p|0))break;w=v+ +g[r+(q<<2)>>2]*+g[j+(q<<2)>>2];q=q+1|0;v=w}s=s+v}v=+N(+(s*.125));v=v>1.0?1.0:v;n=8;w=v;while(1){if((n|0)>=(t|0))break;q=c[Ia>>2]|0;p=b[q+(n<<1)>>1]|0;j=p<>1]|0)-p<=(p|0))break;fb=s+ +g[r+(q<<2)>>2]*+g[j+(q<<2)>>2];q=q+1|0;s=fb}fb=+N(+s);w=w1.0?1.0:fb;v=+Y(+(1.0010000467300415-v*v))*1.4426950408889634;s=v*.5;fb=+Y(+(1.0010000467300415-fb*fb))*1.4426950408889634;v=v*.75;w=+g[m>>2]+.25;fb=-((s>fb?s:fb)*.5);g[m>>2]=w=(p|0))break;s=s+ +g[D+(n+(_(q,c[Ua>>2]|0)|0)<<2)>>2]*+((n<<1)+2-cb|0);n=n+1|0}q=q+1|0}while((q|0)<(Xa|0));s=(s/+(_(p,Xa)|0)+1.0)/6.0;wa=s>2.0;xa=s<-2.0&(wa^1);s=v-(xa|wa?(xa?-2.0:2.0):s)-W-A*2.0;if(c[e+120>>2]|0){fb=(+g[e+128>>2]+.05000000074505806)*2.0;wa=fb>2.0;xa=fb<-2.0&(wa^1);s=s-(xa|wa?(xa?-2.0:2.0):fb)}n=~~+M(+(s+.5));if((n|0)>10){p=h>>>7;n=10;za=512;break}p=h>>>7;if((n|0)>=0){if((n|0)>0){za=512;break}}else n=0;r=n;h=h-(_(p,d[28207+n>>0]|0)|0)|0}while(0);if((za|0)==487){g[e+196>>2]=0.0;p=h>>>7;n=5;za=512}if((za|0)==512){za=d[28207+(n+-1)>>0]|0;r=h-(_(p,za)|0)|0;c[T>>2]=(c[T>>2]|0)+r;r=n;h=_(p,za-(d[28207+n>>0]|0)|0)|0}c[ia>>2]=h;p=l;while(1){if(h>>>0>=8388609)break;l=c[T>>2]|0;q=l>>>23;if((q|0)==255){c[U>>2]=(c[U>>2]|0)+1;n=l;l=p}else{n=l>>>31;h=c[V>>2]|0;if((h|0)>-1){l=c[ba>>2]|0;if((l+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=l+1;a[(c[Ta>>2]|0)+l>>0]=h+n;h=0}else h=-1;c[fa>>2]=c[fa>>2]|h}h=c[U>>2]|0;if(h|0){n=n+255&255;do{l=c[ba>>2]|0;if((l+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=l+1;a[(c[Ta>>2]|0)+l>>0]=n;l=0;h=c[U>>2]|0}else l=-1;c[fa>>2]=c[fa>>2]|l;h=h+-1|0;c[U>>2]=h}while((h|0)!=0)}c[V>>2]=q&255;n=c[T>>2]|0;h=c[ia>>2]|0;l=c[ea>>2]|0}c[T>>2]=n<<8&2147483392;h=h<<8;c[ia>>2]=h;p=l+8|0;c[ea>>2]=p}xa=32-(aa(h|0)|0)|0;za=h>>>(xa+-16|0);y=(za>>>12)+-8|0;l=p;G=r;y=(p<<3)-((xa<<3)+(y+(za>>>0>(c[5272+(y<<2)>>2]|0)>>>0&1)))|0}if(Aa){B=(c[Ba>>2]|0)-P|0;l=3-P|0;D=1275>>>l;D=(o|0)<(D|0)?o:D;if(Da){h=(Xa*72|0)+32|0;h=(Ka|0)<(h|0)?0:Ka-h|0}else h=Ka-((Xa*320|0)+160)|0;z=(c[H>>2]|0)==0;if(z)x=h;else x=h+(c[e+184>>2]>>B)|0;if(Da){h=c[e+156>>2]|0;fb=+g[Ga>>2];h=~~(+(x+((h|0)<100?96>>>l:0)-((h|0)>100?144>>>l:0)|0)+(fb+-.25)*400.0);Ia=(y+F+63>>6)+2|0;l=Ca+296+F+63>>6;h=!(fb>.699999988079071)|(h|0)>400?h:400;l=(Ia|0)>(l|0)?Ia:l}else{l=c[e+92>>2]|0;p=c[e+200>>2]|0;v=+g[e+196>>2];q=c[Ea>>2]|0;w=+g[Ga>>2];o=c[e+64>>2]|0;t=c[ya>>2]|0;u=(c[e+204>>2]|0)!=0;m=c[Ua>>2]|0;j=c[Ia>>2]|0;l=(l|0)==0?m:l;h=b[j+(l<<1)>>1]<(p|0)?p:l)<<1)>>1]<>2]|0)==0;do if(n)h=x;else{s=+g[e+136>>2];if(!(s<.4)){h=x;break}h=x-~~(+(r<<3|0)*(.4000000059604645-s))|0}while(0);if(R){Ia=(l|0)>(p|0)?p:l;Ia=(b[j+(Ia<<1)>>1]<>2]+-.15000000596046448;s=+(r<<3|0);h=h+~~(s*1.2000000476837158*((fb<0.0?0.0:fb)+-.09000000357627869))|0;if(!va)break;h=h+~~(s*.800000011920929)|0}while(0);if(u&(t|0)==0){Ia=h+~~(+(r<<3|0)*ja)|0;h=(h|0)/4|0;h=(h|0)>(Ia|0)?h:Ia}Ga=~~(+((_(b[j+(m+-2<<1)>>1]<>2;Ia=(Ga|0)>(Ia|0)?Ga:Ia;h=(h|0)<(Ia|0)?h:Ia;do if(!(u&(t|0)==0)){if(!z)h=~~(+(h-x|0)*.6700000166893005)+x|0;if(!(w<.20000000298023224&(u^1)))break;Ia=96e3-La|0;Ga=(Ia|0)>32e3;h=h+~~(((La|0)>96e3&(Ga^1)?0.0:Ga?.09919999539852142:+(Ia|0)*3.099999958067201e-06)*ga*+(h|0))|0}while(0);l=x<<1;h=(l|0)<(h|0)?l:h;l=(y+F+63>>6)+2|0}o=h+y|0;p=o+32>>6;p=(l|0)>(p|0)?l:p;p=(D|0)<(p|0)?D:p;q=(Ma|0)==0;h=q?p:2;l=e+188|0;n=c[l>>2]|0;if((n|0)<970){c[l>>2]=n+1;s=1.0/+(n+21|0)}else s=1.0000000474974513e-03;do if(!z){l=e+176|0;c[l>>2]=(c[l>>2]|0)+((q?p<<6:128)-Ka);l=e+184|0;Ia=e+180|0;n=c[Ia>>2]|0;n=n+~~(s*+(((q?o-Ka|0:0)<>2]|0)-n|0))|0;c[Ia>>2]=n;c[l>>2]=0-n;l=e+176|0;n=c[l>>2]|0;if((n|0)>=0)break;c[l>>2]=0;h=q?p+((n|0)/-64|0)|0:2}while(0);L=(D|0)<(h|0)?D:h;Ka=c[Ta>>2]|0;l=c[ca>>2]|0;h=0-l|0;sf(Ka+L+h|0,Ka+(c[da>>2]|0)+h|0,l|0)|0;c[da>>2]=L;l=c[ea>>2]|0;h=c[ia>>2]|0}else L=o;f=i;i=i+((1*(db<<2)|0)+15&-16)|0;E=i;i=i+((1*(db<<2)|0)+15&-16)|0;J=i;i=i+((1*(db<<2)|0)+15&-16)|0;F=L<<6;Ka=32-(aa(h|0)|0)|0;K=h>>>(Ka+-16|0);h=(K>>>12)+-8|0;h=F+((Ka<<3)+(h+(K>>>0>(c[5272+(h<<2)>>2]|0)>>>0&1))-(l<<3))+-1|0;K=(ma|0)==0;if((P|0)>1&(K^1))B=(h|0)>=((P<<3)+16|0);else B=0;D=B?8:0;l=h-D|0;if(!(c[e+120>>2]|0))h=cb+-1|0;else{do if((La|0)<(Xa*32e3|0))h=13;else{if((La|0)<(Xa*48e3|0)){h=16;break}if((La|0)<(Xa*6e4|0)){h=18;break}h=(La|0)<(Xa*8e4|0)?19:20}while(0);La=c[e+144>>2]|0;h=(La|0)>(h|0)?La:h}z=e+200|0;n=e+92|0;y=sd(Pa,bb,cb,S,I,G,z,Ra,l,Qa,E,f,J,Xa,P,Ta,1,c[n>>2]|0,(c[ya>>2]|0)==0?h:1)|0;h=c[n>>2]|0;if(!h)h=y;else{Ka=h+1|0;h=h+-1|0;La=(h|0)>(y|0);h=(Ka|0)<((La?h:y)|0)?Ka:La?h:y}c[n>>2]=h;H=Ta+12|0;I=Ta+16|0;x=bb;while(1){if((x|0)>=(cb|0))break;j=c[f+(x<<2)>>2]|0;if((j|0)>=1){m=65536<>16;s=+(m|0);v=+(1<<14-j|0);t=m+-1|0;h=c[Ua>>2]|0;u=0;do{r=~~+M(+((+g[ha+(x+(_(u,h)|0)<<2)>>2]+.5)*s));r=(r|0)<(m|0)?r:t;r=(r|0)<0?0:r;h=c[H>>2]|0;l=c[I>>2]|0;if((l+j|0)>>>0>32){p=7-l|0;p=l+((p|0)>-8?p:-8)&-8;q=l;do{n=c[ca>>2]|0;o=c[da>>2]|0;if(((c[ba>>2]|0)+n|0)>>>0>>0){n=n+1|0;c[ca>>2]=n;a[(c[Ta>>2]|0)+(o-n)>>0]=h;n=0}else n=-1;c[fa>>2]=c[fa>>2]|n;h=h>>>8;q=q+-8|0}while((q|0)>7);l=l+-8-p|0}c[H>>2]=h|r<>2]=l+j;c[ea>>2]=(c[ea>>2]|0)+j;fb=(+(r|0)+.5)*v*.00006103515625+-.5;h=Za+(x+(_(u,c[Ua>>2]|0)|0)<<2)|0;g[h>>2]=+g[h>>2]+fb;h=c[Ua>>2]|0;La=ha+(x+(_(u,h)|0)<<2)|0;g[La>>2]=+g[La>>2]-fb;u=u+1|0}while((u|0)<(Xa|0))}x=x+1|0}La=i;i=i+((1*ra|0)+15&-16)|0;G=e+76|0;Yd(1,Pa,bb,cb,Z,R?Z+(Oa<<2)|0:0,La,C,E,$,c[e+80>>2]|0,c[Ra>>2]|0,c[z>>2]|0,X,F-D|0,c[Qa>>2]|0,Ta,P,y,G,c[qa>>2]|0,c[e+72>>2]|0);if(B){r=(c[e+116>>2]|0)<2&1;h=c[H>>2]|0;l=c[I>>2]|0;if((l+1|0)>>>0>32){p=7-l|0;p=l+((p|0)>-8?p:-8)&-8;q=l;do{n=c[ca>>2]|0;o=c[da>>2]|0;if(((c[ba>>2]|0)+n|0)>>>0>>0){n=n+1|0;c[ca>>2]=n;a[(c[Ta>>2]|0)+(o-n)>>0]=h;n=0}else n=-1;c[fa>>2]=c[fa>>2]|n;h=h>>>8;q=q+-8|0}while((q|0)>7);l=l+-8-p|0}c[H>>2]=h|r<>2]=l+1;h=(c[ea>>2]|0)+1|0;c[ea>>2]=h}else h=c[ea>>2]|0;h=(L<<3)-(h+((aa(c[ia>>2]|0)|0)+-32))|0;x=0;while(1){if((x|0)==2)break;else u=bb;while(1){if(!((u|0)<(cb|0)&(h|0)>=(Xa|0)))break;l=c[f+(u<<2)>>2]|0;do if((l|0)<=7){if((c[J+(u<<2)>>2]|0)!=(x|0))break;s=+(1<<14-l+-1|0);l=c[Ua>>2]|0;n=c[I>>2]|0;o=c[H>>2]|0;t=0;do{m=!(+g[ha+(u+(_(t,l)|0)<<2)>>2]<0.0);j=m&1;if((n+1|0)>>>0>32){q=7-n|0;q=n+((q|0)>-8?q:-8)&-8;r=n;l=o;do{o=c[ca>>2]|0;p=c[da>>2]|0;if(((c[ba>>2]|0)+o|0)>>>0

>>0){o=o+1|0;c[ca>>2]=o;a[(c[Ta>>2]|0)+(p-o)>>0]=l;o=0}else o=-1;c[fa>>2]=c[fa>>2]|o;l=l>>>8;r=r+-8|0}while((r|0)>7);n=n+-8-q|0}else l=o;o=l|j<>2]=o;c[I>>2]=n;c[ea>>2]=(c[ea>>2]|0)+1;fb=(+(m&1)+-.5)*s*.00006103515625;l=Za+(u+(_(t,c[Ua>>2]|0)|0)<<2)|0;g[l>>2]=+g[l>>2]+fb;l=c[Ua>>2]|0;Ra=ha+(u+(_(t,l)|0)<<2)|0;g[Ra>>2]=+g[Ra>>2]-fb;h=h+-1|0;t=t+1|0}while((t|0)<(Xa|0))}while(0);u=u+1|0}x=x+1|0}o=Wa<<2;nf(Va|0,0,o|0)|0;l=0;do{h=_(l,db)|0;n=bb;while(1){if((n|0)>=(cb|0))break;Ua=n+h|0;fb=+g[ha+(Ua<<2)>>2];Qa=fb>.5;Ra=fb<-.5&(Qa^1);g[Va+(Ua<<2)>>2]=Ra|Qa?(Ra?-.5:.5):fb;n=n+1|0}l=l+1|0}while((l|0)<(Xa|0));q:do if(Ma|0){h=0;while(1){if((h|0)>=(ra|0))break q;g[Za+(h<<2)>>2]=-28.0;h=h+1|0}}while(0);c[e+104>>2]=c[Ya>>2];g[e+108>>2]=Ha;c[e+112>>2]=Ja;if(sa&(Xa|0)==1)rf(Za+(db<<2)|0,Za|0,db<<2|0)|0;r:do if(K){rf($a|0,_a|0,o|0)|0;rf(_a|0,Za|0,o|0)|0;n=0}else{h=0;while(1){if((h|0)>=(Wa|0)){n=0;break r}Ya=_a+(h<<2)|0;Ha=+g[Ya>>2];fb=+g[Za+(h<<2)>>2];g[Ya>>2]=Ha=(bb|0)){h=cb;break}Ya=l+h|0;g[Za+(Ya<<2)>>2]=0.0;g[$a+(Ya<<2)>>2]=-28.0;g[_a+(Ya<<2)>>2]=-28.0;h=h+1|0}while(1){if((h|0)>=(db|0))break;Ya=l+h|0;g[Za+(Ya<<2)>>2]=0.0;g[$a+(Ya<<2)>>2]=-28.0;g[_a+(Ya<<2)>>2]=-28.0;h=h+1|0}n=n+1|0}while((n|0)<(ab|0));l=e+116|0;if(!(ma|ta))h=0;else h=(c[l>>2]|0)+1|0;c[l>>2]=h;c[G>>2]=c[ia>>2];cd(Ta);e=(c[fa>>2]|0)==0?L:-3;Na(Sa|0);i=eb;return e|0}function Sc(a,b,d,e,f,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0;L=i;i=i+16|0;K=L+8|0;t=L;w=c[a>>2]|0;H=c[w+4>>2]|0;q=f+1024|0;J=(_(q,e)|0)<<2;I=i;i=i+((1*J|0)+15&-16)|0;c[K>>2]=I;c[K+4>>2]=I+(q<<2);I=H+f|0;J=f<<2;o=0;do{G=c[K+(o<<2)>>2]|0;rf(G|0,d+(o<<10<<2)|0,4096)|0;rf(G+4096|0,b+((_(o,I)|0)<<2)+(H<<2)|0,J|0)|0;o=o+1|0}while((o|0)<(e|0));if(!m){c[t>>2]=15;G=a+104|0;F=15;u=0.0}else{s=Fa()|0;o=i;i=i+((1*(q>>1<<2)|0)+15&-16)|0;gd(K,o,q,e);id(o+2048|0,o,f,979,t);c[t>>2]=1024-(c[t>>2]|0);m=a+104|0;p=+kd(o,f,t,c[m>>2]|0,+g[a+108>>2]);o=c[t>>2]|0;if((o|0)>1022){c[t>>2]=1022;o=1022}u=p*.699999988079071;E=c[a+56>>2]|0;u=(E|0)>2?u*.5:u;Na(s|0);G=m;F=o;u=(E|0)>8?0.0:(E|0)>4?u*.5:u}q=c[G>>2]|0;E=F-q|0;p=(((E|0)>-1?E:0-E|0)*10|0)>(F|0)?.4000000059604645:.20000000298023224;if((n|0)>=25){if((n|0)<35)v=11}else{p=p+.10000000149011612;v=11}if((v|0)==11)p=p+.10000000149011612;E=a+108|0;r=+g[E>>2];p=r>.4000000059604645?p+-.10000000149011612:p;p=r>.550000011920929?p+-.10000000149011612:p;if(u<(p>.20000000298023224?p:.20000000298023224)){r=0.0;D=0;o=0}else{m=+N(+(u-r))<.10000000149011612;m=~~+M(+((m?r:u)*32.0/3.0+.5));o=m+-1|0;if((o|0)<=7)if((m|0)<1)o=0;else v=15;else{o=7;v=15}r=+(o+1|0)*.09375;D=1}A=w+44|0;B=H<<2;p=-r;C=a+112|0;w=w+60|0;x=(f|0)>1024;y=1024-f<<2;z=0-f|0;m=0;while(1){n=c[A>>2]|0;v=n-H|0;c[G>>2]=(q|0)>15?q:15;q=b+((_(m,I)|0)<<2)|0;s=a+212+((_(m,H)|0)<<2)|0;rf(q|0,s|0,B|0)|0;if((n|0)==(H|0))n=c[K+(m<<2)>>2]|0;else{n=c[K+(m<<2)>>2]|0;O=c[G>>2]|0;u=-+g[E>>2];t=c[C>>2]|0;yc(q+(H<<2)|0,n+4096|0,O,O,v,u,u,t,t,0,0)}t=n+4096|0;yc(q+(H<<2)+(v<<2)|0,t+(v<<2)|0,c[G>>2]|0,F,f-v|0,-+g[E>>2],p,c[C>>2]|0,h,c[w>>2]|0,H);rf(s|0,q+(f<<2)|0,B|0)|0;q=d+(m<<10<<2)|0;if(x)rf(q|0,n+(f<<2)|0,4096)|0;else{sf(q|0,q+(f<<2)|0,y|0)|0;rf(q+4096+(z<<2)|0,t|0,J|0)|0}m=m+1|0;if((m|0)>=(e|0))break;q=c[G>>2]|0}g[k>>2]=r;c[j>>2]=F;c[l>>2]=o;i=L;return D|0}function Tc(a,b,e,f,h){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;var j=0.0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0;x=i;o=i;i=i+((1*(b<<2)|0)+15&-16)|0;p=(b|0)/2|0;q=+(p|0);r=+(p|0);s=p+-5|0;t=(p*6|0)+-102|0;u=0;v=0;while(1){if((u|0)>=(e|0))break;l=_(u,b)|0;m=0;j=0.0;k=0.0;while(1){if((m|0)>=(b|0))break;y=+g[a+(m+l<<2)>>2];n=j+y;g[o+(m<<2)>>2]=n;m=m+1|0;j=k+n-y*2.0;k=y-n*.5}l=o;m=l+48|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=0;n=0.0;j=0.0;while(1){if((l|0)>=(p|0)){l=p;k=0.0;break}m=l<<1;y=+g[o+(m<<2)>>2];k=+g[o+((m|1)<<2)>>2];k=y*y+k*k;y=j+(k-j)*.0625;g[o+(l<<2)>>2]=y;l=l+1|0;n=n+k;j=y}a:while(1){m=l;j=k;while(1){l=m+-1|0;if((m|0)<=0)break a;m=o+(l<<2)|0;j=j+(+g[m>>2]-j)*.125;g[m>>2]=j;if(k>j)m=l;else{k=j;continue a}}}j=r/(+O(+(n*k*.5*q))+1.0000000036274937e-15)*64.0;l=12;m=0;while(1){if((l|0)>=(s|0))break;y=+M(+(j*(+g[o+(l<<2)>>2]+1.0000000036274937e-15)));A=y>127.0;z=y<0.0&(A^1);l=l+4|0;m=m+(d[28075+~~(z|A?(z?0.0:127.0):y)>>0]|0)|0}l=(m<<8|0)/(t|0)|0;if((l|0)>(v|0))c[h>>2]=u;else l=v;u=u+1|0;v=l}l=(v|0)>200&1;j=+O(+(+(v*27|0)))+-42.0;if(!(j<0.0))if(j>163.0)k=163.0;else w=20;else{j=0.0;w=20}if((w|0)==20)k=j;if(k*.006899999920278788+-.139<0.0){y=0.0;y=+O(+y);g[f>>2]=y;i=x;return l|0}y=(j>163.0?163.0:j)*.006899999920278788+-.139;y=+O(+y);g[f>>2]=y;i=x;return l|0}function Uc(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=c[a+4>>2]|0;p=(b|0)==0;t=c[a+44>>2]<<(p?i:0);s=p?1:b;p=(c[a+36>>2]|0)-(p?i:0)|0;o=a+64|0;r=_(s,t)|0;n=r+q|0;b=a+60|0;m=0;do{i=d+((_(m,n)|0)<<2)|0;a=_(_(m,t)|0,s)|0;k=0;while(1){if((k|0)>=(s|0))break;u=i+((_(k,t)|0)<<2)|0;ed(o,u,e+(k+a<<2)|0,c[b>>2]|0,q,p,s);k=k+1|0}m=m+1|0}while((m|0)<(h|0));a:do if((h|0)==2&(f|0)==1){b=0;while(1){if((b|0)>=(r|0))break a;u=e+(b<<2)|0;g[u>>2]=+g[u>>2]*.5+ +g[e+(r+b<<2)>>2]*.5;b=b+1|0}}while(0);if((j|0)==1)return;m=(r|0)/(j|0)|0;l=+(j|0);b=r-m<<2;a=0;do{i=_(_(a,s)|0,t)|0;k=0;while(1){if((k|0)>=(m|0))break;u=e+(i+k<<2)|0;g[u>>2]=+g[u>>2]*l;k=k+1|0}nf(e+(i+m<<2)|0,0,b|0)|0;a=a+1|0}while((a|0)<(f|0));return}function Vc(d,e,f,h,j,k,l,m,n,o){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;o=o|0;var p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0.0,R=0,S=0;P=i;i=i+16|0;J=P;H=.5-n;H=(H<-.25?-.25:H)*.03999999910593033;L=i;i=i+((1*(e<<2)|0)+15&-16)|0;G=c[d+32>>2]|0;K=e+-1|0;M=(b[G+(e<<1)>>1]|0)-(b[G+(K<<1)>>1]|0)<=(e|0))break;C=w+1|0;d=b[G+(w<<1)>>1]|0;D=(b[G+(C<<1)>>1]|0)-d|0;v=D<=(v|0))break;n=n+ +N(+(+g[E+(d<<2)>>2]));d=d+1|0}t=n+(I?0.0:+(m|0))*H*n;if(!(I|D)){rf(F|0,E|0,l|0)|0;d=v>>m>>1;l=0;while(1){if((l|0)<(y|0))o=0;else{n=0.0;d=0;break}while(1){if((o|0)>=(d|0))break;s=F+((_(z,o)|0)+l<<2)|0;Q=+g[s>>2]*.7071067690849304;u=F+(((o<<1|1)<>2]*.7071067690849304;g[s>>2]=Q+n;g[u>>2]=Q-n;o=o+1|0}l=l+1|0}while(1){if((d|0)>=(v|0))break;n=n+ +N(+(+g[F+(d<<2)>>2]));d=d+1|0}n=n+A*n;if(n=(((D|I^1)&1^1)+m|0))break;r=I?u+1|0:m-u+-1|0;d=1<>u>>1;o=d<<1;p=0;while(1){if((p|0)<(d|0))q=0;else{t=0.0;d=0;break}while(1){if((q|0)>=(l|0))break;S=E+((_(o,q)|0)+p<<2)|0;t=+g[S>>2]*.7071067690849304;R=E+(((q<<1|1)<>2]*.7071067690849304;g[S>>2]=t+Q;g[R>>2]=t-Q;q=q+1|0}p=p+1|0}while(1){if((d|0)>=(v|0))break;t=t+ +N(+(+g[E+(d<<2)>>2]));d=d+1|0}Q=t+ +(r|0)*H*t;R=Q>2]=l;if(!D){w=C;continue}if(!((l|0)==0|(l|0)==(B|0))){w=C;continue}c[d>>2]=l+-1;w=C}s=f<<2;r=0;while(1){if((r|0)==2)break;l=s+(r<<1)|0;d=27892+(m<<3)+l|0;l=(l|1)+(27892+(m<<3))|0;o=0;p=I?j:0;q=1;while(1){if((q|0)>=(e|0))break;k=p+j|0;R=o+j|0;S=c[L+(q<<2)>>2]|0;f=S-(a[d>>0]<<1)|0;S=S-(a[l>>0]<<1)|0;o=((o|0)<(k|0)?o:k)+((f|0)>-1?f:0-f|0)|0;p=((R|0)<(p|0)?R:p)+((S|0)>-1?S:0-S|0)|0;q=q+1|0}c[J+(r<<2)>>2]=(o|0)<(p|0)?o:p;r=r+1|0}r=I?0:(c[J+4>>2]|0)<(c[J>>2]|0)&1;o=s|r<<1;q=27892+(m<<3)+o|0;o=(o|1)+(27892+(m<<3))|0;p=0;d=I?j:0;l=1;while(1){if((l|0)>=(e|0))break;I=d+j|0;f=(p|0)<(I|0);c[M+(l<<2)>>2]=f&1^1;R=p+j|0;m=(R|0)<(d|0);c[O+(l<<2)>>2]=m&1^1;S=c[L+(l<<2)>>2]|0;J=S-(a[q>>0]<<1)|0;S=S-(a[o>>0]<<1)|0;p=(f?p:I)+((J|0)>-1?J:0-J|0)|0;d=(m?R:d)+((S|0)>-1?S:0-S|0)|0;l=l+1|0}l=(p|0)>=(d|0)&1;c[h+(K<<2)>>2]=l;d=e+-2|0;while(1){if((d|0)<=-1)break;S=c[((l|0)==1?O:M)+(d+1<<2)>>2]|0;c[h+(d<<2)>>2]=S;l=S;d=d+-1|0}i=P;return r|0}function Wc(a,d,e,f,h,j,l,m,n,o,p,q,r,s,t,u,v,w){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0.0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0.0,V=0;T=i;O=_(j,e)|0;R=i;i=i+((1*(O<<2)|0)+15&-16)|0;P=i;i=i+((1*(O<<2)|0)+15&-16)|0;nf(l|0,0,e<<2|0)|0;x=+(9-m|0);m=0;while(1){if((m|0)>=(h|0)){n=0;x=-31.899999618530273;break}O=m+5|0;g[P+(m<<2)>>2]=+(b[n+(m<<1)>>1]|0)*.0625+.5+x-+g[17220+(m<<2)>>2]+ +(_(O,O)|0)*.006200000178068876;m=m+1|0}while(1){m=_(n,e)|0;y=0;Q=x;while(1){if((y|0)>=(h|0))break;K=+g[a+(m+y<<2)>>2]-+g[P+(y<<2)>>2];y=y+1|0;Q=Q>K?Q:K}n=n+1|0;if((n|0)>=(j|0))break;else x=Q}if(!((t|0)>50&(s|0)>0&(v|0)==0)){S=0;c[u>>2]=S;i=T;return +Q}L=h+-2|0;M=h+-1|0;O=0;m=0;while(1){A=_(O,e)|0;N=R+(A<<2)|0;z=d+(A<<2)|0;n=c[z>>2]|0;c[N>>2]=n;K=(c[k>>2]=n,+g[k>>2]);x=K;n=1;D=m;while(1){if((n|0)>=(h|0)){n=D;break}v=A+n|0;J=+g[d+(v<<2)>>2];v=J>+g[d+(v+-1<<2)>>2]+.5?n:D;J=x+1.5>2]=J;x=J;n=n+1|0;D=v}while(1){m=n+-1|0;if((n|0)<=0){v=2;break}v=N+(m<<2)|0;H=+g[v>>2];I=+g[N+(n<<2)>>2]+2.0;J=+g[d+(A+m<<2)>>2];y=I>2]=H<(y?I:J)?H:y?I:J;n=m}while(1){if((v|0)>=(L|0))break;y=N+(v<<2)|0;F=+g[y>>2];n=d+(A+v+-2<<2)|0;x=+g[n+8>>2];G=+g[n>>2];H=+g[n+4>>2];m=G>H;U=m?G:H;B=m?H:G;I=+g[n+12>>2];J=+g[n+16>>2];n=I>J;C=n?J:I;E=n?I:J;V=B>C;C=V?B:C;B=V?E:U;E=V?U:E;do if(x>B)if(BB+-1.0)x=F;else{U=m?G:H;B=m?H:G;C=n?J:I;E=n?I:J;V=B>C;C=V?B:C;B=V?E:U;E=V?U:E;do if(x>B)if(B>2]=x;v=v+1|0}C=+g[z+4>>2];V=K>C;x=V?C:K;C=V?K:C;B=+g[z+8>>2];if(!(C>2];g[N>>2]=B>C?B:C;V=N+4|0;B=+g[V>>2];g[V>>2]=B>C?B:C;V=d+(A+h+-3<<2)|0;C=+g[V>>2];B=+g[V+4>>2];A=C>B;x=A?B:C;B=A?C:B;C=+g[V+8>>2];if(!(B>2];g[m>>2]=K>U?K:U;m=N+(M<<2)|0;K=+g[m>>2];g[m>>2]=K>U?K:U;m=0;while(1){if((m|0)>=(h|0))break;V=N+(m<<2)|0;K=+g[V>>2];U=+g[P+(m<<2)>>2];g[V>>2]=K>U?K:U;m=m+1|0}O=O+1|0;if((O|0)>=(j|0))break;else m=D}a:do if((j|0)==2){m=f;while(1){if((m|0)>=(h|0)){m=f;break a}P=m+e|0;d=R+(P<<2)|0;U=+g[d>>2];V=R+(m<<2)|0;K=+g[V>>2]+-4.0;K=U>K?U:K;g[d>>2]=K;U=+g[V>>2];K=K+-4.0;K=U>K?U:K;g[V>>2]=K;K=+g[a+(m<<2)>>2]-K;U=+g[a+(P<<2)>>2]-+g[d>>2];g[V>>2]=((K<0.0?0.0:K)+(U<0.0?0.0:U))*.5;m=m+1|0}}else{m=f;while(1){if((m|0)>=(h|0)){m=f;break a}V=R+(m<<2)|0;U=+g[a+(m<<2)>>2]-+g[V>>2];g[V>>2]=U<0.0?0.0:U;m=m+1|0}}while(0);while(1){if((m|0)>=(h|0))break;V=R+(m<<2)|0;K=+g[V>>2];U=+g[w+(m<<2)>>2];g[V>>2]=K>U?K:U;m=m+1|0}D=(p|0)==0;b:do if((D|(q|0)!=0)&(o|0)==0){m=f;while(1){if((m|0)>=(h|0))break b;V=R+(m<<2)|0;g[V>>2]=+g[V>>2]*.5;m=m+1|0}}while(0);A=(t|0)/4|0;z=(q|0)==0;m=0;while(1){if((f|0)>=(h|0)){S=76;break}if((f|0)>=8){n=R+(f<<2)|0;x=+g[n>>2];if((f|0)>11){x=x*.5;g[n>>2]=x}}else{n=R+(f<<2)|0;x=+g[n>>2]*2.0;g[n>>2]=x}x=x<4.0?x:4.0;g[n>>2]=x;v=f+1|0;n=(_((b[r+(v<<1)>>1]|0)-(b[r+(f<<1)>>1]|0)|0,j)|0)<=6)if((n|0)>48){V=~~(x*8.0);y=V;n=((_(V,n)|0)<<3|0)/8|0;break}else{n=~~(x*+(n|0)/6.0);y=n;n=n*48|0;break}else{V=~~x;y=V;n=(_(V,n)|0)<<3}while(0);if(!((z|(o|0)!=0)&(D^1))?(m+n>>6|0)>(A|0):0)break;c[l+(f<<2)>>2]=y;f=v;m=m+n|0}if((S|0)==76){c[u>>2]=m;i=T;return +Q}V=A<<6;c[l+(f<<2)>>2]=V-m;c[u>>2]=V;i=T;return +Q}function Xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0;h=i;i=i+16|0;e=h;c[e>>2]=d;do switch(b|0){case 10010:{f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;if((b|0)>=0?(b|0)<(c[(c[a>>2]|0)+8>>2]|0):0){c[a+20>>2]=b;b=25}else b=26;break}case 10012:{f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;if((b|0)>=1?(b|0)<=(c[(c[a>>2]|0)+8>>2]|0):0){c[a+24>>2]=b;b=25}else b=26;break}case 10008:{f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;if((b+-1|0)>>>0>1)b=26;else{c[a+12>>2]=b;b=25}break}case 10007:{f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;if(!b)b=26;else{a=a+40|0;c[b>>2]=c[a>>2];c[a>>2]=0;b=25}break}case 4027:{f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;if(!b)b=26;else{c[b>>2]=(c[a+4>>2]|0)/(c[a+16>>2]|0)|0;b=25}break}case 4028:{f=c[a+8>>2]|0;b=a+88+((_((c[a+4>>2]|0)+2048|0,f)|0)<<2)+(f*24<<2)|0;j=c[a>>2]|0;e=c[j+8>>2]|0;d=e<<1;b=b+(d<<2)|0;d=b+(d<<2)|0;nf(a+36|0,0,((_((c[j+4>>2]|0)+2048|0,f)|0)<<2)+88+(f*96|0)+(e<<5)+-36|0)|0;f=0;while(1){if((f|0)>=(e<<1|0))break;g[d+(f<<2)>>2]=-28.0;g[b+(f<<2)>>2]=-28.0;e=c[(c[a>>2]|0)+8>>2]|0;f=f+1|0}c[a+52>>2]=1;b=25;break}case 4033:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if(!b)b=26;else{c[b>>2]=c[a+56>>2];b=25}break}case 10015:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if(!b)b=26;else{c[b>>2]=c[a>>2];b=25}break}case 10016:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;c[a+28>>2]=b;b=25;break}case 4031:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if(!b)b=26;else{c[b>>2]=c[a+36>>2];b=25}break}default:{i=h;return}}while(0);if((b|0)==25){i=h;return}else if((b|0)==26){i=h;return}}function Yc(e,f,h,j,k,l,m){e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0;Ha=i;i=i+96|0;J=Ha;B=Ha+40|0;ba=Ha+32|0;Ga=Ha+24|0;ea=Ha+16|0;da=Ha+12|0;ca=Ha+8|0;za=c[e+8>>2]|0;c[ea>>2]=0;c[da>>2]=0;ma=c[e+12>>2]|0;Da=c[e>>2]|0;ka=Da+8|0;Ea=c[ka>>2]|0;qa=c[Da+4>>2]|0;la=Da+32|0;R=c[la>>2]|0;Aa=c[e+20>>2]|0;Ba=c[e+24>>2]|0;Ca=e+16|0;va=_(c[Ca>>2]|0,k)|0;o=qa+2048|0;wa=e+88+((_(o,za)|0)<<2)+(za*24<<2)|0;sa=Ea<<1;xa=wa+(sa<<2)|0;ya=xa+(sa<<2)|0;ra=ya+(sa<<2)|0;pa=Da+44|0;k=c[Da+36>>2]|0;na=0;while(1){if((na|0)>(k|0)){k=-1;K=268;break}if((c[pa>>2]<>>0>1275|(j|0)==0){e=-1;i=Ha;return e|0}ua=c[pa>>2]<>2]=ta;c[Ga+(n<<2)>>2]=ta+8192+(k<<2);n=n+1|0}while((n|0)<(za|0));ja=c[Da+12>>2]|0;ja=(Ba|0)>(ja|0)?ja:Ba;if((f|0)==0|(h|0)<2){Zc(e,ua,na);$c(Ga,j,ua,za,c[Ca>>2]|0,Da+16|0,e+80|0,m);e=(va|0)/(c[Ca>>2]|0)|0;i=Ha;return e|0}ta=e+48|0;c[e+52>>2]=(c[ta>>2]|0)!=0&1;a:do if(!l){c[B>>2]=f;c[B+4>>2]=h;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;t=B+20|0;c[t>>2]=9;u=B+24|0;c[u>>2]=0;v=B+28|0;c[v>>2]=128;if(!h){k=0;n=0}else{c[u>>2]=1;k=1;n=d[f>>0]|0}w=B+40|0;c[w>>2]=n;s=n>>>1^127;x=B+32|0;c[x>>2]=s;c[B+44>>2]=0;o=128;l=9;while(1){if(o>>>0>=8388609){l=B;break a}l=l+8|0;c[t>>2]=l;o=o<<8;c[v>>2]=o;if(k>>>0>>0){q=k+1|0;c[u>>2]=q;r=d[f+k>>0]|0}else{q=k;r=0}c[w>>2]=r;ia=((n<<8|r)>>>1&255|s<<8&2147483392)^255;c[x>>2]=ia;k=q;n=r;s=ia}}while(0);fa=(ma|0)==1;b:do if(fa){k=0;while(1){if((k|0)>=(Ea|0))break b;ia=wa+(k<<2)|0;G=+g[ia>>2];H=+g[wa+(Ea+k<<2)>>2];g[ia>>2]=G>H?G:H;k=k+1|0}}while(0);ga=h<<3;ha=l+20|0;k=c[ha>>2]|0;ia=l+28|0;r=c[ia>>2]|0;o=k+((aa(r|0)|0)+-32)|0;if((o|0)<(ga|0))if((o|0)==1){w=l+32|0;o=c[w>>2]|0;q=r>>>15;x=o>>>0>>0;n=x&1;if(!x){o=o-q|0;c[w>>2]=o;q=r-q|0}c[ia>>2]=q;t=l+40|0;u=l+24|0;v=l+4|0;while(1){if(q>>>0>=8388609)break;k=k+8|0;c[ha>>2]=k;q=q<<8;c[ia>>2]=q;s=c[t>>2]|0;r=c[u>>2]|0;if(r>>>0<(c[v>>2]|0)>>>0){c[u>>2]=r+1;r=d[(c[l>>2]|0)+r>>0]|0}else r=0;c[t>>2]=r;$=((s<<8|r)>>>1&255|o<<8&2147483392)^255;c[w>>2]=$;o=$}if(x){o=q;K=31}else{n=0;o=1}}else{q=r;n=0}else{o=r;n=1;K=31}if((K|0)==31){k=k+(ga-(k+((aa(o|0)|0)+-32)))|0;c[ha>>2]=k;q=o;o=ga}if((Aa|0)!=0|(o+16|0)>(ga|0)){$=0;Z=0;p=0.0}else{I=l+32|0;o=c[I>>2]|0;r=q>>>1;t=o>>>0>>0;if(!t){o=o-r|0;c[I>>2]=o;r=q-r|0}c[ia>>2]=r;D=l+40|0;E=l+24|0;F=l+4|0;while(1){if(r>>>0>=8388609)break;k=k+8|0;c[ha>>2]=k;r=r<<8;c[ia>>2]=r;s=c[D>>2]|0;q=c[E>>2]|0;if(q>>>0<(c[F>>2]|0)>>>0){c[E>>2]=q+1;q=d[(c[l>>2]|0)+q>>0]|0}else q=0;c[D>>2]=q;$=((s<<8|q)>>>1&255|o<<8&2147483392)^255;c[I>>2]=$;o=$}if(t){B=bd(l,6)|0;v=16<>2]|0;C=l+16|0;o=c[C>>2]|0;if(o>>>0>>0){t=l+8|0;s=c[F>>2]|0;u=o+8|0;u=o+(((u|0)>25?u:25)+-1-o&-8)|0;q=c[t>>2]|0;do{if(q>>>0>>0){r=q+1|0;c[t>>2]=r;q=r;r=d[(c[l>>2]|0)+(s-r)>>0]|0}else r=0;k=k|r<>>w;q=r-w|0;c[f>>2]=o;c[C>>2]=q;x=(c[ha>>2]|0)+w|0;c[ha>>2]=x;k=v+(k&(1<>>0<3){v=l+8|0;u=c[F>>2]|0;t=r+4-B|0;t=r+(B+((t|0)>25?t:25)+3-r&-8)+4|0;r=c[v>>2]|0;do{if(r>>>0>>0){s=r+1|0;c[v>>2]=s;r=s;s=d[(c[l>>2]|0)+(u-s)>>0]|0}else s=0;o=o|s<>2]=o>>>3;c[C>>2]=q+-3;q=x+3|0;c[ha>>2]=q;r=c[ia>>2]|0;c:do if((q+((aa(r|0)|0)+-32)+2|0)>(ga|0))o=0;else{t=c[I>>2]|0;u=r>>>2;o=-1;while(1){o=o+1|0;s=_(u,d[29345+o>>0]|0)|0;if(t>>>0>=s>>>0)break;else r=s}u=t-s|0;c[I>>2]=u;r=r-s|0;c[ia>>2]=r;while(1){if(r>>>0>=8388609)break c;q=q+8|0;c[ha>>2]=q;r=r<<8;c[ia>>2]=r;t=c[D>>2]|0;s=c[E>>2]|0;if(s>>>0<(c[F>>2]|0)>>>0){c[E>>2]=s+1;s=d[(c[l>>2]|0)+s>>0]|0}else s=0;c[D>>2]=s;$=((t<<8|s)>>>1&255|u<<8&2147483392)^255;c[I>>2]=$;u=$}}while(0);s=q;p=+(v+1|0)*.09375}else{s=k;p=0.0;k=0;o=0}$=k;Z=o;k=s;q=r;o=s+((aa(r|0)|0)+-32)|0}Q=(na|0)>0;if(!((o+3|0)>(ga|0)|Q^1)){w=l+32|0;o=c[w>>2]|0;r=q>>>3;x=o>>>0>>0;B=x&1;if(x)q=r;else{o=o-r|0;c[w>>2]=o;q=q-r|0}c[ia>>2]=q;t=l+40|0;u=l+24|0;v=l+4|0;while(1){if(q>>>0>=8388609)break;k=k+8|0;c[ha>>2]=k;q=q<<8;c[ia>>2]=q;s=c[t>>2]|0;r=c[u>>2]|0;if(r>>>0<(c[v>>2]|0)>>>0){c[u>>2]=r+1;r=d[(c[l>>2]|0)+r>>0]|0}else r=0;c[t>>2]=r;Y=((s<<8|r)>>>1&255|o<<8&2147483392)^255;c[w>>2]=Y;o=Y}o=k+((aa(q|0)|0)+-32)|0;if(x)W=oa;else K=72}else K=72;if((K|0)==72){B=0;W=0}if((o+3|0)<=(ga|0)){w=l+32|0;o=c[w>>2]|0;r=q>>>3;u=o>>>0>>0;f=u&1;if(!u){o=o-r|0;c[w>>2]=o;r=q-r|0}c[ia>>2]=r;v=l+40|0;q=l+24|0;x=l+4|0;while(1){if(r>>>0>=8388609)break;k=k+8|0;c[ha>>2]=k;r=r<<8;c[ia>>2]=r;t=c[v>>2]|0;s=c[q>>2]|0;if(s>>>0<(c[x>>2]|0)>>>0){c[q>>2]=s+1;s=d[(c[l>>2]|0)+s>>0]|0}else s=0;c[v>>2]=s;Y=((t<<8|s)>>>1&255|o<<8&2147483392)^255;c[w>>2]=Y;o=Y}Y=J;c[Y>>2]=0;c[Y+4>>2]=0;if(u){k=w;o=v;r=l;Y=x;P=f;y=.149993896484375;z=0.0;t=J}else{s=x;k=w;o=v;r=l;t=J;K=83}}else{s=J;c[s>>2]=0;c[s+4>>2]=0;s=l+4|0;k=l+32|0;o=l+40|0;q=l+24|0;r=l;t=J;K=83}if((K|0)==83){Y=s;P=0;y=+g[17320+(na<<2)>>2];z=+g[17336+(na<<2)>>2]}J=c[Y>>2]<<3;K=l+36|0;N=Aa;while(1){if((N|0)>=(Ba|0))break;L=(N|0)<20;M=0;do{v=c[ha>>2]|0;I=c[ia>>2]|0;s=v+((aa(I|0)|0)+-32)|0;u=J-s|0;d:do if((u|0)<=14){if((u|0)>1){w=c[k>>2]|0;x=I>>>2;f=-1;u=I;while(1){f=f+1|0;s=_(x,d[29345+f>>0]|0)|0;if(w>>>0>=s>>>0)break;else u=s}x=w-s|0;c[k>>2]=x;u=u-s|0;c[ia>>2]=u;s=v;while(1){if(u>>>0>=8388609)break;s=s+8|0;c[ha>>2]=s;u=u<<8;c[ia>>2]=u;w=c[o>>2]|0;v=c[q>>2]|0;if(v>>>0<(c[Y>>2]|0)>>>0){c[q>>2]=v+1;v=d[(c[r>>2]|0)+v>>0]|0}else v=0;c[o>>2]=v;V=((w<<8|v)>>>1&255|x<<8&2147483392)^255;c[k>>2]=V;x=V}s=f>>1^0-(f&1);break}if((J|0)>(s|0)){u=c[k>>2]|0;s=I>>>1;f=u>>>0>>0;if(!f){u=u-s|0;c[k>>2]=u;s=I-s|0}c[ia>>2]=s;while(1){if(s>>>0>=8388609)break;v=v+8|0;c[ha>>2]=v;s=s<<8;c[ia>>2]=s;x=c[o>>2]|0;w=c[q>>2]|0;if(w>>>0<(c[Y>>2]|0)>>>0){c[q>>2]=w+1;w=d[(c[r>>2]|0)+w>>0]|0}else w=0;c[o>>2]=w;V=((x<<8|w)>>>1&255|u<<8&2147483392)^255;c[k>>2]=V;u=V}s=f<<31>>31}else s=-1}else{C=(L?N:20)<<1;s=d[29009+(na*84|0)+(P*42|0)+C>>0]<<7;C=d[(C|1)+(29009+(na*84|0)+(P*42|0))>>0]<<6;E=I>>>15;c[K>>2]=E;F=c[k>>2]|0;D=(F>>>0)/(E>>>0)|0;V=D+1|0;D=32768-(V+(V>>>0>32768?32767-D|0:0))|0;if(D>>>0>>0){w=s;u=0;s=0}else{u=_(32736-s|0,16384-C|0)|0;x=1;while(1){V=u>>>15;w=V+1|0;if(!V)break;u=w<<1;f=s+u|0;if(D>>>0>>0)break;u=_(u+-2|0,C)|0;s=f;x=x+1|0}if(w>>>0<2){V=(D-s|0)>>>1;s=s+(V<<1)|0;x=x+V|0}u=s+w|0;V=D>>>0>>0;u=V?s:u;s=V?0-x|0:x}w=u+w|0;w=w>>>0<32768?w:32768;V=_(E,32768-w|0)|0;f=F-V|0;c[k>>2]=f;w=_(E,w-u|0)|0;w=(u|0)==0?I-V|0:w;c[ia>>2]=w;u=v;while(1){if(w>>>0>=8388609)break d;u=u+8|0;c[ha>>2]=u;w=w<<8;c[ia>>2]=w;x=c[o>>2]|0;v=c[q>>2]|0;if(v>>>0<(c[Y>>2]|0)>>>0){c[q>>2]=v+1;v=d[(c[r>>2]|0)+v>>0]|0}else v=0;c[o>>2]=v;V=((x<<8|v)>>>1&255|f<<8&2147483392)^255;c[k>>2]=V;f=V}}while(0);H=+(s|0);U=wa+(N+(_(M,c[ka>>2]|0)|0)<<2)|0;G=+g[U>>2];g[U>>2]=G<-9.0?-9.0:G;U=wa+(N+(_(M,c[ka>>2]|0)|0)<<2)|0;V=t+(M<<2)|0;g[U>>2]=z*+g[U>>2]+ +g[V>>2]+H;g[V>>2]=+g[V>>2]+H-y*H;M=M+1|0}while((M|0)<(ma|0));N=N+1|0}V=Fa()|0;U=i;i=i+((1*(Ea<<2)|0)+15&-16)|0;N=c[Y>>2]|0;s=N<<3;u=c[ha>>2]|0;v=c[ia>>2]|0;x=u+((aa(v|0)|0)+-32)|0;t=(B|0)!=0;w=t?2:4;if(Q)I=(x+w+1|0)>>>0<=s>>>0;else I=0;F=s-(I&1)|0;E=t?4:5;C=0;D=Aa;s=x;f=0;while(1){if((D|0)>=(Ba|0))break;if((s+w|0)>>>0>F>>>0){x=C;t=f}else{t=c[k>>2]|0;s=v>>>w;T=t>>>0>>0;x=T&1;if(!T){t=t-s|0;c[k>>2]=t;s=v-s|0}c[ia>>2]=s;w=u;while(1){if(s>>>0>=8388609)break;w=w+8|0;c[ha>>2]=w;s=s<<8;c[ia>>2]=s;v=c[o>>2]|0;u=c[q>>2]|0;if(u>>>0>>0){c[q>>2]=u+1;u=d[(c[r>>2]|0)+u>>0]|0}else u=0;c[o>>2]=u;T=((v<<8|u)>>>1&255|t<<8&2147483392)^255;c[k>>2]=T;t=T}t=C^x;u=w;v=s;x=t;s=w+((aa(s|0)|0)+-32)|0;t=f|t}c[U+(D<<2)>>2]=x;C=x;D=D+1|0;w=E;f=t}C=B<<2;if(I?(a[C+f+(27892+(na<<3))>>0]|0)!=(a[(C|2)+f+(27892+(na<<3))>>0]|0):0){t=c[k>>2]|0;s=v>>>1;T=t>>>0>>0;f=T&1;if(!T){t=t-s|0;c[k>>2]=t;s=v-s|0}c[ia>>2]=s;while(1){if(s>>>0>=8388609)break;u=u+8|0;c[ha>>2]=u;s=s<<8;c[ia>>2]=s;w=c[o>>2]|0;v=c[q>>2]|0;if(v>>>0>>0){c[q>>2]=v+1;v=d[(c[r>>2]|0)+v>>0]|0}else v=0;c[o>>2]=v;T=((w<<8|v)>>>1&255|t<<8&2147483392)^255;c[k>>2]=T;t=T}x=s;s=f<<1}else{x=v;s=0}s=C+s|0;t=Aa;while(1){if((t|0)>=(Ba|0))break;T=U+(t<<2)|0;c[T>>2]=a[s+(c[T>>2]|0)+(27892+(na<<3))>>0];t=t+1|0}e:do if((u+((aa(x|0)|0)+-32)+4|0)>(ga|0)){s=u;t=x;f=2}else{v=c[k>>2]|0;w=x>>>5;f=-1;t=x;while(1){f=f+1|0;s=_(w,d[28203+f>>0]|0)|0;if(v>>>0>=s>>>0)break;else t=s}w=v-s|0;c[k>>2]=w;t=t-s|0;c[ia>>2]=t;s=u;while(1){if(t>>>0>=8388609)break e;s=s+8|0;c[ha>>2]=s;u=t<<8;c[ia>>2]=u;v=c[o>>2]|0;t=c[q>>2]|0;if(t>>>0>>0){c[q>>2]=t+1;t=d[(c[r>>2]|0)+t>>0]|0}else t=0;c[o>>2]=t;T=((v<<8|t)>>>1&255|w<<8&2147483392)^255;c[k>>2]=T;t=u;w=T}}while(0);M=i;i=i+((1*(Ea<<2)|0)+15&-16)|0;u=c[ka>>2]|0;v=(na<<1)+ma+-1|0;w=Da+104|0;x=0;while(1){if((x|0)>=(u|0))break;T=x+1|0;S=c[la>>2]|0;Q=(_(u,v)|0)+x|0;c[M+(x<<2)>>2]=(_(_((d[(c[w>>2]|0)+Q>>0]|0)+64|0,ma)|0,(b[S+(T<<1)>>1]|0)-(b[S+(x<<1)>>1]|0)<>2;x=T}L=i;i=i+((1*(Ea<<2)|0)+15&-16)|0;Q=h<<6;S=32-(aa(t|0)|0)|0;T=t>>>(S+-16|0);w=(T>>>12)+-8|0;C=s;J=6;K=Aa;s=(s<<3)-((S<<3)+(w+(T>>>0>(c[5272+(w<<2)>>2]|0)>>>0&1)))|0;w=Q;while(1){if((K|0)>=(Ba|0))break;I=K+1|0;D=(_(ma,(b[R+(I<<1)>>1]|0)-(b[R+(K<<1)>>1]|0)|0)|0)<=(F|0))break;if((C|0)>=(c[E>>2]|0))break;s=c[k>>2]|0;v=t>>>v;x=s>>>0>>0;if(x)t=v;else{s=s-v|0;c[k>>2]=s;t=t-v|0}c[ia>>2]=t;while(1){if(t>>>0>=8388609)break;u=u+8|0;c[ha>>2]=u;t=t<<8;c[ia>>2]=t;w=c[o>>2]|0;v=c[q>>2]|0;if(v>>>0>>0){c[q>>2]=v+1;v=d[(c[r>>2]|0)+v>>0]|0}else v=0;c[o>>2]=v;T=((w<<8|v)>>>1&255|s<<8&2147483392)^255;c[k>>2]=T;s=T}S=32-(aa(t|0)|0)|0;T=t>>>(S+-16|0);s=(T>>>12)+-8|0;s=(u<<3)-((S<<3)+(s+(T>>>0>(c[5272+(s<<2)>>2]|0)>>>0&1)))|0;if(!x)break;C=C+D|0;v=1;F=F-D|0}c[L+(K<<2)>>2]=C;if((C|0)<=0){C=u;K=I;w=F;continue}C=u;J=(J|0)<3?2:J+-1|0;K=I;w=F}h=i;i=i+((1*(Ea<<2)|0)+15&-16)|0;f:do if((s+48|0)>(w|0)){o=C;k=t;q=5}else{u=c[k>>2]|0;v=t>>>7;x=-1;while(1){x=x+1|0;s=_(v,d[28207+x>>0]|0)|0;if(u>>>0>=s>>>0)break;else t=s}w=u-s|0;c[k>>2]=w;t=t-s|0;c[ia>>2]=t;s=C;while(1){if(t>>>0>=8388609){o=s;k=t;q=x;break f}s=s+8|0;c[ha>>2]=s;u=t<<8;c[ia>>2]=u;v=c[o>>2]|0;t=c[q>>2]|0;if(t>>>0>>0){c[q>>2]=t+1;t=d[(c[r>>2]|0)+t>>0]|0}else t=0;c[o>>2]=t;T=((v<<8|t)>>>1&255|w<<8&2147483392)^255;c[k>>2]=T;t=u;w=T}}while(0);S=32-(aa(k|0)|0)|0;T=k>>>(S+-16|0);k=(T>>>12)+-8|0;k=Q+((S<<3)+(k+(T>>>0>(c[5272+(k<<2)>>2]|0)>>>0&1))-(o<<3))+-1|0;T=(B|0)==0;if((na|0)>1&(T^1))E=(k|0)>=((na<<3)+16|0);else E=0;F=E?8:0;S=i;i=i+((1*(Ea<<2)|0)+15&-16)|0;N=i;i=i+((1*(Ea<<2)|0)+15&-16)|0;D=sd(Da,Aa,Ba,L,M,q,ea,da,k-F|0,ca,S,h,N,ma,na,l,0,0,0)|0;I=l+12|0;J=l+16|0;K=l+8|0;C=Aa;while(1){if((C|0)>=(Ba|0))break;v=c[h+(C<<2)>>2]|0;if((v|0)>=1){w=(1<>2]|0;k=c[J>>2]|0;x=0;do{if(k>>>0>>0){t=k+8|0;u=((t|0)>25?t:25)+-1-k&-8;o=q;do{q=c[K>>2]|0;s=c[Y>>2]|0;if(q>>>0>>0){q=q+1|0;c[K>>2]=q;q=d[(c[r>>2]|0)+(s-q)>>0]|0}else q=0;o=o|q<>>v;k=k-v|0;c[I>>2]=q;c[J>>2]=k;c[ha>>2]=(c[ha>>2]|0)+v;R=wa+(C+(_(x,c[ka>>2]|0)|0)<<2)|0;g[R>>2]=+g[R>>2]+((+(o&w|0)+.5)*y*.00006103515625+-.5);x=x+1|0}while((x|0)<(ma|0))}C=C+1|0}k=2048-ua+((qa|0)/2|0)<<2;o=0;do{R=c[ba+(o<<2)>>2]|0;sf(R|0,R+(ua<<2)|0,k|0)|0;o=o+1|0}while((o|0)<(za|0));M=_(ma,Ea)|0;L=i;i=i+((1*M|0)+15&-16)|0;R=(_(ma,ua)|0)<<2;P=i;i=i+((1*R|0)+15&-16)|0;R=e+36|0;Yd(0,Da,Aa,Ba,P,(ma|0)==2?P+(ua<<2)|0:0,L,0,S,W,f,c[da>>2]|0,c[ea>>2]|0,U,Q-F|0,c[ca>>2]|0,l,na,D,R,0,c[e+32>>2]|0);if(E){o=c[I>>2]|0;k=c[J>>2]|0;if(!k){s=c[Y>>2]|0;q=c[K>>2]|0;t=0;do{if(q>>>0>>0){k=q+1|0;c[K>>2]=k;q=k;k=d[(c[r>>2]|0)+(s-k)>>0]|0}else k=0;o=o|k<>2]=o>>>1;c[J>>2]=k+-1;k=(c[ha>>2]|0)+1|0;c[ha>>2]=k;f=o&1}else{k=c[ha>>2]|0;f=0}o=ga-(k+((aa(c[ia>>2]|0)|0)+-32))|0;x=0;while(1){if((x|0)==2)break;else w=Aa;while(1){if(!((w|0)<(Ba|0)&(o|0)>=(ma|0)))break;q=c[h+(w<<2)>>2]|0;do if((q|0)<=7){if((c[N+(w<<2)>>2]|0)!=(x|0))break;y=+(1<<14-q+-1|0);s=c[J>>2]|0;t=c[I>>2]|0;v=0;do{if(!s){u=0;while(1){q=c[K>>2]|0;s=c[Y>>2]|0;if(q>>>0>>0){q=q+1|0;c[K>>2]=q;q=d[(c[r>>2]|0)+(s-q)>>0]|0}else q=0;q=t|q<=25){s=32;break}else t=q}}else q=t;t=q>>>1;s=s+-1|0;c[I>>2]=t;c[J>>2]=s;k=k+1|0;c[ha>>2]=k;ea=wa+(w+(_(v,c[ka>>2]|0)|0)<<2)|0;g[ea>>2]=+g[ea>>2]+(+(q&1|0)+-.5)*y*.00006103515625;o=o+-1|0;v=v+1|0}while((v|0)<(ma|0))}while(0);w=w+1|0}x=x+1|0}g:do if(f|0){u=(na|0)==3;k=c[R>>2]|0;C=Aa;h:while(1){if((C|0)>=(Ba|0))break g;v=C+1|0;w=c[la>>2]|0;w=(b[w+(v<<1)>>1]|0)-(b[w+(C<<1)>>1]|0)|0;G=+X(+(+(((((c[S+(C<<2)>>2]|0)+1|0)>>>0)/(w>>>0)|0)>>>na|0)*-.125*.6931471805599453))*.5;x=w<>2]|0;r=(_(o,q)|0)+C|0;z=+g[xa+(r<<2)>>2];y=+g[ya+(r<<2)>>2];do if(fa){ea=q+C|0;A=+g[xa+(ea<<2)>>2];z=z>A?z:A;A=+g[ya+(ea<<2)>>2];if(y>A)break;y=A}while(0);y=+g[wa+(r<<2)>>2]-(z>2]|0)+(C<<1)>>1]<=(oa|0))break;i:do if(!(d[s>>0]&1<=(w|0)){q=1;break i}ea=(_(k,1664525)|0)+1013904223|0;g[t+((q<>2]=(ea&32768|0)==0?z:y;k=ea;q=q+1|0}}while(0);r=r+1|0}j:do if(q|0){q=0;y=0.0;while(1){if((q|0)>=(x|0))break;A=+g[t+(q<<2)>>2];q=q+1|0;y=y+A*A}y=1.0/+O(+(y+1.0000000036274937e-15));r=0;q=t;while(1){if((r|0)>=(x|0))break j;g[q>>2]=y*+g[q>>2];r=r+1|0;q=q+4|0}}while(0);o=o+1|0;if((o|0)>=(ma|0)){C=v;continue h}}}}while(0);k:do if(n|0){k=0;while(1){if((k|0)>=(M|0))break k;g[wa+(k<<2)>>2]=-28.0;k=k+1|0}}while(0);_c(Da,P,Ga,wa,Aa,ja,ma,za,B,na,c[Ca>>2]|0,n);q=e+56|0;r=e+60|0;s=e+68|0;t=e+64|0;u=e+76|0;v=e+72|0;w=Da+60|0;k=(na|0)==0;o=0;do{na=c[q>>2]|0;na=(na|0)>15?na:15;c[q>>2]=na;ma=c[r>>2]|0;ma=(ma|0)>15?ma:15;c[r>>2]=ma;n=c[Ga+(o<<2)>>2]|0;yc(n,n,ma,na,c[pa>>2]|0,+g[s>>2],+g[t>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,qa);if(!k){na=c[pa>>2]|0;ma=n+(na<<2)|0;yc(ma,ma,c[q>>2]|0,$,ua-na|0,+g[t>>2],p,c[v>>2]|0,Z,c[w>>2]|0,qa)}o=o+1|0}while((o|0)<(za|0));c[r>>2]=c[q>>2];c[s>>2]=c[t>>2];c[u>>2]=c[v>>2];c[q>>2]=$;g[t>>2]=p;c[v>>2]=Z;if(!k){c[r>>2]=$;g[s>>2]=p;c[u>>2]=Z}if(fa)rf(wa+(Ea<<2)|0,wa|0,Ea<<2|0)|0;l:do if(T){k=Ea<<3;rf(ya|0,xa|0,k|0)|0;rf(xa|0,wa|0,k|0)|0;p=(c[ta>>2]|0)<10?+(oa|0)*1.0000000474974513e-03:1.0;k=0;while(1){if((k|0)>=(sa|0)){o=0;break l}qa=ra+(k<<2)|0;G=+g[qa>>2]+p;H=+g[wa+(k<<2)>>2];g[qa>>2]=G=(sa|0)){o=0;break l}ra=xa+(k<<2)|0;G=+g[ra>>2];H=+g[wa+(k<<2)>>2];g[ra>>2]=G=(Aa|0)){k=Ba;break}sa=n+k|0;g[wa+(sa<<2)>>2]=0.0;g[ya+(sa<<2)>>2]=-28.0;g[xa+(sa<<2)>>2]=-28.0;k=k+1|0}while(1){if((k|0)>=(Ea|0))break;sa=n+k|0;g[wa+(sa<<2)>>2]=0.0;g[ya+(sa<<2)>>2]=-28.0;g[xa+(sa<<2)>>2]=-28.0;k=k+1|0}o=o+1|0}while((o|0)!=2);c[R>>2]=c[ia>>2];$c(Ga,j,ua,za,c[Ca>>2]|0,Da+16|0,e+80|0,m);c[ta>>2]=0;if(((c[ha>>2]|0)+((aa(c[ia>>2]|0)|0)+-32)|0)>(ga|0))k=-3;else{if(c[l+44>>2]|0)c[e+40>>2]=1;k=(va|0)/(c[Ca>>2]|0)|0}Na(V|0);e=k;i=Ha;return e|0}function Zc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0.0;X=i;i=i+8512|0;l=X+8504|0;k=X+4408|0;W=X+4400|0;z=X+4392|0;P=X+296|0;N=X+192|0;Q=X+96|0;R=X;V=c[a+8>>2]|0;A=c[a>>2]|0;n=c[A+8>>2]|0;U=c[A+4>>2]|0;y=c[A+32>>2]|0;f=U+2048|0;M=0-d|0;h=0;do{T=a+88+((_(h,f)|0)<<2)|0;c[W+(h<<2)>>2]=T;c[z+(h<<2)>>2]=T+8192+(M<<2);h=h+1|0}while((h|0)<(V|0));L=a+88+((_(f,V)|0)<<2)|0;w=L+(V*24<<2)|0;m=n<<1;m=w+(m<<2)+(m<<2)+(m<<2)|0;S=a+48|0;T=c[S>>2]|0;x=c[a+20>>2]|0;if((T|0)<5&(x|0)==0?(c[a+52>>2]|0)==0:0){K=(T|0)==0;if(K){gd(W,k,2048,V);id(k+1440|0,k,1328,620,l);J=720-(c[l>>2]|0)|0;c[a+44>>2]=J;I=1.0}else{I=.800000011920929;J=c[a+44>>2]|0}G=Fa()|0;H=i;i=i+((1*(U<<2)|0)+15&-16)|0;u=c[A+60>>2]|0;w=J<<1;x=(w|0)<1024;y=P+4096|0;e=2048-d|0;z=e<<2;A=1024-J|0;B=U+d|0;C=1024-d+A|0;D=e+-1|0;E=a+56|0;F=a+64|0;o=a+72|0;p=(U|0)/2|0;q=U+-1|0;t=0;do{s=c[W+(t<<2)>>2]|0;f=0;while(1){if((f|0)==1024)break;c[P+(f<<2)>>2]=c[s+(f+1024<<2)>>2];f=f+1|0}if(K){pd(P,N,u,U,24,1024);g[N>>2]=+g[N>>2]*1.000100016593933;f=1;while(1){if((f|0)==25)break;a=N+(f<<2)|0;r=+g[a>>2];v=+(f|0);g[a>>2]=r-r*6.400000711437315e-05*v*v;f=f+1|0}ld(L+(t*24<<2)|0,N,24)}k=x?w:1024;f=2048-k+-1|0;h=0;while(1){if((h|0)==24)break;c[Q+(h<<2)>>2]=c[s+(f-h<<2)>>2];h=h+1|0}l=y+(0-k<<2)|0;n=L+(t*24<<2)|0;md(l,n,l,k,Q);l=k>>1;m=1024-l|0;f=1024-k|0;j=1.0;r=1.0;h=0;while(1){if((h|0)>=(l|0))break;Y=+g[P+(m+h<<2)>>2];v=+g[P+(f+h<<2)>>2];j=j+Y*Y;r=r+v*v;h=h+1|0}r=+O(+((j=(B|0)){f=0;break}a=(h|0)<(J|0);Y=a?j:j*r;a=h-(a?0:J)|0;g[s+(e+f<<2)>>2]=Y*+g[P+(A+a<<2)>>2];Z=+g[s+(C+a<<2)>>2];v=v+Z*Z;j=Y;f=f+1|0;h=a+1|0}while(1){if((f|0)==24)break;c[R+(f<<2)>>2]=c[s+(D-f<<2)>>2];f=f+1|0}h=s+8192|0;f=h+(M<<2)|0;od(f,n,f,B,R);j=0.0;f=0;while(1){if((f|0)>=(B|0))break;Z=+g[s+(e+f<<2)>>2];j=j+Z*Z;f=f+1|0}a:do if(v>j*.20000000298023224){if(v=(U|0)){f=U;break}a=s+(e+f<<2)|0;g[a>>2]=(1.0-+g[u+(f<<2)>>2]*j)*+g[a>>2];f=f+1|0}while(1){if((f|0)>=(B|0))break a;a=s+(e+f<<2)|0;g[a>>2]=r*+g[a>>2];f=f+1|0}}}else{f=0;while(1){if((f|0)>=(B|0))break a;g[s+(e+f<<2)>>2]=0.0;f=f+1|0}}while(0);a=c[E>>2]|0;Z=-+g[F>>2];f=c[o>>2]|0;yc(H,h,a,a,U,Z,Z,f,f,0,0);f=0;while(1){if((f|0)>=(p|0))break;g[s+(f+2048<<2)>>2]=+g[u+(f<<2)>>2]*+g[H+(q-f<<2)>>2]+ +g[u+(U-f+-1<<2)>>2]*+g[H+(f<<2)>>2];f=f+1|0}t=t+1|0}while((t|0)<(V|0));Na(G|0);W=T+1|0;c[S>>2]=W;i=X;return}f=c[a+24>>2]|0;s=c[A+12>>2]|0;k=(f|0)<(s|0);s=(x|0)>((k?f:s)|0)?x:k?f:s;k=_(V,d)|0;t=Fa()|0;u=i;i=i+((1*(k<<2)|0)+15&-16)|0;j=(T|0)==0?1.5:.5;k=0;do{h=_(k,n)|0;l=x;while(1){if((l|0)>=(f|0))break;R=h+l|0;Y=+g[m+(R<<2)>>2];R=w+(R<<2)|0;Z=+g[R>>2]-j;g[R>>2]=Y>Z?Y:Z;l=l+1|0}k=k+1|0}while((k|0)<(V|0));o=a+36|0;q=0;f=c[o>>2]|0;while(1){if((q|0)>=(V|0))break;p=_(q,d)|0;h=x;b:while(1){if((h|0)>=(s|0))break;n=b[y+(h<<1)>>1]|0;l=p+(n<>1]|0)-n<=(n|0))break;R=(_(f,1664525)|0)+1013904223|0;g[u+(l+k<<2)>>2]=+(R>>20|0);k=k+1|0;f=R}m=u+(l<<2)|0;k=0;j=0.0;while(1){if((k|0)>=(n|0))break;Z=+g[m+(k<<2)>>2];k=k+1|0;j=j+Z*Z}j=1.0/+O(+(j+1.0000000036274937e-15));l=0;k=m;while(1){if((l|0)>=(n|0))continue b;g[k>>2]=j*+g[k>>2];l=l+1|0;k=k+4|0}}q=q+1|0}c[o>>2]=f;f=2048-d+(U>>>1)<<2;h=0;do{U=c[W+(h<<2)>>2]|0;sf(U|0,U+(d<<2)|0,f|0)|0;h=h+1|0}while((h|0)<(V|0));_c(A,u,z,w,x,s,V,V,0,e,c[a+16>>2]|0,0);Na(t|0);W=T+1|0;c[S>>2]=W;i=X;return}function _c(a,b,d,e,f,h,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;A=c[a+4>>2]|0;t=c[a+8>>2]|0;u=a+44|0;r=c[u>>2]|0;w=r<>2]|0)-(x?m:0)|0;switch(k|0){case 2:{if((j|0)==1){Xd(c[a+32>>2]|0,r,b,B,e,f,h,v,n,o);q=d+4|0;j=(c[q>>2]|0)+(((A|0)/2|0)<<2)|0;rf(j|0,B|0,w<<2|0)|0;p=a+64|0;m=a+60|0;l=0;while(1){if((l|0)>=(y|0)){l=0;break}w=(c[d>>2]|0)+((_(z,l)|0)<<2)|0;fd(p,j+(l<<2)|0,w,c[m>>2]|0,A,x,y);l=l+1|0}while(1){if((l|0)>=(y|0))break;d=(c[q>>2]|0)+((_(z,l)|0)<<2)|0;fd(p,B+(l<<2)|0,d,c[m>>2]|0,A,x,y);l=l+1|0}i=C;return}break}case 1:{if((j|0)==2){m=(c[d>>2]|0)+(((A|0)/2|0)<<2)|0;l=a+32|0;Xd(c[l>>2]|0,r,b,B,e,f,h,v,n,o);Xd(c[l>>2]|0,c[u>>2]|0,b+(w<<2)|0,m,e+(t<<2)|0,f,h,v,n,o);l=0;while(1){if((l|0)>=(w|0))break;f=B+(l<<2)|0;g[f>>2]=+g[f>>2]*.5+ +g[m+(l<<2)>>2]*.5;l=l+1|0}j=a+64|0;l=a+60|0;m=0;while(1){if((m|0)>=(y|0))break;w=(c[d>>2]|0)+((_(z,m)|0)<<2)|0;fd(j,B+(m<<2)|0,w,c[l>>2]|0,A,x,y);m=m+1|0}i=C;return}break}default:{}}s=a+32|0;q=a+64|0;p=a+60|0;l=0;m=r;while(1){a=b+((_(l,w)|0)<<2)|0;j=e+((_(l,t)|0)<<2)|0;Xd(c[s>>2]|0,m,a,B,j,f,h,v,n,o);m=d+(l<<2)|0;j=0;while(1){if((j|0)>=(y|0))break;a=(c[m>>2]|0)+((_(z,j)|0)<<2)|0;fd(q,B+(j<<2)|0,a,c[p>>2]|0,A,x,y);j=j+1|0}l=l+1|0;if((l|0)>=(k|0))break;m=c[u>>2]|0}i=C;return}function $c(a,b,d,e,f,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=i;if((f|0)==1&(e|0)==2&(k|0)==0){o=+g[h>>2];p=c[a>>2]|0;k=c[a+4>>2]|0;h=j+4|0;l=0;m=+g[j>>2];n=+g[h>>2];while(1){if((l|0)>=(d|0))break;z=+g[p+(l<<2)>>2]+1.0000000031710769e-30+m;y=+g[k+(l<<2)>>2]+1.0000000031710769e-30+n;a=l<<1;g[b+(a<<2)>>2]=z*.000030517578125;g[b+((a|1)<<2)>>2]=y*.000030517578125;l=l+1|0;m=z*o;n=y*o}g[j>>2]=m;g[h>>2]=n;i=x;return}v=Fa()|0;w=i;i=i+((1*(d<<2)|0)+15&-16)|0;n=+g[h>>2];r=(d|0)/(f|0)|0;s=(f|0)>1;k=0;t=0;do{l=j+(t<<2)|0;m=+g[l>>2];p=c[a+(t<<2)>>2]|0;q=b+(t<<2)|0;if(!s){h=0;while(1){if((h|0)>=(d|0))break;z=+g[p+(h<<2)>>2]+1.0000000031710769e-30+m;g[q+((_(h,e)|0)<<2)>>2]=z*.000030517578125;h=h+1|0;m=n*z}g[l>>2]=m;if(!k)k=0;else u=14}else{k=0;while(1){if((k|0)>=(d|0))break;z=+g[p+(k<<2)>>2]+1.0000000031710769e-30+m;g[w+(k<<2)>>2]=z;k=k+1|0;m=n*z}g[l>>2]=m;k=1;u=14}a:do if((u|0)==14){u=0;h=0;while(1){if((h|0)>=(r|0))break a;g[q+((_(h,e)|0)<<2)>>2]=+g[w+((_(h,f)|0)<<2)>>2]*.000030517578125;h=h+1|0}}while(0);t=t+1|0}while((t|0)<(e|0));Na(v|0);i=x;return}function ad(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+36>>2]|0;f=_(g,f-e|0)|0;n=a+32|0;h=(c[n>>2]|0)-f|0;c[n>>2]=h;if(!b){l=a+28|0;m=l;f=(c[l>>2]|0)-f|0}else{m=a+28|0;f=_(g,e-b|0)|0}c[m>>2]=f;i=a+20|0;j=a+40|0;k=a+24|0;l=a+4|0;b=h;while(1){if(f>>>0>=8388609)break;c[i>>2]=(c[i>>2]|0)+8;f=f<<8;c[m>>2]=f;e=c[j>>2]|0;g=c[k>>2]|0;if(g>>>0<(c[l>>2]|0)>>>0){c[k>>2]=g+1;g=d[(c[a>>2]|0)+g>>0]|0}else g=0;c[j>>2]=g;h=((e<<8|g)>>>1&255|b<<8&2147483392)^255;c[n>>2]=h;b=h}return}function bd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=b+-1|0;e=32-(aa(o|0)|0)|0;if((e|0)<=8){m=a+28|0;j=c[m>>2]|0;h=(j>>>0)/(b>>>0)|0;c[a+36>>2]=h;n=a+32|0;l=c[n>>2]|0;k=((l>>>0)/(h>>>0)|0)+1|0;k=k>>>0>b>>>0?b:k;e=b-k|0;i=_(h,b-(e+1)|0)|0;l=l-i|0;c[n>>2]=l;b=(k|0)==(b|0)?j-i|0:h;c[m>>2]=b;h=a+20|0;i=a+40|0;j=a+24|0;k=a+4|0;while(1){if(b>>>0>=8388609)break;c[h>>2]=(c[h>>2]|0)+8;b=b<<8;c[m>>2]=b;g=c[i>>2]|0;f=c[j>>2]|0;if(f>>>0<(c[k>>2]|0)>>>0){c[j>>2]=f+1;f=d[(c[a>>2]|0)+f>>0]|0}else f=0;c[i>>2]=f;o=((g<<8|f)>>>1&255|l<<8&2147483392)^255;c[n>>2]=o;l=o}return e|0}n=e+-8|0;l=(o>>>n)+1|0;k=((c[a+28>>2]|0)>>>0)/(l>>>0)|0;c[a+36>>2]=k;k=(((c[a+32>>2]|0)>>>0)/(k>>>0)|0)+1|0;k=l-(l>>>0>>0?l:k)|0;ad(a,k,k+1|0,l);k=k<>2]|0;m=a+16|0;b=c[m>>2]|0;if(b>>>0>>0){i=a+8|0;h=c[a+4>>2]|0;j=b+8|0;j=b+(((j|0)>25?j:25)+-1-b&-8)|0;f=c[i>>2]|0;do{if(f>>>0>>0){g=f+1|0;c[i>>2]=g;f=g;g=d[(c[a>>2]|0)+(h-g)>>0]|0}else g=0;e=e|g<>2]=e>>>n;c[m>>2]=b-n;m=a+20|0;c[m>>2]=(c[m>>2]|0)+n;e=k|e&(1<>>0<=o>>>0){a=e;return a|0}c[a+44>>2]=1;a=o;return a|0}function cd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=c[b+28>>2]|0;h=aa(s|0)|0;e=2147483647>>>h;f=c[b+32>>2]|0;g=f+e&~e;if((g|e)>>>0>=(f+s|0)>>>0){g=e>>>1;g=f+g&~g;h=h+1|0}m=b+36|0;n=b+40|0;r=b+24|0;o=b+8|0;p=b+4|0;s=b+44|0;q=h+7&-8;k=h;while(1){if((k|0)<=0)break;j=g>>>23;if((j|0)==255)c[m>>2]=(c[m>>2]|0)+1;else{i=g>>>31;e=c[n>>2]|0;if((e|0)>-1){f=c[r>>2]|0;if((f+(c[o>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0){c[r>>2]=f+1;a[(c[b>>2]|0)+f>>0]=e+i;e=0}else e=-1;c[s>>2]=c[s>>2]|e}e=c[m>>2]|0;if(e|0){i=i+255&255;do{f=c[r>>2]|0;if((f+(c[o>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0){c[r>>2]=f+1;a[(c[b>>2]|0)+f>>0]=i;f=0;e=c[m>>2]|0}else f=-1;c[s>>2]=c[s>>2]|f;e=e+-1|0;c[m>>2]=e}while((e|0)!=0)}c[n>>2]=j&255}g=g<<8&2147483392;k=k+-8|0}f=c[n>>2]|0;if((f|0)>-1){e=c[r>>2]|0;if((e+(c[o>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0){c[r>>2]=e+1;a[(c[b>>2]|0)+e>>0]=f;e=0}else e=-1;c[s>>2]=c[s>>2]|e;e=c[m>>2]|0;if(!e)l=26;else l=23}else{e=c[m>>2]|0;if(e|0)l=23}if((l|0)==23)while(1){f=c[r>>2]|0;if((f+(c[o>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0){c[r>>2]=f+1;a[(c[b>>2]|0)+f>>0]=-1;f=0;e=c[m>>2]|0}else f=-1;c[s>>2]=c[s>>2]|f;e=e+-1|0;c[m>>2]=e;if(!e){l=26;break}else l=23}if((l|0)==26)c[n>>2]=0;j=c[b+16>>2]|0;i=j+~((j|0)<7?j:7)+8&-8;k=j;e=c[b+12>>2]|0;while(1){if((k|0)<=7)break;f=c[o>>2]|0;g=c[p>>2]|0;if(((c[r>>2]|0)+f|0)>>>0>>0){f=f+1|0;c[o>>2]=f;a[(c[b>>2]|0)+(g-f)>>0]=e;f=0}else f=-1;c[s>>2]=c[s>>2]|f;k=k+-8|0;e=e>>>8}i=j-i|0;if(c[s>>2]|0)return;n=c[r>>2]|0;nf((c[b>>2]|0)+n|0,0,(c[p>>2]|0)-n-(c[o>>2]|0)|0)|0;if((i|0)<=0)return;j=c[o>>2]|0;g=c[p>>2]|0;if(g>>>0<=j>>>0){c[s>>2]=-1;return}f=q-h|0;if((i|0)>(f|0)?((c[r>>2]|0)+j|0)>>>0>=g>>>0:0){c[s>>2]=-1;e=e&(1<>2]|0)+(g-j+-1)|0;a[b>>0]=d[b>>0]|0|e;return}function dd(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0;D=i;i=i+32|0;C=D;B=c[a+8>>2]|0;B=(B|0)>0?B:0;c[C>>2]=1;e=1;f=0;while(1){h=f<<1;A=b[a+12+((h|1)<<1)>>1]|0;e=_(e,b[a+12+(h<<1)>>1]|0)|0;h=f+1|0;c[C+(h<<2)>>2]=e;if(A<<16>>16==1)break;else f=h}A=a+48|0;y=b[a+12+((h<<1)+-1<<1)>>1]|0;while(1){if((f|0)<=-1)break;e=f<<1;if(!f)z=1;else z=b[a+12+(e+-1<<1)>>1]|0;a:do switch(b[a+12+(e<<1)>>1]|0){case 2:{h=c[C+(f<<2)>>2]|0;e=d;j=0;while(1){if((j|0)>=(h|0))break a;x=e+32|0;v=+g[x>>2];y=e+36|0;u=+g[y>>2];l=+g[e>>2];g[x>>2]=l-v;x=e+4|0;w=+g[x>>2];g[y>>2]=w-u;g[e>>2]=l+v;g[x>>2]=w+u;x=e+40|0;u=+g[x>>2];y=e+44|0;w=+g[y>>2];v=(u+w)*.7071067690849304;u=(w-u)*.7071067690849304;t=e+8|0;w=+g[t>>2];g[x>>2]=w-v;x=e+12|0;l=+g[x>>2];g[y>>2]=l-u;g[t>>2]=w+v;g[x>>2]=l+u;x=e+52|0;u=+g[x>>2];t=e+48|0;l=+g[t>>2];y=e+16|0;v=+g[y>>2];g[t>>2]=v-u;t=e+20|0;w=+g[t>>2];g[x>>2]=w+l;g[y>>2]=v+u;g[t>>2]=w-l;t=e+60|0;l=+g[t>>2];y=e+56|0;w=+g[y>>2];u=(l-w)*.7071067690849304;w=(l+w)*-.7071067690849304;x=e+24|0;l=+g[x>>2];g[y>>2]=l-u;y=e+28|0;v=+g[y>>2];g[t>>2]=v-w;g[x>>2]=l+u;g[y>>2]=v+w;e=e+64|0;j=j+1|0}}case 4:{t=c[C+(f<<2)>>2]|0;n=t<=(t|0))break a;w=+g[e>>2];o=e+16|0;J=+g[o>>2];l=w-J;q=e+4|0;F=+g[q>>2];p=e+20|0;H=+g[p>>2];v=F-H;J=w+J;H=F+H;r=e+8|0;F=+g[r>>2];x=e+24|0;w=+g[x>>2];I=F+w;s=e+12|0;E=+g[s>>2];y=e+28|0;u=+g[y>>2];G=E+u;g[o>>2]=J-I;g[p>>2]=H-G;g[e>>2]=J+I;g[q>>2]=H+G;w=F-w;u=E-u;g[r>>2]=l+u;g[s>>2]=v-w;g[x>>2]=l-u;g[y>>2]=v+w;e=e+32|0;h=h+1|0}}h=y<<1;j=y*3|0;k=n<<1;m=n*3|0;o=0;while(1){if((o|0)>=(t|0))break a;e=d+((_(o,z)|0)<<3)|0;s=c[A>>2]|0;p=0;q=s;r=s;while(1){if((p|0)>=(y|0))break;M=e+(y<<3)|0;E=+g[M>>2];u=+g[q>>2];L=e+(y<<3)+4|0;F=+g[L>>2];w=+g[q+4>>2];l=E*u-F*w;u=E*w+F*u;P=e+(h<<3)|0;F=+g[P>>2];w=+g[r>>2];O=e+(h<<3)+4|0;E=+g[O>>2];H=+g[r+4>>2];v=F*w-E*H;w=F*H+E*w;K=e+(j<<3)|0;E=+g[K>>2];H=+g[s>>2];x=e+(j<<3)+4|0;F=+g[x>>2];G=+g[s+4>>2];J=E*H-F*G;H=E*G+F*H;F=+g[e>>2];G=F-v;N=e+4|0;E=+g[N>>2];I=E-w;v=F+v;g[e>>2]=v;w=E+w;g[N>>2]=w;E=l+J;F=u+H;J=l-J;H=u-H;g[P>>2]=v-E;g[O>>2]=w-F;g[e>>2]=+g[e>>2]+E;g[N>>2]=+g[N>>2]+F;g[M>>2]=G+H;g[L>>2]=I-J;g[K>>2]=G-H;g[x>>2]=I+J;e=e+8|0;p=p+1|0;q=q+(n<<3)|0;r=r+(k<<3)|0;s=s+(m<<3)|0}o=o+1|0}}case 3:{h=c[C+(f<<2)>>2]|0;j=h<>2]|0)+(m<<3)+4>>2];m=j<<1;n=0;while(1){if((n|0)>=(h|0))break a;e=d+((_(n,z)|0)<<3)|0;q=c[A>>2]|0;o=y;p=q;while(1){O=e+(y<<3)|0;G=+g[O>>2];F=+g[p>>2];P=e+(y<<3)+4|0;w=+g[P>>2];I=+g[p+4>>2];E=G*F-w*I;F=G*I+w*F;M=e+(k<<3)|0;w=+g[M>>2];I=+g[q>>2];N=e+(k<<3)+4|0;G=+g[N>>2];H=+g[q+4>>2];J=w*I-G*H;I=w*H+G*I;G=E+J;H=F+I;g[O>>2]=+g[e>>2]-G*.5;L=e+4|0;g[P>>2]=+g[L>>2]-H*.5;J=(E-J)*l;I=(F-I)*l;g[e>>2]=+g[e>>2]+G;g[L>>2]=+g[L>>2]+H;g[M>>2]=+g[O>>2]+I;g[N>>2]=+g[P>>2]-J;g[O>>2]=+g[O>>2]-I;g[P>>2]=+g[P>>2]+J;o=o+-1|0;if(!o)break;else{e=e+8|0;p=p+(j<<3)|0;q=q+(m<<3)|0}}n=n+1|0}}case 5:{e=c[C+(f<<2)>>2]|0;h=e<>2]|0;l=+g[j+(k<<3)>>2];u=+g[j+(k<<3)+4>>2];k=_(h<<1,y)|0;v=+g[j+(k<<3)>>2];w=+g[j+(k<<3)+4>>2];k=y<<1;m=y*3|0;n=y<<2;t=0;while(1){if((t|0)>=(e|0))break a;s=d+((_(t,z)|0)<<3)|0;o=s;p=s+(y<<3)|0;q=s+(k<<3)|0;r=s+(m<<3)|0;s=s+(n<<3)|0;x=0;while(1){if((x|0)>=(y|0))break;T=+g[o>>2];L=o+4|0;R=+g[L>>2];S=+g[p>>2];K=_(x,h)|0;G=+g[j+(K<<3)>>2];M=p+4|0;W=+g[M>>2];X=+g[j+(K<<3)+4>>2];I=S*G-W*X;G=S*X+W*G;W=+g[q>>2];K=_(x<<1,h)|0;X=+g[j+(K<<3)>>2];O=q+4|0;S=+g[O>>2];E=+g[j+(K<<3)+4>>2];V=W*X-S*E;X=W*E+S*X;S=+g[r>>2];K=_(x*3|0,h)|0;E=+g[j+(K<<3)>>2];P=r+4|0;W=+g[P>>2];H=+g[j+(K<<3)+4>>2];J=S*E-W*H;E=S*H+W*E;W=+g[s>>2];K=_(x<<2,h)|0;H=+g[j+(K<<3)>>2];N=s+4|0;S=+g[N>>2];Q=+g[j+(K<<3)+4>>2];F=W*H-S*Q;H=W*Q+S*H;S=I+F;Q=G+H;F=I-F;H=G-H;G=V+J;I=X+E;J=V-J;E=X-E;g[o>>2]=T+(S+G);g[L>>2]=R+(Q+I);X=T+(S*l+G*v);V=R+(Q*l+I*v);W=H*u+E*w;U=F*u+J*w;g[p>>2]=X-W;g[M>>2]=V+U;g[s>>2]=X+W;g[N>>2]=V-U;G=T+(S*v+G*l);I=R+(Q*v+I*l);H=E*u-H*w;J=F*w-J*u;g[q>>2]=G+H;g[O>>2]=I+J;g[r>>2]=G-H;g[P>>2]=I-J;o=o+8|0;p=p+8|0;q=q+8|0;r=r+8|0;s=s+8|0;x=x+1|0}t=t+1|0}}default:{}}while(0);f=f+-1|0;y=z}i=D;return}function ed(a,d,e,f,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0;y=i;t=c[a+8+(j<<2)>>2]|0;u=+g[t+4>>2];l=c[a>>2]|0;m=0;x=c[a+24>>2]|0;while(1){w=l>>1;if((m|0)>=(j|0))break;l=w;m=m+1|0;x=x+(w<<2)|0}v=l>>2;a=i;i=i+((1*(w<<2)|0)+15&-16)|0;l=i;i=i+((1*(v<<3)|0)+15&-16)|0;j=h>>1;q=f+(j<<2)|0;r=h+3>>2;s=0-w|0;o=0;p=q;q=q+-4|0;n=d+(j<<2)|0;j=d+(w<<2)+-4+(j<<2)|0;m=a;while(1){if((o|0)>=(r|0))break;z=+g[q>>2];A=+g[p>>2];g[m>>2]=z*+g[n+(w<<2)>>2]+A*+g[j>>2];g[m+4>>2]=A*+g[n>>2]-z*+g[j+(s<<2)>>2];o=o+1|0;p=p+8|0;q=q+-8|0;n=n+8|0;j=j+-8|0;m=m+8|0}d=f+(h<<2)|0;p=v-r|0;while(1){if((o|0)>=(p|0))break;c[m>>2]=c[j>>2];c[m+4>>2]=c[n>>2];o=o+1|0;n=n+8|0;j=j+-8|0;m=m+8|0}q=o;p=f;o=d+-4|0;while(1){if((q|0)>=(v|0))break;g[m>>2]=+g[o>>2]*+g[j>>2]-+g[p>>2]*+g[n+(s<<2)>>2];g[m+4>>2]=+g[o>>2]*+g[n>>2]+ +g[p>>2]*+g[j+(w<<2)>>2];q=q+1|0;p=p+8|0;o=o+-8|0;n=n+8|0;j=j+-8|0;m=m+8|0}m=t+44|0;j=0;while(1){if((j|0)>=(v|0))break;B=+g[x+(j<<2)>>2];A=+g[x+(v+j<<2)>>2];z=+g[a>>2];C=+g[a+4>>2];s=b[(c[m>>2]|0)+(j<<1)>>1]|0;g[l+(s<<3)>>2]=u*(z*B-C*A);g[l+(s<<3)+4>>2]=u*(C*B+z*A);j=j+1|0;a=a+8|0}dd(t,l);n=k<<1;o=0-n|0;m=0;j=e;a=e+((_(w+-1|0,k)|0)<<2)|0;while(1){if((m|0)>=(v|0))break;B=+g[l+4>>2];A=+g[x+(v+m<<2)>>2];z=+g[l>>2];C=+g[x+(m<<2)>>2];g[j>>2]=B*A-z*C;g[a>>2]=z*A+B*C;l=l+8|0;m=m+1|0;j=j+(n<<2)|0;a=a+(o<<2)|0}i=y;return}function fd(a,d,e,f,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;k=c[a>>2]|0;l=0;r=c[a+24>>2]|0;while(1){q=k>>1;if((l|0)>=(i|0))break;k=q;l=l+1|0;r=r+(q<<2)|0}p=k>>2;s=d+((_(q+-1|0,j)|0)<<2)|0;k=e+(h>>1<<2)|0;o=c[a+8+(i<<2)>>2]|0;i=j<<1;j=0-i|0;m=c[o+44>>2]|0;n=0;l=d;a=s;while(1){if((n|0)>=(p|0))break;u=+g[a>>2];v=+g[r+(n<<2)>>2];w=+g[l>>2];t=+g[r+(p+n<<2)>>2];s=b[m>>1]<<1;g[k+((s|1)<<2)>>2]=u*v+w*t;g[k+(s<<2)>>2]=w*v-u*t;m=m+2|0;n=n+1|0;l=l+(i<<2)|0;a=a+(j<<2)|0}dd(o,k);i=p+1>>1;a=k+(q<<2)|0;j=0;while(1){l=a+-8|0;if((j|0)>=(i|0))break;s=k+4|0;y=+g[s>>2];u=+g[k>>2];w=+g[r+(j<<2)>>2];x=+g[r+(p+j<<2)>>2];d=a+-4|0;t=+g[d>>2];v=+g[l>>2];g[k>>2]=y*w+u*x;g[d>>2]=y*x-u*w;w=+g[r+(p-j+-1<<2)>>2];u=+g[r+(q-j+-1<<2)>>2];g[l>>2]=t*w+v*u;g[s>>2]=t*u-v*w;a=l;j=j+1|0;k=k+8|0}i=(h|0)/2|0;k=e+(h<<2)|0;l=f+(h<<2)|0;a=0;while(1){l=l+-4|0;k=k+-4|0;if((a|0)>=(i|0))break;y=+g[k>>2];w=+g[e>>2];x=+g[l>>2];v=+g[f>>2];g[e>>2]=x*w-v*y;g[k>>2]=v*w+x*y;a=a+1|0;f=f+4|0;e=e+4|0}return}function gd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0;u=i;i=i+48|0;h=u+16|0;s=u;t=d>>1;d=1;while(1){if((d|0)>=(t|0))break;v=d<<1;w=c[a>>2]|0;g[b+(d<<2)>>2]=((+g[w+(v+-1<<2)>>2]+ +g[w+((v|1)<<2)>>2])*.5+ +g[w+(v<<2)>>2])*.5;d=d+1|0}w=c[a>>2]|0;g[b>>2]=(+g[w+4>>2]*.5+ +g[w>>2])*.5;if((e|0)==2){d=a+4|0;e=1;while(1){if((e|0)>=(t|0))break;v=e<<1;a=c[d>>2]|0;w=b+(e<<2)|0;g[w>>2]=+g[w>>2]+((+g[a+(v+-1<<2)>>2]+ +g[a+((v|1)<<2)>>2])*.5+ +g[a+(v<<2)>>2])*.5;e=e+1|0}w=c[d>>2]|0;g[b>>2]=+g[b>>2]+(+g[w+4>>2]*.5+ +g[w>>2])*.5}pd(b,h,0,0,4,t);g[h>>2]=+g[h>>2]*1.000100016593933;d=1;while(1){if((d|0)==5)break;w=h+(d<<2)|0;q=+g[w>>2];r=+(d|0)*.00800000037997961;g[w>>2]=q-q*r*r;d=d+1|0}ld(s,h,4);d=0;f=1.0;while(1){if((d|0)==4)break;r=f*.8999999761581421;w=s+(d<<2)|0;g[w>>2]=+g[w>>2]*r;d=d+1|0;f=r}q=+g[s>>2];p=q+.800000011920929;r=+g[s+4>>2];q=r+q*.800000011920929;f=+g[s+8>>2];r=f+r*.800000011920929;j=+g[s+12>>2];f=j+f*.800000011920929;j=j*.800000011920929;d=0;k=0.0;l=0.0;m=0.0;n=0.0;o=0.0;while(1){if((d|0)>=(t|0))break;w=b+(d<<2)|0;y=+g[w>>2];g[w>>2]=y+p*k+q*l+r*m+f*n+j*o;x=k;d=d+1|0;k=y;o=n;n=m;m=l;l=x}i=u;return}function hd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;u=f+-3|0;v=e+-3|0;y=((v|0)>0?v:0)+3|0;w=y&-4;z=a+(w<<2)|0;j=f+-3|0;j=((j|0)>0?j:0)+3&-4;x=0;y=b+((y|3)<<2)|0;while(1){if((x|0)>=(u|0))break;A=b+(x<<2)|0;o=a;p=A+12|0;q=0;n=0;m=0;i=0;h=0;l=+g[A>>2];s=+g[A+4>>2];t=+g[A+8>>2];r=0.0;while(1){if((q|0)>=(v|0))break;F=+g[o>>2];r=+g[p>>2];M=(c[k>>2]=n,+g[k>>2])+F*l;L=(c[k>>2]=m,+g[k>>2])+F*s;K=(c[k>>2]=i,+g[k>>2])+F*t;J=+g[o+4>>2];D=+g[p+4>>2];I=+g[o+8>>2];C=+g[p+8>>2];F=(c[k>>2]=h,+g[k>>2])+F*r+J*D+I*C;E=+g[o+12>>2];B=+g[p+12>>2];H=(g[k>>2]=M+J*s+I*t+E*r,c[k>>2]|0);G=(g[k>>2]=L+J*t+I*r+E*D,c[k>>2]|0);A=(g[k>>2]=K+J*r+I*D+E*C,c[k>>2]|0);o=o+16|0;p=p+16|0;q=q+4|0;n=H;m=G;i=A;h=(g[k>>2]=F+E*B,c[k>>2]|0);l=D;s=C;t=B}q=w|1;if((w|0)<(e|0)){M=+g[z>>2];r=+g[y>>2];n=(g[k>>2]=(c[k>>2]=n,+g[k>>2])+M*l,c[k>>2]|0);m=(g[k>>2]=(c[k>>2]=m,+g[k>>2])+M*s,c[k>>2]|0);i=(g[k>>2]=(c[k>>2]=i,+g[k>>2])+M*t,c[k>>2]|0);o=z+4|0;p=y+4|0;h=(g[k>>2]=(c[k>>2]=h,+g[k>>2])+M*r,c[k>>2]|0)}else{o=z;p=y}if((q|0)<(e|0)){M=+g[o>>2];l=+g[p>>2];n=(g[k>>2]=(c[k>>2]=n,+g[k>>2])+M*s,c[k>>2]|0);m=(g[k>>2]=(c[k>>2]=m,+g[k>>2])+M*t,c[k>>2]|0);i=(g[k>>2]=(c[k>>2]=i,+g[k>>2])+M*r,c[k>>2]|0);o=o+4|0;p=p+4|0;h=(g[k>>2]=(c[k>>2]=h,+g[k>>2])+M*l,c[k>>2]|0)}if((q+1|0)<(e|0)){M=+g[o>>2];n=(g[k>>2]=(c[k>>2]=n,+g[k>>2])+M*t,c[k>>2]|0);m=(g[k>>2]=(c[k>>2]=m,+g[k>>2])+M*r,c[k>>2]|0);i=(g[k>>2]=(c[k>>2]=i,+g[k>>2])+M*l,c[k>>2]|0);h=(g[k>>2]=(c[k>>2]=h,+g[k>>2])+M*+g[p>>2],c[k>>2]|0)}c[d+(x<<2)>>2]=n;c[d+((x|1)<<2)>>2]=m;c[d+((x|2)<<2)>>2]=i;c[d+((x|3)<<2)>>2]=h;x=x+4|0;y=y+16|0}while(1){if((j|0)>=(f|0))break;h=b+(j<<2)|0;i=0;l=0.0;while(1){if((i|0)>=(e|0))break;M=l+ +g[a+(i<<2)>>2]*+g[h+(i<<2)>>2];i=i+1|0;l=M}g[d+(j<<2)>>2]=l;j=j+1|0}return}function id(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+16|0;r=u;m=r;c[m>>2]=0;c[m+4>>2]=0;m=d>>2;n=i;i=i+((1*(m<<2)|0)+15&-16)|0;o=d+e>>2;p=i;i=i+((1*(o<<2)|0)+15&-16)|0;s=e>>1;t=i;i=i+((1*(s<<2)|0)+15&-16)|0;l=0;while(1){if((l|0)>=(m|0))break;c[n+(l<<2)>>2]=c[a+(l<<1<<2)>>2];l=l+1|0}l=0;while(1){if((l|0)>=(o|0))break;c[p+(l<<2)>>2]=c[b+(l<<1<<2)>>2];l=l+1|0}e=e>>2;hd(n,p,t,m,e);jd(t,p,m,e,r);e=c[r>>2]<<1;q=c[r+4>>2]<<1;l=d>>1;o=0;while(1){if((o|0)>=(s|0))break;m=t+(o<<2)|0;g[m>>2]=0.0;d=o-e|0;if(!((((d|0)>-1?d:0-d|0)|0)>2?(d=o-q|0,(((d|0)>-1?d:0-d|0)|0)>2):0)){n=b+(o<<2)|0;p=0;h=0.0;while(1){if((p|0)>=(l|0))break;k=h+ +g[a+(p<<2)>>2]*+g[n+(p<<2)>>2];p=p+1|0;h=k}g[m>>2]=h<-1.0?-1.0:h}o=o+1|0}jd(t,b,l,s,r);l=c[r>>2]|0;if(!((l|0)>0&(l|0)<(s+-1|0))){t=0;s=l<<1;t=s-t|0;c[f>>2]=t;i=u;return}j=+g[t+(l+-1<<2)>>2];k=+g[t+(l<<2)>>2];h=+g[t+(l+1<<2)>>2];if(h-j>(k-j)*.699999988079071){t=1;s=l<<1;t=s-t|0;c[f>>2]=t;i=u;return}if(j-h>(k-h)*.699999988079071){t=-1;s=l<<1;t=s-t|0;c[f>>2]=t;i=u;return}t=0;s=l<<1;t=s-t|0;c[f>>2]=t;i=u;return}function jd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;c[f>>2]=0;s=f+4|0;c[s>>2]=1;i=1.0;h=0;while(1){if((h|0)>=(d|0)){h=0;p=0;l=0;q=-1082130432;m=-1082130432;r=0;break}j=+g[b+(h<<2)>>2];i=i+j*j;h=h+1|0}while(1){if((r|0)>=(e|0))break;j=+g[a+(r<<2)>>2];do if(j>0.0?(t=j*9.999999960041972e-13,t=t*t,j=t*(c[k>>2]=l,+g[k>>2]),j>(c[k>>2]=m,+g[k>>2])*i):0){j=t*(c[k>>2]=p,+g[k>>2]);if(j>(c[k>>2]=q,+g[k>>2])*i){c[s>>2]=h;o=(g[k>>2]=t,c[k>>2]|0);n=(g[k>>2]=i,c[k>>2]|0);c[f>>2]=r;h=r;l=p;m=q;break}else{m=(g[k>>2]=t,c[k>>2]|0);l=(g[k>>2]=i,c[k>>2]|0);c[s>>2]=r;n=p;o=q;break}}else{n=p;o=q}while(0);u=+g[b+(r+d<<2)>>2];j=+g[b+(r<<2)>>2];j=i+(u*u-j*j);i=j<1.0?1.0:j;p=n;q=o;r=r+1|0}return}function kd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+2064|0;E=F+2052|0;w=c[d>>2]|0;z=(e|0)/2|0;D=(b|0)/2|0;C=a+2048|0;w=(w|0)>1023?511:(w|0)/2|0;c[d>>2]=w;x=F;e=C+(0-w<<2)|0;b=0;y=0.0;j=0.0;while(1){if((b|0)>=(D|0))break;v=+g[C+(b<<2)>>2];A=j+v*+g[e+(b<<2)>>2];b=b+1|0;y=y+v*v;j=A}g[x>>2]=y;e=1;h=y;while(1){if((e|0)==513)break;v=+g[C+(0-e<<2)>>2];A=+g[C+(D-e<<2)>>2];A=h+v*v-A*A;g[x+(e<<2)>>2]=A<0.0?0.0:A;e=e+1|0;h=A}q=+g[x+(w<<2)>>2];A=j/+O(+(y*q+1.0));s=w<<1;t=A*.699999988079071;u=A*.8500000238418579;v=f*.5;B=w;r=2;while(1){if((r|0)>=16)break;e=r<<1;p=((s+r|0)>>>0)/(e>>>0)|0;if((p|0)<7)break;if((r|0)==2){n=p+w|0;n=(n|0)>512?w:n}else n=(((_(c[17156+(r<<2)>>2]<<1,w)|0)+r|0)>>>0)/(e>>>0)|0;e=C+(0-p<<2)|0;b=C+(0-n<<2)|0;a=0;h=0.0;k=0.0;while(1){if((a|0)>=(D|0))break;m=+g[C+(a<<2)>>2];o=k+m*+g[b+(a<<2)>>2];m=h+m*+g[e+(a<<2)>>2];a=a+1|0;h=m;k=o}o=(h+k)*.5;k=(+g[x+(p<<2)>>2]+ +g[x+(n<<2)>>2])*.5;h=o/+O(+(y*k+1.0));e=p-z|0;e=(e|0)>-1?e:0-e|0;if((e|0)>=2)if((e|0)<3){n=(_(r*5|0,r)|0)<(w|0);m=n?v:0.0}else m=0.0;else m=f;l=t-m;l=l<.30000001192092896?.30000001192092896:l;if((p|0)<21){l=u-m;if(l<.4000000059604645)l=.4000000059604645}if(h>l){e=p;j=o}else{e=B;k=q;h=A}B=e;q=k;A=h;r=r+1|0}h=j<0.0?0.0:j;if(!(q<=h))l=h/(q+1.0);else l=1.0;a=0;while(1){if((a|0)==3)break;e=C+(1-(B+a)<<2)|0;b=0;h=0.0;while(1){if((b|0)>=(D|0))break;f=h+ +g[C+(b<<2)>>2]*+g[e+(b<<2)>>2];b=b+1|0;h=f}g[E+(a<<2)>>2]=h;a=a+1|0}j=+g[E+8>>2];k=+g[E>>2];h=+g[E+4>>2];if(j-k>(h-k)*.699999988079071){E=1;D=l>A;f=D?A:l;D=B<<1;E=D+E|0;D=(E|0)<15;E=D?15:E;c[d>>2]=E;i=F;return +f}if(k-j>(h-j)*.699999988079071){E=-1;D=l>A;f=D?A:l;D=B<<1;E=D+E|0;D=(E|0)<15;E=D?15:E;c[d>>2]=E;i=F;return +f}E=0;D=l>A;f=D?A:l;D=B<<1;E=D+E|0;D=(E|0)<15;E=D?15:E;c[d>>2]=E;i=F;return +f}function ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0;e=+g[b>>2];nf(a|0,0,c<<2|0)|0;if(+g[b>>2]!=0.0)k=0;else return;while(1){if((k|0)<(c|0)){d=0;f=0.0}else{d=9;break}while(1){if((k|0)==(d|0))break;h=f+ +g[a+(d<<2)>>2]*+g[b+(k-d<<2)>>2];d=d+1|0;f=h}i=k;k=k+1|0;f=(f+ +g[b+(k<<2)>>2])/e;h=-f;g[a+(i<<2)>>2]=h;d=k>>1;i=i+-1|0;j=0;while(1){if((j|0)>=(d|0))break;o=a+(j<<2)|0;m=+g[o>>2];l=a+(i-j<<2)|0;n=+g[l>>2];g[o>>2]=m+n*h;g[l>>2]=n+m*h;j=j+1|0}e=e-f*f*e;if(e<+g[b>>2]*1.0000000474974513e-03){d=9;break}}if((d|0)==9)return}function md(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=i;i=i+112|0;n=q+96|0;o=q;p=i;i=i+((1*(e+24<<2)|0)+15&-16)|0;h=0;while(1){if((h|0)==24)break;c[o+(h<<2)>>2]=c[b+(24-h+-1<<2)>>2];h=h+1|0}h=0;while(1){if((h|0)==24){h=0;break}c[p+(h<<2)>>2]=c[f+(24-h+-1<<2)>>2];h=h+1|0}while(1){if((h|0)>=(e|0)){h=0;break}c[p+(h+24<<2)>>2]=c[a+(h<<2)>>2];h=h+1|0}while(1){if((h|0)==24)break;c[f+(h<<2)>>2]=c[a+(e-h+-1<<2)>>2];h=h+1|0}b=e+-3|0;f=n+4|0;k=n+8|0;l=n+12|0;h=((b|0)>0?b:0)+3&-4;m=0;while(1){if((m|0)>=(b|0))break;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;nd(o,p+(m<<2)|0,n,24);g[d+(m<<2)>>2]=+g[a+(m<<2)>>2]+ +g[n>>2];r=m|1;g[d+(r<<2)>>2]=+g[a+(r<<2)>>2]+ +g[f>>2];r=m|2;g[d+(r<<2)>>2]=+g[a+(r<<2)>>2]+ +g[k>>2];r=m|3;g[d+(r<<2)>>2]=+g[a+(r<<2)>>2]+ +g[l>>2];m=m+4|0}while(1){if((h|0)<(e|0)){b=0;j=0.0}else break;while(1){if((b|0)==24)break;s=j+ +g[o+(b<<2)>>2]*+g[p+(h+b<<2)>>2];b=b+1|0;j=s}g[d+(h<<2)>>2]=+g[a+(h<<2)>>2]+j;h=h+1|0}i=q;return}function nd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;j=d+-3|0;o=c+4|0;p=c+8|0;q=c+12|0;l=((j|0)>0?j:0)+3|0;m=l&-4;l=l|3;f=a;h=b+12|0;k=0;e=+g[b>>2];n=+g[b+4>>2];r=+g[b+8>>2];i=0.0;while(1){if((k|0)>=(j|0))break;w=+g[f>>2];i=+g[h>>2];z=+g[c>>2]+w*e;g[c>>2]=z;y=+g[o>>2]+w*n;g[o>>2]=y;x=+g[p>>2]+w*r;g[p>>2]=x;w=+g[q>>2]+w*i;g[q>>2]=w;v=+g[f+4>>2];u=+g[h+4>>2];z=z+v*n;g[c>>2]=z;y=y+v*r;g[o>>2]=y;x=x+v*i;g[p>>2]=x;v=w+v*u;g[q>>2]=v;w=+g[f+8>>2];t=+g[h+8>>2];z=z+w*r;g[c>>2]=z;y=y+w*i;g[o>>2]=y;x=x+w*u;g[p>>2]=x;w=v+w*t;g[q>>2]=w;v=+g[f+12>>2];s=+g[h+12>>2];g[c>>2]=z+v*i;g[o>>2]=y+v*u;g[p>>2]=x+v*t;g[q>>2]=w+v*s;f=f+16|0;h=h+16|0;k=k+4|0;e=u;n=t;r=s}h=a+(m<<2)|0;f=b+(l<<2)|0;j=m|1;if((m|0)<(d|0)){z=+g[h>>2];i=+g[f>>2];g[c>>2]=+g[c>>2]+z*e;g[o>>2]=+g[o>>2]+z*n;g[p>>2]=+g[p>>2]+z*r;g[q>>2]=+g[q>>2]+z*i;h=h+4|0;f=f+4|0}if((j|0)<(d|0)){z=+g[h>>2];e=+g[f>>2];g[c>>2]=+g[c>>2]+z*n;g[o>>2]=+g[o>>2]+z*r;g[p>>2]=+g[p>>2]+z*i;g[q>>2]=+g[q>>2]+z*e;h=h+4|0;f=f+4|0}if((j+1|0)>=(d|0))return;y=+g[h>>2];z=+g[f>>2];g[c>>2]=+g[c>>2]+y*r;g[o>>2]=+g[o>>2]+y*i;g[p>>2]=+g[p>>2]+y*e;g[q>>2]=+g[q>>2]+y*z;return}function od(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0.0,A=0;u=i;i=i+112|0;r=u+96|0;s=u;j=e+24|0;t=i;i=i+((1*(j<<2)|0)+15&-16)|0;h=0;while(1){if((h|0)==24)break;c[s+(h<<2)>>2]=c[b+(24-h+-1<<2)>>2];h=h+1|0}h=0;while(1){if((h|0)==24){h=24;break}g[t+(h<<2)>>2]=-+g[f+(24-h+-1<<2)>>2];h=h+1|0}while(1){if((h|0)>=(j|0))break;g[t+(h<<2)>>2]=0.0;h=h+1|0}j=e+-3|0;l=r+4|0;m=r+8|0;n=r+12|0;o=b+4|0;p=b+8|0;h=e+-3|0;h=((h|0)>0?h:0)+3&-4;q=0;while(1){if((q|0)>=(j|0))break;c[r>>2]=c[a+(q<<2)>>2];A=q|1;c[l>>2]=c[a+(A<<2)>>2];y=q|2;c[m>>2]=c[a+(y<<2)>>2];v=q|3;c[n>>2]=c[a+(v<<2)>>2];nd(s,t+(q<<2)|0,r,24);z=+g[r>>2];k=-z;g[t+(q+24<<2)>>2]=k;g[d+(q<<2)>>2]=z;z=+g[l>>2]+ +g[b>>2]*k;g[l>>2]=z;w=-z;g[t+(q+25<<2)>>2]=w;g[d+(A<<2)>>2]=z;z=+g[m>>2]+ +g[b>>2]*w+ +g[o>>2]*k;g[m>>2]=z;x=-z;g[t+(q+26<<2)>>2]=x;g[d+(y<<2)>>2]=z;k=+g[n>>2]+ +g[b>>2]*x+ +g[o>>2]*w+ +g[p>>2]*k;g[n>>2]=k;g[t+(q+27<<2)>>2]=-k;g[d+(v<<2)>>2]=k;q=q+4|0}while(1){if((h|0)>=(e|0)){h=0;break}j=0;k=+g[a+(h<<2)>>2];while(1){if((j|0)==24)break;z=k-+g[s+(j<<2)>>2]*+g[t+(h+j<<2)>>2];j=j+1|0;k=z}g[t+(h+24<<2)>>2]=k;g[d+(h<<2)>>2]=k;h=h+1|0}while(1){if((h|0)==24)break;c[f+(h<<2)>>2]=c[d+(e-h+-1<<2)>>2];h=h+1|0}i=u;return}function pd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0.0,k=0,l=0,m=0,n=0,o=0;n=i;m=h-f|0;l=i;i=i+((1*(h<<2)|0)+15&-16)|0;a:do if(!e)l=a;else{k=0;while(1){if((k|0)>=(h|0)){k=0;break}c[l+(k<<2)>>2]=c[a+(k<<2)>>2];k=k+1|0}while(1){if((k|0)>=(e|0))break a;j=+g[d+(k<<2)>>2];g[l+(k<<2)>>2]=+g[a+(k<<2)>>2]*j;o=h-k+-1|0;g[l+(o<<2)>>2]=+g[a+(o<<2)>>2]*j;k=k+1|0}}while(0);hd(l,l,b,m,f+1|0);e=0;while(1){if((e|0)>(f|0))break;j=0.0;k=e+m|0;while(1){if((k|0)>=(h|0))break;j=j+ +g[l+(k<<2)>>2]*+g[l+(k-e<<2)>>2];k=k+1|0}o=b+(e<<2)|0;g[o>>2]=+g[o>>2]+j;e=e+1|0}i=n;return}function qd(a,b,d,e,f,h,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0.0,w=0.0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0;S=i;i=i+96|0;O=S+72|0;P=S+48|0;Q=S+24|0;R=S;if(!p)if((r|0)==0?(u=d-b|0,+g[q>>2]>+(_(m<<1,u)|0)):0)x=(_(u,m)|0)<(o|0);else x=0;else x=1;w=+(j>>>0)*+g[q>>2]*+(s|0)/+(m<<9|0);N=a+8|0;y=c[N>>2]|0;s=0;v=0.0;do{p=_(s,y)|0;u=b;while(1){if((u|0)>=(e|0))break;L=u+p|0;T=+g[f+(L<<2)>>2]-+g[h+(L<<2)>>2];v=v+T*T;u=u+1|0}s=s+1|0}while((s|0)<(m|0));L=~~w;w=v>200.0?200.0:v;J=l+20|0;s=c[J>>2]|0;K=l+28|0;p=c[K>>2]|0;I=s+((aa(p|0)|0)+-32)|0;u=(I+3|0)>>>0>j>>>0;H=u?0:x&1;if((d-b|0)>10?(z=+(o|0)*.125,!(z>16.0)):0)v=z;else v=16.0;v=(t|0)==0?v:3.0;c[O>>2]=c[l>>2];c[O+4>>2]=c[l+4>>2];c[O+8>>2]=c[l+8>>2];c[O+12>>2]=c[l+12>>2];c[O+16>>2]=c[l+16>>2];c[O+20>>2]=c[l+20>>2];G=l+24|0;D=c[G>>2]|0;c[P>>2]=c[K>>2];c[P+4>>2]=c[K+4>>2];c[P+8>>2]=c[K+8>>2];c[P+12>>2]=c[K+12>>2];c[P+16>>2]=c[K+16>>2];C=_(y,m)|0;E=i;i=i+((1*(C<<2)|0)+15&-16)|0;F=i;i=i+((1*(C<<2)|0)+15&-16)|0;rf(E|0,h|0,C<<2|0)|0;C=u|(r|0)==0;if(C)if(!H){B=D;A=0}else{rd(a,b,d,f,E,j,I,29009+(n*84|0)+42|0,F,l,m,n,1,v,t)|0;M=22}else{u=rd(a,b,d,f,E,j,I,29009+(n*84|0)+42|0,F,l,m,n,1,v,t)|0;if(!H){s=c[J>>2]|0;p=c[K>>2]|0;B=c[G>>2]|0;A=u}else M=22}if((M|0)==22){rf(h|0,E|0,(_(c[N>>2]|0,m)|0)<<2|0)|0;rf(k|0,F|0,(_(c[N>>2]|0,m)|0)<<2|0)|0;T=w;g[q>>2]=T;i=S;return}x=32-(aa(p|0)|0)|0;e=p>>>(x+-16|0);p=(e>>>12)+-8|0;p=(s<<3)-((x<<3)+(p+(e>>>0>(c[5272+(p<<2)>>2]|0)>>>0&1)))|0;s=c[l>>2]|0;e=l+4|0;c[Q>>2]=c[e>>2];c[Q+4>>2]=c[e+4>>2];c[Q+8>>2]=c[e+8>>2];c[Q+12>>2]=c[e+12>>2];c[Q+16>>2]=c[e+16>>2];c[R>>2]=c[K>>2];c[R+4>>2]=c[K+4>>2];c[R+8>>2]=c[K+8>>2];c[R+12>>2]=c[K+12>>2];c[R+16>>2]=c[K+16>>2];x=s+D|0;o=B-D|0;y=Fa()|0;r=i;i=i+((1*((B|0)==(D|0)?1:o)|0)+15&-16)|0;rf(r|0,x|0,o|0)|0;c[l>>2]=c[O>>2];c[l+4>>2]=c[O+4>>2];c[l+8>>2]=c[O+8>>2];c[l+12>>2]=c[O+12>>2];c[l+16>>2]=c[O+16>>2];c[l+20>>2]=c[O+20>>2];c[G>>2]=D;c[K>>2]=c[P>>2];c[K+4>>2]=c[P+4>>2];c[K+8>>2]=c[P+8>>2];c[K+12>>2]=c[P+12>>2];c[K+16>>2]=c[P+16>>2];u=rd(a,b,d,f,h,j,I,29009+(n*84|0)+(H*42|0)|0,k,l,m,n,0,v,t)|0;do if(!C){if((A|0)>=(u|0)){if((A|0)!=(u|0))break;a=c[K>>2]|0;t=32-(aa(a|0)|0)|0;a=a>>>(t+-16|0);b=(a>>>12)+-8|0;if(((c[J>>2]<<3)-((t<<3)+(b+(a>>>0>(c[5272+(b<<2)>>2]|0)>>>0&1)))+L|0)<=(p|0))break}c[l>>2]=s;c[e>>2]=c[Q>>2];c[e+4>>2]=c[Q+4>>2];c[e+8>>2]=c[Q+8>>2];c[e+12>>2]=c[Q+12>>2];c[e+16>>2]=c[Q+16>>2];c[G>>2]=B;c[K>>2]=c[R>>2];c[K+4>>2]=c[R+4>>2];c[K+8>>2]=c[R+8>>2];c[K+12>>2]=c[R+12>>2];c[K+16>>2]=c[R+16>>2];rf(x|0,r|0,o|0)|0;rf(h|0,E|0,(_(c[N>>2]|0,m)|0)<<2|0)|0;rf(k|0,F|0,(_(c[N>>2]|0,m)|0)<<2|0)|0;Na(y|0);T=w;g[q>>2]=T;i=S;return}while(0);Na(y|0);T=+g[17336+(n<<2)>>2];T=T*T*+g[q>>2]+w;g[q>>2]=T;i=S;return}function rd(b,e,f,h,j,k,l,m,n,o,p,q,r,s,t){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=+s;t=t|0;var u=0,v=0,w=0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0.0,ba=0.0,ca=0,da=0;da=i;i=i+16|0;ca=da;Z=ca;c[Z>>2]=0;c[Z+4>>2]=0;a:do if((l+3|0)<=(k|0)){H=o+28|0;u=c[H>>2]|0;l=u>>>3;u=u-l|0;G=o+32|0;if(!r)l=u;else c[G>>2]=(c[G>>2]|0)+u;c[H>>2]=l;z=o+36|0;A=o+20|0;B=o+40|0;C=o+24|0;D=o+8|0;E=o+4|0;F=o+44|0;while(1){if(l>>>0>=8388609)break a;u=c[G>>2]|0;w=u>>>23;if((w|0)==255)c[z>>2]=(c[z>>2]|0)+1;else{v=u>>>31;l=c[B>>2]|0;if((l|0)>-1){u=c[C>>2]|0;if((u+(c[D>>2]|0)|0)>>>0<(c[E>>2]|0)>>>0){c[C>>2]=u+1;a[(c[o>>2]|0)+u>>0]=l+v;l=0}else l=-1;c[F>>2]=c[F>>2]|l}l=c[z>>2]|0;if(l|0){v=v+255&255;do{u=c[C>>2]|0;if((u+(c[D>>2]|0)|0)>>>0<(c[E>>2]|0)>>>0){c[C>>2]=u+1;a[(c[o>>2]|0)+u>>0]=v;u=0;l=c[z>>2]|0}else u=-1;c[F>>2]=c[F>>2]|u;l=l+-1|0;c[z>>2]=l}while((l|0)!=0)}c[B>>2]=w&255;u=c[G>>2]|0;l=c[H>>2]|0}c[G>>2]=u<<8&2147483392;l=l<<8;c[H>>2]=l;c[A>>2]=(c[A>>2]|0)+8}}while(0);if(!r){ba=+g[17320+(q<<2)>>2];$=+g[17336+(q<<2)>>2]}else{ba=.149993896484375;$=0.0}W=b+8|0;X=o+20|0;Y=o+28|0;Z=p*3|0;b=(t|0)==0;t=o+32|0;L=o+36|0;N=o+40|0;O=o+24|0;P=o+8|0;Q=o+4|0;R=o+44|0;l=0;V=e;while(1){if((V|0)>=(f|0))break;S=_(Z,f-V|0)|0;T=(V|0)!=(e|0);U=(V|0)<20;q=0;do{r=V+(_(q,c[W>>2]|0)|0)|0;y=+g[h+(r<<2)>>2];x=+g[j+(r<<2)>>2];K=$*(x<-9.0?-9.0:x);r=ca+(q<<2)|0;I=+g[r>>2];J=y-K-I;u=~~+M(+(J+.5));x=(x<-28.0?-28.0:x)-s;if((u|0)<0&y0?0:H}else H=u;w=c[X>>2]|0;G=c[Y>>2]|0;z=w+((aa(G|0)|0)+-32)|0;A=k-z|0;v=A-S|0;if((v|0)<24&T){u=(H|0)>1?1:H;if((v|0)<16)u=(u|0)<-1?-1:u}else u=H;u=b|(V|0)<2|(u|0)<0?u:0;b:do if((A|0)<=14)if((A|0)>1){u=(u|0)<-1?-1:(u|0)<1?u:1;v=u<<1^u>>31;z=G>>>2;if((v|0)>0){F=d[29345+(v+-1)>>0]|0;G=G-(_(z,F)|0)|0;c[t>>2]=(c[t>>2]|0)+G;v=_(z,F-(d[29345+v>>0]|0)|0)|0}else v=G-(_(z,d[29345+v>>0]|0)|0)|0;c[Y>>2]=v;while(1){if(v>>>0>=8388609)break b;z=c[t>>2]|0;A=z>>>23;if((A|0)==255)c[L>>2]=(c[L>>2]|0)+1;else{z=z>>>31;v=c[N>>2]|0;if((v|0)>-1){w=c[O>>2]|0;if((w+(c[P>>2]|0)|0)>>>0<(c[Q>>2]|0)>>>0){c[O>>2]=w+1;a[(c[o>>2]|0)+w>>0]=v+z;v=0}else v=-1;c[R>>2]=c[R>>2]|v}v=c[L>>2]|0;if(v|0){z=z+255&255;do{w=c[O>>2]|0;if((w+(c[P>>2]|0)|0)>>>0<(c[Q>>2]|0)>>>0){c[O>>2]=w+1;a[(c[o>>2]|0)+w>>0]=z;w=0;v=c[L>>2]|0}else w=-1;c[R>>2]=c[R>>2]|w;v=v+-1|0;c[L>>2]=v}while((v|0)!=0)}c[N>>2]=A&255;z=c[t>>2]|0;v=c[Y>>2]|0;w=c[X>>2]|0}c[t>>2]=z<<8&2147483392;v=v<<8;c[Y>>2]=v;w=w+8|0;c[X>>2]=w}}else{if((z|0)>=(k|0)){u=-1;break}z=G>>>1;v=G-z|0;if((u|0)>-1)u=0;else{c[t>>2]=(c[t>>2]|0)+v;v=z}c[Y>>2]=v;while(1){if(v>>>0>=8388609)break b;z=c[t>>2]|0;A=z>>>23;if((A|0)==255)c[L>>2]=(c[L>>2]|0)+1;else{z=z>>>31;v=c[N>>2]|0;if((v|0)>-1){w=c[O>>2]|0;if((w+(c[P>>2]|0)|0)>>>0<(c[Q>>2]|0)>>>0){c[O>>2]=w+1;a[(c[o>>2]|0)+w>>0]=v+z;v=0}else v=-1;c[R>>2]=c[R>>2]|v}v=c[L>>2]|0;if(v|0){z=z+255&255;do{w=c[O>>2]|0;if((w+(c[P>>2]|0)|0)>>>0<(c[Q>>2]|0)>>>0){c[O>>2]=w+1;a[(c[o>>2]|0)+w>>0]=z;w=0;v=c[L>>2]|0}else w=-1;c[R>>2]=c[R>>2]|w;v=v+-1|0;c[L>>2]=v}while((v|0)!=0)}c[N>>2]=A&255;z=c[t>>2]|0;v=c[Y>>2]|0;w=c[X>>2]|0}c[t>>2]=z<<8&2147483392;v=v<<8;c[Y>>2]=v;w=w+8|0;c[X>>2]=w}}else{A=(U?V:20)<<1;v=(d[m+A>>0]|0)<<7;A=(d[m+(A|1)>>0]|0)<<6;if(u){E=u>>31;B=u+E^E;z=_(32736-v|0,16384-A|0)|0;C=v;D=1;while(1){v=z>>>15;if(!v){F=36;break}if((B|0)<=(D|0)){F=37;break}F=v<<1;z=_(F,A)|0;C=C+(F+2)|0;D=D+1|0}if((F|0)==36){F=0;A=B-D|0;u=(32768-C-E>>1)+-1|0;u=(A|0)<(u|0)?A:u;A=C+((u<<1|1)+E)|0;v=32768-A|0;v=v>>>0>1?1:v;u=D+u+E^E}else if((F|0)==37){F=0;A=v+1|0;v=A;A=C+(A&~E)|0}z=G>>>15;if(!A)F=40;else{G=G-(_(z,32768-A|0)|0)|0;c[t>>2]=(c[t>>2]|0)+G;v=_(z,v)|0}}else{z=G>>>15;u=0;F=40}if((F|0)==40)v=G-(_(z,32768-v|0)|0)|0;c[Y>>2]=v;z=v;v=w;while(1){if(z>>>0>=8388609)break b;w=c[t>>2]|0;A=w>>>23;if((A|0)==255)c[L>>2]=(c[L>>2]|0)+1;else{z=w>>>31;v=c[N>>2]|0;if((v|0)>-1){w=c[O>>2]|0;if((w+(c[P>>2]|0)|0)>>>0<(c[Q>>2]|0)>>>0){c[O>>2]=w+1;a[(c[o>>2]|0)+w>>0]=v+z;v=0}else v=-1;c[R>>2]=c[R>>2]|v}v=c[L>>2]|0;if(v|0){z=z+255&255;do{w=c[O>>2]|0;if((w+(c[P>>2]|0)|0)>>>0<(c[Q>>2]|0)>>>0){c[O>>2]=w+1;a[(c[o>>2]|0)+w>>0]=z;w=0;v=c[L>>2]|0}else w=-1;c[R>>2]=c[R>>2]|w;v=v+-1|0;c[L>>2]=v}while((v|0)!=0)}c[N>>2]=A&255;w=c[t>>2]|0;z=c[Y>>2]|0;v=c[X>>2]|0}c[t>>2]=w<<8&2147483392;z=z<<8;c[Y>>2]=z;v=v+8|0;c[X>>2]=v}}while(0);y=+(u|0);g[n+(V+(_(q,c[W>>2]|0)|0)<<2)>>2]=J-y;H=H-u|0;l=l+((H|0)>-1?H:0-H|0)|0;g[j+(V+(_(q,c[W>>2]|0)|0)<<2)>>2]=K+I+y;g[r>>2]=I+y-ba*y;q=q+1|0}while((q|0)<(p|0));V=V+1|0}i=da;return (b?l:0)|0}function sd(e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;var y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0;da=i;n=(n|0)>0?n:0;G=c[e+8>>2]|0;P=(n|0)>7?8:0;n=n-P|0;ca=(s|0)==2;if(ca?(y=d[29348+(g-f)>>0]|0,(n|0)>=(y|0)):0){n=n-y|0;V=(n|0)>7?8:0;n=n-V|0}else{V=0;y=0}L=i;i=i+((1*(G<<2)|0)+15&-16)|0;M=i;i=i+((1*(G<<2)|0)+15&-16)|0;O=i;i=i+((1*(G<<2)|0)+15&-16)|0;K=i;i=i+((1*(G<<2)|0)+15&-16)|0;$=s<<3;ba=e+32|0;k=k+-5-t|0;z=t+3|0;A=f;while(1){if((A|0)>=(g|0))break;Y=A+1|0;X=c[ba>>2]|0;X=(b[X+(Y<<1)>>1]|0)-(b[X+(A<<1)>>1]|0)|0;W=X*3<>4;c[O+(A<<2)>>2]=($|0)>(W|0)?$:W;W=(_(_(_(X,s)|0,k)|0,g-A+-1|0)|0)<>6;c[K+(A<<2)>>2]=W-((X<>2]|0;I=e+52|0;F=H+-1|0;J=1;do{C=J+F>>1;D=_(C,G)|0;E=0;k=g;z=0;a:while(1){b:while(1){B=k;do{k=B;B=B+-1|0;if((k|0)<=(f|0))break a;Y=c[ba>>2]|0;k=_((b[Y+(k<<1)>>1]|0)-(b[Y+(B<<1)>>1]|0)|0,s)|0;k=(_(k,d[(c[I>>2]|0)+(D+B)>>0]|0)|0)<>2;if((k|0)>0){k=k+(c[K+(B<<2)>>2]|0)|0;k=(k|0)<0?0:k}A=k+(c[h+(B<<2)>>2]|0)|0;if((A|0)>=(c[O+(B<<2)>>2]|0)|E)break b}while((A|0)<($|0));k=B;z=z+$|0}Y=c[j+(B<<2)>>2]|0;E=1;k=B;z=z+((A|0)<(Y|0)?A:Y)|0}Y=(z|0)>(n|0);J=Y?J:C+1|0;F=Y?C+-1|0:F}while((J|0)<=(F|0));F=_(J+-1|0,G)|0;B=_(J,G)|0;C=(J|0)>1;E=f;N=f;while(1){if((E|0)>=(g|0))break;D=E+1|0;k=c[ba>>2]|0;k=_((b[k+(D<<1)>>1]|0)-(b[k+(E<<1)>>1]|0)|0,s)|0;z=c[I>>2]|0;A=(_(k,d[z+(F+E)>>0]|0)|0)<>2;if((J|0)<(H|0))k=(_(k,d[z+(B+E)>>0]|0)|0)<>2;else k=c[j+(E<<2)>>2]|0;if((A|0)>0){z=A+(c[K+(E<<2)>>2]|0)|0;z=(z|0)<0?0:z}else z=A;if((k|0)>0){k=k+(c[K+(E<<2)>>2]|0)|0;k=(k|0)<0?0:k}Y=c[h+(E<<2)>>2]|0;X=z+(C?Y:0)|0;W=k+Y|0;Y=(Y|0)>0?E:N;c[L+(E<<2)>>2]=X;c[M+(E<<2)>>2]=(W|0)<(X|0)?0:W-X|0;E=D;N=Y}W=(s|0)>1;Y=W&1;D=64;E=0;F=0;while(1){if((E|0)==6)break;B=F+D>>1;C=0;k=g;z=0;c:while(1){d:while(1){do{X=k;k=k+-1|0;if((X|0)<=(f|0))break c;A=(c[L+(k<<2)>>2]|0)+((_(B,c[M+(k<<2)>>2]|0)|0)>>6)|0;if((A|0)>=(c[O+(k<<2)>>2]|0)|C)break d}while((A|0)<($|0));z=z+$|0}X=c[j+(k<<2)>>2]|0;C=1;z=z+((A|0)<(X|0)?A:X)|0}X=(z|0)>(n|0);D=X?B:D;E=E+1|0;F=X?F:B}X=t<<3;z=0;A=g;B=0;while(1){k=A+-1|0;if((A|0)<=(f|0))break;T=(c[L+(k<<2)>>2]|0)+((_(F,c[M+(k<<2)>>2]|0)|0)>>6)|0;A=(z|0)==0?(T|0)<(c[O+(k<<2)>>2]|0):0;T=A?((T|0)<($|0)?0:$):T;U=c[j+(k<<2)>>2]|0;U=(T|0)<(U|0)?T:U;c[p+(k<<2)>>2]=U;z=A&1^1;A=k;B=B+U|0}H=$+8|0;I=(v|0)==0;M=u+28|0;v=u+32|0;Q=u+20|0;R=u+40|0;S=u+24|0;T=u+4|0;G=f+2|0;J=u+36|0;K=u+8|0;h=u+44|0;U=g;L=B;e:while(1){E=U+-1|0;if((E|0)<=(N|0)){Z=45;break}C=n-L|0;k=c[ba>>2]|0;F=b[k+(U<<1)>>1]|0;A=b[k+(f<<1)>>1]|0;z=F-A|0;D=(C>>>0)/(z>>>0)|0;z=C-(_(z,D)|0)|0;k=b[k+(E<<1)>>1]|0;A=z+(A-k)|0;k=F-k|0;F=p+(E<<2)|0;z=c[F>>2]|0;A=z+(_(D,k)|0)+((A|0)>0?A:0)|0;D=c[O+(E<<2)>>2]|0;if((A|0)<(((D|0)>(H|0)?D:H)|0)){B=z;z=L}else{f:do if(I){k=c[M>>2]|0;B=c[v>>2]|0;z=k>>>1;D=B>>>0>>0;if(D)k=B;else{C=B-z|0;c[v>>2]=C;z=k-z|0;k=C}c[M>>2]=z;while(1){if(z>>>0>=8388609)break;c[Q>>2]=(c[Q>>2]|0)+8;z=z<<8;c[M>>2]=z;C=c[R>>2]|0;B=c[S>>2]|0;if(B>>>0<(c[T>>2]|0)>>>0){c[S>>2]=B+1;B=d[(c[u>>2]|0)+B>>0]|0}else B=0;c[R>>2]=B;C=((C<<8|B)>>>1&255|k<<8&2147483392)^255;c[v>>2]=C;k=C}if(D)break e}else{if((U|0)<=(G|0)){Z=50;break e}if(!((E|0)>(x|0)?1:(A|0)<=((_((U|0)<=(w|0)?7:9,k)|0)<>4|0))){Z=50;break e}k=c[M>>2]|0;k=k-(k>>>1)|0;c[M>>2]=k;while(1){if(k>>>0>=8388609)break f;z=c[v>>2]|0;C=z>>>23;if((C|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{B=z>>>31;k=c[R>>2]|0;if((k|0)>-1){z=c[S>>2]|0;if((z+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=z+1;a[(c[u>>2]|0)+z>>0]=k+B;k=0}else k=-1;c[h>>2]=c[h>>2]|k}k=c[J>>2]|0;if(k|0){B=B+255&255;do{z=c[S>>2]|0;if((z+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=z+1;a[(c[u>>2]|0)+z>>0]=B;z=0;k=c[J>>2]|0}else z=-1;c[h>>2]=c[h>>2]|z;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[R>>2]=C&255;z=c[v>>2]|0;k=c[M>>2]|0}c[v>>2]=z<<8&2147483392;k=k<<8;c[M>>2]=k;c[Q>>2]=(c[Q>>2]|0)+8}}while(0);B=c[F>>2]|0;A=A+-8|0;z=L+8|0}if((y|0)>0)k=d[29348+(E-f)>>0]|0;else k=y;U=(A|0)<($|0);L=z-(B+y)+k+(U?0:$)|0;c[F>>2]=U?0:$;y=k;U=E}g:do if((Z|0)==45)n=n+P|0;else if((Z|0)==50){z=c[M>>2]|0;k=z>>>1;z=(c[v>>2]|0)+(z-k)|0;c[v>>2]=z;c[M>>2]=k;while(1){if(k>>>0>=8388609)break g;B=z>>>23;if((B|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{A=z>>>31;k=c[R>>2]|0;if((k|0)>-1){z=c[S>>2]|0;if((z+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=z+1;a[(c[u>>2]|0)+z>>0]=k+A;k=0}else k=-1;c[h>>2]=c[h>>2]|k}k=c[J>>2]|0;if(k|0){A=A+255&255;do{z=c[S>>2]|0;if((z+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=z+1;a[(c[u>>2]|0)+z>>0]=A;z=0;k=c[J>>2]|0}else z=-1;c[h>>2]=c[h>>2]|z;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[R>>2]=B&255;z=c[v>>2]|0;k=c[M>>2]|0}z=z<<8&2147483392;c[v>>2]=z;k=k<<8;c[M>>2]=k;c[Q>>2]=(c[Q>>2]|0)+8}}while(0);h:do if((y|0)>0){if(I){c[l>>2]=(bd(u,U+1-f|0)|0)+f;break}z=c[l>>2]|0;z=(z|0)<(U|0)?z:U;c[l>>2]=z;C=z-f|0;A=U+1-f|0;k=A+-1|0;y=32-(aa(k|0)|0)|0;if((y|0)<=8){k=c[M>>2]|0;y=(k>>>0)/(A>>>0)|0;if((z|0)==(f|0))y=k-(_(y,A-(C+1)|0)|0)|0;else{x=k-(_(y,A-C|0)|0)|0;c[v>>2]=(c[v>>2]|0)+x}c[M>>2]=y;while(1){if(y>>>0>=8388609)break h;k=c[v>>2]|0;A=k>>>23;if((A|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{z=k>>>31;y=c[R>>2]|0;if((y|0)>-1){k=c[S>>2]|0;if((k+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=k+1;a[(c[u>>2]|0)+k>>0]=y+z;y=0}else y=-1;c[h>>2]=c[h>>2]|y}y=c[J>>2]|0;if(y|0){z=z+255&255;do{k=c[S>>2]|0;if((k+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=k+1;a[(c[u>>2]|0)+k>>0]=z;k=0;y=c[J>>2]|0}else k=-1;c[h>>2]=c[h>>2]|k;y=y+-1|0;c[J>>2]=y}while((y|0)!=0)}c[R>>2]=A&255;k=c[v>>2]|0;y=c[M>>2]|0}c[v>>2]=k<<8&2147483392;y=y<<8;c[M>>2]=y;c[Q>>2]=(c[Q>>2]|0)+8}}G=y+-8|0;k=k>>>G;z=k+1|0;A=C>>>G;B=c[M>>2]|0;y=(B>>>0)/(z>>>0)|0;if(!A)y=B-(_(y,k)|0)|0;else{x=B-(_(y,z-A|0)|0)|0;c[v>>2]=(c[v>>2]|0)+x}c[M>>2]=y;while(1){if(y>>>0>=8388609)break;k=c[v>>2]|0;A=k>>>23;if((A|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{z=k>>>31;y=c[R>>2]|0;if((y|0)>-1){k=c[S>>2]|0;if((k+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=k+1;a[(c[u>>2]|0)+k>>0]=y+z;y=0}else y=-1;c[h>>2]=c[h>>2]|y}y=c[J>>2]|0;if(y|0){z=z+255&255;do{k=c[S>>2]|0;if((k+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=k+1;a[(c[u>>2]|0)+k>>0]=z;k=0;y=c[J>>2]|0}else k=-1;c[h>>2]=c[h>>2]|k;y=y+-1|0;c[J>>2]=y}while((y|0)!=0)}c[R>>2]=A&255;k=c[v>>2]|0;y=c[M>>2]|0}c[v>>2]=k<<8&2147483392;y=y<<8;c[M>>2]=y;c[Q>>2]=(c[Q>>2]|0)+8}D=(1<>2]|0;F=u+16|0;k=c[F>>2]|0;if((k+G|0)>>>0>32){B=7-k|0;B=k+((B|0)>-8?B:-8)&-8;C=k;do{z=c[K>>2]|0;A=c[T>>2]|0;if(((c[S>>2]|0)+z|0)>>>0>>0){z=z+1|0;c[K>>2]=z;a[(c[u>>2]|0)+(A-z)>>0]=y;z=0}else z=-1;c[h>>2]=c[h>>2]|z;y=y>>>8;C=C+-8|0}while((C|0)>7);k=k+-8-B|0}c[E>>2]=y|D<>2]=k+G;c[Q>>2]=(c[Q>>2]|0)+G}else c[l>>2]=0;while(0);i:do if((c[l>>2]|0)>(f|0))if(!V)Z=169;else{if(I){y=c[M>>2]|0;z=c[v>>2]|0;k=y>>>1;V=z>>>0>>0;B=V&1;if(V)y=z;else{V=z-k|0;c[v>>2]=V;k=y-k|0;y=V}c[M>>2]=k;while(1){if(k>>>0>=8388609)break;c[Q>>2]=(c[Q>>2]|0)+8;k=k<<8;c[M>>2]=k;A=c[R>>2]|0;z=c[S>>2]|0;if(z>>>0<(c[T>>2]|0)>>>0){c[S>>2]=z+1;z=d[(c[u>>2]|0)+z>>0]|0}else z=0;c[R>>2]=z;V=((A<<8|z)>>>1&255|y<<8&2147483392)^255;c[v>>2]=V;y=V}c[m>>2]=B;break}k=c[M>>2]|0;y=k>>>1;k=k-y|0;if(!(c[m>>2]|0))y=k;else c[v>>2]=(c[v>>2]|0)+k;c[M>>2]=y;while(1){if(y>>>0>=8388609)break i;k=c[v>>2]|0;A=k>>>23;if((A|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{z=k>>>31;y=c[R>>2]|0;if((y|0)>-1){k=c[S>>2]|0;if((k+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=k+1;a[(c[u>>2]|0)+k>>0]=y+z;y=0}else y=-1;c[h>>2]=c[h>>2]|y}y=c[J>>2]|0;if(y|0){z=z+255&255;do{k=c[S>>2]|0;if((k+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=k+1;a[(c[u>>2]|0)+k>>0]=z;k=0;y=c[J>>2]|0}else k=-1;c[h>>2]=c[h>>2]|k;y=y+-1|0;c[J>>2]=y}while((y|0)!=0)}c[R>>2]=A&255;k=c[v>>2]|0;y=c[M>>2]|0}c[v>>2]=k<<8&2147483392;y=y<<8;c[M>>2]=y;c[Q>>2]=(c[Q>>2]|0)+8}}else{n=n+V|0;Z=169}while(0);if((Z|0)==169)c[m>>2]=0;k=n-L|0;z=c[ba>>2]|0;z=(b[z+(U<<1)>>1]|0)-(b[z+(f<<1)>>1]|0)|0;n=(k>>>0)/(z>>>0)|0;z=_(z,n)|0;y=f;while(1){if((y|0)>=(U|0))break;Z=y+1|0;V=c[ba>>2]|0;V=_(n,(b[V+(Z<<1)>>1]|0)-(b[V+(y<<1)>>1]|0)|0)|0;u=p+(y<<2)|0;c[u>>2]=(c[u>>2]|0)+V;y=Z}y=f;n=k-z|0;while(1){if((y|0)>=(U|0))break;u=y+1|0;Z=c[ba>>2]|0;Z=(b[Z+(u<<1)>>1]|0)-(b[Z+(y<<1)>>1]|0)|0;Z=(n|0)<(Z|0)?n:Z;V=p+(y<<2)|0;c[V>>2]=(c[V>>2]|0)+Z;y=u;n=n-Z|0}H=e+56|0;F=W?4:3;G=0;while(1){if((f|0)>=(U|0))break;E=f+1|0;A=c[ba>>2]|0;A=(b[A+(E<<1)>>1]|0)-(b[A+(f<<1)>>1]|0)<>2]|0)+G|0;if((A|0)>1){n=c[j+(f<<2)>>2]|0;n=(y|0)>(n|0)?y-n|0:0;B=y-n|0;c[D>>2]=B;y=_(A,s)|0;if(ca&(A|0)>2?(c[m>>2]|0)==0:0)k=(f|0)<(c[l>>2]|0);else k=0;C=y+(k&1)|0;z=_(C,(b[(c[H>>2]|0)+(f<<1)>>1]|0)+X|0)|0;y=(z>>1)+(_(C,-21)|0)|0;if((A|0)==2)y=y+(C<<3>>2)|0;k=B+y|0;if((k|0)>=(C<<4|0))if((k|0)<(C*24|0))A=y+(z>>3)|0;else A=y;else A=y+(z>>2)|0;y=B+A+(C<<2)|0;y=((((y|0)<0?0:y)>>>0)/(C>>>0)|0)>>>3;z=q+(f<<2)|0;c[z>>2]=y;e=_(y,s)|0;k=c[D>>2]|0;if((e|0)>(k>>3|0)){y=k>>Y>>3;c[z>>2]=y}e=(y|0)<8?y:8;c[z>>2]=e;e=_(e,C<<3)|0;c[r+(f<<2)>>2]=(e|0)>=((c[D>>2]|0)+A|0)&1;e=(_(c[z>>2]|0,s)|0)<<3;c[D>>2]=(c[D>>2]|0)-e}else{n=(y|0)<($|0)?0:y-$|0;c[D>>2]=y-n;c[q+(f<<2)>>2]=0;c[r+(f<<2)>>2]=1}if((n|0)<=0){G=n;f=E;continue}W=n>>F;Z=q+(f<<2)|0;u=c[Z>>2]|0;e=8-u|0;e=(W|0)<(e|0)?W:e;c[Z>>2]=u+e;e=(_(e,s)|0)<<3;c[r+(f<<2)>>2]=(e|0)>=(n-G|0)&1;G=n-e|0;f=E}c[o>>2]=G;while(1){if((f|0)>=(g|0))break;m=p+(f<<2)|0;l=q+(f<<2)|0;c[l>>2]=c[m>>2]>>Y>>3;c[m>>2]=0;c[r+(f<<2)>>2]=(c[l>>2]|0)<1&1;f=f+1|0}i=da;return U|0}function td(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0;t=i;r=i;i=i+((1*(e<<2)|0)+15&-16)|0;s=i;i=i+((1*(e<<2)|0)+15&-16)|0;f=0;do{q=a+(f<<2)|0;o=+g[q>>2];c[s+(f<<2)>>2]=o<0.0&1;g[q>>2]=+N(+o);c[b+(f<<2)>>2]=0;g[r+(f<<2)>>2]=0.0;f=f+1|0}while((f|0)<(e|0));if((e>>1|0)<(d|0)){f=0;h=0.0;do{h=h+ +g[a+(f<<2)>>2];f=f+1|0}while((f|0)<(e|0));if(!(h>1.0000000036274937e-15&h<64.0)){g[a>>2]=1.0;f=1;do{g[a+(f<<2)>>2]=0.0;f=f+1|0}while((f|0)<(e|0));h=1.0}k=(+(d|0)+.8)*(1.0/h);l=0;f=d;j=0.0;h=0.0;do{p=a+(l<<2)|0;q=~~+M(+(k*+g[p>>2]));c[b+(l<<2)>>2]=q;o=+(q|0);h=h+o*o;j=j+ +g[p>>2]*o;g[r+(l<<2)>>2]=o*2.0;f=f-q|0;l=l+1|0}while((l|0)<(e|0))}else{f=d;j=0.0;h=0.0}if((f|0)>(e+3|0)){o=+(f|0);h=h+o*o+o*+g[r>>2];c[b>>2]=(c[b>>2]|0)+f;f=0}q=0;while(1){if((q|0)>=(f|0)){f=0;break}h=h+1.0;o=j+ +g[a>>2];n=h+ +g[r>>2];l=0;o=o*o;p=1;while(1){m=j+ +g[a+(p<<2)>>2];k=h+ +g[r+(p<<2)>>2];m=m*m;d=n*m>k*o;l=d?p:l;p=p+1|0;if((p|0)>=(e|0))break;else{n=d?k:n;o=d?m:o}}n=+g[a+(l<<2)>>2];p=r+(l<<2)|0;o=+g[p>>2];g[p>>2]=o+2.0;p=b+(l<<2)|0;c[p>>2]=(c[p>>2]|0)+1;q=q+1|0;j=j+n;h=h+o}do{a=b+(f<<2)|0;r=c[s+(f<<2)>>2]|0;c[a>>2]=(c[a>>2]^0-r)+r;f=f+1|0}while((f|0)<(e|0));i=t;return +h} -function ud(b,d,e,f,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=+k;l=l|0;var m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;D=i;i=i+((1*(d+3<<2)|0)+15&-16)|0;vd(b,d,1,h,e,f);n=+td(b,D,e,d);p=d+-1|0;r=c[D+(p<<2)>>2]|0;m=r>>>31;r=(r|0)>-1?r:0-r|0;while(1){q=p;p=p+-1|0;o=d-p|0;m=m+(c[(c[17748+(((o|0)<(r|0)?o:r)<<2)>>2]|0)+(((o|0)>(r|0)?o:r)<<2)>>2]|0)|0;C=c[D+(p<<2)>>2]|0;r=r+((C|0)>-1?C:0-C|0)|0;if((C|0)<0){B=r+1|0;B=m+(c[(c[17748+(((o|0)>(r|0)?B:o)<<2)>>2]|0)+(((o|0)>(B|0)?o:B)<<2)>>2]|0)|0}else B=m;if((q|0)<=1)break;else m=B}o=(d|0)>(e|0);p=e+1|0;p=(c[(c[17748+(((d|0)<(e|0)?d:e)<<2)>>2]|0)+((o?d:e)<<2)>>2]|0)+(c[(c[17748+((o?p:d)<<2)>>2]|0)+(((p|0)<(d|0)?d:p)<<2)>>2]|0)|0;o=p+-1|0;m=32-(aa(o|0)|0)|0;a:do if((m|0)>8){C=m+-8|0;m=o>>>C;o=m+1|0;p=B>>>C;v=j+28|0;q=c[v>>2]|0;r=(q>>>0)/(o>>>0)|0;if(!p){r=q-(_(r,m)|0)|0;c[v>>2]=r;u=j+32|0}else{A=q-(_(r,o-p|0)|0)|0;u=j+32|0;c[u>>2]=(c[u>>2]|0)+A;c[v>>2]=r}s=j+36|0;A=j+20|0;t=j+40|0;w=j+24|0;x=j+8|0;y=j+4|0;z=j+44|0;while(1){if(r>>>0>=8388609)break;m=c[u>>2]|0;q=m>>>23;if((q|0)==255)c[s>>2]=(c[s>>2]|0)+1;else{p=m>>>31;m=c[t>>2]|0;if((m|0)>-1){o=c[w>>2]|0;if((o+(c[x>>2]|0)|0)>>>0<(c[y>>2]|0)>>>0){c[w>>2]=o+1;a[(c[j>>2]|0)+o>>0]=m+p;m=0}else m=-1;c[z>>2]=c[z>>2]|m}m=c[s>>2]|0;if(m|0){p=p+255&255;do{o=c[w>>2]|0;if((o+(c[x>>2]|0)|0)>>>0<(c[y>>2]|0)>>>0){c[w>>2]=o+1;a[(c[j>>2]|0)+o>>0]=p;o=0;m=c[s>>2]|0}else o=-1;c[z>>2]=c[z>>2]|o;m=m+-1|0;c[s>>2]=m}while((m|0)!=0)}c[t>>2]=q&255;m=c[u>>2]|0;r=c[v>>2]|0}c[u>>2]=m<<8&2147483392;r=r<<8;c[v>>2]=r;c[A>>2]=(c[A>>2]|0)+8}t=(1<>2]|0;v=j+16|0;o=c[v>>2]|0;if((o+C|0)>>>0>32){r=7-o|0;r=o+((r|0)>-8?r:-8)&-8;s=o;do{p=c[x>>2]|0;q=c[y>>2]|0;if(((c[w>>2]|0)+p|0)>>>0>>0){p=p+1|0;c[x>>2]=p;a[(c[j>>2]|0)+(q-p)>>0]=m;p=0}else p=-1;c[z>>2]=c[z>>2]|p;m=m>>>8;s=s+-8|0}while((s|0)>7);o=o+-8-r|0}c[u>>2]=m|t<>2]=o+C;c[A>>2]=(c[A>>2]|0)+C}else{z=j+28|0;m=c[z>>2]|0;o=(m>>>0)/(p>>>0)|0;if(!B){o=m-(_(o,p+-1|0)|0)|0;c[z>>2]=o;y=j+32|0}else{C=m-(_(o,p-B|0)|0)|0;y=j+32|0;c[y>>2]=(c[y>>2]|0)+C;c[z>>2]=o}r=j+36|0;s=j+20|0;t=j+40|0;u=j+24|0;v=j+8|0;w=j+4|0;x=j+44|0;while(1){if(o>>>0>=8388609)break a;m=c[y>>2]|0;q=m>>>23;if((q|0)==255)c[r>>2]=(c[r>>2]|0)+1;else{p=m>>>31;m=c[t>>2]|0;if((m|0)>-1){o=c[u>>2]|0;if((o+(c[v>>2]|0)|0)>>>0<(c[w>>2]|0)>>>0){c[u>>2]=o+1;a[(c[j>>2]|0)+o>>0]=m+p;m=0}else m=-1;c[x>>2]=c[x>>2]|m}m=c[r>>2]|0;if(m|0){p=p+255&255;do{o=c[u>>2]|0;if((o+(c[v>>2]|0)|0)>>>0<(c[w>>2]|0)>>>0){c[u>>2]=o+1;a[(c[j>>2]|0)+o>>0]=p;o=0;m=c[r>>2]|0}else o=-1;c[x>>2]=c[x>>2]|o;m=m+-1|0;c[r>>2]=m}while((m|0)!=0)}c[t>>2]=q&255;m=c[y>>2]|0;o=c[z>>2]|0}c[y>>2]=m<<8&2147483392;o=o<<8;c[z>>2]=o;c[s>>2]=(c[s>>2]|0)+8}}while(0);if(l|0){n=1.0/+O(+n)*k;m=0;do{g[b+(m<<2)>>2]=n*+(c[D+(m<<2)>>2]|0);m=m+1|0}while((m|0)<(d|0));vd(b,d,-1,h,e,f)}if((h|0)<2){h=1;i=E;return h|0}r=(d>>>0)/(h>>>0)|0;m=0;s=0;do{o=_(s,r)|0;p=0;q=0;do{q=q|c[D+(o+p<<2)>>2];p=p+1|0}while((p|0)<(r|0));m=m|((q|0)!=0&1)<=(b|0)|(h|0)==0)return;v=+(b|0)/+((_(c[17352+(h+-1<<2)>>2]|0,f)|0)+b|0);v=v*v*.5;u=+Q(+(v*1.5707963705062866));v=+Q(+((1.0-v)*1.5707963705062866));a:do if((e<<3|0)>(b|0))h=0;else{f=e>>2;h=1;while(1){if(((_((_(h,h)|0)+h|0,e)|0)+f|0)>=(b|0))break a;h=h+1|0}}while(0);t=(b>>>0)/(e>>>0)|0;i=(d|0)<0;j=(h|0)==0;k=-v;l=t+-1|0;m=t+-3|0;n=t+-2|0;o=-u;p=t-h|0;q=t-(h<<1)|0;r=q+-1|0;s=0;while(1){if((s|0)>=(e|0))break;d=a+((_(s,t)|0)<<2)|0;b:do if(!i){f=d;b=0;while(1){if((b|0)>=(l|0))break;y=+g[f>>2];w=f+4|0;x=+g[w>>2];g[w>>2]=x*u+y*k;g[f>>2]=y*u+x*v;f=w;b=b+1|0}f=d+(m<<2)|0;b=n;while(1){if((b|0)<=0)break;x=+g[f>>2];w=f+4|0;y=+g[w>>2];g[w>>2]=y*u+x*k;g[f>>2]=x*u+y*v;f=f+-4|0;b=b+-1|0}if(!j){f=d;b=0;while(1){if((b|0)>=(p|0))break;x=+g[f>>2];w=f+(h<<2)|0;y=+g[w>>2];g[w>>2]=y*v+x*o;g[f>>2]=x*v+y*u;f=f+4|0;b=b+1|0}f=d+(r<<2)|0;b=q;while(1){if((b|0)<=0)break b;x=+g[f>>2];w=f+(h<<2)|0;y=+g[w>>2];g[w>>2]=y*v+x*o;g[f>>2]=x*v+y*u;f=f+-4|0;b=b+-1|0}}}else{c:do if(j){f=d;b=0}else{f=d;b=0;while(1){if((b|0)>=(p|0))break;x=+g[f>>2];w=f+(h<<2)|0;y=+g[w>>2];g[w>>2]=y*v+x*u;g[f>>2]=x*v+y*o;f=f+4|0;b=b+1|0}f=d+(r<<2)|0;b=q;while(1){if((b|0)<=0){f=d;b=0;break c}x=+g[f>>2];w=f+(h<<2)|0;y=+g[w>>2];g[w>>2]=y*v+x*u;g[f>>2]=x*v+y*o;f=f+-4|0;b=b+-1|0}}while(0);while(1){if((b|0)>=(l|0))break;x=+g[f>>2];w=f+4|0;y=+g[w>>2];g[w>>2]=y*u+x*v;g[f>>2]=x*u+y*k;f=w;b=b+1|0}f=d+(m<<2)|0;b=n;while(1){if((b|0)<=0)break b;x=+g[f>>2];w=f+4|0;y=+g[w>>2];g[w>>2]=y*u+x*v;g[f>>2]=x*u+y*k;f=f+-4|0;b=b+-1|0}}while(0);s=s+1|0}return}function wd(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=+j;var k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=i;t=i;i=i+((1*(b<<2)|0)+15&-16)|0;s=(b|0)>(d|0);o=d+1|0;q=b;r=d;o=bd(h,(c[(c[17748+(((b|0)<(d|0)?b:d)<<2)>>2]|0)+((s?b:d)<<2)>>2]|0)+(c[(c[17748+((s?o:b)<<2)>>2]|0)+(((o|0)<(b|0)?b:o)<<2)>>2]|0)|0)|0;s=t;k=0.0;while(1){if((q|0)<=2)break;do if((r|0)<(q|0)){h=c[(c[17748+(r<<2)>>2]|0)+(q<<2)>>2]|0;l=c[(c[17748+(r+1<<2)>>2]|0)+(q<<2)>>2]|0;if(o>>>0>=h>>>0&o>>>0>>0){c[s>>2]=0;l=o-h|0;h=r;break}n=o>>>0>=l>>>0;l=o-(n?l:0)|0;h=r;do{h=h+-1|0;m=c[(c[17748+(h<<2)>>2]|0)+(q<<2)>>2]|0}while(l>>>0>>0);p=n<<31>>31;r=r-h+p^p;c[s>>2]=r<<16>>16;v=+((r&65535)<<16>>16);l=l-m|0;k=k+v*v}else{m=c[17748+(q<<2)>>2]|0;n=c[m+(r+1<<2)>>2]|0;l=o>>>0>=n>>>0;p=l<<31>>31;n=o-(l?n:0)|0;a:do if((c[m+(q<<2)>>2]|0)>>>0>n>>>0){h=q;do{h=h+-1|0;l=c[(c[17748+(h<<2)>>2]|0)+(q<<2)>>2]|0}while(l>>>0>n>>>0)}else{h=r;while(1){l=c[m+(h<<2)>>2]|0;if(l>>>0<=n>>>0)break a;h=h+-1|0}}while(0);r=r-h+p^p;c[s>>2]=r<<16>>16;v=+((r&65535)<<16>>16);l=n-l|0;k=k+v*v}while(0);q=q+-1|0;r=h;o=l;s=s+4|0}h=r<<1|1;l=o>>>0>=h>>>0;m=l<<31>>31;h=o-(l?h:0)|0;l=(h+1|0)>>>1;if(l)h=h-((l<<1)+-1)|0;r=r-l+m^m;c[s>>2]=r<<16>>16;w=+((r&65535)<<16>>16);h=l-h^0-h;c[s+4>>2]=h<<16>>16;v=+((h&65535)<<16>>16);k=1.0/+O(+(k+w*w+v*v))*j;h=0;do{g[a+(h<<2)>>2]=k*+(c[t+(h<<2)>>2]|0);h=h+1|0}while((h|0)<(b|0));vd(a,b,-1,f,d,e);if((f|0)<2){f=1;i=u;return f|0}o=(b>>>0)/(f>>>0)|0;h=0;p=0;do{l=_(p,o)|0;m=0;n=0;do{n=n|c[t+(l+m<<2)>>2];m=m+1|0}while((m|0)<(o|0));h=h|((n|0)!=0&1)<>2]=0;c[M+4>>2]=0;M=g+4|0;a:do if(!j)j=c[M>>2]|0;else{n=0;while(1){j=c[M>>2]|0;if((n|0)>=(j|0))break a;c[f+(n*4260|0)+2388>>2]=0;n=n+1|0}}while(0);O=f+8536|0;if((j|0)>(c[O>>2]|0)){j=f+4260|0;nf(j|0,0,4260)|0;c[f+6636>>2]=1;c[j>>2]=65536;c[f+8408>>2]=0;c[f+8412>>2]=3176576;c[f+8428>>2]=c[f+6588>>2]<<7;c[f+8500>>2]=65536;c[f+8504>>2]=65536;c[f+8516>>2]=20;c[f+8512>>2]=2;j=c[M>>2]|0}if((j|0)==1?(c[O>>2]|0)==2:0)L=(c[g+12>>2]|0)==((c[f+2316>>2]|0)*1e3|0);else L=0;H=f+2388|0;b:do if(!(c[H>>2]|0)){x=g+16|0;y=g+12|0;z=g+8|0;w=0;A=0;c:while(1){if((w|0)>=(j|0))break b;switch(c[x>>2]|0){case 0:{c[f+(w*4260|0)+2392>>2]=1;c[f+(w*4260|0)+2324>>2]=2;j=2;break}case 10:{c[f+(w*4260|0)+2392>>2]=1;c[f+(w*4260|0)+2324>>2]=2;j=2;break}case 20:{c[f+(w*4260|0)+2392>>2]=1;c[f+(w*4260|0)+2324>>2]=4;j=4;break}case 40:{c[f+(w*4260|0)+2392>>2]=2;c[f+(w*4260|0)+2324>>2]=4;j=4;break}case 60:{c[f+(w*4260|0)+2392>>2]=3;c[f+(w*4260|0)+2324>>2]=4;j=4;break}default:{j=-203;B=183;break c}}s=c[y>>2]>>10;t=s+1|0;u=(t|0)==8;switch(s|0){case 7:case 11:case 15:break;default:{j=-200;B=183;break c}}o=c[z>>2]|0;v=t<<16>>16;c[f+(w*4260|0)+2332>>2]=v*5;p=f+(w*4260|0)+2324|0;q=_(j,v*327680>>16)|0;r=f+(w*4260|0)+2316|0;j=f+(w*4260|0)+2320|0;if((c[r>>2]|0)==(t|0)?(c[j>>2]|0)==(o|0):0){j=1;n=0;B=23}else{n=Hd(f+(w*4260|0)+2432|0,v*1e3|0,o,0)|0;c[j>>2]=o;j=(c[r>>2]|0)==(t|0);if(j)B=23;else B=24}if((B|0)==23){B=0;if((q|0)!=(c[f+(w*4260|0)+2328>>2]|0))B=24}if((B|0)==24){B=0;o=(c[p>>2]|0)==4;p=f+(w*4260|0)+2384|0;do if(u)if(o){c[p>>2]=30064;break}else{c[p>>2]=30087;break}else if(o){c[p>>2]=30030;break}else{c[p>>2]=30075;break}while(0);if(!j){c[f+(w*4260|0)+2336>>2]=v*20;switch(s|0){case 7:case 11:{c[f+(w*4260|0)+2340>>2]=10;c[f+(w*4260|0)+2732>>2]=22896;if((t|0)==12)c[f+(w*4260|0)+2380>>2]=29956;else B=37;break}default:{c[f+(w*4260|0)+2340>>2]=16;c[f+(w*4260|0)+2732>>2]=22936;if((t|0)==16)c[f+(w*4260|0)+2380>>2]=29962;else B=37}}if((B|0)==37?(0,u):0)c[f+(w*4260|0)+2380>>2]=29947;c[f+(w*4260|0)+2376>>2]=1;c[f+(w*4260|0)+2308>>2]=100;a[f+(w*4260|0)+2312>>0]=10;c[f+(w*4260|0)+4164>>2]=0;nf(f+(w*4260|0)+1284|0,0,1024)|0}c[r>>2]=t;c[f+(w*4260|0)+2328>>2]=q}j=c[M>>2]|0;w=w+1|0;A=A+n|0}if((B|0)==183){i=P;return j|0}}else A=0;while(0);n=c[g>>2]|0;do if((n|0)==2)if((j|0)==2){if((c[f+8532>>2]|0)!=1?(c[O>>2]|0)!=1:0){j=2;break}c[f+8520>>2]=0;c[f+8528>>2]=0;rf(f+6692|0,f+2432|0,300)|0;j=c[g>>2]|0}else j=2;else j=n;while(0);c[f+8532>>2]=j;c[O>>2]=c[M>>2];G=g+8|0;if(((c[G>>2]|0)+-8e3|0)>>>0>4e4){f=-200;i=P;return f|0}I=(h|0)==1;d:do if(!I?(c[H>>2]|0)==0:0){y=k+28|0;z=k+32|0;B=k+20|0;C=k+40|0;D=k+24|0;E=k+4|0;t=0;while(1){j=c[M>>2]|0;if((t|0)>=(j|0)){u=0;break}q=f+(t*4260|0)+2392|0;r=0;while(1){o=c[y>>2]|0;n=c[z>>2]|0;j=o>>>1;p=n>>>0>>0;s=p&1;if((r|0)>=(c[q>>2]|0))break;if(!p){n=n-j|0;c[z>>2]=n;j=o-j|0}c[y>>2]=j;while(1){if(j>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;j=j<<8;c[y>>2]=j;p=c[C>>2]|0;o=c[D>>2]|0;if(o>>>0<(c[E>>2]|0)>>>0){c[D>>2]=o+1;o=d[(c[k>>2]|0)+o>>0]|0}else o=0;c[C>>2]=o;x=((p<<8|o)>>>1&255|n<<8&2147483392)^255;c[z>>2]=x;n=x}c[f+(t*4260|0)+2404+(r<<2)>>2]=s;r=r+1|0}if(!p){n=n-j|0;c[z>>2]=n;j=o-j|0}c[y>>2]=j;while(1){if(j>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;j=j<<8;c[y>>2]=j;p=c[C>>2]|0;o=c[D>>2]|0;if(o>>>0<(c[E>>2]|0)>>>0){c[D>>2]=o+1;o=d[(c[k>>2]|0)+o>>0]|0}else o=0;c[C>>2]=o;x=((p<<8|o)>>>1&255|n<<8&2147483392)^255;c[z>>2]=x;n=x}c[f+(t*4260|0)+2416>>2]=s;t=t+1|0}while(1){if((u|0)>=(j|0))break;j=f+(u*4260|0)+2420|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;e:do if(c[f+(u*4260|0)+2416>>2]|0){t=f+(u*4260|0)+2392|0;n=c[t>>2]|0;if((n|0)==1){c[j>>2]=1;break}j=c[17520+(n+-2<<2)>>2]|0;r=c[y>>2]|0;n=c[z>>2]|0;o=r>>>8;s=-1;while(1){p=s+1|0;q=_(o,d[j+p>>0]|0)|0;if(n>>>0>>0){s=p;r=q}else break}p=n-q|0;c[z>>2]=p;j=r-q|0;c[y>>2]=j;while(1){if(j>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;j=j<<8;c[y>>2]=j;o=c[C>>2]|0;n=c[D>>2]|0;if(n>>>0<(c[E>>2]|0)>>>0){c[D>>2]=n+1;n=d[(c[k>>2]|0)+n>>0]|0}else n=0;c[C>>2]=n;x=((o<<8|n)>>>1&255|p<<8&2147483392)^255;c[z>>2]=x;p=x}j=s+2|0;n=0;while(1){if((n|0)>=(c[t>>2]|0))break e;c[f+(u*4260|0)+2420+(n<<2)>>2]=j>>>n&1;n=n+1|0}}while(0);j=c[M>>2]|0;u=u+1|0}if(!h){w=f+2392|0;x=f+6680|0;n=0;v=0;while(1){if((v|0)>=(c[w>>2]|0))break d;s=x+(v<<2)|0;t=(v|0)>0;u=v+-1|0;r=0;while(1){if((r|0)>=(j|0))break;if(c[f+(r*4260|0)+2420+(v<<2)>>2]|0){f:do if((j|0)==2&(r|0)==0?(Md(k,K),(c[s>>2]|0)==0):0){q=c[y>>2]|0;j=c[z>>2]|0;o=q>>>8;n=-1;while(1){n=n+1|0;p=_(o,d[29916+n>>0]|0)|0;if(j>>>0>=p>>>0)break;else q=p}o=j-p|0;c[z>>2]=o;j=q-p|0;c[y>>2]=j;q=o;while(1){if(j>>>0>=8388609)break f;c[B>>2]=(c[B>>2]|0)+8;j=j<<8;c[y>>2]=j;p=c[C>>2]|0;o=c[D>>2]|0;if(o>>>0<(c[E>>2]|0)>>>0){c[D>>2]=o+1;o=d[(c[k>>2]|0)+o>>0]|0}else o=0;c[C>>2]=o;p=((p<<8|o)>>>1&255|q<<8&2147483392)^255;c[z>>2]=p;q=p}}while(0);if(t?(c[f+(r*4260|0)+2420+(u<<2)>>2]|0)!=0:0)j=2;else j=0;ee(f+(r*4260|0)|0,k,v,1,j);fe(k,F,a[f+(r*4260|0)+2765>>0]|0,a[f+(r*4260|0)+2766>>0]|0,c[f+(r*4260|0)+2328>>2]|0);j=c[M>>2]|0}r=r+1|0}v=v+1|0}}else n=0}else n=0;while(0);j=c[M>>2]|0;do if((j|0)==2){switch(h|0){case 0:{Md(k,K);if(!(c[f+6664+(c[H>>2]<<2)>>2]|0))B=112;else{n=0;B=121}break}case 2:{if((c[f+2420+(c[H>>2]<<2)>>2]|0)==1){Md(k,K);if(!(c[f+6680+(c[H>>2]<<2)>>2]|0))B=112;else{n=0;B=121}}else B=108;break}default:B=108}g:do if((B|0)==108){j=f+8520|0;o=0;while(1){if((o|0)==2)break g;c[K+(o<<2)>>2]=b[j+(o<<1)>>1];o=o+1|0}}else if((B|0)==112){v=k+28|0;q=c[v>>2]|0;w=k+32|0;j=c[w>>2]|0;o=q>>>8;n=-1;while(1){n=n+1|0;p=_(o,d[29916+n>>0]|0)|0;if(j>>>0>=p>>>0)break;else q=p}u=j-p|0;c[w>>2]=u;j=q-p|0;c[v>>2]=j;q=k+20|0;r=k+40|0;s=k+24|0;t=k+4|0;while(1){if(j>>>0>=8388609){B=121;break g}c[q>>2]=(c[q>>2]|0)+8;j=j<<8;c[v>>2]=j;p=c[r>>2]|0;o=c[s>>2]|0;if(o>>>0<(c[t>>2]|0)>>>0){c[s>>2]=o+1;o=d[(c[k>>2]|0)+o>>0]|0}else o=0;c[r>>2]=o;F=((p<<8|o)>>>1&255|u<<8&2147483392)^255;c[w>>2]=F;u=F}}while(0);if((B|0)==121){j=c[M>>2]|0;if((j|0)!=2)break}if((n|0)==0?(c[f+8540>>2]|0)==1:0){nf(f+5544|0,0,1024)|0;c[f+6568>>2]=100;a[f+6572>>0]=10;c[f+8424>>2]=0;c[f+6636>>2]=1;j=c[M>>2]|0}else j=2}while(0);C=_(c[g+12>>2]|0,j)|0;C=(C|0)<(_(c[G>>2]|0,c[g>>2]|0)|0);if(C){E=Fa()|0;c[N>>2]=l;B=l+(c[f+2328>>2]<<1)+4|0;c[N+4>>2]=B;q=l}else{B=f+2328|0;F=_(j,(c[B>>2]|0)+2|0)|0;E=Fa()|0;q=i;i=i+((1*(F<<1)|0)+15&-16)|0;c[N>>2]=q;B=q+(c[B>>2]<<1)+4|0;c[N+4>>2]=B}if(!h){D=f+8540|0;p=(n|0)==0&1}else{j=f+8540|0;if(c[j>>2]|0)if((c[M>>2]|0)==2&(h|0)==2)o=(c[f+6680+(c[f+6648>>2]<<2)>>2]|0)==1;else o=0;else o=1;D=j;p=o&1}o=(h|0)==2;r=0;while(1){j=c[M>>2]|0;if((r|0)>=(j|0))break;if((r|0)==0|(p|0)!=0){j=(c[H>>2]|0)-r|0;do if((j|0)<1)j=0;else{if(o){j=c[f+(r*4260|0)+2420+(j+-1<<2)>>2]|0?2:0;break}if((r|0)>0?c[D>>2]|0:0){j=1;break}j=2}while(0);j=A+(de(f+(r*4260|0)|0,k,(c[N+(r<<2)>>2]|0)+4|0,J,h,j)|0)|0}else{nf((c[N+(r<<2)>>2]|0)+4|0,0,c[J>>2]<<1|0)|0;j=A}A=f+(r*4260|0)+2388|0;c[A>>2]=(c[A>>2]|0)+1;r=r+1|0;A=j}h:do if((c[g>>2]|0)==2&(j|0)==2){x=f+8520|0;y=f+2316|0;j=c[y>>2]|0;z=c[J>>2]|0;v=f+8524|0;r=e[v>>1]|e[v+2>>1]<<16;b[q>>1]=r;b[q+2>>1]=r>>>16;r=f+8528|0;s=e[r>>1]|e[r+2>>1]<<16;b[B>>1]=s;b[B+2>>1]=s>>>16;s=q+(z<<1)|0;s=e[s>>1]|e[s+2>>1]<<16;b[v>>1]=s;b[v+2>>1]=s>>>16;v=B+(z<<1)|0;v=e[v>>1]|e[v+2>>1]<<16;b[r>>1]=v;b[r+2>>1]=v>>>16;r=b[x>>1]|0;v=f+8522|0;s=b[v>>1]|0;j=j<<3;w=c[K>>2]|0;o=(65536/(j|0)|0)<<16>>16;t=((_(w-(r&65535)<<16>>16,o)|0)>>15)+1>>1;u=c[K+4>>2]|0;o=((_(u-(s&65535)<<16>>16,o)|0)>>15)+1>>1;p=0;r=r<<16>>16;s=s<<16>>16;while(1){if((p|0)>=(j|0))break;J=r+t|0;K=s+o|0;k=p+1|0;F=b[q+(k<<1)>>1]|0;R=(b[q+(p<<1)>>1]|0)+(b[q+(p+2<<1)>>1]|0)+(F<<1)|0;h=B+(k<<1)|0;Q=J<<16>>16;H=K<<16>>16;H=((b[h>>1]<<8)+((_(R>>7,Q)|0)+((_(R<<9&65024,Q)|0)>>16))+((_(F>>5,H)|0)+((_(F<<11&63488,H)|0)>>16))>>7)+1>>1;b[h>>1]=(H|0)>32767?32767:((H|0)<-32768?-32768:H)&65535;p=k;r=J;s=K}o=w<<16>>16;p=u<<16>>16;while(1){if((j|0)>=(z|0))break;R=j+1|0;K=b[q+(R<<1)>>1]|0;J=(b[q+(j<<1)>>1]|0)+(b[q+(j+2<<1)>>1]|0)+(K<<1)|0;Q=B+(R<<1)|0;K=((b[Q>>1]<<8)+((_(J>>7,o)|0)+((_(J<<9&65024,o)|0)>>16))+((_(K>>5,p)|0)+((_(K<<11&63488,p)|0)>>16))>>7)+1>>1;b[Q>>1]=(K|0)>32767?32767:((K|0)<-32768?-32768:K)&65535;j=R}b[x>>1]=w;b[v>>1]=u;j=0;while(1){if((j|0)>=(z|0)){t=y;s=z;break h}R=j+1|0;J=q+(R<<1)|0;h=b[J>>1]|0;Q=B+(R<<1)|0;K=b[Q>>1]|0;k=h+K|0;K=h-K|0;b[J>>1]=(k|0)>32767?32767:((k|0)<-32768?-32768:k)&65535;b[Q>>1]=(K|0)>32767?32767:((K|0)<-32768?-32768:K)&65535;j=R}}else{t=f+8524|0;s=e[t>>1]|e[t+2>>1]<<16;b[q>>1]=s;b[q+2>>1]=s>>>16;s=c[J>>2]|0;q=c[N>>2]|0;R=q+(s<<1)|0;R=e[R>>1]|e[R+2>>1]<<16;b[t>>1]=R;b[t+2>>1]=R>>>16;t=f+2316|0}while(0);o=_(s,c[G>>2]|0)|0;o=(o|0)/((c[t>>2]<<16>>16)*1e3|0)|0;c[m>>2]=o;j=c[g>>2]|0;p=(j|0)==2;if(p){r=i;i=i+((1*((p?o:1)<<1)|0)+15&-16)|0}else r=l;if(C){R=c[f+2328>>2]|0;Q=_(c[M>>2]|0,R+2|0)|0;q=i;i=i+((1*(Q<<1)|0)+15&-16)|0;rf(q|0,l|0,Q<<1|0)|0;c[N>>2]=q;c[N+4>>2]=q+(R<<1)+4}p=0;while(1){o=c[M>>2]|0;if((p|0)>=(((j|0)<(o|0)?j:o)|0))break;Id(f+(p*4260|0)+2432|0,r,(c[N+(p<<2)>>2]|0)+2|0,s);j=c[g>>2]|0;if((j|0)==2){j=0;while(1){if((j|0)>=(c[m>>2]|0))break;b[l+(p+(j<<1)<<1)>>1]=b[r+(j<<1)>>1]|0;j=j+1|0}j=c[g>>2]|0}p=p+1|0}i:do if((j|0)==2&(o|0)==1){if(!L){j=0;while(1){if((j|0)>=(c[m>>2]|0))break i;R=j<<1;b[l+((R|1)<<1)>>1]=b[l+(R<<1)>>1]|0;j=j+1|0}}Id(f+6692|0,r,q+2|0,s);j=0;while(1){if((j|0)>=(c[m>>2]|0))break i;b[l+((j<<1|1)<<1)>>1]=b[r+(j<<1)>>1]|0;j=j+1|0}}while(0);if((c[f+4164>>2]|0)==2)j=_(c[f+2308>>2]|0,c[17364+((c[t>>2]|0)+-8>>2<<2)>>2]|0)|0;else j=0;c[g+20>>2]=j;j:do if(I){j=0;while(1){if((j|0)>=(c[O>>2]|0))break j;a[f+(j*4260|0)+2312>>0]=10;j=j+1|0}}else c[D>>2]=n;while(0);Na(E|0);R=A;i=P;return R|0}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;nf(a|0,0,20400)|0;e=0;f=0;while(1){if((e|0)==2)break;g=f+(Fd(a+(e*10156|0)|0,b)|0)|0;e=e+1|0;f=g}c[a+20376>>2]=1;g=a+20380|0;c[g>>2]=1;c[d>>2]=1;c[d+4>>2]=c[g>>2];c[d+8>>2]=c[a+4648>>2];c[d+12>>2]=c[a+4656>>2];c[d+16>>2]=c[a+4660>>2];c[d+20>>2]=c[a+4664>>2];c[d+24>>2]=c[a+4704>>2];c[d+28>>2]=c[a+4700>>2];c[d+32>>2]=c[a+4708>>2];c[d+36>>2]=c[a+4716>>2];c[d+40>>2]=c[a+6180>>2];c[d+48>>2]=c[a+6168>>2];c[d+52>>2]=c[a+4768>>2];g=a+4668|0;c[d+72>>2]=(c[g>>2]<<16>>16)*1e3;c[d+76>>2]=c[a+4628>>2];if((c[g>>2]|0)!=16){e=0;e=e&1;g=d+80|0;c[g>>2]=e;return f|0}e=(c[a+28>>2]|0)==0;e=e&1;g=d+80|0;c[g>>2]=e;return f|0}function zd(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0;hb=i;i=i+16|0;fb=hb;if(c[g+68>>2]|0){c[f+4756>>2]=1;c[f+14912>>2]=1}db=f+15996|0;c[db>>2]=0;eb=f+5840|0;c[eb>>2]=0;M=g+8|0;o=c[M>>2]|0;a:do if((o|0)<24e3){if((o|0)<12e3){switch(o|0){case 8e3:break a;default:n=-102}i=hb;return n|0}if((o|0)<16e3){switch(o|0){case 12e3:break a;default:n=-102}i=hb;return n|0}else{switch(o|0){case 16e3:break a;default:n=-102}i=hb;return n|0}}else if((o|0)<44100)if((o|0)<32e3){switch(o|0){case 24e3:break a;default:n=-102}i=hb;return n|0}else{switch(o|0){case 32e3:break a;default:n=-102}i=hb;return n|0}else if((o|0)<48e3){switch(o|0){case 44100:break a;default:n=-102}i=hb;return n|0}else{switch(o|0){case 48e3:break a;default:n=-102}i=hb;return n|0}while(0);L=g+20|0;o=c[L>>2]|0;b:do if((o|0)>=12e3)if((o|0)<16e3){switch(o|0){case 12e3:break b;default:n=-102}i=hb;return n|0}else{switch(o|0){case 16e3:break b;default:n=-102}i=hb;return n|0}else{switch(o|0){case 8e3:break b;default:n=-102}i=hb;return n|0}while(0);J=g+12|0;p=c[J>>2]|0;c:do if((p|0)>=12e3)if((p|0)<16e3){switch(p|0){case 12e3:break c;default:n=-102}i=hb;return n|0}else{switch(p|0){case 16e3:break c;default:n=-102}i=hb;return n|0}else{switch(p|0){case 8e3:break c;default:n=-102}i=hb;return n|0}while(0);K=g+16|0;q=c[K>>2]|0;d:do if((q|0)>=12e3)if((q|0)<16e3){switch(q|0){case 12e3:break d;default:n=-102}i=hb;return n|0}else{switch(q|0){case 16e3:break d;default:n=-102}i=hb;return n|0}else{switch(q|0){case 8e3:break d;default:n=-102}i=hb;return n|0}while(0);if((q|0)>(o|0)|(p|0)<(o|0)|(q|0)>(p|0)){f=-102;i=hb;return f|0}cb=g+24|0;switch(c[cb>>2]|0){case 60:case 40:case 20:case 10:break;default:{f=-103;i=hb;return f|0}}G=g+32|0;if((c[G>>2]|0)>>>0>100){f=-105;i=hb;return f|0}H=g+48|0;if((c[H>>2]|0)>>>0>1){f=-108;i=hb;return f|0}ab=g+52|0;if((c[ab>>2]|0)>>>0>1){f=-109;i=hb;return f|0}I=g+40|0;if((c[I>>2]|0)>>>0>1){f=-107;i=hb;return f|0}o=c[g>>2]|0;if((o+-1|0)>>>0>1){f=-111;i=hb;return f|0}gb=g+4|0;p=c[gb>>2]|0;if((p+-1|0)>>>0>1|(p|0)>(o|0)){f=-111;i=hb;return f|0}bb=g+36|0;if((c[bb>>2]|0)>>>0>10){f=-106;i=hb;return f|0}F=g+88|0;c[F>>2]=0;q=f+20380|0;if((p|0)>(c[q>>2]|0)){p=f+10156|0;o=Fd(p,c[f+5184>>2]|0)|0;c[f+20312>>2]=0;c[f+20320>>2]=0;c[f+20324>>2]=0;c[f+20328>>2]=1;c[f+20332>>2]=0;c[f+20336>>2]=1;b[f+20342>>1]=0;b[f+20340>>1]=16384;if((c[f+20376>>2]|0)==2){rf(f+16024|0,f+5868|0,300)|0;Ya=f;Za=c[Ya+4>>2]|0;_a=p;c[_a>>2]=c[Ya>>2];c[_a+4>>2]=Za}}else o=0;if((c[cb>>2]|0)==(c[f+4704>>2]|0))E=(c[q>>2]|0)!=(c[gb>>2]|0);else E=1;c[f+20376>>2]=c[g>>2];c[q>>2]=c[gb>>2];p=j*100|0;q=c[M>>2]|0;D=(p|0)/(q|0)|0;Za=(D|0)>1?D>>1:1;_a=(m|0)==0;e:do if(_a){if((_(D,q)|0)!=(p|0)|(j|0)<0){f=-101;i=hb;return f|0}if((j*1e3|0)>(_(c[cb>>2]|0,q)|0)){f=-101;i=hb;return f|0}else{Ya=f;m=0;r=0;break}}else{if((D|0)!=1){f=-101;i=hb;return f|0}p=0;while(1){q=c[gb>>2]|0;if((p|0)>=(q|0))break;o=Fd(f+(p*10156|0)|0,c[f+(p*10156|0)+5184>>2]|0)|0;p=p+1|0}r=c[cb>>2]|0;c[cb>>2]=10;m=c[bb>>2]|0;c[bb>>2]=0;p=0;while(1){if((p|0)>=(q|0)){Ya=f;break e}c[f+(p*10156|0)+4760>>2]=0;c[f+(p*10156|0)+4772>>2]=1;q=c[gb>>2]|0;p=p+1|0}}while(0);Xa=f+4668|0;Ua=f+20392|0;A=g+44|0;B=g+64|0;Va=g+56|0;Wa=f+5836|0;C=0;while(1){if((C|0)>=(c[gb>>2]|0))break;if((C|0)==1)v=c[Xa>>2]|0;else v=0;w=Ya+(C*10156|0)|0;t=c[Ua>>2]|0;z=Ya+(C*10156|0)+6168|0;c[z>>2]=c[H>>2];c[Ya+(C*10156|0)+4768>>2]=c[ab>>2];o=c[M>>2]|0;c[Ya+(C*10156|0)+4648>>2]=o;p=c[J>>2]|0;c[Ya+(C*10156|0)+4656>>2]=p;q=c[K>>2]|0;c[Ya+(C*10156|0)+4660>>2]=q;u=c[L>>2]|0;c[Ya+(C*10156|0)+4664>>2]=u;c[Ya+(C*10156|0)+6180>>2]=c[I>>2];c[Ya+(C*10156|0)+5844>>2]=c[g>>2];c[Ya+(C*10156|0)+5848>>2]=c[gb>>2];c[Ya+(C*10156|0)+4628>>2]=t;c[Ya+(C*10156|0)+5852>>2]=C;y=Ya+(C*10156|0)+4760|0;do if(!(c[y>>2]|0))$a=41;else{if(c[Ya+(C*10156|0)+4772>>2]|0){$a=41;break}if((o|0)==(c[Ya+(C*10156|0)+4652>>2]|0))break;o=c[Ya+(C*10156|0)+4668>>2]|0;if((o|0)<=0)break;n=Gd(w,o)|0;$a=110}while(0);if(($a|0)==41){$a=0;x=Ya+(C*10156|0)+4668|0;n=c[x>>2]|0;Ta=n<<16>>16;s=Ta*1e3|0;do if(Ta){if((s|0)>(o|0)|(s|0)>(p|0)|(s|0)<(q|0)){n=(o|0)<(p|0)?o:p;n=(((n|0)>(q|0)?n:q)|0)/1e3|0;break}q=Ya+(C*10156|0)+24|0;o=c[q>>2]|0;if((o|0)>255)c[Ya+(C*10156|0)+28>>2]=0;if((t|0)==0?(c[B>>2]|0)==0:0)break;if((s|0)>(u|0)){p=Ya+(C*10156|0)+28|0;if(!(c[p>>2]|0)){c[q>>2]=256;o=Ya+(C*10156|0)+16|0;c[o>>2]=0;c[o+4>>2]=0;o=256}if(c[B>>2]|0){c[p>>2]=0;n=(n|0)==16?12:8;break}if((o|0)<1){c[F>>2]=1;Ta=c[Va>>2]|0;c[Va>>2]=Ta-((Ta*5|0)/((c[cb>>2]|0)+5|0)|0);break}else{c[p>>2]=-2;break}}if((s|0)>=(u|0)){o=Ya+(C*10156|0)+28|0;if((c[o>>2]|0)>=0)break;c[o>>2]=1;break}if(c[B>>2]|0){c[q>>2]=0;Ta=Ya+(C*10156|0)+16|0;c[Ta>>2]=0;c[Ta+4>>2]=0;c[Ya+(C*10156|0)+28>>2]=1;n=(n|0)==8?12:16;break}o=Ya+(C*10156|0)+28|0;if(!(c[o>>2]|0)){c[F>>2]=1;Ta=c[Va>>2]|0;c[Va>>2]=Ta-((Ta*5|0)/((c[cb>>2]|0)+5|0)|0);break}else{c[o>>2]=1;break}}else n=(((u|0)<(o|0)?u:o)|0)/1e3|0;while(0);t=(v|0)==0?n:v;u=Gd(w,t)|0;q=c[cb>>2]|0;s=Ya+(C*10156|0)+4704|0;if((c[s>>2]|0)==(q|0)){n=c[x>>2]|0;q=0}else{n=(q|0)==10;f:do if(!n){switch(q|0){case 60:case 40:case 20:{p=0;break}default:if((q|0)<11){p=-103;$a=70;break f}else p=-103}c[Ya+(C*10156|0)+5836>>2]=(q|0)/20|0;c[Ya+(C*10156|0)+4672>>2]=4;n=t<<16>>16;c[Ya+(C*10156|0)+4676>>2]=n*20;c[Ya+(C*10156|0)+4640>>2]=n*24;n=c[x>>2]|0;o=Ya+(C*10156|0)+4780|0;if((n|0)==8){c[o>>2]=30064;n=8;o=p;break}else{c[o>>2]=30030;o=p;break}}else{p=0;$a=70}while(0);do if(($a|0)==70){$a=0;c[Ya+(C*10156|0)+5836>>2]=1;c[Ya+(C*10156|0)+4672>>2]=n?2:1;n=t<<16>>16;c[Ya+(C*10156|0)+4676>>2]=_(q<<16>>16,n)|0;c[Ya+(C*10156|0)+4640>>2]=n*14;n=c[x>>2]|0;o=Ya+(C*10156|0)+4780|0;if((n|0)==8){c[o>>2]=30087;n=8;o=p;break}else{c[o>>2]=30075;o=p;break}}while(0);c[s>>2]=q;c[Ya+(C*10156|0)+4700>>2]=0;q=o}g:do if((n|0)!=(t|0)){n=Ya+(C*10156|0)+7260|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;o=Ya+(C*10156|0)+16|0;c[o>>2]=0;c[o+4>>2]=0;c[Ya+(C*10156|0)+5832>>2]=0;c[Ya+(C*10156|0)+5840>>2]=0;c[Ya+(C*10156|0)+4700>>2]=0;nf(Ya+(C*10156|0)+144|0,0,4480)|0;c[Ya+(C*10156|0)+4636>>2]=100;c[Ya+(C*10156|0)+4756>>2]=1;a[n>>0]=10;c[Ya+(C*10156|0)+4568>>2]=100;c[Ya+(C*10156|0)+4584>>2]=65536;a[Ya+(C*10156|0)+4633>>0]=0;c[x>>2]=t;n=c[Ya+(C*10156|0)+4672>>2]|0;o=(n|0)==4;p=Ya+(C*10156|0)+4780|0;h:do if((t|0)==8)if(o){c[p>>2]=30064;n=4;$a=86;break}else{c[p>>2]=30087;$a=86;break}else{if(o){c[p>>2]=30030;n=4}else c[p>>2]=30075;switch(t|0){case 8:case 12:{$a=86;break h}default:{}}c[Ya+(C*10156|0)+4732>>2]=16;c[Ya+(C*10156|0)+4784>>2]=22936}while(0);if(($a|0)==86){c[Ya+(C*10156|0)+4732>>2]=10;c[Ya+(C*10156|0)+4784>>2]=22896}c[Ya+(C*10156|0)+4680>>2]=t*5;c[Ya+(C*10156|0)+4676>>2]=_(t*327680>>16,n<<16>>16)|0;Ta=t<<16;$a=Ta>>16;c[Ya+(C*10156|0)+4684>>2]=$a*20;c[Ya+(C*10156|0)+4688>>2]=Ta>>15;c[Ya+(C*10156|0)+4644>>2]=$a*18;c[Ya+(C*10156|0)+4640>>2]=_($a,(n|0)==4?24:14)|0;switch(t|0){case 16:{c[Ya+(C*10156|0)+4776>>2]=29962;t=16;break g}case 12:{c[Ya+(C*10156|0)+4776>>2]=29956;t=12;break g}default:{c[Ya+(C*10156|0)+4776>>2]=29947;break g}}}while(0);n=u+q|0;s=c[bb>>2]|0;do if((s|0)>=1){if((s|0)<2){c[Ya+(C*10156|0)+4736>>2]=1;c[Ya+(C*10156|0)+4744>>2]=49807;o=Ya+(C*10156|0)+4740|0;c[o>>2]=8;c[Ya+(C*10156|0)+4728>>2]=14;q=t*5|0;c[Ya+(C*10156|0)+4692>>2]=q;c[Ya+(C*10156|0)+4720>>2]=1;c[Ya+(C*10156|0)+4724>>2]=0;c[Ya+(C*10156|0)+4752>>2]=3;c[Ya+(C*10156|0)+4764>>2]=0;p=8;break}if((s|0)<3){c[Ya+(C*10156|0)+4736>>2]=0;c[Ya+(C*10156|0)+4744>>2]=52429;o=Ya+(C*10156|0)+4740|0;c[o>>2]=6;c[Ya+(C*10156|0)+4728>>2]=12;q=t*3|0;c[Ya+(C*10156|0)+4692>>2]=q;c[Ya+(C*10156|0)+4720>>2]=2;c[Ya+(C*10156|0)+4724>>2]=0;c[Ya+(C*10156|0)+4752>>2]=2;c[Ya+(C*10156|0)+4764>>2]=0;p=6;break}if((s|0)<4){c[Ya+(C*10156|0)+4736>>2]=1;c[Ya+(C*10156|0)+4744>>2]=49807;o=Ya+(C*10156|0)+4740|0;c[o>>2]=8;c[Ya+(C*10156|0)+4728>>2]=14;q=t*5|0;c[Ya+(C*10156|0)+4692>>2]=q;c[Ya+(C*10156|0)+4720>>2]=2;c[Ya+(C*10156|0)+4724>>2]=0;c[Ya+(C*10156|0)+4752>>2]=4;c[Ya+(C*10156|0)+4764>>2]=0;p=8;break}if((s|0)<6){c[Ya+(C*10156|0)+4736>>2]=1;c[Ya+(C*10156|0)+4744>>2]=48497;o=Ya+(C*10156|0)+4740|0;c[o>>2]=10;c[Ya+(C*10156|0)+4728>>2]=16;q=t*5|0;c[Ya+(C*10156|0)+4692>>2]=q;c[Ya+(C*10156|0)+4720>>2]=2;c[Ya+(C*10156|0)+4724>>2]=1;c[Ya+(C*10156|0)+4752>>2]=6;c[Ya+(C*10156|0)+4764>>2]=t*983;p=10;break}o=Ya+(C*10156|0)+4736|0;if((s|0)<8){c[o>>2]=1;c[Ya+(C*10156|0)+4744>>2]=47186;o=Ya+(C*10156|0)+4740|0;c[o>>2]=12;c[Ya+(C*10156|0)+4728>>2]=20;q=t*5|0;c[Ya+(C*10156|0)+4692>>2]=q;c[Ya+(C*10156|0)+4720>>2]=3;c[Ya+(C*10156|0)+4724>>2]=1;c[Ya+(C*10156|0)+4752>>2]=8;c[Ya+(C*10156|0)+4764>>2]=t*983;p=12;break}else{c[o>>2]=2;c[Ya+(C*10156|0)+4744>>2]=45875;o=Ya+(C*10156|0)+4740|0;c[o>>2]=16;c[Ya+(C*10156|0)+4728>>2]=24;q=t*5|0;c[Ya+(C*10156|0)+4692>>2]=q;c[Ya+(C*10156|0)+4720>>2]=4;c[Ya+(C*10156|0)+4724>>2]=1;c[Ya+(C*10156|0)+4752>>2]=16;c[Ya+(C*10156|0)+4764>>2]=t*983;p=16;break}}else{c[Ya+(C*10156|0)+4736>>2]=0;c[Ya+(C*10156|0)+4744>>2]=52429;o=Ya+(C*10156|0)+4740|0;c[o>>2]=6;c[Ya+(C*10156|0)+4728>>2]=12;q=t*3|0;c[Ya+(C*10156|0)+4692>>2]=q;c[Ya+(C*10156|0)+4720>>2]=1;c[Ya+(C*10156|0)+4724>>2]=0;c[Ya+(C*10156|0)+4752>>2]=2;c[Ya+(C*10156|0)+4764>>2]=0;p=6}while(0);Ta=c[Ya+(C*10156|0)+4732>>2]|0;c[o>>2]=(p|0)<(Ta|0)?p:Ta;c[Ya+(C*10156|0)+4696>>2]=(t*5|0)+(q<<1);c[Ya+(C*10156|0)+4716>>2]=s;o=c[G>>2]|0;c[Ya+(C*10156|0)+4708>>2]=o;Ta=Ya+(C*10156|0)+6184|0;p=c[Ta>>2]|0;$a=c[A>>2]|0;c[Ta>>2]=$a;do if($a|0)if(!p){c[Ya+(C*10156|0)+6188>>2]=7;break}else{$a=7-(((o>>16)*26214|0)+(((o&65535)*26214|0)>>>16))|0;c[Ya+(C*10156|0)+6188>>2]=($a|0)>2?$a:2;break}while(0);c[y>>2]=1;$a=110}if(($a|0)==110?($a=0,n|0):0){$a=439;break}i:do if((c[Ya+(C*10156|0)+4756>>2]|0)!=0|E){o=0;while(1){if((o|0)>=(c[Wa>>2]|0))break i;c[Ya+(C*10156|0)+4816+(o<<2)>>2]=0;o=o+1|0}}while(0);c[Ya+(C*10156|0)+6172>>2]=c[z>>2];C=C+1|0;o=0}if(($a|0)==439){i=hb;return n|0}G=D*10|0;K=c[Xa>>2]|0;H=_(G,K)|0;I=f+4648|0;K=(_(H,c[I>>2]|0)|0)/(K*1e3|0)|0;Sa=Fa()|0;J=i;i=i+((1*(K<<1)|0)+15&-16)|0;K=f+4676|0;L=f+5832|0;Qa=f+20384|0;M=f+16024|0;N=f+5868|0;O=f+5188|0;P=f+14832|0;Q=f+15988|0;R=f+14824|0;S=f+15344|0;T=k+28|0;U=k+32|0;V=k+36|0;W=k+20|0;X=k+40|0;Y=k+24|0;Z=k+8|0;$=k+4|0;ba=k+44|0;ca=f+20346|0;da=f+14972|0;ea=f+20364|0;fa=f+20368|0;ga=f+4633|0;ha=f+4636|0;ia=f+4788|0;ja=f+8|0;ka=f+4624|0;la=g+28|0;ma=f+20372|0;na=f+20312|0;oa=f+5192|0;pa=f+15348|0;Ra=g+60|0;qa=f+20396|0;ra=f+17416|0;sa=f+10300|0;ta=f+10172|0;ua=f+14792|0;va=f+14724|0;wa=f+14789|0;xa=f+14740|0;ya=f+14912|0;za=f+10156|0;Aa=f+15346|0;Ba=f+14780|0;Ca=f+15013|0;Da=f+16332|0;Ea=f+16328|0;Ga=f+14968|0;Ha=f+5190|0;Ta=f+4857|0;Ia=f+6176|0;Ja=f+6172|0;Ka=fb+4|0;La=Za<<1;Ma=Za+-1|0;Oa=f+20388|0;Pa=f+20316|0;t=h;F=0;while(1){q=c[L>>2]|0;s=(c[K>>2]|0)-q|0;s=(s|0)<(H|0)?s:H;E=_(s,c[I>>2]|0)|0;E=(E|0)/((c[Xa>>2]|0)*1e3|0)|0;do if((c[g>>2]|0)==2)if((c[gb>>2]|0)==2){n=c[eb>>2]|0;p=0;while(1){if((p|0)>=(E|0))break;b[J+(p<<1)>>1]=b[t+(p<<1<<1)>>1]|0;p=p+1|0}if((c[Qa>>2]|0)==1&(n|0)==0)rf(M|0,N|0,300)|0;Id(N,O+(q+2<<1)|0,J,E);c[L>>2]=(c[L>>2]|0)+s;p=c[Q>>2]|0;q=(c[P>>2]|0)-p|0;n=_(G,c[R>>2]|0)|0;n=(q|0)<(n|0)?q:n;q=0;while(1){if((q|0)>=(E|0))break;b[J+(q<<1)>>1]=b[t+((q<<1|1)<<1)>>1]|0;q=q+1|0}Id(M,S+(p+2<<1)|0,J,E);c[Q>>2]=(c[Q>>2]|0)+n;n=c[L>>2]|0;break}else{if((c[gb>>2]|0)==1)n=0;else{$a=136;break}while(1){if((n|0)>=(E|0))break;h=n<<1;h=(b[t+(h<<1)>>1]|0)+(b[t+((h|1)<<1)>>1]|0)|0;b[J+(n<<1)>>1]=(h>>>1)+(h&1);n=n+1|0}Id(N,O+(q+2<<1)|0,J,E);j:do if((c[Qa>>2]|0)==2){if(c[eb>>2]|0)break;Id(M,S+((c[Q>>2]|0)+2<<1)|0,J,E);n=0;while(1){if((n|0)>=(c[K>>2]|0))break j;h=O+((c[L>>2]|0)+n+2<<1)|0;b[h>>1]=((b[h>>1]|0)+(b[S+((c[Q>>2]|0)+n+2<<1)>>1]|0)|0)>>>1;n=n+1|0}}while(0);n=(c[L>>2]|0)+s|0;c[L>>2]=n;break}else $a=136;while(0);if(($a|0)==136){$a=0;rf(J|0,t|0,E<<1|0)|0;Id(N,O+(q+2<<1)|0,J,E);n=(c[L>>2]|0)+s|0;c[L>>2]=n}C=t+((_(E,c[g>>2]|0)|0)<<1)|0;D=j-E|0;c[Ua>>2]=0;if((n|0)<(c[K>>2]|0)){n=0;break}if(!((c[eb>>2]|0)!=0|_a^1)){n=256>>>(_((c[Wa>>2]|0)+1|0,c[gb>>2]|0)|0);h=c[T>>2]|0;n=h-(_(h>>>8,0-n&255)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609){u=0;break}p=c[U>>2]|0;s=p>>>23;if((s|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=s&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}while(1){n=c[gb>>2]|0;if((u|0)>=(n|0)){B=0;break}p=c[Ya+(u*10156|0)+5836>>2]|0;t=0;n=0;while(1){if((n|0)>=(p|0))break;t=t|c[Ya+(u*10156|0)+4816+(n<<2)>>2]<>0]=(t|0)>0&1;k:do if((t|0)!=0&(p|0)>1){s=t+-1|0;n=c[17520+(p+-2<<2)>>2]|0;p=c[T>>2]|0;q=p>>>8;if((t|0)>1){h=n+(t+-2)|0;B=p-(_(q,d[h>>0]|0)|0)|0;c[U>>2]=(c[U>>2]|0)+B;n=_(q,(d[h>>0]|0)-(d[n+s>>0]|0)|0)|0}else n=p-(_(q,d[n+s>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609)break k;p=c[U>>2]|0;s=p>>>23;if((s|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=s&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}}while(0);u=u+1|0}while(1){if((B|0)>=(c[Wa>>2]|0)){p=0;break}v=ca+(B*6|0)+2|0;w=ca+(B*6|0)+5|0;x=da+(B<<2)|0;y=ea+B|0;z=(B|0)>0;A=B+-1|0;u=0;while(1){if((u|0)>=(n|0))break;if(c[Ya+(u*10156|0)+4816+(B<<2)>>2]|0){l:do if((n|0)==2&(u|0)==0){n=((a[v>>0]|0)*5|0)+(a[w>>0]|0)|0;p=c[T>>2]|0;q=p>>>8;if((n|0)>0){h=d[29891+(n+-1)>>0]|0;t=p-(_(q,h)|0)|0;c[U>>2]=(c[U>>2]|0)+t;n=_(q,h-(d[29891+n>>0]|0)|0)|0}else n=p-(_(q,d[29891+n>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609){t=0;break}p=c[U>>2]|0;s=p>>>23;if((s|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=s&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}while(1){if((t|0)==2)break;h=a[ca+(B*6|0)+(t*3|0)>>0]|0;p=h<<24>>24;q=n>>>8;if(h<<24>>24>0){h=d[29944+(p+-1)>>0]|0;n=n-(_(q,h)|0)|0;c[U>>2]=(c[U>>2]|0)+n;n=_(q,h-(d[29944+p>>0]|0)|0)|0}else n=n-(_(q,d[29944+p>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609)break;p=c[U>>2]|0;s=p>>>23;if((s|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=s&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}h=a[ca+(B*6|0)+(t*3|0)+1>>0]|0;p=h<<24>>24;q=n>>>8;if(h<<24>>24>0){h=d[29951+(p+-1)>>0]|0;n=n-(_(q,h)|0)|0;c[U>>2]=(c[U>>2]|0)+n;n=_(q,h-(d[29951+p>>0]|0)|0)|0}else n=n-(_(q,d[29951+p>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609)break;p=c[U>>2]|0;s=p>>>23;if((s|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=s&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}t=t+1|0}if(c[x>>2]|0)break;h=a[y>>0]|0;p=h<<24>>24;q=n>>>8;if(h<<24>>24>0){h=d[29916+(p+-1)>>0]|0;n=n-(_(q,h)|0)|0;c[U>>2]=(c[U>>2]|0)+n;n=_(q,h-(d[29916+p>>0]|0)|0)|0}else n=n-(_(q,d[29916+p>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609)break l;p=c[U>>2]|0;s=p>>>23;if((s|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;p=c[X>>2]|0;if((p|0)>-1){n=c[Y>>2]|0;if((n+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=n+1;a[(c[k>>2]|0)+n>>0]=p+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=s&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}}while(0);if(z?(c[Ya+(u*10156|0)+4816+(A<<2)>>2]|0)!=0:0)n=2;else n=0;Ad(Ya+(u*10156|0)|0,k,B,1,n);Bd(k,a[Ya+(u*10156|0)+6192+(B*36|0)+29>>0]|0,a[Ya+(u*10156|0)+6192+(B*36|0)+30>>0]|0,Ya+(u*10156|0)+6300+(B*320|0)|0,c[Ya+(u*10156|0)+4676>>2]|0);n=c[gb>>2]|0}u=u+1|0}B=B+1|0}while(1){if((p|0)>=(n|0))break;n=Ya+(p*10156|0)+4816|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;n=c[gb>>2]|0;p=p+1|0}c[fa>>2]=(c[W>>2]|0)+((aa(c[T>>2]|0)|0)+-32)}if((a[ga>>0]|0)==2){n=_(c[Xa>>2]|0,65536e3)|0;n=(n|0)/(c[ha>>2]|0)|0;s=aa(n|0)|0;p=24-s|0;q=0-p|0;do if(p)if((p|0)<0){n=n<>>(p+32|0);break}else{n=n<<32-p|n>>>p;break}while(0);z=n&127;z=z+(((_(z,128-z|0)|0)*179|0)>>>16)+(31-s<<7)|0;B=c[ia>>2]|0;h=0-B<<2;B=B<<16>>16;A=_(h>>16,B)|0;B=_(h&65532,B)|0;h=(z<<16)+-183762944>>16;h=z+-2048+((_(A+(B>>16)>>16,h)|0)+((_(A+(B>>>16)&65535,h)|0)>>16))|0;B=c[ja>>2]|0;h=h-(B>>8)|0;h=(h|0)<0?h*3|0:h;h=_(c[ka>>2]<<16>>16,(h|0)>51?51:((h|0)<-51?-51:h)<<16>>16)|0;h=B+(((h>>16)*6554|0)+(((h&65535)*6554|0)>>>16))|0;c[ja>>2]=(h|0)>217856?217856:(h|0)<193536?193536:h}s=c[la>>2]|0;p=c[cb>>2]|0;n=(_(s,p)|0)/1e3|0;if(_a)n=n-(c[fa>>2]|0)|0;q=(n|0)/(c[Wa>>2]|0)|0;n=_(q<<16>>16,(p|0)==10?100:50)|0;n=n-(c[ma>>2]<<1)|0;do if(_a){p=c[eb>>2]|0;if((p|0)<=0)break;h=(c[W>>2]|0)+((aa(c[T>>2]|0)|0)+-32)|0;n=n-(h-(c[fa>>2]|0)-(_(q,p)|0)<<1)|0}while(0);do if((s|0)>5e3){if((n|0)>(s|0))break;s=(n|0)<5e3?5e3:n}else{if((n|0)>5e3){s=5e3;break}s=(n|0)<(s|0)?s:n}while(0);m:do if((c[gb>>2]|0)==2){n=c[eb>>2]|0;Dd(na,oa,pa,ca+(n*6|0)|0,ea+n|0,fb,s,c[ka>>2]|0,c[Ra>>2]|0,c[Xa>>2]|0,c[K>>2]|0);n=c[eb>>2]|0;do if(!(a[ea+n>>0]|0)){if((c[qa>>2]|0)==1){c[ra>>2]=0;c[ra+4>>2]=0;c[ra+8>>2]=0;h=ta;c[h>>2]=0;c[h+4>>2]=0;nf(sa|0,0,4480)|0;c[ua>>2]=100;c[va>>2]=100;a[ra>>0]=10;a[wa>>0]=0;c[xa>>2]=65536;c[ya>>2]=1}oe(za,Aa);if((c[Ba>>2]|0)>=13){c[Da>>2]=0;c[Ea>>2]=0;a[Ca>>0]=1;a[(c[db>>2]|0)+(za+4812)>>0]=1;break}a[Ca>>0]=0;n=c[Da>>2]|0;h=n+1|0;c[Da>>2]=h;do if((h|0)<10)c[Ea>>2]=0;else{if((n|0)<=29)break;c[Da>>2]=10;c[Ea>>2]=0}while(0);a[(c[db>>2]|0)+(za+4812)>>0]=0}else a[Ga+n>>0]=0;while(0);if(!_a)break;v=c[eb>>2]|0;n=((a[ca+(v*6|0)+2>>0]|0)*5|0)+(a[ca+(v*6|0)+5>>0]|0)|0;p=c[T>>2]|0;q=p>>>8;if((n|0)>0){h=d[29891+(n+-1)>>0]|0;B=p-(_(q,h)|0)|0;c[U>>2]=(c[U>>2]|0)+B;n=_(q,h-(d[29891+n>>0]|0)|0)|0}else n=p-(_(q,d[29891+n>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609){q=n;u=0;break}p=c[U>>2]|0;t=p>>>23;if((t|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=t&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}while(1){if((u|0)==2)break;h=a[ca+(v*6|0)+(u*3|0)>>0]|0;n=h<<24>>24;p=q>>>8;if(h<<24>>24>0){h=d[29944+(n+-1)>>0]|0;B=q-(_(p,h)|0)|0;c[U>>2]=(c[U>>2]|0)+B;n=_(p,h-(d[29944+n>>0]|0)|0)|0}else n=q-(_(p,d[29944+n>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609)break;p=c[U>>2]|0;t=p>>>23;if((t|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=t&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}h=a[ca+(v*6|0)+(u*3|0)+1>>0]|0;p=h<<24>>24;q=n>>>8;if(h<<24>>24>0){h=d[29951+(p+-1)>>0]|0;n=n-(_(q,h)|0)|0;c[U>>2]=(c[U>>2]|0)+n;n=_(q,h-(d[29951+p>>0]|0)|0)|0}else n=n-(_(q,d[29951+p>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609)break;p=c[U>>2]|0;t=p>>>23;if((t|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=t&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}q=n;u=u+1|0}n=c[eb>>2]|0;if(a[Ga+n>>0]|0)break;h=a[ea+n>>0]|0;n=h<<24>>24;p=q>>>8;if(h<<24>>24>0){h=d[29916+(n+-1)>>0]|0;B=q-(_(p,h)|0)|0;c[U>>2]=(c[U>>2]|0)+B;n=_(p,h-(d[29916+n>>0]|0)|0)|0}else n=q-(_(p,d[29916+n>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609)break m;p=c[U>>2]|0;t=p>>>23;if((t|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=t&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}}else{c[O>>2]=c[Pa>>2];h=O+(c[K>>2]<<1)|0;h=e[h>>1]|e[h+2>>1]<<16;b[Pa>>1]=h;b[Pa+2>>1]=h>>>16}while(0);oe(f,Ha);if((c[ka>>2]|0)<13){a[Ta>>0]=0;n=c[Ia>>2]|0;h=n+1|0;c[Ia>>2]=h;do if((h|0)<10)c[Ja>>2]=0;else{if((n|0)<=29)break;c[Ia>>2]=10;c[Ja>>2]=0}while(0);a[(c[eb>>2]|0)+(f+4812)>>0]=0}else{c[Ia>>2]=0;c[Ja>>2]=0;a[Ta>>0]=1;a[(c[eb>>2]|0)+(f+4812)>>0]=1}v=(F|0)==0;w=c[Ka>>2]|0;x=(F|0)==(Ma|0);y=(F|0)==1;z=0;while(1){n=c[gb>>2]|0;if((z|0)>=(n|0))break;p=c[Va>>2]|0;n:do switch(Za|0){case 2:{if(!v){q=p;break n}q=(p*3|0)/5|0;break}case 3:{if(v){q=(p<<1|0)/5|0;break n}if(!y){q=p;break n}q=(p*3|0)/4|0;break}default:q=p}while(0);t=x&(c[ab>>2]|0)!=0&1;do if((n|0)==1){n=s;u=t}else{n=c[fb+(z<<2)>>2]|0;if((z|0)!=0|(w|0)<1){u=t;break}q=q-((p|0)/(La|0)|0)|0;u=0}while(0);if((n|0)>0){o=(n|0)>8e4?8e4:(n|0)<5e3?5e3:n;n=Ya+(z*10156|0)+4700|0;o:do if((o|0)!=(c[n>>2]|0)){c[n>>2]=o;t=c[Ya+(z*10156|0)+4668>>2]|0;t=(t|0)==8?17424:(t|0)==12?17456:17488;n=(c[Ya+(z*10156|0)+4672>>2]|0)==2?o+-2200|0:o;p=1;while(1){if((p|0)>=8)break o;o=c[t+(p<<2)>>2]|0;if((n|0)<=(o|0))break;p=p+1|0}h=p+-1|0;B=c[t+(h<<2)>>2]|0;h=b[25356+(h<<1)>>1]|0;c[Ya+(z*10156|0)+4808>>2]=(h<<6)+(_((n-B<<6|0)/(o-B|0)|0,(b[25356+(p<<1)>>1]|0)-h|0)|0)}while(0);do if((c[eb>>2]|0)>(z|0)){if((z|0)>0?c[qa>>2]|0:0){n=1;break}n=2}else n=0;while(0);o=Qd(Ya+(z*10156|0)|0,l,k,n,q,u)|0}c[Ya+(z*10156|0)+4760>>2]=0;c[Ya+(z*10156|0)+5832>>2]=0;h=Ya+(z*10156|0)+5840|0;c[h>>2]=(c[h>>2]|0)+1;z=z+1|0}q=c[eb>>2]|0;c[qa>>2]=a[ea+(q+-1)>>0];do if((c[l>>2]|0)>0){if((q|0)!=(c[Wa>>2]|0))break;s=c[gb>>2]|0;v=0;u=0;while(1){if((u|0)>=(s|0))break;t=c[Ya+(u*10156|0)+5836>>2]|0;n=v;p=0;while(1){n=n<<1;if((p|0)>=(t|0))break;n=n|a[Ya+(u*10156|0)+4812+p>>0];p=p+1|0}v=n|a[Ya+(u*10156|0)+4815>>0];u=u+1|0}do if(_a){n=_(q+1|0,s)|0;p=8-n|0;q=(1<>2]|0){h=c[k>>2]|0;a[h>>0]=d[h>>0]&(q^255)|v<>2]|0;if((s|0)>-1){c[X>>2]=s&~q|v<>2]|0)>>>0>-2147483648>>>n>>>0){c[ba>>2]=-1;break}else{c[U>>2]=c[U>>2]&~(q<<23)|v<>2]|0){if((c[gb>>2]|0)!=1?(c[Ea>>2]|0)==0:0)break;c[l>>2]=0}while(0);n=(c[ma>>2]|0)+(c[l>>2]<<3)|0;c[ma>>2]=n;n=n-((_(c[la>>2]|0,c[cb>>2]|0)|0)/1e3|0)|0;c[ma>>2]=(n|0)>1e4?1e4:(n|0)<0?0:n;n=c[Oa>>2]|0;if((c[ka>>2]|0)<(((n<<16>>16)*3188>>16)+13|0)){c[Ua>>2]=1;c[Oa>>2]=0;break}else{c[Ua>>2]=0;c[Oa>>2]=n+(c[cb>>2]|0);break}}while(0);if((j|0)==(E|0)){$a=428;break}t=C;j=D;F=F+1|0}if(($a|0)==428)n=c[Ua>>2]|0;c[Qa>>2]=c[gb>>2];c[g+76>>2]=n;if((c[Xa>>2]|0)==16)n=(c[f+28>>2]|0)==0;else n=0;c[g+80>>2]=n&1;c[g+72>>2]=(c[Xa>>2]<<16>>16)*1e3;if(!(c[Ra>>2]|0))n=b[f+20340>>1]|0;else n=0;c[g+84>>2]=n;p:do if(!_a){c[cb>>2]=r;c[bb>>2]=m;n=0;while(1){if((n|0)>=(c[gb>>2]|0))break p;c[Ya+(n*10156|0)+4760>>2]=0;c[Ya+(n*10156|0)+4772>>2]=0;n=n+1|0}}while(0);c[g+92>>2]=a[Ta>>0];c[g+96>>2]=b[25404+(a[Ta>>0]>>1<<2)+(a[f+4858>>0]<<1)>>1];Na(Sa|0);f=o;i=hb;return f|0}function Ad(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+48|0;x=F;v=F+32|0;C=(h|0)==0;E=C?e+4828|0:e+6192+(g*36|0)|0;D=E+29|0;l=(a[D>>0]<<1)+(a[E+30>>0]|0)|0;a:do if((l|0)>1|C^1){g=l+-2|0;u=f+28|0;h=c[u>>2]|0;k=h>>>8;if((l|0)>2){C=d[29933+(l+-3)>>0]|0;B=h-(_(k,C)|0)|0;m=f+32|0;c[m>>2]=(c[m>>2]|0)+B;g=_(k,C-(d[29933+g>>0]|0)|0)|0;c[u>>2]=g}else{g=h-(_(k,d[29933+g>>0]|0)|0)|0;c[u>>2]=g;m=f+32|0}n=f+36|0;o=f+20|0;p=f+40|0;q=f+24|0;r=f+8|0;s=f+4|0;t=f+44|0;while(1){if(g>>>0>=8388609){l=g;break a}h=c[m>>2]|0;l=h>>>23;if((l|0)==255)c[n>>2]=(c[n>>2]|0)+1;else{k=h>>>31;g=c[p>>2]|0;if((g|0)>-1){h=c[q>>2]|0;if((h+(c[r>>2]|0)|0)>>>0<(c[s>>2]|0)>>>0){c[q>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[t>>2]=c[t>>2]|g}g=c[n>>2]|0;if(g|0){k=k+255&255;do{h=c[q>>2]|0;if((h+(c[r>>2]|0)|0)>>>0<(c[s>>2]|0)>>>0){c[q>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[n>>2]|0}else h=-1;c[t>>2]=c[t>>2]|h;g=g+-1|0;c[n>>2]=g}while((g|0)!=0)}c[p>>2]=l&255;h=c[m>>2]|0;g=c[u>>2]|0}c[m>>2]=h<<8&2147483392;g=g<<8;c[u>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}else{u=f+28|0;g=c[u>>2]|0;h=g>>>8;if((l|0)>0){C=d[29937+(l+-1)>>0]|0;g=g-(_(h,C)|0)|0;m=f+32|0;c[m>>2]=(c[m>>2]|0)+g;g=_(h,C-(d[29937+l>>0]|0)|0)|0;c[u>>2]=g}else{g=g-(_(h,d[29937+l>>0]|0)|0)|0;c[u>>2]=g;m=f+32|0}n=f+36|0;o=f+20|0;p=f+40|0;q=f+24|0;r=f+8|0;s=f+4|0;t=f+44|0;while(1){if(g>>>0>=8388609){l=g;break a}h=c[m>>2]|0;l=h>>>23;if((l|0)==255)c[n>>2]=(c[n>>2]|0)+1;else{k=h>>>31;g=c[p>>2]|0;if((g|0)>-1){h=c[q>>2]|0;if((h+(c[r>>2]|0)|0)>>>0<(c[s>>2]|0)>>>0){c[q>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[t>>2]=c[t>>2]|g}g=c[n>>2]|0;if(g|0){k=k+255&255;do{h=c[q>>2]|0;if((h+(c[r>>2]|0)|0)>>>0<(c[s>>2]|0)>>>0){c[q>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[n>>2]|0}else h=-1;c[t>>2]=c[t>>2]|h;g=g+-1|0;c[n>>2]=g}while((g|0)!=0)}c[p>>2]=l&255;h=c[m>>2]|0;g=c[u>>2]|0}c[m>>2]=h<<8&2147483392;g=g<<8;c[u>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}while(0);w=(j|0)==2;g=a[E>>0]|0;h=g<<24>>24;b:do if(w){p=f+28|0;k=l>>>8;if(g<<24>>24>0){g=d[29396+(h+-1)>>0]|0;C=l-(_(k,g)|0)|0;m=f+32|0;c[m>>2]=(c[m>>2]|0)+C;g=_(k,g-(d[29396+h>>0]|0)|0)|0;c[p>>2]=g}else{g=l-(_(k,d[29396+h>>0]|0)|0)|0;c[p>>2]=g;m=f+32|0}n=f+36|0;o=f+20|0;q=f+40|0;r=f+24|0;s=f+8|0;t=f+4|0;u=f+44|0;while(1){if(g>>>0>=8388609){C=m;B=n;A=t;break b}h=c[m>>2]|0;l=h>>>23;if((l|0)==255)c[n>>2]=(c[n>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[n>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[n>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[n>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}else{g=h>>3;h=a[D>>0]|0;p=f+28|0;k=l>>>8;if((g|0)>0){C=d[g+-1+(29372+(h<<3))>>0]|0;B=l-(_(k,C)|0)|0;m=f+32|0;c[m>>2]=(c[m>>2]|0)+B;g=_(k,C-(d[29372+(h<<3)+g>>0]|0)|0)|0;c[p>>2]=g}else{g=l-(_(k,d[29372+(h<<3)+g>>0]|0)|0)|0;c[p>>2]=g;m=f+32|0}n=f+36|0;o=f+20|0;q=f+40|0;r=f+24|0;s=f+8|0;t=f+4|0;u=f+44|0;while(1){if(g>>>0>=8388609)break;h=c[m>>2]|0;l=h>>>23;if((l|0)==255)c[n>>2]=(c[n>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[n>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[n>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[n>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}h=d[E>>0]&7;k=g>>>8;l=a[29962+h>>0]|0;if(!h)g=g-(_(k,l&255)|0)|0;else{C=d[29962+(h+-1)>>0]|0;g=g-(_(k,C)|0)|0;c[m>>2]=(c[m>>2]|0)+g;g=_(k,C-(l&255)|0)|0}c[p>>2]=g;while(1){if(g>>>0>=8388609){C=m;B=n;A=t;break b}h=c[m>>2]|0;l=h>>>23;if((l|0)==255)c[n>>2]=(c[n>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[n>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[n>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[n>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}while(0);y=e+4672|0;m=1;while(1){if((m|0)>=(c[y>>2]|0))break;t=a[E+m>>0]|0;h=t<<24>>24;k=g>>>8;if(t<<24>>24>0){t=d[29396+(h+-1)>>0]|0;g=g-(_(k,t)|0)|0;c[C>>2]=(c[C>>2]|0)+g;g=_(k,t-(d[29396+h>>0]|0)|0)|0}else g=g-(_(k,d[29396+h>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}m=m+1|0}m=E+8|0;n=a[m>>0]|0;h=n<<24>>24;t=e+4784|0;l=c[t>>2]|0;k=_(a[D>>0]>>1,b[l>>1]|0)|0;k=(c[l+16>>2]|0)+k|0;l=g>>>8;if(n<<24>>24>0){n=k+(h+-1)|0;g=g-(_(l,d[n>>0]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+g;g=_(l,(d[n>>0]|0)-(d[k+h>>0]|0)|0)|0}else g=g-(_(l,d[k+h>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}Cd(x,v,c[t>>2]|0,a[m>>0]|0);k=0;c:while(1){g=c[t>>2]|0;if((k|0)>=(b[g+2>>1]|0))break;n=k+1|0;m=E+8+n|0;h=a[m>>0]|0;if(h<<24>>24>3){g=(c[g+28>>2]|0)+(b[x+(k<<1)>>1]|0)|0;h=c[p>>2]|0;l=h>>>8;v=g+7|0;h=h-(_(l,d[v>>0]|0)|0)|0;h=(c[C>>2]|0)+h|0;c[C>>2]=h;g=_(l,(d[v>>0]|0)-(d[g+8>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}h=h<<8&2147483392;c[C>>2]=h;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}v=a[m>>0]|0;k=v<<24>>24;l=k+-4|0;m=g>>>8;if(v<<24>>24>4){v=d[29970+(k+-5)>>0]|0;h=h+(g-(_(m,v)|0))|0;c[C>>2]=h;g=_(m,v-(d[29970+l>>0]|0)|0)|0}else g=g-(_(m,d[29970+l>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609){k=n;continue c}l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}h=h<<8&2147483392;c[C>>2]=h;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}if(h<<24>>24>=-3){v=h<<24>>24;g=(c[g+28>>2]|0)+(b[x+(k<<1)>>1]|0)|0;k=c[p>>2]|0;l=k>>>8;m=g+(v+3)|0;k=k-(_(l,d[m>>0]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+k;g=_(l,(d[m>>0]|0)-(d[g+(v+4)>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609){k=n;continue c}h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}v=c[p>>2]|0;g=v-(_(v>>>8,d[(c[g+28>>2]|0)+(b[x+(k<<1)>>1]|0)>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}h=-4-(a[m>>0]|0)|0;k=g>>>8;if((h|0)>0){v=d[29970+(h+-1)>>0]|0;g=g-(_(k,v)|0)|0;c[C>>2]=(c[C>>2]|0)+g;g=_(k,v-(d[29970+h>>0]|0)|0)|0}else g=g-(_(k,d[29970+h>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609){k=n;continue c}h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}d:do if((c[y>>2]|0)==4){x=a[E+31>>0]|0;g=x<<24>>24;h=c[p>>2]|0;k=h>>>8;if(x<<24>>24>0){x=d[29939+(g+-1)>>0]|0;v=h-(_(k,x)|0)|0;c[C>>2]=(c[C>>2]|0)+v;g=_(k,x-(d[29939+g>>0]|0)|0)|0}else g=h-(_(k,d[29939+g>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break d;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}while(0);e:do if((a[D>>0]|0)==2){if(w?(c[e+5860>>2]|0)==2:0){h=E+26|0;g=e+5864|0;k=(b[h>>1]|0)-(b[g>>1]|0)|0;if((k+8|0)>>>0<=19){n=k+9|0;l=c[p>>2]|0;m=l>>>8;if((k|0)>-9){k=d[30009+(k+8)>>0]|0;t=l-(_(m,k)|0)|0;c[C>>2]=(c[C>>2]|0)+t;t=0;k=_(m,k-(d[30009+n>>0]|0)|0)|0}else{k=0;z=243}}else{l=c[p>>2]|0;m=l>>>8;n=0;k=1;z=243}if((z|0)==243){t=k;k=l-(_(m,d[30009+n>>0]|0)|0)|0}c[p>>2]=k;while(1){if(k>>>0>=8388609)break;l=c[C>>2]|0;n=l>>>23;if((n|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{m=l>>>31;k=c[q>>2]|0;if((k|0)>-1){l=c[r>>2]|0;if((l+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=l+1;a[(c[f>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[u>>2]=c[u>>2]|k}k=c[B>>2]|0;if(k|0){m=m+255&255;do{l=c[r>>2]|0;if((l+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=l+1;a[(c[f>>2]|0)+l>>0]=m;l=0;k=c[B>>2]|0}else l=-1;c[u>>2]=c[u>>2]|l;k=k+-1|0;c[B>>2]=k}while((k|0)!=0)}c[q>>2]=n&255;l=c[C>>2]|0;k=c[p>>2]|0}c[C>>2]=l<<8&2147483392;k=k<<8;c[p>>2]=k;c[o>>2]=(c[o>>2]|0)+8}if(t)z=260}else z=260;if((z|0)==260){h=E+26|0;k=b[h>>1]|0;n=c[e+4668>>2]|0;g=(k|0)/(n>>1|0)|0;n=k-(_(g<<16>>16,n<<15>>16)|0)|0;k=c[p>>2]|0;l=k>>>8;if((g|0)>0){z=d[29977+(g+-1)>>0]|0;x=k-(_(l,z)|0)|0;c[C>>2]=(c[C>>2]|0)+x;g=_(l,z-(d[29977+g>>0]|0)|0)|0}else g=k-(_(l,d[29977+g>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;k=c[C>>2]|0;m=k>>>23;if((m|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{l=k>>>31;g=c[q>>2]|0;if((g|0)>-1){k=c[r>>2]|0;if((k+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=k+1;a[(c[f>>2]|0)+k>>0]=g+l;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){l=l+255&255;do{k=c[r>>2]|0;if((k+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=k+1;a[(c[f>>2]|0)+k>>0]=l;k=0;g=c[B>>2]|0}else k=-1;c[u>>2]=c[u>>2]|k;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=m&255;k=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=k<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}k=c[e+4776>>2]|0;l=g>>>8;if((n|0)>0){z=k+(n+-1)|0;g=g-(_(l,d[z>>0]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+g;g=_(l,(d[z>>0]|0)-(d[k+n>>0]|0)|0)|0}else g=g-(_(l,d[k+n>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;k=c[C>>2]|0;m=k>>>23;if((m|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{l=k>>>31;g=c[q>>2]|0;if((g|0)>-1){k=c[r>>2]|0;if((k+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=k+1;a[(c[f>>2]|0)+k>>0]=g+l;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){l=l+255&255;do{k=c[r>>2]|0;if((k+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=k+1;a[(c[f>>2]|0)+k>>0]=l;k=0;g=c[B>>2]|0}else k=-1;c[u>>2]=c[u>>2]|k;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=m&255;k=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=k<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}g=e+5864|0}b[g>>1]=b[h>>1]|0;z=a[E+28>>0]|0;g=z<<24>>24;h=c[e+4780>>2]|0;k=c[p>>2]|0;l=k>>>8;if(z<<24>>24>0){z=h+(g+-1)|0;x=k-(_(l,d[z>>0]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+x;g=_(l,(d[z>>0]|0)-(d[h+g>>0]|0)|0)|0}else g=k-(_(l,d[h+g>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}n=E+32|0;z=a[n>>0]|0;h=z<<24>>24;k=g>>>8;if(z<<24>>24>0){z=d[29437+(h+-1)>>0]|0;g=g-(_(k,z)|0)|0;c[C>>2]=(c[C>>2]|0)+g;g=_(k,z-(d[29437+h>>0]|0)|0)|0}else g=g-(_(k,d[29437+h>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609){l=g;m=0;break}h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}while(1){if((m|0)>=(c[y>>2]|0))break;z=a[E+4+m>>0]|0;g=z<<24>>24;h=c[17376+(a[n>>0]<<2)>>2]|0;k=l>>>8;if(z<<24>>24>0){z=h+(g+-1)|0;x=l-(_(k,d[z>>0]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+x;g=_(k,(d[z>>0]|0)-(d[h+g>>0]|0)|0)|0}else g=l-(_(k,d[h+g>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}l=g;m=m+1|0}if(!j){j=a[E+33>>0]|0;g=j<<24>>24;h=l>>>8;if(j<<24>>24>0){j=d[29930+(g+-1)>>0]|0;z=l-(_(h,j)|0)|0;c[C>>2]=(c[C>>2]|0)+z;g=_(h,j-(d[29930+g>>0]|0)|0)|0}else g=l-(_(h,d[29930+g>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break e;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}}while(0);c[e+5860>>2]=a[D>>0];e=a[E+34>>0]|0;g=e<<24>>24;h=c[p>>2]|0;k=h>>>8;if(e<<24>>24>0){e=d[29947+(g+-1)>>0]|0;E=h-(_(k,e)|0)|0;c[C>>2]=(c[C>>2]|0)+E;g=_(k,e-(d[29947+g>>0]|0)|0)|0}else g=h-(_(k,d[29947+g>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}i=F;return}function Bd(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=i;i=i+96|0;S=T+56|0;F=T+40|0;G=T+32|0;r=T;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;j=h>>4;if((j<<4|0)<(h|0)){j=j+1|0;k=g+h|0;l=k+16|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(l|0))}k=j<<4;E=i;i=i+((1*(k<<2)|0)+15&-16)|0;l=0;while(1){if((l|0)>=(k|0))break;P=a[g+l>>0]|0;R=P<<24>>24;c[E+(l<<2)>>2]=P<<24>>24>0?R:0-R|0;R=l|1;P=a[g+R>>0]|0;Q=P<<24>>24;c[E+(R<<2)>>2]=P<<24>>24>0?Q:0-Q|0;R=l|2;Q=a[g+R>>0]|0;P=Q<<24>>24;c[E+(R<<2)>>2]=Q<<24>>24>0?P:0-P|0;R=l|3;P=a[g+R>>0]|0;Q=P<<24>>24;c[E+(R<<2)>>2]=P<<24>>24>0?Q:0-Q|0;l=l+4|0}R=i;i=i+((1*(j<<2)|0)+15&-16)|0;H=i;i=i+((1*(j<<2)|0)+15&-16)|0;p=E;q=0;while(1){if((q|0)>=(j|0))break;n=H+(q<<2)|0;c[n>>2]=0;o=R+(q<<2)|0;l=0;a:while(1){if((l|0)<8){k=l<<1;k=(c[p+(k<<2)>>2]|0)+(c[p+((k|1)<<2)>>2]|0)|0;if((k|0)>8)m=1;else{c[r+(l<<2)>>2]=k;l=l+1|0;continue}}else m=0;l=0;while(1){if((l|0)>=4){k=0;break}k=l<<1;k=(c[r+(k<<2)>>2]|0)+(c[r+((k|1)<<2)>>2]|0)|0;if((k|0)>10){k=1;break}c[r+(l<<2)>>2]=k;l=l+1|0}m=m+k|0;l=0;while(1){if((l|0)>=2){k=0;break}k=l<<1;k=(c[r+(k<<2)>>2]|0)+(c[r+((k|1)<<2)>>2]|0)|0;if((k|0)>12){k=1;break}c[r+(l<<2)>>2]=k;l=l+1|0}m=m+k|0;l=0;while(1){if((l|0)>=1){k=0;break}k=l<<1;k=(c[r+(k<<2)>>2]|0)+(c[r+((k|1)<<2)>>2]|0)|0;if((k|0)>16){k=1;break}c[o+(l<<2)>>2]=k;l=l+1|0}if((m|0)==(0-k|0))break;c[n>>2]=(c[n>>2]|0)+1;k=0;while(1){if((k|0)==16){l=0;continue a}Q=p+(k<<2)|0;c[Q>>2]=c[Q>>2]>>1;k=k+1|0}}p=p+64|0;q=q+1|0}q=e>>1;t=0;n=0;o=2147483647;while(1){if((n|0)==9)break;l=30270+(n*18|0)+17|0;m=0;p=d[30450+(q*9|0)+n>>0]|0;while(1){if((m|0)>=(j|0))break;if((c[H+(m<<2)>>2]|0)>0)k=l;else k=(c[R+(m<<2)>>2]|0)+(30270+(n*18|0))|0;m=m+1|0;p=p+(d[k>>0]|0)|0}Q=(p|0)<(o|0);t=Q?n:t;n=n+1|0;o=Q?p:o}Q=b+28|0;k=c[Q>>2]|0;l=k>>>8;if((t|0)>0){P=d[t+-1+(30432+(q*9|0))>>0]|0;k=k-(_(l,P)|0)|0;I=b+32|0;c[I>>2]=(c[I>>2]|0)+k;k=_(l,P-(d[30432+(q*9|0)+t>>0]|0)|0)|0;c[Q>>2]=k}else{k=k-(_(l,d[30432+(q*9|0)+t>>0]|0)|0)|0;c[Q>>2]=k;I=b+32|0}J=b+36|0;K=b+20|0;L=b+40|0;M=b+24|0;N=b+8|0;O=b+4|0;P=b+44|0;while(1){if(k>>>0>=8388609)break;l=c[I>>2]|0;n=l>>>23;if((n|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{m=l>>>31;k=c[L>>2]|0;if((k|0)>-1){l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){m=m+255&255;do{l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=m;l=0;k=c[J>>2]|0}else l=-1;c[P>>2]=c[P>>2]|l;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=n&255;l=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=l<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}r=30090+(t*18|0)+16|0;s=30090+(t*18|0)+17|0;q=0;while(1){if((q|0)>=(j|0))break;o=c[H+(q<<2)>>2]|0;b:do if(!o){l=c[R+(q<<2)>>2]|0;m=k>>>8;if((l|0)>0){D=d[l+-1+(30090+(t*18|0))>>0]|0;k=k-(_(m,D)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(m,D-(d[30090+(t*18|0)+l>>0]|0)|0)|0}else k=k-(_(m,d[30090+(t*18|0)+l>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break b;l=c[I>>2]|0;n=l>>>23;if((n|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{m=l>>>31;k=c[L>>2]|0;if((k|0)>-1){l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){m=m+255&255;do{l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=m;l=0;k=c[J>>2]|0}else l=-1;c[P>>2]=c[P>>2]|l;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=n&255;l=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=l<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}else{C=k>>>8;D=d[r>>0]|0;l=k-(_(C,D)|0)|0;l=(c[I>>2]|0)+l|0;c[I>>2]=l;k=_(C,D-(d[s>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break;n=l>>>23;if((n|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{m=l>>>31;k=c[L>>2]|0;if((k|0)>-1){l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){m=m+255&255;do{l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=m;l=0;k=c[J>>2]|0}else l=-1;c[P>>2]=c[P>>2]|l;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=n&255;l=c[I>>2]|0;k=c[Q>>2]|0}l=l<<8&2147483392;c[I>>2]=l;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}p=o+-1|0;o=0;while(1){if((o|0)>=(p|0))break;D=k>>>8<<1;l=l+(k-D)|0;c[I>>2]=l;c[Q>>2]=D;k=D;while(1){if(k>>>0>=8388609)break;n=l>>>23;if((n|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{m=l>>>31;k=c[L>>2]|0;if((k|0)>-1){l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){m=m+255&255;do{l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=m;l=0;k=c[J>>2]|0}else l=-1;c[P>>2]=c[P>>2]|l;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=n&255;l=c[I>>2]|0;k=c[Q>>2]|0}l=l<<8&2147483392;c[I>>2]=l;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}o=o+1|0}m=c[R+(q<<2)>>2]|0;n=k>>>8;if((m|0)>0){D=d[30252+(m+-1)>>0]|0;l=l+(k-(_(n,D)|0))|0;c[I>>2]=l;k=_(n,D-(d[30252+m>>0]|0)|0)|0}else k=k-(_(n,d[30252+m>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break b;n=l>>>23;if((n|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{m=l>>>31;k=c[L>>2]|0;if((k|0)>-1){l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){m=m+255&255;do{l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=m;l=0;k=c[J>>2]|0}else l=-1;c[P>>2]=c[P>>2]|l;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=n&255;l=c[I>>2]|0;k=c[Q>>2]|0}l=l<<8&2147483392;c[I>>2]=l;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);q=q+1|0}t=S+4|0;u=S+8|0;v=F+4|0;w=S+12|0;x=F+8|0;y=G+4|0;z=S+16|0;A=S+20|0;B=S+24|0;C=F+12|0;D=S+28|0;s=0;l=0;while(1){if((s|0)>=(j|0)){t=0;break}if((c[R+(s<<2)>>2]|0)>0){r=E+(s<<4<<2)|0;m=0;while(1){if((m|0)==8){m=0;break}q=m<<1;c[S+(m<<2)>>2]=(c[r+(q<<2)>>2]|0)+(c[r+((q|1)<<2)>>2]|0);m=m+1|0}while(1){if((m|0)==4){m=0;break}q=m<<1;c[F+(m<<2)>>2]=(c[S+(q<<2)>>2]|0)+(c[S+((q|1)<<2)>>2]|0);m=m+1|0}while(1){if((m|0)==2){m=0;break}q=m<<1;c[G+(m<<2)>>2]=(c[F+(q<<2)>>2]|0)+(c[F+((q|1)<<2)>>2]|0);m=m+1|0}while(1){if((m|0)==1)break;l=m<<1;m=m+1|0;l=(c[G+(l<<2)>>2]|0)+(c[G+((l|1)<<2)>>2]|0)|0}p=c[G>>2]|0;c:do if((l|0)>0){m=30924+(d[31076+l>>0]|0)|0;n=k>>>8;if((p|0)>0){q=d[m+(p+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+p>>0]|0)|0)|0}else k=k-(_(n,d[m+p>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break c;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);q=c[F>>2]|0;d:do if((p|0)>0){m=30772+(d[31076+p>>0]|0)|0;n=k>>>8;if((q|0)>0){p=d[m+(q+-1)>>0]|0;k=k-(_(n,p)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,p-(d[m+q>>0]|0)|0)|0}else k=k-(_(n,d[m+q>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break d;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);p=c[S>>2]|0;e:do if((q|0)>0){m=30620+(d[31076+q>>0]|0)|0;n=k>>>8;if((p|0)>0){q=d[m+(p+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+p>>0]|0)|0)|0}else k=k-(_(n,d[m+p>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break e;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r>>2]|0;f:do if((p|0)>0){m=30468+(d[31076+p>>0]|0)|0;n=k>>>8;if((o|0)>0){q=d[m+(o+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break f;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r+8>>2]|0;m=c[t>>2]|0;g:do if((m|0)>0){m=30468+(d[31076+m>>0]|0)|0;n=k>>>8;if((o|0)>0){q=d[m+(o+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break g;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);p=c[u>>2]|0;m=c[v>>2]|0;h:do if((m|0)>0){m=30620+(d[31076+m>>0]|0)|0;n=k>>>8;if((p|0)>0){q=d[m+(p+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+p>>0]|0)|0)|0}else k=k-(_(n,d[m+p>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break h;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r+16>>2]|0;i:do if((p|0)>0){m=30468+(d[31076+p>>0]|0)|0;n=k>>>8;if((o|0)>0){q=d[m+(o+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break i;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r+24>>2]|0;m=c[w>>2]|0;j:do if((m|0)>0){m=30468+(d[31076+m>>0]|0)|0;n=k>>>8;if((o|0)>0){q=d[m+(o+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break j;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);p=c[x>>2]|0;m=c[y>>2]|0;k:do if((m|0)>0){m=30772+(d[31076+m>>0]|0)|0;n=k>>>8;if((p|0)>0){q=d[m+(p+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+p>>0]|0)|0)|0}else k=k-(_(n,d[m+p>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break k;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);q=c[z>>2]|0;l:do if((p|0)>0){m=30620+(d[31076+p>>0]|0)|0;n=k>>>8;if((q|0)>0){p=d[m+(q+-1)>>0]|0;k=k-(_(n,p)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,p-(d[m+q>>0]|0)|0)|0}else k=k-(_(n,d[m+q>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break l;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r+32>>2]|0;m:do if((q|0)>0){m=30468+(d[31076+q>>0]|0)|0;n=k>>>8;if((o|0)>0){q=d[m+(o+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break m;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r+40>>2]|0;m=c[A>>2]|0;n:do if((m|0)>0){m=30468+(d[31076+m>>0]|0)|0;n=k>>>8;if((o|0)>0){q=d[m+(o+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break n;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);p=c[B>>2]|0;m=c[C>>2]|0;o:do if((m|0)>0){m=30620+(d[31076+m>>0]|0)|0;n=k>>>8;if((p|0)>0){q=d[m+(p+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+p>>0]|0)|0)|0}else k=k-(_(n,d[m+p>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break o;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r+48>>2]|0;p:do if((p|0)>0){m=30468+(d[31076+p>>0]|0)|0;n=k>>>8;if((o|0)>0){q=d[m+(o+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break p;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r+56>>2]|0;m=c[D>>2]|0;q:do if((m|0)>0){m=30468+(d[31076+m>>0]|0)|0;n=k>>>8;if((o|0)>0){r=d[m+(o+-1)>>0]|0;k=k-(_(n,r)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,r-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break q;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0)}s=s+1|0}while(1){if((t|0)>=(j|0))break;r=c[H+(t<<2)>>2]|0;r:do if((r|0)>0){s=g+(t<<4)|0;q=0;while(1){if((q|0)==16)break r;l=a[s+q>>0]|0;p=l<<24>>24;p=(l<<24>>24>0?p:0-p|0)<<24>>24;l=r;s:while(1){o=l+-1|0;if((l|0)<=1)break;l=p>>>o&1;m=k>>>8;n=a[29928+l>>0]|0;if(!l)k=k-(_(m,n&255)|0)|0;else{G=d[29928+(l+-1)>>0]|0;k=k-(_(m,G)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(m,G-(n&255)|0)|0}c[Q>>2]=k;while(1){if(k>>>0>=8388609){l=o;continue s}l=c[I>>2]|0;n=l>>>23;if((n|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{m=l>>>31;k=c[L>>2]|0;if((k|0)>-1){l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){m=m+255&255;do{l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=m;l=0;k=c[J>>2]|0}else l=-1;c[P>>2]=c[P>>2]|l;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=n&255;l=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=l<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}l=p&1;m=k>>>8;n=a[29928+l>>0]|0;if(!l)k=k-(_(m,n&255)|0)|0;else{G=d[29928+(l+-1)>>0]|0;k=k-(_(m,G)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(m,G-(n&255)|0)|0}c[Q>>2]=k;while(1){if(k>>>0>=8388609)break;l=c[I>>2]|0;n=l>>>23;if((n|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{m=l>>>31;k=c[L>>2]|0;if((k|0)>-1){l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){m=m+255&255;do{l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=m;l=0;k=c[J>>2]|0}else l=-1;c[P>>2]=c[P>>2]|l;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=n&255;l=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=l<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}q=q+1|0}}while(0);t=t+1|0}a[S+1>>0]=0;r=31093+(((e<<1)+f<<16>>16)*7|0)|0;q=h+8>>4;j=k;p=0;o=g;while(1){if((p|0)>=(q|0))break;k=c[R+(p<<2)>>2]|0;t:do if((k|0)>0){a[S>>0]=a[r+((k&30)>>>0<6?k&31:6)>>0]|0;n=0;while(1){if((n|0)==16)break t;k=a[o+n>>0]|0;u:do if(k<<24>>24){k=k<<24>>24>>15;l=k+1|0;m=j>>>8;if((k|0)>-1){g=d[S+k>>0]|0;j=j-(_(m,g)|0)|0;c[I>>2]=(c[I>>2]|0)+j;j=_(m,g-(d[S+l>>0]|0)|0)|0}else j=j-(_(m,d[S+l>>0]|0)|0)|0;c[Q>>2]=j;while(1){if(j>>>0>=8388609)break u;k=c[I>>2]|0;m=k>>>23;if((m|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{l=k>>>31;j=c[L>>2]|0;if((j|0)>-1){k=c[M>>2]|0;if((k+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=k+1;a[(c[b>>2]|0)+k>>0]=j+l;j=0}else j=-1;c[P>>2]=c[P>>2]|j}j=c[J>>2]|0;if(j|0){l=l+255&255;do{k=c[M>>2]|0;if((k+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=k+1;a[(c[b>>2]|0)+k>>0]=l;k=0;j=c[J>>2]|0}else k=-1;c[P>>2]=c[P>>2]|k;j=j+-1|0;c[J>>2]=j}while((j|0)!=0)}c[L>>2]=m&255;k=c[I>>2]|0;j=c[Q>>2]|0}c[I>>2]=k<<8&2147483392;j=j<<8;c[Q>>2]=j;c[K>>2]=(c[K>>2]|0)+8}}while(0);n=n+1|0}}while(0);p=p+1|0;o=o+16|0}i=T;return}function Cd(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f+2|0;h=b[j>>1]|0;g=(_(h<<16>>16,g)|0)/2|0;i=f+20|0;g=(c[f+24>>2]|0)+g|0;f=0;while(1){if((f|0)>=(h<<16>>16|0))break;l=a[g>>0]|0;k=l&255;b[d+(f<<1)>>1]=(k>>>1&7)*9;a[e+f>>0]=a[(c[i>>2]|0)+(f+((b[j>>1]|0)+-1&0-(k&1)))>>0]|0;h=f|1;b[d+(h<<1)>>1]=((l&255)>>>5&255)*9;a[e+h>>0]=a[(c[i>>2]|0)+(f+((b[j>>1]|0)+-1&0-(k>>>4&1))+1)>>0]|0;h=b[j>>1]|0;g=g+1|0;f=f+2|0}return}function Dd(d,f,g,h,j,k,l,m,n,o,p){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;D=i;i=i+16|0;A=D+8|0;w=D+4|0;v=D;B=f+-4|0;q=p+2|0;C=i;i=i+((1*(q<<1)|0)+15&-16)|0;r=0;while(1){if((r|0)>=(q|0))break;y=r+-2|0;u=b[f+(y<<1)>>1]|0;y=b[g+(y<<1)>>1]|0;x=u+y|0;y=u-y|0;b[B+(r<<1)>>1]=(x>>>1)+(x&1);y=(y>>1)+(y&1)|0;b[C+(r<<1)>>1]=(y|0)>32767?32767:((y|0)<-32768?-32768:y)&65535;r=r+1|0}u=d+4|0;s=e[u>>1]|e[u+2>>1]<<16;b[B>>1]=s;b[B+2>>1]=s>>>16;s=d+8|0;r=e[s>>1]|e[s+2>>1]<<16;c[C>>2]=r;q=B+(p<<1)|0;q=e[q>>1]|e[q+2>>1]<<16;b[u>>1]=q;b[u+2>>1]=q>>>16;u=C+(p<<1)|0;u=e[u>>1]|e[u+2>>1]<<16;b[s>>1]=u;b[s+2>>1]=u>>>16;s=i;i=i+((1*(p<<1)|0)+15&-16)|0;u=i;i=i+((1*(p<<1)|0)+15&-16)|0;q=0;while(1){if((q|0)>=(p|0))break;y=q+1|0;t=b[B+(y<<1)>>1]|0;x=((b[B+(q<<1)>>1]|0)+(b[B+(q+2<<1)>>1]|0)+(t<<16>>16<<1)>>1)+1>>1;b[s+(q<<1)>>1]=x;b[u+(q<<1)>>1]=(t&65535)-x;q=y}f=i;i=i+((1*(p<<1)|0)+15&-16)|0;t=i;i=i+((1*(p<<1)|0)+15&-16)|0;q=r&65535;r=0;while(1){if((r|0)>=(p|0))break;y=r+1|0;x=b[C+(y<<1)>>1]|0;E=((q<<16>>16)+(b[C+(r+2<<1)>>1]|0)+(x<<16>>16<<1)>>1)+1>>1;b[f+(r<<1)>>1]=E;b[t+(r<<1)>>1]=(x&65535)-E;q=x;r=y}q=(o*10|0)==(p|0);x=q?328:655;m=m<<16>>16;m=_(m,m)|0;m=(_(m>>>16,x)|0)+((_(m&65535,x)|0)>>>16)|0;x=Nd(w,s,f,d+12|0,p,m)|0;c[A>>2]=x;t=Nd(v,u,t,d+20|0,p,m)|0;y=A+4|0;c[y>>2]=t;s=(c[v>>2]|0)+((c[w>>2]<<16>>16)*3|0)|0;s=(s|0)<65536?s:65536;u=l-(q?1200:600)|0;u=(u|0)<1?1:u;f=((o<<16>>16)*900|0)+2e3|0;q=s*3|0;r=Ed(u,q+851968|0,19)|0;c[k>>2]=r;if((r|0)<(f|0)){c[k>>2]=f;l=u-f|0;c[k+4>>2]=l;E=f<<16>>16;q=Ed((l<<1)-f|0,(_(q+65536>>16,E)|0)+((_(q&65535,E)|0)>>16)|0,16)|0;if((q|0)>16384)q=16384;else q=(q|0)<0?0:q}else{c[k+4>>2]=u-r;q=16384}r=d+28|0;w=b[r>>1]|0;l=w&65535;E=m<<16>>16;b[r>>1]=l+((_(q-(w<<16>>16)>>16,E)|0)+((_(q-l&65535,E)|0)>>>16));a[j>>0]=0;a:do if(!n){do if(!(b[d+30>>1]|0)){if((u<<3|0)>=(f*13|0)){q=c[r>>2]|0;E=q<<16>>16;if(((_(s>>16,E)|0)+((_(s&65535,E)|0)>>16)|0)<819)q=q&65535;else{if((q>>>16&65535)<<16>>16){z=23;break}q=b[r>>1]|0;break}}else q=b[r>>1]|0;c[A>>2]=(_(q<<16>>16,x<<16>>16)|0)>>14;c[y>>2]=(_(q<<16>>16,t<<16>>16)|0)>>14;Pd(A,h);c[A>>2]=0;c[y>>2]=0;c[k>>2]=u;c[k+4>>2]=0;a[j>>0]=1;r=0;z=31;break a}else z=23;while(0);do if((z|0)==23){if((u<<3|0)>=(f*11|0)){q=b[r>>1]|0;E=q<<16>>16;if(((_(s>>16,E)|0)+((_(s&65535,E)|0)>>16)|0)>=328)break}else q=b[r>>1]|0;q=q<<16>>16;c[A>>2]=(_(q,x<<16>>16)|0)>>14;c[y>>2]=(_(q,t<<16>>16)|0)>>14;Pd(A,h);c[A>>2]=0;c[y>>2]=0;q=0;z=30;break a}while(0);if(q<<16>>16>15565){Pd(A,h);q=16384;z=30;break}else{q=q<<16>>16;c[A>>2]=(_(q,x<<16>>16)|0)>>14;c[y>>2]=(_(q,t<<16>>16)|0)>>14;Pd(A,h);q=b[r>>1]|0;z=30;break}}else{c[A>>2]=0;c[y>>2]=0;Pd(A,h);q=0;z=30}while(0);if((z|0)==30)if((a[j>>0]|0)==1){r=q;z=31}else{b[d+32>>1]=0;z=35}do if((z|0)==31){q=d+32|0;E=(e[q>>1]|0)+(p-(o<<3))|0;b[q>>1]=E;if((E<<16>>16|0)<(o*5|0)){a[j>>0]=0;z=36;break}else{b[q>>1]=1e4;q=r;z=35;break}}while(0);if((z|0)==35)if(!(a[j>>0]|0)){r=q;z=36}if((z|0)==36){q=k+4|0;if((c[q>>2]|0)<1){c[q>>2]=1;c[k>>2]=(u|0)<2?1:u+-1|0;q=r}else q=r}m=c[d>>2]|0;n=d+30|0;t=b[n>>1]|0;v=t<<16>>16;r=o<<3;x=c[A>>2]|0;s=(65536/(r|0)|0)<<16>>16;w=((_(x-m<<16>>16,s)|0)>>15)+1>>1;l=c[y>>2]|0;f=((_(l-(m>>>16)<<16>>16,s)|0)>>15)+1>>1;s=(_(q-v>>16,s)|0)+((_(q-(t&65535)&65535,s)|0)>>16)<<10;t=0;u=0-(m<<16>>16)|0;m=0-(m>>16)|0;v=v<<10;while(1){if((t|0)>=(r|0))break;o=u-w|0;A=m-f|0;E=v+s|0;k=t+1|0;z=b[B+(k<<1)>>1]|0;y=(b[B+(t<<1)>>1]|0)+(b[B+(t+2<<1)>>1]|0)+(z<<1)|0;F=b[C+(k<<1)>>1]|0;h=o<<16>>16;j=A<<16>>16;j=((_(E>>16,F)|0)+((_(E&64512,F)|0)>>16)+((_(y>>7,h)|0)+((_(y<<9&65024,h)|0)>>16))+((_(z>>5,j)|0)+((_(z<<11&63488,j)|0)>>16))>>7)+1>>1;b[g+(t+-1<<1)>>1]=(j|0)>32767?32767:((j|0)<-32768?-32768:j)&65535;t=k;u=o;m=A;v=E}f=d+2|0;s=q>>6;t=q<<10&64512;u=0-x<<16>>16;m=0-l<<16>>16;while(1){if((r|0)>=(p|0))break;F=r+1|0;E=b[B+(F<<1)>>1]|0;A=(b[B+(r<<1)>>1]|0)+(b[B+(r+2<<1)>>1]|0)+(E<<1)|0;o=b[C+(F<<1)>>1]|0;E=((_(s,o)|0)+((_(t,o)|0)>>16)+((_(A>>7,u)|0)+((_(A<<9&65024,u)|0)>>16))+((_(E>>5,m)|0)+((_(E<<11&63488,m)|0)>>16))>>7)+1>>1;b[g+(r+-1<<1)>>1]=(E|0)>32767?32767:((E|0)<-32768?-32768:E)&65535;r=F}b[d>>1]=x;b[f>>1]=l;b[n>>1]=q;i=D;return}function Ed(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;if((a|0)<=0)if(!a)e=32;else{d=0-a|0;f=3}else{d=a;f=3}if((f|0)==3)e=aa(d|0)|0;a=a<>16|0)|0)<<16>>16;g=(_(a>>16,b)|0)+((_(a&65535,b)|0)>>16)|0;f=zf(f|0,((f|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;f=qf(f|0,C|0,29)|0;f=a-(f&-8)|0;b=g+((_(f>>16,b)|0)+((_(f&65535,b)|0)>>16))|0;d=e+28-d-c|0;if((d|0)>=0)return ((d|0)<32?b>>d:0)|0;d=0-d|0;a=-2147483648>>d;e=2147483647>>>d;if((a|0)>(e|0)){if((b|0)>(a|0)){g=a;g=g<(e|0)){g=e;g=g<>2]=b;c[a+8>>2]=193536;c[a+12>>2]=193536;c[a+4756>>2]=1;b=a+32|0;d=b+112|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));b=0;while(1){if((b|0)==4){b=0;break}d=b+1|0;e=50/(d|0)|0;c[a+124+(b<<2)>>2]=(e|0)>1?e:1;b=d}while(1){if((b|0)==4)break;e=(c[a+124+(b<<2)>>2]|0)*100|0;c[a+92+(b<<2)>>2]=e;c[a+108+(b<<2)>>2]=2147483647/(e|0)|0;b=b+1|0}c[a+140>>2]=15;b=0;while(1){if((b|0)==4)break;c[a+72+(b<<2)>>2]=25600;b=b+1|0}return 0}function Gd(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,j=0.0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+304|0;r=u;p=a+4668|0;f=c[p>>2]|0;if((f|0)==(d|0)?(e=a+4648|0,(c[a+4652>>2]|0)==(c[e>>2]|0)):0){s=e;t=0;s=c[s>>2]|0;a=a+4652|0;c[a>>2]=s;i=u;return t|0}if(!f){t=a+4648|0;s=t;t=Hd(a+5868|0,c[t>>2]|0,d*1e3|0,1)|0;s=c[s>>2]|0;a=a+4652|0;c[a>>2]=s;i=u;return t|0}q=((c[a+4672>>2]|0)*10|0)+5|0;o=_(q,f)|0;f=_(q,d)|0;s=Fa()|0;t=i;i=i+((1*(((o|0)>(f|0)?o:f)<<1)|0)+15&-16)|0;e=o;while(1){n=e+-1|0;if((e|0)<=0)break;j=+g[a+7272+(n<<2)>>2];h=(g[k>>2]=j,c[k>>2]|0);l=(h&2130706432)>>>0>1249902592;if(!l){e=(h|0)<0;m=e?j+-8388608.0+8388608.0:j+8388608.0+-8388608.0;if(m==0.0)m=e?-0.0:0.0}else m=j;if((~~m|0)<=32767){if(!l){e=(h|0)<0;m=e?j+-8388608.0+8388608.0:j+8388608.0+-8388608.0;if(m==0.0)m=e?-0.0:0.0}else m=j;if((~~m|0)<-32768)e=-32768;else{if(!l){e=(h|0)<0;j=e?j+-8388608.0+8388608.0:j+8388608.0+-8388608.0;if(j==0.0)j=e?-0.0:0.0}e=~~j}}else e=32767;b[t+(n<<1)>>1]=e;e=n}n=a+4648|0;l=Hd(r,(c[p>>2]<<16>>16)*1e3|0,c[n>>2]|0,0)|0;q=_(q,(c[n>>2]|0)/1e3|0)|0;p=i;i=i+((1*(q<<1)|0)+15&-16)|0;Id(r,p,t,o);r=a+5868|0;h=Hd(r,c[n>>2]|0,(d<<16>>16)*1e3|0,1)|0;Id(r,t,p,q);while(1){e=f+-1|0;if((f|0)<=0)break;g[a+7272+(e<<2)>>2]=+(b[t+(e<<1)>>1]|0);f=e}Na(s|0);s=n;t=l+h|0;s=c[s>>2]|0;a=a+4652|0;c[a>>2]=s;i=u;return t|0}function Hd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;nf(b|0,0,300)|0;if(!f){a:do if((d|0)>=12e3)if((d|0)<16e3){switch(d|0){case 12e3:break a;default:f=-1}return f|0}else{switch(d|0){case 16e3:break a;default:f=-1}return f|0}else{switch(d|0){case 8e3:break a;default:f=-1}return f|0}while(0);b:do if((e|0)<16e3)if((e|0)<12e3){switch(e|0){case 8e3:break b;default:f=-1}return f|0}else{switch(e|0){case 12e3:break b;default:f=-1}return f|0}else{if((e|0)<24e3){switch(e|0){case 16e3:break b;default:f=-1}return f|0}if((e|0)<48e3){switch(e|0){case 24e3:break b;default:f=-1}return f|0}else{switch(e|0){case 48e3:break b;default:f=-1}return f|0}}while(0);c[b+292>>2]=a[((e>>12)-((e|0)>16e3&1)>>((e|0)>24e3&1))+-1+(31150+((((d>>12)-((d|0)>16e3&1)>>((d|0)>24e3&1))+-1|0)*5|0))>>0]}else{c:do if((d|0)<16e3)if((d|0)<12e3){switch(d|0){case 8e3:break c;default:f=-1}return f|0}else{switch(d|0){case 12e3:break c;default:f=-1}return f|0}else{if((d|0)<24e3){switch(d|0){case 16e3:break c;default:f=-1}return f|0}if((d|0)<48e3){switch(d|0){case 24e3:break c;default:f=-1}return f|0}else{switch(d|0){case 48e3:break c;default:f=-1}return f|0}}while(0);d:do if((e|0)>=12e3)if((e|0)<16e3){switch(e|0){case 12e3:break d;default:f=-1}return f|0}else{switch(e|0){case 16e3:break d;default:f=-1}return f|0}else{switch(e|0){case 8e3:break d;default:f=-1}return f|0}while(0);c[b+292>>2]=a[((e>>12)-((e|0)>16e3&1)>>((e|0)>24e3&1))+-1+(31135+((((d>>12)-((d|0)>16e3&1)>>((d|0)>24e3&1))+-1|0)*3|0))>>0]}i=(d|0)/1e3|0;c[b+284>>2]=i;c[b+288>>2]=(e|0)/1e3|0;c[b+268>>2]=i*10;do if((e|0)>(d|0)){f=b+264|0;if((d<<1|0)==(e|0)){c[f>>2]=1;f=0;break}else{c[f>>2]=2;f=1;break}}else{f=b+264|0;if((e|0)>=(d|0)){c[f>>2]=0;f=0;break}c[f>>2]=3;f=e<<2;if((f|0)==(d*3|0)){c[b+280>>2]=3;c[b+276>>2]=18;c[b+296>>2]=25418;f=0;break}g=e*3|0;if((g|0)==(d<<1|0)){c[b+280>>2]=2;c[b+276>>2]=18;c[b+296>>2]=25476;f=0;break}if((e<<1|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=24;c[b+296>>2]=25516;f=0;break}if((g|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=25544;f=0;break}if((f|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=25584;f=0;break}if((e*6|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=25624;f=0;break}else{d=-1;return d|0}}while(0);g=((d<<(f|14)|0)/(e|0)|0)<<2;h=b+272|0;c[h>>2]=g;i=e<<16>>16;b=(e>>15)+1>>1;f=d<>16,i)|0)+((_(g&65535,i)|0)>>16)+(_(g,b)|0)|0)>=(f|0)){f=0;break}d=g+1|0;c[h>>2]=d;g=d}return f|0}function Id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=a+284|0;h=a+292|0;i=c[h>>2]|0;g=(c[f>>2]|0)-i|0;rf(a+168+(i<<1)|0,d|0,g<<1|0)|0;switch(c[a+264>>2]|0){case 1:{i=a+168|0;Ld(a,b,i,c[f>>2]|0);Ld(a,b+(c[a+288>>2]<<1)|0,d+(g<<1)|0,e-(c[f>>2]|0)|0);f=i;break}case 2:{i=a+168|0;Kd(a,b,i,c[f>>2]|0);Kd(a,b+(c[a+288>>2]<<1)|0,d+(g<<1)|0,e-(c[f>>2]|0)|0);f=i;break}case 3:{i=a+168|0;Jd(a,b,i,c[f>>2]|0);Jd(a,b+(c[a+288>>2]<<1)|0,d+(g<<1)|0,e-(c[f>>2]|0)|0);f=i;break}default:{i=a+168|0;rf(b|0,i|0,c[f>>2]<<1|0)|0;rf(b+(c[a+288>>2]<<1)|0,d+(g<<1)|0,e-(c[f>>2]|0)<<1|0)|0;f=i}}i=c[h>>2]|0;rf(f|0,d+(e-i<<1)|0,i<<1|0)|0;return}function Jd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;N=i;n=a+268|0;l=c[n>>2]|0;x=a+276|0;k=c[x>>2]|0;K=i;i=i+((1*(l+k<<2)|0)+15&-16)|0;L=a+24|0;rf(K|0,L|0,k<<2|0)|0;M=a+296|0;J=c[M>>2]|0;o=J+4|0;p=c[a+272>>2]|0;q=a+4|0;r=a+280|0;s=J+6|0;t=J+8|0;u=J+10|0;v=J+12|0;w=J+14|0;y=J+16|0;z=J+18|0;A=J+20|0;B=J+22|0;C=J+24|0;D=J+26|0;E=J+28|0;F=J+30|0;G=J+32|0;H=J+34|0;I=J+36|0;J=J+38|0;m=e;e=l;while(1){l=(f|0)<(e|0)?f:e;e=K+(k<<2)|0;g=c[M>>2]|0;h=g+2|0;j=0;while(1){if((j|0)>=(l|0))break;P=(c[a>>2]|0)+(b[m+(j<<1)>>1]<<8)|0;c[e+(j<<2)>>2]=P;P=P<<2;Q=P>>16;O=b[g>>1]|0;P=P&65532;c[a>>2]=(c[q>>2]|0)+((_(Q,O)|0)+((_(P,O)|0)>>16));O=b[h>>1]|0;c[q>>2]=(_(Q,O)|0)+((_(P,O)|0)>>16);j=j+1|0}j=l<<16;e=c[r>>2]|0;a:do switch(k|0){case 18:{h=e<<16>>16;g=e+-1|0;e=0;while(1){if((e|0)>=(j|0))break a;P=K+(e>>16<<2)|0;Q=(_(e&65535,h)|0)>>16;O=o+(Q*9<<1)|0;k=c[P>>2]|0;S=b[O>>1]|0;S=(_(k>>16,S)|0)+((_(k&65535,S)|0)>>16)|0;k=c[P+4>>2]|0;R=b[O+2>>1]|0;R=S+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+8>>2]|0;S=b[O+4>>1]|0;S=R+((_(k>>16,S)|0)+((_(k&65535,S)|0)>>16))|0;k=c[P+12>>2]|0;R=b[O+6>>1]|0;R=S+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+16>>2]|0;S=b[O+8>>1]|0;S=R+((_(k>>16,S)|0)+((_(k&65535,S)|0)>>16))|0;k=c[P+20>>2]|0;R=b[O+10>>1]|0;R=S+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+24>>2]|0;S=b[O+12>>1]|0;S=R+((_(k>>16,S)|0)+((_(k&65535,S)|0)>>16))|0;k=c[P+28>>2]|0;R=b[O+14>>1]|0;R=S+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+32>>2]|0;O=b[O+16>>1]|0;O=R+((_(k>>16,O)|0)+((_(k&65535,O)|0)>>16))|0;Q=o+((g-Q|0)*9<<1)|0;k=c[P+68>>2]|0;R=b[Q>>1]|0;R=O+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+64>>2]|0;O=b[Q+2>>1]|0;O=R+((_(k>>16,O)|0)+((_(k&65535,O)|0)>>16))|0;k=c[P+60>>2]|0;R=b[Q+4>>1]|0;R=O+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+56>>2]|0;O=b[Q+6>>1]|0;O=R+((_(k>>16,O)|0)+((_(k&65535,O)|0)>>16))|0;k=c[P+52>>2]|0;R=b[Q+8>>1]|0;R=O+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+48>>2]|0;O=b[Q+10>>1]|0;O=R+((_(k>>16,O)|0)+((_(k&65535,O)|0)>>16))|0;k=c[P+44>>2]|0;R=b[Q+12>>1]|0;R=O+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+40>>2]|0;O=b[Q+14>>1]|0;O=R+((_(k>>16,O)|0)+((_(k&65535,O)|0)>>16))|0;P=c[P+36>>2]|0;Q=b[Q+16>>1]|0;Q=(O+((_(P>>16,Q)|0)+((_(P&65535,Q)|0)>>16))>>5)+1>>1;b[d>>1]=(Q|0)>32767?32767:((Q|0)<-32768?-32768:Q)&65535;d=d+2|0;e=e+p|0}}case 24:{e=0;while(1){if((e|0)>=(j|0))break a;R=K+(e>>16<<2)|0;S=(c[R>>2]|0)+(c[R+92>>2]|0)|0;Q=b[o>>1]|0;Q=(_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16)|0;S=(c[R+4>>2]|0)+(c[R+88>>2]|0)|0;P=b[s>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+8>>2]|0)+(c[R+84>>2]|0)|0;Q=b[t>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+12>>2]|0)+(c[R+80>>2]|0)|0;P=b[u>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+16>>2]|0)+(c[R+76>>2]|0)|0;Q=b[v>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+20>>2]|0)+(c[R+72>>2]|0)|0;P=b[w>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+24>>2]|0)+(c[R+68>>2]|0)|0;Q=b[y>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+28>>2]|0)+(c[R+64>>2]|0)|0;P=b[z>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+32>>2]|0)+(c[R+60>>2]|0)|0;Q=b[A>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+36>>2]|0)+(c[R+56>>2]|0)|0;P=b[B>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+40>>2]|0)+(c[R+52>>2]|0)|0;Q=b[C>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;R=(c[R+44>>2]|0)+(c[R+48>>2]|0)|0;S=b[D>>1]|0;S=(Q+((_(R>>16,S)|0)+((_(R&65535,S)|0)>>16))>>5)+1>>1;b[d>>1]=(S|0)>32767?32767:((S|0)<-32768?-32768:S)&65535;d=d+2|0;e=e+p|0}}case 36:{e=0;while(1){if((e|0)>=(j|0))break a;R=K+(e>>16<<2)|0;S=(c[R>>2]|0)+(c[R+140>>2]|0)|0;Q=b[o>>1]|0;Q=(_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16)|0;S=(c[R+4>>2]|0)+(c[R+136>>2]|0)|0;P=b[s>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+8>>2]|0)+(c[R+132>>2]|0)|0;Q=b[t>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+12>>2]|0)+(c[R+128>>2]|0)|0;P=b[u>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+16>>2]|0)+(c[R+124>>2]|0)|0;Q=b[v>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+20>>2]|0)+(c[R+120>>2]|0)|0;P=b[w>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+24>>2]|0)+(c[R+116>>2]|0)|0;Q=b[y>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+28>>2]|0)+(c[R+112>>2]|0)|0;P=b[z>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+32>>2]|0)+(c[R+108>>2]|0)|0;Q=b[A>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+36>>2]|0)+(c[R+104>>2]|0)|0;P=b[B>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+40>>2]|0)+(c[R+100>>2]|0)|0;Q=b[C>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+44>>2]|0)+(c[R+96>>2]|0)|0;P=b[D>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+48>>2]|0)+(c[R+92>>2]|0)|0;Q=b[E>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+52>>2]|0)+(c[R+88>>2]|0)|0;P=b[F>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+56>>2]|0)+(c[R+84>>2]|0)|0;Q=b[G>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+60>>2]|0)+(c[R+80>>2]|0)|0;P=b[H>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+64>>2]|0)+(c[R+76>>2]|0)|0;Q=b[I>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;R=(c[R+68>>2]|0)+(c[R+72>>2]|0)|0;S=b[J>>1]|0;S=(Q+((_(R>>16,S)|0)+((_(R&65535,S)|0)>>16))>>5)+1>>1;b[d>>1]=(S|0)>32767?32767:((S|0)<-32768?-32768:S)&65535;d=d+2|0;e=e+p|0}}default:{}}while(0);f=f-l|0;if((f|0)<=1)break;k=c[x>>2]|0;rf(K|0,K+(l<<2)|0,k<<2|0)|0;m=m+(l<<1)|0;e=c[n>>2]|0}rf(L|0,K+(l<<2)|0,c[x>>2]<<2|0)|0;i=N;return}function Kd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;k=a+268|0;j=c[k>>2]|0;l=i;i=i+((1*((j<<1)+8<<1)|0)+15&-16)|0;m=a+24|0;b[l>>1]=b[m>>1]|0;b[l+2>>1]=b[m+2>>1]|0;b[l+4>>1]=b[m+4>>1]|0;b[l+6>>1]=b[m+6>>1]|0;b[l+8>>1]=b[m+8>>1]|0;b[l+10>>1]=b[m+10>>1]|0;b[l+12>>1]=b[m+12>>1]|0;b[l+14>>1]=b[m+14>>1]|0;n=c[a+272>>2]|0;o=l+16|0;g=d;d=j;while(1){j=(f|0)<(d|0)?f:d;Ld(a,o,e,j);h=j<<17;d=0;while(1){if((d|0)>=(h|0))break;q=((d&65535)*12|0)>>>16;r=l+(d>>16<<1)|0;s=_(b[r>>1]|0,b[25664+(q<<3)>>1]|0)|0;s=s+(_(b[r+2>>1]|0,b[25664+(q<<3)+2>>1]|0)|0)|0;s=s+(_(b[r+4>>1]|0,b[25664+(q<<3)+4>>1]|0)|0)|0;s=s+(_(b[r+6>>1]|0,b[25664+(q<<3)+6>>1]|0)|0)|0;q=11-q|0;s=s+(_(b[r+8>>1]|0,b[25664+(q<<3)+6>>1]|0)|0)|0;s=s+(_(b[r+10>>1]|0,b[25664+(q<<3)+4>>1]|0)|0)|0;s=s+(_(b[r+12>>1]|0,b[25664+(q<<3)+2>>1]|0)|0)|0;q=(s+(_(b[r+14>>1]|0,b[25664+(q<<3)>>1]|0)|0)>>14)+1>>1;b[g>>1]=(q|0)>32767?32767:((q|0)<-32768?-32768:q)&65535;g=g+2|0;d=d+n|0}f=f-j|0;if((f|0)<=0)break;d=l+(j<<1<<1)|0;b[l>>1]=b[d>>1]|0;b[l+2>>1]=b[d+2>>1]|0;b[l+4>>1]=b[d+4>>1]|0;b[l+6>>1]=b[d+6>>1]|0;b[l+8>>1]=b[d+8>>1]|0;b[l+10>>1]=b[d+10>>1]|0;b[l+12>>1]=b[d+12>>1]|0;b[l+14>>1]=b[d+14>>1]|0;e=e+(j<<1)|0;d=c[k>>2]|0}s=l+(j<<1<<1)|0;b[m>>1]=b[s>>1]|0;b[m+2>>1]=b[s+2>>1]|0;b[m+4>>1]=b[s+4>>1]|0;b[m+6>>1]=b[s+6>>1]|0;b[m+8>>1]=b[s+8>>1]|0;b[m+10>>1]=b[s+10>>1]|0;b[m+12>>1]=b[s+12>>1]|0;b[m+14>>1]=b[s+14>>1]|0;i=p;return}function Ld(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=a+4|0;h=a+8|0;i=a+12|0;j=a+16|0;k=a+20|0;l=0;while(1){if((l|0)>=(f|0))break;p=b[e+(l<<1)>>1]<<10;n=c[a>>2]|0;m=p-n|0;m=((m>>16)*1746|0)+(((m&65535)*1746|0)>>>16)|0;n=n+m|0;c[a>>2]=p+m;m=c[g>>2]|0;o=n-m|0;o=((o>>16)*14986|0)+(((o&65535)*14986|0)>>>16)|0;m=m+o|0;c[g>>2]=n+o;o=m-(c[h>>2]|0)|0;n=(_(o>>16,-26453)|0)+((_(o&65535,-26453)|0)>>16)|0;c[h>>2]=m+(o+n);n=(m+n>>9)+1>>1;m=l<<1;b[d+(m<<1)>>1]=(n|0)>32767?32767:((n|0)<-32768?-32768:n)&65535;n=c[i>>2]|0;o=p-n|0;o=((o>>16)*6854|0)+(((o&65535)*6854|0)>>>16)|0;n=n+o|0;c[i>>2]=p+o;o=c[j>>2]|0;p=n-o|0;p=((p>>16)*25769|0)+(((p&65535)*25769|0)>>>16)|0;o=o+p|0;c[j>>2]=n+p;p=o-(c[k>>2]|0)|0;n=(_(p>>16,-9994)|0)+((_(p&65535,-9994)|0)>>16)|0;c[k>>2]=o+(p+n);n=(o+n>>9)+1>>1;b[d+((m|1)<<1)>>1]=(n|0)>32767?32767:((n|0)<-32768?-32768:n)&65535;l=l+1|0}return}function Md(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+32|0;s=t;q=a+28|0;j=c[q>>2]|0;r=a+32|0;f=c[r>>2]|0;g=j>>>8;k=-1;while(1){k=k+1|0;h=_(g,d[29891+k>>0]|0)|0;if(f>>>0>=h>>>0)break;else j=h}l=f-h|0;c[r>>2]=l;f=j-h|0;c[q>>2]=f;m=a+20|0;n=a+40|0;o=a+24|0;p=a+4|0;j=l;while(1){if(f>>>0>=8388609)break;c[m>>2]=(c[m>>2]|0)+8;f=f<<8;c[q>>2]=f;h=c[n>>2]|0;g=c[o>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){c[o>>2]=g+1;g=d[(c[a>>2]|0)+g>>0]|0}else g=0;c[n>>2]=g;l=((h<<8|g)>>>1&255|j<<8&2147483392)^255;c[r>>2]=l;j=l}l=(k|0)/5|0;c[s+8>>2]=l;c[s+20>>2]=k+(_(l,-5)|0);l=0;while(1){if((l|0)==2){f=0;break}h=f>>>8;k=-1;while(1){k=k+1|0;g=_(h,d[29944+k>>0]|0)|0;if(j>>>0>=g>>>0)break;else f=g}j=j-g|0;c[r>>2]=j;f=f-g|0;c[q>>2]=f;while(1){if(f>>>0>=8388609)break;c[m>>2]=(c[m>>2]|0)+8;f=f<<8;c[q>>2]=f;h=c[n>>2]|0;g=c[o>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){c[o>>2]=g+1;g=d[(c[a>>2]|0)+g>>0]|0}else g=0;c[n>>2]=g;h=((h<<8|g)>>>1&255|j<<8&2147483392)^255;c[r>>2]=h;j=h}c[s+(l*12|0)>>2]=k;h=f>>>8;k=-1;while(1){k=k+1|0;g=_(h,d[29951+k>>0]|0)|0;if(j>>>0>=g>>>0)break;else f=g}j=j-g|0;c[r>>2]=j;f=f-g|0;c[q>>2]=f;while(1){if(f>>>0>=8388609)break;c[m>>2]=(c[m>>2]|0)+8;f=f<<8;c[q>>2]=f;h=c[n>>2]|0;g=c[o>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){c[o>>2]=g+1;g=d[(c[a>>2]|0)+g>>0]|0}else g=0;c[n>>2]=g;h=((h<<8|g)>>>1&255|j<<8&2147483392)^255;c[r>>2]=h;j=h}c[s+(l*12|0)+4>>2]=k;l=l+1|0}while(1){if((f|0)==2)break;r=s+(f*12|0)|0;a=(c[r>>2]|0)+((c[s+(f*12|0)+8>>2]|0)*3|0)|0;c[r>>2]=a;r=b[25372+(a<<1)>>1]|0;a=b[25372+(a+1<<1)>>1]|0;a=(_((a<<16>>16)-r>>16,429522944)|0)+(((a&65535)-r&65535)*6554|0)>>16;c[e+(f<<2)>>2]=r+(_(a,c[s+(f*12|0)+4>>2]<<17>>16|1)|0);f=f+1|0}c[e>>2]=(c[e>>2]|0)-(c[e+4>>2]|0);i=t;return}function Nd(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+16|0;o=v+12|0;p=v+8|0;j=v+4|0;r=v;ze(j,o,d,g);ze(r,p,e,g);o=c[o>>2]|0;p=c[p>>2]|0;k=(o|0)>(p|0)?o:p;k=k+(k&1)|0;p=c[r>>2]>>k-p;c[r>>2]=p;o=c[j>>2]>>k-o;o=(o|0)>1?o:1;c[j>>2]=o;j=0;q=0;while(1){if((j|0)>=(g|0))break;u=q+((_(b[d+(j<<1)>>1]|0,b[e+(j<<1)>>1]|0)|0)>>k)|0;j=j+1|0;q=u}u=Od(q,o,13)|0;u=(u|0)>16384?16384:(u|0)<-16384?-16384:u;l=u<<16>>16;m=(_(u>>16,l)|0)+((_(u&65535,l)|0)>>16)|0;e=(m|0)>0?m:0-m|0;e=(e|0)<(h|0)?h:e;t=k>>1;h=c[f>>2]|0;d=aa(o|0)|0;j=24-d|0;g=0-j|0;do if(j)if((j|0)<0){j=o<>>(j+32|0);break}else{j=o<<32-j|o>>>j;break}else j=o;while(0);g=((d&1|0)==0?46214:32768)>>>(d>>>1);d=(_(j&127,13959168)|0)>>>16;s=e<<16>>16;d=_((g+((_(g>>16,d)|0)+((_(g&65535,d)|0)>>>16))<>16,s)|0;e=aa(o|0)|0;j=24-e|0;g=0-j|0;do if(j)if((j|0)<0){j=o<>>(j+32|0);break}else{j=o<<32-j|o>>>j;break}else j=o;while(0);k=((e&1|0)==0?46214:32768)>>>(e>>>1);n=(_(j&127,13959168)|0)>>>16;n=h+(d+((_((k+((_(k>>16,n)|0)+((_(k&65535,n)|0)>>>16))<>16))|0;c[f>>2]=n;j=m<<16>>16;j=p-((_(q>>16,l)|0)+((_(q&65535,l)|0)>>16)<<4)+((_(o>>16,j)|0)+((_(o&65535,j)|0)>>16)<<6)|0;c[r>>2]=j;l=f+4|0;m=c[l>>2]|0;h=(j|0)<1;if(h){f=0;r=_(0-m>>16,s)|0;t=f<>16;s=r+s|0;s=m+s|0;c[l>>2]=s;t=(n|0)>1;t=t?n:1;t=Od(s,t,14)|0;s=(t|0)>32767;r=(t|0)<0;t=r?0:t;t=s?32767:t;c[a>>2]=t;i=v;return u|0}e=aa(j|0)|0;g=24-e|0;d=0-g|0;do if(g)if((g|0)<0){g=j<>>(g+32|0);break}else{g=j<<32-g|j>>>g;break}else g=j;while(0);r=((e&1|0)==0?46214:32768)>>>(e>>>1);k=(_(g&127,13959168)|0)>>>16;k=_((r+((_(r>>16,k)|0)+((_(r&65535,k)|0)>>>16))<>16,s)|0;if(h){f=0;r=k;t=f<>16;s=r+s|0;s=m+s|0;c[l>>2]=s;t=(n|0)>1;t=t?n:1;t=Od(s,t,14)|0;s=(t|0)>32767;r=(t|0)<0;t=r?0:t;t=s?32767:t;c[a>>2]=t;i=v;return u|0}e=aa(j|0)|0;g=24-e|0;d=0-g|0;do if(g)if((g|0)<0){j=j<>>(g+32|0);break}else{j=j<<32-g|j>>>g;break}while(0);r=((e&1|0)==0?46214:32768)>>>(e>>>1);f=(_(j&127,13959168)|0)>>>16;f=r+((_(r>>16,f)|0)+((_(r&65535,f)|0)>>>16))|0;r=k;t=f<>16;s=r+s|0;s=m+s|0;c[l>>2]=s;t=(n|0)>1;t=t?n:1;t=Od(s,t,14)|0;s=(t|0)>32767;r=(t|0)<0;t=r?0:t;t=s?32767:t;c[a>>2]=t;i=v;return u|0}function Od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;if((a|0)<=0)if(!a)e=32;else{d=0-a|0;f=3}else{d=a;f=3}if((f|0)==3)e=aa(d|0)|0;a=a<>16|0)|0)<<16>>16;g=(_(a>>16,b)|0)+((_(a&65535,b)|0)>>16)|0;f=zf(f|0,((f|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;f=qf(f|0,C|0,29)|0;f=a-(f&-8)|0;b=g+((_(f>>16,b)|0)+((_(f&65535,b)|0)>>16))|0;d=e+28-d-c|0;if((d|0)>=0)return ((d|0)<32?b>>d:0)|0;d=0-d|0;a=-2147483648>>d;e=2147483647>>>d;if((a|0)>(e|0)){if((b|0)>(a|0)){g=a;g=g<(e|0)){g=e;g=g<=15)break;l=b[25372+(g<<1)>>1]|0;m=g+1|0;n=b[25372+(m<<1)>>1]|0;n=(_((n<<16>>16)-l>>16,429522944)|0)+(((n&65535)-l&65535)*6554|0)>>16;k=g&255;i=h;j=0;while(1){if((j|0)>=5){h=i;g=m;continue a}g=l+(_(n,j<<17>>16|1)|0)|0;h=c[p>>2]|0;h=(h|0)>(g|0)?h-g|0:g-h|0;if((h|0)>=(i|0))break a;a[q>>0]=k;a[o>>0]=j;i=h;j=j+1|0;f=g}}n=a[q>>0]|0;o=(n<<24>>24|0)/3|0;a[e+(r*3|0)+2>>0]=o;a[q>>0]=(n&255)+(_(o,-3)|0);c[p>>2]=f;r=r+1|0}c[d>>2]=(c[d>>2]|0)-(c[d+4>>2]|0);return}function Qd(f,j,l,m,n,o){f=f|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0.0,L=0.0,M=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0,lb=0;ib=i;i=i+35104|0;Qa=ib+272|0;Pa=ib+72|0;La=ib+29992|0;Ka=ib+29352|0;la=ib+28712|0;ma=ib+28392|0;Oa=ib+48|0;Na=ib+26008|0;Ma=ib+24472|0;da=ib+11992|0;ea=ib+11896|0;W=ib+33512|0;ia=ib+9176|0;ha=ib+6456|0;Q=ib+32232|0;R=ib+31272|0;P=ib+6384|0;Ga=ib+6320|0;Ia=ib+6256|0;Ha=ib+4720|0;bb=ib+23720|0;fa=ib+21032|0;eb=ib+20984|0;fb=ib+24|0;gb=ib;cb=ib+16536|0;db=ib+12088|0;ab=ib+12072|0;_a=ib+33824|0;$a=ib+12056|0;Ya=ib+33816|0;Za=ib+12040|0;c[$a>>2]=0;c[$a+4>>2]=0;c[$a+8>>2]=0;c[$a+12>>2]=0;Va=f+4712|0;Wa=c[Va>>2]|0;c[Va>>2]=Wa+1;Va=f+4862|0;a[Va>>0]=Wa&3;Wa=f+4684|0;ka=c[Wa>>2]|0;Xa=f+7272+(ka<<2)|0;ka=fa+(ka<<2)|0;J=f+5190|0;Ua=f+4676|0;p=c[Ua>>2]|0;s=c[f+28>>2]|0;if(s){t=f+24|0;u=c[t>>2]|0;r=256-u<<10;x=r>>16;r=r-(x<<16)|0;a:do if((x|0)<4){if((r|0)<=0){Ra=17528+(x*12|0)|0;c[Qa>>2]=c[Ra>>2];c[Qa+4>>2]=c[Ra+4>>2];c[Qa+8>>2]=c[Ra+8>>2];Ra=17588+(x<<3)|0;Sa=c[Ra+4>>2]|0;Ta=Pa;c[Ta>>2]=c[Ra>>2];c[Ta+4>>2]=Sa;break}y=x+1|0;z=r<<16>>16;if((r|0)<32768){r=0;while(1){if((r|0)==3){r=0;break}Sa=c[17528+(x*12|0)+(r<<2)>>2]|0;Ta=(c[17528+(y*12|0)+(r<<2)>>2]|0)-Sa|0;c[Qa+(r<<2)>>2]=Sa+((_(Ta>>16,z)|0)+((_(Ta&65535,z)|0)>>16));r=r+1|0}while(1){if((r|0)==2)break a;Sa=c[17588+(x<<3)+(r<<2)>>2]|0;Ta=(c[17588+(y<<3)+(r<<2)>>2]|0)-Sa|0;c[Pa+(r<<2)>>2]=Sa+((_(Ta>>16,z)|0)+((_(Ta&65535,z)|0)>>16));r=r+1|0}}else{r=0;while(1){if((r|0)==3){r=0;break}Sa=c[17528+(y*12|0)+(r<<2)>>2]|0;Ta=Sa-(c[17528+(x*12|0)+(r<<2)>>2]|0)|0;c[Qa+(r<<2)>>2]=Sa+((_(Ta>>16,z)|0)+((_(Ta&65535,z)|0)>>16));r=r+1|0}while(1){if((r|0)==2)break a;Sa=c[17588+(y<<3)+(r<<2)>>2]|0;Ta=Sa-(c[17588+(x<<3)+(r<<2)>>2]|0)|0;c[Pa+(r<<2)>>2]=Sa+((_(Ta>>16,z)|0)+((_(Ta&65535,z)|0)>>16));r=r+1|0}}}else{c[Qa>>2]=c[4394];c[Qa+4>>2]=c[4395];c[Qa+8>>2]=c[4396];Ta=Pa;c[Ta>>2]=35497197;c[Ta+4>>2]=57401098}while(0);r=u+s|0;c[t>>2]=(r|0)>256?256:(r|0)<0?0:r;r=f+16|0;z=0-(c[Pa>>2]|0)|0;s=z&16383;D=0-(c[Pa+4>>2]|0)|0;t=D&16383;x=c[Qa>>2]|0;u=x>>16;x=x&65535;y=f+20|0;z=z>>>14<<16>>16;B=c[Qa+4>>2]|0;A=B>>16;B=B&65535;D=D>>>14<<16>>16;F=c[Qa+8>>2]|0;E=F>>16;F=F&65535;G=0;while(1){if((G|0)>=(p|0))break;Ta=J+(G<<1)|0;Ra=b[Ta>>1]|0;Sa=(c[r>>2]|0)+((_(u,Ra)|0)+((_(x,Ra)|0)>>16))<<2;Ea=Sa>>16;Fa=Sa&65532;c[r>>2]=(c[y>>2]|0)+(((_(Ea,s)|0)+((_(Fa,s)|0)>>>16)>>13)+1>>1)+((_(Ea,z)|0)+((_(Fa,z)|0)>>16))+((_(A,Ra)|0)+((_(B,Ra)|0)>>16));c[y>>2]=(((_(Ea,t)|0)+((_(Fa,t)|0)>>>16)>>13)+1>>1)+((_(Ea,D)|0)+((_(Fa,D)|0)>>16))+((_(E,Ra)|0)+((_(F,Ra)|0)>>16));Sa=Sa+16383>>14;b[Ta>>1]=(Sa|0)>32767?32767:((Sa|0)<-32768?-32768:Sa)&65535;G=G+1|0}p=c[Ua>>2]|0}Ta=f+4668|0;s=Xa+((c[Ta>>2]|0)*5<<2)|0;while(1){r=p+-1|0;if((p|0)<=0){p=0;break}g[s+(r<<2)>>2]=+(b[J+(r<<1)>>1]|0);p=r}while(1){if((p|0)==8)break;Sa=Xa+(((c[Ta>>2]|0)*5|0)+(_(p,c[Ua>>2]>>3)|0)<<2)|0;g[Sa>>2]=+g[Sa>>2]+ +(1-(p&2)|0)*9.999999974752427e-07;p=p+1|0}Sa=f+4772|0;b:do if(!(c[Sa>>2]|0)){t=c[f+4688>>2]|0;A=c[Wa>>2]|0;z=t+(c[Ua>>2]|0)+A|0;A=Xa+(0-A<<2)|0;u=c[f+4640>>2]|0;p=A+(z<<2)+(0-u<<2)|0;v=3.1415927410125732/+(t+1|0);w=2.0-v*v;q=0.0;r=0;while(1){if((r|0)>=(t|0))break;g[Ha+(r<<2)>>2]=+g[p+(r<<2)>>2]*.5*(q+v);Ra=r|1;g[Ha+(Ra<<2)>>2]=+g[p+(Ra<<2)>>2]*v;M=w*v-q;Ra=r|2;g[Ha+(Ra<<2)>>2]=+g[p+(Ra<<2)>>2]*.5*(v+M);Ra=r|3;g[Ha+(Ra<<2)>>2]=+g[p+(Ra<<2)>>2]*M;q=M;v=w*M-v;r=r+4|0}Ra=Ha+(t<<2)|0;s=p+(t<<2)|0;r=u-(t<<1)|0;rf(Ra|0,s|0,r<<2|0)|0;p=Ra+(r<<2)|0;r=s+(r<<2)|0;q=1.0;v=w*.5;s=0;while(1){if((s|0)>=(t|0))break;g[p+(s<<2)>>2]=+g[r+(s<<2)>>2]*.5*(q+v);Ra=s|1;g[p+(Ra<<2)>>2]=+g[r+(Ra<<2)>>2]*v;M=w*v-q;Ra=s|2;g[p+(Ra<<2)>>2]=+g[r+(Ra<<2)>>2]*.5*(v+M);Ra=s|3;g[p+(Ra<<2)>>2]=+g[r+(Ra<<2)>>2]*M;q=M;v=w*M-v;s=s+4|0}y=f+4740|0;x=c[y>>2]|0;p=(x|0)<(u|0)?x+1|0:u;r=0;while(1){if((r|0)>=(p|0))break;g[P+(r<<2)>>2]=+Vd(Ha,Ha+(r<<2)|0,u-r|0);r=r+1|0}v=+g[P>>2];v=v+(v*1.0000000474974513e-03+1.0);g[P>>2]=v;p=0;while(1){if((p|0)>(x|0))break;M=+g[P+(p<<2)>>2];h[Qa+(p<<4)+8>>3]=M;h[Qa+(p<<4)>>3]=M;p=p+1|0}ja=Qa+8|0;s=0;c:while(1){if((x|0)<=(s|0))break;p=s+1|0;q=+h[ja>>3];q=-+h[Qa+(p<<4)>>3]/(q>9.999999717180685e-10?q:9.999999717180685e-10);g[Ia+(s<<2)>>2]=q;r=x-s|0;t=0;while(1){if((t|0)>=(r|0)){s=p;continue c}Fa=Qa+(t+s+1<<4)|0;M=+h[Fa>>3];Ra=Qa+(t<<4)+8|0;L=+h[Ra>>3];h[Fa>>3]=M+L*q;h[Ra>>3]=L+M*q;t=t+1|0}}M=+h[ja>>3];ga=bb+704|0;g[ga>>2]=v/(M>1.0?M:1.0);s=0;while(1){if((s|0)>=(x|0))break;q=+g[Ia+(s<<2)>>2];p=s+1|0;r=p>>1;t=0;while(1){if((t|0)>=(r|0))break;Fa=Ga+(t<<2)|0;M=+g[Fa>>2];Ra=Ga+(s-t+-1<<2)|0;L=+g[Ra>>2];g[Fa>>2]=M+L*q;g[Ra>>2]=L+M*q;t=t+1|0}g[Ga+(s<<2)>>2]=-q;s=p}p=x+-1|0;q=.9900000095367432;r=0;while(1){if((r|0)>=(p|0))break;Ra=Ga+(r<<2)|0;g[Ra>>2]=+g[Ra>>2]*q;q=q*.9900000095367432;r=r+1|0}Ra=Ga+(p<<2)|0;g[Ra>>2]=+g[Ra>>2]*q;Rd(fa,Ga,A,z,x);Ra=f+4857|0;p=a[Ra>>0]|0;do if(p<<24>>24!=0?(c[f+4756>>2]|0)==0:0){C=.6000000238418579-+(c[y>>2]|0)*.004000000189989805-+(c[f+4624>>2]|0)*.10000000149011612*.00390625-+(a[f+4633>>0]>>1|0)*.15000000596046448-+(c[f+4804>>2]|0)*.10000000149011612*.000030517578125;J=bb+228|0;ba=f+4854|0;ca=f+4856|0;P=f+10152|0;F=c[f+4636>>2]|0;w=+(c[f+4744>>2]|0)*.0000152587890625;T=c[Ta>>2]|0;U=c[f+4736>>2]|0;Z=c[f+4672>>2]|0;x=_((Z*5|0)+20|0,T)|0;E=Z*20|0;r=E+80|0;D=(Z*40|0)+160|0;V=T*5|0;$=T<<1;Y=T*18|0;S=Y+-1|0;G=(T|0)==16;d:do if(G){p=x;while(1){u=p+-1|0;if((p|0)<=0)break;q=+g[fa+(u<<2)>>2];s=(g[k>>2]=q,c[k>>2]|0);t=(s&2130706432)>>>0>1249902592;if(!t){p=(s|0)<0;v=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(v==0.0)v=p?-0.0:0.0}else v=q;if((~~v|0)<=32767){if(!t){p=(s|0)<0;v=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(v==0.0)v=p?-0.0:0.0}else v=q;if((~~v|0)<-32768)p=-32768;else{if(!t){p=(s|0)<0;q=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(q==0.0)q=p?-0.0:0.0}p=~~q}}else p=32767;b[Q+(u<<1)>>1]=p;p=u}s=Oa;c[s>>2]=0;c[s+4>>2]=0;xe(Oa,la,Q,x);s=D;while(1){p=s+-1|0;if((s|0)<=0){p=la;break d}g[La+(p<<2)>>2]=+(b[la+(p<<1)>>1]|0);s=p}}else{if((T|0)==12)p=x;else{p=D;while(1){u=p+-1|0;if((p|0)<=0)break;q=+g[fa+(u<<2)>>2];s=(g[k>>2]=q,c[k>>2]|0);t=(s&2130706432)>>>0>1249902592;if(!t){p=(s|0)<0;v=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(v==0.0)v=p?-0.0:0.0}else v=q;if((~~v|0)<=32767){if(!t){p=(s|0)<0;v=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(v==0.0)v=p?-0.0:0.0}else v=q;if((~~v|0)<-32768)p=-32768;else{if(!t){p=(s|0)<0;q=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(q==0.0)q=p?-0.0:0.0}p=~~q}}else p=32767;b[la+(u<<1)>>1]=p;p=u}p=la;break}while(1){u=p+-1|0;if((p|0)<=0)break;q=+g[fa+(u<<2)>>2];s=(g[k>>2]=q,c[k>>2]|0);t=(s&2130706432)>>>0>1249902592;if(!t){p=(s|0)<0;v=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(v==0.0)v=p?-0.0:0.0}else v=q;if((~~v|0)<=32767){if(!t){p=(s|0)<0;v=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(v==0.0)v=p?-0.0:0.0}else v=q;if((~~v|0)<-32768)p=-32768;else{if(!t){p=(s|0)<0;q=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(q==0.0)q=p?-0.0:0.0}p=~~q}}else p=32767;b[R+(u<<1)>>1]=p;p=u}c[Oa>>2]=0;c[Oa+4>>2]=0;c[Oa+8>>2]=0;c[Oa+12>>2]=0;c[Oa+16>>2]=0;c[Oa+20>>2]=0;c[Qa>>2]=0;c[Qa+4>>2]=0;c[Qa+8>>2]=0;c[Qa+12>>2]=0;z=Oa+16|0;A=Qa+16|0;B=Oa+20|0;u=la;y=R;p=x;while(1){x=(p|0)<480?p:480;s=0;while(1){if((s|0)>=(x|0)){s=Qa;t=x;break}Fa=(c[z>>2]|0)+(b[y+(s<<1)>>1]<<8)|0;c[A+(s<<2)>>2]=Fa;Fa=Fa<<2;Ea=Fa>>16;Fa=Fa&65532;c[z>>2]=(c[B>>2]|0)+((_(Ea,-2797)|0)+((_(Fa,-2797)|0)>>16));c[B>>2]=(_(Ea,-6507)|0)+((_(Fa,-6507)|0)>>16);s=s+1|0}while(1){if((t|0)<=2)break;za=c[s>>2]|0;Ba=s+4|0;Aa=c[Ba>>2]|0;Ca=s+8|0;Ea=c[Ca>>2]|0;Fa=s+12|0;Da=c[Fa>>2]|0;Da=(((za>>16)*4697|0)+(((za&65535)*4697|0)>>>16)+(((Aa>>16)*10739|0)+(((Aa&65535)*10739|0)>>>16))+(((Ea>>16)*8276|0)+(((Ea&65535)*8276|0)>>>16))+(((Da>>16)*1567|0)+(((Da&65535)*1567|0)>>>16))>>5)+1>>1;b[u>>1]=(Da|0)>32767?32767:((Da|0)<-32768?-32768:Da)&65535;Ba=c[Ba>>2]|0;Ca=c[Ca>>2]|0;Da=c[Fa>>2]|0;Ea=c[s+16>>2]|0;Ea=(((Ba>>16)*1567|0)+(((Ba&65535)*1567|0)>>>16)+(((Ca>>16)*8276|0)+(((Ca&65535)*8276|0)>>>16))+(((Da>>16)*10739|0)+(((Da&65535)*10739|0)>>>16))+(((Ea>>16)*4697|0)+(((Ea&65535)*4697|0)>>>16))>>5)+1>>1;b[u+2>>1]=(Ea|0)>32767?32767:((Ea|0)<-32768?-32768:Ea)&65535;u=u+4|0;s=Fa;t=t+-3|0}p=p-x|0;if((p|0)<=0)break;Fa=Qa+(x<<2)|0;c[Qa>>2]=c[Fa>>2];c[Qa+4>>2]=c[Fa+4>>2];c[Qa+8>>2]=c[Fa+8>>2];c[Qa+12>>2]=c[Fa+12>>2];y=y+(x<<1)|0}s=Qa+(x<<2)|0;c[Oa>>2]=c[s>>2];c[Oa+4>>2]=c[s+4>>2];c[Oa+8>>2]=c[s+8>>2];c[Oa+12>>2]=c[s+12>>2];s=D;while(1){p=s+-1|0;if((s|0)<=0){p=la;break d}g[La+(p<<2)>>2]=+(b[la+(p<<1)>>1]|0);s=p}}while(0);Fa=Oa;c[Fa>>2]=0;c[Fa+4>>2]=0;xe(Oa,ma,p,D);while(1){p=r+-1|0;if((r|0)<=0)break;g[Ka+(p<<2)>>2]=+(b[ma+(p<<1)>>1]|0);r=p}p=E+79|0;while(1){if((p|0)<=0)break;r=Ka+(p<<2)|0;p=p+-1|0;q=+(~~+g[r>>2]|0)+ +g[Ka+(p<<2)>>2];if(!(q>32767.0)){if(q<-32768.0)q=-32768.0}else q=32767.0;g[r>>2]=+(~~q<<16>>16)}nf(Na|0,0,Z*596|0)|0;p=Z>>1;r=Ma+256|0;y=Na+32|0;u=0;x=Ka+320|0;while(1){if((u|0)>=(p|0)){p=72;break}s=x+-32|0;hd(x,x+-288|0,Ma,40,65);M=+g[r>>2];q=+Ud(x,40);q=q+ +Ud(s,40)+16.0e4;g[y>>2]=+g[y>>2]+M*2.0/q;t=9;while(1){if((t|0)==73)break;Fa=s+-4|0;L=+g[Fa>>2];M=+g[s+156>>2];M=q+(L*L-M*M);Ea=Na+(t<<2)|0;g[Ea>>2]=+g[Ea>>2]+ +g[Ma+(72-t<<2)>>2]*2.0/M;s=Fa;t=t+1|0;q=M}u=u+1|0;x=x+160|0}while(1){if((p|0)<=7)break;Fa=Na+(p<<2)|0;M=+g[Fa>>2];g[Fa>>2]=M-M*+(p|0)*.000244140625;p=p+-1|0}x=U<<1;r=x+4|0;p=0;while(1){if((p|0)>=(r|0)){p=1;break}c[ea+(p<<2)>>2]=p;p=p+1|0}while(1){if((p|0)>=(r|0))break;q=+g[y+(p<<2)>>2];t=p;while(1){s=t+-1|0;if((t|0)<=0)break;v=+g[y+(s<<2)>>2];if(!(q>v))break;g[y+(t<<2)>>2]=v;c[ea+(t<<2)>>2]=c[ea+(s<<2)>>2];t=s}g[y+(t<<2)>>2]=q;c[ea+(t<<2)>>2]=p;p=p+1|0}u=y+(x+3<<2)|0;p=x+2|0;s=r;while(1){if((s|0)>=65)break;q=+g[y+(s<<2)>>2];if(q>+g[u>>2]){t=p;while(1){if((t|0)<=-1)break;v=+g[y+(t<<2)>>2];if(!(q>v))break;Fa=t+1|0;g[y+(Fa<<2)>>2]=v;c[ea+(Fa<<2)>>2]=c[ea+(t<<2)>>2];t=t+-1|0}Fa=t+1|0;g[y+(Fa<<2)>>2]=q;c[ea+(Fa<<2)>>2]=s}s=s+1|0}q=+g[y>>2];do if(q<.20000000298023224){nf(J|0,0,Z<<2|0)|0;g[P>>2]=0.0;b[ba>>1]=0;a[ca>>0]=0;p=0}else{q=q*w;p=0;while(1){if((p|0)>=(r|0))break;if(!(+g[Na+(p+8<<2)>>2]>q)){r=p;break}Fa=ea+(p<<2)|0;c[Fa>>2]=(c[Fa>>2]<<1)+16;p=p+1|0}p=11;while(1){if((p|0)==148){p=0;break}b[W+(p<<1)>>1]=0;p=p+1|0}while(1){if((p|0)>=(r|0)){p=146;break}b[W+(c[ea+(p<<2)>>2]<<1)>>1]=1;p=p+1|0}while(1){if((p|0)<=15){r=16;E=0;break}Fa=p+-1|0;Ea=W+(p<<1)|0;b[Ea>>1]=(e[Ea>>1]|0)+((e[W+(Fa<<1)>>1]|0)+(e[W+(p+-2<<1)>>1]|0));p=Fa}while(1){if((r|0)==144){p=146;break}p=r+1|0;if((b[W+(p<<1)>>1]|0)<=0){r=p;continue}c[ea+(E<<2)>>2]=r;r=p;E=E+1|0}while(1){if((p|0)<=15){r=16;p=0;break}Fa=p+-1|0;Ea=W+(p<<1)|0;b[Ea>>1]=(e[Ea>>1]|0)+((e[W+(Fa<<1)>>1]|0)+(e[W+(p+-2<<1)>>1]|0)+(e[W+(p+-3<<1)>>1]|0));p=Fa}while(1){if((r|0)==147)break;if((b[W+(r<<1)>>1]|0)>0){b[W+(p<<1)>>1]=r+65534;p=p+1|0}r=r+1|0}nf(Na|0,0,2384)|0;y=(T|0)==8;u=0;x=y?fa+640|0:La+640|0;while(1){if((u|0)>=(Z|0))break;v=+Ud(x,40)+1.0;t=0;while(1){if((t|0)>=(p|0))break;s=b[W+(t<<1)>>1]|0;r=x+(0-s<<2)|0;q=+Vd(r,x,40);if(q>0.0)q=q*2.0/(+Ud(r,40)+v);else q=0.0;g[Na+(u*596|0)+(s<<2)>>2]=q;t=t+1|0}u=u+1|0;x=x+160|0}if((F|0)>0){if((T|0)==12)p=(F<<1|0)/3|0;else p=F>>(G&1);r=p;M=+Ge(+(p|0))*3.32192809488736}else{r=F;M=0.0}Q=(Z|0)==4;if(Q){B=32969;D=11;A=y&(U|0)>0?11:3}else{B=32935;D=3;A=3}K=+(Z|0);L=K*.20000000298023224;y=(r|0)>0;C=K*C;r=0;H=0.0;I=-1.0e3;x=0;z=-1;while(1){if((x|0)>=(E|0))break;u=c[ea+(x<<2)>>2]|0;t=0;while(1){if((t|0)>=(A|0)){s=0;w=-1.0e3;p=0;break}p=da+(t<<2)|0;g[p>>2]=0.0;q=0.0;s=0;while(1){if((s|0)>=(Z|0))break;w=q+ +g[Na+(s*596|0)+(u+(a[B+((_(s,D)|0)+t)>>0]|0)<<2)>>2];g[p>>2]=w;q=w;s=s+1|0}t=t+1|0}while(1){if((p|0)>=(A|0))break;v=+g[da+(p<<2)>>2];Fa=v>w;s=Fa?p:s;w=Fa?v:w;p=p+1|0}v=+Ge(+(u|0))*3.32192809488736;q=w-L*v;if(y){v=v-M;v=v*v;q=q-L*+g[P>>2]*v/(v+.5)}Fa=q>I&w>C;r=Fa?s:r;H=Fa?w:H;I=Fa?q:I;x=x+1|0;z=Fa?u:z}if((z|0)==-1){c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;g[P>>2]=0.0;b[ba>>1]=0;a[ca>>0]=0;p=0;break}g[P>>2]=H/K;if((T|0)>8){if((T|0)==12){p=(z<<16>>16)*3|0;p=(p>>1)+(p&1)|0}else p=z<<1;if(($|0)<(Y|0))if((p|0)<(Y|0))x=(p|0)<($|0)?$:p;else x=S;else if((p|0)>($|0))x=$;else x=(p|0)<(S|0)?S:p;J=x+-2|0;J=(J|0)>($|0)?J:$;P=x+2|0;P=(P|0)<(S|0)?P:S;if(Q){B=33013;D=33149+(U<<3)|0;E=34;F=a[33173+U>>0]|0}else{B=32941;D=32965;E=12;F=12}G=fa+(T*20<<2)|0;u=0-J|0;z=0;A=G;while(1){if((z|0)>=(Z|0))break;p=z<<1;y=a[D+p>>0]|0;p=a[D+(p|1)>>0]|0;hd(A,A+(u<<2)+(0-p<<2)|0,Qa,V,p-y+1|0);r=y;s=0;while(1){if((p|0)<(r|0))break;c[Pa+(s<<2)>>2]=c[Qa+(p-r<<2)>>2];r=r+1|0;s=s+1|0}p=_(z,E)|0;s=0;while(1){if((s|0)>=(F|0))break;r=(a[B+(p+s)>>0]|0)-y|0;t=0;while(1){if((t|0)==5)break;c[ha+(z*680|0)+(s*20|0)+(t<<2)>>2]=c[Pa+(r+t<<2)>>2];t=t+1|0}s=s+1|0}z=z+1|0;A=A+(V<<2)|0}if(Q){y=33013;z=33149+(U<<3)|0;A=34;D=a[33173+U>>0]|0}else{y=32941;z=32965;A=12;D=12}B=0;E=G;while(1){if((B|0)>=(Z|0))break;r=B<<1;u=a[z+r>>0]|0;p=E+(0-(u+J)<<2)|0;q=+Ud(p,V)+.001;g[Pa>>2]=q;r=(a[z+(r|1)>>0]|0)-u|0;s=1;while(1){if((s|0)>(r|0))break;L=+g[p+(V-s<<2)>>2];M=+g[p+(0-s<<2)>>2];M=q-L*L+M*M;g[Pa+(s<<2)>>2]=M;q=M;s=s+1|0}p=_(B,A)|0;s=0;while(1){if((s|0)>=(D|0))break;r=(a[y+(p+s)>>0]|0)-u|0;t=0;while(1){if((t|0)==5)break;c[ia+(B*680|0)+(s*20|0)+(t<<2)>>2]=c[Pa+(r+t<<2)>>2];t=t+1|0}s=s+1|0}B=B+1|0;E=E+(V<<2)|0}H=.05000000074505806/+(x|0);if(Q){A=33013;B=34;z=a[33173+U>>0]|0}else{A=32941;B=12;z=12}C=+Ud(G,_(V,Z)|0)+1.0;r=0;q=-1.0e3;u=J;y=0;while(1){if((u|0)>(P|0))break;else{t=0;p=x}while(1){if((t|0)<(z|0)){v=0.0;w=C;s=0}else break;while(1){if((s|0)>=(Z|0))break;v=v+ +g[ha+(s*680|0)+(t*20|0)+(y<<2)>>2];w=w+ +g[ia+(s*680|0)+(t*20|0)+(y<<2)>>2];s=s+1|0}if(v>0.0)v=v*2.0/w*(1.0-H*+(t|0));else v=0.0;if(v>q){Fa=(u+(a[33013+t>>0]|0)|0)<(Y|0);r=Fa?t:r;q=Fa?v:q;p=Fa?u:p}t=t+1|0}u=u+1|0;y=y+1|0;x=p}s=($|0)>(Y|0);u=0;while(1){if((u|0)>=(Z|0))break;p=x+(a[A+((_(u,B)|0)+r)>>0]|0)|0;t=bb+228+(u<<2)|0;c[t>>2]=p;do if(s){if((p|0)>($|0)){p=$;break}p=(p|0)<(Y|0)?Y:p}else{if((p|0)>(Y|0)){p=Y;break}p=(p|0)<($|0)?$:p}while(0);c[t>>2]=p;u=u+1|0}p=x-$|0}else{p=0;while(1){if((p|0)>=(Z|0))break;Fa=z+(a[B+((_(p,D)|0)+r)>>0]|0)|0;c[bb+228+(p<<2)>>2]=(Fa|0)>144?144:(Fa|0)<16?16:Fa;p=p+1|0}p=z+65520|0}b[ba>>1]=p;a[ca>>0]=r;p=1}while(0);if(p){a[Ra>>0]=2;p=2;break}else{a[Ra>>0]=1;p=1;break}}else hb=264;while(0);if((hb|0)==264){Fa=bb+228|0;c[Fa>>2]=0;c[Fa+4>>2]=0;c[Fa+8>>2]=0;c[Fa+12>>2]=0;b[f+4854>>1]=0;a[f+4856>>0]=0;g[f+10152>>2]=0.0}y=Xa+(0-(c[f+4692>>2]|0)<<2)|0;Ba=f+4808|0;v=+(c[Ba>>2]|0);q=v*.0078125;P=c[f+4788>>2]|0;w=+(P+(c[f+4792>>2]|0)|0)*.5*.000030517578125;Ca=bb+696|0;g[Ca>>2]=w;I=1.0/(+X(+-((q+-20.0)*.25))+1.0);Da=bb+700|0;g[Da>>2]=I;if(!(c[f+4768>>2]|0)){M=1.0-+(c[f+4624>>2]|0)*.00390625;q=q-I*2.0*(w*.5+.5)*M*M}Q=p<<24>>24==2;do if(!Q){H=q+(v*-.4000000059604645*.0078125+6.0)*(1.0-w);r=c[Ta>>2]<<1;u=f+4672|0;p=c[u>>2]|0;x=((p<<16>>16)*5|0)/2|0;w=+(r|0);q=0.0;s=0;v=0.0;t=ka;while(1){if((s|0)>=(x|0))break;C=+Ge(w+ +Ud(t,r))*3.32192809488736;if((s|0)>0)q=q+ +N(+(C-v));s=s+1|0;v=C;t=t+(r<<2)|0}r=f+4858|0;if(q>+(x+-1|0)*.6000000238418579){a[r>>0]=0;Fa=u;break}else{a[r>>0]=1;Fa=u;break}}else{H=q+ +g[f+10152>>2]*2.0;a[f+4858>>0]=0;p=f+4672|0;Fa=p;p=c[p>>2]|0}while(0);L=+g[ga>>2]*1.0000000474974513e-03;L=.9399999976158142/(L*L+1.0);J=c[f+4764>>2]|0;C=+(J|0)*.0000152587890625+I*.009999999776482582;E=f+4696|0;Ea=f+4680|0;F=f+4728|0;I=C;K=1.0-C*C;G=0;x=y;while(1){if((G|0)>=(p|0))break;r=c[Ta>>2]|0;s=r*3|0;y=c[E>>2]|0;u=(y-s|0)/2|0;v=3.1415927410125732/+(u+1|0);w=2.0-v*v;q=0.0;t=0;while(1){if((t|0)>=(u|0))break;g[La+(t<<2)>>2]=+g[x+(t<<2)>>2]*.5*(q+v);Aa=t|1;g[La+(Aa<<2)>>2]=+g[x+(Aa<<2)>>2]*v;M=w*v-q;Aa=t|2;g[La+(Aa<<2)>>2]=+g[x+(Aa<<2)>>2]*.5*(v+M);Aa=t|3;g[La+(Aa<<2)>>2]=+g[x+(Aa<<2)>>2]*M;q=M;v=w*M-v;t=t+4|0}rf(La+(u<<2)|0,x+(u<<2)|0,r*12|0)|0;s=u+s|0;r=La+(s<<2)|0;s=x+(s<<2)|0;q=1.0;v=w*.5;t=0;while(1){if((t|0)>=(u|0))break;g[r+(t<<2)>>2]=+g[s+(t<<2)>>2]*.5*(q+v);Aa=t|1;g[r+(Aa<<2)>>2]=+g[s+(Aa<<2)>>2]*v;M=w*v-q;Aa=t|2;g[r+(Aa<<2)>>2]=+g[s+(Aa<<2)>>2]*.5*(v+M);Aa=t|3;g[r+(Aa<<2)>>2]=+g[s+(Aa<<2)>>2]*M;q=M;v=w*M-v;t=t+4|0}x=x+(c[Ea>>2]<<2)|0;z=(J|0)>0;D=c[F>>2]|0;e:do if(z){nf(Qa|0,0,200)|0;nf(Pa|0,0,200)|0;s=Qa+(D<<3)|0;t=Pa+(D<<3)|0;q=0.0;u=0;while(1){if((u|0)>=(y|0)){r=0;break}r=0;v=+g[La+(u<<2)>>2];while(1){if((r|0)>=(D|0))break;za=r|1;ya=Qa+(za<<3)|0;jb=+h[ya>>3];M=q+I*(jb-v);h[Qa+(r<<3)>>3]=v;Aa=Pa+(r<<3)|0;h[Aa>>3]=+h[Aa>>3]+ +h[Qa>>3]*v;Aa=r+2|0;w=+h[Qa+(Aa<<3)>>3];h[ya>>3]=M;za=Pa+(za<<3)|0;h[za>>3]=+h[za>>3]+ +h[Qa>>3]*M;q=w;r=Aa;v=jb+I*(w-M)}h[s>>3]=v;q=+h[Qa>>3];h[t>>3]=+h[t>>3]+q*v;u=u+1|0}while(1){if((r|0)>(D|0))break;g[Ka+(r<<2)>>2]=+h[Pa+(r<<3)>>3];r=r+1|0}}else{r=(D|0)<(y|0)?D+1|0:y;s=0;while(1){if((s|0)>=(r|0))break e;g[Ka+(s<<2)>>2]=+Vd(La,La+(s<<2)|0,y-s|0);s=s+1|0}}while(0);jb=+g[Ka>>2];g[Ka>>2]=jb+(jb*2.9999999242136255e-05+1.0);r=0;while(1){if((r|0)>(D|0)){t=0;break}jb=+g[Ka+(r<<2)>>2];h[Qa+(r<<4)+8>>3]=jb;h[Qa+(r<<4)>>3]=jb;r=r+1|0}f:while(1){if((D|0)<=(t|0))break;r=t+1|0;q=+h[ja>>3];q=-+h[Qa+(r<<4)>>3]/(q>9.999999717180685e-10?q:9.999999717180685e-10);g[la+(t<<2)>>2]=q;s=D-t|0;u=0;while(1){if((u|0)>=(s|0)){t=r;continue f}za=Qa+(u+t+1<<4)|0;jb=+h[za>>3];Aa=Qa+(u<<4)+8|0;M=+h[Aa>>3];h[za>>3]=jb+M*q;h[Aa>>3]=M+jb*q;u=u+1|0}}q=+h[ja>>3];B=bb+244+(G*24<<2)|0;t=0;while(1){if((t|0)>=(D|0))break;v=+g[la+(t<<2)>>2];r=t+1|0;s=r>>1;u=0;while(1){if((u|0)>=(s|0))break;za=B+(u<<2)|0;jb=+g[za>>2];Aa=B+(t-u+-1<<2)|0;M=+g[Aa>>2];g[za>>2]=jb+M*v;g[Aa>>2]=M+jb*v;u=u+1|0}g[B+(t<<2)>>2]=-v;t=r}v=+O(+q);r=bb+(G<<2)|0;g[r>>2]=v;A=D+-1|0;if(z){q=+g[B+(A<<2)>>2];s=D+-2|0;while(1){q=C*q;if((s|0)<=-1)break;q=+g[B+(s<<2)>>2]-q;s=s+-1|0}g[r>>2]=v*(1.0/(q+1.0));q=L;r=0}else{q=L;r=0}while(1){if((r|0)>=(A|0))break;Aa=B+(r<<2)|0;g[Aa>>2]=+g[Aa>>2]*q;q=q*L;r=r+1|0}y=B+(A<<2)|0;q=+g[y>>2]*q;g[y>>2]=q;g:do if(z){r=D;while(1){if((r|0)<=1)break;Aa=B+(r+-2<<2)|0;jb=+g[Aa>>2]-q*C;g[Aa>>2]=jb;q=jb;r=r+-1|0}q=K/(+g[B>>2]*C+1.0);r=0;while(1){if((r|0)>=(D|0)){r=0;u=0;break}Aa=B+(r<<2)|0;g[Aa>>2]=+g[Aa>>2]*q;r=r+1|0}while(1){if((u|0)<10){s=0;t=r;v=-1.0}else break g;while(1){if((s|0)>=(D|0))break;jb=+N(+(+g[B+(s<<2)>>2]));Aa=jb>v;za=Aa?s:t;s=s+1|0;t=za;v=Aa?jb:v}if(!(v<=3.999000072479248))r=1;else break g;while(1){if((r|0)>=(D|0))break;Aa=B+(r+-1<<2)|0;g[Aa>>2]=+g[Aa>>2]+ +g[B+(r<<2)>>2]*C;r=r+1|0}q=1.0/q;r=0;while(1){if((r|0)>=(D|0))break;Aa=B+(r<<2)|0;g[Aa>>2]=+g[Aa>>2]*q;r=r+1|0}q=.9900000095367432-(+(u|0)*.10000000149011612+.800000011920929)*(v+-3.999000072479248)/(v*+(t+1|0));v=q;r=0;while(1){if((r|0)>=(A|0))break;Aa=B+(r<<2)|0;g[Aa>>2]=+g[Aa>>2]*v;v=v*q;r=r+1|0}q=+g[y>>2]*v;g[y>>2]=q;r=D;while(1){if((r|0)<=1)break;Aa=B+(r+-2<<2)|0;jb=+g[Aa>>2]-q*C;g[Aa>>2]=jb;q=jb;r=r+-1|0}q=K/(+g[B>>2]*C+1.0);r=0;while(1){if((r|0)>=(D|0))break;Aa=B+(r<<2)|0;g[Aa>>2]=+g[Aa>>2]*q;r=r+1|0}r=t;u=u+1|0}}else{r=0;t=0;while(1){if((t|0)<10){s=0;q=-1.0}else break g;while(1){if((s|0)>=(D|0))break;jb=+N(+(+g[B+(s<<2)>>2]));Aa=jb>q;za=Aa?s:r;s=s+1|0;r=za;q=Aa?jb:q}if(q<=3.999000072479248)break g;q=.9900000095367432-(+(t|0)*.10000000149011612+.800000011920929)*(q+-3.999000072479248)/(q*+(r+1|0));v=q;s=0;while(1){if((s|0)>=(A|0))break;Aa=B+(s<<2)|0;g[Aa>>2]=+g[Aa>>2]*v;v=v*q;s=s+1|0}g[y>>2]=+g[y>>2]*v;t=t+1|0}}while(0);G=G+1|0}q=+nb(+(H*-.1599999964237213));r=0;while(1){if((r|0)>=(p|0))break;Aa=bb+(r<<2)|0;g[Aa>>2]=+g[Aa>>2]*q+1.2483305931091309;r=r+1|0}Aa=f+4624|0;q=+(c[Aa>>2]|0);v=((+(P|0)*.000030517578125+-1.0)*.5+1.0)*4.0*(q*.00390625);h:do if(Q){r=0;while(1){if((r|0)>=(p|0))break;jb=.20000000298023224/+(c[Ta>>2]|0)+3.0/+(c[bb+228+(r<<2)>>2]|0);g[bb+628+(r<<2)>>2]=jb+-1.0;g[bb+644+(r<<2)>>2]=1.0-jb-jb*v;r=r+1|0}v=-.25-q*.26249998807907104*.00390625}else{jb=1.2999999523162842/+(c[Ta>>2]|0);s=bb+628|0;g[s>>2]=jb+-1.0;t=bb+644|0;g[t>>2]=1.0-jb-jb*v*.6000000238418579;r=1;while(1){if((r|0)>=(p|0)){v=-.25;break h}c[bb+628+(r<<2)>>2]=c[s>>2];c[bb+644+(r<<2)>>2]=c[t>>2];r=r+1|0}}while(0);if(Q)q=((1.0-(1.0-+g[Da>>2])*+g[Ca>>2])*.20000000298023224+.30000001192092896)*+O(+(+g[f+10152>>2]));else q=0.0;r=f+7264|0;s=f+7268|0;t=0;while(1){if((t|0)>=(p|0))break;jb=+g[r>>2];jb=jb+(q-jb)*.4000000059604645;g[r>>2]=jb;g[bb+676+(t<<2)>>2]=jb;jb=+g[s>>2];jb=jb+(v-jb)*.4000000059604645;g[s>>2]=jb;g[bb+660+(t<<2)>>2]=jb;t=t+1|0}r=0;while(1){if((r|0)>=(p|0))break;g[Oa+(r<<2)>>2]=1.0/+g[bb+(r<<2)>>2];r=r+1|0}if(Q){D=c[Ea>>2]|0;E=D+5|0;y=ka;z=la;A=0;B=ma;while(1){if((A|0)>=(p|0))break;t=y+(-2-(c[bb+228+(A<<2)>>2]|0)<<2)|0;r=t+16|0;q=+Ud(r,D);g[z>>2]=q;s=1;while(1){if((s|0)==5)break;M=+g[r+(0-s<<2)>>2];jb=+g[r+(D-s<<2)>>2];jb=q+(M*M-jb*jb);g[z+(s*6<<2)>>2]=jb;q=jb;s=s+1|0}x=1;u=t+12|0;while(1){if((x|0)==5){s=0;break}q=+Vd(r,u,D);jb=q;g[z+(x*5<<2)>>2]=jb;g[z+(x<<2)>>2]=jb;s=5-x|0;t=1;while(1){if((t|0)>=(s|0))break;ya=0-t|0;za=D-t|0;jb=q+(+g[r+(ya<<2)>>2]*+g[u+(ya<<2)>>2]-+g[r+(za<<2)>>2]*+g[u+(za<<2)>>2]);M=jb;za=x+t|0;g[z+((za*5|0)+t<<2)>>2]=M;g[z+((t*5|0)+za<<2)>>2]=M;q=jb;t=t+1|0}x=x+1|0;u=u+-4|0}while(1){if((s|0)==5)break;g[B+(s<<2)>>2]=+Vd(r,y,D);s=s+1|0;r=r+-4|0}jb=+Ud(y,E);q=(+g[z>>2]+ +g[z+96>>2])*.014999999664723873+1.0;q=1.0/(jb>q?jb:q);r=0;while(1){if((r|0)>=24){r=24;break}za=z+(r<<2)|0;g[za>>2]=+g[za>>2]*q;za=z+((r|1)<<2)|0;g[za>>2]=+g[za>>2]*q;za=z+((r|2)<<2)|0;g[za>>2]=+g[za>>2]*q;za=z+((r|3)<<2)|0;g[za>>2]=+g[za>>2]*q;r=r+4|0}while(1){if((r|0)==25){r=0;break}za=z+(r<<2)|0;g[za>>2]=+g[za>>2]*q;r=r+1|0}while(1){if((r|0)>=4){r=4;break}za=B+(r<<2)|0;g[za>>2]=+g[za>>2]*q;za=B+((r|1)<<2)|0;g[za>>2]=+g[za>>2]*q;za=B+((r|2)<<2)|0;g[za>>2]=+g[za>>2]*q;za=B+((r|3)<<2)|0;g[za>>2]=+g[za>>2]*q;r=r+4|0}while(1){if((r|0)==5)break;za=B+(r<<2)|0;g[za>>2]=+g[za>>2]*q;r=r+1|0}y=y+(D<<2)|0;z=z+100|0;A=A+1|0;B=B+20|0}va=f+4832|0;za=f+4748|0;t=c[Ea>>2]|0;xa=c[Fa>>2]|0;r=xa*25|0;s=0;while(1){if((s|0)>=(r|0))break;q=+g[la+(s<<2)>>2]*131072.0;p=(g[k>>2]=q,c[k>>2]|0);if((p&2130706432)>>>0<=1249902592){p=(p|0)<0;q=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(q==0.0)q=p?-0.0:0.0}c[La+(s<<2)>>2]=~~q;s=s+1|0}ua=f+4860|0;ya=bb+708|0;wa=xa*5|0;r=0;while(1){if((r|0)>=(wa|0))break;q=+g[ma+(r<<2)>>2]*131072.0;p=(g[k>>2]=q,c[k>>2]|0);if((p&2130706432)>>>0<=1249902592){p=(p|0)<0;q=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(q==0.0)q=p?-0.0:0.0}c[Ka+(r<<2)>>2]=~~q;r=r+1|0}ra=t<<16>>16;ta=0;p=0;sa=0;r=2147483647;x=0;while(1){if((sa|0)==3)break;ma=c[17388+(sa<<2)>>2]|0;na=c[17400+(sa<<2)>>2]|0;oa=c[17412+(sa<<2)>>2]|0;pa=a[29888+sa>>0]|0;qa=La;A=p;ka=0;z=0;x=0;p=c[za>>2]|0;la=Ka;while(1){if((ka|0)>=(xa|0))break;ja=5333-p|0;s=ja+896|0;if((ja|0)>=-896)if((s|0)>3966)s=2147483647;else{t=s>>7;y=1<>16)<>7;else s=_(y>>7,u+((_(_(u,128-u|0)|0,-174)|0)>>16)|0)|0;s=y+s|0}else s=0;F=s+-51|0;G=Qa+ka|0;J=c[la>>2]<<7;P=c[la+4>>2]<<7;Q=c[la+8>>2]<<7;R=c[la+12>>2]<<7;ga=0-(c[la+16>>2]<<7)|0;a[G>>0]=0;S=qa+4|0;T=qa+8|0;U=qa+12|0;V=qa+16|0;W=qa+28|0;Y=qa+32|0;Z=qa+36|0;$=qa+24|0;ba=qa+52|0;ca=qa+56|0;da=qa+48|0;ea=qa+76|0;fa=qa+72|0;ga=ga<<1;ha=qa+96|0;ia=na;ja=A;D=0;E=2147483647;B=2147483647;while(1){if((D|0)>=(pa|0))break;u=d[oa+D>>0]|0;kb=a[ia+1>>0]|0;A=(_(c[S>>2]|0,kb)|0)-J|0;t=a[ia+2>>0]|0;A=A+(_(c[T>>2]|0,t)|0)|0;y=a[ia+3>>0]|0;A=A+(_(c[U>>2]|0,y)|0)|0;s=a[ia+4>>0]|0;A=A+(_(c[V>>2]|0,s)|0)<<1;lb=a[ia>>0]|0;A=A+(_(c[qa>>2]|0,lb)|0)|0;lb=(_(A>>16,lb)|0)+((_(A&65535,lb)|0)>>16)+32801|0;A=(_(c[W>>2]|0,t)|0)-P|0;A=A+(_(c[Y>>2]|0,y)|0)|0;A=A+(_(c[Z>>2]|0,s)|0)<<1;A=A+(_(c[$>>2]|0,kb)|0)|0;kb=lb+((_(A>>16,kb)|0)+((_(A&65535,kb)|0)>>16))|0;A=(_(c[ba>>2]|0,y)|0)-Q|0;A=A+(_(c[ca>>2]|0,s)|0)<<1;A=A+(_(c[da>>2]|0,t)|0)|0;t=kb+((_(A>>16,t)|0)+((_(A&65535,t)|0)>>16))|0;A=(_(c[ea>>2]|0,s)|0)-R<<1;A=A+(_(c[fa>>2]|0,y)|0)|0;y=t+((_(A>>16,y)|0)+((_(A&65535,y)|0)>>16))|0;A=ga+(_(c[ha>>2]|0,s)|0)|0;s=y+((_(A>>16,s)|0)+((_(A&65535,s)|0)>>16))|0;do if((s|0)>-1){s=s+((u|0)>(F|0)?u-F<<11:0)|0;A=aa(s|0)|0;t=24-A|0;y=0-t|0;do if(t)if((t|0)<0){t=s<>>(t+32|0);break}else{t=s<<32-t|s>>>t;break}else t=s;while(0);t=t&127;t=_(ra,(t+(((_(t,128-t|0)|0)*179|0)>>>16)+(31-A<<7)<<16)+-125829120>>16)|0;t=t+(d[ma+D>>0]<<2)|0;if((t|0)>(E|0)){u=ja;t=E;s=B;break}a[G>>0]=D}else{u=ja;t=E;s=B}while(0);ia=ia+5|0;ja=u;D=D+1|0;E=t;B=s}x=x+B|0;x=(x|0)<0?2147483647:x;z=z+E|0;z=(z|0)<0?2147483647:z;s=ja+51|0;y=aa(s|0)|0;t=24-y|0;u=0-t|0;do if(t)if((t|0)<0){t=s<>>(t+32|0);break}else{t=s<<32-t|s>>>t;break}else t=s;while(0);lb=t&127;if((p+(lb+(((_(lb,128-lb|0)|0)*179|0)>>>16)+(31-y<<7))|0)<896)p=0;else{y=aa(s|0)|0;t=24-y|0;u=0-t|0;do if(t)if((t|0)<0){s=s<>>(t+32|0);break}else{s=s<<32-t|s>>>t;break}while(0);lb=s&127;p=p+(lb+(((_(lb,128-lb|0)|0)*179|0)>>>16)+(31-y<<7))+-896|0}qa=qa+100|0;A=ja;ka=ka+1|0;la=la+20|0}if((z|0)>(r|0))p=ta;else{a[ua>>0]=sa;rf(va|0,Qa|0,xa|0)|0;r=z}ta=p;p=A;sa=sa+1|0}p=c[17400+(a[ua>>0]<<2)>>2]|0;t=0;while(1){if((t|0)>=(xa|0))break;r=f+4832+t|0;s=t*5|0;u=0;while(1){if((u|0)==5)break;b[Pa+(s+u<<1)>>1]=a[p+(((a[r>>0]|0)*5|0)+u)>>0]<<7;u=u+1|0}t=t+1|0}p=x>>((xa|0)==2?1:2);c[za>>2]=ta;t=aa(p|0)|0;r=24-t|0;s=0-r|0;do if(r)if((r|0)<0){p=p<>>(r+32|0);break}else{p=p<<32-r|p>>>r;break}while(0);p=p&127;p=(p+(((_(p,128-p|0)|0)*179|0)>>>16)+(31-t<<7)<<16)+-125829120>>16;r=0;while(1){if((r|0)>=(wa|0))break;g[bb+144+(r<<2)>>2]=+(b[Pa+(r<<1)>>1]|0)*.00006103515625;r=r+1|0}q=+(_(p,-3)|0)*.0078125;g[ya>>2]=q;if(!m){q=+((c[f+4708>>2]|0)+(c[f+5836>>2]|0)|0)*q*.10000000149011612;if(!(q>2.0)){if(q<0.0)q=0.0}else q=2.0;p=~~q;a[f+4861>>0]=p}else{a[f+4861>>0]=0;p=0}g[bb+224>>2]=+(b[25412+(p<<24>>24<<1)>>1]|0)*.00006103515625;B=c[f+4732>>2]|0;u=c[Ea>>2]|0;x=c[Fa>>2]|0;y=u+B|0;z=Ma;A=0;B=Xa+(0-B<<2)|0;while(1){if((A|0)>=(x|0))break;s=0-(c[bb+228+(A<<2)>>2]|0)|0;v=+g[Oa+(A<<2)>>2];p=A*5|0;r=0;while(1){if((r|0)==5)break;c[Qa+(r<<2)>>2]=c[bb+144+(p+r<<2)>>2];r=r+1|0}t=0;s=B+(s<<2)|0;while(1){if((t|0)>=(y|0))break;r=c[B+(t<<2)>>2]|0;p=z+(t<<2)|0;c[p>>2]=r;q=(c[k>>2]=r,+g[k>>2]);r=0;while(1){if((r|0)==5)break;jb=q-+g[Qa+(r<<2)>>2]*+g[s+(2-r<<2)>>2];g[p>>2]=jb;q=jb;r=r+1|0}g[p>>2]=q*v;t=t+1|0;s=s+4|0}z=z+(y<<2)|0;A=A+1|0;B=B+(u<<2)|0}}else{z=f+4732|0;y=c[z>>2]|0;r=y;u=0;x=Ma;y=Xa+(0-y<<2)|0;while(1){if((u|0)>=(p|0))break;q=+g[Oa+(u<<2)>>2];p=c[Ea>>2]|0;t=p+r|0;s=t&65532;p=r+p&65532;r=0;while(1){if((r|0)>=(s|0))break;g[x+(r<<2)>>2]=+g[y+(r<<2)>>2]*q;lb=r|1;g[x+(lb<<2)>>2]=+g[y+(lb<<2)>>2]*q;lb=r|2;g[x+(lb<<2)>>2]=+g[y+(lb<<2)>>2]*q;lb=r|3;g[x+(lb<<2)>>2]=+g[y+(lb<<2)>>2]*q;r=r+4|0}while(1){if((p|0)>=(t|0))break;g[x+(p<<2)>>2]=+g[y+(p<<2)>>2]*q;p=p+1|0}lb=c[Ea>>2]|0;kb=c[z>>2]|0;p=c[Fa>>2]|0;r=kb;u=u+1|0;x=x+(lb+kb<<2)|0;y=y+(lb<<2)|0}nf(bb+144|0,0,p*20|0)|0;g[bb+708>>2]=0.0;c[f+4748>>2]=0}p=f+4756|0;if(!(c[p>>2]|0)){v=+nb(+(+g[bb+708>>2]/3.0))/1.0e4;v=v/(+g[Da>>2]*.75+.25)}else v=.009999999776482582;A=f+4732|0;y=c[A>>2]|0;x=(c[Ea>>2]|0)+y|0;z=f+4859|0;a[z>>0]=4;q=+Ae(Ga,Ma,v,x,c[Fa>>2]|0,y);y=f+4724|0;i:do if((c[y>>2]|0?(c[p>>2]|0)==0:0)?(c[Fa>>2]|0)==4:0){u=x<<1;q=q-+Ae(Ia,Ma+(u<<2)|0,v,x,2,c[A>>2]|0);Sd(Na,Ia,c[A>>2]|0);t=3;w=3402823466385288598117041.0e14;while(1){if((t|0)<=-1)break i;s=c[A>>2]|0;p=t<<16>>16;r=0;while(1){if((r|0)>=(s|0))break;lb=e[f+4592+(r<<1)>>1]|0;b[Ka+(r<<1)>>1]=lb+((_((e[Na+(r<<1)>>1]|0)-lb<<16>>16,p)|0)>>>2);r=r+1|0}ue(La,Ka,s);p=0;while(1){if((p|0)>=(s|0))break;g[Ia+(p<<2)>>2]=+(b[La+(p<<1)>>1]|0)*.000244140625;p=p+1|0}Rd(Ha,Ia,Ma,u,c[A>>2]|0);lb=c[A>>2]|0;kb=Ha+(lb<<2)|0;lb=x-lb|0;v=+Ud(kb,lb);v=v+ +Ud(kb+(x<<2)|0,lb);if(!(vw)break i}else{a[z>>0]=t;q=v}t=t+-1|0;w=v}}while(0);if((a[z>>0]|0)==4)Sd(Na,Ga,c[A>>2]|0);t=c[Aa>>2]<<16>>16;t=(_(t,-5)|0)+(t*59246>>16)+3146|0;t=t+((c[Fa>>2]|0)==2?t>>1:0)|0;we(Ka,Na,c[A>>2]|0);j:do if((c[y>>2]|0)==1?(Ja=a[z>>0]|0,Ja<<24>>24<4):0){p=Ja<<24>>24;r=c[A>>2]|0;s=0;while(1){if((s|0)>=(r|0))break;lb=e[f+4592+(s<<1)>>1]|0;b[La+(s<<1)>>1]=lb+((_((e[Na+(s<<1)>>1]|0)-lb<<16>>16,p)|0)>>>2);s=s+1|0}we(Qa,La,r);r=a[z>>0]|0;r=(_(r,r)|0)<<27;p=c[A>>2]|0;r=r>>16;s=0;while(1){if((s|0)>=(p|0)){r=1;break j}lb=Ka+(s<<1)|0;b[lb>>1]=((b[lb>>1]|0)>>>1)+((_(b[Qa+(s<<1)>>1]|0,r)|0)>>>16);s=s+1|0}}else r=0;while(0);De(f+4836|0,Na,c[f+4784>>2]|0,Ka,t,c[f+4752>>2]|0,a[Ra>>0]|0);p=Pa+32|0;ue(p,Na,c[A>>2]|0);if(r){p=a[z>>0]|0;r=c[A>>2]|0;s=0;while(1){if((s|0)>=(r|0))break;lb=e[f+4592+(s<<1)>>1]|0;b[La+(s<<1)>>1]=lb+((_((e[Na+(s<<1)>>1]|0)-lb<<16>>16,p)|0)>>>2);s=s+1|0}ue(Pa,La,r)}else rf(Pa|0,p|0,c[A>>2]<<1|0)|0;s=0;while(1){if((s|0)==2)break;p=c[A>>2]|0;r=0;while(1){if((r|0)>=(p|0))break;g[bb+16+(s<<6)+(r<<2)>>2]=+(b[Pa+(s<<5)+(r<<1)>>1]|0)*.000244140625;r=r+1|0}s=s+1|0}u=c[Ea>>2]|0;lb=c[Fa>>2]|0;p=c[A>>2]|0;r=Qa+(p<<2)|0;t=p+u|0;s=t<<1;Rd(Qa,bb+16|0,Ma,s,p);jb=+g[bb>>2];g[bb+712>>2]=jb*jb*+Ud(r,u);jb=+g[bb+4>>2];t=r+(t<<2)|0;g[bb+716>>2]=jb*jb*+Ud(t,u);if((lb|0)==4){Rd(Qa,bb+80|0,Ma+(s<<2)|0,s,p);jb=+g[bb+8>>2];g[bb+720>>2]=jb*jb*+Ud(r,u);jb=+g[bb+12>>2];g[bb+724>>2]=jb*jb*+Ud(t,u)}x=f+4592|0;p=Na;u=x+32|0;do{b[x>>1]=b[p>>1]|0;x=x+2|0;p=p+2|0}while((x|0)<(u|0));k:do if((a[Ra>>0]|0)==2){q=1.0-1.0/(+X(+-((+g[bb+708>>2]+-12.0)*.25))+1.0)*.5;p=c[Fa>>2]|0;r=0;while(1){if((r|0)>=(p|0)){r=p;break k}lb=bb+(r<<2)|0;g[lb>>2]=+g[lb>>2]*q;r=r+1|0}}else r=c[Fa>>2]|0;while(0);q=+nb(+((21.0-+(c[Ba>>2]|0)*.0078125)*.33000001311302185));q=q/+(c[Ea>>2]|0);p=0;while(1){if((p|0)>=(r|0)){p=0;break}lb=bb+(p<<2)|0;jb=+g[lb>>2];jb=+O(+(jb*jb+ +g[bb+712+(p<<2)>>2]*q));g[lb>>2]=jb<32767.0?jb:32767.0;p=p+1|0}while(1){if((p|0)>=(r|0))break;c[Pa+(p<<2)>>2]=~~(+g[bb+(p<<2)>>2]*65536.0);p=p+1|0}rf(bb+728|0,Pa|0,r<<2|0)|0;p=f+7260|0;la=bb+744|0;a[la>>0]=a[p>>0]|0;ma=f+4828|0;na=(m|0)==2;oa=na&1;ge(ma,Pa,p,oa,r);p=c[Fa>>2]|0;r=0;while(1){if((r|0)>=(p|0))break;g[bb+(r<<2)>>2]=+(c[Pa+(r<<2)>>2]|0)*.0000152587890625;r=r+1|0}s=a[Ra>>0]|0;do if(s<<24>>24==2){r=f+4858|0;if(+g[bb+708>>2]+ +(c[f+4804>>2]|0)*.000030517578125>1.0){a[r>>0]=0;ka=r;r=0;break}else{a[r>>0]=1;ka=r;r=1;break}}else{r=f+4858|0;ka=r;r=a[r>>0]|0}while(0);lb=c[Aa>>2]|0;ja=bb+692|0;g[ja>>2]=+(c[f+4720>>2]|0)*-.05000000074505806+1.2000000476837158+ +(lb|0)*-.20000000298023224*.00390625+ +g[Ca>>2]*-.10000000149011612+ +g[Da>>2]*-.20000000298023224+ +(b[25404+(s<<24>>24>>1<<2)+(r<<24>>24<<1)>>1]|0)*.0009765625*.800000011920929;ia=f+5840|0;r=c[ia>>2]|0;t=f+6192+(r*36|0)|0;if((c[f+6184>>2]|0)!=0&(lb|0)>77){c[f+4816+(r<<2)>>2]=1;rf(Qa|0,f+144|0,4448)|0;x=t;p=ma;u=x+36|0;do{b[x>>1]=b[p>>1]|0;x=x+2|0;p=p+2|0}while((x|0)<(u|0));s=c[Fa>>2]|0;rf(Oa|0,bb|0,s<<2|0)|0;p=c[ia>>2]|0;do if(!p)hb=544;else{if(!(c[f+4816+(p+-1<<2)>>2]|0)){hb=544;break}r=f+4632|0;p=s}while(0);if((hb|0)==544){r=f+4632|0;a[r>>0]=a[f+7260>>0]|0;p=(d[t>>0]|0)+(c[f+6188>>2]|0)|0;a[t>>0]=(p&255)<<24>>24<63?p&255:63;p=c[Fa>>2]|0}he(Pa,t,r,oa,p);p=c[Fa>>2]|0;r=0;while(1){if((r|0)>=(p|0))break;g[bb+(r<<2)>>2]=+(c[Pa+(r<<2)>>2]|0)*.0000152587890625;r=r+1|0}Td(f,bb,t,Qa,f+6300+((c[ia>>2]|0)*320|0)|0,Xa);p=c[Fa>>2]|0;rf(bb|0,Oa|0,p<<2|0)|0}s=0;r=0;while(1){if((r|0)>=(p|0))break;s=(a[f+4828+r>>0]|0)+(s<<8)|0;r=r+1|0}x=eb;p=l;u=x+48|0;do{c[x>>2]=c[p>>2];x=x+4|0;p=p+4|0}while((x|0)<(u|0));U=f+144|0;rf(cb|0,U|0,4448)|0;V=a[Va>>0]|0;W=f+5864|0;Y=b[W>>1]|0;Z=f+5860|0;$=c[Z>>2]|0;ba=f+7260|0;ca=n+-5|0;da=l+24|0;ea=l+28|0;fa=f+4828|0;ga=f+4864|0;ha=l+20|0;J=0;A=0;B=0;S=256;R=0;D=0;P=-1;z=-1;T=0;Q=0;E=0;r=0;while(1){y=(s|0)==(P|0);do if(!y){if((s|0)==(z|0)){p=E;hb=571;break}if((T|0)>0){x=l;p=eb;u=x+48|0;do{c[x>>2]=c[p>>2];x=x+4|0;p=p+4|0}while((x|0)<(u|0));rf(U|0,cb|0,4448)|0;a[Va>>0]=V;b[W>>1]=Y;c[Z>>2]=$}Td(f,bb,fa,U,ga,Xa);t=(T|0)==6;if(t&(A|0)==0){c[fb>>2]=c[l>>2];c[fb+4>>2]=c[l+4>>2];c[fb+8>>2]=c[l+8>>2];c[fb+12>>2]=c[l+12>>2];c[fb+16>>2]=c[l+16>>2];c[fb+20>>2]=c[l+20>>2];u=c[da>>2]|0;c[gb>>2]=c[ea>>2];c[gb+4>>2]=c[ea+4>>2];c[gb+8>>2]=c[ea+8>>2];c[gb+12>>2]=c[ea+12>>2];c[gb+16>>2]=c[ea+16>>2]}else u=r;Ad(f,l,c[ia>>2]|0,0,m);Bd(l,a[Ra>>0]|0,a[ka>>0]|0,ga,c[Ua>>2]|0);p=(c[ha>>2]|0)+((aa(c[ea>>2]|0)|0)+-32)|0;if(t&(A|0)==0&(p|0)>(n|0)){c[l>>2]=c[fb>>2];c[l+4>>2]=c[fb+4>>2];c[l+8>>2]=c[fb+8>>2];c[l+12>>2]=c[fb+12>>2];c[l+16>>2]=c[fb+16>>2];c[l+20>>2]=c[fb+20>>2];c[da>>2]=u;c[ea>>2]=c[gb>>2];c[ea+4>>2]=c[gb+4>>2];c[ea+8>>2]=c[gb+8>>2];c[ea+12>>2]=c[gb+12>>2];c[ea+16>>2]=c[gb+16>>2];p=a[la>>0]|0;a[ba>>0]=p;r=0;while(1){if((r|0)>=(c[Fa>>2]|0))break;a[f+4828+r>>0]=4;r=r+1|0}if(!na)a[ma>>0]=p;b[W>>1]=Y;c[Z>>2]=$;p=0;while(1){if((p|0)>=(c[Ua>>2]|0))break;a[f+4864+p>>0]=0;p=p+1|0}Ad(f,l,c[ia>>2]|0,0,m);Bd(l,a[Ra>>0]|0,a[ka>>0]|0,ga,c[Ua>>2]|0);p=(c[ha>>2]|0)+((aa(c[ea>>2]|0)|0)+-32)|0}if(T|o|0){r=u;hb=571;break}if((p|0)>(n|0))F=u;else break b}else{p=Q;hb=571}while(0);if((hb|0)==571){hb=0;if((T|0)==6)break;else F=r}G=(p|0)>(n|0);l:do if(G){if(A|0){B=1;y=R;D=S<<16>>16;x=P;z=s;u=Q;E=p;break}if((T|0)>1){jb=+g[ja>>2]*1.5;g[ja>>2]=jb>1.5?jb:1.5;a[ka>>0]=0;B=0;s=-1}else{B=1;D=S<<16>>16;E=p}u=c[Fa>>2]|0;x=(T|0)==0;z=0;m:while(1){if((z|0)>=(u|0)){A=0;y=R;x=P;z=s;u=Q;break l}t=c[Ea>>2]|0;y=z+1|0;r=_(y,t)|0;t=_(z,t)|0;A=0;while(1){if((t|0)>=(r|0))break;kb=a[f+4864+t>>0]|0;lb=kb<<24>>24;t=t+1|0;A=A+(kb<<24>>24>-1?lb:0-lb|0)|0}r=Za+(z<<2)|0;do if(!x){t=$a+(z<<2)|0;if((A|0)<(c[r>>2]|0)?(c[t>>2]|0)==0:0)break;c[t>>2]=1;z=y;continue m}while(0);c[r>>2]=A;b[Ya+(z<<1)>>1]=S;z=y}}else{if((p|0)>=(ca|0))break b;r=S<<16>>16;if(y){A=1;y=r;x=s;u=p;break};c[fb>>2]=c[l>>2];c[fb+4>>2]=c[l+4>>2];c[fb+8>>2]=c[l+8>>2];c[fb+12>>2]=c[l+12>>2];c[fb+16>>2]=c[l+16>>2];c[fb+20>>2]=c[l+20>>2];F=c[da>>2]|0;c[gb>>2]=c[ea>>2];c[gb+4>>2]=c[ea+4>>2];c[gb+8>>2]=c[ea+8>>2];c[gb+12>>2]=c[ea+12>>2];c[gb+16>>2]=c[ea+16>>2];rf(_a|0,c[l>>2]|0,F|0)|0;rf(db|0,U|0,4448)|0;J=a[ba>>0]|0;A=1;y=r;x=s;u=p}while(0);do if(!(A&B)){if(G){if(S<<16>>16>=16384){t=32767;break}t=S<<16>>16<<1&65535;break}r=(p-n<<7|0)/(c[Ua>>2]|0)|0;p=r+2048|0;do if((r|0)<-2048)p=0;else{if((p|0)>3966){p=2147483647;break}s=p>>7;t=1<>16)<>7;else p=_(t>>7,p+((_(_(p,128-p|0)|0,-174)|0)>>16)|0)|0;p=t+p|0}while(0);t=S<<16>>16;t=(_(p>>16,t)|0)+((_(p&65535,t)|0)>>>16)&65535}else{t=D-y|0;r=y+((_(t,n-u|0)|0)/(E-u|0)|0)|0;s=r<<16>>16;t=t>>2;p=y+t|0;if((s|0)<=(p|0)){p=D-t|0;p=(s|0)<(p|0)?p:r}t=p&65535}while(0);p=c[Fa>>2]|0;r=0;while(1){if((r|0)>=(p|0))break;if(!(c[$a+(r<<2)>>2]|0))s=t;else s=b[Ya+(r<<1)>>1]|0;kb=c[bb+728+(r<<2)>>2]|0;lb=s<<16>>16;lb=(_(kb>>16,lb)|0)+((_(kb&65535,lb)|0)>>16)|0;c[ab+(r<<2)>>2]=(lb|0)>8388607?2147483392:((lb|0)<-8388608?-8388608:lb)<<8;r=r+1|0}a[ba>>0]=a[la>>0]|0;ge(ma,ab,ba,oa,p);r=c[Fa>>2]|0;s=0;p=0;while(1){if((p|0)>=(r|0)){p=0;break}s=(a[f+4828+p>>0]|0)+(s<<8)|0;p=p+1|0}while(1){if((p|0)>=(r|0))break;g[bb+(p<<2)>>2]=+(c[ab+(p<<2)>>2]|0)*.0000152587890625;p=p+1|0}S=t;R=y;P=x;T=T+1|0;Q=u;r=F}if((A|0)!=0&(y|(p|0)>(n|0))){c[l>>2]=c[fb>>2];c[l+4>>2]=c[fb+4>>2];c[l+8>>2]=c[fb+8>>2];c[l+12>>2]=c[fb+12>>2];c[l+16>>2]=c[fb+16>>2];c[l+20>>2]=c[fb+20>>2];c[da>>2]=r;c[ea>>2]=c[gb>>2];c[ea+4>>2]=c[gb+4>>2];c[ea+8>>2]=c[gb+8>>2];c[ea+12>>2]=c[gb+12>>2];c[ea+16>>2]=c[gb+16>>2];rf(c[l>>2]|0,_a|0,r|0)|0;rf(U|0,db|0,4448)|0;a[ba>>0]=J}}while(0);sf(f+7272|0,f+7272+(c[Ua>>2]<<2)|0,(c[Wa>>2]|0)+((c[Ta>>2]|0)*5|0)<<2|0)|0;if(c[Sa>>2]|0){lb=0;c[j>>2]=lb;i=ib;return 0}c[f+4636>>2]=c[bb+228+((c[f+4672>>2]|0)+-1<<2)>>2];a[f+4633>>0]=a[f+4857>>0]|0;c[f+4756>>2]=0;lb=(c[l+20>>2]|0)+((aa(c[l+28>>2]|0)|0)+-32)+7>>3;c[j>>2]=lb;i=ib;return 0}function Rd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;switch(e|0){case 6:{f=b+4|0;h=b+8|0;i=b+12|0;j=b+16|0;k=b+20|0;l=6;while(1){if((l|0)>=(d|0))break;v=c+(l+-1<<2)|0;g[a+(l<<2)>>2]=+g[v+4>>2]-(+g[v>>2]*+g[b>>2]+ +g[v+-4>>2]*+g[f>>2]+ +g[v+-8>>2]*+g[h>>2]+ +g[v+-12>>2]*+g[i>>2]+ +g[v+-16>>2]*+g[j>>2]+ +g[v+-20>>2]*+g[k>>2]);l=l+1|0}c=e<<2;nf(a|0,0,c|0)|0;return}case 8:{f=b+4|0;h=b+8|0;i=b+12|0;j=b+16|0;k=b+20|0;l=b+24|0;m=b+28|0;n=8;while(1){if((n|0)>=(d|0))break;v=c+(n+-1<<2)|0;g[a+(n<<2)>>2]=+g[v+4>>2]-(+g[v>>2]*+g[b>>2]+ +g[v+-4>>2]*+g[f>>2]+ +g[v+-8>>2]*+g[h>>2]+ +g[v+-12>>2]*+g[i>>2]+ +g[v+-16>>2]*+g[j>>2]+ +g[v+-20>>2]*+g[k>>2]+ +g[v+-24>>2]*+g[l>>2]+ +g[v+-28>>2]*+g[m>>2]);n=n+1|0}c=e<<2;nf(a|0,0,c|0)|0;return}case 10:{f=b+4|0;h=b+8|0;i=b+12|0;j=b+16|0;k=b+20|0;l=b+24|0;m=b+28|0;n=b+32|0;o=b+36|0;p=10;while(1){if((p|0)>=(d|0))break;v=c+(p+-1<<2)|0;g[a+(p<<2)>>2]=+g[v+4>>2]-(+g[v>>2]*+g[b>>2]+ +g[v+-4>>2]*+g[f>>2]+ +g[v+-8>>2]*+g[h>>2]+ +g[v+-12>>2]*+g[i>>2]+ +g[v+-16>>2]*+g[j>>2]+ +g[v+-20>>2]*+g[k>>2]+ +g[v+-24>>2]*+g[l>>2]+ +g[v+-28>>2]*+g[m>>2]+ +g[v+-32>>2]*+g[n>>2]+ +g[v+-36>>2]*+g[o>>2]);p=p+1|0}c=e<<2;nf(a|0,0,c|0)|0;return}case 12:{f=b+4|0;h=b+8|0;i=b+12|0;j=b+16|0;k=b+20|0;l=b+24|0;m=b+28|0;n=b+32|0;o=b+36|0;p=b+40|0;q=b+44|0;r=12;while(1){if((r|0)>=(d|0))break;v=c+(r+-1<<2)|0;g[a+(r<<2)>>2]=+g[v+4>>2]-(+g[v>>2]*+g[b>>2]+ +g[v+-4>>2]*+g[f>>2]+ +g[v+-8>>2]*+g[h>>2]+ +g[v+-12>>2]*+g[i>>2]+ +g[v+-16>>2]*+g[j>>2]+ +g[v+-20>>2]*+g[k>>2]+ +g[v+-24>>2]*+g[l>>2]+ +g[v+-28>>2]*+g[m>>2]+ +g[v+-32>>2]*+g[n>>2]+ +g[v+-36>>2]*+g[o>>2]+ +g[v+-40>>2]*+g[p>>2]+ +g[v+-44>>2]*+g[q>>2]);r=r+1|0}c=e<<2;nf(a|0,0,c|0)|0;return}case 16:{f=b+4|0;h=b+8|0;n=b+12|0;o=b+16|0;p=b+20|0;q=b+24|0;r=b+28|0;s=b+32|0;t=b+36|0;u=b+40|0;i=b+44|0;j=b+48|0;k=b+52|0;l=b+56|0;m=b+60|0;v=16;while(1){if((v|0)>=(d|0))break;w=c+(v+-1<<2)|0;g[a+(v<<2)>>2]=+g[w+4>>2]-(+g[w>>2]*+g[b>>2]+ +g[w+-4>>2]*+g[f>>2]+ +g[w+-8>>2]*+g[h>>2]+ +g[w+-12>>2]*+g[n>>2]+ +g[w+-16>>2]*+g[o>>2]+ +g[w+-20>>2]*+g[p>>2]+ +g[w+-24>>2]*+g[q>>2]+ +g[w+-28>>2]*+g[r>>2]+ +g[w+-32>>2]*+g[s>>2]+ +g[w+-36>>2]*+g[t>>2]+ +g[w+-40>>2]*+g[u>>2]+ +g[w+-44>>2]*+g[i>>2]+ +g[w+-48>>2]*+g[j>>2]+ +g[w+-52>>2]*+g[k>>2]+ +g[w+-56>>2]*+g[l>>2]+ +g[w+-60>>2]*+g[m>>2]);v=v+1|0}w=e<<2;nf(a|0,0,w|0)|0;return}default:{w=e<<2;nf(a|0,0,w|0)|0;return}}}function Sd(a,d,f){a=a|0;d=d|0;f=f|0;var h=0,j=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=i;i=i+176|0;O=T+124|0;Q=T+72|0;P=T+64|0;R=T;j=0;while(1){if((j|0)>=(f|0))break;l=+g[d+(j<<2)>>2]*65536.0;h=(g[k>>2]=l,c[k>>2]|0);if((h&2130706432)>>>0<=1249902592){h=(h|0)<0;l=h?l+-8388608.0+8388608.0:l+8388608.0+-8388608.0;if(l==0.0)l=h?-0.0:0.0}c[R+(j<<2)>>2]=~~l;j=j+1|0}c[P>>2]=O;c[P+4>>2]=Q;L=f>>1;M=O+(L<<2)|0;c[M>>2]=65536;N=Q+(L<<2)|0;c[N>>2]=65536;h=0;while(1){if((L|0)<=(h|0))break;K=c[R+(L-h+-1<<2)>>2]|0;J=c[R+(h+L<<2)>>2]|0;c[O+(h<<2)>>2]=0-K-J;c[Q+(h<<2)>>2]=J-K;h=h+1|0}h=L;while(1){if((h|0)<=0){h=2;break}K=h+-1|0;J=O+(K<<2)|0;c[J>>2]=(c[J>>2]|0)-(c[O+(h<<2)>>2]|0);J=Q+(K<<2)|0;c[J>>2]=(c[J>>2]|0)+(c[Q+(h<<2)>>2]|0);h=K}while(1){if((h|0)>(L|0)){h=2;break}else j=L;while(1){if((j|0)<=(h|0))break;K=O+(j+-2<<2)|0;c[K>>2]=(c[K>>2]|0)-(c[O+(j<<2)>>2]|0);j=j+-1|0}K=O+(h+-2<<2)|0;c[K>>2]=(c[K>>2]|0)-(c[O+(h<<2)>>2]<<1);h=h+1|0}while(1){if((h|0)>(L|0))break;else j=L;while(1){if((j|0)<=(h|0))break;K=Q+(j+-2<<2)|0;c[K>>2]=(c[K>>2]|0)-(c[Q+(j<<2)>>2]|0);j=j+-1|0}K=Q+(h+-2<<2)|0;c[K>>2]=(c[K>>2]|0)-(c[Q+(h<<2)>>2]<<1);h=h+1|0}h=c[M>>2]|0;K=(L|0)==8;a:do if(K)h=(c[O>>2]|0)+((c[O+4>>2]|0)+((c[O+8>>2]|0)+((c[O+12>>2]|0)+((c[O+16>>2]|0)+((c[O+20>>2]|0)+((c[O+24>>2]|0)+((c[O+28>>2]|0)+(h<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;else{d=L;while(1){j=d+-1|0;if((d|0)<=0)break a;d=j;h=(c[O+(j<<2)>>2]|0)+(h<<1)|0}}while(0);b:do if((h|0)<0){b[a>>1]=0;h=c[N>>2]|0;if(K){j=Q;d=1;h=(c[Q>>2]|0)+((c[Q+4>>2]|0)+((c[Q+8>>2]|0)+((c[Q+12>>2]|0)+((c[Q+16>>2]|0)+((c[Q+20>>2]|0)+((c[Q+24>>2]|0)+((c[Q+28>>2]|0)+(h<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;break}else d=L;while(1){j=d+-1|0;if((d|0)<=0){j=Q;d=1;break b}d=j;h=(c[Q+(j<<2)>>2]|0)+(h<<1)|0}}else{j=O;d=0}while(0);w=O+28|0;x=O+24|0;y=O+20|0;z=O+16|0;A=O+12|0;B=O+8|0;C=O+4|0;D=Q+28|0;E=Q+24|0;F=Q+20|0;G=Q+16|0;H=Q+12|0;I=Q+8|0;J=Q+4|0;v=0;c:while(1){o=1;m=0;n=8192;d:while(1){u=o;while(1){o=b[27508+(u<<1)>>1]|0;p=pe(j,o,L)|0;if((h|0)<1){if((p|0)>=(m|0))break;if(!((h|0)<0|(p|0)>(0-m|0)))break}else if((p|0)<=(0-m|0))break;if((u|0)>127)break d;else{u=u+1|0;m=0;n=o;h=p}}m=(p|0)==0&1;s=-256;t=0;while(1){if((t|0)==3)break;q=n+o|0;q=(q>>1)+(q&1)|0;r=pe(j,q,L)|0;if((h|0)<1)if((r&h|0)>-1){o=q;p=r}else S=42;else if((r|0)<1){o=q;p=r}else S=42;if((S|0)==42){S=0;s=s+(128>>>t)|0;n=q;h=r}t=t+1|0}j=h-p|0;if((((h|0)>0?h:0-h|0)|0)<65536)if((h|0)==(p|0))h=s;else h=s+(((h<<5)+(j>>1)|0)/(j|0)|0)|0;else h=s+((h|0)/(j>>5|0)|0)|0;h=(u<<8)+h|0;b[a+(d<<1)>>1]=(h|0)<32767?h:32767;h=d+1|0;if((h|0)>=(f|0)){S=77;break c}o=u;j=c[P+((h&1)<<2)>>2]|0;d=h;n=b[27508+(u+-1<<1)>>1]|0;h=1-(h&2)<<12}m=v+1|0;if((v|0)>15)break;re(R,f,65536-(1<>2]=65536;c[N>>2]=65536;h=0;while(1){if((L|0)<=(h|0)){h=L;break}v=c[R+(L-h+-1<<2)>>2]|0;u=c[R+(h+L<<2)>>2]|0;c[O+(h<<2)>>2]=0-v-u;c[Q+(h<<2)>>2]=u-v;h=h+1|0}while(1){if((h|0)<=0){h=2;break}v=h+-1|0;u=O+(v<<2)|0;c[u>>2]=(c[u>>2]|0)-(c[O+(h<<2)>>2]|0);u=Q+(v<<2)|0;c[u>>2]=(c[u>>2]|0)+(c[Q+(h<<2)>>2]|0);h=v}while(1){if((h|0)>(L|0)){h=2;break}else j=L;while(1){if((j|0)<=(h|0))break;v=O+(j+-2<<2)|0;c[v>>2]=(c[v>>2]|0)-(c[O+(j<<2)>>2]|0);j=j+-1|0}v=O+(h+-2<<2)|0;c[v>>2]=(c[v>>2]|0)-(c[O+(h<<2)>>2]<<1);h=h+1|0}while(1){if((h|0)>(L|0))break;else j=L;while(1){if((j|0)<=(h|0))break;v=Q+(j+-2<<2)|0;c[v>>2]=(c[v>>2]|0)-(c[Q+(j<<2)>>2]|0);j=j+-1|0}v=Q+(h+-2<<2)|0;c[v>>2]=(c[v>>2]|0)-(c[Q+(h<<2)>>2]<<1);h=h+1|0}h=c[M>>2]|0;e:do if(K)h=(c[O>>2]|0)+((c[C>>2]|0)+((c[B>>2]|0)+((c[A>>2]|0)+((c[z>>2]|0)+((c[y>>2]|0)+((c[x>>2]|0)+((c[w>>2]|0)+(h<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;else{d=L;while(1){j=d+-1|0;if((d|0)<=0)break e;d=j;h=(c[O+(j<<2)>>2]|0)+(h<<1)|0}}while(0);if((h|0)>=0){v=m;j=O;d=0;continue}b[a>>1]=0;h=c[N>>2]|0;if(K){v=m;j=Q;d=1;h=(c[Q>>2]|0)+((c[J>>2]|0)+((c[I>>2]|0)+((c[H>>2]|0)+((c[G>>2]|0)+((c[F>>2]|0)+((c[E>>2]|0)+((c[D>>2]|0)+(h<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;continue}else d=L;while(1){j=d+-1|0;if((d|0)<=0){v=m;j=Q;d=1;continue c}d=j;h=(c[Q+(j<<2)>>2]|0)+(h<<1)|0}}if((S|0)==77){i=T;return}h=32768/(f+1|0)|0;b[a>>1]=h;j=1;while(1){if((j|0)>=(f|0))break;S=(h&65535)+(e[a>>1]|0)|0;b[a+(j<<1)>>1]=S;h=S;j=j+1|0}i=T;return}function Td(d,e,f,h,j,l){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;var m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+1008|0;D=E+360|0;x=E+48|0;B=E+296|0;A=E+256|0;w=E+64|0;z=E+32|0;C=E+16|0;y=E;v=c[d+4672>>2]|0;p=d+4728|0;t=0;while(1){if((t|0)>=(v|0)){q=0;break}q=c[p>>2]|0;r=t*24|0;u=0;while(1){if((u|0)>=(q|0))break;s=r+u|0;m=+g[e+244+(s<<2)>>2]*8192.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}b[w+(s<<1)>>1]=~~m;u=u+1|0}t=t+1|0}while(1){if((q|0)>=(v|0))break;m=+g[e+644+(q<<2)>>2]*16384.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}p=~~m<<16;m=+g[e+628+(q<<2)>>2]*16384.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}c[z+(q<<2)>>2]=p|~~m&65535;m=+g[e+660+(q<<2)>>2]*16384.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}c[C+(q<<2)>>2]=~~m;m=+g[e+676+(q<<2)>>2]*16384.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}c[y+(q<<2)>>2]=~~m;q=q+1|0}m=+g[e+692>>2]*1024.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}p=v*5|0;q=0;while(1){if((q|0)>=(p|0))break;o=+g[e+144+(q<<2)>>2]*16384.0;n=(g[k>>2]=o,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;o=n?o+-8388608.0+8388608.0:o+8388608.0+-8388608.0;if(o==0.0)o=n?-0.0:0.0}b[A+(q<<1)>>1]=~~o;q=q+1|0}t=~~m;p=d+4732|0;s=0;while(1){if((s|0)==2){p=0;break}q=c[p>>2]|0;r=0;while(1){if((r|0)>=(q|0))break;m=+g[e+16+(s<<6)+(r<<2)>>2]*4096.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}b[B+(s<<5)+(r<<1)>>1]=~~m;r=r+1|0}s=s+1|0}while(1){if((p|0)>=(v|0))break;m=+g[e+(p<<2)>>2]*65536.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}c[x+(p<<2)>>2]=~~m;p=p+1|0}if((a[f+29>>0]|0)==2)q=b[25412+(a[f+33>>0]<<1)>>1]|0;else q=0;p=c[d+4676>>2]|0;r=0;while(1){if((r|0)>=(p|0))break;m=+g[l+(r<<2)>>2];n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}b[D+(r<<1)>>1]=~~m;r=r+1|0}if((c[d+4720>>2]|0)<=1?(c[d+4764>>2]|0)<=0:0){je(d,h,f,D,j,B,A,w,y,C,z,x,e+228|0,t,q);i=E;return}ke(d,h,f,D,j,B,A,w,y,C,z,x,e+228|0,t,q);i=E;return}function Ud(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0;e=b+-3|0;d=((e|0)>0?e:0)+3&-4;f=0;c=0.0;while(1){if((f|0)>=(e|0))break;k=+g[a+(f<<2)>>2];j=+g[a+((f|1)<<2)>>2];i=+g[a+((f|2)<<2)>>2];h=+g[a+((f|3)<<2)>>2];f=f+4|0;c=c+(k*k+j*j+i*i+h*h)}while(1){if((d|0)>=(b|0))break;k=+g[a+(d<<2)>>2];d=d+1|0;c=c+k*k}return +c}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,h=0,i=0.0,j=0,k=0,l=0;f=c+-3|0;e=((f|0)>0?f:0)+3&-4;h=0;d=0.0;while(1){if((h|0)>=(f|0))break;l=h|1;k=h|2;j=h|3;i=d+(+g[a+(h<<2)>>2]*+g[b+(h<<2)>>2]+ +g[a+(l<<2)>>2]*+g[b+(l<<2)>>2]+ +g[a+(k<<2)>>2]*+g[b+(k<<2)>>2]+ +g[a+(j<<2)>>2]*+g[b+(j<<2)>>2]);h=h+4|0;d=i}while(1){if((e|0)>=(c|0))break;i=d+ +g[a+(e<<2)>>2]*+g[b+(e<<2)>>2];e=e+1|0;d=i}return +d}function Wd(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;if((j|0)==0|(f|0)<0){j=-1;return j|0}if(!f){j=-4;return j|0}S=a[e>>0]|0;do if(S<<24>>24>=0){if((S&96)==96){o=(S&8)==0?480:960;break}n=(S&255)>>>3&3;if((n|0)==3)o=2880;else o=(48e3<>>0)/100|0}else o=(48e3<<((S&255)>>>3&3)>>>0)/400|0;while(0);q=e+1|0;x=f+-1|0;a:do switch(S&3|0){case 0:{C=q;D=x;E=0;F=1;p=x;A=0;u=47;break}case 1:{if(!g)if(!(x&1)){I=(x|0)/2|0;b[j>>1]=I;G=q;H=2;J=0;u=61;break a}else{j=-4;return j|0}else{N=q;M=x;O=1;Q=2;P=x;R=0;u=48}break}case 2:{if((f|0)<2){b[j>>1]=-1;j=-4;return j|0}n=a[q>>0]|0;do if((n&255)<252){o=1;n=n&255}else{if((f|0)>=3){o=2;n=(d[e+2>>0]<<2)+(n&255)&65535;break}b[j>>1]=-1;j=-4;return j|0}while(0);b[j>>1]=n;f=x-o|0;n=n<<16>>16;if((f|0)<(n|0)){j=-4;return j|0}else{C=q+o|0;D=f;E=0;F=2;p=f-n|0;A=0;u=47;break a}}default:{if((f|0)<2){j=-4;return j|0}n=e+2|0;t=a[q>>0]|0;B=t&63;if((B|0)==0|(_(o,B)|0)>>>0>5760){j=-4;return j|0}o=f+-2|0;if(t&64){q=0;while(1){if((o|0)<1){y=-4;u=74;break}s=n+1|0;r=a[n>>0]|0;if(r<<24>>24!=-1)break;n=s;o=o+-255|0;q=q+254|0}if((u|0)==74)return y|0;f=r&255;n=o+-1-f|0;if((n|0)<0){j=-4;return j|0}else{r=n;w=q+f|0}}else{s=n;r=o;w=0}u=(t&255)>>>7;v=u&255^1;if(u<<24>>24!=1){if(g|0){N=s;M=r;O=v;Q=B;P=x;R=w;u=48;break a}p=(r|0)/(B|0)|0;if((_(p,B)|0)!=(r|0)){j=-4;return j|0}n=B+-1|0;o=p&65535;f=0;while(1){if((f|0)>=(n|0)){C=s;D=r;E=v;F=B;A=w;u=47;break a}b[j+(f<<1)>>1]=o;f=f+1|0}}u=B+-1|0;t=r;q=0;while(1){if((q|0)>=(u|0)){u=41;break}z=j+(q<<1)|0;if((t|0)<1){u=33;break}n=a[s>>0]|0;if((n&255)<252){n=n&255;b[z>>1]=n;o=1}else{if((t|0)<2){u=37;break}n=(d[s+1>>0]<<2)+(n&255)&65535;b[z>>1]=n;o=2}f=t-o|0;n=n<<16>>16;if((n|0)>(f|0)){y=-4;u=74;break}s=s+o|0;t=f;q=q+1|0;r=r-(o+n)|0}if((u|0)==33){b[z>>1]=-1;j=-4;return j|0}else if((u|0)==37){b[z>>1]=-1;j=-4;return j|0}else if((u|0)==41){if((r|0)<0)y=-4;else{C=s;D=t;E=v;F=B;p=r;A=w;u=47;break a}return y|0}else if((u|0)==74)return y|0}}while(0);if((u|0)==47)if(!g){G=C;H=F;I=p;J=A;u=61}else{N=C;M=D;O=E;Q=F;P=p;R=A;u=48}b:do if((u|0)==48){m=j+(Q<<1)+-2|0;if((M|0)<1){b[m>>1]=-1;j=-4;return j|0}n=a[N>>0]|0;do if((n&255)<252){L=n&255;b[m>>1]=L;f=1;m=L}else{if((M|0)>=2){L=(d[N+1>>0]<<2)+(n&255)&65535;b[m>>1]=L;f=2;m=L;break}b[m>>1]=-1;j=-4;return j|0}while(0);o=M-f|0;p=Q+-1|0;q=j+(p<<1)|0;n=m<<16>>16;if((n|0)>(o|0)){j=-4;return j|0}m=N+f|0;if(!O){if((f+n|0)>(P|0))y=-4;else{K=Q;L=R;break}return y|0}if((_(n,Q)|0)>(o|0)){j=-4;return j|0}else n=0;while(1){if((n|0)>=(p|0)){K=Q;L=R;break b}b[j+(n<<1)>>1]=b[q>>1]|0;n=n+1|0}}else if((u|0)==61)if((I|0)>1275){j=-4;return j|0}else{b[j+(H+-1<<1)>>1]=I;m=G;K=H;L=J;break}while(0);if(k|0)c[k>>2]=m-e;o=(i|0)==0;n=0;while(1){if((n|0)>=(K|0))break;if(!o)c[i+(n<<2)>>2]=m;m=m+(b[j+(n<<1)>>1]|0)|0;n=n+1|0}if(l|0)c[l>>2]=L+(m-e);if(!h){j=K;return j|0}a[h>>0]=S;j=K;return j|0}function Xd(a,c,d,e,f,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0.0,o=0,p=0,q=0;q=_(c,j)|0;c=_(b[a+(i<<1)>>1]|0,j)|0;if((k|0)!=1){p=(q|0)/(k|0)|0;c=(c|0)<(p|0)?c:p}o=(l|0)==0;p=o?i:0;m=o?h:0;o=o?c:0;k=a+(m<<1)|0;c=b[k>>1]|0;h=_(c<<16>>16,j)|0;i=e;l=0;while(1){if((l|0)>=(_(c<<16>>16,j)|0))break;g[i>>2]=0.0;c=b[k>>1]|0;i=i+4|0;l=l+1|0}c=m;k=d+(h<<2)|0;a:while(1){if((c|0)>=(p|0))break;l=_(b[a+(c<<1)>>1]|0,j)|0;m=c+1|0;d=_(b[a+(m<<1)>>1]|0,j)|0;n=+X(+((+g[f+(c<<2)>>2]+ +g[17220+(c<<2)>>2])*.6931471805599453));h=i;c=l;l=k;while(1){k=l+4|0;i=h+4|0;g[h>>2]=+g[l>>2]*n;c=c+1|0;if((c|0)<(d|0)){h=i;l=k}else{c=m;continue a}}}nf(e+(o<<2)|0,0,q-o<<2|0)|0;return}function Yd(e,f,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B){e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;var C=0,D=0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0.0;Oa=i;i=i+1520|0;Ia=Oa+192|0;La=Oa+24|0;Ma=Oa;Na=Oa+144|0;Ja=Oa+92|0;Ka=Oa+40|0;Ha=Oa+244|0;Da=c[f+32>>2]|0;Ga=l|0?2:1;D=(e|0)==0;if(D){Ba=0;Ca=1}else{za=(l|0)!=0&(r|0)==0;Ca=(A|0)>7;Ba=za&Ca;Ca=za&Ca}ta=(p|0)==0?1:1<>1]<>2]|0;p=b[Da+(A+-1<<1)>>1]|0;C=p<>1]|0)-p<>2]=n;c[Ia+28>>2]=w;c[Ia>>2]=e;c[Ia+16>>2]=s;c[Ia+8>>2]=f;na=Ia+40|0;c[na>>2]=c[z>>2];c[Ia+20>>2]=q;c[Ia+44>>2]=B;c[Ia+4>>2]=Ca&1;fa=Ia+48|0;c[fa>>2]=0;ga=Ia+12|0;ha=j+-1|0;ia=(l|0)==0;ja=w+20|0;ka=w+28|0;la=Ia+32|0;ma=Ia+24|0;Z=f+12|0;$=(1<1;Y=h;B=0;C=1;while(1){if((Y|0)>=(j|0))break;c[ga>>2]=Y;R=(Y|0)==(ha|0);S=Da+(Y<<1)|0;W=b[S>>1]<>1]<>2]|0;A=32-(aa(T|0)|0)|0;T=T>>>(A+-16|0);X=(T>>>12)+-8|0;X=(c[ja>>2]<<3)-((A<<3)+(X+(T>>>0>(c[5272+(X<<2)>>2]|0)>>>0&1)))|0;T=v-((Y|0)==(h|0)?0:X)|0;A=u-X|0;c[la>>2]=A+-1;if((Y|0)<(y|0)?(Ea=y-Y|0,Ea=(c[o+(Y<<2)>>2]|0)+((T|0)/(((Ea|0)>3?3:Ea)|0)|0)|0,Fa=(A|0)<(Ea|0),!(((Fa?A:Ea)|0)<16384&((Fa?A:Ea)|0)<0)):0)U=((Fa?A:Ea)|0)>16383?16383:Fa?A:Ea;else U=0;if(Ca?((b[S>>1]<=(b[ua>>1]<>2]|0;c[ma>>2]=M;Q=(Y|0)<(c[Z>>2]|0);p=Q?p:0;P=Q?D:xa;Q=Q?e:ia?0:xa;p=R?(Ba?p:0):p;if((B|0)!=0?(q|0)!=3|ea|(M|0)<0:0){f=(b[Da+(B<<1)>>1]<>1]<(A|0));A=A+W|0;e=B+-1|0;while(1){C=e+1|0;if((b[Da+(C<<1)>>1]<>0];C=C|d[m+(M+Ga+-1)>>0];if((D|0)<(e|0))D=D+1|0;else{D=A;G=C;break}}}else{f=-1;D=$;G=$}a:do if(r)if((Y|0)==(s|0)){if(!Ca){Aa=31;break}A=Da+(s<<1)|0;C=0;while(1){if((C|0)>=((b[A>>1]<>2]=(+g[Aa>>2]+ +g[za+(C<<2)>>2])*.5;C=C+1|0}}else{v=(U|0)/2|0;C=(f|0)==-1;A=C?0:xa+(f<<2)|0;if(R){A=Zd(Ia,P,W,v,ta,A,x,0,1.0,p,D)|0;D=C?0:za+(f<<2)|0;C=0}else{A=Zd(Ia,P,W,v,ta,A,x,xa+(b[S>>1]<>1]<>1]<>2]=0;if(R)A=0;else A=xa+(b[S>>1]<>2];O=+g[n+(Y+(c[wa>>2]|0)<<2)>>2];I=(N>2]|0;r=c[ba>>2]|0;c[La>>2]=c[ca>>2];c[La+4>>2]=c[ca+4>>2];c[La+8>>2]=c[ca+8>>2];c[La+12>>2]=c[ca+12>>2];v=c[da>>2]|0;c[Ma>>2]=c[ka>>2];c[Ma+4>>2]=c[ka+4>>2];c[Ma+8>>2]=c[ka+8>>2];c[Ma+12>>2]=c[ka+12>>2];c[Ma+16>>2]=c[ka+16>>2];A=Ja;C=Ia;D=A+52|0;do{c[A>>2]=c[C>>2];A=A+4|0;C=C+4|0}while((A|0)<(D|0));L=W<<2;rf(oa|0,P|0,L|0)|0;rf(pa|0,Q|0,L|0)|0;c[fa>>2]=-1;H=(f|0)==-1;if(R)A=0;else A=xa+(b[S>>1]<=(W|0)){A=0;E=0.0;break}I=F+ +g[oa+(A<<2)>>2]*+g[P+(A<<2)>>2];A=A+1|0;F=I}while(1){if((A|0)>=(W|0))break;I=E+ +g[pa+(A<<2)>>2]*+g[Q+(A<<2)>>2];A=A+1|0;E=I}I=N*F+O*E;A=Na;C=w;D=A+48|0;do{c[A>>2]=c[C>>2];A=A+4|0;C=C+4|0}while((A|0)<(D|0));A=Ka;C=Ia;D=A+52|0;do{c[A>>2]=c[C>>2];A=A+4|0;C=C+4|0}while((A|0)<(D|0));rf(qa|0,P|0,L|0)|0;rf(ra|0,Q|0,L|0)|0;if(!R)rf(sa|0,xa+(b[S>>1]<>2]=e;c[ba>>2]=r;c[ca>>2]=c[La>>2];c[ca+4>>2]=c[La+4>>2];c[ca+8>>2]=c[La+8>>2];c[ca+12>>2]=c[La+12>>2];c[da>>2]=v;c[ka>>2]=c[Ma>>2];c[ka+4>>2]=c[Ma+4>>2];c[ka+8>>2]=c[Ma+8>>2];c[ka+12>>2]=c[Ma+12>>2];c[ka+16>>2]=c[Ma+16>>2];A=Ia;C=Ja;D=A+48|0;do{c[A>>2]=c[C>>2];A=A+4|0;C=C+4|0}while((A|0)<(D|0));rf(P|0,oa|0,L|0)|0;rf(Q|0,pa|0,L|0)|0;c[fa>>2]=1;if(R)A=0;else A=xa+(b[S>>1]<=(W|0)){A=0;E=0.0;break}E=F+ +g[oa+(A<<2)>>2]*+g[P+(A<<2)>>2];A=A+1|0;F=E}while(1){if((A|0)>=(W|0))break;Pa=E+ +g[pa+(A<<2)>>2]*+g[Q+(A<<2)>>2];A=A+1|0;E=Pa}if(!(I>=N*F+O*E)){r=0;e=C;A=C}else{A=w;C=Na;D=A+48|0;do{c[A>>2]=c[C>>2];A=A+4|0;C=C+4|0}while((A|0)<(D|0));A=Ia;C=Ka;D=A+52|0;do{c[A>>2]=c[C>>2];A=A+4|0;C=C+4|0}while((A|0)<(D|0));rf(P|0,qa|0,L|0)|0;rf(Q|0,ra|0,L|0)|0;if(!R)rf(xa+(b[S>>1]<>0]=e;a[m+(v+Ga+-1)>>0]=A;v=T+((c[o+(Y<<2)>>2]|0)+X)|0;Y=V;C=(U|0)>(W<<3|0)&1}c[z>>2]=c[na>>2];i=Oa;return}function Zd(b,e,f,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=+m;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0;p=c[b>>2]|0;v=c[b+24>>2]|0;y=(i|0)==1&1;u=(f>>>0)/(i>>>0)|0;if((f|0)==1){w=c[b+28>>2]|0;z=b+32|0;x=w+12|0;k=w+16|0;h=w+20|0;v=w+8|0;i=w+4|0;s=w+24|0;t=w+44|0;y=b+4|0;if((c[z>>2]|0)>7){if(!p){n=c[x>>2]|0;j=c[k>>2]|0;if(!j){p=c[i>>2]|0;o=c[v>>2]|0;q=0;do{if(o>>>0

>>0){j=o+1|0;c[v>>2]=j;o=j;j=d[(c[w>>2]|0)+(p-j)>>0]|0}else j=0;n=n|j<>>1}else{u=+g[e>>2]<0.0&1;n=c[x>>2]|0;p=c[k>>2]|0;if((p+1|0)>>>0>32){q=7-p|0;q=p+((q|0)>-8?q:-8)&-8;r=p;do{j=c[v>>2]|0;o=c[i>>2]|0;if(((c[s>>2]|0)+j|0)>>>0>>0){j=j+1|0;c[v>>2]=j;a[(c[w>>2]|0)+(o-j)>>0]=n;j=0}else j=-1;c[t>>2]=c[t>>2]|j;n=n>>>8;r=r+-8|0}while((r|0)>7);p=p+-8-q|0}j=u;o=p+1|0;n=n|u<>2]=n;c[k>>2]=o;c[h>>2]=(c[h>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-8}else j=0;if(c[y>>2]|0)g[e>>2]=j|0?-1.0:1.0;if(!l){l=1;return l|0}c[l>>2]=c[e>>2];l=1;return l|0}z=(v|0)>0?v:0;do if(n)if(!j)n=0;else{if((z|0)==0?!((u&1|0)==0&(v|0)<0|(i|0)>1):0){n=j;break}rf(n|0,j|0,f<<2|0)|0}else n=j;while(0);w=(p|0)==0;x=(n|0)==0;t=0;while(1){if((t|0)>=(z|0))break;a:do if(!w){j=1<>t>>1;q=j<<1;r=0;while(1){if((r|0)<(j|0))s=0;else break a;while(1){if((s|0)>=(p|0))break;D=e+((_(q,s)|0)+r<<2)|0;C=+g[D>>2]*.7071067690849304;A=e+(((s<<1|1)<>2]*.7071067690849304;g[D>>2]=C+B;g[A>>2]=C-B;s=s+1|0}r=r+1|0}}while(0);b:do if(!x){j=1<>t>>1;q=j<<1;r=0;while(1){if((r|0)<(j|0))s=0;else break b;while(1){if((s|0)>=(p|0))break;A=n+((_(q,s)|0)+r<<2)|0;B=+g[A>>2]*.7071067690849304;D=n+(((s<<1|1)<>2]*.7071067690849304;g[A>>2]=B+C;g[D>>2]=B-C;s=s+1|0}r=r+1|0}}while(0);o=d[31165+(o&15)>>0]|0|(d[31165+(o>>4)>>0]|0)<<2;t=t+1|0}i=i>>z;t=o;j=u<>1;p=i<<1;q=0;while(1){if((q|0)<(i|0))r=0;else break c;while(1){if((r|0)>=(o|0))break;A=e+((_(p,r)|0)+q<<2)|0;B=+g[A>>2]*.7071067690849304;D=e+((_(r<<1|1,i)|0)+q<<2)|0;C=+g[D>>2]*.7071067690849304;g[A>>2]=B+C;g[D>>2]=B-C;r=r+1|0}q=q+1|0}}while(0);d:do if(x){j=j>>1;o=i<<1}else{j=j>>1;o=i<<1;p=0;while(1){if((p|0)<(i|0))q=0;else break d;while(1){if((q|0)>=(j|0))break;A=n+((_(o,q)|0)+p<<2)|0;B=+g[A>>2]*.7071067690849304;D=n+((_(q<<1|1,i)|0)+p<<2)|0;C=+g[D>>2]*.7071067690849304;g[A>>2]=B+C;g[D>>2]=B-C;q=q+1|0}p=p+1|0}}while(0);D=t|t<1;if(p){if(!w)_d(e,j>>z,i<>z,i<>2]|0)){D=o;return D|0}if(p){be(e,j>>z,i<=(u|0)){s=0;break}s=i>>1;j=j<<1;n=j>>1;p=s<<1;q=0;while(1){if((q|0)<(s|0))r=0;else break;while(1){if((r|0)>=(n|0))break;A=e+((_(p,r)|0)+q<<2)|0;B=+g[A>>2]*.7071067690849304;D=e+((_(r<<1|1,s)|0)+q<<2)|0;C=+g[D>>2]*.7071067690849304;g[A>>2]=B+C;g[D>>2]=B-C;r=r+1|0}q=q+1|0}i=s;o=o|o>>>s;t=t+1|0}while(1){if((s|0)>=(z|0))break;j=a[31181+o>>0]|0;n=1<>s>>1;p=n<<1;q=0;while(1){if((q|0)<(n|0))r=0;else break;while(1){if((r|0)>=(o|0))break;A=e+((_(p,r)|0)+q<<2)|0;B=+g[A>>2]*.7071067690849304;D=e+(((r<<1|1)<>2]*.7071067690849304;g[A>>2]=B+C;g[D>>2]=B-C;r=r+1|0}q=q+1|0}o=j&255;s=s+1|0}j=i<=(f|0))break e;g[l+(n<<2)>>2]=m*+g[e+(n<<2)>>2];n=n+1|0}}while(0);D=o&(1<=(d|0))break;e=_(f,b)|0;g=0;while(1){if((g|0)>=(b|0))break;c[k+(e+g<<2)>>2]=c[a+((_(g,d)|0)+f<<2)>>2];g=g+1|0}f=f+1|0}d=j<<2;rf(a|0,k|0,d|0)|0;i=l;return}e=17628+(d<<2)+-8|0;g=0;while(1){if((g|0)>=(d|0))break;f=e+(g<<2)|0;h=0;while(1){if((h|0)>=(b|0))break;m=c[a+((_(h,d)|0)+g<<2)>>2]|0;c[k+((_(c[f>>2]|0,b)|0)+h<<2)>>2]=m;h=h+1|0}g=g+1|0}m=j<<2;rf(a|0,k|0,m|0)|0;i=l;return}function $d(e,f,h,j,k,l,m,n,o){e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;o=o|0;var p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+32|0;z=E+28|0;D=E+24|0;r=E;c[z>>2]=j;c[D>>2]=o;B=c[e>>2]|0;x=c[e+8>>2]|0;y=c[e+12>>2]|0;C=c[e+20>>2]|0;A=c[e+28>>2]|0;t=x+100|0;u=m+1|0;w=x+8|0;s=(_(u,c[w>>2]|0)|0)+y|0;x=x+96|0;s=(c[t>>2]|0)+(b[(c[x>>2]|0)+(s<<1)>>1]|0)|0;q=a[s>>0]|0;if((m|0)!=-1?((h|0)>2?((d[s+(q&255)>>0]|0)+12|0)<(j|0):0):0){w=h>>1;x=f+(w<<2)|0;y=m+-1|0;if((k|0)==1)c[D>>2]=o&1|o<<1;t=k+1>>1;ae(e,r,f,x,w,z,t,k,y,0,D);j=c[r+12>>2]|0;u=c[r+16>>2]|0;q=c[r+20>>2]|0;v=+(c[r+4>>2]|0)*.000030517578125;p=+(c[r+8>>2]|0)*.000030517578125;do if(!((k|0)<2|(u&16383|0)==0))if((u|0)>8192){j=j-(j>>5-m)|0;break}else{j=j+(w<<3>>6-m)|0;j=(j|0)>0?0:j;break}while(0);m=c[z>>2]|0;r=(m-j|0)/2|0;s=(m|0)<(r|0);r=((s?m:r)|0)<0?0:s?m:r;m=m-r|0;s=e+32|0;q=(c[s>>2]|0)-q|0;c[s>>2]=q;j=(l|0)==0?0:l+(w<<2)|0;if((r|0)<(m|0)){D=c[D>>2]|0;h=($d(e,x,w,m,t,j,y,p*n,D>>t)|0)<<(k>>1);k=m+((c[s>>2]|0)-q)|0;l=h|($d(e,f,w,r+((k|0)<25|(u|0)==16384?0:k+-24|0)|0,t,l,y,v*n,D)|0);i=E;return l|0}else{D=c[D>>2]|0;h=$d(e,f,w,r,t,l,y,v*n,D)|0;l=r+((c[s>>2]|0)-q)|0;l=h|($d(e,x,w,m+((l|0)<25|(u|0)==0?0:l+-24|0)|0,t,j,y,p*n,D>>t)|0)<<(k>>1);i=E;return l|0}}m=j+-1|0;q=q&255;j=0;r=0;while(1){if((j|0)==6)break;z=r+q+1>>1;F=(d[s+z>>0]|0)<(m|0);q=F?q:z;j=j+1|0;r=F?z:r}if(!r)j=-1;else j=d[s+r>>0]|0;j=(m-j|0)>((d[s+q>>0]|0)-m|0)?q:r;if(!j)q=0;else q=(d[s+j>>0]|0)+1|0;m=e+32|0;s=q;q=(c[m>>2]|0)-q|0;while(1){c[m>>2]=q;if(!((q|0)<0&(j|0)>0))break;q=q+s|0;c[m>>2]=q;j=j+-1|0;if(!j)r=0;else r=(d[(c[t>>2]|0)+(b[(c[x>>2]|0)+((_(u,c[w>>2]|0)|0)+y<<1)>>1]|0)+j>>0]|0)+1|0;s=r;q=q-r|0}if(j|0){if((j|0)>=8)j=(j&7|8)<<(j>>3)+-1;if(!B){F=wd(f,h,j,C,k,A,n)|0;i=E;return F|0}else{F=ud(f,h,j,C,k,A,n,c[e+4>>2]|0)|0;i=E;return F|0}}if(!(c[e+4>>2]|0)){F=0;i=E;return F|0}j=(1<>2]=q;if(!q){nf(f|0,0,h<<2|0)|0;F=0;i=E;return F|0}r=e+40|0;a:do if(!l){q=0;while(1){if((q|0)>=(h|0))break a;F=(_(c[r>>2]|0,1664525)|0)+1013904223|0;c[r>>2]=F;g[f+(q<<2)>>2]=+(F>>20|0);q=q+1|0}}else{j=0;while(1){if((j|0)>=(h|0)){j=q;break a}F=(_(c[r>>2]|0,1664525)|0)+1013904223|0;c[r>>2]=F;g[f+(j<<2)>>2]=+g[l+(j<<2)>>2]+((F&32768|0)==0?-.00390625:.00390625);j=j+1|0}}while(0);q=0;p=0.0;while(1){if((q|0)>=(h|0))break;v=+g[f+(q<<2)>>2];q=q+1|0;p=p+v*v}p=1.0/+O(+(p+1.0000000036274937e-15))*n;q=0;while(1){if((q|0)>=(h|0))break;g[f>>2]=p*+g[f>>2];q=q+1|0;f=f+4|0}i=E;return j|0}function ae(e,f,h,i,j,k,l,m,n,o,p){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0.0,r=0.0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,P=0,Q=0,R=0,S=0,T=0.0;x=c[e>>2]|0;K=c[e+8>>2]|0;L=c[e+12>>2]|0;u=c[e+16>>2]|0;S=c[e+28>>2]|0;J=c[e+36>>2]|0;t=(b[(c[K+56>>2]|0)+(L<<1)>>1]|0)+(n<<3)|0;n=t>>1;I=(o|0)==0;do if(!I)if((j|0)==2){o=n+-16|0;s=2;break}else{o=n+-4|0;s=(j<<1)+-1|0;break}else{o=n+-4|0;s=(j<<1)+-1|0}while(0);n=c[k>>2]|0;o=((_(s,o)|0)+n|0)/(s|0)|0;R=n-t+-32|0;o=(R|0)<(o|0)?R:o;if((o|0)<=64)if((o|0)<4)o=1;else w=8;else{o=64;w=8}if((w|0)==8)o=(b[25760+((o&7)<<1)>>1]>>14-(o>>3))+1&-2;G=I|(L|0)<(u|0)?o:1;H=(x|0)==0;if(H)o=0;else{a:do if(I){o=0;q=0.0;while(1){if((o|0)>=(j|0)){o=0;r=0.0;break}z=+g[h+(o<<2)>>2];o=o+1|0;q=q+z*z}while(1){if((o|0)>=(j|0))break;z=+g[i+(o<<2)>>2];o=o+1|0;r=r+z*z}q=q+1.0000000036274937e-15;r=r+1.0000000036274937e-15}else{q=1.0000000036274937e-15;r=1.0000000036274937e-15;o=0;while(1){if((o|0)>=(j|0))break a;T=+g[h+(o<<2)>>2];z=+g[i+(o<<2)>>2];v=T+z;z=T-z;q=q+v*v;r=r+z*z;o=o+1|0}}while(0);z=+O(+q);v=+O(+r);q=z*z;r=v*v;do if(!(q+r<1.000000045813705e-18))if(q>2]|0;P=F<<3;Q=S+28|0;B=c[Q>>2]|0;D=32-(aa(B|0)|0)|0;E=B>>>(D+-16|0);R=(E>>>12)+-8|0;R=(D<<3)+(R+(E>>>0>(c[5272+(R<<2)>>2]|0)>>>0&1))|0;b:do if((G|0)==1)if(!I){if(H)s=0;else{I=(o|0)>8192;s=I&1;c:do if(I){n=0;while(1){if((n|0)>=(j|0))break c;I=i+(n<<2)|0;g[I>>2]=-+g[I>>2];n=n+1|0}}while(0);q=+g[J+(L<<2)>>2];T=+g[J+((c[K+8>>2]|0)+L<<2)>>2];r=+O(+(q*q+1.0000000036274937e-15+T*T))+1.0000000036274937e-15;q=q/r;r=T/r;n=0;while(1){if((n|0)>=(j|0))break;L=h+(n<<2)|0;g[L>>2]=q*+g[L>>2]+r*+g[i+(n<<2)>>2];n=n+1|0}n=c[k>>2]|0}if((n|0)>16?(c[e+32>>2]|0)>16:0){t=c[Q>>2]|0;if(H){m=S+32|0;o=c[m>>2]|0;n=t>>>2;i=o>>>0>>0;s=i&1;if(!i){o=o-n|0;c[m>>2]=o;n=t-n|0}c[Q>>2]=n;w=S+40|0;x=S+24|0;y=S+4|0;while(1){if(n>>>0>=8388609){o=0;break b}c[N>>2]=(c[N>>2]|0)+8;n=n<<8;c[Q>>2]=n;u=c[w>>2]|0;t=c[x>>2]|0;if(t>>>0<(c[y>>2]|0)>>>0){c[x>>2]=t+1;t=d[(c[S>>2]|0)+t>>0]|0}else t=0;c[w>>2]=t;i=((u<<8|t)>>>1&255|o<<8&2147483392)^255;c[m>>2]=i;o=i}}o=t>>>2;n=t-o|0;B=S+32|0;if(s){c[B>>2]=(c[B>>2]|0)+n;n=o}c[Q>>2]=n;w=S+36|0;x=S+40|0;y=S+24|0;m=S+8|0;e=S+4|0;A=S+44|0;while(1){if(n>>>0>=8388609){o=0;break b}o=c[B>>2]|0;u=o>>>23;if((u|0)==255)c[w>>2]=(c[w>>2]|0)+1;else{t=o>>>31;n=c[x>>2]|0;if((n|0)>-1){o=c[y>>2]|0;if((o+(c[m>>2]|0)|0)>>>0<(c[e>>2]|0)>>>0){c[y>>2]=o+1;a[(c[S>>2]|0)+o>>0]=n+t;n=0}else n=-1;c[A>>2]=c[A>>2]|n}n=c[w>>2]|0;if(n|0){t=t+255&255;do{o=c[y>>2]|0;if((o+(c[m>>2]|0)|0)>>>0<(c[e>>2]|0)>>>0){c[y>>2]=o+1;a[(c[S>>2]|0)+o>>0]=t;o=0;n=c[w>>2]|0}else o=-1;c[A>>2]=c[A>>2]|o;n=n+-1|0;c[w>>2]=n}while((n|0)!=0)}c[x>>2]=u&255;o=c[B>>2]|0;n=c[Q>>2]|0}c[B>>2]=o<<8&2147483392;n=n<<8;c[Q>>2]=n;c[N>>2]=(c[N>>2]|0)+8}}else{s=0;o=0}}else s=0;else{do if(!H){if(!I?(y=c[e+48>>2]|0,y|0):0){o=(_(o,G)|0)+((((o|0)>8192?32767:-32767)|0)/(G|0)|0)|0;E=(o|0)<0;o=((G|0)>((E?0:o>>14)|0)?(E?0:o>>14):G+-1|0)+(y>>>31^1)|0;break}o=(_(o,G)|0)+8192>>14}while(0);d:do if((j|0)>2&(I^1)){w=(G|0)/2|0;x=(w*3|0)+3|0;y=x+w|0;if(H){t=(B>>>0)/(y>>>0)|0;c[S+36>>2]=t;e=S+32|0;u=c[e>>2]|0;n=((u>>>0)/(t>>>0)|0)+1|0;n=y-(y>>>0>>0?y:n)|0;if((n|0)<(x|0))o=(n|0)/3|0;else o=w+1+(n-x)|0;n=(o|0)>(w|0);if(n)s=o+-1-w+x|0;else s=o*3|0;x=n?o-w+x|0:(o*3|0)+3|0;y=_(t,y-x|0)|0;w=u-y|0;c[e>>2]=w;x=_(t,x-s|0)|0;s=(s|0)==0?B-y|0:x;c[Q>>2]=s;x=S+40|0;y=S+24|0;m=S+4|0;n=F;while(1){if(s>>>0>=8388609)break d;n=n+8|0;c[N>>2]=n;s=s<<8;c[Q>>2]=s;u=c[x>>2]|0;t=c[y>>2]|0;if(t>>>0<(c[m>>2]|0)>>>0){c[y>>2]=t+1;t=d[(c[S>>2]|0)+t>>0]|0}else t=0;c[x>>2]=t;F=((u<<8|t)>>>1&255|w<<8&2147483392)^255;c[e>>2]=F;w=F}}n=(o|0)>(w|0);if(n)t=o+-1-w+x|0;else t=o*3|0;n=n?o-w+x|0:(o*3|0)+3|0;s=(B>>>0)/(y>>>0)|0;if(!t){n=B-(_(s,y-n|0)|0)|0;c[Q>>2]=n;w=S+32|0}else{E=B-(_(s,y-t|0)|0)|0;w=S+32|0;c[w>>2]=(c[w>>2]|0)+E;n=_(s,n-t|0)|0;c[Q>>2]=n}x=S+36|0;y=S+40|0;m=S+24|0;e=S+8|0;A=S+4|0;B=S+44|0;s=F;while(1){if(n>>>0>=8388609)break d;t=c[w>>2]|0;u=t>>>23;if((u|0)==255)c[x>>2]=(c[x>>2]|0)+1;else{t=t>>>31;n=c[y>>2]|0;if((n|0)>-1){s=c[m>>2]|0;if((s+(c[e>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[m>>2]=s+1;a[(c[S>>2]|0)+s>>0]=n+t;n=0}else n=-1;c[B>>2]=c[B>>2]|n}n=c[x>>2]|0;if(n|0){t=t+255&255;do{s=c[m>>2]|0;if((s+(c[e>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[m>>2]=s+1;a[(c[S>>2]|0)+s>>0]=t;s=0;n=c[x>>2]|0}else s=-1;c[B>>2]=c[B>>2]|s;n=n+-1|0;c[x>>2]=n}while((n|0)!=0)}c[y>>2]=u&255;t=c[w>>2]|0;n=c[Q>>2]|0;s=c[N>>2]|0}c[w>>2]=t<<8&2147483392;n=n<<8;c[Q>>2]=n;s=s+8|0;c[N>>2]=s}}else{if(!((m|0)>1|I^1)){s=G>>1;t=s+1|0;e=_(t,t)|0;if(H){y=(B>>>0)/(e>>>0)|0;c[S+36>>2]=y;A=S+32|0;m=c[A>>2]|0;o=((m>>>0)/(y>>>0)|0)+1|0;o=e>>>0>>0?e:o;n=e-o|0;if((n|0)<((_(s,t)|0)>>1|0)){n=n<<3|1;u=32-(aa(n|0)|0)+-1>>1;t=1<>>0>>0;w=w+(s?0:t)|0;if((u|0)<=0)break;else{n=n-(s?0:o)|0;t=t>>>1;u=u+-1|0}}o=(w+-1|0)>>>1;s=o+1|0;n=(_(o,s)|0)>>>1}else{x=G<<1;n=(o<<3)+-7|0;u=32-(aa(n|0)|0)+-1>>1;t=1<>>0>>0;w=w+(s?0:t)|0;if((u|0)<=0)break;else{n=n-(s?0:o)|0;t=t>>>1;u=u+-1|0}}o=(x+2-w|0)>>>1;s=G+1-o|0;n=e-((_(s,G+2-o|0)|0)>>1)|0}x=_(y,e-(n+s)|0)|0;w=m-x|0;c[A>>2]=w;s=_(y,s)|0;s=(n|0)==0?B-x|0:s;c[Q>>2]=s;x=S+40|0;y=S+24|0;m=S+4|0;n=F;while(1){if(s>>>0>=8388609)break d;n=n+8|0;c[N>>2]=n;s=s<<8;c[Q>>2]=s;u=c[x>>2]|0;t=c[y>>2]|0;if(t>>>0<(c[m>>2]|0)>>>0){c[y>>2]=t+1;t=d[(c[S>>2]|0)+t>>0]|0}else t=0;c[x>>2]=t;F=((u<<8|t)>>>1&255|w<<8&2147483392)^255;c[A>>2]=F;w=F}}E=(o|0)>(s|0);n=E?G+1-o|0:o+1|0;if(E)t=e-((_(G+1-o|0,G+2-o|0)|0)>>1)|0;else t=(_(o,o+1|0)|0)>>1;s=(B>>>0)/(e>>>0)|0;if(!t){n=B-(_(s,e-n|0)|0)|0;c[Q>>2]=n;w=S+32|0}else{E=B-(_(s,e-t|0)|0)|0;w=S+32|0;c[w>>2]=(c[w>>2]|0)+E;n=_(s,n)|0;c[Q>>2]=n}x=S+36|0;y=S+40|0;m=S+24|0;e=S+8|0;A=S+4|0;B=S+44|0;s=F;while(1){if(n>>>0>=8388609)break d;t=c[w>>2]|0;u=t>>>23;if((u|0)==255)c[x>>2]=(c[x>>2]|0)+1;else{t=t>>>31;n=c[y>>2]|0;if((n|0)>-1){s=c[m>>2]|0;if((s+(c[e>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[m>>2]=s+1;a[(c[S>>2]|0)+s>>0]=n+t;n=0}else n=-1;c[B>>2]=c[B>>2]|n}n=c[x>>2]|0;if(n|0){t=t+255&255;do{s=c[m>>2]|0;if((s+(c[e>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[m>>2]=s+1;a[(c[S>>2]|0)+s>>0]=t;s=0;n=c[x>>2]|0}else s=-1;c[B>>2]=c[B>>2]|s;n=n+-1|0;c[x>>2]=n}while((n|0)!=0)}c[y>>2]=u&255;t=c[w>>2]|0;n=c[Q>>2]|0;s=c[N>>2]|0}c[w>>2]=t<<8&2147483392;n=n<<8;c[Q>>2]=n;s=s+8|0;c[N>>2]=s}}t=G+1|0;if(H){s=0;o=((bd(S,t)|0)<<14>>>0)/(G>>>0)|0;break b}n=32-(aa(G|0)|0)|0;if((n|0)<=8){n=(B>>>0)/(t>>>0)|0;if(!o){n=B-(_(n,G)|0)|0;c[Q>>2]=n;B=S+32|0}else{E=B-(_(n,t-o|0)|0)|0;B=S+32|0;c[B>>2]=(c[B>>2]|0)+E;c[Q>>2]=n}w=S+36|0;x=S+40|0;y=S+24|0;m=S+8|0;e=S+4|0;A=S+44|0;s=F;while(1){if(n>>>0>=8388609)break d;t=c[B>>2]|0;u=t>>>23;if((u|0)==255)c[w>>2]=(c[w>>2]|0)+1;else{t=t>>>31;n=c[x>>2]|0;if((n|0)>-1){s=c[y>>2]|0;if((s+(c[m>>2]|0)|0)>>>0<(c[e>>2]|0)>>>0){c[y>>2]=s+1;a[(c[S>>2]|0)+s>>0]=n+t;n=0}else n=-1;c[A>>2]=c[A>>2]|n}n=c[w>>2]|0;if(n|0){t=t+255&255;do{s=c[y>>2]|0;if((s+(c[m>>2]|0)|0)>>>0<(c[e>>2]|0)>>>0){c[y>>2]=s+1;a[(c[S>>2]|0)+s>>0]=t;s=0;n=c[w>>2]|0}else s=-1;c[A>>2]=c[A>>2]|s;n=n+-1|0;c[w>>2]=n}while((n|0)!=0)}c[x>>2]=u&255;t=c[B>>2]|0;n=c[Q>>2]|0;s=c[N>>2]|0}c[B>>2]=t<<8&2147483392;n=n<<8;c[Q>>2]=n;s=s+8|0;c[N>>2]=s}}E=n+-8|0;n=G>>>E;s=n+1|0;t=o>>>E;u=(B>>>0)/(s>>>0)|0;if(!t){u=B-(_(u,n)|0)|0;c[Q>>2]=u;m=S+32|0}else{D=B-(_(u,s-t|0)|0)|0;m=S+32|0;c[m>>2]=(c[m>>2]|0)+D;c[Q>>2]=u}x=S+36|0;y=S+40|0;A=S+24|0;B=S+8|0;C=S+4|0;D=S+44|0;t=F;while(1){if(u>>>0>=8388609)break;n=c[m>>2]|0;w=n>>>23;if((w|0)==255)c[x>>2]=(c[x>>2]|0)+1;else{t=n>>>31;n=c[y>>2]|0;if((n|0)>-1){s=c[A>>2]|0;if((s+(c[B>>2]|0)|0)>>>0<(c[C>>2]|0)>>>0){c[A>>2]=s+1;a[(c[S>>2]|0)+s>>0]=n+t;n=0}else n=-1;c[D>>2]=c[D>>2]|n}n=c[x>>2]|0;if(n|0){t=t+255&255;do{s=c[A>>2]|0;if((s+(c[B>>2]|0)|0)>>>0<(c[C>>2]|0)>>>0){c[A>>2]=s+1;a[(c[S>>2]|0)+s>>0]=t;s=0;n=c[x>>2]|0}else s=-1;c[D>>2]=c[D>>2]|s;n=n+-1|0;c[x>>2]=n}while((n|0)!=0)}c[y>>2]=w&255;n=c[m>>2]|0;u=c[Q>>2]|0;t=c[N>>2]|0}c[m>>2]=n<<8&2147483392;u=u<<8;c[Q>>2]=u;t=t+8|0;c[N>>2]=t}y=(1<>2]|0;e=S+16|0;s=c[e>>2]|0;if((s+E|0)>>>0>32){x=7-s|0;x=s+((x|0)>-8?x:-8)&-8;w=s;do{t=c[B>>2]|0;u=c[C>>2]|0;if(((c[A>>2]|0)+t|0)>>>0>>0){t=t+1|0;c[B>>2]=t;a[(c[S>>2]|0)+(u-t)>>0]=n;t=0}else t=-1;c[D>>2]=c[D>>2]|t;n=n>>>8;w=w+-8|0}while((w|0)>7);t=c[N>>2]|0;s=s+-8-x|0}c[m>>2]=n|y<>2]=s+E;c[N>>2]=t+E}while(0);o=(o<<14>>>0)/(G>>>0)|0;if(H|I)s=0;else{if(o|0){n=0;while(1){if((n|0)>=(j|0)){s=0;break b}L=h+(n<<2)|0;T=+g[L>>2]*.7071067690849304;S=i+(n<<2)|0;z=+g[S>>2]*.7071067690849304;g[L>>2]=T+z;g[S>>2]=z-T;n=n+1|0}}q=+g[J+(L<<2)>>2];T=+g[J+((c[K+8>>2]|0)+L<<2)>>2];r=+O(+(q*q+1.0000000036274937e-15+T*T))+1.0000000036274937e-15;q=q/r;r=T/r;n=0;while(1){if((n|0)>=(j|0)){s=0;o=0;break b}S=h+(n<<2)|0;g[S>>2]=q*+g[S>>2]+r*+g[i+(n<<2)>>2];n=n+1|0}}}while(0);S=c[Q>>2]|0;Q=32-(aa(S|0)|0)|0;S=S>>>(Q+-16|0);n=(S>>>12)+-8|0;n=(c[N>>2]<<3)-((Q<<3)+(n+(S>>>0>(c[5272+(n<<2)>>2]|0)>>>0&1)))+(R-P)|0;c[k>>2]=(c[k>>2]|0)-n;e:do if((o|0)<16384){switch(o|0){case 0:break;default:break e}c[p>>2]=c[p>>2]&(1<>2]=s;p=f+4|0;c[p>>2]=l;p=f+8|0;c[p>>2]=j;p=f+12|0;c[p>>2]=k;p=f+16|0;c[p>>2]=o;f=f+20|0;c[f>>2]=n;return}else{switch(o|0){case 16384:break;default:break e}c[p>>2]=c[p>>2]&(1<>2]=s;p=f+4|0;c[p>>2]=l;p=f+8|0;c[p>>2]=j;p=f+12|0;c[p>>2]=k;p=f+16|0;c[p>>2]=o;f=f+20|0;c[f>>2]=n;return}while(0);R=o<<16>>16;R=((_(R,R)|0)+4096|0)>>>13;l=R<<16>>16;l=(32767-R+(((_(l,(((_(l,(((_(l,-626)|0)+16384|0)>>>15<<16)+542441472>>16)|0)+16384|0)>>>15<<16)+-501415936>>16)|0)+16384|0)>>>15)<<16)+65536>>16;R=16384-o<<16>>16;R=((_(R,R)|0)+4096|0)>>>13;p=R<<16>>16;p=(32767-R+(((_(p,(((_(p,(((_(p,-626)|0)+16384|0)>>>15<<16)+542441472>>16)|0)+16384|0)>>>15<<16)+-501415936>>16)|0)+16384|0)>>>15)<<16)+65536>>16;R=32-(aa(l|0)|0)|0;Q=32-(aa(p|0)|0)|0;S=p<<15-Q<<16>>16;k=l<<15-R<<16>>16;k=(_((j<<23)+-8388608>>16,(Q-R<<11)+(((_(S,(((_(S,-2597)|0)+16384|0)>>>15<<16)+519831552>>16)|0)+16384|0)>>>15)-(((_(k,(((_(k,-2597)|0)+16384|0)>>>15<<16)+519831552>>16)|0)+16384|0)>>>15)<<16>>16)|0)+16384>>15;j=p;c[f>>2]=s;p=f+4|0;c[p>>2]=l;p=f+8|0;c[p>>2]=j;p=f+12|0;c[p>>2]=k;p=f+16|0;c[p>>2]=o;f=f+20|0;c[f>>2]=n;return}function be(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;j=_(b,d)|0;k=i;i=i+((1*(j<<2)|0)+15&-16)|0;if(!e){f=0;while(1){if((f|0)>=(d|0))break;e=_(f,b)|0;g=0;while(1){if((g|0)>=(b|0))break;c[k+((_(g,d)|0)+f<<2)>>2]=c[a+(e+g<<2)>>2];g=g+1|0}f=f+1|0}d=j<<2;rf(a|0,k|0,d|0)|0;i=l;return}e=17628+(d<<2)+-8|0;g=0;while(1){if((g|0)>=(d|0))break;f=e+(g<<2)|0;h=0;while(1){if((h|0)>=(b|0))break;c[k+((_(h,d)|0)+g<<2)>>2]=c[a+((_(c[f>>2]|0,b)|0)+h<<2)>>2];h=h+1|0}g=g+1|0}d=j<<2;rf(a|0,k|0,d|0)|0;i=l;return}function ce(b,e,f,h,j,k,l,m,n,o,p){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0.0;M=i;i=i+32|0;q=M+28|0;x=M+24|0;u=M;c[q>>2]=j;c[x>>2]=p;w=c[b>>2]|0;L=c[b+28>>2]|0;if((h|0)==1){l=b+32|0;k=(w|0)==0;m=L+12|0;D=L+16|0;E=L+20|0;F=L+8|0;G=L+4|0;H=L+24|0;p=L+44|0;z=b+4|0;A=f|0?2:1;B=0;C=e;while(1){if((c[l>>2]|0)>7){if(k){q=c[m>>2]|0;j=c[D>>2]|0;if(!j){v=c[G>>2]|0;u=c[F>>2]|0;w=0;do{if(u>>>0>>0){j=u+1|0;c[F>>2]=j;u=j;j=d[(c[L>>2]|0)+(v-j)>>0]|0}else j=0;q=q|j<>>1}else{y=+g[C>>2]<0.0&1;q=c[m>>2]|0;v=c[D>>2]|0;if((v+1|0)>>>0>32){w=7-v|0;w=v+((w|0)>-8?w:-8)&-8;x=v;do{j=c[F>>2]|0;u=c[G>>2]|0;if(((c[H>>2]|0)+j|0)>>>0>>0){j=j+1|0;c[F>>2]=j;a[(c[L>>2]|0)+(u-j)>>0]=q;j=0}else j=-1;c[p>>2]=c[p>>2]|j;q=q>>>8;x=x+-8|0}while((x|0)>7);v=v+-8-w|0}j=y;u=v+1|0;q=q|y<>2]=q;c[D>>2]=u;c[E>>2]=(c[E>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-8}else j=0;if(c[z>>2]|0)g[C>>2]=j|0?-1.0:1.0;B=B+1|0;if((B|0)>=(A|0))break;else C=f}if(!n){f=1;i=M;return f|0}c[n>>2]=c[e>>2];f=1;i=M;return f|0}ae(b,u,e,f,h,q,k,k,m,1,x);J=c[u>>2]|0;z=c[u+16>>2]|0;y=c[u+20>>2]|0;K=+(c[u+4>>2]|0)*.000030517578125;r=+(c[u+8>>2]|0)*.000030517578125;I=(h|0)==2;do if(I){j=c[q>>2]|0;if((z|0)<16384)switch(z|0){case 0:{q=0;break}default:v=26}else switch(z|0){case 16384:{q=0;break}default:v=26}if((v|0)==26)q=8;H=j-q|0;F=(z|0)>8192;G=b+32|0;c[G>>2]=(c[G>>2]|0)-(y+q);G=F?f:e;F=F?e:f;do if(!q)j=0;else{if(!w){y=L+12|0;q=c[y>>2]|0;z=L+16|0;j=c[z>>2]|0;if(!j){w=L+8|0;v=c[L+4>>2]|0;u=c[w>>2]|0;x=0;do{if(u>>>0>>0){u=u+1|0;c[w>>2]=u;j=d[(c[L>>2]|0)+(v-u)>>0]|0}else j=0;q=q|j<>2]=q>>>1;c[z>>2]=j+-1;j=L+20|0;c[j>>2]=(c[j>>2]|0)+1;j=q&1;break}j=+g[G>>2]*+g[F+4>>2]-+g[G+4>>2]*+g[F>>2]<0.0&1;D=L+12|0;q=c[D>>2]|0;E=L+16|0;u=c[E>>2]|0;if((u+1|0)>>>0>32){x=L+24|0;y=L+8|0;z=L+4|0;A=L+44|0;B=7-u|0;B=u+((B|0)>-8?B:-8)&-8;C=u;do{v=c[y>>2]|0;w=c[z>>2]|0;if(((c[x>>2]|0)+v|0)>>>0>>0){v=v+1|0;c[y>>2]=v;a[(c[L>>2]|0)+(w-v)>>0]=q;v=0}else v=-1;c[A>>2]=c[A>>2]|v;q=q>>>8;C=C+-8|0}while((C|0)>7);u=u+-8-B|0}c[D>>2]=q|j<>2]=u+1;L=L+20|0;c[L>>2]=(c[L>>2]|0)+1}while(0);L=1-(j<<1)|0;j=Zd(b,G,2,H,k,l,m,n,1.0,o,p)|0;g[F>>2]=+(0-L|0)*+g[G+4>>2];g[F+4>>2]=+(L|0)*+g[G>>2];if(c[b+4>>2]|0){g[e>>2]=K*+g[e>>2];L=e+4|0;g[L>>2]=K*+g[L>>2];s=r*+g[f>>2];g[f>>2]=s;n=f+4|0;g[n>>2]=r*+g[n>>2];t=+g[e>>2];g[e>>2]=t-s;g[f>>2]=t+ +g[f>>2];t=+g[L>>2];g[L>>2]=t-+g[n>>2];g[n>>2]=t+ +g[n>>2]}}else{v=c[q>>2]|0;u=(v-(c[u+12>>2]|0)|0)/2|0;w=(v|0)<(u|0);u=((w?v:u)|0)<0?0:w?v:u;v=v-u|0;w=b+32|0;q=(c[w>>2]|0)-y|0;c[w>>2]=q;j=c[x>>2]|0;if((u|0)<(v|0)){p=Zd(b,f,h,v,k,0,m,0,r,0,j>>k)|0;L=v+((c[w>>2]|0)-q)|0;j=p|(Zd(b,e,h,u+((L|0)<25|(z|0)==16384?0:L+-24|0)|0,k,l,m,n,1.0,o,j)|0);break}else{L=Zd(b,e,h,u,k,l,m,n,1.0,o,j)|0;n=u+((c[w>>2]|0)-q)|0;j=L|(Zd(b,f,h,v+((n|0)<25|(z|0)==0?0:n+-24|0)|0,k,0,m,0,r,0,j>>k)|0);break}}while(0);if(!(c[b+4>>2]|0)){f=j;i=M;return f|0}a:do if(!I){q=0;r=0.0;s=0.0;while(1){if((q|0)>=(h|0))break;t=+g[f+(q<<2)>>2];N=r+t*+g[e+(q<<2)>>2];q=q+1|0;r=N;s=s+t*t}N=K*K+s;s=r*K*2.0;r=N-s;s=N+s;if(s<6.000000284984708e-04|r<6.000000284984708e-04){rf(f|0,e|0,h<<2|0)|0;break}t=1.0/+O(+r);r=1.0/+O(+s);q=0;while(1){if((q|0)>=(h|0))break a;L=e+(q<<2)|0;s=+g[L>>2]*K;n=f+(q<<2)|0;N=+g[n>>2];g[L>>2]=t*(s-N);g[n>>2]=r*(s+N);q=q+1|0}}while(0);if(!J){f=j;i=M;return f|0}else q=0;while(1){if((q|0)>=(h|0))break;e=f+(q<<2)|0;g[e>>2]=-+g[e>>2];q=q+1|0}i=M;return j|0}function de(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+208|0;D=H+176|0;E=H+144|0;G=H;C=d+2328|0;F=c[C>>2]|0;B=G+136|0;c[B>>2]=0;switch(h|0){case 0:{k=d+2388|0;l=4;break}case 2:{k=d+2388|0;if((c[d+2420+(c[k>>2]<<2)>>2]|0)==1)l=4;else l=57;break}default:l=57}if((l|0)==4){A=Fa()|0;u=i;i=i+((1*((F+15&-16)<<1)|0)+15&-16)|0;ee(d,e,c[k>>2]|0,h,j);z=d+2765|0;fe(e,u,a[z>>0]|0,a[d+2766>>0]|0,c[C>>2]|0);y=d+2324|0;he(G+16|0,d+2736|0,d+2312|0,(j|0)==2&1,c[y>>2]|0);ie(D,d+2744|0,c[d+2732>>2]|0);v=G+64|0;w=d+2340|0;ue(v,D,c[w>>2]|0);x=d+2376|0;k=d+2767|0;if((c[x>>2]|0)!=1){k=a[k>>0]|0;if(k<<24>>24<4){h=c[w>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;t=b[d+2344+(e<<1)>>1]|0;b[E+(e<<1)>>1]=(t&65535)+((_(k<<24>>24,(b[D+(e<<1)>>1]|0)-(t<<16>>16)|0)|0)>>>2);e=e+1|0}ue(G+32|0,E,h);h=c[w>>2]|0}else l=11}else{a[k>>0]=4;l=11}if((l|0)==11){h=c[w>>2]|0;rf(G+32|0,v|0,h<<1|0)|0}rf(d+2344|0,D|0,h<<1|0)|0;k=d+4160|0;if(c[k>>2]|0){j=h+-1|0;h=63570;e=0;while(1){if((e|0)>=(j|0))break;t=G+32+(e<<1)|0;b[t>>1]=(((_(h,b[t>>1]|0)|0)>>>15)+1|0)>>>1;h=h+(((_(h,-1966)|0)>>15)+1>>1)|0;e=e+1|0}e=G+32+(j<<1)|0;b[e>>1]=(((_(h,b[e>>1]|0)|0)>>>15)+1|0)>>>1;h=63570;e=0;while(1){if((e|0)>=(j|0))break;t=G+64+(e<<1)|0;b[t>>1]=(((_(h,b[t>>1]|0)|0)>>>15)+1|0)>>>1;h=h+(((_(h,-1966)|0)>>15)+1>>1)|0;e=e+1|0}t=G+64+(j<<1)|0;b[t>>1]=(((_(h,b[t>>1]|0)|0)>>>15)+1|0)>>>1}if((a[z>>0]|0)==2){h=d+2316|0;l=c[h>>2]|0;t=c[y>>2]|0;j=(l|0)==8;q=(t|0)==4;r=j?(q?11:3):q?34:12;q=j?(q?32969:32935):q?33013:32941;l=l<<16;j=l>>15;l=(l>>16)*18|0;m=j+(b[d+2762>>1]|0)|0;n=a[d+2764>>0]|0;o=(j|0)>(l|0);s=0;while(1){if((s|0)>=(t|0))break;e=m+(a[q+((_(s,r)|0)+n)>>0]|0)|0;p=G+(s<<2)|0;c[p>>2]=e;if(o)if((e|0)>(j|0))e=j;else e=(e|0)<(l|0)?l:e;else if((e|0)>(l|0))e=l;else e=(e|0)<(j|0)?j:e;c[p>>2]=e;s=s+1|0}j=b[d+2768>>1]|0;e=c[17400+((j&65535)<<24>>24<<2)>>2]|0;j=(j&65535)>>>8;o=0;while(1){if((o|0)>=(t|0))break;l=(a[d+2740+o>>0]|0)*5|0;m=o*5|0;n=0;while(1){if((n|0)==5)break;b[G+96+(m+n<<1)>>1]=a[e+(l+n)>>0]<<7;n=n+1|0}o=o+1|0}c[B>>2]=b[25412+((j&65535)<<24>>24<<1)>>1]}else{h=c[y>>2]|0;nf(G|0,0,h<<2|0)|0;nf(G+96|0,0,h*10|0)|0;a[d+2768>>0]=0;c[B>>2]=0;h=d+2316|0}Ce(d,G,f,u);e=c[h>>2]|0;h=d+4248|0;if((e|0)!=(c[h>>2]|0)){c[d+4168>>2]=c[C>>2]<<7;c[d+4240>>2]=65536;c[d+4244>>2]=65536;c[d+4256>>2]=20;c[d+4252>>2]=2;c[h>>2]=e}s=d+4168|0;u=a[z>>0]|0;t=d+4164|0;c[t>>2]=u<<24>>24;a:do if(u<<24>>24==2){h=d+2332|0;n=c[h>>2]|0;o=c[y>>2]|0;p=o+-1|0;q=d+4172|0;m=c[G+(p<<2)>>2]|0;e=0;r=0;while(1){if((_(r,n)|0)>=(m|0)|(r|0)==(o|0))break;else{j=0;l=0}while(1){if((j|0)==5)break;u=l+(b[G+96+(((p-r|0)*5|0)+j<<1)>>1]|0)|0;j=j+1|0;l=u}if((l|0)>(e|0)){e=G+96+((o+65535-r<<16>>16)*5<<1)|0;b[q>>1]=b[e>>1]|0;b[q+2>>1]=b[e+2>>1]|0;b[q+4>>1]=b[e+4>>1]|0;b[q+6>>1]=b[e+6>>1]|0;b[q+8>>1]=b[e+8>>1]|0;c[s>>2]=c[G+(p-r<<2)>>2]<<8;e=l}r=r+1|0}c[q>>2]=0;c[q+4>>2]=0;b[q+8>>1]=0;b[d+4176>>1]=e;if((e|0)<11469){e=(11744256/(((e|0)>1?e:1)|0)|0)<<16>>16;j=0;while(1){if((j|0)==5)break a;u=d+4172+(j<<1)|0;b[u>>1]=(_(b[u>>1]|0,e)|0)>>>10;j=j+1|0}}if((e|0)>15565){e=(255016960/(e|0)|0)<<16>>16;j=0;while(1){if((j|0)==5)break a;u=d+4172+(j<<1)|0;b[u>>1]=(_(b[u>>1]|0,e)|0)>>>14;j=j+1|0}}}else{c[s>>2]=(e<<16>>16)*4608;h=d+4172|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;h=d+2332|0}while(0);rf(d+4182|0,v|0,c[w>>2]<<1|0)|0;b[d+4236>>1]=c[B>>2];B=c[y>>2]|0;v=G+16+(B+-2<<2)|0;w=c[v+4>>2]|0;y=d+4240|0;c[y>>2]=c[v>>2];c[y+4>>2]=w;c[d+4256>>2]=c[h>>2];c[d+4252>>2]=B;c[k>>2]=0;c[t>>2]=a[z>>0];c[x>>2]=0;Na(A|0);h=G}else if((l|0)==57){a[d+2765>>0]=c[d+4164>>2];k=c[d+2316>>2]|0;h=d+4248|0;if((k|0)!=(c[h>>2]|0)){c[d+4168>>2]=F<<7;c[d+4240>>2]=65536;c[d+4244>>2]=65536;c[d+4256>>2]=20;c[d+4252>>2]=2;c[h>>2]=k}me(d,G,f);k=d+4160|0;c[k>>2]=(c[k>>2]|0)+1;h=G}A=c[C>>2]|0;B=(c[d+2336>>2]|0)-A|0;sf(d+1348|0,d+1348+(A<<1)|0,B<<1|0)|0;rf(d+1348+(B<<1)|0,f|0,c[C>>2]<<1|0)|0;Be(d,h,f,F);if(c[k>>2]|0){ze(d+4228|0,d+4232|0,f,F);c[d+4216>>2]=1;f=d+2324|0;f=c[f>>2]|0;f=f+-1|0;f=G+(f<<2)|0;f=c[f>>2]|0;G=d+2308|0;c[G>>2]=f;c[g>>2]=F;i=H;return 0}l=d+4216|0;b:do if(c[l>>2]|0){ze(E,D,f,F);k=c[D>>2]|0;h=c[d+4232>>2]|0;if((k|0)<=(h|0)){if((k|0)<(h|0))c[E>>2]=c[E>>2]>>h-k}else{D=d+4228|0;c[D>>2]=c[D>>2]>>k-h}k=c[E>>2]|0;h=d+4228|0;e=c[h>>2]|0;if((k|0)>(e|0)){C=aa(e|0)|0;D=e<>2]=D;C=25-C|0;k=k>>((C|0)>0?C:0);c[E>>2]=k;k=(D|0)/(((k|0)>1?k:1)|0)|0;if((k|0)<1)k=0;else{j=aa(k|0)|0;h=24-j|0;e=0-h|0;do if(h)if((h|0)<0){k=k<>>(h+32|0);break}else{k=k<<32-h|k>>>h;break}while(0);E=((j&1|0)==0?46214:32768)>>>(j>>>1);k=(_(k&127,13959168)|0)>>>16;k=E+((_(E>>16,k)|0)+((_(E&65535,k)|0)>>>16))<<4}e=((65536-k|0)/(F|0)|0)<<2;h=0;while(1){if((h|0)>=(F|0))break b;E=f+(h<<1)|0;D=b[E>>1]|0;b[E>>1]=(_(k>>16,D)|0)+((_(k&65532,D)|0)>>>16);k=k+e|0;if((k|0)>65536)break b;h=h+1|0}}}while(0);c[l>>2]=0;f=d+2324|0;f=c[f>>2]|0;f=f+-1|0;f=G+(f<<2)|0;f=c[f>>2]|0;G=d+2308|0;c[G>>2]=f;c[g>>2]=F;i=H;return 0}function ee(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+48|0;z=E;w=E+32|0;a:do if((j|0)==0?(c[f+2404+(h<<2)>>2]|0)==0:0){s=g+28|0;n=c[s>>2]|0;t=g+32|0;j=c[t>>2]|0;l=n>>>8;h=-1;while(1){h=h+1|0;m=_(l,d[29937+h>>0]|0)|0;if(j>>>0>=m>>>0)break;else n=m}r=j-m|0;c[t>>2]=r;j=n-m|0;c[s>>2]=j;n=g+20|0;o=g+40|0;p=g+24|0;q=g+4|0;while(1){if(j>>>0>=8388609)break a;c[n>>2]=(c[n>>2]|0)+8;j=j<<8;c[s>>2]=j;m=c[o>>2]|0;l=c[p>>2]|0;if(l>>>0<(c[q>>2]|0)>>>0){c[p>>2]=l+1;l=d[(c[g>>2]|0)+l>>0]|0}else l=0;c[o>>2]=l;D=((m<<8|l)>>>1&255|r<<8&2147483392)^255;c[t>>2]=D;r=D}}else B=3;while(0);if((B|0)==3){r=g+28|0;n=c[r>>2]|0;s=g+32|0;j=c[s>>2]|0;l=n>>>8;t=-1;while(1){m=t+1|0;h=_(l,d[29933+m>>0]|0)|0;if(j>>>0>>0){t=m;n=h}else break}q=j-h|0;c[s>>2]=q;h=n-h|0;c[r>>2]=h;m=g+20|0;n=g+40|0;o=g+24|0;p=g+4|0;while(1){if(h>>>0>=8388609)break;c[m>>2]=(c[m>>2]|0)+8;h=h<<8;c[r>>2]=h;l=c[n>>2]|0;j=c[o>>2]|0;if(j>>>0<(c[p>>2]|0)>>>0){c[o>>2]=j+1;j=d[(c[g>>2]|0)+j>>0]|0}else j=0;c[n>>2]=j;D=((l<<8|j)>>>1&255|q<<8&2147483392)^255;c[s>>2]=D;q=D}h=t+3|0}j=h>>>1;D=f+2765|0;a[D>>0]=j;a[f+2766>>0]=h&1;x=(k|0)==2;if(x){t=g+28|0;m=c[t>>2]|0;r=g+32|0;j=c[r>>2]|0;l=m>>>8;s=-1;while(1){s=s+1|0;h=_(l,d[29396+s>>0]|0)|0;if(j>>>0>=h>>>0)break;else m=h}C=j-h|0;c[r>>2]=C;h=m-h|0;c[t>>2]=h;n=g+20|0;o=g+40|0;p=g+24|0;q=g+4|0;m=C;while(1){if(h>>>0>=8388609)break;c[n>>2]=(c[n>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[p>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[p>>2]=j+1;j=d[(c[g>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;C=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[r>>2]=C;m=C}a[f+2736>>0]=s;v=r;C=n;u=p;A=g}else{h=j<<24>>24;t=g+28|0;n=c[t>>2]|0;v=g+32|0;j=c[v>>2]|0;l=n>>>8;r=-1;while(1){r=r+1|0;m=_(l,d[29372+(h<<3)+r>>0]|0)|0;if(j>>>0>=m>>>0)break;else n=m}C=j-m|0;c[v>>2]=C;h=n-m|0;c[t>>2]=h;s=g+20|0;o=g+40|0;u=g+24|0;q=g+4|0;m=C;while(1){if(h>>>0>=8388609)break;c[s>>2]=(c[s>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[g>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;C=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[v>>2]=C;m=C}p=f+2736|0;a[p>>0]=r<<3;m=c[t>>2]|0;h=c[v>>2]|0;j=m>>>8;n=-1;while(1){n=n+1|0;l=_(j,d[29962+n>>0]|0)|0;if(h>>>0>=l>>>0)break;else m=l}C=h-l|0;c[v>>2]=C;h=m-l|0;c[t>>2]=h;m=C;while(1){if(h>>>0>=8388609)break;c[s>>2]=(c[s>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[g>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;C=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[v>>2]=C;m=C}a[p>>0]=(d[p>>0]|0)+n;C=s;A=g}y=f+2324|0;n=1;while(1){if((n|0)>=(c[y>>2]|0))break;m=c[t>>2]|0;h=c[v>>2]|0;j=m>>>8;p=-1;while(1){p=p+1|0;l=_(j,d[29396+p>>0]|0)|0;if(h>>>0>=l>>>0)break;else m=l}g=h-l|0;c[v>>2]=g;h=m-l|0;c[t>>2]=h;m=g;while(1){if(h>>>0>=8388609)break;c[C>>2]=(c[C>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[A>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;g=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[v>>2]=g;m=g}a[f+2736+n>>0]=p;n=n+1|0}g=f+2732|0;n=c[g>>2]|0;h=_(a[D>>0]>>1,b[n>>1]|0)|0;h=(c[n+16>>2]|0)+h|0;n=c[t>>2]|0;j=c[v>>2]|0;l=n>>>8;p=-1;while(1){p=p+1|0;m=_(l,d[h+p>>0]|0)|0;if(j>>>0>=m>>>0)break;else n=m}s=j-m|0;c[v>>2]=s;h=n-m|0;c[t>>2]=h;m=s;while(1){if(h>>>0>=8388609)break;c[C>>2]=(c[C>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[A>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;s=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[v>>2]=s;m=s}a[f+2744>>0]=p;Cd(z,w,c[g>>2]|0,p<<24>>24);s=0;while(1){h=c[g>>2]|0;if((s|0)>=(b[h+2>>1]|0))break;j=(c[h+28>>2]|0)+(b[z+(s<<1)>>1]|0)|0;p=c[t>>2]|0;l=c[v>>2]|0;m=p>>>8;r=-1;while(1){h=r+1|0;n=_(m,d[j+h>>0]|0)|0;if(l>>>0>>0){r=h;p=n}else break}w=l-n|0;c[v>>2]=w;l=p-n|0;c[t>>2]=l;p=w;while(1){if(l>>>0>=8388609)break;c[C>>2]=(c[C>>2]|0)+8;l=l<<8;c[t>>2]=l;m=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[A>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;w=((m<<8|j)>>>1&255|p<<8&2147483392)^255;c[v>>2]=w;p=w}switch(r|0){case -1:{m=l>>>8;n=-1;while(1){h=n+1|0;j=_(m,d[29970+h>>0]|0)|0;if(p>>>0>>0){n=h;l=j}else break}m=p-j|0;c[v>>2]=m;h=l-j|0;c[t>>2]=h;while(1){if(h>>>0>=8388609)break;c[C>>2]=(c[C>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[A>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;w=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[v>>2]=w;m=w}h=~n;break}case 7:{m=l>>>8;n=-1;while(1){h=n+1|0;j=_(m,d[29970+h>>0]|0)|0;if(p>>>0>>0){n=h;l=j}else break}m=p-j|0;c[v>>2]=m;h=l-j|0;c[t>>2]=h;while(1){if(h>>>0>=8388609)break;c[C>>2]=(c[C>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[A>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;w=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[v>>2]=w;m=w}h=n+9|0;break}default:{}}w=s+1|0;a[f+2744+w>>0]=h+252;s=w}if((c[y>>2]|0)==4){m=c[t>>2]|0;h=c[v>>2]|0;j=m>>>8;n=-1;while(1){n=n+1|0;l=_(j,d[29939+n>>0]|0)|0;if(h>>>0>=l>>>0)break;else m=l}z=h-l|0;c[v>>2]=z;h=m-l|0;c[t>>2]=h;m=z;while(1){if(h>>>0>=8388609)break;c[C>>2]=(c[C>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[A>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;z=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[v>>2]=z;m=z}a[f+2767>>0]=n}else a[f+2767>>0]=4;do if((a[D>>0]|0)==2){if(x?(c[f+2396>>2]|0)==2:0){m=c[t>>2]|0;h=c[v>>2]|0;j=m>>>8;p=-1;while(1){n=p+1|0;l=_(j,d[30009+n>>0]|0)|0;if(h>>>0>>0){p=n;m=l}else break}z=h-l|0;c[v>>2]=z;h=m-l|0;c[t>>2]=h;m=z;while(1){if(h>>>0>=8388609)break;c[C>>2]=(c[C>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[A>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;z=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[v>>2]=z;m=z}if((n&65535)<<16>>16>0){h=f+2400|0;j=(e[h>>1]|0)+(p+65528)&65535;b[f+2762>>1]=j}else B=108}else B=108;if((B|0)==108){m=c[t>>2]|0;h=c[v>>2]|0;j=m>>>8;n=-1;while(1){n=n+1|0;l=_(j,d[29977+n>>0]|0)|0;if(h>>>0>=l>>>0)break;else m=l}B=h-l|0;c[v>>2]=B;h=m-l|0;c[t>>2]=h;m=B;while(1){if(h>>>0>=8388609)break;c[C>>2]=(c[C>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[A>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;B=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[v>>2]=B;m=B}r=f+2762|0;b[r>>1]=_(n<<16>>16,c[f+2316>>2]>>1)|0;h=c[f+2380>>2]|0;n=c[t>>2]|0;j=c[v>>2]|0;l=n>>>8;p=-1;while(1){p=p+1|0;m=_(l,d[h+p>>0]|0)|0;if(j>>>0>=m>>>0)break;else n=m}B=j-m|0;c[v>>2]=B;h=n-m|0;c[t>>2]=h;m=B;while(1){if(h>>>0>=8388609)break;c[C>>2]=(c[C>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[A>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;B=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[v>>2]=B;m=B}j=(e[r>>1]|0)+p&65535;b[r>>1]=j;h=f+2400|0}b[h>>1]=j;h=c[f+2384>>2]|0;n=c[t>>2]|0;j=c[v>>2]|0;l=n>>>8;p=-1;while(1){p=p+1|0;m=_(l,d[h+p>>0]|0)|0;if(j>>>0>=m>>>0)break;else n=m}B=j-m|0;c[v>>2]=B;h=n-m|0;c[t>>2]=h;m=B;while(1){if(h>>>0>=8388609)break;c[C>>2]=(c[C>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[A>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;B=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[v>>2]=B;m=B}a[f+2764>>0]=p;m=c[t>>2]|0;h=c[v>>2]|0;j=m>>>8;n=-1;while(1){n=n+1|0;l=_(j,d[29437+n>>0]|0)|0;if(h>>>0>=l>>>0)break;else m=l}B=h-l|0;c[v>>2]=B;h=m-l|0;c[t>>2]=h;m=B;while(1){if(h>>>0>=8388609)break;c[C>>2]=(c[C>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[A>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;B=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[v>>2]=B;m=B}s=f+2768|0;a[s>>0]=n;p=0;while(1){if((p|0)>=(c[y>>2]|0))break;h=c[17376+(a[s>>0]<<2)>>2]|0;n=c[t>>2]|0;j=c[v>>2]|0;l=n>>>8;r=-1;while(1){r=r+1|0;m=_(l,d[h+r>>0]|0)|0;if(j>>>0>=m>>>0)break;else n=m}B=j-m|0;c[v>>2]=B;h=n-m|0;c[t>>2]=h;m=B;while(1){if(h>>>0>=8388609)break;c[C>>2]=(c[C>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[A>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;B=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[v>>2]=B;m=B}a[f+2740+p>>0]=r;p=p+1|0}if(k|0){a[f+2769>>0]=0;break}m=c[t>>2]|0;h=c[v>>2]|0;j=m>>>8;n=-1;while(1){n=n+1|0;l=_(j,d[29930+n>>0]|0)|0;if(h>>>0>=l>>>0)break;else m=l}k=h-l|0;c[v>>2]=k;h=m-l|0;c[t>>2]=h;m=k;while(1){if(h>>>0>=8388609)break;c[C>>2]=(c[C>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[A>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;k=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[v>>2]=k;m=k}a[f+2769>>0]=n}while(0);c[f+2396>>2]=a[D>>0];m=c[t>>2]|0;h=c[v>>2]|0;j=m>>>8;n=-1;while(1){n=n+1|0;l=_(j,d[29947+n>>0]|0)|0;if(h>>>0>=l>>>0)break;else m=l}k=h-l|0;c[v>>2]=k;h=m-l|0;c[t>>2]=h;m=k;while(1){if(h>>>0>=8388609)break;c[C>>2]=(c[C>>2]|0)+8;h=h<<8;c[t>>2]=h;l=c[o>>2]|0;j=c[u>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[u>>2]=j+1;j=d[(c[A>>2]|0)+j>>0]|0}else j=0;c[o>>2]=j;k=((l<<8|j)>>>1&255|m<<8&2147483392)^255;c[v>>2]=k;m=k}a[f+2770>>0]=n;i=E;return}function fe(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+176|0;H=J+160|0;I=J+80|0;A=J;k=g>>1;F=e+28|0;o=c[F>>2]|0;G=e+32|0;m=c[G>>2]|0;n=o>>>8;u=-1;while(1){u=u+1|0;l=_(n,d[30432+(k*9|0)+u>>0]|0)|0;if(m>>>0>=l>>>0)break;else o=l}n=m-l|0;c[G>>2]=n;k=o-l|0;c[F>>2]=k;B=e+20|0;C=e+40|0;D=e+24|0;E=e+4|0;while(1){if(k>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;k=k<<8;c[F>>2]=k;m=c[C>>2]|0;l=c[D>>2]|0;if(l>>>0<(c[E>>2]|0)>>>0){c[D>>2]=l+1;l=d[(c[e>>2]|0)+l>>0]|0}else l=0;c[C>>2]=l;z=((m<<8|l)>>>1&255|n<<8&2147483392)^255;c[G>>2]=z;n=z}z=j>>4;z=z+((z<<4|0)<(j|0)&1)|0;t=0;while(1){if((t|0)>=(z|0)){x=0;break}s=A+(t<<2)|0;c[s>>2]=0;m=k>>>8;o=-1;while(1){o=o+1|0;l=_(m,d[30090+(u*18|0)+o>>0]|0)|0;if(n>>>0>=l>>>0)break;else k=l}n=n-l|0;c[G>>2]=n;k=k-l|0;c[F>>2]=k;while(1){if(k>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;k=k<<8;c[F>>2]=k;m=c[C>>2]|0;l=c[D>>2]|0;if(l>>>0<(c[E>>2]|0)>>>0){c[D>>2]=l+1;l=d[(c[e>>2]|0)+l>>0]|0}else l=0;c[C>>2]=l;x=((m<<8|l)>>>1&255|n<<8&2147483392)^255;c[G>>2]=x;n=x}r=I+(t<<2)|0;m=0;l=o;a:while(1){c[r>>2]=l;if((l|0)!=17)break;q=m+1|0;c[s>>2]=q;o=30252+((q|0)==10&1)|0;p=k>>>8;l=-1;while(1){l=l+1|0;m=_(p,d[o+l>>0]|0)|0;if(n>>>0>=m>>>0)break;else k=m}n=n-m|0;c[G>>2]=n;k=k-m|0;c[F>>2]=k;while(1){if(k>>>0>=8388609){m=q;continue a}c[B>>2]=(c[B>>2]|0)+8;k=k<<8;c[F>>2]=k;o=c[C>>2]|0;m=c[D>>2]|0;if(m>>>0<(c[E>>2]|0)>>>0){c[D>>2]=m+1;m=d[(c[e>>2]|0)+m>>0]|0}else m=0;c[C>>2]=m;x=((o<<8|m)>>>1&255|n<<8&2147483392)^255;c[G>>2]=x;n=x}}t=t+1|0}while(1){if((x|0)>=(z|0)){s=0;break}q=c[I+(x<<2)>>2]|0;k=f+(x<<16>>12<<1)|0;if((q|0)>0){l=30924+(d[31076+q>>0]|0)|0;p=c[F>>2]|0;m=c[G>>2]|0;n=p>>>8;s=-1;while(1){s=s+1|0;o=_(n,d[l+s>>0]|0)|0;if(m>>>0>=o>>>0)break;else p=o}w=m-o|0;c[G>>2]=w;l=p-o|0;c[F>>2]=l;o=w;while(1){if(l>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;l=l<<8;c[F>>2]=l;n=c[C>>2]|0;m=c[D>>2]|0;if(m>>>0<(c[E>>2]|0)>>>0){c[D>>2]=m+1;m=d[(c[e>>2]|0)+m>>0]|0}else m=0;c[C>>2]=m;w=((n<<8|m)>>>1&255|o<<8&2147483392)^255;c[G>>2]=w;o=w}v=q-s|0;w=v&65535;r=s<<16>>16;if((s&65535)<<16>>16>0){l=30772+(d[31076+r>>0]|0)|0;p=c[F>>2]|0;m=c[G>>2]|0;n=p>>>8;q=-1;while(1){q=q+1|0;o=_(n,d[l+q>>0]|0)|0;if(m>>>0>=o>>>0)break;else p=o}u=m-o|0;c[G>>2]=u;l=p-o|0;c[F>>2]=l;o=u;while(1){if(l>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;l=l<<8;c[F>>2]=l;n=c[C>>2]|0;m=c[D>>2]|0;if(m>>>0<(c[E>>2]|0)>>>0){c[D>>2]=m+1;m=d[(c[e>>2]|0)+m>>0]|0}else m=0;c[C>>2]=m;u=((n<<8|m)>>>1&255|o<<8&2147483392)^255;c[G>>2]=u;o=u}u=q&65535;l=r-q&65535;r=u<<16>>16;if(u<<16>>16>0){m=30620+(d[31076+r>>0]|0)|0;q=c[F>>2]|0;n=c[G>>2]|0;o=q>>>8;s=-1;while(1){s=s+1|0;p=_(o,d[m+s>>0]|0)|0;if(n>>>0>=p>>>0)break;else q=p}u=n-p|0;c[G>>2]=u;m=q-p|0;c[F>>2]=m;p=u;while(1){if(m>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;m=m<<8;c[F>>2]=m;o=c[C>>2]|0;n=c[D>>2]|0;if(n>>>0<(c[E>>2]|0)>>>0){c[D>>2]=n+1;n=d[(c[e>>2]|0)+n>>0]|0}else n=0;c[C>>2]=n;u=((o<<8|n)>>>1&255|p<<8&2147483392)^255;c[G>>2]=u;p=u}t=s&65535;u=r-s&65535;m=k+2|0;s=t<<16>>16;if(t<<16>>16>0){n=30468+(d[31076+s>>0]|0)|0;r=c[F>>2]|0;o=c[G>>2]|0;p=r>>>8;t=-1;while(1){t=t+1|0;q=_(p,d[n+t>>0]|0)|0;if(o>>>0>=q>>>0)break;else r=q}p=o-q|0;c[G>>2]=p;n=r-q|0;c[F>>2]=n;q=p;while(1){if(n>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;n=n<<8;c[F>>2]=n;p=c[C>>2]|0;o=c[D>>2]|0;if(o>>>0<(c[E>>2]|0)>>>0){c[D>>2]=o+1;o=d[(c[e>>2]|0)+o>>0]|0}else o=0;c[C>>2]=o;r=((p<<8|o)>>>1&255|q<<8&2147483392)^255;c[G>>2]=r;q=r}b[k>>1]=t;o=s-t&65535;n=u;u=l}else{n=u;y=62}}else y=52}else{l=0;y=52}if((y|0)==52){m=k+2|0;n=0;y=62}if((y|0)==62){y=0;b[k>>1]=0;o=0;u=l}b[m>>1]=o;r=k+4|0;t=k+6|0;s=n<<16>>16;if(n<<16>>16>0){l=30468+(d[31076+s>>0]|0)|0;p=c[F>>2]|0;m=c[G>>2]|0;n=p>>>8;q=-1;while(1){q=q+1|0;o=_(n,d[l+q>>0]|0)|0;if(m>>>0>=o>>>0)break;else p=o}n=m-o|0;c[G>>2]=n;l=p-o|0;c[F>>2]=l;o=n;while(1){if(l>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;l=l<<8;c[F>>2]=l;n=c[C>>2]|0;m=c[D>>2]|0;if(m>>>0<(c[E>>2]|0)>>>0){c[D>>2]=m+1;m=d[(c[e>>2]|0)+m>>0]|0}else m=0;c[C>>2]=m;p=((n<<8|m)>>>1&255|o<<8&2147483392)^255;c[G>>2]=p;o=p}b[r>>1]=q;l=s-q&65535}else{b[r>>1]=0;l=0}b[t>>1]=l;r=u<<16>>16;if(u<<16>>16>0){l=30620+(d[31076+r>>0]|0)|0;p=c[F>>2]|0;m=c[G>>2]|0;n=p>>>8;q=-1;while(1){q=q+1|0;o=_(n,d[l+q>>0]|0)|0;if(m>>>0>=o>>>0)break;else p=o}u=m-o|0;c[G>>2]=u;l=p-o|0;c[F>>2]=l;o=u;while(1){if(l>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;l=l<<8;c[F>>2]=l;n=c[C>>2]|0;m=c[D>>2]|0;if(m>>>0<(c[E>>2]|0)>>>0){c[D>>2]=m+1;m=d[(c[e>>2]|0)+m>>0]|0}else m=0;c[C>>2]=m;u=((n<<8|m)>>>1&255|o<<8&2147483392)^255;c[G>>2]=u;o=u}u=q&65535;n=r-q&65535;m=k+8|0;l=k+10|0;t=u<<16>>16;if(u<<16>>16>0){o=30468+(d[31076+t>>0]|0)|0;s=c[F>>2]|0;p=c[G>>2]|0;q=s>>>8;u=-1;while(1){u=u+1|0;r=_(q,d[o+u>>0]|0)|0;if(p>>>0>=r>>>0)break;else s=r}q=p-r|0;c[G>>2]=q;o=s-r|0;c[F>>2]=o;r=q;while(1){if(o>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;o=o<<8;c[F>>2]=o;q=c[C>>2]|0;p=c[D>>2]|0;if(p>>>0<(c[E>>2]|0)>>>0){c[D>>2]=p+1;p=d[(c[e>>2]|0)+p>>0]|0}else p=0;c[C>>2]=p;s=((q<<8|p)>>>1&255|r<<8&2147483392)^255;c[G>>2]=s;r=s}b[m>>1]=u;m=t-u&65535}else y=91}else{m=k+8|0;l=k+10|0;n=0;y=91}if((y|0)==91){y=0;b[m>>1]=0;m=0}b[l>>1]=m;r=k+12|0;t=k+14|0;s=n<<16>>16;if(n<<16>>16>0){l=30468+(d[31076+s>>0]|0)|0;p=c[F>>2]|0;m=c[G>>2]|0;n=p>>>8;q=-1;while(1){q=q+1|0;o=_(n,d[l+q>>0]|0)|0;if(m>>>0>=o>>>0)break;else p=o}u=m-o|0;c[G>>2]=u;l=p-o|0;c[F>>2]=l;o=u;while(1){if(l>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;l=l<<8;c[F>>2]=l;n=c[C>>2]|0;m=c[D>>2]|0;if(m>>>0<(c[E>>2]|0)>>>0){c[D>>2]=m+1;m=d[(c[e>>2]|0)+m>>0]|0}else m=0;c[C>>2]=m;u=((n<<8|m)>>>1&255|o<<8&2147483392)^255;c[G>>2]=u;o=u}b[r>>1]=q;l=s-q&65535}else{b[r>>1]=0;l=0}b[t>>1]=l;r=v<<16>>16;if(w<<16>>16>0){l=30772+(d[31076+r>>0]|0)|0;p=c[F>>2]|0;m=c[G>>2]|0;n=p>>>8;q=-1;while(1){q=q+1|0;o=_(n,d[l+q>>0]|0)|0;if(m>>>0>=o>>>0)break;else p=o}w=m-o|0;c[G>>2]=w;l=p-o|0;c[F>>2]=l;o=w;while(1){if(l>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;l=l<<8;c[F>>2]=l;n=c[C>>2]|0;m=c[D>>2]|0;if(m>>>0<(c[E>>2]|0)>>>0){c[D>>2]=m+1;m=d[(c[e>>2]|0)+m>>0]|0}else m=0;c[C>>2]=m;w=((n<<8|m)>>>1&255|o<<8&2147483392)^255;c[G>>2]=w;o=w}w=q&65535;l=r-q&65535;r=w<<16>>16;if(w<<16>>16>0){m=30620+(d[31076+r>>0]|0)|0;q=c[F>>2]|0;n=c[G>>2]|0;o=q>>>8;s=-1;while(1){s=s+1|0;p=_(o,d[m+s>>0]|0)|0;if(n>>>0>=p>>>0)break;else q=p}w=n-p|0;c[G>>2]=w;m=q-p|0;c[F>>2]=m;p=w;while(1){if(m>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;m=m<<8;c[F>>2]=m;o=c[C>>2]|0;n=c[D>>2]|0;if(n>>>0<(c[E>>2]|0)>>>0){c[D>>2]=n+1;n=d[(c[e>>2]|0)+n>>0]|0}else n=0;c[C>>2]=n;w=((o<<8|n)>>>1&255|p<<8&2147483392)^255;c[G>>2]=w;p=w}w=s&65535;o=r-s&65535;t=k+16|0;m=k+18|0;u=w<<16>>16;if(w<<16>>16>0){n=30468+(d[31076+u>>0]|0)|0;s=c[F>>2]|0;p=c[G>>2]|0;q=s>>>8;v=-1;while(1){v=v+1|0;r=_(q,d[n+v>>0]|0)|0;if(p>>>0>=r>>>0)break;else s=r}w=p-r|0;c[G>>2]=w;n=s-r|0;c[F>>2]=n;r=w;while(1){if(n>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;n=n<<8;c[F>>2]=n;q=c[C>>2]|0;p=c[D>>2]|0;if(p>>>0<(c[E>>2]|0)>>>0){c[D>>2]=p+1;p=d[(c[e>>2]|0)+p>>0]|0}else p=0;c[C>>2]=p;w=((q<<8|p)>>>1&255|r<<8&2147483392)^255;c[G>>2]=w;r=w}b[t>>1]=v;n=u-v&65535;u=l}else{n=t;y=128}}else y=118}else{l=0;y=118}if((y|0)==118){n=k+16|0;m=k+18|0;o=0;y=128}if((y|0)==128){y=0;b[n>>1]=0;n=0;u=l}b[m>>1]=n;r=k+20|0;t=k+22|0;s=o<<16>>16;if(o<<16>>16>0){l=30468+(d[31076+s>>0]|0)|0;p=c[F>>2]|0;m=c[G>>2]|0;n=p>>>8;q=-1;while(1){q=q+1|0;o=_(n,d[l+q>>0]|0)|0;if(m>>>0>=o>>>0)break;else p=o}w=m-o|0;c[G>>2]=w;l=p-o|0;c[F>>2]=l;o=w;while(1){if(l>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;l=l<<8;c[F>>2]=l;n=c[C>>2]|0;m=c[D>>2]|0;if(m>>>0<(c[E>>2]|0)>>>0){c[D>>2]=m+1;m=d[(c[e>>2]|0)+m>>0]|0}else m=0;c[C>>2]=m;w=((n<<8|m)>>>1&255|o<<8&2147483392)^255;c[G>>2]=w;o=w}b[r>>1]=q;l=s-q&65535}else{b[r>>1]=0;l=0}b[t>>1]=l;r=u<<16>>16;if(u<<16>>16>0){l=30620+(d[31076+r>>0]|0)|0;p=c[F>>2]|0;m=c[G>>2]|0;n=p>>>8;q=-1;while(1){q=q+1|0;o=_(n,d[l+q>>0]|0)|0;if(m>>>0>=o>>>0)break;else p=o}w=m-o|0;c[G>>2]=w;l=p-o|0;c[F>>2]=l;o=w;while(1){if(l>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;l=l<<8;c[F>>2]=l;n=c[C>>2]|0;m=c[D>>2]|0;if(m>>>0<(c[E>>2]|0)>>>0){c[D>>2]=m+1;m=d[(c[e>>2]|0)+m>>0]|0}else m=0;c[C>>2]=m;w=((n<<8|m)>>>1&255|o<<8&2147483392)^255;c[G>>2]=w;o=w}w=q&65535;n=r-q&65535;m=k+24|0;l=k+26|0;t=w<<16>>16;if(w<<16>>16>0){o=30468+(d[31076+t>>0]|0)|0;s=c[F>>2]|0;p=c[G>>2]|0;q=s>>>8;u=-1;while(1){u=u+1|0;r=_(q,d[o+u>>0]|0)|0;if(p>>>0>=r>>>0)break;else s=r}w=p-r|0;c[G>>2]=w;o=s-r|0;c[F>>2]=o;r=w;while(1){if(o>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;o=o<<8;c[F>>2]=o;q=c[C>>2]|0;p=c[D>>2]|0;if(p>>>0<(c[E>>2]|0)>>>0){c[D>>2]=p+1;p=d[(c[e>>2]|0)+p>>0]|0}else p=0;c[C>>2]=p;w=((q<<8|p)>>>1&255|r<<8&2147483392)^255;c[G>>2]=w;r=w}b[m>>1]=u;m=t-u&65535}else y=157}else{m=k+24|0;l=k+26|0;n=0;y=157}if((y|0)==157){y=0;b[m>>1]=0;m=0}b[l>>1]=m;r=k+28|0;s=k+30|0;q=n<<16>>16;if(n<<16>>16>0){k=30468+(d[31076+q>>0]|0)|0;o=c[F>>2]|0;l=c[G>>2]|0;m=o>>>8;p=-1;while(1){p=p+1|0;n=_(m,d[k+p>>0]|0)|0;if(l>>>0>=n>>>0)break;else o=n}w=l-n|0;c[G>>2]=w;k=o-n|0;c[F>>2]=k;n=w;while(1){if(k>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;k=k<<8;c[F>>2]=k;m=c[C>>2]|0;l=c[D>>2]|0;if(l>>>0<(c[E>>2]|0)>>>0){c[D>>2]=l+1;l=d[(c[e>>2]|0)+l>>0]|0}else l=0;c[C>>2]=l;w=((m<<8|l)>>>1&255|n<<8&2147483392)^255;c[G>>2]=w;n=w}b[r>>1]=p;k=q-p&65535}else{b[r>>1]=0;k=0}b[s>>1]=k}else{l=k+32|0;do{b[k>>1]=0;k=k+2|0}while((k|0)<(l|0))}x=x+1|0}while(1){if((s|0)>=(z|0))break;o=c[A+(s<<2)>>2]|0;if((o|0)>0){p=f+(s<<16>>12<<1)|0;u=0;while(1){if((u|0)==16)break;q=p+(u<<1)|0;r=b[q>>1]|0;t=0;while(1){if((t|0)==(o|0))break;n=c[F>>2]|0;k=c[G>>2]|0;l=n>>>8;v=-1;while(1){v=v+1|0;m=_(l,d[29928+v>>0]|0)|0;if(k>>>0>=m>>>0)break;else n=m}y=k-m|0;c[G>>2]=y;k=n-m|0;c[F>>2]=k;n=y;while(1){if(k>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;k=k<<8;c[F>>2]=k;m=c[C>>2]|0;l=c[D>>2]|0;if(l>>>0<(c[E>>2]|0)>>>0){c[D>>2]=l+1;l=d[(c[e>>2]|0)+l>>0]|0}else l=0;c[C>>2]=l;y=((m<<8|l)>>>1&255|n<<8&2147483392)^255;c[G>>2]=y;n=y}r=(r<<1)+v|0;t=t+1|0}b[q>>1]=r;u=u+1|0}y=I+(s<<2)|0;c[y>>2]=c[y>>2]|o<<5}s=s+1|0}a[H+1>>0]=0;t=31093+(((g<<1)+h<<16>>16)*7|0)|0;r=j+8>>4;s=0;while(1){if((s|0)>=(r|0))break;k=c[I+(s<<2)>>2]|0;b:do if((k|0)>0){a[H>>0]=a[t+((k&30)>>>0<6?k&31:6)>>0]|0;p=0;while(1){if((p|0)==16)break b;o=f+(p<<1)|0;if((b[o>>1]|0)>0){n=c[F>>2]|0;k=c[G>>2]|0;l=n>>>8;q=-1;while(1){q=q+1|0;m=_(l,d[H+q>>0]|0)|0;if(k>>>0>=m>>>0)break;else n=m}j=k-m|0;c[G>>2]=j;k=n-m|0;c[F>>2]=k;n=j;while(1){if(k>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;k=k<<8;c[F>>2]=k;m=c[C>>2]|0;l=c[D>>2]|0;if(l>>>0<(c[E>>2]|0)>>>0){c[D>>2]=l+1;l=d[(c[e>>2]|0)+l>>0]|0}else l=0;c[C>>2]=l;j=((m<<8|l)>>>1&255|n<<8&2147483392)^255;c[G>>2]=j;n=j}b[o>>1]=_(b[o>>1]|0,(q<<1)+-1|0)|0}p=p+1|0}}while(0);s=s+1|0;f=f+32|0}i=J;return} -function ge(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=0;while(1){if((n|0)>=(h|0))break;m=e+(n<<2)|0;i=c[m>>2]|0;l=aa(i|0)|0;j=24-l|0;k=0-j|0;do if(j)if((j|0)<0){i=i<>>(j+32|0);break}else{i=i<<32-j|i>>>j;break}while(0);k=i&127;k=(((k+(((_(k,128-k|0)|0)*179|0)>>>16)+(31-l<<7)<<16)+-136970240>>16)*2251|0)>>>16;i=k&255;l=b+n|0;a[l>>0]=i;if((k<<24>>24|0)<(a[f>>0]|0)){i=i+1<<24>>24;a[l>>0]=i}if(i<<24>>24>63)i=63;else i=(i<<24>>24>0?i:0)<<24>>24;a[l>>0]=i;if(!(n|g)){i=(a[f>>0]|0)+-4|0;j=a[b>>0]|0;if((i|0)>63){if((j<<24>>24|0)<=(i|0))i=(j<<24>>24>63?j:63)<<24>>24}else if(j<<24>>24>63)i=63;else{l=j<<24>>24;i=(l|0)<(i|0)?i:l}i=i&255;a[b>>0]=i;a[f>>0]=i}else{j=(i&255)-(d[f>>0]|0)|0;i=j&255;a[l>>0]=i;k=(a[f>>0]|0)+8|0;j=j<<24>>24;if((j|0)>(k|0)){i=k+((j-k+1|0)>>>1)&255;a[l>>0]=i}if(i<<24>>24>36)i=36;else i=(i<<24>>24>-4?i:-4)<<24>>24;a[l>>0]=i;if((i|0)>(k|0))i=(a[f>>0]|0)+((i<<1)-k)|0;else i=(d[f>>0]|0)+(i&255)|0;a[f>>0]=i;a[l>>0]=(d[l>>0]|0)+4;i=a[f>>0]|0}i=i<<24>>24;i=(i*29|0)+(i*7281>>16)|0;k=i+2090|0;if((k|0)<3967)if((i|0)<-2090)i=0;else{i=k>>7;l=1<>16)<>7;else i=_(l>>7,j+((_(_(j,128-j|0)|0,-174)|0)>>16)|0)|0;i=l+i|0}else i=2147483647;c[m>>2]=i;n=n+1|0}return}function he(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=0;while(1){if((l|0)>=(g|0))break;do if(l|f){h=(a[d+l>>0]|0)+-4|0;i=a[e>>0]|0;j=i<<24>>24;k=j+8|0;if((h|0)>(k|0)){i=j+((h<<1)-k)|0;break}else{i=(i&255)+h|0;break}}else{k=a[d>>0]|0;i=(a[e>>0]|0)+-16|0;i=(k|0)>(i|0)?k:i}while(0);h=i&255;a[e>>0]=h;if(h<<24>>24<=63)if(h<<24>>24<0)h=0;else h=i<<24>>24;else h=63;a[e>>0]=h;h=(h*29|0)+(h*7281>>16)|0;j=h+2090|0;if((j|0)<3967)if((h|0)<-2090)h=0;else{h=j>>7;k=1<>16)<>7;else h=_(k>>7,i+((_(_(i,128-i|0)|0,-174)|0)>>16)|0)|0;h=k+h|0}else h=2147483647;c[b+(l<<2)>>2]=h;l=l+1|0}return}function ie(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+80|0;q=t+64|0;s=t;Cd(t+32|0,q,g,a[f>>0]|0);m=f+1|0;n=b[g+4>>1]|0;r=g+2|0;h=b[r>>1]|0;o=h<<16>>16;j=o;k=0;while(1){p=j+-1|0;if((j|0)<=0)break;l=(_(k<<16>>16,d[q+p>>0]|0)|0)>>8;j=a[m+p>>0]|0;k=j<<24>>24<<10;if(j<<24>>24>0)j=k+-102|0;else j=j<<24>>24<0?k|102:k;k=l+((_(j>>16,n)|0)+((_(j&65535,n)|0)>>16))|0;b[s+(p<<1)>>1]=k;j=p}l=_(a[f>>0]|0,o)|0;k=(c[g+8>>2]|0)+l|0;l=(c[g+12>>2]|0)+(l<<1)|0;j=0;while(1){h=h<<16>>16;if((j|0)>=(h|0))break;h=((b[s+(j<<1)>>1]<<14|0)/(b[l+(j<<1)>>1]|0)|0)+(d[k+j>>0]<<7)|0;b[e+(j<<1)>>1]=(h|0)>32767?32767:((h|0)<0?0:h)&65535;h=b[r>>1]|0;j=j+1|0}ve(e,c[g+36>>2]|0,h);i=t;return}function je(d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0;ab=i;Za=e+4436|0;c[Za>>2]=a[f+34>>0];_a=e+4424|0;sa=c[_a>>2]|0;Wa=b[f+30>>1]|0;Ja=f+29|0;Ka=b[25404+(a[Ja>>0]>>1<<2)+((Wa&65535)<<24>>24<<1)>>1]|0;Wa=(Wa&-256)<<16>>16!=1024&1;La=d+4684|0;ra=c[La>>2]|0;Ma=d+4676|0;Pa=ra+(c[Ma>>2]|0)|0;Na=i;i=i+((1*(Pa<<2)|0)+15&-16)|0;Oa=i;i=i+((1*(Pa<<1)|0)+15&-16)|0;Pa=d+4680|0;Qa=i;i=i+((1*(c[Pa>>2]<<2)|0)+15&-16)|0;Ra=e+4432|0;c[Ra>>2]=ra;ra=c[La>>2]|0;Sa=e+4428|0;c[Sa>>2]=ra;Ta=d+4672|0;Ua=Wa^1;Va=e+4444|0;Wa=Wa<<1^3;Xa=d+4732|0;Ya=e+4440|0;Ba=d+4728|0;Ca=e+3996|0;Da=e+4420|0;Ea=e+4320|0;Fa=e+4416|0;Ga=(r|0)>2048;Ia=(r|0)/2|0;Ha=Ia+-512|0;Ia=512-Ia|0;ua=r<<16>>16;va=Ka+944|0;wa=_(Ka,ua)|0;xa=_(va<<16>>16,ua)|0;ya=Ka+-944|0;za=_(944-Ka<<16>>16,ua)|0;Aa=e+3840|0;ta=s<<16>>16;d=ra;ra=0;r=sa;sa=e+(c[La>>2]<<1)|0;while(1){f=c[Ta>>2]|0;if((ra|0)>=(f|0))break;oa=j+((ra>>1|Ua)<<4<<1)|0;pa=k+(ra*5<<1)|0;qa=l+(ra*24<<1)|0;D=c[m+(ra<<2)>>2]|0;B=D>>2;D=B|D<<15;c[Va>>2]=0;f=a[Ja>>0]|0;s=q+(ra<<2)|0;if(f<<24>>24==2){f=c[s>>2]|0;if(!(ra&Wa)){z=c[La>>2]|0;d=c[Xa>>2]|0;w=z-f-d+-2|0;se(Oa+(w<<1)|0,e+(w+(_(ra,c[Pa>>2]|0)|0)<<1)|0,oa,z-w|0,d);c[Va>>2]=1;d=c[La>>2]|0;c[Sa>>2]=d;w=1;z=a[Ja>>0]|0;r=f}else{w=0;z=2;r=f}}else{w=0;z=f}y=c[s>>2]|0;A=p+(ra<<2)|0;x=c[A>>2]|0;s=(x|0)>1;f=aa((s?x:1)|0)|0;s=(s?x:1)<>16;u=536870911/(la|0)|0;ma=u<<16;na=ma>>16;s=536870912-((_(la,na)|0)+((_(s&65535,na)|0)>>16))<<3;u=ma+((_(s>>16,na)|0)+((_(s&65528,na)|0)>>16))+(_(s,(u>>15)+1>>1)|0)|0;f=62-f|0;s=f+-47|0;if((s|0)<1){t=47-f|0;f=-2147483648>>t;s=2147483647>>>t;if((f|0)>(s|0)){if((u|0)<=(f|0))f=(u|0)<(s|0)?s:u}else if((u|0)>(s|0))f=s;else f=(u|0)<(f|0)?f:u;f=f<>s:0;t=(f>>4)+1|0;s=t>>>1<<16>>16;t=(t>>16)+1>>1;v=c[Pa>>2]|0;u=0;while(1){if((u|0)>=(v|0))break;ma=b[g+(u<<1)>>1]|0;na=ma<<16>>16;c[Qa+(u<<2)>>2]=(_(na>>16,s)|0)+((_(ma&65535,s)|0)>>16)+(_(na,t)|0);u=u+1|0}a:do if(w|0){if(!ra)f=(_(f>>16,ta)|0)+((_(f&65535,ta)|0)>>16)<<2;t=f>>16;f=f&65535;s=d-y+-2|0;while(1){if((s|0)>=(d|0))break a;na=b[Oa+(s<<1)>>1]|0;c[Na+(s<<2)>>2]=(_(t,na)|0)+((_(f,na)|0)>>16);s=s+1|0}}while(0);s=c[Ya>>2]|0;if((x|0)==(s|0))f=z;else{if((s|0)<=0)if(!s)t=32;else{f=0-s|0;$a=26}else{f=s;$a=26}if(($a|0)==26){$a=0;t=aa(f|0)|0}d=s<>16|0)|0)<<16>>16;na=(_(d>>16,u)|0)+((_(d&65535,u)|0)>>16)|0;ma=zf(ma|0,((ma|0)<0)<<31>>31|0,na|0,((na|0)<0)<<31>>31|0)|0;ma=qf(ma|0,C|0,29)|0;d=d-(ma&-8)|0;u=na+((_(d>>16,u)|0)+((_(d&65535,u)|0)>>16))|0;f=t+28-f|0;d=f+-16|0;if((f|0)<16){s=16-f|0;f=-2147483648>>s;d=2147483647>>>s;if((f|0)>(d|0)){if((u|0)<=(f|0))f=(u|0)<(d|0)?d:u}else if((u|0)>(d|0))f=d;else f=(u|0)<(f|0)?f:u;s=f<>d:0;d=c[Ra>>2]|0;t=s>>16;u=s&65535;f=d;d=d-(c[La>>2]|0)|0;while(1){if((d|0)>=(f|0))break;f=e+1280+(d<<2)|0;na=c[f>>2]|0;ma=na<<16>>16;c[f>>2]=(_(t,ma)|0)+((_(u,ma)|0)>>16)+(_(s,(na>>15)+1>>1)|0);f=c[Ra>>2]|0;d=d+1|0}b:do if(z<<24>>24==2?(c[Va>>2]|0)==0:0){d=c[Sa>>2]|0;f=d-y+-2|0;while(1){if((f|0)>=(d|0))break b;na=Na+(f<<2)|0;ma=c[na>>2]|0;la=ma<<16>>16;c[na>>2]=(_(t,la)|0)+((_(u,la)|0)>>16)+(_(s,(ma>>15)+1>>1)|0);f=f+1|0}}while(0);f=c[Fa>>2]|0;na=f<<16>>16;c[Fa>>2]=(_(t,na)|0)+((_(u,na)|0)>>16)+(_(s,(f>>15)+1>>1)|0);f=c[Da>>2]|0;na=f<<16>>16;c[Da>>2]=(_(t,na)|0)+((_(u,na)|0)>>16)+(_(s,(f>>15)+1>>1)|0);f=0;while(1){if((f|0)==40){f=0;break}na=e+3840+(f<<2)|0;ma=c[na>>2]|0;la=ma<<16>>16;c[na>>2]=(_(t,la)|0)+((_(u,la)|0)>>16)+(_(s,(ma>>15)+1>>1)|0);f=f+1|0}while(1){if((f|0)==24)break;na=e+4320+(f<<2)|0;ma=c[na>>2]|0;la=ma<<16>>16;c[na>>2]=(_(t,la)|0)+((_(u,la)|0)>>16)+(_(s,(ma>>15)+1>>1)|0);f=f+1|0}c[Ya>>2]=c[A>>2];d=c[Sa>>2]|0;x=c[A>>2]|0;f=a[Ja>>0]|0;v=c[Pa>>2]|0}U=c[o+(ra<<2)>>2]|0;W=c[Ba>>2]|0;ha=c[Xa>>2]|0;X=ha>>1;Y=oa+2|0;Z=oa+4|0;$=oa+6|0;ba=oa+8|0;ca=oa+10|0;da=oa+12|0;ea=oa+14|0;fa=oa+16|0;ga=oa+18|0;ha=(ha|0)==16;ia=oa+20|0;ja=oa+22|0;ka=oa+24|0;la=oa+26|0;ma=oa+28|0;na=oa+30|0;K=f<<24>>24==2;L=pa+2|0;M=pa+4|0;N=pa+6|0;O=pa+8|0;P=W>>1;R=W+-1|0;Q=e+4320+(R<<2)|0;R=qa+(R<<1)|0;S=c[n+(ra<<2)>>2]<<16>>16;T=U<<16>>16;U=U>>16;V=(r|0)>0;J=B<<16>>16;H=D>>16;I=x>>>6<<16>>16;F=(x>>21)+1>>1;f=d;G=0;d=Na+(d-r+2<<2)|0;E=Ca;u=e+1280+((c[Ra>>2]|0)-r+1<<2)|0;while(1){if((G|0)>=(v|0))break;c[Za>>2]=(_(c[Za>>2]|0,196314165)|0)+907633515;D=c[E>>2]|0;B=b[oa>>1]|0;B=X+((_(D>>16,B)|0)+((_(D&65535,B)|0)>>16))|0;D=c[E+-4>>2]|0;f=b[Y>>1]|0;f=B+((_(D>>16,f)|0)+((_(D&65535,f)|0)>>16))|0;D=c[E+-8>>2]|0;B=b[Z>>1]|0;B=f+((_(D>>16,B)|0)+((_(D&65535,B)|0)>>16))|0;D=c[E+-12>>2]|0;f=b[$>>1]|0;f=B+((_(D>>16,f)|0)+((_(D&65535,f)|0)>>16))|0;D=c[E+-16>>2]|0;B=b[ba>>1]|0;B=f+((_(D>>16,B)|0)+((_(D&65535,B)|0)>>16))|0;D=c[E+-20>>2]|0;f=b[ca>>1]|0;f=B+((_(D>>16,f)|0)+((_(D&65535,f)|0)>>16))|0;D=c[E+-24>>2]|0;B=b[da>>1]|0;B=f+((_(D>>16,B)|0)+((_(D&65535,B)|0)>>16))|0;D=c[E+-28>>2]|0;f=b[ea>>1]|0;f=B+((_(D>>16,f)|0)+((_(D&65535,f)|0)>>16))|0;D=c[E+-32>>2]|0;B=b[fa>>1]|0;B=f+((_(D>>16,B)|0)+((_(D&65535,B)|0)>>16))|0;D=c[E+-36>>2]|0;f=b[ga>>1]|0;f=B+((_(D>>16,f)|0)+((_(D&65535,f)|0)>>16))|0;if(ha){D=c[E+-40>>2]|0;B=b[ia>>1]|0;B=f+((_(D>>16,B)|0)+((_(D&65535,B)|0)>>16))|0;D=c[E+-44>>2]|0;f=b[ja>>1]|0;f=B+((_(D>>16,f)|0)+((_(D&65535,f)|0)>>16))|0;D=c[E+-48>>2]|0;B=b[ka>>1]|0;B=f+((_(D>>16,B)|0)+((_(D&65535,B)|0)>>16))|0;D=c[E+-52>>2]|0;f=b[la>>1]|0;f=B+((_(D>>16,f)|0)+((_(D&65535,f)|0)>>16))|0;D=c[E+-56>>2]|0;B=b[ma>>1]|0;B=f+((_(D>>16,B)|0)+((_(D&65535,B)|0)>>16))|0;D=c[E+-60>>2]|0;f=b[na>>1]|0;f=B+((_(D>>16,f)|0)+((_(D&65535,f)|0)>>16))|0}if(K){D=c[d>>2]|0;B=b[pa>>1]|0;B=(_(D>>16,B)|0)+((_(D&65535,B)|0)>>16)+2|0;D=c[d+-4>>2]|0;A=b[L>>1]|0;A=B+((_(D>>16,A)|0)+((_(D&65535,A)|0)>>16))|0;D=c[d+-8>>2]|0;B=b[M>>1]|0;B=A+((_(D>>16,B)|0)+((_(D&65535,B)|0)>>16))|0;D=c[d+-12>>2]|0;A=b[N>>1]|0;A=B+((_(D>>16,A)|0)+((_(D&65535,A)|0)>>16))|0;D=c[d+-16>>2]|0;B=b[O>>1]|0;B=A+((_(D>>16,B)|0)+((_(D&65535,B)|0)>>16))|0;D=d+4|0}else{B=0;D=d}A=c[Da>>2]|0;t=c[Ea>>2]|0;c[Ea>>2]=A;s=b[qa>>1]|0;d=2;s=P+((_(A>>16,s)|0)+((_(A&65535,s)|0)>>16))|0;while(1){if((d|0)>=(W|0))break;x=d+-1|0;z=e+4320+(x<<2)|0;y=c[z>>2]|0;c[z>>2]=t;x=b[qa+(x<<1)>>1]|0;z=e+4320+(d<<2)|0;A=c[z>>2]|0;c[z>>2]=y;x=x<<16>>16;z=b[qa+(d<<1)>>1]|0;d=d+2|0;s=s+((_(t>>16,x)|0)+((_(t&65535,x)|0)>>16))+((_(y>>16,z)|0)+((_(y&65535,z)|0)>>16))|0;t=A}c[Q>>2]=t;y=b[R>>1]|0;y=s+((_(t>>16,y)|0)+((_(t&65535,y)|0)>>16))<<1;z=c[Fa>>2]|0;d=z>>16;z=z&65535;y=y+((_(d,S)|0)+((_(z,S)|0)>>16))|0;A=c[e+1280+((c[Ra>>2]|0)+-1<<2)>>2]|0;z=(_(A>>16,T)|0)+((_(A&65535,T)|0)>>16)+(_(d,U)|0)+((_(z,U)|0)>>16)|0;d=(f<<2)-y-z|0;if(V){w=(c[u>>2]|0)+(c[u+-8>>2]|0)|0;w=(_(w>>16,J)|0)+((_(w&65535,J)|0)>>16)|0;x=c[u+-4>>2]|0;A=u+4|0;d=B-(w+(_(x>>16,H)|0)+((_(x&65535,H)|0)>>16)<<1)+(d<<1)>>2}else{A=u;d=d>>1}x=Qa+(G<<2)|0;w=(c[x>>2]|0)-(d+1>>1)|0;w=(c[Za>>2]|0)<0?0-w|0:w;w=(w|0)>30720?30720:(w|0)<-31744?-31744:w;d=w-Ka|0;do if(Ga){if((d|0)>(Ha|0)){d=d-Ha|0;$a=70;break}if((d|0)>=(Ia|0))if((d|0)<0){$a=73;break}else{d=Ka;s=va;t=wa;u=xa;break}else{d=d+Ha|0;$a=70;break}}else $a=70;while(0);c:do if(($a|0)==70){$a=0;d=d>>10;if((d|0)>0){t=(d<<10)+-80+Ka|0;u=t+1024|0;d=t;s=u;t=_(t<<16>>16,ua)|0;u=_(u<<16>>16,ua)|0;break}switch(d|0){case 0:{d=Ka;s=va;t=wa;u=xa;break c}case -1:{$a=73;break c}default:{}}u=(d<<10|80)+Ka|0;d=u;s=u+1024|0;t=_(0-u<<16>>16,ua)|0;u=_(-1024-u<<16>>16,ua)|0}while(0);if(($a|0)==73){$a=0;d=ya;s=Ka;t=za;u=wa}bb=w-d<<16>>16;w=w-s<<16>>16;u=(u+(_(w,w)|0)|0)<(t+(_(bb,bb)|0)|0);u=u?s:d;d=h+G|0;a[d>>0]=((u>>>9)+1|0)>>>1;u=u<<4;B=((c[Za>>2]|0)<0?0-u|0:u)+(B<<1)|0;f=B+(f<<4)|0;u=((_(f>>16,I)|0)+((_(f&65534,I)|0)>>16)+(_(f,F)|0)>>7)+1>>1;b[sa+(G<<1)>>1]=(u|0)>32767?32767:((u|0)<-32768?-32768:u)&65535;u=E+4|0;c[u>>2]=f;f=f-(c[x>>2]<<4)|0;c[Da>>2]=f;f=f-(y<<2)|0;c[Fa>>2]=f;c[e+1280+(c[Ra>>2]<<2)>>2]=f-(z<<2);f=c[Sa>>2]|0;c[Na+(f<<2)>>2]=B<<1;c[Ra>>2]=(c[Ra>>2]|0)+1;f=f+1|0;c[Sa>>2]=f;c[Za>>2]=(c[Za>>2]|0)+(a[d>>0]|0);G=G+1|0;d=D;E=u;u=A}rf(Aa|0,e+3840+(v<<2)|0,160)|0;bb=c[Pa>>2]|0;g=g+(bb<<1)|0;h=h+bb|0;d=f;ra=ra+1|0;sa=sa+(bb<<1)|0}c[_a>>2]=c[q+(f+-1<<2)>>2];sf(e|0,e+(c[Ma>>2]<<1)|0,c[La>>2]<<1|0)|0;sf(e+1280|0,e+1280+(c[Ma>>2]<<2)|0,c[La>>2]<<2|0)|0;i=ab;return}function ke(e,f,g,h,j,k,l,m,n,o,p,q,r,s,t){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;sa=i;i=i+176|0;ka=sa+160|0;ga=sa;la=f+4424|0;A=c[la>>2]|0;ea=e+4720|0;u=c[ea>>2]|0;oa=i;i=i+((1*(u*1396|0)|0)+15&-16)|0;nf(oa|0,0,u*1396|0)|0;ja=g+34|0;pa=f+4416|0;qa=f+4420|0;ra=e+4684|0;ma=f+3840|0;na=f+4320|0;v=0;while(1){if((v|0)>=(u|0))break;w=v+(d[ja>>0]|0)&3;c[oa+(v*1396|0)+1384>>2]=w;c[oa+(v*1396|0)+1388>>2]=w;c[oa+(v*1396|0)+1392>>2]=0;c[oa+(v*1396|0)+1376>>2]=c[pa>>2];c[oa+(v*1396|0)+1380>>2]=c[qa>>2];c[oa+(v*1396|0)+1120>>2]=c[f+1280+((c[ra>>2]|0)+-1<<2)>>2];rf(oa+(v*1396|0)|0,ma|0,160)|0;w=oa+(v*1396|0)+1280|0;y=na;z=w+96|0;do{c[w>>2]=c[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));v=v+1|0}w=b[g+30>>1]|0;Z=g+29|0;fa=a[Z>>0]|0;$=b[25404+(fa<<24>>24>>1<<2)+((w&65535)<<24>>24<<1)>>1]|0;c[ka>>2]=0;ia=e+4680|0;x=c[ia>>2]|0;u=(x|0)>40?40:x;a:do if(fa<<24>>24!=2)if((A|0)>0){ca=A+-3|0;ca=(u|0)<(ca|0)?u:ca}else ca=u;else{g=c[e+4672>>2]|0;v=0;while(1){if((v|0)>=(g|0)){ca=u;break a}fa=(c[r+(v<<2)>>2]|0)+-3|0;u=(u|0)<(fa|0)?u:fa;v=v+1|0}}while(0);P=(w&-256)<<16>>16!=1024&1;Y=c[ra>>2]|0;fa=e+4676|0;W=Y+(c[fa>>2]|0)|0;U=i;i=i+((1*(W<<2)|0)+15&-16)|0;V=i;i=i+((1*(W<<1)|0)+15&-16)|0;W=i;i=i+((1*(x<<2)|0)+15&-16)|0;ba=f+4432|0;c[ba>>2]=Y;M=f+4428|0;c[M>>2]=c[ra>>2];da=e+4672|0;N=P^1;O=f+4444|0;P=P<<1^3;X=oa+1392|0;Q=q+4|0;R=e+4732|0;S=f+4440|0;T=e+4728|0;L=e+4764|0;K=t<<16>>16;J=0;g=A;Y=f+(Y<<1)|0;v=0;while(1){if((J|0)>=(c[da>>2]|0))break;F=k+((J>>1|N)<<4<<1)|0;G=l+(J*5<<1)|0;H=m+(J*24<<1)|0;I=c[n+(J<<2)>>2]|0;I=I>>2|I>>>1<<16;c[O>>2]=0;u=a[Z>>0]|0;y=r+(J<<2)|0;if(u<<24>>24==2){x=c[y>>2]|0;if(!(J&P)){b:do if((J|0)==2){g=c[ea>>2]|0;u=c[X>>2]|0;w=0;v=1;while(1){if((v|0)>=(g|0)){u=0;break}D=c[oa+(v*1396|0)+1392>>2]|0;E=(D|0)<(u|0);u=E?D:u;w=E?v:w;v=v+1|0}while(1){if((u|0)>=(g|0))break;if((u|0)!=(w|0)){E=oa+(u*1396|0)+1392|0;c[E>>2]=(c[E>>2]|0)+134217727}u=u+1|0}u=0;v=(c[ka>>2]|0)+ca|0;while(1){if((u|0)>=(ca|0)){v=0;break b}E=(v+-1|0)%40|0;E=(E|0)<0?E+40|0:E;D=u-ca|0;a[j+D>>0]=(((c[oa+(w*1396|0)+640+(E<<2)>>2]|0)>>>9)+1|0)>>>1;A=c[oa+(w*1396|0)+800+(E<<2)>>2]|0;B=c[Q>>2]|0;t=B<<16>>16;B=((_(A>>16,t)|0)+((_(A&65535,t)|0)>>16)+(_(A,(B>>15)+1>>1)|0)>>13)+1>>1;b[Y+(D<<1)>>1]=(B|0)>32767?32767:((B|0)<-32768?-32768:B)&65535;c[f+1280+((c[ba>>2]|0)-ca+u<<2)>>2]=c[oa+(w*1396|0)+1120+(E<<2)>>2];u=u+1|0;v=E}}while(0);E=c[ra>>2]|0;t=c[R>>2]|0;u=E-x-t+-2|0;se(V+(u<<1)|0,f+(u+(_(J,c[ia>>2]|0)|0)<<1)|0,F,E-u|0,t);c[M>>2]=c[ra>>2];c[O>>2]=1;t=1;u=a[Z>>0]|0;E=x;D=v}else{t=0;u=2;E=x;D=v}}else{t=0;E=g;D=v}v=c[ea>>2]|0;A=c[y>>2]|0;B=q+(J<<2)|0;w=c[B>>2]|0;x=(w|0)>1;g=aa((x?w:1)|0)|0;x=(x?w:1)<>16;z=536870911/(ta|0)|0;y=z<<16;e=y>>16;x=536870912-((_(ta,e)|0)+((_(x&65535,e)|0)>>16))<<3;z=y+((_(x>>16,e)|0)+((_(x&65528,e)|0)>>16))+(_(x,(z>>15)+1>>1)|0)|0;g=62-g|0;x=g+-47|0;if((x|0)<1){y=47-g|0;g=-2147483648>>y;x=2147483647>>>y;if((g|0)>(x|0)){if((z|0)<=(g|0))g=(z|0)<(x|0)?x:z}else if((z|0)>(x|0))g=x;else g=(z|0)<(g|0)?g:z;x=g<>x:0;z=(x>>4)+1|0;y=z>>>1<<16>>16;z=(z>>16)+1>>1;g=c[ia>>2]|0;e=0;while(1){if((e|0)>=(g|0))break;ua=b[h+(e<<1)>>1]|0;ta=ua<<16>>16;c[W+(e<<2)>>2]=(_(ta>>16,y)|0)+((_(ua&65535,y)|0)>>16)+(_(ta,z)|0);e=e+1|0}c:do if(t|0){if(!J)x=(_(x>>16,K)|0)+((_(x&65535,K)|0)>>16)<<2;z=c[M>>2]|0;e=x>>16;x=x&65535;y=z-A+-2|0;while(1){if((y|0)>=(z|0))break c;ua=b[V+(y<<1)>>1]|0;c[U+(y<<2)>>2]=(_(e,ua)|0)+((_(x,ua)|0)>>16);y=y+1|0}}while(0);x=c[S>>2]|0;if((w|0)!=(x|0)){if((x|0)<=0)if(!x)y=32;else{g=0-x|0;ha=46}else{g=x;ha=46}if((ha|0)==46){ha=0;y=aa(g|0)|0}x=x<>16|0)|0)<<16>>16;ua=(_(x>>16,z)|0)+((_(x&65535,z)|0)>>16)|0;w=zf(w|0,((w|0)<0)<<31>>31|0,ua|0,((ua|0)<0)<<31>>31|0)|0;w=qf(w|0,C|0,29)|0;w=x-(w&-8)|0;z=ua+((_(w>>16,z)|0)+((_(w&65535,z)|0)>>16))|0;g=y+28-g|0;w=g+-16|0;if((g|0)<16){x=16-g|0;g=-2147483648>>x;w=2147483647>>>x;if((g|0)>(w|0)){if((z|0)<=(g|0))g=(z|0)<(w|0)?w:z}else if((z|0)>(w|0))g=w;else g=(z|0)<(g|0)?g:z;x=g<>w:0;w=c[ba>>2]|0;y=x>>16;z=x&65535;g=w;w=w-(c[ra>>2]|0)|0;while(1){if((w|0)>=(g|0))break;g=f+1280+(w<<2)|0;ua=c[g>>2]|0;ta=ua<<16>>16;c[g>>2]=(_(y,ta)|0)+((_(z,ta)|0)>>16)+(_(x,(ua>>15)+1>>1)|0);g=c[ba>>2]|0;w=w+1|0}d:do if(u<<24>>24==2?(c[O>>2]|0)==0:0){u=c[M>>2]|0;g=u-ca|0;u=u-A+-2|0;while(1){if((u|0)>=(g|0)){g=0;break d}ua=U+(u<<2)|0;ta=c[ua>>2]|0;A=ta<<16>>16;c[ua>>2]=(_(y,A)|0)+((_(z,A)|0)>>16)+(_(x,(ta>>15)+1>>1)|0);u=u+1|0}}else g=0;while(0);while(1){if((g|0)>=(v|0))break;u=oa+(g*1396|0)+1376|0;ua=c[u>>2]|0;ta=ua<<16>>16;c[u>>2]=(_(y,ta)|0)+((_(z,ta)|0)>>16)+(_(x,(ua>>15)+1>>1)|0);u=oa+(g*1396|0)+1380|0;ua=c[u>>2]|0;ta=ua<<16>>16;c[u>>2]=(_(y,ta)|0)+((_(z,ta)|0)>>16)+(_(x,(ua>>15)+1>>1)|0);u=0;while(1){if((u|0)==40){u=0;break}ua=oa+(g*1396|0)+(u<<2)|0;ta=c[ua>>2]|0;A=ta<<16>>16;c[ua>>2]=(_(y,A)|0)+((_(z,A)|0)>>16)+(_(x,(ta>>15)+1>>1)|0);u=u+1|0}while(1){if((u|0)==24){u=0;break}ua=oa+(g*1396|0)+1280+(u<<2)|0;ta=c[ua>>2]|0;A=ta<<16>>16;c[ua>>2]=(_(y,A)|0)+((_(z,A)|0)>>16)+(_(x,(ta>>15)+1>>1)|0);u=u+1|0}while(1){if((u|0)==40)break;ua=oa+(g*1396|0)+960+(u<<2)|0;ta=c[ua>>2]|0;A=ta<<16>>16;c[ua>>2]=(_(y,A)|0)+((_(z,A)|0)>>16)+(_(x,(ta>>15)+1>>1)|0);ua=oa+(g*1396|0)+1120+(u<<2)|0;ta=c[ua>>2]|0;A=ta<<16>>16;c[ua>>2]=(_(y,A)|0)+((_(z,A)|0)>>16)+(_(x,(ta>>15)+1>>1)|0);u=u+1|0}g=g+1|0}c[S>>2]=c[B>>2];u=a[Z>>0]|0;w=c[B>>2]|0;g=c[ia>>2]|0;v=c[ea>>2]|0}le(f,oa,u<<24>>24,W,j,Y,U,ga,F,G,H,E,I,c[o+(J<<2)>>2]|0,c[p+(J<<2)>>2]|0,w,s,$,g,D,c[T>>2]|0,c[R>>2]|0,c[L>>2]|0,v,ka,ca);v=c[ia>>2]|0;h=h+(v<<1)|0;j=j+v|0;J=J+1|0;g=E;Y=Y+(v<<1)|0;v=D+1|0}g=c[ea>>2]|0;u=c[X>>2]|0;x=0;v=1;while(1){if((v|0)>=(g|0))break;ta=c[oa+(v*1396|0)+1392>>2]|0;ua=(ta|0)<(u|0);u=ua?ta:u;x=ua?v:x;v=v+1|0}a[ja>>0]=c[oa+(x*1396|0)+1388>>2];g=c[q+((c[da>>2]|0)+-1<<2)>>2]|0;v=g>>>6<<16>>16;g=(g>>21)+1>>1;w=0;u=(c[ka>>2]|0)+ca|0;while(1){if((w|0)>=(ca|0))break;ua=(u+-1|0)%40|0;ua=(ua|0)<0?ua+40|0:ua;ta=w-ca|0;a[j+ta>>0]=(((c[oa+(x*1396|0)+640+(ua<<2)>>2]|0)>>>9)+1|0)>>>1;ka=c[oa+(x*1396|0)+800+(ua<<2)>>2]|0;ka=((_(ka>>16,v)|0)+((_(ka&65535,v)|0)>>16)+(_(ka,g)|0)>>7)+1>>1;b[Y+(ta<<1)>>1]=(ka|0)>32767?32767:((ka|0)<-32768?-32768:ka)&65535;c[f+1280+((c[ba>>2]|0)-ca+w<<2)>>2]=c[oa+(x*1396|0)+1120+(ua<<2)>>2];w=w+1|0;u=ua}rf(ma|0,oa+(x*1396|0)+(c[ia>>2]<<2)|0,160)|0;w=na;y=oa+(x*1396|0)+1280|0;z=w+96|0;do{c[w>>2]=c[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));c[pa>>2]=c[oa+(x*1396|0)+1376>>2];c[qa>>2]=c[oa+(x*1396|0)+1380>>2];c[la>>2]=c[r+((c[da>>2]|0)+-1<<2)>>2];sf(f|0,f+(c[fa>>2]<<1)|0,c[ra>>2]<<1|0)|0;sf(f+1280|0,f+1280+(c[fa>>2]<<2)|0,c[ra>>2]<<2|0)|0;i=sa;return}function le(d,e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;var E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0;Ia=i;Ea=i;i=i+((1*(B*56|0)|0)+15&-16)|0;Fa=d+4432|0;Ga=d+4428|0;Da=t>>6;wa=(f|0)==2;xa=n+2|0;ya=n+4|0;za=n+6|0;Aa=n+8|0;Ba=(p|0)>0;Ca=q<<16>>16;la=q>>16;ma=z>>1;na=m+2|0;oa=m+4|0;pa=m+6|0;qa=m+8|0;ra=m+10|0;sa=m+12|0;ta=m+14|0;ua=m+16|0;va=m+18|0;ea=(z|0)==16;fa=m+20|0;ga=m+22|0;ha=m+24|0;ia=m+26|0;ja=m+28|0;ka=m+30|0;aa=A<<16>>16;ba=y>>1;ca=y+-1|0;da=o+(ca<<1)|0;Z=r<<16>>16;$=s<<16>>16;V=s>>16;W=(u|0)>2048;Y=(u|0)/2|0;X=Y+-512|0;Y=512-Y|0;N=u<<16>>16;O=v+944|0;P=_(v<<16>>16,N)|0;Q=_(O<<16>>16,N)|0;R=v+-944|0;S=_(944-v<<16>>16,N)|0;T=Ea+4|0;U=Ea+32|0;L=(x|0)<1;M=0;t=k+((c[Ga>>2]|0)-p+2<<2)|0;f=d+1280+((c[Fa>>2]|0)-p+1<<2)|0;while(1){if((M|0)>=(w|0)){t=0;break}if(wa){J=c[t>>2]|0;I=b[n>>1]|0;I=(_(J>>16,I)|0)+((_(J&65535,I)|0)>>16)+2|0;J=c[t+-4>>2]|0;K=b[xa>>1]|0;K=I+((_(J>>16,K)|0)+((_(J&65535,K)|0)>>16))|0;J=c[t+-8>>2]|0;I=b[ya>>1]|0;I=K+((_(J>>16,I)|0)+((_(J&65535,I)|0)>>16))|0;J=c[t+-12>>2]|0;K=b[za>>1]|0;K=I+((_(J>>16,K)|0)+((_(J&65535,K)|0)>>16))|0;J=c[t+-16>>2]|0;I=b[Aa>>1]|0;I=K+((_(J>>16,I)|0)+((_(J&65535,I)|0)>>16))<<1;J=t+4|0}else{I=0;J=t}if(Ba){K=(c[f>>2]|0)+(c[f+-8>>2]|0)|0;K=(_(K>>16,Ca)|0)+((_(K&65535,Ca)|0)>>16)|0;H=c[f+-4>>2]|0;H=I-(K+(_(H>>16,la)|0)+((_(H&65535,la)|0)>>16)<<2)|0;K=f+4|0}else{H=0;K=f}E=M+39|0;F=g+(M<<2)|0;G=0;while(1){if((G|0)>=(B|0))break;A=e+(G*1396|0)+1384|0;c[A>>2]=(_(c[A>>2]|0,196314165)|0)+907633515;t=e+(G*1396|0)+(E<<2)|0;p=c[t>>2]|0;x=b[m>>1]|0;x=ma+((_(p>>16,x)|0)+((_(p&65535,x)|0)>>16))|0;p=c[t+-4>>2]|0;f=b[na>>1]|0;f=x+((_(p>>16,f)|0)+((_(p&65535,f)|0)>>16))|0;p=c[t+-8>>2]|0;x=b[oa>>1]|0;x=f+((_(p>>16,x)|0)+((_(p&65535,x)|0)>>16))|0;p=c[t+-12>>2]|0;f=b[pa>>1]|0;f=x+((_(p>>16,f)|0)+((_(p&65535,f)|0)>>16))|0;p=c[t+-16>>2]|0;x=b[qa>>1]|0;x=f+((_(p>>16,x)|0)+((_(p&65535,x)|0)>>16))|0;p=c[t+-20>>2]|0;f=b[ra>>1]|0;f=x+((_(p>>16,f)|0)+((_(p&65535,f)|0)>>16))|0;p=c[t+-24>>2]|0;x=b[sa>>1]|0;x=f+((_(p>>16,x)|0)+((_(p&65535,x)|0)>>16))|0;p=c[t+-28>>2]|0;f=b[ta>>1]|0;f=x+((_(p>>16,f)|0)+((_(p&65535,f)|0)>>16))|0;p=c[t+-32>>2]|0;x=b[ua>>1]|0;x=f+((_(p>>16,x)|0)+((_(p&65535,x)|0)>>16))|0;p=c[t+-36>>2]|0;f=b[va>>1]|0;f=x+((_(p>>16,f)|0)+((_(p&65535,f)|0)>>16))|0;if(ea){p=c[t+-40>>2]|0;x=b[fa>>1]|0;x=f+((_(p>>16,x)|0)+((_(p&65535,x)|0)>>16))|0;p=c[t+-44>>2]|0;f=b[ga>>1]|0;f=x+((_(p>>16,f)|0)+((_(p&65535,f)|0)>>16))|0;p=c[t+-48>>2]|0;x=b[ha>>1]|0;x=f+((_(p>>16,x)|0)+((_(p&65535,x)|0)>>16))|0;p=c[t+-52>>2]|0;f=b[ia>>1]|0;f=x+((_(p>>16,f)|0)+((_(p&65535,f)|0)>>16))|0;p=c[t+-56>>2]|0;x=b[ja>>1]|0;x=f+((_(p>>16,x)|0)+((_(p&65535,x)|0)>>16))|0;p=c[t+-60>>2]|0;f=b[ka>>1]|0;f=x+((_(p>>16,f)|0)+((_(p&65535,f)|0)>>16))|0}q=e+(G*1396|0)+1280|0;t=c[q>>2]|0;p=(c[e+(G*1396|0)+1380>>2]|0)+((_(t>>16,aa)|0)+((_(t&65535,aa)|0)>>16))|0;z=(c[e+(G*1396|0)+1284>>2]|0)-p|0;z=t+((_(z>>16,aa)|0)+((_(z&65535,aa)|0)>>16))|0;c[q>>2]=p;q=b[o>>1]|0;t=2;q=ba+((_(p>>16,q)|0)+((_(p&65535,q)|0)>>16))|0;while(1){if((t|0)>=(y|0))break;r=t+-1|0;p=e+(G*1396|0)+1280+(r<<2)|0;u=e+(G*1396|0)+1280+(t<<2)|0;x=c[u>>2]|0;s=x-z|0;s=(c[p>>2]|0)+((_(s>>16,aa)|0)+((_(s&65535,aa)|0)>>16))|0;c[p>>2]=z;r=b[o+(r<<1)>>1]|0;p=c[e+(G*1396|0)+1280+((t|1)<<2)>>2]|0;c[u>>2]=s;r=r<<16>>16;u=b[o+(t<<1)>>1]|0;p=p-s|0;t=t+2|0;q=q+((_(z>>16,r)|0)+((_(z&65535,r)|0)>>16))+((_(s>>16,u)|0)+((_(s&65535,u)|0)>>16))|0;z=x+((_(p>>16,aa)|0)+((_(p&65535,aa)|0)>>16))|0}p=f<<4;c[e+(G*1396|0)+1280+(ca<<2)>>2]=z;s=b[da>>1]|0;s=q+((_(z>>16,s)|0)+((_(z&65535,s)|0)>>16))<<1;u=c[e+(G*1396|0)+1376>>2]|0;x=u>>16;u=u&65535;s=s+((_(x,Z)|0)+((_(u,Z)|0)>>16))<<2;r=c[e+(G*1396|0)+1120+(c[C>>2]<<2)>>2]|0;u=(_(r>>16,$)|0)+((_(r&65535,$)|0)>>16)+(_(x,V)|0)+((_(u,V)|0)>>16)<<2;x=c[F>>2]|0;r=x-((H+p-(s+u)>>3)+1>>1)|0;A=(c[A>>2]|0)<0;r=A?0-r|0:r;r=(r|0)>30720?30720:(r|0)<-31744?-31744:r;t=r-v|0;do if(W){if((t|0)>(X|0)){t=t-X|0;Ha=20;break}if((t|0)>=(Y|0))if((t|0)<0){Ha=23;break}else{t=v;f=O;q=P;z=Q;break}else{t=t+X|0;Ha=20;break}}else Ha=20;while(0);a:do if((Ha|0)==20){Ha=0;t=t>>10;if((t|0)>0){q=(t<<10)+-80+v|0;z=q+1024|0;t=q;f=z;q=_(q<<16>>16,N)|0;z=_(z<<16>>16,N)|0;break}switch(t|0){case 0:{t=v;f=O;q=P;z=Q;break a}case -1:{Ha=23;break a}default:{}}z=(t<<10|80)+v|0;t=z;f=z+1024|0;q=_(0-z<<16>>16,N)|0;z=_(-1024-z<<16>>16,N)|0}while(0);if((Ha|0)==23){Ha=0;t=R;f=v;q=S;z=P}Ja=r-t<<16>>16;Ja=q+(_(Ja,Ja)|0)>>10;r=r-f<<16>>16;r=z+(_(r,r)|0)>>10;Ka=(Ja|0)<(r|0);La=c[e+(G*1396|0)+1392>>2]|0;q=Ka?t:f;z=Ka?f:t;c[Ea+(G*56|0)+4>>2]=La+(Ka?Ja:r);c[Ea+(G*56|0)+32>>2]=La+(Ka?r:Ja);c[Ea+(G*56|0)>>2]=q;c[Ea+(G*56|0)+28>>2]=z;f=q<<4;f=(A?0-f|0:f)+I|0;q=f+p|0;r=x<<4;x=q-r|0;c[Ea+(G*56|0)+16>>2]=x;x=x-s|0;c[Ea+(G*56|0)+20>>2]=x-u;c[Ea+(G*56|0)+12>>2]=x;c[Ea+(G*56|0)+24>>2]=f;c[Ea+(G*56|0)+8>>2]=q;x=z<<4;x=(A?0-x|0:x)+I|0;p=x+p|0;r=p-r|0;c[Ea+(G*56|0)+44>>2]=r;s=r-s|0;c[Ea+(G*56|0)+48>>2]=s-u;c[Ea+(G*56|0)+40>>2]=s;c[Ea+(G*56|0)+52>>2]=x;c[Ea+(G*56|0)+36>>2]=p;G=G+1|0}t=((c[C>>2]|0)+-1|0)%40|0;s=(t|0)<0;f=t+40|0;c[C>>2]=s?f:t;t=(s?f:t)+D|0;f=c[T>>2]|0;s=0;q=1;while(1){if((q|0)>=(B|0))break;Ka=c[Ea+(q*56|0)+4>>2]|0;La=(Ka|0)<(f|0);f=La?Ka:f;s=La?q:s;q=q+1|0}r=(t|0)%40|0;t=c[e+(s*1396|0)+480+(r<<2)>>2]|0;f=0;while(1){if((f|0)>=(B|0))break;if((c[e+(f*1396|0)+480+(r<<2)>>2]|0)!=(t|0)){La=Ea+(f*56|0)+4|0;c[La>>2]=(c[La>>2]|0)+134217727;La=Ea+(f*56|0)+32|0;c[La>>2]=(c[La>>2]|0)+134217727}f=f+1|0}t=c[T>>2]|0;f=0;q=c[U>>2]|0;z=0;A=1;while(1){if((A|0)>=(B|0))break;I=c[Ea+(A*56|0)+4>>2]|0;Ja=(I|0)>(t|0);Ka=c[Ea+(A*56|0)+32>>2]|0;La=(Ka|0)<(q|0);t=Ja?I:t;f=Ja?A:f;q=La?Ka:q;z=La?A:z;A=A+1|0}if((q|0)<(t|0)){rf(e+(f*1396|0)+(M<<2)|0,e+(z*1396|0)+(M<<2)|0,1396-(M<<2)|0)|0;La=Ea+(f*56|0)|0;Ka=Ea+(z*56|0)+28|0;c[La>>2]=c[Ka>>2];c[La+4>>2]=c[Ka+4>>2];c[La+8>>2]=c[Ka+8>>2];c[La+12>>2]=c[Ka+12>>2];c[La+16>>2]=c[Ka+16>>2];c[La+20>>2]=c[Ka+20>>2];c[La+24>>2]=c[Ka+24>>2]}if(!(L&(M|0)<(D|0))){La=M-D|0;a[h+La>>0]=(((c[e+(s*1396|0)+640+(r<<2)>>2]|0)>>>9)+1|0)>>>1;Ja=c[e+(s*1396|0)+800+(r<<2)>>2]|0;Ka=c[l+(r<<2)>>2]|0;I=Ka<<16>>16;Ka=((_(Ja>>16,I)|0)+((_(Ja&65535,I)|0)>>16)+(_(Ja,(Ka>>15)+1>>1)|0)>>7)+1>>1;b[j+(La<<1)>>1]=(Ka|0)>32767?32767:((Ka|0)<-32768?-32768:Ka)&65535;c[d+1280+((c[Fa>>2]|0)-D<<2)>>2]=c[e+(s*1396|0)+1120+(r<<2)>>2];c[k+((c[Ga>>2]|0)-D<<2)>>2]=c[e+(s*1396|0)+960+(r<<2)>>2]}c[Fa>>2]=(c[Fa>>2]|0)+1;c[Ga>>2]=(c[Ga>>2]|0)+1;t=M+40|0;f=0;while(1){if((f|0)>=(B|0))break;c[e+(f*1396|0)+1376>>2]=c[Ea+(f*56|0)+12>>2];c[e+(f*1396|0)+1380>>2]=c[Ea+(f*56|0)+16>>2];La=c[Ea+(f*56|0)+8>>2]|0;c[e+(f*1396|0)+(t<<2)>>2]=La;c[e+(f*1396|0)+800+(c[C>>2]<<2)>>2]=La;La=c[Ea+(f*56|0)>>2]|0;c[e+(f*1396|0)+640+(c[C>>2]<<2)>>2]=La;c[e+(f*1396|0)+960+(c[C>>2]<<2)>>2]=c[Ea+(f*56|0)+24>>2]<<1;c[e+(f*1396|0)+1120+(c[C>>2]<<2)>>2]=c[Ea+(f*56|0)+20>>2];Ka=e+(f*1396|0)+1384|0;La=(c[Ka>>2]|0)+((La>>9)+1>>1)|0;c[Ka>>2]=La;c[e+(f*1396|0)+480+(c[C>>2]<<2)>>2]=La;c[e+(f*1396|0)+1392>>2]=c[Ea+(f*56|0)+4>>2];f=f+1|0}c[l+(c[C>>2]<<2)>>2]=Da;M=M+1|0;t=J;f=K}while(1){if((t|0)>=(B|0))break;rf(e+(t*1396|0)|0,e+(t*1396|0)+(w<<2)|0,160)|0;t=t+1|0}i=Ia;return}function me(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+64|0;l=R+20|0;m=R+16|0;j=R+12|0;k=R+8|0;Q=R+24|0;h=R;I=d+2336|0;p=c[I>>2]|0;P=d+2328|0;J=i;i=i+((1*(p+(c[P>>2]|0)<<2)|0)+15&-16)|0;s=i;i=i+((1*(p<<1)|0)+15&-16)|0;c[h>>2]=c[d+4240>>2]>>6;p=d+4244|0;M=c[p>>2]|0;L=M>>6;c[h+4>>2]=L;if(c[d+2376>>2]|0){o=d+4182|0;n=o+32|0;do{b[o>>1]=0;o=o+2|0}while((o|0)<(n|0))}G=d+2332|0;H=d+2324|0;ne(j,l,k,m,d+4|0,h,c[G>>2]|0,c[H>>2]|0);h=c[d+4252>>2]|0;if((c[j>>2]>>c[m>>2]|0)<(c[k>>2]>>c[l>>2]|0)){h=_(h+-1|0,c[d+4256>>2]|0)|0;h=(h|0)<128?0:h+-128|0}else{h=_(h,c[d+4256>>2]|0)|0;h=(h|0)<128?0:h+-128|0}F=d+4+(h<<2)|0;B=d+4172|0;N=d+4224|0;n=b[N>>1]|0;l=d+4160|0;o=c[l>>2]|0;O=(o|0)>1;r=b[25776+((O?1:o)<<1)>>1]|0;m=d+4164|0;o=b[((c[m>>2]|0)==2?25780:25784)+((O?1:o)<<1)>>1]|0;O=d+2340|0;j=(c[O>>2]|0)+-1|0;h=64881;k=0;while(1){if((k|0)>=(j|0))break;K=d+4182+(k<<1)|0;b[K>>1]=(((_(h,b[K>>1]|0)|0)>>>15)+1|0)>>>1;h=h+(((_(h,-655)|0)>>15)+1>>1)|0;k=k+1|0}k=d+4182+(j<<1)|0;b[k>>1]=(((_(h,b[k>>1]|0)|0)>>>15)+1|0)>>>1;h=d+4182|0;k=c[O>>2]|0;rf(Q|0,h|0,k<<1|0)|0;do if(!(c[l>>2]|0)){if((c[m>>2]|0)==2){h=0;j=16384;while(1){if((h|0)==5)break;K=(j&65535)-(e[d+4172+(h<<1)>>1]|0)&65535;h=h+1|0;j=K}n=(_((j<<16>>16<3277?3277:j)<<16>>16,b[d+4236>>1]|0)|0)>>>14&65535;break}h=te(h,k)|0;if((h|0)<=134217728)if((h|0)<4194304)h=4194304;else q=16;else{h=134217728;q=16}n=h<<3;o=(_(n>>16,o)|0)+((_(n&65528,o)|0)>>16)>>14;n=16384}while(0);K=d+4220|0;y=c[K>>2]|0;A=d+4168|0;x=(c[A>>2]>>7)+1>>1;z=c[I>>2]|0;m=z-x-k+-2|0;se(s+(m<<1)|0,d+1348+(m<<1)|0,Q,z-m|0,k);j=c[p>>2]|0;if((j|0)<=0)if(!j)h=32;else{h=0-j|0;q=20}else{h=j;q=20}if((q|0)==20)h=aa(h|0)|0;j=j<>16;l=536870911/(C|0)|0;D=l<<16;E=D>>16;j=536870912-((_(C,E)|0)+((_(j&65535,E)|0)>>16))<<3;l=D+((_(j>>16,E)|0)+((_(j&65528,E)|0)>>16))+(_(j,(l>>15)+1>>1)|0)|0;h=62-h|0;j=h+-46|0;if((j|0)>=1)if((j|0)<32){h=l>>j;q=30}else h=0;else{k=46-h|0;h=-2147483648>>k;j=2147483647>>>k;if((h|0)>(j|0)){if((l|0)<=(h|0))h=(l|0)<(j|0)?j:l}else if((l|0)>(j|0))h=j;else h=(l|0)<(h|0)?h:l;h=h<>2]|0;l=h>>16;j=h&65535;h=m+(c[O>>2]|0)|0;while(1){if((h|0)>=(k|0))break;E=b[s+(h<<1)>>1]|0;c[J+(h<<2)>>2]=(_(l,E)|0)+((_(j,E)|0)>>16);h=h+1|0}t=d+4174|0;u=d+4176|0;v=d+4178|0;w=d+4180|0;q=r<<16>>16;r=d+2765|0;s=d+2316|0;o=o<<16>>16;p=0;E=x;D=n;C=y;j=z;while(1){if((p|0)>=(c[H>>2]|0))break;m=D<<16>>16;k=c[G>>2]|0;l=0;h=J+(j-E+2<<2)|0;n=C;while(1){if((l|0)>=(k|0)){h=0;break}E=c[h>>2]|0;z=b[B>>1]|0;z=(_(E>>16,z)|0)+((_(E&65535,z)|0)>>16)+2|0;E=c[h+-4>>2]|0;C=b[t>>1]|0;C=z+((_(E>>16,C)|0)+((_(E&65535,C)|0)>>16))|0;E=c[h+-8>>2]|0;z=b[u>>1]|0;z=C+((_(E>>16,z)|0)+((_(E&65535,z)|0)>>16))|0;E=c[h+-12>>2]|0;C=b[v>>1]|0;C=z+((_(E>>16,C)|0)+((_(E&65535,C)|0)>>16))|0;E=c[h+-16>>2]|0;z=b[w>>1]|0;z=C+((_(E>>16,z)|0)+((_(E&65535,z)|0)>>16))|0;E=(_(n,196314165)|0)+907633515|0;C=c[F+(E>>>25<<2)>>2]|0;c[J+(j<<2)>>2]=z+((_(C>>16,m)|0)+((_(C&65535,m)|0)>>16))<<2;l=l+1|0;h=h+4|0;n=E;j=j+1|0}while(1){if((h|0)==5)break;E=d+4172+(h<<1)|0;b[E>>1]=(_(q,b[E>>1]|0)|0)>>>15;h=h+1|0}if(!(a[r>>0]|0))h=D;else h=(_(m,o)|0)>>>15&65535;D=c[A>>2]|0;D=D+(((D>>16)*655|0)+(((D&65535)*655|0)>>>16))|0;c[A>>2]=D;E=(c[s>>2]<<16>>16)*4608|0;E=(D|0)<(E|0)?D:E;c[A>>2]=E;p=p+1|0;E=(E>>7)+1>>1;D=h;C=n}B=J+((c[I>>2]|0)+-16<<2)|0;A=d+1284|0;o=B;h=A;n=o+64|0;do{c[o>>2]=c[h>>2];o=o+4|0;h=h+4|0}while((o|0)<(n|0));q=b[Q>>1]|0;r=b[Q+2>>1]|0;s=b[Q+4>>1]|0;t=b[Q+6>>1]|0;u=b[Q+8>>1]|0;v=b[Q+10>>1]|0;w=b[Q+12>>1]|0;x=b[Q+14>>1]|0;y=b[Q+16>>1]|0;z=b[Q+18>>1]|0;p=L<<16>>16;n=(M>>21)+1>>1;o=0;while(1){h=c[P>>2]|0;if((o|0)>=(h|0))break;h=c[B+(o+15<<2)>>2]|0;h=(c[O>>2]>>1)+((_(h>>16,q)|0)+((_(h&65535,q)|0)>>16))|0;m=c[B+(o+14<<2)>>2]|0;m=h+((_(m>>16,r)|0)+((_(m&65535,r)|0)>>16))|0;h=c[B+(o+13<<2)>>2]|0;h=m+((_(h>>16,s)|0)+((_(h&65535,s)|0)>>16))|0;m=c[B+(o+12<<2)>>2]|0;m=h+((_(m>>16,t)|0)+((_(m&65535,t)|0)>>16))|0;h=c[B+(o+11<<2)>>2]|0;h=m+((_(h>>16,u)|0)+((_(h&65535,u)|0)>>16))|0;m=c[B+(o+10<<2)>>2]|0;m=h+((_(m>>16,v)|0)+((_(m&65535,v)|0)>>16))|0;h=c[B+(o+9<<2)>>2]|0;h=m+((_(h>>16,w)|0)+((_(h&65535,w)|0)>>16))|0;m=c[B+(o+8<<2)>>2]|0;m=h+((_(m>>16,x)|0)+((_(m&65535,x)|0)>>16))|0;h=c[B+(o+7<<2)>>2]|0;h=m+((_(h>>16,y)|0)+((_(h&65535,y)|0)>>16))|0;m=c[B+(o+6<<2)>>2]|0;m=h+((_(m>>16,z)|0)+((_(m&65535,z)|0)>>16))|0;h=c[O>>2]|0;j=o+16|0;k=10;while(1){if((k|0)>=(h|0))break;L=c[B+(j-k+-1<<2)>>2]|0;M=b[Q+(k<<1)>>1]|0;m=m+((_(L>>16,M)|0)+((_(L&65535,M)|0)>>16))|0;k=k+1|0}l=B+(j<<2)|0;h=c[l>>2]|0;j=(m|0)>134217727;k=j?2147483632:((m|0)<-134217728?-134217728:m)<<4;if((h+(j?2147483632:((m|0)<-134217728?-134217728:m)<<4)|0)>-1)if((h&k|0)<0)h=-2147483648;else h=h+(j?2147483632:((m|0)<-134217728?-134217728:m)<<4)|0;else if((h|k|0)>-1)h=2147483647;else h=h+(j?2147483632:((m|0)<-134217728?-134217728:m)<<4)|0;c[l>>2]=h;M=((_(h>>16,p)|0)+((_(h&65535,p)|0)>>16)+(_(h,n)|0)>>7)+1>>1;b[g+(o<<1)>>1]=(M|0)>32767?32767:((M|0)<-32768?-32768:M)&65535;o=o+1|0}o=A;h=B+(h<<2)|0;n=o+64|0;do{c[o>>2]=c[h>>2];o=o+4|0;h=h+4|0}while((o|0)<(n|0));c[K>>2]=C;b[N>>1]=D;h=0;while(1){if((h|0)==4)break;c[f+(h<<2)>>2]=E;h=h+1|0}i=R;return}function ne(a,d,e,f,g,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=i;l=i;i=i+((1*(j<<1<<1)|0)+15&-16)|0;o=l;q=0;while(1){if((q|0)==2)break;m=_(q+k+-2|0,j)|0;n=h+(q<<2)|0;p=0;while(1){if((p|0)>=(j|0))break;t=c[g+(p+m<<2)>>2]|0;s=c[n>>2]|0;u=s<<16>>16;s=(_(t>>16,u)|0)+((_(t&65535,u)|0)>>16)+(_(t,(s>>15)+1>>1)|0)>>8;b[o+(p<<1)>>1]=(s|0)>32767?32767:((s|0)<-32768?-32768:s)&65535;p=p+1|0}o=o+(j<<1)|0;q=q+1|0}ze(a,d,l,j);ze(e,f,l+(j<<1)|0,j);i=r;return}function oe(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;s=v+32|0;u=v+16|0;q=v;t=a+4676|0;l=c[t>>2]|0;n=l>>1;f=l>>2;h=l>>3;c[q>>2]=0;o=h+f|0;c[q+4>>2]=o;m=o+h|0;c[q+8>>2]=m;k=m+f|0;c[q+12>>2]=k;p=i;i=i+((1*(k+n<<1)|0)+15&-16)|0;qe(d,a+32|0,p,p+(k<<1)|0,l);qe(p,a+40|0,p,p+(m<<1)|0,n);qe(p,a+48|0,p,p+(o<<1)|0,f);f=p+(h+-1<<1)|0;d=b[f>>1]>>1;b[f>>1]=d;f=d;while(1){g=h+-1|0;if((h|0)<=1)break;n=p+(h+-2<<1)|0;o=b[n>>1]>>1;b[n>>1]=o;b[p+(g<<1)>>1]=(f&65535)-(o&65535);f=o;h=g}m=a+88|0;b[p>>1]=(e[p>>1]|0)-(e[m>>1]|0);b[m>>1]=d;m=0;f=0;while(1){if((m|0)==4)break;h=4-m|0;h=c[t>>2]>>((h|0)<3?h:3)>>2;j=a+56+(m<<2)|0;d=c[j>>2]|0;k=s+(m<<2)|0;c[k>>2]=d;l=q+(m<<2)|0;n=0;o=0;while(1){if((o|0)==4)break;else{g=0;f=0}while(1){if((g|0)>=(h|0))break;w=b[p+((c[l>>2]|0)+g+n<<1)>>1]>>3;g=g+1|0;f=f+(_(w,w)|0)|0}if((o|0)<3){d=d+f|0;d=(d|0)<0?2147483647:d}else{d=d+(f>>1)|0;d=(d|0)<0?2147483647:d}c[k>>2]=d;n=n+h|0;o=o+1|0}c[j>>2]=f;m=m+1|0}l=a+140|0;d=c[l>>2]|0;if((d|0)<1e3)k=32767/((d>>4)+1|0)|0;else k=0;j=0;while(1){if((j|0)==4)break;g=a+92+(j<<2)|0;f=c[g>>2]|0;d=(c[s+(j<<2)>>2]|0)+(c[a+124+(j<<2)>>2]|0)|0;d=(d|0)<0?2147483647:d;h=2147483647/(d|0)|0;if((d|0)<=(f<<3|0))if((d|0)<(f|0))d=1024;else{w=f<<16>>16;q=_(h>>16,w)|0;w=_(h&65535,w)|0;d=_(h,(f>>15)+1>>1)|0;d=q+(w>>16)+d>>16<<11|(q+(w>>>16)+d|0)>>>5&2047}else d=128;q=a+108+(j<<2)|0;o=c[q>>2]|0;p=h-o|0;w=((d|0)>(k|0)?d:k)<<16>>16;w=o+((_(p>>16,w)|0)+((_(p&65535,w)|0)>>16))|0;c[q>>2]=w;w=2147483647/(w|0)|0;c[g>>2]=(w|0)<16777215?w:16777215;j=j+1|0}c[l>>2]=(c[l>>2]|0)+1;o=0;p=0;j=0;while(1){if((o|0)==4)break;l=c[s+(o<<2)>>2]|0;m=c[a+92+(o<<2)>>2]|0;n=l-m|0;if((n|0)>0){if(l>>>0<8388608)d=(l<<8|0)/(m+1|0)|0;else d=(l|0)/((m>>8)+1|0)|0;c[u+(o<<2)>>2]=d;h=aa(d|0)|0;f=24-h|0;g=0-f|0;do if(f)if((f|0)<0){d=d<>>(f+32|0);break}else{d=d<<32-f|d>>>f;break}while(0);d=d&127;d=d+(((_(d,128-d|0)|0)*179|0)>>>16)+(31-h<<7)+-1024|0;k=d<<16>>16;j=j+(_(k,k)|0)|0;if((n|0)<1048576){g=aa(n|0)|0;g=(l|0)==(m|0)?32:g;d=24-g|0;f=0-d|0;do if(d)if((d|0)<0){d=n<>>(d+32|0);break}else{d=n<<32-d|n>>>d;break}else d=n;while(0);g=((g&1|0)==0?46214:32768)>>>(g>>>1);h=(_(d&127,13959168)|0)>>>16;h=_(g+((_(g>>16,h)|0)+((_(g&65535,h)|0)>>>16))<<6>>16,k)|0;g=aa(n|0)|0;g=(l|0)==(m|0)?32:g;d=24-g|0;f=0-d|0;do if(d)if((d|0)<0){d=n<>>(d+32|0);break}else{d=n<<32-d|n>>>d;break}else d=n;while(0);w=((g&1|0)==0?46214:32768)>>>(g>>>1);d=(_(d&127,13959168)|0)>>>16;d=h+((_(w+((_(w>>16,d)|0)+((_(w&65535,d)|0)>>>16))<<6&65472,k)|0)>>16)|0}w=c[22976+(o<<2)>>2]|0;f=d<<16>>16;f=p+((_(w>>16,f)|0)+((_(w&65535,f)|0)>>16))|0;d=j}else{c[u+(o<<2)>>2]=256;f=p;d=j}o=o+1|0;p=f;j=d}d=(j|0)/4|0;do if((j|0)>=4){h=aa(d|0)|0;h=(j+3|0)>>>0<7?32:h;f=24-h|0;g=0-f|0;do if(f)if((f|0)<0){d=d<>>(f+32|0);break}else{d=d<<32-f|d>>>f;break}while(0);f=((h&1|0)==0?46214:32768)>>>(h>>>1);d=(_(d&127,13959168)|0)>>>16;d=((f+((_(f>>16,d)|0)+((_(f&65535,d)|0)>>>16))|0)*196608>>16)*45e3>>16;f=d+-128|0;if((d|0)<128)if((f|0)<-191){d=0;break}else{d=128-d|0;r=53;break}if((f|0)>191)d=32767;else{d=f>>5;d=(c[23040+(d<<2)>>2]|0)+(_(c[23016+(d<<2)>>2]<<16>>16,f&31)|0)|0}}else{d=128;r=53}while(0);if((r|0)==53){w=d>>5;d=(c[22992+(w<<2)>>2]|0)-(_(c[23016+(w<<2)>>2]<<16>>16,d&31)|0)|0}if((p|0)<0){f=0-p|0;if((p|0)<-191)f=0;else{w=f>>5;f=(c[22992+(w<<2)>>2]|0)-(_(c[23016+(w<<2)>>2]<<16>>16,f&31)|0)|0}}else if((p|0)>191)f=32767;else{f=p>>5;f=(c[23040+(f<<2)>>2]|0)+(_(c[23016+(f<<2)>>2]<<16>>16,p&31)|0)|0}c[a+4804>>2]=(f<<1)+-32768;f=0;g=0;while(1){if((f|0)==4)break;r=f+1|0;w=g+(_(r,(c[s+(f<<2)>>2]|0)-(c[a+92+(f<<2)>>2]|0)>>4)|0)|0;f=r;g=w}if((g|0)>=1){if((g|0)<32768){f=g<<((c[t>>2]|0)==((c[a+4668>>2]|0)*10|0)?16:15);j=aa(f|0)|0;g=24-j|0;h=0-g|0;do if(g)if((g|0)<0){f=f<>>(g+32|0);break}else{f=f<<32-g|f>>>g;break}while(0);s=((j&1|0)==0?46214:32768)>>>(j>>>1);w=(_(f&127,13959168)|0)>>>16;w=s+((_(s>>16,w)|0)+((_(s&65535,w)|0)>>>16))+32768|0;d=d<<16>>16;d=(_(w>>16,d)|0)+((_(w&65535,d)|0)>>16)|0}}else d=d>>1;k=d>>7;c[a+4624>>2]=(k|0)<255?k:255;k=d<<16>>16;k=((_(d>>16,k)|0)<<16)+(_(d&65535,k)|0)|0;k=k>>((c[t>>2]|0)==((c[a+4668>>2]|0)*10|0)?21:20);j=0;while(1){if((j|0)==4)break;h=a+72+(j<<2)|0;f=c[h>>2]|0;d=(c[u+(j<<2)>>2]|0)-f|0;d=f+((_(d>>16,k)|0)+((_(d&65535,k)|0)>>16))|0;c[h>>2]=d;h=aa(d|0)|0;f=24-h|0;g=0-f|0;do if(f)if((f|0)<0){d=d<>>(f+32|0);break}else{d=d<<32-f|d>>>f;break}while(0);d=d&127;d=((d+(((_(d,128-d|0)|0)*179|0)>>>16)+(31-h<<7)|0)*3|0)+-5120|0;f=d>>4;if((f|0)<0){d=0-f|0;if((f|0)<-191)d=0;else{w=d>>5;d=(c[22992+(w<<2)>>2]|0)-(_(c[23016+(w<<2)>>2]<<16>>16,d&31)|0)|0}}else if((f|0)>191)d=32767;else{d=d>>9;d=(c[23040+(d<<2)>>2]|0)+(_(c[23016+(d<<2)>>2]<<16>>16,f&31)|0)|0}c[a+4788+(j<<2)>>2]=d;j=j+1|0}i=v;return}function pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+(d<<2)>>2]|0;f=b<<4;if((d|0)==8){b=b<<20>>16;g=(f>>15)+1>>1;d=(c[a+28>>2]|0)+((_(e>>16,b)|0)+((_(e&65535,b)|0)>>16))+(_(e,g)|0)|0;d=(c[a+24>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;d=(c[a+20>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;d=(c[a+16>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;d=(c[a+12>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;d=(c[a+8>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;d=(c[a+4>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;a=(c[a>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;return a|0}g=b<<20>>16;f=(f>>15)+1>>1;while(1){b=d+-1|0;if((d|0)<=0)break;d=b;e=(c[a+(b<<2)>>2]|0)+((_(e>>16,g)|0)+((_(e&65535,g)|0)>>16))+(_(e,f)|0)|0}return e|0}function qe(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=g>>1;h=d+4|0;i=0;while(1){if((i|0)>=(g|0))break;m=i<<1;n=b[a+(m<<1)>>1]<<10;l=n-(c[d>>2]|0)|0;k=(_(l>>16,-24290)|0)+((_(l&65535,-24290)|0)>>16)|0;j=n+k|0;c[d>>2]=n+(l+k);m=b[a+((m|1)<<1)>>1]<<10;k=c[h>>2]|0;l=m-k|0;l=((l>>16)*10788|0)+(((l&65535)*10788|0)>>>16)|0;k=k+l|0;c[h>>2]=m+l;l=(k+j>>10)+1>>1;b[e+(i<<1)>>1]=(l|0)>32767?32767:((l|0)<-32768?-32768:l)&65535;j=(k-j>>10)+1>>1;b[f+(i<<1)>>1]=(j|0)>32767?32767:((j|0)<-32768?-32768:j)&65535;i=i+1|0}return}function re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=d+-65536|0;f=b+-1|0;e=0;while(1){b=d>>16;if((e|0)>=(f|0))break;h=a+(e<<2)|0;i=c[h>>2]|0;j=i<<16>>16;c[h>>2]=(_(b,j)|0)+((_(d&65535,j)|0)>>16)+(_(d,(i>>15)+1>>1)|0);d=d+(((_(d,g)|0)>>15)+1>>1)|0;e=e+1|0}j=a+(f<<2)|0;i=c[j>>2]|0;h=i<<16>>16;c[j>>2]=(_(b,h)|0)+((_(d&65535,h)|0)>>16)+(_(d,(i>>15)+1>>1)|0);return}function se(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=d+2|0;h=d+4|0;i=d+6|0;j=d+8|0;k=d+10|0;m=f;while(1){if((m|0)>=(e|0))break;l=c+(m+-1<<1)|0;o=_(b[l>>1]|0,b[d>>1]|0)|0;o=o+(_(b[l+-2>>1]|0,b[g>>1]|0)|0)|0;o=o+(_(b[l+-4>>1]|0,b[h>>1]|0)|0)|0;o=o+(_(b[l+-6>>1]|0,b[i>>1]|0)|0)|0;o=o+(_(b[l+-8>>1]|0,b[j>>1]|0)|0)|0;n=6;o=o+(_(b[l+-10>>1]|0,b[k>>1]|0)|0)|0;while(1){if((n|0)>=(f|0))break;p=o+(_(b[l+(0-n<<1)>>1]|0,b[d+(n<<1)>>1]|0)|0)|0;p=p+(_(b[l+(~n<<1)>>1]|0,b[d+((n|1)<<1)>>1]|0)|0)|0;n=n+2|0;o=p}p=((b[l+2>>1]<<12)-o>>11)+1>>1;b[a+(m<<1)>>1]=(p|0)>32767?32767:((p|0)<-32768?-32768:p)&65535;m=m+1|0}nf(a|0,0,f<<1|0)|0;return}function te(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+96|0;u=w;e=0;f=0;while(1){if((f|0)>=(d|0))break;t=b[a+(f<<1)>>1]|0;c[u+(f<<2)>>2]=t<<12;e=e+t|0;f=f+1|0}if((e|0)>4095){i=w;return 0}g=1073741824;f=0;a:while(1){t=d+-1|0;a=c[u+(t<<2)>>2]|0;e=(a+16773022|0)>>>0>33546044;if((d|0)<=1){v=44;break}if(e){v=46;break}r=0-(a<<7)|0;s=((r|0)<0)<<31>>31;zf(r|0,s|0,r|0,s|0)|0;h=1073741824-C|0;q=zf(g|0,f|0,h|0,((h|0)<0)<<31>>31|0)|0;q=qf(q|0,C|0,30)|0;q=q&-4;if((q|0)<107374){v=46;break}if((h|0)<=0)if(!h){a=32;e=30;j=0}else{a=0-h|0;v=11}else{a=h;v=11}if((v|0)==11){v=0;j=32-(aa(a|0)|0)|0;a=aa(a|0)|0;e=j+30|0}p=h<>16;g=536870911/(m|0)|0;n=g<<16;o=n>>16;p=536870912-((_(m,o)|0)+((_(p&65535,o)|0)>>16))<<3;g=n+((_(p>>16,o)|0)+((_(p&65528,o)|0)>>16))+(_(p,(g>>15)+1>>1)|0)|0;a=62-a-e|0;if((a|0)<1){f=0-a|0;a=-2147483648>>f;e=2147483647>>>f;if((a|0)>(e|0)){if((g|0)<=(a|0))a=(g|0)<(e|0)?e:g}else if((g|0)>(e|0))a=e;else a=(g|0)<(a|0)?a:g;p=a<>a:0;m=d>>1;n=(j|0)==1;o=((p|0)<0)<<31>>31;j=j+-1|0;l=0;while(1){if((l|0)>=(m|0))break;d=u+(l<<2)|0;g=c[d>>2]|0;k=u+(t-l+-1<<2)|0;h=c[k>>2]|0;a=zf(h|0,((h|0)<0)<<31>>31|0,r|0,s|0)|0;a=qf(a|0,C|0,30)|0;a=of(a|0,C|0,1,0)|0;a=qf(a|0,C|0,1)|0;e=g-a|0;f=(e|0)>-1;if(n){if(f){f=(g&(a^-2147483648)|0)<0?-2147483648:e;f=zf(f|0,((f|0)<0)<<31>>31|0,p|0,o|0)|0;f=pf(f|0,C|0,1)|0;a=(g&(a^-2147483648)|0)<0?-2147483648:e;e=f;f=C}else{f=((g^-2147483648)&a|0)<0?2147483647:e;f=zf(f|0,((f|0)<0)<<31>>31|0,p|0,o|0)|0;f=pf(f|0,C|0,1)|0;a=((g^-2147483648)&a|0)<0?2147483647:e;e=f;f=C}a=zf(a|0,((a|0)<0)<<31>>31|0,p|0,o|0)|0;a=of(e|0,f|0,a&1|0,0)|0;e=C}else{if(f)a=(g&(a^-2147483648)|0)<0?-2147483648:e;else a=((g^-2147483648)&a|0)<0?2147483647:e;a=zf(a|0,((a|0)<0)<<31>>31|0,p|0,o|0)|0;a=pf(a|0,C|0,j|0)|0;a=of(a|0,C|0,1,0)|0;a=pf(a|0,C|0,1)|0;e=C}f=of(a|0,e|0,-2147483648,0)|0;e=C;if(e>>>0>0|(e|0)==0&f>>>0>4294967295){v=46;break a}c[d>>2]=a;a=zf(g|0,((g|0)<0)<<31>>31|0,r|0,s|0)|0;a=qf(a|0,C|0,30)|0;a=of(a|0,C|0,1,0)|0;a=qf(a|0,C|0,1)|0;e=h-a|0;f=(e|0)>-1;if(n){if(f){f=(h&(a^-2147483648)|0)<0?-2147483648:e;f=zf(f|0,((f|0)<0)<<31>>31|0,p|0,o|0)|0;f=pf(f|0,C|0,1)|0;a=(h&(a^-2147483648)|0)<0?-2147483648:e;e=f;f=C}else{f=((h^-2147483648)&a|0)<0?2147483647:e;f=zf(f|0,((f|0)<0)<<31>>31|0,p|0,o|0)|0;f=pf(f|0,C|0,1)|0;a=((h^-2147483648)&a|0)<0?2147483647:e;e=f;f=C}a=zf(a|0,((a|0)<0)<<31>>31|0,p|0,o|0)|0;a=of(e|0,f|0,a&1|0,0)|0;e=C}else{if(f)a=(h&(a^-2147483648)|0)<0?-2147483648:e;else a=((h^-2147483648)&a|0)<0?2147483647:e;a=zf(a|0,((a|0)<0)<<31>>31|0,p|0,o|0)|0;a=pf(a|0,C|0,j|0)|0;a=of(a|0,C|0,1,0)|0;a=pf(a|0,C|0,1)|0;e=C}h=of(a|0,e|0,-2147483648,0)|0;g=C;if(g>>>0>0|(g|0)==0&h>>>0>4294967295){v=46;break a}c[k>>2]=a;l=l+1|0}g=q;f=((q|0)<0)<<31>>31;d=t}if((v|0)==44)if(e){i=w;return 0}else{u=0-(c[u>>2]<<7)|0;v=((u|0)<0)<<31>>31;zf(u|0,v|0,u|0,v|0)|0;v=1073741824-C|0;v=zf(g|0,f|0,v|0,((v|0)<0)<<31>>31|0)|0;v=qf(v|0,C|0,30)|0;v=v&-4;i=w;return ((v|0)<107374?0:v)|0}else if((v|0)==46){i=w;return 0}return 0}function ue(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+304|0;n=s+200|0;p=s+148|0;q=s+96|0;r=s;g=(f|0)==16?32909:32925;h=0;while(1){if((h|0)>=(f|0))break;m=b[e+(h<<1)>>1]|0;o=m>>8;l=b[27508+(o<<1)>>1]|0;o=((l<<8)+(_((b[27508+(o+1<<1)>>1]|0)-l|0,m-(o<<8)|0)|0)>>3)+1>>1;c[n+(d[g+h>>0]<<2)>>2]=o;h=h+1|0}o=f>>1;c[p>>2]=65536;m=p+4|0;l=1;g=0-(c[n>>2]|0)|0;while(1){c[m>>2]=g;if((l|0)>=(o|0))break;e=c[n+(l<<1<<2)>>2]|0;k=c[p+(l+-1<<2)>>2]|0;h=((e|0)<0)<<31>>31;g=c[p+(l<<2)>>2]|0;g=zf(e|0,h|0,g|0,((g|0)<0)<<31>>31|0)|0;g=qf(g|0,C|0,15)|0;g=of(g|0,C|0,1,0)|0;g=qf(g|0,C|0,1)|0;j=l+1|0;c[p+(j<<2)>>2]=(k<<1)-g;g=l;while(1){if((g|0)<=1)break;l=c[p+(g+-2<<2)>>2]|0;u=zf(e|0,h|0,k|0,((k|0)<0)<<31>>31|0)|0;u=qf(u|0,C|0,15)|0;u=of(u|0,C|0,1,0)|0;u=qf(u|0,C|0,1)|0;t=p+(g<<2)|0;c[t>>2]=(c[t>>2]|0)+(l-u);k=l;g=g+-1|0}l=j;g=(c[m>>2]|0)-e|0}m=n+4|0;c[q>>2]=65536;n=q+4|0;l=1;g=0-(c[m>>2]|0)|0;while(1){c[n>>2]=g;if((l|0)>=(o|0)){g=0;break}j=c[m+(l<<1<<2)>>2]|0;h=c[q+(l+-1<<2)>>2]|0;k=((j|0)<0)<<31>>31;g=c[q+(l<<2)>>2]|0;g=zf(j|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;g=qf(g|0,C|0,15)|0;g=of(g|0,C|0,1,0)|0;g=qf(g|0,C|0,1)|0;e=l+1|0;c[q+(e<<2)>>2]=(h<<1)-g;g=l;while(1){if((g|0)<=1)break;u=c[q+(g+-2<<2)>>2]|0;l=zf(j|0,k|0,h|0,((h|0)<0)<<31>>31|0)|0;l=qf(l|0,C|0,15)|0;l=of(l|0,C|0,1,0)|0;l=qf(l|0,C|0,1)|0;t=q+(g<<2)|0;c[t>>2]=(c[t>>2]|0)+(u-l);h=u;g=g+-1|0}l=e;g=(c[n>>2]|0)-j|0}while(1){if((g|0)>=(o|0))break;u=g+1|0;t=(c[p+(u<<2)>>2]|0)+(c[p+(g<<2)>>2]|0)|0;n=(c[q+(u<<2)>>2]|0)-(c[q+(g<<2)>>2]|0)|0;c[r+(g<<2)>>2]=0-n-t;c[r+(f-g+-1<<2)>>2]=n-t;g=u}j=0;g=0;while(1){if((j|0)<10){e=0;h=0}else break;while(1){if((e|0)>=(f|0))break;u=c[r+(e<<2)>>2]|0;u=(u|0)>0?u:0-u|0;t=(u|0)>(h|0);g=t?e:g;e=e+1|0;h=t?u:h}e=(h>>4)+1>>1;if((e|0)<=32767)break;u=(e|0)<163838?e:163838;re(r,f,65470-(((u<<14)+-536854528|0)/((_(u,g+1|0)|0)>>2|0)|0)|0);j=j+1|0}a:do if((j|0)==10){g=0;while(1){if((g|0)>=(f|0)){g=0;break a}u=r+(g<<2)|0;t=(c[u>>2]>>4)+1>>1;t=(t|0)>32767?32767:(t|0)<-32768?-32768:t;b[a+(g<<1)>>1]=t;c[u>>2]=t<<16>>11;g=g+1|0}}else{g=0;while(1){if((g|0)>=(f|0)){g=0;break a}b[a+(g<<1)>>1]=(((c[r+(g<<2)>>2]|0)>>>4)+1|0)>>>1;g=g+1|0}}while(0);while(1){if(!((te(a,f)|0)==0&(g|0)<16))break;re(r,f,65536-(2<=(f|0))break;b[a+(e<<1)>>1]=(((c[r+(e<<2)>>2]|0)>>>4)+1|0)>>>1;e=e+1|0}g=g+1|0}i=s;return}function ve(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+(d+-1<<1)|0;q=c+(d<<1)|0;n=0;while(1){if((n|0)>=20)break;j=b[a>>1]|0;i=b[c>>1]|0;f=j;g=0;h=1;j=(j<<16>>16)-(i<<16>>16)|0;while(1){if((h|0)>=(d|0))break;k=b[a+(h<<1)>>1]|0;m=(k<<16>>16)-((f<<16>>16)+(b[c+(h<<1)>>1]|0))|0;l=(m|0)<(j|0);f=k;g=l?h:g;h=h+1|0;j=l?m:j}l=32768-((b[p>>1]|0)+(b[q>>1]|0))|0;k=(l|0)<(j|0);m=k?d:g;if(((k?l:j)|0)>-1){o=36;break}do if(!m)b[a>>1]=i;else{if((m|0)==(d|0)){b[p>>1]=32768-(e[q>>1]|0);break}else{f=0;i=0}while(1){if((f|0)>=(m|0))break;l=i+(b[c+(f<<1)>>1]|0)|0;f=f+1|0;i=l}k=c+(m<<1)|0;l=b[k>>1]|0;g=l>>1;f=d;h=32768;while(1){if((f|0)<=(m|0))break;j=h-(b[c+(f<<1)>>1]|0)|0;f=f+-1|0;h=j}f=i+g|0;h=h-g|0;j=a+(m+-1<<1)|0;r=b[j>>1]|0;i=a+(m<<1)|0;g=b[i>>1]|0;g=((r<<16>>16)+(g<<16>>16)>>1)+((r&65535)+(g&65535)&1)|0;if((f|0)>(h|0)){if((g|0)<=(f|0))f=(g|0)<(h|0)?h:g}else if((g|0)>(h|0))f=h;else f=(g|0)<(f|0)?f:g;r=f-(l>>>1)|0;b[j>>1]=r;b[i>>1]=r+(e[k>>1]|0)}while(0);n=n+1|0}if((o|0)==36)return;if((n|0)==20)h=1;else return;while(1){if((h|0)>=(d|0))break;f=b[a+(h<<1)>>1]|0;j=h;while(1){i=j+-1|0;if((j|0)<=0)break;g=b[a+(i<<1)>>1]|0;if(f<<16>>16>=g<<16>>16)break;b[a+(j<<1)>>1]=g;j=i}b[a+(j<<1)>>1]=f;h=h+1|0}g=b[a>>1]|0;f=b[c>>1]|0;f=g<<16>>16>f<<16>>16?g:f;b[a>>1]=f;f=f<<16>>16;g=1;while(1){if((g|0)>=(d|0))break;o=a+(g<<1)|0;n=b[o>>1]|0;r=f+(b[c+(g<<1)>>1]|0)|0;r=(r|0)>32767?32767:((r|0)<-32768?-32768:r)<<16>>16;r=(n|0)>(r|0)?n:r;b[o>>1]=r;f=r;g=g+1|0}f=b[p>>1]|0;g=32768-(b[q>>1]|0)|0;g=(f|0)<(g|0)?f:g;b[p>>1]=g;f=d+-2|0;while(1){if((f|0)<=-1)break;d=a+(f<<1)|0;q=b[d>>1]|0;r=(g<<16>>16)-(b[c+(f+1<<1)>>1]|0)|0;r=(q|0)<(r|0)?q:r;b[d>>1]=r;g=r;f=f+-1|0}return}function we(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b[c>>1]|0;f=(b[c+2>>1]|0)-(e<<16>>16)|0;f=131072/(((f|0)>1?f:1)|0)|0;e=(131072/((e<<16>>16>1?e:1)<<16>>16|0)|0)+f|0;b[a>>1]=(e|0)<32767?e:32767;d=d+-1|0;e=1;while(1){if((e|0)>=(d|0))break;i=e+1|0;g=c+(i<<1)|0;j=(b[g>>1]|0)-(b[c+(e<<1)>>1]|0)|0;j=131072/(((j|0)>1?j:1)|0)|0;h=j+f|0;b[a+(e<<1)>>1]=(h|0)<32767?h:32767;h=e+2|0;g=(b[c+(h<<1)>>1]|0)-(b[g>>1]|0)|0;g=131072/(((g|0)>1?g:1)|0)|0;j=j+g|0;b[a+(i<<1)>>1]=(j|0)<32767?j:32767;e=h;f=g}j=32768-(b[c+(d<<1)>>1]|0)|0;j=(131072/(((j|0)>1?j:1)|0)|0)+f|0;b[a+(d<<1)>>1]=(j|0)<32767?j:32767;return}function xe(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=f>>1;g=a+4|0;h=0;while(1){if((h|0)>=(f|0))break;m=h<<1;l=b[e+(m<<1)>>1]<<10;j=l-(c[a>>2]|0)|0;k=(_(j>>16,-25727)|0)+((_(j&65535,-25727)|0)>>16)|0;c[a>>2]=l+(j+k);m=b[e+((m|1)<<1)>>1]<<10;j=c[g>>2]|0;i=m-j|0;i=((i>>16)*9872|0)+(((i&65535)*9872|0)>>>16)|0;c[g>>2]=m+i;i=(l+k+j+i>>10)+1>>1;b[d+(h<<1)>>1]=(i|0)>32767?32767:((i|0)<-32768?-32768:i)&65535;h=h+1|0}return}function ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=0;while(1){if((f|0)>=(e|0)){h=1;break}c[b+(f<<2)>>2]=f;f=f+1|0}while(1){if((h|0)>=(e|0))break;g=c[a+(h<<2)>>2]|0;j=h;while(1){i=j+-1|0;if((j|0)<=0)break;f=c[a+(i<<2)>>2]|0;if((g|0)>=(f|0))break;c[a+(j<<2)>>2]=f;c[b+(j<<2)>>2]=c[b+(i<<2)>>2];j=i}c[a+(j<<2)>>2]=g;c[b+(j<<2)>>2]=h;h=h+1|0}j=a+(e+-1<<2)|0;k=e+-2|0;h=e;while(1){if((h|0)>=(d|0))break;f=c[a+(h<<2)>>2]|0;if((f|0)<(c[j>>2]|0)){i=k;while(1){if((i|0)<=-1)break;g=c[a+(i<<2)>>2]|0;if((f|0)>=(g|0))break;e=i+1|0;c[a+(e<<2)>>2]=g;c[b+(e<<2)>>2]=c[b+(i<<2)>>2];i=i+-1|0}e=i+1|0;c[a+(e<<2)>>2]=f;c[b+(e<<2)>>2]=h}h=h+1|0}return}function ze(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=31-(aa(f|0)|0)|0;k=f+-1|0;h=((k|0)>0?k:0)+1&-2;i=0;g=f;while(1){if((i|0)>=(k|0))break;m=b[e+(i<<1)>>1]|0;m=_(m,m)|0;l=b[e+((i|1)<<1)>>1]|0;i=i+2|0;g=g+((m+(_(l,l)|0)|0)>>>j)|0}if((h|0)<(f|0)){m=b[e+(h<<1)>>1]|0;g=g+((_(m,m)|0)>>>j)|0}g=j+3-(aa(g|0)|0)|0;g=(g|0)<0?0:g;h=f+-1|0;h=((h|0)>0?h:0)+1&-2;i=0;j=0;while(1){if((i|0)>=(k|0))break;l=b[e+(i<<1)>>1]|0;l=_(l,l)|0;m=b[e+((i|1)<<1)>>1]|0;i=i+2|0;j=j+((l+(_(m,m)|0)|0)>>>g)|0}if((h|0)>=(f|0)){m=j;c[d>>2]=g;c[a>>2]=m;return}m=b[e+(h<<1)>>1]|0;m=j+((_(m,m)|0)>>>g)|0;c[d>>2]=g;c[a>>2]=m;return}function Ae(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;var j=0.0,k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0;E=i;i=i+976|0;y=E+784|0;z=E+592|0;C=E+392|0;x=E+192|0;D=E;j=+Ud(b,_(e,d)|0);nf(y|0,0,192)|0;m=0;while(1){if((m|0)>=(e|0))break;k=b+((_(m,d)|0)<<2)|0;l=1;while(1){if((l|0)>(f|0))break;B=+Vd(k,k+(l<<2)|0,d-l|0);w=y+(l+-1<<3)|0;h[w>>3]=+h[w>>3]+B;l=l+1|0}m=m+1|0}rf(z|0,y|0,192)|0;B=j*9.999999747378752e-06;u=j+B+9.999999717180685e-10;h[C>>3]=u;h[x>>3]=u;u=c;v=1;l=0;w=2;t=1.0;while(1){if((l|0)>=(f|0))break;m=d-l|0;o=m+-1|0;r=0;while(1){if((r|0)>=(e|0))break;q=b+((_(r,d)|0)<<2)|0;c=+g[q+(l<<2)>>2];n=+g[q+(o<<2)>>2];k=0;p=c;s=n;while(1){if((l|0)==(k|0)){k=0;break}H=+g[q+(l-k+-1<<2)>>2];I=y+(k<<3)|0;h[I>>3]=+h[I>>3]-c*H;G=+g[q+(m+k<<2)>>2];I=z+(k<<3)|0;h[I>>3]=+h[I>>3]-n*G;F=+h[D+(k<<3)>>3];k=k+1|0;p=p+H*F;s=s+G*F}while(1){if((k|0)==(v|0))break;I=C+(k<<3)|0;h[I>>3]=+h[I>>3]-p*+g[q+(l-k<<2)>>2];I=x+(k<<3)|0;h[I>>3]=+h[I>>3]-s*+g[q+(m+k+-1<<2)>>2];k=k+1|0}r=r+1|0}k=0;c=+h[y+(l<<3)>>3];p=+h[z+(l<<3)>>3];while(1){if((l|0)==(k|0))break;H=+h[D+(k<<3)>>3];I=l-k+-1|0;k=k+1|0;c=c+ +h[z+(I<<3)>>3]*H;p=p+ +h[y+(I<<3)>>3]*H}q=l+1|0;h[C+(q<<3)>>3]=c;h[x+(q<<3)>>3]=p;k=0;c=+h[x>>3];n=+h[C>>3];while(1){if((l|0)==(k|0))break;G=+h[D+(k<<3)>>3];I=k+1|0;H=p+ +h[x+(l-k<<3)>>3]*G;k=I;c=c+ +h[x+(I<<3)>>3]*G;n=n+ +h[C+(I<<3)>>3]*G;p=H}n=p*-2.0/(n+c);c=t*(1.0-n*n);if(!(c<=u))k=0;else{n=+O(+(1.0-u/t));c=u;n=p>0.0?-n:n;k=1}m=q>>1;o=0;while(1){if((o|0)>=(m|0))break;r=D+(o<<3)|0;H=+h[r>>3];I=D+(l-o+-1<<3)|0;G=+h[I>>3];h[r>>3]=H+n*G;h[I>>3]=G+n*H;o=o+1|0}h[D+(l<<3)>>3]=n;if(!k)k=0;else{A=29;break}while(1){if((k|0)==(w|0))break;r=C+(k<<3)|0;H=+h[r>>3];I=x+(l-k+1<<3)|0;G=+h[I>>3];h[r>>3]=H+n*G;h[I>>3]=G+n*H;k=k+1|0}v=v+1|0;l=q;w=w+1|0;t=c}if((A|0)==29){while(1){l=l+1|0;if((l|0)>=(f|0))break;h[D+(l<<3)>>3]=0.0;A=29}if(k|0){k=0;while(1){if((k|0)>=(f|0)){k=0;break}g[a+(k<<2)>>2]=-+h[D+(k<<3)>>3];k=k+1|0}while(1){if((k|0)>=(e|0))break;j=j-+Ud(b+((_(k,d)|0)<<2)|0,f);k=k+1|0}H=j*c;i=E;return +H}}k=0;j=+h[C>>3];c=1.0;while(1){if((k|0)>=(f|0))break;H=+h[D+(k<<3)>>3];I=k+1|0;G=+h[C+(I<<3)>>3];g[a+(k<<2)>>2]=-H;k=I;j=j+G*H;c=c+H*H}H=j-B*c;i=E;return +H}function Be(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+32|0;H=I;o=a+2772|0;g=a+2316|0;j=a+4156|0;if((c[g>>2]|0)!=(c[j>>2]|0)){k=a+2340|0;h=c[k>>2]|0;l=32767/(h+1|0)|0;m=0;n=0;while(1){if((n|0)>=(h|0))break;G=m+l|0;b[a+4052+(n<<1)>>1]=G;h=c[k>>2]|0;m=G;n=n+1|0}c[a+4148>>2]=0;c[a+4152>>2]=3176576;c[j>>2]=c[g>>2]}m=a+4160|0;do if(!(c[m>>2]|0)){if(!(c[a+4164>>2]|0)){g=a+2340|0;h=0;while(1){if((h|0)>=(c[g>>2]|0))break;E=b[a+2344+(h<<1)>>1]|0;G=a+4052+(h<<1)|0;D=b[G>>1]|0;F=D&65535;b[G>>1]=F+((((E<<16>>16)-(D<<16>>16)>>16)*16348|0)+((((E&65535)-F&65535)*16348|0)>>>16));h=h+1|0}l=a+2324|0;g=c[l>>2]|0;h=0;j=0;k=0;while(1){if((h|0)>=(g|0))break;F=c[d+16+(h<<2)>>2]|0;E=(F|0)>(j|0);G=E?h:k;h=h+1|0;j=E?F:j;k=G}j=a+2332|0;h=c[j>>2]|0;sf(a+2772+(h<<2)|0,o|0,(_(g+-1|0,h)|0)<<2|0)|0;j=c[j>>2]|0;rf(o|0,a+4+((_(k,j)|0)<<2)|0,j<<2|0)|0;j=a+4148|0;g=c[l>>2]|0;h=0;while(1){if((h|0)>=(g|0))break;F=c[j>>2]|0;G=(c[d+16+(h<<2)>>2]|0)-F|0;c[j>>2]=F+(((G>>16)*4634|0)+(((G&65535)*4634|0)>>>16));h=h+1|0}if(c[m>>2]|0)break}nf(a+4084|0,0,c[a+2340>>2]<<2|0)|0;i=I;return}while(0);F=Fa()|0;G=i;i=i+((1*(f+16<<2)|0)+15&-16)|0;E=b[a+4224>>1]|0;g=E<<16>>16;h=c[a+4244>>2]|0;k=h<<16>>16;h=(_(g>>16,k)|0)+((_(E&65535,k)|0)>>16)+(_(g,(h>>15)+1>>1)|0)|0;g=c[a+4148>>2]|0;k=h>>16;if((h|0)>2097151|(g|0)>8388608){j=g>>16;j=_(j,j)|0;h=(_(k,k)|0)<<5;g=j-h|0;if((g|0)<1)m=0;else{k=aa(g|0)|0;k=(j|0)==(h|0)?32:k;h=24-k|0;j=0-h|0;do if(h)if((h|0)<0){g=g<>>(h+32|0);break}else{g=g<<32-h|g>>>h;break}while(0);E=((k&1|0)==0?46214:32768)>>>(k>>>1);m=(_(g&127,13959168)|0)>>>16;m=E+((_(E>>16,m)|0)+((_(E&65535,m)|0)>>>16))<<16}}else{E=h<<16>>16;j=g<<16>>16;j=(_(g>>16,j)|0)+((_(g&65535,j)|0)>>16)+(_(g,(g>>15)+1>>1)|0)|0;h=(_(k,E)|0)+((_(h&65535,E)|0)>>16)+(_(h,(h>>15)+1>>1)|0)<<5;g=j-h|0;if((g|0)<1)m=0;else{k=aa(g|0)|0;k=(j|0)==(h|0)?32:k;h=24-k|0;j=0-h|0;do if(h)if((h|0)<0){g=g<>>(h+32|0);break}else{g=g<<32-h|g>>>h;break}while(0);E=((k&1|0)==0?46214:32768)>>>(k>>>1);m=(_(g&127,13959168)|0)>>>16;m=E+((_(E>>16,m)|0)+((_(E&65535,m)|0)>>>16))<<8}}g=G+64|0;j=255;while(1){if((j|0)<=(f|0))break;j=j>>1}h=a+4152|0;k=0;l=c[h>>2]|0;while(1){if((k|0)>=(f|0))break;E=(_(l,196314165)|0)+907633515|0;c[g+(k<<2)>>2]=c[a+2772+((E>>24&j)<<2)>>2];k=k+1|0;l=E}c[h>>2]=l;E=a+2340|0;ue(H,a+4052|0,c[E>>2]|0);D=a+4084|0;g=G;h=D;j=g+64|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));a=b[H>>1]|0;p=b[H+2>>1]|0;q=b[H+4>>1]|0;r=b[H+6>>1]|0;s=b[H+8>>1]|0;t=b[H+10>>1]|0;u=b[H+12>>1]|0;v=b[H+14>>1]|0;w=b[H+16>>1]|0;x=b[H+18>>1]|0;y=b[H+20>>1]|0;z=b[H+22>>1]|0;A=b[H+24>>1]|0;B=b[H+26>>1]|0;C=b[H+28>>1]|0;o=b[H+30>>1]|0;d=m<<10>>16;m=(m>>21)+1>>1;n=0;while(1){if((n|0)>=(f|0))break;H=c[G+(n+15<<2)>>2]|0;H=(c[E>>2]>>1)+((_(H>>16,a)|0)+((_(H&65535,a)|0)>>16))|0;g=c[G+(n+14<<2)>>2]|0;g=H+((_(g>>16,p)|0)+((_(g&65535,p)|0)>>16))|0;H=c[G+(n+13<<2)>>2]|0;H=g+((_(H>>16,q)|0)+((_(H&65535,q)|0)>>16))|0;g=c[G+(n+12<<2)>>2]|0;g=H+((_(g>>16,r)|0)+((_(g&65535,r)|0)>>16))|0;H=c[G+(n+11<<2)>>2]|0;H=g+((_(H>>16,s)|0)+((_(H&65535,s)|0)>>16))|0;g=c[G+(n+10<<2)>>2]|0;g=H+((_(g>>16,t)|0)+((_(g&65535,t)|0)>>16))|0;H=c[G+(n+9<<2)>>2]|0;H=g+((_(H>>16,u)|0)+((_(H&65535,u)|0)>>16))|0;g=c[G+(n+8<<2)>>2]|0;g=H+((_(g>>16,v)|0)+((_(g&65535,v)|0)>>16))|0;H=c[G+(n+7<<2)>>2]|0;H=g+((_(H>>16,w)|0)+((_(H&65535,w)|0)>>16))|0;g=c[G+(n+6<<2)>>2]|0;g=H+((_(g>>16,x)|0)+((_(g&65535,x)|0)>>16))|0;if((c[E>>2]|0)==16){H=c[G+(n+5<<2)>>2]|0;H=g+((_(H>>16,y)|0)+((_(H&65535,y)|0)>>16))|0;g=c[G+(n+4<<2)>>2]|0;g=H+((_(g>>16,z)|0)+((_(g&65535,z)|0)>>16))|0;H=c[G+(n+3<<2)>>2]|0;H=g+((_(H>>16,A)|0)+((_(H&65535,A)|0)>>16))|0;g=c[G+(n+2<<2)>>2]|0;g=H+((_(g>>16,B)|0)+((_(g&65535,B)|0)>>16))|0;H=c[G+(n+1<<2)>>2]|0;H=g+((_(H>>16,C)|0)+((_(H&65535,C)|0)>>16))|0;g=c[G+(n<<2)>>2]|0;g=H+((_(g>>16,o)|0)+((_(g&65535,o)|0)>>16))|0}l=G+(n+16<<2)|0;h=c[l>>2]|0;j=(g|0)>134217727;k=j?2147483632:((g|0)<-134217728?-134217728:g)<<4;if((h+(j?2147483632:((g|0)<-134217728?-134217728:g)<<4)|0)>-1)if((h&k|0)<0)g=-2147483648;else g=h+(j?2147483632:((g|0)<-134217728?-134217728:g)<<4)|0;else if((h|k|0)>-1)g=2147483647;else g=h+(j?2147483632:((g|0)<-134217728?-134217728:g)<<4)|0;c[l>>2]=g;k=e+(n<<1)|0;j=b[k>>1]|0;g=((_(g>>16,d)|0)+((_(g&65535,d)|0)>>16)+(_(g,m)|0)>>7)+1>>1;h=(g|0)>32767;if((j+(h?32767:(g|0)<-32768?-32768:g)|0)<=32767)if((j+(h?32767:(g|0)<-32768?-32768:g)|0)<-32768)g=-32768;else g=j+(h?32767:(g|0)<-32768?-32768:g)|0;else g=32767;b[k>>1]=g;n=n+1|0}g=D;h=G+(f<<2)|0;j=g+64|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));Na(F|0);i=I;return}function Ce(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0;ea=i;i=i+32|0;da=ea;W=d+2336|0;ba=c[W>>2]|0;Z=i;i=i+((1*(ba<<1)|0)+15&-16)|0;o=d+2328|0;j=c[o>>2]|0;$=i;i=i+((1*(ba+j<<2)|0)+15&-16)|0;ba=d+2332|0;n=c[ba>>2]|0;ca=i;i=i+((1*(n<<2)|0)+15&-16)|0;X=i;i=i+((1*(n+16<<2)|0)+15&-16)|0;n=b[d+2766>>1]|0;Y=d+2765|0;q=(n&65535)>>>8&255;n=b[25404+(a[Y>>0]>>1<<2)+((n&65535)<<24>>24<<1)>>1]<<4;p=0;h=a[d+2770>>0]|0;while(1){if((p|0)>=(j|0))break;l=(_(h,196314165)|0)+907633515|0;m=g+(p<<1)|0;j=b[m>>1]|0;h=j<<16>>16<<14;k=d+4+(p<<2)|0;c[k>>2]=h;if(j<<16>>16<=0){if(j<<16>>16<0){h=h|1280;c[k>>2]=h}}else{h=h+-1280|0;c[k>>2]=h}j=h+n|0;c[k>>2]=(l|0)<0?0-j|0:j;j=c[o>>2]|0;p=p+1|0;h=l+(b[m>>1]|0)|0}Q=d+1284|0;h=X;j=Q;k=h+64|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));R=d+2324|0;S=d+2340|0;T=d+4160|0;U=e+136|0;u=q<<24>>24>3;v=da+2|0;w=da+4|0;x=da+6|0;y=da+8|0;z=da+10|0;A=da+12|0;B=da+14|0;D=da+16|0;E=da+18|0;F=da+20|0;G=da+22|0;H=da+24|0;I=da+26|0;J=da+28|0;K=da+30|0;L=d+4164|0;M=d+2308|0;N=0;O=d+4|0;P=f;g=c[W>>2]|0;while(1){if((N|0)>=(c[R>>2]|0))break;o=e+32+(N>>1<<5)|0;rf(da|0,o|0,c[S>>2]<<1|0)|0;r=e+96+(N*5<<1)|0;n=a[Y>>0]|0;t=c[e+16+(N<<2)>>2]|0;s=t>>>6;m=(t|0)>0;if(!m)if(!t)h=32;else{h=0-t|0;V=12}else{h=t;V=12}if((V|0)==12){V=0;h=aa(h|0)|0}j=t<>16;l=536870911/(k|0)|0;p=l<<16;q=p>>16;j=536870912-((_(k,q)|0)+((_(j&65535,q)|0)>>16))<<3;l=p+((_(j>>16,q)|0)+((_(j&65528,q)|0)>>16))+(_(j,(l>>15)+1>>1)|0)|0;h=62-h|0;j=h+-47|0;if((j|0)<1){k=47-h|0;h=-2147483648>>k;j=2147483647>>>k;if((h|0)>(j|0)){if((l|0)<=(h|0))h=(l|0)<(j|0)?j:l}else if((l|0)>(j|0))h=j;else h=(l|0)<(h|0)?h:l;h=h<>j:0;k=c[d>>2]|0;a:do if((t|0)==(k|0))m=65536;else{if((k|0)<=0)if(!k)l=32;else{j=0-k|0;V=24}else{j=k;V=24}if((V|0)==24){V=0;l=aa(j|0)|0}k=k<>16|0)|0)<<16>>16;q=(_(k>>16,m)|0)+((_(k&65535,m)|0)>>16)|0;p=zf(p|0,((p|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;p=qf(p|0,C|0,29)|0;k=k-(p&-8)|0;m=q+((_(k>>16,m)|0)+((_(k&65535,m)|0)>>16))|0;j=l+28-j|0;k=j+-16|0;if((j|0)<16){l=16-j|0;j=-2147483648>>l;k=2147483647>>>l;if((j|0)>(k|0)){if((m|0)<=(j|0))j=(m|0)<(k|0)?k:m}else if((m|0)>(k|0))j=k;else j=(m|0)<(j|0)?j:m;j=j<>k:0;k=j>>16;l=j&65535;m=0;while(1){if((m|0)==16){m=j;break a}q=X+(m<<2)|0;p=c[q>>2]|0;fa=p<<16>>16;c[q>>2]=(_(k,fa)|0)+((_(l,fa)|0)>>16)+(_(j,(p>>15)+1>>1)|0);m=m+1|0}}while(0);c[d>>2]=t;if((c[T>>2]|0)!=0?n<<24>>24!=2&(c[L>>2]|0)==2&(N|0)<2:0){b[r>>1]=0;b[r+2>>1]=0;b[r+4>>1]=0;b[r+6>>1]=0;b[r+8>>1]=0;b[r+4>>1]=4096;q=c[M>>2]|0;c[e+(N<<2)>>2]=q;V=44}else if(n<<24>>24==2){q=c[e+(N<<2)>>2]|0;V=44}else p=O;b:do if((V|0)==44){V=0;n=(N|0)==0;c:do if(!n){if(!((N|0)!=2|u)){k=c[W>>2]|0;l=c[S>>2]|0;j=k-q-l+-2|0;if((N|0)!=2){V=49;break}rf(d+1348+(k<<1)|0,f|0,c[ba>>2]<<2|0)|0;k=c[W>>2]|0;l=c[S>>2]|0;V=49;break}if((m|0)!=65536){h=q+2|0;j=m>>16;k=m&65535;l=0;while(1){if((l|0)>=(h|0))break c;fa=$+(g-l+-1<<2)|0;p=c[fa>>2]|0;o=p<<16>>16;c[fa>>2]=(_(j,o)|0)+((_(k,o)|0)>>16)+(_(m,(p>>15)+1>>1)|0);l=l+1|0}}}else{k=c[W>>2]|0;l=c[S>>2]|0;j=k-q-l+-2|0;V=49}while(0);d:do if((V|0)==49){V=0;se(Z+(j<<1)|0,d+1348+(j+(_(N,c[ba>>2]|0)|0)<<1)|0,o,k-j|0,l);if(n){fa=c[U>>2]<<16>>16;h=(_(h>>16,fa)|0)+((_(h&65535,fa)|0)>>16)<<2}k=q+2|0;l=h>>16;h=h&65535;j=0;while(1){if((j|0)>=(k|0))break d;fa=b[Z+((c[W>>2]|0)-j+-1<<1)>>1]|0;c[$+(g-j+-1<<2)>>2]=(_(l,fa)|0)+((_(h,fa)|0)>>16);j=j+1|0}}while(0);l=r+2|0;m=r+4|0;n=r+6|0;o=r+8|0;k=c[ba>>2]|0;p=0;h=$+(g-q+2<<2)|0;j=g;while(1){if((p|0)>=(k|0)){p=ca;g=j;break b}q=c[h>>2]|0;fa=b[r>>1]|0;fa=(_(q>>16,fa)|0)+((_(q&65535,fa)|0)>>16)+2|0;q=c[h+-4>>2]|0;g=b[l>>1]|0;g=fa+((_(q>>16,g)|0)+((_(q&65535,g)|0)>>16))|0;q=c[h+-8>>2]|0;fa=b[m>>1]|0;fa=g+((_(q>>16,fa)|0)+((_(q&65535,fa)|0)>>16))|0;q=c[h+-12>>2]|0;g=b[n>>1]|0;g=fa+((_(q>>16,g)|0)+((_(q&65535,g)|0)>>16))|0;q=c[h+-16>>2]|0;fa=b[o>>1]|0;fa=g+((_(q>>16,fa)|0)+((_(q&65535,fa)|0)>>16))|0;fa=(c[O+(p<<2)>>2]|0)+(fa<<1)|0;c[ca+(p<<2)>>2]=fa;c[$+(j<<2)>>2]=fa<<1;p=p+1|0;h=h+4|0;j=j+1|0}}while(0);o=s<<16>>16;m=(t>>21)+1>>1;n=0;while(1){l=c[ba>>2]|0;if((n|0)>=(l|0))break;fa=c[X+(n+15<<2)>>2]|0;t=b[da>>1]|0;t=(c[S>>2]>>1)+((_(fa>>16,t)|0)+((_(fa&65535,t)|0)>>16))|0;fa=c[X+(n+14<<2)>>2]|0;h=b[v>>1]|0;h=t+((_(fa>>16,h)|0)+((_(fa&65535,h)|0)>>16))|0;fa=c[X+(n+13<<2)>>2]|0;t=b[w>>1]|0;t=h+((_(fa>>16,t)|0)+((_(fa&65535,t)|0)>>16))|0;fa=c[X+(n+12<<2)>>2]|0;h=b[x>>1]|0;h=t+((_(fa>>16,h)|0)+((_(fa&65535,h)|0)>>16))|0;fa=c[X+(n+11<<2)>>2]|0;t=b[y>>1]|0;t=h+((_(fa>>16,t)|0)+((_(fa&65535,t)|0)>>16))|0;fa=c[X+(n+10<<2)>>2]|0;h=b[z>>1]|0;h=t+((_(fa>>16,h)|0)+((_(fa&65535,h)|0)>>16))|0;fa=c[X+(n+9<<2)>>2]|0;t=b[A>>1]|0;t=h+((_(fa>>16,t)|0)+((_(fa&65535,t)|0)>>16))|0;fa=c[X+(n+8<<2)>>2]|0;h=b[B>>1]|0;h=t+((_(fa>>16,h)|0)+((_(fa&65535,h)|0)>>16))|0;fa=c[X+(n+7<<2)>>2]|0;t=b[D>>1]|0;t=h+((_(fa>>16,t)|0)+((_(fa&65535,t)|0)>>16))|0;fa=c[X+(n+6<<2)>>2]|0;h=b[E>>1]|0;h=t+((_(fa>>16,h)|0)+((_(fa&65535,h)|0)>>16))|0;if((c[S>>2]|0)==16){fa=c[X+(n+5<<2)>>2]|0;t=b[F>>1]|0;t=h+((_(fa>>16,t)|0)+((_(fa&65535,t)|0)>>16))|0;fa=c[X+(n+4<<2)>>2]|0;h=b[G>>1]|0;h=t+((_(fa>>16,h)|0)+((_(fa&65535,h)|0)>>16))|0;fa=c[X+(n+3<<2)>>2]|0;t=b[H>>1]|0;t=h+((_(fa>>16,t)|0)+((_(fa&65535,t)|0)>>16))|0;fa=c[X+(n+2<<2)>>2]|0;h=b[I>>1]|0;h=t+((_(fa>>16,h)|0)+((_(fa&65535,h)|0)>>16))|0;fa=c[X+(n+1<<2)>>2]|0;t=b[J>>1]|0;t=h+((_(fa>>16,t)|0)+((_(fa&65535,t)|0)>>16))|0;fa=c[X+(n<<2)>>2]|0;h=b[K>>1]|0;h=t+((_(fa>>16,h)|0)+((_(fa&65535,h)|0)>>16))|0}j=c[p+(n<<2)>>2]|0;k=(h|0)>134217727;l=k?2147483632:((h|0)<-134217728?-134217728:h)<<4;if((j+(k?2147483632:((h|0)<-134217728?-134217728:h)<<4)|0)>-1)if((j&l|0)<0)h=-2147483648;else h=j+(k?2147483632:((h|0)<-134217728?-134217728:h)<<4)|0;else if((j|l|0)>-1)h=2147483647;else h=j+(k?2147483632:((h|0)<-134217728?-134217728:h)<<4)|0;c[X+(n+16<<2)>>2]=h;fa=((_(h>>16,o)|0)+((_(h&65535,o)|0)>>16)+(_(h,m)|0)>>7)+1>>1;b[P+(n<<1)>>1]=(fa|0)>32767?32767:((fa|0)<-32768?-32768:fa)&65535;n=n+1|0}h=X;j=X+(l<<2)|0;k=h+64|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));N=N+1|0;O=O+(l<<2)|0;P=P+(l<<1)|0}h=Q;j=X;k=h+64|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));i=ea;return}function De(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;fa=i;i=i+448|0;Z=fa+232|0;Y=fa+376|0;da=fa+344|0;S=fa+200|0;U=fa+184|0;T=fa+168|0;$=fa+88|0;ba=fa+8|0;W=fa;ea=fa+312|0;V=fa+280|0;ca=fa+360|0;X=fa+248|0;Q=h+2|0;ve(g,c[h+36>>2]|0,b[Q>>1]|0);n=c[h>>2]|0;w=i;i=i+((1*((n&65535)<<2)|0)+15&-16)|0;R=h+8|0;P=h+12|0;v=n<<16>>16;n=n>>16;o=c[R>>2]|0;p=0;u=c[P>>2]|0;while(1){if((p|0)<(v|0)){r=n;s=0;t=0}else break;while(1){q=r+-2|0;if((q|0)<=-1)break;M=r+-1|0;M=_((e[g+(M<<1)>>1]|0)-(d[o+M>>0]<<7)<<16>>16,b[u+(M<<1)>>1]|0)|0;L=s>>1;O=_((e[g+(q<<1)>>1]|0)-(d[o+q>>0]<<7)<<16>>16,b[u+(q<<1)>>1]|0)|0;N=M>>1;r=q;s=O;t=t+((M|0)>(L|0)?M-L|0:L-M|0)+((O|0)>(N|0)?O-N|0:N-O|0)|0}c[w+(p<<2)>>2]=t;o=o+n|0;p=p+1|0;u=u+(n<<1)|0}O=i;i=i+((1*(l<<2)|0)+15&-16)|0;ye(w,O,v,l);J=i;i=i+((1*(l<<2)|0)+15&-16)|0;K=i;i=i+((1*(l<<4)|0)+15&-16)|0;L=h+32|0;M=h+4|0;N=k<<16>>16;H=m>>1;I=h+16|0;F=k<<14>>16;G=0;while(1){if((G|0)>=(l|0))break;E=c[O+(G<<2)>>2]|0;r=b[Q>>1]|0;t=_(E,r)|0;s=(c[R>>2]|0)+t|0;t=(c[P>>2]|0)+(t<<1)|0;u=0;while(1){if((u|0)>=(r|0))break;D=b[t+(u<<1)>>1]|0;b[ea+(u<<1)>>1]=(_((e[g+(u<<1)>>1]|0)-(d[s+u>>0]<<7)<<16>>16,D)|0)>>>14;o=b[j+(u<<1)>>1]|0;A=o<<16>>16;D=_(D,D)|0;o=aa((o<<16>>16>0?A:0-A|0)|0)|0;A=A<>16|0)|0)<<16>>16;B=(_(A>>16,q)|0)+((_(A&65535,q)|0)>>16)|0;D=zf(D|0,((D|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0;D=qf(D|0,C|0,29)|0;D=A-(D&-8)|0;q=B+((_(D>>16,q)|0)+((_(D&65535,q)|0)>>16))|0;n=o+28-n|0;o=n+-21|0;if((n|0)<21){p=21-n|0;n=-2147483648>>p;o=2147483647>>>p;if((n|0)>(o|0)){if((q|0)<=(n|0))n=(q|0)<(o|0)?o:q}else if((q|0)>(o|0))n=o;else n=(q|0)<(n|0)?n:q;n=n<>o:0;b[V+(u<<1)>>1]=n;u=u+1|0}Cd(X,ca,h,E);D=G<<4;B=c[L>>2]|0;s=c[M>>2]|0;p=s<<16>>16;q=b[Q>>1]|0;r=-10;while(1){if((r|0)==10)break;n=r<<10;o=n+1024|0;a:do if((r|0)>0){n=(r<<26>>16)+-102|0;o=(o<<16>>16)+-102|0}else{switch(r|0){case 0:{o=(o<<16>>16)+-102|0;break a}case -1:{n=-1024;break}default:o=o|102}n=n|102}while(0);A=r+10|0;c[$+(A<<2)>>2]=(_(n<<16>>16,p)|0)>>16;c[ba+(A<<2)>>2]=(_(o<<16>>16,p)|0)>>16;r=r+1|0}c[S>>2]=0;b[da>>1]=0;A=q<<16>>16;y=s>>16;n=A;x=1;b:while(1){z=x<<1;m=(z|0)<5;c:while(1){k=n+-1|0;if((n|0)<=0){s=2147483647;q=0;n=0;break b}o=B+(b[X+(k<<1)>>1]|0)|0;p=b[ea+(k<<1)>>1]|0;q=ca+k|0;r=V+(k<<1)|0;v=0;while(1){if((v|0)>=(x|0))break;u=da+(v<<1)|0;t=(_(d[q>>0]|0,b[u>>1]|0)|0)>>8;n=(_(y,p-t<<16>>16)|0)>>16;n=(n|0)>9?9:(n|0)<-10?-10:n;a[Y+(v<<4)+k>>0]=n;w=n+10|0;s=(c[$+(w<<2)>>2]|0)+t|0;t=(c[ba+(w<<2)>>2]|0)+t|0;b[u>>1]=s;u=v+x|0;b[da+(u<<1)>>1]=t;do if((n|0)>2)if((n|0)==3){w=d[o+7>>0]|0;n=280;break}else{n=n*43|0;w=n+108|0;n=n+151|0;break}else{if((n|0)>=-3){w=d[o+(n+4)>>0]|0;n=d[o+(n+5)>>0]|0;break}if((n|0)==-4){w=280;n=d[o+1>>0]|0;break}else{n=_(n,-43)|0;w=n+108|0;n=n+65|0;break}}while(0);ha=S+(v<<2)|0;ga=c[ha>>2]|0;ia=p-s<<16>>16;ia=_(ia,ia)|0;s=b[r>>1]|0;c[ha>>2]=ga+(_(ia,s)|0)+(_(N,w<<16>>16)|0);w=p-t<<16>>16;c[S+(u<<2)>>2]=ga+(_(_(w,w)|0,s)|0)+(_(N,n<<16>>16)|0);v=v+1|0}if(m){n=0;break}else t=0;while(1){if((t|0)==4){n=0;r=0;o=0;p=0;q=2147483647;break}p=S+(t<<2)|0;n=c[p>>2]|0;o=t+4|0;q=S+(o<<2)|0;s=c[q>>2]|0;r=T+(t<<2)|0;if((n|0)>(s|0)){c[r>>2]=n;c[p>>2]=s;c[q>>2]=n;ha=da+(t<<1)|0;ia=b[ha>>1]|0;n=da+(o<<1)|0;b[ha>>1]=b[n>>1]|0;b[n>>1]=ia;n=s}else{c[r>>2]=s;o=t}c[U+(t<<2)>>2]=n;c[Z+(t<<2)>>2]=o;t=t+1|0}while(1){if((o|0)<4){ia=c[T+(o<<2)>>2]|0;ha=(q|0)>(ia|0);ga=c[U+(o<<2)>>2]|0;w=(p|0)<(ga|0);n=w?o:n;r=ha?o:r;o=o+1|0;p=w?ga:p;q=ha?ia:q;continue}if((q|0)>=(p|0)){n=0;break}c[Z+(n<<2)>>2]=c[Z+(r<<2)>>2]^4;p=r+4|0;c[S+(n<<2)>>2]=c[S+(p<<2)>>2];b[da+(n<<1)>>1]=b[da+(p<<1)>>1]|0;c[U+(n<<2)>>2]=0;c[T+(r<<2)>>2]=2147483647;p=Y+(n<<4)|0;n=Y+(r<<4)|0;o=p+16|0;do{a[p>>0]=a[n>>0]|0;p=p+1|0;n=n+1|0}while((p|0)<(o|0));n=0;r=0;o=0;p=0;q=2147483647}while(1){if((n|0)==4){n=k;continue c}ia=Y+(n<<4)+k|0;a[ia>>0]=(d[ia>>0]|0)+((c[Z+(n<<2)>>2]|0)>>>2);n=n+1|0}}while(1){if((n|0)>=(x|0)){n=z;break}a[Y+(n+x<<4)+k>>0]=(d[Y+(n<<4)+k>>0]|0)+1;n=n+1|0}while(1){if((n|0)>=4){n=k;x=z;continue b}a[Y+(n<<4)+k>>0]=a[Y+(n-z<<4)+k>>0]|0;n=n+1|0}}while(1){if((n|0)==8)break;ha=c[S+(n<<2)>>2]|0;ia=(s|0)>(ha|0);s=ia?ha:s;q=ia?n:q;n=n+1|0}n=K+D|0;o=q&3;p=0;while(1){if((p|0)>=(A|0))break;a[n+p>>0]=a[Y+(o<<4)+p>>0]|0;p=p+1|0}a[n>>0]=(d[n>>0]|0)+(q>>>2);r=J+(G<<2)|0;c[r>>2]=s;n=_(H,b[h>>1]|0)|0;n=(c[I>>2]|0)+n|0;o=a[n+E>>0]|0;if(!E)n=256-(o&255)|0;else n=(d[n+(E+-1)>>0]|0)-(o&255)|0;q=aa(n|0)|0;o=24-q|0;p=0-o|0;do if(o)if((o|0)<0){n=n<>>(o+32|0);break}else{n=n<<32-o|n>>>o;break}while(0);ia=n&127;c[r>>2]=s+(_(1024-(ia+(((_(ia,128-ia|0)|0)*179|0)>>>16)+(31-q<<7))<<16>>16,F)|0);G=G+1|0}ye(J,W,l,1);ia=c[W>>2]|0;a[f>>0]=c[O+(ia<<2)>>2];rf(f+1|0,K+(ia<<4)|0,b[Q>>1]|0)|0;ie(g,f,h);i=fa;return}function Ee(){Fb(360,33176);Ra(376,33181,1,1,0);jb(384,33186,1,-128,127);jb(400,33191,1,-128,127);jb(392,33203,1,0,255);jb(408,33217,2,-32768,32767);jb(416,33223,2,0,65535);jb(424,33238,4,-2147483648,2147483647);jb(432,33242,4,0,-1);jb(440,33255,4,-2147483648,2147483647);jb(448,33260,4,0,-1);Pb(456,33274,4);Pb(464,33280,8);Ca(48,33388);Ca(80,33463);Ib(104,4,33559);Ua(128,33591);Ab(136,0,33638);Ab(144,0,33699);Ab(152,1,33767);Ab(160,2,33837);Ab(168,3,33899);Ab(176,4,33970);Ab(184,5,34030);Ab(192,4,34099);Ab(200,5,34160);Ab(144,0,34199);Ab(152,1,34231);Ab(160,2,34264);Ab(168,3,34297);Ab(176,4,34331);Ab(184,5,34364);Ab(208,6,34429);Ab(216,7,34491);Ab(224,7,34554);return}function Fe(b){b=b|0;var d=0,e=0,f=0,g=0;g=c[b+4>>2]|0;f=g;a:do if(!(f&3)){b=g;e=4}else{d=g;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}b=b-f+1|0;d=He(b)|0;if(!d){g=0;return g|0}rf(d|0,g|0,b|0)|0;g=d;return g|0}function Ge(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){g=+N(+a);h[k>>3]=g;if((c[k>>2]|0)==0&(c[k+4>>2]|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;j=+h[k>>3]+-1.0;i=j*(j*.5);l=j/(j+2.0);m=l*l;a=m*m;h[k>>3]=j-i;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=j-g-i+l*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=g*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;j=l+m;a=j+(m+(l-j)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function He(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;j=c[8744]|0;b=j>>>a;if(b&3|0){b=(b&1^1)+a|0;d=35016+(b<<1<<2)|0;e=d+8|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[8748]|0)>>>0)vb();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else vb()}else c[8744]=j&~(1<>2]=G|3;G=f+G+4|0;c[G>>2]=c[G>>2]|1;G=g;return G|0}h=c[8746]|0;if(o>>>0>h>>>0){if(b|0){d=2<>>12&16;d=d>>>i;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|i|g|e|b)+(d>>>b)|0;d=35016+(b<<1<<2)|0;e=d+8|0;g=c[e>>2]|0;i=g+8|0;f=c[i>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[8748]|0)>>>0)vb();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;k=c[8746]|0;break}else vb()}else{c[8744]=j&~(1<>2]=o|3;e=g+o|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(k|0){f=c[8749]|0;b=k>>>3;d=35016+(b<<1<<2)|0;a=c[8744]|0;b=1<>2]|0;if(b>>>0<(c[8748]|0)>>>0)vb();else{l=a;m=b}}else{c[8744]=a|b;l=d+8|0;m=d}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=d}c[8746]=h;c[8749]=e;G=i;return G|0}a=c[8745]|0;if(a){i=(a&0-a)+-1|0;F=i>>>12&16;i=i>>>F;E=i>>>5&8;i=i>>>E;G=i>>>2&4;i=i>>>G;b=i>>>1&2;i=i>>>b;j=i>>>1&1;j=c[35280+((E|F|G|b|j)+(i>>>j)<<2)>>2]|0;i=(c[j+4>>2]&-8)-o|0;b=j;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a)break}b=(c[a+4>>2]&-8)-o|0;G=b>>>0>>0;i=G?b:i;b=a;j=G?a:j}f=c[8748]|0;if(j>>>0>>0)vb();h=j+o|0;if(j>>>0>=h>>>0)vb();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){n=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0>>0)vb();else{c[b>>2]=0;n=a;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)vb();a=e+12|0;if((c[a>>2]|0)!=(j|0))vb();b=d+8|0;if((c[b>>2]|0)==(j|0)){c[a>>2]=d;c[b>>2]=e;n=d;break}else vb()}while(0);do if(g|0){a=c[j+28>>2]|0;b=35280+(a<<2)|0;if((j|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[8745]=c[8745]&~(1<>>0<(c[8748]|0)>>>0)vb();a=g+16|0;if((c[a>>2]|0)==(j|0))c[a>>2]=n;else c[g+20>>2]=n;if(!n)break}b=c[8748]|0;if(n>>>0>>0)vb();c[n+24>>2]=g;a=c[j+16>>2]|0;do if(a|0)if(a>>>0>>0)vb();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);a=c[j+20>>2]|0;if(a|0)if(a>>>0<(c[8748]|0)>>>0)vb();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}while(0);if(i>>>0<16){G=i+o|0;c[j+4>>2]=G|3;G=j+G+4|0;c[G>>2]=c[G>>2]|1}else{c[j+4>>2]=o|3;c[h+4>>2]=i|1;c[h+i>>2]=i;a=c[8746]|0;if(a|0){e=c[8749]|0;b=a>>>3;d=35016+(b<<1<<2)|0;a=c[8744]|0;b=1<>2]|0;if(b>>>0<(c[8748]|0)>>>0)vb();else{p=a;q=b}}else{c[8744]=a|b;p=d+8|0;q=d}c[p>>2]=e;c[q+12>>2]=e;c[e+8>>2]=q;c[e+12>>2]=d}c[8746]=i;c[8749]=h}G=j+8|0;return G|0}}}else if(a>>>0<=4294967231){a=a+11|0;o=a&-8;k=c[8745]|0;if(k){d=0-o|0;a=a>>>8;if(a)if(o>>>0>16777215)j=31;else{q=(a+1048320|0)>>>16&8;z=a<>>16&4;z=z<>>16&2;j=14-(p|q|j)+(z<>>15)|0;j=o>>>(j+7|0)&1|j<<1}else j=0;b=c[35280+(j<<2)>>2]|0;a:do if(!b){a=0;b=0;z=86}else{f=d;a=0;h=o<<((j|0)==31?0:25-(j>>>1)|0);i=b;b=0;while(1){e=c[i+4>>2]&-8;d=e-o|0;if(d>>>0>>0)if((e|0)==(o|0)){a=i;b=i;z=90;break a}else b=i;else d=f;e=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(i|0)?a:e;e=(i|0)==0;if(e){z=86;break}else{f=d;h=h<<(e&1^1)}}}while(0);if((z|0)==86){if((a|0)==0&(b|0)==0){a=2<>>12&16;q=q>>>m;l=q>>>5&8;q=q>>>l;n=q>>>2&4;q=q>>>n;p=q>>>1&2;q=q>>>p;a=q>>>1&1;a=c[35280+((l|m|n|p|a)+(q>>>a)<<2)>>2]|0}if(!a){i=d;j=b}else z=90}if((z|0)==90)while(1){z=0;q=(c[a+4>>2]&-8)-o|0;e=q>>>0>>0;d=e?q:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;z=90;continue}a=c[a+20>>2]|0;if(!a){i=d;j=b;break}else z=90}if((j|0)!=0?i>>>0<((c[8746]|0)-o|0)>>>0:0){f=c[8748]|0;if(j>>>0>>0)vb();h=j+o|0;if(j>>>0>=h>>>0)vb();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){s=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0>>0)vb();else{c[b>>2]=0;s=a;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)vb();a=e+12|0;if((c[a>>2]|0)!=(j|0))vb();b=d+8|0;if((c[b>>2]|0)==(j|0)){c[a>>2]=d;c[b>>2]=e;s=d;break}else vb()}while(0);do if(g|0){a=c[j+28>>2]|0;b=35280+(a<<2)|0;if((j|0)==(c[b>>2]|0)){c[b>>2]=s;if(!s){c[8745]=c[8745]&~(1<>>0<(c[8748]|0)>>>0)vb();a=g+16|0;if((c[a>>2]|0)==(j|0))c[a>>2]=s;else c[g+20>>2]=s;if(!s)break}b=c[8748]|0;if(s>>>0>>0)vb();c[s+24>>2]=g;a=c[j+16>>2]|0;do if(a|0)if(a>>>0>>0)vb();else{c[s+16>>2]=a;c[a+24>>2]=s;break}while(0);a=c[j+20>>2]|0;if(a|0)if(a>>>0<(c[8748]|0)>>>0)vb();else{c[s+20>>2]=a;c[a+24>>2]=s;break}}while(0);do if(i>>>0>=16){c[j+4>>2]=o|3;c[h+4>>2]=i|1;c[h+i>>2]=i;a=i>>>3;if(i>>>0<256){d=35016+(a<<1<<2)|0;b=c[8744]|0;a=1<>2]|0;if(b>>>0<(c[8748]|0)>>>0)vb();else{t=a;v=b}}else{c[8744]=b|a;t=d+8|0;v=d}c[t>>2]=h;c[v+12>>2]=h;c[h+8>>2]=v;c[h+12>>2]=d;break}a=i>>>8;if(a)if(i>>>0>16777215)d=31;else{F=(a+1048320|0)>>>16&8;G=a<>>16&4;G=G<>>16&2;d=14-(E|F|d)+(G<>>15)|0;d=i>>>(d+7|0)&1|d<<1}else d=0;e=35280+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[8745]|0;b=1<>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}d=i<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(i|0)){z=148;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){z=145;break}else{d=d<<1;e=a}}if((z|0)==145)if(b>>>0<(c[8748]|0)>>>0)vb();else{c[b>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((z|0)==148){a=e+8|0;b=c[a>>2]|0;G=c[8748]|0;if(b>>>0>=G>>>0&e>>>0>=G>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=e;c[h+24>>2]=0;break}else vb()}}else{G=i+o|0;c[j+4>>2]=G|3;G=j+G+4|0;c[G>>2]=c[G>>2]|1}while(0);G=j+8|0;return G|0}}}else o=-1;while(0);d=c[8746]|0;if(d>>>0>=o>>>0){a=d-o|0;b=c[8749]|0;if(a>>>0>15){G=b+o|0;c[8749]=G;c[8746]=a;c[G+4>>2]=a|1;c[G+a>>2]=a;c[b+4>>2]=o|3}else{c[8746]=0;c[8749]=0;c[b+4>>2]=d|3;G=b+d+4|0;c[G>>2]=c[G>>2]|1}G=b+8|0;return G|0}a=c[8747]|0;if(a>>>0>o>>>0){E=a-o|0;c[8747]=E;G=c[8750]|0;F=G+o|0;c[8750]=F;c[F+4>>2]=E|1;c[G+4>>2]=o|3;G=G+8|0;return G|0}do if(!(c[8862]|0)){a=Aa(30)|0;if(!(a+-1&a)){c[8864]=a;c[8863]=a;c[8865]=-1;c[8866]=-1;c[8867]=0;c[8855]=0;c[8862]=(ab(0)|0)&-16^1431655768;break}else vb()}while(0);h=o+48|0;e=c[8864]|0;i=o+47|0;d=e+i|0;e=0-e|0;j=d&e;if(j>>>0<=o>>>0){G=0;return G|0}a=c[8854]|0;if(a|0?(t=c[8852]|0,v=t+j|0,v>>>0<=t>>>0|v>>>0>a>>>0):0){G=0;return G|0}b:do if(!(c[8855]&4)){b=c[8750]|0;c:do if(b){f=35424;while(1){a=c[f>>2]|0;if(a>>>0<=b>>>0?(r=f+4|0,(a+(c[r>>2]|0)|0)>>>0>b>>>0):0)break;a=c[f+8>>2]|0;if(!a){z=173;break c}else f=a}a=d-(c[8747]|0)&e;if(a>>>0<2147483647){b=xa(a|0)|0;if((b|0)==((c[f>>2]|0)+(c[r>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;g=a;z=193;break b}}else z=183}}else z=173;while(0);do if((z|0)==173?(u=xa(0)|0,(u|0)!=(-1|0)):0){a=u;b=c[8863]|0;d=b+-1|0;if(!(d&a))a=j;else a=j-a+(d+a&0-b)|0;b=c[8852]|0;d=b+a|0;if(a>>>0>o>>>0&a>>>0<2147483647){v=c[8854]|0;if(v|0?d>>>0<=b>>>0|d>>>0>v>>>0:0)break;b=xa(a|0)|0;if((b|0)==(u|0)){h=u;g=a;z=193;break b}else z=183}}while(0);d:do if((z|0)==183){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(w=c[8864]|0,w=i-a+w&0-w,w>>>0<2147483647):0)if((xa(w|0)|0)==(-1|0)){xa(d|0)|0;break d}else{a=w+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;g=a;z=193;break b}}while(0);c[8855]=c[8855]|4;z=190}else z=190;while(0);if((((z|0)==190?j>>>0<2147483647:0)?(x=xa(j|0)|0,y=xa(0)|0,x>>>0>>0&((x|0)!=(-1|0)&(y|0)!=(-1|0))):0)?(g=y-x|0,g>>>0>(o+40|0)>>>0):0){h=x;z=193}if((z|0)==193){a=(c[8852]|0)+g|0;c[8852]=a;if(a>>>0>(c[8853]|0)>>>0)c[8853]=a;k=c[8750]|0;do if(k){f=35424;while(1){a=c[f>>2]|0;b=f+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){z=203;break}e=c[f+8>>2]|0;if(!e)break;else f=e}if(((z|0)==203?(c[f+12>>2]&8|0)==0:0)?k>>>0>>0&k>>>0>=a>>>0:0){c[b>>2]=d+g;G=k+8|0;G=(G&7|0)==0?0:0-G&7;F=k+G|0;G=g-G+(c[8747]|0)|0;c[8750]=F;c[8747]=G;c[F+4>>2]=G|1;c[F+G+4>>2]=40;c[8751]=c[8866];break}a=c[8748]|0;if(h>>>0>>0){c[8748]=h;i=h}else i=a;b=h+g|0;a=35424;while(1){if((c[a>>2]|0)==(b|0)){z=211;break}a=c[a+8>>2]|0;if(!a){b=35424;break}}if((z|0)==211)if(!(c[a+12>>2]&8)){c[a>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+g;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=b+8|0;a=b+((a&7|0)==0?0:0-a&7)|0;l=m+o|0;j=a-m-o|0;c[m+4>>2]=o|3;do if((a|0)!=(k|0)){if((a|0)==(c[8749]|0)){G=(c[8746]|0)+j|0;c[8746]=G;c[8749]=l;c[l+4>>2]=G|1;c[l+G>>2]=G;break}b=c[a+4>>2]|0;if((b&3|0)==1){h=b&-8;f=b>>>3;e:do if(b>>>0>=256){g=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){e=a+16|0;d=e+4|0;b=c[d>>2]|0;if(!b){b=c[e>>2]|0;if(!b){E=0;break}else d=e}while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)vb();else{c[d>>2]=0;E=b;break}}else{f=c[a+8>>2]|0;if(f>>>0>>0)vb();b=f+12|0;if((c[b>>2]|0)!=(a|0))vb();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;E=e;break}else vb()}while(0);if(!g)break;b=c[a+28>>2]|0;d=35280+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(g>>>0<(c[8748]|0)>>>0)vb();b=g+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=E;else c[g+20>>2]=E;if(!E)break e}else{c[d>>2]=E;if(E|0)break;c[8745]=c[8745]&~(1<>>0>>0)vb();c[E+24>>2]=g;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0>>0)vb();else{c[E+16>>2]=d;c[d+24>>2]=E;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[8748]|0)>>>0)vb();else{c[E+20>>2]=b;c[b+24>>2]=E;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=35016+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0>>0)vb();if((c[d+12>>2]|0)==(a|0))break;vb()}while(0);if((e|0)==(d|0)){c[8744]=c[8744]&~(1<>>0>>0)vb();b=e+8|0;if((c[b>>2]|0)==(a|0)){B=b;break}vb()}while(0);c[d+12>>2]=e;c[B>>2]=d}while(0);a=a+h|0;f=h+j|0}else f=j;a=a+4|0;c[a>>2]=c[a>>2]&-2;c[l+4>>2]=f|1;c[l+f>>2]=f;a=f>>>3;if(f>>>0<256){d=35016+(a<<1<<2)|0;b=c[8744]|0;a=1<>2]|0;if(b>>>0>=(c[8748]|0)>>>0){F=a;G=b;break}vb()}while(0);c[F>>2]=l;c[G+12>>2]=l;c[l+8>>2]=G;c[l+12>>2]=d;break}a=f>>>8;do if(!a)d=0;else{if(f>>>0>16777215){d=31;break}F=(a+1048320|0)>>>16&8;G=a<>>16&4;G=G<>>16&2;d=14-(E|F|d)+(G<>>15)|0;d=f>>>(d+7|0)&1|d<<1}while(0);e=35280+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[8745]|0;b=1<>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}d=f<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){z=281;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){z=278;break}else{d=d<<1;e=a}}if((z|0)==278)if(b>>>0<(c[8748]|0)>>>0)vb();else{c[b>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((z|0)==281){a=e+8|0;b=c[a>>2]|0;G=c[8748]|0;if(b>>>0>=G>>>0&e>>>0>=G>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=e;c[l+24>>2]=0;break}else vb()}}else{G=(c[8747]|0)+j|0;c[8747]=G;c[8750]=l;c[l+4>>2]=G|1}while(0);G=m+8|0;return G|0}else b=35424;while(1){a=c[b>>2]|0;if(a>>>0<=k>>>0?(A=a+(c[b+4>>2]|0)|0,A>>>0>k>>>0):0)break;b=c[b+8>>2]|0}f=A+-47|0;b=f+8|0;b=f+((b&7|0)==0?0:0-b&7)|0;f=k+16|0;b=b>>>0>>0?k:b;a=b+8|0;d=h+8|0;d=(d&7|0)==0?0:0-d&7;G=h+d|0;d=g+-40-d|0;c[8750]=G;c[8747]=d;c[G+4>>2]=d|1;c[G+d+4>>2]=40;c[8751]=c[8866];d=b+4|0;c[d>>2]=27;c[a>>2]=c[8856];c[a+4>>2]=c[8857];c[a+8>>2]=c[8858];c[a+12>>2]=c[8859];c[8856]=h;c[8857]=g;c[8859]=0;c[8858]=a;a=b+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0>>0);if((b|0)!=(k|0)){g=b-k|0;c[d>>2]=c[d>>2]&-2;c[k+4>>2]=g|1;c[b>>2]=g;a=g>>>3;if(g>>>0<256){d=35016+(a<<1<<2)|0;b=c[8744]|0;a=1<>2]|0;if(b>>>0<(c[8748]|0)>>>0)vb();else{C=a;D=b}}else{c[8744]=b|a;C=d+8|0;D=d}c[C>>2]=k;c[D+12>>2]=k;c[k+8>>2]=D;c[k+12>>2]=d;break}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{F=(a+1048320|0)>>>16&8;G=a<>>16&4;G=G<>>16&2;d=14-(E|F|d)+(G<>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=35280+(d<<2)|0;c[k+28>>2]=d;c[k+20>>2]=0;c[f>>2]=0;a=c[8745]|0;b=1<>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}d=g<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(g|0)){z=307;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){z=304;break}else{d=d<<1;e=a}}if((z|0)==304)if(b>>>0<(c[8748]|0)>>>0)vb();else{c[b>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((z|0)==307){a=e+8|0;b=c[a>>2]|0;G=c[8748]|0;if(b>>>0>=G>>>0&e>>>0>=G>>>0){c[b+12>>2]=k;c[a>>2]=k;c[k+8>>2]=b;c[k+12>>2]=e;c[k+24>>2]=0;break}else vb()}}}else{G=c[8748]|0;if((G|0)==0|h>>>0>>0)c[8748]=h;c[8856]=h;c[8857]=g;c[8859]=0;c[8753]=c[8862];c[8752]=-1;a=0;do{G=35016+(a<<1<<2)|0;c[G+12>>2]=G;c[G+8>>2]=G;a=a+1|0}while((a|0)!=32);G=h+8|0;G=(G&7|0)==0?0:0-G&7;F=h+G|0;G=g+-40-G|0;c[8750]=F;c[8747]=G;c[F+4>>2]=G|1;c[F+G+4>>2]=40;c[8751]=c[8866]}while(0);a=c[8747]|0;if(a>>>0>o>>>0){E=a-o|0;c[8747]=E;G=c[8750]|0;F=G+o|0;c[8750]=F;c[F+4>>2]=E|1;c[G+4>>2]=o|3;G=G+8|0;return G|0}}if(!(c[8732]|0))a=34972;else a=c[(Mb()|0)+64>>2]|0;c[a>>2]=12;G=0;return G|0}function Ie(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;d=a+-8|0;h=c[8748]|0;if(d>>>0>>0)vb();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)vb();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0>>0)vb();if((k|0)==(c[8749]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;f=j;break}c[8746]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=35016+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)vb();if((c[b+12>>2]|0)!=(k|0))vb()}if((d|0)==(b|0)){c[8744]=c[8744]&~(1<>>0>>0)vb();a=d+8|0;if((c[a>>2]|0)==(k|0))g=a;else vb()}else g=d+8|0;c[b+12>>2]=d;c[g>>2]=b;q=k;f=j;break}g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){i=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0>>0)vb();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0>>0)vb();a=e+12|0;if((c[a>>2]|0)!=(k|0))vb();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else vb()}while(0);if(g){a=c[k+28>>2]|0;b=35280+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[8745]=c[8745]&~(1<>>0<(c[8748]|0)>>>0)vb();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[g+20>>2]=i;if(!i){q=k;f=j;break}}d=c[8748]|0;if(i>>>0>>0)vb();c[i+24>>2]=g;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0>>0)vb();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[8748]|0)>>>0)vb();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;f=j;break}else{q=k;f=j}}else{q=k;f=j}}else{q=d;f=e}while(0);if(q>>>0>=m>>>0)vb();a=m+4|0;b=c[a>>2]|0;if(!(b&1))vb();if(!(b&2)){if((m|0)==(c[8750]|0)){p=(c[8747]|0)+f|0;c[8747]=p;c[8750]=q;c[q+4>>2]=p|1;if((q|0)!=(c[8749]|0))return;c[8749]=0;c[8746]=0;return}if((m|0)==(c[8749]|0)){p=(c[8746]|0)+f|0;c[8746]=p;c[8749]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}f=(b&-8)+f|0;e=b>>>3;do if(b>>>0>=256){g=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){d=m+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){n=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[8748]|0)>>>0)vb();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[8748]|0)>>>0)vb();d=b+12|0;if((c[d>>2]|0)!=(m|0))vb();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else vb()}while(0);if(g|0){a=c[m+28>>2]|0;b=35280+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[8745]=c[8745]&~(1<>>0<(c[8748]|0)>>>0)vb();a=g+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[g+20>>2]=n;if(!n)break}d=c[8748]|0;if(n>>>0>>0)vb();c[n+24>>2]=g;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0>>0)vb();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[8748]|0)>>>0)vb();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=35016+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[8748]|0)>>>0)vb();if((c[b+12>>2]|0)!=(m|0))vb()}if((d|0)==(b|0)){c[8744]=c[8744]&~(1<>>0<(c[8748]|0)>>>0)vb();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else vb()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=f|1;c[q+f>>2]=f;if((q|0)==(c[8749]|0)){c[8746]=f;return}}else{c[a>>2]=b&-2;c[q+4>>2]=f|1;c[q+f>>2]=f}a=f>>>3;if(f>>>0<256){d=35016+(a<<1<<2)|0;b=c[8744]|0;a=1<>2]|0;if(b>>>0<(c[8748]|0)>>>0)vb();else{o=a;p=b}}else{c[8744]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<>>16&4;p=p<>>16&2;d=14-(n|o|d)+(p<>>15)|0;d=f>>>(d+7|0)&1|d<<1}else d=0;e=35280+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[8745]|0;b=1<>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=130;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){a=127;break}else{d=d<<1;e=a}}if((a|0)==127)if(b>>>0<(c[8748]|0)>>>0)vb();else{c[b>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((a|0)==130){a=e+8|0;b=c[a>>2]|0;p=c[8748]|0;if(b>>>0>=p>>>0&e>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=e;c[q+24>>2]=0;break}else vb()}}else{c[8745]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[8752]|0)+-1|0;c[8752]=q;if(!q)a=35432;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[8752]=-1;return}function Je(a){a=a|0;return}function Ke(a){a=a|0;Ie(a);return}function Le(a){a=a|0;return}function Me(a){a=a|0;return}function Ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=Oe(b,240)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;fc[c[(c[f>>2]|0)+28>>2]&3](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=h;return b|0}function Oe(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;r=s;q=c[d>>2]|0;p=d+(c[q+-8>>2]|0)|0;q=c[q+-4>>2]|0;c[r>>2]=e;c[r+4>>2]=d;c[r+8>>2]=272;l=r+12|0;m=r+16|0;d=r+20|0;f=r+24|0;g=r+28|0;h=r+32|0;j=r+40|0;k=(q|0)==(e|0);n=l;o=n+40|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));b[l+40>>1]=0;a[l+42>>0]=0;a:do if(k){c[r+48>>2]=1;dc[c[(c[e>>2]|0)+20>>2]&3](e,r,p,p,1,0);d=(c[f>>2]|0)==1?p:0}else{Yb[c[(c[q>>2]|0)+24>>2]&3](q,r,p,1,0);switch(c[r+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[g>>2]|0)==1&(c[h>>2]|0)==1?c[d>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[f>>2]|0)!=1?!((c[j>>2]|0)==0&(c[g>>2]|0)==1&(c[h>>2]|0)==1):0){d=0;break}d=c[m>>2]|0}while(0);i=s;return d|0}function Pe(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Qe(b,d,e,f);else{a=c[a+8>>2]|0;dc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function Qe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;a[b+53>>0]=1;do if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;e=b+16|0;g=c[e>>2]|0;if(!g){c[e>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0))break;a[b+54>>0]=1;break}if((g|0)!=(d|0)){f=b+36|0;c[f>>2]=(c[f>>2]|0)+1;a[b+54>>0]=1;break}g=b+24|0;e=c[g>>2]|0;if((e|0)==2){c[g>>2]=f;e=f}if((e|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}while(0);return}function Re(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;Yb[c[(c[j>>2]|0)+24>>2]&3](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(j=d+20|0,(c[j>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;f=d+53|0;a[f>>0]=0;b=c[b+8>>2]|0;dc[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[f>>0]|0)if(!(a[h>>0]|0)){h=1;f=13}else f=17;else{h=0;f=13}do if((f|0)==13){c[j>>2]=e;e=d+40|0;c[e>>2]=(c[e>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h){f=17;break}else{h=4;break}}if(h)f=17;else h=4}while(0);if((f|0)==17)h=3;c[i>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Se(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;do if((b|0)==(c[d+8>>2]|0)){b=d+16|0;g=c[b>>2]|0;if(!g){c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;break}if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{g=c[b+8>>2]|0;fc[c[(c[g>>2]|0)+28>>2]&3](g,d,e,f)}while(0);return}function Te(a){a=a|0;Ie(a);return}function Ue(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Qe(b,d,e,f);return}function Ve(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function We(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;do if((b|0)==(c[d+8>>2]|0)){b=d+16|0;g=c[b>>2]|0;if(!g){c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;break}if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}while(0);return}function Xe(a){a=a|0;return}function Ye(a){a=a|0;Ie(a);return}function Ze(a){a=a|0;return 34734}function _e(a){a=a|0;Ie(a);return}function $e(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function af(a){a=a|0;Ie(a);return}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+64|0;j=k;c[d>>2]=c[c[d>>2]>>2];if(!((a|0)==(b|0)|(b|0)==368))if(((b|0)!=0?(e=Oe(b,328)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){b=c[a+12>>2]|0;a=e+12|0;if(!((b|0)==360?1:(b|0)==(c[a>>2]|0)))if((((b|0)!=0?(g=Oe(b,240)|0,(g|0)!=0):0)?(f=c[a>>2]|0,(f|0)!=0):0)?(h=Oe(f,240)|0,(h|0)!=0):0){a=j;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[j>>2]=h;c[j+8>>2]=g;c[j+12>>2]=-1;c[j+48>>2]=1;fc[c[(c[h>>2]|0)+28>>2]&3](h,j,c[d>>2]|0,1);if((c[j+24>>2]|0)==1){c[d>>2]=c[j+16>>2];a=1}else a=0}else a=0;else a=1}else a=0;else a=1;i=k;return a|0}function cf(a){a=a|0;Ie(a);return}function df(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((d|0)==(c[e+8>>2]|0))Qe(e,f,g,h);else{o=e+52|0;r=b[o>>1]|0;p=r&255;q=e+53|0;r=(r&65535)>>>8&255;n=c[d+12>>2]|0;k=d+16+(n<<3)|0;a[o>>0]=0;a[q>>0]=0;ef(d+16|0,e,f,g,h,i);a:do if((n|0)>1){l=e+24|0;m=d+8|0;n=e+54|0;j=d+24|0;do{if(a[n>>0]|0)break a;d=b[o>>1]|0;if(!((d&255)<<24>>24)){if((d&65535)>=256?(c[m>>2]&1|0)==0:0)break a}else{if((c[l>>2]|0)==1)break a;if(!(c[m>>2]&2))break a}a[o>>0]=0;a[q>>0]=0;ef(j,e,f,g,h,i);j=j+8|0}while(j>>>0>>0)}while(0);a[o>>0]=p;a[q>>0]=r}return}function ef(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;dc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e+h|0,i&2|0?f:2,g);return}function ff(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){q=c[b+12>>2]|0;j=b+16+(q<<3)|0;gf(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[k>>2]|0)==1)break a;gf(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[k>>2]|0)==1?(c[b>>2]|0)==1:0)break a;gf(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;gf(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;j=b+16+(c[b+12>>2]<<3)|0;k=d+52|0;f=d+53|0;n=d+54|0;l=b+8|0;o=d+24|0;m=0;h=0;i=b+16|0;b:while(1){if(i>>>0>=j>>>0){b=20;break}a[k>>0]=0;a[f>>0]=0;ef(i,d,e,e,1,g);if(a[n>>0]|0){b=20;break}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[l>>2]&1)){h=1;b=20;break b}else{b=m;h=1;break}if((c[o>>2]|0)==1){b=25;break b}if(!(c[l>>2]&2)){b=25;break b}else{b=1;h=1}}else b=m;while(0);m=b;i=i+8|0}do if((b|0)==20){if((!m?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=25;break}else{h=4;break}}if(h)b=25;else h=4}while(0);if((b|0)==25)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function gf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Yb[c[(c[a>>2]|0)+24>>2]&3](a,b,d+g|0,h&2|0?e:2,f);return}function hf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((b|0)==(c[d+8>>2]|0)){b=d+16|0;g=c[b>>2]|0;if(!g){c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;break}if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{h=c[b+12>>2]|0;g=b+16+(h<<3)|0;jf(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{jf(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}while(0);return}function jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;fc[c[(c[a>>2]|0)+28>>2]&3](a,b,d+f|0,g&2|0?e:2);return}function kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=c[d>>2];a=Xb[c[(c[a>>2]|0)+16>>2]&7](a,b,e)|0;if(a)c[d>>2]=c[e>>2];i=f;return a&1|0}function lf(a){a=a|0;if(!a)a=0;else a=(Oe(a,328)|0)!=0;return a&1|0}function mf(){}function nf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function pf(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<>c-32|0}function qf(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function rf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return ya(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function sf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else rf(b,c,d)|0;return b|0}function tf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function uf(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function xf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=tf(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return tf((Cf(h,g,tf(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=tf(h^a|0,g^b|0,h|0,g|0)|0;b=C;Cf(a,b,tf(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=tf(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function zf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=wf(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Af(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Cf(a,b,c,d,0)|0}function Bf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;Cf(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Cf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=vf(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((vf(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=of(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;tf(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=tf(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}function Df(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Xb[a&7](b|0,c|0,d|0)|0}function Ef(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Yb[a&3](b|0,c|0,d|0,e|0,f|0)}function Ff(a,b){a=a|0;b=b|0;Zb[a&15](b|0)}function Gf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return _b[a&1](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Hf(a,b){a=a|0;b=b|0;return $b[a&3](b|0)|0}function If(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ac[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Jf(a){a=a|0;bc[a&0]()}function Kf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return cc[a&3](b|0,c|0,d|0,e|0)|0}function Lf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;dc[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Mf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ec[a&3](b|0,c|0,d|0,e|0,f|0)|0}function Nf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;fc[a&3](b|0,c|0,d|0,e|0)}function Of(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function Pf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function Qf(a){a=a|0;ba(2)}function Rf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(3);return 0}function Sf(a){a=a|0;ba(4);return 0}function Tf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ba(5)}function Uf(){ba(6)}function Vf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(7);return 0}function Wf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(8)}function Xf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(9);return 0}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(10)} -function gc(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function hc(){return i|0}function ic(a){a=a|0;i=a}function jc(a,b){a=a|0;b=b|0;i=a;j=b}function kc(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function lc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function mc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function nc(a){a=a|0;C=a}function oc(){return C|0}function pc(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if((f|0)>0){i=0;do{j=i<<1;b[d+(i<<1)>>1]=b[d+((j|1)<<1)>>1]<<8|e[d+(j<<1)>>1];i=i+1|0}while((i|0)!=(f|0))}return Kc(c[a+12>>2]|0,d,h,g)|0}function qc(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=a+20|0;i=Cc(c[a+16>>2]|0,d,f,c[h>>2]|0)|0;f=c[a+4>>2]|0;if((_(f,i)|0)<=0)return i|0;h=c[h>>2]|0;f=_(i,f)|0;d=0;do{j=h+(d<<1)|0;a=d<<1;b[g+(a<<1)>>1]=(e[j>>1]|0)&255;b[g+((a|1)<<1)>>1]=(e[j>>1]|0)>>>8;d=d+1|0}while((d|0)!=(f|0));return i|0}function rc(a){a=a|0;return 8}function sc(a){a=a|0;if(!a)return;Ie(c[a+12>>2]|0);Ie(c[a+16>>2]|0);Ie(a);return}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m+4|0;k=m;while(1){j=He(24)|0;if(j|0)break;e=c[8868]|0;c[8868]=e+0;if(!e){h=5;break}bc[e&0]()}if((h|0)==5){m=kb(4)|0;c[m>>2]=23152;Tb(m|0,296,6)}g=c[a>>2]|0;f=c[b>>2]|0;b=c[d>>2]|0;c[j>>2]=b;c[j+4>>2]=f;c[j+8>>2]=g;a=f*11520|0;a=a>>>0>2147483647?-1:a<<1;a=(a|0)==0?1:a;while(1){e=He(a)|0;if(e|0){h=11;break}e=c[8868]|0;c[8868]=e+0;if(!e){h=10;break}bc[e&0]()}if((h|0)==10){m=kb(4)|0;c[m>>2]=23152;Tb(m|0,296,6)}else if((h|0)==11){c[j+20>>2]=e;c[j+12>>2]=Fc(g,f,b,l)|0;c[j+16>>2]=Ac(g,f,k)|0;i=m;return j|0}return 0}function uc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=Xb[a&7](j,h,g)|0;i=f;return a|0}function vc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a>>2]|0;i=c[a+4>>2]|0;a=b+(i>>1)|0;if(i&1)h=c[(c[a>>2]|0)+h>>2]|0;return ec[h&3](a,d,e,f,g)|0}function wc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)g=c[(c[a>>2]|0)+g>>2]|0;return cc[g&3](a,d,e,f)|0}function xc(){var a=0,b=0;eb(8,16,32,0,27863,2,27866,0,27866,0,27766,27868,11);Ja(8,4,488,27871,1,4);while(1){a=He(8)|0;if(a|0)break;a=c[8868]|0;c[8868]=a+0;if(!a){b=5;break}bc[a&0]()}if((b|0)==5){b=kb(4)|0;c[b>>2]=23152;Tb(b|0,296,6)}c[a>>2]=1;c[a+4>>2]=0;Jb(8,27784,6,504,27877,1,a|0,0);while(1){a=He(8)|0;if(a|0){b=11;break}a=c[8868]|0;c[8868]=a+0;if(!a){b=10;break}bc[a&0]()}if((b|0)==10){b=kb(4)|0;c[b>>2]=23152;Tb(b|0,296,6)}else if((b|0)==11){c[a>>2]=2;c[a+4>>2]=0;Jb(8,27792,5,528,27885,2,a|0,0);return}}function yc(a,b,c,d,e,f,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0.0,D=0.0;if(f==0.0&h==0.0){if((b|0)==(a|0))return;sf(a|0,b|0,e<<2|0)|0;return}s=(c|0)>15?c:15;A=(d|0)>15?d:15;r=+g[548+(i*12|0)>>2]*f;p=+g[548+(i*12|0)+4>>2]*f;q=+g[548+(i*12|0)+8>>2]*f;x=+g[548+(j*12|0)>>2]*h;y=+g[548+(j*12|0)+4>>2]*h;z=+g[548+(j*12|0)+8>>2]*h;t=1-A|0;u=0-A|0;v=~A;w=-2-A|0;c=f==h&(s|0)==(A|0)&(i|0)==(j|0)?0:l;d=0;f=+g[b+(t<<2)>>2];m=+g[b+(u<<2)>>2];n=+g[b+(v<<2)>>2];o=+g[b+(w<<2)>>2];while(1){if((d|0)>=(c|0))break;C=+g[b+(d-A+2<<2)>>2];B=+g[k+(d<<2)>>2];B=B*B;D=1.0-B;j=d-s|0;g[a+(d<<2)>>2]=+g[b+(d<<2)>>2]+D*r*+g[b+(j<<2)>>2]+D*p*(+g[b+(j+1<<2)>>2]+ +g[b+(j+-1<<2)>>2])+D*q*(+g[b+(j+2<<2)>>2]+ +g[b+(j+-2<<2)>>2])+B*x*m+B*y*(f+n)+B*z*(C+o);B=f;d=d+1|0;f=C;o=n;n=m;m=B}if(h==0.0){if((b|0)==(a|0))return;sf(a+(c<<2)|0,b+(c<<2)|0,e-c<<2|0)|0;return}else{i=a+(d<<2)|0;l=b+(d<<2)|0;c=e-d|0;d=0;o=+g[l+(t<<2)>>2];n=+g[l+(u<<2)>>2];m=+g[l+(v<<2)>>2];f=+g[l+(w<<2)>>2];while(1){if((d|0)>=(c|0))break;C=+g[l+(d-A+2<<2)>>2];g[i+(d<<2)>>2]=+g[l+(d<<2)>>2]+n*x+(o+m)*y+(C+f)*z;D=o;d=d+1|0;o=C;f=m;m=n;n=D}return}}function zc(a){a=a|0;if((a+7|0)>>>0>7){a=27924;return a|0}a=c[584+(0-a<<2)>>2]|0;return a|0}function Ac(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+16|0;q=s+8|0;o=s;a:do if((a|0)<16e3)if((a|0)<12e3)switch(a|0){case 8e3:{h=2;break a}default:break a}else switch(a|0){case 12e3:{h=2;break a}default:break a}else{if((a|0)<24e3)switch(a|0){case 16e3:{h=2;break a}default:break a}if((a|0)<48e3)switch(a|0){case 24e3:{h=2;break a}default:break a}else switch(a|0){case 48e3:{h=2;break a}default:break a}}while(0);if((h|0)==2?(d+-1|0)>>>0<2:0){n=d*96|0;r=He((d*8672|0)+88+n+9304|0)|0;if(!r){if(!e){e=0;i=s;return e|0}c[e>>2]=-7;e=0;i=s;return e|0}b:do if((a|0)<16e3)if((a|0)<12e3)switch(a|0){case 8e3:{h=9;break b}default:{f=-1;break b}}else switch(a|0){case 12e3:{h=9;break b}default:{f=-1;break b}}else{if((a|0)<24e3)switch(a|0){case 16e3:{h=9;break b}default:{f=-1;break b}}if((a|0)<48e3)switch(a|0){case 24e3:{h=9;break b}default:{f=-1;break b}}else switch(a|0){case 48e3:{h=9;break b}default:{f=-1;break b}}}while(0);do if((h|0)==9)if((d+-1|0)>>>0<2){nf(r|0,0,(d*8672|0)+88+n+9304|0)|0;c[r+4>>2]=88;c[r>>2]=8632;f=r+88|0;p=r+8632|0;c[r+8>>2]=d;c[r+48>>2]=d;c[r+12>>2]=a;c[r+24>>2]=a;c[r+16>>2]=d;m=0;while(1){if((m|0)==2)break;g=f+(m*4260|0)|0;nf(g|0,0,4260)|0;c[f+(m*4260|0)+2376>>2]=1;c[g>>2]=65536;g=f+(m*4260|0)+2340|0;j=c[g>>2]|0;h=32767/(j+1|0)|0;k=0;l=0;while(1){if((l|0)>=(j|0))break;t=k+h|0;b[f+(m*4260|0)+4052+(l<<1)>>1]=t;j=c[g>>2]|0;k=t;l=l+1|0}c[f+(m*4260|0)+4148>>2]=0;c[f+(m*4260|0)+4152>>2]=3176576;c[f+(m*4260|0)+4168>>2]=c[f+(m*4260|0)+2328>>2]<<7;c[f+(m*4260|0)+4240>>2]=65536;c[f+(m*4260|0)+4244>>2]=65536;c[f+(m*4260|0)+4256>>2]=20;c[f+(m*4260|0)+4252>>2]=2;m=m+1|0}t=r+8608|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[r+8628>>2]=0;if(d>>>0<=2){nf(p|0,0,(d*8672|0)+88+n+672|0)|0;c[p>>2]=5304;c[r+8636>>2]=120;c[r+8640>>2]=d;c[r+8644>>2]=d;g=r+8648|0;c[g>>2]=1;c[r+8652>>2]=0;c[r+8656>>2]=21;c[r+8660>>2]=1;c[r+8664>>2]=0;Xc(p,4028,o);c:do if((a|0)<16e3)if((a|0)<12e3){switch(a|0){case 8e3:break;default:{h=22;break c}}f=6;h=23;break}else{switch(a|0){case 12e3:break;default:{h=22;break c}}f=4;h=23;break}else{if((a|0)<24e3){switch(a|0){case 16e3:break;default:{h=22;break c}}f=3;h=23;break}if((a|0)>=48e3)switch(a|0){case 48e3:{f=1;h=23;break c}default:{h=22;break c}}switch(a|0){case 24e3:break;default:{h=22;break c}}f=2;h=23}while(0);if((h|0)==22){c[g>>2]=0;f=-3;break}else if((h|0)==23){c[g>>2]=f;c[q>>2]=0;Xc(p,10016,q);c[r+60>>2]=0;c[r+64>>2]=(a|0)/400|0;c[r+44>>2]=0;f=0;break}}else f=-3}else f=-1;while(0);if(e|0)c[e>>2]=f;if(!f){t=r;i=s;return t|0}Ie(r);t=0;i=s;return t|0}if(!e){t=0;i=s;return t|0}c[e>>2]=-1;t=0;i=s;return t|0}function Bc(a,e,f,h,j,k){a=a|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+160|0;Z=ha+80|0;Y=ha+72|0;W=ha+64|0;U=ha+56|0;R=ha+48|0;P=ha+40|0;O=ha+32|0;N=ha+24|0;M=ha+16|0;L=ha+8|0;K=ha;fa=ha+96|0;B=ha+92|0;ga=ha+88|0;Q=ha+144|0;T=ha+84|0;c[ga>>2]=0;A=a+(c[a+4>>2]|0)|0;V=a+(c[a>>2]|0)|0;da=a+12|0;l=c[da>>2]|0;S=(l|0)/50|0;z=S>>1;ca=S>>2;ea=S>>3;if((ea|0)>(j|0)){a=-2;i=ha;return a|0}l=((l|0)/25|0)*3|0;l=(l|0)>(j|0)?j:l;do if((f|0)>=2)if(e){o=c[a+64>>2]|0;n=c[a+56>>2]|0;c[fa>>2]=e;c[fa+4>>2]=f;c[fa+8>>2]=0;c[fa+12>>2]=0;c[fa+16>>2]=0;r=fa+20|0;c[r>>2]=9;s=fa+24|0;c[s>>2]=0;t=fa+28|0;c[t>>2]=128;c[s>>2]=1;x=d[e>>0]|0;u=fa+40|0;c[u>>2]=x;y=x>>>1^127;v=fa+32|0;c[v>>2]=y;c[fa+44>>2]=0;m=128;j=9;q=1;while(1){if(m>>>0>=8388609)break;j=j+8|0;c[r>>2]=j;m=m<<8;c[t>>2]=m;if(q>>>0>>0){ba=q+1|0;c[s>>2]=ba;w=d[e+q>>0]|0;q=ba}else w=0;c[u>>2]=w;ba=((x<<8|w)>>>1&255|y<<8&2147483392)^255;c[v>>2]=ba;x=w;y=ba}j=c[a+60>>2]|0;if((j|0)>0){j=(j|0)==1002;if((n|0)!=1002){if(!j){j=e;m=l;E=27;break}F=_(ca,c[a+8>>2]|0)|0;ba=Fa()|0;$=o;G=0;H=1;break}if(!j?(c[a+68>>2]|0)==0:0){$=_(ca,c[a+8>>2]|0)|0;ba=Fa()|0;G=i;i=i+((1*($<<2)|0)+15&-16)|0;Bc(a,0,0,G,(ca|0)<(o|0)?ca:o,0)|0;$=o;n=1002;F=1;H=1}else{j=e;m=l;n=1002;E=27}}else{j=e;m=l;E=27}}else E=10;else{E=c[a+64>>2]|0;l=(l|0)<(E|0)?l:E;E=10}while(0);do if((E|0)==10){n=c[a+60>>2]|0;if(!n){j=a+8|0;m=0;while(1){if((m|0)>=(_(l,c[j>>2]|0)|0))break;g[h+(m<<2)>>2]=0.0;m=m+1|0}i=ha;return l|0}if((l|0)<=(S|0)){if((l|0)>=(S|0)){j=0;m=l;o=l;E=27;break}if((l|0)>(z|0)){j=0;m=l;o=z;E=27;break}if((n|0)==1e3){j=0;m=l;o=l;n=1e3;E=27;break}j=0;m=l;o=(l|0)>(ca|0)&(l|0)<(z|0)?ca:l;E=27;break}o=a+8|0;j=h;n=l;while(1){m=Bc(a,0,0,j,(n|0)<(S|0)?n:S,0)|0;if((m|0)<0){l=m;E=158;break}n=n-m|0;j=j+((_(m,c[o>>2]|0)|0)<<2)|0;if((n|0)<=0){E=158;break}}if((E|0)==158){i=ha;return l|0}}while(0);if((E|0)==27){e=j;l=m;ba=Fa()|0;$=o;G=0;F=1;H=0}a:do if(($|0)>(l|0))l=-1;else{if((n|0)==1002){B=i;i=i+16|0;n=1002}else{u=a+8|0;l=c[u>>2]|0;if((z|0)>($|0)){z=(_(z,l)|0)<<1;t=i;i=i+((1*z|0)+15&-16)|0}else{z=(_($,l)|0)<<1;t=i;i=i+((1*z|0)+15&-16)|0}if((c[a+60>>2]|0)==1002){r=0;while(1){if((r|0)==2)break;l=A+(r*4260|0)|0;nf(l|0,0,4260)|0;c[A+(r*4260|0)+2376>>2]=1;c[l>>2]=65536;l=A+(r*4260|0)+2340|0;m=c[l>>2]|0;j=32767/(m+1|0)|0;o=0;q=0;while(1){if((q|0)>=(m|0))break;z=o+j|0;b[A+(r*4260|0)+4052+(q<<1)>>1]=z;m=c[l>>2]|0;o=z;q=q+1|0}c[A+(r*4260|0)+4148>>2]=0;c[A+(r*4260|0)+4152>>2]=3176576;c[A+(r*4260|0)+4168>>2]=c[A+(r*4260|0)+2328>>2]<<7;c[A+(r*4260|0)+4240>>2]=65536;c[A+(r*4260|0)+4244>>2]=65536;c[A+(r*4260|0)+4256>>2]=20;c[A+(r*4260|0)+4252>>2]=2;r=r+1|0}z=A+8520|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[A+8540>>2]=0}z=($*1e3|0)/(c[da>>2]|0)|0;c[a+32>>2]=(z|0)<10?10:z;if(!e)o=1;else{c[a+20>>2]=c[a+48>>2];b:do if((n|0)==1e3)switch(c[a+52>>2]|0){case 1101:{c[a+28>>2]=8e3;break b}case 1102:{c[a+28>>2]=12e3;break b}case 1103:{c[a+28>>2]=16e3;break b}default:{c[a+28>>2]=16e3;break b}}else c[a+28>>2]=16e3;while(0);o=k<<1}m=a+16|0;q=(o|0)==0;r=0;s=t;while(1){c:do if(!(xd(A,m,o,(r|0)==0&1,fa,s,B)|0))l=c[u>>2]|0;else{if(q){l=-3;break a}c[B>>2]=$;j=0;while(1){l=c[u>>2]|0;if((j|0)>=(_($,l)|0))break c;b[s+(j<<1)>>1]=0;j=j+1|0}}while(0);z=c[B>>2]|0;r=r+z|0;s=s+((_(z,l)|0)<<1)|0;if((r|0)>=($|0)){B=t;break}}}A=(k|0)==0;do if(A)if((n|0)!=1002)if((e|0)!=0?(I=fa+20|0,D=c[I>>2]|0,J=fa+28|0,C=c[J>>2]|0,E=D+((aa(C|0)|0)+-32)+17|0,(E+((c[a+56>>2]|0)==1001?20:0)|0)<=(f<<3|0)):0){x=(n|0)==1001;y=fa+32|0;j=c[y>>2]|0;if(x){l=C>>>12;u=j>>>0>>0;v=u&1;if(!u){j=j-l|0;c[y>>2]=j;l=C-l|0}c[J>>2]=l;r=fa+40|0;s=fa+24|0;t=fa+4|0;m=l;l=D;while(1){if(m>>>0>=8388609)break;l=l+8|0;c[I>>2]=l;o=m<<8;c[J>>2]=o;q=c[r>>2]|0;m=c[s>>2]|0;if(m>>>0<(c[t>>2]|0)>>>0){c[s>>2]=m+1;m=d[(c[fa>>2]|0)+m>>0]|0}else m=0;c[r>>2]=m;E=((q<<8|m)>>>1&255|j<<8&2147483392)^255;c[y>>2]=E;m=o;j=E}if(u){q=m;o=j}else{l=f;j=0;m=0;o=0;E=90;break}}else{q=C;o=j;l=D;v=1}m=q>>>1;E=o>>>0>>0;j=E&1;if(!E){o=o-m|0;c[y>>2]=o;m=q-m|0}c[J>>2]=m;t=fa+40|0;u=fa+24|0;w=fa+4|0;while(1){if(m>>>0>=8388609)break;l=l+8|0;c[I>>2]=l;m=m<<8;c[J>>2]=m;r=c[t>>2]|0;q=c[u>>2]|0;if(q>>>0<(c[w>>2]|0)>>>0){c[u>>2]=q+1;q=d[(c[fa>>2]|0)+q>>0]|0}else q=0;c[t>>2]=q;E=((r<<8|q)>>>1&255|o<<8&2147483392)^255;c[y>>2]=E;o=E}if(x){E=m>>>8;c[fa+36>>2]=E;s=(o>>>0)/(E>>>0)|0;D=s+1|0;s=256-(D+(D>>>0>256?255-s|0:0))|0;D=_(E,255-s|0)|0;r=o-D|0;c[y>>2]=r;m=(s|0)==0?m-D|0:E;c[J>>2]=m;while(1){if(m>>>0>=8388609)break;l=l+8|0;c[I>>2]=l;m=m<<8;c[J>>2]=m;q=c[t>>2]|0;o=c[u>>2]|0;if(o>>>0<(c[w>>2]|0)>>>0){c[u>>2]=o+1;o=d[(c[fa>>2]|0)+o>>0]|0}else o=0;c[t>>2]=o;E=((q<<8|o)>>>1&255|r<<8&2147483392)^255;c[y>>2]=E;r=E}o=s+2|0}else o=f-(l+((aa(m|0)|0)+-32)+7>>3)|0;E=f-o|0;m=(E<<3|0)<(l+((aa(m|0)|0)+-32)|0);o=m?0:o;c[w>>2]=(c[w>>2]|0)-o;l=m?0:E;m=m?0:v;E=90}else{l=f;j=0;m=0;o=0;E=91}else{z=f;y=0;m=0;o=0;j=0}else{l=f;j=0;m=0;o=0;E=90}while(0);if((E|0)==90)if((n|0)==1002){z=l;y=j;j=0}else E=91;if((E|0)==91){z=l;y=j;j=17}switch(c[a+52>>2]|0){case 1101:{l=13;break}case 1103:case 1102:{l=17;break}case 1104:{l=19;break}default:l=21}c[K>>2]=l;Xc(V,10012,K);c[L>>2]=c[a+48>>2];Xc(V,10008,L);x=(m|0)==0;if(!x){L=(_(ca,c[a+8>>2]|0)|0)<<2;l=i;i=i+((1*L|0)+15&-16)|0;if(!y){s=l;w=G;t=0}else{c[M>>2]=0;Xc(V,10010,M);Yc(V,e+z|0,o,l,ca,0,0)|0;c[N>>2]=ga;Xc(V,4031,N);s=l;w=G;t=0}}else{l=i;i=i+((1*(F<<2)|0)+15&-16)|0;do if(!((H|0)==0|(n|0)==1002))if((ca|0)<($|0)){Bc(a,0,0,l,ca,0)|0;break}else{Bc(a,0,0,l,$,0)|0;break}else l=G;while(0);s=i;i=i+16|0;w=l;t=H}c[O>>2]=j;Xc(V,10010,O);do if((n|0)==1e3){b[Q>>1]=-1;l=a+8|0;j=0;while(1){if((j|0)>=(_($,c[l>>2]|0)|0))break;g[h+(j<<2)>>2]=0.0;j=j+1|0}if((c[a+60>>2]|0)==1001){if(!(x|(y|0)==0)?c[a+68>>2]|0:0){l=0;n=1e3;E=116;break}c[R>>2]=0;Xc(V,10010,R);Yc(V,Q,2,h,ea,0,0)|0;l=0;n=1e3;E=116}else{l=0;n=1e3;E=116}}else{l=(S|0)<($|0)?S:$;S=c[a+60>>2]|0;if((n|0)!=(S|0)&(S|0)>0?(c[a+68>>2]|0)==0:0)Xc(V,4028,P);l=Yc(V,A?e:0,z,h,l,fa,0)|0;if((n|0)==1002){v=l;u=n}else E=116}while(0);d:do if((E|0)==116){j=a+8|0;m=0;while(1){if((m|0)>=(_($,c[j>>2]|0)|0)){v=l;u=n;break d}S=h+(m<<2)|0;g[S>>2]=+g[S>>2]+ +(b[B+(m<<1)>>1]|0)*.000030517578125;m=m+1|0}}while(0);c[U>>2]=T;Xc(V,10015,U);r=c[(c[T>>2]|0)+60>>2]|0;e:do if(!x){if(!y){Xc(V,4028,W);c[Y>>2]=0;Xc(V,10010,Y);Yc(V,e+z|0,o,s,ca,0,0)|0;c[Z>>2]=ga;Xc(V,4031,Z);o=c[a+8>>2]|0;q=h+((_(o,$-ea|0)|0)<<2)|0;l=s+((_(o,ea)|0)<<2)|0;j=48e3/(c[da>>2]|0)|0;m=0;while(1){if((m|0)<(o|0))n=0;else break e;while(1){if((n|0)>=(ea|0))break;p=+g[r+((_(n,j)|0)<<2)>>2];p=p*p;Y=(_(n,o)|0)+m|0;Z=q+(Y<<2)|0;g[Z>>2]=p*+g[l+(Y<<2)>>2]+(1.0-p)*+g[Z>>2];n=n+1|0}m=m+1|0}}j=a+8|0;m=0;while(1){q=c[j>>2]|0;if((m|0)<(q|0))l=0;else break;while(1){if((l|0)>=(ea|0))break;Z=(_(c[j>>2]|0,l)|0)+m|0;c[h+(Z<<2)>>2]=c[s+(Z<<2)>>2];l=l+1|0}m=m+1|0}j=_(q,ea)|0;l=s+(j<<2)|0;j=h+(j<<2)|0;m=48e3/(c[da>>2]|0)|0;n=0;while(1){if((n|0)<(q|0))o=0;else break e;while(1){if((o|0)>=(ea|0))break;p=+g[r+((_(o,m)|0)<<2)>>2];p=p*p;Y=(_(o,q)|0)+n|0;Z=j+(Y<<2)|0;g[Z>>2]=p*+g[Z>>2]+(1.0-p)*+g[l+(Y<<2)>>2];o=o+1|0}n=n+1|0}}while(0);f:do if(t|0){j=a+8|0;if(($|0)<(ca|0)){n=c[j>>2]|0;l=48e3/(c[da>>2]|0)|0;j=0;while(1){if((j|0)<(n|0))m=0;else break f;while(1){if((m|0)>=(ea|0))break;p=+g[r+((_(m,l)|0)<<2)>>2];p=p*p;ca=(_(m,n)|0)+j|0;da=h+(ca<<2)|0;g[da>>2]=p*+g[da>>2]+(1.0-p)*+g[w+(ca<<2)>>2];m=m+1|0}j=j+1|0}}else l=0;while(1){q=c[j>>2]|0;m=_(q,ea)|0;if((l|0)>=(m|0))break;c[h+(l<<2)>>2]=c[w+(l<<2)>>2];l=l+1|0}o=w+(m<<2)|0;n=h+(m<<2)|0;l=48e3/(c[da>>2]|0)|0;j=0;while(1){if((j|0)<(q|0))m=0;else break f;while(1){if((m|0)>=(ea|0))break;p=+g[r+((_(m,l)|0)<<2)>>2];p=p*p;ca=(_(m,q)|0)+j|0;da=n+(ca<<2)|0;g[da>>2]=p*+g[da>>2]+(1.0-p)*+g[o+(ca<<2)>>2];m=m+1|0}j=j+1|0}}while(0);l=c[a+40>>2]|0;g:do if(l|0){p=+X(+(+(l|0)*6.488140788860619e-04*.6931471805599453));l=a+8|0;j=0;while(1){if((j|0)>=(_($,c[l>>2]|0)|0))break g;ea=h+(j<<2)|0;g[ea>>2]=+g[ea>>2]*p;j=j+1|0}}while(0);if((z|0)<2)l=0;else l=c[fa+28>>2]^c[ga>>2];c[a+84>>2]=l;c[a+60>>2]=u;c[a+68>>2]=(y|0)==0&(x^1)&1;l=(v|0)<0?v:$}while(0);Na(ba|0);a=l;i=ha;return a|0}function Cc(e,f,h,j){e=e|0;f=f|0;h=h|0;j=j|0;var l=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0;D=i;i=i+112|0;y=D;x=D+104|0;z=D+8|0;t=(f|0)==0;do if((h|0)>0&(t^1)){q=c[e+12>>2]|0;n=a[f>>0]|0;o=n&255;a:do switch(o&3|0){case 0:{p=1;break}case 3:if((h|0)<2){j=-4;i=D;return j|0}else{m=d[f+1>>0]&63;u=5;break a}default:{m=2;u=5}}while(0);if((u|0)==5)p=m;do if(n<<24>>24>=0)if((n&96)==96)if(!(n&8)){m=(q|0)/100|0;break}else{m=(q|0)/50|0;break}else{m=o>>>3&3;if((m|0)==3){m=(q*60|0)/1e3|0;break}else{m=(q<>>3&3)|0)/400|0;while(0);m=_(p,m)|0;if((m*25|0)<=(q*3|0)&(m|0)>0){w=(m|0)>5760?5760:m;break}else{j=-4;i=D;return j|0}}else w=5760;while(0);A=e+8|0;m=_(w,c[A>>2]|0)|0;B=Fa()|0;C=i;i=i+((1*(m<<2)|0)+15&-16)|0;m=(h|0)==0;b:do if(m|t)if(!((w|0)%((c[e+12>>2]|0)/400|0|0)|0))if(m|t){n=0;do{m=Bc(e,0,0,C+((_(n,c[A>>2]|0)|0)<<2)|0,w-n|0,0)|0;if((m|0)<0){n=m;break b}n=n+m|0}while((n|0)<(w|0));c[e+72>>2]=n}else u=23;else n=-1;else u=23;while(0);c:do if((u|0)==23)if((h|0)>=0){q=a[f>>0]|0;do if(q<<24>>24>=0){u=(q&96)==96;p=u?1001:1e3;if(u)o=(q&16)>>>4|1104;else o=((q&255)>>>5&3)+1101|0;m=c[e+12>>2]|0;if((q&96)==96)if(!(q&8)){t=(m|0)/100|0;break}else{t=(m|0)/50|0;break}else{n=(q&255)>>>3&3;if((n|0)==3){t=(m*60|0)/1e3|0;break}else{t=(m<>>5&3;t=(c[e+12>>2]<<((q&255)>>>3&3)|0)/400|0;o=(o|0)==0?1101:o+1102|0;p=1002}while(0);m=((q&4)>>>2)+1|0;n=Wd(f,h,0,x,0,z,y,0)|0;if((n|0)>=0)if((_(n,t)|0)<=(w|0)){q=f+(c[y>>2]|0)|0;c[e+56>>2]=p;c[e+52>>2]=o;c[e+64>>2]=t;c[e+48>>2]=m;m=q;q=0;f=0;while(1){if((q|0)>=(n|0))break;o=z+(q<<1)|0;p=Bc(e,m,b[o>>1]|0,C+((_(f,c[A>>2]|0)|0)<<2)|0,w-f|0,0)|0;if((p|0)<0){n=p;break c}m=m+(b[o>>1]|0)|0;q=q+1|0;f=f+p|0}c[e+72>>2]=f;x=c[A>>2]|0;if((x|0)<1|(f|0)<1)n=f;else{m=_(f,x)|0;n=0;while(1){if((n|0)>=(m|0)){h=0;break}z=C+(n<<2)|0;v=+g[z>>2];h=v>2.0;y=v<-2.0&(h^1);g[z>>2]=y|h?(y?-2.0:2.0):v;n=n+1|0}while(1){if((h|0)==(x|0)){n=f;break c}u=C+(h<<2)|0;w=e+76+(h<<2)|0;l=+g[w>>2];n=0;while(1){if((n|0)>=(f|0))break;m=u+((_(n,x)|0)<<2)|0;r=+g[m>>2];s=r*l;if(s>=0.0)break;g[m>>2]=r+s*r;n=n+1|0}v=+g[u>>2];q=0;while(1){n=q;while(1){if((n|0)>=(f|0))break;s=+g[u+((_(n,x)|0)<<2)>>2];if(s>1.0|s<-1.0)break;n=n+1|0}if((n|0)==(f|0)){l=0.0;break}s=+g[u+((_(n,x)|0)<<2)>>2];l=+N(+s);o=n;while(1){if((o|0)<=0){t=n;r=l;p=n;break}m=o+-1|0;if(!(s*+g[u+((_(m,x)|0)<<2)>>2]>=0.0)){t=n;r=l;p=n;break}else o=m}while(1){if((t|0)>=(f|0))break;l=+g[u+((_(t,x)|0)<<2)>>2];if(!(s*l>=0.0))break;l=+N(+l);y=l>r;z=y?t:p;t=t+1|0;r=y?l:r;p=z}if(!o)n=s*+g[u>>2]>=0.0;else n=0;l=(r+-1.0)/(r*r);l=l+l*2.4e-07;l=s>0.0?-l:l;m=o;while(1){if((m|0)>=(t|0))break;z=u+((_(m,x)|0)<<2)|0;s=+g[z>>2];g[z>>2]=s+l*s*s;m=m+1|0}d:do if(n&(p|0)>1){r=v-+g[u>>2];s=r/+(p|0);m=q;while(1){if((m|0)>=(p|0))break d;E=r-s;z=u+((_(m,x)|0)<<2)|0;F=+g[z>>2]+E;g[z>>2]=F;q=F>1.0;y=F<-1.0&(q^1);g[z>>2]=y|q?(y?-1.0:1.0):F;m=m+1|0;r=E}}while(0);if((t|0)==(f|0))break;else q=t}g[w>>2]=l;h=h+1|0}}}else n=-2}else n=-1;while(0);e:do if((n|0)>0){o=0;while(1){if((o|0)>=(_(n,c[A>>2]|0)|0))break e;l=+g[C+(o<<2)>>2]*32768.0;if(l>-32768.0){if(!(l<32767.0))l=32767.0}else l=-32768.0;m=(g[k>>2]=l,c[k>>2]|0);if((m&2130706432)>>>0<=1249902592){m=(m|0)<0;l=m?l+-8388608.0+8388608.0:l+8388608.0+-8388608.0;if(l==0.0)l=m?-0.0:0.0}b[j+(o<<1)>>1]=~~l;o=o+1|0}}while(0);Na(B|0);j=n;i=D;return j|0}function Dc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+8|0;h=m;k=m+16|0;f=c[a+4>>2]|0;j=a+(c[a>>2]|0)|0;c[k>>2]=e;a:do switch(d|0){case 4009:{l=(c[k>>2]|0)+(4-1)&~(4-1);f=c[l>>2]|0;c[k>>2]=l+4;if(!f)d=26;else{c[f>>2]=c[a+52>>2];f=0;d=25}break}case 4031:{l=(c[k>>2]|0)+(4-1)&~(4-1);f=c[l>>2]|0;c[k>>2]=l+4;if(!f)d=26;else{c[f>>2]=c[a+84>>2];f=0;d=25}break}case 4028:{k=a+f|0;l=a+48|0;f=l;d=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(d|0));Xc(j,4028,h);j=0;while(1){if((j|0)==2)break;f=k+(j*4260|0)|0;nf(f|0,0,4260)|0;c[k+(j*4260|0)+2376>>2]=1;c[f>>2]=65536;f=k+(j*4260|0)+2340|0;e=c[f>>2]|0;d=32767/(e+1|0)|0;g=0;h=0;while(1){if((h|0)>=(e|0))break;n=g+d|0;b[k+(j*4260|0)+4052+(h<<1)>>1]=n;e=c[f>>2]|0;g=n;h=h+1|0}c[k+(j*4260|0)+4148>>2]=0;c[k+(j*4260|0)+4152>>2]=3176576;c[k+(j*4260|0)+4168>>2]=c[k+(j*4260|0)+2328>>2]<<7;c[k+(j*4260|0)+4240>>2]=65536;c[k+(j*4260|0)+4244>>2]=65536;c[k+(j*4260|0)+4256>>2]=20;c[k+(j*4260|0)+4252>>2]=2;j=j+1|0}f=k+8520|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[k+8540>>2]=0;c[l>>2]=c[a+8>>2];c[a+64>>2]=(c[a+12>>2]|0)/400|0;f=0;d=25;break}case 4029:{n=(c[k>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[k>>2]=n+4;if(!f)d=26;else{c[f>>2]=c[a+12>>2];f=0;d=25}break}case 4033:{n=(c[k>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[k>>2]=n+4;if(f)if((c[a+60>>2]|0)==1002){c[g>>2]=f;Xc(j,4033,g);f=0;d=25;break a}else{c[f>>2]=c[a+36>>2];f=0;d=25;break a}else d=26;break}case 4045:{n=(c[k>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[k>>2]=n+4;if(!f)d=26;else{c[f>>2]=c[a+40>>2];f=0;d=25}break}case 4034:{n=(c[k>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[k>>2]=n+4;if((f+32768|0)>>>0>65535)d=26;else{c[a+40>>2]=f;f=0;d=25}break}case 4039:{n=(c[k>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[k>>2]=n+4;if(!f)d=26;else{c[f>>2]=c[a+72>>2];f=0;d=25}break}default:{f=-5;d=25}}while(0);if((d|0)==25){n=f;i=m;return n|0}else if((d|0)==26){n=-1;i=m;return n|0}return 0}function Ec(a){a=a|0;Ie(a);return}function Fc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+32|0;q=t+16|0;p=t+8|0;m=t;a:do if((a|0)<16e3)if((a|0)<12e3)switch(a|0){case 8e3:{s=2;break a}default:break a}else switch(a|0){case 12e3:{s=2;break a}default:break a}else{if((a|0)<24e3)switch(a|0){case 16e3:{s=2;break a}default:break a}if((a|0)<48e3)switch(a|0){case 24e3:{s=2;break a}default:break a}else switch(a|0){case 48e3:{s=2;break a}default:break a}}while(0);b:do if((s|0)==2?(d+-1|0)>>>0<2:0){switch(e|0){case 2048:case 2049:case 2051:break;default:break b}k=d<<12;r=He((d*480|0)+212+k+(d*336|0)+39448|0)|0;if(!r){if(!f){s=0;i=t;return s|0}c[f>>2]=-7;s=0;i=t;return s|0}c:do if((a|0)<16e3)if((a|0)<12e3)switch(a|0){case 8e3:{s=10;break c}default:{h=-1;break c}}else switch(a|0){case 12e3:{s=10;break c}default:{h=-1;break c}}else{if((a|0)<24e3)switch(a|0){case 16e3:{s=10;break c}default:{h=-1;break c}}if((a|0)<48e3)switch(a|0){case 24e3:{s=10;break c}default:{h=-1;break c}}else switch(a|0){case 48e3:{s=10;break c}default:{h=-1;break c}}}while(0);d:do if((s|0)==10)if((d+-1|0)>>>0<2){switch(e|0){case 2048:case 2049:case 2051:break;default:{h=-1;break d}}nf(r|0,0,(d*480|0)+212+k+(d*336|0)+39448|0)|0;c[r+4>>2]=19048;c[r>>2]=39448;n=r+39448|0;c[r+112>>2]=d;c[r+15104>>2]=d;o=r+144|0;c[o>>2]=a;j=r+180|0;c[j>>2]=0;h=r+8|0;if(!(yd(r+19048|0,0,h)|0)){c[h>>2]=d;c[r+12>>2]=d;c[r+16>>2]=c[o>>2];c[r+20>>2]=16e3;c[r+24>>2]=8e3;c[r+28>>2]=16e3;c[r+32>>2]=20;c[r+36>>2]=25e3;c[r+40>>2]=0;l=r+44|0;c[l>>2]=9;c[r+48>>2]=0;c[r+56>>2]=0;c[r+60>>2]=0;c[r+76>>2]=0;h=c[j>>2]|0;nf(n|0,0,(d*480|0)+212+k+(d*336|0)|0)|0;c[n>>2]=5304;c[r+39452>>2]=d;c[r+39456>>2]=d;j=r+39476|0;c[j>>2]=1;c[r+39480>>2]=0;c[r+39484>>2]=21;c[r+39496>>2]=1;c[r+39520>>2]=h;c[r+39500>>2]=1;c[r+39464>>2]=1;c[r+39488>>2]=-1;c[r+39492>>2]=0;c[r+39460>>2]=0;c[r+39472>>2]=5;c[r+39508>>2]=24;Qc(n,4028,m)|0;e:do if((a|0)<16e3)if((a|0)<12e3){switch(a|0){case 8e3:break;default:{s=18;break e}}h=6;break}else{switch(a|0){case 12e3:break;default:{s=18;break e}}h=4;break}else{if((a|0)<24e3){switch(a|0){case 16e3:break;default:{s=18;break e}}h=3;break}if((a|0)>=48e3)switch(a|0){case 48e3:{h=1;break e}default:{s=18;break e}}switch(a|0){case 24e3:break;default:{s=18;break e}}h=2}while(0);if((s|0)==18)h=0;c[j>>2]=h;c[p>>2]=0;Qc(n,10016,p)|0;c[q>>2]=c[l>>2];Qc(n,4010,q)|0;c[r+148>>2]=1;c[r+152>>2]=1;c[r+164>>2]=-1e3;c[r+160>>2]=(_(a,d)|0)+3e3;c[r+108>>2]=e;c[r+124>>2]=-1e3;c[r+128>>2]=-1e3;c[r+132>>2]=1105;c[r+120>>2]=-1e3;c[r+136>>2]=-1e3;c[r+140>>2]=-1;h=c[o>>2]|0;c[r+172>>2]=(h|0)/100|0;c[r+168>>2]=24;c[r+156>>2]=5e3;c[r+116>>2]=(h|0)/250|0;b[r+15108>>1]=16384;g[r+15116>>2]=1.0;c[r+15112>>2]=193536;c[r+15164>>2]=1;c[r+15136>>2]=1001;c[r+15152>>2]=1105;nf(r+188|0,0,14916)|0;h=0}else h=-3}else h=-1;while(0);if(f|0)c[f>>2]=h;if(!h){s=r;i=t;return s|0}Ie(r);s=0;i=t;return s|0}while(0);if(!f){s=0;i=t;return s|0}c[f>>2]=-1;s=0;i=t;return s|0}function Gc(a,c,d,e,f,h,i){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0;k=0;while(1){if((k|0)>=(d|0))break;g[c+(k<<2)>>2]=+(b[a+((_(k+e|0,i)|0)+f<<1)>>1]|0);k=k+1|0}l=(h|0)>-1;a:do if(!l)if((h|0)==-2){f=1;while(1){if((f|0)<(i|0))k=0;else{f=12;break a}while(1){if((k|0)>=(d|0))break;j=+(b[a+((_(k+e|0,i)|0)+f<<1)>>1]|0);m=c+(k<<2)|0;g[m>>2]=+g[m>>2]+j;k=k+1|0}f=f+1|0}}else f=14;else{f=0;while(1){if((f|0)>=(d|0)){f=12;break a}j=+(b[a+((_(f+e|0,i)|0)+h<<1)>>1]|0);m=c+(f<<2)|0;g[m>>2]=+g[m>>2]+j;f=f+1|0}}while(0);if((f|0)==12)if((h|0)==-2)j=.000030517578125/+(i|0);else f=14;if((f|0)==14)j=l?.0000152587890625:.000030517578125;f=0;while(1){if((f|0)>=(d|0))break;m=c+(f<<2)|0;g[m>>2]=+g[m>>2]*j;f=f+1|0}return}function Hc(a,b,d,e,f,h,j,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;var m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0;E=i;i=i+3296|0;A=E+1760|0;C=E+224|0;D=E+112|0;z=E;r=(e|0)/400|0;s=i;i=i+((1*(r<<2)|0)+15&-16)|0;B=c[h>>2]|0;c[D>>2]=B;g[z>>2]=1.0/((c[k>>2]=B,+g[k>>2])+1.0000000036274937e-15);B=(j|0)==0;if(B){e=b;n=0;q=1}else{n=(r<<1)-j|0;e=c[h+4>>2]|0;c[D+4>>2]=e;g[z+4>>2]=1.0/((c[k>>2]=e,+g[k>>2])+1.0000000036274937e-15);e=c[h+8>>2]|0;c[D+8>>2]=e;g[z+8>>2]=1.0/((c[k>>2]=e,+g[k>>2])+1.0000000036274937e-15);e=b-n|0;q=3}j=(e|0)/(r|0)|0;j=(j|0)<24?j:24;e=0;m=0.0;while(1){if((e|0)>=(j|0))break;b=(_(e,r)|0)+n|0;ac[l&1](a,s,r,b,0,-2,d);b=0;m=(e|0)==0?+g[s>>2]:m;o=1.0000000036274937e-15;while(1){if((b|0)>=(r|0))break;u=+g[s+(b<<2)>>2];w=u-m;b=b+1|0;m=u;o=o+w*w}y=e+q|0;g[D+(y<<2)>>2]=o;g[z+(y<<2)>>2]=1.0/o;e=e+1|0}y=e+q|0;c[D+(y<<2)>>2]=c[D+(y+-1<<2)>>2];if(!B){j=j+2|0;j=(j|0)>24?24:j}x=~~+((d*60|0)+40|0);y=(f|0)/400|0;if((f|0)>=32e3)if((f|0)>64399)w=1.0;else w=+(y+-80|0)/80.0;else w=0.0;e=0;while(1){if((e|0)==16){q=0;break}c[C+(e<<2)>>2]=-1;g[A+(e<<2)>>2]=1.0e10;e=e+1|0}while(1){if((q|0)==4){v=1;break}p=+((y<(j|0)?j:n;b=0;m=0.0;o=0.0;while(1){if((b|0)>(e|0))break;u=o+ +g[z+(b<<2)>>2];t=m+ +g[D+(b<<2)>>2];b=b+1|0;m=t;o=u}v=e+1|0;m=(m*o/+(_(v,v)|0)+-2.0)*.05000000074505806;if(+O(+(m<=0.0?0.0:m))>1.0)m=1.0;else m=+O(+(m<=0.0?0.0:m));g[A+(n<<2)>>2]=p*(w*m+1.0);c[C+(n<<2)>>2]=q;q=q+1|0}while(1){if((j|0)<=(v|0))break;f=v+-1|0;e=2;while(1){if((e|0)==16)break;d=e+-1|0;c[A+(v<<6)+(e<<2)>>2]=c[A+(f<<6)+(d<<2)>>2];c[C+(v<<6)+(e<<2)>>2]=d;e=e+1|0}r=A+(f<<6)+4|0;s=D+(v<<2)|0;l=z+(v<<2)|0;a=j-v|0;u=+(a|0);d=0;while(1){if((d|0)==4)break;q=1<>2]=1;t=+g[r>>2];e=1;while(1){if((e|0)==4)break;e=e+1|0;b=(1<>2];if(!(m>2]=b;t=m}p=+((y<(a|0);e=n?a:q;b=0;m=0.0;o=0.0;while(1){if((b|0)>(e|0))break;F=o+ +g[l+(b<<2)>>2];G=m+ +g[s+(b<<2)>>2];b=b+1|0;m=G;o=F}b=e+1|0;m=(m*o/+(_(b,b)|0)+-2.0)*.05000000074505806;if(+O(+(m<=0.0?0.0:m))>1.0)m=1.0;else m=+O(+(m<=0.0?0.0:m));m=p*(w*m+1.0);e=A+(v<<6)+(q<<2)|0;g[e>>2]=t;if(n)m=m*u/+(q|0);g[e>>2]=t+m;d=d+1|0}v=v+1|0}e=j+-1|0;m=+g[A+(e<<6)+4>>2];b=1;n=2;while(1){if((n|0)==16)break;G=+g[A+(e<<6)+(n<<2)>>2];z=G>2]|0;j=e}e=1<>2]=c[D+(e<<2)>>2];if(B){i=E;return b|0}c[h+4>>2]=c[D+(e+1<<2)>>2];c[h+8>>2]=c[D+(e+2<<2)>>2];i=E;return b|0}function Ic(d,e,f,h,j,l,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0.0,qb=0.0,rb=0.0,sb=0.0,tb=0.0,ub=0.0,vb=0,wb=0;ob=i;i=i+1280|0;fb=ob+832|0;db=ob+824|0;cb=ob+816|0;bb=ob+808|0;ab=ob+800|0;$a=ob+792|0;Ya=ob+784|0;Xa=ob+776|0;Wa=ob+768|0;Va=ob+760|0;mb=ob+456|0;Ta=ob+448|0;Sa=ob+440|0;Ra=ob+432|0;Qa=ob+424|0;Pa=ob+416|0;Oa=ob+408|0;Ma=ob+400|0;La=ob+392|0;za=ob+384|0;ya=ob+376|0;xa=ob+368|0;wa=ob+360|0;va=ob+352|0;sa=ob+344|0;ra=ob+336|0;qa=ob+328|0;ua=ob+320|0;ta=ob+312|0;V=ob+304|0;D=ob;oa=ob+1272|0;_a=ob+1224|0;ib=ob+1220|0;Ba=ob+1216|0;jb=ob+1184|0;U=ob+1152|0;ca=ob+852|0;la=ob+848|0;Ja=ob+840|0;Ua=ob+1278|0;eb=ob+1276|0;c[ib>>2]=0;C=(j|0)>1276?1276:j;lb=d+19044|0;c[lb>>2]=0;pa=d+156|0;if(!(c[pa>>2]|0)){v=f*400|0;u=d+144|0;t=c[u>>2]|0;if((v|0)!=(t|0))if(!((f*200|0)==(t|0)|(f*100|0)==(t|0))?(nb=f*50|0,!((nb|0)==(t|0)|(f*25|0)==(t|0)|(nb|0)==(t*3|0))):0){h=-1;i=ob;return h|0}else{nb=u;u=v}else{nb=u;u=v;t=v}}else{t=d+144|0;nb=t;u=f*400|0;t=c[t>>2]|0}if((u|0)<(t|0)|(C|0)<1){h=-1;i=ob;return h|0}na=d+(c[d+4>>2]|0)|0;Za=d+(c[d>>2]|0)|0;ba=d+108|0;if((c[ba>>2]|0)==2051)Aa=0;else Aa=c[d+116>>2]|0;$=c[d+168>>2]|0;$=($|0)>(l|0)?l:$;c[D>>2]=Ba;Qc(Za,10015,D)|0;c[jb>>2]=0;B=d+44|0;do if((c[B>>2]|0)>6?(c[nb>>2]|0)==48e3:0){v=d+112|0;t=_(c[v>>2]|0,f)|0;u=0;x=0.0;y=0.0;while(1){if((u|0)>=(t|0))break;K=+g[e+(u<<2)>>2];u=u+1|0;x=x>K?x:K;y=yK?x:K)<=1.0/+(1<<$|0)){S=d+19032|0;c[S>>2]=0;u=1;l=-1;w=-1;Ia=1;break}l=c[d+8696>>2]|0;w=c[d+8700>>2]|0;Pc(d+188|0,c[Ba>>2]|0,m,n,f,o,p,q,48e3,$,r,jb);if(+g[jb+28>>2]>.10000000149011612){m=d+19040|0;x=+g[m>>2];u=_(c[v>>2]|0,f)|0;t=0;H=0.0;while(1){if((t|0)>=(u|0))break;K=+g[e+(t<<2)>>2];t=t+1|0;H=H+K*K}x=x*.999;y=+(u|0);if(!(x>H/y)){t=0;x=0.0;while(1){if((t|0)>=(u|0))break;K=+g[e+(t<<2)>>2];t=t+1|0;x=x+K*K}x=x/y}g[m>>2]=x;kb=25}else kb=25}else{l=-1;w=-1;kb=25}while(0);do if((kb|0)==25){c[d+140>>2]=-1;u=c[jb>>2]|0;v=d+19032|0;c[v>>2]=0;u=(u|0)==0;if(!u){if((c[d+124>>2]|0)==-1e3)c[d+140>>2]=~~+M(+((1.0-+g[jb+20>>2])*100.0+.5));t=c[jb+24>>2]|0;if((t|0)<13){c[v>>2]=1101;S=v;Ia=0;break}if((t|0)<15){c[v>>2]=1102;S=v;Ia=0;break}if((t|0)<17){c[v>>2]=1103;S=v;Ia=0;break}if((t|0)<19){c[v>>2]=1104;S=v;Ia=0;break}else{c[v>>2]=1105;S=v;Ia=0;break}}else{S=v;Ia=0}}while(0);gb=d+112|0;z=c[gb>>2]|0;A=(z|0)==2;if(A?(c[d+120>>2]|0)!=1:0){n=(c[nb>>2]|0)/(f|0)|0;t=(n|0)<50;x=25.0/+(n|0);v=f+-3|0;m=0;y=0.0;H=0.0;I=0.0;while(1){if((m|0)>=(v|0))break;hb=m<<1;ub=+g[e+(hb<<2)>>2];qb=+g[e+((hb|1)<<2)>>2];tb=+g[e+((hb|2)<<2)>>2];pb=+g[e+((hb|3)<<2)>>2];sb=+g[e+((hb|4)<<2)>>2];J=+g[e+((hb|5)<<2)>>2];rb=+g[e+((hb|6)<<2)>>2];K=+g[e+((hb|7)<<2)>>2];m=m+4|0;y=y+(ub*ub+tb*tb+sb*sb+rb*rb);H=H+(ub*qb+tb*pb+sb*J+rb*K);I=I+(qb*qb+pb*pb+J*J+K*K)}ub=t?.5:1.0-x;Ka=d+15172|0;x=+g[Ka>>2];x=x+ub*(y-x);g[Ka>>2]=x;t=d+15176|0;y=+g[t>>2];y=y+ub*(H-y);g[t>>2]=y;hb=d+15180|0;H=+g[hb>>2];H=H+ub*(I-H);g[hb>>2]=H;x=x<0.0?0.0:x;g[Ka>>2]=x;y=y<0.0?0.0:y;g[t>>2]=y;H=H<0.0?0.0:H;g[hb>>2]=H;if((x>H?x:H)>7.999999797903001e-04){sb=+O(+x);ub=+O(+H);x=+O(+sb);tb=+O(+ub);ub=sb*ub;sb=y>2]=sb;ub=sb/(ub+1.0000000036274937e-15);tb=+O(+(1.0-ub*ub))*(+N(+(x-tb))/(x+1.0000000036274937e-15+tb));hb=d+15184|0;x=+g[hb>>2];ub=+(n|0);x=x+(tb-x)/ub;g[hb>>2]=x;hb=d+15188|0;ub=+g[hb>>2]-.019999999552965164/ub;x=ub>x?ub:x;g[hb>>2]=x}else x=+g[d+15188>>2];x=x*20.0;if(x>1.0)x=1.0}else x=0.0;if(!f)t=(c[nb>>2]|0)/400|0;else t=f;v=c[d+164>>2]|0;switch(v|0){case -1e3:{G=c[nb>>2]|0;v=((G*60|0)/(t|0)|0)+(_(G,z)|0)|0;break}case -1:{G=c[nb>>2]|0;v=(_(C<<3,G)|0)/(t|0)|0;break}default:G=c[nb>>2]|0}Ga=d+160|0;c[Ga>>2]=v;t=(G|0)/(f|0)|0;hb=d+148|0;P=(c[hb>>2]|0)==0;if(P){L=(G*3|0)/(f|0)|0;Ka=(((v*3|0)/8|0)+((L|0)/2|0)|0)/(L|0)|0;Ka=(Ka|0)<(C|0)?Ka:C;L=((_(Ka,L)|0)<<3|0)/3|0;c[Ga>>2]=L}else{L=v;Ka=C}do if(!((Ka|0)<3|(L|0)<(t*24|0))){if((t|0)<50){v=_(Ka,t)|0;if((v|0)<300|(L|0)<2400)break;else ga=v}else ga=_(t,Ka)|0;ha=ga<<3;E=c[B>>2]|0;R=d+40|0;F=c[R>>2]|0;B=t+-50|0;v=L-(_((z*40|0)+20|0,B)|0)|0;if(P)v=v-((v|0)/12|0)|0;C=E+90|0;m=(_(v,C)|0)/100|0;D=(F*12|0)+20|0;m=m-((_(m,F)|0)/(D|0)|0)|0;v=c[d+124>>2]|0;do if((v|0)!=3001)if((v|0)!=3002){v=c[d+140>>2]|0;if((v|0)>-1){Q=v*327>>8;Q=(c[ba>>2]|0)!=2049|(Q|0)<115?Q:115;break}else{Q=(c[ba>>2]|0)==2048?115:48;break}}else Q=0;else Q=127;while(0);T=d+120|0;v=c[T>>2]|0;Ha=d+15104|0;do if((v|0)==-1e3|A^1)if(A){z=(m|0)>(((c[Ha>>2]|0)==2?23e3:25e3)|0)?2:1;c[Ha>>2]=z;break}else{c[Ha>>2]=z;break}else{c[Ha>>2]=v;z=v}while(0);v=L-(_((z*40|0)+20|0,B)|0)|0;if(P)v=v-((v|0)/12|0)|0;n=(_(v,C)|0)/100|0;n=n-((_(n,F)|0)/(D|0)|0)|0;m=c[ba>>2]|0;do if((m|0)!=2051){v=c[d+136>>2]|0;do if((v|0)==-1e3){ub=1.0-x;v=~~(ub*16.0e3+x*16.0e3);v=v+((_(_(Q,Q)|0,~~(ub*64.0e3+x*36.0e3)-v|0)|0)>>14)|0;v=(m|0)==2048?v+8e3|0:v;m=c[d+15140>>2]|0;if((m|0)==1002)v=v+-4e3|0;else v=(m|0)>0?v+4e3|0:v;v=(n|0)>=(v|0)?1002:1e3;m=d+15136|0;c[m>>2]=v;do if(c[d+48>>2]|0){if((F|0)<=(128-Q>>4|0))break;c[m>>2]=1e3;v=1e3}while(0);if(!(c[d+184>>2]|0)){c[d+56>>2]=0;u=m;kb=112;break}if(!u){c[d+56>>2]=0;u=m;kb=112;break}c[d+56>>2]=Ia^1;if(!((Ia|0)==0&(Q|0)>100)){u=m;kb=112;break}c[m>>2]=1e3;u=m;v=1e3}else{u=d+15136|0;c[u>>2]=v;kb=112}while(0);if((kb|0)==112)if((v|0)==1002){Ea=u;u=1002;break}if(((G|0)/100|0|0)>(f|0)){c[u>>2]=1002;Ea=u;u=1002}else{Ea=u;u=v}}else{Ea=d+15136|0;c[Ea>>2]=1002;u=1002}while(0);Y=d+176|0;if(c[Y>>2]|0){c[Ea>>2]=1002;u=1002}da=(t|0)>50;if((Ka|0)<((_(da?9e3:6e3,f)|0)/(G<<3|0)|0|0)){c[Ea>>2]=1002;u=1002}do if((z|0)==1?(c[d+15144>>2]|0)==2:0){v=d+68|0;if((c[v>>2]|0)!=0|(u|0)==1002){kb=124;break}m=d+15140|0;if((c[m>>2]|0)==1002){kb=124;break}c[v>>2]=1;c[Ha>>2]=2;Ca=m;m=2}else kb=124;while(0);if((kb|0)==124){c[d+68>>2]=0;Ca=d+15140|0;m=z}A=c[Ca>>2]|0;do if((A|0)>0){v=(u|0)==1002;if((A|0)==1002&(v^1)){Da=(u|0)!=1002;v=Da&1;if(Da){n=v;v=1;Da=0;break}}else{if(!v){n=0;v=0;Da=0;break}if((A|0)==1002){u=1002;n=0;v=0;Da=0;break}v=(u|0)!=1002&1}if(((G|0)/100|0|0)>(f|0)){u=1002;n=v;v=0;Da=0;break}c[Ea>>2]=A;u=A;n=v;v=1;Da=1}else{n=0;v=0;Da=0}while(0);m=L-(_((m*40|0)+20|0,B)|0)|0;if(P)m=m-((m|0)/12|0)|0;m=(_(m,C)|0)/100|0;a:do switch(u|0){case 1001:case 1e3:{if((E|0)<2)m=(m<<2|0)/5|0;ia=m-((_(m,F)|0)/((F*6|0)+10|0)|0)|0;break}case 1002:{if((E|0)>=5){ia=m;break a}ia=(m*9|0)/10|0;break}default:ia=m-((_(m,F)|0)/(D|0)|0)|0}while(0);ja=d+15160|0;if(!(c[ja>>2]|0))if(!v){ea=n;m=0;v=0;fa=0}else{m=0;kb=145}else{c[ja>>2]=0;n=1;m=1;v=1;kb=145}do if((kb|0)==145){z=(G|0)/200|0;z=(_(Ka,z)|0)/(z+f|0)|0;z=(z|0)>257?257:z;if(P){ea=n;fa=z;break}fa=(L|0)/1600|0;ea=n;fa=(z|0)<(fa|0)?z:fa}while(0);if((u|0)!=1002&(A|0)==1002){u=c[d+180>>2]|0;nf(na|0,0,20400)|0;m=0;while(1){if((m|0)==2)break;Fd(na+(m*10156|0)|0,u)|0;m=m+1|0}c[na+20376>>2]=1;c[na+20380>>2]=1;Z=1}else Z=m;B=(c[Ea>>2]|0)==1002;do if(B)kb=156;else{if(c[d+15164>>2]|0){kb=156;break}if(c[d+84>>2]|0){kb=156;break}m=d+15152|0;P=m;m=c[m>>2]|0}while(0);do if((kb|0)==156){if((c[gb>>2]|0)==2?(c[T>>2]|0)!=1:0){n=616;z=616}else{n=616;z=616}u=_(Q,Q)|0;m=0;while(1){if((m|0)==8)break;ma=c[n+(m<<2)>>2]|0;c[U+(m<<2)>>2]=ma+((_(u,(c[z+(m<<2)>>2]|0)-ma|0)|0)>>14);m=m+1|0}A=(c[d+15164>>2]|0)==0;z=d+15156|0;m=1105;do{n=m<<1;u=c[U+(n+-2204<<2)>>2]|0;n=c[U+(n+-2203<<2)>>2]|0;do if(A)if((c[z>>2]|0)<(m|0)){u=u+n|0;break}else{u=u-n|0;break}while(0);if((ia|0)>=(u|0))break;m=m+-1|0}while((m|0)>1101);c[z>>2]=m;u=d+15152|0;c[u>>2]=m;if(B|A^1){P=u;break}if(!((c[d+88>>2]|0)==0&(m|0)>1103)){P=u;break}c[u>>2]=1103;P=u;m=1103}while(0);u=c[d+132>>2]|0;if((m|0)>(u|0))c[P>>2]=u;else u=m;L=d+128|0;m=c[L>>2]|0;z=(m|0)==-1e3;if(!z){c[P>>2]=m;u=m}if((ha|0)<15e3&(B^1)){u=(u|0)<1103?u:1103;c[P>>2]=u}m=c[nb>>2]|0;if((m|0)<24001&(u|0)>1104){c[P>>2]=1104;u=1104}if((m|0)<16001&(u|0)>1103){c[P>>2]=1103;u=1103}if((m|0)<12001&(u|0)>1102){c[P>>2]=1102;u=1102}if((m|0)<8001&(u|0)>1101){c[P>>2]=1101;u=1101}n=c[S>>2]|0;if(!((n|0)==0|z^1)){m=c[Ha>>2]|0;do if((ia|0)>(m*18e3|0)|B^1){if(!((ia|0)>(m*24e3|0)|B^1)){m=1102;break}if((ia|0)<=(m*3e4|0)){m=1103;break}m=(ia|0)>(m*44e3|0)?1105:1104}else m=1101;while(0);ma=(n|0)>(m|0)?n:m;c[S>>2]=ma;u=(u|0)<(ma|0)?u:ma;c[P>>2]=u}D=c[R>>2]|0;Q=d+52|0;E=c[Q>>2]|0;b:do if((c[d+48>>2]|0)==0|(D|0)==0|B)u=0;else{z=(D|0)<25;A=125-D|0;B=(D|0)<6;C=u;while(1){n=C<<1;m=c[648+(n+-2202<<2)>>2]|0;n=c[648+(n+-2201<<2)>>2]|0;switch(E|0){case 1:{m=m-n|0;break}case 0:{m=m+n|0;break}default:{}}ma=((_(m,z?A:100)|0)>>16)*655|0;m=(ma+((((_(m,z?125-D|0:100)|0)&65535)*655|0)>>>16)|0)<(ia|0);if(m|B){u=m&1;break b}if((C|0)<=1101)break;ma=C+-1|0;c[P>>2]=ma;C=ma}c[P>>2]=u;u=0}while(0);c[Q>>2]=u;c[V>>2]=$;Qc(Za,4036,V)|0;m=c[Ea>>2]|0;u=(m|0)==1002;do if(u){if((c[P>>2]|0)!=1102)break;c[P>>2]=1103}while(0);if(c[Y>>2]|0)c[P>>2]=1101;n=c[nb>>2]|0;do if(((n|0)/50|0|0)<(f|0)){if(!u?(W=c[P>>2]|0,(W|0)<=1103):0){L=W;break}if((l|0)!=-1){c[d+8696>>2]=l;c[d+8700>>2]=w}B=((n|0)/25|0|0)<(f|0)?3:2;m=(j+-3|0)/(B|0)|0;m=(m|0)>1276?1276:m;C=_(B,m)|0;G=Fa()|0;n=i;i=i+((1*C|0)+15&-16)|0;c[ca+4>>2]=0;C=d+136|0;D=c[C>>2]|0;E=c[L>>2]|0;F=c[T>>2]|0;c[C>>2]=c[Ea>>2];c[L>>2]=c[P>>2];t=c[Ha>>2]|0;c[T>>2]=t;z=d+68|0;A=c[z>>2]|0;if(!A)c[d+15144>>2]=t;else c[T>>2]=1;t=(Da|0)!=0;u=B+-1|0;w=0;while(1){if((w|0)>=(B|0)){kb=222;break}c[z>>2]=0;if(t&(w|0)==(u|0))c[C>>2]=1002;l=c[nb>>2]|0;v=n+(_(w,m)|0)|0;l=Ic(d,e+((_(w,(_(c[gb>>2]|0,l)|0)/50|0)|0)<<2)|0,(l|0)/50|0,v,m,$,0,0,o,p,q,r,s)|0;if((l|0)<0){t=-3;break}if((Nc(ca,v,l)|0)<0){t=-3;break}w=w+1|0}do if((kb|0)==222){u=(c[hb>>2]|0)==0;if(u){t=((c[Ga>>2]|0)*3|0)/(1200/(B>>>0)|0|0)|0;t=(t|0)<(j|0)?t:j}else t=j;t=Oc(ca,B,h,t,u&1)|0;if((t|0)<0){t=-3;break}c[C>>2]=D;c[L>>2]=E;c[T>>2]=F;c[z>>2]=A}while(0);Na(G|0);h=t;i=ob;return h|0}else L=c[P>>2]|0;while(0);do if((m|0)==1e3){if((L|0)<=1103)break;c[Ea>>2]=1001}else{if(!((m|0)==1001&(L|0)<1104))break;c[Ea>>2]=1e3}while(0);ca=Ka-fa|0;n=(_(c[Ga>>2]|0,f)|0)/(n<<3|0)|0;n=((ca|0)<(n|0)?ca:n)+-1|0;ca=h+1|0;q=Ka+-1|0;c[_a>>2]=ca;o=_a+8|0;c[o>>2]=0;c[_a+12>>2]=0;c[_a+16>>2]=0;ka=_a+20|0;c[ka>>2]=33;T=_a+24|0;c[T>>2]=0;j=_a+28|0;c[j>>2]=-2147483648;U=_a+40|0;c[U>>2]=-1;V=_a+32|0;c[V>>2]=0;W=_a+36|0;c[W>>2]=0;p=_a+4|0;c[p>>2]=q;$=_a+44|0;c[$>>2]=0;S=Aa+f|0;R=_(S,c[gb>>2]|0)|0;ma=Fa()|0;r=i;i=i+((1*(R<<2)|0)+15&-16)|0;R=d+172|0;C=c[gb>>2]|0;B=_(Aa,C)|0;rf(r|0,d+15192+((_((c[R>>2]|0)-Aa|0,C)|0)<<2)|0,B<<2|0)|0;D=(c[Ea>>2]|0)==1002;if(D)u=193536;else u=c[na+8>>2]|0;G=d+15112|0;F=c[G>>2]|0;u=u-F|0;u=F+(((u>>16)*983|0)+(((u&65535)*983|0)>>>16))|0;c[G>>2]=u;c:do if((c[ba>>2]|0)==2048){w=u>>8;do if((w|0)<0)u=0;else{if((w|0)>3966){u=2147483647;break}u=u>>15;m=1<>16)<>7;else u=_(m>>7,l+((_(_(l,128-l|0)|0,-174)|0)>>16)|0)|0;u=m+u|0}while(0);A=r+(B<<2)|0;w=d+15120|0;z=((u<<16>>16)*2471|0)/((c[nb>>2]|0)/1e3|0|0)|0;u=_(z,-471)|0;l=u+268435456|0;ba=l>>6;E=l>>22;m=z<<16>>16;vb=_(z>>16,m)|0;m=_(z&65535,m)|0;z=_(z,(z>>15)+1>>1)|0;wb=vb+(m>>>16)+z<<16>>16;F=ba&65535;G=ba<<16>>16;x=+((_(E,wb)|0)+((_(F,wb)|0)>>16)+(_(ba,(vb+(m>>16)+z+-8388608>>15)+1>>1)|0)|0)*3.725290298461914e-09;y=+((_(E,G)|0)+((_(F,G)|0)>>16)+(_(ba,(l>>21)+1>>1)|0)|0)*3.725290298461914e-09;H=+(l|0)*3.725290298461914e-09;I=+(-268435456-u<<1|0)*3.725290298461914e-09;u=d+15124|0;l=0;while(1){if((l|0)>=(f|0))break;wb=_(l,C)|0;sb=+g[e+(wb<<2)>>2];tb=H*sb;ub=+g[w>>2]+tb;g[w>>2]=+g[u>>2]-ub*x+I*sb;g[u>>2]=tb-ub*y+1.0000000031710769e-30;g[A+(wb<<2)>>2]=ub;l=l+1|0}if((C|0)!=2)break;m=e+4|0;z=d+15128|0;u=A+4|0;l=d+15132|0;w=0;while(1){if((w|0)>=(f|0))break c;wb=w<<1;sb=+g[m+(wb<<2)>>2];tb=H*sb;ub=+g[z>>2]+tb;g[z>>2]=+g[l>>2]-ub*x+I*sb;g[l>>2]=tb-ub*y+1.0000000031710769e-30;g[u+(wb<<2)>>2]=ub;w=w+1|0}}else{m=r+(B<<2)|0;z=d+15120|0;J=12.0/+(c[nb>>2]|0);K=1.0-J;y=+g[z>>2];A=d+15124|0;x=+g[A>>2];if((C|0)!=2){u=0;while(1){if((u|0)>=(f|0))break;tb=+g[e+(u<<2)>>2];ub=tb-y;g[m+(u<<2)>>2]=ub-x;u=u+1|0;y=J*tb+1.0000000031710769e-30+K*y;x=J*ub+1.0000000031710769e-30+K*x}g[z>>2]=y;g[A>>2]=x;break}u=d+15128|0;l=d+15132|0;w=0;H=+g[u>>2];I=+g[l>>2];while(1){if((w|0)>=(f|0))break;vb=w<<1;rb=+g[e+(vb<<2)>>2];wb=vb|1;tb=+g[e+(wb<<2)>>2];sb=rb-y;ub=tb-H;g[m+(vb<<2)>>2]=sb-x;g[m+(wb<<2)>>2]=ub-I;w=w+1|0;y=J*rb+1.0000000031710769e-30+K*y;x=J*sb+1.0000000031710769e-30+K*x;H=J*tb+1.0000000031710769e-30+K*H;I=J*ub+1.0000000031710769e-30+K*I}g[z>>2]=y;g[A>>2]=x;g[u>>2]=H;g[l>>2]=I}while(0);do if(s|0){u=r+(B<<2)|0;l=_(C,f)|0;w=0;x=0.0;while(1){if((w|0)>=(l|0))break;ub=+g[u+(w<<2)>>2];w=w+1|0;x=x+ub*ub}if(!(!(x<1.0e9)|(x!=x|0.0!=0.0)))break;nf(u|0,0,l<<2|0)|0;wb=d+15120|0;c[wb>>2]=0;c[wb+4>>2]=0;c[wb+8>>2]=0;c[wb+12>>2]=0}while(0);do if(D){y=1.0;D=ea;kb=353}else{m=_(C,f)|0;G=Fa()|0;F=i;i=i+((1*(m<<1)|0)+15&-16)|0;m=_(n<<3,t)|0;D=c[Ea>>2]|0;E=(D|0)==1001;do if(!E){c[d+36>>2]=m;t=c[d+15168>>2]|0;if(!t){B=m;y=1.0}else{I=1.0;kb=275}}else{w=c[hb>>2]|0;u=((c[nb>>2]|0)==(f*50|0)?2:1)+(c[Q>>2]<<1)|0;l=1;while(1){if((l|0)>=7){kb=268;break}t=c[688+(l*20|0)>>2]|0;if((t|0)>(m|0)){kb=271;break}l=l+1|0}do if((kb|0)==268)if((l|0)==7){t=(c[808+(u<<2)>>2]|0)+((m+-64e3|0)/2|0)|0;break}else{t=c[688+(l*20|0)>>2]|0;kb=271;break}while(0);if((kb|0)==271){vb=l+-1|0;wb=c[688+(vb*20|0)>>2]|0;t=((_(c[688+(vb*20|0)+(u<<2)>>2]|0,t-m|0)|0)+(_(c[688+(l*20|0)+(u<<2)>>2]|0,m-wb|0)|0)|0)/(t-wb|0)|0}u=(w|0)==0?t+100|0:t;u=(L|0)==1104?u+300|0:u;c[d+36>>2]=u;t=c[d+15168>>2]|0;if(t|0){m=u;I=1.0;kb=275;break}B=u;y=1.0-+X(+(+(u-m|0)*.0009765625*.6931471805599453))}while(0);do if((kb|0)==275){if(!(c[hb>>2]|0)){B=m;y=I;break}if(c[Y>>2]|0){B=m;y=I;break}C=c[P>>2]|0;if((C|0)==1101){A=13;H=8.0e3}else{wb=(C|0)==1102;A=wb?15:17;H=wb?12.0e3:16.0e3}l=c[gb>>2]|0;z=0;x=0.0;while(1){if((z|0)>=(l|0))break;w=z*21|0;B=0;while(1){if((B|0)>=(A|0))break;y=+g[t+(w+B<<2)>>2];u=y<.5;do if(y>-2.0|u^1){if(u){if(!(y>0.0))break}else y=.5;y=y*.5}else y=-2.0;while(0);B=B+1|0;x=x+y}z=z+1|0}wb=~~(H*(x/+(A|0)*+(l|0)+.20000000298023224));u=(_(m,-2)|0)/3|0;u=(wb|0)>(u|0)?wb:u;if((C&-2|0)==1104)t=(u*3|0)/5|0;else t=u;B=m+t|0;c[d+36>>2]=B;wb=_(u,f)|0;y=I;n=n+((wb|0)/(c[nb>>2]<<3|0)|0)|0}while(0);C=c[nb>>2]|0;c[d+32>>2]=(f*1e3|0)/(C|0)|0;l=c[gb>>2]|0;c[d+8>>2]=l;c[d+12>>2]=c[Ha>>2];switch(L|0){case 1101:{c[d+28>>2]=8e3;t=8e3;break}case 1102:{c[d+28>>2]=12e3;t=12e3;break}default:{c[d+28>>2]=16e3;t=16e3}}c[d+24>>2]=E?16e3:8e3;m=d+20|0;c[m>>2]=16e3;do if((D|0)==1e3){if(da)w=(ga<<4|0)/3|0;else w=ha;if((w|0)>=8e3)break;c[m>>2]=12e3;u=d+28|0;t=t>>>0>12e3?12e3:t;c[u>>2]=t;if((w|0)>=7e3)break;c[m>>2]=8e3;c[u>>2]=(t|0)>8e3?8e3:t}while(0);z=(c[hb>>2]|0)==0;c[d+60>>2]=z&1;t=q-fa|0;t=(t|0)>1275?1275:t;c[oa>>2]=t;t=t<<3;A=d+64|0;c[A>>2]=t;do if(z){if(!E)break;c[A>>2]=(_(B,f)|0)/(C|0)|0}else{if(!E)break;m=(_(t,C)|0)/(f|0)|0;u=((C|0)==(f*50|0)?2:1)+(c[Q>>2]<<1)|0;w=1;while(1){if((w|0)>=7){kb=310;break}t=c[688+(w*20|0)>>2]|0;if((t|0)>(m|0)){kb=313;break}w=w+1|0}do if((kb|0)==310)if((w|0)==7){t=(c[808+(u<<2)>>2]|0)+((m+-64e3|0)/2|0)|0;break}else{t=c[688+(w*20|0)>>2]|0;kb=313;break}while(0);if((kb|0)==313){vb=w+-1|0;wb=c[688+(vb*20|0)>>2]|0;t=((_(c[688+(vb*20|0)+(u<<2)>>2]|0,t-m|0)|0)+(_(c[688+(w*20|0)+(u<<2)>>2]|0,m-wb|0)|0)|0)/(t-wb|0)|0}wb=z?t+100|0:t;c[A>>2]=(_((L|0)==1104?wb+300|0:wb,f)|0)/(C|0)|0}while(0);if(Z){c[la>>2]=0;wb=(C|0)/400|0;u=_(l,(c[R>>2]|0)-(c[d+116>>2]|0)-wb|0)|0;vb=d+15192+(u<<2)|0;w=c[Ba>>2]|0;Jc(vb,vb,0.0,1.0,c[w+4>>2]|0,wb,l,c[w+60>>2]|0,C);nf(d+15192|0,0,u<<2|0)|0;u=c[R>>2]|0;l=_(u,c[gb>>2]|0)|0;w=0;while(1){if((w|0)>=(l|0))break;x=+g[d+15192+(w<<2)>>2]*32768.0;do if(x>-32768.0){if(x<32767.0)break;x=32767.0}else x=-32768.0;while(0);t=(g[k>>2]=x,c[k>>2]|0);do if((t&2130706432)>>>0<=1249902592){t=(t|0)<0;x=t?x+-8388608.0+8388608.0:x+8388608.0+-8388608.0;if(!(x==0.0))break;x=t?-0.0:0.0}while(0);b[F+(w<<1)>>1]=~~x;w=w+1|0}zd(na,d+8|0,F,u,0,la,1)|0;l=c[gb>>2]|0}u=_(l,f)|0;w=0;while(1){if((w|0)>=(u|0))break;x=+g[r+((_(Aa,l)|0)+w<<2)>>2]*32768.0;do if(x>-32768.0){if(x<32767.0)break;x=32767.0}else x=-32768.0;while(0);t=(g[k>>2]=x,c[k>>2]|0);do if((t&2130706432)>>>0<=1249902592){t=(t|0)<0;x=t?x+-8388608.0+8388608.0:x+8388608.0+-8388608.0;if(!(x==0.0))break;x=t?-0.0:0.0}while(0);b[F+(w<<1)>>1]=~~x;w=w+1|0}if(!(zd(na,d+8|0,F,f,_a,oa,0)|0)){if(c[oa>>2]|0){do if((c[Ea>>2]|0)==1e3){t=c[d+80>>2]|0;if((t|0)==8e3){u=1101;break}if((t|0)==12e3){u=1102;break}u=(t|0)==16e3?1103:L}else u=L;while(0);wb=c[d+96>>2]|0;c[d+72>>2]=wb;if(!wb)t=ea;else{c[ja>>2]=1;t=0;v=1}Na(G|0);D=t;L=u;kb=353;break}c[lb>>2]=0;v=c[Ea>>2]|0;l=c[Ha>>2]|0;t=(c[nb>>2]|0)/(f|0)|0;u=0;while(1){if((t|0)>=400)break;t=t<<1;u=u+1|0}switch(v|0){case 1e3:{t=(L<<5)+96&224|(u<<3)+-16;break}case 1002:{t=((L|0)<1102?0:(L<<5)+64&96)|u<<3|128;break}default:t=L<<4|(u<<3)+240|96}a[h>>0]=t|((l|0)==2&1)<<2;t=1}else t=-3;Na(G|0)}while(0);d:do if((kb|0)==353){switch(L|0){case 1101:{t=13;break}case 1103:case 1102:{t=17;break}case 1104:{t=19;break}default:t=21}c[ta>>2]=t;Qc(Za,10012,ta)|0;c[ua>>2]=c[Ha>>2];Qc(Za,10008,ua)|0;c[qa>>2]=-1;Qc(Za,4002,qa)|0;do if((c[Ea>>2]|0)==1e3){l=c[gb>>2]|0;n=((_(l,c[nb>>2]|0)|0)/400|0)<<2;m=i;i=i+((1*n|0)+15&-16)|0;n=0}else{c[ra>>2]=0;Qc(Za,4006,ra)|0;c[sa>>2]=(c[d+76>>2]|0)==0?2:0;Qc(Za,10002,sa)|0;do if((c[Ea>>2]|0)==1001){t=(c[ka>>2]|0)+((aa(c[j>>2]|0)|0)+-32)+7>>3;t=(v|0)==0?t:t+3|0;if(!(c[hb>>2]|0)){n=(t|0)>(n|0)?t:n;break}else{c[va>>2]=(c[Ga>>2]|0)-(c[d+36>>2]|0);Qc(Za,4002,va)|0;c[wa>>2]=0;Qc(Za,4020,wa)|0;n=q-fa|0;break}}else{if(!(c[hb>>2]|0))break;do if((c[pa>>2]|0)==5010){t=c[nb>>2]|0;if(((t|0)/50|0|0)==(f|0)){t=0;break}t=_(((c[Ha>>2]|0)*60|0)+40|0,((t|0)/(f|0)|0)+-50|0)|0;if(!(c[jb>>2]|0))break;t=~~(+(t|0)*(+g[jb+4>>2]*.5+1.0))}else t=0;while(0);c[xa>>2]=1;Qc(Za,4006,xa)|0;c[ya>>2]=c[d+152>>2];Qc(Za,4020,ya)|0;c[za>>2]=(c[Ga>>2]|0)+t;Qc(Za,4002,za)|0;n=q-fa|0}while(0);t=c[Ea>>2]|0;u=c[gb>>2]|0;l=c[nb>>2]|0;w=(_(u,l)|0)/400|0;m=i;i=i+((1*(w<<2)|0)+15&-16)|0;if((t|0)==1e3){l=u;break}wb=c[Ca>>2]|0;if(!((t|0)!=(wb|0)&(wb|0)>0)){l=u;break}rf(m|0,d+15192+((_((c[R>>2]|0)-Aa-((l|0)/400|0)|0,u)|0)<<2)|0,w<<2|0)|0;l=u}while(0);t=c[R>>2]|0;u=d+15192|0;if((_(l,t-S|0)|0)>0){wb=_(l,t-f-Aa|0)|0;sf(u|0,d+15192+((_(l,f)|0)<<2)|0,wb<<2|0)|0;rf(d+15192+(wb<<2)|0,r|0,(_(S,l)|0)<<2|0)|0}else rf(u|0,r+((_(S-t|0,l)|0)<<2)|0,(_(t,l)|0)<<2|0)|0;t=d+15116|0;x=+g[t>>2];if(x<1.0|y<1.0){wb=c[Ba>>2]|0;Jc(r,r,x,y,c[wb+4>>2]|0,f,c[gb>>2]|0,c[wb+60>>2]|0,c[nb>>2]|0)}g[t>>2]=y;B=c[Ea>>2]|0;C=(B|0)==1001;if(!(C?(c[Ha>>2]|0)!=1:0)){if((ia|0)>=24e3){t=ia+-24e3|0;if((t<<1|0)>16384)t=16384;else kb=381}else{t=0;kb=381}if((kb|0)==381)t=t<<1;c[d+92>>2]=t}do if(!(c[d+15168>>2]|0)){if((c[gb>>2]|0)!=2)break;A=d+15108|0;t=b[A>>1]|0;z=c[d+92>>2]|0;if(!(t<<16>>16<16384|(z|0)<16384))break;w=c[Ba>>2]|0;u=c[w+60>>2]|0;l=48e3/(c[nb>>2]|0)|0;w=(c[w+4>>2]|0)/(l|0)|0;x=1.0-+(t<<16>>16)*.00006103515625;y=1.0-+(z|0)*.00006103515625;t=0;while(1){if((t|0)>=(w|0))break;ub=+g[u+((_(t,l)|0)<<2)>>2];ub=ub*ub;wb=t<<1;vb=r+(wb<<2)|0;sb=+g[vb>>2];wb=r+((wb|1)<<2)|0;tb=+g[wb>>2];ub=(ub*y+(1.0-ub)*x)*((sb-tb)*.5);g[vb>>2]=sb-ub;g[wb>>2]=tb+ub;t=t+1|0}while(1){if((t|0)>=(f|0))break;wb=t<<1;vb=r+(wb<<2)|0;sb=+g[vb>>2];wb=r+((wb|1)<<2)|0;tb=+g[wb>>2];ub=y*((sb-tb)*.5);g[vb>>2]=sb-ub;g[wb>>2]=tb+ub;t=t+1|0}b[A>>1]=z}while(0);e:do if((B|0)==1002)kb=456;else{u=c[ka>>2]|0;t=c[j>>2]|0;l=u+((aa(t|0)|0)+-32)|0;if((l+17+(C?20:0)|0)>((Ka<<3)+-8|0)){kb=456;break}f:do if(C){if(!v){if((l+37|0)>(n<<3|0)){kb=456;break e}t=t-(t>>>12)|0}else{wb=t>>>12;c[V>>2]=(c[V>>2]|0)+(t-wb);t=wb}c[j>>2]=t;while(1){if(t>>>0>=8388609){l=t;w=u;break f}l=c[V>>2]|0;w=l>>>23;if((w|0)==255)c[W>>2]=(c[W>>2]|0)+1;else{l=l>>>31;t=c[U>>2]|0;if((t|0)>-1){u=c[T>>2]|0;if((u+(c[o>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0){c[T>>2]=u+1;a[(c[_a>>2]|0)+u>>0]=t+l;t=0}else t=-1;c[$>>2]=c[$>>2]|t}t=c[W>>2]|0;if(t|0){l=l+255&255;do{u=c[T>>2]|0;if((u+(c[o>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0){c[T>>2]=u+1;a[(c[_a>>2]|0)+u>>0]=l;u=0;t=c[W>>2]|0}else u=-1;c[$>>2]=c[$>>2]|u;t=t+-1|0;c[W>>2]=t}while((t|0)!=0)}c[U>>2]=w&255;l=c[V>>2]|0;t=c[j>>2]|0;u=c[ka>>2]|0}c[V>>2]=l<<8&2147483392;t=t<<8;c[j>>2]=t;u=u+8|0;c[ka>>2]=u}}else{l=t;w=u}while(0);if(!v){kb=456;break}t=l>>>1;u=l-t|0;if(!D)t=u;else c[V>>2]=(c[V>>2]|0)+u;c[j>>2]=t;u=w;while(1){if(t>>>0>=8388609)break;l=c[V>>2]|0;w=l>>>23;if((w|0)==255)c[W>>2]=(c[W>>2]|0)+1;else{l=l>>>31;t=c[U>>2]|0;if((t|0)>-1){u=c[T>>2]|0;if((u+(c[o>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0){c[T>>2]=u+1;a[(c[_a>>2]|0)+u>>0]=t+l;t=0}else t=-1;c[$>>2]=c[$>>2]|t}t=c[W>>2]|0;if(t|0){l=l+255&255;do{u=c[T>>2]|0;if((u+(c[o>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0){c[T>>2]=u+1;a[(c[_a>>2]|0)+u>>0]=l;u=0;t=c[W>>2]|0}else u=-1;c[$>>2]=c[$>>2]|u;t=t+-1|0;c[W>>2]=t}while((t|0)!=0)}c[U>>2]=w&255;l=c[V>>2]|0;t=c[j>>2]|0;u=c[ka>>2]|0}c[V>>2]=l<<8&2147483392;t=t<<8;c[j>>2]=t;u=u+8|0;c[ka>>2]=u}w=(c[Ea>>2]|0)==1001;if(w)l=n;else l=u+((aa(t|0)|0)+-32)+7>>3;wb=q-l|0;l=(c[Ga>>2]|0)/1600|0;l=(wb|0)<(l|0)?wb:l;if((l|0)>=2)if((l|0)>257)z=257;else kb=436;else{l=2;kb=436}if((kb|0)==436)z=l;if(!w){A=z;break}l=t>>>8;if((z|0)==2)t=t+(_(l,-255)|0)|0;else{t=t-(_(l,258-z|0)|0)|0;c[V>>2]=(c[V>>2]|0)+t;t=l}c[j>>2]=t;while(1){if(t>>>0>=8388609){A=z;break e}l=c[V>>2]|0;w=l>>>23;if((w|0)==255)c[W>>2]=(c[W>>2]|0)+1;else{l=l>>>31;t=c[U>>2]|0;if((t|0)>-1){u=c[T>>2]|0;if((u+(c[o>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0){c[T>>2]=u+1;a[(c[_a>>2]|0)+u>>0]=t+l;t=0}else t=-1;c[$>>2]=c[$>>2]|t}t=c[W>>2]|0;if(t|0){l=l+255&255;do{u=c[T>>2]|0;if((u+(c[o>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0){c[T>>2]=u+1;a[(c[_a>>2]|0)+u>>0]=l;u=0;t=c[W>>2]|0}else u=-1;c[$>>2]=c[$>>2]|u;t=t+-1|0;c[W>>2]=t}while((t|0)!=0)}c[U>>2]=w&255;l=c[V>>2]|0;t=c[j>>2]|0;u=c[ka>>2]|0}c[V>>2]=l<<8&2147483392;t=t<<8;c[j>>2]=t;u=u+8|0;c[ka>>2]=u}}while(0);if((kb|0)==456){c[ja>>2]=0;v=0;A=0}wb=c[Ea>>2]|0;u=(wb|0)==1002?0:17;if((wb|0)==1e3){t=(c[ka>>2]|0)+((aa(c[j>>2]|0)|0)+-32)+7>>3;cd(_a);w=t}else{w=q-A|0;w=(w|0)<(n|0)?w:n;vb=c[_a>>2]|0;t=c[o>>2]|0;wb=0-t|0;sf(vb+w+wb|0,vb+(c[p>>2]|0)+wb|0,t|0)|0;c[p>>2]=w;t=0}l=(v|0)==0;if(l?(c[Ea>>2]|0)==1e3:0)kb=464;else kb=462;do if((kb|0)==462){c[La>>2]=jb;Qc(Za,10022,La)|0;if((c[Ea>>2]|0)!=1001){kb=464;break}c[Ja>>2]=c[d+100>>2];c[Ja+4>>2]=c[d+104>>2];c[Ma>>2]=Ja;Qc(Za,10028,Ma)|0}while(0);if((kb|0)==464){c[Oa>>2]=0;Qc(Za,10028,Oa)|0}if(!(l|(D|0)==0)){c[Pa>>2]=0;Qc(Za,10010,Pa)|0;c[Qa>>2]=0;Qc(Za,4006,Qa)|0;c[Ra>>2]=-1;Qc(Za,4002,Ra)|0;if((Rc(Za,r,(c[nb>>2]|0)/200|0,ca+w|0,A,0)|0)<0){t=-3;break}c[Sa>>2]=ib;Qc(Za,4031,Sa)|0;Qc(Za,4028,Ta)|0}c[mb>>2]=u;Qc(Za,10010,mb)|0;u=c[Ea>>2]|0;do if((u|0)==1e3)kb=482;else{wb=c[Ca>>2]|0;if((u|0)!=(wb|0)&(wb|0)>0){Qc(Za,4028,Va)|0;Rc(Za,m,(c[nb>>2]|0)/400|0,Ua,2,0)|0;c[Wa>>2]=0;Qc(Za,10002,Wa)|0}if(((c[ka>>2]|0)+((aa(c[j>>2]|0)|0)+-32)|0)>(w<<3|0)){kb=482;break}do if(!(l|(D|0)==0)){if((c[Ea>>2]|0)!=1001)break;if(!(c[hb>>2]|0))break;c[Xa>>2]=(c[Ga>>2]|0)-(c[d+36>>2]|0);Qc(Za,4002,Xa)|0}while(0);c[Ya>>2]=c[hb>>2];Qc(Za,4006,Ya)|0;t=Rc(Za,r,f,0,w,_a)|0;if((t|0)<0){t=-3;break d}if(l){v=0;kb=488;break}if(!D){u=w;kb=484;break}u=c[Ea>>2]|0;if((u|0)!=1001){z=v;break}if(!(c[hb>>2]|0)){kb=488;break}rf(ca+t|0,ca+w|0,A|0)|0;kb=488}while(0);do if((kb|0)==482){if(l){v=0;kb=488;break}else u=w;if(!D)kb=484;else kb=488}while(0);if((kb|0)==484){w=c[nb>>2]|0;l=(w|0)/200|0;w=(w|0)/400|0;Qc(Za,4028,$a)|0;c[ab>>2]=0;Qc(Za,10010,ab)|0;c[bb>>2]=0;Qc(Za,10002,bb)|0;c[cb>>2]=0;Qc(Za,4006,cb)|0;c[db>>2]=-1;Qc(Za,4002,db)|0;if((c[Ea>>2]|0)==1001){vb=c[_a>>2]|0;u=c[o>>2]|0;wb=0-u|0;sf(vb+t+wb|0,vb+(c[p>>2]|0)+wb|0,u|0)|0;c[p>>2]=t;u=t}wb=f-l|0;Rc(Za,r+((_(c[gb>>2]|0,wb-w|0)|0)<<2)|0,w,eb,2,0)|0;if((Rc(Za,r+((_(c[gb>>2]|0,wb)|0)<<2)|0,l,ca+u|0,A,0)|0)<0){t=-3;break}c[fb>>2]=ib;Qc(Za,4031,fb)|0;kb=488}if((kb|0)==488){u=c[Ea>>2]|0;z=v}w=c[Ha>>2]|0;v=(c[nb>>2]|0)/(f|0)|0;l=0;while(1){if((v|0)>=400)break;v=v<<1;l=l+1|0}switch(u|0){case 1e3:{u=(L<<5)+96&224|(l<<3)+-16;break}case 1002:{u=((L|0)<1102?0:(L<<5)+64&96)|l<<3|128;break}default:u=L<<4|(l<<3)+240|96}a[h>>0]=u|((w|0)==2&1)<<2;n=c[j>>2]|0;c[lb>>2]=n^c[ib>>2];if(!Da)u=c[Ea>>2]|0;else u=1002;c[Ca>>2]=u;m=c[Ha>>2]|0;c[d+15144>>2]=m;c[d+15148>>2]=f;c[d+15164>>2]=0;g:do if(c[d+184>>2]|0){do if(!(c[jb>>2]|0)){if(!Ia)break g;u=d+19036|0}else{u=d+19036|0;y=+g[d+19040>>2];if(Ia|0)break;w=+g[jb+28>>2]<.10000000149011612;if(w){v=_(c[gb>>2]|0,f)|0;l=0;x=0.0;while(1){if((l|0)>=(v|0))break;ub=+g[e+(l<<2)>>2];l=l+1|0;x=x+ub*ub}if(!((x/+(v|0)*316.2300109863281<=y|0)==0|w^1))break}c[u>>2]=0;break g}while(0);wb=c[u>>2]|0;v=wb+1|0;c[u>>2]=v;if((wb|0)<=9)break;if((v|0)>=31){c[u>>2]=10;break}c[lb>>2]=0;v=c[Ea>>2]|0;t=(c[nb>>2]|0)/(f|0)|0;u=0;while(1){if((t|0)>=400)break;t=t<<1;u=u+1|0}switch(v|0){case 1e3:{t=(L<<5)+96&224|(u<<3)+-16;break}case 1002:{t=((L|0)<1102?0:(L<<5)+64&96)|u<<3|128;break}default:t=L<<4|(u<<3)+240|96}a[h>>0]=t|((m|0)==2&1)<<2;t=1;break d}while(0);h:do if(((c[ka>>2]|0)+((aa(n|0)|0)+-32)|0)>((Ka<<3)+-8|0)){if((Ka|0)<2){t=-2;break d}a[ca>>0]=0;c[lb>>2]=0;t=1}else{if(!((c[Ea>>2]|0)==1e3&(z|0)==0))break;while(1){if((t|0)<=2)break h;if(a[h+t>>0]|0)break h;t=t+-1|0}}while(0);t=t+(A+1)|0;i:do if(!(c[hb>>2]|0)){j:do if((t|0)>=1){do if((t|0)!=(Ka|0)){if((t|0)>(Ka|0))break j;u=mb+4|0;c[u>>2]=0;wb=h+Ka+(0-t)|0;sf(wb|0,h|0,t|0)|0;if(Nc(mb,wb,t)|0)break j;t=Oc(mb,c[u>>2]|0,h,Ka,1)|0;if((t|0)>0)break;if(!t){t=Ka;break i}else{t=-3;break d}}while(0);t=Ka;break i}while(0);t=-3;break d}while(0)}while(0);Na(ma|0);wb=t;i=ob;return wb|0}while(0);v=c[d+15136>>2]|0;u=c[d+15152>>2]|0;u=(u|0)==0?1101:u;v=(v|0)==0?1e3:v;k:do if((t|0)>100)kb=63;else{if((t|0)<50|(v|0)==1e3)if((u|0)>1103){u=1103;w=1e3;break}else{v=1e3;kb=64;break}switch(v|0){case 1002:{kb=63;break k}case 1001:break;default:{w=v;break k}}u=(u|0)>1104?u:1104;w=1001}while(0);if((kb|0)==63)if((u|0)==1102){u=1101;w=1002}else{v=1002;kb=64}if((kb|0)==64)w=v;l=c[d+15104>>2]|0;v=0;while(1){if((t|0)>=400)break;t=t<<1;v=v+1|0}switch(w|0){case 1e3:{t=(u<<5)+96&224|(v<<3)+-16;break}case 1002:{t=((u|0)<1102?0:(u<<5)+64&96)|v<<3|128;break}default:t=u<<4|(v<<3)+240|96}t=(t|((l|0)==2&1)<<2)&255;a[h>>0]=t;if(c[hb>>2]|0){wb=1;i=ob;return wb|0}do if((Ka|0)==1)kb=78;else{if((Ka|0)>=1){u=D+4|0;c[u>>2]=0;wb=h+Ka+-1|0;a[wb>>0]=t;t=Nc(D,wb,1)|0;if(!t){t=Oc(D,c[u>>2]|0,h,Ka,1)|0;if((t|0)>0){kb=78;break}if(!t)break;i=ob;return t|0}}else t=-1;wb=t;i=ob;return wb|0}while(0);wb=Ka;i=ob;return wb|0}function Jc(a,b,c,d,e,f,h,i,j){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0;k=48e3/(j|0)|0;l=(e|0)/(k|0)|0;a:do if((h|0)==1){j=0;while(1){if((j|0)>=(l|0)){j=0;break a}m=+g[i+((_(j,k)|0)<<2)>>2];m=m*m;g[b+(j<<2)>>2]=(m*d+(1.0-m)*c)*+g[a+(j<<2)>>2];j=j+1|0}}else{j=0;while(1){if((j|0)>=(l|0)){j=0;break a}m=+g[i+((_(j,k)|0)<<2)>>2];m=m*m;m=m*d+(1.0-m)*c;e=j<<1;g[b+(e<<2)>>2]=m*+g[a+(e<<2)>>2];e=e|1;g[b+(e<<2)>>2]=m*+g[a+(e<<2)>>2];j=j+1|0}}while(0);do{e=l;while(1){if((e|0)>=(f|0))break;i=(_(e,h)|0)+j|0;g[b+(i<<2)>>2]=+g[a+(i<<2)>>2]*d;e=e+1|0}j=j+1|0}while((j|0)<(h|0));return}function Kc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;if((c[a+108>>2]|0)==2051)h=0;else h=c[a+116>>2]|0;k=c[a+156>>2]|0;o=a+112|0;l=c[a+144>>2]|0;j=(k|0)==5010;a:do if(((l|0)/200|0|0)>(e|0)|j^1){h=(l|0)/400|0;if((h|0)<=(e|0)){if((k|0)!=5e3){if(j)h=(l|0)/50|0;else{if((k+-5001|0)>>>0>=6){m=-1;break}m=(l*3|0)/50|0;h=h<(e|0)){m=-1;break}}else h=e;if(!((h*400|0)==(l|0)|(h*200|0)==(l|0)|(h*100|0)==(l|0))?(m=h*50|0,!((m|0)==(l|0)|(h*25|0)==(l|0)|(m|0)==(l*3|0))):0)m=-1;else n=16}else m=-1}else{k=(l|0)/400|0;j=Hc(d,e,c[o>>2]|0,l,c[a+160>>2]|0,a+7060|0,h,1)|0;while(1){h=k<-1?h:-1;h=c[o>>2]|0;j=_(m,h)|0;k=i;i=i+((1*(j<<2)|0)+15&-16)|0;l=0;while(1){if((l|0)>=(j|0))break;g[k+(l<<2)>>2]=+(b[d+(l<<1)>>1]|0)*.000030517578125;l=l+1|0}a=Ic(a,k,m,f,3828,16,d,e,0,-2,h,1,0)|0;i=p;return a|0}function Lc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+80|0;k=q+48|0;h=q+40|0;f=q+32|0;n=q+24|0;m=q+16|0;l=q+8|0;j=q;p=q+56|0;c[p>>2]=e;o=a+(c[a>>2]|0)|0;a:do switch(d|0){case 4e3:{o=(c[p>>2]|0)+(4-1)&~(4-1);d=c[o>>2]|0;c[p>>2]=o+4;switch(d|0){case 2051:case 2049:case 2048:break;default:{e=-1;d=108;break a}}e=a+108|0;if((c[a+15164>>2]|0)==0?(c[e>>2]|0)!=(d|0):0){e=-1;d=108;break a}c[e>>2]=d;e=0;d=108;break}case 4001:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+108>>2];e=0;d=108}break}case 4002:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if((e|0)!=-1e3)if((e|0)!=-1){if((e|0)<1){d=109;break a}if((e|0)<501)e=500;else{p=(c[a+112>>2]|0)*3e5|0;e=(e|0)>(p|0)?p:e}}else e=-1;else e=-1e3;c[a+164>>2]=e;e=0;d=108;break}case 4003:{o=(c[p>>2]|0)+(4-1)&~(4-1);f=c[o>>2]|0;c[p>>2]=o+4;if(!f)d=109;else{e=c[a+15148>>2]|0;if(!e)d=(c[a+144>>2]|0)/400|0;else d=e;e=c[a+164>>2]|0;switch(e|0){case -1e3:{e=c[a+144>>2]|0;e=((e*60|0)/(d|0)|0)+(_(e,c[a+112>>2]|0)|0)|0;break}case -1:{e=((c[a+144>>2]|0)*10208|0)/(d|0)|0;break}default:{}}c[f>>2]=e;e=0;d=108}break}case 4022:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if((e|0)<1){if((e|0)!=-1e3){d=109;break a}}else if((e|0)>(c[a+112>>2]|0)){d=109;break a}c[a+120>>2]=e;e=0;d=108;break}case 4023:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+120>>2];e=0;d=108}break}case 4004:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if((e+-1101|0)>>>0>4)d=109;else{c[a+132>>2]=e;switch(e|0){case 1101:{c[a+20>>2]=8e3;e=0;d=108;break a}case 1102:{c[a+20>>2]=12e3;e=0;d=108;break a}default:{c[a+20>>2]=16e3;e=0;d=108;break a}}}break}case 4005:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+132>>2];e=0;d=108}break}case 4008:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if((e|0)>=1101){if((e|0)>1105){d=109;break a}c[a+128>>2]=e;if((e|0)==1101){c[a+20>>2]=8e3;e=0;d=108;break a}else d=e;e=a+20|0;if((d|0)==1102){c[e>>2]=12e3;e=0;d=108;break a}}else{if((e|0)!=-1e3){d=109;break a}c[a+128>>2]=-1e3;e=a+20|0}c[e>>2]=16e3;e=0;d=108;break}case 4009:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+15152>>2];e=0;d=108}break}case 4016:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(e>>>0>1)d=109;else{c[a+184>>2]=e;e=0;d=108}break}case 4017:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+184>>2];e=0;d=108}break}case 4010:{n=(c[p>>2]|0)+(4-1)&~(4-1);e=c[n>>2]|0;c[p>>2]=n+4;if(e>>>0>10)d=109;else{c[a+44>>2]=e;c[j>>2]=e;Qc(o,4010,j)|0;e=0;d=108}break}case 4011:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+44>>2];e=0;d=108}break}case 4012:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(e>>>0>1)d=109;else{c[a+48>>2]=e;e=0;d=108}break}case 4013:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+48>>2];e=0;d=108}break}case 4014:{n=(c[p>>2]|0)+(4-1)&~(4-1);e=c[n>>2]|0;c[p>>2]=n+4;if(e>>>0>100)d=109;else{c[a+40>>2]=e;c[l>>2]=e;Qc(o,4014,l)|0;e=0;d=108}break}case 4015:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+40>>2];e=0;d=108}break}case 4006:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(e>>>0>1)d=109;else{c[a+148>>2]=e;c[a+60>>2]=1-e;e=0;d=108}break}case 4007:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+148>>2];e=0;d=108}break}case 11018:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if((e+1|0)>>>0>101)d=109;else{c[a+140>>2]=e;e=0;d=108}break}case 11019:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+140>>2];e=0;d=108}break}case 4020:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(e>>>0>1)d=109;else{c[a+152>>2]=e;e=0;d=108}break}case 4021:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+152>>2];e=0;d=108}break}case 4024:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if((e|0)<3001)switch(e|0){case -1e3:break;default:{d=109;break a}}else switch(e|0){case 3002:case 3001:break;default:{d=109;break a}}c[a+124>>2]=e;e=0;d=108;break}case 4025:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+124>>2];e=0;d=108}break}case 4027:{o=(c[p>>2]|0)+(4-1)&~(4-1);d=c[o>>2]|0;c[p>>2]=o+4;if(d){e=(c[a+144>>2]|0)/400|0;c[d>>2]=e;if((c[a+108>>2]|0)==2051){e=0;d=108}else{c[d>>2]=e+(c[a+116>>2]|0);e=0;d=108}}else d=109;break}case 4029:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+144>>2];e=0;d=108}break}case 4031:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+19044>>2];e=0;d=108}break}case 4036:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if((e+-8|0)>>>0>16)d=109;else{c[a+168>>2]=e;e=0;d=108}break}case 4037:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+168>>2];e=0;d=108}break}case 4040:{n=(c[p>>2]|0)+(4-1)&~(4-1);e=c[n>>2]|0;c[p>>2]=n+4;switch(e|0){case 5010:case 5006:case 5005:case 5004:case 5003:case 5002:case 5001:case 5e3:break;default:{d=109;break a}}c[a+156>>2]=e;c[m>>2]=e;Qc(o,4040,m)|0;e=0;d=108;break}case 4041:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+156>>2];e=0;d=108}break}case 4042:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(e>>>0>1)d=109;else{c[a+76>>2]=e;e=0;d=108}break}case 4043:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if(!e)d=109;else{c[e>>2]=c[a+76>>2];e=0;d=108}break}case 4028:{f=a+(c[a+4>>2]|0)|0;h=a+15104|0;nf(a+192|0,0,18856)|0;Qc(o,4028,n)|0;e=c[a+180>>2]|0;nf(f|0,0,20400)|0;d=0;while(1){if((d|0)==2)break;Fd(f+(d*10156|0)|0,e)|0;d=d+1|0}c[f+20376>>2]=1;c[f+20380>>2]=1;c[h>>2]=c[a+112>>2];b[a+15108>>1]=16384;g[a+15116>>2]=1.0;c[a+15164>>2]=1;c[a+15136>>2]=1001;c[a+15152>>2]=1105;c[a+15112>>2]=193536;e=0;d=108;break}case 11002:{o=(c[p>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[p>>2]=o+4;if((e|0)<1e3){if((e|0)!=-1e3){d=109;break a}}else if((e|0)>1002){d=109;break a}c[a+136>>2]=e;e=0;d=108;break}case 10024:{d=(c[p>>2]|0)+(4-1)&~(4-1);e=c[d>>2]|0;c[p>>2]=d+4;c[a+176>>2]=e;c[f>>2]=e;e=Qc(o,10024,f)|0;d=108;break}case 10026:{d=(c[p>>2]|0)+(4-1)&~(4-1);e=c[d>>2]|0;c[p>>2]=d+4;c[a+15168>>2]=e;c[h>>2]=e;e=Qc(o,10026,h)|0;d=108;break}case 10015:{a=(c[p>>2]|0)+(4-1)&~(4-1);e=c[a>>2]|0;c[p>>2]=a+4;if(!e)d=109;else{c[k>>2]=e;e=Qc(o,10015,k)|0;d=108}break}default:{e=-5;d=108}}while(0);if((d|0)==108){a=e;i=q;return a|0}else if((d|0)==109){a=-1;i=q;return a|0}return 0}function Mc(a){a=a|0;Ie(a);return}function Nc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;if((f|0)<1){l=-4;i=m;return l|0}l=b+4|0;j=c[l>>2]|0;a:do if(j){if(((a[b>>0]^a[e>>0])&255)>=4){l=-4;i=m;return l|0}}else{a[b>>0]=a[e>>0]|0;g=a[e>>0]|0;do if(g<<24>>24>=0)if((g&96)==96){if(g&8){g=160;break}c[b+296>>2]=80;break a}else{g=(g&255)>>>3&3;if((g|0)==3){g=480;break}c[b+296>>2]=(8e3<>>0)/100|0;break a}else g=(8e3<<((g&255)>>>3&3)>>>0)/400|0;while(0);c[b+296>>2]=g}while(0);g=(d[e>>0]|0)&3;if(g)if((g|0)==3){if((f|0)<2){l=-4;i=m;return l|0}g=(d[e+1>>0]|0)&63;if(!g){l=-4;i=m;return l|0}else h=g}else h=2;else h=1;if((_(h+j|0,c[b+296>>2]|0)|0)>960){l=-4;i=m;return l|0}g=Wd(e,f,0,k,b+8+(j<<2)|0,b+200+(j<<1)|0,0,0)|0;if((g|0)<1){l=g;i=m;return l|0}c[l>>2]=(c[l>>2]|0)+h;l=0;i=m;return l|0}function Oc(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((f|0)<1){e=-1;return e|0}if((c[e+4>>2]|0)<(f|0)){e=-1;return e|0}o=e+200|0;a:do switch(f|0){case 1:{j=b[o>>1]|0;if((j|0)<(h|0)){a[g>>0]=d[e>>0]&252;k=g+1|0;j=j+1|0;n=14;break a}else{e=-2;return e|0}}case 2:{j=b[e+202>>1]|0;k=b[o>>1]|0;if(j<<16>>16==k<<16>>16){j=j<<16>>16<<1|1;if((j|0)>(h|0)){e=-2;return e|0}else{a[g>>0]=d[e>>0]&252|1;k=g+1|0;n=14;break a}}j=(k<<16>>16)+(j<<16>>16)+2+(k<<16>>16>251&1)|0;if((j|0)>(h|0)){e=-2;return e|0}m=g+1|0;a[g>>0]=d[e>>0]&252|2;k=b[o>>1]|0;l=k<<16>>16;if(k<<16>>16<252){a[m>>0]=k;k=1}else{k=l|252;a[m>>0]=k;a[g+2>>0]=(l-(k&255)|0)>>>2;k=2}k=m+k|0;n=14;break}default:{j=1;n=15}}while(0);if((n|0)==14)if((i|0)!=0&(j|0)<(h|0)){j=1;n=15}b:do if((n|0)==15){while(1){if((j|0)>=(f|0)){n=23;break}if((b[e+200+(j<<1)>>1]|0)!=(b[o>>1]|0)){n=17;break}j=j+1|0;n=15}do if((n|0)==17){j=f+-1|0;k=0;l=2;while(1){if((k|0)>=(j|0))break;o=b[e+200+(k<<1)>>1]|0;k=k+1|0;l=l+((o<<16>>16>251?2:1)+(o<<16>>16))|0}j=l+(b[e+200+(j<<1)>>1]|0)|0;if((j|0)>(h|0)){e=-2;return e|0}else{a[g>>0]=d[e>>0]|3;l=f|128;a[g+1>>0]=l;m=1;break}}else if((n|0)==23){j=(_(b[o>>1]|0,f)|0)+2|0;if((j|0)>(h|0)){e=-2;return e|0}else{a[g>>0]=d[e>>0]|3;a[g+1>>0]=f;l=f;m=0;break}}while(0);k=g+2|0;if((i|0)!=0?(p=h-j|0,(j|0)!=(h|0)):0){a[g+1>>0]=l|64;j=(p+-1|0)/255|0;l=0;while(1){if((l|0)>=(j|0))break;a[k>>0]=-1;l=l+1|0;k=k+1|0}a[k>>0]=p+(_(j,-255)|0)+255;k=k+1|0;j=h}if(m){n=f+-1|0;o=0;while(1){if((o|0)>=(n|0))break b;l=b[e+200+(o<<1)>>1]|0;m=l<<16>>16;if(l<<16>>16<252){a[k>>0]=l;l=1}else{l=m|252;a[k>>0]=l;a[k+1>>0]=(m-(l&255)|0)>>>2;l=2}o=o+1|0;k=k+l|0}}}while(0);l=0;while(1){if((l|0)>=(f|0))break;p=e+200+(l<<1)|0;sf(k|0,c[e+8+(l<<2)>>2]|0,b[p>>1]|0)|0;l=l+1|0;k=k+(b[p>>1]|0)|0}if(!i){e=j;return e|0}l=g+h|0;while(1){if(k>>>0>=l>>>0)break;a[k>>0]=0;k=k+1|0}return j|0}function Pc(a,d,e,f,h,j,k,l,m,n,o,p){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0.0,J=0.0,K=0,L=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0.0,Ma=0;Ka=i;i=i+10288|0;Da=Ka+9888|0;Aa=Ka+9816|0;Fa=Ka+9744|0;za=Ka+9712|0;Ba=Ka+9608|0;Ca=Ka+9600|0;Ea=Ka+5760|0;Ha=Ka+1920|0;Ia=Ka+960|0;Ga=Ka;if(!e)m=a+8504|0;else{ua=(m*195|0)/100|0;ua=(ua|0)<(f|0)?ua:f;va=a+6884|0;T=c[va>>2]|0;wa=a+6864|0;xa=a+6868|0;ya=a+6844|0;U=d+72|0;V=a+5764|0;m=a+8504|0;W=a+2884|0;X=a+4804|0;Z=a+3844|0;_=a+6856|0;$=(n|0)<8;aa=a+6848|0;ba=a+6852|0;ca=a+5840|0;da=Ba+80|0;ea=Ba+84|0;fa=Ba+88|0;ga=Ba+92|0;ha=Ba+96|0;ia=Ca+4|0;ja=a+6888|0;ka=a+7688|0;la=a+6892|0;ma=a+7692|0;na=a+7684|0;oa=a+8484|0;pa=a+8500|0;qa=a+8492|0;ra=a+8496|0;sa=a+8488|0;ta=a+6860|0;Q=n+-8|0;S=T;T=ua-T|0;while(1){R=(T|0)>480;r=R?480:T;c[wa>>2]=(c[wa>>2]|0)+1;f=c[xa>>2]|0;J=(f|0)>19?.05000000074505806:1.0/+(f+1|0);L=f+1|0;I=(f|0)>49?.019999999552965164:1.0/+(L|0);z=(f|0)>999;G=1.0/+(L|0);if((f|0)<4){g[ya>>2]=.5;d=c[U>>2]|0;if(!f){c[V>>2]=240;n=240;f=d}else{f=d;Ja=7}}else{f=c[U>>2]|0;Ja=7}if((Ja|0)==7){Ja=0;n=c[V>>2]|0}d=720-n|0;ac[o&1](e,a+2884+(n<<2)|0,(d|0)>(r|0)?r:d,S,j,k,l);n=c[V>>2]|0;d=n+r|0;do if((d|0)<720)c[V>>2]=d;else{K=c[m>>2]|0;L=a+8516+(K<<5)|0;c[m>>2]=K+((K|0)>198?-199:1);d=0;while(1){if((d|0)==240)break;F=+g[828+(d<<2)>>2];g[Ea+(d<<3)>>2]=F*+g[a+2884+(d<<2)>>2];g[Ea+(d<<3)+4>>2]=F*+g[a+2884+(d+240<<2)>>2];H=480-d+-1|0;g[Ea+(H<<3)>>2]=F*+g[a+2884+(H<<2)>>2];g[Ea+(H<<3)+4>>2]=F*+g[a+2884+(720-d+-1<<2)>>2];d=d+1|0}rf(W|0,X|0,960)|0;d=n+-720+r|0;ac[o&1](e,Z,d,S+720-n|0,j,k,l);c[V>>2]=d+240;q=+g[f+4>>2];d=f+44|0;n=0;while(1){if((n|0)>=(c[f>>2]|0))break;F=+g[Ea+(n<<3)+4>>2];g[Ha+(b[(c[d>>2]|0)+(n<<1)>>1]<<3)>>2]=q*+g[Ea+(n<<3)>>2];g[Ha+(b[(c[d>>2]|0)+(n<<1)>>1]<<3)+4>>2]=q*F;n=n+1|0}dd(f,Ha);F=+g[Ha>>2];if(F!=F|0.0!=0.0){c[L>>2]=0;break}else n=1;while(1){if((n|0)==240)break;x=+g[Ha+(n<<3)>>2];H=480-n|0;t=+g[Ha+(H<<3)>>2];q=x+t;u=+g[Ha+(n<<3)+4>>2];w=+g[Ha+(H<<3)+4>>2];s=u-w;w=u+w;x=t-x;t=q*q;u=s*s;do if(!(t+u<1.000000045813705e-18))if(t>2];d=a+964+(n<<2)|0;v=u-+g[d>>2];q=w*w;s=x*x;do if(!(q+s<1.000000045813705e-18))if(q>2]=+N(+B)+ +N(+F);F=F*F;F=F*F;H=a+1924+(n<<2)|0;g[Ia+(n<<2)>>2]=1.0/((+g[H>>2]+C*C*2.0+F)*.25*62341.81640625+1.0)+-.014999999664723873;g[f>>2]=D;g[d>>2]=E;g[H>>2]=F;n=n+1|0}H=a+8516+(K<<5)+16|0;g[H>>2]=0.0;a:do if(!(c[xa>>2]|0)){f=0;while(1){if((f|0)==18){r=0;B=0.0;x=0.0;C=0.0;q=0.0;D=0.0;E=0.0;F=0.0;break a}g[a+6420+(f<<2)>>2]=1.0e10;g[a+6492+(f<<2)>>2]=-1.0e10;f=f+1|0}}else{r=0;B=0.0;x=0.0;C=0.0;q=0.0;D=0.0;E=0.0;F=0.0}while(0);while(1){if((r|0)>=18)break;n=r+1|0;f=c[1788+(n<<2)>>2]|0;t=0.0;d=c[1788+(r<<2)>>2]|0;s=0.0;y=0.0;while(1){if((d|0)>=(f|0))break;La=+g[Ha+(d<<3)>>2];A=480-d|0;w=+g[Ha+(A<<3)>>2];v=+g[Ha+(d<<3)+4>>2];u=+g[Ha+(A<<3)+4>>2];u=La*La+w*w+v*v+u*u;v=s+u*2.0*(.5-+g[Ga+(d<<2)>>2]);w=y+u*+g[Ia+(d<<2)>>2];t=t+u;d=d+1|0;s=v;y=w}if(!(t<1.0e9)|(t!=t|0.0!=0.0)){Ja=37;break}g[a+5844+((c[_>>2]|0)*72|0)+(r<<2)>>2]=t;v=t+1.0000000036274937e-15;x=x+s/v;u=t+1.000000013351432e-10;w=B+ +O(+u);u=+Y(+u);g[Fa+(r<<2)>>2]=u;f=a+6420+(r<<2)|0;t=+g[f>>2]+.009999999776482582;t=u>2]=t;d=a+6492+(r<<2)|0;s=+g[d>>2]+-.10000000149011612;s=u>s?u:s;g[d>>2]=s;if(s>2]=s;t=t+-.5;g[f>>2]=t}u=(u-t)/(s+1.0000000036274937e-15-t);s=0.0;t=0.0;f=0;while(1){if((f|0)==8)break;La=+g[a+5844+(f*72|0)+(r<<2)>>2];s=s+ +O(+La);t=t+La;f=f+1|0}t=s/+O(+(t*8.0+1.0e-15));t=t>.9900000095367432?.9900000095367432:t;t=t*t;t=t*t;La=y/v;f=a+5768+(r<<2)|0;s=t*+g[f>>2];s=La>s?La:s;g[Aa+(r<<2)>>2]=s;q=q+s;if((r|0)>8)q=q-+g[Aa+(r+-9<<2)>>2];y=(+(r+-18|0)*.029999999329447746+1.0)*q;g[f>>2]=s;La=F+s*+(r+-8|0);r=n;B=w;C=C+t;D=D>y?D:y;E=E+u;F=La}if((Ja|0)==37){Ja=0;c[L>>2]=0;break}w=$?5.699999746866524e-04:5.699999746866524e-04/+(1<>2]|0;n=z+1|0;r=c[1864+(n<<2)>>2]|0;u=0.0;f=d;while(1){if((f|0)>=(r|0))break;t=+g[Ha+(f<<3)>>2];G=+g[Ha+(f<<3)+4>>2];Ma=480-f|0;y=+g[Ha+(Ma<<3)>>2];La=+g[Ha+(Ma<<3)+4>>2];u=u+(t*t+y*y+G*G+La*La);f=f+1|0}t=s>u?s:u;Ma=a+6564+(z<<2)|0;s=v*+g[Ma>>2];s=s>u?s:u;g[Ma>>2]=s;s=u>s?u:s;q=q*.05000000074505806;q=q>s?q:s;if(!(s>q*.1&s*1.0e9>t)){Ma=A;z=n;s=t;A=Ma;continue}if(!(s>w*+(r-d|0))){Ma=A;z=n;s=t;A=Ma;continue}A=z;z=n;s=t}r=c[xa>>2]|0;z=(r|0)<3?20:A;B=+Ge(B)*20.0;G=+g[aa>>2]+-.029999999329447746;G=G>B?G:B;g[aa>>2]=G;La=+g[ba>>2]*(1.0-I);g[ba>>2]=B>2]*+g[Fa+(d<<2)>>2];d=d+1|0;q=La}g[za+(n<<2)>>2]=q;n=n+1|0}s=C/18.0;B=x/18.0;g[H>>2]=B+(1.0-B)*((r|0)<10?.5:E/18.0);I=D/9.0;La=+g[ca>>2]*.800000011920929;La=I>La?I:La;g[ca>>2]=La;n=a+8516+(K<<5)+8|0;g[n>>2]=F*.015625;c[_>>2]=((c[_>>2]|0)+1|0)%8|0;c[xa>>2]=(c[xa>>2]|0)+1;d=a+8516+(K<<5)+4|0;g[d>>2]=La;f=0;while(1){if((f|0)==4)break;g[Ba+(f<<2)>>2]=(+g[za+(f<<2)>>2]+ +g[a+6648+(f+24<<2)>>2])*-.12298999726772308+(+g[a+6648+(f<<2)>>2]+ +g[a+6648+(f+16<<2)>>2])*.49195000529289246+ +g[a+6648+(f+8<<2)>>2]*.6969299912452698-+g[a+6776+(f<<2)>>2]*1.4349000453948975;f=f+1|0}q=1.0-J;f=0;while(1){if((f|0)==4){f=0;break}Ma=a+6776+(f<<2)|0;g[Ma>>2]=q*+g[Ma>>2]+J*+g[za+(f<<2)>>2];f=f+1|0}while(1){if((f|0)==4){f=0;break}g[Ba+(f+4<<2)>>2]=(+g[za+(f<<2)>>2]-+g[a+6648+(f+24<<2)>>2])*.6324599981307983+(+g[a+6648+(f<<2)>>2]-+g[a+6648+(f+16<<2)>>2])*.31622999906539917;f=f+1|0}while(1){if((f|0)==3)break;Ma=f+8|0;g[Ba+(Ma<<2)>>2]=(+g[za+(f<<2)>>2]+ +g[a+6648+(f+24<<2)>>2])*.5345199704170227-(+g[a+6648+(f<<2)>>2]+ +g[a+6648+(f+16<<2)>>2])*.26725998520851135-+g[a+6648+(Ma<<2)>>2]*.5345199704170227;f=f+1|0}b:do if((c[xa>>2]|0)>5){f=0;while(1){if((f|0)==9){f=0;break b}Ma=a+6808+(f<<2)|0;La=+g[Ba+(f<<2)>>2];g[Ma>>2]=q*+g[Ma>>2]+J*La*La;f=f+1|0}}else f=0;while(0);while(1){if((f|0)==8){f=0;break}Ma=a+6648+(f+16<<2)|0;c[a+6648+(f+24<<2)>>2]=c[Ma>>2];A=a+6648+(f+8<<2)|0;c[Ma>>2]=c[A>>2];Ma=a+6648+(f<<2)|0;c[A>>2]=c[Ma>>2];c[Ma>>2]=c[za+(f<<2)>>2];f=f+1|0}while(1){if((f|0)==9)break;La=+O(+(+g[a+6808+(f<<2)>>2]));g[Ba+(f+11<<2)>>2]=La-+g[2464+(f<<2)>>2];f=f+1|0}g[da>>2]=+g[d>>2]+-.154723;g[ea>>2]=+g[H>>2]+-.724643;g[fa>>2]=s+-.743717;g[ga>>2]=+g[n>>2]+.069216;g[ha>>2]=+g[ba>>2]+-.06793;f=3304;r=0;while(1){if((r|0)==16){f=4968;r=0;break}d=f;n=0;q=+g[f>>2];while(1){d=d+4|0;if((n|0)==25)break;La=q+ +g[Ba+(n<<2)>>2]*+g[d>>2];n=n+1|0;q=La}f=f+104|0;if(q<8.0)if(q>-8.0)if(q!=q|0.0!=0.0)q=0.0;else{Ma=q<0.0;q=Ma?-q:q;H=~~+M(+(q*25.0+.5));q=q-+(H|0)*.03999999910593033;La=+g[2500+(H<<2)>>2];q=(Ma?-1.0:1.0)*(La+q*(1.0-La*La)*(1.0-La*q))}else q=-1.0;else q=1.0;g[Da+(r<<2)>>2]=q;r=r+1|0}while(1){if((r|0)==2)break;d=f;n=0;q=+g[f>>2];while(1){d=d+4|0;if((n|0)==16)break;La=q+ +g[Da+(n<<2)>>2]*+g[d>>2];n=n+1|0;q=La}f=f+68|0;if(q<8.0)if(q>-8.0)if(q!=q|0.0!=0.0)q=0.0;else{Ma=q<0.0;q=Ma?-q:q;H=~~+M(+(q*25.0+.5));q=q-+(H|0)*.03999999910593033;La=+g[2500+(H<<2)>>2];q=(Ma?-1.0:1.0)*(La+q*(1.0-La*La)*(1.0-La*q))}else q=-1.0;else q=1.0;g[Ca+(r<<2)>>2]=q;r=r+1|0}y=(+g[Ca>>2]+1.0)*.5;x=+g[ia>>2]*.5+.5;x=x*x;g[ia>>2]=x;y=x*y+(1.0-x)*.5;g[Ca>>2]=y;g[a+8516+(K<<5)+28>>2]=x;u=x*4.999999873689376e-05;Ma=y>.949999988079071;H=y<.05000000074505806&(Ma^1);w=H|Ma?(H?.05000000074505806:.949999988079071):y;J=+g[ya>>2];H=J>.949999988079071;Ma=J<.05000000074505806&(H^1);v=Ma|H?(Ma?.05000000074505806:.949999988079071):J;I=1.0-J;s=1.0-u;w=+N(+(w-v))*.05000000074505806/(w*(1.0-v)+v*(1.0-w))+.009999999776482582;v=+P(+(1.0-y),+w);w=+P(+y,+w);La=(J*s+I*u)*w;La=La/((I*s+J*u)*v+La);g[ya>>2]=La;g[a+8516+(K<<5)+20>>2]=La;if((c[xa>>2]|0)==1){g[ja>>2]=.5;g[ka>>2]=.5;q=.5}else q=+g[ja>>2];q=q+ +g[la>>2];t=+g[ka>>2]+ +g[ma>>2];g[ja>>2]=q*s*v;g[ka>>2]=t*s*w;f=1;while(1){if((f|0)==199)break;Ma=f+1|0;g[a+6888+(f<<2)>>2]=+g[a+6888+(Ma<<2)>>2]*v;g[a+7688+(f<<2)>>2]=+g[a+7688+(Ma<<2)>>2]*w;f=Ma}g[na>>2]=t*u*v;g[oa>>2]=q*u*w;f=0;q=9.999999682655225e-21;while(1){if((f|0)==200)break;La=q+(+g[a+6888+(f<<2)>>2]+ +g[a+7688+(f<<2)>>2]);f=f+1|0;q=La}q=1.0/q;f=0;while(1){if((f|0)==200)break;Ma=a+6888+(f<<2)|0;g[Ma>>2]=+g[Ma>>2]*q;Ma=a+7688+(f<<2)|0;g[Ma>>2]=+g[Ma>>2]*q;f=f+1|0}if(x>.75){q=+g[ya>>2];if(q>.9){Ma=(c[pa>>2]|0)+1|0;c[pa>>2]=(Ma|0)<500?Ma:500;J=+g[qa>>2];La=y-J;g[qa>>2]=J+1.0/+(Ma|0)*(La<-.20000000298023224?-.20000000298023224:La)}if(q<.1){Ma=(c[ra>>2]|0)+1|0;c[ra>>2]=(Ma|0)<500?Ma:500;J=+g[sa>>2];La=y-J;g[sa>>2]=J+1.0/+(Ma|0)*(La>.20000000298023224?.20000000298023224:La)}}else{if(!(c[pa>>2]|0))g[qa>>2]=.8999999761581421;if(!(c[ra>>2]|0))g[sa>>2]=.10000000149011612}f=+g[ya>>2]>.5&1;if((c[ta>>2]|0)!=(f|0))c[wa>>2]=0;c[ta>>2]=f;c[a+8516+(K<<5)+24>>2]=z;g[a+8516+(K<<5)+12>>2]=B;c[L>>2]=1}while(0);if(R){S=S+480|0;T=T+-480|0}else break}c[va>>2]=ua-h}c[p>>2]=0;r=a+8508|0;f=c[r>>2]|0;d=c[m>>2]|0;n=d-f|0;n=(n|0)<0?n+200|0:n;if((h|0)<481|(d|0)==(f|0))m=f;else{m=f+1|0;m=(m|0)==200?0:m}f=(m|0)==(d|0)?d+-1|0:m;f=a+8516+(((f|0)<0?199:f)<<5)|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];c[p+16>>2]=c[f+16>>2];c[p+20>>2]=c[f+20>>2];c[p+24>>2]=c[f+24>>2];c[p+28>>2]=c[f+28>>2];f=a+8512|0;m=(c[f>>2]|0)+((h|0)/120|0)|0;c[f>>2]=m;while(1){if((m|0)<=3)break;Ma=m+-4|0;c[f>>2]=Ma;c[r>>2]=(c[r>>2]|0)+1;m=Ma}m=c[r>>2]|0;if((m|0)>199)c[r>>2]=m+-200;m=(n|0)>10?210-n|0:200;f=0;q=0.0;while(1){if((f|0)>=(m|0))break;La=q+ +g[a+7688+(f<<2)>>2];f=f+1|0;q=La}while(1){if((f|0)>=200)break;La=q+ +g[a+6888+(f<<2)>>2];f=f+1|0;q=La}g[p+20>>2]=q*+g[a+8492>>2]+(1.0-q)*+g[a+8488>>2];i=Ka;return}function Qc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;e=k;c[e>>2]=d;do switch(b|0){case 4010:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if(b>>>0>10)b=40;else{c[a+24>>2]=b;b=39}break}case 10010:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if((b|0)>=0?(b|0)<(c[(c[a>>2]|0)+8>>2]|0):0){c[a+32>>2]=b;b=39}else b=40;break}case 10012:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if((b|0)>=1?(b|0)<=(c[(c[a>>2]|0)+8>>2]|0):0){c[a+36>>2]=b;b=39}else b=40;break}case 10002:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if(b>>>0>2)b=40;else{c[a+20>>2]=(b|0)<2&1;c[a+12>>2]=(b|0)==0&1;b=39}break}case 4014:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if(b>>>0>100)b=40;else{c[a+56>>2]=b;b=39}break}case 4020:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;c[a+52>>2]=b;b=39;break}case 4006:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;c[a+44>>2]=b;b=39;break}case 4002:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if((b|0)>500|(b|0)==-1){j=(c[a+4>>2]|0)*26e4|0;c[a+40>>2]=(b|0)<(j|0)?b:j;b=39}else b=40;break}case 10008:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if((b+-1|0)>>>0>1)b=40;else{c[a+8>>2]=b;b=39}break}case 4036:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if((b+-8|0)>>>0>16)b=40;else{c[a+60>>2]=b;b=39}break}case 4037:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;c[b>>2]=c[a+60>>2];b=39;break}case 4040:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;c[a+64>>2]=b;b=39;break}case 4028:{b=a+4|0;h=c[b>>2]|0;f=c[a>>2]|0;l=c[f+4>>2]|0;d=a+212+((_(h,l+1024|0)|0)<<2)|0;j=c[f+8>>2]|0;e=_(h,j)|0;d=d+(e<<2)|0;e=d+(e<<2)|0;nf(a+76|0,0,((_(l,h)|0)<<2)+212+(h<<12)+((_(h<<2,j)|0)<<2)+-76|0)|0;j=0;while(1){if((j|0)>=(_(h,c[f+8>>2]|0)|0))break;g[e+(j<<2)>>2]=-28.0;g[d+(j<<2)>>2]=-28.0;f=c[a>>2]|0;h=c[b>>2]|0;j=j+1|0}c[a+184>>2]=0;g[a+84>>2]=1.0;c[a+80>>2]=2;c[a+88>>2]=256;c[a+96>>2]=0;c[a+100>>2]=0;b=39;break}case 10016:{l=(c[e>>2]|0)+(4-1)&~(4-1);b=c[l>>2]|0;c[e>>2]=l+4;c[a+48>>2]=b;b=39;break}case 10022:{l=(c[e>>2]|0)+(4-1)&~(4-1);b=c[l>>2]|0;c[e>>2]=l+4;if(!b)b=39;else{l=a+120|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];c[l+16>>2]=c[b+16>>2];c[l+20>>2]=c[b+20>>2];c[l+24>>2]=c[b+24>>2];c[l+28>>2]=c[b+28>>2];b=39}break}case 10028:{l=(c[e>>2]|0)+(4-1)&~(4-1);b=c[l>>2]|0;c[e>>2]=l+4;if(!b)b=39;else{j=b;l=c[j+4>>2]|0;b=a+152|0;c[b>>2]=c[j>>2];c[b+4>>2]=l;b=39}break}case 10015:{l=(c[e>>2]|0)+(4-1)&~(4-1);b=c[l>>2]|0;c[e>>2]=l+4;if(!b)b=40;else{c[b>>2]=c[a>>2];b=39}break}case 4031:{l=(c[e>>2]|0)+(4-1)&~(4-1);b=c[l>>2]|0;c[e>>2]=l+4;if(!b)b=40;else{c[b>>2]=c[a+76>>2];b=39}break}case 10024:{l=(c[e>>2]|0)+(4-1)&~(4-1);b=c[l>>2]|0;c[e>>2]=l+4;c[a+68>>2]=b;b=39;break}case 10026:{l=(c[e>>2]|0)+(4-1)&~(4-1);b=c[l>>2]|0;c[e>>2]=l+4;c[a+204>>2]=b;b=39;break}default:{l=-5;i=k;return l|0}}while(0);if((b|0)==39){l=0;i=k;return l|0}else if((b|0)==40){l=-1;i=k;return l|0}return 0} - -// EMSCRIPTEN_END_FUNCS -var Xb=[Of,Ne,$e,bf,tc,Of,Of,Of];var Yb=[Pf,Ve,Re,ff];var Zb=[Qf,Je,Te,Le,Me,Ke,Xe,Ye,_e,af,cf,sc,Qf,Qf,Qf,Qf];var _b=[Rf,vc];var $b=[Sf,Ze,rc,Sf];var ac=[Tf,Gc];var bc=[Uf];var cc=[Vf,uc,qc,Vf];var dc=[Wf,Ue,Pe,df];var ec=[Xf,pc,wc,Xf];var fc=[Yf,We,Se,hf];return{___cxa_can_catch:kf,_free:Ie,_opus_strerror:zc,_opus_decoder_create:Ac,___cxa_is_pointer_type:lf,_i64Add:of,_memmove:sf,_bitshift64Ashr:pf,_opus_encoder_destroy:Mc,_memset:nf,_malloc:He,_opus_decoder_destroy:Ec,_opus_encoder_create:Fc,_memcpy:rf,___getTypeName:Fe,_bitshift64Lshr:qf,_opus_decoder_ctl:Dc,_opus_encoder_ctl:Lc,__GLOBAL__sub_I_opusscript_encoder_cpp:xc,__GLOBAL__sub_I_bind_cpp:Ee,runPostSets:mf,stackAlloc:gc,stackSave:hc,stackRestore:ic,establishStackSpace:jc,setThrew:kc,setTempRet0:nc,getTempRet0:oc,dynCall_iiii:Df,dynCall_viiiii:Ef,dynCall_vi:Ff,dynCall_iiiiiii:Gf,dynCall_ii:Hf,dynCall_viiiiiii:If,dynCall_v:Jf,dynCall_iiiii:Kf,dynCall_viiiiii:Lf,dynCall_iiiiii:Mf,dynCall_viiii:Nf}}) - - -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var runPostSets=Module["runPostSets"]=asm["runPostSets"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var _free=Module["_free"]=asm["_free"];var _opus_strerror=Module["_opus_strerror"]=asm["_opus_strerror"];var _opus_decoder_create=Module["_opus_decoder_create"]=asm["_opus_decoder_create"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _opus_encoder_destroy=Module["_opus_encoder_destroy"]=asm["_opus_encoder_destroy"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _opus_decoder_destroy=Module["_opus_decoder_destroy"]=asm["_opus_decoder_destroy"];var _opus_encoder_create=Module["_opus_encoder_create"]=asm["_opus_encoder_create"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _opus_encoder_ctl=Module["_opus_encoder_ctl"]=asm["_opus_encoder_ctl"];var _opus_decoder_ctl=Module["_opus_decoder_ctl"]=asm["_opus_decoder_ctl"];var __GLOBAL__sub_I_opusscript_encoder_cpp=Module["__GLOBAL__sub_I_opusscript_encoder_cpp"]=asm["__GLOBAL__sub_I_opusscript_encoder_cpp"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];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(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){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;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();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,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() - - - - - -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8), "node_modules/opusscript/build")) - -/***/ }, -/* 206 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(Buffer) {"use strict"; - -var opusscript_native = __webpack_require__(205); - -var OpusApplication = { - VOIP: 2048, - AUDIO: 2049, - RESTRICTED_LOWDELAY: 2051 -}; -var OpusError = { - "0": "OK", - "-1": "Bad argument", - "-2": "Buffer too small", - "-3": "Internal error", - "-4": "Invalid packet", - "-5": "Unimplemented", - "-6": "Invalid state", - "-7": "Memory allocation fail" -}; -var VALID_SAMPLING_RATES = [8000, 12000, 16000, 24000, 48000]; -var MAX_FRAME_SIZE = 48000 * 60 / 1000; -var MAX_PACKET_SIZE = 1276 * 3; -var SET_BITRATE_REQUEST = 4002; - -function OpusScript(samplingRate, channels, application) { - if(!~VALID_SAMPLING_RATES.indexOf(samplingRate)) { - throw new RangeError(`${samplingRate} is an invalid sampling rate.`); - } - this.samplingRate = samplingRate; - - this.channels = channels || 1; - this.application = application || OpusApplication.AUDIO; - - this.handler = new opusscript_native.OpusScriptHandler(this.samplingRate, this.channels, this.application); - - this.inPCMLength = MAX_FRAME_SIZE * this.channels * 2; - this.inPCMPointer = opusscript_native._malloc(this.inPCMLength); - this.inPCM = opusscript_native.HEAPU16.subarray(this.inPCMPointer, this.inPCMPointer + this.inPCMLength); - - this.inOpusPointer = opusscript_native._malloc(MAX_PACKET_SIZE); - this.inOpus = opusscript_native.HEAPU8.subarray(this.inOpusPointer, this.inOpusPointer + MAX_PACKET_SIZE); - - this.outOpusPointer = opusscript_native._malloc(MAX_PACKET_SIZE); - this.outOpus = opusscript_native.HEAPU8.subarray(this.outOpusPointer, this.outOpusPointer + MAX_PACKET_SIZE); - - this.outPCMLength = MAX_FRAME_SIZE * this.channels * 2; - this.outPCMPointer = opusscript_native._malloc(this.outPCMLength); - this.outPCM = opusscript_native.HEAPU16.subarray(this.outPCMPointer, this.outPCMPointer + this.outPCMLength); -}; - -OpusScript.prototype.setBitrate = function setBitrate(bitrate) { - this.bitrate = bitrate || 64000; - opusscript_native.setValue(this.bitratePointer, this.bitrate, "i32"); - var errCode = opusscript_native._opus_encoder_ctl(this.handler, SET_BITRATE_REQUEST, this.bitratePointer); - if(errCode < 0) { - throw new Error("Failed to set bitrate: " + OpusError["" + opusscript_native.getValue(errCode, "i32")]); - } -}; - -OpusScript.prototype.encode = function encode(buffer, frameSize) { - this.inPCM.set(buffer); - - var len = this.handler._encode(this.inPCM.byteOffset, buffer.length, this.outOpusPointer, frameSize); - if(len < 0) { - throw new Error("Encode error: " + OpusError["" + len]); - } - - return new Buffer(this.outOpus.subarray(0, len)); -}; - -OpusScript.prototype.decode = function decode(buffer) { - this.inOpus.set(buffer); - - var len = this.handler._decode(this.inOpusPointer, buffer.length, this.outPCM.byteOffset); - if(len < 0) { - throw new Error("Decode error: " + OpusError["" + len]); - } - - return new Buffer(this.outPCM.subarray(0, len * this.channels * 2)); -}; - -OpusScript.Application = OpusApplication; -OpusScript.Error = OpusError; -OpusScript.VALID_SAMPLING_RATES = VALID_SAMPLING_RATES; -OpusScript.MAX_PACKET_SIZE = MAX_PACKET_SIZE; - -module.exports = OpusScript; - -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0).Buffer)) - -/***/ }, -/* 207 */ /***/ function(module, exports) { "use strict"; @@ -39191,14 +39069,14 @@ module.exports = { /***/ }, -/* 208 */ +/* 206 */ /***/ function(module, exports, __webpack_require__) { "use strict"; 'use strict'; var utils = __webpack_require__(42); -var trees = __webpack_require__(212); +var trees = __webpack_require__(210); var adler32 = __webpack_require__(109); var crc32 = __webpack_require__(110); var msg = __webpack_require__(111); @@ -41053,7 +40931,7 @@ exports.deflateTune = deflateTune; /***/ }, -/* 209 */ +/* 207 */ /***/ function(module, exports) { "use strict"; @@ -41386,7 +41264,7 @@ module.exports = function inflate_fast(strm, start) { /***/ }, -/* 210 */ +/* 208 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -41396,8 +41274,8 @@ module.exports = function inflate_fast(strm, start) { var utils = __webpack_require__(42); var adler32 = __webpack_require__(109); var crc32 = __webpack_require__(110); -var inflate_fast = __webpack_require__(209); -var inflate_table = __webpack_require__(211); +var inflate_fast = __webpack_require__(207); +var inflate_table = __webpack_require__(209); var CODES = 0; var LENS = 1; @@ -42931,7 +42809,7 @@ exports.inflateUndermine = inflateUndermine; /***/ }, -/* 211 */ +/* 209 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -43265,7 +43143,7 @@ module.exports = function inflate_table(type, lens, lens_index, codes, table, ta /***/ }, -/* 212 */ +/* 210 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -44474,7 +44352,7 @@ exports._tr_align = _tr_align; /***/ }, -/* 213 */ +/* 211 */ /***/ function(module, exports) { "use strict"; @@ -44510,7 +44388,7 @@ module.exports = ZStream; /***/ }, -/* 214 */ +/* 212 */ /***/ function(module, exports, __webpack_require__) { // from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js @@ -44633,7 +44511,7 @@ exports.signature = asn1.define('signature', function () { /***/ }, -/* 215 */ +/* 213 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {// adapted from https://github.com/apatil/pemstrip @@ -44670,7 +44548,7 @@ module.exports = function (okey, password) { /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0).Buffer)) /***/ }, -/* 216 */ +/* 214 */ /***/ function(module, exports) { var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs @@ -44694,11 +44572,11 @@ module.exports = function (iterations, keylen) { /***/ }, -/* 217 */ +/* 215 */ /***/ function(module, exports, __webpack_require__) { -exports.publicEncrypt = __webpack_require__(219); -exports.privateDecrypt = __webpack_require__(218); +exports.publicEncrypt = __webpack_require__(217); +exports.privateDecrypt = __webpack_require__(216); exports.privateEncrypt = function privateEncrypt(key, buf) { return exports.publicEncrypt(key, buf, true); @@ -44709,7 +44587,7 @@ exports.publicDecrypt = function publicDecrypt(key, buf) { }; /***/ }, -/* 218 */ +/* 216 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {var parseKeys = __webpack_require__(43); @@ -44717,7 +44595,7 @@ var mgf = __webpack_require__(113); var xor = __webpack_require__(115); var bn = __webpack_require__(7); var crt = __webpack_require__(51); -var createHash = __webpack_require__(22); +var createHash = __webpack_require__(21); var withPublic = __webpack_require__(114); module.exports = function privateDecrypt(private_key, enc, reverse) { var padding; @@ -44823,12 +44701,12 @@ function compare(a, b){ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0).Buffer)) /***/ }, -/* 219 */ +/* 217 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {var parseKeys = __webpack_require__(43); var randomBytes = __webpack_require__(30); -var createHash = __webpack_require__(22); +var createHash = __webpack_require__(21); var mgf = __webpack_require__(113); var xor = __webpack_require__(115); var bn = __webpack_require__(7); @@ -44924,7 +44802,7 @@ function nonZero(len, crypto) { /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0).Buffer)) /***/ }, -/* 220 */ +/* 218 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module, global) {var __WEBPACK_AMD_DEFINE_RESULT__;/*! https://mths.be/punycode v1.4.1 by @mathias */ @@ -45459,10 +45337,10 @@ function nonZero(len, crypto) { }(this)); -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(121)(module), __webpack_require__(19))) +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(121)(module), __webpack_require__(18))) /***/ }, -/* 221 */ +/* 219 */ /***/ function(module, exports) { "use strict"; @@ -45553,7 +45431,7 @@ var isArray = Array.isArray || function (xs) { /***/ }, -/* 222 */ +/* 220 */ /***/ function(module, exports) { "use strict"; @@ -45645,25 +45523,25 @@ var objectKeys = Object.keys || function (obj) { /***/ }, -/* 223 */ +/* 221 */ /***/ function(module, exports, __webpack_require__) { "use strict"; 'use strict'; -exports.decode = exports.parse = __webpack_require__(221); -exports.encode = exports.stringify = __webpack_require__(222); +exports.decode = exports.parse = __webpack_require__(219); +exports.encode = exports.stringify = __webpack_require__(220); /***/ }, -/* 224 */ +/* 222 */ /***/ function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(18) +module.exports = __webpack_require__(17) /***/ }, -/* 225 */ +/* 223 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -45733,14 +45611,14 @@ BufferList.prototype.concat = function (n) { }; /***/ }, -/* 226 */ +/* 224 */ /***/ function(module, exports, __webpack_require__) { module.exports = __webpack_require__(116) /***/ }, -/* 227 */ +/* 225 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {var Stream = (function (){ @@ -45752,7 +45630,7 @@ exports = module.exports = __webpack_require__(117); exports.Stream = Stream || exports; exports.Readable = exports; exports.Writable = __webpack_require__(58); -exports.Duplex = __webpack_require__(18); +exports.Duplex = __webpack_require__(17); exports.Transform = __webpack_require__(57); exports.PassThrough = __webpack_require__(116); @@ -45763,14 +45641,14 @@ if (!process.browser && process.env.READABLE_STREAM === 'disable' && Stream) { /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8))) /***/ }, -/* 228 */ +/* 226 */ /***/ function(module, exports, __webpack_require__) { module.exports = __webpack_require__(58) /***/ }, -/* 229 */ +/* 227 */ /***/ function(module, exports, __webpack_require__) { /** @@ -46166,7 +46044,7 @@ RequestBase.prototype.send = function(data){ /***/ }, -/* 230 */ +/* 228 */ /***/ function(module, exports) { // The node and browser modules expose versions of this with the @@ -46204,7 +46082,7 @@ module.exports = request; /***/ }, -/* 231 */ +/* 229 */ /***/ function(module, exports) { "use strict"; @@ -46340,7 +46218,7 @@ module.exports = Ultron; /***/ }, -/* 232 */ +/* 230 */ /***/ function(module, exports) { "use strict"; @@ -46360,7 +46238,7 @@ module.exports.Validation = { /***/ }, -/* 233 */ +/* 231 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -46369,12 +46247,12 @@ module.exports.Validation = { try { module.exports = __webpack_require__(89)('validation'); } catch (e) { - module.exports = __webpack_require__(232); + module.exports = __webpack_require__(230); } /***/ }, -/* 234 */ +/* 232 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) { @@ -46445,10 +46323,10 @@ function config (name) { return String(val).toLowerCase() === 'true'; } -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(19))) +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(18))) /***/ }, -/* 235 */ +/* 233 */ /***/ function(module, exports) { if (typeof Object.create === 'function') { @@ -46477,7 +46355,7 @@ if (typeof Object.create === 'function') { /***/ }, -/* 236 */ +/* 234 */ /***/ function(module, exports) { module.exports = function isBuffer(arg) { @@ -46488,7 +46366,7 @@ module.exports = function isBuffer(arg) { } /***/ }, -/* 237 */ +/* 235 */ /***/ function(module, exports, __webpack_require__) { var indexOf = __webpack_require__(201); @@ -46632,7 +46510,7 @@ exports.createContext = Script.createContext = function (context) { /***/ }, -/* 238 */ +/* 236 */ /***/ function(module, exports, __webpack_require__) { var http = __webpack_require__(55); @@ -46652,7 +46530,7 @@ https.request = function (params, cb) { /***/ }, -/* 239 */ +/* 237 */ /***/ function(module, exports) { exports.lookup = exports.resolve4 = @@ -46673,14 +46551,14 @@ function () { /***/ }, -/* 240 */ +/* 238 */ /***/ function(module, exports) { // todo /***/ }, -/* 241 */ +/* 239 */ /***/ function(module, exports) { "use strict"; @@ -46703,7 +46581,7 @@ module.exports = { /***/ }, -/* 242 */ +/* 240 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {/*! @@ -46773,7 +46651,7 @@ module.exports = BufferPool; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0).Buffer)) /***/ }, -/* 243 */ +/* 241 */ /***/ function(module, exports) { /*! @@ -46826,7 +46704,7 @@ exports.BufferUtil = { /***/ }, -/* 244 */ +/* 242 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {/*! @@ -47027,7 +46905,7 @@ function bufferIndex(buffer, byte) { /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0).Buffer)) /***/ }, -/* 245 */ +/* 243 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {/*! @@ -47158,7 +47036,7 @@ Sender.prototype.error = function (reason) { /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0).Buffer)) /***/ }, -/* 246 */ +/* 244 */ /***/ function(module, exports) { /*! @@ -47175,7 +47053,7 @@ exports.Validation = { /***/ }, -/* 247 */ +/* 245 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -47188,14 +47066,14 @@ exports.Validation = { */ try { - module.exports = __webpack_require__(233); + module.exports = __webpack_require__(231); } catch (e) { - module.exports = __webpack_require__(246); + module.exports = __webpack_require__(244); } /***/ }, -/* 248 */ +/* 246 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {/*! @@ -47212,7 +47090,7 @@ var util = __webpack_require__(10) , WebSocket = __webpack_require__(129) , Extensions = __webpack_require__(126) , PerMessageDeflate = __webpack_require__(44) - , tls = __webpack_require__(240) + , tls = __webpack_require__(238) , url = __webpack_require__(62); /** @@ -47756,7 +47634,7 @@ function abortConnection(socket, code, name) { /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0).Buffer)) /***/ }, -/* 249 */ +/* 247 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process, Buffer) {/** @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */(function() {'use strict';function q(b){throw b;}var t=void 0,v=!0;var A="undefined"!==typeof Uint8Array&&"undefined"!==typeof Uint16Array&&"undefined"!==typeof Uint32Array&&"undefined"!==typeof DataView;function E(b,a){this.index="number"===typeof a?a:0;this.m=0;this.buffer=b instanceof(A?Uint8Array:Array)?b:new (A?Uint8Array:Array)(32768);2*this.buffer.length<=this.index&&q(Error("invalid index"));this.buffer.length<=this.index&&this.f()}E.prototype.f=function(){var b=this.buffer,a,c=b.length,d=new (A?Uint8Array:Array)(c<<1);if(A)d.set(b);else for(a=0;a { /***/ }, -/* 291 */ +/* 289 */ /***/ function(module, exports, __webpack_require__) { const OpusEngine = __webpack_require__(133); @@ -51262,7 +51140,7 @@ class NodeOpusEngine extends OpusEngine { constructor(player) { super(player); try { - OpusScript = __webpack_require__(206); + OpusScript = __webpack_require__(336); } catch (err) { throw err; } @@ -51284,7 +51162,7 @@ module.exports = NodeOpusEngine; /***/ }, -/* 292 */ +/* 290 */ /***/ function(module, exports, __webpack_require__) { const EventEmitter = __webpack_require__(5).EventEmitter; @@ -51304,18 +51182,18 @@ module.exports = ConverterEngine; /***/ }, -/* 293 */ +/* 291 */ /***/ function(module, exports, __webpack_require__) { -exports.fetch = () => __webpack_require__(294); +exports.fetch = () => __webpack_require__(292); /***/ }, -/* 294 */ +/* 292 */ /***/ function(module, exports, __webpack_require__) { -const ConverterEngine = __webpack_require__(292); -const ChildProcess = __webpack_require__(12); +const ConverterEngine = __webpack_require__(290); +const ChildProcess = __webpack_require__(13); const EventEmitter = __webpack_require__(5).EventEmitter; class PCMConversionProcess extends EventEmitter { @@ -51396,13 +51274,13 @@ module.exports = FfmpegConverterEngine; /***/ }, -/* 295 */ +/* 293 */ /***/ function(module, exports, __webpack_require__) { -const PCMConverters = __webpack_require__(293); -const OpusEncoders = __webpack_require__(290); +const PCMConverters = __webpack_require__(291); +const OpusEncoders = __webpack_require__(288); const EventEmitter = __webpack_require__(5).EventEmitter; -const StreamDispatcher = __webpack_require__(288); +const StreamDispatcher = __webpack_require__(286); /** * Represents the Audio Player of a Voice Connection @@ -51482,7 +51360,7 @@ module.exports = AudioPlayer; /***/ }, -/* 296 */ +/* 294 */ /***/ function(module, exports, __webpack_require__) { const Readable = __webpack_require__(11).Readable; @@ -51507,12 +51385,12 @@ module.exports = VoiceReadable; /***/ }, -/* 297 */ +/* 295 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {const EventEmitter = __webpack_require__(5).EventEmitter; const NaCl = __webpack_require__(120); -const Readable = __webpack_require__(296); +const Readable = __webpack_require__(294); const nonce = new Buffer(24); nonce.fill(0); @@ -51668,7 +51546,7 @@ module.exports = VoiceReceiver; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0).Buffer)) /***/ }, -/* 298 */ +/* 296 */ /***/ function(module, exports) { /** @@ -51690,15 +51568,15 @@ module.exports = SecretKey; /***/ }, -/* 299 */ +/* 297 */ /***/ function(module, exports, __webpack_require__) { const browser = typeof window !== 'undefined'; const WebSocket = browser ? window.WebSocket : __webpack_require__(123); // eslint-disable-line no-undef const EventEmitter = __webpack_require__(5).EventEmitter; const Constants = __webpack_require__(1); -const inflate = browser ? __webpack_require__(249).inflateSync : __webpack_require__(101).inflateSync; -const PacketManager = __webpack_require__(300); +const inflate = browser ? __webpack_require__(247).inflateSync : __webpack_require__(101).inflateSync; +const PacketManager = __webpack_require__(298); const convertArrayBuffer = __webpack_require__(134); /** @@ -51997,7 +51875,7 @@ module.exports = WebSocketManager; /***/ }, -/* 300 */ +/* 298 */ /***/ function(module, exports, __webpack_require__) { const Constants = __webpack_require__(1); @@ -52017,39 +51895,39 @@ class WebSocketPacketManager { this.handlers = {}; this.queue = []; - this.register(Constants.WSEvents.READY, __webpack_require__(326)); - this.register(Constants.WSEvents.GUILD_CREATE, __webpack_require__(307)); - this.register(Constants.WSEvents.GUILD_DELETE, __webpack_require__(308)); - this.register(Constants.WSEvents.GUILD_UPDATE, __webpack_require__(317)); - this.register(Constants.WSEvents.GUILD_BAN_ADD, __webpack_require__(305)); - this.register(Constants.WSEvents.GUILD_BAN_REMOVE, __webpack_require__(306)); - this.register(Constants.WSEvents.GUILD_MEMBER_ADD, __webpack_require__(309)); - this.register(Constants.WSEvents.GUILD_MEMBER_REMOVE, __webpack_require__(310)); - this.register(Constants.WSEvents.GUILD_MEMBER_UPDATE, __webpack_require__(311)); - this.register(Constants.WSEvents.GUILD_ROLE_CREATE, __webpack_require__(313)); - this.register(Constants.WSEvents.GUILD_ROLE_DELETE, __webpack_require__(314)); - this.register(Constants.WSEvents.GUILD_ROLE_UPDATE, __webpack_require__(315)); - this.register(Constants.WSEvents.GUILD_MEMBERS_CHUNK, __webpack_require__(312)); - this.register(Constants.WSEvents.CHANNEL_CREATE, __webpack_require__(301)); - this.register(Constants.WSEvents.CHANNEL_DELETE, __webpack_require__(302)); - this.register(Constants.WSEvents.CHANNEL_UPDATE, __webpack_require__(304)); - this.register(Constants.WSEvents.CHANNEL_PINS_UPDATE, __webpack_require__(303)); - this.register(Constants.WSEvents.PRESENCE_UPDATE, __webpack_require__(325)); - this.register(Constants.WSEvents.USER_UPDATE, __webpack_require__(331)); - this.register(Constants.WSEvents.USER_NOTE_UPDATE, __webpack_require__(330)); - this.register(Constants.WSEvents.VOICE_STATE_UPDATE, __webpack_require__(333)); - this.register(Constants.WSEvents.TYPING_START, __webpack_require__(329)); - this.register(Constants.WSEvents.MESSAGE_CREATE, __webpack_require__(318)); - this.register(Constants.WSEvents.MESSAGE_DELETE, __webpack_require__(319)); - this.register(Constants.WSEvents.MESSAGE_UPDATE, __webpack_require__(324)); - this.register(Constants.WSEvents.MESSAGE_DELETE_BULK, __webpack_require__(320)); - this.register(Constants.WSEvents.VOICE_SERVER_UPDATE, __webpack_require__(332)); - this.register(Constants.WSEvents.GUILD_SYNC, __webpack_require__(316)); - this.register(Constants.WSEvents.RELATIONSHIP_ADD, __webpack_require__(327)); - this.register(Constants.WSEvents.RELATIONSHIP_REMOVE, __webpack_require__(328)); - this.register(Constants.WSEvents.MESSAGE_REACTION_ADD, __webpack_require__(321)); - this.register(Constants.WSEvents.MESSAGE_REACTION_REMOVE, __webpack_require__(322)); - this.register(Constants.WSEvents.MESSAGE_REACTION_REMOVE_ALL, __webpack_require__(323)); + this.register(Constants.WSEvents.READY, __webpack_require__(324)); + this.register(Constants.WSEvents.GUILD_CREATE, __webpack_require__(305)); + this.register(Constants.WSEvents.GUILD_DELETE, __webpack_require__(306)); + this.register(Constants.WSEvents.GUILD_UPDATE, __webpack_require__(315)); + this.register(Constants.WSEvents.GUILD_BAN_ADD, __webpack_require__(303)); + this.register(Constants.WSEvents.GUILD_BAN_REMOVE, __webpack_require__(304)); + this.register(Constants.WSEvents.GUILD_MEMBER_ADD, __webpack_require__(307)); + this.register(Constants.WSEvents.GUILD_MEMBER_REMOVE, __webpack_require__(308)); + this.register(Constants.WSEvents.GUILD_MEMBER_UPDATE, __webpack_require__(309)); + this.register(Constants.WSEvents.GUILD_ROLE_CREATE, __webpack_require__(311)); + this.register(Constants.WSEvents.GUILD_ROLE_DELETE, __webpack_require__(312)); + this.register(Constants.WSEvents.GUILD_ROLE_UPDATE, __webpack_require__(313)); + this.register(Constants.WSEvents.GUILD_MEMBERS_CHUNK, __webpack_require__(310)); + this.register(Constants.WSEvents.CHANNEL_CREATE, __webpack_require__(299)); + this.register(Constants.WSEvents.CHANNEL_DELETE, __webpack_require__(300)); + this.register(Constants.WSEvents.CHANNEL_UPDATE, __webpack_require__(302)); + this.register(Constants.WSEvents.CHANNEL_PINS_UPDATE, __webpack_require__(301)); + this.register(Constants.WSEvents.PRESENCE_UPDATE, __webpack_require__(323)); + this.register(Constants.WSEvents.USER_UPDATE, __webpack_require__(329)); + this.register(Constants.WSEvents.USER_NOTE_UPDATE, __webpack_require__(328)); + this.register(Constants.WSEvents.VOICE_STATE_UPDATE, __webpack_require__(331)); + this.register(Constants.WSEvents.TYPING_START, __webpack_require__(327)); + this.register(Constants.WSEvents.MESSAGE_CREATE, __webpack_require__(316)); + this.register(Constants.WSEvents.MESSAGE_DELETE, __webpack_require__(317)); + this.register(Constants.WSEvents.MESSAGE_UPDATE, __webpack_require__(322)); + this.register(Constants.WSEvents.MESSAGE_DELETE_BULK, __webpack_require__(318)); + this.register(Constants.WSEvents.VOICE_SERVER_UPDATE, __webpack_require__(330)); + this.register(Constants.WSEvents.GUILD_SYNC, __webpack_require__(314)); + this.register(Constants.WSEvents.RELATIONSHIP_ADD, __webpack_require__(325)); + this.register(Constants.WSEvents.RELATIONSHIP_REMOVE, __webpack_require__(326)); + this.register(Constants.WSEvents.MESSAGE_REACTION_ADD, __webpack_require__(319)); + this.register(Constants.WSEvents.MESSAGE_REACTION_REMOVE, __webpack_require__(320)); + this.register(Constants.WSEvents.MESSAGE_REACTION_REMOVE_ALL, __webpack_require__(321)); } get client() { @@ -52111,7 +51989,7 @@ module.exports = WebSocketPacketManager; /***/ }, -/* 301 */ +/* 299 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52134,7 +52012,7 @@ module.exports = ChannelCreateHandler; /***/ }, -/* 302 */ +/* 300 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52160,7 +52038,7 @@ module.exports = ChannelDeleteHandler; /***/ }, -/* 303 */ +/* 301 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52197,7 +52075,7 @@ module.exports = ChannelPinsUpdate; /***/ }, -/* 304 */ +/* 302 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52214,7 +52092,7 @@ module.exports = ChannelUpdateHandler; /***/ }, -/* 305 */ +/* 303 */ /***/ function(module, exports, __webpack_require__) { // ##untested handler## @@ -52243,7 +52121,7 @@ module.exports = GuildBanAddHandler; /***/ }, -/* 306 */ +/* 304 */ /***/ function(module, exports, __webpack_require__) { // ##untested handler## @@ -52269,7 +52147,7 @@ module.exports = GuildBanRemoveHandler; /***/ }, -/* 307 */ +/* 305 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52297,7 +52175,7 @@ module.exports = GuildCreateHandler; /***/ }, -/* 308 */ +/* 306 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52322,7 +52200,7 @@ module.exports = GuildDeleteHandler; /***/ }, -/* 309 */ +/* 307 */ /***/ function(module, exports, __webpack_require__) { // ##untested handler## @@ -52345,7 +52223,7 @@ module.exports = GuildMemberAddHandler; /***/ }, -/* 310 */ +/* 308 */ /***/ function(module, exports, __webpack_require__) { // ##untested handler## @@ -52364,7 +52242,7 @@ module.exports = GuildMemberRemoveHandler; /***/ }, -/* 311 */ +/* 309 */ /***/ function(module, exports, __webpack_require__) { // ##untested handler## @@ -52388,7 +52266,7 @@ module.exports = GuildMemberUpdateHandler; /***/ }, -/* 312 */ +/* 310 */ /***/ function(module, exports, __webpack_require__) { // ##untested## @@ -52422,7 +52300,7 @@ module.exports = GuildMembersChunkHandler; /***/ }, -/* 313 */ +/* 311 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52439,7 +52317,7 @@ module.exports = GuildRoleCreateHandler; /***/ }, -/* 314 */ +/* 312 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52456,7 +52334,7 @@ module.exports = GuildRoleDeleteHandler; /***/ }, -/* 315 */ +/* 313 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52473,7 +52351,7 @@ module.exports = GuildRoleUpdateHandler; /***/ }, -/* 316 */ +/* 314 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52490,7 +52368,7 @@ module.exports = GuildSyncHandler; /***/ }, -/* 317 */ +/* 315 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52507,7 +52385,7 @@ module.exports = GuildUpdateHandler; /***/ }, -/* 318 */ +/* 316 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52532,7 +52410,7 @@ module.exports = MessageCreateHandler; /***/ }, -/* 319 */ +/* 317 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52557,7 +52435,7 @@ module.exports = MessageDeleteHandler; /***/ }, -/* 320 */ +/* 318 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52580,7 +52458,7 @@ module.exports = MessageDeleteBulkHandler; /***/ }, -/* 321 */ +/* 319 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52597,7 +52475,7 @@ module.exports = MessageReactionAddHandler; /***/ }, -/* 322 */ +/* 320 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52614,7 +52492,7 @@ module.exports = MessageReactionRemove; /***/ }, -/* 323 */ +/* 321 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52631,7 +52509,7 @@ module.exports = MessageReactionRemoveAll; /***/ }, -/* 324 */ +/* 322 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52648,12 +52526,12 @@ module.exports = MessageUpdateHandler; /***/ }, -/* 325 */ +/* 323 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); const Constants = __webpack_require__(1); -const cloneObject = __webpack_require__(13); +const cloneObject = __webpack_require__(12); class PresenceUpdateHandler extends AbstractHandler { handle(packet) { @@ -52726,7 +52604,7 @@ module.exports = PresenceUpdateHandler; /***/ }, -/* 326 */ +/* 324 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52799,7 +52677,7 @@ module.exports = ReadyHandler; /***/ }, -/* 327 */ +/* 325 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52824,7 +52702,7 @@ module.exports = RelationshipAddHandler; /***/ }, -/* 328 */ +/* 326 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52849,7 +52727,7 @@ module.exports = RelationshipRemoveHandler; /***/ }, -/* 329 */ +/* 327 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52923,7 +52801,7 @@ module.exports = TypingStartHandler; /***/ }, -/* 330 */ +/* 328 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52941,7 +52819,7 @@ module.exports = UserNoteUpdateHandler; /***/ }, -/* 331 */ +/* 329 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52958,7 +52836,7 @@ module.exports = UserUpdateHandler; /***/ }, -/* 332 */ +/* 330 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); @@ -52983,13 +52861,13 @@ module.exports = VoiceServerUpdate; /***/ }, -/* 333 */ +/* 331 */ /***/ function(module, exports, __webpack_require__) { const AbstractHandler = __webpack_require__(3); const Constants = __webpack_require__(1); -const cloneObject = __webpack_require__(13); +const cloneObject = __webpack_require__(12); class VoiceStateUpdateHandler extends AbstractHandler { handle(packet) { @@ -53038,7 +52916,7 @@ module.exports = VoiceStateUpdateHandler; /***/ }, -/* 334 */ +/* 332 */ /***/ function(module, exports) { /** @@ -53092,11 +52970,11 @@ module.exports = UserConnection; /***/ }, -/* 335 */ +/* 333 */ /***/ function(module, exports, __webpack_require__) { const Collection = __webpack_require__(6); -const UserConnection = __webpack_require__(334); +const UserConnection = __webpack_require__(332); /** * Represents a user's profile on Discord. @@ -53147,7 +53025,7 @@ module.exports = UserProfile; /***/ }, -/* 336 */ +/* 334 */ /***/ function(module, exports) { module.exports = function parseEmoji(text) { @@ -53166,6 +53044,20 @@ module.exports = function parseEmoji(text) { }; +/***/ }, +/* 335 */ +/***/ function(module, exports) { + +if(typeof undefined === 'undefined') {var e = new Error("Cannot find module \"undefined\""); e.code = 'MODULE_NOT_FOUND'; throw e;} +module.exports = undefined; + +/***/ }, +/* 336 */ +/***/ function(module, exports) { + +if(typeof undefined === 'undefined') {var e = new Error("Cannot find module \"undefined\""); e.code = 'MODULE_NOT_FOUND'; throw e;} +module.exports = undefined; + /***/ }, /* 337 */ /***/ function(module, exports) { @@ -53223,7 +53115,7 @@ module.exports = { PermissionOverwrites: __webpack_require__(79), Presence: __webpack_require__(15).Presence, ReactionEmoji: __webpack_require__(48), - Role: __webpack_require__(20), + Role: __webpack_require__(19), TextChannel: __webpack_require__(80), User: __webpack_require__(14), VoiceChannel: __webpack_require__(81), diff --git a/discord.indev.min.js b/discord.indev.min.js index 9003379e..8eded83b 100644 --- a/discord.indev.min.js +++ b/discord.indev.min.js @@ -1,63 +1,63 @@ -!function(e){function t(r){if(i[r])return i[r].exports;var n=i[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var i={};return t.m=e,t.c=i,t.i=function(e){return e},t.d=function(e,t,i){Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,"a",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=340)}([function(e,t,i){"use strict";(function(e,r){function n(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}function s(){return e.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(t,i){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function m(t){return+t!=t&&(t=0),e.alloc(+t)}function w(t,i){if(e.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(i){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return V(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Y(t).length;default:if(n)return V(t).length;i=(""+i).toLowerCase(),n=!0}}function g(e,t,i){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if(i>>>=0,t>>>=0,i<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,i);case"utf8":case"utf-8":return R(this,t,i);case"ascii":return C(this,t,i);case"latin1":case"binary":return P(this,t,i);case"base64":return x(this,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return N(this,t,i);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function v(e,t,i){var r=e[t];e[t]=e[i],e[i]=r}function _(t,i,r,n,s){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=s?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(s)return-1;r=t.length-1}else if(r<0){if(!s)return-1;r=0}if("string"==typeof i&&(i=e.from(i,n)),e.isBuffer(i))return 0===i.length?-1:y(t,i,r,n,s);if("number"==typeof i)return i&=255,e.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(t,i,r):Uint8Array.prototype.lastIndexOf.call(t,i,r):y(t,[i],r,n,s);throw new TypeError("val must be string, number or Buffer")}function y(e,t,i,r,n){function s(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}var a=1,o=e.length,f=t.length;if(void 0!==r&&(r=String(r).toLowerCase(),"ucs2"===r||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,o/=2,f/=2,i/=2}var h;if(n){var c=-1;for(h=i;ho&&(i=o-f),h=i;h>=0;h--){for(var l=!0,u=0;un&&(r=n)):r=n;var s=t.length;if(s%2!==0)throw new TypeError("Invalid hex string");r>s/2&&(r=s/2);for(var a=0;a239?4:s>223?3:s>191?2:1;if(n+o<=i){var f,h,c,l;switch(o){case 1:s<128&&(a=s);break;case 2:f=e[n+1],128===(192&f)&&(l=(31&s)<<6|63&f,l>127&&(a=l));break;case 3:f=e[n+1],h=e[n+2],128===(192&f)&&128===(192&h)&&(l=(15&s)<<12|(63&f)<<6|63&h,l>2047&&(l<55296||l>57343)&&(a=l));break;case 4:f=e[n+1],h=e[n+2],c=e[n+3],128===(192&f)&&128===(192&h)&&128===(192&c)&&(l=(15&s)<<18|(63&f)<<12|(63&h)<<6|63&c,l>65535&&l<1114112&&(a=l))}}null===a?(a=65533,o=1):a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|1023&a),r.push(a),n+=o}return I(r)}function I(e){var t=e.length;if(t<=ee)return String.fromCharCode.apply(String,e);for(var i="",r=0;rr)&&(i=r);for(var n="",s=t;si)throw new RangeError("Trying to access beyond buffer length")}function L(t,i,r,n,s,a){if(!e.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(i>s||it.length)throw new RangeError("Index out of range")}function B(e,t,i,r){t<0&&(t=65535+t+1);for(var n=0,s=Math.min(e.length-i,2);n>>8*(r?n:1-n)}function U(e,t,i,r){t<0&&(t=4294967295+t+1);for(var n=0,s=Math.min(e.length-i,4);n>>8*(r?n:3-n)&255}function j(e,t,i,r,n,s){if(i+r>e.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function F(e,t,i,r,n){return n||j(e,t,i,4,3.4028234663852886e38,-3.4028234663852886e38),J.write(e,t,i,r,23,4),i+4}function z(e,t,i,r,n){return n||j(e,t,i,8,1.7976931348623157e308,-1.7976931348623157e308),J.write(e,t,i,r,52,8),i+8}function q(e){if(e=H(e).replace(te,""),e.length<2)return"";for(;e.length%4!==0;)e+="=";return e}function H(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function G(e){return e<16?"0"+e.toString(16):e.toString(16)}function V(e,t){t=t||1/0;for(var i,r=e.length,n=null,s=[],a=0;a55295&&i<57344){if(!n){if(i>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&s.push(239,191,189);continue}n=i;continue}if(i<56320){(t-=3)>-1&&s.push(239,191,189),n=i;continue}i=(n-55296<<10|i-56320)+65536}else n&&(t-=3)>-1&&s.push(239,191,189);if(n=null,i<128){if((t-=1)<0)break;s.push(i)}else if(i<2048){if((t-=2)<0)break;s.push(i>>6|192,63&i|128)}else if(i<65536){if((t-=3)<0)break;s.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return s}function W(e){for(var t=[],i=0;i>8,n=i%256,s.push(n),s.push(r);return s}function Y(e){return X.toByteArray(q(e))}function Z(e,t,i,r){for(var n=0;n=t.length||n>=e.length);++n)t[n+i]=e[n];return n}function $(e){return e!==e}var X=i(150),J=i(200),Q=i(106);t.Buffer=e,t.SlowBuffer=m,t.INSPECT_MAX_BYTES=50,e.TYPED_ARRAY_SUPPORT=void 0!==r.TYPED_ARRAY_SUPPORT?r.TYPED_ARRAY_SUPPORT:n(),t.kMaxLength=s(),e.poolSize=8192,e._augment=function(t){return t.__proto__=e.prototype,t},e.from=function(e,t,i){return o(null,e,t,i)},e.TYPED_ARRAY_SUPPORT&&(e.prototype.__proto__=Uint8Array.prototype,e.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&e[Symbol.species]===e&&Object.defineProperty(e,Symbol.species,{value:null,configurable:!0})),e.alloc=function(e,t,i){return h(null,e,t,i)},e.allocUnsafe=function(e){return c(null,e)},e.allocUnsafeSlow=function(e){return c(null,e)},e.isBuffer=function(e){return!(null==e||!e._isBuffer)},e.compare=function(t,i){if(!e.isBuffer(t)||!e.isBuffer(i))throw new TypeError("Arguments must be Buffers");if(t===i)return 0;for(var r=t.length,n=i.length,s=0,a=Math.min(r,n);s0&&(e=this.toString("hex",0,i).match(/.{2}/g).join(" "),this.length>i&&(e+=" ... ")),""},e.prototype.compare=function(t,i,r,n,s){if(!e.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===i&&(i=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===s&&(s=this.length),i<0||r>t.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&i>=r)return 0;if(n>=s)return-1;if(i>=r)return 1;if(i>>>=0,r>>>=0,n>>>=0,s>>>=0,this===t)return 0;for(var a=s-n,o=r-i,f=Math.min(a,o),h=this.slice(n,s),c=t.slice(i,r),l=0;ln)&&(i=n),e.length>0&&(i<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var s=!1;;)switch(r){case"hex":return k(this,e,t,i);case"utf8":case"utf-8":return E(this,e,t,i);case"ascii":return A(this,e,t,i);case"latin1":case"binary":return S(this,e,t,i);case"base64":return M(this,e,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,i);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}},e.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var ee=4096;e.prototype.slice=function(t,i){var r=this.length;t=~~t,i=void 0===i?r:~~i,t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),i<0?(i+=r,i<0&&(i=0)):i>r&&(i=r),i0&&(n*=256);)r+=this[e+--t]*n;return r},e.prototype.readUInt8=function(e,t){return t||D(e,1,this.length),this[e]},e.prototype.readUInt16LE=function(e,t){return t||D(e,2,this.length),this[e]|this[e+1]<<8},e.prototype.readUInt16BE=function(e,t){return t||D(e,2,this.length),this[e]<<8|this[e+1]},e.prototype.readUInt32LE=function(e,t){return t||D(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},e.prototype.readUInt32BE=function(e,t){return t||D(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},e.prototype.readIntLE=function(e,t,i){e|=0,t|=0,i||D(e,t,this.length);for(var r=this[e],n=1,s=0;++s=n&&(r-=Math.pow(2,8*t)),r},e.prototype.readIntBE=function(e,t,i){e|=0,t|=0,i||D(e,t,this.length);for(var r=t,n=1,s=this[e+--r];r>0&&(n*=256);)s+=this[e+--r]*n;return n*=128,s>=n&&(s-=Math.pow(2,8*t)),s},e.prototype.readInt8=function(e,t){return t||D(e,1,this.length),128&this[e]?(255-this[e]+1)*-1:this[e]},e.prototype.readInt16LE=function(e,t){t||D(e,2,this.length);var i=this[e]|this[e+1]<<8;return 32768&i?4294901760|i:i},e.prototype.readInt16BE=function(e,t){t||D(e,2,this.length);var i=this[e+1]|this[e]<<8;return 32768&i?4294901760|i:i},e.prototype.readInt32LE=function(e,t){return t||D(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},e.prototype.readInt32BE=function(e,t){return t||D(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},e.prototype.readFloatLE=function(e,t){return t||D(e,4,this.length),J.read(this,e,!0,23,4)},e.prototype.readFloatBE=function(e,t){return t||D(e,4,this.length),J.read(this,e,!1,23,4)},e.prototype.readDoubleLE=function(e,t){return t||D(e,8,this.length),J.read(this,e,!0,52,8)},e.prototype.readDoubleBE=function(e,t){return t||D(e,8,this.length),J.read(this,e,!1,52,8)},e.prototype.writeUIntLE=function(e,t,i,r){if(e=+e,t|=0,i|=0,!r){var n=Math.pow(2,8*i)-1;L(this,e,t,i,n,0)}var s=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+s]=e/a&255;return t+i},e.prototype.writeUInt8=function(t,i,r){return t=+t,i|=0,r||L(this,t,i,1,255,0),e.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[i]=255&t,i+1},e.prototype.writeUInt16LE=function(t,i,r){return t=+t,i|=0,r||L(this,t,i,2,65535,0),e.TYPED_ARRAY_SUPPORT?(this[i]=255&t,this[i+1]=t>>>8):B(this,t,i,!0),i+2},e.prototype.writeUInt16BE=function(t,i,r){return t=+t,i|=0,r||L(this,t,i,2,65535,0),e.TYPED_ARRAY_SUPPORT?(this[i]=t>>>8,this[i+1]=255&t):B(this,t,i,!1),i+2},e.prototype.writeUInt32LE=function(t,i,r){return t=+t,i|=0,r||L(this,t,i,4,4294967295,0),e.TYPED_ARRAY_SUPPORT?(this[i+3]=t>>>24,this[i+2]=t>>>16,this[i+1]=t>>>8,this[i]=255&t):U(this,t,i,!0),i+4},e.prototype.writeUInt32BE=function(t,i,r){return t=+t,i|=0,r||L(this,t,i,4,4294967295,0),e.TYPED_ARRAY_SUPPORT?(this[i]=t>>>24,this[i+1]=t>>>16,this[i+2]=t>>>8,this[i+3]=255&t):U(this,t,i,!1),i+4},e.prototype.writeIntLE=function(e,t,i,r){if(e=+e,t|=0,!r){var n=Math.pow(2,8*i-1);L(this,e,t,i,n-1,-n)}var s=0,a=1,o=0;for(this[t]=255&e;++s>0)-o&255;return t+i},e.prototype.writeIntBE=function(e,t,i,r){if(e=+e,t|=0,!r){var n=Math.pow(2,8*i-1);L(this,e,t,i,n-1,-n)}var s=i-1,a=1,o=0;for(this[t+s]=255&e;--s>=0&&(a*=256);)e<0&&0===o&&0!==this[t+s+1]&&(o=1),this[t+s]=(e/a>>0)-o&255;return t+i},e.prototype.writeInt8=function(t,i,r){return t=+t,i|=0,r||L(this,t,i,1,127,-128),e.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[i]=255&t,i+1},e.prototype.writeInt16LE=function(t,i,r){return t=+t,i|=0,r||L(this,t,i,2,32767,-32768),e.TYPED_ARRAY_SUPPORT?(this[i]=255&t,this[i+1]=t>>>8):B(this,t,i,!0),i+2},e.prototype.writeInt16BE=function(t,i,r){return t=+t,i|=0,r||L(this,t,i,2,32767,-32768),e.TYPED_ARRAY_SUPPORT?(this[i]=t>>>8,this[i+1]=255&t):B(this,t,i,!1),i+2},e.prototype.writeInt32LE=function(t,i,r){return t=+t,i|=0,r||L(this,t,i,4,2147483647,-2147483648),e.TYPED_ARRAY_SUPPORT?(this[i]=255&t,this[i+1]=t>>>8,this[i+2]=t>>>16,this[i+3]=t>>>24):U(this,t,i,!0),i+4},e.prototype.writeInt32BE=function(t,i,r){return t=+t,i|=0,r||L(this,t,i,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),e.TYPED_ARRAY_SUPPORT?(this[i]=t>>>24,this[i+1]=t>>>16,this[i+2]=t>>>8,this[i+3]=255&t):U(this,t,i,!1),i+4},e.prototype.writeFloatLE=function(e,t,i){return F(this,e,t,!0,i)},e.prototype.writeFloatBE=function(e,t,i){return F(this,e,t,!1,i)},e.prototype.writeDoubleLE=function(e,t,i){return z(this,e,t,!0,i)},e.prototype.writeDoubleBE=function(e,t,i){return z(this,e,t,!1,i)},e.prototype.copy=function(t,i,r,n){if(r||(r=0),n||0===n||(n=this.length),i>=t.length&&(i=t.length),i||(i=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-i=0;--s)t[s+i]=this[s+r];else if(a<1e3||!e.TYPED_ARRAY_SUPPORT)for(s=0;s>>=0,r=void 0===r?this.length:r>>>0,t||(t=0);var a;if("number"==typeof t)for(a=i;a`${n}/invite/${e}`,inviteLink:e=>`https://discord.gg/${e}`,CDN:"https://cdn.discordapp.com",user:e=>`${n}/users/${e}`,userChannels:e=>`${s.user(e)}/channels`,userProfile:e=>`${s.user(e)}/profile`,avatar:(e,t)=>"1"===e?t:`${s.user(e)}/avatars/${t}.jpg`,me:`${n}/users/@me`,meGuild:e=>`${s.me}/guilds/${e}`,relationships:e=>`${s.user(e)}/relationships`,note:e=>`${s.me}/notes/${e}`,guilds:`${n}/guilds`,guild:e=>`${s.guilds}/${e}`,guildIcon:(e,t)=>`${s.guild(e)}/icons/${t}.jpg`,guildPrune:e=>`${s.guild(e)}/prune`,guildEmbed:e=>`${s.guild(e)}/embed`,guildInvites:e=>`${s.guild(e)}/invites`,guildRoles:e=>`${s.guild(e)}/roles`,guildRole:(e,t)=>`${s.guildRoles(e)}/${t}`,guildBans:e=>`${s.guild(e)}/bans`,guildIntegrations:e=>`${s.guild(e)}/integrations`,guildMembers:e=>`${s.guild(e)}/members`,guildMember:(e,t)=>`${s.guildMembers(e)}/${t}`,stupidInconsistentGuildEndpoint:e=>`${s.guildMember(e,"@me")}/nick`,guildChannels:e=>`${s.guild(e)}/channels`,guildEmojis:e=>`${s.guild(e)}/emojis`,channels:`${n}/channels`,channel:e=>`${s.channels}/${e}`,channelMessages:e=>`${s.channel(e)}/messages`,channelInvites:e=>`${s.channel(e)}/invites`,channelTyping:e=>`${s.channel(e)}/typing`,channelPermissions:e=>`${s.channel(e)}/permissions`,channelMessage:(e,t)=>`${s.channelMessages(e)}/${t}`,channelWebhooks:e=>`${s.channel(e)}/webhooks`,messageReactions:(e,t)=>`${s.channelMessage(e,t)}/reactions`,messageReaction:(e,t,i,r)=>`${s.messageReactions(e,t)}/${i}`+`${r?`?limit=${r}`:""}`,selfMessageReaction:(e,t,i,r)=>`${s.messageReaction(e,t,i,r)}/@me`,userMessageReaction:(e,t,i,r,n)=>`${s.messageReaction(e,t,i,r)}/${n}`,webhook:(e,t)=>`${n}/webhooks/${e}${t?`/${t}`:""}`,myApplication:`${n}/oauth2/applications/@me`,getApp:e=>`${n}/oauth2/authorize?client_id=${e}`};t.Status={READY:0,CONNECTING:1,RECONNECTING:2,IDLE:3,NEARLY:4},t.ChannelTypes={text:0,DM:1,voice:2,groupDM:3},t.OPCodes={DISPATCH:0,HEARTBEAT:1,IDENTIFY:2,STATUS_UPDATE:3,VOICE_STATE_UPDATE:4,VOICE_GUILD_PING:5,RESUME:6,RECONNECT:7,REQUEST_GUILD_MEMBERS:8,INVALID_SESSION:9,HELLO:10,HEARTBEAT_ACK:11},t.VoiceOPCodes={IDENTIFY:0,SELECT_PROTOCOL:1,READY:2,HEARTBEAT:3,SESSION_DESCRIPTION:4,SPEAKING:5},t.Events={READY:"ready",GUILD_CREATE:"guildCreate",GUILD_DELETE:"guildDelete",GUILD_UPDATE:"guildUpdate",GUILD_UNAVAILABLE:"guildUnavailable",GUILD_AVAILABLE:"guildAvailable",GUILD_MEMBER_ADD:"guildMemberAdd",GUILD_MEMBER_REMOVE:"guildMemberRemove",GUILD_MEMBER_UPDATE:"guildMemberUpdate",GUILD_MEMBER_AVAILABLE:"guildMemberAvailable",GUILD_MEMBER_SPEAKING:"guildMemberSpeaking",GUILD_MEMBERS_CHUNK:"guildMembersChunk",GUILD_ROLE_CREATE:"roleCreate",GUILD_ROLE_DELETE:"roleDelete",GUILD_ROLE_UPDATE:"roleUpdate",GUILD_EMOJI_CREATE:"guildEmojiCreate",GUILD_EMOJI_DELETE:"guildEmojiDelete",GUILD_EMOJI_UPDATE:"guildEmojiUpdate",GUILD_BAN_ADD:"guildBanAdd",GUILD_BAN_REMOVE:"guildBanRemove",CHANNEL_CREATE:"channelCreate",CHANNEL_DELETE:"channelDelete",CHANNEL_UPDATE:"channelUpdate",CHANNEL_PINS_UPDATE:"channelPinsUpdate",MESSAGE_CREATE:"message",MESSAGE_DELETE:"messageDelete",MESSAGE_UPDATE:"messageUpdate",MESSAGE_BULK_DELETE:"messageDeleteBulk",MESSAGE_REACTION_ADD:"messageReactionAdd",MESSAGE_REACTION_REMOVE:"messageReactionRemove",MESSAGE_REACTION_REMOVE_ALL:"messageReactionRemoveAll",USER_UPDATE:"userUpdate",USER_NOTE_UPDATE:"userNoteUpdate",PRESENCE_UPDATE:"presenceUpdate",VOICE_STATE_UPDATE:"voiceStateUpdate",TYPING_START:"typingStart",TYPING_STOP:"typingStop",DISCONNECT:"disconnect",RECONNECTING:"reconnecting",ERROR:"error",WARN:"warn",DEBUG:"debug"},t.WSEvents={READY:"READY",GUILD_SYNC:"GUILD_SYNC",GUILD_CREATE:"GUILD_CREATE",GUILD_DELETE:"GUILD_DELETE",GUILD_UPDATE:"GUILD_UPDATE",GUILD_MEMBER_ADD:"GUILD_MEMBER_ADD",GUILD_MEMBER_REMOVE:"GUILD_MEMBER_REMOVE",GUILD_MEMBER_UPDATE:"GUILD_MEMBER_UPDATE",GUILD_MEMBERS_CHUNK:"GUILD_MEMBERS_CHUNK",GUILD_ROLE_CREATE:"GUILD_ROLE_CREATE",GUILD_ROLE_DELETE:"GUILD_ROLE_DELETE",GUILD_ROLE_UPDATE:"GUILD_ROLE_UPDATE",GUILD_BAN_ADD:"GUILD_BAN_ADD",GUILD_BAN_REMOVE:"GUILD_BAN_REMOVE",CHANNEL_CREATE:"CHANNEL_CREATE",CHANNEL_DELETE:"CHANNEL_DELETE",CHANNEL_UPDATE:"CHANNEL_UPDATE",CHANNEL_PINS_UPDATE:"CHANNEL_PINS_UPDATE",MESSAGE_CREATE:"MESSAGE_CREATE",MESSAGE_DELETE:"MESSAGE_DELETE",MESSAGE_UPDATE:"MESSAGE_UPDATE",MESSAGE_DELETE_BULK:"MESSAGE_DELETE_BULK",MESSAGE_REACTION_ADD:"MESSAGE_REACTION_ADD",MESSAGE_REACTION_REMOVE:"MESSAGE_REACTION_REMOVE",MESSAGE_REACTION_REMOVE_ALL:"MESSAGE_REACTION_REMOVE_ALL",USER_UPDATE:"USER_UPDATE",USER_NOTE_UPDATE:"USER_NOTE_UPDATE",PRESENCE_UPDATE:"PRESENCE_UPDATE",VOICE_STATE_UPDATE:"VOICE_STATE_UPDATE",TYPING_START:"TYPING_START",FRIEND_ADD:"RELATIONSHIP_ADD",FRIEND_REMOVE:"RELATIONSHIP_REMOVE",VOICE_SERVER_UPDATE:"VOICE_SERVER_UPDATE",RELATIONSHIP_ADD:"RELATIONSHIP_ADD",RELATIONSHIP_REMOVE:"RELATIONSHIP_REMOVE"},t.MessageTypes={0:"DEFAULT",1:"RECIPIENT_ADD",2:"RECIPIENT_REMOVE",3:"CALL",4:"CHANNEL_NAME_CHANGE",5:"CHANNEL_ICON_CHANGE",6:"PINS_ADD"};const a=t.PermissionFlags={CREATE_INSTANT_INVITE:1,KICK_MEMBERS:2,BAN_MEMBERS:4,ADMINISTRATOR:8,MANAGE_CHANNELS:16,MANAGE_GUILD:32,ADD_REACTIONS:64,READ_MESSAGES:1024,SEND_MESSAGES:2048,SEND_TTS_MESSAGES:4096,MANAGE_MESSAGES:8192,EMBED_LINKS:16384,ATTACH_FILES:32768,READ_MESSAGE_HISTORY:65536,MENTION_EVERYONE:1<<17,EXTERNAL_EMOJIS:1<<18,CONNECT:1<<20,SPEAK:1<<21,MUTE_MEMBERS:1<<22,DEAFEN_MEMBERS:1<<23,MOVE_MEMBERS:1<<24,USE_VAD:1<<25,CHANGE_NICKNAME:1<<26,MANAGE_NICKNAMES:1<<27,MANAGE_ROLES_OR_PERMISSIONS:1<<28,MANAGE_WEBHOOKS:1<<29,MANAGE_EMOJIS:1<<30};let o=0;for(const f in a)o|=a[f];t.ALL_PERMISSIONS=o,t.DEFAULT_PERMISSIONS=104324097}).call(t,i(8))},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}},function(e,t){class i{constructor(e){this.packetManager=e}handle(e){return e}}e.exports=i},function(e,t){class i{constructor(e){this.client=e}handle(e){return e}}e.exports=i},function(e,t){function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function n(e){return"number"==typeof e}function s(e){return"object"==typeof e&&null!==e}function a(e){return void 0===e}e.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(e){if(!n(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},i.prototype.emit=function(e){var t,i,n,o,f,h;if(this._events||(this._events={}),"error"===e&&(!this._events.error||s(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}if(i=this._events[e],a(i))return!1;if(r(i))switch(arguments.length){case 1:i.call(this);break;case 2:i.call(this,arguments[1]);break;case 3:i.call(this,arguments[1],arguments[2]);break;default:o=Array.prototype.slice.call(arguments,1),i.apply(this,o)}else if(s(i))for(o=Array.prototype.slice.call(arguments,1),h=i.slice(),n=h.length,f=0;f0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(e,t){function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}if(!r(t))throw TypeError("listener must be a function");var n=!1;return i.listener=t,this.on(e,i),this},i.prototype.removeListener=function(e,t){var i,n,a,o;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(i=this._events[e],a=i.length,n=-1,i===t||r(i.listener)&&i.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(i)){for(o=a;o-- >0;)if(i[o]===t||i[o].listener&&i[o].listener===t){n=o;break}if(n<0)return this;1===i.length?(i.length=0,delete this._events[e]):i.splice(n,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},i.prototype.removeAllListeners=function(e){var t,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(i=this._events[e],r(i))this.removeListener(e,i);else if(i)for(;i.length;)this.removeListener(e,i[i.length-1]);return delete this._events[e],this},i.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},i.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},i.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t){class i extends Map{constructor(e){super(e),this._array=null,this._keyArray=null}set(e,t){super.set(e,t),this._array=null,this._keyArray=null}delete(e){super.delete(e),this._array=null,this._keyArray=null}array(){return this._array&&this._array.length===this.size||(this._array=Array.from(this.values())),this._array}keyArray(){return this._keyArray&&this._keyArray.length===this.size||(this._keyArray=Array.from(this.keys())),this._keyArray}first(){return this.values().next().value}firstKey(){return this.keys().next().value}last(){const e=this.array();return e[e.length-1]}lastKey(){const e=this.keyArray();return e[e.length-1]}random(){const e=this.array();return e[Math.floor(Math.random()*e.length)]; -}randomKey(){const e=this.keyArray();return e[Math.floor(Math.random()*e.length)]}findAll(e,t){if("string"!=typeof e)throw new TypeError("Key must be a string.");if("undefined"==typeof t)throw new Error("Value must be specified.");const i=[];for(const r of this.values())r[e]===t&&i.push(r);return i}find(e,t){if("string"==typeof e){if("undefined"==typeof t)throw new Error("Value must be specified.");if("id"===e)throw new RangeError("Don't use .find() with IDs. Instead, use .get(id).");for(const i of this.values())if(i[e]===t)return i;return null}if("function"==typeof e){for(const[t,i]of this)if(e(i,t,this))return i;return null}throw new Error("First argument must be a property string or a function.")}findKey(e,t){if("string"==typeof e){if("undefined"==typeof t)throw new Error("Value must be specified.");for(const[i,r]of this)if(r[e]===t)return i;return null}if("function"==typeof e){for(const[t,i]of this)if(e(i,t,this))return t;return null}throw new Error("First argument must be a property string or a function.")}exists(e,t){if("id"===e)throw new RangeError("Don't use .exists() with IDs. Instead, use .has(id).");return Boolean(this.find(e,t))}filter(e,t){t&&(e=e.bind(t));const r=new i;for(const[n,s]of this)e(s,n,this)&&r.set(n,s);return r}filterArray(e,t){t&&(e=e.bind(t));const i=[];for(const[r,n]of this)e(n,r,this)&&i.push(n);return i}map(e,t){t&&(e=e.bind(t));const i=new Array(this.size);let r=0;for(const[n,s]of this)i[r++]=e(s,n,this);return i}some(e,t){t&&(e=e.bind(t));for(const[i,r]of this)if(e(r,i,this))return!0;return!1}every(e,t){t&&(e=e.bind(t));for(const[i,r]of this)if(!e(r,i,this))return!1;return!0}reduce(e,t){let i=t;for(const[r,n]of this)i=e(i,n,r,this);return i}concat(...e){const t=new this.constructor;for(const[i,r]of this)t.set(i,r);for(const n of e)for(const[i,r]of n)t.set(i,r);return t}deleteAll(){const e=[];for(const t of this.values())t.delete&&e.push(t.delete());return e}}e.exports=i},function(e,t,i){(function(e){!function(e,t){"use strict";function r(e,t){if(!e)throw new Error(t||"Assertion failed")}function n(e,t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}function s(e,t,i){return s.isBN(e)?e:(this.negative=0,this.words=null,this.length=0,this.red=null,void(null!==e&&("le"!==t&&"be"!==t||(i=t,t=10),this._init(e||0,t||10,i||"be"))))}function a(e,t,i){for(var r=0,n=Math.min(e.length,i),s=t;s=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return r}function o(e,t,i,r){for(var n=0,s=Math.min(e.length,i),a=t;a=49?o-49+10:o>=17?o-17+10:o}return n}function f(e){for(var t=new Array(e.bitLength()),i=0;i>>n}return t}function h(e,t,i){i.negative=t.negative^e.negative;var r=e.length+t.length|0;i.length=r,r=r-1|0;var n=0|e.words[0],s=0|t.words[0],a=n*s,o=67108863&a,f=a/67108864|0;i.words[0]=o;for(var h=1;h>>26,l=67108863&f,u=Math.min(h,t.length-1),d=Math.max(0,h-e.length+1);d<=u;d++){var p=h-d|0;n=0|e.words[p],s=0|t.words[d],a=n*s+l,c+=a/67108864|0,l=67108863&a}i.words[h]=0|l,f=0|c}return 0!==f?i.words[h]=0|f:i.length--,i.strip()}function c(e,t,i){i.negative=t.negative^e.negative,i.length=e.length+t.length;for(var r=0,n=0,s=0;s>>26)|0,n+=a>>>26,a&=67108863}i.words[s]=o,r=a,a=n}return 0!==r?i.words[s]=r:i.length--,i.strip()}function l(e,t,i){var r=new u;return r.mulp(e,t,i)}function u(e,t){this.x=e,this.y=t}function d(e,t){this.name=e,this.p=new s(t,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function p(){d.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){d.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function m(){d.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){d.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function g(e){if("string"==typeof e){var t=s._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function v(e){g.call(this,e),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}"object"==typeof e?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;var _;try{_=i(0).Buffer}catch(e){}s.isBN=function(e){return e instanceof s||null!==e&&"object"==typeof e&&e.constructor.wordSize===s.wordSize&&Array.isArray(e.words)},s.max=function(e,t){return e.cmp(t)>0?e:t},s.min=function(e,t){return e.cmp(t)<0?e:t},s.prototype._init=function(e,t,i){if("number"==typeof e)return this._initNumber(e,t,i);if("object"==typeof e)return this._initArray(e,t,i);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36),e=e.toString().replace(/\s+/g,"");var n=0;"-"===e[0]&&n++,16===t?this._parseHex(e,n):this._parseBase(e,t,n),"-"===e[0]&&(this.negative=1),this.strip(),"le"===i&&this._initArray(this.toArray(),t,i)},s.prototype._initNumber=function(e,t,i){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),t,i)},s.prototype._initArray=function(e,t,i){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=e[n]|e[n-1]<<8|e[n-2]<<16,this.words[s]|=a<>>26-o&67108863,o+=24,o>=26&&(o-=26,s++);else if("le"===i)for(n=0,s=0;n>>26-o&67108863,o+=24,o>=26&&(o-=26,s++);return this.strip()},s.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var i=0;i=t;i-=6)n=a(e,i,i+6),this.words[r]|=n<>>26-s&4194303,s+=24,s>=26&&(s-=26,r++);i+6!==t&&(n=a(e,t,i+6),this.words[r]|=n<>>26-s&4194303),this.strip()},s.prototype._parseBase=function(e,t,i){this.words=[0],this.length=1;for(var r=0,n=1;n<=67108863;n*=t)r++;r--,n=n/t|0;for(var s=e.length-i,a=s%r,f=Math.min(s,s-a)+i,h=0,c=i;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var y=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],k=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],E=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(e,t){e=e||10,t=0|t||1;var i;if(16===e||"hex"===e){i="";for(var n=0,s=0,a=0;a>>24-n&16777215,i=0!==s||a!==this.length-1?y[6-f.length]+f+i:f+i,n+=2,n>=26&&(n-=26,a--)}for(0!==s&&(i=s.toString(16)+i);i.length%t!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(e===(0|e)&&e>=2&&e<=36){var h=k[e],c=E[e];i="";var l=this.clone();for(l.negative=0;!l.isZero();){var u=l.modn(c).toString(e);l=l.idivn(c),i=l.isZero()?u+i:y[h-u.length]+u+i}for(this.isZero()&&(i="0"+i);i.length%t!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(e,t){return r("undefined"!=typeof _),this.toArrayLike(_,e,t)},s.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},s.prototype.toArrayLike=function(e,t,i){var n=this.byteLength(),s=i||Math.max(1,n);r(n<=s,"byte array longer than desired length"),r(s>0,"Requested array length <= 0"),this.strip();var a,o,f="le"===t,h=new e(s),c=this.clone();if(f){for(o=0;!c.isZero();o++)a=c.andln(255),c.iushrn(8),h[o]=a;for(;o=4096&&(i+=13,t>>>=13),t>=64&&(i+=7,t>>>=7),t>=8&&(i+=4,t>>>=4),t>=2&&(i+=2,t>>>=2),i+t},s.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,i=0;return 0===(8191&t)&&(i+=13,t>>>=13),0===(127&t)&&(i+=7,t>>>=7),0===(15&t)&&(i+=4,t>>>=4),0===(3&t)&&(i+=2,t>>>=2),0===(1&t)&&i++,i},s.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},s.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},s.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var i=0;ie.length?this.clone().iand(e):e.clone().iand(this)},s.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},s.prototype.iuxor=function(e){var t,i;this.length>e.length?(t=this,i=e):(t=e,i=this);for(var r=0;re.length?this.clone().ixor(e):e.clone().ixor(this)},s.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},s.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),i=e%26;this._expand(t),i>0&&t--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},s.prototype.notn=function(e){return this.clone().inotn(e)},s.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var i=e/26|0,n=e%26;return this._expand(i+1),t?this.words[i]=this.words[i]|1<e.length?(i=this,r=e):(i=e,r=this);for(var n=0,s=0;s>>26;for(;0!==n&&s>>26;if(this.length=i.length,0!==n)this.words[this.length]=n,this.length++;else if(i!==this)for(;se.length?this.clone().iadd(e):e.clone().iadd(this)},s.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;var r,n;i>0?(r=this,n=e):(r=e,n=this);for(var s=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==s&&a>26,this.words[a]=67108863&t;if(0===s&&a>>13,d=0|a[1],p=8191&d,b=d>>>13,m=0|a[2],w=8191&m,g=m>>>13,v=0|a[3],_=8191&v,y=v>>>13,k=0|a[4],E=8191&k,A=k>>>13,S=0|a[5],M=8191&S,T=S>>>13,x=0|a[6],R=8191&x,I=x>>>13,C=0|a[7],P=8191&C,O=C>>>13,N=0|a[8],D=8191&N,L=N>>>13,B=0|a[9],U=8191&B,j=B>>>13,F=0|o[0],z=8191&F,q=F>>>13,H=0|o[1],G=8191&H,V=H>>>13,W=0|o[2],K=8191&W,Y=W>>>13,Z=0|o[3],$=8191&Z,X=Z>>>13,J=0|o[4],Q=8191&J,ee=J>>>13,te=0|o[5],ie=8191&te,re=te>>>13,ne=0|o[6],se=8191&ne,ae=ne>>>13,oe=0|o[7],fe=8191&oe,he=oe>>>13,ce=0|o[8],le=8191&ce,ue=ce>>>13,de=0|o[9],pe=8191&de,be=de>>>13;i.negative=e.negative^t.negative,i.length=19,r=Math.imul(l,z),n=Math.imul(l,q),n=n+Math.imul(u,z)|0,s=Math.imul(u,q);var me=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(me>>>26)|0,me&=67108863,r=Math.imul(p,z),n=Math.imul(p,q),n=n+Math.imul(b,z)|0,s=Math.imul(b,q),r=r+Math.imul(l,G)|0,n=n+Math.imul(l,V)|0,n=n+Math.imul(u,G)|0,s=s+Math.imul(u,V)|0;var we=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(we>>>26)|0,we&=67108863,r=Math.imul(w,z),n=Math.imul(w,q),n=n+Math.imul(g,z)|0,s=Math.imul(g,q),r=r+Math.imul(p,G)|0,n=n+Math.imul(p,V)|0,n=n+Math.imul(b,G)|0,s=s+Math.imul(b,V)|0,r=r+Math.imul(l,K)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(u,K)|0,s=s+Math.imul(u,Y)|0;var ge=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(ge>>>26)|0,ge&=67108863,r=Math.imul(_,z),n=Math.imul(_,q),n=n+Math.imul(y,z)|0,s=Math.imul(y,q),r=r+Math.imul(w,G)|0,n=n+Math.imul(w,V)|0,n=n+Math.imul(g,G)|0,s=s+Math.imul(g,V)|0,r=r+Math.imul(p,K)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(b,K)|0,s=s+Math.imul(b,Y)|0,r=r+Math.imul(l,$)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(u,$)|0,s=s+Math.imul(u,X)|0;var ve=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(ve>>>26)|0,ve&=67108863,r=Math.imul(E,z),n=Math.imul(E,q),n=n+Math.imul(A,z)|0,s=Math.imul(A,q),r=r+Math.imul(_,G)|0,n=n+Math.imul(_,V)|0,n=n+Math.imul(y,G)|0,s=s+Math.imul(y,V)|0,r=r+Math.imul(w,K)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(g,K)|0,s=s+Math.imul(g,Y)|0,r=r+Math.imul(p,$)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(b,$)|0,s=s+Math.imul(b,X)|0,r=r+Math.imul(l,Q)|0,n=n+Math.imul(l,ee)|0,n=n+Math.imul(u,Q)|0,s=s+Math.imul(u,ee)|0;var _e=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(_e>>>26)|0,_e&=67108863,r=Math.imul(M,z),n=Math.imul(M,q),n=n+Math.imul(T,z)|0,s=Math.imul(T,q),r=r+Math.imul(E,G)|0,n=n+Math.imul(E,V)|0,n=n+Math.imul(A,G)|0,s=s+Math.imul(A,V)|0,r=r+Math.imul(_,K)|0,n=n+Math.imul(_,Y)|0,n=n+Math.imul(y,K)|0,s=s+Math.imul(y,Y)|0,r=r+Math.imul(w,$)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(g,$)|0,s=s+Math.imul(g,X)|0,r=r+Math.imul(p,Q)|0,n=n+Math.imul(p,ee)|0,n=n+Math.imul(b,Q)|0,s=s+Math.imul(b,ee)|0,r=r+Math.imul(l,ie)|0,n=n+Math.imul(l,re)|0,n=n+Math.imul(u,ie)|0,s=s+Math.imul(u,re)|0;var ye=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(ye>>>26)|0,ye&=67108863,r=Math.imul(R,z),n=Math.imul(R,q),n=n+Math.imul(I,z)|0,s=Math.imul(I,q),r=r+Math.imul(M,G)|0,n=n+Math.imul(M,V)|0,n=n+Math.imul(T,G)|0,s=s+Math.imul(T,V)|0,r=r+Math.imul(E,K)|0,n=n+Math.imul(E,Y)|0,n=n+Math.imul(A,K)|0,s=s+Math.imul(A,Y)|0,r=r+Math.imul(_,$)|0,n=n+Math.imul(_,X)|0,n=n+Math.imul(y,$)|0,s=s+Math.imul(y,X)|0,r=r+Math.imul(w,Q)|0,n=n+Math.imul(w,ee)|0,n=n+Math.imul(g,Q)|0,s=s+Math.imul(g,ee)|0,r=r+Math.imul(p,ie)|0,n=n+Math.imul(p,re)|0,n=n+Math.imul(b,ie)|0,s=s+Math.imul(b,re)|0,r=r+Math.imul(l,se)|0,n=n+Math.imul(l,ae)|0,n=n+Math.imul(u,se)|0,s=s+Math.imul(u,ae)|0;var ke=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(ke>>>26)|0,ke&=67108863,r=Math.imul(P,z),n=Math.imul(P,q),n=n+Math.imul(O,z)|0,s=Math.imul(O,q),r=r+Math.imul(R,G)|0,n=n+Math.imul(R,V)|0,n=n+Math.imul(I,G)|0,s=s+Math.imul(I,V)|0,r=r+Math.imul(M,K)|0,n=n+Math.imul(M,Y)|0,n=n+Math.imul(T,K)|0,s=s+Math.imul(T,Y)|0,r=r+Math.imul(E,$)|0,n=n+Math.imul(E,X)|0,n=n+Math.imul(A,$)|0,s=s+Math.imul(A,X)|0,r=r+Math.imul(_,Q)|0,n=n+Math.imul(_,ee)|0,n=n+Math.imul(y,Q)|0,s=s+Math.imul(y,ee)|0,r=r+Math.imul(w,ie)|0,n=n+Math.imul(w,re)|0,n=n+Math.imul(g,ie)|0,s=s+Math.imul(g,re)|0,r=r+Math.imul(p,se)|0,n=n+Math.imul(p,ae)|0,n=n+Math.imul(b,se)|0,s=s+Math.imul(b,ae)|0,r=r+Math.imul(l,fe)|0,n=n+Math.imul(l,he)|0,n=n+Math.imul(u,fe)|0,s=s+Math.imul(u,he)|0;var Ee=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,r=Math.imul(D,z),n=Math.imul(D,q),n=n+Math.imul(L,z)|0,s=Math.imul(L,q),r=r+Math.imul(P,G)|0,n=n+Math.imul(P,V)|0,n=n+Math.imul(O,G)|0,s=s+Math.imul(O,V)|0,r=r+Math.imul(R,K)|0,n=n+Math.imul(R,Y)|0,n=n+Math.imul(I,K)|0,s=s+Math.imul(I,Y)|0,r=r+Math.imul(M,$)|0,n=n+Math.imul(M,X)|0,n=n+Math.imul(T,$)|0,s=s+Math.imul(T,X)|0,r=r+Math.imul(E,Q)|0,n=n+Math.imul(E,ee)|0,n=n+Math.imul(A,Q)|0,s=s+Math.imul(A,ee)|0,r=r+Math.imul(_,ie)|0,n=n+Math.imul(_,re)|0,n=n+Math.imul(y,ie)|0,s=s+Math.imul(y,re)|0,r=r+Math.imul(w,se)|0,n=n+Math.imul(w,ae)|0,n=n+Math.imul(g,se)|0,s=s+Math.imul(g,ae)|0,r=r+Math.imul(p,fe)|0,n=n+Math.imul(p,he)|0,n=n+Math.imul(b,fe)|0,s=s+Math.imul(b,he)|0,r=r+Math.imul(l,le)|0,n=n+Math.imul(l,ue)|0,n=n+Math.imul(u,le)|0,s=s+Math.imul(u,ue)|0;var Ae=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,r=Math.imul(U,z),n=Math.imul(U,q),n=n+Math.imul(j,z)|0,s=Math.imul(j,q),r=r+Math.imul(D,G)|0,n=n+Math.imul(D,V)|0,n=n+Math.imul(L,G)|0,s=s+Math.imul(L,V)|0,r=r+Math.imul(P,K)|0,n=n+Math.imul(P,Y)|0,n=n+Math.imul(O,K)|0,s=s+Math.imul(O,Y)|0,r=r+Math.imul(R,$)|0,n=n+Math.imul(R,X)|0,n=n+Math.imul(I,$)|0,s=s+Math.imul(I,X)|0,r=r+Math.imul(M,Q)|0,n=n+Math.imul(M,ee)|0,n=n+Math.imul(T,Q)|0,s=s+Math.imul(T,ee)|0,r=r+Math.imul(E,ie)|0,n=n+Math.imul(E,re)|0,n=n+Math.imul(A,ie)|0,s=s+Math.imul(A,re)|0,r=r+Math.imul(_,se)|0,n=n+Math.imul(_,ae)|0,n=n+Math.imul(y,se)|0,s=s+Math.imul(y,ae)|0,r=r+Math.imul(w,fe)|0,n=n+Math.imul(w,he)|0,n=n+Math.imul(g,fe)|0,s=s+Math.imul(g,he)|0,r=r+Math.imul(p,le)|0,n=n+Math.imul(p,ue)|0,n=n+Math.imul(b,le)|0,s=s+Math.imul(b,ue)|0,r=r+Math.imul(l,pe)|0,n=n+Math.imul(l,be)|0,n=n+Math.imul(u,pe)|0,s=s+Math.imul(u,be)|0;var Se=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(Se>>>26)|0,Se&=67108863,r=Math.imul(U,G),n=Math.imul(U,V),n=n+Math.imul(j,G)|0,s=Math.imul(j,V),r=r+Math.imul(D,K)|0,n=n+Math.imul(D,Y)|0,n=n+Math.imul(L,K)|0,s=s+Math.imul(L,Y)|0,r=r+Math.imul(P,$)|0,n=n+Math.imul(P,X)|0,n=n+Math.imul(O,$)|0,s=s+Math.imul(O,X)|0,r=r+Math.imul(R,Q)|0,n=n+Math.imul(R,ee)|0,n=n+Math.imul(I,Q)|0,s=s+Math.imul(I,ee)|0,r=r+Math.imul(M,ie)|0,n=n+Math.imul(M,re)|0,n=n+Math.imul(T,ie)|0,s=s+Math.imul(T,re)|0,r=r+Math.imul(E,se)|0,n=n+Math.imul(E,ae)|0,n=n+Math.imul(A,se)|0,s=s+Math.imul(A,ae)|0,r=r+Math.imul(_,fe)|0,n=n+Math.imul(_,he)|0,n=n+Math.imul(y,fe)|0,s=s+Math.imul(y,he)|0,r=r+Math.imul(w,le)|0,n=n+Math.imul(w,ue)|0,n=n+Math.imul(g,le)|0,s=s+Math.imul(g,ue)|0,r=r+Math.imul(p,pe)|0,n=n+Math.imul(p,be)|0,n=n+Math.imul(b,pe)|0,s=s+Math.imul(b,be)|0;var Me=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(Me>>>26)|0,Me&=67108863,r=Math.imul(U,K),n=Math.imul(U,Y),n=n+Math.imul(j,K)|0,s=Math.imul(j,Y),r=r+Math.imul(D,$)|0,n=n+Math.imul(D,X)|0,n=n+Math.imul(L,$)|0,s=s+Math.imul(L,X)|0,r=r+Math.imul(P,Q)|0,n=n+Math.imul(P,ee)|0,n=n+Math.imul(O,Q)|0,s=s+Math.imul(O,ee)|0,r=r+Math.imul(R,ie)|0,n=n+Math.imul(R,re)|0,n=n+Math.imul(I,ie)|0,s=s+Math.imul(I,re)|0,r=r+Math.imul(M,se)|0,n=n+Math.imul(M,ae)|0,n=n+Math.imul(T,se)|0,s=s+Math.imul(T,ae)|0,r=r+Math.imul(E,fe)|0,n=n+Math.imul(E,he)|0,n=n+Math.imul(A,fe)|0,s=s+Math.imul(A,he)|0,r=r+Math.imul(_,le)|0,n=n+Math.imul(_,ue)|0,n=n+Math.imul(y,le)|0,s=s+Math.imul(y,ue)|0,r=r+Math.imul(w,pe)|0,n=n+Math.imul(w,be)|0,n=n+Math.imul(g,pe)|0,s=s+Math.imul(g,be)|0;var Te=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(Te>>>26)|0,Te&=67108863,r=Math.imul(U,$),n=Math.imul(U,X),n=n+Math.imul(j,$)|0,s=Math.imul(j,X),r=r+Math.imul(D,Q)|0,n=n+Math.imul(D,ee)|0,n=n+Math.imul(L,Q)|0,s=s+Math.imul(L,ee)|0,r=r+Math.imul(P,ie)|0,n=n+Math.imul(P,re)|0,n=n+Math.imul(O,ie)|0,s=s+Math.imul(O,re)|0,r=r+Math.imul(R,se)|0,n=n+Math.imul(R,ae)|0,n=n+Math.imul(I,se)|0,s=s+Math.imul(I,ae)|0,r=r+Math.imul(M,fe)|0,n=n+Math.imul(M,he)|0,n=n+Math.imul(T,fe)|0,s=s+Math.imul(T,he)|0,r=r+Math.imul(E,le)|0,n=n+Math.imul(E,ue)|0,n=n+Math.imul(A,le)|0,s=s+Math.imul(A,ue)|0,r=r+Math.imul(_,pe)|0,n=n+Math.imul(_,be)|0,n=n+Math.imul(y,pe)|0,s=s+Math.imul(y,be)|0;var xe=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(xe>>>26)|0,xe&=67108863,r=Math.imul(U,Q),n=Math.imul(U,ee),n=n+Math.imul(j,Q)|0,s=Math.imul(j,ee),r=r+Math.imul(D,ie)|0,n=n+Math.imul(D,re)|0,n=n+Math.imul(L,ie)|0,s=s+Math.imul(L,re)|0,r=r+Math.imul(P,se)|0,n=n+Math.imul(P,ae)|0,n=n+Math.imul(O,se)|0,s=s+Math.imul(O,ae)|0,r=r+Math.imul(R,fe)|0,n=n+Math.imul(R,he)|0,n=n+Math.imul(I,fe)|0,s=s+Math.imul(I,he)|0,r=r+Math.imul(M,le)|0,n=n+Math.imul(M,ue)|0,n=n+Math.imul(T,le)|0,s=s+Math.imul(T,ue)|0,r=r+Math.imul(E,pe)|0,n=n+Math.imul(E,be)|0,n=n+Math.imul(A,pe)|0,s=s+Math.imul(A,be)|0;var Re=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(Re>>>26)|0,Re&=67108863,r=Math.imul(U,ie),n=Math.imul(U,re),n=n+Math.imul(j,ie)|0,s=Math.imul(j,re),r=r+Math.imul(D,se)|0,n=n+Math.imul(D,ae)|0,n=n+Math.imul(L,se)|0,s=s+Math.imul(L,ae)|0,r=r+Math.imul(P,fe)|0,n=n+Math.imul(P,he)|0,n=n+Math.imul(O,fe)|0,s=s+Math.imul(O,he)|0,r=r+Math.imul(R,le)|0,n=n+Math.imul(R,ue)|0,n=n+Math.imul(I,le)|0,s=s+Math.imul(I,ue)|0,r=r+Math.imul(M,pe)|0,n=n+Math.imul(M,be)|0,n=n+Math.imul(T,pe)|0,s=s+Math.imul(T,be)|0;var Ie=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,r=Math.imul(U,se),n=Math.imul(U,ae),n=n+Math.imul(j,se)|0,s=Math.imul(j,ae),r=r+Math.imul(D,fe)|0,n=n+Math.imul(D,he)|0,n=n+Math.imul(L,fe)|0,s=s+Math.imul(L,he)|0,r=r+Math.imul(P,le)|0,n=n+Math.imul(P,ue)|0,n=n+Math.imul(O,le)|0,s=s+Math.imul(O,ue)|0,r=r+Math.imul(R,pe)|0,n=n+Math.imul(R,be)|0,n=n+Math.imul(I,pe)|0,s=s+Math.imul(I,be)|0;var Ce=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,r=Math.imul(U,fe),n=Math.imul(U,he),n=n+Math.imul(j,fe)|0,s=Math.imul(j,he),r=r+Math.imul(D,le)|0,n=n+Math.imul(D,ue)|0,n=n+Math.imul(L,le)|0,s=s+Math.imul(L,ue)|0,r=r+Math.imul(P,pe)|0,n=n+Math.imul(P,be)|0,n=n+Math.imul(O,pe)|0,s=s+Math.imul(O,be)|0;var Pe=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,r=Math.imul(U,le),n=Math.imul(U,ue),n=n+Math.imul(j,le)|0,s=Math.imul(j,ue),r=r+Math.imul(D,pe)|0,n=n+Math.imul(D,be)|0,n=n+Math.imul(L,pe)|0,s=s+Math.imul(L,be)|0;var Oe=(h+r|0)+((8191&n)<<13)|0;h=(s+(n>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,r=Math.imul(U,pe),n=Math.imul(U,be),n=n+Math.imul(j,pe)|0,s=Math.imul(j,be);var Ne=(h+r|0)+((8191&n)<<13)|0;return h=(s+(n>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,f[0]=me,f[1]=we,f[2]=ge,f[3]=ve,f[4]=_e,f[5]=ye,f[6]=ke,f[7]=Ee,f[8]=Ae,f[9]=Se,f[10]=Me,f[11]=Te,f[12]=xe,f[13]=Re,f[14]=Ie,f[15]=Ce,f[16]=Pe,f[17]=Oe,f[18]=Ne,0!==h&&(f[19]=h,i.length++),i};Math.imul||(A=h),s.prototype.mulTo=function(e,t){var i,r=this.length+e.length;return i=10===this.length&&10===e.length?A(this,e,t):r<63?h(this,e,t):r<1024?c(this,e,t):l(this,e,t)},u.prototype.makeRBT=function(e){for(var t=new Array(e),i=s.prototype._countBits(e)-1,r=0;r>=1;return r},u.prototype.permute=function(e,t,i,r,n,s){for(var a=0;a>>=1)n++;return 1<>>=13,i[2*a+1]=8191&s,s>>>=13;for(a=2*t;a>=26,t+=n/67108864|0,t+=s>>>26,this.words[i]=67108863&s}return 0!==t&&(this.words[i]=t,this.length++),this},s.prototype.muln=function(e){return this.clone().imuln(e)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(e){var t=f(e);if(0===t.length)return new s(1);for(var i=this,r=0;r=0);var t,i=e%26,n=(e-i)/26,s=67108863>>>26-i<<26-i;if(0!==i){var a=0;for(t=0;t>>26-i}a&&(this.words[t]=a,this.length++)}if(0!==n){for(t=this.length-1;t>=0;t--)this.words[t+n]=this.words[t];for(t=0;t=0);var n;n=t?(t-t%26)/26:0;var s=e%26,a=Math.min((e-s)/26,this.length),o=67108863^67108863>>>s<a)for(this.length-=a,h=0;h=0&&(0!==c||h>=n);h--){var l=0|this.words[h];this.words[h]=c<<26-s|l>>>s,c=l&o}return f&&0!==c&&(f.words[f.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(e,t,i){return r(0===this.negative),this.iushrn(e,t,i)},s.prototype.shln=function(e){return this.clone().ishln(e)},s.prototype.ushln=function(e){return this.clone().iushln(e)},s.prototype.shrn=function(e){return this.clone().ishrn(e)},s.prototype.ushrn=function(e){return this.clone().iushrn(e)},s.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,i=(e-t)/26,n=1<=0);var t=e%26,i=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==t&&i++,this.length=Math.min(i,this.length),0!==t){var n=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},s.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(f/67108864|0),this.words[n+i]=67108863&a}for(;n>26,this.words[n+i]=67108863&a;if(0===o)return this.strip();for(r(o===-1),o=0, -n=0;n>26,this.words[n]=67108863&a;return this.negative=1,this.strip()},s.prototype._wordDiv=function(e,t){var i=this.length-e.length,r=this.clone(),n=e,a=0|n.words[n.length-1],o=this._countBits(a);i=26-o,0!==i&&(n=n.ushln(i),r.iushln(i),a=0|n.words[n.length-1]);var f,h=r.length-n.length;if("mod"!==t){f=new s(null),f.length=h+1,f.words=new Array(f.length);for(var c=0;c=0;u--){var d=67108864*(0|r.words[n.length+u])+(0|r.words[n.length+u-1]);for(d=Math.min(d/a|0,67108863),r._ishlnsubmul(n,d,u);0!==r.negative;)d--,r.negative=0,r._ishlnsubmul(n,1,u),r.isZero()||(r.negative^=1);f&&(f.words[u]=d)}return f&&f.strip(),r.strip(),"div"!==t&&0!==i&&r.iushrn(i),{div:f||null,mod:r}},s.prototype.divmod=function(e,t,i){if(r(!e.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var n,a,o;return 0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(n=o.div.neg()),"div"!==t&&(a=o.mod.neg(),i&&0!==a.negative&&a.iadd(e)),{div:n,mod:a}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(n=o.div.neg()),{div:n,mod:o.mod}):0!==(this.negative&e.negative)?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(a=o.mod.neg(),i&&0!==a.negative&&a.isub(e)),{div:o.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new s(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new s(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new s(this.modn(e.words[0]))}:this._wordDiv(e,t)},s.prototype.div=function(e){return this.divmod(e,"div",!1).div},s.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},s.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},s.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var i=0!==t.div.negative?t.mod.isub(e):t.mod,r=e.ushrn(1),n=e.andln(1),s=i.cmp(r);return s<0||1===n&&0===s?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},s.prototype.modn=function(e){r(e<=67108863);for(var t=(1<<26)%e,i=0,n=this.length-1;n>=0;n--)i=(t*i+(0|this.words[n]))%e;return i},s.prototype.idivn=function(e){r(e<=67108863);for(var t=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*t;this.words[i]=n/e|0,t=n%e}return this.strip()},s.prototype.divn=function(e){return this.clone().idivn(e)},s.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,i=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n=new s(1),a=new s(0),o=new s(0),f=new s(1),h=0;t.isEven()&&i.isEven();)t.iushrn(1),i.iushrn(1),++h;for(var c=i.clone(),l=t.clone();!t.isZero();){for(var u=0,d=1;0===(t.words[0]&d)&&u<26;++u,d<<=1);if(u>0)for(t.iushrn(u);u-- >0;)(n.isOdd()||a.isOdd())&&(n.iadd(c),a.isub(l)),n.iushrn(1),a.iushrn(1);for(var p=0,b=1;0===(i.words[0]&b)&&p<26;++p,b<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(o.isOdd()||f.isOdd())&&(o.iadd(c),f.isub(l)),o.iushrn(1),f.iushrn(1);t.cmp(i)>=0?(t.isub(i),n.isub(o),a.isub(f)):(i.isub(t),o.isub(n),f.isub(a))}return{a:o,b:f,gcd:i.iushln(h)}},s.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,i=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n=new s(1),a=new s(0),o=i.clone();t.cmpn(1)>0&&i.cmpn(1)>0;){for(var f=0,h=1;0===(t.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(t.iushrn(f);f-- >0;)n.isOdd()&&n.iadd(o),n.iushrn(1);for(var c=0,l=1;0===(i.words[0]&l)&&c<26;++c,l<<=1);if(c>0)for(i.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(o),a.iushrn(1);t.cmp(i)>=0?(t.isub(i),n.isub(a)):(i.isub(t),a.isub(n))}var u;return u=0===t.cmpn(1)?n:a,u.cmpn(0)<0&&u.iadd(e),u},s.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),i=e.clone();t.negative=0,i.negative=0;for(var r=0;t.isEven()&&i.isEven();r++)t.iushrn(1),i.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;i.isEven();)i.iushrn(1);var n=t.cmp(i);if(n<0){var s=t;t=i,i=s}else if(0===n||0===i.cmpn(1))break;t.isub(i)}return i.iushln(r)},s.prototype.invm=function(e){return this.egcd(e).a.umod(e)},s.prototype.isEven=function(){return 0===(1&this.words[0])},s.prototype.isOdd=function(){return 1===(1&this.words[0])},s.prototype.andln=function(e){return this.words[0]&e},s.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,i=(e-t)/26,n=1<>>26,o&=67108863,this.words[a]=o}return 0!==s&&(this.words[a]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(e){var t=e<0;if(0!==this.negative&&!t)return-1;if(0===this.negative&&t)return 1;this.strip();var i;if(this.length>1)i=1;else{t&&(e=-e),r(e<=67108863,"Number is too big");var n=0|this.words[0];i=n===e?0:ne.length)return 1;if(this.length=0;i--){var r=0|this.words[i],n=0|e.words[i];if(r!==n){rn&&(t=1);break}}return t},s.prototype.gtn=function(e){return 1===this.cmpn(e)},s.prototype.gt=function(e){return 1===this.cmp(e)},s.prototype.gten=function(e){return this.cmpn(e)>=0},s.prototype.gte=function(e){return this.cmp(e)>=0},s.prototype.ltn=function(e){return this.cmpn(e)===-1},s.prototype.lt=function(e){return this.cmp(e)===-1},s.prototype.lten=function(e){return this.cmpn(e)<=0},s.prototype.lte=function(e){return this.cmp(e)<=0},s.prototype.eqn=function(e){return 0===this.cmpn(e)},s.prototype.eq=function(e){return 0===this.cmp(e)},s.red=function(e){return new g(e)},s.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},s.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(e){return this.red=e,this},s.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},s.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},s.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},s.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},s.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},s.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},s.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},s.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},s.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var S={k256:null,p224:null,p192:null,p25519:null};d.prototype._tmp=function(){var e=new s(null);return e.words=new Array(Math.ceil(this.n/13)),e},d.prototype.ireduce=function(e){var t,i=e;do this.split(i,this.tmp),i=this.imulK(i),i=i.iadd(this.tmp),t=i.bitLength();while(t>this.n);var r=t0?i.isub(this.p):i.strip(),i},d.prototype.split=function(e,t){e.iushrn(this.n,0,t)},d.prototype.imulK=function(e){return e.imul(this.k)},n(p,d),p.prototype.split=function(e,t){for(var i=4194303,r=Math.min(e.length,9),n=0;n>>22,s=a}s>>>=22,e.words[n-10]=s,0===s&&e.length>10?e.length-=10:e.length-=9},p.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,i=0;i>>=26,e.words[i]=n,t=r}return 0!==t&&(e.words[e.length++]=t),e},s._prime=function e(t){if(S[t])return S[t];var e;if("k256"===t)e=new p;else if("p224"===t)e=new b;else if("p192"===t)e=new m;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return S[t]=e,e},g.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},g.prototype._verify2=function(e,t){r(0===(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},g.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},g.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},g.prototype.add=function(e,t){this._verify2(e,t);var i=e.add(t);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},g.prototype.iadd=function(e,t){this._verify2(e,t);var i=e.iadd(t);return i.cmp(this.m)>=0&&i.isub(this.m),i},g.prototype.sub=function(e,t){this._verify2(e,t);var i=e.sub(t);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},g.prototype.isub=function(e,t){this._verify2(e,t);var i=e.isub(t);return i.cmpn(0)<0&&i.iadd(this.m),i},g.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},g.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},g.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},g.prototype.isqr=function(e){return this.imul(e,e.clone())},g.prototype.sqr=function(e){return this.mul(e,e)},g.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2===1),3===t){var i=this.m.add(new s(1)).iushrn(2);return this.pow(e,i)}for(var n=this.m.subn(1),a=0;!n.isZero()&&0===n.andln(1);)a++,n.iushrn(1);r(!n.isZero());var o=new s(1).toRed(this),f=o.redNeg(),h=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new s(2*c*c).toRed(this);0!==this.pow(c,h).cmp(f);)c.redIAdd(f);for(var l=this.pow(c,n),u=this.pow(e,n.addn(1).iushrn(1)),d=this.pow(e,n),p=a;0!==d.cmp(o);){for(var b=d,m=0;0!==b.cmp(o);m++)b=b.redSqr();r(m=0;n--){for(var c=t.words[n],l=h-1;l>=0;l--){var u=c>>l&1;a!==r[0]&&(a=this.sqr(a)),0!==u||0!==o?(o<<=1,o|=u,f++,(f===i||0===n&&0===l)&&(a=this.mul(a,r[o]),f=0,o=0)):f=0}h=26}return a},g.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},g.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},s.mont=function(e){return new v(e)},n(v,g),v.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},v.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},v.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var i=e.imul(t),r=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=i.isub(r).iushrn(this.shift),s=n;return n.cmp(this.m)>=0?s=n.isub(this.m):n.cmpn(0)<0&&(s=n.iadd(this.m)),s._forceRed(this)},v.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new s(0)._forceRed(this);var i=e.mul(t),r=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=i.isub(r).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},v.prototype.invm=function(e){var t=this.imod(e._invmp(this.m).mul(this.r2));return t._forceRed(this)}}("undefined"==typeof e||e,this)}).call(t,i(121)(e))},function(e,t){function i(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function n(e){if(c===setTimeout)return setTimeout(e,0);if((c===i||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function s(e){if(l===clearTimeout)return clearTimeout(e);if((l===r||!l)&&clearTimeout)return l=clearTimeout,clearTimeout(e);try{return l(e)}catch(t){try{return l.call(null,e)}catch(t){return l.call(this,e)}}}function a(){b&&d&&(b=!1,d.length?p=d.concat(p):m=-1,p.length&&o())}function o(){if(!b){var e=n(a);b=!0;for(var t=p.length;t;){for(d=p,p=[];++m1)for(var i=1;i=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),b(i)?r.showHidden=i:i&&t._extend(r,i),y(r.showHidden)&&(r.showHidden=!1),y(r.depth)&&(r.depth=2),y(r.colors)&&(r.colors=!1),y(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=s),f(r,e,r.depth)}function s(e,t){var i=n.styles[t];return i?"["+n.colors[i][0]+"m"+e+"["+n.colors[i][1]+"m":e}function a(e,t){return e}function o(e){var t={};return e.forEach(function(e,i){t[e]=!0}),t}function f(e,i,r){if(e.customInspect&&i&&M(i.inspect)&&i.inspect!==t.inspect&&(!i.constructor||i.constructor.prototype!==i)){var n=i.inspect(r,e);return v(n)||(n=f(e,n,r)),n}var s=h(e,i);if(s)return s;var a=Object.keys(i),b=o(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(i)),S(i)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return c(i);if(0===a.length){if(M(i)){var m=i.name?": "+i.name:"";return e.stylize("[Function"+m+"]","special")}if(k(i))return e.stylize(RegExp.prototype.toString.call(i),"regexp");if(A(i))return e.stylize(Date.prototype.toString.call(i),"date");if(S(i))return c(i)}var w="",g=!1,_=["{","}"];if(p(i)&&(g=!0,_=["[","]"]),M(i)){var y=i.name?": "+i.name:"";w=" [Function"+y+"]"}if(k(i)&&(w=" "+RegExp.prototype.toString.call(i)),A(i)&&(w=" "+Date.prototype.toUTCString.call(i)),S(i)&&(w=" "+c(i)),0===a.length&&(!g||0==i.length))return _[0]+w+_[1];if(r<0)return k(i)?e.stylize(RegExp.prototype.toString.call(i),"regexp"):e.stylize("[Object]","special");e.seen.push(i);var E;return E=g?l(e,i,r,b,a):a.map(function(t){return u(e,i,r,b,t,g)}),e.seen.pop(),d(E,w,_)}function h(e,t){if(y(t))return e.stylize("undefined","undefined");if(v(t)){var i="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(i,"string")}return g(t)?e.stylize(""+t,"number"):b(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}function c(e){return"["+Error.prototype.toString.call(e)+"]"}function l(e,t,i,r,n){for(var s=[],a=0,o=t.length;a-1&&(o=s?o.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+o.split("\n").map(function(e){return" "+e}).join("\n"))):o=e.stylize("[Circular]","special")),y(a)){if(s&&n.match(/^\d+$/))return o;a=JSON.stringify(""+n),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+o}function d(e,t,i){var r=0,n=e.reduce(function(e,t){return r++,t.indexOf("\n")>=0&&r++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);return n>60?i[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+i[1]:i[0]+t+" "+e.join(", ")+" "+i[1]}function p(e){return Array.isArray(e)}function b(e){return"boolean"==typeof e}function m(e){return null===e}function w(e){return null==e}function g(e){return"number"==typeof e}function v(e){return"string"==typeof e}function _(e){return"symbol"==typeof e}function y(e){return void 0===e}function k(e){return E(e)&&"[object RegExp]"===x(e)}function E(e){return"object"==typeof e&&null!==e}function A(e){return E(e)&&"[object Date]"===x(e)}function S(e){return E(e)&&("[object Error]"===x(e)||e instanceof Error)}function M(e){return"function"==typeof e}function T(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function x(e){return Object.prototype.toString.call(e)}function R(e){return e<10?"0"+e.toString(10):e.toString(10)}function I(){var e=new Date,t=[R(e.getHours()),R(e.getMinutes()),R(e.getSeconds())].join(":");return[e.getDate(),D[e.getMonth()],t].join(" ")}function C(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var P=/%[sdj%]/g;t.format=function(e){if(!v(e)){for(var t=[],i=0;i=s)return e;switch(e){case"%s":return String(r[i++]);case"%d":return Number(r[i++]);case"%j":try{return JSON.stringify(r[i++])}catch(e){return"[Circular]"}default:return e}}),o=r[i];i`}sendMessage(){}sendTTSMessage(){}sendFile(){}sendCode(){}}r.applyToClass(a),e.exports=a},function(e,t){class i{constructor(e={}){this.status=e.status||"offline",this.game=e.game?new r(e.game):null}update(e){this.status=e.status||this.status,this.game=e.game?new r(e.game):null}equals(e){return e&&this.status===e.status&&this.game?this.game.equals(e.game):!e.game}}class r{constructor(e){this.name=e.name,this.type=e.type,this.url=e.url||null}get streaming(){return 1===this.type}equals(e){return e&&this.name===e.name&&this.type===e.type&&this.url===e.url}}t.Presence=i,t.Game=r},function(e,t,i){var r=t;r.utils=i(197),r.common=i(193),r.sha=i(196),r.ripemd=i(195),r.hmac=i(194),r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160},function(e,t,i){(function(e){function i(e,t){for(var i=0,r=e.length-1;r>=0;r--){var n=e[r];"."===n?e.splice(r,1):".."===n?(e.splice(r,1),i++):i&&(e.splice(r,1),i--)}if(t)for(;i--;i)e.unshift("..");return e}function r(e,t){if(e.filter)return e.filter(t);for(var i=[],r=0;r=-1&&!n;s--){var a=s>=0?arguments[s]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(t=a+"/"+t,n="/"===a.charAt(0))}return t=i(r(t.split("/"),function(e){return!!e}),!n).join("/"),(n?"/":"")+t||"."},t.normalize=function(e){var n=t.isAbsolute(e),s="/"===a(e,-1);return e=i(r(e.split("/"),function(e){return!!e}),!n).join("/"),e||n||(e="."),e&&s&&(e+="/"),(n?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(r(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},t.relative=function(e,i){function r(e){for(var t=0;t=0&&""===e[i];i--);return t>i?[]:e.slice(t,i-t+1)}e=t.resolve(e).substr(1),i=t.resolve(i).substr(1);for(var n=r(e.split("/")),s=r(i.split("/")),a=Math.min(n.length,s.length),o=a,f=0;fe.roles.has(this.id))}serialize(){const e={};for(const t in r.PermissionFlags)e[t]=this.hasPermission(t);return e}hasPermission(e,t=false){return e=this.client.resolver.resolvePermission(e),!t&&(this.permissions&r.PermissionFlags.ADMINISTRATOR)>0||(this.permissions&e)>0}hasPermissions(e,t=false){return e.every(e=>this.hasPermission(e,t))}comparePositionTo(e){return this.constructor.comparePositions(this,e)}edit(e){return this.client.rest.methods.updateGuildRole(this,e)}setName(e){return this.edit({name:e})}setColor(e){return this.edit({color:e})}setHoist(e){return this.edit({hoist:e})}setPosition(e){return this.guild.setRolePosition(this,e)}setPermissions(e){return this.edit({permissions:e})}setMentionable(e){return this.edit({mentionable:e})}delete(){return this.client.rest.methods.deleteGuildRole(this)}get editable(){if(this.managed)return!1;const e=this.guild.member(this.client.user);return!!e.hasPermission(r.PermissionFlags.MANAGE_ROLES_OR_PERMISSIONS)&&e.highestRole.comparePositionTo(this)>0}equals(e){return e&&this.id===e.id&&this.name===e.name&&this.color===e.color&&this.hoist===e.hoist&&this.position===e.position&&this.permissions===e.permissions&&this.managed===e.managed}toString(){return`<@&${this.id}>`}static comparePositions(e,t){return e.position===t.position?t.id-e.id:e.position-t.position}}e.exports=n},function(e,t,i){(function(t){function r(e){n.call(this),this.hashMode="string"==typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._decoder=null,this._encoding=null}var n=i(11).Transform,s=i(2),a=i(59).StringDecoder;e.exports=r,s(r,n),r.prototype.update=function(e,i,r){"string"==typeof e&&(e=new t(e,i));var n=this._update(e);return this.hashMode?this:(r&&(n=this._toString(n,r)),n)},r.prototype.setAutoPadding=function(){},r.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},r.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},r.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},r.prototype._transform=function(e,t,i){var r;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){r=e}finally{i(r)}},r.prototype._flush=function(e){var t;try{this.push(this._final())}catch(e){t=e}finally{e(t)}},r.prototype._finalOrDigest=function(e){var i=this._final()||new t("");return e&&(i=this._toString(i,e,!0)),i},r.prototype._toString=function(e,t,i){if(this._decoder||(this._decoder=new a(t),this._encoding=t),this._encoding!==t)throw new Error("can't switch encodings");var r=this._decoder.write(e);return i&&(r+=this._decoder.end()),r}}).call(t,i(0).Buffer)},function(e,t,i){"use strict";(function(t){function r(e){h.call(this,"digest"),this._hash=e,this.buffers=[]}function n(e){h.call(this,"digest"),this._hash=e}var s=i(2),a=i(102),o=i(166),f=i(167),h=i(21);s(r,h),r.prototype._update=function(e){this.buffers.push(e)},r.prototype._final=function(){var e=t.concat(this.buffers),i=this._hash(e);return this.buffers=null,i},s(n,h),n.prototype._update=function(e){this._hash.update(e)},n.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return e=e.toLowerCase(),"md5"===e?new r(a):"rmd160"===e||"ripemd160"===e?new r(o):new n(f(e))}}).call(t,i(0).Buffer)},function(e,t,i){(function(t){function i(e,i){this._block=new t(e),this._finalSize=i,this._blockSize=e,this._len=0,this._s=0}i.prototype.update=function(e,i){"string"==typeof e&&(i=i||"utf8",e=new t(e,i));for(var r=this._len+=e.length,n=this._s||0,s=0,a=this._block;n=8*this._finalSize&&(this._update(this._block),this._block.fill(0)),this._block.writeInt32BE(t,this._blockSize-4);var i=this._update(this._block)||this._hash();return e?i.toString(e):i},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=i}).call(t,i(0).Buffer)},function(e,t){class i{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.type=null,t&&this.setup(t)}setup(e){this.id=e.id}get createdTimestamp(){return this.id/4194304+14200704e5}get createdAt(){return new Date(this.createdTimestamp)}delete(){return this.client.rest.methods.deleteChannel(this)}}e.exports=i},function(e,t,i){const r=i(1),n=i(6);class s{constructor(e,t){this.client=e.client,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.guild=e,this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.requiresColons=e.require_colons,this.managed=e.managed,this._roles=e.roles}get createdTimestamp(){return this.id/4194304+14200704e5}get createdAt(){return new Date(this.createdTimestamp)}get roles(){const e=new n;for(const t of this._roles)this.guild.roles.has(t)&&e.set(t,this.guild.roles.get(t));return e}get url(){return`${r.Endpoints.CDN}/emojis/${this.id}.png`}toString(){return this.requiresColons?`<:${this.name}:${this.id}>`:this.name}get identifier(){return this.id?`${this.name}:${this.id}`:encodeURIComponent(this.name)}}e.exports=s},function(e,t,i){var r=t;r.Reporter=i(143).Reporter,r.DecoderBuffer=i(84).DecoderBuffer,r.EncoderBuffer=i(84).EncoderBuffer,r.Node=i(142)},function(e,t,i){(function(t){e.exports=function(e,i){for(var r=Math.min(e.length,i.length),n=new t(r),s=0;s65536)throw new Error("requested too many random bytes");var s=new t.Uint8Array(e);e>0&&a.getRandomValues(s);var o=new i(s.buffer);return"function"==typeof n?r.nextTick(function(){n(null,o)}):o}var a=t.crypto||t.msCrypto;a&&a.getRandomValues?e.exports=s:e.exports=n}).call(t,i(19),i(0).Buffer,i(8))},function(e,t,i){function r(e,t){Object.defineProperty(e.prototype,t,Object.getOwnPropertyDescriptor(h.prototype,t))}const n=i(17),s=i(34),a=i(73),o=i(6),f=i(35);class h{constructor(){this.messages=new o,this.lastMessageID=null}sendMessage(e,t={}){return this.client.rest.methods.sendMessage(this,e,t)}sendTTSMessage(e,t={}){return Object.assign(t,{tts:!0}),this.client.rest.methods.sendMessage(this,e,t)}sendFile(e,t,i,r={}){return t||(t="string"==typeof e?n.basename(e):e&&e.path?n.basename(e.path):"file.jpg"),this.client.resolver.resolveBuffer(e).then(e=>this.client.rest.methods.sendMessage(this,i,r,{file:e,name:t}))}sendCode(e,t,i={}){return i.split&&("object"!=typeof i.split&&(i.split={}),i.split.prepend||(i.split.prepend=`\`\`\`${e||""} -`),i.split.append||(i.split.append="\n```")),t=f(this.client.resolver.resolveString(t),!0),this.sendMessage(`\`\`\`${e||""} +!function(e){function t(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,t,n){Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=340)}([function(e,t,n){"use strict";(function(e,i){function r(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}function s(){return e.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(t,n){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function m(t){return+t!=t&&(t=0),e.alloc(+t)}function g(t,n){if(e.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var i=t.length;if(0===i)return 0;for(var r=!1;;)switch(n){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":case void 0:return W(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return Z(t).length;default:if(r)return W(t).length;n=(""+n).toLowerCase(),r=!0}}function v(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,t>>>=0,n<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return P(this,t,n);case"utf8":case"utf-8":return I(this,t,n);case"ascii":return C(this,t,n);case"latin1":case"binary":return D(this,t,n);case"base64":return R(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function _(t,n,i,r,s){if(0===t.length)return-1;if("string"==typeof i?(r=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),i=+i,isNaN(i)&&(i=s?0:t.length-1),i<0&&(i=t.length+i),i>=t.length){if(s)return-1;i=t.length-1}else if(i<0){if(!s)return-1;i=0}if("string"==typeof n&&(n=e.from(n,r)),e.isBuffer(n))return 0===n.length?-1:w(t,n,i,r,s);if("number"==typeof n)return n&=255,e.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(t,n,i):Uint8Array.prototype.lastIndexOf.call(t,n,i):w(t,[n],i,r,s);throw new TypeError("val must be string, number or Buffer")}function w(e,t,n,i,r){function s(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}var o=1,a=e.length,c=t.length;if(void 0!==i&&(i=String(i).toLowerCase(),"ucs2"===i||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,c/=2,n/=2}var h;if(r){var f=-1;for(h=n;ha&&(n=a-c),h=n;h>=0;h--){for(var u=!0,d=0;dr&&(i=r)):i=r;var s=t.length;if(s%2!==0)throw new TypeError("Invalid hex string");i>s/2&&(i=s/2);for(var o=0;o239?4:s>223?3:s>191?2:1;if(r+a<=n){var c,h,f,u;switch(a){case 1:s<128&&(o=s);break;case 2:c=e[r+1],128===(192&c)&&(u=(31&s)<<6|63&c,u>127&&(o=u));break;case 3:c=e[r+1],h=e[r+2],128===(192&c)&&128===(192&h)&&(u=(15&s)<<12|(63&c)<<6|63&h,u>2047&&(u<55296||u>57343)&&(o=u));break;case 4:c=e[r+1],h=e[r+2],f=e[r+3],128===(192&c)&&128===(192&h)&&128===(192&f)&&(u=(15&s)<<18|(63&c)<<12|(63&h)<<6|63&f,u>65535&&u<1114112&&(o=u))}}null===o?(o=65533,a=1):o>65535&&(o-=65536,i.push(o>>>10&1023|55296),o=56320|1023&o),i.push(o),r+=a}return T(i)}function T(e){var t=e.length;if(t<=ee)return String.fromCharCode.apply(String,e);for(var n="",i=0;ii)&&(n=i);for(var r="",s=t;sn)throw new RangeError("Trying to access beyond buffer length")}function O(t,n,i,r,s,o){if(!e.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(n>s||nt.length)throw new RangeError("Index out of range")}function U(e,t,n,i){t<0&&(t=65535+t+1);for(var r=0,s=Math.min(e.length-n,2);r>>8*(i?r:1-r)}function N(e,t,n,i){t<0&&(t=4294967295+t+1);for(var r=0,s=Math.min(e.length-n,4);r>>8*(i?r:3-r)&255}function j(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function q(e,t,n,i,r){return r||j(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),$.write(e,t,n,i,23,4),n+4}function z(e,t,n,i,r){return r||j(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),$.write(e,t,n,i,52,8),n+8}function F(e){if(e=G(e).replace(te,""),e.length<2)return"";for(;e.length%4!==0;)e+="=";return e}function G(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function H(e){return e<16?"0"+e.toString(16):e.toString(16)}function W(e,t){t=t||1/0;for(var n,i=e.length,r=null,s=[],o=0;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=(r-55296<<10|n-56320)+65536}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function V(e){for(var t=[],n=0;n>8,r=n%256,s.push(r),s.push(i);return s}function Z(e){return J.toByteArray(F(e))}function Y(e,t,n,i){for(var r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function X(e){return e!==e}var J=n(150),$=n(200),Q=n(106);t.Buffer=e,t.SlowBuffer=m,t.INSPECT_MAX_BYTES=50,e.TYPED_ARRAY_SUPPORT=void 0!==i.TYPED_ARRAY_SUPPORT?i.TYPED_ARRAY_SUPPORT:r(),t.kMaxLength=s(),e.poolSize=8192,e._augment=function(t){return t.__proto__=e.prototype,t},e.from=function(e,t,n){return a(null,e,t,n)},e.TYPED_ARRAY_SUPPORT&&(e.prototype.__proto__=Uint8Array.prototype,e.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&e[Symbol.species]===e&&Object.defineProperty(e,Symbol.species,{value:null,configurable:!0})),e.alloc=function(e,t,n){return h(null,e,t,n)},e.allocUnsafe=function(e){return f(null,e)},e.allocUnsafeSlow=function(e){return f(null,e)},e.isBuffer=function(e){return!(null==e||!e._isBuffer)},e.compare=function(t,n){if(!e.isBuffer(t)||!e.isBuffer(n))throw new TypeError("Arguments must be Buffers");if(t===n)return 0;for(var i=t.length,r=n.length,s=0,o=Math.min(i,r);s0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},e.prototype.compare=function(t,n,i,r,s){if(!e.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===n&&(n=0),void 0===i&&(i=t?t.length:0),void 0===r&&(r=0),void 0===s&&(s=this.length),n<0||i>t.length||r<0||s>this.length)throw new RangeError("out of range index");if(r>=s&&n>=i)return 0;if(r>=s)return-1;if(n>=i)return 1;if(n>>>=0,i>>>=0,r>>>=0,s>>>=0,this===t)return 0;for(var o=s-r,a=i-n,c=Math.min(o,a),h=this.slice(r,s),f=t.slice(n,i),u=0;ur)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var s=!1;;)switch(i){case"hex":return E(this,e,t,n);case"utf8":case"utf-8":return S(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return A(this,e,t,n);case"base64":return M(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},e.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var ee=4096;e.prototype.slice=function(t,n){var i=this.length;t=~~t,n=void 0===n?i:~~n,t<0?(t+=i,t<0&&(t=0)):t>i&&(t=i),n<0?(n+=i,n<0&&(n=0)):n>i&&(n=i),n0&&(r*=256);)i+=this[e+--t]*r;return i},e.prototype.readUInt8=function(e,t){return t||L(e,1,this.length),this[e]},e.prototype.readUInt16LE=function(e,t){return t||L(e,2,this.length),this[e]|this[e+1]<<8},e.prototype.readUInt16BE=function(e,t){return t||L(e,2,this.length),this[e]<<8|this[e+1]},e.prototype.readUInt32LE=function(e,t){return t||L(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},e.prototype.readUInt32BE=function(e,t){return t||L(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},e.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||L(e,t,this.length);for(var i=this[e],r=1,s=0;++s=r&&(i-=Math.pow(2,8*t)),i},e.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||L(e,t,this.length);for(var i=t,r=1,s=this[e+--i];i>0&&(r*=256);)s+=this[e+--i]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*t)),s},e.prototype.readInt8=function(e,t){return t||L(e,1,this.length),128&this[e]?(255-this[e]+1)*-1:this[e]},e.prototype.readInt16LE=function(e,t){t||L(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},e.prototype.readInt16BE=function(e,t){t||L(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},e.prototype.readInt32LE=function(e,t){return t||L(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},e.prototype.readInt32BE=function(e,t){return t||L(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},e.prototype.readFloatLE=function(e,t){return t||L(e,4,this.length),$.read(this,e,!0,23,4)},e.prototype.readFloatBE=function(e,t){return t||L(e,4,this.length),$.read(this,e,!1,23,4)},e.prototype.readDoubleLE=function(e,t){return t||L(e,8,this.length),$.read(this,e,!0,52,8)},e.prototype.readDoubleBE=function(e,t){return t||L(e,8,this.length),$.read(this,e,!1,52,8)},e.prototype.writeUIntLE=function(e,t,n,i){if(e=+e,t|=0,n|=0,!i){var r=Math.pow(2,8*n)-1;O(this,e,t,n,r,0)}var s=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+s]=e/o&255;return t+n},e.prototype.writeUInt8=function(t,n,i){return t=+t,n|=0,i||O(this,t,n,1,255,0),e.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[n]=255&t,n+1},e.prototype.writeUInt16LE=function(t,n,i){return t=+t,n|=0,i||O(this,t,n,2,65535,0),e.TYPED_ARRAY_SUPPORT?(this[n]=255&t,this[n+1]=t>>>8):U(this,t,n,!0),n+2},e.prototype.writeUInt16BE=function(t,n,i){return t=+t,n|=0,i||O(this,t,n,2,65535,0),e.TYPED_ARRAY_SUPPORT?(this[n]=t>>>8,this[n+1]=255&t):U(this,t,n,!1),n+2},e.prototype.writeUInt32LE=function(t,n,i){return t=+t,n|=0,i||O(this,t,n,4,4294967295,0),e.TYPED_ARRAY_SUPPORT?(this[n+3]=t>>>24,this[n+2]=t>>>16,this[n+1]=t>>>8,this[n]=255&t):N(this,t,n,!0),n+4},e.prototype.writeUInt32BE=function(t,n,i){return t=+t,n|=0,i||O(this,t,n,4,4294967295,0),e.TYPED_ARRAY_SUPPORT?(this[n]=t>>>24,this[n+1]=t>>>16,this[n+2]=t>>>8,this[n+3]=255&t):N(this,t,n,!1),n+4},e.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);O(this,e,t,n,r-1,-r)}var s=0,o=1,a=0;for(this[t]=255&e;++s>0)-a&255;return t+n},e.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);O(this,e,t,n,r-1,-r)}var s=n-1,o=1,a=0;for(this[t+s]=255&e;--s>=0&&(o*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+n},e.prototype.writeInt8=function(t,n,i){return t=+t,n|=0,i||O(this,t,n,1,127,-128),e.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[n]=255&t,n+1},e.prototype.writeInt16LE=function(t,n,i){return t=+t,n|=0,i||O(this,t,n,2,32767,-32768),e.TYPED_ARRAY_SUPPORT?(this[n]=255&t,this[n+1]=t>>>8):U(this,t,n,!0),n+2},e.prototype.writeInt16BE=function(t,n,i){return t=+t,n|=0,i||O(this,t,n,2,32767,-32768),e.TYPED_ARRAY_SUPPORT?(this[n]=t>>>8,this[n+1]=255&t):U(this,t,n,!1),n+2},e.prototype.writeInt32LE=function(t,n,i){return t=+t,n|=0,i||O(this,t,n,4,2147483647,-2147483648),e.TYPED_ARRAY_SUPPORT?(this[n]=255&t,this[n+1]=t>>>8,this[n+2]=t>>>16,this[n+3]=t>>>24):N(this,t,n,!0),n+4},e.prototype.writeInt32BE=function(t,n,i){return t=+t,n|=0,i||O(this,t,n,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),e.TYPED_ARRAY_SUPPORT?(this[n]=t>>>24,this[n+1]=t>>>16,this[n+2]=t>>>8,this[n+3]=255&t):N(this,t,n,!1),n+4},e.prototype.writeFloatLE=function(e,t,n){return q(this,e,t,!0,n)},e.prototype.writeFloatBE=function(e,t,n){return q(this,e,t,!1,n)},e.prototype.writeDoubleLE=function(e,t,n){return z(this,e,t,!0,n)},e.prototype.writeDoubleBE=function(e,t,n){return z(this,e,t,!1,n)},e.prototype.copy=function(t,n,i,r){if(i||(i=0),r||0===r||(r=this.length),n>=t.length&&(n=t.length),n||(n=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-n=0;--s)t[s+n]=this[s+i];else if(o<1e3||!e.TYPED_ARRAY_SUPPORT)for(s=0;s>>=0,i=void 0===i?this.length:i>>>0,t||(t=0);var o;if("number"==typeof t)for(o=n;o`${r}/invite/${e}`,inviteLink:e=>`https://discord.gg/${e}`,CDN:"https://cdn.discordapp.com",user:e=>`${r}/users/${e}`,userChannels:e=>`${s.user(e)}/channels`,userProfile:e=>`${s.user(e)}/profile`,avatar:(e,t)=>"1"===e?t:`${s.user(e)}/avatars/${t}.jpg`,me:`${r}/users/@me`,meGuild:e=>`${s.me}/guilds/${e}`,relationships:e=>`${s.user(e)}/relationships`,note:e=>`${s.me}/notes/${e}`,guilds:`${r}/guilds`,guild:e=>`${s.guilds}/${e}`,guildIcon:(e,t)=>`${s.guild(e)}/icons/${t}.jpg`,guildPrune:e=>`${s.guild(e)}/prune`,guildEmbed:e=>`${s.guild(e)}/embed`,guildInvites:e=>`${s.guild(e)}/invites`,guildRoles:e=>`${s.guild(e)}/roles`,guildRole:(e,t)=>`${s.guildRoles(e)}/${t}`,guildBans:e=>`${s.guild(e)}/bans`,guildIntegrations:e=>`${s.guild(e)}/integrations`,guildMembers:e=>`${s.guild(e)}/members`,guildMember:(e,t)=>`${s.guildMembers(e)}/${t}`,stupidInconsistentGuildEndpoint:e=>`${s.guildMember(e,"@me")}/nick`,guildChannels:e=>`${s.guild(e)}/channels`,guildEmojis:e=>`${s.guild(e)}/emojis`,channels:`${r}/channels`,channel:e=>`${s.channels}/${e}`,channelMessages:e=>`${s.channel(e)}/messages`,channelInvites:e=>`${s.channel(e)}/invites`,channelTyping:e=>`${s.channel(e)}/typing`,channelPermissions:e=>`${s.channel(e)}/permissions`,channelMessage:(e,t)=>`${s.channelMessages(e)}/${t}`,channelWebhooks:e=>`${s.channel(e)}/webhooks`,messageReactions:(e,t)=>`${s.channelMessage(e,t)}/reactions`,messageReaction:(e,t,n,i)=>`${s.messageReactions(e,t)}/${n}`+`${i?`?limit=${i}`:""}`,selfMessageReaction:(e,t,n,i)=>`${s.messageReaction(e,t,n,i)}/@me`,userMessageReaction:(e,t,n,i,r)=>`${s.messageReaction(e,t,n,i)}/${r}`,webhook:(e,t)=>`${r}/webhooks/${e}${t?`/${t}`:""}`,myApplication:`${r}/oauth2/applications/@me`,getApp:e=>`${r}/oauth2/authorize?client_id=${e}`};t.Status={READY:0,CONNECTING:1,RECONNECTING:2,IDLE:3,NEARLY:4},t.ChannelTypes={text:0,DM:1,voice:2,groupDM:3},t.OPCodes={DISPATCH:0,HEARTBEAT:1,IDENTIFY:2,STATUS_UPDATE:3,VOICE_STATE_UPDATE:4,VOICE_GUILD_PING:5,RESUME:6,RECONNECT:7,REQUEST_GUILD_MEMBERS:8,INVALID_SESSION:9,HELLO:10,HEARTBEAT_ACK:11},t.VoiceOPCodes={IDENTIFY:0,SELECT_PROTOCOL:1,READY:2,HEARTBEAT:3,SESSION_DESCRIPTION:4,SPEAKING:5},t.Events={READY:"ready",GUILD_CREATE:"guildCreate",GUILD_DELETE:"guildDelete",GUILD_UPDATE:"guildUpdate",GUILD_UNAVAILABLE:"guildUnavailable",GUILD_AVAILABLE:"guildAvailable",GUILD_MEMBER_ADD:"guildMemberAdd",GUILD_MEMBER_REMOVE:"guildMemberRemove",GUILD_MEMBER_UPDATE:"guildMemberUpdate",GUILD_MEMBER_AVAILABLE:"guildMemberAvailable",GUILD_MEMBER_SPEAKING:"guildMemberSpeaking",GUILD_MEMBERS_CHUNK:"guildMembersChunk",GUILD_ROLE_CREATE:"roleCreate",GUILD_ROLE_DELETE:"roleDelete",GUILD_ROLE_UPDATE:"roleUpdate",GUILD_EMOJI_CREATE:"guildEmojiCreate",GUILD_EMOJI_DELETE:"guildEmojiDelete",GUILD_EMOJI_UPDATE:"guildEmojiUpdate",GUILD_BAN_ADD:"guildBanAdd",GUILD_BAN_REMOVE:"guildBanRemove",CHANNEL_CREATE:"channelCreate",CHANNEL_DELETE:"channelDelete",CHANNEL_UPDATE:"channelUpdate",CHANNEL_PINS_UPDATE:"channelPinsUpdate",MESSAGE_CREATE:"message",MESSAGE_DELETE:"messageDelete",MESSAGE_UPDATE:"messageUpdate",MESSAGE_BULK_DELETE:"messageDeleteBulk",MESSAGE_REACTION_ADD:"messageReactionAdd",MESSAGE_REACTION_REMOVE:"messageReactionRemove",MESSAGE_REACTION_REMOVE_ALL:"messageReactionRemoveAll",USER_UPDATE:"userUpdate",USER_NOTE_UPDATE:"userNoteUpdate",PRESENCE_UPDATE:"presenceUpdate",VOICE_STATE_UPDATE:"voiceStateUpdate",TYPING_START:"typingStart",TYPING_STOP:"typingStop",DISCONNECT:"disconnect",RECONNECTING:"reconnecting",ERROR:"error",WARN:"warn",DEBUG:"debug"},t.WSEvents={READY:"READY",GUILD_SYNC:"GUILD_SYNC",GUILD_CREATE:"GUILD_CREATE",GUILD_DELETE:"GUILD_DELETE",GUILD_UPDATE:"GUILD_UPDATE",GUILD_MEMBER_ADD:"GUILD_MEMBER_ADD",GUILD_MEMBER_REMOVE:"GUILD_MEMBER_REMOVE",GUILD_MEMBER_UPDATE:"GUILD_MEMBER_UPDATE",GUILD_MEMBERS_CHUNK:"GUILD_MEMBERS_CHUNK",GUILD_ROLE_CREATE:"GUILD_ROLE_CREATE",GUILD_ROLE_DELETE:"GUILD_ROLE_DELETE",GUILD_ROLE_UPDATE:"GUILD_ROLE_UPDATE",GUILD_BAN_ADD:"GUILD_BAN_ADD",GUILD_BAN_REMOVE:"GUILD_BAN_REMOVE",CHANNEL_CREATE:"CHANNEL_CREATE",CHANNEL_DELETE:"CHANNEL_DELETE",CHANNEL_UPDATE:"CHANNEL_UPDATE",CHANNEL_PINS_UPDATE:"CHANNEL_PINS_UPDATE",MESSAGE_CREATE:"MESSAGE_CREATE",MESSAGE_DELETE:"MESSAGE_DELETE",MESSAGE_UPDATE:"MESSAGE_UPDATE",MESSAGE_DELETE_BULK:"MESSAGE_DELETE_BULK",MESSAGE_REACTION_ADD:"MESSAGE_REACTION_ADD",MESSAGE_REACTION_REMOVE:"MESSAGE_REACTION_REMOVE",MESSAGE_REACTION_REMOVE_ALL:"MESSAGE_REACTION_REMOVE_ALL",USER_UPDATE:"USER_UPDATE",USER_NOTE_UPDATE:"USER_NOTE_UPDATE",PRESENCE_UPDATE:"PRESENCE_UPDATE",VOICE_STATE_UPDATE:"VOICE_STATE_UPDATE",TYPING_START:"TYPING_START",FRIEND_ADD:"RELATIONSHIP_ADD",FRIEND_REMOVE:"RELATIONSHIP_REMOVE",VOICE_SERVER_UPDATE:"VOICE_SERVER_UPDATE",RELATIONSHIP_ADD:"RELATIONSHIP_ADD",RELATIONSHIP_REMOVE:"RELATIONSHIP_REMOVE"},t.MessageTypes={0:"DEFAULT",1:"RECIPIENT_ADD",2:"RECIPIENT_REMOVE",3:"CALL",4:"CHANNEL_NAME_CHANGE",5:"CHANNEL_ICON_CHANGE",6:"PINS_ADD"};const o=t.PermissionFlags={CREATE_INSTANT_INVITE:1,KICK_MEMBERS:2,BAN_MEMBERS:4,ADMINISTRATOR:8,MANAGE_CHANNELS:16,MANAGE_GUILD:32,ADD_REACTIONS:64,READ_MESSAGES:1024,SEND_MESSAGES:2048,SEND_TTS_MESSAGES:4096,MANAGE_MESSAGES:8192,EMBED_LINKS:16384,ATTACH_FILES:32768,READ_MESSAGE_HISTORY:65536,MENTION_EVERYONE:1<<17,EXTERNAL_EMOJIS:1<<18,CONNECT:1<<20,SPEAK:1<<21,MUTE_MEMBERS:1<<22,DEAFEN_MEMBERS:1<<23,MOVE_MEMBERS:1<<24,USE_VAD:1<<25,CHANGE_NICKNAME:1<<26,MANAGE_NICKNAMES:1<<27,MANAGE_ROLES_OR_PERMISSIONS:1<<28,MANAGE_WEBHOOKS:1<<29,MANAGE_EMOJIS:1<<30};let a=0;for(const c in o)a|=o[c];t.ALL_PERMISSIONS=a,t.DEFAULT_PERMISSIONS=104324097}).call(t,n(8))},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t){class n{constructor(e){this.packetManager=e}handle(e){return e}}e.exports=n},function(e,t){class n{constructor(e){this.client=e}handle(e){return e}}e.exports=n},function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(e){return"function"==typeof e}function r(e){return"number"==typeof e}function s(e){return"object"==typeof e&&null!==e}function o(e){return void 0===e}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!r(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,r,a,c,h;if(this._events||(this._events={}),"error"===e&&(!this._events.error||s(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;var f=new Error('Uncaught, unspecified "error" event. ('+t+")");throw f.context=t,f}if(n=this._events[e],o(n))return!1;if(i(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),n.apply(this,a)}else if(s(n))for(a=Array.prototype.slice.call(arguments,1),h=n.slice(),r=h.length,c=0;c0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function n(){this.removeListener(e,n),r||(r=!0,t.apply(this,arguments))}if(!i(t))throw TypeError("listener must be a function");var r=!1;return n.listener=t,this.on(e,n),this},n.prototype.removeListener=function(e,t){var n,r,o,a;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],o=n.length,r=-1,n===t||i(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(n)){for(a=o;a-- >0;)if(n[a]===t||n[a].listener&&n[a].listener===t){r=a;break}if(r<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],i(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?i(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(i(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t){class n extends Map{constructor(e){super(e),this._array=null,this._keyArray=null}set(e,t){super.set(e,t),this._array=null,this._keyArray=null}delete(e){super.delete(e),this._array=null,this._keyArray=null}array(){return this._array&&this._array.length===this.size||(this._array=Array.from(this.values())),this._array}keyArray(){return this._keyArray&&this._keyArray.length===this.size||(this._keyArray=Array.from(this.keys())),this._keyArray}first(){return this.values().next().value}firstKey(){return this.keys().next().value}last(){const e=this.array();return e[e.length-1]}lastKey(){const e=this.keyArray();return e[e.length-1]}random(){const e=this.array();return e[Math.floor(Math.random()*e.length)]; +}randomKey(){const e=this.keyArray();return e[Math.floor(Math.random()*e.length)]}findAll(e,t){if("string"!=typeof e)throw new TypeError("Key must be a string.");if("undefined"==typeof t)throw new Error("Value must be specified.");const n=[];for(const i of this.values())i[e]===t&&n.push(i);return n}find(e,t){if("string"==typeof e){if("undefined"==typeof t)throw new Error("Value must be specified.");if("id"===e)throw new RangeError("Don't use .find() with IDs. Instead, use .get(id).");for(const n of this.values())if(n[e]===t)return n;return null}if("function"==typeof e){for(const[t,n]of this)if(e(n,t,this))return n;return null}throw new Error("First argument must be a property string or a function.")}findKey(e,t){if("string"==typeof e){if("undefined"==typeof t)throw new Error("Value must be specified.");for(const[n,i]of this)if(i[e]===t)return n;return null}if("function"==typeof e){for(const[t,n]of this)if(e(n,t,this))return t;return null}throw new Error("First argument must be a property string or a function.")}exists(e,t){if("id"===e)throw new RangeError("Don't use .exists() with IDs. Instead, use .has(id).");return Boolean(this.find(e,t))}filter(e,t){t&&(e=e.bind(t));const i=new n;for(const[r,s]of this)e(s,r,this)&&i.set(r,s);return i}filterArray(e,t){t&&(e=e.bind(t));const n=[];for(const[i,r]of this)e(r,i,this)&&n.push(r);return n}map(e,t){t&&(e=e.bind(t));const n=new Array(this.size);let i=0;for(const[r,s]of this)n[i++]=e(s,r,this);return n}some(e,t){t&&(e=e.bind(t));for(const[n,i]of this)if(e(i,n,this))return!0;return!1}every(e,t){t&&(e=e.bind(t));for(const[n,i]of this)if(!e(i,n,this))return!1;return!0}reduce(e,t){let n=t;for(const[i,r]of this)n=e(n,r,i,this);return n}concat(...e){const t=new this.constructor;for(const[n,i]of this)t.set(n,i);for(const r of e)for(const[n,i]of r)t.set(n,i);return t}deleteAll(){const e=[];for(const t of this.values())t.delete&&e.push(t.delete());return e}}e.exports=n},function(e,t,n){(function(e){!function(e,t){"use strict";function i(e,t){if(!e)throw new Error(t||"Assertion failed")}function r(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}function s(e,t,n){return s.isBN(e)?e:(this.negative=0,this.words=null,this.length=0,this.red=null,void(null!==e&&("le"!==t&&"be"!==t||(n=t,t=10),this._init(e||0,t||10,n||"be"))))}function o(e,t,n){for(var i=0,r=Math.min(e.length,n),s=t;s=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return i}function a(e,t,n,i){for(var r=0,s=Math.min(e.length,n),o=t;o=49?a-49+10:a>=17?a-17+10:a}return r}function c(e){for(var t=new Array(e.bitLength()),n=0;n>>r}return t}function h(e,t,n){n.negative=t.negative^e.negative;var i=e.length+t.length|0;n.length=i,i=i-1|0;var r=0|e.words[0],s=0|t.words[0],o=r*s,a=67108863&o,c=o/67108864|0;n.words[0]=a;for(var h=1;h>>26,u=67108863&c,d=Math.min(h,t.length-1),l=Math.max(0,h-e.length+1);l<=d;l++){var p=h-l|0;r=0|e.words[p],s=0|t.words[l],o=r*s+u,f+=o/67108864|0,u=67108863&o}n.words[h]=0|u,c=0|f}return 0!==c?n.words[h]=0|c:n.length--,n.strip()}function f(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var i=0,r=0,s=0;s>>26)|0,r+=o>>>26,o&=67108863}n.words[s]=a,i=o,o=r}return 0!==i?n.words[s]=i:n.length--,n.strip()}function u(e,t,n){var i=new d;return i.mulp(e,t,n)}function d(e,t){this.x=e,this.y=t}function l(e,t){this.name=e,this.p=new s(t,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function p(){l.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){l.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function m(){l.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function g(){l.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function v(e){if("string"==typeof e){var t=s._prime(e);this.m=t.p,this.prime=t}else i(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function y(e){v.call(this,e),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}"object"==typeof e?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;var _;try{_=n(0).Buffer}catch(e){}s.isBN=function(e){return e instanceof s||null!==e&&"object"==typeof e&&e.constructor.wordSize===s.wordSize&&Array.isArray(e.words)},s.max=function(e,t){return e.cmp(t)>0?e:t},s.min=function(e,t){return e.cmp(t)<0?e:t},s.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),i(t===(0|t)&&t>=2&&t<=36),e=e.toString().replace(/\s+/g,"");var r=0;"-"===e[0]&&r++,16===t?this._parseHex(e,r):this._parseBase(e,t,r),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),t,n)},s.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(i(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},s.prototype._initArray=function(e,t,n){if(i("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var r=0;r=0;r-=3)o=e[r]|e[r-1]<<8|e[r-2]<<16,this.words[s]|=o<>>26-a&67108863,a+=24,a>=26&&(a-=26,s++);else if("le"===n)for(r=0,s=0;r>>26-a&67108863,a+=24,a>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=6)r=o(e,n,n+6),this.words[i]|=r<>>26-s&4194303,s+=24,s>=26&&(s-=26,i++);n+6!==t&&(r=o(e,t,n+6),this.words[i]|=r<>>26-s&4194303),this.strip()},s.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var i=0,r=1;r<=67108863;r*=t)i++;i--,r=r/t|0;for(var s=e.length-n,o=s%i,c=Math.min(s,s-o)+n,h=0,f=n;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var w=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],E=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],S=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(e,t){e=e||10,t=0|t||1;var n;if(16===e||"hex"===e){n="";for(var r=0,s=0,o=0;o>>24-r&16777215,n=0!==s||o!==this.length-1?w[6-c.length]+c+n:c+n,r+=2,r>=26&&(r-=26,o--)}for(0!==s&&(n=s.toString(16)+n);n.length%t!==0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var h=E[e],f=S[e];n="";var u=this.clone();for(u.negative=0;!u.isZero();){var d=u.modn(f).toString(e);u=u.idivn(f),n=u.isZero()?d+n:w[h-d.length]+d+n}for(this.isZero()&&(n="0"+n);n.length%t!==0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(e,t){return i("undefined"!=typeof _),this.toArrayLike(_,e,t)},s.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},s.prototype.toArrayLike=function(e,t,n){var r=this.byteLength(),s=n||Math.max(1,r);i(r<=s,"byte array longer than desired length"),i(s>0,"Requested array length <= 0"),this.strip();var o,a,c="le"===t,h=new e(s),f=this.clone();if(c){for(a=0;!f.isZero();a++)o=f.andln(255),f.iushrn(8),h[a]=o;for(;a=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},s.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0===(8191&t)&&(n+=13,t>>>=13),0===(127&t)&&(n+=7,t>>>=7),0===(15&t)&&(n+=4,t>>>=4),0===(3&t)&&(n+=2,t>>>=2),0===(1&t)&&n++,n},s.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},s.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},s.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},s.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},s.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var i=0;ie.length?this.clone().ixor(e):e.clone().ixor(this)},s.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},s.prototype.inotn=function(e){i("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-n),this.strip()},s.prototype.notn=function(e){return this.clone().inotn(e)},s.prototype.setn=function(e,t){i("number"==typeof e&&e>=0);var n=e/26|0,r=e%26;return this._expand(n+1),t?this.words[n]=this.words[n]|1<e.length?(n=this,i=e):(n=e,i=this);for(var r=0,s=0;s>>26;for(;0!==r&&s>>26;if(this.length=n.length,0!==r)this.words[this.length]=r,this.length++;else if(n!==this)for(;se.length?this.clone().iadd(e):e.clone().iadd(this)},s.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n=this.cmp(e);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;var i,r;n>0?(i=this,r=e):(i=e,r=this);for(var s=0,o=0;o>26,this.words[o]=67108863&t;for(;0!==s&&o>26,this.words[o]=67108863&t;if(0===s&&o>>13,l=0|o[1],p=8191&l,b=l>>>13,m=0|o[2],g=8191&m,v=m>>>13,y=0|o[3],_=8191&y,w=y>>>13,E=0|o[4],S=8191&E,k=E>>>13,A=0|o[5],M=8191&A,x=A>>>13,R=0|o[6],I=8191&R,T=R>>>13,C=0|o[7],D=8191&C,P=C>>>13,B=0|o[8],L=8191&B,O=B>>>13,U=0|o[9],N=8191&U,j=U>>>13,q=0|a[0],z=8191&q,F=q>>>13,G=0|a[1],H=8191&G,W=G>>>13,V=0|a[2],K=8191&V,Z=V>>>13,Y=0|a[3],X=8191&Y,J=Y>>>13,$=0|a[4],Q=8191&$,ee=$>>>13,te=0|a[5],ne=8191&te,ie=te>>>13,re=0|a[6],se=8191&re,oe=re>>>13,ae=0|a[7],ce=8191&ae,he=ae>>>13,fe=0|a[8],ue=8191&fe,de=fe>>>13,le=0|a[9],pe=8191&le,be=le>>>13;n.negative=e.negative^t.negative,n.length=19,i=Math.imul(u,z),r=Math.imul(u,F),r=r+Math.imul(d,z)|0,s=Math.imul(d,F);var me=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(me>>>26)|0,me&=67108863,i=Math.imul(p,z),r=Math.imul(p,F),r=r+Math.imul(b,z)|0,s=Math.imul(b,F),i=i+Math.imul(u,H)|0,r=r+Math.imul(u,W)|0,r=r+Math.imul(d,H)|0,s=s+Math.imul(d,W)|0;var ge=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(ge>>>26)|0,ge&=67108863,i=Math.imul(g,z),r=Math.imul(g,F),r=r+Math.imul(v,z)|0,s=Math.imul(v,F),i=i+Math.imul(p,H)|0,r=r+Math.imul(p,W)|0,r=r+Math.imul(b,H)|0,s=s+Math.imul(b,W)|0,i=i+Math.imul(u,K)|0,r=r+Math.imul(u,Z)|0,r=r+Math.imul(d,K)|0,s=s+Math.imul(d,Z)|0;var ve=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(ve>>>26)|0,ve&=67108863,i=Math.imul(_,z),r=Math.imul(_,F),r=r+Math.imul(w,z)|0,s=Math.imul(w,F),i=i+Math.imul(g,H)|0,r=r+Math.imul(g,W)|0,r=r+Math.imul(v,H)|0,s=s+Math.imul(v,W)|0,i=i+Math.imul(p,K)|0,r=r+Math.imul(p,Z)|0,r=r+Math.imul(b,K)|0,s=s+Math.imul(b,Z)|0,i=i+Math.imul(u,X)|0,r=r+Math.imul(u,J)|0,r=r+Math.imul(d,X)|0,s=s+Math.imul(d,J)|0;var ye=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(ye>>>26)|0,ye&=67108863,i=Math.imul(S,z),r=Math.imul(S,F),r=r+Math.imul(k,z)|0,s=Math.imul(k,F),i=i+Math.imul(_,H)|0,r=r+Math.imul(_,W)|0,r=r+Math.imul(w,H)|0,s=s+Math.imul(w,W)|0,i=i+Math.imul(g,K)|0,r=r+Math.imul(g,Z)|0,r=r+Math.imul(v,K)|0,s=s+Math.imul(v,Z)|0,i=i+Math.imul(p,X)|0,r=r+Math.imul(p,J)|0,r=r+Math.imul(b,X)|0,s=s+Math.imul(b,J)|0,i=i+Math.imul(u,Q)|0,r=r+Math.imul(u,ee)|0,r=r+Math.imul(d,Q)|0,s=s+Math.imul(d,ee)|0;var _e=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(_e>>>26)|0,_e&=67108863,i=Math.imul(M,z),r=Math.imul(M,F),r=r+Math.imul(x,z)|0,s=Math.imul(x,F),i=i+Math.imul(S,H)|0,r=r+Math.imul(S,W)|0,r=r+Math.imul(k,H)|0,s=s+Math.imul(k,W)|0,i=i+Math.imul(_,K)|0,r=r+Math.imul(_,Z)|0,r=r+Math.imul(w,K)|0,s=s+Math.imul(w,Z)|0,i=i+Math.imul(g,X)|0,r=r+Math.imul(g,J)|0,r=r+Math.imul(v,X)|0,s=s+Math.imul(v,J)|0,i=i+Math.imul(p,Q)|0,r=r+Math.imul(p,ee)|0,r=r+Math.imul(b,Q)|0,s=s+Math.imul(b,ee)|0,i=i+Math.imul(u,ne)|0,r=r+Math.imul(u,ie)|0,r=r+Math.imul(d,ne)|0,s=s+Math.imul(d,ie)|0;var we=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(we>>>26)|0,we&=67108863,i=Math.imul(I,z),r=Math.imul(I,F),r=r+Math.imul(T,z)|0,s=Math.imul(T,F),i=i+Math.imul(M,H)|0,r=r+Math.imul(M,W)|0,r=r+Math.imul(x,H)|0,s=s+Math.imul(x,W)|0,i=i+Math.imul(S,K)|0,r=r+Math.imul(S,Z)|0,r=r+Math.imul(k,K)|0,s=s+Math.imul(k,Z)|0,i=i+Math.imul(_,X)|0,r=r+Math.imul(_,J)|0,r=r+Math.imul(w,X)|0,s=s+Math.imul(w,J)|0,i=i+Math.imul(g,Q)|0,r=r+Math.imul(g,ee)|0,r=r+Math.imul(v,Q)|0,s=s+Math.imul(v,ee)|0,i=i+Math.imul(p,ne)|0,r=r+Math.imul(p,ie)|0,r=r+Math.imul(b,ne)|0,s=s+Math.imul(b,ie)|0,i=i+Math.imul(u,se)|0,r=r+Math.imul(u,oe)|0,r=r+Math.imul(d,se)|0,s=s+Math.imul(d,oe)|0;var Ee=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,i=Math.imul(D,z),r=Math.imul(D,F),r=r+Math.imul(P,z)|0,s=Math.imul(P,F),i=i+Math.imul(I,H)|0,r=r+Math.imul(I,W)|0,r=r+Math.imul(T,H)|0,s=s+Math.imul(T,W)|0,i=i+Math.imul(M,K)|0,r=r+Math.imul(M,Z)|0,r=r+Math.imul(x,K)|0,s=s+Math.imul(x,Z)|0,i=i+Math.imul(S,X)|0,r=r+Math.imul(S,J)|0,r=r+Math.imul(k,X)|0,s=s+Math.imul(k,J)|0,i=i+Math.imul(_,Q)|0,r=r+Math.imul(_,ee)|0,r=r+Math.imul(w,Q)|0,s=s+Math.imul(w,ee)|0,i=i+Math.imul(g,ne)|0,r=r+Math.imul(g,ie)|0,r=r+Math.imul(v,ne)|0,s=s+Math.imul(v,ie)|0,i=i+Math.imul(p,se)|0,r=r+Math.imul(p,oe)|0,r=r+Math.imul(b,se)|0,s=s+Math.imul(b,oe)|0,i=i+Math.imul(u,ce)|0,r=r+Math.imul(u,he)|0,r=r+Math.imul(d,ce)|0,s=s+Math.imul(d,he)|0;var Se=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(Se>>>26)|0,Se&=67108863,i=Math.imul(L,z),r=Math.imul(L,F),r=r+Math.imul(O,z)|0,s=Math.imul(O,F),i=i+Math.imul(D,H)|0,r=r+Math.imul(D,W)|0,r=r+Math.imul(P,H)|0,s=s+Math.imul(P,W)|0,i=i+Math.imul(I,K)|0,r=r+Math.imul(I,Z)|0,r=r+Math.imul(T,K)|0,s=s+Math.imul(T,Z)|0,i=i+Math.imul(M,X)|0,r=r+Math.imul(M,J)|0,r=r+Math.imul(x,X)|0,s=s+Math.imul(x,J)|0,i=i+Math.imul(S,Q)|0,r=r+Math.imul(S,ee)|0,r=r+Math.imul(k,Q)|0,s=s+Math.imul(k,ee)|0,i=i+Math.imul(_,ne)|0,r=r+Math.imul(_,ie)|0,r=r+Math.imul(w,ne)|0,s=s+Math.imul(w,ie)|0,i=i+Math.imul(g,se)|0,r=r+Math.imul(g,oe)|0,r=r+Math.imul(v,se)|0,s=s+Math.imul(v,oe)|0,i=i+Math.imul(p,ce)|0,r=r+Math.imul(p,he)|0,r=r+Math.imul(b,ce)|0,s=s+Math.imul(b,he)|0,i=i+Math.imul(u,ue)|0,r=r+Math.imul(u,de)|0,r=r+Math.imul(d,ue)|0,s=s+Math.imul(d,de)|0;var ke=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(ke>>>26)|0,ke&=67108863,i=Math.imul(N,z),r=Math.imul(N,F),r=r+Math.imul(j,z)|0,s=Math.imul(j,F),i=i+Math.imul(L,H)|0,r=r+Math.imul(L,W)|0,r=r+Math.imul(O,H)|0,s=s+Math.imul(O,W)|0,i=i+Math.imul(D,K)|0,r=r+Math.imul(D,Z)|0,r=r+Math.imul(P,K)|0,s=s+Math.imul(P,Z)|0,i=i+Math.imul(I,X)|0,r=r+Math.imul(I,J)|0,r=r+Math.imul(T,X)|0,s=s+Math.imul(T,J)|0,i=i+Math.imul(M,Q)|0,r=r+Math.imul(M,ee)|0,r=r+Math.imul(x,Q)|0,s=s+Math.imul(x,ee)|0,i=i+Math.imul(S,ne)|0,r=r+Math.imul(S,ie)|0,r=r+Math.imul(k,ne)|0,s=s+Math.imul(k,ie)|0,i=i+Math.imul(_,se)|0,r=r+Math.imul(_,oe)|0,r=r+Math.imul(w,se)|0,s=s+Math.imul(w,oe)|0,i=i+Math.imul(g,ce)|0,r=r+Math.imul(g,he)|0,r=r+Math.imul(v,ce)|0,s=s+Math.imul(v,he)|0,i=i+Math.imul(p,ue)|0,r=r+Math.imul(p,de)|0,r=r+Math.imul(b,ue)|0,s=s+Math.imul(b,de)|0,i=i+Math.imul(u,pe)|0,r=r+Math.imul(u,be)|0,r=r+Math.imul(d,pe)|0,s=s+Math.imul(d,be)|0;var Ae=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,i=Math.imul(N,H),r=Math.imul(N,W),r=r+Math.imul(j,H)|0,s=Math.imul(j,W),i=i+Math.imul(L,K)|0,r=r+Math.imul(L,Z)|0,r=r+Math.imul(O,K)|0,s=s+Math.imul(O,Z)|0,i=i+Math.imul(D,X)|0,r=r+Math.imul(D,J)|0,r=r+Math.imul(P,X)|0,s=s+Math.imul(P,J)|0,i=i+Math.imul(I,Q)|0,r=r+Math.imul(I,ee)|0,r=r+Math.imul(T,Q)|0,s=s+Math.imul(T,ee)|0,i=i+Math.imul(M,ne)|0,r=r+Math.imul(M,ie)|0,r=r+Math.imul(x,ne)|0,s=s+Math.imul(x,ie)|0,i=i+Math.imul(S,se)|0,r=r+Math.imul(S,oe)|0,r=r+Math.imul(k,se)|0,s=s+Math.imul(k,oe)|0,i=i+Math.imul(_,ce)|0,r=r+Math.imul(_,he)|0,r=r+Math.imul(w,ce)|0,s=s+Math.imul(w,he)|0,i=i+Math.imul(g,ue)|0,r=r+Math.imul(g,de)|0,r=r+Math.imul(v,ue)|0,s=s+Math.imul(v,de)|0,i=i+Math.imul(p,pe)|0,r=r+Math.imul(p,be)|0,r=r+Math.imul(b,pe)|0,s=s+Math.imul(b,be)|0;var Me=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(Me>>>26)|0,Me&=67108863,i=Math.imul(N,K),r=Math.imul(N,Z),r=r+Math.imul(j,K)|0,s=Math.imul(j,Z),i=i+Math.imul(L,X)|0,r=r+Math.imul(L,J)|0,r=r+Math.imul(O,X)|0,s=s+Math.imul(O,J)|0,i=i+Math.imul(D,Q)|0,r=r+Math.imul(D,ee)|0,r=r+Math.imul(P,Q)|0,s=s+Math.imul(P,ee)|0,i=i+Math.imul(I,ne)|0,r=r+Math.imul(I,ie)|0,r=r+Math.imul(T,ne)|0,s=s+Math.imul(T,ie)|0,i=i+Math.imul(M,se)|0,r=r+Math.imul(M,oe)|0,r=r+Math.imul(x,se)|0,s=s+Math.imul(x,oe)|0,i=i+Math.imul(S,ce)|0,r=r+Math.imul(S,he)|0,r=r+Math.imul(k,ce)|0,s=s+Math.imul(k,he)|0,i=i+Math.imul(_,ue)|0,r=r+Math.imul(_,de)|0,r=r+Math.imul(w,ue)|0,s=s+Math.imul(w,de)|0,i=i+Math.imul(g,pe)|0,r=r+Math.imul(g,be)|0,r=r+Math.imul(v,pe)|0,s=s+Math.imul(v,be)|0;var xe=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(xe>>>26)|0,xe&=67108863,i=Math.imul(N,X),r=Math.imul(N,J),r=r+Math.imul(j,X)|0,s=Math.imul(j,J),i=i+Math.imul(L,Q)|0,r=r+Math.imul(L,ee)|0,r=r+Math.imul(O,Q)|0,s=s+Math.imul(O,ee)|0,i=i+Math.imul(D,ne)|0,r=r+Math.imul(D,ie)|0,r=r+Math.imul(P,ne)|0,s=s+Math.imul(P,ie)|0,i=i+Math.imul(I,se)|0,r=r+Math.imul(I,oe)|0,r=r+Math.imul(T,se)|0,s=s+Math.imul(T,oe)|0,i=i+Math.imul(M,ce)|0,r=r+Math.imul(M,he)|0,r=r+Math.imul(x,ce)|0,s=s+Math.imul(x,he)|0,i=i+Math.imul(S,ue)|0,r=r+Math.imul(S,de)|0,r=r+Math.imul(k,ue)|0,s=s+Math.imul(k,de)|0,i=i+Math.imul(_,pe)|0,r=r+Math.imul(_,be)|0,r=r+Math.imul(w,pe)|0,s=s+Math.imul(w,be)|0;var Re=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(Re>>>26)|0,Re&=67108863,i=Math.imul(N,Q),r=Math.imul(N,ee),r=r+Math.imul(j,Q)|0,s=Math.imul(j,ee),i=i+Math.imul(L,ne)|0,r=r+Math.imul(L,ie)|0,r=r+Math.imul(O,ne)|0,s=s+Math.imul(O,ie)|0,i=i+Math.imul(D,se)|0,r=r+Math.imul(D,oe)|0,r=r+Math.imul(P,se)|0,s=s+Math.imul(P,oe)|0,i=i+Math.imul(I,ce)|0,r=r+Math.imul(I,he)|0,r=r+Math.imul(T,ce)|0,s=s+Math.imul(T,he)|0,i=i+Math.imul(M,ue)|0,r=r+Math.imul(M,de)|0,r=r+Math.imul(x,ue)|0,s=s+Math.imul(x,de)|0,i=i+Math.imul(S,pe)|0,r=r+Math.imul(S,be)|0,r=r+Math.imul(k,pe)|0,s=s+Math.imul(k,be)|0;var Ie=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,i=Math.imul(N,ne),r=Math.imul(N,ie),r=r+Math.imul(j,ne)|0,s=Math.imul(j,ie),i=i+Math.imul(L,se)|0,r=r+Math.imul(L,oe)|0,r=r+Math.imul(O,se)|0,s=s+Math.imul(O,oe)|0,i=i+Math.imul(D,ce)|0,r=r+Math.imul(D,he)|0,r=r+Math.imul(P,ce)|0,s=s+Math.imul(P,he)|0,i=i+Math.imul(I,ue)|0,r=r+Math.imul(I,de)|0,r=r+Math.imul(T,ue)|0,s=s+Math.imul(T,de)|0,i=i+Math.imul(M,pe)|0,r=r+Math.imul(M,be)|0,r=r+Math.imul(x,pe)|0,s=s+Math.imul(x,be)|0;var Te=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(Te>>>26)|0,Te&=67108863,i=Math.imul(N,se),r=Math.imul(N,oe),r=r+Math.imul(j,se)|0,s=Math.imul(j,oe),i=i+Math.imul(L,ce)|0,r=r+Math.imul(L,he)|0,r=r+Math.imul(O,ce)|0,s=s+Math.imul(O,he)|0,i=i+Math.imul(D,ue)|0,r=r+Math.imul(D,de)|0,r=r+Math.imul(P,ue)|0,s=s+Math.imul(P,de)|0,i=i+Math.imul(I,pe)|0,r=r+Math.imul(I,be)|0,r=r+Math.imul(T,pe)|0,s=s+Math.imul(T,be)|0;var Ce=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,i=Math.imul(N,ce),r=Math.imul(N,he),r=r+Math.imul(j,ce)|0,s=Math.imul(j,he),i=i+Math.imul(L,ue)|0,r=r+Math.imul(L,de)|0,r=r+Math.imul(O,ue)|0,s=s+Math.imul(O,de)|0,i=i+Math.imul(D,pe)|0,r=r+Math.imul(D,be)|0,r=r+Math.imul(P,pe)|0,s=s+Math.imul(P,be)|0;var De=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(De>>>26)|0,De&=67108863,i=Math.imul(N,ue),r=Math.imul(N,de),r=r+Math.imul(j,ue)|0,s=Math.imul(j,de),i=i+Math.imul(L,pe)|0,r=r+Math.imul(L,be)|0,r=r+Math.imul(O,pe)|0,s=s+Math.imul(O,be)|0;var Pe=(h+i|0)+((8191&r)<<13)|0;h=(s+(r>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,i=Math.imul(N,pe),r=Math.imul(N,be),r=r+Math.imul(j,pe)|0,s=Math.imul(j,be);var Be=(h+i|0)+((8191&r)<<13)|0;return h=(s+(r>>>13)|0)+(Be>>>26)|0,Be&=67108863,c[0]=me,c[1]=ge,c[2]=ve,c[3]=ye,c[4]=_e,c[5]=we,c[6]=Ee,c[7]=Se,c[8]=ke,c[9]=Ae,c[10]=Me,c[11]=xe,c[12]=Re,c[13]=Ie,c[14]=Te,c[15]=Ce,c[16]=De,c[17]=Pe,c[18]=Be,0!==h&&(c[19]=h,n.length++),n};Math.imul||(k=h),s.prototype.mulTo=function(e,t){var n,i=this.length+e.length;return n=10===this.length&&10===e.length?k(this,e,t):i<63?h(this,e,t):i<1024?f(this,e,t):u(this,e,t)},d.prototype.makeRBT=function(e){for(var t=new Array(e),n=s.prototype._countBits(e)-1,i=0;i>=1;return i},d.prototype.permute=function(e,t,n,i,r,s){for(var o=0;o>>=1)r++;return 1<>>=13,n[2*o+1]=8191&s,s>>>=13;for(o=2*t;o>=26,t+=r/67108864|0,t+=s>>>26,this.words[n]=67108863&s}return 0!==t&&(this.words[n]=t,this.length++),this},s.prototype.muln=function(e){return this.clone().imuln(e)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(e){var t=c(e);if(0===t.length)return new s(1);for(var n=this,i=0;i=0);var t,n=e%26,r=(e-n)/26,s=67108863>>>26-n<<26-n;if(0!==n){var o=0;for(t=0;t>>26-n}o&&(this.words[t]=o,this.length++)}if(0!==r){for(t=this.length-1;t>=0;t--)this.words[t+r]=this.words[t];for(t=0;t=0);var r;r=t?(t-t%26)/26:0;var s=e%26,o=Math.min((e-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,h=0;h=0&&(0!==f||h>=r);h--){var u=0|this.words[h];this.words[h]=f<<26-s|u>>>s,f=u&a}return c&&0!==f&&(c.words[c.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(e,t,n){return i(0===this.negative),this.iushrn(e,t,n)},s.prototype.shln=function(e){return this.clone().ishln(e)},s.prototype.ushln=function(e){return this.clone().iushln(e)},s.prototype.shrn=function(e){return this.clone().ishrn(e)},s.prototype.ushrn=function(e){return this.clone().iushrn(e)},s.prototype.testn=function(e){i("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,r=1<=0);var t=e%26,n=(e-t)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var r=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},s.prototype.isubn=function(e){if(i("number"==typeof e),i(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(c/67108864|0),this.words[r+n]=67108863&o}for(;r>26,this.words[r+n]=67108863&o;if(0===a)return this.strip();for(i(a===-1),a=0, +r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this.strip()},s.prototype._wordDiv=function(e,t){var n=this.length-e.length,i=this.clone(),r=e,o=0|r.words[r.length-1],a=this._countBits(o);n=26-a,0!==n&&(r=r.ushln(n),i.iushln(n),o=0|r.words[r.length-1]);var c,h=i.length-r.length;if("mod"!==t){c=new s(null),c.length=h+1,c.words=new Array(c.length);for(var f=0;f=0;d--){var l=67108864*(0|i.words[r.length+d])+(0|i.words[r.length+d-1]);for(l=Math.min(l/o|0,67108863),i._ishlnsubmul(r,l,d);0!==i.negative;)l--,i.negative=0,i._ishlnsubmul(r,1,d),i.isZero()||(i.negative^=1);c&&(c.words[d]=l)}return c&&c.strip(),i.strip(),"div"!==t&&0!==n&&i.iushrn(n),{div:c||null,mod:i}},s.prototype.divmod=function(e,t,n){if(i(!e.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var r,o,a;return 0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),"mod"!==t&&(r=a.div.neg()),"div"!==t&&(o=a.mod.neg(),n&&0!==o.negative&&o.iadd(e)),{div:r,mod:o}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),"mod"!==t&&(r=a.div.neg()),{div:r,mod:a.mod}):0!==(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),"div"!==t&&(o=a.mod.neg(),n&&0!==o.negative&&o.isub(e)),{div:a.div,mod:o}):e.length>this.length||this.cmp(e)<0?{div:new s(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new s(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new s(this.modn(e.words[0]))}:this._wordDiv(e,t)},s.prototype.div=function(e){return this.divmod(e,"div",!1).div},s.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},s.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},s.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,i=e.ushrn(1),r=e.andln(1),s=n.cmp(i);return s<0||1===r&&0===s?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},s.prototype.modn=function(e){i(e<=67108863);for(var t=(1<<26)%e,n=0,r=this.length-1;r>=0;r--)n=(t*n+(0|this.words[r]))%e;return n},s.prototype.idivn=function(e){i(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var r=(0|this.words[n])+67108864*t;this.words[n]=r/e|0,t=r%e}return this.strip()},s.prototype.divn=function(e){return this.clone().idivn(e)},s.prototype.egcd=function(e){i(0===e.negative),i(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r=new s(1),o=new s(0),a=new s(0),c=new s(1),h=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++h;for(var f=n.clone(),u=t.clone();!t.isZero();){for(var d=0,l=1;0===(t.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(r.isOdd()||o.isOdd())&&(r.iadd(f),o.isub(u)),r.iushrn(1),o.iushrn(1);for(var p=0,b=1;0===(n.words[0]&b)&&p<26;++p,b<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||c.isOdd())&&(a.iadd(f),c.isub(u)),a.iushrn(1),c.iushrn(1);t.cmp(n)>=0?(t.isub(n),r.isub(a),o.isub(c)):(n.isub(t),a.isub(r),c.isub(o))}return{a:a,b:c,gcd:n.iushln(h)}},s.prototype._invmp=function(e){i(0===e.negative),i(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r=new s(1),o=new s(0),a=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,h=1;0===(t.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(t.iushrn(c);c-- >0;)r.isOdd()&&r.iadd(a),r.iushrn(1);for(var f=0,u=1;0===(n.words[0]&u)&&f<26;++f,u<<=1);if(f>0)for(n.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(a),o.iushrn(1);t.cmp(n)>=0?(t.isub(n),r.isub(o)):(n.isub(t),o.isub(r))}var d;return d=0===t.cmpn(1)?r:o,d.cmpn(0)<0&&d.iadd(e),d},s.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var i=0;t.isEven()&&n.isEven();i++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var r=t.cmp(n);if(r<0){var s=t;t=n,n=s}else if(0===r||0===n.cmpn(1))break;t.isub(n)}return n.iushln(i)},s.prototype.invm=function(e){return this.egcd(e).a.umod(e)},s.prototype.isEven=function(){return 0===(1&this.words[0])},s.prototype.isOdd=function(){return 1===(1&this.words[0])},s.prototype.andln=function(e){return this.words[0]&e},s.prototype.bincn=function(e){i("number"==typeof e);var t=e%26,n=(e-t)/26,r=1<>>26,a&=67108863,this.words[o]=a}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(e){var t=e<0;if(0!==this.negative&&!t)return-1;if(0===this.negative&&t)return 1;this.strip();var n;if(this.length>1)n=1;else{t&&(e=-e),i(e<=67108863,"Number is too big");var r=0|this.words[0];n=r===e?0:re.length)return 1;if(this.length=0;n--){var i=0|this.words[n],r=0|e.words[n];if(i!==r){ir&&(t=1);break}}return t},s.prototype.gtn=function(e){return 1===this.cmpn(e)},s.prototype.gt=function(e){return 1===this.cmp(e)},s.prototype.gten=function(e){return this.cmpn(e)>=0},s.prototype.gte=function(e){return this.cmp(e)>=0},s.prototype.ltn=function(e){return this.cmpn(e)===-1},s.prototype.lt=function(e){return this.cmp(e)===-1},s.prototype.lten=function(e){return this.cmpn(e)<=0},s.prototype.lte=function(e){return this.cmp(e)<=0},s.prototype.eqn=function(e){return 0===this.cmpn(e)},s.prototype.eq=function(e){return 0===this.cmp(e)},s.red=function(e){return new v(e)},s.prototype.toRed=function(e){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(e){return this.red=e,this},s.prototype.forceRed=function(e){return i(!this.red,"Already a number in reduction context"),this._forceRed(e)},s.prototype.redAdd=function(e){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},s.prototype.redIAdd=function(e){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},s.prototype.redSub=function(e){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},s.prototype.redISub=function(e){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},s.prototype.redShl=function(e){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},s.prototype.redMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},s.prototype.redIMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(e){return i(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var A={k256:null,p224:null,p192:null,p25519:null};l.prototype._tmp=function(){var e=new s(null);return e.words=new Array(Math.ceil(this.n/13)),e},l.prototype.ireduce=function(e){var t,n=e;do this.split(n,this.tmp),n=this.imulK(n),n=n.iadd(this.tmp),t=n.bitLength();while(t>this.n);var i=t0?n.isub(this.p):n.strip(),n},l.prototype.split=function(e,t){e.iushrn(this.n,0,t)},l.prototype.imulK=function(e){return e.imul(this.k)},r(p,l),p.prototype.split=function(e,t){for(var n=4194303,i=Math.min(e.length,9),r=0;r>>22,s=o}s>>>=22,e.words[r-10]=s,0===s&&e.length>10?e.length-=10:e.length-=9},p.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=r,t=i}return 0!==t&&(e.words[e.length++]=t),e},s._prime=function e(t){if(A[t])return A[t];var e;if("k256"===t)e=new p;else if("p224"===t)e=new b;else if("p192"===t)e=new m;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new g}return A[t]=e,e},v.prototype._verify1=function(e){i(0===e.negative,"red works only with positives"),i(e.red,"red works only with red numbers")},v.prototype._verify2=function(e,t){i(0===(e.negative|t.negative),"red works only with positives"),i(e.red&&e.red===t.red,"red works only with red numbers")},v.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},v.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},v.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},v.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},v.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},v.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},v.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},v.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},v.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},v.prototype.isqr=function(e){return this.imul(e,e.clone())},v.prototype.sqr=function(e){return this.mul(e,e)},v.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(i(t%2===1),3===t){var n=this.m.add(new s(1)).iushrn(2);return this.pow(e,n)}for(var r=this.m.subn(1),o=0;!r.isZero()&&0===r.andln(1);)o++,r.iushrn(1);i(!r.isZero());var a=new s(1).toRed(this),c=a.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new s(2*f*f).toRed(this);0!==this.pow(f,h).cmp(c);)f.redIAdd(c);for(var u=this.pow(f,r),d=this.pow(e,r.addn(1).iushrn(1)),l=this.pow(e,r),p=o;0!==l.cmp(a);){for(var b=l,m=0;0!==b.cmp(a);m++)b=b.redSqr();i(m=0;r--){for(var f=t.words[r],u=h-1;u>=0;u--){var d=f>>u&1;o!==i[0]&&(o=this.sqr(o)),0!==d||0!==a?(a<<=1,a|=d,c++,(c===n||0===r&&0===u)&&(o=this.mul(o,i[a]),c=0,a=0)):c=0}h=26}return o},v.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},v.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},s.mont=function(e){return new y(e)},r(y,v),y.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},y.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},y.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),i=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(i).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},y.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new s(0)._forceRed(this);var n=e.mul(t),i=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(i).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},y.prototype.invm=function(e){var t=this.imod(e._invmp(this.m).mul(this.r2));return t._forceRed(this)}}("undefined"==typeof e||e,this)}).call(t,n(121)(e))},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function r(e){if(f===setTimeout)return setTimeout(e,0);if((f===n||!f)&&setTimeout)return f=setTimeout,setTimeout(e,0);try{return f(e,0)}catch(t){try{return f.call(null,e,0)}catch(t){return f.call(this,e,0)}}}function s(e){if(u===clearTimeout)return clearTimeout(e);if((u===i||!u)&&clearTimeout)return u=clearTimeout,clearTimeout(e);try{return u(e)}catch(t){try{return u.call(null,e)}catch(t){return u.call(this,e)}}}function o(){b&&l&&(b=!1,l.length?p=l.concat(p):m=-1,p.length&&a())}function a(){if(!b){var e=r(o);b=!0;for(var t=p.length;t;){for(l=p,p=[];++m1)for(var n=1;n=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),b(n)?i.showHidden=n:n&&t._extend(i,n),w(i.showHidden)&&(i.showHidden=!1),w(i.depth)&&(i.depth=2),w(i.colors)&&(i.colors=!1),w(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=s),c(i,e,i.depth)}function s(e,t){var n=r.styles[t];return n?"["+r.colors[n][0]+"m"+e+"["+r.colors[n][1]+"m":e}function o(e,t){return e}function a(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function c(e,n,i){if(e.customInspect&&n&&M(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var r=n.inspect(i,e);return y(r)||(r=c(e,r,i)),r}var s=h(e,n);if(s)return s;var o=Object.keys(n),b=a(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(n)),A(n)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return f(n);if(0===o.length){if(M(n)){var m=n.name?": "+n.name:"";return e.stylize("[Function"+m+"]","special")}if(E(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(k(n))return e.stylize(Date.prototype.toString.call(n),"date");if(A(n))return f(n)}var g="",v=!1,_=["{","}"];if(p(n)&&(v=!0,_=["[","]"]),M(n)){var w=n.name?": "+n.name:"";g=" [Function"+w+"]"}if(E(n)&&(g=" "+RegExp.prototype.toString.call(n)),k(n)&&(g=" "+Date.prototype.toUTCString.call(n)),A(n)&&(g=" "+f(n)),0===o.length&&(!v||0==n.length))return _[0]+g+_[1];if(i<0)return E(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special");e.seen.push(n);var S;return S=v?u(e,n,i,b,o):o.map(function(t){return d(e,n,i,b,t,v)}),e.seen.pop(),l(S,g,_)}function h(e,t){if(w(t))return e.stylize("undefined","undefined");if(y(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return v(t)?e.stylize(""+t,"number"):b(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}function f(e){return"["+Error.prototype.toString.call(e)+"]"}function u(e,t,n,i,r){for(var s=[],o=0,a=t.length;o-1&&(a=s?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n"))):a=e.stylize("[Circular]","special")),w(o)){if(s&&r.match(/^\d+$/))return a;o=JSON.stringify(""+r),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+a}function l(e,t,n){var i=0,r=e.reduce(function(e,t){return i++,t.indexOf("\n")>=0&&i++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);return r>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}function p(e){return Array.isArray(e)}function b(e){return"boolean"==typeof e}function m(e){return null===e}function g(e){return null==e}function v(e){return"number"==typeof e}function y(e){return"string"==typeof e}function _(e){return"symbol"==typeof e}function w(e){return void 0===e}function E(e){return S(e)&&"[object RegExp]"===R(e)}function S(e){return"object"==typeof e&&null!==e}function k(e){return S(e)&&"[object Date]"===R(e)}function A(e){return S(e)&&("[object Error]"===R(e)||e instanceof Error)}function M(e){return"function"==typeof e}function x(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function R(e){return Object.prototype.toString.call(e)}function I(e){return e<10?"0"+e.toString(10):e.toString(10)}function T(){var e=new Date,t=[I(e.getHours()),I(e.getMinutes()),I(e.getSeconds())].join(":");return[e.getDate(),L[e.getMonth()],t].join(" ")}function C(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var D=/%[sdj%]/g;t.format=function(e){if(!y(e)){for(var t=[],n=0;n=s)return e;switch(e){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch(e){return"[Circular]"}default:return e}}),a=i[n];n`}sendMessage(){}sendTTSMessage(){}sendFile(){}sendCode(){}}i.applyToClass(o),e.exports=o},function(e,t){class n{constructor(e={}){this.status=e.status||"offline",this.game=e.game?new i(e.game):null}update(e){this.status=e.status||this.status,this.game=e.game?new i(e.game):null}equals(e){return e&&this.status===e.status&&this.game?this.game.equals(e.game):!e.game}}class i{constructor(e){this.name=e.name,this.type=e.type,this.url=e.url||null}get streaming(){return 1===this.type}equals(e){return e&&this.name===e.name&&this.type===e.type&&this.url===e.url}}t.Presence=n,t.Game=i},function(e,t,n){var i=t;i.utils=n(197),i.common=n(193),i.sha=n(196),i.ripemd=n(195),i.hmac=n(194),i.sha1=i.sha.sha1,i.sha256=i.sha.sha256,i.sha224=i.sha.sha224,i.sha384=i.sha.sha384,i.sha512=i.sha.sha512,i.ripemd160=i.ripemd.ripemd160},function(e,t,n){"use strict";function i(e){return this instanceof i?(h.call(this,e),f.call(this,e),e&&e.readable===!1&&(this.readable=!1),e&&e.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,e&&e.allowHalfOpen===!1&&(this.allowHalfOpen=!1),void this.once("end",r)):new i(e)}function r(){this.allowHalfOpen||this._writableState.ended||a(s,this)}function s(e){e.end()}var o=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=i;var a=n(56),c=n(28);c.inherits=n(2);var h=n(117),f=n(58);c.inherits(i,h);for(var u=o(f.prototype),d=0;de.roles.has(this.id))}serialize(){const e={};for(const t in i.PermissionFlags)e[t]=this.hasPermission(t);return e}hasPermission(e,t=false){return e=this.client.resolver.resolvePermission(e),!t&&(this.permissions&i.PermissionFlags.ADMINISTRATOR)>0||(this.permissions&e)>0}hasPermissions(e,t=false){return e.every(e=>this.hasPermission(e,t))}comparePositionTo(e){return this.constructor.comparePositions(this,e)}edit(e){return this.client.rest.methods.updateGuildRole(this,e)}setName(e){return this.edit({name:e})}setColor(e){return this.edit({color:e})}setHoist(e){return this.edit({hoist:e})}setPosition(e){return this.guild.setRolePosition(this,e)}setPermissions(e){return this.edit({permissions:e})}setMentionable(e){return this.edit({mentionable:e})}delete(){return this.client.rest.methods.deleteGuildRole(this)}get editable(){if(this.managed)return!1;const e=this.guild.member(this.client.user);return!!e.hasPermission(i.PermissionFlags.MANAGE_ROLES_OR_PERMISSIONS)&&e.highestRole.comparePositionTo(this)>0}equals(e){return e&&this.id===e.id&&this.name===e.name&&this.color===e.color&&this.hoist===e.hoist&&this.position===e.position&&this.permissions===e.permissions&&this.managed===e.managed}toString(){return`<@&${this.id}>`}static comparePositions(e,t){return e.position===t.position?t.id-e.id:e.position-t.position}}e.exports=r},function(e,t,n){(function(t){function i(e){r.call(this),this.hashMode="string"==typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._decoder=null,this._encoding=null}var r=n(11).Transform,s=n(2),o=n(59).StringDecoder;e.exports=i,s(i,r),i.prototype.update=function(e,n,i){"string"==typeof e&&(e=new t(e,n));var r=this._update(e);return this.hashMode?this:(i&&(r=this._toString(r,i)),r)},i.prototype.setAutoPadding=function(){},i.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},i.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},i.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},i.prototype._transform=function(e,t,n){var i;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){i=e}finally{n(i)}},i.prototype._flush=function(e){var t;try{this.push(this._final())}catch(e){t=e}finally{e(t)}},i.prototype._finalOrDigest=function(e){var n=this._final()||new t("");return e&&(n=this._toString(n,e,!0)),n},i.prototype._toString=function(e,t,n){if(this._decoder||(this._decoder=new o(t),this._encoding=t),this._encoding!==t)throw new Error("can't switch encodings");var i=this._decoder.write(e);return n&&(i+=this._decoder.end()),i}}).call(t,n(0).Buffer)},function(e,t,n){"use strict";(function(t){function i(e){h.call(this,"digest"),this._hash=e,this.buffers=[]}function r(e){h.call(this,"digest"),this._hash=e}var s=n(2),o=n(102),a=n(166),c=n(167),h=n(20);s(i,h),i.prototype._update=function(e){this.buffers.push(e)},i.prototype._final=function(){var e=t.concat(this.buffers),n=this._hash(e);return this.buffers=null,n},s(r,h),r.prototype._update=function(e){this._hash.update(e)},r.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return e=e.toLowerCase(),"md5"===e?new i(o):"rmd160"===e||"ripemd160"===e?new i(a):new r(c(e))}}).call(t,n(0).Buffer)},function(e,t,n){(function(t){function n(e,n){this._block=new t(e),this._finalSize=n,this._blockSize=e,this._len=0,this._s=0}n.prototype.update=function(e,n){"string"==typeof e&&(n=n||"utf8",e=new t(e,n));for(var i=this._len+=e.length,r=this._s||0,s=0,o=this._block;r=8*this._finalSize&&(this._update(this._block),this._block.fill(0)),this._block.writeInt32BE(t,this._blockSize-4);var n=this._update(this._block)||this._hash();return e?n.toString(e):n},n.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=n}).call(t,n(0).Buffer)},function(e,t,n){(function(e){function n(e,t){for(var n=0,i=e.length-1;i>=0;i--){var r=e[i];"."===r?e.splice(i,1):".."===r?(e.splice(i,1),n++):n&&(e.splice(i,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function i(e,t){if(e.filter)return e.filter(t);for(var n=[],i=0;i=-1&&!r;s--){var o=s>=0?arguments[s]:e.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(t=o+"/"+t,r="/"===o.charAt(0))}return t=n(i(t.split("/"),function(e){return!!e}),!r).join("/"),(r?"/":"")+t||"."},t.normalize=function(e){var r=t.isAbsolute(e),s="/"===o(e,-1);return e=n(i(e.split("/"),function(e){return!!e}),!r).join("/"),e||r||(e="."),e&&s&&(e+="/"),(r?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(i(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},t.relative=function(e,n){function i(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=t.resolve(e).substr(1),n=t.resolve(n).substr(1);for(var r=i(e.split("/")),s=i(n.split("/")),o=Math.min(r.length,s.length),a=o,c=0;c`:this.name}get identifier(){return this.id?`${this.name}:${this.id}`:encodeURIComponent(this.name)}}e.exports=s},function(e,t,n){var i=t;i.Reporter=n(143).Reporter,i.DecoderBuffer=n(84).DecoderBuffer,i.EncoderBuffer=n(84).EncoderBuffer,i.Node=n(142)},function(e,t,n){(function(t){e.exports=function(e,n){for(var i=Math.min(e.length,n.length),r=new t(i),s=0;s65536)throw new Error("requested too many random bytes");var s=new t.Uint8Array(e);e>0&&o.getRandomValues(s);var a=new n(s.buffer);return"function"==typeof r?i.nextTick(function(){r(null,a)}):a}var o=t.crypto||t.msCrypto;o&&o.getRandomValues?e.exports=s:e.exports=r}).call(t,n(18),n(0).Buffer,n(8))},function(e,t,n){function i(e,t){Object.defineProperty(e.prototype,t,Object.getOwnPropertyDescriptor(h.prototype,t))}const r=n(23),s=n(34),o=n(73),a=n(6),c=n(35);class h{constructor(){this.messages=new a,this.lastMessageID=null}sendMessage(e,t={}){return this.client.rest.methods.sendMessage(this,e,t)}sendTTSMessage(e,t={}){return Object.assign(t,{tts:!0}),this.client.rest.methods.sendMessage(this,e,t)}sendFile(e,t,n,i={}){return t||(t="string"==typeof e?r.basename(e):e&&e.path?r.basename(e.path):"file.jpg"),this.client.resolver.resolveBuffer(e).then(e=>this.client.rest.methods.sendMessage(this,n,i,{file:e,name:t}))}sendCode(e,t,n={}){return n.split&&("object"!=typeof n.split&&(n.split={}),n.split.prepend||(n.split.prepend=`\`\`\`${e||""} +`),n.split.append||(n.split.append="\n```")),t=c(this.client.resolver.resolveString(t),!0),this.sendMessage(`\`\`\`${e||""} ${t} -\`\`\``,i)}fetchMessage(e){return this.client.rest.methods.getChannelMessage(this,e).then(e=>{const t=e instanceof s?e:new s(this,e,this.client);return this._cacheMessage(t),t})}fetchMessages(e={}){return this.client.rest.methods.getChannelMessages(this,e).then(e=>{const t=new o;for(const i of e){const e=new s(this,i,this.client);t.set(i.id,e),this._cacheMessage(e)}return t})}fetchPinnedMessages(){return this.client.rest.methods.getChannelPinnedMessages(this).then(e=>{const t=new o;for(const i of e){const e=new s(this,i,this.client);t.set(i.id,e),this._cacheMessage(e)}return t})}startTyping(e){if("undefined"!=typeof e&&e<1)throw new RangeError("Count must be at least 1.");if(this.client.user._typing.has(this.id)){const t=this.client.user._typing.get(this.id);t.count=e||t.count+1}else this.client.user._typing.set(this.id,{count:e||1,interval:this.client.setInterval(()=>{this.client.rest.methods.sendTyping(this.id)},4e3)}),this.client.rest.methods.sendTyping(this.id)}stopTyping(e=false){if(this.client.user._typing.has(this.id)){const t=this.client.user._typing.get(this.id);t.count--,(t.count<=0||e)&&(this.client.clearInterval(t.interval),this.client.user._typing.delete(this.id))}}get typing(){return this.client.user._typing.has(this.id)}get typingCount(){return this.client.user._typing.has(this.id)?this.client.user._typing.get(this.id).count:0}createCollector(e,t={}){return new a(this,e,t)}awaitMessages(e,t={}){return new Promise((i,r)=>{const n=this.createCollector(e,t);n.on("end",(e,n)=>{t.errors&&t.errors.includes(n)?r(e):i(e)})})}bulkDelete(e){if(!isNaN(e))return this.fetchMessages({limit:e}).then(e=>this.bulkDelete(e));if(e instanceof Array||e instanceof o){const t=e instanceof o?e.keyArray():e.map(e=>e.id);return this.client.rest.methods.bulkDeleteMessages(this,t)}throw new TypeError("The messages must be an Array, Collection, or number.")}_cacheMessage(e){const t=this.client.options.messageCacheMaxSize;return 0===t?null:(this.messages.size>=t&&t>0&&this.messages.delete(this.messages.firstKey()),this.messages.set(e.id,e),e)}}t.applyToClass=((e,t=false)=>{const i=["sendMessage","sendTTSMessage","sendFile","sendCode"];t&&(i.push("_cacheMessage"),i.push("fetchMessages"),i.push("fetchMessage"),i.push("bulkDelete"),i.push("startTyping"),i.push("stopTyping"),i.push("typing"),i.push("typingCount"),i.push("fetchPinnedMessages"),i.push("createCollector"),i.push("awaitMessages"));for(const n of i)r(e,n)})},function(e,t,i){const r=i(24),n=i(20),s=i(79),a=i(46),o=i(1),f=i(6),h=i(63);class c extends r{constructor(e,t){super(e.client,t),this.guild=e}setup(e){if(super.setup(e),this.name=e.name,this.position=e.position,this.permissionOverwrites=new f,e.permission_overwrites)for(const t of e.permission_overwrites)this.permissionOverwrites.set(t.id,new s(this,t))}permissionsFor(e){if(e=this.client.resolver.resolveGuildMember(this.guild,e),!e)return null;if(e.id===this.guild.ownerID)return new a(e,o.ALL_PERMISSIONS);let t=0;const i=e.roles;for(const r of i.values())t|=r.permissions;const n=this.overwritesFor(e,!0,i);for(const s of n.role.concat(n.member))t&=~s.denyData,t|=s.allowData;const f=Boolean(t&o.PermissionFlags.ADMINISTRATOR);return f&&(t=o.ALL_PERMISSIONS),new a(e,t)}overwritesFor(e,t=false,i=null){if(t||(e=this.client.resolver.resolveGuildMember(this.guild,e)),!e)return[];i=i||e.roles;const r=[],n=[];for(const s of this.permissionOverwrites.values())s.id===e.id?n.push(s):i.has(s.id)&&r.push(s);return{role:r,member:n}}overwritePermissions(e,t){const i={allow:0,deny:0};if(e instanceof n)i.type="role";else if(this.guild.roles.has(e))e=this.guild.roles.get(e),i.type="role";else if(e=this.client.resolver.resolveUser(e),i.type="member",!e)return Promise.reject(new TypeError("Supplied parameter was neither a User nor a Role."));i.id=e.id;const r=this.permissionOverwrites.get(e.id);r&&(i.allow=r.allowData,i.deny=r.denyData);for(const s in t)t[s]===!0?(i.allow|=o.PermissionFlags[s]||0,i.deny&=~(o.PermissionFlags[s]||0)):t[s]===!1?(i.allow&=~(o.PermissionFlags[s]||0),i.deny|=o.PermissionFlags[s]||0):null===t[s]&&(i.allow&=~(o.PermissionFlags[s]||0),i.deny&=~(o.PermissionFlags[s]||0));return this.client.rest.methods.setChannelOverwrite(this,i)}edit(e){return this.client.rest.methods.updateChannel(this,e)}setName(e){return this.edit({name:e})}setPosition(e){return this.client.rest.methods.updateChannel(this,{position:e})}setTopic(e){return this.client.rest.methods.updateChannel(this,{topic:e})}createInvite(e={}){return this.client.rest.methods.createChannelInvite(this,e)}equals(e){let t=e&&this.id===e.id&&this.type===e.type&&this.topic===e.topic&&this.position===e.position&&this.name===e.name;if(t)if(this.permissionOverwrites&&e.permissionOverwrites){const i=this.permissionOverwrites.keyArray(),r=e.permissionOverwrites.keyArray();t=h(i,r)}else t=!this.permissionOverwrites&&!e.permissionOverwrites;return t}toString(){return`<#${this.id}>`}}e.exports=c},function(e,t,i){const r=i(31),n=i(20),s=i(46),a=i(1),o=i(6),f=i(15).Presence;class h{constructor(e,t){this.client=e.client,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.guild=e,this.user={},this._roles=[],t&&this.setup(t)}setup(e){this.serverDeaf=e.deaf,this.serverMute=e.mute,this.selfMute=e.self_mute,this.selfDeaf=e.self_deaf,this.voiceSessionID=e.session_id,this.voiceChannelID=e.channel_id,this.speaking=!1,this.nickname=e.nick||null,this.joinedTimestamp=new Date(e.joined_at).getTime(),this.user=e.user,this._roles=e.roles}get joinedAt(){return new Date(this.joinedTimestamp)}get presence(){return this.frozenPresence||this.guild.presences.get(this.id)||new f}get roles(){const e=new o,t=this.guild.roles.get(this.guild.id);t&&e.set(t.id,t);for(const i of this._roles){const t=this.guild.roles.get(i);t&&e.set(t.id,t)}return e}get highestRole(){return this.roles.reduce((e,t)=>!e||t.comparePositionTo(e)>0?t:e)}get mute(){return this.selfMute||this.serverMute}get deaf(){return this.selfDeaf||this.serverDeaf}get voiceChannel(){return this.guild.channels.get(this.voiceChannelID)}get id(){return this.user.id}get permissions(){if(this.user.id===this.guild.ownerID)return new s(this,a.ALL_PERMISSIONS);let e=0;const t=this.roles;for(const i of t.values())e|=i.permissions;const r=Boolean(e&a.PermissionFlags.ADMINISTRATOR);return r&&(e=a.ALL_PERMISSIONS),new s(this,e)}get kickable(){if(this.user.id===this.guild.ownerID)return!1;if(this.user.id===this.client.user.id)return!1;const e=this.guild.member(this.client.user);return!!e.hasPermission(a.PermissionFlags.KICK_MEMBERS)&&e.highestRole.comparePositionTo(this.highestRole)>0}get bannable(){if(this.user.id===this.guild.ownerID)return!1;if(this.user.id===this.client.user.id)return!1;const e=this.guild.member(this.client.user);return!!e.hasPermission(a.PermissionFlags.BAN_MEMBERS)&&e.highestRole.comparePositionTo(this.highestRole)>0}permissionsIn(e){if(e=this.client.resolver.resolveChannel(e),!e||!e.guild)throw new Error("Could not resolve channel to a guild channel.");return e.permissionsFor(this)}hasPermission(e,t=false){return!t&&this.user.id===this.guild.ownerID||this.roles.some(i=>i.hasPermission(e,t))}hasPermissions(e,t=false){return!t&&this.user.id===this.guild.ownerID||e.every(e=>this.hasPermission(e,t))}missingPermissions(e,t=false){return e.filter(e=>!this.hasPermission(e,t))}edit(e){return this.client.rest.methods.updateGuildMember(this,e)}setMute(e){return this.edit({mute:e})}setDeaf(e){return this.edit({deaf:e})}setVoiceChannel(e){return this.edit({channel:e})}setRoles(e){return this.edit({roles:e})}addRole(e){return this.addRoles([e])}addRoles(e){let t;if(e instanceof o){t=this._roles.slice();for(const i of e.values())t.push(i.id)}else t=this._roles.concat(e);return this.edit({roles:t})}removeRole(e){return this.removeRoles([e])}removeRoles(e){const t=this._roles.slice();if(e instanceof o)for(const i of e.values()){const e=t.indexOf(i.id);e>=0&&t.splice(e,1)}else for(const i of e){const e=t.indexOf(i instanceof n?i.id:i);e>=0&&t.splice(e,1)}return this.edit({roles:t})}setNickname(e){return this.edit({nick:e})}deleteDM(){return this.client.rest.methods.deleteChannel(this)}kick(){return this.client.rest.methods.kickGuildMember(this.guild,this)}ban(e=0){return this.client.rest.methods.banGuildMember(this.guild,this,e)}toString(){return`<@${this.nickname?"!":""}${this.user.id}>`}sendMessage(){}sendTTSMessage(){}sendFile(){}sendCode(){}}r.applyToClass(h),e.exports=h},function(e,t,i){const r=i(72),n=i(74),s=i(6),a=i(1),o=i(35),f=i(75);class h{constructor(e,t,i){this.client=i,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.channel=e,t&&this.setup(t)}setup(e){this.id=e.id,this.type=a.MessageTypes[e.type],this.content=e.content,this.author=this.client.dataManager.newUser(e.author),this.member=this.guild?this.guild.member(this.author)||null:null,this.pinned=e.pinned,this.tts=e.tts,this.nonce=e.nonce,this.system=6===e.type,this.embeds=e.embeds.map(e=>new n(this,e)),this.attachments=new s;for(const t of e.attachments)this.attachments.set(t.id,new r(this,t));this.createdTimestamp=new Date(e.timestamp).getTime(),this.editedTimestamp=e.edited_timestamp?new Date(e.edited_timestamp).getTime():null,this.mentions={users:new s,roles:new s,channels:new s,everyone:e.mention_everyone};for(const i of e.mentions){let e=this.client.users.get(i.id);e?this.mentions.users.set(e.id,e):(e=this.client.dataManager.newUser(i),this.mentions.users.set(e.id,e))}if(e.mention_roles)for(const i of e.mention_roles){const e=this.channel.guild.roles.get(i);e&&this.mentions.roles.set(e.id,e)}if(this.channel.guild){const t=e.content.match(/<#([0-9]{14,20})>/g)||[];for(const i of t){const e=this.channel.guild.channels.get(i.match(/([0-9]{14,20})/g)[0]);e&&this.mentions.channels.set(e.id,e)}}if(this._edits=[],this.reactions=new s,e.reactions&&e.reactions.length>0)for(const o of e.reactions){const e=o.emoji.id?`${o.emoji.name}:${o.emoji.id}`:o.emoji.name;this.reactions.set(e,new f(this,o.emoji,o.count,o.me))}}patch(e){if(e.author&&(this.author=this.client.users.get(e.author.id),this.guild&&(this.member=this.guild.member(this.author))),e.content&&(this.content=e.content),e.timestamp&&(this.createdTimestamp=new Date(e.timestamp).getTime()),e.edited_timestamp&&(this.editedTimestamp=e.edited_timestamp?new Date(e.edited_timestamp).getTime():null),"tts"in e&&(this.tts=e.tts),"mention_everyone"in e&&(this.mentions.everyone=e.mention_everyone),e.nonce&&(this.nonce=e.nonce),e.embeds&&(this.embeds=e.embeds.map(e=>new n(this,e))),e.type>-1&&(this.system=!1,6===e.type&&(this.system=!0)),e.attachments){this.attachments=new s;for(const t of e.attachments)this.attachments.set(t.id,new r(this,t))}if(e.mentions)for(const t of e.mentions){let e=this.client.users.get(t.id);e?this.mentions.users.set(e.id,e):(e=this.client.dataManager.newUser(t),this.mentions.users.set(e.id,e))}if(e.mention_roles)for(const t of e.mention_roles){const e=this.channel.guild.roles.get(t);e&&this.mentions.roles.set(e.id,e)}if(e.id&&(this.id=e.id),this.channel.guild&&e.content){const t=e.content.match(/<#([0-9]{14,20})>/g)||[];for(const i of t){const e=this.channel.guild.channels.get(i.match(/([0-9]{14,20})/g)[0]);e&&this.mentions.channels.set(e.id,e)}}if(e.reactions&&(this.reactions=new s,e.reactions.length>0))for(const i of e.reactions){const t=i.emoji.id?`${i.emoji.name}:${i.emoji.id}`:i.emoji.name;this.reactions.set(t,new f(this,e.emoji,e.count,e.me))}}get createdAt(){return new Date(this.createdTimestamp)}get editedAt(){return this.editedTimestamp?new Date(this.editedTimestamp):null}get guild(){return this.channel.guild||null}get cleanContent(){return this.content.replace(/@(everyone|here)/g,"@​$1").replace(/<@!?[0-9]+>/g,e=>{const t=e.replace(/<|!|>|@/g,"");if("dm"===this.channel.type||"group"===this.channel.type)return this.client.users.has(t)?`@${this.client.users.get(t).username}`:e;const i=this.channel.guild.members.get(t);if(i)return i.nickname?`@${i.nickname}`:`@${i.user.username}`;{const i=this.client.users.get(t);return i?`@${i.username}`:e}}).replace(/<#[0-9]+>/g,e=>{const t=this.client.channels.get(e.replace(/<|#|>/g,""));return t?`#${t.name}`:e}).replace(/<@&[0-9]+>/g,e=>{if("dm"===this.channel.type||"group"===this.channel.type)return e;const t=this.guild.roles.get(e.replace(/<|@|>|&/g,""));return t?`@${t.name}`:e})}get edits(){return this._edits.slice().unshift(this)}get editable(){return this.author.id===this.client.user.id}get deletable(){return this.author.id===this.client.user.id||this.guild&&this.channel.permissionsFor(this.client.user).hasPermission(a.PermissionFlags.MANAGE_MESSAGES)}get pinnable(){return!this.guild||this.channel.permissionsFor(this.client.user).hasPermission(a.PermissionFlags.MANAGE_MESSAGES)}isMentioned(e){return e=e&&e.id?e.id:e,this.mentions.users.has(e)||this.mentions.channels.has(e)||this.mentions.roles.has(e)}edit(e,t={}){return this.client.rest.methods.updateMessage(this,e,t)}editCode(e,t){return t=o(this.client.resolver.resolveString(t),!0),this.edit(`\`\`\`${e||""} +\`\`\``,n)}fetchMessage(e){return this.client.rest.methods.getChannelMessage(this,e).then(e=>{const t=e instanceof s?e:new s(this,e,this.client);return this._cacheMessage(t),t})}fetchMessages(e={}){return this.client.rest.methods.getChannelMessages(this,e).then(e=>{const t=new a;for(const n of e){const e=new s(this,n,this.client);t.set(n.id,e),this._cacheMessage(e)}return t})}fetchPinnedMessages(){return this.client.rest.methods.getChannelPinnedMessages(this).then(e=>{const t=new a;for(const n of e){const e=new s(this,n,this.client);t.set(n.id,e),this._cacheMessage(e)}return t})}startTyping(e){if("undefined"!=typeof e&&e<1)throw new RangeError("Count must be at least 1.");if(this.client.user._typing.has(this.id)){const t=this.client.user._typing.get(this.id);t.count=e||t.count+1}else this.client.user._typing.set(this.id,{count:e||1,interval:this.client.setInterval(()=>{this.client.rest.methods.sendTyping(this.id)},4e3)}),this.client.rest.methods.sendTyping(this.id)}stopTyping(e=false){if(this.client.user._typing.has(this.id)){const t=this.client.user._typing.get(this.id);t.count--,(t.count<=0||e)&&(this.client.clearInterval(t.interval),this.client.user._typing.delete(this.id))}}get typing(){return this.client.user._typing.has(this.id)}get typingCount(){return this.client.user._typing.has(this.id)?this.client.user._typing.get(this.id).count:0}createCollector(e,t={}){return new o(this,e,t)}awaitMessages(e,t={}){return new Promise((n,i)=>{const r=this.createCollector(e,t);r.on("end",(e,r)=>{t.errors&&t.errors.includes(r)?i(e):n(e)})})}bulkDelete(e){if(!isNaN(e))return this.fetchMessages({limit:e}).then(e=>this.bulkDelete(e));if(e instanceof Array||e instanceof a){const t=e instanceof a?e.keyArray():e.map(e=>e.id);return this.client.rest.methods.bulkDeleteMessages(this,t)}throw new TypeError("The messages must be an Array, Collection, or number.")}_cacheMessage(e){const t=this.client.options.messageCacheMaxSize;return 0===t?null:(this.messages.size>=t&&t>0&&this.messages.delete(this.messages.firstKey()),this.messages.set(e.id,e),e)}}t.applyToClass=((e,t=false)=>{const n=["sendMessage","sendTTSMessage","sendFile","sendCode"];t&&(n.push("_cacheMessage"),n.push("fetchMessages"),n.push("fetchMessage"),n.push("bulkDelete"),n.push("startTyping"),n.push("stopTyping"),n.push("typing"),n.push("typingCount"),n.push("fetchPinnedMessages"),n.push("createCollector"),n.push("awaitMessages"));for(const r of n)i(e,r)})},function(e,t,n){const i=n(24),r=n(19),s=n(79),o=n(46),a=n(1),c=n(6),h=n(63);class f extends i{constructor(e,t){super(e.client,t),this.guild=e}setup(e){if(super.setup(e),this.name=e.name,this.position=e.position,this.permissionOverwrites=new c,e.permission_overwrites)for(const t of e.permission_overwrites)this.permissionOverwrites.set(t.id,new s(this,t))}permissionsFor(e){if(e=this.client.resolver.resolveGuildMember(this.guild,e),!e)return null;if(e.id===this.guild.ownerID)return new o(e,a.ALL_PERMISSIONS);let t=0;const n=e.roles;for(const i of n.values())t|=i.permissions;const r=this.overwritesFor(e,!0,n);for(const s of r.role.concat(r.member))t&=~s.denyData,t|=s.allowData;const c=Boolean(t&a.PermissionFlags.ADMINISTRATOR);return c&&(t=a.ALL_PERMISSIONS),new o(e,t)}overwritesFor(e,t=false,n=null){if(t||(e=this.client.resolver.resolveGuildMember(this.guild,e)),!e)return[];n=n||e.roles;const i=[],r=[];for(const s of this.permissionOverwrites.values())s.id===e.id?r.push(s):n.has(s.id)&&i.push(s);return{role:i,member:r}}overwritePermissions(e,t){const n={allow:0,deny:0};if(e instanceof r)n.type="role";else if(this.guild.roles.has(e))e=this.guild.roles.get(e),n.type="role";else if(e=this.client.resolver.resolveUser(e),n.type="member",!e)return Promise.reject(new TypeError("Supplied parameter was neither a User nor a Role."));n.id=e.id;const i=this.permissionOverwrites.get(e.id);i&&(n.allow=i.allowData,n.deny=i.denyData);for(const s in t)t[s]===!0?(n.allow|=a.PermissionFlags[s]||0,n.deny&=~(a.PermissionFlags[s]||0)):t[s]===!1?(n.allow&=~(a.PermissionFlags[s]||0),n.deny|=a.PermissionFlags[s]||0):null===t[s]&&(n.allow&=~(a.PermissionFlags[s]||0),n.deny&=~(a.PermissionFlags[s]||0));return this.client.rest.methods.setChannelOverwrite(this,n)}edit(e){return this.client.rest.methods.updateChannel(this,e)}setName(e){return this.edit({name:e})}setPosition(e){return this.client.rest.methods.updateChannel(this,{position:e})}setTopic(e){return this.client.rest.methods.updateChannel(this,{topic:e})}createInvite(e={}){return this.client.rest.methods.createChannelInvite(this,e)}equals(e){let t=e&&this.id===e.id&&this.type===e.type&&this.topic===e.topic&&this.position===e.position&&this.name===e.name;if(t)if(this.permissionOverwrites&&e.permissionOverwrites){const n=this.permissionOverwrites.keyArray(),i=e.permissionOverwrites.keyArray();t=h(n,i)}else t=!this.permissionOverwrites&&!e.permissionOverwrites;return t}toString(){return`<#${this.id}>`}}e.exports=f},function(e,t,n){const i=n(31),r=n(19),s=n(46),o=n(1),a=n(6),c=n(15).Presence;class h{constructor(e,t){this.client=e.client,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.guild=e,this.user={},this._roles=[],t&&this.setup(t)}setup(e){this.serverDeaf=e.deaf,this.serverMute=e.mute,this.selfMute=e.self_mute,this.selfDeaf=e.self_deaf,this.voiceSessionID=e.session_id,this.voiceChannelID=e.channel_id,this.speaking=!1,this.nickname=e.nick||null,this.joinedTimestamp=new Date(e.joined_at).getTime(),this.user=e.user,this._roles=e.roles}get joinedAt(){return new Date(this.joinedTimestamp)}get presence(){return this.frozenPresence||this.guild.presences.get(this.id)||new c}get roles(){const e=new a,t=this.guild.roles.get(this.guild.id);t&&e.set(t.id,t);for(const n of this._roles){const t=this.guild.roles.get(n);t&&e.set(t.id,t)}return e}get highestRole(){return this.roles.reduce((e,t)=>!e||t.comparePositionTo(e)>0?t:e)}get mute(){return this.selfMute||this.serverMute}get deaf(){return this.selfDeaf||this.serverDeaf}get voiceChannel(){return this.guild.channels.get(this.voiceChannelID)}get id(){return this.user.id}get permissions(){if(this.user.id===this.guild.ownerID)return new s(this,o.ALL_PERMISSIONS);let e=0;const t=this.roles;for(const n of t.values())e|=n.permissions;const i=Boolean(e&o.PermissionFlags.ADMINISTRATOR);return i&&(e=o.ALL_PERMISSIONS),new s(this,e)}get kickable(){if(this.user.id===this.guild.ownerID)return!1;if(this.user.id===this.client.user.id)return!1;const e=this.guild.member(this.client.user);return!!e.hasPermission(o.PermissionFlags.KICK_MEMBERS)&&e.highestRole.comparePositionTo(this.highestRole)>0}get bannable(){if(this.user.id===this.guild.ownerID)return!1;if(this.user.id===this.client.user.id)return!1;const e=this.guild.member(this.client.user);return!!e.hasPermission(o.PermissionFlags.BAN_MEMBERS)&&e.highestRole.comparePositionTo(this.highestRole)>0}permissionsIn(e){if(e=this.client.resolver.resolveChannel(e),!e||!e.guild)throw new Error("Could not resolve channel to a guild channel.");return e.permissionsFor(this)}hasPermission(e,t=false){return!t&&this.user.id===this.guild.ownerID||this.roles.some(n=>n.hasPermission(e,t))}hasPermissions(e,t=false){return!t&&this.user.id===this.guild.ownerID||e.every(e=>this.hasPermission(e,t))}missingPermissions(e,t=false){return e.filter(e=>!this.hasPermission(e,t))}edit(e){return this.client.rest.methods.updateGuildMember(this,e)}setMute(e){return this.edit({mute:e})}setDeaf(e){return this.edit({deaf:e})}setVoiceChannel(e){return this.edit({channel:e})}setRoles(e){return this.edit({roles:e})}addRole(e){return this.addRoles([e])}addRoles(e){let t;if(e instanceof a){t=this._roles.slice();for(const n of e.values())t.push(n.id)}else t=this._roles.concat(e);return this.edit({roles:t})}removeRole(e){return this.removeRoles([e])}removeRoles(e){const t=this._roles.slice();if(e instanceof a)for(const n of e.values()){const e=t.indexOf(n.id);e>=0&&t.splice(e,1)}else for(const n of e){const e=t.indexOf(n instanceof r?n.id:n);e>=0&&t.splice(e,1)}return this.edit({roles:t})}setNickname(e){return this.edit({nick:e})}deleteDM(){return this.client.rest.methods.deleteChannel(this)}kick(){return this.client.rest.methods.kickGuildMember(this.guild,this)}ban(e=0){return this.client.rest.methods.banGuildMember(this.guild,this,e)}toString(){return`<@${this.nickname?"!":""}${this.user.id}>`}sendMessage(){}sendTTSMessage(){}sendFile(){}sendCode(){}}i.applyToClass(h),e.exports=h},function(e,t,n){const i=n(72),r=n(74),s=n(6),o=n(1),a=n(35),c=n(75);class h{constructor(e,t,n){this.client=n,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.channel=e,t&&this.setup(t)}setup(e){this.id=e.id,this.type=o.MessageTypes[e.type],this.content=e.content,this.author=this.client.dataManager.newUser(e.author),this.member=this.guild?this.guild.member(this.author)||null:null,this.pinned=e.pinned,this.tts=e.tts,this.nonce=e.nonce,this.system=6===e.type,this.embeds=e.embeds.map(e=>new r(this,e)),this.attachments=new s;for(const t of e.attachments)this.attachments.set(t.id,new i(this,t));this.createdTimestamp=new Date(e.timestamp).getTime(),this.editedTimestamp=e.edited_timestamp?new Date(e.edited_timestamp).getTime():null,this.mentions={users:new s,roles:new s,channels:new s,everyone:e.mention_everyone};for(const n of e.mentions){let e=this.client.users.get(n.id);e?this.mentions.users.set(e.id,e):(e=this.client.dataManager.newUser(n),this.mentions.users.set(e.id,e))}if(e.mention_roles)for(const n of e.mention_roles){const e=this.channel.guild.roles.get(n);e&&this.mentions.roles.set(e.id,e)}if(this.channel.guild){const t=e.content.match(/<#([0-9]{14,20})>/g)||[];for(const n of t){const e=this.channel.guild.channels.get(n.match(/([0-9]{14,20})/g)[0]);e&&this.mentions.channels.set(e.id,e)}}if(this._edits=[],this.reactions=new s,e.reactions&&e.reactions.length>0)for(const a of e.reactions){const e=a.emoji.id?`${a.emoji.name}:${a.emoji.id}`:a.emoji.name;this.reactions.set(e,new c(this,a.emoji,a.count,a.me))}}patch(e){if(e.author&&(this.author=this.client.users.get(e.author.id),this.guild&&(this.member=this.guild.member(this.author))),e.content&&(this.content=e.content),e.timestamp&&(this.createdTimestamp=new Date(e.timestamp).getTime()),e.edited_timestamp&&(this.editedTimestamp=e.edited_timestamp?new Date(e.edited_timestamp).getTime():null),"tts"in e&&(this.tts=e.tts),"mention_everyone"in e&&(this.mentions.everyone=e.mention_everyone),e.nonce&&(this.nonce=e.nonce),e.embeds&&(this.embeds=e.embeds.map(e=>new r(this,e))),e.type>-1&&(this.system=!1,6===e.type&&(this.system=!0)),e.attachments){this.attachments=new s;for(const t of e.attachments)this.attachments.set(t.id,new i(this,t))}if(e.mentions)for(const t of e.mentions){let e=this.client.users.get(t.id);e?this.mentions.users.set(e.id,e):(e=this.client.dataManager.newUser(t),this.mentions.users.set(e.id,e))}if(e.mention_roles)for(const t of e.mention_roles){const e=this.channel.guild.roles.get(t);e&&this.mentions.roles.set(e.id,e)}if(e.id&&(this.id=e.id),this.channel.guild&&e.content){const t=e.content.match(/<#([0-9]{14,20})>/g)||[];for(const n of t){const e=this.channel.guild.channels.get(n.match(/([0-9]{14,20})/g)[0]);e&&this.mentions.channels.set(e.id,e)}}if(e.reactions&&(this.reactions=new s,e.reactions.length>0))for(const n of e.reactions){const t=n.emoji.id?`${n.emoji.name}:${n.emoji.id}`:n.emoji.name;this.reactions.set(t,new c(this,e.emoji,e.count,e.me))}}get createdAt(){return new Date(this.createdTimestamp)}get editedAt(){return this.editedTimestamp?new Date(this.editedTimestamp):null}get guild(){return this.channel.guild||null}get cleanContent(){return this.content.replace(/@(everyone|here)/g,"@​$1").replace(/<@!?[0-9]+>/g,e=>{const t=e.replace(/<|!|>|@/g,"");if("dm"===this.channel.type||"group"===this.channel.type)return this.client.users.has(t)?`@${this.client.users.get(t).username}`:e;const n=this.channel.guild.members.get(t);if(n)return n.nickname?`@${n.nickname}`:`@${n.user.username}`;{const n=this.client.users.get(t);return n?`@${n.username}`:e}}).replace(/<#[0-9]+>/g,e=>{const t=this.client.channels.get(e.replace(/<|#|>/g,""));return t?`#${t.name}`:e}).replace(/<@&[0-9]+>/g,e=>{if("dm"===this.channel.type||"group"===this.channel.type)return e;const t=this.guild.roles.get(e.replace(/<|@|>|&/g,""));return t?`@${t.name}`:e})}get edits(){return this._edits.slice().unshift(this)}get editable(){return this.author.id===this.client.user.id}get deletable(){return this.author.id===this.client.user.id||this.guild&&this.channel.permissionsFor(this.client.user).hasPermission(o.PermissionFlags.MANAGE_MESSAGES)}get pinnable(){return!this.guild||this.channel.permissionsFor(this.client.user).hasPermission(o.PermissionFlags.MANAGE_MESSAGES)}isMentioned(e){return e=e&&e.id?e.id:e,this.mentions.users.has(e)||this.mentions.channels.has(e)||this.mentions.roles.has(e)}edit(e,t={}){return this.client.rest.methods.updateMessage(this,e,t)}editCode(e,t){return t=a(this.client.resolver.resolveString(t),!0),this.edit(`\`\`\`${e||""} ${t} -\`\`\``)}pin(){return this.client.rest.methods.pinMessage(this)}unpin(){return this.client.rest.methods.unpinMessage(this)}react(e){if(e=this.client.resolver.resolveEmojiIdentifier(e),!e)throw new TypeError("Emoji must be a string or Emoji/ReactionEmoji");return this.client.rest.methods.addMessageReaction(this,e)}clearReactions(){return this.client.rest.methods.removeMessageReactions(this)}delete(e=0){return e<=0?this.client.rest.methods.deleteMessage(this):new Promise(t=>{this.client.setTimeout(()=>{t(this.delete())},e)})}reply(e,t={}){e=this.client.resolver.resolveString(e);const i=this.guild?`${this.author}, `:"";return e=`${i}${e}`,t.split&&("object"!=typeof t.split&&(t.split={}),t.split.prepend||(t.split.prepend=i)),this.client.rest.methods.sendMessage(this.channel,e,t)}equals(e,t){if(!e)return!1;const i=!e.author&&!e.attachments;if(i)return this.id===e.id&&this.embeds.length===e.embeds.length;let r=this.id===e.id&&this.author.id===e.author.id&&this.content===e.content&&this.tts===e.tts&&this.nonce===e.nonce&&this.embeds.length===e.embeds.length&&this.attachments.length===e.attachments.length;return r&&t&&(r=this.mentions.everyone===e.mentions.everyone&&this.createdTimestamp===new Date(t.timestamp).getTime()&&this.editedTimestamp===new Date(t.edited_timestamp).getTime()),r}toString(){return this.content}_addReaction(e,t){const i=e.id?`${e.name}:${e.id}`:e.name;let r;return this.reactions.has(i)?(r=this.reactions.get(i),r.me||(r.me=t.id===this.client.user.id)):(r=new f(this,e,0,t.id===this.client.user.id),this.reactions.set(i,r)),r.users.has(t.id)?null:(r.users.set(t.id,t),r.count++,r)}_removeReaction(e,t){const i=e.id||e;if(this.reactions.has(i)){const e=this.reactions.get(i);if(e.users.has(t.id))return e.users.delete(t.id),e.count--,t.id===this.client.user.id&&(e.me=!1),e}return null}_clearReactions(){this.reactions.clear()}}e.exports=h},function(e,t){e.exports=function(e,t=false,i=false){return t?e.replace(/```/g,"`​``"):i?e.replace(/\\(`|\\)/g,"$1").replace(/(`|\\)/g,"\\$1"):e.replace(/\\(\*|_|`|~|\\)/g,"$1").replace(/(\*|_|`|~|\\)/g,"\\$1")}},function(e,t,i){var r=t;r.bignum=i(7),r.define=i(141).define,r.base=i(26),r.constants=i(85),r.decoders=i(145),r.encoders=i(147)},function(e,t,i){(function(e){function i(e){var t,i;return t=e>o||e<0?(i=Math.abs(e)%o,e<0?o-i:i):e}function r(e){for(var t=0;t>>8^255&i^99,this.SBOX[n]=i,this.INV_SBOX[i]=n,s=e[n],a=e[s],o=e[a],r=257*e[i]^16843008*i,this.SUB_MIX[0][n]=r<<24|r>>>8,this.SUB_MIX[1][n]=r<<16|r>>>16,this.SUB_MIX[2][n]=r<<8|r>>>24,this.SUB_MIX[3][n]=r,r=16843009*o^65537*a^257*s^16843008*n,this.INV_SUB_MIX[0][i]=r<<24|r>>>8,this.INV_SUB_MIX[1][i]=r<<16|r>>>16,this.INV_SUB_MIX[2][i]=r<<8|r>>>24,this.INV_SUB_MIX[3][i]=r,0===n?n=f=1:(n=s^e[e[e[o^s]]],f^=e[e[f]]);return!0};var f=new n;a.blockSize=16,a.prototype.blockSize=a.blockSize,a.keySize=32,a.prototype.keySize=a.keySize,a.prototype._doReset=function(){var e,t,i,r,n,s;for(i=this._key,t=i.length,this._nRounds=t+6,n=4*(this._nRounds+1),this._keySchedule=[],r=0;r>>24,s=f.SBOX[s>>>24]<<24|f.SBOX[s>>>16&255]<<16|f.SBOX[s>>>8&255]<<8|f.SBOX[255&s],s^=f.RCON[r/t|0]<<24):t>6&&r%t===4?s=f.SBOX[s>>>24]<<24|f.SBOX[s>>>16&255]<<16|f.SBOX[s>>>8&255]<<8|f.SBOX[255&s]:void 0,this._keySchedule[r-t]^s);for(this._invKeySchedule=[],e=0;e>>24]]^f.INV_SUB_MIX[1][f.SBOX[s>>>16&255]]^f.INV_SUB_MIX[2][f.SBOX[s>>>8&255]]^f.INV_SUB_MIX[3][f.SBOX[255&s]];return!0},a.prototype.encryptBlock=function(t){t=s(new e(t));var i=this._doCryptBlock(t,this._keySchedule,f.SUB_MIX,f.SBOX),r=new e(16);return r.writeUInt32BE(i[0],0),r.writeUInt32BE(i[1],4),r.writeUInt32BE(i[2],8),r.writeUInt32BE(i[3],12),r},a.prototype.decryptBlock=function(t){t=s(new e(t));var i=[t[3],t[1]];t[1]=i[0],t[3]=i[1];var r=this._doCryptBlock(t,this._invKeySchedule,f.INV_SUB_MIX,f.INV_SBOX),n=new e(16);return n.writeUInt32BE(r[0],0),n.writeUInt32BE(r[3],4),n.writeUInt32BE(r[2],8),n.writeUInt32BE(r[1],12),n},a.prototype.scrub=function(){r(this._keySchedule),r(this._invKeySchedule),r(this._key)},a.prototype._doCryptBlock=function(e,t,r,n){var s,a,o,f,h,c,l,u,d;a=e[0]^t[0],o=e[1]^t[1],f=e[2]^t[2],h=e[3]^t[3],s=4;for(var p=1;p>>24]^r[1][o>>>16&255]^r[2][f>>>8&255]^r[3][255&h]^t[s++],l=r[0][o>>>24]^r[1][f>>>16&255]^r[2][h>>>8&255]^r[3][255&a]^t[s++],u=r[0][f>>>24]^r[1][h>>>16&255]^r[2][a>>>8&255]^r[3][255&o]^t[s++],d=r[0][h>>>24]^r[1][a>>>16&255]^r[2][o>>>8&255]^r[3][255&f]^t[s++],a=c,o=l,f=u,h=d;return c=(n[a>>>24]<<24|n[o>>>16&255]<<16|n[f>>>8&255]<<8|n[255&h])^t[s++],l=(n[o>>>24]<<24|n[f>>>16&255]<<16|n[h>>>8&255]<<8|n[255&a])^t[s++],u=(n[f>>>24]<<24|n[h>>>16&255]<<16|n[a>>>8&255]<<8|n[255&o])^t[s++],d=(n[h>>>24]<<24|n[a>>>16&255]<<16|n[o>>>8&255]<<8|n[255&f])^t[s++],[i(c),i(l),i(u),i(d)]},t.AES=a}).call(t,i(0).Buffer)},function(e,t){t["aes-128-ecb"]={cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},t["aes-192-ecb"]={cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},t["aes-256-ecb"]={cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},t["aes-128-cbc"]={cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},t["aes-192-cbc"]={cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},t["aes-256-cbc"]={cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},t.aes128=t["aes-128-cbc"],t.aes192=t["aes-192-cbc"],t.aes256=t["aes-256-cbc"],t["aes-128-cfb"]={cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},t["aes-192-cfb"]={cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},t["aes-256-cfb"]={cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},t["aes-128-cfb8"]={cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},t["aes-192-cfb8"]={cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},t["aes-256-cfb8"]={cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},t["aes-128-cfb1"]={cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},t["aes-192-cfb1"]={cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},t["aes-256-cfb1"]={cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},t["aes-128-ofb"]={cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},t["aes-192-ofb"]={cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},t["aes-256-ofb"]={cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},t["aes-128-ctr"]={cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},t["aes-192-ctr"]={cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},t["aes-256-ctr"]={cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},t["aes-128-gcm"]={cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},t["aes-192-gcm"]={cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},t["aes-256-gcm"]={cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}},function(e,t,i){(function(e){function r(e){for(var t,i=e.length;i--;){if(t=e.readUInt8(i),255!==t){t++,e.writeUInt8(t,i);break}e.writeUInt8(0,i)}}function n(e){var t=e._cipher.encryptBlock(e._prev);return r(e._prev),t}var s=i(27);t.encrypt=function(t,i){for(;t._cache.length0&&d.push(a),d.push(e),i&&d.push(i),a=n(t.concat(d)),d=[],o=0,r>0)for(;;){if(0===r)break;if(o===a.length)break;c[f++]=a[o],r--,o++}if(s>0&&o!==a.length)for(;;){if(0===s)break;if(o===a.length)break;l[h++]=a[o],s--,o++}if(0===r&&0===s)break}for(o=0;oe.server_max_window_bits)&&("number"!=typeof this._options.clientMaxWindowBits||e.client_max_window_bits))return(this._options.serverNoContextTakeover||e.server_no_context_takeover)&&(t.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(t.client_no_context_takeover=!0),this._options.clientNoContextTakeover!==!1&&e.client_no_context_takeover&&(t.client_no_context_takeover=!0),"number"==typeof this._options.serverMaxWindowBits?t.server_max_window_bits=this._options.serverMaxWindowBits:"number"==typeof e.server_max_window_bits&&(t.server_max_window_bits=e.server_max_window_bits),"number"==typeof this._options.clientMaxWindowBits?t.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits!==!1&&"number"==typeof e.client_max_window_bits&&(t.client_max_window_bits=e.client_max_window_bits),!0},this);if(!i)throw new Error("Doesn't support the offered configuration");return t},r.prototype.acceptAsClient=function(e){var t=e[0];if(null!=this._options.clientNoContextTakeover&&this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Invalid value for "client_no_context_takeover"');if(null!=this._options.clientMaxWindowBits){if(this._options.clientMaxWindowBits===!1&&t.client_max_window_bits)throw new Error('Invalid value for "client_max_window_bits"');if("number"==typeof this._options.clientMaxWindowBits&&(!t.client_max_window_bits||t.client_max_window_bits>this._options.clientMaxWindowBits))throw new Error('Invalid value for "client_max_window_bits"')}return t},r.prototype.normalizeParams=function(e){return e.map(function(e){return Object.keys(e).forEach(function(t){var i=e[t];if(i.length>1)throw new Error("Multiple extension parameters for "+t);switch(i=i[0],t){case"server_no_context_takeover":case"client_no_context_takeover":if(i!==!0)throw new Error("invalid extension parameter value for "+t+" ("+i+")");e[t]=!0;break;case"server_max_window_bits":case"client_max_window_bits":if("string"==typeof i&&(i=parseInt(i,10),!~s.indexOf(i)))throw new Error("invalid extension parameter value for "+t+" ("+i+")");if(!this._isServer&&i===!0)throw new Error("Missing extension parameter value for "+t);e[t]=i;break;default:throw new Error("Not defined extension parameter ("+t+")")}},this),e},this)},r.prototype.decompress=function(e,i,r){function s(e){f(),r(e)}function o(e){if(void 0!==l._maxPayload&&null!==l._maxPayload&&l._maxPayload>0&&(d+=e.length,d>l._maxPayload)){u=[],f();var t={type:1009};return void r(t)}u.push(e)}function f(){l._inflate&&(l._inflate.removeListener("error",s),l._inflate.removeListener("data",o),l._inflate.writeInProgress=!1,(i&&l.params[h+"_no_context_takeover"]||l._inflate.pendingClose)&&(l._inflate.close&&l._inflate.close(),l._inflate=null))}var h=this._isServer?"client":"server";if(!this._inflate){var c=this.params[h+"_max_window_bits"];this._inflate=n.createInflateRaw({windowBits:"number"==typeof c?c:a})}this._inflate.writeInProgress=!0;var l=this,u=[],d=0;this._inflate.on("error",s).on("data",o),this._inflate.write(e),i&&this._inflate.write(new t([0,0,255,255])),this._inflate.flush(function(){f(),r(null,t.concat(u))})},r.prototype.compress=function(e,i,r){function s(e){h(),r(e)}function f(e){d.push(e)}function h(){u._deflate&&(u._deflate.removeListener("error",s),u._deflate.removeListener("data",f),u._deflate.writeInProgress=!1,(i&&u.params[c+"_no_context_takeover"]||u._deflate.pendingClose)&&(u._deflate.close&&u._deflate.close(),u._deflate=null))}var c=this._isServer?"server":"client";if(!this._deflate){var l=this.params[c+"_max_window_bits"];this._deflate=n.createDeflateRaw({flush:n.Z_SYNC_FLUSH,windowBits:"number"==typeof l?l:a,memLevel:this._options.memLevel||o})}this._deflate.writeInProgress=!0;var u=this,d=[];this._deflate.on("error",s).on("data",f),this._deflate.write(e),this._deflate.flush(function(){h();var e=t.concat(d);i&&(e=e.slice(0,e.length-4)),r(null,e)})},e.exports=r}).call(t,i(0).Buffer)},function(e,t){e.exports=function e(t,i){if(!i)return t;for(const r in t)({}).hasOwnProperty.call(i,r)?i[r]===Object(i[r])&&(i[r]=e(t[r],i[r])):i[r]=t[r];return i}},function(e,t,i){const r=i(1);class n{constructor(e,t){this.member=e,this.raw=t}serialize(){const e={};for(const t in r.PermissionFlags)e[t]=this.hasPermission(t);return e}hasPermission(e,t=false){return e=this.member.client.resolver.resolvePermission(e),!t&&(this.raw&r.PermissionFlags.ADMINISTRATOR)>0||(this.raw&e)>0}hasPermissions(e,t=false){return e.every(e=>this.hasPermission(e,t))}missingPermissions(e,t=false){return e.filter(e=>!this.hasPermission(e,t))}}e.exports=n},function(e,t,i){const r=i(14),n=i(20),s=i(25),a=i(15).Presence,o=i(33),f=i(1),h=i(6),c=i(13),l=i(63);class u{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.members=new h,this.channels=new h,this.roles=new h,t&&(t.unavailable?(this.available=!1,this.id=t.id):(this.available=!0,this.setup(t)))}setup(e){this.name=e.name,this.icon=e.icon,this.splash=e.splash,this.region=e.region,this.memberCount=e.member_count||this.memberCount,this.large=e.large||this.large,this.presences=new h,this.features=e.features,this.emojis=new h;for(const t of e.emojis)this.emojis.set(t.id,new s(this,t));if(this.afkTimeout=e.afk_timeout,this.afkChannelID=e.afk_channel_id,this.embedEnabled=e.embed_enabled,this.verificationLevel=e.verification_level,this.joinedTimestamp=e.joined_at?new Date(e.joined_at).getTime():this.joinedTimestamp,this.id=e.id,this.available=!e.unavailable,this.features=e.features||this.features||[],e.members){this.members.clear();for(const t of e.members)this._addMember(t,!1)}if(e.owner_id&&(this.ownerID=e.owner_id),e.channels){this.channels.clear();for(const t of e.channels)this.client.dataManager.newChannel(t,this)}if(e.roles){this.roles.clear();for(const t of e.roles){const e=new n(this,t);this.roles.set(e.id,e)}}if(e.presences)for(const i of e.presences)this._setPresence(i.user.id,i);if(this._rawVoiceStates=new h,e.voice_states)for(const r of e.voice_states){this._rawVoiceStates.set(r.user_id,r);const e=this.members.get(r.user_id);e&&(e.serverMute=r.mute,e.serverDeaf=r.deaf,e.selfMute=r.self_mute,e.selfDeaf=r.self_deaf,e.voiceSessionID=r.session_id,e.voiceChannelID=r.channel_id,this.channels.get(r.channel_id).members.set(e.user.id,e))}}get createdTimestamp(){return this.id/4194304+14200704e5}get createdAt(){return new Date(this.createdTimestamp)}get joinedAt(){return new Date(this.joinedTimestamp)}get iconURL(){return this.icon?f.Endpoints.guildIcon(this.id,this.icon):null}get owner(){return this.members.get(this.ownerID)}get voiceConnection(){return this.client.voice.connections.get(this.id)||null}get defaultChannel(){return this.channels.get(this.id)}member(e){return this.client.resolver.resolveGuildMember(this,e)}fetchBans(){return this.client.rest.methods.getGuildBans(this)}fetchInvites(){return this.client.rest.methods.getGuildInvites(this)}fetchWebhooks(){return this.client.rest.methods.getGuildWebhooks(this)}fetchMember(e){return this._fetchWaiter?Promise.reject(new Error("Already fetching guild members.")):(e=this.client.resolver.resolveUser(e),e?this.members.has(e.id)?Promise.resolve(this.members.get(e.id)):this.client.rest.methods.getGuildMember(this,e):Promise.reject(new Error("User is not cached. Use Client.fetchUser first.")))}fetchMembers(e=""){return new Promise((t,i)=>{if(this._fetchWaiter)throw new Error("Already fetching guild members in ${this.id}.");return this.memberCount===this.members.size?void t(this):(this._fetchWaiter=t,this.client.ws.send({op:f.OPCodes.REQUEST_GUILD_MEMBERS,d:{guild_id:this.id,query:e,limit:0}}),this._checkChunks(),void this.client.setTimeout(()=>i(new Error("Members didn't arrive in time.")),12e4))})}edit(e){return this.client.rest.methods.updateGuild(this,e)}setName(e){return this.edit({name:e})}setRegion(e){return this.edit({region:e})}setVerificationLevel(e){return this.edit({verificationLevel:e})}setAFKChannel(e){return this.edit({afkChannel:e})}setAFKTimeout(e){return this.edit({afkTimeout:e})}setIcon(e){return this.edit({icon:e})}setOwner(e){return this.edit({owner:e})}setSplash(e){return this.edit({splash:e})}ban(e,t=0){return this.client.rest.methods.banGuildMember(this,e,t)}unban(e){return this.client.rest.methods.unbanGuildMember(this,e)}pruneMembers(e,t=false){if("number"!=typeof e)throw new TypeError("Days must be a number.");return this.client.rest.methods.pruneGuildMembers(this,e,t)}sync(){this.client.user.bot||this.client.syncGuilds([this])}createChannel(e,t){return this.client.rest.methods.createChannel(this,e,t)}createRole(e){const t=this.client.rest.methods.createGuildRole(this);return e?t.then(t=>t.edit(e)):t}createEmoji(e,t){return new Promise(i=>{e.startsWith("data:")?i(this.client.rest.methods.createEmoji(this,e,t)):this.client.resolver.resolveBuffer(e).then(e=>i(this.client.rest.methods.createEmoji(this,e,t)))})}deleteEmoji(e){return e instanceof s||(e=this.emojis.get(e)),this.client.rest.methods.deleteEmoji(e)}leave(){return this.client.rest.methods.leaveGuild(this)}delete(){return this.client.rest.methods.deleteGuild(this)}setRolePosition(e,t){if(e instanceof n)e=e.id;else if("string"!=typeof e)return Promise.reject(new Error("Supplied role is not a role or string"));if(t=Number(t),isNaN(t))return Promise.reject(new Error("Supplied position is not a number"));const i=this.roles.array().map(i=>({id:i.id,position:i.id===e?t:i.position`:this.name}}e.exports=i},function(e,t,i){const r=i(17),n=i(35);class s{constructor(e,t,i){e?(this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),t&&this.setup(t)):(this.id=t,this.token=i,this.client=this)}setup(e){this.name=e.name,this.token=e.token,this.avatar=e.avatar,this.id=e.id,this.guildID=e.guild_id,this.channelID=e.channel_id,e.user&&(this.owner=e.user)}sendMessage(e,t={}){return this.client.rest.methods.sendWebhookMessage(this,e,t)}sendSlackMessage(e){return this.client.rest.methods.sendSlackWebhookMessage(this,e)}sendTTSMessage(e,t={}){return Object.assign(t,{tts:!0}),this.client.rest.methods.sendWebhookMessage(this,e,t)}sendFile(e,t,i,n={}){return t||(t="string"==typeof e?r.basename(e):e&&e.path?r.basename(e.path):"file.jpg"),this.client.resolver.resolveBuffer(e).then(e=>this.client.rest.methods.sendWebhookMessage(this,i,n,{file:e,name:t}))}sendCode(e,t,i={}){return i.split&&("object"!=typeof i.split&&(i.split={}),i.split.prepend||(i.split.prepend=`\`\`\`${e||""} -`),i.split.append||(i.split.append="\n```")),t=n(this.client.resolver.resolveString(t),!0),this.sendMessage(`\`\`\`${e||""} +\`\`\``)}pin(){return this.client.rest.methods.pinMessage(this)}unpin(){return this.client.rest.methods.unpinMessage(this)}react(e){if(e=this.client.resolver.resolveEmojiIdentifier(e),!e)throw new TypeError("Emoji must be a string or Emoji/ReactionEmoji");return this.client.rest.methods.addMessageReaction(this,e)}clearReactions(){return this.client.rest.methods.removeMessageReactions(this)}delete(e=0){return e<=0?this.client.rest.methods.deleteMessage(this):new Promise(t=>{this.client.setTimeout(()=>{t(this.delete())},e)})}reply(e,t={}){e=this.client.resolver.resolveString(e);const n=this.guild?`${this.author}, `:"";return e=`${n}${e}`,t.split&&("object"!=typeof t.split&&(t.split={}),t.split.prepend||(t.split.prepend=n)),this.client.rest.methods.sendMessage(this.channel,e,t)}equals(e,t){if(!e)return!1;const n=!e.author&&!e.attachments;if(n)return this.id===e.id&&this.embeds.length===e.embeds.length;let i=this.id===e.id&&this.author.id===e.author.id&&this.content===e.content&&this.tts===e.tts&&this.nonce===e.nonce&&this.embeds.length===e.embeds.length&&this.attachments.length===e.attachments.length;return i&&t&&(i=this.mentions.everyone===e.mentions.everyone&&this.createdTimestamp===new Date(t.timestamp).getTime()&&this.editedTimestamp===new Date(t.edited_timestamp).getTime()),i}toString(){return this.content}_addReaction(e,t){const n=e.id?`${e.name}:${e.id}`:e.name;let i;return this.reactions.has(n)?(i=this.reactions.get(n),i.me||(i.me=t.id===this.client.user.id)):(i=new c(this,e,0,t.id===this.client.user.id),this.reactions.set(n,i)),i.users.has(t.id)?null:(i.users.set(t.id,t),i.count++,i)}_removeReaction(e,t){const n=e.id||e;if(this.reactions.has(n)){const e=this.reactions.get(n);if(e.users.has(t.id))return e.users.delete(t.id),e.count--,t.id===this.client.user.id&&(e.me=!1),e}return null}_clearReactions(){this.reactions.clear()}}e.exports=h},function(e,t){e.exports=function(e,t=false,n=false){return t?e.replace(/```/g,"`​``"):n?e.replace(/\\(`|\\)/g,"$1").replace(/(`|\\)/g,"\\$1"):e.replace(/\\(\*|_|`|~|\\)/g,"$1").replace(/(\*|_|`|~|\\)/g,"\\$1")}},function(e,t,n){var i=t;i.bignum=n(7),i.define=n(141).define,i.base=n(26),i.constants=n(85),i.decoders=n(145),i.encoders=n(147)},function(e,t,n){(function(e){function n(e){var t,n;return t=e>a||e<0?(n=Math.abs(e)%a,e<0?a-n:n):e}function i(e){for(var t=0;t>>8^255&n^99,this.SBOX[r]=n,this.INV_SBOX[n]=r,s=e[r],o=e[s],a=e[o],i=257*e[n]^16843008*n,this.SUB_MIX[0][r]=i<<24|i>>>8,this.SUB_MIX[1][r]=i<<16|i>>>16,this.SUB_MIX[2][r]=i<<8|i>>>24,this.SUB_MIX[3][r]=i,i=16843009*a^65537*o^257*s^16843008*r,this.INV_SUB_MIX[0][n]=i<<24|i>>>8,this.INV_SUB_MIX[1][n]=i<<16|i>>>16,this.INV_SUB_MIX[2][n]=i<<8|i>>>24,this.INV_SUB_MIX[3][n]=i,0===r?r=c=1:(r=s^e[e[e[a^s]]],c^=e[e[c]]);return!0};var c=new r;o.blockSize=16,o.prototype.blockSize=o.blockSize,o.keySize=32,o.prototype.keySize=o.keySize,o.prototype._doReset=function(){var e,t,n,i,r,s;for(n=this._key,t=n.length,this._nRounds=t+6,r=4*(this._nRounds+1),this._keySchedule=[],i=0;i>>24,s=c.SBOX[s>>>24]<<24|c.SBOX[s>>>16&255]<<16|c.SBOX[s>>>8&255]<<8|c.SBOX[255&s],s^=c.RCON[i/t|0]<<24):t>6&&i%t===4?s=c.SBOX[s>>>24]<<24|c.SBOX[s>>>16&255]<<16|c.SBOX[s>>>8&255]<<8|c.SBOX[255&s]:void 0,this._keySchedule[i-t]^s);for(this._invKeySchedule=[],e=0;e>>24]]^c.INV_SUB_MIX[1][c.SBOX[s>>>16&255]]^c.INV_SUB_MIX[2][c.SBOX[s>>>8&255]]^c.INV_SUB_MIX[3][c.SBOX[255&s]];return!0},o.prototype.encryptBlock=function(t){t=s(new e(t));var n=this._doCryptBlock(t,this._keySchedule,c.SUB_MIX,c.SBOX),i=new e(16);return i.writeUInt32BE(n[0],0),i.writeUInt32BE(n[1],4),i.writeUInt32BE(n[2],8),i.writeUInt32BE(n[3],12),i},o.prototype.decryptBlock=function(t){t=s(new e(t));var n=[t[3],t[1]];t[1]=n[0],t[3]=n[1];var i=this._doCryptBlock(t,this._invKeySchedule,c.INV_SUB_MIX,c.INV_SBOX),r=new e(16);return r.writeUInt32BE(i[0],0),r.writeUInt32BE(i[3],4),r.writeUInt32BE(i[2],8),r.writeUInt32BE(i[1],12),r},o.prototype.scrub=function(){i(this._keySchedule),i(this._invKeySchedule),i(this._key)},o.prototype._doCryptBlock=function(e,t,i,r){var s,o,a,c,h,f,u,d,l;o=e[0]^t[0],a=e[1]^t[1],c=e[2]^t[2],h=e[3]^t[3],s=4;for(var p=1;p>>24]^i[1][a>>>16&255]^i[2][c>>>8&255]^i[3][255&h]^t[s++],u=i[0][a>>>24]^i[1][c>>>16&255]^i[2][h>>>8&255]^i[3][255&o]^t[s++],d=i[0][c>>>24]^i[1][h>>>16&255]^i[2][o>>>8&255]^i[3][255&a]^t[s++],l=i[0][h>>>24]^i[1][o>>>16&255]^i[2][a>>>8&255]^i[3][255&c]^t[s++],o=f,a=u,c=d,h=l;return f=(r[o>>>24]<<24|r[a>>>16&255]<<16|r[c>>>8&255]<<8|r[255&h])^t[s++],u=(r[a>>>24]<<24|r[c>>>16&255]<<16|r[h>>>8&255]<<8|r[255&o])^t[s++],d=(r[c>>>24]<<24|r[h>>>16&255]<<16|r[o>>>8&255]<<8|r[255&a])^t[s++],l=(r[h>>>24]<<24|r[o>>>16&255]<<16|r[a>>>8&255]<<8|r[255&c])^t[s++],[n(f),n(u),n(d),n(l)]},t.AES=o}).call(t,n(0).Buffer)},function(e,t){t["aes-128-ecb"]={cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},t["aes-192-ecb"]={cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},t["aes-256-ecb"]={cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},t["aes-128-cbc"]={cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},t["aes-192-cbc"]={cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},t["aes-256-cbc"]={cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},t.aes128=t["aes-128-cbc"],t.aes192=t["aes-192-cbc"],t.aes256=t["aes-256-cbc"],t["aes-128-cfb"]={cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},t["aes-192-cfb"]={cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},t["aes-256-cfb"]={cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},t["aes-128-cfb8"]={cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},t["aes-192-cfb8"]={cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},t["aes-256-cfb8"]={cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},t["aes-128-cfb1"]={cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},t["aes-192-cfb1"]={cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},t["aes-256-cfb1"]={cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},t["aes-128-ofb"]={cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},t["aes-192-ofb"]={cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},t["aes-256-ofb"]={cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},t["aes-128-ctr"]={cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},t["aes-192-ctr"]={cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},t["aes-256-ctr"]={cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},t["aes-128-gcm"]={cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},t["aes-192-gcm"]={cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},t["aes-256-gcm"]={cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}},function(e,t,n){(function(e){function i(e){for(var t,n=e.length;n--;){if(t=e.readUInt8(n),255!==t){t++,e.writeUInt8(t,n);break}e.writeUInt8(0,n)}}function r(e){var t=e._cipher.encryptBlock(e._prev);return i(e._prev),t}var s=n(27);t.encrypt=function(t,n){for(;t._cache.length0&&l.push(o),l.push(e),n&&l.push(n),o=r(t.concat(l)),l=[],a=0,i>0)for(;;){if(0===i)break;if(a===o.length)break;f[c++]=o[a],i--,a++}if(s>0&&a!==o.length)for(;;){if(0===s)break;if(a===o.length)break;u[h++]=o[a],s--,a++}if(0===i&&0===s)break}for(a=0;ae.server_max_window_bits)&&("number"!=typeof this._options.clientMaxWindowBits||e.client_max_window_bits))return(this._options.serverNoContextTakeover||e.server_no_context_takeover)&&(t.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(t.client_no_context_takeover=!0),this._options.clientNoContextTakeover!==!1&&e.client_no_context_takeover&&(t.client_no_context_takeover=!0),"number"==typeof this._options.serverMaxWindowBits?t.server_max_window_bits=this._options.serverMaxWindowBits:"number"==typeof e.server_max_window_bits&&(t.server_max_window_bits=e.server_max_window_bits),"number"==typeof this._options.clientMaxWindowBits?t.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits!==!1&&"number"==typeof e.client_max_window_bits&&(t.client_max_window_bits=e.client_max_window_bits),!0},this);if(!n)throw new Error("Doesn't support the offered configuration");return t},i.prototype.acceptAsClient=function(e){var t=e[0];if(null!=this._options.clientNoContextTakeover&&this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Invalid value for "client_no_context_takeover"');if(null!=this._options.clientMaxWindowBits){if(this._options.clientMaxWindowBits===!1&&t.client_max_window_bits)throw new Error('Invalid value for "client_max_window_bits"');if("number"==typeof this._options.clientMaxWindowBits&&(!t.client_max_window_bits||t.client_max_window_bits>this._options.clientMaxWindowBits))throw new Error('Invalid value for "client_max_window_bits"')}return t},i.prototype.normalizeParams=function(e){return e.map(function(e){return Object.keys(e).forEach(function(t){var n=e[t];if(n.length>1)throw new Error("Multiple extension parameters for "+t);switch(n=n[0],t){case"server_no_context_takeover":case"client_no_context_takeover":if(n!==!0)throw new Error("invalid extension parameter value for "+t+" ("+n+")");e[t]=!0;break;case"server_max_window_bits":case"client_max_window_bits":if("string"==typeof n&&(n=parseInt(n,10),!~s.indexOf(n)))throw new Error("invalid extension parameter value for "+t+" ("+n+")");if(!this._isServer&&n===!0)throw new Error("Missing extension parameter value for "+t);e[t]=n;break;default:throw new Error("Not defined extension parameter ("+t+")")}},this),e},this)},i.prototype.decompress=function(e,n,i){function s(e){c(),i(e)}function a(e){if(void 0!==u._maxPayload&&null!==u._maxPayload&&u._maxPayload>0&&(l+=e.length,l>u._maxPayload)){d=[],c();var t={type:1009};return void i(t)}d.push(e)}function c(){u._inflate&&(u._inflate.removeListener("error",s),u._inflate.removeListener("data",a),u._inflate.writeInProgress=!1,(n&&u.params[h+"_no_context_takeover"]||u._inflate.pendingClose)&&(u._inflate.close&&u._inflate.close(),u._inflate=null))}var h=this._isServer?"client":"server";if(!this._inflate){var f=this.params[h+"_max_window_bits"];this._inflate=r.createInflateRaw({windowBits:"number"==typeof f?f:o})}this._inflate.writeInProgress=!0;var u=this,d=[],l=0;this._inflate.on("error",s).on("data",a),this._inflate.write(e),n&&this._inflate.write(new t([0,0,255,255])),this._inflate.flush(function(){c(),i(null,t.concat(d))})},i.prototype.compress=function(e,n,i){function s(e){h(),i(e)}function c(e){l.push(e)}function h(){d._deflate&&(d._deflate.removeListener("error",s),d._deflate.removeListener("data",c),d._deflate.writeInProgress=!1,(n&&d.params[f+"_no_context_takeover"]||d._deflate.pendingClose)&&(d._deflate.close&&d._deflate.close(),d._deflate=null))}var f=this._isServer?"server":"client";if(!this._deflate){var u=this.params[f+"_max_window_bits"];this._deflate=r.createDeflateRaw({flush:r.Z_SYNC_FLUSH,windowBits:"number"==typeof u?u:o,memLevel:this._options.memLevel||a})}this._deflate.writeInProgress=!0;var d=this,l=[];this._deflate.on("error",s).on("data",c),this._deflate.write(e),this._deflate.flush(function(){h();var e=t.concat(l);n&&(e=e.slice(0,e.length-4)),i(null,e)})},e.exports=i}).call(t,n(0).Buffer)},function(e,t){e.exports=function e(t,n){if(!n)return t;for(const i in t)({}).hasOwnProperty.call(n,i)?n[i]===Object(n[i])&&(n[i]=e(t[i],n[i])):n[i]=t[i];return n}},function(e,t,n){const i=n(1);class r{constructor(e,t){this.member=e,this.raw=t}serialize(){const e={};for(const t in i.PermissionFlags)e[t]=this.hasPermission(t);return e}hasPermission(e,t=false){return e=this.member.client.resolver.resolvePermission(e),!t&&(this.raw&i.PermissionFlags.ADMINISTRATOR)>0||(this.raw&e)>0}hasPermissions(e,t=false){return e.every(e=>this.hasPermission(e,t))}missingPermissions(e,t=false){return e.filter(e=>!this.hasPermission(e,t))}}e.exports=r},function(e,t,n){const i=n(14),r=n(19),s=n(25),o=n(15).Presence,a=n(33),c=n(1),h=n(6),f=n(12),u=n(63);class d{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.members=new h,this.channels=new h,this.roles=new h,t&&(t.unavailable?(this.available=!1,this.id=t.id):(this.available=!0,this.setup(t)))}setup(e){this.name=e.name,this.icon=e.icon,this.splash=e.splash,this.region=e.region,this.memberCount=e.member_count||this.memberCount,this.large=e.large||this.large,this.presences=new h,this.features=e.features,this.emojis=new h;for(const t of e.emojis)this.emojis.set(t.id,new s(this,t));if(this.afkTimeout=e.afk_timeout,this.afkChannelID=e.afk_channel_id,this.embedEnabled=e.embed_enabled,this.verificationLevel=e.verification_level,this.joinedTimestamp=e.joined_at?new Date(e.joined_at).getTime():this.joinedTimestamp,this.id=e.id,this.available=!e.unavailable,this.features=e.features||this.features||[],e.members){this.members.clear();for(const t of e.members)this._addMember(t,!1)}if(e.owner_id&&(this.ownerID=e.owner_id),e.channels){this.channels.clear();for(const t of e.channels)this.client.dataManager.newChannel(t,this)}if(e.roles){this.roles.clear();for(const t of e.roles){const e=new r(this,t);this.roles.set(e.id,e)}}if(e.presences)for(const n of e.presences)this._setPresence(n.user.id,n);if(this._rawVoiceStates=new h,e.voice_states)for(const i of e.voice_states){this._rawVoiceStates.set(i.user_id,i);const e=this.members.get(i.user_id);e&&(e.serverMute=i.mute,e.serverDeaf=i.deaf,e.selfMute=i.self_mute,e.selfDeaf=i.self_deaf,e.voiceSessionID=i.session_id,e.voiceChannelID=i.channel_id,this.channels.get(i.channel_id).members.set(e.user.id,e))}}get createdTimestamp(){return this.id/4194304+14200704e5}get createdAt(){return new Date(this.createdTimestamp)}get joinedAt(){return new Date(this.joinedTimestamp)}get iconURL(){return this.icon?c.Endpoints.guildIcon(this.id,this.icon):null}get owner(){return this.members.get(this.ownerID)}get voiceConnection(){return this.client.voice.connections.get(this.id)||null}get defaultChannel(){return this.channels.get(this.id)}member(e){return this.client.resolver.resolveGuildMember(this,e)}fetchBans(){return this.client.rest.methods.getGuildBans(this)}fetchInvites(){return this.client.rest.methods.getGuildInvites(this)}fetchWebhooks(){return this.client.rest.methods.getGuildWebhooks(this)}fetchMember(e){return this._fetchWaiter?Promise.reject(new Error("Already fetching guild members.")):(e=this.client.resolver.resolveUser(e),e?this.members.has(e.id)?Promise.resolve(this.members.get(e.id)):this.client.rest.methods.getGuildMember(this,e):Promise.reject(new Error("User is not cached. Use Client.fetchUser first.")))}fetchMembers(e=""){return new Promise((t,n)=>{if(this._fetchWaiter)throw new Error("Already fetching guild members in ${this.id}.");return this.memberCount===this.members.size?void t(this):(this._fetchWaiter=t,this.client.ws.send({op:c.OPCodes.REQUEST_GUILD_MEMBERS,d:{guild_id:this.id,query:e,limit:0}}),this._checkChunks(),void this.client.setTimeout(()=>n(new Error("Members didn't arrive in time.")),12e4))})}edit(e){return this.client.rest.methods.updateGuild(this,e)}setName(e){return this.edit({name:e})}setRegion(e){return this.edit({region:e})}setVerificationLevel(e){return this.edit({verificationLevel:e})}setAFKChannel(e){return this.edit({afkChannel:e})}setAFKTimeout(e){return this.edit({afkTimeout:e})}setIcon(e){return this.edit({icon:e})}setOwner(e){return this.edit({owner:e})}setSplash(e){return this.edit({splash:e})}ban(e,t=0){return this.client.rest.methods.banGuildMember(this,e,t)}unban(e){return this.client.rest.methods.unbanGuildMember(this,e)}pruneMembers(e,t=false){if("number"!=typeof e)throw new TypeError("Days must be a number.");return this.client.rest.methods.pruneGuildMembers(this,e,t)}sync(){this.client.user.bot||this.client.syncGuilds([this])}createChannel(e,t){return this.client.rest.methods.createChannel(this,e,t)}createRole(e){const t=this.client.rest.methods.createGuildRole(this);return e?t.then(t=>t.edit(e)):t}createEmoji(e,t){return new Promise(n=>{e.startsWith("data:")?n(this.client.rest.methods.createEmoji(this,e,t)):this.client.resolver.resolveBuffer(e).then(e=>n(this.client.rest.methods.createEmoji(this,e,t)))})}deleteEmoji(e){return e instanceof s||(e=this.emojis.get(e)),this.client.rest.methods.deleteEmoji(e)}leave(){return this.client.rest.methods.leaveGuild(this)}delete(){return this.client.rest.methods.deleteGuild(this)}setRolePosition(e,t){if(e instanceof r)e=e.id;else if("string"!=typeof e)return Promise.reject(new Error("Supplied role is not a role or string"));if(t=Number(t),isNaN(t))return Promise.reject(new Error("Supplied position is not a number"));const n=this.roles.array().map(n=>({id:n.id,position:n.id===e?t:n.position`:this.name}}e.exports=n},function(e,t,n){const i=n(23),r=n(35);class s{constructor(e,t,n){e?(this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),t&&this.setup(t)):(this.id=t,this.token=n,this.client=this)}setup(e){this.name=e.name,this.token=e.token,this.avatar=e.avatar,this.id=e.id,this.guildID=e.guild_id,this.channelID=e.channel_id,e.user&&(this.owner=e.user)}sendMessage(e,t={}){return this.client.rest.methods.sendWebhookMessage(this,e,t)}sendSlackMessage(e){return this.client.rest.methods.sendSlackWebhookMessage(this,e)}sendTTSMessage(e,t={}){return Object.assign(t,{tts:!0}),this.client.rest.methods.sendWebhookMessage(this,e,t)}sendFile(e,t,n,r={}){return t||(t="string"==typeof e?i.basename(e):e&&e.path?i.basename(e.path):"file.jpg"),this.client.resolver.resolveBuffer(e).then(e=>this.client.rest.methods.sendWebhookMessage(this,n,r,{file:e,name:t}))}sendCode(e,t,n={}){return n.split&&("object"!=typeof n.split&&(n.split={}),n.split.prepend||(n.split.prepend=`\`\`\`${e||""} +`),n.split.append||(n.split.append="\n```")),t=r(this.client.resolver.resolveString(t),!0),this.sendMessage(`\`\`\`${e||""} ${t} -\`\`\``,i)}edit(e=this.name,t){return t?this.client.resolver.resolveBuffer(t).then(t=>{const i=this.client.resolver.resolveBase64(t);return this.client.rest.methods.editWebhook(this,e,i)}):this.client.rest.methods.editWebhook(this,e).then(e=>{return this.setup(e),this})}delete(){return this.client.rest.methods.deleteWebhook(this)}}e.exports=s},function(e,t,i){function r(){return Object.keys(a)}var n=i(152);t.createCipher=t.Cipher=n.createCipher,t.createCipheriv=t.Cipheriv=n.createCipheriv;var s=i(151);t.createDecipher=t.Decipher=s.createDecipher,t.createDecipheriv=t.Decipheriv=s.createDecipheriv;var a=i(38);t.listCiphers=t.getCiphers=r},function(e,t,i){(function(t){function r(e){var t=s(e),i=t.toRed(a.mont(e.modulus)).redPow(new a(e.publicExponent)).fromRed();return{blinder:i,unblinder:t.invm(e.modulus)}}function n(e,i){var n=r(i),s=i.modulus.byteLength(),o=(a.mont(i.modulus),new a(e).mul(n.blinder).umod(i.modulus)),f=o.toRed(a.mont(i.prime1)),h=o.toRed(a.mont(i.prime2)),c=i.coefficient,l=i.prime1,u=i.prime2,d=f.redPow(i.exponent1),p=h.redPow(i.exponent2);d=d.fromRed(),p=p.fromRed();var b=d.isub(p).imul(c).umod(l);return b.imul(u),p.iadd(b),new t(p.imul(n.unblinder).umod(i.modulus).toArray(!1,s))}function s(e){for(var t=e.modulus.byteLength(),i=new a(o(t));i.cmp(e.modulus)>=0||!i.umod(e.prime1)||!i.umod(e.prime2);)i=new a(o(t));return i}var a=i(7),o=i(30);e.exports=n,n.getr=s}).call(t,i(0).Buffer)},function(e,t,i){"use strict";(function(e){var r=i(0),n=r.Buffer,s=r.SlowBuffer,a=r.kMaxLength||2147483647;t.alloc=function(e,t,i){if("function"==typeof n.alloc)return n.alloc(e,t,i);if("number"==typeof i)throw new TypeError("encoding must not be number");if("number"!=typeof e)throw new TypeError("size must be a number");if(e>a)throw new RangeError("size is too large");var r=i,s=t;void 0===s&&(r=void 0,s=0);var o=new n(e);if("string"==typeof s)for(var f=new n(s,r),h=f.length,c=-1;++ca)throw new RangeError("size is too large");return new n(e)},t.from=function(t,i,r){if("function"==typeof n.from&&(!e.Uint8Array||Uint8Array.from!==n.from))return n.from(t,i,r);if("number"==typeof t)throw new TypeError('"value" argument must not be a number');if("string"==typeof t)return new n(t,i);if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer){var s=i;if(1===arguments.length)return new n(t);"undefined"==typeof s&&(s=0);var a=r;if("undefined"==typeof a&&(a=t.byteLength-s),s>=t.byteLength)throw new RangeError("'offset' is out of bounds");if(a>t.byteLength-s)throw new RangeError("'length' is out of bounds");return new n(t.slice(s,s+a))}if(n.isBuffer(t)){var o=new n(t.length);return t.copy(o,0,0,t.length),o}if(t){if(Array.isArray(t)||"undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return new n(t);if("Buffer"===t.type&&Array.isArray(t.data))return new n(t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")},t.allocUnsafeSlow=function(e){if("function"==typeof n.allocUnsafeSlow)return n.allocUnsafeSlow(e);if("number"!=typeof e)throw new TypeError("size must be a number");if(e>=a)throw new RangeError("size is too large");return new s(e)}}).call(t,i(19))},function(e,t,i){"use strict";(function(t){function r(e,i){a.call(this),e=e.toLowerCase(),"string"==typeof i&&(i=new t(i));var r="sha512"===e||"sha384"===e?128:64;this._alg=e,this._key=i,i.length>r?i=n(e).update(i).digest():i.length-1?r:A;o.WritableState=a;var M=i(28);M.inherits=i(2);var T,x={deprecate:i(234)};!function(){try{T=i(11)}catch(e){}finally{T||(T=i(5).EventEmitter)}}();var R=i(0).Buffer,I=i(52);M.inherits(o,T);var C;a.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(a.prototype,"buffer",{get:x.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")})}catch(e){}}();var C;o.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},o.prototype.write=function(e,t,i){var r=this._writableState,s=!1;return"function"==typeof t&&(i=t,t=null),R.isBuffer(e)?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof i&&(i=n),r.ended?f(this,i):h(this,r,e,i)&&(r.pendingcb++,s=l(this,r,e,t,i)),s},o.prototype.cork=function(){var e=this._writableState;e.corked++},o.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||g(this,e))},o.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},o.prototype._write=function(e,t,i){i(new Error("not implemented"))},o.prototype._writev=null,o.prototype.end=function(e,t,i){var r=this._writableState;"function"==typeof e?(i=e,e=null,t=null):"function"==typeof t&&(i=t,t=null),null!==e&&void 0!==e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||k(this,r,i)}}).call(t,i(8),i(61).setImmediate)},function(e,t,i){function r(e){if(e&&!f(e))throw new Error("Unknown encoding: "+e)}function n(e){return e.toString(this.encoding)}function s(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function a(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}var o=i(0).Buffer,f=o.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},h=t.StringDecoder=function(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),r(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=s;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=a;break;default:return void(this.write=n)}this.charBuffer=new o(6),this.charReceived=0,this.charLength=0};h.prototype.write=function(e){for(var t="";this.charLength;){var i=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,i),this.charReceived+=i,this.charReceived=55296&&r<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived),t+=e.toString(this.encoding,0,n);var n=t.length-1,r=t.charCodeAt(n);if(r>=55296&&r<=56319){var s=this.surrogateSize;return this.charLength+=s,this.charReceived+=s,this.charBuffer.copy(this.charBuffer,s,0,s),e.copy(this.charBuffer,0,0,s),t.substring(0,n)}return t},h.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var i=e[e.length-t];if(1==t&&i>>5==6){this.charLength=2;break}if(t<=2&&i>>4==14){this.charLength=3;break}if(t<=3&&i>>3==30){this.charLength=4;break}}this.charReceived=t},h.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var i=this.charReceived,r=this.charBuffer,n=this.encoding;t+=r.slice(0,i).toString(n)}return t}},function(e,t,i){function r(){}function n(e){if(!w(e))return e;var t=[];for(var i in e)s(t,i,e[i]);return t.join("&")}function s(e,t,i){if(null!=i)if(Array.isArray(i))i.forEach(function(i){s(e,t,i)});else if(w(i))for(var r in i)s(e,t+"["+r+"]",i[r]);else e.push(encodeURIComponent(t)+"="+encodeURIComponent(i));else null===i&&e.push(encodeURIComponent(t))}function a(e){for(var t,i,r={},n=e.split("&"),s=0,a=n.length;s=300)&&(r=new Error(t.statusText||"Unsuccessful HTTP response"),r.original=e,r.response=t,r.status=t.status)}catch(e){r=e}r?i.callback(r,t):i.callback(null,t)})}function d(e,t){var i=g("DELETE",e);return t&&i.end(t),i}var p;"undefined"!=typeof window?p=window:"undefined"!=typeof self?p=self:(console.warn("Using browser-only version of superagent in non-browser environment"),p=this);var b=i(163),m=i(229),w=i(119),g=e.exports=i(230).bind(null,u);g.getXHR=function(){if(!(!p.XMLHttpRequest||p.location&&"file:"==p.location.protocol&&p.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw Error("Browser-only verison of superagent could not find XHR")};var v="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};g.serializeObject=n,g.parseString=a,g.types={html:"text/html",json:"application/json",xml:"application/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},g.serialize={"application/x-www-form-urlencoded":n,"application/json":JSON.stringify},g.parse={"application/x-www-form-urlencoded":a,"application/json":JSON.parse},l.prototype.get=function(e){return this.header[e.toLowerCase()]},l.prototype._setHeaderProperties=function(e){var t=this.header["content-type"]||"";this.type=h(t);var i=c(t);for(var r in i)this[r]=i[r]},l.prototype._parseBody=function(e){var t=g.parse[this.type];return!t&&f(this.type)&&(t=g.parse["application/json"]),t&&e&&(e.length||e instanceof Object)?t(e):null},l.prototype._setStatusProperties=function(e){1223===e&&(e=204);var t=e/100|0;this.status=this.statusCode=e,this.statusType=t,this.info=1==t,this.ok=2==t,this.clientError=4==t,this.serverError=5==t,this.error=(4==t||5==t)&&this.toError(),this.accepted=202==e,this.noContent=204==e,this.badRequest=400==e,this.unauthorized=401==e,this.notAcceptable=406==e,this.notFound=404==e,this.forbidden=403==e},l.prototype.toError=function(){var e=this.req,t=e.method,i=e.url,r="cannot "+t+" "+i+" ("+this.status+")",n=new Error(r);return n.status=this.status,n.method=t,n.url=i,n},g.Response=l,b(u.prototype),m(u.prototype),u.prototype.type=function(e){return this.set("Content-Type",g.types[e]||e),this},u.prototype.responseType=function(e){return this._responseType=e,this},u.prototype.accept=function(e){return this.set("Accept",g.types[e]||e),this},u.prototype.auth=function(e,t,i){switch(i||(i={type:"basic"}),i.type){case"basic":var r=btoa(e+":"+t);this.set("Authorization","Basic "+r);break;case"auto":this.username=e,this.password=t}return this},u.prototype.query=function(e){return"string"!=typeof e&&(e=n(e)),e&&this._query.push(e),this},u.prototype.attach=function(e,t,i){if(this._data)throw Error("superagent can't mix .send() and .attach()");return this._getFormData().append(e,t,i||t.name),this},u.prototype._getFormData=function(){return this._formData||(this._formData=new p.FormData),this._formData},u.prototype.callback=function(e,t){var i=this._callback;this.clearTimeout(),e&&this.emit("error",e),i(e,t)},u.prototype.crossDomainError=function(){var e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},u.prototype.buffer=u.prototype.ca=u.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},u.prototype.pipe=u.prototype.write=function(){throw Error("Streaming is not supported in browser version of superagent")},u.prototype._timeoutError=function(){var e=this._timeout,t=new Error("timeout of "+e+"ms exceeded");t.timeout=e,this.callback(t)},u.prototype._appendQueryString=function(){var e=this._query.join("&");e&&(this.url+=~this.url.indexOf("?")?"&"+e:"?"+e)},u.prototype._isHost=function(e){return e&&"object"==typeof e&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},u.prototype.end=function(e){var t=this,i=this.xhr=g.getXHR(),n=this._timeout,s=this._formData||this._data;this._callback=e||r,i.onreadystatechange=function(){if(4==i.readyState){var e;try{e=i.status}catch(t){e=0}if(0==e){if(t.timedout)return t._timeoutError();if(t._aborted)return;return t.crossDomainError()}t.emit("end")}};var a=function(e,i){i.total>0&&(i.percent=i.loaded/i.total*100),i.direction=e,t.emit("progress",i)};if(this.hasListeners("progress"))try{i.onprogress=a.bind(null,"download"),i.upload&&(i.upload.onprogress=a.bind(null,"upload"))}catch(e){}if(n&&!this._timer&&(this._timer=setTimeout(function(){t.timedout=!0,t.abort()},n)),this._appendQueryString(),this.username&&this.password?i.open(this.method,this.url,!0,this.username,this.password):i.open(this.method,this.url,!0),this._withCredentials&&(i.withCredentials=!0),"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof s&&!this._isHost(s)){var o=this._header["content-type"],h=this._serializer||g.serialize[o?o.split(";")[0]:""];!h&&f(o)&&(h=g.serialize["application/json"]),h&&(s=h(s))}for(var c in this.header)null!=this.header[c]&&i.setRequestHeader(c,this.header[c]);return this._responseType&&(i.responseType=this._responseType),this.emit("request",this),i.send("undefined"!=typeof s?s:null),this},g.Request=u,g.get=function(e,t,i){var r=g("GET",e);return"function"==typeof t&&(i=t,t=null),t&&r.query(t),i&&r.end(i),r},g.head=function(e,t,i){var r=g("HEAD",e);return"function"==typeof t&&(i=t,t=null),t&&r.send(t),i&&r.end(i),r},g.options=function(e,t,i){var r=g("OPTIONS",e);return"function"==typeof t&&(i=t,t=null),t&&r.send(t),i&&r.end(i),r},g.del=d,g.delete=d,g.patch=function(e,t,i){var r=g("PATCH",e);return"function"==typeof t&&(i=t,t=null),t&&r.send(t),i&&r.end(i),r},g.post=function(e,t,i){var r=g("POST",e);return"function"==typeof t&&(i=t,t=null),t&&r.send(t),i&&r.end(i),r},g.put=function(e,t,i){var r=g("PUT",e);return"function"==typeof t&&(i=t,t=null),t&&r.send(t),i&&r.end(i),r}},function(e,t,i){(function(e,r){function n(e,t){this._id=e,this._clearFn=t}var s=i(8).nextTick,a=Function.prototype.apply,o=Array.prototype.slice,f={},h=0;t.setTimeout=function(){return new n(a.call(setTimeout,window,arguments),clearTimeout)},t.setInterval=function(){return new n(a.call(setInterval,window,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e.close()},n.prototype.unref=n.prototype.ref=function(){},n.prototype.close=function(){this._clearFn.call(window,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},t.setImmediate="function"==typeof e?e:function(e){var i=h++,r=!(arguments.length<2)&&o.call(arguments,1);return f[i]=!0,s(function(){f[i]&&(r?e.apply(null,r):e.call(null),t.clearImmediate(i))}),i},t.clearImmediate="function"==typeof r?r:function(e){delete f[e]}}).call(t,i(61).setImmediate,i(61).clearImmediate)},function(e,t,i){"use strict";function r(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function n(e,t,i){if(e&&h.isObject(e)&&e instanceof r)return e;var n=new r;return n.parse(e,t,i),n}function s(e){return h.isString(e)&&(e=n(e)),e instanceof r?e.format():r.prototype.format.call(e)}function a(e,t){return n(e,!1,!0).resolve(t)}function o(e,t){return e?n(e,!1,!0).resolveObject(t):t}var f=i(220),h=i(241);t.parse=n,t.resolve=a,t.resolveObject=o,t.format=s,t.Url=r;var c=/^([a-z0-9.+-]+:)/i,l=/:[0-9]*$/,u=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,d=["<",">",'"',"`"," ","\r","\n","\t"],p=["{","}","|","\\","^","`"].concat(d),b=["'"].concat(p),m=["%","/","?",";","#"].concat(b),w=["/","?","#"],g=255,v=/^[+a-z0-9A-Z_-]{0,63}$/,_=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,y={javascript:!0,"javascript:":!0},k={javascript:!0,"javascript:":!0},E={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=i(223);r.prototype.parse=function(e,t,i){if(!h.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var r=e.indexOf("?"),n=r!==-1&&r127?"x":N[L];if(!D.match(v)){var U=P.slice(0,T),j=P.slice(T+1),F=N.match(_);F&&(U.push(F[1]),j.unshift(F[2])),j.length&&(o="/"+j.join(".")+o),this.hostname=U.join(".");break}}}this.hostname.length>g?this.hostname="":this.hostname=this.hostname.toLowerCase(),C||(this.hostname=f.toASCII(this.hostname));var z=this.port?":"+this.port:"",q=this.hostname||"";this.host=q+z,this.href+=this.host,C&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==o[0]&&(o="/"+o))}if(!y[p])for(var T=0,O=b.length;T0)&&i.host.split("@");S&&(i.auth=S.shift(),i.host=i.hostname=S.shift())}return i.search=e.search,i.query=e.query,h.isNull(i.pathname)&&h.isNull(i.search)||(i.path=(i.pathname?i.pathname:"")+(i.search?i.search:"")),i.href=i.format(),i}if(!y.length)return i.pathname=null,i.search?i.path="/"+i.search:i.path=null,i.href=i.format(),i;for(var M=y.slice(-1)[0],T=(i.host||e.host||y.length>1)&&("."===M||".."===M)||""===M,x=0,R=y.length;R>=0;R--)M=y[R],"."===M?y.splice(R,1):".."===M?(y.splice(R,1),x++):x&&(y.splice(R,1),x--);if(!v&&!_)for(;x--;x)y.unshift("..");!v||""===y[0]||y[0]&&"/"===y[0].charAt(0)||y.unshift(""),T&&"/"!==y.join("/").substr(-1)&&y.push("");var I=""===y[0]||y[0]&&"/"===y[0].charAt(0);if(A){i.hostname=i.host=I?"":y.length?y.shift():"";var S=!!(i.host&&i.host.indexOf("@")>0)&&i.host.split("@");S&&(i.auth=S.shift(),i.host=i.hostname=S.shift())}return v=v||i.host&&y.length,v&&!I&&y.unshift(""),y.length?i.pathname=y.join("/"):(i.pathname=null,i.path=null),h.isNull(i.pathname)&&h.isNull(i.search)||(i.path=(i.pathname?i.pathname:"")+(i.search?i.search:"")),i.auth=e.auth||i.auth,i.slashes=i.slashes||e.slashes,i.href=i.format(),i},r.prototype.parseHost=function(){var e=this.host,t=l.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t){e.exports=function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(const i in e){const r=e[i],n=t.indexOf(r);n&&t.splice(n,1)}return 0===t.length}},function(e,t){e.exports={name:"discord.js",version:"10.0.1",description:"A powerful library for interacting with the Discord API",main:"./src/index",scripts:{test:"eslint src && node docs/generator test",docs:"node docs/generator","test-docs":"node docs/generator test",lint:"eslint src","web-dist":"node ./node_modules/parallel-webpack/bin/run.js"},repository:{type:"git",url:"git+https://github.com/hydrabolt/discord.js.git"},keywords:["discord","api","bot","client","node","discordapp"],author:"Amish Shah ",license:"Apache-2.0",bugs:{url:"https://github.com/hydrabolt/discord.js/issues"},homepage:"https://github.com/hydrabolt/discord.js#readme",dependencies:{superagent:"^3.0.0",tweetnacl:"^0.14.3",ws:"^1.1.1"},peerDependencies:{"node-opus":"^0.2.0",opusscript:"^0.0.1"},devDependencies:{bufferutil:"^1.2.1",eslint:"^3.10.0","jsdoc-to-markdown":"^2.0.0","json-loader":"^0.5.4","parallel-webpack":"^1.5.0","uglify-js":"github:mishoo/UglifyJS2#harmony","utf-8-validate":"^1.2.1",webpack:"2.1.0-beta.27",zlibjs:"github:imaya/zlib.js"},engines:{node:">=6.0.0"}}},function(e,t,i){(function(t){const r=i(12),n=i(17),s=i(135),a=i(136);class o{constructor(e,i,s=[]){this.manager=e,this.id=i,this.env=Object.assign({},t.env,{SHARD_ID:this.id,SHARD_COUNT:this.manager.totalShards,CLIENT_TOKEN:this.manager.token}),this.process=r.fork(n.resolve(this.manager.file),s,{env:this.env}),this.process.on("message",this._handleMessage.bind(this)),this.process.once("exit",()=>{this.manager.respawn&&this.manager.createShard(this.id)}),this._evals=new Map,this._fetches=new Map}send(e){return new Promise((t,i)=>{const r=this.process.send(e,e=>{e?i(e):t(this)});if(!r)throw new Error("Failed to send message to shard's process.")})}fetchClientValue(e){if(this._fetches.has(e))return this._fetches.get(e);const t=new Promise((t,i)=>{const r=i=>{i&&i._fetchProp===e&&(this.process.removeListener("message",r),this._fetches.delete(e),t(i._result))};this.process.on("message",r),this.send({_fetchProp:e}).catch(t=>{this.process.removeListener("message",r),this._fetches.delete(e),i(t)})});return this._fetches.set(e,t),t}eval(e){if(this._evals.has(e))return this._evals.get(e);const t=new Promise((t,i)=>{const r=n=>{n&&n._eval===e&&(this.process.removeListener("message",r),this._evals.delete(e),n._error?i(s(n._error)):t(n._result))};this.process.on("message",r),this.send({_eval:e}).catch(t=>{this.process.removeListener("message",r),this._evals.delete(e),i(t)})});return this._evals.set(e,t),t}_handleMessage(e){if(e){if(e._sFetchProp)return void this.manager.fetchClientValues(e._sFetchProp).then(t=>this.send({_sFetchProp:e._sFetchProp,_result:t}),t=>this.send({_sFetchProp:e._sFetchProp,_error:a(t)}));if(e._sEval)return void this.manager.broadcastEval(e._sEval).then(t=>this.send({_sEval:e._sEval,_result:t}),t=>this.send({_sEval:e._sEval,_error:a(t)}))}this.manager.emit("message",this,e)}}e.exports=o}).call(t,i(8))},function(e,t,i){(function(t){const r=i(135),n=i(136);class s{constructor(e){this.client=e,t.on("message",this._handleMessage.bind(this))}get id(){return this.client.options.shardId}get count(){return this.client.options.shardCount}send(e){return new Promise((i,r)=>{const n=t.send(e,e=>{e?r(e):i()});if(!n)throw new Error("Failed to send message to master process.")})}fetchClientValues(e){return new Promise((i,n)=>{const s=a=>{a&&a._sFetchProp===e&&(t.removeListener("message",s),a._error?n(r(a._error)):i(a._result))};t.on("message",s),this.send({_sFetchProp:e}).catch(e=>{t.removeListener("message",s),n(e)})})}broadcastEval(e){return new Promise((i,n)=>{const s=a=>{a&&a._sEval===e&&(t.removeListener("message",s),a._error?n(r(a._error)):i(a._result))};t.on("message",s),this.send({_sEval:e}).catch(e=>{t.removeListener("message",s),n(e)})})}_handleMessage(e){if(e)if(e._fetchProp){const t=e._fetchProp.split(".");let i=this.client;for(const r of t)i=i[r];this._respond("fetchProp",{_fetchProp:e._fetchProp,_result:i})}else if(e._eval)try{this._respond("eval",{_eval:e._eval,_result:this.client._eval(e._eval)})}catch(t){this._respond("eval",{_eval:e._eval,_error:n(t)})}}_respond(e,t){this.send(t).catch(t=>this.client.emit("error",`Error when sending ${e} response to master process: ${t}`))}static singleton(e){return this._singleton?e.emit("error","Multiple clients created in child process; only the first will handle sharding helpers."):this._singleton=new this(e),this._singleton}}e.exports=s}).call(t,i(8))},function(e,t,i){const r=i(14),n=i(76);class s extends n{setup(e){super.setup(e),this.flags=e.flags,this.owner=new r(this.client,e.owner)}}e.exports=s},function(e,t,i){const r=i(14),n=i(6);class s extends r{setup(e){super.setup(e),this.verified=e.verified,this.email=e.email,this.localPresence={},this._typing=new Map,this.friends=new n,this.blocked=new n,this.notes=new n}edit(e){return this.client.rest.methods.updateCurrentUser(e)}setUsername(e){return this.client.rest.methods.updateCurrentUser({username:e})}setEmail(e){return this.client.rest.methods.updateCurrentUser({email:e})}setPassword(e){return this.client.rest.methods.updateCurrentUser({password:e})}setAvatar(e){return e.startsWith("data:")?this.client.rest.methods.updateCurrentUser({avatar:e}):this.client.resolver.resolveBuffer(e).then(e=>this.client.rest.methods.updateCurrentUser({avatar:e}))}setStatus(e){return this.setPresence({status:e})}setGame(e,t){return this.setPresence({game:{name:e,url:t}})}setAFK(e){return this.setPresence({afk:e})}addFriend(e){return e=this.client.resolver.resolveUser(e),this.client.rest.methods.addFriend(e)}removeFriend(e){return e=this.client.resolver.resolveUser(e),this.client.rest.methods.removeFriend(e)}createGuild(e,t,i=null){return i?i.startsWith("data:")?this.client.rest.methods.createGuild({name:e,icon:i,region:t}):this.client.resolver.resolveBuffer(i).then(i=>this.client.rest.methods.createGuild({name:e,icon:i,region:t})):this.client.rest.methods.createGuild({name:e,icon:i,region:t})}setPresence(e){return new Promise(t=>{let i=this.localPresence.status||this.presence.status,r=this.localPresence.game,n=this.localPresence.afk||this.presence.afk;if(!r&&this.presence.game&&(r={name:this.presence.game.name,type:this.presence.game.type,url:this.presence.game.url}),e.status){if("string"!=typeof e.status)throw new TypeError("Status must be a string");i=e.status}e.game&&(r=e.game,r.url&&(r.type=1)),"undefined"!=typeof e.afk&&(n=e.afk),n=Boolean(n),this.localPresence={status:i,game:r,afk:n},this.localPresence.since=0,this.localPresence.game=this.localPresence.game||null,this.client.ws.send({op:3,d:this.localPresence}),this.client._setPresence(this.id,this.localPresence),t(this)})}}e.exports=s},function(e,t,i){const r=i(24),n=i(31),s=i(6);class a extends r{constructor(e,t){super(e,t),this.type="dm",this.messages=new s,this._typing=new Map}setup(e){super.setup(e),this.recipient=this.client.dataManager.newUser(e.recipients[0]),this.lastMessageID=e.last_message_id}toString(){return this.recipient.toString()}sendMessage(){}sendTTSMessage(){}sendFile(){}sendCode(){}fetchMessage(){}fetchMessages(){}fetchPinnedMessages(){}startTyping(){}stopTyping(){}get typing(){}get typingCount(){}createCollector(){}awaitMessages(){}bulkDelete(){}_cacheMessage(){}}n.applyToClass(a,!0),e.exports=a},function(e,t,i){const r=i(24),n=i(31),s=i(6),a=i(63);class o extends r{constructor(e,t){super(e,t),this.type="group",this.messages=new s,this._typing=new Map}setup(e){if(super.setup(e),this.name=e.name,this.icon=e.icon,this.ownerID=e.owner_id,this.recipients||(this.recipients=new s),e.recipients)for(const t of e.recipients){const e=this.client.dataManager.newUser(t);this.recipients.set(e.id,e)}this.lastMessageID=e.last_message_id}get owner(){return this.client.users.get(this.ownerID)}equals(e){const t=e&&this.id===e.id&&this.name===e.name&&this.icon===e.icon&&this.ownerID===e.ownerID;if(t){const t=this.recipients.keyArray(),i=e.recipients.keyArray();return a(t,i)}return t}toString(){return this.name}sendMessage(){}sendTTSMessage(){}sendFile(){}sendCode(){}fetchMessage(){}fetchMessages(){}fetchPinnedMessages(){}startTyping(){}stopTyping(){}get typing(){}get typingCount(){}createCollector(){}awaitMessages(){}bulkDelete(){}_cacheMessage(){}}n.applyToClass(o,!0),e.exports=o},function(e,t,i){const r=i(77),n=i(78),s=i(1);class a{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.setup(t)}setup(e){this.guild=this.client.guilds.get(e.guild.id)||new r(this.client,e.guild),this.code=e.code,this.temporary=e.temporary,this.maxAge=e.max_age,this.uses=e.uses,this.maxUses=e.max_uses,e.inviter&&(this.inviter=this.client.dataManager.newUser(e.inviter)),this.channel=this.client.channels.get(e.channel.id)||new n(this.client,e.channel),this.createdTimestamp=new Date(e.created_at).getTime()}get createdAt(){return new Date(this.createdTimestamp)}get expiresTimestamp(){return this.createdTimestamp+1e3*this.maxAge}get expiresAt(){return new Date(this.expiresTimestamp)}get url(){return s.Endpoints.inviteLink(this.code)}delete(){return this.client.rest.methods.deleteInvite(this)}toString(){return this.url}}e.exports=a},function(e,t){class i{constructor(e,t){this.client=e.client,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.message=e,this.setup(t)}setup(e){this.id=e.id,this.filename=e.filename,this.filesize=e.size,this.url=e.url,this.proxyURL=e.proxy_url,this.height=e.height,this.width=e.width}}e.exports=i},function(e,t,i){const r=i(5).EventEmitter,n=i(6);class s extends r{constructor(e,t,i={}){super(),this.channel=e,this.filter=t,this.options=i,this.ended=!1,this.collected=new n,this.listener=(e=>this.verify(e)),this.channel.client.on("message",this.listener),i.time&&this.channel.client.setTimeout(()=>this.stop("time"),i.time)}verify(e){return(!this.channel||this.channel.id===e.channel.id)&&(!!this.filter(e,this)&&(this.collected.set(e.id,e),this.emit("message",e,this),this.collected.size>=this.options.maxMatches?this.stop("matchesLimit"):this.options.max&&this.collected.size===this.options.max&&this.stop("limit"),!0))}get next(){return new Promise((e,t)=>{if(this.ended)return void t(this.collected);const i=()=>{this.removeListener("message",r),this.removeListener("end",n)},r=(...t)=>{i(),e(...t)},n=(...e)=>{i(),t(...e)};this.once("message",r),this.once("end",n)})}stop(e="user"){this.ended||(this.ended=!0,this.channel.client.removeListener("message",this.listener),this.emit("end",this.collected,e))}}e.exports=s},function(e,t){class i{constructor(e,t){this.client=e.client,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.message=e,this.setup(t)}setup(e){if(this.title=e.title,this.type=e.type,this.description=e.description,this.url=e.url,this.fields=[],e.fields)for(const t of e.fields)this.fields.push(new a(this,t));this.createdTimestamp=e.timestamp,this.thumbnail=e.thumbnail?new r(this,e.thumbnail):null,this.author=e.author?new s(this,e.author):null,this.provider=e.provider?new n(this,e.provider):null,this.footer=e.footer?new o(this,e.footer):null}get createdAt(){return new Date(this.createdTimestamp)}}class r{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.url=e.url,this.proxyURL=e.proxy_url,this.height=e.height,this.width=e.width}}class n{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.name=e.name,this.url=e.url}}class s{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.name=e.name,this.url=e.url}}class a{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.name=e.name,this.value=e.value,this.inline=e.inline}}class o{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.text=e.text,this.iconUrl=e.icon_url,this.proxyIconUrl=e.proxy_icon_url}}i.Thumbnail=r,i.Provider=n,i.Author=s,i.Field=a,i.Footer=o,e.exports=i},function(e,t,i){const r=i(6),n=i(25),s=i(48);class a{constructor(e,t,i,n){this.message=e,this.me=n,this.count=i||0,this.users=new r,this._emoji=new s(this,t.name,t.id)}get emoji(){if(this._emoji instanceof n)return this._emoji;if(this._emoji.id){const e=this.message.client.emojis;if(e.has(this._emoji.id)){const t=e.get(this._emoji.id);return this._emoji=t,t}}return this._emoji}remove(e=this.message.client.user){const t=this.message;return e=this.message.client.resolver.resolveUserID(e),e?t.client.rest.methods.removeMessageReaction(t,this.emoji.identifier,e):Promise.reject("Couldn't resolve the user ID to remove from the reaction.")}fetchUsers(e=100){const t=this.message;return t.client.rest.methods.getMessageReactionUsers(t,this.emoji.identifier,e).then(e=>{this.users=new r;for(const t of e){const e=this.message.client.dataManager.newUser(t);this.users.set(e.id,e)}return this.count=this.users.size,e})}}e.exports=a},function(e,t){class i{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.description=e.description,this.icon=e.icon,this.iconURL=`https://cdn.discordapp.com/app-icons/${this.id}/${this.icon}.jpg`,this.rpcOrigins=e.rpc_origins}get createdTimestamp(){return this.id/4194304+14200704e5}get createdAt(){return new Date(this.createdTimestamp)}toString(){return this.name}}e.exports=i},function(e,t){class i{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.icon=e.icon,this.splash=e.splash}}e.exports=i},function(e,t,i){const r=i(1);class n{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.type=r.ChannelTypes.text===e.type?"text":"voice"}}e.exports=n},function(e,t){class i{constructor(e,t){this.channel=e,t&&this.setup(t)}setup(e){this.id=e.id,this.type=e.type,this.denyData=e.deny,this.allowData=e.allow}delete(){return this.channel.client.rest.methods.deletePermissionOverwrites(this)}}e.exports=i},function(e,t,i){const r=i(32),n=i(31),s=i(6);class a extends r{constructor(e,t){super(e,t),this.type="text",this.messages=new s,this._typing=new Map}setup(e){super.setup(e),this.topic=e.topic,this.lastMessageID=e.last_message_id}get members(){const e=new s;for(const t of this.guild.members.values())this.permissionsFor(t).hasPermission("READ_MESSAGES")&&e.set(t.id,t);return e}fetchWebhooks(){return this.client.rest.methods.getChannelWebhooks(this)}createWebhook(e,t){return new Promise(i=>{t.startsWith("data:")?i(this.client.rest.methods.createWebhook(this,e,t)):this.client.resolver.resolveBuffer(t).then(t=>i(this.client.rest.methods.createWebhook(this,e,t)))})}sendMessage(){}sendTTSMessage(){}sendFile(){}sendCode(){}fetchMessage(){}fetchMessages(){}fetchPinnedMessages(){}startTyping(){}stopTyping(){}get typing(){}get typingCount(){}createCollector(){}awaitMessages(){}bulkDelete(){}_cacheMessage(){}}n.applyToClass(a,!0),e.exports=a},function(e,t,i){const r=i(32),n=i(6);class s extends r{constructor(e,t){super(e,t),this.members=new n,this.type="voice"}setup(e){super.setup(e),this.bitrate=e.bitrate,this.userLimit=e.user_limit}get connection(){const e=this.guild.voiceConnection;return e&&e.channel.id===this.id?e:null}get joinable(){return this.permissionsFor(this.client.user).hasPermission("CONNECT")}get speakable(){return this.permissionsFor(this.client.user).hasPermission("SPEAK")}setBitrate(e){return this.edit({bitrate:e})}setUserLimit(e){return this.edit({userLimit:e})}join(){return this.client.voice.joinChannel(this)}leave(){const e=this.client.voice.connections.get(this.guild.id);e&&e.channel.id===this.id&&e.disconnect()}}e.exports=s},function(e,t,i){const r=i(60),n=i(1).Endpoints.botGateway;e.exports=function(e){return new Promise((t,i)=>{if(!e)throw new Error("A token must be provided.");r.get(n).set("Authorization",`Bot ${e.replace(/^Bot\s*/i,"")}`).end((e,r)=>{e&&i(e),t(r.body.shards)})})}},function(e,t){e.exports=function(e,{maxLength=1950,char="\n",prepend="",append=""}={}){if(e.length<=maxLength)return e;const t=e.split(char);if(1===t.length)throw new Error("Message exceeds the max length and contains no split characters.");const i=[""];let r=0;for(let n=0;nmaxLength&&(i[r]+=append,i.push(prepend),r++),i[r]+=(i[r].length>0&&i[r]!==prepend?char:"")+t[n];return i}},function(e,t,i){function r(e,t){return a.call(this,t),o.isBuffer(e)?(this.base=e,this.offset=0,void(this.length=e.length)):void this.error("Input not Buffer")}function n(e,t){if(Array.isArray(e))this.length=0,this.value=e.map(function(e){return e instanceof n||(e=new n(e,t)),this.length+=e.length,e},this);else if("number"==typeof e){if(!(0<=e&&e<=255))return t.error("non-byte EncoderBuffer value");this.value=e,this.length=1}else if("string"==typeof e)this.value=e,this.length=o.byteLength(e);else{if(!o.isBuffer(e))return t.error("Unsupported type: "+typeof e);this.value=e,this.length=e.length}}var s=i(2),a=i(26).Reporter,o=i(0).Buffer;s(r,a),t.DecoderBuffer=r,r.prototype.save=function(){return{offset:this.offset,reporter:a.prototype.save.call(this)}},r.prototype.restore=function(e){var t=new r(this.base);return t.offset=e.offset,t.length=this.offset,this.offset=e.offset,a.prototype.restore.call(this,e.reporter),t},r.prototype.isEmpty=function(){return this.offset===this.length},r.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||"DecoderBuffer overrun")},r.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||"DecoderBuffer overrun");var i=new r(this.base);return i._reporterState=this._reporterState,i.offset=this.offset,i.length=this.offset+e,this.offset+=e,i},r.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},t.EncoderBuffer=n,n.prototype.join=function(e,t){return e||(e=new o(this.length)),t||(t=0),0===this.length?e:(Array.isArray(this.value)?this.value.forEach(function(i){i.join(e,t),t+=i.length}):("number"==typeof this.value?e[t]=this.value:"string"==typeof this.value?e.write(this.value,t):o.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length),e)}},function(e,t,i){var r=t;r._reverse=function(e){var t={};return Object.keys(e).forEach(function(i){(0|i)==i&&(i|=0);var r=e[i];t[r]=i}),t},r.der=i(144)},function(e,t,i){function r(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new n,this.tree._init(e.body)}function n(e){h.Node.call(this,"der",e)}function s(e,t){var i=e.readUInt8(t);if(e.isError(i))return i;var r=l.tagClass[i>>6],n=0===(32&i);if(31===(31&i)){var s=i;for(i=0;128===(128&s);){if(s=e.readUInt8(t),e.isError(s))return s;i<<=7,i|=127&s}}else i&=31;var a=l.tag[i];return{cls:r,primitive:n,tag:i,tagStr:a}}function a(e,t,i){var r=e.readUInt8(i);if(e.isError(r))return r;if(!t&&128===r)return null;if(0===(128&r))return r;var n=127&r;if(n>=4)return e.error("length octect is too long");r=0;for(var s=0;s=31?r.error("Multi-octet tag encoding unsupported"):(t||(n|=32),n|=l.tagClassByName[i||"universal"]<<6)}var o=i(2),f=i(0).Buffer,h=i(36),c=h.base,l=h.constants.der;e.exports=r,r.prototype.encode=function(e,t){return this.tree._encode(e,t).join()},o(n,c.Node),n.prototype._encodeComposite=function(e,t,i,r){var n=a(e,t,i,this.reporter);if(r.length<128){var s=new f(2);return s[0]=n,s[1]=r.length,this._createEncoderBuffer([s,r])}for(var o=1,h=r.length;h>=256;h>>=8)o++;var s=new f(2+o);s[0]=n,s[1]=128|o;for(var h=1+o,c=r.length;c>0;h--,c>>=8)s[h]=255&c;return this._createEncoderBuffer([s,r])},n.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){for(var i=new f(2*e.length),r=0;r=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}for(var n=0,r=0;r=128;s>>=7)n++}for(var a=new f(n),o=a.length-1,r=e.length-1;r>=0;r--){var s=e[r];for(a[o--]=127&s;(s>>=7)>0;)a[o--]=128|127&s}return this._createEncoderBuffer(a)},n.prototype._encodeTime=function(e,t){var i,r=new Date(e);return"gentime"===t?i=[s(r.getFullYear()),s(r.getUTCMonth()+1),s(r.getUTCDate()),s(r.getUTCHours()),s(r.getUTCMinutes()),s(r.getUTCSeconds()),"Z"].join(""):"utctime"===t?i=[s(r.getFullYear()%100),s(r.getUTCMonth()+1),s(r.getUTCDate()),s(r.getUTCHours()),s(r.getUTCMinutes()),s(r.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(i,"octstr")},n.prototype._encodeNull=function(){return this._createEncoderBuffer("")},n.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!f.isBuffer(e)){var i=e.toArray();!e.sign&&128&i[0]&&i.unshift(0),e=new f(i)}if(f.isBuffer(e)){var r=e.length;0===e.length&&r++;var n=new f(r);return e.copy(n),0===e.length&&(n[0]=0),this._createEncoderBuffer(n)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);for(var r=1,s=e;s>=256;s>>=8)r++;for(var n=new Array(r),s=n.length-1;s>=0;s--)n[s]=255&e,e>>=8;return 128&n[0]&&n.unshift(0),this._createEncoderBuffer(new f(n))},n.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},n.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},n.prototype._skipDefault=function(e,t,i){var r,n=this._baseState;if(null===n.default)return!1;var s=e.join();if(void 0===n.defaultBuffer&&(n.defaultBuffer=this._encodeValue(n.default,t,i).join()),s.length!==n.defaultBuffer.length)return!1;for(r=0;r>o%8,e._prev=r(e._prev,i?s:a);return h}function r(t,i){var r=t.length,n=-1,s=new e(t.length);for(t=e.concat([t,new e([i])]);++n>7;return s}t.encrypt=function(t,r,n){for(var s=r.length,a=new e(s),o=-1;++ot.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+i.chunkSize);if(i.windowBits&&(i.windowBitst.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+i.windowBits);if(i.level&&(i.levelt.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+i.level);if(i.memLevel&&(i.memLevelt.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+i.memLevel);if(i.strategy&&i.strategy!=t.Z_FILTERED&&i.strategy!=t.Z_HUFFMAN_ONLY&&i.strategy!=t.Z_RLE&&i.strategy!=t.Z_FIXED&&i.strategy!=t.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+i.strategy);if(i.dictionary&&!e.isBuffer(i.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new b.Zlib(r);var n=this;this._hadError=!1,this._binding.onerror=function(e,i){n._binding=null,n._hadError=!0;var r=new Error(e);r.errno=i,r.code=t.codes[i],n.emit("error",r)};var s=t.Z_DEFAULT_COMPRESSION;"number"==typeof i.level&&(s=i.level);var a=t.Z_DEFAULT_STRATEGY;"number"==typeof i.strategy&&(a=i.strategy),this._binding.init(i.windowBits||t.Z_DEFAULT_WINDOWBITS,s,i.memLevel||t.Z_DEFAULT_MEMLEVEL,a,i.dictionary),this._buffer=new e(this._chunkSize),this._offset=0,this._closed=!1,this._level=s,this._strategy=a,this.once("end",this.close)}var p=i(118),b=i(160),m=i(10),w=i(149).ok;b.Z_MIN_WINDOWBITS=8,b.Z_MAX_WINDOWBITS=15,b.Z_DEFAULT_WINDOWBITS=15,b.Z_MIN_CHUNK=64,b.Z_MAX_CHUNK=1/0,b.Z_DEFAULT_CHUNK=16384,b.Z_MIN_MEMLEVEL=1,b.Z_MAX_MEMLEVEL=9,b.Z_DEFAULT_MEMLEVEL=8,b.Z_MIN_LEVEL=-1,b.Z_MAX_LEVEL=9,b.Z_DEFAULT_LEVEL=b.Z_DEFAULT_COMPRESSION,Object.keys(b).forEach(function(e){e.match(/^Z/)&&(t[e]=b[e])}),t.codes={Z_OK:b.Z_OK,Z_STREAM_END:b.Z_STREAM_END,Z_NEED_DICT:b.Z_NEED_DICT,Z_ERRNO:b.Z_ERRNO,Z_STREAM_ERROR:b.Z_STREAM_ERROR,Z_DATA_ERROR:b.Z_DATA_ERROR,Z_MEM_ERROR:b.Z_MEM_ERROR,Z_BUF_ERROR:b.Z_BUF_ERROR,Z_VERSION_ERROR:b.Z_VERSION_ERROR},Object.keys(t.codes).forEach(function(e){t.codes[t.codes[e]]=e}),t.Deflate=a,t.Inflate=o,t.Gzip=f,t.Gunzip=h,t.DeflateRaw=c,t.InflateRaw=l,t.Unzip=u,t.createDeflate=function(e){return new a(e)},t.createInflate=function(e){return new o(e)},t.createDeflateRaw=function(e){return new c(e)},t.createInflateRaw=function(e){return new l(e)},t.createGzip=function(e){return new f(e)},t.createGunzip=function(e){return new h(e)},t.createUnzip=function(e){return new u(e)},t.deflate=function(e,t,i){return"function"==typeof t&&(i=t,t={}),n(new a(t),e,i)},t.deflateSync=function(e,t){return s(new a(t),e)},t.gzip=function(e,t,i){return"function"==typeof t&&(i=t,t={}),n(new f(t),e,i)},t.gzipSync=function(e,t){return s(new f(t),e)},t.deflateRaw=function(e,t,i){return"function"==typeof t&&(i=t,t={}),n(new c(t),e,i)},t.deflateRawSync=function(e,t){return s(new c(t),e)},t.unzip=function(e,t,i){return"function"==typeof t&&(i=t,t={}),n(new u(t),e,i)},t.unzipSync=function(e,t){return s(new u(t),e)},t.inflate=function(e,t,i){return"function"==typeof t&&(i=t,t={}),n(new o(t),e,i)},t.inflateSync=function(e,t){return s(new o(t),e)},t.gunzip=function(e,t,i){return"function"==typeof t&&(i=t,t={}),n(new h(t),e,i)},t.gunzipSync=function(e,t){return s(new h(t),e)},t.inflateRaw=function(e,t,i){return"function"==typeof t&&(i=t,t={}),n(new l(t),e,i)},t.inflateRawSync=function(e,t){return s(new l(t),e)},m.inherits(d,p),d.prototype.params=function(e,i,n){if(et.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(i!=t.Z_FILTERED&&i!=t.Z_HUFFMAN_ONLY&&i!=t.Z_RLE&&i!=t.Z_FIXED&&i!=t.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+i);if(this._level!==e||this._strategy!==i){var s=this;this.flush(b.Z_SYNC_FLUSH,function(){s._binding.params(e,i),s._hadError||(s._level=e,s._strategy=i,n&&n())})}else r.nextTick(n)},d.prototype.reset=function(){return this._binding.reset()},d.prototype._flush=function(t){this._transform(new e(0),"",t)},d.prototype.flush=function(t,i){var n=this._writableState;if(("function"==typeof t||void 0===t&&!i)&&(i=t,t=b.Z_FULL_FLUSH),n.ended)i&&r.nextTick(i);else if(n.ending)i&&this.once("end",i);else if(n.needDrain){var s=this;this.once("drain",function(){s.flush(i)})}else this._flushFlag=t,this.write(new e(0),"",i)},d.prototype.close=function(e){if(e&&r.nextTick(e),!this._closed){this._closed=!0,this._binding.close();var t=this;r.nextTick(function(){t.emit("close")})}},d.prototype._transform=function(t,i,r){var n,s=this._writableState,a=s.ending||s.ended,o=a&&(!t||s.length===t.length);if(null===!t&&!e.isBuffer(t))return r(new Error("invalid input"));o?n=b.Z_FINISH:(n=this._flushFlag,t.length>=s.length&&(this._flushFlag=this._opts.flush||b.Z_NO_FLUSH));this._processChunk(t,n,r)},d.prototype._processChunk=function(t,i,r){function n(c,d){if(!f._hadError){var p=a-d;if(w(p>=0,"have should not go down"),p>0){var b=f._buffer.slice(f._offset,f._offset+p);f._offset+=p,h?f.push(b):(l.push(b),u+=b.length)}if((0===d||f._offset>=f._chunkSize)&&(a=f._chunkSize,f._offset=0,f._buffer=new e(f._chunkSize)),0===d){if(o+=s-c,s=c,!h)return!0;var m=f._binding.write(i,t,o,s,f._buffer,f._offset,f._chunkSize);return m.callback=n,void(m.buffer=t)}return!!h&&void r()}}var s=t&&t.length,a=this._chunkSize-this._offset,o=0,f=this,h="function"==typeof r;if(!h){var c,l=[],u=0;this.on("error",function(e){c=e});do var d=this._binding.writeSync(i,t,o,s,this._buffer,this._offset,a);while(!this._hadError&&n(d[0],d[1]));if(this._hadError)throw c;var p=e.concat(l,u);return this.close(),p}var b=this._binding.write(i,t,o,s,this._buffer,this._offset,a);b.buffer=t,b.callback=n},m.inherits(a,d),m.inherits(o,d),m.inherits(f,d),m.inherits(h,d),m.inherits(c,d),m.inherits(l,d),m.inherits(u,d)}).call(t,i(0).Buffer,i(8))},function(e,t,i){"use strict";function r(e,t){e[t>>5]|=128<>>9<<4)+14]=t;for(var i=1732584193,r=-271733879,n=-1732584194,c=271733878,l=0;l>16)+(t>>16)+(i>>16);return r<<16|65535&i}function c(e,t){return e<>>32-t}var l=i(165);e.exports=function(e){return l.hash(e,r,16)}},function(e,t,i){(function(t){function r(){this.init(),this._w=d,l.call(this,64,56)}function n(e,t,i){return i^e&(t^i)}function s(e,t,i){return e&t|i&(e|t)}function a(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function o(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function f(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function h(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}var c=i(2),l=i(23),u=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],d=new Array(64);c(r,l),r.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},r.prototype._update=function(e){for(var t=this._w,i=0|this._a,r=0|this._b,c=0|this._c,l=0|this._d,d=0|this._e,p=0|this._f,b=0|this._g,m=0|this._h,w=0;w<16;++w)t[w]=e.readInt32BE(4*w);for(;w<64;++w)t[w]=h(t[w-2])+t[w-7]+f(t[w-15])+t[w-16]|0;for(var g=0;g<64;++g){var v=m+o(d)+n(d,p,b)+u[g]+t[g]|0,_=a(i)+s(i,r,c)|0;m=b,b=p,p=d,d=l+v|0,l=c,c=r,r=i,i=v+_|0}this._a=i+this._a|0,this._b=r+this._b|0,this._c=c+this._c|0,this._d=l+this._d|0,this._e=d+this._e|0,this._f=p+this._f|0,this._g=b+this._g|0,this._h=m+this._h|0},r.prototype._hash=function(){var e=new t(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=r}).call(t,i(0).Buffer)},function(e,t,i){(function(t){function r(){this.init(),this._w=m,p.call(this,128,112)}function n(e,t,i){return i^e&(t^i)}function s(e,t,i){return e&t|i&(e|t)}function a(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function o(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function f(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function h(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function c(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function l(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function u(e,t){return e>>>0>>0?1:0}var d=i(2),p=i(23),b=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],m=new Array(160);d(r,p),r.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},r.prototype._update=function(e){for(var t=this._w,i=0|this._ah,r=0|this._bh,d=0|this._ch,p=0|this._dh,m=0|this._eh,w=0|this._fh,g=0|this._gh,v=0|this._hh,_=0|this._al,y=0|this._bl,k=0|this._cl,E=0|this._dl,A=0|this._el,S=0|this._fl,M=0|this._gl,T=0|this._hl,x=0;x<32;x+=2)t[x]=e.readInt32BE(4*x),t[x+1]=e.readInt32BE(4*x+4);for(;x<160;x+=2){var R=t[x-30],I=t[x-30+1],C=f(R,I),P=h(I,R);R=t[x-4],I=t[x-4+1];var O=c(R,I),N=l(I,R),D=t[x-14],L=t[x-14+1],B=t[x-32],U=t[x-32+1],j=P+L|0,F=C+D+u(j,P)|0;j=j+N|0,F=F+O+u(j,N)|0,j=j+U|0,F=F+B+u(j,U)|0,t[x]=F,t[x+1]=j}for(var z=0;z<160;z+=2){F=t[z],j=t[z+1];var q=s(i,r,d),H=s(_,y,k),G=a(i,_),V=a(_,i),W=o(m,A),K=o(A,m),Y=b[z],Z=b[z+1],$=n(m,w,g),X=n(A,S,M),J=T+K|0,Q=v+W+u(J,T)|0;J=J+X|0,Q=Q+$+u(J,X)|0,J=J+Z|0,Q=Q+Y+u(J,Z)|0,J=J+j|0,Q=Q+F+u(J,j)|0;var ee=V+H|0,te=G+q+u(ee,V)|0;v=g,T=M,g=w,M=S,w=m,S=A,A=E+J|0,m=p+Q+u(A,E)|0,p=d,E=k,d=r,k=y,r=i,y=_,_=J+ee|0,i=Q+te+u(_,J)|0}this._al=this._al+_|0,this._bl=this._bl+y|0,this._cl=this._cl+k|0,this._dl=this._dl+E|0,this._el=this._el+A|0,this._fl=this._fl+S|0,this._gl=this._gl+M|0,this._hl=this._hl+T|0,this._ah=this._ah+i+u(this._al,_)|0,this._bh=this._bh+r+u(this._bl,y)|0,this._ch=this._ch+d+u(this._cl,k)|0,this._dh=this._dh+p+u(this._dl,E)|0,this._eh=this._eh+m+u(this._el,A)|0,this._fh=this._fh+w+u(this._fl,S)|0,this._gh=this._gh+g+u(this._gl,M)|0,this._hh=this._hh+v+u(this._hl,T)|0},r.prototype._hash=function(){function e(e,t,r){i.writeInt32BE(e,r),i.writeInt32BE(t,r+4)}var i=new t(64);return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),i},e.exports=r}).call(t,i(0).Buffer)},function(e,t,i){function r(){if(null!==v)return v;var e=1048576,t=[];t[0]=2;for(var i=1,r=3;re;)i.ishrn(1);if(i.isEven()&&i.iadd(u),i.testn(1)||i.iadd(d),t.cmp(d)){if(!t.cmp(p))for(;i.mod(b).cmp(m);)i.iadd(g)}else for(;i.mod(h).cmp(w);)i.iadd(g);if(r=i.shrn(1),n(r)&&n(i)&&s(r)&&s(i)&&l.test(r)&&l.test(i))return i}}var o=i(30);e.exports=a,a.simpleSieve=n,a.fermatTest=s;var f=i(7),h=new f(24),c=i(107),l=new c,u=new f(1),d=new f(2),p=new f(5),b=(new f(16),new f(8),new f(10)),m=new f(3),w=(new f(7),new f(11)),g=new f(4),v=(new f(12),null)},function(e,t){var i={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==i.call(e)}},function(e,t,i){function r(e){this.rand=e||new s.Rand}var n=i(7),s=i(90);e.exports=r,r.create=function(e){return new r(e)},r.prototype._rand=function(e){var t=e.bitLength(),i=this.rand.generate(Math.ceil(t/8));i[0]|=3;var r=7&t;return 0!==r&&(i[i.length-1]>>=7-r),new n(i)},r.prototype.test=function(e,t,i){var r=e.bitLength(),s=n.mont(e),a=new n(1).toRed(s);t||(t=Math.max(1,r/48|0));for(var o=e.subn(1),f=o.subn(1),h=0;!o.testn(h);h++);for(var c=e.shrn(h),l=o.toRed(s),u=!0;t>0;t--){var d=this._rand(f);i&&i(d);var p=d.toRed(s).redPow(c);if(0!==p.cmp(a)&&0!==p.cmp(l)){for(var b=1;b0;t--){var l=this._rand(o),u=e.gcd(l);if(0!==u.cmpn(1))return u;var d=l.toRed(r).redPow(h);if(0!==d.cmp(s)&&0!==d.cmp(c)){for(var p=1;p0)throw r.length>1?new Error("options "+r.slice(0,r.length-1).join(", ")+" and "+r[r.length-1]+" must be defined"):new Error("option "+r[0]+" must be defined")}return Object.keys(e).forEach(function(i){i in t&&(t[i]=e[i])}),this},this.copy=function(t){var r={};return Object.keys(e).forEach(function(e){t.indexOf(e)!==-1&&(r[e]=i[e])}),r},this.read=function(e,t){if("function"==typeof t){var i=this;n.readFile(e,function(e,r){if(e)return t(e);var n=JSON.parse(r);i.merge(n),t()})}else{var r=JSON.parse(n.readFileSync(e));this.merge(r)}return this},this.isDefined=function(e){return"undefined"!=typeof i[e]},this.isDefinedAndNonNull=function(e){return"undefined"!=typeof i[e]&&null!==i[e]},Object.freeze(i),Object.freeze(this)}/*! +\`\`\``,n)}edit(e=this.name,t){return t?this.client.resolver.resolveBuffer(t).then(t=>{const n=this.client.resolver.resolveBase64(t);return this.client.rest.methods.editWebhook(this,e,n)}):this.client.rest.methods.editWebhook(this,e).then(e=>{return this.setup(e),this})}delete(){return this.client.rest.methods.deleteWebhook(this)}}e.exports=s},function(e,t,n){function i(){return Object.keys(o)}var r=n(152);t.createCipher=t.Cipher=r.createCipher,t.createCipheriv=t.Cipheriv=r.createCipheriv;var s=n(151);t.createDecipher=t.Decipher=s.createDecipher,t.createDecipheriv=t.Decipheriv=s.createDecipheriv;var o=n(38);t.listCiphers=t.getCiphers=i},function(e,t,n){(function(t){function i(e){var t=s(e),n=t.toRed(o.mont(e.modulus)).redPow(new o(e.publicExponent)).fromRed();return{blinder:n,unblinder:t.invm(e.modulus)}}function r(e,n){var r=i(n),s=n.modulus.byteLength(),a=(o.mont(n.modulus),new o(e).mul(r.blinder).umod(n.modulus)),c=a.toRed(o.mont(n.prime1)),h=a.toRed(o.mont(n.prime2)),f=n.coefficient,u=n.prime1,d=n.prime2,l=c.redPow(n.exponent1),p=h.redPow(n.exponent2);l=l.fromRed(),p=p.fromRed();var b=l.isub(p).imul(f).umod(u);return b.imul(d),p.iadd(b),new t(p.imul(r.unblinder).umod(n.modulus).toArray(!1,s))}function s(e){for(var t=e.modulus.byteLength(),n=new o(a(t));n.cmp(e.modulus)>=0||!n.umod(e.prime1)||!n.umod(e.prime2);)n=new o(a(t));return n}var o=n(7),a=n(30);e.exports=r,r.getr=s}).call(t,n(0).Buffer)},function(e,t,n){"use strict";(function(e){var i=n(0),r=i.Buffer,s=i.SlowBuffer,o=i.kMaxLength||2147483647;t.alloc=function(e,t,n){if("function"==typeof r.alloc)return r.alloc(e,t,n);if("number"==typeof n)throw new TypeError("encoding must not be number");if("number"!=typeof e)throw new TypeError("size must be a number");if(e>o)throw new RangeError("size is too large");var i=n,s=t;void 0===s&&(i=void 0,s=0);var a=new r(e);if("string"==typeof s)for(var c=new r(s,i),h=c.length,f=-1;++fo)throw new RangeError("size is too large");return new r(e)},t.from=function(t,n,i){if("function"==typeof r.from&&(!e.Uint8Array||Uint8Array.from!==r.from))return r.from(t,n,i);if("number"==typeof t)throw new TypeError('"value" argument must not be a number');if("string"==typeof t)return new r(t,n);if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer){var s=n;if(1===arguments.length)return new r(t);"undefined"==typeof s&&(s=0);var o=i;if("undefined"==typeof o&&(o=t.byteLength-s),s>=t.byteLength)throw new RangeError("'offset' is out of bounds");if(o>t.byteLength-s)throw new RangeError("'length' is out of bounds");return new r(t.slice(s,s+o))}if(r.isBuffer(t)){var a=new r(t.length);return t.copy(a,0,0,t.length),a}if(t){if(Array.isArray(t)||"undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return new r(t);if("Buffer"===t.type&&Array.isArray(t.data))return new r(t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")},t.allocUnsafeSlow=function(e){if("function"==typeof r.allocUnsafeSlow)return r.allocUnsafeSlow(e);if("number"!=typeof e)throw new TypeError("size must be a number");if(e>=o)throw new RangeError("size is too large");return new s(e)}}).call(t,n(18))},function(e,t,n){"use strict";(function(t){function i(e,n){o.call(this),e=e.toLowerCase(),"string"==typeof n&&(n=new t(n));var i="sha512"===e||"sha384"===e?128:64;this._alg=e,this._key=n,n.length>i?n=r(e).update(n).digest():n.length-1?i:k;a.WritableState=o;var M=n(28);M.inherits=n(2);var x,R={deprecate:n(232)};!function(){try{x=n(11)}catch(e){}finally{x||(x=n(5).EventEmitter)}}();var I=n(0).Buffer,T=n(52);M.inherits(a,x);var C;o.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(o.prototype,"buffer",{get:R.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")})}catch(e){}}();var C;a.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},a.prototype.write=function(e,t,n){var i=this._writableState,s=!1;return"function"==typeof t&&(n=t,t=null),I.isBuffer(e)?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof n&&(n=r),i.ended?c(this,n):h(this,i,e,n)&&(i.pendingcb++,s=u(this,i,e,t,n)),s},a.prototype.cork=function(){var e=this._writableState;e.corked++},a.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||v(this,e))},a.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},a.prototype._write=function(e,t,n){n(new Error("not implemented"))},a.prototype._writev=null,a.prototype.end=function(e,t,n){var i=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!==e&&void 0!==e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||E(this,i,n)}}).call(t,n(8),n(61).setImmediate)},function(e,t,n){function i(e){if(e&&!c(e))throw new Error("Unknown encoding: "+e)}function r(e){return e.toString(this.encoding)}function s(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function o(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}var a=n(0).Buffer,c=a.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},h=t.StringDecoder=function(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),i(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=s;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=o;break;default:return void(this.write=r)}this.charBuffer=new a(6),this.charReceived=0,this.charLength=0};h.prototype.write=function(e){for(var t="";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var r=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,r),r-=this.charReceived),t+=e.toString(this.encoding,0,r);var r=t.length-1,i=t.charCodeAt(r);if(i>=55296&&i<=56319){var s=this.surrogateSize;return this.charLength+=s,this.charReceived+=s,this.charBuffer.copy(this.charBuffer,s,0,s),e.copy(this.charBuffer,0,0,s),t.substring(0,r)}return t},h.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},h.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.charReceived,i=this.charBuffer,r=this.encoding;t+=i.slice(0,n).toString(r)}return t}},function(e,t,n){function i(){}function r(e){if(!g(e))return e;var t=[];for(var n in e)s(t,n,e[n]);return t.join("&")}function s(e,t,n){if(null!=n)if(Array.isArray(n))n.forEach(function(n){s(e,t,n)});else if(g(n))for(var i in n)s(e,t+"["+i+"]",n[i]);else e.push(encodeURIComponent(t)+"="+encodeURIComponent(n));else null===n&&e.push(encodeURIComponent(t))}function o(e){for(var t,n,i={},r=e.split("&"),s=0,o=r.length;s=300)&&(i=new Error(t.statusText||"Unsuccessful HTTP response"),i.original=e,i.response=t,i.status=t.status)}catch(e){i=e}i?n.callback(i,t):n.callback(null,t)})}function l(e,t){var n=v("DELETE",e);return t&&n.end(t),n}var p;"undefined"!=typeof window?p=window:"undefined"!=typeof self?p=self:(console.warn("Using browser-only version of superagent in non-browser environment"),p=this);var b=n(163),m=n(227),g=n(119),v=e.exports=n(228).bind(null,d);v.getXHR=function(){if(!(!p.XMLHttpRequest||p.location&&"file:"==p.location.protocol&&p.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw Error("Browser-only verison of superagent could not find XHR")};var y="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};v.serializeObject=r,v.parseString=o,v.types={html:"text/html",json:"application/json",xml:"application/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},v.serialize={"application/x-www-form-urlencoded":r,"application/json":JSON.stringify},v.parse={"application/x-www-form-urlencoded":o,"application/json":JSON.parse},u.prototype.get=function(e){return this.header[e.toLowerCase()]},u.prototype._setHeaderProperties=function(e){var t=this.header["content-type"]||"";this.type=h(t);var n=f(t);for(var i in n)this[i]=n[i]},u.prototype._parseBody=function(e){var t=v.parse[this.type];return!t&&c(this.type)&&(t=v.parse["application/json"]),t&&e&&(e.length||e instanceof Object)?t(e):null},u.prototype._setStatusProperties=function(e){1223===e&&(e=204);var t=e/100|0;this.status=this.statusCode=e,this.statusType=t,this.info=1==t,this.ok=2==t,this.clientError=4==t,this.serverError=5==t,this.error=(4==t||5==t)&&this.toError(),this.accepted=202==e,this.noContent=204==e,this.badRequest=400==e,this.unauthorized=401==e,this.notAcceptable=406==e,this.notFound=404==e,this.forbidden=403==e},u.prototype.toError=function(){var e=this.req,t=e.method,n=e.url,i="cannot "+t+" "+n+" ("+this.status+")",r=new Error(i);return r.status=this.status,r.method=t,r.url=n,r},v.Response=u,b(d.prototype),m(d.prototype),d.prototype.type=function(e){return this.set("Content-Type",v.types[e]||e),this},d.prototype.responseType=function(e){return this._responseType=e,this},d.prototype.accept=function(e){return this.set("Accept",v.types[e]||e),this},d.prototype.auth=function(e,t,n){switch(n||(n={type:"basic"}),n.type){case"basic":var i=btoa(e+":"+t);this.set("Authorization","Basic "+i);break;case"auto":this.username=e,this.password=t}return this},d.prototype.query=function(e){return"string"!=typeof e&&(e=r(e)),e&&this._query.push(e),this},d.prototype.attach=function(e,t,n){if(this._data)throw Error("superagent can't mix .send() and .attach()");return this._getFormData().append(e,t,n||t.name),this},d.prototype._getFormData=function(){return this._formData||(this._formData=new p.FormData),this._formData},d.prototype.callback=function(e,t){var n=this._callback;this.clearTimeout(),e&&this.emit("error",e),n(e,t)},d.prototype.crossDomainError=function(){var e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},d.prototype.buffer=d.prototype.ca=d.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},d.prototype.pipe=d.prototype.write=function(){throw Error("Streaming is not supported in browser version of superagent")},d.prototype._timeoutError=function(){var e=this._timeout,t=new Error("timeout of "+e+"ms exceeded");t.timeout=e,this.callback(t)},d.prototype._appendQueryString=function(){var e=this._query.join("&");e&&(this.url+=~this.url.indexOf("?")?"&"+e:"?"+e)},d.prototype._isHost=function(e){return e&&"object"==typeof e&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},d.prototype.end=function(e){var t=this,n=this.xhr=v.getXHR(),r=this._timeout,s=this._formData||this._data;this._callback=e||i,n.onreadystatechange=function(){if(4==n.readyState){var e;try{e=n.status}catch(t){e=0}if(0==e){if(t.timedout)return t._timeoutError();if(t._aborted)return;return t.crossDomainError()}t.emit("end")}};var o=function(e,n){n.total>0&&(n.percent=n.loaded/n.total*100),n.direction=e,t.emit("progress",n)};if(this.hasListeners("progress"))try{n.onprogress=o.bind(null,"download"),n.upload&&(n.upload.onprogress=o.bind(null,"upload"))}catch(e){}if(r&&!this._timer&&(this._timer=setTimeout(function(){t.timedout=!0,t.abort()},r)),this._appendQueryString(),this.username&&this.password?n.open(this.method,this.url,!0,this.username,this.password):n.open(this.method,this.url,!0),this._withCredentials&&(n.withCredentials=!0),"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof s&&!this._isHost(s)){var a=this._header["content-type"],h=this._serializer||v.serialize[a?a.split(";")[0]:""];!h&&c(a)&&(h=v.serialize["application/json"]),h&&(s=h(s))}for(var f in this.header)null!=this.header[f]&&n.setRequestHeader(f,this.header[f]);return this._responseType&&(n.responseType=this._responseType),this.emit("request",this),n.send("undefined"!=typeof s?s:null),this},v.Request=d,v.get=function(e,t,n){var i=v("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},v.head=function(e,t,n){var i=v("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},v.options=function(e,t,n){var i=v("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},v.del=l,v.delete=l,v.patch=function(e,t,n){var i=v("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},v.post=function(e,t,n){var i=v("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},v.put=function(e,t,n){var i=v("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}},function(e,t,n){(function(e,i){function r(e,t){this._id=e,this._clearFn=t}var s=n(8).nextTick,o=Function.prototype.apply,a=Array.prototype.slice,c={},h=0;t.setTimeout=function(){return new r(o.call(setTimeout,window,arguments),clearTimeout)},t.setInterval=function(){return new r(o.call(setInterval,window,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(window,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},t.setImmediate="function"==typeof e?e:function(e){var n=h++,i=!(arguments.length<2)&&a.call(arguments,1);return c[n]=!0,s(function(){c[n]&&(i?e.apply(null,i):e.call(null),t.clearImmediate(n))}),n},t.clearImmediate="function"==typeof i?i:function(e){delete c[e]}}).call(t,n(61).setImmediate,n(61).clearImmediate)},function(e,t,n){"use strict";function i(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function r(e,t,n){if(e&&h.isObject(e)&&e instanceof i)return e;var r=new i;return r.parse(e,t,n),r}function s(e){return h.isString(e)&&(e=r(e)),e instanceof i?e.format():i.prototype.format.call(e)}function o(e,t){return r(e,!1,!0).resolve(t)}function a(e,t){return e?r(e,!1,!0).resolveObject(t):t}var c=n(218),h=n(239);t.parse=r,t.resolve=o,t.resolveObject=a,t.format=s,t.Url=i;var f=/^([a-z0-9.+-]+:)/i,u=/:[0-9]*$/,d=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,l=["<",">",'"',"`"," ","\r","\n","\t"],p=["{","}","|","\\","^","`"].concat(l),b=["'"].concat(p),m=["%","/","?",";","#"].concat(b),g=["/","?","#"],v=255,y=/^[+a-z0-9A-Z_-]{0,63}$/,_=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,w={javascript:!0,"javascript:":!0},E={javascript:!0,"javascript:":!0},S={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},k=n(221);i.prototype.parse=function(e,t,n){if(!h.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var i=e.indexOf("?"),r=i!==-1&&i127?"x":B[O];if(!L.match(y)){var N=D.slice(0,x),j=D.slice(x+1),q=B.match(_);q&&(N.push(q[1]),j.unshift(q[2])),j.length&&(a="/"+j.join(".")+a),this.hostname=N.join(".");break}}}this.hostname.length>v?this.hostname="":this.hostname=this.hostname.toLowerCase(),C||(this.hostname=c.toASCII(this.hostname));var z=this.port?":"+this.port:"",F=this.hostname||"";this.host=F+z,this.href+=this.host,C&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==a[0]&&(a="/"+a))}if(!w[p])for(var x=0,P=b.length;x0)&&n.host.split("@");A&&(n.auth=A.shift(),n.host=n.hostname=A.shift())}return n.search=e.search,n.query=e.query,h.isNull(n.pathname)&&h.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!w.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var M=w.slice(-1)[0],x=(n.host||e.host||w.length>1)&&("."===M||".."===M)||""===M,R=0,I=w.length;I>=0;I--)M=w[I],"."===M?w.splice(I,1):".."===M?(w.splice(I,1),R++):R&&(w.splice(I,1),R--);if(!y&&!_)for(;R--;R)w.unshift("..");!y||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),x&&"/"!==w.join("/").substr(-1)&&w.push("");var T=""===w[0]||w[0]&&"/"===w[0].charAt(0);if(k){n.hostname=n.host=T?"":w.length?w.shift():"";var A=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");A&&(n.auth=A.shift(),n.host=n.hostname=A.shift())}return y=y||n.host&&w.length,y&&!T&&w.unshift(""),w.length?n.pathname=w.join("/"):(n.pathname=null,n.path=null),h.isNull(n.pathname)&&h.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},i.prototype.parseHost=function(){var e=this.host,t=u.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t){e.exports=function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(const n in e){const i=e[n],r=t.indexOf(i);r&&t.splice(r,1)}return 0===t.length}},function(e,t){e.exports={name:"discord.js",version:"10.0.1",description:"A powerful library for interacting with the Discord API",main:"./src/index",scripts:{test:"eslint src && node docs/generator test",docs:"node docs/generator","test-docs":"node docs/generator test",lint:"eslint src","web-dist":"node ./node_modules/parallel-webpack/bin/run.js"},repository:{type:"git",url:"git+https://github.com/hydrabolt/discord.js.git"},keywords:["discord","api","bot","client","node","discordapp"],author:"Amish Shah ",license:"Apache-2.0",bugs:{url:"https://github.com/hydrabolt/discord.js/issues"},homepage:"https://github.com/hydrabolt/discord.js#readme",dependencies:{superagent:"^3.0.0",tweetnacl:"^0.14.3",ws:"^1.1.1"},peerDependencies:{"node-opus":"^0.2.0",opusscript:"^0.0.1"},devDependencies:{bufferutil:"^1.2.1",eslint:"^3.10.0","jsdoc-to-markdown":"^2.0.0","json-loader":"^0.5.4","parallel-webpack":"^1.5.0","uglify-js":"github:mishoo/UglifyJS2#harmony","utf-8-validate":"^1.2.1",webpack:"2.1.0-beta.27",zlibjs:"github:imaya/zlib.js"},engines:{node:">=6.0.0"}}},function(e,t,n){(function(t){const i=n(13),r=n(23),s=n(135),o=n(136);class a{constructor(e,n,s=[]){this.manager=e,this.id=n,this.env=Object.assign({},t.env,{SHARD_ID:this.id,SHARD_COUNT:this.manager.totalShards,CLIENT_TOKEN:this.manager.token}),this.process=i.fork(r.resolve(this.manager.file),s,{env:this.env}),this.process.on("message",this._handleMessage.bind(this)),this.process.once("exit",()=>{this.manager.respawn&&this.manager.createShard(this.id)}),this._evals=new Map,this._fetches=new Map}send(e){return new Promise((t,n)=>{const i=this.process.send(e,e=>{e?n(e):t(this)});if(!i)throw new Error("Failed to send message to shard's process.")})}fetchClientValue(e){if(this._fetches.has(e))return this._fetches.get(e);const t=new Promise((t,n)=>{const i=n=>{n&&n._fetchProp===e&&(this.process.removeListener("message",i),this._fetches.delete(e),t(n._result))};this.process.on("message",i),this.send({_fetchProp:e}).catch(t=>{this.process.removeListener("message",i),this._fetches.delete(e),n(t)})});return this._fetches.set(e,t),t}eval(e){if(this._evals.has(e))return this._evals.get(e);const t=new Promise((t,n)=>{const i=r=>{r&&r._eval===e&&(this.process.removeListener("message",i),this._evals.delete(e),r._error?n(s(r._error)):t(r._result))};this.process.on("message",i),this.send({_eval:e}).catch(t=>{this.process.removeListener("message",i),this._evals.delete(e),n(t)})});return this._evals.set(e,t),t}_handleMessage(e){if(e){if(e._sFetchProp)return void this.manager.fetchClientValues(e._sFetchProp).then(t=>this.send({_sFetchProp:e._sFetchProp,_result:t}),t=>this.send({_sFetchProp:e._sFetchProp,_error:o(t)}));if(e._sEval)return void this.manager.broadcastEval(e._sEval).then(t=>this.send({_sEval:e._sEval,_result:t}),t=>this.send({_sEval:e._sEval,_error:o(t)}))}this.manager.emit("message",this,e)}}e.exports=a}).call(t,n(8))},function(e,t,n){(function(t){const i=n(135),r=n(136);class s{constructor(e){this.client=e,t.on("message",this._handleMessage.bind(this))}get id(){return this.client.options.shardId}get count(){return this.client.options.shardCount}send(e){return new Promise((n,i)=>{const r=t.send(e,e=>{e?i(e):n()});if(!r)throw new Error("Failed to send message to master process.")})}fetchClientValues(e){return new Promise((n,r)=>{const s=o=>{o&&o._sFetchProp===e&&(t.removeListener("message",s),o._error?r(i(o._error)):n(o._result))};t.on("message",s),this.send({_sFetchProp:e}).catch(e=>{t.removeListener("message",s),r(e)})})}broadcastEval(e){return new Promise((n,r)=>{const s=o=>{o&&o._sEval===e&&(t.removeListener("message",s),o._error?r(i(o._error)):n(o._result))};t.on("message",s),this.send({_sEval:e}).catch(e=>{t.removeListener("message",s),r(e)})})}_handleMessage(e){if(e)if(e._fetchProp){const t=e._fetchProp.split(".");let n=this.client;for(const i of t)n=n[i];this._respond("fetchProp",{_fetchProp:e._fetchProp,_result:n})}else if(e._eval)try{this._respond("eval",{_eval:e._eval,_result:this.client._eval(e._eval)})}catch(t){this._respond("eval",{_eval:e._eval,_error:r(t)})}}_respond(e,t){this.send(t).catch(t=>this.client.emit("error",`Error when sending ${e} response to master process: ${t}`))}static singleton(e){return this._singleton?e.emit("error","Multiple clients created in child process; only the first will handle sharding helpers."):this._singleton=new this(e),this._singleton}}e.exports=s}).call(t,n(8))},function(e,t,n){const i=n(14),r=n(76);class s extends r{setup(e){super.setup(e),this.flags=e.flags,this.owner=new i(this.client,e.owner)}}e.exports=s},function(e,t,n){const i=n(14),r=n(6);class s extends i{setup(e){super.setup(e),this.verified=e.verified,this.email=e.email,this.localPresence={},this._typing=new Map,this.friends=new r,this.blocked=new r,this.notes=new r}edit(e){return this.client.rest.methods.updateCurrentUser(e)}setUsername(e){return this.client.rest.methods.updateCurrentUser({username:e})}setEmail(e){return this.client.rest.methods.updateCurrentUser({email:e})}setPassword(e){return this.client.rest.methods.updateCurrentUser({password:e})}setAvatar(e){return e.startsWith("data:")?this.client.rest.methods.updateCurrentUser({avatar:e}):this.client.resolver.resolveBuffer(e).then(e=>this.client.rest.methods.updateCurrentUser({avatar:e}))}setStatus(e){return this.setPresence({status:e})}setGame(e,t){return this.setPresence({game:{name:e,url:t}})}setAFK(e){return this.setPresence({afk:e})}addFriend(e){return e=this.client.resolver.resolveUser(e),this.client.rest.methods.addFriend(e)}removeFriend(e){return e=this.client.resolver.resolveUser(e),this.client.rest.methods.removeFriend(e)}createGuild(e,t,n=null){return n?n.startsWith("data:")?this.client.rest.methods.createGuild({name:e,icon:n,region:t}):this.client.resolver.resolveBuffer(n).then(n=>this.client.rest.methods.createGuild({name:e,icon:n,region:t})):this.client.rest.methods.createGuild({name:e,icon:n,region:t})}setPresence(e){return new Promise(t=>{let n=this.localPresence.status||this.presence.status,i=this.localPresence.game,r=this.localPresence.afk||this.presence.afk;if(!i&&this.presence.game&&(i={name:this.presence.game.name,type:this.presence.game.type,url:this.presence.game.url}),e.status){if("string"!=typeof e.status)throw new TypeError("Status must be a string");n=e.status}e.game&&(i=e.game,i.url&&(i.type=1)),"undefined"!=typeof e.afk&&(r=e.afk),r=Boolean(r),this.localPresence={status:n,game:i,afk:r},this.localPresence.since=0,this.localPresence.game=this.localPresence.game||null,this.client.ws.send({op:3,d:this.localPresence}),this.client._setPresence(this.id,this.localPresence),t(this)})}}e.exports=s},function(e,t,n){const i=n(24),r=n(31),s=n(6);class o extends i{constructor(e,t){super(e,t),this.type="dm",this.messages=new s,this._typing=new Map}setup(e){super.setup(e),this.recipient=this.client.dataManager.newUser(e.recipients[0]),this.lastMessageID=e.last_message_id}toString(){return this.recipient.toString()}sendMessage(){}sendTTSMessage(){}sendFile(){}sendCode(){}fetchMessage(){}fetchMessages(){}fetchPinnedMessages(){}startTyping(){}stopTyping(){}get typing(){}get typingCount(){}createCollector(){}awaitMessages(){}bulkDelete(){}_cacheMessage(){}}r.applyToClass(o,!0),e.exports=o},function(e,t,n){const i=n(24),r=n(31),s=n(6),o=n(63);class a extends i{constructor(e,t){super(e,t),this.type="group",this.messages=new s,this._typing=new Map}setup(e){if(super.setup(e),this.name=e.name,this.icon=e.icon,this.ownerID=e.owner_id,this.recipients||(this.recipients=new s),e.recipients)for(const t of e.recipients){const e=this.client.dataManager.newUser(t);this.recipients.set(e.id,e)}this.lastMessageID=e.last_message_id}get owner(){return this.client.users.get(this.ownerID)}equals(e){const t=e&&this.id===e.id&&this.name===e.name&&this.icon===e.icon&&this.ownerID===e.ownerID;if(t){const t=this.recipients.keyArray(),n=e.recipients.keyArray();return o(t,n)}return t}toString(){return this.name}sendMessage(){}sendTTSMessage(){}sendFile(){}sendCode(){}fetchMessage(){}fetchMessages(){}fetchPinnedMessages(){}startTyping(){}stopTyping(){}get typing(){}get typingCount(){}createCollector(){}awaitMessages(){}bulkDelete(){}_cacheMessage(){}}r.applyToClass(a,!0),e.exports=a},function(e,t,n){const i=n(77),r=n(78),s=n(1);class o{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.setup(t)}setup(e){this.guild=this.client.guilds.get(e.guild.id)||new i(this.client,e.guild),this.code=e.code,this.temporary=e.temporary,this.maxAge=e.max_age,this.uses=e.uses,this.maxUses=e.max_uses,e.inviter&&(this.inviter=this.client.dataManager.newUser(e.inviter)),this.channel=this.client.channels.get(e.channel.id)||new r(this.client,e.channel),this.createdTimestamp=new Date(e.created_at).getTime()}get createdAt(){return new Date(this.createdTimestamp)}get expiresTimestamp(){return this.createdTimestamp+1e3*this.maxAge}get expiresAt(){return new Date(this.expiresTimestamp)}get url(){return s.Endpoints.inviteLink(this.code)}delete(){return this.client.rest.methods.deleteInvite(this)}toString(){return this.url}}e.exports=o},function(e,t){class n{constructor(e,t){this.client=e.client,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.message=e,this.setup(t)}setup(e){this.id=e.id,this.filename=e.filename,this.filesize=e.size,this.url=e.url,this.proxyURL=e.proxy_url,this.height=e.height,this.width=e.width}}e.exports=n},function(e,t,n){const i=n(5).EventEmitter,r=n(6);class s extends i{constructor(e,t,n={}){super(),this.channel=e,this.filter=t,this.options=n,this.ended=!1,this.collected=new r,this.listener=(e=>this.verify(e)),this.channel.client.on("message",this.listener),n.time&&this.channel.client.setTimeout(()=>this.stop("time"),n.time)}verify(e){return(!this.channel||this.channel.id===e.channel.id)&&(!!this.filter(e,this)&&(this.collected.set(e.id,e),this.emit("message",e,this),this.collected.size>=this.options.maxMatches?this.stop("matchesLimit"):this.options.max&&this.collected.size===this.options.max&&this.stop("limit"),!0))}get next(){return new Promise((e,t)=>{if(this.ended)return void t(this.collected);const n=()=>{this.removeListener("message",i),this.removeListener("end",r)},i=(...t)=>{n(),e(...t)},r=(...e)=>{n(),t(...e)};this.once("message",i),this.once("end",r)})}stop(e="user"){this.ended||(this.ended=!0,this.channel.client.removeListener("message",this.listener),this.emit("end",this.collected,e))}}e.exports=s},function(e,t){class n{constructor(e,t){this.client=e.client,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.message=e,this.setup(t)}setup(e){if(this.title=e.title,this.type=e.type,this.description=e.description,this.url=e.url,this.fields=[],e.fields)for(const t of e.fields)this.fields.push(new o(this,t));this.createdTimestamp=e.timestamp,this.thumbnail=e.thumbnail?new i(this,e.thumbnail):null,this.author=e.author?new s(this,e.author):null,this.provider=e.provider?new r(this,e.provider):null,this.footer=e.footer?new a(this,e.footer):null}get createdAt(){return new Date(this.createdTimestamp)}}class i{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.url=e.url,this.proxyURL=e.proxy_url,this.height=e.height,this.width=e.width}}class r{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.name=e.name,this.url=e.url}}class s{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.name=e.name,this.url=e.url}}class o{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.name=e.name,this.value=e.value,this.inline=e.inline}}class a{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.text=e.text,this.iconUrl=e.icon_url,this.proxyIconUrl=e.proxy_icon_url}}n.Thumbnail=i,n.Provider=r,n.Author=s,n.Field=o,n.Footer=a,e.exports=n},function(e,t,n){const i=n(6),r=n(25),s=n(48);class o{constructor(e,t,n,r){this.message=e,this.me=r,this.count=n||0,this.users=new i,this._emoji=new s(this,t.name,t.id)}get emoji(){if(this._emoji instanceof r)return this._emoji;if(this._emoji.id){const e=this.message.client.emojis;if(e.has(this._emoji.id)){const t=e.get(this._emoji.id);return this._emoji=t,t}}return this._emoji}remove(e=this.message.client.user){const t=this.message;return e=this.message.client.resolver.resolveUserID(e),e?t.client.rest.methods.removeMessageReaction(t,this.emoji.identifier,e):Promise.reject("Couldn't resolve the user ID to remove from the reaction.")}fetchUsers(e=100){const t=this.message;return t.client.rest.methods.getMessageReactionUsers(t,this.emoji.identifier,e).then(e=>{this.users=new i;for(const t of e){const e=this.message.client.dataManager.newUser(t);this.users.set(e.id,e)}return this.count=this.users.size,e})}}e.exports=o},function(e,t){class n{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.description=e.description,this.icon=e.icon,this.iconURL=`https://cdn.discordapp.com/app-icons/${this.id}/${this.icon}.jpg`,this.rpcOrigins=e.rpc_origins}get createdTimestamp(){return this.id/4194304+14200704e5}get createdAt(){return new Date(this.createdTimestamp)}toString(){return this.name}}e.exports=n},function(e,t){class n{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.icon=e.icon,this.splash=e.splash}}e.exports=n},function(e,t,n){const i=n(1);class r{constructor(e,t){this.client=e,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.type=i.ChannelTypes.text===e.type?"text":"voice"}}e.exports=r},function(e,t){class n{constructor(e,t){this.channel=e,t&&this.setup(t)}setup(e){this.id=e.id,this.type=e.type,this.denyData=e.deny,this.allowData=e.allow}delete(){return this.channel.client.rest.methods.deletePermissionOverwrites(this)}}e.exports=n},function(e,t,n){const i=n(32),r=n(31),s=n(6);class o extends i{constructor(e,t){super(e,t),this.type="text",this.messages=new s,this._typing=new Map}setup(e){super.setup(e),this.topic=e.topic,this.lastMessageID=e.last_message_id}get members(){const e=new s;for(const t of this.guild.members.values())this.permissionsFor(t).hasPermission("READ_MESSAGES")&&e.set(t.id,t);return e}fetchWebhooks(){return this.client.rest.methods.getChannelWebhooks(this)}createWebhook(e,t){return new Promise(n=>{t.startsWith("data:")?n(this.client.rest.methods.createWebhook(this,e,t)):this.client.resolver.resolveBuffer(t).then(t=>n(this.client.rest.methods.createWebhook(this,e,t)))})}sendMessage(){}sendTTSMessage(){}sendFile(){}sendCode(){}fetchMessage(){}fetchMessages(){}fetchPinnedMessages(){}startTyping(){}stopTyping(){}get typing(){}get typingCount(){}createCollector(){}awaitMessages(){}bulkDelete(){}_cacheMessage(){}}r.applyToClass(o,!0),e.exports=o},function(e,t,n){const i=n(32),r=n(6);class s extends i{constructor(e,t){super(e,t),this.members=new r,this.type="voice"}setup(e){super.setup(e),this.bitrate=e.bitrate,this.userLimit=e.user_limit}get connection(){const e=this.guild.voiceConnection;return e&&e.channel.id===this.id?e:null}get joinable(){return this.permissionsFor(this.client.user).hasPermission("CONNECT")}get speakable(){return this.permissionsFor(this.client.user).hasPermission("SPEAK")}setBitrate(e){return this.edit({bitrate:e})}setUserLimit(e){return this.edit({userLimit:e})}join(){return this.client.voice.joinChannel(this)}leave(){const e=this.client.voice.connections.get(this.guild.id);e&&e.channel.id===this.id&&e.disconnect()}}e.exports=s},function(e,t,n){const i=n(60),r=n(1).Endpoints.botGateway;e.exports=function(e){return new Promise((t,n)=>{if(!e)throw new Error("A token must be provided.");i.get(r).set("Authorization",`Bot ${e.replace(/^Bot\s*/i,"")}`).end((e,i)=>{e&&n(e),t(i.body.shards)})})}},function(e,t){e.exports=function(e,{maxLength=1950,char="\n",prepend="",append=""}={}){if(e.length<=maxLength)return e;const t=e.split(char);if(1===t.length)throw new Error("Message exceeds the max length and contains no split characters.");const n=[""];let i=0;for(let r=0;rmaxLength&&(n[i]+=append,n.push(prepend),i++),n[i]+=(n[i].length>0&&n[i]!==prepend?char:"")+t[r];return n}},function(e,t,n){function i(e,t){return o.call(this,t),a.isBuffer(e)?(this.base=e,this.offset=0,void(this.length=e.length)):void this.error("Input not Buffer")}function r(e,t){if(Array.isArray(e))this.length=0,this.value=e.map(function(e){return e instanceof r||(e=new r(e,t)),this.length+=e.length,e},this);else if("number"==typeof e){if(!(0<=e&&e<=255))return t.error("non-byte EncoderBuffer value");this.value=e,this.length=1}else if("string"==typeof e)this.value=e,this.length=a.byteLength(e);else{if(!a.isBuffer(e))return t.error("Unsupported type: "+typeof e);this.value=e,this.length=e.length}}var s=n(2),o=n(26).Reporter,a=n(0).Buffer;s(i,o),t.DecoderBuffer=i,i.prototype.save=function(){return{offset:this.offset,reporter:o.prototype.save.call(this)}},i.prototype.restore=function(e){var t=new i(this.base);return t.offset=e.offset,t.length=this.offset,this.offset=e.offset,o.prototype.restore.call(this,e.reporter),t},i.prototype.isEmpty=function(){return this.offset===this.length},i.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||"DecoderBuffer overrun")},i.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||"DecoderBuffer overrun");var n=new i(this.base);return n._reporterState=this._reporterState,n.offset=this.offset,n.length=this.offset+e,this.offset+=e,n},i.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},t.EncoderBuffer=r,r.prototype.join=function(e,t){return e||(e=new a(this.length)),t||(t=0),0===this.length?e:(Array.isArray(this.value)?this.value.forEach(function(n){n.join(e,t),t+=n.length}):("number"==typeof this.value?e[t]=this.value:"string"==typeof this.value?e.write(this.value,t):a.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length),e)}},function(e,t,n){var i=t;i._reverse=function(e){var t={};return Object.keys(e).forEach(function(n){(0|n)==n&&(n|=0);var i=e[n];t[i]=n}),t},i.der=n(144)},function(e,t,n){function i(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new r,this.tree._init(e.body)}function r(e){h.Node.call(this,"der",e)}function s(e,t){var n=e.readUInt8(t);if(e.isError(n))return n;var i=u.tagClass[n>>6],r=0===(32&n);if(31===(31&n)){var s=n;for(n=0;128===(128&s);){if(s=e.readUInt8(t),e.isError(s))return s;n<<=7,n|=127&s}}else n&=31;var o=u.tag[n];return{cls:i,primitive:r,tag:n,tagStr:o}}function o(e,t,n){var i=e.readUInt8(n);if(e.isError(i))return i;if(!t&&128===i)return null;if(0===(128&i))return i;var r=127&i;if(r>=4)return e.error("length octect is too long");i=0;for(var s=0;s=31?i.error("Multi-octet tag encoding unsupported"):(t||(r|=32),r|=u.tagClassByName[n||"universal"]<<6)}var a=n(2),c=n(0).Buffer,h=n(36),f=h.base,u=h.constants.der;e.exports=i,i.prototype.encode=function(e,t){return this.tree._encode(e,t).join()},a(r,f.Node),r.prototype._encodeComposite=function(e,t,n,i){var r=o(e,t,n,this.reporter);if(i.length<128){var s=new c(2);return s[0]=r,s[1]=i.length,this._createEncoderBuffer([s,i])}for(var a=1,h=i.length;h>=256;h>>=8)a++;var s=new c(2+a);s[0]=r,s[1]=128|a;for(var h=1+a,f=i.length;f>0;h--,f>>=8)s[h]=255&f;return this._createEncoderBuffer([s,i])},r.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){for(var n=new c(2*e.length),i=0;i=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}for(var r=0,i=0;i=128;s>>=7)r++}for(var o=new c(r),a=o.length-1,i=e.length-1;i>=0;i--){var s=e[i];for(o[a--]=127&s;(s>>=7)>0;)o[a--]=128|127&s}return this._createEncoderBuffer(o)},r.prototype._encodeTime=function(e,t){var n,i=new Date(e);return"gentime"===t?n=[s(i.getFullYear()),s(i.getUTCMonth()+1),s(i.getUTCDate()),s(i.getUTCHours()),s(i.getUTCMinutes()),s(i.getUTCSeconds()),"Z"].join(""):"utctime"===t?n=[s(i.getFullYear()%100),s(i.getUTCMonth()+1),s(i.getUTCDate()),s(i.getUTCHours()),s(i.getUTCMinutes()),s(i.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(n,"octstr")},r.prototype._encodeNull=function(){return this._createEncoderBuffer("")},r.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!c.isBuffer(e)){var n=e.toArray();!e.sign&&128&n[0]&&n.unshift(0),e=new c(n)}if(c.isBuffer(e)){var i=e.length;0===e.length&&i++;var r=new c(i);return e.copy(r),0===e.length&&(r[0]=0),this._createEncoderBuffer(r)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);for(var i=1,s=e;s>=256;s>>=8)i++;for(var r=new Array(i),s=r.length-1;s>=0;s--)r[s]=255&e,e>>=8;return 128&r[0]&&r.unshift(0),this._createEncoderBuffer(new c(r))},r.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},r.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},r.prototype._skipDefault=function(e,t,n){var i,r=this._baseState;if(null===r.default)return!1;var s=e.join();if(void 0===r.defaultBuffer&&(r.defaultBuffer=this._encodeValue(r.default,t,n).join()),s.length!==r.defaultBuffer.length)return!1;for(i=0;i>a%8,e._prev=i(e._prev,n?s:o);return h}function i(t,n){var i=t.length,r=-1,s=new e(t.length);for(t=e.concat([t,new e([n])]);++r>7;return s}t.encrypt=function(t,i,r){for(var s=i.length,o=new e(s),a=-1;++at.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+n.chunkSize);if(n.windowBits&&(n.windowBitst.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+n.windowBits);if(n.level&&(n.levelt.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+n.level);if(n.memLevel&&(n.memLevelt.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+n.memLevel);if(n.strategy&&n.strategy!=t.Z_FILTERED&&n.strategy!=t.Z_HUFFMAN_ONLY&&n.strategy!=t.Z_RLE&&n.strategy!=t.Z_FIXED&&n.strategy!=t.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+n.strategy);if(n.dictionary&&!e.isBuffer(n.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new b.Zlib(i);var r=this;this._hadError=!1,this._binding.onerror=function(e,n){r._binding=null,r._hadError=!0;var i=new Error(e);i.errno=n,i.code=t.codes[n],r.emit("error",i)};var s=t.Z_DEFAULT_COMPRESSION;"number"==typeof n.level&&(s=n.level);var o=t.Z_DEFAULT_STRATEGY;"number"==typeof n.strategy&&(o=n.strategy),this._binding.init(n.windowBits||t.Z_DEFAULT_WINDOWBITS,s,n.memLevel||t.Z_DEFAULT_MEMLEVEL,o,n.dictionary),this._buffer=new e(this._chunkSize),this._offset=0,this._closed=!1,this._level=s,this._strategy=o,this.once("end",this.close)}var p=n(118),b=n(160),m=n(10),g=n(149).ok;b.Z_MIN_WINDOWBITS=8,b.Z_MAX_WINDOWBITS=15,b.Z_DEFAULT_WINDOWBITS=15,b.Z_MIN_CHUNK=64,b.Z_MAX_CHUNK=1/0,b.Z_DEFAULT_CHUNK=16384,b.Z_MIN_MEMLEVEL=1,b.Z_MAX_MEMLEVEL=9,b.Z_DEFAULT_MEMLEVEL=8,b.Z_MIN_LEVEL=-1,b.Z_MAX_LEVEL=9,b.Z_DEFAULT_LEVEL=b.Z_DEFAULT_COMPRESSION,Object.keys(b).forEach(function(e){e.match(/^Z/)&&(t[e]=b[e])}),t.codes={Z_OK:b.Z_OK,Z_STREAM_END:b.Z_STREAM_END,Z_NEED_DICT:b.Z_NEED_DICT,Z_ERRNO:b.Z_ERRNO,Z_STREAM_ERROR:b.Z_STREAM_ERROR,Z_DATA_ERROR:b.Z_DATA_ERROR,Z_MEM_ERROR:b.Z_MEM_ERROR,Z_BUF_ERROR:b.Z_BUF_ERROR,Z_VERSION_ERROR:b.Z_VERSION_ERROR},Object.keys(t.codes).forEach(function(e){t.codes[t.codes[e]]=e}),t.Deflate=o,t.Inflate=a,t.Gzip=c,t.Gunzip=h,t.DeflateRaw=f,t.InflateRaw=u,t.Unzip=d,t.createDeflate=function(e){return new o(e)},t.createInflate=function(e){return new a(e)},t.createDeflateRaw=function(e){return new f(e)},t.createInflateRaw=function(e){return new u(e)},t.createGzip=function(e){return new c(e)},t.createGunzip=function(e){return new h(e)},t.createUnzip=function(e){return new d(e)},t.deflate=function(e,t,n){return"function"==typeof t&&(n=t,t={}),r(new o(t),e,n)},t.deflateSync=function(e,t){return s(new o(t),e)},t.gzip=function(e,t,n){return"function"==typeof t&&(n=t,t={}),r(new c(t),e,n)},t.gzipSync=function(e,t){return s(new c(t),e)},t.deflateRaw=function(e,t,n){return"function"==typeof t&&(n=t,t={}),r(new f(t),e,n)},t.deflateRawSync=function(e,t){return s(new f(t),e)},t.unzip=function(e,t,n){return"function"==typeof t&&(n=t,t={}),r(new d(t),e,n)},t.unzipSync=function(e,t){return s(new d(t),e)},t.inflate=function(e,t,n){return"function"==typeof t&&(n=t,t={}),r(new a(t),e,n)},t.inflateSync=function(e,t){return s(new a(t),e)},t.gunzip=function(e,t,n){return"function"==typeof t&&(n=t,t={}),r(new h(t),e,n)},t.gunzipSync=function(e,t){return s(new h(t),e)},t.inflateRaw=function(e,t,n){return"function"==typeof t&&(n=t,t={}),r(new u(t),e,n)},t.inflateRawSync=function(e,t){return s(new u(t),e)},m.inherits(l,p),l.prototype.params=function(e,n,r){if(et.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(n!=t.Z_FILTERED&&n!=t.Z_HUFFMAN_ONLY&&n!=t.Z_RLE&&n!=t.Z_FIXED&&n!=t.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+n);if(this._level!==e||this._strategy!==n){var s=this;this.flush(b.Z_SYNC_FLUSH,function(){s._binding.params(e,n),s._hadError||(s._level=e,s._strategy=n,r&&r())})}else i.nextTick(r)},l.prototype.reset=function(){return this._binding.reset()},l.prototype._flush=function(t){this._transform(new e(0),"",t)},l.prototype.flush=function(t,n){var r=this._writableState;if(("function"==typeof t||void 0===t&&!n)&&(n=t,t=b.Z_FULL_FLUSH),r.ended)n&&i.nextTick(n);else if(r.ending)n&&this.once("end",n);else if(r.needDrain){var s=this;this.once("drain",function(){s.flush(n)})}else this._flushFlag=t,this.write(new e(0),"",n)},l.prototype.close=function(e){if(e&&i.nextTick(e),!this._closed){this._closed=!0,this._binding.close();var t=this;i.nextTick(function(){t.emit("close")})}},l.prototype._transform=function(t,n,i){var r,s=this._writableState,o=s.ending||s.ended,a=o&&(!t||s.length===t.length);if(null===!t&&!e.isBuffer(t))return i(new Error("invalid input"));a?r=b.Z_FINISH:(r=this._flushFlag,t.length>=s.length&&(this._flushFlag=this._opts.flush||b.Z_NO_FLUSH));this._processChunk(t,r,i)},l.prototype._processChunk=function(t,n,i){function r(f,l){if(!c._hadError){var p=o-l;if(g(p>=0,"have should not go down"),p>0){var b=c._buffer.slice(c._offset,c._offset+p);c._offset+=p,h?c.push(b):(u.push(b),d+=b.length)}if((0===l||c._offset>=c._chunkSize)&&(o=c._chunkSize,c._offset=0,c._buffer=new e(c._chunkSize)),0===l){if(a+=s-f,s=f,!h)return!0;var m=c._binding.write(n,t,a,s,c._buffer,c._offset,c._chunkSize);return m.callback=r,void(m.buffer=t)}return!!h&&void i()}}var s=t&&t.length,o=this._chunkSize-this._offset,a=0,c=this,h="function"==typeof i;if(!h){var f,u=[],d=0;this.on("error",function(e){f=e});do var l=this._binding.writeSync(n,t,a,s,this._buffer,this._offset,o);while(!this._hadError&&r(l[0],l[1]));if(this._hadError)throw f;var p=e.concat(u,d);return this.close(),p}var b=this._binding.write(n,t,a,s,this._buffer,this._offset,o);b.buffer=t,b.callback=r},m.inherits(o,l),m.inherits(a,l),m.inherits(c,l),m.inherits(h,l),m.inherits(f,l),m.inherits(u,l),m.inherits(d,l)}).call(t,n(0).Buffer,n(8))},function(e,t,n){"use strict";function i(e,t){e[t>>5]|=128<>>9<<4)+14]=t;for(var n=1732584193,i=-271733879,r=-1732584194,f=271733878,u=0;u>16)+(t>>16)+(n>>16);return i<<16|65535&n}function f(e,t){return e<>>32-t}var u=n(165);e.exports=function(e){return u.hash(e,i,16)}},function(e,t,n){(function(t){function i(){this.init(),this._w=l,u.call(this,64,56)}function r(e,t,n){return n^e&(t^n)}function s(e,t,n){return e&t|n&(e|t)}function o(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function a(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function c(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function h(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}var f=n(2),u=n(22),d=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],l=new Array(64);f(i,u),i.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},i.prototype._update=function(e){for(var t=this._w,n=0|this._a,i=0|this._b,f=0|this._c,u=0|this._d,l=0|this._e,p=0|this._f,b=0|this._g,m=0|this._h,g=0;g<16;++g)t[g]=e.readInt32BE(4*g);for(;g<64;++g)t[g]=h(t[g-2])+t[g-7]+c(t[g-15])+t[g-16]|0;for(var v=0;v<64;++v){var y=m+a(l)+r(l,p,b)+d[v]+t[v]|0,_=o(n)+s(n,i,f)|0;m=b,b=p,p=l,l=u+y|0,u=f,f=i,i=n,n=y+_|0}this._a=n+this._a|0,this._b=i+this._b|0,this._c=f+this._c|0,this._d=u+this._d|0,this._e=l+this._e|0,this._f=p+this._f|0,this._g=b+this._g|0,this._h=m+this._h|0},i.prototype._hash=function(){var e=new t(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=i}).call(t,n(0).Buffer)},function(e,t,n){(function(t){function i(){this.init(),this._w=m,p.call(this,128,112)}function r(e,t,n){return n^e&(t^n)}function s(e,t,n){return e&t|n&(e|t)}function o(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function a(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function c(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function h(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function f(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function u(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function d(e,t){return e>>>0>>0?1:0}var l=n(2),p=n(22),b=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],m=new Array(160);l(i,p),i.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},i.prototype._update=function(e){for(var t=this._w,n=0|this._ah,i=0|this._bh,l=0|this._ch,p=0|this._dh,m=0|this._eh,g=0|this._fh,v=0|this._gh,y=0|this._hh,_=0|this._al,w=0|this._bl,E=0|this._cl,S=0|this._dl,k=0|this._el,A=0|this._fl,M=0|this._gl,x=0|this._hl,R=0;R<32;R+=2)t[R]=e.readInt32BE(4*R),t[R+1]=e.readInt32BE(4*R+4);for(;R<160;R+=2){var I=t[R-30],T=t[R-30+1],C=c(I,T),D=h(T,I);I=t[R-4],T=t[R-4+1];var P=f(I,T),B=u(T,I),L=t[R-14],O=t[R-14+1],U=t[R-32],N=t[R-32+1],j=D+O|0,q=C+L+d(j,D)|0;j=j+B|0,q=q+P+d(j,B)|0,j=j+N|0,q=q+U+d(j,N)|0,t[R]=q,t[R+1]=j}for(var z=0;z<160;z+=2){q=t[z],j=t[z+1];var F=s(n,i,l),G=s(_,w,E),H=o(n,_),W=o(_,n),V=a(m,k),K=a(k,m),Z=b[z],Y=b[z+1],X=r(m,g,v),J=r(k,A,M),$=x+K|0,Q=y+V+d($,x)|0;$=$+J|0,Q=Q+X+d($,J)|0,$=$+Y|0,Q=Q+Z+d($,Y)|0,$=$+j|0,Q=Q+q+d($,j)|0;var ee=W+G|0,te=H+F+d(ee,W)|0;y=v,x=M,v=g,M=A,g=m,A=k,k=S+$|0,m=p+Q+d(k,S)|0,p=l,S=E,l=i,E=w,i=n,w=_,_=$+ee|0,n=Q+te+d(_,$)|0}this._al=this._al+_|0,this._bl=this._bl+w|0,this._cl=this._cl+E|0,this._dl=this._dl+S|0,this._el=this._el+k|0,this._fl=this._fl+A|0,this._gl=this._gl+M|0,this._hl=this._hl+x|0,this._ah=this._ah+n+d(this._al,_)|0,this._bh=this._bh+i+d(this._bl,w)|0,this._ch=this._ch+l+d(this._cl,E)|0,this._dh=this._dh+p+d(this._dl,S)|0,this._eh=this._eh+m+d(this._el,k)|0,this._fh=this._fh+g+d(this._fl,A)|0,this._gh=this._gh+v+d(this._gl,M)|0,this._hh=this._hh+y+d(this._hl,x)|0},i.prototype._hash=function(){function e(e,t,i){n.writeInt32BE(e,i),n.writeInt32BE(t,i+4)}var n=new t(64);return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),n},e.exports=i}).call(t,n(0).Buffer)},function(e,t,n){function i(){if(null!==y)return y;var e=1048576,t=[];t[0]=2;for(var n=1,i=3;ie;)n.ishrn(1);if(n.isEven()&&n.iadd(d),n.testn(1)||n.iadd(l),t.cmp(l)){if(!t.cmp(p))for(;n.mod(b).cmp(m);)n.iadd(v)}else for(;n.mod(h).cmp(g);)n.iadd(v);if(i=n.shrn(1),r(i)&&r(n)&&s(i)&&s(n)&&u.test(i)&&u.test(n))return n}}var a=n(30);e.exports=o,o.simpleSieve=r,o.fermatTest=s;var c=n(7),h=new c(24),f=n(107),u=new f,d=new c(1),l=new c(2),p=new c(5),b=(new c(16),new c(8),new c(10)),m=new c(3),g=(new c(7),new c(11)),v=new c(4),y=(new c(12),null)},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){function i(e){this.rand=e||new s.Rand}var r=n(7),s=n(90);e.exports=i,i.create=function(e){return new i(e)},i.prototype._rand=function(e){var t=e.bitLength(),n=this.rand.generate(Math.ceil(t/8));n[0]|=3;var i=7&t;return 0!==i&&(n[n.length-1]>>=7-i),new r(n)},i.prototype.test=function(e,t,n){var i=e.bitLength(),s=r.mont(e),o=new r(1).toRed(s);t||(t=Math.max(1,i/48|0));for(var a=e.subn(1),c=a.subn(1),h=0;!a.testn(h);h++);for(var f=e.shrn(h),u=a.toRed(s),d=!0;t>0;t--){var l=this._rand(c);n&&n(l);var p=l.toRed(s).redPow(f);if(0!==p.cmp(o)&&0!==p.cmp(u)){for(var b=1;b0;t--){var u=this._rand(a),d=e.gcd(u);if(0!==d.cmpn(1))return d;var l=u.toRed(i).redPow(h);if(0!==l.cmp(s)&&0!==l.cmp(f)){for(var p=1;p0)throw i.length>1?new Error("options "+i.slice(0,i.length-1).join(", ")+" and "+i[i.length-1]+" must be defined"):new Error("option "+i[0]+" must be defined")}return Object.keys(e).forEach(function(n){n in t&&(t[n]=e[n])}),this},this.copy=function(t){var i={};return Object.keys(e).forEach(function(e){t.indexOf(e)!==-1&&(i[e]=n[e])}),i},this.read=function(e,t){if("function"==typeof t){var n=this;r.readFile(e,function(e,i){if(e)return t(e);var r=JSON.parse(i);n.merge(r),t()})}else{var i=JSON.parse(r.readFileSync(e));this.merge(i)}return this},this.isDefined=function(e){return"undefined"!=typeof n[e]},this.isDefinedAndNonNull=function(e){return"undefined"!=typeof n[e]&&null!==n[e]},Object.freeze(n),Object.freeze(this)}/*! * Copyright(c) 2011 Einar Otto Stangvik * MIT Licensed */ -var n=i(12);e.exports=r},function(e,t){"use strict";function i(e,t,i,r){for(var n=65535&e|0,s=e>>>16&65535|0,a=0;0!==i;){a=i>2e3?2e3:i,i-=a;do n=n+t[r++]|0,s=s+n|0;while(--a);n%=65521,s%=65521}return n|s<<16|0}e.exports=i},function(e,t){"use strict";function i(){for(var e,t=[],i=0;i<256;i++){e=i;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[i]=e}return t}function r(e,t,i,r){var s=n,a=r+i;e^=-1;for(var o=r;o>>8^s[255&(e^t[o])];return e^-1}var n=i();e.exports=r},function(e,t){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(e,t,i){(function(e,r){var n=i(53),s=i(216);t.pbkdf2=function(e,i,r,n,a,o){if("function"==typeof a&&(o=a,a=void 0),s(r,n),"function"!=typeof o)throw new Error("No callback provided to pbkdf2");setTimeout(function(){o(null,t.pbkdf2Sync(e,i,r,n,a))})};var a;if(e.browser)a="utf-8";else{var o=parseInt(e.version.split(".")[0].slice(1),10);a=o>=6?"utf-8":"binary"}t.pbkdf2Sync=function(e,t,i,o,f){r.isBuffer(e)||(e=new r(e,a)),r.isBuffer(t)||(t=new r(t,a)),s(i,o),f=f||"sha1";var h,c=1,l=new r(o),u=new r(t.length+4);t.copy(u,0,0,t.length);for(var d,p,b=1;b<=c;b++){u.writeUInt32BE(b,t.length);var m=n(f,e).update(u).digest();h||(h=m.length,p=new r(h),c=Math.ceil(o/h),d=o-(c-1)*h),m.copy(p,0,0,h);for(var w=1;w0)if(t.ended&&!n){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&n){var f=new Error("stream.unshift() after end event");e.emit("error",f)}else{var h;!t.decoder||n||r||(i=t.decoder.write(i),h=!t.objectMode&&0===i.length),n||(t.reading=!1),h||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",i),e.read(0)):(t.length+=t.objectMode?1:i.length,n?t.buffer.unshift(i):t.buffer.push(i),t.needReadable&&u(e))),p(e,t)}else n||(t.reading=!1);return o(t)}function o(e){return!e.ended&&(e.needReadable||e.length=z?e=z:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function h(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=f(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function c(e,t){var i=null;return O.isBuffer(t)||"string"==typeof t||null===t||void 0===t||e.objectMode||(i=new TypeError("Invalid non-string/buffer chunk")),i}function l(e,t){if(!t.ended){if(t.decoder){var i=t.decoder.end();i&&i.length&&(t.buffer.push(i),t.length+=t.objectMode?1:i.length)}t.ended=!0,u(e)}}function u(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(B("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?R(d,e):d(e))}function d(e){B("emit readable"),e.emit("readable"),_(e)}function p(e,t){t.readingMore||(t.readingMore=!0,R(b,e,t))}function b(e,t){for(var i=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(i=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):i=k(e,t.buffer,t.decoder),i}function k(e,t,i){var r;return es.length?s.length:e;if(n+=a===s.length?s:s.slice(0,e),e-=a,0===e){a===s.length?(++r,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=s.slice(a));break}++r}return t.length-=r,n}function A(e,t){var i=N.allocUnsafe(e),r=t.head,n=1;for(r.data.copy(i),e-=r.data.length;r=r.next;){var s=r.data,a=e>s.length?s.length:e;if(s.copy(i,i.length-e,0,a),e-=a,0===e){a===s.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=s.slice(a));break}++n}return t.length-=n,i}function S(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,R(M,t,e))}function M(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function T(e,t){for(var i=0,r=e.length;i=t.highWaterMark||t.ended))return B("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?S(this):u(this),null;if(e=h(e,t),0===e&&t.ended)return 0===t.length&&S(this),null;var r=t.needReadable;B("need readable",r),(0===t.length||t.length-e0?y(e,t):null,null===n?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),i!==e&&t.ended&&S(this)),null!==n&&this.emit("data",n),n},s.prototype._read=function(e){this.emit("error",new Error("not implemented"))},s.prototype.pipe=function(e,i){function n(e){B("onunpipe"),e===u&&a()}function s(){B("onend"),e.end()}function a(){B("cleanup"),e.removeListener("close",h),e.removeListener("finish",c),e.removeListener("drain",w),e.removeListener("error",f),e.removeListener("unpipe",n),u.removeListener("end",s),u.removeListener("end",a),u.removeListener("data",o),g=!0,!d.awaitDrain||e._writableState&&!e._writableState.needDrain||w()}function o(t){B("ondata"),v=!1;var i=e.write(t);!1!==i||v||((1===d.pipesCount&&d.pipes===e||d.pipesCount>1&&x(d.pipes,e)!==-1)&&!g&&(B("false write response, pause",u._readableState.awaitDrain),u._readableState.awaitDrain++,v=!0),u.pause())}function f(t){B("onerror",t),l(),e.removeListener("error",f),0===P(e,"error")&&e.emit("error",t)}function h(){e.removeListener("finish",c),l()}function c(){B("onfinish"),e.removeListener("close",h),l()}function l(){B("unpipe"),u.unpipe(e)}var u=this,d=this._readableState;switch(d.pipesCount){case 0:d.pipes=e;break;case 1:d.pipes=[d.pipes,e];break;default:d.pipes.push(e)}d.pipesCount+=1,B("pipe count=%d opts=%j",d.pipesCount,i);var p=(!i||i.end!==!1)&&e!==t.stdout&&e!==t.stderr,b=p?s:a;d.endEmitted?R(b):u.once("end",b),e.on("unpipe",n);var w=m(u);e.on("drain",w);var g=!1,v=!1;return u.on("data",o),r(e,"error",f),e.once("close",h),e.once("finish",c),e.emit("pipe",u),d.flowing||(B("pipe resume"),u.resume()),e},s.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var i=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var n=0;n>24&255,e[t+1]=i>>16&255,e[t+2]=i>>8&255,e[t+3]=255&i,e[t+4]=r>>24&255,e[t+5]=r>>16&255,e[t+6]=r>>8&255,e[t+7]=255&r}function r(e,t,i,r,n){var s,a=0;for(s=0;s>>8)-1}function n(e,t,i,n){return r(e,t,i,n,16)}function s(e,t,i,n){return r(e,t,i,n,32)}function a(e,t,i,r){for(var n,s=255&r[0]|(255&r[1])<<8|(255&r[2])<<16|(255&r[3])<<24,a=255&i[0]|(255&i[1])<<8|(255&i[2])<<16|(255&i[3])<<24,o=255&i[4]|(255&i[5])<<8|(255&i[6])<<16|(255&i[7])<<24,f=255&i[8]|(255&i[9])<<8|(255&i[10])<<16|(255&i[11])<<24,h=255&i[12]|(255&i[13])<<8|(255&i[14])<<16|(255&i[15])<<24,c=255&r[4]|(255&r[5])<<8|(255&r[6])<<16|(255&r[7])<<24,l=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,u=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,d=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,p=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,b=255&r[8]|(255&r[9])<<8|(255&r[10])<<16|(255&r[11])<<24,m=255&i[16]|(255&i[17])<<8|(255&i[18])<<16|(255&i[19])<<24,w=255&i[20]|(255&i[21])<<8|(255&i[22])<<16|(255&i[23])<<24,g=255&i[24]|(255&i[25])<<8|(255&i[26])<<16|(255&i[27])<<24,v=255&i[28]|(255&i[29])<<8|(255&i[30])<<16|(255&i[31])<<24,_=255&r[12]|(255&r[13])<<8|(255&r[14])<<16|(255&r[15])<<24,y=s,k=a,E=o,A=f,S=h,M=c,T=l,x=u,R=d,I=p,C=b,P=m,O=w,N=g,D=v,L=_,B=0;B<20;B+=2)n=y+O|0,S^=n<<7|n>>>25,n=S+y|0,R^=n<<9|n>>>23,n=R+S|0,O^=n<<13|n>>>19,n=O+R|0,y^=n<<18|n>>>14,n=M+k|0,I^=n<<7|n>>>25,n=I+M|0,N^=n<<9|n>>>23,n=N+I|0,k^=n<<13|n>>>19,n=k+N|0,M^=n<<18|n>>>14,n=C+T|0,D^=n<<7|n>>>25,n=D+C|0,E^=n<<9|n>>>23,n=E+D|0,T^=n<<13|n>>>19,n=T+E|0,C^=n<<18|n>>>14,n=L+P|0,A^=n<<7|n>>>25,n=A+L|0,x^=n<<9|n>>>23,n=x+A|0,P^=n<<13|n>>>19,n=P+x|0,L^=n<<18|n>>>14,n=y+A|0,k^=n<<7|n>>>25,n=k+y|0,E^=n<<9|n>>>23,n=E+k|0,A^=n<<13|n>>>19,n=A+E|0,y^=n<<18|n>>>14,n=M+S|0,T^=n<<7|n>>>25,n=T+M|0,x^=n<<9|n>>>23,n=x+T|0,S^=n<<13|n>>>19,n=S+x|0,M^=n<<18|n>>>14,n=C+I|0,P^=n<<7|n>>>25,n=P+C|0,R^=n<<9|n>>>23,n=R+P|0,I^=n<<13|n>>>19,n=I+R|0,C^=n<<18|n>>>14,n=L+D|0,O^=n<<7|n>>>25,n=O+L|0,N^=n<<9|n>>>23,n=N+O|0,D^=n<<13|n>>>19,n=D+N|0,L^=n<<18|n>>>14;y=y+s|0,k=k+a|0,E=E+o|0,A=A+f|0,S=S+h|0,M=M+c|0,T=T+l|0,x=x+u|0,R=R+d|0,I=I+p|0,C=C+b|0,P=P+m|0,O=O+w|0,N=N+g|0,D=D+v|0,L=L+_|0,e[0]=y>>>0&255,e[1]=y>>>8&255,e[2]=y>>>16&255,e[3]=y>>>24&255,e[4]=k>>>0&255,e[5]=k>>>8&255,e[6]=k>>>16&255,e[7]=k>>>24&255,e[8]=E>>>0&255,e[9]=E>>>8&255,e[10]=E>>>16&255,e[11]=E>>>24&255,e[12]=A>>>0&255,e[13]=A>>>8&255,e[14]=A>>>16&255,e[15]=A>>>24&255,e[16]=S>>>0&255,e[17]=S>>>8&255,e[18]=S>>>16&255,e[19]=S>>>24&255,e[20]=M>>>0&255,e[21]=M>>>8&255,e[22]=M>>>16&255,e[23]=M>>>24&255,e[24]=T>>>0&255,e[25]=T>>>8&255,e[26]=T>>>16&255,e[27]=T>>>24&255,e[28]=x>>>0&255,e[29]=x>>>8&255,e[30]=x>>>16&255,e[31]=x>>>24&255,e[32]=R>>>0&255,e[33]=R>>>8&255,e[34]=R>>>16&255,e[35]=R>>>24&255,e[36]=I>>>0&255,e[37]=I>>>8&255,e[38]=I>>>16&255,e[39]=I>>>24&255,e[40]=C>>>0&255,e[41]=C>>>8&255,e[42]=C>>>16&255,e[43]=C>>>24&255,e[44]=P>>>0&255,e[45]=P>>>8&255,e[46]=P>>>16&255,e[47]=P>>>24&255,e[48]=O>>>0&255,e[49]=O>>>8&255,e[50]=O>>>16&255,e[51]=O>>>24&255,e[52]=N>>>0&255,e[53]=N>>>8&255,e[54]=N>>>16&255,e[55]=N>>>24&255,e[56]=D>>>0&255,e[57]=D>>>8&255,e[58]=D>>>16&255,e[59]=D>>>24&255,e[60]=L>>>0&255,e[61]=L>>>8&255,e[62]=L>>>16&255,e[63]=L>>>24&255}function o(e,t,i,r){for(var n,s=255&r[0]|(255&r[1])<<8|(255&r[2])<<16|(255&r[3])<<24,a=255&i[0]|(255&i[1])<<8|(255&i[2])<<16|(255&i[3])<<24,o=255&i[4]|(255&i[5])<<8|(255&i[6])<<16|(255&i[7])<<24,f=255&i[8]|(255&i[9])<<8|(255&i[10])<<16|(255&i[11])<<24,h=255&i[12]|(255&i[13])<<8|(255&i[14])<<16|(255&i[15])<<24,c=255&r[4]|(255&r[5])<<8|(255&r[6])<<16|(255&r[7])<<24,l=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,u=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,d=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,p=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,b=255&r[8]|(255&r[9])<<8|(255&r[10])<<16|(255&r[11])<<24,m=255&i[16]|(255&i[17])<<8|(255&i[18])<<16|(255&i[19])<<24,w=255&i[20]|(255&i[21])<<8|(255&i[22])<<16|(255&i[23])<<24,g=255&i[24]|(255&i[25])<<8|(255&i[26])<<16|(255&i[27])<<24,v=255&i[28]|(255&i[29])<<8|(255&i[30])<<16|(255&i[31])<<24,_=255&r[12]|(255&r[13])<<8|(255&r[14])<<16|(255&r[15])<<24,y=s,k=a,E=o,A=f,S=h,M=c,T=l,x=u,R=d,I=p,C=b,P=m,O=w,N=g,D=v,L=_,B=0;B<20;B+=2)n=y+O|0,S^=n<<7|n>>>25,n=S+y|0,R^=n<<9|n>>>23,n=R+S|0,O^=n<<13|n>>>19,n=O+R|0,y^=n<<18|n>>>14,n=M+k|0,I^=n<<7|n>>>25,n=I+M|0,N^=n<<9|n>>>23,n=N+I|0,k^=n<<13|n>>>19,n=k+N|0,M^=n<<18|n>>>14,n=C+T|0,D^=n<<7|n>>>25,n=D+C|0,E^=n<<9|n>>>23,n=E+D|0,T^=n<<13|n>>>19,n=T+E|0,C^=n<<18|n>>>14,n=L+P|0,A^=n<<7|n>>>25,n=A+L|0,x^=n<<9|n>>>23,n=x+A|0,P^=n<<13|n>>>19,n=P+x|0,L^=n<<18|n>>>14,n=y+A|0,k^=n<<7|n>>>25,n=k+y|0,E^=n<<9|n>>>23,n=E+k|0,A^=n<<13|n>>>19,n=A+E|0,y^=n<<18|n>>>14,n=M+S|0,T^=n<<7|n>>>25,n=T+M|0,x^=n<<9|n>>>23,n=x+T|0,S^=n<<13|n>>>19,n=S+x|0,M^=n<<18|n>>>14,n=C+I|0,P^=n<<7|n>>>25,n=P+C|0,R^=n<<9|n>>>23,n=R+P|0,I^=n<<13|n>>>19,n=I+R|0,C^=n<<18|n>>>14,n=L+D|0,O^=n<<7|n>>>25,n=O+L|0,N^=n<<9|n>>>23,n=N+O|0,D^=n<<13|n>>>19,n=D+N|0,L^=n<<18|n>>>14;e[0]=y>>>0&255,e[1]=y>>>8&255,e[2]=y>>>16&255,e[3]=y>>>24&255,e[4]=M>>>0&255,e[5]=M>>>8&255,e[6]=M>>>16&255,e[7]=M>>>24&255,e[8]=C>>>0&255,e[9]=C>>>8&255,e[10]=C>>>16&255,e[11]=C>>>24&255,e[12]=L>>>0&255,e[13]=L>>>8&255,e[14]=L>>>16&255,e[15]=L>>>24&255,e[16]=T>>>0&255,e[17]=T>>>8&255,e[18]=T>>>16&255,e[19]=T>>>24&255,e[20]=x>>>0&255,e[21]=x>>>8&255,e[22]=x>>>16&255,e[23]=x>>>24&255,e[24]=R>>>0&255,e[25]=R>>>8&255,e[26]=R>>>16&255,e[27]=R>>>24&255,e[28]=I>>>0&255,e[29]=I>>>8&255,e[30]=I>>>16&255,e[31]=I>>>24&255}function f(e,t,i,r){a(e,t,i,r)}function h(e,t,i,r){o(e,t,i,r)}function c(e,t,i,r,n,s,a){var o,h,c=new Uint8Array(16),l=new Uint8Array(64);for(h=0;h<16;h++)c[h]=0;for(h=0;h<8;h++)c[h]=s[h];for(;n>=64;){for(f(l,c,a,ue),h=0;h<64;h++)e[t+h]=i[r+h]^l[h];for(o=1,h=8;h<16;h++)o=o+(255&c[h])|0,c[h]=255&o,o>>>=8;n-=64,t+=64,r+=64}if(n>0)for(f(l,c,a,ue),h=0;h=64;){for(f(h,o,n,ue),a=0;a<64;a++)e[t+a]=h[a];for(s=1,a=8;a<16;a++)s=s+(255&o[a])|0,o[a]=255&s,s>>>=8;i-=64,t+=64}if(i>0)for(f(h,o,n,ue),a=0;a>16&1),s[i-1]&=65535;s[15]=a[15]-32767-(s[14]>>16&1),n=s[15]>>16&1,s[14]&=65535,_(a,s,1-n)}for(i=0;i<16;i++)e[2*i]=255&a[i],e[2*i+1]=a[i]>>8}function k(e,t){var i=new Uint8Array(32),r=new Uint8Array(32);return y(i,e),y(r,t),s(i,0,r,0)}function E(e){var t=new Uint8Array(32);return y(t,e),1&t[0]}function A(e,t){var i;for(i=0;i<16;i++)e[i]=t[2*i]+(t[2*i+1]<<8);e[15]&=32767}function S(e,t,i){for(var r=0;r<16;r++)e[r]=t[r]+i[r]}function M(e,t,i){for(var r=0;r<16;r++)e[r]=t[r]-i[r]}function T(e,t,i){var r,n,s=0,a=0,o=0,f=0,h=0,c=0,l=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=i[0],B=i[1],U=i[2],j=i[3],F=i[4],z=i[5],q=i[6],H=i[7],G=i[8],V=i[9],W=i[10],K=i[11],Y=i[12],Z=i[13],$=i[14],X=i[15];r=t[0],s+=r*L,a+=r*B,o+=r*U,f+=r*j,h+=r*F,c+=r*z,l+=r*q,u+=r*H,d+=r*G,p+=r*V,b+=r*W,m+=r*K,w+=r*Y,g+=r*Z,v+=r*$,_+=r*X,r=t[1],a+=r*L,o+=r*B,f+=r*U,h+=r*j,c+=r*F,l+=r*z,u+=r*q,d+=r*H,p+=r*G,b+=r*V,m+=r*W,w+=r*K,g+=r*Y,v+=r*Z,_+=r*$,y+=r*X,r=t[2],o+=r*L,f+=r*B,h+=r*U,c+=r*j,l+=r*F,u+=r*z,d+=r*q,p+=r*H,b+=r*G,m+=r*V,w+=r*W,g+=r*K,v+=r*Y,_+=r*Z,y+=r*$,k+=r*X,r=t[3],f+=r*L,h+=r*B,c+=r*U,l+=r*j,u+=r*F,d+=r*z,p+=r*q,b+=r*H,m+=r*G,w+=r*V,g+=r*W,v+=r*K,_+=r*Y,y+=r*Z,k+=r*$,E+=r*X,r=t[4],h+=r*L,c+=r*B,l+=r*U,u+=r*j,d+=r*F,p+=r*z,b+=r*q,m+=r*H,w+=r*G,g+=r*V,v+=r*W,_+=r*K,y+=r*Y,k+=r*Z,E+=r*$,A+=r*X,r=t[5],c+=r*L,l+=r*B,u+=r*U,d+=r*j,p+=r*F,b+=r*z,m+=r*q,w+=r*H,g+=r*G,v+=r*V,_+=r*W,y+=r*K,k+=r*Y,E+=r*Z,A+=r*$,S+=r*X,r=t[6],l+=r*L,u+=r*B,d+=r*U,p+=r*j,b+=r*F,m+=r*z,w+=r*q,g+=r*H,v+=r*G,_+=r*V,y+=r*W,k+=r*K,E+=r*Y,A+=r*Z,S+=r*$,M+=r*X,r=t[7],u+=r*L,d+=r*B,p+=r*U,b+=r*j,m+=r*F,w+=r*z,g+=r*q,v+=r*H,_+=r*G,y+=r*V,k+=r*W,E+=r*K,A+=r*Y,S+=r*Z,M+=r*$,T+=r*X,r=t[8],d+=r*L,p+=r*B,b+=r*U,m+=r*j,w+=r*F,g+=r*z,v+=r*q,_+=r*H,y+=r*G,k+=r*V,E+=r*W,A+=r*K,S+=r*Y,M+=r*Z,T+=r*$,x+=r*X,r=t[9],p+=r*L,b+=r*B,m+=r*U,w+=r*j,g+=r*F,v+=r*z,_+=r*q,y+=r*H,k+=r*G,E+=r*V,A+=r*W,S+=r*K,M+=r*Y,T+=r*Z,x+=r*$,R+=r*X,r=t[10],b+=r*L,m+=r*B,w+=r*U,g+=r*j,v+=r*F,_+=r*z,y+=r*q,k+=r*H,E+=r*G,A+=r*V,S+=r*W,M+=r*K,T+=r*Y,x+=r*Z,R+=r*$,I+=r*X,r=t[11],m+=r*L,w+=r*B,g+=r*U,v+=r*j,_+=r*F,y+=r*z,k+=r*q,E+=r*H,A+=r*G,S+=r*V,M+=r*W,T+=r*K;x+=r*Y;R+=r*Z,I+=r*$,C+=r*X,r=t[12],w+=r*L,g+=r*B,v+=r*U,_+=r*j,y+=r*F,k+=r*z,E+=r*q,A+=r*H,S+=r*G,M+=r*V,T+=r*W,x+=r*K,R+=r*Y,I+=r*Z,C+=r*$,P+=r*X,r=t[13],g+=r*L,v+=r*B,_+=r*U,y+=r*j,k+=r*F,E+=r*z,A+=r*q,S+=r*H,M+=r*G,T+=r*V,x+=r*W,R+=r*K,I+=r*Y,C+=r*Z,P+=r*$,O+=r*X,r=t[14],v+=r*L,_+=r*B,y+=r*U,k+=r*j,E+=r*F,A+=r*z,S+=r*q,M+=r*H,T+=r*G,x+=r*V,R+=r*W,I+=r*K,C+=r*Y,P+=r*Z,O+=r*$,N+=r*X,r=t[15],_+=r*L,y+=r*B,k+=r*U,E+=r*j,A+=r*F,S+=r*z,M+=r*q,T+=r*H,x+=r*G,R+=r*V,I+=r*W,C+=r*K,P+=r*Y,O+=r*Z,N+=r*$,D+=r*X,s+=38*y,a+=38*k,o+=38*E,f+=38*A,h+=38*S,c+=38*M,l+=38*T,u+=38*x,d+=38*R,p+=38*I,b+=38*C,m+=38*P,w+=38*O,g+=38*N,v+=38*D,n=1,r=s+n+65535,n=Math.floor(r/65536),s=r-65536*n,r=a+n+65535,n=Math.floor(r/65536),a=r-65536*n,r=o+n+65535,n=Math.floor(r/65536),o=r-65536*n,r=f+n+65535,n=Math.floor(r/65536),f=r-65536*n,r=h+n+65535,n=Math.floor(r/65536),h=r-65536*n,r=c+n+65535,n=Math.floor(r/65536),c=r-65536*n,r=l+n+65535,n=Math.floor(r/65536),l=r-65536*n,r=u+n+65535,n=Math.floor(r/65536),u=r-65536*n,r=d+n+65535,n=Math.floor(r/65536),d=r-65536*n,r=p+n+65535,n=Math.floor(r/65536),p=r-65536*n,r=b+n+65535,n=Math.floor(r/65536),b=r-65536*n,r=m+n+65535,n=Math.floor(r/65536),m=r-65536*n,r=w+n+65535,n=Math.floor(r/65536),w=r-65536*n,r=g+n+65535,n=Math.floor(r/65536),g=r-65536*n,r=v+n+65535,n=Math.floor(r/65536),v=r-65536*n,r=_+n+65535,n=Math.floor(r/65536),_=r-65536*n,s+=n-1+37*(n-1),n=1,r=s+n+65535,n=Math.floor(r/65536),s=r-65536*n,r=a+n+65535,n=Math.floor(r/65536),a=r-65536*n,r=o+n+65535,n=Math.floor(r/65536),o=r-65536*n,r=f+n+65535,n=Math.floor(r/65536),f=r-65536*n,r=h+n+65535,n=Math.floor(r/65536),h=r-65536*n,r=c+n+65535,n=Math.floor(r/65536),c=r-65536*n,r=l+n+65535,n=Math.floor(r/65536),l=r-65536*n,r=u+n+65535,n=Math.floor(r/65536),u=r-65536*n,r=d+n+65535,n=Math.floor(r/65536),d=r-65536*n,r=p+n+65535,n=Math.floor(r/65536),p=r-65536*n,r=b+n+65535,n=Math.floor(r/65536),b=r-65536*n,r=m+n+65535,n=Math.floor(r/65536),m=r-65536*n,r=w+n+65535,n=Math.floor(r/65536),w=r-65536*n,r=g+n+65535,n=Math.floor(r/65536),g=r-65536*n,r=v+n+65535,n=Math.floor(r/65536),v=r-65536*n,r=_+n+65535,n=Math.floor(r/65536),_=r-65536*n,s+=n-1+37*(n-1),e[0]=s,e[1]=a,e[2]=o,e[3]=f,e[4]=h,e[5]=c,e[6]=l,e[7]=u,e[8]=d,e[9]=p,e[10]=b,e[11]=m,e[12]=w,e[13]=g;e[14]=v;e[15]=_}function x(e,t){T(e,t,t)}function R(e,t){var i,r=ee();for(i=0;i<16;i++)r[i]=t[i];for(i=253;i>=0;i--)x(r,r),2!==i&&4!==i&&T(r,r,t);for(i=0;i<16;i++)e[i]=r[i]}function I(e,t){var i,r=ee();for(i=0;i<16;i++)r[i]=t[i];for(i=250;i>=0;i--)x(r,r),1!==i&&T(r,r,t);for(i=0;i<16;i++)e[i]=r[i]}function C(e,t,i){var r,n,s=new Uint8Array(32),a=new Float64Array(80),o=ee(),f=ee(),h=ee(),c=ee(),l=ee(),u=ee();for(n=0;n<31;n++)s[n]=t[n];for(s[31]=127&t[31]|64,s[0]&=248,A(a,i),n=0;n<16;n++)f[n]=a[n],c[n]=o[n]=h[n]=0;for(o[0]=c[0]=1,n=254;n>=0;--n)r=s[n>>>3]>>>(7&n)&1,_(o,f,r),_(h,c,r),S(l,o,h),M(o,o,h),S(h,f,c),M(f,f,c),x(c,l),x(u,o),T(o,h,o),T(h,f,l),S(l,o,h),M(o,o,h),x(f,o),M(h,c,u),T(o,h,ae),S(o,o,c),T(h,h,o),T(o,c,u),T(c,f,a),x(f,l),_(o,f,r),_(h,c,r);for(n=0;n<16;n++)a[n+16]=o[n],a[n+32]=h[n],a[n+48]=f[n],a[n+64]=c[n];var d=a.subarray(32),p=a.subarray(16);return R(d,d),T(p,p,d),y(e,p),0}function P(e,t){return C(e,t,re)}function O(e,t){return te(t,32),P(e,t)}function N(e,t,i){var r=new Uint8Array(32);return C(r,i,t),h(e,ie,r,ue)}function D(e,t,i,r,n,s){var a=new Uint8Array(32);return N(a,n,s),pe(e,t,i,r,a)}function L(e,t,i,r,n,s){var a=new Uint8Array(32);return N(a,n,s),be(e,t,i,r,a)}function B(e,t,i,r){for(var n,s,a,o,f,h,c,l,u,d,p,b,m,w,g,v,_,y,k,E,A,S,M,T,x,R,I=new Int32Array(16),C=new Int32Array(16),P=e[0],O=e[1],N=e[2],D=e[3],L=e[4],B=e[5],U=e[6],j=e[7],F=t[0],z=t[1],q=t[2],H=t[3],G=t[4],V=t[5],W=t[6],K=t[7],Y=0;r>=128;){for(k=0;k<16;k++)E=8*k+Y,I[k]=i[E+0]<<24|i[E+1]<<16|i[E+2]<<8|i[E+3],C[k]=i[E+4]<<24|i[E+5]<<16|i[E+6]<<8|i[E+7];for(k=0;k<80;k++)if(n=P,s=O,a=N,o=D,f=L,h=B,c=U,l=j,u=F,d=z,p=q,b=H,m=G,w=V,g=W,v=K,A=j,S=K,M=65535&S,T=S>>>16,x=65535&A,R=A>>>16,A=(L>>>14|G<<18)^(L>>>18|G<<14)^(G>>>9|L<<23),S=(G>>>14|L<<18)^(G>>>18|L<<14)^(L>>>9|G<<23),M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,A=L&B^~L&U,S=G&V^~G&W,M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,A=me[2*k],S=me[2*k+1],M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,A=I[k%16],S=C[k%16],M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,T+=M>>>16,x+=T>>>16,R+=x>>>16,_=65535&x|R<<16,y=65535&M|T<<16,A=_,S=y,M=65535&S,T=S>>>16,x=65535&A,R=A>>>16,A=(P>>>28|F<<4)^(F>>>2|P<<30)^(F>>>7|P<<25),S=(F>>>28|P<<4)^(P>>>2|F<<30)^(P>>>7|F<<25),M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,A=P&O^P&N^O&N,S=F&z^F&q^z&q,M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,T+=M>>>16,x+=T>>>16,R+=x>>>16,l=65535&x|R<<16,v=65535&M|T<<16,A=o,S=b,M=65535&S,T=S>>>16,x=65535&A,R=A>>>16,A=_,S=y,M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,T+=M>>>16,x+=T>>>16,R+=x>>>16,o=65535&x|R<<16,b=65535&M|T<<16,O=n,N=s,D=a,L=o,B=f,U=h,j=c,P=l,z=u,q=d,H=p,G=b,V=m,W=w,K=g,F=v,k%16===15)for(E=0;E<16;E++)A=I[E],S=C[E],M=65535&S,T=S>>>16,x=65535&A,R=A>>>16,A=I[(E+9)%16],S=C[(E+9)%16],M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,_=I[(E+1)%16],y=C[(E+1)%16],A=(_>>>1|y<<31)^(_>>>8|y<<24)^_>>>7,S=(y>>>1|_<<31)^(y>>>8|_<<24)^(y>>>7|_<<25),M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,_=I[(E+14)%16],y=C[(E+14)%16],A=(_>>>19|y<<13)^(y>>>29|_<<3)^_>>>6,S=(y>>>19|_<<13)^(_>>>29|y<<3)^(y>>>6|_<<26),M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,T+=M>>>16,x+=T>>>16,R+=x>>>16,I[E]=65535&x|R<<16,C[E]=65535&M|T<<16;A=P,S=F,M=65535&S,T=S>>>16,x=65535&A,R=A>>>16,A=e[0],S=t[0],M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,T+=M>>>16,x+=T>>>16,R+=x>>>16,e[0]=P=65535&x|R<<16,t[0]=F=65535&M|T<<16,A=O,S=z,M=65535&S,T=S>>>16,x=65535&A,R=A>>>16,A=e[1],S=t[1],M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,T+=M>>>16,x+=T>>>16,R+=x>>>16,e[1]=O=65535&x|R<<16,t[1]=z=65535&M|T<<16,A=N,S=q,M=65535&S,T=S>>>16,x=65535&A,R=A>>>16,A=e[2],S=t[2],M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,T+=M>>>16,x+=T>>>16,R+=x>>>16,e[2]=N=65535&x|R<<16,t[2]=q=65535&M|T<<16,A=D,S=H,M=65535&S,T=S>>>16,x=65535&A,R=A>>>16,A=e[3],S=t[3],M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,T+=M>>>16,x+=T>>>16,R+=x>>>16,e[3]=D=65535&x|R<<16,t[3]=H=65535&M|T<<16,A=L,S=G,M=65535&S,T=S>>>16,x=65535&A,R=A>>>16,A=e[4],S=t[4],M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,T+=M>>>16,x+=T>>>16,R+=x>>>16,e[4]=L=65535&x|R<<16,t[4]=G=65535&M|T<<16,A=B,S=V,M=65535&S,T=S>>>16,x=65535&A,R=A>>>16,A=e[5],S=t[5],M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,T+=M>>>16,x+=T>>>16,R+=x>>>16,e[5]=B=65535&x|R<<16,t[5]=V=65535&M|T<<16,A=U,S=W,M=65535&S,T=S>>>16,x=65535&A,R=A>>>16,A=e[6],S=t[6],M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,T+=M>>>16,x+=T>>>16,R+=x>>>16,e[6]=U=65535&x|R<<16,t[6]=W=65535&M|T<<16,A=j,S=K,M=65535&S,T=S>>>16,x=65535&A,R=A>>>16,A=e[7],S=t[7],M+=65535&S,T+=S>>>16,x+=65535&A,R+=A>>>16,T+=M>>>16,x+=T>>>16,R+=x>>>16,e[7]=j=65535&x|R<<16,t[7]=K=65535&M|T<<16,Y+=128,r-=128}return r}function U(e,i,r){var n,s=new Int32Array(8),a=new Int32Array(8),o=new Uint8Array(256),f=r;for(s[0]=1779033703,s[1]=3144134277,s[2]=1013904242,s[3]=2773480762,s[4]=1359893119,s[5]=2600822924,s[6]=528734635,s[7]=1541459225,a[0]=4089235720,a[1]=2227873595,a[2]=4271175723,a[3]=1595750129,a[4]=2917565137,a[5]=725511199,a[6]=4215389547,a[7]=327033209,B(s,a,i,r),r%=128,n=0;n=0;--n)r=i[n/8|0]>>(7&n)&1,F(e,t,r),j(t,e),j(e,e),F(e,t,r)}function H(e,t){var i=[ee(),ee(),ee(),ee()];g(i[0],he),g(i[1],ce),g(i[2],se),T(i[3],he,ce),q(e,i,t)}function G(e,t,i){var r,n=new Uint8Array(64),s=[ee(),ee(),ee(),ee()];for(i||te(t,32),U(n,t,32),n[0]&=248,n[31]&=127,n[31]|=64,H(s,n),z(e,s),r=0;r<32;r++)t[r+32]=e[r];return 0}function V(e,t){var i,r,n,s;for(r=63;r>=32;--r){for(i=0,n=r-32,s=r-12;n>8,t[n]-=256*i;t[n]+=i,t[r]=0}for(i=0,n=0;n<32;n++)t[n]+=i-(t[31]>>4)*we[n],i=t[n]>>8,t[n]&=255;for(n=0;n<32;n++)t[n]-=i*we[n];for(r=0;r<32;r++)t[r+1]+=t[r]>>8,e[r]=255&t[r]}function W(e){var t,i=new Float64Array(64);for(t=0;t<64;t++)i[t]=e[t];for(t=0;t<64;t++)e[t]=0;V(e,i)}function K(e,t,i,r){var n,s,a=new Uint8Array(64),o=new Uint8Array(64),f=new Uint8Array(64),h=new Float64Array(64),c=[ee(),ee(),ee(),ee()];U(a,r,32),a[0]&=248,a[31]&=127,a[31]|=64;var l=i+64;for(n=0;n>7&&M(e[0],ne,e[0]),T(e[3],e[0],e[1]),0)}function Z(e,t,i,r){var n,a,o=new Uint8Array(32),f=new Uint8Array(64),h=[ee(),ee(),ee(),ee()],c=[ee(),ee(),ee(),ee()];if(a=-1,i<64)return-1;if(Y(c,r))return-1;for(n=0;n>>13|i<<3),r=255&e[4]|(255&e[5])<<8,this.r[2]=7939&(i>>>10|r<<6),n=255&e[6]|(255&e[7])<<8,this.r[3]=8191&(r>>>7|n<<9),s=255&e[8]|(255&e[9])<<8,this.r[4]=255&(n>>>4|s<<12),this.r[5]=s>>>1&8190,a=255&e[10]|(255&e[11])<<8,this.r[6]=8191&(s>>>14|a<<2),o=255&e[12]|(255&e[13])<<8,this.r[7]=8065&(a>>>11|o<<5),f=255&e[14]|(255&e[15])<<8,this.r[8]=8191&(o>>>8|f<<8),this.r[9]=f>>>5&127,this.pad[0]=255&e[16]|(255&e[17])<<8,this.pad[1]=255&e[18]|(255&e[19])<<8,this.pad[2]=255&e[20]|(255&e[21])<<8,this.pad[3]=255&e[22]|(255&e[23])<<8,this.pad[4]=255&e[24]|(255&e[25])<<8,this.pad[5]=255&e[26]|(255&e[27])<<8,this.pad[6]=255&e[28]|(255&e[29])<<8,this.pad[7]=255&e[30]|(255&e[31])<<8};de.prototype.blocks=function(e,t,i){for(var r,n,s,a,o,f,h,c,l,u,d,p,b,m,w,g,v,_,y,k=this.fin?0:2048,E=this.h[0],A=this.h[1],S=this.h[2],M=this.h[3],T=this.h[4],x=this.h[5],R=this.h[6],I=this.h[7],C=this.h[8],P=this.h[9],O=this.r[0],N=this.r[1],D=this.r[2],L=this.r[3],B=this.r[4],U=this.r[5],j=this.r[6],F=this.r[7],z=this.r[8],q=this.r[9];i>=16;)r=255&e[t+0]|(255&e[t+1])<<8,E+=8191&r,n=255&e[t+2]|(255&e[t+3])<<8,A+=8191&(r>>>13|n<<3),s=255&e[t+4]|(255&e[t+5])<<8,S+=8191&(n>>>10|s<<6),a=255&e[t+6]|(255&e[t+7])<<8,M+=8191&(s>>>7|a<<9),o=255&e[t+8]|(255&e[t+9])<<8,T+=8191&(a>>>4|o<<12),x+=o>>>1&8191,f=255&e[t+10]|(255&e[t+11])<<8,R+=8191&(o>>>14|f<<2),h=255&e[t+12]|(255&e[t+13])<<8,I+=8191&(f>>>11|h<<5),c=255&e[t+14]|(255&e[t+15])<<8,C+=8191&(h>>>8|c<<8),P+=c>>>5|k,l=0,u=l,u+=E*O,u+=A*(5*q),u+=S*(5*z),u+=M*(5*F),u+=T*(5*j),l=u>>>13,u&=8191,u+=x*(5*U),u+=R*(5*B),u+=I*(5*L),u+=C*(5*D),u+=P*(5*N),l+=u>>>13,u&=8191,d=l,d+=E*N,d+=A*O,d+=S*(5*q),d+=M*(5*z),d+=T*(5*F),l=d>>>13,d&=8191,d+=x*(5*j),d+=R*(5*U),d+=I*(5*B),d+=C*(5*L),d+=P*(5*D),l+=d>>>13,d&=8191,p=l,p+=E*D,p+=A*N,p+=S*O,p+=M*(5*q),p+=T*(5*z),l=p>>>13,p&=8191,p+=x*(5*F),p+=R*(5*j),p+=I*(5*U),p+=C*(5*B),p+=P*(5*L),l+=p>>>13,p&=8191,b=l,b+=E*L,b+=A*D,b+=S*N,b+=M*O,b+=T*(5*q),l=b>>>13,b&=8191,b+=x*(5*z),b+=R*(5*F),b+=I*(5*j),b+=C*(5*U),b+=P*(5*B),l+=b>>>13,b&=8191,m=l,m+=E*B,m+=A*L,m+=S*D,m+=M*N,m+=T*O,l=m>>>13,m&=8191,m+=x*(5*q),m+=R*(5*z),m+=I*(5*F),m+=C*(5*j),m+=P*(5*U),l+=m>>>13,m&=8191,w=l,w+=E*U,w+=A*B,w+=S*L,w+=M*D,w+=T*N,l=w>>>13,w&=8191,w+=x*O,w+=R*(5*q),w+=I*(5*z),w+=C*(5*F),w+=P*(5*j),l+=w>>>13,w&=8191,g=l,g+=E*j,g+=A*U,g+=S*B,g+=M*L,g+=T*D,l=g>>>13,g&=8191,g+=x*N,g+=R*O,g+=I*(5*q),g+=C*(5*z),g+=P*(5*F),l+=g>>>13,g&=8191,v=l,v+=E*F,v+=A*j,v+=S*U,v+=M*B,v+=T*L,l=v>>>13,v&=8191,v+=x*D,v+=R*N,v+=I*O,v+=C*(5*q),v+=P*(5*z),l+=v>>>13,v&=8191,_=l,_+=E*z,_+=A*F,_+=S*j,_+=M*U,_+=T*B,l=_>>>13,_&=8191,_+=x*L,_+=R*D,_+=I*N,_+=C*O,_+=P*(5*q),l+=_>>>13,_&=8191,y=l,y+=E*q,y+=A*z,y+=S*F,y+=M*j,y+=T*U,l=y>>>13,y&=8191,y+=x*B,y+=R*L,y+=I*D,y+=C*N,y+=P*O,l+=y>>>13,y&=8191,l=(l<<2)+l|0,l=l+u|0,u=8191&l,l>>>=13,d+=l,E=u,A=d,S=p,M=b,T=m,x=w,R=g,I=v,C=_,P=y,t+=16,i-=16;this.h[0]=E,this.h[1]=A,this.h[2]=S,this.h[3]=M,this.h[4]=T,this.h[5]=x,this.h[6]=R,this.h[7]=I,this.h[8]=C,this.h[9]=P},de.prototype.finish=function(e,t){var i,r,n,s,a=new Uint16Array(10);if(this.leftover){for(s=this.leftover,this.buffer[s++]=1;s<16;s++)this.buffer[s]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(i=this.h[1]>>>13,this.h[1]&=8191,s=2;s<10;s++)this.h[s]+=i,i=this.h[s]>>>13,this.h[s]&=8191;for(this.h[0]+=5*i,i=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=i,i=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=i,a[0]=this.h[0]+5,i=a[0]>>>13,a[0]&=8191,s=1;s<10;s++)a[s]=this.h[s]+i,i=a[s]>>>13,a[s]&=8191;for(a[9]-=8192,r=(1^i)-1,s=0;s<10;s++)a[s]&=r;for(r=~r,s=0;s<10;s++)this.h[s]=this.h[s]&r|a[s];for(this.h[0]=65535&(this.h[0]|this.h[1]<<13),this.h[1]=65535&(this.h[1]>>>3|this.h[2]<<10),this.h[2]=65535&(this.h[2]>>>6|this.h[3]<<7),this.h[3]=65535&(this.h[3]>>>9|this.h[4]<<4),this.h[4]=65535&(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14),this.h[5]=65535&(this.h[6]>>>2|this.h[7]<<11),this.h[6]=65535&(this.h[7]>>>5|this.h[8]<<8),this.h[7]=65535&(this.h[8]>>>8|this.h[9]<<5),n=this.h[0]+this.pad[0],this.h[0]=65535&n,s=1;s<8;s++)n=(this.h[s]+this.pad[s]|0)+(n>>>16)|0,this.h[s]=65535&n;e[t+0]=this.h[0]>>>0&255,e[t+1]=this.h[0]>>>8&255,e[t+2]=this.h[1]>>>0&255,e[t+3]=this.h[1]>>>8&255,e[t+4]=this.h[2]>>>0&255,e[t+5]=this.h[2]>>>8&255,e[t+6]=this.h[3]>>>0&255,e[t+7]=this.h[3]>>>8&255,e[t+8]=this.h[4]>>>0&255,e[t+9]=this.h[4]>>>8&255,e[t+10]=this.h[5]>>>0&255,e[t+11]=this.h[5]>>>8&255,e[t+12]=this.h[6]>>>0&255,e[t+13]=this.h[6]>>>8&255,e[t+14]=this.h[7]>>>0&255,e[t+15]=this.h[7]>>>8&255},de.prototype.update=function(e,t,i){var r,n;if(this.leftover){for(n=16-this.leftover,n>i&&(n=i),r=0;r=16&&(n=i-i%16,this.blocks(e,t,n),t+=n,i-=n),i){for(r=0;r=0},e.sign.keyPair=function(){var e=new Uint8Array(Ce),t=new Uint8Array(Pe);return G(e,t),{publicKey:e,secretKey:t}},e.sign.keyPair.fromSecretKey=function(e){if(J(e),e.length!==Pe)throw new Error("bad secret key size");for(var t=new Uint8Array(Ce),i=0;i>>16&65535|0,o=0;0!==n;){o=n>2e3?2e3:n,n-=o;do r=r+t[i++]|0,s=s+r|0;while(--o);r%=65521,s%=65521}return r|s<<16|0}e.exports=n},function(e,t){"use strict";function n(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}function i(e,t,n,i){var s=r,o=i+n;e^=-1;for(var a=i;a>>8^s[255&(e^t[a])];return e^-1}var r=n();e.exports=i},function(e,t){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(e,t,n){(function(e,i){var r=n(53),s=n(214);t.pbkdf2=function(e,n,i,r,o,a){if("function"==typeof o&&(a=o,o=void 0),s(i,r),"function"!=typeof a)throw new Error("No callback provided to pbkdf2");setTimeout(function(){a(null,t.pbkdf2Sync(e,n,i,r,o))})};var o;if(e.browser)o="utf-8";else{var a=parseInt(e.version.split(".")[0].slice(1),10);o=a>=6?"utf-8":"binary"}t.pbkdf2Sync=function(e,t,n,a,c){i.isBuffer(e)||(e=new i(e,o)),i.isBuffer(t)||(t=new i(t,o)),s(n,a),c=c||"sha1";var h,f=1,u=new i(a),d=new i(t.length+4);t.copy(d,0,0,t.length);for(var l,p,b=1;b<=f;b++){d.writeUInt32BE(b,t.length);var m=r(c,e).update(d).digest();h||(h=m.length,p=new i(h),f=Math.ceil(a/h),l=a-(f-1)*h),m.copy(p,0,0,h);for(var g=1;g0)if(t.ended&&!r){var o=new Error("stream.push() after EOF");e.emit("error",o)}else if(t.endEmitted&&r){var c=new Error("stream.unshift() after end event");e.emit("error",c)}else{var h;!t.decoder||r||i||(n=t.decoder.write(n),h=!t.objectMode&&0===n.length),r||(t.reading=!1),h||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&d(e))),p(e,t)}else r||(t.reading=!1);return a(t)}function a(e){return!e.ended&&(e.needReadable||e.length=z?e=z:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function h(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=c(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function f(e,t){var n=null;return P.isBuffer(t)||"string"==typeof t||null===t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}function u(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,d(e)}}function d(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(U("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?I(l,e):l(e))}function l(e){U("emit readable"),e.emit("readable"),_(e)}function p(e,t){t.readingMore||(t.readingMore=!0,I(b,e,t))}function b(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=E(e,t.buffer,t.decoder),n}function E(e,t,n){var i;return es.length?s.length:e;if(r+=o===s.length?s:s.slice(0,e),e-=o,0===e){o===s.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=s.slice(o));break}++i}return t.length-=i,r}function k(e,t){var n=B.allocUnsafe(e),i=t.head,r=1;for(i.data.copy(n),e-=i.data.length;i=i.next;){var s=i.data,o=e>s.length?s.length:e;if(s.copy(n,n.length-e,0,o),e-=o,0===e){o===s.length?(++r,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=s.slice(o));break}++r}return t.length-=r,n}function A(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,I(M,t,e))}function M(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function x(e,t){for(var n=0,i=e.length;n=t.highWaterMark||t.ended))return U("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?A(this):d(this),null;if(e=h(e,t),0===e&&t.ended)return 0===t.length&&A(this),null;var i=t.needReadable;U("need readable",i),(0===t.length||t.length-e0?w(e,t):null,null===r?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&A(this)),null!==r&&this.emit("data",r),r},s.prototype._read=function(e){this.emit("error",new Error("not implemented"))},s.prototype.pipe=function(e,n){function r(e){U("onunpipe"),e===d&&o()}function s(){U("onend"),e.end()}function o(){U("cleanup"),e.removeListener("close",h),e.removeListener("finish",f),e.removeListener("drain",g),e.removeListener("error",c),e.removeListener("unpipe",r),d.removeListener("end",s),d.removeListener("end",o),d.removeListener("data",a),v=!0,!l.awaitDrain||e._writableState&&!e._writableState.needDrain||g()}function a(t){U("ondata"),y=!1;var n=e.write(t);!1!==n||y||((1===l.pipesCount&&l.pipes===e||l.pipesCount>1&&R(l.pipes,e)!==-1)&&!v&&(U("false write response, pause",d._readableState.awaitDrain),d._readableState.awaitDrain++,y=!0),d.pause())}function c(t){U("onerror",t),u(),e.removeListener("error",c),0===D(e,"error")&&e.emit("error",t)}function h(){e.removeListener("finish",f),u()}function f(){U("onfinish"),e.removeListener("close",h),u()}function u(){U("unpipe"),d.unpipe(e)}var d=this,l=this._readableState;switch(l.pipesCount){case 0:l.pipes=e;break;case 1:l.pipes=[l.pipes,e];break;default:l.pipes.push(e)}l.pipesCount+=1,U("pipe count=%d opts=%j",l.pipesCount,n);var p=(!n||n.end!==!1)&&e!==t.stdout&&e!==t.stderr,b=p?s:o;l.endEmitted?I(b):d.once("end",b),e.on("unpipe",r);var g=m(d);e.on("drain",g);var v=!1,y=!1;return d.on("data",a),i(e,"error",c),e.once("close",h),e.once("finish",f),e.emit("pipe",d),l.flowing||(U("pipe resume"),d.resume()),e},s.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var r=0;r>24&255,e[t+1]=n>>16&255,e[t+2]=n>>8&255,e[t+3]=255&n,e[t+4]=i>>24&255,e[t+5]=i>>16&255,e[t+6]=i>>8&255,e[t+7]=255&i}function i(e,t,n,i,r){var s,o=0;for(s=0;s>>8)-1}function r(e,t,n,r){return i(e,t,n,r,16)}function s(e,t,n,r){return i(e,t,n,r,32)}function o(e,t,n,i){for(var r,s=255&i[0]|(255&i[1])<<8|(255&i[2])<<16|(255&i[3])<<24,o=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,a=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,c=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,h=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,f=255&i[4]|(255&i[5])<<8|(255&i[6])<<16|(255&i[7])<<24,u=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,d=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,l=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,p=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,b=255&i[8]|(255&i[9])<<8|(255&i[10])<<16|(255&i[11])<<24,m=255&n[16]|(255&n[17])<<8|(255&n[18])<<16|(255&n[19])<<24,g=255&n[20]|(255&n[21])<<8|(255&n[22])<<16|(255&n[23])<<24,v=255&n[24]|(255&n[25])<<8|(255&n[26])<<16|(255&n[27])<<24,y=255&n[28]|(255&n[29])<<8|(255&n[30])<<16|(255&n[31])<<24,_=255&i[12]|(255&i[13])<<8|(255&i[14])<<16|(255&i[15])<<24,w=s,E=o,S=a,k=c,A=h,M=f,x=u,R=d,I=l,T=p,C=b,D=m,P=g,B=v,L=y,O=_,U=0;U<20;U+=2)r=w+P|0,A^=r<<7|r>>>25,r=A+w|0,I^=r<<9|r>>>23,r=I+A|0,P^=r<<13|r>>>19,r=P+I|0,w^=r<<18|r>>>14,r=M+E|0,T^=r<<7|r>>>25,r=T+M|0,B^=r<<9|r>>>23,r=B+T|0,E^=r<<13|r>>>19,r=E+B|0,M^=r<<18|r>>>14,r=C+x|0,L^=r<<7|r>>>25,r=L+C|0,S^=r<<9|r>>>23,r=S+L|0,x^=r<<13|r>>>19,r=x+S|0,C^=r<<18|r>>>14,r=O+D|0,k^=r<<7|r>>>25,r=k+O|0,R^=r<<9|r>>>23,r=R+k|0,D^=r<<13|r>>>19,r=D+R|0,O^=r<<18|r>>>14,r=w+k|0,E^=r<<7|r>>>25,r=E+w|0,S^=r<<9|r>>>23,r=S+E|0,k^=r<<13|r>>>19,r=k+S|0,w^=r<<18|r>>>14,r=M+A|0,x^=r<<7|r>>>25,r=x+M|0,R^=r<<9|r>>>23,r=R+x|0,A^=r<<13|r>>>19,r=A+R|0,M^=r<<18|r>>>14,r=C+T|0,D^=r<<7|r>>>25,r=D+C|0,I^=r<<9|r>>>23,r=I+D|0,T^=r<<13|r>>>19,r=T+I|0,C^=r<<18|r>>>14,r=O+L|0,P^=r<<7|r>>>25,r=P+O|0,B^=r<<9|r>>>23,r=B+P|0,L^=r<<13|r>>>19,r=L+B|0,O^=r<<18|r>>>14;w=w+s|0,E=E+o|0,S=S+a|0,k=k+c|0,A=A+h|0,M=M+f|0,x=x+u|0,R=R+d|0,I=I+l|0,T=T+p|0,C=C+b|0,D=D+m|0,P=P+g|0,B=B+v|0,L=L+y|0,O=O+_|0,e[0]=w>>>0&255,e[1]=w>>>8&255,e[2]=w>>>16&255,e[3]=w>>>24&255,e[4]=E>>>0&255,e[5]=E>>>8&255,e[6]=E>>>16&255,e[7]=E>>>24&255,e[8]=S>>>0&255,e[9]=S>>>8&255,e[10]=S>>>16&255,e[11]=S>>>24&255,e[12]=k>>>0&255,e[13]=k>>>8&255,e[14]=k>>>16&255,e[15]=k>>>24&255,e[16]=A>>>0&255,e[17]=A>>>8&255,e[18]=A>>>16&255,e[19]=A>>>24&255,e[20]=M>>>0&255,e[21]=M>>>8&255,e[22]=M>>>16&255,e[23]=M>>>24&255,e[24]=x>>>0&255,e[25]=x>>>8&255,e[26]=x>>>16&255,e[27]=x>>>24&255,e[28]=R>>>0&255,e[29]=R>>>8&255,e[30]=R>>>16&255,e[31]=R>>>24&255,e[32]=I>>>0&255,e[33]=I>>>8&255,e[34]=I>>>16&255,e[35]=I>>>24&255,e[36]=T>>>0&255,e[37]=T>>>8&255,e[38]=T>>>16&255,e[39]=T>>>24&255,e[40]=C>>>0&255,e[41]=C>>>8&255,e[42]=C>>>16&255,e[43]=C>>>24&255,e[44]=D>>>0&255,e[45]=D>>>8&255,e[46]=D>>>16&255,e[47]=D>>>24&255,e[48]=P>>>0&255,e[49]=P>>>8&255,e[50]=P>>>16&255,e[51]=P>>>24&255,e[52]=B>>>0&255,e[53]=B>>>8&255,e[54]=B>>>16&255,e[55]=B>>>24&255,e[56]=L>>>0&255,e[57]=L>>>8&255,e[58]=L>>>16&255,e[59]=L>>>24&255,e[60]=O>>>0&255,e[61]=O>>>8&255,e[62]=O>>>16&255,e[63]=O>>>24&255}function a(e,t,n,i){for(var r,s=255&i[0]|(255&i[1])<<8|(255&i[2])<<16|(255&i[3])<<24,o=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,a=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,c=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,h=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,f=255&i[4]|(255&i[5])<<8|(255&i[6])<<16|(255&i[7])<<24,u=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,d=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,l=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,p=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,b=255&i[8]|(255&i[9])<<8|(255&i[10])<<16|(255&i[11])<<24,m=255&n[16]|(255&n[17])<<8|(255&n[18])<<16|(255&n[19])<<24,g=255&n[20]|(255&n[21])<<8|(255&n[22])<<16|(255&n[23])<<24,v=255&n[24]|(255&n[25])<<8|(255&n[26])<<16|(255&n[27])<<24,y=255&n[28]|(255&n[29])<<8|(255&n[30])<<16|(255&n[31])<<24,_=255&i[12]|(255&i[13])<<8|(255&i[14])<<16|(255&i[15])<<24,w=s,E=o,S=a,k=c,A=h,M=f,x=u,R=d,I=l,T=p,C=b,D=m,P=g,B=v,L=y,O=_,U=0;U<20;U+=2)r=w+P|0,A^=r<<7|r>>>25,r=A+w|0,I^=r<<9|r>>>23,r=I+A|0,P^=r<<13|r>>>19,r=P+I|0,w^=r<<18|r>>>14,r=M+E|0,T^=r<<7|r>>>25,r=T+M|0,B^=r<<9|r>>>23,r=B+T|0,E^=r<<13|r>>>19,r=E+B|0,M^=r<<18|r>>>14,r=C+x|0,L^=r<<7|r>>>25,r=L+C|0,S^=r<<9|r>>>23,r=S+L|0,x^=r<<13|r>>>19,r=x+S|0,C^=r<<18|r>>>14,r=O+D|0,k^=r<<7|r>>>25,r=k+O|0,R^=r<<9|r>>>23,r=R+k|0,D^=r<<13|r>>>19,r=D+R|0,O^=r<<18|r>>>14,r=w+k|0,E^=r<<7|r>>>25,r=E+w|0,S^=r<<9|r>>>23,r=S+E|0,k^=r<<13|r>>>19,r=k+S|0,w^=r<<18|r>>>14,r=M+A|0,x^=r<<7|r>>>25,r=x+M|0,R^=r<<9|r>>>23,r=R+x|0,A^=r<<13|r>>>19,r=A+R|0,M^=r<<18|r>>>14,r=C+T|0,D^=r<<7|r>>>25,r=D+C|0,I^=r<<9|r>>>23,r=I+D|0,T^=r<<13|r>>>19,r=T+I|0,C^=r<<18|r>>>14,r=O+L|0,P^=r<<7|r>>>25,r=P+O|0,B^=r<<9|r>>>23,r=B+P|0,L^=r<<13|r>>>19,r=L+B|0,O^=r<<18|r>>>14;e[0]=w>>>0&255,e[1]=w>>>8&255,e[2]=w>>>16&255,e[3]=w>>>24&255,e[4]=M>>>0&255,e[5]=M>>>8&255,e[6]=M>>>16&255,e[7]=M>>>24&255,e[8]=C>>>0&255,e[9]=C>>>8&255,e[10]=C>>>16&255,e[11]=C>>>24&255,e[12]=O>>>0&255,e[13]=O>>>8&255,e[14]=O>>>16&255,e[15]=O>>>24&255,e[16]=x>>>0&255,e[17]=x>>>8&255,e[18]=x>>>16&255,e[19]=x>>>24&255,e[20]=R>>>0&255,e[21]=R>>>8&255,e[22]=R>>>16&255,e[23]=R>>>24&255,e[24]=I>>>0&255,e[25]=I>>>8&255,e[26]=I>>>16&255,e[27]=I>>>24&255,e[28]=T>>>0&255,e[29]=T>>>8&255,e[30]=T>>>16&255,e[31]=T>>>24&255}function c(e,t,n,i){o(e,t,n,i)}function h(e,t,n,i){a(e,t,n,i)}function f(e,t,n,i,r,s,o){var a,h,f=new Uint8Array(16),u=new Uint8Array(64);for(h=0;h<16;h++)f[h]=0;for(h=0;h<8;h++)f[h]=s[h];for(;r>=64;){for(c(u,f,o,de),h=0;h<64;h++)e[t+h]=n[i+h]^u[h];for(a=1,h=8;h<16;h++)a=a+(255&f[h])|0,f[h]=255&a,a>>>=8;r-=64,t+=64,i+=64}if(r>0)for(c(u,f,o,de),h=0;h=64;){for(c(h,a,r,de),o=0;o<64;o++)e[t+o]=h[o];for(s=1,o=8;o<16;o++)s=s+(255&a[o])|0,a[o]=255&s,s>>>=8;n-=64,t+=64}if(n>0)for(c(h,a,r,de),o=0;o>16&1),s[n-1]&=65535;s[15]=o[15]-32767-(s[14]>>16&1),r=s[15]>>16&1,s[14]&=65535,_(o,s,1-r)}for(n=0;n<16;n++)e[2*n]=255&o[n],e[2*n+1]=o[n]>>8}function E(e,t){var n=new Uint8Array(32),i=new Uint8Array(32);return w(n,e),w(i,t),s(n,0,i,0)}function S(e){var t=new Uint8Array(32);return w(t,e),1&t[0]}function k(e,t){var n;for(n=0;n<16;n++)e[n]=t[2*n]+(t[2*n+1]<<8);e[15]&=32767}function A(e,t,n){for(var i=0;i<16;i++)e[i]=t[i]+n[i]}function M(e,t,n){for(var i=0;i<16;i++)e[i]=t[i]-n[i]}function x(e,t,n){var i,r,s=0,o=0,a=0,c=0,h=0,f=0,u=0,d=0,l=0,p=0,b=0,m=0,g=0,v=0,y=0,_=0,w=0,E=0,S=0,k=0,A=0,M=0,x=0,R=0,I=0,T=0,C=0,D=0,P=0,B=0,L=0,O=n[0],U=n[1],N=n[2],j=n[3],q=n[4],z=n[5],F=n[6],G=n[7],H=n[8],W=n[9],V=n[10],K=n[11],Z=n[12],Y=n[13],X=n[14],J=n[15];i=t[0],s+=i*O,o+=i*U,a+=i*N,c+=i*j,h+=i*q,f+=i*z,u+=i*F,d+=i*G,l+=i*H,p+=i*W,b+=i*V,m+=i*K,g+=i*Z,v+=i*Y,y+=i*X,_+=i*J,i=t[1],o+=i*O,a+=i*U,c+=i*N,h+=i*j,f+=i*q,u+=i*z,d+=i*F,l+=i*G,p+=i*H,b+=i*W,m+=i*V,g+=i*K,v+=i*Z,y+=i*Y,_+=i*X,w+=i*J,i=t[2],a+=i*O,c+=i*U,h+=i*N,f+=i*j,u+=i*q,d+=i*z,l+=i*F,p+=i*G,b+=i*H,m+=i*W,g+=i*V,v+=i*K,y+=i*Z,_+=i*Y,w+=i*X,E+=i*J,i=t[3],c+=i*O,h+=i*U,f+=i*N,u+=i*j,d+=i*q,l+=i*z,p+=i*F,b+=i*G,m+=i*H,g+=i*W,v+=i*V,y+=i*K,_+=i*Z,w+=i*Y,E+=i*X,S+=i*J,i=t[4],h+=i*O,f+=i*U,u+=i*N,d+=i*j,l+=i*q,p+=i*z,b+=i*F,m+=i*G,g+=i*H,v+=i*W,y+=i*V,_+=i*K,w+=i*Z,E+=i*Y,S+=i*X,k+=i*J,i=t[5],f+=i*O,u+=i*U,d+=i*N,l+=i*j,p+=i*q,b+=i*z,m+=i*F,g+=i*G,v+=i*H,y+=i*W,_+=i*V,w+=i*K,E+=i*Z,S+=i*Y,k+=i*X,A+=i*J,i=t[6],u+=i*O,d+=i*U,l+=i*N,p+=i*j,b+=i*q,m+=i*z,g+=i*F,v+=i*G,y+=i*H,_+=i*W,w+=i*V,E+=i*K,S+=i*Z,k+=i*Y,A+=i*X,M+=i*J,i=t[7],d+=i*O,l+=i*U,p+=i*N,b+=i*j,m+=i*q,g+=i*z,v+=i*F,y+=i*G,_+=i*H,w+=i*W,E+=i*V,S+=i*K,k+=i*Z,A+=i*Y,M+=i*X,x+=i*J,i=t[8],l+=i*O,p+=i*U,b+=i*N,m+=i*j,g+=i*q,v+=i*z,y+=i*F,_+=i*G,w+=i*H,E+=i*W,S+=i*V,k+=i*K,A+=i*Z,M+=i*Y,x+=i*X,R+=i*J,i=t[9],p+=i*O,b+=i*U,m+=i*N,g+=i*j,v+=i*q,y+=i*z,_+=i*F,w+=i*G,E+=i*H,S+=i*W,k+=i*V,A+=i*K,M+=i*Z,x+=i*Y,R+=i*X,I+=i*J,i=t[10],b+=i*O,m+=i*U,g+=i*N,v+=i*j,y+=i*q,_+=i*z,w+=i*F,E+=i*G,S+=i*H,k+=i*W,A+=i*V,M+=i*K,x+=i*Z,R+=i*Y,I+=i*X,T+=i*J,i=t[11],m+=i*O,g+=i*U,v+=i*N,y+=i*j,_+=i*q,w+=i*z,E+=i*F,S+=i*G,k+=i*H,A+=i*W,M+=i*V,x+=i*K;R+=i*Z;I+=i*Y,T+=i*X,C+=i*J,i=t[12],g+=i*O,v+=i*U,y+=i*N,_+=i*j,w+=i*q,E+=i*z,S+=i*F,k+=i*G,A+=i*H,M+=i*W,x+=i*V,R+=i*K,I+=i*Z,T+=i*Y,C+=i*X,D+=i*J,i=t[13],v+=i*O,y+=i*U,_+=i*N,w+=i*j,E+=i*q,S+=i*z,k+=i*F,A+=i*G,M+=i*H,x+=i*W,R+=i*V,I+=i*K,T+=i*Z,C+=i*Y,D+=i*X,P+=i*J,i=t[14],y+=i*O,_+=i*U,w+=i*N,E+=i*j,S+=i*q,k+=i*z,A+=i*F,M+=i*G,x+=i*H,R+=i*W,I+=i*V,T+=i*K,C+=i*Z,D+=i*Y,P+=i*X,B+=i*J,i=t[15],_+=i*O,w+=i*U,E+=i*N,S+=i*j,k+=i*q,A+=i*z,M+=i*F,x+=i*G,R+=i*H,I+=i*W,T+=i*V,C+=i*K,D+=i*Z,P+=i*Y,B+=i*X,L+=i*J,s+=38*w,o+=38*E,a+=38*S,c+=38*k,h+=38*A,f+=38*M,u+=38*x,d+=38*R,l+=38*I,p+=38*T,b+=38*C,m+=38*D,g+=38*P,v+=38*B,y+=38*L,r=1,i=s+r+65535,r=Math.floor(i/65536),s=i-65536*r,i=o+r+65535,r=Math.floor(i/65536),o=i-65536*r,i=a+r+65535,r=Math.floor(i/65536),a=i-65536*r,i=c+r+65535,r=Math.floor(i/65536),c=i-65536*r,i=h+r+65535,r=Math.floor(i/65536),h=i-65536*r,i=f+r+65535,r=Math.floor(i/65536),f=i-65536*r,i=u+r+65535,r=Math.floor(i/65536),u=i-65536*r,i=d+r+65535,r=Math.floor(i/65536),d=i-65536*r,i=l+r+65535,r=Math.floor(i/65536),l=i-65536*r,i=p+r+65535,r=Math.floor(i/65536),p=i-65536*r,i=b+r+65535,r=Math.floor(i/65536),b=i-65536*r,i=m+r+65535,r=Math.floor(i/65536),m=i-65536*r,i=g+r+65535,r=Math.floor(i/65536),g=i-65536*r,i=v+r+65535,r=Math.floor(i/65536),v=i-65536*r,i=y+r+65535,r=Math.floor(i/65536),y=i-65536*r,i=_+r+65535,r=Math.floor(i/65536),_=i-65536*r,s+=r-1+37*(r-1),r=1,i=s+r+65535,r=Math.floor(i/65536),s=i-65536*r,i=o+r+65535,r=Math.floor(i/65536),o=i-65536*r,i=a+r+65535,r=Math.floor(i/65536),a=i-65536*r,i=c+r+65535,r=Math.floor(i/65536),c=i-65536*r,i=h+r+65535,r=Math.floor(i/65536),h=i-65536*r,i=f+r+65535,r=Math.floor(i/65536),f=i-65536*r,i=u+r+65535,r=Math.floor(i/65536),u=i-65536*r,i=d+r+65535,r=Math.floor(i/65536),d=i-65536*r,i=l+r+65535,r=Math.floor(i/65536),l=i-65536*r,i=p+r+65535,r=Math.floor(i/65536),p=i-65536*r,i=b+r+65535,r=Math.floor(i/65536),b=i-65536*r,i=m+r+65535,r=Math.floor(i/65536),m=i-65536*r,i=g+r+65535,r=Math.floor(i/65536),g=i-65536*r,i=v+r+65535,r=Math.floor(i/65536),v=i-65536*r,i=y+r+65535,r=Math.floor(i/65536),y=i-65536*r,i=_+r+65535,r=Math.floor(i/65536),_=i-65536*r,s+=r-1+37*(r-1),e[0]=s,e[1]=o,e[2]=a,e[3]=c,e[4]=h,e[5]=f,e[6]=u,e[7]=d,e[8]=l,e[9]=p,e[10]=b,e[11]=m,e[12]=g,e[13]=v;e[14]=y;e[15]=_}function R(e,t){x(e,t,t)}function I(e,t){var n,i=ee();for(n=0;n<16;n++)i[n]=t[n];for(n=253;n>=0;n--)R(i,i),2!==n&&4!==n&&x(i,i,t);for(n=0;n<16;n++)e[n]=i[n]}function T(e,t){var n,i=ee();for(n=0;n<16;n++)i[n]=t[n];for(n=250;n>=0;n--)R(i,i),1!==n&&x(i,i,t);for(n=0;n<16;n++)e[n]=i[n]}function C(e,t,n){var i,r,s=new Uint8Array(32),o=new Float64Array(80),a=ee(),c=ee(),h=ee(),f=ee(),u=ee(),d=ee();for(r=0;r<31;r++)s[r]=t[r];for(s[31]=127&t[31]|64,s[0]&=248,k(o,n),r=0;r<16;r++)c[r]=o[r],f[r]=a[r]=h[r]=0;for(a[0]=f[0]=1,r=254;r>=0;--r)i=s[r>>>3]>>>(7&r)&1,_(a,c,i),_(h,f,i),A(u,a,h),M(a,a,h),A(h,c,f),M(c,c,f),R(f,u),R(d,a),x(a,h,a),x(h,c,u),A(u,a,h),M(a,a,h),R(c,a),M(h,f,d),x(a,h,oe),A(a,a,f),x(h,h,a),x(a,f,d),x(f,c,o),R(c,u),_(a,c,i),_(h,f,i);for(r=0;r<16;r++)o[r+16]=a[r],o[r+32]=h[r],o[r+48]=c[r],o[r+64]=f[r];var l=o.subarray(32),p=o.subarray(16);return I(l,l),x(p,p,l),w(e,p),0}function D(e,t){return C(e,t,ie)}function P(e,t){return te(t,32),D(e,t)}function B(e,t,n){var i=new Uint8Array(32);return C(i,n,t),h(e,ne,i,de)}function L(e,t,n,i,r,s){var o=new Uint8Array(32);return B(o,r,s),pe(e,t,n,i,o)}function O(e,t,n,i,r,s){var o=new Uint8Array(32);return B(o,r,s),be(e,t,n,i,o)}function U(e,t,n,i){for(var r,s,o,a,c,h,f,u,d,l,p,b,m,g,v,y,_,w,E,S,k,A,M,x,R,I,T=new Int32Array(16),C=new Int32Array(16),D=e[0],P=e[1],B=e[2],L=e[3],O=e[4],U=e[5],N=e[6],j=e[7],q=t[0],z=t[1],F=t[2],G=t[3],H=t[4],W=t[5],V=t[6],K=t[7],Z=0;i>=128;){for(E=0;E<16;E++)S=8*E+Z,T[E]=n[S+0]<<24|n[S+1]<<16|n[S+2]<<8|n[S+3],C[E]=n[S+4]<<24|n[S+5]<<16|n[S+6]<<8|n[S+7];for(E=0;E<80;E++)if(r=D,s=P,o=B,a=L,c=O,h=U,f=N,u=j,d=q,l=z,p=F,b=G,m=H,g=W,v=V,y=K,k=j,A=K,M=65535&A,x=A>>>16,R=65535&k,I=k>>>16,k=(O>>>14|H<<18)^(O>>>18|H<<14)^(H>>>9|O<<23),A=(H>>>14|O<<18)^(H>>>18|O<<14)^(O>>>9|H<<23),M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,k=O&U^~O&N,A=H&W^~H&V,M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,k=me[2*E],A=me[2*E+1],M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,k=T[E%16],A=C[E%16],M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,x+=M>>>16,R+=x>>>16,I+=R>>>16,_=65535&R|I<<16,w=65535&M|x<<16,k=_,A=w,M=65535&A,x=A>>>16,R=65535&k,I=k>>>16,k=(D>>>28|q<<4)^(q>>>2|D<<30)^(q>>>7|D<<25),A=(q>>>28|D<<4)^(D>>>2|q<<30)^(D>>>7|q<<25),M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,k=D&P^D&B^P&B,A=q&z^q&F^z&F,M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,x+=M>>>16,R+=x>>>16,I+=R>>>16,u=65535&R|I<<16,y=65535&M|x<<16,k=a,A=b,M=65535&A,x=A>>>16,R=65535&k,I=k>>>16,k=_,A=w,M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,x+=M>>>16,R+=x>>>16,I+=R>>>16,a=65535&R|I<<16,b=65535&M|x<<16,P=r,B=s,L=o,O=a,U=c,N=h,j=f,D=u,z=d,F=l,G=p,H=b,W=m,V=g,K=v,q=y,E%16===15)for(S=0;S<16;S++)k=T[S],A=C[S],M=65535&A,x=A>>>16,R=65535&k,I=k>>>16,k=T[(S+9)%16],A=C[(S+9)%16],M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,_=T[(S+1)%16],w=C[(S+1)%16],k=(_>>>1|w<<31)^(_>>>8|w<<24)^_>>>7,A=(w>>>1|_<<31)^(w>>>8|_<<24)^(w>>>7|_<<25),M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,_=T[(S+14)%16],w=C[(S+14)%16],k=(_>>>19|w<<13)^(w>>>29|_<<3)^_>>>6,A=(w>>>19|_<<13)^(_>>>29|w<<3)^(w>>>6|_<<26),M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,x+=M>>>16,R+=x>>>16,I+=R>>>16,T[S]=65535&R|I<<16,C[S]=65535&M|x<<16;k=D,A=q,M=65535&A,x=A>>>16,R=65535&k,I=k>>>16,k=e[0],A=t[0],M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,x+=M>>>16,R+=x>>>16,I+=R>>>16,e[0]=D=65535&R|I<<16,t[0]=q=65535&M|x<<16,k=P,A=z,M=65535&A,x=A>>>16,R=65535&k,I=k>>>16,k=e[1],A=t[1],M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,x+=M>>>16,R+=x>>>16,I+=R>>>16,e[1]=P=65535&R|I<<16,t[1]=z=65535&M|x<<16,k=B,A=F,M=65535&A,x=A>>>16,R=65535&k,I=k>>>16,k=e[2],A=t[2],M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,x+=M>>>16,R+=x>>>16,I+=R>>>16,e[2]=B=65535&R|I<<16,t[2]=F=65535&M|x<<16,k=L,A=G,M=65535&A,x=A>>>16,R=65535&k,I=k>>>16,k=e[3],A=t[3],M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,x+=M>>>16,R+=x>>>16,I+=R>>>16,e[3]=L=65535&R|I<<16,t[3]=G=65535&M|x<<16,k=O,A=H,M=65535&A,x=A>>>16,R=65535&k,I=k>>>16,k=e[4],A=t[4],M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,x+=M>>>16,R+=x>>>16,I+=R>>>16,e[4]=O=65535&R|I<<16,t[4]=H=65535&M|x<<16,k=U,A=W,M=65535&A,x=A>>>16,R=65535&k,I=k>>>16,k=e[5],A=t[5],M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,x+=M>>>16,R+=x>>>16,I+=R>>>16,e[5]=U=65535&R|I<<16,t[5]=W=65535&M|x<<16,k=N,A=V,M=65535&A,x=A>>>16,R=65535&k,I=k>>>16,k=e[6],A=t[6],M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,x+=M>>>16,R+=x>>>16,I+=R>>>16,e[6]=N=65535&R|I<<16,t[6]=V=65535&M|x<<16,k=j,A=K,M=65535&A,x=A>>>16,R=65535&k,I=k>>>16,k=e[7],A=t[7],M+=65535&A,x+=A>>>16,R+=65535&k,I+=k>>>16,x+=M>>>16,R+=x>>>16,I+=R>>>16,e[7]=j=65535&R|I<<16,t[7]=K=65535&M|x<<16,Z+=128,i-=128}return i}function N(e,n,i){var r,s=new Int32Array(8),o=new Int32Array(8),a=new Uint8Array(256),c=i;for(s[0]=1779033703,s[1]=3144134277,s[2]=1013904242,s[3]=2773480762,s[4]=1359893119,s[5]=2600822924,s[6]=528734635,s[7]=1541459225,o[0]=4089235720,o[1]=2227873595,o[2]=4271175723,o[3]=1595750129,o[4]=2917565137,o[5]=725511199,o[6]=4215389547,o[7]=327033209,U(s,o,n,i),i%=128,r=0;r=0;--r)i=n[r/8|0]>>(7&r)&1,q(e,t,i),j(t,e),j(e,e),q(e,t,i)}function G(e,t){var n=[ee(),ee(),ee(),ee()];v(n[0],he),v(n[1],fe),v(n[2],se),x(n[3],he,fe),F(e,n,t)}function H(e,t,n){var i,r=new Uint8Array(64),s=[ee(),ee(),ee(),ee()];for(n||te(t,32),N(r,t,32),r[0]&=248,r[31]&=127,r[31]|=64,G(s,r),z(e,s),i=0;i<32;i++)t[i+32]=e[i];return 0}function W(e,t){var n,i,r,s;for(i=63;i>=32;--i){for(n=0,r=i-32,s=i-12;r>8,t[r]-=256*n;t[r]+=n,t[i]=0}for(n=0,r=0;r<32;r++)t[r]+=n-(t[31]>>4)*ge[r],n=t[r]>>8,t[r]&=255;for(r=0;r<32;r++)t[r]-=n*ge[r];for(i=0;i<32;i++)t[i+1]+=t[i]>>8,e[i]=255&t[i]}function V(e){var t,n=new Float64Array(64);for(t=0;t<64;t++)n[t]=e[t];for(t=0;t<64;t++)e[t]=0;W(e,n)}function K(e,t,n,i){var r,s,o=new Uint8Array(64),a=new Uint8Array(64),c=new Uint8Array(64),h=new Float64Array(64),f=[ee(),ee(),ee(),ee()];N(o,i,32),o[0]&=248,o[31]&=127,o[31]|=64;var u=n+64;for(r=0;r>7&&M(e[0],re,e[0]),x(e[3],e[0],e[1]),0)}function Y(e,t,n,i){var r,o,a=new Uint8Array(32),c=new Uint8Array(64),h=[ee(),ee(),ee(),ee()],f=[ee(),ee(),ee(),ee()];if(o=-1,n<64)return-1;if(Z(f,i))return-1;for(r=0;r>>13|n<<3),i=255&e[4]|(255&e[5])<<8,this.r[2]=7939&(n>>>10|i<<6),r=255&e[6]|(255&e[7])<<8,this.r[3]=8191&(i>>>7|r<<9),s=255&e[8]|(255&e[9])<<8,this.r[4]=255&(r>>>4|s<<12),this.r[5]=s>>>1&8190,o=255&e[10]|(255&e[11])<<8,this.r[6]=8191&(s>>>14|o<<2),a=255&e[12]|(255&e[13])<<8,this.r[7]=8065&(o>>>11|a<<5),c=255&e[14]|(255&e[15])<<8,this.r[8]=8191&(a>>>8|c<<8),this.r[9]=c>>>5&127,this.pad[0]=255&e[16]|(255&e[17])<<8,this.pad[1]=255&e[18]|(255&e[19])<<8,this.pad[2]=255&e[20]|(255&e[21])<<8,this.pad[3]=255&e[22]|(255&e[23])<<8,this.pad[4]=255&e[24]|(255&e[25])<<8,this.pad[5]=255&e[26]|(255&e[27])<<8,this.pad[6]=255&e[28]|(255&e[29])<<8,this.pad[7]=255&e[30]|(255&e[31])<<8};le.prototype.blocks=function(e,t,n){for(var i,r,s,o,a,c,h,f,u,d,l,p,b,m,g,v,y,_,w,E=this.fin?0:2048,S=this.h[0],k=this.h[1],A=this.h[2],M=this.h[3],x=this.h[4],R=this.h[5],I=this.h[6],T=this.h[7],C=this.h[8],D=this.h[9],P=this.r[0],B=this.r[1],L=this.r[2],O=this.r[3],U=this.r[4],N=this.r[5],j=this.r[6],q=this.r[7],z=this.r[8],F=this.r[9];n>=16;)i=255&e[t+0]|(255&e[t+1])<<8,S+=8191&i,r=255&e[t+2]|(255&e[t+3])<<8,k+=8191&(i>>>13|r<<3),s=255&e[t+4]|(255&e[t+5])<<8,A+=8191&(r>>>10|s<<6),o=255&e[t+6]|(255&e[t+7])<<8,M+=8191&(s>>>7|o<<9),a=255&e[t+8]|(255&e[t+9])<<8,x+=8191&(o>>>4|a<<12),R+=a>>>1&8191,c=255&e[t+10]|(255&e[t+11])<<8,I+=8191&(a>>>14|c<<2),h=255&e[t+12]|(255&e[t+13])<<8,T+=8191&(c>>>11|h<<5),f=255&e[t+14]|(255&e[t+15])<<8,C+=8191&(h>>>8|f<<8),D+=f>>>5|E,u=0,d=u,d+=S*P,d+=k*(5*F),d+=A*(5*z),d+=M*(5*q),d+=x*(5*j),u=d>>>13,d&=8191,d+=R*(5*N),d+=I*(5*U),d+=T*(5*O),d+=C*(5*L),d+=D*(5*B),u+=d>>>13,d&=8191,l=u,l+=S*B,l+=k*P,l+=A*(5*F),l+=M*(5*z),l+=x*(5*q),u=l>>>13,l&=8191,l+=R*(5*j),l+=I*(5*N),l+=T*(5*U),l+=C*(5*O),l+=D*(5*L),u+=l>>>13,l&=8191,p=u,p+=S*L,p+=k*B,p+=A*P,p+=M*(5*F),p+=x*(5*z),u=p>>>13,p&=8191,p+=R*(5*q),p+=I*(5*j),p+=T*(5*N),p+=C*(5*U),p+=D*(5*O),u+=p>>>13,p&=8191,b=u,b+=S*O,b+=k*L,b+=A*B,b+=M*P,b+=x*(5*F),u=b>>>13,b&=8191,b+=R*(5*z),b+=I*(5*q),b+=T*(5*j),b+=C*(5*N),b+=D*(5*U),u+=b>>>13,b&=8191,m=u,m+=S*U,m+=k*O,m+=A*L,m+=M*B,m+=x*P,u=m>>>13,m&=8191,m+=R*(5*F),m+=I*(5*z),m+=T*(5*q),m+=C*(5*j),m+=D*(5*N),u+=m>>>13,m&=8191,g=u,g+=S*N,g+=k*U,g+=A*O,g+=M*L,g+=x*B,u=g>>>13,g&=8191,g+=R*P,g+=I*(5*F),g+=T*(5*z),g+=C*(5*q),g+=D*(5*j),u+=g>>>13,g&=8191,v=u,v+=S*j,v+=k*N,v+=A*U,v+=M*O,v+=x*L,u=v>>>13,v&=8191,v+=R*B,v+=I*P,v+=T*(5*F),v+=C*(5*z),v+=D*(5*q),u+=v>>>13,v&=8191,y=u,y+=S*q,y+=k*j,y+=A*N,y+=M*U,y+=x*O,u=y>>>13,y&=8191,y+=R*L,y+=I*B,y+=T*P,y+=C*(5*F),y+=D*(5*z),u+=y>>>13,y&=8191,_=u,_+=S*z,_+=k*q,_+=A*j,_+=M*N,_+=x*U,u=_>>>13,_&=8191,_+=R*O,_+=I*L,_+=T*B,_+=C*P,_+=D*(5*F),u+=_>>>13,_&=8191,w=u,w+=S*F,w+=k*z,w+=A*q,w+=M*j,w+=x*N,u=w>>>13,w&=8191,w+=R*U,w+=I*O,w+=T*L,w+=C*B,w+=D*P,u+=w>>>13,w&=8191,u=(u<<2)+u|0,u=u+d|0,d=8191&u,u>>>=13,l+=u,S=d,k=l,A=p,M=b,x=m,R=g,I=v,T=y,C=_,D=w,t+=16,n-=16;this.h[0]=S,this.h[1]=k,this.h[2]=A,this.h[3]=M,this.h[4]=x,this.h[5]=R,this.h[6]=I,this.h[7]=T,this.h[8]=C,this.h[9]=D},le.prototype.finish=function(e,t){var n,i,r,s,o=new Uint16Array(10);if(this.leftover){for(s=this.leftover,this.buffer[s++]=1;s<16;s++)this.buffer[s]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(n=this.h[1]>>>13,this.h[1]&=8191,s=2;s<10;s++)this.h[s]+=n,n=this.h[s]>>>13,this.h[s]&=8191;for(this.h[0]+=5*n,n=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=n,n=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=n,o[0]=this.h[0]+5,n=o[0]>>>13,o[0]&=8191,s=1;s<10;s++)o[s]=this.h[s]+n,n=o[s]>>>13,o[s]&=8191;for(o[9]-=8192,i=(1^n)-1,s=0;s<10;s++)o[s]&=i;for(i=~i,s=0;s<10;s++)this.h[s]=this.h[s]&i|o[s];for(this.h[0]=65535&(this.h[0]|this.h[1]<<13),this.h[1]=65535&(this.h[1]>>>3|this.h[2]<<10),this.h[2]=65535&(this.h[2]>>>6|this.h[3]<<7),this.h[3]=65535&(this.h[3]>>>9|this.h[4]<<4),this.h[4]=65535&(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14),this.h[5]=65535&(this.h[6]>>>2|this.h[7]<<11),this.h[6]=65535&(this.h[7]>>>5|this.h[8]<<8),this.h[7]=65535&(this.h[8]>>>8|this.h[9]<<5),r=this.h[0]+this.pad[0],this.h[0]=65535&r,s=1;s<8;s++)r=(this.h[s]+this.pad[s]|0)+(r>>>16)|0,this.h[s]=65535&r;e[t+0]=this.h[0]>>>0&255,e[t+1]=this.h[0]>>>8&255,e[t+2]=this.h[1]>>>0&255,e[t+3]=this.h[1]>>>8&255,e[t+4]=this.h[2]>>>0&255,e[t+5]=this.h[2]>>>8&255,e[t+6]=this.h[3]>>>0&255,e[t+7]=this.h[3]>>>8&255,e[t+8]=this.h[4]>>>0&255,e[t+9]=this.h[4]>>>8&255,e[t+10]=this.h[5]>>>0&255,e[t+11]=this.h[5]>>>8&255,e[t+12]=this.h[6]>>>0&255,e[t+13]=this.h[6]>>>8&255,e[t+14]=this.h[7]>>>0&255,e[t+15]=this.h[7]>>>8&255},le.prototype.update=function(e,t,n){var i,r;if(this.leftover){for(r=16-this.leftover,r>n&&(r=n),i=0;i=16&&(r=n-n%16,this.blocks(e,t,r),t+=r,n-=r),n){for(i=0;i=0},e.sign.keyPair=function(){var e=new Uint8Array(Ce),t=new Uint8Array(De);return H(e,t),{publicKey:e,secretKey:t}},e.sign.keyPair.fromSecretKey=function(e){if($(e),e.length!==De)throw new Error("bad secret key size");for(var t=new Uint8Array(Ce),n=0;n * MIT Licensed */ -var r=e.exports=i(129);r.Server=i(248),r.Sender=i(128),r.Receiver=i(127),r.createServer=function(e,t){var i=new r.Server(e);return"function"==typeof t&&i.on("connection",t),i},r.connect=r.createConnection=function(e,t){var i=new r(e);return"function"==typeof t&&i.on("open",t),i}},function(e,t,i){"use strict";/*! +var i=e.exports=n(129);i.Server=n(246),i.Sender=n(128),i.Receiver=n(127),i.createServer=function(e,t){var n=new i.Server(e);return"function"==typeof t&&n.on("connection",t),n},i.connect=i.createConnection=function(e,t){var n=new i(e);return"function"==typeof t&&n.on("open",t),n}},function(e,t,n){"use strict";/*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik * MIT Licensed */ -try{e.exports=i(162)}catch(t){e.exports=i(243)}},function(e,t){/*! +try{e.exports=n(162)}catch(t){e.exports=n(241)}},function(e,t){/*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik * MIT Licensed */ -e.exports={isValidErrorCode:function(e){return e>=1e3&&e<=1011&&1004!=e&&1005!=e&&1006!=e||e>=3e3&&e<=4999},1e3:"normal",1001:"going away",1002:"protocol error",1003:"unsupported data",1004:"reserved",1005:"reserved for extensions",1006:"reserved for extensions",1007:"inconsistent or invalid data",1008:"policy violation",1009:"message too big",1010:"extension handshake missing",1011:"an unexpected condition prevented the request from being fulfilled"}},function(e,t,i){function r(e){e=e||"";var t={};return e.split(",").forEach(function(e){var i=e.split(";"),r=i.shift().trim(),n=t[r]=t[r]||[],s={};i.forEach(function(e){var t=e.trim().split("="),i=t[0],r=t[1];"undefined"==typeof r?r=!0:('"'===r[0]&&(r=r.slice(1)),'"'===r[r.length-1]&&(r=r.slice(0,r.length-1))),(s[i]=s[i]||[]).push(r)}),n.push(s)}),t}function n(e){return Object.keys(e).map(function(t){var i=e[t];return s.isArray(i)||(i=[i]),i.map(function(e){return[t].concat(Object.keys(e).map(function(t){var i=e[t];return s.isArray(i)||(i=[i]),i.map(function(e){return e===!0?t:t+"="+e}).join("; ")})).join("; ")}).join(", ")}).join(", ")}var s=i(10);t.parse=r,t.format=n},function(e,t,i){(function(t){function r(e,i){if(this instanceof r==!1)throw new TypeError("Classes can't be function-called");"number"==typeof e&&(i=e,e={});var n=-1;this.fragmentedBufferPool=new c(1024,function(e,t){return e.used+t},function(e){return n=n>=0?Math.ceil((n+e.used)/2):e.used});var s=-1;this.unfragmentedBufferPool=new c(1024,function(e,t){return e.used+t},function(e){return s=s>=0?Math.ceil((s+e.used)/2):e.used}),this.extensions=e||{},this.maxPayload=i||0,this.currentPayloadLength=0,this.state={activeFragmentedOperation:null,lastFragment:!1,masked:!1,opcode:0,fragmentedOperation:!1},this.overflow=[],this.headerBuffer=new t(10),this.expectOffset=0,this.expectBuffer=null,this.expectHandler=null,this.currentMessage=[],this.currentMessageLength=0,this.messageHandlers=[],this.expectHeader(2,this.processPacket),this.dead=!1,this.processing=!1,this.onerror=function(){},this.ontext=function(){},this.onbinary=function(){},this.onclose=function(){},this.onping=function(){},this.onpong=function(){}}function n(e){return(this[e]<<8)+this[e+1]}function s(e){return(this[e]<<24)+(this[e+1]<<16)+(this[e+2]<<8)+this[e+3]}function a(e,t,i,r){switch(e){default:t.copy(i,r,0,e);break;case 16:i[r+15]=t[15];case 15:i[r+14]=t[14];case 14:i[r+13]=t[13];case 13:i[r+12]=t[12];case 12:i[r+11]=t[11];case 11:i[r+10]=t[10];case 10:i[r+9]=t[9];case 9:i[r+8]=t[8];case 8:i[r+7]=t[7];case 7:i[r+6]=t[6];case 6:i[r+5]=t[5];case 5:i[r+4]=t[4];case 4:i[r+3]=t[3];case 3:i[r+2]=t[2];case 2:i[r+1]=t[1];case 1:i[r]=t[0]}}function o(e){var t={};for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}/*! +e.exports={isValidErrorCode:function(e){return e>=1e3&&e<=1011&&1004!=e&&1005!=e&&1006!=e||e>=3e3&&e<=4999},1e3:"normal",1001:"going away",1002:"protocol error",1003:"unsupported data",1004:"reserved",1005:"reserved for extensions",1006:"reserved for extensions",1007:"inconsistent or invalid data",1008:"policy violation",1009:"message too big",1010:"extension handshake missing",1011:"an unexpected condition prevented the request from being fulfilled"}},function(e,t,n){function i(e){e=e||"";var t={};return e.split(",").forEach(function(e){var n=e.split(";"),i=n.shift().trim(),r=t[i]=t[i]||[],s={};n.forEach(function(e){var t=e.trim().split("="),n=t[0],i=t[1];"undefined"==typeof i?i=!0:('"'===i[0]&&(i=i.slice(1)),'"'===i[i.length-1]&&(i=i.slice(0,i.length-1))),(s[n]=s[n]||[]).push(i)}),r.push(s)}),t}function r(e){return Object.keys(e).map(function(t){var n=e[t];return s.isArray(n)||(n=[n]),n.map(function(e){return[t].concat(Object.keys(e).map(function(t){var n=e[t];return s.isArray(n)||(n=[n]),n.map(function(e){return e===!0?t:t+"="+e}).join("; ")})).join("; ")}).join(", ")}).join(", ")}var s=n(10);t.parse=i,t.format=r},function(e,t,n){(function(t){function i(e,n){if(this instanceof i==!1)throw new TypeError("Classes can't be function-called");"number"==typeof e&&(n=e,e={});var r=-1;this.fragmentedBufferPool=new f(1024,function(e,t){return e.used+t},function(e){return r=r>=0?Math.ceil((r+e.used)/2):e.used});var s=-1;this.unfragmentedBufferPool=new f(1024,function(e,t){return e.used+t},function(e){return s=s>=0?Math.ceil((s+e.used)/2):e.used}),this.extensions=e||{},this.maxPayload=n||0,this.currentPayloadLength=0,this.state={activeFragmentedOperation:null,lastFragment:!1,masked:!1,opcode:0,fragmentedOperation:!1},this.overflow=[],this.headerBuffer=new t(10),this.expectOffset=0,this.expectBuffer=null,this.expectHandler=null,this.currentMessage=[],this.currentMessageLength=0,this.messageHandlers=[],this.expectHeader(2,this.processPacket),this.dead=!1,this.processing=!1,this.onerror=function(){},this.ontext=function(){},this.onbinary=function(){},this.onclose=function(){},this.onping=function(){},this.onpong=function(){}}function r(e){return(this[e]<<8)+this[e+1]}function s(e){return(this[e]<<24)+(this[e+1]<<16)+(this[e+2]<<8)+this[e+3]}function o(e,t,n,i){switch(e){default:t.copy(n,i,0,e);break;case 16:n[i+15]=t[15];case 15:n[i+14]=t[14];case 14:n[i+13]=t[13];case 13:n[i+12]=t[12];case 12:n[i+11]=t[11];case 11:n[i+10]=t[10];case 10:n[i+9]=t[9];case 9:n[i+8]=t[8];case 8:n[i+7]=t[7];case 7:n[i+6]=t[6];case 6:n[i+5]=t[5];case 5:n[i+4]=t[4];case 4:n[i+3]=t[3];case 3:n[i+2]=t[2];case 2:n[i+1]=t[1];case 1:n[i]=t[0]}}function a(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}/*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik * MIT Licensed */ -var f=(i(10),i(247).Validation),h=i(125),c=i(242),l=i(124).BufferUtil,u=i(44);e.exports=r,r.prototype.add=function(e){if(!this.dead){var t=e.length;if(0!=t){if(null==this.expectBuffer)return void this.overflow.push(e);var i=Math.min(t,this.expectBuffer.length-this.expectOffset);for(a(i,e,this.expectBuffer,this.expectOffset),this.expectOffset+=i,i0&&this.overflow.length>0;){var r=this.overflow.pop();i0&&this.overflow.length>0;){var r=this.overflow.pop();i=8&&t)return void this.error("control frames cannot have the Per-message Compressed bits",1002);this.state.compressed=t,this.state.opcode=i,this.state.lastFragment===!1?(this.state.fragmentedOperation=!0,this.state.activeFragmentedOperation=i):this.state.fragmentedOperation=!1}var r=d[this.state.opcode];"undefined"==typeof r?this.error("no handler for opcode "+this.state.opcode,1002):r.start.call(this,e)},r.prototype.endPacket=function(){this.dead||(this.state.fragmentedOperation?this.state.lastFragment&&this.fragmentedBufferPool.reset(!0):this.unfragmentedBufferPool.reset(!0),this.expectOffset=0,this.expectBuffer=null,this.expectHandler=null,this.state.lastFragment&&this.state.opcode===this.state.activeFragmentedOperation&&(this.state.activeFragmentedOperation=null),this.currentPayloadLength=0,this.state.lastFragment=!1,this.state.opcode=null!=this.state.activeFragmentedOperation?this.state.activeFragmentedOperation:0,this.state.masked=!1,this.expectHeader(2,this.processPacket))},r.prototype.reset=function(){this.dead||(this.state={activeFragmentedOperation:null,lastFragment:!1,masked:!1,opcode:0,fragmentedOperation:!1},this.fragmentedBufferPool.reset(!0),this.unfragmentedBufferPool.reset(!0),this.expectOffset=0,this.expectBuffer=null,this.expectHandler=null,this.overflow=[],this.currentMessage=[],this.currentMessageLength=0,this.messageHandlers=[],this.currentPayloadLength=0)},r.prototype.unmask=function(e,t,i){return null!=e&&null!=t&&l.unmask(t,e),i?t:null!=t?t.toString("utf8"):""},r.prototype.error=function(e,t){if(!this.dead)return this.reset(),"string"==typeof e?this.onerror(new Error(e),t):e.constructor==Error?this.onerror(e,t):this.onerror(new Error("An error occured"),t),this},r.prototype.flush=function(){if(!this.processing&&!this.dead){var e=this.messageHandlers.shift();if(e){this.processing=!0;var t=this;e(function(){t.processing=!1,t.flush()})}}},r.prototype.applyExtensions=function(e,t,i,r){var n=this;i?this.extensions[u.extensionName].decompress(e,t,function(e,t){if(!n.dead)return e?void r(new Error("invalid compressed data")):void r(null,t)}):r(null,e)},r.prototype.maxPayloadExceeded=function(e){if(void 0===this.maxPayload||null===this.maxPayload||this.maxPayload<1)return!1;var t=this.currentPayloadLength+e;return t0&&r.currentMessageLength+n.length0&&r.currentMessageLength+n.length1?n.call(t,0):1e3;if(!h.isValidErrorCode(e))return void i.error("invalid error code",1002);var s="";if(t&&t.length>2){var a=t.slice(2);if(!f.isValidUTF8(a))return void i.error("invalid utf8 sequence",1007);s=a.toString("utf8")}i.onclose(e,s,{masked:r.masked}),i.reset()}),this.flush()}},9:{start:function(e){var t=this;if(0==t.state.lastFragment)return void t.error("fragmented ping is not supported",1002);var i=127&e[1];i<126?d[9].getData.call(t,i):t.error("control frames cannot have more than 125 bytes of data",1002)},getData:function(e){var t=this;t.state.masked?t.expectHeader(4,function(i){var r=i;t.expectData(e,function(e){d[9].finish.call(t,r,e)})}):t.expectData(e,function(e){d[9].finish.call(t,null,e)})},finish:function(e,t){var i=this;t=this.unmask(e,t,!0);var r=o(this.state);this.messageHandlers.push(function(e){i.onping(t,{masked:r.masked,binary:!0}),e()}),this.flush(),this.endPacket()}},10:{start:function(e){var t=this;if(0==t.state.lastFragment)return void t.error("fragmented pong is not supported",1002);var i=127&e[1];i<126?d[10].getData.call(t,i):t.error("control frames cannot have more than 125 bytes of data",1002)},getData:function(e){var t=this;this.state.masked?this.expectHeader(4,function(i){var r=i;t.expectData(e,function(e){d[10].finish.call(t,r,e)})}):this.expectData(e,function(e){d[10].finish.call(t,null,e)})},finish:function(e,t){var i=this;t=i.unmask(e,t,!0);var r=o(this.state);this.messageHandlers.push(function(e){i.onpong(t,{masked:r.masked,binary:!0}),e()}),this.flush(),this.endPacket()}}}}).call(t,i(0).Buffer)},function(e,t,i){(function(t){function r(e,t){if(this instanceof r==!1)throw new TypeError("Classes can't be function-called");f.EventEmitter.call(this),this._socket=e,this.extensions=t||{},this.firstFragment=!0,this.compress=!1,this.messageHandlers=[],this.processing=!1}function n(e,t){this[t]=(65280&e)>>8,this[t+1]=255&e}function s(e,t){this[t]=(4278190080&e)>>24,this[t+1]=(16711680&e)>>16,this[t+2]=(65280&e)>>8,this[t+3]=255&e}function a(e){for(var i=new Uint8Array(e.buffer||e),r=e.byteLength||e.length,n=e.byteOffset||0,s=new t(r),a=0;a0&&this.overflow.length>0;){var i=this.overflow.pop();n0&&this.overflow.length>0;){var i=this.overflow.pop();n=8&&t)return void this.error("control frames cannot have the Per-message Compressed bits",1002);this.state.compressed=t,this.state.opcode=n,this.state.lastFragment===!1?(this.state.fragmentedOperation=!0,this.state.activeFragmentedOperation=n):this.state.fragmentedOperation=!1}var i=l[this.state.opcode];"undefined"==typeof i?this.error("no handler for opcode "+this.state.opcode,1002):i.start.call(this,e)},i.prototype.endPacket=function(){this.dead||(this.state.fragmentedOperation?this.state.lastFragment&&this.fragmentedBufferPool.reset(!0):this.unfragmentedBufferPool.reset(!0),this.expectOffset=0,this.expectBuffer=null,this.expectHandler=null,this.state.lastFragment&&this.state.opcode===this.state.activeFragmentedOperation&&(this.state.activeFragmentedOperation=null),this.currentPayloadLength=0,this.state.lastFragment=!1,this.state.opcode=null!=this.state.activeFragmentedOperation?this.state.activeFragmentedOperation:0,this.state.masked=!1,this.expectHeader(2,this.processPacket))},i.prototype.reset=function(){this.dead||(this.state={activeFragmentedOperation:null,lastFragment:!1,masked:!1,opcode:0,fragmentedOperation:!1},this.fragmentedBufferPool.reset(!0),this.unfragmentedBufferPool.reset(!0),this.expectOffset=0,this.expectBuffer=null,this.expectHandler=null,this.overflow=[],this.currentMessage=[],this.currentMessageLength=0,this.messageHandlers=[],this.currentPayloadLength=0)},i.prototype.unmask=function(e,t,n){return null!=e&&null!=t&&u.unmask(t,e),n?t:null!=t?t.toString("utf8"):""},i.prototype.error=function(e,t){if(!this.dead)return this.reset(),"string"==typeof e?this.onerror(new Error(e),t):e.constructor==Error?this.onerror(e,t):this.onerror(new Error("An error occured"),t),this},i.prototype.flush=function(){if(!this.processing&&!this.dead){var e=this.messageHandlers.shift();if(e){this.processing=!0;var t=this;e(function(){t.processing=!1,t.flush()})}}},i.prototype.applyExtensions=function(e,t,n,i){var r=this;n?this.extensions[d.extensionName].decompress(e,t,function(e,t){if(!r.dead)return e?void i(new Error("invalid compressed data")):void i(null,t)}):i(null,e)},i.prototype.maxPayloadExceeded=function(e){if(void 0===this.maxPayload||null===this.maxPayload||this.maxPayload<1)return!1;var t=this.currentPayloadLength+e;return t0&&i.currentMessageLength+r.length0&&i.currentMessageLength+r.length1?r.call(t,0):1e3;if(!h.isValidErrorCode(e))return void n.error("invalid error code",1002);var s="";if(t&&t.length>2){var o=t.slice(2);if(!c.isValidUTF8(o))return void n.error("invalid utf8 sequence",1007);s=o.toString("utf8")}n.onclose(e,s,{masked:i.masked}),n.reset()}),this.flush()}},9:{start:function(e){var t=this;if(0==t.state.lastFragment)return void t.error("fragmented ping is not supported",1002);var n=127&e[1];n<126?l[9].getData.call(t,n):t.error("control frames cannot have more than 125 bytes of data",1002)},getData:function(e){var t=this;t.state.masked?t.expectHeader(4,function(n){var i=n;t.expectData(e,function(e){l[9].finish.call(t,i,e)})}):t.expectData(e,function(e){l[9].finish.call(t,null,e)})},finish:function(e,t){var n=this;t=this.unmask(e,t,!0);var i=a(this.state);this.messageHandlers.push(function(e){n.onping(t,{masked:i.masked,binary:!0}),e()}),this.flush(),this.endPacket()}},10:{start:function(e){var t=this;if(0==t.state.lastFragment)return void t.error("fragmented pong is not supported",1002);var n=127&e[1];n<126?l[10].getData.call(t,n):t.error("control frames cannot have more than 125 bytes of data",1002)},getData:function(e){var t=this;this.state.masked?this.expectHeader(4,function(n){var i=n;t.expectData(e,function(e){l[10].finish.call(t,i,e)})}):this.expectData(e,function(e){l[10].finish.call(t,null,e)})},finish:function(e,t){var n=this;t=n.unmask(e,t,!0);var i=a(this.state);this.messageHandlers.push(function(e){n.onpong(t,{masked:i.masked,binary:!0}),e()}),this.flush(),this.endPacket()}}}}).call(t,n(0).Buffer)},function(e,t,n){(function(t){function i(e,t){if(this instanceof i==!1)throw new TypeError("Classes can't be function-called");c.EventEmitter.call(this),this._socket=e,this.extensions=t||{},this.firstFragment=!0,this.compress=!1,this.messageHandlers=[],this.processing=!1}function r(e,t){this[t]=(65280&e)>>8,this[t+1]=255&e}function s(e,t){this[t]=(4278190080&e)>>24,this[t+1]=(16711680&e)>>16,this[t+2]=(65280&e)>>8,this[t+3]=255&e}function o(e){for(var n=new Uint8Array(e.buffer||e),i=e.byteLength||e.length,r=e.byteOffset||0,s=new t(i),o=0;o * MIT Licensed */ -var f=i(5),h=i(10),c=(f.EventEmitter,i(125)),l=i(124).BufferUtil,u=i(44);h.inherits(r,f.EventEmitter),r.prototype.close=function(e,i,r,s){if("undefined"!=typeof e&&("number"!=typeof e||!c.isValidErrorCode(e)))throw new Error("first argument must be a valid error code number");e=e||1e3;var a=new t(2+(i?t.byteLength(i):0));n.call(a,e,0),a.length>2&&a.write(i,2);var o=this;this.messageHandlers.push(function(e){o.frameAndSend(8,a,!0,r),e(),"function"==typeof s&&s()}),this.flush()},r.prototype.ping=function(e,t){var i=t&&t.mask,r=this;this.messageHandlers.push(function(t){r.frameAndSend(9,e||"",!0,i),t()}),this.flush()},r.prototype.pong=function(e,t){var i=t&&t.mask,r=this;this.messageHandlers.push(function(t){r.frameAndSend(10,e||"",!0,i),t()}),this.flush()},r.prototype.send=function(e,t,i){var r=!t||t.fin!==!1,n=t&&t.mask,s=t&&t.compress,a=t&&t.binary?2:1;this.firstFragment===!1?(a=0,s=!1):(this.firstFragment=!1,this.compress=s),r&&(this.firstFragment=!0);var o=this.compress,f=this;this.messageHandlers.push(function(t){f.applyExtensions(e,r,o,function(e,o){return e?void("function"==typeof i?i(e):f.emit("error",e)):(f.frameAndSend(a,o,r,n,s,i),void t())})}),this.flush()},r.prototype.frameAndSend=function(e,i,r,f,h,c){var u=!1;if(i){t.isBuffer(i)||(u=!0,!i||"undefined"==typeof i.byteLength&&"undefined"==typeof i.buffer?("number"==typeof i&&(i=i.toString()),i=new t(i)):i=a(i));var d=i.length,p=f?6:2,b=d;d>=65536?(p+=8,b=127):d>125&&(p+=2,b=126);var m=d<32768||f&&!u,w=m?d+p:p,g=new t(w);switch(g[0]=r?128|e:e,h&&(g[0]|=64),b){case 126:n.call(g,d,2);break;case 127:s.call(g,0,2),s.call(g,d,6)}if(f){g[1]=128|b;var v=o();if(g[p-4]=v[0],g[p-3]=v[1],g[p-2]=v[2],g[p-1]=v[3],m){l.mask(i,v,g,p,d);try{this._socket.write(g,"binary",c)}catch(e){"function"==typeof c?c(e):this.emit("error",e)}}else{l.mask(i,v,i,0,d);try{this._socket.write(g,"binary"),this._socket.write(i,"binary",c)}catch(e){"function"==typeof c?c(e):this.emit("error",e)}}}else if(g[1]=b,m){i.copy(g,p);try{this._socket.write(g,"binary",c)}catch(e){"function"==typeof c?c(e):this.emit("error",e)}}else try{this._socket.write(g,"binary"),this._socket.write(i,"binary",c)}catch(e){"function"==typeof c?c(e):this.emit("error",e)}}else try{this._socket.write(new t([e|(r?128:0),0|(f?128:0)].concat(f?[0,0,0,0]:[])),"binary",c)}catch(e){"function"==typeof c?c(e):this.emit("error",e)}},r.prototype.flush=function(){if(!this.processing){var e=this.messageHandlers.shift();if(e){this.processing=!0;var t=this;e(function(){t.processing=!1,t.flush()})}}},r.prototype.applyExtensions=function(e,t,i,r){i&&e?((e.buffer||e)instanceof ArrayBuffer&&(e=a(e)),this.extensions[u.extensionName].compress(e,t,r)):r(null,e)},e.exports=r}).call(t,i(0).Buffer)},function(e,t,i){"use strict";(function(t,r){function n(e,t,i){return this instanceof n==!1?new n(e,t,i):(I.call(this),t&&!Array.isArray(t)&&"object"==typeof t&&(i=t,t=null),"string"==typeof t&&(t=[t]),Array.isArray(t)||(t=[]),this._socket=null,this._ultron=null,this._closeReceived=!1,this.bytesReceived=0,this.readyState=null,this.supports={},this.extensions={},this._binaryType="nodebuffer",void(Array.isArray(e)?h.apply(this,e.concat(i)):c.apply(this,[e,t,i])))}function s(e,t,i){this.type="message",this.data=e,this.target=i,this.binary=t}function a(e,t,i){this.type="close",this.wasClean="undefined"==typeof e||1e3===e,this.code=e,this.reason=t,this.target=i}function o(e){this.type="open",this.target=e}function f(e,t,i){var r=t;return t&&(e&&443!=i||!e&&80!=i)&&(r=r+":"+i),r}function h(e,t,i,r){r=new E({protocolVersion:C,protocol:null,extensions:{},maxPayload:0}).merge(r),this.protocol=r.value.protocol,this.protocolVersion=r.value.protocolVersion,this.extensions=r.value.extensions,this.supports.binary="hixie-76"!==this.protocolVersion,this.upgradeReq=e,this.readyState=n.CONNECTING,this._isServer=!0,this.maxPayload=r.value.maxPayload,"hixie-76"===r.value.protocolVersion?l.call(this,T,M,t,i):l.call(this,S,A,t,i)}function c(e,i,r){if(r=new E({origin:null,protocolVersion:C,host:null,headers:null,protocol:i.join(","),agent:null,pfx:null,key:null,passphrase:null,cert:null,ca:null,ciphers:null,rejectUnauthorized:null,perMessageDeflate:!0,localAddress:null}).merge(r),8!==r.value.protocolVersion&&13!==r.value.protocolVersion)throw new Error("unsupported protocol version");var s=m.parse(e),a="ws+unix:"===s.protocol;if(!s.host&&!a)throw new Error("invalid url");var o,h="wss:"===s.protocol||"https:"===s.protocol,c=h?v:g,u=s.port||(h?443:80),d=s.auth,p={};r.value.perMessageDeflate&&(o=new R(typeof r.value.perMessageDeflate!==!0?r.value.perMessageDeflate:{},!1),p[R.extensionName]=o.offer()),this._isServer=!1,this.url=e,this.protocolVersion=r.value.protocolVersion,this.supports.binary="hixie-76"!==this.protocolVersion;var w=new t(r.value.protocolVersion+"-"+Date.now()).toString("base64"),y=_.createHash("sha1");y.update(w+"258EAFA5-E914-47DA-95CA-C5AB0DC85B11");var k=y.digest("base64"),M=r.value.agent,T=f(h,s.hostname,u),I={port:u,host:s.hostname,headers:{Connection:"Upgrade",Upgrade:"websocket",Host:T,"Sec-WebSocket-Version":r.value.protocolVersion,"Sec-WebSocket-Key":w}};if(d&&(I.headers.Authorization="Basic "+new t(d).toString("base64")),r.value.protocol&&(I.headers["Sec-WebSocket-Protocol"]=r.value.protocol),r.value.host&&(I.headers.Host=r.value.host),r.value.headers)for(var P in r.value.headers)r.value.headers.hasOwnProperty(P)&&(I.headers[P]=r.value.headers[P]);Object.keys(p).length&&(I.headers["Sec-WebSocket-Extensions"]=x.format(p)),(r.isDefinedAndNonNull("pfx")||r.isDefinedAndNonNull("key")||r.isDefinedAndNonNull("passphrase")||r.isDefinedAndNonNull("cert")||r.isDefinedAndNonNull("ca")||r.isDefinedAndNonNull("ciphers")||r.isDefinedAndNonNull("rejectUnauthorized"))&&(r.isDefinedAndNonNull("pfx")&&(I.pfx=r.value.pfx),r.isDefinedAndNonNull("key")&&(I.key=r.value.key),r.isDefinedAndNonNull("passphrase")&&(I.passphrase=r.value.passphrase),r.isDefinedAndNonNull("cert")&&(I.cert=r.value.cert),r.isDefinedAndNonNull("ca")&&(I.ca=r.value.ca),r.isDefinedAndNonNull("ciphers")&&(I.ciphers=r.value.ciphers),r.isDefinedAndNonNull("rejectUnauthorized")&&(I.rejectUnauthorized=r.value.rejectUnauthorized),M||(M=new c.Agent(I))),I.path=s.path||"/",M&&(I.agent=M),a&&(I.socketPath=s.pathname),r.value.localAddress&&(I.localAddress=r.value.localAddress),r.value.origin&&(r.value.protocolVersion<13?I.headers["Sec-WebSocket-Origin"]=r.value.origin:I.headers.Origin=r.value.origin);var O=this,N=c.request(I);N.on("error",function(e){O.emit("error",e),b.call(O,e)}),N.once("response",function(e){var t;O.emit("unexpected-response",N,e)||(t=new Error("unexpected server response ("+e.statusCode+")"),N.abort(),O.emit("error",t)),b.call(O,t)}),N.once("upgrade",function(e,t,i){if(O.readyState===n.CLOSED)return O.emit("close"),O.removeAllListeners(),void t.end();var s=e.headers["sec-websocket-accept"];if("undefined"==typeof s||s!==k)return O.emit("error","invalid server key"),O.removeAllListeners(),void t.end();var a=e.headers["sec-websocket-protocol"],f=(r.value.protocol||"").split(/, */),h=null;if(!r.value.protocol&&a?h="server sent a subprotocol even though none requested":r.value.protocol&&!a?h="server sent no subprotocol even though requested":a&&f.indexOf(a)===-1&&(h="server responded with an invalid protocol"),h)return O.emit("error",h),O.removeAllListeners(),void t.end();a&&(O.protocol=a);var c=x.parse(e.headers["sec-websocket-extensions"]);if(o&&c[R.extensionName]){try{o.accept(c[R.extensionName])}catch(e){return O.emit("error","invalid extension parameter"),O.removeAllListeners(),void t.end()}O.extensions[R.extensionName]=o}l.call(O,S,A,t,i),N.removeAllListeners(),N=null,M=null}),N.end(),this.readyState=n.CONNECTING}function l(e,t,i,s){function a(e){h||c.readyState===n.CLOSED||(h=!0,i.removeListener("data",a),f.on("data",o),s&&s.length>0&&(o(s),s=null),e&&o(e))}function o(e){c.bytesReceived+=e.length,c._receiver.add(e)}var f=this._ultron=new k(i),h=!1,c=this;i.setTimeout(0),i.setNoDelay(!0),this._receiver=new e(this.extensions,this.maxPayload),this._socket=i,f.on("end",b.bind(this)),f.on("close",b.bind(this)),f.on("error",b.bind(this)),f.on("data",a),r.nextTick(a),c._receiver.ontext=function(e,t){t=t||{},c.emit("message",e,t)},c._receiver.onbinary=function(e,t){t=t||{},t.binary=!0,c.emit("message",e,t)},c._receiver.onping=function(e,t){t=t||{},c.pong(e,{mask:!c._isServer,binary:t.binary===!0},!0),c.emit("ping",e,t)},c._receiver.onpong=function(e,t){c.emit("pong",e,t||{})},c._receiver.onclose=function(e,t,i){i=i||{},c._closeReceived=!0,c.close(e,t)},c._receiver.onerror=function(e,t){c.close("undefined"!=typeof t?t:1002,""),c.emit("error",e instanceof Error?e:new Error(e))},this._sender=new t(i,this.extensions),this._sender.on("error",function(e){c.close(1002,""),c.emit("error",e)}),this.readyState=n.OPEN,this.emit("open")}function u(e){e._queue=e._queue||[]}function d(e){var t=e._queue;if("undefined"!=typeof t){delete e._queue;for(var i=0,r=t.length;i2&&o.write(n,2);var a=this;this.messageHandlers.push(function(e){a.frameAndSend(8,o,!0,i),e(),"function"==typeof s&&s()}),this.flush()},i.prototype.ping=function(e,t){var n=t&&t.mask,i=this;this.messageHandlers.push(function(t){i.frameAndSend(9,e||"",!0,n),t()}),this.flush()},i.prototype.pong=function(e,t){var n=t&&t.mask,i=this;this.messageHandlers.push(function(t){i.frameAndSend(10,e||"",!0,n),t()}),this.flush()},i.prototype.send=function(e,t,n){var i=!t||t.fin!==!1,r=t&&t.mask,s=t&&t.compress,o=t&&t.binary?2:1;this.firstFragment===!1?(o=0,s=!1):(this.firstFragment=!1,this.compress=s),i&&(this.firstFragment=!0);var a=this.compress,c=this;this.messageHandlers.push(function(t){c.applyExtensions(e,i,a,function(e,a){return e?void("function"==typeof n?n(e):c.emit("error",e)):(c.frameAndSend(o,a,i,r,s,n),void t())})}),this.flush()},i.prototype.frameAndSend=function(e,n,i,c,h,f){var d=!1;if(n){t.isBuffer(n)||(d=!0,!n||"undefined"==typeof n.byteLength&&"undefined"==typeof n.buffer?("number"==typeof n&&(n=n.toString()),n=new t(n)):n=o(n));var l=n.length,p=c?6:2,b=l;l>=65536?(p+=8,b=127):l>125&&(p+=2,b=126);var m=l<32768||c&&!d,g=m?l+p:p,v=new t(g);switch(v[0]=i?128|e:e,h&&(v[0]|=64),b){case 126:r.call(v,l,2);break;case 127:s.call(v,0,2),s.call(v,l,6)}if(c){v[1]=128|b;var y=a();if(v[p-4]=y[0],v[p-3]=y[1],v[p-2]=y[2],v[p-1]=y[3],m){u.mask(n,y,v,p,l);try{this._socket.write(v,"binary",f)}catch(e){"function"==typeof f?f(e):this.emit("error",e)}}else{u.mask(n,y,n,0,l);try{this._socket.write(v,"binary"),this._socket.write(n,"binary",f)}catch(e){"function"==typeof f?f(e):this.emit("error",e)}}}else if(v[1]=b,m){n.copy(v,p);try{this._socket.write(v,"binary",f)}catch(e){"function"==typeof f?f(e):this.emit("error",e)}}else try{this._socket.write(v,"binary"),this._socket.write(n,"binary",f)}catch(e){"function"==typeof f?f(e):this.emit("error",e)}}else try{this._socket.write(new t([e|(i?128:0),0|(c?128:0)].concat(c?[0,0,0,0]:[])),"binary",f)}catch(e){"function"==typeof f?f(e):this.emit("error",e)}},i.prototype.flush=function(){if(!this.processing){var e=this.messageHandlers.shift();if(e){this.processing=!0;var t=this;e(function(){t.processing=!1,t.flush()})}}},i.prototype.applyExtensions=function(e,t,n,i){n&&e?((e.buffer||e)instanceof ArrayBuffer&&(e=o(e)),this.extensions[d.extensionName].compress(e,t,i)):i(null,e)},e.exports=i}).call(t,n(0).Buffer)},function(e,t,n){"use strict";(function(t,i){function r(e,t,n){return this instanceof r==!1?new r(e,t,n):(T.call(this),t&&!Array.isArray(t)&&"object"==typeof t&&(n=t,t=null),"string"==typeof t&&(t=[t]),Array.isArray(t)||(t=[]),this._socket=null,this._ultron=null,this._closeReceived=!1,this.bytesReceived=0,this.readyState=null,this.supports={},this.extensions={},this._binaryType="nodebuffer",void(Array.isArray(e)?h.apply(this,e.concat(n)):f.apply(this,[e,t,n])))}function s(e,t,n){this.type="message",this.data=e,this.target=n,this.binary=t}function o(e,t,n){this.type="close",this.wasClean="undefined"==typeof e||1e3===e,this.code=e,this.reason=t,this.target=n}function a(e){this.type="open",this.target=e}function c(e,t,n){var i=t;return t&&(e&&443!=n||!e&&80!=n)&&(i=i+":"+n),i}function h(e,t,n,i){i=new S({protocolVersion:C,protocol:null,extensions:{},maxPayload:0}).merge(i),this.protocol=i.value.protocol,this.protocolVersion=i.value.protocolVersion,this.extensions=i.value.extensions,this.supports.binary="hixie-76"!==this.protocolVersion,this.upgradeReq=e,this.readyState=r.CONNECTING,this._isServer=!0,this.maxPayload=i.value.maxPayload,"hixie-76"===i.value.protocolVersion?u.call(this,x,M,t,n):u.call(this,A,k,t,n)}function f(e,n,i){if(i=new S({origin:null,protocolVersion:C,host:null,headers:null,protocol:n.join(","),agent:null,pfx:null,key:null,passphrase:null,cert:null,ca:null,ciphers:null,rejectUnauthorized:null,perMessageDeflate:!0,localAddress:null}).merge(i),8!==i.value.protocolVersion&&13!==i.value.protocolVersion)throw new Error("unsupported protocol version");var s=m.parse(e),o="ws+unix:"===s.protocol;if(!s.host&&!o)throw new Error("invalid url");var a,h="wss:"===s.protocol||"https:"===s.protocol,f=h?y:v,d=s.port||(h?443:80),l=s.auth,p={};i.value.perMessageDeflate&&(a=new I(typeof i.value.perMessageDeflate!==!0?i.value.perMessageDeflate:{},!1),p[I.extensionName]=a.offer()),this._isServer=!1,this.url=e,this.protocolVersion=i.value.protocolVersion,this.supports.binary="hixie-76"!==this.protocolVersion;var g=new t(i.value.protocolVersion+"-"+Date.now()).toString("base64"),w=_.createHash("sha1");w.update(g+"258EAFA5-E914-47DA-95CA-C5AB0DC85B11");var E=w.digest("base64"),M=i.value.agent,x=c(h,s.hostname,d),T={port:d,host:s.hostname,headers:{Connection:"Upgrade",Upgrade:"websocket",Host:x,"Sec-WebSocket-Version":i.value.protocolVersion,"Sec-WebSocket-Key":g}};if(l&&(T.headers.Authorization="Basic "+new t(l).toString("base64")),i.value.protocol&&(T.headers["Sec-WebSocket-Protocol"]=i.value.protocol),i.value.host&&(T.headers.Host=i.value.host),i.value.headers)for(var D in i.value.headers)i.value.headers.hasOwnProperty(D)&&(T.headers[D]=i.value.headers[D]);Object.keys(p).length&&(T.headers["Sec-WebSocket-Extensions"]=R.format(p)),(i.isDefinedAndNonNull("pfx")||i.isDefinedAndNonNull("key")||i.isDefinedAndNonNull("passphrase")||i.isDefinedAndNonNull("cert")||i.isDefinedAndNonNull("ca")||i.isDefinedAndNonNull("ciphers")||i.isDefinedAndNonNull("rejectUnauthorized"))&&(i.isDefinedAndNonNull("pfx")&&(T.pfx=i.value.pfx),i.isDefinedAndNonNull("key")&&(T.key=i.value.key),i.isDefinedAndNonNull("passphrase")&&(T.passphrase=i.value.passphrase),i.isDefinedAndNonNull("cert")&&(T.cert=i.value.cert),i.isDefinedAndNonNull("ca")&&(T.ca=i.value.ca),i.isDefinedAndNonNull("ciphers")&&(T.ciphers=i.value.ciphers),i.isDefinedAndNonNull("rejectUnauthorized")&&(T.rejectUnauthorized=i.value.rejectUnauthorized),M||(M=new f.Agent(T))),T.path=s.path||"/",M&&(T.agent=M),o&&(T.socketPath=s.pathname),i.value.localAddress&&(T.localAddress=i.value.localAddress),i.value.origin&&(i.value.protocolVersion<13?T.headers["Sec-WebSocket-Origin"]=i.value.origin:T.headers.Origin=i.value.origin);var P=this,B=f.request(T);B.on("error",function(e){P.emit("error",e),b.call(P,e)}),B.once("response",function(e){var t;P.emit("unexpected-response",B,e)||(t=new Error("unexpected server response ("+e.statusCode+")"),B.abort(),P.emit("error",t)),b.call(P,t)}),B.once("upgrade",function(e,t,n){if(P.readyState===r.CLOSED)return P.emit("close"),P.removeAllListeners(),void t.end();var s=e.headers["sec-websocket-accept"];if("undefined"==typeof s||s!==E)return P.emit("error","invalid server key"),P.removeAllListeners(),void t.end();var o=e.headers["sec-websocket-protocol"],c=(i.value.protocol||"").split(/, */),h=null;if(!i.value.protocol&&o?h="server sent a subprotocol even though none requested":i.value.protocol&&!o?h="server sent no subprotocol even though requested":o&&c.indexOf(o)===-1&&(h="server responded with an invalid protocol"),h)return P.emit("error",h),P.removeAllListeners(),void t.end();o&&(P.protocol=o);var f=R.parse(e.headers["sec-websocket-extensions"]);if(a&&f[I.extensionName]){try{a.accept(f[I.extensionName])}catch(e){return P.emit("error","invalid extension parameter"),P.removeAllListeners(),void t.end()}P.extensions[I.extensionName]=a}u.call(P,A,k,t,n),B.removeAllListeners(),B=null,M=null}),B.end(),this.readyState=r.CONNECTING}function u(e,t,n,s){function o(e){h||f.readyState===r.CLOSED||(h=!0,n.removeListener("data",o),c.on("data",a),s&&s.length>0&&(a(s),s=null),e&&a(e))}function a(e){f.bytesReceived+=e.length,f._receiver.add(e)}var c=this._ultron=new E(n),h=!1,f=this;n.setTimeout(0),n.setNoDelay(!0),this._receiver=new e(this.extensions,this.maxPayload),this._socket=n,c.on("end",b.bind(this)),c.on("close",b.bind(this)),c.on("error",b.bind(this)),c.on("data",o),i.nextTick(o),f._receiver.ontext=function(e,t){t=t||{},f.emit("message",e,t)},f._receiver.onbinary=function(e,t){t=t||{},t.binary=!0,f.emit("message",e,t)},f._receiver.onping=function(e,t){t=t||{},f.pong(e,{mask:!f._isServer,binary:t.binary===!0},!0),f.emit("ping",e,t)},f._receiver.onpong=function(e,t){f.emit("pong",e,t||{})},f._receiver.onclose=function(e,t,n){n=n||{},f._closeReceived=!0,f.close(e,t)},f._receiver.onerror=function(e,t){f.close("undefined"!=typeof t?t:1002,""),f.emit("error",e instanceof Error?e:new Error(e))},this._sender=new t(n,this.extensions),this._sender.on("error",function(e){f.close(1002,""),f.emit("error",e)}),this.readyState=r.OPEN,this.emit("open")}function d(e){e._queue=e._queue||[]}function l(e){var t=e._queue;if("undefined"!=typeof t){delete e._queue;for(var n=0,i=t.length;n * MIT Licensed */ -var m=i(62),w=i(10),g=i(55),v=i(238),_=i(122),y=i(11),k=i(231),E=i(108),A=i(128),S=i(127),M=i(245),T=i(244),x=i(126),R=i(44),I=i(5).EventEmitter,C=13,P=3e4;w.inherits(n,I),["CONNECTING","OPEN","CLOSING","CLOSED"].forEach(function(e,t){n.prototype[e]=n[e]=t}),n.prototype.close=function(e,t){if(this.readyState!==n.CLOSED){if(this.readyState===n.CONNECTING)return void(this.readyState=n.CLOSED);if(this.readyState===n.CLOSING)return void(this._closeReceived&&this._isServer&&this.terminate());var i=this;try{this.readyState=n.CLOSING,this._closeCode=e,this._closeMessage=t;var r=!this._isServer;this._sender.close(e,t,r,function(e){e&&i.emit("error",e),i._closeReceived&&i._isServer?i.terminate():(clearTimeout(i._closeTimer),i._closeTimer=setTimeout(b.bind(i,!0),P))})}catch(e){this.emit("error",e)}}},n.prototype.pause=function(){if(this.readyState!==n.OPEN)throw new Error("not opened");return this._socket.pause()},n.prototype.ping=function(e,t,i){if(this.readyState!==n.OPEN){if(i===!0)return;throw new Error("not opened")}t=t||{},"undefined"==typeof t.mask&&(t.mask=!this._isServer),this._sender.ping(e,t)},n.prototype.pong=function(e,t,i){if(this.readyState!==n.OPEN){if(i===!0)return;throw new Error("not opened")}t=t||{},"undefined"==typeof t.mask&&(t.mask=!this._isServer),this._sender.pong(e,t)},n.prototype.resume=function(){if(this.readyState!==n.OPEN)throw new Error("not opened");return this._socket.resume()},n.prototype.send=function(e,i,s){if("function"==typeof i&&(s=i,i={}),this.readyState!==n.OPEN){if("function"!=typeof s)throw new Error("not opened");return void s(new Error("not opened"))}if(e||(e=""),this._queue){var a=this;return void this._queue.push(function(){a.send(e,i,s)})}i=i||{},i.fin=!0,"undefined"==typeof i.binary&&(i.binary=e instanceof ArrayBuffer||e instanceof t||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array),"undefined"==typeof i.mask&&(i.mask=!this._isServer),"undefined"==typeof i.compress&&(i.compress=!0),this.extensions[R.extensionName]||(i.compress=!1);var o="function"==typeof y.Readable?y.Readable:y.Stream;if(e instanceof o){u(this);var a=this;p(this,e,i,function(e){r.nextTick(function(){d(a)}),"function"==typeof s&&s(e)})}else this._sender.send(e,i,s)},n.prototype.stream=function(e,t){function i(a,o){try{if(s.readyState!==n.OPEN)throw new Error("not opened");e.fin=o===!0,s._sender.send(a,e),o?d(s):r.nextTick(t.bind(null,null,i))}catch(e){"function"==typeof t?t(e):(delete s._queue,s.emit("error",e))}}"function"==typeof e&&(t=e,e={});var s=this;if("function"!=typeof t)throw new Error("callback must be provided");if(this.readyState!==n.OPEN){if("function"!=typeof t)throw new Error("not opened");return void t(new Error("not opened"))}return this._queue?void this._queue.push(function(){s.stream(e,t)}):(e=e||{},"undefined"==typeof e.mask&&(e.mask=!this._isServer),"undefined"==typeof e.compress&&(e.compress=!0),this.extensions[R.extensionName]||(e.compress=!1),u(this),void r.nextTick(t.bind(null,null,i)))},n.prototype.terminate=function(){if(this.readyState!==n.CLOSED)if(this._socket){this.readyState=n.CLOSING;try{this._socket.end()}catch(e){return void b.call(this,!0)}this._closeTimer&&clearTimeout(this._closeTimer),this._closeTimer=setTimeout(b.bind(this,!0),P)}else this.readyState===n.CONNECTING&&b.call(this,!0)},Object.defineProperty(n.prototype,"bufferedAmount",{get:function(){var e=0;return this._socket&&(e=this._socket.bufferSize||0),e}}),Object.defineProperty(n.prototype,"binaryType",{get:function(){return this._binaryType},set:function(e){if("arraybuffer"!==e&&"nodebuffer"!==e)throw new SyntaxError('unsupported binaryType: must be either "nodebuffer" or "arraybuffer"');this._binaryType=e}}),["open","error","close","message"].forEach(function(e){Object.defineProperty(n.prototype,"on"+e,{get:function(){var t=this.listeners(e)[0];return t?t._listener?t._listener:t:void 0},set:function(t){this.removeAllListeners(e),this.addEventListener(e,t)}})}),n.prototype.addEventListener=function(e,t){function i(e,i){i.binary&&"arraybuffer"===this.binaryType&&(e=new Uint8Array(e).buffer),t.call(h,new s(e,!!i.binary,h))}function r(e,i){t.call(h,new a(e,i,h))}function n(e){e.type="error",e.target=h,t.call(h,e)}function f(){t.call(h,new o(h))}var h=this;"function"==typeof t&&("message"===e?(i._listener=t,this.on(e,i)):"close"===e?(r._listener=t,this.on(e,r)):"error"===e?(n._listener=t,this.on(e,n)):"open"===e?(f._listener=t,this.on(e,f)):this.on(e,t))},e.exports=n,e.exports.buildHostHeader=f}).call(t,i(0).Buffer,i(8))},function(e,t,i){(function(t){const r=i(17),n=i(12),s=i(60),a=i(1),o=i(134),f=i(14),h=i(34),c=i(47),l=i(24),u=i(33),d=i(25),p=i(48);class b{constructor(e){this.client=e}resolveUser(e){return e instanceof f?e:"string"==typeof e?this.client.users.get(e)||null:e instanceof u?e.user:e instanceof h?e.author:e instanceof c?e.owner:null}resolveUserID(e){return e instanceof f||e instanceof u?e.id:"string"==typeof e?e||null:e instanceof h?e.author.id:e instanceof c?e.ownerID:null}resolveGuild(e){return e instanceof c?e:"string"==typeof e?this.client.guilds.get(e)||null:null}resolveGuildMember(e,t){return t instanceof u?t:(e=this.resolveGuild(e),t=this.resolveUser(t),e&&t?e.members.get(t.id)||null:null)}resolveChannel(e){return e instanceof l?e:e instanceof h?e.channel:e instanceof c?e.channels.get(e.id)||null:"string"==typeof e?this.client.channels.get(e)||null:null}resolveInviteCode(e){const t=/discord(?:app)?\.(?:gg|com\/invite)\/([a-z0-9]{5})/i,i=t.exec(e);return i&&i[1]?i[1]:e}resolvePermission(e){if("string"==typeof e&&(e=a.PermissionFlags[e]),"number"!=typeof e||e<1)throw new Error(a.Errors.NOT_A_PERMISSION);return e}resolveString(e){return"string"==typeof e?e:e instanceof Array?e.join("\n"):String(e)}resolveBase64(e){return e instanceof t?`data:image/jpg;base64,${e.toString("base64")}`:e}resolveBuffer(e){return e instanceof t?Promise.resolve(e):this.client.browser&&e instanceof ArrayBuffer?Promise.resolve(o(e)):"string"==typeof e?new Promise((i,a)=>{if(/^https?:\/\//.test(e)){const r=s.get(e).set("Content-Type","blob");this.client.browser&&r.responseType("arraybuffer"),r.end((e,r)=>{return e?a(e):this.client.browser?i(o(r.xhr.response)):r.body instanceof t?i(r.body):a(new TypeError("Body is not a Buffer"))})}else{const t=r.resolve(e);n.stat(t,(e,r)=>{if(e&&a(e),!r||!r.isFile())throw new Error(`The file could not be found: ${t}`);n.readFile(t,(e,t)=>{e?a(e):i(t)})})}}):Promise.reject(new TypeError("The resource must be a string or Buffer."))}resolveEmojiIdentifier(e){return e instanceof d||e instanceof p?e.identifier:"string"!=typeof e||e.includes("%")?null:encodeURIComponent(e)}}e.exports=b}).call(t,i(0).Buffer)},function(e,t,i){const r=i(283),n=i(280),s=i(282),a=i(281),o=i(279),f=i(1);class h{constructor(e){this.client=e,this.handlers={},this.userAgentManager=new r(this),this.methods=new n(this),this.rateLimitedEndpoints={},this.globallyRateLimited=!1}push(e,t){return new Promise((i,r)=>{e.push({request:t,resolve:i,reject:r})})}getRequestHandler(){switch(this.client.options.apiRequestMethod){case"sequential":return s;case"burst":return a;default:throw new Error(f.Errors.INVALID_RATE_LIMIT_METHOD)}}makeRequest(e,t,i,r,n){const s=new o(this,e,t,i,r,n);if(!this.handlers[s.route]){const e=this.getRequestHandler();this.handlers[s.route]=new e(this,s.route)}return this.push(this.handlers[s.route],s)}}e.exports=h},function(e,t){class i{constructor(e){this.restManager=e,this.queue=[]}get globalLimit(){return this.restManager.globallyRateLimited}set globalLimit(e){this.restManager.globallyRateLimited=e}push(e){this.queue.push(e)}handle(){}}e.exports=i},function(e,t){class i{constructor(e){this.player=e}encode(e){return e}decode(e){return e}}e.exports=i},function(e,t,i){(function(t){function i(e){const i=new t(e.byteLength),r=new Uint8Array(e);for(var n=0;n0&&this.setInterval(this.sweepMessages.bind(this),1e3*this.options.messageSweepInterval)}get status(){return this.ws.status}get uptime(){return this.readyAt?Date.now()-this.readyAt:null}get voiceConnections(){return this.voice.connections}get emojis(){const e=new Collection;for(const t of this.guilds.values())for(const i of t.emojis.values())e.set(i.id,i);return e}get readyTimestamp(){return this.readyAt?this.readyAt.getTime():null}login(e,t=null){return t?this.rest.methods.loginEmailPassword(e,t):this.rest.methods.loginToken(e)}destroy(){for(const e of this._timeouts)clearTimeout(e);for(const t of this._intervals)clearInterval(t);return this._timeouts.clear(),this._intervals.clear(),this.token=null,this.email=null,this.password=null,this.manager.destroy()}syncGuilds(e=this.guilds){this.user.bot||this.ws.send({op:12,d:e instanceof Collection?e.keyArray():e.map(e=>e.id)})}fetchUser(e){return this.users.has(e)?Promise.resolve(this.users.get(e)):this.rest.methods.getUser(e)}fetchInvite(e){const t=this.resolver.resolveInviteCode(e);return this.rest.methods.getInvite(t)}fetchWebhook(e,t){return this.rest.methods.getWebhook(e,t)}sweepMessages(e=this.options.messageCacheLifetime){if("number"!=typeof e||isNaN(e))throw new TypeError("The lifetime must be a number.");if(e<=0)return this.emit("debug","Didn't sweep messages - lifetime is unlimited"),-1;const t=1e3*e,i=Date.now();let r=0,n=0;for(const s of this.channels.values())if(s.messages){r++;for(const e of s.messages.values())i-(e.editedTimestamp||e.createdTimestamp)>t&&(s.messages.delete(e.id),n++)}return this.emit("debug",`Swept ${n} messages older than ${e} seconds in ${r} text-based channels`),n}fetchApplication(){if(!this.user.bot)throw new Error(Constants.Errors.NO_BOT_ACCOUNT);return this.rest.methods.getMyApplication()}setTimeout(e,t,...i){const r=setTimeout(()=>{e(),this._timeouts.delete(r)},t,...i);return this._timeouts.add(r),r}clearTimeout(e){clearTimeout(e),this._timeouts.delete(e)}setInterval(e,t,...i){const r=setInterval(e,t,...i);return this._intervals.add(r),r}clearInterval(e){clearInterval(e),this._intervals.delete(e)}_setPresence(e,t){return this.presences.get(e)?void this.presences.get(e).update(t):void this.presences.set(e,new Presence(t))}_eval(script){return eval(script)}_validateOptions(e=this.options){if("number"!=typeof e.shardCount||isNaN(e.shardCount))throw new TypeError("The shardCount option must be a number.");if("number"!=typeof e.shardId||isNaN(e.shardId))throw new TypeError("The shardId option must be a number.");if(e.shardCount<0)throw new RangeError("The shardCount option must be at least 0.");if(e.shardId<0)throw new RangeError("The shardId option must be at least 0.");if(0!==e.shardId&&e.shardId>=e.shardCount)throw new RangeError("The shardId option must be less than shardCount.");if("number"!=typeof e.messageCacheMaxSize||isNaN(e.messageCacheMaxSize))throw new TypeError("The messageCacheMaxSize option must be a number.");if("number"!=typeof e.messageCacheLifetime||isNaN(e.messageCacheLifetime))throw new TypeError("The messageCacheLifetime option must be a number.");if("number"!=typeof e.messageSweepInterval||isNaN(e.messageSweepInterval))throw new TypeError("The messageSweepInterval option must be a number.");if("boolean"!=typeof e.fetchAllMembers)throw new TypeError("The fetchAllMembers option must be a boolean.");if("boolean"!=typeof e.disableEveryone)throw new TypeError("The disableEveryone option must be a boolean.");if("number"!=typeof e.restWsBridgeTimeout||isNaN(e.restWsBridgeTimeout))throw new TypeError("The restWsBridgeTimeout option must be a number.");if(!(e.disabledEvents instanceof Array))throw new TypeError("The disabledEvents option must be an Array.")}}module.exports=Client}).call(exports,__webpack_require__(8))},function(e,t,i){const r=i(49),n=i(131),s=i(130),a=i(45),o=i(1);class f extends r{constructor(e,t,i){super(null,e,t),this.options=a(o.DefaultOptions,i),this.rest=new n(this),this.resolver=new s(this)}}e.exports=f},function(e,t,i){(function(t){const r=i(17),n=i(12),s=i(5).EventEmitter,a=i(45),o=i(65),f=i(6),h=i(82);class c extends s{constructor(e,i={}){if(super(),i=a({totalShards:"auto",respawn:!0,shardArgs:[],token:null},i),this.file=e,!e)throw new Error("File must be specified.");r.isAbsolute(e)||(this.file=r.resolve(t.cwd(),e));const s=n.statSync(this.file);if(!s.isFile())throw new Error("File path does not point to a file.");if(this.totalShards=i.totalShards,"auto"!==this.totalShards){if("number"!=typeof this.totalShards||isNaN(this.totalShards))throw new TypeError("Amount of shards must be a number.");if(this.totalShards<1)throw new RangeError("Amount of shards must be at least 1.");if(this.totalShards!==Math.floor(this.totalShards))throw new RangeError("Amount of shards must be an integer.")}this.respawn=i.respawn,this.shardArgs=i.shardArgs,this.token=i.token?i.token.replace(/^Bot\s*/i,""):null,this.shards=new f}createShard(e=this.shards.size){const t=new o(this,e,this.shardArgs);return this.shards.set(e,t),this.emit("launch",t),Promise.resolve(t)}spawn(e=this.totalShards,t=5500){if("auto"===e)return h(this.token).then(e=>{return this.totalShards=e,this._spawn(e,t)});if("number"!=typeof e||isNaN(e))throw new TypeError("Amount of shards must be a number.");if(e<1)throw new RangeError("Amount of shards must be at least 1.");if(e!==Math.floor(e))throw new TypeError("Amount of shards must be an integer.");return this._spawn(e,t)}_spawn(e,t){return new Promise(i=>{if(this.shards.size>=e)throw new Error(`Already spawned ${this.shards.size} shards.`);if(this.totalShards=e,this.createShard(),this.shards.size>=this.totalShards)return void i(this.shards);if(t<=0){for(;this.shards.size{this.createShard(),this.shards.size>=this.totalShards&&(clearInterval(e),i(this.shards))},t)}})}broadcast(e){const t=[];for(const i of this.shards.values())t.push(i.send(e));return Promise.all(t)}broadcastEval(e){const t=[];for(const i of this.shards.values())t.push(i.eval(e));return Promise.all(t)}fetchClientValues(e){if(0===this.shards.size)return Promise.reject(new Error("No shards have been spawned."));if(this.shards.size!==this.totalShards)return Promise.reject(new Error("Still spawning shards."));const t=[];for(const i of this.shards.values())t.push(i.fetchClientValue(e));return Promise.all(t)}}e.exports=c}).call(t,i(8))},function(e,t,i){!function(){function e(e){this.message=e}var i=t,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.prototype=new Error,e.prototype.name="InvalidCharacterError",i.btoa||(i.btoa=function(t){for(var i,n,s=0,a=r,o="";t.charAt(0|s)||(a="=",s%1);o+=a.charAt(63&i>>8-s%1*8)){if(n=t.charCodeAt(s+=.75),n>255)throw new e("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");i=i<<8|n}return o}),i.atob||(i.atob=function(t){if(t=t.replace(/=+$/,""),t.length%4==1)throw new e("'atob' failed: The string to be decoded is not correctly encoded.");for(var i,n,s=0,a=0,o="";n=t.charAt(a++);~n&&(i=s%4?64*i+n:n,s++%4)?o+=String.fromCharCode(255&i>>(-2*s&6)):0)n=r.indexOf(n);return o})}()},function(e,t,i){function r(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}var n=i(36),s=i(2),a=t;a.define=function(e,t){return new r(e,t)},r.prototype._createNamed=function(e){var t;try{t=i(237).runInThisContext("(function "+this.name+"(entity) {\n this._initNamed(entity);\n})")}catch(e){t=function(e){this._initNamed(e)}}return s(t,e),t.prototype._initNamed=function(t){e.call(this,t)},new t(this)},r.prototype._getDecoder=function(e){return e=e||"der",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(n.decoders[e])),this.decoders[e]},r.prototype.decode=function(e,t,i){return this._getDecoder(t).decode(e,i)},r.prototype._getEncoder=function(e){return e=e||"der",this.encoders.hasOwnProperty(e)||(this.encoders[e]=this._createNamed(n.encoders[e])),this.encoders[e]},r.prototype.encode=function(e,t,i){return this._getEncoder(t).encode(e,i)}},function(e,t,i){function r(e,t){var i={};this._baseState=i,i.enc=e,i.parent=t||null,i.children=null,i.tag=null,i.args=null,i.reverseArgs=null,i.choice=null,i.optional=!1,i.any=!1,i.obj=!1,i.use=null,i.useDecoder=null,i.key=null,i.default=null,i.explicit=null,i.implicit=null,i.contains=null,i.parent||(i.children=[],this._wrap())}var n=i(26).Reporter,s=i(26).EncoderBuffer,a=i(26).DecoderBuffer,o=i(29),f=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],h=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(f),c=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];e.exports=r;var l=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];r.prototype.clone=function(){var e=this._baseState,t={};l.forEach(function(i){t[i]=e[i]});var i=new this.constructor(t.parent);return i._baseState=t,i},r.prototype._wrap=function(){var e=this._baseState;h.forEach(function(t){this[t]=function(){var i=new this.constructor(this);return e.children.push(i),i[t].apply(i,arguments)}},this)},r.prototype._init=function(e){var t=this._baseState;o(null===t.parent),e.call(this),t.children=t.children.filter(function(e){return e._baseState.parent===this},this),o.equal(t.children.length,1,"Root node can have only one child")},r.prototype._useArgs=function(e){var t=this._baseState,i=e.filter(function(e){return e instanceof this.constructor},this);e=e.filter(function(e){return!(e instanceof this.constructor)},this),0!==i.length&&(o(null===t.children),t.children=i,i.forEach(function(e){e._baseState.parent=this},this)),0!==e.length&&(o(null===t.args),t.args=e,t.reverseArgs=e.map(function(e){if("object"!=typeof e||e.constructor!==Object)return e;var t={};return Object.keys(e).forEach(function(i){i==(0|i)&&(i|=0);var r=e[i];t[r]=i}),t}))},c.forEach(function(e){r.prototype[e]=function(){var t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}}),f.forEach(function(e){r.prototype[e]=function(){var t=this._baseState,i=Array.prototype.slice.call(arguments);return o(null===t.tag),t.tag=e,this._useArgs(i),this}}),r.prototype.use=function(e){o(e);var t=this._baseState;return o(null===t.use),t.use=e,this},r.prototype.optional=function(){var e=this._baseState;return e.optional=!0,this},r.prototype.def=function(e){var t=this._baseState;return o(null===t.default),t.default=e,t.optional=!0,this},r.prototype.explicit=function(e){var t=this._baseState;return o(null===t.explicit&&null===t.implicit),t.explicit=e,this},r.prototype.implicit=function(e){var t=this._baseState;return o(null===t.explicit&&null===t.implicit),t.implicit=e,this},r.prototype.obj=function(){var e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},r.prototype.key=function(e){var t=this._baseState;return o(null===t.key),t.key=e,this},r.prototype.any=function(){var e=this._baseState;return e.any=!0,this},r.prototype.choice=function(e){var t=this._baseState;return o(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map(function(t){return e[t]})),this},r.prototype.contains=function(e){var t=this._baseState;return o(null===t.use),t.contains=e,this},r.prototype._decode=function(e,t){var i=this._baseState;if(null===i.parent)return e.wrapResult(i.children[0]._decode(e,t));var r=i.default,n=!0,s=null;if(null!==i.key&&(s=e.enterKey(i.key)),i.optional){var o=null;if(null!==i.explicit?o=i.explicit:null!==i.implicit?o=i.implicit:null!==i.tag&&(o=i.tag),null!==o||i.any){if(n=this._peekTag(e,o,i.any),e.isError(n))return n}else{var f=e.save();try{null===i.choice?this._decodeGeneric(i.tag,e,t):this._decodeChoice(e,t),n=!0}catch(e){n=!1}e.restore(f)}}var h;if(i.obj&&n&&(h=e.enterObject()),n){if(null!==i.explicit){var c=this._decodeTag(e,i.explicit);if(e.isError(c))return c;e=c}var l=e.offset;if(null===i.use&&null===i.choice){if(i.any)var f=e.save();var u=this._decodeTag(e,null!==i.implicit?i.implicit:i.tag,i.any);if(e.isError(u))return u;i.any?r=e.raw(f):e=u}if(t&&t.track&&null!==i.tag&&t.track(e.path(),l,e.length,"tagged"),t&&t.track&&null!==i.tag&&t.track(e.path(),e.offset,e.length,"content"),r=i.any?r:null===i.choice?this._decodeGeneric(i.tag,e,t):this._decodeChoice(e,t),e.isError(r))return r;if(i.any||null!==i.choice||null===i.children||i.children.forEach(function(i){i._decode(e,t)}),i.contains&&("octstr"===i.tag||"bitstr"===i.tag)){var d=new a(r);r=this._getUse(i.contains,e._reporterState.obj)._decode(d,t)}}return i.obj&&n&&(r=e.leaveObject(h)),null===i.key||null===r&&n!==!0?null!==s&&e.exitKey(s):e.leaveKey(s,i.key,r),r},r.prototype._decodeGeneric=function(e,t,i){var r=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,r.args[0],i):/str$/.test(e)?this._decodeStr(t,e,i):"objid"===e&&r.args?this._decodeObjid(t,r.args[0],r.args[1],i):"objid"===e?this._decodeObjid(t,null,null,i):"gentime"===e||"utctime"===e?this._decodeTime(t,e,i):"null_"===e?this._decodeNull(t,i):"bool"===e?this._decodeBool(t,i):"objDesc"===e?this._decodeStr(t,e,i):"int"===e||"enum"===e?this._decodeInt(t,r.args&&r.args[0],i):null!==r.use?this._getUse(r.use,t._reporterState.obj)._decode(t,i):t.error("unknown tag: "+e)},r.prototype._getUse=function(e,t){var i=this._baseState;return i.useDecoder=this._use(e,t),o(null===i.useDecoder._baseState.parent),i.useDecoder=i.useDecoder._baseState.children[0],i.implicit!==i.useDecoder._baseState.implicit&&(i.useDecoder=i.useDecoder.clone(),i.useDecoder._baseState.implicit=i.implicit),i.useDecoder},r.prototype._decodeChoice=function(e,t){var i=this._baseState,r=null,n=!1;return Object.keys(i.choice).some(function(s){var a=e.save(),o=i.choice[s];try{var f=o._decode(e,t);if(e.isError(f))return!1;r={type:s,value:f},n=!0}catch(t){return e.restore(a),!1}return!0},this),n?r:e.error("Choice not matched")},r.prototype._createEncoderBuffer=function(e){return new s(e,this.reporter)},r.prototype._encode=function(e,t,i){var r=this._baseState;if(null===r.default||r.default!==e){var n=this._encodeValue(e,t,i);if(void 0!==n&&!this._skipDefault(n,t,i))return n}},r.prototype._encodeValue=function(e,t,i){var r=this._baseState;if(null===r.parent)return r.children[0]._encode(e,t||new n);var s=null;if(this.reporter=t,r.optional&&void 0===e){if(null===r.default)return;e=r.default}var a=null,o=!1;if(r.any)s=this._createEncoderBuffer(e);else if(r.choice)s=this._encodeChoice(e,t);else if(r.contains)a=this._getUse(r.contains,i)._encode(e,t),o=!0;else if(r.children)a=r.children.map(function(i){if("null_"===i._baseState.tag)return i._encode(null,t,e);if(null===i._baseState.key)return t.error("Child should have a key");var r=t.enterKey(i._baseState.key);if("object"!=typeof e)return t.error("Child expected, but input is not object");var n=i._encode(e[i._baseState.key],t,e);return t.leaveKey(r),n},this).filter(function(e){return e}),a=this._createEncoderBuffer(a);else if("seqof"===r.tag||"setof"===r.tag){if(!r.args||1!==r.args.length)return t.error("Too many args for : "+r.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");var f=this.clone();f._baseState.implicit=null,a=this._createEncoderBuffer(e.map(function(i){var r=this._baseState;return this._getUse(r.args[0],e)._encode(i,t)},f))}else null!==r.use?s=this._getUse(r.use,i)._encode(e,t):(a=this._encodePrimitive(r.tag,e),o=!0);var s;if(!r.any&&null===r.choice){var h=null!==r.implicit?r.implicit:r.tag,c=null===r.implicit?"universal":"context";null===h?null===r.use&&t.error("Tag could be ommited only for .use()"):null===r.use&&(s=this._encodeComposite(h,o,c,a))}return null!==r.explicit&&(s=this._encodeComposite(r.explicit,!1,"context",s)),s},r.prototype._encodeChoice=function(e,t){var i=this._baseState,r=i.choice[e.type];return r||o(!1,e.type+" not found in "+JSON.stringify(Object.keys(i.choice))),r._encode(e.value,t)},r.prototype._encodePrimitive=function(e,t){var i=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&i.args)return this._encodeObjid(t,i.reverseArgs[0],i.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,i.args&&i.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},r.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},r.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(e)}},function(e,t,i){function r(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function n(e,t){this.path=e,this.rethrow(t)}var s=i(2);t.Reporter=r,r.prototype.isError=function(e){return e instanceof n},r.prototype.save=function(){var e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},r.prototype.restore=function(e){var t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},r.prototype.enterKey=function(e){return this._reporterState.path.push(e)},r.prototype.exitKey=function(e){var t=this._reporterState;t.path=t.path.slice(0,e-1)},r.prototype.leaveKey=function(e,t,i){var r=this._reporterState;this.exitKey(e),null!==r.obj&&(r.obj[t]=i)},r.prototype.path=function(){return this._reporterState.path.join("/")},r.prototype.enterObject=function(){var e=this._reporterState,t=e.obj;return e.obj={},t},r.prototype.leaveObject=function(e){var t=this._reporterState,i=t.obj;return t.obj=e,i},r.prototype.error=function(e){var t,i=this._reporterState,r=e instanceof n;if(t=r?e:new n(i.path.map(function(e){return"["+JSON.stringify(e)+"]"}).join(""),e.message||e,e.stack),!i.options.partial)throw t;return r||i.errors.push(t),t},r.prototype.wrapResult=function(e){var t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},s(n,Error),n.prototype.rethrow=function(e){if(this.message=e+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,n),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},function(e,t,i){var r=i(85);t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=r._reverse(t.tagClass),t.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},t.tagByName=r._reverse(t.tag)},function(e,t,i){var r=t;r.der=i(86),r.pem=i(146)},function(e,t,i){function r(e){a.call(this,e),this.enc="pem"}var n=i(2),s=i(0).Buffer,a=i(86);n(r,a),e.exports=r,r.prototype.decode=function(e,t){for(var i=e.toString().split(/[\r\n]+/g),r=t.label.toUpperCase(),n=/^-----(BEGIN|END) ([^-]+)-----$/,o=-1,f=-1,h=0;h{if(/^https?:\/\//.test(e)){const i=s.get(e).set("Content-Type","blob");this.client.browser&&i.responseType("arraybuffer"),i.end((e,i)=>{return e?o(e):this.client.browser?n(a(i.xhr.response)):i.body instanceof t?n(i.body):o(new TypeError("Body is not a Buffer"))})}else{const t=i.resolve(e);r.stat(t,(e,i)=>{if(e&&o(e),!i||!i.isFile())throw new Error(`The file could not be found: ${t}`);r.readFile(t,(e,t)=>{e?o(e):n(t)})})}}):Promise.reject(new TypeError("The resource must be a string or Buffer."))}resolveEmojiIdentifier(e){return e instanceof l||e instanceof p?e.identifier:"string"!=typeof e||e.includes("%")?null:encodeURIComponent(e)}}e.exports=b}).call(t,n(0).Buffer)},function(e,t,n){const i=n(281),r=n(278),s=n(280),o=n(279),a=n(277),c=n(1);class h{constructor(e){this.client=e,this.handlers={},this.userAgentManager=new i(this),this.methods=new r(this),this.rateLimitedEndpoints={},this.globallyRateLimited=!1}push(e,t){return new Promise((n,i)=>{e.push({request:t,resolve:n,reject:i})})}getRequestHandler(){switch(this.client.options.apiRequestMethod){case"sequential":return s;case"burst":return o;default:throw new Error(c.Errors.INVALID_RATE_LIMIT_METHOD)}}makeRequest(e,t,n,i,r){const s=new a(this,e,t,n,i,r);if(!this.handlers[s.route]){const e=this.getRequestHandler();this.handlers[s.route]=new e(this,s.route)}return this.push(this.handlers[s.route],s)}}e.exports=h},function(e,t){class n{constructor(e){this.restManager=e,this.queue=[]}get globalLimit(){return this.restManager.globallyRateLimited}set globalLimit(e){this.restManager.globallyRateLimited=e}push(e){this.queue.push(e)}handle(){}}e.exports=n},function(e,t){class n{constructor(e){this.player=e}encode(e){return e}decode(e){return e}}e.exports=n},function(e,t,n){(function(t){function n(e){const n=new t(e.byteLength),i=new Uint8Array(e);for(var r=0;r0&&this.setInterval(this.sweepMessages.bind(this),1e3*this.options.messageSweepInterval)}get status(){return this.ws.status}get uptime(){return this.readyAt?Date.now()-this.readyAt:null}get voiceConnections(){return this.voice.connections}get emojis(){const e=new Collection;for(const t of this.guilds.values())for(const n of t.emojis.values())e.set(n.id,n);return e}get readyTimestamp(){return this.readyAt?this.readyAt.getTime():null}login(e,t=null){return t?this.rest.methods.loginEmailPassword(e,t):this.rest.methods.loginToken(e)}destroy(){for(const e of this._timeouts)clearTimeout(e);for(const t of this._intervals)clearInterval(t);return this._timeouts.clear(),this._intervals.clear(),this.token=null,this.email=null,this.password=null,this.manager.destroy()}syncGuilds(e=this.guilds){this.user.bot||this.ws.send({op:12,d:e instanceof Collection?e.keyArray():e.map(e=>e.id)})}fetchUser(e){return this.users.has(e)?Promise.resolve(this.users.get(e)):this.rest.methods.getUser(e)}fetchInvite(e){const t=this.resolver.resolveInviteCode(e);return this.rest.methods.getInvite(t)}fetchWebhook(e,t){return this.rest.methods.getWebhook(e,t)}sweepMessages(e=this.options.messageCacheLifetime){if("number"!=typeof e||isNaN(e))throw new TypeError("The lifetime must be a number.");if(e<=0)return this.emit("debug","Didn't sweep messages - lifetime is unlimited"),-1;const t=1e3*e,n=Date.now();let i=0,r=0;for(const s of this.channels.values())if(s.messages){i++;for(const e of s.messages.values())n-(e.editedTimestamp||e.createdTimestamp)>t&&(s.messages.delete(e.id),r++)}return this.emit("debug",`Swept ${r} messages older than ${e} seconds in ${i} text-based channels`),r}fetchApplication(){if(!this.user.bot)throw new Error(Constants.Errors.NO_BOT_ACCOUNT);return this.rest.methods.getMyApplication()}setTimeout(e,t,...n){const i=setTimeout(()=>{e(),this._timeouts.delete(i)},t,...n);return this._timeouts.add(i),i}clearTimeout(e){clearTimeout(e),this._timeouts.delete(e)}setInterval(e,t,...n){const i=setInterval(e,t,...n);return this._intervals.add(i),i}clearInterval(e){clearInterval(e),this._intervals.delete(e)}_setPresence(e,t){return this.presences.get(e)?void this.presences.get(e).update(t):void this.presences.set(e,new Presence(t))}_eval(script){return eval(script)}_validateOptions(e=this.options){if("number"!=typeof e.shardCount||isNaN(e.shardCount))throw new TypeError("The shardCount option must be a number.");if("number"!=typeof e.shardId||isNaN(e.shardId))throw new TypeError("The shardId option must be a number.");if(e.shardCount<0)throw new RangeError("The shardCount option must be at least 0.");if(e.shardId<0)throw new RangeError("The shardId option must be at least 0.");if(0!==e.shardId&&e.shardId>=e.shardCount)throw new RangeError("The shardId option must be less than shardCount.");if("number"!=typeof e.messageCacheMaxSize||isNaN(e.messageCacheMaxSize))throw new TypeError("The messageCacheMaxSize option must be a number.");if("number"!=typeof e.messageCacheLifetime||isNaN(e.messageCacheLifetime))throw new TypeError("The messageCacheLifetime option must be a number.");if("number"!=typeof e.messageSweepInterval||isNaN(e.messageSweepInterval))throw new TypeError("The messageSweepInterval option must be a number.");if("boolean"!=typeof e.fetchAllMembers)throw new TypeError("The fetchAllMembers option must be a boolean.");if("boolean"!=typeof e.disableEveryone)throw new TypeError("The disableEveryone option must be a boolean.");if("number"!=typeof e.restWsBridgeTimeout||isNaN(e.restWsBridgeTimeout))throw new TypeError("The restWsBridgeTimeout option must be a number.");if(!(e.disabledEvents instanceof Array))throw new TypeError("The disabledEvents option must be an Array.")}}module.exports=Client}).call(exports,__webpack_require__(8))},function(e,t,n){const i=n(49),r=n(131),s=n(130),o=n(45),a=n(1);class c extends i{constructor(e,t,n){super(null,e,t),this.options=o(a.DefaultOptions,n),this.rest=new r(this),this.resolver=new s(this)}}e.exports=c},function(e,t,n){(function(t){const i=n(23),r=n(13),s=n(5).EventEmitter,o=n(45),a=n(65),c=n(6),h=n(82);class f extends s{constructor(e,n={}){if(super(),n=o({totalShards:"auto",respawn:!0,shardArgs:[],token:null},n),this.file=e,!e)throw new Error("File must be specified.");i.isAbsolute(e)||(this.file=i.resolve(t.cwd(),e));const s=r.statSync(this.file);if(!s.isFile())throw new Error("File path does not point to a file.");if(this.totalShards=n.totalShards,"auto"!==this.totalShards){if("number"!=typeof this.totalShards||isNaN(this.totalShards))throw new TypeError("Amount of shards must be a number.");if(this.totalShards<1)throw new RangeError("Amount of shards must be at least 1.");if(this.totalShards!==Math.floor(this.totalShards))throw new RangeError("Amount of shards must be an integer.")}this.respawn=n.respawn,this.shardArgs=n.shardArgs,this.token=n.token?n.token.replace(/^Bot\s*/i,""):null,this.shards=new c}createShard(e=this.shards.size){const t=new a(this,e,this.shardArgs);return this.shards.set(e,t),this.emit("launch",t),Promise.resolve(t)}spawn(e=this.totalShards,t=5500){if("auto"===e)return h(this.token).then(e=>{return this.totalShards=e,this._spawn(e,t)});if("number"!=typeof e||isNaN(e))throw new TypeError("Amount of shards must be a number.");if(e<1)throw new RangeError("Amount of shards must be at least 1.");if(e!==Math.floor(e))throw new TypeError("Amount of shards must be an integer.");return this._spawn(e,t)}_spawn(e,t){return new Promise(n=>{if(this.shards.size>=e)throw new Error(`Already spawned ${this.shards.size} shards.`);if(this.totalShards=e,this.createShard(),this.shards.size>=this.totalShards)return void n(this.shards);if(t<=0){for(;this.shards.size{this.createShard(),this.shards.size>=this.totalShards&&(clearInterval(e),n(this.shards))},t)}})}broadcast(e){const t=[];for(const n of this.shards.values())t.push(n.send(e));return Promise.all(t)}broadcastEval(e){const t=[];for(const n of this.shards.values())t.push(n.eval(e));return Promise.all(t)}fetchClientValues(e){if(0===this.shards.size)return Promise.reject(new Error("No shards have been spawned."));if(this.shards.size!==this.totalShards)return Promise.reject(new Error("Still spawning shards."));const t=[];for(const n of this.shards.values())t.push(n.fetchClientValue(e));return Promise.all(t)}}e.exports=f}).call(t,n(8))},function(e,t,n){!function(){function e(e){this.message=e}var n=t,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.prototype=new Error,e.prototype.name="InvalidCharacterError",n.btoa||(n.btoa=function(t){for(var n,r,s=0,o=i,a="";t.charAt(0|s)||(o="=",s%1);a+=o.charAt(63&n>>8-s%1*8)){if(r=t.charCodeAt(s+=.75),r>255)throw new e("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");n=n<<8|r}return a}),n.atob||(n.atob=function(t){if(t=t.replace(/=+$/,""),t.length%4==1)throw new e("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,s=0,o=0,a="";r=t.charAt(o++);~r&&(n=s%4?64*n+r:r,s++%4)?a+=String.fromCharCode(255&n>>(-2*s&6)):0)r=i.indexOf(r);return a})}()},function(e,t,n){function i(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}var r=n(36),s=n(2),o=t;o.define=function(e,t){return new i(e,t)},i.prototype._createNamed=function(e){var t;try{t=n(235).runInThisContext("(function "+this.name+"(entity) {\n this._initNamed(entity);\n})")}catch(e){t=function(e){this._initNamed(e)}}return s(t,e),t.prototype._initNamed=function(t){e.call(this,t)},new t(this)},i.prototype._getDecoder=function(e){return e=e||"der",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(r.decoders[e])),this.decoders[e]},i.prototype.decode=function(e,t,n){return this._getDecoder(t).decode(e,n)},i.prototype._getEncoder=function(e){return e=e||"der",this.encoders.hasOwnProperty(e)||(this.encoders[e]=this._createNamed(r.encoders[e])),this.encoders[e]},i.prototype.encode=function(e,t,n){return this._getEncoder(t).encode(e,n)}},function(e,t,n){function i(e,t){var n={};this._baseState=n,n.enc=e,n.parent=t||null,n.children=null,n.tag=null,n.args=null,n.reverseArgs=null,n.choice=null,n.optional=!1,n.any=!1,n.obj=!1,n.use=null,n.useDecoder=null,n.key=null,n.default=null,n.explicit=null,n.implicit=null,n.contains=null,n.parent||(n.children=[],this._wrap())}var r=n(26).Reporter,s=n(26).EncoderBuffer,o=n(26).DecoderBuffer,a=n(29),c=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],h=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(c),f=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];e.exports=i;var u=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];i.prototype.clone=function(){var e=this._baseState,t={};u.forEach(function(n){t[n]=e[n]});var n=new this.constructor(t.parent);return n._baseState=t,n},i.prototype._wrap=function(){var e=this._baseState;h.forEach(function(t){this[t]=function(){var n=new this.constructor(this);return e.children.push(n),n[t].apply(n,arguments)}},this)},i.prototype._init=function(e){var t=this._baseState;a(null===t.parent),e.call(this),t.children=t.children.filter(function(e){return e._baseState.parent===this},this),a.equal(t.children.length,1,"Root node can have only one child")},i.prototype._useArgs=function(e){var t=this._baseState,n=e.filter(function(e){return e instanceof this.constructor},this);e=e.filter(function(e){return!(e instanceof this.constructor)},this),0!==n.length&&(a(null===t.children),t.children=n,n.forEach(function(e){e._baseState.parent=this},this)),0!==e.length&&(a(null===t.args),t.args=e,t.reverseArgs=e.map(function(e){if("object"!=typeof e||e.constructor!==Object)return e;var t={};return Object.keys(e).forEach(function(n){n==(0|n)&&(n|=0);var i=e[n];t[i]=n}),t}))},f.forEach(function(e){i.prototype[e]=function(){var t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}}),c.forEach(function(e){i.prototype[e]=function(){var t=this._baseState,n=Array.prototype.slice.call(arguments);return a(null===t.tag),t.tag=e,this._useArgs(n),this}}),i.prototype.use=function(e){a(e);var t=this._baseState;return a(null===t.use),t.use=e,this},i.prototype.optional=function(){var e=this._baseState;return e.optional=!0,this},i.prototype.def=function(e){var t=this._baseState;return a(null===t.default),t.default=e,t.optional=!0,this},i.prototype.explicit=function(e){var t=this._baseState;return a(null===t.explicit&&null===t.implicit),t.explicit=e,this},i.prototype.implicit=function(e){var t=this._baseState;return a(null===t.explicit&&null===t.implicit),t.implicit=e,this},i.prototype.obj=function(){var e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},i.prototype.key=function(e){var t=this._baseState;return a(null===t.key),t.key=e,this},i.prototype.any=function(){var e=this._baseState;return e.any=!0,this},i.prototype.choice=function(e){var t=this._baseState;return a(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map(function(t){return e[t]})),this},i.prototype.contains=function(e){var t=this._baseState;return a(null===t.use),t.contains=e,this},i.prototype._decode=function(e,t){var n=this._baseState;if(null===n.parent)return e.wrapResult(n.children[0]._decode(e,t));var i=n.default,r=!0,s=null;if(null!==n.key&&(s=e.enterKey(n.key)),n.optional){var a=null;if(null!==n.explicit?a=n.explicit:null!==n.implicit?a=n.implicit:null!==n.tag&&(a=n.tag),null!==a||n.any){if(r=this._peekTag(e,a,n.any),e.isError(r))return r}else{var c=e.save();try{null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t),r=!0}catch(e){r=!1}e.restore(c)}}var h;if(n.obj&&r&&(h=e.enterObject()),r){if(null!==n.explicit){var f=this._decodeTag(e,n.explicit);if(e.isError(f))return f;e=f}var u=e.offset;if(null===n.use&&null===n.choice){if(n.any)var c=e.save();var d=this._decodeTag(e,null!==n.implicit?n.implicit:n.tag,n.any);if(e.isError(d))return d;n.any?i=e.raw(c):e=d}if(t&&t.track&&null!==n.tag&&t.track(e.path(),u,e.length,"tagged"),t&&t.track&&null!==n.tag&&t.track(e.path(),e.offset,e.length,"content"),i=n.any?i:null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t),e.isError(i))return i;if(n.any||null!==n.choice||null===n.children||n.children.forEach(function(n){n._decode(e,t)}),n.contains&&("octstr"===n.tag||"bitstr"===n.tag)){var l=new o(i);i=this._getUse(n.contains,e._reporterState.obj)._decode(l,t)}}return n.obj&&r&&(i=e.leaveObject(h)),null===n.key||null===i&&r!==!0?null!==s&&e.exitKey(s):e.leaveKey(s,n.key,i),i},i.prototype._decodeGeneric=function(e,t,n){var i=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,i.args[0],n):/str$/.test(e)?this._decodeStr(t,e,n):"objid"===e&&i.args?this._decodeObjid(t,i.args[0],i.args[1],n):"objid"===e?this._decodeObjid(t,null,null,n):"gentime"===e||"utctime"===e?this._decodeTime(t,e,n):"null_"===e?this._decodeNull(t,n):"bool"===e?this._decodeBool(t,n):"objDesc"===e?this._decodeStr(t,e,n):"int"===e||"enum"===e?this._decodeInt(t,i.args&&i.args[0],n):null!==i.use?this._getUse(i.use,t._reporterState.obj)._decode(t,n):t.error("unknown tag: "+e)},i.prototype._getUse=function(e,t){var n=this._baseState;return n.useDecoder=this._use(e,t),a(null===n.useDecoder._baseState.parent),n.useDecoder=n.useDecoder._baseState.children[0],n.implicit!==n.useDecoder._baseState.implicit&&(n.useDecoder=n.useDecoder.clone(),n.useDecoder._baseState.implicit=n.implicit),n.useDecoder},i.prototype._decodeChoice=function(e,t){var n=this._baseState,i=null,r=!1;return Object.keys(n.choice).some(function(s){var o=e.save(),a=n.choice[s];try{var c=a._decode(e,t);if(e.isError(c))return!1;i={type:s,value:c},r=!0}catch(t){return e.restore(o),!1}return!0},this),r?i:e.error("Choice not matched")},i.prototype._createEncoderBuffer=function(e){return new s(e,this.reporter)},i.prototype._encode=function(e,t,n){var i=this._baseState;if(null===i.default||i.default!==e){var r=this._encodeValue(e,t,n);if(void 0!==r&&!this._skipDefault(r,t,n))return r}},i.prototype._encodeValue=function(e,t,n){var i=this._baseState;if(null===i.parent)return i.children[0]._encode(e,t||new r);var s=null;if(this.reporter=t,i.optional&&void 0===e){if(null===i.default)return;e=i.default}var o=null,a=!1;if(i.any)s=this._createEncoderBuffer(e);else if(i.choice)s=this._encodeChoice(e,t);else if(i.contains)o=this._getUse(i.contains,n)._encode(e,t),a=!0;else if(i.children)o=i.children.map(function(n){if("null_"===n._baseState.tag)return n._encode(null,t,e);if(null===n._baseState.key)return t.error("Child should have a key");var i=t.enterKey(n._baseState.key);if("object"!=typeof e)return t.error("Child expected, but input is not object");var r=n._encode(e[n._baseState.key],t,e);return t.leaveKey(i),r},this).filter(function(e){return e}),o=this._createEncoderBuffer(o);else if("seqof"===i.tag||"setof"===i.tag){if(!i.args||1!==i.args.length)return t.error("Too many args for : "+i.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");var c=this.clone();c._baseState.implicit=null,o=this._createEncoderBuffer(e.map(function(n){var i=this._baseState;return this._getUse(i.args[0],e)._encode(n,t)},c))}else null!==i.use?s=this._getUse(i.use,n)._encode(e,t):(o=this._encodePrimitive(i.tag,e),a=!0);var s;if(!i.any&&null===i.choice){var h=null!==i.implicit?i.implicit:i.tag,f=null===i.implicit?"universal":"context";null===h?null===i.use&&t.error("Tag could be ommited only for .use()"):null===i.use&&(s=this._encodeComposite(h,a,f,o))}return null!==i.explicit&&(s=this._encodeComposite(i.explicit,!1,"context",s)),s},i.prototype._encodeChoice=function(e,t){var n=this._baseState,i=n.choice[e.type];return i||a(!1,e.type+" not found in "+JSON.stringify(Object.keys(n.choice))),i._encode(e.value,t)},i.prototype._encodePrimitive=function(e,t){var n=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&n.args)return this._encodeObjid(t,n.reverseArgs[0],n.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,n.args&&n.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},i.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},i.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(e)}},function(e,t,n){function i(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function r(e,t){this.path=e,this.rethrow(t)}var s=n(2);t.Reporter=i,i.prototype.isError=function(e){return e instanceof r},i.prototype.save=function(){var e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},i.prototype.restore=function(e){var t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},i.prototype.enterKey=function(e){return this._reporterState.path.push(e)},i.prototype.exitKey=function(e){var t=this._reporterState;t.path=t.path.slice(0,e-1)},i.prototype.leaveKey=function(e,t,n){var i=this._reporterState;this.exitKey(e),null!==i.obj&&(i.obj[t]=n)},i.prototype.path=function(){return this._reporterState.path.join("/")},i.prototype.enterObject=function(){var e=this._reporterState,t=e.obj;return e.obj={},t},i.prototype.leaveObject=function(e){var t=this._reporterState,n=t.obj;return t.obj=e,n},i.prototype.error=function(e){var t,n=this._reporterState,i=e instanceof r;if(t=i?e:new r(n.path.map(function(e){return"["+JSON.stringify(e)+"]"}).join(""),e.message||e,e.stack),!n.options.partial)throw t;return i||n.errors.push(t),t},i.prototype.wrapResult=function(e){var t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},s(r,Error),r.prototype.rethrow=function(e){if(this.message=e+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,r),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},function(e,t,n){var i=n(85);t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=i._reverse(t.tagClass),t.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},t.tagByName=i._reverse(t.tag)},function(e,t,n){var i=t;i.der=n(86),i.pem=n(146)},function(e,t,n){function i(e){o.call(this,e),this.enc="pem"}var r=n(2),s=n(0).Buffer,o=n(86);r(i,o),e.exports=i,i.prototype.decode=function(e,t){for(var n=e.toString().split(/[\r\n]+/g),i=t.label.toUpperCase(),r=/^-----(BEGIN|END) ([^-]+)-----$/,a=-1,c=-1,h=0;h * @license MIT */ -function r(e,t){if(e===t)return 0;for(var i=e.length,r=t.length,n=0,s=Math.min(i,r);n=0;o--)if(f[o]!==h[o])return!1;for(o=f.length-1;o>=0;o--)if(a=f[o],!d(e[a],t[a],i,r))return!1;return!0}function m(e,t,i){d(e,t,!0)&&l(e,t,i,"notDeepStrictEqual",m)}function w(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&t.call({},e)===!0}function g(e){var t;try{e()}catch(e){t=e}return t}function v(e,t,i,r){var n;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof i&&(r=i,i=null),n=g(t),r=(i&&i.name?" ("+i.name+").":".")+(r?" "+r:"."),e&&!n&&l(n,i,"Missing expected exception"+r);var s="string"==typeof r,a=!e&&_.isError(n),o=!e&&n&&!i;if((a&&s&&w(n,i)||o)&&l(n,i,"Got unwanted exception"+r),e&&n&&i&&!w(n,i)||!e&&n)throw n}var _=i(10),y=Object.prototype.hasOwnProperty,k=Array.prototype.slice,E=function(){return"foo"===function(){}.name}(),A=e.exports=u,S=/\s*function\s+([^\(\s]*)\s*/;A.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=c(this),this.generatedMessage=!0);var t=e.stackStartFunction||l;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var i=new Error;if(i.stack){var r=i.stack,n=o(t),s=r.indexOf("\n"+n);if(s>=0){var a=r.indexOf("\n",s+1);r=r.substring(a+1)}this.stack=r}}},_.inherits(A.AssertionError,Error),A.fail=l,A.ok=u,A.equal=function(e,t,i){e!=t&&l(e,t,i,"==",A.equal)},A.notEqual=function(e,t,i){e==t&&l(e,t,i,"!=",A.notEqual)},A.deepEqual=function(e,t,i){d(e,t,!1)||l(e,t,i,"deepEqual",A.deepEqual)},A.deepStrictEqual=function(e,t,i){d(e,t,!0)||l(e,t,i,"deepStrictEqual",A.deepStrictEqual)},A.notDeepEqual=function(e,t,i){d(e,t,!1)&&l(e,t,i,"notDeepEqual",A.notDeepEqual)},A.notDeepStrictEqual=m,A.strictEqual=function(e,t,i){e!==t&&l(e,t,i,"===",A.strictEqual)},A.notStrictEqual=function(e,t,i){e===t&&l(e,t,i,"!==",A.notStrictEqual)},A.throws=function(e,t,i){v(!0,e,t,i)},A.doesNotThrow=function(e,t,i){v(!1,e,t,i)},A.ifError=function(e){if(e)throw e};var M=Object.keys||function(e){var t=[];for(var i in e)y.call(e,i)&&t.push(i);return t}}).call(t,i(19))},function(e,t){"use strict";function i(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function r(e){return 3*e.length/4-i(e)}function n(e){var t,r,n,s,a,o,f=e.length;a=i(e),o=new c(3*f/4-a),n=a>0?f-4:f;var l=0;for(t=0,r=0;t>16&255,o[l++]=s>>8&255,o[l++]=255&s;return 2===a?(s=h[e.charCodeAt(t)]<<2|h[e.charCodeAt(t+1)]>>4,o[l++]=255&s):1===a&&(s=h[e.charCodeAt(t)]<<10|h[e.charCodeAt(t+1)]<<4|h[e.charCodeAt(t+2)]>>2,o[l++]=s>>8&255,o[l++]=255&s),o}function s(e){return f[e>>18&63]+f[e>>12&63]+f[e>>6&63]+f[63&e]}function a(e,t,i){for(var r,n=[],a=t;ac?c:h+o));return 1===r?(t=e[i-1],n+=f[t>>2],n+=f[t<<4&63],n+="=="):2===r&&(t=(e[i-2]<<8)+e[i-1],n+=f[t>>10],n+=f[t>>4&63],n+=f[t<<2&63],n+="="),s.push(n),s.join("")}t.byteLength=r,t.toByteArray=n,t.fromByteArray=o;for(var f=[],h=[],c="undefined"!=typeof Uint8Array?Uint8Array:Array,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=0,d=l.length;u16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},n.prototype.flush=function(){if(this.cache.length)return this.cache};var b={ECB:i(96),CBC:i(92),CFB:i(93),CFB8:i(95),CFB1:i(94),OFB:i(97),CTR:i(39),GCM:i(39)};t.createDecipher=o,t.createDecipheriv=a}).call(t,i(0).Buffer)},function(e,t,i){(function(e){function r(t,i,s){return this instanceof r?(f.call(this),this._cache=new n,this._cipher=new o.AES(i),this._prev=new e(s.length),s.copy(this._prev),this._mode=t,void(this._autopadding=!0)):new r(t,i,s)}function n(){return this instanceof n?void(this.cache=new e("")):new n}function s(t,i,n){var s=c[t.toLowerCase()];if(!s)throw new TypeError("invalid suite type");if("string"==typeof n&&(n=new e(n)),"string"==typeof i&&(i=new e(i)),i.length!==s.key/8)throw new TypeError("invalid key length "+i.length);if(n.length!==s.iv)throw new TypeError("invalid iv length "+n.length);return"stream"===s.type?new u(p[s.mode],i,n):"auth"===s.type?new d(p[s.mode],i,n):new r(p[s.mode],i,n)}function a(e,t){var i=c[e.toLowerCase()];if(!i)throw new TypeError("invalid suite type");var r=l(t,!1,i.key,i.iv);return s(e,r.key,r.iv)}var o=i(37),f=i(21),h=i(2),c=i(38),l=i(41),u=i(98),d=i(91);h(r,f),r.prototype._update=function(t){this._cache.add(t);for(var i,r,n=[];i=this._cache.get();)r=this._mode.encrypt(this,i),n.push(r);return e.concat(n)},r.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if("10101010101010101010101010101010"!==e.toString("hex"))throw this._cipher.scrub(),new Error("data not multiple of block length")},r.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},n.prototype.add=function(t){this.cache=e.concat([this.cache,t])},n.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},n.prototype.flush=function(){for(var t=16-this.cache.length,i=new e(t),r=-1;++rf||e<0?(i=Math.abs(e)%f,e<0?f-i:i):e}function a(e,t){return[e[0]^t[0],e[1]^t[1],e[2]^t[2],e[3]^t[3]]}var o=new t(16);o.fill(0),e.exports=i,i.prototype.ghash=function(e){for(var t=-1;++t0;e--)s[e]=s[e]>>>1|(1&s[e-1])<<31;s[0]=s[0]>>>1,i&&(s[0]=s[0]^225<<24)}this.state=n(o)},i.prototype.update=function(e){this.cache=t.concat([this.cache,e]);for(var i;this.cache.length>=16;)i=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(i)},i.prototype.final=function(e,i){return this.cache.length&&this.ghash(t.concat([this.cache,o],16)),this.ghash(n([0,e,0,i])),this.state};var f=Math.pow(2,32)}).call(t,i(0).Buffer)},function(e,t,i){function r(e,t){var i,r;if(e=e.toLowerCase(),u[e])i=u[e].key,r=u[e].iv;else{if(!l[e])throw new TypeError("invalid suite type");i=8*l[e].key,r=l[e].iv}var n=f(t,!1,i,r);return s(e,n.key,n.iv)}function n(e,t){var i,r;if(e=e.toLowerCase(),u[e])i=u[e].key,r=u[e].iv;else{if(!l[e])throw new TypeError("invalid suite type");i=8*l[e].key,r=l[e].iv}var n=f(t,!1,i,r);return a(e,n.key,n.iv)}function s(e,t,i){if(e=e.toLowerCase(),u[e])return h.createCipheriv(e,t,i);if(l[e])return new c({key:t,iv:i,mode:e});throw new TypeError("invalid suite type")}function a(e,t,i){if(e=e.toLowerCase(),u[e])return h.createDecipheriv(e,t,i);if(l[e])return new c({key:t,iv:i,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}function o(){return Object.keys(l).concat(h.getCiphers())}var f=i(41),h=i(50),c=i(155),l=i(156),u=i(38);t.createCipher=t.Cipher=r,t.createCipheriv=t.Cipheriv=s,t.createDecipher=t.Decipher=n,t.createDecipheriv=t.Decipheriv=a,t.listCiphers=t.getCiphers=o},function(e,t,i){(function(t){function r(e){n.call(this);var i,r=e.mode.toLowerCase(),s=o[r];i=e.decrypt?"decrypt":"encrypt";var a=e.key;"des-ede"!==r&&"des-ede-cbc"!==r||(a=t.concat([a,a.slice(0,8)]));var f=e.iv;this._des=s.create({key:a,iv:f,type:i})}var n=i(21),s=i(54),a=i(2),o={"des-ede3-cbc":s.CBC.instantiate(s.EDE),"des-ede3":s.EDE,"des-ede-cbc":s.CBC.instantiate(s.EDE),"des-ede":s.EDE,"des-cbc":s.CBC.instantiate(s.DES),"des-ecb":s.DES};o.des=o["des-cbc"],o.des3=o["des-ede3-cbc"],e.exports=r,a(r,n),r.prototype._update=function(e){return new t(this._des.update(e))},r.prototype._final=function(){return new t(this._des.final())}}).call(t,i(0).Buffer)},function(e,t){t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}},function(e,t,i){(function(t){function r(e){l.Writable.call(this);var t=d[e];if(!t)throw new Error("Unknown message digest");this._hashType=t.hash,this._hash=f(t.hash),this._tag=t.id,this._signType=t.sign}function n(e){l.Writable.call(this);var t=d[e];if(!t)throw new Error("Unknown message digest");this._hash=f(t.hash),this._tag=t.id,this._signType=t.sign}function s(e){return new r(e)}function a(e){return new n(e)}var o=i(99),f=i(22),h=i(2),c=i(158),l=i(11),u=i(159),d={};Object.keys(o).forEach(function(e){d[e]=d[e.toLowerCase()]=o[e]}),h(r,l.Writable),r.prototype._write=function(e,t,i){this._hash.update(e),i()},r.prototype.update=function(e,i){return"string"==typeof e&&(e=new t(e,i)),this._hash.update(e),this},r.prototype.sign=function(e,i){this.end();var r=this._hash.digest(),n=c(t.concat([this._tag,r]),e,this._hashType,this._signType);return i?n.toString(i):n},h(n,l.Writable),n.prototype._write=function(e,t,i){this._hash.update(e),i()},n.prototype.update=function(e,i){return"string"==typeof e&&(e=new t(e,i)),this._hash.update(e),this},n.prototype.verify=function(e,i,r){"string"==typeof i&&(i=new t(i,r)),this.end();var n=this._hash.digest();return u(i,t.concat([this._tag,n]),e,this._signType)},e.exports={Sign:s,Verify:a,createSign:s,createVerify:a}}).call(t,i(0).Buffer)},function(e,t,i){(function(t){function r(e,t,i,r){var a=m(t);if(a.curve){if("ecdsa"!==r)throw new Error("wrong private key type");return n(e,a)}if("dsa"===a.type){if("dsa"!==r)throw new Error("wrong private key type");return s(e,a,i)}if("rsa"!==r)throw new Error("wrong private key type");for(var o=a.modulus.byteLength(),f=[0,1];e.length+f.length+10&&i.ishrn(r),i}function h(e,i){e=f(e,i),e=e.mod(i);var r=new t(e.toArray());if(r.length=t)throw new Error("invalid sig")}var o=i(100),f=i(9),h=i(43),c=i(7),l=f.ec;e.exports=r}).call(t,i(0).Buffer)},function(e,t,i){(function(e,r){function n(e){if(et.UNZIP)throw new TypeError("Bad argument");this.mode=e,this.init_done=!1,this.write_in_progress=!1,this.pending_close=!1,this.windowBits=0,this.level=0,this.memLevel=0,this.strategy=0,this.dictionary=null}function s(e,t){for(var i=0;i=0;a--)if(c[a]!==h[a])return!1;for(a=c.length-1;a>=0;a--)if(o=c[a],!l(e[o],t[o],n,i))return!1;return!0}function m(e,t,n){l(e,t,!0)&&u(e,t,n,"notDeepStrictEqual",m)}function g(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&t.call({},e)===!0}function v(e){var t;try{e()}catch(e){t=e}return t}function y(e,t,n,i){var r;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(i=n,n=null),r=v(t),i=(n&&n.name?" ("+n.name+").":".")+(i?" "+i:"."),e&&!r&&u(r,n,"Missing expected exception"+i);var s="string"==typeof i,o=!e&&_.isError(r),a=!e&&r&&!n;if((o&&s&&g(r,n)||a)&&u(r,n,"Got unwanted exception"+i),e&&r&&n&&!g(r,n)||!e&&r)throw r}var _=n(10),w=Object.prototype.hasOwnProperty,E=Array.prototype.slice,S=function(){return"foo"===function(){}.name}(),k=e.exports=d,A=/\s*function\s+([^\(\s]*)\s*/;k.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=f(this),this.generatedMessage=!0);var t=e.stackStartFunction||u;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var i=n.stack,r=a(t),s=i.indexOf("\n"+r);if(s>=0){var o=i.indexOf("\n",s+1);i=i.substring(o+1)}this.stack=i}}},_.inherits(k.AssertionError,Error),k.fail=u,k.ok=d,k.equal=function(e,t,n){e!=t&&u(e,t,n,"==",k.equal)},k.notEqual=function(e,t,n){e==t&&u(e,t,n,"!=",k.notEqual)},k.deepEqual=function(e,t,n){l(e,t,!1)||u(e,t,n,"deepEqual",k.deepEqual)},k.deepStrictEqual=function(e,t,n){l(e,t,!0)||u(e,t,n,"deepStrictEqual",k.deepStrictEqual)},k.notDeepEqual=function(e,t,n){l(e,t,!1)&&u(e,t,n,"notDeepEqual",k.notDeepEqual)},k.notDeepStrictEqual=m,k.strictEqual=function(e,t,n){e!==t&&u(e,t,n,"===",k.strictEqual)},k.notStrictEqual=function(e,t,n){e===t&&u(e,t,n,"!==",k.notStrictEqual)},k.throws=function(e,t,n){y(!0,e,t,n)},k.doesNotThrow=function(e,t,n){y(!1,e,t,n)},k.ifError=function(e){if(e)throw e};var M=Object.keys||function(e){var t=[];for(var n in e)w.call(e,n)&&t.push(n);return t}}).call(t,n(18))},function(e,t){"use strict";function n(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function i(e){return 3*e.length/4-n(e)}function r(e){var t,i,r,s,o,a,c=e.length;o=n(e),a=new f(3*c/4-o),r=o>0?c-4:c;var u=0;for(t=0,i=0;t>16&255,a[u++]=s>>8&255,a[u++]=255&s;return 2===o?(s=h[e.charCodeAt(t)]<<2|h[e.charCodeAt(t+1)]>>4,a[u++]=255&s):1===o&&(s=h[e.charCodeAt(t)]<<10|h[e.charCodeAt(t+1)]<<4|h[e.charCodeAt(t+2)]>>2,a[u++]=s>>8&255,a[u++]=255&s),a}function s(e){return c[e>>18&63]+c[e>>12&63]+c[e>>6&63]+c[63&e]}function o(e,t,n){for(var i,r=[],o=t;of?f:h+a));return 1===i?(t=e[n-1],r+=c[t>>2],r+=c[t<<4&63],r+="=="):2===i&&(t=(e[n-2]<<8)+e[n-1],r+=c[t>>10],r+=c[t>>4&63],r+=c[t<<2&63],r+="="),s.push(r),s.join("")}t.byteLength=i,t.toByteArray=r,t.fromByteArray=a;for(var c=[],h=[],f="undefined"!=typeof Uint8Array?Uint8Array:Array,u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d=0,l=u.length;d16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},r.prototype.flush=function(){if(this.cache.length)return this.cache};var b={ECB:n(96),CBC:n(92),CFB:n(93),CFB8:n(95),CFB1:n(94),OFB:n(97),CTR:n(39),GCM:n(39)};t.createDecipher=a,t.createDecipheriv=o}).call(t,n(0).Buffer)},function(e,t,n){(function(e){function i(t,n,s){return this instanceof i?(c.call(this),this._cache=new r,this._cipher=new a.AES(n),this._prev=new e(s.length),s.copy(this._prev),this._mode=t,void(this._autopadding=!0)):new i(t,n,s)}function r(){return this instanceof r?void(this.cache=new e("")):new r}function s(t,n,r){var s=f[t.toLowerCase()];if(!s)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=new e(r)),"string"==typeof n&&(n=new e(n)),n.length!==s.key/8)throw new TypeError("invalid key length "+n.length);if(r.length!==s.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===s.type?new d(p[s.mode],n,r):"auth"===s.type?new l(p[s.mode],n,r):new i(p[s.mode],n,r)}function o(e,t){var n=f[e.toLowerCase()];if(!n)throw new TypeError("invalid suite type");var i=u(t,!1,n.key,n.iv);return s(e,i.key,i.iv)}var a=n(37),c=n(20),h=n(2),f=n(38),u=n(41),d=n(98),l=n(91);h(i,c),i.prototype._update=function(t){this._cache.add(t);for(var n,i,r=[];n=this._cache.get();)i=this._mode.encrypt(this,n),r.push(i);return e.concat(r)},i.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if("10101010101010101010101010101010"!==e.toString("hex"))throw this._cipher.scrub(),new Error("data not multiple of block length")},i.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},r.prototype.add=function(t){this.cache=e.concat([this.cache,t])},r.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},r.prototype.flush=function(){for(var t=16-this.cache.length,n=new e(t),i=-1;++ic||e<0?(n=Math.abs(e)%c,e<0?c-n:n):e}function o(e,t){return[e[0]^t[0],e[1]^t[1],e[2]^t[2],e[3]^t[3]]}var a=new t(16);a.fill(0),e.exports=n,n.prototype.ghash=function(e){for(var t=-1;++t0;e--)s[e]=s[e]>>>1|(1&s[e-1])<<31;s[0]=s[0]>>>1,n&&(s[0]=s[0]^225<<24)}this.state=r(a)},n.prototype.update=function(e){this.cache=t.concat([this.cache,e]);for(var n;this.cache.length>=16;)n=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(n)},n.prototype.final=function(e,n){return this.cache.length&&this.ghash(t.concat([this.cache,a],16)),this.ghash(r([0,e,0,n])),this.state};var c=Math.pow(2,32)}).call(t,n(0).Buffer)},function(e,t,n){function i(e,t){var n,i;if(e=e.toLowerCase(),d[e])n=d[e].key,i=d[e].iv;else{if(!u[e])throw new TypeError("invalid suite type");n=8*u[e].key,i=u[e].iv}var r=c(t,!1,n,i);return s(e,r.key,r.iv)}function r(e,t){var n,i;if(e=e.toLowerCase(),d[e])n=d[e].key,i=d[e].iv;else{if(!u[e])throw new TypeError("invalid suite type");n=8*u[e].key,i=u[e].iv}var r=c(t,!1,n,i);return o(e,r.key,r.iv)}function s(e,t,n){if(e=e.toLowerCase(),d[e])return h.createCipheriv(e,t,n);if(u[e])return new f({key:t,iv:n,mode:e});throw new TypeError("invalid suite type")}function o(e,t,n){if(e=e.toLowerCase(),d[e])return h.createDecipheriv(e,t,n);if(u[e])return new f({key:t,iv:n,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}function a(){return Object.keys(u).concat(h.getCiphers())}var c=n(41),h=n(50),f=n(155),u=n(156),d=n(38);t.createCipher=t.Cipher=i,t.createCipheriv=t.Cipheriv=s,t.createDecipher=t.Decipher=r,t.createDecipheriv=t.Decipheriv=o,t.listCiphers=t.getCiphers=a},function(e,t,n){(function(t){function i(e){r.call(this);var n,i=e.mode.toLowerCase(),s=a[i];n=e.decrypt?"decrypt":"encrypt";var o=e.key;"des-ede"!==i&&"des-ede-cbc"!==i||(o=t.concat([o,o.slice(0,8)]));var c=e.iv;this._des=s.create({key:o,iv:c,type:n})}var r=n(20),s=n(54),o=n(2),a={"des-ede3-cbc":s.CBC.instantiate(s.EDE),"des-ede3":s.EDE,"des-ede-cbc":s.CBC.instantiate(s.EDE),"des-ede":s.EDE,"des-cbc":s.CBC.instantiate(s.DES),"des-ecb":s.DES};a.des=a["des-cbc"],a.des3=a["des-ede3-cbc"],e.exports=i,o(i,r),i.prototype._update=function(e){return new t(this._des.update(e))},i.prototype._final=function(){return new t(this._des.final())}}).call(t,n(0).Buffer)},function(e,t){t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}},function(e,t,n){(function(t){function i(e){u.Writable.call(this);var t=l[e];if(!t)throw new Error("Unknown message digest");this._hashType=t.hash,this._hash=c(t.hash),this._tag=t.id,this._signType=t.sign}function r(e){u.Writable.call(this);var t=l[e];if(!t)throw new Error("Unknown message digest");this._hash=c(t.hash),this._tag=t.id,this._signType=t.sign}function s(e){return new i(e)}function o(e){return new r(e)}var a=n(99),c=n(21),h=n(2),f=n(158),u=n(11),d=n(159),l={};Object.keys(a).forEach(function(e){l[e]=l[e.toLowerCase()]=a[e]}),h(i,u.Writable),i.prototype._write=function(e,t,n){this._hash.update(e),n()},i.prototype.update=function(e,n){return"string"==typeof e&&(e=new t(e,n)),this._hash.update(e),this},i.prototype.sign=function(e,n){this.end();var i=this._hash.digest(),r=f(t.concat([this._tag,i]),e,this._hashType,this._signType);return n?r.toString(n):r},h(r,u.Writable),r.prototype._write=function(e,t,n){this._hash.update(e),n()},r.prototype.update=function(e,n){return"string"==typeof e&&(e=new t(e,n)),this._hash.update(e),this},r.prototype.verify=function(e,n,i){"string"==typeof n&&(n=new t(n,i)),this.end();var r=this._hash.digest();return d(n,t.concat([this._tag,r]),e,this._signType)},e.exports={Sign:s,Verify:o,createSign:s,createVerify:o}}).call(t,n(0).Buffer)},function(e,t,n){(function(t){function i(e,t,n,i){var o=m(t);if(o.curve){if("ecdsa"!==i)throw new Error("wrong private key type");return r(e,o)}if("dsa"===o.type){if("dsa"!==i)throw new Error("wrong private key type");return s(e,o,n)}if("rsa"!==i)throw new Error("wrong private key type");for(var a=o.modulus.byteLength(),c=[0,1];e.length+c.length+10&&n.ishrn(i),n}function h(e,n){e=c(e,n),e=e.mod(n);var i=new t(e.toArray());if(i.length=t)throw new Error("invalid sig")}var a=n(100),c=n(9),h=n(43),f=n(7),u=c.ec;e.exports=i}).call(t,n(0).Buffer)},function(e,t,n){(function(e,i){function r(e){if(et.UNZIP)throw new TypeError("Bad argument");this.mode=e,this.init_done=!1,this.write_in_progress=!1,this.pending_close=!1,this.windowBits=0,this.level=0,this.memLevel=0,this.strategy=0,this.dictionary=null}function s(e,t){for(var n=0;n * MIT Licensed */ -e.exports.BufferUtil={merge:function(e,t){for(var i=0,r=0,n=t.length;i>>5]|=e[i]<<24-r%32;return t}function r(e){for(var t=[],i=0;i<32*e.length;i+=8)t.push(e[i>>>5]>>>24-i%32&255);return t}function n(e,t,i){for(var r=0;r<16;r++){var n=i+r,l=t[n];t[n]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}var g,v,_,y,k,E,A,S,M,T;E=g=e[0],A=v=e[1],S=_=e[2],M=y=e[3],T=k=e[4];var x;for(r=0;r<80;r+=1)x=g+t[i+u[r]]|0,x+=r<16?s(v,_,y)+m[0]:r<32?a(v,_,y)+m[1]:r<48?o(v,_,y)+m[2]:r<64?f(v,_,y)+m[3]:h(v,_,y)+m[4],x|=0,x=c(x,p[r]),x=x+k|0,g=k,k=y,y=c(_,10),_=v,v=x,x=E+t[i+d[r]]|0,x+=r<16?h(A,S,M)+w[0]:r<32?f(A,S,M)+w[1]:r<48?o(A,S,M)+w[2]:r<64?a(A,S,M)+w[3]:s(A,S,M)+w[4],x|=0,x=c(x,b[r]),x=x+T|0,E=T,T=M,M=c(S,10),S=A,A=x;x=e[1]+_+M|0,e[1]=e[2]+y+T|0,e[2]=e[3]+k+E|0,e[3]=e[4]+g+A|0,e[4]=e[0]+v+S|0,e[0]=x}function s(e,t,i){return e^t^i}function a(e,t,i){return e&t|~e&i}function o(e,t,i){return(e|~t)^i}function f(e,t,i){return e&i|t&~i}function h(e,t,i){return e^(t|~i)}function c(e,t){return e<>>32-t}function l(e){var s=[1732584193,4023233417,2562383102,271733878,3285377520];"string"==typeof e&&(e=new t(e,"utf8"));var a=i(e),o=8*e.length,f=8*e.length;a[o>>>5]|=128<<24-o%32,a[(o+64>>>9<<4)+14]=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8);for(var h=0;h>>24)|4278255360&(c<<24|c>>>8)}var l=r(s);return new t(l)}/** @preserve +e.exports.BufferUtil={merge:function(e,t){for(var n=0,i=0,r=t.length;n>>5]|=e[n]<<24-i%32;return t}function i(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t}function r(e,t,n){for(var i=0;i<16;i++){var r=n+i,u=t[r];t[r]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}var v,y,_,w,E,S,k,A,M,x;S=v=e[0],k=y=e[1],A=_=e[2],M=w=e[3],x=E=e[4];var R;for(i=0;i<80;i+=1)R=v+t[n+d[i]]|0,R+=i<16?s(y,_,w)+m[0]:i<32?o(y,_,w)+m[1]:i<48?a(y,_,w)+m[2]:i<64?c(y,_,w)+m[3]:h(y,_,w)+m[4],R|=0,R=f(R,p[i]),R=R+E|0,v=E,E=w,w=f(_,10),_=y,y=R,R=S+t[n+l[i]]|0,R+=i<16?h(k,A,M)+g[0]:i<32?c(k,A,M)+g[1]:i<48?a(k,A,M)+g[2]:i<64?o(k,A,M)+g[3]:s(k,A,M)+g[4],R|=0,R=f(R,b[i]),R=R+x|0,S=x,x=M,M=f(A,10),A=k,k=R;R=e[1]+_+M|0,e[1]=e[2]+w+x|0,e[2]=e[3]+E+S|0,e[3]=e[4]+v+k|0,e[4]=e[0]+y+A|0,e[0]=R}function s(e,t,n){return e^t^n}function o(e,t,n){return e&t|~e&n}function a(e,t,n){return(e|~t)^n}function c(e,t,n){return e&n|t&~n}function h(e,t,n){return e^(t|~n)}function f(e,t){return e<>>32-t}function u(e){var s=[1732584193,4023233417,2562383102,271733878,3285377520];"string"==typeof e&&(e=new t(e,"utf8"));var o=n(e),a=8*e.length,c=8*e.length;o[a>>>5]|=128<<24-a%32,o[(a+64>>>9<<4)+14]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8);for(var h=0;h>>24)|4278255360&(f<<24|f>>>8)}var u=i(s);return new t(u)}/** @preserve (c) 2012 by Cédric Mesnil. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -67,71 +67,51 @@ Redistribution and use in source and binary forms, with or without modification, THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -var u=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],d=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],p=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],b=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],m=[0,1518500249,1859775393,2400959708,2840853838],w=[1352829926,1548603684,1836072691,2053994217,0];e.exports=l}).call(t,i(0).Buffer)},function(e,t,i){var t=e.exports=function(e){e=e.toLowerCase();var i=t[e];if(!i)throw new Error(e+" is not supported (we accept pull requests)");return new i};t.sha=i(168),t.sha1=i(169),t.sha224=i(170),t.sha256=i(103),t.sha384=i(171),t.sha512=i(104)},function(e,t,i){(function(t){function r(){this.init(),this._w=c,f.call(this,64,56)}function n(e){return e<<5|e>>>27}function s(e){return e<<30|e>>>2}function a(e,t,i,r){return 0===e?t&i|~t&r:2===e?t&i|t&r|i&r:t^i^r}var o=i(2),f=i(23),h=[1518500249,1859775393,-1894007588,-899497514],c=new Array(80);o(r,f),r.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},r.prototype._update=function(e){for(var t=this._w,i=0|this._a,r=0|this._b,o=0|this._c,f=0|this._d,c=0|this._e,l=0;l<16;++l)t[l]=e.readInt32BE(4*l);for(;l<80;++l)t[l]=t[l-3]^t[l-8]^t[l-14]^t[l-16];for(var u=0;u<80;++u){var d=~~(u/20),p=n(i)+a(d,r,o,f)+c+t[u]+h[d]|0;c=f,f=o,o=s(r),r=i,i=p}this._a=i+this._a|0,this._b=r+this._b|0,this._c=o+this._c|0,this._d=f+this._d|0,this._e=c+this._e|0},r.prototype._hash=function(){var e=new t(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=r}).call(t,i(0).Buffer)},function(e,t,i){(function(t){function r(){this.init(),this._w=l,h.call(this,64,56)}function n(e){return e<<1|e>>>31}function s(e){return e<<5|e>>>27}function a(e){return e<<30|e>>>2}function o(e,t,i,r){return 0===e?t&i|~t&r:2===e?t&i|t&r|i&r:t^i^r}var f=i(2),h=i(23),c=[1518500249,1859775393,-1894007588,-899497514],l=new Array(80);f(r,h),r.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},r.prototype._update=function(e){for(var t=this._w,i=0|this._a,r=0|this._b,f=0|this._c,h=0|this._d,l=0|this._e,u=0;u<16;++u)t[u]=e.readInt32BE(4*u);for(;u<80;++u)t[u]=n(t[u-3]^t[u-8]^t[u-14]^t[u-16]);for(var d=0;d<80;++d){var p=~~(d/20),b=s(i)+o(p,r,f,h)+l+t[d]+c[p]|0;l=h,h=f,f=a(r),r=i,i=b}this._a=i+this._a|0,this._b=r+this._b|0,this._c=f+this._c|0,this._d=h+this._d|0,this._e=l+this._e|0},r.prototype._hash=function(){var e=new t(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=r}).call(t,i(0).Buffer)},function(e,t,i){(function(t){function r(){this.init(),this._w=o,a.call(this,64,56)}var n=i(2),s=i(103),a=i(23),o=new Array(64);n(r,s),r.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},r.prototype._hash=function(){var e=new t(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=r}).call(t,i(0).Buffer)},function(e,t,i){(function(t){function r(){this.init(),this._w=o,a.call(this,128,112)}var n=i(2),s=i(104),a=i(23),o=new Array(160);n(r,s),r.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},r.prototype._hash=function(){function e(e,t,r){i.writeInt32BE(e,r),i.writeInt32BE(t,r+4)}var i=new t(48);return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),i},e.exports=r}).call(t,i(0).Buffer)},function(e,t,i){"use strict";function r(e){s.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t0;r--)t+=this._buffer(e,t),i+=this._flushBuffer(n,i);return t+=this._buffer(e,t),n},r.prototype.final=function(e){var t;e&&(t=this.update(e));var i;return i="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(i):i},r.prototype._pad=function(e,t){if(0===t)return!1;for(;t>>1];i=f.r28shl(i,a),r=f.r28shl(r,a),f.pc2(i,r,e.keys,n)}},n.prototype._update=function(e,t,i,r){var n=this._desState,s=f.readUInt32BE(e,t),a=f.readUInt32BE(e,t+4);f.ip(s,a,n.tmp,0),s=n.tmp[0],a=n.tmp[1],"encrypt"===this.type?this._encrypt(n,s,a,n.tmp,0):this._decrypt(n,s,a,n.tmp,0),s=n.tmp[0],a=n.tmp[1],f.writeUInt32BE(i,s,r),f.writeUInt32BE(i,a,r+4)},n.prototype._pad=function(e,t){for(var i=e.length-t,r=t;r>>0,s=d}f.rip(a,s,r,n)},n.prototype._decrypt=function(e,t,i,r,n){for(var s=i,a=t,o=e.keys.length-2;o>=0;o-=2){var h=e.keys[o],c=e.keys[o+1];f.expand(s,e.tmp,0),h^=e.tmp[0],c^=e.tmp[1];var l=f.substitute(h,c),u=f.permute(l),d=s;s=(a^u)>>>0,a=d}f.rip(s,a,r,n)}},function(e,t,i){"use strict";function r(e,t){s.equal(t.length,24,"Invalid key length");var i=t.slice(0,8),r=t.slice(8,16),n=t.slice(16,24);"encrypt"===e?this.ciphers=[h.create({type:"encrypt",key:i}),h.create({type:"decrypt",key:r}),h.create({type:"encrypt",key:n})]:this.ciphers=[h.create({type:"decrypt",key:n}),h.create({type:"encrypt",key:r}),h.create({type:"decrypt",key:i})]}function n(e){f.call(this,e);var t=new r(this.type,this.options.key);this._edeState=t}var s=i(29),a=i(2),o=i(54),f=o.Cipher,h=o.DES;a(n,f),e.exports=n,n.create=function(e){return new n(e)},n.prototype._update=function(e,t,i,r){var n=this._edeState;n.ciphers[0]._update(e,t,i,r),n.ciphers[1]._update(i,r,i,r),n.ciphers[2]._update(i,r,i,r)},n.prototype._pad=h.prototype._pad,n.prototype._unpad=h.prototype._unpad},function(e,t){"use strict";t.readUInt32BE=function(e,t){var i=e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t];return i>>>0},t.writeUInt32BE=function(e,t,i){e[0+i]=t>>>24,e[1+i]=t>>>16&255,e[2+i]=t>>>8&255,e[3+i]=255&t},t.ip=function(e,t,i,r){for(var n=0,s=0,a=6;a>=0;a-=2){for(var o=0;o<=24;o+=8)n<<=1,n|=t>>>o+a&1;for(var o=0;o<=24;o+=8)n<<=1,n|=e>>>o+a&1}for(var a=6;a>=0;a-=2){for(var o=1;o<=25;o+=8)s<<=1,s|=t>>>o+a&1;for(var o=1;o<=25;o+=8)s<<=1,s|=e>>>o+a&1}i[r+0]=n>>>0,i[r+1]=s>>>0},t.rip=function(e,t,i,r){for(var n=0,s=0,a=0;a<4;a++)for(var o=24;o>=0;o-=8)n<<=1,n|=t>>>o+a&1,n<<=1,n|=e>>>o+a&1;for(var a=4;a<8;a++)for(var o=24;o>=0;o-=8)s<<=1,s|=t>>>o+a&1,s<<=1,s|=e>>>o+a&1;i[r+0]=n>>>0,i[r+1]=s>>>0},t.pc1=function(e,t,i,r){for(var n=0,s=0,a=7;a>=5;a--){for(var o=0;o<=24;o+=8)n<<=1,n|=t>>o+a&1;for(var o=0;o<=24;o+=8)n<<=1,n|=e>>o+a&1}for(var o=0;o<=24;o+=8)n<<=1,n|=t>>o+a&1;for(var a=1;a<=3;a++){for(var o=0;o<=24;o+=8)s<<=1,s|=t>>o+a&1;for(var o=0;o<=24;o+=8)s<<=1,s|=e>>o+a&1}for(var o=0;o<=24;o+=8)s<<=1,s|=e>>o+a&1;i[r+0]=n>>>0,i[r+1]=s>>>0},t.r28shl=function(e,t){return e<>>28-t};var i=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function(e,t,r,n){for(var s=0,a=0,o=i.length>>>1,f=0;f>>i[f]&1;for(var f=o;f>>i[f]&1;r[n+0]=s>>>0,r[n+1]=a>>>0},t.expand=function(e,t,i){var r=0,n=0;r=(1&e)<<5|e>>>27;for(var s=23;s>=15;s-=4)r<<=6,r|=e>>>s&63;for(var s=11;s>=3;s-=4)n|=e>>>s&63,n<<=6;n|=(31&e)<<1|e>>>31,t[i+0]=r>>>0,t[i+1]=n>>>0};var r=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function(e,t){for(var i=0,n=0;n<4;n++){var s=e>>>18-6*n&63,a=r[64*n+s];i<<=4,i|=a}for(var n=0;n<4;n++){var s=t>>>18-6*n&63,a=r[256+64*n+s];i<<=4,i|=a}return i>>>0};var n=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function(e){for(var t=0,i=0;i>>n[i]&1;return t>>>0},t.padSplit=function(e,t,i){for(var r=e.toString(2);r.length0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function n(e,t){this.curve=e,this.type=t,this.precomputed=null}var s=i(7),a=i(9),o=a.utils,f=o.getNAF,h=o.getJSF,c=o.assert;e.exports=r,r.prototype.point=function(){throw new Error("Not implemented")},r.prototype.validate=function(){throw new Error("Not implemented")},r.prototype._fixedNafMul=function(e,t){c(e.precomputed);var i=e._getDoubles(),r=f(t,1),n=(1<=a;t--)o=(o<<1)+r[t];s.push(o)}for(var h=this.jpoint(null,null,null),l=this.jpoint(null,null,null),u=n;u>0;u--){for(var a=0;a=0;o--){for(var t=0;o>=0&&0===s[o];o--)t++;if(o>=0&&t++,a=a.dblp(t),o<0)break;var h=s[o];c(0!==h),a="affine"===e.type?h>0?a.mixedAdd(n[h-1>>1]):a.mixedAdd(n[-h-1>>1].neg()):h>0?a.add(n[h-1>>1]):a.add(n[-h-1>>1].neg())}return"affine"===e.type?a.toP():a},r.prototype._wnafMulAdd=function(e,t,i,r,n){for(var s=this._wnafT1,a=this._wnafT2,o=this._wnafT3,c=0,l=0;l=1;l-=2){var p=l-1,b=l;if(1===s[p]&&1===s[b]){var m=[t[p],null,null,t[b]];0===t[p].y.cmp(t[b].y)?(m[1]=t[p].add(t[b]),m[2]=t[p].toJ().mixedAdd(t[b].neg())):0===t[p].y.cmp(t[b].y.redNeg())?(m[1]=t[p].toJ().mixedAdd(t[b]),m[2]=t[p].add(t[b].neg())):(m[1]=t[p].toJ().mixedAdd(t[b]),m[2]=t[p].toJ().mixedAdd(t[b].neg()));var w=[-3,-1,-5,-7,0,7,5,1,3],g=h(i[p],i[b]);c=Math.max(g[0].length,c),o[p]=new Array(c),o[b]=new Array(c);for(var v=0;v=0;l--){for(var A=0;l>=0;){for(var S=!0,v=0;v=0&&A++,k=k.dblp(A),l<0)break;for(var v=0;v0?u=a[v][M-1>>1]:M<0&&(u=a[v][-M-1>>1].neg()),k="affine"===u.type?k.mixedAdd(u):k.add(u))}}for(var l=0;l=Math.ceil((e.bitLength()+1)/t.step)},n.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],r=this,n=0;n":""},n.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&0===this.y.cmp(this.z)},n.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),i=this.z.redSqr();i=i.redIAdd(i);var r=this.curve._mulA(e),n=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),s=r.redAdd(t),a=s.redSub(i),o=r.redSub(t),f=n.redMul(a),h=s.redMul(o),c=n.redMul(o),l=a.redMul(s);return this.curve.point(f,h,l,c)},n.prototype._projDbl=function(){var e,t,i,r=this.x.redAdd(this.y).redSqr(),n=this.x.redSqr(),s=this.y.redSqr();if(this.curve.twisted){var a=this.curve._mulA(n),o=a.redAdd(s);if(this.zOne)e=r.redSub(n).redSub(s).redMul(o.redSub(this.curve.two)),t=o.redMul(a.redSub(s)),i=o.redSqr().redSub(o).redSub(o);else{var f=this.z.redSqr(),h=o.redSub(f).redISub(f);e=r.redSub(n).redISub(s).redMul(h),t=o.redMul(a.redSub(s)),i=o.redMul(h)}}else{var a=n.redAdd(s),f=this.curve._mulC(this.c.redMul(this.z)).redSqr(),h=a.redSub(f).redSub(f);e=this.curve._mulC(r.redISub(a)).redMul(h),t=this.curve._mulC(a).redMul(n.redISub(s)),i=a.redMul(h)}return this.curve.point(e,t,i)},n.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},n.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),i=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),r=this.t.redMul(this.curve.dd).redMul(e.t),n=this.z.redMul(e.z.redAdd(e.z)),s=i.redSub(t),a=n.redSub(r),o=n.redAdd(r),f=i.redAdd(t),h=s.redMul(a),c=o.redMul(f),l=s.redMul(f),u=a.redMul(o);return this.curve.point(h,c,u,l)},n.prototype._projAdd=function(e){var t,i,r=this.z.redMul(e.z),n=r.redSqr(),s=this.x.redMul(e.x),a=this.y.redMul(e.y),o=this.curve.d.redMul(s).redMul(a),f=n.redSub(o),h=n.redAdd(o),c=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(s).redISub(a),l=r.redMul(f).redMul(c);return this.curve.twisted?(t=r.redMul(h).redMul(a.redSub(this.curve._mulA(s))),i=f.redMul(h)):(t=r.redMul(h).redMul(a.redSub(s)),i=this.curve._mulC(f).redMul(h)),this.curve.point(l,t,i)},n.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},n.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},n.prototype.mulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!1)},n.prototype.jmulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!0)},n.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},n.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},n.prototype.getX=function(){return this.normalize(),this.x.fromRed()},n.prototype.getY=function(){return this.normalize(),this.y.fromRed()},n.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},n.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var i=e.clone(),r=this.curve.redN.redMul(this.z);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(r),0===this.x.cmp(t))return!0}return!1},n.prototype.toP=n.prototype.normalize,n.prototype.mixedAdd=n.prototype.add},function(e,t,i){"use strict";function r(e){f.call(this,"mont",e),this.a=new a(e.a,16).toRed(this.red),this.b=new a(e.b,16).toRed(this.red),this.i4=new a(4).toRed(this.red).redInvm(),this.two=new a(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function n(e,t,i){f.BasePoint.call(this,e,"projective"),null===t&&null===i?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new a(t,16),this.z=new a(i,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}var s=i(40),a=i(7),o=i(2),f=s.base,h=i(9),c=h.utils;o(r,f),e.exports=r,r.prototype.validate=function(e){var t=e.normalize().x,i=t.redSqr(),r=i.redMul(t).redAdd(i.redMul(this.a)).redAdd(t),n=r.redSqrt();return 0===n.redSqr().cmp(r)},o(n,f.BasePoint),r.prototype.decodePoint=function(e,t){return this.point(c.toArray(e,t),1)},r.prototype.point=function(e,t){return new n(this,e,t)},r.prototype.pointFromJSON=function(e){return n.fromJSON(this,e)},n.prototype.precompute=function(){},n.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},n.fromJSON=function(e,t){return new n(e,t[0],t[1]||e.one)},n.prototype.inspect=function(){return this.isInfinity()?"":""},n.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},n.prototype.dbl=function(){var e=this.x.redAdd(this.z),t=e.redSqr(),i=this.x.redSub(this.z),r=i.redSqr(),n=t.redSub(r),s=t.redMul(r),a=n.redMul(r.redAdd(this.curve.a24.redMul(n)));return this.curve.point(s,a)},n.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},n.prototype.diffAdd=function(e,t){var i=this.x.redAdd(this.z),r=this.x.redSub(this.z),n=e.x.redAdd(e.z),s=e.x.redSub(e.z),a=s.redMul(i),o=n.redMul(r),f=t.z.redMul(a.redAdd(o).redSqr()),h=t.x.redMul(a.redISub(o).redSqr());return this.curve.point(f,h)},n.prototype.mul=function(e){for(var t=e.clone(),i=this,r=this.curve.point(null,null),n=this,s=[];0!==t.cmpn(0);t.iushrn(1))s.push(t.andln(1));for(var a=s.length-1;a>=0;a--)0===s[a]?(i=i.diffAdd(r,n),r=r.dbl()):(r=i.diffAdd(r,n),i=i.dbl());return r},n.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},n.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},n.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},n.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},n.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(e,t,i){"use strict";function r(e){c.call(this,"short",e),this.a=new f(e.a,16).toRed(this.red),this.b=new f(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function n(e,t,i,r){c.BasePoint.call(this,e,"affine"),null===t&&null===i?(this.x=null,this.y=null,this.inf=!0):(this.x=new f(t,16),this.y=new f(i,16),r&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function s(e,t,i,r){c.BasePoint.call(this,e,"jacobian"),null===t&&null===i&&null===r?(this.x=this.curve.one,this.y=this.curve.one,this.z=new f(0)):(this.x=new f(t,16),this.y=new f(i,16),this.z=new f(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}var a=i(40),o=i(9),f=i(7),h=i(2),c=a.base,l=o.utils.assert;h(r,c),e.exports=r,r.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,i;if(e.beta)t=new f(e.beta,16).toRed(this.red);else{var r=this._getEndoRoots(this.p);t=r[0].cmp(r[1])<0?r[0]:r[1],t=t.toRed(this.red)}if(e.lambda)i=new f(e.lambda,16);else{var n=this._getEndoRoots(this.n);0===this.g.mul(n[0]).x.cmp(this.g.x.redMul(t))?i=n[0]:(i=n[1],l(0===this.g.mul(i).x.cmp(this.g.x.redMul(t))))}var s;return s=e.basis?e.basis.map(function(e){return{a:new f(e.a,16),b:new f(e.b,16)}}):this._getEndoBasis(i),{beta:t,lambda:i,basis:s}}},r.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:f.mont(e),i=new f(2).toRed(t).redInvm(),r=i.redNeg(),n=new f(3).toRed(t).redNeg().redSqrt().redMul(i),s=r.redAdd(n).fromRed(),a=r.redSub(n).fromRed();return[s,a]},r.prototype._getEndoBasis=function(e){for(var t,i,r,n,s,a,o,h,c,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),u=e,d=this.n.clone(),p=new f(1),b=new f(0),m=new f(0),w=new f(1),g=0;0!==u.cmpn(0);){var v=d.div(u);h=d.sub(v.mul(u)),c=m.sub(v.mul(p));var _=w.sub(v.mul(b));if(!r&&h.cmp(l)<0)t=o.neg(),i=p,r=h.neg(),n=c;else if(r&&2===++g)break;o=h,d=u,u=h,m=p,p=c,w=b,b=_}s=h.neg(),a=c;var y=r.sqr().add(n.sqr()),k=s.sqr().add(a.sqr());return k.cmp(y)>=0&&(s=t,a=i),r.negative&&(r=r.neg(),n=n.neg()),s.negative&&(s=s.neg(),a=a.neg()),[{a:r,b:n},{a:s,b:a}]},r.prototype._endoSplit=function(e){var t=this.endo.basis,i=t[0],r=t[1],n=r.b.mul(e).divRound(this.n),s=i.b.neg().mul(e).divRound(this.n),a=n.mul(i.a),o=s.mul(r.a),f=n.mul(i.b),h=s.mul(r.b),c=e.sub(a).sub(o),l=f.add(h).neg();return{k1:c,k2:l}},r.prototype.pointFromX=function(e,t){e=new f(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),r=i.redSqrt();if(0!==r.redSqr().redSub(i).cmp(this.zero))throw new Error("invalid point");var n=r.fromRed().isOdd(); -return(t&&!n||!t&&n)&&(r=r.redNeg()),this.point(e,r)},r.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,i=e.y,r=this.a.redMul(t),n=t.redSqr().redMul(t).redIAdd(r).redIAdd(this.b);return 0===i.redSqr().redISub(n).cmpn(0)},r.prototype._endoWnafMulAdd=function(e,t,i){for(var r=this._endoWnafT1,n=this._endoWnafT2,s=0;s":""},n.prototype.isInfinity=function(){return this.inf},n.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var i=t.redSqr().redISub(this.x).redISub(e.x),r=t.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,r)},n.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,i=this.x.redSqr(),r=e.redInvm(),n=i.redAdd(i).redIAdd(i).redIAdd(t).redMul(r),s=n.redSqr().redISub(this.x.redAdd(this.x)),a=n.redMul(this.x.redSub(s)).redISub(this.y);return this.curve.point(s,a)},n.prototype.getX=function(){return this.x.fromRed()},n.prototype.getY=function(){return this.y.fromRed()},n.prototype.mul=function(e){return e=new f(e,16),this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},n.prototype.mulAdd=function(e,t,i){var r=[this,t],n=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(r,n):this.curve._wnafMulAdd(1,r,n,2)},n.prototype.jmulAdd=function(e,t,i){var r=[this,t],n=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(r,n,!0):this.curve._wnafMulAdd(1,r,n,2,!0)},n.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},n.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var i=this.precomputed,r=function(e){return e.neg()};t.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(r)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(r)}}}return t},n.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e},h(s,c.BasePoint),r.prototype.jpoint=function(e,t,i){return new s(this,e,t,i)},s.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),i=this.x.redMul(t),r=this.y.redMul(t).redMul(e);return this.curve.point(i,r)},s.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},s.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),i=this.z.redSqr(),r=this.x.redMul(t),n=e.x.redMul(i),s=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(i.redMul(this.z)),o=r.redSub(n),f=s.redSub(a);if(0===o.cmpn(0))return 0!==f.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h=o.redSqr(),c=h.redMul(o),l=r.redMul(h),u=f.redSqr().redIAdd(c).redISub(l).redISub(l),d=f.redMul(l.redISub(u)).redISub(s.redMul(c)),p=this.z.redMul(e.z).redMul(o);return this.curve.jpoint(u,d,p)},s.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),i=this.x,r=e.x.redMul(t),n=this.y,s=e.y.redMul(t).redMul(this.z),a=i.redSub(r),o=n.redSub(s);if(0===a.cmpn(0))return 0!==o.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var f=a.redSqr(),h=f.redMul(a),c=i.redMul(f),l=o.redSqr().redIAdd(h).redISub(c).redISub(c),u=o.redMul(c.redISub(l)).redISub(n.redMul(h)),d=this.z.redMul(a);return this.curve.jpoint(l,u,d)},s.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,i=0;i=0)return!1;if(i.redIAdd(n),0===this.x.cmp(i))return!0}return!1},s.prototype.inspect=function(){return this.isInfinity()?"":""},s.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(e,t,i){"use strict";function r(e){"short"===e.type?this.curve=new o.curve.short(e):"edwards"===e.type?this.curve=new o.curve.edwards(e):this.curve=new o.curve.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,f(this.g.validate(),"Invalid curve"),f(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function n(e,t){Object.defineProperty(s,e,{configurable:!0,enumerable:!0,get:function(){var i=new r(t);return Object.defineProperty(s,e,{configurable:!0,enumerable:!0,value:i}),i}})}var s=t,a=i(16),o=i(9),f=o.utils.assert;s.PresetCurve=r,n("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:a.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),n("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:a.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),n("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:a.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),n("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:a.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),n("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:a.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),n("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"0",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:a.sha256,gRed:!1,g:["9"]}),n("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:a.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var h;try{h=i(191)}catch(e){h=void 0}n("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:a.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",h]})},function(e,t,i){"use strict";function r(e){return this instanceof r?("string"==typeof e&&(o(s.curves.hasOwnProperty(e),"Unknown curve "+e),e=s.curves[e]),e instanceof s.curves.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),void(this.hash=e.hash||e.curve.hash)):new r(e)}var n=i(7),s=i(9),a=s.utils,o=a.assert,f=i(185),h=i(186);e.exports=r,r.prototype.keyPair=function(e){return new f(this,e)},r.prototype.keyFromPrivate=function(e,t){return f.fromPrivate(this,e,t)},r.prototype.keyFromPublic=function(e,t){return f.fromPublic(this,e,t)},r.prototype.genKeyPair=function(e){e||(e={});for(var t=new s.hmacDRBG({hash:this.hash,pers:e.pers,entropy:e.entropy||s.rand(this.hash.hmacStrength),nonce:this.n.toArray()}),i=this.n.byteLength(),r=this.n.sub(new n(2));;){var a=new n(t.generate(i));if(!(a.cmp(r)>0))return a.iaddn(1),this.keyFromPrivate(a)}},r.prototype._truncateToN=function(e,t){var i=8*e.byteLength()-this.n.bitLength();return i>0&&(e=e.ushrn(i)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},r.prototype.sign=function(e,t,i,r){"object"==typeof i&&(r=i,i=null),r||(r={}),t=this.keyFromPrivate(t,i),e=this._truncateToN(new n(e,16));for(var a=this.n.byteLength(),o=t.getPrivate().toArray("be",a),f=e.toArray("be",a),c=new s.hmacDRBG({hash:this.hash,entropy:o,nonce:f,pers:r.pers,persEnc:r.persEnc}),l=this.n.sub(new n(1)),u=0;!0;u++){var d=r.k?r.k(u):new n(c.generate(this.n.byteLength()));if(d=this._truncateToN(d,!0),!(d.cmpn(1)<=0||d.cmp(l)>=0)){var p=this.g.mul(d);if(!p.isInfinity()){var b=p.getX(),m=b.umod(this.n);if(0!==m.cmpn(0)){var w=d.invm(this.n).mul(m.mul(t.getPrivate()).iadd(e));if(w=w.umod(this.n),0!==w.cmpn(0)){var g=(p.getY().isOdd()?1:0)|(0!==b.cmp(m)?2:0);return r.canonical&&w.cmp(this.nh)>0&&(w=this.n.sub(w),g^=1),new h({r:m,s:w,recoveryParam:g})}}}}}},r.prototype.verify=function(e,t,i,r){e=this._truncateToN(new n(e,16)),i=this.keyFromPublic(i,r),t=new h(t,"hex");var s=t.r,a=t.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var o=a.invm(this.n),f=o.mul(e).umod(this.n),c=o.mul(s).umod(this.n);if(!this.curve._maxwellTrick){var l=this.g.mulAdd(f,i.getPublic(),c);return!l.isInfinity()&&0===l.getX().umod(this.n).cmp(s)}var l=this.g.jmulAdd(f,i.getPublic(),c);return!l.isInfinity()&&l.eqXToP(s)},r.prototype.recoverPubKey=function(e,t,i,r){o((3&i)===i,"The recovery param is more than two bits"),t=new h(t,r);var s=this.n,a=new n(e),f=t.r,c=t.s,l=1&i,u=i>>1;if(f.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");f=u?this.curve.pointFromX(f.add(this.curve.n),l):this.curve.pointFromX(f,l);var d=t.r.invm(s),p=s.sub(a).mul(d).umod(s),b=c.mul(d).umod(s);return this.g.mulAdd(p,f,b)},r.prototype.getKeyRecoveryParam=function(e,t,i,r){if(t=new h(t,r),null!==t.recoveryParam)return t.recoveryParam;for(var n=0;n<4;n++){var s;try{s=this.recoverPubKey(e,t,n)}catch(e){continue}if(s.eq(i))return n}throw new Error("Unable to find valid recovery factor")}},function(e,t,i){"use strict";function r(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}var n=i(7);e.exports=r,r.fromPublic=function(e,t,i){return t instanceof r?t:new r(e,{pub:t,pubEnc:i})},r.fromPrivate=function(e,t,i){return t instanceof r?t:new r(e,{priv:t,privEnc:i})},r.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},r.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},r.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},r.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},r.prototype._importPublic=function(e,t){return e.x||e.y?void(this.pub=this.ec.curve.point(e.x,e.y)):void(this.pub=this.ec.curve.decodePoint(e,t))},r.prototype.derive=function(e){return e.mul(this.priv).getX()},r.prototype.sign=function(e,t,i){return this.ec.sign(e,this,t,i)},r.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},r.prototype.inspect=function(){return""}},function(e,t,i){"use strict";function r(e,t){return e instanceof r?e:void(this._importDER(e,t)||(l(e.r&&e.s,"Signature without r or s"),this.r=new f(e.r,16),this.s=new f(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam))}function n(){this.place=0}function s(e,t){var i=e[t.place++];if(!(128&i))return i;for(var r=15&i,n=0,s=0,a=t.place;s>>3);for(e.push(128|i);--i;)e.push(t>>>(i<<3)&255);e.push(t)}var f=i(7),h=i(9),c=h.utils,l=c.assert;e.exports=r,r.prototype._importDER=function(e,t){e=c.toArray(e,t);var i=new n;if(48!==e[i.place++])return!1;var r=s(e,i);if(r+i.place!==e.length)return!1;if(2!==e[i.place++])return!1;var a=s(e,i),o=e.slice(i.place,a+i.place);if(i.place+=a,2!==e[i.place++])return!1;var h=s(e,i);if(e.length!==h+i.place)return!1;var l=e.slice(i.place,h+i.place);return 0===o[0]&&128&o[1]&&(o=o.slice(1)),0===l[0]&&128&l[1]&&(l=l.slice(1)),this.r=new f(o),this.s=new f(l),this.recoveryParam=null,!0},r.prototype.toDER=function(e){var t=this.r.toArray(),i=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&i[0]&&(i=[0].concat(i)),t=a(t),i=a(i);!(i[0]||128&i[1]);)i=i.slice(1);var r=[2];o(r,t.length),r=r.concat(t),r.push(2),o(r,i.length);var n=r.concat(i),s=[48];return o(s,n.length),s=s.concat(n),c.encode(s,e)}},function(e,t,i){"use strict";function r(e){if(o("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof r))return new r(e);var e=s.curves[e].curve;this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=n.sha512}var n=i(16),s=i(9),a=s.utils,o=a.assert,f=a.parseBytes,h=i(188),c=i(189);e.exports=r,r.prototype.sign=function(e,t){e=f(e);var i=this.keyFromSecret(t),r=this.hashInt(i.messagePrefix(),e),n=this.g.mul(r),s=this.encodePoint(n),a=this.hashInt(s,i.pubBytes(),e).mul(i.priv()),o=r.add(a).umod(this.curve.n);return this.makeSignature({R:n,S:o,Rencoded:s})},r.prototype.verify=function(e,t,i){e=f(e),t=this.makeSignature(t);var r=this.keyFromPublic(i),n=this.hashInt(t.Rencoded(),r.pubBytes(),e),s=this.g.mul(t.S()),a=t.R().add(r.pub().mul(n));return a.eq(s)},r.prototype.hashInt=function(){for(var e=this.hash(),t=0;t=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,i,n)}var n=i(16),s=i(9),a=s.utils,o=a.assert;e.exports=r,r.prototype._init=function(e,t,i){var r=e.concat(t).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var n=0;n=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(i||[])),this.reseed=1},r.prototype.generate=function(e,t,i,r){if(this.reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(r=i,i=t,t=null),i&&(i=a.toArray(i,r),this._update(i));for(var n=[];n.length>8,a=255&n;s?i.push(s,a):i.push(a)}return i}function n(e){return 1===e.length?"0"+e:e}function s(e){for(var t="",i=0;i=0;){var s;if(n.isOdd()){var a=n.andln(r-1);s=a>(r>>1)-1?(r>>1)-a:a,n.isubn(s)}else s=0;i.push(s);for(var o=0!==n.cmpn(0)&&0===n.andln(r-1)?t+1:1,f=1;f0||t.cmpn(-n)>0;){var s=e.andln(3)+r&3,a=t.andln(3)+n&3;3===s&&(s=-1),3===a&&(a=-1);var o;if(0===(1&s))o=0;else{var f=e.andln(7)+r&7;o=3!==f&&5!==f||2!==a?s:-s}i[0].push(o);var h;if(0===(1&a))h=0;else{var f=t.andln(7)+n&7;h=3!==f&&5!==f||2!==s?a:-a}i[1].push(h),2*r===o+1&&(r=1-r),2*n===h+1&&(n=1-n),e.iushrn(1),t.iushrn(1)}return i}function f(e,t,i){var r="_"+t;e.prototype[t]=function(){return void 0!==this[r]?this[r]:this[r]=i.call(this)}}function h(e){return"string"==typeof e?l.toArray(e,"hex"):e}function c(e){return new u(e,"hex","le")}var l=t,u=i(7);l.assert=function(e,t){if(!e)throw new Error(t||"Assertion failed")},l.toArray=r,l.zero2=n,l.toHex=s,l.encode=function(e,t){return"hex"===t?s(e):e},l.getNAF=a,l.getJSF=o,l.cachedProperty=f,l.parseBytes=h,l.intFromLE=c},function(e,t,i){function r(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var n=i(16),s=n.utils,a=s.assert;t.BlockHash=r,r.prototype.update=function(e,t){if(e=s.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){e=this.pending;var i=e.length%this._delta8;this.pending=e.slice(e.length-i,e.length),0===this.pending.length&&(this.pending=null),e=s.join32(e,0,e.length-i,this.endian);for(var r=0;r>>24&255,r[n++]=e>>>16&255,r[n++]=e>>>8&255,r[n++]=255&e}else{r[n++]=255&e,r[n++]=e>>>8&255,r[n++]=e>>>16&255,r[n++]=e>>>24&255,r[n++]=0,r[n++]=0,r[n++]=0,r[n++]=0;for(var s=8;sthis.blockSize&&(e=(new this.Hash).update(e).digest()),a(e.length<=this.blockSize);for(var t=e.length;t>>3}function p(e){return C(e,17)^C(e,19)^e>>>10}function b(e,t,i,r){return 0===e?f(t,i,r):1===e||3===e?c(t,i,r):2===e?h(t,i,r):void 0}function m(e,t,i,r,n,s){var a=e&i^~e&n;return a<0&&(a+=4294967296),a}function w(e,t,i,r,n,s){var a=t&r^~t&s;return a<0&&(a+=4294967296),a}function g(e,t,i,r,n,s){var a=e&i^e&n^i&n;return a<0&&(a+=4294967296),a}function v(e,t,i,r,n,s){var a=t&r^t&s^r&s;return a<0&&(a+=4294967296),a}function _(e,t){var i=L(e,t,28),r=L(t,e,2),n=L(t,e,7),s=i^r^n;return s<0&&(s+=4294967296),s}function y(e,t){var i=B(e,t,28),r=B(t,e,2),n=B(t,e,7),s=i^r^n;return s<0&&(s+=4294967296),s}function k(e,t){var i=L(e,t,14),r=L(e,t,18),n=L(t,e,9),s=i^r^n;return s<0&&(s+=4294967296),s}function E(e,t){var i=B(e,t,14),r=B(e,t,18),n=B(t,e,9),s=i^r^n;return s<0&&(s+=4294967296),s}function A(e,t){var i=L(e,t,1),r=L(e,t,8),n=U(e,t,7),s=i^r^n;return s<0&&(s+=4294967296),s}function S(e,t){var i=B(e,t,1),r=B(e,t,8),n=j(e,t,7),s=i^r^n;return s<0&&(s+=4294967296),s}function M(e,t){var i=L(e,t,19),r=L(t,e,29),n=U(e,t,6),s=i^r^n;return s<0&&(s+=4294967296),s}function T(e,t){var i=B(e,t,19),r=B(t,e,29),n=j(e,t,6),s=i^r^n;return s<0&&(s+=4294967296),s}var x=i(16),R=x.utils,I=R.assert,C=R.rotr32,P=R.rotl32,O=R.sum32,N=R.sum32_4,D=R.sum32_5,L=R.rotr64_hi,B=R.rotr64_lo,U=R.shr64_hi,j=R.shr64_lo,F=R.sum64,z=R.sum64_hi,q=R.sum64_lo,H=R.sum64_4_hi,G=R.sum64_4_lo,V=R.sum64_5_hi,W=R.sum64_5_lo,K=x.common.BlockHash,Y=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],Z=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],$=[1518500249,1859775393,2400959708,3395469782];R.inherits(r,K),t.sha256=r,r.blockSize=512,r.outSize=256,r.hmacStrength=192,r.padLength=64,r.prototype._update=function(e,t){for(var i=this.W,r=0;r<16;r++)i[r]=e[t+r];for(;r>8,a=255&n;s?i.push(s,a):i.push(a)}else for(var r=0;r>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24;return t>>>0}function a(e,t){for(var i="",r=0;r>>0}return s}function c(e,t){for(var i=new Array(4*e.length),r=0,n=0;r>>24,i[n+1]=s>>>16&255,i[n+2]=s>>>8&255,i[n+3]=255&s):(i[n+3]=s>>>24,i[n+2]=s>>>16&255,i[n+1]=s>>>8&255,i[n]=255&s)}return i}function l(e,t){return e>>>t|e<<32-t}function u(e,t){return e<>>32-t}function d(e,t){return e+t>>>0}function p(e,t,i){return e+t+i>>>0}function b(e,t,i,r){return e+t+i+r>>>0}function m(e,t,i,r,n){return e+t+i+r+n>>>0}function w(e,t){if(!e)throw new Error(t||"Assertion failed")}function g(e,t,i,r){var n=e[t],s=e[t+1],a=r+s>>>0,o=(a>>0,e[t+1]=a}function v(e,t,i,r){var n=t+r>>>0,s=(n>>0}function _(e,t,i,r){var n=t+r;return n>>>0}function y(e,t,i,r,n,s,a,o){var f=0,h=t;h=h+r>>>0,f+=h>>0,f+=h>>0,f+=h>>0}function k(e,t,i,r,n,s,a,o){var f=t+r+s+o;return f>>>0}function E(e,t,i,r,n,s,a,o,f,h){var c=0,l=t;l=l+r>>>0,c+=l>>0,c+=l>>0,c+=l>>0,c+=l>>0}function A(e,t,i,r,n,s,a,o,f,h){var c=t+r+s+o+h;return c>>>0}function S(e,t,i){var r=t<<32-i|e>>>i;return r>>>0}function M(e,t,i){var r=e<<32-i|t>>>i;return r>>>0}function T(e,t,i){return e>>>i}function x(e,t,i){var r=e<<32-i|t>>>i;return r>>>0}var R=t,I=i(2);R.toArray=r,R.toHex=n,R.htonl=s,R.toHex32=a,R.zero2=o,R.zero8=f,R.join32=h,R.split32=c,R.rotr32=l,R.rotl32=u,R.sum32=d,R.sum32_3=p,R.sum32_4=b,R.sum32_5=m,R.assert=w,R.inherits=I,t.sum64=g,t.sum64_hi=v,t.sum64_lo=_,t.sum64_4_hi=y,t.sum64_4_lo=k,t.sum64_5_hi=E,t.sum64_5_lo=A,t.rotr64_hi=S,t.rotr64_lo=M,t.shr64_hi=T,t.shr64_lo=x},function(e,t,i){var r=i(11),n=i(199),s=i(140),a=i(2),o=e.exports=function(e,t){var i=this;i.writable=!0,i.xhr=e,i.body=[],i.uri=(t.protocol||"http:")+"//"+t.host+(t.port?":"+t.port:"")+(t.path||"/"),"undefined"==typeof t.withCredentials&&(t.withCredentials=!0);try{e.withCredentials=t.withCredentials}catch(e){}if(t.responseType)try{e.responseType=t.responseType}catch(e){}if(e.open(t.method||"GET",i.uri,!0),e.onerror=function(e){i.emit("error",new Error("Network error"))},i._headers={},t.headers)for(var r=f(t.headers),a=0;athis.offset&&(this.emit("data",t.slice(this.offset)),this.offset=t.length))};var f=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t){t.read=function(e,t,i,r,n){var s,a,o=8*n-r-1,f=(1<>1,c=-7,l=i?n-1:0,u=i?-1:1,d=e[t+l];for(l+=u,s=d&(1<<-c)-1,d>>=-c,c+=o;c>0;s=256*s+e[t+l],l+=u,c-=8);for(a=s&(1<<-c)-1,s>>=-c,c+=r;c>0;a=256*a+e[t+l],l+=u,c-=8);if(0===s)s=1-h;else{if(s===f)return a?NaN:(d?-1:1)*(1/0);a+=Math.pow(2,r),s-=h}return(d?-1:1)*a*Math.pow(2,s-r)},t.write=function(e,t,i,r,n,s){var a,o,f,h=8*s-n-1,c=(1<>1,u=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:s-1,p=r?1:-1,b=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(f=Math.pow(2,-a))<1&&(a--,f*=2),t+=a+l>=1?u/f:u*Math.pow(2,1-l),t*f>=2&&(a++,f/=2),a+l>=c?(o=0,a=c):a+l>=1?(o=(t*f-1)*Math.pow(2,n),a+=l):(o=t*Math.pow(2,l-1)*Math.pow(2,n),a=0));n>=8;e[i+d]=255&o,d+=p,o/=256,n-=8);for(a=a<0;e[i+d]=255&a,d+=p,a/=256,h-=8);e[i+d-p]|=128*b}},function(e,t){var i=[].indexOf;e.exports=function(e,t){if(i)return e.indexOf(t);for(var r=0;r=6.0.0 <7.0.0",type:"range"},"/home/travis/build/hydrabolt/discord.js/node_modules/browserify-sign"]],_from:"elliptic@>=6.0.0 <7.0.0",_id:"elliptic@6.3.2",_inCache:!0,_location:"/elliptic",_nodeVersion:"6.3.0",_npmOperationalInternal:{host:"packages-16-east.internal.npmjs.com",tmp:"tmp/elliptic-6.3.2.tgz_1473938837205_0.3108903462998569"},_npmUser:{name:"indutny",email:"fedor@indutny.com"},_npmVersion:"3.10.3",_phantomChildren:{},_requested:{raw:"elliptic@^6.0.0",scope:null,escapedName:"elliptic",name:"elliptic",rawSpec:"^6.0.0",spec:">=6.0.0 <7.0.0",type:"range"},_requiredBy:["/browserify-sign","/create-ecdh"],_resolved:"https://registry.npmjs.org/elliptic/-/elliptic-6.3.2.tgz",_shasum:"e4c81e0829cf0a65ab70e998b8232723b5c1bc48",_shrinkwrap:null,_spec:"elliptic@^6.0.0",_where:"/home/travis/build/hydrabolt/discord.js/node_modules/browserify-sign",author:{name:"Fedor Indutny",email:"fedor@indutny.com"},bugs:{url:"https://github.com/indutny/elliptic/issues"},dependencies:{"bn.js":"^4.4.0",brorand:"^1.0.1","hash.js":"^1.0.0",inherits:"^2.0.1"},description:"EC cryptography",devDependencies:{brfs:"^1.4.3",coveralls:"^2.11.3",grunt:"^0.4.5","grunt-browserify":"^5.0.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^8.6.2",istanbul:"^0.4.2",jscs:"^2.9.0",jshint:"^2.6.0",mocha:"^2.1.0"},directories:{},dist:{shasum:"e4c81e0829cf0a65ab70e998b8232723b5c1bc48",tarball:"https://registry.npmjs.org/elliptic/-/elliptic-6.3.2.tgz"},files:["lib"],gitHead:"cbace4683a4a548dc0306ef36756151a20299cd5",homepage:"https://github.com/indutny/elliptic",keywords:["EC","Elliptic","curve","Cryptography"],license:"MIT",main:"lib/elliptic.js",maintainers:[{name:"indutny",email:"fedor@indutny.com"}],name:"elliptic",optionalDependencies:{},readme:"ERROR: No README data found!",repository:{type:"git",url:"git+ssh://git@github.com/indutny/elliptic.git"},scripts:{jscs:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",jshint:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",lint:"npm run jscs && npm run jshint",test:"npm run lint && npm run unit",unit:"istanbul test _mocha --reporter=spec test/index.js",version:"grunt dist && git add dist/"},version:"6.3.2"}},function(e,t){e.exports={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}},function(module,exports,__webpack_require__){(function(process,__dirname){function globalEval(e){eval.call(null,e)}function assert(e,t){e||abort("Assertion failed: "+t)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,t,i,r){switch(i=i||"i8","*"===i.charAt(i.length-1)&&(i="i32"),i){case"i1":HEAP8[e>>0]=t;break;case"i8":HEAP8[e>>0]=t;break;case"i16":HEAP16[e>>1]=t;break;case"i32":HEAP32[e>>2]=t;break;case"i64":tempI64=[t>>>0,(tempDouble=t,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=t;break;case"double":HEAPF64[e>>3]=t;break;default:abort("invalid type for setValue: "+i)}}function getValue(e,t,i){switch(t=t||"i8","*"===t.charAt(t.length-1)&&(t="i32"),t){case"i1":return HEAP8[e>>0];case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":return HEAP32[e>>2];case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+t)}return null}function allocate(e,t,i,r){var n,s;"number"==typeof e?(n=!0,s=e):(n=!1,s=e.length);var a,o="string"==typeof t?t:null;if(a=i==ALLOC_NONE?r:["function"==typeof _malloc?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][void 0===i?ALLOC_STATIC:i](Math.max(s,o?1:t.length)),n){var f,r=a;for(assert(0==(3&a)),f=a+(s&-4);r>2]=0;for(f=a+s;r>0]=0;return a}if("i8"===o)return e.subarray||e.slice?HEAPU8.set(e,a):HEAPU8.set(new Uint8Array(e),a),a;for(var h,c,l,u=0;u>0],r|=i,0==i&&!t)break;if(n++,t&&n==t)break}t||(t=n);var s="";if(r<128){for(var a,o=1024;t>0;)a=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(t,o))),s=s?s+a:a,e+=o,t-=o;return s}return Module.UTF8ToString(e)}function UTF8ArrayToString(e,t){for(var i,r,n,s,a,o,f="";;){if(i=e[t++],!i)return f;if(128&i)if(r=63&e[t++],192!=(224&i))if(n=63&e[t++],224==(240&i)?i=(15&i)<<12|r<<6|n:(s=63&e[t++],240==(248&i)?i=(7&i)<<18|r<<12|n<<6|s:(a=63&e[t++],248==(252&i)?i=(3&i)<<24|r<<18|n<<12|s<<6|a:(o=63&e[t++],i=(1&i)<<30|r<<24|n<<18|s<<12|a<<6|o))),i<65536)f+=String.fromCharCode(i);else{var h=i-65536;f+=String.fromCharCode(55296|h>>10,56320|1023&h)}else f+=String.fromCharCode((31&i)<<6|r);else f+=String.fromCharCode(i)}}function stringToUTF8Array(e,t,i,r){if(!(r>0))return 0;for(var n=i,s=i+r-1,a=0;a=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),o<=127){if(i>=s)break;t[i++]=o}else if(o<=2047){if(i+1>=s)break;t[i++]=192|o>>6,t[i++]=128|63&o}else if(o<=65535){if(i+2>=s)break;t[i++]=224|o>>12,t[i++]=128|o>>6&63,t[i++]=128|63&o}else if(o<=2097151){if(i+3>=s)break;t[i++]=240|o>>18,t[i++]=128|o>>12&63,t[i++]=128|o>>6&63,t[i++]=128|63&o}else if(o<=67108863){if(i+4>=s)break;t[i++]=248|o>>24,t[i++]=128|o>>18&63,t[i++]=128|o>>12&63,t[i++]=128|o>>6&63,t[i++]=128|63&o}else{if(i+5>=s)break;t[i++]=252|o>>30,t[i++]=128|o>>24&63,t[i++]=128|o>>18&63,t[i++]=128|o>>12&63,t[i++]=128|o>>6&63,t[i++]=128|63&o}}return t[i]=0,i-n}function lengthBytesUTF8(e){for(var t=0,i=0;i=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++i)),r<=127?++t:t+=r<=2047?2:r<=65535?3:r<=2097151?4:r<=67108863?5:6}return t}function demangle(e){var t=!!Module.___cxa_demangle;if(t)try{var i=_malloc(e.length);writeStringToMemory(e.substr(1),i);var r=_malloc(4),n=Module.___cxa_demangle(i,0,0,r);if(0===getValue(r,"i32")&&n)return Pointer_stringify(n)}catch(t){return e}finally{i&&_free(i),r&&_free(r),n&&_free(n)}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),e}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,function(e){var t=demangle(e);return e===t?e:e+" ["+t+"]"})}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}function callRuntimeCallbacks(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var i=t.func;"number"==typeof i?void 0===t.arg?Runtime.dynCall("v",i):Runtime.dynCall("vi",i,[t.arg]):i(void 0===t.arg?null:t.arg)}else t()}}function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,t,i){var r=i>0?i:lengthBytesUTF8(e)+1,n=new Array(r),s=stringToUTF8Array(e,n,0,n.length);return t&&(n.length=s),n}function writeStringToMemory(e,t,i){for(var r=intArrayFromString(e,i),n=0;n>0]=s,n+=1}}function writeArrayToMemory(e,t){for(var i=0;i>0]=e[i]}function writeAsciiToMemory(e,t,i){for(var r=0;r>0]=e.charCodeAt(r);i||(HEAP8[t>>0]=0)}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/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 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator?navigator.hardwareConcurrency||1:1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}function embind_init_charCodes(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);embind_charCodes=e}function readLatin1String(e){for(var t="",i=e;HEAPU8[i];)t+=embind_charCodes[HEAPU8[i++]];return t}function makeLegalFunctionName(e){if(void 0===e)return"_unknown";e=e.replace(/[^a-zA-Z0-9_]/g,"$");var t=e.charCodeAt(0);return t>=char_0&&t<=char_9?"_"+e:e}function createNamedFunction(e,t){return e=makeLegalFunctionName(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function extendError(e,t){var i=createNamedFunction(t,function(e){this.name=t,this.message=e;var i=new Error(e).stack;void 0!==i&&(this.stack=this.toString()+"\n"+i.replace(/^Error(:[^\n]*)?\n/,""))});return i.prototype=Object.create(e.prototype),i.prototype.constructor=i,i.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},i}function throwBindingError(e){throw new BindingError(e)}function throwInternalError(e){throw new InternalError(e)}function whenDependentTypesAreResolved(e,t,i){function r(t){var r=i(t);r.length!==e.length&&throwInternalError("Mismatched type converter count");for(var n=0;n>2]=e,e=___cxa_find_matching_catch.buffer;for(var n=0;n>2],t.adjusted=e,0|(asm.setTempRet0(r[n]),e);return e=HEAP32[e>>2],0|(asm.setTempRet0(i),e)}function ___cxa_throw(e,t,i){throw EXCEPTIONS.infos[e]={ptr:e,adjusted:e,type:t,destructor:i,refcount:0},EXCEPTIONS.last=e,"uncaught_exception"in __ZSt18uncaught_exceptionv?__ZSt18uncaught_exceptionv.uncaught_exception++:__ZSt18uncaught_exceptionv.uncaught_exception=1,e+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function getShiftFromSize(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}function __embind_register_bool(e,t,i,r,n){var s=getShiftFromSize(i);t=readLatin1String(t),registerType(e,{name:t,fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:8,readValueFromPointer:function(e){var r;if(1===i)r=HEAP8;else if(2===i)r=HEAP16;else{if(4!==i)throw new TypeError("Unknown boolean type size: "+t);r=HEAP32}return this.fromWireType(r[e>>s])},destructorFunction:null})}function _abort(){Module.abort()}function _free(){}function _malloc(e){var t=Runtime.dynamicAlloc(e+8);return t+8&4294967288}function simpleReadValueFromPointer(e){return this.fromWireType(HEAPU32[e>>2])}function __embind_register_std_string(e,t){t=readLatin1String(t),registerType(e,{name:t,fromWireType:function(e){for(var t=HEAPU32[e>>2],i=new Array(t),r=0;r>2]=s;for(var o=0;o255&&(_free(a),throwBindingError("String has UTF-16 code units that do not fit in 8 bits")),HEAPU8[a+4+o]=f}return null!==e&&e.push(_free,a),a},argPackAdvance:8,readValueFromPointer:simpleReadValueFromPointer,destructorFunction:function(e){_free(e)}})}function __embind_register_std_wstring(e,t,i){i=readLatin1String(i);var r,n;2===t?(r=function(){return HEAPU16},n=1):4===t&&(r=function(){return HEAPU32},n=2),registerType(e,{name:i,fromWireType:function(e){for(var t=r(),i=HEAPU32[e>>2],s=new Array(i),a=e+4>>n,o=0;o>2]=a;for(var f=o+4>>n,h=0;h>1]}:function(e){return HEAPU16[e>>1]};case 2:return i?function(e){return HEAP32[e>>2]}:function(e){return HEAPU32[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function __embind_register_integer(e,t,i,r,n){t=readLatin1String(t),n===-1&&(n=4294967295);var s=getShiftFromSize(i),a=function(e){return e};if(0===r){var o=32-8*i;a=function(e){return e<>>o}}registerType(e,{name:t,fromWireType:a,toWireType:function(e,i){if("number"!=typeof i&&"boolean"!=typeof i)throw new TypeError('Cannot convert "'+_embind_repr(i)+'" to '+this.name);if(in)throw new TypeError('Passing a number "'+_embind_repr(i)+'" from JS side to C/C++ side to an argument of type "'+t+'", which is outside the valid range ['+r+", "+n+"]!");return 0|i},argPackAdvance:8,readValueFromPointer:integerReadValueFromPointer(t,s,0!==r),destructorFunction:null})}function __emval_decref(e){e>4&&0===--emval_handle_array[e].refcount&&(emval_handle_array[e]=void 0,emval_free_list.push(e))}function count_emval_handles(){for(var e=0,t=5;t>=2;var t=HEAPU32,i=t[e],r=t[e+1];return new s(t.buffer,r,i)}var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],s=n[t];i=readLatin1String(i),registerType(e,{name:i,fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{ignoreDuplicateRegistrations:!0})}function floatReadValueFromPointer(e,t){switch(t){case 2:return function(e){return this.fromWireType(HEAPF32[e>>2])};case 3:return function(e){return this.fromWireType(HEAPF64[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function __embind_register_float(e,t,i){var r=getShiftFromSize(i);t=readLatin1String(t),registerType(e,{name:t,fromWireType:function(e){return e},toWireType:function(e,t){if("number"!=typeof t&&"boolean"!=typeof t)throw new TypeError('Cannot convert "'+_embind_repr(t)+'" to '+this.name);return t},argPackAdvance:8,readValueFromPointer:floatReadValueFromPointer(t,r),destructorFunction:null})}function _emscripten_memcpy_big(e,t,i){return HEAPU8.set(HEAPU8.subarray(t,t+i),e),e}function _llvm_stackrestore(e){var t=_llvm_stacksave,i=t.LLVM_SAVEDSTACKS[e];t.LLVM_SAVEDSTACKS.splice(e,1),Runtime.stackRestore(i)}function _sbrk(e){var t=_sbrk;t.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),t.called=!0,assert(Runtime.dynamicAlloc),t.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var i=DYNAMICTOP;if(0!=e){var r=t.alloc(e);if(!r)return-1>>>0}return i}function _llvm_stacksave(){var e=_llvm_stacksave;return e.LLVM_SAVEDSTACKS||(e.LLVM_SAVEDSTACKS=[]),e.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),e.LLVM_SAVEDSTACKS.length-1}function ___gxx_personality_v0(){}function heap32VectorToArray(e,t){for(var i=[],r=0;r>2)+r]);return i}function runDestructors(e){for(;e.length;){var t=e.pop(),i=e.pop();i(t)}}function __embind_register_class_constructor(e,t,i,r,n,s){var a=heap32VectorToArray(t,i);n=requireFunction(r,n),whenDependentTypesAreResolved([],[e],function(e){e=e[0];var i="constructor "+e.name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=function(){throwUnboundTypeError("Cannot construct "+e.name+" due to unbound types",a)},whenDependentTypesAreResolved([],a,function(r){return e.registeredClass.constructor_body[t-1]=function(){arguments.length!==t-1&&throwBindingError(i+" called with "+arguments.length+" arguments, expected "+(t-1));var e=[],a=new Array(t);a[0]=s;for(var o=1;o>2]=t),t}function _pthread_self(){return 0}function new_(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var i=createNamedFunction(e.name||"unknownFunctionName",function(){});i.prototype=e.prototype;var r=new i,n=e.apply(r,t);return n instanceof Object?n:r}function craftInvokerFunction(e,t,i,r,n){var s=t.length;s<2&&throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==i,o="",f="",h=0;h0?", ":"")+f);var b="void"!==t[0].name;if(c+=(b?"var rv = ":"")+"invoker(fn"+(f.length>0?", ":"")+f+");\n",l)c+="runDestructors(destructors);\n";else for(var h=a?1:2;h0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),t()},1)):t()))}function exit(e,t){if(!t||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?process.exit(e):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}function abort(e){void 0!==e?(Module.print(e),Module.printErr(e),e=JSON.stringify(e)):e="",ABORT=!0,EXITSTATUS=1;var t="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.",i="abort("+e+") at "+stackTrace()+t;throw abortDecorators&&abortDecorators.forEach(function(t){i=t(i,e)}),i}var Module;Module||(Module=("undefined"!=typeof Module?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if("WEB"===Module.ENVIRONMENT)ENVIRONMENT_IS_WEB=!0;else if("WORKER"===Module.ENVIRONMENT)ENVIRONMENT_IS_WORKER=!0;else if("NODE"===Module.ENVIRONMENT)ENVIRONMENT_IS_NODE=!0;else{if("SHELL"!==Module.ENVIRONMENT)throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");ENVIRONMENT_IS_SHELL=!0}else ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&!0&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(e,t){nodeFS||(nodeFS=__webpack_require__(12)),nodePath||(nodePath=__webpack_require__(17)),e=nodePath.normalize(e);var i=nodeFS.readFileSync(e);return i||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),i=nodeFS.readFileSync(e)),i&&!t&&(i=i.toString()),i},Module.readBinary=function(e){var t=Module.read(e,!0);return t.buffer||(t=new Uint8Array(t)),assert(t.buffer),t},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),module.exports=Module,Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var t=read(e,"binary");return assert("object"==typeof t),t},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:"undefined"!=typeof arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},Module.readAsync=function(e,t,i){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?t(r.response):i()},r.onerror=i,r.send(null)},"undefined"!=typeof arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),"undefined"==typeof Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(e){tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var t=parseInt(e.substr(1));return assert(t%8===0),t/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,t){return"double"===t||"i64"===t?7&e&&(assert(4===(7&e)),e+=4):assert(0===(3&e)),e},getAlignSize:function(e,t,i){return i||"i64"!=e&&"double"!=e?e?Math.min(t||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(t,8):8},dynCall:function(e,t,i){return i&&i.length?(i.splice||(i=Array.prototype.slice.call(i)),i.splice(0,0,t),Module["dynCall_"+e].apply(null,i)):Module["dynCall_"+e].call(null,t)},functionPointers:[],addFunction:function(e){for(var t=0;t=TOTAL_MEMORY){var i=enlargeMemory();if(!i)return DYNAMICTOP=t,0}return t},alignMemory:function(e,t){var i=e=Math.ceil(e/(t?t:16))*(t?t:16);return i},makeBigInt:function(e,t,i){var r=i?+(e>>>0)+4294967296*+(t>>>0):+(e>>>0)+4294967296*+(0|t);return r},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0},ABORT=!1,EXITSTATUS=0,ccall;!function(){function parseJSFunc(e){var t=e.toString().match(sourceRegex).slice(1);return{arguments:t[0],body:t[1],returnValue:t[2]}}function ensureJSsource(){if(!JSsource){JSsource={};for(var e in JSfuncs)JSfuncs.hasOwnProperty(e)&&(JSsource[e]=parseJSFunc(JSfuncs[e]))}}var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var t=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,t),t},stringToC:function(e){var t=0;return null!==e&&void 0!==e&&0!==e&&(t=Runtime.stackAlloc((e.length<<2)+1),writeStringToMemory(e,t)),t}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,t,i,r,n){var s=getCFunc(e),a=[],o=0;if(r)for(var f=0;f>>16,r=65535&e,n=t>>>16,s=65535&t;return r*s+(i*s+r*n<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var t=0;t<32;t++)if(e&1<<31-t)return t; -return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+35488,__ATINIT__.push({func:function(){__GLOBAL__sub_I_opusscript_encoder_cpp()}},{func:function(){__GLOBAL__sub_I_bind_cpp()}}),allocate([32,90,0,0,152,108,0,0,160,90,0,0,172,108,0,0,0,0,0,0,8,0,0,0,160,90,0,0,193,108,0,0,1,0,0,0,8,0,0,0,188,90,0,0,7,130,0,0,0,0,0,0,1,0,0,0,72,0,0,0,0,0,0,0,32,90,0,0,70,130,0,0,188,90,0,0,120,130,0,0,0,0,0,0,1,0,0,0,72,0,0,0,0,0,0,0,188,90,0,0,216,130,0,0,0,0,0,0,1,0,0,0,72,0,0,0,0,0,0,0,32,90,0,0,36,131,0,0,32,90,0,0,71,131,0,0,32,90,0,0,132,131,0,0,32,90,0,0,200,131,0,0,32,90,0,0,14,132,0,0,32,90,0,0,76,132,0,0,32,90,0,0,147,132,0,0,32,90,0,0,207,132,0,0,32,90,0,0,20,133,0,0,32,90,0,0,81,133,0,0,32,90,0,0,94,134,0,0,32,90,0,0,156,134,0,0,32,90,0,0,219,134,0,0,32,90,0,0,148,135,0,0,72,90,0,0,114,135,0,0,16,1,0,0,0,0,0,0,72,90,0,0,31,135,0,0,240,0,0,0,0,0,0,0,72,90,0,0,68,135,0,0,32,1,0,0,0,0,0,0,32,90,0,0,101,135,0,0,72,90,0,0,161,135,0,0,232,0,0,0,0,0,0,0,72,90,0,0,225,135,0,0,16,1,0,0,0,0,0,0,72,90,0,0,189,135,0,0,56,1,0,0,0,0,0,0,72,90,0,0,3,136,0,0,16,1,0,0,0,0,0,0,132,90,0,0,43,136,0,0,132,90,0,0,45,136,0,0,132,90,0,0,48,136,0,0,132,90,0,0,50,136,0,0,132,90,0,0,52,136,0,0,132,90,0,0,54,136,0,0,132,90,0,0,56,136,0,0,132,90,0,0,58,136,0,0,132,90,0,0,60,136,0,0,132,90,0,0,62,136,0,0,132,90,0,0,64,136,0,0,132,90,0,0,66,136,0,0,132,90,0,0,68,136,0,0,132,90,0,0,70,136,0,0,72,90,0,0,72,136,0,0,240,0,0,0,0,0,0,0,16,0,0,0,168,1,0,0,168,1,0,0,168,1,0,0,168,1,0,0,16,0,0,0,168,1,0,0,168,1,0,0,168,1,0,0,168,1,0,0,168,1,0,0,16,0,0,0,168,1,0,0,168,1,0,0,168,1,0,0,0,0,157,62,0,64,94,62,0,192,4,62,0,128,237,62,0,64,137,62,0,0,0,0,0,192,76,63,0,0,205,61,0,0,0,0,34,109,0,0,42,109,0,0,59,109,0,0,76,109,0,0,91,109,0,0,108,109,0,0,132,109,0,0,146,109,0,0,16,39,0,0,232,3,0,0,248,42,0,0,232,3,0,0,188,52,0,0,232,3,0,0,176,54,0,0,208,7,0,0,224,46,0,0,232,3,0,0,176,54,0,0,232,3,0,0,128,62,0,0,232,3,0,0,32,78,0,0,232,3,0,0,240,85,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,0,0,16,39,0,0,16,39,0,0,248,42,0,0,248,42,0,0,128,62,0,0,188,52,0,0,188,52,0,0,152,58,0,0,152,58,0,0,32,78,0,0,128,62,0,0,128,62,0,0,80,70,0,0,80,70,0,0,192,93,0,0,80,70,0,0,80,70,0,0,8,82,0,0,8,82,0,0,0,125,0,0,240,85,0,0,240,85,0,0,96,109,0,0,96,109,0,0,0,250,0,0,112,148,0,0,112,148,0,0,80,195,0,0,80,195,0,0,230,90,52,56,119,78,51,57,211,217,201,57,146,145,51,58,204,96,140,58,97,251,201,58,153,126,9,59,203,128,51,59,213,37,99,59,119,46,140,59,168,138,169,59,69,184,201,59,135,166,236,59,232,46,9,60,174,102,29,60,247,2,51,60,147,255,73,60,79,88,98,60,94,17,124,60,46,145,139,60,189,199,153,60,92,172,168,60,243,60,184,60,129,121,200,60,238,95,217,60,57,240,234,60,99,42,253,60,53,7,8,61,16,204,17,61,205,228,27,61,97,80,38,61,203,14,49,61,0,31,60,61,254,128,71,61,198,52,83,61,63,56,95,61,105,139,107,61,69,46,120,61,105,144,130,61,123,48,137,61,224,247,143,61,138,229,150,61,123,249,157,61,177,51,165,61,33,147,172,61,80,24,180,61,51,194,187,61,79,145,195,61,18,132,203,61,2,155,211,61,31,214,219,61,215,51,228,61,175,180,236,61,33,88,245,61,168,29,254,61,161,130,3,62,242,6,8,62,199,155,12,62,221,64,17,62,52,246,21,62,69,187,26,62,17,144,31,62,84,116,36,62,203,103,41,62,51,106,46,62,141,123,51,62,82,155,56,62,197,201,61,62,28,6,67,62,89,80,72,62,122,168,77,62,183,13,83,62,82,128,88,62,8,0,94,62,84,140,99,62,242,36,105,62,37,202,110,62,36,123,116,62,172,55,122,62,0,0,128,62,171,233,130,62,249,216,133,62,133,205,136,62,80,199,139,62,55,198,142,62,247,201,145,62,179,210,148,62,38,224,151,62,15,242,154,62,108,8,158,62,28,35,161,62,255,65,164,62,208,100,167,62,177,139,170,62,28,182,173,62,84,228,176,62,211,21,180,62,186,74,183,62,232,130,186,62,249,189,189,62,13,252,192,62,226,60,196,62,86,128,199,62,71,198,202,62,149,14,206,62,251,88,209,62,122,165,212,62,241,243,215,62,28,68,219,62,217,149,222,62,8,233,225,62,167,61,229,62,83,147,232,62,12,234,235,62,175,65,239,62,28,154,242,62,14,243,245,62,136,76,249,62,34,166,252,62,0,0,0,63,239,172,1,63,188,89,3,63,121,6,5,63,242,178,6,63,41,95,8,63,250,10,10,63,86,182,11,63,44,97,13,63,124,11,15,63,19,181,16,63,242,93,18,63,8,6,20,63,67,173,21,63,130,83,23,63,182,248,24,63,220,156,26,63,213,63,28,63,143,225,29,63,249,129,31,63,4,33,33,63,140,190,34,63,163,90,36,63,23,245,37,63,214,141,39,63,242,36,41,63,40,186,42,63,152,77,44,63,1,223,45,63,114,110,47,63,202,251,48,63,249,134,50,63,237,15,52,63,167,150,53,63,4,27,55,63,229,156,56,63,88,28,58,63,61,153,59,63,131,19,61,63,42,139,62,63,0,0,64,63,21,114,65,63,55,225,66,63,119,77,68,63,195,182,69,63,235,28,71,63,254,127,72,63,236,223,73,63,146,60,75,63,225,149,76,63,234,235,77,63,121,62,79,63,143,141,80,63,43,217,81,63,29,33,83,63,115,101,84,63,13,166,85,63,235,226,86,63,252,27,88,63,47,81,89,63,115,130,90,63,201,175,91,63,14,217,92,63,67,254,93,63,88,31,95,63,75,60,96,63,252,84,97,63,106,105,98,63,133,121,99,63,60,133,100,63,160,140,101,63,126,143,102,63,214,141,103,63,186,135,104,63,246,124,105,63,156,109,106,63,138,89,107,63,209,64,108,63,79,35,109,63,4,1,110,63,241,217,110,63,243,173,111,63,28,125,112,63,73,71,113,63,124,12,114,63,180,204,114,63,240,135,115,63,16,62,116,63,19,239,116,63,250,154,117,63,179,65,118,63,63,227,118,63,141,127,119,63,173,22,120,63,126,168,120,63,1,53,121,63,52,188,121,63,24,62,122,63,157,186,122,63,194,49,123,63,119,163,123,63,187,15,124,63,159,118,124,63,2,216,124,63,244,51,125,63,101,138,125,63,68,219,125,63,179,38,126,63,143,108,126,63,235,172,126,63,163,231,126,63,218,28,127,63,127,76,127,63,129,118,127,63,2,155,127,63,208,185,127,63,28,211,127,63,197,230,127,63,203,244,127,63,47,253,127,63,0,0,128,63,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,160,0,0,0,200,0,0,0,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,208,37,180,62,151,57,173,62,9,165,159,62,250,237,139,62,205,172,101,62,248,169,42,62,52,48,210,61,90,241,13,61,90,241,13,189,52,48,210,189,248,169,42,190,205,172,101,190,250,237,139,190,9,165,159,190,151,57,173,190,208,37,180,190,135,138,177,62,27,131,150,62,96,35,73,62,196,66,141,61,196,66,141,189,96,35,73,190,27,131,150,190,135,138,177,190,135,138,177,190,27,131,150,190,96,35,73,190,196,66,141,189,196,66,141,61,96,35,73,62,27,131,150,62,135,138,177,62,151,57,173,62,205,172,101,62,90,241,13,61,248,169,42,190,9,165,159,190,208,37,180,190,250,237,139,190,52,48,210,189,52,48,210,61,250,237,139,62,208,37,180,62,9,165,159,62,248,169,42,62,90,241,13,189,205,172,101,190,151,57,173,190,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,9,165,159,62,90,241,13,61,250,237,139,190,151,57,173,190,52,48,210,189,205,172,101,62,208,37,180,62,248,169,42,62,248,169,42,190,208,37,180,190,205,172,101,190,52,48,210,61,151,57,173,62,250,237,139,62,90,241,13,189,9,165,159,190,27,131,150,62,196,66,141,189,135,138,177,190,96,35,73,190,96,35,73,62,135,138,177,62,196,66,141,61,27,131,150,190,27,131,150,190,196,66,141,61,135,138,177,62,96,35,73,62,96,35,73,190,135,138,177,190,196,66,141,189,27,131,150,62,250,237,139,62,248,169,42,190,151,57,173,190,90,241,13,61,208,37,180,62,52,48,210,61,9,165,159,190,205,172,101,190,205,172,101,62,9,165,159,62,52,48,210,189,208,37,180,190,90,241,13,189,151,57,173,62,248,169,42,62,250,237,139,190,22,235,181,64,30,107,94,64,35,164,226,63,185,197,204,63,91,124,113,64,184,115,10,64,116,96,161,63,136,245,142,63,19,155,245,63,0,0,0,0,5,193,35,61,233,125,163,61,37,150,244,61,226,116,34,62,172,28,74,62,221,37,113,62,52,186,139,62,180,119,158,62,228,191,176,62,173,136,194,62,37,201,211,62,24,122,228,62,24,149,244,62,200,10,2,63,28,124,9,63,73,157,16,63,202,109,23,63,192,237,29,63,159,29,36,63,84,254,41,63,46,145,47,63,224,215,52,63,99,212,57,63,240,136,62,63,211,247,66,63,171,35,71,63,23,15,75,63,216,188,78,63,173,47,82,63,106,106,85,63,206,111,88,63,154,66,91,63,142,229,93,63,75,91,96,63,110,166,98,63,100,201,100,63,155,198,102,63,111,160,104,63,247,88,106,63,128,242,107,63,223,110,109,63,11,208,110,63,202,23,112,63,224,71,113,63,225,97,114,63,77,103,115,63,150,89,116,63,12,58,117,63,255,9,118,63,138,202,118,63,187,124,119,63,192,33,120,63,98,186,120,63,157,71,121,63,75,202,121,63,36,67,122,63,242,178,122,63,59,26,123,63,200,121,123,63,32,210,123,63,200,35,124,63,55,111,124,63,242,180,124,63,94,245,124,63,224,48,125,63,236,103,125,63,183,154,125,63,180,201,125,63,6,245,125,63,17,29,126,63,24,66,126,63,78,100,126,63,211,131,126,63,253,160,126,63,237,187,126,63,195,212,126,63,179,235,126,63,239,0,127,63,135,20,127,63,141,38,127,63,67,55,127,63,170,70,127,63,227,84,127,63,15,98,127,63,47,110,127,63,100,121,127,63,190,131,127,63,63,141,127,63,24,150,127,63,56,158,127,63,194,165,127,63,163,172,127,63,16,179,127,63,245,184,127,63,119,190,127,63,114,195,127,63,25,200,127,63,108,204,127,63,91,208,127,63,6,212,127,63,111,215,127,63,131,218,127,63,102,221,127,63,21,224,127,63,130,226,127,63,205,228,127,63,230,230,127,63,205,232,127,63,146,234,127,63,70,236,127,63,200,237,127,63,40,239,127,63,120,240,127,63,166,241,127,63,195,242,127,63,191,243,127,63,186,244,127,63,148,245,127,63,94,246,127,63,39,247,127,63,207,247,127,63,119,248,127,63,253,248,127,63,148,249,127,63,9,250,127,63,127,250,127,63,244,250,127,63,89,251,127,63,173,251,127,63,1,252,127,63,84,252,127,63,152,252,127,63,219,252,127,63,30,253,127,63,80,253,127,63,130,253,127,63,181,253,127,63,231,253,127,63,9,254,127,63,59,254,127,63,93,254,127,63,126,254,127,63,143,254,127,63,176,254,127,63,210,254,127,63,227,254,127,63,244,254,127,63,21,255,127,63,38,255,127,63,55,255,127,63,71,255,127,63,88,255,127,63,88,255,127,63,105,255,127,63,122,255,127,63,122,255,127,63,139,255,127,63,155,255,127,63,155,255,127,63,155,255,127,63,172,255,127,63,172,255,127,63,189,255,127,63,189,255,127,63,189,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,92,201,154,191,92,181,225,188,29,102,249,60,41,7,147,189,76,199,183,189,254,214,206,61,107,200,73,189,213,203,143,61,162,63,153,60,131,208,139,59,7,3,132,61,170,154,224,189,251,30,245,189,156,141,17,188,11,14,47,62,98,192,50,62,25,231,135,190,14,59,130,189,104,203,145,190,133,66,136,191,57,185,79,62,205,228,19,64,254,212,48,192,107,127,215,190,71,229,50,63,144,218,206,64,190,165,135,61,26,70,155,61,241,153,81,61,23,176,46,61,228,249,236,61,194,18,135,190,137,197,57,188,107,74,66,190,44,114,190,189,15,94,147,190,234,136,189,61,164,240,234,60,161,171,163,188,103,180,69,190,98,101,132,62,179,149,151,60,242,210,237,61,140,77,203,61,221,29,0,188,97,51,136,190,116,69,145,62,227,199,40,65,110,133,40,191,198,53,86,63,106,222,81,65,36,209,160,192,56,103,140,191,137,42,151,189,64,184,167,60,103,126,53,60,37,104,2,187,152,220,139,59,239,146,24,62,41,174,154,61,238,207,229,61,197,96,84,189,236,162,232,60,105,97,197,60,53,77,78,189,26,24,25,190,227,199,8,190,182,159,12,190,150,33,238,61,117,202,115,62,250,97,164,61,125,168,30,61,218,27,188,61,180,142,129,64,129,149,79,64,2,43,55,191,225,93,2,65,218,44,239,193,246,40,148,63,255,147,255,189,102,233,185,60,124,187,64,189,90,0,9,189,207,206,19,61,20,106,55,61,121,110,41,187,165,84,157,188,137,151,231,189,90,72,224,61,75,81,51,189,51,156,28,61,194,238,34,188,128,99,31,190,82,12,48,62,141,123,99,190,91,8,6,191,166,34,58,189,54,144,14,191,23,244,66,63,23,217,44,192,69,13,98,191,113,29,99,63,107,15,63,63,168,25,186,190,127,137,184,62,66,91,14,61,15,97,124,188,56,153,225,59,58,135,27,188,169,33,128,61,86,182,79,189,178,164,23,61,110,10,117,60,67,86,119,61,71,94,145,189,118,138,21,189,47,196,202,61,104,185,34,189,150,10,146,62,113,231,2,62,77,45,27,190,59,29,136,62,111,117,170,189,14,67,85,61,140,214,101,63,202,224,224,62,144,131,64,192,163,1,248,63,103,68,209,190,54,172,153,62,227,194,181,191,69,74,243,61,178,70,61,189,146,230,79,61,22,83,196,188,77,235,128,189,165,98,8,188,160,53,223,189,183,222,5,189,46,143,213,61,96,168,136,189,8,242,66,61,75,175,141,61,63,127,107,189,121,33,13,190,10,242,83,190,129,236,37,190,88,114,85,190,45,39,17,62,57,41,148,190,154,153,73,191,163,146,186,61,240,50,51,62,10,46,2,192,198,80,68,64,133,124,156,63,95,210,6,64,48,139,159,61,171,63,98,190,60,106,12,62,216,26,128,189,100,118,150,189,195,14,51,62,84,195,14,190,131,32,198,61,103,30,170,61,167,7,101,190,13,250,210,61,147,139,209,189,146,6,103,62,123,20,30,62,83,93,64,62,22,226,15,188,77,188,3,62,60,50,190,190,86,68,245,190,73,76,32,62,106,48,141,63,196,124,161,191,19,13,178,61,28,181,18,190,57,185,11,64,18,218,56,192,38,27,207,61,119,219,157,190,203,101,99,62,140,44,105,190,51,31,12,188,188,93,47,60,26,189,253,59,149,207,151,188,8,181,250,60,252,55,111,190,62,86,165,61,13,54,245,188,175,150,27,62,31,19,137,190,22,143,70,61,87,93,7,62,150,148,107,190,235,59,183,62,168,114,154,61,167,149,226,61,103,155,163,191,174,216,83,64,156,192,84,63,188,118,89,190,203,161,165,193,252,24,147,191,62,46,0,61,22,207,170,188,109,194,3,188,13,228,52,60,76,23,226,60,94,191,253,58,3,71,93,188,3,132,201,187,99,6,79,61,150,27,49,188,190,138,88,58,58,177,199,188,119,103,165,190,169,211,139,61,238,8,15,191,175,7,211,189,41,34,51,62,108,152,1,190,136,13,214,189,43,79,216,62,52,234,139,189,171,91,185,191,106,189,51,63,173,78,54,63,236,24,215,190,201,60,38,64,232,221,243,188,27,145,57,189,185,75,7,189,85,29,13,189,165,90,213,188,35,17,122,189,144,195,187,61,245,244,209,60,72,108,215,189,184,241,157,61,150,18,184,189,131,161,62,190,154,92,164,190,4,27,103,190,120,11,52,62,56,129,129,62,107,40,61,63,2,212,26,64,153,129,234,61,4,200,160,190,198,164,27,63,129,178,221,63,87,38,6,192,164,253,27,191,240,80,152,63,51,53,233,61,233,239,53,190,169,237,160,189,98,49,178,190,76,105,194,189,155,132,156,188,254,240,171,62,96,4,109,189,194,104,6,62,43,18,243,189,64,75,7,190,254,95,117,190,119,167,65,58,2,102,62,190,146,232,5,190,239,116,223,190,94,16,17,190,187,191,16,61,20,198,91,189,132,137,197,189,111,45,99,62,109,168,248,63,76,137,228,191,91,211,116,64,35,190,111,64,182,185,23,64,227,170,182,191,215,183,61,61,62,230,104,189,170,229,88,61,29,114,211,189,226,147,174,190,198,194,208,61,79,145,79,191,195,98,52,62,3,119,240,62,144,222,203,60,19,213,219,189,99,71,19,190,169,61,59,189,229,122,71,63,75,144,17,190,9,129,33,61,106,161,36,62,200,38,53,191,91,181,27,191,126,24,137,63,124,155,162,191,249,189,17,64,54,205,203,64,10,20,5,63,165,73,85,192,70,122,1,190,179,80,193,189,15,198,217,60,14,62,126,61,52,147,57,60,169,249,130,190,29,176,150,189,125,219,130,189,206,112,195,189,88,226,81,190,21,24,149,59,62,81,99,61,5,105,38,190,235,230,18,191,183,124,132,62,140,185,75,62,61,164,179,60,75,230,192,190,43,50,2,191,22,24,157,189,25,142,39,191,248,165,143,64,103,237,88,64,227,25,22,192,193,57,49,193,167,116,139,64,15,127,213,63,227,129,82,189,253,114,140,189,204,192,55,188,190,157,243,57,254,123,112,190,116,92,173,190,227,167,17,190,212,126,43,190,24,177,15,190,150,176,214,189,48,100,213,189,144,204,52,60,123,190,230,189,57,165,178,61,42,224,46,190,69,155,179,189,224,157,252,61,43,133,32,190,158,208,75,62,116,208,101,189,126,54,102,63,242,249,167,61,143,194,165,191,164,231,241,60,55,166,17,64,235,228,112,191,169,2,36,188,156,111,228,189,154,93,7,190,171,9,226,189,126,29,24,61,207,152,147,188,19,0,45,188,234,106,161,60,33,229,39,61,192,163,92,189,78,155,209,189,224,208,64,189,139,78,54,62,105,25,137,190,231,167,216,189,95,207,215,189,194,73,127,61,52,190,47,189,194,195,52,62,247,234,35,190,168,58,18,192,101,141,246,191,116,98,95,62,180,188,26,65,146,116,83,64,160,55,225,191,122,200,4,62,228,73,242,61,246,36,16,62,235,223,138,61,12,62,77,59,137,205,108,188,56,33,254,188,96,209,200,188,25,60,12,62,132,189,25,62,45,11,230,61,121,161,154,189,35,221,143,190,130,83,127,190,19,129,46,191,240,31,1,61,12,6,151,62,139,187,38,61,202,197,144,62,4,57,176,190,69,129,234,192,30,81,97,190,142,119,15,191,191,154,239,191,3,62,227,192,179,210,8,65,196,66,5,64,192,93,118,62,189,24,162,63,174,156,253,60,179,152,140,191,122,142,92,63,186,189,196,191,106,106,137,63,198,138,140,64,99,180,38,192,82,12,192,62,126,200,251,61,169,231,85,59,40,244,70,63,137,7,2,192,108,206,113,191,82,242,128,64,216,127,133,190,63,111,14,63,148,220,97,190,2,183,226,191,40,212,91,191,230,150,194,191,215,190,72,191,25,32,177,62,201,21,72,189,50,146,165,190,160,168,64,191,202,112,4,63,170,96,96,63,69,100,184,191,174,185,195,190,108,236,198,191,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,128,65,0,0,192,65,0,0,16,66,0,0,48,66,0,0,72,66,0,0,96,66,0,0,120,66,0,0,134,66,0,0,144,66,0,0,158,66,0,0,176,66,0,0,212,66,0,0,6,67,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,0,65,0,0,0,65,149,139,0,0,55,152,0,0,255,165,0,0,4,181,0,0,103,197,0,0,69,215,0,0,193,234,0,0,255,255,0,0,128,187,0,0,120,0,0,0,21,0,0,0,21,0,0,0,0,154,89,63,0,0,0,0,0,0,128,63,0,0,128,63,220,90,0,0,3,0,0,0,8,0,0,0,120,0,0,0,11,0,0,0,58,110,0,0,8,91,0,0,36,21,0,0,128,7,0,0,3,0,0,0,4,23,0,0,60,38,0,0,116,38,0,0,172,38,0,0,228,38,0,0,136,1,0,0,58,98,0,0,33,111,0,0,169,112,0,0,106,28,141,56,82,187,30,58,8,105,220,58,130,237,87,59,137,99,178,59,3,42,5,60,48,220,57,60,180,62,119,60,28,163,158,60,209,242,197,60,254,134,241,60,155,171,16,61,5,173,42,61,132,194,70,61,83,230,100,61,17,137,130,61,135,159,147,61,203,178,165,61,209,190,184,61,58,191,204,61,84,175,225,61,20,138,247,61,14,37,7,62,217,244,18,62,95,49,31,62,104,215,43,62,138,227,56,62,48,82,70,62,148,31,84,62,191,71,98,62,142,198,112,62,176,151,127,62,82,91,135,62,96,15,143,62,152,229,150,62,121,219,158,62,112,238,166,62,216,27,175,62,251,96,183,62,17,187,191,62,70,39,200,62,183,162,208,62,120,42,217,62,148,187,225,62,12,83,234,62,222,237,242,62,6,137,251,62,190,16,2,63,31,90,6,63,36,159,10,63,80,222,14,63,43,22,19,63,65,69,23,63,37,106,27,63,115,131,31,63,206,143,35,63,230,141,39,63,116,124,43,63,63,90,47,63,25,38,51,63,231,222,54,63,153,131,58,63,51,19,62,63,197,140,65,63,119,239,68,63,127,58,72,63,39,109,75,63,206,134,78,63,229,134,81,63,241,108,84,63,142,56,87,63,105,233,89,63,69,127,92,63,250,249,94,63,115,89,97,63,175,157,99,63,193,198,101,63,207,212,103,63,17,200,105,63,210,160,107,63,110,95,109,63,80,4,111,63,244,143,112,63,230,2,114,63,189,93,115,63,31,161,116,63,191,205,117,63,87,228,118,63,176,229,119,63,151,210,120,63,227,171,121,63,115,114,122,63,39,39,123,63,231,202,123,63,157,94,124,63,53,227,124,63,156,89,125,63,189,194,125,63,134,31,126,63,222,112,126,63,171,183,126,63,207,244,126,63,38,41,127,63,134,85,127,63,190,122,127,63,150,153,127,63,204,178,127,63,20,199,127,63,28,215,127,63,130,227,127,63,221,236,127,63,182,243,127,63,138,248,127,63,200,251,127,63,214,253,127,63,7,255,127,63,165,255,127,63,232,255,127,63,253,255,127,63,0,0,128,63,224,1,0,0,135,136,8,59,255,255,255,255,5,0,96,0,3,0,32,0,4,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,50,91,0,0,60,23,0,0,0,0,0,0,0,0,128,63,0,0,0,128,99,250,127,63,191,117,86,188,139,233,127,63,10,113,214,188,121,205,127,63,231,206,32,189,47,166,127,63,58,94,86,189,175,115,127,63,19,242,133,189,249,53,127,63,42,175,160,189,18,237,126,63,51,101,187,189,253,152,126,63,4,19,214,189,188,57,126,63,115,183,240,189,85,207,125,63,168,168,5,190,203,89,125,63,187,239,18,190,37,217,124,63,92,48,32,190,103,77,124,63,245,105,45,190,152,182,123,63,243,155,58,190,190,20,123,63,194,197,71,190,226,103,122,63,205,230,84,190,9,176,121,63,130,254,97,190,60,237,120,63,77,12,111,190,132,31,120,63,156,15,124,190,234,70,119,63,238,131,132,190,119,99,118,63,62,250,138,190,54,117,117,63,117,106,145,190,48,124,116,63,76,212,151,190,113,120,115,63,122,55,158,190,3,106,114,63,183,147,164,190,244,80,113,63,188,232,170,190,79,45,112,63,65,54,177,190,33,255,110,63,1,124,183,190,118,198,109,63,180,185,189,190,94,131,108,63,21,239,195,190,231,53,107,63,222,27,202,190,30,222,105,63,201,63,208,190,18,124,104,63,146,90,214,190,212,15,103,63,243,107,220,190,116,153,101,63,170,115,226,190,1,25,100,63,113,113,232,190,141,142,98,63,7,101,238,190,40,250,96,63,39,78,244,190,230,91,95,63,144,44,250,190,215,179,93,63,0,0,0,191,15,2,92,63,27,228,2,191,160,70,90,63,119,194,5,191,158,129,88,63,246,154,8,191,29,179,86,63,119,109,11,191,49,219,84,63,218,57,14,191,239,249,82,63,0,0,17,191,108,15,81,63,202,191,19,191,189,27,79,63,24,121,22,191,248,30,77,63,205,43,25,191,52,25,75,63,202,215,27,191,136,10,73,63,241,124,30,191,10,243,70,63,36,27,33,191,209,210,68,63,70,178,35,191,247,169,66,63,58,66,38,191,147,120,64,63,227,202,40,191,189,62,62,63,37,76,43,191,143,252,59,63,227,197,45,191,34,178,57,63,1,56,48,191,144,95,55,63,101,162,50,191,243,4,53,63,243,4,53,191,101,162,50,63,144,95,55,191,1,56,48,63,34,178,57,191,227,197,45,63,143,252,59,191,37,76,43,63,189,62,62,191,227,202,40,63,147,120,64,191,58,66,38,63,247,169,66,191,70,178,35,63,209,210,68,191,36,27,33,63,10,243,70,191,241,124,30,63,136,10,73,191,202,215,27,63,52,25,75,191,205,43,25,63,248,30,77,191,24,121,22,63,189,27,79,191,202,191,19,63,108,15,81,191,0,0,17,63,239,249,82,191,218,57,14,63,49,219,84,191,119,109,11,63,29,179,86,191,246,154,8,63,158,129,88,191,119,194,5,63,160,70,90,191,27,228,2,63,15,2,92,191,0,0,0,63,215,179,93,191,144,44,250,62,230,91,95,191,39,78,244,62,40,250,96,191,7,101,238,62,141,142,98,191,113,113,232,62,1,25,100,191,170,115,226,62,116,153,101,191,243,107,220,62,212,15,103,191,146,90,214,62,18,124,104,191,201,63,208,62,30,222,105,191,222,27,202,62,231,53,107,191,21,239,195,62,94,131,108,191,180,185,189,62,118,198,109,191,1,124,183,62,33,255,110,191,65,54,177,62,79,45,112,191,188,232,170,62,244,80,113,191,183,147,164,62,3,106,114,191,122,55,158,62,113,120,115,191,76,212,151,62,48,124,116,191,117,106,145,62,54,117,117,191,62,250,138,62,119,99,118,191,238,131,132,62,234,70,119,191,156,15,124,62,132,31,120,191,77,12,111,62,60,237,120,191,130,254,97,62,9,176,121,191,205,230,84,62,226,103,122,191,194,197,71,62,190,20,123,191,243,155,58,62,152,182,123,191,245,105,45,62,103,77,124,191,92,48,32,62,37,217,124,191,187,239,18,62,203,89,125,191,168,168,5,62,85,207,125,191,115,183,240,61,188,57,126,191,4,19,214,61,253,152,126,191,51,101,187,61,18,237,126,191,42,175,160,61,249,53,127,191,19,242,133,61,175,115,127,191,58,94,86,61,47,166,127,191,231,206,32,61,121,205,127,191,10,113,214,60,139,233,127,191,191,117,86,60,99,250,127,191,0,48,141,36,0,0,128,191,191,117,86,188,99,250,127,191,10,113,214,188,139,233,127,191,231,206,32,189,121,205,127,191,58,94,86,189,47,166,127,191,19,242,133,189,175,115,127,191,42,175,160,189,249,53,127,191,51,101,187,189,18,237,126,191,4,19,214,189,253,152,126,191,115,183,240,189,188,57,126,191,168,168,5,190,85,207,125,191,187,239,18,190,203,89,125,191,92,48,32,190,37,217,124,191,245,105,45,190,103,77,124,191,243,155,58,190,152,182,123,191,194,197,71,190,190,20,123,191,205,230,84,190,226,103,122,191,130,254,97,190,9,176,121,191,77,12,111,190,60,237,120,191,156,15,124,190,132,31,120,191,238,131,132,190,234,70,119,191,62,250,138,190,119,99,118,191,117,106,145,190,54,117,117,191,76,212,151,190,48,124,116,191,122,55,158,190,113,120,115,191,183,147,164,190,3,106,114,191,188,232,170,190,244,80,113,191,65,54,177,190,79,45,112,191,1,124,183,190,33,255,110,191,180,185,189,190,118,198,109,191,21,239,195,190,94,131,108,191,222,27,202,190,231,53,107,191,201,63,208,190,30,222,105,191,146,90,214,190,18,124,104,191,243,107,220,190,212,15,103,191,170,115,226,190,116,153,101,191,113,113,232,190,1,25,100,191,7,101,238,190,141,142,98,191,39,78,244,190,40,250,96,191,144,44,250,190,230,91,95,191,0,0,0,191,215,179,93,191,27,228,2,191,15,2,92,191,119,194,5,191,160,70,90,191,246,154,8,191,158,129,88,191,119,109,11,191,29,179,86,191,218,57,14,191,49,219,84,191,0,0,17,191,239,249,82,191,202,191,19,191,108,15,81,191,24,121,22,191,189,27,79,191,205,43,25,191,248,30,77,191,202,215,27,191,52,25,75,191,241,124,30,191,136,10,73,191,36,27,33,191,10,243,70,191,70,178,35,191,209,210,68,191,58,66,38,191,247,169,66,191,227,202,40,191,147,120,64,191,37,76,43,191,189,62,62,191,227,197,45,191,143,252,59,191,1,56,48,191,34,178,57,191,101,162,50,191,144,95,55,191,243,4,53,191,243,4,53,191,144,95,55,191,101,162,50,191,34,178,57,191,1,56,48,191,143,252,59,191,227,197,45,191,189,62,62,191,37,76,43,191,147,120,64,191,227,202,40,191,247,169,66,191,58,66,38,191,209,210,68,191,70,178,35,191,10,243,70,191,36,27,33,191,136,10,73,191,241,124,30,191,52,25,75,191,202,215,27,191,248,30,77,191,205,43,25,191,189,27,79,191,24,121,22,191,108,15,81,191,202,191,19,191,239,249,82,191,0,0,17,191,49,219,84,191,218,57,14,191,29,179,86,191,119,109,11,191,158,129,88,191,246,154,8,191,160,70,90,191,119,194,5,191,15,2,92,191,27,228,2,191,215,179,93,191,0,0,0,191,230,91,95,191,144,44,250,190,40,250,96,191,39,78,244,190,141,142,98,191,7,101,238,190,1,25,100,191,113,113,232,190,116,153,101,191,170,115,226,190,212,15,103,191,243,107,220,190,18,124,104,191,146,90,214,190,30,222,105,191,201,63,208,190,231,53,107,191,222,27,202,190,94,131,108,191,21,239,195,190,118,198,109,191,180,185,189,190,33,255,110,191,1,124,183,190,79,45,112,191,65,54,177,190,244,80,113,191,188,232,170,190,3,106,114,191,183,147,164,190,113,120,115,191,122,55,158,190,48,124,116,191,76,212,151,190,54,117,117,191,117,106,145,190,119,99,118,191,62,250,138,190,234,70,119,191,238,131,132,190,132,31,120,191,156,15,124,190,60,237,120,191,77,12,111,190,9,176,121,191,130,254,97,190,226,103,122,191,205,230,84,190,190,20,123,191,194,197,71,190,152,182,123,191,243,155,58,190,103,77,124,191,245,105,45,190,37,217,124,191,92,48,32,190,203,89,125,191,187,239,18,190,85,207,125,191,168,168,5,190,188,57,126,191,115,183,240,189,253,152,126,191,4,19,214,189,18,237,126,191,51,101,187,189,249,53,127,191,42,175,160,189,175,115,127,191,19,242,133,189,47,166,127,191,58,94,86,189,121,205,127,191,231,206,32,189,139,233,127,191,10,113,214,188,99,250,127,191,191,117,86,188,0,0,128,191,0,48,13,165,99,250,127,191,191,117,86,60,139,233,127,191,10,113,214,60,121,205,127,191,231,206,32,61,47,166,127,191,58,94,86,61,175,115,127,191,19,242,133,61,249,53,127,191,42,175,160,61,18,237,126,191,51,101,187,61,253,152,126,191,4,19,214,61,188,57,126,191,115,183,240,61,85,207,125,191,168,168,5,62,203,89,125,191,187,239,18,62,37,217,124,191,92,48,32,62,103,77,124,191,245,105,45,62,152,182,123,191,243,155,58,62,190,20,123,191,194,197,71,62,226,103,122,191,205,230,84,62,9,176,121,191,130,254,97,62,60,237,120,191,77,12,111,62,132,31,120,191,156,15,124,62,234,70,119,191,238,131,132,62,119,99,118,191,62,250,138,62,54,117,117,191,117,106,145,62,48,124,116,191,76,212,151,62,113,120,115,191,122,55,158,62,3,106,114,191,183,147,164,62,244,80,113,191,188,232,170,62,79,45,112,191,65,54,177,62,33,255,110,191,1,124,183,62,118,198,109,191,180,185,189,62,94,131,108,191,21,239,195,62,231,53,107,191,222,27,202,62,30,222,105,191,201,63,208,62,18,124,104,191,146,90,214,62,212,15,103,191,243,107,220,62,116,153,101,191,170,115,226,62,1,25,100,191,113,113,232,62,141,142,98,191,7,101,238,62,40,250,96,191,39,78,244,62,230,91,95,191,144,44,250,62,215,179,93,191,0,0,0,63,15,2,92,191,27,228,2,63,160,70,90,191,119,194,5,63,158,129,88,191,246,154,8,63,29,179,86,191,119,109,11,63,49,219,84,191,218,57,14,63,239,249,82,191,0,0,17,63,108,15,81,191,202,191,19,63,189,27,79,191,24,121,22,63,248,30,77,191,205,43,25,63,52,25,75,191,202,215,27,63,136,10,73,191,241,124,30,63,10,243,70,191,36,27,33,63,209,210,68,191,70,178,35,63,247,169,66,191,58,66,38,63,147,120,64,191,227,202,40,63,189,62,62,191,37,76,43,63,143,252,59,191,227,197,45,63,34,178,57,191,1,56,48,63,144,95,55,191,101,162,50,63,243,4,53,191,243,4,53,63,101,162,50,191,144,95,55,63,1,56,48,191,34,178,57,63,227,197,45,191,143,252,59,63,37,76,43,191,189,62,62,63,227,202,40,191,147,120,64,63,58,66,38,191,247,169,66,63,70,178,35,191,209,210,68,63,36,27,33,191,10,243,70,63,241,124,30,191,136,10,73,63,202,215,27,191,52,25,75,63,205,43,25,191,248,30,77,63,24,121,22,191,189,27,79,63,202,191,19,191,108,15,81,63,0,0,17,191,239,249,82,63,218,57,14,191,49,219,84,63,119,109,11,191,29,179,86,63,246,154,8,191,158,129,88,63,119,194,5,191,160,70,90,63,27,228,2,191,15,2,92,63,0,0,0,191,215,179,93,63,144,44,250,190,230,91,95,63,39,78,244,190,40,250,96,63,7,101,238,190,141,142,98,63,113,113,232,190,1,25,100,63,170,115,226,190,116,153,101,63,243,107,220,190,212,15,103,63,146,90,214,190,18,124,104,63,201,63,208,190,30,222,105,63,222,27,202,190,231,53,107,63,21,239,195,190,94,131,108,63,180,185,189,190,118,198,109,63,1,124,183,190,33,255,110,63,65,54,177,190,79,45,112,63,188,232,170,190,244,80,113,63,183,147,164,190,3,106,114,63,122,55,158,190,113,120,115,63,76,212,151,190,48,124,116,63,117,106,145,190,54,117,117,63,62,250,138,190,119,99,118,63,238,131,132,190,234,70,119,63,156,15,124,190,132,31,120,63,77,12,111,190,60,237,120,63,130,254,97,190,9,176,121,63,205,230,84,190,226,103,122,63,194,197,71,190,190,20,123,63,243,155,58,190,152,182,123,63,245,105,45,190,103,77,124,63,92,48,32,190,37,217,124,63,187,239,18,190,203,89,125,63,168,168,5,190,85,207,125,63,115,183,240,189,188,57,126,63,4,19,214,189,253,152,126,63,51,101,187,189,18,237,126,63,42,175,160,189,249,53,127,63,19,242,133,189,175,115,127,63,58,94,86,189,47,166,127,63,231,206,32,189,121,205,127,63,10,113,214,188,139,233,127,63,191,117,86,188,99,250,127,63,0,200,83,165,0,0,128,63,191,117,86,60,99,250,127,63,10,113,214,60,139,233,127,63,231,206,32,61,121,205,127,63,58,94,86,61,47,166,127,63,19,242,133,61,175,115,127,63,42,175,160,61,249,53,127,63,51,101,187,61,18,237,126,63,4,19,214,61,253,152,126,63,115,183,240,61,188,57,126,63,168,168,5,62,85,207,125,63,187,239,18,62,203,89,125,63,92,48,32,62,37,217,124,63,245,105,45,62,103,77,124,63,243,155,58,62,152,182,123,63,194,197,71,62,190,20,123,63,205,230,84,62,226,103,122,63,130,254,97,62,9,176,121,63,77,12,111,62,60,237,120,63,156,15,124,62,132,31,120,63,238,131,132,62,234,70,119,63,62,250,138,62,119,99,118,63,117,106,145,62,54,117,117,63,76,212,151,62,48,124,116,63,122,55,158,62,113,120,115,63,183,147,164,62,3,106,114,63,188,232,170,62,244,80,113,63,65,54,177,62,79,45,112,63,1,124,183,62,33,255,110,63,180,185,189,62,118,198,109,63,21,239,195,62,94,131,108,63,222,27,202,62,231,53,107,63,201,63,208,62,30,222,105,63,146,90,214,62,18,124,104,63,243,107,220,62,212,15,103,63,170,115,226,62,116,153,101,63,113,113,232,62,1,25,100,63,7,101,238,62,141,142,98,63,39,78,244,62,40,250,96,63,144,44,250,62,230,91,95,63,0,0,0,63,215,179,93,63,27,228,2,63,15,2,92,63,119,194,5,63,160,70,90,63,246,154,8,63,158,129,88,63,119,109,11,63,29,179,86,63,218,57,14,63,49,219,84,63,0,0,17,63,239,249,82,63,202,191,19,63,108,15,81,63,24,121,22,63,189,27,79,63,205,43,25,63,248,30,77,63,202,215,27,63,52,25,75,63,241,124,30,63,136,10,73,63,36,27,33,63,10,243,70,63,70,178,35,63,209,210,68,63,58,66,38,63,247,169,66,63,227,202,40,63,147,120,64,63,37,76,43,63,189,62,62,63,227,197,45,63,143,252,59,63,1,56,48,63,34,178,57,63,101,162,50,63,144,95,55,63,243,4,53,63,243,4,53,63,144,95,55,63,101,162,50,63,34,178,57,63,1,56,48,63,143,252,59,63,227,197,45,63,189,62,62,63,37,76,43,63,147,120,64,63,227,202,40,63,247,169,66,63,58,66,38,63,209,210,68,63,70,178,35,63,10,243,70,63,36,27,33,63,136,10,73,63,241,124,30,63,52,25,75,63,202,215,27,63,248,30,77,63,205,43,25,63,189,27,79,63,24,121,22,63,108,15,81,63,202,191,19,63,239,249,82,63,0,0,17,63,49,219,84,63,218,57,14,63,29,179,86,63,119,109,11,63,158,129,88,63,246,154,8,63,160,70,90,63,119,194,5,63,15,2,92,63,27,228,2,63,215,179,93,63,0,0,0,63,230,91,95,63,144,44,250,62,40,250,96,63,39,78,244,62,141,142,98,63,7,101,238,62,1,25,100,63,113,113,232,62,116,153,101,63,170,115,226,62,212,15,103,63,243,107,220,62,18,124,104,63,146,90,214,62,30,222,105,63,201,63,208,62,231,53,107,63,222,27,202,62,94,131,108,63,21,239,195,62,118,198,109,63,180,185,189,62,33,255,110,63,1,124,183,62,79,45,112,63,65,54,177,62,244,80,113,63,188,232,170,62,3,106,114,63,183,147,164,62,113,120,115,63,122,55,158,62,48,124,116,63,76,212,151,62,54,117,117,63,117,106,145,62,119,99,118,63,62,250,138,62,234,70,119,63,238,131,132,62,132,31,120,63,156,15,124,62,60,237,120,63,77,12,111,62,9,176,121,63,130,254,97,62,226,103,122,63,205,230,84,62,190,20,123,63,194,197,71,62,152,182,123,63,243,155,58,62,103,77,124,63,245,105,45,62,37,217,124,63,92,48,32,62,203,89,125,63,187,239,18,62,85,207,125,63,168,168,5,62,188,57,126,63,115,183,240,61,253,152,126,63,4,19,214,61,18,237,126,63,51,101,187,61,249,53,127,63,42,175,160,61,175,115,127,63,19,242,133,61,47,166,127,63,58,94,86,61,121,205,127,63,231,206,32,61,139,233,127,63,10,113,214,60,99,250,127,63,191,117,86,60,240,0,0,0,137,136,136,59,1,0,0,0,5,0,48,0,3,0,16,0,4,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,94,0,0,60,23,0,0,0,0,0,0,120,0,0,0,136,136,8,60,2,0,0,0,5,0,24,0,3,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,96,0,0,60,23,0,0,0,0,0,0,60,0,0,0,137,136,136,60,3,0,0,0,5,0,12,0,3,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,97,0,0,60,23,0,0,0,0,0,0,255,255,127,63,142,255,127,63,106,254,127,63,147,252,127,63,7,250,127,63,200,246,127,63,214,242,127,63,48,238,127,63,214,232,127,63,200,226,127,63,7,220,127,63,147,212,127,63,107,204,127,63,143,195,127,63,0,186,127,63,189,175,127,63,199,164,127,63,29,153,127,63,192,140,127,63,176,127,127,63,236,113,127,63,118,99,127,63,75,84,127,63,110,68,127,63,222,51,127,63,154,34,127,63,163,16,127,63,250,253,126,63,157,234,126,63,141,214,126,63,203,193,126,63,86,172,126,63,46,150,126,63,83,127,126,63,198,103,126,63,134,79,126,63,148,54,126,63,239,28,126,63,152,2,126,63,143,231,125,63,211,203,125,63,102,175,125,63,70,146,125,63,116,116,125,63,241,85,125,63,188,54,125,63,213,22,125,63,60,246,124,63,242,212,124,63,246,178,124,63,73,144,124,63,235,108,124,63,219,72,124,63,27,36,124,63,169,254,123,63,135,216,123,63,180,177,123,63,48,138,123,63,252,97,123,63,23,57,123,63,130,15,123,63,61,229,122,63,72,186,122,63,162,142,122,63,77,98,122,63,72,53,122,63,148,7,122,63,48,217,121,63,29,170,121,63,90,122,121,63,233,73,121,63,200,24,121,63,249,230,120,63],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE), -allocate([123,180,120,63,78,129,120,63,115,77,120,63,234,24,120,63,178,227,119,63,205,173,119,63,58,119,119,63,249,63,119,63,10,8,119,63,110,207,118,63,37,150,118,63,47,92,118,63,140,33,118,63,60,230,117,63,64,170,117,63,151,109,117,63,66,48,117,63,65,242,116,63,148,179,116,63,59,116,116,63,55,52,116,63,135,243,115,63,44,178,115,63,38,112,115,63,118,45,115,63,26,234,114,63,20,166,114,63,100,97,114,63,10,28,114,63,5,214,113,63,87,143,113,63,0,72,113,63,255,255,112,63,85,183,112,63,2,110,112,63,6,36,112,63,98,217,111,63,21,142,111,63,32,66,111,63,132,245,110,63,63,168,110,63,83,90,110,63,192,11,110,63,134,188,109,63,165,108,109,63,29,28,109,63,239,202,108,63,27,121,108,63,161,38,108,63,128,211,107,63,187,127,107,63,80,43,107,63,64,214,106,63,140,128,106,63,50,42,106,63,53,211,105,63,147,123,105,63,77,35,105,63,100,202,104,63,216,112,104,63,168,22,104,63,213,187,103,63,96,96,103,63,72,4,103,63,143,167,102,63,51,74,102,63,54,236,101,63,151,141,101,63,87,46,101,63,119,206,100,63,245,109,100,63,212,12,100,63,18,171,99,63,177,72,99,63,176,229,98,63,16,130,98,63,209,29,98,63,243,184,97,63,119,83,97,63,92,237,96,63,164,134,96,63,78,31,96,63,91,183,95,63,203,78,95,63,158,229,94,63,213,123,94,63,112,17,94,63,110,166,93,63,210,58,93,63,154,206,92,63,198,97,92,63,89,244,91,63,81,134,91,63,174,23,91,63,114,168,90,63,157,56,90,63,46,200,89,63,39,87,89,63,135,229,88,63,79,115,88,63,127,0,88,63,23,141,87,63,24,25,87,63,130,164,86,63,86,47,86,63,147,185,85,63,58,67,85,63,75,204,84,63,199,84,84,63,174,220,83,63,1,100,83,63,191,234,82,63,233,112,82,63,127,246,81,63,130,123,81,63,242,255,80,63,207,131,80,63,26,7,80,63,210,137,79,63,250,11,79,63,144,141,78,63,148,14,78,63,9,143,77,63,237,14,77,63,65,142,76,63,5,13,76,63,59,139,75,63,225,8,75,63,249,133,74,63,131,2,74,63,127,126,73,63,238,249,72,63,207,116,72,63,36,239,71,63,237,104,71,63,41,226,70,63,218,90,70,63,0,211,69,63,155,74,69,63,172,193,68,63,50,56,68,63,47,174,67,63,162,35,67,63,141,152,66,63,239,12,66,63,200,128,65,63,26,244,64,63,229,102,64,63,40,217,63,63,229,74,63,63,27,188,62,63,204,44,62,63,247,156,61,63,157,12,61,63,190,123,60,63,92,234,59,63,117,88,59,63,10,198,58,63,29,51,58,63,173,159,57,63,187,11,57,63,71,119,56,63,81,226,55,63,218,76,55,63,227,182,54,63,107,32,54,63,116,137,53,63,253,241,52,63,7,90,52,63,147,193,51,63,160,40,51,63,48,143,50,63,66,245,49,63,216,90,49,63,241,191,48,63,142,36,48,63,175,136,47,63,85,236,46,63,129,79,46,63,50,178,45,63,105,20,45,63,39,118,44,63,107,215,43,63,55,56,43,63,139,152,42,63,103,248,41,63,204,87,41,63,186,182,40,63,50,21,40,63,51,115,39,63,191,208,38,63,214,45,38,63,121,138,37,63,167,230,36,63,97,66,36,63,169,157,35,63,125,248,34,63,223,82,34,63,207,172,33,63,77,6,33,63,91,95,32,63,248,183,31,63,37,16,31,63,226,103,30,63,48,191,29,63,16,22,29,63,129,108,28,63,132,194,27,63,26,24,27,63,67,109,26,63,0,194,25,63,81,22,25,63,54,106,24,63,177,189,23,63,193,16,23,63,103,99,22,63,163,181,21,63,118,7,21,63,225,88,20,63,228,169,19,63,127,250,18,63,179,74,18,63,128,154,17,63,231,233,16,63,232,56,16,63,132,135,15,63,187,213,14,63,142,35,14,63,254,112,13,63,10,190,12,63,179,10,12,63,250,86,11,63,223,162,10,63,99,238,9,63,134,57,9,63,73,132,8,63,172,206,7,63,175,24,7,63,84,98,6,63,155,171,5,63,131,244,4,63,15,61,4,63,61,133,3,63,15,205,2,63,134,20,2,63,161,91,1,63,97,162,0,63,143,209,255,62,167,93,254,62,14,233,252,62,194,115,251,62,198,253,249,62,27,135,248,62,193,15,247,62,186,151,245,62,6,31,244,62,168,165,242,62,158,43,241,62,236,176,239,62,145,53,238,62,144,185,236,62,232,60,235,62,154,191,233,62,169,65,232,62,21,195,230,62,223,67,229,62,8,196,227,62,145,67,226,62,124,194,224,62,200,64,223,62,120,190,221,62,140,59,220,62,6,184,218,62,230,51,217,62,46,175,215,62,223,41,214,62,249,163,212,62,125,29,211,62,110,150,209,62,204,14,208,62,151,134,206,62,210,253,204,62,125,116,203,62,153,234,201,62,39,96,200,62,40,213,198,62,159,73,197,62,138,189,195,62,236,48,194,62,198,163,192,62,25,22,191,62,230,135,189,62,45,249,187,62,241,105,186,62,50,218,184,62,241,73,183,62,47,185,181,62,238,39,180,62,47,150,178,62,242,3,177,62,57,113,175,62,4,222,173,62,86,74,172,62,47,182,170,62,144,33,169,62,122,140,167,62,239,246,165,62,239,96,164,62,124,202,162,62,151,51,161,62,64,156,159,62,122,4,158,62,68,108,156,62,161,211,154,62,145,58,153,62,22,161,151,62,48,7,150,62,225,108,148,62,41,210,146,62,11,55,145,62,135,155,143,62,158,255,141,62,81,99,140,62,162,198,138,62,145,41,137,62,32,140,135,62,80,238,133,62,34,80,132,62,151,177,130,62,176,18,129,62,222,230,126,62,169,167,123,62,195,103,120,62,47,39,117,62,238,229,113,62,4,164,110,62,115,97,107,62,60,30,104,62,98,218,100,62,232,149,97,62,207,80,94,62,26,11,91,62,204,196,87,62,230,125,84,62,107,54,81,62,93,238,77,62,191,165,74,62,146,92,71,62,218,18,68,62,151,200,64,62,206,125,61,62,128,50,58,62,174,230,54,62,93,154,51,62,141,77,48,62,66,0,45,62,125,178,41,62,66,100,38,62,145,21,35,62,110,198,31,62,219,118,28,62,218,38,25,62,109,214,21,62,152,133,18,62,91,52,15,62,186,226,11,62,183,144,8,62,84,62,5,62,148,235,1,62,240,48,253,61,6,138,246,61,113,226,239,61,51,58,233,61,79,145,226,61,207,231,219,61,181,61,213,61,3,147,206,61,192,231,199,61,242,59,193,61,156,143,186,61,195,226,179,61,108,53,173,61,155,135,166,61,85,217,159,61,159,42,153,61,126,123,146,61,246,203,139,61,11,28,133,61,135,215,124,61,70,118,111,61,93,20,98,61,214,177,84,61,185,78,71,61,16,235,57,61,229,134,44,61,64,34,31,61,44,189,17,61,178,87,4,61,181,227,237,60,96,23,211,60,118,74,184,60,11,125,157,60,50,175,130,60,250,193,79,60,254,36,26,60,42,15,201,59,153,167,59,59,46,125,214,185,210,70,113,187,171,222,227,187,166,140,39,188,129,41,93,188,225,98,137,188,160,48,164,188,236,253,190,188,179,202,217,188,224,150,244,188,49,177,7,189,147,22,21,189,140,123,34,189,19,224,47,189,30,68,61,189,165,167,74,189,157,10,88,189,254,108,101,189,190,206,114,189,234,23,128,189,27,200,134,189,237,119,141,189,92,39,148,189,99,214,154,189,253,132,161,189,38,51,168,189,217,224,174,189,17,142,181,189,202,58,188,189,254,230,194,189,170,146,201,189,200,61,208,189,84,232,214,189,74,146,221,189,164,59,228,189,93,228,234,189,114,140,241,189,221,51,248,189,154,218,254,189,82,192,2,190,252,18,6,190,71,101,9,190,50,183,12,190,186,8,16,190,221,89,19,190,152,170,22,190,234,250,25,190,208,74,29,190,71,154,32,190,78,233,35,190,225,55,39,190,0,134,42,190,166,211,45,190,211,32,49,190,131,109,52,190,181,185,55,190,101,5,59,190,147,80,62,190,58,155,65,190,90,229,68,190,240,46,72,190,249,119,75,190,116,192,78,190,93,8,82,190,179,79,85,190,115,150,88,190,156,220,91,190,42,34,95,190,27,103,98,190,109,171,101,190,31,239,104,190,44,50,108,190,148,116,111,190,84,182,114,190,106,247,117,190,211,55,121,190,141,119,124,190,150,182,127,190,117,122,129,190,69,25,131,190,185,183,132,190,208,85,134,190,136,243,135,190,225,144,137,190,218,45,139,190,112,202,140,190,164,102,142,190,116,2,144,190,223,157,145,190,228,56,147,190,129,211,148,190,182,109,150,190,129,7,152,190,226,160,153,190,215,57,155,190,95,210,156,190,121,106,158,190,35,2,160,190,94,153,161,190,38,48,163,190,125,198,164,190,96,92,166,190,206,241,167,190,198,134,169,190,71,27,171,190,80,175,172,190,224,66,174,190,245,213,175,190,143,104,177,190,173,250,178,190,77,140,180,190,110,29,182,190,16,174,183,190,48,62,185,190,207,205,186,190,234,92,188,190,130,235,189,190,148,121,191,190,31,7,193,190,35,148,194,190,159,32,196,190,145,172,197,190,248,55,199,190,211,194,200,190,34,77,202,190,226,214,203,190,19,96,205,190,181,232,206,190,197,112,208,190,66,248,209,190,45,127,211,190,131,5,213,190,67,139,214,190,109,16,216,190,255,148,217,190,249,24,219,190,89,156,220,190,29,31,222,190,70,161,223,190,211,34,225,190,193,163,226,190,16,36,228,190,190,163,229,190,204,34,231,190,56,161,232,190,0,31,234,190,36,156,235,190,162,24,237,190,122,148,238,190,171,15,240,190,51,138,241,190,18,4,243,190,70,125,244,190,207,245,245,190,170,109,247,190,217,228,248,190,88,91,250,190,40,209,251,190,71,70,253,190,181,186,254,190,56,23,0,191,187,208,0,191,228,137,1,191,178,66,2,191,37,251,2,191,59,179,3,191,246,106,4,191,83,34,5,191,83,217,5,191,245,143,6,191,56,70,7,191,29,252,7,191,162,177,8,191,199,102,9,191,140,27,10,191,240,207,10,191,243,131,11,191,147,55,12,191,209,234,12,191,172,157,13,191,36,80,14,191,56,2,15,191,232,179,15,191,50,101,16,191,24,22,17,191,151,198,17,191,176,118,18,191,99,38,19,191,174,213,19,191,145,132,20,191,13,51,21,191,31,225,21,191,200,142,22,191,8,60,23,191,221,232,23,191,72,149,24,191,72,65,25,191,220,236,25,191,4,152,26,191,192,66,27,191,15,237,27,191,240,150,28,191,99,64,29,191,104,233,29,191,254,145,30,191,37,58,31,191,220,225,31,191,35,137,32,191,250,47,33,191,95,214,33,191,82,124,34,191,212,33,35,191,227,198,35,191,127,107,36,191,167,15,37,191,92,179,37,191,157,86,38,191,104,249,38,191,191,155,39,191,160,61,40,191,11,223,40,191,255,127,41,191,125,32,42,191,131,192,42,191,17,96,43,191,39,255,43,191,196,157,44,191,232,59,45,191,146,217,45,191,195,118,46,191,121,19,47,191,180,175,47,191,115,75,48,191,183,230,48,191,127,129,49,191,203,27,50,191,153,181,50,191,234,78,51,191,189,231,51,191,18,128,52,191,232,23,53,191,63,175,53,191,22,70,54,191,110,220,54,191,69,114,55,191,156,7,56,191,113,156,56,191,197,48,57,191,150,196,57,191,230,87,58,191,178,234,58,191,252,124,59,191,194,14,60,191,3,160,60,191,193,48,61,191,250,192,61,191,173,80,62,191,219,223,62,191,131,110,63,191,165,252,63,191,64,138,64,191,83,23,65,191,224,163,65,191,228,47,66,191,96,187,66,191,83,70,67,191,190,208,67,191,158,90,68,191,246,227,68,191,194,108,69,191,5,245,69,191,188,124,70,191,232,3,71,191,137,138,71,191,157,16,72,191,37,150,72,191,32,27,73,191,142,159,73,191,111,35,74,191,193,166,74,191,134,41,75,191,188,171,75,191,99,45,76,191,122,174,76,191,2,47,77,191,250,174,77,191,98,46,78,191,57,173,78,191,126,43,79,191,51,169,79,191,85,38,80,191,230,162,80,191,228,30,81,191,80,154,81,191,40,21,82,191,109,143,82,191,30,9,83,191,59,130,83,191,195,250,83,191,183,114,84,191,22,234,84,191,223,96,85,191,18,215,85,191,176,76,86,191,183,193,86,191,39,54,87,191,0,170,87,191,66,29,88,191,236,143,88,191,254,1,89,191,120,115,89,191,89,228,89,191,162,84,90,191,81,196,90,191,102,51,91,191,226,161,91,191,195,15,92,191,10,125,92,191,183,233,92,191,200,85,93,191,62,193,93,191,24,44,94,191,87,150,94,191,249,255,94,191,255,104,95,191,104,209,95,191,51,57,96,191,98,160,96,191,243,6,97,191,229,108,97,191,58,210,97,191,240,54,98,191,8,155,98,191,128,254,98,191,89,97,99,191,146,195,99,191,44,37,100,191,37,134,100,191,126,230,100,191,55,70,101,191,78,165,101,191,197,3,102,191,154,97,102,191,205,190,102,191,94,27,103,191,77,119,103,191,154,210,103,191,68,45,104,191,75,135,104,191,174,224,104,191,111,57,105,191,139,145,105,191,4,233,105,191,217,63,106,191,9,150,106,191,148,235,106,191,123,64,107,191,188,148,107,191,89,232,107,191,79,59,108,191,160,141,108,191,75,223,108,191,79,48,109,191,173,128,109,191,101,208,109,191,117,31,110,191,223,109,110,191,161,187,110,191,187,8,111,191,46,85,111,191,248,160,111,191,27,236,111,191,149,54,112,191,103,128,112,191,144,201,112,191,15,18,113,191,230,89,113,191,19,161,113,191,151,231,113,191,113,45,114,191,160,114,114,191,38,183,114,191,1,251,114,191,50,62,115,191,184,128,115,191,148,194,115,191,196,3,116,191,73,68,116,191,34,132,116,191,80,195,116,191,210,1,117,191,168,63,117,191,210,124,117,191,80,185,117,191,33,245,117,191,69,48,118,191,189,106,118,191,136,164,118,191,166,221,118,191,22,22,119,191,217,77,119,191,239,132,119,191,87,187,119,191,17,241,119,191,29,38,120,191,122,90,120,191,42,142,120,191,43,193,120,191,125,243,120,191,33,37,121,191,22,86,121,191,92,134,121,191,242,181,121,191,218,228,121,191,18,19,122,191,154,64,122,191,115,109,122,191,157,153,122,191,22,197,122,191,223,239,122,191,248,25,123,191,97,67,123,191,26,108,123,191,34,148,123,191,122,187,123,191,32,226,123,191,23,8,124,191,92,45,124,191,240,81,124,191,211,117,124,191,5,153,124,191,134,187,124,191,85,221,124,191,115,254,124,191,223,30,125,191,154,62,125,191,163,93,125,191,250,123,125,191,159,153,125,191,146,182,125,191,211,210,125,191,98,238,125,191,63,9,126,191,105,35,126,191,225,60,126,191,167,85,126,191,186,109,126,191,27,133,126,191,201,155,126,191,196,177,126,191,13,199,126,191,162,219,126,191,133,239,126,191,181,2,127,191,50,21,127,191,252,38,127,191,19,56,127,191,118,72,127,191,39,88,127,191,36,103,127,191,110,117,127,191,5,131,127,191,232,143,127,191,25,156,127,191,149,167,127,191,95,178,127,191,116,188,127,191,215,197,127,191,133,206,127,191,129,214,127,191,200,221,127,191,93,228,127,191,61,234,127,191,106,239,127,191,227,243,127,191,169,247,127,191,187,250,127,191,25,253,127,191,196,254,127,191,187,255,127,191,250,255,127,63,57,254,127,63,169,249,127,63,75,242,127,63,30,232,127,63,35,219,127,63,89,203,127,63,193,184,127,63,91,163,127,63,40,139,127,63,39,112,127,63,90,82,127,63,191,49,127,63,88,14,127,63,37,232,126,63,38,191,126,63,92,147,126,63,200,100,126,63,105,51,126,63,65,255,125,63,79,200,125,63,150,142,125,63,20,82,125,63,203,18,125,63,188,208,124,63,231,139,124,63,77,68,124,63,239,249,123,63,205,172,123,63,233,92,123,63,67,10,123,63,221,180,122,63,182,92,122,63,209,1,122,63,46,164,121,63,206,67,121,63,178,224,120,63,220,122,120,63,76,18,120,63,4,167,119,63,4,57,119,63,79,200,118,63,228,84,118,63,198,222,117,63,246,101,117,63,117,234,116,63,68,108,116,63,101,235,115,63,218,103,115,63,163,225,114,63,194,88,114,63,57,205,113,63,9,63,113,63,52,174,112,63,187,26,112,63,160,132,111,63,228,235,110,63,138,80,110,63,147,178,109,63,1,18,109,63,213,110,108,63,17,201,107,63,183,32,107,63,201,117,106,63,73,200,105,63,57,24,105,63,155,101,104,63,111,176,103,63,186,248,102,63,124,62,102,63,184,129,101,63,111,194,100,63,164,0,100,63,90,60,99,63,145,117,98,63,76,172,97,63,142,224,96,63,89,18,96,63,174,65,95,63,145,110,94,63,3,153,93,63,8,193,92,63,160,230,91,63,207,9,91,63,152,42,90,63,251,72,89,63,253,100,88,63,159,126,87,63,229,149,86,63,208,170,85,63,99,189,84,63,161,205,83,63,140,219,82,63,39,231,81,63,117,240,80,63,121,247,79,63,52,252,78,63,171,254,77,63,223,254,76,63,212,252,75,63,140,248,74,63,10,242,73,63,82,233,72,63,101,222,71,63,71,209,70,63,251,193,69,63,132,176,68,63,229,156,67,63,32,135,66,63,58,111,65,63,52,85,64,63,19,57,63,63,216,26,62,63,136,250,60,63,38,216,59,63,180,179,58,63,54,141,57,63,175,100,56,63,34,58,55,63,147,13,54,63,5,223,52,63,124,174,51,63,249,123,50,63,130,71,49,63,25,17,48,63,194,216,46,63,127,158,45,63,86,98,44,63,72,36,43,63,90,228,41,63,144,162,40,63,235,94,39,63,113,25,38,63,37,210,36,63,9,137,35,63,35,62,34,63,117,241,32,63,4,163,31,63,210,82,30,63,228,0,29,63,61,173,27,63,225,87,26,63,211,0,25,63,25,168,23,63,180,77,22,63,170,241,20,63,253,147,19,63,178,52,18,63,204,211,16,63,80,113,15,63,66,13,14,63,164,167,12,63,124,64,11,63,205,215,9,63,154,109,8,63,233,1,7,63,189,148,5,63,25,38,4,63,3,182,2,63,126,68,1,63,28,163,255,62,110,186,252,62,250,206,249,62,202,224,246,62,228,239,243,62,81,252,240,62,26,6,238,62,71,13,235,62,224,17,232,62,237,19,229,62,119,19,226,62,135,16,223,62,36,11,220,62,88,3,217,62,42,249,213,62,164,236,210,62,205,221,207,62,175,204,204,62,82,185,201,62,191,163,198,62,254,139,195,62,24,114,192,62,22,86,189,62,0,56,186,62,224,23,183,62,189,245,179,62,161,209,176,62,149,171,173,62,162,131,170,62,207,89,167,62,39,46,164,62,178,0,161,62,121,209,157,62,133,160,154,62,223,109,151,62,143,57,148,62,160,3,145,62,26,204,141,62,5,147,138,62,107,88,135,62,86,28,132,62,205,222,128,62,182,63,123,62,16,191,116,62,187,59,110,62,201,181,103,62,77,45,97,62,89,162,90,62,255,20,84,62,81,133,77,62,99,243,70,62,70,95,64,62,13,201,57,62,202,48,51,62,144,150,44,62,114,250,37,62,130,92,31,62,210,188,24,62,118,27,18,62,127,120,11,62,1,212,4,62,29,92,252,61,114,13,239,61,41,188,225,61,102,104,212,61,78,18,199,61,8,186,185,61,184,95,172,61,132,3,159,61,146,165,145,61,7,70,132,61,18,202,109,61,122,5,83,61,145,62,56,61,164,117,29,61,252,170,2,61,202,189,207,60,86,35,154,60,97,14,73,60,197,167,187,59,61,122,86,186,9,70,241,187,18,221,99,188,80,138,167,188,65,36,221,188,227,93,9,189,35,40,36,189,150,240,62,189,242,182,89,189,234,122,116,189,26,158,135,189,66,253,148,189,200,90,162,189,134,182,175,189,87,16,189,189,22,104,202,189,155,189,215,189,195,16,229,189,105,97,242,189,101,175,255,189,74,125,6,190,104,33,13,190,250,195,19,190,237,100,26,190,46,4,33,190,172,161,39,190,83,61,46,190,16,215,52,190,210,110,59,190,134,4,66,190,25,152,72,190,121,41,79,190,148,184,85,190,86,69,92,190,174,207,98,190,137,87,105,190,214,220,111,190,128,95,118,190,120,223,124,190,84,174,129,190,129,235,132,190,56,39,136,190,114,97,139,190,36,154,142,190,69,209,145,190,205,6,149,190,179,58,152,190,238,108,155,190,116,157,158,190,61,204,161,190,64,249,164,190,115,36,168,190,207,77,171,190,73,117,174,190,218,154,177,190,120,190,180,190,27,224,183,190,186,255,186,190,75,29,190,190,199,56,193,190,37,82,196,190,91,105,199,190,97,126,202,190,48,145,205,190,188,161,208,190,0,176,211,190,241,187,214,190,135,197,217,190,186,204,220,190,129,209,223,190,211,211,226,190,169,211,229,190,250,208,232,190,189,203,235,190,234,195,238,190,120,185,241,190,96,172,244,190,154,156,247,190,28,138,250,190,223,116,253,190,109,46,0,191,3,161,1,191,45,18,3,191,230,129,4,191,44,240,5,191,250,92,7,191,76,200,8,191,30,50,10,191,108,154,11,191,50,1,13,191,108,102,14,191,23,202,15,191,45,44,17,191,172,140,18,191,144,235,19,191,213,72,21,191,118,164,22,191,113,254,23,191,192,86,25,191,98,173,26,191,81,2,28,191,138,85,29,191,9,167,30,191,203,246,31,191,204,68,33,191,9,145,34,191,124,219,35,191,36,36,37,191,253,106,38,191,2,176,39,191,48,243,40,191,132,52,42,191,250,115,43,191,143,177,44,191,63,237,45,191,7,39,47,191,227,94,48,191,208,148,49,191,202,200,50,191,206,250,51,191,218,42,53,191,232,88,54,191,247,132,55,191,2,175,56,191,7,215,57,191,3,253,58,191,241,32,60,191,207,66,61,191,154,98,62,191,79,128,63,191,233,155,64,191,104,181,65,191,198,204,66,191,1,226,67,191,23,245,68,191,3,6,70,191,196,20,71,191,86,33,72,191,182,43,73,191,225,51,74,191,212,57,75,191,141,61,76,191,9,63,77,191,68,62,78,191,61,59,79,191,240,53,80,191,90,46,81,191,121,36,82,191,74,24,83,191,202,9,84,191,247,248,84,191,206,229,85,191,77,208,86,191,112,184,87,191,55,158,88,191,156,129,89,191,160,98,90,191,62,65,91,191,117,29,92,191,65,247,92,191,162,206,93,191,148,163,94,191,20,118,95,191,34,70,96,191,186,19,97,191,217,222,97,191,127,167,98,191,169,109,99,191,84,49,100,191,126,242,100,191,38,177,101,191,73,109,102,191,229,38,103,191,248,221,103,191,128,146,104,191,123,68,105,191,232,243,105,191,195,160,106,191,12,75,107,191,192,242,107,191,222,151,108,191,100,58,109,191,80,218,109,191,160,119,110,191,83,18,111,191,102,170,111,191,217,63,112,191,169,210,112,191,213,98,113,191,91,240,113,191,58,123,114,191,113,3,115,191,253,136,115,191,222,11,116,191,17,140,116,191,150,9,117,191,107,132,117,191,143,252,117,191,0,114,118,191,189,228,118,191,198,84,119,191,24,194,119,191,178,44,120,191,147,148,120,191,187,249,120,191,40,92,121,191,217,187,121,191,205,24,122,191,2,115,122,191,121,202,122,191,47,31,123,191,36,113,123,191,88,192,123,191,201,12,124,191,118,86,124,191,95,157,124,191,130,225,124,191,224,34,125,191,119,97,125,191,71,157,125,191,79,214,125,191,142,12,126,191,4,64,126,191,176,112,126,191,146,158,126,191,169,201,126,191,245,241,126,191,117,23,127,191,41,58,127,191,16,90,127,191,43,119,127,191,120,145,127,191,248,168,127,191,170,189,127,191,143,207,127,191,165,222,127,191,237,234,127,191,102,244,127,191,17,251,127,191,237,254,127,191,234,255,127,63,229,248,127,63,166,230,127,63,45,201,127,63,124,160,127,63,149,108,127,63,121,45,127,63,44,227,126,63,177,141,126,63,11,45,126,63,63,193,125,63,82,74,125,63,72,200,124,63,40,59,124,63,247,162,123,63,189,255,122,63,128,81,122,63,72,152,121,63,30,212,120,63,9,5,120,63,19,43,119,63,70,70,118,63,172,86,117,63,78,92,116,63,56,87,115,63,118,71,114,63,19,45,113,63,28,8,112,63,158,216,110,63,165,158,109,63,64,90,108,63,126,11,107,63,107,178,105,63,25,79,104,63,150,225,102,63,242,105,101,63,62,232,99,63,139,92,98,63,234,198,96,63,109,39,95,63,38,126,93,63,40,203,91,63,133,14,90,63,83,72,88,63,163,120,86,63,139,159,84,63,32,189,82,63,118,209,80,63,163,220,78,63,189,222,76,63,219,215,74,63,19,200,72,63,124,175,70,63,46,142,68,63,65,100,66,63,206,49,64,63,236,246,61,63,180,179,59,63,66,104,57,63,173,20,55,63,16,185,52,63,134,85,50,63,41,234,47,63,21,119,45,63,101,252,42,63,53,122,40,63,161,240,37,63,198,95,35,63,192,199,32,63,172,40,30,63,169,130,27,63,212,213,24,63,74,34,22,63,42,104,19,63,147,167,16,63,164,224,13,63,123,19,11,63,57,64,8,63,253,102,5,63,231,135,2,63,45,70,255,62,91,113,249,62,151,145,243,62,36,167,237,62,69,178,231,62,60,179,225,62,76,170,219,62,186,151,213,62,201,123,207,62,190,86,201,62,223,40,195,62,112,242,188,62,183,179,182,62,251,108,176,62,129,30,170,62,146,200,163,62,115,107,157,62,108,7,151,62,197,156,144,62,199,43,138,62,185,180,131,62,199,111,122,62,33,107,109,62,17,92,96,62,41,67,83,62,253,32,70,62,32,246,56,62,38,195,43,62,164,136,30,62,45,71,17,62,87,255,3,62,110,99,237,61,194,189,210,61,218,14,184,61,222,87,157,61,251,153,130,61,188,172,79,61,101,28,26,61,153,10,201,60,42,167,59,60,193,120,214,186,45,68,113,188,87,215,227,188,76,129,39,189,148,15,93,189,21,74,137,189,90,6,164,189,109,187,190,189,34,104,217,189,78,11,244,189,227,81,7,190,47,152,20,190,247,215,33,190,165,16,47,190,166,65,60,190,100,106,73,190,77,138,86,190,205,160,99,190,80,173,112,190,69,175,125,190,13,83,133,190,158,200,139,190,13,56,146,190,18,161,152,190,102,3,159,190,191,94,165,190,216,178,171,190,105,255,177,190,43,68,184,190,216,128,190,190,42,181,196,190,219,224,202,190,165,3,209,190,69,29,215,190,117,45,221,190,241,51,227,190,118,48,233,190,192,34,239,190,141,10,245,190,155,231,250,190,211,92,0,191,56,64,3,191,219,29,6,191,155,245,8,191,90,199,11,191,247,146,14,191,84,88,17,191,80,23,20,191,205,207,22,191,172,129,25,191,208,44,28,191,26,209,30,191,109,110,33,191,171,4,36,191,183,147,38,191,116,27,41,191,199,155,43,191,147,20,46,191,187,133,48,191,38,239,50,191,183,80,53,191,85,170,55,191,227,251,57,191,74,69,60,191,110,134,62,191,55,191,64,191,139,239,66,191,83,23,69,191,117,54,71,191,218,76,73,191,107,90,75,191,16,95,77,191,179,90,79,191,62,77,81,191,154,54,83,191,179,22,85,191,114,237,86,191,197,186,88,191,149,126,90,191,208,56,92,191,98,233,93,191,56,144,95,191,64,45,97,191,103,192,98,191,156,73,100,191,206,200,101,191,235,61,103,191,227,168,104,191,167,9,106,191,39,96,107,191,84,172,108,191,31,238,109,191,122,37,111,191,88,82,112,191,171,116,113,191,103,140,114,191,127,153,115,191,231,155,116,191,149,147,117,191,126,128,118,191,150,98,119,191,212,57,120,191,47,6,121,191,158,199,121,191,23,126,122,191,148,41,123,191,13,202,123,191,122,95,124,191,213,233,124,191,24,105,125,191,62,221,125,191,64,70,126,191,28,164,126,191,204,246,126,191,77,62,127,191,156,122,127,191,182,171,127,191,153,209,127,191,67,236,127,191,180,251,127,191,166,255,127,63,148,227,127,63,156,154,127,63,204,36,127,63,56,130,126,63,253,178,125,63,63,183,124,63,42,143,123,63,243,58,122,63,212,186,120,63,17,15,119,63,246,55,117,63,213,53,115,63,8,9,113,63,241,177,110,63,249,48,108,63,144,134,105,63,47,179,102,63,83,183,99,63,132,147,96,63,78,72,93,63,69,214,89,63,3,62,86,63,43,128,82,63,101,157,78,63,94,150,74,63,204,107,70,63,106,30,66,63,249,174,61,63,64,30,57,63,13,109,52,63,50,156,47,63,135,172,42,63,235,158,37,63,63,116,32,63,109,45,27,63,97,203,21,63,13,79,16,63,104,185,10,63,107,11,5,63,46,140,254,62,221,212,242,62,241,242,230,62,127,232,218,62,166,183,206,62,136,98,194,62,78,235,181,62,42,84,169,62,81,159,156,62,253,206,143,62,109,229,130,62,206,201,107,62,98,159,81,62,48,80,55,62,211,224,28,62,241,85,2,62,98,104,207,61,124,0,154,61,36,251,72,61,27,164,187,60,243,119,86,187,100,61,241,188,187,192,99,189,103,93,167,189,20,189,220,189,3,251,8,190,115,127,35,190,52,231,61,190,164,45,88,190,38,78,114,190,18,34,134,190,137,5,147,190,52,207,159,190,213,124,172,190,51,12,185,190,26,123,197,190,91,199,209,190,205,238,221,190,80,239,233,190,199,198,245,190,144,185,0,191,38,121,6,191,36,33,12,191,141,176,17,191,102,38,23,191,186,129,28,191,152,193,33,191,21,229,38,191,74,235,43,191,86,211,48,191,91,156,53,191,131,69,58,191,253,205,62,191,252,52,67,191,188,121,71,191,125,155,75,191,132,153,79,191,31,115,83,191,161,39,87,191,99,182,90,191,198,30,94,191,48,96,97,191,15,122,100,191,216,107,103,191,7,53,106,191,31,213,108,191,169,75,111,191,55,152,113,191,98,186,115,191,201,177,117,191,22,126,119,191,246,30,121,191,33,148,122,191,85,221,123,191,89,250,124,191,250,234,125,191,14,175,126,191,116,70,127,191,15,177,127,191,206,238,127,191,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,0,0,206,64,0,0,200,64,0,0,184,64,0,0,170,64,0,0,162,64,0,0,154,64,0,0,144,64,0,0,140,64,0,0,156,64,0,0,150,64,0,0,146,64,0,0,142,64,0,0,156,64,0,0,148,64,0,0,138,64,0,0,144,64,0,0,140,64,0,0,148,64,0,0,152,64,0,0,142,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,134,107,63,0,20,46,63,0,112,189,62,0,208,76,62,0,0,102,63,0,0,76,63,0,0,38,63,0,0,0,63,15,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,4,0,0,0,3,0,0,0,0,115,0,0,8,115,0,0,24,115,0,0,56,115,0,0,64,115,0,0,80,115,0,0,112,115,0,0,152,115,0,0,232,115,0,0,136,116,0,0,144,116,0,0,160,116,0,0,0,0,0,0,64,31,0,0,184,36,0,0,236,44,0,0,188,52,0,0,92,68,0,0,168,97,0,0,128,56,1,0,0,0,0,0,40,35,0,0,224,46,0,0,164,56,0,0,68,72,0,0,180,95,0,0,172,138,0,0,128,56,1,0,0,0,0,0,4,41,0,0,176,54,0,0,104,66,0,0,252,83,0,0,84,111,0,0,16,164,0,0,128,56,1,0,222,116,0,0,225,116,0,0,10,103,242,14,86,205,228,29,10,103,242,14,117,82,130,12,89,154,4,25,117,82,130,12,70,17,49,10,237,3,98,20,70,17,49,10,218,2,215,7,249,198,173,15,218,2,215,7,34,182,82,5,218,250,164,10,34,182,82,5,70,243,46,30,43,227,75,14,31,102,128,24,28,44,29,10,218,97,72,18,237,156,244,6,236,48,19,11,227,144,165,4,237,164,29,2,10,223,107,3,1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,12,0,0,0,3,0,0,0,11,0,0,0,4,0,0,0,14,0,0,0,1,0,0,0,9,0,0,0,6,0,0,0,13,0,0,0,2,0,0,0,10,0,0,0,5,0,0,0,144,69,0,0,80,72,0,0,12,75,0,0,196,77,0,0,120,80,0,0,40,83,0,0,212,85,0,0,60,87,0,0,248,87,0,0,108,88,0,0,184,88,0,0,240,88,0,0,16,89,0,0,40,89,0,0,52,89,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,21,0,0,0,23,0,0,0,25,0,0,0,27,0,0,0,29,0,0,0,31,0,0,0,33,0,0,0,35,0,0,0,37,0,0,0,39,0,0,0,41,0,0,0,43,0,0,0,45,0,0,0,47,0,0,0,49,0,0,0,51,0,0,0,53,0,0,0,55,0,0,0,57,0,0,0,59,0,0,0,61,0,0,0,63,0,0,0,65,0,0,0,67,0,0,0,69,0,0,0,71,0,0,0,73,0,0,0,75,0,0,0,77,0,0,0,79,0,0,0,81,0,0,0,83,0,0,0,85,0,0,0,87,0,0,0,89,0,0,0,91,0,0,0,93,0,0,0,95,0,0,0,97,0,0,0,99,0,0,0,101,0,0,0,103,0,0,0,105,0,0,0,107,0,0,0,109,0,0,0,111,0,0,0,113,0,0,0,115,0,0,0,117,0,0,0,119,0,0,0,121,0,0,0,123,0,0,0,125,0,0,0,127,0,0,0,129,0,0,0,131,0,0,0,133,0,0,0,135,0,0,0,137,0,0,0,139,0,0,0,141,0,0,0,143,0,0,0,145,0,0,0,147,0,0,0,149,0,0,0,151,0,0,0,153,0,0,0,155,0,0,0,157,0,0,0,159,0,0,0,161,0,0,0,163,0,0,0,165,0,0,0,167,0,0,0,169,0,0,0,171,0,0,0,173,0,0,0,175,0,0,0,177,0,0,0,179,0,0,0,181,0,0,0,183,0,0,0,185,0,0,0,187,0,0,0,189,0,0,0,191,0,0,0,193,0,0,0,195,0,0,0,197,0,0,0,199,0,0,0,201,0,0,0,203,0,0,0,205,0,0,0,207,0,0,0,209,0,0,0,211,0,0,0,213,0,0,0,215,0,0,0,217,0,0,0,219,0,0,0,221,0,0,0,223,0,0,0,225,0,0,0,227,0,0,0,229,0,0,0,231,0,0,0,233,0,0,0,235,0,0,0,237,0,0,0,239,0,0,0,241,0,0,0,243,0,0,0,245,0,0,0,247,0,0,0,249,0,0,0,251,0,0,0,253,0,0,0,255,0,0,0,1,1,0,0,3,1,0,0,5,1,0,0,7,1,0,0,9,1,0,0,11,1,0,0,13,1,0,0,15,1,0,0,17,1,0,0,19,1,0,0,21,1,0,0,23,1,0,0,25,1,0,0,27,1,0,0,29,1,0,0,31,1,0,0,33,1,0,0,35,1,0,0,37,1,0,0,39,1,0,0,41,1,0,0,43,1,0,0,45,1,0,0,47,1,0,0,49,1,0,0,51,1,0,0,53,1,0,0,55,1,0,0,57,1,0,0,59,1,0,0,61,1,0,0,63,1,0,0,65,1,0,0,67,1,0,0,69,1,0,0,71,1,0,0,73,1,0,0,75,1,0,0,77,1,0,0,79,1,0,0,81,1,0,0,83,1,0,0,85,1,0,0,87,1,0,0,89,1,0,0,91,1,0,0,93,1,0,0,95,1,0,0,13,0,0,0,25,0,0,0,41,0,0,0,61,0,0,0,85,0,0,0,113,0,0,0,145,0,0,0,181,0,0,0,221,0,0,0,9,1,0,0,57,1,0,0,109,1,0,0,165,1,0,0,225,1,0,0,33,2,0,0,101,2,0,0,173,2,0,0,249,2,0,0,73,3,0,0,157,3,0,0,245,3,0,0,81,4,0,0,177,4,0,0,21,5,0,0,125,5,0,0,233,5,0,0,89,6,0,0,205,6,0,0,69,7,0,0,193,7,0,0,65,8,0,0,197,8,0,0,77,9,0,0,217,9,0,0,105,10,0,0,253,10,0,0,149,11,0,0,49,12,0,0,209,12,0,0,117,13,0,0,29,14,0,0,201,14,0,0,121,15,0,0,45,16,0,0,229,16,0,0,161,17,0,0,97,18,0,0,37,19,0,0,237,19,0,0,185,20,0,0,137,21,0,0,93,22,0,0,53,23,0,0,17,24,0,0,241,24,0,0,213,25,0,0,189,26,0,0,169,27,0,0,153,28,0,0,141,29,0,0,133,30,0,0,129,31,0,0,129,32,0,0,133,33,0,0,141,34,0,0,153,35,0,0,169,36,0,0,189,37,0,0,213,38,0,0,241,39,0,0,17,41,0,0,53,42,0,0,93,43,0,0,137,44,0,0,185,45,0,0,237,46,0,0,37,48,0,0,97,49,0,0,161,50,0,0,229,51,0,0,45,53,0,0,121,54,0,0,201,55,0,0,29,57,0,0,117,58,0,0,209,59,0,0,49,61,0,0,149,62,0,0,253,63,0,0,105,65,0,0,217,66,0,0,77,68,0,0,197,69,0,0,65,71,0,0,193,72,0,0,69,74,0,0,205,75,0,0,89,77,0,0,233,78,0,0,125,80,0,0,21,82,0,0,177,83,0,0,81,85,0,0,245,86,0,0,157,88,0,0,73,90,0,0,249,91,0,0,173,93,0,0,101,95,0,0,33,97,0,0,225,98,0,0,165,100,0,0,109,102,0,0,57,104,0,0,9,106,0,0,221,107,0,0,181,109,0,0,145,111,0,0,113,113,0,0,85,115,0,0,61,117,0,0,41,119,0,0,25,121,0,0,13,123,0,0,5,125,0,0,1,127,0,0,1,129,0,0,5,131,0,0,13,133,0,0,25,135,0,0,41,137,0,0,61,139,0,0,85,141,0,0,113,143,0,0,145,145,0,0,181,147,0,0,221,149,0,0,9,152,0,0,57,154,0,0,109,156,0,0,165,158,0,0,225,160],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240), -allocate([33,163,0,0,101,165,0,0,173,167,0,0,249,169,0,0,73,172,0,0,157,174,0,0,245,176,0,0,81,179,0,0,177,181,0,0,21,184,0,0,125,186,0,0,233,188,0,0,89,191,0,0,205,193,0,0,69,196,0,0,193,198,0,0,65,201,0,0,197,203,0,0,77,206,0,0,217,208,0,0,105,211,0,0,253,213,0,0,149,216,0,0,49,219,0,0,209,221,0,0,117,224,0,0,29,227,0,0,201,229,0,0,121,232,0,0,45,235,0,0,229,237,0,0,161,240,0,0,63,0,0,0,129,0,0,0,231,0,0,0,121,1,0,0,63,2,0,0,65,3,0,0,135,4,0,0,25,6,0,0,255,7,0,0,65,10,0,0,231,12,0,0,249,15,0,0,127,19,0,0,129,23,0,0,7,28,0,0,25,33,0,0,191,38,0,0,1,45,0,0,231,51,0,0,121,59,0,0,191,67,0,0,193,76,0,0,135,86,0,0,25,97,0,0,127,108,0,0,193,120,0,0,231,133,0,0,249,147,0,0,255,162,0,0,1,179,0,0,7,196,0,0,25,214,0,0,63,233,0,0,129,253,0,0,231,18,1,0,121,41,1,0,63,65,1,0,65,90,1,0,135,116,1,0,25,144,1,0,255,172,1,0,65,203,1,0,231,234,1,0,249,11,2,0,127,46,2,0,129,82,2,0,7,120,2,0,25,159,2,0,191,199,2,0,1,242,2,0,231,29,3,0,121,75,3,0,191,122,3,0,193,171,3,0,135,222,3,0,25,19,4,0,127,73,4,0,193,129,4,0,231,187,4,0,249,247,4,0,255,53,5,0,1,118,5,0,7,184,5,0,25,252,5,0,63,66,6,0,129,138,6,0,231,212,6,0,121,33,7,0,63,112,7,0,65,193,7,0,135,20,8,0,25,106,8,0,255,193,8,0,65,28,9,0,231,120,9,0,249,215,9,0,127,57,10,0,129,157,10,0,7,4,11,0,25,109,11,0,191,216,11,0,1,71,12,0,231,183,12,0,121,43,13,0,191,161,13,0,193,26,14,0,135,150,14,0,25,21,15,0,127,150,15,0,193,26,16,0,231,161,16,0,249,43,17,0,255,184,17,0,1,73,18,0,7,220,18,0,25,114,19,0,63,11,20,0,129,167,20,0,231,70,21,0,121,233,21,0,63,143,22,0,65,56,23,0,135,228,23,0,25,148,24,0,255,70,25,0,65,253,25,0,231,182,26,0,249,115,27,0,127,52,28,0,129,248,28,0,7,192,29,0,25,139,30,0,191,89,31,0,1,44,32,0,231,1,33,0,121,219,33,0,191,184,34,0,193,153,35,0,135,126,36,0,25,103,37,0,127,83,38,0,193,67,39,0,231,55,40,0,249,47,41,0,255,43,42,0,1,44,43,0,7,48,44,0,25,56,45,0,63,68,46,0,129,84,47,0,231,104,48,0,121,129,49,0,63,158,50,0,65,191,51,0,135,228,52,0,25,14,54,0,255,59,55,0,65,110,56,0,231,164,57,0,249,223,58,0,127,31,60,0,129,99,61,0,7,172,62,0,25,249,63,0,191,74,65,0,1,161,66,0,231,251,67,0,121,91,69,0,191,191,70,0,193,40,72,0,135,150,73,0,25,9,75,0,127,128,76,0,193,252,77,0,231,125,79,0,249,3,81,0,255,142,82,0,1,31,84,0,7,180,85,0,25,78,87,0,63,237,88,0,129,145,90,0,231,58,92,0,121,233,93,0,63,157,95,0,65,86,97,0,135,20,99,0,25,216,100,0,255,160,102,0,65,111,104,0,231,66,106,0,249,27,108,0,127,250,109,0,65,1,0,0,169,2,0,0,9,5,0,0,193,8,0,0,65,14,0,0,9,22,0,0,169,32,0,0,193,46,0,0,1,65,0,0,41,88,0,0,9,117,0,0,129,152,0,0,129,195,0,0,9,247,0,0,41,52,1,0,1,124,1,0,193,207,1,0,169,48,2,0,9,160,2,0,65,31,3,0,193,175,3,0,9,83,4,0,169,10,5,0,65,216,5,0,129,189,6,0,41,188,7,0,9,214,8,0,1,13,10,0,1,99,11,0,9,218,12,0,41,116,14,0,129,51,16,0,65,26,18,0,169,42,20,0,9,103,22,0,193,209,24,0,65,109,27,0,9,60,30,0,169,64,33,0,193,125,36,0,1,246,39,0,41,172,43,0,9,163,47,0,129,221,51,0,129,94,56,0,9,41,61,0,41,64,66,0,1,167,71,0,193,96,77,0,169,112,83,0,9,218,89,0,65,160,96,0,193,198,103,0,9,81,111,0,169,66,119,0,65,159,127,0,129,106,136,0,41,168,145,0,9,92,155,0,1,138,165,0,1,54,176,0,9,100,187,0,41,24,199,0,129,86,211,0,65,35,224,0,169,130,237,0,9,121,251,0,193,10,10,1,65,60,25,1,9,18,41,1,169,144,57,1,193,188,74,1,1,155,92,1,41,48,111,1,9,129,130,1,129,146,150,1,129,105,171,1,9,11,193,1,41,124,215,1,1,194,238,1,193,225,6,2,169,224,31,2,9,196,57,2,65,145,84,2,193,77,112,2,9,255,140,2,169,170,170,2,65,86,201,2,129,7,233,2,41,196,9,3,9,146,43,3,1,119,78,3,1,121,114,3,9,158,151,3,41,236,189,3,129,105,229,3,65,28,14,4,169,10,56,4,9,59,99,4,193,179,143,4,65,123,189,4,9,152,236,4,169,16,29,5,193,235,78,5,1,48,130,5,41,228,182,5,9,15,237,5,129,183,36,6,129,228,93,6,9,157,152,6,41,232,212,6,1,205,18,7,193,82,82,7,169,128,147,7,9,94,214,7,65,242,26,8,193,68,97,8,9,93,169,8,169,66,243,8,65,253,62,9,129,148,140,9,41,16,220,9,9,120,45,10,1,212,128,10,1,44,214,10,9,136,45,11,41,240,134,11,129,108,226,11,65,5,64,12,169,194,159,12,9,173,1,13,193,204,101,13,65,42,204,13,9,206,52,14,169,192,159,14,193,10,13,15,1,181,124,15,41,200,238,15,9,77,99,16,129,76,218,16,129,207,83,17,9,223,207,17,41,132,78,18,1,200,207,18,193,179,83,19,169,80,218,19,9,168,99,20,65,195,239,20,193,171,126,21,9,107,16,22,169,10,165,22,65,148,60,23,129,17,215,23,41,140,116,24,9,14,21,25,1,161,184,25,1,79,95,26,9,34,9,27,41,36,182,27,129,95,102,28,65,222,25,29,169,170,208,29,9,207,138,30,193,85,72,31,65,73,9,32,9,180,205,32,169,160,149,33,193,25,97,34,1,42,48,35,41,220,2,36,9,59,217,36,129,81,179,37,147,6,0,0,69,14,0,0,15,28,0,0,17,51,0,0,91,87,0,0,13,142,0,0,119,221,0,0,57,77,1,0,99,230,1,0,149,179,2,0,31,193,3,0,33,29,5,0,171,215,6,0,221,2,9,0,7,179,11,0,201,254,14,0,51,255,18,0,229,207,23,0,47,143,29,0,49,94,36,0,251,96,44,0,173,190,53,0,151,161,64,0,89,55,77,0,3,177,91,0,53,67,108,0,63,38,127,0,65,150,148,0,75,211,172,0,125,33,200,0,39,201,230,0,233,22,9,1,211,91,47,1,133,237,89,1,79,38,137,1,81,101,189,1,155,14,247,1,77,139,54,2,183,73,124,2,121,189,200,2,163,95,28,3,213,174,119,3,95,47,219,3,97,107,71,4,235,242,188,4,29,92,60,5,71,67,198,5,9,75,91,6,115,28,252,6,37,103,169,7,111,225,99,8,113,72,44,9,59,96,3,10,237,243,233,10,215,213,224,11,153,223,232,12,67,242,2,14,117,246,47,15,127,220,112,16,129,156,198,17,139,54,50,19,189,178,180,20,103,33,79,22,41,155,2,24,19,65,208,25,197,60,185,27,143,192,190,29,145,7,226,31,219,85,36,34,141,248,134,36,247,69,11,39,185,157,178,41,227,104,126,44,21,26,112,47,159,45,137,50,161,41,203,53,43,158,55,57,93,37,208,60,135,99,150,64,73,7,140,68,179,201,178,72,101,110,12,77,175,195,154,81,177,162,95,86,123,239,92,91,45,153,148,96,23,154,8,102,217,247,186,107,131,195,173,113,181,25,227,119,191,34,93,126,29,35,0,0,113,77,0,0,145,156,0,0,253,38,1,0,101,12,2,0,233,119,3,0,153,162,5,0,53,214,8,0,45,112,13,0,225,228,19,0,33,195,28,0,237,183,40,0,117,146,56,0,89,72,77,0,41,250,103,0,37,248,137,0,61,199,180,0,81,38,234,0,177,19,44,1,221,210,124,1,133,242,222,1,201,82,85,2,185,43,227,2,21,20,140,3,77,8,84,4,193,113,63,5,65,46,83,6,205,151,148,7,149,140,9,9,57,119,184,10,73,87,168,12,5,202,224,14,93,19,106,17,49,39,77,20,209,178,147,23,189,38,72,27,165,192,117,31,169,149,40,36,217,156,109,41,245,185,82,47,109,200,230,53,161,166,57,61,97,65,92,69,173,159,96,78,181,238,89,88,25,142,92,99,105,28,126,111,229,131,213,124,255,189,0,0,1,168,1,0,143,107,3,0,241,158,6,0,63,35,12,0,193,61,21,0,143,182,35,0,241,252,57,0,255,81,91,0,1,250,139,0,15,117,209,0,113,191,50,1,63,154,184,1,193,220,109,2,15,207,95,3,113,142,158,4,255,123,61,6,1,182,83,8,143,156,252,10,241,97,88,14,63,167,140,18,193,37,197,23,143,101,52,30,241,129,20,38,255,251,167,47,1,156,58,59,15,98,34,73,113,134,192,89,63,138,130,109,193,88,227,132,1,14,4,0,145,33,9,0,17,44,19,0,65,238,37,0,65,79,71,0,145,67,128,0,17,247,221,0,1,70,115,1,1,146,90,2,17,1,184,3,145,53,188,5,65,143,167,8,65,6,206,12,17,178,155,18,145,15,154,26,1,26,118,37,1,76,7,52,145,158,87,71,17,157,172,96,65,166,145,129,35,81,22,0,197,158,50,0,23,185,107,0,153,246,216,0,107,137,160,1,13,196,254,2,31,1,80,5,33,217,29,9,51,108,48,15,213,162,164,24,167,103,8,39,41,253,125,60,123,181,231,91,29,119,29,137,175,160,45,201,173,142,123,0,137,230,25,1,57,150,94,2,61,22,216,4,181,99,119,9,225,40,198,17,33,3,52,32,117,72,130,56,125,87,87,96,191,91,175,2,129,216,39,6,247,132,94,13,233,254,173,27,127,139,235,54,129,183,229,104,23,3,156,193,193,12,255,14,57,106,133,34,25,238,145,75,129,120,43,158,51,225,9,84,32,0,10,0,20,46,100,1,221,121,0,0,188,100,0,0,29,123,0,0,93,123,0,0,111,123,0,0,15,124,0,0,87,124,0,0,60,103,0,0,32,0,16,0,102,38,171,1,159,124,0,0,82,103,0,0,159,126,0,0,223,126,0,0,253,126,0,0,253,127,0,0,69,128,0,0,82,107,0,0,48,117,0,0,112,23,0,0,32,209,255,255,32,209,255,255,0,64,0,0,108,34,0,0,66,15,0,0,18,6,0,0,77,2,0,0,219,0,0,0,237,0,0,0,153,0,0,0,73,0,0,0,30,0,0,0,12,0,0,0,7,0,0,0,0,64,0,0,147,93,0,0,189,112,0,0,237,121,0,0,178,125,0,0,36,127,0,0,0,0,0,0,240,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,40,1,0,0,6,0,0,0,7,0,0,0,1,0,0,0,0,0,0,0,88,1,0,0,1,0,0,0,8,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,0,0,0,0,72,1,0,0,1,0,0,0,9,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,1,0,0,0,10,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,10,0,12,0,14,0,16,0,20,0,24,0,28,0,34,0,40,0,48,0,60,0,78,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,8,0,8,0,8,0,16,0,16,0,16,0,21,0,21,0,24,0,29,0,34,0,36,0,0,0,96,0,192,0,32,1,128,1,32,0,128,0,224,0,64,1,160,1,64,0,160,0,0,1,96,1,192,1,8,0,104,0,200,0,40,1,136,1,40,0,136,0,232,0,72,1,168,1,72,0,168,0,8,1,104,1,200,1,16,0,112,0,208,0,48,1,144,1,48,0,144,0,240,0,80,1,176,1,80,0,176,0,16,1,112,1,208,1,24,0,120,0,216,0,56,1,152,1,56,0,152,0,248,0,88,1,184,1,88,0,184,0,24,1,120,1,216,1,4,0,100,0,196,0,36,1,132,1,36,0,132,0,228,0,68,1,164,1,68,0,164,0,4,1,100,1,196,1,12,0,108,0,204,0,44,1,140,1,44,0,140,0,236,0,76,1,172,1,76,0,172,0,12,1,108,1,204,1,20,0,116,0,212,0,52,1,148,1,52,0,148,0,244,0,84,1,180,1,84,0,180,0,20,1,116,1,212,1,28,0,124,0,220,0,60,1,156,1,60,0,156,0,252,0,92,1,188,1,92,0,188,0,28,1,124,1,220,1,1,0,97,0,193,0,33,1,129,1,33,0,129,0,225,0,65,1,161,1,65,0,161,0,1,1,97,1,193,1,9,0,105,0,201,0,41,1,137,1,41,0,137,0,233,0,73,1,169,1,73,0,169,0,9,1,105,1,201,1,17,0,113,0,209,0,49,1,145,1,49,0,145,0,241,0,81,1,177,1,81,0,177,0,17,1,113,1,209,1,25,0,121,0,217,0,57,1,153,1,57,0,153,0,249,0,89,1,185,1,89,0,185,0,25,1,121,1,217,1,5,0,101,0,197,0,37,1,133,1,37,0,133,0,229,0,69,1,165,1,69,0,165,0,5,1,101,1,197,1,13,0,109,0,205,0,45,1,141,1,45,0,141,0,237,0,77,1,173,1,77,0,173,0,13,1,109,1,205,1,21,0,117,0,213,0,53,1,149,1,53,0,149,0,245,0,85,1,181,1,85,0,181,0,21,1,117,1,213,1,29,0,125,0,221,0,61,1,157,1,61,0,157,0,253,0,93,1,189,1,93,0,189,0,29,1,125,1,221,1,2,0,98,0,194,0,34,1,130,1,34,0,130,0,226,0,66,1,162,1,66,0,162,0,2,1,98,1,194,1,10,0,106,0,202,0,42,1,138,1,42,0,138,0,234,0,74,1,170,1,74,0,170,0,10,1,106,1,202,1,18,0,114,0,210,0,50,1,146,1,50,0,146,0,242,0,82,1,178,1,82,0,178,0,18,1,114,1,210,1,26,0,122,0,218,0,58,1,154,1,58,0,154,0,250,0,90,1,186,1,90,0,186,0,26,1,122,1,218,1,6,0,102,0,198,0,38,1,134,1,38,0,134,0,230,0,70,1,166,1,70,0,166,0,6,1,102,1,198,1,14,0,110,0,206,0,46,1,142,1,46,0,142,0,238,0,78,1,174,1,78,0,174,0,14,1,110,1,206,1,22,0,118,0,214,0,54,1,150,1,54,0,150,0,246,0,86,1,182,1,86,0,182,0,22,1,118,1,214,1,30,0,126,0,222,0,62,1,158,1,62,0,158,0,254,0,94,1,190,1,94,0,190,0,30,1,126,1,222,1,3,0,99,0,195,0,35,1,131,1,35,0,131,0,227,0,67,1,163,1,67,0,163,0,3,1,99,1,195,1,11,0,107,0,203,0,43,1,139,1,43,0,139,0,235,0,75,1,171,1,75,0,171,0,11,1,107,1,203,1,19,0,115,0,211,0,51,1,147,1,51,0,147,0,243,0,83,1,179,1,83,0,179,0,19,1,115,1,211,1,27,0,123,0,219,0,59,1,155,1,59,0,155,0,251,0,91,1,187,1,91,0,187,0,27,1,123,1,219,1,7,0,103,0,199,0,39,1,135,1,39,0,135,0,231,0,71,1,167,1,71,0,167,0,7,1,103,1,199,1,15,0,111,0,207,0,47,1,143,1,47,0,143,0,239,0,79,1,175,1,79,0,175,0,15,1,111,1,207,1,23,0,119,0,215,0,55,1,151,1,55,0,151,0,247,0,87,1,183,1,87,0,183,0,23,1,119,1,215,1,31,0,127,0,223,0,63,1,159,1,63,0,159,0,255,0,95,1,191,1,95,0,191,0,31,1,127,1,223,1,0,0,48,0,96,0,144,0,192,0,16,0,64,0,112,0,160,0,208,0,32,0,80,0,128,0,176,0,224,0,4,0,52,0,100,0,148,0,196,0,20,0,68,0,116,0,164,0,212,0,36,0,84,0,132,0,180,0,228,0,8,0,56,0,104,0,152,0,200,0,24,0,72,0,120,0,168,0,216,0,40,0,88,0,136,0,184,0,232,0,12,0,60,0,108,0,156,0,204,0,28,0,76,0,124,0,172,0,220,0,44,0,92,0,140,0,188,0,236,0,1,0,49,0,97,0,145,0,193,0,17,0,65,0,113,0,161,0,209,0,33,0,81,0,129,0,177,0,225,0,5,0,53,0,101,0,149,0,197,0,21,0,69,0,117,0,165,0,213,0,37,0,85,0,133,0,181,0,229,0,9,0,57,0,105,0,153,0,201,0,25,0,73,0,121,0,169,0,217,0,41,0,89,0,137,0,185,0,233,0,13,0,61,0,109,0,157,0,205,0,29,0,77,0,125,0,173,0,221,0,45,0,93,0,141,0,189,0,237,0,2,0,50,0,98,0,146,0,194,0,18,0,66,0,114,0,162,0,210,0,34,0,82,0,130,0,178,0,226,0,6,0,54,0,102,0,150,0,198,0,22,0,70,0,118,0,166,0,214,0,38,0,86,0,134,0,182,0,230,0,10,0,58,0,106,0,154,0,202,0,26,0,74,0,122,0,170,0,218,0,42,0,90,0,138,0,186,0,234,0,14,0,62,0,110,0,158,0,206,0,30,0,78,0,126,0,174,0,222,0,46,0,94,0,142,0,190,0,238,0,3,0,51,0,99,0,147,0,195,0,19,0,67,0,115,0,163,0,211,0,35,0,83,0,131,0,179,0,227,0,7,0,55,0,103,0,151,0,199,0,23,0,71,0,119,0,167,0,215,0,39,0,87,0,135,0,183,0,231,0,11,0,59,0,107,0,155,0,203,0,27,0,75,0,123,0,171,0,219,0,43,0,91,0,139,0,187,0,235,0,15,0,63,0,111,0,159,0,207,0,31,0,79,0,127,0,175,0,223,0,47,0,95,0,143,0,191,0,239,0,0,0,24,0,48,0,72,0,96,0,8,0,32,0,56,0,80,0,104,0,16,0,40,0,64,0,88,0,112,0,4,0,28,0,52,0,76,0,100,0,12,0,36,0,60,0,84,0,108,0,20,0,44,0,68,0,92,0,116,0,1,0,25,0,49,0,73,0,97,0,9,0,33,0,57,0,81,0,105,0,17,0,41,0,65,0,89,0,113,0,5,0,29,0,53,0,77,0,101,0,13,0,37,0,61,0,85,0,109,0,21,0,45,0,69,0,93,0,117,0,2,0,26,0,50,0,74,0,98,0,10,0,34,0,58,0,82,0,106,0,18,0,42,0,66,0,90,0,114,0,6,0,30,0,54,0,78,0,102,0,14,0,38,0,62,0,86,0,110,0,22,0,46,0,70,0,94,0,118,0,3,0,27,0,51,0,75,0,99,0,11,0,35,0,59,0,83,0,107,0,19,0,43,0,67,0,91,0,115,0,7,0,31,0,55,0,79,0,103,0,15,0,39,0,63,0,87,0,111,0,23,0,47,0,71,0,95,0,119,0,0,0,12,0,24,0,36,0,48,0,4,0,16,0,28,0,40,0,52,0,8,0,20,0,32,0,44,0,56,0,1,0,13,0,25,0,37,0,49,0,5,0,17,0,29,0,41,0,53,0,9,0,21,0,33,0,45,0,57,0,2,0,14,0,26,0,38,0,50,0,6,0,18,0,30,0,42,0,54,0,10,0,22,0,34,0,46,0,58,0,3,0,15,0,27,0,39,0,51,0,7,0,19,0,31,0,43,0,55,0,11,0,23,0,35,0,47,0,59,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,41,0,41,0,41,0,82,0,82,0,123,0,164,0,200,0,222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,164,0,164,0,240,0,10,1,27,1,39,1,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,10,1,10,1,49,1,62,1,72,1,80,1,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,62,1,62,1,87,1,95,1,102,1,108,1,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,49,1,87,1,87,1,87,1,95,1,95,1,114,1,120,1,126,1,131,1,18,0,29,0,38,0,40,0,46,0,52,0,62,0,84,0,92,202,190,216,182,223,154,226,156,230,120,236,122,244,204,252,52,3,134,11,136,19,100,25,102,29,74,32,66,39,164,53,100,0,240,0,32,0,100,0,205,60,0,48,0,32,42,175,213,201,207,255,64,0,17,0,99,255,97,1,16,254,163,0,39,43,189,86,217,255,6,0,91,0,86,255,186,0,23,0,128,252,192,24,216,77,237,255,220,255,102,0,167,255,232,255,72,1,73,252,8,10,37,62,135,199,61,201,64,0,128,0,134,255,36,0,54,1,0,253,72,2,51,36,69,69,12,0,128,0,18,0,114,255,32,1,139,255,159,252,27,16,123,56,104,2,13,200,246,255,39,0,58,0,210,255,172,255,120,0,184,0,197,254,227,253,4,5,4,21,64,35,230,62,198,196,243,255,0,0,20,0,26,0,5,0,225,255,213,255,252,255,65,0,90,0,7,0,99,255,8,255,212,255,81,2,47,6,52,10,199,12,228,87,5,197,3,0,242,255,236,255,241,255,2,0,25,0,37,0,25,0,240,255,185,255,149,255,177,255,50,0,36,1,111,2,214,3,8,5,184,5,148,107,103,196,17,0,12,0,8,0,1,0,246,255,234,255,226,255,224,255,234,255,3,0,44,0,100,0,168,0,243,0,61,1,125,1,173,1,199,1,189,0,168,253,105,2,103,119,117,0,97,255,210,251,8,116,52,0,221,0,168,246,116,110,252,255,17,2,234,242,229,102,208,255,246,2,140,240,165,93,176,255,137,3,117,239,6,83,157,255,204,3,130,239,102,71,149,255,199,3,139,240,39,59,153,255,128,3,97,242,174,46,165,255,5,3,207,244,94,34,185,255,99,2,161,247,152,22,210,255,169,1,161,250,180,11,0,64,202,69,27,76,255,82,130,90,179,98,162,107,96,117,184,126,154,121,154,121,102,102,184,126,51,115,81,11,10,9,10,9,10,9,239,8,239,8,10,9,252,8,23,9,239,8,72,11,20,10,90,9,63,9,10,9,226,8,226,8,226,8,226,8,146,8,183,9,36,9,36,9,10,9,10,9,10,9,36,9,36,9,63,9,50,9,144,12,206,10,36,9,36,9,10,9,226,8,173,8,159,8,213,8,146,8,156,9,170,9,63,9,90,9,90,9,90,9,90,9,63,9,103,9,10,9,151,13,240,11,79,8,159,8,226,8,226,8,226,8,239,8,10,9,213,8,210,12,69,12,20,10,90,9,199,8,173,8,159,8,146,8,146,8,66,8,0,16,5,15,173,8,60,10,60,10,103,9,10,9,90,9,63,9,26,8,106,12,172,12,63,9,173,8,249,9,130,9,36,9,10,9,119,8,173,8,10,13,160,13,166,10,146,8,213,8,156,9,50,9,63,9,159,8,53,8,50,9,116,9,23,9,63,9,90,9,116,9,116,9,116,9,156,9,63,9,195,14,45,14,130,9,223,9,63,9,226,8,226,8,252,8,159,8,0,8,182,12,153,12,153,10,30,11,143,9,23,9,252,8,252,8,226,8,79,8,191,12,228,12,193,10,246,10,143,9,213,8,213,8,199,8,79,8,53,8,57,11,165,11,73,10,63,9,103,9,50,9,146,8,199,8,199,8,66,8,153,12,125,12,73,10,20,10,226,8,133,8,199,8,173,8,173,8,93,8,106,12,238,12,180,10,103,9,226,8,226,8,226,8,239,8,146,8,66,8,69,12,200,12,156,9,13,8,239,8,196,9,63,9,183,9,130,9,133,8,179,13,210,12,10,9,140,10,87,10,170,9,63,9,90,9,36,9,79,8,95,13,207,13,222,11,240,11,252,8,158,7,173,8,226,8,226,8,226,8,76,13,38,13,39,8,127,10,57,11,50,9,116,9,226,8,170,9,236,9,176,14,160,13,158,7,100,10,81,11,223,9,90,9,63,9,156,9,213,8,212,11,200,12,180,10,72,11,180,10,106,8,79,8,239,8,186,8,199,8,111,14,73,14,233,7,177,7,100,10,140,10,20,10,196,9,23,9,63,9,135,12,85,13,50,9,26,8,72,11,72,11,36,9,183,9,199,8,119,8,10,13,38,13,30,11,220,10,23,9,106,8,226,8,239,8,66,8,13,8,23,9,252,8,133,8,119,8,133,8,63,9,73,10,140,10,140,10,249,9,103,9,130,9,173,8,213,8,173,8,173,8,36,9,116,9,47,10,140,10,222,11,172,12,246,10,72,11,170,9,26,8,252,8,10,9,50,9,76,9,173,8,106,8,79,8,239,8,196,9,233,10,233,10,60,10,20,10,63,9,92,14,129,14,186,8,46,7,133,8,193,10,166,10,113,10,209,9,159,8,233,10,88,12,166,10,249,9,30,11,209,9,133,8,90,9,173,8,133,8,250,0,3,0,6,0,3,0,3,0,3,0,4,0,3,0,3,0,3,0,205,1,73,14,109,11,109,11,109,11,109,11,109,11,109,11,109,11,109,11,109,11,109,11,109,11,147,11,147,11,109,11,30,11,144,12,13,12,156,11,240,11,240,11,194,11,194,11,194,11,147,11,147,11,194,11,156,11,72,11,30,11,30,11,166,10,80,15,174,15,165,11,135,12,135,12,118,11,240,11,30,11,50,12,172,12,109,11,30,11,60,10,249,9,220,10,109,11,188,13,125,12,194,11,31,12,203,11,72,11,109,11,109,11,109,11,109,11,72,11,72,11,72,11,72,11,72,11,193,10,190,19,190,19,118,11,245,13,57,13,240,11,13,12,233,10,88,12,88,12,156,11,30,11,209,9,236,9,193,10,72,11,76,17,53,16,140,10,193,10,156,11,194,11,109,11,30,11,165,11,203,11,109,11,109,11,109,11,109,11,72,11,166,10,36,14,203,11,156,11,240,11,240,11,57,11,246,10,240,11,144,12,231,11,165,11,219,12,219,12,165,11,238,12,175,11,107,20,150,19,236,9,10,13,198,13,57,13,125,12,22,12,48,13,165,11,140,10,87,10,127,10,233,10,30,11,113,10,217,19,54,20,7,18,76,17,156,9,81,11,231,11,135,12,97,12,127,10,180,10,72,11,30,11,233,10,30,11,140,10,50,12,72,11,147,11,109,11,109,11,109,11,109,11,147,11,147,11,147,11,147,11,109,11,109,11,147,11,147,11,147,11,106,16,135,12,165,11,31,12,194,11,72,11,72,11,109,11,156,11,57,11,100,11,203,11,156,11,194,11,125,12,57,11,176,14,176,14,172,12,31,12,165,11,72,11,109,11,72,11,156,11,118,11,233,10,233,10,30,11,72,11,72,11,100,10,14,15,174,15,135,12,50,12,172,12,118,11,231,11,147,11,147,11,13,12,30,11,233,10,233,10,233,10,233,10,20,10,5,15,240,15,29,13,188,13,22,12,180,10,194,11,118,11,50,12,13,12,30,11,30,11,87,10,87,10,30,11,246,10,27,20,30,19,153,12,5,15,113,13,97,12,81,11,85,13,123,13,140,10,20,10,113,10,180,10,30,11,246,10,193,10,13,16,205,14,219,12,88,12,109,11,72,11,72,11,109,11,233,10,180,10,233,10,180,10,233,10,30,11,72,11,246,10,217,19,190,19,231,11,217,13,172,12,240,11,13,12,128,11,31,12,81,11,180,10,180,10,180,10,30,11,233,10,60,10,213,16,213,16,44,11,223,9,135,12,48,13,48,13,3,12,3,12,48,13,240,11,30,11,87,10,20,10,166,10,193,10,240,11,100,11,246,10,72,11,180,10,127,10,81,11,31,12,78,12,78,12,144,12,97,12,240,11,194,11,147,11,30,11,23,17,42,15,109,11,72,11,30,11,72,11,30,11,30,11,72,11,72,11,72,11,30,11,72,11,109,11,72,11,30,11,165,11,100,11,100,11,165,11,165,11,240,11,50,12,144,12,78,12,240,11,194,11,156,11,156,11,156,11,109,11,180,10,133,16,53,16,238,12,19,13,109,11,147,11,72,11,165,11,165,11,30,11,233,10,180,10,30,11,30,11,30,11,233,10,240,15,174,15,31,12,194,11,109,11,109,11,109,11,72,11,109,11,109,11,30,11,30,11,30,11,233,10,72,11,220,10,7,18,223,17,97,12,113,13,135,12,165,11,81,11,222,11,50,12,180,10,127,10,127,10,127,10,180,10,233,10,140,10,53,16,173,16,205,14,73,14,166,10,220,10,72,11,72,11,194,11,156,11,109,11,30,11,127,10,127,10,233,10,72,11,119,16,226,13,193,10,30,11,30,11,72,11,72,11,72,11,109,11,109,11,72,11,109,11,109,11,109,11,147,11,72,11,54,20,57,19,213,8,104,13,205,14,151,13,19,13,30,11,238,12,151,13,78,12,81,11,156,9,183,9,193,10,109,11,123,13,101,14,50,12,125,12,29,13,231,11,135,12,135,12,165,11,144,12,13,12,109,11,109,11,127,10,236,9,130,9,165,11,194,11,233,10,233,10,180,10,233,10,30,11,156,11,240,11,31,12,78,12,78,12,78,12,31,12,194,11,194,11,128,11,57,11,127,10,166,10,220,10,194,11,104,13,217,13,29,13,172,12,240,11,194,11,147,11,109,11,72,11,30,11,203,11,128,11,81,11,194,11,194,11,156,11,203,11,31,12,240,11,240,11,194,11,72,11,30,11,109,11,109,11,72,11,80,15,127,15,194,11,125,12,29,13,144,12,219,12,219,12,151,13,120,14,113,13,166,10,133,8,156,9,20,10,47,10,100,0,3,0,40,0,3,0,3,0,3,0,5,0,14,0,14,0,10,0,11,0,3,0,8,0,9,0,7,0,3,0,91,1,0,32,254,31,246,31,234,31,216,31,194,31,168,31,136,31,98,31,58,31,10,31,216,30,160,30,98,30,34,30,220,29,144,29,66,29,238,28,150,28,58,28,216,27,114,27,10,27,156,26,42,26,180,25,58,25,188,24,60,24,182,23,46,23,160,22,16,22,126,21,232,20,78,20,176,19,16,19,110,18,200,17,30,17,116,16,198,15,22,15,100,14,174,13,248,12,64,12,132,11,200,10,10,10,74,9,138,8,198,7,2,7,62,6,120,5,178,4,234,3,34,3,90,2,146,1,202,0,0,0,54,255,110,254,166,253,222,252,22,252,78,251,136,250,194,249,254,248,58,248,118,247,182,246,246,245,56,245,124,244,192,243,8,243,82,242,156,241,234,240,58,240,140,239,226,238,56,238,146,237,240,236,80,236,178,235,24,235,130,234,240,233,96,233,210,232,74,232,196,231,68,231,198,230,76,230,214,229,100,229,246,228,142,228,40,228,198,227,106,227,18,227,190,226,112,226,36,226,222,225,158,225,96,225,40,225,246,224,198,224,158,224,120,224,88,224,62,224,40,224,22,224,10,224,2,224,0,224,79,112,117,115,83,99,114,105,112,116,72,97,110,100,108,101,114,0,95,101,110,99,111,100,101,0,95,100,101,99,111,100,101,0,49,55,79,112,117,115,83,99,114,105,112,116,72,97,110,100,108,101,114,0,80,49,55,79,112,117,115,83,99,114,105,112,116,72,97,110,100,108,101,114,0,80,75,49,55,79,112,117,115,83,99,114,105,112,116,72,97,110,100,108,101,114,0,105,105,0,118,0,118,105,0,105,105,105,105,105,0,105,105,105,105,105,105,105,0,105,105,105,105,105,105,0,0,255,0,255,0,255,0,255,0,255,0,254,1,0,1,255,0,254,0,253,2,0,1,255,0,254,0,253,3,0,1,255,117,110,107,110,111,119,110,32,101,114,114,111,114,0,115,117,99,99,101,115,115,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,98,117,102,102,101,114,32,116,111,111,32,115,109,97,108,108,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,0,99,111,114,114,117,112,116,101,100,32,115,116,114,101,97,109,0,114,101,113,117,101,115,116,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,105,110,118,97,108,105,100,32,115,116,97,116,101,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,0,255,255,156,110,86,70,59,51,45,40,37,33,31,28,26,25,23,22,21,20,19,18,17,16,16,15,15,14,13,13,12,12,12,12,11,11,11,10,10,10,9,9,9,9,9,9,8,8,8,8,8,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,25,23,2,0,126,124,119,109,87,41,19,9,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,80,75,69,63,56,49,40,34,29,20,18,10,0,0,0,0,0,0,0,0,110,100,90,84,78,71,65,58,51,45,39,32,26,20,12,0,0,0,0,0,0,118,110,103,93,86,80,75,70,65,59,53,47,40,31,23,15,4,0,0,0,0,126,119,112,104,95,89,83,78,72,66,60,54,47,39,32,25,17,12,1,0,0,134,127,120,114,103,97,91,85,78,72,66,60,54,47,41,35,29,23,16,10,1,144,137,130,124,113,107,101,95,88,82,76,70,64,57,51,45,39,33,26,15,1,152,145,138,132,123,117,111,105,98,92,86,80,74,67,61,55,49,43,36,20,1,162,155,148,142,133,127,121,115,108,102,96,90,84,77,71,65,59,53,46,30,1,172,165,158,152,143,137,131,125,118,112,106,100,94,87,81,75,69,63,56,45,20,200,200,200,200,200,200,200,200,198,193,188,183,178,173,168,163,158,153,148,129,104,40,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,40,15,23,28,31,34,36,38,39,41,42,43,44,45,46,47,47,49,50,51,52,53,54,55,55,57,58,59,60,61,62,63,63,65,66,67,68,69,70,71,71,40,20,33,41,48,53,57,61,64,66,69,71,73,75,76,78,80,82,85,87,89,91,92,94,96,98,101,103,105,107,108,110,112,114,117,119,121,123,124,126,128,40,23,39,51,60,67,73,79,83,87,91,94,97,100,102,105,107,111,115,118,121,124,126,129,131,135,139,142,145,148,150,153,155,159,163,166,169,172,174,177,179,35,28,49,65,78,89,99,107,114,120,126,132,136,141,145,149,153,159,165,171,176,180,185,189,192,199,205,211,216,220,225,229,232,239,245,251,21,33,58,79,97,112,125,137,148,157,166,174,182,189,195,201,207,217,227,235,243,251,17,35,63,86,106,123,139,152,165,177,187,197,206,214,222,230,237,250,25,31,55,75,91,105,117,128,138,146,154,161,168,174,180,185,190,200,208,215,222,229,235,240,245,255,16,36,65,89,110,128,144,159,173,185,196,207,217,226,234,242,250,11,41,74,103,128,151,172,191,209,225,241,255,9,43,79,110,138,163,186,207,227,246,12,39,71,99,123,144,164,182,198,214,228,241,253,9,44,81,113,142,168,192,214,235,255,7,49,90,127,160,191,220,247,6,51,95,134,170,203,234,7,47,87,123,155,184,212,237,6,52,97,137,174,208,240,5,57,106,151,192,231,5,59,111,158,202,243,5,55,103,147,187,224,5,60,113,161,206,248,4,65,122,175,224,4,67,127,182,234,224,224,224,224,224,224,224,224,160,160,160,160,185,185,185,178,178,168,134,61,37,224,224,224,224,224,224,224,224,240,240,240,240,207,207,207,198,198,183,144,66,40,160,160,160,160,160,160,160,160,185,185,185,185,193,193,193,183,183,172,138,64,38,240,240,240,240,240,240,240,240,207,207,207,207,204,204,204,193,193,180,143,66,40,185,185,185,185,185,185,185,185,193,193,193,193,193,193,193,183,183,172,138,65,39,207,207,207,207,207,207,207,207,204,204,204,204,201,201,201,188,188,176,141,66,40,193,193,193,193,193,193,193,193,193,193,193,193,194,194,194,184,184,173,139,65,39,204,204,204,204,204,204,204,204,201,201,201,201,198,198,198,187,187,175,140,66,40,72,127,65,129,66,128,65,128,64,128,62,128,64,128,64,128,92,78,92,79,92,78,90,79,116,41,115,40,114,40,132,26,132,26,145,17,161,12,176,10,177,11,24,179,48,138,54,135,54,132,53,134,56,133,55,132,55,132,61,114,70,96,74,88,75,88,87,74,89,66,91,67,100,59,108,50,120,40,122,37,97,43,78,50,83,78,84,81,88,75,86,74,87,71,90,73,93,74,93,74,109,40,114,36,117,34,117,34,143,17,145,18,146,19,162,12,165,10,178,7,189,6,190,8,177,9,23,178,54,115,63,102,66,98,69,99,74,89,71,91,73,91,78,89,86,80,92,66,93,64,102,59,103,60,104,60,117,52,123,44,138,35,133,31,97,38,77,45,61,90,93,60,105,42,107,41,110,45,116,38,113,38,112,38,124,26,132,27,136,19,140,20,155,14,159,16,158,18,170,13,177,10,187,8,192,6,175,9,159,10,21,178,59,110,71,86,75,85,84,83,91,66,88,73,87,72,92,75,98,72,105,58,107,54,115,52,114,55,112,56,129,51,132,40,150,33,140,29,98,35,77,42,42,121,96,66,108,43,111,40,117,44,123,32,120,36,119,33,127,33,134,34,139,21,147,23,152,20,158,25,154,26,166,21,173,16,184,13,184,10,150,13,139,15,22,178,63,114,74,82,84,83,92,82,103,62,96,72,96,67,101,73,107,72,113,55,118,52,125,52,118,52,117,55,135,49,137,39,157,32,145,29,97,33,77,40,2,1,0,0,8,13,16,19,21,23,24,26,27,28,29,30,31,32,32,33,34,34,35,36,36,37,37,224,112,44,15,3,2,1,0,254,237,192,132,70,23,4,0,255,252,226,155,61,11,2,0,250,245,234,203,71,50,42,38,35,33,31,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,179,99,0,71,56,43,30,21,12,6,0,199,165,144,124,109,96,84,71,61,51,42,32,23,15,8,0,241,225,211,199,187,175,164,153,142,132,123,114,105,96,88,80,72,64,57,50,44,38,33,29,24,20,16,12,9,5,2,0,15,131,138,138,155,155,173,173,69,93,115,118,131,138,141,138,150,150,155,150,155,160,166,160,131,128,134,141,141,141,145,145,145,150,155,155,155,155,160,160,160,160,166,166,173,173,182,192,182,192,192,192,205,192,205,224,4,6,24,7,5,0,0,2,0,0,12,28,41,13,252,247,15,42,25,14,1,254,62,41,247,246,37,65,252,3,250,4,66,7,248,16,14,38,253,33,13,22,39,23,12,255,36,64,27,250,249,10,55,43,17,1,1,8,1,1,6,245,74,53,247,244,55,76,244,8,253,3,93,27,252,26,39,59,3,248,2,0,77,11,9,248,22,44,250,7,40,9,26,3,9,249,20,101,249,4,3,248,42,26,0,241,33,68,2,23,254,55,46,254,15,3,255,21,16,41,250,27,61,39,5,245,42,88,4,1,254,60,65,6,252,255,251,73,56,1,247,19,94,29,247,0,12,99,6,4,8,237,102,46,243,3,2,13,3,2,9,235,84,72,238,245,46,104,234,8,18,38,48,23,0,240,70,83,235,11,5,245,117,22,248,250,23,117,244,3,3,248,95,28,4,246,15,77,60,241,255,4,124,2,252,3,38,84,24,231,2,13,42,13,31,21,252,56,46,255,255,35,79,243,19,249,65,88,247,242,20,4,81,49,227,20,0,75,3,239,5,247,44,92,248,1,253,22,69,31,250,95,41,244,5,39,67,16,252,1,0,250,120,55,220,243,44,122,4,232,81,5,11,3,7,2,0,9,10,88,46,2,90,87,93,91,82,98,109,120,118,12,113,115,117,119,99,59,87,111,63,111,112,80,126,124,125,124,129,121,126,23,132,127,127,127,126,127,122,133,130,134,101,118,119,145,126,86,124,120,123,119,170,173,107,109,8,16,32,249,247,246,245,244,234,210,202,201,200,197,174,82,59,56,55,54,46,22,12,11,10,9,7,0,64,0,203,150,0,215,195,166,125,110,82,0,120,0,128,64,0,232,158,10,0,230,0,243,221,192,181,0,171,85,0,192,128,64,0,205,154,102,51,0,213,171,128,85,43,0,224,192,160,128,96,64,32,0,100,40,16,7,3,1,0,253,250,244,233,212,182,150,131,120,110,98,85,72,60,49,40,32,25,19,15,13,11,9,8,7,6,5,4,3,2,1,0,210,208,206,203,199,193,183,168,142,104,74,52,37,27,20,14,10,6,4,2,0,223,201,183,167,152,138,124,111,98,88,79,70,62,56,50,44,39,35,31,27,24,21,18,16,14,12,10,8,6,4,3,2,1,0,188,176,155,138,119,97,67,43,26,10,0,165,119,80,61,47,35,27,20,14,9,4,0,113,63,0,125,51,26,18,15,12,11,10,9,8,7,6,5,4,3,2,1,0,198,105,45,22,15,12,11,10,9,8,7,6,5,4,3,2,1,0,213,162,116,83,59,43,32,24,18,15,12,9,7,6,5,3,2,0,239,187,116,59,28,16,11,10,9,8,7,6,5,4,3,2,1,0,250,229,188,135,86,51,30,19,13,10,8,6,5,4,3,2,1,0,249,235,213,185,156,128,103,83,66,53,42,33,26,21,17,13,10,0,254,249,235,206,164,118,77,46,27,16,10,7,5,4,3,2,1,0,255,253,249,239,220,191,156,119,85,57,37,23,15,10,6,4,2,0,255,253,251,246,237,223,203,179,152,124,98,75,55,40,29,21,15,0,255,254,253,247,220,162,106,67,42,28,18,12,9,6,4,3,2,0,31,57,107,160,205,205,255,255,255,255,255,255,255,255,255,255,255,255,69,47,67,111,166,205,255,255,255,255,255,255,255,255,255,255,255,255,82,74,79,95,109,128,145,160,173,205,205,205,224,255,255,224,255,224,125,74,59,69,97,141,182,255,255,255,255,255,255,255,255,255,255,255,173,115,85,73,76,92,115,145,173,205,224,224,255,255,255,255,255,255,166,134,113,102,101,102,107,118,125,138,145,155,166,182,192,192,205,150,224,182,134,101,83,79,85,97,120,145,173,205,224,255,255,255,255,255,255,224,192,150,120,101,92,89,93,102,118,134,160,182,192,224,224,224,255,224,224,182,155,134,118,109,104,102,106,111,118,131,145,160,173,131,241,190,178,132,87,74,41,14,0,223,193,157,140,106,57,39,18,0,131,74,141,79,80,138,95,104,134,95,99,91,125,93,76,123,115,123,128,0,214,42,0,235,128,21,0,244,184,72,11,0,248,214,128,42,7,0,248,225,170,80,25,5,0,251,236,198,126,54,18,3,0,250,238,211,159,82,35,15,5,0,250,231,203,168,128,88,53,25,6,0,252,238,216,185,148,108,71,40,18,4,0,253,243,225,199,166,128,90,57,31,13,3,0,254,246,233,212,183,147,109,73,44,23,10,2,0,255,250,240,223,198,166,128,90,58,33,16,6,1,0,255,251,244,231,210,181,146,110,75,46,25,12,5,1,0,255,253,248,238,221,196,164,128,92,60,35,18,8,3,1,0,255,253,249,242,229,208,180,146,110,76,48,27,14,7,3,1,0,129,0,207,50,0,236,129,20,0,245,185,72,10,0,249,213,129,42,6,0,250,226,169,87,27,4,0,251,233,194,130,62,20,4,0,250,236,207,160,99,47,17,3,0,255,240,217,182,131,81,41,11,1,0,255,254,233,201,159,107,61,20,2,1,0,255,249,233,206,170,128,86,50,23,7,1,0,255,250,238,217,186,148,108,70,39,18,6,1,0,255,252,243,226,200,166,128,90,56,30,13,4,1,0,255,252,245,231],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480),allocate([209,180,146,110,76,47,25,11,4,1,0,255,253,248,237,219,194,163,128,93,62,37,19,8,3,1,0,255,254,250,241,226,205,177,145,111,79,51,30,15,6,2,1,0,129,0,203,54,0,234,129,23,0,245,184,73,10,0,250,215,129,41,5,0,252,232,173,86,24,3,0,253,240,200,129,56,15,2,0,253,244,217,164,94,38,10,1,0,253,245,226,189,132,71,27,7,1,0,253,246,231,203,159,105,56,23,6,1,0,255,248,235,213,179,133,85,47,19,5,1,0,255,254,243,221,194,159,117,70,37,12,2,1,0,255,254,248,234,208,171,128,85,48,22,8,2,1,0,255,254,250,240,220,189,149,107,67,36,16,6,2,1,0,255,254,251,243,227,201,166,128,90,55,29,13,5,2,1,0,255,254,252,246,234,213,183,147,109,73,43,22,10,4,2,1,0,130,0,200,58,0,231,130,26,0,244,184,76,12,0,249,214,130,43,6,0,252,232,173,87,24,3,0,253,241,203,131,56,14,2,0,254,246,221,167,94,35,8,1,0,254,249,232,193,130,65,23,5,1,0,255,251,239,211,162,99,45,15,4,1,0,255,251,243,223,186,131,74,33,11,3,1,0,255,252,245,230,202,158,105,57,24,8,2,1,0,255,253,247,235,214,179,132,84,44,19,7,2,1,0,255,254,250,240,223,196,159,112,69,36,15,6,2,1,0,255,254,253,245,231,209,176,136,93,55,27,11,3,2,1,0,255,254,253,252,239,221,194,158,117,76,42,18,4,3,2,1,0,0,0,2,5,9,14,20,27,35,44,54,65,77,90,104,119,135,254,49,67,77,82,93,99,198,11,18,24,31,36,45,255,46,66,78,87,94,104,208,14,21,32,42,51,66,255,94,104,109,112,115,118,248,53,69,80,88,95,102,6,0,3,0,7,3,0,1,10,0,2,6,18,10,12,4,0,2,0,0,0,9,4,7,4,0,3,12,7,7,0,1,1,1,2,3,3,3,2,3,3,3,2,3,3,3,0,3,12,15,48,51,60,63,192,195,204,207,240,243,252,255,12,35,60,83,108,132,157,180,206,228,15,32,55,77,101,125,151,175,201,225,19,42,66,89,114,137,162,184,209,230,12,25,50,72,97,120,147,172,200,223,26,44,69,90,114,135,159,180,205,225,13,22,53,80,106,130,156,180,205,228,15,25,44,64,90,115,142,168,196,222,19,24,62,82,100,120,145,168,190,214,22,31,50,79,103,120,151,170,203,227,21,29,45,65,106,124,150,171,196,224,30,49,75,97,121,142,165,186,209,229,19,25,52,70,93,116,143,166,192,219,26,34,62,75,97,118,145,167,194,217,25,33,56,70,91,113,143,165,196,223,21,34,51,72,97,117,145,171,196,222,20,29,50,67,90,117,144,168,197,221,22,31,48,66,95,117,146,168,196,222,24,33,51,77,116,134,158,180,200,224,21,28,70,87,106,124,149,170,194,217,26,33,53,64,83,117,152,173,204,225,27,34,65,95,108,129,155,174,210,225,20,26,72,99,113,131,154,176,200,219,34,43,61,78,93,114,155,177,205,229,23,29,54,97,124,138,163,179,209,229,30,38,56,89,118,129,158,178,200,231,21,29,49,63,85,111,142,163,193,222,27,48,77,103,133,158,179,196,215,232,29,47,74,99,124,151,176,198,220,237,33,42,61,76,93,121,155,174,207,225,29,53,87,112,136,154,170,188,208,227,24,30,52,84,131,150,166,186,203,229,37,48,64,84,104,118,156,177,201,230,212,178,148,129,108,96,85,82,79,77,61,59,57,56,51,49,48,45,42,41,40,38,36,34,31,30,21,12,10,3,1,0,255,245,244,236,233,225,217,203,190,176,175,161,149,136,125,114,102,91,81,71,60,52,43,35,28,20,19,18,12,11,5,0,179,138,140,148,151,149,153,151,163,116,67,82,59,92,72,100,89,92,16,0,0,0,0,99,66,36,36,34,36,34,34,34,34,83,69,36,52,34,116,102,70,68,68,176,102,68,68,34,65,85,68,84,36,116,141,152,139,170,132,187,184,216,137,132,249,168,185,139,104,102,100,68,68,178,218,185,185,170,244,216,187,187,170,244,187,187,219,138,103,155,184,185,137,116,183,155,152,136,132,217,184,184,170,164,217,171,155,139,244,169,184,185,170,164,216,223,218,138,214,143,188,218,168,244,141,136,155,170,168,138,220,219,139,164,219,202,216,137,168,186,246,185,139,116,185,219,185,138,100,100,134,100,102,34,68,68,100,68,168,203,221,218,168,167,154,136,104,70,164,246,171,137,139,137,155,218,219,139,255,254,253,238,14,3,2,1,0,255,254,252,218,35,3,2,1,0,255,254,250,208,59,4,2,1,0,255,254,246,194,71,10,2,1,0,255,252,236,183,82,8,2,1,0,255,252,235,180,90,17,2,1,0,255,248,224,171,97,30,4,1,0,255,254,236,173,95,37,7,1,0,255,255,255,131,6,145,255,255,255,255,255,236,93,15,96,255,255,255,255,255,194,83,25,71,221,255,255,255,255,162,73,34,66,162,255,255,255,210,126,73,43,57,173,255,255,255,201,125,71,48,58,130,255,255,255,166,110,73,57,62,104,210,255,255,251,123,65,55,68,100,171,255,7,23,38,54,69,85,100,116,131,147,162,178,193,208,223,239,13,25,41,55,69,83,98,112,127,142,157,171,187,203,220,236,15,21,34,51,61,78,92,106,126,136,152,167,185,205,225,240,10,21,36,50,63,79,95,110,126,141,157,173,189,205,221,237,17,20,37,51,59,78,89,107,123,134,150,164,184,205,224,240,10,15,32,51,67,81,96,112,129,142,158,173,189,204,220,236,8,21,37,51,65,79,98,113,126,138,155,168,179,192,209,218,12,15,34,55,63,78,87,108,118,131,148,167,185,203,219,236,16,19,32,36,56,79,91,108,118,136,154,171,186,204,220,237,11,28,43,58,74,89,105,120,135,150,165,180,196,211,226,241,6,16,33,46,60,75,92,107,123,137,156,169,185,199,214,225,11,19,30,44,57,74,89,105,121,135,152,169,186,202,218,234,12,19,29,46,57,71,88,100,120,132,148,165,182,199,216,233,17,23,35,46,56,77,92,106,123,134,152,167,185,204,222,237,14,17,45,53,63,75,89,107,115,132,151,171,188,206,221,240,9,16,29,40,56,71,88,103,119,137,154,171,189,205,222,237,16,19,36,48,57,76,87,105,118,132,150,167,185,202,218,236,12,17,29,54,71,81,94,104,126,136,149,164,182,201,221,237,15,28,47,62,79,97,115,129,142,155,168,180,194,208,223,238,8,14,30,45,62,78,94,111,127,143,159,175,192,207,223,239,17,30,49,62,79,92,107,119,132,145,160,174,190,204,220,235,14,19,36,45,61,76,91,108,121,138,154,172,189,205,222,238,12,18,31,45,60,76,91,107,123,138,154,171,187,204,221,236,13,17,31,43,53,70,83,103,114,131,149,167,185,203,220,237,17,22,35,42,58,78,93,110,125,139,155,170,188,206,224,240,8,15,34,50,67,83,99,115,131,146,162,178,193,209,224,239,13,16,41,66,73,86,95,111,128,137,150,163,183,206,225,241,17,25,37,52,63,75,92,102,119,132,144,160,175,191,212,231,19,31,49,65,83,100,117,133,147,161,174,187,200,213,227,242,18,31,52,68,88,103,117,126,138,149,163,177,192,207,223,239,16,29,47,61,76,90,106,119,133,147,161,176,193,209,224,240,15,21,35,50,61,73,86,97,110,119,129,141,175,198,218,237,225,204,201,184,183,175,158,154,153,135,119,115,113,110,109,99,98,95,79,68,52,50,48,45,43,32,31,27,18,10,3,0,255,251,235,230,212,201,196,182,167,166,163,151,138,124,110,104,90,78,76,70,69,57,45,34,24,21,11,6,5,4,3,0,175,148,160,176,178,173,174,164,177,174,196,182,198,192,182,68,62,66,60,72,117,85,90,118,136,151,142,160,142,155,0,0,0,0,0,0,0,1,100,102,102,68,68,36,34,96,164,107,158,185,180,185,139,102,64,66,36,34,34,0,1,32,208,139,141,191,152,185,155,104,96,171,104,166,102,102,102,132,1,0,0,0,0,16,16,0,80,109,78,107,185,139,103,101,208,212,141,139,173,153,123,103,36,0,0,0,0,0,0,1,48,0,0,0,0,0,0,32,68,135,123,119,119,103,69,98,68,103,120,118,118,102,71,98,134,136,157,184,182,153,139,134,208,168,248,75,189,143,121,107,32,49,34,34,34,0,17,2,210,235,139,123,185,137,105,134,98,135,104,182,100,183,171,134,100,70,68,70,66,66,34,131,64,166,102,68,36,2,1,0,134,166,102,68,34,34,66,132,212,246,158,139,107,107,87,102,100,219,125,122,137,118,103,132,114,135,137,105,171,106,50,34,164,214,141,143,185,151,121,103,192,34,0,0,0,0,0,1,208,109,74,187,134,249,159,137,102,110,154,118,87,101,119,101,0,2,0,36,36,66,68,35,96,164,102,100,36,0,2,33,167,138,174,102,100,84,2,2,100,107,120,119,36,197,24,0,255,254,253,244,12,3,2,1,0,255,254,252,224,38,3,2,1,0,255,254,251,209,57,4,2,1,0,255,254,244,195,69,4,2,1,0,255,251,232,184,84,7,2,1,0,255,254,240,186,86,14,2,1,0,255,254,239,178,91,30,5,1,0,255,248,227,177,100,19,2,1,0,255,255,255,156,4,154,255,255,255,255,255,227,102,15,92,255,255,255,255,255,213,83,24,72,236,255,255,255,255,150,76,33,63,214,255,255,255,190,121,77,43,55,185,255,255,255,245,137,71,43,59,139,255,255,255,255,131,66,50,66,107,194,255,255,166,116,76,55,53,125,255,255,0,15,8,7,4,11,12,3,2,13,10,5,6,9,14,1,0,9,6,3,4,5,8,1,2,7,0,1,0,0,0,1,0,0,1,255,1,255,2,254,2,254,3,253,0,1,0,1,255,2,255,2,254,3,254,3,253,7,254,7,0,2,255,255,255,0,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,255,2,1,0,1,1,0,0,255,255,0,0,1,255,0,1,255,0,255,1,254,2,254,254,2,253,2,3,253,252,3,252,4,4,251,5,250,251,6,249,6,5,8,247,0,0,1,0,0,0,0,0,0,0,255,1,0,0,1,255,0,1,255,255,1,255,2,1,255,2,254,254,2,254,2,2,3,253,0,1,0,0,0,0,0,0,1,0,1,0,0,1,255,1,0,0,2,1,255,2,255,255,2,255,2,2,255,3,254,254,254,3,0,1,0,0,1,0,1,255,2,255,2,255,2,3,254,3,254,254,4,4,253,5,253,252,6,252,6,5,251,8,250,251,249,9,251,8,255,6,255,6,252,10,250,10,254,6,255,6,251,10,247,12,253,7,254,7,249,13,16,24,34,118,111,105,100,0,98,111,111,108,0,99,104,97,114,0,115,105,103,110,101,100,32,99,104,97,114,0,117,110,115,105,103,110,101,100,32,99,104,97,114,0,115,104,111,114,116,0,117,110,115,105,103,110,101,100,32,115,104,111,114,116,0,105,110,116,0,117,110,115,105,103,110,101,100,32,105,110,116,0,108,111,110,103,0,117,110,115,105,103,110,101,100,32,108,111,110,103,0,102,108,111,97,116,0,100,111,117,98,108,101,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,50,49,95,95,98,97,115,105,99,95,115,116,114,105,110,103,95,99,111,109,109,111,110,73,76,98,49,69,69,69,0,115,116,100,58,58,115,116,114,105,110,103,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,104,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,104,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,104,69,69,69,69,0,115,116,100,58,58,98,97,115,105,99,95,115,116,114,105,110,103,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,119,69,69,69,69,0,115,116,100,58,58,119,115,116,114,105,110,103,0,78,49,48,101,109,115,99,114,105,112,116,101,110,51,118,97,108,69,0,101,109,115,99,114,105,112,116,101,110,58,58,118,97,108,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,99,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,99,104,97,114,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,97,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,105,103,110,101,100,32,99,104,97,114,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,104,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,115,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,104,111,114,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,116,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,115,104,111,114,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,105,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,106,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,105,110,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,108,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,109,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,108,111,110,103,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,51,50,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,51,50,95,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,102,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,102,108,111,97,116,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,100,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,100,111,117,98,108,101,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,101,69,69,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,32,100,111,117,98,108,101,62,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,57,98,97,100,95,97,108,108,111,99,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,51,95,95,102,117,110,100,97,109,101,110,116,97,108,95,116,121,112,101,95,105,110,102,111,69,0,118,0,68,110,0,98,0,99,0,104,0,97,0,115,0,116,0,105,0,106,0,108,0,109,0,102,0,100,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30720); -var tempDoublePtr=STATICTOP;STATICTOP+=16;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},embind_charCodes=void 0,awaitingDependencies={},registeredTypes={},typeDependencies={},char_0=48,char_9=57,BindingError=void 0,InternalError=void 0,EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(e){if(!e||EXCEPTIONS.infos[e])return e;for(var t in EXCEPTIONS.infos){var i=EXCEPTIONS.infos[t];if(i.adjusted===e)return t}return e},addRef:function(e){if(e){var t=EXCEPTIONS.infos[e];t.refcount++}},decRef:function(e){if(e){var t=EXCEPTIONS.infos[e];assert(t.refcount>0),t.refcount--,0===t.refcount&&(t.destructor&&Runtime.dynCall("vi",t.destructor,[e]),delete EXCEPTIONS.infos[e],___cxa_free_exception(e))}},clearRef:function(e){if(e){var t=EXCEPTIONS.infos[e];t.refcount=0}}};Module._memset=_memset,Module._free=_free,Module._malloc=_malloc;var delayFunction=void 0,deletionQueue=[],registeredPointers={},registeredInstances={},UnboundTypeError=void 0,_llvm_fabs_f64=Math_abs;Module._i64Add=_i64Add;var emval_free_list=[],emval_handle_array=[{},{value:void 0},{value:null},{value:!0},{value:!1}];Module._bitshift64Ashr=_bitshift64Ashr,Module._bitshift64Lshr=_bitshift64Lshr,Module._memcpy=_memcpy;var _llvm_pow_f64=Math_pow;Module._memmove=_memmove,embind_init_charCodes(),BindingError=Module.BindingError=extendError(Error,"BindingError"),InternalError=Module.InternalError=extendError(Error,"InternalError"),init_ClassHandle(),init_RegisteredPointer(),init_embind(),UnboundTypeError=Module.UnboundTypeError=extendError(Error,"UnboundTypeError"),init_emval(),STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),staticSealed=!0,STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);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,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort:abort,assert:assert,invoke_iiii:invoke_iiii,invoke_viiiii:invoke_viiiii,invoke_vi:invoke_vi,invoke_iiiiiii:invoke_iiiiiii,invoke_ii:invoke_ii,invoke_viiiiiii:invoke_viiiiiii,invoke_v:invoke_v,invoke_iiiii:invoke_iiiii,invoke_viiiiii:invoke_viiiiii,invoke_iiiiii:invoke_iiiiii,invoke_viiii:invoke_viiii,floatReadValueFromPointer:floatReadValueFromPointer,simpleReadValueFromPointer:simpleReadValueFromPointer,throwInternalError:throwInternalError,get_first_emval:get_first_emval,_llvm_fabs_f64:_llvm_fabs_f64,getLiveInheritedInstances:getLiveInheritedInstances,__ZSt18uncaught_exceptionv:__ZSt18uncaught_exceptionv,ClassHandle:ClassHandle,getShiftFromSize:getShiftFromSize,_sbrk:_sbrk,_emscripten_memcpy_big:_emscripten_memcpy_big,runDestructor:runDestructor,_sysconf:_sysconf,throwInstanceAlreadyDeleted:throwInstanceAlreadyDeleted,__embind_register_std_string:__embind_register_std_string,init_RegisteredPointer:init_RegisteredPointer,ClassHandle_isAliasOf:ClassHandle_isAliasOf,_llvm_stacksave:_llvm_stacksave,flushPendingDeletes:flushPendingDeletes,makeClassHandle:makeClassHandle,whenDependentTypesAreResolved:whenDependentTypesAreResolved,__embind_register_class_constructor:__embind_register_class_constructor,init_ClassHandle:init_ClassHandle,ClassHandle_clone:ClassHandle_clone,RegisteredClass:RegisteredClass,_llvm_stackrestore:_llvm_stackrestore,___cxa_find_matching_catch:___cxa_find_matching_catch,embind_init_charCodes:embind_init_charCodes,___setErrNo:___setErrNo,__embind_register_bool:__embind_register_bool,___resumeException:___resumeException,createNamedFunction:createNamedFunction,__embind_register_emval:__embind_register_emval,__emval_decref:__emval_decref,init_embind:init_embind,constNoSmartPtrRawPointerToWireType:constNoSmartPtrRawPointerToWireType,heap32VectorToArray:heap32VectorToArray,ClassHandle_delete:ClassHandle_delete,RegisteredPointer_destructor:RegisteredPointer_destructor,ensureOverloadTable:ensureOverloadTable,_time:_time,new_:new_,downcastPointer:downcastPointer,replacePublicSymbol:replacePublicSymbol,__embind_register_class:__embind_register_class,_llvm_pow_f64:_llvm_pow_f64,ClassHandle_deleteLater:ClassHandle_deleteLater,RegisteredPointer_deleteObject:RegisteredPointer_deleteObject,ClassHandle_isDeleted:ClassHandle_isDeleted,__embind_register_integer:__embind_register_integer,___cxa_allocate_exception:___cxa_allocate_exception,_embind_repr:_embind_repr,RegisteredPointer:RegisteredPointer,_exp2:_exp2,craftInvokerFunction:craftInvokerFunction,runDestructors:runDestructors,makeLegalFunctionName:makeLegalFunctionName,upcastPointer:upcastPointer,init_emval:init_emval,shallowCopyInternalPointer:shallowCopyInternalPointer,nonConstNoSmartPtrRawPointerToWireType:nonConstNoSmartPtrRawPointerToWireType,_abort:_abort,throwBindingError:throwBindingError,getTypeName:getTypeName,exposePublicSymbol:exposePublicSymbol,RegisteredPointer_fromWireType:RegisteredPointer_fromWireType,__embind_register_memory_view:__embind_register_memory_view,getInheritedInstance:getInheritedInstance,setDelayFunction:setDelayFunction,___gxx_personality_v0:___gxx_personality_v0,extendError:extendError,__embind_register_void:__embind_register_void,RegisteredPointer_getPointee:RegisteredPointer_getPointee,__emval_register:__emval_register,__embind_register_std_wstring:__embind_register_std_wstring,__embind_register_class_function:__embind_register_class_function,throwUnboundTypeError:throwUnboundTypeError,readLatin1String:readLatin1String,_pthread_self:_pthread_self,getBasestPointer:getBasestPointer,getInheritedInstanceCount:getInheritedInstanceCount,__embind_register_float:__embind_register_float,integerReadValueFromPointer:integerReadValueFromPointer,genericPointerToWireType:genericPointerToWireType,registerType:registerType,___cxa_throw:___cxa_throw,count_emval_handles:count_emval_handles,requireFunction:requireFunction,STACKTOP:STACKTOP,STACK_MAX:STACK_MAX,tempDoublePtr:tempDoublePtr,ABORT:ABORT,cttz_i8:cttz_i8};var asm=function(e,t,i){"use asm";var r=new e.Int8Array(i);var n=new e.Int16Array(i);var s=new e.Int32Array(i);var a=new e.Uint8Array(i);var o=new e.Uint16Array(i);var f=new e.Uint32Array(i);var h=new e.Float32Array(i);var c=new e.Float64Array(i);var l=t.STACKTOP|0;var u=t.STACK_MAX|0;var d=t.tempDoublePtr|0;var p=t.ABORT|0;var b=t.cttz_i8|0;var m=0;var w=0;var g=0;var v=0;var _=e.NaN,y=e.Infinity;var k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0;var C=0;var P=0;var O=0;var N=0;var D=0;var L=0;var B=0;var U=0;var j=0;var F=0;var z=e.Math.floor;var q=e.Math.abs;var H=e.Math.sqrt;var G=e.Math.pow;var V=e.Math.cos;var W=e.Math.sin;var K=e.Math.tan;var Y=e.Math.acos;var Z=e.Math.asin;var $=e.Math.atan;var X=e.Math.atan2;var J=e.Math.exp;var Q=e.Math.log;var ee=e.Math.ceil;var te=e.Math.imul;var ie=e.Math.min;var re=e.Math.clz32;var ne=t.abort;var se=t.assert;var ae=t.invoke_iiii;var oe=t.invoke_viiiii;var fe=t.invoke_vi;var he=t.invoke_iiiiiii;var ce=t.invoke_ii;var le=t.invoke_viiiiiii;var ue=t.invoke_v;var de=t.invoke_iiiii;var pe=t.invoke_viiiiii;var be=t.invoke_iiiiii;var me=t.invoke_viiii;var we=t.floatReadValueFromPointer;var ge=t.simpleReadValueFromPointer;var ve=t.throwInternalError;var _e=t.get_first_emval;var ye=t._llvm_fabs_f64;var ke=t.getLiveInheritedInstances;var Ee=t.__ZSt18uncaught_exceptionv;var Ae=t.ClassHandle;var Se=t.getShiftFromSize;var Me=t._sbrk;var Te=t._emscripten_memcpy_big;var xe=t.runDestructor;var Re=t._sysconf;var Ie=t.throwInstanceAlreadyDeleted;var Ce=t.__embind_register_std_string;var Pe=t.init_RegisteredPointer;var Oe=t.ClassHandle_isAliasOf;var Ne=t._llvm_stacksave;var De=t.flushPendingDeletes;var Le=t.makeClassHandle;var Be=t.whenDependentTypesAreResolved;var Ue=t.__embind_register_class_constructor;var je=t.init_ClassHandle;var Fe=t.ClassHandle_clone;var ze=t.RegisteredClass;var qe=t._llvm_stackrestore;var He=t.___cxa_find_matching_catch;var Ge=t.embind_init_charCodes;var Ve=t.___setErrNo;var We=t.__embind_register_bool;var Ke=t.___resumeException;var Ye=t.createNamedFunction;var Ze=t.__embind_register_emval;var $e=t.__emval_decref;var Xe=t.init_embind;var Je=t.constNoSmartPtrRawPointerToWireType;var Qe=t.heap32VectorToArray;var et=t.ClassHandle_delete;var tt=t.RegisteredPointer_destructor;var it=t.ensureOverloadTable;var rt=t._time;var nt=t.new_;var st=t.downcastPointer;var at=t.replacePublicSymbol;var ot=t.__embind_register_class;var ft=t._llvm_pow_f64;var ht=t.ClassHandle_deleteLater;var ct=t.RegisteredPointer_deleteObject;var lt=t.ClassHandle_isDeleted;var ut=t.__embind_register_integer;var dt=t.___cxa_allocate_exception;var pt=t._embind_repr;var bt=t.RegisteredPointer;var mt=t._exp2;var wt=t.craftInvokerFunction;var gt=t.runDestructors;var vt=t.makeLegalFunctionName;var _t=t.upcastPointer;var yt=t.init_emval;var kt=t.shallowCopyInternalPointer;var Et=t.nonConstNoSmartPtrRawPointerToWireType;var At=t._abort;var St=t.throwBindingError;var Mt=t.getTypeName;var Tt=t.exposePublicSymbol;var xt=t.RegisteredPointer_fromWireType;var Rt=t.__embind_register_memory_view;var It=t.getInheritedInstance;var Ct=t.setDelayFunction;var Pt=t.___gxx_personality_v0;var Ot=t.extendError;var Nt=t.__embind_register_void;var Dt=t.RegisteredPointer_getPointee;var Lt=t.__emval_register;var Bt=t.__embind_register_std_wstring;var Ut=t.__embind_register_class_function;var jt=t.throwUnboundTypeError;var Ft=t.readLatin1String;var zt=t._pthread_self;var qt=t.getBasestPointer;var Ht=t.getInheritedInstanceCount;var Gt=t.__embind_register_float;var Vt=t.integerReadValueFromPointer;var Wt=t.genericPointerToWireType;var Kt=t.registerType;var Yt=t.___cxa_throw;var Zt=t.count_emval_handles;var $t=t.requireFunction;var Xt=0;function Jt(e,t,i,o,f,c){e=e|0;t=t|0;i=i|0;o=o|0;f=f|0;c=c|0;var u=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,G=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0,J=0,ee=0,ie=0,ne=0,se=0,ae=0,oe=0,fe=0,he=0,ce=0,le=0,ue=0,de=0,pe=0,be=0,me=0,we=0,ge=0,ve=0,_e=0,ye=0,ke=0,Ee=0,Ae=0,Se=0,Me=0,Te=0,xe=0,Re=0,Ie=0,Ce=0,Pe=0,Oe=0,De=0,Le=0,Be=0,Ue=0,je=0,Fe=0,ze=0,He=0,Ge=0,Ve=0,We=0,Ke=0,Ye=0,Ze=0,$e=0,Xe=0,Je=0,Qe=0,et=0,tt=0,it=0,rt=0,nt=0,st=0;nt=l;l=l+192|0;K=nt+80|0;w=nt+32|0;$e=nt+28|0;L=nt+24|0;He=nt+20|0;ze=nt+16|0;J=nt+12|0;Ce=nt+8|0;Ie=nt+4|0;B=nt;et=s[e+4>>2]|0;Ze=s[e+8>>2]|0;s[$e>>2]=15;h[L>>2]=0;s[He>>2]=0;s[J>>2]=0;Fe=s[e>>2]|0;We=Fe+8|0;rt=s[We>>2]|0;N=s[Fe+4>>2]|0;Oe=Fe+32|0;ke=s[Oe>>2]|0;tt=s[e+32>>2]|0;it=s[e+36>>2]|0;Re=(tt|0)!=0;h[Ce>>2]=0;if((f|0)<2|(t|0)==0){e=-1;l=nt;return e|0}W=e+28|0;u=te(s[W>>2]|0,i)|0;pe=Fe+44|0;Te=Fe+36|0;i=s[Te>>2]|0;Ee=0;while(1){if((Ee|0)>(i|0)){i=-1;Se=631;break}if((s[pe>>2]<>2]<>2]|0;Ve=s[c+28>>2]|0;I=re(Ve|0)|0;Ge=32-I|0;Ve=Ve>>>(Ge+-16|0);xe=(Ve>>>12)+-8|0;I=Ue+(I+-32)|0;O=I+4>>3;xe=(Ue<<3)-((Ge<<3)+(xe+(Ve>>>0>(s[5272+(xe<<2)>>2]|0)>>>0&1)))|0}f=(f|0)<1275?f:1275;m=f-O|0;_e=e+44|0;i=s[e+40>>2]|0;if(!(s[_e>>2]|0))if((i|0)==-1)Se=13;else{Ve=te(i,u)|0;Se=s[Fe>>2]|0;Se=((Ve+((I|0)>1?I:0)+(Se<<2)|0)/(Se<<3|0)|0)-((s[e+48>>2]|0)!=0&1)|0;Ve=(f|0)<(Se|0);f=((Ve?f:Se)|0)<2?2:Ve?f:Se;Se=13}else if((i|0)==-1){i=-1;Se=13}else{Le=s[Fe>>2]|0;Le=((te(i,u)|0)+(Le>>4)|0)/(Le>>3|0)|0;p=f;P=Le>>6}if((Se|0)==13){p=f;P=f-O|0;Le=0}f=te((Ze*40|0)+20|0,(400>>>Ee)+-50|0)|0;u=(p*400>>3-Ee)-f|0;if((i|0)==-1)Be=u;else{Be=i-f|0;Be=(u|0)<(Be|0)?u:Be}if(b){s[w>>2]=o;s[w+8>>2]=0;s[w+12>>2]=0;s[w+16>>2]=0;s[w+20>>2]=33;s[w+24>>2]=0;s[w+28>>2]=-2147483648;s[w+40>>2]=-1;s[w+32>>2]=0;s[w+36>>2]=0;s[w+4>>2]=p;s[w+44>>2]=0;Ve=w}else Ve=c;Me=(Le|0)>0;if(((Me?(s[e+52>>2]|0)!=0:0)?(v=(I|0)==1?2:0,_=(Le<<1)-(s[e+176>>2]|0)>>6,E=(v|0)>(_|0),((E?v:_)|0)<(m|0)):0)?(A=E?v:_,(A|0)<(m|0)):0){p=O+A|0;De=s[Ve>>2]|0;Ge=s[Ve+8>>2]|0;Ue=0-Ge|0;u=Ve+4|0;Tn(De+p+Ue|0,De+(s[u>>2]|0)+Ue|0,Ge|0)|0;s[u>>2]=p;u=A}else u=m;C=p<<3;de=s[Fe+12>>2]|0;de=(it|0)>(de|0)?de:it;U=je+N|0;w=te(et,U)|0;Ge=Ne()|0;V=l;l=l+((1*(w<<2)|0)+15&-16)|0;w=e+192|0;g=+h[w>>2];f=te(Ze,je-N|0)|0;m=s[W>>2]|0;f=(f|0)/(m|0)|0;i=0;y=0;k=0;while(1){if((i|0)>=(f|0))break;Pe=+h[t+(i<<2)>>2];i=i+1|0;y=y>Pe?y:Pe;k=k(y>Pe?y:Pe))){i=0;y=0;g=0;while(1){if((i|0)>=(f|0))break;Pe=+h[t+(i<<2)>>2];i=i+1|0;y=y>Pe?y:Pe;g=gg)g=y}b=t+(f<<2)|0;i=(te(Ze,N)|0)/(m|0)|0;f=0;y=0;k=0;while(1){if((f|0)>=(i|0))break;Pe=+h[b+(f<<2)>>2];f=f+1|0;y=y>Pe?y:Pe;k=kPe?y:Pe;h[w>>2]=Pe;g=g>Pe?g:Pe;be=e+60|0;S=g<=1/+(1<>2]|0);R=S&1;if((I|0)==1){T=Ve+28|0;f=s[T>>2]|0;i=f>>>15;f=f-i|0;A=Ve+32|0;if(S)s[A>>2]=(s[A>>2]|0)+f;else i=f;s[T>>2]=i;w=Ve+36|0;x=Ve+20|0;o=Ve+40|0;c=Ve+24|0;v=Ve+8|0;_=Ve+4|0;E=Ve+44|0;while(1){if(i>>>0>=8388609)break;f=s[A>>2]|0;m=f>>>23;if((m|0)==255)s[w>>2]=(s[w>>2]|0)+1;else{b=f>>>31;i=s[o>>2]|0;if((i|0)>-1){f=s[c>>2]|0;if((f+(s[v>>2]|0)|0)>>>0<(s[_>>2]|0)>>>0){s[c>>2]=f+1;r[(s[Ve>>2]|0)+f>>0]=i+b;i=0}else i=-1;s[E>>2]=s[E>>2]|i}i=s[w>>2]|0;if(i|0){b=b+255&255;do{f=s[c>>2]|0;if((f+(s[v>>2]|0)|0)>>>0<(s[_>>2]|0)>>>0){s[c>>2]=f+1;r[(s[Ve>>2]|0)+f>>0]=b;f=0;i=s[w>>2]|0}else f=-1;s[E>>2]=s[E>>2]|f;i=i+-1|0;s[w>>2]=i}while((i|0)!=0)}s[o>>2]=m&255;f=s[A>>2]|0;i=s[T>>2]|0}s[A>>2]=f<<8&2147483392;i=i<<8;s[T>>2]=i;s[x>>2]=(s[x>>2]|0)+8}if(S){if(Me){b=O+2|0;b=(p|0)<(b|0)?p:b;f=s[Ve>>2]|0;p=s[v>>2]|0;i=0-p|0;Tn(f+b+i|0,f+(s[_>>2]|0)+i|0,p|0)|0;s[_>>2]=b;p=b;i=s[T>>2]|0;f=b;u=2;b=b<<3}else{f=P;b=C}I=p<<3;Ue=s[x>>2]|0;s[x>>2]=Ue+(I-(Ue+((re(i|0)|0)+-32)));Ue=R}else{f=P;Ue=0;I=1;b=C}}else{f=P;Ue=0;b=C}S=e+16|0;T=Fe+16|0;x=Fe+20|0;R=je<<2;_=g>65536;A=0;do{w=_&(s[S>>2]|0)!=0;c=t+(A<<2)|0;v=V+((te(A,U)|0)<<2)+(N<<2)|0;o=s[W>>2]|0;E=e+160+(A<<2)|0;y=+h[T>>2];g=+h[E>>2];e:do if(+h[x>>2]==0){if((o|0)!=1){i=(je|0)/(o|0)|0;Se=64;break}if(w){i=je;Se=65}else{i=0;while(1){if((i|0)>=(je|0))break e;Pe=+h[c+((te(i,et)|0)<<2)>>2]*32768;h[v+(i<<2)>>2]=Pe-g;i=i+1|0;g=y*Pe}}}else{i=(je|0)/(o|0)|0;if((o|0)==1)Se=65;else Se=64}while(0);if((Se|0)==64){kn(v|0,0,R|0)|0;Se=65}e:do if((Se|0)==65){Se=0;m=0;while(1){if((m|0)>=(i|0))break;h[v+((te(m,o)|0)<<2)>>2]=+h[c+((te(m,et)|0)<<2)>>2]*32768;m=m+1|0}t:do if(w){m=0;while(1){if((m|0)>=(i|0)){i=0;break t}De=v+((te(m,o)|0)<<2)|0;Pe=+h[De>>2];ye=Pe>65536;Ae=Pe<-65536&(ye^1);h[De>>2]=Ae|ye?Ae?-65536:65536:Pe;m=m+1|0}}else i=0;while(0);while(1){if((i|0)>=(je|0))break e;De=v+(i<<2)|0;Pe=+h[De>>2];h[De>>2]=Pe-g;i=i+1|0;g=y*Pe}}while(0);h[E>>2]=g;A=A+1|0}while((A|0)<(et|0));Ae=e+68|0;if((((s[Ae>>2]|0)!=0&(u|0)>3|(u|0)>(Ze*12|0))&(Re^1)&(Ue|0)==0?(s[e+20>>2]|0)==0:0)?(s[e+24>>2]|0)>4:0){if((s[e+116>>2]|0)==0|(Ee|0)==3)i=0;else i=(s[e+64>>2]|0)==5010;i=i^1}else i=0;le=e+100|0;De=s[le>>2]|0;i=Qt(e,V,D,et,je,De,$e,L,B,i&1,u)|0;Pe=+h[L>>2];if(!(Pe>.4000000059604645)?!(+h[e+108>>2]>.4000000059604645):0)ye=0;else Se=82;do if((Se|0)==82){if(s[e+120>>2]|0?!(+h[e+124>>2]>.3):0){ye=0;break}ae=+(s[$e>>2]|0);he=+(s[e+104>>2]|0);ye=(ae>he*1.26|ae(b|0))){c=Ve+28|0;i=s[c>>2]|0;i=i-(i>>>1)|0;s[c>>2]=i;v=Ve+32|0;_=Ve+36|0;E=Ve+20|0;A=Ve+40|0;S=Ve+24|0;T=Ve+8|0;x=Ve+4|0;R=Ve+44|0;while(1){if(i>>>0>=8388609)break e;m=s[v>>2]|0;o=m>>>23;if((o|0)==255)s[_>>2]=(s[_>>2]|0)+1;else{w=m>>>31;i=s[A>>2]|0;if((i|0)>-1){m=s[S>>2]|0;if((m+(s[T>>2]|0)|0)>>>0<(s[x>>2]|0)>>>0){s[S>>2]=m+1;r[(s[Ve>>2]|0)+m>>0]=i+w;i=0}else i=-1;s[R>>2]=s[R>>2]|i}i=s[_>>2]|0;if(i|0){w=w+255&255;do{m=s[S>>2]|0;if((m+(s[T>>2]|0)|0)>>>0<(s[x>>2]|0)>>>0){s[S>>2]=m+1;r[(s[Ve>>2]|0)+m>>0]=w;m=0;i=s[_>>2]|0}else m=-1;s[R>>2]=s[R>>2]|m;i=i+-1|0;s[_>>2]=i}while((i|0)!=0)}s[A>>2]=o&255;m=s[v>>2]|0;i=s[c>>2]|0}s[v>>2]=m<<8&2147483392;i=i<<8;s[c>>2]=i;s[E>>2]=(s[E>>2]|0)+8}}}else{R=Ve+28|0;m=s[R>>2]|0;i=m>>>1;I=Ve+32|0;m=(s[I>>2]|0)+(m-i)|0;s[I>>2]=m;s[R>>2]=i;C=Ve+36|0;P=Ve+20|0;O=Ve+40|0;N=Ve+24|0;t=Ve+8|0;D=Ve+4|0;L=Ve+44|0;while(1){if(i>>>0>=8388609)break;o=m>>>23;if((o|0)==255)s[C>>2]=(s[C>>2]|0)+1;else{w=m>>>31;i=s[O>>2]|0;if((i|0)>-1){m=s[N>>2]|0;if((m+(s[t>>2]|0)|0)>>>0<(s[D>>2]|0)>>>0){s[N>>2]=m+1;r[(s[Ve>>2]|0)+m>>0]=i+w;i=0}else i=-1;s[L>>2]=s[L>>2]|i}i=s[C>>2]|0;if(i|0){w=w+255&255;do{m=s[N>>2]|0;if((m+(s[t>>2]|0)|0)>>>0<(s[D>>2]|0)>>>0){s[N>>2]=m+1;r[(s[Ve>>2]|0)+m>>0]=w;m=0;i=s[C>>2]|0}else m=-1;s[L>>2]=s[L>>2]|m;i=i+-1|0;s[C>>2]=i}while((i|0)!=0)}s[O>>2]=o&255;m=s[I>>2]|0;i=s[R>>2]|0}m=m<<8&2147483392;s[I>>2]=m;i=i<<8;s[R>>2]=i;s[P>>2]=(s[P>>2]|0)+8}T=s[$e>>2]|0;c=T+1|0;s[$e>>2]=c;x=re(c|0)|0;E=32-x|0;v=E+-5|0;w=(i>>>0)/6|0;if(!v)i=i-(te(w,10-E|0)|0)|0;else{m=m+(i-(te(w,11-E|0)|0))|0;s[I>>2]=m;i=w}s[R>>2]=i;while(1){if(i>>>0>=8388609)break;o=m>>>23;if((o|0)==255)s[C>>2]=(s[C>>2]|0)+1;else{w=m>>>31;i=s[O>>2]|0;if((i|0)>-1){m=s[N>>2]|0;if((m+(s[t>>2]|0)|0)>>>0<(s[D>>2]|0)>>>0){s[N>>2]=m+1;r[(s[Ve>>2]|0)+m>>0]=i+w;i=0}else i=-1;s[L>>2]=s[L>>2]|i}i=s[C>>2]|0;if(i|0){w=w+255&255;do{m=s[N>>2]|0;if((m+(s[t>>2]|0)|0)>>>0<(s[D>>2]|0)>>>0){s[N>>2]=m+1;r[(s[Ve>>2]|0)+m>>0]=w;m=0;i=s[C>>2]|0}else m=-1;s[L>>2]=s[L>>2]|m;i=i+-1|0;s[C>>2]=i}while((i|0)!=0)}s[O>>2]=o&255;m=s[I>>2]|0;i=s[R>>2]|0}m=m<<8&2147483392;s[I>>2]=m;i=i<<8;s[R>>2]=i;s[P>>2]=(s[P>>2]|0)+8}_=c-(16<>2]|0;S=Ve+16|0;o=s[S>>2]|0;if((o+E|0)>>>0>32){c=7-o|0;c=o+((c|0)>-8?c:-8)&-8;v=o;do{m=s[t>>2]|0;w=s[D>>2]|0;if(((s[N>>2]|0)+m|0)>>>0>>0){m=m+1|0;s[t>>2]=m;r[(s[Ve>>2]|0)+(w-m)>>0]=i;m=0}else m=-1;s[L>>2]=s[L>>2]|m;i=i>>>8;v=v+-8|0}while((v|0)>7);o=o+-8-c|0}i=i|_<>2]=i;s[S>>2]=m;w=(s[P>>2]|0)+E|0;s[P>>2]=w;s[$e>>2]=T;_=s[B>>2]|0;if((m+3|0)>>>0>32){v=o+23|0;c=x+-24-o|0;c=o+((c|0)>-8?c:-8)+31-x&-8;do{w=s[t>>2]|0;o=s[D>>2]|0;if(((s[N>>2]|0)+w|0)>>>0>>0){w=w+1|0;s[t>>2]=w;r[(s[Ve>>2]|0)+(o-w)>>0]=i;w=0}else w=-1;s[L>>2]=s[L>>2]|w;i=i>>>8;m=m+-8|0}while((m|0)>7);w=s[P>>2]|0;m=v-x-c|0}s[A>>2]=i|_<>2]=m+3;w=w+3|0;s[P>>2]=w;i=s[R>>2]|0;m=i>>>2;if((De|0)>0){ve=a[29345+(De+-1)>>0]|0;ge=i-(te(m,ve)|0)|0;s[I>>2]=(s[I>>2]|0)+ge;m=te(m,ve-(a[29345+De>>0]|0)|0)|0}else m=i-(te(m,a[29345+De>>0]|0)|0)|0;s[R>>2]=m;i=w;while(1){if(m>>>0>=8388609)break e;w=s[I>>2]|0;o=w>>>23;if((o|0)==255)s[C>>2]=(s[C>>2]|0)+1;else{w=w>>>31;i=s[O>>2]|0;if((i|0)>-1){m=s[N>>2]|0;if((m+(s[t>>2]|0)|0)>>>0<(s[D>>2]|0)>>>0){s[N>>2]=m+1;r[(s[Ve>>2]|0)+m>>0]=i+w;i=0}else i=-1;s[L>>2]=s[L>>2]|i}i=s[C>>2]|0;if(i|0){w=w+255&255;do{m=s[N>>2]|0;if((m+(s[t>>2]|0)|0)>>>0<(s[D>>2]|0)>>>0){s[N>>2]=m+1;r[(s[Ve>>2]|0)+m>>0]=w;m=0;i=s[C>>2]|0}else m=-1;s[L>>2]=s[L>>2]|m;i=i+-1|0;s[C>>2]=i}while((i|0)!=0)}s[O>>2]=o&255;w=s[I>>2]|0;m=s[R>>2]|0;i=s[P>>2]|0}s[I>>2]=w<<8&2147483392;m=m<<8;s[R>>2]=m;i=i+8|0;s[P>>2]=i}}while(0);me=e+24|0;if((s[me>>2]|0)>0?(s[Ae>>2]|0)==0:0)C=ei(V,U,et,Ce,J)|0;else C=0;D=(Ee|0)>0;e:do if(D?((s[Ve+20>>2]|0)+((re(s[Ve+28>>2]|0)|0)+-32)+3|0)<=(b|0):0)if(C){x=(te(et,je)|0)<<2;T=l;l=l+((1*x|0)+15&-16)|0;x=l;l=l+((1*(Ye<<2)|0)+15&-16)|0;R=l;l=l+((1*(Ye<<2)|0)+15&-16)|0;S=te(Ze,rt)|0;I=l;l=l+((1*(S<<2)|0)+15&-16)|0;if((s[me>>2]|0)>7){ti(Fe,0,V,T,Ze,et,Ee,s[W>>2]|0);i=s[Oe>>2]|0;m=s[pe>>2]<=(de|0))break;v=n[i+(A<<1)>>1]|0;o=T+(w+(v<>1]|0)-v<=(v|0))break;he=+h[o+(E<<2)>>2];E=E+1|0;g=g+he*he}he=+H(+(g+1.0000000272452012e-27));h[x+(A+(te(_,s[We>>2]|0)|0)<<2)>>2]=he;A=c}_=_+1|0}while((_|0)<(Ze|0));m=0;do{i=0;while(1){if((i|0)>=(de|0)){i=de;break}ve=i+(te(m,s[We>>2]|0)|0)|0;he=+Q(+ +h[x+(ve<<2)>>2])*1.4426950408889634;h[I+(ve<<2)>>2]=he-+h[17220+(i<<2)>>2];i=i+1|0}while(1){if((i|0)>=(it|0))break;h[I+((te(m,s[We>>2]|0)|0)+i<<2)>>2]=-14;i=i+1|0}m=m+1|0}while((m|0)<(Ze|0));g=+(Ee|0)*.5;i=0;while(1){if((i|0)>=(S|0)){O=1;P=0;i=C;C=Z;ve=0;break e}ve=I+(i<<2)|0;h[ve>>2]=+h[ve>>2]+g;i=i+1|0}}else{O=0;P=0;i=C;C=Z;ve=0}}else{i=C;m=0;Se=171}else{i=0;m=1;Se=171}while(0);if((Se|0)==171){x=(te(et,je)|0)<<2;T=l;l=l+((1*x|0)+15&-16)|0;x=l;l=l+((1*(Ye<<2)|0)+15&-16)|0;R=l;l=l+((1*(Ye<<2)|0)+15&-16)|0;O=(te(Ze,rt)|0)<<2;I=l;l=l+((1*O|0)+15&-16)|0;O=0;P=1;C=0;ve=m}ti(Fe,C,V,T,Ze,et,Ee,s[W>>2]|0);ge=(et|0)==2;if(ge&(Ze|0)==1)s[J>>2]=0;m=s[Oe>>2]|0;w=s[pe>>2]<=(de|0))break;_=n[m+(S<<1)>>1]|0;c=T+(o+(_<>1]|0)-_<=(_|0))break;he=+h[c+(A<<2)>>2];A=A+1|0;g=g+he*he}he=+H(+(g+1.0000000272452012e-27));h[x+(S+(te(E,s[We>>2]|0)|0)<<2)>>2]=he;S=v}E=E+1|0}while((E|0)<(Ze|0));E=(s[Ae>>2]|0)==0;e:do if(E)w=0;else{m=2;while(1){if((m|0)>=(it|0)){w=0;break e}we=x+(m<<2)|0;ae=+h[we>>2];he=+h[x>>2]*9999999747378752e-20;he=ae>2]=he>1.0000000036274937e-15?he:1.0000000036274937e-15;m=m+1|0}}while(0);do{m=0;while(1){if((m|0)>=(de|0)){m=de;break}we=m+(te(w,s[We>>2]|0)|0)|0;he=+Q(+ +h[x+(we<<2)>>2])*1.4426950408889634;h[R+(we<<2)>>2]=he-+h[17220+(m<<2)>>2];m=m+1|0}while(1){if((m|0)>=(it|0))break;h[R+((te(w,s[We>>2]|0)|0)+m<<2)>>2]=-14;m=m+1|0}w=w+1|0}while((w|0)<(Ze|0));we=te(Ze,rt)|0;F=l;l=l+((1*(we<<2)|0)+15&-16)|0;kn(F|0,0,it<<2|0)|0;if(!Re?(G=s[e+204>>2]|0,!((G|0)==0|E^1)):0){_=s[e+92>>2]|0;_=(_|0)<2?2:_;v=0;m=0;y=0;g=0;while(1){if((v|0)>=(Ze|0))break;c=te(rt,v)|0;o=0;k=g;while(1){if((o|0)>=(_|0))break;g=+h[G+(c+o<<2)>>2];w=g<.25;do if(g>-2|w^1){if(w){if(!(g>0))break}else g=.25;g=g*.5}else g=-2;while(0);fe=o+1|0;ue=(n[ke+(fe<<1)>>1]|0)-(n[ke+(o<<1)>>1]|0)|0;m=m+ue|0;y=y+g*+((o<<1|1)-_|0);o=fe;k=k+g*+(ue|0)}v=v+1|0;g=k}g=g/+(m|0)+.20000000298023224;y=y*6/+(te(te(te(Ze,_+-1|0)|0,_+1|0)|0,_)|0)*.5;m=y<.03099999949336052;y=m?m&!(y>-.03099999949336052)?-.03099999949336052:y:.03099999949336052;m=(n[ke+(_<<1)>>1]|0)/2|0;v=0;while(1){w=v+1|0;if((n[ke+(w<<1)>>1]|0)<(m|0))v=w;else break}o=(Ze|0)==2;m=0;c=0;while(1){if((c|0)>=(_|0))break;w=G+(c<<2)|0;if(o){ue=G+(rt+c<<2)|0;w=+h[w>>2]>+h[ue>>2]?w:ue}k=+h[w>>2];k=(k<0?k:0)-(g+y*+(c-v|0));if(k>.25){h[F+(c<<2)>>2]=k+-.25;m=m+1|0}c=c+1|0}e:do if((m|0)>2){g=g+.25;if(g>0){kn(F|0,0,_<<2|0)|0;y=0;g=0;break}else m=0;while(1){if((m|0)>=(_|0))break e;ue=F+(m<<2)|0;he=+h[ue>>2]+-.25;h[ue>>2]=he<0?0:he;m=m+1|0}}while(0);he=g+.20000000298023224;Y=y*64}else{he=0;Y=0}if(E){k=P?0:+(Ee|0)*.5;m=(Ze|0)==2;y=-10;M=0;w=tt;while(1){if((w|0)>=(it|0))break;ae=y+-1;g=+h[R+(w<<2)>>2]-k;g=ae>g?ae:g;do if(m){y=+h[R+(w+rt<<2)>>2]-k;if(g>y)break;g=y}while(0);y=g;M=M+g;w=w+1|0}ue=e+208|0;j=+h[ue>>2];ae=M/+(it-tt|0)-j;oe=ae<-1.5;fe=ae>3&(oe^1);ae=fe|oe?fe?3:-1.5:ae;h[ue>>2]=j+ae*.019999999552965164}else ae=0;if(!O)Mn(I|0,R|0,we<<2|0)|0;e:do if(D){t=Ve+20|0;w=s[t>>2]|0;N=Ve+28|0;m=s[N>>2]|0;do if((i|0)==0?(w+((re(m|0)|0)+-32)+3|0)<=(b|0):0){if((s[me>>2]|0)<=4){c=m;v=w;E=T;i=0;w=C;break}if(!E){c=m;v=w;E=T;i=0;w=C;break}if(Re){c=m;v=w;E=T;i=0;w=C;break}t:do if((Ze|0)==1){i=s[Xe>>2]|0;s[K>>2]=i;g=(s[d>>2]=i,+h[d>>2]);i=0;while(1){i=i+1|0;if((i|0)>=(it|0))break t;j=+h[Xe+(i<<2)>>2];j=g+-1>j?g+-1:j;h[K+(i<<2)>>2]=j;g=j}}else{j=+h[Xe>>2];g=+h[Xe+(rt<<2)>>2];g=j>g?j:g;h[K>>2]=g;i=0;while(1){i=i+1|0;if((i|0)>=(it|0))break t;M=+h[Xe+(i<<2)>>2];j=+h[Xe+(i+rt<<2)>>2];ue=M>j;j=g+-1>(ue?M:j)?g+-1:ue?M:j;h[K+(i<<2)>>2]=j;g=j}}while(0);i=it+-2|0;while(1){if((i|0)<0)break;ue=K+(i<<2)|0;M=+h[ue>>2];j=+h[K+(i+1<<2)>>2]+-1;h[ue>>2]=M>j?M:j;i=i+-1|0}i=it+-1|0;w=0;g=0;do{m=te(w,rt)|0;o=2;while(1){if((o|0)>=(i|0))break;M=+h[R+(o+m<<2)>>2];j=+h[K+(o<<2)>>2];j=(M<0?0:M)-(j<0?0:j);o=o+1|0;g=g+(j<0?0:j)}w=w+1|0}while((w|0)<(Ze|0));if(g/+(te(it+-3|0,Ze)|0)>1){ti(Fe,Z,V,T,Ze,et,Ee,s[W>>2]|0);i=s[Oe>>2]|0;m=s[pe>>2]<=(de|0))break;v=n[i+(A<<1)>>1]|0;o=T+(w+(v<>1]|0)-v<=(v|0))break;j=+h[o+(E<<2)>>2];E=E+1|0;g=g+j*j}j=+H(+(g+1.0000000272452012e-27));h[x+(A+(te(_,s[We>>2]|0)|0)<<2)>>2]=j;A=c}_=_+1|0}while((_|0)<(Ze|0));m=0;do{i=0;while(1){if((i|0)>=(de|0)){i=de;break}ue=i+(te(m,s[We>>2]|0)|0)|0;j=+Q(+ +h[x+(ue<<2)>>2])*1.4426950408889634;h[R+(ue<<2)>>2]=j-+h[17220+(i<<2)>>2];i=i+1|0}while(1){if((i|0)>=(it|0))break;h[R+((te(m,s[We>>2]|0)|0)+i<<2)>>2]=-14;i=i+1|0}m=m+1|0}while((m|0)<(Ze|0));g=+(Ee|0)*.5;i=0;while(1){if((i|0)>=(we|0))break;ue=I+(i<<2)|0;h[ue>>2]=+h[ue>>2]+g;i=i+1|0}h[Ce>>2]=.20000000298023224;m=T;i=1;w=Z}else{m=T;i=0;w=C}c=s[N>>2]|0;v=s[t>>2]|0;E=m}else{c=m;v=w;E=T;w=C}while(0);if((v+((re(c|0)|0)+-32)+3|0)>(b|0)){ue=i;X=w;break}o=c>>>3;m=c-o|0;O=Ve+32|0;if(i){s[O>>2]=(s[O>>2]|0)+m;m=o}s[N>>2]=m;_=Ve+36|0;A=Ve+40|0;S=Ve+24|0;T=Ve+8|0;C=Ve+4|0;P=Ve+44|0;o=v;while(1){if(m>>>0>=8388609){ue=i;X=w;break e}c=s[O>>2]|0;v=c>>>23;if((v|0)==255)s[_>>2]=(s[_>>2]|0)+1;else{c=c>>>31;m=s[A>>2]|0;if((m|0)>-1){o=s[S>>2]|0;if((o+(s[T>>2]|0)|0)>>>0<(s[C>>2]|0)>>>0){s[S>>2]=o+1;r[(s[Ve>>2]|0)+o>>0]=m+c;m=0}else m=-1;s[P>>2]=s[P>>2]|m}m=s[_>>2]|0;if(m|0){c=c+255&255;do{o=s[S>>2]|0;if((o+(s[T>>2]|0)|0)>>>0<(s[C>>2]|0)>>>0){s[S>>2]=o+1;r[(s[Ve>>2]|0)+o>>0]=c;o=0;m=s[_>>2]|0}else o=-1;s[P>>2]=s[P>>2]|o;m=m+-1|0;s[_>>2]=m}while((m|0)!=0)}s[A>>2]=v&255;c=s[O>>2]|0;m=s[N>>2]|0;o=s[t>>2]|0}s[O>>2]=c<<8&2147483392;m=m<<8;s[N>>2]=m;o=o+8|0;s[t>>2]=o}}else{E=T;ue=i;X=C}while(0);m=(te(Ze,je)|0)<<2;$=l;l=l+((1*m|0)+15&-16)|0;m=s[Oe>>2]|0;w=s[pe>>2]<=(de|0))break;g=1/(+h[x+(i+(te(_,s[We>>2]|0)|0)<<2)>>2]+1.0000000272452012e-27);c=i+1|0;v=n[m+(c<<1)>>1]<>1]<=(v|0)){i=c;continue e}fe=i+o|0;h[$+(fe<<2)>>2]=+h[E+(fe<<2)>>2]*g;i=i+1|0}}_=_+1|0;if((_|0)>=(Ze|0))break}Z=l;l=l+((1*(rt<<2)|0)+15&-16)|0;e:do if((f|0)<(Ze*15|0))if(Re&(f|0)<15){i=0;Se=320}else{i=0;Se=322}else{if(Re)if((f|0)<15){i=0;Se=320;break}else{i=0;Se=322;break}if((s[me>>2]|0)<=1){i=0;Se=322;break}if(s[Ae>>2]|0){i=0;Se=322;break}i=(1280/(f|0)|0)+2|0;i=ii(Fe,de,ue,Z,(i|0)<5?5:i,$,je,Ee,+h[Ce>>2],s[J>>2]|0)|0;m=Z+(de+-1<<2)|0;w=de;while(1){if((w|0)>=(it|0))break e;s[Z+(w<<2)>>2]=s[m>>2];w=w+1|0}}while(0);e:do if((Se|0)==320)while(1){Se=0;if((i|0)>=(it|0)){i=ue;break e}s[Z+(i<<2)>>2]=0;i=i+1|0;Se=320}else if((Se|0)==322)while(1){Se=0;if((i|0)>=(it|0)){i=0;break e}s[Z+(i<<2)>>2]=ue;i=i+1|0;Se=322}while(0);oe=l;l=l+((1*(we<<2)|0)+15&-16)|0;c=0;do{m=te(c,rt)|0;v=tt;while(1){if((v|0)>=(it|0))break;w=v+m|0;o=R+(w<<2)|0;g=+h[o>>2];if(+q(+(g-+h[Xe+(w<<2)>>2]))<2)h[o>>2]=g-+h[Ke+(w<<2)>>2]*.25;v=v+1|0}c=c+1|0}while((c|0)<(Ze|0));Si(Fe,tt,it,de,R,Xe,b,oe,Ve,Ze,Ee,u,s[e+12>>2]|0,e+84|0,(s[me>>2]|0)>3&1,s[e+56>>2]|0,s[Ae>>2]|0);ie=Ve+4|0;m=s[ie>>2]<<3;ne=Ve+20|0;c=s[ne>>2]|0;fe=Ve+28|0;o=s[fe>>2]|0;_=c+((re(o|0)|0)+-32)|0;w=(ue|0)!=0;v=w?2:4;if(D)O=(_+v+1|0)>>>0<=m>>>0;else O=0;P=m-(O&1)|0;C=w?4:5;V=Ve+32|0;W=Ve+36|0;K=Ve+40|0;J=Ve+24|0;ee=Ve+8|0;se=Ve+44|0;E=0;T=tt;S=0;while(1){if((T|0)>=(it|0))break;m=Z+(T<<2)|0;if((_+v|0)>>>0>P>>>0){s[m>>2]=E;w=E;m=S}else{A=s[m>>2]|0;v=o>>>v;w=o-v|0;m=(A|0)==(E|0);if(!m)s[V>>2]=(s[V>>2]|0)+w;v=m?w:v;s[fe>>2]=v;m=c;while(1){if(v>>>0>=8388609)break;w=s[V>>2]|0;c=w>>>23;if((c|0)==255){s[W>>2]=(s[W>>2]|0)+1;o=v}else{o=w>>>31;m=s[K>>2]|0;if((m|0)>-1){w=s[J>>2]|0;if((w+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=w+1;r[(s[Ve>>2]|0)+w>>0]=m+o;m=0}else m=-1;s[se>>2]=s[se>>2]|m}m=s[W>>2]|0;if(m|0){o=o+255&255;do{w=s[J>>2]|0;if((w+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=w+1;r[(s[Ve>>2]|0)+w>>0]=o;w=0;m=s[W>>2]|0}else w=-1;s[se>>2]=s[se>>2]|w;m=m+-1|0;s[W>>2]=m}while((m|0)!=0)}s[K>>2]=c&255;w=s[V>>2]|0;o=s[fe>>2]|0;m=s[ne>>2]|0}s[V>>2]=w<<8&2147483392;v=o<<8;s[fe>>2]=v;m=m+8|0;s[ne>>2]=m}c=m;o=v;w=A;_=m+((re(v|0)|0)+-32)|0;m=S|A}E=w;T=T+1|0;v=C;S=m}v=ue<<2;do if(O){if((r[v+S+(27892+(Ee<<3))>>0]|0)==(r[(v|2)+S+(27892+(Ee<<3))>>0]|0)){i=0;m=o;break}m=o>>>1;w=o-m|0;if(!i)m=w;else s[V>>2]=(s[V>>2]|0)+w;s[fe>>2]=m;w=c;while(1){if(m>>>0>=8388609)break;o=s[V>>2]|0;c=o>>>23;if((c|0)==255)s[W>>2]=(s[W>>2]|0)+1;else{o=o>>>31;m=s[K>>2]|0;if((m|0)>-1){w=s[J>>2]|0;if((w+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=w+1;r[(s[Ve>>2]|0)+w>>0]=m+o;m=0}else m=-1;s[se>>2]=s[se>>2]|m}m=s[W>>2]|0;if(m|0){o=o+255&255;do{w=s[J>>2]|0;if((w+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=w+1;r[(s[Ve>>2]|0)+w>>0]=o;w=0;m=s[W>>2]|0}else w=-1;s[se>>2]=s[se>>2]|w;m=m+-1|0;s[W>>2]=m}while((m|0)!=0)}s[K>>2]=c&255;o=s[V>>2]|0;m=s[fe>>2]|0;w=s[ne>>2]|0}s[V>>2]=o<<8&2147483392;m=m<<8;s[fe>>2]=m;w=w+8|0;s[ne>>2]=w}i=i<<1;c=w}else{i=0;m=o}while(0);i=v+i|0;w=tt;while(1){if((w|0)>=(it|0))break;G=Z+(w<<2)|0;s[G>>2]=r[i+(s[G>>2]|0)+(27892+(Ee<<3))>>0];w=w+1|0}e:do if((c+((re(m|0)|0)+-32)+4|0)<=(b|0)){t:do if(!(s[Ae>>2]|0)){i:do if(Re){if(!(s[me>>2]|0)){s[e+80>>2]=0;Se=415;break}i=e+80|0;if(!ue){s[i>>2]=3;i=3;Se=414;break t}else{s[i>>2]=2;i=2;Se=414;break t}}else{i=s[me>>2]|0;do if(!X){if((i|0)<3|(u|0)<(Ze*10|0))break;L=e+88|0;U=e+80|0;B=s[U>>2]|0;D=e+96|0;t=s[Oe>>2]|0;P=s[pe>>2]<>1]|0)-(n[t+(de+-1<<1)>>1]|0)<>2]=0;i=0;u=m>>>5;break i}else{N=0;i=0;u=0;w=0}do{O=te(N,P)|0;C=0;while(1){if((C|0)>=(de|0))break;E=n[t+(C<<1)>>1]|0;o=$+(E<>1]|0)-E<>2];j=j*j*g;v=v+1|0;A=A+(j<.25&1)|0;S=S+(j<.015625&1)|0;T=T+(j<.0625&1)|0}if((C|0)>((s[We>>2]|0)+-4|0))i=i+((T+A<<5>>>0)/(E>>>0)|0)|0;C=_;u=u+1|0;w=w+(((S<<1|0)>=(E|0)&1)+((T<<1|0)>=(E|0)&1)+((A<<1|0)>=(E|0)&1)<<8)|0}N=N+1|0}while((N|0)<(Ze|0));if(!ce){if(!i)i=0;else i=(i>>>0)/((te(4-(s[We>>2]|0)+de|0,Ze)|0)>>>0)|0;i=(s[D>>2]|0)+i>>1;s[D>>2]=i;switch(s[le>>2]|0){case 2:{i=i+4|0;break}case 0:{i=i+-4|0;break}default:{}}s[le>>2]=(i|0)>22?2:(i|0)>18&1}i=((w>>>0)/(u>>>0)|0)+(s[L>>2]|0)>>1;s[L>>2]=i;i=(i*3|0)+(3-B<<7|64)+2>>2;do if((i|0)>=80){if((i|0)<256){i=2;break}i=(i|0)<384&1;s[U>>2]=i;u=m>>>5;if((i|0)>0){Se=418;break t}else break i}else i=3;while(0);s[U>>2]=i;u=m>>>5;Se=418;break t}while(0);u=e+80|0;if(!i){s[u>>2]=0;Se=415;break}else{s[u>>2]=2;i=2;Se=414;break t}}while(0);if((Se|0)==415){i=0;u=m>>>5}i=m-(te(u,a[28203+i>>0]|0)|0)|0}else{s[le>>2]=0;s[e+80>>2]=2;i=2;Se=414}while(0);if((Se|0)==414){u=m>>>5;Se=418}if((Se|0)==418){pe=a[28203+(i+-1)>>0]|0;de=m-(te(u,pe)|0)|0;s[V>>2]=(s[V>>2]|0)+de;i=te(u,pe-(a[28203+i>>0]|0)|0)|0}s[fe>>2]=i;u=c;while(1){if(i>>>0>=8388609)break e;m=s[V>>2]|0;w=m>>>23;if((w|0)==255)s[W>>2]=(s[W>>2]|0)+1;else{m=m>>>31;i=s[K>>2]|0;if((i|0)>-1){u=s[J>>2]|0;if((u+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){ -s[J>>2]=u+1;r[(s[Ve>>2]|0)+u>>0]=i+m;i=0}else i=-1;s[se>>2]=s[se>>2]|i}i=s[W>>2]|0;if(i|0){m=m+255&255;do{u=s[J>>2]|0;if((u+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=u+1;r[(s[Ve>>2]|0)+u>>0]=m;u=0;i=s[W>>2]|0}else u=-1;s[se>>2]=s[se>>2]|u;i=i+-1|0;s[W>>2]=i}while((i|0)!=0)}s[K>>2]=w&255;m=s[V>>2]|0;i=s[fe>>2]|0;u=s[ne>>2]|0}s[V>>2]=m<<8&2147483392;i=i<<8;s[fe>>2]=i;u=u+8|0;s[ne>>2]=u}}while(0);G=l;l=l+((1*(rt<<2)|0)+15&-16)|0;O=e+52|0;j=+ri(R,I,rt,tt,it,Ze,G,s[be>>2]|0,s[Fe+56>>2]|0,ue,s[_e>>2]|0,s[O>>2]|0,ke,Ee,f,Ie,s[Ae>>2]|0,F);if(s[Ae>>2]|0)s[G>>2]=(f|0)>26?8:(f|0)/3|0;N=l;l=l+((1*(rt<<2)|0)+15&-16)|0;i=s[We>>2]|0;f=(Ee<<1)+Ze+-1|0;u=Fe+104|0;m=0;while(1){if((m|0)>=(i|0))break;_e=m+1|0;be=s[Oe>>2]|0;pe=(te(i,f)|0)+m|0;s[N+(m<<2)>>2]=(te(te((a[(s[u>>2]|0)+pe>>0]|0)+64|0,Ze)|0,(n[be+(_e<<1)>>1]|0)-(n[be+(m<<1)>>1]|0)<>2;m=_e}I=b<<3;be=s[ne>>2]|0;i=s[fe>>2]|0;_e=32-(re(i|0)|0)|0;C=i>>>(_e+-16|0);A=(C>>>12)+-8|0;f=be;u=6;b=tt;A=(be<<3)-((_e<<3)+(A+(C>>>0>(s[5272+(A<<2)>>2]|0)>>>0&1)))|0;C=0;while(1){if((b|0)>=(it|0))break;T=b+1|0;o=(te(Ze,(n[ke+(T<<1)>>1]|0)-(n[ke+(b<<1)>>1]|0)|0)|0)<=(I-S|0))break;if((_|0)>=(s[c>>2]|0))break;w=(v|0)<(s[E>>2]|0);b=i>>>b;i=i-b|0;if(w){s[V>>2]=(s[V>>2]|0)+i;i=b}s[fe>>2]=i;while(1){if(i>>>0>=8388609)break;b=s[V>>2]|0;m=b>>>23;if((m|0)==255)s[W>>2]=(s[W>>2]|0)+1;else{b=b>>>31;i=s[K>>2]|0;if((i|0)>-1){f=s[J>>2]|0;if((f+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=f+1;r[(s[Ve>>2]|0)+f>>0]=i+b;i=0}else i=-1;s[se>>2]=s[se>>2]|i}i=s[W>>2]|0;if(i|0){b=b+255&255;do{f=s[J>>2]|0;if((f+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=f+1;r[(s[Ve>>2]|0)+f>>0]=b;f=0;i=s[W>>2]|0}else f=-1;s[se>>2]=s[se>>2]|f;i=i+-1|0;s[W>>2]=i}while((i|0)!=0)}s[K>>2]=m&255;b=s[V>>2]|0;i=s[fe>>2]|0;f=s[ne>>2]|0}s[V>>2]=b<<8&2147483392;i=i<<8;s[fe>>2]=i;f=f+8|0;s[ne>>2]=f}be=32-(re(i|0)|0)|0;_e=i>>>(be+-16|0);m=(_e>>>12)+-8|0;m=(f<<3)-((be<<3)+(m+(_e>>>0>(s[5272+(m<<2)>>2]|0)>>>0&1)))|0;if(!w)break;_=_+o|0;b=1;v=v+1|0;S=S+o|0}if(v)u=(u|0)<3?2:u+-1|0;s[E>>2]=_;b=T;A=m;C=S}F=(Ze|0)==2;if(F){if(!Ee)w=0;else{u=0;g=1.0000000036274937e-15;y=1.0000000036274937e-15;e:while(1){if((u|0)==13)break;ke=s[Oe>>2]|0;b=u+1|0;m=n[ke+(b<<1)>>1]<>1]<=(m|0)){u=b;continue e}k=+h[$+(u<<2)>>2];M=+h[$+(u+je<<2)>>2];u=u+1|0;g=g+(+q(+k)+ +q(+M));y=y+(+q(+(k+M))+ +q(+(k-M)))}}w=n[(s[Oe>>2]|0)+26>>1]<>2]=+(w+((Ee|0)<2?5:13)|0)*(y*.7071070075035095)>+(w|0)*g&1;w=Ee}g=+((Be|0)/1e3|0|0);m=e+200|0;u=s[m>>2]|0;b=0;while(1){if((b|0)>=21)break;if(+h[5104+(b<<2)>>2]>g)break;b=b+1|0}if(!((b|0)>(u|0)?+h[5104+(u<<2)>>2]+ +h[5188+(u<<2)>>2]>g:0))Se=480;do if((Se|0)==480){if((b|0)>=(u|0)){u=b;break}Ee=u+-1|0;if(!(+h[5104+(Ee<<2)>>2]-+h[5188+(Ee<<2)>>2](u|0);s[m>>2]=(it|0)<((U?tt:u)|0)?it:U?tt:u;U=w}else U=Ee;if((A+48|0)>(I-C|0))P=5;else{do if((tt|0)>0)Se=487;else{if(s[Ae>>2]|0){Se=487;break}c=e+196|0;M=+h[Ce>>2];v=s[e+200>>2]|0;if(F){u=0;g=0;while(1){if((u|0)==8)break;m=s[Oe>>2]|0;b=n[m+(u<<1)>>1]|0;o=b<>1]|0)-b<=(b|0))break;k=y+ +h[w+(m<<2)>>2]*+h[o+(m<<2)>>2];m=m+1|0;y=k}g=g+y}y=+q(+(g*.125));y=y>1?1:y;u=8;k=y;while(1){if((u|0)>=(v|0))break;m=s[Oe>>2]|0;b=n[m+(u<<1)>>1]|0;o=b<>1]|0)-b<=(b|0))break;st=g+ +h[w+(m<<2)>>2]*+h[o+(m<<2)>>2];m=m+1|0;g=st}st=+q(+g);k=k1?1:st;y=+Q(+(1.0010000467300415-y*y))*1.4426950408889634;g=y*.5;st=+Q(+(1.0010000467300415-st*st))*1.4426950408889634;y=y*.75;k=+h[c>>2]+.25;st=-((g>st?g:st)*.5);h[c>>2]=k=(b|0))break;g=g+ +h[R+(u+(te(m,s[We>>2]|0)|0)<<2)>>2]*+((u<<1)+2-it|0);u=u+1|0}m=m+1|0}while((m|0)<(Ze|0));g=(g/+(te(b,Ze)|0)+1)/6;ke=g>2;Ee=g<-2&(ke^1);g=y-(Ee|ke?Ee?-2:2:g)-Y-M*2;if(s[e+120>>2]|0){st=(+h[e+128>>2]+.05000000074505806)*2;ke=st>2;Ee=st<-2&(ke^1);g=g-(Ee|ke?Ee?-2:2:st)}u=~~+z(+(g+.5));if((u|0)>10){b=i>>>7;u=10;Se=512;break}b=i>>>7;if((u|0)>=0){if((u|0)>0){Se=512;break}}else u=0;w=u;i=i-(te(b,a[28207+u>>0]|0)|0)|0}while(0);if((Se|0)==487){h[e+196>>2]=0;b=i>>>7;u=5;Se=512}if((Se|0)==512){Se=a[28207+(u+-1)>>0]|0;w=i-(te(b,Se)|0)|0;s[V>>2]=(s[V>>2]|0)+w;w=u;i=te(b,Se-(a[28207+u>>0]|0)|0)|0}s[fe>>2]=i;b=f;while(1){if(i>>>0>=8388609)break;f=s[V>>2]|0;m=f>>>23;if((m|0)==255){s[W>>2]=(s[W>>2]|0)+1;u=f;f=b}else{u=f>>>31;i=s[K>>2]|0;if((i|0)>-1){f=s[J>>2]|0;if((f+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=f+1;r[(s[Ve>>2]|0)+f>>0]=i+u;i=0}else i=-1;s[se>>2]=s[se>>2]|i}i=s[W>>2]|0;if(i|0){u=u+255&255;do{f=s[J>>2]|0;if((f+(s[ee>>2]|0)|0)>>>0<(s[ie>>2]|0)>>>0){s[J>>2]=f+1;r[(s[Ve>>2]|0)+f>>0]=u;f=0;i=s[W>>2]|0}else f=-1;s[se>>2]=s[se>>2]|f;i=i+-1|0;s[W>>2]=i}while((i|0)!=0)}s[K>>2]=m&255;u=s[V>>2]|0;i=s[fe>>2]|0;f=s[ne>>2]|0}s[V>>2]=u<<8&2147483392;i=i<<8;s[fe>>2]=i;b=f+8|0;s[ne>>2]=b}Ee=32-(re(i|0)|0)|0;Se=i>>>(Ee+-16|0);A=(Se>>>12)+-8|0;f=b;P=w;A=(b<<3)-((Ee<<3)+(A+(Se>>>0>(s[5272+(A<<2)>>2]|0)>>>0&1)))|0}if(Me){T=(s[Te>>2]|0)-U|0;f=3-U|0;R=1275>>>f;R=(p|0)<(R|0)?p:R;if(Re){i=(Ze*72|0)+32|0;i=(Le|0)<(i|0)?0:Le-i|0}else i=Le-((Ze*320|0)+160)|0;S=(s[O>>2]|0)==0;if(S)E=i;else E=i+(s[e+184>>2]>>T)|0;if(Re){i=s[e+156>>2]|0;st=+h[Ce>>2];i=~~(+(E+((i|0)<100?96>>>f:0)-((i|0)>100?144>>>f:0)|0)+(st+-.25)*400);Oe=(A+C+63>>6)+2|0;f=xe+296+C+63>>6;i=!(st>.699999988079071)|(i|0)>400?i:400;f=(Oe|0)>(f|0)?Oe:f}else{f=s[e+92>>2]|0;b=s[e+200>>2]|0;y=+h[e+196>>2];m=s[Ie>>2]|0;k=+h[Ce>>2];p=s[e+64>>2]|0;v=s[Ae>>2]|0;_=(s[e+204>>2]|0)!=0;c=s[We>>2]|0;o=s[Oe>>2]|0;f=(f|0)==0?c:f;i=n[o+(f<<1)>>1]<(b|0)?b:f)<<1)>>1]<>2]|0)==0;do if(u)i=E;else{g=+h[e+136>>2];if(!(g<.4)){i=E;break}i=E-~~(+(w<<3|0)*(.4000000059604645-g))|0}while(0);if(F){Oe=(f|0)>(b|0)?b:f;Oe=(n[o+(Oe<<1)>>1]<>2]+-.15000000596046448;g=+(w<<3|0);i=i+~~(g*1.2000000476837158*((st<0?0:st)+-.09000000357627869))|0;if(!ye)break;i=i+~~(g*.800000011920929)|0}while(0);if(_&(v|0)==0){Oe=i+~~(+(w<<3|0)*he)|0;i=(i|0)/4|0;i=(i|0)>(Oe|0)?i:Oe}Ce=~~(+((te(n[o+(c+-2<<1)>>1]<>2;Oe=(Ce|0)>(Oe|0)?Ce:Oe;i=(i|0)<(Oe|0)?i:Oe;do if(!(_&(v|0)==0)){if(!S)i=~~(+(i-E|0)*.6700000166893005)+E|0;if(!(k<.20000000298023224&(_^1)))break;Oe=96e3-Be|0;Ce=(Oe|0)>32e3;i=i+~~(((Be|0)>96e3&(Ce^1)?0:Ce?.09919999539852142:+(Oe|0)*3099999958067201e-21)*ae*+(i|0))|0}while(0);f=E<<1;i=(f|0)<(i|0)?f:i;f=(A+C+63>>6)+2|0}p=i+A|0;b=p+32>>6;b=(f|0)>(b|0)?f:b;b=(R|0)<(b|0)?R:b;m=(Ue|0)==0;i=m?b:2;f=e+188|0;u=s[f>>2]|0;if((u|0)<970){s[f>>2]=u+1;g=1/+(u+21|0)}else g=.0010000000474974513;do if(!S){f=e+176|0;s[f>>2]=(s[f>>2]|0)+((m?b<<6:128)-Le);f=e+184|0;Oe=e+180|0;u=s[Oe>>2]|0;u=u+~~(g*+(((m?p-Le|0:0)<>2]|0)-u|0))|0;s[Oe>>2]=u;s[f>>2]=0-u;f=e+176|0;u=s[f>>2]|0;if((u|0)>=0)break;s[f>>2]=0;i=m?b+((u|0)/-64|0)|0:2}while(0);B=(R|0)<(i|0)?R:i;Le=s[Ve>>2]|0;f=s[ee>>2]|0;i=0-f|0;Tn(Le+B+i|0,Le+(s[ie>>2]|0)+i|0,f|0)|0;s[ie>>2]=B;f=s[ne>>2]|0;i=s[fe>>2]|0}else B=p;t=l;l=l+((1*(rt<<2)|0)+15&-16)|0;I=l;l=l+((1*(rt<<2)|0)+15&-16)|0;D=l;l=l+((1*(rt<<2)|0)+15&-16)|0;C=B<<6;Le=32-(re(i|0)|0)|0;L=i>>>(Le+-16|0);i=(L>>>12)+-8|0;i=C+((Le<<3)+(i+(L>>>0>(s[5272+(i<<2)>>2]|0)>>>0&1))-(f<<3))+-1|0;L=(ue|0)==0;if((U|0)>1&(L^1))T=(i|0)>=((U<<3)+16|0);else T=0;R=T?8:0;f=i-R|0;if(!(s[e+120>>2]|0))i=it+-1|0;else{do if((Be|0)<(Ze*32e3|0))i=13;else{if((Be|0)<(Ze*48e3|0)){i=16;break}if((Be|0)<(Ze*6e4|0)){i=18;break}i=(Be|0)<(Ze*8e4|0)?19:20}while(0);Be=s[e+144>>2]|0;i=(Be|0)>(i|0)?Be:i}S=e+200|0;u=e+92|0;A=Ti(Fe,tt,it,G,N,P,S,He,f,ze,I,t,D,Ze,U,Ve,1,s[u>>2]|0,(s[Ae>>2]|0)==0?i:1)|0;i=s[u>>2]|0;if(!i)i=A;else{Le=i+1|0;i=i+-1|0;Be=(i|0)>(A|0);i=(Le|0)<((Be?i:A)|0)?Le:Be?i:A}s[u>>2]=i;O=Ve+12|0;N=Ve+16|0;E=tt;while(1){if((E|0)>=(it|0))break;o=s[t+(E<<2)>>2]|0;if((o|0)>=1){c=65536<>16;g=+(c|0);y=+(1<<14-o|0);v=c+-1|0;i=s[We>>2]|0;_=0;do{w=~~+z(+((+h[oe+(E+(te(_,i)|0)<<2)>>2]+.5)*g));w=(w|0)<(c|0)?w:v;w=(w|0)<0?0:w;i=s[O>>2]|0;f=s[N>>2]|0;if((f+o|0)>>>0>32){b=7-f|0;b=f+((b|0)>-8?b:-8)&-8;m=f;do{u=s[ee>>2]|0;p=s[ie>>2]|0;if(((s[J>>2]|0)+u|0)>>>0

>>0){u=u+1|0;s[ee>>2]=u;r[(s[Ve>>2]|0)+(p-u)>>0]=i;u=0}else u=-1;s[se>>2]=s[se>>2]|u;i=i>>>8;m=m+-8|0}while((m|0)>7);f=f+-8-b|0}s[O>>2]=i|w<>2]=f+o;s[ne>>2]=(s[ne>>2]|0)+o;st=(+(w|0)+.5)*y*6103515625e-14+-.5;i=Xe+(E+(te(_,s[We>>2]|0)|0)<<2)|0;h[i>>2]=+h[i>>2]+st;i=s[We>>2]|0;Be=oe+(E+(te(_,i)|0)<<2)|0;h[Be>>2]=+h[Be>>2]-st;_=_+1|0}while((_|0)<(Ze|0))}E=E+1|0}Be=l;l=l+((1*we|0)+15&-16)|0;P=e+76|0;sr(1,Fe,tt,it,$,F?$+(je<<2)|0:0,Be,x,I,X,s[e+80>>2]|0,s[He>>2]|0,s[S>>2]|0,Z,C-R|0,s[ze>>2]|0,Ve,U,A,P,s[me>>2]|0,s[e+72>>2]|0);if(T){w=(s[e+116>>2]|0)<2&1;i=s[O>>2]|0;f=s[N>>2]|0;if((f+1|0)>>>0>32){b=7-f|0;b=f+((b|0)>-8?b:-8)&-8;m=f;do{u=s[ee>>2]|0;p=s[ie>>2]|0;if(((s[J>>2]|0)+u|0)>>>0

>>0){u=u+1|0;s[ee>>2]=u;r[(s[Ve>>2]|0)+(p-u)>>0]=i;u=0}else u=-1;s[se>>2]=s[se>>2]|u;i=i>>>8;m=m+-8|0}while((m|0)>7);f=f+-8-b|0}s[O>>2]=i|w<>2]=f+1;i=(s[ne>>2]|0)+1|0;s[ne>>2]=i}else i=s[ne>>2]|0;i=(B<<3)-(i+((re(s[fe>>2]|0)|0)+-32))|0;E=0;while(1){if((E|0)==2)break;else _=tt;while(1){if(!((_|0)<(it|0)&(i|0)>=(Ze|0)))break;f=s[t+(_<<2)>>2]|0;do if((f|0)<=7){if((s[D+(_<<2)>>2]|0)!=(E|0))break;g=+(1<<14-f+-1|0);f=s[We>>2]|0;u=s[N>>2]|0;p=s[O>>2]|0;v=0;do{c=!(+h[oe+(_+(te(v,f)|0)<<2)>>2]<0);o=c&1;if((u+1|0)>>>0>32){m=7-u|0;m=u+((m|0)>-8?m:-8)&-8;w=u;f=p;do{p=s[ee>>2]|0;b=s[ie>>2]|0;if(((s[J>>2]|0)+p|0)>>>0>>0){p=p+1|0;s[ee>>2]=p;r[(s[Ve>>2]|0)+(b-p)>>0]=f;p=0}else p=-1;s[se>>2]=s[se>>2]|p;f=f>>>8;w=w+-8|0}while((w|0)>7);u=u+-8-m|0}else f=p;p=f|o<>2]=p;s[N>>2]=u;s[ne>>2]=(s[ne>>2]|0)+1;st=(+(c&1)+-.5)*g*6103515625e-14;f=Xe+(_+(te(v,s[We>>2]|0)|0)<<2)|0;h[f>>2]=+h[f>>2]+st;f=s[We>>2]|0;He=oe+(_+(te(v,f)|0)<<2)|0;h[He>>2]=+h[He>>2]-st;i=i+-1|0;v=v+1|0}while((v|0)<(Ze|0))}while(0);_=_+1|0}E=E+1|0}p=Ye<<2;kn(Ke|0,0,p|0)|0;f=0;do{i=te(f,rt)|0;u=tt;while(1){if((u|0)>=(it|0))break;We=u+i|0;st=+h[oe+(We<<2)>>2];ze=st>.5;He=st<-.5&(ze^1);h[Ke+(We<<2)>>2]=He|ze?He?-.5:.5:st;u=u+1|0}f=f+1|0}while((f|0)<(Ze|0));e:do if(Ue|0){i=0;while(1){if((i|0)>=(we|0))break e;h[Xe+(i<<2)>>2]=-28;i=i+1|0}}while(0);s[e+104>>2]=s[$e>>2];h[e+108>>2]=Pe;s[e+112>>2]=De;if(ge&(Ze|0)==1)Mn(Xe+(rt<<2)|0,Xe|0,rt<<2|0)|0;e:do if(L){Mn(Qe|0,Je|0,p|0)|0;Mn(Je|0,Xe|0,p|0)|0;u=0}else{i=0;while(1){if((i|0)>=(Ye|0)){u=0;break e}$e=Je+(i<<2)|0;Pe=+h[$e>>2];st=+h[Xe+(i<<2)>>2];h[$e>>2]=Pe=(tt|0)){i=it;break}$e=f+i|0;h[Xe+($e<<2)>>2]=0;h[Qe+($e<<2)>>2]=-28;h[Je+($e<<2)>>2]=-28;i=i+1|0}while(1){if((i|0)>=(rt|0))break;$e=f+i|0;h[Xe+($e<<2)>>2]=0;h[Qe+($e<<2)>>2]=-28;h[Je+($e<<2)>>2]=-28;i=i+1|0}u=u+1|0}while((u|0)<(et|0));f=e+116|0;if(!(ue|ve))i=0;else i=(s[f>>2]|0)+1|0;s[f>>2]=i;s[P>>2]=s[fe>>2];li(Ve);e=(s[se>>2]|0)==0?B:-3;qe(Ge|0);l=nt;return e|0}function Qt(e,t,i,r,n,a,o,f,c,u,d){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;a=a|0;o=o|0;f=f|0;c=c|0;u=u|0;d=d|0;var p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0;B=l;l=l+16|0;L=B+8|0;v=B;k=s[e>>2]|0;O=s[k+4>>2]|0;m=n+1024|0;D=(te(m,r)|0)<<2;N=l;l=l+((1*D|0)+15&-16)|0;s[L>>2]=N;s[L+4>>2]=N+(m<<2);N=O+n|0;D=n<<2;p=0;do{P=s[L+(p<<2)>>2]|0;Mn(P|0,i+(p<<10<<2)|0,4096)|0;Mn(P+4096|0,t+((te(p,N)|0)<<2)+(O<<2)|0,D|0)|0;p=p+1|0}while((p|0)<(r|0));if(!u){s[v>>2]=15;P=e+104|0;C=15;_=0}else{g=Ne()|0;p=l;l=l+((1*(m>>1<<2)|0)+15&-16)|0;bi(L,p,m,r);wi(p+2048|0,p,n,979,v);s[v>>2]=1024-(s[v>>2]|0);u=e+104|0;b=+vi(p,n,v,s[u>>2]|0,+h[e+108>>2]);p=s[v>>2]|0;if((p|0)>1022){s[v>>2]=1022;p=1022}_=b*.699999988079071;I=s[e+56>>2]|0;_=(I|0)>2?_*.5:_;qe(g|0);P=u;C=p;_=(I|0)>8?0:(I|0)>4?_*.5:_}m=s[P>>2]|0;I=C-m|0;b=(((I|0)>-1?I:0-I|0)*10|0)>(C|0)?.4000000059604645:.20000000298023224;if((d|0)>=25){if((d|0)<35)y=11}else{b=b+.10000000149011612;y=11}if((y|0)==11)b=b+.10000000149011612;I=e+108|0;w=+h[I>>2];b=w>.4000000059604645?b+-.10000000149011612:b;b=w>.550000011920929?b+-.10000000149011612:b;if(_<(b>.20000000298023224?b:.20000000298023224)){w=0;R=0;p=0}else{u=+q(+(_-w))<.10000000149011612;u=~~+z(+((u?w:_)*32/3+.5));p=u+-1|0;if((p|0)<=7)if((u|0)<1)p=0;else y=15;else{p=7;y=15}w=+(p+1|0)*.09375;R=1}M=k+44|0;T=O<<2;b=-w;x=e+112|0;k=k+60|0;E=(n|0)>1024;A=1024-n<<2;S=0-n|0;u=0;while(1){d=s[M>>2]|0;y=d-O|0;s[P>>2]=(m|0)>15?m:15;m=t+((te(u,N)|0)<<2)|0;g=e+212+((te(u,O)|0)<<2)|0;Mn(m|0,g|0,T|0)|0;if((d|0)==(O|0))d=s[L+(u<<2)>>2]|0;else{d=s[L+(u<<2)>>2]|0;U=s[P>>2]|0;_=-+h[I>>2];v=s[x>>2]|0;As(m+(O<<2)|0,d+4096|0,U,U,y,_,_,v,v,0,0)}v=d+4096|0;As(m+(O<<2)+(y<<2)|0,v+(y<<2)|0,s[P>>2]|0,C,n-y|0,-+h[I>>2],b,s[x>>2]|0,a,s[k>>2]|0,O);Mn(g|0,m+(n<<2)|0,T|0)|0;m=i+(u<<10<<2)|0;if(E)Mn(m|0,d+(n<<2)|0,4096)|0;else{Tn(m|0,m+(n<<2)|0,A|0)|0;Mn(m+4096+(S<<2)|0,v|0,D|0)|0}u=u+1|0;if((u|0)>=(r|0))break;m=s[P>>2]|0}h[f>>2]=w;s[o>>2]=C;s[c>>2]=p;l=B;return R|0}function ei(e,t,i,r,n){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;var o=0,f=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0;E=l;p=l;l=l+((1*(t<<2)|0)+15&-16)|0;b=(t|0)/2|0;m=+(b|0);w=+(b|0);g=b+-5|0;v=(b*6|0)+-102|0;_=0;y=0;while(1){if((_|0)>=(i|0))break;c=te(_,t)|0;u=0;o=0;f=0;while(1){if((u|0)>=(t|0))break;A=+h[e+(u+c<<2)>>2];d=o+A;h[p+(u<<2)>>2]=d;u=u+1|0;o=f+d-A*2;f=A-d*.5}c=p;u=c+48|0;do{s[c>>2]=0;c=c+4|0}while((c|0)<(u|0));c=0;d=0;o=0;while(1){if((c|0)>=(b|0)){c=b;f=0;break}u=c<<1;A=+h[p+(u<<2)>>2];f=+h[p+((u|1)<<2)>>2];f=A*A+f*f;A=o+(f-o)*.0625;h[p+(c<<2)>>2]=A;c=c+1|0;d=d+f;o=A}e:while(1){u=c;o=f;while(1){c=u+-1|0;if((u|0)<=0)break e;u=p+(c<<2)|0;o=o+(+h[u>>2]-o)*.125;h[u>>2]=o;if(f>o)u=c;else{f=o;continue e}}}o=w/(+H(+(d*f*.5*m))+1.0000000036274937e-15)*64;c=12;u=0;while(1){if((c|0)>=(g|0))break;A=+z(+(o*(+h[p+(c<<2)>>2]+1.0000000036274937e-15)));M=A>127;S=A<0&(M^1);c=c+4|0;u=u+(a[28075+~~(S|M?S?0:127:A)>>0]|0)|0}c=(u<<8|0)/(v|0)|0;if((c|0)>(y|0))s[n>>2]=_;else c=y;_=_+1|0;y=c}c=(y|0)>200&1;o=+H(+ +(y*27|0))+-42;if(!(o<0))if(o>163)f=163;else k=20;else{o=0;k=20}if((k|0)==20)f=o;if(f*.006899999920278788+-.139<0){A=0;A=+H(+A);h[r>>2]=A;l=E;return c|0}A=(o>163?163:o)*.006899999920278788+-.139;A=+H(+A);h[r>>2]=A;l=E;return c|0}function ti(e,t,i,r,n,a,o,f){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;a=a|0;o=o|0;f=f|0;var c=0,l=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0;m=s[e+4>>2]|0;b=(t|0)==0;v=s[e+44>>2]<<(b?o:0);g=b?1:t;b=(s[e+36>>2]|0)-(b?o:0)|0;p=e+64|0;w=te(g,v)|0;d=w+m|0;t=e+60|0;u=0;do{o=i+((te(u,d)|0)<<2)|0;e=te(te(u,v)|0,g)|0;c=0;while(1){if((c|0)>=(g|0))break;_=o+((te(c,v)|0)<<2)|0;di(p,_,r+(c+e<<2)|0,s[t>>2]|0,m,b,g);c=c+1|0}u=u+1|0}while((u|0)<(a|0));e:do if((a|0)==2&(n|0)==1){t=0;while(1){if((t|0)>=(w|0))break e;_=r+(t<<2)|0;h[_>>2]=+h[_>>2]*.5+ +h[r+(w+t<<2)>>2]*.5;t=t+1|0}}while(0);if((f|0)==1)return;u=(w|0)/(f|0)|0;l=+(f|0);t=w-u<<2;e=0;do{o=te(te(e,g)|0,v)|0;c=0;while(1){if((c|0)>=(u|0))break;_=r+(o+c<<2)|0;h[_>>2]=+h[_>>2]*l;c=c+1|0}kn(r+(o+u<<2)|0,0,t|0)|0;e=e+1|0}while((e|0)<(n|0));return}function ii(e,t,i,a,o,f,c,u,d,p){e=e|0;t=t|0;i=i|0;a=a|0;o=o|0;f=f|0;c=c|0;u=u|0;d=+d;p=p|0;var b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,H=0,G=0;F=l;l=l+16|0;D=F;O=.5-d;O=(O<-.25?-.25:O)*.03999999910593033;B=l;l=l+((1*(t<<2)|0)+15&-16)|0;P=s[e+32>>2]|0;L=t+-1|0;U=(n[P+(t<<1)>>1]|0)-(n[P+(L<<1)>>1]|0)<=(t|0))break;x=k+1|0;e=n[P+(k<<1)>>1]|0;R=(n[P+(x<<1)>>1]|0)-e|0;y=R<=(y|0))break;d=d+ +q(+ +h[I+(e<<2)>>2]);e=e+1|0}v=d+(N?0:+(u|0))*O*d;if(!(N|R)){Mn(C|0,I|0,c|0)|0;e=y>>u>>1;c=0;while(1){if((c|0)<(A|0))p=0;else{d=0;e=0;break}while(1){if((p|0)>=(e|0))break;g=C+((te(S,p)|0)+c<<2)|0;z=+h[g>>2]*.7071067690849304;_=C+(((p<<1|1)<>2]*.7071067690849304;h[g>>2]=z+d;h[_>>2]=z-d;p=p+1|0}c=c+1|0}while(1){if((e|0)>=(y|0))break;d=d+ +q(+ +h[C+(e<<2)>>2]);e=e+1|0}d=d+M*d;if(d=(((R|N^1)&1^1)+u|0))break;w=N?_+1|0:u-_+-1|0;e=1<<_;c=y>>_>>1;p=e<<1;b=0;while(1){if((b|0)<(e|0))m=0;else{v=0;e=0;break}while(1){if((m|0)>=(c|0))break;G=I+((te(p,m)|0)+b<<2)|0;v=+h[G>>2]*.7071067690849304;H=I+(((m<<1|1)<<_)+b<<2)|0;z=+h[H>>2]*.7071067690849304;h[G>>2]=v+z;h[H>>2]=v-z;m=m+1|0}b=b+1|0}while(1){if((e|0)>=(y|0))break;v=v+ +q(+ +h[I+(e<<2)>>2]);e=e+1|0}z=v+ +(w|0)*O*v;H=z>2]=c;if(!R){k=x;continue}if(!((c|0)==0|(c|0)==(T|0))){k=x;continue}s[e>>2]=c+-1;k=x}g=i<<2;w=0;while(1){if((w|0)==2)break;c=g+(w<<1)|0;e=27892+(u<<3)+c|0;c=(c|1)+(27892+(u<<3))|0;p=0;b=N?o:0;m=1;while(1){if((m|0)>=(t|0))break;f=b+o|0;H=p+o|0;G=s[B+(m<<2)>>2]|0;i=G-(r[e>>0]<<1)|0;G=G-(r[c>>0]<<1)|0;p=((p|0)<(f|0)?p:f)+((i|0)>-1?i:0-i|0)|0;b=((H|0)<(b|0)?H:b)+((G|0)>-1?G:0-G|0)|0;m=m+1|0}s[D+(w<<2)>>2]=(p|0)<(b|0)?p:b;w=w+1|0}w=N?0:(s[D+4>>2]|0)<(s[D>>2]|0)&1;p=g|w<<1;m=27892+(u<<3)+p|0;p=(p|1)+(27892+(u<<3))|0;b=0;e=N?o:0;c=1;while(1){if((c|0)>=(t|0))break;N=e+o|0;i=(b|0)<(N|0);s[U+(c<<2)>>2]=i&1^1;H=b+o|0;u=(H|0)<(e|0);s[j+(c<<2)>>2]=u&1^1;G=s[B+(c<<2)>>2]|0;D=G-(r[m>>0]<<1)|0;G=G-(r[p>>0]<<1)|0;b=(i?b:N)+((D|0)>-1?D:0-D|0)|0;e=(u?H:e)+((G|0)>-1?G:0-G|0)|0;c=c+1|0}c=(b|0)>=(e|0)&1;s[a+(L<<2)>>2]=c;e=t+-2|0;while(1){if((e|0)<=-1)break;G=s[((c|0)==1?j:U)+(e+1<<2)>>2]|0;s[a+(e<<2)>>2]=G;c=G;e=e+-1|0}l=F;return w|0}function ri(e,t,i,r,a,o,f,c,u,p,b,m,w,g,v,_,y,k){e=e|0;t=t|0;i=i|0;r=r|0;a=a|0;o=o|0;f=f|0;c=c|0;u=u|0;p=p|0;b=b|0;m=m|0;w=w|0;g=g|0;v=v|0;_=_|0;y=y|0;k=k|0;var E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0,V=0,W=0,K=0;V=l;F=te(o,i)|0;H=l;l=l+((1*(F<<2)|0)+15&-16)|0;z=l;l=l+((1*(F<<2)|0)+15&-16)|0;kn(f|0,0,i<<2|0)|0;E=+(9-c|0);c=0;while(1){if((c|0)>=(a|0)){u=0;E=-31.899999618530273;break}F=c+5|0;h[z+(c<<2)>>2]=+(n[u+(c<<1)>>1]|0)*.0625+.5+E-+h[17220+(c<<2)>>2]+ +(te(F,F)|0)*.006200000178068876;c=c+1|0}while(1){c=te(u,i)|0;A=0;q=E;while(1){if((A|0)>=(a|0))break;L=+h[e+(c+A<<2)>>2]-+h[z+(A<<2)>>2];A=A+1|0;q=q>L?q:L}u=u+1|0;if((u|0)>=(o|0))break;else E=q}if(!((v|0)>50&(g|0)>0&(y|0)==0)){G=0;s[_>>2]=G;l=V;return+q}B=a+-2|0;U=a+-1|0;F=0;c=0;while(1){M=te(F,i)|0;j=H+(M<<2)|0;S=t+(M<<2)|0;u=s[S>>2]|0;s[j>>2]=u;L=(s[d>>2]=u,+h[d>>2]);E=L;u=1;R=c;while(1){if((u|0)>=(a|0)){u=R;break}y=M+u|0;D=+h[t+(y<<2)>>2];y=D>+h[t+(y+-1<<2)>>2]+.5?u:R;D=E+1.5>2]=D;E=D;u=u+1|0;R=y}while(1){c=u+-1|0;if((u|0)<=0){y=2;break}y=j+(c<<2)|0;O=+h[y>>2];N=+h[j+(u<<2)>>2]+2;D=+h[t+(M+c<<2)>>2];A=N>2]=O<(A?N:D)?O:A?N:D;u=c}while(1){if((y|0)>=(B|0))break;A=j+(y<<2)|0;C=+h[A>>2];u=t+(M+y+-2<<2)|0;E=+h[u+8>>2];P=+h[u>>2];O=+h[u+4>>2];c=P>O;W=c?P:O;T=c?O:P;N=+h[u+12>>2];D=+h[u+16>>2];u=N>D;x=u?D:N;I=u?N:D;K=T>x;x=K?T:x;T=K?I:W;I=K?W:I;do if(E>T)if(TT+-1)E=C;else{W=c?P:O;T=c?O:P;x=u?D:N;I=u?N:D;K=T>x;x=K?T:x;T=K?I:W;I=K?W:I;do if(E>T)if(T>2]=E;y=y+1|0}x=+h[S+4>>2];K=L>x;E=K?x:L;x=K?L:x;T=+h[S+8>>2];if(!(x>2];h[j>>2]=T>x?T:x;K=j+4|0;T=+h[K>>2];h[K>>2]=T>x?T:x;K=t+(M+a+-3<<2)|0;x=+h[K>>2];T=+h[K+4>>2];M=x>T;E=M?T:x;T=M?x:T;x=+h[K+8>>2];if(!(T>2];h[c>>2]=L>W?L:W;c=j+(U<<2)|0;L=+h[c>>2];h[c>>2]=L>W?L:W;c=0;while(1){if((c|0)>=(a|0))break;K=j+(c<<2)|0;L=+h[K>>2];W=+h[z+(c<<2)>>2];h[K>>2]=L>W?L:W;c=c+1|0}F=F+1|0;if((F|0)>=(o|0))break;else c=R}e:do if((o|0)==2){c=r;while(1){if((c|0)>=(a|0)){c=r;break e}z=c+i|0;t=H+(z<<2)|0;W=+h[t>>2];K=H+(c<<2)|0;L=+h[K>>2]+-4;L=W>L?W:L;h[t>>2]=L;W=+h[K>>2];L=L+-4;L=W>L?W:L;h[K>>2]=L;L=+h[e+(c<<2)>>2]-L;W=+h[e+(z<<2)>>2]-+h[t>>2];h[K>>2]=((L<0?0:L)+(W<0?0:W))*.5;c=c+1|0}}else{c=r;while(1){if((c|0)>=(a|0)){c=r;break e}K=H+(c<<2)|0;W=+h[e+(c<<2)>>2]-+h[K>>2];h[K>>2]=W<0?0:W;c=c+1|0}}while(0);while(1){if((c|0)>=(a|0))break;K=H+(c<<2)|0;L=+h[K>>2];W=+h[k+(c<<2)>>2];h[K>>2]=L>W?L:W;c=c+1|0}R=(b|0)==0;e:do if((R|(m|0)!=0)&(p|0)==0){c=r;while(1){if((c|0)>=(a|0))break e;K=H+(c<<2)|0;h[K>>2]=+h[K>>2]*.5;c=c+1|0}}while(0);M=(v|0)/4|0;S=(m|0)==0;c=0;while(1){if((r|0)>=(a|0)){G=76;break}if((r|0)>=8){u=H+(r<<2)|0;E=+h[u>>2];if((r|0)>11){E=E*.5;h[u>>2]=E}}else{u=H+(r<<2)|0;E=+h[u>>2]*2;h[u>>2]=E}E=E<4?E:4;h[u>>2]=E;y=r+1|0;u=(te((n[w+(y<<1)>>1]|0)-(n[w+(r<<1)>>1]|0)|0,o)|0)<=6)if((u|0)>48){K=~~(E*8);A=K;u=((te(K,u)|0)<<3|0)/8|0;break}else{u=~~(E*+(u|0)/6);A=u;u=u*48|0;break}else{K=~~E;A=K;u=(te(K,u)|0)<<3}while(0);if(!((S|(p|0)!=0)&(R^1))?(c+u>>6|0)>(M|0):0)break;s[f+(r<<2)>>2]=A;r=y;c=c+u|0}if((G|0)==76){s[_>>2]=c;l=V;return+q}K=M<<6;s[f+(r<<2)>>2]=K-c;s[_>>2]=K;l=V;return+q}function ni(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,n=0,a=0,o=0;a=l;l=l+16|0;r=a;s[r>>2]=i;do switch(t|0){case 10010:{n=(s[r>>2]|0)+(4-1)&~(4-1);t=s[n>>2]|0;s[r>>2]=n+4;if((t|0)>=0?(t|0)<(s[(s[e>>2]|0)+8>>2]|0):0){s[e+20>>2]=t;t=25}else t=26;break}case 10012:{n=(s[r>>2]|0)+(4-1)&~(4-1);t=s[n>>2]|0;s[r>>2]=n+4;if((t|0)>=1?(t|0)<=(s[(s[e>>2]|0)+8>>2]|0):0){s[e+24>>2]=t;t=25}else t=26;break}case 10008:{n=(s[r>>2]|0)+(4-1)&~(4-1);t=s[n>>2]|0;s[r>>2]=n+4;if((t+-1|0)>>>0>1)t=26;else{s[e+12>>2]=t;t=25}break}case 10007:{n=(s[r>>2]|0)+(4-1)&~(4-1);t=s[n>>2]|0;s[r>>2]=n+4;if(!t)t=26;else{e=e+40|0;s[t>>2]=s[e>>2];s[e>>2]=0;t=25}break}case 4027:{n=(s[r>>2]|0)+(4-1)&~(4-1);t=s[n>>2]|0;s[r>>2]=n+4;if(!t)t=26;else{s[t>>2]=(s[e+4>>2]|0)/(s[e+16>>2]|0)|0;t=25}break}case 4028:{n=s[e+8>>2]|0;t=e+88+((te((s[e+4>>2]|0)+2048|0,n)|0)<<2)+(n*24<<2)|0;o=s[e>>2]|0;r=s[o+8>>2]|0;i=r<<1;t=t+(i<<2)|0;i=t+(i<<2)|0;kn(e+36|0,0,((te((s[o+4>>2]|0)+2048|0,n)|0)<<2)+88+(n*96|0)+(r<<5)+-36|0)|0;n=0;while(1){if((n|0)>=(r<<1|0))break;h[i+(n<<2)>>2]=-28;h[t+(n<<2)>>2]=-28;r=s[(s[e>>2]|0)+8>>2]|0;n=n+1|0}s[e+52>>2]=1;t=25;break}case 4033:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;if(!t)t=26;else{s[t>>2]=s[e+56>>2];t=25}break}case 10015:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;if(!t)t=26;else{s[t>>2]=s[e>>2];t=25}break}case 10016:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;s[e+28>>2]=t;t=25;break}case 4031:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;if(!t)t=26;else{s[t>>2]=s[e+36>>2];t=25}break}default:{l=a;return}}while(0);if((t|0)==25){l=a;return}else if((t|0)==26){l=a;return}}function si(e,t,i,o,f,c,u){e=e|0;t=t|0;i=i|0;o=o|0;f=f|0;c=c|0;u=u|0;var d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,G=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0,Q=0,ee=0,ie=0,ne=0,se=0,ae=0,oe=0,fe=0,he=0,ce=0,le=0,ue=0,de=0,pe=0,be=0,me=0,we=0,ge=0,ve=0,_e=0,ye=0,ke=0,Ee=0,Ae=0,Se=0,Me=0,Te=0,xe=0,Re=0,Ie=0,Ce=0,Pe=0;Pe=l;l=l+96|0;D=Pe;T=Pe+40|0;Q=Pe+32|0;Ce=Pe+24|0;ne=Pe+16|0;ie=Pe+12|0;ee=Pe+8|0;Se=s[e+8>>2]|0;s[ne>>2]=0;s[ie>>2]=0;ue=s[e+12>>2]|0;Re=s[e>>2]|0;ce=Re+8|0;Ie=s[ce>>2]|0;me=s[Re+4>>2]|0;le=Re+32|0;q=s[le>>2]|0;Me=s[e+20>>2]|0;Te=s[e+24>>2]|0;xe=e+16|0;ye=te(s[xe>>2]|0,f)|0;p=me+2048|0;ke=e+88+((te(p,Se)|0)<<2)+(Se*24<<2)|0;ge=Ie<<1;Ee=ke+(ge<<2)|0;Ae=Ee+(ge<<2)|0;we=Ae+(ge<<2)|0;be=Re+44|0;f=s[Re+36>>2]|0;de=0;while(1){if((de|0)>(f|0)){f=-1;L=268;break}if((s[be>>2]<>>0>1275|(o|0)==0){e=-1;l=Pe;return e|0}_e=s[be>>2]<>2]=ve;s[Ce+(d<<2)>>2]=ve+8192+(f<<2);d=d+1|0}while((d|0)<(Se|0));he=s[Re+12>>2]|0;he=(Te|0)>(he|0)?he:Te;if((t|0)==0|(i|0)<2){ai(e,_e,de);fi(Ce,o,_e,Se,s[xe>>2]|0,Re+16|0,e+80|0,u);e=(ye|0)/(s[xe>>2]|0)|0;l=Pe;return e|0}ve=e+48|0;s[e+52>>2]=(s[ve>>2]|0)!=0&1;e:do if(!c){s[T>>2]=t;s[T+4>>2]=i;s[T+8>>2]=0;s[T+12>>2]=0;s[T+16>>2]=0;v=T+20|0;s[v>>2]=9;_=T+24|0;s[_>>2]=0;y=T+28|0;s[y>>2]=128;if(!i){f=0;d=0}else{s[_>>2]=1;f=1;d=a[t>>0]|0}k=T+40|0;s[k>>2]=d;g=d>>>1^127;E=T+32|0;s[E>>2]=g;s[T+44>>2]=0;p=128;c=9;while(1){if(p>>>0>=8388609){c=T;break e}c=c+8|0;s[v>>2]=c;p=p<<8;s[y>>2]=p;if(f>>>0>>0){m=f+1|0;s[_>>2]=m;w=a[t+f>>0]|0}else{m=f;w=0}s[k>>2]=w;fe=((d<<8|w)>>>1&255|g<<8&2147483392)^255;s[E>>2]=fe;f=m;d=w;g=fe}}while(0);se=(ue|0)==1;e:do if(se){f=0;while(1){if((f|0)>=(Ie|0))break e;fe=ke+(f<<2)|0;P=+h[fe>>2];O=+h[ke+(Ie+f<<2)>>2];h[fe>>2]=P>O?P:O;f=f+1|0}}while(0);ae=i<<3;oe=c+20|0;f=s[oe>>2]|0;fe=c+28|0;w=s[fe>>2]|0;p=f+((re(w|0)|0)+-32)|0;if((p|0)<(ae|0))if((p|0)==1){k=c+32|0;p=s[k>>2]|0;m=w>>>15;E=p>>>0>>0;d=E&1;if(!E){p=p-m|0;s[k>>2]=p;m=w-m|0}s[fe>>2]=m;v=c+40|0;_=c+24|0;y=c+4|0;while(1){if(m>>>0>=8388609)break;f=f+8|0;s[oe>>2]=f;m=m<<8;s[fe>>2]=m;g=s[v>>2]|0;w=s[_>>2]|0;if(w>>>0<(s[y>>2]|0)>>>0){s[_>>2]=w+1;w=a[(s[c>>2]|0)+w>>0]|0}else w=0;s[v>>2]=w;X=((g<<8|w)>>>1&255|p<<8&2147483392)^255;s[k>>2]=X;p=X}if(E){p=m;L=31}else{d=0;p=1}}else{m=w;d=0}else{p=w;d=1;L=31}if((L|0)==31){f=f+(ae-(f+((re(p|0)|0)+-32)))|0;s[oe>>2]=f;m=p;p=ae}if((Me|0)!=0|(p+16|0)>(ae|0)){X=0;$=0;b=0}else{N=c+32|0;p=s[N>>2]|0;w=m>>>1;v=p>>>0>>0;if(!v){p=p-w|0;s[N>>2]=p;w=m-w|0}s[fe>>2]=w;R=c+40|0;I=c+24|0;C=c+4|0;while(1){if(w>>>0>=8388609)break;f=f+8|0;s[oe>>2]=f;w=w<<8;s[fe>>2]=w;g=s[R>>2]|0;m=s[I>>2]|0;if(m>>>0<(s[C>>2]|0)>>>0){s[I>>2]=m+1;m=a[(s[c>>2]|0)+m>>0]|0}else m=0;s[R>>2]=m;X=((g<<8|m)>>>1&255|p<<8&2147483392)^255;s[N>>2]=X;p=X}if(v){T=ci(c,6)|0;y=16<>2]|0;x=c+16|0;p=s[x>>2]|0;if(p>>>0>>0){v=c+8|0;g=s[C>>2]|0;_=p+8|0;_=p+(((_|0)>25?_:25)+-1-p&-8)|0;m=s[v>>2]|0;do{if(m>>>0>>0){w=m+1|0;s[v>>2]=w;m=w;w=a[(s[c>>2]|0)+(g-w)>>0]|0}else w=0;f=f|w<>>k;m=w-k|0;s[t>>2]=p;s[x>>2]=m;E=(s[oe>>2]|0)+k|0;s[oe>>2]=E;f=y+(f&(1<>>0<3){y=c+8|0;_=s[C>>2]|0;v=w+4-T|0;v=w+(T+((v|0)>25?v:25)+3-w&-8)+4|0;w=s[y>>2]|0;do{if(w>>>0<_>>>0){g=w+1|0;s[y>>2]=g;w=g;g=a[(s[c>>2]|0)+(_-g)>>0]|0}else g=0;p=p|g<>2]=p>>>3;s[x>>2]=m+-3;m=E+3|0;s[oe>>2]=m;w=s[fe>>2]|0;e:do if((m+((re(w|0)|0)+-32)+2|0)>(ae|0))p=0;else{v=s[N>>2]|0;_=w>>>2;p=-1;while(1){p=p+1|0;g=te(_,a[29345+p>>0]|0)|0;if(v>>>0>=g>>>0)break;else w=g}_=v-g|0;s[N>>2]=_;w=w-g|0;s[fe>>2]=w;while(1){if(w>>>0>=8388609)break e;m=m+8|0;s[oe>>2]=m;w=w<<8;s[fe>>2]=w;v=s[R>>2]|0;g=s[I>>2]|0;if(g>>>0<(s[C>>2]|0)>>>0){s[I>>2]=g+1;g=a[(s[c>>2]|0)+g>>0]|0}else g=0;s[R>>2]=g;X=((v<<8|g)>>>1&255|_<<8&2147483392)^255;s[N>>2]=X;_=X}}while(0);g=m;b=+(y+1|0)*.09375}else{g=f;b=0;f=0;p=0}X=f;$=p;f=g;m=w;p=g+((re(w|0)|0)+-32)|0}z=(de|0)>0;if(!((p+3|0)>(ae|0)|z^1)){k=c+32|0;p=s[k>>2]|0;w=m>>>3;E=p>>>0>>0;T=E&1;if(E)m=w;else{p=p-w|0;s[k>>2]=p;m=m-w|0}s[fe>>2]=m;v=c+40|0;_=c+24|0;y=c+4|0;while(1){if(m>>>0>=8388609)break;f=f+8|0;s[oe>>2]=f;m=m<<8;s[fe>>2]=m;g=s[v>>2]|0;w=s[_>>2]|0;if(w>>>0<(s[y>>2]|0)>>>0){s[_>>2]=w+1;w=a[(s[c>>2]|0)+w>>0]|0}else w=0;s[v>>2]=w;Z=((g<<8|w)>>>1&255|p<<8&2147483392)^255;s[k>>2]=Z;p=Z}p=f+((re(m|0)|0)+-32)|0;if(E)Y=pe;else L=72}else L=72;if((L|0)==72){T=0;Y=0}if((p+3|0)<=(ae|0)){k=c+32|0;p=s[k>>2]|0;w=m>>>3;_=p>>>0>>0;t=_&1;if(!_){p=p-w|0;s[k>>2]=p;w=m-w|0}s[fe>>2]=w;y=c+40|0;m=c+24|0;E=c+4|0;while(1){if(w>>>0>=8388609)break;f=f+8|0;s[oe>>2]=f;w=w<<8;s[fe>>2]=w;v=s[y>>2]|0;g=s[m>>2]|0;if(g>>>0<(s[E>>2]|0)>>>0){s[m>>2]=g+1;g=a[(s[c>>2]|0)+g>>0]|0}else g=0;s[y>>2]=g;Z=((v<<8|g)>>>1&255|p<<8&2147483392)^255;s[k>>2]=Z;p=Z}Z=D;s[Z>>2]=0;s[Z+4>>2]=0;if(_){f=k;p=y;w=c;Z=E;F=t;A=.149993896484375;S=0;v=D}else{g=E;f=k;p=y;w=c;v=D;L=83}}else{g=D;s[g>>2]=0;s[g+4>>2]=0;g=c+4|0;f=c+32|0;p=c+40|0;m=c+24|0;w=c;v=D;L=83}if((L|0)==83){Z=g;F=0;A=+h[17320+(de<<2)>>2];S=+h[17336+(de<<2)>>2]}D=s[Z>>2]<<3;L=c+36|0;j=Me;while(1){if((j|0)>=(Te|0))break;B=(j|0)<20;U=0;do{y=s[oe>>2]|0;N=s[fe>>2]|0;g=y+((re(N|0)|0)+-32)|0;_=D-g|0;e:do if((_|0)<=14){if((_|0)>1){k=s[f>>2]|0;E=N>>>2;t=-1;_=N;while(1){t=t+1|0;g=te(E,a[29345+t>>0]|0)|0;if(k>>>0>=g>>>0)break;else _=g}E=k-g|0;s[f>>2]=E;_=_-g|0;s[fe>>2]=_;g=y;while(1){if(_>>>0>=8388609)break;g=g+8|0;s[oe>>2]=g;_=_<<8;s[fe>>2]=_;k=s[p>>2]|0;y=s[m>>2]|0;if(y>>>0<(s[Z>>2]|0)>>>0){s[m>>2]=y+1;y=a[(s[w>>2]|0)+y>>0]|0}else y=0;s[p>>2]=y;K=((k<<8|y)>>>1&255|E<<8&2147483392)^255;s[f>>2]=K;E=K}g=t>>1^0-(t&1);break}if((D|0)>(g|0)){_=s[f>>2]|0;g=N>>>1;t=_>>>0>>0;if(!t){_=_-g|0;s[f>>2]=_;g=N-g|0}s[fe>>2]=g;while(1){if(g>>>0>=8388609)break;y=y+8|0;s[oe>>2]=y;g=g<<8;s[fe>>2]=g;E=s[p>>2]|0;k=s[m>>2]|0;if(k>>>0<(s[Z>>2]|0)>>>0){s[m>>2]=k+1;k=a[(s[w>>2]|0)+k>>0]|0}else k=0;s[p>>2]=k;K=((E<<8|k)>>>1&255|_<<8&2147483392)^255;s[f>>2]=K;_=K}g=t<<31>>31}else g=-1}else{x=(B?j:20)<<1;g=a[29009+(de*84|0)+(F*42|0)+x>>0]<<7;x=a[(x|1)+(29009+(de*84|0)+(F*42|0))>>0]<<6;I=N>>>15;s[L>>2]=I;C=s[f>>2]|0;R=(C>>>0)/(I>>>0)|0;K=R+1|0;R=32768-(K+(K>>>0>32768?32767-R|0:0))|0;if(R>>>0>>0){k=g;_=0;g=0}else{_=te(32736-g|0,16384-x|0)|0;E=1;while(1){K=_>>>15;k=K+1|0;if(!K)break;_=k<<1;t=g+_|0;if(R>>>0>>0)break;_=te(_+-2|0,x)|0;g=t;E=E+1|0}if(k>>>0<2){K=(R-g|0)>>>1;g=g+(K<<1)|0;E=E+K|0}_=g+k|0;K=R>>>0<_>>>0;_=K?g:_;g=K?0-E|0:E}k=_+k|0;k=k>>>0<32768?k:32768;K=te(I,32768-k|0)|0;t=C-K|0;s[f>>2]=t;k=te(I,k-_|0)|0;k=(_|0)==0?N-K|0:k;s[fe>>2]=k;_=y;while(1){if(k>>>0>=8388609)break e;_=_+8|0;s[oe>>2]=_;k=k<<8;s[fe>>2]=k;E=s[p>>2]|0;y=s[m>>2]|0;if(y>>>0<(s[Z>>2]|0)>>>0){s[m>>2]=y+1;y=a[(s[w>>2]|0)+y>>0]|0}else y=0;s[p>>2]=y;K=((E<<8|y)>>>1&255|t<<8&2147483392)^255;s[f>>2]=K;t=K}}while(0);O=+(g|0);W=ke+(j+(te(U,s[ce>>2]|0)|0)<<2)|0;P=+h[W>>2];h[W>>2]=P<-9?-9:P;W=ke+(j+(te(U,s[ce>>2]|0)|0)<<2)|0;K=v+(U<<2)|0;h[W>>2]=S*+h[W>>2]+ +h[K>>2]+O;h[K>>2]=+h[K>>2]+O-A*O;U=U+1|0}while((U|0)<(ue|0));j=j+1|0}K=Ne()|0;W=l;l=l+((1*(Ie<<2)|0)+15&-16)|0;j=s[Z>>2]|0;g=j<<3;_=s[oe>>2]|0;y=s[fe>>2]|0;E=_+((re(y|0)|0)+-32)|0;v=(T|0)!=0;k=v?2:4;if(z)N=(E+k+1|0)>>>0<=g>>>0;else N=0;C=g-(N&1)|0;I=v?4:5;x=0;R=Me;g=E;t=0;while(1){if((R|0)>=(Te|0))break;if((g+k|0)>>>0>C>>>0){E=x;v=t}else{v=s[f>>2]|0;g=y>>>k;V=v>>>0>>0;E=V&1;if(!V){v=v-g|0;s[f>>2]=v;g=y-g|0}s[fe>>2]=g;k=_;while(1){if(g>>>0>=8388609)break;k=k+8|0;s[oe>>2]=k;g=g<<8;s[fe>>2]=g;y=s[p>>2]|0;_=s[m>>2]|0;if(_>>>0>>0){s[m>>2]=_+1;_=a[(s[w>>2]|0)+_>>0]|0}else _=0;s[p>>2]=_;V=((y<<8|_)>>>1&255|v<<8&2147483392)^255;s[f>>2]=V;v=V}v=x^E;_=k;y=g;E=v;g=k+((re(g|0)|0)+-32)|0;v=t|v}s[W+(R<<2)>>2]=E;x=E;R=R+1|0;k=I;t=v}x=T<<2;if(N?(r[x+t+(27892+(de<<3))>>0]|0)!=(r[(x|2)+t+(27892+(de<<3))>>0]|0):0){v=s[f>>2]|0;g=y>>>1;V=v>>>0>>0;t=V&1;if(!V){v=v-g|0;s[f>>2]=v;g=y-g|0}s[fe>>2]=g;while(1){if(g>>>0>=8388609)break;_=_+8|0;s[oe>>2]=_;g=g<<8;s[fe>>2]=g;k=s[p>>2]|0;y=s[m>>2]|0;if(y>>>0>>0){s[m>>2]=y+1;y=a[(s[w>>2]|0)+y>>0]|0}else y=0;s[p>>2]=y;V=((k<<8|y)>>>1&255|v<<8&2147483392)^255;s[f>>2]=V;v=V}E=g;g=t<<1}else{E=y;g=0}g=x+g|0;v=Me;while(1){if((v|0)>=(Te|0))break;V=W+(v<<2)|0;s[V>>2]=r[g+(s[V>>2]|0)+(27892+(de<<3))>>0];v=v+1|0}e:do if((_+((re(E|0)|0)+-32)+4|0)>(ae|0)){g=_;v=E;t=2}else{y=s[f>>2]|0;k=E>>>5;t=-1;v=E;while(1){t=t+1|0;g=te(k,a[28203+t>>0]|0)|0;if(y>>>0>=g>>>0)break;else v=g}k=y-g|0;s[f>>2]=k;v=v-g|0;s[fe>>2]=v;g=_;while(1){if(v>>>0>=8388609)break e;g=g+8|0;s[oe>>2]=g;_=v<<8;s[fe>>2]=_;y=s[p>>2]|0;v=s[m>>2]|0;if(v>>>0>>0){s[m>>2]=v+1;v=a[(s[w>>2]|0)+v>>0]|0}else v=0;s[p>>2]=v;V=((y<<8|v)>>>1&255|k<<8&2147483392)^255;s[f>>2]=V;v=_;k=V}}while(0);U=l;l=l+((1*(Ie<<2)|0)+15&-16)|0;_=s[ce>>2]|0;y=(de<<1)+ue+-1|0;k=Re+104|0;E=0;while(1){if((E|0)>=(_|0))break;V=E+1|0;G=s[le>>2]|0;z=(te(_,y)|0)+E|0;s[U+(E<<2)>>2]=(te(te((a[(s[k>>2]|0)+z>>0]|0)+64|0,ue)|0,(n[G+(V<<1)>>1]|0)-(n[G+(E<<1)>>1]|0)<>2;E=V}B=l;l=l+((1*(Ie<<2)|0)+15&-16)|0;z=i<<6;G=32-(re(v|0)|0)|0;V=v>>>(G+-16|0);k=(V>>>12)+-8|0;x=g;D=6;L=Me;g=(g<<3)-((G<<3)+(k+(V>>>0>(s[5272+(k<<2)>>2]|0)>>>0&1)))|0;k=z;while(1){ -if((L|0)>=(Te|0))break;N=L+1|0;R=(te(ue,(n[q+(N<<1)>>1]|0)-(n[q+(L<<1)>>1]|0)|0)|0)<=(C|0))break;if((x|0)>=(s[I>>2]|0))break;g=s[f>>2]|0;y=v>>>y;E=g>>>0>>0;if(E)v=y;else{g=g-y|0;s[f>>2]=g;v=v-y|0}s[fe>>2]=v;while(1){if(v>>>0>=8388609)break;_=_+8|0;s[oe>>2]=_;v=v<<8;s[fe>>2]=v;k=s[p>>2]|0;y=s[m>>2]|0;if(y>>>0>>0){s[m>>2]=y+1;y=a[(s[w>>2]|0)+y>>0]|0}else y=0;s[p>>2]=y;V=((k<<8|y)>>>1&255|g<<8&2147483392)^255;s[f>>2]=V;g=V}G=32-(re(v|0)|0)|0;V=v>>>(G+-16|0);g=(V>>>12)+-8|0;g=(_<<3)-((G<<3)+(g+(V>>>0>(s[5272+(g<<2)>>2]|0)>>>0&1)))|0;if(!E)break;x=x+R|0;y=1;C=C-R|0}s[B+(L<<2)>>2]=x;if((x|0)<=0){x=_;L=N;k=C;continue}x=_;D=(D|0)<3?2:D+-1|0;L=N;k=C}i=l;l=l+((1*(Ie<<2)|0)+15&-16)|0;e:do if((g+48|0)>(k|0)){p=x;f=v;m=5}else{_=s[f>>2]|0;y=v>>>7;E=-1;while(1){E=E+1|0;g=te(y,a[28207+E>>0]|0)|0;if(_>>>0>=g>>>0)break;else v=g}k=_-g|0;s[f>>2]=k;v=v-g|0;s[fe>>2]=v;g=x;while(1){if(v>>>0>=8388609){p=g;f=v;m=E;break e}g=g+8|0;s[oe>>2]=g;_=v<<8;s[fe>>2]=_;y=s[p>>2]|0;v=s[m>>2]|0;if(v>>>0>>0){s[m>>2]=v+1;v=a[(s[w>>2]|0)+v>>0]|0}else v=0;s[p>>2]=v;V=((y<<8|v)>>>1&255|k<<8&2147483392)^255;s[f>>2]=V;v=_;k=V}}while(0);G=32-(re(f|0)|0)|0;V=f>>>(G+-16|0);f=(V>>>12)+-8|0;f=z+((G<<3)+(f+(V>>>0>(s[5272+(f<<2)>>2]|0)>>>0&1))-(p<<3))+-1|0;V=(T|0)==0;if((de|0)>1&(V^1))I=(f|0)>=((de<<3)+16|0);else I=0;C=I?8:0;G=l;l=l+((1*(Ie<<2)|0)+15&-16)|0;j=l;l=l+((1*(Ie<<2)|0)+15&-16)|0;R=Ti(Re,Me,Te,B,U,m,ne,ie,f-C|0,ee,G,i,j,ue,de,c,0,0,0)|0;N=c+12|0;D=c+16|0;L=c+8|0;x=Me;while(1){if((x|0)>=(Te|0))break;y=s[i+(x<<2)>>2]|0;if((y|0)>=1){k=(1<>2]|0;f=s[D>>2]|0;E=0;do{if(f>>>0>>0){v=f+8|0;_=((v|0)>25?v:25)+-1-f&-8;p=m;do{m=s[L>>2]|0;g=s[Z>>2]|0;if(m>>>0>>0){m=m+1|0;s[L>>2]=m;m=a[(s[w>>2]|0)+(g-m)>>0]|0}else m=0;p=p|m<>>y;f=f-y|0;s[N>>2]=m;s[D>>2]=f;s[oe>>2]=(s[oe>>2]|0)+y;q=ke+(x+(te(E,s[ce>>2]|0)|0)<<2)|0;h[q>>2]=+h[q>>2]+((+(p&k|0)+.5)*A*6103515625e-14+-.5);E=E+1|0}while((E|0)<(ue|0))}x=x+1|0}f=2048-_e+((me|0)/2|0)<<2;p=0;do{q=s[Q+(p<<2)>>2]|0;Tn(q|0,q+(_e<<2)|0,f|0)|0;p=p+1|0}while((p|0)<(Se|0));U=te(ue,Ie)|0;B=l;l=l+((1*U|0)+15&-16)|0;q=(te(ue,_e)|0)<<2;F=l;l=l+((1*q|0)+15&-16)|0;q=e+36|0;sr(0,Re,Me,Te,F,(ue|0)==2?F+(_e<<2)|0:0,B,0,G,Y,t,s[ie>>2]|0,s[ne>>2]|0,W,z-C|0,s[ee>>2]|0,c,de,R,q,0,s[e+32>>2]|0);if(I){p=s[N>>2]|0;f=s[D>>2]|0;if(!f){g=s[Z>>2]|0;m=s[L>>2]|0;v=0;do{if(m>>>0>>0){f=m+1|0;s[L>>2]=f;m=f;f=a[(s[w>>2]|0)+(g-f)>>0]|0}else f=0;p=p|f<>2]=p>>>1;s[D>>2]=f+-1;f=(s[oe>>2]|0)+1|0;s[oe>>2]=f;t=p&1}else{f=s[oe>>2]|0;t=0}p=ae-(f+((re(s[fe>>2]|0)|0)+-32))|0;E=0;while(1){if((E|0)==2)break;else k=Me;while(1){if(!((k|0)<(Te|0)&(p|0)>=(ue|0)))break;m=s[i+(k<<2)>>2]|0;do if((m|0)<=7){if((s[j+(k<<2)>>2]|0)!=(E|0))break;A=+(1<<14-m+-1|0);g=s[D>>2]|0;v=s[N>>2]|0;y=0;do{if(!g){_=0;while(1){m=s[L>>2]|0;g=s[Z>>2]|0;if(m>>>0>>0){m=m+1|0;s[L>>2]=m;m=a[(s[w>>2]|0)+(g-m)>>0]|0}else m=0;m=v|m<<_;_=_+8|0;if((_|0)>=25){g=32;break}else v=m}}else m=v;v=m>>>1;g=g+-1|0;s[N>>2]=v;s[D>>2]=g;f=f+1|0;s[oe>>2]=f;ne=ke+(k+(te(y,s[ce>>2]|0)|0)<<2)|0;h[ne>>2]=+h[ne>>2]+(+(m&1|0)+-.5)*A*6103515625e-14;p=p+-1|0;y=y+1|0}while((y|0)<(ue|0))}while(0);k=k+1|0}E=E+1|0}e:do if(t|0){_=(de|0)==3;f=s[q>>2]|0;x=Me;t:while(1){if((x|0)>=(Te|0))break e;y=x+1|0;k=s[le>>2]|0;k=(n[k+(y<<1)>>1]|0)-(n[k+(x<<1)>>1]|0)|0;P=+J(+(+(((((s[G+(x<<2)>>2]|0)+1|0)>>>0)/(k>>>0)|0)>>>de|0)*-.125*.6931471805599453))*.5;E=k<>2]|0;w=(te(p,m)|0)+x|0;S=+h[Ee+(w<<2)>>2];A=+h[Ae+(w<<2)>>2];do if(se){ne=m+x|0;M=+h[Ee+(ne<<2)>>2];S=S>M?S:M;M=+h[Ae+(ne<<2)>>2];if(A>M)break;A=M}while(0);A=+h[ke+(w<<2)>>2]-(S>2]|0)+(x<<1)>>1]<=(pe|0))break;i:do if(!(a[g>>0]&1<=(k|0)){m=1;break i}ne=(te(f,1664525)|0)+1013904223|0;h[v+((m<>2]=(ne&32768|0)==0?S:A;f=ne;m=m+1|0}}while(0);w=w+1|0}i:do if(m|0){m=0;A=0;while(1){if((m|0)>=(E|0))break;M=+h[v+(m<<2)>>2];m=m+1|0;A=A+M*M}A=1/+H(+(A+1.0000000036274937e-15));w=0;m=v;while(1){if((w|0)>=(E|0))break i;h[m>>2]=A*+h[m>>2];w=w+1|0;m=m+4|0}}while(0);p=p+1|0;if((p|0)>=(ue|0)){x=y;continue t}}}}while(0);e:do if(d|0){f=0;while(1){if((f|0)>=(U|0))break e;h[ke+(f<<2)>>2]=-28;f=f+1|0}}while(0);oi(Re,F,Ce,ke,Me,he,ue,Se,T,de,s[xe>>2]|0,d);m=e+56|0;w=e+60|0;g=e+68|0;v=e+64|0;_=e+76|0;y=e+72|0;k=Re+60|0;f=(de|0)==0;p=0;do{de=s[m>>2]|0;de=(de|0)>15?de:15;s[m>>2]=de;ue=s[w>>2]|0;ue=(ue|0)>15?ue:15;s[w>>2]=ue;d=s[Ce+(p<<2)>>2]|0;As(d,d,ue,de,s[be>>2]|0,+h[g>>2],+h[v>>2],s[_>>2]|0,s[y>>2]|0,s[k>>2]|0,me);if(!f){de=s[be>>2]|0;ue=d+(de<<2)|0;As(ue,ue,s[m>>2]|0,X,_e-de|0,+h[v>>2],b,s[y>>2]|0,$,s[k>>2]|0,me)}p=p+1|0}while((p|0)<(Se|0));s[w>>2]=s[m>>2];s[g>>2]=s[v>>2];s[_>>2]=s[y>>2];s[m>>2]=X;h[v>>2]=b;s[y>>2]=$;if(!f){s[w>>2]=X;h[g>>2]=b;s[_>>2]=$}if(se)Mn(ke+(Ie<<2)|0,ke|0,Ie<<2|0)|0;e:do if(V){f=Ie<<3;Mn(Ae|0,Ee|0,f|0)|0;Mn(Ee|0,ke|0,f|0)|0;b=(s[ve>>2]|0)<10?+(pe|0)*.0010000000474974513:1;f=0;while(1){if((f|0)>=(ge|0)){p=0;break e}me=we+(f<<2)|0;P=+h[me>>2]+b;O=+h[ke+(f<<2)>>2];h[me>>2]=P=(ge|0)){p=0;break e}we=Ee+(f<<2)|0;P=+h[we>>2];O=+h[ke+(f<<2)>>2];h[we>>2]=P=(Me|0)){f=Te;break}ge=d+f|0;h[ke+(ge<<2)>>2]=0;h[Ae+(ge<<2)>>2]=-28;h[Ee+(ge<<2)>>2]=-28;f=f+1|0}while(1){if((f|0)>=(Ie|0))break;ge=d+f|0;h[ke+(ge<<2)>>2]=0;h[Ae+(ge<<2)>>2]=-28;h[Ee+(ge<<2)>>2]=-28;f=f+1|0}p=p+1|0}while((p|0)!=2);s[q>>2]=s[fe>>2];fi(Ce,o,_e,Se,s[xe>>2]|0,Re+16|0,e+80|0,u);s[ve>>2]=0;if(((s[oe>>2]|0)+((re(s[fe>>2]|0)|0)+-32)|0)>(ae|0))f=-3;else{if(s[c+44>>2]|0)s[e+40>>2]=1;f=(ye|0)/(s[xe>>2]|0)|0}qe(K|0);e=f;l=Pe;return e|0}function ai(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,a=0,o=0,f=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,G=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0;Z=l;l=l+8512|0;c=Z+8504|0;f=Z+4408|0;Y=Z+4400|0;S=Z+4392|0;F=Z+296|0;j=Z+192|0;z=Z+96|0;q=Z;K=s[e+8>>2]|0;M=s[e>>2]|0;d=s[M+8>>2]|0;W=s[M+4>>2]|0;A=s[M+32>>2]|0;r=W+2048|0;U=0-t|0;a=0;do{V=e+88+((te(a,r)|0)<<2)|0;s[Y+(a<<2)>>2]=V;s[S+(a<<2)>>2]=V+8192+(U<<2);a=a+1|0}while((a|0)<(K|0));B=e+88+((te(r,K)|0)<<2)|0;k=B+(K*24<<2)|0;u=d<<1;u=k+(u<<2)+(u<<2)+(u<<2)|0;G=e+48|0;V=s[G>>2]|0;E=s[e+20>>2]|0;if((V|0)<5&(E|0)==0?(s[e+52>>2]|0)==0:0){L=(V|0)==0;if(L){bi(Y,f,2048,K);wi(f+1440|0,f,1328,620,c);D=720-(s[c>>2]|0)|0;s[e+44>>2]=D;N=1}else{N=.800000011920929;D=s[e+44>>2]|0}P=Ne()|0;O=l;l=l+((1*(W<<2)|0)+15&-16)|0;_=s[M+60>>2]|0;k=D<<1;E=(k|0)<1024;A=F+4096|0;i=2048-t|0;S=i<<2;M=1024-D|0;T=W+t|0;x=1024-t+M|0;R=i+-1|0;I=e+56|0;C=e+64|0;p=e+72|0;b=(W|0)/2|0;m=W+-1|0;v=0;do{g=s[Y+(v<<2)>>2]|0;r=0;while(1){if((r|0)==1024)break;s[F+(r<<2)>>2]=s[g+(r+1024<<2)>>2];r=r+1|0}if(L){Ai(F,j,_,W,24,1024);h[j>>2]=+h[j>>2]*1.000100016593933;r=1;while(1){if((r|0)==25)break;e=j+(r<<2)|0;w=+h[e>>2];y=+(r|0);h[e>>2]=w-w*6400000711437315e-20*y*y;r=r+1|0}_i(B+(v*24<<2)|0,j,24)}f=E?k:1024;r=2048-f+-1|0;a=0;while(1){if((a|0)==24)break;s[z+(a<<2)>>2]=s[g+(r-a<<2)>>2];a=a+1|0}c=A+(0-f<<2)|0;d=B+(v*24<<2)|0;yi(c,d,c,f,z);c=f>>1;u=1024-c|0;r=1024-f|0;o=1;w=1;a=0;while(1){if((a|0)>=(c|0))break;$=+h[F+(u+a<<2)>>2];y=+h[F+(r+a<<2)>>2];o=o+$*$;w=w+y*y;a=a+1|0}w=+H(+((o=(T|0)){r=0;break}e=(a|0)<(D|0);$=e?o:o*w;e=a-(e?0:D)|0;h[g+(i+r<<2)>>2]=$*+h[F+(M+e<<2)>>2];X=+h[g+(x+e<<2)>>2];y=y+X*X;o=$;r=r+1|0;a=e+1|0}while(1){if((r|0)==24)break;s[q+(r<<2)>>2]=s[g+(R-r<<2)>>2];r=r+1|0}a=g+8192|0;r=a+(U<<2)|0;Ei(r,d,r,T,q);o=0;r=0;while(1){if((r|0)>=(T|0))break;X=+h[g+(i+r<<2)>>2];o=o+X*X;r=r+1|0}e:do if(y>o*.20000000298023224){if(y=(W|0)){r=W;break}e=g+(i+r<<2)|0;h[e>>2]=(1-+h[_+(r<<2)>>2]*o)*+h[e>>2];r=r+1|0}while(1){if((r|0)>=(T|0))break e;e=g+(i+r<<2)|0;h[e>>2]=w*+h[e>>2];r=r+1|0}}}else{r=0;while(1){if((r|0)>=(T|0))break e;h[g+(i+r<<2)>>2]=0;r=r+1|0}}while(0);e=s[I>>2]|0;X=-+h[C>>2];r=s[p>>2]|0;As(O,a,e,e,W,X,X,r,r,0,0);r=0;while(1){if((r|0)>=(b|0))break;h[g+(r+2048<<2)>>2]=+h[_+(r<<2)>>2]*+h[O+(m-r<<2)>>2]+ +h[_+(W-r+-1<<2)>>2]*+h[O+(r<<2)>>2];r=r+1|0}v=v+1|0}while((v|0)<(K|0));qe(P|0);Y=V+1|0;s[G>>2]=Y;l=Z;return}r=s[e+24>>2]|0;g=s[M+12>>2]|0;f=(r|0)<(g|0);g=(E|0)>((f?r:g)|0)?E:f?r:g;f=te(K,t)|0;v=Ne()|0;_=l;l=l+((1*(f<<2)|0)+15&-16)|0;o=(V|0)==0?1.5:.5;f=0;do{a=te(f,d)|0;c=E;while(1){if((c|0)>=(r|0))break;q=a+c|0;$=+h[u+(q<<2)>>2];q=k+(q<<2)|0;X=+h[q>>2]-o;h[q>>2]=$>X?$:X;c=c+1|0}f=f+1|0}while((f|0)<(K|0));p=e+36|0;m=0;r=s[p>>2]|0;while(1){if((m|0)>=(K|0))break;b=te(m,t)|0;a=E;e:while(1){if((a|0)>=(g|0))break;d=n[A+(a<<1)>>1]|0;c=b+(d<>1]|0)-d<=(d|0))break;q=(te(r,1664525)|0)+1013904223|0;h[_+(c+f<<2)>>2]=+(q>>20|0);f=f+1|0;r=q}u=_+(c<<2)|0;f=0;o=0;while(1){if((f|0)>=(d|0))break;X=+h[u+(f<<2)>>2];f=f+1|0;o=o+X*X}o=1/+H(+(o+1.0000000036274937e-15));c=0;f=u;while(1){if((c|0)>=(d|0))continue e;h[f>>2]=o*+h[f>>2];c=c+1|0;f=f+4|0}}m=m+1|0}s[p>>2]=r;r=2048-t+(W>>>1)<<2;a=0;do{W=s[Y+(a<<2)>>2]|0;Tn(W|0,W+(t<<2)|0,r|0)|0;a=a+1|0}while((a|0)<(K|0));oi(M,_,S,k,E,g,K,K,0,i,s[e+16>>2]|0,0);qe(v|0);Y=V+1|0;s[G>>2]=Y;l=Z;return}function oi(e,t,i,r,n,a,o,f,c,u,d,p){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;a=a|0;o=o|0;f=f|0;c=c|0;u=u|0;d=d|0;p=p|0;var b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0;x=l;M=s[e+4>>2]|0;v=s[e+8>>2]|0;_=e+44|0;w=s[_>>2]|0;k=w<>2]|0)-(E?u:0)|0;switch(f|0){case 2:{if((o|0)==1){nr(s[e+32>>2]|0,w,t,T,r,n,a,y,d,p);m=i+4|0;o=(s[m>>2]|0)+(((M|0)/2|0)<<2)|0;Mn(o|0,T|0,k<<2|0)|0;b=e+64|0;u=e+60|0;c=0;while(1){if((c|0)>=(A|0)){c=0;break}k=(s[i>>2]|0)+((te(S,c)|0)<<2)|0;pi(b,o+(c<<2)|0,k,s[u>>2]|0,M,E,A);c=c+1|0}while(1){if((c|0)>=(A|0))break;i=(s[m>>2]|0)+((te(S,c)|0)<<2)|0;pi(b,T+(c<<2)|0,i,s[u>>2]|0,M,E,A);c=c+1|0}l=x;return}break}case 1:{if((o|0)==2){u=(s[i>>2]|0)+(((M|0)/2|0)<<2)|0;c=e+32|0;nr(s[c>>2]|0,w,t,T,r,n,a,y,d,p);nr(s[c>>2]|0,s[_>>2]|0,t+(k<<2)|0,u,r+(v<<2)|0,n,a,y,d,p);c=0;while(1){if((c|0)>=(k|0))break;n=T+(c<<2)|0;h[n>>2]=+h[n>>2]*.5+ +h[u+(c<<2)>>2]*.5;c=c+1|0}o=e+64|0;c=e+60|0;u=0;while(1){if((u|0)>=(A|0))break;k=(s[i>>2]|0)+((te(S,u)|0)<<2)|0;pi(o,T+(u<<2)|0,k,s[c>>2]|0,M,E,A);u=u+1|0}l=x;return}break}default:{}}g=e+32|0;m=e+64|0;b=e+60|0;c=0;u=w;while(1){e=t+((te(c,k)|0)<<2)|0;o=r+((te(c,v)|0)<<2)|0;nr(s[g>>2]|0,u,e,T,o,n,a,y,d,p);u=i+(c<<2)|0;o=0;while(1){if((o|0)>=(A|0))break;e=(s[u>>2]|0)+((te(S,o)|0)<<2)|0;pi(m,T+(o<<2)|0,e,s[b>>2]|0,M,E,A);o=o+1|0}c=c+1|0;if((c|0)>=(f|0))break;u=s[_>>2]|0}l=x;return}function fi(e,t,i,r,n,a,o,f){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;a=a|0;o=o|0;f=f|0;var c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0;E=l;if((n|0)==1&(r|0)==2&(f|0)==0){p=+h[a>>2];b=s[e>>2]|0;f=s[e+4>>2]|0;a=o+4|0;c=0;u=+h[o>>2];d=+h[a>>2];while(1){if((c|0)>=(i|0))break;S=+h[b+(c<<2)>>2]+1.0000000031710769e-30+u;A=+h[f+(c<<2)>>2]+1.0000000031710769e-30+d;e=c<<1;h[t+(e<<2)>>2]=S*30517578125e-15;h[t+((e|1)<<2)>>2]=A*30517578125e-15;c=c+1|0;u=S*p;d=A*p}h[o>>2]=u;h[a>>2]=d;l=E;return}y=Ne()|0;k=l;l=l+((1*(i<<2)|0)+15&-16)|0;d=+h[a>>2];w=(i|0)/(n|0)|0;g=(n|0)>1;f=0;v=0;do{c=o+(v<<2)|0;u=+h[c>>2];b=s[e+(v<<2)>>2]|0;m=t+(v<<2)|0;if(!g){a=0;while(1){if((a|0)>=(i|0))break;S=+h[b+(a<<2)>>2]+1.0000000031710769e-30+u;h[m+((te(a,r)|0)<<2)>>2]=S*30517578125e-15;a=a+1|0;u=d*S}h[c>>2]=u;if(!f)f=0;else _=14}else{f=0;while(1){if((f|0)>=(i|0))break;S=+h[b+(f<<2)>>2]+1.0000000031710769e-30+u;h[k+(f<<2)>>2]=S;f=f+1|0;u=d*S}h[c>>2]=u;f=1;_=14}e:do if((_|0)==14){_=0;a=0;while(1){if((a|0)>=(w|0))break e;h[m+((te(a,r)|0)<<2)>>2]=+h[k+((te(a,n)|0)<<2)>>2]*30517578125e-15;a=a+1|0}}while(0);v=v+1|0}while((v|0)<(r|0));qe(y|0);l=E;return}function hi(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var n=0,o=0,f=0,h=0,c=0,l=0,u=0,d=0;n=s[e+36>>2]|0;r=te(n,r-i|0)|0;d=e+32|0;o=(s[d>>2]|0)-r|0;s[d>>2]=o;if(!t){l=e+28|0;u=l;r=(s[l>>2]|0)-r|0}else{u=e+28|0;r=te(n,i-t|0)|0}s[u>>2]=r;f=e+20|0;h=e+40|0;c=e+24|0;l=e+4|0;t=o;while(1){if(r>>>0>=8388609)break;s[f>>2]=(s[f>>2]|0)+8;r=r<<8;s[u>>2]=r;i=s[h>>2]|0;n=s[c>>2]|0;if(n>>>0<(s[l>>2]|0)>>>0){s[c>>2]=n+1;n=a[(s[e>>2]|0)+n>>0]|0}else n=0;s[h>>2]=n;o=((i<<8|n)>>>1&255|t<<8&2147483392)^255;s[d>>2]=o;t=o}return}function ci(e,t){e=e|0;t=t|0;var i=0,r=0,n=0,o=0,f=0,h=0,c=0,l=0,u=0,d=0,p=0;p=t+-1|0;i=32-(re(p|0)|0)|0;if((i|0)<=8){u=e+28|0;h=s[u>>2]|0;o=(h>>>0)/(t>>>0)|0;s[e+36>>2]=o;d=e+32|0;l=s[d>>2]|0;c=((l>>>0)/(o>>>0)|0)+1|0;c=c>>>0>t>>>0?t:c;i=t-c|0;f=te(o,t-(i+1)|0)|0;l=l-f|0;s[d>>2]=l;t=(c|0)==(t|0)?h-f|0:o;s[u>>2]=t;o=e+20|0;f=e+40|0;h=e+24|0;c=e+4|0;while(1){if(t>>>0>=8388609)break;s[o>>2]=(s[o>>2]|0)+8;t=t<<8;s[u>>2]=t;n=s[f>>2]|0;r=s[h>>2]|0;if(r>>>0<(s[c>>2]|0)>>>0){s[h>>2]=r+1;r=a[(s[e>>2]|0)+r>>0]|0}else r=0;s[f>>2]=r;p=((n<<8|r)>>>1&255|l<<8&2147483392)^255;s[d>>2]=p;l=p}return i|0}d=i+-8|0;l=(p>>>d)+1|0;c=((s[e+28>>2]|0)>>>0)/(l>>>0)|0;s[e+36>>2]=c;c=(((s[e+32>>2]|0)>>>0)/(c>>>0)|0)+1|0;c=l-(l>>>0>>0?l:c)|0;hi(e,c,c+1|0,l);c=c<>2]|0;u=e+16|0;t=s[u>>2]|0;if(t>>>0>>0){f=e+8|0;o=s[e+4>>2]|0;h=t+8|0;h=t+(((h|0)>25?h:25)+-1-t&-8)|0;r=s[f>>2]|0;do{if(r>>>0>>0){n=r+1|0;s[f>>2]=n;r=n;n=a[(s[e>>2]|0)+(o-n)>>0]|0}else n=0;i=i|n<>2]=i>>>d;s[u>>2]=t-d;u=e+20|0;s[u>>2]=(s[u>>2]|0)+d;i=c|i&(1<>>0<=p>>>0){e=i;return e|0}s[e+44>>2]=1;e=p;return e|0}function li(e){e=e|0;var t=0,i=0,n=0,o=0,f=0,h=0,c=0,l=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0;g=s[e+28>>2]|0;o=re(g|0)|0;t=2147483647>>>o;i=s[e+32>>2]|0;n=i+t&~t;if((n|t)>>>0>=(i+g|0)>>>0){n=t>>>1;n=i+n&~n;o=o+1|0}u=e+36|0;d=e+40|0;w=e+24|0;p=e+8|0;b=e+4|0;g=e+44|0;m=o+7&-8;c=o;while(1){if((c|0)<=0)break;h=n>>>23;if((h|0)==255)s[u>>2]=(s[u>>2]|0)+1;else{f=n>>>31;t=s[d>>2]|0;if((t|0)>-1){i=s[w>>2]|0;if((i+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[w>>2]=i+1;r[(s[e>>2]|0)+i>>0]=t+f;t=0}else t=-1;s[g>>2]=s[g>>2]|t}t=s[u>>2]|0;if(t|0){f=f+255&255;do{i=s[w>>2]|0;if((i+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[w>>2]=i+1;r[(s[e>>2]|0)+i>>0]=f;i=0;t=s[u>>2]|0}else i=-1;s[g>>2]=s[g>>2]|i;t=t+-1|0;s[u>>2]=t}while((t|0)!=0)}s[d>>2]=h&255}n=n<<8&2147483392;c=c+-8|0}i=s[d>>2]|0;if((i|0)>-1){t=s[w>>2]|0;if((t+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[w>>2]=t+1;r[(s[e>>2]|0)+t>>0]=i;t=0}else t=-1;s[g>>2]=s[g>>2]|t;t=s[u>>2]|0;if(!t)l=26;else l=23}else{t=s[u>>2]|0;if(t|0)l=23}if((l|0)==23)while(1){i=s[w>>2]|0;if((i+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[w>>2]=i+1;r[(s[e>>2]|0)+i>>0]=-1;i=0;t=s[u>>2]|0}else i=-1;s[g>>2]=s[g>>2]|i;t=t+-1|0;s[u>>2]=t;if(!t){l=26;break}else l=23}if((l|0)==26)s[d>>2]=0;h=s[e+16>>2]|0;f=h+~((h|0)<7?h:7)+8&-8;c=h;t=s[e+12>>2]|0;while(1){if((c|0)<=7)break;i=s[p>>2]|0;n=s[b>>2]|0;if(((s[w>>2]|0)+i|0)>>>0>>0){i=i+1|0;s[p>>2]=i;r[(s[e>>2]|0)+(n-i)>>0]=t;i=0}else i=-1;s[g>>2]=s[g>>2]|i;c=c+-8|0;t=t>>>8}f=h-f|0;if(s[g>>2]|0)return;d=s[w>>2]|0;kn((s[e>>2]|0)+d|0,0,(s[b>>2]|0)-d-(s[p>>2]|0)|0)|0;if((f|0)<=0)return;h=s[p>>2]|0;n=s[b>>2]|0;if(n>>>0<=h>>>0){s[g>>2]=-1;return}i=m-o|0;if((f|0)>(i|0)?((s[w>>2]|0)+h|0)>>>0>=n>>>0:0){s[g>>2]=-1;t=t&(1<>2]|0)+(n-h+-1)|0;r[e>>0]=a[e>>0]|0|t;return}function ui(e,t){e=e|0;t=t|0;var i=0,r=0,a=0,o=0,f=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0,V=0,W=0,K=0,Y=0,Z=0;R=l;l=l+32|0;x=R;T=s[e+8>>2]|0;T=(T|0)>0?T:0;s[x>>2]=1;i=1;r=0;while(1){a=r<<1;M=n[e+12+((a|1)<<1)>>1]|0;i=te(i,n[e+12+(a<<1)>>1]|0)|0;a=r+1|0;s[x+(a<<2)>>2]=i;if(M<<16>>16==1)break;else r=a}M=e+48|0;A=n[e+12+((a<<1)+-1<<1)>>1]|0;while(1){if((r|0)<=-1)break;i=r<<1;if(!r)S=1;else S=n[e+12+(i+-1<<1)>>1]|0;e:do switch(n[e+12+(i<<1)>>1]|0){case 2:{a=s[x+(r<<2)>>2]|0;i=t;o=0;while(1){if((o|0)>=(a|0))break e;E=i+32|0;y=+h[E>>2];A=i+36|0;_=+h[A>>2];c=+h[i>>2];h[E>>2]=c-y;E=i+4|0;k=+h[E>>2];h[A>>2]=k-_;h[i>>2]=c+y;h[E>>2]=k+_;E=i+40|0;_=+h[E>>2];A=i+44|0;k=+h[A>>2];y=(_+k)*.7071067690849304;_=(k-_)*.7071067690849304;v=i+8|0;k=+h[v>>2];h[E>>2]=k-y;E=i+12|0;c=+h[E>>2];h[A>>2]=c-_;h[v>>2]=k+y;h[E>>2]=c+_;E=i+52|0;_=+h[E>>2];v=i+48|0;c=+h[v>>2];A=i+16|0;y=+h[A>>2];h[v>>2]=y-_;v=i+20|0;k=+h[v>>2];h[E>>2]=k+c;h[A>>2]=y+_;h[v>>2]=k-c;v=i+60|0;c=+h[v>>2];A=i+56|0;k=+h[A>>2];_=(c-k)*.7071067690849304;k=(c+k)*-.7071067690849304;E=i+24|0;c=+h[E>>2];h[A>>2]=c-_;A=i+28|0;y=+h[A>>2];h[v>>2]=y-k;h[E>>2]=c+_;h[A>>2]=y+k;i=i+64|0;o=o+1|0}}case 4:{v=s[x+(r<<2)>>2]|0;d=v<=(v|0))break e;k=+h[i>>2];p=i+16|0;D=+h[p>>2];c=k-D;m=i+4|0;C=+h[m>>2];b=i+20|0;O=+h[b>>2];y=C-O;D=k+D;O=C+O;w=i+8|0;C=+h[w>>2];E=i+24|0;k=+h[E>>2];N=C+k;g=i+12|0;I=+h[g>>2];A=i+28|0;_=+h[A>>2];P=I+_;h[p>>2]=D-N;h[b>>2]=O-P;h[i>>2]=D+N;h[m>>2]=O+P;k=C-k;_=I-_;h[w>>2]=c+_;h[g>>2]=y-k;h[E>>2]=c-_;h[A>>2]=y+k;i=i+32|0;a=a+1|0}}a=A<<1;o=A*3|0;f=d<<1;u=d*3|0;p=0;while(1){if((p|0)>=(v|0))break e;i=t+((te(p,S)|0)<<3)|0;g=s[M>>2]|0;b=0;m=g;w=g;while(1){if((b|0)>=(A|0))break;U=i+(A<<3)|0;I=+h[U>>2];_=+h[m>>2];B=i+(A<<3)+4|0;C=+h[B>>2];k=+h[m+4>>2];c=I*_-C*k;_=I*k+C*_;z=i+(a<<3)|0;C=+h[z>>2];k=+h[w>>2];F=i+(a<<3)+4|0;I=+h[F>>2];O=+h[w+4>>2];y=C*k-I*O;k=C*O+I*k;L=i+(o<<3)|0;I=+h[L>>2];O=+h[g>>2];E=i+(o<<3)+4|0;C=+h[E>>2];P=+h[g+4>>2];D=I*O-C*P;O=I*P+C*O;C=+h[i>>2];P=C-y;j=i+4|0;I=+h[j>>2];N=I-k;y=C+y;h[i>>2]=y;k=I+k;h[j>>2]=k;I=c+D;C=_+O;D=c-D;O=_-O;h[z>>2]=y-I;h[F>>2]=k-C;h[i>>2]=+h[i>>2]+I;h[j>>2]=+h[j>>2]+C;h[U>>2]=P+O;h[B>>2]=N-D;h[L>>2]=P-O;h[E>>2]=N+D;i=i+8|0;b=b+1|0;m=m+(d<<3)|0;w=w+(f<<3)|0;g=g+(u<<3)|0}p=p+1|0}}case 3:{a=s[x+(r<<2)>>2]|0;o=a<>2]|0)+(u<<3)+4>>2];u=o<<1;d=0;while(1){if((d|0)>=(a|0))break e;i=t+((te(d,S)|0)<<3)|0;m=s[M>>2]|0;p=A;b=m;while(1){F=i+(A<<3)|0;P=+h[F>>2];C=+h[b>>2];z=i+(A<<3)+4|0;k=+h[z>>2];N=+h[b+4>>2];I=P*C-k*N;C=P*N+k*C;U=i+(f<<3)|0;k=+h[U>>2];N=+h[m>>2];j=i+(f<<3)+4|0;P=+h[j>>2];O=+h[m+4>>2];D=k*N-P*O;N=k*O+P*N;P=I+D;O=C+N;h[F>>2]=+h[i>>2]-P*.5;B=i+4|0;h[z>>2]=+h[B>>2]-O*.5;D=(I-D)*c;N=(C-N)*c;h[i>>2]=+h[i>>2]+P;h[B>>2]=+h[B>>2]+O;h[U>>2]=+h[F>>2]+N;h[j>>2]=+h[z>>2]-D;h[F>>2]=+h[F>>2]-N;h[z>>2]=+h[z>>2]+D;p=p+-1|0;if(!p)break;else{i=i+8|0;b=b+(o<<3)|0;m=m+(u<<3)|0}}d=d+1|0}}case 5:{i=s[x+(r<<2)>>2]|0;a=i<>2]|0;c=+h[o+(f<<3)>>2];_=+h[o+(f<<3)+4>>2];f=te(a<<1,A)|0;y=+h[o+(f<<3)>>2];k=+h[o+(f<<3)+4>>2];f=A<<1;u=A*3|0;d=A<<2;v=0;while(1){if((v|0)>=(i|0))break e;g=t+((te(v,S)|0)<<3)|0;p=g;b=g+(A<<3)|0;m=g+(f<<3)|0;w=g+(u<<3)|0;g=g+(d<<3)|0;E=0;while(1){if((E|0)>=(A|0))break;V=+h[p>>2];B=p+4|0;H=+h[B>>2];G=+h[b>>2];L=te(E,a)|0;P=+h[o+(L<<3)>>2];U=b+4|0;Y=+h[U>>2];Z=+h[o+(L<<3)+4>>2];N=G*P-Y*Z;P=G*Z+Y*P;Y=+h[m>>2];L=te(E<<1,a)|0;Z=+h[o+(L<<3)>>2];F=m+4|0;G=+h[F>>2];I=+h[o+(L<<3)+4>>2];K=Y*Z-G*I;Z=Y*I+G*Z;G=+h[w>>2];L=te(E*3|0,a)|0;I=+h[o+(L<<3)>>2];z=w+4|0;Y=+h[z>>2];O=+h[o+(L<<3)+4>>2];D=G*I-Y*O;I=G*O+Y*I;Y=+h[g>>2];L=te(E<<2,a)|0;O=+h[o+(L<<3)>>2];j=g+4|0;G=+h[j>>2];q=+h[o+(L<<3)+4>>2];C=Y*O-G*q;O=Y*q+G*O;G=N+C;q=P+O;C=N-C;O=P-O;P=K+D;N=Z+I;D=K-D;I=Z-I;h[p>>2]=V+(G+P);h[B>>2]=H+(q+N);Z=V+(G*c+P*y);K=H+(q*c+N*y);Y=O*_+I*k;W=C*_+D*k;h[b>>2]=Z-Y;h[U>>2]=K+W;h[g>>2]=Z+Y;h[j>>2]=K-W;P=V+(G*y+P*c);N=H+(q*y+N*c);O=I*_-O*k;D=C*k-D*_;h[m>>2]=P+O;h[F>>2]=N+D;h[w>>2]=P-O;h[z>>2]=N-D;p=p+8|0;b=b+8|0;m=m+8|0;w=w+8|0;g=g+8|0;E=E+1|0}v=v+1|0}}default:{}}while(0);r=r+-1|0;A=S}l=R;return}function di(e,t,i,r,a,o,f){e=e|0;t=t|0;i=i|0;r=r|0;a=a|0;o=o|0;f=f|0;var c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0;A=l;v=s[e+8+(o<<2)>>2]|0;_=+h[v+4>>2];c=s[e>>2]|0;u=0;E=s[e+24>>2]|0;while(1){k=c>>1;if((u|0)>=(o|0))break;c=k;u=u+1|0;E=E+(k<<2)|0}y=c>>2;e=l;l=l+((1*(k<<2)|0)+15&-16)|0;c=l;l=l+((1*(y<<3)|0)+15&-16)|0;o=a>>1;m=r+(o<<2)|0;w=a+3>>2;g=0-k|0;p=0;b=m;m=m+-4|0;d=t+(o<<2)|0;o=t+(k<<2)+-4+(o<<2)|0;u=e;while(1){if((p|0)>=(w|0))break;S=+h[m>>2];M=+h[b>>2];h[u>>2]=S*+h[d+(k<<2)>>2]+M*+h[o>>2];h[u+4>>2]=M*+h[d>>2]-S*+h[o+(g<<2)>>2];p=p+1|0;b=b+8|0;m=m+-8|0;d=d+8|0;o=o+-8|0;u=u+8|0}t=r+(a<<2)|0;b=y-w|0;while(1){if((p|0)>=(b|0))break;s[u>>2]=s[o>>2];s[u+4>>2]=s[d>>2];p=p+1|0;d=d+8|0;o=o+-8|0;u=u+8|0}m=p;b=r;p=t+-4|0;while(1){if((m|0)>=(y|0))break;h[u>>2]=+h[p>>2]*+h[o>>2]-+h[b>>2]*+h[d+(g<<2)>>2];h[u+4>>2]=+h[p>>2]*+h[d>>2]+ +h[b>>2]*+h[o+(k<<2)>>2];m=m+1|0;b=b+8|0;p=p+-8|0;d=d+8|0;o=o+-8|0;u=u+8|0}u=v+44|0;o=0;while(1){if((o|0)>=(y|0))break;T=+h[E+(o<<2)>>2];M=+h[E+(y+o<<2)>>2];S=+h[e>>2];x=+h[e+4>>2];g=n[(s[u>>2]|0)+(o<<1)>>1]|0;h[c+(g<<3)>>2]=_*(S*T-x*M);h[c+(g<<3)+4>>2]=_*(x*T+S*M);o=o+1|0;e=e+8|0}ui(v,c);d=f<<1;p=0-d|0;u=0;o=i;e=i+((te(k+-1|0,f)|0)<<2)|0;while(1){if((u|0)>=(y|0))break;T=+h[c+4>>2];M=+h[E+(y+u<<2)>>2];S=+h[c>>2];x=+h[E+(u<<2)>>2];h[o>>2]=T*M-S*x;h[e>>2]=S*M+T*x;c=c+8|0;u=u+1|0;o=o+(d<<2)|0;e=e+(p<<2)|0}l=A;return}function pi(e,t,i,r,a,o,f){e=e|0;t=t|0;i=i|0;r=r|0;a=a|0;o=o|0;f=f|0;var c=0,l=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0;c=s[e>>2]|0;l=0;w=s[e+24>>2]|0;while(1){m=c>>1;if((l|0)>=(o|0))break;c=m;l=l+1|0;w=w+(m<<2)|0}b=c>>2;g=t+((te(m+-1|0,f)|0)<<2)|0;c=i+(a>>1<<2)|0;p=s[e+8+(o<<2)>>2]|0;o=f<<1;f=0-o|0;u=s[p+44>>2]|0;d=0;l=t;e=g;while(1){if((d|0)>=(b|0))break;_=+h[e>>2];y=+h[w+(d<<2)>>2];k=+h[l>>2];v=+h[w+(b+d<<2)>>2];g=n[u>>1]<<1;h[c+((g|1)<<2)>>2]=_*y+k*v;h[c+(g<<2)>>2]=k*y-_*v;u=u+2|0;d=d+1|0;l=l+(o<<2)|0;e=e+(f<<2)|0}ui(p,c);o=b+1>>1;e=c+(m<<2)|0;f=0;while(1){l=e+-8|0;if((f|0)>=(o|0))break;g=c+4|0;A=+h[g>>2];_=+h[c>>2];k=+h[w+(f<<2)>>2];E=+h[w+(b+f<<2)>>2];t=e+-4|0;v=+h[t>>2];y=+h[l>>2];h[c>>2]=A*k+_*E;h[t>>2]=A*E-_*k;k=+h[w+(b-f+-1<<2)>>2];_=+h[w+(m-f+-1<<2)>>2];h[l>>2]=v*k+y*_;h[g>>2]=v*_-y*k;e=l;f=f+1|0;c=c+8|0}o=(a|0)/2|0;c=i+(a<<2)|0;l=r+(a<<2)|0;e=0;while(1){l=l+-4|0;c=c+-4|0;if((e|0)>=(o|0))break;A=+h[c>>2];k=+h[i>>2];E=+h[l>>2];y=+h[r>>2];h[i>>2]=E*k-y*A;h[c>>2]=y*k+E*A;e=e+1|0;r=r+4|0;i=i+4|0}return}function bi(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var n=0,a=0,o=0,f=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0;_=l;l=l+48|0;a=_+16|0;g=_;v=i>>1;i=1;while(1){if((i|0)>=(v|0))break;y=i<<1;k=s[e>>2]|0;h[t+(i<<2)>>2]=((+h[k+(y+-1<<2)>>2]+ +h[k+((y|1)<<2)>>2])*.5+ +h[k+(y<<2)>>2])*.5;i=i+1|0}k=s[e>>2]|0;h[t>>2]=(+h[k+4>>2]*.5+ +h[k>>2])*.5;if((r|0)==2){i=e+4|0;r=1;while(1){if((r|0)>=(v|0))break;y=r<<1;e=s[i>>2]|0;k=t+(r<<2)|0;h[k>>2]=+h[k>>2]+((+h[e+(y+-1<<2)>>2]+ +h[e+((y|1)<<2)>>2])*.5+ +h[e+(y<<2)>>2])*.5;r=r+1|0}k=s[i>>2]|0;h[t>>2]=+h[t>>2]+(+h[k+4>>2]*.5+ +h[k>>2])*.5}Ai(t,a,0,0,4,v);h[a>>2]=+h[a>>2]*1.000100016593933;i=1;while(1){if((i|0)==5)break;k=a+(i<<2)|0;m=+h[k>>2];w=+(i|0)*.00800000037997961;h[k>>2]=m-m*w*w;i=i+1|0}_i(g,a,4);i=0;n=1;while(1){if((i|0)==4)break;w=n*.8999999761581421;k=g+(i<<2)|0;h[k>>2]=+h[k>>2]*w;i=i+1|0;n=w}m=+h[g>>2];b=m+.800000011920929;w=+h[g+4>>2];m=w+m*.800000011920929;n=+h[g+8>>2];w=n+w*.800000011920929;o=+h[g+12>>2];n=o+n*.800000011920929;o=o*.800000011920929;i=0;f=0;c=0;u=0;d=0;p=0;while(1){if((i|0)>=(v|0))break;k=t+(i<<2)|0;A=+h[k>>2];h[k>>2]=A+b*f+m*c+w*u+n*d+o*p;E=f;i=i+1|0;f=A;p=d;d=u;u=c;c=E}l=_;return}function mi(e,t,i,r,n){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;var a=0,o=0,f=0,c=0,l=0,u=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0;_=n+-3|0;y=r+-3|0;A=((y|0)>0?y:0)+3|0;k=A&-4;S=e+(k<<2)|0;f=n+-3|0;f=((f|0)>0?f:0)+3&-4;E=0;A=t+((A|3)<<2)|0;while(1){if((E|0)>=(_|0))break;M=t+(E<<2)|0;p=e;b=M+12|0;m=0;u=0;l=0;o=0;a=0;c=+h[M>>2];g=+h[M+4>>2];v=+h[M+8>>2];w=0;while(1){if((m|0)>=(y|0))break;C=+h[p>>2];w=+h[b>>2];U=(s[d>>2]=u,+h[d>>2])+C*c;B=(s[d>>2]=l,+h[d>>2])+C*g;L=(s[d>>2]=o,+h[d>>2])+C*v;D=+h[p+4>>2];R=+h[b+4>>2];N=+h[p+8>>2];x=+h[b+8>>2];C=(s[d>>2]=a,+h[d>>2])+C*w+D*R+N*x;I=+h[p+12>>2];T=+h[b+12>>2];O=(h[d>>2]=U+D*g+N*v+I*w,s[d>>2]|0);P=(h[d>>2]=B+D*v+N*w+I*R,s[d>>2]|0);M=(h[d>>2]=L+D*w+N*R+I*x,s[d>>2]|0);p=p+16|0;b=b+16|0;m=m+4|0;u=O;l=P;o=M;a=(h[d>>2]=C+I*T,s[d>>2]|0);c=R;g=x;v=T}m=k|1;if((k|0)<(r|0)){U=+h[S>>2];w=+h[A>>2];u=(h[d>>2]=(s[d>>2]=u,+h[d>>2])+U*c,s[d>>2]|0);l=(h[d>>2]=(s[d>>2]=l,+h[d>>2])+U*g,s[d>>2]|0);o=(h[d>>2]=(s[d>>2]=o,+h[d>>2])+U*v,s[d>>2]|0);p=S+4|0;b=A+4|0;a=(h[d>>2]=(s[d>>2]=a,+h[d>>2])+U*w,s[d>>2]|0)}else{p=S;b=A}if((m|0)<(r|0)){U=+h[p>>2];c=+h[b>>2];u=(h[d>>2]=(s[d>>2]=u,+h[d>>2])+U*g,s[d>>2]|0);l=(h[d>>2]=(s[d>>2]=l,+h[d>>2])+U*v,s[d>>2]|0);o=(h[d>>2]=(s[d>>2]=o,+h[d>>2])+U*w,s[d>>2]|0);p=p+4|0;b=b+4|0;a=(h[d>>2]=(s[d>>2]=a,+h[d>>2])+U*c,s[d>>2]|0)}if((m+1|0)<(r|0)){U=+h[p>>2];u=(h[d>>2]=(s[d>>2]=u,+h[d>>2])+U*v,s[d>>2]|0);l=(h[d>>2]=(s[d>>2]=l,+h[d>>2])+U*w,s[d>>2]|0);o=(h[d>>2]=(s[d>>2]=o,+h[d>>2])+U*c,s[d>>2]|0);a=(h[d>>2]=(s[d>>2]=a,+h[d>>2])+U*+h[b>>2],s[d>>2]|0)}s[i+(E<<2)>>2]=u;s[i+((E|1)<<2)>>2]=l;s[i+((E|2)<<2)>>2]=o;s[i+((E|3)<<2)>>2]=a;E=E+4|0;A=A+16|0}while(1){if((f|0)>=(n|0))break;a=t+(f<<2)|0;o=0;c=0;while(1){if((o|0)>=(r|0))break;U=c+ +h[e+(o<<2)>>2]*+h[a+(o<<2)>>2];o=o+1|0;c=U}h[i+(f<<2)>>2]=c;f=f+1|0}return}function wi(e,t,i,r,n){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;var a=0,o=0,f=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0;_=l;l=l+16|0;w=_;u=w;s[u>>2]=0;s[u+4>>2]=0;u=i>>2;d=l;l=l+((1*(u<<2)|0)+15&-16)|0;p=i+r>>2;b=l;l=l+((1*(p<<2)|0)+15&-16)|0;g=r>>1;v=l;l=l+((1*(g<<2)|0)+15&-16)|0;c=0;while(1){if((c|0)>=(u|0))break;s[d+(c<<2)>>2]=s[e+(c<<1<<2)>>2];c=c+1|0}c=0;while(1){if((c|0)>=(p|0))break;s[b+(c<<2)>>2]=s[t+(c<<1<<2)>>2];c=c+1|0}r=r>>2;mi(d,b,v,u,r);gi(v,b,u,r,w);r=s[w>>2]<<1;m=s[w+4>>2]<<1;c=i>>1;p=0;while(1){if((p|0)>=(g|0))break;u=v+(p<<2)|0;h[u>>2]=0;i=p-r|0;if(!((((i|0)>-1?i:0-i|0)|0)>2?(i=p-m|0,(((i|0)>-1?i:0-i|0)|0)>2):0)){d=t+(p<<2)|0;b=0;a=0;while(1){if((b|0)>=(c|0))break;f=a+ +h[e+(b<<2)>>2]*+h[d+(b<<2)>>2];b=b+1|0;a=f}h[u>>2]=a<-1?-1:a}p=p+1|0}gi(v,t,c,g,w);c=s[w>>2]|0;if(!((c|0)>0&(c|0)<(g+-1|0))){v=0;g=c<<1;v=g-v|0;s[n>>2]=v;l=_;return}o=+h[v+(c+-1<<2)>>2];f=+h[v+(c<<2)>>2];a=+h[v+(c+1<<2)>>2];if(a-o>(f-o)*.699999988079071){v=1;g=c<<1;v=g-v|0;s[n>>2]=v;l=_;return}if(o-a>(f-a)*.699999988079071){v=-1;g=c<<1;v=g-v|0;s[n>>2]=v;l=_;return}v=0;g=c<<1;v=g-v|0;s[n>>2]=v;l=_;return}function gi(e,t,i,r,n){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;var a=0,o=0,f=0,c=0,l=0,u=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0;s[n>>2]=0;g=n+4|0;s[g>>2]=1;o=1;a=0;while(1){if((a|0)>=(i|0)){a=0;b=0;c=0;m=-1082130432;l=-1082130432;w=0;break}f=+h[t+(a<<2)>>2];o=o+f*f;a=a+1|0}while(1){if((w|0)>=(r|0))break;f=+h[e+(w<<2)>>2];do if(f>0?(v=f*9.999999960041972e-13,v=v*v,f=v*(s[d>>2]=c,+h[d>>2]),f>(s[d>>2]=l,+h[d>>2])*o):0){f=v*(s[d>>2]=b,+h[d>>2]);if(f>(s[d>>2]=m,+h[d>>2])*o){s[g>>2]=a;p=(h[d>>2]=v,s[d>>2]|0);u=(h[d>>2]=o,s[d>>2]|0);s[n>>2]=w;a=w;c=b;l=m;break}else{l=(h[d>>2]=v,s[d>>2]|0);c=(h[d>>2]=o,s[d>>2]|0);s[g>>2]=w;u=b;p=m;break}}else{u=b;p=m}while(0);_=+h[t+(w+i<<2)>>2];f=+h[t+(w<<2)>>2];f=o+(_*_-f*f);o=f<1?1:f;b=u;m=p;w=w+1|0}return}function vi(e,t,i,r,n){e=e|0;t=t|0;i=i|0;r=r|0;n=+n;var a=0,o=0,f=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0;C=l;l=l+2064|0;I=C+2052|0;k=s[i>>2]|0;S=(r|0)/2|0;R=(t|0)/2|0;x=e+2048|0;k=(k|0)>1023?511:(k|0)/2|0;s[i>>2]=k;E=C;r=x+(0-k<<2)|0;t=0;A=0;o=0;while(1){if((t|0)>=(R|0))break;y=+h[x+(t<<2)>>2];M=o+y*+h[r+(t<<2)>>2];t=t+1|0;A=A+y*y;o=M}h[E>>2]=A;r=1;a=A;while(1){if((r|0)==513)break;y=+h[x+(0-r<<2)>>2];M=+h[x+(R-r<<2)>>2];M=a+y*y-M*M;h[E+(r<<2)>>2]=M<0?0:M;r=r+1|0;a=M}m=+h[E+(k<<2)>>2];M=o/+H(+(A*m+1));g=k<<1;v=M*.699999988079071;_=M*.8500000238418579;y=n*.5;T=k;w=2;while(1){if((w|0)>=16)break;r=w<<1;b=((g+w|0)>>>0)/(r>>>0)|0;if((b|0)<7)break;if((w|0)==2){d=b+k|0;d=(d|0)>512?k:d}else d=(((te(s[17156+(w<<2)>>2]<<1,k)|0)+w|0)>>>0)/(r>>>0)|0;r=x+(0-b<<2)|0;t=x+(0-d<<2)|0;e=0;a=0;f=0;while(1){if((e|0)>=(R|0))break;u=+h[x+(e<<2)>>2];p=f+u*+h[t+(e<<2)>>2];u=a+u*+h[r+(e<<2)>>2];e=e+1|0;a=u;f=p}p=(a+f)*.5;f=(+h[E+(b<<2)>>2]+ +h[E+(d<<2)>>2])*.5;a=p/+H(+(A*f+1));r=b-S|0;r=(r|0)>-1?r:0-r|0;if((r|0)>=2)if((r|0)<3){d=(te(w*5|0,w)|0)<(k|0);u=d?y:0}else u=0;else u=n;c=v-u;c=c<.30000001192092896?.30000001192092896:c;if((b|0)<21){c=_-u;if(c<.4000000059604645)c=.4000000059604645}if(a>c){r=b;o=p}else{r=T;f=m;a=M}T=r;m=f;M=a;w=w+1|0}a=o<0?0:o;if(!(m<=a))c=a/(m+1);else c=1;e=0;while(1){if((e|0)==3)break;r=x+(1-(T+e)<<2)|0;t=0;a=0;while(1){if((t|0)>=(R|0))break;n=a+ +h[x+(t<<2)>>2]*+h[r+(t<<2)>>2];t=t+1|0;a=n}h[I+(e<<2)>>2]=a;e=e+1|0}o=+h[I+8>>2];f=+h[I>>2];a=+h[I+4>>2];if(o-f>(a-f)*.699999988079071){I=1;R=c>M;n=R?M:c;R=T<<1;I=R+I|0;R=(I|0)<15;I=R?15:I;s[i>>2]=I;l=C;return+n}if(f-o>(a-o)*.699999988079071){I=-1;R=c>M;n=R?M:c;R=T<<1;I=R+I|0;R=(I|0)<15;I=R?15:I;s[i>>2]=I;l=C;return+n}I=0;R=c>M;n=R?M:c;R=T<<1;I=R+I|0;R=(I|0)<15;I=R?15:I;s[i>>2]=I;l=C;return+n}function _i(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,n=0,s=0,a=0,o=0,f=0,c=0,l=0,u=0,d=0,p=0;n=+h[t>>2];kn(e|0,0,i<<2|0)|0;if(+h[t>>2]!=0)c=0;else return;while(1){if((c|0)<(i|0)){r=0;s=0}else{r=9;break}while(1){if((c|0)==(r|0))break;a=s+ +h[e+(r<<2)>>2]*+h[t+(c-r<<2)>>2];r=r+1|0;s=a}o=c;c=c+1|0;s=(s+ +h[t+(c<<2)>>2])/n;a=-s;h[e+(o<<2)>>2]=a;r=c>>1;o=o+-1|0;f=0;while(1){if((f|0)>=(r|0))break;p=e+(f<<2)|0;u=+h[p>>2];l=e+(o-f<<2)|0;d=+h[l>>2];h[p>>2]=u+d*a;h[l>>2]=d+u*a;f=f+1|0}n=n-s*s*n;if(n<+h[t>>2]*.0010000000474974513){r=9;break}}if((r|0)==9)return}function yi(e,t,i,r,n){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;var a=0,o=0,f=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0;m=l;l=l+112|0;d=m+96|0;p=m;b=l;l=l+((1*(r+24<<2)|0)+15&-16)|0;a=0;while(1){if((a|0)==24)break;s[p+(a<<2)>>2]=s[t+(24-a+-1<<2)>>2];a=a+1|0}a=0;while(1){if((a|0)==24){a=0;break}s[b+(a<<2)>>2]=s[n+(24-a+-1<<2)>>2];a=a+1|0}while(1){if((a|0)>=(r|0)){a=0;break}s[b+(a+24<<2)>>2]=s[e+(a<<2)>>2];a=a+1|0}while(1){if((a|0)==24)break;s[n+(a<<2)>>2]=s[e+(r-a+-1<<2)>>2];a=a+1|0}t=r+-3|0;n=d+4|0;f=d+8|0;c=d+12|0;a=((t|0)>0?t:0)+3&-4;u=0;while(1){if((u|0)>=(t|0))break;s[d>>2]=0;s[d+4>>2]=0;s[d+8>>2]=0;s[d+12>>2]=0;ki(p,b+(u<<2)|0,d,24);h[i+(u<<2)>>2]=+h[e+(u<<2)>>2]+ +h[d>>2];w=u|1;h[i+(w<<2)>>2]=+h[e+(w<<2)>>2]+ +h[n>>2];w=u|2;h[i+(w<<2)>>2]=+h[e+(w<<2)>>2]+ +h[f>>2];w=u|3;h[i+(w<<2)>>2]=+h[e+(w<<2)>>2]+ +h[c>>2];u=u+4|0}while(1){if((a|0)<(r|0)){t=0;o=0}else break;while(1){if((t|0)==24)break;g=o+ +h[p+(t<<2)>>2]*+h[b+(a+t<<2)>>2];t=t+1|0;o=g}h[i+(a<<2)>>2]=+h[e+(a<<2)>>2]+o;a=a+1|0}l=m;return}function ki(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var n=0,s=0,a=0,o=0,f=0,c=0,l=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0;f=r+-3|0;p=i+4|0;b=i+8|0;m=i+12|0;l=((f|0)>0?f:0)+3|0;u=l&-4;l=l|3;s=e;a=t+12|0;c=0;n=+h[t>>2];d=+h[t+4>>2];w=+h[t+8>>2];o=0;while(1){if((c|0)>=(f|0))break;k=+h[s>>2];o=+h[a>>2];S=+h[i>>2]+k*n;h[i>>2]=S;A=+h[p>>2]+k*d;h[p>>2]=A;E=+h[b>>2]+k*w;h[b>>2]=E;k=+h[m>>2]+k*o;h[m>>2]=k;y=+h[s+4>>2];_=+h[a+4>>2];S=S+y*d;h[i>>2]=S;A=A+y*w;h[p>>2]=A;E=E+y*o;h[b>>2]=E;y=k+y*_;h[m>>2]=y;k=+h[s+8>>2];v=+h[a+8>>2];S=S+k*w;h[i>>2]=S;A=A+k*o;h[p>>2]=A;E=E+k*_;h[b>>2]=E;k=y+k*v;h[m>>2]=k;y=+h[s+12>>2];g=+h[a+12>>2];h[i>>2]=S+y*o;h[p>>2]=A+y*_;h[b>>2]=E+y*v;h[m>>2]=k+y*g;s=s+16|0;a=a+16|0;c=c+4|0;n=_;d=v;w=g}a=e+(u<<2)|0;s=t+(l<<2)|0;f=u|1;if((u|0)<(r|0)){S=+h[a>>2];o=+h[s>>2];h[i>>2]=+h[i>>2]+S*n;h[p>>2]=+h[p>>2]+S*d;h[b>>2]=+h[b>>2]+S*w;h[m>>2]=+h[m>>2]+S*o;a=a+4|0;s=s+4|0}if((f|0)<(r|0)){S=+h[a>>2];n=+h[s>>2];h[i>>2]=+h[i>>2]+S*d;h[p>>2]=+h[p>>2]+S*w;h[b>>2]=+h[b>>2]+S*o;h[m>>2]=+h[m>>2]+S*n;a=a+4|0;s=s+4|0}if((f+1|0)>=(r|0))return;A=+h[a>>2];S=+h[s>>2];h[i>>2]=+h[i>>2]+A*w;h[p>>2]=+h[p>>2]+A*o;h[b>>2]=+h[b>>2]+A*n;h[m>>2]=+h[m>>2]+A*S;return}function Ei(e,t,i,r,n){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;var a=0,o=0,f=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0;_=l;l=l+112|0;w=_+96|0;g=_;o=r+24|0;v=l;l=l+((1*(o<<2)|0)+15&-16)|0;a=0;while(1){if((a|0)==24)break;s[g+(a<<2)>>2]=s[t+(24-a+-1<<2)>>2];a=a+1|0}a=0;while(1){if((a|0)==24){a=24;break}h[v+(a<<2)>>2]=-+h[n+(24-a+-1<<2)>>2];a=a+1|0}while(1){if((a|0)>=(o|0))break;h[v+(a<<2)>>2]=0;a=a+1|0}o=r+-3|0;c=w+4|0;u=w+8|0;d=w+12|0;p=t+4|0;b=t+8|0;a=r+-3|0;a=((a|0)>0?a:0)+3&-4;m=0;while(1){if((m|0)>=(o|0))break;s[w>>2]=s[e+(m<<2)>>2];M=m|1;s[c>>2]=s[e+(M<<2)>>2];A=m|2;s[u>>2]=s[e+(A<<2)>>2];y=m|3;s[d>>2]=s[e+(y<<2)>>2];ki(g,v+(m<<2)|0,w,24);S=+h[w>>2];f=-S;h[v+(m+24<<2)>>2]=f;h[i+(m<<2)>>2]=S;S=+h[c>>2]+ +h[t>>2]*f;h[c>>2]=S;k=-S;h[v+(m+25<<2)>>2]=k;h[i+(M<<2)>>2]=S; -S=+h[u>>2]+ +h[t>>2]*k+ +h[p>>2]*f;h[u>>2]=S;E=-S;h[v+(m+26<<2)>>2]=E;h[i+(A<<2)>>2]=S;f=+h[d>>2]+ +h[t>>2]*E+ +h[p>>2]*k+ +h[b>>2]*f;h[d>>2]=f;h[v+(m+27<<2)>>2]=-f;h[i+(y<<2)>>2]=f;m=m+4|0}while(1){if((a|0)>=(r|0)){a=0;break}o=0;f=+h[e+(a<<2)>>2];while(1){if((o|0)==24)break;S=f-+h[g+(o<<2)>>2]*+h[v+(a+o<<2)>>2];o=o+1|0;f=S}h[v+(a+24<<2)>>2]=f;h[i+(a<<2)>>2]=f;a=a+1|0}while(1){if((a|0)==24)break;s[n+(a<<2)>>2]=s[i+(r-a+-1<<2)>>2];a=a+1|0}l=_;return}function Ai(e,t,i,r,n,a){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;a=a|0;var o=0,f=0,c=0,u=0,d=0,p=0;d=l;u=a-n|0;c=l;l=l+((1*(a<<2)|0)+15&-16)|0;e:do if(!r)c=e;else{f=0;while(1){if((f|0)>=(a|0)){f=0;break}s[c+(f<<2)>>2]=s[e+(f<<2)>>2];f=f+1|0}while(1){if((f|0)>=(r|0))break e;o=+h[i+(f<<2)>>2];h[c+(f<<2)>>2]=+h[e+(f<<2)>>2]*o;p=a-f+-1|0;h[c+(p<<2)>>2]=+h[e+(p<<2)>>2]*o;f=f+1|0}}while(0);mi(c,c,t,u,n+1|0);r=0;while(1){if((r|0)>(n|0))break;o=0;f=r+u|0;while(1){if((f|0)>=(a|0))break;o=o+ +h[c+(f<<2)>>2]*+h[c+(f-r<<2)>>2];f=f+1|0}p=t+(r<<2)|0;h[p>>2]=+h[p>>2]+o;r=r+1|0}l=d;return}function Si(e,t,i,r,n,a,o,f,c,u,d,p,b,m,w,g,v){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;a=a|0;o=o|0;f=f|0;c=c|0;u=u|0;d=d|0;p=p|0;b=b|0;m=m|0;w=w|0;g=g|0;v=v|0;var _=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0,V=0;G=l;l=l+96|0;F=G+72|0;z=G+48|0;q=G+24|0;H=G;if(!b)if((w|0)==0?(_=i-t|0,+h[m>>2]>+(te(u<<1,_)|0)):0)E=(te(_,u)|0)<(p|0);else E=0;else E=1;k=+(o>>>0)*+h[m>>2]*+(g|0)/+(u<<9|0);j=e+8|0;A=s[j>>2]|0;g=0;y=0;do{b=te(g,A)|0;_=t;while(1){if((_|0)>=(r|0))break;B=_+b|0;V=+h[n+(B<<2)>>2]-+h[a+(B<<2)>>2];y=y+V*V;_=_+1|0}g=g+1|0}while((g|0)<(u|0));B=~~k;k=y>200?200:y;D=c+20|0;g=s[D>>2]|0;L=c+28|0;b=s[L>>2]|0;N=g+((re(b|0)|0)+-32)|0;_=(N+3|0)>>>0>o>>>0;O=_?0:E&1;if((i-t|0)>10?(S=+(p|0)*.125,!(S>16)):0)y=S;else y=16;y=(v|0)==0?y:3;s[F>>2]=s[c>>2];s[F+4>>2]=s[c+4>>2];s[F+8>>2]=s[c+8>>2];s[F+12>>2]=s[c+12>>2];s[F+16>>2]=s[c+16>>2];s[F+20>>2]=s[c+20>>2];P=c+24|0;R=s[P>>2]|0;s[z>>2]=s[L>>2];s[z+4>>2]=s[L+4>>2];s[z+8>>2]=s[L+8>>2];s[z+12>>2]=s[L+12>>2];s[z+16>>2]=s[L+16>>2];x=te(A,u)|0;I=l;l=l+((1*(x<<2)|0)+15&-16)|0;C=l;l=l+((1*(x<<2)|0)+15&-16)|0;Mn(I|0,a|0,x<<2|0)|0;x=_|(w|0)==0;if(x)if(!O){T=R;M=0}else{Mi(e,t,i,n,I,o,N,29009+(d*84|0)+42|0,C,c,u,d,1,y,v)|0;U=22}else{_=Mi(e,t,i,n,I,o,N,29009+(d*84|0)+42|0,C,c,u,d,1,y,v)|0;if(!O){g=s[D>>2]|0;b=s[L>>2]|0;T=s[P>>2]|0;M=_}else U=22}if((U|0)==22){Mn(a|0,I|0,(te(s[j>>2]|0,u)|0)<<2|0)|0;Mn(f|0,C|0,(te(s[j>>2]|0,u)|0)<<2|0)|0;V=k;h[m>>2]=V;l=G;return}E=32-(re(b|0)|0)|0;r=b>>>(E+-16|0);b=(r>>>12)+-8|0;b=(g<<3)-((E<<3)+(b+(r>>>0>(s[5272+(b<<2)>>2]|0)>>>0&1)))|0;g=s[c>>2]|0;r=c+4|0;s[q>>2]=s[r>>2];s[q+4>>2]=s[r+4>>2];s[q+8>>2]=s[r+8>>2];s[q+12>>2]=s[r+12>>2];s[q+16>>2]=s[r+16>>2];s[H>>2]=s[L>>2];s[H+4>>2]=s[L+4>>2];s[H+8>>2]=s[L+8>>2];s[H+12>>2]=s[L+12>>2];s[H+16>>2]=s[L+16>>2];E=g+R|0;p=T-R|0;A=Ne()|0;w=l;l=l+((1*((T|0)==(R|0)?1:p)|0)+15&-16)|0;Mn(w|0,E|0,p|0)|0;s[c>>2]=s[F>>2];s[c+4>>2]=s[F+4>>2];s[c+8>>2]=s[F+8>>2];s[c+12>>2]=s[F+12>>2];s[c+16>>2]=s[F+16>>2];s[c+20>>2]=s[F+20>>2];s[P>>2]=R;s[L>>2]=s[z>>2];s[L+4>>2]=s[z+4>>2];s[L+8>>2]=s[z+8>>2];s[L+12>>2]=s[z+12>>2];s[L+16>>2]=s[z+16>>2];_=Mi(e,t,i,n,a,o,N,29009+(d*84|0)+(O*42|0)|0,f,c,u,d,0,y,v)|0;do if(!x){if((M|0)>=(_|0)){if((M|0)!=(_|0))break;e=s[L>>2]|0;v=32-(re(e|0)|0)|0;e=e>>>(v+-16|0);t=(e>>>12)+-8|0;if(((s[D>>2]<<3)-((v<<3)+(t+(e>>>0>(s[5272+(t<<2)>>2]|0)>>>0&1)))+B|0)<=(b|0))break}s[c>>2]=g;s[r>>2]=s[q>>2];s[r+4>>2]=s[q+4>>2];s[r+8>>2]=s[q+8>>2];s[r+12>>2]=s[q+12>>2];s[r+16>>2]=s[q+16>>2];s[P>>2]=T;s[L>>2]=s[H>>2];s[L+4>>2]=s[H+4>>2];s[L+8>>2]=s[H+8>>2];s[L+12>>2]=s[H+12>>2];s[L+16>>2]=s[H+16>>2];Mn(E|0,w|0,p|0)|0;Mn(a|0,I|0,(te(s[j>>2]|0,u)|0)<<2|0)|0;Mn(f|0,C|0,(te(s[j>>2]|0,u)|0)<<2|0)|0;qe(A|0);V=k;h[m>>2]=V;l=G;return}while(0);qe(A|0);V=+h[17336+(d<<2)>>2];V=V*V*+h[m>>2]+k;h[m>>2]=V;l=G;return}function Mi(e,t,i,n,o,f,c,u,d,p,b,m,w,g,v){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;f=f|0;c=c|0;u=u|0;d=d|0;p=p|0;b=b|0;m=m|0;w=w|0;g=+g;v=v|0;var _=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,q=0,H=0,G=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0,J=0,Q=0,ee=0,ie=0;ie=l;l=l+16|0;ee=ie;X=ee;s[X>>2]=0;s[X+4>>2]=0;e:do if((c+3|0)<=(f|0)){O=p+28|0;_=s[O>>2]|0;c=_>>>3;_=_-c|0;P=p+32|0;if(!w)c=_;else s[P>>2]=(s[P>>2]|0)+_;s[O>>2]=c;S=p+36|0;M=p+20|0;T=p+40|0;x=p+24|0;R=p+8|0;I=p+4|0;C=p+44|0;while(1){if(c>>>0>=8388609)break e;_=s[P>>2]|0;k=_>>>23;if((k|0)==255)s[S>>2]=(s[S>>2]|0)+1;else{y=_>>>31;c=s[T>>2]|0;if((c|0)>-1){_=s[x>>2]|0;if((_+(s[R>>2]|0)|0)>>>0<(s[I>>2]|0)>>>0){s[x>>2]=_+1;r[(s[p>>2]|0)+_>>0]=c+y;c=0}else c=-1;s[C>>2]=s[C>>2]|c}c=s[S>>2]|0;if(c|0){y=y+255&255;do{_=s[x>>2]|0;if((_+(s[R>>2]|0)|0)>>>0<(s[I>>2]|0)>>>0){s[x>>2]=_+1;r[(s[p>>2]|0)+_>>0]=y;_=0;c=s[S>>2]|0}else _=-1;s[C>>2]=s[C>>2]|_;c=c+-1|0;s[S>>2]=c}while((c|0)!=0)}s[T>>2]=k&255;_=s[P>>2]|0;c=s[O>>2]|0}s[P>>2]=_<<8&2147483392;c=c<<8;s[O>>2]=c;s[M>>2]=(s[M>>2]|0)+8}}while(0);if(!w){Q=+h[17320+(m<<2)>>2];J=+h[17336+(m<<2)>>2]}else{Q=.149993896484375;J=0}Y=e+8|0;Z=p+20|0;$=p+28|0;X=b*3|0;e=(v|0)==0;v=p+32|0;B=p+36|0;U=p+40|0;j=p+24|0;F=p+8|0;q=p+4|0;H=p+44|0;c=0;K=t;while(1){if((K|0)>=(i|0))break;G=te(X,i-K|0)|0;V=(K|0)!=(t|0);W=(K|0)<20;m=0;do{w=K+(te(m,s[Y>>2]|0)|0)|0;A=+h[n+(w<<2)>>2];E=+h[o+(w<<2)>>2];L=J*(E<-9?-9:E);w=ee+(m<<2)|0;N=+h[w>>2];D=A-L-N;_=~~+z(+(D+.5));E=(E<-28?-28:E)-g;if((_|0)<0&A0?0:O}else O=_;k=s[Z>>2]|0;P=s[$>>2]|0;S=k+((re(P|0)|0)+-32)|0;M=f-S|0;y=M-G|0;if((y|0)<24&V){_=(O|0)>1?1:O;if((y|0)<16)_=(_|0)<-1?-1:_}else _=O;_=e|(K|0)<2|(_|0)<0?_:0;e:do if((M|0)<=14)if((M|0)>1){_=(_|0)<-1?-1:(_|0)<1?_:1;y=_<<1^_>>31;S=P>>>2;if((y|0)>0){C=a[29345+(y+-1)>>0]|0;P=P-(te(S,C)|0)|0;s[v>>2]=(s[v>>2]|0)+P;y=te(S,C-(a[29345+y>>0]|0)|0)|0}else y=P-(te(S,a[29345+y>>0]|0)|0)|0;s[$>>2]=y;while(1){if(y>>>0>=8388609)break e;S=s[v>>2]|0;M=S>>>23;if((M|0)==255)s[B>>2]=(s[B>>2]|0)+1;else{S=S>>>31;y=s[U>>2]|0;if((y|0)>-1){k=s[j>>2]|0;if((k+(s[F>>2]|0)|0)>>>0<(s[q>>2]|0)>>>0){s[j>>2]=k+1;r[(s[p>>2]|0)+k>>0]=y+S;y=0}else y=-1;s[H>>2]=s[H>>2]|y}y=s[B>>2]|0;if(y|0){S=S+255&255;do{k=s[j>>2]|0;if((k+(s[F>>2]|0)|0)>>>0<(s[q>>2]|0)>>>0){s[j>>2]=k+1;r[(s[p>>2]|0)+k>>0]=S;k=0;y=s[B>>2]|0}else k=-1;s[H>>2]=s[H>>2]|k;y=y+-1|0;s[B>>2]=y}while((y|0)!=0)}s[U>>2]=M&255;S=s[v>>2]|0;y=s[$>>2]|0;k=s[Z>>2]|0}s[v>>2]=S<<8&2147483392;y=y<<8;s[$>>2]=y;k=k+8|0;s[Z>>2]=k}}else{if((S|0)>=(f|0)){_=-1;break}S=P>>>1;y=P-S|0;if((_|0)>-1)_=0;else{s[v>>2]=(s[v>>2]|0)+y;y=S}s[$>>2]=y;while(1){if(y>>>0>=8388609)break e;S=s[v>>2]|0;M=S>>>23;if((M|0)==255)s[B>>2]=(s[B>>2]|0)+1;else{S=S>>>31;y=s[U>>2]|0;if((y|0)>-1){k=s[j>>2]|0;if((k+(s[F>>2]|0)|0)>>>0<(s[q>>2]|0)>>>0){s[j>>2]=k+1;r[(s[p>>2]|0)+k>>0]=y+S;y=0}else y=-1;s[H>>2]=s[H>>2]|y}y=s[B>>2]|0;if(y|0){S=S+255&255;do{k=s[j>>2]|0;if((k+(s[F>>2]|0)|0)>>>0<(s[q>>2]|0)>>>0){s[j>>2]=k+1;r[(s[p>>2]|0)+k>>0]=S;k=0;y=s[B>>2]|0}else k=-1;s[H>>2]=s[H>>2]|k;y=y+-1|0;s[B>>2]=y}while((y|0)!=0)}s[U>>2]=M&255;S=s[v>>2]|0;y=s[$>>2]|0;k=s[Z>>2]|0}s[v>>2]=S<<8&2147483392;y=y<<8;s[$>>2]=y;k=k+8|0;s[Z>>2]=k}}else{M=(W?K:20)<<1;y=(a[u+M>>0]|0)<<7;M=(a[u+(M|1)>>0]|0)<<6;if(_){I=_>>31;T=_+I^I;S=te(32736-y|0,16384-M|0)|0;x=y;R=1;while(1){y=S>>>15;if(!y){C=36;break}if((T|0)<=(R|0)){C=37;break}C=y<<1;S=te(C,M)|0;x=x+(C+2)|0;R=R+1|0}if((C|0)==36){C=0;M=T-R|0;_=(32768-x-I>>1)+-1|0;_=(M|0)<(_|0)?M:_;M=x+((_<<1|1)+I)|0;y=32768-M|0;y=y>>>0>1?1:y;_=R+_+I^I}else if((C|0)==37){C=0;M=y+1|0;y=M;M=x+(M&~I)|0}S=P>>>15;if(!M)C=40;else{P=P-(te(S,32768-M|0)|0)|0;s[v>>2]=(s[v>>2]|0)+P;y=te(S,y)|0}}else{S=P>>>15;_=0;C=40}if((C|0)==40)y=P-(te(S,32768-y|0)|0)|0;s[$>>2]=y;S=y;y=k;while(1){if(S>>>0>=8388609)break e;k=s[v>>2]|0;M=k>>>23;if((M|0)==255)s[B>>2]=(s[B>>2]|0)+1;else{S=k>>>31;y=s[U>>2]|0;if((y|0)>-1){k=s[j>>2]|0;if((k+(s[F>>2]|0)|0)>>>0<(s[q>>2]|0)>>>0){s[j>>2]=k+1;r[(s[p>>2]|0)+k>>0]=y+S;y=0}else y=-1;s[H>>2]=s[H>>2]|y}y=s[B>>2]|0;if(y|0){S=S+255&255;do{k=s[j>>2]|0;if((k+(s[F>>2]|0)|0)>>>0<(s[q>>2]|0)>>>0){s[j>>2]=k+1;r[(s[p>>2]|0)+k>>0]=S;k=0;y=s[B>>2]|0}else k=-1;s[H>>2]=s[H>>2]|k;y=y+-1|0;s[B>>2]=y}while((y|0)!=0)}s[U>>2]=M&255;k=s[v>>2]|0;S=s[$>>2]|0;y=s[Z>>2]|0}s[v>>2]=k<<8&2147483392;S=S<<8;s[$>>2]=S;y=y+8|0;s[Z>>2]=y}}while(0);A=+(_|0);h[d+(K+(te(m,s[Y>>2]|0)|0)<<2)>>2]=D-A;O=O-_|0;c=c+((O|0)>-1?O:0-O|0)|0;h[o+(K+(te(m,s[Y>>2]|0)|0)<<2)>>2]=L+N+A;h[w>>2]=N+A-Q*A;m=m+1|0}while((m|0)<(b|0));K=K+1|0}l=ie;return(e?c:0)|0}function Ti(e,t,i,o,f,h,c,u,d,p,b,m,w,g,v,_,y,k,E){e=e|0;t=t|0;i=i|0;o=o|0;f=f|0;h=h|0;c=c|0;u=u|0;d=d|0;p=p|0;b=b|0;m=m|0;w=w|0;g=g|0;v=v|0;_=_|0;y=y|0;k=k|0;E=E|0;var A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0,J=0,Q=0,ee=0,ie=0;ie=l;d=(d|0)>0?d:0;P=s[e+8>>2]|0;z=(d|0)>7?8:0;d=d-z|0;ee=(g|0)==2;if(ee?(A=a[29348+(i-t)>>0]|0,(d|0)>=(A|0)):0){d=d-A|0;K=(d|0)>7?8:0;d=d-K|0}else{K=0;A=0}B=l;l=l+((1*(P<<2)|0)+15&-16)|0;U=l;l=l+((1*(P<<2)|0)+15&-16)|0;F=l;l=l+((1*(P<<2)|0)+15&-16)|0;L=l;l=l+((1*(P<<2)|0)+15&-16)|0;J=g<<3;Q=e+32|0;h=h+-5-v|0;S=v+3|0;M=t;while(1){if((M|0)>=(i|0))break;$=M+1|0;Z=s[Q>>2]|0;Z=(n[Z+($<<1)>>1]|0)-(n[Z+(M<<1)>>1]|0)|0;Y=Z*3<>4;s[F+(M<<2)>>2]=(J|0)>(Y|0)?J:Y;Y=(te(te(te(Z,g)|0,h)|0,i-M+-1|0)|0)<>6;s[L+(M<<2)>>2]=Y-((Z<>2]|0;N=e+52|0;C=O+-1|0;D=1;do{x=D+C>>1;R=te(x,P)|0;I=0;h=i;S=0;e:while(1){t:while(1){T=h;do{h=T;T=T+-1|0;if((h|0)<=(t|0))break e;$=s[Q>>2]|0;h=te((n[$+(h<<1)>>1]|0)-(n[$+(T<<1)>>1]|0)|0,g)|0;h=(te(h,a[(s[N>>2]|0)+(R+T)>>0]|0)|0)<>2;if((h|0)>0){h=h+(s[L+(T<<2)>>2]|0)|0;h=(h|0)<0?0:h}M=h+(s[o+(T<<2)>>2]|0)|0;if((M|0)>=(s[F+(T<<2)>>2]|0)|I)break t}while((M|0)<(J|0));h=T;S=S+J|0}$=s[f+(T<<2)>>2]|0;I=1;h=T;S=S+((M|0)<($|0)?M:$)|0}$=(S|0)>(d|0);D=$?D:x+1|0;C=$?x+-1|0:C}while((D|0)<=(C|0));C=te(D+-1|0,P)|0;T=te(D,P)|0;x=(D|0)>1;I=t;j=t;while(1){if((I|0)>=(i|0))break;R=I+1|0;h=s[Q>>2]|0;h=te((n[h+(R<<1)>>1]|0)-(n[h+(I<<1)>>1]|0)|0,g)|0;S=s[N>>2]|0;M=(te(h,a[S+(C+I)>>0]|0)|0)<>2;if((D|0)<(O|0))h=(te(h,a[S+(T+I)>>0]|0)|0)<>2;else h=s[f+(I<<2)>>2]|0;if((M|0)>0){S=M+(s[L+(I<<2)>>2]|0)|0;S=(S|0)<0?0:S}else S=M;if((h|0)>0){h=h+(s[L+(I<<2)>>2]|0)|0;h=(h|0)<0?0:h}$=s[o+(I<<2)>>2]|0;Z=S+(x?$:0)|0;Y=h+$|0;$=($|0)>0?I:j;s[B+(I<<2)>>2]=Z;s[U+(I<<2)>>2]=(Y|0)<(Z|0)?0:Y-Z|0;I=R;j=$}Y=(g|0)>1;$=Y&1;R=64;I=0;C=0;while(1){if((I|0)==6)break;T=C+R>>1;x=0;h=i;S=0;e:while(1){t:while(1){do{Z=h;h=h+-1|0;if((Z|0)<=(t|0))break e;M=(s[B+(h<<2)>>2]|0)+((te(T,s[U+(h<<2)>>2]|0)|0)>>6)|0;if((M|0)>=(s[F+(h<<2)>>2]|0)|x)break t}while((M|0)<(J|0));S=S+J|0}Z=s[f+(h<<2)>>2]|0;x=1;S=S+((M|0)<(Z|0)?M:Z)|0}Z=(S|0)>(d|0);R=Z?T:R;I=I+1|0;C=Z?C:T}Z=v<<3;S=0;M=i;T=0;while(1){h=M+-1|0;if((M|0)<=(t|0))break;V=(s[B+(h<<2)>>2]|0)+((te(C,s[U+(h<<2)>>2]|0)|0)>>6)|0;M=(S|0)==0?(V|0)<(s[F+(h<<2)>>2]|0):0;V=M?(V|0)<(J|0)?0:J:V;W=s[f+(h<<2)>>2]|0;W=(V|0)<(W|0)?V:W;s[b+(h<<2)>>2]=W;S=M&1^1;M=h;T=T+W|0}O=J+8|0;N=(y|0)==0;U=_+28|0;y=_+32|0;q=_+20|0;H=_+40|0;G=_+24|0;V=_+4|0;P=t+2|0;D=_+36|0;L=_+8|0;o=_+44|0;W=i;B=T;e:while(1){I=W+-1|0;if((I|0)<=(j|0)){X=45;break}x=d-B|0;h=s[Q>>2]|0;C=n[h+(W<<1)>>1]|0;M=n[h+(t<<1)>>1]|0;S=C-M|0;R=(x>>>0)/(S>>>0)|0;S=x-(te(S,R)|0)|0;h=n[h+(I<<1)>>1]|0;M=S+(M-h)|0;h=C-h|0;C=b+(I<<2)|0;S=s[C>>2]|0;M=S+(te(R,h)|0)+((M|0)>0?M:0)|0;R=s[F+(I<<2)>>2]|0;if((M|0)<(((R|0)>(O|0)?R:O)|0)){T=S;S=B}else{t:do if(N){h=s[U>>2]|0;T=s[y>>2]|0;S=h>>>1;R=T>>>0>>0;if(R)h=T;else{x=T-S|0;s[y>>2]=x;S=h-S|0;h=x}s[U>>2]=S;while(1){if(S>>>0>=8388609)break;s[q>>2]=(s[q>>2]|0)+8;S=S<<8;s[U>>2]=S;x=s[H>>2]|0;T=s[G>>2]|0;if(T>>>0<(s[V>>2]|0)>>>0){s[G>>2]=T+1;T=a[(s[_>>2]|0)+T>>0]|0}else T=0;s[H>>2]=T;x=((x<<8|T)>>>1&255|h<<8&2147483392)^255;s[y>>2]=x;h=x}if(R)break e}else{if((W|0)<=(P|0)){X=50;break e}if(!((I|0)>(E|0)?1:(M|0)<=((te((W|0)<=(k|0)?7:9,h)|0)<>4|0))){X=50;break e}h=s[U>>2]|0;h=h-(h>>>1)|0;s[U>>2]=h;while(1){if(h>>>0>=8388609)break t;S=s[y>>2]|0;x=S>>>23;if((x|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{T=S>>>31;h=s[H>>2]|0;if((h|0)>-1){S=s[G>>2]|0;if((S+(s[L>>2]|0)|0)>>>0<(s[V>>2]|0)>>>0){s[G>>2]=S+1;r[(s[_>>2]|0)+S>>0]=h+T;h=0}else h=-1;s[o>>2]=s[o>>2]|h}h=s[D>>2]|0;if(h|0){T=T+255&255;do{S=s[G>>2]|0;if((S+(s[L>>2]|0)|0)>>>0<(s[V>>2]|0)>>>0){s[G>>2]=S+1;r[(s[_>>2]|0)+S>>0]=T;S=0;h=s[D>>2]|0}else S=-1;s[o>>2]=s[o>>2]|S;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[H>>2]=x&255;S=s[y>>2]|0;h=s[U>>2]|0}s[y>>2]=S<<8&2147483392;h=h<<8;s[U>>2]=h;s[q>>2]=(s[q>>2]|0)+8}}while(0);T=s[C>>2]|0;M=M+-8|0;S=B+8|0}if((A|0)>0)h=a[29348+(I-t)>>0]|0;else h=A;W=(M|0)<(J|0);B=S-(T+A)+h+(W?0:J)|0;s[C>>2]=W?0:J;A=h;W=I}e:do if((X|0)==45)d=d+z|0;else if((X|0)==50){S=s[U>>2]|0;h=S>>>1;S=(s[y>>2]|0)+(S-h)|0;s[y>>2]=S;s[U>>2]=h;while(1){if(h>>>0>=8388609)break e;T=S>>>23;if((T|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{M=S>>>31;h=s[H>>2]|0;if((h|0)>-1){S=s[G>>2]|0;if((S+(s[L>>2]|0)|0)>>>0<(s[V>>2]|0)>>>0){s[G>>2]=S+1;r[(s[_>>2]|0)+S>>0]=h+M;h=0}else h=-1;s[o>>2]=s[o>>2]|h}h=s[D>>2]|0;if(h|0){M=M+255&255;do{S=s[G>>2]|0;if((S+(s[L>>2]|0)|0)>>>0<(s[V>>2]|0)>>>0){s[G>>2]=S+1;r[(s[_>>2]|0)+S>>0]=M;S=0;h=s[D>>2]|0}else S=-1;s[o>>2]=s[o>>2]|S;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[H>>2]=T&255;S=s[y>>2]|0;h=s[U>>2]|0}S=S<<8&2147483392;s[y>>2]=S;h=h<<8;s[U>>2]=h;s[q>>2]=(s[q>>2]|0)+8}}while(0);e:do if((A|0)>0){if(N){s[c>>2]=(ci(_,W+1-t|0)|0)+t;break}S=s[c>>2]|0;S=(S|0)<(W|0)?S:W;s[c>>2]=S;x=S-t|0;M=W+1-t|0;h=M+-1|0;A=32-(re(h|0)|0)|0;if((A|0)<=8){h=s[U>>2]|0;A=(h>>>0)/(M>>>0)|0;if((S|0)==(t|0))A=h-(te(A,M-(x+1)|0)|0)|0;else{E=h-(te(A,M-x|0)|0)|0;s[y>>2]=(s[y>>2]|0)+E}s[U>>2]=A;while(1){if(A>>>0>=8388609)break e;h=s[y>>2]|0;M=h>>>23;if((M|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{S=h>>>31;A=s[H>>2]|0;if((A|0)>-1){h=s[G>>2]|0;if((h+(s[L>>2]|0)|0)>>>0<(s[V>>2]|0)>>>0){s[G>>2]=h+1;r[(s[_>>2]|0)+h>>0]=A+S;A=0}else A=-1;s[o>>2]=s[o>>2]|A}A=s[D>>2]|0;if(A|0){S=S+255&255;do{h=s[G>>2]|0;if((h+(s[L>>2]|0)|0)>>>0<(s[V>>2]|0)>>>0){s[G>>2]=h+1;r[(s[_>>2]|0)+h>>0]=S;h=0;A=s[D>>2]|0}else h=-1;s[o>>2]=s[o>>2]|h;A=A+-1|0;s[D>>2]=A}while((A|0)!=0)}s[H>>2]=M&255;h=s[y>>2]|0;A=s[U>>2]|0}s[y>>2]=h<<8&2147483392;A=A<<8;s[U>>2]=A;s[q>>2]=(s[q>>2]|0)+8}}P=A+-8|0;h=h>>>P;S=h+1|0;M=x>>>P;T=s[U>>2]|0;A=(T>>>0)/(S>>>0)|0;if(!M)A=T-(te(A,h)|0)|0;else{E=T-(te(A,S-M|0)|0)|0;s[y>>2]=(s[y>>2]|0)+E}s[U>>2]=A;while(1){if(A>>>0>=8388609)break;h=s[y>>2]|0;M=h>>>23;if((M|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{S=h>>>31;A=s[H>>2]|0;if((A|0)>-1){h=s[G>>2]|0;if((h+(s[L>>2]|0)|0)>>>0<(s[V>>2]|0)>>>0){s[G>>2]=h+1;r[(s[_>>2]|0)+h>>0]=A+S;A=0}else A=-1;s[o>>2]=s[o>>2]|A}A=s[D>>2]|0;if(A|0){S=S+255&255;do{h=s[G>>2]|0;if((h+(s[L>>2]|0)|0)>>>0<(s[V>>2]|0)>>>0){s[G>>2]=h+1;r[(s[_>>2]|0)+h>>0]=S;h=0;A=s[D>>2]|0}else h=-1;s[o>>2]=s[o>>2]|h;A=A+-1|0;s[D>>2]=A}while((A|0)!=0)}s[H>>2]=M&255;h=s[y>>2]|0;A=s[U>>2]|0}s[y>>2]=h<<8&2147483392;A=A<<8;s[U>>2]=A;s[q>>2]=(s[q>>2]|0)+8}R=(1<>2]|0;C=_+16|0;h=s[C>>2]|0;if((h+P|0)>>>0>32){T=7-h|0;T=h+((T|0)>-8?T:-8)&-8;x=h;do{S=s[L>>2]|0;M=s[V>>2]|0;if(((s[G>>2]|0)+S|0)>>>0>>0){S=S+1|0;s[L>>2]=S;r[(s[_>>2]|0)+(M-S)>>0]=A;S=0}else S=-1;s[o>>2]=s[o>>2]|S;A=A>>>8;x=x+-8|0}while((x|0)>7);h=h+-8-T|0}s[I>>2]=A|R<>2]=h+P;s[q>>2]=(s[q>>2]|0)+P}else s[c>>2]=0;while(0);e:do if((s[c>>2]|0)>(t|0))if(!K)X=169;else{if(N){A=s[U>>2]|0;S=s[y>>2]|0;h=A>>>1;K=S>>>0>>0;T=K&1;if(K)A=S;else{K=S-h|0;s[y>>2]=K;h=A-h|0;A=K}s[U>>2]=h;while(1){if(h>>>0>=8388609)break;s[q>>2]=(s[q>>2]|0)+8;h=h<<8;s[U>>2]=h;M=s[H>>2]|0;S=s[G>>2]|0;if(S>>>0<(s[V>>2]|0)>>>0){s[G>>2]=S+1;S=a[(s[_>>2]|0)+S>>0]|0}else S=0;s[H>>2]=S;K=((M<<8|S)>>>1&255|A<<8&2147483392)^255;s[y>>2]=K;A=K}s[u>>2]=T;break}h=s[U>>2]|0;A=h>>>1;h=h-A|0;if(!(s[u>>2]|0))A=h;else s[y>>2]=(s[y>>2]|0)+h;s[U>>2]=A;while(1){if(A>>>0>=8388609)break e;h=s[y>>2]|0;M=h>>>23;if((M|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{S=h>>>31;A=s[H>>2]|0;if((A|0)>-1){h=s[G>>2]|0;if((h+(s[L>>2]|0)|0)>>>0<(s[V>>2]|0)>>>0){s[G>>2]=h+1;r[(s[_>>2]|0)+h>>0]=A+S;A=0}else A=-1;s[o>>2]=s[o>>2]|A}A=s[D>>2]|0;if(A|0){S=S+255&255;do{h=s[G>>2]|0;if((h+(s[L>>2]|0)|0)>>>0<(s[V>>2]|0)>>>0){s[G>>2]=h+1;r[(s[_>>2]|0)+h>>0]=S;h=0;A=s[D>>2]|0}else h=-1;s[o>>2]=s[o>>2]|h;A=A+-1|0;s[D>>2]=A}while((A|0)!=0)}s[H>>2]=M&255;h=s[y>>2]|0;A=s[U>>2]|0}s[y>>2]=h<<8&2147483392;A=A<<8;s[U>>2]=A;s[q>>2]=(s[q>>2]|0)+8}}else{d=d+K|0;X=169}while(0);if((X|0)==169)s[u>>2]=0;h=d-B|0;S=s[Q>>2]|0;S=(n[S+(W<<1)>>1]|0)-(n[S+(t<<1)>>1]|0)|0;d=(h>>>0)/(S>>>0)|0;S=te(S,d)|0;A=t;while(1){if((A|0)>=(W|0))break;X=A+1|0;K=s[Q>>2]|0;K=te(d,(n[K+(X<<1)>>1]|0)-(n[K+(A<<1)>>1]|0)|0)|0;_=b+(A<<2)|0;s[_>>2]=(s[_>>2]|0)+K;A=X}A=t;d=h-S|0;while(1){if((A|0)>=(W|0))break;_=A+1|0;X=s[Q>>2]|0;X=(n[X+(_<<1)>>1]|0)-(n[X+(A<<1)>>1]|0)|0;X=(d|0)<(X|0)?d:X;K=b+(A<<2)|0;s[K>>2]=(s[K>>2]|0)+X;A=_;d=d-X|0}O=e+56|0;C=Y?4:3;P=0;while(1){if((t|0)>=(W|0))break;I=t+1|0;M=s[Q>>2]|0;M=(n[M+(I<<1)>>1]|0)-(n[M+(t<<1)>>1]|0)<>2]|0)+P|0;if((M|0)>1){d=s[f+(t<<2)>>2]|0;d=(A|0)>(d|0)?A-d|0:0;T=A-d|0;s[R>>2]=T;A=te(M,g)|0;if(ee&(M|0)>2?(s[u>>2]|0)==0:0)h=(t|0)<(s[c>>2]|0);else h=0;x=A+(h&1)|0;S=te(x,(n[(s[O>>2]|0)+(t<<1)>>1]|0)+Z|0)|0;A=(S>>1)+(te(x,-21)|0)|0;if((M|0)==2)A=A+(x<<3>>2)|0;h=T+A|0;if((h|0)>=(x<<4|0))if((h|0)<(x*24|0))M=A+(S>>3)|0;else M=A;else M=A+(S>>2)|0;A=T+M+(x<<2)|0;A=((((A|0)<0?0:A)>>>0)/(x>>>0)|0)>>>3;S=m+(t<<2)|0;s[S>>2]=A;e=te(A,g)|0;h=s[R>>2]|0;if((e|0)>(h>>3|0)){A=h>>$>>3;s[S>>2]=A}e=(A|0)<8?A:8;s[S>>2]=e;e=te(e,x<<3)|0;s[w+(t<<2)>>2]=(e|0)>=((s[R>>2]|0)+M|0)&1;e=(te(s[S>>2]|0,g)|0)<<3;s[R>>2]=(s[R>>2]|0)-e}else{d=(A|0)<(J|0)?0:A-J|0;s[R>>2]=A-d;s[m+(t<<2)>>2]=0;s[w+(t<<2)>>2]=1}if((d|0)<=0){P=d;t=I;continue}Y=d>>C;X=m+(t<<2)|0;_=s[X>>2]|0;e=8-_|0;e=(Y|0)<(e|0)?Y:e;s[X>>2]=_+e;e=(te(e,g)|0)<<3;s[w+(t<<2)>>2]=(e|0)>=(d-P|0)&1;P=d-e|0;t=I}s[p>>2]=P;while(1){if((t|0)>=(i|0))break;u=b+(t<<2)|0;c=m+(t<<2)|0;s[c>>2]=s[u>>2]>>$>>3;s[u>>2]=0;s[w+(t<<2)>>2]=(s[c>>2]|0)<1&1;t=t+1|0}l=ie;return W|0}function xi(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var n=0,a=0,o=0,f=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0;v=l;w=l;l=l+((1*(r<<2)|0)+15&-16)|0;g=l;l=l+((1*(r<<2)|0)+15&-16)|0;n=0;do{m=e+(n<<2)|0;p=+h[m>>2];s[g+(n<<2)>>2]=p<0&1;h[m>>2]=+q(+p);s[t+(n<<2)>>2]=0;h[w+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(r|0));if((r>>1|0)<(i|0)){n=0;a=0;do{a=a+ +h[e+(n<<2)>>2];n=n+1|0}while((n|0)<(r|0));if(!(a>1.0000000036274937e-15&a<64)){h[e>>2]=1;n=1;do{h[e+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(r|0));a=1}f=(+(i|0)+.8)*(1/a);c=0;n=i;o=0;a=0;do{b=e+(c<<2)|0;m=~~+z(+(f*+h[b>>2]));s[t+(c<<2)>>2]=m;p=+(m|0);a=a+p*p;o=o+ +h[b>>2]*p;h[w+(c<<2)>>2]=p*2;n=n-m|0;c=c+1|0}while((c|0)<(r|0))}else{n=i;o=0;a=0}if((n|0)>(r+3|0)){p=+(n|0);a=a+p*p+p*+h[w>>2];s[t>>2]=(s[t>>2]|0)+n;n=0}m=0;while(1){if((m|0)>=(n|0)){n=0;break}a=a+1;p=o+ +h[e>>2];d=a+ +h[w>>2];c=0;p=p*p;b=1;while(1){u=o+ +h[e+(b<<2)>>2];f=a+ +h[w+(b<<2)>>2];u=u*u;i=d*u>f*p;c=i?b:c;b=b+1|0;if((b|0)>=(r|0))break;else{d=i?f:d;p=i?u:p}}d=+h[e+(c<<2)>>2];b=w+(c<<2)|0;p=+h[b>>2];h[b>>2]=p+2;b=t+(c<<2)|0;s[b>>2]=(s[b>>2]|0)+1;m=m+1|0;o=o+d;a=a+p}do{e=t+(n<<2)|0;w=s[g+(n<<2)>>2]|0;s[e>>2]=(s[e>>2]^0-w)+w;n=n+1|0}while((n|0)<(r|0));l=v;return+a}function Ri(e,t,i,n,a,o,f,c){e=e|0;t=t|0;i=i|0;n=n|0;a=a|0;o=o|0;f=+f;c=c|0;var u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0;I=l;R=l;l=l+((1*(t+3<<2)|0)+15&-16)|0;Ii(e,t,1,a,i,n);d=+xi(e,R,i,t);b=t+-1|0;w=s[R+(b<<2)>>2]|0;u=w>>>31;w=(w|0)>-1?w:0-w|0;while(1){m=b;b=b+-1|0;p=t-b|0;u=u+(s[(s[17748+(((p|0)<(w|0)?p:w)<<2)>>2]|0)+(((p|0)>(w|0)?p:w)<<2)>>2]|0)|0;x=s[R+(b<<2)>>2]|0;w=w+((x|0)>-1?x:0-x|0)|0;if((x|0)<0){T=w+1|0;T=u+(s[(s[17748+(((p|0)>(w|0)?T:p)<<2)>>2]|0)+(((p|0)>(T|0)?p:T)<<2)>>2]|0)|0}else T=u;if((m|0)<=1)break;else u=T}p=(t|0)>(i|0);b=i+1|0;b=(s[(s[17748+(((t|0)<(i|0)?t:i)<<2)>>2]|0)+((p?t:i)<<2)>>2]|0)+(s[(s[17748+((p?b:t)<<2)>>2]|0)+(((b|0)<(t|0)?t:b)<<2)>>2]|0)|0;p=b+-1|0;u=32-(re(p|0)|0)|0;e:do if((u|0)>8){x=u+-8|0;u=p>>>x;p=u+1|0;b=T>>>x;y=o+28|0;m=s[y>>2]|0;w=(m>>>0)/(p>>>0)|0;if(!b){w=m-(te(w,u)|0)|0;s[y>>2]=w;_=o+32|0}else{M=m-(te(w,p-b|0)|0)|0;_=o+32|0;s[_>>2]=(s[_>>2]|0)+M;s[y>>2]=w}g=o+36|0;M=o+20|0;v=o+40|0;k=o+24|0;E=o+8|0;A=o+4|0;S=o+44|0;while(1){if(w>>>0>=8388609)break;u=s[_>>2]|0;m=u>>>23;if((m|0)==255)s[g>>2]=(s[g>>2]|0)+1;else{b=u>>>31;u=s[v>>2]|0;if((u|0)>-1){p=s[k>>2]|0;if((p+(s[E>>2]|0)|0)>>>0<(s[A>>2]|0)>>>0){s[k>>2]=p+1;r[(s[o>>2]|0)+p>>0]=u+b;u=0}else u=-1;s[S>>2]=s[S>>2]|u}u=s[g>>2]|0;if(u|0){b=b+255&255;do{p=s[k>>2]|0;if((p+(s[E>>2]|0)|0)>>>0<(s[A>>2]|0)>>>0){s[k>>2]=p+1;r[(s[o>>2]|0)+p>>0]=b;p=0;u=s[g>>2]|0}else p=-1;s[S>>2]=s[S>>2]|p;u=u+-1|0;s[g>>2]=u}while((u|0)!=0)}s[v>>2]=m&255;u=s[_>>2]|0;w=s[y>>2]|0}s[_>>2]=u<<8&2147483392;w=w<<8;s[y>>2]=w;s[M>>2]=(s[M>>2]|0)+8}v=(1<>2]|0;y=o+16|0;p=s[y>>2]|0;if((p+x|0)>>>0>32){w=7-p|0;w=p+((w|0)>-8?w:-8)&-8;g=p;do{b=s[E>>2]|0;m=s[A>>2]|0;if(((s[k>>2]|0)+b|0)>>>0>>0){b=b+1|0;s[E>>2]=b;r[(s[o>>2]|0)+(m-b)>>0]=u;b=0}else b=-1;s[S>>2]=s[S>>2]|b;u=u>>>8;g=g+-8|0}while((g|0)>7);p=p+-8-w|0}s[_>>2]=u|v<>2]=p+x;s[M>>2]=(s[M>>2]|0)+x}else{S=o+28|0;u=s[S>>2]|0;p=(u>>>0)/(b>>>0)|0;if(!T){p=u-(te(p,b+-1|0)|0)|0;s[S>>2]=p;A=o+32|0}else{x=u-(te(p,b-T|0)|0)|0;A=o+32|0;s[A>>2]=(s[A>>2]|0)+x;s[S>>2]=p}w=o+36|0;g=o+20|0;v=o+40|0;_=o+24|0;y=o+8|0;k=o+4|0;E=o+44|0;while(1){if(p>>>0>=8388609)break e;u=s[A>>2]|0;m=u>>>23;if((m|0)==255)s[w>>2]=(s[w>>2]|0)+1;else{b=u>>>31;u=s[v>>2]|0;if((u|0)>-1){p=s[_>>2]|0;if((p+(s[y>>2]|0)|0)>>>0<(s[k>>2]|0)>>>0){s[_>>2]=p+1;r[(s[o>>2]|0)+p>>0]=u+b;u=0}else u=-1;s[E>>2]=s[E>>2]|u}u=s[w>>2]|0;if(u|0){b=b+255&255;do{p=s[_>>2]|0;if((p+(s[y>>2]|0)|0)>>>0<(s[k>>2]|0)>>>0){s[_>>2]=p+1;r[(s[o>>2]|0)+p>>0]=b;p=0;u=s[w>>2]|0}else p=-1;s[E>>2]=s[E>>2]|p;u=u+-1|0;s[w>>2]=u}while((u|0)!=0)}s[v>>2]=m&255;u=s[A>>2]|0;p=s[S>>2]|0}s[A>>2]=u<<8&2147483392;p=p<<8;s[S>>2]=p;s[g>>2]=(s[g>>2]|0)+8}}while(0);if(c|0){d=1/+H(+d)*f;u=0;do{h[e+(u<<2)>>2]=d*+(s[R+(u<<2)>>2]|0);u=u+1|0}while((u|0)<(t|0));Ii(e,t,-1,a,i,n)}if((a|0)<2){a=1;l=I;return a|0}w=(t>>>0)/(a>>>0)|0;u=0;g=0;do{p=te(g,w)|0;b=0;m=0;do{m=m|s[R+(p+b<<2)>>2];b=b+1|0}while((b|0)<(w|0));u=u|((m|0)!=0&1)<=(t|0)|(a|0)==0)return;y=+(t|0)/+((te(s[17352+(a+-1<<2)>>2]|0,n)|0)+t|0);y=y*y*.5;_=+V(+(y*1.5707963705062866));y=+V(+((1-y)*1.5707963705062866));e:do if((r<<3|0)>(t|0))a=0;else{n=r>>2;a=1;while(1){if(((te((te(a,a)|0)+a|0,r)|0)+n|0)>=(t|0))break e;a=a+1|0}}while(0);v=(t>>>0)/(r>>>0)|0;o=(i|0)<0;f=(a|0)==0;c=-y;l=v+-1|0;u=v+-3|0;d=v+-2|0;p=-_;b=v-a|0;m=v-(a<<1)|0;w=m+-1|0;g=0;while(1){if((g|0)>=(r|0))break;i=e+((te(g,v)|0)<<2)|0;e:do if(!o){n=i;t=0;while(1){if((t|0)>=(l|0))break;A=+h[n>>2];k=n+4|0;E=+h[k>>2];h[k>>2]=E*_+A*c;h[n>>2]=A*_+E*y;n=k;t=t+1|0}n=i+(u<<2)|0;t=d;while(1){if((t|0)<=0)break;E=+h[n>>2];k=n+4|0;A=+h[k>>2];h[k>>2]=A*_+E*c;h[n>>2]=E*_+A*y;n=n+-4|0;t=t+-1|0}if(!f){n=i;t=0;while(1){if((t|0)>=(b|0))break;E=+h[n>>2];k=n+(a<<2)|0;A=+h[k>>2];h[k>>2]=A*y+E*p;h[n>>2]=E*y+A*_;n=n+4|0;t=t+1|0}n=i+(w<<2)|0;t=m;while(1){if((t|0)<=0)break e;E=+h[n>>2];k=n+(a<<2)|0;A=+h[k>>2];h[k>>2]=A*y+E*p;h[n>>2]=E*y+A*_;n=n+-4|0;t=t+-1|0}}}else{t:do if(f){n=i;t=0}else{n=i;t=0;while(1){if((t|0)>=(b|0))break;E=+h[n>>2];k=n+(a<<2)|0;A=+h[k>>2];h[k>>2]=A*y+E*_;h[n>>2]=E*y+A*p;n=n+4|0;t=t+1|0}n=i+(w<<2)|0;t=m;while(1){if((t|0)<=0){n=i;t=0;break t}E=+h[n>>2];k=n+(a<<2)|0;A=+h[k>>2];h[k>>2]=A*y+E*_;h[n>>2]=E*y+A*p;n=n+-4|0;t=t+-1|0}}while(0);while(1){if((t|0)>=(l|0))break;E=+h[n>>2];k=n+4|0;A=+h[k>>2];h[k>>2]=A*_+E*y;h[n>>2]=E*_+A*c;n=k;t=t+1|0}n=i+(u<<2)|0;t=d;while(1){if((t|0)<=0)break e;E=+h[n>>2];k=n+4|0;A=+h[k>>2];h[k>>2]=A*_+E*y;h[n>>2]=E*_+A*c;n=n+-4|0;t=t+-1|0}}while(0);g=g+1|0}return}function Ci(e,t,i,r,n,a,o){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;a=a|0;o=+o;var f=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0;_=l;v=l;l=l+((1*(t<<2)|0)+15&-16)|0;g=(t|0)>(i|0);p=i+1|0;m=t;w=i;p=ci(a,(s[(s[17748+(((t|0)<(i|0)?t:i)<<2)>>2]|0)+((g?t:i)<<2)>>2]|0)+(s[(s[17748+((g?p:t)<<2)>>2]|0)+(((p|0)<(t|0)?t:p)<<2)>>2]|0)|0)|0;g=v;f=0;while(1){if((m|0)<=2)break;do if((w|0)<(m|0)){a=s[(s[17748+(w<<2)>>2]|0)+(m<<2)>>2]|0;c=s[(s[17748+(w+1<<2)>>2]|0)+(m<<2)>>2]|0;if(p>>>0>=a>>>0&p>>>0>>0){s[g>>2]=0;c=p-a|0;a=w;break}d=p>>>0>=c>>>0;c=p-(d?c:0)|0;a=w;do{a=a+-1|0;u=s[(s[17748+(a<<2)>>2]|0)+(m<<2)>>2]|0}while(c>>>0>>0);b=d<<31>>31;w=w-a+b^b;s[g>>2]=w<<16>>16;y=+((w&65535)<<16>>16);c=c-u|0;f=f+y*y}else{u=s[17748+(m<<2)>>2]|0;d=s[u+(w+1<<2)>>2]|0;c=p>>>0>=d>>>0;b=c<<31>>31;d=p-(c?d:0)|0;e:do if((s[u+(m<<2)>>2]|0)>>>0>d>>>0){a=m;do{a=a+-1|0;c=s[(s[17748+(a<<2)>>2]|0)+(m<<2)>>2]|0}while(c>>>0>d>>>0)}else{a=w;while(1){c=s[u+(a<<2)>>2]|0;if(c>>>0<=d>>>0)break e;a=a+-1|0}}while(0);w=w-a+b^b;s[g>>2]=w<<16>>16;y=+((w&65535)<<16>>16);c=d-c|0;f=f+y*y}while(0);m=m+-1|0;w=a;p=c;g=g+4|0}a=w<<1|1;c=p>>>0>=a>>>0;u=c<<31>>31;a=p-(c?a:0)|0;c=(a+1|0)>>>1;if(c)a=a-((c<<1)+-1)|0;w=w-c+u^u;s[g>>2]=w<<16>>16;k=+((w&65535)<<16>>16);a=c-a^0-a;s[g+4>>2]=a<<16>>16;y=+((a&65535)<<16>>16);f=1/+H(+(f+k*k+y*y))*o;a=0;do{h[e+(a<<2)>>2]=f*+(s[v+(a<<2)>>2]|0);a=a+1|0}while((a|0)<(t|0));Ii(e,t,-1,n,i,r);if((n|0)<2){n=1;l=_;return n|0}p=(t>>>0)/(n>>>0)|0;a=0;b=0;do{c=te(b,p)|0;u=0;d=0;do{d=d|s[v+(c+u<<2)>>2];u=u+1|0}while((u|0)<(p|0));a=a|((d|0)!=0&1)<>2]=0;s[U+4>>2]=0;U=t+4|0;e:do if(!f)f=s[U>>2]|0;else{d=0;while(1){f=s[U>>2]|0;if((d|0)>=(f|0))break e;s[e+(d*4260|0)+2388>>2]=0;d=d+1|0}}while(0);F=e+8536|0;if((f|0)>(s[F>>2]|0)){f=e+4260|0;kn(f|0,0,4260)|0;s[e+6636>>2]=1;s[f>>2]=65536;s[e+8408>>2]=0;s[e+8412>>2]=3176576;s[e+8428>>2]=s[e+6588>>2]<<7;s[e+8500>>2]=65536;s[e+8504>>2]=65536;s[e+8516>>2]=20;s[e+8512>>2]=2;f=s[U>>2]|0}if((f|0)==1?(s[F>>2]|0)==2:0)B=(s[t+12>>2]|0)==((s[e+2316>>2]|0)*1e3|0);else B=0;O=e+2388|0;e:do if(!(s[O>>2]|0)){E=t+16|0;A=t+12|0;S=t+8|0;k=0;M=0;t:while(1){if((k|0)>=(f|0))break e;switch(s[E>>2]|0){case 0:{s[e+(k*4260|0)+2392>>2]=1;s[e+(k*4260|0)+2324>>2]=2;f=2;break}case 10:{s[e+(k*4260|0)+2392>>2]=1;s[e+(k*4260|0)+2324>>2]=2;f=2;break}case 20:{s[e+(k*4260|0)+2392>>2]=1;s[e+(k*4260|0)+2324>>2]=4;f=4;break}case 40:{s[e+(k*4260|0)+2392>>2]=2;s[e+(k*4260|0)+2324>>2]=4;f=4;break}case 60:{s[e+(k*4260|0)+2392>>2]=3;s[e+(k*4260|0)+2324>>2]=4;f=4;break}default:{f=-203;T=183;break t}}g=s[A>>2]>>10;v=g+1|0;_=(v|0)==8;switch(g|0){case 7:case 11:case 15:break;default:{f=-200;T=183;break t}}p=s[S>>2]|0;y=v<<16>>16;s[e+(k*4260|0)+2332>>2]=y*5;b=e+(k*4260|0)+2324|0;m=te(f,y*327680>>16)|0;w=e+(k*4260|0)+2316|0;f=e+(k*4260|0)+2320|0;if((s[w>>2]|0)==(v|0)?(s[f>>2]|0)==(p|0):0){f=1;d=0;T=23}else{d=qi(e+(k*4260|0)+2432|0,y*1e3|0,p,0)|0;s[f>>2]=p;f=(s[w>>2]|0)==(v|0);if(f)T=23;else T=24}if((T|0)==23){T=0;if((m|0)!=(s[e+(k*4260|0)+2328>>2]|0))T=24}if((T|0)==24){T=0;p=(s[b>>2]|0)==4;b=e+(k*4260|0)+2384|0;do if(_)if(p){s[b>>2]=30064;break}else{s[b>>2]=30087;break}else if(p){s[b>>2]=30030;break}else{s[b>>2]=30075;break}while(0);if(!f){s[e+(k*4260|0)+2336>>2]=y*20;switch(g|0){case 7:case 11:{s[e+(k*4260|0)+2340>>2]=10;s[e+(k*4260|0)+2732>>2]=22896;if((v|0)==12)s[e+(k*4260|0)+2380>>2]=29956;else T=37;break}default:{s[e+(k*4260|0)+2340>>2]=16;s[e+(k*4260|0)+2732>>2]=22936;if((v|0)==16)s[e+(k*4260|0)+2380>>2]=29962;else T=37}}if((T|0)==37?(0,_):0)s[e+(k*4260|0)+2380>>2]=29947;s[e+(k*4260|0)+2376>>2]=1;s[e+(k*4260|0)+2308>>2]=100;r[e+(k*4260|0)+2312>>0]=10;s[e+(k*4260|0)+4164>>2]=0;kn(e+(k*4260|0)+1284|0,0,1024)|0}s[w>>2]=v;s[e+(k*4260|0)+2328>>2]=m}f=s[U>>2]|0;k=k+1|0;M=M+d|0}if((T|0)==183){l=z;return f|0}}else M=0;while(0);d=s[t>>2]|0;do if((d|0)==2)if((f|0)==2){if((s[e+8532>>2]|0)!=1?(s[F>>2]|0)!=1:0){f=2;break}s[e+8520>>2]=0;s[e+8528>>2]=0;Mn(e+6692|0,e+2432|0,300)|0;f=s[t>>2]|0}else f=2;else f=d;while(0);s[e+8532>>2]=f;s[F>>2]=s[U>>2];P=t+8|0;if(((s[P>>2]|0)+-8e3|0)>>>0>4e4){e=-200;l=z;return e|0}N=(i|0)==1;e:do if(!N?(s[O>>2]|0)==0:0){A=h+28|0;S=h+32|0;T=h+20|0;x=h+40|0;R=h+24|0;I=h+4|0;v=0;while(1){f=s[U>>2]|0;if((v|0)>=(f|0)){_=0;break}m=e+(v*4260|0)+2392|0;w=0;while(1){p=s[A>>2]|0;d=s[S>>2]|0;f=p>>>1;b=d>>>0>>0;g=b&1;if((w|0)>=(s[m>>2]|0))break;if(!b){d=d-f|0;s[S>>2]=d;f=p-f|0}s[A>>2]=f;while(1){if(f>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;f=f<<8;s[A>>2]=f;b=s[x>>2]|0;p=s[R>>2]|0;if(p>>>0<(s[I>>2]|0)>>>0){s[R>>2]=p+1;p=a[(s[h>>2]|0)+p>>0]|0}else p=0;s[x>>2]=p;E=((b<<8|p)>>>1&255|d<<8&2147483392)^255;s[S>>2]=E;d=E}s[e+(v*4260|0)+2404+(w<<2)>>2]=g;w=w+1|0}if(!b){d=d-f|0;s[S>>2]=d;f=p-f|0}s[A>>2]=f;while(1){if(f>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;f=f<<8;s[A>>2]=f;b=s[x>>2]|0;p=s[R>>2]|0;if(p>>>0<(s[I>>2]|0)>>>0){s[R>>2]=p+1;p=a[(s[h>>2]|0)+p>>0]|0}else p=0;s[x>>2]=p;E=((b<<8|p)>>>1&255|d<<8&2147483392)^255;s[S>>2]=E;d=E}s[e+(v*4260|0)+2416>>2]=g;v=v+1|0}while(1){if((_|0)>=(f|0))break;f=e+(_*4260|0)+2420|0;s[f>>2]=0;s[f+4>>2]=0;s[f+8>>2]=0;t:do if(s[e+(_*4260|0)+2416>>2]|0){v=e+(_*4260|0)+2392|0;d=s[v>>2]|0;if((d|0)==1){s[f>>2]=1;break}f=s[17520+(d+-2<<2)>>2]|0;w=s[A>>2]|0;d=s[S>>2]|0;p=w>>>8;g=-1;while(1){b=g+1|0;m=te(p,a[f+b>>0]|0)|0;if(d>>>0>>0){g=b;w=m}else break}b=d-m|0;s[S>>2]=b;f=w-m|0;s[A>>2]=f;while(1){if(f>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;f=f<<8;s[A>>2]=f;p=s[x>>2]|0;d=s[R>>2]|0;if(d>>>0<(s[I>>2]|0)>>>0){s[R>>2]=d+1;d=a[(s[h>>2]|0)+d>>0]|0}else d=0;s[x>>2]=d;E=((p<<8|d)>>>1&255|b<<8&2147483392)^255;s[S>>2]=E;b=E}f=g+2|0;d=0;while(1){if((d|0)>=(s[v>>2]|0))break t;s[e+(_*4260|0)+2420+(d<<2)>>2]=f>>>d&1;d=d+1|0}}while(0);f=s[U>>2]|0;_=_+1|0}if(!i){k=e+2392|0;E=e+6680|0;d=0;y=0;while(1){if((y|0)>=(s[k>>2]|0))break e;g=E+(y<<2)|0;v=(y|0)>0;_=y+-1|0;w=0;while(1){if((w|0)>=(f|0))break;if(s[e+(w*4260|0)+2420+(y<<2)>>2]|0){t:do if((f|0)==2&(w|0)==0?(Ki(h,L),(s[g>>2]|0)==0):0){m=s[A>>2]|0;f=s[S>>2]|0;p=m>>>8;d=-1;while(1){d=d+1|0;b=te(p,a[29916+d>>0]|0)|0;if(f>>>0>=b>>>0)break;else m=b}p=f-b|0;s[S>>2]=p;f=m-b|0;s[A>>2]=f;m=p;while(1){if(f>>>0>=8388609)break t;s[T>>2]=(s[T>>2]|0)+8;f=f<<8;s[A>>2]=f;b=s[x>>2]|0;p=s[R>>2]|0;if(p>>>0<(s[I>>2]|0)>>>0){s[R>>2]=p+1;p=a[(s[h>>2]|0)+p>>0]|0}else p=0;s[x>>2]=p;b=((b<<8|p)>>>1&255|m<<8&2147483392)^255;s[S>>2]=b;m=b}}while(0);if(v?(s[e+(w*4260|0)+2420+(_<<2)>>2]|0)!=0:0)f=2;else f=0;dr(e+(w*4260|0)|0,h,y,1,f);pr(h,C,r[e+(w*4260|0)+2765>>0]|0,r[e+(w*4260|0)+2766>>0]|0,s[e+(w*4260|0)+2328>>2]|0);f=s[U>>2]|0}w=w+1|0}y=y+1|0}}else d=0}else d=0;while(0);f=s[U>>2]|0;do if((f|0)==2){switch(i|0){case 0:{Ki(h,L);if(!(s[e+6664+(s[O>>2]<<2)>>2]|0))T=112;else{d=0;T=121}break}case 2:{if((s[e+2420+(s[O>>2]<<2)>>2]|0)==1){Ki(h,L);if(!(s[e+6680+(s[O>>2]<<2)>>2]|0))T=112;else{d=0;T=121}}else T=108;break}default:T=108}e:do if((T|0)==108){f=e+8520|0;p=0;while(1){if((p|0)==2)break e;s[L+(p<<2)>>2]=n[f+(p<<1)>>1];p=p+1|0}}else if((T|0)==112){y=h+28|0;m=s[y>>2]|0;k=h+32|0;f=s[k>>2]|0;p=m>>>8;d=-1;while(1){d=d+1|0;b=te(p,a[29916+d>>0]|0)|0;if(f>>>0>=b>>>0)break;else m=b}_=f-b|0;s[k>>2]=_;f=m-b|0;s[y>>2]=f;m=h+20|0;w=h+40|0;g=h+24|0;v=h+4|0;while(1){if(f>>>0>=8388609){T=121;break e}s[m>>2]=(s[m>>2]|0)+8;f=f<<8;s[y>>2]=f;b=s[w>>2]|0;p=s[g>>2]|0;if(p>>>0<(s[v>>2]|0)>>>0){s[g>>2]=p+1;p=a[(s[h>>2]|0)+p>>0]|0}else p=0;s[w>>2]=p;C=((b<<8|p)>>>1&255|_<<8&2147483392)^255;s[k>>2]=C;_=C}}while(0);if((T|0)==121){f=s[U>>2]|0;if((f|0)!=2)break}if((d|0)==0?(s[e+8540>>2]|0)==1:0){kn(e+5544|0,0,1024)|0;s[e+6568>>2]=100;r[e+6572>>0]=10;s[e+8424>>2]=0;s[e+6636>>2]=1;f=s[U>>2]|0}else f=2}while(0);x=te(s[t+12>>2]|0,f)|0;x=(x|0)<(te(s[P>>2]|0,s[t>>2]|0)|0);if(x){I=Ne()|0;s[j>>2]=c;T=c+(s[e+2328>>2]<<1)+4|0;s[j+4>>2]=T;m=c}else{T=e+2328|0;C=te(f,(s[T>>2]|0)+2|0)|0;I=Ne()|0;m=l;l=l+((1*(C<<1)|0)+15&-16)|0;s[j>>2]=m;T=m+(s[T>>2]<<1)+4|0;s[j+4>>2]=T}if(!i){R=e+8540|0;b=(d|0)==0&1}else{f=e+8540|0;if(s[f>>2]|0)if((s[U>>2]|0)==2&(i|0)==2)p=(s[e+6680+(s[e+6648>>2]<<2)>>2]|0)==1;else p=0;else p=1;R=f;b=p&1}p=(i|0)==2;w=0;while(1){f=s[U>>2]|0;if((w|0)>=(f|0))break;if((w|0)==0|(b|0)!=0){f=(s[O>>2]|0)-w|0;do if((f|0)<1)f=0;else{if(p){f=s[e+(w*4260|0)+2420+(f+-1<<2)>>2]|0?2:0;break}if((w|0)>0?s[R>>2]|0:0){f=1;break}f=2}while(0);f=M+(ur(e+(w*4260|0)|0,h,(s[j+(w<<2)>>2]|0)+4|0,D,i,f)|0)|0}else{kn((s[j+(w<<2)>>2]|0)+4|0,0,s[D>>2]<<1|0)|0;f=M}M=e+(w*4260|0)+2388|0;s[M>>2]=(s[M>>2]|0)+1;w=w+1|0;M=f}e:do if((s[t>>2]|0)==2&(f|0)==2){ -E=e+8520|0;A=e+2316|0;f=s[A>>2]|0;S=s[D>>2]|0;y=e+8524|0;w=o[y>>1]|o[y+2>>1]<<16;n[m>>1]=w;n[m+2>>1]=w>>>16;w=e+8528|0;g=o[w>>1]|o[w+2>>1]<<16;n[T>>1]=g;n[T+2>>1]=g>>>16;g=m+(S<<1)|0;g=o[g>>1]|o[g+2>>1]<<16;n[y>>1]=g;n[y+2>>1]=g>>>16;y=T+(S<<1)|0;y=o[y>>1]|o[y+2>>1]<<16;n[w>>1]=y;n[w+2>>1]=y>>>16;w=n[E>>1]|0;y=e+8522|0;g=n[y>>1]|0;f=f<<3;k=s[L>>2]|0;p=(65536/(f|0)|0)<<16>>16;v=((te(k-(w&65535)<<16>>16,p)|0)>>15)+1>>1;_=s[L+4>>2]|0;p=((te(_-(g&65535)<<16>>16,p)|0)>>15)+1>>1;b=0;w=w<<16>>16;g=g<<16>>16;while(1){if((b|0)>=(f|0))break;D=w+v|0;L=g+p|0;h=b+1|0;C=n[m+(h<<1)>>1]|0;H=(n[m+(b<<1)>>1]|0)+(n[m+(b+2<<1)>>1]|0)+(C<<1)|0;i=T+(h<<1)|0;q=D<<16>>16;O=L<<16>>16;O=((n[i>>1]<<8)+((te(H>>7,q)|0)+((te(H<<9&65024,q)|0)>>16))+((te(C>>5,O)|0)+((te(C<<11&63488,O)|0)>>16))>>7)+1>>1;n[i>>1]=(O|0)>32767?32767:((O|0)<-32768?-32768:O)&65535;b=h;w=D;g=L}p=k<<16>>16;b=_<<16>>16;while(1){if((f|0)>=(S|0))break;H=f+1|0;L=n[m+(H<<1)>>1]|0;D=(n[m+(f<<1)>>1]|0)+(n[m+(f+2<<1)>>1]|0)+(L<<1)|0;q=T+(H<<1)|0;L=((n[q>>1]<<8)+((te(D>>7,p)|0)+((te(D<<9&65024,p)|0)>>16))+((te(L>>5,b)|0)+((te(L<<11&63488,b)|0)>>16))>>7)+1>>1;n[q>>1]=(L|0)>32767?32767:((L|0)<-32768?-32768:L)&65535;f=H}n[E>>1]=k;n[y>>1]=_;f=0;while(1){if((f|0)>=(S|0)){v=A;g=S;break e}H=f+1|0;D=m+(H<<1)|0;i=n[D>>1]|0;q=T+(H<<1)|0;L=n[q>>1]|0;h=i+L|0;L=i-L|0;n[D>>1]=(h|0)>32767?32767:((h|0)<-32768?-32768:h)&65535;n[q>>1]=(L|0)>32767?32767:((L|0)<-32768?-32768:L)&65535;f=H}}else{v=e+8524|0;g=o[v>>1]|o[v+2>>1]<<16;n[m>>1]=g;n[m+2>>1]=g>>>16;g=s[D>>2]|0;m=s[j>>2]|0;H=m+(g<<1)|0;H=o[H>>1]|o[H+2>>1]<<16;n[v>>1]=H;n[v+2>>1]=H>>>16;v=e+2316|0}while(0);p=te(g,s[P>>2]|0)|0;p=(p|0)/((s[v>>2]<<16>>16)*1e3|0)|0;s[u>>2]=p;f=s[t>>2]|0;b=(f|0)==2;if(b){w=l;l=l+((1*((b?p:1)<<1)|0)+15&-16)|0}else w=c;if(x){H=s[e+2328>>2]|0;q=te(s[U>>2]|0,H+2|0)|0;m=l;l=l+((1*(q<<1)|0)+15&-16)|0;Mn(m|0,c|0,q<<1|0)|0;s[j>>2]=m;s[j+4>>2]=m+(H<<1)+4}b=0;while(1){p=s[U>>2]|0;if((b|0)>=(((f|0)<(p|0)?f:p)|0))break;Hi(e+(b*4260|0)+2432|0,w,(s[j+(b<<2)>>2]|0)+2|0,g);f=s[t>>2]|0;if((f|0)==2){f=0;while(1){if((f|0)>=(s[u>>2]|0))break;n[c+(b+(f<<1)<<1)>>1]=n[w+(f<<1)>>1]|0;f=f+1|0}f=s[t>>2]|0}b=b+1|0}e:do if((f|0)==2&(p|0)==1){if(!B){f=0;while(1){if((f|0)>=(s[u>>2]|0))break e;H=f<<1;n[c+((H|1)<<1)>>1]=n[c+(H<<1)>>1]|0;f=f+1|0}}Hi(e+6692|0,w,m+2|0,g);f=0;while(1){if((f|0)>=(s[u>>2]|0))break e;n[c+((f<<1|1)<<1)>>1]=n[w+(f<<1)>>1]|0;f=f+1|0}}while(0);if((s[e+4164>>2]|0)==2)f=te(s[e+2308>>2]|0,s[17364+((s[v>>2]|0)+-8>>2<<2)>>2]|0)|0;else f=0;s[t+20>>2]=f;e:do if(N){f=0;while(1){if((f|0)>=(s[F>>2]|0))break e;r[e+(f*4260|0)+2312>>0]=10;f=f+1|0}}else s[R>>2]=d;while(0);qe(I|0);H=M;l=z;return H|0}function Oi(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,n=0,a=0;kn(e|0,0,20400)|0;r=0;n=0;while(1){if((r|0)==2)break;a=n+(Fi(e+(r*10156|0)|0,t)|0)|0;r=r+1|0;n=a}s[e+20376>>2]=1;a=e+20380|0;s[a>>2]=1;s[i>>2]=1;s[i+4>>2]=s[a>>2];s[i+8>>2]=s[e+4648>>2];s[i+12>>2]=s[e+4656>>2];s[i+16>>2]=s[e+4660>>2];s[i+20>>2]=s[e+4664>>2];s[i+24>>2]=s[e+4704>>2];s[i+28>>2]=s[e+4700>>2];s[i+32>>2]=s[e+4708>>2];s[i+36>>2]=s[e+4716>>2];s[i+40>>2]=s[e+6180>>2];s[i+48>>2]=s[e+6168>>2];s[i+52>>2]=s[e+4768>>2];a=e+4668|0;s[i+72>>2]=(s[a>>2]<<16>>16)*1e3;s[i+76>>2]=s[e+4628>>2];if((s[a>>2]|0)!=16){r=0;r=r&1;a=i+80|0;s[a>>2]=r;return n|0}r=(s[e+28>>2]|0)==0;r=r&1;a=i+80|0;s[a>>2]=r;return n|0}function Ni(e,t,i,f,h,c,u){e=e|0;t=t|0;i=i|0;f=f|0;h=h|0;c=c|0;u=u|0;var d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0,J=0,Q=0,ee=0,ie=0,ne=0,se=0,ae=0,oe=0,fe=0,he=0,ce=0,le=0,ue=0,de=0,pe=0,be=0,me=0,we=0,ge=0,ve=0,_e=0,ye=0,ke=0,Ee=0,Ae=0,Se=0,Me=0,Te=0,xe=0,Re=0,Ie=0,Ce=0,Pe=0,Oe=0,De=0,Le=0,Be=0,Ue=0,je=0,Fe=0,ze=0,He=0,Ge=0,Ve=0,We=0,Ke=0,Ye=0,Ze=0,$e=0,Xe=0,Je=0,Qe=0,et=0,tt=0,it=0,rt=0,nt=0,st=0,at=0,ot=0;ot=l;l=l+16|0;st=ot;if(s[t+68>>2]|0){s[e+4756>>2]=1;s[e+14912>>2]=1}rt=e+15996|0;s[rt>>2]=0;nt=e+5840|0;s[nt>>2]=0;U=t+8|0;p=s[U>>2]|0;e:do if((p|0)<24e3){if((p|0)<12e3){switch(p|0){case 8e3:break e;default:d=-102}l=ot;return d|0}if((p|0)<16e3){switch(p|0){case 12e3:break e;default:d=-102}l=ot;return d|0}else{switch(p|0){case 16e3:break e;default:d=-102}l=ot;return d|0}}else if((p|0)<44100)if((p|0)<32e3){switch(p|0){case 24e3:break e;default:d=-102}l=ot;return d|0}else{switch(p|0){case 32e3:break e;default:d=-102}l=ot;return d|0}else if((p|0)<48e3){switch(p|0){case 44100:break e;default:d=-102}l=ot;return d|0}else{switch(p|0){case 48e3:break e;default:d=-102}l=ot;return d|0}while(0);B=t+20|0;p=s[B>>2]|0;e:do if((p|0)>=12e3)if((p|0)<16e3){switch(p|0){case 12e3:break e;default:d=-102}l=ot;return d|0}else{switch(p|0){case 16e3:break e;default:d=-102}l=ot;return d|0}else{switch(p|0){case 8e3:break e;default:d=-102}l=ot;return d|0}while(0);D=t+12|0;b=s[D>>2]|0;e:do if((b|0)>=12e3)if((b|0)<16e3){switch(b|0){case 12e3:break e;default:d=-102}l=ot;return d|0}else{switch(b|0){case 16e3:break e;default:d=-102}l=ot;return d|0}else{switch(b|0){case 8e3:break e;default:d=-102}l=ot;return d|0}while(0);L=t+16|0;m=s[L>>2]|0;e:do if((m|0)>=12e3)if((m|0)<16e3){switch(m|0){case 12e3:break e;default:d=-102}l=ot;return d|0}else{switch(m|0){case 16e3:break e;default:d=-102}l=ot;return d|0}else{switch(m|0){case 8e3:break e;default:d=-102}l=ot;return d|0}while(0);if((m|0)>(p|0)|(b|0)<(p|0)|(m|0)>(b|0)){e=-102;l=ot;return e|0}it=t+24|0;switch(s[it>>2]|0){case 60:case 40:case 20:case 10:break;default:{e=-103;l=ot;return e|0}}P=t+32|0;if((s[P>>2]|0)>>>0>100){e=-105;l=ot;return e|0}O=t+48|0;if((s[O>>2]|0)>>>0>1){e=-108;l=ot;return e|0}et=t+52|0;if((s[et>>2]|0)>>>0>1){e=-109;l=ot;return e|0}N=t+40|0;if((s[N>>2]|0)>>>0>1){e=-107;l=ot;return e|0}p=s[t>>2]|0;if((p+-1|0)>>>0>1){e=-111;l=ot;return e|0}at=t+4|0;b=s[at>>2]|0;if((b+-1|0)>>>0>1|(b|0)>(p|0)){e=-111;l=ot;return e|0}tt=t+36|0;if((s[tt>>2]|0)>>>0>10){e=-106;l=ot;return e|0}C=t+88|0;s[C>>2]=0;m=e+20380|0;if((b|0)>(s[m>>2]|0)){b=e+10156|0;p=Fi(b,s[e+5184>>2]|0)|0;s[e+20312>>2]=0;s[e+20320>>2]=0;s[e+20324>>2]=0;s[e+20328>>2]=1;s[e+20332>>2]=0;s[e+20336>>2]=1;n[e+20342>>1]=0;n[e+20340>>1]=16384;if((s[e+20376>>2]|0)==2){Mn(e+16024|0,e+5868|0,300)|0;$e=e;Xe=s[$e+4>>2]|0;Je=b;s[Je>>2]=s[$e>>2];s[Je+4>>2]=Xe}}else p=0;if((s[it>>2]|0)==(s[e+4704>>2]|0))I=(s[m>>2]|0)!=(s[at>>2]|0);else I=1;s[e+20376>>2]=s[t>>2];s[m>>2]=s[at>>2];b=f*100|0;m=s[U>>2]|0;R=(b|0)/(m|0)|0;Xe=(R|0)>1?R>>1:1;Je=(u|0)==0;e:do if(Je){if((te(R,m)|0)!=(b|0)|(f|0)<0){e=-101;l=ot;return e|0}if((f*1e3|0)>(te(s[it>>2]|0,m)|0)){e=-101;l=ot;return e|0}else{$e=e;u=0;w=0;break}}else{if((R|0)!=1){e=-101;l=ot;return e|0}b=0;while(1){m=s[at>>2]|0;if((b|0)>=(m|0))break;p=Fi(e+(b*10156|0)|0,s[e+(b*10156|0)+5184>>2]|0)|0;b=b+1|0}w=s[it>>2]|0;s[it>>2]=10;u=s[tt>>2]|0;s[tt>>2]=0;b=0;while(1){if((b|0)>=(m|0)){$e=e;break e}s[e+(b*10156|0)+4760>>2]=0;s[e+(b*10156|0)+4772>>2]=1;m=s[at>>2]|0;b=b+1|0}}while(0);Ze=e+4668|0;We=e+20392|0;M=t+44|0;T=t+64|0;Ke=t+56|0;Ye=e+5836|0;x=0;while(1){if((x|0)>=(s[at>>2]|0))break;if((x|0)==1)y=s[Ze>>2]|0;else y=0;k=$e+(x*10156|0)|0;v=s[We>>2]|0;S=$e+(x*10156|0)+6168|0;s[S>>2]=s[O>>2];s[$e+(x*10156|0)+4768>>2]=s[et>>2];p=s[U>>2]|0;s[$e+(x*10156|0)+4648>>2]=p;b=s[D>>2]|0;s[$e+(x*10156|0)+4656>>2]=b;m=s[L>>2]|0;s[$e+(x*10156|0)+4660>>2]=m;_=s[B>>2]|0;s[$e+(x*10156|0)+4664>>2]=_;s[$e+(x*10156|0)+6180>>2]=s[N>>2];s[$e+(x*10156|0)+5844>>2]=s[t>>2];s[$e+(x*10156|0)+5848>>2]=s[at>>2];s[$e+(x*10156|0)+4628>>2]=v;s[$e+(x*10156|0)+5852>>2]=x;A=$e+(x*10156|0)+4760|0;do if(!(s[A>>2]|0))Qe=41;else{if(s[$e+(x*10156|0)+4772>>2]|0){Qe=41;break}if((p|0)==(s[$e+(x*10156|0)+4652>>2]|0))break;p=s[$e+(x*10156|0)+4668>>2]|0;if((p|0)<=0)break;d=zi(k,p)|0;Qe=110}while(0);if((Qe|0)==41){Qe=0;E=$e+(x*10156|0)+4668|0;d=s[E>>2]|0;Ve=d<<16>>16;g=Ve*1e3|0;do if(Ve){if((g|0)>(p|0)|(g|0)>(b|0)|(g|0)<(m|0)){d=(p|0)<(b|0)?p:b;d=(((d|0)>(m|0)?d:m)|0)/1e3|0;break}m=$e+(x*10156|0)+24|0;p=s[m>>2]|0;if((p|0)>255)s[$e+(x*10156|0)+28>>2]=0;if((v|0)==0?(s[T>>2]|0)==0:0)break;if((g|0)>(_|0)){b=$e+(x*10156|0)+28|0;if(!(s[b>>2]|0)){s[m>>2]=256;p=$e+(x*10156|0)+16|0;s[p>>2]=0;s[p+4>>2]=0;p=256}if(s[T>>2]|0){s[b>>2]=0;d=(d|0)==16?12:8;break}if((p|0)<1){s[C>>2]=1;Ve=s[Ke>>2]|0;s[Ke>>2]=Ve-((Ve*5|0)/((s[it>>2]|0)+5|0)|0);break}else{s[b>>2]=-2;break}}if((g|0)>=(_|0)){p=$e+(x*10156|0)+28|0;if((s[p>>2]|0)>=0)break;s[p>>2]=1;break}if(s[T>>2]|0){s[m>>2]=0;Ve=$e+(x*10156|0)+16|0;s[Ve>>2]=0;s[Ve+4>>2]=0;s[$e+(x*10156|0)+28>>2]=1;d=(d|0)==8?12:16;break}p=$e+(x*10156|0)+28|0;if(!(s[p>>2]|0)){s[C>>2]=1;Ve=s[Ke>>2]|0;s[Ke>>2]=Ve-((Ve*5|0)/((s[it>>2]|0)+5|0)|0);break}else{s[p>>2]=1;break}}else d=(((_|0)<(p|0)?_:p)|0)/1e3|0;while(0);v=(y|0)==0?d:y;_=zi(k,v)|0;m=s[it>>2]|0;g=$e+(x*10156|0)+4704|0;if((s[g>>2]|0)==(m|0)){d=s[E>>2]|0;m=0}else{d=(m|0)==10;e:do if(!d){switch(m|0){case 60:case 40:case 20:{b=0;break}default:if((m|0)<11){b=-103;Qe=70;break e}else b=-103}s[$e+(x*10156|0)+5836>>2]=(m|0)/20|0;s[$e+(x*10156|0)+4672>>2]=4;d=v<<16>>16;s[$e+(x*10156|0)+4676>>2]=d*20;s[$e+(x*10156|0)+4640>>2]=d*24;d=s[E>>2]|0;p=$e+(x*10156|0)+4780|0;if((d|0)==8){s[p>>2]=30064;d=8;p=b;break}else{s[p>>2]=30030;p=b;break}}else{b=0;Qe=70}while(0);do if((Qe|0)==70){Qe=0;s[$e+(x*10156|0)+5836>>2]=1;s[$e+(x*10156|0)+4672>>2]=d?2:1;d=v<<16>>16;s[$e+(x*10156|0)+4676>>2]=te(m<<16>>16,d)|0;s[$e+(x*10156|0)+4640>>2]=d*14;d=s[E>>2]|0;p=$e+(x*10156|0)+4780|0;if((d|0)==8){s[p>>2]=30087;d=8;p=b;break}else{s[p>>2]=30075;p=b;break}}while(0);s[g>>2]=m;s[$e+(x*10156|0)+4700>>2]=0;m=p}e:do if((d|0)!=(v|0)){d=$e+(x*10156|0)+7260|0;s[d>>2]=0;s[d+4>>2]=0;s[d+8>>2]=0;p=$e+(x*10156|0)+16|0;s[p>>2]=0;s[p+4>>2]=0;s[$e+(x*10156|0)+5832>>2]=0;s[$e+(x*10156|0)+5840>>2]=0;s[$e+(x*10156|0)+4700>>2]=0;kn($e+(x*10156|0)+144|0,0,4480)|0;s[$e+(x*10156|0)+4636>>2]=100;s[$e+(x*10156|0)+4756>>2]=1;r[d>>0]=10;s[$e+(x*10156|0)+4568>>2]=100;s[$e+(x*10156|0)+4584>>2]=65536;r[$e+(x*10156|0)+4633>>0]=0;s[E>>2]=v;d=s[$e+(x*10156|0)+4672>>2]|0;p=(d|0)==4;b=$e+(x*10156|0)+4780|0;t:do if((v|0)==8)if(p){s[b>>2]=30064;d=4;Qe=86;break}else{s[b>>2]=30087;Qe=86;break}else{if(p){s[b>>2]=30030;d=4}else s[b>>2]=30075;switch(v|0){case 8:case 12:{Qe=86;break t}default:{}}s[$e+(x*10156|0)+4732>>2]=16;s[$e+(x*10156|0)+4784>>2]=22936}while(0);if((Qe|0)==86){s[$e+(x*10156|0)+4732>>2]=10;s[$e+(x*10156|0)+4784>>2]=22896}s[$e+(x*10156|0)+4680>>2]=v*5;s[$e+(x*10156|0)+4676>>2]=te(v*327680>>16,d<<16>>16)|0;Ve=v<<16;Qe=Ve>>16;s[$e+(x*10156|0)+4684>>2]=Qe*20;s[$e+(x*10156|0)+4688>>2]=Ve>>15;s[$e+(x*10156|0)+4644>>2]=Qe*18;s[$e+(x*10156|0)+4640>>2]=te(Qe,(d|0)==4?24:14)|0;switch(v|0){case 16:{s[$e+(x*10156|0)+4776>>2]=29962;v=16;break e}case 12:{s[$e+(x*10156|0)+4776>>2]=29956;v=12;break e}default:{s[$e+(x*10156|0)+4776>>2]=29947;break e}}}while(0);d=_+m|0;g=s[tt>>2]|0;do if((g|0)>=1){if((g|0)<2){s[$e+(x*10156|0)+4736>>2]=1;s[$e+(x*10156|0)+4744>>2]=49807;p=$e+(x*10156|0)+4740|0;s[p>>2]=8;s[$e+(x*10156|0)+4728>>2]=14;m=v*5|0;s[$e+(x*10156|0)+4692>>2]=m;s[$e+(x*10156|0)+4720>>2]=1;s[$e+(x*10156|0)+4724>>2]=0;s[$e+(x*10156|0)+4752>>2]=3;s[$e+(x*10156|0)+4764>>2]=0;b=8;break}if((g|0)<3){s[$e+(x*10156|0)+4736>>2]=0;s[$e+(x*10156|0)+4744>>2]=52429;p=$e+(x*10156|0)+4740|0;s[p>>2]=6;s[$e+(x*10156|0)+4728>>2]=12;m=v*3|0;s[$e+(x*10156|0)+4692>>2]=m;s[$e+(x*10156|0)+4720>>2]=2;s[$e+(x*10156|0)+4724>>2]=0;s[$e+(x*10156|0)+4752>>2]=2;s[$e+(x*10156|0)+4764>>2]=0;b=6;break}if((g|0)<4){s[$e+(x*10156|0)+4736>>2]=1;s[$e+(x*10156|0)+4744>>2]=49807;p=$e+(x*10156|0)+4740|0;s[p>>2]=8;s[$e+(x*10156|0)+4728>>2]=14;m=v*5|0;s[$e+(x*10156|0)+4692>>2]=m;s[$e+(x*10156|0)+4720>>2]=2;s[$e+(x*10156|0)+4724>>2]=0;s[$e+(x*10156|0)+4752>>2]=4;s[$e+(x*10156|0)+4764>>2]=0;b=8;break}if((g|0)<6){s[$e+(x*10156|0)+4736>>2]=1;s[$e+(x*10156|0)+4744>>2]=48497;p=$e+(x*10156|0)+4740|0;s[p>>2]=10;s[$e+(x*10156|0)+4728>>2]=16;m=v*5|0;s[$e+(x*10156|0)+4692>>2]=m;s[$e+(x*10156|0)+4720>>2]=2;s[$e+(x*10156|0)+4724>>2]=1;s[$e+(x*10156|0)+4752>>2]=6;s[$e+(x*10156|0)+4764>>2]=v*983;b=10;break}p=$e+(x*10156|0)+4736|0;if((g|0)<8){s[p>>2]=1;s[$e+(x*10156|0)+4744>>2]=47186;p=$e+(x*10156|0)+4740|0;s[p>>2]=12;s[$e+(x*10156|0)+4728>>2]=20;m=v*5|0;s[$e+(x*10156|0)+4692>>2]=m;s[$e+(x*10156|0)+4720>>2]=3;s[$e+(x*10156|0)+4724>>2]=1;s[$e+(x*10156|0)+4752>>2]=8;s[$e+(x*10156|0)+4764>>2]=v*983;b=12;break}else{s[p>>2]=2;s[$e+(x*10156|0)+4744>>2]=45875;p=$e+(x*10156|0)+4740|0;s[p>>2]=16;s[$e+(x*10156|0)+4728>>2]=24;m=v*5|0;s[$e+(x*10156|0)+4692>>2]=m;s[$e+(x*10156|0)+4720>>2]=4;s[$e+(x*10156|0)+4724>>2]=1;s[$e+(x*10156|0)+4752>>2]=16;s[$e+(x*10156|0)+4764>>2]=v*983;b=16;break}}else{s[$e+(x*10156|0)+4736>>2]=0;s[$e+(x*10156|0)+4744>>2]=52429;p=$e+(x*10156|0)+4740|0;s[p>>2]=6;s[$e+(x*10156|0)+4728>>2]=12;m=v*3|0;s[$e+(x*10156|0)+4692>>2]=m;s[$e+(x*10156|0)+4720>>2]=1;s[$e+(x*10156|0)+4724>>2]=0;s[$e+(x*10156|0)+4752>>2]=2;s[$e+(x*10156|0)+4764>>2]=0;b=6}while(0);Ve=s[$e+(x*10156|0)+4732>>2]|0;s[p>>2]=(b|0)<(Ve|0)?b:Ve;s[$e+(x*10156|0)+4696>>2]=(v*5|0)+(m<<1);s[$e+(x*10156|0)+4716>>2]=g;p=s[P>>2]|0;s[$e+(x*10156|0)+4708>>2]=p;Ve=$e+(x*10156|0)+6184|0;b=s[Ve>>2]|0;Qe=s[M>>2]|0;s[Ve>>2]=Qe;do if(Qe|0)if(!b){s[$e+(x*10156|0)+6188>>2]=7;break}else{Qe=7-(((p>>16)*26214|0)+(((p&65535)*26214|0)>>>16))|0;s[$e+(x*10156|0)+6188>>2]=(Qe|0)>2?Qe:2;break}while(0);s[A>>2]=1;Qe=110}if((Qe|0)==110?(Qe=0,d|0):0){Qe=439;break}e:do if((s[$e+(x*10156|0)+4756>>2]|0)!=0|I){p=0;while(1){if((p|0)>=(s[Ye>>2]|0))break e;s[$e+(x*10156|0)+4816+(p<<2)>>2]=0;p=p+1|0}}while(0);s[$e+(x*10156|0)+6172>>2]=s[S>>2];x=x+1|0;p=0}if((Qe|0)==439){l=ot;return d|0}P=R*10|0;L=s[Ze>>2]|0;O=te(P,L)|0;N=e+4648|0;L=(te(O,s[N>>2]|0)|0)/(L*1e3|0)|0;Ge=Ne()|0;D=l;l=l+((1*(L<<1)|0)+15&-16)|0;L=e+4676|0;B=e+5832|0;ze=e+20384|0;U=e+16024|0;j=e+5868|0;F=e+5188|0;z=e+14832|0;q=e+15988|0;H=e+14824|0;G=e+15344|0;V=h+28|0;W=h+32|0;K=h+36|0;Y=h+20|0;Z=h+40|0;$=h+24|0;X=h+8|0;J=h+4|0;Q=h+44|0;ee=e+20346|0;ie=e+14972|0;ne=e+20364|0;se=e+20368|0;ae=e+4633|0;oe=e+4636|0;fe=e+4788|0;he=e+8|0;ce=e+4624|0;le=t+28|0;ue=e+20372|0;de=e+20312|0;pe=e+5192|0;be=e+15348|0;He=t+60|0;me=e+20396|0;we=e+17416|0;ge=e+10300|0;ve=e+10172|0;_e=e+14792|0;ye=e+14724|0;ke=e+14789|0;Ee=e+14740|0;Ae=e+14912|0;Se=e+10156|0;Me=e+15346|0;Te=e+14780|0;xe=e+15013|0;Re=e+16332|0;Ie=e+16328|0;Ce=e+14968|0;Pe=e+5190|0;Ve=e+4857|0;Oe=e+6176|0;De=e+6172|0;Le=st+4|0;Be=Xe<<1;Ue=Xe+-1|0;je=e+20388|0;Fe=e+20316|0;v=i;C=0;while(1){m=s[B>>2]|0;g=(s[L>>2]|0)-m|0;g=(g|0)<(O|0)?g:O;I=te(g,s[N>>2]|0)|0;I=(I|0)/((s[Ze>>2]|0)*1e3|0)|0;do if((s[t>>2]|0)==2)if((s[at>>2]|0)==2){d=s[nt>>2]|0;b=0;while(1){if((b|0)>=(I|0))break;n[D+(b<<1)>>1]=n[v+(b<<1<<1)>>1]|0;b=b+1|0}if((s[ze>>2]|0)==1&(d|0)==0)Mn(U|0,j|0,300)|0;Hi(j,F+(m+2<<1)|0,D,I);s[B>>2]=(s[B>>2]|0)+g;b=s[q>>2]|0;m=(s[z>>2]|0)-b|0;d=te(P,s[H>>2]|0)|0;d=(m|0)<(d|0)?m:d;m=0;while(1){if((m|0)>=(I|0))break;n[D+(m<<1)>>1]=n[v+((m<<1|1)<<1)>>1]|0;m=m+1|0}Hi(U,G+(b+2<<1)|0,D,I);s[q>>2]=(s[q>>2]|0)+d;d=s[B>>2]|0;break}else{if((s[at>>2]|0)==1)d=0;else{Qe=136;break}while(1){if((d|0)>=(I|0))break;i=d<<1;i=(n[v+(i<<1)>>1]|0)+(n[v+((i|1)<<1)>>1]|0)|0;n[D+(d<<1)>>1]=(i>>>1)+(i&1);d=d+1|0}Hi(j,F+(m+2<<1)|0,D,I);e:do if((s[ze>>2]|0)==2){if(s[nt>>2]|0)break;Hi(U,G+((s[q>>2]|0)+2<<1)|0,D,I);d=0;while(1){if((d|0)>=(s[L>>2]|0))break e;i=F+((s[B>>2]|0)+d+2<<1)|0;n[i>>1]=((n[i>>1]|0)+(n[G+((s[q>>2]|0)+d+2<<1)>>1]|0)|0)>>>1;d=d+1|0}}while(0);d=(s[B>>2]|0)+g|0;s[B>>2]=d;break}else Qe=136;while(0);if((Qe|0)==136){Qe=0;Mn(D|0,v|0,I<<1|0)|0;Hi(j,F+(m+2<<1)|0,D,I);d=(s[B>>2]|0)+g|0;s[B>>2]=d}x=v+((te(I,s[t>>2]|0)|0)<<1)|0;R=f-I|0;s[We>>2]=0;if((d|0)<(s[L>>2]|0)){d=0;break}if(!((s[nt>>2]|0)!=0|Je^1)){d=256>>>(te((s[Ye>>2]|0)+1|0,s[at>>2]|0)|0);i=s[V>>2]|0;d=i-(te(i>>>8,0-d&255)|0)|0;s[V>>2]=d;while(1){if(d>>>0>=8388609){_=0;break}b=s[W>>2]|0;g=b>>>23;if((g|0)==255)s[K>>2]=(s[K>>2]|0)+1;else{m=b>>>31;d=s[Z>>2]|0;if((d|0)>-1){b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=d+m;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[K>>2]|0;if(d|0){m=m+255&255;do{b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=m;b=0;d=s[K>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[K>>2]=d}while((d|0)!=0)}s[Z>>2]=g&255;b=s[W>>2]|0;d=s[V>>2]|0}s[W>>2]=b<<8&2147483392;d=d<<8;s[V>>2]=d;s[Y>>2]=(s[Y>>2]|0)+8}while(1){d=s[at>>2]|0;if((_|0)>=(d|0)){T=0;break}b=s[$e+(_*10156|0)+5836>>2]|0;v=0;d=0;while(1){if((d|0)>=(b|0))break;v=v|s[$e+(_*10156|0)+4816+(d<<2)>>2]<>0]=(v|0)>0&1;e:do if((v|0)!=0&(b|0)>1){g=v+-1|0;d=s[17520+(b+-2<<2)>>2]|0;b=s[V>>2]|0;m=b>>>8;if((v|0)>1){i=d+(v+-2)|0;T=b-(te(m,a[i>>0]|0)|0)|0;s[W>>2]=(s[W>>2]|0)+T;d=te(m,(a[i>>0]|0)-(a[d+g>>0]|0)|0)|0}else d=b-(te(m,a[d+g>>0]|0)|0)|0;s[V>>2]=d;while(1){if(d>>>0>=8388609)break e;b=s[W>>2]|0;g=b>>>23;if((g|0)==255)s[K>>2]=(s[K>>2]|0)+1;else{m=b>>>31;d=s[Z>>2]|0;if((d|0)>-1){b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=d+m;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[K>>2]|0;if(d|0){m=m+255&255;do{b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=m;b=0;d=s[K>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[K>>2]=d}while((d|0)!=0)}s[Z>>2]=g&255;b=s[W>>2]|0;d=s[V>>2]|0}s[W>>2]=b<<8&2147483392;d=d<<8;s[V>>2]=d;s[Y>>2]=(s[Y>>2]|0)+8}}while(0);_=_+1|0}while(1){if((T|0)>=(s[Ye>>2]|0)){b=0;break}y=ee+(T*6|0)+2|0;k=ee+(T*6|0)+5|0;E=ie+(T<<2)|0;A=ne+T|0;S=(T|0)>0;M=T+-1|0;_=0;while(1){if((_|0)>=(d|0))break;if(s[$e+(_*10156|0)+4816+(T<<2)>>2]|0){e:do if((d|0)==2&(_|0)==0){d=((r[y>>0]|0)*5|0)+(r[k>>0]|0)|0;b=s[V>>2]|0;m=b>>>8;if((d|0)>0){i=a[29891+(d+-1)>>0]|0;v=b-(te(m,i)|0)|0;s[W>>2]=(s[W>>2]|0)+v;d=te(m,i-(a[29891+d>>0]|0)|0)|0}else d=b-(te(m,a[29891+d>>0]|0)|0)|0;s[V>>2]=d;while(1){if(d>>>0>=8388609){v=0;break}b=s[W>>2]|0;g=b>>>23;if((g|0)==255)s[K>>2]=(s[K>>2]|0)+1;else{m=b>>>31;d=s[Z>>2]|0;if((d|0)>-1){b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=d+m;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[K>>2]|0;if(d|0){m=m+255&255;do{b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=m;b=0;d=s[K>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[K>>2]=d}while((d|0)!=0)}s[Z>>2]=g&255;b=s[W>>2]|0;d=s[V>>2]|0}s[W>>2]=b<<8&2147483392;d=d<<8;s[V>>2]=d;s[Y>>2]=(s[Y>>2]|0)+8}while(1){if((v|0)==2)break;i=r[ee+(T*6|0)+(v*3|0)>>0]|0;b=i<<24>>24;m=d>>>8;if(i<<24>>24>0){i=a[29944+(b+-1)>>0]|0;d=d-(te(m,i)|0)|0;s[W>>2]=(s[W>>2]|0)+d;d=te(m,i-(a[29944+b>>0]|0)|0)|0}else d=d-(te(m,a[29944+b>>0]|0)|0)|0;s[V>>2]=d;while(1){if(d>>>0>=8388609)break;b=s[W>>2]|0;g=b>>>23;if((g|0)==255)s[K>>2]=(s[K>>2]|0)+1;else{m=b>>>31;d=s[Z>>2]|0;if((d|0)>-1){b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=d+m;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[K>>2]|0;if(d|0){m=m+255&255;do{b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=m;b=0;d=s[K>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[K>>2]=d}while((d|0)!=0)}s[Z>>2]=g&255;b=s[W>>2]|0;d=s[V>>2]|0}s[W>>2]=b<<8&2147483392;d=d<<8;s[V>>2]=d;s[Y>>2]=(s[Y>>2]|0)+8}i=r[ee+(T*6|0)+(v*3|0)+1>>0]|0;b=i<<24>>24;m=d>>>8;if(i<<24>>24>0){i=a[29951+(b+-1)>>0]|0;d=d-(te(m,i)|0)|0;s[W>>2]=(s[W>>2]|0)+d;d=te(m,i-(a[29951+b>>0]|0)|0)|0}else d=d-(te(m,a[29951+b>>0]|0)|0)|0;s[V>>2]=d;while(1){if(d>>>0>=8388609)break;b=s[W>>2]|0;g=b>>>23;if((g|0)==255)s[K>>2]=(s[K>>2]|0)+1;else{m=b>>>31;d=s[Z>>2]|0;if((d|0)>-1){b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=d+m;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[K>>2]|0;if(d|0){m=m+255&255;do{b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=m;b=0;d=s[K>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[K>>2]=d}while((d|0)!=0)}s[Z>>2]=g&255;b=s[W>>2]|0;d=s[V>>2]|0}s[W>>2]=b<<8&2147483392;d=d<<8;s[V>>2]=d;s[Y>>2]=(s[Y>>2]|0)+8}v=v+1|0}if(s[E>>2]|0)break;i=r[A>>0]|0;b=i<<24>>24;m=d>>>8;if(i<<24>>24>0){i=a[29916+(b+-1)>>0]|0;d=d-(te(m,i)|0)|0;s[W>>2]=(s[W>>2]|0)+d;d=te(m,i-(a[29916+b>>0]|0)|0)|0}else d=d-(te(m,a[29916+b>>0]|0)|0)|0;s[V>>2]=d;while(1){if(d>>>0>=8388609)break e;b=s[W>>2]|0;g=b>>>23;if((g|0)==255)s[K>>2]=(s[K>>2]|0)+1;else{m=b>>>31;b=s[Z>>2]|0;if((b|0)>-1){d=s[$>>2]|0;if((d+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=d+1;r[(s[h>>2]|0)+d>>0]=b+m;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[K>>2]|0;if(d|0){m=m+255&255;do{b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=m;b=0;d=s[K>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[K>>2]=d}while((d|0)!=0)}s[Z>>2]=g&255;b=s[W>>2]|0;d=s[V>>2]|0}s[W>>2]=b<<8&2147483392;d=d<<8;s[V>>2]=d;s[Y>>2]=(s[Y>>2]|0)+8}}while(0);if(S?(s[$e+(_*10156|0)+4816+(M<<2)>>2]|0)!=0:0)d=2;else d=0;Di($e+(_*10156|0)|0,h,T,1,d);Li(h,r[$e+(_*10156|0)+6192+(T*36|0)+29>>0]|0,r[$e+(_*10156|0)+6192+(T*36|0)+30>>0]|0,$e+(_*10156|0)+6300+(T*320|0)|0,s[$e+(_*10156|0)+4676>>2]|0);d=s[at>>2]|0}_=_+1|0}T=T+1|0}while(1){if((b|0)>=(d|0))break;d=$e+(b*10156|0)+4816|0;s[d>>2]=0;s[d+4>>2]=0;s[d+8>>2]=0;d=s[at>>2]|0;b=b+1|0}s[se>>2]=(s[Y>>2]|0)+((re(s[V>>2]|0)|0)+-32)}if((r[ae>>0]|0)==2){d=te(s[Ze>>2]|0,65536e3)|0;d=(d|0)/(s[oe>>2]|0)|0;g=re(d|0)|0;b=24-g|0;m=0-b|0;do if(b)if((b|0)<0){d=d<>>(b+32|0);break}else{d=d<<32-b|d>>>b;break}while(0);S=d&127;S=S+(((te(S,128-S|0)|0)*179|0)>>>16)+(31-g<<7)|0;T=s[fe>>2]|0;i=0-T<<2;T=T<<16>>16;M=te(i>>16,T)|0;T=te(i&65532,T)|0;i=(S<<16)+-183762944>>16;i=S+-2048+((te(M+(T>>16)>>16,i)|0)+((te(M+(T>>>16)&65535,i)|0)>>16))|0;T=s[he>>2]|0;i=i-(T>>8)|0;i=(i|0)<0?i*3|0:i;i=te(s[ce>>2]<<16>>16,(i|0)>51?51:((i|0)<-51?-51:i)<<16>>16)|0;i=T+(((i>>16)*6554|0)+(((i&65535)*6554|0)>>>16))|0;s[he>>2]=(i|0)>217856?217856:(i|0)<193536?193536:i}g=s[le>>2]|0;b=s[it>>2]|0;d=(te(g,b)|0)/1e3|0;if(Je)d=d-(s[se>>2]|0)|0;m=(d|0)/(s[Ye>>2]|0)|0;d=te(m<<16>>16,(b|0)==10?100:50)|0;d=d-(s[ue>>2]<<1)|0;do if(Je){b=s[nt>>2]|0;if((b|0)<=0)break;i=(s[Y>>2]|0)+((re(s[V>>2]|0)|0)+-32)|0;d=d-(i-(s[se>>2]|0)-(te(m,b)|0)<<1)|0}while(0);do if((g|0)>5e3){if((d|0)>(g|0))break;g=(d|0)<5e3?5e3:d}else{if((d|0)>5e3){g=5e3;break}g=(d|0)<(g|0)?g:d}while(0);e:do if((s[at>>2]|0)==2){d=s[nt>>2]|0;Ui(de,pe,be,ee+(d*6|0)|0,ne+d|0,st,g,s[ce>>2]|0,s[He>>2]|0,s[Ze>>2]|0,s[L>>2]|0);d=s[nt>>2]|0;do if(!(r[ne+d>>0]|0)){if((s[me>>2]|0)==1){s[we>>2]=0;s[we+4>>2]=0;s[we+8>>2]=0;i=ve;s[i>>2]=0;s[i+4>>2]=0;kn(ge|0,0,4480)|0;s[_e>>2]=100;s[ye>>2]=100;r[we>>0]=10;r[ke>>0]=0;s[Ee>>2]=65536;s[Ae>>2]=1}Er(Se,Me);if((s[Te>>2]|0)>=13){s[Re>>2]=0;s[Ie>>2]=0;r[xe>>0]=1;r[(s[rt>>2]|0)+(Se+4812)>>0]=1;break}r[xe>>0]=0;d=s[Re>>2]|0;i=d+1|0;s[Re>>2]=i;do if((i|0)<10)s[Ie>>2]=0;else{if((d|0)<=29)break;s[Re>>2]=10;s[Ie>>2]=0}while(0);r[(s[rt>>2]|0)+(Se+4812)>>0]=0}else r[Ce+d>>0]=0;while(0);if(!Je)break;y=s[nt>>2]|0;d=((r[ee+(y*6|0)+2>>0]|0)*5|0)+(r[ee+(y*6|0)+5>>0]|0)|0;b=s[V>>2]|0;m=b>>>8;if((d|0)>0){i=a[29891+(d+-1)>>0]|0;T=b-(te(m,i)|0)|0;s[W>>2]=(s[W>>2]|0)+T;d=te(m,i-(a[29891+d>>0]|0)|0)|0}else d=b-(te(m,a[29891+d>>0]|0)|0)|0;s[V>>2]=d;while(1){if(d>>>0>=8388609){m=d;_=0;break}b=s[W>>2]|0;v=b>>>23;if((v|0)==255)s[K>>2]=(s[K>>2]|0)+1;else{m=b>>>31;d=s[Z>>2]|0;if((d|0)>-1){b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=d+m;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[K>>2]|0;if(d|0){m=m+255&255;do{b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=m;b=0;d=s[K>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[K>>2]=d}while((d|0)!=0)}s[Z>>2]=v&255;b=s[W>>2]|0;d=s[V>>2]|0}s[W>>2]=b<<8&2147483392;d=d<<8;s[V>>2]=d;s[Y>>2]=(s[Y>>2]|0)+8}while(1){if((_|0)==2)break;i=r[ee+(y*6|0)+(_*3|0)>>0]|0;d=i<<24>>24;b=m>>>8;if(i<<24>>24>0){i=a[29944+(d+-1)>>0]|0;T=m-(te(b,i)|0)|0;s[W>>2]=(s[W>>2]|0)+T;d=te(b,i-(a[29944+d>>0]|0)|0)|0}else d=m-(te(b,a[29944+d>>0]|0)|0)|0;s[V>>2]=d;while(1){if(d>>>0>=8388609)break;b=s[W>>2]|0;v=b>>>23;if((v|0)==255)s[K>>2]=(s[K>>2]|0)+1;else{m=b>>>31;d=s[Z>>2]|0;if((d|0)>-1){b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=d+m;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[K>>2]|0;if(d|0){m=m+255&255;do{b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=m;b=0;d=s[K>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[K>>2]=d}while((d|0)!=0)}s[Z>>2]=v&255;b=s[W>>2]|0;d=s[V>>2]|0}s[W>>2]=b<<8&2147483392;d=d<<8;s[V>>2]=d;s[Y>>2]=(s[Y>>2]|0)+8}i=r[ee+(y*6|0)+(_*3|0)+1>>0]|0;b=i<<24>>24;m=d>>>8;if(i<<24>>24>0){i=a[29951+(b+-1)>>0]|0;d=d-(te(m,i)|0)|0;s[W>>2]=(s[W>>2]|0)+d;d=te(m,i-(a[29951+b>>0]|0)|0)|0}else d=d-(te(m,a[29951+b>>0]|0)|0)|0;s[V>>2]=d;while(1){if(d>>>0>=8388609)break;b=s[W>>2]|0;v=b>>>23;if((v|0)==255)s[K>>2]=(s[K>>2]|0)+1;else{m=b>>>31;d=s[Z>>2]|0;if((d|0)>-1){b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=d+m;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[K>>2]|0;if(d|0){m=m+255&255;do{b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=m;b=0;d=s[K>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[K>>2]=d}while((d|0)!=0)}s[Z>>2]=v&255;b=s[W>>2]|0;d=s[V>>2]|0}s[W>>2]=b<<8&2147483392;d=d<<8;s[V>>2]=d;s[Y>>2]=(s[Y>>2]|0)+8}m=d;_=_+1|0}d=s[nt>>2]|0;if(r[Ce+d>>0]|0)break;i=r[ne+d>>0]|0;d=i<<24>>24;b=m>>>8;if(i<<24>>24>0){i=a[29916+(d+-1)>>0]|0;T=m-(te(b,i)|0)|0;s[W>>2]=(s[W>>2]|0)+T;d=te(b,i-(a[29916+d>>0]|0)|0)|0}else d=m-(te(b,a[29916+d>>0]|0)|0)|0;s[V>>2]=d;while(1){if(d>>>0>=8388609)break e;b=s[W>>2]|0;v=b>>>23;if((v|0)==255)s[K>>2]=(s[K>>2]|0)+1;else{m=b>>>31;d=s[Z>>2]|0;if((d|0)>-1){b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=d+m;d=0}else d=-1;s[Q>>2]=s[Q>>2]|d}d=s[K>>2]|0;if(d|0){m=m+255&255;do{b=s[$>>2]|0;if((b+(s[X>>2]|0)|0)>>>0<(s[J>>2]|0)>>>0){s[$>>2]=b+1;r[(s[h>>2]|0)+b>>0]=m;b=0;d=s[K>>2]|0}else b=-1;s[Q>>2]=s[Q>>2]|b;d=d+-1|0;s[K>>2]=d}while((d|0)!=0)}s[Z>>2]=v&255;b=s[W>>2]|0;d=s[V>>2]|0}s[W>>2]=b<<8&2147483392;d=d<<8;s[V>>2]=d;s[Y>>2]=(s[Y>>2]|0)+8}}else{s[F>>2]=s[Fe>>2];i=F+(s[L>>2]<<1)|0;i=o[i>>1]|o[i+2>>1]<<16;n[Fe>>1]=i;n[Fe+2>>1]=i>>>16}while(0);Er(e,Pe);if((s[ce>>2]|0)<13){r[Ve>>0]=0;d=s[Oe>>2]|0;i=d+1|0;s[Oe>>2]=i;do if((i|0)<10)s[De>>2]=0;else{if((d|0)<=29)break;s[Oe>>2]=10;s[De>>2]=0}while(0);r[(s[nt>>2]|0)+(e+4812)>>0]=0}else{s[Oe>>2]=0;s[De>>2]=0;r[Ve>>0]=1;r[(s[nt>>2]|0)+(e+4812)>>0]=1}y=(C|0)==0;k=s[Le>>2]|0;E=(C|0)==(Ue|0);A=(C|0)==1;S=0;while(1){d=s[at>>2]|0;if((S|0)>=(d|0))break;b=s[Ke>>2]|0;e:do switch(Xe|0){case 2:{if(!y){m=b;break e}m=(b*3|0)/5|0;break}case 3:{if(y){m=(b<<1|0)/5|0;break e}if(!A){m=b;break e}m=(b*3|0)/4|0;break}default:m=b}while(0);v=E&(s[et>>2]|0)!=0&1;do if((d|0)==1){d=g;_=v}else{d=s[st+(S<<2)>>2]|0;if((S|0)!=0|(k|0)<1){_=v;break}m=m-((b|0)/(Be|0)|0)|0;_=0}while(0);if((d|0)>0){p=(d|0)>8e4?8e4:(d|0)<5e3?5e3:d;d=$e+(S*10156|0)+4700|0;e:do if((p|0)!=(s[d>>2]|0)){s[d>>2]=p;v=s[$e+(S*10156|0)+4668>>2]|0;v=(v|0)==8?17424:(v|0)==12?17456:17488;d=(s[$e+(S*10156|0)+4672>>2]|0)==2?p+-2200|0:p;b=1;while(1){if((b|0)>=8)break e;p=s[v+(b<<2)>>2]|0;if((d|0)<=(p|0))break;b=b+1|0}i=b+-1|0;T=s[v+(i<<2)>>2]|0;i=n[25356+(i<<1)>>1]|0;s[$e+(S*10156|0)+4808>>2]=(i<<6)+(te((d-T<<6|0)/(p-T|0)|0,(n[25356+(b<<1)>>1]|0)-i|0)|0)}while(0);do if((s[nt>>2]|0)>(S|0)){if((S|0)>0?s[me>>2]|0:0){d=1;break}d=2}else d=0;while(0);p=Xi($e+(S*10156|0)|0,c,h,d,m,_)|0}s[$e+(S*10156|0)+4760>>2]=0;s[$e+(S*10156|0)+5832>>2]=0;i=$e+(S*10156|0)+5840|0;s[i>>2]=(s[i>>2]|0)+1;S=S+1|0}m=s[nt>>2]|0;s[me>>2]=r[ne+(m+-1)>>0];do if((s[c>>2]|0)>0){if((m|0)!=(s[Ye>>2]|0))break;g=s[at>>2]|0;y=0;_=0;while(1){if((_|0)>=(g|0))break;v=s[$e+(_*10156|0)+5836>>2]|0;d=y;b=0;while(1){d=d<<1;if((b|0)>=(v|0))break;d=d|r[$e+(_*10156|0)+4812+b>>0];b=b+1|0}y=d|r[$e+(_*10156|0)+4815>>0];_=_+1|0}do if(Je){d=te(m+1|0,g)|0;b=8-d|0;m=(1<>2]|0){i=s[h>>2]|0;r[i>>0]=a[i>>0]&(m^255)|y<>2]|0;if((g|0)>-1){s[Z>>2]=g&~m|y<>2]|0)>>>0>-2147483648>>>d>>>0){s[Q>>2]=-1;break}else{s[W>>2]=s[W>>2]&~(m<<23)|y<>2]|0){if((s[at>>2]|0)!=1?(s[Ie>>2]|0)==0:0)break;s[c>>2]=0}while(0);d=(s[ue>>2]|0)+(s[c>>2]<<3)|0;s[ue>>2]=d;d=d-((te(s[le>>2]|0,s[it>>2]|0)|0)/1e3|0)|0;s[ue>>2]=(d|0)>1e4?1e4:(d|0)<0?0:d;d=s[je>>2]|0;if((s[ce>>2]|0)<(((d<<16>>16)*3188>>16)+13|0)){s[We>>2]=1;s[je>>2]=0;break}else{s[We>>2]=0;s[je>>2]=d+(s[it>>2]|0);break}}while(0);if((f|0)==(I|0)){Qe=428;break}v=x;f=R;C=C+1|0}if((Qe|0)==428)d=s[We>>2]|0;s[ze>>2]=s[at>>2];s[t+76>>2]=d;if((s[Ze>>2]|0)==16)d=(s[e+28>>2]|0)==0;else d=0;s[t+80>>2]=d&1;s[t+72>>2]=(s[Ze>>2]<<16>>16)*1e3;if(!(s[He>>2]|0))d=n[e+20340>>1]|0;else d=0;s[t+84>>2]=d;e:do if(!Je){s[it>>2]=w;s[tt>>2]=u;d=0;while(1){if((d|0)>=(s[at>>2]|0))break e;s[$e+(d*10156|0)+4760>>2]=0;s[$e+(d*10156|0)+4772>>2]=0;d=d+1|0}}while(0);s[t+92>>2]=r[Ve>>0];s[t+96>>2]=n[25404+(r[Ve>>0]>>1<<2)+(r[e+4858>>0]<<1)>>1];qe(Ge|0);e=p;l=ot;return e|0}function Di(e,t,i,o,f){e=e|0;t=t|0;i=i|0;o=o|0;f=f|0;var h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0;C=l;l=l+48|0;E=C;y=C+32|0;x=(o|0)==0;I=x?e+4828|0:e+6192+(i*36|0)|0;R=I+29|0;c=(r[R>>0]<<1)+(r[I+30>>0]|0)|0;e:do if((c|0)>1|x^1){i=c+-2|0;_=t+28|0;o=s[_>>2]|0;h=o>>>8;if((c|0)>2){x=a[29933+(c+-3)>>0]|0;T=o-(te(h,x)|0)|0;u=t+32|0;s[u>>2]=(s[u>>2]|0)+T;i=te(h,x-(a[29933+i>>0]|0)|0)|0;s[_>>2]=i}else{i=o-(te(h,a[29933+i>>0]|0)|0)|0;s[_>>2]=i;u=t+32|0}d=t+36|0;p=t+20|0;b=t+40|0;m=t+24|0;w=t+8|0;g=t+4|0;v=t+44|0;while(1){if(i>>>0>=8388609){c=i;break e}o=s[u>>2]|0;c=o>>>23;if((c|0)==255)s[d>>2]=(s[d>>2]|0)+1;else{h=o>>>31;i=s[b>>2]|0;if((i|0)>-1){o=s[m>>2]|0;if((o+(s[w>>2]|0)|0)>>>0<(s[g>>2]|0)>>>0){s[m>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[d>>2]|0;if(i|0){h=h+255&255;do{o=s[m>>2]|0;if((o+(s[w>>2]|0)|0)>>>0<(s[g>>2]|0)>>>0){s[m>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[d>>2]|0}else o=-1;s[v>>2]=s[v>>2]|o;i=i+-1|0;s[d>>2]=i}while((i|0)!=0)}s[b>>2]=c&255;o=s[u>>2]|0;i=s[_>>2]|0}s[u>>2]=o<<8&2147483392;i=i<<8;s[_>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}else{_=t+28|0;i=s[_>>2]|0;o=i>>>8;if((c|0)>0){x=a[29937+(c+-1)>>0]|0;i=i-(te(o,x)|0)|0;u=t+32|0;s[u>>2]=(s[u>>2]|0)+i;i=te(o,x-(a[29937+c>>0]|0)|0)|0;s[_>>2]=i}else{i=i-(te(o,a[29937+c>>0]|0)|0)|0;s[_>>2]=i;u=t+32|0}d=t+36|0;p=t+20|0;b=t+40|0;m=t+24|0;w=t+8|0;g=t+4|0;v=t+44|0;while(1){if(i>>>0>=8388609){c=i;break e}o=s[u>>2]|0;c=o>>>23;if((c|0)==255)s[d>>2]=(s[d>>2]|0)+1;else{h=o>>>31;i=s[b>>2]|0;if((i|0)>-1){o=s[m>>2]|0;if((o+(s[w>>2]|0)|0)>>>0<(s[g>>2]|0)>>>0){s[m>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[v>>2]=s[v>>2]|i}i=s[d>>2]|0;if(i|0){h=h+255&255;do{o=s[m>>2]|0;if((o+(s[w>>2]|0)|0)>>>0<(s[g>>2]|0)>>>0){s[m>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[d>>2]|0}else o=-1;s[v>>2]=s[v>>2]|o;i=i+-1|0;s[d>>2]=i}while((i|0)!=0)}s[b>>2]=c&255;o=s[u>>2]|0;i=s[_>>2]|0}s[u>>2]=o<<8&2147483392;i=i<<8;s[_>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}while(0);k=(f|0)==2;i=r[I>>0]|0;o=i<<24>>24;e:do if(k){b=t+28|0;h=c>>>8;if(i<<24>>24>0){i=a[29396+(o+-1)>>0]|0;x=c-(te(h,i)|0)|0;u=t+32|0;s[u>>2]=(s[u>>2]|0)+x;i=te(h,i-(a[29396+o>>0]|0)|0)|0;s[b>>2]=i}else{i=c-(te(h,a[29396+o>>0]|0)|0)|0;s[b>>2]=i;u=t+32|0}d=t+36|0;p=t+20|0;m=t+40|0;w=t+24|0;g=t+8|0;v=t+4|0;_=t+44|0;while(1){if(i>>>0>=8388609){x=u;T=d;M=v;break e}o=s[u>>2]|0;c=o>>>23;if((c|0)==255)s[d>>2]=(s[d>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[v>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[d>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[v>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[d>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[d>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[u>>2]|0;i=s[b>>2]|0}s[u>>2]=o<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}else{i=o>>3;o=r[R>>0]|0;b=t+28|0;h=c>>>8;if((i|0)>0){x=a[i+-1+(29372+(o<<3))>>0]|0;T=c-(te(h,x)|0)|0;u=t+32|0;s[u>>2]=(s[u>>2]|0)+T;i=te(h,x-(a[29372+(o<<3)+i>>0]|0)|0)|0;s[b>>2]=i}else{i=c-(te(h,a[29372+(o<<3)+i>>0]|0)|0)|0;s[b>>2]=i;u=t+32|0}d=t+36|0;p=t+20|0;m=t+40|0;w=t+24|0;g=t+8|0;v=t+4|0;_=t+44|0;while(1){if(i>>>0>=8388609)break;o=s[u>>2]|0;c=o>>>23;if((c|0)==255)s[d>>2]=(s[d>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[v>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[d>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[v>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h; -o=0;i=s[d>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[d>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[u>>2]|0;i=s[b>>2]|0}s[u>>2]=o<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}o=a[I>>0]&7;h=i>>>8;c=r[29962+o>>0]|0;if(!o)i=i-(te(h,c&255)|0)|0;else{x=a[29962+(o+-1)>>0]|0;i=i-(te(h,x)|0)|0;s[u>>2]=(s[u>>2]|0)+i;i=te(h,x-(c&255)|0)|0}s[b>>2]=i;while(1){if(i>>>0>=8388609){x=u;T=d;M=v;break e}o=s[u>>2]|0;c=o>>>23;if((c|0)==255)s[d>>2]=(s[d>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[v>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[d>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[v>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[d>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[d>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[u>>2]|0;i=s[b>>2]|0}s[u>>2]=o<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}while(0);A=e+4672|0;u=1;while(1){if((u|0)>=(s[A>>2]|0))break;v=r[I+u>>0]|0;o=v<<24>>24;h=i>>>8;if(v<<24>>24>0){v=a[29396+(o+-1)>>0]|0;i=i-(te(h,v)|0)|0;s[x>>2]=(s[x>>2]|0)+i;i=te(h,v-(a[29396+o>>0]|0)|0)|0}else i=i-(te(h,a[29396+o>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;o=s[x>>2]|0;c=o>>>23;if((c|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[T>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[T>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[T>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[x>>2]|0;i=s[b>>2]|0}s[x>>2]=o<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}u=u+1|0}u=I+8|0;d=r[u>>0]|0;o=d<<24>>24;v=e+4784|0;c=s[v>>2]|0;h=te(r[R>>0]>>1,n[c>>1]|0)|0;h=(s[c+16>>2]|0)+h|0;c=i>>>8;if(d<<24>>24>0){d=h+(o+-1)|0;i=i-(te(c,a[d>>0]|0)|0)|0;s[x>>2]=(s[x>>2]|0)+i;i=te(c,(a[d>>0]|0)-(a[h+o>>0]|0)|0)|0}else i=i-(te(c,a[h+o>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;o=s[x>>2]|0;c=o>>>23;if((c|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[T>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[T>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[T>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[x>>2]|0;i=s[b>>2]|0}s[x>>2]=o<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}Bi(E,y,s[v>>2]|0,r[u>>0]|0);h=0;e:while(1){i=s[v>>2]|0;if((h|0)>=(n[i+2>>1]|0))break;d=h+1|0;u=I+8+d|0;o=r[u>>0]|0;if(o<<24>>24>3){i=(s[i+28>>2]|0)+(n[E+(h<<1)>>1]|0)|0;o=s[b>>2]|0;c=o>>>8;y=i+7|0;o=o-(te(c,a[y>>0]|0)|0)|0;o=(s[x>>2]|0)+o|0;s[x>>2]=o;i=te(c,(a[y>>0]|0)-(a[i+8>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;c=o>>>23;if((c|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[T>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[T>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[T>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[x>>2]|0;i=s[b>>2]|0}o=o<<8&2147483392;s[x>>2]=o;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}y=r[u>>0]|0;h=y<<24>>24;c=h+-4|0;u=i>>>8;if(y<<24>>24>4){y=a[29970+(h+-5)>>0]|0;o=o+(i-(te(u,y)|0))|0;s[x>>2]=o;i=te(u,y-(a[29970+c>>0]|0)|0)|0}else i=i-(te(u,a[29970+c>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609){h=d;continue e}c=o>>>23;if((c|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[T>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[T>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[T>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[x>>2]|0;i=s[b>>2]|0}o=o<<8&2147483392;s[x>>2]=o;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}if(o<<24>>24>=-3){y=o<<24>>24;i=(s[i+28>>2]|0)+(n[E+(h<<1)>>1]|0)|0;h=s[b>>2]|0;c=h>>>8;u=i+(y+3)|0;h=h-(te(c,a[u>>0]|0)|0)|0;s[x>>2]=(s[x>>2]|0)+h;i=te(c,(a[u>>0]|0)-(a[i+(y+4)>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609){h=d;continue e}o=s[x>>2]|0;c=o>>>23;if((c|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[T>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[T>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[T>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[x>>2]|0;i=s[b>>2]|0}s[x>>2]=o<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}y=s[b>>2]|0;i=y-(te(y>>>8,a[(s[i+28>>2]|0)+(n[E+(h<<1)>>1]|0)>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;o=s[x>>2]|0;c=o>>>23;if((c|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[T>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[T>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[T>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[x>>2]|0;i=s[b>>2]|0}s[x>>2]=o<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}o=-4-(r[u>>0]|0)|0;h=i>>>8;if((o|0)>0){y=a[29970+(o+-1)>>0]|0;i=i-(te(h,y)|0)|0;s[x>>2]=(s[x>>2]|0)+i;i=te(h,y-(a[29970+o>>0]|0)|0)|0}else i=i-(te(h,a[29970+o>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609){h=d;continue e}o=s[x>>2]|0;c=o>>>23;if((c|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[T>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[T>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[T>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[x>>2]|0;i=s[b>>2]|0}s[x>>2]=o<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}e:do if((s[A>>2]|0)==4){E=r[I+31>>0]|0;i=E<<24>>24;o=s[b>>2]|0;h=o>>>8;if(E<<24>>24>0){E=a[29939+(i+-1)>>0]|0;y=o-(te(h,E)|0)|0;s[x>>2]=(s[x>>2]|0)+y;i=te(h,E-(a[29939+i>>0]|0)|0)|0}else i=o-(te(h,a[29939+i>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break e;o=s[x>>2]|0;c=o>>>23;if((c|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[T>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[T>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[T>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[x>>2]|0;i=s[b>>2]|0}s[x>>2]=o<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}while(0);e:do if((r[R>>0]|0)==2){if(k?(s[e+5860>>2]|0)==2:0){o=I+26|0;i=e+5864|0;h=(n[o>>1]|0)-(n[i>>1]|0)|0;if((h+8|0)>>>0<=19){d=h+9|0;c=s[b>>2]|0;u=c>>>8;if((h|0)>-9){h=a[30009+(h+8)>>0]|0;v=c-(te(u,h)|0)|0;s[x>>2]=(s[x>>2]|0)+v;v=0;h=te(u,h-(a[30009+d>>0]|0)|0)|0}else{h=0;S=243}}else{c=s[b>>2]|0;u=c>>>8;d=0;h=1;S=243}if((S|0)==243){v=h;h=c-(te(u,a[30009+d>>0]|0)|0)|0}s[b>>2]=h;while(1){if(h>>>0>=8388609)break;c=s[x>>2]|0;d=c>>>23;if((d|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{u=c>>>31;h=s[m>>2]|0;if((h|0)>-1){c=s[w>>2]|0;if((c+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=c+1;r[(s[t>>2]|0)+c>>0]=h+u;h=0}else h=-1;s[_>>2]=s[_>>2]|h}h=s[T>>2]|0;if(h|0){u=u+255&255;do{c=s[w>>2]|0;if((c+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=c+1;r[(s[t>>2]|0)+c>>0]=u;c=0;h=s[T>>2]|0}else c=-1;s[_>>2]=s[_>>2]|c;h=h+-1|0;s[T>>2]=h}while((h|0)!=0)}s[m>>2]=d&255;c=s[x>>2]|0;h=s[b>>2]|0}s[x>>2]=c<<8&2147483392;h=h<<8;s[b>>2]=h;s[p>>2]=(s[p>>2]|0)+8}if(v)S=260}else S=260;if((S|0)==260){o=I+26|0;h=n[o>>1]|0;d=s[e+4668>>2]|0;i=(h|0)/(d>>1|0)|0;d=h-(te(i<<16>>16,d<<15>>16)|0)|0;h=s[b>>2]|0;c=h>>>8;if((i|0)>0){S=a[29977+(i+-1)>>0]|0;E=h-(te(c,S)|0)|0;s[x>>2]=(s[x>>2]|0)+E;i=te(c,S-(a[29977+i>>0]|0)|0)|0}else i=h-(te(c,a[29977+i>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;h=s[x>>2]|0;u=h>>>23;if((u|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{c=h>>>31;i=s[m>>2]|0;if((i|0)>-1){h=s[w>>2]|0;if((h+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=h+1;r[(s[t>>2]|0)+h>>0]=i+c;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[T>>2]|0;if(i|0){c=c+255&255;do{h=s[w>>2]|0;if((h+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=h+1;r[(s[t>>2]|0)+h>>0]=c;h=0;i=s[T>>2]|0}else h=-1;s[_>>2]=s[_>>2]|h;i=i+-1|0;s[T>>2]=i}while((i|0)!=0)}s[m>>2]=u&255;h=s[x>>2]|0;i=s[b>>2]|0}s[x>>2]=h<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}h=s[e+4776>>2]|0;c=i>>>8;if((d|0)>0){S=h+(d+-1)|0;i=i-(te(c,a[S>>0]|0)|0)|0;s[x>>2]=(s[x>>2]|0)+i;i=te(c,(a[S>>0]|0)-(a[h+d>>0]|0)|0)|0}else i=i-(te(c,a[h+d>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;h=s[x>>2]|0;u=h>>>23;if((u|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{c=h>>>31;i=s[m>>2]|0;if((i|0)>-1){h=s[w>>2]|0;if((h+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=h+1;r[(s[t>>2]|0)+h>>0]=i+c;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[T>>2]|0;if(i|0){c=c+255&255;do{h=s[w>>2]|0;if((h+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=h+1;r[(s[t>>2]|0)+h>>0]=c;h=0;i=s[T>>2]|0}else h=-1;s[_>>2]=s[_>>2]|h;i=i+-1|0;s[T>>2]=i}while((i|0)!=0)}s[m>>2]=u&255;h=s[x>>2]|0;i=s[b>>2]|0}s[x>>2]=h<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}i=e+5864|0}n[i>>1]=n[o>>1]|0;S=r[I+28>>0]|0;i=S<<24>>24;o=s[e+4780>>2]|0;h=s[b>>2]|0;c=h>>>8;if(S<<24>>24>0){S=o+(i+-1)|0;E=h-(te(c,a[S>>0]|0)|0)|0;s[x>>2]=(s[x>>2]|0)+E;i=te(c,(a[S>>0]|0)-(a[o+i>>0]|0)|0)|0}else i=h-(te(c,a[o+i>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;o=s[x>>2]|0;c=o>>>23;if((c|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[T>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[T>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[T>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[x>>2]|0;i=s[b>>2]|0}s[x>>2]=o<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}d=I+32|0;S=r[d>>0]|0;o=S<<24>>24;h=i>>>8;if(S<<24>>24>0){S=a[29437+(o+-1)>>0]|0;i=i-(te(h,S)|0)|0;s[x>>2]=(s[x>>2]|0)+i;i=te(h,S-(a[29437+o>>0]|0)|0)|0}else i=i-(te(h,a[29437+o>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609){c=i;u=0;break}o=s[x>>2]|0;c=o>>>23;if((c|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[T>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[T>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[T>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[x>>2]|0;i=s[b>>2]|0}s[x>>2]=o<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}while(1){if((u|0)>=(s[A>>2]|0))break;S=r[I+4+u>>0]|0;i=S<<24>>24;o=s[17376+(r[d>>0]<<2)>>2]|0;h=c>>>8;if(S<<24>>24>0){S=o+(i+-1)|0;E=c-(te(h,a[S>>0]|0)|0)|0;s[x>>2]=(s[x>>2]|0)+E;i=te(h,(a[S>>0]|0)-(a[o+i>>0]|0)|0)|0}else i=c-(te(h,a[o+i>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;o=s[x>>2]|0;c=o>>>23;if((c|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[T>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[T>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[T>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[x>>2]|0;i=s[b>>2]|0}s[x>>2]=o<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}c=i;u=u+1|0}if(!f){f=r[I+33>>0]|0;i=f<<24>>24;o=c>>>8;if(f<<24>>24>0){f=a[29930+(i+-1)>>0]|0;S=c-(te(o,f)|0)|0;s[x>>2]=(s[x>>2]|0)+S;i=te(o,f-(a[29930+i>>0]|0)|0)|0}else i=c-(te(o,a[29930+i>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break e;o=s[x>>2]|0;c=o>>>23;if((c|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[T>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[T>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[T>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[x>>2]|0;i=s[b>>2]|0}s[x>>2]=o<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}}}while(0);s[e+5860>>2]=r[R>>0];e=r[I+34>>0]|0;i=e<<24>>24;o=s[b>>2]|0;h=o>>>8;if(e<<24>>24>0){e=a[29947+(i+-1)>>0]|0;I=o-(te(h,e)|0)|0;s[x>>2]=(s[x>>2]|0)+I;i=te(h,e-(a[29947+i>>0]|0)|0)|0}else i=o-(te(h,a[29947+i>>0]|0)|0)|0;s[b>>2]=i;while(1){if(i>>>0>=8388609)break;o=s[x>>2]|0;c=o>>>23;if((c|0)==255)s[T>>2]=(s[T>>2]|0)+1;else{h=o>>>31;i=s[m>>2]|0;if((i|0)>-1){o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=i+h;i=0}else i=-1;s[_>>2]=s[_>>2]|i}i=s[T>>2]|0;if(i|0){h=h+255&255;do{o=s[w>>2]|0;if((o+(s[g>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[w>>2]=o+1;r[(s[t>>2]|0)+o>>0]=h;o=0;i=s[T>>2]|0}else o=-1;s[_>>2]=s[_>>2]|o;i=i+-1|0;s[T>>2]=i}while((i|0)!=0)}s[m>>2]=c&255;o=s[x>>2]|0;i=s[b>>2]|0}s[x>>2]=o<<8&2147483392;i=i<<8;s[b>>2]=i;s[p>>2]=(s[p>>2]|0)+8}l=C;return}function Li(e,t,i,n,o){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;var f=0,h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0,V=0;V=l;l=l+96|0;G=V+56|0;C=V+40|0;P=V+32|0;w=V;s[w>>2]=0;s[w+4>>2]=0;s[w+8>>2]=0;s[w+12>>2]=0;s[w+16>>2]=0;s[w+20>>2]=0;s[w+24>>2]=0;s[w+28>>2]=0;f=o>>4;if((f<<4|0)<(o|0)){f=f+1|0;h=n+o|0;c=h+16|0;do{r[h>>0]=0;h=h+1|0}while((h|0)<(c|0))}h=f<<4;I=l;l=l+((1*(h<<2)|0)+15&-16)|0;c=0;while(1){if((c|0)>=(h|0))break;z=r[n+c>>0]|0;H=z<<24>>24;s[I+(c<<2)>>2]=z<<24>>24>0?H:0-H|0;H=c|1;z=r[n+H>>0]|0;q=z<<24>>24;s[I+(H<<2)>>2]=z<<24>>24>0?q:0-q|0;H=c|2;q=r[n+H>>0]|0;z=q<<24>>24;s[I+(H<<2)>>2]=q<<24>>24>0?z:0-z|0;H=c|3;z=r[n+H>>0]|0;q=z<<24>>24;s[I+(H<<2)>>2]=z<<24>>24>0?q:0-q|0;c=c+4|0}H=l;l=l+((1*(f<<2)|0)+15&-16)|0;O=l;l=l+((1*(f<<2)|0)+15&-16)|0;b=I;m=0;while(1){if((m|0)>=(f|0))break;d=O+(m<<2)|0;s[d>>2]=0;p=H+(m<<2)|0;c=0;e:while(1){if((c|0)<8){h=c<<1;h=(s[b+(h<<2)>>2]|0)+(s[b+((h|1)<<2)>>2]|0)|0;if((h|0)>8)u=1;else{s[w+(c<<2)>>2]=h;c=c+1|0;continue}}else u=0;c=0;while(1){if((c|0)>=4){h=0;break}h=c<<1;h=(s[w+(h<<2)>>2]|0)+(s[w+((h|1)<<2)>>2]|0)|0;if((h|0)>10){h=1;break}s[w+(c<<2)>>2]=h;c=c+1|0}u=u+h|0;c=0;while(1){if((c|0)>=2){h=0;break}h=c<<1;h=(s[w+(h<<2)>>2]|0)+(s[w+((h|1)<<2)>>2]|0)|0;if((h|0)>12){h=1;break}s[w+(c<<2)>>2]=h;c=c+1|0}u=u+h|0;c=0;while(1){if((c|0)>=1){h=0;break}h=c<<1;h=(s[w+(h<<2)>>2]|0)+(s[w+((h|1)<<2)>>2]|0)|0;if((h|0)>16){h=1;break}s[p+(c<<2)>>2]=h;c=c+1|0}if((u|0)==(0-h|0))break;s[d>>2]=(s[d>>2]|0)+1;h=0;while(1){if((h|0)==16){c=0;continue e}q=b+(h<<2)|0;s[q>>2]=s[q>>2]>>1;h=h+1|0}}b=b+64|0;m=m+1|0}m=t>>1;v=0;d=0;p=2147483647;while(1){if((d|0)==9)break;c=30270+(d*18|0)+17|0;u=0;b=a[30450+(m*9|0)+d>>0]|0;while(1){if((u|0)>=(f|0))break;if((s[O+(u<<2)>>2]|0)>0)h=c;else h=(s[H+(u<<2)>>2]|0)+(30270+(d*18|0))|0;u=u+1|0;b=b+(a[h>>0]|0)|0}q=(b|0)<(p|0);v=q?d:v;d=d+1|0;p=q?b:p}q=e+28|0;h=s[q>>2]|0;c=h>>>8;if((v|0)>0){z=a[v+-1+(30432+(m*9|0))>>0]|0;h=h-(te(c,z)|0)|0;N=e+32|0;s[N>>2]=(s[N>>2]|0)+h;h=te(c,z-(a[30432+(m*9|0)+v>>0]|0)|0)|0;s[q>>2]=h}else{h=h-(te(c,a[30432+(m*9|0)+v>>0]|0)|0)|0;s[q>>2]=h;N=e+32|0}D=e+36|0;L=e+20|0;B=e+40|0;U=e+24|0;j=e+8|0;F=e+4|0;z=e+44|0;while(1){if(h>>>0>=8388609)break;c=s[N>>2]|0;d=c>>>23;if((d|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{u=c>>>31;h=s[B>>2]|0;if((h|0)>-1){c=s[U>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=c+1;r[(s[e>>2]|0)+c>>0]=h+u;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){u=u+255&255;do{c=s[U>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=c+1;r[(s[e>>2]|0)+c>>0]=u;c=0;h=s[D>>2]|0}else c=-1;s[z>>2]=s[z>>2]|c;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=d&255;c=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=c<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}w=30090+(v*18|0)+16|0;g=30090+(v*18|0)+17|0;m=0;while(1){if((m|0)>=(f|0))break;p=s[O+(m<<2)>>2]|0;e:do if(!p){c=s[H+(m<<2)>>2]|0;u=h>>>8;if((c|0)>0){R=a[c+-1+(30090+(v*18|0))>>0]|0;h=h-(te(u,R)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(u,R-(a[30090+(v*18|0)+c>>0]|0)|0)|0}else h=h-(te(u,a[30090+(v*18|0)+c>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;c=s[N>>2]|0;d=c>>>23;if((d|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{u=c>>>31;h=s[B>>2]|0;if((h|0)>-1){c=s[U>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=c+1;r[(s[e>>2]|0)+c>>0]=h+u;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){u=u+255&255;do{c=s[U>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=c+1;r[(s[e>>2]|0)+c>>0]=u;c=0;h=s[D>>2]|0}else c=-1;s[z>>2]=s[z>>2]|c;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=d&255;c=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=c<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}else{x=h>>>8;R=a[w>>0]|0;c=h-(te(x,R)|0)|0;c=(s[N>>2]|0)+c|0;s[N>>2]=c;h=te(x,R-(a[g>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break;d=c>>>23;if((d|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{u=c>>>31;h=s[B>>2]|0;if((h|0)>-1){c=s[U>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=c+1;r[(s[e>>2]|0)+c>>0]=h+u;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){u=u+255&255;do{c=s[U>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=c+1;r[(s[e>>2]|0)+c>>0]=u;c=0;h=s[D>>2]|0}else c=-1;s[z>>2]=s[z>>2]|c;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=d&255;c=s[N>>2]|0;h=s[q>>2]|0}c=c<<8&2147483392;s[N>>2]=c;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}b=p+-1|0;p=0;while(1){if((p|0)>=(b|0))break;R=h>>>8<<1;c=c+(h-R)|0;s[N>>2]=c;s[q>>2]=R;h=R;while(1){if(h>>>0>=8388609)break;d=c>>>23;if((d|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{u=c>>>31;h=s[B>>2]|0;if((h|0)>-1){c=s[U>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=c+1;r[(s[e>>2]|0)+c>>0]=h+u;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){u=u+255&255;do{c=s[U>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=c+1;r[(s[e>>2]|0)+c>>0]=u;c=0;h=s[D>>2]|0}else c=-1;s[z>>2]=s[z>>2]|c;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=d&255;c=s[N>>2]|0;h=s[q>>2]|0}c=c<<8&2147483392;s[N>>2]=c;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}p=p+1|0}u=s[H+(m<<2)>>2]|0;d=h>>>8;if((u|0)>0){R=a[30252+(u+-1)>>0]|0;c=c+(h-(te(d,R)|0))|0;s[N>>2]=c;h=te(d,R-(a[30252+u>>0]|0)|0)|0}else h=h-(te(d,a[30252+u>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;d=c>>>23;if((d|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{u=c>>>31;h=s[B>>2]|0;if((h|0)>-1){c=s[U>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=c+1;r[(s[e>>2]|0)+c>>0]=h+u;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){u=u+255&255;do{c=s[U>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=c+1;r[(s[e>>2]|0)+c>>0]=u;c=0;h=s[D>>2]|0}else c=-1;s[z>>2]=s[z>>2]|c;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=d&255;c=s[N>>2]|0;h=s[q>>2]|0}c=c<<8&2147483392;s[N>>2]=c;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0);m=m+1|0}v=G+4|0;_=G+8|0;y=C+4|0;k=G+12|0;E=C+8|0;A=P+4|0;S=G+16|0;M=G+20|0;T=G+24|0;x=C+12|0;R=G+28|0;g=0;c=0;while(1){if((g|0)>=(f|0)){v=0;break}if((s[H+(g<<2)>>2]|0)>0){w=I+(g<<4<<2)|0;u=0;while(1){if((u|0)==8){u=0;break}m=u<<1;s[G+(u<<2)>>2]=(s[w+(m<<2)>>2]|0)+(s[w+((m|1)<<2)>>2]|0);u=u+1|0}while(1){if((u|0)==4){u=0;break}m=u<<1;s[C+(u<<2)>>2]=(s[G+(m<<2)>>2]|0)+(s[G+((m|1)<<2)>>2]|0);u=u+1|0}while(1){if((u|0)==2){u=0;break}m=u<<1;s[P+(u<<2)>>2]=(s[C+(m<<2)>>2]|0)+(s[C+((m|1)<<2)>>2]|0);u=u+1|0}while(1){if((u|0)==1)break;c=u<<1;u=u+1|0;c=(s[P+(c<<2)>>2]|0)+(s[P+((c|1)<<2)>>2]|0)|0}b=s[P>>2]|0;e:do if((c|0)>0){u=30924+(a[31076+c>>0]|0)|0;d=h>>>8;if((b|0)>0){m=a[u+(b+-1)>>0]|0;h=h-(te(d,m)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(d,m-(a[u+b>>0]|0)|0)|0}else h=h-(te(d,a[u+b>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;u=s[N>>2]|0;p=u>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=u>>>31;h=s[B>>2]|0;if((h|0)>-1){u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=h+d;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){d=d+255&255;do{u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=d;u=0;h=s[D>>2]|0}else u=-1;s[z>>2]=s[z>>2]|u;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=p&255;u=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=u<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0);m=s[C>>2]|0;e:do if((b|0)>0){u=30772+(a[31076+b>>0]|0)|0;d=h>>>8;if((m|0)>0){b=a[u+(m+-1)>>0]|0;h=h-(te(d,b)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(d,b-(a[u+m>>0]|0)|0)|0}else h=h-(te(d,a[u+m>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;u=s[N>>2]|0;p=u>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=u>>>31;h=s[B>>2]|0;if((h|0)>-1){u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=h+d;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){d=d+255&255;do{u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=d;u=0;h=s[D>>2]|0}else u=-1;s[z>>2]=s[z>>2]|u;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=p&255;u=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=u<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0);b=s[G>>2]|0;e:do if((m|0)>0){u=30620+(a[31076+m>>0]|0)|0;d=h>>>8;if((b|0)>0){m=a[u+(b+-1)>>0]|0;h=h-(te(d,m)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(d,m-(a[u+b>>0]|0)|0)|0}else h=h-(te(d,a[u+b>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;u=s[N>>2]|0;p=u>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=u>>>31;h=s[B>>2]|0;if((h|0)>-1){u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=h+d;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){d=d+255&255;do{u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=d;u=0;h=s[D>>2]|0}else u=-1;s[z>>2]=s[z>>2]|u;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=p&255;u=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=u<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[w>>2]|0;e:do if((b|0)>0){u=30468+(a[31076+b>>0]|0)|0;d=h>>>8;if((p|0)>0){m=a[u+(p+-1)>>0]|0;h=h-(te(d,m)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(d,m-(a[u+p>>0]|0)|0)|0}else h=h-(te(d,a[u+p>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;u=s[N>>2]|0;p=u>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=u>>>31;h=s[B>>2]|0;if((h|0)>-1){u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=h+d;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){d=d+255&255;do{u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=d;u=0;h=s[D>>2]|0}else u=-1;s[z>>2]=s[z>>2]|u;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=p&255;u=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=u<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[w+8>>2]|0;u=s[v>>2]|0;e:do if((u|0)>0){u=30468+(a[31076+u>>0]|0)|0;d=h>>>8;if((p|0)>0){m=a[u+(p+-1)>>0]|0;h=h-(te(d,m)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(d,m-(a[u+p>>0]|0)|0)|0}else h=h-(te(d,a[u+p>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;u=s[N>>2]|0;p=u>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=u>>>31;h=s[B>>2]|0;if((h|0)>-1){u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=h+d;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){d=d+255&255;do{u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=d;u=0;h=s[D>>2]|0}else u=-1;s[z>>2]=s[z>>2]|u;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=p&255;u=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=u<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0);b=s[_>>2]|0;u=s[y>>2]|0;e:do if((u|0)>0){u=30620+(a[31076+u>>0]|0)|0;d=h>>>8;if((b|0)>0){m=a[u+(b+-1)>>0]|0;h=h-(te(d,m)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(d,m-(a[u+b>>0]|0)|0)|0}else h=h-(te(d,a[u+b>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;u=s[N>>2]|0;p=u>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=u>>>31;h=s[B>>2]|0;if((h|0)>-1){u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=h+d;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){d=d+255&255;do{u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=d;u=0;h=s[D>>2]|0}else u=-1;s[z>>2]=s[z>>2]|u;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=p&255;u=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=u<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[w+16>>2]|0;e:do if((b|0)>0){u=30468+(a[31076+b>>0]|0)|0;d=h>>>8;if((p|0)>0){m=a[u+(p+-1)>>0]|0;h=h-(te(d,m)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(d,m-(a[u+p>>0]|0)|0)|0}else h=h-(te(d,a[u+p>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;u=s[N>>2]|0;p=u>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=u>>>31;h=s[B>>2]|0;if((h|0)>-1){u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=h+d;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){d=d+255&255;do{u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=d;u=0;h=s[D>>2]|0}else u=-1;s[z>>2]=s[z>>2]|u;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=p&255;u=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=u<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[w+24>>2]|0;u=s[k>>2]|0;e:do if((u|0)>0){u=30468+(a[31076+u>>0]|0)|0;d=h>>>8;if((p|0)>0){m=a[u+(p+-1)>>0]|0;h=h-(te(d,m)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(d,m-(a[u+p>>0]|0)|0)|0}else h=h-(te(d,a[u+p>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;u=s[N>>2]|0;p=u>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=u>>>31;h=s[B>>2]|0;if((h|0)>-1){u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=h+d;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){d=d+255&255;do{u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=d;u=0;h=s[D>>2]|0}else u=-1;s[z>>2]=s[z>>2]|u;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=p&255;u=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=u<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0);b=s[E>>2]|0;u=s[A>>2]|0;e:do if((u|0)>0){u=30772+(a[31076+u>>0]|0)|0;d=h>>>8;if((b|0)>0){m=a[u+(b+-1)>>0]|0;h=h-(te(d,m)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(d,m-(a[u+b>>0]|0)|0)|0}else h=h-(te(d,a[u+b>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;u=s[N>>2]|0;p=u>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=u>>>31;h=s[B>>2]|0;if((h|0)>-1){u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=h+d;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){d=d+255&255;do{u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=d;u=0;h=s[D>>2]|0}else u=-1;s[z>>2]=s[z>>2]|u;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=p&255;u=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=u<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0);m=s[S>>2]|0;e:do if((b|0)>0){u=30620+(a[31076+b>>0]|0)|0;d=h>>>8;if((m|0)>0){b=a[u+(m+-1)>>0]|0;h=h-(te(d,b)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(d,b-(a[u+m>>0]|0)|0)|0}else h=h-(te(d,a[u+m>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;u=s[N>>2]|0;p=u>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=u>>>31;h=s[B>>2]|0;if((h|0)>-1){u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=h+d;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){d=d+255&255;do{u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=d;u=0;h=s[D>>2]|0}else u=-1;s[z>>2]=s[z>>2]|u;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=p&255;u=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=u<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[w+32>>2]|0;e:do if((m|0)>0){u=30468+(a[31076+m>>0]|0)|0;d=h>>>8;if((p|0)>0){m=a[u+(p+-1)>>0]|0;h=h-(te(d,m)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(d,m-(a[u+p>>0]|0)|0)|0}else h=h-(te(d,a[u+p>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;u=s[N>>2]|0;p=u>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=u>>>31;h=s[B>>2]|0;if((h|0)>-1){u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=h+d;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){d=d+255&255;do{u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=d;u=0;h=s[D>>2]|0}else u=-1;s[z>>2]=s[z>>2]|u;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=p&255;u=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=u<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[w+40>>2]|0;u=s[M>>2]|0;e:do if((u|0)>0){u=30468+(a[31076+u>>0]|0)|0;d=h>>>8;if((p|0)>0){m=a[u+(p+-1)>>0]|0;h=h-(te(d,m)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(d,m-(a[u+p>>0]|0)|0)|0}else h=h-(te(d,a[u+p>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;u=s[N>>2]|0;p=u>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=u>>>31;h=s[B>>2]|0;if((h|0)>-1){u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=h+d;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){d=d+255&255;do{u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=d;u=0;h=s[D>>2]|0}else u=-1;s[z>>2]=s[z>>2]|u;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=p&255;u=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=u<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0);b=s[T>>2]|0;u=s[x>>2]|0;e:do if((u|0)>0){u=30620+(a[31076+u>>0]|0)|0;d=h>>>8;if((b|0)>0){m=a[u+(b+-1)>>0]|0;h=h-(te(d,m)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(d,m-(a[u+b>>0]|0)|0)|0}else h=h-(te(d,a[u+b>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;u=s[N>>2]|0;p=u>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=u>>>31;h=s[B>>2]|0;if((h|0)>-1){u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=h+d;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){d=d+255&255;do{u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=d;u=0;h=s[D>>2]|0}else u=-1;s[z>>2]=s[z>>2]|u;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=p&255;u=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=u<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[w+48>>2]|0;e:do if((b|0)>0){u=30468+(a[31076+b>>0]|0)|0;d=h>>>8;if((p|0)>0){m=a[u+(p+-1)>>0]|0;h=h-(te(d,m)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(d,m-(a[u+p>>0]|0)|0)|0}else h=h-(te(d,a[u+p>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;u=s[N>>2]|0;p=u>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=u>>>31;h=s[B>>2]|0;if((h|0)>-1){u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=h+d;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){d=d+255&255;do{u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=d;u=0;h=s[D>>2]|0}else u=-1;s[z>>2]=s[z>>2]|u;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=p&255;u=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=u<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0);p=s[w+56>>2]|0;u=s[R>>2]|0;e:do if((u|0)>0){u=30468+(a[31076+u>>0]|0)|0;d=h>>>8;if((p|0)>0){w=a[u+(p+-1)>>0]|0;h=h-(te(d,w)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(d,w-(a[u+p>>0]|0)|0)|0}else h=h-(te(d,a[u+p>>0]|0)|0)|0;s[q>>2]=h;while(1){if(h>>>0>=8388609)break e;u=s[N>>2]|0;p=u>>>23;if((p|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{d=u>>>31;h=s[B>>2]|0;if((h|0)>-1){u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=h+d;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){d=d+255&255;do{u=s[U>>2]|0;if((u+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=u+1;r[(s[e>>2]|0)+u>>0]=d;u=0;h=s[D>>2]|0}else u=-1;s[z>>2]=s[z>>2]|u;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=p&255;u=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=u<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}while(0)}g=g+1|0}while(1){if((v|0)>=(f|0))break;w=s[O+(v<<2)>>2]|0;e:do if((w|0)>0){g=n+(v<<4)|0;m=0;while(1){if((m|0)==16)break e;c=r[g+m>>0]|0;b=c<<24>>24;b=(c<<24>>24>0?b:0-b|0)<<24>>24;c=w;t:while(1){p=c+-1|0;if((c|0)<=1)break;c=b>>>p&1;u=h>>>8;d=r[29928+c>>0]|0;if(!c)h=h-(te(u,d&255)|0)|0;else{P=a[29928+(c+-1)>>0]|0;h=h-(te(u,P)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(u,P-(d&255)|0)|0}s[q>>2]=h;while(1){if(h>>>0>=8388609){c=p;continue t}c=s[N>>2]|0;d=c>>>23;if((d|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{ -u=c>>>31;h=s[B>>2]|0;if((h|0)>-1){c=s[U>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=c+1;r[(s[e>>2]|0)+c>>0]=h+u;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){u=u+255&255;do{c=s[U>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=c+1;r[(s[e>>2]|0)+c>>0]=u;c=0;h=s[D>>2]|0}else c=-1;s[z>>2]=s[z>>2]|c;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=d&255;c=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=c<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}}c=b&1;u=h>>>8;d=r[29928+c>>0]|0;if(!c)h=h-(te(u,d&255)|0)|0;else{P=a[29928+(c+-1)>>0]|0;h=h-(te(u,P)|0)|0;s[N>>2]=(s[N>>2]|0)+h;h=te(u,P-(d&255)|0)|0}s[q>>2]=h;while(1){if(h>>>0>=8388609)break;c=s[N>>2]|0;d=c>>>23;if((d|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{u=c>>>31;h=s[B>>2]|0;if((h|0)>-1){c=s[U>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=c+1;r[(s[e>>2]|0)+c>>0]=h+u;h=0}else h=-1;s[z>>2]=s[z>>2]|h}h=s[D>>2]|0;if(h|0){u=u+255&255;do{c=s[U>>2]|0;if((c+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=c+1;r[(s[e>>2]|0)+c>>0]=u;c=0;h=s[D>>2]|0}else c=-1;s[z>>2]=s[z>>2]|c;h=h+-1|0;s[D>>2]=h}while((h|0)!=0)}s[B>>2]=d&255;c=s[N>>2]|0;h=s[q>>2]|0}s[N>>2]=c<<8&2147483392;h=h<<8;s[q>>2]=h;s[L>>2]=(s[L>>2]|0)+8}m=m+1|0}}while(0);v=v+1|0}r[G+1>>0]=0;w=31093+(((t<<1)+i<<16>>16)*7|0)|0;m=o+8>>4;f=h;b=0;p=n;while(1){if((b|0)>=(m|0))break;h=s[H+(b<<2)>>2]|0;e:do if((h|0)>0){r[G>>0]=r[w+((h&30)>>>0<6?h&31:6)>>0]|0;d=0;while(1){if((d|0)==16)break e;h=r[p+d>>0]|0;t:do if(h<<24>>24){h=h<<24>>24>>15;c=h+1|0;u=f>>>8;if((h|0)>-1){n=a[G+h>>0]|0;f=f-(te(u,n)|0)|0;s[N>>2]=(s[N>>2]|0)+f;f=te(u,n-(a[G+c>>0]|0)|0)|0}else f=f-(te(u,a[G+c>>0]|0)|0)|0;s[q>>2]=f;while(1){if(f>>>0>=8388609)break t;h=s[N>>2]|0;u=h>>>23;if((u|0)==255)s[D>>2]=(s[D>>2]|0)+1;else{c=h>>>31;f=s[B>>2]|0;if((f|0)>-1){h=s[U>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=h+1;r[(s[e>>2]|0)+h>>0]=f+c;f=0}else f=-1;s[z>>2]=s[z>>2]|f}f=s[D>>2]|0;if(f|0){c=c+255&255;do{h=s[U>>2]|0;if((h+(s[j>>2]|0)|0)>>>0<(s[F>>2]|0)>>>0){s[U>>2]=h+1;r[(s[e>>2]|0)+h>>0]=c;h=0;f=s[D>>2]|0}else h=-1;s[z>>2]=s[z>>2]|h;f=f+-1|0;s[D>>2]=f}while((f|0)!=0)}s[B>>2]=u&255;h=s[N>>2]|0;f=s[q>>2]|0}s[N>>2]=h<<8&2147483392;f=f<<8;s[q>>2]=f;s[L>>2]=(s[L>>2]|0)+8}}while(0);d=d+1|0}}while(0);b=b+1|0;p=p+16|0}l=V;return}function Bi(e,t,i,a){e=e|0;t=t|0;i=i|0;a=a|0;var o=0,f=0,h=0,c=0,l=0;h=i+2|0;o=n[h>>1]|0;a=(te(o<<16>>16,a)|0)/2|0;f=i+20|0;a=(s[i+24>>2]|0)+a|0;i=0;while(1){if((i|0)>=(o<<16>>16|0))break;l=r[a>>0]|0;c=l&255;n[e+(i<<1)>>1]=(c>>>1&7)*9;r[t+i>>0]=r[(s[f>>2]|0)+(i+((n[h>>1]|0)+-1&0-(c&1)))>>0]|0;o=i|1;n[e+(o<<1)>>1]=((l&255)>>>5&255)*9;r[t+o>>0]=r[(s[f>>2]|0)+(i+((n[h>>1]|0)+-1&0-(c>>>4&1))+1)>>0]|0;o=n[h>>1]|0;a=a+1|0;i=i+2|0}return}function Ui(e,t,i,a,f,h,c,u,d,p,b){e=e|0;t=t|0;i=i|0;a=a|0;f=f|0;h=h|0;c=c|0;u=u|0;d=d|0;p=p|0;b=b|0;var m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0;R=l;l=l+16|0;M=R+8|0;k=R+4|0;y=R;T=t+-4|0;m=b+2|0;x=l;l=l+((1*(m<<1)|0)+15&-16)|0;w=0;while(1){if((w|0)>=(m|0))break;A=w+-2|0;_=n[t+(A<<1)>>1]|0;A=n[i+(A<<1)>>1]|0;E=_+A|0;A=_-A|0;n[T+(w<<1)>>1]=(E>>>1)+(E&1);A=(A>>1)+(A&1)|0;n[x+(w<<1)>>1]=(A|0)>32767?32767:((A|0)<-32768?-32768:A)&65535;w=w+1|0}_=e+4|0;g=o[_>>1]|o[_+2>>1]<<16;n[T>>1]=g;n[T+2>>1]=g>>>16;g=e+8|0;w=o[g>>1]|o[g+2>>1]<<16;s[x>>2]=w;m=T+(b<<1)|0;m=o[m>>1]|o[m+2>>1]<<16;n[_>>1]=m;n[_+2>>1]=m>>>16;_=x+(b<<1)|0;_=o[_>>1]|o[_+2>>1]<<16;n[g>>1]=_;n[g+2>>1]=_>>>16;g=l;l=l+((1*(b<<1)|0)+15&-16)|0;_=l;l=l+((1*(b<<1)|0)+15&-16)|0;m=0;while(1){if((m|0)>=(b|0))break;A=m+1|0;v=n[T+(A<<1)>>1]|0;E=((n[T+(m<<1)>>1]|0)+(n[T+(m+2<<1)>>1]|0)+(v<<16>>16<<1)>>1)+1>>1;n[g+(m<<1)>>1]=E;n[_+(m<<1)>>1]=(v&65535)-E;m=A}t=l;l=l+((1*(b<<1)|0)+15&-16)|0;v=l;l=l+((1*(b<<1)|0)+15&-16)|0;m=w&65535;w=0;while(1){if((w|0)>=(b|0))break;A=w+1|0;E=n[x+(A<<1)>>1]|0;I=((m<<16>>16)+(n[x+(w+2<<1)>>1]|0)+(E<<16>>16<<1)>>1)+1>>1;n[t+(w<<1)>>1]=I;n[v+(w<<1)>>1]=(E&65535)-I;m=E;w=A}m=(p*10|0)==(b|0);E=m?328:655;u=u<<16>>16;u=te(u,u)|0;u=(te(u>>>16,E)|0)+((te(u&65535,E)|0)>>>16)|0;E=Yi(k,g,t,e+12|0,b,u)|0;s[M>>2]=E;v=Yi(y,_,v,e+20|0,b,u)|0;A=M+4|0;s[A>>2]=v;g=(s[y>>2]|0)+((s[k>>2]<<16>>16)*3|0)|0;g=(g|0)<65536?g:65536;_=c-(m?1200:600)|0;_=(_|0)<1?1:_;t=((p<<16>>16)*900|0)+2e3|0;m=g*3|0;w=ji(_,m+851968|0,19)|0;s[h>>2]=w;if((w|0)<(t|0)){s[h>>2]=t;c=_-t|0;s[h+4>>2]=c;I=t<<16>>16;m=ji((c<<1)-t|0,(te(m+65536>>16,I)|0)+((te(m&65535,I)|0)>>16)|0,16)|0;if((m|0)>16384)m=16384;else m=(m|0)<0?0:m}else{s[h+4>>2]=_-w;m=16384}w=e+28|0;k=n[w>>1]|0;c=k&65535;I=u<<16>>16;n[w>>1]=c+((te(m-(k<<16>>16)>>16,I)|0)+((te(m-c&65535,I)|0)>>>16));r[f>>0]=0;e:do if(!d){do if(!(n[e+30>>1]|0)){if((_<<3|0)>=(t*13|0)){m=s[w>>2]|0;I=m<<16>>16;if(((te(g>>16,I)|0)+((te(g&65535,I)|0)>>16)|0)<819)m=m&65535;else{if((m>>>16&65535)<<16>>16){S=23;break}m=n[w>>1]|0;break}}else m=n[w>>1]|0;s[M>>2]=(te(m<<16>>16,E<<16>>16)|0)>>14;s[A>>2]=(te(m<<16>>16,v<<16>>16)|0)>>14;$i(M,a);s[M>>2]=0;s[A>>2]=0;s[h>>2]=_;s[h+4>>2]=0;r[f>>0]=1;w=0;S=31;break e}else S=23;while(0);do if((S|0)==23){if((_<<3|0)>=(t*11|0)){m=n[w>>1]|0;I=m<<16>>16;if(((te(g>>16,I)|0)+((te(g&65535,I)|0)>>16)|0)>=328)break}else m=n[w>>1]|0;m=m<<16>>16;s[M>>2]=(te(m,E<<16>>16)|0)>>14;s[A>>2]=(te(m,v<<16>>16)|0)>>14;$i(M,a);s[M>>2]=0;s[A>>2]=0;m=0;S=30;break e}while(0);if(m<<16>>16>15565){$i(M,a);m=16384;S=30;break}else{m=m<<16>>16;s[M>>2]=(te(m,E<<16>>16)|0)>>14;s[A>>2]=(te(m,v<<16>>16)|0)>>14;$i(M,a);m=n[w>>1]|0;S=30;break}}else{s[M>>2]=0;s[A>>2]=0;$i(M,a);m=0;S=30}while(0);if((S|0)==30)if((r[f>>0]|0)==1){w=m;S=31}else{n[e+32>>1]=0;S=35}do if((S|0)==31){m=e+32|0;I=(o[m>>1]|0)+(b-(p<<3))|0;n[m>>1]=I;if((I<<16>>16|0)<(p*5|0)){r[f>>0]=0;S=36;break}else{n[m>>1]=1e4;m=w;S=35;break}}while(0);if((S|0)==35)if(!(r[f>>0]|0)){w=m;S=36}if((S|0)==36){m=h+4|0;if((s[m>>2]|0)<1){s[m>>2]=1;s[h>>2]=(_|0)<2?1:_+-1|0;m=w}else m=w}u=s[e>>2]|0;d=e+30|0;v=n[d>>1]|0;y=v<<16>>16;w=p<<3;E=s[M>>2]|0;g=(65536/(w|0)|0)<<16>>16;k=((te(E-u<<16>>16,g)|0)>>15)+1>>1;c=s[A>>2]|0;t=((te(c-(u>>>16)<<16>>16,g)|0)>>15)+1>>1;g=(te(m-y>>16,g)|0)+((te(m-(v&65535)&65535,g)|0)>>16)<<10;v=0;_=0-(u<<16>>16)|0;u=0-(u>>16)|0;y=y<<10;while(1){if((v|0)>=(w|0))break;p=_-k|0;M=u-t|0;I=y+g|0;h=v+1|0;S=n[T+(h<<1)>>1]|0;A=(n[T+(v<<1)>>1]|0)+(n[T+(v+2<<1)>>1]|0)+(S<<1)|0;C=n[x+(h<<1)>>1]|0;a=p<<16>>16;f=M<<16>>16;f=((te(I>>16,C)|0)+((te(I&64512,C)|0)>>16)+((te(A>>7,a)|0)+((te(A<<9&65024,a)|0)>>16))+((te(S>>5,f)|0)+((te(S<<11&63488,f)|0)>>16))>>7)+1>>1;n[i+(v+-1<<1)>>1]=(f|0)>32767?32767:((f|0)<-32768?-32768:f)&65535;v=h;_=p;u=M;y=I}t=e+2|0;g=m>>6;v=m<<10&64512;_=0-E<<16>>16;u=0-c<<16>>16;while(1){if((w|0)>=(b|0))break;C=w+1|0;I=n[T+(C<<1)>>1]|0;M=(n[T+(w<<1)>>1]|0)+(n[T+(w+2<<1)>>1]|0)+(I<<1)|0;p=n[x+(C<<1)>>1]|0;I=((te(g,p)|0)+((te(v,p)|0)>>16)+((te(M>>7,_)|0)+((te(M<<9&65024,_)|0)>>16))+((te(I>>5,u)|0)+((te(I<<11&63488,u)|0)>>16))>>7)+1>>1;n[i+(w+-1<<1)>>1]=(I|0)>32767?32767:((I|0)<-32768?-32768:I)&65535;w=C}n[e>>1]=E;n[t>>1]=c;n[d>>1]=m;l=R;return}function ji(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,n=0,s=0,a=0;if((e|0)<=0)if(!e)n=32;else{r=0-e|0;s=3}else{r=e;s=3}if((s|0)==3)n=re(r|0)|0;e=e<>16|0)|0)<<16>>16;a=(te(e>>16,t)|0)+((te(e&65535,t)|0)>>16)|0;s=Nn(s|0,((s|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;s=Sn(s|0,C|0,29)|0;s=e-(s&-8)|0;t=a+((te(s>>16,t)|0)+((te(s&65535,t)|0)>>16))|0;r=n+28-r-i|0;if((r|0)>=0)return((r|0)<32?t>>r:0)|0;r=0-r|0;e=-2147483648>>r;n=2147483647>>>r;if((e|0)>(n|0)){if((t|0)>(e|0)){a=e;a=a<(n|0)){a=n;a=a<>2]=t;s[e+8>>2]=193536;s[e+12>>2]=193536;s[e+4756>>2]=1;t=e+32|0;i=t+112|0;do{s[t>>2]=0;t=t+4|0}while((t|0)<(i|0));t=0;while(1){if((t|0)==4){t=0;break}i=t+1|0;r=50/(i|0)|0;s[e+124+(t<<2)>>2]=(r|0)>1?r:1;t=i}while(1){if((t|0)==4)break;r=(s[e+124+(t<<2)>>2]|0)*100|0;s[e+92+(t<<2)>>2]=r;s[e+108+(t<<2)>>2]=2147483647/(r|0)|0;t=t+1|0}s[e+140>>2]=15;t=0;while(1){if((t|0)==4)break;s[e+72+(t<<2)>>2]=25600;t=t+1|0}return 0}function zi(e,t){e=e|0;t=t|0;var i=0,r=0,a=0,o=0,f=0,c=0,u=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0;_=l;l=l+304|0;w=_;b=e+4668|0;r=s[b>>2]|0;if((r|0)==(t|0)?(i=e+4648|0,(s[e+4652>>2]|0)==(s[i>>2]|0)):0){g=i;v=0;g=s[g>>2]|0;e=e+4652|0;s[e>>2]=g;l=_;return v|0}if(!r){v=e+4648|0;g=v;v=qi(e+5868|0,s[v>>2]|0,t*1e3|0,1)|0;g=s[g>>2]|0;e=e+4652|0;s[e>>2]=g;l=_;return v|0}m=((s[e+4672>>2]|0)*10|0)+5|0;p=te(m,r)|0;r=te(m,t)|0;g=Ne()|0;v=l;l=l+((1*(((p|0)>(r|0)?p:r)<<1)|0)+15&-16)|0;i=p;while(1){u=i+-1|0;if((i|0)<=0)break;o=+h[e+7272+(u<<2)>>2];a=(h[d>>2]=o,s[d>>2]|0);f=(a&2130706432)>>>0>1249902592;if(!f){i=(a|0)<0;c=i?o+-8388608+8388608:o+8388608+-8388608;if(c==0)c=i?-0:0}else c=o;if((~~c|0)<=32767){if(!f){i=(a|0)<0;c=i?o+-8388608+8388608:o+8388608+-8388608;if(c==0)c=i?-0:0}else c=o;if((~~c|0)<-32768)i=-32768;else{if(!f){i=(a|0)<0;o=i?o+-8388608+8388608:o+8388608+-8388608;if(o==0)o=i?-0:0}i=~~o}}else i=32767;n[v+(u<<1)>>1]=i;i=u}u=e+4648|0;f=qi(w,(s[b>>2]<<16>>16)*1e3|0,s[u>>2]|0,0)|0;m=te(m,(s[u>>2]|0)/1e3|0)|0;b=l;l=l+((1*(m<<1)|0)+15&-16)|0;Hi(w,b,v,p);w=e+5868|0;a=qi(w,s[u>>2]|0,(t<<16>>16)*1e3|0,1)|0;Hi(w,v,b,m);while(1){i=r+-1|0;if((r|0)<=0)break;h[e+7272+(i<<2)>>2]=+(n[v+(i<<1)>>1]|0);r=i}qe(g|0);g=u;v=f+a|0;g=s[g>>2]|0;e=e+4652|0;s[e>>2]=g;l=_;return v|0}function qi(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var a=0,o=0,f=0;kn(e|0,0,300)|0;if(!n){e:do if((t|0)>=12e3)if((t|0)<16e3){switch(t|0){case 12e3:break e;default:n=-1}return n|0}else{switch(t|0){case 16e3:break e;default:n=-1}return n|0}else{switch(t|0){case 8e3:break e;default:n=-1}return n|0}while(0);e:do if((i|0)<16e3)if((i|0)<12e3){switch(i|0){case 8e3:break e;default:n=-1}return n|0}else{switch(i|0){case 12e3:break e;default:n=-1}return n|0}else{if((i|0)<24e3){switch(i|0){case 16e3:break e;default:n=-1}return n|0}if((i|0)<48e3){switch(i|0){case 24e3:break e;default:n=-1}return n|0}else{switch(i|0){case 48e3:break e;default:n=-1}return n|0}}while(0);s[e+292>>2]=r[((i>>12)-((i|0)>16e3&1)>>((i|0)>24e3&1))+-1+(31150+((((t>>12)-((t|0)>16e3&1)>>((t|0)>24e3&1))+-1|0)*5|0))>>0]}else{e:do if((t|0)<16e3)if((t|0)<12e3){switch(t|0){case 8e3:break e;default:n=-1}return n|0}else{switch(t|0){case 12e3:break e;default:n=-1}return n|0}else{if((t|0)<24e3){switch(t|0){case 16e3:break e;default:n=-1}return n|0}if((t|0)<48e3){switch(t|0){case 24e3:break e;default:n=-1}return n|0}else{switch(t|0){case 48e3:break e;default:n=-1}return n|0}}while(0);e:do if((i|0)>=12e3)if((i|0)<16e3){switch(i|0){case 12e3:break e;default:n=-1}return n|0}else{switch(i|0){case 16e3:break e;default:n=-1}return n|0}else{switch(i|0){case 8e3:break e;default:n=-1}return n|0}while(0);s[e+292>>2]=r[((i>>12)-((i|0)>16e3&1)>>((i|0)>24e3&1))+-1+(31135+((((t>>12)-((t|0)>16e3&1)>>((t|0)>24e3&1))+-1|0)*3|0))>>0]}f=(t|0)/1e3|0;s[e+284>>2]=f;s[e+288>>2]=(i|0)/1e3|0;s[e+268>>2]=f*10;do if((i|0)>(t|0)){n=e+264|0;if((t<<1|0)==(i|0)){s[n>>2]=1;n=0;break}else{s[n>>2]=2;n=1;break}}else{n=e+264|0;if((i|0)>=(t|0)){s[n>>2]=0;n=0;break}s[n>>2]=3;n=i<<2;if((n|0)==(t*3|0)){s[e+280>>2]=3;s[e+276>>2]=18;s[e+296>>2]=25418;n=0;break}a=i*3|0;if((a|0)==(t<<1|0)){s[e+280>>2]=2;s[e+276>>2]=18;s[e+296>>2]=25476;n=0;break}if((i<<1|0)==(t|0)){s[e+280>>2]=1;s[e+276>>2]=24;s[e+296>>2]=25516;n=0;break}if((a|0)==(t|0)){s[e+280>>2]=1;s[e+276>>2]=36;s[e+296>>2]=25544;n=0;break}if((n|0)==(t|0)){s[e+280>>2]=1;s[e+276>>2]=36;s[e+296>>2]=25584;n=0;break}if((i*6|0)==(t|0)){s[e+280>>2]=1;s[e+276>>2]=36;s[e+296>>2]=25624;n=0;break}else{t=-1;return t|0}}while(0);a=((t<<(n|14)|0)/(i|0)|0)<<2;o=e+272|0;s[o>>2]=a;f=i<<16>>16;e=(i>>15)+1>>1;n=t<>16,f)|0)+((te(a&65535,f)|0)>>16)+(te(a,e)|0)|0)>=(n|0)){n=0;break}t=a+1|0;s[o>>2]=t;a=t}return n|0}function Hi(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var n=0,a=0,o=0,f=0;n=e+284|0;o=e+292|0;f=s[o>>2]|0;a=(s[n>>2]|0)-f|0;Mn(e+168+(f<<1)|0,i|0,a<<1|0)|0;switch(s[e+264>>2]|0){case 1:{f=e+168|0;Wi(e,t,f,s[n>>2]|0);Wi(e,t+(s[e+288>>2]<<1)|0,i+(a<<1)|0,r-(s[n>>2]|0)|0);n=f;break}case 2:{f=e+168|0;Vi(e,t,f,s[n>>2]|0);Vi(e,t+(s[e+288>>2]<<1)|0,i+(a<<1)|0,r-(s[n>>2]|0)|0);n=f;break}case 3:{f=e+168|0;Gi(e,t,f,s[n>>2]|0);Gi(e,t+(s[e+288>>2]<<1)|0,i+(a<<1)|0,r-(s[n>>2]|0)|0);n=f;break}default:{f=e+168|0;Mn(t|0,f|0,s[n>>2]<<1|0)|0;Mn(t+(s[e+288>>2]<<1)|0,i+(a<<1)|0,r-(s[n>>2]|0)<<1|0)|0;n=f}}f=s[o>>2]|0;Mn(n|0,i+(r-f<<1)|0,f<<1|0)|0;return}function Gi(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var a=0,o=0,f=0,h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0;j=l;d=e+268|0;c=s[d>>2]|0;E=e+276|0;h=s[E>>2]|0;L=l;l=l+((1*(c+h<<2)|0)+15&-16)|0;B=e+24|0;Mn(L|0,B|0,h<<2|0)|0;U=e+296|0;D=s[U>>2]|0;p=D+4|0;b=s[e+272>>2]|0;m=e+4|0;w=e+280|0;g=D+6|0;v=D+8|0;_=D+10|0;y=D+12|0;k=D+14|0;A=D+16|0;S=D+18|0;M=D+20|0;T=D+22|0;x=D+24|0;R=D+26|0;I=D+28|0;C=D+30|0;P=D+32|0;O=D+34|0;N=D+36|0;D=D+38|0;u=i;i=c;while(1){c=(r|0)<(i|0)?r:i;i=L+(h<<2)|0;a=s[U>>2]|0;o=a+2|0;f=0;while(1){if((f|0)>=(c|0))break;z=(s[e>>2]|0)+(n[u+(f<<1)>>1]<<8)|0;s[i+(f<<2)>>2]=z;z=z<<2;q=z>>16;F=n[a>>1]|0;z=z&65532;s[e>>2]=(s[m>>2]|0)+((te(q,F)|0)+((te(z,F)|0)>>16));F=n[o>>1]|0;s[m>>2]=(te(q,F)|0)+((te(z,F)|0)>>16);f=f+1|0}f=c<<16;i=s[w>>2]|0;e:do switch(h|0){case 18:{o=i<<16>>16;a=i+-1|0;i=0;while(1){if((i|0)>=(f|0))break e;z=L+(i>>16<<2)|0;q=(te(i&65535,o)|0)>>16;F=p+(q*9<<1)|0;h=s[z>>2]|0;G=n[F>>1]|0;G=(te(h>>16,G)|0)+((te(h&65535,G)|0)>>16)|0;h=s[z+4>>2]|0;H=n[F+2>>1]|0;H=G+((te(h>>16,H)|0)+((te(h&65535,H)|0)>>16))|0;h=s[z+8>>2]|0;G=n[F+4>>1]|0;G=H+((te(h>>16,G)|0)+((te(h&65535,G)|0)>>16))|0;h=s[z+12>>2]|0;H=n[F+6>>1]|0;H=G+((te(h>>16,H)|0)+((te(h&65535,H)|0)>>16))|0;h=s[z+16>>2]|0;G=n[F+8>>1]|0;G=H+((te(h>>16,G)|0)+((te(h&65535,G)|0)>>16))|0;h=s[z+20>>2]|0;H=n[F+10>>1]|0;H=G+((te(h>>16,H)|0)+((te(h&65535,H)|0)>>16))|0;h=s[z+24>>2]|0;G=n[F+12>>1]|0;G=H+((te(h>>16,G)|0)+((te(h&65535,G)|0)>>16))|0;h=s[z+28>>2]|0;H=n[F+14>>1]|0;H=G+((te(h>>16,H)|0)+((te(h&65535,H)|0)>>16))|0;h=s[z+32>>2]|0;F=n[F+16>>1]|0;F=H+((te(h>>16,F)|0)+((te(h&65535,F)|0)>>16))|0;q=p+((a-q|0)*9<<1)|0;h=s[z+68>>2]|0;H=n[q>>1]|0;H=F+((te(h>>16,H)|0)+((te(h&65535,H)|0)>>16))|0;h=s[z+64>>2]|0;F=n[q+2>>1]|0;F=H+((te(h>>16,F)|0)+((te(h&65535,F)|0)>>16))|0;h=s[z+60>>2]|0;H=n[q+4>>1]|0;H=F+((te(h>>16,H)|0)+((te(h&65535,H)|0)>>16))|0;h=s[z+56>>2]|0;F=n[q+6>>1]|0;F=H+((te(h>>16,F)|0)+((te(h&65535,F)|0)>>16))|0;h=s[z+52>>2]|0;H=n[q+8>>1]|0;H=F+((te(h>>16,H)|0)+((te(h&65535,H)|0)>>16))|0;h=s[z+48>>2]|0;F=n[q+10>>1]|0;F=H+((te(h>>16,F)|0)+((te(h&65535,F)|0)>>16))|0;h=s[z+44>>2]|0;H=n[q+12>>1]|0;H=F+((te(h>>16,H)|0)+((te(h&65535,H)|0)>>16))|0;h=s[z+40>>2]|0;F=n[q+14>>1]|0;F=H+((te(h>>16,F)|0)+((te(h&65535,F)|0)>>16))|0;z=s[z+36>>2]|0;q=n[q+16>>1]|0;q=(F+((te(z>>16,q)|0)+((te(z&65535,q)|0)>>16))>>5)+1>>1;n[t>>1]=(q|0)>32767?32767:((q|0)<-32768?-32768:q)&65535;t=t+2|0;i=i+b|0}}case 24:{i=0;while(1){if((i|0)>=(f|0))break e;H=L+(i>>16<<2)|0;G=(s[H>>2]|0)+(s[H+92>>2]|0)|0;q=n[p>>1]|0;q=(te(G>>16,q)|0)+((te(G&65535,q)|0)>>16)|0;G=(s[H+4>>2]|0)+(s[H+88>>2]|0)|0;z=n[g>>1]|0;z=q+((te(G>>16,z)|0)+((te(G&65535,z)|0)>>16))|0;G=(s[H+8>>2]|0)+(s[H+84>>2]|0)|0;q=n[v>>1]|0;q=z+((te(G>>16,q)|0)+((te(G&65535,q)|0)>>16))|0;G=(s[H+12>>2]|0)+(s[H+80>>2]|0)|0;z=n[_>>1]|0;z=q+((te(G>>16,z)|0)+((te(G&65535,z)|0)>>16))|0;G=(s[H+16>>2]|0)+(s[H+76>>2]|0)|0;q=n[y>>1]|0;q=z+((te(G>>16,q)|0)+((te(G&65535,q)|0)>>16))|0;G=(s[H+20>>2]|0)+(s[H+72>>2]|0)|0;z=n[k>>1]|0;z=q+((te(G>>16,z)|0)+((te(G&65535,z)|0)>>16))|0;G=(s[H+24>>2]|0)+(s[H+68>>2]|0)|0;q=n[A>>1]|0;q=z+((te(G>>16,q)|0)+((te(G&65535,q)|0)>>16))|0;G=(s[H+28>>2]|0)+(s[H+64>>2]|0)|0;z=n[S>>1]|0;z=q+((te(G>>16,z)|0)+((te(G&65535,z)|0)>>16))|0;G=(s[H+32>>2]|0)+(s[H+60>>2]|0)|0;q=n[M>>1]|0;q=z+((te(G>>16,q)|0)+((te(G&65535,q)|0)>>16))|0;G=(s[H+36>>2]|0)+(s[H+56>>2]|0)|0;z=n[T>>1]|0;z=q+((te(G>>16,z)|0)+((te(G&65535,z)|0)>>16))|0;G=(s[H+40>>2]|0)+(s[H+52>>2]|0)|0;q=n[x>>1]|0;q=z+((te(G>>16,q)|0)+((te(G&65535,q)|0)>>16))|0;H=(s[H+44>>2]|0)+(s[H+48>>2]|0)|0;G=n[R>>1]|0;G=(q+((te(H>>16,G)|0)+((te(H&65535,G)|0)>>16))>>5)+1>>1;n[t>>1]=(G|0)>32767?32767:((G|0)<-32768?-32768:G)&65535;t=t+2|0;i=i+b|0}}case 36:{i=0;while(1){if((i|0)>=(f|0))break e;H=L+(i>>16<<2)|0;G=(s[H>>2]|0)+(s[H+140>>2]|0)|0;q=n[p>>1]|0;q=(te(G>>16,q)|0)+((te(G&65535,q)|0)>>16)|0;G=(s[H+4>>2]|0)+(s[H+136>>2]|0)|0;z=n[g>>1]|0;z=q+((te(G>>16,z)|0)+((te(G&65535,z)|0)>>16))|0;G=(s[H+8>>2]|0)+(s[H+132>>2]|0)|0;q=n[v>>1]|0;q=z+((te(G>>16,q)|0)+((te(G&65535,q)|0)>>16))|0;G=(s[H+12>>2]|0)+(s[H+128>>2]|0)|0;z=n[_>>1]|0;z=q+((te(G>>16,z)|0)+((te(G&65535,z)|0)>>16))|0;G=(s[H+16>>2]|0)+(s[H+124>>2]|0)|0;q=n[y>>1]|0;q=z+((te(G>>16,q)|0)+((te(G&65535,q)|0)>>16))|0;G=(s[H+20>>2]|0)+(s[H+120>>2]|0)|0;z=n[k>>1]|0;z=q+((te(G>>16,z)|0)+((te(G&65535,z)|0)>>16))|0;G=(s[H+24>>2]|0)+(s[H+116>>2]|0)|0;q=n[A>>1]|0;q=z+((te(G>>16,q)|0)+((te(G&65535,q)|0)>>16))|0;G=(s[H+28>>2]|0)+(s[H+112>>2]|0)|0;z=n[S>>1]|0;z=q+((te(G>>16,z)|0)+((te(G&65535,z)|0)>>16))|0;G=(s[H+32>>2]|0)+(s[H+108>>2]|0)|0;q=n[M>>1]|0;q=z+((te(G>>16,q)|0)+((te(G&65535,q)|0)>>16))|0;G=(s[H+36>>2]|0)+(s[H+104>>2]|0)|0;z=n[T>>1]|0;z=q+((te(G>>16,z)|0)+((te(G&65535,z)|0)>>16))|0;G=(s[H+40>>2]|0)+(s[H+100>>2]|0)|0;q=n[x>>1]|0;q=z+((te(G>>16,q)|0)+((te(G&65535,q)|0)>>16))|0;G=(s[H+44>>2]|0)+(s[H+96>>2]|0)|0;z=n[R>>1]|0;z=q+((te(G>>16,z)|0)+((te(G&65535,z)|0)>>16))|0;G=(s[H+48>>2]|0)+(s[H+92>>2]|0)|0;q=n[I>>1]|0;q=z+((te(G>>16,q)|0)+((te(G&65535,q)|0)>>16))|0;G=(s[H+52>>2]|0)+(s[H+88>>2]|0)|0;z=n[C>>1]|0;z=q+((te(G>>16,z)|0)+((te(G&65535,z)|0)>>16))|0;G=(s[H+56>>2]|0)+(s[H+84>>2]|0)|0;q=n[P>>1]|0;q=z+((te(G>>16,q)|0)+((te(G&65535,q)|0)>>16))|0;G=(s[H+60>>2]|0)+(s[H+80>>2]|0)|0;z=n[O>>1]|0;z=q+((te(G>>16,z)|0)+((te(G&65535,z)|0)>>16))|0;G=(s[H+64>>2]|0)+(s[H+76>>2]|0)|0;q=n[N>>1]|0;q=z+((te(G>>16,q)|0)+((te(G&65535,q)|0)>>16))|0;H=(s[H+68>>2]|0)+(s[H+72>>2]|0)|0;G=n[D>>1]|0;G=(q+((te(H>>16,G)|0)+((te(H&65535,G)|0)>>16))>>5)+1>>1;n[t>>1]=(G|0)>32767?32767:((G|0)<-32768?-32768:G)&65535;t=t+2|0;i=i+b|0}}default:{}}while(0);r=r-c|0;if((r|0)<=1)break;h=s[E>>2]|0;Mn(L|0,L+(c<<2)|0,h<<2|0)|0;u=u+(c<<1)|0;i=s[d>>2]|0}Mn(B|0,L+(c<<2)|0,s[E>>2]<<2|0)|0;l=j;return}function Vi(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var a=0,o=0,f=0,h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0;b=l;h=e+268|0;f=s[h>>2]|0;c=l;l=l+((1*((f<<1)+8<<1)|0)+15&-16)|0;u=e+24|0;n[c>>1]=n[u>>1]|0;n[c+2>>1]=n[u+2>>1]|0;n[c+4>>1]=n[u+4>>1]|0;n[c+6>>1]=n[u+6>>1]|0;n[c+8>>1]=n[u+8>>1]|0;n[c+10>>1]=n[u+10>>1]|0;n[c+12>>1]=n[u+12>>1]|0;n[c+14>>1]=n[u+14>>1]|0;d=s[e+272>>2]|0;p=c+16|0;a=t;t=f;while(1){f=(r|0)<(t|0)?r:t;Wi(e,p,i,f);o=f<<17;t=0;while(1){if((t|0)>=(o|0))break;m=((t&65535)*12|0)>>>16;w=c+(t>>16<<1)|0;g=te(n[w>>1]|0,n[25664+(m<<3)>>1]|0)|0;g=g+(te(n[w+2>>1]|0,n[25664+(m<<3)+2>>1]|0)|0)|0;g=g+(te(n[w+4>>1]|0,n[25664+(m<<3)+4>>1]|0)|0)|0;g=g+(te(n[w+6>>1]|0,n[25664+(m<<3)+6>>1]|0)|0)|0;m=11-m|0;g=g+(te(n[w+8>>1]|0,n[25664+(m<<3)+6>>1]|0)|0)|0;g=g+(te(n[w+10>>1]|0,n[25664+(m<<3)+4>>1]|0)|0)|0;g=g+(te(n[w+12>>1]|0,n[25664+(m<<3)+2>>1]|0)|0)|0;m=(g+(te(n[w+14>>1]|0,n[25664+(m<<3)>>1]|0)|0)>>14)+1>>1;n[a>>1]=(m|0)>32767?32767:((m|0)<-32768?-32768:m)&65535;a=a+2|0;t=t+d|0}r=r-f|0;if((r|0)<=0)break;t=c+(f<<1<<1)|0;n[c>>1]=n[t>>1]|0;n[c+2>>1]=n[t+2>>1]|0;n[c+4>>1]=n[t+4>>1]|0;n[c+6>>1]=n[t+6>>1]|0;n[c+8>>1]=n[t+8>>1]|0;n[c+10>>1]=n[t+10>>1]|0;n[c+12>>1]=n[t+12>>1]|0;n[c+14>>1]=n[t+14>>1]|0;i=i+(f<<1)|0;t=s[h>>2]|0}g=c+(f<<1<<1)|0;n[u>>1]=n[g>>1]|0;n[u+2>>1]=n[g+2>>1]|0;n[u+4>>1]=n[g+4>>1]|0;n[u+6>>1]=n[g+6>>1]|0;n[u+8>>1]=n[g+8>>1]|0;n[u+10>>1]=n[g+10>>1]|0;n[u+12>>1]=n[g+12>>1]|0;n[u+14>>1]=n[g+14>>1]|0;l=b;return}function Wi(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var a=0,o=0,f=0,h=0,c=0,l=0,u=0,d=0,p=0,b=0;a=e+4|0;o=e+8|0;f=e+12|0;h=e+16|0;c=e+20|0;l=0;while(1){if((l|0)>=(r|0))break;b=n[i+(l<<1)>>1]<<10;d=s[e>>2]|0;u=b-d|0;u=((u>>16)*1746|0)+(((u&65535)*1746|0)>>>16)|0;d=d+u|0;s[e>>2]=b+u;u=s[a>>2]|0;p=d-u|0;p=((p>>16)*14986|0)+(((p&65535)*14986|0)>>>16)|0;u=u+p|0;s[a>>2]=d+p;p=u-(s[o>>2]|0)|0;d=(te(p>>16,-26453)|0)+((te(p&65535,-26453)|0)>>16)|0;s[o>>2]=u+(p+d);d=(u+d>>9)+1>>1;u=l<<1;n[t+(u<<1)>>1]=(d|0)>32767?32767:((d|0)<-32768?-32768:d)&65535;d=s[f>>2]|0;p=b-d|0;p=((p>>16)*6854|0)+(((p&65535)*6854|0)>>>16)|0;d=d+p|0;s[f>>2]=b+p;p=s[h>>2]|0;b=d-p|0;b=((b>>16)*25769|0)+(((b&65535)*25769|0)>>>16)|0;p=p+b|0;s[h>>2]=d+b;b=p-(s[c>>2]|0)|0;d=(te(b>>16,-9994)|0)+((te(b&65535,-9994)|0)>>16)|0;s[c>>2]=p+(b+d);d=(p+d>>9)+1>>1;n[t+((u|1)<<1)>>1]=(d|0)>32767?32767:((d|0)<-32768?-32768:d)&65535;l=l+1|0}return}function Ki(e,t){e=e|0;t=t|0;var i=0,r=0,o=0,f=0,h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0;v=l;l=l+32|0;g=v;m=e+28|0;f=s[m>>2]|0;w=e+32|0;i=s[w>>2]|0;r=f>>>8;h=-1;while(1){h=h+1|0;o=te(r,a[29891+h>>0]|0)|0;if(i>>>0>=o>>>0)break;else f=o}c=i-o|0;s[w>>2]=c;i=f-o|0;s[m>>2]=i;u=e+20|0;d=e+40|0;p=e+24|0;b=e+4|0;f=c;while(1){if(i>>>0>=8388609)break;s[u>>2]=(s[u>>2]|0)+8;i=i<<8;s[m>>2]=i;o=s[d>>2]|0;r=s[p>>2]|0;if(r>>>0<(s[b>>2]|0)>>>0){s[p>>2]=r+1;r=a[(s[e>>2]|0)+r>>0]|0}else r=0;s[d>>2]=r;c=((o<<8|r)>>>1&255|f<<8&2147483392)^255;s[w>>2]=c;f=c}c=(h|0)/5|0;s[g+8>>2]=c;s[g+20>>2]=h+(te(c,-5)|0);c=0;while(1){if((c|0)==2){i=0;break}o=i>>>8;h=-1;while(1){h=h+1|0;r=te(o,a[29944+h>>0]|0)|0;if(f>>>0>=r>>>0)break;else i=r}f=f-r|0;s[w>>2]=f;i=i-r|0;s[m>>2]=i;while(1){if(i>>>0>=8388609)break;s[u>>2]=(s[u>>2]|0)+8;i=i<<8;s[m>>2]=i;o=s[d>>2]|0;r=s[p>>2]|0;if(r>>>0<(s[b>>2]|0)>>>0){s[p>>2]=r+1;r=a[(s[e>>2]|0)+r>>0]|0}else r=0;s[d>>2]=r;o=((o<<8|r)>>>1&255|f<<8&2147483392)^255;s[w>>2]=o;f=o}s[g+(c*12|0)>>2]=h;o=i>>>8;h=-1;while(1){h=h+1|0;r=te(o,a[29951+h>>0]|0)|0;if(f>>>0>=r>>>0)break;else i=r}f=f-r|0;s[w>>2]=f;i=i-r|0;s[m>>2]=i;while(1){if(i>>>0>=8388609)break;s[u>>2]=(s[u>>2]|0)+8;i=i<<8;s[m>>2]=i;o=s[d>>2]|0;r=s[p>>2]|0;if(r>>>0<(s[b>>2]|0)>>>0){s[p>>2]=r+1;r=a[(s[e>>2]|0)+r>>0]|0}else r=0;s[d>>2]=r;o=((o<<8|r)>>>1&255|f<<8&2147483392)^255;s[w>>2]=o;f=o}s[g+(c*12|0)+4>>2]=h;c=c+1|0}while(1){if((i|0)==2)break;w=g+(i*12|0)|0;e=(s[w>>2]|0)+((s[g+(i*12|0)+8>>2]|0)*3|0)|0;s[w>>2]=e;w=n[25372+(e<<1)>>1]|0;e=n[25372+(e+1<<1)>>1]|0;e=(te((e<<16>>16)-w>>16,429522944)|0)+(((e&65535)-w&65535)*6554|0)>>16;s[t+(i<<2)>>2]=w+(te(e,s[g+(i*12|0)+4>>2]<<17>>16|1)|0);i=i+1|0}s[t>>2]=(s[t>>2]|0)-(s[t+4>>2]|0);l=v;return}function Yi(e,t,i,r,a,o){e=e|0;t=t|0;i=i|0;r=r|0;a=a|0;o=o|0;var f=0,h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0;y=l;l=l+16|0;p=y+12|0;b=y+8|0;f=y+4|0;w=y;Nr(f,p,t,a);Nr(w,b,i,a);p=s[p>>2]|0;b=s[b>>2]|0;h=(p|0)>(b|0)?p:b;h=h+(h&1)|0;b=s[w>>2]>>h-b;s[w>>2]=b;p=s[f>>2]>>h-p;p=(p|0)>1?p:1;s[f>>2]=p;f=0;m=0;while(1){if((f|0)>=(a|0))break;_=m+((te(n[t+(f<<1)>>1]|0,n[i+(f<<1)>>1]|0)|0)>>h)|0;f=f+1|0;m=_}_=Zi(m,p,13)|0;_=(_|0)>16384?16384:(_|0)<-16384?-16384:_;c=_<<16>>16;u=(te(_>>16,c)|0)+((te(_&65535,c)|0)>>16)|0;i=(u|0)>0?u:0-u|0;i=(i|0)<(o|0)?o:i;v=h>>1;o=s[r>>2]|0;t=re(p|0)|0;f=24-t|0;a=0-f|0;do if(f)if((f|0)<0){f=p<>>(f+32|0);break}else{f=p<<32-f|p>>>f;break}else f=p;while(0);a=((t&1|0)==0?46214:32768)>>>(t>>>1);t=(te(f&127,13959168)|0)>>>16;g=i<<16>>16;t=te((a+((te(a>>16,t)|0)+((te(a&65535,t)|0)>>>16))<>16,g)|0;i=re(p|0)|0;f=24-i|0;a=0-f|0;do if(f)if((f|0)<0){f=p<>>(f+32|0);break}else{f=p<<32-f|p>>>f;break}else f=p;while(0);h=((i&1|0)==0?46214:32768)>>>(i>>>1);d=(te(f&127,13959168)|0)>>>16;d=o+(t+((te((h+((te(h>>16,d)|0)+((te(h&65535,d)|0)>>>16))<>16))|0;s[r>>2]=d;f=u<<16>>16;f=b-((te(m>>16,c)|0)+((te(m&65535,c)|0)>>16)<<4)+((te(p>>16,f)|0)+((te(p&65535,f)|0)>>16)<<6)|0;s[w>>2]=f;c=r+4|0;u=s[c>>2]|0;o=(f|0)<1;if(o){r=0;w=te(0-u>>16,g)|0;v=r<>16;g=w+g|0;g=u+g|0;s[c>>2]=g;v=(d|0)>1;v=v?d:1;v=Zi(g,v,14)|0;g=(v|0)>32767;w=(v|0)<0;v=w?0:v;v=g?32767:v;s[e>>2]=v;l=y;return _|0}i=re(f|0)|0;a=24-i|0;t=0-a|0;do if(a)if((a|0)<0){a=f<>>(a+32|0);break}else{a=f<<32-a|f>>>a;break}else a=f;while(0);w=((i&1|0)==0?46214:32768)>>>(i>>>1);h=(te(a&127,13959168)|0)>>>16;h=te((w+((te(w>>16,h)|0)+((te(w&65535,h)|0)>>>16))<>16,g)|0;if(o){r=0;w=h;v=r<>16;g=w+g|0;g=u+g|0;s[c>>2]=g;v=(d|0)>1;v=v?d:1;v=Zi(g,v,14)|0;g=(v|0)>32767;w=(v|0)<0;v=w?0:v;v=g?32767:v;s[e>>2]=v;l=y;return _|0}i=re(f|0)|0;a=24-i|0;t=0-a|0;do if(a)if((a|0)<0){f=f<>>(a+32|0);break}else{f=f<<32-a|f>>>a;break}while(0);w=((i&1|0)==0?46214:32768)>>>(i>>>1);r=(te(f&127,13959168)|0)>>>16;r=w+((te(w>>16,r)|0)+((te(w&65535,r)|0)>>>16))|0;w=h;v=r<>16;g=w+g|0;g=u+g|0;s[c>>2]=g;v=(d|0)>1;v=v?d:1;v=Zi(g,v,14)|0;g=(v|0)>32767;w=(v|0)<0;v=w?0:v;v=g?32767:v;s[e>>2]=v;l=y;return _|0}function Zi(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,n=0,s=0,a=0;if((e|0)<=0)if(!e)n=32;else{r=0-e|0;s=3}else{r=e;s=3}if((s|0)==3)n=re(r|0)|0;e=e<>16|0)|0)<<16>>16;a=(te(e>>16,t)|0)+((te(e&65535,t)|0)>>16)|0;s=Nn(s|0,((s|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;s=Sn(s|0,C|0,29)|0;s=e-(s&-8)|0;t=a+((te(s>>16,t)|0)+((te(s&65535,t)|0)>>16))|0;r=n+28-r-i|0;if((r|0)>=0)return((r|0)<32?t>>r:0)|0;r=0-r|0;e=-2147483648>>r;n=2147483647>>>r;if((e|0)>(n|0)){if((t|0)>(e|0)){a=e;a=a<(n|0)){a=n;a=a<=15)break;l=n[25372+(a<<1)>>1]|0;u=a+1|0;d=n[25372+(u<<1)>>1]|0;d=(te((d<<16>>16)-l>>16,429522944)|0)+(((d&65535)-l&65535)*6554|0)>>16;c=a&255;f=o;h=0;while(1){if((h|0)>=5){o=f;a=u;continue e}a=l+(te(d,h<<17>>16|1)|0)|0;o=s[b>>2]|0;o=(o|0)>(a|0)?o-a|0:a-o|0;if((o|0)>=(f|0))break e;r[m>>0]=c;r[p>>0]=h;f=o;h=h+1|0;i=a}}d=r[m>>0]|0;p=(d<<24>>24|0)/3|0;r[t+(w*3|0)+2>>0]=p;r[m>>0]=(d&255)+(te(p,-3)|0);s[b>>2]=i;w=w+1|0}s[e>>2]=(s[e>>2]|0)-(s[e+4>>2]|0);return}function Xi(e,t,i,f,u,p){e=e|0;t=t|0;i=i|0;f=f|0;u=u|0;p=p|0;var b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,G=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0,Q=0,ee=0,ie=0,ne=0,se=0,ae=0,oe=0,fe=0,he=0,ce=0,le=0,ue=0,de=0,pe=0,be=0,me=0,we=0,ge=0,ve=0,_e=0,ye=0,ke=0,Ee=0,Ae=0,Se=0,Me=0,Te=0,xe=0,Re=0,Ie=0,Ce=0,Pe=0,Oe=0,Ne=0,De=0,Le=0,Be=0,Ue=0,je=0,Fe=0,ze=0,qe=0,He=0,Ge=0,Ve=0,We=0,Ke=0,Ye=0,Ze=0,$e=0,Xe=0,Je=0,Qe=0,et=0,tt=0,it=0,rt=0,nt=0,st=0,at=0,ot=0,ft=0,ht=0,ct=0,lt=0;ft=l;l=l+35104|0;qe=ft+272|0;ze=ft+72|0;Be=ft+29992|0;Le=ft+29352|0;le=ft+28712|0;ue=ft+28392|0;Fe=ft+48|0;je=ft+26008|0;Ue=ft+24472|0;ie=ft+11992|0;ne=ft+11896|0;Y=ft+33512|0;fe=ft+9176|0;oe=ft+6456|0;F=ft+32232|0;z=ft+31272|0;j=ft+6384|0;Pe=ft+6320|0;Ne=ft+6256|0;Oe=ft+4720|0;tt=ft+23720|0;se=ft+21032|0;nt=ft+20984|0;st=ft+24|0;at=ft;it=ft+16536|0;rt=ft+12088|0;et=ft+12072|0;Je=ft+33824|0;Qe=ft+12056|0;$e=ft+33816|0;Xe=ft+12040|0;s[Qe>>2]=0;s[Qe+4>>2]=0;s[Qe+8>>2]=0;s[Qe+12>>2]=0;Ke=e+4712|0;Ye=s[Ke>>2]|0;s[Ke>>2]=Ye+1;Ke=e+4862|0;r[Ke>>0]=Ye&3;Ye=e+4684|0;ce=s[Ye>>2]|0;Ze=e+7272+(ce<<2)|0;ce=se+(ce<<2)|0;D=e+5190|0;We=e+4676|0;b=s[We>>2]|0;g=s[e+28>>2]|0;if(g){v=e+24|0;_=s[v>>2]|0;w=256-_<<10;E=w>>16;w=w-(E<<16)|0;e:do if((E|0)<4){if((w|0)<=0){He=17528+(E*12|0)|0;s[qe>>2]=s[He>>2];s[qe+4>>2]=s[He+4>>2];s[qe+8>>2]=s[He+8>>2];He=17588+(E<<3)|0;Ge=s[He+4>>2]|0;Ve=ze;s[Ve>>2]=s[He>>2];s[Ve+4>>2]=Ge;break}A=E+1|0;S=w<<16>>16;if((w|0)<32768){w=0;while(1){if((w|0)==3){w=0;break}Ge=s[17528+(E*12|0)+(w<<2)>>2]|0;Ve=(s[17528+(A*12|0)+(w<<2)>>2]|0)-Ge|0;s[qe+(w<<2)>>2]=Ge+((te(Ve>>16,S)|0)+((te(Ve&65535,S)|0)>>16));w=w+1|0}while(1){if((w|0)==2)break e;Ge=s[17588+(E<<3)+(w<<2)>>2]|0;Ve=(s[17588+(A<<3)+(w<<2)>>2]|0)-Ge|0;s[ze+(w<<2)>>2]=Ge+((te(Ve>>16,S)|0)+((te(Ve&65535,S)|0)>>16));w=w+1|0}}else{w=0;while(1){if((w|0)==3){w=0;break}Ge=s[17528+(A*12|0)+(w<<2)>>2]|0;Ve=Ge-(s[17528+(E*12|0)+(w<<2)>>2]|0)|0;s[qe+(w<<2)>>2]=Ge+((te(Ve>>16,S)|0)+((te(Ve&65535,S)|0)>>16));w=w+1|0}while(1){if((w|0)==2)break e;Ge=s[17588+(A<<3)+(w<<2)>>2]|0;Ve=Ge-(s[17588+(E<<3)+(w<<2)>>2]|0)|0;s[ze+(w<<2)>>2]=Ge+((te(Ve>>16,S)|0)+((te(Ve&65535,S)|0)>>16));w=w+1|0}}}else{s[qe>>2]=s[4394];s[qe+4>>2]=s[4395];s[qe+8>>2]=s[4396];Ve=ze;s[Ve>>2]=35497197;s[Ve+4>>2]=57401098}while(0);w=_+g|0;s[v>>2]=(w|0)>256?256:(w|0)<0?0:w;w=e+16|0;S=0-(s[ze>>2]|0)|0;g=S&16383;R=0-(s[ze+4>>2]|0)|0;v=R&16383;E=s[qe>>2]|0;_=E>>16;E=E&65535;A=e+20|0;S=S>>>14<<16>>16;T=s[qe+4>>2]|0;M=T>>16;T=T&65535;R=R>>>14<<16>>16;C=s[qe+8>>2]|0;I=C>>16;C=C&65535;P=0;while(1){if((P|0)>=(b|0))break;Ve=D+(P<<1)|0;He=n[Ve>>1]|0;Ge=(s[w>>2]|0)+((te(_,He)|0)+((te(E,He)|0)>>16))<<2;Ie=Ge>>16;Ce=Ge&65532;s[w>>2]=(s[A>>2]|0)+(((te(Ie,g)|0)+((te(Ce,g)|0)>>>16)>>13)+1>>1)+((te(Ie,S)|0)+((te(Ce,S)|0)>>16))+((te(M,He)|0)+((te(T,He)|0)>>16));s[A>>2]=(((te(Ie,v)|0)+((te(Ce,v)|0)>>>16)>>13)+1>>1)+((te(Ie,R)|0)+((te(Ce,R)|0)>>16))+((te(I,He)|0)+((te(C,He)|0)>>16));Ge=Ge+16383>>14;n[Ve>>1]=(Ge|0)>32767?32767:((Ge|0)<-32768?-32768:Ge)&65535;P=P+1|0}b=s[We>>2]|0}Ve=e+4668|0;g=Ze+((s[Ve>>2]|0)*5<<2)|0;while(1){w=b+-1|0;if((b|0)<=0){b=0;break}h[g+(w<<2)>>2]=+(n[D+(w<<1)>>1]|0);b=w}while(1){if((b|0)==8)break;Ge=Ze+(((s[Ve>>2]|0)*5|0)+(te(b,s[We>>2]>>3)|0)<<2)|0;h[Ge>>2]=+h[Ge>>2]+ +(1-(b&2)|0)*9.999999974752427e-7;b=b+1|0}Ge=e+4772|0;e:do if(!(s[Ge>>2]|0)){v=s[e+4688>>2]|0;M=s[Ye>>2]|0;S=v+(s[We>>2]|0)+M|0;M=Ze+(0-M<<2)|0;_=s[e+4640>>2]|0;b=M+(S<<2)+(0-_<<2)|0;y=3.1415927410125732/+(v+1|0);k=2-y*y;m=0;w=0;while(1){if((w|0)>=(v|0))break;h[Oe+(w<<2)>>2]=+h[b+(w<<2)>>2]*.5*(m+y);He=w|1;h[Oe+(He<<2)>>2]=+h[b+(He<<2)>>2]*y;U=k*y-m;He=w|2;h[Oe+(He<<2)>>2]=+h[b+(He<<2)>>2]*.5*(y+U);He=w|3;h[Oe+(He<<2)>>2]=+h[b+(He<<2)>>2]*U;m=U;y=k*U-y;w=w+4|0}He=Oe+(v<<2)|0;g=b+(v<<2)|0;w=_-(v<<1)|0;Mn(He|0,g|0,w<<2|0)|0;b=He+(w<<2)|0;w=g+(w<<2)|0;m=1;y=k*.5;g=0;while(1){if((g|0)>=(v|0))break;h[b+(g<<2)>>2]=+h[w+(g<<2)>>2]*.5*(m+y);He=g|1;h[b+(He<<2)>>2]=+h[w+(He<<2)>>2]*y;U=k*y-m;He=g|2;h[b+(He<<2)>>2]=+h[w+(He<<2)>>2]*.5*(y+U);He=g|3;h[b+(He<<2)>>2]=+h[w+(He<<2)>>2]*U;m=U;y=k*U-y;g=g+4|0}A=e+4740|0;E=s[A>>2]|0;b=(E|0)<(_|0)?E+1|0:_;w=0;while(1){if((w|0)>=(b|0))break;h[j+(w<<2)>>2]=+ir(Oe,Oe+(w<<2)|0,_-w|0);w=w+1|0}y=+h[j>>2];y=y+(y*.0010000000474974513+1);h[j>>2]=y;b=0;while(1){if((b|0)>(E|0))break;U=+h[j+(b<<2)>>2];c[qe+(b<<4)+8>>3]=U;c[qe+(b<<4)>>3]=U;b=b+1|0}he=qe+8|0;g=0;t:while(1){if((E|0)<=(g|0))break;b=g+1|0;m=+c[he>>3];m=-+c[qe+(b<<4)>>3]/(m>9.999999717180685e-10?m:9.999999717180685e-10);h[Ne+(g<<2)>>2]=m;w=E-g|0;v=0;while(1){if((v|0)>=(w|0)){g=b;continue t}Ce=qe+(v+g+1<<4)|0;U=+c[Ce>>3];He=qe+(v<<4)+8|0;B=+c[He>>3];c[Ce>>3]=U+B*m;c[He>>3]=B+U*m;v=v+1|0}}U=+c[he>>3];ae=tt+704|0;h[ae>>2]=y/(U>1?U:1);g=0;while(1){if((g|0)>=(E|0))break;m=+h[Ne+(g<<2)>>2];b=g+1|0;w=b>>1;v=0;while(1){if((v|0)>=(w|0))break;Ce=Pe+(v<<2)|0;U=+h[Ce>>2];He=Pe+(g-v+-1<<2)|0;B=+h[He>>2];h[Ce>>2]=U+B*m;h[He>>2]=B+U*m;v=v+1|0}h[Pe+(g<<2)>>2]=-m;g=b}b=E+-1|0;m=.9900000095367432;w=0;while(1){if((w|0)>=(b|0))break;He=Pe+(w<<2)|0;h[He>>2]=+h[He>>2]*m;m=m*.9900000095367432;w=w+1|0}He=Pe+(b<<2)|0;h[He>>2]=+h[He>>2]*m;Ji(se,Pe,M,S,E);He=e+4857|0;b=r[He>>0]|0;do if(b<<24>>24!=0?(s[e+4756>>2]|0)==0:0){x=.6000000238418579-+(s[A>>2]|0)*.004000000189989805-+(s[e+4624>>2]|0)*.10000000149011612*.00390625-+(r[e+4633>>0]>>1|0)*.15000000596046448-+(s[e+4804>>2]|0)*.10000000149011612*30517578125e-15;D=tt+228|0;Q=e+4854|0;ee=e+4856|0;j=e+10152|0;C=s[e+4636>>2]|0;k=+(s[e+4744>>2]|0)*152587890625e-16;V=s[Ve>>2]|0;W=s[e+4736>>2]|0;$=s[e+4672>>2]|0;E=te(($*5|0)+20|0,V)|0;I=$*20|0;w=I+80|0;R=($*40|0)+160|0;K=V*5|0;X=V<<1;Z=V*18|0;G=Z+-1|0;P=(V|0)==16;t:do if(P){b=E;while(1){_=b+-1|0;if((b|0)<=0)break;m=+h[se+(_<<2)>>2];g=(h[d>>2]=m,s[d>>2]|0);v=(g&2130706432)>>>0>1249902592;if(!v){b=(g|0)<0;y=b?m+-8388608+8388608:m+8388608+-8388608;if(y==0)y=b?-0:0}else y=m;if((~~y|0)<=32767){if(!v){b=(g|0)<0;y=b?m+-8388608+8388608:m+8388608+-8388608;if(y==0)y=b?-0:0}else y=m;if((~~y|0)<-32768)b=-32768;else{if(!v){b=(g|0)<0;m=b?m+-8388608+8388608:m+8388608+-8388608;if(m==0)m=b?-0:0}b=~~m}}else b=32767;n[F+(_<<1)>>1]=b;b=_}g=Fe;s[g>>2]=0;s[g+4>>2]=0;Pr(Fe,le,F,E);g=R;while(1){b=g+-1|0;if((g|0)<=0){b=le;break t}h[Be+(b<<2)>>2]=+(n[le+(b<<1)>>1]|0); -g=b}}else{if((V|0)==12)b=E;else{b=R;while(1){_=b+-1|0;if((b|0)<=0)break;m=+h[se+(_<<2)>>2];g=(h[d>>2]=m,s[d>>2]|0);v=(g&2130706432)>>>0>1249902592;if(!v){b=(g|0)<0;y=b?m+-8388608+8388608:m+8388608+-8388608;if(y==0)y=b?-0:0}else y=m;if((~~y|0)<=32767){if(!v){b=(g|0)<0;y=b?m+-8388608+8388608:m+8388608+-8388608;if(y==0)y=b?-0:0}else y=m;if((~~y|0)<-32768)b=-32768;else{if(!v){b=(g|0)<0;m=b?m+-8388608+8388608:m+8388608+-8388608;if(m==0)m=b?-0:0}b=~~m}}else b=32767;n[le+(_<<1)>>1]=b;b=_}b=le;break}while(1){_=b+-1|0;if((b|0)<=0)break;m=+h[se+(_<<2)>>2];g=(h[d>>2]=m,s[d>>2]|0);v=(g&2130706432)>>>0>1249902592;if(!v){b=(g|0)<0;y=b?m+-8388608+8388608:m+8388608+-8388608;if(y==0)y=b?-0:0}else y=m;if((~~y|0)<=32767){if(!v){b=(g|0)<0;y=b?m+-8388608+8388608:m+8388608+-8388608;if(y==0)y=b?-0:0}else y=m;if((~~y|0)<-32768)b=-32768;else{if(!v){b=(g|0)<0;m=b?m+-8388608+8388608:m+8388608+-8388608;if(m==0)m=b?-0:0}b=~~m}}else b=32767;n[z+(_<<1)>>1]=b;b=_}s[Fe>>2]=0;s[Fe+4>>2]=0;s[Fe+8>>2]=0;s[Fe+12>>2]=0;s[Fe+16>>2]=0;s[Fe+20>>2]=0;s[qe>>2]=0;s[qe+4>>2]=0;s[qe+8>>2]=0;s[qe+12>>2]=0;S=Fe+16|0;M=qe+16|0;T=Fe+20|0;_=le;A=z;b=E;while(1){E=(b|0)<480?b:480;g=0;while(1){if((g|0)>=(E|0)){g=qe;v=E;break}Ce=(s[S>>2]|0)+(n[A+(g<<1)>>1]<<8)|0;s[M+(g<<2)>>2]=Ce;Ce=Ce<<2;Ie=Ce>>16;Ce=Ce&65532;s[S>>2]=(s[T>>2]|0)+((te(Ie,-2797)|0)+((te(Ce,-2797)|0)>>16));s[T>>2]=(te(Ie,-6507)|0)+((te(Ce,-6507)|0)>>16);g=g+1|0}while(1){if((v|0)<=2)break;Se=s[g>>2]|0;Te=g+4|0;Me=s[Te>>2]|0;xe=g+8|0;Ie=s[xe>>2]|0;Ce=g+12|0;Re=s[Ce>>2]|0;Re=(((Se>>16)*4697|0)+(((Se&65535)*4697|0)>>>16)+(((Me>>16)*10739|0)+(((Me&65535)*10739|0)>>>16))+(((Ie>>16)*8276|0)+(((Ie&65535)*8276|0)>>>16))+(((Re>>16)*1567|0)+(((Re&65535)*1567|0)>>>16))>>5)+1>>1;n[_>>1]=(Re|0)>32767?32767:((Re|0)<-32768?-32768:Re)&65535;Te=s[Te>>2]|0;xe=s[xe>>2]|0;Re=s[Ce>>2]|0;Ie=s[g+16>>2]|0;Ie=(((Te>>16)*1567|0)+(((Te&65535)*1567|0)>>>16)+(((xe>>16)*8276|0)+(((xe&65535)*8276|0)>>>16))+(((Re>>16)*10739|0)+(((Re&65535)*10739|0)>>>16))+(((Ie>>16)*4697|0)+(((Ie&65535)*4697|0)>>>16))>>5)+1>>1;n[_+2>>1]=(Ie|0)>32767?32767:((Ie|0)<-32768?-32768:Ie)&65535;_=_+4|0;g=Ce;v=v+-3|0}b=b-E|0;if((b|0)<=0)break;Ce=qe+(E<<2)|0;s[qe>>2]=s[Ce>>2];s[qe+4>>2]=s[Ce+4>>2];s[qe+8>>2]=s[Ce+8>>2];s[qe+12>>2]=s[Ce+12>>2];A=A+(E<<1)|0}g=qe+(E<<2)|0;s[Fe>>2]=s[g>>2];s[Fe+4>>2]=s[g+4>>2];s[Fe+8>>2]=s[g+8>>2];s[Fe+12>>2]=s[g+12>>2];g=R;while(1){b=g+-1|0;if((g|0)<=0){b=le;break t}h[Be+(b<<2)>>2]=+(n[le+(b<<1)>>1]|0);g=b}}while(0);Ce=Fe;s[Ce>>2]=0;s[Ce+4>>2]=0;Pr(Fe,ue,b,R);while(1){b=w+-1|0;if((w|0)<=0)break;h[Le+(b<<2)>>2]=+(n[ue+(b<<1)>>1]|0);w=b}b=I+79|0;while(1){if((b|0)<=0)break;w=Le+(b<<2)|0;b=b+-1|0;m=+(~~+h[w>>2]|0)+ +h[Le+(b<<2)>>2];if(!(m>32767)){if(m<-32768)m=-32768}else m=32767;h[w>>2]=+(~~m<<16>>16)}kn(je|0,0,$*596|0)|0;b=$>>1;w=Ue+256|0;A=je+32|0;_=0;E=Le+320|0;while(1){if((_|0)>=(b|0)){b=72;break}g=E+-32|0;mi(E,E+-288|0,Ue,40,65);U=+h[w>>2];m=+tr(E,40);m=m+ +tr(g,40)+16e4;h[A>>2]=+h[A>>2]+U*2/m;v=9;while(1){if((v|0)==73)break;Ce=g+-4|0;B=+h[Ce>>2];U=+h[g+156>>2];U=m+(B*B-U*U);Ie=je+(v<<2)|0;h[Ie>>2]=+h[Ie>>2]+ +h[Ue+(72-v<<2)>>2]*2/U;g=Ce;v=v+1|0;m=U}_=_+1|0;E=E+160|0}while(1){if((b|0)<=7)break;Ce=je+(b<<2)|0;U=+h[Ce>>2];h[Ce>>2]=U-U*+(b|0)*.000244140625;b=b+-1|0}E=W<<1;w=E+4|0;b=0;while(1){if((b|0)>=(w|0)){b=1;break}s[ne+(b<<2)>>2]=b;b=b+1|0}while(1){if((b|0)>=(w|0))break;m=+h[A+(b<<2)>>2];v=b;while(1){g=v+-1|0;if((v|0)<=0)break;y=+h[A+(g<<2)>>2];if(!(m>y))break;h[A+(v<<2)>>2]=y;s[ne+(v<<2)>>2]=s[ne+(g<<2)>>2];v=g}h[A+(v<<2)>>2]=m;s[ne+(v<<2)>>2]=b;b=b+1|0}_=A+(E+3<<2)|0;b=E+2|0;g=w;while(1){if((g|0)>=65)break;m=+h[A+(g<<2)>>2];if(m>+h[_>>2]){v=b;while(1){if((v|0)<=-1)break;y=+h[A+(v<<2)>>2];if(!(m>y))break;Ce=v+1|0;h[A+(Ce<<2)>>2]=y;s[ne+(Ce<<2)>>2]=s[ne+(v<<2)>>2];v=v+-1|0}Ce=v+1|0;h[A+(Ce<<2)>>2]=m;s[ne+(Ce<<2)>>2]=g}g=g+1|0}m=+h[A>>2];do if(m<.20000000298023224){kn(D|0,0,$<<2|0)|0;h[j>>2]=0;n[Q>>1]=0;r[ee>>0]=0;b=0}else{m=m*k;b=0;while(1){if((b|0)>=(w|0))break;if(!(+h[je+(b+8<<2)>>2]>m)){w=b;break}Ce=ne+(b<<2)|0;s[Ce>>2]=(s[Ce>>2]<<1)+16;b=b+1|0}b=11;while(1){if((b|0)==148){b=0;break}n[Y+(b<<1)>>1]=0;b=b+1|0}while(1){if((b|0)>=(w|0)){b=146;break}n[Y+(s[ne+(b<<2)>>2]<<1)>>1]=1;b=b+1|0}while(1){if((b|0)<=15){w=16;I=0;break}Ce=b+-1|0;Ie=Y+(b<<1)|0;n[Ie>>1]=(o[Ie>>1]|0)+((o[Y+(Ce<<1)>>1]|0)+(o[Y+(b+-2<<1)>>1]|0));b=Ce}while(1){if((w|0)==144){b=146;break}b=w+1|0;if((n[Y+(b<<1)>>1]|0)<=0){w=b;continue}s[ne+(I<<2)>>2]=w;w=b;I=I+1|0}while(1){if((b|0)<=15){w=16;b=0;break}Ce=b+-1|0;Ie=Y+(b<<1)|0;n[Ie>>1]=(o[Ie>>1]|0)+((o[Y+(Ce<<1)>>1]|0)+(o[Y+(b+-2<<1)>>1]|0)+(o[Y+(b+-3<<1)>>1]|0));b=Ce}while(1){if((w|0)==147)break;if((n[Y+(w<<1)>>1]|0)>0){n[Y+(b<<1)>>1]=w+65534;b=b+1|0}w=w+1|0}kn(je|0,0,2384)|0;A=(V|0)==8;_=0;E=A?se+640|0:Be+640|0;while(1){if((_|0)>=($|0))break;y=+tr(E,40)+1;v=0;while(1){if((v|0)>=(b|0))break;g=n[Y+(v<<1)>>1]|0;w=E+(0-g<<2)|0;m=+ir(w,E,40);if(m>0)m=m*2/(+tr(w,40)+y);else m=0;h[je+(_*596|0)+(g<<2)>>2]=m;v=v+1|0}_=_+1|0;E=E+160|0}if((C|0)>0){if((V|0)==12)b=(C<<1|0)/3|0;else b=C>>(P&1);w=b;U=+zr(+(b|0))*3.32192809488736}else{w=C;U=0}F=($|0)==4;if(F){T=32969;R=11;M=A&(W|0)>0?11:3}else{T=32935;R=3;M=3}L=+($|0);B=L*.20000000298023224;A=(w|0)>0;x=L*x;w=0;O=0;N=-1e3;E=0;S=-1;while(1){if((E|0)>=(I|0))break;_=s[ne+(E<<2)>>2]|0;v=0;while(1){if((v|0)>=(M|0)){g=0;k=-1e3;b=0;break}b=ie+(v<<2)|0;h[b>>2]=0;m=0;g=0;while(1){if((g|0)>=($|0))break;k=m+ +h[je+(g*596|0)+(_+(r[T+((te(g,R)|0)+v)>>0]|0)<<2)>>2];h[b>>2]=k;m=k;g=g+1|0}v=v+1|0}while(1){if((b|0)>=(M|0))break;y=+h[ie+(b<<2)>>2];Ce=y>k;g=Ce?b:g;k=Ce?y:k;b=b+1|0}y=+zr(+(_|0))*3.32192809488736;m=k-B*y;if(A){y=y-U;y=y*y;m=m-B*+h[j>>2]*y/(y+.5)}Ce=m>N&k>x;w=Ce?g:w;O=Ce?k:O;N=Ce?m:N;E=E+1|0;S=Ce?_:S}if((S|0)==-1){s[D>>2]=0;s[D+4>>2]=0;s[D+8>>2]=0;s[D+12>>2]=0;h[j>>2]=0;n[Q>>1]=0;r[ee>>0]=0;b=0;break}h[j>>2]=O/L;if((V|0)>8){if((V|0)==12){b=(S<<16>>16)*3|0;b=(b>>1)+(b&1)|0}else b=S<<1;if((X|0)<(Z|0))if((b|0)<(Z|0))E=(b|0)<(X|0)?X:b;else E=G;else if((b|0)>(X|0))E=X;else E=(b|0)<(G|0)?G:b;D=E+-2|0;D=(D|0)>(X|0)?D:X;j=E+2|0;j=(j|0)<(G|0)?j:G;if(F){T=33013;R=33149+(W<<3)|0;I=34;C=r[33173+W>>0]|0}else{T=32941;R=32965;I=12;C=12}P=se+(V*20<<2)|0;_=0-D|0;S=0;M=P;while(1){if((S|0)>=($|0))break;b=S<<1;A=r[R+b>>0]|0;b=r[R+(b|1)>>0]|0;mi(M,M+(_<<2)+(0-b<<2)|0,qe,K,b-A+1|0);w=A;g=0;while(1){if((b|0)<(w|0))break;s[ze+(g<<2)>>2]=s[qe+(b-w<<2)>>2];w=w+1|0;g=g+1|0}b=te(S,I)|0;g=0;while(1){if((g|0)>=(C|0))break;w=(r[T+(b+g)>>0]|0)-A|0;v=0;while(1){if((v|0)==5)break;s[oe+(S*680|0)+(g*20|0)+(v<<2)>>2]=s[ze+(w+v<<2)>>2];v=v+1|0}g=g+1|0}S=S+1|0;M=M+(K<<2)|0}if(F){A=33013;S=33149+(W<<3)|0;M=34;R=r[33173+W>>0]|0}else{A=32941;S=32965;M=12;R=12}T=0;I=P;while(1){if((T|0)>=($|0))break;w=T<<1;_=r[S+w>>0]|0;b=I+(0-(_+D)<<2)|0;m=+tr(b,K)+.001;h[ze>>2]=m;w=(r[S+(w|1)>>0]|0)-_|0;g=1;while(1){if((g|0)>(w|0))break;B=+h[b+(K-g<<2)>>2];U=+h[b+(0-g<<2)>>2];U=m-B*B+U*U;h[ze+(g<<2)>>2]=U;m=U;g=g+1|0}b=te(T,M)|0;g=0;while(1){if((g|0)>=(R|0))break;w=(r[A+(b+g)>>0]|0)-_|0;v=0;while(1){if((v|0)==5)break;s[fe+(T*680|0)+(g*20|0)+(v<<2)>>2]=s[ze+(w+v<<2)>>2];v=v+1|0}g=g+1|0}T=T+1|0;I=I+(K<<2)|0}O=.05000000074505806/+(E|0);if(F){M=33013;T=34;S=r[33173+W>>0]|0}else{M=32941;T=12;S=12}x=+tr(P,te(K,$)|0)+1;w=0;m=-1e3;_=D;A=0;while(1){if((_|0)>(j|0))break;else{v=0;b=E}while(1){if((v|0)<(S|0)){y=0;k=x;g=0}else break;while(1){if((g|0)>=($|0))break;y=y+ +h[oe+(g*680|0)+(v*20|0)+(A<<2)>>2];k=k+ +h[fe+(g*680|0)+(v*20|0)+(A<<2)>>2];g=g+1|0}if(y>0)y=y*2/k*(1-O*+(v|0));else y=0;if(y>m){Ce=(_+(r[33013+v>>0]|0)|0)<(Z|0);w=Ce?v:w;m=Ce?y:m;b=Ce?_:b}v=v+1|0}_=_+1|0;A=A+1|0;E=b}g=(X|0)>(Z|0);_=0;while(1){if((_|0)>=($|0))break;b=E+(r[M+((te(_,T)|0)+w)>>0]|0)|0;v=tt+228+(_<<2)|0;s[v>>2]=b;do if(g){if((b|0)>(X|0)){b=X;break}b=(b|0)<(Z|0)?Z:b}else{if((b|0)>(Z|0)){b=Z;break}b=(b|0)<(X|0)?X:b}while(0);s[v>>2]=b;_=_+1|0}b=E-X|0}else{b=0;while(1){if((b|0)>=($|0))break;Ce=S+(r[T+((te(b,R)|0)+w)>>0]|0)|0;s[tt+228+(b<<2)>>2]=(Ce|0)>144?144:(Ce|0)<16?16:Ce;b=b+1|0}b=S+65520|0}n[Q>>1]=b;r[ee>>0]=w;b=1}while(0);if(b){r[He>>0]=2;b=2;break}else{r[He>>0]=1;b=1;break}}else ot=264;while(0);if((ot|0)==264){Ce=tt+228|0;s[Ce>>2]=0;s[Ce+4>>2]=0;s[Ce+8>>2]=0;s[Ce+12>>2]=0;n[e+4854>>1]=0;r[e+4856>>0]=0;h[e+10152>>2]=0}A=Ze+(0-(s[e+4692>>2]|0)<<2)|0;Te=e+4808|0;y=+(s[Te>>2]|0);m=y*.0078125;j=s[e+4788>>2]|0;k=+(j+(s[e+4792>>2]|0)|0)*.5*30517578125e-15;xe=tt+696|0;h[xe>>2]=k;N=1/(+J(+-((m+-20)*.25))+1);Re=tt+700|0;h[Re>>2]=N;if(!(s[e+4768>>2]|0)){U=1-+(s[e+4624>>2]|0)*.00390625;m=m-N*2*(k*.5+.5)*U*U}F=b<<24>>24==2;do if(!F){O=m+(y*-.4000000059604645*.0078125+6)*(1-k);w=s[Ve>>2]<<1;_=e+4672|0;b=s[_>>2]|0;E=((b<<16>>16)*5|0)/2|0;k=+(w|0);m=0;g=0;y=0;v=ce;while(1){if((g|0)>=(E|0))break;x=+zr(k+ +tr(v,w))*3.32192809488736;if((g|0)>0)m=m+ +q(+(x-y));g=g+1|0;y=x;v=v+(w<<2)|0}w=e+4858|0;if(m>+(E+-1|0)*.6000000238418579){r[w>>0]=0;Ce=_;break}else{r[w>>0]=1;Ce=_;break}}else{O=m+ +h[e+10152>>2]*2;r[e+4858>>0]=0;b=e+4672|0;Ce=b;b=s[b>>2]|0}while(0);B=+h[ae>>2]*.0010000000474974513;B=.9399999976158142/(B*B+1);D=s[e+4764>>2]|0;x=+(D|0)*152587890625e-16+N*.009999999776482582;I=e+4696|0;Ie=e+4680|0;C=e+4728|0;N=x;L=1-x*x;P=0;E=A;while(1){if((P|0)>=(b|0))break;w=s[Ve>>2]|0;g=w*3|0;A=s[I>>2]|0;_=(A-g|0)/2|0;y=3.1415927410125732/+(_+1|0);k=2-y*y;m=0;v=0;while(1){if((v|0)>=(_|0))break;h[Be+(v<<2)>>2]=+h[E+(v<<2)>>2]*.5*(m+y);Me=v|1;h[Be+(Me<<2)>>2]=+h[E+(Me<<2)>>2]*y;U=k*y-m;Me=v|2;h[Be+(Me<<2)>>2]=+h[E+(Me<<2)>>2]*.5*(y+U);Me=v|3;h[Be+(Me<<2)>>2]=+h[E+(Me<<2)>>2]*U;m=U;y=k*U-y;v=v+4|0}Mn(Be+(_<<2)|0,E+(_<<2)|0,w*12|0)|0;g=_+g|0;w=Be+(g<<2)|0;g=E+(g<<2)|0;m=1;y=k*.5;v=0;while(1){if((v|0)>=(_|0))break;h[w+(v<<2)>>2]=+h[g+(v<<2)>>2]*.5*(m+y);Me=v|1;h[w+(Me<<2)>>2]=+h[g+(Me<<2)>>2]*y;U=k*y-m;Me=v|2;h[w+(Me<<2)>>2]=+h[g+(Me<<2)>>2]*.5*(y+U);Me=v|3;h[w+(Me<<2)>>2]=+h[g+(Me<<2)>>2]*U;m=U;y=k*U-y;v=v+4|0}E=E+(s[Ie>>2]<<2)|0;S=(D|0)>0;R=s[C>>2]|0;t:do if(S){kn(qe|0,0,200)|0;kn(ze|0,0,200)|0;g=qe+(R<<3)|0;v=ze+(R<<3)|0;m=0;_=0;while(1){if((_|0)>=(A|0)){w=0;break}w=0;y=+h[Be+(_<<2)>>2];while(1){if((w|0)>=(R|0))break;Se=w|1;Ae=qe+(Se<<3)|0;ht=+c[Ae>>3];U=m+N*(ht-y);c[qe+(w<<3)>>3]=y;Me=ze+(w<<3)|0;c[Me>>3]=+c[Me>>3]+ +c[qe>>3]*y;Me=w+2|0;k=+c[qe+(Me<<3)>>3];c[Ae>>3]=U;Se=ze+(Se<<3)|0;c[Se>>3]=+c[Se>>3]+ +c[qe>>3]*U;m=k;w=Me;y=ht+N*(k-U)}c[g>>3]=y;m=+c[qe>>3];c[v>>3]=+c[v>>3]+m*y;_=_+1|0}while(1){if((w|0)>(R|0))break;h[Le+(w<<2)>>2]=+c[ze+(w<<3)>>3];w=w+1|0}}else{w=(R|0)<(A|0)?R+1|0:A;g=0;while(1){if((g|0)>=(w|0))break t;h[Le+(g<<2)>>2]=+ir(Be,Be+(g<<2)|0,A-g|0);g=g+1|0}}while(0);ht=+h[Le>>2];h[Le>>2]=ht+(ht*29999999242136255e-21+1);w=0;while(1){if((w|0)>(R|0)){v=0;break}ht=+h[Le+(w<<2)>>2];c[qe+(w<<4)+8>>3]=ht;c[qe+(w<<4)>>3]=ht;w=w+1|0}t:while(1){if((R|0)<=(v|0))break;w=v+1|0;m=+c[he>>3];m=-+c[qe+(w<<4)>>3]/(m>9.999999717180685e-10?m:9.999999717180685e-10);h[le+(v<<2)>>2]=m;g=R-v|0;_=0;while(1){if((_|0)>=(g|0)){v=w;continue t}Se=qe+(_+v+1<<4)|0;ht=+c[Se>>3];Me=qe+(_<<4)+8|0;U=+c[Me>>3];c[Se>>3]=ht+U*m;c[Me>>3]=U+ht*m;_=_+1|0}}m=+c[he>>3];T=tt+244+(P*24<<2)|0;v=0;while(1){if((v|0)>=(R|0))break;y=+h[le+(v<<2)>>2];w=v+1|0;g=w>>1;_=0;while(1){if((_|0)>=(g|0))break;Se=T+(_<<2)|0;ht=+h[Se>>2];Me=T+(v-_+-1<<2)|0;U=+h[Me>>2];h[Se>>2]=ht+U*y;h[Me>>2]=U+ht*y;_=_+1|0}h[T+(v<<2)>>2]=-y;v=w}y=+H(+m);w=tt+(P<<2)|0;h[w>>2]=y;M=R+-1|0;if(S){m=+h[T+(M<<2)>>2];g=R+-2|0;while(1){m=x*m;if((g|0)<=-1)break;m=+h[T+(g<<2)>>2]-m;g=g+-1|0}h[w>>2]=y*(1/(m+1));m=B;w=0}else{m=B;w=0}while(1){if((w|0)>=(M|0))break;Me=T+(w<<2)|0;h[Me>>2]=+h[Me>>2]*m;m=m*B;w=w+1|0}A=T+(M<<2)|0;m=+h[A>>2]*m;h[A>>2]=m;t:do if(S){w=R;while(1){if((w|0)<=1)break;Me=T+(w+-2<<2)|0;ht=+h[Me>>2]-m*x;h[Me>>2]=ht;m=ht;w=w+-1|0}m=L/(+h[T>>2]*x+1);w=0;while(1){if((w|0)>=(R|0)){w=0;_=0;break}Me=T+(w<<2)|0;h[Me>>2]=+h[Me>>2]*m;w=w+1|0}while(1){if((_|0)<10){g=0;v=w;y=-1}else break t;while(1){if((g|0)>=(R|0))break;ht=+q(+ +h[T+(g<<2)>>2]);Me=ht>y;Se=Me?g:v;g=g+1|0;v=Se;y=Me?ht:y}if(!(y<=3.999000072479248))w=1;else break t;while(1){if((w|0)>=(R|0))break;Me=T+(w+-1<<2)|0;h[Me>>2]=+h[Me>>2]+ +h[T+(w<<2)>>2]*x;w=w+1|0}m=1/m;w=0;while(1){if((w|0)>=(R|0))break;Me=T+(w<<2)|0;h[Me>>2]=+h[Me>>2]*m;w=w+1|0}m=.9900000095367432-(+(_|0)*.10000000149011612+.800000011920929)*(y+-3.999000072479248)/(y*+(v+1|0));y=m;w=0;while(1){if((w|0)>=(M|0))break;Me=T+(w<<2)|0;h[Me>>2]=+h[Me>>2]*y;y=y*m;w=w+1|0}m=+h[A>>2]*y;h[A>>2]=m;w=R;while(1){if((w|0)<=1)break;Me=T+(w+-2<<2)|0;ht=+h[Me>>2]-m*x;h[Me>>2]=ht;m=ht;w=w+-1|0}m=L/(+h[T>>2]*x+1);w=0;while(1){if((w|0)>=(R|0))break;Me=T+(w<<2)|0;h[Me>>2]=+h[Me>>2]*m;w=w+1|0}w=v;_=_+1|0}}else{w=0;v=0;while(1){if((v|0)<10){g=0;m=-1}else break t;while(1){if((g|0)>=(R|0))break;ht=+q(+ +h[T+(g<<2)>>2]);Me=ht>m;Se=Me?g:w;g=g+1|0;w=Se;m=Me?ht:m}if(m<=3.999000072479248)break t;m=.9900000095367432-(+(v|0)*.10000000149011612+.800000011920929)*(m+-3.999000072479248)/(m*+(w+1|0));y=m;g=0;while(1){if((g|0)>=(M|0))break;Me=T+(g<<2)|0;h[Me>>2]=+h[Me>>2]*y;y=y*m;g=g+1|0}h[A>>2]=+h[A>>2]*y;v=v+1|0}}while(0);P=P+1|0}m=+mt(+(O*-.1599999964237213));w=0;while(1){if((w|0)>=(b|0))break;Me=tt+(w<<2)|0;h[Me>>2]=+h[Me>>2]*m+1.2483305931091309;w=w+1|0}Me=e+4624|0;m=+(s[Me>>2]|0);y=((+(j|0)*30517578125e-15+-1)*.5+1)*4*(m*.00390625);t:do if(F){w=0;while(1){if((w|0)>=(b|0))break;ht=.20000000298023224/+(s[Ve>>2]|0)+3/+(s[tt+228+(w<<2)>>2]|0);h[tt+628+(w<<2)>>2]=ht+-1;h[tt+644+(w<<2)>>2]=1-ht-ht*y;w=w+1|0}y=-.25-m*.26249998807907104*.00390625}else{ht=1.2999999523162842/+(s[Ve>>2]|0);g=tt+628|0;h[g>>2]=ht+-1;v=tt+644|0;h[v>>2]=1-ht-ht*y*.6000000238418579;w=1;while(1){if((w|0)>=(b|0)){y=-.25;break t}s[tt+628+(w<<2)>>2]=s[g>>2];s[tt+644+(w<<2)>>2]=s[v>>2];w=w+1|0}}while(0);if(F)m=((1-(1-+h[Re>>2])*+h[xe>>2])*.20000000298023224+.30000001192092896)*+H(+ +h[e+10152>>2]);else m=0;w=e+7264|0;g=e+7268|0;v=0;while(1){if((v|0)>=(b|0))break;ht=+h[w>>2];ht=ht+(m-ht)*.4000000059604645;h[w>>2]=ht;h[tt+676+(v<<2)>>2]=ht;ht=+h[g>>2];ht=ht+(y-ht)*.4000000059604645;h[g>>2]=ht;h[tt+660+(v<<2)>>2]=ht;v=v+1|0}w=0;while(1){if((w|0)>=(b|0))break;h[Fe+(w<<2)>>2]=1/+h[tt+(w<<2)>>2];w=w+1|0}if(F){R=s[Ie>>2]|0;I=R+5|0;A=ce;S=le;M=0;T=ue;while(1){if((M|0)>=(b|0))break;v=A+(-2-(s[tt+228+(M<<2)>>2]|0)<<2)|0;w=v+16|0;m=+tr(w,R);h[S>>2]=m;g=1;while(1){if((g|0)==5)break;U=+h[w+(0-g<<2)>>2];ht=+h[w+(R-g<<2)>>2];ht=m+(U*U-ht*ht);h[S+(g*6<<2)>>2]=ht;m=ht;g=g+1|0}E=1;_=v+12|0;while(1){if((E|0)==5){g=0;break}m=+ir(w,_,R);ht=m;h[S+(E*5<<2)>>2]=ht;h[S+(E<<2)>>2]=ht;g=5-E|0;v=1;while(1){if((v|0)>=(g|0))break;Ae=0-v|0;Se=R-v|0;ht=m+(+h[w+(Ae<<2)>>2]*+h[_+(Ae<<2)>>2]-+h[w+(Se<<2)>>2]*+h[_+(Se<<2)>>2]);U=ht;Se=E+v|0;h[S+((Se*5|0)+v<<2)>>2]=U;h[S+((v*5|0)+Se<<2)>>2]=U;m=ht;v=v+1|0}E=E+1|0;_=_+-4|0}while(1){if((g|0)==5)break;h[T+(g<<2)>>2]=+ir(w,A,R);g=g+1|0;w=w+-4|0}ht=+tr(A,I);m=(+h[S>>2]+ +h[S+96>>2])*.014999999664723873+1;m=1/(ht>m?ht:m);w=0;while(1){if((w|0)>=24){w=24;break}Se=S+(w<<2)|0;h[Se>>2]=+h[Se>>2]*m;Se=S+((w|1)<<2)|0;h[Se>>2]=+h[Se>>2]*m;Se=S+((w|2)<<2)|0;h[Se>>2]=+h[Se>>2]*m;Se=S+((w|3)<<2)|0;h[Se>>2]=+h[Se>>2]*m;w=w+4|0}while(1){if((w|0)==25){w=0;break}Se=S+(w<<2)|0;h[Se>>2]=+h[Se>>2]*m;w=w+1|0}while(1){if((w|0)>=4){w=4;break}Se=T+(w<<2)|0;h[Se>>2]=+h[Se>>2]*m;Se=T+((w|1)<<2)|0;h[Se>>2]=+h[Se>>2]*m;Se=T+((w|2)<<2)|0;h[Se>>2]=+h[Se>>2]*m;Se=T+((w|3)<<2)|0;h[Se>>2]=+h[Se>>2]*m;w=w+4|0}while(1){if((w|0)==5)break;Se=T+(w<<2)|0;h[Se>>2]=+h[Se>>2]*m;w=w+1|0}A=A+(R<<2)|0;S=S+100|0;M=M+1|0;T=T+20|0}ye=e+4832|0;Se=e+4748|0;v=s[Ie>>2]|0;Ee=s[Ce>>2]|0;w=Ee*25|0;g=0;while(1){if((g|0)>=(w|0))break;m=+h[le+(g<<2)>>2]*131072;b=(h[d>>2]=m,s[d>>2]|0);if((b&2130706432)>>>0<=1249902592){b=(b|0)<0;m=b?m+-8388608+8388608:m+8388608+-8388608;if(m==0)m=b?-0:0}s[Be+(g<<2)>>2]=~~m;g=g+1|0}_e=e+4860|0;Ae=tt+708|0;ke=Ee*5|0;w=0;while(1){if((w|0)>=(ke|0))break;m=+h[ue+(w<<2)>>2]*131072;b=(h[d>>2]=m,s[d>>2]|0);if((b&2130706432)>>>0<=1249902592){b=(b|0)<0;m=b?m+-8388608+8388608:m+8388608+-8388608;if(m==0)m=b?-0:0}s[Le+(w<<2)>>2]=~~m;w=w+1|0}we=v<<16>>16;ve=0;b=0;ge=0;w=2147483647;E=0;while(1){if((ge|0)==3)break;ue=s[17388+(ge<<2)>>2]|0;de=s[17400+(ge<<2)>>2]|0;pe=s[17412+(ge<<2)>>2]|0;be=r[29888+ge>>0]|0;me=Be;M=b;ce=0;S=0;E=0;b=s[Se>>2]|0;le=Le;while(1){if((ce|0)>=(Ee|0))break;he=5333-b|0;g=he+896|0;if((he|0)>=-896)if((g|0)>3966)g=2147483647;else{v=g>>7;A=1<>16)<>7;else g=te(A>>7,_+((te(te(_,128-_|0)|0,-174)|0)>>16)|0)|0;g=A+g|0}else g=0;C=g+-51|0;P=qe+ce|0;D=s[le>>2]<<7;j=s[le+4>>2]<<7;F=s[le+8>>2]<<7;z=s[le+12>>2]<<7;ae=0-(s[le+16>>2]<<7)|0;r[P>>0]=0;G=me+4|0;V=me+8|0;W=me+12|0;K=me+16|0;Y=me+28|0;Z=me+32|0;$=me+36|0;X=me+24|0;Q=me+52|0;ee=me+56|0;ie=me+48|0;ne=me+76|0;se=me+72|0;ae=ae<<1;oe=me+96|0;fe=de;he=M;R=0;I=2147483647;T=2147483647;while(1){if((R|0)>=(be|0))break;_=a[pe+R>>0]|0;ct=r[fe+1>>0]|0;M=(te(s[G>>2]|0,ct)|0)-D|0;v=r[fe+2>>0]|0;M=M+(te(s[V>>2]|0,v)|0)|0;A=r[fe+3>>0]|0;M=M+(te(s[W>>2]|0,A)|0)|0;g=r[fe+4>>0]|0;M=M+(te(s[K>>2]|0,g)|0)<<1;lt=r[fe>>0]|0;M=M+(te(s[me>>2]|0,lt)|0)|0;lt=(te(M>>16,lt)|0)+((te(M&65535,lt)|0)>>16)+32801|0;M=(te(s[Y>>2]|0,v)|0)-j|0;M=M+(te(s[Z>>2]|0,A)|0)|0;M=M+(te(s[$>>2]|0,g)|0)<<1;M=M+(te(s[X>>2]|0,ct)|0)|0;ct=lt+((te(M>>16,ct)|0)+((te(M&65535,ct)|0)>>16))|0;M=(te(s[Q>>2]|0,A)|0)-F|0;M=M+(te(s[ee>>2]|0,g)|0)<<1;M=M+(te(s[ie>>2]|0,v)|0)|0;v=ct+((te(M>>16,v)|0)+((te(M&65535,v)|0)>>16))|0;M=(te(s[ne>>2]|0,g)|0)-z<<1;M=M+(te(s[se>>2]|0,A)|0)|0;A=v+((te(M>>16,A)|0)+((te(M&65535,A)|0)>>16))|0;M=ae+(te(s[oe>>2]|0,g)|0)|0;g=A+((te(M>>16,g)|0)+((te(M&65535,g)|0)>>16))|0;do if((g|0)>-1){g=g+((_|0)>(C|0)?_-C<<11:0)|0;M=re(g|0)|0;v=24-M|0;A=0-v|0;do if(v)if((v|0)<0){v=g<>>(v+32|0);break}else{v=g<<32-v|g>>>v;break}else v=g;while(0);v=v&127;v=te(we,(v+(((te(v,128-v|0)|0)*179|0)>>>16)+(31-M<<7)<<16)+-125829120>>16)|0;v=v+(a[ue+R>>0]<<2)|0;if((v|0)>(I|0)){_=he;v=I;g=T;break}r[P>>0]=R}else{_=he;v=I;g=T}while(0);fe=fe+5|0;he=_;R=R+1|0;I=v;T=g}E=E+T|0;E=(E|0)<0?2147483647:E;S=S+I|0;S=(S|0)<0?2147483647:S;g=he+51|0;A=re(g|0)|0;v=24-A|0;_=0-v|0;do if(v)if((v|0)<0){v=g<<_|g>>>(v+32|0);break}else{v=g<<32-v|g>>>v;break}else v=g;while(0);lt=v&127;if((b+(lt+(((te(lt,128-lt|0)|0)*179|0)>>>16)+(31-A<<7))|0)<896)b=0;else{A=re(g|0)|0;v=24-A|0;_=0-v|0;do if(v)if((v|0)<0){g=g<<_|g>>>(v+32|0);break}else{g=g<<32-v|g>>>v;break}while(0);lt=g&127;b=b+(lt+(((te(lt,128-lt|0)|0)*179|0)>>>16)+(31-A<<7))+-896|0}me=me+100|0;M=he;ce=ce+1|0;le=le+20|0}if((S|0)>(w|0))b=ve;else{r[_e>>0]=ge;Mn(ye|0,qe|0,Ee|0)|0;w=S}ve=b;b=M;ge=ge+1|0}b=s[17400+(r[_e>>0]<<2)>>2]|0;v=0;while(1){if((v|0)>=(Ee|0))break;w=e+4832+v|0;g=v*5|0;_=0;while(1){if((_|0)==5)break;n[ze+(g+_<<1)>>1]=r[b+(((r[w>>0]|0)*5|0)+_)>>0]<<7;_=_+1|0}v=v+1|0}b=E>>((Ee|0)==2?1:2);s[Se>>2]=ve;v=re(b|0)|0;w=24-v|0;g=0-w|0;do if(w)if((w|0)<0){b=b<>>(w+32|0);break}else{b=b<<32-w|b>>>w;break}while(0);b=b&127;b=(b+(((te(b,128-b|0)|0)*179|0)>>>16)+(31-v<<7)<<16)+-125829120>>16;w=0;while(1){if((w|0)>=(ke|0))break;h[tt+144+(w<<2)>>2]=+(n[ze+(w<<1)>>1]|0)*6103515625e-14;w=w+1|0}m=+(te(b,-3)|0)*.0078125;h[Ae>>2]=m;if(!f){m=+((s[e+4708>>2]|0)+(s[e+5836>>2]|0)|0)*m*.10000000149011612;if(!(m>2)){if(m<0)m=0}else m=2;b=~~m;r[e+4861>>0]=b}else{r[e+4861>>0]=0;b=0}h[tt+224>>2]=+(n[25412+(b<<24>>24<<1)>>1]|0)*6103515625e-14;T=s[e+4732>>2]|0;_=s[Ie>>2]|0;E=s[Ce>>2]|0;A=_+T|0;S=Ue;M=0;T=Ze+(0-T<<2)|0;while(1){if((M|0)>=(E|0))break;g=0-(s[tt+228+(M<<2)>>2]|0)|0;y=+h[Fe+(M<<2)>>2];b=M*5|0;w=0;while(1){if((w|0)==5)break;s[qe+(w<<2)>>2]=s[tt+144+(b+w<<2)>>2];w=w+1|0}v=0;g=T+(g<<2)|0;while(1){if((v|0)>=(A|0))break;w=s[T+(v<<2)>>2]|0;b=S+(v<<2)|0;s[b>>2]=w;m=(s[d>>2]=w,+h[d>>2]);w=0;while(1){if((w|0)==5)break;ht=m-+h[qe+(w<<2)>>2]*+h[g+(2-w<<2)>>2];h[b>>2]=ht;m=ht;w=w+1|0}h[b>>2]=m*y;v=v+1|0;g=g+4|0}S=S+(A<<2)|0;M=M+1|0;T=T+(_<<2)|0}}else{S=e+4732|0;A=s[S>>2]|0;w=A;_=0;E=Ue;A=Ze+(0-A<<2)|0;while(1){if((_|0)>=(b|0))break;m=+h[Fe+(_<<2)>>2];b=s[Ie>>2]|0;v=b+w|0;g=v&65532;b=w+b&65532;w=0;while(1){if((w|0)>=(g|0))break;h[E+(w<<2)>>2]=+h[A+(w<<2)>>2]*m;lt=w|1;h[E+(lt<<2)>>2]=+h[A+(lt<<2)>>2]*m;lt=w|2;h[E+(lt<<2)>>2]=+h[A+(lt<<2)>>2]*m;lt=w|3;h[E+(lt<<2)>>2]=+h[A+(lt<<2)>>2]*m;w=w+4|0}while(1){if((b|0)>=(v|0))break;h[E+(b<<2)>>2]=+h[A+(b<<2)>>2]*m;b=b+1|0}lt=s[Ie>>2]|0;ct=s[S>>2]|0;b=s[Ce>>2]|0;w=ct;_=_+1|0;E=E+(lt+ct<<2)|0;A=A+(lt<<2)|0}kn(tt+144|0,0,b*20|0)|0;h[tt+708>>2]=0;s[e+4748>>2]=0}b=e+4756|0;if(!(s[b>>2]|0)){y=+mt(+(+h[tt+708>>2]/3))/1e4;y=y/(+h[Re>>2]*.75+.25)}else y=.009999999776482582;M=e+4732|0;A=s[M>>2]|0;E=(s[Ie>>2]|0)+A|0;S=e+4859|0;r[S>>0]=4;m=+Dr(Pe,Ue,y,E,s[Ce>>2]|0,A);A=e+4724|0;t:do if((s[A>>2]|0?(s[b>>2]|0)==0:0)?(s[Ce>>2]|0)==4:0){_=E<<1;m=m-+Dr(Ne,Ue+(_<<2)|0,y,E,2,s[M>>2]|0);Qi(je,Ne,s[M>>2]|0);v=3;k=3.4028234663852886e38;while(1){if((v|0)<=-1)break t;g=s[M>>2]|0;b=v<<16>>16;w=0;while(1){if((w|0)>=(g|0))break;lt=o[e+4592+(w<<1)>>1]|0;n[Le+(w<<1)>>1]=lt+((te((o[je+(w<<1)>>1]|0)-lt<<16>>16,b)|0)>>>2);w=w+1|0}Rr(Be,Le,g);b=0;while(1){if((b|0)>=(g|0))break;h[Ne+(b<<2)>>2]=+(n[Be+(b<<1)>>1]|0)*.000244140625;b=b+1|0}Ji(Oe,Ne,Ue,_,s[M>>2]|0);lt=s[M>>2]|0;ct=Oe+(lt<<2)|0;lt=E-lt|0;y=+tr(ct,lt);y=y+ +tr(ct+(E<<2)|0,lt);if(!(yk)break t}else{r[S>>0]=v;m=y}v=v+-1|0;k=y}}while(0);if((r[S>>0]|0)==4)Qi(je,Pe,s[M>>2]|0);v=s[Me>>2]<<16>>16;v=(te(v,-5)|0)+(v*59246>>16)+3146|0;v=v+((s[Ce>>2]|0)==2?v>>1:0)|0;Cr(Le,je,s[M>>2]|0);t:do if((s[A>>2]|0)==1?(De=r[S>>0]|0,De<<24>>24<4):0){b=De<<24>>24;w=s[M>>2]|0;g=0;while(1){if((g|0)>=(w|0))break;lt=o[e+4592+(g<<1)>>1]|0;n[Be+(g<<1)>>1]=lt+((te((o[je+(g<<1)>>1]|0)-lt<<16>>16,b)|0)>>>2);g=g+1|0}Cr(qe,Be,w);w=r[S>>0]|0;w=(te(w,w)|0)<<27;b=s[M>>2]|0;w=w>>16;g=0;while(1){if((g|0)>=(b|0)){w=1;break t}lt=Le+(g<<1)|0;n[lt>>1]=((n[lt>>1]|0)>>>1)+((te(n[qe+(g<<1)>>1]|0,w)|0)>>>16);g=g+1|0}}else w=0;while(0);Ur(e+4836|0,je,s[e+4784>>2]|0,Le,v,s[e+4752>>2]|0,r[He>>0]|0);b=ze+32|0;Rr(b,je,s[M>>2]|0);if(w){b=r[S>>0]|0;w=s[M>>2]|0;g=0;while(1){if((g|0)>=(w|0))break;lt=o[e+4592+(g<<1)>>1]|0;n[Be+(g<<1)>>1]=lt+((te((o[je+(g<<1)>>1]|0)-lt<<16>>16,b)|0)>>>2);g=g+1|0}Rr(ze,Be,w)}else Mn(ze|0,b|0,s[M>>2]<<1|0)|0;g=0;while(1){if((g|0)==2)break;b=s[M>>2]|0;w=0;while(1){if((w|0)>=(b|0))break;h[tt+16+(g<<6)+(w<<2)>>2]=+(n[ze+(g<<5)+(w<<1)>>1]|0)*.000244140625;w=w+1|0}g=g+1|0}_=s[Ie>>2]|0;lt=s[Ce>>2]|0;b=s[M>>2]|0;w=qe+(b<<2)|0;v=b+_|0;g=v<<1;Ji(qe,tt+16|0,Ue,g,b);ht=+h[tt>>2];h[tt+712>>2]=ht*ht*+tr(w,_);ht=+h[tt+4>>2];v=w+(v<<2)|0;h[tt+716>>2]=ht*ht*+tr(v,_);if((lt|0)==4){Ji(qe,tt+80|0,Ue+(g<<2)|0,g,b);ht=+h[tt+8>>2];h[tt+720>>2]=ht*ht*+tr(w,_);ht=+h[tt+12>>2];h[tt+724>>2]=ht*ht*+tr(v,_)}E=e+4592|0;b=je;_=E+32|0;do{n[E>>1]=n[b>>1]|0;E=E+2|0;b=b+2|0}while((E|0)<(_|0));t:do if((r[He>>0]|0)==2){m=1-1/(+J(+-((+h[tt+708>>2]+-12)*.25))+1)*.5;b=s[Ce>>2]|0;w=0;while(1){if((w|0)>=(b|0)){w=b;break t}lt=tt+(w<<2)|0;h[lt>>2]=+h[lt>>2]*m;w=w+1|0}}else w=s[Ce>>2]|0;while(0);m=+mt(+((21-+(s[Te>>2]|0)*.0078125)*.33000001311302185));m=m/+(s[Ie>>2]|0);b=0;while(1){if((b|0)>=(w|0)){b=0;break}lt=tt+(b<<2)|0;ht=+h[lt>>2];ht=+H(+(ht*ht+ +h[tt+712+(b<<2)>>2]*m));h[lt>>2]=ht<32767?ht:32767;b=b+1|0}while(1){if((b|0)>=(w|0))break;s[ze+(b<<2)>>2]=~~(+h[tt+(b<<2)>>2]*65536);b=b+1|0}Mn(tt+728|0,ze|0,w<<2|0)|0;b=e+7260|0;le=tt+744|0;r[le>>0]=r[b>>0]|0;ue=e+4828|0;de=(f|0)==2;pe=de&1;br(ue,ze,b,pe,w);b=s[Ce>>2]|0;w=0;while(1){if((w|0)>=(b|0))break;h[tt+(w<<2)>>2]=+(s[ze+(w<<2)>>2]|0)*152587890625e-16;w=w+1|0}g=r[He>>0]|0;do if(g<<24>>24==2){w=e+4858|0;if(+h[tt+708>>2]+ +(s[e+4804>>2]|0)*30517578125e-15>1){r[w>>0]=0;ce=w;w=0;break}else{r[w>>0]=1;ce=w;w=1;break}}else{w=e+4858|0;ce=w;w=r[w>>0]|0}while(0);lt=s[Me>>2]|0;he=tt+692|0;h[he>>2]=+(s[e+4720>>2]|0)*-.05000000074505806+1.2000000476837158+ +(lt|0)*-.20000000298023224*.00390625+ +h[xe>>2]*-.10000000149011612+ +h[Re>>2]*-.20000000298023224+ +(n[25404+(g<<24>>24>>1<<2)+(w<<24>>24<<1)>>1]|0)*.0009765625*.800000011920929;fe=e+5840|0;w=s[fe>>2]|0;v=e+6192+(w*36|0)|0;if((s[e+6184>>2]|0)!=0&(lt|0)>77){s[e+4816+(w<<2)>>2]=1;Mn(qe|0,e+144|0,4448)|0;E=v;b=ue;_=E+36|0;do{n[E>>1]=n[b>>1]|0;E=E+2|0;b=b+2|0}while((E|0)<(_|0));g=s[Ce>>2]|0;Mn(Fe|0,tt|0,g<<2|0)|0;b=s[fe>>2]|0;do if(!b)ot=544;else{if(!(s[e+4816+(b+-1<<2)>>2]|0)){ot=544;break}w=e+4632|0;b=g}while(0);if((ot|0)==544){w=e+4632|0;r[w>>0]=r[e+7260>>0]|0;b=(a[v>>0]|0)+(s[e+6188>>2]|0)|0;r[v>>0]=(b&255)<<24>>24<63?b&255:63;b=s[Ce>>2]|0}mr(ze,v,w,pe,b);b=s[Ce>>2]|0;w=0;while(1){if((w|0)>=(b|0))break;h[tt+(w<<2)>>2]=+(s[ze+(w<<2)>>2]|0)*152587890625e-16;w=w+1|0}er(e,tt,v,qe,e+6300+((s[fe>>2]|0)*320|0)|0,Ze);b=s[Ce>>2]|0;Mn(tt|0,Fe|0,b<<2|0)|0}g=0;w=0;while(1){if((w|0)>=(b|0))break;g=(r[e+4828+w>>0]|0)+(g<<8)|0;w=w+1|0}E=nt;b=i;_=E+48|0;do{s[E>>2]=s[b>>2];E=E+4|0;b=b+4|0}while((E|0)<(_|0));W=e+144|0;Mn(it|0,W|0,4448)|0;K=r[Ke>>0]|0;Y=e+5864|0;Z=n[Y>>1]|0;$=e+5860|0;X=s[$>>2]|0;Q=e+7260|0;ee=u+-5|0;ie=i+24|0;ne=i+28|0;se=e+4828|0;ae=e+4864|0;oe=i+20|0;D=0;M=0;T=0;G=256;z=0;R=0;j=-1;S=-1;V=0;F=0;I=0;w=0;while(1){A=(g|0)==(j|0);do if(!A){if((g|0)==(S|0)){b=I;ot=571;break}if((V|0)>0){E=i;b=nt;_=E+48|0;do{s[E>>2]=s[b>>2];E=E+4|0;b=b+4|0}while((E|0)<(_|0));Mn(W|0,it|0,4448)|0;r[Ke>>0]=K;n[Y>>1]=Z;s[$>>2]=X}er(e,tt,se,W,ae,Ze);v=(V|0)==6;if(v&(M|0)==0){s[st>>2]=s[i>>2];s[st+4>>2]=s[i+4>>2];s[st+8>>2]=s[i+8>>2];s[st+12>>2]=s[i+12>>2];s[st+16>>2]=s[i+16>>2];s[st+20>>2]=s[i+20>>2];_=s[ie>>2]|0;s[at>>2]=s[ne>>2];s[at+4>>2]=s[ne+4>>2];s[at+8>>2]=s[ne+8>>2];s[at+12>>2]=s[ne+12>>2];s[at+16>>2]=s[ne+16>>2]}else _=w;Di(e,i,s[fe>>2]|0,0,f);Li(i,r[He>>0]|0,r[ce>>0]|0,ae,s[We>>2]|0);b=(s[oe>>2]|0)+((re(s[ne>>2]|0)|0)+-32)|0;if(v&(M|0)==0&(b|0)>(u|0)){s[i>>2]=s[st>>2];s[i+4>>2]=s[st+4>>2];s[i+8>>2]=s[st+8>>2];s[i+12>>2]=s[st+12>>2];s[i+16>>2]=s[st+16>>2];s[i+20>>2]=s[st+20>>2];s[ie>>2]=_;s[ne>>2]=s[at>>2];s[ne+4>>2]=s[at+4>>2];s[ne+8>>2]=s[at+8>>2];s[ne+12>>2]=s[at+12>>2];s[ne+16>>2]=s[at+16>>2];b=r[le>>0]|0;r[Q>>0]=b;w=0;while(1){if((w|0)>=(s[Ce>>2]|0))break;r[e+4828+w>>0]=4;w=w+1|0}if(!de)r[ue>>0]=b;n[Y>>1]=Z;s[$>>2]=X;b=0;while(1){if((b|0)>=(s[We>>2]|0))break;r[e+4864+b>>0]=0;b=b+1|0}Di(e,i,s[fe>>2]|0,0,f);Li(i,r[He>>0]|0,r[ce>>0]|0,ae,s[We>>2]|0);b=(s[oe>>2]|0)+((re(s[ne>>2]|0)|0)+-32)|0}if(V|p|0){w=_;ot=571;break}if((b|0)>(u|0))C=_;else break e}else{b=F;ot=571}while(0);if((ot|0)==571){ot=0;if((V|0)==6)break;else C=w}P=(b|0)>(u|0);t:do if(P){if(M|0){T=1;A=z;R=G<<16>>16;E=j;S=g;_=F;I=b;break}if((V|0)>1){ht=+h[he>>2]*1.5;h[he>>2]=ht>1.5?ht:1.5;r[ce>>0]=0;T=0;g=-1}else{T=1;R=G<<16>>16;I=b}_=s[Ce>>2]|0;E=(V|0)==0;S=0;i:while(1){if((S|0)>=(_|0)){M=0;A=z;E=j;S=g;_=F;break t}v=s[Ie>>2]|0;A=S+1|0;w=te(A,v)|0;v=te(S,v)|0;M=0;while(1){if((v|0)>=(w|0))break;ct=r[e+4864+v>>0]|0;lt=ct<<24>>24;v=v+1|0;M=M+(ct<<24>>24>-1?lt:0-lt|0)|0}w=Xe+(S<<2)|0;do if(!E){v=Qe+(S<<2)|0;if((M|0)<(s[w>>2]|0)?(s[v>>2]|0)==0:0)break;s[v>>2]=1;S=A;continue i}while(0);s[w>>2]=M;n[$e+(S<<1)>>1]=G;S=A}}else{if((b|0)>=(ee|0))break e;w=G<<16>>16;if(A){M=1;A=w;E=g;_=b;break}s[st>>2]=s[i>>2];s[st+4>>2]=s[i+4>>2];s[st+8>>2]=s[i+8>>2];s[st+12>>2]=s[i+12>>2];s[st+16>>2]=s[i+16>>2];s[st+20>>2]=s[i+20>>2];C=s[ie>>2]|0;s[at>>2]=s[ne>>2];s[at+4>>2]=s[ne+4>>2];s[at+8>>2]=s[ne+8>>2];s[at+12>>2]=s[ne+12>>2];s[at+16>>2]=s[ne+16>>2];Mn(Je|0,s[i>>2]|0,C|0)|0;Mn(rt|0,W|0,4448)|0;D=r[Q>>0]|0;M=1;A=w;E=g;_=b}while(0);do if(!(M&T)){if(P){if(G<<16>>16>=16384){v=32767;break}v=G<<16>>16<<1&65535;break}w=(b-u<<7|0)/(s[We>>2]|0)|0;b=w+2048|0;do if((w|0)<-2048)b=0;else{if((b|0)>3966){b=2147483647;break}g=b>>7;v=1<>16)<>7;else b=te(v>>7,b+((te(te(b,128-b|0)|0,-174)|0)>>16)|0)|0;b=v+b|0}while(0);v=G<<16>>16;v=(te(b>>16,v)|0)+((te(b&65535,v)|0)>>>16)&65535}else{v=R-A|0;w=A+((te(v,u-_|0)|0)/(I-_|0)|0)|0;g=w<<16>>16;v=v>>2;b=A+v|0;if((g|0)<=(b|0)){b=R-v|0;b=(g|0)<(b|0)?b:w}v=b&65535}while(0);b=s[Ce>>2]|0;w=0;while(1){if((w|0)>=(b|0))break;if(!(s[Qe+(w<<2)>>2]|0))g=v;else g=n[$e+(w<<1)>>1]|0;ct=s[tt+728+(w<<2)>>2]|0;lt=g<<16>>16;lt=(te(ct>>16,lt)|0)+((te(ct&65535,lt)|0)>>16)|0;s[et+(w<<2)>>2]=(lt|0)>8388607?2147483392:((lt|0)<-8388608?-8388608:lt)<<8;w=w+1|0}r[Q>>0]=r[le>>0]|0;br(ue,et,Q,pe,b);w=s[Ce>>2]|0;g=0;b=0;while(1){if((b|0)>=(w|0)){b=0;break}g=(r[e+4828+b>>0]|0)+(g<<8)|0;b=b+1|0}while(1){if((b|0)>=(w|0))break;h[tt+(b<<2)>>2]=+(s[et+(b<<2)>>2]|0)*152587890625e-16;b=b+1|0}G=v;z=A;j=E;V=V+1|0;F=_;w=C}if((M|0)!=0&(A|(b|0)>(u|0))){s[i>>2]=s[st>>2];s[i+4>>2]=s[st+4>>2];s[i+8>>2]=s[st+8>>2];s[i+12>>2]=s[st+12>>2];s[i+16>>2]=s[st+16>>2];s[i+20>>2]=s[st+20>>2];s[ie>>2]=w;s[ne>>2]=s[at>>2];s[ne+4>>2]=s[at+4>>2];s[ne+8>>2]=s[at+8>>2];s[ne+12>>2]=s[at+12>>2];s[ne+16>>2]=s[at+16>>2];Mn(s[i>>2]|0,Je|0,w|0)|0;Mn(W|0,rt|0,4448)|0;r[Q>>0]=D}}while(0);Tn(e+7272|0,e+7272+(s[We>>2]<<2)|0,(s[Ye>>2]|0)+((s[Ve>>2]|0)*5|0)<<2|0)|0;if(s[Ge>>2]|0){lt=0;s[t>>2]=lt;l=ft;return 0}s[e+4636>>2]=s[tt+228+((s[e+4672>>2]|0)+-1<<2)>>2];r[e+4633>>0]=r[e+4857>>0]|0;s[e+4756>>2]=0;lt=(s[i+20>>2]|0)+((re(s[i+28>>2]|0)|0)+-32)+7>>3;s[t>>2]=lt;l=ft;return 0}function Ji(e,t,i,r,n){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;var s=0,a=0,o=0,f=0,c=0,l=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0;switch(n|0){case 6:{s=t+4|0;a=t+8|0;o=t+12|0;f=t+16|0;c=t+20|0;l=6;while(1){if((l|0)>=(r|0))break;y=i+(l+-1<<2)|0;h[e+(l<<2)>>2]=+h[y+4>>2]-(+h[y>>2]*+h[t>>2]+ +h[y+-4>>2]*+h[s>>2]+ +h[y+-8>>2]*+h[a>>2]+ +h[y+-12>>2]*+h[o>>2]+ +h[y+-16>>2]*+h[f>>2]+ +h[y+-20>>2]*+h[c>>2]);l=l+1|0}i=n<<2;kn(e|0,0,i|0)|0;return}case 8:{s=t+4|0;a=t+8|0;o=t+12|0;f=t+16|0;c=t+20|0;l=t+24|0;u=t+28|0;d=8;while(1){if((d|0)>=(r|0))break;y=i+(d+-1<<2)|0;h[e+(d<<2)>>2]=+h[y+4>>2]-(+h[y>>2]*+h[t>>2]+ +h[y+-4>>2]*+h[s>>2]+ +h[y+-8>>2]*+h[a>>2]+ +h[y+-12>>2]*+h[o>>2]+ +h[y+-16>>2]*+h[f>>2]+ +h[y+-20>>2]*+h[c>>2]+ +h[y+-24>>2]*+h[l>>2]+ +h[y+-28>>2]*+h[u>>2]);d=d+1|0}i=n<<2;kn(e|0,0,i|0)|0;return}case 10:{s=t+4|0;a=t+8|0;o=t+12|0;f=t+16|0;c=t+20|0;l=t+24|0;u=t+28|0;d=t+32|0;p=t+36|0;b=10;while(1){if((b|0)>=(r|0))break;y=i+(b+-1<<2)|0;h[e+(b<<2)>>2]=+h[y+4>>2]-(+h[y>>2]*+h[t>>2]+ +h[y+-4>>2]*+h[s>>2]+ +h[y+-8>>2]*+h[a>>2]+ +h[y+-12>>2]*+h[o>>2]+ +h[y+-16>>2]*+h[f>>2]+ +h[y+-20>>2]*+h[c>>2]+ +h[y+-24>>2]*+h[l>>2]+ +h[y+-28>>2]*+h[u>>2]+ +h[y+-32>>2]*+h[d>>2]+ +h[y+-36>>2]*+h[p>>2]);b=b+1|0}i=n<<2;kn(e|0,0,i|0)|0;return}case 12:{s=t+4|0;a=t+8|0;o=t+12|0;f=t+16|0;c=t+20|0;l=t+24|0;u=t+28|0;d=t+32|0;p=t+36|0;b=t+40|0;m=t+44|0;w=12;while(1){if((w|0)>=(r|0))break;y=i+(w+-1<<2)|0;h[e+(w<<2)>>2]=+h[y+4>>2]-(+h[y>>2]*+h[t>>2]+ +h[y+-4>>2]*+h[s>>2]+ +h[y+-8>>2]*+h[a>>2]+ +h[y+-12>>2]*+h[o>>2]+ +h[y+-16>>2]*+h[f>>2]+ +h[y+-20>>2]*+h[c>>2]+ +h[y+-24>>2]*+h[l>>2]+ +h[y+-28>>2]*+h[u>>2]+ +h[y+-32>>2]*+h[d>>2]+ +h[y+-36>>2]*+h[p>>2]+ +h[y+-40>>2]*+h[b>>2]+ +h[y+-44>>2]*+h[m>>2]);w=w+1|0}i=n<<2;kn(e|0,0,i|0)|0;return}case 16:{s=t+4|0;a=t+8|0;d=t+12|0;p=t+16|0;b=t+20|0;m=t+24|0;w=t+28|0;g=t+32|0;v=t+36|0;_=t+40|0;o=t+44|0;f=t+48|0;c=t+52|0;l=t+56|0;u=t+60|0;y=16;while(1){if((y|0)>=(r|0))break;k=i+(y+-1<<2)|0;h[e+(y<<2)>>2]=+h[k+4>>2]-(+h[k>>2]*+h[t>>2]+ +h[k+-4>>2]*+h[s>>2]+ +h[k+-8>>2]*+h[a>>2]+ +h[k+-12>>2]*+h[d>>2]+ +h[k+-16>>2]*+h[p>>2]+ +h[k+-20>>2]*+h[b>>2]+ +h[k+-24>>2]*+h[m>>2]+ +h[k+-28>>2]*+h[w>>2]+ +h[k+-32>>2]*+h[g>>2]+ +h[k+-36>>2]*+h[v>>2]+ +h[k+-40>>2]*+h[_>>2]+ +h[k+-44>>2]*+h[o>>2]+ +h[k+-48>>2]*+h[f>>2]+ +h[k+-52>>2]*+h[c>>2]+ +h[k+-56>>2]*+h[l>>2]+ +h[k+-60>>2]*+h[u>>2]);y=y+1|0}k=n<<2;kn(e|0,0,k|0)|0;return}default:{k=n<<2;kn(e|0,0,k|0)|0;return}}}function Qi(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,a=0,f=0,c=0,u=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0,V=0;V=l;l=l+176|0;F=V+124|0;q=V+72|0;z=V+64|0;H=V;a=0;while(1){if((a|0)>=(i|0))break;f=+h[t+(a<<2)>>2]*65536;r=(h[d>>2]=f,s[d>>2]|0);if((r&2130706432)>>>0<=1249902592){r=(r|0)<0;f=r?f+-8388608+8388608:f+8388608+-8388608;if(f==0)f=r?-0:0}s[H+(a<<2)>>2]=~~f;a=a+1|0}s[z>>2]=F;s[z+4>>2]=q;B=i>>1;U=F+(B<<2)|0;s[U>>2]=65536;j=q+(B<<2)|0;s[j>>2]=65536;r=0;while(1){if((B|0)<=(r|0))break;L=s[H+(B-r+-1<<2)>>2]|0;D=s[H+(r+B<<2)>>2]|0;s[F+(r<<2)>>2]=0-L-D;s[q+(r<<2)>>2]=D-L;r=r+1|0}r=B;while(1){if((r|0)<=0){r=2;break}L=r+-1|0;D=F+(L<<2)|0;s[D>>2]=(s[D>>2]|0)-(s[F+(r<<2)>>2]|0);D=q+(L<<2)|0;s[D>>2]=(s[D>>2]|0)+(s[q+(r<<2)>>2]|0);r=L}while(1){if((r|0)>(B|0)){r=2;break}else a=B;while(1){if((a|0)<=(r|0))break;L=F+(a+-2<<2)|0;s[L>>2]=(s[L>>2]|0)-(s[F+(a<<2)>>2]|0);a=a+-1|0}L=F+(r+-2<<2)|0;s[L>>2]=(s[L>>2]|0)-(s[F+(r<<2)>>2]<<1);r=r+1|0}while(1){if((r|0)>(B|0))break;else a=B;while(1){if((a|0)<=(r|0))break;L=q+(a+-2<<2)|0;s[L>>2]=(s[L>>2]|0)-(s[q+(a<<2)>>2]|0); -a=a+-1|0}L=q+(r+-2<<2)|0;s[L>>2]=(s[L>>2]|0)-(s[q+(r<<2)>>2]<<1);r=r+1|0}r=s[U>>2]|0;L=(B|0)==8;e:do if(L)r=(s[F>>2]|0)+((s[F+4>>2]|0)+((s[F+8>>2]|0)+((s[F+12>>2]|0)+((s[F+16>>2]|0)+((s[F+20>>2]|0)+((s[F+24>>2]|0)+((s[F+28>>2]|0)+(r<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;else{t=B;while(1){a=t+-1|0;if((t|0)<=0)break e;t=a;r=(s[F+(a<<2)>>2]|0)+(r<<1)|0}}while(0);e:do if((r|0)<0){n[e>>1]=0;r=s[j>>2]|0;if(L){a=q;t=1;r=(s[q>>2]|0)+((s[q+4>>2]|0)+((s[q+8>>2]|0)+((s[q+12>>2]|0)+((s[q+16>>2]|0)+((s[q+20>>2]|0)+((s[q+24>>2]|0)+((s[q+28>>2]|0)+(r<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;break}else t=B;while(1){a=t+-1|0;if((t|0)<=0){a=q;t=1;break e}t=a;r=(s[q+(a<<2)>>2]|0)+(r<<1)|0}}else{a=F;t=0}while(0);k=F+28|0;E=F+24|0;A=F+20|0;S=F+16|0;M=F+12|0;T=F+8|0;x=F+4|0;R=q+28|0;I=q+24|0;C=q+20|0;P=q+16|0;O=q+12|0;N=q+8|0;D=q+4|0;y=0;e:while(1){p=1;c=0;u=8192;t:while(1){_=p;while(1){p=n[27508+(_<<1)>>1]|0;b=Ar(a,p,B)|0;if((r|0)<1){if((b|0)>=(c|0))break;if(!((r|0)<0|(b|0)>(0-c|0)))break}else if((b|0)<=(0-c|0))break;if((_|0)>127)break t;else{_=_+1|0;c=0;u=p;r=b}}c=(b|0)==0&1;g=-256;v=0;while(1){if((v|0)==3)break;m=u+p|0;m=(m>>1)+(m&1)|0;w=Ar(a,m,B)|0;if((r|0)<1)if((w&r|0)>-1){p=m;b=w}else G=42;else if((w|0)<1){p=m;b=w}else G=42;if((G|0)==42){G=0;g=g+(128>>>v)|0;u=m;r=w}v=v+1|0}a=r-b|0;if((((r|0)>0?r:0-r|0)|0)<65536)if((r|0)==(b|0))r=g;else r=g+(((r<<5)+(a>>1)|0)/(a|0)|0)|0;else r=g+((r|0)/(a>>5|0)|0)|0;r=(_<<8)+r|0;n[e+(t<<1)>>1]=(r|0)<32767?r:32767;r=t+1|0;if((r|0)>=(i|0)){G=77;break e}p=_;a=s[z+((r&1)<<2)>>2]|0;t=r;u=n[27508+(_+-1<<1)>>1]|0;r=1-(r&2)<<12}c=y+1|0;if((y|0)>15)break;Mr(H,i,65536-(1<>2]=65536;s[j>>2]=65536;r=0;while(1){if((B|0)<=(r|0)){r=B;break}y=s[H+(B-r+-1<<2)>>2]|0;_=s[H+(r+B<<2)>>2]|0;s[F+(r<<2)>>2]=0-y-_;s[q+(r<<2)>>2]=_-y;r=r+1|0}while(1){if((r|0)<=0){r=2;break}y=r+-1|0;_=F+(y<<2)|0;s[_>>2]=(s[_>>2]|0)-(s[F+(r<<2)>>2]|0);_=q+(y<<2)|0;s[_>>2]=(s[_>>2]|0)+(s[q+(r<<2)>>2]|0);r=y}while(1){if((r|0)>(B|0)){r=2;break}else a=B;while(1){if((a|0)<=(r|0))break;y=F+(a+-2<<2)|0;s[y>>2]=(s[y>>2]|0)-(s[F+(a<<2)>>2]|0);a=a+-1|0}y=F+(r+-2<<2)|0;s[y>>2]=(s[y>>2]|0)-(s[F+(r<<2)>>2]<<1);r=r+1|0}while(1){if((r|0)>(B|0))break;else a=B;while(1){if((a|0)<=(r|0))break;y=q+(a+-2<<2)|0;s[y>>2]=(s[y>>2]|0)-(s[q+(a<<2)>>2]|0);a=a+-1|0}y=q+(r+-2<<2)|0;s[y>>2]=(s[y>>2]|0)-(s[q+(r<<2)>>2]<<1);r=r+1|0}r=s[U>>2]|0;t:do if(L)r=(s[F>>2]|0)+((s[x>>2]|0)+((s[T>>2]|0)+((s[M>>2]|0)+((s[S>>2]|0)+((s[A>>2]|0)+((s[E>>2]|0)+((s[k>>2]|0)+(r<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;else{t=B;while(1){a=t+-1|0;if((t|0)<=0)break t;t=a;r=(s[F+(a<<2)>>2]|0)+(r<<1)|0}}while(0);if((r|0)>=0){y=c;a=F;t=0;continue}n[e>>1]=0;r=s[j>>2]|0;if(L){y=c;a=q;t=1;r=(s[q>>2]|0)+((s[D>>2]|0)+((s[N>>2]|0)+((s[O>>2]|0)+((s[P>>2]|0)+((s[C>>2]|0)+((s[I>>2]|0)+((s[R>>2]|0)+(r<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;continue}else t=B;while(1){a=t+-1|0;if((t|0)<=0){y=c;a=q;t=1;continue e}t=a;r=(s[q+(a<<2)>>2]|0)+(r<<1)|0}}if((G|0)==77){l=V;return}r=32768/(i+1|0)|0;n[e>>1]=r;a=1;while(1){if((a|0)>=(i|0))break;G=(r&65535)+(o[e>>1]|0)|0;n[e+(a<<1)>>1]=G;r=G;a=a+1|0}l=V;return}function er(e,t,i,a,o,f){e=e|0;t=t|0;i=i|0;a=a|0;o=o|0;f=f|0;var c=0,u=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0;I=l;l=l+1008|0;R=I+360|0;E=I+48|0;T=I+296|0;M=I+256|0;k=I+64|0;S=I+32|0;x=I+16|0;A=I;y=s[e+4672>>2]|0;b=e+4728|0;v=0;while(1){if((v|0)>=(y|0)){m=0;break}m=s[b>>2]|0;w=v*24|0;_=0;while(1){if((_|0)>=(m|0))break;g=w+_|0;c=+h[t+244+(g<<2)>>2]*8192;u=(h[d>>2]=c,s[d>>2]|0);if((u&2130706432)>>>0<=1249902592){u=(u|0)<0;c=u?c+-8388608+8388608:c+8388608+-8388608;if(c==0)c=u?-0:0}n[k+(g<<1)>>1]=~~c;_=_+1|0}v=v+1|0}while(1){if((m|0)>=(y|0))break;c=+h[t+644+(m<<2)>>2]*16384;u=(h[d>>2]=c,s[d>>2]|0);if((u&2130706432)>>>0<=1249902592){u=(u|0)<0;c=u?c+-8388608+8388608:c+8388608+-8388608;if(c==0)c=u?-0:0}b=~~c<<16;c=+h[t+628+(m<<2)>>2]*16384;u=(h[d>>2]=c,s[d>>2]|0);if((u&2130706432)>>>0<=1249902592){u=(u|0)<0;c=u?c+-8388608+8388608:c+8388608+-8388608;if(c==0)c=u?-0:0}s[S+(m<<2)>>2]=b|~~c&65535;c=+h[t+660+(m<<2)>>2]*16384;u=(h[d>>2]=c,s[d>>2]|0);if((u&2130706432)>>>0<=1249902592){u=(u|0)<0;c=u?c+-8388608+8388608:c+8388608+-8388608;if(c==0)c=u?-0:0}s[x+(m<<2)>>2]=~~c;c=+h[t+676+(m<<2)>>2]*16384;u=(h[d>>2]=c,s[d>>2]|0);if((u&2130706432)>>>0<=1249902592){u=(u|0)<0;c=u?c+-8388608+8388608:c+8388608+-8388608;if(c==0)c=u?-0:0}s[A+(m<<2)>>2]=~~c;m=m+1|0}c=+h[t+692>>2]*1024;u=(h[d>>2]=c,s[d>>2]|0);if((u&2130706432)>>>0<=1249902592){u=(u|0)<0;c=u?c+-8388608+8388608:c+8388608+-8388608;if(c==0)c=u?-0:0}b=y*5|0;m=0;while(1){if((m|0)>=(b|0))break;p=+h[t+144+(m<<2)>>2]*16384;u=(h[d>>2]=p,s[d>>2]|0);if((u&2130706432)>>>0<=1249902592){u=(u|0)<0;p=u?p+-8388608+8388608:p+8388608+-8388608;if(p==0)p=u?-0:0}n[M+(m<<1)>>1]=~~p;m=m+1|0}v=~~c;b=e+4732|0;g=0;while(1){if((g|0)==2){b=0;break}m=s[b>>2]|0;w=0;while(1){if((w|0)>=(m|0))break;c=+h[t+16+(g<<6)+(w<<2)>>2]*4096;u=(h[d>>2]=c,s[d>>2]|0);if((u&2130706432)>>>0<=1249902592){u=(u|0)<0;c=u?c+-8388608+8388608:c+8388608+-8388608;if(c==0)c=u?-0:0}n[T+(g<<5)+(w<<1)>>1]=~~c;w=w+1|0}g=g+1|0}while(1){if((b|0)>=(y|0))break;c=+h[t+(b<<2)>>2]*65536;u=(h[d>>2]=c,s[d>>2]|0);if((u&2130706432)>>>0<=1249902592){u=(u|0)<0;c=u?c+-8388608+8388608:c+8388608+-8388608;if(c==0)c=u?-0:0}s[E+(b<<2)>>2]=~~c;b=b+1|0}if((r[i+29>>0]|0)==2)m=n[25412+(r[i+33>>0]<<1)>>1]|0;else m=0;b=s[e+4676>>2]|0;w=0;while(1){if((w|0)>=(b|0))break;c=+h[f+(w<<2)>>2];u=(h[d>>2]=c,s[d>>2]|0);if((u&2130706432)>>>0<=1249902592){u=(u|0)<0;c=u?c+-8388608+8388608:c+8388608+-8388608;if(c==0)c=u?-0:0}n[R+(w<<1)>>1]=~~c;w=w+1|0}if((s[e+4720>>2]|0)<=1?(s[e+4764>>2]|0)<=0:0){gr(e,a,i,R,o,T,M,k,A,x,S,E,t+228|0,v,m);l=I;return}vr(e,a,i,R,o,T,M,k,A,x,S,E,t+228|0,v,m);l=I;return}function tr(e,t){e=e|0;t=t|0;var i=0,r=0,n=0,s=0,a=0,o=0,f=0,c=0;n=t+-3|0;r=((n|0)>0?n:0)+3&-4;s=0;i=0;while(1){if((s|0)>=(n|0))break;c=+h[e+(s<<2)>>2];f=+h[e+((s|1)<<2)>>2];o=+h[e+((s|2)<<2)>>2];a=+h[e+((s|3)<<2)>>2];s=s+4|0;i=i+(c*c+f*f+o*o+a*a)}while(1){if((r|0)>=(t|0))break;c=+h[e+(r<<2)>>2];r=r+1|0;i=i+c*c}return+i}function ir(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,n=0,s=0,a=0,o=0,f=0,c=0,l=0;s=i+-3|0;n=((s|0)>0?s:0)+3&-4;a=0;r=0;while(1){if((a|0)>=(s|0))break;l=a|1;c=a|2;f=a|3;o=r+(+h[e+(a<<2)>>2]*+h[t+(a<<2)>>2]+ +h[e+(l<<2)>>2]*+h[t+(l<<2)>>2]+ +h[e+(c<<2)>>2]*+h[t+(c<<2)>>2]+ +h[e+(f<<2)>>2]*+h[t+(f<<2)>>2]);a=a+4|0;r=o}while(1){if((n|0)>=(i|0))break;o=r+ +h[e+(n<<2)>>2]*+h[t+(n<<2)>>2];n=n+1|0;r=o}return+r}function rr(e,t,i,o,f,h,c,l){e=e|0;t=t|0;i=i|0;o=o|0;f=f|0;h=h|0;c=c|0;l=l|0;var u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0;if((h|0)==0|(t|0)<0){h=-1;return h|0}if(!t){h=-4;return h|0}G=r[e>>0]|0;do if(G<<24>>24>=0){if((G&96)==96){p=(G&8)==0?480:960;break}d=(G&255)>>>3&3;if((d|0)==3)p=2880;else p=(48e3<>>0)/100|0}else p=(48e3<<((G&255)>>>3&3)>>>0)/400|0;while(0);m=e+1|0;E=t+-1|0;e:do switch(G&3|0){case 0:{x=m;R=E;I=0;C=1;b=E;M=0;_=47;break}case 1:{if(!i)if(!(E&1)){N=(E|0)/2|0;n[h>>1]=N;P=m;O=2;D=0;_=61;break e}else{h=-4;return h|0}else{j=m;U=E;F=1;q=2;z=E;H=0;_=48}break}case 2:{if((t|0)<2){n[h>>1]=-1;h=-4;return h|0}d=r[m>>0]|0;do if((d&255)<252){p=1;d=d&255}else{if((t|0)>=3){p=2;d=(a[e+2>>0]<<2)+(d&255)&65535;break}n[h>>1]=-1;h=-4;return h|0}while(0);n[h>>1]=d;t=E-p|0;d=d<<16>>16;if((t|0)<(d|0)){h=-4;return h|0}else{x=m+p|0;R=t;I=0;C=2;b=t-d|0;M=0;_=47;break e}}default:{if((t|0)<2){h=-4;return h|0}d=e+2|0;v=r[m>>0]|0;T=v&63;if((T|0)==0|(te(p,T)|0)>>>0>5760){h=-4;return h|0}p=t+-2|0;if(v&64){m=0;while(1){if((p|0)<1){A=-4;_=74;break}g=d+1|0;w=r[d>>0]|0;if(w<<24>>24!=-1)break;d=g;p=p+-255|0;m=m+254|0}if((_|0)==74)return A|0;t=w&255;d=p+-1-t|0;if((d|0)<0){h=-4;return h|0}else{w=d;k=m+t|0}}else{g=d;w=p;k=0}_=(v&255)>>>7;y=_&255^1;if(_<<24>>24!=1){if(i|0){j=g;U=w;F=y;q=T;z=E;H=k;_=48;break e}b=(w|0)/(T|0)|0;if((te(b,T)|0)!=(w|0)){h=-4;return h|0}d=T+-1|0;p=b&65535;t=0;while(1){if((t|0)>=(d|0)){x=g;R=w;I=y;C=T;M=k;_=47;break e}n[h+(t<<1)>>1]=p;t=t+1|0}}_=T+-1|0;v=w;m=0;while(1){if((m|0)>=(_|0)){_=41;break}S=h+(m<<1)|0;if((v|0)<1){_=33;break}d=r[g>>0]|0;if((d&255)<252){d=d&255;n[S>>1]=d;p=1}else{if((v|0)<2){_=37;break}d=(a[g+1>>0]<<2)+(d&255)&65535;n[S>>1]=d;p=2}t=v-p|0;d=d<<16>>16;if((d|0)>(t|0)){A=-4;_=74;break}g=g+p|0;v=t;m=m+1|0;w=w-(p+d)|0}if((_|0)==33){n[S>>1]=-1;h=-4;return h|0}else if((_|0)==37){n[S>>1]=-1;h=-4;return h|0}else if((_|0)==41){if((w|0)<0)A=-4;else{x=g;R=v;I=y;C=T;b=w;M=k;_=47;break e}return A|0}else if((_|0)==74)return A|0}}while(0);if((_|0)==47)if(!i){P=x;O=C;N=b;D=M;_=61}else{j=x;U=R;F=I;q=C;z=b;H=M;_=48}e:do if((_|0)==48){u=h+(q<<1)+-2|0;if((U|0)<1){n[u>>1]=-1;h=-4;return h|0}d=r[j>>0]|0;do if((d&255)<252){B=d&255;n[u>>1]=B;t=1;u=B}else{if((U|0)>=2){B=(a[j+1>>0]<<2)+(d&255)&65535;n[u>>1]=B;t=2;u=B;break}n[u>>1]=-1;h=-4;return h|0}while(0);p=U-t|0;b=q+-1|0;m=h+(b<<1)|0;d=u<<16>>16;if((d|0)>(p|0)){h=-4;return h|0}u=j+t|0;if(!F){if((t+d|0)>(z|0))A=-4;else{L=q;B=H;break}return A|0}if((te(d,q)|0)>(p|0)){h=-4;return h|0}else d=0;while(1){if((d|0)>=(b|0)){L=q;B=H;break e}n[h+(d<<1)>>1]=n[m>>1]|0;d=d+1|0}}else if((_|0)==61)if((N|0)>1275){h=-4;return h|0}else{n[h+(O+-1<<1)>>1]=N;u=P;L=O;B=D;break}while(0);if(c|0)s[c>>2]=u-e;p=(f|0)==0;d=0;while(1){if((d|0)>=(L|0))break;if(!p)s[f+(d<<2)>>2]=u;u=u+(n[h+(d<<1)>>1]|0)|0;d=d+1|0}if(l|0)s[l>>2]=B+(u-e);if(!o){h=L;return h|0}r[o>>0]=G;h=L;return h|0}function nr(e,t,i,r,s,a,o,f,c,l){e=e|0;t=t|0;i=i|0;r=r|0;s=s|0;a=a|0;o=o|0;f=f|0;c=c|0;l=l|0;var u=0,d=0,p=0,b=0,m=0;m=te(t,f)|0;t=te(n[e+(o<<1)>>1]|0,f)|0;if((c|0)!=1){b=(m|0)/(c|0)|0;t=(t|0)<(b|0)?t:b}p=(l|0)==0;b=p?o:0;u=p?a:0;p=p?t:0;c=e+(u<<1)|0;t=n[c>>1]|0;a=te(t<<16>>16,f)|0;o=r;l=0;while(1){if((l|0)>=(te(t<<16>>16,f)|0))break;h[o>>2]=0;t=n[c>>1]|0;o=o+4|0;l=l+1|0}t=u;c=i+(a<<2)|0;e:while(1){if((t|0)>=(b|0))break;l=te(n[e+(t<<1)>>1]|0,f)|0;u=t+1|0;i=te(n[e+(u<<1)>>1]|0,f)|0;d=+J(+((+h[s+(t<<2)>>2]+ +h[17220+(t<<2)>>2])*.6931471805599453));a=o;t=l;l=c;while(1){c=l+4|0;o=a+4|0;h[a>>2]=+h[l>>2]*d;t=t+1|0;if((t|0)<(i|0)){a=o;l=c}else{t=u;continue e}}}kn(r+(p<<2)|0,0,m-p<<2|0)|0;return}function sr(e,t,i,o,f,c,u,d,p,b,m,w,g,v,_,y,k,E,A,S,M,T){e=e|0;t=t|0;i=i|0;o=o|0;f=f|0;c=c|0;u=u|0;d=d|0;p=p|0;b=b|0;m=m|0;w=w|0;g=g|0;v=v|0;_=_|0;y=y|0;k=k|0;E=E|0;A=A|0;S=S|0;M=M|0;T=T|0;var x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0,J=0,Q=0,ee=0,ie=0,ne=0,se=0,ae=0,oe=0,fe=0,he=0,ce=0,le=0,ue=0,de=0,pe=0,be=0,me=0,we=0,ge=0,ve=0,_e=0,ye=0,ke=0,Ee=0,Ae=0,Se=0,Me=0,Te=0,xe=0,Re=0,Ie=0,Ce=0,Pe=0,Oe=0,Ne=0,De=0,Le=0,Be=0,Ue=0,je=0,Fe=0,ze=0;Fe=l;l=l+1520|0;Ne=Fe+192|0;Be=Fe+24|0;Ue=Fe;je=Fe+144|0;De=Fe+92|0;Le=Fe+40|0;Oe=Fe+244|0;Re=s[t+32>>2]|0;Pe=c|0?2:1;R=(e|0)==0;if(R){Te=0;xe=1}else{Se=(c|0)!=0&(w|0)==0;xe=(M|0)>7;Te=Se&xe;xe=Se&xe}ve=(b|0)==0?1:1<>1]<>2]|0;b=n[Re+(M+-1<<1)>>1]|0;x=b<>1]|0)-b<>2]=d;s[Ne+28>>2]=k;s[Ne>>2]=e;s[Ne+16>>2]=g;s[Ne+8>>2]=t;de=Ne+40|0;s[de>>2]=s[S>>2];s[Ne+20>>2]=m;s[Ne+44>>2]=T;s[Ne+4>>2]=xe&1;se=Ne+48|0;s[se>>2]=0;ae=Ne+12|0;oe=o+-1|0;fe=(c|0)==0;he=k+20|0;ce=k+28|0;le=Ne+32|0;ue=Ne+24|0;X=t+12|0;J=(1<1;$=i;T=0;x=1;while(1){if(($|0)>=(o|0))break;s[ae>>2]=$;H=($|0)==(oe|0);G=Re+($<<1)|0;Y=n[G>>1]<>1]<>2]|0;M=32-(re(V|0)|0)|0;V=V>>>(M+-16|0);Z=(V>>>12)+-8|0;Z=(s[he>>2]<<3)-((M<<3)+(Z+(V>>>0>(s[5272+(Z<<2)>>2]|0)>>>0&1)))|0;V=y-(($|0)==(i|0)?0:Z)|0;M=_-Z|0;s[le>>2]=M+-1;if(($|0)<(A|0)?(Ie=A-$|0,Ie=(s[p+($<<2)>>2]|0)+((V|0)/(((Ie|0)>3?3:Ie)|0)|0)|0,Ce=(M|0)<(Ie|0),!(((Ce?M:Ie)|0)<16384&((Ce?M:Ie)|0)<0)):0)W=((Ce?M:Ie)|0)>16383?16383:Ce?M:Ie;else W=0;if(xe?((n[G>>1]<=(n[_e>>1]<>2]|0;s[ue>>2]=U;q=($|0)<(s[X>>2]|0);b=q?b:0;z=q?R:Ee;q=q?e:fe?0:Ee;b=H?Te?b:0:b;if((T|0)!=0?(m|0)!=3|ne|(U|0)<0:0){t=(n[Re+(T<<1)>>1]<>1]<(M|0));M=M+Y|0;e=T+-1|0;while(1){x=e+1|0;if((n[Re+(x<<1)>>1]<>0];x=x|a[u+(U+Pe+-1)>>0];if((R|0)<(e|0))R=R+1|0;else{R=M;P=x;break}}}else{t=-1;R=J;P=J}e:do if(w)if(($|0)==(g|0)){if(!xe){Me=31;break}M=Re+(g<<1)|0;x=0;while(1){if((x|0)>=((n[M>>1]<>2]=(+h[Me>>2]+ +h[Se+(x<<2)>>2])*.5;x=x+1|0}}else{y=(W|0)/2|0;x=(t|0)==-1;M=x?0:Ee+(t<<2)|0;if(H){M=ar(Ne,z,Y,y,ve,M,E,0,1,b,R)|0;R=x?0:Se+(t<<2)|0;x=0}else{M=ar(Ne,z,Y,y,ve,M,E,Ee+(n[G>>1]<>1]<>1]<>2]=0;if(H)M=0;else M=Ee+(n[G>>1]<>2];F=+h[d+($+(s[ke>>2]|0)<<2)>>2];N=(j>2]|0;w=s[Q>>2]|0;s[Be>>2]=s[ee>>2];s[Be+4>>2]=s[ee+4>>2];s[Be+8>>2]=s[ee+8>>2];s[Be+12>>2]=s[ee+12>>2];y=s[ie>>2]|0;s[Ue>>2]=s[ce>>2];s[Ue+4>>2]=s[ce+4>>2];s[Ue+8>>2]=s[ce+8>>2];s[Ue+12>>2]=s[ce+12>>2];s[Ue+16>>2]=s[ce+16>>2];M=De;x=Ne;R=M+52|0;do{s[M>>2]=s[x>>2];M=M+4|0;x=x+4|0}while((M|0)<(R|0));B=Y<<2;Mn(pe|0,z|0,B|0)|0;Mn(be|0,q|0,B|0)|0;s[se>>2]=-1;O=(t|0)==-1;if(H)M=0;else M=Ee+(n[G>>1]<=(Y|0)){M=0;I=0;break}N=C+ +h[pe+(M<<2)>>2]*+h[z+(M<<2)>>2];M=M+1|0;C=N}while(1){if((M|0)>=(Y|0))break;N=I+ +h[be+(M<<2)>>2]*+h[q+(M<<2)>>2];M=M+1|0;I=N}N=j*C+F*I;M=je;x=k;R=M+48|0;do{s[M>>2]=s[x>>2];M=M+4|0;x=x+4|0}while((M|0)<(R|0));M=Le;x=Ne;R=M+52|0;do{s[M>>2]=s[x>>2];M=M+4|0;x=x+4|0}while((M|0)<(R|0));Mn(me|0,z|0,B|0)|0;Mn(we|0,q|0,B|0)|0;if(!H)Mn(ge|0,Ee+(n[G>>1]<>2]=e;s[Q>>2]=w;s[ee>>2]=s[Be>>2];s[ee+4>>2]=s[Be+4>>2];s[ee+8>>2]=s[Be+8>>2];s[ee+12>>2]=s[Be+12>>2];s[ie>>2]=y;s[ce>>2]=s[Ue>>2];s[ce+4>>2]=s[Ue+4>>2];s[ce+8>>2]=s[Ue+8>>2];s[ce+12>>2]=s[Ue+12>>2];s[ce+16>>2]=s[Ue+16>>2];M=Ne;x=De;R=M+48|0;do{s[M>>2]=s[x>>2];M=M+4|0;x=x+4|0}while((M|0)<(R|0));Mn(z|0,pe|0,B|0)|0;Mn(q|0,be|0,B|0)|0;s[se>>2]=1;if(H)M=0;else M=Ee+(n[G>>1]<=(Y|0)){M=0;I=0;break}I=C+ +h[pe+(M<<2)>>2]*+h[z+(M<<2)>>2];M=M+1|0;C=I}while(1){if((M|0)>=(Y|0))break;ze=I+ +h[be+(M<<2)>>2]*+h[q+(M<<2)>>2];M=M+1|0;I=ze}if(!(N>=j*C+F*I)){w=0;e=x;M=x}else{M=k;x=je;R=M+48|0;do{s[M>>2]=s[x>>2];M=M+4|0;x=x+4|0}while((M|0)<(R|0));M=Ne;x=Le;R=M+52|0;do{s[M>>2]=s[x>>2];M=M+4|0;x=x+4|0}while((M|0)<(R|0));Mn(z|0,me|0,B|0)|0;Mn(q|0,we|0,B|0)|0;if(!H)Mn(Ee+(n[G>>1]<>0]=e;r[u+(y+Pe+-1)>>0]=M;y=V+((s[p+($<<2)>>2]|0)+Z)|0;$=K;x=(W|0)>(Y<<3|0)&1}s[S>>2]=s[de>>2];l=Fe;return}function ar(e,t,i,n,o,f,c,l,u,d,p){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;f=f|0;c=c|0;l=l|0;u=+u;d=d|0;p=p|0;var b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0;b=s[e>>2]|0;y=s[e+24>>2]|0;A=(o|0)==1&1;_=(i>>>0)/(o>>>0)|0;if((i|0)==1){k=s[e+28>>2]|0;S=e+32|0;E=k+12|0;c=k+16|0;n=k+20|0;y=k+8|0;o=k+4|0;g=k+24|0;v=k+44|0;A=e+4|0;if((s[S>>2]|0)>7){if(!b){d=s[E>>2]|0;f=s[c>>2]|0;if(!f){b=s[o>>2]|0;p=s[y>>2]|0;m=0;do{if(p>>>0>>0){f=p+1|0;s[y>>2]=f;p=f;f=a[(s[k>>2]|0)+(b-f)>>0]|0}else f=0;d=d|f<>>1}else{_=+h[t>>2]<0&1;d=s[E>>2]|0;b=s[c>>2]|0;if((b+1|0)>>>0>32){m=7-b|0;m=b+((m|0)>-8?m:-8)&-8;w=b;do{f=s[y>>2]|0;p=s[o>>2]|0;if(((s[g>>2]|0)+f|0)>>>0

>>0){f=f+1|0;s[y>>2]=f;r[(s[k>>2]|0)+(p-f)>>0]=d;f=0}else f=-1;s[v>>2]=s[v>>2]|f;d=d>>>8;w=w+-8|0}while((w|0)>7);b=b+-8-m|0}f=_;p=b+1|0;d=d|_<>2]=d;s[c>>2]=p;s[n>>2]=(s[n>>2]|0)+1;s[S>>2]=(s[S>>2]|0)+-8}else f=0;if(s[A>>2]|0)h[t>>2]=f|0?-1:1;if(!l){l=1;return l|0}s[l>>2]=s[t>>2];l=1;return l|0}S=(y|0)>0?y:0;do if(d)if(!f)d=0;else{if((S|0)==0?!((_&1|0)==0&(y|0)<0|(o|0)>1):0){d=f;break}Mn(d|0,f|0,i<<2|0)|0}else d=f;while(0);k=(b|0)==0;E=(d|0)==0;v=0;while(1){if((v|0)>=(S|0))break;e:do if(!k){f=1<>v>>1;m=f<<1;w=0;while(1){if((w|0)<(f|0))g=0;else break e;while(1){if((g|0)>=(b|0))break;R=t+((te(m,g)|0)+w<<2)|0;x=+h[R>>2]*.7071067690849304;M=t+(((g<<1|1)<>2]*.7071067690849304;h[R>>2]=x+T;h[M>>2]=x-T;g=g+1|0}w=w+1|0}}while(0);e:do if(!E){f=1<>v>>1;m=f<<1;w=0;while(1){if((w|0)<(f|0))g=0;else break e;while(1){if((g|0)>=(b|0))break;M=d+((te(m,g)|0)+w<<2)|0;T=+h[M>>2]*.7071067690849304;R=d+(((g<<1|1)<>2]*.7071067690849304;h[M>>2]=T+x;h[R>>2]=T-x;g=g+1|0}w=w+1|0}}while(0);p=a[31165+(p&15)>>0]|0|(a[31165+(p>>4)>>0]|0)<<2;v=v+1|0}o=o>>S;v=p;f=_<>1;b=o<<1;m=0;while(1){if((m|0)<(o|0))w=0;else break e;while(1){if((w|0)>=(p|0))break;M=t+((te(b,w)|0)+m<<2)|0;T=+h[M>>2]*.7071067690849304;R=t+((te(w<<1|1,o)|0)+m<<2)|0;x=+h[R>>2]*.7071067690849304;h[M>>2]=T+x;h[R>>2]=T-x;w=w+1|0}m=m+1|0}}while(0);e:do if(E){f=f>>1;p=o<<1}else{f=f>>1;p=o<<1;b=0;while(1){if((b|0)<(o|0))m=0;else break e;while(1){if((m|0)>=(f|0))break;M=d+((te(p,m)|0)+b<<2)|0;T=+h[M>>2]*.7071067690849304;R=d+((te(m<<1|1,o)|0)+b<<2)|0;x=+h[R>>2]*.7071067690849304;h[M>>2]=T+x;h[R>>2]=T-x;m=m+1|0}b=b+1|0}}while(0);R=v|v<1;if(b){if(!k)or(t,f>>S,o<>S,o<>2]|0)){R=p;return R|0}if(b){cr(t,f>>S,o<=(_|0)){g=0;break}g=o>>1;f=f<<1;d=f>>1;b=g<<1;m=0;while(1){if((m|0)<(g|0))w=0;else break;while(1){if((w|0)>=(d|0))break;M=t+((te(b,w)|0)+m<<2)|0;T=+h[M>>2]*.7071067690849304;R=t+((te(w<<1|1,g)|0)+m<<2)|0;x=+h[R>>2]*.7071067690849304;h[M>>2]=T+x;h[R>>2]=T-x;w=w+1|0}m=m+1|0}o=g;p=p|p>>>g;v=v+1|0}while(1){if((g|0)>=(S|0))break;f=r[31181+p>>0]|0;d=1<>g>>1;b=d<<1;m=0;while(1){if((m|0)<(d|0))w=0;else break;while(1){if((w|0)>=(p|0))break;M=t+((te(b,w)|0)+m<<2)|0;T=+h[M>>2]*.7071067690849304;R=t+(((w<<1|1)<>2]*.7071067690849304;h[M>>2]=T+x;h[R>>2]=T-x;w=w+1|0}m=m+1|0}p=f&255;g=g+1|0}f=o<=(i|0))break e;h[l+(d<<2)>>2]=u*+h[t+(d<<2)>>2];d=d+1|0}}while(0);R=p&(1<=(i|0))break;r=te(n,t)|0;a=0;while(1){if((a|0)>=(t|0))break;s[h+(r+a<<2)>>2]=s[e+((te(a,i)|0)+n<<2)>>2];a=a+1|0}n=n+1|0}i=f<<2;Mn(e|0,h|0,i|0)|0;l=c;return}r=17628+(i<<2)+-8|0;a=0;while(1){if((a|0)>=(i|0))break;n=r+(a<<2)|0;o=0;while(1){if((o|0)>=(t|0))break;u=s[e+((te(o,i)|0)+a<<2)>>2]|0;s[h+((te(s[n>>2]|0,t)|0)+o<<2)>>2]=u;o=o+1|0}a=a+1|0}u=f<<2;Mn(e|0,h|0,u|0)|0;l=c;return}function fr(e,t,i,o,f,c,u,d,p){e=e|0;t=t|0;i=i|0;o=o|0;f=f|0;c=c|0;u=u|0;d=+d;p=p|0;var b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0;I=l;l=l+32|0;S=I+28|0;R=I+24|0;w=I;s[S>>2]=o;s[R>>2]=p;T=s[e>>2]|0;E=s[e+8>>2]|0;A=s[e+12>>2]|0;x=s[e+20>>2]|0;M=s[e+28>>2]|0;v=E+100|0;_=u+1|0;k=E+8|0;g=(te(_,s[k>>2]|0)|0)+A|0;E=E+96|0;g=(s[v>>2]|0)+(n[(s[E>>2]|0)+(g<<1)>>1]|0)|0;m=r[g>>0]|0;if((u|0)!=-1?(i|0)>2?((a[g+(m&255)>>0]|0)+12|0)<(o|0):0:0){k=i>>1;E=t+(k<<2)|0;A=u+-1|0;if((f|0)==1)s[R>>2]=p&1|p<<1;v=f+1>>1;hr(e,w,t,E,k,S,v,f,A,0,R);o=s[w+12>>2]|0;_=s[w+16>>2]|0;m=s[w+20>>2]|0;y=+(s[w+4>>2]|0)*30517578125e-15;b=+(s[w+8>>2]|0)*30517578125e-15;do if(!((f|0)<2|(_&16383|0)==0))if((_|0)>8192){o=o-(o>>5-u)|0;break}else{o=o+(k<<3>>6-u)|0;o=(o|0)>0?0:o;break}while(0);u=s[S>>2]|0;w=(u-o|0)/2|0;g=(u|0)<(w|0);w=((g?u:w)|0)<0?0:g?u:w;u=u-w|0;g=e+32|0;m=(s[g>>2]|0)-m|0;s[g>>2]=m;o=(c|0)==0?0:c+(k<<2)|0;if((w|0)<(u|0)){R=s[R>>2]|0;i=(fr(e,E,k,u,v,o,A,b*d,R>>v)|0)<<(f>>1);f=u+((s[g>>2]|0)-m)|0;c=i|(fr(e,t,k,w+((f|0)<25|(_|0)==16384?0:f+-24|0)|0,v,c,A,y*d,R)|0);l=I;return c|0}else{R=s[R>>2]|0;i=fr(e,t,k,w,v,c,A,y*d,R)|0;c=w+((s[g>>2]|0)-m)|0;c=i|(fr(e,E,k,u+((c|0)<25|(_|0)==0?0:c+-24|0)|0,v,o,A,b*d,R>>v)|0)<<(f>>1);l=I;return c|0}}u=o+-1|0;m=m&255;o=0;w=0;while(1){if((o|0)==6)break;S=w+m+1>>1;C=(a[g+S>>0]|0)<(u|0);m=C?m:S;o=o+1|0;w=C?S:w}if(!w)o=-1;else o=a[g+w>>0]|0;o=(u-o|0)>((a[g+m>>0]|0)-u|0)?m:w;if(!o)m=0;else m=(a[g+o>>0]|0)+1|0;u=e+32|0;g=m;m=(s[u>>2]|0)-m|0;while(1){s[u>>2]=m;if(!((m|0)<0&(o|0)>0))break;m=m+g|0;s[u>>2]=m;o=o+-1|0;if(!o)w=0;else w=(a[(s[v>>2]|0)+(n[(s[E>>2]|0)+((te(_,s[k>>2]|0)|0)+A<<1)>>1]|0)+o>>0]|0)+1|0;g=w;m=m-w|0}if(o|0){if((o|0)>=8)o=(o&7|8)<<(o>>3)+-1;if(!T){C=Ci(t,i,o,x,f,M,d)|0;l=I;return C|0}else{C=Ri(t,i,o,x,f,M,d,s[e+4>>2]|0)|0;l=I;return C|0}}if(!(s[e+4>>2]|0)){C=0;l=I;return C|0}o=(1<>2]=m;if(!m){kn(t|0,0,i<<2|0)|0;C=0;l=I;return C|0}w=e+40|0;e:do if(!c){m=0;while(1){if((m|0)>=(i|0))break e;C=(te(s[w>>2]|0,1664525)|0)+1013904223|0;s[w>>2]=C;h[t+(m<<2)>>2]=+(C>>20|0);m=m+1|0}}else{o=0;while(1){if((o|0)>=(i|0)){o=m;break e}C=(te(s[w>>2]|0,1664525)|0)+1013904223|0;s[w>>2]=C;h[t+(o<<2)>>2]=+h[c+(o<<2)>>2]+((C&32768|0)==0?-.00390625:.00390625);o=o+1|0}}while(0);m=0;b=0;while(1){if((m|0)>=(i|0))break;y=+h[t+(m<<2)>>2];m=m+1|0;b=b+y*y}b=1/+H(+(b+1.0000000036274937e-15))*d;m=0;while(1){if((m|0)>=(i|0))break;h[t>>2]=b*+h[t>>2];m=m+1|0;t=t+4|0}l=I;return o|0}function hr(e,t,i,o,f,c,l,u,d,p,b){e=e|0;t=t|0;i=i|0;o=o|0;f=f|0;c=c|0;l=l|0;u=u|0;d=d|0;p=p|0;b=b|0;var m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,q=0,G=0,V=0;E=s[e>>2]|0;L=s[e+8>>2]|0;B=s[e+12>>2]|0;_=s[e+16>>2]|0;G=s[e+28>>2]|0;D=s[e+36>>2]|0;v=(n[(s[L+56>>2]|0)+(B<<1)>>1]|0)+(d<<3)|0;d=v>>1;N=(p|0)==0;do if(!N)if((f|0)==2){p=d+-16|0;g=2;break}else{p=d+-4|0;g=(f<<1)+-1|0;break}else{p=d+-4|0;g=(f<<1)+-1|0}while(0);d=s[c>>2]|0;p=((te(g,p)|0)+d|0)/(g|0)|0;q=d-v+-32|0;p=(q|0)<(p|0)?q:p;if((p|0)<=64)if((p|0)<4)p=1;else k=8;else{p=64;k=8}if((k|0)==8)p=(n[25760+((p&7)<<1)>>1]>>14-(p>>3))+1&-2;P=N|(B|0)<(_|0)?p:1;O=(E|0)==0;if(O)p=0;else{e:do if(N){p=0;m=0;while(1){if((p|0)>=(f|0)){p=0;w=0;break}S=+h[i+(p<<2)>>2];p=p+1|0;m=m+S*S}while(1){if((p|0)>=(f|0))break;S=+h[o+(p<<2)>>2];p=p+1|0;w=w+S*S}m=m+1.0000000036274937e-15;w=w+1.0000000036274937e-15}else{m=1.0000000036274937e-15;w=1.0000000036274937e-15;p=0;while(1){if((p|0)>=(f|0))break e;V=+h[i+(p<<2)>>2];S=+h[o+(p<<2)>>2];y=V+S;S=V-S;m=m+y*y;w=w+S*S;p=p+1|0}}while(0);S=+H(+m);y=+H(+w);m=S*S;w=y*y;do if(!(m+w<1.000000045813705e-18))if(m>2]|0;j=C<<3;F=G+28|0;T=s[F>>2]|0;R=32-(re(T|0)|0)|0;I=T>>>(R+-16|0);q=(I>>>12)+-8|0;q=(R<<3)+(q+(I>>>0>(s[5272+(q<<2)>>2]|0)>>>0&1))|0;e:do if((P|0)==1)if(!N){if(O)g=0;else{N=(p|0)>8192;g=N&1;t:do if(N){d=0;while(1){if((d|0)>=(f|0))break t;N=o+(d<<2)|0;h[N>>2]=-+h[N>>2];d=d+1|0}}while(0);m=+h[D+(B<<2)>>2];V=+h[D+((s[L+8>>2]|0)+B<<2)>>2];w=+H(+(m*m+1.0000000036274937e-15+V*V))+1.0000000036274937e-15;m=m/w;w=V/w;d=0;while(1){if((d|0)>=(f|0))break;B=i+(d<<2)|0;h[B>>2]=m*+h[B>>2]+w*+h[o+(d<<2)>>2];d=d+1|0}d=s[c>>2]|0}if((d|0)>16?(s[e+32>>2]|0)>16:0){v=s[F>>2]|0;if(O){u=G+32|0;p=s[u>>2]|0;d=v>>>2;o=p>>>0>>0;g=o&1;if(!o){p=p-d|0;s[u>>2]=p;d=v-d|0}s[F>>2]=d;k=G+40|0;E=G+24|0;A=G+4|0;while(1){if(d>>>0>=8388609){p=0;break e}s[U>>2]=(s[U>>2]|0)+8;d=d<<8;s[F>>2]=d;_=s[k>>2]|0;v=s[E>>2]|0;if(v>>>0<(s[A>>2]|0)>>>0){s[E>>2]=v+1;v=a[(s[G>>2]|0)+v>>0]|0}else v=0;s[k>>2]=v;o=((_<<8|v)>>>1&255|p<<8&2147483392)^255;s[u>>2]=o;p=o}}p=v>>>2;d=v-p|0;T=G+32|0;if(g){s[T>>2]=(s[T>>2]|0)+d;d=p}s[F>>2]=d;k=G+36|0;E=G+40|0;A=G+24|0;u=G+8|0;e=G+4|0;M=G+44|0;while(1){if(d>>>0>=8388609){p=0;break e}p=s[T>>2]|0;_=p>>>23;if((_|0)==255)s[k>>2]=(s[k>>2]|0)+1;else{v=p>>>31;d=s[E>>2]|0;if((d|0)>-1){p=s[A>>2]|0;if((p+(s[u>>2]|0)|0)>>>0<(s[e>>2]|0)>>>0){s[A>>2]=p+1;r[(s[G>>2]|0)+p>>0]=d+v;d=0}else d=-1;s[M>>2]=s[M>>2]|d}d=s[k>>2]|0;if(d|0){v=v+255&255;do{p=s[A>>2]|0;if((p+(s[u>>2]|0)|0)>>>0<(s[e>>2]|0)>>>0){s[A>>2]=p+1;r[(s[G>>2]|0)+p>>0]=v;p=0;d=s[k>>2]|0}else p=-1;s[M>>2]=s[M>>2]|p;d=d+-1|0;s[k>>2]=d}while((d|0)!=0)}s[E>>2]=_&255;p=s[T>>2]|0;d=s[F>>2]|0}s[T>>2]=p<<8&2147483392;d=d<<8;s[F>>2]=d;s[U>>2]=(s[U>>2]|0)+8}}else{g=0;p=0}}else g=0;else{do if(!O){if(!N?(A=s[e+48>>2]|0,A|0):0){p=(te(p,P)|0)+((((p|0)>8192?32767:-32767)|0)/(P|0)|0)|0;I=(p|0)<0;p=((P|0)>((I?0:p>>14)|0)?I?0:p>>14:P+-1|0)+(A>>>31^1)|0;break}p=(te(p,P)|0)+8192>>14}while(0);t:do if((f|0)>2&(N^1)){k=(P|0)/2|0;E=(k*3|0)+3|0;A=E+k|0;if(O){v=(T>>>0)/(A>>>0)|0;s[G+36>>2]=v;e=G+32|0;_=s[e>>2]|0;d=((_>>>0)/(v>>>0)|0)+1|0;d=A-(A>>>0>>0?A:d)|0;if((d|0)<(E|0))p=(d|0)/3|0;else p=k+1+(d-E)|0;d=(p|0)>(k|0);if(d)g=p+-1-k+E|0;else g=p*3|0;E=d?p-k+E|0:(p*3|0)+3|0;A=te(v,A-E|0)|0;k=_-A|0;s[e>>2]=k;E=te(v,E-g|0)|0;g=(g|0)==0?T-A|0:E;s[F>>2]=g;E=G+40|0;A=G+24|0;u=G+4|0;d=C;while(1){if(g>>>0>=8388609)break t;d=d+8|0;s[U>>2]=d;g=g<<8;s[F>>2]=g;_=s[E>>2]|0;v=s[A>>2]|0;if(v>>>0<(s[u>>2]|0)>>>0){s[A>>2]=v+1;v=a[(s[G>>2]|0)+v>>0]|0}else v=0;s[E>>2]=v;C=((_<<8|v)>>>1&255|k<<8&2147483392)^255;s[e>>2]=C;k=C}}d=(p|0)>(k|0);if(d)v=p+-1-k+E|0;else v=p*3|0;d=d?p-k+E|0:(p*3|0)+3|0;g=(T>>>0)/(A>>>0)|0;if(!v){d=T-(te(g,A-d|0)|0)|0;s[F>>2]=d;k=G+32|0}else{I=T-(te(g,A-v|0)|0)|0;k=G+32|0;s[k>>2]=(s[k>>2]|0)+I;d=te(g,d-v|0)|0;s[F>>2]=d}E=G+36|0;A=G+40|0;u=G+24|0;e=G+8|0;M=G+4|0;T=G+44|0;g=C;while(1){if(d>>>0>=8388609)break t;v=s[k>>2]|0;_=v>>>23;if((_|0)==255)s[E>>2]=(s[E>>2]|0)+1;else{v=v>>>31;d=s[A>>2]|0;if((d|0)>-1){g=s[u>>2]|0;if((g+(s[e>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[u>>2]=g+1;r[(s[G>>2]|0)+g>>0]=d+v;d=0}else d=-1;s[T>>2]=s[T>>2]|d}d=s[E>>2]|0;if(d|0){v=v+255&255;do{g=s[u>>2]|0;if((g+(s[e>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[u>>2]=g+1;r[(s[G>>2]|0)+g>>0]=v;g=0;d=s[E>>2]|0}else g=-1;s[T>>2]=s[T>>2]|g;d=d+-1|0;s[E>>2]=d}while((d|0)!=0)}s[A>>2]=_&255;v=s[k>>2]|0;d=s[F>>2]|0;g=s[U>>2]|0}s[k>>2]=v<<8&2147483392;d=d<<8;s[F>>2]=d;g=g+8|0;s[U>>2]=g}}else{if(!((u|0)>1|N^1)){g=P>>1;v=g+1|0;e=te(v,v)|0;if(O){A=(T>>>0)/(e>>>0)|0;s[G+36>>2]=A;M=G+32|0;u=s[M>>2]|0;p=((u>>>0)/(A>>>0)|0)+1|0;p=e>>>0

>>0?e:p;d=e-p|0;if((d|0)<((te(g,v)|0)>>1|0)){d=d<<3|1;_=32-(re(d|0)|0)+-1>>1;v=1<<_;k=0;while(1){p=(k<<1)+v<<_;g=d>>>0

>>0;k=k+(g?0:v)|0;if((_|0)<=0)break;else{d=d-(g?0:p)|0;v=v>>>1;_=_+-1|0}}p=(k+-1|0)>>>1;g=p+1|0;d=(te(p,g)|0)>>>1}else{E=P<<1;d=(p<<3)+-7|0;_=32-(re(d|0)|0)+-1>>1;v=1<<_;k=0;while(1){p=(k<<1)+v<<_;g=d>>>0

>>0;k=k+(g?0:v)|0;if((_|0)<=0)break;else{d=d-(g?0:p)|0;v=v>>>1;_=_+-1|0}}p=(E+2-k|0)>>>1;g=P+1-p|0;d=e-((te(g,P+2-p|0)|0)>>1)|0}E=te(A,e-(d+g)|0)|0;k=u-E|0;s[M>>2]=k;g=te(A,g)|0;g=(d|0)==0?T-E|0:g;s[F>>2]=g;E=G+40|0;A=G+24|0;u=G+4|0;d=C;while(1){if(g>>>0>=8388609)break t;d=d+8|0;s[U>>2]=d;g=g<<8;s[F>>2]=g;_=s[E>>2]|0;v=s[A>>2]|0;if(v>>>0<(s[u>>2]|0)>>>0){s[A>>2]=v+1;v=a[(s[G>>2]|0)+v>>0]|0}else v=0;s[E>>2]=v;C=((_<<8|v)>>>1&255|k<<8&2147483392)^255;s[M>>2]=C;k=C}}I=(p|0)>(g|0);d=I?P+1-p|0:p+1|0;if(I)v=e-((te(P+1-p|0,P+2-p|0)|0)>>1)|0;else v=(te(p,p+1|0)|0)>>1;g=(T>>>0)/(e>>>0)|0;if(!v){d=T-(te(g,e-d|0)|0)|0;s[F>>2]=d;k=G+32|0}else{I=T-(te(g,e-v|0)|0)|0;k=G+32|0;s[k>>2]=(s[k>>2]|0)+I;d=te(g,d)|0;s[F>>2]=d}E=G+36|0;A=G+40|0;u=G+24|0;e=G+8|0;M=G+4|0;T=G+44|0;g=C;while(1){if(d>>>0>=8388609)break t;v=s[k>>2]|0;_=v>>>23;if((_|0)==255)s[E>>2]=(s[E>>2]|0)+1;else{v=v>>>31;d=s[A>>2]|0;if((d|0)>-1){g=s[u>>2]|0;if((g+(s[e>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[u>>2]=g+1;r[(s[G>>2]|0)+g>>0]=d+v;d=0}else d=-1;s[T>>2]=s[T>>2]|d}d=s[E>>2]|0;if(d|0){v=v+255&255;do{g=s[u>>2]|0;if((g+(s[e>>2]|0)|0)>>>0<(s[M>>2]|0)>>>0){s[u>>2]=g+1;r[(s[G>>2]|0)+g>>0]=v;g=0;d=s[E>>2]|0}else g=-1;s[T>>2]=s[T>>2]|g;d=d+-1|0;s[E>>2]=d}while((d|0)!=0)}s[A>>2]=_&255;v=s[k>>2]|0;d=s[F>>2]|0;g=s[U>>2]|0}s[k>>2]=v<<8&2147483392;d=d<<8;s[F>>2]=d;g=g+8|0;s[U>>2]=g}}v=P+1|0;if(O){g=0;p=((ci(G,v)|0)<<14>>>0)/(P>>>0)|0;break e}d=32-(re(P|0)|0)|0;if((d|0)<=8){d=(T>>>0)/(v>>>0)|0;if(!p){d=T-(te(d,P)|0)|0;s[F>>2]=d;T=G+32|0}else{I=T-(te(d,v-p|0)|0)|0;T=G+32|0;s[T>>2]=(s[T>>2]|0)+I;s[F>>2]=d}k=G+36|0;E=G+40|0;A=G+24|0;u=G+8|0;e=G+4|0;M=G+44|0;g=C;while(1){if(d>>>0>=8388609)break t;v=s[T>>2]|0;_=v>>>23;if((_|0)==255)s[k>>2]=(s[k>>2]|0)+1;else{v=v>>>31;d=s[E>>2]|0;if((d|0)>-1){g=s[A>>2]|0;if((g+(s[u>>2]|0)|0)>>>0<(s[e>>2]|0)>>>0){s[A>>2]=g+1;r[(s[G>>2]|0)+g>>0]=d+v;d=0}else d=-1;s[M>>2]=s[M>>2]|d}d=s[k>>2]|0;if(d|0){v=v+255&255;do{g=s[A>>2]|0;if((g+(s[u>>2]|0)|0)>>>0<(s[e>>2]|0)>>>0){s[A>>2]=g+1;r[(s[G>>2]|0)+g>>0]=v;g=0;d=s[k>>2]|0}else g=-1;s[M>>2]=s[M>>2]|g;d=d+-1|0;s[k>>2]=d}while((d|0)!=0)}s[E>>2]=_&255;v=s[T>>2]|0;d=s[F>>2]|0;g=s[U>>2]|0}s[T>>2]=v<<8&2147483392;d=d<<8;s[F>>2]=d;g=g+8|0;s[U>>2]=g}}I=d+-8|0;d=P>>>I;g=d+1|0;v=p>>>I;_=(T>>>0)/(g>>>0)|0;if(!v){_=T-(te(_,d)|0)|0;s[F>>2]=_;u=G+32|0}else{R=T-(te(_,g-v|0)|0)|0;u=G+32|0;s[u>>2]=(s[u>>2]|0)+R;s[F>>2]=_}E=G+36|0;A=G+40|0;M=G+24|0;T=G+8|0;x=G+4|0;R=G+44|0;v=C;while(1){if(_>>>0>=8388609)break;d=s[u>>2]|0;k=d>>>23;if((k|0)==255)s[E>>2]=(s[E>>2]|0)+1;else{v=d>>>31;d=s[A>>2]|0;if((d|0)>-1){g=s[M>>2]|0;if((g+(s[T>>2]|0)|0)>>>0<(s[x>>2]|0)>>>0){s[M>>2]=g+1;r[(s[G>>2]|0)+g>>0]=d+v;d=0}else d=-1;s[R>>2]=s[R>>2]|d}d=s[E>>2]|0;if(d|0){v=v+255&255;do{g=s[M>>2]|0;if((g+(s[T>>2]|0)|0)>>>0<(s[x>>2]|0)>>>0){s[M>>2]=g+1;r[(s[G>>2]|0)+g>>0]=v;g=0;d=s[E>>2]|0}else g=-1;s[R>>2]=s[R>>2]|g;d=d+-1|0;s[E>>2]=d}while((d|0)!=0)}s[A>>2]=k&255;d=s[u>>2]|0;_=s[F>>2]|0;v=s[U>>2]|0}s[u>>2]=d<<8&2147483392;_=_<<8;s[F>>2]=_;v=v+8|0;s[U>>2]=v}A=(1<>2]|0;e=G+16|0;g=s[e>>2]|0;if((g+I|0)>>>0>32){E=7-g|0;E=g+((E|0)>-8?E:-8)&-8;k=g;do{v=s[T>>2]|0;_=s[x>>2]|0;if(((s[M>>2]|0)+v|0)>>>0<_>>>0){v=v+1|0;s[T>>2]=v;r[(s[G>>2]|0)+(_-v)>>0]=d;v=0}else v=-1;s[R>>2]=s[R>>2]|v;d=d>>>8;k=k+-8|0}while((k|0)>7);v=s[U>>2]|0;g=g+-8-E|0}s[u>>2]=d|A<>2]=g+I;s[U>>2]=v+I}while(0);p=(p<<14>>>0)/(P>>>0)|0;if(O|N)g=0;else{if(p|0){d=0;while(1){if((d|0)>=(f|0)){g=0;break e}B=i+(d<<2)|0;V=+h[B>>2]*.7071067690849304;G=o+(d<<2)|0;S=+h[G>>2]*.7071067690849304;h[B>>2]=V+S;h[G>>2]=S-V;d=d+1|0}}m=+h[D+(B<<2)>>2];V=+h[D+((s[L+8>>2]|0)+B<<2)>>2];w=+H(+(m*m+1.0000000036274937e-15+V*V))+1.0000000036274937e-15;m=m/w;w=V/w;d=0;while(1){if((d|0)>=(f|0)){g=0;p=0;break e}G=i+(d<<2)|0;h[G>>2]=m*+h[G>>2]+w*+h[o+(d<<2)>>2];d=d+1|0}}}while(0);G=s[F>>2]|0;F=32-(re(G|0)|0)|0;G=G>>>(F+-16|0);d=(G>>>12)+-8|0;d=(s[U>>2]<<3)-((F<<3)+(d+(G>>>0>(s[5272+(d<<2)>>2]|0)>>>0&1)))+(q-j)|0;s[c>>2]=(s[c>>2]|0)-d;e:do if((p|0)<16384){switch(p|0){case 0:break;default:break e}s[b>>2]=s[b>>2]&(1<>2]=g;b=t+4|0;s[b>>2]=l;b=t+8|0;s[b>>2]=f;b=t+12|0;s[b>>2]=c;b=t+16|0;s[b>>2]=p;t=t+20|0;s[t>>2]=d;return}else{switch(p|0){case 16384:break;default:break e}s[b>>2]=s[b>>2]&(1<>2]=g;b=t+4|0;s[b>>2]=l;b=t+8|0;s[b>>2]=f;b=t+12|0;s[b>>2]=c;b=t+16|0;s[b>>2]=p;t=t+20|0;s[t>>2]=d;return}while(0);q=p<<16>>16;q=((te(q,q)|0)+4096|0)>>>13;l=q<<16>>16;l=(32767-q+(((te(l,(((te(l,(((te(l,-626)|0)+16384|0)>>>15<<16)+542441472>>16)|0)+16384|0)>>>15<<16)+-501415936>>16)|0)+16384|0)>>>15)<<16)+65536>>16;q=16384-p<<16>>16;q=((te(q,q)|0)+4096|0)>>>13;b=q<<16>>16;b=(32767-q+(((te(b,(((te(b,(((te(b,-626)|0)+16384|0)>>>15<<16)+542441472>>16)|0)+16384|0)>>>15<<16)+-501415936>>16)|0)+16384|0)>>>15)<<16)+65536>>16;q=32-(re(l|0)|0)|0;F=32-(re(b|0)|0)|0;G=b<<15-F<<16>>16;c=l<<15-q<<16>>16;c=(te((f<<23)+-8388608>>16,(F-q<<11)+(((te(G,(((te(G,-2597)|0)+16384|0)>>>15<<16)+519831552>>16)|0)+16384|0)>>>15)-(((te(c,(((te(c,-2597)|0)+16384|0)>>>15<<16)+519831552>>16)|0)+16384|0)>>>15)<<16>>16)|0)+16384>>15; -f=b;s[t>>2]=g;b=t+4|0;s[b>>2]=l;b=t+8|0;s[b>>2]=f;b=t+12|0;s[b>>2]=c;b=t+16|0;s[b>>2]=p;t=t+20|0;s[t>>2]=d;return}function cr(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var n=0,a=0,o=0,f=0,h=0,c=0;c=l;f=te(t,i)|0;h=l;l=l+((1*(f<<2)|0)+15&-16)|0;if(!r){n=0;while(1){if((n|0)>=(i|0))break;r=te(n,t)|0;a=0;while(1){if((a|0)>=(t|0))break;s[h+((te(a,i)|0)+n<<2)>>2]=s[e+(r+a<<2)>>2];a=a+1|0}n=n+1|0}i=f<<2;Mn(e|0,h|0,i|0)|0;l=c;return}r=17628+(i<<2)+-8|0;a=0;while(1){if((a|0)>=(i|0))break;n=r+(a<<2)|0;o=0;while(1){if((o|0)>=(t|0))break;s[h+((te(o,i)|0)+a<<2)>>2]=s[e+((te(s[n>>2]|0,t)|0)+o<<2)>>2];o=o+1|0}a=a+1|0}i=f<<2;Mn(e|0,h|0,i|0)|0;l=c;return}function lr(e,t,i,n,o,f,c,u,d,p,b){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;f=f|0;c=c|0;u=u|0;d=d|0;p=p|0;b=b|0;var m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0;U=l;l=l+32|0;m=U+28|0;E=U+24|0;_=U;s[m>>2]=o;s[E>>2]=b;k=s[e>>2]|0;B=s[e+28>>2]|0;if((n|0)==1){c=e+32|0;f=(k|0)==0;u=B+12|0;R=B+16|0;I=B+20|0;C=B+8|0;P=B+4|0;O=B+24|0;b=B+44|0;S=e+4|0;M=i|0?2:1;T=0;x=t;while(1){if((s[c>>2]|0)>7){if(f){m=s[u>>2]|0;o=s[R>>2]|0;if(!o){y=s[P>>2]|0;_=s[C>>2]|0;k=0;do{if(_>>>0>>0){o=_+1|0;s[C>>2]=o;_=o;o=a[(s[B>>2]|0)+(y-o)>>0]|0}else o=0;m=m|o<>>1}else{A=+h[x>>2]<0&1;m=s[u>>2]|0;y=s[R>>2]|0;if((y+1|0)>>>0>32){k=7-y|0;k=y+((k|0)>-8?k:-8)&-8;E=y;do{o=s[C>>2]|0;_=s[P>>2]|0;if(((s[O>>2]|0)+o|0)>>>0<_>>>0){o=o+1|0;s[C>>2]=o;r[(s[B>>2]|0)+(_-o)>>0]=m;o=0}else o=-1;s[b>>2]=s[b>>2]|o;m=m>>>8;E=E+-8|0}while((E|0)>7);y=y+-8-k|0}o=A;_=y+1|0;m=m|A<>2]=m;s[R>>2]=_;s[I>>2]=(s[I>>2]|0)+1;s[c>>2]=(s[c>>2]|0)+-8}else o=0;if(s[S>>2]|0)h[x>>2]=o|0?-1:1;T=T+1|0;if((T|0)>=(M|0))break;else x=i}if(!d){i=1;l=U;return i|0}s[d>>2]=s[t>>2];i=1;l=U;return i|0}hr(e,_,t,i,n,m,f,f,u,1,E);D=s[_>>2]|0;S=s[_+16>>2]|0;A=s[_+20>>2]|0;L=+(s[_+4>>2]|0)*30517578125e-15;w=+(s[_+8>>2]|0)*30517578125e-15;N=(n|0)==2;do if(N){o=s[m>>2]|0;if((S|0)<16384)switch(S|0){case 0:{m=0;break}default:y=26}else switch(S|0){case 16384:{m=0;break}default:y=26}if((y|0)==26)m=8;O=o-m|0;C=(S|0)>8192;P=e+32|0;s[P>>2]=(s[P>>2]|0)-(A+m);P=C?i:t;C=C?t:i;do if(!m)o=0;else{if(!k){A=B+12|0;m=s[A>>2]|0;S=B+16|0;o=s[S>>2]|0;if(!o){k=B+8|0;y=s[B+4>>2]|0;_=s[k>>2]|0;E=0;do{if(_>>>0>>0){_=_+1|0;s[k>>2]=_;o=a[(s[B>>2]|0)+(y-_)>>0]|0}else o=0;m=m|o<>2]=m>>>1;s[S>>2]=o+-1;o=B+20|0;s[o>>2]=(s[o>>2]|0)+1;o=m&1;break}o=+h[P>>2]*+h[C+4>>2]-+h[P+4>>2]*+h[C>>2]<0&1;R=B+12|0;m=s[R>>2]|0;I=B+16|0;_=s[I>>2]|0;if((_+1|0)>>>0>32){E=B+24|0;A=B+8|0;S=B+4|0;M=B+44|0;T=7-_|0;T=_+((T|0)>-8?T:-8)&-8;x=_;do{y=s[A>>2]|0;k=s[S>>2]|0;if(((s[E>>2]|0)+y|0)>>>0>>0){y=y+1|0;s[A>>2]=y;r[(s[B>>2]|0)+(k-y)>>0]=m;y=0}else y=-1;s[M>>2]=s[M>>2]|y;m=m>>>8;x=x+-8|0}while((x|0)>7);_=_+-8-T|0}s[R>>2]=m|o<<_;s[I>>2]=_+1;B=B+20|0;s[B>>2]=(s[B>>2]|0)+1}while(0);B=1-(o<<1)|0;o=ar(e,P,2,O,f,c,u,d,1,p,b)|0;h[C>>2]=+(0-B|0)*+h[P+4>>2];h[C+4>>2]=+(B|0)*+h[P>>2];if(s[e+4>>2]|0){h[t>>2]=L*+h[t>>2];B=t+4|0;h[B>>2]=L*+h[B>>2];g=w*+h[i>>2];h[i>>2]=g;d=i+4|0;h[d>>2]=w*+h[d>>2];v=+h[t>>2];h[t>>2]=v-g;h[i>>2]=v+ +h[i>>2];v=+h[B>>2];h[B>>2]=v-+h[d>>2];h[d>>2]=v+ +h[d>>2]}}else{y=s[m>>2]|0;_=(y-(s[_+12>>2]|0)|0)/2|0;k=(y|0)<(_|0);_=((k?y:_)|0)<0?0:k?y:_;y=y-_|0;k=e+32|0;m=(s[k>>2]|0)-A|0;s[k>>2]=m;o=s[E>>2]|0;if((_|0)<(y|0)){b=ar(e,i,n,y,f,0,u,0,w,0,o>>f)|0;B=y+((s[k>>2]|0)-m)|0;o=b|(ar(e,t,n,_+((B|0)<25|(S|0)==16384?0:B+-24|0)|0,f,c,u,d,1,p,o)|0);break}else{B=ar(e,t,n,_,f,c,u,d,1,p,o)|0;d=_+((s[k>>2]|0)-m)|0;o=B|(ar(e,i,n,y+((d|0)<25|(S|0)==0?0:d+-24|0)|0,f,0,u,0,w,0,o>>f)|0);break}}while(0);if(!(s[e+4>>2]|0)){i=o;l=U;return i|0}e:do if(!N){m=0;w=0;g=0;while(1){if((m|0)>=(n|0))break;v=+h[i+(m<<2)>>2];j=w+v*+h[t+(m<<2)>>2];m=m+1|0;w=j;g=g+v*v}j=L*L+g;g=w*L*2;w=j-g;g=j+g;if(g<.0006000000284984708|w<.0006000000284984708){Mn(i|0,t|0,n<<2|0)|0;break}v=1/+H(+w);w=1/+H(+g);m=0;while(1){if((m|0)>=(n|0))break e;B=t+(m<<2)|0;g=+h[B>>2]*L;d=i+(m<<2)|0;j=+h[d>>2];h[B>>2]=v*(g-j);h[d>>2]=w*(g+j);m=m+1|0}}while(0);if(!D){i=o;l=U;return i|0}else m=0;while(1){if((m|0)>=(n|0))break;t=i+(m<<2)|0;h[t>>2]=-+h[t>>2];m=m+1|0}l=U;return o|0}function ur(e,t,i,a,o,f){e=e|0;t=t|0;i=i|0;a=a|0;o=o|0;f=f|0;var h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0;O=l;l=l+208|0;R=O+176|0;I=O+144|0;P=O;x=e+2328|0;C=s[x>>2]|0;T=P+136|0;s[T>>2]=0;switch(o|0){case 0:{h=e+2388|0;c=4;break}case 2:{h=e+2388|0;if((s[e+2420+(s[h>>2]<<2)>>2]|0)==1)c=4;else c=57;break}default:c=57}if((c|0)==4){M=Ne()|0;_=l;l=l+((1*((C+15&-16)<<1)|0)+15&-16)|0;dr(e,t,s[h>>2]|0,o,f);S=e+2765|0;pr(t,_,r[S>>0]|0,r[e+2766>>0]|0,s[x>>2]|0);A=e+2324|0;mr(P+16|0,e+2736|0,e+2312|0,(f|0)==2&1,s[A>>2]|0);wr(R,e+2744|0,s[e+2732>>2]|0);y=P+64|0;k=e+2340|0;Rr(y,R,s[k>>2]|0);E=e+2376|0;h=e+2767|0;if((s[E>>2]|0)!=1){h=r[h>>0]|0;if(h<<24>>24<4){o=s[k>>2]|0;t=0;while(1){if((t|0)>=(o|0))break;v=n[e+2344+(t<<1)>>1]|0;n[I+(t<<1)>>1]=(v&65535)+((te(h<<24>>24,(n[R+(t<<1)>>1]|0)-(v<<16>>16)|0)|0)>>>2);t=t+1|0}Rr(P+32|0,I,o);o=s[k>>2]|0}else c=11}else{r[h>>0]=4;c=11}if((c|0)==11){o=s[k>>2]|0;Mn(P+32|0,y|0,o<<1|0)|0}Mn(e+2344|0,R|0,o<<1|0)|0;h=e+4160|0;if(s[h>>2]|0){f=o+-1|0;o=63570;t=0;while(1){if((t|0)>=(f|0))break;v=P+32+(t<<1)|0;n[v>>1]=(((te(o,n[v>>1]|0)|0)>>>15)+1|0)>>>1;o=o+(((te(o,-1966)|0)>>15)+1>>1)|0;t=t+1|0}t=P+32+(f<<1)|0;n[t>>1]=(((te(o,n[t>>1]|0)|0)>>>15)+1|0)>>>1;o=63570;t=0;while(1){if((t|0)>=(f|0))break;v=P+64+(t<<1)|0;n[v>>1]=(((te(o,n[v>>1]|0)|0)>>>15)+1|0)>>>1;o=o+(((te(o,-1966)|0)>>15)+1>>1)|0;t=t+1|0}v=P+64+(f<<1)|0;n[v>>1]=(((te(o,n[v>>1]|0)|0)>>>15)+1|0)>>>1}if((r[S>>0]|0)==2){o=e+2316|0;c=s[o>>2]|0;v=s[A>>2]|0;f=(c|0)==8;m=(v|0)==4;w=f?m?11:3:m?34:12;m=f?m?32969:32935:m?33013:32941;c=c<<16;f=c>>15;c=(c>>16)*18|0;u=f+(n[e+2762>>1]|0)|0;d=r[e+2764>>0]|0;p=(f|0)>(c|0);g=0;while(1){if((g|0)>=(v|0))break;t=u+(r[m+((te(g,w)|0)+d)>>0]|0)|0;b=P+(g<<2)|0;s[b>>2]=t;if(p)if((t|0)>(f|0))t=f;else t=(t|0)<(c|0)?c:t;else if((t|0)>(c|0))t=c;else t=(t|0)<(f|0)?f:t;s[b>>2]=t;g=g+1|0}f=n[e+2768>>1]|0;t=s[17400+((f&65535)<<24>>24<<2)>>2]|0;f=(f&65535)>>>8;p=0;while(1){if((p|0)>=(v|0))break;c=(r[e+2740+p>>0]|0)*5|0;u=p*5|0;d=0;while(1){if((d|0)==5)break;n[P+96+(u+d<<1)>>1]=r[t+(c+d)>>0]<<7;d=d+1|0}p=p+1|0}s[T>>2]=n[25412+((f&65535)<<24>>24<<1)>>1]}else{o=s[A>>2]|0;kn(P|0,0,o<<2|0)|0;kn(P+96|0,0,o*10|0)|0;r[e+2768>>0]=0;s[T>>2]=0;o=e+2316|0}Br(e,P,i,_);t=s[o>>2]|0;o=e+4248|0;if((t|0)!=(s[o>>2]|0)){s[e+4168>>2]=s[x>>2]<<7;s[e+4240>>2]=65536;s[e+4244>>2]=65536;s[e+4256>>2]=20;s[e+4252>>2]=2;s[o>>2]=t}g=e+4168|0;_=r[S>>0]|0;v=e+4164|0;s[v>>2]=_<<24>>24;e:do if(_<<24>>24==2){o=e+2332|0;d=s[o>>2]|0;p=s[A>>2]|0;b=p+-1|0;m=e+4172|0;u=s[P+(b<<2)>>2]|0;t=0;w=0;while(1){if((te(w,d)|0)>=(u|0)|(w|0)==(p|0))break;else{f=0;c=0}while(1){if((f|0)==5)break;_=c+(n[P+96+(((b-w|0)*5|0)+f<<1)>>1]|0)|0;f=f+1|0;c=_}if((c|0)>(t|0)){t=P+96+((p+65535-w<<16>>16)*5<<1)|0;n[m>>1]=n[t>>1]|0;n[m+2>>1]=n[t+2>>1]|0;n[m+4>>1]=n[t+4>>1]|0;n[m+6>>1]=n[t+6>>1]|0;n[m+8>>1]=n[t+8>>1]|0;s[g>>2]=s[P+(b-w<<2)>>2]<<8;t=c}w=w+1|0}s[m>>2]=0;s[m+4>>2]=0;n[m+8>>1]=0;n[e+4176>>1]=t;if((t|0)<11469){t=(11744256/(((t|0)>1?t:1)|0)|0)<<16>>16;f=0;while(1){if((f|0)==5)break e;_=e+4172+(f<<1)|0;n[_>>1]=(te(n[_>>1]|0,t)|0)>>>10;f=f+1|0}}if((t|0)>15565){t=(255016960/(t|0)|0)<<16>>16;f=0;while(1){if((f|0)==5)break e;_=e+4172+(f<<1)|0;n[_>>1]=(te(n[_>>1]|0,t)|0)>>>14;f=f+1|0}}}else{s[g>>2]=(t<<16>>16)*4608;o=e+4172|0;s[o>>2]=0;s[o+4>>2]=0;n[o+8>>1]=0;o=e+2332|0}while(0);Mn(e+4182|0,y|0,s[k>>2]<<1|0)|0;n[e+4236>>1]=s[T>>2];T=s[A>>2]|0;y=P+16+(T+-2<<2)|0;k=s[y+4>>2]|0;A=e+4240|0;s[A>>2]=s[y>>2];s[A+4>>2]=k;s[e+4256>>2]=s[o>>2];s[e+4252>>2]=T;s[h>>2]=0;s[v>>2]=r[S>>0];s[E>>2]=0;qe(M|0);o=P}else if((c|0)==57){r[e+2765>>0]=s[e+4164>>2];h=s[e+2316>>2]|0;o=e+4248|0;if((h|0)!=(s[o>>2]|0)){s[e+4168>>2]=C<<7;s[e+4240>>2]=65536;s[e+4244>>2]=65536;s[e+4256>>2]=20;s[e+4252>>2]=2;s[o>>2]=h}yr(e,P,i);h=e+4160|0;s[h>>2]=(s[h>>2]|0)+1;o=P}M=s[x>>2]|0;T=(s[e+2336>>2]|0)-M|0;Tn(e+1348|0,e+1348+(M<<1)|0,T<<1|0)|0;Mn(e+1348+(T<<1)|0,i|0,s[x>>2]<<1|0)|0;Lr(e,o,i,C);if(s[h>>2]|0){Nr(e+4228|0,e+4232|0,i,C);s[e+4216>>2]=1;i=e+2324|0;i=s[i>>2]|0;i=i+-1|0;i=P+(i<<2)|0;i=s[i>>2]|0;P=e+2308|0;s[P>>2]=i;s[a>>2]=C;l=O;return 0}c=e+4216|0;e:do if(s[c>>2]|0){Nr(I,R,i,C);h=s[R>>2]|0;o=s[e+4232>>2]|0;if((h|0)<=(o|0)){if((h|0)<(o|0))s[I>>2]=s[I>>2]>>o-h}else{R=e+4228|0;s[R>>2]=s[R>>2]>>h-o}h=s[I>>2]|0;o=e+4228|0;t=s[o>>2]|0;if((h|0)>(t|0)){x=re(t|0)|0;R=t<>2]=R;x=25-x|0;h=h>>((x|0)>0?x:0);s[I>>2]=h;h=(R|0)/(((h|0)>1?h:1)|0)|0;if((h|0)<1)h=0;else{f=re(h|0)|0;o=24-f|0;t=0-o|0;do if(o)if((o|0)<0){h=h<>>(o+32|0);break}else{h=h<<32-o|h>>>o;break}while(0);I=((f&1|0)==0?46214:32768)>>>(f>>>1);h=(te(h&127,13959168)|0)>>>16;h=I+((te(I>>16,h)|0)+((te(I&65535,h)|0)>>>16))<<4}t=((65536-h|0)/(C|0)|0)<<2;o=0;while(1){if((o|0)>=(C|0))break e;I=i+(o<<1)|0;R=n[I>>1]|0;n[I>>1]=(te(h>>16,R)|0)+((te(h&65532,R)|0)>>>16);h=h+t|0;if((h|0)>65536)break e;o=o+1|0}}}while(0);s[c>>2]=0;i=e+2324|0;i=s[i>>2]|0;i=i+-1|0;i=P+(i<<2)|0;i=s[i>>2]|0;P=e+2308|0;s[P>>2]=i;s[a>>2]=C;l=O;return 0}function dr(e,t,i,f,h){e=e|0;t=t|0;i=i|0;f=f|0;h=h|0;var c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0;I=l;l=l+48|0;S=I;k=I+32|0;e:do if((f|0)==0?(s[e+2404+(i<<2)>>2]|0)==0:0){g=t+28|0;d=s[g>>2]|0;v=t+32|0;f=s[v>>2]|0;c=d>>>8;i=-1;while(1){i=i+1|0;u=te(c,a[29937+i>>0]|0)|0;if(f>>>0>=u>>>0)break;else d=u}w=f-u|0;s[v>>2]=w;f=d-u|0;s[g>>2]=f;d=t+20|0;p=t+40|0;b=t+24|0;m=t+4|0;while(1){if(f>>>0>=8388609)break e;s[d>>2]=(s[d>>2]|0)+8;f=f<<8;s[g>>2]=f;u=s[p>>2]|0;c=s[b>>2]|0;if(c>>>0<(s[m>>2]|0)>>>0){s[b>>2]=c+1;c=a[(s[t>>2]|0)+c>>0]|0}else c=0;s[p>>2]=c;R=((u<<8|c)>>>1&255|w<<8&2147483392)^255;s[v>>2]=R;w=R}}else T=3;while(0);if((T|0)==3){w=t+28|0;d=s[w>>2]|0;g=t+32|0;f=s[g>>2]|0;c=d>>>8;v=-1;while(1){u=v+1|0;i=te(c,a[29933+u>>0]|0)|0;if(f>>>0>>0){v=u;d=i}else break}m=f-i|0;s[g>>2]=m;i=d-i|0;s[w>>2]=i;u=t+20|0;d=t+40|0;p=t+24|0;b=t+4|0;while(1){if(i>>>0>=8388609)break;s[u>>2]=(s[u>>2]|0)+8;i=i<<8;s[w>>2]=i;c=s[d>>2]|0;f=s[p>>2]|0;if(f>>>0<(s[b>>2]|0)>>>0){s[p>>2]=f+1;f=a[(s[t>>2]|0)+f>>0]|0}else f=0;s[d>>2]=f;R=((c<<8|f)>>>1&255|m<<8&2147483392)^255;s[g>>2]=R;m=R}i=v+3|0}f=i>>>1;R=e+2765|0;r[R>>0]=f;r[e+2766>>0]=i&1;E=(h|0)==2;if(E){v=t+28|0;u=s[v>>2]|0;w=t+32|0;f=s[w>>2]|0;c=u>>>8;g=-1;while(1){g=g+1|0;i=te(c,a[29396+g>>0]|0)|0;if(f>>>0>=i>>>0)break;else u=i}x=f-i|0;s[w>>2]=x;i=u-i|0;s[v>>2]=i;d=t+20|0;p=t+40|0;b=t+24|0;m=t+4|0;u=x;while(1){if(i>>>0>=8388609)break;s[d>>2]=(s[d>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[b>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[b>>2]=f+1;f=a[(s[t>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;x=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[w>>2]=x;u=x}r[e+2736>>0]=g;y=w;x=d;_=b;M=t}else{i=f<<24>>24;v=t+28|0;d=s[v>>2]|0;y=t+32|0;f=s[y>>2]|0;c=d>>>8;w=-1;while(1){w=w+1|0;u=te(c,a[29372+(i<<3)+w>>0]|0)|0;if(f>>>0>=u>>>0)break;else d=u}x=f-u|0;s[y>>2]=x;i=d-u|0;s[v>>2]=i;g=t+20|0;p=t+40|0;_=t+24|0;m=t+4|0;u=x;while(1){if(i>>>0>=8388609)break;s[g>>2]=(s[g>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[t>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;x=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[y>>2]=x;u=x}b=e+2736|0;r[b>>0]=w<<3;u=s[v>>2]|0;i=s[y>>2]|0;f=u>>>8;d=-1;while(1){d=d+1|0;c=te(f,a[29962+d>>0]|0)|0;if(i>>>0>=c>>>0)break;else u=c}x=i-c|0;s[y>>2]=x;i=u-c|0;s[v>>2]=i;u=x;while(1){if(i>>>0>=8388609)break;s[g>>2]=(s[g>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[t>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;x=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[y>>2]=x;u=x}r[b>>0]=(a[b>>0]|0)+d;x=g;M=t}A=e+2324|0;d=1;while(1){if((d|0)>=(s[A>>2]|0))break;u=s[v>>2]|0;i=s[y>>2]|0;f=u>>>8;b=-1;while(1){b=b+1|0;c=te(f,a[29396+b>>0]|0)|0;if(i>>>0>=c>>>0)break;else u=c}t=i-c|0;s[y>>2]=t;i=u-c|0;s[v>>2]=i;u=t;while(1){if(i>>>0>=8388609)break;s[x>>2]=(s[x>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[M>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;t=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[y>>2]=t;u=t}r[e+2736+d>>0]=b;d=d+1|0}t=e+2732|0;d=s[t>>2]|0;i=te(r[R>>0]>>1,n[d>>1]|0)|0;i=(s[d+16>>2]|0)+i|0;d=s[v>>2]|0;f=s[y>>2]|0;c=d>>>8;b=-1;while(1){b=b+1|0;u=te(c,a[i+b>>0]|0)|0;if(f>>>0>=u>>>0)break;else d=u}g=f-u|0;s[y>>2]=g;i=d-u|0;s[v>>2]=i;u=g;while(1){if(i>>>0>=8388609)break;s[x>>2]=(s[x>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[M>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;g=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[y>>2]=g;u=g}r[e+2744>>0]=b;Bi(S,k,s[t>>2]|0,b<<24>>24);g=0;while(1){i=s[t>>2]|0;if((g|0)>=(n[i+2>>1]|0))break;f=(s[i+28>>2]|0)+(n[S+(g<<1)>>1]|0)|0;b=s[v>>2]|0;c=s[y>>2]|0;u=b>>>8;w=-1;while(1){i=w+1|0;d=te(u,a[f+i>>0]|0)|0;if(c>>>0>>0){w=i;b=d}else break}k=c-d|0;s[y>>2]=k;c=b-d|0;s[v>>2]=c;b=k;while(1){if(c>>>0>=8388609)break;s[x>>2]=(s[x>>2]|0)+8;c=c<<8;s[v>>2]=c;u=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[M>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;k=((u<<8|f)>>>1&255|b<<8&2147483392)^255;s[y>>2]=k;b=k}switch(w|0){case-1:{u=c>>>8;d=-1;while(1){i=d+1|0;f=te(u,a[29970+i>>0]|0)|0;if(b>>>0>>0){d=i;c=f}else break}u=b-f|0;s[y>>2]=u;i=c-f|0;s[v>>2]=i;while(1){if(i>>>0>=8388609)break;s[x>>2]=(s[x>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[M>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;k=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[y>>2]=k;u=k}i=~d;break}case 7:{u=c>>>8;d=-1;while(1){i=d+1|0;f=te(u,a[29970+i>>0]|0)|0;if(b>>>0>>0){d=i;c=f}else break}u=b-f|0;s[y>>2]=u;i=c-f|0;s[v>>2]=i;while(1){if(i>>>0>=8388609)break;s[x>>2]=(s[x>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[M>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;k=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[y>>2]=k;u=k}i=d+9|0;break}default:{}}k=g+1|0;r[e+2744+k>>0]=i+252;g=k}if((s[A>>2]|0)==4){u=s[v>>2]|0;i=s[y>>2]|0;f=u>>>8;d=-1;while(1){d=d+1|0;c=te(f,a[29939+d>>0]|0)|0;if(i>>>0>=c>>>0)break;else u=c}S=i-c|0;s[y>>2]=S;i=u-c|0;s[v>>2]=i;u=S;while(1){if(i>>>0>=8388609)break;s[x>>2]=(s[x>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[M>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;S=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[y>>2]=S;u=S}r[e+2767>>0]=d}else r[e+2767>>0]=4;do if((r[R>>0]|0)==2){if(E?(s[e+2396>>2]|0)==2:0){u=s[v>>2]|0;i=s[y>>2]|0;f=u>>>8;b=-1;while(1){d=b+1|0;c=te(f,a[30009+d>>0]|0)|0;if(i>>>0>>0){b=d;u=c}else break}S=i-c|0;s[y>>2]=S;i=u-c|0;s[v>>2]=i;u=S;while(1){if(i>>>0>=8388609)break;s[x>>2]=(s[x>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[M>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;S=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[y>>2]=S;u=S}if((d&65535)<<16>>16>0){i=e+2400|0;f=(o[i>>1]|0)+(b+65528)&65535;n[e+2762>>1]=f}else T=108}else T=108;if((T|0)==108){u=s[v>>2]|0;i=s[y>>2]|0;f=u>>>8;d=-1;while(1){d=d+1|0;c=te(f,a[29977+d>>0]|0)|0;if(i>>>0>=c>>>0)break;else u=c}T=i-c|0;s[y>>2]=T;i=u-c|0;s[v>>2]=i;u=T;while(1){if(i>>>0>=8388609)break;s[x>>2]=(s[x>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[M>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;T=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[y>>2]=T;u=T}w=e+2762|0;n[w>>1]=te(d<<16>>16,s[e+2316>>2]>>1)|0;i=s[e+2380>>2]|0;d=s[v>>2]|0;f=s[y>>2]|0;c=d>>>8;b=-1;while(1){b=b+1|0;u=te(c,a[i+b>>0]|0)|0;if(f>>>0>=u>>>0)break;else d=u}T=f-u|0;s[y>>2]=T;i=d-u|0;s[v>>2]=i;u=T;while(1){if(i>>>0>=8388609)break;s[x>>2]=(s[x>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[M>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;T=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[y>>2]=T;u=T}f=(o[w>>1]|0)+b&65535;n[w>>1]=f;i=e+2400|0}n[i>>1]=f;i=s[e+2384>>2]|0;d=s[v>>2]|0;f=s[y>>2]|0;c=d>>>8;b=-1;while(1){b=b+1|0;u=te(c,a[i+b>>0]|0)|0;if(f>>>0>=u>>>0)break;else d=u}T=f-u|0;s[y>>2]=T;i=d-u|0;s[v>>2]=i;u=T;while(1){if(i>>>0>=8388609)break;s[x>>2]=(s[x>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[M>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;T=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[y>>2]=T;u=T}r[e+2764>>0]=b;u=s[v>>2]|0;i=s[y>>2]|0;f=u>>>8;d=-1;while(1){d=d+1|0;c=te(f,a[29437+d>>0]|0)|0;if(i>>>0>=c>>>0)break;else u=c}T=i-c|0;s[y>>2]=T;i=u-c|0;s[v>>2]=i;u=T;while(1){if(i>>>0>=8388609)break;s[x>>2]=(s[x>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[M>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;T=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[y>>2]=T;u=T}g=e+2768|0;r[g>>0]=d;b=0;while(1){if((b|0)>=(s[A>>2]|0))break;i=s[17376+(r[g>>0]<<2)>>2]|0;d=s[v>>2]|0;f=s[y>>2]|0;c=d>>>8;w=-1;while(1){w=w+1|0;u=te(c,a[i+w>>0]|0)|0;if(f>>>0>=u>>>0)break;else d=u}T=f-u|0;s[y>>2]=T;i=d-u|0;s[v>>2]=i;u=T;while(1){if(i>>>0>=8388609)break;s[x>>2]=(s[x>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[M>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;T=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[y>>2]=T;u=T}r[e+2740+b>>0]=w;b=b+1|0}if(h|0){r[e+2769>>0]=0;break}u=s[v>>2]|0;i=s[y>>2]|0;f=u>>>8;d=-1;while(1){d=d+1|0;c=te(f,a[29930+d>>0]|0)|0;if(i>>>0>=c>>>0)break;else u=c}h=i-c|0;s[y>>2]=h;i=u-c|0;s[v>>2]=i;u=h;while(1){if(i>>>0>=8388609)break;s[x>>2]=(s[x>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[M>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;h=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[y>>2]=h;u=h}r[e+2769>>0]=d}while(0);s[e+2396>>2]=r[R>>0];u=s[v>>2]|0;i=s[y>>2]|0;f=u>>>8;d=-1;while(1){d=d+1|0;c=te(f,a[29947+d>>0]|0)|0;if(i>>>0>=c>>>0)break;else u=c}h=i-c|0;s[y>>2]=h;i=u-c|0;s[v>>2]=i;u=h;while(1){if(i>>>0>=8388609)break;s[x>>2]=(s[x>>2]|0)+8;i=i<<8;s[v>>2]=i;c=s[p>>2]|0;f=s[_>>2]|0;if(f>>>0<(s[m>>2]|0)>>>0){s[_>>2]=f+1;f=a[(s[M>>2]|0)+f>>0]|0}else f=0;s[p>>2]=f;h=((c<<8|f)>>>1&255|u<<8&2147483392)^255;s[y>>2]=h;u=h}r[e+2770>>0]=d;l=I;return}function pr(e,t,i,o,f){e=e|0;t=t|0;i=i|0;o=o|0;f=f|0;var h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0;D=l;l=l+176|0;O=D+160|0;N=D+80|0;M=D;h=i>>1;C=e+28|0;p=s[C>>2]|0;P=e+32|0;u=s[P>>2]|0;d=p>>>8;_=-1;while(1){_=_+1|0;c=te(d,a[30432+(h*9|0)+_>>0]|0)|0;if(u>>>0>=c>>>0)break;else p=c}d=u-c|0;s[P>>2]=d;h=p-c|0;s[C>>2]=h;T=e+20|0;x=e+40|0;R=e+24|0;I=e+4|0;while(1){if(h>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;h=h<<8;s[C>>2]=h;u=s[x>>2]|0;c=s[R>>2]|0;if(c>>>0<(s[I>>2]|0)>>>0){s[R>>2]=c+1;c=a[(s[e>>2]|0)+c>>0]|0}else c=0;s[x>>2]=c;S=((u<<8|c)>>>1&255|d<<8&2147483392)^255;s[P>>2]=S;d=S}S=f>>4;S=S+((S<<4|0)<(f|0)&1)|0;v=0;while(1){if((v|0)>=(S|0)){E=0;break}g=M+(v<<2)|0;s[g>>2]=0;u=h>>>8;p=-1;while(1){p=p+1|0;c=te(u,a[30090+(_*18|0)+p>>0]|0)|0;if(d>>>0>=c>>>0)break;else h=c}d=d-c|0;s[P>>2]=d;h=h-c|0;s[C>>2]=h;while(1){if(h>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;h=h<<8;s[C>>2]=h;u=s[x>>2]|0;c=s[R>>2]|0;if(c>>>0<(s[I>>2]|0)>>>0){s[R>>2]=c+1;c=a[(s[e>>2]|0)+c>>0]|0}else c=0;s[x>>2]=c;E=((u<<8|c)>>>1&255|d<<8&2147483392)^255;s[P>>2]=E;d=E}w=N+(v<<2)|0;u=0;c=p;e:while(1){s[w>>2]=c;if((c|0)!=17)break;m=u+1|0;s[g>>2]=m;p=30252+((m|0)==10&1)|0;b=h>>>8;c=-1;while(1){c=c+1|0;u=te(b,a[p+c>>0]|0)|0;if(d>>>0>=u>>>0)break;else h=u}d=d-u|0;s[P>>2]=d;h=h-u|0;s[C>>2]=h;while(1){if(h>>>0>=8388609){u=m;continue e}s[T>>2]=(s[T>>2]|0)+8;h=h<<8;s[C>>2]=h;p=s[x>>2]|0;u=s[R>>2]|0;if(u>>>0<(s[I>>2]|0)>>>0){s[R>>2]=u+1;u=a[(s[e>>2]|0)+u>>0]|0}else u=0;s[x>>2]=u;E=((p<<8|u)>>>1&255|d<<8&2147483392)^255;s[P>>2]=E;d=E}}v=v+1|0}while(1){if((E|0)>=(S|0)){g=0;break}m=s[N+(E<<2)>>2]|0;h=t+(E<<16>>12<<1)|0;if((m|0)>0){c=30924+(a[31076+m>>0]|0)|0;b=s[C>>2]|0;u=s[P>>2]|0;d=b>>>8;g=-1;while(1){g=g+1|0;p=te(d,a[c+g>>0]|0)|0;if(u>>>0>=p>>>0)break;else b=p}k=u-p|0;s[P>>2]=k;c=b-p|0;s[C>>2]=c;p=k;while(1){if(c>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;c=c<<8;s[C>>2]=c;d=s[x>>2]|0;u=s[R>>2]|0;if(u>>>0<(s[I>>2]|0)>>>0){s[R>>2]=u+1;u=a[(s[e>>2]|0)+u>>0]|0}else u=0;s[x>>2]=u;k=((d<<8|u)>>>1&255|p<<8&2147483392)^255;s[P>>2]=k;p=k}y=m-g|0;k=y&65535;w=g<<16>>16;if((g&65535)<<16>>16>0){c=30772+(a[31076+w>>0]|0)|0;b=s[C>>2]|0;u=s[P>>2]|0;d=b>>>8;m=-1;while(1){m=m+1|0;p=te(d,a[c+m>>0]|0)|0;if(u>>>0>=p>>>0)break;else b=p}_=u-p|0;s[P>>2]=_;c=b-p|0;s[C>>2]=c;p=_;while(1){if(c>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;c=c<<8;s[C>>2]=c;d=s[x>>2]|0;u=s[R>>2]|0;if(u>>>0<(s[I>>2]|0)>>>0){s[R>>2]=u+1;u=a[(s[e>>2]|0)+u>>0]|0}else u=0;s[x>>2]=u;_=((d<<8|u)>>>1&255|p<<8&2147483392)^255;s[P>>2]=_;p=_}_=m&65535;c=w-m&65535;w=_<<16>>16;if(_<<16>>16>0){u=30620+(a[31076+w>>0]|0)|0;m=s[C>>2]|0;d=s[P>>2]|0;p=m>>>8;g=-1;while(1){g=g+1|0;b=te(p,a[u+g>>0]|0)|0;if(d>>>0>=b>>>0)break;else m=b}_=d-b|0;s[P>>2]=_;u=m-b|0;s[C>>2]=u;b=_;while(1){if(u>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;u=u<<8;s[C>>2]=u;p=s[x>>2]|0;d=s[R>>2]|0;if(d>>>0<(s[I>>2]|0)>>>0){s[R>>2]=d+1;d=a[(s[e>>2]|0)+d>>0]|0}else d=0;s[x>>2]=d;_=((p<<8|d)>>>1&255|b<<8&2147483392)^255;s[P>>2]=_;b=_}v=g&65535;_=w-g&65535;u=h+2|0;g=v<<16>>16;if(v<<16>>16>0){d=30468+(a[31076+g>>0]|0)|0;w=s[C>>2]|0;p=s[P>>2]|0;b=w>>>8;v=-1;while(1){v=v+1|0;m=te(b,a[d+v>>0]|0)|0;if(p>>>0>=m>>>0)break;else w=m}b=p-m|0;s[P>>2]=b;d=w-m|0;s[C>>2]=d;m=b;while(1){if(d>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;d=d<<8;s[C>>2]=d;b=s[x>>2]|0;p=s[R>>2]|0;if(p>>>0<(s[I>>2]|0)>>>0){s[R>>2]=p+1;p=a[(s[e>>2]|0)+p>>0]|0}else p=0;s[x>>2]=p;w=((b<<8|p)>>>1&255|m<<8&2147483392)^255;s[P>>2]=w;m=w}n[h>>1]=v;p=g-v&65535;d=_;_=c}else{d=_;A=62}}else A=52}else{c=0;A=52}if((A|0)==52){u=h+2|0;d=0;A=62}if((A|0)==62){A=0;n[h>>1]=0;p=0;_=c}n[u>>1]=p;w=h+4|0;v=h+6|0;g=d<<16>>16;if(d<<16>>16>0){c=30468+(a[31076+g>>0]|0)|0;b=s[C>>2]|0;u=s[P>>2]|0;d=b>>>8;m=-1;while(1){m=m+1|0;p=te(d,a[c+m>>0]|0)|0;if(u>>>0>=p>>>0)break;else b=p}d=u-p|0;s[P>>2]=d;c=b-p|0;s[C>>2]=c;p=d;while(1){if(c>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;c=c<<8;s[C>>2]=c;d=s[x>>2]|0;u=s[R>>2]|0;if(u>>>0<(s[I>>2]|0)>>>0){s[R>>2]=u+1;u=a[(s[e>>2]|0)+u>>0]|0}else u=0;s[x>>2]=u;b=((d<<8|u)>>>1&255|p<<8&2147483392)^255;s[P>>2]=b;p=b}n[w>>1]=m;c=g-m&65535}else{n[w>>1]=0;c=0}n[v>>1]=c;w=_<<16>>16;if(_<<16>>16>0){c=30620+(a[31076+w>>0]|0)|0;b=s[C>>2]|0;u=s[P>>2]|0;d=b>>>8;m=-1;while(1){m=m+1|0;p=te(d,a[c+m>>0]|0)|0;if(u>>>0>=p>>>0)break;else b=p}_=u-p|0;s[P>>2]=_;c=b-p|0;s[C>>2]=c;p=_;while(1){if(c>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;c=c<<8;s[C>>2]=c;d=s[x>>2]|0;u=s[R>>2]|0;if(u>>>0<(s[I>>2]|0)>>>0){s[R>>2]=u+1;u=a[(s[e>>2]|0)+u>>0]|0}else u=0;s[x>>2]=u;_=((d<<8|u)>>>1&255|p<<8&2147483392)^255;s[P>>2]=_;p=_}_=m&65535;d=w-m&65535;u=h+8|0;c=h+10|0;v=_<<16>>16;if(_<<16>>16>0){p=30468+(a[31076+v>>0]|0)|0;g=s[C>>2]|0;b=s[P>>2]|0;m=g>>>8;_=-1;while(1){_=_+1|0;w=te(m,a[p+_>>0]|0)|0;if(b>>>0>=w>>>0)break;else g=w}m=b-w|0;s[P>>2]=m;p=g-w|0;s[C>>2]=p;w=m;while(1){if(p>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;p=p<<8;s[C>>2]=p;m=s[x>>2]|0;b=s[R>>2]|0;if(b>>>0<(s[I>>2]|0)>>>0){s[R>>2]=b+1;b=a[(s[e>>2]|0)+b>>0]|0}else b=0;s[x>>2]=b;g=((m<<8|b)>>>1&255|w<<8&2147483392)^255;s[P>>2]=g;w=g}n[u>>1]=_;u=v-_&65535}else A=91}else{u=h+8|0;c=h+10|0;d=0;A=91}if((A|0)==91){A=0;n[u>>1]=0;u=0}n[c>>1]=u;w=h+12|0;v=h+14|0;g=d<<16>>16;if(d<<16>>16>0){c=30468+(a[31076+g>>0]|0)|0;b=s[C>>2]|0;u=s[P>>2]|0;d=b>>>8;m=-1;while(1){m=m+1|0;p=te(d,a[c+m>>0]|0)|0;if(u>>>0>=p>>>0)break;else b=p}_=u-p|0;s[P>>2]=_;c=b-p|0;s[C>>2]=c;p=_;while(1){if(c>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;c=c<<8;s[C>>2]=c;d=s[x>>2]|0;u=s[R>>2]|0;if(u>>>0<(s[I>>2]|0)>>>0){s[R>>2]=u+1;u=a[(s[e>>2]|0)+u>>0]|0}else u=0;s[x>>2]=u;_=((d<<8|u)>>>1&255|p<<8&2147483392)^255;s[P>>2]=_;p=_}n[w>>1]=m;c=g-m&65535}else{n[w>>1]=0;c=0}n[v>>1]=c;w=y<<16>>16;if(k<<16>>16>0){c=30772+(a[31076+w>>0]|0)|0;b=s[C>>2]|0;u=s[P>>2]|0;d=b>>>8;m=-1;while(1){m=m+1|0;p=te(d,a[c+m>>0]|0)|0;if(u>>>0>=p>>>0)break;else b=p}k=u-p|0;s[P>>2]=k;c=b-p|0;s[C>>2]=c;p=k;while(1){if(c>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;c=c<<8;s[C>>2]=c;d=s[x>>2]|0;u=s[R>>2]|0;if(u>>>0<(s[I>>2]|0)>>>0){s[R>>2]=u+1;u=a[(s[e>>2]|0)+u>>0]|0}else u=0;s[x>>2]=u;k=((d<<8|u)>>>1&255|p<<8&2147483392)^255;s[P>>2]=k;p=k}k=m&65535;c=w-m&65535;w=k<<16>>16;if(k<<16>>16>0){u=30620+(a[31076+w>>0]|0)|0;m=s[C>>2]|0;d=s[P>>2]|0;p=m>>>8;g=-1;while(1){g=g+1|0;b=te(p,a[u+g>>0]|0)|0;if(d>>>0>=b>>>0)break;else m=b}k=d-b|0;s[P>>2]=k;u=m-b|0;s[C>>2]=u;b=k;while(1){if(u>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;u=u<<8;s[C>>2]=u;p=s[x>>2]|0;d=s[R>>2]|0;if(d>>>0<(s[I>>2]|0)>>>0){s[R>>2]=d+1;d=a[(s[e>>2]|0)+d>>0]|0}else d=0;s[x>>2]=d;k=((p<<8|d)>>>1&255|b<<8&2147483392)^255;s[P>>2]=k;b=k}k=g&65535;p=w-g&65535;v=h+16|0;u=h+18|0;_=k<<16>>16;if(k<<16>>16>0){d=30468+(a[31076+_>>0]|0)|0;g=s[C>>2]|0;b=s[P>>2]|0;m=g>>>8;y=-1;while(1){y=y+1|0;w=te(m,a[d+y>>0]|0)|0;if(b>>>0>=w>>>0)break;else g=w}k=b-w|0;s[P>>2]=k;d=g-w|0;s[C>>2]=d;w=k;while(1){if(d>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;d=d<<8;s[C>>2]=d;m=s[x>>2]|0;b=s[R>>2]|0;if(b>>>0<(s[I>>2]|0)>>>0){s[R>>2]=b+1;b=a[(s[e>>2]|0)+b>>0]|0}else b=0;s[x>>2]=b;k=((m<<8|b)>>>1&255|w<<8&2147483392)^255;s[P>>2]=k;w=k}n[v>>1]=y;d=_-y&65535;_=c}else{d=v;A=128}}else A=118}else{c=0;A=118}if((A|0)==118){d=h+16|0;u=h+18|0;p=0;A=128}if((A|0)==128){A=0;n[d>>1]=0;d=0;_=c}n[u>>1]=d;w=h+20|0;v=h+22|0;g=p<<16>>16;if(p<<16>>16>0){c=30468+(a[31076+g>>0]|0)|0;b=s[C>>2]|0;u=s[P>>2]|0;d=b>>>8;m=-1;while(1){m=m+1|0;p=te(d,a[c+m>>0]|0)|0;if(u>>>0>=p>>>0)break;else b=p}k=u-p|0;s[P>>2]=k;c=b-p|0;s[C>>2]=c;p=k;while(1){if(c>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;c=c<<8;s[C>>2]=c;d=s[x>>2]|0;u=s[R>>2]|0;if(u>>>0<(s[I>>2]|0)>>>0){s[R>>2]=u+1;u=a[(s[e>>2]|0)+u>>0]|0}else u=0;s[x>>2]=u;k=((d<<8|u)>>>1&255|p<<8&2147483392)^255;s[P>>2]=k;p=k}n[w>>1]=m;c=g-m&65535}else{n[w>>1]=0;c=0}n[v>>1]=c;w=_<<16>>16;if(_<<16>>16>0){c=30620+(a[31076+w>>0]|0)|0;b=s[C>>2]|0;u=s[P>>2]|0;d=b>>>8;m=-1;while(1){m=m+1|0;p=te(d,a[c+m>>0]|0)|0;if(u>>>0>=p>>>0)break;else b=p}k=u-p|0;s[P>>2]=k;c=b-p|0;s[C>>2]=c;p=k;while(1){if(c>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;c=c<<8;s[C>>2]=c;d=s[x>>2]|0;u=s[R>>2]|0;if(u>>>0<(s[I>>2]|0)>>>0){s[R>>2]=u+1;u=a[(s[e>>2]|0)+u>>0]|0}else u=0;s[x>>2]=u;k=((d<<8|u)>>>1&255|p<<8&2147483392)^255;s[P>>2]=k;p=k}k=m&65535;d=w-m&65535;u=h+24|0;c=h+26|0;v=k<<16>>16;if(k<<16>>16>0){p=30468+(a[31076+v>>0]|0)|0;g=s[C>>2]|0;b=s[P>>2]|0;m=g>>>8;_=-1;while(1){_=_+1|0;w=te(m,a[p+_>>0]|0)|0;if(b>>>0>=w>>>0)break;else g=w}k=b-w|0;s[P>>2]=k;p=g-w|0;s[C>>2]=p;w=k;while(1){if(p>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;p=p<<8;s[C>>2]=p;m=s[x>>2]|0;b=s[R>>2]|0;if(b>>>0<(s[I>>2]|0)>>>0){s[R>>2]=b+1;b=a[(s[e>>2]|0)+b>>0]|0}else b=0;s[x>>2]=b;k=((m<<8|b)>>>1&255|w<<8&2147483392)^255;s[P>>2]=k;w=k}n[u>>1]=_;u=v-_&65535}else A=157}else{u=h+24|0;c=h+26|0;d=0;A=157}if((A|0)==157){A=0;n[u>>1]=0;u=0}n[c>>1]=u;w=h+28|0;g=h+30|0;m=d<<16>>16;if(d<<16>>16>0){h=30468+(a[31076+m>>0]|0)|0;p=s[C>>2]|0;c=s[P>>2]|0;u=p>>>8;b=-1;while(1){b=b+1|0;d=te(u,a[h+b>>0]|0)|0;if(c>>>0>=d>>>0)break;else p=d}k=c-d|0;s[P>>2]=k;h=p-d|0;s[C>>2]=h;d=k;while(1){if(h>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;h=h<<8;s[C>>2]=h;u=s[x>>2]|0;c=s[R>>2]|0;if(c>>>0<(s[I>>2]|0)>>>0){s[R>>2]=c+1;c=a[(s[e>>2]|0)+c>>0]|0}else c=0;s[x>>2]=c;k=((u<<8|c)>>>1&255|d<<8&2147483392)^255;s[P>>2]=k;d=k}n[w>>1]=b;h=m-b&65535}else{n[w>>1]=0;h=0}n[g>>1]=h}else{c=h+32|0;do{n[h>>1]=0;h=h+2|0}while((h|0)<(c|0))}E=E+1|0}while(1){if((g|0)>=(S|0))break;p=s[M+(g<<2)>>2]|0;if((p|0)>0){b=t+(g<<16>>12<<1)|0;_=0;while(1){if((_|0)==16)break;m=b+(_<<1)|0;w=n[m>>1]|0;v=0;while(1){if((v|0)==(p|0))break;d=s[C>>2]|0;h=s[P>>2]|0;c=d>>>8;y=-1;while(1){y=y+1|0;u=te(c,a[29928+y>>0]|0)|0;if(h>>>0>=u>>>0)break;else d=u}A=h-u|0;s[P>>2]=A;h=d-u|0;s[C>>2]=h;d=A;while(1){if(h>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;h=h<<8;s[C>>2]=h;u=s[x>>2]|0;c=s[R>>2]|0;if(c>>>0<(s[I>>2]|0)>>>0){s[R>>2]=c+1;c=a[(s[e>>2]|0)+c>>0]|0}else c=0;s[x>>2]=c;A=((u<<8|c)>>>1&255|d<<8&2147483392)^255;s[P>>2]=A;d=A}w=(w<<1)+y|0;v=v+1|0}n[m>>1]=w;_=_+1|0}A=N+(g<<2)|0;s[A>>2]=s[A>>2]|p<<5}g=g+1|0}r[O+1>>0]=0;v=31093+(((i<<1)+o<<16>>16)*7|0)|0;w=f+8>>4;g=0;while(1){if((g|0)>=(w|0))break;h=s[N+(g<<2)>>2]|0;e:do if((h|0)>0){r[O>>0]=r[v+((h&30)>>>0<6?h&31:6)>>0]|0;b=0;while(1){if((b|0)==16)break e;p=t+(b<<1)|0;if((n[p>>1]|0)>0){d=s[C>>2]|0;h=s[P>>2]|0;c=d>>>8;m=-1;while(1){m=m+1|0;u=te(c,a[O+m>>0]|0)|0;if(h>>>0>=u>>>0)break;else d=u}f=h-u|0;s[P>>2]=f;h=d-u|0;s[C>>2]=h;d=f;while(1){if(h>>>0>=8388609)break;s[T>>2]=(s[T>>2]|0)+8;h=h<<8;s[C>>2]=h;u=s[x>>2]|0;c=s[R>>2]|0;if(c>>>0<(s[I>>2]|0)>>>0){s[R>>2]=c+1;c=a[(s[e>>2]|0)+c>>0]|0}else c=0;s[x>>2]=c;f=((u<<8|c)>>>1&255|d<<8&2147483392)^255;s[P>>2]=f;d=f}n[p>>1]=te(n[p>>1]|0,(m<<1)+-1|0)|0}b=b+1|0}}while(0);g=g+1|0;t=t+32|0}l=D;return}function br(e,t,i,n,o){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;var f=0,h=0,c=0,l=0,u=0,d=0;d=0;while(1){if((d|0)>=(o|0))break;u=t+(d<<2)|0;f=s[u>>2]|0;l=re(f|0)|0;h=24-l|0;c=0-h|0;do if(h)if((h|0)<0){f=f<>>(h+32|0);break}else{f=f<<32-h|f>>>h;break}while(0);c=f&127;c=(((c+(((te(c,128-c|0)|0)*179|0)>>>16)+(31-l<<7)<<16)+-136970240>>16)*2251|0)>>>16;f=c&255;l=e+d|0;r[l>>0]=f;if((c<<24>>24|0)<(r[i>>0]|0)){f=f+1<<24>>24;r[l>>0]=f}if(f<<24>>24>63)f=63;else f=(f<<24>>24>0?f:0)<<24>>24;r[l>>0]=f;if(!(d|n)){f=(r[i>>0]|0)+-4|0;h=r[e>>0]|0;if((f|0)>63){if((h<<24>>24|0)<=(f|0))f=(h<<24>>24>63?h:63)<<24>>24}else if(h<<24>>24>63)f=63;else{l=h<<24>>24;f=(l|0)<(f|0)?f:l}f=f&255;r[e>>0]=f;r[i>>0]=f}else{h=(f&255)-(a[i>>0]|0)|0;f=h&255;r[l>>0]=f;c=(r[i>>0]|0)+8|0;h=h<<24>>24;if((h|0)>(c|0)){f=c+((h-c+1|0)>>>1)&255;r[l>>0]=f}if(f<<24>>24>36)f=36;else f=(f<<24>>24>-4?f:-4)<<24>>24;r[l>>0]=f;if((f|0)>(c|0))f=(r[i>>0]|0)+((f<<1)-c)|0;else f=(a[i>>0]|0)+(f&255)|0;r[i>>0]=f;r[l>>0]=(a[l>>0]|0)+4;f=r[i>>0]|0}f=f<<24>>24;f=(f*29|0)+(f*7281>>16)|0;c=f+2090|0;if((c|0)<3967)if((f|0)<-2090)f=0;else{f=c>>7;l=1<>16)<>7;else f=te(l>>7,h+((te(te(h,128-h|0)|0,-174)|0)>>16)|0)|0;f=l+f|0}else f=2147483647;s[u>>2]=f;d=d+1|0}return}function mr(e,t,i,n,a){e=e|0;t=t|0;i=i|0;n=n|0;a=a|0;var o=0,f=0,h=0,c=0,l=0;l=0;while(1){if((l|0)>=(a|0))break;do if(l|n){o=(r[t+l>>0]|0)+-4|0;f=r[i>>0]|0;h=f<<24>>24;c=h+8|0;if((o|0)>(c|0)){f=h+((o<<1)-c)|0;break}else{f=(f&255)+o|0;break}}else{c=r[t>>0]|0;f=(r[i>>0]|0)+-16|0;f=(c|0)>(f|0)?c:f}while(0);o=f&255;r[i>>0]=o;if(o<<24>>24<=63)if(o<<24>>24<0)o=0;else o=f<<24>>24;else o=63;r[i>>0]=o;o=(o*29|0)+(o*7281>>16)|0;h=o+2090|0;if((h|0)<3967)if((o|0)<-2090)o=0;else{o=h>>7;c=1<>16)<>7;else o=te(c>>7,f+((te(te(f,128-f|0)|0,-174)|0)>>16)|0)|0;o=c+o|0}else o=2147483647;s[e+(l<<2)>>2]=o;l=l+1|0}return}function wr(e,t,i){e=e|0;t=t|0;i=i|0;var o=0,f=0,h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0;v=l;l=l+80|0;m=v+64|0;g=v;Bi(v+32|0,m,i,r[t>>0]|0);u=t+1|0;d=n[i+4>>1]|0;w=i+2|0;o=n[w>>1]|0;p=o<<16>>16;f=p;h=0;while(1){b=f+-1|0;if((f|0)<=0)break;c=(te(h<<16>>16,a[m+b>>0]|0)|0)>>8;f=r[u+b>>0]|0;h=f<<24>>24<<10;if(f<<24>>24>0)f=h+-102|0;else f=f<<24>>24<0?h|102:h;h=c+((te(f>>16,d)|0)+((te(f&65535,d)|0)>>16))|0;n[g+(b<<1)>>1]=h;f=b}c=te(r[t>>0]|0,p)|0;h=(s[i+8>>2]|0)+c|0;c=(s[i+12>>2]|0)+(c<<1)|0;f=0;while(1){o=o<<16>>16;if((f|0)>=(o|0))break;o=((n[g+(f<<1)>>1]<<14|0)/(n[c+(f<<1)>>1]|0)|0)+(a[h+f>>0]<<7)|0;n[e+(f<<1)>>1]=(o|0)>32767?32767:((o|0)<0?0:o)&65535;o=n[w>>1]|0;f=f+1|0}Ir(e,s[i+36>>2]|0,o);l=v;return}function gr(e,t,i,a,o,f,h,c,u,d,p,b,m,w,g){e=e|0;t=t|0;i=i|0;a=a|0;o=o|0;f=f|0;h=h|0;c=c|0;u=u|0;d=d|0;p=p|0;b=b|0;m=m|0;w=w|0;g=g|0;var v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0,J=0,Q=0,ee=0,ie=0,ne=0,se=0,ae=0,oe=0,fe=0,he=0,ce=0,le=0,ue=0,de=0,pe=0,be=0,me=0,we=0,ge=0,ve=0,_e=0,ye=0,ke=0,Ee=0,Ae=0,Se=0,Me=0,Te=0,xe=0,Re=0,Ie=0,Ce=0,Pe=0,Oe=0,Ne=0,De=0,Le=0,Be=0,Ue=0,je=0,Fe=0,ze=0,qe=0,He=0,Ge=0,Ve=0,We=0,Ke=0,Ye=0,Ze=0,$e=0,Xe=0,Je=0,Qe=0,et=0,tt=0;et=l;Xe=t+4436|0;s[Xe>>2]=r[i+34>>0];Je=t+4424|0;ge=s[Je>>2]|0;Ye=n[i+30>>1]|0;De=i+29|0;Le=n[25404+(r[De>>0]>>1<<2)+((Ye&65535)<<24>>24<<1)>>1]|0;Ye=(Ye&-256)<<16>>16!=1024&1;Be=e+4684|0;we=s[Be>>2]|0;Ue=e+4676|0;ze=we+(s[Ue>>2]|0)|0;je=l;l=l+((1*(ze<<2)|0)+15&-16)|0;Fe=l;l=l+((1*(ze<<1)|0)+15&-16)|0;ze=e+4680|0;qe=l;l=l+((1*(s[ze>>2]<<2)|0)+15&-16)|0;He=t+4432|0;s[He>>2]=we; -we=s[Be>>2]|0;Ge=t+4428|0;s[Ge>>2]=we;Ve=e+4672|0;We=Ye^1;Ke=t+4444|0;Ye=Ye<<1^3;Ze=e+4732|0;$e=t+4440|0;Te=e+4728|0;xe=t+3996|0;Re=t+4420|0;Ie=t+4320|0;Ce=t+4416|0;Pe=(w|0)>2048;Ne=(w|0)/2|0;Oe=Ne+-512|0;Ne=512-Ne|0;_e=w<<16>>16;ye=Le+944|0;ke=te(Le,_e)|0;Ee=te(ye<<16>>16,_e)|0;Ae=Le+-944|0;Se=te(944-Le<<16>>16,_e)|0;Me=t+3840|0;ve=g<<16>>16;e=we;we=0;w=ge;ge=t+(s[Be>>2]<<1)|0;while(1){i=s[Ve>>2]|0;if((we|0)>=(i|0))break;pe=f+((we>>1|We)<<4<<1)|0;be=h+(we*5<<1)|0;me=c+(we*24<<1)|0;x=s[u+(we<<2)>>2]|0;T=x>>2;x=T|x<<15;s[Ke>>2]=0;i=r[De>>0]|0;g=m+(we<<2)|0;if(i<<24>>24==2){i=s[g>>2]|0;if(!(we&Ye)){S=s[Be>>2]|0;e=s[Ze>>2]|0;k=S-i-e+-2|0;Tr(Fe+(k<<1)|0,t+(k+(te(we,s[ze>>2]|0)|0)<<1)|0,pe,S-k|0,e);s[Ke>>2]=1;e=s[Be>>2]|0;s[Ge>>2]=e;k=1;S=r[De>>0]|0;w=i}else{k=0;S=2;w=i}}else{k=0;S=i}A=s[g>>2]|0;M=b+(we<<2)|0;E=s[M>>2]|0;g=(E|0)>1;i=re((g?E:1)|0)|0;g=(g?E:1)<>16;_=536870911/(le|0)|0;ue=_<<16;de=ue>>16;g=536870912-((te(le,de)|0)+((te(g&65535,de)|0)>>16))<<3;_=ue+((te(g>>16,de)|0)+((te(g&65528,de)|0)>>16))+(te(g,(_>>15)+1>>1)|0)|0;i=62-i|0;g=i+-47|0;if((g|0)<1){v=47-i|0;i=-2147483648>>v;g=2147483647>>>v;if((i|0)>(g|0)){if((_|0)<=(i|0))i=(_|0)<(g|0)?g:_}else if((_|0)>(g|0))i=g;else i=(_|0)<(i|0)?i:_;i=i<>g:0;v=(i>>4)+1|0;g=v>>>1<<16>>16;v=(v>>16)+1>>1;y=s[ze>>2]|0;_=0;while(1){if((_|0)>=(y|0))break;ue=n[a+(_<<1)>>1]|0;de=ue<<16>>16;s[qe+(_<<2)>>2]=(te(de>>16,g)|0)+((te(ue&65535,g)|0)>>16)+(te(de,v)|0);_=_+1|0}e:do if(k|0){if(!we)i=(te(i>>16,ve)|0)+((te(i&65535,ve)|0)>>16)<<2;v=i>>16;i=i&65535;g=e-A+-2|0;while(1){if((g|0)>=(e|0))break e;de=n[Fe+(g<<1)>>1]|0;s[je+(g<<2)>>2]=(te(v,de)|0)+((te(i,de)|0)>>16);g=g+1|0}}while(0);g=s[$e>>2]|0;if((E|0)==(g|0))i=S;else{if((g|0)<=0)if(!g)v=32;else{i=0-g|0;Qe=26}else{i=g;Qe=26}if((Qe|0)==26){Qe=0;v=re(i|0)|0}e=g<>16|0)|0)<<16>>16;de=(te(e>>16,_)|0)+((te(e&65535,_)|0)>>16)|0;ue=Nn(ue|0,((ue|0)<0)<<31>>31|0,de|0,((de|0)<0)<<31>>31|0)|0;ue=Sn(ue|0,C|0,29)|0;e=e-(ue&-8)|0;_=de+((te(e>>16,_)|0)+((te(e&65535,_)|0)>>16))|0;i=v+28-i|0;e=i+-16|0;if((i|0)<16){g=16-i|0;i=-2147483648>>g;e=2147483647>>>g;if((i|0)>(e|0)){if((_|0)<=(i|0))i=(_|0)<(e|0)?e:_}else if((_|0)>(e|0))i=e;else i=(_|0)<(i|0)?i:_;g=i<>e:0;e=s[He>>2]|0;v=g>>16;_=g&65535;i=e;e=e-(s[Be>>2]|0)|0;while(1){if((e|0)>=(i|0))break;i=t+1280+(e<<2)|0;de=s[i>>2]|0;ue=de<<16>>16;s[i>>2]=(te(v,ue)|0)+((te(_,ue)|0)>>16)+(te(g,(de>>15)+1>>1)|0);i=s[He>>2]|0;e=e+1|0}e:do if(S<<24>>24==2?(s[Ke>>2]|0)==0:0){e=s[Ge>>2]|0;i=e-A+-2|0;while(1){if((i|0)>=(e|0))break e;de=je+(i<<2)|0;ue=s[de>>2]|0;le=ue<<16>>16;s[de>>2]=(te(v,le)|0)+((te(_,le)|0)>>16)+(te(g,(ue>>15)+1>>1)|0);i=i+1|0}}while(0);i=s[Ce>>2]|0;de=i<<16>>16;s[Ce>>2]=(te(v,de)|0)+((te(_,de)|0)>>16)+(te(g,(i>>15)+1>>1)|0);i=s[Re>>2]|0;de=i<<16>>16;s[Re>>2]=(te(v,de)|0)+((te(_,de)|0)>>16)+(te(g,(i>>15)+1>>1)|0);i=0;while(1){if((i|0)==40){i=0;break}de=t+3840+(i<<2)|0;ue=s[de>>2]|0;le=ue<<16>>16;s[de>>2]=(te(v,le)|0)+((te(_,le)|0)>>16)+(te(g,(ue>>15)+1>>1)|0);i=i+1|0}while(1){if((i|0)==24)break;de=t+4320+(i<<2)|0;ue=s[de>>2]|0;le=ue<<16>>16;s[de>>2]=(te(v,le)|0)+((te(_,le)|0)>>16)+(te(g,(ue>>15)+1>>1)|0);i=i+1|0}s[$e>>2]=s[M>>2];e=s[Ge>>2]|0;E=s[M>>2]|0;i=r[De>>0]|0;y=s[ze>>2]|0}W=s[p+(we<<2)>>2]|0;Y=s[Te>>2]|0;oe=s[Ze>>2]|0;Z=oe>>1;$=pe+2|0;X=pe+4|0;J=pe+6|0;Q=pe+8|0;ee=pe+10|0;ie=pe+12|0;ne=pe+14|0;se=pe+16|0;ae=pe+18|0;oe=(oe|0)==16;fe=pe+20|0;he=pe+22|0;ce=pe+24|0;le=pe+26|0;ue=pe+28|0;de=pe+30|0;L=i<<24>>24==2;B=be+2|0;U=be+4|0;j=be+6|0;F=be+8|0;z=Y>>1;H=Y+-1|0;q=t+4320+(H<<2)|0;H=me+(H<<1)|0;G=s[d+(we<<2)>>2]<<16>>16;V=W<<16>>16;W=W>>16;K=(w|0)>0;D=T<<16>>16;O=x>>16;N=E>>>6<<16>>16;I=(E>>21)+1>>1;i=e;P=0;e=je+(e-w+2<<2)|0;R=xe;_=t+1280+((s[He>>2]|0)-w+1<<2)|0;while(1){if((P|0)>=(y|0))break;s[Xe>>2]=(te(s[Xe>>2]|0,196314165)|0)+907633515;x=s[R>>2]|0;T=n[pe>>1]|0;T=Z+((te(x>>16,T)|0)+((te(x&65535,T)|0)>>16))|0;x=s[R+-4>>2]|0;i=n[$>>1]|0;i=T+((te(x>>16,i)|0)+((te(x&65535,i)|0)>>16))|0;x=s[R+-8>>2]|0;T=n[X>>1]|0;T=i+((te(x>>16,T)|0)+((te(x&65535,T)|0)>>16))|0;x=s[R+-12>>2]|0;i=n[J>>1]|0;i=T+((te(x>>16,i)|0)+((te(x&65535,i)|0)>>16))|0;x=s[R+-16>>2]|0;T=n[Q>>1]|0;T=i+((te(x>>16,T)|0)+((te(x&65535,T)|0)>>16))|0;x=s[R+-20>>2]|0;i=n[ee>>1]|0;i=T+((te(x>>16,i)|0)+((te(x&65535,i)|0)>>16))|0;x=s[R+-24>>2]|0;T=n[ie>>1]|0;T=i+((te(x>>16,T)|0)+((te(x&65535,T)|0)>>16))|0;x=s[R+-28>>2]|0;i=n[ne>>1]|0;i=T+((te(x>>16,i)|0)+((te(x&65535,i)|0)>>16))|0;x=s[R+-32>>2]|0;T=n[se>>1]|0;T=i+((te(x>>16,T)|0)+((te(x&65535,T)|0)>>16))|0;x=s[R+-36>>2]|0;i=n[ae>>1]|0;i=T+((te(x>>16,i)|0)+((te(x&65535,i)|0)>>16))|0;if(oe){x=s[R+-40>>2]|0;T=n[fe>>1]|0;T=i+((te(x>>16,T)|0)+((te(x&65535,T)|0)>>16))|0;x=s[R+-44>>2]|0;i=n[he>>1]|0;i=T+((te(x>>16,i)|0)+((te(x&65535,i)|0)>>16))|0;x=s[R+-48>>2]|0;T=n[ce>>1]|0;T=i+((te(x>>16,T)|0)+((te(x&65535,T)|0)>>16))|0;x=s[R+-52>>2]|0;i=n[le>>1]|0;i=T+((te(x>>16,i)|0)+((te(x&65535,i)|0)>>16))|0;x=s[R+-56>>2]|0;T=n[ue>>1]|0;T=i+((te(x>>16,T)|0)+((te(x&65535,T)|0)>>16))|0;x=s[R+-60>>2]|0;i=n[de>>1]|0;i=T+((te(x>>16,i)|0)+((te(x&65535,i)|0)>>16))|0}if(L){x=s[e>>2]|0;T=n[be>>1]|0;T=(te(x>>16,T)|0)+((te(x&65535,T)|0)>>16)+2|0;x=s[e+-4>>2]|0;M=n[B>>1]|0;M=T+((te(x>>16,M)|0)+((te(x&65535,M)|0)>>16))|0;x=s[e+-8>>2]|0;T=n[U>>1]|0;T=M+((te(x>>16,T)|0)+((te(x&65535,T)|0)>>16))|0;x=s[e+-12>>2]|0;M=n[j>>1]|0;M=T+((te(x>>16,M)|0)+((te(x&65535,M)|0)>>16))|0;x=s[e+-16>>2]|0;T=n[F>>1]|0;T=M+((te(x>>16,T)|0)+((te(x&65535,T)|0)>>16))|0;x=e+4|0}else{T=0;x=e}M=s[Re>>2]|0;v=s[Ie>>2]|0;s[Ie>>2]=M;g=n[me>>1]|0;e=2;g=z+((te(M>>16,g)|0)+((te(M&65535,g)|0)>>16))|0;while(1){if((e|0)>=(Y|0))break;E=e+-1|0;S=t+4320+(E<<2)|0;A=s[S>>2]|0;s[S>>2]=v;E=n[me+(E<<1)>>1]|0;S=t+4320+(e<<2)|0;M=s[S>>2]|0;s[S>>2]=A;E=E<<16>>16;S=n[me+(e<<1)>>1]|0;e=e+2|0;g=g+((te(v>>16,E)|0)+((te(v&65535,E)|0)>>16))+((te(A>>16,S)|0)+((te(A&65535,S)|0)>>16))|0;v=M}s[q>>2]=v;A=n[H>>1]|0;A=g+((te(v>>16,A)|0)+((te(v&65535,A)|0)>>16))<<1;S=s[Ce>>2]|0;e=S>>16;S=S&65535;A=A+((te(e,G)|0)+((te(S,G)|0)>>16))|0;M=s[t+1280+((s[He>>2]|0)+-1<<2)>>2]|0;S=(te(M>>16,V)|0)+((te(M&65535,V)|0)>>16)+(te(e,W)|0)+((te(S,W)|0)>>16)|0;e=(i<<2)-A-S|0;if(K){k=(s[_>>2]|0)+(s[_+-8>>2]|0)|0;k=(te(k>>16,D)|0)+((te(k&65535,D)|0)>>16)|0;E=s[_+-4>>2]|0;M=_+4|0;e=T-(k+(te(E>>16,O)|0)+((te(E&65535,O)|0)>>16)<<1)+(e<<1)>>2}else{M=_;e=e>>1}E=qe+(P<<2)|0;k=(s[E>>2]|0)-(e+1>>1)|0;k=(s[Xe>>2]|0)<0?0-k|0:k;k=(k|0)>30720?30720:(k|0)<-31744?-31744:k;e=k-Le|0;do if(Pe){if((e|0)>(Oe|0)){e=e-Oe|0;Qe=70;break}if((e|0)>=(Ne|0))if((e|0)<0){Qe=73;break}else{e=Le;g=ye;v=ke;_=Ee;break}else{e=e+Oe|0;Qe=70;break}}else Qe=70;while(0);e:do if((Qe|0)==70){Qe=0;e=e>>10;if((e|0)>0){v=(e<<10)+-80+Le|0;_=v+1024|0;e=v;g=_;v=te(v<<16>>16,_e)|0;_=te(_<<16>>16,_e)|0;break}switch(e|0){case 0:{e=Le;g=ye;v=ke;_=Ee;break e}case-1:{Qe=73;break e}default:{}}_=(e<<10|80)+Le|0;e=_;g=_+1024|0;v=te(0-_<<16>>16,_e)|0;_=te(-1024-_<<16>>16,_e)|0}while(0);if((Qe|0)==73){Qe=0;e=Ae;g=Le;v=Se;_=ke}tt=k-e<<16>>16;k=k-g<<16>>16;_=(_+(te(k,k)|0)|0)<(v+(te(tt,tt)|0)|0);_=_?g:e;e=o+P|0;r[e>>0]=((_>>>9)+1|0)>>>1;_=_<<4;T=((s[Xe>>2]|0)<0?0-_|0:_)+(T<<1)|0;i=T+(i<<4)|0;_=((te(i>>16,N)|0)+((te(i&65534,N)|0)>>16)+(te(i,I)|0)>>7)+1>>1;n[ge+(P<<1)>>1]=(_|0)>32767?32767:((_|0)<-32768?-32768:_)&65535;_=R+4|0;s[_>>2]=i;i=i-(s[E>>2]<<4)|0;s[Re>>2]=i;i=i-(A<<2)|0;s[Ce>>2]=i;s[t+1280+(s[He>>2]<<2)>>2]=i-(S<<2);i=s[Ge>>2]|0;s[je+(i<<2)>>2]=T<<1;s[He>>2]=(s[He>>2]|0)+1;i=i+1|0;s[Ge>>2]=i;s[Xe>>2]=(s[Xe>>2]|0)+(r[e>>0]|0);P=P+1|0;e=x;R=_;_=M}Mn(Me|0,t+3840+(y<<2)|0,160)|0;tt=s[ze>>2]|0;a=a+(tt<<1)|0;o=o+tt|0;e=i;we=we+1|0;ge=ge+(tt<<1)|0}s[Je>>2]=s[m+(i+-1<<2)>>2];Tn(t|0,t+(s[Ue>>2]<<1)|0,s[Be>>2]<<1|0)|0;Tn(t+1280|0,t+1280+(s[Ue>>2]<<2)|0,s[Be>>2]<<2|0)|0;l=et;return}function vr(e,t,i,o,f,h,c,u,d,p,b,m,w,g,v){e=e|0;t=t|0;i=i|0;o=o|0;f=f|0;h=h|0;c=c|0;u=u|0;d=d|0;p=p|0;b=b|0;m=m|0;w=w|0;g=g|0;v=v|0;var _=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0,J=0,Q=0,ee=0,ie=0,ne=0,se=0,ae=0,oe=0,fe=0,he=0,ce=0,le=0,ue=0,de=0,pe=0,be=0,me=0,we=0,ge=0,ve=0,_e=0;ge=l;l=l+176|0;ce=ge+160|0;ae=ge;le=t+4424|0;M=s[le>>2]|0;ne=e+4720|0;_=s[ne>>2]|0;pe=l;l=l+((1*(_*1396|0)|0)+15&-16)|0;kn(pe|0,0,_*1396|0)|0;he=i+34|0;be=t+4416|0;me=t+4420|0;we=e+4684|0;ue=t+3840|0;de=t+4320|0;y=0;while(1){if((y|0)>=(_|0))break;k=y+(a[he>>0]|0)&3;s[pe+(y*1396|0)+1384>>2]=k;s[pe+(y*1396|0)+1388>>2]=k;s[pe+(y*1396|0)+1392>>2]=0;s[pe+(y*1396|0)+1376>>2]=s[be>>2];s[pe+(y*1396|0)+1380>>2]=s[me>>2];s[pe+(y*1396|0)+1120>>2]=s[t+1280+((s[we>>2]|0)+-1<<2)>>2];Mn(pe+(y*1396|0)|0,ue|0,160)|0;k=pe+(y*1396|0)+1280|0;A=de;S=k+96|0;do{s[k>>2]=s[A>>2];k=k+4|0;A=A+4|0}while((k|0)<(S|0));y=y+1|0}k=n[i+30>>1]|0;X=i+29|0;se=r[X>>0]|0;J=n[25404+(se<<24>>24>>1<<2)+((k&65535)<<24>>24<<1)>>1]|0;s[ce>>2]=0;fe=e+4680|0;E=s[fe>>2]|0;_=(E|0)>40?40:E;e:do if(se<<24>>24!=2)if((M|0)>0){ee=M+-3|0;ee=(_|0)<(ee|0)?_:ee}else ee=_;else{i=s[e+4672>>2]|0;y=0;while(1){if((y|0)>=(i|0)){ee=_;break e}se=(s[w+(y<<2)>>2]|0)+-3|0;_=(_|0)<(se|0)?_:se;y=y+1|0}}while(0);z=(k&-256)<<16>>16!=1024&1;$=s[we>>2]|0;se=e+4676|0;Y=$+(s[se>>2]|0)|0;W=l;l=l+((1*(Y<<2)|0)+15&-16)|0;K=l;l=l+((1*(Y<<1)|0)+15&-16)|0;Y=l;l=l+((1*(E<<2)|0)+15&-16)|0;Q=t+4432|0;s[Q>>2]=$;U=t+4428|0;s[U>>2]=s[we>>2];ie=e+4672|0;j=z^1;F=t+4444|0;z=z<<1^3;Z=pe+1392|0;q=m+4|0;H=e+4732|0;G=t+4440|0;V=e+4728|0;B=e+4764|0;L=v<<16>>16;D=0;i=M;$=t+($<<1)|0;y=0;while(1){if((D|0)>=(s[ie>>2]|0))break;I=h+((D>>1|j)<<4<<1)|0;P=c+(D*5<<1)|0;O=u+(D*24<<1)|0;N=s[d+(D<<2)>>2]|0;N=N>>2|N>>>1<<16;s[F>>2]=0;_=r[X>>0]|0;A=w+(D<<2)|0;if(_<<24>>24==2){E=s[A>>2]|0;if(!(D&z)){e:do if((D|0)==2){i=s[ne>>2]|0;_=s[Z>>2]|0;k=0;y=1;while(1){if((y|0)>=(i|0)){_=0;break}x=s[pe+(y*1396|0)+1392>>2]|0;R=(x|0)<(_|0);_=R?x:_;k=R?y:k;y=y+1|0}while(1){if((_|0)>=(i|0))break;if((_|0)!=(k|0)){R=pe+(_*1396|0)+1392|0;s[R>>2]=(s[R>>2]|0)+134217727}_=_+1|0}_=0;y=(s[ce>>2]|0)+ee|0;while(1){if((_|0)>=(ee|0)){y=0;break e}R=(y+-1|0)%40|0;R=(R|0)<0?R+40|0:R;x=_-ee|0;r[f+x>>0]=(((s[pe+(k*1396|0)+640+(R<<2)>>2]|0)>>>9)+1|0)>>>1;M=s[pe+(k*1396|0)+800+(R<<2)>>2]|0;T=s[q>>2]|0;v=T<<16>>16;T=((te(M>>16,v)|0)+((te(M&65535,v)|0)>>16)+(te(M,(T>>15)+1>>1)|0)>>13)+1>>1;n[$+(x<<1)>>1]=(T|0)>32767?32767:((T|0)<-32768?-32768:T)&65535;s[t+1280+((s[Q>>2]|0)-ee+_<<2)>>2]=s[pe+(k*1396|0)+1120+(R<<2)>>2];_=_+1|0;y=R}}while(0);R=s[we>>2]|0;v=s[H>>2]|0;_=R-E-v+-2|0;Tr(K+(_<<1)|0,t+(_+(te(D,s[fe>>2]|0)|0)<<1)|0,I,R-_|0,v);s[U>>2]=s[we>>2];s[F>>2]=1;v=1;_=r[X>>0]|0;R=E;x=y}else{v=0;_=2;R=E;x=y}}else{v=0;R=i;x=y}y=s[ne>>2]|0;M=s[A>>2]|0;T=m+(D<<2)|0;k=s[T>>2]|0;E=(k|0)>1;i=re((E?k:1)|0)|0;E=(E?k:1)<>16;S=536870911/(ve|0)|0;A=S<<16;e=A>>16;E=536870912-((te(ve,e)|0)+((te(E&65535,e)|0)>>16))<<3;S=A+((te(E>>16,e)|0)+((te(E&65528,e)|0)>>16))+(te(E,(S>>15)+1>>1)|0)|0;i=62-i|0;E=i+-47|0;if((E|0)<1){A=47-i|0;i=-2147483648>>A;E=2147483647>>>A;if((i|0)>(E|0)){if((S|0)<=(i|0))i=(S|0)<(E|0)?E:S}else if((S|0)>(E|0))i=E;else i=(S|0)<(i|0)?i:S;E=i<>E:0;S=(E>>4)+1|0;A=S>>>1<<16>>16;S=(S>>16)+1>>1;i=s[fe>>2]|0;e=0;while(1){if((e|0)>=(i|0))break;_e=n[o+(e<<1)>>1]|0;ve=_e<<16>>16;s[Y+(e<<2)>>2]=(te(ve>>16,A)|0)+((te(_e&65535,A)|0)>>16)+(te(ve,S)|0);e=e+1|0}e:do if(v|0){if(!D)E=(te(E>>16,L)|0)+((te(E&65535,L)|0)>>16)<<2;S=s[U>>2]|0;e=E>>16;E=E&65535;A=S-M+-2|0;while(1){if((A|0)>=(S|0))break e;_e=n[K+(A<<1)>>1]|0;s[W+(A<<2)>>2]=(te(e,_e)|0)+((te(E,_e)|0)>>16);A=A+1|0}}while(0);E=s[G>>2]|0;if((k|0)!=(E|0)){if((E|0)<=0)if(!E)A=32;else{i=0-E|0;oe=46}else{i=E;oe=46}if((oe|0)==46){oe=0;A=re(i|0)|0}E=E<>16|0)|0)<<16>>16;_e=(te(E>>16,S)|0)+((te(E&65535,S)|0)>>16)|0;k=Nn(k|0,((k|0)<0)<<31>>31|0,_e|0,((_e|0)<0)<<31>>31|0)|0;k=Sn(k|0,C|0,29)|0;k=E-(k&-8)|0;S=_e+((te(k>>16,S)|0)+((te(k&65535,S)|0)>>16))|0;i=A+28-i|0;k=i+-16|0;if((i|0)<16){E=16-i|0;i=-2147483648>>E;k=2147483647>>>E;if((i|0)>(k|0)){if((S|0)<=(i|0))i=(S|0)<(k|0)?k:S}else if((S|0)>(k|0))i=k;else i=(S|0)<(i|0)?i:S;E=i<>k:0;k=s[Q>>2]|0;A=E>>16;S=E&65535;i=k;k=k-(s[we>>2]|0)|0;while(1){if((k|0)>=(i|0))break;i=t+1280+(k<<2)|0;_e=s[i>>2]|0;ve=_e<<16>>16;s[i>>2]=(te(A,ve)|0)+((te(S,ve)|0)>>16)+(te(E,(_e>>15)+1>>1)|0);i=s[Q>>2]|0;k=k+1|0}e:do if(_<<24>>24==2?(s[F>>2]|0)==0:0){_=s[U>>2]|0;i=_-ee|0;_=_-M+-2|0;while(1){if((_|0)>=(i|0)){i=0;break e}_e=W+(_<<2)|0;ve=s[_e>>2]|0;M=ve<<16>>16;s[_e>>2]=(te(A,M)|0)+((te(S,M)|0)>>16)+(te(E,(ve>>15)+1>>1)|0);_=_+1|0}}else i=0;while(0);while(1){if((i|0)>=(y|0))break;_=pe+(i*1396|0)+1376|0;_e=s[_>>2]|0;ve=_e<<16>>16;s[_>>2]=(te(A,ve)|0)+((te(S,ve)|0)>>16)+(te(E,(_e>>15)+1>>1)|0);_=pe+(i*1396|0)+1380|0;_e=s[_>>2]|0;ve=_e<<16>>16;s[_>>2]=(te(A,ve)|0)+((te(S,ve)|0)>>16)+(te(E,(_e>>15)+1>>1)|0);_=0;while(1){if((_|0)==40){_=0;break}_e=pe+(i*1396|0)+(_<<2)|0;ve=s[_e>>2]|0;M=ve<<16>>16;s[_e>>2]=(te(A,M)|0)+((te(S,M)|0)>>16)+(te(E,(ve>>15)+1>>1)|0);_=_+1|0}while(1){if((_|0)==24){_=0;break}_e=pe+(i*1396|0)+1280+(_<<2)|0;ve=s[_e>>2]|0;M=ve<<16>>16;s[_e>>2]=(te(A,M)|0)+((te(S,M)|0)>>16)+(te(E,(ve>>15)+1>>1)|0);_=_+1|0}while(1){if((_|0)==40)break;_e=pe+(i*1396|0)+960+(_<<2)|0;ve=s[_e>>2]|0;M=ve<<16>>16;s[_e>>2]=(te(A,M)|0)+((te(S,M)|0)>>16)+(te(E,(ve>>15)+1>>1)|0);_e=pe+(i*1396|0)+1120+(_<<2)|0;ve=s[_e>>2]|0;M=ve<<16>>16;s[_e>>2]=(te(A,M)|0)+((te(S,M)|0)>>16)+(te(E,(ve>>15)+1>>1)|0);_=_+1|0}i=i+1|0}s[G>>2]=s[T>>2];_=r[X>>0]|0;k=s[T>>2]|0;i=s[fe>>2]|0;y=s[ne>>2]|0}_r(t,pe,_<<24>>24,Y,f,$,W,ae,I,P,O,R,N,s[p+(D<<2)>>2]|0,s[b+(D<<2)>>2]|0,k,g,J,i,x,s[V>>2]|0,s[H>>2]|0,s[B>>2]|0,y,ce,ee);y=s[fe>>2]|0;o=o+(y<<1)|0;f=f+y|0;D=D+1|0;i=R;$=$+(y<<1)|0;y=x+1|0}i=s[ne>>2]|0;_=s[Z>>2]|0;E=0;y=1;while(1){if((y|0)>=(i|0))break;ve=s[pe+(y*1396|0)+1392>>2]|0;_e=(ve|0)<(_|0);_=_e?ve:_;E=_e?y:E;y=y+1|0}r[he>>0]=s[pe+(E*1396|0)+1388>>2];i=s[m+((s[ie>>2]|0)+-1<<2)>>2]|0;y=i>>>6<<16>>16;i=(i>>21)+1>>1;k=0;_=(s[ce>>2]|0)+ee|0;while(1){if((k|0)>=(ee|0))break;_e=(_+-1|0)%40|0;_e=(_e|0)<0?_e+40|0:_e;ve=k-ee|0;r[f+ve>>0]=(((s[pe+(E*1396|0)+640+(_e<<2)>>2]|0)>>>9)+1|0)>>>1;ce=s[pe+(E*1396|0)+800+(_e<<2)>>2]|0;ce=((te(ce>>16,y)|0)+((te(ce&65535,y)|0)>>16)+(te(ce,i)|0)>>7)+1>>1;n[$+(ve<<1)>>1]=(ce|0)>32767?32767:((ce|0)<-32768?-32768:ce)&65535;s[t+1280+((s[Q>>2]|0)-ee+k<<2)>>2]=s[pe+(E*1396|0)+1120+(_e<<2)>>2];k=k+1|0;_=_e}Mn(ue|0,pe+(E*1396|0)+(s[fe>>2]<<2)|0,160)|0;k=de;A=pe+(E*1396|0)+1280|0;S=k+96|0;do{s[k>>2]=s[A>>2];k=k+4|0;A=A+4|0}while((k|0)<(S|0));s[be>>2]=s[pe+(E*1396|0)+1376>>2];s[me>>2]=s[pe+(E*1396|0)+1380>>2];s[le>>2]=s[w+((s[ie>>2]|0)+-1<<2)>>2];Tn(t|0,t+(s[se>>2]<<1)|0,s[we>>2]<<1|0)|0;Tn(t+1280|0,t+1280+(s[se>>2]<<2)|0,s[we>>2]<<2|0)|0;l=ge;return}function _r(e,t,i,a,o,f,h,c,u,d,p,b,m,w,g,v,_,y,k,E,A,S,M,T,x,R){e=e|0;t=t|0;i=i|0;a=a|0;o=o|0;f=f|0;h=h|0;c=c|0;u=u|0;d=d|0;p=p|0;b=b|0;m=m|0;w=w|0;g=g|0;v=v|0;_=_|0;y=y|0;k=k|0;E=E|0;A=A|0;S=S|0;M=M|0;T=T|0;x=x|0;R=R|0;var I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0,J=0,Q=0,ee=0,ie=0,re=0,ne=0,se=0,ae=0,oe=0,fe=0,he=0,ce=0,le=0,ue=0,de=0,pe=0,be=0,me=0,we=0,ge=0,ve=0,_e=0,ye=0,ke=0,Ee=0,Ae=0,Se=0,Me=0,Te=0,xe=0,Re=0,Ie=0,Ce=0,Pe=0,Oe=0,Ne=0,De=0,Le=0,Be=0;Ne=l;Ie=l;l=l+((1*(T*56|0)|0)+15&-16)|0;Ce=e+4432|0;Pe=e+4428|0;Re=v>>6;ke=(i|0)==2;Ee=d+2|0;Ae=d+4|0;Se=d+6|0;Me=d+8|0;Te=(b|0)>0;xe=m<<16>>16;le=m>>16;ue=S>>1;de=u+2|0;pe=u+4|0;be=u+6|0;me=u+8|0;we=u+10|0;ge=u+12|0;ve=u+14|0;_e=u+16|0;ye=u+18|0;ne=(S|0)==16;se=u+20|0;ae=u+22|0;oe=u+24|0;fe=u+26|0;he=u+28|0;ce=u+30|0;Q=M<<16>>16;ee=A>>1;ie=A+-1|0;re=p+(ie<<1)|0;X=w<<16>>16;J=g<<16>>16;K=g>>16;Y=(_|0)>2048;$=(_|0)/2|0;Z=$+-512|0;$=512-$|0;j=_<<16>>16;F=y+944|0;z=te(y<<16>>16,j)|0;q=te(F<<16>>16,j)|0;H=y+-944|0;G=te(944-y<<16>>16,j)|0;V=Ie+4|0;W=Ie+32|0;B=(E|0)<1;U=0;v=h+((s[Pe>>2]|0)-b+2<<2)|0;i=e+1280+((s[Ce>>2]|0)-b+1<<2)|0;while(1){if((U|0)>=(k|0)){v=0;break}if(ke){D=s[v>>2]|0;N=n[d>>1]|0;N=(te(D>>16,N)|0)+((te(D&65535,N)|0)>>16)+2|0;D=s[v+-4>>2]|0;L=n[Ee>>1]|0;L=N+((te(D>>16,L)|0)+((te(D&65535,L)|0)>>16))|0;D=s[v+-8>>2]|0;N=n[Ae>>1]|0;N=L+((te(D>>16,N)|0)+((te(D&65535,N)|0)>>16))|0;D=s[v+-12>>2]|0;L=n[Se>>1]|0;L=N+((te(D>>16,L)|0)+((te(D&65535,L)|0)>>16))|0;D=s[v+-16>>2]|0;N=n[Me>>1]|0;N=L+((te(D>>16,N)|0)+((te(D&65535,N)|0)>>16))<<1;D=v+4|0}else{N=0;D=v}if(Te){L=(s[i>>2]|0)+(s[i+-8>>2]|0)|0;L=(te(L>>16,xe)|0)+((te(L&65535,xe)|0)>>16)|0;O=s[i+-4>>2]|0;O=N-(L+(te(O>>16,le)|0)+((te(O&65535,le)|0)>>16)<<2)|0;L=i+4|0}else{O=0;L=i}I=U+39|0;C=a+(U<<2)|0;P=0;while(1){if((P|0)>=(T|0))break;M=t+(P*1396|0)+1384|0;s[M>>2]=(te(s[M>>2]|0,196314165)|0)+907633515;v=t+(P*1396|0)+(I<<2)|0;b=s[v>>2]|0;E=n[u>>1]|0;E=ue+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[v+-4>>2]|0;i=n[de>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0;b=s[v+-8>>2]|0;E=n[pe>>1]|0;E=i+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[v+-12>>2]|0;i=n[be>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0;b=s[v+-16>>2]|0;E=n[me>>1]|0;E=i+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[v+-20>>2]|0;i=n[we>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0;b=s[v+-24>>2]|0;E=n[ge>>1]|0;E=i+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[v+-28>>2]|0;i=n[ve>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0;b=s[v+-32>>2]|0;E=n[_e>>1]|0;E=i+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[v+-36>>2]|0;i=n[ye>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0;if(ne){b=s[v+-40>>2]|0;E=n[se>>1]|0;E=i+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[v+-44>>2]|0;i=n[ae>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0;b=s[v+-48>>2]|0;E=n[oe>>1]|0;E=i+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[v+-52>>2]|0;i=n[fe>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0;b=s[v+-56>>2]|0;E=n[he>>1]|0;E=i+((te(b>>16,E)|0)+((te(b&65535,E)|0)>>16))|0;b=s[v+-60>>2]|0;i=n[ce>>1]|0;i=E+((te(b>>16,i)|0)+((te(b&65535,i)|0)>>16))|0}m=t+(P*1396|0)+1280|0;v=s[m>>2]|0;b=(s[t+(P*1396|0)+1380>>2]|0)+((te(v>>16,Q)|0)+((te(v&65535,Q)|0)>>16))|0;S=(s[t+(P*1396|0)+1284>>2]|0)-b|0;S=v+((te(S>>16,Q)|0)+((te(S&65535,Q)|0)>>16))|0;s[m>>2]=b;m=n[p>>1]|0;v=2;m=ee+((te(b>>16,m)|0)+((te(b&65535,m)|0)>>16))|0;while(1){if((v|0)>=(A|0))break;w=v+-1|0;b=t+(P*1396|0)+1280+(w<<2)|0;_=t+(P*1396|0)+1280+(v<<2)|0;E=s[_>>2]|0;g=E-S|0;g=(s[b>>2]|0)+((te(g>>16,Q)|0)+((te(g&65535,Q)|0)>>16))|0;s[b>>2]=S;w=n[p+(w<<1)>>1]|0;b=s[t+(P*1396|0)+1280+((v|1)<<2)>>2]|0;s[_>>2]=g;w=w<<16>>16;_=n[p+(v<<1)>>1]|0;b=b-g|0;v=v+2|0;m=m+((te(S>>16,w)|0)+((te(S&65535,w)|0)>>16))+((te(g>>16,_)|0)+((te(g&65535,_)|0)>>16))|0;S=E+((te(b>>16,Q)|0)+((te(b&65535,Q)|0)>>16))|0}b=i<<4;s[t+(P*1396|0)+1280+(ie<<2)>>2]=S;g=n[re>>1]|0;g=m+((te(S>>16,g)|0)+((te(S&65535,g)|0)>>16))<<1;_=s[t+(P*1396|0)+1376>>2]|0;E=_>>16;_=_&65535;g=g+((te(E,X)|0)+((te(_,X)|0)>>16))<<2;w=s[t+(P*1396|0)+1120+(s[x>>2]<<2)>>2]|0;_=(te(w>>16,J)|0)+((te(w&65535,J)|0)>>16)+(te(E,K)|0)+((te(_,K)|0)>>16)<<2;E=s[C>>2]|0;w=E-((O+b-(g+_)>>3)+1>>1)|0;M=(s[M>>2]|0)<0;w=M?0-w|0:w;w=(w|0)>30720?30720:(w|0)<-31744?-31744:w;v=w-y|0;do if(Y){if((v|0)>(Z|0)){v=v-Z|0;Oe=20;break}if((v|0)>=($|0))if((v|0)<0){Oe=23;break}else{v=y;i=F;m=z;S=q;break}else{v=v+Z|0;Oe=20;break}}else Oe=20;while(0);e:do if((Oe|0)==20){Oe=0;v=v>>10;if((v|0)>0){m=(v<<10)+-80+y|0;S=m+1024|0;v=m;i=S;m=te(m<<16>>16,j)|0;S=te(S<<16>>16,j)|0;break}switch(v|0){case 0:{v=y;i=F;m=z;S=q;break e}case-1:{Oe=23;break e}default:{}}S=(v<<10|80)+y|0;v=S;i=S+1024|0;m=te(0-S<<16>>16,j)|0;S=te(-1024-S<<16>>16,j)|0}while(0);if((Oe|0)==23){Oe=0;v=H;i=y;m=G;S=z}De=w-v<<16>>16;De=m+(te(De,De)|0)>>10;w=w-i<<16>>16;w=S+(te(w,w)|0)>>10;Le=(De|0)<(w|0);Be=s[t+(P*1396|0)+1392>>2]|0;m=Le?v:i;S=Le?i:v;s[Ie+(P*56|0)+4>>2]=Be+(Le?De:w);s[Ie+(P*56|0)+32>>2]=Be+(Le?w:De);s[Ie+(P*56|0)>>2]=m;s[Ie+(P*56|0)+28>>2]=S;i=m<<4;i=(M?0-i|0:i)+N|0;m=i+b|0;w=E<<4;E=m-w|0;s[Ie+(P*56|0)+16>>2]=E;E=E-g|0;s[Ie+(P*56|0)+20>>2]=E-_;s[Ie+(P*56|0)+12>>2]=E;s[Ie+(P*56|0)+24>>2]=i;s[Ie+(P*56|0)+8>>2]=m;E=S<<4;E=(M?0-E|0:E)+N|0;b=E+b|0;w=b-w|0;s[Ie+(P*56|0)+44>>2]=w;g=w-g|0;s[Ie+(P*56|0)+48>>2]=g-_;s[Ie+(P*56|0)+40>>2]=g;s[Ie+(P*56|0)+52>>2]=E;s[Ie+(P*56|0)+36>>2]=b;P=P+1|0}v=((s[x>>2]|0)+-1|0)%40|0;g=(v|0)<0;i=v+40|0;s[x>>2]=g?i:v;v=(g?i:v)+R|0;i=s[V>>2]|0;g=0;m=1;while(1){if((m|0)>=(T|0))break;Le=s[Ie+(m*56|0)+4>>2]|0;Be=(Le|0)<(i|0);i=Be?Le:i;g=Be?m:g;m=m+1|0}w=(v|0)%40|0;v=s[t+(g*1396|0)+480+(w<<2)>>2]|0;i=0;while(1){if((i|0)>=(T|0))break;if((s[t+(i*1396|0)+480+(w<<2)>>2]|0)!=(v|0)){Be=Ie+(i*56|0)+4|0;s[Be>>2]=(s[Be>>2]|0)+134217727;Be=Ie+(i*56|0)+32|0;s[Be>>2]=(s[Be>>2]|0)+134217727}i=i+1|0}v=s[V>>2]|0;i=0;m=s[W>>2]|0;S=0;M=1;while(1){if((M|0)>=(T|0))break;N=s[Ie+(M*56|0)+4>>2]|0;De=(N|0)>(v|0);Le=s[Ie+(M*56|0)+32>>2]|0;Be=(Le|0)<(m|0);v=De?N:v;i=De?M:i;m=Be?Le:m;S=Be?M:S;M=M+1|0}if((m|0)<(v|0)){Mn(t+(i*1396|0)+(U<<2)|0,t+(S*1396|0)+(U<<2)|0,1396-(U<<2)|0)|0;Be=Ie+(i*56|0)|0;Le=Ie+(S*56|0)+28|0;s[Be>>2]=s[Le>>2];s[Be+4>>2]=s[Le+4>>2];s[Be+8>>2]=s[Le+8>>2];s[Be+12>>2]=s[Le+12>>2];s[Be+16>>2]=s[Le+16>>2];s[Be+20>>2]=s[Le+20>>2];s[Be+24>>2]=s[Le+24>>2]}if(!(B&(U|0)<(R|0))){Be=U-R|0;r[o+Be>>0]=(((s[t+(g*1396|0)+640+(w<<2)>>2]|0)>>>9)+1|0)>>>1;De=s[t+(g*1396|0)+800+(w<<2)>>2]|0;Le=s[c+(w<<2)>>2]|0;N=Le<<16>>16;Le=((te(De>>16,N)|0)+((te(De&65535,N)|0)>>16)+(te(De,(Le>>15)+1>>1)|0)>>7)+1>>1;n[f+(Be<<1)>>1]=(Le|0)>32767?32767:((Le|0)<-32768?-32768:Le)&65535;s[e+1280+((s[Ce>>2]|0)-R<<2)>>2]=s[t+(g*1396|0)+1120+(w<<2)>>2];s[h+((s[Pe>>2]|0)-R<<2)>>2]=s[t+(g*1396|0)+960+(w<<2)>>2]}s[Ce>>2]=(s[Ce>>2]|0)+1;s[Pe>>2]=(s[Pe>>2]|0)+1;v=U+40|0;i=0;while(1){if((i|0)>=(T|0))break;s[t+(i*1396|0)+1376>>2]=s[Ie+(i*56|0)+12>>2];s[t+(i*1396|0)+1380>>2]=s[Ie+(i*56|0)+16>>2];Be=s[Ie+(i*56|0)+8>>2]|0;s[t+(i*1396|0)+(v<<2)>>2]=Be;s[t+(i*1396|0)+800+(s[x>>2]<<2)>>2]=Be;Be=s[Ie+(i*56|0)>>2]|0;s[t+(i*1396|0)+640+(s[x>>2]<<2)>>2]=Be;s[t+(i*1396|0)+960+(s[x>>2]<<2)>>2]=s[Ie+(i*56|0)+24>>2]<<1;s[t+(i*1396|0)+1120+(s[x>>2]<<2)>>2]=s[Ie+(i*56|0)+20>>2];Le=t+(i*1396|0)+1384|0;Be=(s[Le>>2]|0)+((Be>>9)+1>>1)|0;s[Le>>2]=Be;s[t+(i*1396|0)+480+(s[x>>2]<<2)>>2]=Be;s[t+(i*1396|0)+1392>>2]=s[Ie+(i*56|0)+4>>2];i=i+1|0}s[c+(s[x>>2]<<2)>>2]=Re;U=U+1|0;v=D;i=L}while(1){if((v|0)>=(T|0))break;Mn(t+(v*1396|0)|0,t+(v*1396|0)+(k<<2)|0,160)|0;v=v+1|0}l=Ne;return}function yr(e,t,i){e=e|0;t=t|0;i=i|0;var a=0,f=0,h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0;H=l;l=l+64|0;c=H+20|0;u=H+16|0;f=H+12|0;h=H+8|0;q=H+24|0;a=H;N=e+2336|0;b=s[N>>2]|0;z=e+2328|0;D=l;l=l+((1*(b+(s[z>>2]|0)<<2)|0)+15&-16)|0;g=l;l=l+((1*(b<<1)|0)+15&-16)|0;s[a>>2]=s[e+4240>>2]>>6;b=e+4244|0;U=s[b>>2]|0;B=U>>6;s[a+4>>2]=B;if(s[e+2376>>2]|0){p=e+4182|0;d=p+32|0;do{n[p>>1]=0;p=p+2|0}while((p|0)<(d|0))}P=e+2332|0;O=e+2324|0;kr(f,c,h,u,e+4|0,a,s[P>>2]|0,s[O>>2]|0);a=s[e+4252>>2]|0;if((s[f>>2]>>s[u>>2]|0)<(s[h>>2]>>s[c>>2]|0)){a=te(a+-1|0,s[e+4256>>2]|0)|0;a=(a|0)<128?0:a+-128|0}else{a=te(a,s[e+4256>>2]|0)|0;a=(a|0)<128?0:a+-128|0}C=e+4+(a<<2)|0;T=e+4172|0;j=e+4224|0;d=n[j>>1]|0;c=e+4160|0;p=s[c>>2]|0;F=(p|0)>1;w=n[25776+((F?1:p)<<1)>>1]|0;u=e+4164|0;p=n[((s[u>>2]|0)==2?25780:25784)+((F?1:p)<<1)>>1]|0;F=e+2340|0;f=(s[F>>2]|0)+-1|0;a=64881;h=0;while(1){if((h|0)>=(f|0))break;L=e+4182+(h<<1)|0;n[L>>1]=(((te(a,n[L>>1]|0)|0)>>>15)+1|0)>>>1;a=a+(((te(a,-655)|0)>>15)+1>>1)|0;h=h+1|0}h=e+4182+(f<<1)|0;n[h>>1]=(((te(a,n[h>>1]|0)|0)>>>15)+1|0)>>>1;a=e+4182|0;h=s[F>>2]|0;Mn(q|0,a|0,h<<1|0)|0;do if(!(s[c>>2]|0)){if((s[u>>2]|0)==2){a=0;f=16384;while(1){if((a|0)==5)break;L=(f&65535)-(o[e+4172+(a<<1)>>1]|0)&65535;a=a+1|0;f=L}d=(te((f<<16>>16<3277?3277:f)<<16>>16,n[e+4236>>1]|0)|0)>>>14&65535;break}a=xr(a,h)|0;if((a|0)<=134217728)if((a|0)<4194304)a=4194304;else m=16;else{a=134217728;m=16}d=a<<3;p=(te(d>>16,p)|0)+((te(d&65528,p)|0)>>16)>>14;d=16384}while(0);L=e+4220|0;A=s[L>>2]|0;M=e+4168|0;E=(s[M>>2]>>7)+1>>1;S=s[N>>2]|0;u=S-E-h+-2|0;Tr(g+(u<<1)|0,e+1348+(u<<1)|0,q,S-u|0,h);f=s[b>>2]|0;if((f|0)<=0)if(!f)a=32;else{a=0-f|0;m=20}else{a=f;m=20}if((m|0)==20)a=re(a|0)|0;f=f<>16;c=536870911/(x|0)|0;R=c<<16;I=R>>16;f=536870912-((te(x,I)|0)+((te(f&65535,I)|0)>>16))<<3;c=R+((te(f>>16,I)|0)+((te(f&65528,I)|0)>>16))+(te(f,(c>>15)+1>>1)|0)|0;a=62-a|0;f=a+-46|0;if((f|0)>=1)if((f|0)<32){a=c>>f;m=30}else a=0;else{h=46-a|0;a=-2147483648>>h;f=2147483647>>>h;if((a|0)>(f|0)){if((c|0)<=(a|0))a=(c|0)<(f|0)?f:c}else if((c|0)>(f|0))a=f;else a=(c|0)<(a|0)?a:c;a=a<>2]|0;c=a>>16;f=a&65535;a=u+(s[F>>2]|0)|0;while(1){if((a|0)>=(h|0))break;I=n[g+(a<<1)>>1]|0;s[D+(a<<2)>>2]=(te(c,I)|0)+((te(f,I)|0)>>16);a=a+1|0}v=e+4174|0;_=e+4176|0;y=e+4178|0;k=e+4180|0;m=w<<16>>16;w=e+2765|0;g=e+2316|0;p=p<<16>>16;b=0;I=E;R=d;x=A;f=S;while(1){if((b|0)>=(s[O>>2]|0))break;u=R<<16>>16;h=s[P>>2]|0;c=0;a=D+(f-I+2<<2)|0;d=x;while(1){if((c|0)>=(h|0)){a=0;break}I=s[a>>2]|0;S=n[T>>1]|0;S=(te(I>>16,S)|0)+((te(I&65535,S)|0)>>16)+2|0;I=s[a+-4>>2]|0;x=n[v>>1]|0;x=S+((te(I>>16,x)|0)+((te(I&65535,x)|0)>>16))|0;I=s[a+-8>>2]|0;S=n[_>>1]|0;S=x+((te(I>>16,S)|0)+((te(I&65535,S)|0)>>16))|0;I=s[a+-12>>2]|0;x=n[y>>1]|0;x=S+((te(I>>16,x)|0)+((te(I&65535,x)|0)>>16))|0;I=s[a+-16>>2]|0;S=n[k>>1]|0;S=x+((te(I>>16,S)|0)+((te(I&65535,S)|0)>>16))|0;I=(te(d,196314165)|0)+907633515|0;x=s[C+(I>>>25<<2)>>2]|0;s[D+(f<<2)>>2]=S+((te(x>>16,u)|0)+((te(x&65535,u)|0)>>16))<<2;c=c+1|0;a=a+4|0;d=I;f=f+1|0}while(1){if((a|0)==5)break;I=e+4172+(a<<1)|0;n[I>>1]=(te(m,n[I>>1]|0)|0)>>>15;a=a+1|0}if(!(r[w>>0]|0))a=R;else a=(te(u,p)|0)>>>15&65535;R=s[M>>2]|0;R=R+(((R>>16)*655|0)+(((R&65535)*655|0)>>>16))|0;s[M>>2]=R;I=(s[g>>2]<<16>>16)*4608|0;I=(R|0)<(I|0)?R:I;s[M>>2]=I;b=b+1|0;I=(I>>7)+1>>1;R=a;x=d}T=D+((s[N>>2]|0)+-16<<2)|0;M=e+1284|0;p=T;a=M;d=p+64|0;do{s[p>>2]=s[a>>2];p=p+4|0;a=a+4|0}while((p|0)<(d|0));m=n[q>>1]|0;w=n[q+2>>1]|0;g=n[q+4>>1]|0;v=n[q+6>>1]|0;_=n[q+8>>1]|0;y=n[q+10>>1]|0;k=n[q+12>>1]|0;E=n[q+14>>1]|0;A=n[q+16>>1]|0;S=n[q+18>>1]|0;b=B<<16>>16;d=(U>>21)+1>>1;p=0;while(1){a=s[z>>2]|0;if((p|0)>=(a|0))break;a=s[T+(p+15<<2)>>2]|0;a=(s[F>>2]>>1)+((te(a>>16,m)|0)+((te(a&65535,m)|0)>>16))|0;u=s[T+(p+14<<2)>>2]|0;u=a+((te(u>>16,w)|0)+((te(u&65535,w)|0)>>16))|0;a=s[T+(p+13<<2)>>2]|0;a=u+((te(a>>16,g)|0)+((te(a&65535,g)|0)>>16))|0;u=s[T+(p+12<<2)>>2]|0;u=a+((te(u>>16,v)|0)+((te(u&65535,v)|0)>>16))|0;a=s[T+(p+11<<2)>>2]|0;a=u+((te(a>>16,_)|0)+((te(a&65535,_)|0)>>16))|0;u=s[T+(p+10<<2)>>2]|0;u=a+((te(u>>16,y)|0)+((te(u&65535,y)|0)>>16))|0;a=s[T+(p+9<<2)>>2]|0;a=u+((te(a>>16,k)|0)+((te(a&65535,k)|0)>>16))|0;u=s[T+(p+8<<2)>>2]|0;u=a+((te(u>>16,E)|0)+((te(u&65535,E)|0)>>16))|0;a=s[T+(p+7<<2)>>2]|0;a=u+((te(a>>16,A)|0)+((te(a&65535,A)|0)>>16))|0;u=s[T+(p+6<<2)>>2]|0;u=a+((te(u>>16,S)|0)+((te(u&65535,S)|0)>>16))|0;a=s[F>>2]|0;f=p+16|0;h=10;while(1){if((h|0)>=(a|0))break;B=s[T+(f-h+-1<<2)>>2]|0;U=n[q+(h<<1)>>1]|0;u=u+((te(B>>16,U)|0)+((te(B&65535,U)|0)>>16))|0;h=h+1|0}c=T+(f<<2)|0;a=s[c>>2]|0;f=(u|0)>134217727;h=f?2147483632:((u|0)<-134217728?-134217728:u)<<4;if((a+(f?2147483632:((u|0)<-134217728?-134217728:u)<<4)|0)>-1)if((a&h|0)<0)a=-2147483648;else a=a+(f?2147483632:((u|0)<-134217728?-134217728:u)<<4)|0;else if((a|h|0)>-1)a=2147483647;else a=a+(f?2147483632:((u|0)<-134217728?-134217728:u)<<4)|0;s[c>>2]=a;U=((te(a>>16,b)|0)+((te(a&65535,b)|0)>>16)+(te(a,d)|0)>>7)+1>>1;n[i+(p<<1)>>1]=(U|0)>32767?32767:((U|0)<-32768?-32768:U)&65535;p=p+1|0}p=M;a=T+(a<<2)|0;d=p+64|0;do{s[p>>2]=s[a>>2];p=p+4|0;a=a+4|0}while((p|0)<(d|0));s[L>>2]=x;n[j>>1]=R;a=0;while(1){if((a|0)==4)break;s[t+(a<<2)>>2]=I;a=a+1|0}l=H;return}function kr(e,t,i,r,a,o,f,h){e=e|0;t=t|0;i=i|0;r=r|0;a=a|0;o=o|0;f=f|0;h=h|0;var c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0;w=l;c=l;l=l+((1*(f<<1<<1)|0)+15&-16)|0;p=c;m=0;while(1){if((m|0)==2)break;u=te(m+h+-2|0,f)|0;d=o+(m<<2)|0;b=0;while(1){if((b|0)>=(f|0))break;v=s[a+(b+u<<2)>>2]|0;g=s[d>>2]|0;_=g<<16>>16;g=(te(v>>16,_)|0)+((te(v&65535,_)|0)>>16)+(te(v,(g>>15)+1>>1)|0)>>8;n[p+(b<<1)>>1]=(g|0)>32767?32767:((g|0)<-32768?-32768:g)&65535;b=b+1|0}p=p+(f<<1)|0;m=m+1|0}Nr(e,t,c,f);Nr(i,r,c+(f<<1)|0,f);l=w;return}function Er(e,t){e=e|0;t=t|0;var i=0,r=0,a=0,f=0,h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0;y=l;l=l+48|0;g=y+32|0;_=y+16|0;m=y;v=e+4676|0;c=s[v>>2]|0;d=c>>1;i=c>>2;a=c>>3;s[m>>2]=0;p=a+i|0;s[m+4>>2]=p;u=p+a|0;s[m+8>>2]=u;h=u+i|0;s[m+12>>2]=h;b=l;l=l+((1*(h+d<<1)|0)+15&-16)|0;Sr(t,e+32|0,b,b+(h<<1)|0,c);Sr(b,e+40|0,b,b+(u<<1)|0,d);Sr(b,e+48|0,b,b+(p<<1)|0,i);i=b+(a+-1<<1)|0;t=n[i>>1]>>1;n[i>>1]=t;i=t;while(1){r=a+-1|0;if((a|0)<=1)break;d=b+(a+-2<<1)|0;p=n[d>>1]>>1;n[d>>1]=p;n[b+(r<<1)>>1]=(i&65535)-(p&65535);i=p;a=r}u=e+88|0;n[b>>1]=(o[b>>1]|0)-(o[u>>1]|0);n[u>>1]=t;u=0;i=0;while(1){if((u|0)==4)break;a=4-u|0;a=s[v>>2]>>((a|0)<3?a:3)>>2;f=e+56+(u<<2)|0;t=s[f>>2]|0;h=g+(u<<2)|0;s[h>>2]=t;c=m+(u<<2)|0;d=0;p=0;while(1){if((p|0)==4)break;else{r=0;i=0}while(1){if((r|0)>=(a|0))break;k=n[b+((s[c>>2]|0)+r+d<<1)>>1]>>3;r=r+1|0;i=i+(te(k,k)|0)|0}if((p|0)<3){t=t+i|0;t=(t|0)<0?2147483647:t}else{t=t+(i>>1)|0;t=(t|0)<0?2147483647:t}s[h>>2]=t;d=d+a|0;p=p+1|0}s[f>>2]=i;u=u+1|0}c=e+140|0;t=s[c>>2]|0;if((t|0)<1e3)h=32767/((t>>4)+1|0)|0;else h=0;f=0;while(1){if((f|0)==4)break;r=e+92+(f<<2)|0;i=s[r>>2]|0;t=(s[g+(f<<2)>>2]|0)+(s[e+124+(f<<2)>>2]|0)|0;t=(t|0)<0?2147483647:t;a=2147483647/(t|0)|0;if((t|0)<=(i<<3|0))if((t|0)<(i|0))t=1024;else{k=i<<16>>16;m=te(a>>16,k)|0;k=te(a&65535,k)|0;t=te(a,(i>>15)+1>>1)|0;t=m+(k>>16)+t>>16<<11|(m+(k>>>16)+t|0)>>>5&2047}else t=128;m=e+108+(f<<2)|0;p=s[m>>2]|0;b=a-p|0;k=((t|0)>(h|0)?t:h)<<16>>16;k=p+((te(b>>16,k)|0)+((te(b&65535,k)|0)>>16))|0;s[m>>2]=k;k=2147483647/(k|0)|0;s[r>>2]=(k|0)<16777215?k:16777215;f=f+1|0}s[c>>2]=(s[c>>2]|0)+1;p=0;b=0;f=0;while(1){if((p|0)==4)break;c=s[g+(p<<2)>>2]|0;u=s[e+92+(p<<2)>>2]|0;d=c-u|0;if((d|0)>0){if(c>>>0<8388608)t=(c<<8|0)/(u+1|0)|0;else t=(c|0)/((u>>8)+1|0)|0;s[_+(p<<2)>>2]=t;a=re(t|0)|0;i=24-a|0;r=0-i|0;do if(i)if((i|0)<0){t=t<>>(i+32|0);break}else{t=t<<32-i|t>>>i;break}while(0);t=t&127;t=t+(((te(t,128-t|0)|0)*179|0)>>>16)+(31-a<<7)+-1024|0;h=t<<16>>16;f=f+(te(h,h)|0)|0;if((d|0)<1048576){r=re(d|0)|0;r=(c|0)==(u|0)?32:r;t=24-r|0;i=0-t|0;do if(t)if((t|0)<0){t=d<>>(t+32|0);break}else{t=d<<32-t|d>>>t;break}else t=d;while(0);r=((r&1|0)==0?46214:32768)>>>(r>>>1);a=(te(t&127,13959168)|0)>>>16;a=te(r+((te(r>>16,a)|0)+((te(r&65535,a)|0)>>>16))<<6>>16,h)|0;r=re(d|0)|0;r=(c|0)==(u|0)?32:r;t=24-r|0;i=0-t|0;do if(t)if((t|0)<0){t=d<>>(t+32|0);break}else{t=d<<32-t|d>>>t;break}else t=d;while(0);k=((r&1|0)==0?46214:32768)>>>(r>>>1);t=(te(t&127,13959168)|0)>>>16;t=a+((te(k+((te(k>>16,t)|0)+((te(k&65535,t)|0)>>>16))<<6&65472,h)|0)>>16)|0}k=s[22976+(p<<2)>>2]|0;i=t<<16>>16;i=b+((te(k>>16,i)|0)+((te(k&65535,i)|0)>>16))|0;t=f}else{s[_+(p<<2)>>2]=256;i=b;t=f}p=p+1|0;b=i;f=t}t=(f|0)/4|0;do if((f|0)>=4){a=re(t|0)|0;a=(f+3|0)>>>0<7?32:a;i=24-a|0;r=0-i|0;do if(i)if((i|0)<0){t=t<>>(i+32|0);break}else{t=t<<32-i|t>>>i;break}while(0);i=((a&1|0)==0?46214:32768)>>>(a>>>1);t=(te(t&127,13959168)|0)>>>16;t=((i+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>>16))|0)*196608>>16)*45e3>>16;i=t+-128|0;if((t|0)<128)if((i|0)<-191){t=0;break}else{t=128-t|0;w=53;break}if((i|0)>191)t=32767;else{t=i>>5;t=(s[23040+(t<<2)>>2]|0)+(te(s[23016+(t<<2)>>2]<<16>>16,i&31)|0)|0}}else{t=128;w=53}while(0);if((w|0)==53){k=t>>5;t=(s[22992+(k<<2)>>2]|0)-(te(s[23016+(k<<2)>>2]<<16>>16,t&31)|0)|0}if((b|0)<0){i=0-b|0;if((b|0)<-191)i=0;else{k=i>>5;i=(s[22992+(k<<2)>>2]|0)-(te(s[23016+(k<<2)>>2]<<16>>16,i&31)|0)|0}}else if((b|0)>191)i=32767;else{i=b>>5;i=(s[23040+(i<<2)>>2]|0)+(te(s[23016+(i<<2)>>2]<<16>>16,b&31)|0)|0}s[e+4804>>2]=(i<<1)+-32768;i=0;r=0;while(1){if((i|0)==4)break;w=i+1|0;k=r+(te(w,(s[g+(i<<2)>>2]|0)-(s[e+92+(i<<2)>>2]|0)>>4)|0)|0;i=w;r=k}if((r|0)>=1){if((r|0)<32768){i=r<<((s[v>>2]|0)==((s[e+4668>>2]|0)*10|0)?16:15);f=re(i|0)|0;r=24-f|0;a=0-r|0;do if(r)if((r|0)<0){i=i<>>(r+32|0);break}else{i=i<<32-r|i>>>r;break}while(0);g=((f&1|0)==0?46214:32768)>>>(f>>>1);k=(te(i&127,13959168)|0)>>>16;k=g+((te(g>>16,k)|0)+((te(g&65535,k)|0)>>>16))+32768|0;t=t<<16>>16;t=(te(k>>16,t)|0)+((te(k&65535,t)|0)>>16)|0}}else t=t>>1;h=t>>7;s[e+4624>>2]=(h|0)<255?h:255;h=t<<16>>16;h=((te(t>>16,h)|0)<<16)+(te(t&65535,h)|0)|0;h=h>>((s[v>>2]|0)==((s[e+4668>>2]|0)*10|0)?21:20);f=0;while(1){ -if((f|0)==4)break;a=e+72+(f<<2)|0;i=s[a>>2]|0;t=(s[_+(f<<2)>>2]|0)-i|0;t=i+((te(t>>16,h)|0)+((te(t&65535,h)|0)>>16))|0;s[a>>2]=t;a=re(t|0)|0;i=24-a|0;r=0-i|0;do if(i)if((i|0)<0){t=t<>>(i+32|0);break}else{t=t<<32-i|t>>>i;break}while(0);t=t&127;t=((t+(((te(t,128-t|0)|0)*179|0)>>>16)+(31-a<<7)|0)*3|0)+-5120|0;i=t>>4;if((i|0)<0){t=0-i|0;if((i|0)<-191)t=0;else{k=t>>5;t=(s[22992+(k<<2)>>2]|0)-(te(s[23016+(k<<2)>>2]<<16>>16,t&31)|0)|0}}else if((i|0)>191)t=32767;else{t=t>>9;t=(s[23040+(t<<2)>>2]|0)+(te(s[23016+(t<<2)>>2]<<16>>16,i&31)|0)|0}s[e+4788+(f<<2)>>2]=t;f=f+1|0}l=y;return}function Ar(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,n=0,a=0;r=s[e+(i<<2)>>2]|0;n=t<<4;if((i|0)==8){t=t<<20>>16;a=(n>>15)+1>>1;i=(s[e+28>>2]|0)+((te(r>>16,t)|0)+((te(r&65535,t)|0)>>16))+(te(r,a)|0)|0;i=(s[e+24>>2]|0)+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>16))+(te(i,a)|0)|0;i=(s[e+20>>2]|0)+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>16))+(te(i,a)|0)|0;i=(s[e+16>>2]|0)+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>16))+(te(i,a)|0)|0;i=(s[e+12>>2]|0)+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>16))+(te(i,a)|0)|0;i=(s[e+8>>2]|0)+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>16))+(te(i,a)|0)|0;i=(s[e+4>>2]|0)+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>16))+(te(i,a)|0)|0;e=(s[e>>2]|0)+((te(i>>16,t)|0)+((te(i&65535,t)|0)>>16))+(te(i,a)|0)|0;return e|0}a=t<<20>>16;n=(n>>15)+1>>1;while(1){t=i+-1|0;if((i|0)<=0)break;i=t;r=(s[e+(t<<2)>>2]|0)+((te(r>>16,a)|0)+((te(r&65535,a)|0)>>16))+(te(r,n)|0)|0}return r|0}function Sr(e,t,i,r,a){e=e|0;t=t|0;i=i|0;r=r|0;a=a|0;var o=0,f=0,h=0,c=0,l=0,u=0,d=0;a=a>>1;o=t+4|0;f=0;while(1){if((f|0)>=(a|0))break;u=f<<1;d=n[e+(u<<1)>>1]<<10;l=d-(s[t>>2]|0)|0;c=(te(l>>16,-24290)|0)+((te(l&65535,-24290)|0)>>16)|0;h=d+c|0;s[t>>2]=d+(l+c);u=n[e+((u|1)<<1)>>1]<<10;c=s[o>>2]|0;l=u-c|0;l=((l>>16)*10788|0)+(((l&65535)*10788|0)>>>16)|0;c=c+l|0;s[o>>2]=u+l;l=(c+h>>10)+1>>1;n[i+(f<<1)>>1]=(l|0)>32767?32767:((l|0)<-32768?-32768:l)&65535;h=(c-h>>10)+1>>1;n[r+(f<<1)>>1]=(h|0)>32767?32767:((h|0)<-32768?-32768:h)&65535;f=f+1|0}return}function Mr(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,n=0,a=0,o=0,f=0,h=0;a=i+-65536|0;n=t+-1|0;r=0;while(1){t=i>>16;if((r|0)>=(n|0))break;o=e+(r<<2)|0;f=s[o>>2]|0;h=f<<16>>16;s[o>>2]=(te(t,h)|0)+((te(i&65535,h)|0)>>16)+(te(i,(f>>15)+1>>1)|0);i=i+(((te(i,a)|0)>>15)+1>>1)|0;r=r+1|0}h=e+(n<<2)|0;f=s[h>>2]|0;o=f<<16>>16;s[h>>2]=(te(t,o)|0)+((te(i&65535,o)|0)>>16)+(te(i,(f>>15)+1>>1)|0);return}function Tr(e,t,i,r,s){e=e|0;t=t|0;i=i|0;r=r|0;s=s|0;var a=0,o=0,f=0,h=0,c=0,l=0,u=0,d=0,p=0,b=0;a=i+2|0;o=i+4|0;f=i+6|0;h=i+8|0;c=i+10|0;u=s;while(1){if((u|0)>=(r|0))break;l=t+(u+-1<<1)|0;p=te(n[l>>1]|0,n[i>>1]|0)|0;p=p+(te(n[l+-2>>1]|0,n[a>>1]|0)|0)|0;p=p+(te(n[l+-4>>1]|0,n[o>>1]|0)|0)|0;p=p+(te(n[l+-6>>1]|0,n[f>>1]|0)|0)|0;p=p+(te(n[l+-8>>1]|0,n[h>>1]|0)|0)|0;d=6;p=p+(te(n[l+-10>>1]|0,n[c>>1]|0)|0)|0;while(1){if((d|0)>=(s|0))break;b=p+(te(n[l+(0-d<<1)>>1]|0,n[i+(d<<1)>>1]|0)|0)|0;b=b+(te(n[l+(~d<<1)>>1]|0,n[i+((d|1)<<1)>>1]|0)|0)|0;d=d+2|0;p=b}b=((n[l+2>>1]<<12)-p>>11)+1>>1;n[e+(u<<1)>>1]=(b|0)>32767?32767:((b|0)<-32768?-32768:b)&65535;u=u+1|0}kn(e|0,0,s<<1|0)|0;return}function xr(e,t){e=e|0;t=t|0;var i=0,r=0,a=0,o=0,f=0,h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0;k=l;l=l+96|0;_=k;i=0;r=0;while(1){if((r|0)>=(t|0))break;v=n[e+(r<<1)>>1]|0;s[_+(r<<2)>>2]=v<<12;i=i+v|0;r=r+1|0}if((i|0)>4095){l=k;return 0}a=1073741824;r=0;e:while(1){v=t+-1|0;e=s[_+(v<<2)>>2]|0;i=(e+16773022|0)>>>0>33546044;if((t|0)<=1){y=44;break}if(i){y=46;break}w=0-(e<<7)|0;g=((w|0)<0)<<31>>31;Nn(w|0,g|0,w|0,g|0)|0;o=1073741824-C|0;m=Nn(a|0,r|0,o|0,((o|0)<0)<<31>>31|0)|0;m=Sn(m|0,C|0,30)|0;m=m&-4;if((m|0)<107374){y=46;break}if((o|0)<=0)if(!o){e=32;i=30;f=0}else{e=0-o|0;y=11}else{e=o;y=11}if((y|0)==11){y=0;f=32-(re(e|0)|0)|0;e=re(e|0)|0;i=f+30|0}b=o<>16;a=536870911/(u|0)|0;d=a<<16;p=d>>16;b=536870912-((te(u,p)|0)+((te(b&65535,p)|0)>>16))<<3;a=d+((te(b>>16,p)|0)+((te(b&65528,p)|0)>>16))+(te(b,(a>>15)+1>>1)|0)|0;e=62-e-i|0;if((e|0)<1){r=0-e|0;e=-2147483648>>r;i=2147483647>>>r;if((e|0)>(i|0)){if((a|0)<=(e|0))e=(a|0)<(i|0)?i:a}else if((a|0)>(i|0))e=i;else e=(a|0)<(e|0)?e:a;b=e<>e:0;u=t>>1;d=(f|0)==1;p=((b|0)<0)<<31>>31;f=f+-1|0;c=0;while(1){if((c|0)>=(u|0))break;t=_+(c<<2)|0;a=s[t>>2]|0;h=_+(v-c+-1<<2)|0;o=s[h>>2]|0;e=Nn(o|0,((o|0)<0)<<31>>31|0,w|0,g|0)|0;e=Sn(e|0,C|0,30)|0;e=En(e|0,C|0,1,0)|0;e=Sn(e|0,C|0,1)|0;i=a-e|0;r=(i|0)>-1;if(d){if(r){r=(a&(e^-2147483648)|0)<0?-2147483648:i;r=Nn(r|0,((r|0)<0)<<31>>31|0,b|0,p|0)|0;r=An(r|0,C|0,1)|0;e=(a&(e^-2147483648)|0)<0?-2147483648:i;i=r;r=C}else{r=((a^-2147483648)&e|0)<0?2147483647:i;r=Nn(r|0,((r|0)<0)<<31>>31|0,b|0,p|0)|0;r=An(r|0,C|0,1)|0;e=((a^-2147483648)&e|0)<0?2147483647:i;i=r;r=C}e=Nn(e|0,((e|0)<0)<<31>>31|0,b|0,p|0)|0;e=En(i|0,r|0,e&1|0,0)|0;i=C}else{if(r)e=(a&(e^-2147483648)|0)<0?-2147483648:i;else e=((a^-2147483648)&e|0)<0?2147483647:i;e=Nn(e|0,((e|0)<0)<<31>>31|0,b|0,p|0)|0;e=An(e|0,C|0,f|0)|0;e=En(e|0,C|0,1,0)|0;e=An(e|0,C|0,1)|0;i=C}r=En(e|0,i|0,-2147483648,0)|0;i=C;if(i>>>0>0|(i|0)==0&r>>>0>4294967295){y=46;break e}s[t>>2]=e;e=Nn(a|0,((a|0)<0)<<31>>31|0,w|0,g|0)|0;e=Sn(e|0,C|0,30)|0;e=En(e|0,C|0,1,0)|0;e=Sn(e|0,C|0,1)|0;i=o-e|0;r=(i|0)>-1;if(d){if(r){r=(o&(e^-2147483648)|0)<0?-2147483648:i;r=Nn(r|0,((r|0)<0)<<31>>31|0,b|0,p|0)|0;r=An(r|0,C|0,1)|0;e=(o&(e^-2147483648)|0)<0?-2147483648:i;i=r;r=C}else{r=((o^-2147483648)&e|0)<0?2147483647:i;r=Nn(r|0,((r|0)<0)<<31>>31|0,b|0,p|0)|0;r=An(r|0,C|0,1)|0;e=((o^-2147483648)&e|0)<0?2147483647:i;i=r;r=C}e=Nn(e|0,((e|0)<0)<<31>>31|0,b|0,p|0)|0;e=En(i|0,r|0,e&1|0,0)|0;i=C}else{if(r)e=(o&(e^-2147483648)|0)<0?-2147483648:i;else e=((o^-2147483648)&e|0)<0?2147483647:i;e=Nn(e|0,((e|0)<0)<<31>>31|0,b|0,p|0)|0;e=An(e|0,C|0,f|0)|0;e=En(e|0,C|0,1,0)|0;e=An(e|0,C|0,1)|0;i=C}o=En(e|0,i|0,-2147483648,0)|0;a=C;if(a>>>0>0|(a|0)==0&o>>>0>4294967295){y=46;break e}s[h>>2]=e;c=c+1|0}a=m;r=((m|0)<0)<<31>>31;t=v}if((y|0)==44)if(i){l=k;return 0}else{_=0-(s[_>>2]<<7)|0;y=((_|0)<0)<<31>>31;Nn(_|0,y|0,_|0,y|0)|0;y=1073741824-C|0;y=Nn(a|0,r|0,y|0,((y|0)<0)<<31>>31|0)|0;y=Sn(y|0,C|0,30)|0;y=y&-4;l=k;return((y|0)<107374?0:y)|0}else if((y|0)==46){l=k;return 0}return 0}function Rr(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,o=0,f=0,h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0;g=l;l=l+304|0;d=g+200|0;b=g+148|0;m=g+96|0;w=g;r=(i|0)==16?32909:32925;o=0;while(1){if((o|0)>=(i|0))break;u=n[t+(o<<1)>>1]|0;p=u>>8;c=n[27508+(p<<1)>>1]|0;p=((c<<8)+(te((n[27508+(p+1<<1)>>1]|0)-c|0,u-(p<<8)|0)|0)>>3)+1>>1;s[d+(a[r+o>>0]<<2)>>2]=p;o=o+1|0}p=i>>1;s[b>>2]=65536;u=b+4|0;c=1;r=0-(s[d>>2]|0)|0;while(1){s[u>>2]=r;if((c|0)>=(p|0))break;t=s[d+(c<<1<<2)>>2]|0;h=s[b+(c+-1<<2)>>2]|0;o=((t|0)<0)<<31>>31;r=s[b+(c<<2)>>2]|0;r=Nn(t|0,o|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Sn(r|0,C|0,15)|0;r=En(r|0,C|0,1,0)|0;r=Sn(r|0,C|0,1)|0;f=c+1|0;s[b+(f<<2)>>2]=(h<<1)-r;r=c;while(1){if((r|0)<=1)break;c=s[b+(r+-2<<2)>>2]|0;_=Nn(t|0,o|0,h|0,((h|0)<0)<<31>>31|0)|0;_=Sn(_|0,C|0,15)|0;_=En(_|0,C|0,1,0)|0;_=Sn(_|0,C|0,1)|0;v=b+(r<<2)|0;s[v>>2]=(s[v>>2]|0)+(c-_);h=c;r=r+-1|0}c=f;r=(s[u>>2]|0)-t|0}u=d+4|0;s[m>>2]=65536;d=m+4|0;c=1;r=0-(s[u>>2]|0)|0;while(1){s[d>>2]=r;if((c|0)>=(p|0)){r=0;break}f=s[u+(c<<1<<2)>>2]|0;o=s[m+(c+-1<<2)>>2]|0;h=((f|0)<0)<<31>>31;r=s[m+(c<<2)>>2]|0;r=Nn(f|0,h|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Sn(r|0,C|0,15)|0;r=En(r|0,C|0,1,0)|0;r=Sn(r|0,C|0,1)|0;t=c+1|0;s[m+(t<<2)>>2]=(o<<1)-r;r=c;while(1){if((r|0)<=1)break;_=s[m+(r+-2<<2)>>2]|0;c=Nn(f|0,h|0,o|0,((o|0)<0)<<31>>31|0)|0;c=Sn(c|0,C|0,15)|0;c=En(c|0,C|0,1,0)|0;c=Sn(c|0,C|0,1)|0;v=m+(r<<2)|0;s[v>>2]=(s[v>>2]|0)+(_-c);o=_;r=r+-1|0}c=t;r=(s[d>>2]|0)-f|0}while(1){if((r|0)>=(p|0))break;_=r+1|0;v=(s[b+(_<<2)>>2]|0)+(s[b+(r<<2)>>2]|0)|0;d=(s[m+(_<<2)>>2]|0)-(s[m+(r<<2)>>2]|0)|0;s[w+(r<<2)>>2]=0-d-v;s[w+(i-r+-1<<2)>>2]=d-v;r=_}f=0;r=0;while(1){if((f|0)<10){t=0;o=0}else break;while(1){if((t|0)>=(i|0))break;_=s[w+(t<<2)>>2]|0;_=(_|0)>0?_:0-_|0;v=(_|0)>(o|0);r=v?t:r;t=t+1|0;o=v?_:o}t=(o>>4)+1>>1;if((t|0)<=32767)break;_=(t|0)<163838?t:163838;Mr(w,i,65470-(((_<<14)+-536854528|0)/((te(_,r+1|0)|0)>>2|0)|0)|0);f=f+1|0}e:do if((f|0)==10){r=0;while(1){if((r|0)>=(i|0)){r=0;break e}_=w+(r<<2)|0;v=(s[_>>2]>>4)+1>>1;v=(v|0)>32767?32767:(v|0)<-32768?-32768:v;n[e+(r<<1)>>1]=v;s[_>>2]=v<<16>>11;r=r+1|0}}else{r=0;while(1){if((r|0)>=(i|0)){r=0;break e}n[e+(r<<1)>>1]=(((s[w+(r<<2)>>2]|0)>>>4)+1|0)>>>1;r=r+1|0}}while(0);while(1){if(!((xr(e,i)|0)==0&(r|0)<16))break;Mr(w,i,65536-(2<=(i|0))break;n[e+(t<<1)>>1]=(((s[w+(t<<2)>>2]|0)>>>4)+1|0)>>>1;t=t+1|0}r=r+1|0}l=g;return}function Ir(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,s=0,a=0,f=0,h=0,c=0,l=0,u=0,d=0,p=0,b=0,m=0,w=0;b=e+(i+-1<<1)|0;m=t+(i<<1)|0;d=0;while(1){if((d|0)>=20)break;h=n[e>>1]|0;f=n[t>>1]|0;r=h;s=0;a=1;h=(h<<16>>16)-(f<<16>>16)|0;while(1){if((a|0)>=(i|0))break;c=n[e+(a<<1)>>1]|0;u=(c<<16>>16)-((r<<16>>16)+(n[t+(a<<1)>>1]|0))|0;l=(u|0)<(h|0);r=c;s=l?a:s;a=a+1|0;h=l?u:h}l=32768-((n[b>>1]|0)+(n[m>>1]|0))|0;c=(l|0)<(h|0);u=c?i:s;if(((c?l:h)|0)>-1){p=36;break}do if(!u)n[e>>1]=f;else{if((u|0)==(i|0)){n[b>>1]=32768-(o[m>>1]|0);break}else{r=0;f=0}while(1){if((r|0)>=(u|0))break;l=f+(n[t+(r<<1)>>1]|0)|0;r=r+1|0;f=l}c=t+(u<<1)|0;l=n[c>>1]|0;s=l>>1;r=i;a=32768;while(1){if((r|0)<=(u|0))break;h=a-(n[t+(r<<1)>>1]|0)|0;r=r+-1|0;a=h}r=f+s|0;a=a-s|0;h=e+(u+-1<<1)|0;w=n[h>>1]|0;f=e+(u<<1)|0;s=n[f>>1]|0;s=((w<<16>>16)+(s<<16>>16)>>1)+((w&65535)+(s&65535)&1)|0;if((r|0)>(a|0)){if((s|0)<=(r|0))r=(s|0)<(a|0)?a:s}else if((s|0)>(a|0))r=a;else r=(s|0)<(r|0)?r:s;w=r-(l>>>1)|0;n[h>>1]=w;n[f>>1]=w+(o[c>>1]|0)}while(0);d=d+1|0}if((p|0)==36)return;if((d|0)==20)a=1;else return;while(1){if((a|0)>=(i|0))break;r=n[e+(a<<1)>>1]|0;h=a;while(1){f=h+-1|0;if((h|0)<=0)break;s=n[e+(f<<1)>>1]|0;if(r<<16>>16>=s<<16>>16)break;n[e+(h<<1)>>1]=s;h=f}n[e+(h<<1)>>1]=r;a=a+1|0}s=n[e>>1]|0;r=n[t>>1]|0;r=s<<16>>16>r<<16>>16?s:r;n[e>>1]=r;r=r<<16>>16;s=1;while(1){if((s|0)>=(i|0))break;p=e+(s<<1)|0;d=n[p>>1]|0;w=r+(n[t+(s<<1)>>1]|0)|0;w=(w|0)>32767?32767:((w|0)<-32768?-32768:w)<<16>>16;w=(d|0)>(w|0)?d:w;n[p>>1]=w;r=w;s=s+1|0}r=n[b>>1]|0;s=32768-(n[m>>1]|0)|0;s=(r|0)<(s|0)?r:s;n[b>>1]=s;r=i+-2|0;while(1){if((r|0)<=-1)break;i=e+(r<<1)|0;m=n[i>>1]|0;w=(s<<16>>16)-(n[t+(r+1<<1)>>1]|0)|0;w=(m|0)<(w|0)?m:w;n[i>>1]=w;s=w;r=r+-1|0}return}function Cr(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,s=0,a=0,o=0,f=0,h=0;r=n[t>>1]|0;s=(n[t+2>>1]|0)-(r<<16>>16)|0;s=131072/(((s|0)>1?s:1)|0)|0;r=(131072/((r<<16>>16>1?r:1)<<16>>16|0)|0)+s|0;n[e>>1]=(r|0)<32767?r:32767;i=i+-1|0;r=1;while(1){if((r|0)>=(i|0))break;f=r+1|0;a=t+(f<<1)|0;h=(n[a>>1]|0)-(n[t+(r<<1)>>1]|0)|0;h=131072/(((h|0)>1?h:1)|0)|0;o=h+s|0;n[e+(r<<1)>>1]=(o|0)<32767?o:32767;o=r+2|0;a=(n[t+(o<<1)>>1]|0)-(n[a>>1]|0)|0;a=131072/(((a|0)>1?a:1)|0)|0;h=h+a|0;n[e+(f<<1)>>1]=(h|0)<32767?h:32767;r=o;s=a}h=32768-(n[t+(i<<1)>>1]|0)|0;h=(131072/(((h|0)>1?h:1)|0)|0)+s|0;n[e+(i<<1)>>1]=(h|0)<32767?h:32767;return}function Pr(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var a=0,o=0,f=0,h=0,c=0,l=0,u=0;r=r>>1;a=e+4|0;o=0;while(1){if((o|0)>=(r|0))break;u=o<<1;l=n[i+(u<<1)>>1]<<10;h=l-(s[e>>2]|0)|0;c=(te(h>>16,-25727)|0)+((te(h&65535,-25727)|0)>>16)|0;s[e>>2]=l+(h+c);u=n[i+((u|1)<<1)>>1]<<10;h=s[a>>2]|0;f=u-h|0;f=((f>>16)*9872|0)+(((f&65535)*9872|0)>>>16)|0;s[a>>2]=u+f;f=(l+c+h+f>>10)+1>>1;n[t+(o<<1)>>1]=(f|0)>32767?32767:((f|0)<-32768?-32768:f)&65535;o=o+1|0}return}function Or(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var n=0,a=0,o=0,f=0,h=0,c=0;n=0;while(1){if((n|0)>=(r|0)){o=1;break}s[t+(n<<2)>>2]=n;n=n+1|0}while(1){if((o|0)>=(r|0))break;a=s[e+(o<<2)>>2]|0;h=o;while(1){f=h+-1|0;if((h|0)<=0)break;n=s[e+(f<<2)>>2]|0;if((a|0)>=(n|0))break;s[e+(h<<2)>>2]=n;s[t+(h<<2)>>2]=s[t+(f<<2)>>2];h=f}s[e+(h<<2)>>2]=a;s[t+(h<<2)>>2]=o;o=o+1|0}h=e+(r+-1<<2)|0;c=r+-2|0;o=r;while(1){if((o|0)>=(i|0))break;n=s[e+(o<<2)>>2]|0;if((n|0)<(s[h>>2]|0)){f=c;while(1){if((f|0)<=-1)break;a=s[e+(f<<2)>>2]|0;if((n|0)>=(a|0))break;r=f+1|0;s[e+(r<<2)>>2]=a;s[t+(r<<2)>>2]=s[t+(f<<2)>>2];f=f+-1|0}r=f+1|0;s[e+(r<<2)>>2]=n;s[t+(r<<2)>>2]=o}o=o+1|0}return}function Nr(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var a=0,o=0,f=0,h=0,c=0,l=0,u=0;h=31-(re(r|0)|0)|0;c=r+-1|0;o=((c|0)>0?c:0)+1&-2;f=0;a=r;while(1){if((f|0)>=(c|0))break;u=n[i+(f<<1)>>1]|0;u=te(u,u)|0;l=n[i+((f|1)<<1)>>1]|0;f=f+2|0;a=a+((u+(te(l,l)|0)|0)>>>h)|0}if((o|0)<(r|0)){u=n[i+(o<<1)>>1]|0;a=a+((te(u,u)|0)>>>h)|0}a=h+3-(re(a|0)|0)|0;a=(a|0)<0?0:a;o=r+-1|0;o=((o|0)>0?o:0)+1&-2;f=0;h=0;while(1){if((f|0)>=(c|0))break;l=n[i+(f<<1)>>1]|0;l=te(l,l)|0;u=n[i+((f|1)<<1)>>1]|0;f=f+2|0;h=h+((l+(te(u,u)|0)|0)>>>a)|0}if((o|0)>=(r|0)){u=h;s[t>>2]=a;s[e>>2]=u;return}u=n[i+(o<<1)>>1]|0;u=h+((te(u,u)|0)>>>a)|0;s[t>>2]=a;s[e>>2]=u;return}function Dr(e,t,i,r,n,s){e=e|0;t=t|0;i=+i;r=r|0;n=n|0;s=s|0;var a=0,o=0,f=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0;I=l;l=l+976|0;A=I+784|0;S=I+592|0;x=I+392|0;E=I+192|0;R=I;a=+tr(t,te(n,r)|0);kn(A|0,0,192)|0;u=0;while(1){if((u|0)>=(n|0))break;o=t+((te(u,r)|0)<<2)|0;f=1;while(1){if((f|0)>(s|0))break;T=+ir(o,o+(f<<2)|0,r-f|0);k=A+(f+-1<<3)|0;c[k>>3]=+c[k>>3]+T;f=f+1|0}u=u+1|0}Mn(S|0,A|0,192)|0;T=a*9999999747378752e-21;_=a+T+9.999999717180685e-10;c[x>>3]=_;c[E>>3]=_;_=i;y=1;f=0;k=2;v=1;while(1){if((f|0)>=(s|0))break;u=r-f|0;p=u+-1|0;w=0;while(1){if((w|0)>=(n|0))break;m=t+((te(w,r)|0)<<2)|0;i=+h[m+(f<<2)>>2];d=+h[m+(p<<2)>>2];o=0;b=i;g=d;while(1){if((f|0)==(o|0)){o=0;break}O=+h[m+(f-o+-1<<2)>>2];N=A+(o<<3)|0;c[N>>3]=+c[N>>3]-i*O;P=+h[m+(u+o<<2)>>2];N=S+(o<<3)|0;c[N>>3]=+c[N>>3]-d*P;C=+c[R+(o<<3)>>3];o=o+1|0;b=b+O*C;g=g+P*C}while(1){if((o|0)==(y|0))break;N=x+(o<<3)|0;c[N>>3]=+c[N>>3]-b*+h[m+(f-o<<2)>>2];N=E+(o<<3)|0;c[N>>3]=+c[N>>3]-g*+h[m+(u+o+-1<<2)>>2];o=o+1|0}w=w+1|0}o=0;i=+c[A+(f<<3)>>3];b=+c[S+(f<<3)>>3];while(1){if((f|0)==(o|0))break;O=+c[R+(o<<3)>>3];N=f-o+-1|0;o=o+1|0;i=i+ +c[S+(N<<3)>>3]*O;b=b+ +c[A+(N<<3)>>3]*O}m=f+1|0;c[x+(m<<3)>>3]=i;c[E+(m<<3)>>3]=b;o=0;i=+c[E>>3];d=+c[x>>3];while(1){if((f|0)==(o|0))break;P=+c[R+(o<<3)>>3];N=o+1|0;O=b+ +c[E+(f-o<<3)>>3]*P;o=N;i=i+ +c[E+(N<<3)>>3]*P;d=d+ +c[x+(N<<3)>>3]*P;b=O}d=b*-2/(d+i);i=v*(1-d*d);if(!(i<=_))o=0;else{d=+H(+(1-_/v));i=_;d=b>0?-d:d;o=1}u=m>>1;p=0;while(1){if((p|0)>=(u|0))break;w=R+(p<<3)|0;O=+c[w>>3];N=R+(f-p+-1<<3)|0;P=+c[N>>3];c[w>>3]=O+d*P;c[N>>3]=P+d*O;p=p+1|0}c[R+(f<<3)>>3]=d;if(!o)o=0;else{M=29;break}while(1){if((o|0)==(k|0))break;w=x+(o<<3)|0;O=+c[w>>3];N=E+(f-o+1<<3)|0;P=+c[N>>3];c[w>>3]=O+d*P;c[N>>3]=P+d*O;o=o+1|0}y=y+1|0;f=m;k=k+1|0;v=i}if((M|0)==29){while(1){f=f+1|0;if((f|0)>=(s|0))break;c[R+(f<<3)>>3]=0;M=29}if(o|0){o=0;while(1){if((o|0)>=(s|0)){o=0;break}h[e+(o<<2)>>2]=-+c[R+(o<<3)>>3];o=o+1|0}while(1){if((o|0)>=(n|0))break;a=a-+tr(t+((te(o,r)|0)<<2)|0,s);o=o+1|0}O=a*i;l=I;return+O}}o=0;a=+c[x>>3];i=1;while(1){if((o|0)>=(s|0))break;O=+c[R+(o<<3)>>3];N=o+1|0;P=+c[x+(N<<3)>>3];h[e+(o<<2)>>2]=-O;o=N;a=a+P*O;i=i+O*O}O=a-T*i;l=I;return+O}function Lr(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var a=0,o=0,f=0,h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0;N=l;l=l+32|0;O=N;p=e+2772|0;a=e+2316|0;f=e+4156|0;if((s[a>>2]|0)!=(s[f>>2]|0)){h=e+2340|0;o=s[h>>2]|0;c=32767/(o+1|0)|0;u=0;d=0;while(1){if((d|0)>=(o|0))break;P=u+c|0;n[e+4052+(d<<1)>>1]=P;o=s[h>>2]|0;u=P;d=d+1|0}s[e+4148>>2]=0;s[e+4152>>2]=3176576;s[f>>2]=s[a>>2]}u=e+4160|0;do if(!(s[u>>2]|0)){if(!(s[e+4164>>2]|0)){a=e+2340|0;o=0;while(1){if((o|0)>=(s[a>>2]|0))break;I=n[e+2344+(o<<1)>>1]|0;P=e+4052+(o<<1)|0;R=n[P>>1]|0;C=R&65535;n[P>>1]=C+((((I<<16>>16)-(R<<16>>16)>>16)*16348|0)+((((I&65535)-C&65535)*16348|0)>>>16));o=o+1|0}c=e+2324|0;a=s[c>>2]|0;o=0;f=0;h=0;while(1){if((o|0)>=(a|0))break;C=s[t+16+(o<<2)>>2]|0;I=(C|0)>(f|0);P=I?o:h;o=o+1|0;f=I?C:f;h=P}f=e+2332|0;o=s[f>>2]|0;Tn(e+2772+(o<<2)|0,p|0,(te(a+-1|0,o)|0)<<2|0)|0;f=s[f>>2]|0;Mn(p|0,e+4+((te(h,f)|0)<<2)|0,f<<2|0)|0;f=e+4148|0;a=s[c>>2]|0;o=0;while(1){if((o|0)>=(a|0))break;C=s[f>>2]|0;P=(s[t+16+(o<<2)>>2]|0)-C|0;s[f>>2]=C+(((P>>16)*4634|0)+(((P&65535)*4634|0)>>>16));o=o+1|0}if(s[u>>2]|0)break}kn(e+4084|0,0,s[e+2340>>2]<<2|0)|0;l=N;return}while(0);C=Ne()|0;P=l;l=l+((1*(r+16<<2)|0)+15&-16)|0;I=n[e+4224>>1]|0;a=I<<16>>16;o=s[e+4244>>2]|0;h=o<<16>>16;o=(te(a>>16,h)|0)+((te(I&65535,h)|0)>>16)+(te(a,(o>>15)+1>>1)|0)|0;a=s[e+4148>>2]|0;h=o>>16;if((o|0)>2097151|(a|0)>8388608){f=a>>16;f=te(f,f)|0;o=(te(h,h)|0)<<5;a=f-o|0;if((a|0)<1)u=0;else{h=re(a|0)|0;h=(f|0)==(o|0)?32:h;o=24-h|0;f=0-o|0;do if(o)if((o|0)<0){a=a<>>(o+32|0);break}else{a=a<<32-o|a>>>o;break}while(0);I=((h&1|0)==0?46214:32768)>>>(h>>>1);u=(te(a&127,13959168)|0)>>>16;u=I+((te(I>>16,u)|0)+((te(I&65535,u)|0)>>>16))<<16}}else{I=o<<16>>16;f=a<<16>>16;f=(te(a>>16,f)|0)+((te(a&65535,f)|0)>>16)+(te(a,(a>>15)+1>>1)|0)|0;o=(te(h,I)|0)+((te(o&65535,I)|0)>>16)+(te(o,(o>>15)+1>>1)|0)<<5;a=f-o|0;if((a|0)<1)u=0;else{h=re(a|0)|0;h=(f|0)==(o|0)?32:h;o=24-h|0;f=0-o|0;do if(o)if((o|0)<0){a=a<>>(o+32|0);break}else{a=a<<32-o|a>>>o;break}while(0);I=((h&1|0)==0?46214:32768)>>>(h>>>1);u=(te(a&127,13959168)|0)>>>16;u=I+((te(I>>16,u)|0)+((te(I&65535,u)|0)>>>16))<<8}}a=P+64|0;f=255;while(1){if((f|0)<=(r|0))break;f=f>>1}o=e+4152|0;h=0;c=s[o>>2]|0;while(1){if((h|0)>=(r|0))break;I=(te(c,196314165)|0)+907633515|0;s[a+(h<<2)>>2]=s[e+2772+((I>>24&f)<<2)>>2];h=h+1|0;c=I}s[o>>2]=c;I=e+2340|0;Rr(O,e+4052|0,s[I>>2]|0);R=e+4084|0;a=P;o=R;f=a+64|0;do{s[a>>2]=s[o>>2];a=a+4|0;o=o+4|0}while((a|0)<(f|0));e=n[O>>1]|0;b=n[O+2>>1]|0;m=n[O+4>>1]|0;w=n[O+6>>1]|0;g=n[O+8>>1]|0;v=n[O+10>>1]|0;_=n[O+12>>1]|0;y=n[O+14>>1]|0;k=n[O+16>>1]|0;E=n[O+18>>1]|0;A=n[O+20>>1]|0;S=n[O+22>>1]|0;M=n[O+24>>1]|0;T=n[O+26>>1]|0;x=n[O+28>>1]|0;p=n[O+30>>1]|0;t=u<<10>>16;u=(u>>21)+1>>1;d=0;while(1){if((d|0)>=(r|0))break;O=s[P+(d+15<<2)>>2]|0;O=(s[I>>2]>>1)+((te(O>>16,e)|0)+((te(O&65535,e)|0)>>16))|0;a=s[P+(d+14<<2)>>2]|0;a=O+((te(a>>16,b)|0)+((te(a&65535,b)|0)>>16))|0;O=s[P+(d+13<<2)>>2]|0;O=a+((te(O>>16,m)|0)+((te(O&65535,m)|0)>>16))|0;a=s[P+(d+12<<2)>>2]|0;a=O+((te(a>>16,w)|0)+((te(a&65535,w)|0)>>16))|0;O=s[P+(d+11<<2)>>2]|0;O=a+((te(O>>16,g)|0)+((te(O&65535,g)|0)>>16))|0;a=s[P+(d+10<<2)>>2]|0;a=O+((te(a>>16,v)|0)+((te(a&65535,v)|0)>>16))|0;O=s[P+(d+9<<2)>>2]|0;O=a+((te(O>>16,_)|0)+((te(O&65535,_)|0)>>16))|0;a=s[P+(d+8<<2)>>2]|0;a=O+((te(a>>16,y)|0)+((te(a&65535,y)|0)>>16))|0;O=s[P+(d+7<<2)>>2]|0;O=a+((te(O>>16,k)|0)+((te(O&65535,k)|0)>>16))|0;a=s[P+(d+6<<2)>>2]|0;a=O+((te(a>>16,E)|0)+((te(a&65535,E)|0)>>16))|0;if((s[I>>2]|0)==16){O=s[P+(d+5<<2)>>2]|0;O=a+((te(O>>16,A)|0)+((te(O&65535,A)|0)>>16))|0;a=s[P+(d+4<<2)>>2]|0;a=O+((te(a>>16,S)|0)+((te(a&65535,S)|0)>>16))|0;O=s[P+(d+3<<2)>>2]|0;O=a+((te(O>>16,M)|0)+((te(O&65535,M)|0)>>16))|0;a=s[P+(d+2<<2)>>2]|0;a=O+((te(a>>16,T)|0)+((te(a&65535,T)|0)>>16))|0;O=s[P+(d+1<<2)>>2]|0;O=a+((te(O>>16,x)|0)+((te(O&65535,x)|0)>>16))|0;a=s[P+(d<<2)>>2]|0;a=O+((te(a>>16,p)|0)+((te(a&65535,p)|0)>>16))|0}c=P+(d+16<<2)|0;o=s[c>>2]|0;f=(a|0)>134217727;h=f?2147483632:((a|0)<-134217728?-134217728:a)<<4;if((o+(f?2147483632:((a|0)<-134217728?-134217728:a)<<4)|0)>-1)if((o&h|0)<0)a=-2147483648;else a=o+(f?2147483632:((a|0)<-134217728?-134217728:a)<<4)|0;else if((o|h|0)>-1)a=2147483647;else a=o+(f?2147483632:((a|0)<-134217728?-134217728:a)<<4)|0;s[c>>2]=a;h=i+(d<<1)|0;f=n[h>>1]|0;a=((te(a>>16,t)|0)+((te(a&65535,t)|0)>>16)+(te(a,u)|0)>>7)+1>>1;o=(a|0)>32767;if((f+(o?32767:(a|0)<-32768?-32768:a)|0)<=32767)if((f+(o?32767:(a|0)<-32768?-32768:a)|0)<-32768)a=-32768;else a=f+(o?32767:(a|0)<-32768?-32768:a)|0;else a=32767;n[h>>1]=a;d=d+1|0}a=R;o=P+(r<<2)|0;f=a+64|0;do{s[a>>2]=s[o>>2];a=a+4|0;o=o+4|0}while((a|0)<(f|0));qe(C|0);l=N;return}function Br(e,t,i,a){e=e|0;t=t|0;i=i|0;a=a|0;var o=0,f=0,h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0,J=0,Q=0,ee=0,ie=0,ne=0,se=0;ne=l;l=l+32|0;ie=ne;Y=e+2336|0;Q=s[Y>>2]|0;X=l;l=l+((1*(Q<<1)|0)+15&-16)|0;p=e+2328|0;f=s[p>>2]|0;J=l;l=l+((1*(Q+f<<2)|0)+15&-16)|0;Q=e+2332|0;d=s[Q>>2]|0;ee=l;l=l+((1*(d<<2)|0)+15&-16)|0;Z=l;l=l+((1*(d+16<<2)|0)+15&-16)|0;d=n[e+2766>>1]|0;$=e+2765|0;m=(d&65535)>>>8&255;d=n[25404+(r[$>>0]>>1<<2)+((d&65535)<<24>>24<<1)>>1]<<4;b=0;o=r[e+2770>>0]|0;while(1){if((b|0)>=(f|0))break;c=(te(o,196314165)|0)+907633515|0;u=a+(b<<1)|0;f=n[u>>1]|0;o=f<<16>>16<<14;h=e+4+(b<<2)|0;s[h>>2]=o;if(f<<16>>16<=0){if(f<<16>>16<0){o=o|1280;s[h>>2]=o}}else{o=o+-1280|0;s[h>>2]=o}f=o+d|0;s[h>>2]=(c|0)<0?0-f|0:f;f=s[p>>2]|0;b=b+1|0;o=c+(n[u>>1]|0)|0}q=e+1284|0;o=Z;f=q;h=o+64|0;do{s[o>>2]=s[f>>2];o=o+4|0;f=f+4|0}while((o|0)<(h|0));H=e+2324|0;G=e+2340|0;V=e+4160|0;W=t+136|0;_=m<<24>>24>3;y=ie+2|0;k=ie+4|0;E=ie+6|0;A=ie+8|0;S=ie+10|0;M=ie+12|0;T=ie+14|0;x=ie+16|0;R=ie+18|0;I=ie+20|0;P=ie+22|0;O=ie+24|0;N=ie+26|0;D=ie+28|0;L=ie+30|0;B=e+4164|0;U=e+2308|0;j=0;F=e+4|0;z=i;a=s[Y>>2]|0;while(1){if((j|0)>=(s[H>>2]|0))break;p=t+32+(j>>1<<5)|0;Mn(ie|0,p|0,s[G>>2]<<1|0)|0;w=t+96+(j*5<<1)|0;d=r[$>>0]|0;v=s[t+16+(j<<2)>>2]|0;g=v>>>6;u=(v|0)>0;if(!u)if(!v)o=32;else{o=0-v|0;K=12}else{o=v;K=12}if((K|0)==12){K=0;o=re(o|0)|0}f=v<>16;c=536870911/(h|0)|0;b=c<<16;m=b>>16;f=536870912-((te(h,m)|0)+((te(f&65535,m)|0)>>16))<<3;c=b+((te(f>>16,m)|0)+((te(f&65528,m)|0)>>16))+(te(f,(c>>15)+1>>1)|0)|0;o=62-o|0;f=o+-47|0;if((f|0)<1){h=47-o|0;o=-2147483648>>h;f=2147483647>>>h;if((o|0)>(f|0)){if((c|0)<=(o|0))o=(c|0)<(f|0)?f:c}else if((c|0)>(f|0))o=f;else o=(c|0)<(o|0)?o:c;o=o<>f:0;h=s[e>>2]|0;e:do if((v|0)==(h|0))u=65536;else{if((h|0)<=0)if(!h)c=32;else{f=0-h|0;K=24}else{f=h;K=24}if((K|0)==24){K=0;c=re(f|0)|0}h=h<>16|0)|0)<<16>>16;m=(te(h>>16,u)|0)+((te(h&65535,u)|0)>>16)|0;b=Nn(b|0,((b|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;b=Sn(b|0,C|0,29)|0;h=h-(b&-8)|0;u=m+((te(h>>16,u)|0)+((te(h&65535,u)|0)>>16))|0;f=c+28-f|0;h=f+-16|0;if((f|0)<16){c=16-f|0;f=-2147483648>>c;h=2147483647>>>c;if((f|0)>(h|0)){if((u|0)<=(f|0))f=(u|0)<(h|0)?h:u}else if((u|0)>(h|0))f=h;else f=(u|0)<(f|0)?f:u;f=f<>h:0;h=f>>16;c=f&65535;u=0;while(1){if((u|0)==16){u=f;break e}m=Z+(u<<2)|0;b=s[m>>2]|0;se=b<<16>>16;s[m>>2]=(te(h,se)|0)+((te(c,se)|0)>>16)+(te(f,(b>>15)+1>>1)|0);u=u+1|0}}while(0);s[e>>2]=v;if((s[V>>2]|0)!=0?d<<24>>24!=2&(s[B>>2]|0)==2&(j|0)<2:0){n[w>>1]=0;n[w+2>>1]=0;n[w+4>>1]=0;n[w+6>>1]=0;n[w+8>>1]=0;n[w+4>>1]=4096;m=s[U>>2]|0;s[t+(j<<2)>>2]=m;K=44}else if(d<<24>>24==2){m=s[t+(j<<2)>>2]|0;K=44}else b=F;e:do if((K|0)==44){K=0;d=(j|0)==0;t:do if(!d){if(!((j|0)!=2|_)){h=s[Y>>2]|0;c=s[G>>2]|0;f=h-m-c+-2|0;if((j|0)!=2){K=49;break}Mn(e+1348+(h<<1)|0,i|0,s[Q>>2]<<2|0)|0;h=s[Y>>2]|0;c=s[G>>2]|0;K=49;break}if((u|0)!=65536){o=m+2|0;f=u>>16;h=u&65535;c=0;while(1){if((c|0)>=(o|0))break t;se=J+(a-c+-1<<2)|0;b=s[se>>2]|0;p=b<<16>>16;s[se>>2]=(te(f,p)|0)+((te(h,p)|0)>>16)+(te(u,(b>>15)+1>>1)|0);c=c+1|0}}}else{h=s[Y>>2]|0;c=s[G>>2]|0;f=h-m-c+-2|0;K=49}while(0);t:do if((K|0)==49){K=0;Tr(X+(f<<1)|0,e+1348+(f+(te(j,s[Q>>2]|0)|0)<<1)|0,p,h-f|0,c);if(d){se=s[W>>2]<<16>>16;o=(te(o>>16,se)|0)+((te(o&65535,se)|0)>>16)<<2}h=m+2|0;c=o>>16;o=o&65535;f=0;while(1){if((f|0)>=(h|0))break t;se=n[X+((s[Y>>2]|0)-f+-1<<1)>>1]|0;s[J+(a-f+-1<<2)>>2]=(te(c,se)|0)+((te(o,se)|0)>>16);f=f+1|0}}while(0);c=w+2|0;u=w+4|0;d=w+6|0;p=w+8|0;h=s[Q>>2]|0;b=0;o=J+(a-m+2<<2)|0;f=a;while(1){if((b|0)>=(h|0)){b=ee;a=f;break e}m=s[o>>2]|0;se=n[w>>1]|0;se=(te(m>>16,se)|0)+((te(m&65535,se)|0)>>16)+2|0;m=s[o+-4>>2]|0;a=n[c>>1]|0;a=se+((te(m>>16,a)|0)+((te(m&65535,a)|0)>>16))|0;m=s[o+-8>>2]|0;se=n[u>>1]|0;se=a+((te(m>>16,se)|0)+((te(m&65535,se)|0)>>16))|0;m=s[o+-12>>2]|0;a=n[d>>1]|0;a=se+((te(m>>16,a)|0)+((te(m&65535,a)|0)>>16))|0;m=s[o+-16>>2]|0;se=n[p>>1]|0;se=a+((te(m>>16,se)|0)+((te(m&65535,se)|0)>>16))|0;se=(s[F+(b<<2)>>2]|0)+(se<<1)|0;s[ee+(b<<2)>>2]=se;s[J+(f<<2)>>2]=se<<1;b=b+1|0;o=o+4|0;f=f+1|0}}while(0);p=g<<16>>16;u=(v>>21)+1>>1;d=0;while(1){c=s[Q>>2]|0;if((d|0)>=(c|0))break;se=s[Z+(d+15<<2)>>2]|0;v=n[ie>>1]|0;v=(s[G>>2]>>1)+((te(se>>16,v)|0)+((te(se&65535,v)|0)>>16))|0;se=s[Z+(d+14<<2)>>2]|0;o=n[y>>1]|0;o=v+((te(se>>16,o)|0)+((te(se&65535,o)|0)>>16))|0;se=s[Z+(d+13<<2)>>2]|0;v=n[k>>1]|0;v=o+((te(se>>16,v)|0)+((te(se&65535,v)|0)>>16))|0;se=s[Z+(d+12<<2)>>2]|0;o=n[E>>1]|0;o=v+((te(se>>16,o)|0)+((te(se&65535,o)|0)>>16))|0;se=s[Z+(d+11<<2)>>2]|0;v=n[A>>1]|0;v=o+((te(se>>16,v)|0)+((te(se&65535,v)|0)>>16))|0;se=s[Z+(d+10<<2)>>2]|0;o=n[S>>1]|0;o=v+((te(se>>16,o)|0)+((te(se&65535,o)|0)>>16))|0;se=s[Z+(d+9<<2)>>2]|0;v=n[M>>1]|0;v=o+((te(se>>16,v)|0)+((te(se&65535,v)|0)>>16))|0;se=s[Z+(d+8<<2)>>2]|0;o=n[T>>1]|0;o=v+((te(se>>16,o)|0)+((te(se&65535,o)|0)>>16))|0;se=s[Z+(d+7<<2)>>2]|0;v=n[x>>1]|0;v=o+((te(se>>16,v)|0)+((te(se&65535,v)|0)>>16))|0;se=s[Z+(d+6<<2)>>2]|0;o=n[R>>1]|0;o=v+((te(se>>16,o)|0)+((te(se&65535,o)|0)>>16))|0;if((s[G>>2]|0)==16){se=s[Z+(d+5<<2)>>2]|0;v=n[I>>1]|0;v=o+((te(se>>16,v)|0)+((te(se&65535,v)|0)>>16))|0;se=s[Z+(d+4<<2)>>2]|0;o=n[P>>1]|0;o=v+((te(se>>16,o)|0)+((te(se&65535,o)|0)>>16))|0;se=s[Z+(d+3<<2)>>2]|0;v=n[O>>1]|0;v=o+((te(se>>16,v)|0)+((te(se&65535,v)|0)>>16))|0;se=s[Z+(d+2<<2)>>2]|0;o=n[N>>1]|0;o=v+((te(se>>16,o)|0)+((te(se&65535,o)|0)>>16))|0;se=s[Z+(d+1<<2)>>2]|0;v=n[D>>1]|0;v=o+((te(se>>16,v)|0)+((te(se&65535,v)|0)>>16))|0;se=s[Z+(d<<2)>>2]|0;o=n[L>>1]|0;o=v+((te(se>>16,o)|0)+((te(se&65535,o)|0)>>16))|0}f=s[b+(d<<2)>>2]|0;h=(o|0)>134217727;c=h?2147483632:((o|0)<-134217728?-134217728:o)<<4;if((f+(h?2147483632:((o|0)<-134217728?-134217728:o)<<4)|0)>-1)if((f&c|0)<0)o=-2147483648;else o=f+(h?2147483632:((o|0)<-134217728?-134217728:o)<<4)|0;else if((f|c|0)>-1)o=2147483647;else o=f+(h?2147483632:((o|0)<-134217728?-134217728:o)<<4)|0;s[Z+(d+16<<2)>>2]=o;se=((te(o>>16,p)|0)+((te(o&65535,p)|0)>>16)+(te(o,u)|0)>>7)+1>>1;n[z+(d<<1)>>1]=(se|0)>32767?32767:((se|0)<-32768?-32768:se)&65535;d=d+1|0}o=Z;f=Z+(c<<2)|0;h=o+64|0;do{s[o>>2]=s[f>>2];o=o+4|0;f=f+4|0}while((o|0)<(h|0));j=j+1|0;F=F+(c<<2)|0;z=z+(c<<1)|0}o=q;f=Z;h=o+64|0;do{s[o>>2]=s[f>>2];o=o+4|0;f=f+4|0}while((o|0)<(h|0));l=ne;return}function Ur(e,t,i,f,h,c,u){e=e|0;t=t|0;i=i|0;f=f|0;h=h|0;c=c|0;u=u|0;var d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0,J=0,Q=0,ee=0,ie=0,ne=0,se=0,ae=0,oe=0,fe=0;se=l;l=l+448|0;X=se+232|0;$=se+376|0;ie=se+344|0;G=se+200|0;W=se+184|0;V=se+168|0;J=se+88|0;Q=se+8|0;Y=se;ne=se+312|0;K=se+280|0;ee=se+360|0;Z=se+248|0;q=i+2|0;Ir(t,s[i+36>>2]|0,n[q>>1]|0);d=s[i>>2]|0;k=l;l=l+((1*((d&65535)<<2)|0)+15&-16)|0;H=i+8|0;z=i+12|0;y=d<<16>>16;d=d>>16;p=s[H>>2]|0;b=0;_=s[z>>2]|0;while(1){if((b|0)<(y|0)){w=d;g=0;v=0}else break;while(1){m=w+-2|0;if((m|0)<=-1)break;U=w+-1|0;U=te((o[t+(U<<1)>>1]|0)-(a[p+U>>0]<<7)<<16>>16,n[_+(U<<1)>>1]|0)|0;B=g>>1;F=te((o[t+(m<<1)>>1]|0)-(a[p+m>>0]<<7)<<16>>16,n[_+(m<<1)>>1]|0)|0;j=U>>1;w=m;g=F;v=v+((U|0)>(B|0)?U-B|0:B-U|0)+((F|0)>(j|0)?F-j|0:j-F|0)|0}s[k+(b<<2)>>2]=v;p=p+d|0;b=b+1|0;_=_+(d<<1)|0}F=l;l=l+((1*(c<<2)|0)+15&-16)|0;Or(k,F,y,c);D=l;l=l+((1*(c<<2)|0)+15&-16)|0;L=l;l=l+((1*(c<<4)|0)+15&-16)|0;B=i+32|0;U=i+4|0;j=h<<16>>16;O=u>>1;N=i+16|0;I=h<<14>>16;P=0;while(1){if((P|0)>=(c|0))break;R=s[F+(P<<2)>>2]|0;w=n[q>>1]|0;v=te(R,w)|0;g=(s[H>>2]|0)+v|0;v=(s[z>>2]|0)+(v<<1)|0;_=0;while(1){if((_|0)>=(w|0))break;x=n[v+(_<<1)>>1]|0;n[ne+(_<<1)>>1]=(te((o[t+(_<<1)>>1]|0)-(a[g+_>>0]<<7)<<16>>16,x)|0)>>>14;p=n[f+(_<<1)>>1]|0;M=p<<16>>16;x=te(x,x)|0;p=re((p<<16>>16>0?M:0-M|0)|0)|0;M=M<>16|0)|0)<<16>>16;T=(te(M>>16,m)|0)+((te(M&65535,m)|0)>>16)|0;x=Nn(x|0,((x|0)<0)<<31>>31|0,T|0,((T|0)<0)<<31>>31|0)|0;x=Sn(x|0,C|0,29)|0;x=M-(x&-8)|0;m=T+((te(x>>16,m)|0)+((te(x&65535,m)|0)>>16))|0;d=p+28-d|0;p=d+-21|0;if((d|0)<21){b=21-d|0;d=-2147483648>>b;p=2147483647>>>b;if((d|0)>(p|0)){if((m|0)<=(d|0))d=(m|0)<(p|0)?p:m}else if((m|0)>(p|0))d=p;else d=(m|0)<(d|0)?d:m;d=d<>p:0;n[K+(_<<1)>>1]=d;_=_+1|0}Bi(Z,ee,i,R);x=P<<4;T=s[B>>2]|0;g=s[U>>2]|0;b=g<<16>>16;m=n[q>>1]|0;w=-10;while(1){if((w|0)==10)break;d=w<<10;p=d+1024|0;e:do if((w|0)>0){d=(w<<26>>16)+-102|0;p=(p<<16>>16)+-102|0}else{switch(w|0){case 0:{p=(p<<16>>16)+-102|0;break e}case-1:{d=-1024;break}default:p=p|102}d=d|102}while(0);M=w+10|0;s[J+(M<<2)>>2]=(te(d<<16>>16,b)|0)>>16;s[Q+(M<<2)>>2]=(te(p<<16>>16,b)|0)>>16;w=w+1|0}s[G>>2]=0;n[ie>>1]=0;M=m<<16>>16;A=g>>16;d=M;E=1;e:while(1){S=E<<1;u=(S|0)<5;t:while(1){h=d+-1|0;if((d|0)<=0){g=2147483647;m=0;d=0;break e}p=T+(n[Z+(h<<1)>>1]|0)|0;b=n[ne+(h<<1)>>1]|0;m=ee+h|0;w=K+(h<<1)|0;y=0;while(1){if((y|0)>=(E|0))break;_=ie+(y<<1)|0;v=(te(a[m>>0]|0,n[_>>1]|0)|0)>>8;d=(te(A,b-v<<16>>16)|0)>>16;d=(d|0)>9?9:(d|0)<-10?-10:d;r[$+(y<<4)+h>>0]=d;k=d+10|0;g=(s[J+(k<<2)>>2]|0)+v|0;v=(s[Q+(k<<2)>>2]|0)+v|0;n[_>>1]=g;_=y+E|0;n[ie+(_<<1)>>1]=v;do if((d|0)>2)if((d|0)==3){k=a[p+7>>0]|0;d=280;break}else{d=d*43|0;k=d+108|0;d=d+151|0;break}else{if((d|0)>=-3){k=a[p+(d+4)>>0]|0;d=a[p+(d+5)>>0]|0;break}if((d|0)==-4){k=280;d=a[p+1>>0]|0;break}else{d=te(d,-43)|0;k=d+108|0;d=d+65|0;break}}while(0);oe=G+(y<<2)|0;ae=s[oe>>2]|0;fe=b-g<<16>>16;fe=te(fe,fe)|0;g=n[w>>1]|0;s[oe>>2]=ae+(te(fe,g)|0)+(te(j,k<<16>>16)|0);k=b-v<<16>>16;s[G+(_<<2)>>2]=ae+(te(te(k,k)|0,g)|0)+(te(j,d<<16>>16)|0);y=y+1|0}if(u){d=0;break}else v=0;while(1){if((v|0)==4){d=0;w=0;p=0;b=0;m=2147483647;break}b=G+(v<<2)|0;d=s[b>>2]|0;p=v+4|0;m=G+(p<<2)|0;g=s[m>>2]|0;w=V+(v<<2)|0;if((d|0)>(g|0)){s[w>>2]=d;s[b>>2]=g;s[m>>2]=d;oe=ie+(v<<1)|0;fe=n[oe>>1]|0;d=ie+(p<<1)|0;n[oe>>1]=n[d>>1]|0;n[d>>1]=fe;d=g}else{s[w>>2]=g;p=v}s[W+(v<<2)>>2]=d;s[X+(v<<2)>>2]=p;v=v+1|0}while(1){if((p|0)<4){fe=s[V+(p<<2)>>2]|0;oe=(m|0)>(fe|0);ae=s[W+(p<<2)>>2]|0;k=(b|0)<(ae|0);d=k?p:d;w=oe?p:w;p=p+1|0;b=k?ae:b;m=oe?fe:m;continue}if((m|0)>=(b|0)){d=0;break}s[X+(d<<2)>>2]=s[X+(w<<2)>>2]^4;b=w+4|0;s[G+(d<<2)>>2]=s[G+(b<<2)>>2];n[ie+(d<<1)>>1]=n[ie+(b<<1)>>1]|0;s[W+(d<<2)>>2]=0;s[V+(w<<2)>>2]=2147483647;b=$+(d<<4)|0;d=$+(w<<4)|0;p=b+16|0;do{r[b>>0]=r[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(p|0));d=0;w=0;p=0;b=0;m=2147483647}while(1){if((d|0)==4){d=h;continue t}fe=$+(d<<4)+h|0;r[fe>>0]=(a[fe>>0]|0)+((s[X+(d<<2)>>2]|0)>>>2);d=d+1|0}}while(1){if((d|0)>=(E|0)){d=S;break}r[$+(d+E<<4)+h>>0]=(a[$+(d<<4)+h>>0]|0)+1;d=d+1|0}while(1){if((d|0)>=4){d=h;E=S;continue e}r[$+(d<<4)+h>>0]=r[$+(d-S<<4)+h>>0]|0;d=d+1|0}}while(1){if((d|0)==8)break;oe=s[G+(d<<2)>>2]|0;fe=(g|0)>(oe|0);g=fe?oe:g;m=fe?d:m;d=d+1|0}d=L+x|0;p=m&3;b=0;while(1){if((b|0)>=(M|0))break;r[d+b>>0]=r[$+(p<<4)+b>>0]|0;b=b+1|0}r[d>>0]=(a[d>>0]|0)+(m>>>2);w=D+(P<<2)|0;s[w>>2]=g;d=te(O,n[i>>1]|0)|0;d=(s[N>>2]|0)+d|0;p=r[d+R>>0]|0;if(!R)d=256-(p&255)|0;else d=(a[d+(R+-1)>>0]|0)-(p&255)|0;m=re(d|0)|0;p=24-m|0;b=0-p|0;do if(p)if((p|0)<0){d=d<>>(p+32|0);break}else{d=d<<32-p|d>>>p;break}while(0);fe=d&127;s[w>>2]=g+(te(1024-(fe+(((te(fe,128-fe|0)|0)*179|0)>>>16)+(31-m<<7))<<16>>16,I)|0);P=P+1|0}Or(D,Y,c,1);fe=s[Y>>2]|0;r[e>>0]=s[F+(fe<<2)>>2];Mn(e+1|0,L+(fe<<4)|0,n[q>>1]|0)|0;wr(t,e,i);l=se;return}function jr(){Nt(360,33176);We(376,33181,1,1,0);ut(384,33186,1,-128,127);ut(400,33191,1,-128,127);ut(392,33203,1,0,255);ut(408,33217,2,-32768,32767);ut(416,33223,2,0,65535);ut(424,33238,4,-2147483648,2147483647);ut(432,33242,4,0,-1);ut(440,33255,4,-2147483648,2147483647);ut(448,33260,4,0,-1);Gt(456,33274,4);Gt(464,33280,8);Ce(48,33388);Ce(80,33463);Bt(104,4,33559);Ze(128,33591);Rt(136,0,33638);Rt(144,0,33699);Rt(152,1,33767);Rt(160,2,33837);Rt(168,3,33899);Rt(176,4,33970);Rt(184,5,34030);Rt(192,4,34099);Rt(200,5,34160);Rt(144,0,34199);Rt(152,1,34231);Rt(160,2,34264);Rt(168,3,34297);Rt(176,4,34331);Rt(184,5,34364);Rt(208,6,34429);Rt(216,7,34491);Rt(224,7,34554);return}function Fr(e){e=e|0;var t=0,i=0,n=0,a=0;a=s[e+4>>2]|0;n=a;e:do if(!(n&3)){e=a;i=4}else{t=a;e=n;while(1){if(!(r[t>>0]|0))break e;t=t+1|0;e=t;if(!(e&3)){e=t;i=4;break}}}while(0);if((i|0)==4){while(1){t=s[e>>2]|0;if(!((t&-2139062144^-2139062144)&t+-16843009))e=e+4|0;else break}if((t&255)<<24>>24)do e=e+1|0;while((r[e>>0]|0)!=0)}e=e-n+1|0;t=qr(e)|0;if(!t){a=0;return a|0}Mn(t|0,a|0,e|0)|0;a=t;return a|0}function zr(e){e=+e;var t=0,i=0,r=0,n=0,a=0,o=0,f=0,h=0,l=0;c[d>>3]=e;i=s[d>>2]|0;t=s[d+4>>2]|0;r=(t|0)<0;do if(r|t>>>0<1048576){a=+q(+e);c[d>>3]=a;if((s[d>>2]|0)==0&(s[d+4>>2]|0)==0){e=-1/(e*e);break}if(r){e=(e-e)/0;break}else{c[d>>3]=e*0x40000000000000;t=s[d+4>>2]|0;r=s[d>>2]|0;i=-1077;n=9;break}}else if(t>>>0<=2146435071)if((i|0)==0&0==0&(t|0)==1072693248)e=0;else{ -r=i;i=-1023;n=9}while(0);if((n|0)==9){n=t+614242|0;s[d>>2]=r;s[d+4>>2]=(n&1048575)+1072079006;f=+c[d>>3]+-1;o=f*(f*.5);h=f/(f+2);l=h*h;e=l*l;c[d>>3]=f-o;r=s[d+4>>2]|0;s[d>>2]=0;s[d+4>>2]=r;a=+c[d>>3];e=f-a-o+h*(o+(e*(e*(e*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(e*(e*(e*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));l=a*.4342944818781689;o=+(i+(n>>>20)|0);h=o*.30102999566361177;f=h+l;e=f+(l+(h-f)+(e*.4342944818781689+(o*3.694239077158931e-13+(a+e)*2.5082946711645275e-11)))}return+e}function qr(e){e=e|0;var t=0,i=0,r=0,n=0,a=0,o=0,f=0,h=0,c=0,l=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0;do if(e>>>0<245){p=e>>>0<11?16:e+11&-8;e=p>>>3;h=s[8744]|0;t=h>>>e;if(t&3|0){t=(t&1^1)+e|0;i=35016+(t<<1<<2)|0;r=i+8|0;n=s[r>>2]|0;a=n+8|0;o=s[a>>2]|0;do if((i|0)!=(o|0)){if(o>>>0<(s[8748]|0)>>>0)At();e=o+12|0;if((s[e>>2]|0)==(n|0)){s[e>>2]=i;s[r>>2]=o;break}else At()}else s[8744]=h&~(1<>2]=P|3;P=n+P+4|0;s[P>>2]=s[P>>2]|1;P=a;return P|0}o=s[8746]|0;if(p>>>0>o>>>0){if(t|0){i=2<>>12&16;i=i>>>f;n=i>>>5&8;i=i>>>n;a=i>>>2&4;i=i>>>a;r=i>>>1&2;i=i>>>r;t=i>>>1&1;t=(n|f|a|r|t)+(i>>>t)|0;i=35016+(t<<1<<2)|0;r=i+8|0;a=s[r>>2]|0;f=a+8|0;n=s[f>>2]|0;do if((i|0)!=(n|0)){if(n>>>0<(s[8748]|0)>>>0)At();e=n+12|0;if((s[e>>2]|0)==(a|0)){s[e>>2]=i;s[r>>2]=n;c=s[8746]|0;break}else At()}else{s[8744]=h&~(1<>2]=p|3;r=a+p|0;s[r+4>>2]=o|1;s[r+o>>2]=o;if(c|0){n=s[8749]|0;t=c>>>3;i=35016+(t<<1<<2)|0;e=s[8744]|0;t=1<>2]|0;if(t>>>0<(s[8748]|0)>>>0)At();else{l=e;u=t}}else{s[8744]=e|t;l=i+8|0;u=i}s[l>>2]=n;s[u+12>>2]=n;s[n+8>>2]=u;s[n+12>>2]=i}s[8746]=o;s[8749]=r;P=f;return P|0}e=s[8745]|0;if(e){f=(e&0-e)+-1|0;C=f>>>12&16;f=f>>>C;I=f>>>5&8;f=f>>>I;P=f>>>2&4;f=f>>>P;t=f>>>1&2;f=f>>>t;h=f>>>1&1;h=s[35280+((I|C|P|t|h)+(f>>>h)<<2)>>2]|0;f=(s[h+4>>2]&-8)-p|0;t=h;while(1){e=s[t+16>>2]|0;if(!e){e=s[t+20>>2]|0;if(!e)break}t=(s[e+4>>2]&-8)-p|0;P=t>>>0>>0;f=P?t:f;t=e;h=P?e:h}n=s[8748]|0;if(h>>>0>>0)At();o=h+p|0;if(h>>>0>=o>>>0)At();a=s[h+24>>2]|0;i=s[h+12>>2]|0;do if((i|0)==(h|0)){t=h+20|0;e=s[t>>2]|0;if(!e){t=h+16|0;e=s[t>>2]|0;if(!e){d=0;break}}while(1){i=e+20|0;r=s[i>>2]|0;if(r|0){e=r;t=i;continue}i=e+16|0;r=s[i>>2]|0;if(!r)break;else{e=r;t=i}}if(t>>>0>>0)At();else{s[t>>2]=0;d=e;break}}else{r=s[h+8>>2]|0;if(r>>>0>>0)At();e=r+12|0;if((s[e>>2]|0)!=(h|0))At();t=i+8|0;if((s[t>>2]|0)==(h|0)){s[e>>2]=i;s[t>>2]=r;d=i;break}else At()}while(0);do if(a|0){e=s[h+28>>2]|0;t=35280+(e<<2)|0;if((h|0)==(s[t>>2]|0)){s[t>>2]=d;if(!d){s[8745]=s[8745]&~(1<>>0<(s[8748]|0)>>>0)At();e=a+16|0;if((s[e>>2]|0)==(h|0))s[e>>2]=d;else s[a+20>>2]=d;if(!d)break}t=s[8748]|0;if(d>>>0>>0)At();s[d+24>>2]=a;e=s[h+16>>2]|0;do if(e|0)if(e>>>0>>0)At();else{s[d+16>>2]=e;s[e+24>>2]=d;break}while(0);e=s[h+20>>2]|0;if(e|0)if(e>>>0<(s[8748]|0)>>>0)At();else{s[d+20>>2]=e;s[e+24>>2]=d;break}}while(0);if(f>>>0<16){P=f+p|0;s[h+4>>2]=P|3;P=h+P+4|0;s[P>>2]=s[P>>2]|1}else{s[h+4>>2]=p|3;s[o+4>>2]=f|1;s[o+f>>2]=f;e=s[8746]|0;if(e|0){r=s[8749]|0;t=e>>>3;i=35016+(t<<1<<2)|0;e=s[8744]|0;t=1<>2]|0;if(t>>>0<(s[8748]|0)>>>0)At();else{b=e;m=t}}else{s[8744]=e|t;b=i+8|0;m=i}s[b>>2]=r;s[m+12>>2]=r;s[r+8>>2]=m;s[r+12>>2]=i}s[8746]=f;s[8749]=o}P=h+8|0;return P|0}}}else if(e>>>0<=4294967231){e=e+11|0;p=e&-8;c=s[8745]|0;if(c){i=0-p|0;e=e>>>8;if(e)if(p>>>0>16777215)h=31;else{m=(e+1048320|0)>>>16&8;S=e<>>16&4;S=S<>>16&2;h=14-(b|m|h)+(S<>>15)|0;h=p>>>(h+7|0)&1|h<<1}else h=0;t=s[35280+(h<<2)>>2]|0;e:do if(!t){e=0;t=0;S=86}else{n=i;e=0;o=p<<((h|0)==31?0:25-(h>>>1)|0);f=t;t=0;while(1){r=s[f+4>>2]&-8;i=r-p|0;if(i>>>0>>0)if((r|0)==(p|0)){e=f;t=f;S=90;break e}else t=f;else i=n;r=s[f+20>>2]|0;f=s[f+16+(o>>>31<<2)>>2]|0;e=(r|0)==0|(r|0)==(f|0)?e:r;r=(f|0)==0;if(r){S=86;break}else{n=i;o=o<<(r&1^1)}}}while(0);if((S|0)==86){if((e|0)==0&(t|0)==0){e=2<>>12&16;m=m>>>u;l=m>>>5&8;m=m>>>l;d=m>>>2&4;m=m>>>d;b=m>>>1&2;m=m>>>b;e=m>>>1&1;e=s[35280+((l|u|d|b|e)+(m>>>e)<<2)>>2]|0}if(!e){f=i;h=t}else S=90}if((S|0)==90)while(1){S=0;m=(s[e+4>>2]&-8)-p|0;r=m>>>0>>0;i=r?m:i;t=r?e:t;r=s[e+16>>2]|0;if(r|0){e=r;S=90;continue}e=s[e+20>>2]|0;if(!e){f=i;h=t;break}else S=90}if((h|0)!=0?f>>>0<((s[8746]|0)-p|0)>>>0:0){n=s[8748]|0;if(h>>>0>>0)At();o=h+p|0;if(h>>>0>=o>>>0)At();a=s[h+24>>2]|0;i=s[h+12>>2]|0;do if((i|0)==(h|0)){t=h+20|0;e=s[t>>2]|0;if(!e){t=h+16|0;e=s[t>>2]|0;if(!e){g=0;break}}while(1){i=e+20|0;r=s[i>>2]|0;if(r|0){e=r;t=i;continue}i=e+16|0;r=s[i>>2]|0;if(!r)break;else{e=r;t=i}}if(t>>>0>>0)At();else{s[t>>2]=0;g=e;break}}else{r=s[h+8>>2]|0;if(r>>>0>>0)At();e=r+12|0;if((s[e>>2]|0)!=(h|0))At();t=i+8|0;if((s[t>>2]|0)==(h|0)){s[e>>2]=i;s[t>>2]=r;g=i;break}else At()}while(0);do if(a|0){e=s[h+28>>2]|0;t=35280+(e<<2)|0;if((h|0)==(s[t>>2]|0)){s[t>>2]=g;if(!g){s[8745]=s[8745]&~(1<>>0<(s[8748]|0)>>>0)At();e=a+16|0;if((s[e>>2]|0)==(h|0))s[e>>2]=g;else s[a+20>>2]=g;if(!g)break}t=s[8748]|0;if(g>>>0>>0)At();s[g+24>>2]=a;e=s[h+16>>2]|0;do if(e|0)if(e>>>0>>0)At();else{s[g+16>>2]=e;s[e+24>>2]=g;break}while(0);e=s[h+20>>2]|0;if(e|0)if(e>>>0<(s[8748]|0)>>>0)At();else{s[g+20>>2]=e;s[e+24>>2]=g;break}}while(0);do if(f>>>0>=16){s[h+4>>2]=p|3;s[o+4>>2]=f|1;s[o+f>>2]=f;e=f>>>3;if(f>>>0<256){i=35016+(e<<1<<2)|0;t=s[8744]|0;e=1<>2]|0;if(t>>>0<(s[8748]|0)>>>0)At();else{v=e;y=t}}else{s[8744]=t|e;v=i+8|0;y=i}s[v>>2]=o;s[y+12>>2]=o;s[o+8>>2]=y;s[o+12>>2]=i;break}e=f>>>8;if(e)if(f>>>0>16777215)i=31;else{C=(e+1048320|0)>>>16&8;P=e<>>16&4;P=P<>>16&2;i=14-(I|C|i)+(P<>>15)|0;i=f>>>(i+7|0)&1|i<<1}else i=0;r=35280+(i<<2)|0;s[o+28>>2]=i;e=o+16|0;s[e+4>>2]=0;s[e>>2]=0;e=s[8745]|0;t=1<>2]=o;s[o+24>>2]=r;s[o+12>>2]=o;s[o+8>>2]=o;break}i=f<<((i|0)==31?0:25-(i>>>1)|0);r=s[r>>2]|0;while(1){if((s[r+4>>2]&-8|0)==(f|0)){S=148;break}t=r+16+(i>>>31<<2)|0;e=s[t>>2]|0;if(!e){S=145;break}else{i=i<<1;r=e}}if((S|0)==145)if(t>>>0<(s[8748]|0)>>>0)At();else{s[t>>2]=o;s[o+24>>2]=r;s[o+12>>2]=o;s[o+8>>2]=o;break}else if((S|0)==148){e=r+8|0;t=s[e>>2]|0;P=s[8748]|0;if(t>>>0>=P>>>0&r>>>0>=P>>>0){s[t+12>>2]=o;s[e>>2]=o;s[o+8>>2]=t;s[o+12>>2]=r;s[o+24>>2]=0;break}else At()}}else{P=f+p|0;s[h+4>>2]=P|3;P=h+P+4|0;s[P>>2]=s[P>>2]|1}while(0);P=h+8|0;return P|0}}}else p=-1;while(0);i=s[8746]|0;if(i>>>0>=p>>>0){e=i-p|0;t=s[8749]|0;if(e>>>0>15){P=t+p|0;s[8749]=P;s[8746]=e;s[P+4>>2]=e|1;s[P+e>>2]=e;s[t+4>>2]=p|3}else{s[8746]=0;s[8749]=0;s[t+4>>2]=i|3;P=t+i+4|0;s[P>>2]=s[P>>2]|1}P=t+8|0;return P|0}e=s[8747]|0;if(e>>>0>p>>>0){I=e-p|0;s[8747]=I;P=s[8750]|0;C=P+p|0;s[8750]=C;s[C+4>>2]=I|1;s[P+4>>2]=p|3;P=P+8|0;return P|0}do if(!(s[8862]|0)){e=Re(30)|0;if(!(e+-1&e)){s[8864]=e;s[8863]=e;s[8865]=-1;s[8866]=-1;s[8867]=0;s[8855]=0;s[8862]=(rt(0)|0)&-16^1431655768;break}else At()}while(0);o=p+48|0;r=s[8864]|0;f=p+47|0;i=r+f|0;r=0-r|0;h=i&r;if(h>>>0<=p>>>0){P=0;return P|0}e=s[8854]|0;if(e|0?(v=s[8852]|0,y=v+h|0,y>>>0<=v>>>0|y>>>0>e>>>0):0){P=0;return P|0}e:do if(!(s[8855]&4)){t=s[8750]|0;t:do if(t){n=35424;while(1){e=s[n>>2]|0;if(e>>>0<=t>>>0?(w=n+4|0,(e+(s[w>>2]|0)|0)>>>0>t>>>0):0)break;e=s[n+8>>2]|0;if(!e){S=173;break t}else n=e}e=i-(s[8747]|0)&r;if(e>>>0<2147483647){t=Me(e|0)|0;if((t|0)==((s[n>>2]|0)+(s[w>>2]|0)|0)){if((t|0)!=(-1|0)){o=t;a=e;S=193;break e}}else S=183}}else S=173;while(0);do if((S|0)==173?(_=Me(0)|0,(_|0)!=(-1|0)):0){e=_;t=s[8863]|0;i=t+-1|0;if(!(i&e))e=h;else e=h-e+(i+e&0-t)|0;t=s[8852]|0;i=t+e|0;if(e>>>0>p>>>0&e>>>0<2147483647){y=s[8854]|0;if(y|0?i>>>0<=t>>>0|i>>>0>y>>>0:0)break;t=Me(e|0)|0;if((t|0)==(_|0)){o=_;a=e;S=193;break e}else S=183}}while(0);t:do if((S|0)==183){i=0-e|0;do if(o>>>0>e>>>0&(e>>>0<2147483647&(t|0)!=(-1|0))?(k=s[8864]|0,k=f-e+k&0-k,k>>>0<2147483647):0)if((Me(k|0)|0)==(-1|0)){Me(i|0)|0;break t}else{e=k+e|0;break}while(0);if((t|0)!=(-1|0)){o=t;a=e;S=193;break e}}while(0);s[8855]=s[8855]|4;S=190}else S=190;while(0);if((((S|0)==190?h>>>0<2147483647:0)?(E=Me(h|0)|0,A=Me(0)|0,E>>>0>>0&((E|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(a=A-E|0,a>>>0>(p+40|0)>>>0):0){o=E;S=193}if((S|0)==193){e=(s[8852]|0)+a|0;s[8852]=e;if(e>>>0>(s[8853]|0)>>>0)s[8853]=e;c=s[8750]|0;do if(c){n=35424;while(1){e=s[n>>2]|0;t=n+4|0;i=s[t>>2]|0;if((o|0)==(e+i|0)){S=203;break}r=s[n+8>>2]|0;if(!r)break;else n=r}if(((S|0)==203?(s[n+12>>2]&8|0)==0:0)?c>>>0>>0&c>>>0>=e>>>0:0){s[t>>2]=i+a;P=c+8|0;P=(P&7|0)==0?0:0-P&7;C=c+P|0;P=a-P+(s[8747]|0)|0;s[8750]=C;s[8747]=P;s[C+4>>2]=P|1;s[C+P+4>>2]=40;s[8751]=s[8866];break}e=s[8748]|0;if(o>>>0>>0){s[8748]=o;f=o}else f=e;t=o+a|0;e=35424;while(1){if((s[e>>2]|0)==(t|0)){S=211;break}e=s[e+8>>2]|0;if(!e){t=35424;break}}if((S|0)==211)if(!(s[e+12>>2]&8)){s[e>>2]=o;u=e+4|0;s[u>>2]=(s[u>>2]|0)+a;u=o+8|0;u=o+((u&7|0)==0?0:0-u&7)|0;e=t+8|0;e=t+((e&7|0)==0?0:0-e&7)|0;l=u+p|0;h=e-u-p|0;s[u+4>>2]=p|3;do if((e|0)!=(c|0)){if((e|0)==(s[8749]|0)){P=(s[8746]|0)+h|0;s[8746]=P;s[8749]=l;s[l+4>>2]=P|1;s[l+P>>2]=P;break}t=s[e+4>>2]|0;if((t&3|0)==1){o=t&-8;n=t>>>3;e:do if(t>>>0>=256){a=s[e+24>>2]|0;r=s[e+12>>2]|0;do if((r|0)==(e|0)){r=e+16|0;i=r+4|0;t=s[i>>2]|0;if(!t){t=s[r>>2]|0;if(!t){I=0;break}else i=r}while(1){r=t+20|0;n=s[r>>2]|0;if(n|0){t=n;i=r;continue}r=t+16|0;n=s[r>>2]|0;if(!n)break;else{t=n;i=r}}if(i>>>0>>0)At();else{s[i>>2]=0;I=t;break}}else{n=s[e+8>>2]|0;if(n>>>0>>0)At();t=n+12|0;if((s[t>>2]|0)!=(e|0))At();i=r+8|0;if((s[i>>2]|0)==(e|0)){s[t>>2]=r;s[i>>2]=n;I=r;break}else At()}while(0);if(!a)break;t=s[e+28>>2]|0;i=35280+(t<<2)|0;do if((e|0)!=(s[i>>2]|0)){if(a>>>0<(s[8748]|0)>>>0)At();t=a+16|0;if((s[t>>2]|0)==(e|0))s[t>>2]=I;else s[a+20>>2]=I;if(!I)break e}else{s[i>>2]=I;if(I|0)break;s[8745]=s[8745]&~(1<>>0>>0)At();s[I+24>>2]=a;t=e+16|0;i=s[t>>2]|0;do if(i|0)if(i>>>0>>0)At();else{s[I+16>>2]=i;s[i+24>>2]=I;break}while(0);t=s[t+4>>2]|0;if(!t)break;if(t>>>0<(s[8748]|0)>>>0)At();else{s[I+20>>2]=t;s[t+24>>2]=I;break}}else{i=s[e+8>>2]|0;r=s[e+12>>2]|0;t=35016+(n<<1<<2)|0;do if((i|0)!=(t|0)){if(i>>>0>>0)At();if((s[i+12>>2]|0)==(e|0))break;At()}while(0);if((r|0)==(i|0)){s[8744]=s[8744]&~(1<>>0>>0)At();t=r+8|0;if((s[t>>2]|0)==(e|0)){T=t;break}At()}while(0);s[i+12>>2]=r;s[T>>2]=i}while(0);e=e+o|0;n=o+h|0}else n=h;e=e+4|0;s[e>>2]=s[e>>2]&-2;s[l+4>>2]=n|1;s[l+n>>2]=n;e=n>>>3;if(n>>>0<256){i=35016+(e<<1<<2)|0;t=s[8744]|0;e=1<>2]|0;if(t>>>0>=(s[8748]|0)>>>0){C=e;P=t;break}At()}while(0);s[C>>2]=l;s[P+12>>2]=l;s[l+8>>2]=P;s[l+12>>2]=i;break}e=n>>>8;do if(!e)i=0;else{if(n>>>0>16777215){i=31;break}C=(e+1048320|0)>>>16&8;P=e<>>16&4;P=P<>>16&2;i=14-(I|C|i)+(P<>>15)|0;i=n>>>(i+7|0)&1|i<<1}while(0);r=35280+(i<<2)|0;s[l+28>>2]=i;e=l+16|0;s[e+4>>2]=0;s[e>>2]=0;e=s[8745]|0;t=1<>2]=l;s[l+24>>2]=r;s[l+12>>2]=l;s[l+8>>2]=l;break}i=n<<((i|0)==31?0:25-(i>>>1)|0);r=s[r>>2]|0;while(1){if((s[r+4>>2]&-8|0)==(n|0)){S=281;break}t=r+16+(i>>>31<<2)|0;e=s[t>>2]|0;if(!e){S=278;break}else{i=i<<1;r=e}}if((S|0)==278)if(t>>>0<(s[8748]|0)>>>0)At();else{s[t>>2]=l;s[l+24>>2]=r;s[l+12>>2]=l;s[l+8>>2]=l;break}else if((S|0)==281){e=r+8|0;t=s[e>>2]|0;P=s[8748]|0;if(t>>>0>=P>>>0&r>>>0>=P>>>0){s[t+12>>2]=l;s[e>>2]=l;s[l+8>>2]=t;s[l+12>>2]=r;s[l+24>>2]=0;break}else At()}}else{P=(s[8747]|0)+h|0;s[8747]=P;s[8750]=l;s[l+4>>2]=P|1}while(0);P=u+8|0;return P|0}else t=35424;while(1){e=s[t>>2]|0;if(e>>>0<=c>>>0?(M=e+(s[t+4>>2]|0)|0,M>>>0>c>>>0):0)break;t=s[t+8>>2]|0}n=M+-47|0;t=n+8|0;t=n+((t&7|0)==0?0:0-t&7)|0;n=c+16|0;t=t>>>0>>0?c:t;e=t+8|0;i=o+8|0;i=(i&7|0)==0?0:0-i&7;P=o+i|0;i=a+-40-i|0;s[8750]=P;s[8747]=i;s[P+4>>2]=i|1;s[P+i+4>>2]=40;s[8751]=s[8866];i=t+4|0;s[i>>2]=27;s[e>>2]=s[8856];s[e+4>>2]=s[8857];s[e+8>>2]=s[8858];s[e+12>>2]=s[8859];s[8856]=o;s[8857]=a;s[8859]=0;s[8858]=e;e=t+24|0;do{e=e+4|0;s[e>>2]=7}while((e+4|0)>>>0>>0);if((t|0)!=(c|0)){a=t-c|0;s[i>>2]=s[i>>2]&-2;s[c+4>>2]=a|1;s[t>>2]=a;e=a>>>3;if(a>>>0<256){i=35016+(e<<1<<2)|0;t=s[8744]|0;e=1<>2]|0;if(t>>>0<(s[8748]|0)>>>0)At();else{x=e;R=t}}else{s[8744]=t|e;x=i+8|0;R=i}s[x>>2]=c;s[R+12>>2]=c;s[c+8>>2]=R;s[c+12>>2]=i;break}e=a>>>8;if(e)if(a>>>0>16777215)i=31;else{C=(e+1048320|0)>>>16&8;P=e<>>16&4;P=P<>>16&2;i=14-(I|C|i)+(P<>>15)|0;i=a>>>(i+7|0)&1|i<<1}else i=0;r=35280+(i<<2)|0;s[c+28>>2]=i;s[c+20>>2]=0;s[n>>2]=0;e=s[8745]|0;t=1<>2]=c;s[c+24>>2]=r;s[c+12>>2]=c;s[c+8>>2]=c;break}i=a<<((i|0)==31?0:25-(i>>>1)|0);r=s[r>>2]|0;while(1){if((s[r+4>>2]&-8|0)==(a|0)){S=307;break}t=r+16+(i>>>31<<2)|0;e=s[t>>2]|0;if(!e){S=304;break}else{i=i<<1;r=e}}if((S|0)==304)if(t>>>0<(s[8748]|0)>>>0)At();else{s[t>>2]=c;s[c+24>>2]=r;s[c+12>>2]=c;s[c+8>>2]=c;break}else if((S|0)==307){e=r+8|0;t=s[e>>2]|0;P=s[8748]|0;if(t>>>0>=P>>>0&r>>>0>=P>>>0){s[t+12>>2]=c;s[e>>2]=c;s[c+8>>2]=t;s[c+12>>2]=r;s[c+24>>2]=0;break}else At()}}}else{P=s[8748]|0;if((P|0)==0|o>>>0

>>0)s[8748]=o;s[8856]=o;s[8857]=a;s[8859]=0;s[8753]=s[8862];s[8752]=-1;e=0;do{P=35016+(e<<1<<2)|0;s[P+12>>2]=P;s[P+8>>2]=P;e=e+1|0}while((e|0)!=32);P=o+8|0;P=(P&7|0)==0?0:0-P&7;C=o+P|0;P=a+-40-P|0;s[8750]=C;s[8747]=P;s[C+4>>2]=P|1;s[C+P+4>>2]=40;s[8751]=s[8866]}while(0);e=s[8747]|0;if(e>>>0>p>>>0){I=e-p|0;s[8747]=I;P=s[8750]|0;C=P+p|0;s[8750]=C;s[C+4>>2]=I|1;s[P+4>>2]=p|3;P=P+8|0;return P|0}}if(!(s[8732]|0))e=34972;else e=s[(zt()|0)+64>>2]|0;s[e>>2]=12;P=0;return P|0}function Hr(e){e=e|0;var t=0,i=0,r=0,n=0,a=0,o=0,f=0,h=0,c=0,l=0,u=0,d=0,p=0,b=0,m=0;if(!e)return;i=e+-8|0;o=s[8748]|0;if(i>>>0>>0)At();e=s[e+-4>>2]|0;t=e&3;if((t|0)==1)At();r=e&-8;u=i+r|0;do if(!(e&1)){e=s[i>>2]|0;if(!t)return;c=i+(0-e)|0;h=e+r|0;if(c>>>0>>0)At();if((c|0)==(s[8749]|0)){e=u+4|0;t=s[e>>2]|0;if((t&3|0)!=3){m=c;n=h;break}s[8746]=h;s[e>>2]=t&-2;s[c+4>>2]=h|1;s[c+h>>2]=h;return}r=e>>>3;if(e>>>0<256){t=s[c+8>>2]|0;i=s[c+12>>2]|0;e=35016+(r<<1<<2)|0;if((t|0)!=(e|0)){if(t>>>0>>0)At();if((s[t+12>>2]|0)!=(c|0))At()}if((i|0)==(t|0)){s[8744]=s[8744]&~(1<>>0>>0)At();e=i+8|0;if((s[e>>2]|0)==(c|0))a=e;else At()}else a=i+8|0;s[t+12>>2]=i;s[a>>2]=t;m=c;n=h;break}a=s[c+24>>2]|0;i=s[c+12>>2]|0;do if((i|0)==(c|0)){i=c+16|0;t=i+4|0;e=s[t>>2]|0;if(!e){e=s[i>>2]|0;if(!e){f=0;break}else t=i}while(1){i=e+20|0;r=s[i>>2]|0;if(r|0){e=r;t=i;continue}i=e+16|0;r=s[i>>2]|0;if(!r)break;else{e=r;t=i}}if(t>>>0>>0)At();else{s[t>>2]=0;f=e;break}}else{r=s[c+8>>2]|0;if(r>>>0>>0)At();e=r+12|0;if((s[e>>2]|0)!=(c|0))At();t=i+8|0;if((s[t>>2]|0)==(c|0)){s[e>>2]=i;s[t>>2]=r;f=i;break}else At()}while(0);if(a){e=s[c+28>>2]|0;t=35280+(e<<2)|0;if((c|0)==(s[t>>2]|0)){s[t>>2]=f;if(!f){s[8745]=s[8745]&~(1<>>0<(s[8748]|0)>>>0)At();e=a+16|0;if((s[e>>2]|0)==(c|0))s[e>>2]=f;else s[a+20>>2]=f;if(!f){m=c;n=h;break}}i=s[8748]|0;if(f>>>0>>0)At();s[f+24>>2]=a;e=c+16|0;t=s[e>>2]|0;do if(t|0)if(t>>>0>>0)At();else{s[f+16>>2]=t;s[t+24>>2]=f;break}while(0);e=s[e+4>>2]|0;if(e)if(e>>>0<(s[8748]|0)>>>0)At();else{s[f+20>>2]=e;s[e+24>>2]=f;m=c;n=h;break}else{m=c;n=h}}else{m=c;n=h}}else{m=i;n=r}while(0);if(m>>>0>=u>>>0)At();e=u+4|0;t=s[e>>2]|0;if(!(t&1))At();if(!(t&2)){if((u|0)==(s[8750]|0)){b=(s[8747]|0)+n|0;s[8747]=b;s[8750]=m;s[m+4>>2]=b|1;if((m|0)!=(s[8749]|0))return;s[8749]=0;s[8746]=0;return}if((u|0)==(s[8749]|0)){b=(s[8746]|0)+n|0;s[8746]=b;s[8749]=m;s[m+4>>2]=b|1;s[m+b>>2]=b;return}n=(t&-8)+n|0;r=t>>>3;do if(t>>>0>=256){a=s[u+24>>2]|0;e=s[u+12>>2]|0;do if((e|0)==(u|0)){i=u+16|0;t=i+4|0;e=s[t>>2]|0;if(!e){e=s[i>>2]|0;if(!e){d=0;break}else t=i}while(1){i=e+20|0;r=s[i>>2]|0;if(r|0){e=r;t=i;continue}i=e+16|0;r=s[i>>2]|0;if(!r)break;else{e=r;t=i}}if(t>>>0<(s[8748]|0)>>>0)At();else{s[t>>2]=0;d=e;break}}else{t=s[u+8>>2]|0;if(t>>>0<(s[8748]|0)>>>0)At();i=t+12|0;if((s[i>>2]|0)!=(u|0))At();r=e+8|0;if((s[r>>2]|0)==(u|0)){s[i>>2]=e;s[r>>2]=t;d=e;break}else At()}while(0);if(a|0){e=s[u+28>>2]|0;t=35280+(e<<2)|0;if((u|0)==(s[t>>2]|0)){s[t>>2]=d;if(!d){s[8745]=s[8745]&~(1<>>0<(s[8748]|0)>>>0)At();e=a+16|0;if((s[e>>2]|0)==(u|0))s[e>>2]=d;else s[a+20>>2]=d;if(!d)break}i=s[8748]|0;if(d>>>0>>0)At();s[d+24>>2]=a;e=u+16|0;t=s[e>>2]|0;do if(t|0)if(t>>>0>>0)At();else{s[d+16>>2]=t;s[t+24>>2]=d;break}while(0);e=s[e+4>>2]|0;if(e|0)if(e>>>0<(s[8748]|0)>>>0)At();else{s[d+20>>2]=e;s[e+24>>2]=d;break}}}else{t=s[u+8>>2]|0;i=s[u+12>>2]|0;e=35016+(r<<1<<2)|0;if((t|0)!=(e|0)){if(t>>>0<(s[8748]|0)>>>0)At();if((s[t+12>>2]|0)!=(u|0))At()}if((i|0)==(t|0)){s[8744]=s[8744]&~(1<>>0<(s[8748]|0)>>>0)At();e=i+8|0;if((s[e>>2]|0)==(u|0))l=e;else At()}else l=i+8|0;s[t+12>>2]=i;s[l>>2]=t}while(0);s[m+4>>2]=n|1;s[m+n>>2]=n;if((m|0)==(s[8749]|0)){s[8746]=n;return}}else{s[e>>2]=t&-2;s[m+4>>2]=n|1;s[m+n>>2]=n}e=n>>>3;if(n>>>0<256){i=35016+(e<<1<<2)|0;t=s[8744]|0;e=1<>2]|0;if(t>>>0<(s[8748]|0)>>>0)At();else{p=e;b=t}}else{s[8744]=t|e;p=i+8|0;b=i}s[p>>2]=m;s[b+12>>2]=m;s[m+8>>2]=b;s[m+12>>2]=i;return}e=n>>>8;if(e)if(n>>>0>16777215)i=31;else{p=(e+1048320|0)>>>16&8;b=e<>>16&4;b=b<>>16&2;i=14-(d|p|i)+(b<>>15)|0;i=n>>>(i+7|0)&1|i<<1}else i=0;r=35280+(i<<2)|0;s[m+28>>2]=i;s[m+20>>2]=0;s[m+16>>2]=0;e=s[8745]|0;t=1<>>1)|0);r=s[r>>2]|0;while(1){if((s[r+4>>2]&-8|0)==(n|0)){e=130;break}t=r+16+(i>>>31<<2)|0;e=s[t>>2]|0;if(!e){e=127;break}else{i=i<<1;r=e}}if((e|0)==127)if(t>>>0<(s[8748]|0)>>>0)At();else{s[t>>2]=m;s[m+24>>2]=r;s[m+12>>2]=m;s[m+8>>2]=m;break}else if((e|0)==130){e=r+8|0;t=s[e>>2]|0;b=s[8748]|0;if(t>>>0>=b>>>0&r>>>0>=b>>>0){s[t+12>>2]=m;s[e>>2]=m;s[m+8>>2]=t;s[m+12>>2]=r;s[m+24>>2]=0;break}else At()}}else{s[8745]=e|t;s[r>>2]=m;s[m+24>>2]=r;s[m+12>>2]=m;s[m+8>>2]=m}while(0);m=(s[8752]|0)+-1|0;s[8752]=m;if(!m)e=35432;else return;while(1){e=s[e>>2]|0;if(!e)break;else e=e+8|0}s[8752]=-1;return}function Gr(e){e=e|0;return}function Vr(e){e=e|0;Hr(e);return}function Wr(e){e=e|0;return}function Kr(e){e=e|0;return}function Yr(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,n=0,a=0,o=0;o=l;l=l+64|0;a=o;if((e|0)!=(t|0))if((t|0)!=0?(n=Zr(t,240)|0,(n|0)!=0):0){t=a;r=t+56|0;do{s[t>>2]=0;t=t+4|0}while((t|0)<(r|0));s[a>>2]=n;s[a+8>>2]=e;s[a+12>>2]=-1;s[a+48>>2]=1;Qs[s[(s[n>>2]|0)+28>>2]&3](n,a,s[i>>2]|0,1);if((s[a+24>>2]|0)==1){s[i>>2]=s[a+16>>2];t=1}else t=0}else t=0;else t=1;l=o;return t|0}function Zr(e,t){e=e|0;t=t|0;var i=0,a=0,o=0,f=0,h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0;g=l;l=l+64|0;w=g;m=s[e>>2]|0;b=e+(s[m+-8>>2]|0)|0;m=s[m+-4>>2]|0;s[w>>2]=t;s[w+4>>2]=e;s[w+8>>2]=272;c=w+12|0;u=w+16|0;e=w+20|0;i=w+24|0;a=w+28|0;o=w+32|0;f=w+40|0;h=(m|0)==(t|0);d=c;p=d+40|0;do{s[d>>2]=0;d=d+4|0}while((d|0)<(p|0));n[c+40>>1]=0;r[c+42>>0]=0;e:do if(h){s[w+48>>2]=1;Xs[s[(s[t>>2]|0)+20>>2]&3](t,w,b,b,1,0);e=(s[i>>2]|0)==1?b:0}else{Gs[s[(s[m>>2]|0)+24>>2]&3](m,w,b,1,0);switch(s[w+36>>2]|0){case 0:{e=(s[f>>2]|0)==1&(s[a>>2]|0)==1&(s[o>>2]|0)==1?s[e>>2]|0:0;break e}case 1:break;default:{e=0;break e}}if((s[i>>2]|0)!=1?!((s[f>>2]|0)==0&(s[a>>2]|0)==1&(s[o>>2]|0)==1):0){e=0;break}e=s[u>>2]|0}while(0);l=g;return e|0}function $r(e,t,i,r,n,a){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;a=a|0;if((e|0)==(s[t+8>>2]|0))Xr(t,i,r,n);else{e=s[e+8>>2]|0;Xs[s[(s[e>>2]|0)+20>>2]&3](e,t,i,r,n,a)}return}function Xr(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var a=0;r[e+53>>0]=1;do if((s[e+4>>2]|0)==(i|0)){r[e+52>>0]=1;i=e+16|0;a=s[i>>2]|0;if(!a){s[i>>2]=t;s[e+24>>2]=n;s[e+36>>2]=1;if(!((n|0)==1?(s[e+48>>2]|0)==1:0))break;r[e+54>>0]=1;break}if((a|0)!=(t|0)){n=e+36|0;s[n>>2]=(s[n>>2]|0)+1;r[e+54>>0]=1;break}a=e+24|0;i=s[a>>2]|0;if((i|0)==2){s[a>>2]=n;i=n}if((i|0)==1?(s[e+48>>2]|0)==1:0)r[e+54>>0]=1}while(0);return}function Jr(e,t,i,n,a){e=e|0;t=t|0;i=i|0;n=n|0;a=a|0;var o=0,f=0,h=0;do if((e|0)==(s[t+8>>2]|0)){if((s[t+4>>2]|0)==(i|0)?(o=t+28|0,(s[o>>2]|0)!=1):0)s[o>>2]=n}else{if((e|0)!=(s[t>>2]|0)){h=s[e+8>>2]|0;Gs[s[(s[h>>2]|0)+24>>2]&3](h,t,i,n,a);break}if((s[t+16>>2]|0)!=(i|0)?(h=t+20|0,(s[h>>2]|0)!=(i|0)):0){s[t+32>>2]=n;f=t+44|0;if((s[f>>2]|0)==4)break;o=t+52|0;r[o>>0]=0;n=t+53|0;r[n>>0]=0;e=s[e+8>>2]|0;Xs[s[(s[e>>2]|0)+20>>2]&3](e,t,i,i,1,a);if(r[n>>0]|0)if(!(r[o>>0]|0)){o=1;n=13}else n=17;else{o=0;n=13}do if((n|0)==13){s[h>>2]=i;i=t+40|0;s[i>>2]=(s[i>>2]|0)+1;if((s[t+36>>2]|0)==1?(s[t+24>>2]|0)==2:0){r[t+54>>0]=1;if(o){n=17;break}else{o=4;break}}if(o)n=17;else o=4}while(0);if((n|0)==17)o=3;s[f>>2]=o;break}if((n|0)==1)s[t+32>>2]=1}while(0);return}function Qr(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var a=0;do if((e|0)==(s[t+8>>2]|0)){e=t+16|0;a=s[e>>2]|0;if(!a){s[e>>2]=i;s[t+24>>2]=n;s[t+36>>2]=1;break}if((a|0)!=(i|0)){n=t+36|0;s[n>>2]=(s[n>>2]|0)+1;s[t+24>>2]=2;r[t+54>>0]=1;break}e=t+24|0;if((s[e>>2]|0)==2)s[e>>2]=n}else{a=s[e+8>>2]|0;Qs[s[(s[a>>2]|0)+28>>2]&3](a,t,i,n)}while(0);return}function en(e){e=e|0;Hr(e);return}function tn(e,t,i,r,n,a){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;a=a|0;if((e|0)==(s[t+8>>2]|0))Xr(t,i,r,n);return}function rn(e,t,i,n,a){e=e|0;t=t|0;i=i|0;n=n|0;a=a|0;var o=0,f=0;do if((e|0)==(s[t+8>>2]|0)){if((s[t+4>>2]|0)==(i|0)?(f=t+28|0,(s[f>>2]|0)!=1):0)s[f>>2]=n}else if((e|0)==(s[t>>2]|0)){if((s[t+16>>2]|0)!=(i|0)?(o=t+20|0,(s[o>>2]|0)!=(i|0)):0){s[t+32>>2]=n;s[o>>2]=i;a=t+40|0;s[a>>2]=(s[a>>2]|0)+1;if((s[t+36>>2]|0)==1?(s[t+24>>2]|0)==2:0)r[t+54>>0]=1;s[t+44>>2]=4;break}if((n|0)==1)s[t+32>>2]=1}while(0);return}function nn(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var a=0;do if((e|0)==(s[t+8>>2]|0)){e=t+16|0;a=s[e>>2]|0;if(!a){s[e>>2]=i;s[t+24>>2]=n;s[t+36>>2]=1;break}if((a|0)!=(i|0)){n=t+36|0;s[n>>2]=(s[n>>2]|0)+1;s[t+24>>2]=2;r[t+54>>0]=1;break}e=t+24|0;if((s[e>>2]|0)==2)s[e>>2]=n}while(0);return}function sn(e){e=e|0;return}function an(e){e=e|0;Hr(e);return}function on(e){e=e|0;return 34734}function fn(e){e=e|0;Hr(e);return}function hn(e,t,i){e=e|0;t=t|0;i=i|0;return(e|0)==(t|0)|0}function cn(e){e=e|0;Hr(e);return}function ln(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,n=0,a=0,o=0,f=0,h=0;h=l;l=l+64|0;f=h;s[i>>2]=s[s[i>>2]>>2];if(!((e|0)==(t|0)|(t|0)==368))if(((t|0)!=0?(r=Zr(t,328)|0,(r|0)!=0):0)?(s[r+8>>2]&~s[e+8>>2]|0)==0:0){t=s[e+12>>2]|0;e=r+12|0;if(!((t|0)==360?1:(t|0)==(s[e>>2]|0)))if((((t|0)!=0?(a=Zr(t,240)|0,(a|0)!=0):0)?(n=s[e>>2]|0,(n|0)!=0):0)?(o=Zr(n,240)|0,(o|0)!=0):0){e=f;t=e+56|0;do{s[e>>2]=0;e=e+4|0}while((e|0)<(t|0));s[f>>2]=o;s[f+8>>2]=a;s[f+12>>2]=-1;s[f+48>>2]=1;Qs[s[(s[o>>2]|0)+28>>2]&3](o,f,s[i>>2]|0,1);if((s[f+24>>2]|0)==1){s[i>>2]=s[f+16>>2];e=1}else e=0}else e=0;else e=1}else e=0;else e=1;l=h;return e|0}function un(e){e=e|0;Hr(e);return}function dn(e,t,i,a,o,f){e=e|0;t=t|0;i=i|0;a=a|0;o=o|0;f=f|0;var h=0,c=0,l=0,u=0,d=0,p=0,b=0,m=0,w=0;if((e|0)==(s[t+8>>2]|0))Xr(t,i,a,o);else{p=t+52|0;w=n[p>>1]|0;b=w&255;m=t+53|0;w=(w&65535)>>>8&255;d=s[e+12>>2]|0;c=e+16+(d<<3)|0;r[p>>0]=0;r[m>>0]=0;pn(e+16|0,t,i,a,o,f);e:do if((d|0)>1){l=t+24|0;u=e+8|0;d=t+54|0;h=e+24|0;do{if(r[d>>0]|0)break e;e=n[p>>1]|0;if(!((e&255)<<24>>24)){if((e&65535)>=256?(s[u>>2]&1|0)==0:0)break e}else{if((s[l>>2]|0)==1)break e;if(!(s[u>>2]&2))break e}r[p>>0]=0;r[m>>0]=0;pn(h,t,i,a,o,f);h=h+8|0}while(h>>>0>>0)}while(0);r[p>>0]=b;r[m>>0]=w}return}function pn(e,t,i,r,n,a){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;a=a|0;var o=0,f=0;f=s[e+4>>2]|0;o=f>>8;if(f&1)o=s[(s[r>>2]|0)+o>>2]|0;e=s[e>>2]|0;Xs[s[(s[e>>2]|0)+20>>2]&3](e,t,i,r+o|0,f&2|0?n:2,a);return}function bn(e,t,i,n,a){e=e|0;t=t|0;i=i|0;n=n|0;a=a|0;var o=0,f=0,h=0,c=0,l=0,u=0,d=0,p=0,b=0,m=0;e:do if((e|0)==(s[t+8>>2]|0)){if((s[t+4>>2]|0)==(i|0)?(o=t+28|0,(s[o>>2]|0)!=1):0)s[o>>2]=n}else{if((e|0)!=(s[t>>2]|0)){m=s[e+12>>2]|0;h=e+16+(m<<3)|0;mn(e+16|0,t,i,n,a);o=e+24|0;if((m|0)<=1)break;e=s[e+8>>2]|0;if((e&2|0)==0?(c=t+36|0,(s[c>>2]|0)!=1):0){if(!(e&1)){e=t+54|0;while(1){if(r[e>>0]|0)break e;if((s[c>>2]|0)==1)break e;mn(o,t,i,n,a);o=o+8|0;if(o>>>0>=h>>>0)break e}}e=t+24|0;f=t+54|0;while(1){if(r[f>>0]|0)break e;if((s[c>>2]|0)==1?(s[e>>2]|0)==1:0)break e;mn(o,t,i,n,a);o=o+8|0;if(o>>>0>=h>>>0)break e}}e=t+54|0;while(1){if(r[e>>0]|0)break e;mn(o,t,i,n,a);o=o+8|0;if(o>>>0>=h>>>0)break e}}if((s[t+16>>2]|0)!=(i|0)?(m=t+20|0,(s[m>>2]|0)!=(i|0)):0){s[t+32>>2]=n;b=t+44|0;if((s[b>>2]|0)==4)break;h=e+16+(s[e+12>>2]<<3)|0;c=t+52|0;n=t+53|0;d=t+54|0;l=e+8|0;p=t+24|0;u=0;o=0;f=e+16|0;t:while(1){if(f>>>0>=h>>>0){e=20;break}r[c>>0]=0;r[n>>0]=0;pn(f,t,i,i,1,a);if(r[d>>0]|0){e=20;break}do if(r[n>>0]|0){if(!(r[c>>0]|0))if(!(s[l>>2]&1)){o=1;e=20;break t}else{e=u;o=1;break}if((s[p>>2]|0)==1){e=25;break t}if(!(s[l>>2]&2)){e=25;break t}else{e=1;o=1}}else e=u;while(0);u=e;f=f+8|0}do if((e|0)==20){if((!u?(s[m>>2]=i,i=t+40|0,s[i>>2]=(s[i>>2]|0)+1,(s[t+36>>2]|0)==1):0)?(s[p>>2]|0)==2:0){r[d>>0]=1;if(o){e=25;break}else{o=4;break}}if(o)e=25;else o=4}while(0);if((e|0)==25)o=3;s[b>>2]=o;break}if((n|0)==1)s[t+32>>2]=1}while(0);return}function mn(e,t,i,r,n){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;var a=0,o=0;o=s[e+4>>2]|0;a=o>>8;if(o&1)a=s[(s[i>>2]|0)+a>>2]|0;e=s[e>>2]|0;Gs[s[(s[e>>2]|0)+24>>2]&3](e,t,i+a|0,o&2|0?r:2,n);return}function wn(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var a=0,o=0;e:do if((e|0)==(s[t+8>>2]|0)){e=t+16|0;a=s[e>>2]|0;if(!a){s[e>>2]=i;s[t+24>>2]=n;s[t+36>>2]=1;break}if((a|0)!=(i|0)){n=t+36|0;s[n>>2]=(s[n>>2]|0)+1;s[t+24>>2]=2;r[t+54>>0]=1;break}e=t+24|0;if((s[e>>2]|0)==2)s[e>>2]=n}else{o=s[e+12>>2]|0;a=e+16+(o<<3)|0;gn(e+16|0,t,i,n);if((o|0)>1){o=t+54|0;e=e+24|0;do{gn(e,t,i,n);if(r[o>>0]|0)break e;e=e+8|0}while(e>>>0>>0)}}while(0);return}function gn(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var n=0,a=0;a=s[e+4>>2]|0;n=a>>8;if(a&1)n=s[(s[i>>2]|0)+n>>2]|0;e=s[e>>2]|0;Qs[s[(s[e>>2]|0)+28>>2]&3](e,t,i+n|0,a&2|0?r:2);return}function vn(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,n=0;n=l;l=l+16|0;r=n;s[r>>2]=s[i>>2];e=Hs[s[(s[e>>2]|0)+16>>2]&7](e,t,r)|0;if(e)s[i>>2]=s[r>>2];l=n;return e&1|0}function _n(e){e=e|0;if(!e)e=0;else e=(Zr(e,328)|0)!=0;return e&1|0}function yn(){}function kn(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,a=0,o=0,f=0;n=e+i|0;if((i|0)>=20){t=t&255;o=e&3;f=t|t<<8|t<<16|t<<24;a=n&~3;if(o){o=e+4-o|0;while((e|0)<(o|0)){r[e>>0]=t;e=e+1|0}}while((e|0)<(a|0)){s[e>>2]=f;e=e+4|0}}while((e|0)<(n|0)){r[e>>0]=t;e=e+1|0}return e-i|0}function En(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;i=e+i>>>0;return(C=t+r+(i>>>0>>0|0)>>>0,i|0)|0}function An(e,t,i){e=e|0;t=t|0;i=i|0;if((i|0)<32){C=t>>i;return e>>>i|(t&(1<>i-32|0}function Sn(e,t,i){e=e|0;t=t|0;i=i|0;if((i|0)<32){C=t>>>i;return e>>>i|(t&(1<>>i-32|0}function Mn(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;if((i|0)>=4096)return Te(e|0,t|0,i|0)|0;n=e|0;if((e&3)==(t&3)){while(e&3){if(!i)return n|0;r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0;i=i-1|0}while((i|0)>=4){s[e>>2]=s[t>>2];e=e+4|0;t=t+4|0;i=i-4|0}}while((i|0)>0){r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0;i=i-1|0}return n|0}function Tn(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;if((t|0)<(e|0)&(e|0)<(t+i|0)){n=e;t=t+i|0;e=e+i|0;while((i|0)>0){e=e-1|0;t=t-1|0;i=i-1|0;r[e>>0]=r[t>>0]|0}e=n}else Mn(e,t,i)|0;return e|0}function xn(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;r=t-r-(i>>>0>e>>>0|0)>>>0;return(C=r,e-i>>>0|0)|0}function Rn(e,t,i){e=e|0;t=t|0;i=i|0;if((i|0)<32){C=t<>>32-i;return e<>0]|0;if((t|0)<8)return t|0;t=r[b+(e>>8&255)>>0]|0;if((t|0)<8)return t+8|0;t=r[b+(e>>16&255)>>0]|0;if((t|0)<8)return t+16|0;return(r[b+(e>>>24)>>0]|0)+24|0}function Cn(e,t){e=e|0;t=t|0;var i=0,r=0,n=0,s=0;s=e&65535;n=t&65535;i=te(n,s)|0;r=e>>>16;e=(i>>>16)+(te(n,r)|0)|0;n=t>>>16;t=te(n,s)|0;return(C=(e>>>16)+(te(n,r)|0)+(((e&65535)+t|0)>>>16)|0,e+t<<16|i&65535|0)|0}function Pn(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var n=0,s=0,a=0,o=0,f=0,h=0;h=t>>31|((t|0)<0?-1:0)<<1;f=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;s=r>>31|((r|0)<0?-1:0)<<1;n=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1;o=xn(h^e|0,f^t|0,h|0,f|0)|0;a=C;e=s^h;t=n^f;return xn((Bn(o,a,xn(s^i|0,n^r|0,s|0,n|0)|0,C,0)|0)^e|0,C^t|0,e|0,t|0)|0}function On(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var n=0,a=0,o=0,f=0,h=0,c=0;n=l;l=l+16|0;f=n|0;o=t>>31|((t|0)<0?-1:0)<<1;a=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;c=r>>31|((r|0)<0?-1:0)<<1;h=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1;e=xn(o^e|0,a^t|0,o|0,a|0)|0;t=C;Bn(e,t,xn(c^i|0,h^r|0,c|0,h|0)|0,C,f)|0;r=xn(s[f>>2]^o|0,s[f+4>>2]^a|0,o|0,a|0)|0;i=C;l=n;return(C=i,r)|0}function Nn(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var n=0,s=0;n=e;s=i;i=Cn(n,s)|0;e=C;return(C=(te(t,s)|0)+(te(r,n)|0)+e|e&0,i|0|0)|0}function Dn(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;return Bn(e,t,i,r,0)|0}function Ln(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var n=0,a=0;a=l;l=l+16|0;n=a|0;Bn(e,t,i,r,n)|0;l=a;return(C=s[n+4>>2]|0,s[n>>2]|0)|0}function Bn(e,t,i,r,n){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;var a=0,o=0,f=0,h=0,c=0,l=0,u=0,d=0,p=0,b=0;l=e;h=t;c=h;o=i;d=r;f=d;if(!c){a=(n|0)!=0;if(!f){if(a){s[n>>2]=(l>>>0)%(o>>>0);s[n+4>>2]=0}d=0;n=(l>>>0)/(o>>>0)>>>0;return(C=d,n)|0}else{if(!a){d=0;n=0;return(C=d,n)|0}s[n>>2]=e|0;s[n+4>>2]=t&0;d=0;n=0;return(C=d,n)|0}}a=(f|0)==0;do if(o){if(!a){a=(re(f|0)|0)-(re(c|0)|0)|0;if(a>>>0<=31){u=a+1|0;f=31-a|0;t=a-31>>31;o=u;e=l>>>(u>>>0)&t|c<>>(u>>>0)&t;a=0;f=l<>2]=e|0;s[n+4>>2]=h|t&0;d=0;n=0;return(C=d,n)|0}a=o-1|0;if(a&o|0){f=(re(o|0)|0)+33-(re(c|0)|0)|0;b=64-f|0;u=32-f|0;h=u>>31;p=f-32|0;t=p>>31;o=f;e=u-1>>31&c>>>(p>>>0)|(c<>>(f>>>0))&t;t=t&c>>>(f>>>0);a=l<>>(p>>>0))&h|l<>31;break}if(n|0){s[n>>2]=a&l;s[n+4>>2]=0}if((o|0)==1){p=h|t&0;b=e|0|0;return(C=p,b)|0}else{b=In(o|0)|0;p=c>>>(b>>>0)|0;b=c<<32-b|l>>>(b>>>0)|0;return(C=p,b)|0}}else{if(a){if(n|0){s[n>>2]=(c>>>0)%(o>>>0);s[n+4>>2]=0}p=0;b=(c>>>0)/(o>>>0)>>>0;return(C=p,b)|0}if(!l){if(n|0){s[n>>2]=0;s[n+4>>2]=(c>>>0)%(f>>>0)}p=0;b=(c>>>0)/(f>>>0)>>>0;return(C=p,b)|0}a=f-1|0;if(!(a&f)){if(n|0){s[n>>2]=e|0;s[n+4>>2]=a&c|t&0}p=0;b=c>>>((In(f|0)|0)>>>0);return(C=p,b)|0}a=(re(f|0)|0)-(re(c|0)|0)|0;if(a>>>0<=30){t=a+1|0;f=31-a|0;o=t;e=c<>>(t>>>0);t=c>>>(t>>>0);a=0;f=l<>2]=e|0;s[n+4>>2]=h|t&0;p=0;b=0;return(C=p,b)|0}while(0);if(!o){c=f;h=0;f=0}else{u=i|0|0;l=d|r&0;c=En(u|0,l|0,-1,-1)|0;i=C;h=f;f=0;do{r=h;h=a>>>31|h<<1;a=f|a<<1;r=e<<1|r>>>31|0;d=e>>>31|t<<1|0;xn(c|0,i|0,r|0,d|0)|0;b=C;p=b>>31|((b|0)<0?-1:0)<<1;f=p&1;e=xn(r|0,d|0,p&u|0,(((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1)&l|0)|0;t=C;o=o-1|0}while((o|0)!=0);c=h;h=0}o=0;if(n|0){s[n>>2]=e;s[n+4>>2]=t}p=(a|0)>>>31|(c|o)<<1|(o<<1|a>>>31)&0|h;b=(a<<1|0>>>31)&-2|f;return(C=p,b)|0}function Un(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;return Hs[e&7](t|0,i|0,r|0)|0}function jn(e,t,i,r,n,s){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;s=s|0;Gs[e&3](t|0,i|0,r|0,n|0,s|0)}function Fn(e,t){e=e|0;t=t|0;Vs[e&15](t|0)}function zn(e,t,i,r,n,s,a){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;s=s|0;a=a|0;return Ws[e&1](t|0,i|0,r|0,n|0,s|0,a|0)|0}function qn(e,t){e=e|0;t=t|0;return Ks[e&3](t|0)|0}function Hn(e,t,i,r,n,s,a,o){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;s=s|0;a=a|0;o=o|0;Ys[e&1](t|0,i|0,r|0,n|0,s|0,a|0,o|0)}function Gn(e){e=e|0;Zs[e&0]()}function Vn(e,t,i,r,n){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;return $s[e&3](t|0,i|0,r|0,n|0)|0}function Wn(e,t,i,r,n,s,a){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;s=s|0;a=a|0;Xs[e&3](t|0,i|0,r|0,n|0,s|0,a|0)}function Kn(e,t,i,r,n,s){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;s=s|0;return Js[e&3](t|0,i|0,r|0,n|0,s|0)|0}function Yn(e,t,i,r,n){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;Qs[e&3](t|0,i|0,r|0,n|0)}function Zn(e,t,i){e=e|0;t=t|0;i=i|0;ne(0);return 0}function $n(e,t,i,r,n){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;ne(1)}function Xn(e){e=e|0;ne(2)}function Jn(e,t,i,r,n,s){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;s=s|0;ne(3);return 0}function Qn(e){e=e|0;ne(4);return 0}function es(e,t,i,r,n,s,a){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;s=s|0;a=a|0;ne(5)}function ts(){ne(6)}function is(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;ne(7);return 0}function rs(e,t,i,r,n,s){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;s=s|0;ne(8)}function ns(e,t,i,r,n){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;ne(9);return 0}function ss(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;ne(10)}function as(e){e=e|0;var t=0;t=l;l=l+e|0;l=l+15&-16;return t|0}function os(){return l|0}function fs(e){e=e|0;l=e}function hs(e,t){e=e|0;t=t|0;l=e;u=t}function cs(e,t){e=e|0;t=t|0;if(!m){m=e;w=t}}function ls(e){e=e|0; -r[d>>0]=r[e>>0];r[d+1>>0]=r[e+1>>0];r[d+2>>0]=r[e+2>>0];r[d+3>>0]=r[e+3>>0]}function us(e){e=e|0;r[d>>0]=r[e>>0];r[d+1>>0]=r[e+1>>0];r[d+2>>0]=r[e+2>>0];r[d+3>>0]=r[e+3>>0];r[d+4>>0]=r[e+4>>0];r[d+5>>0]=r[e+5>>0];r[d+6>>0]=r[e+6>>0];r[d+7>>0]=r[e+7>>0]}function ds(e){e=e|0;C=e}function ps(){return C|0}function bs(e,t,i,r,a){e=e|0;t=t|0;i=i|0;r=r|0;a=a|0;var f=0,h=0;if((i|0)>0){f=0;do{h=f<<1;n[t+(f<<1)>>1]=n[t+((h|1)<<1)>>1]<<8|o[t+(h<<1)>>1];f=f+1|0}while((f|0)!=(i|0))}return Ls(s[e+12>>2]|0,t,a,r)|0}function ms(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var a=0,f=0,h=0;a=e+20|0;f=xs(s[e+16>>2]|0,t,i,s[a>>2]|0)|0;i=s[e+4>>2]|0;if((te(i,f)|0)<=0)return f|0;a=s[a>>2]|0;i=te(f,i)|0;t=0;do{h=a+(t<<1)|0;e=t<<1;n[r+(e<<1)>>1]=(o[h>>1]|0)&255;n[r+((e|1)<<1)>>1]=(o[h>>1]|0)>>>8;t=t+1|0}while((t|0)!=(i|0));return f|0}function ws(e){e=e|0;return 8}function gs(e){e=e|0;if(!e)return;Hr(s[e+12>>2]|0);Hr(s[e+16>>2]|0);Hr(e);return}function vs(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,n=0,a=0,o=0,f=0,h=0,c=0,u=0;u=l;l=l+16|0;c=u+4|0;h=u;while(1){f=qr(24)|0;if(f|0)break;r=s[8868]|0;s[8868]=r+0;if(!r){o=5;break}Zs[r&0]()}if((o|0)==5){u=dt(4)|0;s[u>>2]=23152;Yt(u|0,296,6)}a=s[e>>2]|0;n=s[t>>2]|0;t=s[i>>2]|0;s[f>>2]=t;s[f+4>>2]=n;s[f+8>>2]=a;e=n*11520|0;e=e>>>0>2147483647?-1:e<<1;e=(e|0)==0?1:e;while(1){r=qr(e)|0;if(r|0){o=11;break}r=s[8868]|0;s[8868]=r+0;if(!r){o=10;break}Zs[r&0]()}if((o|0)==10){u=dt(4)|0;s[u>>2]=23152;Yt(u|0,296,6)}else if((o|0)==11){s[f+20>>2]=r;s[f+12>>2]=Cs(a,n,t,c)|0;s[f+16>>2]=Ms(a,n,h)|0;l=u;return f|0}return 0}function _s(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var n=0,a=0,o=0,f=0;n=l;l=l+16|0;f=n+8|0;o=n+4|0;a=n;s[f>>2]=t;s[o>>2]=i;s[a>>2]=r;e=Hs[e&7](f,o,a)|0;l=n;return e|0}function ys(e,t,i,r,n,a){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;a=a|0;var o=0,f=0;o=s[e>>2]|0;f=s[e+4>>2]|0;e=t+(f>>1)|0;if(f&1)o=s[(s[e>>2]|0)+o>>2]|0;return Js[o&3](e,i,r,n,a)|0}function ks(e,t,i,r,n){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;var a=0,o=0;a=s[e>>2]|0;o=s[e+4>>2]|0;e=t+(o>>1)|0;if(o&1)a=s[(s[e>>2]|0)+a>>2]|0;return $s[a&3](e,i,r,n)|0}function Es(){var e=0,t=0;ot(8,16,32,0,27863,2,27866,0,27866,0,27766,27868,11);Ue(8,4,488,27871,1,4);while(1){e=qr(8)|0;if(e|0)break;e=s[8868]|0;s[8868]=e+0;if(!e){t=5;break}Zs[e&0]()}if((t|0)==5){t=dt(4)|0;s[t>>2]=23152;Yt(t|0,296,6)}s[e>>2]=1;s[e+4>>2]=0;Ut(8,27784,6,504,27877,1,e|0,0);while(1){e=qr(8)|0;if(e|0){t=11;break}e=s[8868]|0;s[8868]=e+0;if(!e){t=10;break}Zs[e&0]()}if((t|0)==10){t=dt(4)|0;s[t>>2]=23152;Yt(t|0,296,6)}else if((t|0)==11){s[e>>2]=2;s[e+4>>2]=0;Ut(8,27792,5,528,27885,2,e|0,0);return}}function As(e,t,i,r,n,s,a,o,f,c,l){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;s=+s;a=+a;o=o|0;f=f|0;c=c|0;l=l|0;var u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0;if(s==0&a==0){if((t|0)==(e|0))return;Tn(e|0,t|0,n<<2|0)|0;return}g=(i|0)>15?i:15;M=(r|0)>15?r:15;w=+h[548+(o*12|0)>>2]*s;b=+h[548+(o*12|0)+4>>2]*s;m=+h[548+(o*12|0)+8>>2]*s;E=+h[548+(f*12|0)>>2]*a;A=+h[548+(f*12|0)+4>>2]*a;S=+h[548+(f*12|0)+8>>2]*a;v=1-M|0;_=0-M|0;y=~M;k=-2-M|0;i=s==a&(g|0)==(M|0)&(o|0)==(f|0)?0:l;r=0;s=+h[t+(v<<2)>>2];u=+h[t+(_<<2)>>2];d=+h[t+(y<<2)>>2];p=+h[t+(k<<2)>>2];while(1){if((r|0)>=(i|0))break;x=+h[t+(r-M+2<<2)>>2];T=+h[c+(r<<2)>>2];T=T*T;R=1-T;f=r-g|0;h[e+(r<<2)>>2]=+h[t+(r<<2)>>2]+R*w*+h[t+(f<<2)>>2]+R*b*(+h[t+(f+1<<2)>>2]+ +h[t+(f+-1<<2)>>2])+R*m*(+h[t+(f+2<<2)>>2]+ +h[t+(f+-2<<2)>>2])+T*E*u+T*A*(s+d)+T*S*(x+p);T=s;r=r+1|0;s=x;p=d;d=u;u=T}if(a==0){if((t|0)==(e|0))return;Tn(e+(i<<2)|0,t+(i<<2)|0,n-i<<2|0)|0;return}else{o=e+(r<<2)|0;l=t+(r<<2)|0;i=n-r|0;r=0;p=+h[l+(v<<2)>>2];d=+h[l+(_<<2)>>2];u=+h[l+(y<<2)>>2];s=+h[l+(k<<2)>>2];while(1){if((r|0)>=(i|0))break;x=+h[l+(r-M+2<<2)>>2];h[o+(r<<2)>>2]=+h[l+(r<<2)>>2]+d*E+(p+u)*A+(x+s)*S;R=p;r=r+1|0;p=x;s=u;u=d;d=R}return}}function Ss(e){e=e|0;if((e+7|0)>>>0>7){e=27924;return e|0}e=s[584+(0-e<<2)>>2]|0;return e|0}function Ms(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,a=0,o=0,f=0,h=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0;g=l;l=l+16|0;m=g+8|0;p=g;e:do if((e|0)<16e3)if((e|0)<12e3)switch(e|0){case 8e3:{o=2;break e}default:break e}else switch(e|0){case 12e3:{o=2;break e}default:break e}else{if((e|0)<24e3)switch(e|0){case 16e3:{o=2;break e}default:break e}if((e|0)<48e3)switch(e|0){case 24e3:{o=2;break e}default:break e}else switch(e|0){case 48e3:{o=2;break e}default:break e}}while(0);if((o|0)==2?(t+-1|0)>>>0<2:0){d=t*96|0;w=qr((t*8672|0)+88+d+9304|0)|0;if(!w){if(!i){i=0;l=g;return i|0}s[i>>2]=-7;i=0;l=g;return i|0}e:do if((e|0)<16e3)if((e|0)<12e3)switch(e|0){case 8e3:{o=9;break e}default:{r=-1;break e}}else switch(e|0){case 12e3:{o=9;break e}default:{r=-1;break e}}else{if((e|0)<24e3)switch(e|0){case 16e3:{o=9;break e}default:{r=-1;break e}}if((e|0)<48e3)switch(e|0){case 24e3:{o=9;break e}default:{r=-1;break e}}else switch(e|0){case 48e3:{o=9;break e}default:{r=-1;break e}}}while(0);do if((o|0)==9)if((t+-1|0)>>>0<2){kn(w|0,0,(t*8672|0)+88+d+9304|0)|0;s[w+4>>2]=88;s[w>>2]=8632;r=w+88|0;b=w+8632|0;s[w+8>>2]=t;s[w+48>>2]=t;s[w+12>>2]=e;s[w+24>>2]=e;s[w+16>>2]=t;u=0;while(1){if((u|0)==2)break;a=r+(u*4260|0)|0;kn(a|0,0,4260)|0;s[r+(u*4260|0)+2376>>2]=1;s[a>>2]=65536;a=r+(u*4260|0)+2340|0;f=s[a>>2]|0;o=32767/(f+1|0)|0;h=0;c=0;while(1){if((c|0)>=(f|0))break;v=h+o|0;n[r+(u*4260|0)+4052+(c<<1)>>1]=v;f=s[a>>2]|0;h=v;c=c+1|0}s[r+(u*4260|0)+4148>>2]=0;s[r+(u*4260|0)+4152>>2]=3176576;s[r+(u*4260|0)+4168>>2]=s[r+(u*4260|0)+2328>>2]<<7;s[r+(u*4260|0)+4240>>2]=65536;s[r+(u*4260|0)+4244>>2]=65536;s[r+(u*4260|0)+4256>>2]=20;s[r+(u*4260|0)+4252>>2]=2;u=u+1|0}v=w+8608|0;s[v>>2]=0;s[v+4>>2]=0;s[v+8>>2]=0;s[w+8628>>2]=0;if(t>>>0<=2){kn(b|0,0,(t*8672|0)+88+d+672|0)|0;s[b>>2]=5304;s[w+8636>>2]=120;s[w+8640>>2]=t;s[w+8644>>2]=t;a=w+8648|0;s[a>>2]=1;s[w+8652>>2]=0;s[w+8656>>2]=21;s[w+8660>>2]=1;s[w+8664>>2]=0;ni(b,4028,p);e:do if((e|0)<16e3)if((e|0)<12e3){switch(e|0){case 8e3:break;default:{o=22;break e}}r=6;o=23;break}else{switch(e|0){case 12e3:break;default:{o=22;break e}}r=4;o=23;break}else{if((e|0)<24e3){switch(e|0){case 16e3:break;default:{o=22;break e}}r=3;o=23;break}if((e|0)>=48e3)switch(e|0){case 48e3:{r=1;o=23;break e}default:{o=22;break e}}switch(e|0){case 24e3:break;default:{o=22;break e}}r=2;o=23}while(0);if((o|0)==22){s[a>>2]=0;r=-3;break}else if((o|0)==23){s[a>>2]=r;s[m>>2]=0;ni(b,10016,m);s[w+60>>2]=0;s[w+64>>2]=(e|0)/400|0;s[w+44>>2]=0;r=0;break}}else r=-3}else r=-1;while(0);if(i|0)s[i>>2]=r;if(!r){v=w;l=g;return v|0}Hr(w);v=0;l=g;return v|0}if(!i){v=0;l=g;return v|0}s[i>>2]=-1;v=0;l=g;return v|0}function Ts(e,t,i,r,o,f){e=e|0;t=t|0;i=i|0;r=r|0;o=o|0;f=f|0;var c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,z=0,q=0,H=0,G=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0,Q=0,ee=0,ie=0,ne=0,se=0,ae=0,oe=0;oe=l;l=l+160|0;$=oe+80|0;Z=oe+72|0;Y=oe+64|0;W=oe+56|0;H=oe+48|0;z=oe+40|0;F=oe+32|0;j=oe+24|0;U=oe+16|0;B=oe+8|0;L=oe;se=oe+96|0;T=oe+92|0;ae=oe+88|0;q=oe+144|0;V=oe+84|0;s[ae>>2]=0;M=e+(s[e+4>>2]|0)|0;K=e+(s[e>>2]|0)|0;ie=e+12|0;c=s[ie>>2]|0;G=(c|0)/50|0;S=G>>1;ee=G>>2;ne=G>>3;if((ne|0)>(o|0)){e=-2;l=oe;return e|0}c=((c|0)/25|0)*3|0;c=(c|0)>(o|0)?o:c;do if((i|0)>=2)if(t){p=s[e+64>>2]|0;d=s[e+56>>2]|0;s[se>>2]=t;s[se+4>>2]=i;s[se+8>>2]=0;s[se+12>>2]=0;s[se+16>>2]=0;w=se+20|0;s[w>>2]=9;g=se+24|0;s[g>>2]=0;v=se+28|0;s[v>>2]=128;s[g>>2]=1;E=a[t>>0]|0;_=se+40|0;s[_>>2]=E;A=E>>>1^127;y=se+32|0;s[y>>2]=A;s[se+44>>2]=0;u=128;o=9;m=1;while(1){if(u>>>0>=8388609)break;o=o+8|0;s[w>>2]=o;u=u<<8;s[v>>2]=u;if(m>>>0>>0){Q=m+1|0;s[g>>2]=Q;k=a[t+m>>0]|0;m=Q}else k=0;s[_>>2]=k;Q=((E<<8|k)>>>1&255|A<<8&2147483392)^255;s[y>>2]=Q;E=k;A=Q}o=s[e+60>>2]|0;if((o|0)>0){o=(o|0)==1002;if((d|0)!=1002){if(!o){o=t;u=c;I=27;break}C=te(ee,s[e+8>>2]|0)|0;Q=Ne()|0;X=p;P=0;O=1;break}if(!o?(s[e+68>>2]|0)==0:0){X=te(ee,s[e+8>>2]|0)|0;Q=Ne()|0;P=l;l=l+((1*(X<<2)|0)+15&-16)|0;Ts(e,0,0,P,(ee|0)<(p|0)?ee:p,0)|0;X=p;d=1002;C=1;O=1}else{o=t;u=c;d=1002;I=27}}else{o=t;u=c;I=27}}else I=10;else{I=s[e+64>>2]|0;c=(c|0)<(I|0)?c:I;I=10}while(0);do if((I|0)==10){d=s[e+60>>2]|0;if(!d){o=e+8|0;u=0;while(1){if((u|0)>=(te(c,s[o>>2]|0)|0))break;h[r+(u<<2)>>2]=0;u=u+1|0}l=oe;return c|0}if((c|0)<=(G|0)){if((c|0)>=(G|0)){o=0;u=c;p=c;I=27;break}if((c|0)>(S|0)){o=0;u=c;p=S;I=27;break}if((d|0)==1e3){o=0;u=c;p=c;d=1e3;I=27;break}o=0;u=c;p=(c|0)>(ee|0)&(c|0)<(S|0)?ee:c;I=27;break}p=e+8|0;o=r;d=c;while(1){u=Ts(e,0,0,o,(d|0)<(G|0)?d:G,0)|0;if((u|0)<0){c=u;I=158;break}d=d-u|0;o=o+((te(u,s[p>>2]|0)|0)<<2)|0;if((d|0)<=0){I=158;break}}if((I|0)==158){l=oe;return c|0}}while(0);if((I|0)==27){t=o;c=u;Q=Ne()|0;X=p;P=0;C=1;O=0}e:do if((X|0)>(c|0))c=-1;else{if((d|0)==1002){T=l;l=l+16|0;d=1002}else{_=e+8|0;c=s[_>>2]|0;if((S|0)>(X|0)){S=(te(S,c)|0)<<1;v=l;l=l+((1*S|0)+15&-16)|0}else{S=(te(X,c)|0)<<1;v=l;l=l+((1*S|0)+15&-16)|0}if((s[e+60>>2]|0)==1002){w=0;while(1){if((w|0)==2)break;c=M+(w*4260|0)|0;kn(c|0,0,4260)|0;s[M+(w*4260|0)+2376>>2]=1;s[c>>2]=65536;c=M+(w*4260|0)+2340|0;u=s[c>>2]|0;o=32767/(u+1|0)|0;p=0;m=0;while(1){if((m|0)>=(u|0))break;S=p+o|0;n[M+(w*4260|0)+4052+(m<<1)>>1]=S;u=s[c>>2]|0;p=S;m=m+1|0}s[M+(w*4260|0)+4148>>2]=0;s[M+(w*4260|0)+4152>>2]=3176576;s[M+(w*4260|0)+4168>>2]=s[M+(w*4260|0)+2328>>2]<<7;s[M+(w*4260|0)+4240>>2]=65536;s[M+(w*4260|0)+4244>>2]=65536;s[M+(w*4260|0)+4256>>2]=20;s[M+(w*4260|0)+4252>>2]=2;w=w+1|0}S=M+8520|0;s[S>>2]=0;s[S+4>>2]=0;s[S+8>>2]=0;s[M+8540>>2]=0}S=(X*1e3|0)/(s[ie>>2]|0)|0;s[e+32>>2]=(S|0)<10?10:S;if(!t)p=1;else{s[e+20>>2]=s[e+48>>2];t:do if((d|0)==1e3)switch(s[e+52>>2]|0){case 1101:{s[e+28>>2]=8e3;break t}case 1102:{s[e+28>>2]=12e3;break t}case 1103:{s[e+28>>2]=16e3;break t}default:{s[e+28>>2]=16e3;break t}}else s[e+28>>2]=16e3;while(0);p=f<<1}u=e+16|0;m=(p|0)==0;w=0;g=v;while(1){t:do if(!(Pi(M,u,p,(w|0)==0&1,se,g,T)|0))c=s[_>>2]|0;else{if(m){c=-3;break e}s[T>>2]=X;o=0;while(1){c=s[_>>2]|0;if((o|0)>=(te(X,c)|0))break t;n[g+(o<<1)>>1]=0;o=o+1|0}}while(0);S=s[T>>2]|0;w=w+S|0;g=g+((te(S,c)|0)<<1)|0;if((w|0)>=(X|0)){T=v;break}}}M=(f|0)==0;do if(M)if((d|0)!=1002)if((t|0)!=0?(N=se+20|0,R=s[N>>2]|0,D=se+28|0,x=s[D>>2]|0,I=R+((re(x|0)|0)+-32)+17|0,(I+((s[e+56>>2]|0)==1001?20:0)|0)<=(i<<3|0)):0){E=(d|0)==1001;A=se+32|0;o=s[A>>2]|0;if(E){c=x>>>12;_=o>>>0>>0;y=_&1;if(!_){o=o-c|0;s[A>>2]=o;c=x-c|0}s[D>>2]=c;w=se+40|0;g=se+24|0;v=se+4|0;u=c;c=R;while(1){if(u>>>0>=8388609)break;c=c+8|0;s[N>>2]=c;p=u<<8;s[D>>2]=p;m=s[w>>2]|0;u=s[g>>2]|0;if(u>>>0<(s[v>>2]|0)>>>0){s[g>>2]=u+1;u=a[(s[se>>2]|0)+u>>0]|0}else u=0;s[w>>2]=u;I=((m<<8|u)>>>1&255|o<<8&2147483392)^255;s[A>>2]=I;u=p;o=I}if(_){m=u;p=o}else{c=i;o=0;u=0;p=0;I=90;break}}else{m=x;p=o;c=R;y=1}u=m>>>1;I=p>>>0>>0;o=I&1;if(!I){p=p-u|0;s[A>>2]=p;u=m-u|0}s[D>>2]=u;v=se+40|0;_=se+24|0;k=se+4|0;while(1){if(u>>>0>=8388609)break;c=c+8|0;s[N>>2]=c;u=u<<8;s[D>>2]=u;w=s[v>>2]|0;m=s[_>>2]|0;if(m>>>0<(s[k>>2]|0)>>>0){s[_>>2]=m+1;m=a[(s[se>>2]|0)+m>>0]|0}else m=0;s[v>>2]=m;I=((w<<8|m)>>>1&255|p<<8&2147483392)^255;s[A>>2]=I;p=I}if(E){I=u>>>8;s[se+36>>2]=I;g=(p>>>0)/(I>>>0)|0;R=g+1|0;g=256-(R+(R>>>0>256?255-g|0:0))|0;R=te(I,255-g|0)|0;w=p-R|0;s[A>>2]=w;u=(g|0)==0?u-R|0:I;s[D>>2]=u;while(1){if(u>>>0>=8388609)break;c=c+8|0;s[N>>2]=c;u=u<<8;s[D>>2]=u;m=s[v>>2]|0;p=s[_>>2]|0;if(p>>>0<(s[k>>2]|0)>>>0){s[_>>2]=p+1;p=a[(s[se>>2]|0)+p>>0]|0}else p=0;s[v>>2]=p;I=((m<<8|p)>>>1&255|w<<8&2147483392)^255;s[A>>2]=I;w=I}p=g+2|0}else p=i-(c+((re(u|0)|0)+-32)+7>>3)|0;I=i-p|0;u=(I<<3|0)<(c+((re(u|0)|0)+-32)|0);p=u?0:p;s[k>>2]=(s[k>>2]|0)-p;c=u?0:I;u=u?0:y;I=90}else{c=i;o=0;u=0;p=0;I=91}else{S=i;A=0;u=0;p=0;o=0}else{c=i;o=0;u=0;p=0;I=90}while(0);if((I|0)==90)if((d|0)==1002){S=c;A=o;o=0}else I=91;if((I|0)==91){S=c;A=o;o=17}switch(s[e+52>>2]|0){case 1101:{c=13;break}case 1103:case 1102:{c=17;break}case 1104:{c=19;break}default:c=21}s[L>>2]=c;ni(K,10012,L);s[B>>2]=s[e+48>>2];ni(K,10008,B);E=(u|0)==0;if(!E){B=(te(ee,s[e+8>>2]|0)|0)<<2;c=l;l=l+((1*B|0)+15&-16)|0;if(!A){g=c;k=P;v=0}else{s[U>>2]=0;ni(K,10010,U);si(K,t+S|0,p,c,ee,0,0)|0;s[j>>2]=ae;ni(K,4031,j);g=c;k=P;v=0}}else{c=l;l=l+((1*(C<<2)|0)+15&-16)|0;do if(!((O|0)==0|(d|0)==1002))if((ee|0)<(X|0)){Ts(e,0,0,c,ee,0)|0;break}else{Ts(e,0,0,c,X,0)|0;break}else c=P;while(0);g=l;l=l+16|0;k=c;v=O}s[F>>2]=o;ni(K,10010,F);do if((d|0)==1e3){n[q>>1]=-1;c=e+8|0;o=0;while(1){if((o|0)>=(te(X,s[c>>2]|0)|0))break;h[r+(o<<2)>>2]=0;o=o+1|0}if((s[e+60>>2]|0)==1001){if(!(E|(A|0)==0)?s[e+68>>2]|0:0){c=0;d=1e3;I=116;break}s[H>>2]=0;ni(K,10010,H);si(K,q,2,r,ne,0,0)|0;c=0;d=1e3;I=116}else{c=0;d=1e3;I=116}}else{c=(G|0)<(X|0)?G:X;G=s[e+60>>2]|0;if((d|0)!=(G|0)&(G|0)>0?(s[e+68>>2]|0)==0:0)ni(K,4028,z);c=si(K,M?t:0,S,r,c,se,0)|0;if((d|0)==1002){y=c;_=d}else I=116}while(0);t:do if((I|0)==116){o=e+8|0;u=0;while(1){if((u|0)>=(te(X,s[o>>2]|0)|0)){y=c;_=d;break t}G=r+(u<<2)|0;h[G>>2]=+h[G>>2]+ +(n[T+(u<<1)>>1]|0)*30517578125e-15;u=u+1|0}}while(0);s[W>>2]=V;ni(K,10015,W);w=s[(s[V>>2]|0)+60>>2]|0;t:do if(!E){if(!A){ni(K,4028,Y);s[Z>>2]=0;ni(K,10010,Z);si(K,t+S|0,p,g,ee,0,0)|0;s[$>>2]=ae;ni(K,4031,$);p=s[e+8>>2]|0;m=r+((te(p,X-ne|0)|0)<<2)|0;c=g+((te(p,ne)|0)<<2)|0;o=48e3/(s[ie>>2]|0)|0;u=0;while(1){if((u|0)<(p|0))d=0;else break t;while(1){if((d|0)>=(ne|0))break;b=+h[w+((te(d,o)|0)<<2)>>2];b=b*b;Z=(te(d,p)|0)+u|0;$=m+(Z<<2)|0;h[$>>2]=b*+h[c+(Z<<2)>>2]+(1-b)*+h[$>>2];d=d+1|0}u=u+1|0}}o=e+8|0;u=0;while(1){m=s[o>>2]|0;if((u|0)<(m|0))c=0;else break;while(1){if((c|0)>=(ne|0))break;$=(te(s[o>>2]|0,c)|0)+u|0;s[r+($<<2)>>2]=s[g+($<<2)>>2];c=c+1|0}u=u+1|0}o=te(m,ne)|0;c=g+(o<<2)|0;o=r+(o<<2)|0;u=48e3/(s[ie>>2]|0)|0;d=0;while(1){if((d|0)<(m|0))p=0;else break t;while(1){if((p|0)>=(ne|0))break;b=+h[w+((te(p,u)|0)<<2)>>2];b=b*b;Z=(te(p,m)|0)+d|0;$=o+(Z<<2)|0;h[$>>2]=b*+h[$>>2]+(1-b)*+h[c+(Z<<2)>>2];p=p+1|0}d=d+1|0}}while(0);t:do if(v|0){o=e+8|0;if((X|0)<(ee|0)){d=s[o>>2]|0;c=48e3/(s[ie>>2]|0)|0;o=0;while(1){if((o|0)<(d|0))u=0;else break t;while(1){if((u|0)>=(ne|0))break;b=+h[w+((te(u,c)|0)<<2)>>2];b=b*b;ee=(te(u,d)|0)+o|0;ie=r+(ee<<2)|0;h[ie>>2]=b*+h[ie>>2]+(1-b)*+h[k+(ee<<2)>>2];u=u+1|0}o=o+1|0}}else c=0;while(1){m=s[o>>2]|0;u=te(m,ne)|0;if((c|0)>=(u|0))break;s[r+(c<<2)>>2]=s[k+(c<<2)>>2];c=c+1|0}p=k+(u<<2)|0;d=r+(u<<2)|0;c=48e3/(s[ie>>2]|0)|0;o=0;while(1){if((o|0)<(m|0))u=0;else break t;while(1){if((u|0)>=(ne|0))break;b=+h[w+((te(u,c)|0)<<2)>>2];b=b*b;ee=(te(u,m)|0)+o|0;ie=d+(ee<<2)|0;h[ie>>2]=b*+h[ie>>2]+(1-b)*+h[p+(ee<<2)>>2];u=u+1|0}o=o+1|0}}while(0);c=s[e+40>>2]|0;t:do if(c|0){b=+J(+(+(c|0)*.0006488140788860619*.6931471805599453));c=e+8|0;o=0;while(1){if((o|0)>=(te(X,s[c>>2]|0)|0))break t;ne=r+(o<<2)|0;h[ne>>2]=+h[ne>>2]*b;o=o+1|0}}while(0);if((S|0)<2)c=0;else c=s[se+28>>2]^s[ae>>2];s[e+84>>2]=c;s[e+60>>2]=_;s[e+68>>2]=(A|0)==0&(E^1)&1;c=(y|0)<0?y:X}while(0);qe(Q|0);e=c;l=oe;return e|0}function xs(e,t,i,o){e=e|0;t=t|0;i=i|0;o=o|0;var f=0,c=0,u=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0;R=l;l=l+112|0;A=R;E=R+104|0;S=R+8|0;v=(t|0)==0;do if((i|0)>0&(v^1)){m=s[e+12>>2]|0;u=r[t>>0]|0;p=u&255;e:do switch(p&3|0){case 0:{b=1;break}case 3:if((i|0)<2){o=-4;l=R;return o|0}else{c=a[t+1>>0]&63;_=5;break e}default:{c=2;_=5}}while(0);if((_|0)==5)b=c;do if(u<<24>>24>=0)if((u&96)==96)if(!(u&8)){c=(m|0)/100|0;break}else{c=(m|0)/50|0;break}else{c=p>>>3&3;if((c|0)==3){c=(m*60|0)/1e3|0;break}else{c=(m<>>3&3)|0)/400|0;while(0);c=te(b,c)|0;if((c*25|0)<=(m*3|0)&(c|0)>0){k=(c|0)>5760?5760:c;break}else{o=-4;l=R;return o|0}}else k=5760;while(0);M=e+8|0;c=te(k,s[M>>2]|0)|0;T=Ne()|0;x=l;l=l+((1*(c<<2)|0)+15&-16)|0;c=(i|0)==0;e:do if(c|v)if(!((k|0)%((s[e+12>>2]|0)/400|0|0)|0))if(c|v){u=0;do{c=Ts(e,0,0,x+((te(u,s[M>>2]|0)|0)<<2)|0,k-u|0,0)|0;if((c|0)<0){u=c;break e}u=u+c|0}while((u|0)<(k|0));s[e+72>>2]=u}else _=23;else u=-1;else _=23;while(0);e:do if((_|0)==23)if((i|0)>=0){m=r[t>>0]|0;do if(m<<24>>24>=0){_=(m&96)==96;b=_?1001:1e3;if(_)p=(m&16)>>>4|1104;else p=((m&255)>>>5&3)+1101|0;c=s[e+12>>2]|0;if((m&96)==96)if(!(m&8)){v=(c|0)/100|0;break}else{v=(c|0)/50|0;break}else{u=(m&255)>>>3&3;if((u|0)==3){v=(c*60|0)/1e3|0;break}else{v=(c<>>5&3;v=(s[e+12>>2]<<((m&255)>>>3&3)|0)/400|0;p=(p|0)==0?1101:p+1102|0;b=1002}while(0);c=((m&4)>>>2)+1|0;u=rr(t,i,0,E,0,S,A,0)|0;if((u|0)>=0)if((te(u,v)|0)<=(k|0)){m=t+(s[A>>2]|0)|0;s[e+56>>2]=b;s[e+52>>2]=p;s[e+64>>2]=v;s[e+48>>2]=c;c=m;m=0;t=0;while(1){if((m|0)>=(u|0))break;p=S+(m<<1)|0;b=Ts(e,c,n[p>>1]|0,x+((te(t,s[M>>2]|0)|0)<<2)|0,k-t|0,0)|0;if((b|0)<0){u=b;break e}c=c+(n[p>>1]|0)|0;m=m+1|0;t=t+b|0}s[e+72>>2]=t;E=s[M>>2]|0;if((E|0)<1|(t|0)<1)u=t;else{c=te(t,E)|0;u=0;while(1){if((u|0)>=(c|0)){i=0;break}S=x+(u<<2)|0;y=+h[S>>2];i=y>2;A=y<-2&(i^1);h[S>>2]=A|i?A?-2:2:y;u=u+1|0}while(1){if((i|0)==(E|0)){u=t;break e}_=x+(i<<2)|0;k=e+76+(i<<2)|0;f=+h[k>>2];u=0;while(1){if((u|0)>=(t|0))break;c=_+((te(u,E)|0)<<2)|0;w=+h[c>>2];g=w*f;if(g>=0)break;h[c>>2]=w+g*w;u=u+1|0}y=+h[_>>2];m=0;while(1){u=m;while(1){if((u|0)>=(t|0))break;g=+h[_+((te(u,E)|0)<<2)>>2];if(g>1|g<-1)break;u=u+1|0}if((u|0)==(t|0)){f=0;break}g=+h[_+((te(u,E)|0)<<2)>>2];f=+q(+g);p=u;while(1){if((p|0)<=0){v=u;w=f;b=u;break}c=p+-1|0;if(!(g*+h[_+((te(c,E)|0)<<2)>>2]>=0)){v=u;w=f;b=u;break}else p=c}while(1){if((v|0)>=(t|0))break;f=+h[_+((te(v,E)|0)<<2)>>2];if(!(g*f>=0))break;f=+q(+f);A=f>w;S=A?v:b;v=v+1|0;w=A?f:w;b=S}if(!p)u=g*+h[_>>2]>=0;else u=0;f=(w+-1)/(w*w);f=f+f*2.4e-7;f=g>0?-f:f;c=p;while(1){if((c|0)>=(v|0))break;S=_+((te(c,E)|0)<<2)|0;g=+h[S>>2];h[S>>2]=g+f*g*g;c=c+1|0}t:do if(u&(b|0)>1){w=y-+h[_>>2];g=w/+(b|0);c=m;while(1){if((c|0)>=(b|0))break t;I=w-g;S=_+((te(c,E)|0)<<2)|0;C=+h[S>>2]+I;h[S>>2]=C;m=C>1;A=C<-1&(m^1);h[S>>2]=A|m?A?-1:1:C;c=c+1|0;w=I}}while(0);if((v|0)==(t|0))break;else m=v}h[k>>2]=f;i=i+1|0}}}else u=-2}else u=-1;while(0);e:do if((u|0)>0){p=0;while(1){if((p|0)>=(te(u,s[M>>2]|0)|0))break e;f=+h[x+(p<<2)>>2]*32768;if(f>-32768){if(!(f<32767))f=32767}else f=-32768;c=(h[d>>2]=f,s[d>>2]|0);if((c&2130706432)>>>0<=1249902592){c=(c|0)<0;f=c?f+-8388608+8388608:f+8388608+-8388608;if(f==0)f=c?-0:0}n[o+(p<<1)>>1]=~~f;p=p+1|0}}while(0);qe(T|0);o=u;l=R;return o|0}function Rs(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,a=0,o=0,f=0,h=0,c=0,u=0,d=0;u=l;l=l+32|0;a=u+8|0;o=u;h=u+16|0;r=s[e+4>>2]|0;f=e+(s[e>>2]|0)|0;s[h>>2]=i;e:do switch(t|0){case 4009:{c=(s[h>>2]|0)+(4-1)&~(4-1);r=s[c>>2]|0;s[h>>2]=c+4;if(!r)t=26;else{s[r>>2]=s[e+52>>2];r=0;t=25}break}case 4031:{c=(s[h>>2]|0)+(4-1)&~(4-1);r=s[c>>2]|0;s[h>>2]=c+4;if(!r)t=26;else{s[r>>2]=s[e+84>>2];r=0;t=25}break}case 4028:{h=e+r|0;c=e+48|0;r=c;t=r+40|0;do{s[r>>2]=0;r=r+4|0}while((r|0)<(t|0));ni(f,4028,o);f=0;while(1){if((f|0)==2)break;r=h+(f*4260|0)|0;kn(r|0,0,4260)|0;s[h+(f*4260|0)+2376>>2]=1;s[r>>2]=65536;r=h+(f*4260|0)+2340|0;i=s[r>>2]|0;t=32767/(i+1|0)|0;a=0;o=0;while(1){if((o|0)>=(i|0))break;d=a+t|0;n[h+(f*4260|0)+4052+(o<<1)>>1]=d;i=s[r>>2]|0;a=d;o=o+1|0}s[h+(f*4260|0)+4148>>2]=0;s[h+(f*4260|0)+4152>>2]=3176576;s[h+(f*4260|0)+4168>>2]=s[h+(f*4260|0)+2328>>2]<<7;s[h+(f*4260|0)+4240>>2]=65536;s[h+(f*4260|0)+4244>>2]=65536;s[h+(f*4260|0)+4256>>2]=20;s[h+(f*4260|0)+4252>>2]=2;f=f+1|0}r=h+8520|0;s[r>>2]=0;s[r+4>>2]=0;s[r+8>>2]=0;s[h+8540>>2]=0;s[c>>2]=s[e+8>>2];s[e+64>>2]=(s[e+12>>2]|0)/400|0;r=0;t=25;break}case 4029:{d=(s[h>>2]|0)+(4-1)&~(4-1);r=s[d>>2]|0;s[h>>2]=d+4;if(!r)t=26;else{s[r>>2]=s[e+12>>2];r=0;t=25}break}case 4033:{d=(s[h>>2]|0)+(4-1)&~(4-1);r=s[d>>2]|0;s[h>>2]=d+4;if(r)if((s[e+60>>2]|0)==1002){s[a>>2]=r;ni(f,4033,a);r=0;t=25;break e}else{s[r>>2]=s[e+36>>2];r=0;t=25;break e}else t=26;break}case 4045:{d=(s[h>>2]|0)+(4-1)&~(4-1);r=s[d>>2]|0;s[h>>2]=d+4;if(!r)t=26;else{s[r>>2]=s[e+40>>2];r=0;t=25}break}case 4034:{d=(s[h>>2]|0)+(4-1)&~(4-1);r=s[d>>2]|0;s[h>>2]=d+4;if((r+32768|0)>>>0>65535)t=26;else{s[e+40>>2]=r;r=0;t=25}break}case 4039:{d=(s[h>>2]|0)+(4-1)&~(4-1);r=s[d>>2]|0;s[h>>2]=d+4;if(!r)t=26;else{s[r>>2]=s[e+72>>2];r=0;t=25}break}default:{r=-5;t=25}}while(0);if((t|0)==25){d=r;l=u;return d|0}else if((t|0)==26){d=-1;l=u;return d|0}return 0}function Is(e){e=e|0;Hr(e);return}function Cs(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var a=0,o=0,f=0,c=0,u=0,d=0,p=0,b=0,m=0,w=0,g=0,v=0;v=l;l=l+32|0;m=v+16|0;b=v+8|0;u=v;e:do if((e|0)<16e3)if((e|0)<12e3)switch(e|0){case 8e3:{g=2;break e}default:break e}else switch(e|0){case 12e3:{g=2;break e}default:break e}else{if((e|0)<24e3)switch(e|0){case 16e3:{g=2;break e}default:break e}if((e|0)<48e3)switch(e|0){case 24e3:{g=2;break e}default:break e}else switch(e|0){case 48e3:{g=2;break e}default:break e}}while(0);e:do if((g|0)==2?(t+-1|0)>>>0<2:0){switch(i|0){case 2048:case 2049:case 2051:break;default:break e}f=t<<12;w=qr((t*480|0)+212+f+(t*336|0)+39448|0)|0;if(!w){if(!r){g=0;l=v;return g|0}s[r>>2]=-7;g=0;l=v;return g|0}t:do if((e|0)<16e3)if((e|0)<12e3)switch(e|0){case 8e3:{g=10;break t}default:{a=-1;break t}}else switch(e|0){case 12e3:{g=10;break t}default:{a=-1;break t}}else{if((e|0)<24e3)switch(e|0){case 16e3:{g=10;break t}default:{a=-1;break t}}if((e|0)<48e3)switch(e|0){case 24e3:{g=10;break t}default:{a=-1;break t}}else switch(e|0){case 48e3:{g=10;break t}default:{a=-1;break t}}}while(0);t:do if((g|0)==10)if((t+-1|0)>>>0<2){switch(i|0){case 2048:case 2049:case 2051:break;default:{a=-1;break t}}kn(w|0,0,(t*480|0)+212+f+(t*336|0)+39448|0)|0;s[w+4>>2]=19048;s[w>>2]=39448;d=w+39448|0;s[w+112>>2]=t;s[w+15104>>2]=t;p=w+144|0;s[p>>2]=e;o=w+180|0;s[o>>2]=0;a=w+8|0;if(!(Oi(w+19048|0,0,a)|0)){s[a>>2]=t;s[w+12>>2]=t;s[w+16>>2]=s[p>>2];s[w+20>>2]=16e3;s[w+24>>2]=8e3;s[w+28>>2]=16e3;s[w+32>>2]=20;s[w+36>>2]=25e3;s[w+40>>2]=0;c=w+44|0;s[c>>2]=9;s[w+48>>2]=0;s[w+56>>2]=0;s[w+60>>2]=0;s[w+76>>2]=0;a=s[o>>2]|0;kn(d|0,0,(t*480|0)+212+f+(t*336|0)|0)|0;s[d>>2]=5304;s[w+39452>>2]=t;s[w+39456>>2]=t;o=w+39476|0;s[o>>2]=1;s[w+39480>>2]=0;s[w+39484>>2]=21;s[w+39496>>2]=1;s[w+39520>>2]=a;s[w+39500>>2]=1;s[w+39464>>2]=1;s[w+39488>>2]=-1;s[w+39492>>2]=0;s[w+39460>>2]=0;s[w+39472>>2]=5;s[w+39508>>2]=24;qs(d,4028,u)|0;i:do if((e|0)<16e3)if((e|0)<12e3){switch(e|0){case 8e3:break;default:{g=18;break i}}a=6;break}else{switch(e|0){case 12e3:break;default:{g=18;break i}}a=4;break}else{if((e|0)<24e3){switch(e|0){case 16e3:break;default:{g=18;break i}}a=3;break}if((e|0)>=48e3)switch(e|0){case 48e3:{a=1;break i}default:{g=18;break i}}switch(e|0){case 24e3:break;default:{g=18;break i}}a=2}while(0);if((g|0)==18)a=0;s[o>>2]=a;s[b>>2]=0;qs(d,10016,b)|0;s[m>>2]=s[c>>2];qs(d,4010,m)|0;s[w+148>>2]=1;s[w+152>>2]=1;s[w+164>>2]=-1e3;s[w+160>>2]=(te(e,t)|0)+3e3;s[w+108>>2]=i;s[w+124>>2]=-1e3;s[w+128>>2]=-1e3;s[w+132>>2]=1105;s[w+120>>2]=-1e3;s[w+136>>2]=-1e3;s[w+140>>2]=-1;a=s[p>>2]|0;s[w+172>>2]=(a|0)/100|0;s[w+168>>2]=24;s[w+156>>2]=5e3;s[w+116>>2]=(a|0)/250|0;n[w+15108>>1]=16384;h[w+15116>>2]=1;s[w+15112>>2]=193536;s[w+15164>>2]=1;s[w+15136>>2]=1001;s[w+15152>>2]=1105;kn(w+188|0,0,14916)|0;a=0}else a=-3}else a=-1;while(0);if(r|0)s[r>>2]=a;if(!a){g=w;l=v;return g|0}Hr(w);g=0;l=v;return g|0}while(0);if(!r){g=0;l=v;return g|0}s[r>>2]=-1;g=0;l=v;return g|0}function Ps(e,t,i,r,s,a,o){e=e|0;t=t|0;i=i|0;r=r|0;s=s|0;a=a|0;o=o|0;var f=0,c=0,l=0,u=0;c=0;while(1){if((c|0)>=(i|0))break;h[t+(c<<2)>>2]=+(n[e+((te(c+r|0,o)|0)+s<<1)>>1]|0);c=c+1|0}l=(a|0)>-1;e:do if(!l)if((a|0)==-2){s=1;while(1){if((s|0)<(o|0))c=0;else{s=12;break e}while(1){if((c|0)>=(i|0))break;f=+(n[e+((te(c+r|0,o)|0)+s<<1)>>1]|0);u=t+(c<<2)|0;h[u>>2]=+h[u>>2]+f;c=c+1|0}s=s+1|0}}else s=14;else{s=0;while(1){if((s|0)>=(i|0)){s=12;break e}f=+(n[e+((te(s+r|0,o)|0)+a<<1)>>1]|0);u=t+(s<<2)|0;h[u>>2]=+h[u>>2]+f;s=s+1|0}}while(0);if((s|0)==12)if((a|0)==-2)f=30517578125e-15/+(o|0);else s=14;if((s|0)==14)f=l?152587890625e-16:30517578125e-15;s=0;while(1){if((s|0)>=(i|0))break;u=t+(s<<2)|0;h[u>>2]=+h[u>>2]*f;s=s+1|0}return}function Os(e,t,i,r,n,a,o,f){e=e|0;t=t|0;i=i|0;r=r|0;n=n|0;a=a|0;o=o|0;f=f|0;var c=0,u=0,p=0,b=0,m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0;I=l;l=l+3296|0;M=I+1760|0;x=I+224|0;R=I+112|0;S=I;w=(r|0)/400|0;g=l;l=l+((1*(w<<2)|0)+15&-16)|0;T=s[a>>2]|0;s[R>>2]=T;h[S>>2]=1/((s[d>>2]=T,+h[d>>2])+1.0000000036274937e-15);T=(o|0)==0;if(T){r=t;u=0;m=1}else{u=(w<<1)-o|0;r=s[a+4>>2]|0;s[R+4>>2]=r;h[S+4>>2]=1/((s[d>>2]=r,+h[d>>2])+1.0000000036274937e-15);r=s[a+8>>2]|0;s[R+8>>2]=r;h[S+8>>2]=1/((s[d>>2]=r,+h[d>>2])+1.0000000036274937e-15);r=t-u|0;m=3}o=(r|0)/(w|0)|0;o=(o|0)<24?o:24;r=0;c=0;while(1){if((r|0)>=(o|0))break;t=(te(r,w)|0)+u|0;Ys[f&1](e,g,w,t,0,-2,i);t=0;c=(r|0)==0?+h[g>>2]:c;p=1.0000000036274937e-15;while(1){if((t|0)>=(w|0))break;_=+h[g+(t<<2)>>2];k=_-c;t=t+1|0;c=_;p=p+k*k}A=r+m|0;h[R+(A<<2)>>2]=p;h[S+(A<<2)>>2]=1/p;r=r+1|0}A=r+m|0;s[R+(A<<2)>>2]=s[R+(A+-1<<2)>>2];if(!T){o=o+2|0;o=(o|0)>24?24:o}E=~~+((i*60|0)+40|0);A=(n|0)/400|0;if((n|0)>=32e3)if((n|0)>64399)k=1;else k=+(A+-80|0)/80;else k=0;r=0;while(1){if((r|0)==16){m=0;break}s[x+(r<<2)>>2]=-1;h[M+(r<<2)>>2]=1e10;r=r+1|0}while(1){if((m|0)==4){y=1;break}b=+((A<(o|0)?o:u;t=0;c=0;p=0;while(1){if((t|0)>(r|0))break;_=p+ +h[S+(t<<2)>>2];v=c+ +h[R+(t<<2)>>2];t=t+1|0;c=v;p=_}y=r+1|0;c=(c*p/+(te(y,y)|0)+-2)*.05000000074505806;if(+H(+(c<=0?0:c))>1)c=1;else c=+H(+(c<=0?0:c));h[M+(u<<2)>>2]=b*(k*c+1);s[x+(u<<2)>>2]=m;m=m+1|0}while(1){if((o|0)<=(y|0))break;n=y+-1|0;r=2;while(1){if((r|0)==16)break;i=r+-1|0;s[M+(y<<6)+(r<<2)>>2]=s[M+(n<<6)+(i<<2)>>2];s[x+(y<<6)+(r<<2)>>2]=i;r=r+1|0}w=M+(n<<6)+4|0;g=R+(y<<2)|0;f=S+(y<<2)|0;e=o-y|0;_=+(e|0);i=0;while(1){if((i|0)==4)break;m=1<>2]=1;v=+h[w>>2];r=1;while(1){if((r|0)==4)break;r=r+1|0;t=(1<>2];if(!(c>2]=t;v=c}b=+((A<(e|0);r=u?e:m;t=0;c=0;p=0;while(1){if((t|0)>(r|0))break;C=p+ +h[f+(t<<2)>>2];P=c+ +h[g+(t<<2)>>2];t=t+1|0;c=P;p=C}t=r+1|0;c=(c*p/+(te(t,t)|0)+-2)*.05000000074505806;if(+H(+(c<=0?0:c))>1)c=1;else c=+H(+(c<=0?0:c));c=b*(k*c+1);r=M+(y<<6)+(m<<2)|0;h[r>>2]=v;if(u)c=c*_/+(m|0);h[r>>2]=v+c;i=i+1|0}y=y+1|0}r=o+-1|0;c=+h[M+(r<<6)+4>>2];t=1;u=2;while(1){if((u|0)==16)break;P=+h[M+(r<<6)+(u<<2)>>2];S=P>2]|0;o=r}r=1<>2]=s[R+(r<<2)>>2];if(T){l=I;return t|0}s[a+4>>2]=s[R+(r+1<<2)>>2];s[a+8>>2]=s[R+(r+2<<2)>>2];l=I;return t|0}function Ns(e,t,i,a,o,f,c,u,p,b,m,w,g){e=e|0;t=t|0;i=i|0;a=a|0;o=o|0;f=f|0;c=c|0;u=u|0;p=p|0;b=b|0;m=m|0;w=w|0;g=g|0;var v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,G=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0,Q=0,ee=0,ie=0,ne=0,se=0,ae=0,oe=0,fe=0,he=0,ce=0,le=0,ue=0,de=0,pe=0,be=0,me=0,we=0,ge=0,ve=0,_e=0,ye=0,ke=0,Ee=0,Ae=0,Se=0,Me=0,Te=0,xe=0,Re=0,Ie=0,Ce=0,Pe=0,Oe=0,De=0,Le=0,Be=0,Ue=0,je=0,Fe=0,ze=0,He=0,Ge=0,Ve=0,We=0,Ke=0,Ye=0,Ze=0,$e=0,Xe=0,Je=0,Qe=0,et=0,tt=0,it=0,rt=0,nt=0,st=0,at=0,ot=0,ft=0,ht=0,ct=0,lt=0,ut=0,dt=0,pt=0,bt=0,mt=0,wt=0,gt=0,vt=0,_t=0,yt=0,kt=0;pt=l;l=l+1280|0;st=pt+832|0;rt=pt+824|0;it=pt+816|0;tt=pt+808|0;et=pt+800|0;Qe=pt+792|0;$e=pt+784|0;Ze=pt+776|0;Ye=pt+768|0;Ke=pt+760|0;ut=pt+456|0;Ve=pt+448|0;Ge=pt+440|0;He=pt+432|0;ze=pt+424|0;Fe=pt+416|0;je=pt+408|0;Ue=pt+400|0;Be=pt+392|0;Se=pt+384|0;Ae=pt+376|0;Ee=pt+368|0;ke=pt+360|0;ye=pt+352|0;ge=pt+344|0;we=pt+336|0;me=pt+328|0;_e=pt+320|0;ve=pt+312|0;K=pt+304|0;R=pt;pe=pt+1272|0;Je=pt+1224|0;ft=pt+1220|0;Te=pt+1216|0;ht=pt+1184|0;W=pt+1152|0;ee=pt+852|0;le=pt+848|0;De=pt+840|0;We=pt+1278|0;nt=pt+1276|0;s[ft>>2]=0;x=(o|0)>1276?1276:o;lt=e+19044|0;s[lt>>2]=0;be=e+156|0;if(!(s[be>>2]|0)){y=i*400|0;_=e+144|0;v=s[_>>2]|0;if((y|0)!=(v|0))if(!((i*200|0)==(v|0)|(i*100|0)==(v|0))?(dt=i*50|0,!((dt|0)==(v|0)|(i*25|0)==(v|0)|(dt|0)==(v*3|0))):0){a=-1;l=pt;return a|0}else{dt=_;_=y}else{dt=_;_=y;v=y}}else{v=e+144|0;dt=v;_=i*400|0;v=s[v>>2]|0}if((_|0)<(v|0)|(x|0)<1){a=-1;l=pt;return a|0}de=e+(s[e+4>>2]|0)|0;Xe=e+(s[e>>2]|0)|0;Q=e+108|0;if((s[Q>>2]|0)==2051)Me=0;else Me=s[e+116>>2]|0;X=s[e+168>>2]|0;X=(X|0)>(f|0)?f:X;s[R>>2]=Te;qs(Xe,10015,R)|0;s[ht>>2]=0;T=e+44|0;do if((s[T>>2]|0)>6?(s[dt>>2]|0)==48e3:0){y=e+112|0;v=te(s[y>>2]|0,i)|0;_=0;E=0;A=0;while(1){if((_|0)>=(v|0))break;L=+h[t+(_<<2)>>2];_=_+1|0;E=E>L?E:L;A=AL?E:L)<=1/+(1<>2]=0;_=1;f=-1;k=-1;Oe=1;break}f=s[e+8696>>2]|0;k=s[e+8700>>2]|0;zs(e+188|0,s[Te>>2]|0,c,u,i,p,b,m,48e3,X,w,ht);if(+h[ht+28>>2]>.10000000149011612){c=e+19040|0;E=+h[c>>2];_=te(s[y>>2]|0,i)|0;v=0;O=0;while(1){if((v|0)>=(_|0))break;L=+h[t+(v<<2)>>2];v=v+1|0;O=O+L*L}E=E*.999;A=+(_|0);if(!(E>O/A)){v=0;E=0;while(1){if((v|0)>=(_|0))break;L=+h[t+(v<<2)>>2];v=v+1|0;E=E+L*L}E=E/A}h[c>>2]=E;ct=25}else ct=25}else{f=-1;k=-1;ct=25}while(0);do if((ct|0)==25){s[e+140>>2]=-1;_=s[ht>>2]|0;y=e+19032|0;s[y>>2]=0;_=(_|0)==0;if(!_){if((s[e+124>>2]|0)==-1e3)s[e+140>>2]=~~+z(+((1-+h[ht+20>>2])*100+.5));v=s[ht+24>>2]|0;if((v|0)<13){s[y>>2]=1101;G=y;Oe=0;break}if((v|0)<15){s[y>>2]=1102;G=y;Oe=0;break}if((v|0)<17){s[y>>2]=1103;G=y;Oe=0;break}if((v|0)<19){s[y>>2]=1104;G=y;Oe=0;break}else{s[y>>2]=1105;G=y;Oe=0;break}}else{G=y;Oe=0}}while(0);at=e+112|0;S=s[at>>2]|0;M=(S|0)==2;if(M?(s[e+120>>2]|0)!=1:0){u=(s[dt>>2]|0)/(i|0)|0;v=(u|0)<50;E=25/+(u|0);y=i+-3|0;c=0;A=0;O=0;N=0;while(1){if((c|0)>=(y|0))break;ot=c<<1;_t=+h[t+(ot<<2)>>2];mt=+h[t+((ot|1)<<2)>>2];vt=+h[t+((ot|2)<<2)>>2];bt=+h[t+((ot|3)<<2)>>2];gt=+h[t+((ot|4)<<2)>>2];D=+h[t+((ot|5)<<2)>>2];wt=+h[t+((ot|6)<<2)>>2];L=+h[t+((ot|7)<<2)>>2];c=c+4|0;A=A+(_t*_t+vt*vt+gt*gt+wt*wt);O=O+(_t*mt+vt*bt+gt*D+wt*L);N=N+(mt*mt+bt*bt+D*D+L*L)}_t=v?.5:1-E;Le=e+15172|0;E=+h[Le>>2];E=E+_t*(A-E);h[Le>>2]=E;v=e+15176|0;A=+h[v>>2];A=A+_t*(O-A);h[v>>2]=A;ot=e+15180|0;O=+h[ot>>2];O=O+_t*(N-O);h[ot>>2]=O;E=E<0?0:E;h[Le>>2]=E;A=A<0?0:A;h[v>>2]=A;O=O<0?0:O;h[ot>>2]=O;if((E>O?E:O)>.0007999999797903001){gt=+H(+E);_t=+H(+O);E=+H(+gt);vt=+H(+_t);_t=gt*_t;gt=A<_t?A:_t;h[v>>2]=gt;_t=gt/(_t+1.0000000036274937e-15);vt=+H(+(1-_t*_t))*(+q(+(E-vt))/(E+1.0000000036274937e-15+vt));ot=e+15184|0;E=+h[ot>>2];_t=+(u|0);E=E+(vt-E)/_t;h[ot>>2]=E;ot=e+15188|0;_t=+h[ot>>2]-.019999999552965164/_t;E=_t>E?_t:E;h[ot>>2]=E}else E=+h[e+15188>>2];E=E*20;if(E>1)E=1}else E=0;if(!i)v=(s[dt>>2]|0)/400|0;else v=i;y=s[e+164>>2]|0;switch(y|0){case-1e3:{P=s[dt>>2]|0;y=((P*60|0)/(v|0)|0)+(te(P,S)|0)|0;break}case-1:{P=s[dt>>2]|0;y=(te(x<<3,P)|0)/(v|0)|0;break}default:P=s[dt>>2]|0}Ce=e+160|0;s[Ce>>2]=y;v=(P|0)/(i|0)|0;ot=e+148|0;U=(s[ot>>2]|0)==0;if(U){B=(P*3|0)/(i|0)|0;Le=(((y*3|0)/8|0)+((B|0)/2|0)|0)/(B|0)|0;Le=(Le|0)<(x|0)?Le:x;B=((te(Le,B)|0)<<3|0)/3|0;s[Ce>>2]=B}else{B=y;Le=x}do if(!((Le|0)<3|(B|0)<(v*24|0))){if((v|0)<50){y=te(Le,v)|0;if((y|0)<300|(B|0)<2400)break;else ae=y}else ae=te(v,Le)|0;oe=ae<<3;I=s[T>>2]|0;F=e+40|0;C=s[F>>2]|0;T=v+-50|0;y=B-(te((S*40|0)+20|0,T)|0)|0;if(U)y=y-((y|0)/12|0)|0;x=I+90|0;c=(te(y,x)|0)/100|0;R=(C*12|0)+20|0;c=c-((te(c,C)|0)/(R|0)|0)|0;y=s[e+124>>2]|0;do if((y|0)!=3001)if((y|0)!=3002){y=s[e+140>>2]|0;if((y|0)>-1){j=y*327>>8;j=(s[Q>>2]|0)!=2049|(j|0)<115?j:115;break}else{j=(s[Q>>2]|0)==2048?115:48;break}}else j=0;else j=127;while(0);V=e+120|0;y=s[V>>2]|0;Pe=e+15104|0;do if((y|0)==-1e3|M^1)if(M){S=(c|0)>(((s[Pe>>2]|0)==2?23e3:25e3)|0)?2:1;s[Pe>>2]=S;break}else{s[Pe>>2]=S;break}else{s[Pe>>2]=y;S=y}while(0);y=B-(te((S*40|0)+20|0,T)|0)|0;if(U)y=y-((y|0)/12|0)|0;u=(te(y,x)|0)/100|0;u=u-((te(u,C)|0)/(R|0)|0)|0;c=s[Q>>2]|0;do if((c|0)!=2051){y=s[e+136>>2]|0;do if((y|0)==-1e3){_t=1-E;y=~~(_t*16e3+E*16e3);y=y+((te(te(j,j)|0,~~(_t*64e3+E*36e3)-y|0)|0)>>14)|0;y=(c|0)==2048?y+8e3|0:y;c=s[e+15140>>2]|0;if((c|0)==1002)y=y+-4e3|0;else y=(c|0)>0?y+4e3|0:y;y=(u|0)>=(y|0)?1002:1e3;c=e+15136|0;s[c>>2]=y;do if(s[e+48>>2]|0){if((C|0)<=(128-j>>4|0))break;s[c>>2]=1e3;y=1e3}while(0);if(!(s[e+184>>2]|0)){s[e+56>>2]=0;_=c;ct=112;break}if(!_){s[e+56>>2]=0;_=c;ct=112;break}s[e+56>>2]=Oe^1;if(!((Oe|0)==0&(j|0)>100)){_=c;ct=112;break}s[c>>2]=1e3;_=c;y=1e3}else{_=e+15136|0;s[_>>2]=y;ct=112}while(0);if((ct|0)==112)if((y|0)==1002){Ie=_;_=1002;break}if(((P|0)/100|0|0)>(i|0)){s[_>>2]=1002;Ie=_;_=1002}else{Ie=_;_=y}}else{Ie=e+15136|0;s[Ie>>2]=1002;_=1002}while(0);Z=e+176|0;if(s[Z>>2]|0){s[Ie>>2]=1002;_=1002}ie=(v|0)>50;if((Le|0)<((te(ie?9e3:6e3,i)|0)/(P<<3|0)|0|0)){s[Ie>>2]=1002;_=1002}do if((S|0)==1?(s[e+15144>>2]|0)==2:0){y=e+68|0;if((s[y>>2]|0)!=0|(_|0)==1002){ct=124;break}c=e+15140|0;if((s[c>>2]|0)==1002){ct=124;break}s[y>>2]=1;s[Pe>>2]=2;xe=c;c=2}else ct=124;while(0);if((ct|0)==124){s[e+68>>2]=0;xe=e+15140|0;c=S}M=s[xe>>2]|0;do if((M|0)>0){y=(_|0)==1002;if((M|0)==1002&(y^1)){Re=(_|0)!=1002;y=Re&1;if(Re){u=y;y=1;Re=0;break}}else{if(!y){u=0;y=0;Re=0;break}if((M|0)==1002){ -_=1002;u=0;y=0;Re=0;break}y=(_|0)!=1002&1}if(((P|0)/100|0|0)>(i|0)){_=1002;u=y;y=0;Re=0;break}s[Ie>>2]=M;_=M;u=y;y=1;Re=1}else{u=0;y=0;Re=0}while(0);c=B-(te((c*40|0)+20|0,T)|0)|0;if(U)c=c-((c|0)/12|0)|0;c=(te(c,x)|0)/100|0;e:do switch(_|0){case 1001:case 1e3:{if((I|0)<2)c=(c<<2|0)/5|0;fe=c-((te(c,C)|0)/((C*6|0)+10|0)|0)|0;break}case 1002:{if((I|0)>=5){fe=c;break e}fe=(c*9|0)/10|0;break}default:fe=c-((te(c,C)|0)/(R|0)|0)|0}while(0);he=e+15160|0;if(!(s[he>>2]|0))if(!y){ne=u;c=0;y=0;se=0}else{c=0;ct=145}else{s[he>>2]=0;u=1;c=1;y=1;ct=145}do if((ct|0)==145){S=(P|0)/200|0;S=(te(Le,S)|0)/(S+i|0)|0;S=(S|0)>257?257:S;if(U){ne=u;se=S;break}se=(B|0)/1600|0;ne=u;se=(S|0)<(se|0)?S:se}while(0);if((_|0)!=1002&(M|0)==1002){_=s[e+180>>2]|0;kn(de|0,0,20400)|0;c=0;while(1){if((c|0)==2)break;Fi(de+(c*10156|0)|0,_)|0;c=c+1|0}s[de+20376>>2]=1;s[de+20380>>2]=1;$=1}else $=c;T=(s[Ie>>2]|0)==1002;do if(T)ct=156;else{if(s[e+15164>>2]|0){ct=156;break}if(s[e+84>>2]|0){ct=156;break}c=e+15152|0;U=c;c=s[c>>2]|0}while(0);do if((ct|0)==156){if((s[at>>2]|0)==2?(s[V>>2]|0)!=1:0){u=616;S=616}else{u=616;S=616}_=te(j,j)|0;c=0;while(1){if((c|0)==8)break;ue=s[u+(c<<2)>>2]|0;s[W+(c<<2)>>2]=ue+((te(_,(s[S+(c<<2)>>2]|0)-ue|0)|0)>>14);c=c+1|0}M=(s[e+15164>>2]|0)==0;S=e+15156|0;c=1105;do{u=c<<1;_=s[W+(u+-2204<<2)>>2]|0;u=s[W+(u+-2203<<2)>>2]|0;do if(M)if((s[S>>2]|0)<(c|0)){_=_+u|0;break}else{_=_-u|0;break}while(0);if((fe|0)>=(_|0))break;c=c+-1|0}while((c|0)>1101);s[S>>2]=c;_=e+15152|0;s[_>>2]=c;if(T|M^1){U=_;break}if(!((s[e+88>>2]|0)==0&(c|0)>1103)){U=_;break}s[_>>2]=1103;U=_;c=1103}while(0);_=s[e+132>>2]|0;if((c|0)>(_|0))s[U>>2]=_;else _=c;B=e+128|0;c=s[B>>2]|0;S=(c|0)==-1e3;if(!S){s[U>>2]=c;_=c}if((oe|0)<15e3&(T^1)){_=(_|0)<1103?_:1103;s[U>>2]=_}c=s[dt>>2]|0;if((c|0)<24001&(_|0)>1104){s[U>>2]=1104;_=1104}if((c|0)<16001&(_|0)>1103){s[U>>2]=1103;_=1103}if((c|0)<12001&(_|0)>1102){s[U>>2]=1102;_=1102}if((c|0)<8001&(_|0)>1101){s[U>>2]=1101;_=1101}u=s[G>>2]|0;if(!((u|0)==0|S^1)){c=s[Pe>>2]|0;do if((fe|0)>(c*18e3|0)|T^1){if(!((fe|0)>(c*24e3|0)|T^1)){c=1102;break}if((fe|0)<=(c*3e4|0)){c=1103;break}c=(fe|0)>(c*44e3|0)?1105:1104}else c=1101;while(0);ue=(u|0)>(c|0)?u:c;s[G>>2]=ue;_=(_|0)<(ue|0)?_:ue;s[U>>2]=_}R=s[F>>2]|0;j=e+52|0;I=s[j>>2]|0;e:do if((s[e+48>>2]|0)==0|(R|0)==0|T)_=0;else{S=(R|0)<25;M=125-R|0;T=(R|0)<6;x=_;while(1){u=x<<1;c=s[648+(u+-2202<<2)>>2]|0;u=s[648+(u+-2201<<2)>>2]|0;switch(I|0){case 1:{c=c-u|0;break}case 0:{c=c+u|0;break}default:{}}ue=((te(c,S?M:100)|0)>>16)*655|0;c=(ue+((((te(c,S?125-R|0:100)|0)&65535)*655|0)>>>16)|0)<(fe|0);if(c|T){_=c&1;break e}if((x|0)<=1101)break;ue=x+-1|0;s[U>>2]=ue;x=ue}s[U>>2]=_;_=0}while(0);s[j>>2]=_;s[K>>2]=X;qs(Xe,4036,K)|0;c=s[Ie>>2]|0;_=(c|0)==1002;do if(_){if((s[U>>2]|0)!=1102)break;s[U>>2]=1103}while(0);if(s[Z>>2]|0)s[U>>2]=1101;u=s[dt>>2]|0;do if(((u|0)/50|0|0)<(i|0)){if(!_?(Y=s[U>>2]|0,(Y|0)<=1103):0){B=Y;break}if((f|0)!=-1){s[e+8696>>2]=f;s[e+8700>>2]=k}T=((u|0)/25|0|0)<(i|0)?3:2;c=(o+-3|0)/(T|0)|0;c=(c|0)>1276?1276:c;x=te(T,c)|0;P=Ne()|0;u=l;l=l+((1*x|0)+15&-16)|0;s[ee+4>>2]=0;x=e+136|0;R=s[x>>2]|0;I=s[B>>2]|0;C=s[V>>2]|0;s[x>>2]=s[Ie>>2];s[B>>2]=s[U>>2];v=s[Pe>>2]|0;s[V>>2]=v;S=e+68|0;M=s[S>>2]|0;if(!M)s[e+15144>>2]=v;else s[V>>2]=1;v=(Re|0)!=0;_=T+-1|0;k=0;while(1){if((k|0)>=(T|0)){ct=222;break}s[S>>2]=0;if(v&(k|0)==(_|0))s[x>>2]=1002;f=s[dt>>2]|0;y=u+(te(k,c)|0)|0;f=Ns(e,t+((te(k,(te(s[at>>2]|0,f)|0)/50|0)|0)<<2)|0,(f|0)/50|0,y,c,X,0,0,p,b,m,w,g)|0;if((f|0)<0){v=-3;break}if((js(ee,y,f)|0)<0){v=-3;break}k=k+1|0}do if((ct|0)==222){_=(s[ot>>2]|0)==0;if(_){v=((s[Ce>>2]|0)*3|0)/(1200/(T>>>0)|0|0)|0;v=(v|0)<(o|0)?v:o}else v=o;v=Fs(ee,T,a,v,_&1)|0;if((v|0)<0){v=-3;break}s[x>>2]=R;s[B>>2]=I;s[V>>2]=C;s[S>>2]=M}while(0);qe(P|0);a=v;l=pt;return a|0}else B=s[U>>2]|0;while(0);do if((c|0)==1e3){if((B|0)<=1103)break;s[Ie>>2]=1001}else{if(!((c|0)==1001&(B|0)<1104))break;s[Ie>>2]=1e3}while(0);ee=Le-se|0;u=(te(s[Ce>>2]|0,i)|0)/(u<<3|0)|0;u=((ee|0)<(u|0)?ee:u)+-1|0;ee=a+1|0;m=Le+-1|0;s[Je>>2]=ee;p=Je+8|0;s[p>>2]=0;s[Je+12>>2]=0;s[Je+16>>2]=0;ce=Je+20|0;s[ce>>2]=33;V=Je+24|0;s[V>>2]=0;o=Je+28|0;s[o>>2]=-2147483648;W=Je+40|0;s[W>>2]=-1;K=Je+32|0;s[K>>2]=0;Y=Je+36|0;s[Y>>2]=0;b=Je+4|0;s[b>>2]=m;X=Je+44|0;s[X>>2]=0;G=Me+i|0;F=te(G,s[at>>2]|0)|0;ue=Ne()|0;w=l;l=l+((1*(F<<2)|0)+15&-16)|0;F=e+172|0;x=s[at>>2]|0;T=te(Me,x)|0;Mn(w|0,e+15192+((te((s[F>>2]|0)-Me|0,x)|0)<<2)|0,T<<2|0)|0;R=(s[Ie>>2]|0)==1002;if(R)_=193536;else _=s[de+8>>2]|0;P=e+15112|0;C=s[P>>2]|0;_=_-C|0;_=C+(((_>>16)*983|0)+(((_&65535)*983|0)>>>16))|0;s[P>>2]=_;e:do if((s[Q>>2]|0)==2048){k=_>>8;do if((k|0)<0)_=0;else{if((k|0)>3966){_=2147483647;break}_=_>>15;c=1<<_;f=k&127;if((k|0)<2048)_=f+((te(te(f,128-f|0)|0,-174)|0)>>16)<<_>>7;else _=te(c>>7,f+((te(te(f,128-f|0)|0,-174)|0)>>16)|0)|0;_=c+_|0}while(0);M=w+(T<<2)|0;k=e+15120|0;S=((_<<16>>16)*2471|0)/((s[dt>>2]|0)/1e3|0|0)|0;_=te(S,-471)|0;f=_+268435456|0;Q=f>>6;I=f>>22;c=S<<16>>16;yt=te(S>>16,c)|0;c=te(S&65535,c)|0;S=te(S,(S>>15)+1>>1)|0;kt=yt+(c>>>16)+S<<16>>16;C=Q&65535;P=Q<<16>>16;E=+((te(I,kt)|0)+((te(C,kt)|0)>>16)+(te(Q,(yt+(c>>16)+S+-8388608>>15)+1>>1)|0)|0)*3.725290298461914e-9;A=+((te(I,P)|0)+((te(C,P)|0)>>16)+(te(Q,(f>>21)+1>>1)|0)|0)*3.725290298461914e-9;O=+(f|0)*3.725290298461914e-9;N=+(-268435456-_<<1|0)*3.725290298461914e-9;_=e+15124|0;f=0;while(1){if((f|0)>=(i|0))break;kt=te(f,x)|0;gt=+h[t+(kt<<2)>>2];vt=O*gt;_t=+h[k>>2]+vt;h[k>>2]=+h[_>>2]-_t*E+N*gt;h[_>>2]=vt-_t*A+1.0000000031710769e-30;h[M+(kt<<2)>>2]=_t;f=f+1|0}if((x|0)!=2)break;c=t+4|0;S=e+15128|0;_=M+4|0;f=e+15132|0;k=0;while(1){if((k|0)>=(i|0))break e;kt=k<<1;gt=+h[c+(kt<<2)>>2];vt=O*gt;_t=+h[S>>2]+vt;h[S>>2]=+h[f>>2]-_t*E+N*gt;h[f>>2]=vt-_t*A+1.0000000031710769e-30;h[_+(kt<<2)>>2]=_t;k=k+1|0}}else{c=w+(T<<2)|0;S=e+15120|0;D=12/+(s[dt>>2]|0);L=1-D;A=+h[S>>2];M=e+15124|0;E=+h[M>>2];if((x|0)!=2){_=0;while(1){if((_|0)>=(i|0))break;vt=+h[t+(_<<2)>>2];_t=vt-A;h[c+(_<<2)>>2]=_t-E;_=_+1|0;A=D*vt+1.0000000031710769e-30+L*A;E=D*_t+1.0000000031710769e-30+L*E}h[S>>2]=A;h[M>>2]=E;break}_=e+15128|0;f=e+15132|0;k=0;O=+h[_>>2];N=+h[f>>2];while(1){if((k|0)>=(i|0))break;yt=k<<1;wt=+h[t+(yt<<2)>>2];kt=yt|1;vt=+h[t+(kt<<2)>>2];gt=wt-A;_t=vt-O;h[c+(yt<<2)>>2]=gt-E;h[c+(kt<<2)>>2]=_t-N;k=k+1|0;A=D*wt+1.0000000031710769e-30+L*A;E=D*gt+1.0000000031710769e-30+L*E;O=D*vt+1.0000000031710769e-30+L*O;N=D*_t+1.0000000031710769e-30+L*N}h[S>>2]=A;h[M>>2]=E;h[_>>2]=O;h[f>>2]=N}while(0);do if(g|0){_=w+(T<<2)|0;f=te(x,i)|0;k=0;E=0;while(1){if((k|0)>=(f|0))break;_t=+h[_+(k<<2)>>2];k=k+1|0;E=E+_t*_t}if(!(!(E<1e9)|(E!=E|0!=0)))break;kn(_|0,0,f<<2|0)|0;kt=e+15120|0;s[kt>>2]=0;s[kt+4>>2]=0;s[kt+8>>2]=0;s[kt+12>>2]=0}while(0);do if(R){A=1;R=ne;ct=353}else{c=te(x,i)|0;P=Ne()|0;C=l;l=l+((1*(c<<1)|0)+15&-16)|0;c=te(u<<3,v)|0;R=s[Ie>>2]|0;I=(R|0)==1001;do if(!I){s[e+36>>2]=c;v=s[e+15168>>2]|0;if(!v){T=c;A=1}else{N=1;ct=275}}else{k=s[ot>>2]|0;_=((s[dt>>2]|0)==(i*50|0)?2:1)+(s[j>>2]<<1)|0;f=1;while(1){if((f|0)>=7){ct=268;break}v=s[688+(f*20|0)>>2]|0;if((v|0)>(c|0)){ct=271;break}f=f+1|0}do if((ct|0)==268)if((f|0)==7){v=(s[808+(_<<2)>>2]|0)+((c+-64e3|0)/2|0)|0;break}else{v=s[688+(f*20|0)>>2]|0;ct=271;break}while(0);if((ct|0)==271){yt=f+-1|0;kt=s[688+(yt*20|0)>>2]|0;v=((te(s[688+(yt*20|0)+(_<<2)>>2]|0,v-c|0)|0)+(te(s[688+(f*20|0)+(_<<2)>>2]|0,c-kt|0)|0)|0)/(v-kt|0)|0}_=(k|0)==0?v+100|0:v;_=(B|0)==1104?_+300|0:_;s[e+36>>2]=_;v=s[e+15168>>2]|0;if(v|0){c=_;N=1;ct=275;break}T=_;A=1-+J(+(+(_-c|0)*.0009765625*.6931471805599453))}while(0);do if((ct|0)==275){if(!(s[ot>>2]|0)){T=c;A=N;break}if(s[Z>>2]|0){T=c;A=N;break}x=s[U>>2]|0;if((x|0)==1101){M=13;O=8e3}else{kt=(x|0)==1102;M=kt?15:17;O=kt?12e3:16e3}f=s[at>>2]|0;S=0;E=0;while(1){if((S|0)>=(f|0))break;k=S*21|0;T=0;while(1){if((T|0)>=(M|0))break;A=+h[v+(k+T<<2)>>2];_=A<.5;do if(A>-2|_^1){if(_){if(!(A>0))break}else A=.5;A=A*.5}else A=-2;while(0);T=T+1|0;E=E+A}S=S+1|0}kt=~~(O*(E/+(M|0)*+(f|0)+.20000000298023224));_=(te(c,-2)|0)/3|0;_=(kt|0)>(_|0)?kt:_;if((x&-2|0)==1104)v=(_*3|0)/5|0;else v=_;T=c+v|0;s[e+36>>2]=T;kt=te(_,i)|0;A=N;u=u+((kt|0)/(s[dt>>2]<<3|0)|0)|0}while(0);x=s[dt>>2]|0;s[e+32>>2]=(i*1e3|0)/(x|0)|0;f=s[at>>2]|0;s[e+8>>2]=f;s[e+12>>2]=s[Pe>>2];switch(B|0){case 1101:{s[e+28>>2]=8e3;v=8e3;break}case 1102:{s[e+28>>2]=12e3;v=12e3;break}default:{s[e+28>>2]=16e3;v=16e3}}s[e+24>>2]=I?16e3:8e3;c=e+20|0;s[c>>2]=16e3;do if((R|0)==1e3){if(ie)k=(ae<<4|0)/3|0;else k=oe;if((k|0)>=8e3)break;s[c>>2]=12e3;_=e+28|0;v=v>>>0>12e3?12e3:v;s[_>>2]=v;if((k|0)>=7e3)break;s[c>>2]=8e3;s[_>>2]=(v|0)>8e3?8e3:v}while(0);S=(s[ot>>2]|0)==0;s[e+60>>2]=S&1;v=m-se|0;v=(v|0)>1275?1275:v;s[pe>>2]=v;v=v<<3;M=e+64|0;s[M>>2]=v;do if(S){if(!I)break;s[M>>2]=(te(T,i)|0)/(x|0)|0}else{if(!I)break;c=(te(v,x)|0)/(i|0)|0;_=((x|0)==(i*50|0)?2:1)+(s[j>>2]<<1)|0;k=1;while(1){if((k|0)>=7){ct=310;break}v=s[688+(k*20|0)>>2]|0;if((v|0)>(c|0)){ct=313;break}k=k+1|0}do if((ct|0)==310)if((k|0)==7){v=(s[808+(_<<2)>>2]|0)+((c+-64e3|0)/2|0)|0;break}else{v=s[688+(k*20|0)>>2]|0;ct=313;break}while(0);if((ct|0)==313){yt=k+-1|0;kt=s[688+(yt*20|0)>>2]|0;v=((te(s[688+(yt*20|0)+(_<<2)>>2]|0,v-c|0)|0)+(te(s[688+(k*20|0)+(_<<2)>>2]|0,c-kt|0)|0)|0)/(v-kt|0)|0}kt=S?v+100|0:v;s[M>>2]=(te((B|0)==1104?kt+300|0:kt,i)|0)/(x|0)|0}while(0);if($){s[le>>2]=0;kt=(x|0)/400|0;_=te(f,(s[F>>2]|0)-(s[e+116>>2]|0)-kt|0)|0;yt=e+15192+(_<<2)|0;k=s[Te>>2]|0;Ds(yt,yt,0,1,s[k+4>>2]|0,kt,f,s[k+60>>2]|0,x);kn(e+15192|0,0,_<<2|0)|0;_=s[F>>2]|0;f=te(_,s[at>>2]|0)|0;k=0;while(1){if((k|0)>=(f|0))break;E=+h[e+15192+(k<<2)>>2]*32768;do if(E>-32768){if(E<32767)break;E=32767}else E=-32768;while(0);v=(h[d>>2]=E,s[d>>2]|0);do if((v&2130706432)>>>0<=1249902592){v=(v|0)<0;E=v?E+-8388608+8388608:E+8388608+-8388608;if(!(E==0))break;E=v?-0:0}while(0);n[C+(k<<1)>>1]=~~E;k=k+1|0}Ni(de,e+8|0,C,_,0,le,1)|0;f=s[at>>2]|0}_=te(f,i)|0;k=0;while(1){if((k|0)>=(_|0))break;E=+h[w+((te(Me,f)|0)+k<<2)>>2]*32768;do if(E>-32768){if(E<32767)break;E=32767}else E=-32768;while(0);v=(h[d>>2]=E,s[d>>2]|0);do if((v&2130706432)>>>0<=1249902592){v=(v|0)<0;E=v?E+-8388608+8388608:E+8388608+-8388608;if(!(E==0))break;E=v?-0:0}while(0);n[C+(k<<1)>>1]=~~E;k=k+1|0}if(!(Ni(de,e+8|0,C,i,Je,pe,0)|0)){if(s[pe>>2]|0){do if((s[Ie>>2]|0)==1e3){v=s[e+80>>2]|0;if((v|0)==8e3){_=1101;break}if((v|0)==12e3){_=1102;break}_=(v|0)==16e3?1103:B}else _=B;while(0);kt=s[e+96>>2]|0;s[e+72>>2]=kt;if(!kt)v=ne;else{s[he>>2]=1;v=0;y=1}qe(P|0);R=v;B=_;ct=353;break}s[lt>>2]=0;y=s[Ie>>2]|0;f=s[Pe>>2]|0;v=(s[dt>>2]|0)/(i|0)|0;_=0;while(1){if((v|0)>=400)break;v=v<<1;_=_+1|0}switch(y|0){case 1e3:{v=(B<<5)+96&224|(_<<3)+-16;break}case 1002:{v=((B|0)<1102?0:(B<<5)+64&96)|_<<3|128;break}default:v=B<<4|(_<<3)+240|96}r[a>>0]=v|((f|0)==2&1)<<2;v=1}else v=-3;qe(P|0)}while(0);e:do if((ct|0)==353){switch(B|0){case 1101:{v=13;break}case 1103:case 1102:{v=17;break}case 1104:{v=19;break}default:v=21}s[ve>>2]=v;qs(Xe,10012,ve)|0;s[_e>>2]=s[Pe>>2];qs(Xe,10008,_e)|0;s[me>>2]=-1;qs(Xe,4002,me)|0;do if((s[Ie>>2]|0)==1e3){f=s[at>>2]|0;u=((te(f,s[dt>>2]|0)|0)/400|0)<<2;c=l;l=l+((1*u|0)+15&-16)|0;u=0}else{s[we>>2]=0;qs(Xe,4006,we)|0;s[ge>>2]=(s[e+76>>2]|0)==0?2:0;qs(Xe,10002,ge)|0;do if((s[Ie>>2]|0)==1001){v=(s[ce>>2]|0)+((re(s[o>>2]|0)|0)+-32)+7>>3;v=(y|0)==0?v:v+3|0;if(!(s[ot>>2]|0)){u=(v|0)>(u|0)?v:u;break}else{s[ye>>2]=(s[Ce>>2]|0)-(s[e+36>>2]|0);qs(Xe,4002,ye)|0;s[ke>>2]=0;qs(Xe,4020,ke)|0;u=m-se|0;break}}else{if(!(s[ot>>2]|0))break;do if((s[be>>2]|0)==5010){v=s[dt>>2]|0;if(((v|0)/50|0|0)==(i|0)){v=0;break}v=te(((s[Pe>>2]|0)*60|0)+40|0,((v|0)/(i|0)|0)+-50|0)|0;if(!(s[ht>>2]|0))break;v=~~(+(v|0)*(+h[ht+4>>2]*.5+1))}else v=0;while(0);s[Ee>>2]=1;qs(Xe,4006,Ee)|0;s[Ae>>2]=s[e+152>>2];qs(Xe,4020,Ae)|0;s[Se>>2]=(s[Ce>>2]|0)+v;qs(Xe,4002,Se)|0;u=m-se|0}while(0);v=s[Ie>>2]|0;_=s[at>>2]|0;f=s[dt>>2]|0;k=(te(_,f)|0)/400|0;c=l;l=l+((1*(k<<2)|0)+15&-16)|0;if((v|0)==1e3){f=_;break}kt=s[xe>>2]|0;if(!((v|0)!=(kt|0)&(kt|0)>0)){f=_;break}Mn(c|0,e+15192+((te((s[F>>2]|0)-Me-((f|0)/400|0)|0,_)|0)<<2)|0,k<<2|0)|0;f=_}while(0);v=s[F>>2]|0;_=e+15192|0;if((te(f,v-G|0)|0)>0){kt=te(f,v-i-Me|0)|0;Tn(_|0,e+15192+((te(f,i)|0)<<2)|0,kt<<2|0)|0;Mn(e+15192+(kt<<2)|0,w|0,(te(G,f)|0)<<2|0)|0}else Mn(_|0,w+((te(G-v|0,f)|0)<<2)|0,(te(v,f)|0)<<2|0)|0;v=e+15116|0;E=+h[v>>2];if(E<1|A<1){kt=s[Te>>2]|0;Ds(w,w,E,A,s[kt+4>>2]|0,i,s[at>>2]|0,s[kt+60>>2]|0,s[dt>>2]|0)}h[v>>2]=A;T=s[Ie>>2]|0;x=(T|0)==1001;if(!(x?(s[Pe>>2]|0)!=1:0)){if((fe|0)>=24e3){v=fe+-24e3|0;if((v<<1|0)>16384)v=16384;else ct=381}else{v=0;ct=381}if((ct|0)==381)v=v<<1;s[e+92>>2]=v}do if(!(s[e+15168>>2]|0)){if((s[at>>2]|0)!=2)break;M=e+15108|0;v=n[M>>1]|0;S=s[e+92>>2]|0;if(!(v<<16>>16<16384|(S|0)<16384))break;k=s[Te>>2]|0;_=s[k+60>>2]|0;f=48e3/(s[dt>>2]|0)|0;k=(s[k+4>>2]|0)/(f|0)|0;E=1-+(v<<16>>16)*6103515625e-14;A=1-+(S|0)*6103515625e-14;v=0;while(1){if((v|0)>=(k|0))break;_t=+h[_+((te(v,f)|0)<<2)>>2];_t=_t*_t;kt=v<<1;yt=w+(kt<<2)|0;gt=+h[yt>>2];kt=w+((kt|1)<<2)|0;vt=+h[kt>>2];_t=(_t*A+(1-_t)*E)*((gt-vt)*.5);h[yt>>2]=gt-_t;h[kt>>2]=vt+_t;v=v+1|0}while(1){if((v|0)>=(i|0))break;kt=v<<1;yt=w+(kt<<2)|0;gt=+h[yt>>2];kt=w+((kt|1)<<2)|0;vt=+h[kt>>2];_t=A*((gt-vt)*.5);h[yt>>2]=gt-_t;h[kt>>2]=vt+_t;v=v+1|0}n[M>>1]=S}while(0);t:do if((T|0)==1002)ct=456;else{_=s[ce>>2]|0;v=s[o>>2]|0;f=_+((re(v|0)|0)+-32)|0;if((f+17+(x?20:0)|0)>((Le<<3)+-8|0)){ct=456;break}i:do if(x){if(!y){if((f+37|0)>(u<<3|0)){ct=456;break t}v=v-(v>>>12)|0}else{kt=v>>>12;s[K>>2]=(s[K>>2]|0)+(v-kt);v=kt}s[o>>2]=v;while(1){if(v>>>0>=8388609){f=v;k=_;break i}f=s[K>>2]|0;k=f>>>23;if((k|0)==255)s[Y>>2]=(s[Y>>2]|0)+1;else{f=f>>>31;v=s[W>>2]|0;if((v|0)>-1){_=s[V>>2]|0;if((_+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[V>>2]=_+1;r[(s[Je>>2]|0)+_>>0]=v+f;v=0}else v=-1;s[X>>2]=s[X>>2]|v}v=s[Y>>2]|0;if(v|0){f=f+255&255;do{_=s[V>>2]|0;if((_+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[V>>2]=_+1;r[(s[Je>>2]|0)+_>>0]=f;_=0;v=s[Y>>2]|0}else _=-1;s[X>>2]=s[X>>2]|_;v=v+-1|0;s[Y>>2]=v}while((v|0)!=0)}s[W>>2]=k&255;f=s[K>>2]|0;v=s[o>>2]|0;_=s[ce>>2]|0}s[K>>2]=f<<8&2147483392;v=v<<8;s[o>>2]=v;_=_+8|0;s[ce>>2]=_}}else{f=v;k=_}while(0);if(!y){ct=456;break}v=f>>>1;_=f-v|0;if(!R)v=_;else s[K>>2]=(s[K>>2]|0)+_;s[o>>2]=v;_=k;while(1){if(v>>>0>=8388609)break;f=s[K>>2]|0;k=f>>>23;if((k|0)==255)s[Y>>2]=(s[Y>>2]|0)+1;else{f=f>>>31;v=s[W>>2]|0;if((v|0)>-1){_=s[V>>2]|0;if((_+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[V>>2]=_+1;r[(s[Je>>2]|0)+_>>0]=v+f;v=0}else v=-1;s[X>>2]=s[X>>2]|v}v=s[Y>>2]|0;if(v|0){f=f+255&255;do{_=s[V>>2]|0;if((_+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[V>>2]=_+1;r[(s[Je>>2]|0)+_>>0]=f;_=0;v=s[Y>>2]|0}else _=-1;s[X>>2]=s[X>>2]|_;v=v+-1|0;s[Y>>2]=v}while((v|0)!=0)}s[W>>2]=k&255;f=s[K>>2]|0;v=s[o>>2]|0;_=s[ce>>2]|0}s[K>>2]=f<<8&2147483392;v=v<<8;s[o>>2]=v;_=_+8|0;s[ce>>2]=_}k=(s[Ie>>2]|0)==1001;if(k)f=u;else f=_+((re(v|0)|0)+-32)+7>>3;kt=m-f|0;f=(s[Ce>>2]|0)/1600|0;f=(kt|0)<(f|0)?kt:f;if((f|0)>=2)if((f|0)>257)S=257;else ct=436;else{f=2;ct=436}if((ct|0)==436)S=f;if(!k){M=S;break}f=v>>>8;if((S|0)==2)v=v+(te(f,-255)|0)|0;else{v=v-(te(f,258-S|0)|0)|0;s[K>>2]=(s[K>>2]|0)+v;v=f}s[o>>2]=v;while(1){if(v>>>0>=8388609){M=S;break t}f=s[K>>2]|0;k=f>>>23;if((k|0)==255)s[Y>>2]=(s[Y>>2]|0)+1;else{f=f>>>31;v=s[W>>2]|0;if((v|0)>-1){_=s[V>>2]|0;if((_+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[V>>2]=_+1;r[(s[Je>>2]|0)+_>>0]=v+f;v=0}else v=-1;s[X>>2]=s[X>>2]|v}v=s[Y>>2]|0;if(v|0){f=f+255&255;do{_=s[V>>2]|0;if((_+(s[p>>2]|0)|0)>>>0<(s[b>>2]|0)>>>0){s[V>>2]=_+1;r[(s[Je>>2]|0)+_>>0]=f;_=0;v=s[Y>>2]|0}else _=-1;s[X>>2]=s[X>>2]|_;v=v+-1|0;s[Y>>2]=v}while((v|0)!=0)}s[W>>2]=k&255;f=s[K>>2]|0;v=s[o>>2]|0;_=s[ce>>2]|0}s[K>>2]=f<<8&2147483392;v=v<<8;s[o>>2]=v;_=_+8|0;s[ce>>2]=_}}while(0);if((ct|0)==456){s[he>>2]=0;y=0;M=0}kt=s[Ie>>2]|0;_=(kt|0)==1002?0:17;if((kt|0)==1e3){v=(s[ce>>2]|0)+((re(s[o>>2]|0)|0)+-32)+7>>3;li(Je);k=v}else{k=m-M|0;k=(k|0)<(u|0)?k:u;yt=s[Je>>2]|0;v=s[p>>2]|0;kt=0-v|0;Tn(yt+k+kt|0,yt+(s[b>>2]|0)+kt|0,v|0)|0;s[b>>2]=k;v=0}f=(y|0)==0;if(f?(s[Ie>>2]|0)==1e3:0)ct=464;else ct=462;do if((ct|0)==462){s[Be>>2]=ht;qs(Xe,10022,Be)|0;if((s[Ie>>2]|0)!=1001){ct=464;break}s[De>>2]=s[e+100>>2];s[De+4>>2]=s[e+104>>2];s[Ue>>2]=De;qs(Xe,10028,Ue)|0}while(0);if((ct|0)==464){s[je>>2]=0;qs(Xe,10028,je)|0}if(!(f|(R|0)==0)){s[Fe>>2]=0;qs(Xe,10010,Fe)|0;s[ze>>2]=0;qs(Xe,4006,ze)|0;s[He>>2]=-1;qs(Xe,4002,He)|0;if((Jt(Xe,w,(s[dt>>2]|0)/200|0,ee+k|0,M,0)|0)<0){v=-3;break}s[Ge>>2]=ft;qs(Xe,4031,Ge)|0;qs(Xe,4028,Ve)|0}s[ut>>2]=_;qs(Xe,10010,ut)|0;_=s[Ie>>2]|0;do if((_|0)==1e3)ct=482;else{kt=s[xe>>2]|0;if((_|0)!=(kt|0)&(kt|0)>0){qs(Xe,4028,Ke)|0;Jt(Xe,c,(s[dt>>2]|0)/400|0,We,2,0)|0;s[Ye>>2]=0;qs(Xe,10002,Ye)|0}if(((s[ce>>2]|0)+((re(s[o>>2]|0)|0)+-32)|0)>(k<<3|0)){ct=482;break}do if(!(f|(R|0)==0)){if((s[Ie>>2]|0)!=1001)break;if(!(s[ot>>2]|0))break;s[Ze>>2]=(s[Ce>>2]|0)-(s[e+36>>2]|0);qs(Xe,4002,Ze)|0}while(0);s[$e>>2]=s[ot>>2];qs(Xe,4006,$e)|0;v=Jt(Xe,w,i,0,k,Je)|0;if((v|0)<0){v=-3;break e}if(f){y=0;ct=488;break}if(!R){_=k;ct=484;break}_=s[Ie>>2]|0;if((_|0)!=1001){S=y;break}if(!(s[ot>>2]|0)){ct=488;break}Mn(ee+v|0,ee+k|0,M|0)|0;ct=488}while(0);do if((ct|0)==482){if(f){y=0;ct=488;break}else _=k;if(!R)ct=484;else ct=488}while(0);if((ct|0)==484){k=s[dt>>2]|0;f=(k|0)/200|0;k=(k|0)/400|0;qs(Xe,4028,Qe)|0;s[et>>2]=0;qs(Xe,10010,et)|0;s[tt>>2]=0;qs(Xe,10002,tt)|0;s[it>>2]=0;qs(Xe,4006,it)|0;s[rt>>2]=-1;qs(Xe,4002,rt)|0;if((s[Ie>>2]|0)==1001){yt=s[Je>>2]|0;_=s[p>>2]|0;kt=0-_|0;Tn(yt+v+kt|0,yt+(s[b>>2]|0)+kt|0,_|0)|0;s[b>>2]=v;_=v}kt=i-f|0;Jt(Xe,w+((te(s[at>>2]|0,kt-k|0)|0)<<2)|0,k,nt,2,0)|0;if((Jt(Xe,w+((te(s[at>>2]|0,kt)|0)<<2)|0,f,ee+_|0,M,0)|0)<0){v=-3;break}s[st>>2]=ft;qs(Xe,4031,st)|0;ct=488}if((ct|0)==488){_=s[Ie>>2]|0;S=y}k=s[Pe>>2]|0;y=(s[dt>>2]|0)/(i|0)|0;f=0;while(1){if((y|0)>=400)break;y=y<<1;f=f+1|0}switch(_|0){case 1e3:{_=(B<<5)+96&224|(f<<3)+-16;break}case 1002:{_=((B|0)<1102?0:(B<<5)+64&96)|f<<3|128;break}default:_=B<<4|(f<<3)+240|96}r[a>>0]=_|((k|0)==2&1)<<2;u=s[o>>2]|0;s[lt>>2]=u^s[ft>>2];if(!Re)_=s[Ie>>2]|0;else _=1002;s[xe>>2]=_;c=s[Pe>>2]|0;s[e+15144>>2]=c;s[e+15148>>2]=i;s[e+15164>>2]=0;t:do if(s[e+184>>2]|0){do if(!(s[ht>>2]|0)){if(!Oe)break t;_=e+19036|0}else{_=e+19036|0;A=+h[e+19040>>2];if(Oe|0)break;k=+h[ht+28>>2]<.10000000149011612;if(k){y=te(s[at>>2]|0,i)|0;f=0;E=0;while(1){if((f|0)>=(y|0))break;_t=+h[t+(f<<2)>>2];f=f+1|0;E=E+_t*_t}if(!((E/+(y|0)*316.2300109863281<=A|0)==0|k^1))break}s[_>>2]=0;break t}while(0);kt=s[_>>2]|0;y=kt+1|0;s[_>>2]=y;if((kt|0)<=9)break;if((y|0)>=31){s[_>>2]=10;break}s[lt>>2]=0;y=s[Ie>>2]|0;v=(s[dt>>2]|0)/(i|0)|0;_=0;while(1){if((v|0)>=400)break;v=v<<1;_=_+1|0}switch(y|0){case 1e3:{v=(B<<5)+96&224|(_<<3)+-16;break}case 1002:{v=((B|0)<1102?0:(B<<5)+64&96)|_<<3|128;break}default:v=B<<4|(_<<3)+240|96}r[a>>0]=v|((c|0)==2&1)<<2;v=1;break e}while(0);t:do if(((s[ce>>2]|0)+((re(u|0)|0)+-32)|0)>((Le<<3)+-8|0)){if((Le|0)<2){v=-2;break e}r[ee>>0]=0;s[lt>>2]=0;v=1}else{if(!((s[Ie>>2]|0)==1e3&(S|0)==0))break;while(1){if((v|0)<=2)break t;if(r[a+v>>0]|0)break t;v=v+-1|0}}while(0);v=v+(M+1)|0;t:do if(!(s[ot>>2]|0)){i:do if((v|0)>=1){do if((v|0)!=(Le|0)){if((v|0)>(Le|0))break i;_=ut+4|0;s[_>>2]=0;kt=a+Le+(0-v)|0;Tn(kt|0,a|0,v|0)|0;if(js(ut,kt,v)|0)break i;v=Fs(ut,s[_>>2]|0,a,Le,1)|0;if((v|0)>0)break;if(!v){v=Le;break t}else{v=-3;break e}}while(0);v=Le;break t}while(0);v=-3;break e}while(0)}while(0);qe(ue|0);kt=v;l=pt;return kt|0}while(0);y=s[e+15136>>2]|0;_=s[e+15152>>2]|0;_=(_|0)==0?1101:_;y=(y|0)==0?1e3:y;e:do if((v|0)>100)ct=63;else{if((v|0)<50|(y|0)==1e3)if((_|0)>1103){_=1103;k=1e3;break}else{y=1e3;ct=64;break}switch(y|0){case 1002:{ct=63;break e}case 1001:break;default:{k=y;break e}}_=(_|0)>1104?_:1104;k=1001}while(0);if((ct|0)==63)if((_|0)==1102){_=1101;k=1002}else{y=1002;ct=64}if((ct|0)==64)k=y;f=s[e+15104>>2]|0;y=0;while(1){if((v|0)>=400)break;v=v<<1;y=y+1|0}switch(k|0){case 1e3:{v=(_<<5)+96&224|(y<<3)+-16;break}case 1002:{v=((_|0)<1102?0:(_<<5)+64&96)|y<<3|128;break}default:v=_<<4|(y<<3)+240|96}v=(v|((f|0)==2&1)<<2)&255;r[a>>0]=v;if(s[ot>>2]|0){kt=1;l=pt;return kt|0}do if((Le|0)==1)ct=78;else{if((Le|0)>=1){_=R+4|0;s[_>>2]=0;kt=a+Le+-1|0;r[kt>>0]=v;v=js(R,kt,1)|0;if(!v){v=Fs(R,s[_>>2]|0,a,Le,1)|0;if((v|0)>0){ct=78;break}if(!v)break;l=pt;return v|0}}else v=-1;kt=v;l=pt;return kt|0}while(0);kt=Le;l=pt;return kt|0}function Ds(e,t,i,r,n,s,a,o,f){e=e|0;t=t|0;i=+i;r=+r;n=n|0;s=s|0;a=a|0;o=o|0;f=f|0;var c=0,l=0,u=0;c=48e3/(f|0)|0;l=(n|0)/(c|0)|0;e:do if((a|0)==1){f=0;while(1){if((f|0)>=(l|0)){f=0;break e}u=+h[o+((te(f,c)|0)<<2)>>2];u=u*u;h[t+(f<<2)>>2]=(u*r+(1-u)*i)*+h[e+(f<<2)>>2];f=f+1|0}}else{f=0;while(1){if((f|0)>=(l|0)){f=0;break e}u=+h[o+((te(f,c)|0)<<2)>>2];u=u*u;u=u*r+(1-u)*i;n=f<<1;h[t+(n<<2)>>2]=u*+h[e+(n<<2)>>2];n=n|1;h[t+(n<<2)>>2]=u*+h[e+(n<<2)>>2];f=f+1|0}}while(0);do{n=l;while(1){if((n|0)>=(s|0))break;o=(te(n,a)|0)+f|0;h[t+(o<<2)>>2]=+h[e+(o<<2)>>2]*r;n=n+1|0}f=f+1|0}while((f|0)<(a|0));return}function Ls(e,t,i,r){e=e|0;t=t|0;i=i|0;r=r|0;var a=0,o=0,f=0,c=0,u=0,d=0,p=0,b=0;b=l;if((s[e+108>>2]|0)==2051)a=0;else a=s[e+116>>2]|0;f=s[e+156>>2]|0;p=e+112|0;c=s[e+144>>2]|0;o=(f|0)==5010;e:do if(((c|0)/200|0|0)>(i|0)|o^1){a=(c|0)/400|0;if((a|0)<=(i|0)){if((f|0)!=5e3){if(o)a=(c|0)/50|0;else{if((f+-5001|0)>>>0>=6){u=-1;break}u=(c*3|0)/50|0;a=a<(i|0)){u=-1;break}}else a=i;if(!((a*400|0)==(c|0)|(a*200|0)==(c|0)|(a*100|0)==(c|0))?(u=a*50|0,!((u|0)==(c|0)|(a*25|0)==(c|0)|(u|0)==(c*3|0))):0)u=-1;else d=16}else u=-1}else{f=(c|0)/400|0;o=Os(t,i,s[p>>2]|0,c,s[e+160>>2]|0,e+7060|0,a,1)|0;while(1){a=f<-1?a:-1;a=s[p>>2]|0;o=te(u,a)|0;f=l;l=l+((1*(o<<2)|0)+15&-16)|0;c=0;while(1){if((c|0)>=(o|0))break;h[f+(c<<2)>>2]=+(n[t+(c<<1)>>1]|0)*30517578125e-15;c=c+1|0}e=Ns(e,f,u,r,3828,16,t,i,0,-2,a,1,0)|0;l=b;return e|0}function Bs(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,a=0,o=0,f=0,c=0,u=0,d=0,p=0,b=0,m=0;m=l;l=l+80|0;f=m+48|0;a=m+40|0;r=m+32|0;d=m+24|0;u=m+16|0;c=m+8|0;o=m;b=m+56|0;s[b>>2]=i;p=e+(s[e>>2]|0)|0;e:do switch(t|0){case 4e3:{p=(s[b>>2]|0)+(4-1)&~(4-1);t=s[p>>2]|0;s[b>>2]=p+4;switch(t|0){case 2051:case 2049:case 2048:break;default:{i=-1;t=108;break e}}i=e+108|0;if((s[e+15164>>2]|0)==0?(s[i>>2]|0)!=(t|0):0){i=-1;t=108;break e}s[i>>2]=t;i=0;t=108;break}case 4001:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+108>>2];i=0;t=108}break}case 4002:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i|0)!=-1e3)if((i|0)!=-1){if((i|0)<1){t=109;break e}if((i|0)<501)i=500;else{b=(s[e+112>>2]|0)*3e5|0;i=(i|0)>(b|0)?b:i}}else i=-1;else i=-1e3;s[e+164>>2]=i;i=0;t=108;break}case 4003:{p=(s[b>>2]|0)+(4-1)&~(4-1);r=s[p>>2]|0;s[b>>2]=p+4;if(!r)t=109;else{i=s[e+15148>>2]|0;if(!i)t=(s[e+144>>2]|0)/400|0;else t=i;i=s[e+164>>2]|0;switch(i|0){case-1e3:{i=s[e+144>>2]|0;i=((i*60|0)/(t|0)|0)+(te(i,s[e+112>>2]|0)|0)|0;break}case-1:{i=((s[e+144>>2]|0)*10208|0)/(t|0)|0;break}default:{}}s[r>>2]=i;i=0;t=108}break}case 4022:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i|0)<1){if((i|0)!=-1e3){t=109;break e}}else if((i|0)>(s[e+112>>2]|0)){t=109;break e}s[e+120>>2]=i;i=0;t=108;break}case 4023:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+120>>2];i=0;t=108}break}case 4004:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i+-1101|0)>>>0>4)t=109;else{s[e+132>>2]=i;switch(i|0){case 1101:{s[e+20>>2]=8e3;i=0;t=108;break e}case 1102:{s[e+20>>2]=12e3;i=0;t=108;break e}default:{s[e+20>>2]=16e3;i=0;t=108;break e}}}break}case 4005:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+132>>2];i=0;t=108}break}case 4008:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i|0)>=1101){if((i|0)>1105){t=109;break e}s[e+128>>2]=i;if((i|0)==1101){s[e+20>>2]=8e3;i=0;t=108;break e}else t=i;i=e+20|0;if((t|0)==1102){s[i>>2]=12e3;i=0;t=108;break e}}else{if((i|0)!=-1e3){t=109;break e}s[e+128>>2]=-1e3;i=e+20|0}s[i>>2]=16e3;i=0;t=108;break}case 4009:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+15152>>2];i=0;t=108}break}case 4016:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(i>>>0>1)t=109;else{s[e+184>>2]=i;i=0;t=108}break}case 4017:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+184>>2];i=0;t=108}break}case 4010:{d=(s[b>>2]|0)+(4-1)&~(4-1);i=s[d>>2]|0;s[b>>2]=d+4;if(i>>>0>10)t=109;else{s[e+44>>2]=i;s[o>>2]=i;qs(p,4010,o)|0;i=0;t=108}break}case 4011:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+44>>2];i=0;t=108}break}case 4012:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(i>>>0>1)t=109;else{s[e+48>>2]=i;i=0;t=108}break}case 4013:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+48>>2];i=0;t=108}break}case 4014:{d=(s[b>>2]|0)+(4-1)&~(4-1);i=s[d>>2]|0;s[b>>2]=d+4;if(i>>>0>100)t=109;else{s[e+40>>2]=i;s[c>>2]=i;qs(p,4014,c)|0;i=0;t=108}break}case 4015:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+40>>2];i=0;t=108}break}case 4006:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(i>>>0>1)t=109;else{s[e+148>>2]=i;s[e+60>>2]=1-i;i=0;t=108}break}case 4007:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+148>>2];i=0;t=108}break}case 11018:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i+1|0)>>>0>101)t=109;else{s[e+140>>2]=i;i=0;t=108}break}case 11019:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+140>>2];i=0;t=108}break}case 4020:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(i>>>0>1)t=109;else{s[e+152>>2]=i;i=0;t=108}break}case 4021:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+152>>2];i=0;t=108}break}case 4024:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i|0)<3001)switch(i|0){case-1e3:break;default:{t=109;break e}}else switch(i|0){case 3002:case 3001:break;default:{t=109;break e}}s[e+124>>2]=i;i=0;t=108;break}case 4025:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+124>>2];i=0;t=108}break}case 4027:{p=(s[b>>2]|0)+(4-1)&~(4-1);t=s[p>>2]|0;s[b>>2]=p+4;if(t){i=(s[e+144>>2]|0)/400|0;s[t>>2]=i;if((s[e+108>>2]|0)==2051){i=0;t=108}else{s[t>>2]=i+(s[e+116>>2]|0);i=0;t=108}}else t=109;break}case 4029:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+144>>2];i=0;t=108}break}case 4031:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+19044>>2];i=0;t=108}break}case 4036:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i+-8|0)>>>0>16)t=109;else{s[e+168>>2]=i;i=0;t=108}break}case 4037:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+168>>2];i=0;t=108}break}case 4040:{d=(s[b>>2]|0)+(4-1)&~(4-1);i=s[d>>2]|0;s[b>>2]=d+4;switch(i|0){case 5010:case 5006:case 5005:case 5004:case 5003:case 5002:case 5001:case 5e3:break;default:{t=109;break e}}s[e+156>>2]=i;s[u>>2]=i;qs(p,4040,u)|0;i=0;t=108;break}case 4041:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+156>>2];i=0;t=108}break}case 4042:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(i>>>0>1)t=109;else{s[e+76>>2]=i;i=0;t=108}break}case 4043:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if(!i)t=109;else{s[i>>2]=s[e+76>>2];i=0;t=108}break}case 4028:{r=e+(s[e+4>>2]|0)|0;a=e+15104|0;kn(e+192|0,0,18856)|0;qs(p,4028,d)|0;i=s[e+180>>2]|0;kn(r|0,0,20400)|0;t=0;while(1){if((t|0)==2)break;Fi(r+(t*10156|0)|0,i)|0;t=t+1|0}s[r+20376>>2]=1;s[r+20380>>2]=1;s[a>>2]=s[e+112>>2];n[e+15108>>1]=16384;h[e+15116>>2]=1;s[e+15164>>2]=1;s[e+15136>>2]=1001;s[e+15152>>2]=1105;s[e+15112>>2]=193536;i=0;t=108;break}case 11002:{p=(s[b>>2]|0)+(4-1)&~(4-1);i=s[p>>2]|0;s[b>>2]=p+4;if((i|0)<1e3){if((i|0)!=-1e3){t=109;break e}}else if((i|0)>1002){t=109;break e}s[e+136>>2]=i;i=0;t=108;break}case 10024:{t=(s[b>>2]|0)+(4-1)&~(4-1);i=s[t>>2]|0;s[b>>2]=t+4;s[e+176>>2]=i;s[r>>2]=i;i=qs(p,10024,r)|0;t=108;break}case 10026:{t=(s[b>>2]|0)+(4-1)&~(4-1);i=s[t>>2]|0;s[b>>2]=t+4;s[e+15168>>2]=i;s[a>>2]=i;i=qs(p,10026,a)|0;t=108;break}case 10015:{e=(s[b>>2]|0)+(4-1)&~(4-1);i=s[e>>2]|0;s[b>>2]=e+4;if(!i)t=109;else{s[f>>2]=i;i=qs(p,10015,f)|0;t=108}break}default:{i=-5;t=108}}while(0);if((t|0)==108){e=i;l=m;return e|0}else if((t|0)==109){e=-1;l=m;return e|0}return 0}function Us(e){e=e|0;Hr(e);return}function js(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,o=0,f=0,h=0,c=0,u=0;u=l;l=l+16|0;h=u;if((i|0)<1){c=-4;l=u;return c|0}c=e+4|0;f=s[c>>2]|0;e:do if(f){if(((r[e>>0]^r[t>>0])&255)>=4){c=-4;l=u;return c|0}}else{r[e>>0]=r[t>>0]|0;n=r[t>>0]|0;do if(n<<24>>24>=0)if((n&96)==96){if(n&8){n=160;break}s[e+296>>2]=80;break e}else{n=(n&255)>>>3&3;if((n|0)==3){n=480;break}s[e+296>>2]=(8e3<>>0)/100|0;break e}else n=(8e3<<((n&255)>>>3&3)>>>0)/400|0;while(0);s[e+296>>2]=n}while(0);n=(a[t>>0]|0)&3;if(n)if((n|0)==3){if((i|0)<2){c=-4;l=u;return c|0}n=(a[t+1>>0]|0)&63;if(!n){c=-4;l=u;return c|0}else o=n}else o=2;else o=1;if((te(o+f|0,s[e+296>>2]|0)|0)>960){c=-4;l=u;return c|0}n=rr(t,i,0,h,e+8+(f<<2)|0,e+200+(f<<1)|0,0,0)|0;if((n|0)<1){c=n;l=u;return c|0}s[c>>2]=(s[c>>2]|0)+o;c=0;l=u;return c|0}function Fs(e,t,i,o,f){e=e|0;t=t|0;i=i|0;o=o|0;f=f|0;var h=0,c=0,l=0,u=0,d=0,p=0,b=0;if((t|0)<1){e=-1;return e|0}if((s[e+4>>2]|0)<(t|0)){e=-1;return e|0}p=e+200|0;e:do switch(t|0){case 1:{h=n[p>>1]|0;if((h|0)<(o|0)){r[i>>0]=a[e>>0]&252;c=i+1|0;h=h+1|0;d=14;break e}else{e=-2;return e|0}}case 2:{h=n[e+202>>1]|0;c=n[p>>1]|0;if(h<<16>>16==c<<16>>16){h=h<<16>>16<<1|1;if((h|0)>(o|0)){e=-2;return e|0}else{r[i>>0]=a[e>>0]&252|1;c=i+1|0;d=14;break e}}h=(c<<16>>16)+(h<<16>>16)+2+(c<<16>>16>251&1)|0;if((h|0)>(o|0)){e=-2;return e|0}u=i+1|0;r[i>>0]=a[e>>0]&252|2;c=n[p>>1]|0;l=c<<16>>16;if(c<<16>>16<252){r[u>>0]=c;c=1}else{c=l|252;r[u>>0]=c;r[i+2>>0]=(l-(c&255)|0)>>>2;c=2}c=u+c|0;d=14;break}default:{h=1;d=15}}while(0);if((d|0)==14)if((f|0)!=0&(h|0)<(o|0)){h=1;d=15}e:do if((d|0)==15){while(1){if((h|0)>=(t|0)){d=23;break}if((n[e+200+(h<<1)>>1]|0)!=(n[p>>1]|0)){d=17;break}h=h+1|0;d=15}do if((d|0)==17){h=t+-1|0;c=0;l=2;while(1){if((c|0)>=(h|0))break;p=n[e+200+(c<<1)>>1]|0;c=c+1|0;l=l+((p<<16>>16>251?2:1)+(p<<16>>16))|0}h=l+(n[e+200+(h<<1)>>1]|0)|0;if((h|0)>(o|0)){e=-2;return e|0}else{r[i>>0]=a[e>>0]|3;l=t|128;r[i+1>>0]=l;u=1;break}}else if((d|0)==23){h=(te(n[p>>1]|0,t)|0)+2|0;if((h|0)>(o|0)){e=-2;return e|0}else{r[i>>0]=a[e>>0]|3;r[i+1>>0]=t;l=t;u=0;break}}while(0);c=i+2|0;if((f|0)!=0?(b=o-h|0,(h|0)!=(o|0)):0){r[i+1>>0]=l|64;h=(b+-1|0)/255|0;l=0;while(1){if((l|0)>=(h|0))break;r[c>>0]=-1;l=l+1|0;c=c+1|0}r[c>>0]=b+(te(h,-255)|0)+255;c=c+1|0;h=o}if(u){d=t+-1|0;p=0;while(1){if((p|0)>=(d|0))break e;l=n[e+200+(p<<1)>>1]|0;u=l<<16>>16;if(l<<16>>16<252){r[c>>0]=l;l=1}else{l=u|252;r[c>>0]=l;r[c+1>>0]=(u-(l&255)|0)>>>2;l=2}p=p+1|0;c=c+l|0}}}while(0);l=0;while(1){if((l|0)>=(t|0))break;b=e+200+(l<<1)|0;Tn(c|0,s[e+8+(l<<2)>>2]|0,n[b>>1]|0)|0;l=l+1|0;c=c+(n[b>>1]|0)|0}if(!f){e=h;return e|0}l=i+o|0;while(1){if(c>>>0>=l>>>0)break;r[c>>0]=0;c=c+1|0}return h|0}function zs(e,t,i,r,a,o,f,c,u,d,p,b){e=e|0;t=t|0;i=i|0;r=r|0;a=a|0;o=o|0;f=f|0;c=c|0;u=u|0;d=d|0;p=p|0;b=b|0;var m=0,w=0,g=0,v=0,_=0,y=0,k=0,E=0,A=0,S=0,M=0,T=0,x=0,R=0,I=0,C=0,P=0,O=0,N=0,D=0,L=0,B=0,U=0,j=0,F=0,V=0,W=0,K=0,Y=0,Z=0,$=0,X=0,J=0,ee=0,te=0,ie=0,re=0,ne=0,se=0,ae=0,oe=0,fe=0,he=0,ce=0,le=0,ue=0,de=0,pe=0,be=0,me=0,we=0,ge=0,ve=0,_e=0,ye=0,ke=0,Ee=0,Ae=0,Se=0,Me=0,Te=0,xe=0,Re=0,Ie=0,Ce=0,Pe=0,Oe=0,Ne=0,De=0,Le=0,Be=0,Ue=0;Le=l;l=l+10288|0;Re=Le+9888|0;Me=Le+9816|0;Ce=Le+9744|0;Se=Le+9712|0;Te=Le+9608|0;xe=Le+9600|0;Ie=Le+5760|0;Oe=Le+1920|0;Ne=Le+960|0;Pe=Le;if(!i)u=e+8504|0;else{_e=(u*195|0)/100|0;_e=(_e|0)<(r|0)?_e:r;ye=e+6884|0;V=s[ye>>2]|0;ke=e+6864|0;Ee=e+6868|0;Ae=e+6844|0;W=t+72|0;K=e+5764|0;u=e+8504|0;Y=e+2884|0;Z=e+4804|0;$=e+3844|0;X=e+6856|0;J=(d|0)<8;ee=e+6848|0;te=e+6852|0;ie=e+5840|0;re=Te+80|0;ne=Te+84|0;se=Te+88|0;ae=Te+92|0;oe=Te+96|0;fe=xe+4|0;he=e+6888|0;ce=e+7688|0;le=e+6892|0;ue=e+7692|0;de=e+7684|0;pe=e+8484|0;be=e+8500|0;me=e+8492|0;we=e+8496|0;ge=e+8488|0;ve=e+6860|0;U=d+-8|0;F=V;V=_e-V|0;while(1){j=(V|0)>480;w=j?480:V;s[ke>>2]=(s[ke>>2]|0)+1;r=s[Ee>>2]|0;D=(r|0)>19?.05000000074505806:1/+(r+1|0);B=r+1|0;N=(r|0)>49?.019999999552965164:1/+(B|0);S=(r|0)>999;P=1/+(B|0);if((r|0)<4){h[Ae>>2]=.5;t=s[W>>2]|0;if(!r){s[K>>2]=240;d=240;r=t}else{r=t;De=7}}else{r=s[W>>2]|0;De=7}if((De|0)==7){De=0;d=s[K>>2]|0}t=720-d|0;Ys[p&1](i,e+2884+(d<<2)|0,(t|0)>(w|0)?w:t,F,o,f,c); -d=s[K>>2]|0;t=d+w|0;do if((t|0)<720)s[K>>2]=t;else{L=s[u>>2]|0;B=e+8516+(L<<5)|0;s[u>>2]=L+((L|0)>198?-199:1);t=0;while(1){if((t|0)==240)break;C=+h[828+(t<<2)>>2];h[Ie+(t<<3)>>2]=C*+h[e+2884+(t<<2)>>2];h[Ie+(t<<3)+4>>2]=C*+h[e+2884+(t+240<<2)>>2];O=480-t+-1|0;h[Ie+(O<<3)>>2]=C*+h[e+2884+(O<<2)>>2];h[Ie+(O<<3)+4>>2]=C*+h[e+2884+(720-t+-1<<2)>>2];t=t+1|0}Mn(Y|0,Z|0,960)|0;t=d+-720+w|0;Ys[p&1](i,$,t,F+720-d|0,o,f,c);s[K>>2]=t+240;m=+h[r+4>>2];t=r+44|0;d=0;while(1){if((d|0)>=(s[r>>2]|0))break;C=+h[Ie+(d<<3)+4>>2];h[Oe+(n[(s[t>>2]|0)+(d<<1)>>1]<<3)>>2]=m*+h[Ie+(d<<3)>>2];h[Oe+(n[(s[t>>2]|0)+(d<<1)>>1]<<3)+4>>2]=m*C;d=d+1|0}ui(r,Oe);C=+h[Oe>>2];if(C!=C|0!=0){s[B>>2]=0;break}else d=1;while(1){if((d|0)==240)break;E=+h[Oe+(d<<3)>>2];O=480-d|0;v=+h[Oe+(O<<3)>>2];m=E+v;_=+h[Oe+(d<<3)+4>>2];k=+h[Oe+(O<<3)+4>>2];g=_-k;k=_+k;E=v-E;v=m*m;_=g*g;do if(!(v+_<1.000000045813705e-18))if(v<_){m=-(m*g*(_+v*.43157973885536194))/((_+v*.6784840226173401)*(_+v*.0859554186463356))+(g<0?-1.5707963705062866:1.5707963705062866);break}else{m=m*g;m=m*(v+_*.43157973885536194)/((v+_*.6784840226173401)*(v+_*.0859554186463356))+(g<0?-1.5707963705062866:1.5707963705062866)-(m<0?-1.5707963705062866:1.5707963705062866);break}else m=0;while(0);v=m*.15915493667125702;r=e+4+(d<<2)|0;_=v-+h[r>>2];t=e+964+(d<<2)|0;y=_-+h[t>>2];m=k*k;g=E*E;do if(!(m+g<1.000000045813705e-18))if(m>2]=+q(+T)+ +q(+C);C=C*C;C=C*C;O=e+1924+(d<<2)|0;h[Ne+(d<<2)>>2]=1/((+h[O>>2]+x*x*2+C)*.25*62341.81640625+1)+-.014999999664723873;h[r>>2]=R;h[t>>2]=I;h[O>>2]=C;d=d+1|0}O=e+8516+(L<<5)+16|0;h[O>>2]=0;e:do if(!(s[Ee>>2]|0)){r=0;while(1){if((r|0)==18){w=0;T=0;E=0;x=0;m=0;R=0;I=0;C=0;break e}h[e+6420+(r<<2)>>2]=1e10;h[e+6492+(r<<2)>>2]=-1e10;r=r+1|0}}else{w=0;T=0;E=0;x=0;m=0;R=0;I=0;C=0}while(0);while(1){if((w|0)>=18)break;d=w+1|0;r=s[1788+(d<<2)>>2]|0;v=0;t=s[1788+(w<<2)>>2]|0;g=0;A=0;while(1){if((t|0)>=(r|0))break;Be=+h[Oe+(t<<3)>>2];M=480-t|0;k=+h[Oe+(M<<3)>>2];y=+h[Oe+(t<<3)+4>>2];_=+h[Oe+(M<<3)+4>>2];_=Be*Be+k*k+y*y+_*_;y=g+_*2*(.5-+h[Pe+(t<<2)>>2]);k=A+_*+h[Ne+(t<<2)>>2];v=v+_;t=t+1|0;g=y;A=k}if(!(v<1e9)|(v!=v|0!=0)){De=37;break}h[e+5844+((s[X>>2]|0)*72|0)+(w<<2)>>2]=v;y=v+1.0000000036274937e-15;E=E+g/y;_=v+1.000000013351432e-10;k=T+ +H(+_);_=+Q(+_);h[Ce+(w<<2)>>2]=_;r=e+6420+(w<<2)|0;v=+h[r>>2]+.009999999776482582;v=_>2]=v;t=e+6492+(w<<2)|0;g=+h[t>>2]+-.10000000149011612;g=_>g?_:g;h[t>>2]=g;if(g>2]=g;v=v+-.5;h[r>>2]=v}_=(_-v)/(g+1.0000000036274937e-15-v);g=0;v=0;r=0;while(1){if((r|0)==8)break;Be=+h[e+5844+(r*72|0)+(w<<2)>>2];g=g+ +H(+Be);v=v+Be;r=r+1|0}v=g/+H(+(v*8+1e-15));v=v>.9900000095367432?.9900000095367432:v;v=v*v;v=v*v;Be=A/y;r=e+5768+(w<<2)|0;g=v*+h[r>>2];g=Be>g?Be:g;h[Me+(w<<2)>>2]=g;m=m+g;if((w|0)>8)m=m-+h[Me+(w+-9<<2)>>2];A=(+(w+-18|0)*.029999999329447746+1)*m;h[r>>2]=g;Be=C+g*+(w+-8|0);w=d;T=k;x=x+v;R=R>A?R:A;I=I+_;C=Be}if((De|0)==37){De=0;s[B>>2]=0;break}k=J?.0005699999746866524:.0005699999746866524/+(1<>2]|0;d=S+1|0;w=s[1864+(d<<2)>>2]|0;_=0;r=t;while(1){if((r|0)>=(w|0))break;v=+h[Oe+(r<<3)>>2];P=+h[Oe+(r<<3)+4>>2];Ue=480-r|0;A=+h[Oe+(Ue<<3)>>2];Be=+h[Oe+(Ue<<3)+4>>2];_=_+(v*v+A*A+P*P+Be*Be);r=r+1|0}v=g>_?g:_;Ue=e+6564+(S<<2)|0;g=y*+h[Ue>>2];g=g>_?g:_;h[Ue>>2]=g;g=_>g?_:g;m=m*.05000000074505806;m=m>g?m:g;if(!(g>m*.1&g*1e9>v)){Ue=M;S=d;g=v;M=Ue;continue}if(!(g>k*+(w-t|0))){Ue=M;S=d;g=v;M=Ue;continue}M=S;S=d;g=v}w=s[Ee>>2]|0;S=(w|0)<3?20:M;T=+zr(T)*20;P=+h[ee>>2]+-.029999999329447746;P=P>T?P:T;h[ee>>2]=P;Be=+h[te>>2]*(1-N);h[te>>2]=T>2]*+h[Ce+(t<<2)>>2];t=t+1|0;m=Be}h[Se+(d<<2)>>2]=m;d=d+1|0}g=x/18;T=E/18;h[O>>2]=T+(1-T)*((w|0)<10?.5:I/18);N=R/9;Be=+h[ie>>2]*.800000011920929;Be=N>Be?N:Be;h[ie>>2]=Be;d=e+8516+(L<<5)+8|0;h[d>>2]=C*.015625;s[X>>2]=((s[X>>2]|0)+1|0)%8|0;s[Ee>>2]=(s[Ee>>2]|0)+1;t=e+8516+(L<<5)+4|0;h[t>>2]=Be;r=0;while(1){if((r|0)==4)break;h[Te+(r<<2)>>2]=(+h[Se+(r<<2)>>2]+ +h[e+6648+(r+24<<2)>>2])*-.12298999726772308+(+h[e+6648+(r<<2)>>2]+ +h[e+6648+(r+16<<2)>>2])*.49195000529289246+ +h[e+6648+(r+8<<2)>>2]*.6969299912452698-+h[e+6776+(r<<2)>>2]*1.4349000453948975;r=r+1|0}m=1-D;r=0;while(1){if((r|0)==4){r=0;break}Ue=e+6776+(r<<2)|0;h[Ue>>2]=m*+h[Ue>>2]+D*+h[Se+(r<<2)>>2];r=r+1|0}while(1){if((r|0)==4){r=0;break}h[Te+(r+4<<2)>>2]=(+h[Se+(r<<2)>>2]-+h[e+6648+(r+24<<2)>>2])*.6324599981307983+(+h[e+6648+(r<<2)>>2]-+h[e+6648+(r+16<<2)>>2])*.31622999906539917;r=r+1|0}while(1){if((r|0)==3)break;Ue=r+8|0;h[Te+(Ue<<2)>>2]=(+h[Se+(r<<2)>>2]+ +h[e+6648+(r+24<<2)>>2])*.5345199704170227-(+h[e+6648+(r<<2)>>2]+ +h[e+6648+(r+16<<2)>>2])*.26725998520851135-+h[e+6648+(Ue<<2)>>2]*.5345199704170227;r=r+1|0}e:do if((s[Ee>>2]|0)>5){r=0;while(1){if((r|0)==9){r=0;break e}Ue=e+6808+(r<<2)|0;Be=+h[Te+(r<<2)>>2];h[Ue>>2]=m*+h[Ue>>2]+D*Be*Be;r=r+1|0}}else r=0;while(0);while(1){if((r|0)==8){r=0;break}Ue=e+6648+(r+16<<2)|0;s[e+6648+(r+24<<2)>>2]=s[Ue>>2];M=e+6648+(r+8<<2)|0;s[Ue>>2]=s[M>>2];Ue=e+6648+(r<<2)|0;s[M>>2]=s[Ue>>2];s[Ue>>2]=s[Se+(r<<2)>>2];r=r+1|0}while(1){if((r|0)==9)break;Be=+H(+ +h[e+6808+(r<<2)>>2]);h[Te+(r+11<<2)>>2]=Be-+h[2464+(r<<2)>>2];r=r+1|0}h[re>>2]=+h[t>>2]+-.154723;h[ne>>2]=+h[O>>2]+-.724643;h[se>>2]=g+-.743717;h[ae>>2]=+h[d>>2]+.069216;h[oe>>2]=+h[te>>2]+-.06793;r=3304;w=0;while(1){if((w|0)==16){r=4968;w=0;break}t=r;d=0;m=+h[r>>2];while(1){t=t+4|0;if((d|0)==25)break;Be=m+ +h[Te+(d<<2)>>2]*+h[t>>2];d=d+1|0;m=Be}r=r+104|0;if(m<8)if(m>-8)if(m!=m|0!=0)m=0;else{Ue=m<0;m=Ue?-m:m;O=~~+z(+(m*25+.5));m=m-+(O|0)*.03999999910593033;Be=+h[2500+(O<<2)>>2];m=(Ue?-1:1)*(Be+m*(1-Be*Be)*(1-Be*m))}else m=-1;else m=1;h[Re+(w<<2)>>2]=m;w=w+1|0}while(1){if((w|0)==2)break;t=r;d=0;m=+h[r>>2];while(1){t=t+4|0;if((d|0)==16)break;Be=m+ +h[Re+(d<<2)>>2]*+h[t>>2];d=d+1|0;m=Be}r=r+68|0;if(m<8)if(m>-8)if(m!=m|0!=0)m=0;else{Ue=m<0;m=Ue?-m:m;O=~~+z(+(m*25+.5));m=m-+(O|0)*.03999999910593033;Be=+h[2500+(O<<2)>>2];m=(Ue?-1:1)*(Be+m*(1-Be*Be)*(1-Be*m))}else m=-1;else m=1;h[xe+(w<<2)>>2]=m;w=w+1|0}A=(+h[xe>>2]+1)*.5;E=+h[fe>>2]*.5+.5;E=E*E;h[fe>>2]=E;A=E*A+(1-E)*.5;h[xe>>2]=A;h[e+8516+(L<<5)+28>>2]=E;_=E*4999999873689376e-20;Ue=A>.949999988079071;O=A<.05000000074505806&(Ue^1);k=O|Ue?O?.05000000074505806:.949999988079071:A;D=+h[Ae>>2];O=D>.949999988079071;Ue=D<.05000000074505806&(O^1);y=Ue|O?Ue?.05000000074505806:.949999988079071:D;N=1-D;g=1-_;k=+q(+(k-y))*.05000000074505806/(k*(1-y)+y*(1-k))+.009999999776482582;y=+G(+(1-A),+k);k=+G(+A,+k);Be=(D*g+N*_)*k;Be=Be/((N*g+D*_)*y+Be);h[Ae>>2]=Be;h[e+8516+(L<<5)+20>>2]=Be;if((s[Ee>>2]|0)==1){h[he>>2]=.5;h[ce>>2]=.5;m=.5}else m=+h[he>>2];m=m+ +h[le>>2];v=+h[ce>>2]+ +h[ue>>2];h[he>>2]=m*g*y;h[ce>>2]=v*g*k;r=1;while(1){if((r|0)==199)break;Ue=r+1|0;h[e+6888+(r<<2)>>2]=+h[e+6888+(Ue<<2)>>2]*y;h[e+7688+(r<<2)>>2]=+h[e+7688+(Ue<<2)>>2]*k;r=Ue}h[de>>2]=v*_*y;h[pe>>2]=m*_*k;r=0;m=9.999999682655225e-21;while(1){if((r|0)==200)break;Be=m+(+h[e+6888+(r<<2)>>2]+ +h[e+7688+(r<<2)>>2]);r=r+1|0;m=Be}m=1/m;r=0;while(1){if((r|0)==200)break;Ue=e+6888+(r<<2)|0;h[Ue>>2]=+h[Ue>>2]*m;Ue=e+7688+(r<<2)|0;h[Ue>>2]=+h[Ue>>2]*m;r=r+1|0}if(E>.75){m=+h[Ae>>2];if(m>.9){Ue=(s[be>>2]|0)+1|0;s[be>>2]=(Ue|0)<500?Ue:500;D=+h[me>>2];Be=A-D;h[me>>2]=D+1/+(Ue|0)*(Be<-.20000000298023224?-.20000000298023224:Be)}if(m<.1){Ue=(s[we>>2]|0)+1|0;s[we>>2]=(Ue|0)<500?Ue:500;D=+h[ge>>2];Be=A-D;h[ge>>2]=D+1/+(Ue|0)*(Be>.20000000298023224?.20000000298023224:Be)}}else{if(!(s[be>>2]|0))h[me>>2]=.8999999761581421;if(!(s[we>>2]|0))h[ge>>2]=.10000000149011612}r=+h[Ae>>2]>.5&1;if((s[ve>>2]|0)!=(r|0))s[ke>>2]=0;s[ve>>2]=r;s[e+8516+(L<<5)+24>>2]=S;h[e+8516+(L<<5)+12>>2]=T;s[B>>2]=1}while(0);if(j){F=F+480|0;V=V+-480|0}else break}s[ye>>2]=_e-a}s[b>>2]=0;w=e+8508|0;r=s[w>>2]|0;t=s[u>>2]|0;d=t-r|0;d=(d|0)<0?d+200|0:d;if((a|0)<481|(t|0)==(r|0))u=r;else{u=r+1|0;u=(u|0)==200?0:u}r=(u|0)==(t|0)?t+-1|0:u;r=e+8516+(((r|0)<0?199:r)<<5)|0;s[b>>2]=s[r>>2];s[b+4>>2]=s[r+4>>2];s[b+8>>2]=s[r+8>>2];s[b+12>>2]=s[r+12>>2];s[b+16>>2]=s[r+16>>2];s[b+20>>2]=s[r+20>>2];s[b+24>>2]=s[r+24>>2];s[b+28>>2]=s[r+28>>2];r=e+8512|0;u=(s[r>>2]|0)+((a|0)/120|0)|0;s[r>>2]=u;while(1){if((u|0)<=3)break;Ue=u+-4|0;s[r>>2]=Ue;s[w>>2]=(s[w>>2]|0)+1;u=Ue}u=s[w>>2]|0;if((u|0)>199)s[w>>2]=u+-200;u=(d|0)>10?210-d|0:200;r=0;m=0;while(1){if((r|0)>=(u|0))break;Be=m+ +h[e+7688+(r<<2)>>2];r=r+1|0;m=Be}while(1){if((r|0)>=200)break;Be=m+ +h[e+6888+(r<<2)>>2];r=r+1|0;m=Be}h[b+20>>2]=m*+h[e+8492>>2]+(1-m)*+h[e+8488>>2];l=Le;return}function qs(e,t,i){e=e|0;t=t|0;i=i|0;var r=0,n=0,a=0,o=0,f=0,c=0;f=l;l=l+16|0;r=f;s[r>>2]=i;do switch(t|0){case 4010:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;if(t>>>0>10)t=40;else{s[e+24>>2]=t;t=39}break}case 10010:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;if((t|0)>=0?(t|0)<(s[(s[e>>2]|0)+8>>2]|0):0){s[e+32>>2]=t;t=39}else t=40;break}case 10012:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;if((t|0)>=1?(t|0)<=(s[(s[e>>2]|0)+8>>2]|0):0){s[e+36>>2]=t;t=39}else t=40;break}case 10002:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;if(t>>>0>2)t=40;else{s[e+20>>2]=(t|0)<2&1;s[e+12>>2]=(t|0)==0&1;t=39}break}case 4014:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;if(t>>>0>100)t=40;else{s[e+56>>2]=t;t=39}break}case 4020:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;s[e+52>>2]=t;t=39;break}case 4006:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;s[e+44>>2]=t;t=39;break}case 4002:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;if((t|0)>500|(t|0)==-1){o=(s[e+4>>2]|0)*26e4|0;s[e+40>>2]=(t|0)<(o|0)?t:o;t=39}else t=40;break}case 10008:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;if((t+-1|0)>>>0>1)t=40;else{s[e+8>>2]=t;t=39}break}case 4036:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;if((t+-8|0)>>>0>16)t=40;else{s[e+60>>2]=t;t=39}break}case 4037:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;s[t>>2]=s[e+60>>2];t=39;break}case 4040:{o=(s[r>>2]|0)+(4-1)&~(4-1);t=s[o>>2]|0;s[r>>2]=o+4;s[e+64>>2]=t;t=39;break}case 4028:{t=e+4|0;a=s[t>>2]|0;n=s[e>>2]|0;c=s[n+4>>2]|0;i=e+212+((te(a,c+1024|0)|0)<<2)|0;o=s[n+8>>2]|0;r=te(a,o)|0;i=i+(r<<2)|0;r=i+(r<<2)|0;kn(e+76|0,0,((te(c,a)|0)<<2)+212+(a<<12)+((te(a<<2,o)|0)<<2)+-76|0)|0;o=0;while(1){if((o|0)>=(te(a,s[n+8>>2]|0)|0))break;h[r+(o<<2)>>2]=-28;h[i+(o<<2)>>2]=-28;n=s[e>>2]|0;a=s[t>>2]|0;o=o+1|0}s[e+184>>2]=0;h[e+84>>2]=1;s[e+80>>2]=2;s[e+88>>2]=256;s[e+96>>2]=0;s[e+100>>2]=0;t=39;break}case 10016:{c=(s[r>>2]|0)+(4-1)&~(4-1);t=s[c>>2]|0;s[r>>2]=c+4;s[e+48>>2]=t;t=39;break}case 10022:{c=(s[r>>2]|0)+(4-1)&~(4-1);t=s[c>>2]|0;s[r>>2]=c+4;if(!t)t=39;else{c=e+120|0;s[c>>2]=s[t>>2];s[c+4>>2]=s[t+4>>2];s[c+8>>2]=s[t+8>>2];s[c+12>>2]=s[t+12>>2];s[c+16>>2]=s[t+16>>2];s[c+20>>2]=s[t+20>>2];s[c+24>>2]=s[t+24>>2];s[c+28>>2]=s[t+28>>2];t=39}break}case 10028:{c=(s[r>>2]|0)+(4-1)&~(4-1);t=s[c>>2]|0;s[r>>2]=c+4;if(!t)t=39;else{o=t;c=s[o+4>>2]|0;t=e+152|0;s[t>>2]=s[o>>2];s[t+4>>2]=c;t=39}break}case 10015:{c=(s[r>>2]|0)+(4-1)&~(4-1);t=s[c>>2]|0;s[r>>2]=c+4;if(!t)t=40;else{s[t>>2]=s[e>>2];t=39}break}case 4031:{c=(s[r>>2]|0)+(4-1)&~(4-1);t=s[c>>2]|0;s[r>>2]=c+4;if(!t)t=40;else{s[t>>2]=s[e+76>>2];t=39}break}case 10024:{c=(s[r>>2]|0)+(4-1)&~(4-1);t=s[c>>2]|0;s[r>>2]=c+4;s[e+68>>2]=t;t=39;break}case 10026:{c=(s[r>>2]|0)+(4-1)&~(4-1);t=s[c>>2]|0;s[r>>2]=c+4;s[e+204>>2]=t;t=39;break}default:{c=-5;l=f;return c|0}}while(0);if((t|0)==39){c=0;l=f;return c|0}else if((t|0)==40){c=-1;l=f;return c|0}return 0}var Hs=[Zn,Yr,hn,ln,vs,Zn,Zn,Zn];var Gs=[$n,rn,Jr,bn];var Vs=[Xn,Gr,en,Wr,Kr,Vr,sn,an,fn,cn,un,gs,Xn,Xn,Xn,Xn];var Ws=[Jn,ys];var Ks=[Qn,on,ws,Qn];var Ys=[es,Ps];var Zs=[ts];var $s=[is,_s,ms,is];var Xs=[rs,tn,$r,dn];var Js=[ns,bs,ks,ns];var Qs=[ss,nn,Qr,wn];return{___cxa_can_catch:vn,_free:Hr,_opus_strerror:Ss,_opus_decoder_create:Ms,___cxa_is_pointer_type:_n,_i64Add:En,_memmove:Tn,_bitshift64Ashr:An,_opus_encoder_destroy:Us,_memset:kn,_malloc:qr,_opus_decoder_destroy:Is,_opus_encoder_create:Cs,_memcpy:Mn,___getTypeName:Fr,_bitshift64Lshr:Sn,_opus_decoder_ctl:Rs,_opus_encoder_ctl:Bs,__GLOBAL__sub_I_opusscript_encoder_cpp:Es,__GLOBAL__sub_I_bind_cpp:jr,runPostSets:yn,stackAlloc:as,stackSave:os,stackRestore:fs,establishStackSpace:hs,setThrew:cs,setTempRet0:ds,getTempRet0:ps,dynCall_iiii:Un,dynCall_viiiii:jn,dynCall_vi:Fn,dynCall_iiiiiii:zn,dynCall_ii:qn,dynCall_viiiiiii:Hn,dynCall_v:Gn,dynCall_iiiii:Vn,dynCall_viiiiii:Wn,dynCall_iiiiii:Kn,dynCall_viiii:Yn}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),runPostSets=Module.runPostSets=asm.runPostSets,___cxa_can_catch=Module.___cxa_can_catch=asm.___cxa_can_catch,__GLOBAL__sub_I_bind_cpp=Module.__GLOBAL__sub_I_bind_cpp=asm.__GLOBAL__sub_I_bind_cpp,_free=Module._free=asm._free,_opus_strerror=Module._opus_strerror=asm._opus_strerror,_opus_decoder_create=Module._opus_decoder_create=asm._opus_decoder_create,___cxa_is_pointer_type=Module.___cxa_is_pointer_type=asm.___cxa_is_pointer_type,_i64Add=Module._i64Add=asm._i64Add,_memmove=Module._memmove=asm._memmove,_bitshift64Ashr=Module._bitshift64Ashr=asm._bitshift64Ashr,_opus_encoder_destroy=Module._opus_encoder_destroy=asm._opus_encoder_destroy,_memset=Module._memset=asm._memset,_malloc=Module._malloc=asm._malloc,_opus_decoder_destroy=Module._opus_decoder_destroy=asm._opus_decoder_destroy,_opus_encoder_create=Module._opus_encoder_create=asm._opus_encoder_create,_memcpy=Module._memcpy=asm._memcpy,___getTypeName=Module.___getTypeName=asm.___getTypeName,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_opus_encoder_ctl=Module._opus_encoder_ctl=asm._opus_encoder_ctl,_opus_decoder_ctl=Module._opus_decoder_ctl=asm._opus_decoder_ctl,__GLOBAL__sub_I_opusscript_encoder_cpp=Module.__GLOBAL__sub_I_opusscript_encoder_cpp=asm.__GLOBAL__sub_I_opusscript_encoder_cpp,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viiiiiii=Module.dynCall_viiiiiii=asm.dynCall_viiiiiii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){function t(){for(var e=0;e<3;e++)r.push(0)}e=e||[],ensureInitRuntime();var i=e.length+1,r=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];t();for(var n=0;n0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()}).call(exports,__webpack_require__(8),"node_modules/opusscript/build")},function(e,t,i){"use strict";(function(t){function r(e,t,i){if(!~o.indexOf(e))throw new RangeError(`${e} is an invalid sampling rate.`);this.samplingRate=e,this.channels=t||1,this.application=i||s.AUDIO,this.handler=new n.OpusScriptHandler(this.samplingRate,this.channels,this.application),this.inPCMLength=f*this.channels*2,this.inPCMPointer=n._malloc(this.inPCMLength),this.inPCM=n.HEAPU16.subarray(this.inPCMPointer,this.inPCMPointer+this.inPCMLength),this.inOpusPointer=n._malloc(h),this.inOpus=n.HEAPU8.subarray(this.inOpusPointer,this.inOpusPointer+h),this.outOpusPointer=n._malloc(h),this.outOpus=n.HEAPU8.subarray(this.outOpusPointer,this.outOpusPointer+h),this.outPCMLength=f*this.channels*2,this.outPCMPointer=n._malloc(this.outPCMLength),this.outPCM=n.HEAPU16.subarray(this.outPCMPointer,this.outPCMPointer+this.outPCMLength)}var n=i(205),s={VOIP:2048,AUDIO:2049,RESTRICTED_LOWDELAY:2051},a={0:"OK","-1":"Bad argument","-2":"Buffer too small","-3":"Internal error","-4":"Invalid packet","-5":"Unimplemented","-6":"Invalid state","-7":"Memory allocation fail"},o=[8e3,12e3,16e3,24e3,48e3],f=2880,h=3828,c=4002;r.prototype.setBitrate=function(e){this.bitrate=e||64e3,n.setValue(this.bitratePointer,this.bitrate,"i32");var t=n._opus_encoder_ctl(this.handler,c,this.bitratePointer);if(t<0)throw new Error("Failed to set bitrate: "+a[""+n.getValue(t,"i32")])},r.prototype.encode=function(e,i){this.inPCM.set(e);var r=this.handler._encode(this.inPCM.byteOffset,e.length,this.outOpusPointer,i);if(r<0)throw new Error("Encode error: "+a[""+r]);return new t(this.outOpus.subarray(0,r))},r.prototype.decode=function(e){this.inOpus.set(e);var i=this.handler._decode(this.inOpusPointer,e.length,this.outPCM.byteOffset);if(i<0)throw new Error("Decode error: "+a[""+i]);return new t(this.outPCM.subarray(0,i*this.channels*2))},r.Application=s,r.Error=a,r.VALID_SAMPLING_RATES=o,r.MAX_PACKET_SIZE=h,e.exports=r}).call(t,i(0).Buffer)},function(e,t){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(e,t,i){"use strict";function r(e,t){return e.msg=N[t],t}function n(e){return(e<<1)-(e>4?9:0)}function s(e){for(var t=e.length;--t>=0;)e[t]=0}function a(e){var t=e.state,i=t.pending;i>e.avail_out&&(i=e.avail_out),0!==i&&(I.arraySet(e.output,t.pending_buf,t.pending_out,i,e.next_out),e.next_out+=i,t.pending_out+=i,e.total_out+=i,e.avail_out-=i,t.pending-=i,0===t.pending&&(t.pending_out=0))}function o(e,t){C._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,a(e.strm)}function f(e,t){e.pending_buf[e.pending++]=t}function h(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function c(e,t,i,r){var n=e.avail_in;return n>r&&(n=r),0===n?0:(e.avail_in-=n,I.arraySet(t,e.input,e.next_in,n,i),1===e.state.wrap?e.adler=P(e.adler,t,n,i):2===e.state.wrap&&(e.adler=O(e.adler,t,n,i)),e.next_in+=n,e.total_in+=n,n)}function l(e,t){var i,r,n=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,f=e.strstart>e.w_size-le?e.strstart-(e.w_size-le):0,h=e.window,c=e.w_mask,l=e.prev,u=e.strstart+ce,d=h[s+a-1],p=h[s+a];e.prev_length>=e.good_match&&(n>>=2),o>e.lookahead&&(o=e.lookahead);do if(i=t,h[i+a]===p&&h[i+a-1]===d&&h[i]===h[s]&&h[++i]===h[s+1]){s+=2,i++;do;while(h[++s]===h[++i]&&h[++s]===h[++i]&&h[++s]===h[++i]&&h[++s]===h[++i]&&h[++s]===h[++i]&&h[++s]===h[++i]&&h[++s]===h[++i]&&h[++s]===h[++i]&&sa){if(e.match_start=t,a=r,r>=o)break;d=h[s+a-1],p=h[s+a]}}while((t=l[t&c])>f&&0!==--n);return a<=e.lookahead?a:e.lookahead}function u(e){var t,i,r,n,s,a=e.w_size;do{if(n=e.window_size-e.lookahead-e.strstart,e.strstart>=a+(a-le)){I.arraySet(e.window,e.window,a,a,0),e.match_start-=a,e.strstart-=a,e.block_start-=a,i=e.hash_size,t=i;do r=e.head[--t],e.head[t]=r>=a?r-a:0;while(--i);i=a,t=i;do r=e.prev[--t],e.prev[t]=r>=a?r-a:0;while(--i);n+=a}if(0===e.strm.avail_in)break;if(i=c(e.strm,e.window,e.strstart+e.lookahead,n),e.lookahead+=i,e.lookahead+e.insert>=he)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<e.pending_buf_size-5&&(i=e.pending_buf_size-5);;){if(e.lookahead<=1){if(u(e),0===e.lookahead&&t===D)return _e;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+i;if((0===e.strstart||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,o(e,!1),0===e.strm.avail_out))return _e;if(e.strstart-e.block_start>=e.w_size-le&&(o(e,!1),0===e.strm.avail_out))return _e}return e.insert=0,t===U?(o(e,!0),0===e.strm.avail_out?ke:Ee):e.strstart>e.block_start&&(o(e,!1),0===e.strm.avail_out)?_e:_e}function p(e,t){for(var i,r;;){if(e.lookahead=he&&(e.ins_h=(e.ins_h<=he)if(r=C._tr_tally(e,e.strstart-e.match_start,e.match_length-he),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=he){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<=he&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=he-1)),e.prev_length>=he&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-he,r=C._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-he),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=n&&(e.ins_h=(e.ins_h<=he&&e.strstart>0&&(n=e.strstart-1,r=a[n],r===a[++n]&&r===a[++n]&&r===a[++n])){s=e.strstart+ce;do;while(r===a[++n]&&r===a[++n]&&r===a[++n]&&r===a[++n]&&r===a[++n]&&r===a[++n]&&r===a[++n]&&r===a[++n]&&ne.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=he?(i=C._tr_tally(e,1,e.match_length-he),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(i=C._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),i&&(o(e,!1),0===e.strm.avail_out))return _e}return e.insert=0,t===U?(o(e,!0),0===e.strm.avail_out?ke:Ee):e.last_lit&&(o(e,!1),0===e.strm.avail_out)?_e:ye}function w(e,t){for(var i;;){if(0===e.lookahead&&(u(e),0===e.lookahead)){if(t===D)return _e;break}if(e.match_length=0,i=C._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,i&&(o(e,!1),0===e.strm.avail_out))return _e}return e.insert=0,t===U?(o(e,!0),0===e.strm.avail_out?ke:Ee):e.last_lit&&(o(e,!1),0===e.strm.avail_out)?_e:ye}function g(e,t,i,r,n){this.good_length=e,this.max_lazy=t,this.nice_length=i,this.max_chain=r,this.func=n}function v(e){e.window_size=2*e.w_size,s(e.head),e.max_lazy_match=R[e.level].max_lazy,e.good_match=R[e.level].good_length,e.nice_match=R[e.level].nice_length,e.max_chain_length=R[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=he-1,e.match_available=0,e.ins_h=0}function _(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=J,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new I.Buf16(2*oe),this.dyn_dtree=new I.Buf16(2*(2*se+1)),this.bl_tree=new I.Buf16(2*(2*ae+1)),s(this.dyn_ltree),s(this.dyn_dtree),s(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new I.Buf16(fe+1),this.heap=new I.Buf16(2*ne+1),s(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new I.Buf16(2*ne+1),s(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function y(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=X,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?de:ge,e.adler=2===t.wrap?0:1,t.last_flush=D,C._tr_init(t),F):r(e,q)}function k(e){var t=y(e);return t===F&&v(e.state),t}function E(e,t){return e&&e.state?2!==e.state.wrap?q:(e.state.gzhead=t,F):q}function A(e,t,i,n,s,a){if(!e)return q;var o=1;if(t===V&&(t=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),s<1||s>Q||i!==J||n<8||n>15||t<0||t>9||a<0||a>Z)return r(e,q);8===n&&(n=9);var f=new _;return e.state=f,f.strm=e,f.wrap=o,f.gzhead=null,f.w_bits=n,f.w_size=1<j||t<0)return e?r(e,q):q;if(o=e.state,!e.output||!e.input&&0!==e.avail_in||o.status===ve&&t!==U)return r(e,0===e.avail_out?G:q);if(o.strm=e,i=o.last_flush,o.last_flush=t,o.status===de)if(2===o.wrap)e.adler=0,f(o,31),f(o,139),f(o,8),o.gzhead?(f(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),f(o,255&o.gzhead.time),f(o,o.gzhead.time>>8&255),f(o,o.gzhead.time>>16&255),f(o,o.gzhead.time>>24&255),f(o,9===o.level?2:o.strategy>=K||o.level<2?4:0),f(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(f(o,255&o.gzhead.extra.length),f(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(e.adler=O(e.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=pe):(f(o,0),f(o,0),f(o,0),f(o,0),f(o,0),f(o,9===o.level?2:o.strategy>=K||o.level<2?4:0),f(o,Ae),o.status=ge);else{var u=J+(o.w_bits-8<<4)<<8,d=-1;d=o.strategy>=K||o.level<2?0:o.level<6?1:6===o.level?2:3,u|=d<<6,0!==o.strstart&&(u|=ue),u+=31-u%31,o.status=ge,h(o,u),0!==o.strstart&&(h(o,e.adler>>>16),h(o,65535&e.adler)),e.adler=1}if(o.status===pe)if(o.gzhead.extra){for(c=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>c&&(e.adler=O(e.adler,o.pending_buf,o.pending-c,c)),a(e),c=o.pending,o.pending!==o.pending_buf_size));)f(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>c&&(e.adler=O(e.adler,o.pending_buf,o.pending-c,c)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=be)}else o.status=be;if(o.status===be)if(o.gzhead.name){c=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>c&&(e.adler=O(e.adler,o.pending_buf,o.pending-c,c)),a(e),c=o.pending,o.pending===o.pending_buf_size)){l=1;break}l=o.gzindexc&&(e.adler=O(e.adler,o.pending_buf,o.pending-c,c)),0===l&&(o.gzindex=0,o.status=me)}else o.status=me;if(o.status===me)if(o.gzhead.comment){c=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>c&&(e.adler=O(e.adler,o.pending_buf,o.pending-c,c)),a(e),c=o.pending,o.pending===o.pending_buf_size)){l=1;break}l=o.gzindexc&&(e.adler=O(e.adler,o.pending_buf,o.pending-c,c)),0===l&&(o.status=we)}else o.status=we;if(o.status===we&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&a(e),o.pending+2<=o.pending_buf_size&&(f(o,255&e.adler),f(o,e.adler>>8&255),e.adler=0,o.status=ge)):o.status=ge),0!==o.pending){if(a(e),0===e.avail_out)return o.last_flush=-1,F}else if(0===e.avail_in&&n(t)<=n(i)&&t!==U)return r(e,G);if(o.status===ve&&0!==e.avail_in)return r(e,G);if(0!==e.avail_in||0!==o.lookahead||t!==D&&o.status!==ve){var p=o.strategy===K?w(o,t):o.strategy===Y?m(o,t):R[o.level].func(o,t);if(p!==ke&&p!==Ee||(o.status=ve),p===_e||p===ke)return 0===e.avail_out&&(o.last_flush=-1),F;if(p===ye&&(t===L?C._tr_align(o):t!==j&&(C._tr_stored_block(o,0,0,!1),t===B&&(s(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),a(e),0===e.avail_out))return o.last_flush=-1,F}return t!==U?F:o.wrap<=0?z:(2===o.wrap?(f(o,255&e.adler),f(o,e.adler>>8&255),f(o,e.adler>>16&255),f(o,e.adler>>24&255),f(o,255&e.total_in),f(o,e.total_in>>8&255),f(o,e.total_in>>16&255),f(o,e.total_in>>24&255)):(h(o,e.adler>>>16),h(o,65535&e.adler)),a(e),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?F:z)}function T(e){var t;return e&&e.state?(t=e.state.status,t!==de&&t!==pe&&t!==be&&t!==me&&t!==we&&t!==ge&&t!==ve?r(e,q):(e.state=null,t===ge?r(e,H):F)):q}function x(e,t){var i,r,n,a,o,f,h,c,l=t.length;if(!e||!e.state)return q;if(i=e.state,a=i.wrap,2===a||1===a&&i.status!==de||i.lookahead)return q;for(1===a&&(e.adler=P(e.adler,t,l,0)),i.wrap=0,l>=i.w_size&&(0===a&&(s(i.head),i.strstart=0,i.block_start=0,i.insert=0),c=new I.Buf8(i.w_size),I.arraySet(c,t,l-i.w_size,i.w_size,0),t=c,l=i.w_size),o=e.avail_in,f=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,u(i);i.lookahead>=he;){r=i.strstart,n=i.lookahead-(he-1);do i.ins_h=(i.ins_h<>>24,b>>>=k,m-=k,k=y>>>16&255,0===k)x[o++]=65535&y;else{if(!(16&k)){if(0===(64&k)){y=w[(65535&y)+(b&(1<>>=k,m-=k),m<15&&(b+=T[s++]<>>24,b>>>=k,m-=k,k=y>>>16&255,!(16&k)){if(0===(64&k)){y=g[(65535&y)+(b&(1<c){e.msg="invalid distance too far back",n.mode=i;break e}if(b>>>=k,m-=k,k=o-f,A>k){if(k=A-k,k>u&&n.sane){e.msg="invalid distance too far back",n.mode=i;break e}if(S=0,M=p,0===d){if(S+=l-k,k2;)x[o++]=M[S++],x[o++]=M[S++],x[o++]=M[S++],E-=3;E&&(x[o++]=M[S++],E>1&&(x[o++]=M[S++]))}else{S=o-A;do x[o++]=x[S++],x[o++]=x[S++],x[o++]=x[S++],E-=3;while(E>2);E&&(x[o++]=x[S++],E>1&&(x[o++]=x[S++]))}break}}break}}while(s>3,s-=E,m-=E<<3,b&=(1<>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new g.Buf16(320),this.work=new g.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function s(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=B,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new g.Buf32(be),t.distcode=t.distdyn=new g.Buf32(me),t.sane=1,t.back=-1,R):P}function a(e){var t;return e&&e.state?(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,s(e)):P}function o(e,t){var i,r;return e&&e.state?(r=e.state,t<0?(i=0,t=-t):(i=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15)?P:(null!==r.window&&r.wbits!==t&&(r.window=null),r.wrap=i,r.wbits=t,a(e))):P}function f(e,t){var i,r;return e?(r=new n,e.state=r,r.window=null,i=o(e,t),i!==R&&(e.state=null),i):P}function h(e){return f(e,ge)}function c(e){if(ve){var t;for(m=new g.Buf32(512),w=new g.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(k(A,e.lens,0,288,m,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;k(S,e.lens,0,32,w,0,e.work,{bits:5}),ve=!1}e.lencode=m,e.lenbits=9,e.distcode=w,e.distbits=5}function l(e,t,i,r){var n,s=e.state;return null===s.window&&(s.wsize=1<=s.wsize?(g.arraySet(s.window,t,i-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n=s.wsize-s.wnext,n>r&&(n=r),g.arraySet(s.window,t,i-r,n,s.wnext),r-=n,r?(g.arraySet(s.window,t,i-r,r,0),s.wnext=r,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,i.check=_(i.check,Te,2,0),u=0,d=0,i.mode=U;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",i.mode=ue;break}if((15&u)!==L){e.msg="unknown compression method",i.mode=ue;break}if(u>>>=4,d-=4,ke=(15&u)+8,0===i.wbits)i.wbits=ke;else if(ke>i.wbits){e.msg="invalid window size",i.mode=ue;break}i.dmax=1<>8&1),512&i.flags&&(Te[0]=255&u,Te[1]=u>>>8&255,i.check=_(i.check,Te,2,0)),u=0,d=0,i.mode=j;case j:for(;d<32;){if(0===f)break e;f--,u+=n[a++]<>>8&255,Te[2]=u>>>16&255,Te[3]=u>>>24&255,i.check=_(i.check,Te,4,0)),u=0,d=0,i.mode=F;case F:for(;d<16;){if(0===f)break e;f--,u+=n[a++]<>8),512&i.flags&&(Te[0]=255&u,Te[1]=u>>>8&255,i.check=_(i.check,Te,2,0)),u=0,d=0,i.mode=z;case z:if(1024&i.flags){for(;d<16;){if(0===f)break e;f--,u+=n[a++]<>>8&255,i.check=_(i.check,Te,2,0)),u=0,d=0}else i.head&&(i.head.extra=null);i.mode=q;case q:if(1024&i.flags&&(m=i.length,m>f&&(m=f),m&&(i.head&&(ke=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Array(i.head.extra_len)),g.arraySet(i.head.extra,n,a,m,ke)),512&i.flags&&(i.check=_(i.check,n,m,a)),f-=m,a+=m,i.length-=m),i.length))break e;i.length=0,i.mode=H;case H:if(2048&i.flags){if(0===f)break e;m=0;do ke=n[a+m++],i.head&&ke&&i.length<65536&&(i.head.name+=String.fromCharCode(ke));while(ke&&m>9&1,i.head.done=!0),e.adler=i.check=0,i.mode=Y;break;case W:for(;d<32;){if(0===f)break e;f--,u+=n[a++]<>>=7&d,d-=7&d,i.mode=he;break}for(;d<3;){if(0===f)break e;f--,u+=n[a++]<>>=1,d-=1,3&u){case 0:i.mode=$;break;case 1:if(c(i),i.mode=ie,t===x){u>>>=2,d-=2;break e}break;case 2:i.mode=Q;break;case 3:e.msg="invalid block type",i.mode=ue}u>>>=2,d-=2;break;case $:for(u>>>=7&d,d-=7&d;d<32;){if(0===f)break e;f--,u+=n[a++]<>>16^65535)){e.msg="invalid stored block lengths",i.mode=ue;break}if(i.length=65535&u,u=0,d=0,i.mode=X,t===x)break e;case X:i.mode=J;case J:if(m=i.length){if(m>f&&(m=f),m>h&&(m=h),0===m)break e;g.arraySet(s,n,a,m,o),f-=m,a+=m,h-=m,o+=m,i.length-=m;break}i.mode=Y;break;case Q:for(;d<14;){if(0===f)break e;f--,u+=n[a++]<>>=5,d-=5,i.ndist=(31&u)+1,u>>>=5,d-=5,i.ncode=(15&u)+4,u>>>=4,d-=4,i.nlen>286||i.ndist>30){e.msg="too many length or distance symbols",i.mode=ue;break}i.have=0,i.mode=ee;case ee:for(;i.have>>=3,d-=3}for(;i.have<19;)i.lens[xe[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,Ae={bits:i.lenbits},Ee=k(E,i.lens,0,19,i.lencode,0,i.work,Ae),i.lenbits=Ae.bits,Ee){e.msg="invalid code lengths set",i.mode=ue;break}i.have=0,i.mode=te;case te:for(;i.have>>24,we=Me>>>16&255,ge=65535&Me,!(me<=d);){if(0===f)break e;f--,u+=n[a++]<>>=me,d-=me,i.lens[i.have++]=ge;else{if(16===ge){for(Se=me+2;d>>=me,d-=me,0===i.have){e.msg="invalid bit length repeat",i.mode=ue;break}ke=i.lens[i.have-1],m=3+(3&u),u>>>=2,d-=2}else if(17===ge){for(Se=me+3;d>>=me,d-=me,ke=0,m=3+(7&u),u>>>=3,d-=3}else{for(Se=me+7;d>>=me,d-=me,ke=0,m=11+(127&u),u>>>=7,d-=7}if(i.have+m>i.nlen+i.ndist){e.msg="invalid bit length repeat",i.mode=ue;break}for(;m--;)i.lens[i.have++]=ke}}if(i.mode===ue)break;if(0===i.lens[256]){e.msg="invalid code -- missing end-of-block",i.mode=ue;break}if(i.lenbits=9,Ae={bits:i.lenbits},Ee=k(A,i.lens,0,i.nlen,i.lencode,0,i.work,Ae),i.lenbits=Ae.bits,Ee){e.msg="invalid literal/lengths set",i.mode=ue;break}if(i.distbits=6,i.distcode=i.distdyn,Ae={bits:i.distbits},Ee=k(S,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,Ae),i.distbits=Ae.bits,Ee){e.msg="invalid distances set",i.mode=ue;break}if(i.mode=ie,t===x)break e;case ie:i.mode=re;case re:if(f>=6&&h>=258){e.next_out=o,e.avail_out=h,e.next_in=a,e.avail_in=f,i.hold=u,i.bits=d,y(e,b),o=e.next_out,s=e.output,h=e.avail_out,a=e.next_in,n=e.input,f=e.avail_in,u=i.hold,d=i.bits,i.mode===Y&&(i.back=-1);break}for(i.back=0;Me=i.lencode[u&(1<>>24,we=Me>>>16&255,ge=65535&Me,!(me<=d);){if(0===f)break e;f--,u+=n[a++]<>ve)],me=Me>>>24,we=Me>>>16&255,ge=65535&Me,!(ve+me<=d);){if(0===f)break e;f--,u+=n[a++]<>>=ve,d-=ve,i.back+=ve}if(u>>>=me,d-=me,i.back+=me,i.length=ge,0===we){i.mode=fe;break}if(32&we){i.back=-1,i.mode=Y;break}if(64&we){e.msg="invalid literal/length code",i.mode=ue;break}i.extra=15&we,i.mode=ne;case ne:if(i.extra){for(Se=i.extra;d>>=i.extra,d-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=se;case se:for(;Me=i.distcode[u&(1<>>24,we=Me>>>16&255,ge=65535&Me,!(me<=d);){if(0===f)break e;f--,u+=n[a++]<>ve)],me=Me>>>24,we=Me>>>16&255,ge=65535&Me,!(ve+me<=d);){if(0===f)break e;f--,u+=n[a++]<>>=ve,d-=ve,i.back+=ve}if(u>>>=me,d-=me,i.back+=me,64&we){e.msg="invalid distance code",i.mode=ue;break}i.offset=ge,i.extra=15&we,i.mode=ae;case ae:if(i.extra){for(Se=i.extra;d>>=i.extra,d-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){e.msg="invalid distance too far back",i.mode=ue;break}i.mode=oe;case oe:if(0===h)break e;if(m=b-h,i.offset>m){if(m=i.offset-m,m>i.whave&&i.sane){e.msg="invalid distance too far back",i.mode=ue;break}m>i.wnext?(m-=i.wnext,w=i.wsize-m):w=i.wnext-m,m>i.length&&(m=i.length),be=i.window}else be=s,w=o-i.offset,m=i.length;m>h&&(m=h),h-=m,i.length-=m;do s[o++]=be[w++];while(--m);0===i.length&&(i.mode=re);break;case fe:if(0===h)break e;s[o++]=i.length,h--,i.mode=re;break;case he:if(i.wrap){for(;d<32;){if(0===f)break e;f--,u|=n[a++]<=1&&0===z[P];P--);if(O>P&&(O=P),0===P)return b[m++]=20971520,b[m++]=20971520,g.bits=1,0;for(C=1;C0&&(e===o||1!==P))return-1;for(q[1]=0,R=1;Rs||e===h&&B>a)return 1;for(var V=0;;){V++,S=R-D,w[I]A?(M=H[G+w[I]],T=j[F+w[I]]):(M=96,T=0),v=1<>D)+_]=S<<24|M<<16|T|0;while(0!==_);for(v=1<>=1;if(0!==v?(U&=v-1,U+=v):U=0,I++,0===--z[R]){if(R===P)break;R=t[i+w[I]]}if(R>O&&(U&k)!==y){for(0===D&&(D=O),E+=C,N=R-D,L=1<s||e===h&&B>a)return 1;y=U&k,b[y]=O<<24|N<<16|E-m|0}}return 0!==U&&(b[E+U]=R-D<<24|64<<16|0),g.bits=O,0}},function(e,t,i){"use strict";function r(e){for(var t=e.length;--t>=0;)e[t]=0}function n(e,t,i,r,n){this.static_tree=e,this.extra_bits=t,this.extra_base=i,this.elems=r,this.max_length=n,this.has_stree=e&&e.length}function s(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function a(e){return e<256?fe[e]:fe[256+(e>>>7)]}function o(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function f(e,t,i){e.bi_valid>Z-i?(e.bi_buf|=t<>Z-e.bi_valid,e.bi_valid+=i-Z):(e.bi_buf|=t<>>=1,i<<=1;while(--t>0);return i>>>1}function l(e){16===e.bi_valid?(o(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}function u(e,t){var i,r,n,s,a,o,f=t.dyn_tree,h=t.max_code,c=t.stat_desc.static_tree,l=t.stat_desc.has_stree,u=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,b=0;for(s=0;s<=Y;s++)e.bl_count[s]=0;for(f[2*e.heap[e.heap_max]+1]=0,i=e.heap_max+1;ip&&(s=p,b++),f[2*r+1]=s,r>h||(e.bl_count[s]++,a=0,r>=d&&(a=u[r-d]),o=f[2*r],e.opt_len+=o*(s+a),l&&(e.static_len+=o*(c[2*r+1]+a)));if(0!==b){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,b-=2}while(b>0);for(s=p;0!==s;s--)for(r=e.bl_count[s];0!==r;)n=e.heap[--i],n>h||(f[2*n+1]!==s&&(e.opt_len+=(s-f[2*n+1])*f[2*n],f[2*n+1]=s),r--)}}function d(e,t,i){var r,n,s=new Array(Y+1),a=0;for(r=1;r<=Y;r++)s[r]=a=a+i[r-1]<<1;for(n=0;n<=t;n++){var o=e[2*n+1];0!==o&&(e[2*n]=c(s[o]++,o))}}function p(){var e,t,i,r,s,a=new Array(Y+1);for(i=0,r=0;r>=7;r8?o(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function w(e,t,i,r){m(e),r&&(o(e,i),o(e,~i)),P.arraySet(e.pending_buf,e.window,t,i,e.pending),e.pending+=i}function g(e,t,i,r){var n=2*t,s=2*i;return e[n]>1;i>=1;i--)v(e,s,i);n=f;do i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],v(e,s,1),r=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=r,s[2*n]=s[2*i]+s[2*r],e.depth[n]=(e.depth[i]>=e.depth[r]?e.depth[i]:e.depth[r])+1,s[2*i+1]=s[2*r+1]=n,e.heap[1]=n++,v(e,s,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],u(e,t),d(s,h,e.bl_count)}function k(e,t,i){var r,n,s=-1,a=t[1],o=0,f=7,h=4;for(0===a&&(f=138,h=3),t[2*(i+1)+1]=65535,r=0;r<=i;r++)n=a,a=t[2*(r+1)+1],++o=3&&0===e.bl_tree[2*ne[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}function S(e,t,i,r){var n;for(f(e,t-257,5),f(e,i-1,5),f(e,r-4,4),n=0;n>>=1)if(1&i&&0!==e.dyn_ltree[2*t])return N;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return D;for(t=32;t0?(e.strm.data_type===L&&(e.strm.data_type=M(e)),y(e,e.l_desc),y(e,e.d_desc),a=A(e),n=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=n&&(n=s)):n=s=i+5,i+4<=n&&t!==-1?x(e,t,i,r):e.strategy===O||s===n?(f(e,(U<<1)+(r?1:0),3),_(e,ae,oe)):(f(e,(j<<1)+(r?1:0),3),S(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),_(e,e.dyn_ltree,e.dyn_dtree)),b(e),r&&m(e)}function C(e,t,i){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&i,e.last_lit++,0===t?e.dyn_ltree[2*i]++:(e.matches++,t--,e.dyn_ltree[2*(he[i]+H+1)]++,e.dyn_dtree[2*a(t)]++),e.last_lit===e.lit_bufsize-1}var P=i(42),O=4,N=0,D=1,L=2,B=0,U=1,j=2,F=3,z=258,q=29,H=256,G=H+1+q,V=30,W=19,K=2*G+1,Y=15,Z=16,$=7,X=256,J=16,Q=17,ee=18,te=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ie=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],re=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],ne=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],se=512,ae=new Array(2*(G+2));r(ae);var oe=new Array(2*V);r(oe);var fe=new Array(se);r(fe);var he=new Array(z-F+1);r(he);var ce=new Array(q);r(ce);var le=new Array(V);r(le);var ue,de,pe,be=!1;t._tr_init=T,t._tr_stored_block=x,t._tr_flush_block=I,t._tr_tally=C,t._tr_align=R},function(e,t){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=i},function(e,t,i){var r=i(36),n=r.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});t.RSAPrivateKey=n;var s=r.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});t.RSAPublicKey=s;var a=r.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(o),this.key("subjectPublicKey").bitstr())});t.PublicKey=a;var o=r.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),f=r.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(o),this.key("subjectPrivateKey").octstr())});t.PrivateKey=f;var h=r.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});t.EncryptedPrivateKey=h;var c=r.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});t.DSAPrivateKey=c,t.DSAparam=r.define("DSAparam",function(){this.int()});var l=r.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(u),this.key("publicKey").optional().explicit(1).bitstr())});t.ECPrivateKey=l;var u=r.define("ECParameters",function(){this.choice({namedCurve:this.objid()})});t.signature=r.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())})},function(e,t,i){(function(t){var r=/Proc-Type: 4,ENCRYPTED\r?\nDEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)\r?\n\r?\n([0-9A-z\n\r\+\/\=]+)\r?\n/m,n=/^-----BEGIN (.*) KEY-----\r?\n/m,s=/^-----BEGIN (.*) KEY-----\r?\n([0-9A-z\n\r\+\/\=]+)\r?\n-----END \1 KEY-----$/m,a=i(41),o=i(50);e.exports=function(e,i){var f,h=e.toString(),c=h.match(r);if(c){var l="aes"+c[1],u=new t(c[2],"hex"),d=new t(c[3].replace(/\r?\n/g,""),"base64"),p=a(i,u.slice(0,8),parseInt(c[1],10)).key,b=[],m=o.createDecipheriv(l,p,u);b.push(m.update(d)),b.push(m.final()),f=t.concat(b)}else{var w=h.match(s);f=new t(w[2].replace(/\r?\n/g,""),"base64")}var g=h.match(n)[1]+" KEY";return{tag:g,data:f}}}).call(t,i(0).Buffer)},function(e,t){var i=Math.pow(2,30)-1;e.exports=function(e,t){if("number"!=typeof e)throw new TypeError("Iterations not a number");if(e<0)throw new TypeError("Bad iterations");if("number"!=typeof t)throw new TypeError("Key length not a number");if(t<0||t>i||t!==t)throw new TypeError("Bad key length")}},function(e,t,i){t.publicEncrypt=i(219),t.privateDecrypt=i(218),t.privateEncrypt=function(e,i){return t.publicEncrypt(e,i,!0)},t.publicDecrypt=function(e,i){return t.privateDecrypt(e,i,!0)}},function(e,t,i){(function(t){function r(e,i){var r=(e.modulus,e.modulus.byteLength()),n=(i.length,l("sha1").update(new t("")).digest()),a=n.length;if(0!==i[0])throw new Error("decryption error");var h=i.slice(1,a+1),c=i.slice(a+1),u=f(h,o(c,a)),d=f(c,o(u,r-a-1));if(s(n,d.slice(0,a)))throw new Error("decryption error");for(var p=a;0===d[p];)p++;if(1!==d[p++])throw new Error("decryption error");return d.slice(p)}function n(e,t,i){for(var r=t.slice(0,2),n=2,s=0;0!==t[n++];)if(n>=t.length){s++;break}var a=t.slice(2,n-1);t.slice(n-1,n);if(("0002"!==r.toString("hex")&&!i||"0001"!==r.toString("hex")&&i)&&s++,a.length<8&&s++,s)throw new Error("decryption error");return t.slice(n)}function s(e,i){e=new t(e),i=new t(i);var r=0,n=e.length;e.length!==i.length&&(r++,n=Math.min(e.length,i.length));for(var s=-1;++sl||new h(i).cmp(f.modulus)>=0)throw new Error("decryption error");var d;d=s?u(new h(i),f):c(i,f);var p=new t(l-d.length);if(p.fill(0),d=t.concat([p,d],l),4===o)return r(f,d);if(1===o)return n(f,d,s);if(3===o)return d;throw new Error("unknown padding")}}).call(t,i(0).Buffer)},function(e,t,i){(function(t){function r(e,i){var r=e.modulus.byteLength(),n=i.length,s=f("sha1").update(new t("")).digest(),a=s.length,u=2*a;if(n>r-u-2)throw new Error("message too long");var d=new t(r-n-u-2);d.fill(0);var p=r-a-1,b=o(a),m=c(t.concat([s,d,new t([1]),i],p),h(b,p)),w=c(b,h(m,a));return new l(t.concat([new t([0]),w,m],r))}function n(e,i,r){var n=i.length,a=e.modulus.byteLength();if(n>a-11)throw new Error("message too long");var o;return r?(o=new t(a-n-3),o.fill(255)):o=s(a-n-3),new l(t.concat([new t([0,r?1:2]),o,new t([0]),i],a))}function s(e,i){for(var r,n=new t(e),s=0,a=o(2*e),f=0;s=0)throw new Error("data too long for modulus")}return i?d(o,f):u(o,f)}}).call(t,i(0).Buffer)},function(e,t,i){(function(e,r){var n;!function(s){function a(e){throw new RangeError(P[e])}function o(e,t){for(var i=e.length,r=[];i--;)r[i]=t(e[i]);return r}function f(e,t){var i=e.split("@"),r="";i.length>1&&(r=i[0]+"@",e=i[1]),e=e.replace(C,".");var n=e.split("."),s=o(n,t).join(".");return r+s}function h(e){for(var t,i,r=[],n=0,s=e.length;n=55296&&t<=56319&&n65535&&(e-=65536,t+=D(e>>>10&1023|55296),e=56320|1023&e),t+=D(e)}).join("")}function l(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:y}function u(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function d(e,t,i){var r=0;for(e=i?N(e/S):e>>1,e+=N(e/t);e>O*E>>1;r+=y)e=N(e/O);return N(r+(O+1)*e/(e+A))}function p(e){var t,i,r,n,s,o,f,h,u,p,b=[],m=e.length,w=0,g=T,v=M;for(i=e.lastIndexOf(x),i<0&&(i=0),r=0;r=128&&a("not-basic"),b.push(e.charCodeAt(r));for(n=i>0?i+1:0;n=m&&a("invalid-input"),h=l(e.charCodeAt(n++)),(h>=y||h>N((_-w)/o))&&a("overflow"),w+=h*o,u=f<=v?k:f>=v+E?E:f-v,!(hN(_/p)&&a("overflow"),o*=p;t=b.length+1,v=d(w-s,t,0==s),N(w/t)>_-g&&a("overflow"),g+=N(w/t),w%=t,b.splice(w++,0,g)}return c(b)}function b(e){var t,i,r,n,s,o,f,c,l,p,b,m,w,g,v,A=[];for(e=h(e),m=e.length,t=T,i=0,s=M,o=0;o=t&&bN((_-i)/w)&&a("overflow"),i+=(f-t)*w,t=f,o=0;o_&&a("overflow"),b==t){for(c=i,l=y;p=l<=s?k:l>=s+E?E:l-s,!(c= 0x80 (not a basic code point)","invalid-input":"Invalid input"},O=y-k,N=Math.floor,D=String.fromCharCode;v={version:"1.4.1",ucs2:{decode:h,encode:c},decode:p,encode:b,toASCII:w,toUnicode:m},n=function(){return v}.call(t,i,t,e),!(void 0!==n&&(e.exports=n))}(this)}).call(t,i(121)(e),i(19))},function(e,t){"use strict";function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,n,s){t=t||"&",n=n||"=";var a={};if("string"!=typeof e||0===e.length)return a;var o=/\+/g;e=e.split(t);var f=1e3;s&&"number"==typeof s.maxKeys&&(f=s.maxKeys);var h=e.length;f>0&&h>f&&(h=f);for(var c=0;c=0?(l=b.substr(0,m),u=b.substr(m+1)):(l=b,u=""),d=decodeURIComponent(l),p=decodeURIComponent(u),i(a,d)?r(a[d])?a[d].push(p):a[d]=[a[d],p]:a[d]=p}return a};var r=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t){"use strict";function i(e,t){if(e.map)return e.map(t);for(var i=[],r=0;r0?this.tail.next=t:this.head=t,this.tail=t,++this.length},r.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},r.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},r.prototype.clear=function(){this.head=this.tail=null,this.length=0},r.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,i=""+t.data;t=t.next;)i+=e+t.data;return i},r.prototype.concat=function(e){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var t=n.allocUnsafe(e>>>0),i=this.head,r=0;i;)i.data.copy(t,r),r+=i.data.length,i=i.next;return t}},function(e,t,i){e.exports=i(116)},function(e,t,i){(function(r){var n=function(){try{return i(11)}catch(e){}}();t=e.exports=i(117),t.Stream=n||t,t.Readable=t,t.Writable=i(58),t.Duplex=i(18),t.Transform=i(57),t.PassThrough=i(116),!r.browser&&"disable"===r.env.READABLE_STREAM&&n&&(e.exports=n)}).call(t,i(8))},function(e,t,i){e.exports=i(58)},function(e,t,i){function r(e){if(e)return n(e)}function n(e){for(var t in r.prototype)e[t]=r.prototype[t];return e}var s=i(119);e.exports=r,r.prototype.clearTimeout=function(){return this._timeout=0,clearTimeout(this._timer),this},r.prototype.parse=function(e){return this._parser=e,this},r.prototype.serialize=function(e){return this._serializer=e,this},r.prototype.timeout=function(e){return this._timeout=e,this},r.prototype.then=function(e,t){if(!this._fullfilledPromise){var i=this;this._fullfilledPromise=new Promise(function(e,t){i.end(function(i,r){i?t(i):e(r)})})}return this._fullfilledPromise.then(e,t)},r.prototype.catch=function(e){return this.then(void 0,e)},r.prototype.use=function(e){return e(this),this},r.prototype.get=function(e){return this._header[e.toLowerCase()]},r.prototype.getHeader=r.prototype.get,r.prototype.set=function(e,t){if(s(e)){for(var i in e)this.set(i,e[i]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},r.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},r.prototype.field=function(e,t){if(null===e||void 0===e)throw new Error(".field(name, val) name can not be empty");if(s(e)){for(var i in e)this.field(i,e[i]);return this}if(null===t||void 0===t)throw new Error(".field(name, val) val can not be empty");return this._getFormData().append(e,t),this},r.prototype.abort=function(){return this._aborted?this:(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort"),this)},r.prototype.withCredentials=function(){return this._withCredentials=!0,this},r.prototype.redirects=function(e){return this._maxRedirects=e,this},r.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},r.prototype.send=function(e){var t=s(e),i=this._header["content-type"];if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw Error("Can't merge these send calls");if(t&&s(this._data))for(var r in e)this._data[r]=e[r];else"string"==typeof e?(i||this.type("form"),i=this._header["content-type"],"application/x-www-form-urlencoded"==i?this._data=this._data?this._data+"&"+e:e:this._data=(this._data||"")+e):this._data=e;return!t||this._isHost(e)?this:(i||this.type("json"),this)}},function(e,t){function i(e,t,i){return"function"==typeof i?new e("GET",t).end(i):2==arguments.length?new e("GET",t):new e(t,i)}e.exports=i},function(e,t){"use strict";function i(e){return this instanceof i?(this.id=n++,void(this.ee=e)):new i(e)}var r=Object.prototype.hasOwnProperty,n=0;i.prototype.on=function(e,t,i){return t.__ultron=this.id,this.ee.on(e,t,i),this},i.prototype.once=function(e,t,i){return t.__ultron=this.id,this.ee.once(e,t,i),this},i.prototype.remove=function(){var e,t=arguments;if(1===t.length&&"string"==typeof t[0])t=t[0].split(/[, ]+/);else if(!t.length){t=[];for(e in this.ee._events)r.call(this.ee._events,e)&&t.push(e)}for(var i=0;i>>27}function s(e){return e<<30|e>>>2}function o(e,t,n,i){return 0===e?t&n|~t&i:2===e?t&n|t&i|n&i:t^n^i}var a=n(2),c=n(22),h=[1518500249,1859775393,-1894007588,-899497514],f=new Array(80);a(i,c),i.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},i.prototype._update=function(e){for(var t=this._w,n=0|this._a,i=0|this._b,a=0|this._c,c=0|this._d,f=0|this._e,u=0;u<16;++u)t[u]=e.readInt32BE(4*u);for(;u<80;++u)t[u]=t[u-3]^t[u-8]^t[u-14]^t[u-16];for(var d=0;d<80;++d){var l=~~(d/20),p=r(n)+o(l,i,a,c)+f+t[d]+h[l]|0;f=c,c=a,a=s(i),i=n,n=p}this._a=n+this._a|0,this._b=i+this._b|0,this._c=a+this._c|0,this._d=c+this._d|0,this._e=f+this._e|0},i.prototype._hash=function(){var e=new t(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=i}).call(t,n(0).Buffer)},function(e,t,n){(function(t){function i(){this.init(),this._w=u,h.call(this,64,56)}function r(e){return e<<1|e>>>31}function s(e){return e<<5|e>>>27}function o(e){return e<<30|e>>>2}function a(e,t,n,i){return 0===e?t&n|~t&i:2===e?t&n|t&i|n&i:t^n^i}var c=n(2),h=n(22),f=[1518500249,1859775393,-1894007588,-899497514],u=new Array(80);c(i,h),i.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},i.prototype._update=function(e){for(var t=this._w,n=0|this._a,i=0|this._b,c=0|this._c,h=0|this._d,u=0|this._e,d=0;d<16;++d)t[d]=e.readInt32BE(4*d);for(;d<80;++d)t[d]=r(t[d-3]^t[d-8]^t[d-14]^t[d-16]);for(var l=0;l<80;++l){var p=~~(l/20),b=s(n)+a(p,i,c,h)+u+t[l]+f[p]|0;u=h,h=c,c=o(i),i=n,n=b}this._a=n+this._a|0,this._b=i+this._b|0,this._c=c+this._c|0,this._d=h+this._d|0,this._e=u+this._e|0},i.prototype._hash=function(){var e=new t(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=i}).call(t,n(0).Buffer)},function(e,t,n){(function(t){function i(){this.init(),this._w=a,o.call(this,64,56)}var r=n(2),s=n(103),o=n(22),a=new Array(64);r(i,s),i.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},i.prototype._hash=function(){var e=new t(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=i}).call(t,n(0).Buffer)},function(e,t,n){(function(t){function i(){this.init(),this._w=a,o.call(this,128,112)}var r=n(2),s=n(104),o=n(22),a=new Array(160);r(i,s),i.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},i.prototype._hash=function(){function e(e,t,i){n.writeInt32BE(e,i),n.writeInt32BE(t,i+4)}var n=new t(48);return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),n},e.exports=i}).call(t,n(0).Buffer)},function(e,t,n){"use strict";function i(e){s.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t0;i--)t+=this._buffer(e,t),n+=this._flushBuffer(r,n);return t+=this._buffer(e,t),r},i.prototype.final=function(e){var t;e&&(t=this.update(e));var n;return n="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(n):n},i.prototype._pad=function(e,t){if(0===t)return!1;for(;t>>1];n=c.r28shl(n,o),i=c.r28shl(i,o),c.pc2(n,i,e.keys,r)}},r.prototype._update=function(e,t,n,i){var r=this._desState,s=c.readUInt32BE(e,t),o=c.readUInt32BE(e,t+4);c.ip(s,o,r.tmp,0),s=r.tmp[0],o=r.tmp[1],"encrypt"===this.type?this._encrypt(r,s,o,r.tmp,0):this._decrypt(r,s,o,r.tmp,0),s=r.tmp[0],o=r.tmp[1],c.writeUInt32BE(n,s,i),c.writeUInt32BE(n,o,i+4)},r.prototype._pad=function(e,t){for(var n=e.length-t,i=t;i>>0,s=l}c.rip(o,s,i,r)},r.prototype._decrypt=function(e,t,n,i,r){for(var s=n,o=t,a=e.keys.length-2;a>=0;a-=2){var h=e.keys[a],f=e.keys[a+1];c.expand(s,e.tmp,0),h^=e.tmp[0],f^=e.tmp[1];var u=c.substitute(h,f),d=c.permute(u),l=s;s=(o^d)>>>0,o=l}c.rip(s,o,i,r)}},function(e,t,n){"use strict";function i(e,t){s.equal(t.length,24,"Invalid key length");var n=t.slice(0,8),i=t.slice(8,16),r=t.slice(16,24);"encrypt"===e?this.ciphers=[h.create({type:"encrypt",key:n}),h.create({type:"decrypt",key:i}),h.create({type:"encrypt",key:r})]:this.ciphers=[h.create({type:"decrypt",key:r}),h.create({type:"encrypt",key:i}),h.create({type:"decrypt",key:n})]}function r(e){c.call(this,e);var t=new i(this.type,this.options.key);this._edeState=t}var s=n(29),o=n(2),a=n(54),c=a.Cipher,h=a.DES;o(r,c),e.exports=r,r.create=function(e){return new r(e)},r.prototype._update=function(e,t,n,i){var r=this._edeState;r.ciphers[0]._update(e,t,n,i),r.ciphers[1]._update(n,i,n,i),r.ciphers[2]._update(n,i,n,i)},r.prototype._pad=h.prototype._pad,r.prototype._unpad=h.prototype._unpad},function(e,t){"use strict";t.readUInt32BE=function(e,t){var n=e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t];return n>>>0},t.writeUInt32BE=function(e,t,n){e[0+n]=t>>>24,e[1+n]=t>>>16&255,e[2+n]=t>>>8&255,e[3+n]=255&t},t.ip=function(e,t,n,i){for(var r=0,s=0,o=6;o>=0;o-=2){for(var a=0;a<=24;a+=8)r<<=1,r|=t>>>a+o&1;for(var a=0;a<=24;a+=8)r<<=1,r|=e>>>a+o&1}for(var o=6;o>=0;o-=2){for(var a=1;a<=25;a+=8)s<<=1,s|=t>>>a+o&1;for(var a=1;a<=25;a+=8)s<<=1,s|=e>>>a+o&1}n[i+0]=r>>>0,n[i+1]=s>>>0},t.rip=function(e,t,n,i){for(var r=0,s=0,o=0;o<4;o++)for(var a=24;a>=0;a-=8)r<<=1,r|=t>>>a+o&1,r<<=1,r|=e>>>a+o&1;for(var o=4;o<8;o++)for(var a=24;a>=0;a-=8)s<<=1,s|=t>>>a+o&1,s<<=1,s|=e>>>a+o&1;n[i+0]=r>>>0,n[i+1]=s>>>0},t.pc1=function(e,t,n,i){for(var r=0,s=0,o=7;o>=5;o--){for(var a=0;a<=24;a+=8)r<<=1,r|=t>>a+o&1;for(var a=0;a<=24;a+=8)r<<=1,r|=e>>a+o&1}for(var a=0;a<=24;a+=8)r<<=1,r|=t>>a+o&1;for(var o=1;o<=3;o++){for(var a=0;a<=24;a+=8)s<<=1,s|=t>>a+o&1;for(var a=0;a<=24;a+=8)s<<=1,s|=e>>a+o&1}for(var a=0;a<=24;a+=8)s<<=1,s|=e>>a+o&1;n[i+0]=r>>>0,n[i+1]=s>>>0},t.r28shl=function(e,t){return e<>>28-t};var n=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function(e,t,i,r){for(var s=0,o=0,a=n.length>>>1,c=0;c>>n[c]&1;for(var c=a;c>>n[c]&1;i[r+0]=s>>>0,i[r+1]=o>>>0},t.expand=function(e,t,n){var i=0,r=0;i=(1&e)<<5|e>>>27;for(var s=23;s>=15;s-=4)i<<=6,i|=e>>>s&63;for(var s=11;s>=3;s-=4)r|=e>>>s&63,r<<=6;r|=(31&e)<<1|e>>>31,t[n+0]=i>>>0,t[n+1]=r>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function(e,t){for(var n=0,r=0;r<4;r++){var s=e>>>18-6*r&63,o=i[64*r+s];n<<=4,n|=o}for(var r=0;r<4;r++){var s=t>>>18-6*r&63,o=i[256+64*r+s];n<<=4,n|=o}return n>>>0};var r=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function(e){for(var t=0,n=0;n>>r[n]&1;return t>>>0},t.padSplit=function(e,t,n){for(var i=e.toString(2);i.length0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function r(e,t){this.curve=e,this.type=t,this.precomputed=null}var s=n(7),o=n(9),a=o.utils,c=a.getNAF,h=a.getJSF,f=a.assert;e.exports=i,i.prototype.point=function(){throw new Error("Not implemented")},i.prototype.validate=function(){throw new Error("Not implemented")},i.prototype._fixedNafMul=function(e,t){f(e.precomputed);var n=e._getDoubles(),i=c(t,1),r=(1<=o;t--)a=(a<<1)+i[t];s.push(a)}for(var h=this.jpoint(null,null,null),u=this.jpoint(null,null,null),d=r;d>0;d--){for(var o=0;o=0;a--){for(var t=0;a>=0&&0===s[a];a--)t++;if(a>=0&&t++,o=o.dblp(t),a<0)break;var h=s[a];f(0!==h),o="affine"===e.type?h>0?o.mixedAdd(r[h-1>>1]):o.mixedAdd(r[-h-1>>1].neg()):h>0?o.add(r[h-1>>1]):o.add(r[-h-1>>1].neg())}return"affine"===e.type?o.toP():o},i.prototype._wnafMulAdd=function(e,t,n,i,r){for(var s=this._wnafT1,o=this._wnafT2,a=this._wnafT3,f=0,u=0;u=1;u-=2){var p=u-1,b=u;if(1===s[p]&&1===s[b]){var m=[t[p],null,null,t[b]];0===t[p].y.cmp(t[b].y)?(m[1]=t[p].add(t[b]),m[2]=t[p].toJ().mixedAdd(t[b].neg())):0===t[p].y.cmp(t[b].y.redNeg())?(m[1]=t[p].toJ().mixedAdd(t[b]),m[2]=t[p].add(t[b].neg())):(m[1]=t[p].toJ().mixedAdd(t[b]),m[2]=t[p].toJ().mixedAdd(t[b].neg()));var g=[-3,-1,-5,-7,0,7,5,1,3],v=h(n[p],n[b]);f=Math.max(v[0].length,f),a[p]=new Array(f),a[b]=new Array(f);for(var y=0;y=0;u--){for(var k=0;u>=0;){for(var A=!0,y=0;y=0&&k++,E=E.dblp(k),u<0)break;for(var y=0;y0?d=o[y][M-1>>1]:M<0&&(d=o[y][-M-1>>1].neg()),E="affine"===d.type?E.mixedAdd(d):E.add(d))}}for(var u=0;u=Math.ceil((e.bitLength()+1)/t.step)},r.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],i=this,r=0;r":""},r.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&0===this.y.cmp(this.z)},r.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr();n=n.redIAdd(n);var i=this.curve._mulA(e),r=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),s=i.redAdd(t),o=s.redSub(n),a=i.redSub(t),c=r.redMul(o),h=s.redMul(a),f=r.redMul(a),u=o.redMul(s);return this.curve.point(c,h,u,f)},r.prototype._projDbl=function(){var e,t,n,i=this.x.redAdd(this.y).redSqr(),r=this.x.redSqr(),s=this.y.redSqr();if(this.curve.twisted){var o=this.curve._mulA(r),a=o.redAdd(s);if(this.zOne)e=i.redSub(r).redSub(s).redMul(a.redSub(this.curve.two)),t=a.redMul(o.redSub(s)),n=a.redSqr().redSub(a).redSub(a);else{var c=this.z.redSqr(),h=a.redSub(c).redISub(c);e=i.redSub(r).redISub(s).redMul(h),t=a.redMul(o.redSub(s)),n=a.redMul(h)}}else{var o=r.redAdd(s),c=this.curve._mulC(this.c.redMul(this.z)).redSqr(),h=o.redSub(c).redSub(c);e=this.curve._mulC(i.redISub(o)).redMul(h),t=this.curve._mulC(o).redMul(r.redISub(s)),n=o.redMul(h)}return this.curve.point(e,t,n)},r.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},r.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),n=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),i=this.t.redMul(this.curve.dd).redMul(e.t),r=this.z.redMul(e.z.redAdd(e.z)),s=n.redSub(t),o=r.redSub(i),a=r.redAdd(i),c=n.redAdd(t),h=s.redMul(o),f=a.redMul(c),u=s.redMul(c),d=o.redMul(a);return this.curve.point(h,f,d,u)},r.prototype._projAdd=function(e){var t,n,i=this.z.redMul(e.z),r=i.redSqr(),s=this.x.redMul(e.x),o=this.y.redMul(e.y),a=this.curve.d.redMul(s).redMul(o),c=r.redSub(a),h=r.redAdd(a),f=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(s).redISub(o),u=i.redMul(c).redMul(f);return this.curve.twisted?(t=i.redMul(h).redMul(o.redSub(this.curve._mulA(s))),n=c.redMul(h)):(t=i.redMul(h).redMul(o.redSub(s)),n=this.curve._mulC(c).redMul(h)),this.curve.point(u,t,n)},r.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},r.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},r.prototype.mulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!1)},r.prototype.jmulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!0)},r.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},r.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},r.prototype.getX=function(){return this.normalize(),this.x.fromRed()},r.prototype.getY=function(){return this.normalize(),this.y.fromRed()},r.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},r.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var n=e.clone(),i=this.curve.redN.redMul(this.z);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(i),0===this.x.cmp(t))return!0}return!1},r.prototype.toP=r.prototype.normalize,r.prototype.mixedAdd=r.prototype.add},function(e,t,n){"use strict";function i(e){c.call(this,"mont",e),this.a=new o(e.a,16).toRed(this.red),this.b=new o(e.b,16).toRed(this.red),this.i4=new o(4).toRed(this.red).redInvm(),this.two=new o(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function r(e,t,n){c.BasePoint.call(this,e,"projective"),null===t&&null===n?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new o(t,16),this.z=new o(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}var s=n(40),o=n(7),a=n(2),c=s.base,h=n(9),f=h.utils;a(i,c),e.exports=i,i.prototype.validate=function(e){var t=e.normalize().x,n=t.redSqr(),i=n.redMul(t).redAdd(n.redMul(this.a)).redAdd(t),r=i.redSqrt();return 0===r.redSqr().cmp(i)},a(r,c.BasePoint),i.prototype.decodePoint=function(e,t){return this.point(f.toArray(e,t),1)},i.prototype.point=function(e,t){return new r(this,e,t)},i.prototype.pointFromJSON=function(e){return r.fromJSON(this,e)},r.prototype.precompute=function(){},r.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},r.fromJSON=function(e,t){return new r(e,t[0],t[1]||e.one)},r.prototype.inspect=function(){return this.isInfinity()?"":""},r.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},r.prototype.dbl=function(){var e=this.x.redAdd(this.z),t=e.redSqr(),n=this.x.redSub(this.z),i=n.redSqr(),r=t.redSub(i),s=t.redMul(i),o=r.redMul(i.redAdd(this.curve.a24.redMul(r)));return this.curve.point(s,o)},r.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},r.prototype.diffAdd=function(e,t){var n=this.x.redAdd(this.z),i=this.x.redSub(this.z),r=e.x.redAdd(e.z),s=e.x.redSub(e.z),o=s.redMul(n),a=r.redMul(i),c=t.z.redMul(o.redAdd(a).redSqr()),h=t.x.redMul(o.redISub(a).redSqr());return this.curve.point(c,h)},r.prototype.mul=function(e){for(var t=e.clone(),n=this,i=this.curve.point(null,null),r=this,s=[];0!==t.cmpn(0);t.iushrn(1))s.push(t.andln(1));for(var o=s.length-1;o>=0;o--)0===s[o]?(n=n.diffAdd(i,r),i=i.dbl()):(i=n.diffAdd(i,r),n=n.dbl());return i},r.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},r.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},r.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},r.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},r.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(e,t,n){"use strict";function i(e){f.call(this,"short",e),this.a=new c(e.a,16).toRed(this.red),this.b=new c(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function r(e,t,n,i){f.BasePoint.call(this,e,"affine"),null===t&&null===n?(this.x=null,this.y=null,this.inf=!0):(this.x=new c(t,16),this.y=new c(n,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function s(e,t,n,i){f.BasePoint.call(this,e,"jacobian"),null===t&&null===n&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new c(0)):(this.x=new c(t,16),this.y=new c(n,16),this.z=new c(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}var o=n(40),a=n(9),c=n(7),h=n(2),f=o.base,u=a.utils.assert;h(i,f),e.exports=i,i.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,n;if(e.beta)t=new c(e.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);t=i[0].cmp(i[1])<0?i[0]:i[1],t=t.toRed(this.red)}if(e.lambda)n=new c(e.lambda,16);else{var r=this._getEndoRoots(this.n);0===this.g.mul(r[0]).x.cmp(this.g.x.redMul(t))?n=r[0]:(n=r[1],u(0===this.g.mul(n).x.cmp(this.g.x.redMul(t))))}var s;return s=e.basis?e.basis.map(function(e){return{a:new c(e.a,16),b:new c(e.b,16)}}):this._getEndoBasis(n),{beta:t,lambda:n,basis:s}}},i.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:c.mont(e),n=new c(2).toRed(t).redInvm(),i=n.redNeg(),r=new c(3).toRed(t).redNeg().redSqrt().redMul(n),s=i.redAdd(r).fromRed(),o=i.redSub(r).fromRed();return[s,o]},i.prototype._getEndoBasis=function(e){for(var t,n,i,r,s,o,a,h,f,u=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=e,l=this.n.clone(),p=new c(1),b=new c(0),m=new c(0),g=new c(1),v=0;0!==d.cmpn(0);){var y=l.div(d);h=l.sub(y.mul(d)),f=m.sub(y.mul(p));var _=g.sub(y.mul(b));if(!i&&h.cmp(u)<0)t=a.neg(),n=p,i=h.neg(),r=f;else if(i&&2===++v)break;a=h,l=d,d=h,m=p,p=f,g=b,b=_}s=h.neg(),o=f;var w=i.sqr().add(r.sqr()),E=s.sqr().add(o.sqr());return E.cmp(w)>=0&&(s=t,o=n),i.negative&&(i=i.neg(),r=r.neg()),s.negative&&(s=s.neg(),o=o.neg()),[{a:i,b:r},{a:s,b:o}]},i.prototype._endoSplit=function(e){var t=this.endo.basis,n=t[0],i=t[1],r=i.b.mul(e).divRound(this.n),s=n.b.neg().mul(e).divRound(this.n),o=r.mul(n.a),a=s.mul(i.a),c=r.mul(n.b),h=s.mul(i.b),f=e.sub(o).sub(a),u=c.add(h).neg();return{k1:f,k2:u}},i.prototype.pointFromX=function(e,t){e=new c(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=n.redSqrt();if(0!==i.redSqr().redSub(n).cmp(this.zero))throw new Error("invalid point");var r=i.fromRed().isOdd(); +return(t&&!r||!t&&r)&&(i=i.redNeg()),this.point(e,i)},i.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,n=e.y,i=this.a.redMul(t),r=t.redSqr().redMul(t).redIAdd(i).redIAdd(this.b);return 0===n.redSqr().redISub(r).cmpn(0)},i.prototype._endoWnafMulAdd=function(e,t,n){for(var i=this._endoWnafT1,r=this._endoWnafT2,s=0;s":""},r.prototype.isInfinity=function(){return this.inf},r.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var n=t.redSqr().redISub(this.x).redISub(e.x),i=t.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,i)},r.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,n=this.x.redSqr(),i=e.redInvm(),r=n.redAdd(n).redIAdd(n).redIAdd(t).redMul(i),s=r.redSqr().redISub(this.x.redAdd(this.x)),o=r.redMul(this.x.redSub(s)).redISub(this.y);return this.curve.point(s,o)},r.prototype.getX=function(){return this.x.fromRed()},r.prototype.getY=function(){return this.y.fromRed()},r.prototype.mul=function(e){return e=new c(e,16),this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},r.prototype.mulAdd=function(e,t,n){var i=[this,t],r=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(i,r):this.curve._wnafMulAdd(1,i,r,2)},r.prototype.jmulAdd=function(e,t,n){var i=[this,t],r=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(i,r,!0):this.curve._wnafMulAdd(1,i,r,2,!0)},r.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},r.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,i=function(e){return e.neg()};t.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(i)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(i)}}}return t},r.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e},h(s,f.BasePoint),i.prototype.jpoint=function(e,t,n){return new s(this,e,t,n)},s.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),n=this.x.redMul(t),i=this.y.redMul(t).redMul(e);return this.curve.point(n,i)},s.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},s.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),n=this.z.redSqr(),i=this.x.redMul(t),r=e.x.redMul(n),s=this.y.redMul(t.redMul(e.z)),o=e.y.redMul(n.redMul(this.z)),a=i.redSub(r),c=s.redSub(o);if(0===a.cmpn(0))return 0!==c.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h=a.redSqr(),f=h.redMul(a),u=i.redMul(h),d=c.redSqr().redIAdd(f).redISub(u).redISub(u),l=c.redMul(u.redISub(d)).redISub(s.redMul(f)),p=this.z.redMul(e.z).redMul(a);return this.curve.jpoint(d,l,p)},s.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),n=this.x,i=e.x.redMul(t),r=this.y,s=e.y.redMul(t).redMul(this.z),o=n.redSub(i),a=r.redSub(s);if(0===o.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=o.redSqr(),h=c.redMul(o),f=n.redMul(c),u=a.redSqr().redIAdd(h).redISub(f).redISub(f),d=a.redMul(f.redISub(u)).redISub(r.redMul(h)),l=this.z.redMul(o);return this.curve.jpoint(u,d,l)},s.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,n=0;n=0)return!1;if(n.redIAdd(r),0===this.x.cmp(n))return!0}return!1},s.prototype.inspect=function(){return this.isInfinity()?"":""},s.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(e,t,n){"use strict";function i(e){"short"===e.type?this.curve=new a.curve.short(e):"edwards"===e.type?this.curve=new a.curve.edwards(e):this.curve=new a.curve.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,c(this.g.validate(),"Invalid curve"),c(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function r(e,t){Object.defineProperty(s,e,{configurable:!0,enumerable:!0,get:function(){var n=new i(t);return Object.defineProperty(s,e,{configurable:!0,enumerable:!0,value:n}),n}})}var s=t,o=n(16),a=n(9),c=a.utils.assert;s.PresetCurve=i,r("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),r("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),r("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),r("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),r("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),r("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"0",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),r("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var h;try{h=n(191)}catch(e){h=void 0}r("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",h]})},function(e,t,n){"use strict";function i(e){return this instanceof i?("string"==typeof e&&(a(s.curves.hasOwnProperty(e),"Unknown curve "+e),e=s.curves[e]),e instanceof s.curves.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),void(this.hash=e.hash||e.curve.hash)):new i(e)}var r=n(7),s=n(9),o=s.utils,a=o.assert,c=n(185),h=n(186);e.exports=i,i.prototype.keyPair=function(e){return new c(this,e)},i.prototype.keyFromPrivate=function(e,t){return c.fromPrivate(this,e,t)},i.prototype.keyFromPublic=function(e,t){return c.fromPublic(this,e,t)},i.prototype.genKeyPair=function(e){e||(e={});for(var t=new s.hmacDRBG({hash:this.hash,pers:e.pers,entropy:e.entropy||s.rand(this.hash.hmacStrength),nonce:this.n.toArray()}),n=this.n.byteLength(),i=this.n.sub(new r(2));;){var o=new r(t.generate(n));if(!(o.cmp(i)>0))return o.iaddn(1),this.keyFromPrivate(o)}},i.prototype._truncateToN=function(e,t){var n=8*e.byteLength()-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},i.prototype.sign=function(e,t,n,i){"object"==typeof n&&(i=n,n=null),i||(i={}),t=this.keyFromPrivate(t,n),e=this._truncateToN(new r(e,16));for(var o=this.n.byteLength(),a=t.getPrivate().toArray("be",o),c=e.toArray("be",o),f=new s.hmacDRBG({hash:this.hash,entropy:a,nonce:c,pers:i.pers,persEnc:i.persEnc}),u=this.n.sub(new r(1)),d=0;!0;d++){var l=i.k?i.k(d):new r(f.generate(this.n.byteLength()));if(l=this._truncateToN(l,!0),!(l.cmpn(1)<=0||l.cmp(u)>=0)){var p=this.g.mul(l);if(!p.isInfinity()){var b=p.getX(),m=b.umod(this.n);if(0!==m.cmpn(0)){var g=l.invm(this.n).mul(m.mul(t.getPrivate()).iadd(e));if(g=g.umod(this.n),0!==g.cmpn(0)){var v=(p.getY().isOdd()?1:0)|(0!==b.cmp(m)?2:0);return i.canonical&&g.cmp(this.nh)>0&&(g=this.n.sub(g),v^=1),new h({r:m,s:g,recoveryParam:v})}}}}}},i.prototype.verify=function(e,t,n,i){e=this._truncateToN(new r(e,16)),n=this.keyFromPublic(n,i),t=new h(t,"hex");var s=t.r,o=t.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a=o.invm(this.n),c=a.mul(e).umod(this.n),f=a.mul(s).umod(this.n);if(!this.curve._maxwellTrick){var u=this.g.mulAdd(c,n.getPublic(),f);return!u.isInfinity()&&0===u.getX().umod(this.n).cmp(s)}var u=this.g.jmulAdd(c,n.getPublic(),f);return!u.isInfinity()&&u.eqXToP(s)},i.prototype.recoverPubKey=function(e,t,n,i){a((3&n)===n,"The recovery param is more than two bits"),t=new h(t,i);var s=this.n,o=new r(e),c=t.r,f=t.s,u=1&n,d=n>>1;if(c.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw new Error("Unable to find sencond key candinate");c=d?this.curve.pointFromX(c.add(this.curve.n),u):this.curve.pointFromX(c,u);var l=t.r.invm(s),p=s.sub(o).mul(l).umod(s),b=f.mul(l).umod(s);return this.g.mulAdd(p,c,b)},i.prototype.getKeyRecoveryParam=function(e,t,n,i){if(t=new h(t,i),null!==t.recoveryParam)return t.recoveryParam;for(var r=0;r<4;r++){var s;try{s=this.recoverPubKey(e,t,r)}catch(e){continue}if(s.eq(n))return r}throw new Error("Unable to find valid recovery factor")}},function(e,t,n){"use strict";function i(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}var r=n(7);e.exports=i,i.fromPublic=function(e,t,n){return t instanceof i?t:new i(e,{pub:t,pubEnc:n})},i.fromPrivate=function(e,t,n){return t instanceof i?t:new i(e,{priv:t,privEnc:n})},i.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},i.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},i.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},i.prototype._importPrivate=function(e,t){this.priv=new r(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},i.prototype._importPublic=function(e,t){return e.x||e.y?void(this.pub=this.ec.curve.point(e.x,e.y)):void(this.pub=this.ec.curve.decodePoint(e,t))},i.prototype.derive=function(e){return e.mul(this.priv).getX()},i.prototype.sign=function(e,t,n){return this.ec.sign(e,this,t,n)},i.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},i.prototype.inspect=function(){return""}},function(e,t,n){"use strict";function i(e,t){return e instanceof i?e:void(this._importDER(e,t)||(u(e.r&&e.s,"Signature without r or s"),this.r=new c(e.r,16),this.s=new c(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam))}function r(){this.place=0}function s(e,t){var n=e[t.place++];if(!(128&n))return n;for(var i=15&n,r=0,s=0,o=t.place;s>>3);for(e.push(128|n);--n;)e.push(t>>>(n<<3)&255);e.push(t)}var c=n(7),h=n(9),f=h.utils,u=f.assert;e.exports=i,i.prototype._importDER=function(e,t){e=f.toArray(e,t);var n=new r;if(48!==e[n.place++])return!1;var i=s(e,n);if(i+n.place!==e.length)return!1;if(2!==e[n.place++])return!1;var o=s(e,n),a=e.slice(n.place,o+n.place);if(n.place+=o,2!==e[n.place++])return!1;var h=s(e,n);if(e.length!==h+n.place)return!1;var u=e.slice(n.place,h+n.place);return 0===a[0]&&128&a[1]&&(a=a.slice(1)),0===u[0]&&128&u[1]&&(u=u.slice(1)),this.r=new c(a),this.s=new c(u),this.recoveryParam=null,!0},i.prototype.toDER=function(e){var t=this.r.toArray(),n=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&n[0]&&(n=[0].concat(n)),t=o(t),n=o(n);!(n[0]||128&n[1]);)n=n.slice(1);var i=[2];a(i,t.length),i=i.concat(t),i.push(2),a(i,n.length);var r=i.concat(n),s=[48];return a(s,r.length),s=s.concat(r),f.encode(s,e)}},function(e,t,n){"use strict";function i(e){if(a("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof i))return new i(e);var e=s.curves[e].curve;this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=r.sha512}var r=n(16),s=n(9),o=s.utils,a=o.assert,c=o.parseBytes,h=n(188),f=n(189);e.exports=i,i.prototype.sign=function(e,t){e=c(e);var n=this.keyFromSecret(t),i=this.hashInt(n.messagePrefix(),e),r=this.g.mul(i),s=this.encodePoint(r),o=this.hashInt(s,n.pubBytes(),e).mul(n.priv()),a=i.add(o).umod(this.curve.n);return this.makeSignature({R:r,S:a,Rencoded:s})},i.prototype.verify=function(e,t,n){e=c(e),t=this.makeSignature(t);var i=this.keyFromPublic(n),r=this.hashInt(t.Rencoded(),i.pubBytes(),e),s=this.g.mul(t.S()),o=t.R().add(i.pub().mul(r));return o.eq(s)},i.prototype.hashInt=function(){for(var e=this.hash(),t=0;t=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,n,r)}var r=n(16),s=n(9),o=s.utils,a=o.assert;e.exports=i,i.prototype._init=function(e,t,n){var i=e.concat(t).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var r=0;r=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this.reseed=1},i.prototype.generate=function(e,t,n,i){if(this.reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(i=n,n=t,t=null),n&&(n=o.toArray(n,i),this._update(n));for(var r=[];r.length>8,o=255&r;s?n.push(s,o):n.push(o)}return n}function r(e){return 1===e.length?"0"+e:e}function s(e){for(var t="",n=0;n=0;){var s;if(r.isOdd()){var o=r.andln(i-1);s=o>(i>>1)-1?(i>>1)-o:o,r.isubn(s)}else s=0;n.push(s);for(var a=0!==r.cmpn(0)&&0===r.andln(i-1)?t+1:1,c=1;c0||t.cmpn(-r)>0;){var s=e.andln(3)+i&3,o=t.andln(3)+r&3;3===s&&(s=-1),3===o&&(o=-1);var a;if(0===(1&s))a=0;else{var c=e.andln(7)+i&7;a=3!==c&&5!==c||2!==o?s:-s}n[0].push(a);var h;if(0===(1&o))h=0;else{var c=t.andln(7)+r&7;h=3!==c&&5!==c||2!==s?o:-o}n[1].push(h),2*i===a+1&&(i=1-i),2*r===h+1&&(r=1-r),e.iushrn(1),t.iushrn(1)}return n}function c(e,t,n){var i="_"+t;e.prototype[t]=function(){return void 0!==this[i]?this[i]:this[i]=n.call(this)}}function h(e){return"string"==typeof e?u.toArray(e,"hex"):e}function f(e){return new d(e,"hex","le")}var u=t,d=n(7);u.assert=function(e,t){if(!e)throw new Error(t||"Assertion failed")},u.toArray=i,u.zero2=r,u.toHex=s,u.encode=function(e,t){return"hex"===t?s(e):e},u.getNAF=o,u.getJSF=a,u.cachedProperty=c,u.parseBytes=h,u.intFromLE=f},function(e,t,n){function i(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var r=n(16),s=r.utils,o=s.assert;t.BlockHash=i,i.prototype.update=function(e,t){if(e=s.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){e=this.pending;var n=e.length%this._delta8;this.pending=e.slice(e.length-n,e.length),0===this.pending.length&&(this.pending=null),e=s.join32(e,0,e.length-n,this.endian);for(var i=0;i>>24&255,i[r++]=e>>>16&255,i[r++]=e>>>8&255,i[r++]=255&e}else{i[r++]=255&e,i[r++]=e>>>8&255,i[r++]=e>>>16&255,i[r++]=e>>>24&255,i[r++]=0,i[r++]=0,i[r++]=0,i[r++]=0;for(var s=8;sthis.blockSize&&(e=(new this.Hash).update(e).digest()),o(e.length<=this.blockSize);for(var t=e.length;t>>3}function p(e){return C(e,17)^C(e,19)^e>>>10}function b(e,t,n,i){return 0===e?c(t,n,i):1===e||3===e?f(t,n,i):2===e?h(t,n,i):void 0}function m(e,t,n,i,r,s){var o=e&n^~e&r;return o<0&&(o+=4294967296),o}function g(e,t,n,i,r,s){var o=t&i^~t&s;return o<0&&(o+=4294967296),o}function v(e,t,n,i,r,s){var o=e&n^e&r^n&r;return o<0&&(o+=4294967296),o}function y(e,t,n,i,r,s){var o=t&i^t&s^i&s;return o<0&&(o+=4294967296),o}function _(e,t){var n=O(e,t,28),i=O(t,e,2),r=O(t,e,7),s=n^i^r;return s<0&&(s+=4294967296),s}function w(e,t){var n=U(e,t,28),i=U(t,e,2),r=U(t,e,7),s=n^i^r;return s<0&&(s+=4294967296),s}function E(e,t){var n=O(e,t,14),i=O(e,t,18),r=O(t,e,9),s=n^i^r;return s<0&&(s+=4294967296),s}function S(e,t){var n=U(e,t,14),i=U(e,t,18),r=U(t,e,9),s=n^i^r;return s<0&&(s+=4294967296),s}function k(e,t){var n=O(e,t,1),i=O(e,t,8),r=N(e,t,7),s=n^i^r;return s<0&&(s+=4294967296),s}function A(e,t){var n=U(e,t,1),i=U(e,t,8),r=j(e,t,7),s=n^i^r;return s<0&&(s+=4294967296),s}function M(e,t){var n=O(e,t,19),i=O(t,e,29),r=N(e,t,6),s=n^i^r;return s<0&&(s+=4294967296),s}function x(e,t){var n=U(e,t,19),i=U(t,e,29),r=j(e,t,6),s=n^i^r;return s<0&&(s+=4294967296),s}var R=n(16),I=R.utils,T=I.assert,C=I.rotr32,D=I.rotl32,P=I.sum32,B=I.sum32_4,L=I.sum32_5,O=I.rotr64_hi,U=I.rotr64_lo,N=I.shr64_hi,j=I.shr64_lo,q=I.sum64,z=I.sum64_hi,F=I.sum64_lo,G=I.sum64_4_hi,H=I.sum64_4_lo,W=I.sum64_5_hi,V=I.sum64_5_lo,K=R.common.BlockHash,Z=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],Y=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],X=[1518500249,1859775393,2400959708,3395469782];I.inherits(i,K),t.sha256=i,i.blockSize=512,i.outSize=256,i.hmacStrength=192,i.padLength=64,i.prototype._update=function(e,t){for(var n=this.W,i=0;i<16;i++)n[i]=e[t+i];for(;i>8,o=255&r;s?n.push(s,o):n.push(o)}else for(var i=0;i>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24;return t>>>0}function o(e,t){for(var n="",i=0;i>>0}return s}function f(e,t){for(var n=new Array(4*e.length),i=0,r=0;i>>24,n[r+1]=s>>>16&255,n[r+2]=s>>>8&255,n[r+3]=255&s):(n[r+3]=s>>>24,n[r+2]=s>>>16&255,n[r+1]=s>>>8&255,n[r]=255&s)}return n}function u(e,t){return e>>>t|e<<32-t}function d(e,t){return e<>>32-t}function l(e,t){return e+t>>>0}function p(e,t,n){return e+t+n>>>0}function b(e,t,n,i){return e+t+n+i>>>0}function m(e,t,n,i,r){return e+t+n+i+r>>>0}function g(e,t){if(!e)throw new Error(t||"Assertion failed")}function v(e,t,n,i){var r=e[t],s=e[t+1],o=i+s>>>0,a=(o>>0,e[t+1]=o}function y(e,t,n,i){var r=t+i>>>0,s=(r>>0}function _(e,t,n,i){var r=t+i;return r>>>0}function w(e,t,n,i,r,s,o,a){var c=0,h=t;h=h+i>>>0,c+=h>>0,c+=h>>0,c+=h>>0}function E(e,t,n,i,r,s,o,a){var c=t+i+s+a;return c>>>0}function S(e,t,n,i,r,s,o,a,c,h){var f=0,u=t;u=u+i>>>0,f+=u>>0,f+=u>>0,f+=u>>0,f+=u>>0}function k(e,t,n,i,r,s,o,a,c,h){var f=t+i+s+a+h;return f>>>0}function A(e,t,n){var i=t<<32-n|e>>>n;return i>>>0}function M(e,t,n){var i=e<<32-n|t>>>n;return i>>>0}function x(e,t,n){return e>>>n}function R(e,t,n){var i=e<<32-n|t>>>n;return i>>>0}var I=t,T=n(2);I.toArray=i,I.toHex=r,I.htonl=s,I.toHex32=o,I.zero2=a,I.zero8=c,I.join32=h,I.split32=f,I.rotr32=u,I.rotl32=d,I.sum32=l,I.sum32_3=p,I.sum32_4=b,I.sum32_5=m,I.assert=g,I.inherits=T,t.sum64=v,t.sum64_hi=y,t.sum64_lo=_,t.sum64_4_hi=w,t.sum64_4_lo=E,t.sum64_5_hi=S,t.sum64_5_lo=k,t.rotr64_hi=A,t.rotr64_lo=M,t.shr64_hi=x,t.shr64_lo=R},function(e,t,n){var i=n(11),r=n(199),s=n(140),o=n(2),a=e.exports=function(e,t){var n=this;n.writable=!0,n.xhr=e,n.body=[],n.uri=(t.protocol||"http:")+"//"+t.host+(t.port?":"+t.port:"")+(t.path||"/"),"undefined"==typeof t.withCredentials&&(t.withCredentials=!0);try{e.withCredentials=t.withCredentials}catch(e){}if(t.responseType)try{e.responseType=t.responseType}catch(e){}if(e.open(t.method||"GET",n.uri,!0),e.onerror=function(e){n.emit("error",new Error("Network error"))},n._headers={},t.headers)for(var i=c(t.headers),o=0;othis.offset&&(this.emit("data",t.slice(this.offset)),this.offset=t.length))};var c=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t){t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,c=(1<>1,f=-7,u=n?r-1:0,d=n?-1:1,l=e[t+u];for(u+=d,s=l&(1<<-f)-1,l>>=-f,f+=a;f>0;s=256*s+e[t+u],u+=d,f-=8);for(o=s&(1<<-f)-1,s>>=-f,f+=i;f>0;o=256*o+e[t+u],u+=d,f-=8);if(0===s)s=1-h;else{if(s===c)return o?NaN:(l?-1:1)*(1/0);o+=Math.pow(2,i),s-=h}return(l?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,c,h=8*s-r-1,f=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,l=i?0:s-1,p=i?1:-1,b=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=f):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),t+=o+u>=1?d/c:d*Math.pow(2,1-u),t*c>=2&&(o++,c/=2),o+u>=f?(a=0,o=f):o+u>=1?(a=(t*c-1)*Math.pow(2,r),o+=u):(a=t*Math.pow(2,u-1)*Math.pow(2,r),o=0));r>=8;e[n+l]=255&a,l+=p,a/=256,r-=8);for(o=o<0;e[n+l]=255&o,l+=p,o/=256,h-=8);e[n+l-p]|=128*b}},function(e,t){var n=[].indexOf;e.exports=function(e,t){if(n)return e.indexOf(t);for(var i=0;i=6.0.0 <7.0.0",type:"range"},"/home/travis/build/hydrabolt/discord.js/node_modules/browserify-sign"]],_from:"elliptic@>=6.0.0 <7.0.0",_id:"elliptic@6.3.2",_inCache:!0,_location:"/elliptic",_nodeVersion:"6.3.0",_npmOperationalInternal:{host:"packages-16-east.internal.npmjs.com",tmp:"tmp/elliptic-6.3.2.tgz_1473938837205_0.3108903462998569"},_npmUser:{name:"indutny",email:"fedor@indutny.com"},_npmVersion:"3.10.3",_phantomChildren:{},_requested:{raw:"elliptic@^6.0.0",scope:null,escapedName:"elliptic",name:"elliptic",rawSpec:"^6.0.0",spec:">=6.0.0 <7.0.0",type:"range"},_requiredBy:["/browserify-sign","/create-ecdh"],_resolved:"https://registry.npmjs.org/elliptic/-/elliptic-6.3.2.tgz",_shasum:"e4c81e0829cf0a65ab70e998b8232723b5c1bc48",_shrinkwrap:null,_spec:"elliptic@^6.0.0",_where:"/home/travis/build/hydrabolt/discord.js/node_modules/browserify-sign",author:{name:"Fedor Indutny",email:"fedor@indutny.com"},bugs:{url:"https://github.com/indutny/elliptic/issues"},dependencies:{"bn.js":"^4.4.0",brorand:"^1.0.1","hash.js":"^1.0.0",inherits:"^2.0.1"},description:"EC cryptography",devDependencies:{brfs:"^1.4.3",coveralls:"^2.11.3",grunt:"^0.4.5","grunt-browserify":"^5.0.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^8.6.2",istanbul:"^0.4.2",jscs:"^2.9.0",jshint:"^2.6.0",mocha:"^2.1.0"},directories:{},dist:{shasum:"e4c81e0829cf0a65ab70e998b8232723b5c1bc48",tarball:"https://registry.npmjs.org/elliptic/-/elliptic-6.3.2.tgz"},files:["lib"],gitHead:"cbace4683a4a548dc0306ef36756151a20299cd5",homepage:"https://github.com/indutny/elliptic",keywords:["EC","Elliptic","curve","Cryptography"],license:"MIT",main:"lib/elliptic.js",maintainers:[{name:"indutny",email:"fedor@indutny.com"}],name:"elliptic",optionalDependencies:{},readme:"ERROR: No README data found!",repository:{type:"git",url:"git+ssh://git@github.com/indutny/elliptic.git"},scripts:{jscs:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",jshint:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",lint:"npm run jscs && npm run jshint",test:"npm run lint && npm run unit",unit:"istanbul test _mocha --reporter=spec test/index.js",version:"grunt dist && git add dist/"},version:"6.3.2"}},function(e,t){e.exports={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}},function(e,t){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(e,t,n){"use strict";function i(e,t){return e.msg=B[t],t}function r(e){return(e<<1)-(e>4?9:0)}function s(e){for(var t=e.length;--t>=0;)e[t]=0}function o(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(T.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function a(e,t){C._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,o(e.strm)}function c(e,t){e.pending_buf[e.pending++]=t}function h(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function f(e,t,n,i){var r=e.avail_in;return r>i&&(r=i),0===r?0:(e.avail_in-=r,T.arraySet(t,e.input,e.next_in,r,n),1===e.state.wrap?e.adler=D(e.adler,t,r,n):2===e.state.wrap&&(e.adler=P(e.adler,t,r,n)),e.next_in+=r,e.total_in+=r,r)}function u(e,t){var n,i,r=e.max_chain_length,s=e.strstart,o=e.prev_length,a=e.nice_match,c=e.strstart>e.w_size-ue?e.strstart-(e.w_size-ue):0,h=e.window,f=e.w_mask,u=e.prev,d=e.strstart+fe,l=h[s+o-1],p=h[s+o];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do if(n=t,h[n+o]===p&&h[n+o-1]===l&&h[n]===h[s]&&h[++n]===h[s+1]){s+=2,n++;do;while(h[++s]===h[++n]&&h[++s]===h[++n]&&h[++s]===h[++n]&&h[++s]===h[++n]&&h[++s]===h[++n]&&h[++s]===h[++n]&&h[++s]===h[++n]&&h[++s]===h[++n]&&so){if(e.match_start=t,o=i,i>=a)break;l=h[s+o-1],p=h[s+o]}}while((t=u[t&f])>c&&0!==--r);return o<=e.lookahead?o:e.lookahead}function d(e){var t,n,i,r,s,o=e.w_size;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=o+(o-ue)){T.arraySet(e.window,e.window,o,o,0),e.match_start-=o,e.strstart-=o,e.block_start-=o,n=e.hash_size,t=n;do i=e.head[--t],e.head[t]=i>=o?i-o:0;while(--n);n=o,t=n;do i=e.prev[--t],e.prev[t]=i>=o?i-o:0;while(--n);r+=o}if(0===e.strm.avail_in)break;if(n=f(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=n,e.lookahead+e.insert>=he)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(d(e),0===e.lookahead&&t===L)return _e;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+n;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,a(e,!1),0===e.strm.avail_out))return _e;if(e.strstart-e.block_start>=e.w_size-ue&&(a(e,!1),0===e.strm.avail_out))return _e}return e.insert=0,t===N?(a(e,!0),0===e.strm.avail_out?Ee:Se):e.strstart>e.block_start&&(a(e,!1),0===e.strm.avail_out)?_e:_e}function p(e,t){for(var n,i;;){if(e.lookahead=he&&(e.ins_h=(e.ins_h<=he)if(i=C._tr_tally(e,e.strstart-e.match_start,e.match_length-he),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=he){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<=he&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=he-1)),e.prev_length>=he&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-he,i=C._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-he),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=r&&(e.ins_h=(e.ins_h<=he&&e.strstart>0&&(r=e.strstart-1,i=o[r],i===o[++r]&&i===o[++r]&&i===o[++r])){s=e.strstart+fe;do;while(i===o[++r]&&i===o[++r]&&i===o[++r]&&i===o[++r]&&i===o[++r]&&i===o[++r]&&i===o[++r]&&i===o[++r]&&re.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=he?(n=C._tr_tally(e,1,e.match_length-he),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=C._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(a(e,!1),0===e.strm.avail_out))return _e}return e.insert=0,t===N?(a(e,!0),0===e.strm.avail_out?Ee:Se):e.last_lit&&(a(e,!1),0===e.strm.avail_out)?_e:we}function g(e,t){for(var n;;){if(0===e.lookahead&&(d(e),0===e.lookahead)){if(t===L)return _e;break}if(e.match_length=0,n=C._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(a(e,!1),0===e.strm.avail_out))return _e}return e.insert=0,t===N?(a(e,!0),0===e.strm.avail_out?Ee:Se):e.last_lit&&(a(e,!1),0===e.strm.avail_out)?_e:we}function v(e,t,n,i,r){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=i,this.func=r}function y(e){e.window_size=2*e.w_size,s(e.head),e.max_lazy_match=I[e.level].max_lazy,e.good_match=I[e.level].good_length,e.nice_match=I[e.level].nice_length,e.max_chain_length=I[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=he-1,e.match_available=0,e.ins_h=0}function _(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=$,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new T.Buf16(2*ae),this.dyn_dtree=new T.Buf16(2*(2*se+1)),this.bl_tree=new T.Buf16(2*(2*oe+1)),s(this.dyn_ltree),s(this.dyn_dtree),s(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new T.Buf16(ce+1),this.heap=new T.Buf16(2*re+1),s(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new T.Buf16(2*re+1),s(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function w(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=J,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?le:ve,e.adler=2===t.wrap?0:1,t.last_flush=L,C._tr_init(t),q):i(e,F)}function E(e){var t=w(e);return t===q&&y(e.state),t}function S(e,t){return e&&e.state?2!==e.state.wrap?F:(e.state.gzhead=t,q):F}function k(e,t,n,r,s,o){if(!e)return F;var a=1;if(t===W&&(t=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),s<1||s>Q||n!==$||r<8||r>15||t<0||t>9||o<0||o>Y)return i(e,F);8===r&&(r=9);var c=new _;return e.state=c,c.strm=e,c.wrap=a,c.gzhead=null,c.w_bits=r,c.w_size=1<j||t<0)return e?i(e,F):F;if(a=e.state,!e.output||!e.input&&0!==e.avail_in||a.status===ye&&t!==N)return i(e,0===e.avail_out?H:F);if(a.strm=e,n=a.last_flush,a.last_flush=t,a.status===le)if(2===a.wrap)e.adler=0,c(a,31),c(a,139),c(a,8),a.gzhead?(c(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),c(a,255&a.gzhead.time),c(a,a.gzhead.time>>8&255),c(a,a.gzhead.time>>16&255),c(a,a.gzhead.time>>24&255),c(a,9===a.level?2:a.strategy>=K||a.level<2?4:0),c(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(c(a,255&a.gzhead.extra.length),c(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(e.adler=P(e.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=pe):(c(a,0),c(a,0),c(a,0),c(a,0),c(a,0),c(a,9===a.level?2:a.strategy>=K||a.level<2?4:0),c(a,ke),a.status=ve);else{var d=$+(a.w_bits-8<<4)<<8,l=-1;l=a.strategy>=K||a.level<2?0:a.level<6?1:6===a.level?2:3,d|=l<<6,0!==a.strstart&&(d|=de),d+=31-d%31,a.status=ve,h(a,d),0!==a.strstart&&(h(a,e.adler>>>16),h(a,65535&e.adler)),e.adler=1}if(a.status===pe)if(a.gzhead.extra){for(f=a.pending;a.gzindex<(65535&a.gzhead.extra.length)&&(a.pending!==a.pending_buf_size||(a.gzhead.hcrc&&a.pending>f&&(e.adler=P(e.adler,a.pending_buf,a.pending-f,f)),o(e),f=a.pending,a.pending!==a.pending_buf_size));)c(a,255&a.gzhead.extra[a.gzindex]),a.gzindex++;a.gzhead.hcrc&&a.pending>f&&(e.adler=P(e.adler,a.pending_buf,a.pending-f,f)),a.gzindex===a.gzhead.extra.length&&(a.gzindex=0,a.status=be)}else a.status=be;if(a.status===be)if(a.gzhead.name){f=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>f&&(e.adler=P(e.adler,a.pending_buf,a.pending-f,f)),o(e),f=a.pending,a.pending===a.pending_buf_size)){u=1;break}u=a.gzindexf&&(e.adler=P(e.adler,a.pending_buf,a.pending-f,f)),0===u&&(a.gzindex=0,a.status=me)}else a.status=me;if(a.status===me)if(a.gzhead.comment){f=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>f&&(e.adler=P(e.adler,a.pending_buf,a.pending-f,f)),o(e),f=a.pending,a.pending===a.pending_buf_size)){u=1;break}u=a.gzindexf&&(e.adler=P(e.adler,a.pending_buf,a.pending-f,f)),0===u&&(a.status=ge)}else a.status=ge;if(a.status===ge&&(a.gzhead.hcrc?(a.pending+2>a.pending_buf_size&&o(e),a.pending+2<=a.pending_buf_size&&(c(a,255&e.adler),c(a,e.adler>>8&255),e.adler=0,a.status=ve)):a.status=ve),0!==a.pending){if(o(e),0===e.avail_out)return a.last_flush=-1,q}else if(0===e.avail_in&&r(t)<=r(n)&&t!==N)return i(e,H);if(a.status===ye&&0!==e.avail_in)return i(e,H);if(0!==e.avail_in||0!==a.lookahead||t!==L&&a.status!==ye){var p=a.strategy===K?g(a,t):a.strategy===Z?m(a,t):I[a.level].func(a,t);if(p!==Ee&&p!==Se||(a.status=ye),p===_e||p===Ee)return 0===e.avail_out&&(a.last_flush=-1),q;if(p===we&&(t===O?C._tr_align(a):t!==j&&(C._tr_stored_block(a,0,0,!1),t===U&&(s(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),o(e),0===e.avail_out))return a.last_flush=-1,q}return t!==N?q:a.wrap<=0?z:(2===a.wrap?(c(a,255&e.adler),c(a,e.adler>>8&255),c(a,e.adler>>16&255),c(a,e.adler>>24&255),c(a,255&e.total_in),c(a,e.total_in>>8&255),c(a,e.total_in>>16&255),c(a,e.total_in>>24&255)):(h(a,e.adler>>>16),h(a,65535&e.adler)),o(e),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?q:z)}function x(e){var t;return e&&e.state?(t=e.state.status,t!==le&&t!==pe&&t!==be&&t!==me&&t!==ge&&t!==ve&&t!==ye?i(e,F):(e.state=null,t===ve?i(e,G):q)):F}function R(e,t){var n,i,r,o,a,c,h,f,u=t.length;if(!e||!e.state)return F;if(n=e.state,o=n.wrap,2===o||1===o&&n.status!==le||n.lookahead)return F;for(1===o&&(e.adler=D(e.adler,t,u,0)),n.wrap=0,u>=n.w_size&&(0===o&&(s(n.head),n.strstart=0,n.block_start=0,n.insert=0),f=new T.Buf8(n.w_size),T.arraySet(f,t,u-n.w_size,n.w_size,0),t=f,u=n.w_size),a=e.avail_in,c=e.next_in,h=e.input,e.avail_in=u,e.next_in=0,e.input=t,d(n);n.lookahead>=he;){i=n.strstart,r=n.lookahead-(he-1);do n.ins_h=(n.ins_h<>>24,b>>>=E,m-=E,E=w>>>16&255,0===E)R[a++]=65535&w;else{if(!(16&E)){if(0===(64&E)){w=g[(65535&w)+(b&(1<>>=E,m-=E),m<15&&(b+=x[s++]<>>24,b>>>=E,m-=E,E=w>>>16&255,!(16&E)){if(0===(64&E)){w=v[(65535&w)+(b&(1<f){e.msg="invalid distance too far back",r.mode=n;break e}if(b>>>=E,m-=E,E=a-c,k>E){if(E=k-E,E>d&&r.sane){e.msg="invalid distance too far back",r.mode=n;break e}if(A=0,M=p,0===l){if(A+=u-E,E2;)R[a++]=M[A++],R[a++]=M[A++],R[a++]=M[A++],S-=3;S&&(R[a++]=M[A++],S>1&&(R[a++]=M[A++]))}else{A=a-k;do R[a++]=R[A++],R[a++]=R[A++],R[a++]=R[A++],S-=3;while(S>2);S&&(R[a++]=R[A++],S>1&&(R[a++]=R[A++]))}break}}break}}while(s>3,s-=S,m-=S<<3,b&=(1<>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function r(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new v.Buf16(320),this.work=new v.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function s(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=U,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new v.Buf32(be),t.distcode=t.distdyn=new v.Buf32(me),t.sane=1,t.back=-1,I):D}function o(e){var t;return e&&e.state?(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,s(e)):D}function a(e,t){var n,i;return e&&e.state?(i=e.state,t<0?(n=0,t=-t):(n=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15)?D:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,o(e))):D}function c(e,t){var n,i;return e?(i=new r,e.state=i,i.window=null,n=a(e,t),n!==I&&(e.state=null),n):D}function h(e){return c(e,ve)}function f(e){if(ye){var t;for(m=new v.Buf32(512),g=new v.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(E(k,e.lens,0,288,m,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;E(A,e.lens,0,32,g,0,e.work,{bits:5}),ye=!1}e.lencode=m,e.lenbits=9,e.distcode=g,e.distbits=5}function u(e,t,n,i){var r,s=e.state;return null===s.window&&(s.wsize=1<=s.wsize?(v.arraySet(s.window,t,n-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(r=s.wsize-s.wnext,r>i&&(r=i),v.arraySet(s.window,t,n-i,r,s.wnext),i-=r,i?(v.arraySet(s.window,t,n-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=r,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,n.check=_(n.check,xe,2,0),d=0,l=0,n.mode=N;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&d)<<8)+(d>>8))%31){e.msg="incorrect header check",n.mode=de;break}if((15&d)!==O){e.msg="unknown compression method",n.mode=de;break}if(d>>>=4,l-=4,Ee=(15&d)+8,0===n.wbits)n.wbits=Ee;else if(Ee>n.wbits){e.msg="invalid window size",n.mode=de;break}n.dmax=1<>8&1),512&n.flags&&(xe[0]=255&d,xe[1]=d>>>8&255,n.check=_(n.check,xe,2,0)),d=0,l=0,n.mode=j;case j:for(;l<32;){if(0===c)break e;c--,d+=r[o++]<>>8&255,xe[2]=d>>>16&255,xe[3]=d>>>24&255,n.check=_(n.check,xe,4,0)),d=0,l=0,n.mode=q;case q:for(;l<16;){if(0===c)break e;c--,d+=r[o++]<>8),512&n.flags&&(xe[0]=255&d,xe[1]=d>>>8&255,n.check=_(n.check,xe,2,0)),d=0,l=0,n.mode=z;case z:if(1024&n.flags){for(;l<16;){if(0===c)break e;c--,d+=r[o++]<>>8&255,n.check=_(n.check,xe,2,0)),d=0,l=0}else n.head&&(n.head.extra=null);n.mode=F;case F:if(1024&n.flags&&(m=n.length,m>c&&(m=c),m&&(n.head&&(Ee=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),v.arraySet(n.head.extra,r,o,m,Ee)),512&n.flags&&(n.check=_(n.check,r,m,o)),c-=m,o+=m,n.length-=m),n.length))break e;n.length=0,n.mode=G;case G:if(2048&n.flags){if(0===c)break e;m=0;do Ee=r[o+m++],n.head&&Ee&&n.length<65536&&(n.head.name+=String.fromCharCode(Ee));while(Ee&&m>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Z;break;case V:for(;l<32;){if(0===c)break e;c--,d+=r[o++]<>>=7&l,l-=7&l,n.mode=he;break}for(;l<3;){if(0===c)break e;c--,d+=r[o++]<>>=1,l-=1,3&d){case 0:n.mode=X;break;case 1:if(f(n),n.mode=ne,t===R){d>>>=2,l-=2;break e}break;case 2:n.mode=Q;break;case 3:e.msg="invalid block type",n.mode=de}d>>>=2,l-=2;break;case X:for(d>>>=7&l,l-=7&l;l<32;){if(0===c)break e;c--,d+=r[o++]<>>16^65535)){e.msg="invalid stored block lengths",n.mode=de;break}if(n.length=65535&d,d=0,l=0,n.mode=J,t===R)break e;case J:n.mode=$;case $:if(m=n.length){if(m>c&&(m=c),m>h&&(m=h),0===m)break e;v.arraySet(s,r,o,m,a),c-=m,o+=m,h-=m,a+=m,n.length-=m;break}n.mode=Z;break;case Q:for(;l<14;){if(0===c)break e;c--,d+=r[o++]<>>=5,l-=5,n.ndist=(31&d)+1,d>>>=5,l-=5,n.ncode=(15&d)+4,d>>>=4,l-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=de;break}n.have=0,n.mode=ee;case ee:for(;n.have>>=3,l-=3}for(;n.have<19;)n.lens[Re[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,ke={bits:n.lenbits},Se=E(S,n.lens,0,19,n.lencode,0,n.work,ke),n.lenbits=ke.bits,Se){e.msg="invalid code lengths set",n.mode=de;break}n.have=0,n.mode=te;case te:for(;n.have>>24,ge=Me>>>16&255,ve=65535&Me,!(me<=l);){if(0===c)break e;c--,d+=r[o++]<>>=me,l-=me,n.lens[n.have++]=ve;else{if(16===ve){for(Ae=me+2;l>>=me,l-=me,0===n.have){e.msg="invalid bit length repeat",n.mode=de;break}Ee=n.lens[n.have-1],m=3+(3&d),d>>>=2,l-=2}else if(17===ve){for(Ae=me+3;l>>=me,l-=me,Ee=0,m=3+(7&d),d>>>=3,l-=3}else{for(Ae=me+7;l>>=me,l-=me,Ee=0,m=11+(127&d),d>>>=7,l-=7}if(n.have+m>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=de;break}for(;m--;)n.lens[n.have++]=Ee}}if(n.mode===de)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=de;break}if(n.lenbits=9,ke={bits:n.lenbits},Se=E(k,n.lens,0,n.nlen,n.lencode,0,n.work,ke),n.lenbits=ke.bits,Se){e.msg="invalid literal/lengths set",n.mode=de;break}if(n.distbits=6,n.distcode=n.distdyn,ke={bits:n.distbits},Se=E(A,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,ke),n.distbits=ke.bits,Se){e.msg="invalid distances set",n.mode=de;break}if(n.mode=ne,t===R)break e;case ne:n.mode=ie;case ie:if(c>=6&&h>=258){e.next_out=a,e.avail_out=h,e.next_in=o,e.avail_in=c,n.hold=d,n.bits=l,w(e,b),a=e.next_out,s=e.output,h=e.avail_out,o=e.next_in,r=e.input,c=e.avail_in,d=n.hold,l=n.bits,n.mode===Z&&(n.back=-1);break}for(n.back=0;Me=n.lencode[d&(1<>>24,ge=Me>>>16&255,ve=65535&Me,!(me<=l);){if(0===c)break e;c--,d+=r[o++]<>ye)],me=Me>>>24,ge=Me>>>16&255,ve=65535&Me,!(ye+me<=l);){if(0===c)break e;c--,d+=r[o++]<>>=ye,l-=ye,n.back+=ye}if(d>>>=me,l-=me,n.back+=me,n.length=ve,0===ge){n.mode=ce;break}if(32&ge){n.back=-1,n.mode=Z;break}if(64&ge){e.msg="invalid literal/length code",n.mode=de;break}n.extra=15&ge,n.mode=re;case re:if(n.extra){for(Ae=n.extra;l>>=n.extra,l-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=se;case se:for(;Me=n.distcode[d&(1<>>24,ge=Me>>>16&255,ve=65535&Me,!(me<=l);){if(0===c)break e;c--,d+=r[o++]<>ye)],me=Me>>>24,ge=Me>>>16&255,ve=65535&Me,!(ye+me<=l);){if(0===c)break e;c--,d+=r[o++]<>>=ye,l-=ye,n.back+=ye}if(d>>>=me,l-=me,n.back+=me,64&ge){e.msg="invalid distance code",n.mode=de;break}n.offset=ve,n.extra=15&ge,n.mode=oe;case oe:if(n.extra){for(Ae=n.extra;l>>=n.extra,l-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=de;break}n.mode=ae;case ae:if(0===h)break e;if(m=b-h,n.offset>m){if(m=n.offset-m,m>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=de;break}m>n.wnext?(m-=n.wnext,g=n.wsize-m):g=n.wnext-m,m>n.length&&(m=n.length),be=n.window}else be=s,g=a-n.offset,m=n.length;m>h&&(m=h),h-=m,n.length-=m;do s[a++]=be[g++];while(--m);0===n.length&&(n.mode=ie);break;case ce:if(0===h)break e;s[a++]=n.length,h--,n.mode=ie;break;case he:if(n.wrap){for(;l<32;){if(0===c)break e;c--,d|=r[o++]<=1&&0===z[D];D--);if(P>D&&(P=D),0===D)return b[m++]=20971520,b[m++]=20971520,v.bits=1,0;for(C=1;C0&&(e===a||1!==D))return-1;for(F[1]=0,I=1;Is||e===h&&U>o)return 1;for(var W=0;;){W++,A=I-L,g[T]k?(M=G[H+g[T]],x=j[q+g[T]]):(M=96,x=0),y=1<>L)+_]=A<<24|M<<16|x|0;while(0!==_);for(y=1<>=1;if(0!==y?(N&=y-1,N+=y):N=0,T++,0===--z[I]){if(I===D)break;I=t[n+g[T]]}if(I>P&&(N&E)!==w){for(0===L&&(L=P),S+=C,B=I-L,O=1<s||e===h&&U>o)return 1;w=N&E,b[w]=P<<24|B<<16|S-m|0}}return 0!==N&&(b[S+N]=I-L<<24|64<<16|0),v.bits=P,0}},function(e,t,n){"use strict";function i(e){for(var t=e.length;--t>=0;)e[t]=0}function r(e,t,n,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}function s(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function o(e){return e<256?ce[e]:ce[256+(e>>>7)]}function a(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function c(e,t,n){e.bi_valid>Y-n?(e.bi_buf|=t<>Y-e.bi_valid,e.bi_valid+=n-Y):(e.bi_buf|=t<>>=1,n<<=1;while(--t>0);return n>>>1}function u(e){16===e.bi_valid?(a(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}function d(e,t){var n,i,r,s,o,a,c=t.dyn_tree,h=t.max_code,f=t.stat_desc.static_tree,u=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,l=t.stat_desc.extra_base,p=t.stat_desc.max_length,b=0;for(s=0;s<=Z;s++)e.bl_count[s]=0;for(c[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;np&&(s=p,b++),c[2*i+1]=s,i>h||(e.bl_count[s]++,o=0,i>=l&&(o=d[i-l]),a=c[2*i],e.opt_len+=a*(s+o),u&&(e.static_len+=a*(f[2*i+1]+o)));if(0!==b){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,b-=2}while(b>0);for(s=p;0!==s;s--)for(i=e.bl_count[s];0!==i;)r=e.heap[--n],r>h||(c[2*r+1]!==s&&(e.opt_len+=(s-c[2*r+1])*c[2*r],c[2*r+1]=s),i--)}}function l(e,t,n){var i,r,s=new Array(Z+1),o=0;for(i=1;i<=Z;i++)s[i]=o=o+n[i-1]<<1;for(r=0;r<=t;r++){var a=e[2*r+1];0!==a&&(e[2*r]=f(s[a]++,a))}}function p(){var e,t,n,i,s,o=new Array(Z+1);for(n=0,i=0;i>=7;i8?a(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function g(e,t,n,i){m(e),i&&(a(e,n),a(e,~n)),D.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}function v(e,t,n,i){var r=2*t,s=2*n;return e[r]>1;n>=1;n--)y(e,s,n);r=c;do n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],y(e,s,1),i=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=i,s[2*r]=s[2*n]+s[2*i],e.depth[r]=(e.depth[n]>=e.depth[i]?e.depth[n]:e.depth[i])+1,s[2*n+1]=s[2*i+1]=r,e.heap[1]=r++,y(e,s,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],d(e,t),l(s,h,e.bl_count)}function E(e,t,n){var i,r,s=-1,o=t[1],a=0,c=7,h=4;for(0===o&&(c=138,h=3),t[2*(n+1)+1]=65535,i=0;i<=n;i++)r=o,o=t[2*(i+1)+1],++a=3&&0===e.bl_tree[2*re[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}function A(e,t,n,i){var r;for(c(e,t-257,5),c(e,n-1,5),c(e,i-4,4),r=0;r>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return B;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return L;for(t=32;t0?(e.strm.data_type===O&&(e.strm.data_type=M(e)),w(e,e.l_desc),w(e,e.d_desc),o=k(e),r=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=r&&(r=s)):r=s=n+5,n+4<=r&&t!==-1?R(e,t,n,i):e.strategy===P||s===r?(c(e,(N<<1)+(i?1:0),3),_(e,oe,ae)):(c(e,(j<<1)+(i?1:0),3),A(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),_(e,e.dyn_ltree,e.dyn_dtree)),b(e),i&&m(e)}function C(e,t,n){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(he[n]+G+1)]++,e.dyn_dtree[2*o(t)]++),e.last_lit===e.lit_bufsize-1}var D=n(42),P=4,B=0,L=1,O=2,U=0,N=1,j=2,q=3,z=258,F=29,G=256,H=G+1+F,W=30,V=19,K=2*H+1,Z=15,Y=16,X=7,J=256,$=16,Q=17,ee=18,te=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ne=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ie=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],re=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],se=512,oe=new Array(2*(H+2));i(oe);var ae=new Array(2*W);i(ae);var ce=new Array(se);i(ce);var he=new Array(z-q+1);i(he);var fe=new Array(F);i(fe);var ue=new Array(W);i(ue);var de,le,pe,be=!1;t._tr_init=x,t._tr_stored_block=R,t._tr_flush_block=T,t._tr_tally=C,t._tr_align=I},function(e,t){"use strict";function n(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=n},function(e,t,n){var i=n(36),r=i.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});t.RSAPrivateKey=r;var s=i.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});t.RSAPublicKey=s;var o=i.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(a),this.key("subjectPublicKey").bitstr())});t.PublicKey=o;var a=i.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),c=i.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(a),this.key("subjectPrivateKey").octstr())});t.PrivateKey=c;var h=i.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});t.EncryptedPrivateKey=h;var f=i.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});t.DSAPrivateKey=f,t.DSAparam=i.define("DSAparam",function(){this.int()});var u=i.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(d),this.key("publicKey").optional().explicit(1).bitstr())});t.ECPrivateKey=u;var d=i.define("ECParameters",function(){this.choice({namedCurve:this.objid()})});t.signature=i.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())})},function(e,t,n){(function(t){var i=/Proc-Type: 4,ENCRYPTED\r?\nDEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)\r?\n\r?\n([0-9A-z\n\r\+\/\=]+)\r?\n/m,r=/^-----BEGIN (.*) KEY-----\r?\n/m,s=/^-----BEGIN (.*) KEY-----\r?\n([0-9A-z\n\r\+\/\=]+)\r?\n-----END \1 KEY-----$/m,o=n(41),a=n(50);e.exports=function(e,n){var c,h=e.toString(),f=h.match(i);if(f){var u="aes"+f[1],d=new t(f[2],"hex"),l=new t(f[3].replace(/\r?\n/g,""),"base64"),p=o(n,d.slice(0,8),parseInt(f[1],10)).key,b=[],m=a.createDecipheriv(u,p,d);b.push(m.update(l)),b.push(m.final()),c=t.concat(b)}else{var g=h.match(s);c=new t(g[2].replace(/\r?\n/g,""),"base64")}var v=h.match(r)[1]+" KEY";return{tag:v,data:c}}}).call(t,n(0).Buffer)},function(e,t){var n=Math.pow(2,30)-1;e.exports=function(e,t){if("number"!=typeof e)throw new TypeError("Iterations not a number");if(e<0)throw new TypeError("Bad iterations");if("number"!=typeof t)throw new TypeError("Key length not a number");if(t<0||t>n||t!==t)throw new TypeError("Bad key length")}},function(e,t,n){t.publicEncrypt=n(217),t.privateDecrypt=n(216),t.privateEncrypt=function(e,n){return t.publicEncrypt(e,n,!0)},t.publicDecrypt=function(e,n){return t.privateDecrypt(e,n,!0)}},function(e,t,n){(function(t){function i(e,n){var i=(e.modulus,e.modulus.byteLength()),r=(n.length,u("sha1").update(new t("")).digest()),o=r.length;if(0!==n[0])throw new Error("decryption error");var h=n.slice(1,o+1),f=n.slice(o+1),d=c(h,a(f,o)),l=c(f,a(d,i-o-1));if(s(r,l.slice(0,o)))throw new Error("decryption error");for(var p=o;0===l[p];)p++;if(1!==l[p++])throw new Error("decryption error");return l.slice(p)}function r(e,t,n){for(var i=t.slice(0,2),r=2,s=0;0!==t[r++];)if(r>=t.length){s++;break}var o=t.slice(2,r-1);t.slice(r-1,r);if(("0002"!==i.toString("hex")&&!n||"0001"!==i.toString("hex")&&n)&&s++,o.length<8&&s++,s)throw new Error("decryption error");return t.slice(r)}function s(e,n){e=new t(e),n=new t(n);var i=0,r=e.length;e.length!==n.length&&(i++,r=Math.min(e.length,n.length));for(var s=-1;++su||new h(n).cmp(c.modulus)>=0)throw new Error("decryption error");var l;l=s?d(new h(n),c):f(n,c);var p=new t(u-l.length);if(p.fill(0),l=t.concat([p,l],u),4===a)return i(c,l);if(1===a)return r(c,l,s);if(3===a)return l;throw new Error("unknown padding")}}).call(t,n(0).Buffer)},function(e,t,n){(function(t){function i(e,n){var i=e.modulus.byteLength(),r=n.length,s=c("sha1").update(new t("")).digest(),o=s.length,d=2*o;if(r>i-d-2)throw new Error("message too long");var l=new t(i-r-d-2);l.fill(0);var p=i-o-1,b=a(o),m=f(t.concat([s,l,new t([1]),n],p),h(b,p)),g=f(b,h(m,o));return new u(t.concat([new t([0]),g,m],i))}function r(e,n,i){var r=n.length,o=e.modulus.byteLength();if(r>o-11)throw new Error("message too long");var a;return i?(a=new t(o-r-3),a.fill(255)):a=s(o-r-3),new u(t.concat([new t([0,i?1:2]),a,new t([0]),n],o))}function s(e,n){for(var i,r=new t(e),s=0,o=a(2*e),c=0;s=0)throw new Error("data too long for modulus")}return n?l(a,c):d(a,c)}}).call(t,n(0).Buffer)},function(e,t,n){(function(e,i){var r;!function(s){function o(e){throw new RangeError(D[e])}function a(e,t){for(var n=e.length,i=[];n--;)i[n]=t(e[n]);return i}function c(e,t){var n=e.split("@"),i="";n.length>1&&(i=n[0]+"@",e=n[1]),e=e.replace(C,".");var r=e.split("."),s=a(r,t).join(".");return i+s}function h(e){for(var t,n,i=[],r=0,s=e.length;r=55296&&t<=56319&&r65535&&(e-=65536,t+=L(e>>>10&1023|55296),e=56320|1023&e),t+=L(e)}).join("")}function u(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:w}function d(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function l(e,t,n){var i=0;for(e=n?B(e/A):e>>1,e+=B(e/t);e>P*S>>1;i+=w)e=B(e/P);return B(i+(P+1)*e/(e+k))}function p(e){var t,n,i,r,s,a,c,h,d,p,b=[],m=e.length,g=0,v=x,y=M;for(n=e.lastIndexOf(R),n<0&&(n=0),i=0;i=128&&o("not-basic"),b.push(e.charCodeAt(i));for(r=n>0?n+1:0;r=m&&o("invalid-input"),h=u(e.charCodeAt(r++)),(h>=w||h>B((_-g)/a))&&o("overflow"),g+=h*a,d=c<=y?E:c>=y+S?S:c-y,!(hB(_/p)&&o("overflow"),a*=p;t=b.length+1,y=l(g-s,t,0==s),B(g/t)>_-v&&o("overflow"),v+=B(g/t),g%=t,b.splice(g++,0,v)}return f(b)}function b(e){var t,n,i,r,s,a,c,f,u,p,b,m,g,v,y,k=[];for(e=h(e),m=e.length,t=x,n=0,s=M,a=0;a=t&&bB((_-n)/g)&&o("overflow"),n+=(c-t)*g,t=c,a=0;a_&&o("overflow"),b==t){for(f=n,u=w;p=u<=s?E:u>=s+S?S:u-s,!(f= 0x80 (not a basic code point)","invalid-input":"Invalid input"},P=w-E,B=Math.floor,L=String.fromCharCode;y={version:"1.4.1",ucs2:{decode:h,encode:f},decode:p,encode:b,toASCII:g,toUnicode:m},r=function(){return y}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(this)}).call(t,n(121)(e),n(18))},function(e,t){"use strict";function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,r,s){t=t||"&",r=r||"=";var o={};if("string"!=typeof e||0===e.length)return o;var a=/\+/g;e=e.split(t);var c=1e3;s&&"number"==typeof s.maxKeys&&(c=s.maxKeys);var h=e.length;c>0&&h>c&&(h=c);for(var f=0;f=0?(u=b.substr(0,m),d=b.substr(m+1)):(u=b,d=""),l=decodeURIComponent(u),p=decodeURIComponent(d),n(o,l)?i(o[l])?o[l].push(p):o[l]=[o[l],p]:o[l]=p}return o};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t){"use strict";function n(e,t){if(e.map)return e.map(t);for(var n=[],i=0;i0?this.tail.next=t:this.head=t,this.tail=t,++this.length},i.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},i.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},i.prototype.clear=function(){this.head=this.tail=null,this.length=0},i.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},i.prototype.concat=function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t=r.allocUnsafe(e>>>0),n=this.head,i=0;n;)n.data.copy(t,i),i+=n.data.length,n=n.next;return t}},function(e,t,n){e.exports=n(116)},function(e,t,n){(function(i){var r=function(){try{return n(11)}catch(e){}}();t=e.exports=n(117),t.Stream=r||t,t.Readable=t,t.Writable=n(58),t.Duplex=n(17),t.Transform=n(57),t.PassThrough=n(116),!i.browser&&"disable"===i.env.READABLE_STREAM&&r&&(e.exports=r)}).call(t,n(8))},function(e,t,n){e.exports=n(58)},function(e,t,n){function i(e){if(e)return r(e)}function r(e){for(var t in i.prototype)e[t]=i.prototype[t];return e}var s=n(119);e.exports=i,i.prototype.clearTimeout=function(){return this._timeout=0,clearTimeout(this._timer),this},i.prototype.parse=function(e){return this._parser=e,this},i.prototype.serialize=function(e){return this._serializer=e,this},i.prototype.timeout=function(e){return this._timeout=e,this},i.prototype.then=function(e,t){if(!this._fullfilledPromise){var n=this;this._fullfilledPromise=new Promise(function(e,t){n.end(function(n,i){n?t(n):e(i)})})}return this._fullfilledPromise.then(e,t)},i.prototype.catch=function(e){return this.then(void 0,e)},i.prototype.use=function(e){return e(this),this},i.prototype.get=function(e){return this._header[e.toLowerCase()]},i.prototype.getHeader=i.prototype.get,i.prototype.set=function(e,t){if(s(e)){for(var n in e)this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},i.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},i.prototype.field=function(e,t){if(null===e||void 0===e)throw new Error(".field(name, val) name can not be empty");if(s(e)){for(var n in e)this.field(n,e[n]);return this}if(null===t||void 0===t)throw new Error(".field(name, val) val can not be empty");return this._getFormData().append(e,t),this},i.prototype.abort=function(){return this._aborted?this:(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort"),this)},i.prototype.withCredentials=function(){return this._withCredentials=!0,this},i.prototype.redirects=function(e){return this._maxRedirects=e,this},i.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},i.prototype.send=function(e){var t=s(e),n=this._header["content-type"];if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw Error("Can't merge these send calls");if(t&&s(this._data))for(var i in e)this._data[i]=e[i];else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],"application/x-www-form-urlencoded"==n?this._data=this._data?this._data+"&"+e:e:this._data=(this._data||"")+e):this._data=e;return!t||this._isHost(e)?this:(n||this.type("json"),this)}},function(e,t){function n(e,t,n){return"function"==typeof n?new e("GET",t).end(n):2==arguments.length?new e("GET",t):new e(t,n)}e.exports=n},function(e,t){"use strict";function n(e){return this instanceof n?(this.id=r++,void(this.ee=e)):new n(e)}var i=Object.prototype.hasOwnProperty,r=0;n.prototype.on=function(e,t,n){return t.__ultron=this.id,this.ee.on(e,t,n),this},n.prototype.once=function(e,t,n){return t.__ultron=this.id,this.ee.once(e,t,n),this},n.prototype.remove=function(){var e,t=arguments;if(1===t.length&&"string"==typeof t[0])t=t[0].split(/[, ]+/);else if(!t.length){t=[];for(e in this.ee._events)i.call(this.ee._events,e)&&t.push(e)}for(var n=0;n * MIT Licensed */ -e.exports.Validation={isValidUTF8:function(e){return!0}}},function(e,t,i){"use strict";try{e.exports=i(89)("validation")}catch(t){e.exports=i(232)}},function(e,t,i){(function(t){function i(e,t){function i(){if(!n){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}if(r("noDeprecation"))return e;var n=!1;return i}function r(e){try{if(!t.localStorage)return!1}catch(e){return!1}var i=t.localStorage[e];return null!=i&&"true"===String(i).toLowerCase()}e.exports=i}).call(t,i(19))},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(module,exports,__webpack_require__){function Context(){}var indexOf=__webpack_require__(201),Object_keys=function(e){if(Object.keys)return Object.keys(e);var t=[];for(var i in e)t.push(i);return t},forEach=function(e,t){if(e.forEach)return e.forEach(t);for(var i=0;i * MIT Licensed */ -i(10);r.prototype.get=function(e){if(null==this._buffer||this._offset+e>this._buffer.length){var i=new t(this._growStrategy(e));this._buffer=i,this._offset=0}this._used+=e;var r=this._buffer.slice(this._offset,this._offset+e);return this._offset+=e,r},r.prototype.reset=function(e){var i=this._shrinkStrategy();ithis._buffer.length){var n=new t(this._growStrategy(e));this._buffer=n,this._offset=0}this._used+=e;var i=this._buffer.slice(this._offset,this._offset+e);return this._offset+=e,i},i.prototype.reset=function(e){var n=this._shrinkStrategy();n * MIT Licensed */ -t.BufferUtil={merge:function(e,t){for(var i=0,r=0,n=t.length;r * MIT Licensed */ -var s=(i(10),0),a=1,o=2,f=3;e.exports=r,r.prototype.add=function(e){function t(){if(i.state===s){if(2==e.length&&255==e[0]&&0==e[1])return i.reset(),void i.onclose();if(128===e[0])i.messageEnd=0,i.state=o,e=e.slice(1);else{if(0!==e[0])return void i.error("payload must start with 0x00 byte",!0);e=e.slice(1),i.state=a}}if(i.state===o){for(var t=0;t0&&(e=e.slice(t))}if(i.state===f){var r=i.messageEnd-i.spanLength;return e.length>=r?(i.buffers.push(e),i.spanLength+=r,i.messageEnd=r,i.parse()):(i.buffers.push(e),void(i.spanLength+=e.length))}return i.buffers.push(e),(i.messageEnd=n(e,255))!=-1?(i.spanLength+=i.messageEnd,i.parse()):void(i.spanLength+=e.length)}if(!this.dead)for(var i=this;e;)e=t()},r.prototype.cleanup=function(){this.dead=!0,this.state=s,this.buffers=[]},r.prototype.parse=function(){for(var e=new t(this.spanLength),i=0,r=0,n=this.buffers.length;r0&&o.copy(e,i,0,this.messageEnd),this.state!==a&&--this.messageEnd;var f=null;return this.messageEnd0&&(e=e.slice(t))}if(n.state===c){var i=n.messageEnd-n.spanLength;return e.length>=i?(n.buffers.push(e),n.spanLength+=i,n.messageEnd=i,n.parse()):(n.buffers.push(e),void(n.spanLength+=e.length))}return n.buffers.push(e),(n.messageEnd=r(e,255))!=-1?(n.spanLength+=n.messageEnd,n.parse()):void(n.spanLength+=e.length)}if(!this.dead)for(var n=this;e;)e=t()},i.prototype.cleanup=function(){this.dead=!0,this.state=s,this.buffers=[]},i.prototype.parse=function(){for(var e=new t(this.spanLength),n=0,i=0,r=this.buffers.length;i0&&a.copy(e,n,0,this.messageEnd),this.state!==o&&--this.messageEnd;var c=null;return this.messageEnd * MIT Licensed */ -var n=i(5),s=i(10);n.EventEmitter;e.exports=r,s.inherits(r,n.EventEmitter),r.prototype.send=function(e,i,r){if(!this.isClosed){var n="string"==typeof e,s=n?t.byteLength(e):e.length,a=s>127?2:1,o=0==this.continuationFrame,f=!i||!("undefined"!=typeof i.fin&&!i.fin),h=new t((o?i&&i.binary?1+a:1:0)+s+(!f||i&&i.binary?0:1)),c=o?1:0;o&&(i&&i.binary?(h.write("€","binary"),a>1&&h.write(String.fromCharCode(128+s/128),c++,"binary"),h.write(String.fromCharCode(127&s),c++,"binary")):h.write("\0","binary")),n?h.write(e,c,"utf8"):e.copy(h,c,0),f?(i&&i.binary||h.write("ÿ",c+s,"binary"),this.continuationFrame=!1):this.continuationFrame=!0;try{this.socket.write(h,"binary",r)}catch(e){this.error(e.toString())}}},r.prototype.close=function(e,i,r,n){if(!this.isClosed){this.isClosed=!0;try{this.continuationFrame&&this.socket.write(new t([255],"binary")),this.socket.write(new t([255,0]),"binary",n)}catch(e){this.error(e.toString())}}},r.prototype.ping=function(e,t){},r.prototype.pong=function(e,t){},r.prototype.error=function(e){return this.emit("error",e),this}}).call(t,i(0).Buffer)},function(e,t){/*! +var r=n(5),s=n(10);r.EventEmitter;e.exports=i,s.inherits(i,r.EventEmitter),i.prototype.send=function(e,n,i){if(!this.isClosed){var r="string"==typeof e,s=r?t.byteLength(e):e.length,o=s>127?2:1,a=0==this.continuationFrame,c=!n||!("undefined"!=typeof n.fin&&!n.fin),h=new t((a?n&&n.binary?1+o:1:0)+s+(!c||n&&n.binary?0:1)),f=a?1:0;a&&(n&&n.binary?(h.write("€","binary"),o>1&&h.write(String.fromCharCode(128+s/128),f++,"binary"),h.write(String.fromCharCode(127&s),f++,"binary")):h.write("\0","binary")),r?h.write(e,f,"utf8"):e.copy(h,f,0),c?(n&&n.binary||h.write("ÿ",f+s,"binary"),this.continuationFrame=!1):this.continuationFrame=!0;try{this.socket.write(h,"binary",i)}catch(e){this.error(e.toString())}}},i.prototype.close=function(e,n,i,r){if(!this.isClosed){this.isClosed=!0;try{this.continuationFrame&&this.socket.write(new t([255],"binary")),this.socket.write(new t([255,0]),"binary",r)}catch(e){this.error(e.toString())}}},i.prototype.ping=function(e,t){},i.prototype.pong=function(e,t){},i.prototype.error=function(e){return this.emit("error",e),this}}).call(t,n(0).Buffer)},function(e,t){/*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik * MIT Licensed */ -t.Validation={isValidUTF8:function(e){return!0}}},function(e,t,i){"use strict";/*! +t.Validation={isValidUTF8:function(e){return!0}}},function(e,t,n){"use strict";/*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik * MIT Licensed */ -try{e.exports=i(233)}catch(t){e.exports=i(246)}},function(e,t,i){(function(t){function r(e,i){if(this instanceof r==!1)return new r(e,i);if(h.EventEmitter.call(this),e=new u({host:"0.0.0.0",port:null,server:null,verifyClient:null,handleProtocols:null,path:null,noServer:!1,disableHixie:!1,clientTracking:!0,perMessageDeflate:!0,maxPayload:104857600}).merge(e),!e.isDefinedAndNonNull("port")&&!e.isDefinedAndNonNull("server")&&!e.value.noServer)throw new TypeError("`port` or a `server` must be provided");var n=this;if(e.isDefinedAndNonNull("port"))this._server=c.createServer(function(e,t){var i=c.STATUS_CODES[426];t.writeHead(426,{"Content-Length":i.length,"Content-Type":"text/plain"}),t.end(i)}),this._server.allowHalfOpen=!1,this._server.listen(e.value.port,e.value.host,i),this._closeServer=function(){n._server&&n._server.close()};else if(e.value.server&&(this._server=e.value.server,e.value.path)){if(this._server._webSocketPaths&&e.value.server._webSocketPaths[e.value.path])throw new Error("two instances of WebSocketServer cannot listen on the same http server path");"object"!=typeof this._server._webSocketPaths&&(this._server._webSocketPaths={}),this._server._webSocketPaths[e.value.path]=1}this._server&&(this._onceServerListening=function(){n.emit("listening")},this._server.once("listening",this._onceServerListening)),"undefined"!=typeof this._server&&(this._onServerError=function(e){n.emit("error",e)},this._server.on("error",this._onServerError),this._onServerUpgrade=function(e,i,r){var s=new t(r.length);r.copy(s),n.handleUpgrade(e,i,s,function(t){n.emit("connection"+e.url,t),n.emit("connection",t)})},this._server.on("upgrade",this._onServerUpgrade)),this.options=e.value,this.path=e.value.path,this.clients=[]}function n(e,t,i,r){var n=function(){try{t.destroy()}catch(e){}};if(t.on("error",n),!e.headers["sec-websocket-key"])return void o(t,400,"Bad Request");var s=parseInt(e.headers["sec-websocket-version"]);if([8,13].indexOf(s)===-1)return void o(t,400,"Bad Request");var f=e.headers["sec-websocket-protocol"],h=s<13?e.headers["sec-websocket-origin"]:e.headers.origin,u=p.parse(e.headers["sec-websocket-extensions"]),b=this,m=function(f){var h=e.headers["sec-websocket-key"],c=l.createHash("sha1");c.update(h+"258EAFA5-E914-47DA-95CA-C5AB0DC85B11"),h=c.digest("base64");var m=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade","Sec-WebSocket-Accept: "+h];"undefined"!=typeof f&&m.push("Sec-WebSocket-Protocol: "+f);var w={};try{w=a.call(b,u)}catch(e){return void o(t,400,"Bad Request")}if(Object.keys(w).length){var g={};Object.keys(w).forEach(function(e){g[e]=[w[e].params]}),m.push("Sec-WebSocket-Extensions: "+p.format(g))}b.emit("headers",m),t.setTimeout(0),t.setNoDelay(!0);try{t.write(m.concat("","").join("\r\n"))}catch(e){try{t.destroy()}catch(e){}return}var v=new d([e,t,i],{protocolVersion:s,protocol:f,extensions:w,maxPayload:b.options.maxPayload});b.options.clientTracking&&(b.clients.push(v),v.on("close",function(){var e=b.clients.indexOf(v);e!=-1&&b.clients.splice(e,1)})),t.removeListener("error",n),r(v)},w=function(){if("function"==typeof b.options.handleProtocols){var e=(f||"").split(/, */),i=!1;b.options.handleProtocols(e,function(e,r){i=!0,e?m(r):o(t,401,"Unauthorized")});return void(i||o(t,501,"Could not process protocols"))}"undefined"!=typeof f?m(f.split(/, */)[0]):m()};if("function"==typeof this.options.verifyClient){var g={origin:h,secure:"undefined"!=typeof e.connection.authorized||"undefined"!=typeof e.connection.encrypted,req:e};if(2==this.options.verifyClient.length)return void this.options.verifyClient(g,function(e,i,r){"undefined"==typeof i&&(i=401),"undefined"==typeof r&&(r=c.STATUS_CODES[i]),e?w():o(t,i,r)});if(!this.options.verifyClient(g))return void o(t,401,"Unauthorized")}w()}function s(e,i,r,n){var s=function(){try{i.destroy()}catch(e){}};if(i.on("error",s),this.options.disableHixie)return void o(i,401,"Hixie support disabled");if(!e.headers["sec-websocket-key2"])return void o(i,400,"Bad Request");var a=e.headers.origin,f=this,h=function(){var h;h=e.headers["x-forwarded-host"]?e.headers["x-forwarded-host"]:e.headers.host;var c=("https"===e.headers["x-forwarded-proto"]||i.encrypted?"wss":"ws")+"://"+h+e.url,u=e.headers["sec-websocket-protocol"],p=function(){var e=["HTTP/1.1 101 Switching Protocols","Upgrade: WebSocket","Connection: Upgrade","Sec-WebSocket-Location: "+c];return"undefined"!=typeof u&&e.push("Sec-WebSocket-Protocol: "+u),"undefined"!=typeof a&&e.push("Sec-WebSocket-Origin: "+a),new t(e.concat("","").join("\r\n"))},b=function(){i.setTimeout(0),i.setNoDelay(!0);var e=p();try{i.write(e,"binary",function(e){e&&i.removeListener("data",y)})}catch(e){try{i.destroy()}catch(e){}return}},m=function(r,a,h){var c=e.headers["sec-websocket-key1"],p=e.headers["sec-websocket-key2"],b=l.createHash("md5");[c,p].forEach(function(e){var t=parseInt(e.replace(/[^\d]/g,"")),r=e.replace(/[^ ]/g,"").length;return 0===r||t%r!==0?void o(i,400,"Bad Request"):(t/=r,void b.update(String.fromCharCode(t>>24&255,t>>16&255,t>>8&255,255&t)))}),b.update(r.toString("binary")),i.setTimeout(0),i.setNoDelay(!0);try{var m=new t(b.digest("binary"),"binary"),w=new t(h.length+m.length);h.copy(w,0),m.copy(w,h.length),i.write(w,"binary",function(t){if(!t){var r=new d([e,i,a],{protocolVersion:"hixie-76",protocol:u});f.options.clientTracking&&(f.clients.push(r),r.on("close",function(){var e=f.clients.indexOf(r);e!=-1&&f.clients.splice(e,1)})),i.removeListener("error",s),n(r)}})}catch(e){try{i.destroy()}catch(e){}return}},w=8;if(r&&r.length>=w){var g=r.slice(0,w),v=r.length>w?r.slice(w):null;m.call(f,g,v,p())}else{var g=new t(w);r.copy(g,0);var _=r.length,v=null,y=function(e){var r=Math.min(e.length,w-_);0!==r&&(e.copy(g,_,0,r),_+=r,_==w&&(i.removeListener("data",y),r>24&255,t>>16&255,t>>8&255,255&t)))}),b.update(i.toString("binary")),n.setTimeout(0),n.setNoDelay(!0);try{var m=new t(b.digest("binary"),"binary"),g=new t(h.length+m.length);h.copy(g,0),m.copy(g,h.length),n.write(g,"binary",function(t){if(!t){var i=new l([e,n,o],{protocolVersion:"hixie-76",protocol:d});c.options.clientTracking&&(c.clients.push(i),i.on("close",function(){var e=c.clients.indexOf(i);e!=-1&&c.clients.splice(e,1)})),n.removeListener("error",s),r(i)}})}catch(e){try{n.destroy()}catch(e){}return}},g=8;if(i&&i.length>=g){var v=i.slice(0,g),y=i.length>g?i.slice(g):null;m.call(c,v,y,p())}else{var v=new t(g);i.copy(v,0);var _=i.length,y=null,w=function(e){var i=Math.min(e.length,g-_);0!==i&&(e.copy(v,_,0,i),_+=i,_==g&&(n.removeListener("data",w),i * MIT Licensed */ -var f=i(10),h=i(5),c=i(55),l=i(122),u=i(108),d=i(129),p=i(126),b=i(44),m=(i(240),i(62));f.inherits(r,h.EventEmitter),r.prototype.close=function(e){var t=null;try{for(var i=0,r=this.clients.length;i>>8^G[255&(r^e[t])];for(n=s>>3;n--;t+=8)r=r>>>8^G[255&(r^e[t])],r=r>>>8^G[255&(r^e[t+1])],r=r>>>8^G[255&(r^e[t+2])],r=r>>>8^G[255&(r^e[t+3])],r=r>>>8^G[255&(r^e[t+4])],r=r>>>8^G[255&(r^e[t+5])],r=r>>>8^G[255&(r^e[t+6])],r=r>>>8^G[255&(r^e[t+7])];return(4294967295^r)>>>0}function a(){}function o(e){this.buffer=new(L?Uint16Array:Array)(2*e),this.length=0}function f(e){var t,i,r,n,s,a,o,f,h,c,l=e.length,u=0,d=Number.POSITIVE_INFINITY;for(f=0;fu&&(u=e[f]),e[f]>=1;for(c=r<<16|f,h=a;h>16&255,s[a++]=i>>24;var o;switch(D){case 1===n:o=[0,n-1,0];break;case 2===n:o=[1,n-2,0];break;case 3===n:o=[2,n-3,0];break;case 4===n:o=[3,n-4,0];break;case 6>=n:o=[4,n-5,1];break;case 8>=n:o=[5,n-7,1];break;case 12>=n:o=[6,n-9,2];break;case 16>=n:o=[7,n-13,2];break;case 24>=n:o=[8,n-17,3];break;case 32>=n:o=[9,n-25,3];break;case 48>=n:o=[10,n-33,4];break;case 64>=n:o=[11,n-49,4];break;case 96>=n:o=[12,n-65,5];break;case 128>=n:o=[13,n-97,5];break;case 192>=n:o=[14,n-129,6];break;case 256>=n:o=[15,n-193,6];break;case 384>=n:o=[16,n-257,7];break;case 512>=n:o=[17,n-385,7];break;case 768>=n:o=[18,n-513,8];break;case 1024>=n:o=[19,n-769,8];break;case 1536>=n:o=[20,n-1025,9];break;case 2048>=n:o=[21,n-1537,9];break;case 3072>=n:o=[22,n-2049,10];break;case 4096>=n:o=[23,n-3073,10];break;case 6144>=n:o=[24,n-4097,11];break;case 8192>=n:o=[25,n-6145,11];break;case 12288>=n:o=[26,n-8193,12];break;case 16384>=n:o=[27,n-12289,12];break;case 24576>=n:o=[28,n-16385,13];break;case 32768>=n:o=[29,n-24577,13];break;default:r("invalid distance")}i=o,s[a++]=i[0],s[a++]=i[1],s[a++]=i[2];var f,h;for(f=0,h=s.length;f=a;)g[a++]=0;for(a=0;29>=a;)v[a++]=0}for(g[256]=1,n=0,s=t.length;n=s){for(l&&i(l,-1),a=0,o=s-n;as&&t+sh&&(n=r,h=s),258===s)break}return new c(h,t-n)}function d(e,t){var i,r,n,s,a,f=e.length,h=new o(572),c=new(L?Uint8Array:Array)(f);if(!L)for(s=0;s2*h[s-1]+c[s]&&(h[s]=2*h[s-1]+c[s]),u[s]=Array(h[s]),d[s]=Array(h[s]);for(n=0;ne[n]?(u[s][a]=o,d[s][a]=t,f+=2):(u[s][a]=e[n],d[s][a]=n,++n);p[s]=0,1===c[s]&&r(s)}return l}function b(e){var t,i,r,n,s=new(L?Uint16Array:Array)(e.length),a=[],o=[],f=0;for(t=0,i=e.length;t>>=1;return s}function m(e,t){this.input=e,this.b=this.c=0,this.g={},t&&(t.flags&&(this.g=t.flags),"string"==typeof t.filename&&(this.filename=t.filename),"string"==typeof t.comment&&(this.w=t.comment),t.deflateOptions&&(this.l=t.deflateOptions)),this.l||(this.l={})}function w(e,t){switch(this.o=[],this.p=32768,this.e=this.j=this.c=this.s=0,this.input=L?new Uint8Array(e):e,this.u=!1,this.q=ie,this.L=!1,!t&&(t={})||(t.index&&(this.c=t.index),t.bufferSize&&(this.p=t.bufferSize),t.bufferType&&(this.q=t.bufferType),t.resize&&(this.L=t.resize)),this.q){case te:this.b=32768,this.a=new(L?Uint8Array:Array)(32768+this.p+258);break;case ie:this.b=0,this.a=new(L?Uint8Array:Array)(this.p),this.f=this.T,this.z=this.P,this.r=this.R;break;default:r(Error("invalid inflate mode"))}}function g(e,t){for(var i,n=e.j,s=e.e,a=e.input,o=e.c,f=a.length;s=f&&r(Error("input buffer is broken")),n|=a[o++]<>>t,e.e=s-t,e.c=o,i}function v(e,t){for(var i,r,n=e.j,s=e.e,a=e.input,o=e.c,f=a.length,h=t[0],c=t[1];s=f);)n|=a[o++]<>>16,e.j=n>>r,e.e=s-r,e.c=o,65535&i}function _(e){function t(e,t,i){var r,n,s,a=this.I;for(s=0;s>>0;e=r}for(var n,s=1,a=0,o=e.length,f=0;0>>0}function E(e,t){var i,n;switch(this.input=e,this.c=0,!t&&(t={})||(t.index&&(this.c=t.index),t.verify&&(this.W=t.verify)),i=e[this.c++],n=e[this.c++],15&i){case ye:this.method=ye;break;default:r(Error("unsupported compression method"))}0!==((i<<8)+n)%31&&r(Error("invalid fcheck flag:"+((i<<8)+n)%31)),32&n&&r(Error("fdict flag is not supported")),this.K=new w(e,{index:this.c,bufferSize:t.bufferSize,bufferType:t.bufferType,resize:t.resize})}function A(e,t){this.input=e,this.a=new(L?Uint8Array:Array)(32768),this.k=ke.t;var i,r={};!t&&(t={})||"number"!=typeof t.compressionType||(this.k=t.compressionType);for(i in t)r[i]=t[i];r.outputBuffer=this.a,this.J=new h(this.input,r)}function S(t,i,r){e.nextTick(function(){var e,n;try{n=M(t,r)}catch(t){e=t}i(e,n)})}function M(e,t){var i;return i=new A(e).h(),t||(t={}),t.H?i:O(i)}function T(t,i,r){e.nextTick(function(){var e,n;try{n=x(t,r)}catch(t){e=t}i(e,n)})}function x(e,t){var i;return e.subarray=e.slice,i=new E(e).i(),t||(t={}),t.noBuffer?i:O(i)}function R(t,i,r){e.nextTick(function(){var e,n;try{n=I(t,r)}catch(t){e=t}i(e,n)})}function I(e,t){var i;return e.subarray=e.slice,i=new m(e).h(),t||(t={}),t.H?i:O(i)}function C(t,i,r){e.nextTick(function(){var e,n;try{n=P(t,r)}catch(t){e=t}i(e,n)})}function P(e,t){var i;return e.subarray=e.slice,i=new y(e).i(),t||(t={}),t.H?i:O(i)}function O(e){var t,r,n=new i(e.length);for(t=0,r=e.length;t>>8&255]<<16|q[e>>>16&255]<<8|q[e>>>24&255])>>32-t:q[e]>>8-t),8>t+a)o=o<>t-r-1&1,8===++a&&(a=0,n[s++]=q[o],o=0,s===n.length&&(n=this.f()));n[s]=o,this.buffer=n,this.m=a,this.index=s},n.prototype.finish=function(){var e,t=this.buffer,i=this.index;return 0B;++B){for(var j=B,F=j,z=7,j=j>>>1;j;j>>>=1)F<<=1,F|=1&j,--z;U[B]=(F<>>0}var q=U,H=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],G=L?new Uint32Array(H):H;o.prototype.getParent=function(e){return 2*((e-2)/4|0)},o.prototype.push=function(e,t){var i,r,n,s=this.buffer;for(i=this.length,s[this.length++]=t,s[this.length++]=e;0s[r]);)n=s[i],s[i]=s[r],s[r]=n,n=s[i+1],s[i+1]=s[r+1],s[r+1]=n,i=r;return this.length},o.prototype.pop=function(){var e,t,i,r,n,s=this.buffer;for(t=s[0],e=s[1],this.length-=2,s[0]=s[this.length],s[1]=s[this.length+1],n=0;(r=2*n+2,!(r>=this.length))&&(r+2s[r]&&(r+=2),s[r]>s[n]);)i=s[n],s[n]=s[r],s[r]=i,i=s[n+1],s[n+1]=s[r+1],s[r+1]=i,n=r;return{index:e,value:t,length:this.length}};var V,W=2,K={NONE:0,M:1,t:W,Y:3},Y=[];for(V=0;288>V;V++)switch(D){case 143>=V:Y.push([V+48,8]);break;case 255>=V:Y.push([V-144+400,9]);break;case 279>=V:Y.push([V-256+0,7]);break;case 287>=V:Y.push([V-280+192,8]);break;default:r("invalid literal: "+V)}h.prototype.h=function(){var e,t,i,s,a=this.input;switch(this.k){case 0:for(i=0,s=a.length;i>>8&255,w[g++]=255&u,w[g++]=u>>>8&255,L)w.set(o,g),g+=o.length,w=w.subarray(0,g);else{for(p=0,m=o.length;pZ)for(;0Z?Z:138,J>Z-3&&J=J?(ie[X++]=17,ie[X++]=J-3,re[17]++):(ie[X++]=18,ie[X++]=J-11,re[18]++),Z-=J;else if(ie[X++]=te[V],re[te[V]]++,Z--,3>Z)for(;0Z?Z:6,J>Z-3&&JF;F++)G[F]=O[H[F]];for(x=19;4=e:return[265,e-11,1];case 14>=e:return[266,e-13,1];case 16>=e:return[267,e-15,1];case 18>=e:return[268,e-17,1];case 22>=e:return[269,e-19,2];case 26>=e:return[270,e-23,2];case 30>=e:return[271,e-27,2];case 34>=e:return[272,e-31,2];case 42>=e:return[273,e-35,3];case 50>=e:return[274,e-43,3];case 58>=e:return[275,e-51,3];case 66>=e:return[276,e-59,3];case 82>=e:return[277,e-67,4];case 98>=e:return[278,e-83,4];case 114>=e:return[279,e-99,4];case 130>=e:return[280,e-115,4];case 162>=e:return[281,e-131,5];case 194>=e:return[282,e-163,5];case 226>=e:return[283,e-195,5];case 257>=e:return[284,e-227,5];case 258===e:return[285,e-258,0];default:r("invalid length: "+e)}}var t,i,n=[];for(t=3;258>=t;t++)i=e(t),n[t]=i[2]<<24|i[1]<<16|i[0];return n}(),$=L?new Uint32Array(Z):Z;m.prototype.h=function(){var e,t,i,r,n,a,o,f,c=new(L?Uint8Array:Array)(32768),l=0,u=this.input,d=this.c,p=this.filename,b=this.w;if(c[l++]=31,c[l++]=139,c[l++]=8,e=0,this.g.fname&&(e|=Q),this.g.fcomment&&(e|=ee),this.g.fhcrc&&(e|=J),c[l++]=e,t=(Date.now?Date.now():+new Date)/1e3|0,c[l++]=255&t,c[l++]=t>>>8&255,c[l++]=t>>>16&255,c[l++]=t>>>24&255,c[l++]=0,c[l++]=X,this.g.fname!==N){for(o=0,f=p.length;o>>8&255),c[l++]=255&a;c[l++]=0}if(this.g.comment){for(o=0,f=b.length;o>>8&255),c[l++]=255&a;c[l++]=0}return this.g.fhcrc&&(i=65535&s(c,0,l),c[l++]=255&i,c[l++]=i>>>8&255),this.l.outputBuffer=c,this.l.outputIndex=l,n=new h(u,this.l),c=n.h(),l=n.b,L&&(l+8>c.buffer.byteLength?(this.a=new Uint8Array(l+8),this.a.set(new Uint8Array(c.buffer)),c=this.a):c=new Uint8Array(c.buffer)),r=s(u,N,N),c[l++]=255&r,c[l++]=r>>>8&255,c[l++]=r>>>16&255,c[l++]=r>>>24&255,f=u.length,c[l++]=255&f,c[l++]=f>>>8&255,c[l++]=f>>>16&255,c[l++]=f>>>24&255,this.c=d,L&&l>>=1){case 0:var t=this.input,i=this.c,n=this.a,s=this.b,a=t.length,o=N,f=N,h=n.length,c=N;switch(this.e=this.j=0,i+1>=a&&r(Error("invalid uncompressed block header: LEN")),o=t[i++]|t[i++]<<8,i+1>=a&&r(Error("invalid uncompressed block header: NLEN")),f=t[i++]|t[i++]<<8,o===~f&&r(Error("invalid uncompressed block header: length verify")),i+o>t.length&&r(Error("input buffer is broken")),this.q){case te:for(;s+o>n.length;){if(c=h-s,o-=c,L)n.set(t.subarray(i,i+c),s),s+=c,i+=c;else for(;c--;)n[s++]=t[i++];this.b=s,n=this.f(),s=this.b}break;case ie:for(;s+o>n.length;)n=this.f({B:2});break;default:r(Error("invalid inflate mode"))}if(L)n.set(t.subarray(i,i+o),s),s+=o,i+=o;else for(;o--;)n[s++]=t[i++];this.c=i,this.b=s,this.a=n;break;case 1:this.r(ge,_e);break;case 2:_(this);break;default:r(Error("unknown BTYPE: "+e))}}return this.z()};var re,ne,se=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ae=L?new Uint16Array(se):se,oe=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],fe=L?new Uint16Array(oe):oe,he=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],ce=L?new Uint8Array(he):he,le=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],ue=L?new Uint16Array(le):le,de=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],pe=L?new Uint8Array(de):de,be=new(L?Uint8Array:Array)(288);for(re=0,ne=be.length;re=re?8:255>=re?9:279>=re?7:8;var me,we,ge=f(be),ve=new(L?Uint8Array:Array)(30);for(me=0,we=ve.length;men)r>=f&&(this.b=r,i=this.f(),r=this.b),i[r++]=n;else for(s=n-257,o=fe[s],0=f&&(this.b=r,i=this.f(),r=this.b);o--;)i[r]=i[r++-a];for(;8<=this.e;)this.e-=8,this.c--;this.b=r},w.prototype.R=function(e,t){var i=this.a,r=this.b;this.A=e;for(var n,s,a,o,f=i.length;256!==(n=v(this,e));)if(256>n)r>=f&&(i=this.f(),f=i.length),i[r++]=n;else for(s=n-257,o=fe[s],0f&&(i=this.f(),f=i.length);o--;)i[r]=i[r++-a];for(;8<=this.e;)this.e-=8,this.c--;this.b=r},w.prototype.f=function(){var e,t,i=new(L?Uint8Array:Array)(this.b-32768),r=this.b-32768,n=this.a;if(L)i.set(n.subarray(32768,i.length));else for(e=0,t=i.length;ee;++e)n[e]=n[r+e];return this.b=32768,n},w.prototype.T=function(e){var t,i,r,n,s=this.input.length/this.c+1|0,a=this.input,o=this.a;return e&&("number"==typeof e.B&&(s=e.B),"number"==typeof e.N&&(s+=e.N)),2>s?(i=(a.length-this.c)/this.A[2],n=258*(i/2)|0,r=nt&&(this.a.length=t),e=this.a),this.buffer=e},y.prototype.i=function(){for(var e=this.input.length;this.c>>0,s(o,N,N)!==d&&r(Error("invalid CRC-32 checksum: 0x"+s(o,N,N).toString(16)+" / 0x"+d.toString(16))),t.$=i=(p[b++]|p[b++]<<8|p[b++]<<16|p[b++]<<24)>>>0,(4294967295&o.length)!==i&&r(Error("invalid input size: "+(4294967295&o.length)+" / "+i)),this.G.push(t),this.c=b}this.S=D;var m,g,v,_=this.G,y=0,k=0;for(m=0,g=_.length;m>>0,t!==k(e)&&r(Error("invalid adler-32 checksum"))),e};var ye=8,ke=K;A.prototype.h=function(){var e,t,i,n,s,a,o,f=0;switch(o=this.a,e=ye){case ye:t=Math.LOG2E*Math.log(32768)-8;break;default:r(Error("invalid compression method"))}switch(i=t<<4|e,o[f++]=i,e){case ye:switch(this.k){case ke.NONE:s=0;break;case ke.M:s=1;break;case ke.t:s=2;break;default:r(Error("unsupported compression type"))}break;default:r(Error("invalid compression method"))}return n=s<<6|0,o[f++]=n|31-(256*i+n)%31,a=k(this.input),this.J.b=f,o=this.J.h(),f=o.length,L&&(o=new Uint8Array(o.buffer),o.length<=f+4&&(this.a=new Uint8Array(o.length+4),this.a.set(o),o=this.a),o=o.subarray(0,f+4)),o[f++]=a>>24&255,o[f++]=a>>16&255,o[f++]=a>>8&255,o[f++]=255&a,o},t.deflate=S,t.deflateSync=M,t.inflate=T,t.inflateSync=x,t.gzip=R,t.gzipSync=I,t.gunzip=C,t.gunzipSync=P}).call(this)}).call(t,i(8),i(0).Buffer)},function(e,t,i){const r=i(1),n=i(13),s=i(47),a=i(14),o=i(69),f=i(25),h=i(80),c=i(81),l=i(32),u=i(70);class d{constructor(e){this.client=e}get pastReady(){return this.client.ws.status===r.Status.READY}newGuild(e){const t=this.client.guilds.has(e.id),i=new s(this.client,e);return this.client.guilds.set(i.id,i),this.pastReady&&!t&&(this.client.options.fetchAllMembers?i.fetchMembers().then(()=>{this.client.emit(r.Events.GUILD_CREATE,i)}):this.client.emit(r.Events.GUILD_CREATE,i)),i}newUser(e){if(this.client.users.has(e.id))return this.client.users.get(e.id);const t=new a(this.client,e);return this.client.users.set(t.id,t),t}newChannel(e,t){const i=this.client.channels.has(e.id);let n;return e.type===r.ChannelTypes.DM?n=new o(this.client,e):e.type===r.ChannelTypes.groupDM?n=new u(this.client,e):(t=t||this.client.guilds.get(e.guild_id),t&&(e.type===r.ChannelTypes.text?(n=new h(t,e),t.channels.set(n.id,n)):e.type===r.ChannelTypes.voice&&(n=new c(t,e),t.channels.set(n.id,n)))),n?(this.pastReady&&!i&&this.client.emit(r.Events.CHANNEL_CREATE,n),this.client.channels.set(n.id,n),n):null}newEmoji(e,t){const i=t.emojis.has(e.id);if(e&&!i){let i=new f(t,e);return this.client.emit(r.Events.EMOJI_CREATE,i),t.emojis.set(i.id,i),i}return i?t.emojis.get(e.id):null}killEmoji(e){e instanceof f&&e.guild&&(this.client.emit(r.Events.EMOJI_DELETE,e),e.guild.emojis.delete(e.id))}killGuild(e){const t=this.client.guilds.has(e.id);this.client.guilds.delete(e.id),t&&this.pastReady&&this.client.emit(r.Events.GUILD_DELETE,e)}killUser(e){this.client.users.delete(e.id)}killChannel(e){this.client.channels.delete(e.id),e instanceof l&&e.guild.channels.delete(e.id)}updateGuild(e,t){const i=n(e);e.setup(t),this.pastReady&&this.client.emit(r.Events.GUILD_UPDATE,i,e)}updateChannel(e,t){e.setup(t)}updateEmoji(e,t){const i=n(e);e.setup(t),this.client.emit(r.Events.GUILD_EMOJI_UPDATE,i,e)}}e.exports=d},function(e,t,i){const r=i(1);class n{constructor(e){this.client=e,this.heartbeatInterval=null}connectToWebSocket(e,t,i){this.client.emit(r.Events.DEBUG,`Authenticated using token ${e}`),this.client.token=e;const n=this.client.setTimeout(()=>i(new Error(r.Errors.TOOK_TOO_LONG)),3e5);this.client.rest.methods.getGateway().then(s=>{this.client.emit(r.Events.DEBUG,`Using gateway ${s}`),this.client.ws.connect(s),this.client.ws.once("close",e=>{4004===e.code&&i(new Error(r.Errors.BAD_LOGIN)),4010===e.code&&i(new Error(r.Errors.INVALID_SHARD))}),this.client.once(r.Events.READY,()=>{t(e),this.client.clearTimeout(n)})},i)}setupKeepAlive(e){this.heartbeatInterval=this.client.setInterval(()=>{this.client.emit("debug","Sending heartbeat"),this.client.ws.send({op:r.OPCodes.HEARTBEAT,d:this.client.ws.sequence},!0)},e)}destroy(){return new Promise(e=>{this.client.ws.destroy(),this.client.user.bot?e():e(this.client.rest.methods.logout())})}}e.exports=n},function(e,t,i){class r{constructor(e){this.client=e,this.register(i(269)),this.register(i(270)),this.register(i(271)),this.register(i(275)),this.register(i(272)),this.register(i(273)),this.register(i(274)),this.register(i(253)),this.register(i(254)),this.register(i(255)),this.register(i(257)),this.register(i(268)),this.register(i(261)),this.register(i(262)),this.register(i(256)),this.register(i(263)),this.register(i(264)),this.register(i(265)),this.register(i(276)),this.register(i(278)),this.register(i(277)),this.register(i(267)),this.register(i(258)),this.register(i(259)),this.register(i(260)),this.register(i(266))}register(e){this[e.name.replace(/Action$/,"")]=new e(this.client)}}e.exports=r},function(e,t,i){const r=i(4);class n extends r{handle(e){const t=this.client,i=t.dataManager.newChannel(e);return{channel:i}}}e.exports=n},function(e,t,i){const r=i(4);class n extends r{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client;let i=t.channels.get(e.id);return i?(t.dataManager.killChannel(i),this.deleted.set(i.id,i),this.scheduleForDeletion(i.id)):i=this.deleted.get(e.id)||null,{channel:i}}scheduleForDeletion(e){this.client.setTimeout(()=>this.deleted.delete(e),this.client.options.restWsBridgeTimeout)}}e.exports=n},function(e,t,i){const r=i(4),n=i(1),s=i(13);class a extends r{handle(e){const t=this.client,i=t.channels.get(e.id);if(i){const r=s(i);return i.setup(e),t.emit(n.Events.CHANNEL_UPDATE,r,i),{old:r,updated:i}}return{old:null,updated:null}}}e.exports=a},function(e,t,i){const r=i(4),n=i(1);class s extends r{handle(e){const t=this.client,i=t.guilds.get(e.guild_id),r=t.dataManager.newUser(e.user);i&&r&&t.emit(n.Events.GUILD_BAN_REMOVE,i,r)}}e.exports=s},function(e,t,i){const r=i(4),n=i(1);class s extends r{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client;let i=t.guilds.get(e.id);if(i){if(i.available&&e.unavailable)return i.available=!1,t.emit(n.Events.GUILD_UNAVAILABLE,i),{guild:null};t.guilds.delete(i.id),this.deleted.set(i.id,i),this.scheduleForDeletion(i.id)}else i=this.deleted.get(e.id)||null;return{guild:i}}scheduleForDeletion(e){this.client.setTimeout(()=>this.deleted.delete(e),this.client.options.restWsBridgeTimeout)}}e.exports=s},function(e,t,i){const r=i(4);class n extends r{handle(e,t){const i=this.client,r=i.dataManager.newEmoji(e,t);return{emoji:r}}}e.exports=n},function(e,t,i){const r=i(4);class n extends r{handle(e){const t=this.client;return t.dataManager.killEmoji(e),{data:e}}}e.exports=n},function(e,t,i){const r=i(4);class n extends r{handle(e,t){const i=this.client;for(let r of e.emojis){const e=t.emojis.has(r.id);e?i.dataManager.updateEmoji(t.emojis.get(r.id),r):r=i.dataManager.newEmoji(r,t)}for(let r of t.emojis)e.emoijs.has(r.id)||i.dataManager.killEmoji(r);return{emojis:e.emojis}}}e.exports=n},function(e,t,i){const r=i(4);class n extends r{handle(e,t){const i=e._addMember(t,!1);return{member:i}}}e.exports=n},function(e,t,i){const r=i(4),n=i(1);class s extends r{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client,i=t.guilds.get(e.guild_id);if(i){let r=i.members.get(e.user.id);return r?(i.memberCount--,i._removeMember(r),this.deleted.set(i.id+e.user.id,r),t.status===n.Status.READY&&t.emit(n.Events.GUILD_MEMBER_REMOVE,r),this.scheduleForDeletion(i.id,e.user.id)):r=this.deleted.get(i.id+e.user.id)||null,{guild:i,member:r}}return{guild:i,member:null}}scheduleForDeletion(e,t){this.client.setTimeout(()=>this.deleted.delete(e+t),this.client.options.restWsBridgeTimeout)}}e.exports=s},function(e,t,i){const r=i(4),n=i(1),s=i(20);class a extends r{handle(e){const t=this.client,i=t.guilds.get(e.guild_id);if(i){const r=i.roles.has(e.role.id),a=new s(i,e.role);return i.roles.set(a.id,a),r||t.emit(n.Events.GUILD_ROLE_CREATE,a),{role:a}}return{role:null}}}e.exports=a},function(e,t,i){const r=i(4),n=i(1);class s extends r{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client,i=t.guilds.get(e.guild_id);if(i){let r=i.roles.get(e.role_id);return r?(i.roles.delete(e.role_id),this.deleted.set(i.id+e.role_id,r),this.scheduleForDeletion(i.id,e.role_id),t.emit(n.Events.GUILD_ROLE_DELETE,r)):r=this.deleted.get(i.id+e.role_id)||null, -{role:r}}return{role:null}}scheduleForDeletion(e,t){this.client.setTimeout(()=>this.deleted.delete(e+t),this.client.options.restWsBridgeTimeout)}}e.exports=s},function(e,t,i){const r=i(4),n=i(1),s=i(13);class a extends r{handle(e){const t=this.client,i=t.guilds.get(e.guild_id);if(i){const r=e.role;let a=null;const o=i.roles.get(r.id);return o&&(a=s(o),o.setup(e.role),t.emit(n.Events.GUILD_ROLE_UPDATE,a,o)),{old:a,updated:o}}return{old:null,updated:null}}}e.exports=a},function(e,t,i){const r=i(4);class n extends r{handle(e){const t=this.client,i=t.guilds.get(e.guild_id);if(i)for(const r of e.roles){const e=i.roles.get(r.id);e&&(e.position=r.position)}return{guild:i}}}e.exports=n},function(e,t,i){const r=i(4);class n extends r{handle(e){const t=this.client,i=t.guilds.get(e.id);if(i){e.presences=e.presences||[];for(const t of e.presences)i._setPresence(t.user.id,t);e.members=e.members||[];for(const r of e.members){const e=i.members.get(r.user.id);e?i._updateMember(e,r):i._addMember(r)}}}}e.exports=n},function(e,t,i){const r=i(4),n=i(1),s=i(13);class a extends r{handle(e){const t=this.client,i=t.guilds.get(e.id);if(i){const r=s(i);return i.setup(e),t.emit(n.Events.GUILD_UPDATE,r,i),{old:r,updated:i}}return{old:null,updated:null}}}e.exports=a},function(e,t,i){const r=i(4),n=i(34);class s extends r{handle(e){const t=this.client,i=t.channels.get((e instanceof Array?e[0]:e).channel_id);if(i){if(e instanceof Array){const r=new Array(e.length);for(let s=0;sthis.deleted.delete(e+t),this.client.options.restWsBridgeTimeout)}}e.exports=n},function(e,t,i){const r=i(4),n=i(6),s=i(1);class a extends r{handle(e){const t=this.client,i=t.channels.get(e.channel_id),r=e.ids,a=new n;for(const o of r){const e=i.messages.get(o);e&&a.set(e.id,e)}return a.size>0&&t.emit(s.Events.MESSAGE_BULK_DELETE,a),{messages:a}}}e.exports=a},function(e,t,i){const r=i(4),n=i(1);class s extends r{handle(e){const t=this.client.users.get(e.user_id);if(!t)return!1;const i=this.client.channels.get(e.channel_id);if(!i||"voice"===i.type)return!1;const r=i.messages.get(e.message_id);if(!r)return!1;if(!e.emoji)return!1;const s=r._addReaction(e.emoji,t);return s&&this.client.emit(n.Events.MESSAGE_REACTION_ADD,s,t),{message:r,reaction:s,user:t}}}e.exports=s},function(e,t,i){const r=i(4),n=i(1);class s extends r{handle(e){const t=this.client.users.get(e.user_id);if(!t)return!1;const i=this.client.channels.get(e.channel_id);if(!i||"voice"===i.type)return!1;const r=i.messages.get(e.message_id);if(!r)return!1;if(!e.emoji)return!1;const s=r._removeReaction(e.emoji,t);return s&&this.client.emit(n.Events.MESSAGE_REACTION_REMOVE,s,t),{message:r,reaction:s,user:t}}}e.exports=s},function(e,t,i){const r=i(4),n=i(1);class s extends r{handle(e){const t=this.client.channels.get(e.channel_id);if(!t||"voice"===t.type)return!1;const i=t.messages.get(e.message_id);return!!i&&(i._clearReactions(),this.client.emit(n.Events.MESSAGE_REACTION_REMOVE_ALL,i),{message:i})}}e.exports=s},function(e,t,i){const r=i(4),n=i(1),s=i(13);class a extends r{handle(e){const t=this.client,i=t.channels.get(e.channel_id);if(i){const r=i.messages.get(e.id);if(r){const i=s(r);return r.patch(e),r._edits.unshift(i),t.emit(n.Events.MESSAGE_UPDATE,i,r),{old:i,updated:r}}return{old:r,updated:r}}return{old:null,updated:null}}}e.exports=a},function(e,t,i){const r=i(4);class n extends r{handle(e){const t=this.client,i=t.dataManager.newUser(e);return{user:i}}}e.exports=n},function(e,t,i){const r=i(4),n=i(1);class s extends r{handle(e){const t=this.client,i=t.user.notes.get(e.id),r=e.note.length?e.note:null;return t.user.notes.set(e.id,r),t.emit(n.Events.USER_NOTE_UPDATE,e.id,i,r),{old:i,updated:r}}}e.exports=s},function(e,t,i){const r=i(4),n=i(1),s=i(13);class a extends r{handle(e){const t=this.client;if(t.user){if(t.user.equals(e))return{old:t.user,updated:t.user};const i=s(t.user);return t.user.patch(e),t.emit(n.Events.USER_UPDATE,i,t.user),{old:i,updated:t.user}}return{old:null,updated:null}}}e.exports=a},function(e,t,i){function r(e){let t=e.split("?")[0];if(t.includes("/channels/")||t.includes("/guilds/")){const e=~t.indexOf("/channels/")?t.indexOf("/channels/"):t.indexOf("/guilds/"),i=t.substring(e).split("/")[2];t=t.replace(/(\d{8,})/g,":id").replace(":id",i)}return t}const n=i(60),s=i(1);class a{constructor(e,t,i,n,s,a){this.rest=e,this.method=t,this.url=i,this.auth=n,this.data=s,this.file=a,this.route=r(this.url)}getAuth(){if(this.rest.client.token&&this.rest.client.user&&this.rest.client.user.bot)return`Bot ${this.rest.client.token}`;if(this.rest.client.token)return this.rest.client.token;throw new Error(s.Errors.NO_TOKEN)}gen(){const e=n[this.method](this.url);if(this.auth&&e.set("authorization",this.getAuth()),this.file&&this.file.file){e.attach("file",this.file.file,this.file.name),this.data=this.data||{};for(const t in this.data)this.data[t]&&e.field(t,this.data[t])}else this.data&&e.send(this.data);return e.set("User-Agent",this.rest.userAgentManager.userAgent),e}}e.exports=a},function(e,t,i){const r=i(1),n=i(6),s=i(83),a=i(336),o=i(14),f=i(33),h=i(20),c=i(71),l=i(49),u=i(335),d=i(67);class p{constructor(e){this.rest=e}loginToken(e=this.rest.client.token){return new Promise((t,i)=>{e=e.replace(/^Bot\s*/i,""),this.rest.client.manager.connectToWebSocket(e,t,i)})}loginEmailPassword(e,t){return this.rest.client.emit("warn","Client launched using email and password - should use token instead"),this.rest.client.email=e,this.rest.client.password=t,this.rest.makeRequest("post",r.Endpoints.login,!1,{email:e,password:t}).then(e=>this.loginToken(e.token))}logout(){return this.rest.makeRequest("post",r.Endpoints.logout,!0,{})}getGateway(){return this.rest.makeRequest("get",r.Endpoints.gateway,!0).then(e=>{return this.rest.client.ws.gateway=`${e.url}/?encoding=json&v=${r.PROTOCOL_VERSION}`,this.rest.client.ws.gateway})}getBotGateway(){return this.rest.makeRequest("get",r.Endpoints.botGateway,!0)}sendMessage(e,t,{tts,nonce,embed,disableEveryone,split}={},i=null){return new Promise((r,n)=>{"undefined"!=typeof t&&(t=this.rest.client.resolver.resolveString(t)),t&&((disableEveryone||"undefined"==typeof disableEveryone&&this.rest.client.options.disableEveryone)&&(t=t.replace(/@(everyone|here)/g,"@​$1")),split&&(t=s(t,"object"==typeof split?split:{}))),e instanceof o||e instanceof f?this.createDM(e).then(e=>{this._sendMessageRequest(e,t,i,tts,nonce,embed,r,n)},n):this._sendMessageRequest(e,t,i,tts,nonce,embed,r,n)})}_sendMessageRequest(e,t,i,n,s,a,o,f){if(t instanceof Array){const h=[];let c=this.rest.makeRequest("post",r.Endpoints.channelMessages(e.id),!0,{content:t[0],tts:n,nonce:s},i).catch(f);for(let l=1;l<=t.length;l++)if(l{return h.push(f),this.rest.makeRequest("post",r.Endpoints.channelMessages(e.id),!0,{content:t[o],tts:n,nonce:s,embed:a},i)},f)}else c.then(e=>{h.push(e),o(this.rest.client.actions.MessageCreate.handle(h).messages)},f)}else this.rest.makeRequest("post",r.Endpoints.channelMessages(e.id),!0,{content:t,tts:n,nonce:s,embed:a},i).then(e=>o(this.rest.client.actions.MessageCreate.handle(e).message),f)}deleteMessage(e){return this.rest.makeRequest("del",r.Endpoints.channelMessage(e.channel.id,e.id),!0).then(()=>this.rest.client.actions.MessageDelete.handle({id:e.id,channel_id:e.channel.id}).message)}bulkDeleteMessages(e,t){return this.rest.makeRequest("post",`${r.Endpoints.channelMessages(e.id)}/bulk_delete`,!0,{messages:t}).then(()=>this.rest.client.actions.MessageDeleteBulk.handle({channel_id:e.id,ids:t}).messages)}updateMessage(e,t,{embed}={}){return t=this.rest.client.resolver.resolveString(t),this.rest.makeRequest("patch",r.Endpoints.channelMessage(e.channel.id,e.id),!0,{content:t,embed:embed}).then(e=>this.rest.client.actions.MessageUpdate.handle(e).updated)}createChannel(e,t,i){return this.rest.makeRequest("post",r.Endpoints.guildChannels(e.id),!0,{name:t,type:i}).then(e=>this.rest.client.actions.ChannelCreate.handle(e).channel)}createDM(e){const t=this.getExistingDM(e);return t?Promise.resolve(t):this.rest.makeRequest("post",r.Endpoints.userChannels(this.rest.client.user.id),!0,{recipient_id:e.id}).then(e=>this.rest.client.actions.ChannelCreate.handle(e).channel)}getExistingDM(e){return this.rest.client.channels.find(t=>t.recipient&&t.recipient.id===e.id)}deleteChannel(e){return(e instanceof o||e instanceof f)&&(e=this.getExistingDM(e)),e?this.rest.makeRequest("del",r.Endpoints.channel(e.id),!0).then(t=>{return t.id=e.id,this.rest.client.actions.ChannelDelete.handle(t).channel}):Promise.reject(new Error("No channel to delete."))}updateChannel(e,t){const i={};return i.name=(t.name||e.name).trim(),i.topic=t.topic||e.topic,i.position=t.position||e.position,i.bitrate=t.bitrate||e.bitrate,i.user_limit=t.userLimit||e.userLimit,this.rest.makeRequest("patch",r.Endpoints.channel(e.id),!0,i).then(e=>this.rest.client.actions.ChannelUpdate.handle(e).updated)}leaveGuild(e){return e.ownerID===this.rest.client.user.id?Promise.reject(new Error("Guild is owned by the client.")):this.rest.makeRequest("del",r.Endpoints.meGuild(e.id),!0).then(()=>this.rest.client.actions.GuildDelete.handle({id:e.id}).guild)}createGuild(e){return e.icon=this.rest.client.resolver.resolveBase64(e.icon)||null,e.region=e.region||"us-central",new Promise((t,i)=>{this.rest.makeRequest("post",r.Endpoints.guilds,!0,e).then(e=>{if(this.rest.client.guilds.has(e.id))return void t(this.rest.client.guilds.get(e.id));const r=i=>{i.id===e.id&&(this.rest.client.removeListener("guildCreate",r),this.rest.client.clearTimeout(n),t(i))};this.rest.client.on("guildCreate",r);const n=this.rest.client.setTimeout(()=>{this.rest.client.removeListener("guildCreate",r),i(new Error("Took too long to receive guild data."))},1e4)},i)})}deleteGuild(e){return this.rest.makeRequest("del",r.Endpoints.guild(e.id),!0).then(()=>this.rest.client.actions.GuildDelete.handle({id:e.id}).guild)}getUser(e){return this.rest.makeRequest("get",r.Endpoints.user(e),!0).then(e=>this.rest.client.actions.UserGet.handle(e).user)}updateCurrentUser(e){const t=this.rest.client.user,i={};return i.username=e.username||t.username,i.avatar=this.rest.client.resolver.resolveBase64(e.avatar)||t.avatar,t.bot||(i.email=e.email||t.email,i.password=this.rest.client.password,e.new_password&&(i.new_password=e.newPassword)),this.rest.makeRequest("patch",r.Endpoints.me,!0,i).then(e=>this.rest.client.actions.UserUpdate.handle(e).updated)}updateGuild(e,t){const i={};return t.name&&(i.name=t.name),t.region&&(i.region=t.region),t.verificationLevel&&(i.verification_level=Number(t.verificationLevel)),t.afkChannel&&(i.afk_channel_id=this.rest.client.resolver.resolveChannel(t.afkChannel).id),t.afkTimeout&&(i.afk_timeout=Number(t.afkTimeout)),t.icon&&(i.icon=this.rest.client.resolver.resolveBase64(t.icon)),t.owner&&(i.owner_id=this.rest.client.resolver.resolveUser(t.owner).id),t.splash&&(i.splash=this.rest.client.resolver.resolveBase64(t.splash)),this.rest.makeRequest("patch",r.Endpoints.guild(e.id),!0,i).then(e=>this.rest.client.actions.GuildUpdate.handle(e).updated)}kickGuildMember(e,t){return this.rest.makeRequest("del",r.Endpoints.guildMember(e.id,t.id),!0).then(()=>this.rest.client.actions.GuildMemberRemove.handle({guild_id:e.id,user:t.user}).member)}createGuildRole(e){return this.rest.makeRequest("post",r.Endpoints.guildRoles(e.id),!0).then(t=>this.rest.client.actions.GuildRoleCreate.handle({guild_id:e.id,role:t}).role)}deleteGuildRole(e){return this.rest.makeRequest("del",r.Endpoints.guildRole(e.guild.id,e.id),!0).then(()=>this.rest.client.actions.GuildRoleDelete.handle({guild_id:e.guild.id,role_id:e.id}).role)}setChannelOverwrite(e,t){return this.rest.makeRequest("put",`${r.Endpoints.channelPermissions(e.id)}/${t.id}`,!0,t)}deletePermissionOverwrites(e){return this.rest.makeRequest("del",`${r.Endpoints.channelPermissions(e.channel.id)}/${e.id}`,!0).then(()=>e)}getChannelMessages(e,t={}){const i=[];t.limit&&i.push(`limit=${t.limit}`),t.around?i.push(`around=${t.around}`):t.before?i.push(`before=${t.before}`):t.after&&i.push(`after=${t.after}`);let n=r.Endpoints.channelMessages(e.id);return i.length>0&&(n+=`?${i.join("&")}`),this.rest.makeRequest("get",n,!0)}getChannelMessage(e,t){const i=e.messages.get(t);return i?Promise.resolve(i):this.rest.makeRequest("get",r.Endpoints.channelMessage(e.id,t),!0)}getGuildMember(e,t){return this.rest.makeRequest("get",r.Endpoints.guildMember(e.id,t.id),!0).then(t=>this.rest.client.actions.GuildMemberGet.handle(e,t).member)}updateGuildMember(e,t){t.channel&&(t.channel_id=this.rest.client.resolver.resolveChannel(t.channel).id),t.roles&&(t.roles=t.roles.map(e=>e instanceof h?e.id:e));let i=r.Endpoints.guildMember(e.guild.id,e.id);if(e.id===this.rest.client.user.id){const n=Object.keys(t);1===n.length&&"nick"===n[0]&&(i=r.Endpoints.stupidInconsistentGuildEndpoint(e.guild.id))}return this.rest.makeRequest("patch",i,!0,t).then(t=>e.guild._updateMember(e,t).mem)}sendTyping(e){return this.rest.makeRequest("post",`${r.Endpoints.channel(e)}/typing`,!0)}banGuildMember(e,t,i=0){const n=this.rest.client.resolver.resolveUserID(t);return n?this.rest.makeRequest("put",`${r.Endpoints.guildBans(e.id)}/${n}?delete-message-days=${i}`,!0,{"delete-message-days":i}).then(()=>{if(t instanceof f)return t;const i=this.rest.client.resolver.resolveUser(n);return i?(t=this.rest.client.resolver.resolveGuildMember(e,i),t||i):n}):Promise.reject(new Error("Couldn't resolve the user ID to ban."))}unbanGuildMember(e,t){return new Promise((i,n)=>{const s=this.rest.client.resolver.resolveUserID(t);if(!s)throw new Error("Couldn't resolve the user ID to unban.");const a=(t,n)=>{t.id===e.id&&n.id===s&&(this.rest.client.removeListener(r.Events.GUILD_BAN_REMOVE,a),this.rest.client.clearTimeout(o),i(n))};this.rest.client.on(r.Events.GUILD_BAN_REMOVE,a);const o=this.rest.client.setTimeout(()=>{this.rest.client.removeListener(r.Events.GUILD_BAN_REMOVE,a),n(new Error("Took too long to receive the ban remove event."))},1e4);this.rest.makeRequest("del",`${r.Endpoints.guildBans(e.id)}/${s}`,!0).catch(e=>{this.rest.client.removeListener(r.Events.GUILD_BAN_REMOVE,a),this.rest.client.clearTimeout(o),n(e)})})}getGuildBans(e){return this.rest.makeRequest("get",r.Endpoints.guildBans(e.id),!0).then(e=>{const t=new n;for(const i of e){const e=this.rest.client.dataManager.newUser(i.user);t.set(e.id,e)}return t})}updateGuildRole(e,t){const i={};if(i.name=t.name||e.name,i.position="undefined"!=typeof t.position?t.position:e.position,i.color=t.color||e.color,"string"==typeof i.color&&i.color.startsWith("#")&&(i.color=parseInt(i.color.replace("#",""),16)),i.hoist="undefined"!=typeof t.hoist?t.hoist:e.hoist,i.mentionable="undefined"!=typeof t.mentionable?t.mentionable:e.mentionable,t.permissions){let e=0;for(let n of t.permissions)"string"==typeof n&&(n=r.PermissionFlags[n]),e|=n;i.permissions=e}else i.permissions=e.permissions;return this.rest.makeRequest("patch",r.Endpoints.guildRole(e.guild.id,e.id),!0,i).then(t=>this.rest.client.actions.GuildRoleUpdate.handle({role:t,guild_id:e.guild.id}).updated)}pinMessage(e){return this.rest.makeRequest("put",`${r.Endpoints.channel(e.channel.id)}/pins/${e.id}`,!0).then(()=>e)}unpinMessage(e){return this.rest.makeRequest("del",`${r.Endpoints.channel(e.channel.id)}/pins/${e.id}`,!0).then(()=>e)}getChannelPinnedMessages(e){return this.rest.makeRequest("get",`${r.Endpoints.channel(e.id)}/pins`,!0)}createChannelInvite(e,t){const i={};return i.temporary=t.temporary,i.max_age=t.maxAge,i.max_uses=t.maxUses,this.rest.makeRequest("post",`${r.Endpoints.channelInvites(e.id)}`,!0,i).then(e=>new c(this.rest.client,e))}deleteInvite(e){return this.rest.makeRequest("del",r.Endpoints.invite(e.code),!0).then(()=>e)}getInvite(e){return this.rest.makeRequest("get",r.Endpoints.invite(e),!0).then(e=>new c(this.rest.client,e))}getGuildInvites(e){return this.rest.makeRequest("get",r.Endpoints.guildInvites(e.id),!0).then(e=>{const t=new n;for(const i of e){const e=new c(this.rest.client,i);t.set(e.code,e)}return t})}pruneGuildMembers(e,t,i){return this.rest.makeRequest(i?"get":"post",`${r.Endpoints.guildPrune(e.id)}?days=${t}`,!0).then(e=>e.pruned)}createEmoji(e,t,i){return this.rest.makeRequest("post",`${r.Endpoints.guildEmojis(e.id)}`,!0,{name:i,image:t}).then(t=>this.rest.client.actions.EmojiCreate.handle(t,e).emoji)}deleteEmoji(e){return this.rest.makeRequest("delete",`${r.Endpoints.guildEmojis(e.guild.id)}/${e.id}`,!0).then(()=>this.rest.client.actions.EmojiDelete.handle(e).data)}getWebhook(e,t){return this.rest.makeRequest("get",r.Endpoints.webhook(e,t),!t).then(e=>new l(this.rest.client,e))}getGuildWebhooks(e){return this.rest.makeRequest("get",r.Endpoints.guildWebhooks(e.id),!0).then(e=>{const t=new n;for(const i of e)t.set(i.id,new l(this.rest.client,i));return t})}getChannelWebhooks(e){return this.rest.makeRequest("get",r.Endpoints.channelWebhooks(e.id),!0).then(e=>{const t=new n;for(const i of e)t.set(i.id,new l(this.rest.client,i));return t})}createWebhook(e,t,i){return this.rest.makeRequest("post",r.Endpoints.channelWebhooks(e.id),!0,{name:t,avatar:i}).then(e=>new l(this.rest.client,e))}editWebhook(e,t,i){return this.rest.makeRequest("patch",r.Endpoints.webhook(e.id,e.token),!1,{name:t,avatar:i}).then(t=>{return e.name=t.name,e.avatar=t.avatar,e})}deleteWebhook(e){return this.rest.makeRequest("delete",r.Endpoints.webhook(e.id,e.token),!1)}sendWebhookMessage(e,t,{avatarURL,tts,disableEveryone,embeds}={},i=null){return"undefined"!=typeof t&&(t=this.rest.client.resolver.resolveString(t)),t&&(disableEveryone||"undefined"==typeof disableEveryone&&this.rest.client.options.disableEveryone)&&(t=t.replace(/@(everyone|here)/g,"@​$1")),this.rest.makeRequest("post",`${r.Endpoints.webhook(e.id,e.token)}?wait=true`,!1,{username:e.name,avatar_url:avatarURL,content:t,tts:tts,file:i,embeds:embeds})}sendSlackWebhookMessage(e,t){return this.rest.makeRequest("post",`${r.Endpoints.webhook(e.id,e.token)}/slack?wait=true`,!1,t)}fetchUserProfile(e){return this.rest.makeRequest("get",r.Endpoints.userProfile(e.id),!0).then(t=>new u(e,t))}addFriend(e){return this.rest.makeRequest("post",r.Endpoints.relationships("@me"),!0,{username:e.username,discriminator:e.discriminator}).then(()=>e)}removeFriend(e){return this.rest.makeRequest("delete",`${r.Endpoints.relationships("@me")}/${e.id}`,!0).then(()=>e)}blockUser(e){return this.rest.makeRequest("put",`${r.Endpoints.relationships("@me")}/${e.id}`,!0,{type:2}).then(()=>e)}unblockUser(e){return this.rest.makeRequest("delete",`${r.Endpoints.relationships("@me")}/${e.id}`,!0).then(()=>e)}setRolePositions(e,t){return this.rest.makeRequest("patch",r.Endpoints.guildRoles(e),!0,t).then(()=>this.rest.client.actions.GuildRolesPositionUpdate.handle({guild_id:e,roles:t}).guild)}addMessageReaction(e,t){return this.rest.makeRequest("put",r.Endpoints.selfMessageReaction(e.channel.id,e.id,t),!0).then(()=>this.rest.client.actions.MessageReactionAdd.handle({user_id:this.rest.client.user.id,message_id:e.id,emoji:a(t),channel_id:e.channel.id}).reaction)}removeMessageReaction(e,t,i){let n=r.Endpoints.selfMessageReaction(e.channel.id,e.id,t);return i.id!==this.rest.client.user.id&&(n=r.Endpoints.userMessageReaction(e.channel.id,e.id,t,null,i.id)),this.rest.makeRequest("delete",n,!0).then(()=>this.rest.client.actions.MessageReactionRemove.handle({user_id:i.id,message_id:e.id,emoji:a(t),channel_id:e.channel.id}).reaction)}removeMessageReactions(e){this.rest.makeRequest("delete",r.Endpoints.messageReactions(e.channel.id,e.id),!0).then(()=>e)}getMessageReactionUsers(e,t,i=100){return this.rest.makeRequest("get",r.Endpoints.messageReaction(e.channel.id,e.id,t,i),!0)}getMyApplication(){return this.rest.makeRequest("get",r.Endpoints.myApplication,!0).then(e=>new d(this.rest.client,e))}setNote(e,t){return this.rest.makeRequest("put",r.Endpoints.note(e.id),!0,{note:t}).then(()=>e)}}e.exports=p},function(e,t,i){const r=i(132);class n extends r{constructor(e,t){super(e,t),this.requestRemaining=1,this.first=!0}push(e){super.push(e),this.handle()}handleNext(e){this.waiting||(this.waiting=!0,this.restManager.client.setTimeout(()=>{this.requestRemaining=this.requestLimit,this.waiting=!1,this.handle()},e))}execute(e){e.request.gen().end((t,i)=>{if(i&&i.headers&&(this.requestLimit=i.headers["x-ratelimit-limit"],this.requestResetTime=1e3*Number(i.headers["x-ratelimit-reset"]),this.requestRemaining=Number(i.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(i.headers.date).getTime(),this.handleNext(this.requestResetTime-Date.now()+this.timeDifference+1e3)),t)429===t.status?(this.requestRemaining=0,this.queue.unshift(e),this.restManager.client.setTimeout(()=>{this.globalLimit=!1,this.handle()},Number(i.headers["retry-after"])+500),i.headers["x-ratelimit-global"]&&(this.globalLimit=!0)):e.reject(t);else{this.globalLimit=!1;const t=i&&i.body?i.body:{};e.resolve(t),this.first&&(this.first=!1,this.handle())}})}handle(){if(super.handle(),!(this.requestRemaining<1||0===this.queue.length||this.globalLimit))for(;this.queue.length>0&&this.requestRemaining>0;)this.execute(this.queue.shift()),this.requestRemaining--}}e.exports=n},function(e,t,i){const r=i(132);class n extends r{constructor(e,t){super(e,t),this.waiting=!1,this.endpoint=t,this.timeDifference=0}push(e){super.push(e),this.handle()}execute(e){return new Promise(t=>{e.request.gen().end((i,r)=>{if(r&&r.headers&&(this.requestLimit=r.headers["x-ratelimit-limit"],this.requestResetTime=1e3*Number(r.headers["x-ratelimit-reset"]),this.requestRemaining=Number(r.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(r.headers.date).getTime()),i)429===i.status?(this.restManager.client.setTimeout(()=>{this.waiting=!1,this.globalLimit=!1,t()},Number(r.headers["retry-after"])+500),r.headers["x-ratelimit-global"]&&(this.globalLimit=!0)):(this.queue.shift(),this.waiting=!1,e.reject(i),t(i));else{this.queue.shift(),this.globalLimit=!1;const i=r&&r.body?r.body:{};e.resolve(i),0===this.requestRemaining?this.restManager.client.setTimeout(()=>{this.waiting=!1,t(i)},this.requestResetTime-Date.now()+this.timeDifference+1e3):(this.waiting=!1,t(i))}})})}handle(){if(super.handle(),!this.waiting&&0!==this.queue.length&&!this.globalLimit){this.waiting=!0;const e=this.queue[0];this.execute(e).then(()=>this.handle())}}}e.exports=n},function(e,t,i){const r=i(1);class n{constructor(e){this.restManager=e,this._userAgent={url:"https://github.com/hydrabolt/discord.js",version:r.Package.version}}set(e){this._userAgent.url=e.url||"https://github.com/hydrabolt/discord.js",this._userAgent.version=e.version||r.Package.version}get userAgent(){return`DiscordBot (${this._userAgent.url}, ${this._userAgent.version})`}}e.exports=n},function(e,t,i){const r=i(6),n=i(45),s=i(1),a=i(285),o=i(5).EventEmitter;class f{constructor(e){this.client=e,this.connections=new r,this.pending=new r,this.client.on("self.voiceServer",this.onVoiceServer.bind(this)),this.client.on("self.voiceStateUpdate",this.onVoiceStateUpdate.bind(this))}onVoiceServer(e){this.pending.has(e.guild_id)&&this.pending.get(e.guild_id).setTokenAndEndpoint(e.token,e.endpoint)}onVoiceStateUpdate(e){this.pending.has(e.guild_id)&&this.pending.get(e.guild_id).setSessionID(e.session_id)}sendVoiceStateUpdate(e,t={}){if(!this.client.user)throw new Error("Unable to join because there is no client user.");if(!e.permissionsFor)throw new Error("Channel does not support permissionsFor; is it really a voice channel?");const i=e.permissionsFor(this.client.user);if(!i)throw new Error("There is no permission set for the client user in this channel - are they part of the guild?");if(!i.hasPermission("CONNECT"))throw new Error("You do not have permission to join this voice channel.");t=n({guild_id:e.guild.id,channel_id:e.id,self_mute:!1,self_deaf:!1},t),this.client.ws.send({op:s.OPCodes.VOICE_STATE_UPDATE,d:t})}joinChannel(e){return new Promise((t,i)=>{if(this.client.browser)throw new Error("Voice connections are not available in browsers.");if(this.pending.get(e.guild.id))throw new Error("Already connecting to this guild's voice server.");if(!e.joinable)throw new Error("You do not have permission to join this voice channel.");const r=this.connections.get(e.guild.id);if(r)return r.channel.id!==e.id&&(this.sendVoiceStateUpdate(e),this.connections.get(e.guild.id).channel=e),void t(r);const n=new h(this,e);this.pending.set(e.guild.id,n),n.on("fail",t=>{this.pending.delete(e.guild.id),i(t)}),n.on("pass",r=>{this.pending.delete(e.guild.id),this.connections.set(e.guild.id,r),r.once("ready",()=>t(r)),r.once("error",i),r.once("disconnect",()=>this.connections.delete(e.guild.id))})})}}class h extends o{constructor(e,t){super(),this.voiceManager=e,this.channel=t,this.deathTimer=this.voiceManager.client.setTimeout(()=>this.fail(new Error("Connection not established within 15 seconds.")),15e3),this.data={},this.sendVoiceStateUpdate()}checkReady(){return!!(this.data.token&&this.data.endpoint&&this.data.session_id)&&(this.pass(),!0)}setTokenAndEndpoint(e,t){return e?t?this.data.token?void this.fail(new Error("There is already a registered token for this connection.")):this.data.endpoint?void this.fail(new Error("There is already a registered endpoint for this connection.")):(t=t.match(/([^:]*)/)[0])?(this.data.token=e,this.data.endpoint=t,void this.checkReady()):void this.fail(new Error("Failed to find an endpoint.")):void this.fail(new Error("Endpoint not provided from voice server packet.")):void this.fail(new Error("Token not provided from voice server packet."))}setSessionID(e){return e?this.data.session_id?void this.fail(new Error("There is already a registered session ID for this connection.")):(this.data.session_id=e,void this.checkReady()):void this.fail(new Error("Session ID not supplied."))}clean(){clearInterval(this.deathTimer),this.emit("fail",new Error("Clean-up triggered :fourTriggered:"))}pass(){clearInterval(this.deathTimer),this.emit("pass",this.upgrade())}fail(e){this.emit("fail",e),this.clean()}sendVoiceStateUpdate(){try{this.voiceManager.sendVoiceStateUpdate(this.channel)}catch(e){this.fail(e)}}upgrade(){return new a(this)}}e.exports=f},function(e,t,i){const r=i(287),n=i(286),s=i(1),a=i(295),o=i(297),f=i(5).EventEmitter,h=i(12);class c extends f{constructor(e){super(),this.voiceManager=e.voiceManager,this.channel=e.channel,this.speaking=!1,this.receivers=[],this.authentication=e.data,this.player=new a(this),this.player.on("debug",e=>{this.emit("debug",`audio player - ${e}`)}),this.player.on("error",e=>{this.emit("warn",e),this.player.cleanup()}),this.ssrcMap=new Map,this.ready=!1,this.sockets={},this.connect()}setSpeaking(e){this.speaking!==e&&(this.speaking=e,this.sockets.ws.sendPacket({op:s.VoiceOPCodes.SPEAKING,d:{speaking:!0,delay:0}}).catch(e=>{this.emit("debug",e)}))}disconnect(){this.emit("closing"),this.voiceManager.client.ws.send({op:s.OPCodes.VOICE_STATE_UPDATE,d:{guild_id:this.channel.guild.id,channel_id:null,self_mute:!1,self_deaf:!1}}),this.emit("disconnect")}connect(){if(this.sockets.ws)throw new Error("There is already an existing WebSocket connection.");if(this.sockets.udp)throw new Error("There is already an existing UDP connection.");this.sockets.ws=new r(this),this.sockets.udp=new n(this),this.sockets.ws.on("error",e=>this.emit("error",e)),this.sockets.udp.on("error",e=>this.emit("error",e)),this.sockets.ws.once("ready",e=>{this.authentication.port=e.port,this.authentication.ssrc=e.ssrc,this.sockets.udp.findEndpointAddress().then(e=>{this.sockets.udp.createUDPSocket(e)},e=>this.emit("error",e))}),this.sockets.ws.once("sessionDescription",(e,t)=>{this.authentication.encryptionMode=e,this.authentication.secretKey=t,this.emit("ready"),this.ready=!0}),this.sockets.ws.on("speaking",e=>{const t=this.channel.guild,i=this.voiceManager.client.users.get(e.user_id);if(this.ssrcMap.set(+e.ssrc,i),!e.speaking)for(const r of this.receivers){const e=r.opusStreams.get(i.id),t=r.pcmStreams.get(i.id);e&&(e.push(null),e.open=!1,r.opusStreams.delete(i.id)),t&&(t.push(null),t.open=!1,r.pcmStreams.delete(i.id))}this.ready&&this.emit("speaking",i,e.speaking),t._memberSpeakUpdate(e.user_id,e.speaking)})}playFile(e,t){return this.playStream(h.createReadStream(e),t)}playStream(e,{seek=0,volume=1,passes=1}={}){const t={seek:seek,volume:volume,passes:passes};return this.player.playUnknownStream(e,t)}playConvertedStream(e,{seek=0,volume=1,passes=1}={}){const t={seek:seek,volume:volume,passes:passes};return this.player.playPCMStream(e,t)}createReceiver(){const e=new o(this);return this.receivers.push(e),e}}e.exports=c},function(e,t,i){(function(t){function r(e){try{const i=new t(e);let r="";for(let n=4;n{s.lookup(this.voiceConnection.authentication.endpoint,(i,r)=>{return i?void t(i):(this.discordAddress=r,void e(r))})})}send(e){return new Promise((t,i)=>{if(!this.socket)throw new Error("Tried to send a UDP packet, but there is no socket available.");if(!this.discordAddress||!this.discordPort)throw new Error("Malformed UDP address or port.");this.socket.send(e,0,e.length,this.discordPort,this.discordAddress,r=>{r?i(r):t(e)})})}createUDPSocket(e){this.discordAddress=e;const i=this.socket=n.createSocket("udp4");i.once("message",e=>{const t=r(e);return t.error?void this.emit("error",t.error):(this.localAddress=t.address,this.localPort=t.port,void this.voiceConnection.sockets.ws.sendPacket({op:a.VoiceOPCodes.SELECT_PROTOCOL,d:{protocol:"udp",data:{address:t.address,port:t.port,mode:"xsalsa20_poly1305"}}}))});const s=new t(70);s.writeUIntBE(this.voiceConnection.authentication.ssrc,0,4),this.send(s)}}e.exports=f}).call(t,i(0).Buffer)},function(e,t,i){const r=i(123),n=i(1),s=i(298),a=i(5).EventEmitter;class o extends a{constructor(e){super(),this.voiceConnection=e,this.attempts=0,this.connect(),this.dead=!1,this.voiceConnection.on("closing",this.shutdown.bind(this))}shutdown(){this.dead=!0,this.reset()}get client(){return this.voiceConnection.voiceManager.client}reset(){this.ws&&(this.ws.readyState!==r.CLOSED&&this.ws.close(),this.ws=null),this.clearHeartbeat()}connect(){if(!this.dead){if(this.ws&&this.reset(),this.attempts>5)return void this.emit("error",new Error(`Too many connection attempts (${this.attempts}).`));this.attempts++,this.ws=new r(`wss://${this.voiceConnection.authentication.endpoint}`),this.ws.onopen=this.onOpen.bind(this),this.ws.onmessage=this.onMessage.bind(this),this.ws.onclose=this.onClose.bind(this),this.ws.onerror=this.onError.bind(this)}}send(e){return new Promise((t,i)=>{if(!this.ws||this.ws.readyState!==r.OPEN)throw new Error(`Voice websocket not open to send ${e}.`);this.ws.send(e,null,r=>{r?i(r):t(e)})})}sendPacket(e){try{e=JSON.stringify(e)}catch(e){return Promise.reject(e)}return this.send(e)}onOpen(){this.sendPacket({op:n.OPCodes.DISPATCH,d:{server_id:this.voiceConnection.channel.guild.id,user_id:this.client.user.id,token:this.voiceConnection.authentication.token, -session_id:this.voiceConnection.authentication.session_id}}).catch(()=>{this.emit("error",new Error("Tried to send join packet, but the WebSocket is not open."))})}onMessage(e){try{return this.onPacket(JSON.parse(e.data))}catch(e){return this.onError(e)}}onClose(){this.dead||this.client.setTimeout(this.connect.bind(this),1e3*this.attempts)}onError(e){this.emit("error",e)}onPacket(e){switch(e.op){case n.VoiceOPCodes.READY:this.setHeartbeat(e.d.heartbeat_interval),this.emit("ready",e.d);break;case n.VoiceOPCodes.SESSION_DESCRIPTION:this.emit("sessionDescription",e.d.mode,new s(e.d.secret_key));break;case n.VoiceOPCodes.SPEAKING:this.emit("speaking",e.d);break;default:this.emit("unknownPacket",e)}}setHeartbeat(e){return!e||isNaN(e)?void this.onError(new Error("Tried to set voice heartbeat but no valid interval was specified.")):(this.heartbeatInterval&&(this.emit("warn","A voice heartbeat interval is being overwritten"),clearInterval(this.heartbeatInterval)),void(this.heartbeatInterval=this.client.setInterval(this.sendHeartbeat.bind(this),e)))}clearHeartbeat(){return this.heartbeatInterval?(clearInterval(this.heartbeatInterval),void(this.heartbeatInterval=null)):void this.emit("warn","Tried to clear a heartbeat interval that does not exist")}sendHeartbeat(){this.sendPacket({op:n.VoiceOPCodes.HEARTBEAT,d:null}).catch(()=>{this.emit("warn","Tried to send heartbeat, but connection is not open"),this.clearHeartbeat()})}}e.exports=o},function(e,t,i){(function(t){const r=i(5).EventEmitter,n=i(120),s=new t(24);s.fill(0);class a extends r{constructor(e,t,i,r){super(),this.player=e,this.stream=t,this.streamingData={channels:2,count:0,sequence:i.sequence,timestamp:i.timestamp,pausedTime:0},this._startStreaming(),this._triggered=!1,this._volume=r.volume,this.passes=r.passes||1,this.paused=!1,this.setVolume(r.volume||1)}get time(){return this.streamingData.count*(this.streamingData.length||0)}get totalStreamTime(){return this.time+this.streamingData.pausedTime}get volume(){return this._volume}setVolume(e){this._volume=e}setVolumeDecibels(e){this._volume=Math.pow(10,e/20)}setVolumeLogarithmic(e){this._volume=Math.pow(e,1.660964)}pause(){this._setPaused(!0)}resume(){this._setPaused(!1)}end(){this._triggerTerminalState("end","user requested")}_setSpeaking(e){this.speaking=e,this.emit("speaking",e)}_sendBuffer(e,t,i){let r=this.passes;const n=this._createPacket(t,i,this.player.opusEncoder.encode(e));for(;r--;)this.player.voiceConnection.sockets.udp.send(n).catch(e=>this.emit("debug",`Failed to send a packet ${e}`))}_createPacket(e,i,r){const a=new t(r.length+28);a.fill(0),a[0]=128,a[1]=120,a.writeUIntBE(e,2,2),a.writeUIntBE(i,4,4),a.writeUIntBE(this.player.voiceConnection.authentication.ssrc,8,4),a.copy(s,0,0,12),r=n.secretbox(r,s,this.player.voiceConnection.authentication.secretKey.key);for(let o=0;o=e.length-1);r+=2){const t=Math.min(32767,Math.max(-32767,Math.floor(this._volume*e.readInt16LE(r))));i.writeInt16LE(t,r)}return i}_send(){try{if(this._triggered)return void this._setSpeaking(!1);const e=this.streamingData;if(e.missed>=5)return void this._triggerTerminalState("end","Stream is not generating quickly enough.");if(this.paused)return e.pausedTime+=10*e.length,void this.player.voiceConnection.voiceManager.client.setTimeout(()=>this._send(),10*e.length);this._setSpeaking(!0),e.startTime||(this.emit("start"),e.startTime=Date.now());const i=1920*e.channels;let r=this.stream.read(i);if(!r)return e.missed++,e.pausedTime+=10*e.length,void this.player.voiceConnection.voiceManager.client.setTimeout(()=>this._send(),10*e.length);if(e.missed=0,r.length!==i){const e=new t(i).fill(0);r.copy(e),r=e}r=this._applyVolume(r),e.count++,e.sequence=e.sequence+1<65536?e.sequence+1:0,e.timestamp=e.timestamp+4294967295?e.timestamp+960:0,this._sendBuffer(r,e.sequence,e.timestamp);const n=e.length+(e.startTime+e.pausedTime+e.count*e.length-Date.now());this.player.voiceConnection.voiceManager.client.setTimeout(()=>this._send(),n)}catch(e){this._triggerTerminalState("error",e)}}_triggerEnd(){this.emit("end")}_triggerError(e){this.emit("end"),this.emit("error",e)}_triggerTerminalState(e,t){if(!this._triggered)switch(this.emit("debug",`Triggered terminal state ${e} - stream is now dead`),this._triggered=!0,this._setSpeaking(!1),e){case"end":this._triggerEnd(t);break;case"error":this._triggerError(t);break;default:this.emit("error","Unknown trigger state")}}_startStreaming(){if(!this.stream)return void this.emit("error","No stream");this.stream.on("end",e=>this._triggerTerminalState("end",e)),this.stream.on("error",e=>this._triggerTerminalState("error",e));const e=this.streamingData;e.length=20,e.missed=0,this.stream.once("readable",()=>this._send())}_setPaused(e){e?(this.paused=!0,this._setSpeaking(!1)):(this.paused=!1,this._setSpeaking(!0))}}e.exports=a}).call(t,i(0).Buffer)},function(e,t,i){const r=i(133);let n;class s extends r{constructor(e){super(e);try{n=i(!function(){var e=new Error('Cannot find module "node-opus"');throw e.code="MODULE_NOT_FOUND",e}())}catch(e){throw e}this.encoder=new n.OpusEncoder(48e3,2)}encode(e){return super.encode(e),this.encoder.encode(e,1920)}decode(e){return super.decode(e),this.encoder.decode(e,1920)}}e.exports=s},function(e,t,i){function r(e){try{return new e}catch(e){return null}}const n=[i(289),i(291)];t.add=(e=>{n.push(e)}),t.fetch=(()=>{for(const e of n){const t=r(e);if(t)return t}throw new Error("Couldn't find an Opus engine.")})},function(e,t,i){const r=i(133);let n;class s extends r{constructor(e){super(e);try{n=i(206)}catch(e){throw e}this.encoder=new n(48e3,2)}encode(e){return super.encode(e),this.encoder.encode(e,960)}decode(e){return super.decode(e),this.encoder.decode(e)}}e.exports=s},function(e,t,i){const r=i(5).EventEmitter;class n extends r{constructor(e){super(),this.player=e}createConvertStream(){}}e.exports=n},function(e,t,i){t.fetch=(()=>i(294))},function(e,t,i){function r(){for(const e of["ffmpeg","avconv","./ffmpeg","./avconv"])if(!s.spawnSync(e,["-h"]).error)return e;throw new Error("FFMPEG was not found on your system, so audio cannot be played. Please make sure FFMPEG is installed and in your PATH.")}const n=i(292),s=i(12),a=i(5).EventEmitter;class o extends a{constructor(e){super(),this.process=e,this.input=null,this.process.on("error",e=>this.emit("error",e))}setInput(e){this.input=e,e.pipe(this.process.stdin,{end:!1}),this.input.on("error",e=>this.emit("error",e)),this.process.stdin.on("error",e=>this.emit("error",e))}destroy(){this.emit("debug","destroying a ffmpeg process:"),this.input&&this.input.unpipe&&this.process.stdin&&(this.input.unpipe(this.process.stdin),this.emit("unpiped the user input stream from the process input stream")),this.process.stdin&&(this.process.stdin.end(),this.emit("ended the process stdin")),this.process.stdin.destroy&&(this.process.stdin.destroy(),this.emit("destroyed the process stdin")),this.process.kill&&(this.process.kill(),this.emit("killed the process"))}}class f extends n{constructor(e){super(e),this.command=r()}handleError(e,t){e.destroy&&e.destroy(),this.emit("error",t)}createConvertStream(e=0){super.createConvertStream();const t=s.spawn(this.command,["-analyzeduration","0","-loglevel","0","-i","-","-f","s16le","-ar","48000","-ac","2","-ss",String(e),"pipe:1"],{stdio:["pipe","pipe","ignore"]});return new o(t)}}e.exports=f},function(e,t,i){const r=i(293),n=i(290),s=i(5).EventEmitter,a=i(288);class o extends s{constructor(e){super(),this.voiceConnection=e,this.audioToPCM=new(r.fetch()),this.opusEncoder=n.fetch(),this.currentConverter=null,this.dispatcher=null,this.audioToPCM.on("error",e=>this.emit("error",e)),this.streamingData={channels:2,count:0,sequence:0,timestamp:0,pausedTime:0},this.voiceConnection.on("closing",()=>this.cleanup(null,"voice connection closing"))}playUnknownStream(e,{seek=0,volume=1,passes=1}={}){const t={seek:seek,volume:volume,passes:passes};e.on("end",()=>{this.emit("debug","Input stream to converter has ended")}),e.on("error",e=>this.emit("error",e));const i=this.audioToPCM.createConvertStream(t.seek);return i.on("error",e=>this.emit("error",e)),i.setInput(e),this.playPCMStream(i.process.stdout,i,t)}cleanup(e,t){this.emit("debug",`Clean up triggered due to ${t}`);const i=e&&this.dispatcher&&this.dispatcher.stream===e;!this.currentConverter||e&&!i||(this.currentConverter.destroy(),this.currentConverter=null)}playPCMStream(e,t,{seek=0,volume=1,passes=1}={}){const i={seek:seek,volume:volume,passes:passes};e.on("end",()=>this.emit("debug","PCM input stream ended")),this.cleanup(null,"outstanding play stream"),this.currentConverter=t,this.dispatcher&&(this.streamingData=this.dispatcher.streamingData),e.on("error",e=>this.emit("error",e));const r=new a(this,e,this.streamingData,i);return r.on("error",e=>this.emit("error",e)),r.on("end",()=>this.cleanup(r.stream,"dispatcher ended")),r.on("speaking",e=>this.voiceConnection.setSpeaking(e)),this.dispatcher=r,r.on("debug",e=>this.emit("debug",`Stream dispatch - ${e}`)),r}}e.exports=o},function(e,t,i){const r=i(11).Readable;class n extends r{constructor(){super(),this._packets=[],this.open=!0}_read(){}_push(e){this.open&&this.push(e)}}e.exports=n},function(e,t,i){(function(t){const r=i(5).EventEmitter,n=i(120),s=i(296),a=new t(24);a.fill(0);class o extends r{constructor(e){super(),this.queues=new Map,this.pcmStreams=new Map,this.opusStreams=new Map,this.destroyed=!1,this.voiceConnection=e,this._listener=(e=>{const t=+e.readUInt32BE(8).toString(10),i=this.voiceConnection.ssrcMap.get(t);if(i){if(this.queues.get(t))return this.queues.get(t).push(e),this.queues.get(t).map(e=>this.handlePacket(e,i)),void this.queues.delete(t);this.handlePacket(e,i)}else this.queues.has(t)||this.queues.set(t,[]),this.queues.get(t).push(e)}),this.voiceConnection.sockets.udp.socket.on("message",this._listener)}recreate(){this.destroyed&&(this.voiceConnection.sockets.udp.socket.on("message",this._listener),this.destroyed=!1)}destroy(){this.voiceConnection.sockets.udp.socket.removeListener("message",this._listener);for(const e of this.pcmStreams)e[1]._push(null),this.pcmStreams.delete(e[0]);for(const e of this.opusStreams)e[1]._push(null),this.opusStreams.delete(e[0]);this.destroyed=!0}createOpusStream(e){if(e=this.voiceConnection.voiceManager.client.resolver.resolveUser(e),!e)throw new Error("Couldn't resolve the user to create Opus stream.");if(this.opusStreams.get(e.id))throw new Error("There is already an existing stream for that user.");const t=new s;return this.opusStreams.set(e.id,t),t}createPCMStream(e){if(e=this.voiceConnection.voiceManager.client.resolver.resolveUser(e),!e)throw new Error("Couldn't resolve the user to create PCM stream.");if(this.pcmStreams.get(e.id))throw new Error("There is already an existing stream for that user.");const t=new s;return this.pcmStreams.set(e.id,t),t}handlePacket(e,i){e.copy(a,0,0,12);let r=n.secretbox.open(e.slice(12),a,this.voiceConnection.authentication.secretKey.key);if(!r)return void this.emit("warn","Failed to decrypt voice packet");if(r=new t(r),this.opusStreams.get(i.id)&&this.opusStreams.get(i.id)._push(r),this.emit("opus",i,r),this.listenerCount("pcm")>0||this.pcmStreams.size>0){const e=this.voiceConnection.player.opusEncoder.decode(r);this.pcmStreams.get(i.id)&&this.pcmStreams.get(i.id)._push(e),this.emit("pcm",i,e)}}}e.exports=o}).call(t,i(0).Buffer)},function(e,t){class i{constructor(e){this.key=new Uint8Array(new ArrayBuffer(e.length));for(const t in e)this.key[t]=e[t]}}e.exports=i},function(e,t,i){const r="undefined"!=typeof window,n=r?window.WebSocket:i(123),s=i(5).EventEmitter,a=i(1),o=r?i(249).inflateSync:i(101).inflateSync,f=i(300),h=i(134);class c extends s{constructor(e){super(),this.client=e,this.packetManager=new f(this),this.status=a.Status.IDLE,this.sessionID=null,this.sequence=-1,this.gateway=null,this.normalReady=!1,this.ws=null,this.disabledEvents={};for(const t in e.options.disabledEvents)this.disabledEvents[t]=!0;this.first=!0}_connect(e){this.client.emit("debug",`Connecting to gateway ${e}`),this.normalReady=!1,this.status!==a.Status.RECONNECTING&&(this.status=a.Status.CONNECTING),this.ws=new n(e),r&&(this.ws.binaryType="arraybuffer"),this.ws.onopen=(()=>this.eventOpen()),this.ws.onclose=(e=>this.eventClose(e)),this.ws.onmessage=(e=>this.eventMessage(e)),this.ws.onerror=(e=>this.eventError(e)),this._queue=[],this._remaining=3}connect(e){this.first?(this._connect(e),this.first=!1):this.client.setTimeout(()=>this._connect(e),5500)}send(e,t=false){return t?void this._send(JSON.stringify(e)):(this._queue.push(JSON.stringify(e)),void this.doQueue())}destroy(){this.ws.close(1e3),this._queue=[],this.status=a.Status.IDLE}_send(e){this.ws.readyState===n.OPEN&&(this.emit("send",e),this.ws.send(e))}doQueue(){const e=this._queue[0];if(this.ws.readyState===n.OPEN&&e){if(0===this._remaining)return void this.client.setTimeout(()=>{this.doQueue()},1e3);this._remaining--,this._send(e),this._queue.shift(),this.doQueue(),this.client.setTimeout(()=>this._remaining++,1e3)}}eventOpen(){this.client.emit("debug","Connection to gateway opened"),this.status===a.Status.RECONNECTING?this._sendResume():this._sendNewIdentify()}_sendResume(){if(!this.sessionID)return void this._sendNewIdentify();this.client.emit("debug","Identifying as resumed session");const e={token:this.client.token,session_id:this.sessionID,seq:this.sequence};this.send({op:a.OPCodes.RESUME,d:e})}_sendNewIdentify(){this.reconnecting=!1;const e=this.client.options.ws;e.token=this.client.token,this.client.options.shardCount>0&&(e.shard=[Number(this.client.options.shardId),Number(this.client.options.shardCount)]),this.client.emit("debug","Identifying as new session"),this.send({op:a.OPCodes.IDENTIFY,d:e}),this.sequence=-1}eventClose(e){this.emit("close",e),this.client.clearInterval(this.client.manager.heartbeatInterval),this.reconnecting||this.client.emit(a.Events.DISCONNECT),4004!==e.code&&4010!==e.code&&(this.reconnecting||1e3===e.code||this.tryReconnect())}eventMessage(e){let t=e.data;try{"string"!=typeof t&&(t instanceof ArrayBuffer&&(t=h(t)),t=o(t).toString()),t=JSON.parse(t)}catch(e){return this.eventError(new Error(a.Errors.BAD_WS_MESSAGE))}return this.client.emit("raw",t),t.op===a.OPCodes.HELLO&&this.client.manager.setupKeepAlive(t.d.heartbeat_interval),this.packetManager.handle(t)}eventError(e){this.client.listenerCount("error")>0&&this.client.emit("error",e),this.ws.close()}_emitReady(e=true){this.status=a.Status.READY,this.client.emit(a.Events.READY),this.packetManager.handleQueue(),this.normalReady=e}checkIfReady(){if(this.status!==a.Status.READY&&this.status!==a.Status.NEARLY){let e=0;for(const t of this.client.guilds.keys())e+=this.client.guilds.get(t).available?0:1;if(0===e){if(this.status=a.Status.NEARLY,this.client.options.fetchAllMembers){const e=this.client.guilds.map(e=>e.fetchMembers());return void Promise.all(e).then(()=>this._emitReady(),e=>{this.client.emit(a.Events.WARN,"Error in pre-ready guild member fetching"),this.client.emit(a.Events.ERROR,e),this._emitReady()})}this._emitReady()}}}tryReconnect(){this.status=a.Status.RECONNECTING,this.ws.close(),this.packetManager.handleQueue(),this.client.emit(a.Events.RECONNECTING),this.connect(this.client.ws.gateway)}}e.exports=c},function(e,t,i){const r=i(1),n=[r.WSEvents.READY,r.WSEvents.GUILD_CREATE,r.WSEvents.GUILD_DELETE,r.WSEvents.GUILD_MEMBERS_CHUNK,r.WSEvents.GUILD_MEMBER_ADD,r.WSEvents.GUILD_MEMBER_REMOVE];class s{constructor(e){this.ws=e,this.handlers={},this.queue=[],this.register(r.WSEvents.READY,i(326)),this.register(r.WSEvents.GUILD_CREATE,i(307)),this.register(r.WSEvents.GUILD_DELETE,i(308)),this.register(r.WSEvents.GUILD_UPDATE,i(317)),this.register(r.WSEvents.GUILD_BAN_ADD,i(305)),this.register(r.WSEvents.GUILD_BAN_REMOVE,i(306)),this.register(r.WSEvents.GUILD_MEMBER_ADD,i(309)),this.register(r.WSEvents.GUILD_MEMBER_REMOVE,i(310)),this.register(r.WSEvents.GUILD_MEMBER_UPDATE,i(311)),this.register(r.WSEvents.GUILD_ROLE_CREATE,i(313)),this.register(r.WSEvents.GUILD_ROLE_DELETE,i(314)),this.register(r.WSEvents.GUILD_ROLE_UPDATE,i(315)),this.register(r.WSEvents.GUILD_MEMBERS_CHUNK,i(312)),this.register(r.WSEvents.CHANNEL_CREATE,i(301)),this.register(r.WSEvents.CHANNEL_DELETE,i(302)),this.register(r.WSEvents.CHANNEL_UPDATE,i(304)),this.register(r.WSEvents.CHANNEL_PINS_UPDATE,i(303)),this.register(r.WSEvents.PRESENCE_UPDATE,i(325)),this.register(r.WSEvents.USER_UPDATE,i(331)),this.register(r.WSEvents.USER_NOTE_UPDATE,i(330)),this.register(r.WSEvents.VOICE_STATE_UPDATE,i(333)),this.register(r.WSEvents.TYPING_START,i(329)),this.register(r.WSEvents.MESSAGE_CREATE,i(318)),this.register(r.WSEvents.MESSAGE_DELETE,i(319)),this.register(r.WSEvents.MESSAGE_UPDATE,i(324)),this.register(r.WSEvents.MESSAGE_DELETE_BULK,i(320)),this.register(r.WSEvents.VOICE_SERVER_UPDATE,i(332)),this.register(r.WSEvents.GUILD_SYNC,i(316)),this.register(r.WSEvents.RELATIONSHIP_ADD,i(327)),this.register(r.WSEvents.RELATIONSHIP_REMOVE,i(328)),this.register(r.WSEvents.MESSAGE_REACTION_ADD,i(321)),this.register(r.WSEvents.MESSAGE_REACTION_REMOVE,i(322)),this.register(r.WSEvents.MESSAGE_REACTION_REMOVE_ALL,i(323))}get client(){return this.ws.client}register(e,t){this.handlers[e]=new t(this)}handleQueue(){this.queue.forEach((e,t)=>{this.handle(this.queue[t]),this.queue.splice(t,1)})}setSequence(e){e&&e>this.ws.sequence&&(this.ws.sequence=e)}handle(e){return e.op===r.OPCodes.RECONNECT?(this.setSequence(e.s),this.ws.tryReconnect(),!1):e.op===r.OPCodes.INVALID_SESSION?(this.ws.sessionID=null,this.ws._sendNewIdentify(),!1):(e.op===r.OPCodes.HEARTBEAT_ACK&&this.ws.client.emit("debug","Heartbeat acknowledged"),this.ws.status===r.Status.RECONNECTING&&(this.ws.reconnecting=!1,this.ws.checkIfReady()),this.setSequence(e.s),void 0===this.ws.disabledEvents[e.t]&&(this.ws.status!==r.Status.READY&&n.indexOf(e.t)===-1?(this.queue.push(e),!1):!!this.handlers[e.t]&&this.handlers[e.t].handle(e)))}}e.exports=s},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.ChannelCreate.handle(i)}}e.exports=n},function(e,t,i){const r=i(3),n=i(1);class s extends r{handle(e){const t=this.packetManager.client,i=e.d,r=t.actions.ChannelDelete.handle(i);r.channel&&t.emit(n.Events.CHANNEL_DELETE,r.channel)}}e.exports=s},function(e,t,i){const r=i(3),n=i(1);class s extends r{handle(e){const t=this.packetManager.client,i=e.d,r=t.channels.get(i.channel_id),s=new Date(i.last_pin_timestamp);r&&s&&t.emit(n.Events.CHANNEL_PINS_UPDATE,r,s)}}e.exports=s},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.ChannelUpdate.handle(i)}}e.exports=n},function(e,t,i){const r=i(3),n=i(1);class s extends r{handle(e){const t=this.packetManager.client,i=e.d,r=t.guilds.get(i.guild_id),s=t.users.get(i.user.id);r&&s&&t.emit(n.Events.GUILD_BAN_ADD,r,s)}}e.exports=s},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.GuildBanRemove.handle(i)}}e.exports=n},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d,r=t.guilds.get(i.id);r?r.available||i.unavailable||(r.setup(i),this.packetManager.ws.checkIfReady()):t.dataManager.newGuild(i)}}e.exports=n},function(e,t,i){const r=i(3),n=i(1);class s extends r{handle(e){const t=this.packetManager.client,i=e.d,r=t.actions.GuildDelete.handle(i);r.guild&&t.emit(n.Events.GUILD_DELETE,r.guild)}}e.exports=s},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d,r=t.guilds.get(i.guild_id);r&&(r.memberCount++,r._addMember(i))}}e.exports=n},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.GuildMemberRemove.handle(i)}}e.exports=n},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d,r=t.guilds.get(i.guild_id);if(r){const e=r.members.get(i.user.id);e&&r._updateMember(e,i)}}}e.exports=n},function(e,t,i){const r=i(3),n=i(1);class s extends r{handle(e){const t=this.packetManager.client,i=e.d,r=t.guilds.get(i.guild_id),s=[];if(r)for(const a of i.members)s.push(r._addMember(a,!1));r._checkChunks(),t.emit(n.Events.GUILD_MEMBERS_CHUNK,s)}}e.exports=s},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.GuildRoleCreate.handle(i)}}e.exports=n},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.GuildRoleDelete.handle(i)}}e.exports=n},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.GuildRoleUpdate.handle(i)}}e.exports=n},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.GuildSync.handle(i)}}e.exports=n},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.GuildUpdate.handle(i)}}e.exports=n},function(e,t,i){const r=i(3),n=i(1);class s extends r{handle(e){const t=this.packetManager.client,i=e.d,r=t.actions.MessageCreate.handle(i);r.message&&t.emit(n.Events.MESSAGE_CREATE,r.message)}}e.exports=s},function(e,t,i){const r=i(3),n=i(1);class s extends r{handle(e){const t=this.packetManager.client,i=e.d,r=t.actions.MessageDelete.handle(i);r.message&&t.emit(n.Events.MESSAGE_DELETE,r.message)}}e.exports=s},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.MessageDeleteBulk.handle(i)}}e.exports=n},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.MessageReactionAdd.handle(i)}}e.exports=n},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.MessageReactionRemove.handle(i)}}e.exports=n},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.MessageReactionRemoveAll.handle(i)}}e.exports=n},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.MessageUpdate.handle(i)}}e.exports=n},function(e,t,i){const r=i(3),n=i(1),s=i(13);class a extends r{handle(e){const t=this.packetManager.client,i=e.d;let r=t.users.get(i.user.id);const a=t.guilds.get(i.guild_id);if(!r){if(!i.user.username)return;r=t.dataManager.newUser(i.user)}const o=s(r);if(r.patch(i.user),r.equals(o)||t.emit(n.Events.USER_UPDATE,o,r),a){let e=a.members.get(r.id);if(e||"offline"===i.status||(e=a._addMember({user:r,roles:i.roles,deaf:!1,mute:!1},!1),t.emit(n.Events.GUILD_MEMBER_AVAILABLE,e)),e){const o=s(e);e.presence&&(o.frozenPresence=s(e.presence)),a._setPresence(r.id,i),t.emit(n.Events.PRESENCE_UPDATE,o,e)}else a._setPresence(r.id,i)}}}e.exports=a},function(e,t,i){const r=i(3),n=i(68);class s extends r{handle(e){const t=this.packetManager.client,i=e.d,r=new n(t,i.user);t.user=r,t.readyAt=new Date,t.users.set(r.id,r);for(const s of i.guilds)t.dataManager.newGuild(s);for(const a of i.private_channels)t.dataManager.newChannel(a);for(const o of i.relationships){const e=t.dataManager.newUser(o.user);1===o.type?t.user.friends.set(e.id,e):2===o.type&&t.user.blocked.set(e.id,e)}i.presences=i.presences||[];for(const f of i.presences)t.dataManager.newUser(f.user),t._setPresence(f.user.id,f);if(i.notes)for(const h in i.notes){let e=i.notes[h];e.length||(e=null),t.user.notes.set(h,e)}!t.user.bot&&t.options.sync&&t.setInterval(t.syncGuilds.bind(t),3e4),t.once("ready",t.syncGuilds.bind(t)),t.users.has("1")||t.dataManager.newUser({id:"1",username:"Clyde",discriminator:"0000",avatar:"https://discordapp.com/assets/f78426a064bc9dd24847519259bc42af.png",bot:!0,status:"online",game:null,verified:!0}),t.setTimeout(()=>{t.ws.normalReady||t.ws._emitReady(!1)},1200*i.guilds.length),this.packetManager.ws.sessionID=i.session_id,this.packetManager.ws.checkIfReady()}}e.exports=s},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;1===i.type?t.fetchUser(i.id).then(e=>{t.user.friends.set(e.id,e)}):2===i.type&&t.fetchUser(i.id).then(e=>{t.user.blocked.set(e.id,e)})}}e.exports=n},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;2===i.type?t.user.blocked.has(i.id)&&t.user.blocked.delete(i.id):1===i.type&&t.user.friends.has(i.id)&&t.user.friends.delete(i.id)}}e.exports=n},function(e,t,i){function r(e,t){return e.client.setTimeout(()=>{e.client.emit(s.Events.TYPING_STOP,e,t,e._typing.get(t.id)),e._typing.delete(t.id)},6e3)}const n=i(3),s=i(1);class a extends n{handle(e){const t=this.packetManager.client,i=e.d,n=t.channels.get(i.channel_id),a=t.users.get(i.user_id),f=new Date(1e3*i.timestamp);if(n&&a){if("voice"===n.type)return void t.emit(s.Events.WARN,`Discord sent a typing packet to voice channel ${n.id}`);if(n._typing.has(a.id)){const e=n._typing.get(a.id);e.lastTimestamp=f,e.resetTimeout(r(n,a))}else n._typing.set(a.id,new o(t,f,f,r(n,a))),t.emit(s.Events.TYPING_START,n,a)}}}class o{constructor(e,t,i,r){this.client=e,this.since=t,this.lastTimestamp=i,this._timeout=r}resetTimeout(e){this.client.clearTimeout(this._timeout),this._timeout=e}get elapsedTime(){return Date.now()-this.since}}e.exports=a},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.UserNoteUpdate.handle(i)}}e.exports=n},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.actions.UserUpdate.handle(i)}}e.exports=n},function(e,t,i){const r=i(3);class n extends r{handle(e){const t=this.packetManager.client,i=e.d;t.emit("self.voiceServer",i)}}e.exports=n},function(e,t,i){const r=i(3),n=i(1),s=i(13);class a extends r{handle(e){const t=this.packetManager.client,i=e.d,r=t.guilds.get(i.guild_id);if(r){const e=r.members.get(i.user_id);if(e){const r=s(e);e.voiceChannel&&e.voiceChannel.id!==i.channel_id&&e.voiceChannel.members.delete(r.id),i.channel_id||(e.speaking=null),e.user.id===t.user.id&&i.channel_id&&t.emit("self.voiceStateUpdate",i);const a=t.channels.get(i.channel_id);a&&a.members.set(e.user.id,e),e.serverMute=i.mute,e.serverDeaf=i.deaf,e.selfMute=i.self_mute,e.selfDeaf=i.self_deaf,e.voiceSessionID=i.session_id,e.voiceChannelID=i.channel_id,t.emit(n.Events.VOICE_STATE_UPDATE,r,e)}}}}e.exports=a},function(e,t){class i{constructor(e,t){this.user=e,this.setup(t)}setup(e){this.type=e.type,this.name=e.name,this.id=e.id,this.revoked=e.revoked,this.integrations=e.integrations}}e.exports=i},function(e,t,i){const r=i(6),n=i(334);class s{constructor(e,t){this.user=e,this.client=this.user.client,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.mutualGuilds=new r,this.connections=new r,this.setup(t)}setup(e){for(const t of e.mutual_guilds)this.client.guilds.has(t.id)&&this.mutualGuilds.set(t.id,this.client.guilds.get(t.id));for(const i of e.connected_accounts)this.connections.set(i.id,new n(this.user,i))}}e.exports=s},function(e,t){e.exports=function(e){if(e.includes("%")&&(e=decodeURIComponent(e)),e.includes(":")){const[t,i]=e.split(":");return{name:t,id:i}}return{name:e,id:null}}},function(e,t){},function(e,t){},function(e,t){},function(e,t,i){e.exports={Client:i(137),WebhookClient:i(138),Shard:i(65),ShardClientUtil:i(66),ShardingManager:i(139),Collection:i(6),splitMessage:i(83),escapeMarkdown:i(35),fetchRecommendedShards:i(82),Channel:i(24),ClientOAuth2Application:i(67),ClientUser:i(68),DMChannel:i(69),Emoji:i(25),EvaluatedPermissions:i(46),Game:i(15).Game,GroupDMChannel:i(70),Guild:i(47),GuildChannel:i(32),GuildMember:i(33),Invite:i(71),Message:i(34),MessageAttachment:i(72),MessageCollector:i(73),MessageEmbed:i(74),MessageReaction:i(75),OAuth2Application:i(76),PartialGuild:i(77),PartialGuildChannel:i(78),PermissionOverwrites:i(79),Presence:i(15).Presence,ReactionEmoji:i(48),Role:i(20),TextChannel:i(80),User:i(14),VoiceChannel:i(81),Webhook:i(49),version:i(64).version},"undefined"!=typeof window&&(window.Discord=e.exports)}]); \ No newline at end of file +var c=n(10),h=n(5),f=n(55),u=n(122),d=n(108),l=n(129),p=n(126),b=n(44),m=(n(238),n(62));c.inherits(i,h.EventEmitter),i.prototype.close=function(e){var t=null;try{for(var n=0,i=this.clients.length;n>>8^H[255&(i^e[t])];for(r=s>>3;r--;t+=8)i=i>>>8^H[255&(i^e[t])],i=i>>>8^H[255&(i^e[t+1])],i=i>>>8^H[255&(i^e[t+2])],i=i>>>8^H[255&(i^e[t+3])],i=i>>>8^H[255&(i^e[t+4])],i=i>>>8^H[255&(i^e[t+5])],i=i>>>8^H[255&(i^e[t+6])],i=i>>>8^H[255&(i^e[t+7])];return(4294967295^i)>>>0}function o(){}function a(e){this.buffer=new(O?Uint16Array:Array)(2*e),this.length=0}function c(e){var t,n,i,r,s,o,a,c,h,f,u=e.length,d=0,l=Number.POSITIVE_INFINITY;for(c=0;cd&&(d=e[c]),e[c]>=1;for(f=i<<16|c,h=o;h>16&255,s[o++]=n>>24;var a;switch(L){case 1===r:a=[0,r-1,0];break;case 2===r:a=[1,r-2,0];break;case 3===r:a=[2,r-3,0];break;case 4===r:a=[3,r-4,0];break;case 6>=r:a=[4,r-5,1];break;case 8>=r:a=[5,r-7,1];break;case 12>=r:a=[6,r-9,2];break;case 16>=r:a=[7,r-13,2];break;case 24>=r:a=[8,r-17,3];break;case 32>=r:a=[9,r-25,3];break;case 48>=r:a=[10,r-33,4];break;case 64>=r:a=[11,r-49,4];break;case 96>=r:a=[12,r-65,5];break;case 128>=r:a=[13,r-97,5];break;case 192>=r:a=[14,r-129,6];break;case 256>=r:a=[15,r-193,6];break;case 384>=r:a=[16,r-257,7];break;case 512>=r:a=[17,r-385,7];break;case 768>=r:a=[18,r-513,8];break;case 1024>=r:a=[19,r-769,8];break;case 1536>=r:a=[20,r-1025,9];break;case 2048>=r:a=[21,r-1537,9];break;case 3072>=r:a=[22,r-2049,10];break;case 4096>=r:a=[23,r-3073,10];break;case 6144>=r:a=[24,r-4097,11];break;case 8192>=r:a=[25,r-6145,11];break;case 12288>=r:a=[26,r-8193,12];break;case 16384>=r:a=[27,r-12289,12];break;case 24576>=r:a=[28,r-16385,13];break;case 32768>=r:a=[29,r-24577,13];break;default:i("invalid distance")}n=a,s[o++]=n[0],s[o++]=n[1],s[o++]=n[2];var c,h;for(c=0,h=s.length;c=o;)v[o++]=0;for(o=0;29>=o;)y[o++]=0}for(v[256]=1,r=0,s=t.length;r=s){for(u&&n(u,-1),o=0,a=s-r;os&&t+sh&&(r=i,h=s),258===s)break}return new f(h,t-r)}function l(e,t){var n,i,r,s,o,c=e.length,h=new a(572),f=new(O?Uint8Array:Array)(c);if(!O)for(s=0;s2*h[s-1]+f[s]&&(h[s]=2*h[s-1]+f[s]),d[s]=Array(h[s]),l[s]=Array(h[s]);for(r=0;re[r]?(d[s][o]=a,l[s][o]=t,c+=2):(d[s][o]=e[r],l[s][o]=r,++r);p[s]=0,1===f[s]&&i(s)}return u}function b(e){var t,n,i,r,s=new(O?Uint16Array:Array)(e.length),o=[],a=[],c=0;for(t=0,n=e.length;t>>=1;return s}function m(e,t){this.input=e,this.b=this.c=0,this.g={},t&&(t.flags&&(this.g=t.flags),"string"==typeof t.filename&&(this.filename=t.filename),"string"==typeof t.comment&&(this.w=t.comment),t.deflateOptions&&(this.l=t.deflateOptions)),this.l||(this.l={})}function g(e,t){switch(this.o=[],this.p=32768,this.e=this.j=this.c=this.s=0,this.input=O?new Uint8Array(e):e,this.u=!1,this.q=ne,this.L=!1,!t&&(t={})||(t.index&&(this.c=t.index),t.bufferSize&&(this.p=t.bufferSize),t.bufferType&&(this.q=t.bufferType),t.resize&&(this.L=t.resize)),this.q){case te:this.b=32768,this.a=new(O?Uint8Array:Array)(32768+this.p+258);break;case ne:this.b=0,this.a=new(O?Uint8Array:Array)(this.p),this.f=this.T,this.z=this.P,this.r=this.R;break;default:i(Error("invalid inflate mode"))}}function v(e,t){for(var n,r=e.j,s=e.e,o=e.input,a=e.c,c=o.length;s=c&&i(Error("input buffer is broken")),r|=o[a++]<>>t,e.e=s-t,e.c=a,n}function y(e,t){for(var n,i,r=e.j,s=e.e,o=e.input,a=e.c,c=o.length,h=t[0],f=t[1];s=c);)r|=o[a++]<>>16,e.j=r>>i,e.e=s-i,e.c=a,65535&n}function _(e){function t(e,t,n){var i,r,s,o=this.I;for(s=0;s>>0;e=i}for(var r,s=1,o=0,a=e.length,c=0;0>>0}function S(e,t){var n,r;switch(this.input=e,this.c=0,!t&&(t={})||(t.index&&(this.c=t.index),t.verify&&(this.W=t.verify)),n=e[this.c++],r=e[this.c++],15&n){case we:this.method=we;break;default:i(Error("unsupported compression method"))}0!==((n<<8)+r)%31&&i(Error("invalid fcheck flag:"+((n<<8)+r)%31)),32&r&&i(Error("fdict flag is not supported")),this.K=new g(e,{index:this.c,bufferSize:t.bufferSize,bufferType:t.bufferType,resize:t.resize})}function k(e,t){this.input=e,this.a=new(O?Uint8Array:Array)(32768),this.k=Ee.t;var n,i={};!t&&(t={})||"number"!=typeof t.compressionType||(this.k=t.compressionType);for(n in t)i[n]=t[n];i.outputBuffer=this.a,this.J=new h(this.input,i)}function A(t,n,i){e.nextTick(function(){var e,r;try{r=M(t,i)}catch(t){e=t}n(e,r)})}function M(e,t){var n;return n=new k(e).h(),t||(t={}),t.H?n:P(n)}function x(t,n,i){e.nextTick(function(){var e,r;try{r=R(t,i)}catch(t){e=t}n(e,r)})}function R(e,t){var n;return e.subarray=e.slice,n=new S(e).i(),t||(t={}),t.noBuffer?n:P(n)}function I(t,n,i){e.nextTick(function(){var e,r;try{r=T(t,i)}catch(t){e=t}n(e,r)})}function T(e,t){var n;return e.subarray=e.slice,n=new m(e).h(),t||(t={}),t.H?n:P(n)}function C(t,n,i){e.nextTick(function(){var e,r;try{r=D(t,i)}catch(t){e=t}n(e,r)})}function D(e,t){var n;return e.subarray=e.slice,n=new w(e).i(),t||(t={}),t.H?n:P(n)}function P(e){var t,i,r=new n(e.length);for(t=0,i=e.length;t>>8&255]<<16|F[e>>>16&255]<<8|F[e>>>24&255])>>32-t:F[e]>>8-t),8>t+o)a=a<>t-i-1&1,8===++o&&(o=0,r[s++]=F[a],a=0,s===r.length&&(r=this.f()));r[s]=a,this.buffer=r,this.m=o,this.index=s},r.prototype.finish=function(){var e,t=this.buffer,n=this.index;return 0U;++U){for(var j=U,q=j,z=7,j=j>>>1;j;j>>>=1)q<<=1,q|=1&j,--z;N[U]=(q<>>0}var F=N,G=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],H=O?new Uint32Array(G):G;a.prototype.getParent=function(e){return 2*((e-2)/4|0)},a.prototype.push=function(e,t){var n,i,r,s=this.buffer;for(n=this.length,s[this.length++]=t,s[this.length++]=e;0s[i]);)r=s[n],s[n]=s[i],s[i]=r,r=s[n+1],s[n+1]=s[i+1],s[i+1]=r,n=i;return this.length},a.prototype.pop=function(){var e,t,n,i,r,s=this.buffer;for(t=s[0],e=s[1],this.length-=2,s[0]=s[this.length],s[1]=s[this.length+1],r=0;(i=2*r+2,!(i>=this.length))&&(i+2s[i]&&(i+=2),s[i]>s[r]);)n=s[r],s[r]=s[i],s[i]=n,n=s[r+1],s[r+1]=s[i+1],s[i+1]=n,r=i;return{index:e,value:t,length:this.length}};var W,V=2,K={NONE:0,M:1,t:V,Y:3},Z=[];for(W=0;288>W;W++)switch(L){case 143>=W:Z.push([W+48,8]);break;case 255>=W:Z.push([W-144+400,9]);break;case 279>=W:Z.push([W-256+0,7]);break;case 287>=W:Z.push([W-280+192,8]);break;default:i("invalid literal: "+W)}h.prototype.h=function(){var e,t,n,s,o=this.input;switch(this.k){case 0:for(n=0,s=o.length;n>>8&255,g[v++]=255&d,g[v++]=d>>>8&255,O)g.set(a,v),v+=a.length,g=g.subarray(0,v);else{for(p=0,m=a.length;pY)for(;0Y?Y:138,$>Y-3&&$=$?(ne[J++]=17,ne[J++]=$-3,ie[17]++):(ne[J++]=18,ne[J++]=$-11,ie[18]++),Y-=$;else if(ne[J++]=te[W],ie[te[W]]++,Y--,3>Y)for(;0Y?Y:6,$>Y-3&&$q;q++)H[q]=P[G[q]];for(R=19;4=e:return[265,e-11,1];case 14>=e:return[266,e-13,1];case 16>=e:return[267,e-15,1];case 18>=e:return[268,e-17,1];case 22>=e:return[269,e-19,2];case 26>=e:return[270,e-23,2];case 30>=e:return[271,e-27,2];case 34>=e:return[272,e-31,2];case 42>=e:return[273,e-35,3];case 50>=e:return[274,e-43,3];case 58>=e:return[275,e-51,3];case 66>=e:return[276,e-59,3];case 82>=e:return[277,e-67,4];case 98>=e:return[278,e-83,4];case 114>=e:return[279,e-99,4];case 130>=e:return[280,e-115,4];case 162>=e:return[281,e-131,5];case 194>=e:return[282,e-163,5];case 226>=e:return[283,e-195,5];case 257>=e:return[284,e-227,5];case 258===e:return[285,e-258,0];default:i("invalid length: "+e)}}var t,n,r=[];for(t=3;258>=t;t++)n=e(t),r[t]=n[2]<<24|n[1]<<16|n[0];return r}(),X=O?new Uint32Array(Y):Y;m.prototype.h=function(){var e,t,n,i,r,o,a,c,f=new(O?Uint8Array:Array)(32768),u=0,d=this.input,l=this.c,p=this.filename,b=this.w;if(f[u++]=31,f[u++]=139,f[u++]=8,e=0,this.g.fname&&(e|=Q),this.g.fcomment&&(e|=ee),this.g.fhcrc&&(e|=$),f[u++]=e,t=(Date.now?Date.now():+new Date)/1e3|0,f[u++]=255&t,f[u++]=t>>>8&255,f[u++]=t>>>16&255,f[u++]=t>>>24&255,f[u++]=0,f[u++]=J,this.g.fname!==B){for(a=0,c=p.length;a>>8&255),f[u++]=255&o;f[u++]=0}if(this.g.comment){for(a=0,c=b.length;a>>8&255),f[u++]=255&o;f[u++]=0}return this.g.fhcrc&&(n=65535&s(f,0,u),f[u++]=255&n,f[u++]=n>>>8&255),this.l.outputBuffer=f,this.l.outputIndex=u,r=new h(d,this.l),f=r.h(),u=r.b,O&&(u+8>f.buffer.byteLength?(this.a=new Uint8Array(u+8),this.a.set(new Uint8Array(f.buffer)),f=this.a):f=new Uint8Array(f.buffer)),i=s(d,B,B),f[u++]=255&i,f[u++]=i>>>8&255,f[u++]=i>>>16&255,f[u++]=i>>>24&255,c=d.length,f[u++]=255&c,f[u++]=c>>>8&255,f[u++]=c>>>16&255,f[u++]=c>>>24&255,this.c=l,O&&u>>=1){case 0:var t=this.input,n=this.c,r=this.a,s=this.b,o=t.length,a=B,c=B,h=r.length,f=B;switch(this.e=this.j=0,n+1>=o&&i(Error("invalid uncompressed block header: LEN")),a=t[n++]|t[n++]<<8,n+1>=o&&i(Error("invalid uncompressed block header: NLEN")),c=t[n++]|t[n++]<<8,a===~c&&i(Error("invalid uncompressed block header: length verify")),n+a>t.length&&i(Error("input buffer is broken")),this.q){case te:for(;s+a>r.length;){if(f=h-s,a-=f,O)r.set(t.subarray(n,n+f),s),s+=f,n+=f;else for(;f--;)r[s++]=t[n++];this.b=s,r=this.f(),s=this.b}break;case ne:for(;s+a>r.length;)r=this.f({B:2});break;default:i(Error("invalid inflate mode"))}if(O)r.set(t.subarray(n,n+a),s),s+=a,n+=a;else for(;a--;)r[s++]=t[n++];this.c=n,this.b=s,this.a=r;break;case 1:this.r(ve,_e);break;case 2:_(this);break;default:i(Error("unknown BTYPE: "+e))}}return this.z()};var ie,re,se=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],oe=O?new Uint16Array(se):se,ae=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],ce=O?new Uint16Array(ae):ae,he=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],fe=O?new Uint8Array(he):he,ue=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],de=O?new Uint16Array(ue):ue,le=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],pe=O?new Uint8Array(le):le,be=new(O?Uint8Array:Array)(288);for(ie=0,re=be.length;ie=ie?8:255>=ie?9:279>=ie?7:8;var me,ge,ve=c(be),ye=new(O?Uint8Array:Array)(30);for(me=0,ge=ye.length;mer)i>=c&&(this.b=i,n=this.f(),i=this.b),n[i++]=r;else for(s=r-257,a=ce[s],0=c&&(this.b=i,n=this.f(),i=this.b);a--;)n[i]=n[i++-o];for(;8<=this.e;)this.e-=8,this.c--;this.b=i},g.prototype.R=function(e,t){var n=this.a,i=this.b;this.A=e;for(var r,s,o,a,c=n.length;256!==(r=y(this,e));)if(256>r)i>=c&&(n=this.f(),c=n.length),n[i++]=r;else for(s=r-257,a=ce[s],0c&&(n=this.f(),c=n.length);a--;)n[i]=n[i++-o];for(;8<=this.e;)this.e-=8,this.c--;this.b=i},g.prototype.f=function(){var e,t,n=new(O?Uint8Array:Array)(this.b-32768),i=this.b-32768,r=this.a;if(O)n.set(r.subarray(32768,n.length));else for(e=0,t=n.length;ee;++e)r[e]=r[i+e];return this.b=32768,r},g.prototype.T=function(e){var t,n,i,r,s=this.input.length/this.c+1|0,o=this.input,a=this.a;return e&&("number"==typeof e.B&&(s=e.B),"number"==typeof e.N&&(s+=e.N)),2>s?(n=(o.length-this.c)/this.A[2],r=258*(n/2)|0,i=rt&&(this.a.length=t),e=this.a),this.buffer=e},w.prototype.i=function(){for(var e=this.input.length;this.c>>0,s(a,B,B)!==l&&i(Error("invalid CRC-32 checksum: 0x"+s(a,B,B).toString(16)+" / 0x"+l.toString(16))),t.$=n=(p[b++]|p[b++]<<8|p[b++]<<16|p[b++]<<24)>>>0,(4294967295&a.length)!==n&&i(Error("invalid input size: "+(4294967295&a.length)+" / "+n)),this.G.push(t),this.c=b}this.S=L;var m,v,y,_=this.G,w=0,E=0;for(m=0,v=_.length;m>>0,t!==E(e)&&i(Error("invalid adler-32 checksum"))),e};var we=8,Ee=K;k.prototype.h=function(){var e,t,n,r,s,o,a,c=0;switch(a=this.a,e=we){case we:t=Math.LOG2E*Math.log(32768)-8;break;default:i(Error("invalid compression method"))}switch(n=t<<4|e,a[c++]=n,e){case we:switch(this.k){case Ee.NONE:s=0;break;case Ee.M:s=1;break;case Ee.t:s=2;break;default:i(Error("unsupported compression type"))}break;default:i(Error("invalid compression method"))}return r=s<<6|0,a[c++]=r|31-(256*n+r)%31,o=E(this.input),this.J.b=c,a=this.J.h(),c=a.length,O&&(a=new Uint8Array(a.buffer),a.length<=c+4&&(this.a=new Uint8Array(a.length+4),this.a.set(a),a=this.a),a=a.subarray(0,c+4)),a[c++]=o>>24&255,a[c++]=o>>16&255,a[c++]=o>>8&255,a[c++]=255&o,a},t.deflate=A,t.deflateSync=M,t.inflate=x,t.inflateSync=R,t.gzip=I,t.gzipSync=T,t.gunzip=C,t.gunzipSync=D}).call(this)}).call(t,n(8),n(0).Buffer)},function(e,t,n){const i=n(1),r=n(12),s=n(47),o=n(14),a=n(69),c=n(25),h=n(80),f=n(81),u=n(32),d=n(70);class l{constructor(e){this.client=e}get pastReady(){return this.client.ws.status===i.Status.READY}newGuild(e){const t=this.client.guilds.has(e.id),n=new s(this.client,e);return this.client.guilds.set(n.id,n),this.pastReady&&!t&&(this.client.options.fetchAllMembers?n.fetchMembers().then(()=>{this.client.emit(i.Events.GUILD_CREATE,n)}):this.client.emit(i.Events.GUILD_CREATE,n)),n}newUser(e){if(this.client.users.has(e.id))return this.client.users.get(e.id);const t=new o(this.client,e);return this.client.users.set(t.id,t),t}newChannel(e,t){const n=this.client.channels.has(e.id);let r;return e.type===i.ChannelTypes.DM?r=new a(this.client,e):e.type===i.ChannelTypes.groupDM?r=new d(this.client,e):(t=t||this.client.guilds.get(e.guild_id),t&&(e.type===i.ChannelTypes.text?(r=new h(t,e),t.channels.set(r.id,r)):e.type===i.ChannelTypes.voice&&(r=new f(t,e),t.channels.set(r.id,r)))),r?(this.pastReady&&!n&&this.client.emit(i.Events.CHANNEL_CREATE,r),this.client.channels.set(r.id,r),r):null}newEmoji(e,t){const n=t.emojis.has(e.id);if(e&&!n){let n=new c(t,e);return this.client.emit(i.Events.EMOJI_CREATE,n),t.emojis.set(n.id,n),n}return n?t.emojis.get(e.id):null}killEmoji(e){e instanceof c&&e.guild&&(this.client.emit(i.Events.EMOJI_DELETE,e),e.guild.emojis.delete(e.id))}killGuild(e){const t=this.client.guilds.has(e.id);this.client.guilds.delete(e.id),t&&this.pastReady&&this.client.emit(i.Events.GUILD_DELETE,e)}killUser(e){this.client.users.delete(e.id)}killChannel(e){this.client.channels.delete(e.id),e instanceof u&&e.guild.channels.delete(e.id)}updateGuild(e,t){const n=r(e);e.setup(t),this.pastReady&&this.client.emit(i.Events.GUILD_UPDATE,n,e)}updateChannel(e,t){e.setup(t)}updateEmoji(e,t){const n=r(e);e.setup(t),this.client.emit(i.Events.GUILD_EMOJI_UPDATE,n,e)}}e.exports=l},function(e,t,n){const i=n(1);class r{constructor(e){this.client=e,this.heartbeatInterval=null}connectToWebSocket(e,t,n){this.client.emit(i.Events.DEBUG,`Authenticated using token ${e}`),this.client.token=e;const r=this.client.setTimeout(()=>n(new Error(i.Errors.TOOK_TOO_LONG)),3e5);this.client.rest.methods.getGateway().then(s=>{this.client.emit(i.Events.DEBUG,`Using gateway ${s}`),this.client.ws.connect(s),this.client.ws.once("close",e=>{4004===e.code&&n(new Error(i.Errors.BAD_LOGIN)),4010===e.code&&n(new Error(i.Errors.INVALID_SHARD))}),this.client.once(i.Events.READY,()=>{t(e),this.client.clearTimeout(r)})},n)}setupKeepAlive(e){this.heartbeatInterval=this.client.setInterval(()=>{this.client.emit("debug","Sending heartbeat"),this.client.ws.send({op:i.OPCodes.HEARTBEAT,d:this.client.ws.sequence},!0)},e)}destroy(){return new Promise(e=>{this.client.ws.destroy(),this.client.user.bot?e():e(this.client.rest.methods.logout())})}}e.exports=r},function(e,t,n){class i{constructor(e){this.client=e,this.register(n(267)),this.register(n(268)),this.register(n(269)),this.register(n(273)),this.register(n(270)),this.register(n(271)),this.register(n(272)),this.register(n(251)),this.register(n(252)),this.register(n(253)),this.register(n(255)),this.register(n(266)),this.register(n(259)),this.register(n(260)),this.register(n(254)),this.register(n(261)),this.register(n(262)),this.register(n(263)),this.register(n(274)),this.register(n(276)),this.register(n(275)),this.register(n(265)),this.register(n(256)),this.register(n(257)),this.register(n(258)),this.register(n(264))}register(e){this[e.name.replace(/Action$/,"")]=new e(this.client)}}e.exports=i},function(e,t,n){const i=n(4);class r extends i{handle(e){const t=this.client,n=t.dataManager.newChannel(e);return{channel:n}}}e.exports=r},function(e,t,n){const i=n(4);class r extends i{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client;let n=t.channels.get(e.id);return n?(t.dataManager.killChannel(n),this.deleted.set(n.id,n),this.scheduleForDeletion(n.id)):n=this.deleted.get(e.id)||null,{channel:n}}scheduleForDeletion(e){this.client.setTimeout(()=>this.deleted.delete(e),this.client.options.restWsBridgeTimeout)}}e.exports=r},function(e,t,n){const i=n(4),r=n(1),s=n(12);class o extends i{handle(e){const t=this.client,n=t.channels.get(e.id);if(n){const i=s(n);return n.setup(e),t.emit(r.Events.CHANNEL_UPDATE,i,n),{old:i,updated:n}}return{old:null,updated:null}}}e.exports=o},function(e,t,n){const i=n(4),r=n(1);class s extends i{handle(e){const t=this.client,n=t.guilds.get(e.guild_id),i=t.dataManager.newUser(e.user);n&&i&&t.emit(r.Events.GUILD_BAN_REMOVE,n,i)}}e.exports=s},function(e,t,n){const i=n(4),r=n(1);class s extends i{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client;let n=t.guilds.get(e.id);if(n){if(n.available&&e.unavailable)return n.available=!1,t.emit(r.Events.GUILD_UNAVAILABLE,n),{guild:null};t.guilds.delete(n.id),this.deleted.set(n.id,n),this.scheduleForDeletion(n.id)}else n=this.deleted.get(e.id)||null;return{guild:n}}scheduleForDeletion(e){this.client.setTimeout(()=>this.deleted.delete(e),this.client.options.restWsBridgeTimeout)}}e.exports=s},function(e,t,n){const i=n(4);class r extends i{handle(e,t){const n=this.client,i=n.dataManager.newEmoji(e,t);return{emoji:i}}}e.exports=r},function(e,t,n){const i=n(4);class r extends i{handle(e){const t=this.client;return t.dataManager.killEmoji(e),{data:e}}}e.exports=r},function(e,t,n){const i=n(4);class r extends i{handle(e,t){const n=this.client;for(let i of e.emojis){const e=t.emojis.has(i.id);e?n.dataManager.updateEmoji(t.emojis.get(i.id),i):i=n.dataManager.newEmoji(i,t)}for(let i of t.emojis)e.emoijs.has(i.id)||n.dataManager.killEmoji(i);return{emojis:e.emojis}}}e.exports=r},function(e,t,n){const i=n(4);class r extends i{handle(e,t){const n=e._addMember(t,!1);return{member:n}}}e.exports=r},function(e,t,n){const i=n(4),r=n(1);class s extends i{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n){let i=n.members.get(e.user.id);return i?(n.memberCount--,n._removeMember(i),this.deleted.set(n.id+e.user.id,i),t.status===r.Status.READY&&t.emit(r.Events.GUILD_MEMBER_REMOVE,i),this.scheduleForDeletion(n.id,e.user.id)):i=this.deleted.get(n.id+e.user.id)||null,{guild:n,member:i}}return{guild:n,member:null}}scheduleForDeletion(e,t){this.client.setTimeout(()=>this.deleted.delete(e+t),this.client.options.restWsBridgeTimeout)}}e.exports=s},function(e,t,n){const i=n(4),r=n(1),s=n(19);class o extends i{handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n){const i=n.roles.has(e.role.id),o=new s(n,e.role);return n.roles.set(o.id,o),i||t.emit(r.Events.GUILD_ROLE_CREATE,o),{role:o}}return{role:null}}}e.exports=o},function(e,t,n){const i=n(4),r=n(1);class s extends i{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n){let i=n.roles.get(e.role_id);return i?(n.roles.delete(e.role_id),this.deleted.set(n.id+e.role_id,i),this.scheduleForDeletion(n.id,e.role_id),t.emit(r.Events.GUILD_ROLE_DELETE,i)):i=this.deleted.get(n.id+e.role_id)||null, +{role:i}}return{role:null}}scheduleForDeletion(e,t){this.client.setTimeout(()=>this.deleted.delete(e+t),this.client.options.restWsBridgeTimeout)}}e.exports=s},function(e,t,n){const i=n(4),r=n(1),s=n(12);class o extends i{handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n){const i=e.role;let o=null;const a=n.roles.get(i.id);return a&&(o=s(a),a.setup(e.role),t.emit(r.Events.GUILD_ROLE_UPDATE,o,a)),{old:o,updated:a}}return{old:null,updated:null}}}e.exports=o},function(e,t,n){const i=n(4);class r extends i{handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n)for(const i of e.roles){const e=n.roles.get(i.id);e&&(e.position=i.position)}return{guild:n}}}e.exports=r},function(e,t,n){const i=n(4);class r extends i{handle(e){const t=this.client,n=t.guilds.get(e.id);if(n){e.presences=e.presences||[];for(const t of e.presences)n._setPresence(t.user.id,t);e.members=e.members||[];for(const i of e.members){const e=n.members.get(i.user.id);e?n._updateMember(e,i):n._addMember(i)}}}}e.exports=r},function(e,t,n){const i=n(4),r=n(1),s=n(12);class o extends i{handle(e){const t=this.client,n=t.guilds.get(e.id);if(n){const i=s(n);return n.setup(e),t.emit(r.Events.GUILD_UPDATE,i,n),{old:i,updated:n}}return{old:null,updated:null}}}e.exports=o},function(e,t,n){const i=n(4),r=n(34);class s extends i{handle(e){const t=this.client,n=t.channels.get((e instanceof Array?e[0]:e).channel_id);if(n){if(e instanceof Array){const i=new Array(e.length);for(let s=0;sthis.deleted.delete(e+t),this.client.options.restWsBridgeTimeout)}}e.exports=r},function(e,t,n){const i=n(4),r=n(6),s=n(1);class o extends i{handle(e){const t=this.client,n=t.channels.get(e.channel_id),i=e.ids,o=new r;for(const a of i){const e=n.messages.get(a);e&&o.set(e.id,e)}return o.size>0&&t.emit(s.Events.MESSAGE_BULK_DELETE,o),{messages:o}}}e.exports=o},function(e,t,n){const i=n(4),r=n(1);class s extends i{handle(e){const t=this.client.users.get(e.user_id);if(!t)return!1;const n=this.client.channels.get(e.channel_id);if(!n||"voice"===n.type)return!1;const i=n.messages.get(e.message_id);if(!i)return!1;if(!e.emoji)return!1;const s=i._addReaction(e.emoji,t);return s&&this.client.emit(r.Events.MESSAGE_REACTION_ADD,s,t),{message:i,reaction:s,user:t}}}e.exports=s},function(e,t,n){const i=n(4),r=n(1);class s extends i{handle(e){const t=this.client.users.get(e.user_id);if(!t)return!1;const n=this.client.channels.get(e.channel_id);if(!n||"voice"===n.type)return!1;const i=n.messages.get(e.message_id);if(!i)return!1;if(!e.emoji)return!1;const s=i._removeReaction(e.emoji,t);return s&&this.client.emit(r.Events.MESSAGE_REACTION_REMOVE,s,t),{message:i,reaction:s,user:t}}}e.exports=s},function(e,t,n){const i=n(4),r=n(1);class s extends i{handle(e){const t=this.client.channels.get(e.channel_id);if(!t||"voice"===t.type)return!1;const n=t.messages.get(e.message_id);return!!n&&(n._clearReactions(),this.client.emit(r.Events.MESSAGE_REACTION_REMOVE_ALL,n),{message:n})}}e.exports=s},function(e,t,n){const i=n(4),r=n(1),s=n(12);class o extends i{handle(e){const t=this.client,n=t.channels.get(e.channel_id);if(n){const i=n.messages.get(e.id);if(i){const n=s(i);return i.patch(e),i._edits.unshift(n),t.emit(r.Events.MESSAGE_UPDATE,n,i),{old:n,updated:i}}return{old:i,updated:i}}return{old:null,updated:null}}}e.exports=o},function(e,t,n){const i=n(4);class r extends i{handle(e){const t=this.client,n=t.dataManager.newUser(e);return{user:n}}}e.exports=r},function(e,t,n){const i=n(4),r=n(1);class s extends i{handle(e){const t=this.client,n=t.user.notes.get(e.id),i=e.note.length?e.note:null;return t.user.notes.set(e.id,i),t.emit(r.Events.USER_NOTE_UPDATE,e.id,n,i),{old:n,updated:i}}}e.exports=s},function(e,t,n){const i=n(4),r=n(1),s=n(12);class o extends i{handle(e){const t=this.client;if(t.user){if(t.user.equals(e))return{old:t.user,updated:t.user};const n=s(t.user);return t.user.patch(e),t.emit(r.Events.USER_UPDATE,n,t.user),{old:n,updated:t.user}}return{old:null,updated:null}}}e.exports=o},function(e,t,n){function i(e){let t=e.split("?")[0];if(t.includes("/channels/")||t.includes("/guilds/")){const e=~t.indexOf("/channels/")?t.indexOf("/channels/"):t.indexOf("/guilds/"),n=t.substring(e).split("/")[2];t=t.replace(/(\d{8,})/g,":id").replace(":id",n)}return t}const r=n(60),s=n(1);class o{constructor(e,t,n,r,s,o){this.rest=e,this.method=t,this.url=n,this.auth=r,this.data=s,this.file=o,this.route=i(this.url)}getAuth(){if(this.rest.client.token&&this.rest.client.user&&this.rest.client.user.bot)return`Bot ${this.rest.client.token}`;if(this.rest.client.token)return this.rest.client.token;throw new Error(s.Errors.NO_TOKEN)}gen(){const e=r[this.method](this.url);if(this.auth&&e.set("authorization",this.getAuth()),this.file&&this.file.file){e.attach("file",this.file.file,this.file.name),this.data=this.data||{};for(const t in this.data)this.data[t]&&e.field(t,this.data[t])}else this.data&&e.send(this.data);return e.set("User-Agent",this.rest.userAgentManager.userAgent),e}}e.exports=o},function(e,t,n){const i=n(1),r=n(6),s=n(83),o=n(334),a=n(14),c=n(33),h=n(19),f=n(71),u=n(49),d=n(333),l=n(67);class p{constructor(e){this.rest=e}loginToken(e=this.rest.client.token){return new Promise((t,n)=>{e=e.replace(/^Bot\s*/i,""),this.rest.client.manager.connectToWebSocket(e,t,n)})}loginEmailPassword(e,t){return this.rest.client.emit("warn","Client launched using email and password - should use token instead"),this.rest.client.email=e,this.rest.client.password=t,this.rest.makeRequest("post",i.Endpoints.login,!1,{email:e,password:t}).then(e=>this.loginToken(e.token))}logout(){return this.rest.makeRequest("post",i.Endpoints.logout,!0,{})}getGateway(){return this.rest.makeRequest("get",i.Endpoints.gateway,!0).then(e=>{return this.rest.client.ws.gateway=`${e.url}/?encoding=json&v=${i.PROTOCOL_VERSION}`,this.rest.client.ws.gateway})}getBotGateway(){return this.rest.makeRequest("get",i.Endpoints.botGateway,!0)}sendMessage(e,t,{tts,nonce,embed,disableEveryone,split}={},n=null){return new Promise((i,r)=>{"undefined"!=typeof t&&(t=this.rest.client.resolver.resolveString(t)),t&&((disableEveryone||"undefined"==typeof disableEveryone&&this.rest.client.options.disableEveryone)&&(t=t.replace(/@(everyone|here)/g,"@​$1")),split&&(t=s(t,"object"==typeof split?split:{}))),e instanceof a||e instanceof c?this.createDM(e).then(e=>{this._sendMessageRequest(e,t,n,tts,nonce,embed,i,r)},r):this._sendMessageRequest(e,t,n,tts,nonce,embed,i,r)})}_sendMessageRequest(e,t,n,r,s,o,a,c){if(t instanceof Array){const h=[];let f=this.rest.makeRequest("post",i.Endpoints.channelMessages(e.id),!0,{content:t[0],tts:r,nonce:s},n).catch(c);for(let u=1;u<=t.length;u++)if(u{return h.push(c),this.rest.makeRequest("post",i.Endpoints.channelMessages(e.id),!0,{content:t[a],tts:r,nonce:s,embed:o},n)},c)}else f.then(e=>{h.push(e),a(this.rest.client.actions.MessageCreate.handle(h).messages)},c)}else this.rest.makeRequest("post",i.Endpoints.channelMessages(e.id),!0,{content:t,tts:r,nonce:s,embed:o},n).then(e=>a(this.rest.client.actions.MessageCreate.handle(e).message),c)}deleteMessage(e){return this.rest.makeRequest("del",i.Endpoints.channelMessage(e.channel.id,e.id),!0).then(()=>this.rest.client.actions.MessageDelete.handle({id:e.id,channel_id:e.channel.id}).message)}bulkDeleteMessages(e,t){return this.rest.makeRequest("post",`${i.Endpoints.channelMessages(e.id)}/bulk_delete`,!0,{messages:t}).then(()=>this.rest.client.actions.MessageDeleteBulk.handle({channel_id:e.id,ids:t}).messages)}updateMessage(e,t,{embed}={}){return t=this.rest.client.resolver.resolveString(t),this.rest.makeRequest("patch",i.Endpoints.channelMessage(e.channel.id,e.id),!0,{content:t,embed:embed}).then(e=>this.rest.client.actions.MessageUpdate.handle(e).updated)}createChannel(e,t,n){return this.rest.makeRequest("post",i.Endpoints.guildChannels(e.id),!0,{name:t,type:n}).then(e=>this.rest.client.actions.ChannelCreate.handle(e).channel)}createDM(e){const t=this.getExistingDM(e);return t?Promise.resolve(t):this.rest.makeRequest("post",i.Endpoints.userChannels(this.rest.client.user.id),!0,{recipient_id:e.id}).then(e=>this.rest.client.actions.ChannelCreate.handle(e).channel)}getExistingDM(e){return this.rest.client.channels.find(t=>t.recipient&&t.recipient.id===e.id)}deleteChannel(e){return(e instanceof a||e instanceof c)&&(e=this.getExistingDM(e)),e?this.rest.makeRequest("del",i.Endpoints.channel(e.id),!0).then(t=>{return t.id=e.id,this.rest.client.actions.ChannelDelete.handle(t).channel}):Promise.reject(new Error("No channel to delete."))}updateChannel(e,t){const n={};return n.name=(t.name||e.name).trim(),n.topic=t.topic||e.topic,n.position=t.position||e.position,n.bitrate=t.bitrate||e.bitrate,n.user_limit=t.userLimit||e.userLimit,this.rest.makeRequest("patch",i.Endpoints.channel(e.id),!0,n).then(e=>this.rest.client.actions.ChannelUpdate.handle(e).updated)}leaveGuild(e){return e.ownerID===this.rest.client.user.id?Promise.reject(new Error("Guild is owned by the client.")):this.rest.makeRequest("del",i.Endpoints.meGuild(e.id),!0).then(()=>this.rest.client.actions.GuildDelete.handle({id:e.id}).guild)}createGuild(e){return e.icon=this.rest.client.resolver.resolveBase64(e.icon)||null,e.region=e.region||"us-central",new Promise((t,n)=>{this.rest.makeRequest("post",i.Endpoints.guilds,!0,e).then(e=>{if(this.rest.client.guilds.has(e.id))return void t(this.rest.client.guilds.get(e.id));const i=n=>{n.id===e.id&&(this.rest.client.removeListener("guildCreate",i),this.rest.client.clearTimeout(r),t(n))};this.rest.client.on("guildCreate",i);const r=this.rest.client.setTimeout(()=>{this.rest.client.removeListener("guildCreate",i),n(new Error("Took too long to receive guild data."))},1e4)},n)})}deleteGuild(e){return this.rest.makeRequest("del",i.Endpoints.guild(e.id),!0).then(()=>this.rest.client.actions.GuildDelete.handle({id:e.id}).guild)}getUser(e){return this.rest.makeRequest("get",i.Endpoints.user(e),!0).then(e=>this.rest.client.actions.UserGet.handle(e).user)}updateCurrentUser(e){const t=this.rest.client.user,n={};return n.username=e.username||t.username,n.avatar=this.rest.client.resolver.resolveBase64(e.avatar)||t.avatar,t.bot||(n.email=e.email||t.email,n.password=this.rest.client.password,e.new_password&&(n.new_password=e.newPassword)),this.rest.makeRequest("patch",i.Endpoints.me,!0,n).then(e=>this.rest.client.actions.UserUpdate.handle(e).updated)}updateGuild(e,t){const n={};return t.name&&(n.name=t.name),t.region&&(n.region=t.region),t.verificationLevel&&(n.verification_level=Number(t.verificationLevel)),t.afkChannel&&(n.afk_channel_id=this.rest.client.resolver.resolveChannel(t.afkChannel).id),t.afkTimeout&&(n.afk_timeout=Number(t.afkTimeout)),t.icon&&(n.icon=this.rest.client.resolver.resolveBase64(t.icon)),t.owner&&(n.owner_id=this.rest.client.resolver.resolveUser(t.owner).id),t.splash&&(n.splash=this.rest.client.resolver.resolveBase64(t.splash)),this.rest.makeRequest("patch",i.Endpoints.guild(e.id),!0,n).then(e=>this.rest.client.actions.GuildUpdate.handle(e).updated)}kickGuildMember(e,t){return this.rest.makeRequest("del",i.Endpoints.guildMember(e.id,t.id),!0).then(()=>this.rest.client.actions.GuildMemberRemove.handle({guild_id:e.id,user:t.user}).member)}createGuildRole(e){return this.rest.makeRequest("post",i.Endpoints.guildRoles(e.id),!0).then(t=>this.rest.client.actions.GuildRoleCreate.handle({guild_id:e.id,role:t}).role)}deleteGuildRole(e){return this.rest.makeRequest("del",i.Endpoints.guildRole(e.guild.id,e.id),!0).then(()=>this.rest.client.actions.GuildRoleDelete.handle({guild_id:e.guild.id,role_id:e.id}).role)}setChannelOverwrite(e,t){return this.rest.makeRequest("put",`${i.Endpoints.channelPermissions(e.id)}/${t.id}`,!0,t)}deletePermissionOverwrites(e){return this.rest.makeRequest("del",`${i.Endpoints.channelPermissions(e.channel.id)}/${e.id}`,!0).then(()=>e)}getChannelMessages(e,t={}){const n=[];t.limit&&n.push(`limit=${t.limit}`),t.around?n.push(`around=${t.around}`):t.before?n.push(`before=${t.before}`):t.after&&n.push(`after=${t.after}`);let r=i.Endpoints.channelMessages(e.id);return n.length>0&&(r+=`?${n.join("&")}`),this.rest.makeRequest("get",r,!0)}getChannelMessage(e,t){const n=e.messages.get(t);return n?Promise.resolve(n):this.rest.makeRequest("get",i.Endpoints.channelMessage(e.id,t),!0)}getGuildMember(e,t){return this.rest.makeRequest("get",i.Endpoints.guildMember(e.id,t.id),!0).then(t=>this.rest.client.actions.GuildMemberGet.handle(e,t).member)}updateGuildMember(e,t){t.channel&&(t.channel_id=this.rest.client.resolver.resolveChannel(t.channel).id),t.roles&&(t.roles=t.roles.map(e=>e instanceof h?e.id:e));let n=i.Endpoints.guildMember(e.guild.id,e.id);if(e.id===this.rest.client.user.id){const r=Object.keys(t);1===r.length&&"nick"===r[0]&&(n=i.Endpoints.stupidInconsistentGuildEndpoint(e.guild.id))}return this.rest.makeRequest("patch",n,!0,t).then(t=>e.guild._updateMember(e,t).mem)}sendTyping(e){return this.rest.makeRequest("post",`${i.Endpoints.channel(e)}/typing`,!0)}banGuildMember(e,t,n=0){const r=this.rest.client.resolver.resolveUserID(t);return r?this.rest.makeRequest("put",`${i.Endpoints.guildBans(e.id)}/${r}?delete-message-days=${n}`,!0,{"delete-message-days":n}).then(()=>{if(t instanceof c)return t;const n=this.rest.client.resolver.resolveUser(r);return n?(t=this.rest.client.resolver.resolveGuildMember(e,n),t||n):r}):Promise.reject(new Error("Couldn't resolve the user ID to ban."))}unbanGuildMember(e,t){return new Promise((n,r)=>{const s=this.rest.client.resolver.resolveUserID(t);if(!s)throw new Error("Couldn't resolve the user ID to unban.");const o=(t,r)=>{t.id===e.id&&r.id===s&&(this.rest.client.removeListener(i.Events.GUILD_BAN_REMOVE,o),this.rest.client.clearTimeout(a),n(r))};this.rest.client.on(i.Events.GUILD_BAN_REMOVE,o);const a=this.rest.client.setTimeout(()=>{this.rest.client.removeListener(i.Events.GUILD_BAN_REMOVE,o),r(new Error("Took too long to receive the ban remove event."))},1e4);this.rest.makeRequest("del",`${i.Endpoints.guildBans(e.id)}/${s}`,!0).catch(e=>{this.rest.client.removeListener(i.Events.GUILD_BAN_REMOVE,o),this.rest.client.clearTimeout(a),r(e)})})}getGuildBans(e){return this.rest.makeRequest("get",i.Endpoints.guildBans(e.id),!0).then(e=>{const t=new r;for(const n of e){const e=this.rest.client.dataManager.newUser(n.user);t.set(e.id,e)}return t})}updateGuildRole(e,t){const n={};if(n.name=t.name||e.name,n.position="undefined"!=typeof t.position?t.position:e.position,n.color=t.color||e.color,"string"==typeof n.color&&n.color.startsWith("#")&&(n.color=parseInt(n.color.replace("#",""),16)),n.hoist="undefined"!=typeof t.hoist?t.hoist:e.hoist,n.mentionable="undefined"!=typeof t.mentionable?t.mentionable:e.mentionable,t.permissions){let e=0;for(let r of t.permissions)"string"==typeof r&&(r=i.PermissionFlags[r]),e|=r;n.permissions=e}else n.permissions=e.permissions;return this.rest.makeRequest("patch",i.Endpoints.guildRole(e.guild.id,e.id),!0,n).then(t=>this.rest.client.actions.GuildRoleUpdate.handle({role:t,guild_id:e.guild.id}).updated)}pinMessage(e){return this.rest.makeRequest("put",`${i.Endpoints.channel(e.channel.id)}/pins/${e.id}`,!0).then(()=>e)}unpinMessage(e){return this.rest.makeRequest("del",`${i.Endpoints.channel(e.channel.id)}/pins/${e.id}`,!0).then(()=>e)}getChannelPinnedMessages(e){return this.rest.makeRequest("get",`${i.Endpoints.channel(e.id)}/pins`,!0)}createChannelInvite(e,t){const n={};return n.temporary=t.temporary,n.max_age=t.maxAge,n.max_uses=t.maxUses,this.rest.makeRequest("post",`${i.Endpoints.channelInvites(e.id)}`,!0,n).then(e=>new f(this.rest.client,e))}deleteInvite(e){return this.rest.makeRequest("del",i.Endpoints.invite(e.code),!0).then(()=>e)}getInvite(e){return this.rest.makeRequest("get",i.Endpoints.invite(e),!0).then(e=>new f(this.rest.client,e))}getGuildInvites(e){return this.rest.makeRequest("get",i.Endpoints.guildInvites(e.id),!0).then(e=>{const t=new r;for(const n of e){const e=new f(this.rest.client,n);t.set(e.code,e)}return t})}pruneGuildMembers(e,t,n){return this.rest.makeRequest(n?"get":"post",`${i.Endpoints.guildPrune(e.id)}?days=${t}`,!0).then(e=>e.pruned)}createEmoji(e,t,n){return this.rest.makeRequest("post",`${i.Endpoints.guildEmojis(e.id)}`,!0,{name:n,image:t}).then(t=>this.rest.client.actions.EmojiCreate.handle(t,e).emoji)}deleteEmoji(e){return this.rest.makeRequest("delete",`${i.Endpoints.guildEmojis(e.guild.id)}/${e.id}`,!0).then(()=>this.rest.client.actions.EmojiDelete.handle(e).data)}getWebhook(e,t){return this.rest.makeRequest("get",i.Endpoints.webhook(e,t),!t).then(e=>new u(this.rest.client,e))}getGuildWebhooks(e){return this.rest.makeRequest("get",i.Endpoints.guildWebhooks(e.id),!0).then(e=>{const t=new r;for(const n of e)t.set(n.id,new u(this.rest.client,n));return t})}getChannelWebhooks(e){return this.rest.makeRequest("get",i.Endpoints.channelWebhooks(e.id),!0).then(e=>{const t=new r;for(const n of e)t.set(n.id,new u(this.rest.client,n));return t})}createWebhook(e,t,n){return this.rest.makeRequest("post",i.Endpoints.channelWebhooks(e.id),!0,{name:t,avatar:n}).then(e=>new u(this.rest.client,e))}editWebhook(e,t,n){return this.rest.makeRequest("patch",i.Endpoints.webhook(e.id,e.token),!1,{name:t,avatar:n}).then(t=>{return e.name=t.name,e.avatar=t.avatar,e})}deleteWebhook(e){return this.rest.makeRequest("delete",i.Endpoints.webhook(e.id,e.token),!1)}sendWebhookMessage(e,t,{avatarURL,tts,disableEveryone,embeds}={},n=null){return"undefined"!=typeof t&&(t=this.rest.client.resolver.resolveString(t)),t&&(disableEveryone||"undefined"==typeof disableEveryone&&this.rest.client.options.disableEveryone)&&(t=t.replace(/@(everyone|here)/g,"@​$1")),this.rest.makeRequest("post",`${i.Endpoints.webhook(e.id,e.token)}?wait=true`,!1,{username:e.name,avatar_url:avatarURL,content:t,tts:tts,file:n,embeds:embeds})}sendSlackWebhookMessage(e,t){return this.rest.makeRequest("post",`${i.Endpoints.webhook(e.id,e.token)}/slack?wait=true`,!1,t)}fetchUserProfile(e){return this.rest.makeRequest("get",i.Endpoints.userProfile(e.id),!0).then(t=>new d(e,t))}addFriend(e){return this.rest.makeRequest("post",i.Endpoints.relationships("@me"),!0,{username:e.username,discriminator:e.discriminator}).then(()=>e)}removeFriend(e){return this.rest.makeRequest("delete",`${i.Endpoints.relationships("@me")}/${e.id}`,!0).then(()=>e)}blockUser(e){return this.rest.makeRequest("put",`${i.Endpoints.relationships("@me")}/${e.id}`,!0,{type:2}).then(()=>e)}unblockUser(e){return this.rest.makeRequest("delete",`${i.Endpoints.relationships("@me")}/${e.id}`,!0).then(()=>e)}setRolePositions(e,t){return this.rest.makeRequest("patch",i.Endpoints.guildRoles(e),!0,t).then(()=>this.rest.client.actions.GuildRolesPositionUpdate.handle({guild_id:e,roles:t}).guild)}addMessageReaction(e,t){return this.rest.makeRequest("put",i.Endpoints.selfMessageReaction(e.channel.id,e.id,t),!0).then(()=>this.rest.client.actions.MessageReactionAdd.handle({user_id:this.rest.client.user.id,message_id:e.id,emoji:o(t),channel_id:e.channel.id}).reaction)}removeMessageReaction(e,t,n){let r=i.Endpoints.selfMessageReaction(e.channel.id,e.id,t);return n.id!==this.rest.client.user.id&&(r=i.Endpoints.userMessageReaction(e.channel.id,e.id,t,null,n.id)),this.rest.makeRequest("delete",r,!0).then(()=>this.rest.client.actions.MessageReactionRemove.handle({user_id:n.id,message_id:e.id,emoji:o(t),channel_id:e.channel.id}).reaction)}removeMessageReactions(e){this.rest.makeRequest("delete",i.Endpoints.messageReactions(e.channel.id,e.id),!0).then(()=>e)}getMessageReactionUsers(e,t,n=100){return this.rest.makeRequest("get",i.Endpoints.messageReaction(e.channel.id,e.id,t,n),!0)}getMyApplication(){return this.rest.makeRequest("get",i.Endpoints.myApplication,!0).then(e=>new l(this.rest.client,e))}setNote(e,t){return this.rest.makeRequest("put",i.Endpoints.note(e.id),!0,{note:t}).then(()=>e)}}e.exports=p},function(e,t,n){const i=n(132);class r extends i{constructor(e,t){super(e,t),this.requestRemaining=1,this.first=!0}push(e){super.push(e),this.handle()}handleNext(e){this.waiting||(this.waiting=!0,this.restManager.client.setTimeout(()=>{this.requestRemaining=this.requestLimit,this.waiting=!1,this.handle()},e))}execute(e){e.request.gen().end((t,n)=>{if(n&&n.headers&&(this.requestLimit=n.headers["x-ratelimit-limit"],this.requestResetTime=1e3*Number(n.headers["x-ratelimit-reset"]),this.requestRemaining=Number(n.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(n.headers.date).getTime(),this.handleNext(this.requestResetTime-Date.now()+this.timeDifference+1e3)),t)429===t.status?(this.requestRemaining=0,this.queue.unshift(e),this.restManager.client.setTimeout(()=>{this.globalLimit=!1,this.handle()},Number(n.headers["retry-after"])+500),n.headers["x-ratelimit-global"]&&(this.globalLimit=!0)):e.reject(t);else{this.globalLimit=!1;const t=n&&n.body?n.body:{};e.resolve(t),this.first&&(this.first=!1,this.handle())}})}handle(){if(super.handle(),!(this.requestRemaining<1||0===this.queue.length||this.globalLimit))for(;this.queue.length>0&&this.requestRemaining>0;)this.execute(this.queue.shift()),this.requestRemaining--}}e.exports=r},function(e,t,n){const i=n(132);class r extends i{constructor(e,t){super(e,t),this.waiting=!1,this.endpoint=t,this.timeDifference=0}push(e){super.push(e),this.handle()}execute(e){return new Promise(t=>{e.request.gen().end((n,i)=>{if(i&&i.headers&&(this.requestLimit=i.headers["x-ratelimit-limit"],this.requestResetTime=1e3*Number(i.headers["x-ratelimit-reset"]),this.requestRemaining=Number(i.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(i.headers.date).getTime()),n)429===n.status?(this.restManager.client.setTimeout(()=>{this.waiting=!1,this.globalLimit=!1,t()},Number(i.headers["retry-after"])+500),i.headers["x-ratelimit-global"]&&(this.globalLimit=!0)):(this.queue.shift(),this.waiting=!1,e.reject(n),t(n));else{this.queue.shift(),this.globalLimit=!1;const n=i&&i.body?i.body:{};e.resolve(n),0===this.requestRemaining?this.restManager.client.setTimeout(()=>{this.waiting=!1,t(n)},this.requestResetTime-Date.now()+this.timeDifference+1e3):(this.waiting=!1,t(n))}})})}handle(){if(super.handle(),!this.waiting&&0!==this.queue.length&&!this.globalLimit){this.waiting=!0;const e=this.queue[0];this.execute(e).then(()=>this.handle())}}}e.exports=r},function(e,t,n){const i=n(1);class r{constructor(e){this.restManager=e,this._userAgent={url:"https://github.com/hydrabolt/discord.js",version:i.Package.version}}set(e){this._userAgent.url=e.url||"https://github.com/hydrabolt/discord.js",this._userAgent.version=e.version||i.Package.version}get userAgent(){return`DiscordBot (${this._userAgent.url}, ${this._userAgent.version})`}}e.exports=r},function(e,t,n){const i=n(6),r=n(45),s=n(1),o=n(283),a=n(5).EventEmitter;class c{constructor(e){this.client=e,this.connections=new i,this.pending=new i,this.client.on("self.voiceServer",this.onVoiceServer.bind(this)),this.client.on("self.voiceStateUpdate",this.onVoiceStateUpdate.bind(this))}onVoiceServer(e){this.pending.has(e.guild_id)&&this.pending.get(e.guild_id).setTokenAndEndpoint(e.token,e.endpoint)}onVoiceStateUpdate(e){this.pending.has(e.guild_id)&&this.pending.get(e.guild_id).setSessionID(e.session_id)}sendVoiceStateUpdate(e,t={}){if(!this.client.user)throw new Error("Unable to join because there is no client user.");if(!e.permissionsFor)throw new Error("Channel does not support permissionsFor; is it really a voice channel?");const n=e.permissionsFor(this.client.user);if(!n)throw new Error("There is no permission set for the client user in this channel - are they part of the guild?");if(!n.hasPermission("CONNECT"))throw new Error("You do not have permission to join this voice channel.");t=r({guild_id:e.guild.id,channel_id:e.id,self_mute:!1,self_deaf:!1},t),this.client.ws.send({op:s.OPCodes.VOICE_STATE_UPDATE,d:t})}joinChannel(e){return new Promise((t,n)=>{if(this.client.browser)throw new Error("Voice connections are not available in browsers.");if(this.pending.get(e.guild.id))throw new Error("Already connecting to this guild's voice server.");if(!e.joinable)throw new Error("You do not have permission to join this voice channel.");const i=this.connections.get(e.guild.id);if(i)return i.channel.id!==e.id&&(this.sendVoiceStateUpdate(e),this.connections.get(e.guild.id).channel=e),void t(i);const r=new h(this,e);this.pending.set(e.guild.id,r),r.on("fail",t=>{this.pending.delete(e.guild.id),n(t)}),r.on("pass",i=>{this.pending.delete(e.guild.id),this.connections.set(e.guild.id,i),i.once("ready",()=>t(i)),i.once("error",n),i.once("disconnect",()=>this.connections.delete(e.guild.id))})})}}class h extends a{constructor(e,t){super(),this.voiceManager=e,this.channel=t,this.deathTimer=this.voiceManager.client.setTimeout(()=>this.fail(new Error("Connection not established within 15 seconds.")),15e3),this.data={},this.sendVoiceStateUpdate()}checkReady(){return!!(this.data.token&&this.data.endpoint&&this.data.session_id)&&(this.pass(),!0)}setTokenAndEndpoint(e,t){return e?t?this.data.token?void this.fail(new Error("There is already a registered token for this connection.")):this.data.endpoint?void this.fail(new Error("There is already a registered endpoint for this connection.")):(t=t.match(/([^:]*)/)[0])?(this.data.token=e,this.data.endpoint=t,void this.checkReady()):void this.fail(new Error("Failed to find an endpoint.")):void this.fail(new Error("Endpoint not provided from voice server packet.")):void this.fail(new Error("Token not provided from voice server packet."))}setSessionID(e){return e?this.data.session_id?void this.fail(new Error("There is already a registered session ID for this connection.")):(this.data.session_id=e,void this.checkReady()):void this.fail(new Error("Session ID not supplied."))}clean(){clearInterval(this.deathTimer),this.emit("fail",new Error("Clean-up triggered :fourTriggered:"))}pass(){clearInterval(this.deathTimer),this.emit("pass",this.upgrade())}fail(e){this.emit("fail",e),this.clean()}sendVoiceStateUpdate(){try{this.voiceManager.sendVoiceStateUpdate(this.channel)}catch(e){this.fail(e)}}upgrade(){return new o(this)}}e.exports=c},function(e,t,n){const i=n(285),r=n(284),s=n(1),o=n(293),a=n(295),c=n(5).EventEmitter,h=n(13);class f extends c{constructor(e){super(),this.voiceManager=e.voiceManager,this.channel=e.channel,this.speaking=!1,this.receivers=[],this.authentication=e.data,this.player=new o(this),this.player.on("debug",e=>{this.emit("debug",`audio player - ${e}`)}),this.player.on("error",e=>{this.emit("warn",e),this.player.cleanup()}),this.ssrcMap=new Map,this.ready=!1,this.sockets={},this.connect()}setSpeaking(e){this.speaking!==e&&(this.speaking=e,this.sockets.ws.sendPacket({op:s.VoiceOPCodes.SPEAKING,d:{speaking:!0,delay:0}}).catch(e=>{this.emit("debug",e)}))}disconnect(){this.emit("closing"),this.voiceManager.client.ws.send({op:s.OPCodes.VOICE_STATE_UPDATE,d:{guild_id:this.channel.guild.id,channel_id:null,self_mute:!1,self_deaf:!1}}),this.emit("disconnect")}connect(){if(this.sockets.ws)throw new Error("There is already an existing WebSocket connection.");if(this.sockets.udp)throw new Error("There is already an existing UDP connection.");this.sockets.ws=new i(this),this.sockets.udp=new r(this),this.sockets.ws.on("error",e=>this.emit("error",e)),this.sockets.udp.on("error",e=>this.emit("error",e)),this.sockets.ws.once("ready",e=>{this.authentication.port=e.port,this.authentication.ssrc=e.ssrc,this.sockets.udp.findEndpointAddress().then(e=>{this.sockets.udp.createUDPSocket(e)},e=>this.emit("error",e))}),this.sockets.ws.once("sessionDescription",(e,t)=>{this.authentication.encryptionMode=e,this.authentication.secretKey=t,this.emit("ready"),this.ready=!0}),this.sockets.ws.on("speaking",e=>{const t=this.channel.guild,n=this.voiceManager.client.users.get(e.user_id);if(this.ssrcMap.set(+e.ssrc,n),!e.speaking)for(const i of this.receivers){const e=i.opusStreams.get(n.id),t=i.pcmStreams.get(n.id);e&&(e.push(null),e.open=!1,i.opusStreams.delete(n.id)),t&&(t.push(null),t.open=!1,i.pcmStreams.delete(n.id))}this.ready&&this.emit("speaking",n,e.speaking),t._memberSpeakUpdate(e.user_id,e.speaking)})}playFile(e,t){return this.playStream(h.createReadStream(e),t)}playStream(e,{seek=0,volume=1,passes=1}={}){const t={seek:seek,volume:volume,passes:passes};return this.player.playUnknownStream(e,t)}playConvertedStream(e,{seek=0,volume=1,passes=1}={}){const t={seek:seek,volume:volume,passes:passes};return this.player.playPCMStream(e,t)}createReceiver(){const e=new a(this);return this.receivers.push(e),e}}e.exports=f},function(e,t,n){(function(t){function i(e){try{const n=new t(e);let i="";for(let r=4;r{s.lookup(this.voiceConnection.authentication.endpoint,(n,i)=>{return n?void t(n):(this.discordAddress=i,void e(i))})})}send(e){return new Promise((t,n)=>{if(!this.socket)throw new Error("Tried to send a UDP packet, but there is no socket available.");if(!this.discordAddress||!this.discordPort)throw new Error("Malformed UDP address or port.");this.socket.send(e,0,e.length,this.discordPort,this.discordAddress,i=>{i?n(i):t(e)})})}createUDPSocket(e){this.discordAddress=e;const n=this.socket=r.createSocket("udp4");n.once("message",e=>{const t=i(e);return t.error?void this.emit("error",t.error):(this.localAddress=t.address,this.localPort=t.port,void this.voiceConnection.sockets.ws.sendPacket({op:o.VoiceOPCodes.SELECT_PROTOCOL,d:{protocol:"udp",data:{address:t.address,port:t.port,mode:"xsalsa20_poly1305"}}}))});const s=new t(70);s.writeUIntBE(this.voiceConnection.authentication.ssrc,0,4),this.send(s)}}e.exports=c}).call(t,n(0).Buffer)},function(e,t,n){const i=n(123),r=n(1),s=n(296),o=n(5).EventEmitter;class a extends o{constructor(e){super(),this.voiceConnection=e,this.attempts=0,this.connect(),this.dead=!1,this.voiceConnection.on("closing",this.shutdown.bind(this))}shutdown(){this.dead=!0,this.reset()}get client(){return this.voiceConnection.voiceManager.client}reset(){this.ws&&(this.ws.readyState!==i.CLOSED&&this.ws.close(),this.ws=null),this.clearHeartbeat()}connect(){if(!this.dead){if(this.ws&&this.reset(),this.attempts>5)return void this.emit("error",new Error(`Too many connection attempts (${this.attempts}).`));this.attempts++,this.ws=new i(`wss://${this.voiceConnection.authentication.endpoint}`),this.ws.onopen=this.onOpen.bind(this),this.ws.onmessage=this.onMessage.bind(this),this.ws.onclose=this.onClose.bind(this),this.ws.onerror=this.onError.bind(this)}}send(e){return new Promise((t,n)=>{if(!this.ws||this.ws.readyState!==i.OPEN)throw new Error(`Voice websocket not open to send ${e}.`);this.ws.send(e,null,i=>{i?n(i):t(e)})})}sendPacket(e){try{e=JSON.stringify(e)}catch(e){return Promise.reject(e)}return this.send(e)}onOpen(){this.sendPacket({op:r.OPCodes.DISPATCH,d:{server_id:this.voiceConnection.channel.guild.id,user_id:this.client.user.id,token:this.voiceConnection.authentication.token, +session_id:this.voiceConnection.authentication.session_id}}).catch(()=>{this.emit("error",new Error("Tried to send join packet, but the WebSocket is not open."))})}onMessage(e){try{return this.onPacket(JSON.parse(e.data))}catch(e){return this.onError(e)}}onClose(){this.dead||this.client.setTimeout(this.connect.bind(this),1e3*this.attempts)}onError(e){this.emit("error",e)}onPacket(e){switch(e.op){case r.VoiceOPCodes.READY:this.setHeartbeat(e.d.heartbeat_interval),this.emit("ready",e.d);break;case r.VoiceOPCodes.SESSION_DESCRIPTION:this.emit("sessionDescription",e.d.mode,new s(e.d.secret_key));break;case r.VoiceOPCodes.SPEAKING:this.emit("speaking",e.d);break;default:this.emit("unknownPacket",e)}}setHeartbeat(e){return!e||isNaN(e)?void this.onError(new Error("Tried to set voice heartbeat but no valid interval was specified.")):(this.heartbeatInterval&&(this.emit("warn","A voice heartbeat interval is being overwritten"),clearInterval(this.heartbeatInterval)),void(this.heartbeatInterval=this.client.setInterval(this.sendHeartbeat.bind(this),e)))}clearHeartbeat(){return this.heartbeatInterval?(clearInterval(this.heartbeatInterval),void(this.heartbeatInterval=null)):void this.emit("warn","Tried to clear a heartbeat interval that does not exist")}sendHeartbeat(){this.sendPacket({op:r.VoiceOPCodes.HEARTBEAT,d:null}).catch(()=>{this.emit("warn","Tried to send heartbeat, but connection is not open"),this.clearHeartbeat()})}}e.exports=a},function(e,t,n){(function(t){const i=n(5).EventEmitter,r=n(120),s=new t(24);s.fill(0);class o extends i{constructor(e,t,n,i){super(),this.player=e,this.stream=t,this.streamingData={channels:2,count:0,sequence:n.sequence,timestamp:n.timestamp,pausedTime:0},this._startStreaming(),this._triggered=!1,this._volume=i.volume,this.passes=i.passes||1,this.paused=!1,this.setVolume(i.volume||1)}get time(){return this.streamingData.count*(this.streamingData.length||0)}get totalStreamTime(){return this.time+this.streamingData.pausedTime}get volume(){return this._volume}setVolume(e){this._volume=e}setVolumeDecibels(e){this._volume=Math.pow(10,e/20)}setVolumeLogarithmic(e){this._volume=Math.pow(e,1.660964)}pause(){this._setPaused(!0)}resume(){this._setPaused(!1)}end(){this._triggerTerminalState("end","user requested")}_setSpeaking(e){this.speaking=e,this.emit("speaking",e)}_sendBuffer(e,t,n){let i=this.passes;const r=this._createPacket(t,n,this.player.opusEncoder.encode(e));for(;i--;)this.player.voiceConnection.sockets.udp.send(r).catch(e=>this.emit("debug",`Failed to send a packet ${e}`))}_createPacket(e,n,i){const o=new t(i.length+28);o.fill(0),o[0]=128,o[1]=120,o.writeUIntBE(e,2,2),o.writeUIntBE(n,4,4),o.writeUIntBE(this.player.voiceConnection.authentication.ssrc,8,4),o.copy(s,0,0,12),i=r.secretbox(i,s,this.player.voiceConnection.authentication.secretKey.key);for(let a=0;a=e.length-1);i+=2){const t=Math.min(32767,Math.max(-32767,Math.floor(this._volume*e.readInt16LE(i))));n.writeInt16LE(t,i)}return n}_send(){try{if(this._triggered)return void this._setSpeaking(!1);const e=this.streamingData;if(e.missed>=5)return void this._triggerTerminalState("end","Stream is not generating quickly enough.");if(this.paused)return e.pausedTime+=10*e.length,void this.player.voiceConnection.voiceManager.client.setTimeout(()=>this._send(),10*e.length);this._setSpeaking(!0),e.startTime||(this.emit("start"),e.startTime=Date.now());const n=1920*e.channels;let i=this.stream.read(n);if(!i)return e.missed++,e.pausedTime+=10*e.length,void this.player.voiceConnection.voiceManager.client.setTimeout(()=>this._send(),10*e.length);if(e.missed=0,i.length!==n){const e=new t(n).fill(0);i.copy(e),i=e}i=this._applyVolume(i),e.count++,e.sequence=e.sequence+1<65536?e.sequence+1:0,e.timestamp=e.timestamp+4294967295?e.timestamp+960:0,this._sendBuffer(i,e.sequence,e.timestamp);const r=e.length+(e.startTime+e.pausedTime+e.count*e.length-Date.now());this.player.voiceConnection.voiceManager.client.setTimeout(()=>this._send(),r)}catch(e){this._triggerTerminalState("error",e)}}_triggerEnd(){this.emit("end")}_triggerError(e){this.emit("end"),this.emit("error",e)}_triggerTerminalState(e,t){if(!this._triggered)switch(this.emit("debug",`Triggered terminal state ${e} - stream is now dead`),this._triggered=!0,this._setSpeaking(!1),e){case"end":this._triggerEnd(t);break;case"error":this._triggerError(t);break;default:this.emit("error","Unknown trigger state")}}_startStreaming(){if(!this.stream)return void this.emit("error","No stream");this.stream.on("end",e=>this._triggerTerminalState("end",e)),this.stream.on("error",e=>this._triggerTerminalState("error",e));const e=this.streamingData;e.length=20,e.missed=0,this.stream.once("readable",()=>this._send())}_setPaused(e){e?(this.paused=!0,this._setSpeaking(!1)):(this.paused=!1,this._setSpeaking(!0))}}e.exports=o}).call(t,n(0).Buffer)},function(e,t,n){const i=n(133);let r;class s extends i{constructor(e){super(e);try{r=n(335)}catch(e){throw e}this.encoder=new r.OpusEncoder(48e3,2)}encode(e){return super.encode(e),this.encoder.encode(e,1920)}decode(e){return super.decode(e),this.encoder.decode(e,1920)}}e.exports=s},function(e,t,n){function i(e){try{return new e}catch(e){return null}}const r=[n(287),n(289)];t.add=(e=>{r.push(e)}),t.fetch=(()=>{for(const e of r){const t=i(e);if(t)return t}throw new Error("Couldn't find an Opus engine.")})},function(e,t,n){const i=n(133);let r;class s extends i{constructor(e){super(e);try{r=n(336)}catch(e){throw e}this.encoder=new r(48e3,2)}encode(e){return super.encode(e),this.encoder.encode(e,960)}decode(e){return super.decode(e),this.encoder.decode(e)}}e.exports=s},function(e,t,n){const i=n(5).EventEmitter;class r extends i{constructor(e){super(),this.player=e}createConvertStream(){}}e.exports=r},function(e,t,n){t.fetch=(()=>n(292))},function(e,t,n){function i(){for(const e of["ffmpeg","avconv","./ffmpeg","./avconv"])if(!s.spawnSync(e,["-h"]).error)return e;throw new Error("FFMPEG was not found on your system, so audio cannot be played. Please make sure FFMPEG is installed and in your PATH.")}const r=n(290),s=n(13),o=n(5).EventEmitter;class a extends o{constructor(e){super(),this.process=e,this.input=null,this.process.on("error",e=>this.emit("error",e))}setInput(e){this.input=e,e.pipe(this.process.stdin,{end:!1}),this.input.on("error",e=>this.emit("error",e)),this.process.stdin.on("error",e=>this.emit("error",e))}destroy(){this.emit("debug","destroying a ffmpeg process:"),this.input&&this.input.unpipe&&this.process.stdin&&(this.input.unpipe(this.process.stdin),this.emit("unpiped the user input stream from the process input stream")),this.process.stdin&&(this.process.stdin.end(),this.emit("ended the process stdin")),this.process.stdin.destroy&&(this.process.stdin.destroy(),this.emit("destroyed the process stdin")),this.process.kill&&(this.process.kill(),this.emit("killed the process"))}}class c extends r{constructor(e){super(e),this.command=i()}handleError(e,t){e.destroy&&e.destroy(),this.emit("error",t)}createConvertStream(e=0){super.createConvertStream();const t=s.spawn(this.command,["-analyzeduration","0","-loglevel","0","-i","-","-f","s16le","-ar","48000","-ac","2","-ss",String(e),"pipe:1"],{stdio:["pipe","pipe","ignore"]});return new a(t)}}e.exports=c},function(e,t,n){const i=n(291),r=n(288),s=n(5).EventEmitter,o=n(286);class a extends s{constructor(e){super(),this.voiceConnection=e,this.audioToPCM=new(i.fetch()),this.opusEncoder=r.fetch(),this.currentConverter=null,this.dispatcher=null,this.audioToPCM.on("error",e=>this.emit("error",e)),this.streamingData={channels:2,count:0,sequence:0,timestamp:0,pausedTime:0},this.voiceConnection.on("closing",()=>this.cleanup(null,"voice connection closing"))}playUnknownStream(e,{seek=0,volume=1,passes=1}={}){const t={seek:seek,volume:volume,passes:passes};e.on("end",()=>{this.emit("debug","Input stream to converter has ended")}),e.on("error",e=>this.emit("error",e));const n=this.audioToPCM.createConvertStream(t.seek);return n.on("error",e=>this.emit("error",e)),n.setInput(e),this.playPCMStream(n.process.stdout,n,t)}cleanup(e,t){this.emit("debug",`Clean up triggered due to ${t}`);const n=e&&this.dispatcher&&this.dispatcher.stream===e;!this.currentConverter||e&&!n||(this.currentConverter.destroy(),this.currentConverter=null)}playPCMStream(e,t,{seek=0,volume=1,passes=1}={}){const n={seek:seek,volume:volume,passes:passes};e.on("end",()=>this.emit("debug","PCM input stream ended")),this.cleanup(null,"outstanding play stream"),this.currentConverter=t,this.dispatcher&&(this.streamingData=this.dispatcher.streamingData),e.on("error",e=>this.emit("error",e));const i=new o(this,e,this.streamingData,n);return i.on("error",e=>this.emit("error",e)),i.on("end",()=>this.cleanup(i.stream,"dispatcher ended")),i.on("speaking",e=>this.voiceConnection.setSpeaking(e)),this.dispatcher=i,i.on("debug",e=>this.emit("debug",`Stream dispatch - ${e}`)),i}}e.exports=a},function(e,t,n){const i=n(11).Readable;class r extends i{constructor(){super(),this._packets=[],this.open=!0}_read(){}_push(e){this.open&&this.push(e)}}e.exports=r},function(e,t,n){(function(t){const i=n(5).EventEmitter,r=n(120),s=n(294),o=new t(24);o.fill(0);class a extends i{constructor(e){super(),this.queues=new Map,this.pcmStreams=new Map,this.opusStreams=new Map,this.destroyed=!1,this.voiceConnection=e,this._listener=(e=>{const t=+e.readUInt32BE(8).toString(10),n=this.voiceConnection.ssrcMap.get(t);if(n){if(this.queues.get(t))return this.queues.get(t).push(e),this.queues.get(t).map(e=>this.handlePacket(e,n)),void this.queues.delete(t);this.handlePacket(e,n)}else this.queues.has(t)||this.queues.set(t,[]),this.queues.get(t).push(e)}),this.voiceConnection.sockets.udp.socket.on("message",this._listener)}recreate(){this.destroyed&&(this.voiceConnection.sockets.udp.socket.on("message",this._listener),this.destroyed=!1)}destroy(){this.voiceConnection.sockets.udp.socket.removeListener("message",this._listener);for(const e of this.pcmStreams)e[1]._push(null),this.pcmStreams.delete(e[0]);for(const e of this.opusStreams)e[1]._push(null),this.opusStreams.delete(e[0]);this.destroyed=!0}createOpusStream(e){if(e=this.voiceConnection.voiceManager.client.resolver.resolveUser(e),!e)throw new Error("Couldn't resolve the user to create Opus stream.");if(this.opusStreams.get(e.id))throw new Error("There is already an existing stream for that user.");const t=new s;return this.opusStreams.set(e.id,t),t}createPCMStream(e){if(e=this.voiceConnection.voiceManager.client.resolver.resolveUser(e),!e)throw new Error("Couldn't resolve the user to create PCM stream.");if(this.pcmStreams.get(e.id))throw new Error("There is already an existing stream for that user.");const t=new s;return this.pcmStreams.set(e.id,t),t}handlePacket(e,n){e.copy(o,0,0,12);let i=r.secretbox.open(e.slice(12),o,this.voiceConnection.authentication.secretKey.key);if(!i)return void this.emit("warn","Failed to decrypt voice packet");if(i=new t(i),this.opusStreams.get(n.id)&&this.opusStreams.get(n.id)._push(i),this.emit("opus",n,i),this.listenerCount("pcm")>0||this.pcmStreams.size>0){const e=this.voiceConnection.player.opusEncoder.decode(i);this.pcmStreams.get(n.id)&&this.pcmStreams.get(n.id)._push(e),this.emit("pcm",n,e)}}}e.exports=a}).call(t,n(0).Buffer)},function(e,t){class n{constructor(e){this.key=new Uint8Array(new ArrayBuffer(e.length));for(const t in e)this.key[t]=e[t]}}e.exports=n},function(e,t,n){const i="undefined"!=typeof window,r=i?window.WebSocket:n(123),s=n(5).EventEmitter,o=n(1),a=i?n(247).inflateSync:n(101).inflateSync,c=n(298),h=n(134);class f extends s{constructor(e){super(),this.client=e,this.packetManager=new c(this),this.status=o.Status.IDLE,this.sessionID=null,this.sequence=-1,this.gateway=null,this.normalReady=!1,this.ws=null,this.disabledEvents={};for(const t in e.options.disabledEvents)this.disabledEvents[t]=!0;this.first=!0}_connect(e){this.client.emit("debug",`Connecting to gateway ${e}`),this.normalReady=!1,this.status!==o.Status.RECONNECTING&&(this.status=o.Status.CONNECTING),this.ws=new r(e),i&&(this.ws.binaryType="arraybuffer"),this.ws.onopen=(()=>this.eventOpen()),this.ws.onclose=(e=>this.eventClose(e)),this.ws.onmessage=(e=>this.eventMessage(e)),this.ws.onerror=(e=>this.eventError(e)),this._queue=[],this._remaining=3}connect(e){this.first?(this._connect(e),this.first=!1):this.client.setTimeout(()=>this._connect(e),5500)}send(e,t=false){return t?void this._send(JSON.stringify(e)):(this._queue.push(JSON.stringify(e)),void this.doQueue())}destroy(){this.ws.close(1e3),this._queue=[],this.status=o.Status.IDLE}_send(e){this.ws.readyState===r.OPEN&&(this.emit("send",e),this.ws.send(e))}doQueue(){const e=this._queue[0];if(this.ws.readyState===r.OPEN&&e){if(0===this._remaining)return void this.client.setTimeout(()=>{this.doQueue()},1e3);this._remaining--,this._send(e),this._queue.shift(),this.doQueue(),this.client.setTimeout(()=>this._remaining++,1e3)}}eventOpen(){this.client.emit("debug","Connection to gateway opened"),this.status===o.Status.RECONNECTING?this._sendResume():this._sendNewIdentify()}_sendResume(){if(!this.sessionID)return void this._sendNewIdentify();this.client.emit("debug","Identifying as resumed session");const e={token:this.client.token,session_id:this.sessionID,seq:this.sequence};this.send({op:o.OPCodes.RESUME,d:e})}_sendNewIdentify(){this.reconnecting=!1;const e=this.client.options.ws;e.token=this.client.token,this.client.options.shardCount>0&&(e.shard=[Number(this.client.options.shardId),Number(this.client.options.shardCount)]),this.client.emit("debug","Identifying as new session"),this.send({op:o.OPCodes.IDENTIFY,d:e}),this.sequence=-1}eventClose(e){this.emit("close",e),this.client.clearInterval(this.client.manager.heartbeatInterval),this.reconnecting||this.client.emit(o.Events.DISCONNECT),4004!==e.code&&4010!==e.code&&(this.reconnecting||1e3===e.code||this.tryReconnect())}eventMessage(e){let t=e.data;try{"string"!=typeof t&&(t instanceof ArrayBuffer&&(t=h(t)),t=a(t).toString()),t=JSON.parse(t)}catch(e){return this.eventError(new Error(o.Errors.BAD_WS_MESSAGE))}return this.client.emit("raw",t),t.op===o.OPCodes.HELLO&&this.client.manager.setupKeepAlive(t.d.heartbeat_interval),this.packetManager.handle(t)}eventError(e){this.client.listenerCount("error")>0&&this.client.emit("error",e),this.ws.close()}_emitReady(e=true){this.status=o.Status.READY,this.client.emit(o.Events.READY),this.packetManager.handleQueue(),this.normalReady=e}checkIfReady(){if(this.status!==o.Status.READY&&this.status!==o.Status.NEARLY){let e=0;for(const t of this.client.guilds.keys())e+=this.client.guilds.get(t).available?0:1;if(0===e){if(this.status=o.Status.NEARLY,this.client.options.fetchAllMembers){const e=this.client.guilds.map(e=>e.fetchMembers());return void Promise.all(e).then(()=>this._emitReady(),e=>{this.client.emit(o.Events.WARN,"Error in pre-ready guild member fetching"),this.client.emit(o.Events.ERROR,e),this._emitReady()})}this._emitReady()}}}tryReconnect(){this.status=o.Status.RECONNECTING,this.ws.close(),this.packetManager.handleQueue(),this.client.emit(o.Events.RECONNECTING),this.connect(this.client.ws.gateway)}}e.exports=f},function(e,t,n){const i=n(1),r=[i.WSEvents.READY,i.WSEvents.GUILD_CREATE,i.WSEvents.GUILD_DELETE,i.WSEvents.GUILD_MEMBERS_CHUNK,i.WSEvents.GUILD_MEMBER_ADD,i.WSEvents.GUILD_MEMBER_REMOVE];class s{constructor(e){this.ws=e,this.handlers={},this.queue=[],this.register(i.WSEvents.READY,n(324)),this.register(i.WSEvents.GUILD_CREATE,n(305)),this.register(i.WSEvents.GUILD_DELETE,n(306)),this.register(i.WSEvents.GUILD_UPDATE,n(315)),this.register(i.WSEvents.GUILD_BAN_ADD,n(303)),this.register(i.WSEvents.GUILD_BAN_REMOVE,n(304)),this.register(i.WSEvents.GUILD_MEMBER_ADD,n(307)),this.register(i.WSEvents.GUILD_MEMBER_REMOVE,n(308)),this.register(i.WSEvents.GUILD_MEMBER_UPDATE,n(309)),this.register(i.WSEvents.GUILD_ROLE_CREATE,n(311)),this.register(i.WSEvents.GUILD_ROLE_DELETE,n(312)),this.register(i.WSEvents.GUILD_ROLE_UPDATE,n(313)),this.register(i.WSEvents.GUILD_MEMBERS_CHUNK,n(310)),this.register(i.WSEvents.CHANNEL_CREATE,n(299)),this.register(i.WSEvents.CHANNEL_DELETE,n(300)),this.register(i.WSEvents.CHANNEL_UPDATE,n(302)),this.register(i.WSEvents.CHANNEL_PINS_UPDATE,n(301)),this.register(i.WSEvents.PRESENCE_UPDATE,n(323)),this.register(i.WSEvents.USER_UPDATE,n(329)),this.register(i.WSEvents.USER_NOTE_UPDATE,n(328)),this.register(i.WSEvents.VOICE_STATE_UPDATE,n(331)),this.register(i.WSEvents.TYPING_START,n(327)),this.register(i.WSEvents.MESSAGE_CREATE,n(316)),this.register(i.WSEvents.MESSAGE_DELETE,n(317)),this.register(i.WSEvents.MESSAGE_UPDATE,n(322)),this.register(i.WSEvents.MESSAGE_DELETE_BULK,n(318)),this.register(i.WSEvents.VOICE_SERVER_UPDATE,n(330)),this.register(i.WSEvents.GUILD_SYNC,n(314)),this.register(i.WSEvents.RELATIONSHIP_ADD,n(325)),this.register(i.WSEvents.RELATIONSHIP_REMOVE,n(326)),this.register(i.WSEvents.MESSAGE_REACTION_ADD,n(319)),this.register(i.WSEvents.MESSAGE_REACTION_REMOVE,n(320)),this.register(i.WSEvents.MESSAGE_REACTION_REMOVE_ALL,n(321))}get client(){return this.ws.client}register(e,t){this.handlers[e]=new t(this)}handleQueue(){this.queue.forEach((e,t)=>{this.handle(this.queue[t]),this.queue.splice(t,1)})}setSequence(e){e&&e>this.ws.sequence&&(this.ws.sequence=e)}handle(e){return e.op===i.OPCodes.RECONNECT?(this.setSequence(e.s),this.ws.tryReconnect(),!1):e.op===i.OPCodes.INVALID_SESSION?(this.ws.sessionID=null,this.ws._sendNewIdentify(),!1):(e.op===i.OPCodes.HEARTBEAT_ACK&&this.ws.client.emit("debug","Heartbeat acknowledged"),this.ws.status===i.Status.RECONNECTING&&(this.ws.reconnecting=!1,this.ws.checkIfReady()),this.setSequence(e.s),void 0===this.ws.disabledEvents[e.t]&&(this.ws.status!==i.Status.READY&&r.indexOf(e.t)===-1?(this.queue.push(e),!1):!!this.handlers[e.t]&&this.handlers[e.t].handle(e)))}}e.exports=s},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.ChannelCreate.handle(n)}}e.exports=r},function(e,t,n){const i=n(3),r=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.actions.ChannelDelete.handle(n);i.channel&&t.emit(r.Events.CHANNEL_DELETE,i.channel)}}e.exports=s},function(e,t,n){const i=n(3),r=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.channels.get(n.channel_id),s=new Date(n.last_pin_timestamp);i&&s&&t.emit(r.Events.CHANNEL_PINS_UPDATE,i,s)}}e.exports=s},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.ChannelUpdate.handle(n)}}e.exports=r},function(e,t,n){const i=n(3),r=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.guild_id),s=t.users.get(n.user.id);i&&s&&t.emit(r.Events.GUILD_BAN_ADD,i,s)}}e.exports=s},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildBanRemove.handle(n)}}e.exports=r},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.id);i?i.available||n.unavailable||(i.setup(n),this.packetManager.ws.checkIfReady()):t.dataManager.newGuild(n)}}e.exports=r},function(e,t,n){const i=n(3),r=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.actions.GuildDelete.handle(n);i.guild&&t.emit(r.Events.GUILD_DELETE,i.guild)}}e.exports=s},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.guild_id);i&&(i.memberCount++,i._addMember(n))}}e.exports=r},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildMemberRemove.handle(n)}}e.exports=r},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.guild_id);if(i){const e=i.members.get(n.user.id);e&&i._updateMember(e,n)}}}e.exports=r},function(e,t,n){const i=n(3),r=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.guild_id),s=[];if(i)for(const o of n.members)s.push(i._addMember(o,!1));i._checkChunks(),t.emit(r.Events.GUILD_MEMBERS_CHUNK,s)}}e.exports=s},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildRoleCreate.handle(n)}}e.exports=r},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildRoleDelete.handle(n)}}e.exports=r},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildRoleUpdate.handle(n)}}e.exports=r},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildSync.handle(n)}}e.exports=r},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildUpdate.handle(n)}}e.exports=r},function(e,t,n){const i=n(3),r=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.actions.MessageCreate.handle(n);i.message&&t.emit(r.Events.MESSAGE_CREATE,i.message)}}e.exports=s},function(e,t,n){const i=n(3),r=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.actions.MessageDelete.handle(n);i.message&&t.emit(r.Events.MESSAGE_DELETE,i.message)}}e.exports=s},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.MessageDeleteBulk.handle(n)}}e.exports=r},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.MessageReactionAdd.handle(n)}}e.exports=r},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.MessageReactionRemove.handle(n)}}e.exports=r},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.MessageReactionRemoveAll.handle(n)}}e.exports=r},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.MessageUpdate.handle(n)}}e.exports=r},function(e,t,n){const i=n(3),r=n(1),s=n(12);class o extends i{handle(e){const t=this.packetManager.client,n=e.d;let i=t.users.get(n.user.id);const o=t.guilds.get(n.guild_id);if(!i){if(!n.user.username)return;i=t.dataManager.newUser(n.user)}const a=s(i);if(i.patch(n.user),i.equals(a)||t.emit(r.Events.USER_UPDATE,a,i),o){let e=o.members.get(i.id);if(e||"offline"===n.status||(e=o._addMember({user:i,roles:n.roles,deaf:!1,mute:!1},!1),t.emit(r.Events.GUILD_MEMBER_AVAILABLE,e)),e){const a=s(e);e.presence&&(a.frozenPresence=s(e.presence)),o._setPresence(i.id,n),t.emit(r.Events.PRESENCE_UPDATE,a,e)}else o._setPresence(i.id,n)}}}e.exports=o},function(e,t,n){const i=n(3),r=n(68);class s extends i{handle(e){const t=this.packetManager.client,n=e.d,i=new r(t,n.user);t.user=i,t.readyAt=new Date,t.users.set(i.id,i);for(const s of n.guilds)t.dataManager.newGuild(s);for(const o of n.private_channels)t.dataManager.newChannel(o);for(const a of n.relationships){const e=t.dataManager.newUser(a.user);1===a.type?t.user.friends.set(e.id,e):2===a.type&&t.user.blocked.set(e.id,e)}n.presences=n.presences||[];for(const c of n.presences)t.dataManager.newUser(c.user),t._setPresence(c.user.id,c);if(n.notes)for(const h in n.notes){let e=n.notes[h];e.length||(e=null),t.user.notes.set(h,e)}!t.user.bot&&t.options.sync&&t.setInterval(t.syncGuilds.bind(t),3e4),t.once("ready",t.syncGuilds.bind(t)),t.users.has("1")||t.dataManager.newUser({id:"1",username:"Clyde",discriminator:"0000",avatar:"https://discordapp.com/assets/f78426a064bc9dd24847519259bc42af.png",bot:!0,status:"online",game:null,verified:!0}),t.setTimeout(()=>{t.ws.normalReady||t.ws._emitReady(!1)},1200*n.guilds.length),this.packetManager.ws.sessionID=n.session_id,this.packetManager.ws.checkIfReady()}}e.exports=s},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;1===n.type?t.fetchUser(n.id).then(e=>{t.user.friends.set(e.id,e)}):2===n.type&&t.fetchUser(n.id).then(e=>{t.user.blocked.set(e.id,e)})}}e.exports=r},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;2===n.type?t.user.blocked.has(n.id)&&t.user.blocked.delete(n.id):1===n.type&&t.user.friends.has(n.id)&&t.user.friends.delete(n.id)}}e.exports=r},function(e,t,n){function i(e,t){return e.client.setTimeout(()=>{e.client.emit(s.Events.TYPING_STOP,e,t,e._typing.get(t.id)),e._typing.delete(t.id)},6e3)}const r=n(3),s=n(1);class o extends r{handle(e){const t=this.packetManager.client,n=e.d,r=t.channels.get(n.channel_id),o=t.users.get(n.user_id),c=new Date(1e3*n.timestamp);if(r&&o){if("voice"===r.type)return void t.emit(s.Events.WARN,`Discord sent a typing packet to voice channel ${r.id}`);if(r._typing.has(o.id)){const e=r._typing.get(o.id);e.lastTimestamp=c,e.resetTimeout(i(r,o))}else r._typing.set(o.id,new a(t,c,c,i(r,o))),t.emit(s.Events.TYPING_START,r,o)}}}class a{constructor(e,t,n,i){this.client=e,this.since=t,this.lastTimestamp=n,this._timeout=i}resetTimeout(e){this.client.clearTimeout(this._timeout),this._timeout=e}get elapsedTime(){return Date.now()-this.since}}e.exports=o},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.UserNoteUpdate.handle(n)}}e.exports=r},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.UserUpdate.handle(n)}}e.exports=r},function(e,t,n){const i=n(3);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.emit("self.voiceServer",n)}}e.exports=r},function(e,t,n){const i=n(3),r=n(1),s=n(12);class o extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.guild_id);if(i){const e=i.members.get(n.user_id);if(e){const i=s(e);e.voiceChannel&&e.voiceChannel.id!==n.channel_id&&e.voiceChannel.members.delete(i.id),n.channel_id||(e.speaking=null),e.user.id===t.user.id&&n.channel_id&&t.emit("self.voiceStateUpdate",n);const o=t.channels.get(n.channel_id);o&&o.members.set(e.user.id,e),e.serverMute=n.mute,e.serverDeaf=n.deaf,e.selfMute=n.self_mute,e.selfDeaf=n.self_deaf,e.voiceSessionID=n.session_id,e.voiceChannelID=n.channel_id,t.emit(r.Events.VOICE_STATE_UPDATE,i,e)}}}}e.exports=o},function(e,t){class n{constructor(e,t){this.user=e,this.setup(t)}setup(e){this.type=e.type,this.name=e.name,this.id=e.id,this.revoked=e.revoked,this.integrations=e.integrations}}e.exports=n},function(e,t,n){const i=n(6),r=n(332);class s{constructor(e,t){this.user=e,this.client=this.user.client,Object.defineProperty(this,"client",{enumerable:!1,configurable:!1}),this.mutualGuilds=new i,this.connections=new i,this.setup(t)}setup(e){for(const t of e.mutual_guilds)this.client.guilds.has(t.id)&&this.mutualGuilds.set(t.id,this.client.guilds.get(t.id));for(const n of e.connected_accounts)this.connections.set(n.id,new r(this.user,n))}}e.exports=s},function(e,t){e.exports=function(e){if(e.includes("%")&&(e=decodeURIComponent(e)),e.includes(":")){const[t,n]=e.split(":");return{name:t,id:n}}return{name:e,id:null}}},function(e,t){var n=new Error('Cannot find module "undefined"');throw n.code="MODULE_NOT_FOUND",n},function(e,t){var n=new Error('Cannot find module "undefined"');throw n.code="MODULE_NOT_FOUND",n},function(e,t){},function(e,t){},function(e,t){},function(e,t,n){e.exports={Client:n(137),WebhookClient:n(138),Shard:n(65),ShardClientUtil:n(66),ShardingManager:n(139),Collection:n(6),splitMessage:n(83),escapeMarkdown:n(35),fetchRecommendedShards:n(82),Channel:n(24),ClientOAuth2Application:n(67),ClientUser:n(68),DMChannel:n(69),Emoji:n(25),EvaluatedPermissions:n(46),Game:n(15).Game,GroupDMChannel:n(70),Guild:n(47),GuildChannel:n(32),GuildMember:n(33),Invite:n(71),Message:n(34),MessageAttachment:n(72),MessageCollector:n(73),MessageEmbed:n(74),MessageReaction:n(75),OAuth2Application:n(76),PartialGuild:n(77),PartialGuildChannel:n(78),PermissionOverwrites:n(79),Presence:n(15).Presence,ReactionEmoji:n(48),Role:n(19),TextChannel:n(80),User:n(14),VoiceChannel:n(81),Webhook:n(49),version:n(64).version},"undefined"!=typeof window&&(window.Discord=e.exports)}]); \ No newline at end of file