diff --git a/app/changelog.html b/app/changelog.html deleted file mode 100644 index 25bbbf4..0000000 --- a/app/changelog.html +++ /dev/null @@ -1,260 +0,0 @@ - - - - - - -

Whats new?

- -
- 2.9.3 - -
- -
- 2.9.2 - -
- - -
- 2.9.1 - -
- -
- 2.9.0 - -
- -
- 2.8.1 - -
- -
- 2.8.0 - -
- -
- 2.7.2 - -
- -
- 2.7.1 - -
- -
- 2.7.0 - -
- -
- 2.6.1 - -
- -
- 2.6.0 - -
- -
- 2.5.0 - -
- -
- 2.4.2 - -
- -
- 2.4.0 - -
- -
- 2.3.2 - -
-
- 2.3.1 - -
-
- 2.3.0 - -
- -
- 2.2.0 - -
- -
- 2.1.0 - -
-
- 2.0.0 - -
-
- 1.7.0 - -
-
- 1.6.0 - -
diff --git a/app/lib/atomizer.browser.js b/app/lib/atomizer.browser.js deleted file mode 100644 index 7a9742e..0000000 --- a/app/lib/atomizer.browser.js +++ /dev/null @@ -1,20858 +0,0 @@ -require = (function e(t, n, r) { - function s(o, u) { - if (!n[o]) { - if (!t[o]) { - var a = typeof require == 'function' && require; - if (!u && a) return a(o, !0); - if (i) return i(o, !0); - var f = new Error("Cannot find module '" + o + "'"); - throw ((f.code = 'MODULE_NOT_FOUND'), f); - } - var l = (n[o] = { exports: {} }); - t[o][0].call( - l.exports, - function(e) { - var n = t[o][1][e]; - return s(n ? n : e); - }, - l, - l.exports, - e, - t, - n, - r - ); - } - return n[o].exports; - } - var i = typeof require == 'function' && require; - for (var o = 0; o < r.length; o++) s(r[o]); - return s; -})( - { - 1: [ - function(require, module, exports) { - (function(global) { - /** - * @license - * lodash 3.10.1 (Custom Build) - * Build: `lodash modern -d -o ./index.js` - * Copyright 2012-2015 The Dojo Foundation - * Based on Underscore.js 1.8.3 - * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license - */ - (function() { - /** Used as a safe reference for `undefined` in pre-ES5 environments. */ - var undefined; - - /** Used as the semantic version number. */ - var VERSION = '3.10.1'; - - /** Used to compose bitmasks for wrapper metadata. */ - var BIND_FLAG = 1, - BIND_KEY_FLAG = 2, - CURRY_BOUND_FLAG = 4, - CURRY_FLAG = 8, - CURRY_RIGHT_FLAG = 16, - PARTIAL_FLAG = 32, - PARTIAL_RIGHT_FLAG = 64, - ARY_FLAG = 128, - REARG_FLAG = 256; - - /** Used as default options for `_.trunc`. */ - var DEFAULT_TRUNC_LENGTH = 30, - DEFAULT_TRUNC_OMISSION = '...'; - - /** Used to detect when a function becomes hot. */ - var HOT_COUNT = 150, - HOT_SPAN = 16; - - /** Used as the size to enable large array optimizations. */ - var LARGE_ARRAY_SIZE = 200; - - /** Used to indicate the type of lazy iteratees. */ - var LAZY_FILTER_FLAG = 1, - LAZY_MAP_FLAG = 2; - - /** Used as the `TypeError` message for "Functions" methods. */ - var FUNC_ERROR_TEXT = 'Expected a function'; - - /** Used as the internal argument placeholder. */ - var PLACEHOLDER = '__lodash_placeholder__'; - - /** `Object#toString` result references. */ - var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag = '[object Function]', - mapTag = '[object Map]', - numberTag = '[object Number]', - objectTag = '[object Object]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - weakMapTag = '[object WeakMap]'; - - var arrayBufferTag = '[object ArrayBuffer]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - - /** Used to match empty string literals in compiled template source. */ - var reEmptyStringLeading = /\b__p \+= '';/g, - reEmptyStringMiddle = /\b(__p \+=) '' \+/g, - reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; - - /** Used to match HTML entities and HTML characters. */ - var reEscapedHtml = /&(?:amp|lt|gt|quot|#39|#96);/g, - reUnescapedHtml = /[&<>"'`]/g, - reHasEscapedHtml = RegExp(reEscapedHtml.source), - reHasUnescapedHtml = RegExp(reUnescapedHtml.source); - - /** Used to match template delimiters. */ - var reEscape = /<%-([\s\S]+?)%>/g, - reEvaluate = /<%([\s\S]+?)%>/g, - reInterpolate = /<%=([\s\S]+?)%>/g; - - /** Used to match property names within property paths. */ - var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/, - reIsPlainProp = /^\w*$/, - rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g; - - /** - * Used to match `RegExp` [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns) - * and those outlined by [`EscapeRegExpPattern`](http://ecma-international.org/ecma-262/6.0/#sec-escaperegexppattern). - */ - var reRegExpChars = /^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g, - reHasRegExpChars = RegExp(reRegExpChars.source); - - /** Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). */ - var reComboMark = /[\u0300-\u036f\ufe20-\ufe23]/g; - - /** Used to match backslashes in property paths. */ - var reEscapeChar = /\\(\\)?/g; - - /** Used to match [ES template delimiters](http://ecma-international.org/ecma-262/6.0/#sec-template-literal-lexical-components). */ - var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; - - /** Used to match `RegExp` flags from their coerced string values. */ - var reFlags = /\w*$/; - - /** Used to detect hexadecimal string values. */ - var reHasHexPrefix = /^0[xX]/; - - /** Used to detect host constructors (Safari > 5). */ - var reIsHostCtor = /^\[object .+?Constructor\]$/; - - /** Used to detect unsigned integer values. */ - var reIsUint = /^\d+$/; - - /** Used to match latin-1 supplementary letters (excluding mathematical operators). */ - var reLatin1 = /[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g; - - /** Used to ensure capturing order of template delimiters. */ - var reNoMatch = /($^)/; - - /** Used to match unescaped characters in compiled string literals. */ - var reUnescapedString = /['\n\r\u2028\u2029\\]/g; - - /** Used to match words to create compound words. */ - var reWords = (function() { - var upper = '[A-Z\\xc0-\\xd6\\xd8-\\xde]', - lower = '[a-z\\xdf-\\xf6\\xf8-\\xff]+'; - - return RegExp( - upper + - '+(?=' + - upper + - lower + - ')|' + - upper + - '?' + - lower + - '|' + - upper + - '+|[0-9]+', - 'g' - ); - })(); - - /** Used to assign default `context` object properties. */ - var contextProps = [ - 'Array', - 'ArrayBuffer', - 'Date', - 'Error', - 'Float32Array', - 'Float64Array', - 'Function', - 'Int8Array', - 'Int16Array', - 'Int32Array', - 'Math', - 'Number', - 'Object', - 'RegExp', - 'Set', - 'String', - '_', - 'clearTimeout', - 'isFinite', - 'parseFloat', - 'parseInt', - 'setTimeout', - 'TypeError', - 'Uint8Array', - 'Uint8ClampedArray', - 'Uint16Array', - 'Uint32Array', - 'WeakMap' - ]; - - /** Used to make template sourceURLs easier to identify. */ - var templateCounter = -1; - - /** Used to identify `toStringTag` values of typed arrays. */ - var typedArrayTags = {}; - typedArrayTags[float32Tag] = typedArrayTags[ - float64Tag - ] = typedArrayTags[int8Tag] = typedArrayTags[ - int16Tag - ] = typedArrayTags[int32Tag] = typedArrayTags[ - uint8Tag - ] = typedArrayTags[uint8ClampedTag] = typedArrayTags[ - uint16Tag - ] = typedArrayTags[uint32Tag] = true; - typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[ - arrayBufferTag - ] = typedArrayTags[boolTag] = typedArrayTags[ - dateTag - ] = typedArrayTags[errorTag] = typedArrayTags[ - funcTag - ] = typedArrayTags[mapTag] = typedArrayTags[ - numberTag - ] = typedArrayTags[objectTag] = typedArrayTags[ - regexpTag - ] = typedArrayTags[setTag] = typedArrayTags[ - stringTag - ] = typedArrayTags[weakMapTag] = false; - - /** Used to identify `toStringTag` values supported by `_.clone`. */ - var cloneableTags = {}; - cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[ - arrayBufferTag - ] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[ - float32Tag - ] = cloneableTags[float64Tag] = cloneableTags[ - int8Tag - ] = cloneableTags[int16Tag] = cloneableTags[ - int32Tag - ] = cloneableTags[numberTag] = cloneableTags[ - objectTag - ] = cloneableTags[regexpTag] = cloneableTags[ - stringTag - ] = cloneableTags[uint8Tag] = cloneableTags[ - uint8ClampedTag - ] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; - cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[ - mapTag - ] = cloneableTags[setTag] = cloneableTags[weakMapTag] = false; - - /** Used to map latin-1 supplementary letters to basic latin letters. */ - var deburredLetters = { - À: 'A', - Á: 'A', - Â: 'A', - Ã: 'A', - Ä: 'A', - Å: 'A', - à: 'a', - á: 'a', - â: 'a', - ã: 'a', - ä: 'a', - å: 'a', - Ç: 'C', - ç: 'c', - Ð: 'D', - ð: 'd', - È: 'E', - É: 'E', - Ê: 'E', - Ë: 'E', - è: 'e', - é: 'e', - ê: 'e', - ë: 'e', - Ì: 'I', - Í: 'I', - Î: 'I', - Ï: 'I', - ì: 'i', - í: 'i', - î: 'i', - ï: 'i', - Ñ: 'N', - ñ: 'n', - Ò: 'O', - Ó: 'O', - Ô: 'O', - Õ: 'O', - Ö: 'O', - Ø: 'O', - ò: 'o', - ó: 'o', - ô: 'o', - õ: 'o', - ö: 'o', - ø: 'o', - Ù: 'U', - Ú: 'U', - Û: 'U', - Ü: 'U', - ù: 'u', - ú: 'u', - û: 'u', - ü: 'u', - Ý: 'Y', - ý: 'y', - ÿ: 'y', - Æ: 'Ae', - æ: 'ae', - Þ: 'Th', - þ: 'th', - ß: 'ss' - }; - - /** Used to map characters to HTML entities. */ - var htmlEscapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''', - '`': '`' - }; - - /** Used to map HTML entities to characters. */ - var htmlUnescapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - ''': "'", - '`': '`' - }; - - /** Used to determine if values are of the language type `Object`. */ - var objectTypes = { - function: true, - object: true - }; - - /** Used to escape characters for inclusion in compiled regexes. */ - var regexpEscapes = { - '0': 'x30', - '1': 'x31', - '2': 'x32', - '3': 'x33', - '4': 'x34', - '5': 'x35', - '6': 'x36', - '7': 'x37', - '8': 'x38', - '9': 'x39', - A: 'x41', - B: 'x42', - C: 'x43', - D: 'x44', - E: 'x45', - F: 'x46', - a: 'x61', - b: 'x62', - c: 'x63', - d: 'x64', - e: 'x65', - f: 'x66', - n: 'x6e', - r: 'x72', - t: 'x74', - u: 'x75', - v: 'x76', - x: 'x78' - }; - - /** Used to escape characters for inclusion in compiled string literals. */ - var stringEscapes = { - '\\': '\\', - "'": "'", - '\n': 'n', - '\r': 'r', - '\u2028': 'u2028', - '\u2029': 'u2029' - }; - - /** Detect free variable `exports`. */ - var freeExports = - objectTypes[typeof exports] && - exports && - !exports.nodeType && - exports; - - /** Detect free variable `module`. */ - var freeModule = - objectTypes[typeof module] && - module && - !module.nodeType && - module; - - /** Detect free variable `global` from Node.js. */ - var freeGlobal = - freeExports && - freeModule && - typeof global == 'object' && - global && - global.Object && - global; - - /** Detect free variable `self`. */ - var freeSelf = - objectTypes[typeof self] && self && self.Object && self; - - /** Detect free variable `window`. */ - var freeWindow = - objectTypes[typeof window] && window && window.Object && window; - - /** Detect the popular CommonJS extension `module.exports`. */ - var moduleExports = - freeModule && freeModule.exports === freeExports && freeExports; - - /** - * Used as a reference to the global object. - * - * The `this` value is used if it's the global object to avoid Greasemonkey's - * restricted `window` object, otherwise the `window` object is used. - */ - var root = - freeGlobal || - (freeWindow !== (this && this.window) && freeWindow) || - freeSelf || - this; - - /*--------------------------------------------------------------------------*/ - - /** - * The base implementation of `compareAscending` which compares values and - * sorts them in ascending order without guaranteeing a stable sort. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {number} Returns the sort order indicator for `value`. - */ - function baseCompareAscending(value, other) { - if (value !== other) { - var valIsNull = value === null, - valIsUndef = value === undefined, - valIsReflexive = value === value; - - var othIsNull = other === null, - othIsUndef = other === undefined, - othIsReflexive = other === other; - - if ( - (value > other && !othIsNull) || - !valIsReflexive || - (valIsNull && !othIsUndef && othIsReflexive) || - (valIsUndef && othIsReflexive) - ) { - return 1; - } - if ( - (value < other && !valIsNull) || - !othIsReflexive || - (othIsNull && !valIsUndef && valIsReflexive) || - (othIsUndef && valIsReflexive) - ) { - return -1; - } - } - return 0; - } - - /** - * The base implementation of `_.findIndex` and `_.findLastIndex` without - * support for callback shorthands and `this` binding. - * - * @private - * @param {Array} array The array to search. - * @param {Function} predicate The function invoked per iteration. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseFindIndex(array, predicate, fromRight) { - var length = array.length, - index = fromRight ? length : -1; - - while (fromRight ? index-- : ++index < length) { - if (predicate(array[index], index, array)) { - return index; - } - } - return -1; - } - - /** - * The base implementation of `_.indexOf` without support for binary searches. - * - * @private - * @param {Array} array The array to search. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseIndexOf(array, value, fromIndex) { - if (value !== value) { - return indexOfNaN(array, fromIndex); - } - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (array[index] === value) { - return index; - } - } - return -1; - } - - /** - * The base implementation of `_.isFunction` without support for environments - * with incorrect `typeof` results. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - */ - function baseIsFunction(value) { - // Avoid a Chakra JIT bug in compatibility modes of IE 11. - // See https://github.com/jashkenas/underscore/issues/1621 for more details. - return typeof value == 'function' || false; - } - - /** - * Converts `value` to a string if it's not one. An empty string is returned - * for `null` or `undefined` values. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ - function baseToString(value) { - return value == null ? '' : value + ''; - } - - /** - * Used by `_.trim` and `_.trimLeft` to get the index of the first character - * of `string` that is not found in `chars`. - * - * @private - * @param {string} string The string to inspect. - * @param {string} chars The characters to find. - * @returns {number} Returns the index of the first character not found in `chars`. - */ - function charsLeftIndex(string, chars) { - var index = -1, - length = string.length; - - while ( - ++index < length && - chars.indexOf(string.charAt(index)) > -1 - ) {} - return index; - } - - /** - * Used by `_.trim` and `_.trimRight` to get the index of the last character - * of `string` that is not found in `chars`. - * - * @private - * @param {string} string The string to inspect. - * @param {string} chars The characters to find. - * @returns {number} Returns the index of the last character not found in `chars`. - */ - function charsRightIndex(string, chars) { - var index = string.length; - - while (index-- && chars.indexOf(string.charAt(index)) > -1) {} - return index; - } - - /** - * Used by `_.sortBy` to compare transformed elements of a collection and stable - * sort them in ascending order. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @returns {number} Returns the sort order indicator for `object`. - */ - function compareAscending(object, other) { - return ( - baseCompareAscending(object.criteria, other.criteria) || - object.index - other.index - ); - } - - /** - * Used by `_.sortByOrder` to compare multiple properties of a value to another - * and stable sort them. - * - * If `orders` is unspecified, all valuess are sorted in ascending order. Otherwise, - * a value is sorted in ascending order if its corresponding order is "asc", and - * descending if "desc". - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {boolean[]} orders The order to sort by for each property. - * @returns {number} Returns the sort order indicator for `object`. - */ - function compareMultiple(object, other, orders) { - var index = -1, - objCriteria = object.criteria, - othCriteria = other.criteria, - length = objCriteria.length, - ordersLength = orders.length; - - while (++index < length) { - var result = baseCompareAscending( - objCriteria[index], - othCriteria[index] - ); - if (result) { - if (index >= ordersLength) { - return result; - } - var order = orders[index]; - return result * (order === 'asc' || order === true ? 1 : -1); - } - } - // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications - // that causes it, under certain circumstances, to provide the same value for - // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 - // for more details. - // - // This also ensures a stable sort in V8 and other engines. - // See https://code.google.com/p/v8/issues/detail?id=90 for more details. - return object.index - other.index; - } - - /** - * Used by `_.deburr` to convert latin-1 supplementary letters to basic latin letters. - * - * @private - * @param {string} letter The matched letter to deburr. - * @returns {string} Returns the deburred letter. - */ - function deburrLetter(letter) { - return deburredLetters[letter]; - } - - /** - * Used by `_.escape` to convert characters to HTML entities. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ - function escapeHtmlChar(chr) { - return htmlEscapes[chr]; - } - - /** - * Used by `_.escapeRegExp` to escape characters for inclusion in compiled regexes. - * - * @private - * @param {string} chr The matched character to escape. - * @param {string} leadingChar The capture group for a leading character. - * @param {string} whitespaceChar The capture group for a whitespace character. - * @returns {string} Returns the escaped character. - */ - function escapeRegExpChar(chr, leadingChar, whitespaceChar) { - if (leadingChar) { - chr = regexpEscapes[chr]; - } else if (whitespaceChar) { - chr = stringEscapes[chr]; - } - return '\\' + chr; - } - - /** - * Used by `_.template` to escape characters for inclusion in compiled string literals. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ - function escapeStringChar(chr) { - return '\\' + stringEscapes[chr]; - } - - /** - * Gets the index at which the first occurrence of `NaN` is found in `array`. - * - * @private - * @param {Array} array The array to search. - * @param {number} fromIndex The index to search from. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {number} Returns the index of the matched `NaN`, else `-1`. - */ - function indexOfNaN(array, fromIndex, fromRight) { - var length = array.length, - index = fromIndex + (fromRight ? 0 : -1); - - while (fromRight ? index-- : ++index < length) { - var other = array[index]; - if (other !== other) { - return index; - } - } - return -1; - } - - /** - * Checks if `value` is object-like. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - */ - function isObjectLike(value) { - return !!value && typeof value == 'object'; - } - - /** - * Used by `trimmedLeftIndex` and `trimmedRightIndex` to determine if a - * character code is whitespace. - * - * @private - * @param {number} charCode The character code to inspect. - * @returns {boolean} Returns `true` if `charCode` is whitespace, else `false`. - */ - function isSpace(charCode) { - return ( - (charCode <= 160 && (charCode >= 9 && charCode <= 13)) || - charCode == 32 || - charCode == 160 || - charCode == 5760 || - charCode == 6158 || - (charCode >= 8192 && - (charCode <= 8202 || - charCode == 8232 || - charCode == 8233 || - charCode == 8239 || - charCode == 8287 || - charCode == 12288 || - charCode == 65279)) - ); - } - - /** - * Replaces all `placeholder` elements in `array` with an internal placeholder - * and returns an array of their indexes. - * - * @private - * @param {Array} array The array to modify. - * @param {*} placeholder The placeholder to replace. - * @returns {Array} Returns the new array of placeholder indexes. - */ - function replaceHolders(array, placeholder) { - var index = -1, - length = array.length, - resIndex = -1, - result = []; - - while (++index < length) { - if (array[index] === placeholder) { - array[index] = PLACEHOLDER; - result[++resIndex] = index; - } - } - return result; - } - - /** - * An implementation of `_.uniq` optimized for sorted arrays without support - * for callback shorthands and `this` binding. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The function invoked per iteration. - * @returns {Array} Returns the new duplicate-value-free array. - */ - function sortedUniq(array, iteratee) { - var seen, - index = -1, - length = array.length, - resIndex = -1, - result = []; - - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value, index, array) : value; - - if (!index || seen !== computed) { - seen = computed; - result[++resIndex] = value; - } - } - return result; - } - - /** - * Used by `_.trim` and `_.trimLeft` to get the index of the first non-whitespace - * character of `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the index of the first non-whitespace character. - */ - function trimmedLeftIndex(string) { - var index = -1, - length = string.length; - - while (++index < length && isSpace(string.charCodeAt(index))) {} - return index; - } - - /** - * Used by `_.trim` and `_.trimRight` to get the index of the last non-whitespace - * character of `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the index of the last non-whitespace character. - */ - function trimmedRightIndex(string) { - var index = string.length; - - while (index-- && isSpace(string.charCodeAt(index))) {} - return index; - } - - /** - * Used by `_.unescape` to convert HTML entities to characters. - * - * @private - * @param {string} chr The matched character to unescape. - * @returns {string} Returns the unescaped character. - */ - function unescapeHtmlChar(chr) { - return htmlUnescapes[chr]; - } - - /*--------------------------------------------------------------------------*/ - - /** - * Create a new pristine `lodash` function using the given `context` object. - * - * @static - * @memberOf _ - * @category Utility - * @param {Object} [context=root] The context object. - * @returns {Function} Returns a new `lodash` function. - * @example - * - * _.mixin({ 'foo': _.constant('foo') }); - * - * var lodash = _.runInContext(); - * lodash.mixin({ 'bar': lodash.constant('bar') }); - * - * _.isFunction(_.foo); - * // => true - * _.isFunction(_.bar); - * // => false - * - * lodash.isFunction(lodash.foo); - * // => false - * lodash.isFunction(lodash.bar); - * // => true - * - * // using `context` to mock `Date#getTime` use in `_.now` - * var mock = _.runInContext({ - * 'Date': function() { - * return { 'getTime': getTimeMock }; - * } - * }); - * - * // or creating a suped-up `defer` in Node.js - * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; - */ - function runInContext(context) { - // Avoid issues with some ES3 environments that attempt to use values, named - // after built-in constructors like `Object`, for the creation of literals. - // ES5 clears this up by stating that literals must use built-in constructors. - // See https://es5.github.io/#x11.1.5 for more details. - context = context - ? _.defaults(root.Object(), context, _.pick(root, contextProps)) - : root; - - /** Native constructor references. */ - var Array = context.Array, - Date = context.Date, - Error = context.Error, - Function = context.Function, - Math = context.Math, - Number = context.Number, - Object = context.Object, - RegExp = context.RegExp, - String = context.String, - TypeError = context.TypeError; - - /** Used for native method references. */ - var arrayProto = Array.prototype, - objectProto = Object.prototype, - stringProto = String.prototype; - - /** Used to resolve the decompiled source of functions. */ - var fnToString = Function.prototype.toString; - - /** Used to check objects for own properties. */ - var hasOwnProperty = objectProto.hasOwnProperty; - - /** Used to generate unique IDs. */ - var idCounter = 0; - - /** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) - * of values. - */ - var objToString = objectProto.toString; - - /** Used to restore the original `_` reference in `_.noConflict`. */ - var oldDash = root._; - - /** Used to detect if a method is native. */ - var reIsNative = RegExp( - '^' + - fnToString - .call(hasOwnProperty) - .replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') - .replace( - /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, - '$1.*?' - ) + - '$' - ); - - /** Native method references. */ - var ArrayBuffer = context.ArrayBuffer, - clearTimeout = context.clearTimeout, - parseFloat = context.parseFloat, - pow = Math.pow, - propertyIsEnumerable = objectProto.propertyIsEnumerable, - Set = getNative(context, 'Set'), - setTimeout = context.setTimeout, - splice = arrayProto.splice, - Uint8Array = context.Uint8Array, - WeakMap = getNative(context, 'WeakMap'); - - /* Native method references for those with the same name as other `lodash` methods. */ - var nativeCeil = Math.ceil, - nativeCreate = getNative(Object, 'create'), - nativeFloor = Math.floor, - nativeIsArray = getNative(Array, 'isArray'), - nativeIsFinite = context.isFinite, - nativeKeys = getNative(Object, 'keys'), - nativeMax = Math.max, - nativeMin = Math.min, - nativeNow = getNative(Date, 'now'), - nativeParseInt = context.parseInt, - nativeRandom = Math.random; - - /** Used as references for `-Infinity` and `Infinity`. */ - var NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY, - POSITIVE_INFINITY = Number.POSITIVE_INFINITY; - - /** Used as references for the maximum length and index of an array. */ - var MAX_ARRAY_LENGTH = 4294967295, - MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, - HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; - - /** - * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer) - * of an array-like value. - */ - var MAX_SAFE_INTEGER = 9007199254740991; - - /** Used to store function metadata. */ - var metaMap = WeakMap && new WeakMap(); - - /** Used to lookup unminified function names. */ - var realNames = {}; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` object which wraps `value` to enable implicit chaining. - * Methods that operate on and return arrays, collections, and functions can - * be chained together. Methods that retrieve a single value or may return a - * primitive value will automatically end the chain returning the unwrapped - * value. Explicit chaining may be enabled using `_.chain`. The execution of - * chained methods is lazy, that is, execution is deferred until `_#value` - * is implicitly or explicitly called. - * - * Lazy evaluation allows several methods to support shortcut fusion. Shortcut - * fusion is an optimization strategy which merge iteratee calls; this can help - * to avoid the creation of intermediate data structures and greatly reduce the - * number of iteratee executions. - * - * Chaining is supported in custom builds as long as the `_#value` method is - * directly or indirectly included in the build. - * - * In addition to lodash methods, wrappers have `Array` and `String` methods. - * - * The wrapper `Array` methods are: - * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`, - * `splice`, and `unshift` - * - * The wrapper `String` methods are: - * `replace` and `split` - * - * The wrapper methods that support shortcut fusion are: - * `compact`, `drop`, `dropRight`, `dropRightWhile`, `dropWhile`, `filter`, - * `first`, `initial`, `last`, `map`, `pluck`, `reject`, `rest`, `reverse`, - * `slice`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, `toArray`, - * and `where` - * - * The chainable wrapper methods are: - * `after`, `ary`, `assign`, `at`, `before`, `bind`, `bindAll`, `bindKey`, - * `callback`, `chain`, `chunk`, `commit`, `compact`, `concat`, `constant`, - * `countBy`, `create`, `curry`, `debounce`, `defaults`, `defaultsDeep`, - * `defer`, `delay`, `difference`, `drop`, `dropRight`, `dropRightWhile`, - * `dropWhile`, `fill`, `filter`, `flatten`, `flattenDeep`, `flow`, `flowRight`, - * `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`, - * `functions`, `groupBy`, `indexBy`, `initial`, `intersection`, `invert`, - * `invoke`, `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, - * `matchesProperty`, `memoize`, `merge`, `method`, `methodOf`, `mixin`, - * `modArgs`, `negate`, `omit`, `once`, `pairs`, `partial`, `partialRight`, - * `partition`, `pick`, `plant`, `pluck`, `property`, `propertyOf`, `pull`, - * `pullAt`, `push`, `range`, `rearg`, `reject`, `remove`, `rest`, `restParam`, - * `reverse`, `set`, `shuffle`, `slice`, `sort`, `sortBy`, `sortByAll`, - * `sortByOrder`, `splice`, `spread`, `take`, `takeRight`, `takeRightWhile`, - * `takeWhile`, `tap`, `throttle`, `thru`, `times`, `toArray`, `toPlainObject`, - * `transform`, `union`, `uniq`, `unshift`, `unzip`, `unzipWith`, `values`, - * `valuesIn`, `where`, `without`, `wrap`, `xor`, `zip`, `zipObject`, `zipWith` - * - * The wrapper methods that are **not** chainable by default are: - * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clone`, `cloneDeep`, - * `deburr`, `endsWith`, `escape`, `escapeRegExp`, `every`, `find`, `findIndex`, - * `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `findWhere`, `first`, - * `floor`, `get`, `gt`, `gte`, `has`, `identity`, `includes`, `indexOf`, - * `inRange`, `isArguments`, `isArray`, `isBoolean`, `isDate`, `isElement`, - * `isEmpty`, `isEqual`, `isError`, `isFinite` `isFunction`, `isMatch`, - * `isNative`, `isNaN`, `isNull`, `isNumber`, `isObject`, `isPlainObject`, - * `isRegExp`, `isString`, `isUndefined`, `isTypedArray`, `join`, `kebabCase`, - * `last`, `lastIndexOf`, `lt`, `lte`, `max`, `min`, `noConflict`, `noop`, - * `now`, `pad`, `padLeft`, `padRight`, `parseInt`, `pop`, `random`, `reduce`, - * `reduceRight`, `repeat`, `result`, `round`, `runInContext`, `shift`, `size`, - * `snakeCase`, `some`, `sortedIndex`, `sortedLastIndex`, `startCase`, - * `startsWith`, `sum`, `template`, `trim`, `trimLeft`, `trimRight`, `trunc`, - * `unescape`, `uniqueId`, `value`, and `words` - * - * The wrapper method `sample` will return a wrapped value when `n` is provided, - * otherwise an unwrapped value is returned. - * - * @name _ - * @constructor - * @category Chain - * @param {*} value The value to wrap in a `lodash` instance. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var wrapped = _([1, 2, 3]); - * - * // returns an unwrapped value - * wrapped.reduce(function(total, n) { - * return total + n; - * }); - * // => 6 - * - * // returns a wrapped value - * var squares = wrapped.map(function(n) { - * return n * n; - * }); - * - * _.isArray(squares); - * // => false - * - * _.isArray(squares.value()); - * // => true - */ - function lodash(value) { - if ( - isObjectLike(value) && - !isArray(value) && - !(value instanceof LazyWrapper) - ) { - if (value instanceof LodashWrapper) { - return value; - } - if ( - hasOwnProperty.call(value, '__chain__') && - hasOwnProperty.call(value, '__wrapped__') - ) { - return wrapperClone(value); - } - } - return new LodashWrapper(value); - } - - /** - * The function whose prototype all chaining wrappers inherit from. - * - * @private - */ - function baseLodash() { - // No operation performed. - } - - /** - * The base constructor for creating `lodash` wrapper objects. - * - * @private - * @param {*} value The value to wrap. - * @param {boolean} [chainAll] Enable chaining for all wrapper methods. - * @param {Array} [actions=[]] Actions to peform to resolve the unwrapped value. - */ - function LodashWrapper(value, chainAll, actions) { - this.__wrapped__ = value; - this.__actions__ = actions || []; - this.__chain__ = !!chainAll; - } - - /** - * An object environment feature flags. - * - * @static - * @memberOf _ - * @type Object - */ - var support = (lodash.support = {}); - - /** - * By default, the template delimiters used by lodash are like those in - * embedded Ruby (ERB). Change the following template settings to use - * alternative delimiters. - * - * @static - * @memberOf _ - * @type Object - */ - lodash.templateSettings = { - /** - * Used to detect `data` property values to be HTML-escaped. - * - * @memberOf _.templateSettings - * @type RegExp - */ - escape: reEscape, - - /** - * Used to detect code to be evaluated. - * - * @memberOf _.templateSettings - * @type RegExp - */ - evaluate: reEvaluate, - - /** - * Used to detect `data` property values to inject. - * - * @memberOf _.templateSettings - * @type RegExp - */ - interpolate: reInterpolate, - - /** - * Used to reference the data object in the template text. - * - * @memberOf _.templateSettings - * @type string - */ - variable: '', - - /** - * Used to import variables into the compiled template. - * - * @memberOf _.templateSettings - * @type Object - */ - imports: { - /** - * A reference to the `lodash` function. - * - * @memberOf _.templateSettings.imports - * @type Function - */ - _: lodash - } - }; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. - * - * @private - * @param {*} value The value to wrap. - */ - function LazyWrapper(value) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__dir__ = 1; - this.__filtered__ = false; - this.__iteratees__ = []; - this.__takeCount__ = POSITIVE_INFINITY; - this.__views__ = []; - } - - /** - * Creates a clone of the lazy wrapper object. - * - * @private - * @name clone - * @memberOf LazyWrapper - * @returns {Object} Returns the cloned `LazyWrapper` object. - */ - function lazyClone() { - var result = new LazyWrapper(this.__wrapped__); - result.__actions__ = arrayCopy(this.__actions__); - result.__dir__ = this.__dir__; - result.__filtered__ = this.__filtered__; - result.__iteratees__ = arrayCopy(this.__iteratees__); - result.__takeCount__ = this.__takeCount__; - result.__views__ = arrayCopy(this.__views__); - return result; - } - - /** - * Reverses the direction of lazy iteration. - * - * @private - * @name reverse - * @memberOf LazyWrapper - * @returns {Object} Returns the new reversed `LazyWrapper` object. - */ - function lazyReverse() { - if (this.__filtered__) { - var result = new LazyWrapper(this); - result.__dir__ = -1; - result.__filtered__ = true; - } else { - result = this.clone(); - result.__dir__ *= -1; - } - return result; - } - - /** - * Extracts the unwrapped value from its lazy wrapper. - * - * @private - * @name value - * @memberOf LazyWrapper - * @returns {*} Returns the unwrapped value. - */ - function lazyValue() { - var array = this.__wrapped__.value(), - dir = this.__dir__, - isArr = isArray(array), - isRight = dir < 0, - arrLength = isArr ? array.length : 0, - view = getView(0, arrLength, this.__views__), - start = view.start, - end = view.end, - length = end - start, - index = isRight ? end : start - 1, - iteratees = this.__iteratees__, - iterLength = iteratees.length, - resIndex = 0, - takeCount = nativeMin(length, this.__takeCount__); - - if ( - !isArr || - arrLength < LARGE_ARRAY_SIZE || - (arrLength == length && takeCount == length) - ) { - return baseWrapperValue( - isRight && isArr ? array.reverse() : array, - this.__actions__ - ); - } - var result = []; - - outer: while (length-- && resIndex < takeCount) { - index += dir; - - var iterIndex = -1, - value = array[index]; - - while (++iterIndex < iterLength) { - var data = iteratees[iterIndex], - iteratee = data.iteratee, - type = data.type, - computed = iteratee(value); - - if (type == LAZY_MAP_FLAG) { - value = computed; - } else if (!computed) { - if (type == LAZY_FILTER_FLAG) { - continue outer; - } else { - break outer; - } - } - } - result[resIndex++] = value; - } - return result; - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates a cache object to store key/value pairs. - * - * @private - * @static - * @name Cache - * @memberOf _.memoize - */ - function MapCache() { - this.__data__ = {}; - } - - /** - * Removes `key` and its value from the cache. - * - * @private - * @name delete - * @memberOf _.memoize.Cache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed successfully, else `false`. - */ - function mapDelete(key) { - return this.has(key) && delete this.__data__[key]; - } - - /** - * Gets the cached value for `key`. - * - * @private - * @name get - * @memberOf _.memoize.Cache - * @param {string} key The key of the value to get. - * @returns {*} Returns the cached value. - */ - function mapGet(key) { - return key == '__proto__' ? undefined : this.__data__[key]; - } - - /** - * Checks if a cached value for `key` exists. - * - * @private - * @name has - * @memberOf _.memoize.Cache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function mapHas(key) { - return ( - key != '__proto__' && hasOwnProperty.call(this.__data__, key) - ); - } - - /** - * Sets `value` to `key` of the cache. - * - * @private - * @name set - * @memberOf _.memoize.Cache - * @param {string} key The key of the value to cache. - * @param {*} value The value to cache. - * @returns {Object} Returns the cache object. - */ - function mapSet(key, value) { - if (key != '__proto__') { - this.__data__[key] = value; - } - return this; - } - - /*------------------------------------------------------------------------*/ - - /** - * - * Creates a cache object to store unique values. - * - * @private - * @param {Array} [values] The values to cache. - */ - function SetCache(values) { - var length = values ? values.length : 0; - - this.data = { hash: nativeCreate(null), set: new Set() }; - while (length--) { - this.push(values[length]); - } - } - - /** - * Checks if `value` is in `cache` mimicking the return signature of - * `_.indexOf` by returning `0` if the value is found, else `-1`. - * - * @private - * @param {Object} cache The cache to search. - * @param {*} value The value to search for. - * @returns {number} Returns `0` if `value` is found, else `-1`. - */ - function cacheIndexOf(cache, value) { - var data = cache.data, - result = - typeof value == 'string' || isObject(value) - ? data.set.has(value) - : data.hash[value]; - - return result ? 0 : -1; - } - - /** - * Adds `value` to the cache. - * - * @private - * @name push - * @memberOf SetCache - * @param {*} value The value to cache. - */ - function cachePush(value) { - var data = this.data; - if (typeof value == 'string' || isObject(value)) { - data.set.add(value); - } else { - data.hash[value] = true; - } - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates a new array joining `array` with `other`. - * - * @private - * @param {Array} array The array to join. - * @param {Array} other The other array to join. - * @returns {Array} Returns the new concatenated array. - */ - function arrayConcat(array, other) { - var index = -1, - length = array.length, - othIndex = -1, - othLength = other.length, - result = Array(length + othLength); - - while (++index < length) { - result[index] = array[index]; - } - while (++othIndex < othLength) { - result[index++] = other[othIndex]; - } - return result; - } - - /** - * Copies the values of `source` to `array`. - * - * @private - * @param {Array} source The array to copy values from. - * @param {Array} [array=[]] The array to copy values to. - * @returns {Array} Returns `array`. - */ - function arrayCopy(source, array) { - var index = -1, - length = source.length; - - array || (array = Array(length)); - while (++index < length) { - array[index] = source[index]; - } - return array; - } - - /** - * A specialized version of `_.forEach` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ - function arrayEach(array, iteratee) { - var index = -1, - length = array.length; - - while (++index < length) { - if (iteratee(array[index], index, array) === false) { - break; - } - } - return array; - } - - /** - * A specialized version of `_.forEachRight` for arrays without support for - * callback shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ - function arrayEachRight(array, iteratee) { - var length = array.length; - - while (length--) { - if (iteratee(array[length], length, array) === false) { - break; - } - } - return array; - } - - /** - * A specialized version of `_.every` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - */ - function arrayEvery(array, predicate) { - var index = -1, - length = array.length; - - while (++index < length) { - if (!predicate(array[index], index, array)) { - return false; - } - } - return true; - } - - /** - * A specialized version of `baseExtremum` for arrays which invokes `iteratee` - * with one argument: (value). - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} comparator The function used to compare values. - * @param {*} exValue The initial extremum value. - * @returns {*} Returns the extremum value. - */ - function arrayExtremum(array, iteratee, comparator, exValue) { - var index = -1, - length = array.length, - computed = exValue, - result = computed; - - while (++index < length) { - var value = array[index], - current = +iteratee(value); - - if (comparator(current, computed)) { - computed = current; - result = value; - } - } - return result; - } - - /** - * A specialized version of `_.filter` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ - function arrayFilter(array, predicate) { - var index = -1, - length = array.length, - resIndex = -1, - result = []; - - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result[++resIndex] = value; - } - } - return result; - } - - /** - * A specialized version of `_.map` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function arrayMap(array, iteratee) { - var index = -1, - length = array.length, - result = Array(length); - - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - return result; - } - - /** - * Appends the elements of `values` to `array`. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to append. - * @returns {Array} Returns `array`. - */ - function arrayPush(array, values) { - var index = -1, - length = values.length, - offset = array.length; - - while (++index < length) { - array[offset + index] = values[index]; - } - return array; - } - - /** - * A specialized version of `_.reduce` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initFromArray] Specify using the first element of `array` - * as the initial value. - * @returns {*} Returns the accumulated value. - */ - function arrayReduce( - array, - iteratee, - accumulator, - initFromArray - ) { - var index = -1, - length = array.length; - - if (initFromArray && length) { - accumulator = array[++index]; - } - while (++index < length) { - accumulator = iteratee( - accumulator, - array[index], - index, - array - ); - } - return accumulator; - } - - /** - * A specialized version of `_.reduceRight` for arrays without support for - * callback shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initFromArray] Specify using the last element of `array` - * as the initial value. - * @returns {*} Returns the accumulated value. - */ - function arrayReduceRight( - array, - iteratee, - accumulator, - initFromArray - ) { - var length = array.length; - if (initFromArray && length) { - accumulator = array[--length]; - } - while (length--) { - accumulator = iteratee( - accumulator, - array[length], - length, - array - ); - } - return accumulator; - } - - /** - * A specialized version of `_.some` for arrays without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ - function arraySome(array, predicate) { - var index = -1, - length = array.length; - - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - return false; - } - - /** - * A specialized version of `_.sum` for arrays without support for callback - * shorthands and `this` binding.. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the sum. - */ - function arraySum(array, iteratee) { - var length = array.length, - result = 0; - - while (length--) { - result += +iteratee(array[length]) || 0; - } - return result; - } - - /** - * Used by `_.defaults` to customize its `_.assign` use. - * - * @private - * @param {*} objectValue The destination object property value. - * @param {*} sourceValue The source object property value. - * @returns {*} Returns the value to assign to the destination object. - */ - function assignDefaults(objectValue, sourceValue) { - return objectValue === undefined ? sourceValue : objectValue; - } - - /** - * Used by `_.template` to customize its `_.assign` use. - * - * **Note:** This function is like `assignDefaults` except that it ignores - * inherited property values when checking if a property is `undefined`. - * - * @private - * @param {*} objectValue The destination object property value. - * @param {*} sourceValue The source object property value. - * @param {string} key The key associated with the object and source values. - * @param {Object} object The destination object. - * @returns {*} Returns the value to assign to the destination object. - */ - function assignOwnDefaults( - objectValue, - sourceValue, - key, - object - ) { - return objectValue === undefined || - !hasOwnProperty.call(object, key) - ? sourceValue - : objectValue; - } - - /** - * A specialized version of `_.assign` for customizing assigned values without - * support for argument juggling, multiple sources, and `this` binding `customizer` - * functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {Function} customizer The function to customize assigned values. - * @returns {Object} Returns `object`. - */ - function assignWith(object, source, customizer) { - var index = -1, - props = keys(source), - length = props.length; - - while (++index < length) { - var key = props[index], - value = object[key], - result = customizer( - value, - source[key], - key, - object, - source - ); - - if ( - (result === result ? result !== value : value === value) || - (value === undefined && !(key in object)) - ) { - object[key] = result; - } - } - return object; - } - - /** - * The base implementation of `_.assign` without support for argument juggling, - * multiple sources, and `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ - function baseAssign(object, source) { - return source == null - ? object - : baseCopy(source, keys(source), object); - } - - /** - * The base implementation of `_.at` without support for string collections - * and individual key arguments. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {number[]|string[]} props The property names or indexes of elements to pick. - * @returns {Array} Returns the new array of picked elements. - */ - function baseAt(collection, props) { - var index = -1, - isNil = collection == null, - isArr = !isNil && isArrayLike(collection), - length = isArr ? collection.length : 0, - propsLength = props.length, - result = Array(propsLength); - - while (++index < propsLength) { - var key = props[index]; - if (isArr) { - result[index] = isIndex(key, length) - ? collection[key] - : undefined; - } else { - result[index] = isNil ? undefined : collection[key]; - } - } - return result; - } - - /** - * Copies properties of `source` to `object`. - * - * @private - * @param {Object} source The object to copy properties from. - * @param {Array} props The property names to copy. - * @param {Object} [object={}] The object to copy properties to. - * @returns {Object} Returns `object`. - */ - function baseCopy(source, props, object) { - object || (object = {}); - - var index = -1, - length = props.length; - - while (++index < length) { - var key = props[index]; - object[key] = source[key]; - } - return object; - } - - /** - * The base implementation of `_.callback` which supports specifying the - * number of arguments to provide to `func`. - * - * @private - * @param {*} [func=_.identity] The value to convert to a callback. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {number} [argCount] The number of arguments to provide to `func`. - * @returns {Function} Returns the callback. - */ - function baseCallback(func, thisArg, argCount) { - var type = typeof func; - if (type == 'function') { - return thisArg === undefined - ? func - : bindCallback(func, thisArg, argCount); - } - if (func == null) { - return identity; - } - if (type == 'object') { - return baseMatches(func); - } - return thisArg === undefined - ? property(func) - : baseMatchesProperty(func, thisArg); - } - - /** - * The base implementation of `_.clone` without support for argument juggling - * and `this` binding `customizer` functions. - * - * @private - * @param {*} value The value to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @param {Function} [customizer] The function to customize cloning values. - * @param {string} [key] The key of `value`. - * @param {Object} [object] The object `value` belongs to. - * @param {Array} [stackA=[]] Tracks traversed source objects. - * @param {Array} [stackB=[]] Associates clones with source counterparts. - * @returns {*} Returns the cloned value. - */ - function baseClone( - value, - isDeep, - customizer, - key, - object, - stackA, - stackB - ) { - var result; - if (customizer) { - result = object - ? customizer(value, key, object) - : customizer(value); - } - if (result !== undefined) { - return result; - } - if (!isObject(value)) { - return value; - } - var isArr = isArray(value); - if (isArr) { - result = initCloneArray(value); - if (!isDeep) { - return arrayCopy(value, result); - } - } else { - var tag = objToString.call(value), - isFunc = tag == funcTag; - - if ( - tag == objectTag || - tag == argsTag || - (isFunc && !object) - ) { - result = initCloneObject(isFunc ? {} : value); - if (!isDeep) { - return baseAssign(result, value); - } - } else { - return cloneableTags[tag] - ? initCloneByTag(value, tag, isDeep) - : object ? value : {}; - } - } - // Check for circular references and return its corresponding clone. - stackA || (stackA = []); - stackB || (stackB = []); - - var length = stackA.length; - while (length--) { - if (stackA[length] == value) { - return stackB[length]; - } - } - // Add the source value to the stack of traversed objects and associate it with its clone. - stackA.push(value); - stackB.push(result); - - // Recursively populate clone (susceptible to call stack limits). - (isArr ? arrayEach : baseForOwn)(value, function( - subValue, - key - ) { - result[key] = baseClone( - subValue, - isDeep, - customizer, - key, - value, - stackA, - stackB - ); - }); - return result; - } - - /** - * The base implementation of `_.create` without support for assigning - * properties to the created object. - * - * @private - * @param {Object} prototype The object to inherit from. - * @returns {Object} Returns the new object. - */ - var baseCreate = (function() { - function object() {} - return function(prototype) { - if (isObject(prototype)) { - object.prototype = prototype; - var result = new object(); - object.prototype = undefined; - } - return result || {}; - }; - })(); - - /** - * The base implementation of `_.delay` and `_.defer` which accepts an index - * of where to slice the arguments to provide to `func`. - * - * @private - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {Object} args The arguments provide to `func`. - * @returns {number} Returns the timer id. - */ - function baseDelay(func, wait, args) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return setTimeout(function() { - func.apply(undefined, args); - }, wait); - } - - /** - * The base implementation of `_.difference` which accepts a single array - * of values to exclude. - * - * @private - * @param {Array} array The array to inspect. - * @param {Array} values The values to exclude. - * @returns {Array} Returns the new array of filtered values. - */ - function baseDifference(array, values) { - var length = array ? array.length : 0, - result = []; - - if (!length) { - return result; - } - var index = -1, - indexOf = getIndexOf(), - isCommon = indexOf == baseIndexOf, - cache = - isCommon && values.length >= LARGE_ARRAY_SIZE - ? createCache(values) - : null, - valuesLength = values.length; - - if (cache) { - indexOf = cacheIndexOf; - isCommon = false; - values = cache; - } - outer: while (++index < length) { - var value = array[index]; - - if (isCommon && value === value) { - var valuesIndex = valuesLength; - while (valuesIndex--) { - if (values[valuesIndex] === value) { - continue outer; - } - } - result.push(value); - } else if (indexOf(values, value, 0) < 0) { - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.forEach` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object|string} Returns `collection`. - */ - var baseEach = createBaseEach(baseForOwn); - - /** - * The base implementation of `_.forEachRight` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object|string} Returns `collection`. - */ - var baseEachRight = createBaseEach(baseForOwnRight, true); - - /** - * The base implementation of `_.every` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false` - */ - function baseEvery(collection, predicate) { - var result = true; - baseEach(collection, function(value, index, collection) { - result = !!predicate(value, index, collection); - return result; - }); - return result; - } - - /** - * Gets the extremum value of `collection` invoking `iteratee` for each value - * in `collection` to generate the criterion by which the value is ranked. - * The `iteratee` is invoked with three arguments: (value, index|key, collection). - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} comparator The function used to compare values. - * @param {*} exValue The initial extremum value. - * @returns {*} Returns the extremum value. - */ - function baseExtremum(collection, iteratee, comparator, exValue) { - var computed = exValue, - result = computed; - - baseEach(collection, function(value, index, collection) { - var current = +iteratee(value, index, collection); - if ( - comparator(current, computed) || - (current === exValue && current === result) - ) { - computed = current; - result = value; - } - }); - return result; - } - - /** - * The base implementation of `_.fill` without an iteratee call guard. - * - * @private - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - */ - function baseFill(array, value, start, end) { - var length = array.length; - - start = start == null ? 0 : +start || 0; - if (start < 0) { - start = -start > length ? 0 : length + start; - } - end = end === undefined || end > length ? length : +end || 0; - if (end < 0) { - end += length; - } - length = start > end ? 0 : end >>> 0; - start >>>= 0; - - while (start < length) { - array[start++] = value; - } - return array; - } - - /** - * The base implementation of `_.filter` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ - function baseFilter(collection, predicate) { - var result = []; - baseEach(collection, function(value, index, collection) { - if (predicate(value, index, collection)) { - result.push(value); - } - }); - return result; - } - - /** - * The base implementation of `_.find`, `_.findLast`, `_.findKey`, and `_.findLastKey`, - * without support for callback shorthands and `this` binding, which iterates - * over `collection` using the provided `eachFunc`. - * - * @private - * @param {Array|Object|string} collection The collection to search. - * @param {Function} predicate The function invoked per iteration. - * @param {Function} eachFunc The function to iterate over `collection`. - * @param {boolean} [retKey] Specify returning the key of the found element - * instead of the element itself. - * @returns {*} Returns the found element or its key, else `undefined`. - */ - function baseFind(collection, predicate, eachFunc, retKey) { - var result; - eachFunc(collection, function(value, key, collection) { - if (predicate(value, key, collection)) { - result = retKey ? key : value; - return false; - } - }); - return result; - } - - /** - * The base implementation of `_.flatten` with added support for restricting - * flattening and specifying the start index. - * - * @private - * @param {Array} array The array to flatten. - * @param {boolean} [isDeep] Specify a deep flatten. - * @param {boolean} [isStrict] Restrict flattening to arrays-like objects. - * @param {Array} [result=[]] The initial result value. - * @returns {Array} Returns the new flattened array. - */ - function baseFlatten(array, isDeep, isStrict, result) { - result || (result = []); - - var index = -1, - length = array.length; - - while (++index < length) { - var value = array[index]; - if ( - isObjectLike(value) && - isArrayLike(value) && - (isStrict || isArray(value) || isArguments(value)) - ) { - if (isDeep) { - // Recursively flatten arrays (susceptible to call stack limits). - baseFlatten(value, isDeep, isStrict, result); - } else { - arrayPush(result, value); - } - } else if (!isStrict) { - result[result.length] = value; - } - } - return result; - } - - /** - * The base implementation of `baseForIn` and `baseForOwn` which iterates - * over `object` properties returned by `keysFunc` invoking `iteratee` for - * each property. Iteratee functions may exit iteration early by explicitly - * returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - var baseFor = createBaseFor(); - - /** - * This function is like `baseFor` except that it iterates over properties - * in the opposite order. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - var baseForRight = createBaseFor(true); - - /** - * The base implementation of `_.forIn` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForIn(object, iteratee) { - return baseFor(object, iteratee, keysIn); - } - - /** - * The base implementation of `_.forOwn` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForOwn(object, iteratee) { - return baseFor(object, iteratee, keys); - } - - /** - * The base implementation of `_.forOwnRight` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForOwnRight(object, iteratee) { - return baseForRight(object, iteratee, keys); - } - - /** - * The base implementation of `_.functions` which creates an array of - * `object` function property names filtered from those provided. - * - * @private - * @param {Object} object The object to inspect. - * @param {Array} props The property names to filter. - * @returns {Array} Returns the new array of filtered property names. - */ - function baseFunctions(object, props) { - var index = -1, - length = props.length, - resIndex = -1, - result = []; - - while (++index < length) { - var key = props[index]; - if (isFunction(object[key])) { - result[++resIndex] = key; - } - } - return result; - } - - /** - * The base implementation of `get` without support for string paths - * and default values. - * - * @private - * @param {Object} object The object to query. - * @param {Array} path The path of the property to get. - * @param {string} [pathKey] The key representation of path. - * @returns {*} Returns the resolved value. - */ - function baseGet(object, path, pathKey) { - if (object == null) { - return; - } - if (pathKey !== undefined && pathKey in toObject(object)) { - path = [pathKey]; - } - var index = 0, - length = path.length; - - while (object != null && index < length) { - object = object[path[index++]]; - } - return index && index == length ? object : undefined; - } - - /** - * The base implementation of `_.isEqual` without support for `this` binding - * `customizer` functions. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {Function} [customizer] The function to customize comparing values. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA] Tracks traversed `value` objects. - * @param {Array} [stackB] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - */ - function baseIsEqual( - value, - other, - customizer, - isLoose, - stackA, - stackB - ) { - if (value === other) { - return true; - } - if ( - value == null || - other == null || - (!isObject(value) && !isObjectLike(other)) - ) { - return value !== value && other !== other; - } - return baseIsEqualDeep( - value, - other, - baseIsEqual, - customizer, - isLoose, - stackA, - stackB - ); - } - - /** - * A specialized version of `baseIsEqual` for arrays and objects which performs - * deep comparisons and tracks traversed objects enabling objects with circular - * references to be compared. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Function} [customizer] The function to customize comparing objects. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA=[]] Tracks traversed `value` objects. - * @param {Array} [stackB=[]] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function baseIsEqualDeep( - object, - other, - equalFunc, - customizer, - isLoose, - stackA, - stackB - ) { - var objIsArr = isArray(object), - othIsArr = isArray(other), - objTag = arrayTag, - othTag = arrayTag; - - if (!objIsArr) { - objTag = objToString.call(object); - if (objTag == argsTag) { - objTag = objectTag; - } else if (objTag != objectTag) { - objIsArr = isTypedArray(object); - } - } - if (!othIsArr) { - othTag = objToString.call(other); - if (othTag == argsTag) { - othTag = objectTag; - } else if (othTag != objectTag) { - othIsArr = isTypedArray(other); - } - } - var objIsObj = objTag == objectTag, - othIsObj = othTag == objectTag, - isSameTag = objTag == othTag; - - if (isSameTag && !(objIsArr || objIsObj)) { - return equalByTag(object, other, objTag); - } - if (!isLoose) { - var objIsWrapped = - objIsObj && hasOwnProperty.call(object, '__wrapped__'), - othIsWrapped = - othIsObj && hasOwnProperty.call(other, '__wrapped__'); - - if (objIsWrapped || othIsWrapped) { - return equalFunc( - objIsWrapped ? object.value() : object, - othIsWrapped ? other.value() : other, - customizer, - isLoose, - stackA, - stackB - ); - } - } - if (!isSameTag) { - return false; - } - // Assume cyclic values are equal. - // For more information on detecting circular references see https://es5.github.io/#JO. - stackA || (stackA = []); - stackB || (stackB = []); - - var length = stackA.length; - while (length--) { - if (stackA[length] == object) { - return stackB[length] == other; - } - } - // Add `object` and `other` to the stack of traversed objects. - stackA.push(object); - stackB.push(other); - - var result = (objIsArr ? equalArrays : equalObjects)( - object, - other, - equalFunc, - customizer, - isLoose, - stackA, - stackB - ); - - stackA.pop(); - stackB.pop(); - - return result; - } - - /** - * The base implementation of `_.isMatch` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Object} object The object to inspect. - * @param {Array} matchData The propery names, values, and compare flags to match. - * @param {Function} [customizer] The function to customize comparing objects. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - */ - function baseIsMatch(object, matchData, customizer) { - var index = matchData.length, - length = index, - noCustomizer = !customizer; - - if (object == null) { - return !length; - } - object = toObject(object); - while (index--) { - var data = matchData[index]; - if ( - noCustomizer && data[2] - ? data[1] !== object[data[0]] - : !(data[0] in object) - ) { - return false; - } - } - while (++index < length) { - data = matchData[index]; - var key = data[0], - objValue = object[key], - srcValue = data[1]; - - if (noCustomizer && data[2]) { - if (objValue === undefined && !(key in object)) { - return false; - } - } else { - var result = customizer - ? customizer(objValue, srcValue, key) - : undefined; - if ( - !(result === undefined - ? baseIsEqual(srcValue, objValue, customizer, true) - : result) - ) { - return false; - } - } - } - return true; - } - - /** - * The base implementation of `_.map` without support for callback shorthands - * and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function baseMap(collection, iteratee) { - var index = -1, - result = isArrayLike(collection) - ? Array(collection.length) - : []; - - baseEach(collection, function(value, key, collection) { - result[++index] = iteratee(value, key, collection); - }); - return result; - } - - /** - * The base implementation of `_.matches` which does not clone `source`. - * - * @private - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new function. - */ - function baseMatches(source) { - var matchData = getMatchData(source); - if (matchData.length == 1 && matchData[0][2]) { - var key = matchData[0][0], - value = matchData[0][1]; - - return function(object) { - if (object == null) { - return false; - } - return ( - object[key] === value && - (value !== undefined || key in toObject(object)) - ); - }; - } - return function(object) { - return baseIsMatch(object, matchData); - }; - } - - /** - * The base implementation of `_.matchesProperty` which does not clone `srcValue`. - * - * @private - * @param {string} path The path of the property to get. - * @param {*} srcValue The value to compare. - * @returns {Function} Returns the new function. - */ - function baseMatchesProperty(path, srcValue) { - var isArr = isArray(path), - isCommon = isKey(path) && isStrictComparable(srcValue), - pathKey = path + ''; - - path = toPath(path); - return function(object) { - if (object == null) { - return false; - } - var key = pathKey; - object = toObject(object); - if ((isArr || !isCommon) && !(key in object)) { - object = - path.length == 1 - ? object - : baseGet(object, baseSlice(path, 0, -1)); - if (object == null) { - return false; - } - key = last(path); - object = toObject(object); - } - return object[key] === srcValue - ? srcValue !== undefined || key in object - : baseIsEqual(srcValue, object[key], undefined, true); - }; - } - - /** - * The base implementation of `_.merge` without support for argument juggling, - * multiple sources, and `this` binding `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {Function} [customizer] The function to customize merged values. - * @param {Array} [stackA=[]] Tracks traversed source objects. - * @param {Array} [stackB=[]] Associates values with source counterparts. - * @returns {Object} Returns `object`. - */ - function baseMerge(object, source, customizer, stackA, stackB) { - if (!isObject(object)) { - return object; - } - var isSrcArr = - isArrayLike(source) && - (isArray(source) || isTypedArray(source)), - props = isSrcArr ? undefined : keys(source); - - arrayEach(props || source, function(srcValue, key) { - if (props) { - key = srcValue; - srcValue = source[key]; - } - if (isObjectLike(srcValue)) { - stackA || (stackA = []); - stackB || (stackB = []); - baseMergeDeep( - object, - source, - key, - baseMerge, - customizer, - stackA, - stackB - ); - } else { - var value = object[key], - result = customizer - ? customizer(value, srcValue, key, object, source) - : undefined, - isCommon = result === undefined; - - if (isCommon) { - result = srcValue; - } - if ( - (result !== undefined || - (isSrcArr && !(key in object))) && - (isCommon || - (result === result - ? result !== value - : value === value)) - ) { - object[key] = result; - } - } - }); - return object; - } - - /** - * A specialized version of `baseMerge` for arrays and objects which performs - * deep merges and tracks traversed objects enabling objects with circular - * references to be merged. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {string} key The key of the value to merge. - * @param {Function} mergeFunc The function to merge values. - * @param {Function} [customizer] The function to customize merged values. - * @param {Array} [stackA=[]] Tracks traversed source objects. - * @param {Array} [stackB=[]] Associates values with source counterparts. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function baseMergeDeep( - object, - source, - key, - mergeFunc, - customizer, - stackA, - stackB - ) { - var length = stackA.length, - srcValue = source[key]; - - while (length--) { - if (stackA[length] == srcValue) { - object[key] = stackB[length]; - return; - } - } - var value = object[key], - result = customizer - ? customizer(value, srcValue, key, object, source) - : undefined, - isCommon = result === undefined; - - if (isCommon) { - result = srcValue; - if ( - isArrayLike(srcValue) && - (isArray(srcValue) || isTypedArray(srcValue)) - ) { - result = isArray(value) - ? value - : isArrayLike(value) ? arrayCopy(value) : []; - } else if (isPlainObject(srcValue) || isArguments(srcValue)) { - result = isArguments(value) - ? toPlainObject(value) - : isPlainObject(value) ? value : {}; - } else { - isCommon = false; - } - } - // Add the source value to the stack of traversed objects and associate - // it with its merged value. - stackA.push(srcValue); - stackB.push(result); - - if (isCommon) { - // Recursively merge objects and arrays (susceptible to call stack limits). - object[key] = mergeFunc( - result, - srcValue, - customizer, - stackA, - stackB - ); - } else if ( - result === result ? result !== value : value === value - ) { - object[key] = result; - } - } - - /** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new function. - */ - function baseProperty(key) { - return function(object) { - return object == null ? undefined : object[key]; - }; - } - - /** - * A specialized version of `baseProperty` which supports deep paths. - * - * @private - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new function. - */ - function basePropertyDeep(path) { - var pathKey = path + ''; - path = toPath(path); - return function(object) { - return baseGet(object, path, pathKey); - }; - } - - /** - * The base implementation of `_.pullAt` without support for individual - * index arguments and capturing the removed elements. - * - * @private - * @param {Array} array The array to modify. - * @param {number[]} indexes The indexes of elements to remove. - * @returns {Array} Returns `array`. - */ - function basePullAt(array, indexes) { - var length = array ? indexes.length : 0; - while (length--) { - var index = indexes[length]; - if (index != previous && isIndex(index)) { - var previous = index; - splice.call(array, index, 1); - } - } - return array; - } - - /** - * The base implementation of `_.random` without support for argument juggling - * and returning floating-point numbers. - * - * @private - * @param {number} min The minimum possible value. - * @param {number} max The maximum possible value. - * @returns {number} Returns the random number. - */ - function baseRandom(min, max) { - return min + nativeFloor(nativeRandom() * (max - min + 1)); - } - - /** - * The base implementation of `_.reduce` and `_.reduceRight` without support - * for callback shorthands and `this` binding, which iterates over `collection` - * using the provided `eachFunc`. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} accumulator The initial value. - * @param {boolean} initFromCollection Specify using the first or last element - * of `collection` as the initial value. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the accumulated value. - */ - function baseReduce( - collection, - iteratee, - accumulator, - initFromCollection, - eachFunc - ) { - eachFunc(collection, function(value, index, collection) { - accumulator = initFromCollection - ? ((initFromCollection = false), value) - : iteratee(accumulator, value, index, collection); - }); - return accumulator; - } - - /** - * The base implementation of `setData` without support for hot loop detection. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ - var baseSetData = !metaMap - ? identity - : function(func, data) { - metaMap.set(func, data); - return func; - }; - - /** - * The base implementation of `_.slice` without an iteratee call guard. - * - * @private - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function baseSlice(array, start, end) { - var index = -1, - length = array.length; - - start = start == null ? 0 : +start || 0; - if (start < 0) { - start = -start > length ? 0 : length + start; - } - end = end === undefined || end > length ? length : +end || 0; - if (end < 0) { - end += length; - } - length = start > end ? 0 : (end - start) >>> 0; - start >>>= 0; - - var result = Array(length); - while (++index < length) { - result[index] = array[index + start]; - } - return result; - } - - /** - * The base implementation of `_.some` without support for callback shorthands - * and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ - function baseSome(collection, predicate) { - var result; - - baseEach(collection, function(value, index, collection) { - result = predicate(value, index, collection); - return !result; - }); - return !!result; - } - - /** - * The base implementation of `_.sortBy` which uses `comparer` to define - * the sort order of `array` and replaces criteria objects with their - * corresponding values. - * - * @private - * @param {Array} array The array to sort. - * @param {Function} comparer The function to define sort order. - * @returns {Array} Returns `array`. - */ - function baseSortBy(array, comparer) { - var length = array.length; - - array.sort(comparer); - while (length--) { - array[length] = array[length].value; - } - return array; - } - - /** - * The base implementation of `_.sortByOrder` without param guards. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. - * @param {boolean[]} orders The sort orders of `iteratees`. - * @returns {Array} Returns the new sorted array. - */ - function baseSortByOrder(collection, iteratees, orders) { - var callback = getCallback(), - index = -1; - - iteratees = arrayMap(iteratees, function(iteratee) { - return callback(iteratee); - }); - - var result = baseMap(collection, function(value) { - var criteria = arrayMap(iteratees, function(iteratee) { - return iteratee(value); - }); - return { criteria: criteria, index: ++index, value: value }; - }); - - return baseSortBy(result, function(object, other) { - return compareMultiple(object, other, orders); - }); - } - - /** - * The base implementation of `_.sum` without support for callback shorthands - * and `this` binding. - * - * @private - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the sum. - */ - function baseSum(collection, iteratee) { - var result = 0; - baseEach(collection, function(value, index, collection) { - result += +iteratee(value, index, collection) || 0; - }); - return result; - } - - /** - * The base implementation of `_.uniq` without support for callback shorthands - * and `this` binding. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The function invoked per iteration. - * @returns {Array} Returns the new duplicate-value-free array. - */ - function baseUniq(array, iteratee) { - var index = -1, - indexOf = getIndexOf(), - length = array.length, - isCommon = indexOf == baseIndexOf, - isLarge = isCommon && length >= LARGE_ARRAY_SIZE, - seen = isLarge ? createCache() : null, - result = []; - - if (seen) { - indexOf = cacheIndexOf; - isCommon = false; - } else { - isLarge = false; - seen = iteratee ? [] : result; - } - outer: while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value, index, array) : value; - - if (isCommon && value === value) { - var seenIndex = seen.length; - while (seenIndex--) { - if (seen[seenIndex] === computed) { - continue outer; - } - } - if (iteratee) { - seen.push(computed); - } - result.push(value); - } else if (indexOf(seen, computed, 0) < 0) { - if (iteratee || isLarge) { - seen.push(computed); - } - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.values` and `_.valuesIn` which creates an - * array of `object` property values corresponding to the property names - * of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the array of property values. - */ - function baseValues(object, props) { - var index = -1, - length = props.length, - result = Array(length); - - while (++index < length) { - result[index] = object[props[index]]; - } - return result; - } - - /** - * The base implementation of `_.dropRightWhile`, `_.dropWhile`, `_.takeRightWhile`, - * and `_.takeWhile` without support for callback shorthands and `this` binding. - * - * @private - * @param {Array} array The array to query. - * @param {Function} predicate The function invoked per iteration. - * @param {boolean} [isDrop] Specify dropping elements instead of taking them. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the slice of `array`. - */ - function baseWhile(array, predicate, isDrop, fromRight) { - var length = array.length, - index = fromRight ? length : -1; - - while ( - (fromRight ? index-- : ++index < length) && - predicate(array[index], index, array) - ) {} - return isDrop - ? baseSlice( - array, - fromRight ? 0 : index, - fromRight ? index + 1 : length - ) - : baseSlice( - array, - fromRight ? index + 1 : 0, - fromRight ? length : index - ); - } - - /** - * The base implementation of `wrapperValue` which returns the result of - * performing a sequence of actions on the unwrapped `value`, where each - * successive action is supplied the return value of the previous. - * - * @private - * @param {*} value The unwrapped value. - * @param {Array} actions Actions to peform to resolve the unwrapped value. - * @returns {*} Returns the resolved value. - */ - function baseWrapperValue(value, actions) { - var result = value; - if (result instanceof LazyWrapper) { - result = result.value(); - } - var index = -1, - length = actions.length; - - while (++index < length) { - var action = actions[index]; - result = action.func.apply( - action.thisArg, - arrayPush([result], action.args) - ); - } - return result; - } - - /** - * Performs a binary search of `array` to determine the index at which `value` - * should be inserted into `array` in order to maintain its sort order. - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ - function binaryIndex(array, value, retHighest) { - var low = 0, - high = array ? array.length : low; - - if ( - typeof value == 'number' && - value === value && - high <= HALF_MAX_ARRAY_LENGTH - ) { - while (low < high) { - var mid = (low + high) >>> 1, - computed = array[mid]; - - if ( - (retHighest ? computed <= value : computed < value) && - computed !== null - ) { - low = mid + 1; - } else { - high = mid; - } - } - return high; - } - return binaryIndexBy(array, value, identity, retHighest); - } - - /** - * This function is like `binaryIndex` except that it invokes `iteratee` for - * `value` and each element of `array` to compute their sort ranking. The - * iteratee is invoked with one argument; (value). - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} iteratee The function invoked per iteration. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ - function binaryIndexBy(array, value, iteratee, retHighest) { - value = iteratee(value); - - var low = 0, - high = array ? array.length : 0, - valIsNaN = value !== value, - valIsNull = value === null, - valIsUndef = value === undefined; - - while (low < high) { - var mid = nativeFloor((low + high) / 2), - computed = iteratee(array[mid]), - isDef = computed !== undefined, - isReflexive = computed === computed; - - if (valIsNaN) { - var setLow = isReflexive || retHighest; - } else if (valIsNull) { - setLow = - isReflexive && isDef && (retHighest || computed != null); - } else if (valIsUndef) { - setLow = isReflexive && (retHighest || isDef); - } else if (computed == null) { - setLow = false; - } else { - setLow = retHighest ? computed <= value : computed < value; - } - if (setLow) { - low = mid + 1; - } else { - high = mid; - } - } - return nativeMin(high, MAX_ARRAY_INDEX); - } - - /** - * A specialized version of `baseCallback` which only supports `this` binding - * and specifying the number of arguments to provide to `func`. - * - * @private - * @param {Function} func The function to bind. - * @param {*} thisArg The `this` binding of `func`. - * @param {number} [argCount] The number of arguments to provide to `func`. - * @returns {Function} Returns the callback. - */ - function bindCallback(func, thisArg, argCount) { - if (typeof func != 'function') { - return identity; - } - if (thisArg === undefined) { - return func; - } - switch (argCount) { - case 1: - return function(value) { - return func.call(thisArg, value); - }; - case 3: - return function(value, index, collection) { - return func.call(thisArg, value, index, collection); - }; - case 4: - return function(accumulator, value, index, collection) { - return func.call( - thisArg, - accumulator, - value, - index, - collection - ); - }; - case 5: - return function(value, other, key, object, source) { - return func.call( - thisArg, - value, - other, - key, - object, - source - ); - }; - } - return function() { - return func.apply(thisArg, arguments); - }; - } - - /** - * Creates a clone of the given array buffer. - * - * @private - * @param {ArrayBuffer} buffer The array buffer to clone. - * @returns {ArrayBuffer} Returns the cloned array buffer. - */ - function bufferClone(buffer) { - var result = new ArrayBuffer(buffer.byteLength), - view = new Uint8Array(result); - - view.set(new Uint8Array(buffer)); - return result; - } - - /** - * Creates an array that is the composition of partially applied arguments, - * placeholders, and provided arguments into a single array of arguments. - * - * @private - * @param {Array|Object} args The provided arguments. - * @param {Array} partials The arguments to prepend to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @returns {Array} Returns the new array of composed arguments. - */ - function composeArgs(args, partials, holders) { - var holdersLength = holders.length, - argsIndex = -1, - argsLength = nativeMax(args.length - holdersLength, 0), - leftIndex = -1, - leftLength = partials.length, - result = Array(leftLength + argsLength); - - while (++leftIndex < leftLength) { - result[leftIndex] = partials[leftIndex]; - } - while (++argsIndex < holdersLength) { - result[holders[argsIndex]] = args[argsIndex]; - } - while (argsLength--) { - result[leftIndex++] = args[argsIndex++]; - } - return result; - } - - /** - * This function is like `composeArgs` except that the arguments composition - * is tailored for `_.partialRight`. - * - * @private - * @param {Array|Object} args The provided arguments. - * @param {Array} partials The arguments to append to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @returns {Array} Returns the new array of composed arguments. - */ - function composeArgsRight(args, partials, holders) { - var holdersIndex = -1, - holdersLength = holders.length, - argsIndex = -1, - argsLength = nativeMax(args.length - holdersLength, 0), - rightIndex = -1, - rightLength = partials.length, - result = Array(argsLength + rightLength); - - while (++argsIndex < argsLength) { - result[argsIndex] = args[argsIndex]; - } - var offset = argsIndex; - while (++rightIndex < rightLength) { - result[offset + rightIndex] = partials[rightIndex]; - } - while (++holdersIndex < holdersLength) { - result[offset + holders[holdersIndex]] = args[argsIndex++]; - } - return result; - } - - /** - * Creates a `_.countBy`, `_.groupBy`, `_.indexBy`, or `_.partition` function. - * - * @private - * @param {Function} setter The function to set keys and values of the accumulator object. - * @param {Function} [initializer] The function to initialize the accumulator object. - * @returns {Function} Returns the new aggregator function. - */ - function createAggregator(setter, initializer) { - return function(collection, iteratee, thisArg) { - var result = initializer ? initializer() : {}; - iteratee = getCallback(iteratee, thisArg, 3); - - if (isArray(collection)) { - var index = -1, - length = collection.length; - - while (++index < length) { - var value = collection[index]; - setter( - result, - value, - iteratee(value, index, collection), - collection - ); - } - } else { - baseEach(collection, function(value, key, collection) { - setter( - result, - value, - iteratee(value, key, collection), - collection - ); - }); - } - return result; - }; - } - - /** - * Creates a `_.assign`, `_.defaults`, or `_.merge` function. - * - * @private - * @param {Function} assigner The function to assign values. - * @returns {Function} Returns the new assigner function. - */ - function createAssigner(assigner) { - return restParam(function(object, sources) { - var index = -1, - length = object == null ? 0 : sources.length, - customizer = length > 2 ? sources[length - 2] : undefined, - guard = length > 2 ? sources[2] : undefined, - thisArg = length > 1 ? sources[length - 1] : undefined; - - if (typeof customizer == 'function') { - customizer = bindCallback(customizer, thisArg, 5); - length -= 2; - } else { - customizer = - typeof thisArg == 'function' ? thisArg : undefined; - length -= customizer ? 1 : 0; - } - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - customizer = length < 3 ? undefined : customizer; - length = 1; - } - while (++index < length) { - var source = sources[index]; - if (source) { - assigner(object, source, customizer); - } - } - return object; - }); - } - - /** - * Creates a `baseEach` or `baseEachRight` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseEach(eachFunc, fromRight) { - return function(collection, iteratee) { - var length = collection ? getLength(collection) : 0; - if (!isLength(length)) { - return eachFunc(collection, iteratee); - } - var index = fromRight ? length : -1, - iterable = toObject(collection); - - while (fromRight ? index-- : ++index < length) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - return collection; - }; - } - - /** - * Creates a base function for `_.forIn` or `_.forInRight`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseFor(fromRight) { - return function(object, iteratee, keysFunc) { - var iterable = toObject(object), - props = keysFunc(object), - length = props.length, - index = fromRight ? length : -1; - - while (fromRight ? index-- : ++index < length) { - var key = props[index]; - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; - } - - /** - * Creates a function that wraps `func` and invokes it with the `this` - * binding of `thisArg`. - * - * @private - * @param {Function} func The function to bind. - * @param {*} [thisArg] The `this` binding of `func`. - * @returns {Function} Returns the new bound function. - */ - function createBindWrapper(func, thisArg) { - var Ctor = createCtorWrapper(func); - - function wrapper() { - var fn = - this && this !== root && this instanceof wrapper - ? Ctor - : func; - return fn.apply(thisArg, arguments); - } - return wrapper; - } - - /** - * Creates a `Set` cache object to optimize linear searches of large arrays. - * - * @private - * @param {Array} [values] The values to cache. - * @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`. - */ - function createCache(values) { - return nativeCreate && Set ? new SetCache(values) : null; - } - - /** - * Creates a function that produces compound words out of the words in a - * given string. - * - * @private - * @param {Function} callback The function to combine each word. - * @returns {Function} Returns the new compounder function. - */ - function createCompounder(callback) { - return function(string) { - var index = -1, - array = words(deburr(string)), - length = array.length, - result = ''; - - while (++index < length) { - result = callback(result, array[index], index); - } - return result; - }; - } - - /** - * Creates a function that produces an instance of `Ctor` regardless of - * whether it was invoked as part of a `new` expression or by `call` or `apply`. - * - * @private - * @param {Function} Ctor The constructor to wrap. - * @returns {Function} Returns the new wrapped function. - */ - function createCtorWrapper(Ctor) { - return function() { - // Use a `switch` statement to work with class constructors. - // See http://ecma-international.org/ecma-262/6.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist - // for more details. - var args = arguments; - switch (args.length) { - case 0: - return new Ctor(); - case 1: - return new Ctor(args[0]); - case 2: - return new Ctor(args[0], args[1]); - case 3: - return new Ctor(args[0], args[1], args[2]); - case 4: - return new Ctor(args[0], args[1], args[2], args[3]); - case 5: - return new Ctor( - args[0], - args[1], - args[2], - args[3], - args[4] - ); - case 6: - return new Ctor( - args[0], - args[1], - args[2], - args[3], - args[4], - args[5] - ); - case 7: - return new Ctor( - args[0], - args[1], - args[2], - args[3], - args[4], - args[5], - args[6] - ); - } - var thisBinding = baseCreate(Ctor.prototype), - result = Ctor.apply(thisBinding, args); - - // Mimic the constructor's `return` behavior. - // See https://es5.github.io/#x13.2.2 for more details. - return isObject(result) ? result : thisBinding; - }; - } - - /** - * Creates a `_.curry` or `_.curryRight` function. - * - * @private - * @param {boolean} flag The curry bit flag. - * @returns {Function} Returns the new curry function. - */ - function createCurry(flag) { - function curryFunc(func, arity, guard) { - if (guard && isIterateeCall(func, arity, guard)) { - arity = undefined; - } - var result = createWrapper( - func, - flag, - undefined, - undefined, - undefined, - undefined, - undefined, - arity - ); - result.placeholder = curryFunc.placeholder; - return result; - } - return curryFunc; - } - - /** - * Creates a `_.defaults` or `_.defaultsDeep` function. - * - * @private - * @param {Function} assigner The function to assign values. - * @param {Function} customizer The function to customize assigned values. - * @returns {Function} Returns the new defaults function. - */ - function createDefaults(assigner, customizer) { - return restParam(function(args) { - var object = args[0]; - if (object == null) { - return object; - } - args.push(customizer); - return assigner.apply(undefined, args); - }); - } - - /** - * Creates a `_.max` or `_.min` function. - * - * @private - * @param {Function} comparator The function used to compare values. - * @param {*} exValue The initial extremum value. - * @returns {Function} Returns the new extremum function. - */ - function createExtremum(comparator, exValue) { - return function(collection, iteratee, thisArg) { - if ( - thisArg && - isIterateeCall(collection, iteratee, thisArg) - ) { - iteratee = undefined; - } - iteratee = getCallback(iteratee, thisArg, 3); - if (iteratee.length == 1) { - collection = isArray(collection) - ? collection - : toIterable(collection); - var result = arrayExtremum( - collection, - iteratee, - comparator, - exValue - ); - if (!(collection.length && result === exValue)) { - return result; - } - } - return baseExtremum( - collection, - iteratee, - comparator, - exValue - ); - }; - } - - /** - * Creates a `_.find` or `_.findLast` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new find function. - */ - function createFind(eachFunc, fromRight) { - return function(collection, predicate, thisArg) { - predicate = getCallback(predicate, thisArg, 3); - if (isArray(collection)) { - var index = baseFindIndex(collection, predicate, fromRight); - return index > -1 ? collection[index] : undefined; - } - return baseFind(collection, predicate, eachFunc); - }; - } - - /** - * Creates a `_.findIndex` or `_.findLastIndex` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new find function. - */ - function createFindIndex(fromRight) { - return function(array, predicate, thisArg) { - if (!(array && array.length)) { - return -1; - } - predicate = getCallback(predicate, thisArg, 3); - return baseFindIndex(array, predicate, fromRight); - }; - } - - /** - * Creates a `_.findKey` or `_.findLastKey` function. - * - * @private - * @param {Function} objectFunc The function to iterate over an object. - * @returns {Function} Returns the new find function. - */ - function createFindKey(objectFunc) { - return function(object, predicate, thisArg) { - predicate = getCallback(predicate, thisArg, 3); - return baseFind(object, predicate, objectFunc, true); - }; - } - - /** - * Creates a `_.flow` or `_.flowRight` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new flow function. - */ - function createFlow(fromRight) { - return function() { - var wrapper, - length = arguments.length, - index = fromRight ? length : -1, - leftIndex = 0, - funcs = Array(length); - - while (fromRight ? index-- : ++index < length) { - var func = (funcs[leftIndex++] = arguments[index]); - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if ( - !wrapper && - LodashWrapper.prototype.thru && - getFuncName(func) == 'wrapper' - ) { - wrapper = new LodashWrapper([], true); - } - } - index = wrapper ? -1 : length; - while (++index < length) { - func = funcs[index]; - - var funcName = getFuncName(func), - data = funcName == 'wrapper' ? getData(func) : undefined; - - if ( - data && - isLaziable(data[0]) && - data[1] == - (ARY_FLAG | CURRY_FLAG | PARTIAL_FLAG | REARG_FLAG) && - !data[4].length && - data[9] == 1 - ) { - wrapper = wrapper[getFuncName(data[0])].apply( - wrapper, - data[3] - ); - } else { - wrapper = - func.length == 1 && isLaziable(func) - ? wrapper[funcName]() - : wrapper.thru(func); - } - } - return function() { - var args = arguments, - value = args[0]; - - if ( - wrapper && - args.length == 1 && - isArray(value) && - value.length >= LARGE_ARRAY_SIZE - ) { - return wrapper.plant(value).value(); - } - var index = 0, - result = length ? funcs[index].apply(this, args) : value; - - while (++index < length) { - result = funcs[index].call(this, result); - } - return result; - }; - }; - } - - /** - * Creates a function for `_.forEach` or `_.forEachRight`. - * - * @private - * @param {Function} arrayFunc The function to iterate over an array. - * @param {Function} eachFunc The function to iterate over a collection. - * @returns {Function} Returns the new each function. - */ - function createForEach(arrayFunc, eachFunc) { - return function(collection, iteratee, thisArg) { - return typeof iteratee == 'function' && - thisArg === undefined && - isArray(collection) - ? arrayFunc(collection, iteratee) - : eachFunc(collection, bindCallback(iteratee, thisArg, 3)); - }; - } - - /** - * Creates a function for `_.forIn` or `_.forInRight`. - * - * @private - * @param {Function} objectFunc The function to iterate over an object. - * @returns {Function} Returns the new each function. - */ - function createForIn(objectFunc) { - return function(object, iteratee, thisArg) { - if (typeof iteratee != 'function' || thisArg !== undefined) { - iteratee = bindCallback(iteratee, thisArg, 3); - } - return objectFunc(object, iteratee, keysIn); - }; - } - - /** - * Creates a function for `_.forOwn` or `_.forOwnRight`. - * - * @private - * @param {Function} objectFunc The function to iterate over an object. - * @returns {Function} Returns the new each function. - */ - function createForOwn(objectFunc) { - return function(object, iteratee, thisArg) { - if (typeof iteratee != 'function' || thisArg !== undefined) { - iteratee = bindCallback(iteratee, thisArg, 3); - } - return objectFunc(object, iteratee); - }; - } - - /** - * Creates a function for `_.mapKeys` or `_.mapValues`. - * - * @private - * @param {boolean} [isMapKeys] Specify mapping keys instead of values. - * @returns {Function} Returns the new map function. - */ - function createObjectMapper(isMapKeys) { - return function(object, iteratee, thisArg) { - var result = {}; - iteratee = getCallback(iteratee, thisArg, 3); - - baseForOwn(object, function(value, key, object) { - var mapped = iteratee(value, key, object); - key = isMapKeys ? mapped : key; - value = isMapKeys ? value : mapped; - result[key] = value; - }); - return result; - }; - } - - /** - * Creates a function for `_.padLeft` or `_.padRight`. - * - * @private - * @param {boolean} [fromRight] Specify padding from the right. - * @returns {Function} Returns the new pad function. - */ - function createPadDir(fromRight) { - return function(string, length, chars) { - string = baseToString(string); - return ( - (fromRight ? string : '') + - createPadding(string, length, chars) + - (fromRight ? '' : string) - ); - }; - } - - /** - * Creates a `_.partial` or `_.partialRight` function. - * - * @private - * @param {boolean} flag The partial bit flag. - * @returns {Function} Returns the new partial function. - */ - function createPartial(flag) { - var partialFunc = restParam(function(func, partials) { - var holders = replaceHolders( - partials, - partialFunc.placeholder - ); - return createWrapper( - func, - flag, - undefined, - partials, - holders - ); - }); - return partialFunc; - } - - /** - * Creates a function for `_.reduce` or `_.reduceRight`. - * - * @private - * @param {Function} arrayFunc The function to iterate over an array. - * @param {Function} eachFunc The function to iterate over a collection. - * @returns {Function} Returns the new each function. - */ - function createReduce(arrayFunc, eachFunc) { - return function(collection, iteratee, accumulator, thisArg) { - var initFromArray = arguments.length < 3; - return typeof iteratee == 'function' && - thisArg === undefined && - isArray(collection) - ? arrayFunc( - collection, - iteratee, - accumulator, - initFromArray - ) - : baseReduce( - collection, - getCallback(iteratee, thisArg, 4), - accumulator, - initFromArray, - eachFunc - ); - }; - } - - /** - * Creates a function that wraps `func` and invokes it with optional `this` - * binding of, partial application, and currying. - * - * @private - * @param {Function|string} func The function or method name to reference. - * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to prepend to those provided to the new function. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [partialsRight] The arguments to append to those provided to the new function. - * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createHybridWrapper( - func, - bitmask, - thisArg, - partials, - holders, - partialsRight, - holdersRight, - argPos, - ary, - arity - ) { - var isAry = bitmask & ARY_FLAG, - isBind = bitmask & BIND_FLAG, - isBindKey = bitmask & BIND_KEY_FLAG, - isCurry = bitmask & CURRY_FLAG, - isCurryBound = bitmask & CURRY_BOUND_FLAG, - isCurryRight = bitmask & CURRY_RIGHT_FLAG, - Ctor = isBindKey ? undefined : createCtorWrapper(func); - - function wrapper() { - // Avoid `arguments` object use disqualifying optimizations by - // converting it to an array before providing it to other functions. - var length = arguments.length, - index = length, - args = Array(length); - - while (index--) { - args[index] = arguments[index]; - } - if (partials) { - args = composeArgs(args, partials, holders); - } - if (partialsRight) { - args = composeArgsRight(args, partialsRight, holdersRight); - } - if (isCurry || isCurryRight) { - var placeholder = wrapper.placeholder, - argsHolders = replaceHolders(args, placeholder); - - length -= argsHolders.length; - if (length < arity) { - var newArgPos = argPos ? arrayCopy(argPos) : undefined, - newArity = nativeMax(arity - length, 0), - newsHolders = isCurry ? argsHolders : undefined, - newHoldersRight = isCurry ? undefined : argsHolders, - newPartials = isCurry ? args : undefined, - newPartialsRight = isCurry ? undefined : args; - - bitmask |= isCurry ? PARTIAL_FLAG : PARTIAL_RIGHT_FLAG; - bitmask &= ~(isCurry ? PARTIAL_RIGHT_FLAG : PARTIAL_FLAG); - - if (!isCurryBound) { - bitmask &= ~(BIND_FLAG | BIND_KEY_FLAG); - } - var newData = [ - func, - bitmask, - thisArg, - newPartials, - newsHolders, - newPartialsRight, - newHoldersRight, - newArgPos, - ary, - newArity - ], - result = createHybridWrapper.apply(undefined, newData); - - if (isLaziable(func)) { - setData(result, newData); - } - result.placeholder = placeholder; - return result; - } - } - var thisBinding = isBind ? thisArg : this, - fn = isBindKey ? thisBinding[func] : func; - - if (argPos) { - args = reorder(args, argPos); - } - if (isAry && ary < args.length) { - args.length = ary; - } - if (this && this !== root && this instanceof wrapper) { - fn = Ctor || createCtorWrapper(func); - } - return fn.apply(thisBinding, args); - } - return wrapper; - } - - /** - * Creates the padding required for `string` based on the given `length`. - * The `chars` string is truncated if the number of characters exceeds `length`. - * - * @private - * @param {string} string The string to create padding for. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the pad for `string`. - */ - function createPadding(string, length, chars) { - var strLength = string.length; - length = +length; - - if (strLength >= length || !nativeIsFinite(length)) { - return ''; - } - var padLength = length - strLength; - chars = chars == null ? ' ' : chars + ''; - return repeat( - chars, - nativeCeil(padLength / chars.length) - ).slice(0, padLength); - } - - /** - * Creates a function that wraps `func` and invokes it with the optional `this` - * binding of `thisArg` and the `partials` prepended to those provided to - * the wrapper. - * - * @private - * @param {Function} func The function to partially apply arguments to. - * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} partials The arguments to prepend to those provided to the new function. - * @returns {Function} Returns the new bound function. - */ - function createPartialWrapper(func, bitmask, thisArg, partials) { - var isBind = bitmask & BIND_FLAG, - Ctor = createCtorWrapper(func); - - function wrapper() { - // Avoid `arguments` object use disqualifying optimizations by - // converting it to an array before providing it `func`. - var argsIndex = -1, - argsLength = arguments.length, - leftIndex = -1, - leftLength = partials.length, - args = Array(leftLength + argsLength); - - while (++leftIndex < leftLength) { - args[leftIndex] = partials[leftIndex]; - } - while (argsLength--) { - args[leftIndex++] = arguments[++argsIndex]; - } - var fn = - this && this !== root && this instanceof wrapper - ? Ctor - : func; - return fn.apply(isBind ? thisArg : this, args); - } - return wrapper; - } - - /** - * Creates a `_.ceil`, `_.floor`, or `_.round` function. - * - * @private - * @param {string} methodName The name of the `Math` method to use when rounding. - * @returns {Function} Returns the new round function. - */ - function createRound(methodName) { - var func = Math[methodName]; - return function(number, precision) { - precision = precision === undefined ? 0 : +precision || 0; - if (precision) { - precision = pow(10, precision); - return func(number * precision) / precision; - } - return func(number); - }; - } - - /** - * Creates a `_.sortedIndex` or `_.sortedLastIndex` function. - * - * @private - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {Function} Returns the new index function. - */ - function createSortedIndex(retHighest) { - return function(array, value, iteratee, thisArg) { - var callback = getCallback(iteratee); - return iteratee == null && callback === baseCallback - ? binaryIndex(array, value, retHighest) - : binaryIndexBy( - array, - value, - callback(iteratee, thisArg, 1), - retHighest - ); - }; - } - - /** - * Creates a function that either curries or invokes `func` with optional - * `this` binding and partially applied arguments. - * - * @private - * @param {Function|string} func The function or method name to reference. - * @param {number} bitmask The bitmask of flags. - * The bitmask may be composed of the following flags: - * 1 - `_.bind` - * 2 - `_.bindKey` - * 4 - `_.curry` or `_.curryRight` of a bound function - * 8 - `_.curry` - * 16 - `_.curryRight` - * 32 - `_.partial` - * 64 - `_.partialRight` - * 128 - `_.rearg` - * 256 - `_.ary` - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to be partially applied. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createWrapper( - func, - bitmask, - thisArg, - partials, - holders, - argPos, - ary, - arity - ) { - var isBindKey = bitmask & BIND_KEY_FLAG; - if (!isBindKey && typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - var length = partials ? partials.length : 0; - if (!length) { - bitmask &= ~(PARTIAL_FLAG | PARTIAL_RIGHT_FLAG); - partials = holders = undefined; - } - length -= holders ? holders.length : 0; - if (bitmask & PARTIAL_RIGHT_FLAG) { - var partialsRight = partials, - holdersRight = holders; - - partials = holders = undefined; - } - var data = isBindKey ? undefined : getData(func), - newData = [ - func, - bitmask, - thisArg, - partials, - holders, - partialsRight, - holdersRight, - argPos, - ary, - arity - ]; - - if (data) { - mergeData(newData, data); - bitmask = newData[1]; - arity = newData[9]; - } - newData[9] = - arity == null - ? isBindKey ? 0 : func.length - : nativeMax(arity - length, 0) || 0; - - if (bitmask == BIND_FLAG) { - var result = createBindWrapper(newData[0], newData[2]); - } else if ( - (bitmask == PARTIAL_FLAG || - bitmask == (BIND_FLAG | PARTIAL_FLAG)) && - !newData[4].length - ) { - result = createPartialWrapper.apply(undefined, newData); - } else { - result = createHybridWrapper.apply(undefined, newData); - } - var setter = data ? baseSetData : setData; - return setter(result, newData); - } - - /** - * A specialized version of `baseIsEqualDeep` for arrays with support for - * partial deep comparisons. - * - * @private - * @param {Array} array The array to compare. - * @param {Array} other The other array to compare. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Function} [customizer] The function to customize comparing arrays. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA] Tracks traversed `value` objects. - * @param {Array} [stackB] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. - */ - function equalArrays( - array, - other, - equalFunc, - customizer, - isLoose, - stackA, - stackB - ) { - var index = -1, - arrLength = array.length, - othLength = other.length; - - if ( - arrLength != othLength && - !(isLoose && othLength > arrLength) - ) { - return false; - } - // Ignore non-index properties. - while (++index < arrLength) { - var arrValue = array[index], - othValue = other[index], - result = customizer - ? customizer( - isLoose ? othValue : arrValue, - isLoose ? arrValue : othValue, - index - ) - : undefined; - - if (result !== undefined) { - if (result) { - continue; - } - return false; - } - // Recursively compare arrays (susceptible to call stack limits). - if (isLoose) { - if ( - !arraySome(other, function(othValue) { - return ( - arrValue === othValue || - equalFunc( - arrValue, - othValue, - customizer, - isLoose, - stackA, - stackB - ) - ); - }) - ) { - return false; - } - } else if ( - !( - arrValue === othValue || - equalFunc( - arrValue, - othValue, - customizer, - isLoose, - stackA, - stackB - ) - ) - ) { - return false; - } - } - return true; - } - - /** - * A specialized version of `baseIsEqualDeep` for comparing objects of - * the same `toStringTag`. - * - * **Note:** This function only supports comparing values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {string} tag The `toStringTag` of the objects to compare. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalByTag(object, other, tag) { - switch (tag) { - case boolTag: - case dateTag: - // Coerce dates and booleans to numbers, dates to milliseconds and booleans - // to `1` or `0` treating invalid dates coerced to `NaN` as not equal. - return +object == +other; - - case errorTag: - return ( - object.name == other.name && - object.message == other.message - ); - - case numberTag: - // Treat `NaN` vs. `NaN` as equal. - return object != +object - ? other != +other - : object == +other; - - case regexpTag: - case stringTag: - // Coerce regexes to strings and treat strings primitives and string - // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details. - return object == other + ''; - } - return false; - } - - /** - * A specialized version of `baseIsEqualDeep` for objects with support for - * partial deep comparisons. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Function} [customizer] The function to customize comparing values. - * @param {boolean} [isLoose] Specify performing partial comparisons. - * @param {Array} [stackA] Tracks traversed `value` objects. - * @param {Array} [stackB] Tracks traversed `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalObjects( - object, - other, - equalFunc, - customizer, - isLoose, - stackA, - stackB - ) { - var objProps = keys(object), - objLength = objProps.length, - othProps = keys(other), - othLength = othProps.length; - - if (objLength != othLength && !isLoose) { - return false; - } - var index = objLength; - while (index--) { - var key = objProps[index]; - if ( - !(isLoose ? key in other : hasOwnProperty.call(other, key)) - ) { - return false; - } - } - var skipCtor = isLoose; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], - othValue = other[key], - result = customizer - ? customizer( - isLoose ? othValue : objValue, - isLoose ? objValue : othValue, - key - ) - : undefined; - - // Recursively compare objects (susceptible to call stack limits). - if ( - !(result === undefined - ? equalFunc( - objValue, - othValue, - customizer, - isLoose, - stackA, - stackB - ) - : result) - ) { - return false; - } - skipCtor || (skipCtor = key == 'constructor'); - } - if (!skipCtor) { - var objCtor = object.constructor, - othCtor = other.constructor; - - // Non `Object` object instances with different constructors are not equal. - if ( - objCtor != othCtor && - ('constructor' in object && 'constructor' in other) && - !( - typeof objCtor == 'function' && - objCtor instanceof objCtor && - typeof othCtor == 'function' && - othCtor instanceof othCtor - ) - ) { - return false; - } - } - return true; - } - - /** - * Gets the appropriate "callback" function. If the `_.callback` method is - * customized this function returns the custom method, otherwise it returns - * the `baseCallback` function. If arguments are provided the chosen function - * is invoked with them and its result is returned. - * - * @private - * @returns {Function} Returns the chosen function or its result. - */ - function getCallback(func, thisArg, argCount) { - var result = lodash.callback || callback; - result = result === callback ? baseCallback : result; - return argCount ? result(func, thisArg, argCount) : result; - } - - /** - * Gets metadata for `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {*} Returns the metadata for `func`. - */ - var getData = !metaMap - ? noop - : function(func) { - return metaMap.get(func); - }; - - /** - * Gets the name of `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {string} Returns the function name. - */ - function getFuncName(func) { - var result = func.name, - array = realNames[result], - length = array ? array.length : 0; - - while (length--) { - var data = array[length], - otherFunc = data.func; - if (otherFunc == null || otherFunc == func) { - return data.name; - } - } - return result; - } - - /** - * Gets the appropriate "indexOf" function. If the `_.indexOf` method is - * customized this function returns the custom method, otherwise it returns - * the `baseIndexOf` function. If arguments are provided the chosen function - * is invoked with them and its result is returned. - * - * @private - * @returns {Function|number} Returns the chosen function or its result. - */ - function getIndexOf(collection, target, fromIndex) { - var result = lodash.indexOf || indexOf; - result = result === indexOf ? baseIndexOf : result; - return collection - ? result(collection, target, fromIndex) - : result; - } - - /** - * Gets the "length" property value of `object`. - * - * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) - * that affects Safari on at least iOS 8.1-8.3 ARM64. - * - * @private - * @param {Object} object The object to query. - * @returns {*} Returns the "length" value. - */ - var getLength = baseProperty('length'); - - /** - * Gets the propery names, values, and compare flags of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the match data of `object`. - */ - function getMatchData(object) { - var result = pairs(object), - length = result.length; - - while (length--) { - result[length][2] = isStrictComparable(result[length][1]); - } - return result; - } - - /** - * Gets the native function at `key` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the method to get. - * @returns {*} Returns the function if it's native, else `undefined`. - */ - function getNative(object, key) { - var value = object == null ? undefined : object[key]; - return isNative(value) ? value : undefined; - } - - /** - * Gets the view, applying any `transforms` to the `start` and `end` positions. - * - * @private - * @param {number} start The start of the view. - * @param {number} end The end of the view. - * @param {Array} transforms The transformations to apply to the view. - * @returns {Object} Returns an object containing the `start` and `end` - * positions of the view. - */ - function getView(start, end, transforms) { - var index = -1, - length = transforms.length; - - while (++index < length) { - var data = transforms[index], - size = data.size; - - switch (data.type) { - case 'drop': - start += size; - break; - case 'dropRight': - end -= size; - break; - case 'take': - end = nativeMin(end, start + size); - break; - case 'takeRight': - start = nativeMax(start, end - size); - break; - } - } - return { start: start, end: end }; - } - - /** - * Initializes an array clone. - * - * @private - * @param {Array} array The array to clone. - * @returns {Array} Returns the initialized clone. - */ - function initCloneArray(array) { - var length = array.length, - result = new array.constructor(length); - - // Add array properties assigned by `RegExp#exec`. - if ( - length && - typeof array[0] == 'string' && - hasOwnProperty.call(array, 'index') - ) { - result.index = array.index; - result.input = array.input; - } - return result; - } - - /** - * Initializes an object clone. - * - * @private - * @param {Object} object The object to clone. - * @returns {Object} Returns the initialized clone. - */ - function initCloneObject(object) { - var Ctor = object.constructor; - if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) { - Ctor = Object; - } - return new Ctor(); - } - - /** - * Initializes an object clone based on its `toStringTag`. - * - * **Note:** This function only supports cloning values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to clone. - * @param {string} tag The `toStringTag` of the object to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the initialized clone. - */ - function initCloneByTag(object, tag, isDeep) { - var Ctor = object.constructor; - switch (tag) { - case arrayBufferTag: - return bufferClone(object); - - case boolTag: - case dateTag: - return new Ctor(+object); - - case float32Tag: - case float64Tag: - case int8Tag: - case int16Tag: - case int32Tag: - case uint8Tag: - case uint8ClampedTag: - case uint16Tag: - case uint32Tag: - var buffer = object.buffer; - return new Ctor( - isDeep ? bufferClone(buffer) : buffer, - object.byteOffset, - object.length - ); - - case numberTag: - case stringTag: - return new Ctor(object); - - case regexpTag: - var result = new Ctor(object.source, reFlags.exec(object)); - result.lastIndex = object.lastIndex; - } - return result; - } - - /** - * Invokes the method at `path` on `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the method to invoke. - * @param {Array} args The arguments to invoke the method with. - * @returns {*} Returns the result of the invoked method. - */ - function invokePath(object, path, args) { - if (object != null && !isKey(path, object)) { - path = toPath(path); - object = - path.length == 1 - ? object - : baseGet(object, baseSlice(path, 0, -1)); - path = last(path); - } - var func = object == null ? object : object[path]; - return func == null ? undefined : func.apply(object, args); - } - - /** - * Checks if `value` is array-like. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - */ - function isArrayLike(value) { - return value != null && isLength(getLength(value)); - } - - /** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ - function isIndex(value, length) { - value = - typeof value == 'number' || reIsUint.test(value) - ? +value - : -1; - length = length == null ? MAX_SAFE_INTEGER : length; - return value > -1 && value % 1 == 0 && value < length; - } - - /** - * Checks if the provided arguments are from an iteratee call. - * - * @private - * @param {*} value The potential iteratee value argument. - * @param {*} index The potential iteratee index or key argument. - * @param {*} object The potential iteratee object argument. - * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`. - */ - function isIterateeCall(value, index, object) { - if (!isObject(object)) { - return false; - } - var type = typeof index; - if ( - type == 'number' - ? isArrayLike(object) && isIndex(index, object.length) - : type == 'string' && index in object - ) { - var other = object[index]; - return value === value ? value === other : other !== other; - } - return false; - } - - /** - * Checks if `value` is a property name and not a property path. - * - * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. - */ - function isKey(value, object) { - var type = typeof value; - if ( - (type == 'string' && reIsPlainProp.test(value)) || - type == 'number' - ) { - return true; - } - if (isArray(value)) { - return false; - } - var result = !reIsDeepProp.test(value); - return result || (object != null && value in toObject(object)); - } - - /** - * Checks if `func` has a lazy counterpart. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` has a lazy counterpart, else `false`. - */ - function isLaziable(func) { - var funcName = getFuncName(func); - if (!(funcName in LazyWrapper.prototype)) { - return false; - } - var other = lodash[funcName]; - if (func === other) { - return true; - } - var data = getData(other); - return !!data && func === data[0]; - } - - /** - * Checks if `value` is a valid array-like length. - * - * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - */ - function isLength(value) { - return ( - typeof value == 'number' && - value > -1 && - value % 1 == 0 && - value <= MAX_SAFE_INTEGER - ); - } - - /** - * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` if suitable for strict - * equality comparisons, else `false`. - */ - function isStrictComparable(value) { - return value === value && !isObject(value); - } - - /** - * Merges the function metadata of `source` into `data`. - * - * Merging metadata reduces the number of wrappers required to invoke a function. - * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` - * may be applied regardless of execution order. Methods like `_.ary` and `_.rearg` - * augment function arguments, making the order in which they are executed important, - * preventing the merging of metadata. However, we make an exception for a safe - * common case where curried functions have `_.ary` and or `_.rearg` applied. - * - * @private - * @param {Array} data The destination metadata. - * @param {Array} source The source metadata. - * @returns {Array} Returns `data`. - */ - function mergeData(data, source) { - var bitmask = data[1], - srcBitmask = source[1], - newBitmask = bitmask | srcBitmask, - isCommon = newBitmask < ARY_FLAG; - - var isCombo = - (srcBitmask == ARY_FLAG && bitmask == CURRY_FLAG) || - (srcBitmask == ARY_FLAG && - bitmask == REARG_FLAG && - data[7].length <= source[8]) || - (srcBitmask == (ARY_FLAG | REARG_FLAG) && - bitmask == CURRY_FLAG); - - // Exit early if metadata can't be merged. - if (!(isCommon || isCombo)) { - return data; - } - // Use source `thisArg` if available. - if (srcBitmask & BIND_FLAG) { - data[2] = source[2]; - // Set when currying a bound function. - newBitmask |= bitmask & BIND_FLAG ? 0 : CURRY_BOUND_FLAG; - } - // Compose partial arguments. - var value = source[3]; - if (value) { - var partials = data[3]; - data[3] = partials - ? composeArgs(partials, value, source[4]) - : arrayCopy(value); - data[4] = partials - ? replaceHolders(data[3], PLACEHOLDER) - : arrayCopy(source[4]); - } - // Compose partial right arguments. - value = source[5]; - if (value) { - partials = data[5]; - data[5] = partials - ? composeArgsRight(partials, value, source[6]) - : arrayCopy(value); - data[6] = partials - ? replaceHolders(data[5], PLACEHOLDER) - : arrayCopy(source[6]); - } - // Use source `argPos` if available. - value = source[7]; - if (value) { - data[7] = arrayCopy(value); - } - // Use source `ary` if it's smaller. - if (srcBitmask & ARY_FLAG) { - data[8] = - data[8] == null ? source[8] : nativeMin(data[8], source[8]); - } - // Use source `arity` if one is not provided. - if (data[9] == null) { - data[9] = source[9]; - } - // Use source `func` and merge bitmasks. - data[0] = source[0]; - data[1] = newBitmask; - - return data; - } - - /** - * Used by `_.defaultsDeep` to customize its `_.merge` use. - * - * @private - * @param {*} objectValue The destination object property value. - * @param {*} sourceValue The source object property value. - * @returns {*} Returns the value to assign to the destination object. - */ - function mergeDefaults(objectValue, sourceValue) { - return objectValue === undefined - ? sourceValue - : merge(objectValue, sourceValue, mergeDefaults); - } - - /** - * A specialized version of `_.pick` which picks `object` properties specified - * by `props`. - * - * @private - * @param {Object} object The source object. - * @param {string[]} props The property names to pick. - * @returns {Object} Returns the new object. - */ - function pickByArray(object, props) { - object = toObject(object); - - var index = -1, - length = props.length, - result = {}; - - while (++index < length) { - var key = props[index]; - if (key in object) { - result[key] = object[key]; - } - } - return result; - } - - /** - * A specialized version of `_.pick` which picks `object` properties `predicate` - * returns truthy for. - * - * @private - * @param {Object} object The source object. - * @param {Function} predicate The function invoked per iteration. - * @returns {Object} Returns the new object. - */ - function pickByCallback(object, predicate) { - var result = {}; - baseForIn(object, function(value, key, object) { - if (predicate(value, key, object)) { - result[key] = value; - } - }); - return result; - } - - /** - * Reorder `array` according to the specified indexes where the element at - * the first index is assigned as the first element, the element at - * the second index is assigned as the second element, and so on. - * - * @private - * @param {Array} array The array to reorder. - * @param {Array} indexes The arranged array indexes. - * @returns {Array} Returns `array`. - */ - function reorder(array, indexes) { - var arrLength = array.length, - length = nativeMin(indexes.length, arrLength), - oldArray = arrayCopy(array); - - while (length--) { - var index = indexes[length]; - array[length] = isIndex(index, arrLength) - ? oldArray[index] - : undefined; - } - return array; - } - - /** - * Sets metadata for `func`. - * - * **Note:** If this function becomes hot, i.e. is invoked a lot in a short - * period of time, it will trip its breaker and transition to an identity function - * to avoid garbage collection pauses in V8. See [V8 issue 2070](https://code.google.com/p/v8/issues/detail?id=2070) - * for more details. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ - var setData = (function() { - var count = 0, - lastCalled = 0; - - return function(key, value) { - var stamp = now(), - remaining = HOT_SPAN - (stamp - lastCalled); - - lastCalled = stamp; - if (remaining > 0) { - if (++count >= HOT_COUNT) { - return key; - } - } else { - count = 0; - } - return baseSetData(key, value); - }; - })(); - - /** - * A fallback implementation of `Object.keys` which creates an array of the - * own enumerable property names of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function shimKeys(object) { - var props = keysIn(object), - propsLength = props.length, - length = propsLength && object.length; - - var allowIndexes = - !!length && - isLength(length) && - (isArray(object) || isArguments(object)); - - var index = -1, - result = []; - - while (++index < propsLength) { - var key = props[index]; - if ( - (allowIndexes && isIndex(key, length)) || - hasOwnProperty.call(object, key) - ) { - result.push(key); - } - } - return result; - } - - /** - * Converts `value` to an array-like object if it's not one. - * - * @private - * @param {*} value The value to process. - * @returns {Array|Object} Returns the array-like object. - */ - function toIterable(value) { - if (value == null) { - return []; - } - if (!isArrayLike(value)) { - return values(value); - } - return isObject(value) ? value : Object(value); - } - - /** - * Converts `value` to an object if it's not one. - * - * @private - * @param {*} value The value to process. - * @returns {Object} Returns the object. - */ - function toObject(value) { - return isObject(value) ? value : Object(value); - } - - /** - * Converts `value` to property path array if it's not one. - * - * @private - * @param {*} value The value to process. - * @returns {Array} Returns the property path array. - */ - function toPath(value) { - if (isArray(value)) { - return value; - } - var result = []; - baseToString(value).replace(rePropName, function( - match, - number, - quote, - string - ) { - result.push( - quote ? string.replace(reEscapeChar, '$1') : number || match - ); - }); - return result; - } - - /** - * Creates a clone of `wrapper`. - * - * @private - * @param {Object} wrapper The wrapper to clone. - * @returns {Object} Returns the cloned wrapper. - */ - function wrapperClone(wrapper) { - return wrapper instanceof LazyWrapper - ? wrapper.clone() - : new LodashWrapper( - wrapper.__wrapped__, - wrapper.__chain__, - arrayCopy(wrapper.__actions__) - ); - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates an array of elements split into groups the length of `size`. - * If `collection` can't be split evenly, the final chunk will be the remaining - * elements. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to process. - * @param {number} [size=1] The length of each chunk. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the new array containing chunks. - * @example - * - * _.chunk(['a', 'b', 'c', 'd'], 2); - * // => [['a', 'b'], ['c', 'd']] - * - * _.chunk(['a', 'b', 'c', 'd'], 3); - * // => [['a', 'b', 'c'], ['d']] - */ - function chunk(array, size, guard) { - if (guard ? isIterateeCall(array, size, guard) : size == null) { - size = 1; - } else { - size = nativeMax(nativeFloor(size) || 1, 1); - } - var index = 0, - length = array ? array.length : 0, - resIndex = -1, - result = Array(nativeCeil(length / size)); - - while (index < length) { - result[++resIndex] = baseSlice(array, index, (index += size)); - } - return result; - } - - /** - * Creates an array with all falsey values removed. The values `false`, `null`, - * `0`, `""`, `undefined`, and `NaN` are falsey. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to compact. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.compact([0, 1, false, 2, '', 3]); - * // => [1, 2, 3] - */ - function compact(array) { - var index = -1, - length = array ? array.length : 0, - resIndex = -1, - result = []; - - while (++index < length) { - var value = array[index]; - if (value) { - result[++resIndex] = value; - } - } - return result; - } - - /** - * Creates an array of unique `array` values not included in the other - * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The arrays of values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.difference([1, 2, 3], [4, 2]); - * // => [1, 3] - */ - var difference = restParam(function(array, values) { - return isObjectLike(array) && isArrayLike(array) - ? baseDifference(array, baseFlatten(values, false, true)) - : []; - }); - - /** - * Creates a slice of `array` with `n` elements dropped from the beginning. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.drop([1, 2, 3]); - * // => [2, 3] - * - * _.drop([1, 2, 3], 2); - * // => [3] - * - * _.drop([1, 2, 3], 5); - * // => [] - * - * _.drop([1, 2, 3], 0); - * // => [1, 2, 3] - */ - function drop(array, n, guard) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (guard ? isIterateeCall(array, n, guard) : n == null) { - n = 1; - } - return baseSlice(array, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` with `n` elements dropped from the end. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.dropRight([1, 2, 3]); - * // => [1, 2] - * - * _.dropRight([1, 2, 3], 2); - * // => [1] - * - * _.dropRight([1, 2, 3], 5); - * // => [] - * - * _.dropRight([1, 2, 3], 0); - * // => [1, 2, 3] - */ - function dropRight(array, n, guard) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (guard ? isIterateeCall(array, n, guard) : n == null) { - n = 1; - } - n = length - (+n || 0); - return baseSlice(array, 0, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` excluding elements dropped from the end. - * Elements are dropped until `predicate` returns falsey. The predicate is - * bound to `thisArg` and invoked with three arguments: (value, index, array). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that match the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.dropRightWhile([1, 2, 3], function(n) { - * return n > 1; - * }); - * // => [1] - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.dropRightWhile(users, { 'user': 'pebbles', 'active': false }), 'user'); - * // => ['barney', 'fred'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.dropRightWhile(users, 'active', false), 'user'); - * // => ['barney'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.dropRightWhile(users, 'active'), 'user'); - * // => ['barney', 'fred', 'pebbles'] - */ - function dropRightWhile(array, predicate, thisArg) { - return array && array.length - ? baseWhile( - array, - getCallback(predicate, thisArg, 3), - true, - true - ) - : []; - } - - /** - * Creates a slice of `array` excluding elements dropped from the beginning. - * Elements are dropped until `predicate` returns falsey. The predicate is - * bound to `thisArg` and invoked with three arguments: (value, index, array). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.dropWhile([1, 2, 3], function(n) { - * return n < 3; - * }); - * // => [3] - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.dropWhile(users, { 'user': 'barney', 'active': false }), 'user'); - * // => ['fred', 'pebbles'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.dropWhile(users, 'active', false), 'user'); - * // => ['pebbles'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.dropWhile(users, 'active'), 'user'); - * // => ['barney', 'fred', 'pebbles'] - */ - function dropWhile(array, predicate, thisArg) { - return array && array.length - ? baseWhile(array, getCallback(predicate, thisArg, 3), true) - : []; - } - - /** - * Fills elements of `array` with `value` from `start` up to, but not - * including, `end`. - * - * **Note:** This method mutates `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3]; - * - * _.fill(array, 'a'); - * console.log(array); - * // => ['a', 'a', 'a'] - * - * _.fill(Array(3), 2); - * // => [2, 2, 2] - * - * _.fill([4, 6, 8], '*', 1, 2); - * // => [4, '*', 8] - */ - function fill(array, value, start, end) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if ( - start && - typeof start != 'number' && - isIterateeCall(array, value, start) - ) { - start = 0; - end = length; - } - return baseFill(array, value, start, end); - } - - /** - * This method is like `_.find` except that it returns the index of the first - * element `predicate` returns truthy for instead of the element itself. - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.findIndex(users, function(chr) { - * return chr.user == 'barney'; - * }); - * // => 0 - * - * // using the `_.matches` callback shorthand - * _.findIndex(users, { 'user': 'fred', 'active': false }); - * // => 1 - * - * // using the `_.matchesProperty` callback shorthand - * _.findIndex(users, 'active', false); - * // => 0 - * - * // using the `_.property` callback shorthand - * _.findIndex(users, 'active'); - * // => 2 - */ - var findIndex = createFindIndex(); - - /** - * This method is like `_.findIndex` except that it iterates over elements - * of `collection` from right to left. - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.findLastIndex(users, function(chr) { - * return chr.user == 'pebbles'; - * }); - * // => 2 - * - * // using the `_.matches` callback shorthand - * _.findLastIndex(users, { 'user': 'barney', 'active': true }); - * // => 0 - * - * // using the `_.matchesProperty` callback shorthand - * _.findLastIndex(users, 'active', false); - * // => 2 - * - * // using the `_.property` callback shorthand - * _.findLastIndex(users, 'active'); - * // => 0 - */ - var findLastIndex = createFindIndex(true); - - /** - * Gets the first element of `array`. - * - * @static - * @memberOf _ - * @alias head - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the first element of `array`. - * @example - * - * _.first([1, 2, 3]); - * // => 1 - * - * _.first([]); - * // => undefined - */ - function first(array) { - return array ? array[0] : undefined; - } - - /** - * Flattens a nested array. If `isDeep` is `true` the array is recursively - * flattened, otherwise it is only flattened a single level. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to flatten. - * @param {boolean} [isDeep] Specify a deep flatten. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, 3, [4]]]); - * // => [1, 2, 3, [4]] - * - * // using `isDeep` - * _.flatten([1, [2, 3, [4]]], true); - * // => [1, 2, 3, 4] - */ - function flatten(array, isDeep, guard) { - var length = array ? array.length : 0; - if (guard && isIterateeCall(array, isDeep, guard)) { - isDeep = false; - } - return length ? baseFlatten(array, isDeep) : []; - } - - /** - * Recursively flattens a nested array. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to recursively flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flattenDeep([1, [2, 3, [4]]]); - * // => [1, 2, 3, 4] - */ - function flattenDeep(array) { - var length = array ? array.length : 0; - return length ? baseFlatten(array, true) : []; - } - - /** - * Gets the index at which the first occurrence of `value` is found in `array` - * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. If `fromIndex` is negative, it is used as the offset - * from the end of `array`. If `array` is sorted providing `true` for `fromIndex` - * performs a faster binary search. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to search. - * @param {*} value The value to search for. - * @param {boolean|number} [fromIndex=0] The index to search from or `true` - * to perform a binary search on a sorted array. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.indexOf([1, 2, 1, 2], 2); - * // => 1 - * - * // using `fromIndex` - * _.indexOf([1, 2, 1, 2], 2, 2); - * // => 3 - * - * // performing a binary search - * _.indexOf([1, 1, 2, 2], 2, true); - * // => 2 - */ - function indexOf(array, value, fromIndex) { - var length = array ? array.length : 0; - if (!length) { - return -1; - } - if (typeof fromIndex == 'number') { - fromIndex = - fromIndex < 0 - ? nativeMax(length + fromIndex, 0) - : fromIndex; - } else if (fromIndex) { - var index = binaryIndex(array, value); - if ( - index < length && - (value === value - ? value === array[index] - : array[index] !== array[index]) - ) { - return index; - } - return -1; - } - return baseIndexOf(array, value, fromIndex || 0); - } - - /** - * Gets all but the last element of `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.initial([1, 2, 3]); - * // => [1, 2] - */ - function initial(array) { - return dropRight(array, 1); - } - - /** - * Creates an array of unique values that are included in all of the provided - * arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of shared values. - * @example - * _.intersection([1, 2], [4, 2], [2, 1]); - * // => [2] - */ - var intersection = restParam(function(arrays) { - var othLength = arrays.length, - othIndex = othLength, - caches = Array(length), - indexOf = getIndexOf(), - isCommon = indexOf == baseIndexOf, - result = []; - - while (othIndex--) { - var value = (arrays[othIndex] = isArrayLike( - (value = arrays[othIndex]) - ) - ? value - : []); - caches[othIndex] = - isCommon && value.length >= 120 - ? createCache(othIndex && value) - : null; - } - var array = arrays[0], - index = -1, - length = array ? array.length : 0, - seen = caches[0]; - - outer: while (++index < length) { - value = array[index]; - if ( - (seen - ? cacheIndexOf(seen, value) - : indexOf(result, value, 0)) < 0 - ) { - var othIndex = othLength; - while (--othIndex) { - var cache = caches[othIndex]; - if ( - (cache - ? cacheIndexOf(cache, value) - : indexOf(arrays[othIndex], value, 0)) < 0 - ) { - continue outer; - } - } - if (seen) { - seen.push(value); - } - result.push(value); - } - } - return result; - }); - - /** - * Gets the last element of `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the last element of `array`. - * @example - * - * _.last([1, 2, 3]); - * // => 3 - */ - function last(array) { - var length = array ? array.length : 0; - return length ? array[length - 1] : undefined; - } - - /** - * This method is like `_.indexOf` except that it iterates over elements of - * `array` from right to left. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to search. - * @param {*} value The value to search for. - * @param {boolean|number} [fromIndex=array.length-1] The index to search from - * or `true` to perform a binary search on a sorted array. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.lastIndexOf([1, 2, 1, 2], 2); - * // => 3 - * - * // using `fromIndex` - * _.lastIndexOf([1, 2, 1, 2], 2, 2); - * // => 1 - * - * // performing a binary search - * _.lastIndexOf([1, 1, 2, 2], 2, true); - * // => 3 - */ - function lastIndexOf(array, value, fromIndex) { - var length = array ? array.length : 0; - if (!length) { - return -1; - } - var index = length; - if (typeof fromIndex == 'number') { - index = - (fromIndex < 0 - ? nativeMax(length + fromIndex, 0) - : nativeMin(fromIndex || 0, length - 1)) + 1; - } else if (fromIndex) { - index = binaryIndex(array, value, true) - 1; - var other = array[index]; - if (value === value ? value === other : other !== other) { - return index; - } - return -1; - } - if (value !== value) { - return indexOfNaN(array, index, true); - } - while (index--) { - if (array[index] === value) { - return index; - } - } - return -1; - } - - /** - * Removes all provided values from `array` using - * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * **Note:** Unlike `_.without`, this method mutates `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to modify. - * @param {...*} [values] The values to remove. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3, 1, 2, 3]; - * - * _.pull(array, 2, 3); - * console.log(array); - * // => [1, 1] - */ - function pull() { - var args = arguments, - array = args[0]; - - if (!(array && array.length)) { - return array; - } - var index = 0, - indexOf = getIndexOf(), - length = args.length; - - while (++index < length) { - var fromIndex = 0, - value = args[index]; - - while ((fromIndex = indexOf(array, value, fromIndex)) > -1) { - splice.call(array, fromIndex, 1); - } - } - return array; - } - - /** - * Removes elements from `array` corresponding to the given indexes and returns - * an array of the removed elements. Indexes may be specified as an array of - * indexes or as individual arguments. - * - * **Note:** Unlike `_.at`, this method mutates `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to modify. - * @param {...(number|number[])} [indexes] The indexes of elements to remove, - * specified as individual indexes or arrays of indexes. - * @returns {Array} Returns the new array of removed elements. - * @example - * - * var array = [5, 10, 15, 20]; - * var evens = _.pullAt(array, 1, 3); - * - * console.log(array); - * // => [5, 15] - * - * console.log(evens); - * // => [10, 20] - */ - var pullAt = restParam(function(array, indexes) { - indexes = baseFlatten(indexes); - - var result = baseAt(array, indexes); - basePullAt(array, indexes.sort(baseCompareAscending)); - return result; - }); - - /** - * Removes all elements from `array` that `predicate` returns truthy for - * and returns an array of the removed elements. The predicate is bound to - * `thisArg` and invoked with three arguments: (value, index, array). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * **Note:** Unlike `_.filter`, this method mutates `array`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to modify. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the new array of removed elements. - * @example - * - * var array = [1, 2, 3, 4]; - * var evens = _.remove(array, function(n) { - * return n % 2 == 0; - * }); - * - * console.log(array); - * // => [1, 3] - * - * console.log(evens); - * // => [2, 4] - */ - function remove(array, predicate, thisArg) { - var result = []; - if (!(array && array.length)) { - return result; - } - var index = -1, - indexes = [], - length = array.length; - - predicate = getCallback(predicate, thisArg, 3); - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result.push(value); - indexes.push(index); - } - } - basePullAt(array, indexes); - return result; - } - - /** - * Gets all but the first element of `array`. - * - * @static - * @memberOf _ - * @alias tail - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.rest([1, 2, 3]); - * // => [2, 3] - */ - function rest(array) { - return drop(array, 1); - } - - /** - * Creates a slice of `array` from `start` up to, but not including, `end`. - * - * **Note:** This method is used instead of `Array#slice` to support node - * lists in IE < 9 and to ensure dense arrays are returned. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function slice(array, start, end) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if ( - end && - typeof end != 'number' && - isIterateeCall(array, start, end) - ) { - start = 0; - end = length; - } - return baseSlice(array, start, end); - } - - /** - * Uses a binary search to determine the lowest index at which `value` should - * be inserted into `array` in order to maintain its sort order. If an iteratee - * function is provided it is invoked for `value` and each element of `array` - * to compute their sort ranking. The iteratee is bound to `thisArg` and - * invoked with one argument; (value). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * _.sortedIndex([30, 50], 40); - * // => 1 - * - * _.sortedIndex([4, 4, 5, 5], 5); - * // => 2 - * - * var dict = { 'data': { 'thirty': 30, 'forty': 40, 'fifty': 50 } }; - * - * // using an iteratee function - * _.sortedIndex(['thirty', 'fifty'], 'forty', function(word) { - * return this.data[word]; - * }, dict); - * // => 1 - * - * // using the `_.property` callback shorthand - * _.sortedIndex([{ 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x'); - * // => 1 - */ - var sortedIndex = createSortedIndex(); - - /** - * This method is like `_.sortedIndex` except that it returns the highest - * index at which `value` should be inserted into `array` in order to - * maintain its sort order. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * _.sortedLastIndex([4, 4, 5, 5], 5); - * // => 4 - */ - var sortedLastIndex = createSortedIndex(true); - - /** - * Creates a slice of `array` with `n` elements taken from the beginning. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to take. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.take([1, 2, 3]); - * // => [1] - * - * _.take([1, 2, 3], 2); - * // => [1, 2] - * - * _.take([1, 2, 3], 5); - * // => [1, 2, 3] - * - * _.take([1, 2, 3], 0); - * // => [] - */ - function take(array, n, guard) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (guard ? isIterateeCall(array, n, guard) : n == null) { - n = 1; - } - return baseSlice(array, 0, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` with `n` elements taken from the end. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to take. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.takeRight([1, 2, 3]); - * // => [3] - * - * _.takeRight([1, 2, 3], 2); - * // => [2, 3] - * - * _.takeRight([1, 2, 3], 5); - * // => [1, 2, 3] - * - * _.takeRight([1, 2, 3], 0); - * // => [] - */ - function takeRight(array, n, guard) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (guard ? isIterateeCall(array, n, guard) : n == null) { - n = 1; - } - n = length - (+n || 0); - return baseSlice(array, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` with elements taken from the end. Elements are - * taken until `predicate` returns falsey. The predicate is bound to `thisArg` - * and invoked with three arguments: (value, index, array). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.takeRightWhile([1, 2, 3], function(n) { - * return n > 1; - * }); - * // => [2, 3] - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.takeRightWhile(users, { 'user': 'pebbles', 'active': false }), 'user'); - * // => ['pebbles'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.takeRightWhile(users, 'active', false), 'user'); - * // => ['fred', 'pebbles'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.takeRightWhile(users, 'active'), 'user'); - * // => [] - */ - function takeRightWhile(array, predicate, thisArg) { - return array && array.length - ? baseWhile( - array, - getCallback(predicate, thisArg, 3), - false, - true - ) - : []; - } - - /** - * Creates a slice of `array` with elements taken from the beginning. Elements - * are taken until `predicate` returns falsey. The predicate is bound to - * `thisArg` and invoked with three arguments: (value, index, array). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to query. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.takeWhile([1, 2, 3], function(n) { - * return n < 3; - * }); - * // => [1, 2] - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false}, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.takeWhile(users, { 'user': 'barney', 'active': false }), 'user'); - * // => ['barney'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.takeWhile(users, 'active', false), 'user'); - * // => ['barney', 'fred'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.takeWhile(users, 'active'), 'user'); - * // => [] - */ - function takeWhile(array, predicate, thisArg) { - return array && array.length - ? baseWhile(array, getCallback(predicate, thisArg, 3)) - : []; - } - - /** - * Creates an array of unique values, in order, from all of the provided arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of combined values. - * @example - * - * _.union([1, 2], [4, 2], [2, 1]); - * // => [1, 2, 4] - */ - var union = restParam(function(arrays) { - return baseUniq(baseFlatten(arrays, false, true)); - }); - - /** - * Creates a duplicate-free version of an array, using - * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons, in which only the first occurence of each element - * is kept. Providing `true` for `isSorted` performs a faster search algorithm - * for sorted arrays. If an iteratee function is provided it is invoked for - * each element in the array to generate the criterion by which uniqueness - * is computed. The `iteratee` is bound to `thisArg` and invoked with three - * arguments: (value, index, array). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias unique - * @category Array - * @param {Array} array The array to inspect. - * @param {boolean} [isSorted] Specify the array is sorted. - * @param {Function|Object|string} [iteratee] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array} Returns the new duplicate-value-free array. - * @example - * - * _.uniq([2, 1, 2]); - * // => [2, 1] - * - * // using `isSorted` - * _.uniq([1, 1, 2], true); - * // => [1, 2] - * - * // using an iteratee function - * _.uniq([1, 2.5, 1.5, 2], function(n) { - * return this.floor(n); - * }, Math); - * // => [1, 2.5] - * - * // using the `_.property` callback shorthand - * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }, { 'x': 2 }] - */ - function uniq(array, isSorted, iteratee, thisArg) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - if (isSorted != null && typeof isSorted != 'boolean') { - thisArg = iteratee; - iteratee = isIterateeCall(array, isSorted, thisArg) - ? undefined - : isSorted; - isSorted = false; - } - var callback = getCallback(); - if (!(iteratee == null && callback === baseCallback)) { - iteratee = callback(iteratee, thisArg, 3); - } - return isSorted && getIndexOf() == baseIndexOf - ? sortedUniq(array, iteratee) - : baseUniq(array, iteratee); - } - - /** - * This method is like `_.zip` except that it accepts an array of grouped - * elements and creates an array regrouping the elements to their pre-zip - * configuration. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array of grouped elements to process. - * @returns {Array} Returns the new array of regrouped elements. - * @example - * - * var zipped = _.zip(['fred', 'barney'], [30, 40], [true, false]); - * // => [['fred', 30, true], ['barney', 40, false]] - * - * _.unzip(zipped); - * // => [['fred', 'barney'], [30, 40], [true, false]] - */ - function unzip(array) { - if (!(array && array.length)) { - return []; - } - var index = -1, - length = 0; - - array = arrayFilter(array, function(group) { - if (isArrayLike(group)) { - length = nativeMax(group.length, length); - return true; - } - }); - var result = Array(length); - while (++index < length) { - result[index] = arrayMap(array, baseProperty(index)); - } - return result; - } - - /** - * This method is like `_.unzip` except that it accepts an iteratee to specify - * how regrouped values should be combined. The `iteratee` is bound to `thisArg` - * and invoked with four arguments: (accumulator, value, index, group). - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array of grouped elements to process. - * @param {Function} [iteratee] The function to combine regrouped values. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array} Returns the new array of regrouped elements. - * @example - * - * var zipped = _.zip([1, 2], [10, 20], [100, 200]); - * // => [[1, 10, 100], [2, 20, 200]] - * - * _.unzipWith(zipped, _.add); - * // => [3, 30, 300] - */ - function unzipWith(array, iteratee, thisArg) { - var length = array ? array.length : 0; - if (!length) { - return []; - } - var result = unzip(array); - if (iteratee == null) { - return result; - } - iteratee = bindCallback(iteratee, thisArg, 4); - return arrayMap(result, function(group) { - return arrayReduce(group, iteratee, undefined, true); - }); - } - - /** - * Creates an array excluding all provided values using - * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @category Array - * @param {Array} array The array to filter. - * @param {...*} [values] The values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.without([1, 2, 1, 3], 1, 2); - * // => [3] - */ - var without = restParam(function(array, values) { - return isArrayLike(array) ? baseDifference(array, values) : []; - }); - - /** - * Creates an array of unique values that is the [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) - * of the provided arrays. - * - * @static - * @memberOf _ - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of values. - * @example - * - * _.xor([1, 2], [4, 2]); - * // => [1, 4] - */ - function xor() { - var index = -1, - length = arguments.length; - - while (++index < length) { - var array = arguments[index]; - if (isArrayLike(array)) { - var result = result - ? arrayPush( - baseDifference(result, array), - baseDifference(array, result) - ) - : array; - } - } - return result ? baseUniq(result) : []; - } - - /** - * Creates an array of grouped elements, the first of which contains the first - * elements of the given arrays, the second of which contains the second elements - * of the given arrays, and so on. - * - * @static - * @memberOf _ - * @category Array - * @param {...Array} [arrays] The arrays to process. - * @returns {Array} Returns the new array of grouped elements. - * @example - * - * _.zip(['fred', 'barney'], [30, 40], [true, false]); - * // => [['fred', 30, true], ['barney', 40, false]] - */ - var zip = restParam(unzip); - - /** - * The inverse of `_.pairs`; this method returns an object composed from arrays - * of property names and values. Provide either a single two dimensional array, - * e.g. `[[key1, value1], [key2, value2]]` or two arrays, one of property names - * and one of corresponding values. - * - * @static - * @memberOf _ - * @alias object - * @category Array - * @param {Array} props The property names. - * @param {Array} [values=[]] The property values. - * @returns {Object} Returns the new object. - * @example - * - * _.zipObject([['fred', 30], ['barney', 40]]); - * // => { 'fred': 30, 'barney': 40 } - * - * _.zipObject(['fred', 'barney'], [30, 40]); - * // => { 'fred': 30, 'barney': 40 } - */ - function zipObject(props, values) { - var index = -1, - length = props ? props.length : 0, - result = {}; - - if (length && !values && !isArray(props[0])) { - values = []; - } - while (++index < length) { - var key = props[index]; - if (values) { - result[key] = values[index]; - } else if (key) { - result[key[0]] = key[1]; - } - } - return result; - } - - /** - * This method is like `_.zip` except that it accepts an iteratee to specify - * how grouped values should be combined. The `iteratee` is bound to `thisArg` - * and invoked with four arguments: (accumulator, value, index, group). - * - * @static - * @memberOf _ - * @category Array - * @param {...Array} [arrays] The arrays to process. - * @param {Function} [iteratee] The function to combine grouped values. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array} Returns the new array of grouped elements. - * @example - * - * _.zipWith([1, 2], [10, 20], [100, 200], _.add); - * // => [111, 222] - */ - var zipWith = restParam(function(arrays) { - var length = arrays.length, - iteratee = length > 2 ? arrays[length - 2] : undefined, - thisArg = length > 1 ? arrays[length - 1] : undefined; - - if (length > 2 && typeof iteratee == 'function') { - length -= 2; - } else { - iteratee = - length > 1 && typeof thisArg == 'function' - ? (--length, thisArg) - : undefined; - thisArg = undefined; - } - arrays.length = length; - return unzipWith(arrays, iteratee, thisArg); - }); - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` object that wraps `value` with explicit method - * chaining enabled. - * - * @static - * @memberOf _ - * @category Chain - * @param {*} value The value to wrap. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'pebbles', 'age': 1 } - * ]; - * - * var youngest = _.chain(users) - * .sortBy('age') - * .map(function(chr) { - * return chr.user + ' is ' + chr.age; - * }) - * .first() - * .value(); - * // => 'pebbles is 1' - */ - function chain(value) { - var result = lodash(value); - result.__chain__ = true; - return result; - } - - /** - * This method invokes `interceptor` and returns `value`. The interceptor is - * bound to `thisArg` and invoked with one argument; (value). The purpose of - * this method is to "tap into" a method chain in order to perform operations - * on intermediate results within the chain. - * - * @static - * @memberOf _ - * @category Chain - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @param {*} [thisArg] The `this` binding of `interceptor`. - * @returns {*} Returns `value`. - * @example - * - * _([1, 2, 3]) - * .tap(function(array) { - * array.pop(); - * }) - * .reverse() - * .value(); - * // => [2, 1] - */ - function tap(value, interceptor, thisArg) { - interceptor.call(thisArg, value); - return value; - } - - /** - * This method is like `_.tap` except that it returns the result of `interceptor`. - * - * @static - * @memberOf _ - * @category Chain - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @param {*} [thisArg] The `this` binding of `interceptor`. - * @returns {*} Returns the result of `interceptor`. - * @example - * - * _(' abc ') - * .chain() - * .trim() - * .thru(function(value) { - * return [value]; - * }) - * .value(); - * // => ['abc'] - */ - function thru(value, interceptor, thisArg) { - return interceptor.call(thisArg, value); - } - - /** - * Enables explicit method chaining on the wrapper object. - * - * @name chain - * @memberOf _ - * @category Chain - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 } - * ]; - * - * // without explicit chaining - * _(users).first(); - * // => { 'user': 'barney', 'age': 36 } - * - * // with explicit chaining - * _(users).chain() - * .first() - * .pick('user') - * .value(); - * // => { 'user': 'barney' } - */ - function wrapperChain() { - return chain(this); - } - - /** - * Executes the chained sequence and returns the wrapped result. - * - * @name commit - * @memberOf _ - * @category Chain - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2]; - * var wrapped = _(array).push(3); - * - * console.log(array); - * // => [1, 2] - * - * wrapped = wrapped.commit(); - * console.log(array); - * // => [1, 2, 3] - * - * wrapped.last(); - * // => 3 - * - * console.log(array); - * // => [1, 2, 3] - */ - function wrapperCommit() { - return new LodashWrapper(this.value(), this.__chain__); - } - - /** - * Creates a new array joining a wrapped array with any additional arrays - * and/or values. - * - * @name concat - * @memberOf _ - * @category Chain - * @param {...*} [values] The values to concatenate. - * @returns {Array} Returns the new concatenated array. - * @example - * - * var array = [1]; - * var wrapped = _(array).concat(2, [3], [[4]]); - * - * console.log(wrapped.value()); - * // => [1, 2, 3, [4]] - * - * console.log(array); - * // => [1] - */ - var wrapperConcat = restParam(function(values) { - values = baseFlatten(values); - return this.thru(function(array) { - return arrayConcat( - isArray(array) ? array : [toObject(array)], - values - ); - }); - }); - - /** - * Creates a clone of the chained sequence planting `value` as the wrapped value. - * - * @name plant - * @memberOf _ - * @category Chain - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2]; - * var wrapped = _(array).map(function(value) { - * return Math.pow(value, 2); - * }); - * - * var other = [3, 4]; - * var otherWrapped = wrapped.plant(other); - * - * otherWrapped.value(); - * // => [9, 16] - * - * wrapped.value(); - * // => [1, 4] - */ - function wrapperPlant(value) { - var result, - parent = this; - - while (parent instanceof baseLodash) { - var clone = wrapperClone(parent); - if (result) { - previous.__wrapped__ = clone; - } else { - result = clone; - } - var previous = clone; - parent = parent.__wrapped__; - } - previous.__wrapped__ = value; - return result; - } - - /** - * Reverses the wrapped array so the first element becomes the last, the - * second element becomes the second to last, and so on. - * - * **Note:** This method mutates the wrapped array. - * - * @name reverse - * @memberOf _ - * @category Chain - * @returns {Object} Returns the new reversed `lodash` wrapper instance. - * @example - * - * var array = [1, 2, 3]; - * - * _(array).reverse().value() - * // => [3, 2, 1] - * - * console.log(array); - * // => [3, 2, 1] - */ - function wrapperReverse() { - var value = this.__wrapped__; - - var interceptor = function(value) { - return wrapped && wrapped.__dir__ < 0 - ? value - : value.reverse(); - }; - if (value instanceof LazyWrapper) { - var wrapped = value; - if (this.__actions__.length) { - wrapped = new LazyWrapper(this); - } - wrapped = wrapped.reverse(); - wrapped.__actions__.push({ - func: thru, - args: [interceptor], - thisArg: undefined - }); - return new LodashWrapper(wrapped, this.__chain__); - } - return this.thru(interceptor); - } - - /** - * Produces the result of coercing the unwrapped value to a string. - * - * @name toString - * @memberOf _ - * @category Chain - * @returns {string} Returns the coerced string value. - * @example - * - * _([1, 2, 3]).toString(); - * // => '1,2,3' - */ - function wrapperToString() { - return this.value() + ''; - } - - /** - * Executes the chained sequence to extract the unwrapped value. - * - * @name value - * @memberOf _ - * @alias run, toJSON, valueOf - * @category Chain - * @returns {*} Returns the resolved unwrapped value. - * @example - * - * _([1, 2, 3]).value(); - * // => [1, 2, 3] - */ - function wrapperValue() { - return baseWrapperValue(this.__wrapped__, this.__actions__); - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates an array of elements corresponding to the given keys, or indexes, - * of `collection`. Keys may be specified as individual arguments or as arrays - * of keys. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {...(number|number[]|string|string[])} [props] The property names - * or indexes of elements to pick, specified individually or in arrays. - * @returns {Array} Returns the new array of picked elements. - * @example - * - * _.at(['a', 'b', 'c'], [0, 2]); - * // => ['a', 'c'] - * - * _.at(['barney', 'fred', 'pebbles'], 0, 2); - * // => ['barney', 'pebbles'] - */ - var at = restParam(function(collection, props) { - return baseAt(collection, baseFlatten(props)); - }); - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` through `iteratee`. The corresponding value - * of each key is the number of times the key was returned by `iteratee`. - * The `iteratee` is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.countBy([4.3, 6.1, 6.4], function(n) { - * return Math.floor(n); - * }); - * // => { '4': 1, '6': 2 } - * - * _.countBy([4.3, 6.1, 6.4], function(n) { - * return this.floor(n); - * }, Math); - * // => { '4': 1, '6': 2 } - * - * _.countBy(['one', 'two', 'three'], 'length'); - * // => { '3': 2, '5': 1 } - */ - var countBy = createAggregator(function(result, value, key) { - hasOwnProperty.call(result, key) - ? ++result[key] - : (result[key] = 1); - }); - - /** - * Checks if `predicate` returns truthy for **all** elements of `collection`. - * The predicate is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias all - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - * @example - * - * _.every([true, 1, null, 'yes'], Boolean); - * // => false - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.every(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // using the `_.matchesProperty` callback shorthand - * _.every(users, 'active', false); - * // => true - * - * // using the `_.property` callback shorthand - * _.every(users, 'active'); - * // => false - */ - function every(collection, predicate, thisArg) { - var func = isArray(collection) ? arrayEvery : baseEvery; - if (thisArg && isIterateeCall(collection, predicate, thisArg)) { - predicate = undefined; - } - if (typeof predicate != 'function' || thisArg !== undefined) { - predicate = getCallback(predicate, thisArg, 3); - } - return func(collection, predicate); - } - - /** - * Iterates over elements of `collection`, returning an array of all elements - * `predicate` returns truthy for. The predicate is bound to `thisArg` and - * invoked with three arguments: (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias select - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the new filtered array. - * @example - * - * _.filter([4, 5, 6], function(n) { - * return n % 2 == 0; - * }); - * // => [4, 6] - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.filter(users, { 'age': 36, 'active': true }), 'user'); - * // => ['barney'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.filter(users, 'active', false), 'user'); - * // => ['fred'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.filter(users, 'active'), 'user'); - * // => ['barney'] - */ - function filter(collection, predicate, thisArg) { - var func = isArray(collection) ? arrayFilter : baseFilter; - predicate = getCallback(predicate, thisArg, 3); - return func(collection, predicate); - } - - /** - * Iterates over elements of `collection`, returning the first element - * `predicate` returns truthy for. The predicate is bound to `thisArg` and - * invoked with three arguments: (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias detect - * @category Collection - * @param {Array|Object|string} collection The collection to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false }, - * { 'user': 'pebbles', 'age': 1, 'active': true } - * ]; - * - * _.result(_.find(users, function(chr) { - * return chr.age < 40; - * }), 'user'); - * // => 'barney' - * - * // using the `_.matches` callback shorthand - * _.result(_.find(users, { 'age': 1, 'active': true }), 'user'); - * // => 'pebbles' - * - * // using the `_.matchesProperty` callback shorthand - * _.result(_.find(users, 'active', false), 'user'); - * // => 'fred' - * - * // using the `_.property` callback shorthand - * _.result(_.find(users, 'active'), 'user'); - * // => 'barney' - */ - var find = createFind(baseEach); - - /** - * This method is like `_.find` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * _.findLast([1, 2, 3, 4], function(n) { - * return n % 2 == 1; - * }); - * // => 3 - */ - var findLast = createFind(baseEachRight, true); - - /** - * Performs a deep comparison between each element in `collection` and the - * source object, returning the first element that has equivalent property - * values. - * - * **Note:** This method supports comparing arrays, booleans, `Date` objects, - * numbers, `Object` objects, regexes, and strings. Objects are compared by - * their own, not inherited, enumerable properties. For comparing a single - * own or inherited property value see `_.matchesProperty`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to search. - * @param {Object} source The object of property values to match. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * _.result(_.findWhere(users, { 'age': 36, 'active': true }), 'user'); - * // => 'barney' - * - * _.result(_.findWhere(users, { 'age': 40, 'active': false }), 'user'); - * // => 'fred' - */ - function findWhere(collection, source) { - return find(collection, baseMatches(source)); - } - - /** - * Iterates over elements of `collection` invoking `iteratee` for each element. - * The `iteratee` is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). Iteratee functions may exit iteration early - * by explicitly returning `false`. - * - * **Note:** As with other "Collections" methods, objects with a "length" property - * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn` - * may be used for object iteration. - * - * @static - * @memberOf _ - * @alias each - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array|Object|string} Returns `collection`. - * @example - * - * _([1, 2]).forEach(function(n) { - * console.log(n); - * }).value(); - * // => logs each value from left to right and returns the array - * - * _.forEach({ 'a': 1, 'b': 2 }, function(n, key) { - * console.log(n, key); - * }); - * // => logs each value-key pair and returns the object (iteration order is not guaranteed) - */ - var forEach = createForEach(arrayEach, baseEach); - - /** - * This method is like `_.forEach` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @alias eachRight - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array|Object|string} Returns `collection`. - * @example - * - * _([1, 2]).forEachRight(function(n) { - * console.log(n); - * }).value(); - * // => logs each value from right to left and returns the array - */ - var forEachRight = createForEach(arrayEachRight, baseEachRight); - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` through `iteratee`. The corresponding value - * of each key is an array of the elements responsible for generating the key. - * The `iteratee` is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.groupBy([4.2, 6.1, 6.4], function(n) { - * return Math.floor(n); - * }); - * // => { '4': [4.2], '6': [6.1, 6.4] } - * - * _.groupBy([4.2, 6.1, 6.4], function(n) { - * return this.floor(n); - * }, Math); - * // => { '4': [4.2], '6': [6.1, 6.4] } - * - * // using the `_.property` callback shorthand - * _.groupBy(['one', 'two', 'three'], 'length'); - * // => { '3': ['one', 'two'], '5': ['three'] } - */ - var groupBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - result[key].push(value); - } else { - result[key] = [value]; - } - }); - - /** - * Checks if `value` is in `collection` using - * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) - * for equality comparisons. If `fromIndex` is negative, it is used as the offset - * from the end of `collection`. - * - * @static - * @memberOf _ - * @alias contains, include - * @category Collection - * @param {Array|Object|string} collection The collection to search. - * @param {*} target The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`. - * @returns {boolean} Returns `true` if a matching element is found, else `false`. - * @example - * - * _.includes([1, 2, 3], 1); - * // => true - * - * _.includes([1, 2, 3], 1, 2); - * // => false - * - * _.includes({ 'user': 'fred', 'age': 40 }, 'fred'); - * // => true - * - * _.includes('pebbles', 'eb'); - * // => true - */ - function includes(collection, target, fromIndex, guard) { - var length = collection ? getLength(collection) : 0; - if (!isLength(length)) { - collection = values(collection); - length = collection.length; - } - if ( - typeof fromIndex != 'number' || - (guard && isIterateeCall(target, fromIndex, guard)) - ) { - fromIndex = 0; - } else { - fromIndex = - fromIndex < 0 - ? nativeMax(length + fromIndex, 0) - : fromIndex || 0; - } - return typeof collection == 'string' || - (!isArray(collection) && isString(collection)) - ? fromIndex <= length && - collection.indexOf(target, fromIndex) > -1 - : !!length && getIndexOf(collection, target, fromIndex) > -1; - } - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` through `iteratee`. The corresponding value - * of each key is the last element responsible for generating the key. The - * iteratee function is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * var keyData = [ - * { 'dir': 'left', 'code': 97 }, - * { 'dir': 'right', 'code': 100 } - * ]; - * - * _.indexBy(keyData, 'dir'); - * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } - * - * _.indexBy(keyData, function(object) { - * return String.fromCharCode(object.code); - * }); - * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } - * - * _.indexBy(keyData, function(object) { - * return this.fromCharCode(object.code); - * }, String); - * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } - */ - var indexBy = createAggregator(function(result, value, key) { - result[key] = value; - }); - - /** - * Invokes the method at `path` of each element in `collection`, returning - * an array of the results of each invoked method. Any additional arguments - * are provided to each invoked method. If `methodName` is a function it is - * invoked for, and `this` bound to, each element in `collection`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Array|Function|string} path The path of the method to invoke or - * the function invoked per iteration. - * @param {...*} [args] The arguments to invoke the method with. - * @returns {Array} Returns the array of results. - * @example - * - * _.invoke([[5, 1, 7], [3, 2, 1]], 'sort'); - * // => [[1, 5, 7], [1, 2, 3]] - * - * _.invoke([123, 456], String.prototype.split, ''); - * // => [['1', '2', '3'], ['4', '5', '6']] - */ - var invoke = restParam(function(collection, path, args) { - var index = -1, - isFunc = typeof path == 'function', - isProp = isKey(path), - result = isArrayLike(collection) - ? Array(collection.length) - : []; - - baseEach(collection, function(value) { - var func = isFunc - ? path - : isProp && value != null ? value[path] : undefined; - result[++index] = func - ? func.apply(value, args) - : invokePath(value, path, args); - }); - return result; - }); - - /** - * Creates an array of values by running each element in `collection` through - * `iteratee`. The `iteratee` is bound to `thisArg` and invoked with three - * arguments: (value, index|key, collection). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. - * - * The guarded methods are: - * `ary`, `callback`, `chunk`, `clone`, `create`, `curry`, `curryRight`, - * `drop`, `dropRight`, `every`, `fill`, `flatten`, `invert`, `max`, `min`, - * `parseInt`, `slice`, `sortBy`, `take`, `takeRight`, `template`, `trim`, - * `trimLeft`, `trimRight`, `trunc`, `random`, `range`, `sample`, `some`, - * `sum`, `uniq`, and `words` - * - * @static - * @memberOf _ - * @alias collect - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array} Returns the new mapped array. - * @example - * - * function timesThree(n) { - * return n * 3; - * } - * - * _.map([1, 2], timesThree); - * // => [3, 6] - * - * _.map({ 'a': 1, 'b': 2 }, timesThree); - * // => [3, 6] (iteration order is not guaranteed) - * - * var users = [ - * { 'user': 'barney' }, - * { 'user': 'fred' } - * ]; - * - * // using the `_.property` callback shorthand - * _.map(users, 'user'); - * // => ['barney', 'fred'] - */ - function map(collection, iteratee, thisArg) { - var func = isArray(collection) ? arrayMap : baseMap; - iteratee = getCallback(iteratee, thisArg, 3); - return func(collection, iteratee); - } - - /** - * Creates an array of elements split into two groups, the first of which - * contains elements `predicate` returns truthy for, while the second of which - * contains elements `predicate` returns falsey for. The predicate is bound - * to `thisArg` and invoked with three arguments: (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the array of grouped elements. - * @example - * - * _.partition([1, 2, 3], function(n) { - * return n % 2; - * }); - * // => [[1, 3], [2]] - * - * _.partition([1.2, 2.3, 3.4], function(n) { - * return this.floor(n) % 2; - * }, Math); - * // => [[1.2, 3.4], [2.3]] - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true }, - * { 'user': 'pebbles', 'age': 1, 'active': false } - * ]; - * - * var mapper = function(array) { - * return _.pluck(array, 'user'); - * }; - * - * // using the `_.matches` callback shorthand - * _.map(_.partition(users, { 'age': 1, 'active': false }), mapper); - * // => [['pebbles'], ['barney', 'fred']] - * - * // using the `_.matchesProperty` callback shorthand - * _.map(_.partition(users, 'active', false), mapper); - * // => [['barney', 'pebbles'], ['fred']] - * - * // using the `_.property` callback shorthand - * _.map(_.partition(users, 'active'), mapper); - * // => [['fred'], ['barney', 'pebbles']] - */ - var partition = createAggregator( - function(result, value, key) { - result[key ? 0 : 1].push(value); - }, - function() { - return [[], []]; - } - ); - - /** - * Gets the property value of `path` from all elements in `collection`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Array|string} path The path of the property to pluck. - * @returns {Array} Returns the property values. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 } - * ]; - * - * _.pluck(users, 'user'); - * // => ['barney', 'fred'] - * - * var userIndex = _.indexBy(users, 'user'); - * _.pluck(userIndex, 'age'); - * // => [36, 40] (iteration order is not guaranteed) - */ - function pluck(collection, path) { - return map(collection, property(path)); - } - - /** - * Reduces `collection` to a value which is the accumulated result of running - * each element in `collection` through `iteratee`, where each successive - * invocation is supplied the return value of the previous. If `accumulator` - * is not provided the first element of `collection` is used as the initial - * value. The `iteratee` is bound to `thisArg` and invoked with four arguments: - * (accumulator, value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.reduce`, `_.reduceRight`, and `_.transform`. - * - * The guarded methods are: - * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `sortByAll`, - * and `sortByOrder` - * - * @static - * @memberOf _ - * @alias foldl, inject - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {*} Returns the accumulated value. - * @example - * - * _.reduce([1, 2], function(total, n) { - * return total + n; - * }); - * // => 3 - * - * _.reduce({ 'a': 1, 'b': 2 }, function(result, n, key) { - * result[key] = n * 3; - * return result; - * }, {}); - * // => { 'a': 3, 'b': 6 } (iteration order is not guaranteed) - */ - var reduce = createReduce(arrayReduce, baseEach); - - /** - * This method is like `_.reduce` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @alias foldr - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {*} Returns the accumulated value. - * @example - * - * var array = [[0, 1], [2, 3], [4, 5]]; - * - * _.reduceRight(array, function(flattened, other) { - * return flattened.concat(other); - * }, []); - * // => [4, 5, 2, 3, 0, 1] - */ - var reduceRight = createReduce(arrayReduceRight, baseEachRight); - - /** - * The opposite of `_.filter`; this method returns the elements of `collection` - * that `predicate` does **not** return truthy for. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Array} Returns the new filtered array. - * @example - * - * _.reject([1, 2, 3, 4], function(n) { - * return n % 2 == 0; - * }); - * // => [1, 3] - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true } - * ]; - * - * // using the `_.matches` callback shorthand - * _.pluck(_.reject(users, { 'age': 40, 'active': true }), 'user'); - * // => ['barney'] - * - * // using the `_.matchesProperty` callback shorthand - * _.pluck(_.reject(users, 'active', false), 'user'); - * // => ['fred'] - * - * // using the `_.property` callback shorthand - * _.pluck(_.reject(users, 'active'), 'user'); - * // => ['barney'] - */ - function reject(collection, predicate, thisArg) { - var func = isArray(collection) ? arrayFilter : baseFilter; - predicate = getCallback(predicate, thisArg, 3); - return func(collection, function(value, index, collection) { - return !predicate(value, index, collection); - }); - } - - /** - * Gets a random element or `n` random elements from a collection. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to sample. - * @param {number} [n] The number of elements to sample. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {*} Returns the random sample(s). - * @example - * - * _.sample([1, 2, 3, 4]); - * // => 2 - * - * _.sample([1, 2, 3, 4], 2); - * // => [3, 1] - */ - function sample(collection, n, guard) { - if (guard ? isIterateeCall(collection, n, guard) : n == null) { - collection = toIterable(collection); - var length = collection.length; - return length > 0 - ? collection[baseRandom(0, length - 1)] - : undefined; - } - var index = -1, - result = toArray(collection), - length = result.length, - lastIndex = length - 1; - - n = nativeMin(n < 0 ? 0 : +n || 0, length); - while (++index < n) { - var rand = baseRandom(index, lastIndex), - value = result[rand]; - - result[rand] = result[index]; - result[index] = value; - } - result.length = n; - return result; - } - - /** - * Creates an array of shuffled values, using a version of the - * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to shuffle. - * @returns {Array} Returns the new shuffled array. - * @example - * - * _.shuffle([1, 2, 3, 4]); - * // => [4, 1, 3, 2] - */ - function shuffle(collection) { - return sample(collection, POSITIVE_INFINITY); - } - - /** - * Gets the size of `collection` by returning its length for array-like - * values or the number of own enumerable properties for objects. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @returns {number} Returns the size of `collection`. - * @example - * - * _.size([1, 2, 3]); - * // => 3 - * - * _.size({ 'a': 1, 'b': 2 }); - * // => 2 - * - * _.size('pebbles'); - * // => 7 - */ - function size(collection) { - var length = collection ? getLength(collection) : 0; - return isLength(length) ? length : keys(collection).length; - } - - /** - * Checks if `predicate` returns truthy for **any** element of `collection`. - * The function returns as soon as it finds a passing value and does not iterate - * over the entire collection. The predicate is bound to `thisArg` and invoked - * with three arguments: (value, index|key, collection). - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @alias any - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - * @example - * - * _.some([null, 0, 'yes', false], Boolean); - * // => true - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false } - * ]; - * - * // using the `_.matches` callback shorthand - * _.some(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // using the `_.matchesProperty` callback shorthand - * _.some(users, 'active', false); - * // => true - * - * // using the `_.property` callback shorthand - * _.some(users, 'active'); - * // => true - */ - function some(collection, predicate, thisArg) { - var func = isArray(collection) ? arraySome : baseSome; - if (thisArg && isIterateeCall(collection, predicate, thisArg)) { - predicate = undefined; - } - if (typeof predicate != 'function' || thisArg !== undefined) { - predicate = getCallback(predicate, thisArg, 3); - } - return func(collection, predicate); - } - - /** - * Creates an array of elements, sorted in ascending order by the results of - * running each element in a collection through `iteratee`. This method performs - * a stable sort, that is, it preserves the original sort order of equal elements. - * The `iteratee` is bound to `thisArg` and invoked with three arguments: - * (value, index|key, collection). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Array} Returns the new sorted array. - * @example - * - * _.sortBy([1, 2, 3], function(n) { - * return Math.sin(n); - * }); - * // => [3, 1, 2] - * - * _.sortBy([1, 2, 3], function(n) { - * return this.sin(n); - * }, Math); - * // => [3, 1, 2] - * - * var users = [ - * { 'user': 'fred' }, - * { 'user': 'pebbles' }, - * { 'user': 'barney' } - * ]; - * - * // using the `_.property` callback shorthand - * _.pluck(_.sortBy(users, 'user'), 'user'); - * // => ['barney', 'fred', 'pebbles'] - */ - function sortBy(collection, iteratee, thisArg) { - if (collection == null) { - return []; - } - if (thisArg && isIterateeCall(collection, iteratee, thisArg)) { - iteratee = undefined; - } - var index = -1; - iteratee = getCallback(iteratee, thisArg, 3); - - var result = baseMap(collection, function( - value, - key, - collection - ) { - return { - criteria: iteratee(value, key, collection), - index: ++index, - value: value - }; - }); - return baseSortBy(result, compareAscending); - } - - /** - * This method is like `_.sortBy` except that it can sort by multiple iteratees - * or property names. - * - * If a property name is provided for an iteratee the created `_.property` - * style callback returns the property value of the given element. - * - * If an object is provided for an iteratee the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {...(Function|Function[]|Object|Object[]|string|string[])} iteratees - * The iteratees to sort by, specified as individual values or arrays of values. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 42 }, - * { 'user': 'barney', 'age': 34 } - * ]; - * - * _.map(_.sortByAll(users, ['user', 'age']), _.values); - * // => [['barney', 34], ['barney', 36], ['fred', 42], ['fred', 48]] - * - * _.map(_.sortByAll(users, 'user', function(chr) { - * return Math.floor(chr.age / 10); - * }), _.values); - * // => [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]] - */ - var sortByAll = restParam(function(collection, iteratees) { - if (collection == null) { - return []; - } - var guard = iteratees[2]; - if ( - guard && - isIterateeCall(iteratees[0], iteratees[1], guard) - ) { - iteratees.length = 1; - } - return baseSortByOrder(collection, baseFlatten(iteratees), []); - }); - - /** - * This method is like `_.sortByAll` except that it allows specifying the - * sort orders of the iteratees to sort by. If `orders` is unspecified, all - * values are sorted in ascending order. Otherwise, a value is sorted in - * ascending order if its corresponding order is "asc", and descending if "desc". - * - * If a property name is provided for an iteratee the created `_.property` - * style callback returns the property value of the given element. - * - * If an object is provided for an iteratee the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. - * @param {boolean[]} [orders] The sort orders of `iteratees`. - * @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 34 }, - * { 'user': 'fred', 'age': 42 }, - * { 'user': 'barney', 'age': 36 } - * ]; - * - * // sort by `user` in ascending order and by `age` in descending order - * _.map(_.sortByOrder(users, ['user', 'age'], ['asc', 'desc']), _.values); - * // => [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]] - */ - function sortByOrder(collection, iteratees, orders, guard) { - if (collection == null) { - return []; - } - if (guard && isIterateeCall(iteratees, orders, guard)) { - orders = undefined; - } - if (!isArray(iteratees)) { - iteratees = iteratees == null ? [] : [iteratees]; - } - if (!isArray(orders)) { - orders = orders == null ? [] : [orders]; - } - return baseSortByOrder(collection, iteratees, orders); - } - - /** - * Performs a deep comparison between each element in `collection` and the - * source object, returning an array of all elements that have equivalent - * property values. - * - * **Note:** This method supports comparing arrays, booleans, `Date` objects, - * numbers, `Object` objects, regexes, and strings. Objects are compared by - * their own, not inherited, enumerable properties. For comparing a single - * own or inherited property value see `_.matchesProperty`. - * - * @static - * @memberOf _ - * @category Collection - * @param {Array|Object|string} collection The collection to search. - * @param {Object} source The object of property values to match. - * @returns {Array} Returns the new filtered array. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false, 'pets': ['hoppy'] }, - * { 'user': 'fred', 'age': 40, 'active': true, 'pets': ['baby puss', 'dino'] } - * ]; - * - * _.pluck(_.where(users, { 'age': 36, 'active': false }), 'user'); - * // => ['barney'] - * - * _.pluck(_.where(users, { 'pets': ['dino'] }), 'user'); - * // => ['fred'] - */ - function where(collection, source) { - return filter(collection, baseMatches(source)); - } - - /*------------------------------------------------------------------------*/ - - /** - * Gets the number of milliseconds that have elapsed since the Unix epoch - * (1 January 1970 00:00:00 UTC). - * - * @static - * @memberOf _ - * @category Date - * @example - * - * _.defer(function(stamp) { - * console.log(_.now() - stamp); - * }, _.now()); - * // => logs the number of milliseconds it took for the deferred function to be invoked - */ - var now = - nativeNow || - function() { - return new Date().getTime(); - }; - - /*------------------------------------------------------------------------*/ - - /** - * The opposite of `_.before`; this method creates a function that invokes - * `func` once it is called `n` or more times. - * - * @static - * @memberOf _ - * @category Function - * @param {number} n The number of calls before `func` is invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var saves = ['profile', 'settings']; - * - * var done = _.after(saves.length, function() { - * console.log('done saving!'); - * }); - * - * _.forEach(saves, function(type) { - * asyncSave({ 'type': type, 'complete': done }); - * }); - * // => logs 'done saving!' after the two async saves have completed - */ - function after(n, func) { - if (typeof func != 'function') { - if (typeof n == 'function') { - var temp = n; - n = func; - func = temp; - } else { - throw new TypeError(FUNC_ERROR_TEXT); - } - } - n = nativeIsFinite((n = +n)) ? n : 0; - return function() { - if (--n < 1) { - return func.apply(this, arguments); - } - }; - } - - /** - * Creates a function that accepts up to `n` arguments ignoring any - * additional arguments. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to cap arguments for. - * @param {number} [n=func.length] The arity cap. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Function} Returns the new function. - * @example - * - * _.map(['6', '8', '10'], _.ary(parseInt, 1)); - * // => [6, 8, 10] - */ - function ary(func, n, guard) { - if (guard && isIterateeCall(func, n, guard)) { - n = undefined; - } - n = func && n == null ? func.length : nativeMax(+n || 0, 0); - return createWrapper( - func, - ARY_FLAG, - undefined, - undefined, - undefined, - undefined, - n - ); - } - - /** - * Creates a function that invokes `func`, with the `this` binding and arguments - * of the created function, while it is called less than `n` times. Subsequent - * calls to the created function return the result of the last `func` invocation. - * - * @static - * @memberOf _ - * @category Function - * @param {number} n The number of calls at which `func` is no longer invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * jQuery('#add').on('click', _.before(5, addContactToList)); - * // => allows adding up to 4 contacts to the list - */ - function before(n, func) { - var result; - if (typeof func != 'function') { - if (typeof n == 'function') { - var temp = n; - n = func; - func = temp; - } else { - throw new TypeError(FUNC_ERROR_TEXT); - } - } - return function() { - if (--n > 0) { - result = func.apply(this, arguments); - } - if (n <= 1) { - func = undefined; - } - return result; - }; - } - - /** - * Creates a function that invokes `func` with the `this` binding of `thisArg` - * and prepends any additional `_.bind` arguments to those provided to the - * bound function. - * - * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for partially applied arguments. - * - * **Note:** Unlike native `Function#bind` this method does not set the "length" - * property of bound functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to bind. - * @param {*} thisArg The `this` binding of `func`. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * var greet = function(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * }; - * - * var object = { 'user': 'fred' }; - * - * var bound = _.bind(greet, object, 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * // using placeholders - * var bound = _.bind(greet, object, _, '!'); - * bound('hi'); - * // => 'hi fred!' - */ - var bind = restParam(function(func, thisArg, partials) { - var bitmask = BIND_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, bind.placeholder); - bitmask |= PARTIAL_FLAG; - } - return createWrapper(func, bitmask, thisArg, partials, holders); - }); - - /** - * Binds methods of an object to the object itself, overwriting the existing - * method. Method names may be specified as individual arguments or as arrays - * of method names. If no method names are provided all enumerable function - * properties, own and inherited, of `object` are bound. - * - * **Note:** This method does not set the "length" property of bound functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Object} object The object to bind and assign the bound methods to. - * @param {...(string|string[])} [methodNames] The object method names to bind, - * specified as individual method names or arrays of method names. - * @returns {Object} Returns `object`. - * @example - * - * var view = { - * 'label': 'docs', - * 'onClick': function() { - * console.log('clicked ' + this.label); - * } - * }; - * - * _.bindAll(view); - * jQuery('#docs').on('click', view.onClick); - * // => logs 'clicked docs' when the element is clicked - */ - var bindAll = restParam(function(object, methodNames) { - methodNames = methodNames.length - ? baseFlatten(methodNames) - : functions(object); - - var index = -1, - length = methodNames.length; - - while (++index < length) { - var key = methodNames[index]; - object[key] = createWrapper(object[key], BIND_FLAG, object); - } - return object; - }); - - /** - * Creates a function that invokes the method at `object[key]` and prepends - * any additional `_.bindKey` arguments to those provided to the bound function. - * - * This method differs from `_.bind` by allowing bound functions to reference - * methods that may be redefined or don't yet exist. - * See [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) - * for more details. - * - * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * @static - * @memberOf _ - * @category Function - * @param {Object} object The object the method belongs to. - * @param {string} key The key of the method. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * var object = { - * 'user': 'fred', - * 'greet': function(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * }; - * - * var bound = _.bindKey(object, 'greet', 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * object.greet = function(greeting, punctuation) { - * return greeting + 'ya ' + this.user + punctuation; - * }; - * - * bound('!'); - * // => 'hiya fred!' - * - * // using placeholders - * var bound = _.bindKey(object, 'greet', _, '!'); - * bound('hi'); - * // => 'hiya fred!' - */ - var bindKey = restParam(function(object, key, partials) { - var bitmask = BIND_FLAG | BIND_KEY_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, bindKey.placeholder); - bitmask |= PARTIAL_FLAG; - } - return createWrapper(key, bitmask, object, partials, holders); - }); - - /** - * Creates a function that accepts one or more arguments of `func` that when - * called either invokes `func` returning its result, if all `func` arguments - * have been provided, or returns a function that accepts one or more of the - * remaining `func` arguments, and so on. The arity of `func` may be specified - * if `func.length` is not sufficient. - * - * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for provided arguments. - * - * **Note:** This method does not set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curry(abc); - * - * curried(1)(2)(3); - * // => [1, 2, 3] - * - * curried(1, 2)(3); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // using placeholders - * curried(1)(_, 3)(2); - * // => [1, 2, 3] - */ - var curry = createCurry(CURRY_FLAG); - - /** - * This method is like `_.curry` except that arguments are applied to `func` - * in the manner of `_.partialRight` instead of `_.partial`. - * - * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for provided arguments. - * - * **Note:** This method does not set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curryRight(abc); - * - * curried(3)(2)(1); - * // => [1, 2, 3] - * - * curried(2, 3)(1); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // using placeholders - * curried(3)(1, _)(2); - * // => [1, 2, 3] - */ - var curryRight = createCurry(CURRY_RIGHT_FLAG); - - /** - * Creates a debounced function that delays invoking `func` until after `wait` - * milliseconds have elapsed since the last time the debounced function was - * invoked. The debounced function comes with a `cancel` method to cancel - * delayed invocations. Provide an options object to indicate that `func` - * should be invoked on the leading and/or trailing edge of the `wait` timeout. - * Subsequent calls to the debounced function return the result of the last - * `func` invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked - * on the trailing edge of the timeout only if the the debounced function is - * invoked more than once during the `wait` timeout. - * - * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation) - * for details over the differences between `_.debounce` and `_.throttle`. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to debounce. - * @param {number} [wait=0] The number of milliseconds to delay. - * @param {Object} [options] The options object. - * @param {boolean} [options.leading=false] Specify invoking on the leading - * edge of the timeout. - * @param {number} [options.maxWait] The maximum time `func` is allowed to be - * delayed before it is invoked. - * @param {boolean} [options.trailing=true] Specify invoking on the trailing - * edge of the timeout. - * @returns {Function} Returns the new debounced function. - * @example - * - * // avoid costly calculations while the window size is in flux - * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); - * - * // invoke `sendMail` when the click event is fired, debouncing subsequent calls - * jQuery('#postbox').on('click', _.debounce(sendMail, 300, { - * 'leading': true, - * 'trailing': false - * })); - * - * // ensure `batchLog` is invoked once after 1 second of debounced calls - * var source = new EventSource('/stream'); - * jQuery(source).on('message', _.debounce(batchLog, 250, { - * 'maxWait': 1000 - * })); - * - * // cancel a debounced call - * var todoChanges = _.debounce(batchLog, 1000); - * Object.observe(models.todo, todoChanges); - * - * Object.observe(models, function(changes) { - * if (_.find(changes, { 'user': 'todo', 'type': 'delete'})) { - * todoChanges.cancel(); - * } - * }, ['delete']); - * - * // ...at some point `models.todo` is changed - * models.todo.completed = true; - * - * // ...before 1 second has passed `models.todo` is deleted - * // which cancels the debounced `todoChanges` call - * delete models.todo; - */ - function debounce(func, wait, options) { - var args, - maxTimeoutId, - result, - stamp, - thisArg, - timeoutId, - trailingCall, - lastCalled = 0, - maxWait = false, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - wait = wait < 0 ? 0 : +wait || 0; - if (options === true) { - var leading = true; - trailing = false; - } else if (isObject(options)) { - leading = !!options.leading; - maxWait = - 'maxWait' in options && - nativeMax(+options.maxWait || 0, wait); - trailing = - 'trailing' in options ? !!options.trailing : trailing; - } - - function cancel() { - if (timeoutId) { - clearTimeout(timeoutId); - } - if (maxTimeoutId) { - clearTimeout(maxTimeoutId); - } - lastCalled = 0; - maxTimeoutId = timeoutId = trailingCall = undefined; - } - - function complete(isCalled, id) { - if (id) { - clearTimeout(id); - } - maxTimeoutId = timeoutId = trailingCall = undefined; - if (isCalled) { - lastCalled = now(); - result = func.apply(thisArg, args); - if (!timeoutId && !maxTimeoutId) { - args = thisArg = undefined; - } - } - } - - function delayed() { - var remaining = wait - (now() - stamp); - if (remaining <= 0 || remaining > wait) { - complete(trailingCall, maxTimeoutId); - } else { - timeoutId = setTimeout(delayed, remaining); - } - } - - function maxDelayed() { - complete(trailing, timeoutId); - } - - function debounced() { - args = arguments; - stamp = now(); - thisArg = this; - trailingCall = trailing && (timeoutId || !leading); - - if (maxWait === false) { - var leadingCall = leading && !timeoutId; - } else { - if (!maxTimeoutId && !leading) { - lastCalled = stamp; - } - var remaining = maxWait - (stamp - lastCalled), - isCalled = remaining <= 0 || remaining > maxWait; - - if (isCalled) { - if (maxTimeoutId) { - maxTimeoutId = clearTimeout(maxTimeoutId); - } - lastCalled = stamp; - result = func.apply(thisArg, args); - } else if (!maxTimeoutId) { - maxTimeoutId = setTimeout(maxDelayed, remaining); - } - } - if (isCalled && timeoutId) { - timeoutId = clearTimeout(timeoutId); - } else if (!timeoutId && wait !== maxWait) { - timeoutId = setTimeout(delayed, wait); - } - if (leadingCall) { - isCalled = true; - result = func.apply(thisArg, args); - } - if (isCalled && !timeoutId && !maxTimeoutId) { - args = thisArg = undefined; - } - return result; - } - debounced.cancel = cancel; - return debounced; - } - - /** - * Defers invoking the `func` until the current call stack has cleared. Any - * additional arguments are provided to `func` when it is invoked. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to defer. - * @param {...*} [args] The arguments to invoke the function with. - * @returns {number} Returns the timer id. - * @example - * - * _.defer(function(text) { - * console.log(text); - * }, 'deferred'); - * // logs 'deferred' after one or more milliseconds - */ - var defer = restParam(function(func, args) { - return baseDelay(func, 1, args); - }); - - /** - * Invokes `func` after `wait` milliseconds. Any additional arguments are - * provided to `func` when it is invoked. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {...*} [args] The arguments to invoke the function with. - * @returns {number} Returns the timer id. - * @example - * - * _.delay(function(text) { - * console.log(text); - * }, 1000, 'later'); - * // => logs 'later' after one second - */ - var delay = restParam(function(func, wait, args) { - return baseDelay(func, wait, args); - }); - - /** - * Creates a function that returns the result of invoking the provided - * functions with the `this` binding of the created function, where each - * successive invocation is supplied the return value of the previous. - * - * @static - * @memberOf _ - * @category Function - * @param {...Function} [funcs] Functions to invoke. - * @returns {Function} Returns the new function. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var addSquare = _.flow(_.add, square); - * addSquare(1, 2); - * // => 9 - */ - var flow = createFlow(); - - /** - * This method is like `_.flow` except that it creates a function that - * invokes the provided functions from right to left. - * - * @static - * @memberOf _ - * @alias backflow, compose - * @category Function - * @param {...Function} [funcs] Functions to invoke. - * @returns {Function} Returns the new function. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var addSquare = _.flowRight(square, _.add); - * addSquare(1, 2); - * // => 9 - */ - var flowRight = createFlow(true); - - /** - * Creates a function that memoizes the result of `func`. If `resolver` is - * provided it determines the cache key for storing the result based on the - * arguments provided to the memoized function. By default, the first argument - * provided to the memoized function is coerced to a string and used as the - * cache key. The `func` is invoked with the `this` binding of the memoized - * function. - * - * **Note:** The cache is exposed as the `cache` property on the memoized - * function. Its creation may be customized by replacing the `_.memoize.Cache` - * constructor with one whose instances implement the [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object) - * method interface of `get`, `has`, and `set`. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to have its output memoized. - * @param {Function} [resolver] The function to resolve the cache key. - * @returns {Function} Returns the new memoizing function. - * @example - * - * var upperCase = _.memoize(function(string) { - * return string.toUpperCase(); - * }); - * - * upperCase('fred'); - * // => 'FRED' - * - * // modifying the result cache - * upperCase.cache.set('fred', 'BARNEY'); - * upperCase('fred'); - * // => 'BARNEY' - * - * // replacing `_.memoize.Cache` - * var object = { 'user': 'fred' }; - * var other = { 'user': 'barney' }; - * var identity = _.memoize(_.identity); - * - * identity(object); - * // => { 'user': 'fred' } - * identity(other); - * // => { 'user': 'fred' } - * - * _.memoize.Cache = WeakMap; - * var identity = _.memoize(_.identity); - * - * identity(object); - * // => { 'user': 'fred' } - * identity(other); - * // => { 'user': 'barney' } - */ - function memoize(func, resolver) { - if ( - typeof func != 'function' || - (resolver && typeof resolver != 'function') - ) { - throw new TypeError(FUNC_ERROR_TEXT); - } - var memoized = function() { - var args = arguments, - key = resolver ? resolver.apply(this, args) : args[0], - cache = memoized.cache; - - if (cache.has(key)) { - return cache.get(key); - } - var result = func.apply(this, args); - memoized.cache = cache.set(key, result); - return result; - }; - memoized.cache = new memoize.Cache(); - return memoized; - } - - /** - * Creates a function that runs each argument through a corresponding - * transform function. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to wrap. - * @param {...(Function|Function[])} [transforms] The functions to transform - * arguments, specified as individual functions or arrays of functions. - * @returns {Function} Returns the new function. - * @example - * - * function doubled(n) { - * return n * 2; - * } - * - * function square(n) { - * return n * n; - * } - * - * var modded = _.modArgs(function(x, y) { - * return [x, y]; - * }, square, doubled); - * - * modded(1, 2); - * // => [1, 4] - * - * modded(5, 10); - * // => [25, 20] - */ - var modArgs = restParam(function(func, transforms) { - transforms = baseFlatten(transforms); - if ( - typeof func != 'function' || - !arrayEvery(transforms, baseIsFunction) - ) { - throw new TypeError(FUNC_ERROR_TEXT); - } - var length = transforms.length; - return restParam(function(args) { - var index = nativeMin(args.length, length); - while (index--) { - args[index] = transforms[index](args[index]); - } - return func.apply(this, args); - }); - }); - - /** - * Creates a function that negates the result of the predicate `func`. The - * `func` predicate is invoked with the `this` binding and arguments of the - * created function. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} predicate The predicate to negate. - * @returns {Function} Returns the new function. - * @example - * - * function isEven(n) { - * return n % 2 == 0; - * } - * - * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); - * // => [1, 3, 5] - */ - function negate(predicate) { - if (typeof predicate != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return function() { - return !predicate.apply(this, arguments); - }; - } - - /** - * Creates a function that is restricted to invoking `func` once. Repeat calls - * to the function return the value of the first call. The `func` is invoked - * with the `this` binding and arguments of the created function. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var initialize = _.once(createApplication); - * initialize(); - * initialize(); - * // `initialize` invokes `createApplication` once - */ - function once(func) { - return before(2, func); - } - - /** - * Creates a function that invokes `func` with `partial` arguments prepended - * to those provided to the new function. This method is like `_.bind` except - * it does **not** alter the `this` binding. - * - * The `_.partial.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * **Note:** This method does not set the "length" property of partially - * applied functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to partially apply arguments to. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new partially applied function. - * @example - * - * var greet = function(greeting, name) { - * return greeting + ' ' + name; - * }; - * - * var sayHelloTo = _.partial(greet, 'hello'); - * sayHelloTo('fred'); - * // => 'hello fred' - * - * // using placeholders - * var greetFred = _.partial(greet, _, 'fred'); - * greetFred('hi'); - * // => 'hi fred' - */ - var partial = createPartial(PARTIAL_FLAG); - - /** - * This method is like `_.partial` except that partially applied arguments - * are appended to those provided to the new function. - * - * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * **Note:** This method does not set the "length" property of partially - * applied functions. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to partially apply arguments to. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new partially applied function. - * @example - * - * var greet = function(greeting, name) { - * return greeting + ' ' + name; - * }; - * - * var greetFred = _.partialRight(greet, 'fred'); - * greetFred('hi'); - * // => 'hi fred' - * - * // using placeholders - * var sayHelloTo = _.partialRight(greet, 'hello', _); - * sayHelloTo('fred'); - * // => 'hello fred' - */ - var partialRight = createPartial(PARTIAL_RIGHT_FLAG); - - /** - * Creates a function that invokes `func` with arguments arranged according - * to the specified indexes where the argument value at the first index is - * provided as the first argument, the argument value at the second index is - * provided as the second argument, and so on. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to rearrange arguments for. - * @param {...(number|number[])} indexes The arranged argument indexes, - * specified as individual indexes or arrays of indexes. - * @returns {Function} Returns the new function. - * @example - * - * var rearged = _.rearg(function(a, b, c) { - * return [a, b, c]; - * }, 2, 0, 1); - * - * rearged('b', 'c', 'a') - * // => ['a', 'b', 'c'] - * - * var map = _.rearg(_.map, [1, 0]); - * map(function(n) { - * return n * 3; - * }, [1, 2, 3]); - * // => [3, 6, 9] - */ - var rearg = restParam(function(func, indexes) { - return createWrapper( - func, - REARG_FLAG, - undefined, - undefined, - undefined, - baseFlatten(indexes) - ); - }); - - /** - * Creates a function that invokes `func` with the `this` binding of the - * created function and arguments from `start` and beyond provided as an array. - * - * **Note:** This method is based on the [rest parameter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters). - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.restParam(function(what, names) { - * return what + ' ' + _.initial(names).join(', ') + - * (_.size(names) > 1 ? ', & ' : '') + _.last(names); - * }); - * - * say('hello', 'fred', 'barney', 'pebbles'); - * // => 'hello fred, barney, & pebbles' - */ - function restParam(func, start) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - start = nativeMax( - start === undefined ? func.length - 1 : +start || 0, - 0 - ); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - rest = Array(length); - - while (++index < length) { - rest[index] = args[start + index]; - } - switch (start) { - case 0: - return func.call(this, rest); - case 1: - return func.call(this, args[0], rest); - case 2: - return func.call(this, args[0], args[1], rest); - } - var otherArgs = Array(start + 1); - index = -1; - while (++index < start) { - otherArgs[index] = args[index]; - } - otherArgs[start] = rest; - return func.apply(this, otherArgs); - }; - } - - /** - * Creates a function that invokes `func` with the `this` binding of the created - * function and an array of arguments much like [`Function#apply`](https://es5.github.io/#x15.3.4.3). - * - * **Note:** This method is based on the [spread operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator). - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to spread arguments over. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.spread(function(who, what) { - * return who + ' says ' + what; - * }); - * - * say(['fred', 'hello']); - * // => 'fred says hello' - * - * // with a Promise - * var numbers = Promise.all([ - * Promise.resolve(40), - * Promise.resolve(36) - * ]); - * - * numbers.then(_.spread(function(x, y) { - * return x + y; - * })); - * // => a Promise of 76 - */ - function spread(func) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return function(array) { - return func.apply(this, array); - }; - } - - /** - * Creates a throttled function that only invokes `func` at most once per - * every `wait` milliseconds. The throttled function comes with a `cancel` - * method to cancel delayed invocations. Provide an options object to indicate - * that `func` should be invoked on the leading and/or trailing edge of the - * `wait` timeout. Subsequent calls to the throttled function return the - * result of the last `func` call. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked - * on the trailing edge of the timeout only if the the throttled function is - * invoked more than once during the `wait` timeout. - * - * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation) - * for details over the differences between `_.throttle` and `_.debounce`. - * - * @static - * @memberOf _ - * @category Function - * @param {Function} func The function to throttle. - * @param {number} [wait=0] The number of milliseconds to throttle invocations to. - * @param {Object} [options] The options object. - * @param {boolean} [options.leading=true] Specify invoking on the leading - * edge of the timeout. - * @param {boolean} [options.trailing=true] Specify invoking on the trailing - * edge of the timeout. - * @returns {Function} Returns the new throttled function. - * @example - * - * // avoid excessively updating the position while scrolling - * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); - * - * // invoke `renewToken` when the click event is fired, but not more than once every 5 minutes - * jQuery('.interactive').on('click', _.throttle(renewToken, 300000, { - * 'trailing': false - * })); - * - * // cancel a trailing throttled call - * jQuery(window).on('popstate', throttled.cancel); - */ - function throttle(func, wait, options) { - var leading = true, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (options === false) { - leading = false; - } else if (isObject(options)) { - leading = 'leading' in options ? !!options.leading : leading; - trailing = - 'trailing' in options ? !!options.trailing : trailing; - } - return debounce(func, wait, { - leading: leading, - maxWait: +wait, - trailing: trailing - }); - } - - /** - * Creates a function that provides `value` to the wrapper function as its - * first argument. Any additional arguments provided to the function are - * appended to those provided to the wrapper function. The wrapper is invoked - * with the `this` binding of the created function. - * - * @static - * @memberOf _ - * @category Function - * @param {*} value The value to wrap. - * @param {Function} wrapper The wrapper function. - * @returns {Function} Returns the new function. - * @example - * - * var p = _.wrap(_.escape, function(func, text) { - * return '

' + func(text) + '

'; - * }); - * - * p('fred, barney, & pebbles'); - * // => '

fred, barney, & pebbles

' - */ - function wrap(value, wrapper) { - wrapper = wrapper == null ? identity : wrapper; - return createWrapper( - wrapper, - PARTIAL_FLAG, - undefined, - [value], - [] - ); - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned, - * otherwise they are assigned by reference. If `customizer` is provided it is - * invoked to produce the cloned values. If `customizer` returns `undefined` - * cloning is handled by the method instead. The `customizer` is bound to - * `thisArg` and invoked with two argument; (value [, index|key, object]). - * - * **Note:** This method is loosely based on the - * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm). - * The enumerable properties of `arguments` objects and objects created by - * constructors other than `Object` are cloned to plain `Object` objects. An - * empty object is returned for uncloneable values such as functions, DOM nodes, - * Maps, Sets, and WeakMaps. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @param {Function} [customizer] The function to customize cloning values. - * @param {*} [thisArg] The `this` binding of `customizer`. - * @returns {*} Returns the cloned value. - * @example - * - * var users = [ - * { 'user': 'barney' }, - * { 'user': 'fred' } - * ]; - * - * var shallow = _.clone(users); - * shallow[0] === users[0]; - * // => true - * - * var deep = _.clone(users, true); - * deep[0] === users[0]; - * // => false - * - * // using a customizer callback - * var el = _.clone(document.body, function(value) { - * if (_.isElement(value)) { - * return value.cloneNode(false); - * } - * }); - * - * el === document.body - * // => false - * el.nodeName - * // => BODY - * el.childNodes.length; - * // => 0 - */ - function clone(value, isDeep, customizer, thisArg) { - if ( - isDeep && - typeof isDeep != 'boolean' && - isIterateeCall(value, isDeep, customizer) - ) { - isDeep = false; - } else if (typeof isDeep == 'function') { - thisArg = customizer; - customizer = isDeep; - isDeep = false; - } - return typeof customizer == 'function' - ? baseClone( - value, - isDeep, - bindCallback(customizer, thisArg, 1) - ) - : baseClone(value, isDeep); - } - - /** - * Creates a deep clone of `value`. If `customizer` is provided it is invoked - * to produce the cloned values. If `customizer` returns `undefined` cloning - * is handled by the method instead. The `customizer` is bound to `thisArg` - * and invoked with two argument; (value [, index|key, object]). - * - * **Note:** This method is loosely based on the - * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm). - * The enumerable properties of `arguments` objects and objects created by - * constructors other than `Object` are cloned to plain `Object` objects. An - * empty object is returned for uncloneable values such as functions, DOM nodes, - * Maps, Sets, and WeakMaps. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to deep clone. - * @param {Function} [customizer] The function to customize cloning values. - * @param {*} [thisArg] The `this` binding of `customizer`. - * @returns {*} Returns the deep cloned value. - * @example - * - * var users = [ - * { 'user': 'barney' }, - * { 'user': 'fred' } - * ]; - * - * var deep = _.cloneDeep(users); - * deep[0] === users[0]; - * // => false - * - * // using a customizer callback - * var el = _.cloneDeep(document.body, function(value) { - * if (_.isElement(value)) { - * return value.cloneNode(true); - * } - * }); - * - * el === document.body - * // => false - * el.nodeName - * // => BODY - * el.childNodes.length; - * // => 20 - */ - function cloneDeep(value, customizer, thisArg) { - return typeof customizer == 'function' - ? baseClone(value, true, bindCallback(customizer, thisArg, 1)) - : baseClone(value, true); - } - - /** - * Checks if `value` is greater than `other`. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, else `false`. - * @example - * - * _.gt(3, 1); - * // => true - * - * _.gt(3, 3); - * // => false - * - * _.gt(1, 3); - * // => false - */ - function gt(value, other) { - return value > other; - } - - /** - * Checks if `value` is greater than or equal to `other`. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than or equal to `other`, else `false`. - * @example - * - * _.gte(3, 1); - * // => true - * - * _.gte(3, 3); - * // => true - * - * _.gte(1, 3); - * // => false - */ - function gte(value, other) { - return value >= other; - } - - /** - * Checks if `value` is classified as an `arguments` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ - function isArguments(value) { - return ( - isObjectLike(value) && - isArrayLike(value) && - hasOwnProperty.call(value, 'callee') && - !propertyIsEnumerable.call(value, 'callee') - ); - } - - /** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(function() { return arguments; }()); - * // => false - */ - var isArray = - nativeIsArray || - function(value) { - return ( - isObjectLike(value) && - isLength(value.length) && - objToString.call(value) == arrayTag - ); - }; - - /** - * Checks if `value` is classified as a boolean primitive or object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isBoolean(false); - * // => true - * - * _.isBoolean(null); - * // => false - */ - function isBoolean(value) { - return ( - value === true || - value === false || - (isObjectLike(value) && objToString.call(value) == boolTag) - ); - } - - /** - * Checks if `value` is classified as a `Date` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isDate(new Date); - * // => true - * - * _.isDate('Mon April 23 2012'); - * // => false - */ - function isDate(value) { - return ( - isObjectLike(value) && objToString.call(value) == dateTag - ); - } - - /** - * Checks if `value` is a DOM element. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. - * @example - * - * _.isElement(document.body); - * // => true - * - * _.isElement(''); - * // => false - */ - function isElement(value) { - return ( - !!value && - value.nodeType === 1 && - isObjectLike(value) && - !isPlainObject(value) - ); - } - - /** - * Checks if `value` is empty. A value is considered empty unless it is an - * `arguments` object, array, string, or jQuery-like collection with a length - * greater than `0` or an object with own enumerable properties. - * - * @static - * @memberOf _ - * @category Lang - * @param {Array|Object|string} value The value to inspect. - * @returns {boolean} Returns `true` if `value` is empty, else `false`. - * @example - * - * _.isEmpty(null); - * // => true - * - * _.isEmpty(true); - * // => true - * - * _.isEmpty(1); - * // => true - * - * _.isEmpty([1, 2, 3]); - * // => false - * - * _.isEmpty({ 'a': 1 }); - * // => false - */ - function isEmpty(value) { - if (value == null) { - return true; - } - if ( - isArrayLike(value) && - (isArray(value) || - isString(value) || - isArguments(value) || - (isObjectLike(value) && isFunction(value.splice))) - ) { - return !value.length; - } - return !keys(value).length; - } - - /** - * Performs a deep comparison between two values to determine if they are - * equivalent. If `customizer` is provided it is invoked to compare values. - * If `customizer` returns `undefined` comparisons are handled by the method - * instead. The `customizer` is bound to `thisArg` and invoked with three - * arguments: (value, other [, index|key]). - * - * **Note:** This method supports comparing arrays, booleans, `Date` objects, - * numbers, `Object` objects, regexes, and strings. Objects are compared by - * their own, not inherited, enumerable properties. Functions and DOM nodes - * are **not** supported. Provide a customizer function to extend support - * for comparing other values. - * - * @static - * @memberOf _ - * @alias eq - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {Function} [customizer] The function to customize value comparisons. - * @param {*} [thisArg] The `this` binding of `customizer`. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'user': 'fred' }; - * var other = { 'user': 'fred' }; - * - * object == other; - * // => false - * - * _.isEqual(object, other); - * // => true - * - * // using a customizer callback - * var array = ['hello', 'goodbye']; - * var other = ['hi', 'goodbye']; - * - * _.isEqual(array, other, function(value, other) { - * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) { - * return true; - * } - * }); - * // => true - */ - function isEqual(value, other, customizer, thisArg) { - customizer = - typeof customizer == 'function' - ? bindCallback(customizer, thisArg, 3) - : undefined; - var result = customizer ? customizer(value, other) : undefined; - return result === undefined - ? baseIsEqual(value, other, customizer) - : !!result; - } - - /** - * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, - * `SyntaxError`, `TypeError`, or `URIError` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an error object, else `false`. - * @example - * - * _.isError(new Error); - * // => true - * - * _.isError(Error); - * // => false - */ - function isError(value) { - return ( - isObjectLike(value) && - typeof value.message == 'string' && - objToString.call(value) == errorTag - ); - } - - /** - * Checks if `value` is a finite primitive number. - * - * **Note:** This method is based on [`Number.isFinite`](http://ecma-international.org/ecma-262/6.0/#sec-number.isfinite). - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. - * @example - * - * _.isFinite(10); - * // => true - * - * _.isFinite('10'); - * // => false - * - * _.isFinite(true); - * // => false - * - * _.isFinite(Object(10)); - * // => false - * - * _.isFinite(Infinity); - * // => false - */ - function isFinite(value) { - return typeof value == 'number' && nativeIsFinite(value); - } - - /** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ - function isFunction(value) { - // The use of `Object#toString` avoids issues with the `typeof` operator - // in older versions of Chrome and Safari which return 'function' for regexes - // and Safari 8 equivalents which return 'object' for typed array constructors. - return isObject(value) && objToString.call(value) == funcTag; - } - - /** - * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`. - * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(1); - * // => false - */ - function isObject(value) { - // Avoid a V8 JIT bug in Chrome 19-20. - // See https://code.google.com/p/v8/issues/detail?id=2291 for more details. - var type = typeof value; - return !!value && (type == 'object' || type == 'function'); - } - - /** - * Performs a deep comparison between `object` and `source` to determine if - * `object` contains equivalent property values. If `customizer` is provided - * it is invoked to compare values. If `customizer` returns `undefined` - * comparisons are handled by the method instead. The `customizer` is bound - * to `thisArg` and invoked with three arguments: (value, other, index|key). - * - * **Note:** This method supports comparing properties of arrays, booleans, - * `Date` objects, numbers, `Object` objects, regexes, and strings. Functions - * and DOM nodes are **not** supported. Provide a customizer function to extend - * support for comparing other values. - * - * @static - * @memberOf _ - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Function} [customizer] The function to customize value comparisons. - * @param {*} [thisArg] The `this` binding of `customizer`. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - * @example - * - * var object = { 'user': 'fred', 'age': 40 }; - * - * _.isMatch(object, { 'age': 40 }); - * // => true - * - * _.isMatch(object, { 'age': 36 }); - * // => false - * - * // using a customizer callback - * var object = { 'greeting': 'hello' }; - * var source = { 'greeting': 'hi' }; - * - * _.isMatch(object, source, function(value, other) { - * return _.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/) || undefined; - * }); - * // => true - */ - function isMatch(object, source, customizer, thisArg) { - customizer = - typeof customizer == 'function' - ? bindCallback(customizer, thisArg, 3) - : undefined; - return baseIsMatch(object, getMatchData(source), customizer); - } - - /** - * Checks if `value` is `NaN`. - * - * **Note:** This method is not the same as [`isNaN`](https://es5.github.io/#x15.1.2.4) - * which returns `true` for `undefined` and other non-numeric values. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - * @example - * - * _.isNaN(NaN); - * // => true - * - * _.isNaN(new Number(NaN)); - * // => true - * - * isNaN(undefined); - * // => true - * - * _.isNaN(undefined); - * // => false - */ - function isNaN(value) { - // An `NaN` primitive is the only value that is not equal to itself. - // Perform the `toStringTag` check first to avoid errors with some host objects in IE. - return isNumber(value) && value != +value; - } - - /** - * Checks if `value` is a native function. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, else `false`. - * @example - * - * _.isNative(Array.prototype.push); - * // => true - * - * _.isNative(_); - * // => false - */ - function isNative(value) { - if (value == null) { - return false; - } - if (isFunction(value)) { - return reIsNative.test(fnToString.call(value)); - } - return isObjectLike(value) && reIsHostCtor.test(value); - } - - /** - * Checks if `value` is `null`. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `null`, else `false`. - * @example - * - * _.isNull(null); - * // => true - * - * _.isNull(void 0); - * // => false - */ - function isNull(value) { - return value === null; - } - - /** - * Checks if `value` is classified as a `Number` primitive or object. - * - * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are classified - * as numbers, use the `_.isFinite` method. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isNumber(8.4); - * // => true - * - * _.isNumber(NaN); - * // => true - * - * _.isNumber('8.4'); - * // => false - */ - function isNumber(value) { - return ( - typeof value == 'number' || - (isObjectLike(value) && objToString.call(value) == numberTag) - ); - } - - /** - * Checks if `value` is a plain object, that is, an object created by the - * `Object` constructor or one with a `[[Prototype]]` of `null`. - * - * **Note:** This method assumes objects created by the `Object` constructor - * have no inherited enumerable properties. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * _.isPlainObject(new Foo); - * // => false - * - * _.isPlainObject([1, 2, 3]); - * // => false - * - * _.isPlainObject({ 'x': 0, 'y': 0 }); - * // => true - * - * _.isPlainObject(Object.create(null)); - * // => true - */ - function isPlainObject(value) { - var Ctor; - - // Exit early for non `Object` objects. - if ( - !( - isObjectLike(value) && - objToString.call(value) == objectTag && - !isArguments(value) - ) || - (!hasOwnProperty.call(value, 'constructor') && - ( - (Ctor = value.constructor), - typeof Ctor == 'function' && !(Ctor instanceof Ctor) - )) - ) { - return false; - } - // IE < 9 iterates inherited properties before own properties. If the first - // iterated property is an object's own property then there are no inherited - // enumerable properties. - var result; - // In most environments an object's own properties are iterated before - // its inherited properties. If the last iterated property is an object's - // own property then there are no inherited enumerable properties. - baseForIn(value, function(subValue, key) { - result = key; - }); - return ( - result === undefined || hasOwnProperty.call(value, result) - ); - } - - /** - * Checks if `value` is classified as a `RegExp` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isRegExp(/abc/); - * // => true - * - * _.isRegExp('/abc/'); - * // => false - */ - function isRegExp(value) { - return isObject(value) && objToString.call(value) == regexpTag; - } - - /** - * Checks if `value` is classified as a `String` primitive or object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isString('abc'); - * // => true - * - * _.isString(1); - * // => false - */ - function isString(value) { - return ( - typeof value == 'string' || - (isObjectLike(value) && objToString.call(value) == stringTag) - ); - } - - /** - * Checks if `value` is classified as a typed array. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isTypedArray(new Uint8Array); - * // => true - * - * _.isTypedArray([]); - * // => false - */ - function isTypedArray(value) { - return ( - isObjectLike(value) && - isLength(value.length) && - !!typedArrayTags[objToString.call(value)] - ); - } - - /** - * Checks if `value` is `undefined`. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. - * @example - * - * _.isUndefined(void 0); - * // => true - * - * _.isUndefined(null); - * // => false - */ - function isUndefined(value) { - return value === undefined; - } - - /** - * Checks if `value` is less than `other`. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than `other`, else `false`. - * @example - * - * _.lt(1, 3); - * // => true - * - * _.lt(3, 3); - * // => false - * - * _.lt(3, 1); - * // => false - */ - function lt(value, other) { - return value < other; - } - - /** - * Checks if `value` is less than or equal to `other`. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than or equal to `other`, else `false`. - * @example - * - * _.lte(1, 3); - * // => true - * - * _.lte(3, 3); - * // => true - * - * _.lte(3, 1); - * // => false - */ - function lte(value, other) { - return value <= other; - } - - /** - * Converts `value` to an array. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to convert. - * @returns {Array} Returns the converted array. - * @example - * - * (function() { - * return _.toArray(arguments).slice(1); - * }(1, 2, 3)); - * // => [2, 3] - */ - function toArray(value) { - var length = value ? getLength(value) : 0; - if (!isLength(length)) { - return values(value); - } - if (!length) { - return []; - } - return arrayCopy(value); - } - - /** - * Converts `value` to a plain object flattening inherited enumerable - * properties of `value` to own properties of the plain object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to convert. - * @returns {Object} Returns the converted plain object. - * @example - * - * function Foo() { - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.assign({ 'a': 1 }, new Foo); - * // => { 'a': 1, 'b': 2 } - * - * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); - * // => { 'a': 1, 'b': 2, 'c': 3 } - */ - function toPlainObject(value) { - return baseCopy(value, keysIn(value)); - } - - /*------------------------------------------------------------------------*/ - - /** - * Recursively merges own enumerable properties of the source object(s), that - * don't resolve to `undefined` into the destination object. Subsequent sources - * overwrite property assignments of previous sources. If `customizer` is - * provided it is invoked to produce the merged values of the destination and - * source properties. If `customizer` returns `undefined` merging is handled - * by the method instead. The `customizer` is bound to `thisArg` and invoked - * with five arguments: (objectValue, sourceValue, key, object, source). - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @param {*} [thisArg] The `this` binding of `customizer`. - * @returns {Object} Returns `object`. - * @example - * - * var users = { - * 'data': [{ 'user': 'barney' }, { 'user': 'fred' }] - * }; - * - * var ages = { - * 'data': [{ 'age': 36 }, { 'age': 40 }] - * }; - * - * _.merge(users, ages); - * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] } - * - * // using a customizer callback - * var object = { - * 'fruits': ['apple'], - * 'vegetables': ['beet'] - * }; - * - * var other = { - * 'fruits': ['banana'], - * 'vegetables': ['carrot'] - * }; - * - * _.merge(object, other, function(a, b) { - * if (_.isArray(a)) { - * return a.concat(b); - * } - * }); - * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot'] } - */ - var merge = createAssigner(baseMerge); - - /** - * Assigns own enumerable properties of source object(s) to the destination - * object. Subsequent sources overwrite property assignments of previous sources. - * If `customizer` is provided it is invoked to produce the assigned values. - * The `customizer` is bound to `thisArg` and invoked with five arguments: - * (objectValue, sourceValue, key, object, source). - * - * **Note:** This method mutates `object` and is based on - * [`Object.assign`](http://ecma-international.org/ecma-262/6.0/#sec-object.assign). - * - * @static - * @memberOf _ - * @alias extend - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @param {*} [thisArg] The `this` binding of `customizer`. - * @returns {Object} Returns `object`. - * @example - * - * _.assign({ 'user': 'barney' }, { 'age': 40 }, { 'user': 'fred' }); - * // => { 'user': 'fred', 'age': 40 } - * - * // using a customizer callback - * var defaults = _.partialRight(_.assign, function(value, other) { - * return _.isUndefined(value) ? other : value; - * }); - * - * defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' }); - * // => { 'user': 'barney', 'age': 36 } - */ - var assign = createAssigner(function(object, source, customizer) { - return customizer - ? assignWith(object, source, customizer) - : baseAssign(object, source); - }); - - /** - * Creates an object that inherits from the given `prototype` object. If a - * `properties` object is provided its own enumerable properties are assigned - * to the created object. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} prototype The object to inherit from. - * @param {Object} [properties] The properties to assign to the object. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Object} Returns the new object. - * @example - * - * function Shape() { - * this.x = 0; - * this.y = 0; - * } - * - * function Circle() { - * Shape.call(this); - * } - * - * Circle.prototype = _.create(Shape.prototype, { - * 'constructor': Circle - * }); - * - * var circle = new Circle; - * circle instanceof Circle; - * // => true - * - * circle instanceof Shape; - * // => true - */ - function create(prototype, properties, guard) { - var result = baseCreate(prototype); - if (guard && isIterateeCall(prototype, properties, guard)) { - properties = undefined; - } - return properties ? baseAssign(result, properties) : result; - } - - /** - * Assigns own enumerable properties of source object(s) to the destination - * object for all destination properties that resolve to `undefined`. Once a - * property is set, additional values of the same property are ignored. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @example - * - * _.defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' }); - * // => { 'user': 'barney', 'age': 36 } - */ - var defaults = createDefaults(assign, assignDefaults); - - /** - * This method is like `_.defaults` except that it recursively assigns - * default properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @example - * - * _.defaultsDeep({ 'user': { 'name': 'barney' } }, { 'user': { 'name': 'fred', 'age': 36 } }); - * // => { 'user': { 'name': 'barney', 'age': 36 } } - * - */ - var defaultsDeep = createDefaults(merge, mergeDefaults); - - /** - * This method is like `_.find` except that it returns the key of the first - * element `predicate` returns truthy for instead of the element itself. - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {string|undefined} Returns the key of the matched element, else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findKey(users, function(chr) { - * return chr.age < 40; - * }); - * // => 'barney' (iteration order is not guaranteed) - * - * // using the `_.matches` callback shorthand - * _.findKey(users, { 'age': 1, 'active': true }); - * // => 'pebbles' - * - * // using the `_.matchesProperty` callback shorthand - * _.findKey(users, 'active', false); - * // => 'fred' - * - * // using the `_.property` callback shorthand - * _.findKey(users, 'active'); - * // => 'barney' - */ - var findKey = createFindKey(baseForOwn); - - /** - * This method is like `_.findKey` except that it iterates over elements of - * a collection in the opposite order. - * - * If a property name is provided for `predicate` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `predicate` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to search. - * @param {Function|Object|string} [predicate=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {string|undefined} Returns the key of the matched element, else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findLastKey(users, function(chr) { - * return chr.age < 40; - * }); - * // => returns `pebbles` assuming `_.findKey` returns `barney` - * - * // using the `_.matches` callback shorthand - * _.findLastKey(users, { 'age': 36, 'active': true }); - * // => 'barney' - * - * // using the `_.matchesProperty` callback shorthand - * _.findLastKey(users, 'active', false); - * // => 'fred' - * - * // using the `_.property` callback shorthand - * _.findLastKey(users, 'active'); - * // => 'pebbles' - */ - var findLastKey = createFindKey(baseForOwnRight); - - /** - * Iterates over own and inherited enumerable properties of an object invoking - * `iteratee` for each property. The `iteratee` is bound to `thisArg` and invoked - * with three arguments: (value, key, object). Iteratee functions may exit - * iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns `object`. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forIn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => logs 'a', 'b', and 'c' (iteration order is not guaranteed) - */ - var forIn = createForIn(baseFor); - - /** - * This method is like `_.forIn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns `object`. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forInRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => logs 'c', 'b', and 'a' assuming `_.forIn ` logs 'a', 'b', and 'c' - */ - var forInRight = createForIn(baseForRight); - - /** - * Iterates over own enumerable properties of an object invoking `iteratee` - * for each property. The `iteratee` is bound to `thisArg` and invoked with - * three arguments: (value, key, object). Iteratee functions may exit iteration - * early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns `object`. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => logs 'a' and 'b' (iteration order is not guaranteed) - */ - var forOwn = createForOwn(baseForOwn); - - /** - * This method is like `_.forOwn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns `object`. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwnRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => logs 'b' and 'a' assuming `_.forOwn` logs 'a' and 'b' - */ - var forOwnRight = createForOwn(baseForOwnRight); - - /** - * Creates an array of function property names from all enumerable properties, - * own and inherited, of `object`. - * - * @static - * @memberOf _ - * @alias methods - * @category Object - * @param {Object} object The object to inspect. - * @returns {Array} Returns the new array of property names. - * @example - * - * _.functions(_); - * // => ['after', 'ary', 'assign', ...] - */ - function functions(object) { - return baseFunctions(object, keysIn(object)); - } - - /** - * Gets the property value at `path` of `object`. If the resolved value is - * `undefined` the `defaultValue` is used in its place. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @param {*} [defaultValue] The value returned if the resolved value is `undefined`. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.get(object, 'a[0].b.c'); - * // => 3 - * - * _.get(object, ['a', '0', 'b', 'c']); - * // => 3 - * - * _.get(object, 'a.b.c', 'default'); - * // => 'default' - */ - function get(object, path, defaultValue) { - var result = - object == null - ? undefined - : baseGet(object, toPath(path), path + ''); - return result === undefined ? defaultValue : result; - } - - /** - * Checks if `path` is a direct property. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` is a direct property, else `false`. - * @example - * - * var object = { 'a': { 'b': { 'c': 3 } } }; - * - * _.has(object, 'a'); - * // => true - * - * _.has(object, 'a.b.c'); - * // => true - * - * _.has(object, ['a', 'b', 'c']); - * // => true - */ - function has(object, path) { - if (object == null) { - return false; - } - var result = hasOwnProperty.call(object, path); - if (!result && !isKey(path)) { - path = toPath(path); - object = - path.length == 1 - ? object - : baseGet(object, baseSlice(path, 0, -1)); - if (object == null) { - return false; - } - path = last(path); - result = hasOwnProperty.call(object, path); - } - return ( - result || - (isLength(object.length) && - isIndex(path, object.length) && - (isArray(object) || isArguments(object))) - ); - } - - /** - * Creates an object composed of the inverted keys and values of `object`. - * If `object` contains duplicate values, subsequent values overwrite property - * assignments of previous values unless `multiValue` is `true`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to invert. - * @param {boolean} [multiValue] Allow multiple values per key. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {Object} Returns the new inverted object. - * @example - * - * var object = { 'a': 1, 'b': 2, 'c': 1 }; - * - * _.invert(object); - * // => { '1': 'c', '2': 'b' } - * - * // with `multiValue` - * _.invert(object, true); - * // => { '1': ['a', 'c'], '2': ['b'] } - */ - function invert(object, multiValue, guard) { - if (guard && isIterateeCall(object, multiValue, guard)) { - multiValue = undefined; - } - var index = -1, - props = keys(object), - length = props.length, - result = {}; - - while (++index < length) { - var key = props[index], - value = object[key]; - - if (multiValue) { - if (hasOwnProperty.call(result, value)) { - result[value].push(key); - } else { - result[value] = [key]; - } - } else { - result[value] = key; - } - } - return result; - } - - /** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys) - * for more details. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */ - var keys = !nativeKeys - ? shimKeys - : function(object) { - var Ctor = object == null ? undefined : object.constructor; - if ( - (typeof Ctor == 'function' && - Ctor.prototype === object) || - (typeof object != 'function' && isArrayLike(object)) - ) { - return shimKeys(object); - } - return isObject(object) ? nativeKeys(object) : []; - }; - - /** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) - */ - function keysIn(object) { - if (object == null) { - return []; - } - if (!isObject(object)) { - object = Object(object); - } - var length = object.length; - length = - (length && - isLength(length) && - (isArray(object) || isArguments(object)) && - length) || - 0; - - var Ctor = object.constructor, - index = -1, - isProto = - typeof Ctor == 'function' && Ctor.prototype === object, - result = Array(length), - skipIndexes = length > 0; - - while (++index < length) { - result[index] = index + ''; - } - for (var key in object) { - if ( - !(skipIndexes && isIndex(key, length)) && - !( - key == 'constructor' && - (isProto || !hasOwnProperty.call(object, key)) - ) - ) { - result.push(key); - } - } - return result; - } - - /** - * The opposite of `_.mapValues`; this method creates an object with the - * same values as `object` and keys generated by running each own enumerable - * property of `object` through `iteratee`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns the new mapped object. - * @example - * - * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { - * return key + value; - * }); - * // => { 'a1': 1, 'b2': 2 } - */ - var mapKeys = createObjectMapper(true); - - /** - * Creates an object with the same keys as `object` and values generated by - * running each own enumerable property of `object` through `iteratee`. The - * iteratee function is bound to `thisArg` and invoked with three arguments: - * (value, key, object). - * - * If a property name is provided for `iteratee` the created `_.property` - * style callback returns the property value of the given element. - * - * If a value is also provided for `thisArg` the created `_.matchesProperty` - * style callback returns `true` for elements that have a matching property - * value, else `false`. - * - * If an object is provided for `iteratee` the created `_.matches` style - * callback returns `true` for elements that have the properties of the given - * object, else `false`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function|Object|string} [iteratee=_.identity] The function invoked - * per iteration. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {Object} Returns the new mapped object. - * @example - * - * _.mapValues({ 'a': 1, 'b': 2 }, function(n) { - * return n * 3; - * }); - * // => { 'a': 3, 'b': 6 } - * - * var users = { - * 'fred': { 'user': 'fred', 'age': 40 }, - * 'pebbles': { 'user': 'pebbles', 'age': 1 } - * }; - * - * // using the `_.property` callback shorthand - * _.mapValues(users, 'age'); - * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) - */ - var mapValues = createObjectMapper(); - - /** - * The opposite of `_.pick`; this method creates an object composed of the - * own and inherited enumerable properties of `object` that are not omitted. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {Function|...(string|string[])} [predicate] The function invoked per - * iteration or property names to omit, specified as individual property - * names or arrays of property names. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'user': 'fred', 'age': 40 }; - * - * _.omit(object, 'age'); - * // => { 'user': 'fred' } - * - * _.omit(object, _.isNumber); - * // => { 'user': 'fred' } - */ - var omit = restParam(function(object, props) { - if (object == null) { - return {}; - } - if (typeof props[0] != 'function') { - var props = arrayMap(baseFlatten(props), String); - return pickByArray( - object, - baseDifference(keysIn(object), props) - ); - } - var predicate = bindCallback(props[0], props[1], 3); - return pickByCallback(object, function(value, key, object) { - return !predicate(value, key, object); - }); - }); - - /** - * Creates a two dimensional array of the key-value pairs for `object`, - * e.g. `[[key1, value1], [key2, value2]]`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the new array of key-value pairs. - * @example - * - * _.pairs({ 'barney': 36, 'fred': 40 }); - * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed) - */ - function pairs(object) { - object = toObject(object); - - var index = -1, - props = keys(object), - length = props.length, - result = Array(length); - - while (++index < length) { - var key = props[index]; - result[index] = [key, object[key]]; - } - return result; - } - - /** - * Creates an object composed of the picked `object` properties. Property - * names may be specified as individual arguments or as arrays of property - * names. If `predicate` is provided it is invoked for each property of `object` - * picking the properties `predicate` returns truthy for. The predicate is - * bound to `thisArg` and invoked with three arguments: (value, key, object). - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {Function|...(string|string[])} [predicate] The function invoked per - * iteration or property names to pick, specified as individual property - * names or arrays of property names. - * @param {*} [thisArg] The `this` binding of `predicate`. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'user': 'fred', 'age': 40 }; - * - * _.pick(object, 'user'); - * // => { 'user': 'fred' } - * - * _.pick(object, _.isString); - * // => { 'user': 'fred' } - */ - var pick = restParam(function(object, props) { - if (object == null) { - return {}; - } - return typeof props[0] == 'function' - ? pickByCallback(object, bindCallback(props[0], props[1], 3)) - : pickByArray(object, baseFlatten(props)); - }); - - /** - * This method is like `_.get` except that if the resolved value is a function - * it is invoked with the `this` binding of its parent object and its result - * is returned. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to resolve. - * @param {*} [defaultValue] The value returned if the resolved value is `undefined`. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; - * - * _.result(object, 'a[0].b.c1'); - * // => 3 - * - * _.result(object, 'a[0].b.c2'); - * // => 4 - * - * _.result(object, 'a.b.c', 'default'); - * // => 'default' - * - * _.result(object, 'a.b.c', _.constant('default')); - * // => 'default' - */ - function result(object, path, defaultValue) { - var result = object == null ? undefined : object[path]; - if (result === undefined) { - if (object != null && !isKey(path, object)) { - path = toPath(path); - object = - path.length == 1 - ? object - : baseGet(object, baseSlice(path, 0, -1)); - result = object == null ? undefined : object[last(path)]; - } - result = result === undefined ? defaultValue : result; - } - return isFunction(result) ? result.call(object) : result; - } - - /** - * Sets the property value of `path` on `object`. If a portion of `path` - * does not exist it is created. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to augment. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @returns {Object} Returns `object`. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.set(object, 'a[0].b.c', 4); - * console.log(object.a[0].b.c); - * // => 4 - * - * _.set(object, 'x[0].y.z', 5); - * console.log(object.x[0].y.z); - * // => 5 - */ - function set(object, path, value) { - if (object == null) { - return object; - } - var pathKey = path + ''; - path = - object[pathKey] != null || isKey(path, object) - ? [pathKey] - : toPath(path); - - var index = -1, - length = path.length, - lastIndex = length - 1, - nested = object; - - while (nested != null && ++index < length) { - var key = path[index]; - if (isObject(nested)) { - if (index == lastIndex) { - nested[key] = value; - } else if (nested[key] == null) { - nested[key] = isIndex(path[index + 1]) ? [] : {}; - } - } - nested = nested[key]; - } - return object; - } - - /** - * An alternative to `_.reduce`; this method transforms `object` to a new - * `accumulator` object which is the result of running each of its own enumerable - * properties through `iteratee`, with each invocation potentially mutating - * the `accumulator` object. The `iteratee` is bound to `thisArg` and invoked - * with four arguments: (accumulator, value, key, object). Iteratee functions - * may exit iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @category Object - * @param {Array|Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The custom accumulator value. - * @param {*} [thisArg] The `this` binding of `iteratee`. - * @returns {*} Returns the accumulated value. - * @example - * - * _.transform([2, 3, 4], function(result, n) { - * result.push(n *= n); - * return n % 2 == 0; - * }); - * // => [4, 9] - * - * _.transform({ 'a': 1, 'b': 2 }, function(result, n, key) { - * result[key] = n * 3; - * }); - * // => { 'a': 3, 'b': 6 } - */ - function transform(object, iteratee, accumulator, thisArg) { - var isArr = isArray(object) || isTypedArray(object); - iteratee = getCallback(iteratee, thisArg, 4); - - if (accumulator == null) { - if (isArr || isObject(object)) { - var Ctor = object.constructor; - if (isArr) { - accumulator = isArray(object) ? new Ctor() : []; - } else { - accumulator = baseCreate( - isFunction(Ctor) ? Ctor.prototype : undefined - ); - } - } else { - accumulator = {}; - } - } - (isArr ? arrayEach : baseForOwn)(object, function( - value, - index, - object - ) { - return iteratee(accumulator, value, index, object); - }); - return accumulator; - } - - /** - * Creates an array of the own enumerable property values of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property values. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.values(new Foo); - * // => [1, 2] (iteration order is not guaranteed) - * - * _.values('hi'); - * // => ['h', 'i'] - */ - function values(object) { - return baseValues(object, keys(object)); - } - - /** - * Creates an array of the own and inherited enumerable property values - * of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property values. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.valuesIn(new Foo); - * // => [1, 2, 3] (iteration order is not guaranteed) - */ - function valuesIn(object) { - return baseValues(object, keysIn(object)); - } - - /*------------------------------------------------------------------------*/ - - /** - * Checks if `n` is between `start` and up to but not including, `end`. If - * `end` is not specified it is set to `start` with `start` then set to `0`. - * - * @static - * @memberOf _ - * @category Number - * @param {number} n The number to check. - * @param {number} [start=0] The start of the range. - * @param {number} end The end of the range. - * @returns {boolean} Returns `true` if `n` is in the range, else `false`. - * @example - * - * _.inRange(3, 2, 4); - * // => true - * - * _.inRange(4, 8); - * // => true - * - * _.inRange(4, 2); - * // => false - * - * _.inRange(2, 2); - * // => false - * - * _.inRange(1.2, 2); - * // => true - * - * _.inRange(5.2, 4); - * // => false - */ - function inRange(value, start, end) { - start = +start || 0; - if (end === undefined) { - end = start; - start = 0; - } else { - end = +end || 0; - } - return ( - value >= nativeMin(start, end) && - value < nativeMax(start, end) - ); - } - - /** - * Produces a random number between `min` and `max` (inclusive). If only one - * argument is provided a number between `0` and the given number is returned. - * If `floating` is `true`, or either `min` or `max` are floats, a floating-point - * number is returned instead of an integer. - * - * @static - * @memberOf _ - * @category Number - * @param {number} [min=0] The minimum possible value. - * @param {number} [max=1] The maximum possible value. - * @param {boolean} [floating] Specify returning a floating-point number. - * @returns {number} Returns the random number. - * @example - * - * _.random(0, 5); - * // => an integer between 0 and 5 - * - * _.random(5); - * // => also an integer between 0 and 5 - * - * _.random(5, true); - * // => a floating-point number between 0 and 5 - * - * _.random(1.2, 5.2); - * // => a floating-point number between 1.2 and 5.2 - */ - function random(min, max, floating) { - if (floating && isIterateeCall(min, max, floating)) { - max = floating = undefined; - } - var noMin = min == null, - noMax = max == null; - - if (floating == null) { - if (noMax && typeof min == 'boolean') { - floating = min; - min = 1; - } else if (typeof max == 'boolean') { - floating = max; - noMax = true; - } - } - if (noMin && noMax) { - max = 1; - noMax = false; - } - min = +min || 0; - if (noMax) { - max = min; - min = 0; - } else { - max = +max || 0; - } - if (floating || min % 1 || max % 1) { - var rand = nativeRandom(); - return nativeMin( - min + - rand * - (max - - min + - parseFloat('1e-' + ((rand + '').length - 1))), - max - ); - } - return baseRandom(min, max); - } - - /*------------------------------------------------------------------------*/ - - /** - * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the camel cased string. - * @example - * - * _.camelCase('Foo Bar'); - * // => 'fooBar' - * - * _.camelCase('--foo-bar'); - * // => 'fooBar' - * - * _.camelCase('__foo_bar__'); - * // => 'fooBar' - */ - var camelCase = createCompounder(function(result, word, index) { - word = word.toLowerCase(); - return ( - result + - (index ? word.charAt(0).toUpperCase() + word.slice(1) : word) - ); - }); - - /** - * Capitalizes the first character of `string`. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to capitalize. - * @returns {string} Returns the capitalized string. - * @example - * - * _.capitalize('fred'); - * // => 'Fred' - */ - function capitalize(string) { - string = baseToString(string); - return ( - string && string.charAt(0).toUpperCase() + string.slice(1) - ); - } - - /** - * Deburrs `string` by converting [latin-1 supplementary letters](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) - * to basic latin letters and removing [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to deburr. - * @returns {string} Returns the deburred string. - * @example - * - * _.deburr('déjà vu'); - * // => 'deja vu' - */ - function deburr(string) { - string = baseToString(string); - return ( - string && - string - .replace(reLatin1, deburrLetter) - .replace(reComboMark, '') - ); - } - - /** - * Checks if `string` ends with the given target string. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to search. - * @param {string} [target] The string to search for. - * @param {number} [position=string.length] The position to search from. - * @returns {boolean} Returns `true` if `string` ends with `target`, else `false`. - * @example - * - * _.endsWith('abc', 'c'); - * // => true - * - * _.endsWith('abc', 'b'); - * // => false - * - * _.endsWith('abc', 'b', 2); - * // => true - */ - function endsWith(string, target, position) { - string = baseToString(string); - target = target + ''; - - var length = string.length; - position = - position === undefined - ? length - : nativeMin(position < 0 ? 0 : +position || 0, length); - - position -= target.length; - return ( - position >= 0 && string.indexOf(target, position) == position - ); - } - - /** - * Converts the characters "&", "<", ">", '"', "'", and "\`", in `string` to - * their corresponding HTML entities. - * - * **Note:** No other characters are escaped. To escape additional characters - * use a third-party library like [_he_](https://mths.be/he). - * - * Though the ">" character is escaped for symmetry, characters like - * ">" and "/" don't need escaping in HTML and have no special meaning - * unless they're part of a tag or unquoted attribute value. - * See [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) - * (under "semi-related fun fact") for more details. - * - * Backticks are escaped because in Internet Explorer < 9, they can break out - * of attribute values or HTML comments. See [#59](https://html5sec.org/#59), - * [#102](https://html5sec.org/#102), [#108](https://html5sec.org/#108), and - * [#133](https://html5sec.org/#133) of the [HTML5 Security Cheatsheet](https://html5sec.org/) - * for more details. - * - * When working with HTML you should always [quote attribute values](http://wonko.com/post/html-escaping) - * to reduce XSS vectors. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escape('fred, barney, & pebbles'); - * // => 'fred, barney, & pebbles' - */ - function escape(string) { - // Reset `lastIndex` because in IE < 9 `String#replace` does not. - string = baseToString(string); - return string && reHasUnescapedHtml.test(string) - ? string.replace(reUnescapedHtml, escapeHtmlChar) - : string; - } - - /** - * Escapes the `RegExp` special characters "\", "/", "^", "$", ".", "|", "?", - * "*", "+", "(", ")", "[", "]", "{" and "}" in `string`. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escapeRegExp('[lodash](https://lodash.com/)'); - * // => '\[lodash\]\(https:\/\/lodash\.com\/\)' - */ - function escapeRegExp(string) { - string = baseToString(string); - return string && reHasRegExpChars.test(string) - ? string.replace(reRegExpChars, escapeRegExpChar) - : string || '(?:)'; - } - - /** - * Converts `string` to [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the kebab cased string. - * @example - * - * _.kebabCase('Foo Bar'); - * // => 'foo-bar' - * - * _.kebabCase('fooBar'); - * // => 'foo-bar' - * - * _.kebabCase('__foo_bar__'); - * // => 'foo-bar' - */ - var kebabCase = createCompounder(function(result, word, index) { - return result + (index ? '-' : '') + word.toLowerCase(); - }); - - /** - * Pads `string` on the left and right sides if it's shorter than `length`. - * Padding characters are truncated if they can't be evenly divided by `length`. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.pad('abc', 8); - * // => ' abc ' - * - * _.pad('abc', 8, '_-'); - * // => '_-abc_-_' - * - * _.pad('abc', 3); - * // => 'abc' - */ - function pad(string, length, chars) { - string = baseToString(string); - length = +length; - - var strLength = string.length; - if (strLength >= length || !nativeIsFinite(length)) { - return string; - } - var mid = (length - strLength) / 2, - leftLength = nativeFloor(mid), - rightLength = nativeCeil(mid); - - chars = createPadding('', rightLength, chars); - return chars.slice(0, leftLength) + string + chars; - } - - /** - * Pads `string` on the left side if it's shorter than `length`. Padding - * characters are truncated if they exceed `length`. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.padLeft('abc', 6); - * // => ' abc' - * - * _.padLeft('abc', 6, '_-'); - * // => '_-_abc' - * - * _.padLeft('abc', 3); - * // => 'abc' - */ - var padLeft = createPadDir(); - - /** - * Pads `string` on the right side if it's shorter than `length`. Padding - * characters are truncated if they exceed `length`. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.padRight('abc', 6); - * // => 'abc ' - * - * _.padRight('abc', 6, '_-'); - * // => 'abc_-_' - * - * _.padRight('abc', 3); - * // => 'abc' - */ - var padRight = createPadDir(true); - - /** - * Converts `string` to an integer of the specified radix. If `radix` is - * `undefined` or `0`, a `radix` of `10` is used unless `value` is a hexadecimal, - * in which case a `radix` of `16` is used. - * - * **Note:** This method aligns with the [ES5 implementation](https://es5.github.io/#E) - * of `parseInt`. - * - * @static - * @memberOf _ - * @category String - * @param {string} string The string to convert. - * @param {number} [radix] The radix to interpret `value` by. - * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. - * @returns {number} Returns the converted integer. - * @example - * - * _.parseInt('08'); - * // => 8 - * - * _.map(['6', '08', '10'], _.parseInt); - * // => [6, 8, 10] - */ - function parseInt(string, radix, guard) { - // Firefox < 21 and Opera < 15 follow ES3 for `parseInt`. - // Chrome fails to trim leading whitespace characters. - // See https://code.google.com/p/v8/issues/detail?id=3109 for more details. - if ( - guard ? isIterateeCall(string, radix, guard) : radix == null - ) { - radix = 0; - } else if (radix) { - radix = +radix; - } - string = trim(string); - return nativeParseInt( - string, - radix || (reHasHexPrefix.test(string) ? 16 : 10) - ); - } - - /** - * Repeats the given string `n` times. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to repeat. - * @param {number} [n=0] The number of times to repeat the string. - * @returns {string} Returns the repeated string. - * @example - * - * _.repeat('*', 3); - * // => '***' - * - * _.repeat('abc', 2); - * // => 'abcabc' - * - * _.repeat('abc', 0); - * // => '' - */ - function repeat(string, n) { - var result = ''; - string = baseToString(string); - n = +n; - if (n < 1 || !string || !nativeIsFinite(n)) { - return result; - } - // Leverage the exponentiation by squaring algorithm for a faster repeat. - // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. - do { - if (n % 2) { - result += string; - } - n = nativeFloor(n / 2); - string += string; - } while (n); - - return result; - } - - /** - * Converts `string` to [snake case](https://en.wikipedia.org/wiki/Snake_case). - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the snake cased string. - * @example - * - * _.snakeCase('Foo Bar'); - * // => 'foo_bar' - * - * _.snakeCase('fooBar'); - * // => 'foo_bar' - * - * _.snakeCase('--foo-bar'); - * // => 'foo_bar' - */ - var snakeCase = createCompounder(function(result, word, index) { - return result + (index ? '_' : '') + word.toLowerCase(); - }); - - /** - * Converts `string` to [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the start cased string. - * @example - * - * _.startCase('--foo-bar'); - * // => 'Foo Bar' - * - * _.startCase('fooBar'); - * // => 'Foo Bar' - * - * _.startCase('__foo_bar__'); - * // => 'Foo Bar' - */ - var startCase = createCompounder(function(result, word, index) { - return ( - result + - (index ? ' ' : '') + - (word.charAt(0).toUpperCase() + word.slice(1)) - ); - }); - - /** - * Checks if `string` starts with the given target string. - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The string to search. - * @param {string} [target] The string to search for. - * @param {number} [position=0] The position to search from. - * @returns {boolean} Returns `true` if `string` starts with `target`, else `false`. - * @example - * - * _.startsWith('abc', 'a'); - * // => true - * - * _.startsWith('abc', 'b'); - * // => false - * - * _.startsWith('abc', 'b', 1); - * // => true - */ - function startsWith(string, target, position) { - string = baseToString(string); - position = - position == null - ? 0 - : nativeMin( - position < 0 ? 0 : +position || 0, - string.length - ); - - return string.lastIndexOf(target, position) == position; - } - - /** - * Creates a compiled template function that can interpolate data properties - * in "interpolate" delimiters, HTML-escape interpolated data properties in - * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data - * properties may be accessed as free variables in the template. If a setting - * object is provided it takes precedence over `_.templateSettings` values. - * - * **Note:** In the development build `_.template` utilizes - * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) - * for easier debugging. - * - * For more information on precompiling templates see - * [lodash's custom builds documentation](https://lodash.com/custom-builds). - * - * For more information on Chrome extension sandboxes see - * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). - * - * @static - * @memberOf _ - * @category String - * @param {string} [string=''] The template string. - * @param {Object} [options] The options object. - * @param {RegExp} [options.escape] The HTML "escape" delimiter. - * @param {RegExp} [options.evaluate] The "evaluate" delimiter. - * @param {Object} [options.imports] An object to import into the template as free variables. - * @param {RegExp} [options.interpolate] The "interpolate" delimiter. - * @param {string} [options.sourceURL] The sourceURL of the template's compiled source. - * @param {string} [options.variable] The data object variable name. - * @param- {Object} [otherOptions] Enables the legacy `options` param signature. - * @returns {Function} Returns the compiled template function. - * @example - * - * // using the "interpolate" delimiter to create a compiled template - * var compiled = _.template('hello <%= user %>!'); - * compiled({ 'user': 'fred' }); - * // => 'hello fred!' - * - * // using the HTML "escape" delimiter to escape data property values - * var compiled = _.template('<%- value %>'); - * compiled({ 'value': ' -// this path can be used to identify the location of -// * sass.worker.js from sass.js -// * libsass.js.mem from sass.sync.js -// see https://github.com/medialize/sass.js/pull/32#issuecomment-103142214 -// see https://github.com/medialize/sass.js/issues/33 -var SASSJS_RELATIVE_PATH = (function() { - 'use strict'; - - // in Node things are rather simple - if (typeof __dirname !== 'undefined') { - return __dirname; - } - - // we can only run this test in the browser, - // so make sure we actually have a DOM to work with. - if (typeof document === 'undefined' || !document.getElementsByTagName) { - return null; - } - - // http://www.2ality.com/2014/05/current-script.html - var currentScript = document.currentScript || (function() { - var scripts = document.getElementsByTagName('script'); - return scripts[scripts.length - 1]; - })(); - - var path = currentScript && currentScript.src; - if (!path) { - return null; - } - - // [worker] make sure we're not running in some concatenated thing - if (path.slice(-8) === '/sass.js') { - return path.slice(0, -8); - } - - // [sync] make sure we're not running in some concatenated thing - if (path.slice(-13) === '/sass.sync.js') { - return path.slice(0, -13); - } - - return null; -})() || '.'; - -/*global Worker, SASSJS_RELATIVE_PATH*/ -'use strict'; - -var noop = function(){}; -var slice = [].slice; -// defined upon first Sass.initialize() call -var globalWorkerUrl; - -function Sass(workerUrl) { - if (!workerUrl && !globalWorkerUrl) { - /*jshint laxbreak:true */ - throw new Error( - 'Sass needs to be initialized with the URL of sass.worker.js - ' - + 'either via Sass.setWorkerUrl(url) or by new Sass(url)' - ); - /*jshint laxbreak:false */ - } - - if (!globalWorkerUrl) { - globalWorkerUrl = workerUrl; - } - - // bind all functions - // we're doing this because we used to have a single hard-wired instance that allowed - // [].map(Sass.removeFile) and we need to maintain that for now (at least until 1.0.0) - for (var key in this) { - if (typeof this[key] === 'function') { - this[key] = this[key].bind(this); - } - } - - this._callbacks = {}; - this._worker = new Worker(workerUrl || globalWorkerUrl); - this._worker.addEventListener('message', this._handleWorkerMessage, false); -} - -// allow setting the workerUrl before the first Sass instance is initialized, -// where registering the global workerUrl would've happened automatically -Sass.setWorkerUrl = function(workerUrl) { - globalWorkerUrl = workerUrl; -}; - -Sass.style = { - nested: 0, - expanded: 1, - compact: 2, - compressed: 3 -}; - -Sass.comments = { - 'none': 0, - 'default': 1 -}; - -Sass.prototype = { - style: Sass.style, - comments: Sass.comments, - - destroy: function() { - this._worker && this._worker.terminate(); - this._worker = null; - this._callbacks = {}; - this._importer = null; - }, - - _handleWorkerMessage: function(event) { - if (event.data.command) { - this[event.data.command](event.data.args); - } - - this._callbacks[event.data.id] && this._callbacks[event.data.id](event.data.result); - delete this._callbacks[event.data.id]; - }, - - _dispatch: function(options, callback) { - if (!this._worker) { - throw new Error('Sass worker has been terminated'); - } - - options.id = 'cb' + Date.now() + Math.random(); - this._callbacks[options.id] = callback; - this._worker.postMessage(options); - }, - - _importerInit: function(args) { - // importer API done callback pushing results - // back to the worker - var done = function done(result) { - this._worker.postMessage({ - command: '_importerFinish', - args: [result] - }); - }.bind(this); - - try { - this._importer(args[0], done); - } catch(e) { - done({ error: e.message }); - throw e; - } - }, - - importer: function(importerCallback, callback) { - if (typeof importerCallback !== 'function' && importerCallback !== null) { - throw new Error('importer callback must either be a function or null'); - } - - // callback is executed in the main EventLoop - this._importer = importerCallback; - // tell worker to activate importer callback - this._worker.postMessage({ - command: 'importer', - args: [Boolean(importerCallback)] - }); - - callback && callback(); - }, -}; - -var commands = 'writeFile readFile listFiles removeFile clearFiles lazyFiles preloadFiles options compile compileFile'; -commands.split(' ').forEach(function(command) { - Sass.prototype[command] = function() { - var callback = slice.call(arguments, -1)[0]; - var args = slice.call(arguments, 0, -1); - if (typeof callback !== 'function') { - args.push(callback); - callback = noop; - } - - this._dispatch({ - command: command, - args: args - }, callback); - }; -}); - -// automatically set the workerUrl in case we're loaded by a simple -// -// see https://github.com/medialize/sass.js/pull/32#issuecomment-103142214 -Sass.setWorkerUrl(SASSJS_RELATIVE_PATH + '/sass.worker.js'); -return Sass; -})); \ No newline at end of file diff --git a/app/lib/sass.worker.js b/app/lib/sass.worker.js deleted file mode 100644 index 595cb5a..0000000 --- a/app/lib/sass.worker.js +++ /dev/null @@ -1,813 +0,0 @@ -/*! sass.js - v0.9.10 (9a781bf) - built 2016-04-24 - providing libsass 3.3.6 (3ae9a20) - via emscripten 1.36.1 (d5085ed) - */ -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"&&typeof require==="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=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};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(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));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){return Module["dynCall_"+sig].apply(null,[ptr].concat(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};Module["Runtime"]=Runtime;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 cwrap,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_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;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)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;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)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;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}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;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}Module["lengthBytesUTF8"]=lengthBytesUTF8;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){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}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(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}Module["stackTrace"]=stackTrace;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 updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}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;if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var LIMIT=Math.pow(2,31);if(DYNAMICTOP>=LIMIT)return false;while(TOTAL_MEMORY<=DYNAMICTOP){if(TOTAL_MEMORY=LIMIT)return false;var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement)return false;updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}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)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;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}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;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"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];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 Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[(function($0,$1,$2){{Sass._sassCompileEmscriptenSuccess(pointerToString($0),pointerToJson($1),pointerToStringArray($2))}}),(function($0,$1){{Sass._sassCompileEmscriptenError(pointerToJson($0),pointerToString($1))}}),(function($0,$1){{Importer.find(pointerToString($0),pointerToString($1))}}),(function($0){{return Number(Importer.finished())}}),(function($0){{return Number(Importer.error())}}),(function($0){{return Number(Importer.path())}}),(function($0){{return Number(Importer.content())}})];function _emscripten_asm_const_iiii(code,a0,a1,a2){return ASM_CONSTS[code](a0,a1,a2)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}STATIC_BASE=8;STATICTOP=STATIC_BASE+78112;__ATINIT__.push({func:(function(){__GLOBAL__I_000101()})},{func:(function(){__GLOBAL__sub_I_bind_cpp()})},{func:(function(){__GLOBAL__sub_I_color_maps_cpp()})},{func:(function(){__GLOBAL__sub_I_context_cpp()})},{func:(function(){__GLOBAL__sub_I_cssize_cpp()})},{func:(function(){__GLOBAL__sub_I_emitter_cpp()})},{func:(function(){__GLOBAL__sub_I_environment_cpp()})},{func:(function(){__GLOBAL__sub_I_error_handling_cpp()})},{func:(function(){__GLOBAL__sub_I_eval_cpp()})},{func:(function(){__GLOBAL__sub_I_expand_cpp()})},{func:(function(){__GLOBAL__sub_I_extend_cpp()})},{func:(function(){__GLOBAL__sub_I_file_cpp()})},{func:(function(){__GLOBAL__sub_I_functions_cpp()})},{func:(function(){__GLOBAL__sub_I_inspect_cpp()})},{func:(function(){__GLOBAL__sub_I_listize_cpp()})},{func:(function(){__GLOBAL__sub_I_memory_manager_cpp()})},{func:(function(){__GLOBAL__sub_I_node_cpp()})},{func:(function(){__GLOBAL__sub_I_output_cpp()})},{func:(function(){__GLOBAL__sub_I_parser_cpp()})},{func:(function(){__GLOBAL__sub_I_remove_placeholders_cpp()})},{func:(function(){__GLOBAL__sub_I_sass_cpp()})},{func:(function(){__GLOBAL__sub_I_sass_util_cpp()})},{func:(function(){__GLOBAL__sub_I_sass_values_cpp()})},{func:(function(){__GLOBAL__sub_I_sass_context_cpp()})},{func:(function(){__GLOBAL__sub_I_sass_functions_cpp()})},{func:(function(){__GLOBAL__sub_I_sass2scss_cpp()})},{func:(function(){__GLOBAL__sub_I_source_map_cpp()})},{func:(function(){__GLOBAL__sub_I_to_c_cpp()})},{func:(function(){__GLOBAL__sub_I_to_value_cpp()})},{func:(function(){__GLOBAL__sub_I_values_cpp()})},{func:(function(){__GLOBAL__sub_I_util_cpp()})},{func:(function(){__GLOBAL__sub_I_ast_cpp()})},{func:(function(){__GLOBAL__sub_I_iostream_cpp()})});allocate([232,96,0,0,12,101,0,0,24,0,0,0,0,0,0,0,192,96,0,0,29,101,0,0,232,96,0,0,52,101,0,0,48,0,0,0,0,0,0,0,232,96,0,0,79,101,0,0,64,0,0,0,0,0,0,0,232,96,0,0,107,101,0,0,8,0,0,0,0,0,0,0,232,96,0,0,127,101,0,0,48,0,0,0,0,0,0,0,232,96,0,0,154,101,0,0,112,0,0,0,0,0,0,0,232,96,0,0,179,101,0,0,64,0,0,0,0,0,0,0,232,96,0,0,196,101,0,0,96,0,0,0,0,0,0,0,232,96,0,0,221,101,0,0,96,0,0,0,0,0,0,0,236,97,0,0,247,101,0,0,0,0,0,0,2,0,0,0,112,0,0,0,2,0,0,0,192,0,0,0,2,68,0,0,192,96,0,0,14,102,0,0,232,96,0,0,59,102,0,0,112,0,0,0,0,0,0,0,236,97,0,0,85,102,0,0,0,0,0,0,2,0,0,0,112,0,0,0,2,0,0,0,248,0,0,0,2,68,0,0,192,96,0,0,112,102,0,0,236,97,0,0,156,102,0,0,0,0,0,0,2,0,0,0,32,1,0,0,2,0,0,0,48,1,0,0,2,56,0,0,232,96,0,0,169,102,0,0,64,0,0,0,0,0,0,0,192,96,0,0,183,102,0,0,232,96,0,0,222,102,0,0,96,0,0,0,0,0,0,0,232,96,0,0,245,102,0,0,96,0,0,0,0,0,0,0,236,97,0,0,17,103,0,0,0,0,0,0,2,0,0,0,120,1,0,0,2,0,0,0,48,1,0,0,2,60,0,0,232,96,0,0,40,103,0,0,32,1,0,0,0,0,0,0,232,96,0,0,55,103,0,0,32,1,0,0,0,0,0,0,192,96,0,0,70,103,0,0,232,96,0,0,86,103,0,0,224,16,0,0,0,0,0,0,232,96,0,0,183,103,0,0,120,1,0,0,0,0,0,0,232,96,0,0,160,103,0,0,176,1,0,0,0,0,0,0,232,96,0,0,208,103,0,0,32,1,0,0,0,0,0,0,232,96,0,0,224,103,0,0,32,1,0,0,0,0,0,0,236,97,0,0,238,103,0,0,0,0,0,0,2,0,0,0,32,1,0,0,2,0,0,0,16,2,0,0,2,56,0,0,192,96,0,0,250,103,0,0,232,96,0,0,9,104,0,0,40,2,0,0,0,0,0,0,232,96,0,0,25,104,0,0,56,2,0,0,0,0,0,0,232,96,0,0,43,104,0,0,8,0,0,0,0,0,0,0,232,96,0,0,61,104,0,0,40,2,0,0,0,0,0,0,232,96,0,0,90,104,0,0,64,0,0,0,0,0,0,0,232,96,0,0,140,104,0,0,120,2,0,0,0,0,0,0,232,96,0,0,167,104,0,0,64,0,0,0,0,0,0,0,232,96,0,0,184,104,0,0,64,0,0,0,0,0,0,0,236,97,0,0,200,104,0,0,0,0,0,0,2,0,0,0,64,0,0,0,2,0,0,0,184,2,0,0,2,56,0,0,192,96,0,0,218,104,0,0,232,96,0,0,98,106,0,0,32,1,0,0,0,0,0,0,232,96,0,0,111,106,0,0,112,0,0,0,0,0,0,0,232,96,0,0,136,106,0,0,96,0,0,0,0,0,0,0,232,96,0,0,208,106,0,0,96,0,0,0,0,0,0,0,232,96,0,0,235,107,0,0,96,0,0,0,0,0,0,0,232,96,0,0,9,108,0,0,32,3,0,0,0,0,0,0,232,96,0,0,42,108,0,0,64,17,0,0,0,0,0,0,232,96,0,0,151,108,0,0,64,3,0,0,0,0,0,0,232,96,0,0,188,108,0,0,64,17,0,0,0,0,0,0,232,96,0,0,52,109,0,0,64,12,0,0,0,0,0,0,232,96,0,0,121,109,0,0,208,11,0,0,0,0,0,0,192,96,0,0,106,117,0,0,232,96,0,0,127,117,0,0,40,2,0,0,0,0,0,0,232,96,0,0,147,117,0,0,224,11,0,0,0,0,0,0,232,96,0,0,217,117,0,0,16,12,0,0,0,0,0,0,232,96,0,0,83,118,0,0,112,3,0,0,0,0,0,0,236,97,0,0,144,118,0,0,0,0,0,0,1,0,0,0,208,3,0,0,0,0,0,0,192,96,0,0,207,118,0,0,232,96,0,0,37,119,0,0,32,3,0,0,0,0,0,0,232,96,0,0,70,119,0,0,112,3,0,0,0,0,0,0,232,96,0,0,219,119,0,0,120,2,0,0,0,0,0,0,232,96,0,0,49,120,0,0,56,2,0,0,0,0,0,0,232,96,0,0,64,120,0,0,56,2,0,0,0,0,0,0,232,96,0,0,85,120,0,0,56,4,0,0,0,0,0,0,232,96,0,0,100,120,0,0,72,4,0,0,0,0,0,0,192,96,0,0,152,120,0,0,192,96,0,0,187,120,0,0,236,97,0,0,224,120,0,0,0,0,0,0,2,0,0,0,56,2,0,0,2,0,0,0,80,4,0,0,2,64,0,0,232,96,0,0,238,120,0,0,56,2,0,0,0,0,0,0,232,96,0,0,253,120,0,0,40,2,0,0,0,0,0,0,232,96,0,0,52,121,0,0,40,2,0,0,0,0,0,0,232,96,0,0,76,121,0,0,40,2,0,0,0,0,0,0,232,96,0,0,99,121,0,0,40,2,0,0,0,0,0,0,232,96,0,0,144,121,0,0,56,2,0,0,0,0,0,0,192,96,0,0,165,121,0,0,236,97,0,0,216,121,0,0,0,0,0,0,2,0,0,0,64,0,0,0,2,0,0,0,216,4,0,0,2,56,0,0,232,96,0,0,17,122,0,0,32,3,0,0,0,0,0,0,232,96,0,0,83,122,0,0,32,3,0,0,0,0,0,0,232,96,0,0,145,122,0,0,64,3,0,0,0,0,0,0,232,96,0,0,183,122,0,0,32,5,0,0,0,0,0,0,232,96,0,0,223,122,0,0,64,3,0,0,0,0,0,0,232,96,0,0,35,123,0,0,32,3,0,0,0,0,0,0,232,96,0,0,100,123,0,0,32,3,0,0,0,0,0,0,232,96,0,0,144,123,0,0,32,3,0,0,0,0,0,0,232,96,0,0,176,123,0,0,64,3,0,0,0,0,0,0,232,96,0,0,248,123,0,0,32,3,0,0,0,0,0,0,232,96,0,0,9,125,0,0,176,5,0,0,0,0,0,0,232,96,0,0,22,125,0,0,192,5,0,0,0,0,0,0,192,96,0,0,74,125,0,0,232,96,0,0,230,125,0,0,120,2,0,0,0,0,0,0,232,96,0,0,73,127,0,0,48,0,0,0,0,0,0,0,232,96,0,0,103,127,0,0,48,0,0,0,0,0,0,0,232,96,0,0,135,127,0,0,64,0,0,0,0,0,0,0,232,96,0,0,167,127,0,0,64,0,0,0,0,0,0,0,232,96,0,0,244,127,0,0,40,6,0,0,0,0,0,0,232,96,0,0,3,128,0,0,72,4,0,0,0,0,0,0,232,96,0,0,56,129,0,0,56,2,0,0,0,0,0,0,232,96,0,0,93,129,0,0,56,2,0,0,0,0,0,0,232,96,0,0,205,129,0,0,40,2,0,0,0,0,0,0,236,97,0,0,3,131,0,0,0,0,0,0,2,0,0,0,8,0,0,0,2,0,0,0,136,6,0,0,2,48,0,0,192,96,0,0,23,131,0,0,232,96,0,0,68,132,0,0,160,6,0,0,0,0,0,0,232,96,0,0,83,132,0,0,176,6,0,0,0,0,0,0,192,96,0,0,121,132,0,0,232,96,0,0,216,133,0,0,224,11,0,0,0,0,0,0,232,96,0,0,8,134,0,0,208,11,0,0,0,0,0,0,232,96,0,0,103,146,0,0,232,6,0,0,0,0,0,0,232,96,0,0,131,146,0,0,224,16,0,0,0,0,0,0,232,96,0,0,149,146,0,0,232,6,0,0,0,0,0,0,232,96,0,0,174,146,0,0,232,6,0,0,0,0,0,0,236,97,0,0,43,151,0,0,0,0,0,0,2,0,0,0,56,7,0,0,2,0,0,0,152,1,0,0,2,4,0,0,232,96,0,0,59,151,0,0,176,6,0,0,0,0,0,0,232,96,0,0,131,153,0,0,88,7,0,0,0,0,0,0,232,96,0,0,147,153,0,0,192,5,0,0,0,0,0,0,232,96,0,0,206,153,0,0,72,11,0,0,0,0,0,0,232,96,0,0,88,155,0,0,24,7,0,0,0,0,0,0,232,96,0,0,211,157,0,0,64,0,0,0,0,0,0,0,232,96,0,0,241,157,0,0,64,0,0,0,0,0,0,0,232,96,0,0,243,159,0,0,56,2,0,0,0,0,0,0,232,96,0,0,74,160,0,0,56,2,0,0,0,0,0,0,232,96,0,0,88,160,0,0,56,2,0,0,0,0,0,0,232,96,0,0,144,160,0,0,40,2,0,0,0,0,0,0,232,96,0,0,43,161,0,0,40,2,0,0,0,0,0,0,232,96,0,0,143,161,0,0,40,2,0,0,0,0,0,0,232,96,0,0,156,161,0,0,40,2,0,0,0,0,0,0,232,96,0,0,170,161,0,0,56,2,0,0,0,0,0,0,232,96,0,0,171,163,0,0,56,2,0,0,0,0,0,0,232,96,0,0,141,164,0,0,56,2,0,0,0,0,0,0,232,96,0,0,242,165,0,0,8,0,0,0,0,0,0,0,232,96,0,0,160,166,0,0,40,2,0,0,0,0,0,0,232,96,0,0,125,167,0,0,120,8,0,0,0,0,0,0,232,96,0,0,154,167,0,0,176,6,0,0,0,0,0,0,232,96,0,0,147,173,0,0,152,8,0,0,0,0,0,0,232,96,0,0,160,173,0,0,168,8,0,0,0,0,0,0,192,96,0,0,208,173,0,0,232,96,0,0,8,174,0,0,192,8,0,0,0,0,0,0,232,96,0,0,25,174,0,0,208,8,0,0,0,0,0,0,192,96,0,0,75,174,0,0,0,0,0,0,0,0,240,63,82,184,30,133,235,81,4,64,0,0,0,0,0,0,24,64,102,102,102,102,102,102,57,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,88,64,76,38,147,201,100,50,217,63,0,0,0,0,0,0,240,63,185,92,46,151,203,229,2,64,0,0,0,0,0,0,36,64,22,139,197,98,177,88,60,64,185,92,46,151,203,229,66,64,85,85,85,85,85,85,197,63,24,75,126,177,228,23,219,63,0,0,0,0,0,0,240,63,239,238,238,238,238,238,16,64,0,0,0,0,0,0,40,64,0,0,0,0,0,0,48,64,10,133,66,161,80,40,164,63,154,153,153,153,153,153,185,63,144,199,227,241,120,60,206,63,0,0,0,0,0,0,240,63,172,213,106,181,90,173,6,64,144,199,227,241,120,60,14,64,28,199,113,28,199,113,140,63,101,135,169,203,237,15,162,63,85,85,85,85,85,85,181,63,62,233,147,62,233,147,214,63,0,0,0,0,0,0,240,63,85,85,85,85,85,85,245,63,85,85,85,85,85,85,133,63,24,75,126,177,228,23,155,63,0,0,0,0,0,0,176,63,239,238,238,238,238,238,208,63,0,0,0,0,0,0,232,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,114,28,199,113,28,199,241,63,57,157,82,162,70,223,145,63,23,108,193,22,108,193,102,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,26,39,23,146,191,21,144,63,123,20,174,71,225,122,100,63,248,193,99,26,220,165,76,64,76,73,139,171,187,212,79,64,0,0,0,0,0,0,240,63,131,200,201,109,48,95,196,63,0,0,0,0,0,128,118,64,0,0,0,0,0,0,121,64,24,45,68,84,251,33,25,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,64,143,64,252,169,241,210,77,98,80,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,252,169,241,210,77,98,80,63,0,0,0,0,0,64,143,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,82,184,30,133,235,81,4,64,0,0,0,0,0,0,88,64,76,38,147,201,100,50,217,63,0,0,0,0,0,0,240,63,185,92,46,151,203,229,66,64,85,85,85,85,85,85,133,63,24,75,126,177,228,23,155,63,0,0,0,0,0,0,240,63,232,96,0,0,87,187,0,0,208,11,0,0,0,0,0,0,232,96,0,0,149,187,0,0,208,11,0,0,0,0,0,0,232,96,0,0,174,187,0,0,216,11,0,0,0,0,0,0,232,96,0,0,198,187,0,0,216,11,0,0,0,0,0,0,192,96,0,0,223,187,0,0,236,97,0,0,248,187,0,0,0,0,0,0,1,0,0,0,64,11,0,0,0,0,0,0,192,96,0,0,112,188,0,0,232,96,0,0,137,188,0,0,64,17,0,0,0,0,0,0,232,96,0,0,160,188,0,0,96,11,0,0,0,0,0,0,232,96,0,0,183,188,0,0,120,11,0,0,0,0,0,0,232,96,0,0,5,189,0,0,120,11,0,0,0,0,0,0,232,96,0,0,118,189,0,0,184,11,0,0,0,0,0,0,192,96,0,0,160,189,0,0,232,96,0,0,178,189,0,0,184,11,0,0,0,0,0,0,192,96,0,0,220,189,0,0,192,96,0,0,13,190,0,0,236,97,0,0,62,190,0,0,0,0,0,0,1,0,0,0,168,11,0,0,3,244,255,255,236,97,0,0,109,190,0,0,0,0,0,0,1,0,0,0,192,11,0,0,3,244,255,255,236,97,0,0,156,190,0,0,0,0,0,0,1,0,0,0,168,11,0,0,3,244,255,255,236,97,0,0,203,190,0,0,0,0,0,0,1,0,0,0,192,11,0,0,3,244,255,255,236,97,0,0,250,190,0,0,3,0,0,0,2,0,0,0,224,11,0,0,2,0,0,0,16,12,0,0,2,8,0,0,232,96,0,0,42,191,0,0,104,11,0,0,0,0,0,0,232,96,0,0,68,191,0,0,120,11,0,0,0,0,0,0,232,96,0,0,159,191,0,0,144,12,0,0,0,0,0,0,232,96,0,0,179,191,0,0,64,11,0,0,0,0,0,0,232,96,0,0,201,191,0,0,144,12,0,0,0,0,0,0,236,97,0,0,221,191,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,208,12,0,0,0,0,0,0,236,97,0,0,33,192,0,0,0,0,0,0,1,0,0,0,232,12,0,0,0,0,0,0,192,96,0,0,55,192,0,0,236,97,0,0,118,192,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,16,13,0,0,0,0,0,0,236,97,0,0,186,192,0,0,0,0,0,0,1,0,0,0,232,12,0,0,0,0,0,0,236,97,0,0,208,192,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,72,13,0,0,0,0,0,0,236,97,0,0,20,193,0,0,0,0,0,0,1,0,0,0,96,13,0,0,0,0,0,0,192,96,0,0,42,193,0,0,236,97,0,0,86,193,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,136,13,0,0,0,0,0,0,236,97,0,0,154,193,0,0,0,0,0,0,1,0,0,0,96,13,0,0,0,0,0,0,236,97,0,0,176,193,0,0,0,0,0,0,3,0,0,0,144,12,0,0,2,0,0,0,200,13,0,0,2,0,0,0,208,13,0,0,0,8,0,0,192,96,0,0,245,193,0,0,192,96,0,0,8,194,0,0,236,97,0,0,106,195,0,0,0,0,0,0,3,0,0,0,144,12,0,0,2,0,0,0,200,13,0,0,2,0,0,0,0,14,0,0,0,8,0,0,192,96,0,0,175,195,0,0,236,97,0,0,209,195,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,40,14,0,0,0,8,0,0,192,96,0,0,22,196,0,0,236,97,0,0,43,196,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,40,14,0,0,0,8,0,0,236,97,0,0,133,196,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,112,14,0,0,2,0,0,0,192,96,0,0,161,196,0,0,236,97,0,0,182,196,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,112,14,0,0,2,0,0,0,236,97,0,0,210,196,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,112,14,0,0,2,0,0,0,236,97,0,0,238,196,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,112,14,0,0,2,0,0,0,236,97,0,0,10,197,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,248,14,0,0,0,0,0,0,192,96,0,0,80,197,0,0,236,97,0,0,136,197,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,32,15,0,0,0,0,0,0,192,96,0,0,206,197,0,0,236,97,0,0,242,197,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,72,15,0,0,0,0,0,0,192,96,0,0,56,198,0,0,236,97,0,0,87,198,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,112,15,0,0,0,0,0,0,192,96,0,0,157,198,0,0,236,97,0,0,182,198,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,152,15,0,0,2,0,0,0,192,96,0,0,203,198,0,0,236,97,0,0,227,198,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,152,15,0,0,2,0,0,0,232,96,0,0,248,198,0,0,208,15,0,0,0,0,0,0,236,97,0,0,26,199,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,240,15,0,0,2,0,0,0,192,96,0,0,61,199,0,0,232,96,0,0,84,199,0,0,208,15,0,0,0,0,0,0,236,97,0,0,119,199,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,240,15,0,0,2,0,0,0,236,97,0,0,153,199,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,240,15,0,0,2,0,0,0,236,97,0,0,187,199,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,240,15,0,0,2,0,0,0,232,96,0,0,222,199,0,0,144,12,0,0,0,0,0,0,236,97,0,0,244,199,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,152,16,0,0,2,0,0,0,192,96,0,0,6,200,0,0,236,97,0,0,27,200,0,0,0,0,0,0,2,0,0,0,144,12,0,0,2,0,0,0,152,16,0,0,2,0,0,0,232,96,0,0,45,200,0,0,144,12,0,0,0,0,0,0,232,96,0,0,77,200,0,0,144,12,0,0,0,0,0,0,192,96,0,0,118,201,0,0,232,96,0,0,84,201,0,0,8,17,0,0,0,0,0,0,232,96,0,0,1,201,0,0,232,16,0,0,0,0,0,0,232,96,0,0,38,201,0,0,24,17,0,0,0,0,0,0,192,96,0,0,71,201,0,0,232,96,0,0,110,202,0,0,224,16,0,0,0,0,0,0,232,96,0,0,138,202,0,0,224,16,0,0,0,0,0,0,232,96,0,0,154,202,0,0,224,16,0,0,0,0,0,0,232,96,0,0,172,202,0,0,48,17,0,0,0,0,0,0,232,96,0,0,189,202,0,0,48,17,0,0,0,0,0,0,232,96,0,0,206,202,0,0,64,17,0,0,0,0,0,0,232,96,0,0,225,202,0,0,224,16,0,0,0,0,0,0,232,96,0,0,251,202,0,0,224,16,0,0,0,0,0,0,232,96,0,0,62,203,0,0,8,17,0,0,0,0,0,0,232,96,0,0,26,203,0,0,160,17,0,0,0,0,0,0,232,96,0,0,96,203,0,0,8,17,0,0,0,0,0,0,180,97,0,0,136,203,0,0,180,97,0,0,138,203,0,0,180,97,0,0,141,203,0,0,208,97,0,0,143,203,0,0,1,0,0,0,224,17,0,0,232,96,0,0,147,203,0,0,232,16,0,0,0,0,0,0,0,0,0,0,136,1,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,152,1,0,0,3,0,0,0,4,0,0,0,0,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,24,2,0,0,5,0,0,0,6,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,10,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,4,0,0,0,19,0,0,0,20,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,72,2,0,0,5,0,0,0,7,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,11,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,5,0,0,0,25,0,0,0,26,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,0,1,0,0,8,0,0,0,9,0,0,0,17,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,12,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,6,0,0,0,31,0,0,0,32,0,0,0,2,0,0,0,13,0,0,0,18,0,0,0,4,0,0,0,33,0,0,0,14,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,15,0,0,0,19,0,0,0,200,255,255,255,0,1,0,0,16,0,0,0,10,0,0,0,11,0,0,0,34,0,0,0,20,0,0,0,0,0,0,0,48,1,0,0,17,0,0,0,1,0,0,0,1,0,0,0,34,0,0,0,21,0,0,0,0,0,0,0,240,1,0,0,12,0,0,0,13,0,0,0,22,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,18,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,7,0,0,0,39,0,0,0,40,0,0,0,2,0,0,0,19,0,0,0,23,0,0,0,4,0,0,0,41,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,20,0,0,0,200,255,255,255,240,1,0,0,21,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,16,2,0,0,22,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,104,2,0,0,5,0,0,0,18,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,23,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,8,0,0,0,46,0,0,0,47,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,48,0,0,0,25,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,0,0,0,0,152,2,0,0,19,0,0,0,20,0,0,0,29,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,26,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,9,0,0,0,53,0,0,0,54,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,27,0,0,0,200,255,255,255,152,2,0,0,28,0,0,0,21,0,0,0,22,0,0,0,56,0,0,0,30,0,0,0,0,0,0,0,184,2,0,0,29,0,0,0,1,0,0,0,1,0,0,0,56,0,0,0,30,0,0,0,0,0,0,0,224,1,0,0,23,0,0,0,24,0,0,0,31,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,30,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,10,0,0,0,61,0,0,0,62,0,0,0,2,0,0,0,31,0,0,0,3,0,0,0,4,0,0,0,63,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,208,1,0,0,5,0,0,0,25,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,32,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,11,0,0,0,68,0,0,0,69,0,0,0,33,0,0,0,33,0,0,0,3,0,0,0,34,0,0,0,70,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,88,1,0,0,26,0,0,0,27,0,0,0,35,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,34,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,12,0,0,0,75,0,0,0,76,0,0,0,2,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,77,0,0,0,6,0,0,0,5,0,0,0,36,0,0,0,37,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,196,255,255,255,88,1,0,0,17,0,0,0,31,0,0,0,32,0,0,0,34,0,0,0,38,0,0,0,0,0,0,0,176,1,0,0,33,0,0,0,34,0,0,0,39,0,0,0,36,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,37,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,13,0,0,0,82,0,0,0,83,0,0,0,2,0,0,0,38,0,0,0,40,0,0,0,4,0,0,0,84,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,192,1,0,0,33,0,0,0,38,0,0,0,39,0,0,0,39,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,40,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,14,0,0,0,89,0,0,0,90,0,0,0,2,0,0,0,38,0,0,0,40,0,0,0,4,0,0,0,91,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,80,0,0,0,5,0,0,0,39,0,0,0,29,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,41,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,15,0,0,0,96,0,0,0,97,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,98,0,0,0,0,0,0,0,32,0,0,0,5,0,0,0,40,0,0,0,29,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,42,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,16,0,0,0,103,0,0,0,104,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,105,0,0,0,0,0,0,0,192,2,0,0,5,0,0,0,41,0,0,0,41,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,43,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,17,0,0,0,110,0,0,0,111,0,0,0,42,0,0,0,44,0,0,0,43,0,0,0,44,0,0,0,112,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,208,2,0,0,5,0,0,0,42,0,0,0,45,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,45,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,18,0,0,0,117,0,0,0,118,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,46,0,0,0,47,0,0,0,46,0,0,0,0,0,0,0,96,0,0,0,1,0,0,0,1,0,0,0,48,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,47,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,19,0,0,0,123,0,0,0,124,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,49,0,0,0,47,0,0,0,46,0,0,0,48,0,0,0,1,0,0,0,50,0,0,0,51,0,0,0,125,0,0,0,0,0,0,0,64,0,0,0,5,0,0,0,43,0,0,0,29,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,14,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,112,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,14,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,52,0,0,0,47,0,0,0,46,0,0,0,0,0,0,0,248,0,0,0,49,0,0,0,1,0,0,0,1,0,0,0,126,0,0,0,53,0,0,0,0,0,0,0,216,0,0,0,44,0,0,0,45,0,0,0,54,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,50,0,0,0,127,0,0,0,128,0,0,0,129,0,0,0,130,0,0,0,20,0,0,0,131,0,0,0,132,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,55,0,0,0,56,0,0,0,46,0,0,0,51,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,188,255,255,255,216,0,0,0,52,0,0,0,46,0,0,0,47,0,0,0,126,0,0,0,57,0,0,0,0,0,0,0,56,1,0,0,48,0,0,0,49,0,0,0,48,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,53,0,0,0,133,0,0,0,134,0,0,0,135,0,0,0,136,0,0,0,21,0,0,0,137,0,0,0,138,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,49,0,0,0,58,0,0,0,46,0,0,0,48,0,0,0,5,0,0,0,50,0,0,0,51,0,0,0,125,0,0,0,6,0,0,0,0,0,0,0,72,1,0,0,48,0,0,0,50,0,0,0,48,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,54,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,142,0,0,0,22,0,0,0,143,0,0,0,144,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,49,0,0,0,59,0,0,0,46,0,0,0,48,0,0,0,7,0,0,0,50,0,0,0,51,0,0,0,125,0,0,0,0,0,0,0,128,0,0,0,48,0,0,0,51,0,0,0,60,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,55,0,0,0,145,0,0,0,146,0,0,0,147,0,0,0,148,0,0,0,23,0,0,0,149,0,0,0,150,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,49,0,0,0,61,0,0,0,46,0,0,0,48,0,0,0,8,0,0,0,62,0,0,0,63,0,0,0,125,0,0,0,0,0,0,0,144,0,0,0,48,0,0,0,52,0,0,0,64,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,56,0,0,0,151,0,0,0,152,0,0,0,153,0,0,0,154,0,0,0,24,0,0,0,155,0,0,0,156,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,65,0,0,0,66,0,0,0,46,0,0,0,48,0,0,0,1,0,0,0,50,0,0,0,51,0,0,0,125,0,0,0,157,0,0,0,0,0,0,0,200,0,0,0,5,0,0,0,53,0,0,0,67,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,57,0,0,0,158,0,0,0,159,0,0,0,160,0,0,0,161,0,0,0,25,0,0,0,162,0,0,0,163,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,68,0,0,0,47,0,0,0,58,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,69,0,0,0,0,0,0,0,160,0,0,0,54,0,0,0,55,0,0,0,70,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,59,0,0,0,164,0,0,0,165,0,0,0,166,0,0,0,167,0,0,0,26,0,0,0,168,0,0,0,169,0,0,0,2,0,0,0,60,0,0,0,3,0,0,0,4,0,0,0,170,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,71,0,0,0,72,0,0,0,61,0,0,0,62,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,171,0,0,0,172,0,0,0,188,255,255,255,160,0,0,0,63,0,0,0,56,0,0,0,57,0,0,0,173,0,0,0,73,0,0,0,0,0,0,0,192,0,0,0,64,0,0,0,1,0,0,0,1,0,0,0,173,0,0,0,74,0,0,0,0,0,0,0,0,3,0,0,48,0,0,0,58,0,0,0,48,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,65,0,0,0,174,0,0,0,175,0,0,0,176,0,0,0,177,0,0,0,27,0,0,0,178,0,0,0,179,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,49,0,0,0,47,0,0,0,46,0,0,0,48,0,0,0,1,0,0,0,50,0,0,0,51,0,0,0,125,0,0,0,0,0,0,0,32,3,0,0,59,0,0,0,60,0,0,0,75,0,0,0,76,0,0,0,0,0,0,0,64,3,0,0,61,0,0,0,62,0,0,0,77,0,0,0,78,0,0,0,222,108,0,0,64,0,0,0,0,0,0,0,80,3,0,0,63,0,0,0,64,0,0,0,56,0,0,0,248,255,255,255,80,3,0,0,65,0,0,0,66,0,0,0,192,255,255,255,192,255,255,255,80,3,0,0,67,0,0,0,68,0,0,0,0,0,0,0,96,3,0,0,69,0,0,0,70,0,0,0,66,0,0,0,15,0,0,0,1,0,0,0,1,0,0,0,79,0,0,0,80,0,0,0,16,0,0,0,81,0,0,0,82,0,0,0,180,0,0,0,17,0,0,0,181,0,0,0,24,32,0,0,188,32,0,0,248,32,0,0,12,33,0,0,124,34,0,0,144,34,0,0,228,32,0,0,208,32,0,0,64,32,0,0,44,32,0,0,64,0,0,0,0,0,0,0,64,12,0,0,71,0,0,0,72,0,0,0,56,0,0,0,248,255,255,255,64,12,0,0,73,0,0,0,74,0,0,0,192,255,255,255,192,255,255,255,64,12,0,0,75,0,0,0,76,0,0,0,64,0,0,0,0,0,0,0,224,11,0,0,77,0,0,0,78,0,0,0,192,255,255,255,192,255,255,255,224,11,0,0,79,0,0,0,80,0,0,0,0,0,0,0,88,2,0,0,81,0,0,0,82,0,0,0,83,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,67,0,0,0,182,0,0,0,183,0,0,0,184,0,0,0,185,0,0,0,28,0,0,0,186,0,0,0,187,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,188,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,4,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,112,3,0,0,83,0,0,0,84,0,0,0,1,0,0,0,84,0,0,0,189,0,0,0,85,0,0,0,0,0,0,0,120,3,0,0,85,0,0,0,86,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,68,0,0,0,190,0,0,0,191,0,0,0,192,0,0,0,193,0,0,0,29,0,0,0,194,0,0,0,195,0,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,60,0,0,0,0,0,0,0,224,11,0,0,77,0,0,0,78,0,0,0,196,255,255,255,196,255,255,255,224,11,0,0,79,0,0,0,80,0,0,0,60,0,0,0,0,0,0,0,136,3,0,0,87,0,0,0,88,0,0,0,196,255,255,255,196,255,255,255,136,3,0,0,89,0,0,0,90,0,0,0,68,34,0,0,28,34,0,0,48,34,0,0,88,34,0,0,56,0,0,0,0,0,0,0,16,12,0,0,91,0,0,0,92,0,0,0,200,255,255,255,200,255,255,255,16,12,0,0,93,0,0,0,94,0,0,0,56,0,0,0,0,0,0,0,152,3,0,0,95,0,0,0,96,0,0,0,200,255,255,255,200,255,255,255,152,3,0,0,97,0,0,0,98,0,0,0,164,34,0,0,124,34,0,0,144,34,0,0,184,34,0,0,0,0,0,0,168,3,0,0,83,0,0,0,99,0,0,0,88,0,0,0,84,0,0,0,189,0,0,0,85,0,0,0,0,0,0,0,232,3,0,0,83,0,0,0,100,0,0,0,89,0,0,0,84,0,0,0,189,0,0,0,85,0,0,0,0,0,0,0,248,3,0,0,101,0,0,0,102,0,0,0,90,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,69,0,0,0,196,0,0,0,197,0,0,0,198,0,0,0,199,0,0,0,30,0,0,0,200,0,0,0,201,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,202,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,8,4,0,0,103,0,0,0,104,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,70,0,0,0,203,0,0,0,204,0,0,0,205,0,0,0,206,0,0,0,31,0,0,0,207,0,0,0,208,0,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,91,0,0,0,0,0,0,0,24,4,0,0,105,0,0,0,106,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,71,0,0,0,209,0,0,0,210,0,0,0,211,0,0,0,212,0,0,0,32,0,0,0,213,0,0,0,214,0,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,91,0,0,0,0,0,0,0,40,4,0,0,215,0,0,0,107,0,0,0,108,0,0,0,216,0,0,0,217,0,0,0,218,0,0,0,219,0,0,0,220,0,0,0,221,0,0,0,222,0,0,0,223,0,0,0,224,0,0,0,225,0,0,0,226,0,0,0,227,0,0,0,228,0,0,0,229,0,0,0,230,0,0,0,231,0,0,0,232,0,0,0,233,0,0,0,234,0,0,0,235,0,0,0,236,0,0,0,237,0,0,0,238,0,0,0,239,0,0,0,240,0,0,0,241,0,0,0,242,0,0,0,243,0,0,0,244,0,0,0,245,0,0,0,246,0,0,0,247,0,0,0,248,0,0,0,249,0,0,0,250,0,0,0,251,0,0,0,252,0,0,0,253,0,0,0,254,0,0,0,255,0,0,0,0,1,0,0,1,1,0,0,2,1,0,0,3,1,0,0,4,1,0,0,5,1,0,0,6,1,0,0,7,1,0,0,8,1,0,0,9,1,0,0,10,1,0,0,11,1,0,0,12,1,0,0,13,1,0,0,14,1,0,0,15,1,0,0,16,1,0,0,17,1,0,0,18,1,0,0,19,1,0,0,20,1,0,0,21,1,0,0,22,1,0,0,23,1,0,0,24,1,0,0,25,1,0,0,0,0,0,0,56,2,0,0,1,0,0,0,1,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,14,0,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,91,0,0,0,0,0,0,0,80,4,0,0,72,0,0,0,1,0,0,0,1,0,0,0,26,1,0,0,92,0,0,0,0,0,0,0,88,4,0,0,109,0,0,0,110,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,73,0,0,0,27,1,0,0,28,1,0,0,29,1,0,0,30,1,0,0,33,0,0,0,31,1,0,0,32,1,0,0,86,0,0,0,87,0,0,0,11,0,0,0,93,0,0,0,94,0,0,0,74,0,0,0,192,255,255,255,88,4,0,0,75,0,0,0,111,0,0,0,112,0,0,0,26,1,0,0,92,0,0,0,0,0,0,0,120,4,0,0,5,0,0,0,113,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,76,0,0,0,33,1,0,0,34,1,0,0,35,1,0,0,36,1,0,0,34,0,0,0,37,1,0,0,38,1,0,0,86,0,0,0,87,0,0,0,95,0,0,0,12,0,0,0,91,0,0,0,0,0,0,0,136,4,0,0,114,0,0,0,115,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,77,0,0,0,39,1,0,0,40,1,0,0,41,1,0,0,42,1,0,0,35,0,0,0,43,1,0,0,44,1,0,0,86,0,0,0,87,0,0,0,96,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,152,4,0,0,5,0,0,0,116,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,78,0,0,0,45,1,0,0,46,1,0,0,47,1,0,0,48,1,0,0,36,0,0,0,49,1,0,0,50,1,0,0,97,0,0,0,87,0,0,0,98,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,168,4,0,0,5,0,0,0,117,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,79,0,0,0,51,1,0,0,52,1,0,0,53,1,0,0,54,1,0,0,37,0,0,0,55,1,0,0,56,1,0,0,99,0,0,0,87,0,0,0,100,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,184,4,0,0,5,0,0,0,118,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,80,0,0,0,57,1,0,0,58,1,0,0,59,1,0,0,60,1,0,0,38,0,0,0,61,1,0,0,62,1,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,200,4,0,0,5,0,0,0,119,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([3,0,0,0,81,0,0,0,63,1,0,0,64,1,0,0,65,1,0,0,66,1,0,0,39,0,0,0,67,1,0,0,68,1,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,91,0,0,0,0,0,0,0,32,1,0,0,5,0,0,0,120,0,0,0,29,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,14,0,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,216,4,0,0,82,0,0,0,1,0,0,0,1,0,0,0,69,1,0,0,101,0,0,0,0,0,0,0,224,4,0,0,121,0,0,0,122,0,0,0,29,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,83,0,0,0,70,1,0,0,71,1,0,0,72,1,0,0,73,1,0,0,40,0,0,0,74,1,0,0,75,1,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,200,255,255,255,224,4,0,0,82,0,0,0,123,0,0,0,124,0,0,0,69,1,0,0,101,0,0,0,0,0,0,0,0,5,0,0,59,0,0,0,125,0,0,0,75,0,0,0,76,0,0,0,0,0,0,0,16,3,0,0,59,0,0,0,126,0,0,0,75,0,0,0,76,0,0,0,0,0,0,0,16,5,0,0,127,0,0,0,128,0,0,0,75,0,0,0,76,0,0,0,0,0,0,0,216,3,0,0,59,0,0,0,129,0,0,0,75,0,0,0,76,0,0,0,0,0,0,0,32,5,0,0,130,0,0,0,131,0,0,0,77,0,0,0,78,0,0,0,0,0,0,0,48,5,0,0,130,0,0,0,132,0,0,0,77,0,0,0,78,0,0,0,0,0,0,0,64,5,0,0,61,0,0,0,133,0,0,0,77,0,0,0,102,0,0,0,0,0,0,0,80,5,0,0,59,0,0,0,134,0,0,0,75,0,0,0,103,0,0,0,0,0,0,0,96,5,0,0,135,0,0,0,136,0,0,0,75,0,0,0,104,0,0,0,0,0,0,0,112,5,0,0,59,0,0,0,137,0,0,0,75,0,0,0,105,0,0,0,0,0,0,0,48,3,0,0,61,0,0,0,138,0,0,0,77,0,0,0,78,0,0,0,0,0,0,0,128,5,0,0,139,0,0,0,140,0,0,0,77,0,0,0,78,0,0,0,0,0,0,0,144,5,0,0,59,0,0,0,141,0,0,0,75,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,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,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,160,5,0,0,76,1,0,0,142,0,0,0,143,0,0,0,77,1,0,0,78,1,0,0,79,1,0,0,80,1,0,0,81,1,0,0,82,1,0,0,83,1,0,0,84,1,0,0,85,1,0,0,86,1,0,0,87,1,0,0,88,1,0,0,89,1,0,0,90,1,0,0,91,1,0,0,92,1,0,0,93,1,0,0,94,1,0,0,95,1,0,0,96,1,0,0,97,1,0,0,98,1,0,0,99,1,0,0,100,1,0,0,101,1,0,0,102,1,0,0,103,1,0,0,104,1,0,0,105,1,0,0,106,1,0,0,107,1,0,0,108,1,0,0,109,1,0,0,110,1,0,0,111,1,0,0,112,1,0,0,113,1,0,0,114,1,0,0,115,1,0,0,116,1,0,0,117,1,0,0,118,1,0,0,119,1,0,0,120,1,0,0,121,1,0,0,122,1,0,0,123,1,0,0,124,1,0,0,125,1,0,0,126,1,0,0,127,1,0,0,128,1,0,0,129,1,0,0,130,1,0,0,131,1,0,0,132,1,0,0,133,1,0,0,134,1,0,0,135,1,0,0,136,1,0,0,137,1,0,0,138,1,0,0,139,1,0,0,140,1,0,0,141,1,0,0,142,1,0,0,0,0,0,0,136,2,0,0,144,0,0,0,145,0,0,0,106,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,84,0,0,0,143,1,0,0,144,1,0,0,145,1,0,0,146,1,0,0,41,0,0,0,147,1,0,0,148,1,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,149,1,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,120,1,0,0,1,0,0,0,1,0,0,0,29,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,85,0,0,0,150,1,0,0,151,1,0,0,152,1,0,0,153,1,0,0,42,0,0,0,154,1,0,0,155,1,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,216,5,0,0,5,0,0,0,146,0,0,0,29,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,86,0,0,0,156,1,0,0,157,1,0,0,158,1,0,0,159,1,0,0,43,0,0,0,160,1,0,0,161,1,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,162,1,0,0,0,0,0,0,232,5,0,0,5,0,0,0,147,0,0,0,29,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,87,0,0,0,163,1,0,0,164,1,0,0,165,1,0,0,166,1,0,0,44,0,0,0,167,1,0,0,168,1,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,169,1,0,0,0,0,0,0,248,5,0,0,5,0,0,0,148,0,0,0,29,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,88,0,0,0,170,1,0,0,171,1,0,0,172,1,0,0,173,1,0,0,45,0,0,0,174,1,0,0,175,1,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,8,6,0,0,5,0,0,0,149,0,0,0,29,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,89,0,0,0,176,1,0,0,177,1,0,0,178,1,0,0,179,1,0,0,46,0,0,0,180,1,0,0,181,1,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,240,2,0,0,150,0,0,0,151,0,0,0,107,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,90,0,0,0,182,1,0,0,183,1,0,0,184,1,0,0,185,1,0,0,47,0,0,0,186,1,0,0,187,1,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,49,0,0,0,108,0,0,0,46,0,0,0,48,0,0,0,1,0,0,0,50,0,0,0,51,0,0,0,125,0,0,0,0,0,0,0,24,6,0,0,188,1,0,0,152,0,0,0,153,0,0,0,189,1,0,0,190,1,0,0,191,1,0,0,192,1,0,0,193,1,0,0,194,1,0,0,195,1,0,0,196,1,0,0,197,1,0,0,198,1,0,0,199,1,0,0,200,1,0,0,201,1,0,0,202,1,0,0,203,1,0,0,204,1,0,0,205,1,0,0,206,1,0,0,207,1,0,0,208,1,0,0,209,1,0,0,210,1,0,0,211,1,0,0,212,1,0,0,213,1,0,0,214,1,0,0,215,1,0,0,216,1,0,0,217,1,0,0,218,1,0,0,219,1,0,0,220,1,0,0,221,1,0,0,222,1,0,0,223,1,0,0,224,1,0,0,225,1,0,0,226,1,0,0,227,1,0,0,228,1,0,0,229,1,0,0,230,1,0,0,231,1,0,0,232,1,0,0,233,1,0,0,234,1,0,0,235,1,0,0,236,1,0,0,237,1,0,0,238,1,0,0,239,1,0,0,240,1,0,0,241,1,0,0,242,1,0,0,243,1,0,0,244,1,0,0,245,1,0,0,246,1,0,0,247,1,0,0,248,1,0,0,249,1,0,0,250,1,0,0,251,1,0,0,252,1,0,0,253,1,0,0,254,1,0,0,0,0,0,0,56,6,0,0,5,0,0,0,154,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,91,0,0,0,255,1,0,0,0,2,0,0,1,2,0,0,2,2,0,0,48,0,0,0,3,2,0,0,4,2,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,91,0,0,0,0,0,0,0,72,6,0,0,5,0,0,0,155,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,92,0,0,0,5,2,0,0,6,2,0,0,7,2,0,0,8,2,0,0,49,0,0,0,9,2,0,0,10,2,0,0,86,0,0,0,109,0,0,0,11,0,0,0,12,0,0,0,91,0,0,0,0,0,0,0,88,6,0,0,156,0,0,0,157,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,93,0,0,0,11,2,0,0,12,2,0,0,13,2,0,0,14,2,0,0,50,0,0,0,15,2,0,0,16,2,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,224,2,0,0,48,0,0,0,158,0,0,0,48,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,94,0,0,0,17,2,0,0,18,2,0,0,19,2,0,0,20,2,0,0,51,0,0,0,21,2,0,0,22,2,0,0,2,0,0,0,95,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,110,0,0,0,111,0,0,0,46,0,0,0,48,0,0,0,1,0,0,0,50,0,0,0,51,0,0,0,125,0,0,0,0,0,0,0,104,6,0,0,159,0,0,0,160,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,96,0,0,0,23,2,0,0,24,2,0,0,25,2,0,0,26,2,0,0,52,0,0,0,27,2,0,0,28,2,0,0,97,0,0,0,208,255,255,255,104,6,0,0,98,0,0,0,161,0,0,0,162,0,0,0,29,2,0,0,112,0,0,0,0,0,0,0,136,6,0,0,99,0,0,0,1,0,0,0,1,0,0,0,29,2,0,0,112,0,0,0,0,0,0,0,144,6,0,0,100,0,0,0,163,0,0,0,164,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127,0,0,0,128,0,0,0,129,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,133,0,0,0,134,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,142,0,0,0,143,0,0,0,144,0,0,0,145,0,0,0,146,0,0,0,147,0,0,0,148,0,0,0,149,0,0,0,150,0,0,0,151,0,0,0,152,0,0,0,153,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,160,0,0,0,161,0,0,0,162,0,0,0,163,0,0,0,164,0,0,0,165,0,0,0,166,0,0,0,108,0,0,0,0,0,0,0,224,11,0,0,77,0,0,0,78,0,0,0,148,255,255,255,148,255,255,255,224,11,0,0,79,0,0,0,80,0,0,0,108,0,0,0,0,0,0,0,184,6,0,0,165,0,0,0,166,0,0,0,148,255,255,255,148,255,255,255,184,6,0,0,167,0,0,0,168,0,0,0,0,0,0,0,200,6,0,0,169,0,0,0,170,0,0,0,167,0,0,0,18,0,0,0,2,0,0,0,2,0,0,0,113,0,0,0,80,0,0,0,16,0,0,0,114,0,0,0,82,0,0,0,30,2,0,0,17,0,0,0,31,2,0,0,88,51,0,0,48,51,0,0,68,51,0,0,108,51,0,0,58,134,0,0,83,134,0,0,117,134,0,0,138,134,0,0,150,134,0,0,164,134,0,0,177,134,0,0,215,134,0,0,250,134,0,0,38,135,0,0,50,135,0,0,69,135,0,0,87,135,0,0,116,135,0,0,141,135,0,0,165,135,0,0,198,135,0,0,226,135,0,0,244,135,0,0,7,136,0,0,22,136,0,0,36,136,0,0,52,136,0,0,77,136,0,0,102,136,0,0,134,136,0,0,160,136,0,0,34,137,0,0,163,137,0,0,37,138,0,0,56,138,0,0,73,138,0,0,88,138,0,0,108,138,0,0,145,138,0,0,176,138,0,0,218,138,0,0,241,138,0,0,8,139,0,0,28,139,0,0,43,139,0,0,57,139,0,0,72,139,0,0,85,139,0,0,102,139,0,0,119,139,0,0,140,139,0,0,154,139,0,0,169,139,0,0,196,139,0,0,217,139,0,0,0,140,0,0,38,140,0,0,53,140,0,0,75,140,0,0,95,140,0,0,119,140,0,0,134,140,0,0,151,140,0,0,175,140,0,0,202,140,0,0,218,140,0,0,234,140,0,0,248,140,0,0,10,141,0,0,43,141,0,0,66,141,0,0,96,141,0,0,119,141,0,0,139,141,0,0,161,141,0,0,183,141,0,0,195,141,0,0,231,141,0,0,247,141,0,0,20,142,0,0,51,142,0,0,90,142,0,0,118,142,0,0,167,142,0,0,220,142,0,0,246,142,0,0,21,143,0,0,0,0,0,0,216,6,0,0,171,0,0,0,172,0,0,0,115,0,0,0,0,0,0,0,248,6,0,0,171,0,0,0,173,0,0,0,116,0,0,0,0,0,0,0,8,7,0,0,171,0,0,0,174,0,0,0,117,0,0,0,0,0,0,0,24,7,0,0,168,0,0,0,175,0,0,0,176,0,0,0,169,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,173,0,0,0,174,0,0,0,175,0,0,0,176,0,0,0,177,0,0,0,178,0,0,0,179,0,0,0,180,0,0,0,181,0,0,0,182,0,0,0,183,0,0,0,184,0,0,0,185,0,0,0,186,0,0,0,187,0,0,0,188,0,0,0,189,0,0,0,190,0,0,0,191,0,0,0,192,0,0,0,193,0,0,0,194,0,0,0,195,0,0,0,196,0,0,0,197,0,0,0,198,0,0,0,199,0,0,0,200,0,0,0,201,0,0,0,202,0,0,0,203,0,0,0,204,0,0,0,205,0,0,0,206,0,0,0,207,0,0,0,208,0,0,0,209,0,0,0,210,0,0,0,211,0,0,0,212,0,0,0,213,0,0,0,214,0,0,0,215,0,0,0,216,0,0,0,217,0,0,0,218,0,0,0,219,0,0,0,220,0,0,0,221,0,0,0,222,0,0,0,223,0,0,0,224,0,0,0,225,0,0,0,226,0,0,0,227,0,0,0,228,0,0,0,229,0,0,0,230,0,0,0,231,0,0,0,232,0,0,0,233,0,0,0,234,0,0,0,252,255,255,255,24,7,0,0,177,0,0,0,178,0,0,0,0,0,0,0,56,7,0,0,168,0,0,0,163,0,0,0,179,0,0,0,235,0,0,0,236,0,0,0,237,0,0,0,238,0,0,0,239,0,0,0,240,0,0,0,241,0,0,0,242,0,0,0,243,0,0,0,244,0,0,0,245,0,0,0,246,0,0,0,247,0,0,0,248,0,0,0,249,0,0,0,250,0,0,0,251,0,0,0,252,0,0,0,253,0,0,0,254,0,0,0,255,0,0,0,0,1,0,0,1,1,0,0,2,1,0,0,3,1,0,0,4,1,0,0,5,1,0,0,6,1,0,0,7,1,0,0,8,1,0,0,9,1,0,0,10,1,0,0,11,1,0,0,12,1,0,0,13,1,0,0,14,1,0,0,15,1,0,0,16,1,0,0,17,1,0,0,18,1,0,0,19,1,0,0,20,1,0,0,211,0,0,0,21,1,0,0,22,1,0,0,23,1,0,0,24,1,0,0,25,1,0,0,26,1,0,0,27,1,0,0,28,1,0,0,29,1,0,0,30,1,0,0,31,1,0,0,32,1,0,0,33,1,0,0,34,1,0,0,35,1,0,0,36,1,0,0,37,1,0,0,38,1,0,0,39,1,0,0,40,1,0,0,41,1,0,0,42,1,0,0,43,1,0,0,0,0,0,0,72,7,0,0,32,2,0,0,180,0,0,0,181,0,0,0,33,2,0,0,34,2,0,0,35,2,0,0,36,2,0,0,37,2,0,0,38,2,0,0,39,2,0,0,40,2,0,0,41,2,0,0,42,2,0,0,43,2,0,0,44,2,0,0,45,2,0,0,46,2,0,0,47,2,0,0,48,2,0,0,49,2,0,0,50,2,0,0,51,2,0,0,52,2,0,0,53,2,0,0,54,2,0,0,55,2,0,0,56,2,0,0,57,2,0,0,58,2,0,0,59,2,0,0,60,2,0,0,61,2,0,0,62,2,0,0,63,2,0,0,64,2,0,0,65,2,0,0,66,2,0,0,67,2,0,0,68,2,0,0,69,2,0,0,70,2,0,0,71,2,0,0,72,2,0,0,73,2,0,0,74,2,0,0,75,2,0,0,76,2,0,0,77,2,0,0,78,2,0,0,79,2,0,0,80,2,0,0,81,2,0,0,82,2,0,0,83,2,0,0,84,2,0,0,85,2,0,0,86,2,0,0,87,2,0,0,88,2,0,0,89,2,0,0,90,2,0,0,91,2,0,0,92,2,0,0,93,2,0,0,94,2,0,0,95,2,0,0,96,2,0,0,97,2,0,0,98,2,0,0,0,0,0,0,104,7,0,0,182,0,0,0,183,0,0,0,184,0,0,0,99,2,0,0,185,0,0,0,0,0,0,0,120,7,0,0,168,0,0,0,186,0,0,0,187,0,0,0,169,0,0,0,44,1,0,0,171,0,0,0,172,0,0,0,45,1,0,0,46,1,0,0,175,0,0,0,47,1,0,0,48,1,0,0,178,0,0,0,179,0,0,0,49,1,0,0,181,0,0,0,182,0,0,0,183,0,0,0,184,0,0,0,50,1,0,0,186,0,0,0,187,0,0,0,188,0,0,0,189,0,0,0,190,0,0,0,191,0,0,0,192,0,0,0,193,0,0,0,194,0,0,0,195,0,0,0,51,1,0,0,197,0,0,0,198,0,0,0,199,0,0,0,200,0,0,0,201,0,0,0,202,0,0,0,203,0,0,0,204,0,0,0,52,1,0,0,206,0,0,0,207,0,0,0,208,0,0,0,53,1,0,0,54,1,0,0,211,0,0,0,212,0,0,0,213,0,0,0,214,0,0,0,215,0,0,0,216,0,0,0,217,0,0,0,218,0,0,0,219,0,0,0,220,0,0,0,221,0,0,0,222,0,0,0,223,0,0,0,224,0,0,0,225,0,0,0,226,0,0,0,227,0,0,0,228,0,0,0,229,0,0,0,230,0,0,0,231,0,0,0,232,0,0,0,233,0,0,0,234,0,0,0,252,255,255,255,120,7,0,0,188,0,0,0,189,0,0,0,0,0,0,0,200,5,0,0,190,0,0,0,191,0,0,0,118,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,55,1,0,0,100,2,0,0,101,2,0,0,102,2,0,0,103,2,0,0,53,0,0,0,104,2,0,0,105,2,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,106,2,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,136,7,0,0,5,0,0,0,192,0,0,0,29,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,56,1,0,0,107,2,0,0,108,2,0,0,109,2,0,0,110,2,0,0,54,0,0,0,111,2,0,0,112,2,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,55,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,152,7,0,0,5,0,0,0,193,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,57,1,0,0,113,2,0,0,114,2,0,0,115,2,0,0,116,2,0,0,55,0,0,0,117,2,0,0,118,2,0,0,2,0,0,0,24,0,0,0,3,0,0,0,4,0,0,0,119,2,0,0,6,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,168,7,0,0,194,0,0,0,195,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,58,1,0,0,120,2,0,0,121,2,0,0,122,2,0,0,123,2,0,0,56,0,0,0,124,2,0,0,125,2,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,91,0,0,0,0,0,0,0,184,7,0,0,5,0,0,0,196,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,59,1,0,0,126,2,0,0,127,2,0,0,128,2,0,0,129,2,0,0,57,0,0,0,130,2,0,0,131,2,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,91,0,0,0,0,0,0,0,200,7,0,0,5,0,0,0,197,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,60,1,0,0,132,2,0,0,133,2,0,0,134,2,0,0,135,2,0,0,58,0,0,0,136,2,0,0,137,2,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,91,0,0,0,0,0,0,0,216,7,0,0,5,0,0,0,198,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,61,1,0,0,138,2,0,0,139,2,0,0,140,2,0,0,141,2,0,0,59,0,0,0,142,2,0,0,143,2,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,120,0,0,0,0,0,0,0,232,7,0,0,199,0,0,0,200,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,62,1,0,0,144,2,0,0,145,2,0,0,146,2,0,0,147,2,0,0,60,0,0,0,148,2,0,0,149,2,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,248,7,0,0,201,0,0,0,202,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,63,1,0,0,150,2,0,0,151,2,0,0,152,2,0,0,153,2,0,0,61,0,0,0,154,2,0,0,155,2,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,8,8,0,0,5,0,0,0,203,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,64,1,0,0,156,2,0,0,157,2,0,0,158,2,0,0,159,2,0,0,62,0,0,0,160,2,0,0,161,2,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,24,8,0,0,5,0,0,0,204,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,65,1,0,0,162,2,0,0,163,2,0,0,164,2,0,0,165,2,0,0,63,0,0,0,166,2,0,0,167,2,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,91,0,0,0,0,0,0,0,40,8,0,0,5,0,0,0,205,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,66,1,0,0,168,2,0,0,169,2,0,0,170,2,0,0,171,2,0,0,64,0,0,0,172,2,0,0,173,2,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,91,0,0,0,0,0,0,0,56,8,0,0,5,0,0,0,206,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,67,1,0,0,174,2,0,0,175,2,0,0,176,2,0,0,177,2,0,0,65,0,0,0,178,2,0,0,179,2,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,91,0,0,0,0,0,0,0,72,8,0,0,207,0,0,0,208,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,68,1,0,0,180,2,0,0,181,2,0,0,182,2,0,0,183,2,0,0,66,0,0,0,184,2,0,0,185,2,0,0,0,0,0,0,88,8,0,0,5,0,0,0,209,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,3,0,0,0,69,1,0,0,186,2,0,0,187,2,0,0,188,2,0,0,189,2,0,0,67,0,0,0,190,2,0,0,191,2,0,0,86,0,0,0,87,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,104,8,0,0,70,1,0,0,163,0,0,0,210,0,0,0,71,1,0,0,72,1,0,0,73,1,0,0,74,1,0,0,75,1,0,0,76,1,0,0,77,1,0,0,78,1,0,0,79,1,0,0,80,1,0,0,81,1,0,0,82,1,0,0,83,1,0,0,84,1,0,0,85,1,0,0,86,1,0,0,87,1,0,0,88,1,0,0,89,1,0,0,90,1,0,0,91,1,0,0,92,1,0,0,93,1,0,0,94,1,0,0,95,1,0,0,96,1,0,0,97,1,0,0,98,1,0,0,99,1,0,0,100,1,0,0,101,1,0,0,102,1,0,0,103,1,0,0,104,1,0,0,105,1,0,0,106,1,0,0,107,1,0,0,108,1,0,0,109,1,0,0,110,1,0,0,111,1,0,0,112,1,0,0,113,1,0,0,114,1,0,0,115,1,0,0,116,1,0,0,117,1,0,0,118,1,0,0,119,1,0,0,120,1,0,0,121,1,0,0,122,1,0,0,123,1,0,0,124,1,0,0,125,1,0,0,126,1,0,0,127,1,0,0,128,1,0,0,129,1,0,0,130,1,0,0,131,1,0,0,132,1,0,0,133,1,0,0,134,1,0,0,135,1,0,0,136,1,0,0,0,0,0,0,136,8,0,0,192,2,0,0,211,0,0,0,212,0,0,0,193,2,0,0,194,2,0,0,195,2,0,0,196,2,0,0,197,2,0,0,198,2,0,0,199,2,0,0,200,2,0,0,201,2,0,0,202,2,0,0,203,2,0,0,204,2,0,0,205,2,0,0,206,2,0,0,207,2,0,0,208,2,0,0,209,2,0,0,210,2,0,0,211,2,0,0,212,2,0,0,213,2,0,0,214,2,0,0,215,2,0,0,216,2,0,0,217,2,0,0,218,2,0,0,219,2,0,0,220,2,0,0,221,2,0,0,222,2,0,0,223,2,0,0,224,2,0,0,225,2,0,0,226,2,0,0,227,2,0,0,228,2,0,0,229,2,0,0,230,2,0,0,231,2,0,0,232,2,0,0,233,2,0,0,234,2,0,0,235,2,0,0,236,2,0,0,237,2,0,0,238,2,0,0,239,2,0,0,240,2,0,0,241,2,0,0,242,2,0,0,243,2,0,0,244,2,0,0,245,2,0,0,246,2,0,0,247,2,0,0,248,2,0,0,249,2,0,0,250,2,0,0,251,2,0,0,252,2,0,0,253,2,0,0,254,2,0,0,255,2,0,0,0,3,0,0,1,3,0,0,2,3,0,0,0,0,0,0,176,8,0,0,3,3,0,0,213,0,0,0,214,0,0,0,4,3,0,0,5,3,0,0,6,3,0,0,7,3,0,0,8,3,0,0,9,3,0,0,10,3,0,0,11,3,0,0,12,3,0,0,13,3,0,0,14,3,0,0,15,3,0,0,16,3,0,0,17,3,0,0,18,3,0,0,19,3,0,0,20,3,0,0,21,3,0,0,22,3,0,0,23,3,0,0,24,3,0,0,25,3,0,0,26,3,0,0,27,3,0,0,28,3,0,0,29,3,0,0,30,3,0,0,31,3,0,0,32,3,0,0,33,3,0,0,34,3,0,0,35,3,0,0,36,3,0,0,37,3,0,0,38,3,0,0,39,3,0,0,40,3,0,0,41,3,0,0,42,3,0,0,43,3,0,0,44,3,0,0,45,3,0,0,46,3,0,0,47,3,0,0,48,3,0,0,49,3,0,0,50,3,0,0,51,3,0,0,52,3,0,0,53,3,0,0,54,3,0,0,55,3,0,0,56,3,0,0,57,3,0,0,58,3,0,0,59,3,0,0,60,3,0,0,61,3,0,0,62,3,0,0,63,3,0,0,64,3,0,0,65,3,0,0,66,3,0,0,67,3,0,0,68,3,0,0,69,3,0,0,0,0,0,0,160,1,0,0,171,0,0,0,215,0,0,0,121,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,116,67,0,0,5,0,0,0,0,0,0,0,0,0,0,0,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,20,0,0,0,0,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,67,0,0,9,0,0,0,0,0,0,0,0,0,0,0,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,20,0,0,0,8,41,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,68,0,0,5,0,0,0,0,0,0,0,0,0,0,0,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0,20,0,0,0,16,45,1,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,99,0,0,72,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,75,187,0,0,17,49,1,0,17,49,1,0,17,49,1,0,17,49,1,0,17,49,1,0,17,49,1,0,17,49,1,0,17,49,1,0,17,49,1,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,11,0,0,216,0,0,0,217,0,0,0,137,1,0,0,15,0,0,0,3,0,0,0,3,0,0,0,79,0,0,0,80,0,0,0,16,0,0,0,123,0,0,0,124,0,0,0,70,3,0,0,17,0,0,0,71,3,0,0,0,0,0,0,16,11,0,0,216,0,0,0,218,0,0,0,138,1,0,0,15,0,0,0,3,0,0,0,3,0,0,0,125,0,0,0,80,0,0,0,16,0,0,0,126,0,0,0,82,0,0,0,72,3,0,0,24,0,0,0,73,3,0,0,0,0,0,0,32,11,0,0,219,0,0,0,220,0,0,0,139,1,0,0,25,0,0,0,4,0,0,0,4,0,0,0,127,0,0,0,128,0,0,0,26,0,0,0,129,0,0,0,130,0,0,0,74,3,0,0,27,0,0,0,75,3,0,0,0,0,0,0,48,11,0,0,219,0,0,0,221,0,0,0,140,1,0,0,25,0,0,0,4,0,0,0,4,0,0,0,131,0,0,0,128,0,0,0,26,0,0,0,132,0,0,0,133,0,0,0,76,3,0,0,28,0,0,0,77,3,0,0,0,0,0,0,104,11,0,0,222,0,0,0,223,0,0,0,134,0,0,0,0,0,0,0,136,11,0,0,224,0,0,0,225,0,0,0,135,0,0,0,68,0,0,0,29,0,0,0,30,0,0,0,69,0,0,0,0,0,0,0,152,11,0,0,224,0,0,0,226,0,0,0,136,0,0,0,70,0,0,0,29,0,0,0,30,0,0,0,71,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,211,0,0,0,1,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,121,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,143,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,169,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,187,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,209,0,0,0,0,0,0,0,184,11,0,0,227,0,0,0,228,0,0,0,0,0,0,0,208,11,0,0,216,0,0,0,229,0,0,0,66,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,79,0,0,0,80,0,0,0,16,0,0,0,126,0,0,0,82,0,0,0,72,3,0,0,17,0,0,0,71,3,0,0,0,0,0,0,216,11,0,0,219,0,0,0,230,0,0,0,141,1,0,0,25,0,0,0,4,0,0,0,4,0,0,0,127,0,0,0,128,0,0,0,26,0,0,0,132,0,0,0,133,0,0,0,76,3,0,0,27,0,0,0,75,3,0,0,8,0,0,0,0,0,0,0,224,11,0,0,77,0,0,0,78,0,0,0,248,255,255,255,248,255,255,255,224,11,0,0,79,0,0,0,80,0,0,0,8,0,0,0,0,0,0,0,248,11,0,0,231,0,0,0,232,0,0,0,248,255,255,255,248,255,255,255,248,11,0,0,233,0,0,0,234,0,0,0,4,0,0,0,0,0,0,0,16,12,0,0,91,0,0,0,92,0,0,0,252,255,255,255,252,255,255,255,16,12,0,0,93,0,0,0,94,0,0,0,4,0,0,0,0,0,0,0,40,12,0,0,235,0,0,0,236,0,0,0,252,255,255,255,252,255,255,255,40,12,0,0,237,0,0,0,238,0,0,0,0,0,0,0,96,12,0,0,239,0,0,0,240,0,0,0,134,0,0,0,0,0,0,0,112,12,0,0,224,0,0,0,241,0,0,0,137,0,0,0,68,0,0,0,29,0,0,0,30,0,0,0,72,0,0,0,0,0,0,0,128,12,0,0,242,0,0,0,243,0,0,0,244,0,0,0,1,0,0,0,5,0,0,0,31,0,0,0,0,0,0,0,160,12,0,0,245,0,0,0,246,0,0,0,244,0,0,0,2,0,0,0,6,0,0,0,32,0,0,0,0,0,0,0,176,12,0,0,247,0,0,0,248,0,0,0,244,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,240,12,0,0,249,0,0,0,250,0,0,0,244,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,40,13,0,0,251,0,0,0,252,0,0,0,244,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,104,13,0,0,253,0,0,0,254,0,0,0,244,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,160,13,0,0,255,0,0,0,0,1,0,0,244,0,0,0,138,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,160,13,0,0,139,0,0,0,140,0,0,0,141,0,0,0,142,0,0,0,143,0,0,0,144,0,0,0,145,0,0,0,0,0,0,0,216,13,0,0,1,1,0,0,2,1,0,0,244,0,0,0,146,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,216,13,0,0,147,0,0,0,148,0,0,0,149,0,0,0,150,0,0,0,151,0,0,0,152,0,0,0,153,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,8,14,0,0,3,1,0,0,4,1,0,0,244,0,0,0,1,0,0,0,0,0,0,0,48,14,0,0,5,1,0,0,6,1,0,0,244,0,0,0,2,0,0,0,0,0,0,0,80,14,0,0,7,1,0,0,8,1,0,0,244,0,0,0,154,0,0,0,155,0,0,0,142,1,0,0,143,1,0,0,144,1,0,0,145,1,0,0,156,0,0,0,146,1,0,0,147,1,0,0,0,0,0,0,120,14,0,0,9,1,0,0,10,1,0,0,244,0,0,0,157,0,0,0,158,0,0,0,148,1,0,0,149,1,0,0,150,1,0,0,151,1,0,0,159,0,0,0,152,1,0,0,153,1,0,0,0,0,0,0,152,14,0,0,11,1,0,0,12,1,0,0,244,0,0,0,160,0,0,0,161,0,0,0,154,1,0,0,155,1,0,0,156,1,0,0,157,1,0,0,162,0,0,0,158,1,0,0,159,1,0,0,0,0,0,0,184,14,0,0,13,1,0,0,14,1,0,0,244,0,0,0,163,0,0,0,164,0,0,0,160,1,0,0,161,1,0,0,162,1,0,0,163,1,0,0,165,0,0,0,164,1,0,0,165,1,0,0,0,0,0,0,216,14,0,0,15,1,0,0,16,1,0,0,244,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,15,0,0,17,1,0,0,18,1,0,0,244,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,40,15,0,0,19,1,0,0,20,1,0,0,244,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,80,15,0,0,21,1,0,0,22,1,0,0,244,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,120,15,0,0,23,1,0,0,24,1,0,0,244,0,0,0,33,0,0,0,5,0,0,0,166,1,0,0,0,0,0,0,160,15,0,0,25,1,0,0,26,1,0,0,244,0,0,0,34,0,0,0,6,0,0,0,167,1,0,0,0,0,0,0,192,15,0,0,27,1,0,0,28,1,0,0,244,0,0,0,3,0,0,0,4,0,0,0,11,0,0,0,166,0,0,0,167,0,0,0,12,0,0,0,168,0,0,0,0,0,0,0,248,15,0,0,27,1,0,0,29,1,0,0,244,0,0,0,3,0,0,0,4,0,0,0,11,0,0,0,166,0,0,0,167,0,0,0,12,0,0,0,168,0,0,0,0,0,0,0,40,16,0,0,30,1,0,0,31,1,0,0,244,0,0,0,5,0,0,0,6,0,0,0,13,0,0,0,169,0,0,0,170,0,0,0,14,0,0,0,171,0,0,0,0,0,0,0,104,16,0,0,32,1,0,0,33,1,0,0,244,0,0,0,0,0,0,0,120,16,0,0,34,1,0,0,35,1,0,0,244,0,0,0,78,3,0,0,35,0,0,0,79,3,0,0,36,0,0,0,80,3,0,0,1,0,0,0,37,0,0,0,15,0,0,0,0,0,0,0,192,16,0,0,36,1,0,0,37,1,0,0,244,0,0,0,172,0,0,0,173,0,0,0,168,1,0,0,169,1,0,0,170,1,0,0,0,0,0,0,208,16,0,0,38,1,0,0,39,1,0,0,244,0,0,0,174,0,0,0,175,0,0,0,171,1,0,0,172,1,0,0,173,1,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,144,12,0,0,27,1,0,0,40,1,0,0,244,0,0,0,0,0,0,0,160,16,0,0,27,1,0,0,41,1,0,0,244,0,0,0,38,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,81,3,0,0,39,0,0,0,82,3,0,0,40,0,0,0,83,3,0,0,5,0,0,0,41,0,0,0,16,0,0,0,0,0,0,0,8,16,0,0,27,1,0,0,42,1,0,0,244,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,176,0,0,0,177,0,0,0,18,0,0,0,178,0,0,0,0,0,0,0,72,16,0,0,27,1,0,0,43,1,0,0,244,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,179,0,0,0,180,0,0,0,20,0,0,0,181,0,0,0,0,0,0,0,208,15,0,0,27,1,0,0,44,1,0,0,244,0,0,0,3,0,0,0,4,0,0,0,11,0,0,0,166,0,0,0,167,0,0,0,12,0,0,0,168,0,0,0,2,0,0,0,0,0,0,0,232,16,0,0,45,1,0,0,46,1,0,0,47,1,0,0,48,1,0,0,42,0,0,0,7,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,248,16,0,0,45,1,0,0,49,1,0,0,47,1,0,0,48,1,0,0,42,0,0,0,8,0,0,0,2,0,0,0,8,0,0,0,131,201,0,0,0,0,0,0,32,17,0,0,50,1,0,0,51,1,0,0,182,0,0,0,0,0,0,0,48,17,0,0,52,1,0,0,53,1,0,0,183,0,0,0,0,0,0,0,64,17,0,0,54,1,0,0,55,1,0,0,134,0,0,0,0,0,0,0,80,17,0,0,52,1,0,0,56,1,0,0,183,0,0,0,0,0,0,0,96,17,0,0,52,1,0,0,57,1,0,0,183,0,0,0,0,0,0,0,112,17,0,0,54,1,0,0,58,1,0,0,134,0,0,0,0,0,0,0,128,17,0,0,59,1,0,0,60,1,0,0,184,0,0,0,0,0,0,0,144,17,0,0,61,1,0,0,62,1,0,0,185,0,0,0,0,0,0,0,192,17,0,0,45,1,0,0,63,1,0,0,47,1,0,0,48,1,0,0,43,0,0,0,0,0,0,0,176,17,0,0,45,1,0,0,64,1,0,0,47,1,0,0,48,1,0,0,44,0,0,0,0,0,0,0,248,17,0,0,45,1,0,0,65,1,0,0,47,1,0,0,48,1,0,0,42,0,0,0,9,0,0,0,3,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,52,83,97,115,115,56,65,83,84,95,78,111,100,101,69,0,78,52,83,97,115,115,49,51,77,101,109,111,114,121,95,79,98,106,101,99,116,69,0,78,52,83,97,115,115,49,55,83,117,112,112,111,114,116,115,95,78,101,103,97,116,105,111,110,69,0,78,52,83,97,115,115,49,56,83,117,112,112,111,114,116,115,95,67,111,110,100,105,116,105,111,110,69,0,78,52,83,97,115,115,49,48,69,120,112,114,101,115,115,105,111,110,69,0,78,52,83,97,115,115,49,55,83,117,112,112,111,114,116,115,95,79,112,101,114,97,116,111,114,69,0,78,52,83,97,115,115,49,53,83,105,109,112,108,101,95,83,101,108,101,99,116,111,114,69,0,78,52,83,97,115,115,56,83,101,108,101,99,116,111,114,69,0,78,52,83,97,115,115,49,53,80,115,101,117,100,111,95,83,101,108,101,99,116,111,114,69,0,78,52,83,97,115,115,49,54,87,114,97,112,112,101,100,95,83,101,108,101,99,116,111,114,69,0,78,52,83,97,115,115,49,51,83,101,108,101,99,116,111,114,95,76,105,115,116,69,0,78,52,83,97,115,115,49,48,86,101,99,116,111,114,105,122,101,100,73,80,78,83,95,49,54,67,111,109,112,108,101,120,95,83,101,108,101,99,116,111,114,69,69,69,0,78,52,83,97,115,115,49,54,67,111,109,112,108,101,120,95,83,101,108,101,99,116,111,114,69,0,78,52,83,97,115,115,49,55,67,111,109,112,111,117,110,100,95,83,101,108,101,99,116,111,114,69,0,78,52,83,97,115,115,49,48,86,101,99,116,111,114,105,122,101,100,73,80,78,83,95,49,53,83,105,109,112,108,101,95,83,101,108,101,99,116,111,114,69,69,69,0,78,52,83,97,115,115,52,76,105,115,116,69,0,78,52,83,97,115,115,53,86,97,108,117,101,69,0,78,52,83,97,115,115,49,48,86,101,99,116,111,114,105,122,101,100,73,80,78,83,95,49,48,69,120,112,114,101,115,115,105,111,110,69,69,69,0,78,52,83,97,115,115,49,51,84,121,112,101,95,83,101,108,101,99,116,111,114,69,0,78,52,83,97,115,115,49,56,83,101,108,101,99,116,111,114,95,81,117,97,108,105,102,105,101,114,69,0,78,52,83,97,115,115,49,51,83,116,114,105,110,103,95,83,99,104,101,109,97,69,0,78,52,83,97,115,115,54,83,116,114,105,110,103,69,0,78,52,83,97,115,115,54,78,117,109,98,101,114,69,0,78,52,83,97,115,115,55,69,109,105,116,116,101,114,69,0,78,52,83,97,115,115,49,55,105,110,99,111,109,112,97,116,105,98,108,101,85,110,105,116,115,69,0,99,97,110,110,111,116,32,99,111,109,112,97,114,101,32,110,117,109,98,101,114,115,32,119,105,116,104,32,105,110,99,111,109,112,97,116,105,98,108,101,32,117,110,105,116,115,0,78,52,83,97,115,115,49,51,83,116,114,105,110,103,95,81,117,111,116,101,100,69,0,78,52,83,97,115,115,49,53,83,116,114,105,110,103,95,67,111,110,115,116,97,110,116,69,0,78,52,83,97,115,115,55,66,111,111,108,101,97,110,69,0,78,52,83,97,115,115,53,67,111,108,111,114,69,0,78,52,83,97,115,115,51,77,97,112,69,0,78,52,83,97,115,115,54,72,97,115,104,101,100,69,0,78,52,83,97,115,115,55,82,117,108,101,115,101,116,69,0,78,52,83,97,115,115,57,72,97,115,95,66,108,111,99,107,69,0,78,52,83,97,115,115,57,83,116,97,116,101,109,101,110,116,69,0,78,52,83,97,115,115,49,49,77,101,100,105,97,95,66,108,111,99,107,69,0,97,114,103,108,105,115,116,0,78,52,83,97,115,115,56,65,114,103,117,109,101,110,116,69,0,117,110,111,114,100,101,114,101,100,95,109,97,112,58,58,97,116,58,32,107,101,121,32,110,111,116,32,102,111,117,110,100,0,78,52,83,97,115,115,49,55,66,105,110,97,114,121,95,69,120,112,114,101,115,115,105,111,110,69,0,78,52,83,97,115,115,56,80,114,101,86,97,108,117,101,69,0,78,52,83,97,115,115,55,84,101,120,116,117,97,108,69,0,78,52,83,97,115,115,57,65,114,103,117,109,101,110,116,115,69,0,78,52,83,97,115,115,49,48,86,101,99,116,111,114,105,122,101,100,73,80,78,83,95,56,65,114,103,117,109,101,110,116,69,69,69,0,110,97,109,101,100,32,97,114,103,117,109,101,110,116,115,32,109,117,115,116,32,112,114,101,99,101,100,101,32,118,97,114,105,97,98,108,101,45,108,101,110,103,116,104,32,97,114,103,117,109,101,110,116,0,102,117,110,99,116,105,111,110,115,32,97,110,100,32,109,105,120,105,110,115,32,109,97,121,32,111,110,108,121,32,98,101,32,99,97,108,108,101,100,32,119,105,116,104,32,111,110,101,32,118,97,114,105,97,98,108,101,45,108,101,110,103,116,104,32,97,114,103,117,109,101,110,116,0,111,110,108,121,32,107,101,121,119,111,114,100,32,97,114,103,117,109,101,110,116,115,32,109,97,121,32,102,111,108,108,111,119,32,118,97,114,105,97,98,108,101,32,97,114,103,117,109,101,110,116,115,0,102,117,110,99,116,105,111,110,115,32,97,110,100,32,109,105,120,105,110,115,32,109,97,121,32,111,110,108,121,32,98,101,32,99,97,108,108,101,100,32,119,105,116,104,32,111,110,101,32,107,101,121,119,111,114,100,32,97,114,103,117,109,101,110,116,0,111,114,100,105,110,97,108,32,97,114,103,117,109,101,110,116,115,32,109,117,115,116,32,112,114,101,99,101,100,101,32,118,97,114,105,97,98,108,101,45,108,101,110,103,116,104,32,97,114,103,117,109,101,110,116,115,0,111,114,100,105,110,97,108,32,97,114,103,117,109,101,110,116,115,32,109,117,115,116,32,112,114,101,99,101,100,101,32,110,97,109,101,100,32,97,114,103,117,109,101,110,116,115,0,98,111,111,108,0,78,52,83,97,115,115,52,78,117,108,108,69,0,78,52,83,97,115,115,49,53,83,101,108,101,99,116,111,114,95,83,99,104,101,109,97,69,0,78,52,83,97,115,115,49,53,80,97,114,101,110,116,95,83,101,108,101,99,116,111,114,69,0,124,0,119,114,97,112,112,101,100,32,110,111,116,32,115,101,108,101,99,116,111,114,32,105,115,32,110,111,116,32,97,32,108,105,115,116,0,58,45,109,111,122,45,97,110,121,0,78,52,83,97,115,115,49,56,65,116,116,114,105,98,117,116,101,95,83,101,108,101,99,116,111,114,69,0,58,98,101,102,111,114,101,0,58,97,102,116,101,114,0,58,102,105,114,115,116,45,108,105,110,101,0,58,102,105,114,115,116,45,108,101,116,116,101,114,0,105,115,95,115,117,112,101,114,115,101,108,101,99,116,111,114,32,101,120,112,101,99,116,101,100,32,97,32,83,101,108,101,99,116,111,114,95,76,105,115,116,0,119,105,116,104,0,97,108,108,0,108,95,108,97,115,116,32,38,38,32,34,108,104,115,32,105,115,32,110,117,108,108,34,0,115,114,99,47,97,115,116,46,99,112,112,0,117,110,105,102,121,95,119,105,116,104,0,114,95,108,97,115,116,32,38,38,32,34,114,104,115,32,105,115,32,110,117,108,108,34,0,108,95,108,97,115,116,95,104,101,97,100,32,38,38,32,34,108,104,115,32,104,101,97,100,32,105,115,32,110,117,108,108,34,0,114,95,108,97,115,116,95,104,101,97,100,32,38,38,32,34,114,104,115,32,104,101,97,100,32,105,115,32,110,117,108,108,34,0,73,110,118,97,108,105,100,32,112,97,114,101,110,116,32,115,101,108,101,99,116,111,114,0,78,52,83,97,115,115,50,48,83,101,108,101,99,116,111,114,95,80,108,97,99,101,104,111,108,100,101,114,69,0,78,52,83,97,115,115,57,69,120,99,101,112,116,105,111,110,49,51,73,110,118,97,108,105,100,80,97,114,101,110,116,69,0,78,52,83,97,115,115,57,69,120,99,101,112,116,105,111,110,52,66,97,115,101,69,0,110,101,115,116,101,100,32,115,101,108,101,99,116,111,114,115,32,109,97,121,32,110,111,116,32,98,101,32,101,120,116,101,110,100,101,100,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,58,32,115,117,98,115,101,116,32,109,97,112,32,107,101,121,115,32,109,97,121,32,110,111,116,32,98,101,32,101,109,112,116,121,0,78,52,83,97,115,115,57,69,120,99,101,112,116,105,111,110,49,55,73,110,99,111,109,112,97,116,105,98,108,101,85,110,105,116,115,69,0,78,52,83,97,115,115,57,69,120,99,101,112,116,105,111,110,49,52,79,112,101,114,97,116,105,111,110,69,114,114,111,114,69,0,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47,0,32,97,114,103,117,109,101,110,116,0,32,97,114,103,117,109,101,110,116,115,0,78,83,116,51,95,95,49,49,56,98,97,115,105,99,95,115,116,114,105,110,103,115,116,114,101,97,109,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,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,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,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,40,0,32,102,111,114,32,0,105,110,118,97,108,105,100,32,115,116,97,116,101,0,32,116,97,107,101,115,32,0,32,98,117,116,32,0,32,119,97,115,32,112,97,115,115,101,100,0,32,119,101,114,101,32,112,97,115,115,101,100,46,0,32,104,97,115,32,110,111,32,112,97,114,97,109,101,116,101,114,32,110,97,109,101,100,32,0,112,97,114,97,109,101,116,101,114,32,0,32,112,114,111,118,105,100,101,100,32,109,111,114,101,32,116,104,97,110,32,111,110,99,101,32,105,110,32,99,97,108,108,32,116,111,32,0,97,114,103,117,109,101,110,116,32,0,99,97,110,110,111,116,32,98,101,32,117,115,101,100,32,97,115,32,110,97,109,101,100,32,97,114,103,117,109,101,110,116,0,112,114,111,118,105,100,101,100,32,109,111,114,101,32,116,104,97,110,32,111,110,99,101,32,105,110,32,99,97,108,108,32,116,111,32,0,114,101,113,117,105,114,101,100,32,112,97,114,97,109,101,116,101,114,32,0,32,105,115,32,109,105,115,115,105,110,103,32,105,110,32,99,97,108,108,32,116,111,32,0,97,108,105,99,101,98,108,117,101,0,97,110,116,105,113,117,101,119,104,105,116,101,0,99,121,97,110,0,97,113,117,97,0,97,113,117,97,109,97,114,105,110,101,0,97,122,117,114,101,0,98,101,105,103,101,0,98,105,115,113,117,101,0,98,108,97,99,107,0,98,108,97,110,99,104,101,100,97,108,109,111,110,100,0,98,108,117,101,0,98,108,117,101,118,105,111,108,101,116,0,98,114,111,119,110,0,98,117,114,108,121,119,111,111,100,0,99,97,100,101,116,98,108,117,101,0,99,104,97,114,116,114,101,117,115,101,0,99,104,111,99,111,108,97,116,101,0,99,111,114,97,108,0,99,111,114,110,102,108,111,119,101,114,98,108,117,101,0,99,111,114,110,115,105,108,107,0,99,114,105,109,115,111,110,0,100,97,114,107,98,108,117,101,0,100,97,114,107,99,121,97,110,0,100,97,114,107,103,111,108,100,101,110,114,111,100,0,100,97,114,107,103,114,97,121,0,100,97,114,107,103,114,101,121,0,100,97,114,107,103,114,101,101,110,0,100,97,114,107,107,104,97,107,105,0,100,97,114,107,109,97,103,101,110,116,97,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,0,100,97,114,107,111,114,97,110,103,101,0,100,97,114,107,111,114,99,104,105,100,0,100,97,114,107,114,101,100,0,100,97,114,107,115,97,108,109,111,110,0,100,97,114,107,115,101,97,103,114,101,101,110,0,100,97,114,107,115,108,97,116,101,98,108,117,101,0,100,97,114,107,115,108,97,116,101,103,114,97,121,0,100,97,114,107,115,108,97,116,101,103,114,101,121,0,100,97,114,107,116,117,114,113,117,111,105,115,101,0,100,97,114,107,118,105,111,108,101,116,0,100,101,101,112,112,105,110,107,0,100,101,101,112,115,107,121,98,108,117,101,0,100,105,109,103,114,97,121,0,100,105,109,103,114,101,121,0,100,111,100,103,101,114,98,108,117,101,0,102,105,114,101,98,114,105,99,107,0,102,108,111,114,97,108,119,104,105,116,101,0,102,111,114,101,115,116,103,114,101,101,110,0,109,97,103,101,110,116,97,0,102,117,99,104,115,105,97,0,103,97,105,110,115,98,111,114,111,0,103,104,111,115,116,119,104,105,116,101,0,103,111,108,100,0,103,111,108,100,101,110,114,111,100,0,103,114,97,121,0,103,114,101,121,0,103,114,101,101,110,0,103,114,101,101,110,121,101,108,108,111,119,0,104,111,110,101,121,100,101,119,0,104,111,116,112,105,110,107,0,105,110,100,105,97,110,114,101,100,0,105,110,100,105,103,111,0,105,118,111,114,121,0,107,104,97,107,105,0,108,97,118,101,110,100,101,114,0,108,97,118,101,110,100,101,114,98,108,117,115,104,0,108,97,119,110,103,114,101,101,110,0,108,101,109,111,110,99,104,105,102,102,111,110,0,108,105,103,104,116,98,108,117,101,0,108,105,103,104,116,99,111,114,97,108,0,108,105,103,104,116,99,121,97,110,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,121,101,108,108,111,119,0,108,105,103,104,116,103,114,97,121,0,108,105,103,104,116,103,114,101,121,0,108,105,103,104,116,103,114,101,101,110,0,108,105,103,104,116,112,105,110,107,0,108,105,103,104,116,115,97,108,109,111,110,0,108,105,103,104,116,115,101,97,103,114,101,101,110,0,108,105,103,104,116,115,107,121,98,108,117,101,0,108,105,103,104,116,115,108,97,116,101,103,114,97,121,0,108,105,103,104,116,115,108,97,116,101,103,114,101,121,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,0,108,105,103,104,116,121,101,108,108,111,119,0,108,105,109,101,0,108,105,109,101,103,114,101,101,110,0,108,105,110,101,110,0,109,97,114,111,111,110,0,109,101,100,105,117,109,97,113,117,97,109,97,114,105,110,101,0,109,101,100,105,117,109,98,108,117,101,0,109,101,100,105,117,109,111,114,99,104,105,100,0,109,101,100,105,117,109,112,117,114,112,108,101,0,109,101,100,105,117,109,115,101,97,103,114,101,101,110,0,109,101,100,105,117,109,115,108,97,116,101,98,108,117,101,0,109,101,100,105,117,109,115,112,114,105,110,103,103,114,101,101,110,0,109,101,100,105,117,109,116,117,114,113,117,111,105,115,101,0,109,101,100,105,117,109,118,105,111,108,101,116,114,101,100,0,109,105,100,110,105,103,104,116,98,108,117,101,0,109,105,110,116,99,114,101,97,109,0,109,105,115,116,121,114,111,115,101,0,109,111,99,99,97,115,105,110,0,110,97,118,97,106,111,119,104,105,116,101,0,110,97,118,121,0,111,108,100,108,97,99,101,0,111,108,105,118,101,0,111,108,105,118,101,100,114,97,98,0,111,114,97,110,103,101,0,111,114,97,110,103,101,114,101,100,0,111,114,99,104,105,100,0,112,97,108,101,103,111,108,100,101,110,114,111,100,0,112,97,108,101,103,114,101,101,110,0,112,97,108,101,116,117,114,113,117,111,105,115,101,0,112,97,108,101,118,105,111,108,101,116,114,101,100,0,112,97,112,97,121,97,119,104,105,112,0,112,101,97,99,104,112,117,102,102,0,112,101,114,117,0,112,105,110,107,0,112,108,117,109,0,112,111,119,100,101,114,98,108,117,101,0,112,117,114,112,108,101,0,114,101,100,0,114,111,115,121,98,114,111,119,110,0,114,111,121,97,108,98,108,117,101,0,115,97,100,100,108,101,98,114,111,119,110,0,115,97,108,109,111,110,0,115,97,110,100,121,98,114,111,119,110,0,115,101,97,103,114,101,101,110,0,115,101,97,115,104,101,108,108,0,115,105,101,110,110,97,0,115,105,108,118,101,114,0,115,107,121,98,108,117,101,0,115,108,97,116,101,98,108,117,101,0,115,108,97,116,101,103,114,97,121,0,115,108,97,116,101,103,114,101,121,0,115,110,111,119,0,115,112,114,105,110,103,103,114,101,101,110,0,115,116,101,101,108,98,108,117,101,0,116,97,110,0,116,101,97,108,0,116,104,105,115,116,108,101,0,116,111,109,97,116,111,0,116,117,114,113,117,111,105,115,101,0,118,105,111,108,101,116,0,119,104,101,97,116,0,119,104,105,116,101,0,119,104,105,116,101,115,109,111,107,101,0,121,101,108,108,111,119,0,121,101,108,108,111,119,103,114,101,101,110,0,114,101,98,101,99,99,97,112,117,114,112,108,101,0,91,67,79,76,79,82,32,84,65,66,76,69,93,0,64,97,116,45,114,111,111,116,0,105,102,0,116,111,0,116,104,114,111,117,103,104,0,100,101,102,97,117,108,116,0,103,108,111,98,97,108,0,111,112,116,105,111,110,97,108,0,119,105,116,104,111,117,116,0,105,109,112,111,114,116,97,110,116,0,58,110,111,116,40,0,112,114,111,103,105,100,0,99,97,108,99,0,34,39,35,33,59,123,125,0,126,61,0,124,61,0,94,61,0,36,61,0,42,61,0,45,43,0,45,43,0,35,37,38,0,42,47,37,0,41,123,125,59,33,0,44,41,123,125,59,33,0,43,126,62,0,42,38,37,44,40,41,91,93,0,239,187,191,254,255,255,254,0,0,254,255,255,254,0,0,43,47,118,56,43,47,118,57,43,47,118,43,43,47,118,47,43,47,118,56,45,247,100,76,221,115,102,115,14,254,255,251,238,40,132,49,149,51,78,52,83,97,115,115,55,67,111,110,116,101,120,116,69,0,114,103,98,97,0,78,52,83,97,115,115,49,48,68,101,102,105,110,105,116,105,111,110,69,0,78,83,116,51,95,95,49,49,57,98,97,115,105,99,95,105,115,116,114,105,110,103,115,116,114,101,97,109,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,49,57,98,97,115,105,99,95,111,115,116,114,105,110,103,115,116,114,101,97,109,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,100,97,116,97,58,97,112,112,108,105,99,97,116,105,111,110,47,106,115,111,110,59,98,97,115,101,54,52,44,0,47,42,35,32,115,111,117,114,99,101,77,97,112,112,105,110,103,85,82,76,61,0,78,52,83,97,115,115,49,50,70,105,108,101,95,67,111,110,116,101,120,116,69,0,70,105,108,101,32,116,111,32,114,101,97,100,32,110,111,116,32,102,111,117,110,100,32,111,114,32,117,110,114,101,97,100,97,98,108,101,58,32,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,65,110,32,64,105,109,112,111,114,116,32,108,111,111,112,32,104,97,115,32,98,101,101,110,32,102,111,117,110,100,58,0,10,32,32,32,32,0,32,105,109,112,111,114,116,115,32,0,78,52,83,97,115,115,57,69,120,99,101,112,116,105,111,110,49,51,73,110,118,97,108,105,100,83,121,110,116,97,120,69,0,78,52,83,97,115,115,49,50,68,97,116,97,95,67,111,110,116,101,120,116,69,0,115,116,100,111,117,116,0,73,116,39,115,32,110,111,116,32,99,108,101,97,114,32,119,104,105,99,104,32,102,105,108,101,32,116,111,32,105,109,112,111,114,116,32,102,111,114,32,0,39,64,105,109,112,111,114,116,32,34,0,34,39,46,0,67,97,110,100,105,100,97,116,101,115,58,0,80,108,101,97,115,101,32,100,101,108,101,116,101,32,111,114,32,114,101,110,97,109,101,32,97,108,108,32,98,117,116,32,111,110,101,32,111,102,32,116,104,101,115,101,32,102,105,108,101,115,46,0,78,52,83,97,115,115,49,51,70,117,110,99,116,105,111,110,95,67,97,108,108,69,0,70,105,108,101,32,116,111,32,105,109,112,111,114,116,32,110,111,116,32,102,111,117,110,100,32,111,114,32,117,110,114,101,97,100,97,98,108,101,58,32,0,10,80,97,114,101,110,116,32,115,116,121,108,101,32,115,104,101,101,116,58,32,0,78,52,83,97,115,115,54,73,109,112,111,114,116,69,0,78,52,83,97,115,115,49,49,73,109,112,111,114,116,95,83,116,117,98,69,0,78,52,83,97,115,115,54,67,115,115,105,122,101,69,0,78,52,83,97,115,115,49,52,79,112,101,114,97,116,105,111,110,95,67,82,84,80,73,80,78,83,95,57,83,116,97,116,101,109,101,110,116,69,78,83,95,54,67,115,115,105,122,101,69,69,69,0,78,52,83,97,115,115,57,79,112,101,114,97,116,105,111,110,73,80,78,83,95,57,83,116,97,116,101,109,101,110,116,69,69,69,0,78,52,83,97,115,115,49,48,86,101,99,116,111,114,105,122,101,100,73,80,78,83,95,57,83,116,97,116,101,109,101,110,116,69,69,69,0,78,52,83,97,115,115,53,66,108,111,99,107,69,0,78,52,83,97,115,115,54,66,117,98,98,108,101,69,0,78,52,83,97,115,115,57,68,105,114,101,99,116,105,118,101,69,0,64,45,119,101,98,107,105,116,45,109,101,100,105,97,0,64,45,109,111,122,45,109,101,100,105,97,0,64,45,111,45,109,101,100,105,97,0,78,52,83,97,115,115,49,52,83,117,112,112,111,114,116,115,95,66,108,111,99,107,69],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20804);allocate([78,52,83,97,115,115,49,51,65,116,95,82,111,111,116,95,66,108,111,99,107,69,0,78,52,83,97,115,115,49,51,75,101,121,102,114,97,109,101,95,82,117,108,101,69,0,96,67,83,83,105,122,101,96,32,99,97,110,39,116,32,99,108,111,110,101,32,0,78,52,83,97,115,115,55,87,97,114,110,105,110,103,69,0,111,110,108,121,0,78,52,83,97,115,115,49,48,86,101,99,116,111,114,105,122,101,100,73,80,78,83,95,50,50,77,101,100,105,97,95,81,117,101,114,121,95,69,120,112,114,101,115,115,105,111,110,69,69,69,0,78,52,83,97,115,115,49,49,77,101,100,105,97,95,81,117,101,114,121,69,0,109,101,100,105,97,0,114,117,108,101,0,115,117,112,112,111,114,116,115,0,107,101,121,102,114,97,109,101,115,0,69,114,114,111,114,0,78,52,83,97,115,115,57,69,120,99,101,112,116,105,111,110,49,49,73,110,118,97,108,105,100,83,97,115,115,69,0,73,110,118,97,108,105,100,32,112,97,114,101,110,116,32,115,101,108,101,99,116,111,114,32,102,111,114,32,34,0,34,58,32,34,0,78,52,83,97,115,115,57,69,120,99,101,112,116,105,111,110,49,57,73,110,118,97,108,105,100,65,114,103,117,109,101,110,116,84,121,112,101,69,0,58,32,34,0,34,32,105,115,32,110,111,116,32,97,32,0,32,102,111,114,32,96,0,78,52,83,97,115,115,57,69,120,99,101,112,116,105,111,110,49,56,85,110,100,101,102,105,110,101,100,79,112,101,114,97,116,105,111,110,69,0,78,52,83,97,115,115,57,69,120,99,101,112,116,105,111,110,50,48,73,110,118,97,108,105,100,78,117,108,108,79,112,101,114,97,116,105,111,110,69,0,78,52,83,97,115,115,57,69,120,99,101,112,116,105,111,110,49,55,90,101,114,111,68,105,118,105,115,105,111,110,69,114,114,111,114,69,0,90,101,114,111,68,105,118,105,115,105,111,110,69,114,114,111,114,0,100,105,118,105,100,101,100,32,98,121,32,48,0,78,52,83,97,115,115,57,69,120,99,101,112,116,105,111,110,49,55,68,117,112,108,105,99,97,116,101,75,101,121,69,114,114,111,114,69,0,68,117,112,108,105,99,97,116,101,32,107,101,121,32,0,32,105,110,32,109,97,112,32,40,0,41,46,0,78,52,83,97,115,115,57,69,120,99,101,112,116,105,111,110,49,50,84,121,112,101,77,105,115,109,97,116,99,104,69,0,32,105,115,32,110,111,116,32,97,110,32,0,78,52,83,97,115,115,57,69,120,99,101,112,116,105,111,110,49,50,73,110,118,97,108,105,100,86,97,108,117,101,69,0,78,52,83,97,115,115,57,69,120,99,101,112,116,105,111,110,50,49,65,108,112,104,97,67,104,97,110,110,101,108,115,78,111,116,69,113,117,97,108,69,0,65,108,112,104,97,32,99,104,97,110,110,101,108,115,32,109,117,115,116,32,98,101,32,101,113,117,97,108,58,32,0,78,52,83,97,115,115,57,69,120,99,101,112,116,105,111,110,49,52,83,97,115,115,86,97,108,117,101,69,114,114,111,114,69,0,66,97,99,107,116,114,97,99,101,58,0,111,110,0,102,114,111,109,0,32,108,105,110,101,32,0,68,69,80,82,69,67,65,84,73,79,78,32,87,65,82,78,73,78,71,58,32,0,119,105,108,108,32,98,101,32,97,110,32,101,114,114,111,114,32,105,110,32,102,117,116,117,114,101,32,118,101,114,115,105,111,110,115,32,111,102,32,83,97,115,115,46,0,32,32,32,32,32,32,32,32,111,110,32,108,105,110,101,32,0,68,69,80,82,69,67,65,84,73,79,78,32,87,65,82,78,73,78,71,32,111,110,32,108,105,110,101,32,0,32,97,110,100,32,119,105,108,108,32,98,101,32,97,110,32,101,114,114,111,114,32,105,110,32,102,117,116,117,114,101,32,118,101,114,115,105,111,110,115,32,111,102,32,83,97,115,115,46,0,84,104,105,115,32,119,105,108,108,32,98,101,32,97,110,32,101,114,114,111,114,32,105,110,32,102,117,116,117,114,101,32,118,101,114,115,105,111,110,115,32,111,102,32,83,97,115,115,46,0,78,52,83,97,115,115,52,69,118,97,108,69,0,78,52,83,97,115,115,49,52,79,112,101,114,97,116,105,111,110,95,67,82,84,80,73,80,78,83,95,49,48,69,120,112,114,101,115,115,105,111,110,69,78,83,95,52,69,118,97,108,69,69,69,0,78,52,83,97,115,115,57,79,112,101,114,97,116,105,111,110,73,80,78,83,95,49,48,69,120,112,114,101,115,115,105,111,110,69,69,69,0,64,119,97,114,110,91,102,93,0,87,65,82,78,73,78,71,58,32,0,64,101,114,114,111,114,91,102,93,0,64,100,101,98,117,103,91,102,93,0,32,68,69,66,85,71,58,32,0,91,79,80,83,93,0,105,110,118,97,108,105,100,0,103,116,0,103,116,101,0,108,116,0,108,116,101,0,73,110,102,105,110,105,116,121,0,78,97,78,0,101,113,0,110,101,113,0,112,108,117,115,0,115,117,98,0,116,105,109,101,115,0,100,105,118,0,109,111,100,0,78,52,83,97,115,115,56,86,97,114,105,97,98,108,101,69,0,83,116,97,99,107,32,100,101,112,116,104,32,101,120,99,101,101,100,101,100,32,109,97,120,32,111,102,32,0,99,97,108,108,0,42,91,102,93,0,70,117,110,99,116,105,111,110,32,0,32,100,111,101,115,110,39,116,32,115,117,112,112,111,114,116,32,107,101,121,119,111,114,100,32,97,114,103,117,109,101,110,116,115,0,105,102,91,102,93,0,111,118,101,114,108,111,97,100,101,100,32,102,117,110,99,116,105,111,110,32,96,0,96,32,103,105,118,101,110,32,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,0,70,117,110,99,116,105,111,110,0,44,32,105,110,32,102,117,110,99,116,105,111,110,32,96,0,32,100,105,100,32,110,111,116,32,114,101,116,117,114,110,32,97,32,118,97,108,117,101,0,101,114,114,111,114,32,105,110,32,67,32,102,117,110,99,116,105,111,110,32,0,119,97,114,110,105,110,103,32,105,110,32,67,32,102,117,110,99,116,105,111,110,32,0,69,114,114,111,114,32,105,110,32,67,32,102,117,110,99,116,105,111,110,58,32,0,87,97,114,110,105,110,103,32,105,110,32,67,32,102,117,110,99,116,105,111,110,58,32,0,85,110,100,101,102,105,110,101,100,32,118,97,114,105,97,98,108,101,58,32,34,0,48,46,0,45,46,0,45,48,46,0,32,10,13,9,0,45,43,48,49,50,51,52,53,54,55,56,57,46,0,35,0,78,52,83,97,115,115,50,48,83,117,112,112,111,114,116,115,95,68,101,99,108,97,114,97,116,105,111,110,69,0,78,52,83,97,115,115,50,50,83,117,112,112,111,114,116,115,95,73,110,116,101,114,112,111,108,97,116,105,111,110,69,0,78,52,83,97,115,115,50,50,77,101,100,105,97,95,81,117,101,114,121,95,69,120,112,114,101,115,115,105,111,110,69,0,78,52,83,97,115,115,49,51,65,116,95,82,111,111,116,95,81,117,101,114,121,69,0,118,97,114,105,97,98,108,101,45,108,101,110,103,116,104,32,97,114,103,117,109,101,110,116,32,109,97,121,32,110,111,116,32,98,101,32,112,97,115,115,101,100,32,98,121,32,110,97,109,101,0,10,123,0,78,52,83,97,115,115,54,69,120,112,97,110,100,69,0,78,52,83,97,115,115,49,52,79,112,101,114,97,116,105,111,110,95,67,82,84,80,73,80,78,83,95,57,83,116,97,116,101,109,101,110,116,69,78,83,95,54,69,120,112,97,110,100,69,69,69,0,96,69,120,112,97,110,100,96,32,100,111,101,115,110,39,116,32,104,97,110,100,108,101,32,0,91,87,65,82,78,93,0,117,110,107,110,111,119,110,32,105,110,116,101,114,110,97,108,32,101,114,114,111,114,59,32,112,108,101,97,115,101,32,99,111,110,116,97,99,116,32,116,104,101,32,76,105,98,83,97,115,115,32,109,97,105,110,116,97,105,110,101,114,115,0,66,97,115,101,45,108,101,118,101,108,32,114,117,108,101,115,32,99,97,110,110,111,116,32,99,111,110,116,97,105,110,32,116,104,101,32,112,97,114,101,110,116,45,115,101,108,101,99,116,111,114,45,114,101,102,101,114,101,110,99,105,110,103,32,99,104,97,114,97,99,116,101,114,32,39,38,39,46,0,69,120,112,97,110,100,101,100,32,110,117,108,108,32,115,101,108,101,99,116,111,114,0,64,45,119,101,98,107,105,116,45,107,101,121,102,114,97,109,101,115,0,64,45,109,111,122,45,107,101,121,102,114,97,109,101,115,0,64,45,111,45,107,101,121,102,114,97,109,101,115,0,64,107,101,121,102,114,97,109,101,115,0,78,52,83,97,115,115,49,49,68,101,99,108,97,114,97,116,105,111,110,69,0,69,110,118,32,110,111,116,32,105,110,32,115,121,110,99,0,78,52,83,97,115,115,55,67,111,109,109,101,110,116,69,0,105,110,116,101,103,101,114,0,73,110,99,111,109,112,97,116,105,98,108,101,32,117,110,105,116,115,58,32,39,0,39,32,97,110,100,32,39,0,39,46,0,64,114,101,116,117,114,110,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,102,117,110,99,116,105,111,110,0,64,99,111,110,116,101,110,116,91,109,93,0,78,52,83,97,115,115,49,48,77,105,120,105,110,95,67,97,108,108,69,0,67,97,110,39,116,32,101,120,116,101,110,100,32,0,58,32,99,97,110,39,116,32,101,120,116,101,110,100,32,112,97,114,101,110,116,32,115,101,108,101,99,116,111,114,115,0,58,32,99,97,110,39,116,32,101,120,116,101,110,100,32,110,101,115,116,101,100,32,115,101,108,101,99,116,111,114,115,0,115,101,108,101,99,116,111,114,0,101,108,101,109,101,110,116,0,101,120,112,114,101,115,115,105,111,110,0,78,97,109,105,110,103,32,97,32,102,117,110,99,116,105,111,110,32,34,0,34,32,105,115,32,100,105,115,97,108,108,111,119,101,100,0,84,104,105,115,32,110,97,109,101,32,99,111,110,102,108,105,99,116,115,32,119,105,116,104,32,97,110,32,101,120,105,115,116,105,110,103,32,67,83,83,32,102,117,110,99,116,105,111,110,32,119,105,116,104,32,115,112,101,99,105,97,108,32,112,97,114,115,101,32,114,117,108,101,115,46,0,110,111,32,109,105,120,105,110,32,110,97,109,101,100,32,0,77,105,120,105,110,32,34,0,34,32,100,111,101,115,32,110,111,116,32,97,99,99,101,112,116,32,97,32,99,111,110,116,101,110,116,32,98,108,111,99,107,46,0,44,32,105,110,32,109,105,120,105,110,32,96,0,78,52,83,97,115,115,49,48,80,97,114,97,109,101,116,101,114,115,69,0,78,52,83,97,115,115,49,48,86,101,99,116,111,114,105,122,101,100,73,80,78,83,95,57,80,97,114,97,109,101,116,101,114,69,69,69,0,111,112,116,105,111,110,97,108,32,112,97,114,97,109,101,116,101,114,115,32,109,97,121,32,110,111,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,118,97,114,105,97,98,108,101,45,108,101,110,103,116,104,32,112,97,114,97,109,101,116,101,114,115,0,102,117,110,99,116,105,111,110,115,32,97,110,100,32,109,105,120,105,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,118,97,114,105,97,98,108,101,45,108,101,110,103,116,104,32,112,97,114,97,109,101,116,101,114,0,114,101,113,117,105,114,101,100,32,112,97,114,97,109,101,116,101,114,115,32,109,117,115,116,32,112,114,101,99,101,100,101,32,118,97,114,105,97,98,108,101,45,108,101,110,103,116,104,32,112,97,114,97,109,101,116,101,114,115,0,114,101,113,117,105,114,101,100,32,112,97,114,97,109,101,116,101,114,115,32,109,117,115,116,32,112,114,101,99,101,100,101,32,111,112,116,105,111,110,97,108,32,112,97,114,97,109,101,116,101,114,115,0,77,105,120,105,110,0,78,52,83,97,115,115,54,69,120,116,101,110,100,69,0,78,52,83,97,115,115,49,52,79,112,101,114,97,116,105,111,110,95,67,82,84,80,73,118,78,83,95,54,69,120,116,101,110,100,69,69,69,0,78,52,83,97,115,115,57,79,112,101,114,97,116,105,111,110,73,118,69,69,0,34,32,102,97,105,108,101,100,32,116,111,32,64,101,120,116,101,110,100,32,34,0,34,46,10,84,104,101,32,115,101,108,101,99,116,111,114,32,34,0,34,32,119,97,115,32,110,111,116,32,102,111,117,110,100,46,10,85,115,101,32,34,64,101,120,116,101,110,100,32,0,32,33,111,112,116,105,111,110,97,108,34,32,105,102,32,116,104,101,32,101,120,116,101,110,100,32,115,104,111,117,108,100,32,98,101,32,97,98,108,101,32,116,111,32,102,97,105,108,46,0,89,111,117,32,109,97,121,32,110,111,116,32,64,101,120,116,101,110,100,32,97,110,32,111,117,116,101,114,32,115,101,108,101,99,116,111,114,32,102,114,111,109,32,119,105,116,104,105,110,32,64,109,101,100,105,97,46,10,0,89,111,117,32,109,97,121,32,111,110,108,121,32,64,101,120,116,101,110,100,32,115,101,108,101,99,116,111,114,115,32,119,105,116,104,105,110,32,116,104,101,32,115,97,109,101,32,100,105,114,101,99,116,105,118,101,46,10,0,70,114,111,109,32,34,64,101,120,116,101,110,100,32,0,109,97,112,58,58,97,116,58,32,32,107,101,121,32,110,111,116,32,102,111,117,110,100,0,91,70,65,75,69,93,0,116,101,109,112,0,47,46,47,0,46,47,0,47,46,0,46,46,47,0,46,46,92,0,46,46,0,46,115,99,115,115,0,46,115,97,115,115,0,46,99,115,115,0,95,0,78,83,116,51,95,95,49,49,52,98,97,115,105,99,95,105,102,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,102,105,108,101,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,114,98,0,114,103,98,40,36,114,101,100,44,32,36,103,114,101,101,110,44,32,36,98,108,117,101,41,0,114,103,98,97,40,36,114,101,100,44,32,36,103,114,101,101,110,44,32,36,98,108,117,101,44,32,36,97,108,112,104,97,41,0,114,103,98,97,40,36,99,111,108,111,114,44,32,36,97,108,112,104,97,41,0,114,101,100,40,36,99,111,108,111,114,41,0,103,114,101,101,110,40,36,99,111,108,111,114,41,0,98,108,117,101,40,36,99,111,108,111,114,41,0,109,105,120,40,36,99,111,108,111,114,45,49,44,32,36,99,111,108,111,114,45,50,44,32,36,119,101,105,103,104,116,58,32,53,48,37,41,0,104,115,108,40,36,104,117,101,44,32,36,115,97,116,117,114,97,116,105,111,110,44,32,36,108,105,103,104,116,110,101,115,115,41,0,104,115,108,97,40,36,104,117,101,44,32,36,115,97,116,117,114,97,116,105,111,110,44,32,36,108,105,103,104,116,110,101,115,115,44,32,36,97,108,112,104,97,41,0,104,117,101,40,36,99,111,108,111,114,41,0,115,97,116,117,114,97,116,105,111,110,40,36,99,111,108,111,114,41,0,108,105,103,104,116,110,101,115,115,40,36,99,111,108,111,114,41,0,97,100,106,117,115,116,45,104,117,101,40,36,99,111,108,111,114,44,32,36,100,101,103,114,101,101,115,41,0,108,105,103,104,116,101,110,40,36,99,111,108,111,114,44,32,36,97,109,111,117,110,116,41,0,100,97,114,107,101,110,40,36,99,111,108,111,114,44,32,36,97,109,111,117,110,116,41,0,115,97,116,117,114,97,116,101,40,36,99,111,108,111,114,44,32,36,97,109,111,117,110,116,58,32,102,97,108,115,101,41,0,100,101,115,97,116,117,114,97,116,101,40,36,99,111,108,111,114,44,32,36,97,109,111,117,110,116,41,0,103,114,97,121,115,99,97,108,101,40,36,99,111,108,111,114,41,0,99,111,109,112,108,101,109,101,110,116,40,36,99,111,108,111,114,41,0,105,110,118,101,114,116,40,36,99,111,108,111,114,41,0,97,108,112,104,97,40,36,99,111,108,111,114,41,0,111,112,97,99,105,116,121,40,36,99,111,108,111,114,41,0,111,112,97,99,105,102,121,40,36,99,111,108,111,114,44,32,36,97,109,111,117,110,116,41,0,102,97,100,101,45,105,110,40,36,99,111,108,111,114,44,32,36,97,109,111,117,110,116,41,0,116,114,97,110,115,112,97,114,101,110,116,105,122,101,40,36,99,111,108,111,114,44,32,36,97,109,111,117,110,116,41,0,102,97,100,101,45,111,117,116,40,36,99,111,108,111,114,44,32,36,97,109,111,117,110,116,41,0,97,100,106,117,115,116,45,99,111,108,111,114,40,36,99,111,108,111,114,44,32,36,114,101,100,58,32,102,97,108,115,101,44,32,36,103,114,101,101,110,58,32,102,97,108,115,101,44,32,36,98,108,117,101,58,32,102,97,108,115,101,44,32,36,104,117,101,58,32,102,97,108,115,101,44,32,36,115,97,116,117,114,97,116,105,111,110,58,32,102,97,108,115,101,44,32,36,108,105,103,104,116,110,101,115,115,58,32,102,97,108,115,101,44,32,36,97,108,112,104,97,58,32,102,97,108,115,101,41,0,115,99,97,108,101,45,99,111,108,111,114,40,36,99,111,108,111,114,44,32,36,114,101,100,58,32,102,97,108,115,101,44,32,36,103,114,101,101,110,58,32,102,97,108,115,101,44,32,36,98,108,117,101,58,32,102,97,108,115,101,44,32,36,104,117,101,58,32,102,97,108,115,101,44,32,36,115,97,116,117,114,97,116,105,111,110,58,32,102,97,108,115,101,44,32,36,108,105,103,104,116,110,101,115,115,58,32,102,97,108,115,101,44,32,36,97,108,112,104,97,58,32,102,97,108,115,101,41,0,99,104,97,110,103,101,45,99,111,108,111,114,40,36,99,111,108,111,114,44,32,36,114,101,100,58,32,102,97,108,115,101,44,32,36,103,114,101,101,110,58,32,102,97,108,115,101,44,32,36,98,108,117,101,58,32,102,97,108,115,101,44,32,36,104,117,101,58,32,102,97,108,115,101,44,32,36,115,97,116,117,114,97,116,105,111,110,58,32,102,97,108,115,101,44,32,36,108,105,103,104,116,110,101,115,115,58,32,102,97,108,115,101,44,32,36,97,108,112,104,97,58,32,102,97,108,115,101,41,0,105,101,45,104,101,120,45,115,116,114,40,36,99,111,108,111,114,41,0,117,110,113,117,111,116,101,40,36,115,116,114,105,110,103,41,0,113,117,111,116,101,40,36,115,116,114,105,110,103,41,0,115,116,114,45,108,101,110,103,116,104,40,36,115,116,114,105,110,103,41,0,115,116,114,45,105,110,115,101,114,116,40,36,115,116,114,105,110,103,44,32,36,105,110,115,101,114,116,44,32,36,105,110,100,101,120,41,0,115,116,114,45,105,110,100,101,120,40,36,115,116,114,105,110,103,44,32,36,115,117,98,115,116,114,105,110,103,41,0,115,116,114,45,115,108,105,99,101,40,36,115,116,114,105,110,103,44,32,36,115,116,97,114,116,45,97,116,44,32,36,101,110,100,45,97,116,58,45,49,41,0,116,111,45,117,112,112,101,114,45,99,97,115,101,40,36,115,116,114,105,110,103,41,0,116,111,45,108,111,119,101,114,45,99,97,115,101,40,36,115,116,114,105,110,103,41,0,112,101,114,99,101,110,116,97,103,101,40,36,110,117,109,98,101,114,41,0,114,111,117,110,100,40,36,110,117,109,98,101,114,41,0,99,101,105,108,40,36,110,117,109,98,101,114,41,0,102,108,111,111,114,40,36,110,117,109,98,101,114,41,0,97,98,115,40,36,110,117,109,98,101,114,41,0,109,105,110,40,36,110,117,109,98,101,114,115,46,46,46,41,0,109,97,120,40,36,110,117,109,98,101,114,115,46,46,46,41,0,114,97,110,100,111,109,40,36,108,105,109,105,116,58,102,97,108,115,101,41,0,108,101,110,103,116,104,40,36,108,105,115,116,41,0,110,116,104,40,36,108,105,115,116,44,32,36,110,41,0,115,101,116,45,110,116,104,40,36,108,105,115,116,44,32,36,110,44,32,36,118,97,108,117,101,41,0,105,110,100,101,120,40,36,108,105,115,116,44,32,36,118,97,108,117,101,41,0,106,111,105,110,40,36,108,105,115,116,49,44,32,36,108,105,115,116,50,44,32,36,115,101,112,97,114,97,116,111,114,58,32,97,117,116,111,41,0,97,112,112,101,110,100,40,36,108,105,115,116,44,32,36,118,97,108,44,32,36,115,101,112,97,114,97,116,111,114,58,32,97,117,116,111,41,0,122,105,112,40,36,108,105,115,116,115,46,46,46,41,0,108,105,115,116,95,115,101,112,97,114,97,116,111,114,40,36,108,105,115,116,41,0,109,97,112,45,103,101,116,40,36,109,97,112,44,32,36,107,101,121,41,0,109,97,112,45,104,97,115,45,107,101,121,40,36,109,97,112,44,32,36,107,101,121,41,0,109,97,112,45,107,101,121,115,40,36,109,97,112,41,0,109,97,112,45,118,97,108,117,101,115,40,36,109,97,112,41,0,109,97,112,45,109,101,114,103,101,40,36,109,97,112,49,44,32,36,109,97,112,50,41,0,109,97,112,45,114,101,109,111,118,101,40,36,109,97,112,44,32,36,107,101,121,115,46,46,46,41,0,107,101,121,119,111,114,100,115,40,36,97,114,103,115,41,0,116,121,112,101,45,111,102,40,36,118,97,108,117,101,41,0,117,110,105,116,40,36,110,117,109,98,101,114,41,0,117,110,105,116,108,101,115,115,40,36,110,117,109,98,101,114,41,0,99,111,109,112,97,114,97,98,108,101,40,36,110,117,109,98,101,114,45,49,44,32,36,110,117,109,98,101,114,45,50,41,0,118,97,114,105,97,98,108,101,45,101,120,105,115,116,115,40,36,110,97,109,101,41,0,103,108,111,98,97,108,45,118,97,114,105,97,98,108,101,45,101,120,105,115,116,115,40,36,110,97,109,101,41,0,102,117,110,99,116,105,111,110,45,101,120,105,115,116,115,40,36,110,97,109,101,41,0,109,105,120,105,110,45,101,120,105,115,116,115,40,36,110,97,109,101,41,0,102,101,97,116,117,114,101,45,101,120,105,115,116,115,40,36,110,97,109,101,41,0,99,97,108,108,40,36,110,97,109,101,44,32,36,97,114,103,115,46,46,46,41,0,110,111,116,40,36,118,97,108,117,101,41,0,105,102,40,36,99,111,110,100,105,116,105,111,110,44,32,36,105,102,45,116,114,117,101,44,32,36,105,102,45,102,97,108,115,101,41,0,105,110,115,112,101,99,116,40,36,118,97,108,117,101,41,0,115,101,108,101,99,116,111,114,45,110,101,115,116,40,36,115,101,108,101,99,116,111,114,115,46,46,46,41,0,115,101,108,101,99,116,111,114,45,97,112,112,101,110,100,40,36,115,101,108,101,99,116,111,114,115,46,46,46,41,0,115,101,108,101,99,116,111,114,45,117,110,105,102,121,40,36,115,101,108,101,99,116,111,114,49,44,32,36,115,101,108,101,99,116,111,114,50,41,0,115,105,109,112,108,101,45,115,101,108,101,99,116,111,114,115,40,36,115,101,108,101,99,116,111,114,41,0,115,101,108,101,99,116,111,114,45,101,120,116,101,110,100,40,36,115,101,108,101,99,116,111,114,44,32,36,101,120,116,101,110,100,101,101,44,32,36,101,120,116,101,110,100,101,114,41,0,115,101,108,101,99,116,111,114,45,114,101,112,108,97,99,101,40,36,115,101,108,101,99,116,111,114,44,32,36,111,114,105,103,105,110,97,108,44,32,36,114,101,112,108,97,99,101,109,101,110,116,41,0,115,101,108,101,99,116,111,114,45,112,97,114,115,101,40,36,115,101,108,101,99,116,111,114,41,0,105,115,45,115,117,112,101,114,115,101,108,101,99,116,111,114,40,36,115,117,112,101,114,44,32,36,115,117,98,41,0,117,110,105,113,117,101,45,105,100,40,41,0,47,100,101,118,47,117,114,97,110,100,111,109,0,103,108,111,98,97,108,45,118,97,114,105,97,98,108,101,45,115,104,97,100,111,119,105,110,103,0,101,120,116,101,110,100,45,115,101,108,101,99,116,111,114,45,112,115,101,117,100,111,99,108,97,115,115,0,97,116,45,101,114,114,111,114,0,117,110,105,116,115,45,108,101,118,101,108,45,51,0,91,98,117,105,108,116,45,105,110,32,102,117,110,99,116,105,111,110,93,0,91,99,32,102,117,110,99,116,105,111,110,93,0,97,114,103,117,109,101,110,116,32,96,0,96,32,111,102,32,96,0,96,32,109,117,115,116,32,98,101,32,97,32,0,109,97,112,0,110,117,109,98,101,114,0,96,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,0,58,32,110,117,108,108,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,115,101,108,101,99,116,111,114,58,32,105,116,32,109,117,115,116,32,98,101,32,97,32,115,116,114,105,110,103,44,10,0,97,32,108,105,115,116,32,111,102,32,115,116,114,105,110,103,115,44,32,111,114,32,97,32,108,105,115,116,32,111,102,32,108,105,115,116,115,32,111,102,32,115,116,114,105,110,103,115,32,102,111,114,32,96,0,91,83,69,76,69,67,84,79,82,93,0,58,32,110,117,108,108,32,105,115,32,110,111,116,32,97,32,115,116,114,105,110,103,32,102,111,114,32,96,0,36,114,101,100,0,36,103,114,101,101,110,0,36,98,108,117,101,0,36,97,108,112,104,97,0,36,99,111,108,111,114,0,99,111,108,111,114,0,36,99,111,108,111,114,45,49,0,36,99,111,108,111,114,45,50,0,36,119,101,105,103,104,116,0,36,104,117,101,0,36,115,97,116,117,114,97,116,105,111,110,0,36,108,105,103,104,116,110,101,115,115,0,36,100,101,103,114,101,101,115,0,36,97,109,111,117,110,116,0,115,97,116,117,114,97,116,101,40,0,103,114,97,121,115,99,97,108,101,40,0,105,110,118,101,114,116,40,0,97,108,112,104,97,40,0,111,112,97,99,105,116,121,40,0,99,97,110,110,111,116,32,115,112,101,99,105,102,121,32,98,111,116,104,32,82,71,66,32,97,110,100,32,72,83,76,32,118,97,108,117,101,115,32,102,111,114,32,96,97,100,106,117,115,116,45,99,111,108,111,114,96,0,110,111,116,32,101,110,111,117,103,104,32,97,114,103,117,109,101,110,116,115,32,102,111,114,32,96,97,100,106,117,115,116,45,99,111,108,111,114,96,0,99,97,110,110,111,116,32,115,112,101,99,105,102,121,32,98,111,116,104,32,82,71,66,32,97,110,100,32,72,83,76,32,118,97,108,117,101,115,32,102,111,114,32,96,115,99,97,108,101,45,99,111,108,111,114,96,0,110,111,116,32,101,110,111,117,103,104,32,97,114,103,117,109,101,110,116,115,32,102,111,114,32,96,115,99,97,108,101,45,99,111,108,111,114,96,0,99,97,110,110,111,116,32,115,112,101,99,105,102,121,32,98,111,116,104,32,82,71,66,32,97,110,100,32,72,83,76,32,118,97,108,117,101,115,32,102,111,114,32,96,99,104,97,110,103,101,45,99,111,108,111,114,96,0,110,111,116,32,101,110,111,117,103,104,32,97,114,103,117,109,101,110,116,115,32,102,111,114,32,96,99,104,97,110,103,101,45,99,111,108,111,114,96,0,36,115,116,114,105,110,103,0,80,97,115,115,105,110,103,32,0,44,32,97,32,110,111,110,45,115,116,114,105,110,103,32,118,97,108,117,101,44,32,116,111,32,117,110,113,117,111,116,101,40,41,0,115,116,114,105,110,103,0,78,52,117,116,102,56,49,56,105,110,118,97,108,105,100,95,99,111,100,101,95,112,111,105,110,116,69,0,78,52,117,116,102,56,57,101,120,99,101,112,116,105,111,110,69,0,78,52,117,116,102,56,49,53,110,111,116,95,101,110,111,117,103,104,95,114,111,111,109,69,0,78,52,117,116,102,56,49,50,105,110,118,97,108,105,100,95,117,116,102,56,69,0,73,110,118,97,108,105,100,32,99,111,100,101,32,112,111,105,110,116,0,117,116,102,56,58,58,105,110,118,97,108,105,100,95,99,111,100,101,95,112,111,105,110,116,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,0,117,116,102,56,58,58,110,111,116,95,101,110,111,117,103,104,95,114,111,111,109,0,73,110,118,97,108,105,100,32,85,84,70,45,56,0,117,116,102,56,58,58,105,110,118,97,108,105,100,95,117,116,102,56,0,36,105,110,115,101,114,116,0,36,105,110,100,101,120,0,36,115,117,98,115,116,114,105,110,103,0,36,115,116,97,114,116,45,97,116,0,36,101,110,100,45,97,116,0,36,110,117,109,98,101,114,0,97,114,103,117,109,101,110,116,32,36,110,117,109,98,101,114,32,111,102,32,96,0,96,32,109,117,115,116,32,98,101,32,117,110,105,116,108,101,115,115,0,36,110,117,109,98,101,114,115,0,108,105,115,116,0,34,32,105,115,32,110,111,116,32,97,32,110,117,109,98,101,114,32,102,111,114,32,96,109,105,110,39,0,34,32,105,115,32,110,111,116,32,97,32,110,117,109,98,101,114,32,102,111,114,32,96,109,97,120,39,0,36,108,105,109,105,116,0,36,108,105,109,105,116,32,0,32,109,117,115,116,32,98,101,32,103,114,101,97,116,101,114,32,116,104,97,110,32,111,114,32,101,113,117,97,108,32,116,111,32,49,32,102,111,114,32,96,114,97,110,100,111,109,96,0,69,120,112,101,99,116,101,100,32,36,108,105,109,105,116,32,116,111,32,98,101,32,97,110,32,105,110,116,101,103,101,114,32,98,117,116,32,103,111,116,32,96,0,96,32,102,111,114,32,96,114,97,110,100,111,109,96,0,114,97,110,100,111,109,0,36,108,105,115,116,0,36,110,0,97,114,103,117,109,101,110,116,32,96,36,108,105,115,116,96,32,111,102,32,96,0,96,32,109,117,115,116,32,110,111,116,32,98,101,32,101,109,112,116,121,0,105,110,100,101,120,32,111,117,116,32,111,102,32,98,111,117,110,100,115,32,102,111,114,32,96,0,96,0,97,114,103,117,109,101,110,116,32,96,36,110,96,32,111,102,32,96,0,96,32,109,117,115,116,32,98,101,32,110,111,110,45,122,101,114,111,0,36,118,97,108,117,101,0,36,108,105,115,116,49,0,36,108,105,115,116,50,0,36,115,101,112,97,114,97,116,111,114,0,115,112,97,99,101,0,99,111,109,109,97,0,97,117,116,111,0,97,114,103,117,109,101,110,116,32,96,36,115,101,112,97,114,97,116,111,114,96,32,111,102,32,96,0,96,32,109,117,115,116,32,98,101,32,96,115,112,97,99,101,96,44,32,96,99,111,109,109,97,96,44,32,111,114,32,96,97,117,116,111,96,0,36,118,97,108,0,36,108,105,115,116,115,0,36,109,97,112,0,36,107,101,121,0,36,109,97,112,49,0,36,109,97,112,50,0,36,107,101,121,115,0,36,97,114,103,115,0,36,110,117,109,98,101,114,45,49,0,36,110,117,109,98,101,114,45,50,0,36,110,97,109,101,0,36,0,91,102,93,0,91,109,93,0,36,99,111,110,100,105,116,105,111,110,0,36,105,102,45,116,114,117,101,0,36,105,102,45,102,97,108,115,101,0,36,115,101,108,101,99,116,111,114,115,0,36,115,101,108,101,99,116,111,114,115,58,32,65,116,32,108,101,97,115,116,32,111,110,101,32,115,101,108,101,99,116,111,114,32,109,117,115,116,32,98,101,32,112,97,115,115,101,100,0,36,115,101,108,101,99,116,111,114,115,58,32,110,117,108,108,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,115,101,108,101,99,116,111,114,58,32,105,116,32,109,117,115,116,32,98,101,32,97,32,115,116,114,105,110,103,44,10,0,97,32,108,105,115,116,32,111,102,32,115,116,114,105,110,103,115,44,32,111,114,32,97,32,108,105,115,116,32,111,102,32,108,105,115,116,115,32,111,102,32,115,116,114,105,110,103,115,32,102,111,114,32,39,115,101,108,101,99,116,111,114,45,110,101,115,116,39,0,97,32,108,105,115,116,32,111,102,32,115,116,114,105,110,103,115,44,32,111,114,32,97,32,108,105,115,116,32,111,102,32,108,105,115,116,115,32,111,102,32,115,116,114,105,110,103,115,32,102,111,114,32,39,115,101,108,101,99,116,111,114,45,97,112,112,101,110,100,39,0,67,97,110,39,116,32,97,112,112,101,110,100,32,32,96,0,96,32,116,111,32,96,0,36,115,101,108,101,99,116,111,114,49,0,36,115,101,108,101,99,116,111,114,50,0,36,115,101,108,101,99,116,111,114,0,36,101,120,116,101,110,100,101,101,0,36,101,120,116,101,110,100,101,114,0,36,111,114,105,103,105,110,97,108,0,36,114,101,112,108,97,99,101,109,101,110,116,0,36,115,117,112,101,114,0,36,115,117,98,0,117,0,78,52,83,97,115,115,55,73,110,115,112,101,99,116,69,0,78,52,83,97,115,115,49,52,79,112,101,114,97,116,105,111,110,95,67,82,84,80,73,118,78,83,95,55,73,110,115,112,101,99,116,69,69,69,0,58,58,66,85,66,66,76,69,0,64,97,116,45,114,111,111,116,32,0,33,100,101,102,97,117,108,116,0,64,105,102,0,101,108,115,101,0,64,102,111,114,0,32,102,114,111,109,32,0,32,116,104,114,111,117,103,104,32,0,32,116,111,32,0,64,101,97,99,104,0,32,105,110,32,0,64,119,104,105,108,101,0,64,109,105,120,105,110,0,64,102,117,110,99,116,105,111,110,0,40,41,0,40,0,44,41,0,41,0,38,38,0,124,124,0,61,61,0,33,61,0,62,61,0,60,0,60,61,0,45,0,42,0,37,0,48,46,48,0,45,48,0,45,48,46,48,0,116,114,97,110,115,112,97,114,101,110,116,0,114,103,98,97,40,0,35,123,0,110,111,116,32,0,111,110,108,121,32,0,32,97,110,100,32,0,110,117,108,108,0,46,46,46,0,91,0,93,0,115,114,99,47,106,115,111,110,46,99,112,112,0,115,98,45,62,115,116,97,114,116,32,60,61,32,115,98,45,62,99,117,114,32,38,38,32,115,116,114,108,101,110,40,115,98,45,62,115,116,97,114,116,41,32,61,61,32,40,115,105,122,101,95,116,41,40,115,98,45,62,99,117,114,32,45,32,115,98,45,62,115,116,97,114,116,41,0,115,98,95,102,105,110,105,115,104,0,97,114,114,97,121,45,62,116,97,103,32,61,61,32,74,83,79,78,95,65,82,82,65,89,0,106,115,111,110,95,97,112,112,101,110,100,95,101,108,101,109,101,110,116,0,101,108,101,109,101,110,116,45,62,112,97,114,101,110,116,32,61,61,32,78,85,76,76,0,116,97,103,95,105,115,95,118,97,108,105,100,40,110,111,100,101,45,62,116,97,103,41,0,101,109,105,116,95,118,97,108,117,101,95,105,110,100,101,110,116,101,100,0,117,116,102,56,95,118,97,108,105,100,97,116,101,40,115,116,114,41,0,101,109,105,116,95,115,116,114,105,110,103,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,0,37,46,49,54,103,0,44,10,0,101,109,105,116,95,118,97,108,117,101,0,111,98,106,101,99,116,45,62,116,97,103,32,61,61,32,74,83,79,78,95,79,66,74,69,67,84,0,106,115,111,110,95,97,112,112,101,110,100,95,109,101,109,98,101,114,0,118,97,108,117,101,45,62,112,97,114,101,110,116,32,61,61,32,78,85,76,76,0,78,52,83,97,115,115,55,76,105,115,116,105,122,101,69,0,78,52,83,97,115,115,49,52,79,112,101,114,97,116,105,111,110,95,67,82,84,80,73,80,78,83,95,49,48,69,120,112,114,101,115,115,105,111,110,69,78,83,95,55,76,105,115,116,105,122,101,69,69,69,0,47,0,126,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,83,95,53,100,101,113,117,101,73,78,52,83,97,115,115,52,78,111,100,101,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,51,95,69,69,69,69,78,83,52,95,73,83,54,95,69,69,69,69,0,67,111,109,112,97,114,105,110,103,32,117,110,107,110,111,119,110,32,110,111,100,101,32,116,121,112,101,115,46,32,65,32,110,101,119,32,116,121,112,101,32,119,97,115,32,112,114,111,98,97,98,108,121,32,97,100,100,101,100,32,97,110,100,32,116,104,105,115,32,109,101,116,104,111,100,32,119,97,115,110,39,116,32,105,109,112,108,101,109,101,110,116,101,100,32,102,111,114,32,105,116,46,0,66,111,116,104,32,116,104,101,32,99,117,114,114,101,110,116,32,110,111,100,101,32,97,110,100,32,114,104,115,32,109,117,115,116,32,98,101,32,99,111,108,108,101,99,116,105,111,110,115,46,0,84,104,101,32,110,111,100,101,32,116,111,32,99,111,110,118,101,114,116,32,116,111,32,97,32,67,111,109,112,108,101,120,95,83,101,108,101,99,116,111,114,42,32,109,117,115,116,32,98,101,32,97,32,99,111,108,108,101,99,116,105,111,110,32,116,121,112,101,32,111,114,32,110,105,108,46,0,91,78,79,68,69,93,0,84,104,101,32,110,111,100,101,32,116,111,32,99,111,110,118,101,114,116,39,115,32,99,104,105,108,100,114,101,110,32,109,117,115,116,32,98,101,32,111,110,108,121,32,99,111,109,98,105,110,97,116,111,114,115,32,111,114,32,115,101,108,101,99,116,111,114,115,46,0,78,52,83,97,115,115,54,79,117,116,112,117,116,69,0,47,42,32,108,105,110,101,32,0,44,32,0,64,115,117,112,112,111,114,116,115,0,64,109,101,100,105,97,0,123,125,0,64,102,111,110,116,45,102,97,99,101,0,32,105,115,110,39,116,32,97,32,118,97,108,105,100,32,67,83,83,32,118,97,108,117,101,46,0,64,99,104,97,114,115,101,116,32,34,85,84,70,45,56,34,59,0,239,187,191,0,110,101,103,97,116,101,100,32,115,101,108,101,99,116,111,114,32,105,115,32,109,105,115,115,105,110,103,32,39,41,39,0,73,110,118,97,108,105,100,32,67,83,83,0,32,97,102,116,101,114,32,0,58,32,101,120,112,101,99,116,101,100,32,112,115,101,117,100,111,99,108,97,115,115,32,111,114,32,112,115,101,117,100,111,101,108,101,109,101,110,116,44,32,119,97,115,32,0,58,32,101,120,112,101,99,116,101,100,32,34,41,34,44,32,119,97,115,32,0,105,110,118,97,108,105,100,32,97,116,116,114,105,98,117,116,101,32,110,97,109,101,32,105,110,32,97,116,116,114,105,98,117,116,101,32,115,101,108,101,99,116,111,114,0,105,110,118,97,108,105,100,32,111,112,101,114,97,116,111,114,32,105,110,32,97,116,116,114,105,98,117,116,101,32,115,101,108,101,99,116,111,114,32,102,111,114,32,0,101,120,112,101,99,116,101,100,32,97,32,115,116,114,105,110,103,32,99,111,110,115,116,97,110,116,32,111,114,32,105,100,101,110,116,105,102,105,101,114,32,105,110,32,97,116,116,114,105,98,117,116,101,32,115,101,108,101,99,116,111,114,32,102,111,114,32,0,58,32,101,120,112,101,99,116,101,100,32,101,120,112,114,101,115,115,105,111,110,32,40,101,46,103,46,32,49,112,120,44,32,98,111,108,100,41,44,32,119,97,115,32,0,105,110,118,97,108,105,100,32,115,121,110,116,97,120,0,117,110,99,108,111,115,101,100,32,112,97,114,101,110,116,104,101,115,105,115,0,117,110,116,101,114,109,105,110,97,116,101,100,32,105,110,116,101,114,112,111,108,97,110,116,32,105,110,115,105,100,101,32,73,69,32,102,117,110,99,116,105,111,110,32,0,101,120,112,101,99,116,101,100,32,97,32,118,97,114,105,97,98,108,101,32,110,97,109,101,32,40,101,46,103,46,32,36,120,41,32,111,114,32,39,41,39,32,102,111,114,32,116,104,101,32,112,97,114,97,109,101,116,101,114,32,108,105,115,116,32,102,111,114,32,0,117,110,116,101,114,109,105,110,97,116,101,100,32,105,110,116,101,114,112,111,108,97,110,116,32,105,110,115,105,100,101,32,105,110,116,101,114,112,111,108,97,116,101,100,32,105,100,101,110,116,105,102,105,101,114,32,0,78,52,83,97,115,115,50,48,70,117,110,99,116,105,111,110,95,67,97,108,108,95,83,99,104,101,109,97,69,0,78,52,83,97,115,115,49,54,85,110,97,114,121,95,69,120,112,114,101,115,115,105,111,110,69,0,38,0,33,105,109,112,111,114,116,97,110,116,0,117,110,107,110,111,119,110,32,115,116,97,116,105,99,32,111,112,32,112,97,114,115,101,100,0,117,110,116,101,114,109,105,110,97,116,101,100,32,105,110,116,101,114,112,111,108,97,110,116,32,105,110,115,105,100,101,32,115,116,114,105,110,103,32,99,111,110,115,116,97,110,116,32,0,117,110,116,101,114,109,105,110,97,116,101,100,32,97,116,116,114,105,98,117,116,101,32,115,101,108,101,99,116,111,114,32,102,111,114,32,0,73,110,118,97,108,105,100,32,67,83,83,32,97,102,116,101,114,32,34,0,34,58,32,101,120,112,101,99,116,101,100,32,34,123,34,44,32,119,97,115,32,34,0,34,10,10,34,0,34,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,97,116,32,116,104,101,32,98,101,103,105,110,110,105,110,103,32,111,102,32,97,32,99,111,109,112,111,117,110,100,32,115,101,108,101,99,116,111,114,46,0,85,84,70,45,56,0,85,84,70,45,49,54,32,40,98,105,103,32,101,110,100,105,97,110,41,0,85,84,70,45,49,54,32,40,108,105,116,116,108,101,32,101,110,100,105,97,110,41,0,85,84,70,45,51,50,32,40,108,105,116,116,108,101,32,101,110,100,105,97,110,41,0,85,84,70,45,51,50,32,40,98,105,103,32,101,110,100,105,97,110,41,0,85,84,70,45,55,0,85,84,70,45,49,0,85,84,70,45,69,66,67,68,73,67,0,83,67,83,85,0,66,79,67,85,45,49,0,71,66,45,49,56,48,51,48,0,111,110,108,121,32,85,84,70,45,56,32,100,111,99,117,109,101,110,116,115,32,97,114,101,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,59,32,121,111,117,114,32,100,111,99,117,109,101,110,116,32,97,112,112,101,97,114,115,32,116,111,32,98,101,32,0,101,120,112,101,99,116,101,100,32,39,58,39,32,97,102,116,101,114,32,0,32,105,110,32,97,115,115,105,103,110,109,101,110,116,32,115,116,97,116,101,109,101,110,116,0,78,52,83,97,115,115,49,48,65,115,115,105,103,110,109,101,110,116,69,0,73,108,108,101,103,97,108,32,110,101,115,116,105,110,103,58,32,79,110,108,121,32,112,114,111,112,101,114,116,105,101,115,32,109,97,121,32,98,101,32,110,101,115,116,101,100,32,98,101,110,101,97,116,104,32,112,114,111,112,101,114,116,105,101,115,46,0,78,52,83,97,115,115,53,69,114,114,111,114,69,0,78,52,83,97,115,115,53,68,101,98,117,103,69,0,58,32,101,120,112,101,99,116,101,100,32,34,123,34,44,32,119,97,115,32,0,58,32,101,120,112,101,99,116,101,100,32,34,125,34,44,32,119,97,115,32,0,78,52,83,97,115,115,50,73,102,69,0,58,32,101,120,112,101,99,116,101,100,32,34,36,34,44,32,119,97,115,32,0,58,32,101,120,112,101,99,116,101,100,32,105,100,101,110,116,105,102,105,101,114,44,32,119,97,115,32,0,101,120,112,101,99,116,101,100,32,39,102,114,111,109,39,32,107,101,121,119,111,114,100,32,105,110,32,64,102,111,114,32,100,105,114,101,99,116,105,118,101,0,101,120,112,101,99,116,101,100,32,39,116,104,114,111,117,103,104,39,32,111,114,32,39,116,111,39,32,107,101,121,119,111,114,100,32,105,110,32,64,102,111,114,32,100,105,114,101,99,116,105,118,101,0,78,52,83,97,115,115,51,70,111,114,69,0,64,101,97,99,104,32,100,105,114,101,99,116,105,118,101,32,114,101,113,117,105],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+31044);allocate([114,101,115,32,97,110,32,105,116,101,114,97,116,105,111,110,32,118,97,114,105,97,98,108,101,0,101,120,112,101,99,116,101,100,32,39,105,110,39,32,107,101,121,119,111,114,100,32,105,110,32,64,101,97,99,104,32,100,105,114,101,99,116,105,118,101,0,78,52,83,97,115,115,52,69,97,99,104,69,0,78,52,83,97,115,115,53,87,104,105,108,101,69,0,78,52,83,97,115,115,54,82,101,116,117,114,110,69,0,70,117,110,99,116,105,111,110,115,32,99,97,110,32,111,110,108,121,32,99,111,110,116,97,105,110,32,118,97,114,105,97,98,108,101,32,100,101,99,108,97,114,97,116,105,111,110,115,32,97,110,100,32,99,111,110,116,114,111,108,32,100,105,114,101,99,116,105,118,101,115,46,0,73,109,112,111,114,116,32,100,105,114,101,99,116,105,118,101,115,32,109,97,121,32,110,111,116,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,99,111,110,116,114,111,108,32,100,105,114,101,99,116,105,118,101,115,32,111,114,32,109,105,120,105,110,115,46,0,117,114,108,0,109,97,108,102,111,114,109,101,100,32,85,82,76,0,85,82,73,32,105,115,32,109,105,115,115,105,110,103,32,39,41,39,0,64,105,109,112,111,114,116,32,100,105,114,101,99,116,105,118,101,32,114,101,113,117,105,114,101,115,32,97,32,117,114,108,32,111,114,32,113,117,111,116,101,100,32,112,97,116,104,0,101,120,112,101,99,116,105,110,103,32,97,110,111,116,104,101,114,32,117,114,108,32,111,114,32,113,117,111,116,101,100,32,112,97,116,104,32,105,110,32,64,105,109,112,111,114,116,32,108,105,115,116,0,109,101,100,105,97,32,113,117,101,114,121,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,103,105,110,32,119,105,116,104,32,39,40,39,0,109,101,100,105,97,32,102,101,97,116,117,114,101,32,114,101,113,117,105,114,101,100,32,105,110,32,109,101,100,105,97,32,113,117,101,114,121,32,101,120,112,114,101,115,115,105,111,110,0,117,110,99,108,111,115,101,100,32,112,97,114,101,110,116,104,101,115,105,115,32,105,110,32,109,101,100,105,97,32,113,117,101,114,121,32,101,120,112,114,101,115,115,105,111,110,0,32,0,69,120,116,101,110,100,32,100,105,114,101,99,116,105,118,101,115,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,114,117,108,101,115,46,0,58,32,101,120,112,101,99,116,101,100,32,115,101,108,101,99,116,111,114,44,32,119,97,115,32,0,78,52,83,97,115,115,57,69,120,116,101,110,115,105,111,110,69,0,97,116,45,114,111,111,116,32,102,101,97,116,117,114,101,32,114,101,113,117,105,114,101,100,32,105,110,32,97,116,45,114,111,111,116,32,101,120,112,114,101,115,115,105,111,110,0,58,32,101,120,112,101,99,116,101,100,32,34,119,105,116,104,34,32,111,114,32,34,119,105,116,104,111,117,116,34,44,32,119,97,115,32,0,115,116,121,108,101,32,100,101,99,108,97,114,97,116,105,111,110,32,109,117,115,116,32,99,111,110,116,97,105,110,32,97,32,118,97,108,117,101,0,117,110,99,108,111,115,101,100,32,112,97,114,101,110,116,104,101,115,105,115,32,105,110,32,64,97,116,45,114,111,111,116,32,101,120,112,114,101,115,115,105,111,110,0,64,99,111,110,116,101,110,116,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,109,105,120,105,110,0,78,52,83,97,115,115,55,67,111,110,116,101,110,116,69,0,117,110,99,108,111,115,101,100,32,112,97,114,101,110,116,104,101,115,105,115,32,105,110,32,64,115,117,112,112,111,114,116,115,32,100,101,99,108,97,114,97,116,105,111,110,0,112,114,111,112,101,114,116,121,32,34,0,34,32,109,117,115,116,32,98,101,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,39,58,39,0,32,9,12,11,10,13,0,64,115,117,112,112,111,114,116,115,32,99,111,110,100,105,116,105,111,110,32,101,120,112,101,99,116,101,100,32,100,101,99,108,97,114,97,116,105,111,110,0,70,117,110,99,116,105,111,110,115,32,109,97,121,32,110,111,116,32,98,101,32,100,101,102,105,110,101,100,32,119,105,116,104,105,110,32,99,111,110,116,114,111,108,32,100,105,114,101,99,116,105,118,101,115,32,111,114,32,111,116,104,101,114,32,109,105,120,105,110,115,46,0,77,105,120,105,110,115,32,109,97,121,32,110,111,116,32,98,101,32,100,101,102,105,110,101,100,32,119,105,116,104,105,110,32,99,111,110,116,114,111,108,32,100,105,114,101,99,116,105,118,101,115,32,111,114,32,111,116,104,101,114,32,109,105,120,105,110,115,46,0,105,110,118,97,108,105,100,32,110,97,109,101,32,105,110,32,0,32,100,101,102,105,110,105,116,105,111,110,0,97,110,100,0,111,114,0,110,111,116,0,73,110,118,97,108,105,100,32,102,117,110,99,116,105,111,110,32,110,97,109,101,32,34,0,34,46,0,78,52,83,97,115,115,57,80,97,114,97,109,101,116,101,114,69,0,118,97,114,105,97,98,108,101,45,108,101,110,103,116,104,32,112,97,114,97,109,101,116,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,64,101,108,115,101,0,73,110,118,97,108,105,100,32,67,83,83,58,32,64,101,108,115,101,32,109,117,115,116,32,99,111,109,101,32,97,102,116,101,114,32,64,105,102,0,109,111,115,116,32,100,101,102,0,44,32,119,97,115,58,32,0,58,32,101,120,112,101,99,116,101,100,32,49,32,115,101,108,101,99,116,111,114,32,111,114,32,97,116,45,114,117,108,101,44,32,119,97,115,32,0,78,52,83,97,115,115,55,80,114,111,112,115,101,116,69,0,58,32,101,120,112,101,99,116,101,100,32,115,101,108,101,99,116,111,114,32,111,114,32,97,116,45,114,117,108,101,44,32,119,97,115,32,0,108,105,98,115,97,115,115,95,103,101,116,95,118,101,114,115,105,111,110,0,91,110,97,93,0,108,105,98,115,97,115,115,95,108,111,97,100,95,102,117,110,99,116,105,111,110,115,0,108,105,98,115,97,115,115,95,108,111,97,100,95,105,109,112,111,114,116,101,114,115,0,108,105,98,115,97,115,115,95,108,111,97,100,95,104,101,97,100,101,114,115,0,102,97,105,108,101,100,32,108,111,97,100,105,110,103,32,39,108,105,98,115,97,115,115,95,115,117,112,112,111,114,116,39,32,105,110,32,60,0,62,0,102,97,105,108,101,100,32,108,111,97,100,105,110,103,32,112,108,117,103,105,110,32,60,0,46,115,111,0,34,92,35,0,39,92,35,0,78,52,83,97,115,115,49,57,82,101,109,111,118,101,95,80,108,97,99,101,104,111,108,100,101,114,115,69,0,78,52,83,97,115,115,49,52,79,112,101,114,97,116,105,111,110,95,67,82,84,80,73,118,78,83,95,49,57,82,101,109,111,118,101,95,80,108,97,99,101,104,111,108,100,101,114,115,69,69,69,0,79,117,116,32,111,102,32,109,101,109,111,114,121,46,10,0,51,46,51,46,54,45,100,105,114,116,121,0,32,32,0,69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32,109,101,109,111,114,121,32,102,111,114,32,102,105,108,101,32,99,111,110,116,101,120,116,0,70,105,108,101,32,99,111,110,116,101,120,116,32,99,114,101,97,116,101,100,32,119,105,116,104,111,117,116,32,97,110,32,105,110,112,117,116,32,112,97,116,104,0,70,105,108,101,32,99,111,110,116,101,120,116,32,99,114,101,97,116,101,100,32,119,105,116,104,32,101,109,112,116,121,32,105,110,112,117,116,32,112,97,116,104,0,85,110,97,98,108,101,32,116,111,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,58,32,0,115,116,97,116,117,115,0,109,101,115,115,97,103,101,0,102,111,114,109,97,116,116,101,100,0,73,110,116,101,114,110,97,108,32,69,114,114,111,114,58,32,0,85,110,107,110,111,119,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,0,117,110,107,110,111,119,110,0,32,111,110,32,108,105,110,101,32,0,32,102,114,111,109,32,108,105,110,101,32,0,32,111,102,32,0,62,62,32,0,32,32,32,0,94,10,0,108,105,110,101,0,99,111,108,117,109,110,0,69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32,109,101,109,111,114,121,32,102,111,114,32,100,97,116,97,32,99,111,110,116,101,120,116,0,68,97,116,97,32,99,111,110,116,101,120,116,32,99,114,101,97,116,101,100,32,119,105,116,104,111,117,116,32,97,32,115,111,117,114,99,101,32,115,116,114,105,110,103,0,68,97,116,97,32,99,111,110,116,101,120,116,32,99,114,101,97,116,101,100,32,119,105,116,104,32,101,109,112,116,121,32,115,111,117,114,99,101,32,115,116,114,105,110,103,0,68,97,116,97,32,99,111,110,116,101,120,116,32,104,97,115,32,110,111,32,115,111,117,114,99,101,32,115,116,114,105,110,103,0,70,105,108,101,32,99,111,110,116,101,120,116,32,104,97,115,32,110,111,32,105,110,112,117,116,32,112,97,116,104,0,70,105,108,101,32,99,111,110,116,101,120,116,32,104,97,115,32,101,109,112,116,121,32,105,110,112,117,116,32,112,97,116,104,0,32,42,47,0,10,0,47,42,0,47,47,0,32,123,125,0,59,0,32,125,0,125,0,92,0,58,0,58,58,0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,45,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,0,58,108,105,110,107,0,58,118,105,115,105,116,101,100,0,58,97,99,116,105,118,101,0,58,108,97,110,103,0,58,102,105,114,115,116,45,99,104,105,108,100,0,58,104,111,118,101,114,0,58,102,111,99,117,115,0,58,102,105,114,115,116,0,58,116,97,114,103,101,116,0,58,114,111,111,116,0,58,110,116,104,45,99,104,105,108,100,0,58,110,116,104,45,108,97,115,116,45,111,102,45,99,104,105,108,100,0,58,110,116,104,45,111,102,45,116,121,112,101,0,58,110,116,104,45,108,97,115,116,45,111,102,45,116,121,112,101,0,58,108,97,115,116,45,99,104,105,108,100,0,58,102,105,114,115,116,45,111,102,45,116,121,112,101,0,58,108,97,115,116,45,111,102,45,116,121,112,101,0,58,111,110,108,121,45,99,104,105,108,100,0,58,111,110,108,121,45,111,102,45,116,121,112,101,0,58,101,109,112,116,121,0,58,110,111,116,0,58,100,101,102,97,117,108,116,0,58,118,97,108,105,100,0,58,105,110,118,97,108,105,100,0,58,105,110,45,114,97,110,103,101,0,58,111,117,116,45,111,102,45,114,97,110,103,101,0,58,114,101,113,117,105,114,101,100,0,58,111,112,116,105,111,110,97,108,0,58,114,101,97,100,45,111,110,108,121,0,58,114,101,97,100,45,119,114,105,116,101,0,58,100,105,114,0,58,101,110,97,98,108,101,100,0,58,100,105,115,97,98,108,101,100,0,58,99,104,101,99,107,101,100,0,58,105,110,100,101,116,101,114,109,105,110,97,116,101,0,58,110,116,104,45,108,97,115,116,45,99,104,105,108,100,0,58,97,110,121,45,108,105,110,107,0,58,108,111,99,97,108,45,108,105,110,107,0,58,115,99,111,112,101,0,58,97,99,116,105,118,101,45,100,114,111,112,45,116,97,114,103,101,116,0,58,118,97,108,105,100,45,100,114,111,112,45,116,97,114,103,101,116,0,58,105,110,118,97,108,105,100,45,100,114,111,112,45,116,97,114,103,101,116,0,58,99,117,114,114,101,110,116,0,58,112,97,115,116,0,58,102,117,116,117,114,101,0,58,112,108,97,99,101,104,111,108,100,101,114,45,115,104,111,119,110,0,58,117,115,101,114,45,101,114,114,111,114,0,58,98,108,97,110,107,0,58,110,116,104,45,109,97,116,99,104,0,58,110,116,104,45,108,97,115,116,45,109,97,116,99,104,0,58,110,116,104,45,99,111,108,117,109,110,0,58,110,116,104,45,108,97,115,116,45,99,111,108,117,109,110,0,58,109,97,116,99,104,101,115,0,58,102,117,108,108,115,99,114,101,101,110,0,64,119,97,114,110,0,64,100,101,98,117,103,0,64,101,114,114,111,114,0,64,99,104,97,114,115,101,116,0,61,0,64,109,105,120,105,110,32,0,43,0,64,105,110,99,108,117,100,101,32,0,64,105,109,112,111,114,116,0,117,114,108,40,0,34,0,64,114,101,116,117,114,110,0,64,101,120,116,101,110,100,0,64,105,110,99,108,117,100,101,0,64,99,111,110,116,101,110,116,0,32,123,32,0,32,123,0,123,0,115,116,100,105,110,0,118,101,114,115,105,111,110,0,115,111,117,114,99,101,82,111,111,116,0,102,105,108,101,0,115,111,117,114,99,101,115,0,115,111,117,114,99,101,115,67,111,110,116,101,110,116,0,44,0,109,97,112,112,105,110,103,115,0,110,97,109,101,115,0,9,0,112,114,101,112,101,110,100,32,115,111,117,114,99,101,109,97,112,32,104,97,115,32,105,108,108,101,103,97,108,32,108,105,110,101,0,112,114,101,112,101,110,100,32,115,111,117,114,99,101,109,97,112,32,104,97,115,32,105,108,108,101,103,97,108,32,99,111,108,117,109,110,0,78,52,83,97,115,115,52,84,111,95,67,69,0,78,52,83,97,115,115,49,52,79,112,101,114,97,116,105,111,110,95,67,82,84,80,73,80,49,48,83,97,115,115,95,86,97,108,117,101,78,83,95,52,84,111,95,67,69,69,69,0,78,52,83,97,115,115,57,79,112,101,114,97,116,105,111,110,73,80,49,48,83,97,115,115,95,86,97,108,117,101,69,69,0,117,110,107,110,111,119,110,32,116,121,112,101,32,102,111,114,32,67,45,65,80,73,0,78,52,83,97,115,115,56,84,111,95,86,97,108,117,101,69,0,78,52,83,97,115,115,49,52,79,112,101,114,97,116,105,111,110,95,67,82,84,80,73,80,78,83,95,53,86,97,108,117,101,69,78,83,95,56,84,111,95,86,97,108,117,101,69,69,69,0,78,52,83,97,115,115,57,79,112,101,114,97,116,105,111,110,73,80,78,83,95,53,86,97,108,117,101,69,69,69,0,105,110,118,97,108,105,100,32,110,111,100,101,32,102,111,114,32,116,111,95,118,97,108,117,101,0,112,120,0,112,116,0,112,99,0,109,109,0,99,109,0,105,110,0,100,101,103,0,103,114,97,100,0,114,97,100,0,116,117,114,110,0,115,0,109,115,0,72,122,0,107,72,122,0,100,112,105,0,100,112,99,109,0,100,112,112,120,0,73,110,99,111,109,112,97,116,105,98,108,101,32,117,110,105,116,115,58,32,0,39,0,39,32,97,110,100,32,0,32,9,10,11,12,13,0,73,110,118,97,108,105,100,32,115,97,115,115,32,100,101,116,101,99,116,101,100,0,85,110,100,101,102,105,110,101,100,32,111,112,101,114,97,116,105,111,110,0,73,110,118,97,108,105,100,32,110,117,108,108,32,111,112,101,114,97,116,105,111,110,0,42,47,0,48,0,123,32,73,109,112,111,114,116,101,114,46,102,105,110,100,40,32,112,111,105,110,116,101,114,84,111,83,116,114,105,110,103,40,36,48,41,44,32,112,111,105,110,116,101,114,84,111,83,116,114,105,110,103,40,36,49,41,32,41,59,32,125,0,123,32,114,101,116,117,114,110,32,78,117,109,98,101,114,40,73,109,112,111,114,116,101,114,46,102,105,110,105,115,104,101,100,40,41,41,59,32,125,0,123,32,114,101,116,117,114,110,32,78,117,109,98,101,114,40,73,109,112,111,114,116,101,114,46,101,114,114,111,114,40,41,41,59,32,125,0,123,32,114,101,116,117,114,110,32,78,117,109,98,101,114,40,73,109,112,111,114,116,101,114,46,112,97,116,104,40,41,41,59,32,125,0,123,32,114,101,116,117,114,110,32,78,117,109,98,101,114,40,73,109,112,111,114,116,101,114,46,99,111,110,116,101,110,116,40,41,41,59,32,125,0,123,32,83,97,115,115,46,95,115,97,115,115,67,111,109,112,105,108,101,69,109,115,99,114,105,112,116,101,110,83,117,99,99,101,115,115,40,32,112,111,105,110,116,101,114,84,111,83,116,114,105,110,103,40,36,48,41,44,32,112,111,105,110,116,101,114,84,111,74,115,111,110,40,36,49,41,44,32,112,111,105,110,116,101,114,84,111,83,116,114,105,110,103,65,114,114,97,121,40,36,50,41,32,41,59,32,125,0,123,32,83,97,115,115,46,95,115,97,115,115,67,111,109,112,105,108,101,69,109,115,99,114,105,112,116,101,110,69,114,114,111,114,40,32,112,111,105,110,116,101,114,84,111,74,115,111,110,40,36,48,41,44,32,112,111,105,110,116,101,114,84,111,83,116,114,105,110,103,40,36,49,41,32,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,105,110,102,105,110,105,116,121,0,110,97,110,0,46,0,80,79,83,73,88,0,114,119,97,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,57,95,95,115,104,97,114,101,100,95,119,101,97,107,95,99,111,117,110,116,69,0,114,97,110,100,111,109,95,100,101,118,105,99,101,32,102,97,105,108,101,100,32,116,111,32,111,112,101,110,32,0,114,97,110,100,111,109,95,100,101,118,105,99,101,32,103,111,116,32,69,79,70,0,114,97,110,100,111,109,95,100,101,118,105,99,101,32,103,111,116,32,97,110,32,117,110,101,120,112,101,99,116,101,100,32,101,114,114,111,114,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,78,83,116,51,95,95,49,50,52,95,95,103,101,110,101,114,105,99,95,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,103,101,110,101,114,105,99,0,117,110,115,112,101,99,105,102,105,101,100,32,103,101,110,101,114,105,99,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,78,83,116,51,95,95,49,50,51,95,95,115,121,115,116,101,109,95,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,115,121,115,116,101,109,0,117,110,115,112,101,99,105,102,105,101,100,32,115,121,115,116,101,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,58,32,0,95,95,110,101,120,116,95,112,114,105,109,101,32,111,118,101,114,102,108,111,119,0,98,97,115,105,99,95,115,116,114,105,110,103,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,52,98,97,115,105,99,95,105,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,105,111,115,116,114,101,97,109,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,67,0,37,112,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,37,0,0,0,0,0,108,0,108,108,0,76,0,37,112,0,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,48,49,50,51,52,53,54,55,56,57,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,37,46,48,76,102,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,116,114,117,101,0,102,97,108,115,101,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,118,101,99,116,111,114,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,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],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+41284);allocate([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,117,110,99,97,117,103,104,116,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,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,83,116,49,49,108,111,103,105,99,95,101,114,114,111,114,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,83,116,49,50,108,101,110,103,116,104,95,101,114,114,111,114,0,83,116,49,50,111,117,116,95,111,102,95,114,97,110,103,101,0,83,116,49,52,111,118,101,114,102,108,111,119,95,101,114,114,111,114,0,83,116,56,98,97,100,95,99,97,115,116,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,83,116,49,48,98,97,100,95,116,121,112,101,105,100,0,115,116,100,58,58,98,97,100,95,116,121,112,101,105,100,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,99,0,80,75,99,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+51524);var tempDoublePtr=STATICTOP;STATICTOP+=16;var EMTSTACKTOP=getMemory(1048576);var EMT_STACK_MAX=EMTSTACKTOP+1048576;var eb=getMemory(34648);__ATPRERUN__.push((function(){HEAPU8.set([140,2,33,0,0,0,0,0,2,27,0,0,255,3,0,0,2,28,0,0,135,0,0,0,1,23,0,0,136,29,0,0,0,26,29,0,136,29,0,0,1,30,80,1,3,29,29,30,137,29,0,0,0,25,26,0,1,29,60,1,3,2,26,29,1,29,48,1,3,12,26,29,1,29,8,1,3,21,26,29,1,29,216,0,3,22,26,29,1,29,204,0,3,3,26,29,25,10,26,40,1,29,192,0,3,13,26,29,1,29,180,0,3,11,26,29,1,29,168,0,3,5,26,29,1,29,152,0,3,7,26,29,1,29,136,0,3,8,26,29,25,9,26,124,25,6,26,112,25,4,26,100,25,14,26,96,25,16,26,56,106,29,0,48,26,29,29,4,82,24,29,0,135,29,0,0,0,0,0,0,1,30,1,0,1,31,0,0,135,29,1,0,0,30,31,0,1,31,1,0,1,30,0,0,135,29,2,0,0,31,30,0,121,29,30,0,25,6,24,64,135,2,3,0,0,0,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,30,0,0,109,24,80,30,25,4,24,72,82,5,4,0,106,30,24,76,45,30,5,30,28,1,0,0,25,29,24,68,135,30,4,0,29,25,0,0,119,0,5,0,85,5,3,0,82,30,4,0,25,30,30,4,85,4,30,0,82,29,6,0,82,29,29,0,19,29,29,27,135,30,5,0,29,6,2,0,137,26,0,0,1,30,1,0,139,30,0,0,1,29,1,0,1,31,0,0,135,30,6,0,0,29,31,0,121,30,30,0,25,6,24,64,135,2,7,0,0,0,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,31,0,0,109,24,80,31,25,4,24,72,82,5,4,0,106,31,24,76,45,31,5,31,164,1,0,0,25,30,24,68,135,31,4,0,30,25,0,0,119,0,5,0,85,5,3,0,82,31,4,0,25,31,31,4,85,4,31,0,82,30,6,0,82,30,30,0,19,30,30,27,135,31,5,0,30,6,2,0,137,26,0,0,1,31,1,0,139,31,0,0,1,30,1,0,1,29,0,0,135,31,8,0,0,30,29,0,121,31,30,0,25,6,24,64,135,2,9,0,0,0,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,29,0,0,109,24,80,29,25,4,24,72,82,5,4,0,106,29,24,76,45,29,5,29,44,2,0,0,25,31,24,68,135,29,4,0,31,25,0,0,119,0,5,0,85,5,3,0,82,29,4,0,25,29,29,4,85,4,29,0,82,31,6,0,82,31,31,0,19,31,31,27,135,29,5,0,31,6,2,0,137,26,0,0,1,29,1,0,139,29,0,0,1,31,1,0,1,30,0,0,135,29,10,0,0,31,30,0,121,29,30,0,25,6,24,64,135,2,11,0,0,0,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,30,0,0,109,24,80,30,25,4,24,72,82,5,4,0,106,30,24,76,45,30,5,30,180,2,0,0,25,29,24,68,135,30,4,0,29,25,0,0,119,0,5,0,85,5,3,0,82,30,4,0,25,30,30,4,85,4,30,0,82,29,6,0,82,29,29,0,19,29,29,27,135,30,5,0,29,6,2,0,137,26,0,0,1,30,1,0,139,30,0,0,1,29,1,0,1,31,0,0,135,30,12,0,0,29,31,0,121,30,31,0,25,6,24,64,1,30,0,0,135,2,13,0,0,30,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,31,0,0,109,24,80,31,25,4,24,72,82,5,4,0,106,31,24,76,45,31,5,31,64,3,0,0,25,30,24,68,135,31,4,0,30,25,0,0,119,0,5,0,85,5,3,0,82,31,4,0,25,31,31,4,85,4,31,0,82,30,6,0,82,30,30,0,19,30,30,27,135,31,5,0,30,6,2,0,137,26,0,0,1,31,1,0,139,31,0,0,1,30,1,0,1,29,0,0,135,31,14,0,0,30,29,0,121,31,30,0,25,6,24,64,135,2,15,0,0,0,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,29,0,0,109,24,80,29,25,4,24,72,82,5,4,0,106,29,24,76,45,29,5,29,200,3,0,0,25,31,24,68,135,29,4,0,31,25,0,0,119,0,5,0,85,5,3,0,82,29,4,0,25,29,29,4,85,4,29,0,82,31,6,0,82,31,31,0,19,31,31,27,135,29,5,0,31,6,2,0,137,26,0,0,1,29,1,0,139,29,0,0,1,31,1,0,1,30,0,0,135,29,16,0,0,31,30,0,121,29,30,0,25,6,24,64,135,2,17,0,0,0,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,30,0,0,109,24,80,30,25,4,24,72,82,5,4,0,106,30,24,76,45,30,5,30,80,4,0,0,25,29,24,68,135,30,4,0,29,25,0,0,119,0,5,0,85,5,3,0,82,30,4,0,25,30,30,4,85,4,30,0,82,29,6,0,82,29,29,0,19,29,29,27,135,30,5,0,29,6,2,0,137,26,0,0,1,30,1,0,139,30,0,0,1,29,1,0,1,31,0,0,135,30,18,0,0,29,31,0,121,30,30,0,25,6,24,64,135,2,19,0,0,0,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,31,0,0,109,24,80,31,25,4,24,72,82,5,4,0,106,31,24,76,45,31,5,31,216,4,0,0,25,30,24,68,135,31,4,0,30,25,0,0,119,0,5,0,85,5,3,0,82,31,4,0,25,31,31,4,85,4,31,0,82,30,6,0,82,30,30,0,19,30,30,27,135,31,5,0,30,6,2,0,137,26,0,0,1,31,1,0,139,31,0,0,1,30,1,0,1,29,0,0,135,31,20,0,0,30,29,0,121,31,30,0,25,6,24,64,135,2,21,0,0,0,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,29,0,0,109,24,80,29,25,4,24,72,82,5,4,0,106,29,24,76,45,29,5,29,96,5,0,0,25,31,24,68,135,29,4,0,31,25,0,0,119,0,5,0,85,5,3,0,82,29,4,0,25,29,29,4,85,4,29,0,82,31,6,0,82,31,31,0,19,31,31,27,135,29,5,0,31,6,2,0,137,26,0,0,1,29,1,0,139,29,0,0,25,15,0,56,25,20,0,60,82,29,20,0,26,29,29,4,82,29,29,0,32,29,29,2,121,29,33,0,2,31,0,0,185,161,0,0,1,30,72,0,135,29,22,0,2,31,30,0,25,24,0,108,1,29,0,0,132,0,0,29,116,25,24,0,106,30,24,4,109,25,4,30,106,29,24,8,109,25,8,29,135,29,23,0,28,0,2,25,130,29,0,0,0,25,29,0,1,29,0,0,132,0,0,29,38,29,25,1,121,29,7,0,135,26,24,0,135,29,25,0,2,0,0,0,135,29,26,0,26,0,0,0,119,0,6,0,135,29,25,0,2,0,0,0,137,26,0,0,1,29,1,0,139,29,0,0,1,30,1,0,1,31,0,0,135,29,27,0,0,30,31,0,121,29,7,1,82,2,20,0,82,29,15,0,46,29,29,2,128,7,0,0,26,29,2,4,82,29,29,0,1,31,0,0,1,30,7,0,138,29,31,30,132,6,0,0,128,6,0,0,136,6,0,0,140,6,0,0,128,6,0,0,128,6,0,0,144,6,0,0,119,0,5,0,119,0,63,0,119,0,62,0,119,0,61,0,119,0,60,0,25,3,0,76,82,29,3,0,135,2,28,0,29,0,0,0,25,4,0,80,32,31,2,0,121,31,4,0,1,31,1,0,0,29,31,0,119,0,4,0,82,31,4,0,16,31,31,2,0,29,31,0,121,29,2,0,82,2,3,0,135,20,29,0,2,0,0,0,125,29,20,20,2,0,0,0,135,20,30,0,29,0,0,0,32,31,20,0,121,31,4,0,1,31,1,0,0,29,31,0,119,0,4,0,82,31,4,0,16,31,31,20,0,29,31,0,121,29,30,0,2,31,0,0,2,162,0,0,1,30,70,0,135,29,22,0,12,31,30,0,25,20,0,108,1,29,0,0,132,0,0,29,116,25,20,0,106,30,20,4,109,25,4,30,106,29,20,8,109,25,8,29,135,29,23,0,28,0,12,25,130,29,0,0,0,20,29,0,1,29,0,0,132,0,0,29,38,29,20,1,120,29,4,0,135,29,25,0,12,0,0,0,119,0,6,0,135,26,24,0,135,29,25,0,12,0,0,0,135,29,26,0,26,0,0,0,134,6,0,0,20,25,0,0,0,0,0,0,106,29,6,64,106,30,6,68,46,29,29,30,252,7,0,0,25,2,24,64,85,25,6,0,0,3,6,0,121,6,21,0,1,30,0,0,109,24,80,30,25,4,24,72,82,5,4,0,106,30,24,76,45,30,5,30,216,7,0,0,25,29,24,68,135,30,4,0,29,25,0,0,119,0,5,0,85,5,3,0,82,30,4,0,25,30,30,4,85,4,30,0,82,29,2,0,82,29,29,0,19,29,29,27,135,30,5,0,29,2,6,0,25,16,6,76,106,19,6,80,82,20,16,0,4,30,19,20,28,13,30,48,45,30,19,20,36,8,0,0,137,26,0,0,1,30,1,0,139,30,0,0,25,14,24,64,25,15,0,40,25,7,0,108,25,8,22,36,25,1,22,24,25,9,22,12,25,10,24,80,25,11,24,72,25,12,24,76,25,5,24,68,1,6,0,0,82,30,15,0,25,3,30,36,1,30,112,0,135,4,31,0,3,30,0,0,0,17,21,0,0,18,7,0,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,30,17,19,112,8,0,0,82,29,16,0,27,31,6,48,3,29,29,31,135,30,32,0,22,29,0,0,1,29,0,0,109,4,4,29,25,17,4,8,0,18,21,0,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,29,17,19,172,8,0,0,25,2,4,52,1,29,0,0,85,2,29,0,1,30,0,0,109,4,56,30,1,29,0,0,107,4,60,29,1,29,216,35,85,4,29,0,1,29,0,0,132,0,0,29,1,30,219,1,25,31,4,64,135,29,33,0,30,31,22,0,130,29,0,0,0,24,29,0,1,29,0,0,132,0,0,29,38,29,24,1,120,29,65,0,1,29,11,0,85,2,29,0,1,29,0,0,132,0,0,29,1,29,89,3,135,2,34,0,29,3,4,0,130,29,0,0,0,24,29,0,1,29,0,0,132,0,0,29,38,29,24,1,120,29,52,0,85,25,2,0,0,3,2,0,121,2,35,0,1,29,0,0,85,10,29,0,82,4,11,0,82,29,12,0,45,29,4,29,156,9,0,0,1,29,0,0,132,0,0,29,1,31,224,1,135,29,33,0,31,5,25,0,130,29,0,0,0,24,29,0,1,29,0,0,132,0,0,29,38,29,24,1,121,29,6,0,119,0,31,0,85,4,3,0,82,29,11,0,25,29,29,4,85,11,29,0,1,29,0,0,132,0,0,29,82,31,14,0,82,31,31,0,135,29,33,0,31,14,2,0,130,29,0,0,0,24,29,0,1,29,0,0,132,0,0,29,38,29,24,1,120,29,15,0,135,29,25,0,8,0,0,0,135,29,25,0,1,0,0,0,135,29,25,0,9,0,0,0,135,29,25,0,22,0,0,0,25,6,6,1,50,29,13,6,16,10,0,0,1,23,236,0,119,0,2,0,119,0,144,255,1,29,236,0,45,29,23,29,44,10,0,0,137,26,0,0,1,29,1,0,139,29,0,0,135,26,24,0,135,29,25,0,8,0,0,0,135,29,25,0,1,0,0,0,135,29,25,0,9,0,0,0,135,29,25,0,22,0,0,0,135,29,26,0,26,0,0,0,1,31,1,0,1,30,0,0,135,29,35,0,0,31,30,0,121,29,223,0,102,29,24,84,121,29,30,0,2,30,0,0,96,163,0,0,1,31,48,0,135,29,22,0,3,30,31,0,25,23,0,108,1,29,0,0,132,0,0,29,116,25,23,0,106,31,23,4,109,25,4,31,106,29,23,8,109,25,8,29,135,29,23,0,28,0,3,25,130,29,0,0,0,23,29,0,1,29,0,0,132,0,0,29,38,29,23,1,120,29,4,0,135,29,25,0,3,0,0,0,119,0,6,0,135,26,24,0,135,29,25,0,3,0,0,0,135,29,26,0,26,0,0,0,106,31,0,76,135,29,36,0,10,0,31,0,106,2,10,8,121,2,49,0,135,23,29,0,2,0,0,0,125,23,23,23,2,0,0,0,78,31,23,0,32,31,31,59,121,31,4,0,25,31,23,1,0,29,31,0,119,0,3,0,1,31,0,0,0,29,31,0,0,23,29,0,25,3,0,80,32,31,23,0,121,31,4,0,1,31,1,0,0,29,31,0,119,0,4,0,82,31,3,0,16,31,31,23,0,29,31,0,120,29,3,0,85,10,2,0,119,0,24,0,135,23,29,0,2,0,0,0,125,23,23,23,2,0,0,0,78,31,23,0,32,31,31,125,121,31,4,0,25,31,23,1,0,29,31,0,119,0,3,0,1,31,0,0,0,29,31,0,0,23,29,0,32,31,23,0,121,31,4,0,1,31,1,0,0,29,31,0,119,0,4,0,82,31,3,0,16,31,31,23,0,29,31,0,120,29,2,0,85,10,2,0,82,2,10,0,120,2,68,0,2,31,0,0,226,155,0,0,1,30,11,0,135,29,22,0,13,31,30,0,1,29,0,0,132,0,0,29,1,30,74,0,2,31,0,0,238,155,0,0,1,32,7,0,135,29,23,0,30,11,31,32,130,29,0,0,0,23,29,0,1,29,0,0,132,0,0,29,38,29,23,1,121,29,3,0,135,2,24,0,119,0,42,0,1,29,0,0,132,0,0,29,1,32,74,0,2,31,0,0,145,163,0,0,1,30,25,0,135,29,23,0,32,5,31,30,130,29,0,0,0,23,29,0,1,29,0,0,132,0,0,29,38,29,23,1,121,29,3,0,135,2,24,0,119,0,24,0,1,29,0,0,132,0,0,29,1,30,31,0,135,29,37,0,30,0,13,11,5,0,0,0,130,29,0,0,0,23,29,0,1,29,0,0,132,0,0,29,38,29,23,1,121,29,5,0,135,2,24,0,135,29,25,0,5,0,0,0,119,0,8,0,135,29,25,0,5,0,0,0,135,29,25,0,11,0,0,0,135,29,25,0,13,0,0,0,119,0,8,0,135,29,25,0,11,0,0,0,135,29,25,0,13,0,0,0,0,26,2,0,135,29,26,0,26,0,0,0,102,29,10,13,120,29,5,0,1,29,1,0,135,4,38,0,0,29,0,0,119,0,3,0,135,4,39,0,0,2,0,0,25,6,24,64,106,29,0,40,25,2,29,36,1,29,68,0,135,3,31,0,2,29,0,0,0,17,25,0,25,18,0,108,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,29,17,19,20,13,0,0,1,30,0,0,109,3,4,30,25,17,3,8,0,18,25,0,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,30,17,19,60,13,0,0,1,29,0,0,109,3,56,29,1,30,0,0,107,3,60,30,1,30,248,61,85,3,30,0,109,3,64,4,1,29,16,0,109,3,52,29,135,2,40,0,2,3,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,30,0,0,109,24,80,30,25,4,24,72,82,5,4,0,106,30,24,76,45,30,5,30,180,13,0,0,25,29,24,68,135,30,4,0,29,25,0,0,119,0,5,0,85,5,3,0,82,30,4,0,25,30,30,4,85,4,30,0,82,29,6,0,82,29,29,0,19,29,29,27,135,30,5,0,29,6,2,0,137,26,0,0,1,30,1,0,139,30,0,0,25,5,0,76,82,29,5,0,135,30,36,0,7,0,29,0,106,30,7,4,120,30,46,0,25,3,7,8,82,23,3,0,106,3,3,4,25,6,24,64,116,8,7,0,1,29,0,0,109,8,4,29,25,2,8,8,85,2,23,0,109,2,4,3,116,25,8,0,106,30,8,4,109,25,4,30,106,29,8,8,109,25,8,29,106,30,8,12,109,25,12,30,135,2,41,0,0,25,1,0,85,25,2,0,0,3,2,0,121,2,21,0,1,29,0,0,109,24,80,29,25,4,24,72,82,5,4,0,106,29,24,76,45,29,5,29,128,14,0,0,25,30,24,68,135,29,4,0,30,25,0,0,119,0,5,0,85,5,3,0,82,29,4,0,25,29,29,4,85,4,29,0,82,30,6,0,82,30,30,0,19,30,30,27,135,29,5,0,30,6,2,0,137,26,0,0,1,29,1,0,139,29,0,0,1,30,1,0,1,31,0,0,135,29,42,0,0,30,31,0,121,29,30,0,25,6,24,64,135,2,43,0,0,0,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,31,0,0,109,24,80,31,25,4,24,72,82,5,4,0,106,31,24,76,45,31,5,31,8,15,0,0,25,29,24,68,135,31,4,0,29,25,0,0,119,0,5,0,85,5,3,0,82,31,4,0,25,31,31,4,85,4,31,0,82,29,6,0,82,29,29,0,19,29,29,27,135,31,5,0,29,6,2,0,137,26,0,0,1,31,1,0,139,31,0,0,1,29,1,0,1,30,0,0,135,31,44,0,0,29,30,0,121,31,30,0,25,6,24,64,135,2,45,0,0,0,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,30,0,0,109,24,80,30,25,4,24,72,82,5,4,0,106,30,24,76,45,30,5,30,144,15,0,0,25,31,24,68,135,30,4,0,31,25,0,0,119,0,5,0,85,5,3,0,82,30,4,0,25,30,30,4,85,4,30,0,82,31,6,0,82,31,31,0,19,31,31,27,135,30,5,0,31,6,2,0,137,26,0,0,1,30,1,0,139,30,0,0,1,31,1,0,1,29,0,0,135,30,46,0,0,31,29,0,121,30,30,0,25,6,24,64,135,2,47,0,0,0,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,29,0,0,109,24,80,29,25,4,24,72,82,5,4,0,106,29,24,76,45,29,5,29,24,16,0,0,25,30,24,68,135,29,4,0,30,25,0,0,119,0,5,0,85,5,3,0,82,29,4,0,25,29,29,4,85,4,29,0,82,30,6,0,82,30,30,0,19,30,30,27,135,29,5,0,30,6,2,0,137,26,0,0,1,29,1,0,139,29,0,0,1,30,1,0,1,31,0,0,135,29,48,0,0,30,31,0,121,29,30,0,25,6,24,64,135,2,49,0,0,0,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,31,0,0,109,24,80,31,25,4,24,72,82,5,4,0,106,31,24,76,45,31,5,31,160,16,0,0,25,29,24,68,135,31,4,0,29,25,0,0,119,0,5,0,85,5,3,0,82,31,4,0,25,31,31,4,85,4,31,0,82,29,6,0,82,29,29,0,19,29,29,27,135,31,5,0,29,6,2,0,137,26,0,0,1,31,1,0,139,31,0,0,1,29,1,0,1,30,0,0,135,31,50,0,0,29,30,0,121,31,89,0,25,6,24,64,135,2,51,0,0,0,0,0,106,31,0,40,25,3,31,36,1,31,72,0,135,4,31,0,3,31,0,0,0,17,25,0,25,18,0,108,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,31,17,19,16,17,0,0,1,30,0,0,109,4,4,30,25,17,4,8,0,18,25,0,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,30,17,19,56,17,0,0,1,31,0,0,109,4,56,31,1,30,0,0,107,4,60,30,1,31,0,0,109,4,64,31,1,31,232,38,85,4,31,0,109,4,68,2,1,30,4,0,109,4,52,30,135,5,40,0,3,4,0,0,1,30,164,0,3,3,0,30,78,4,3,0,1,30,0,0,83,3,30,0,1,30,0,0,132,0,0,30,1,30,132,3,1,31,0,0,135,2,34,0,30,0,31,0,130,31,0,0,0,0,31,0,1,31,0,0,132,0,0,31,38,31,0,1,121,31,5,0,135,26,24,0,83,3,4,0,135,31,26,0,26,0,0,0,83,3,4,0,109,5,64,2,85,25,5,0,0,2,5,0,121,5,21,0,1,30,0,0,109,24,80,30,25,3,24,72,82,4,3,0,106,30,24,76,45,30,4,30,20,18,0,0,25,31,24,68,135,30,4,0,31,25,0,0,119,0,5,0,85,4,2,0,82,30,3,0,25,30,30,4,85,3,30,0,82,31,6,0,82,31,31,0,19,31,31,27,135,30,5,0,31,6,5,0,137,26,0,0,1,30,1,0,139,30,0,0,1,31,1,0,1,29,0,0,135,30,52,0,0,31,29,0,121,30,31,0,25,6,24,64,1,30,0,0,135,2,53,0,0,30,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,29,0,0,109,24,80,29,25,4,24,72,82,5,4,0,106,29,24,76,45,29,5,29,160,18,0,0,25,30,24,68,135,29,4,0,30,25,0,0,119,0,5,0,85,5,3,0,82,29,4,0,25,29,29,4,85,4,29,0,82,30,6,0,82,30,30,0,19,30,30,27,135,29,5,0,30,6,2,0,137,26,0,0,1,29,1,0,139,29,0,0,1,30,1,0,1,31,0,0,135,29,54,0,0,30,31,0,121,29,31,0,25,6,24,64,1,29,1,0,135,2,53,0,0,29,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,31,0,0,109,24,80,31,25,4,24,72,82,5,4,0,106,31,24,76,45,31,5,31,44,19,0,0,25,29,24,68,135,31,4,0,29,25,0,0,119,0,5,0,85,5,3,0,82,31,4,0,25,31,31,4,85,4,31,0,82,29,6,0,82,29,29,0,19,29,29,27,135,31,5,0,29,6,2,0,137,26,0,0,1,31,1,0,139,31,0,0,1,29,1,0,1,30,0,0,135,31,55,0,0,29,30,0,121,31,8,0,1,30,1,0,1,29,0,0,135,31,56,0,0,30,29,0,137,26,0,0,1,31,1,0,139,31,0,0,1,29,1,0,1,30,0,0,135,31,57,0,0,29,30,0,121,31,30,0,25,6,24,64,135,2,58,0,0,0,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,30,0,0,109,24,80,30,25,4,24,72,82,5,4,0,106,30,24,76,45,30,5,30,228,19,0,0,25,31,24,68,135,30,4,0,31,25,0,0,119,0,5,0,85,5,3,0,82,30,4,0,25,30,30,4,85,4,30,0,82,31,6,0,82,31,31,0,19,31,31,27,135,30,5,0,31,6,2,0,137,26,0,0,1,30,1,0,139,30,0,0,1,31,1,0,1,29,0,0,135,30,59,0,0,31,29,0,121,30,30,0,25,6,24,64,135,2,60,0,0,0,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,29,0,0,109,24,80,29,25,4,24,72,82,5,4,0,106,29,24,76,45,29,5,29,108,20,0,0,25,30,24,68,135,29,4,0,30,25,0,0,119,0,5,0,85,5,3,0,82,29,4,0,25,29,29,4,85,4,29,0,82,30,6,0,82,30,30,0,19,30,30,27,135,29,5,0,30,6,2,0,137,26,0,0,1,29,1,0,139,29,0,0,1,30,1,0,1,31,0,0,135,29,61,0,0,30,31,0,121,29,30,0,25,6,24,64,135,2,62,0,0,0,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,31,0,0,109,24,80,31,25,4,24,72,82,5,4,0,106,31,24,76,45,31,5,31,244,20,0,0,25,29,24,68,135,31,4,0,29,25,0,0,119,0,5,0,85,5,3,0,82,31,4,0,25,31,31,4,85,4,31,0,82,29,6,0,82,29,29,0,19,29,29,27,135,31,5,0,29,6,2,0,137,26,0,0,1,31,1,0,139,31,0,0,102,31,24,84,121,31,81,0,1,29,1,0,1,30,0,0,135,31,1,0,0,29,30,0,106,31,0,80,82,30,5,0,50,31,31,30,88,21,0,0,137,26,0,0,1,31,1,0,139,31,0,0,2,30,0,0,226,155,0,0,1,29,11,0,135,31,22,0,9,30,29,0,1,31,0,0,132,0,0,31,1,29,74,0,2,30,0,0,238,155,0,0,1,32,7,0,135,31,23,0,29,6,30,32,130,31,0,0,0,25,31,0,1,31,0,0,132,0,0,31,38,31,25,1,121,31,3,0,135,2,24,0,119,0,44,0,1,31,0,0,132,0,0,31,1,32,74,0,2,30,0,0,121,166,0,0,1,29,38,0,135,31,23,0,32,4,30,29,130,31,0,0,0,25,31,0,1,31,0,0,132,0,0,31,38,31,25,1,121,31,3,0,135,2,24,0,119,0,26,0,1,31,0,0,132,0,0,31,1,29,31,0,135,31,37,0,29,0,9,6,4,0,0,0,130,31,0,0,0,25,31,0,1,31,0,0,132,0,0,31,38,31,25,1,121,31,5,0,135,2,24,0,135,31,25,0,4,0,0,0,119,0,10,0,135,31,25,0,4,0,0,0,135,31,25,0,6,0,0,0,135,31,25,0,9,0,0,0,137,26,0,0,1,31,1,0,139,31,0,0,135,31,25,0,6,0,0,0,135,31,25,0,9,0,0,0,0,26,2,0,135,31,26,0,26,0,0,0,135,8,63,0,0,0,0,0,1,31,148,0,3,9,0,31,82,29,9,0,109,8,56,29,25,10,24,64,85,25,8,0,0,2,8,0,121,8,21,0,1,31,0,0,109,24,80,31,25,3,24,72,82,4,3,0,106,31,24,76,45,31,4,31,192,22,0,0,25,29,24,68,135,31,4,0,29,25,0,0,119,0,5,0,85,4,2,0,82,31,3,0,25,31,31,4,85,3,31,0,82,29,10,0,82,29,29,0,19,29,29,27,135,31,5,0,29,10,8,0,82,23,5,0,135,22,29,0,23,0,0,0,125,23,22,22,23,0,0,0,78,29,23,0,32,29,29,123,121,29,4,0,25,29,23,1,0,31,29,0,119,0,3,0,1,29,0,0,0,31,29,0,0,23,31,0,32,29,23,0,121,29,4,0,1,29,1,0,0,31,29,0,119,0,4,0,106,29,0,80,16,29,29,23,0,31,29,0,121,31,4,0,137,26,0,0,1,31,1,0,139,31,0,0,25,1,8,73,78,31,1,0,121,31,4,0,82,31,9,0,25,31,31,1,85,9,31,0,1,31,5,0,85,14,31,0,82,2,20,0,106,31,0,64,48,31,2,31,144,23,0,0,1,31,5,0,85,2,31,0,25,31,2,4,85,20,31,0,119,0,3,0,135,31,64,0,15,14,0,0,106,31,0,40,25,6,31,36,1,31,72,0,135,7,31,0,6,31,0,0,0,17,16,0,25,18,0,108,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,31,17,19,184,23,0,0,106,5,8,64,1,31,164,0,3,2,0,31,78,3,2,0,1,31,0,0,83,2,31,0,1,31,0,0,132,0,0,31,1,31,132,3,1,29,0,0,135,4,34,0,31,0,29,0,130,29,0,0,0,0,29,0,1,29,0,0,132,0,0,29,38,29,0,1,121,29,5,0,135,26,24,0,83,2,3,0,135,29,26,0,26,0,0,0,83,2,3,0,1,31,0,0,109,7,4,31,25,17,7,8,0,18,16,0,25,19,17,40,116,17,18,0,25,17,17,4,25,18,18,4,54,31,17,19,60,24,0,0,1,29,0,0,109,7,52,29,1,31,0,0,109,7,56,31,1,29,0,0,107,7,60,29,109,7,64,4,1,29,236,62,85,7,29,0,109,7,68,5,135,2,40,0,6,7,0,0,85,25,2,0,0,3,2,0,121,2,21,0,1,31,0,0,109,24,80,31,25,4,24,72,82,5,4,0,106,31,24,76,45,31,5,31,184,24,0,0,25,29,24,68,135,31,4,0,29,25,0,0,119,0,5,0,85,5,3,0,82,31,4,0,25,31,31,4,85,4,31,0,82,29,10,0,82,29,29,0,19,29,29,27,135,31,5,0,29,10,2,0,82,31,20,0,26,31,31,4,85,20,31,0,78,31,1,0,120,31,4,0,137,26,0,0,1,31,1,0,139,31,0,0,82,31,9,0,26,31,31,1,85,9,31,0,137,26,0,0,1,31,1,0,139,31,0,0,140,1,68,0,0,0,0,0,2,58,0,0,149,0,0,0,2,59,0,0,174,1,0,0,2,60,0,0,88,3,0,0,2,61,0,0,89,3,0,0,2,62,0,0,17,49,1,0,2,63,0,0,28,33,0,0,1,45,0,0,136,64,0,0,0,53,64,0,136,64,0,0,1,65,0,2,3,64,64,65,137,64,0,0,0,51,53,0,1,64,240,1,3,43,53,64,1,64,228,1,3,41,53,64,1,64,216,1,3,40,53,64,1,64,176,1,3,42,53,64,1,64,156,1,3,21,53,64,1,64,96,1,3,22,53,64,1,64,92,1,3,29,53,64,1,64,16,1,3,57,53,64,1,64,160,1,3,30,53,64,1,64,144,1,3,38,53,64,1,64,104,1,3,32,53,64,1,64,80,1,3,33,53,64,1,64,40,1,3,34,53,64,1,64,28,1,3,39,53,64,1,64,232,0,3,35,53,64,1,64,200,0,3,36,53,64,1,64,160,0,3,23,53,64,1,64,144,0,3,37,53,64,1,64,132,0,3,24,53,64,25,25,53,120,25,26,53,104,25,27,53,92,25,28,53,80,1,64,216,0,3,55,53,64,25,46,53,76,25,54,53,64,25,50,53,52,25,47,53,40,25,48,0,40,82,64,48,0,25,1,64,36,1,64,92,0,135,2,31,0,1,64,0,0,25,49,0,108,0,5,51,0,0,7,49,0,25,8,5,40,116,5,7,0,25,5,5,4,25,7,7,4,54,64,5,8,84,26,0,0,1,65,0,0,109,2,4,65,25,5,2,8,0,7,51,0,25,8,5,40,116,5,7,0,25,5,5,4,25,7,7,4,54,65,5,8,124,26,0,0,1,64,0,0,109,2,56,64,1,65,0,0,107,2,60,65,1,65,128,35,85,2,65,0,25,52,2,64,1,65,0,0,85,52,65,0,1,64,0,0,109,52,4,64,1,65,0,0,109,52,8,65,1,64,0,0,109,52,12,64,1,65,0,0,109,52,16,65,1,64,0,0,109,52,20,64,1,65,0,0,109,52,24,65,1,64,12,0,109,2,52,64,135,52,40,0,1,2,0,0,1,64,0,0,85,57,64,0,25,56,57,4,1,64,0,0,85,56,64,0,1,65,0,0,109,57,8,65,25,31,0,76,25,44,0,80,25,10,26,12,25,11,57,8,1,65,152,0,3,18,0,65,25,19,0,84,25,20,0,96,1,65,156,0,3,12,0,65,1,65,160,0,3,13,0,65,25,14,38,8,25,15,38,4,25,16,30,12,25,17,38,1,1,2,1,0,1,65,0,0,132,0,0,65,1,65,96,0,1,64,1,0,1,66,0,0,135,1,65,0,65,0,64,66,130,66,0,0,0,9,66,0,1,66,0,0,132,0,0,66,38,66,9,1,121,66,3,0,1,45,7,0,119,0,161,4,33,66,1,0,120,66,240,255,1,66,0,0,132,0,0,66,1,66,68,0,1,64,1,0,1,65,0,0,135,1,65,0,66,0,64,65,130,65,0,0,0,9,65,0,1,65,0,0,132,0,0,65,38,65,9,1,121,65,3,0,1,45,8,0,119,0,144,4,120,1,224,3,1,65,0,0,132,0,0,65,1,65,85,0,1,64,1,0,1,66,0,0,135,1,65,0,65,0,64,66,130,66,0,0,0,9,66,0,1,66,0,0,132,0,0,66,38,66,9,1,121,66,3,0,1,45,8,0,119,0,128,4,120,1,76,0,121,2,38,0,1,66,0,0,132,0,0,66,1,64,74,0,2,65,0,0,110,162,0,0,1,67,47,0,135,66,23,0,64,27,65,67,130,66,0,0,0,9,66,0,1,66,0,0,132,0,0,66,38,66,9,1,121,66,3,0,1,45,8,0,119,0,110,4,1,66,0,0,132,0,0,66,116,51,49,0,106,67,49,4,109,51,4,67,106,66,49,8,109,51,8,66,1,67,135,0,135,66,23,0,67,0,27,51,130,66,0,0,0,9,66,0,1,66,0,0,132,0,0,66,38,66,9,1,121,66,3,0,1,45,118,0,119,0,92,4,135,66,25,0,27,0,0,0,119,0,30,4,1,66,0,0,132,0,0,66,1,67,74,0,2,65,0,0,158,162,0,0,1,64,52,0,135,66,23,0,67,28,65,64,130,66,0,0,0,9,66,0,1,66,0,0,132,0,0,66,38,66,9,1,121,66,3,0,1,45,8,0,119,0,73,4,1,66,0,0,132,0,0,66,116,51,49,0,106,64,49,4,109,51,4,64,106,66,49,8,109,51,8,66,1,64,135,0,135,66,23,0,64,0,28,51,130,66,0,0,0,9,66,0,1,66,0,0,132,0,0,66,38,66,9,1,121,66,3,0,1,45,122,0,119,0,55,4,135,66,25,0,28,0,0,0,119,0,249,3,82,66,48,0,25,1,66,36,1,66,0,0,132,0,0,66,1,66,80,0,135,2,34,0,60,1,66,0,130,66,0,0,0,9,66,0,1,66,0,0,132,0,0,66,38,66,9,1,121,66,3,0,1,45,8,0,119,0,37,4,0,5,51,0,0,7,49,0,25,8,5,40,116,5,7,0,25,5,5,4,25,7,7,4,54,66,5,8,140,29,0,0,1,64,0,0,109,2,4,64,25,5,2,8,0,7,51,0,25,8,5,40,116,5,7,0,25,5,5,4,25,7,7,4,54,64,5,8,180,29,0,0,1,66,0,0,107,2,48,66,1,64,0,0,107,2,49,64,1,66,0,0,107,2,50,66,1,64,0,0,109,2,52,64,1,66,0,0,109,2,60,66,1,64,0,0,109,2,64,64,1,66,0,0,109,2,68,66,1,66,40,21,85,2,66,0,1,64,148,21,109,2,56,64,1,66,0,0,107,2,76,66,1,64,0,0,107,2,77,64,1,66,0,0,107,2,78,66,1,66,0,0,132,0,0,66,135,9,34,0,61,1,2,0,130,66,0,0,0,8,66,0,1,66,0,0,132,0,0,66,38,66,8,1,121,66,3,0,1,45,8,0,119,0,239,3,82,66,48,0,25,2,66,36,1,66,0,0,132,0,0,66,1,66,80,0,135,3,34,0,60,2,66,0,130,66,0,0,0,8,66,0,1,66,0,0,132,0,0,66,38,66,8,1,121,66,3,0,1,45,8,0,119,0,224,3,0,5,32,0,0,7,49,0,25,8,5,40,116,5,7,0,25,5,5,4,25,7,7,4,54,66,5,8,160,30,0,0,1,66,0,0,132,0,0,66,1,64,74,0,2,65,0,0,73,162,0,0,1,67,3,0,135,66,23,0,64,33,65,67,130,66,0,0,0,8,66,0,1,66,0,0,132,0,0,66,38,66,8,1,121,66,3,0,1,45,8,0,119,0,200,3,1,67,0,0,109,3,4,67,25,5,3,8,0,7,32,0,25,8,5,40,116,5,7,0,25,5,5,4,25,7,7,4,54,67,5,8,8,31,0,0,1,66,0,0,107,3,48,66,1,67,0,0,107,3,49,67,1,66,0,0,107,3,50,66,25,1,3,52,1,66,0,0,85,1,66,0,1,66,24,35,85,3,66,0,1,66,0,0,132,0,0,66,25,67,3,56,135,66,33,0,59,67,33,0,130,66,0,0,0,8,66,0,1,66,0,0,132,0,0,66,38,66,8,1,121,66,3,0,1,45,52,0,119,0,166,3,109,3,68,9,1,67,0,0,109,3,72,67,1,66,0,0,109,3,76,66,1,66,4,0,85,1,66,0,1,66,0,0,132,0,0,66,135,1,34,0,61,2,3,0,130,66,0,0,0,8,66,0,1,66,0,0,132,0,0,66,38,66,8,1,121,66,3,0,1,45,52,0,119,0,147,3,135,66,25,0,33,0,0,0,1,66,0,0,132,0,0,66,1,66,68,0,1,67,1,0,1,65,0,0,135,2,65,0,66,0,67,65,130,65,0,0,0,8,65,0,1,65,0,0,132,0,0,65,38,65,8,1,121,65,3,0,1,45,8,0,119,0,130,3,120,2,210,1,1,65,0,0,132,0,0,65,1,65,249,0,135,2,66,0,65,0,0,0,130,65,0,0,0,8,65,0,1,65,0,0,132,0,0,65,38,65,8,1,121,65,3,0,1,45,8,0,119,0,116,3,121,2,135,0,25,6,9,56,82,65,48,0,25,3,65,36,1,65,0,0,132,0,0,65,1,65,80,0,135,4,34,0,60,3,65,0,130,65,0,0,0,8,65,0,1,65,0,0,132,0,0,65,38,65,8,1,121,65,3,0,1,45,8,0,119,0,99,3,0,5,35,0,25,7,2,8,25,8,5,40,116,5,7,0,25,5,5,4,25,7,7,4,54,65,5,8,148,32,0,0,1,65,0,0,132,0,0,65,1,67,74,0,1,66,0,0,135,65,23,0,67,36,62,66,130,65,0,0,0,8,65,0,1,65,0,0,132,0,0,65,38,65,8,1,121,65,3,0,1,45,8,0,119,0,77,3,1,66,0,0,109,4,4,66,25,5,4,8,0,7,35,0,25,8,5,40,116,5,7,0,25,5,5,4,25,7,7,4,54,66,5,8,244,32,0,0,1,65,0,0,107,4,48,65,1,66,0,0,107,4,49,66,1,65,0,0,107,4,50,65,1,66,0,0,109,4,52,66,85,4,63,0,109,4,56,2,1,66,0,0,132,0,0,66,25,65,4,60,135,66,33,0,59,65,36,0,130,66,0,0,0,8,66,0,1,66,0,0,132,0,0,66,38,66,8,1,121,66,3,0,1,45,61,0,119,0,44,3,1,65,0,0,107,4,72,65,1,66,0,0,107,4,73,66,1,65,0,0,109,4,76,65,1,65,0,0,132,0,0,65,135,2,34,0,61,3,4,0,130,65,0,0,0,8,65,0,1,65,0,0,132,0,0,65,38,65,8,1,121,65,3,0,1,45,68,0,119,0,26,3,85,22,2,0,0,3,2,0,121,2,40,0,1,66,0,0,109,9,72,66,25,4,9,64,82,5,4,0,106,66,9,68,45,66,5,66,12,34,0,0,1,66,0,0,132,0,0,66,1,65,222,1,25,67,9,60,135,66,33,0,65,67,22,0,130,66,0,0,0,9,66,0,1,66,0,0,132,0,0,66,38,66,9,1,121,66,7,0,1,45,68,0,119,0,2,3,85,5,3,0,82,66,4,0,25,66,66,4,85,4,66,0,1,66,0,0,132,0,0,66,82,67,6,0,82,67,67,0,135,66,33,0,67,6,2,0,130,66,0,0,0,9,66,0,1,66,0,0,132,0,0,66,38,66,9,1,121,66,3,0,1,45,68,0,119,0,240,2,135,66,25,0,36,0,0,0,119,0,214,1,82,2,31,0,1,66,0,0,132,0,0,66,1,66,231,0,135,3,66,0,66,2,0,0,130,66,0,0,0,8,66,0,1,66,0,0,132,0,0,66,38,66,8,1,121,66,3,0,1,45,8,0,119,0,223,2,125,2,3,3,2,0,0,0,78,3,2,0,41,66,3,24,42,66,66,24,121,66,5,1,1,4,0,0,1,5,0,0,1,6,0,0,41,66,3,24,42,66,66,24,1,67,34,0,1,65,59,0,138,66,67,65,44,36,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,56,36,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,188,35,0,0,68,36,0,0,121,4,3,0,1,4,1,0,119,0,34,0,121,5,4,0,1,4,0,0,1,5,1,0,119,0,30,0,41,67,3,24,42,67,67,24,1,65,40,0,1,64,2,0,138,67,65,64,0,36,0,0,16,36,0,0,1,4,0,0,1,5,0,0,119,0,20,0,1,4,0,0,1,5,0,0,25,6,6,1,119,0,16,0,119,0,1,0,120,6,2,0,119,0,19,0,1,4,0,0,1,5,0,0,26,6,6,1,119,0,9,0,40,67,4,1,0,4,67,0,119,0,6,0,40,67,5,1,0,5,67,0,119,0,3,0,25,2,2,1,119,0,1,0,25,2,2,1,78,3,2,0,41,66,3,24,42,66,66,24,120,66,152,255,119,0,152,0,82,66,44,0,25,67,2,1,55,66,66,67,192,38,0,0,1,66,0,0,132,0,0,66,1,66,234,0,135,2,66,0,66,0,0,0,130,66,0,0,0,8,66,0,1,66,0,0,132,0,0,66,38,66,8,1,121,66,3,0,1,45,8,0,119,0,91,2,25,6,9,56,82,66,48,0,25,3,66,36,1,66,0,0,132,0,0,66,1,66,80,0,135,4,34,0,60,3,66,0,130,66,0,0,0,8,66,0,1,66,0,0,132,0,0,66,38,66,8,1,121,66,3,0,1,45,8,0,119,0,75,2,0,5,23,0,25,7,2,8,25,8,5,40,116,5,7,0,25,5,5,4,25,7,7,4,54,66,5,8,244,36,0,0,1,66,0,0,132,0,0,66,1,67,74,0,1,65,0,0,135,66,23,0,67,37,62,65,130,66,0,0,0,8,66,0,1,66,0,0,132,0,0,66,38,66,8,1,121,66,3,0,1,45,8,0,119,0,53,2,1,65,0,0,109,4,4,65,25,5,4,8,0,7,23,0,25,8,5,40,116,5,7,0,25,5,5,4,25,7,7,4,54,65,5,8,84,37,0,0,1,66,0,0,107,4,48,66,1,65,0,0,107,4,49,65,1,66,0,0,107,4,50,66,1,65,0,0,109,4,52,65,85,4,63,0,109,4,56,2,1,65,0,0,132,0,0,65,25,66,4,60,135,65,33,0,59,66,37,0,130,65,0,0,0,8,65,0,1,65,0,0,132,0,0,65,38,65,8,1,121,65,3,0,1,45,89,0,119,0,20,2,1,66,0,0,107,4,72,66,1,65,0,0,107,4,73,65,1,66,0,0,109,4,76,66,1,66,0,0,132,0,0,66,135,2,34,0,61,3,4,0,130,66,0,0,0,8,66,0,1,66,0,0,132,0,0,66,38,66,8,1,121,66,3,0,1,45,96,0,119,0,2,2,85,21,2,0,0,3,2,0,121,2,40,0,1,65,0,0,109,9,72,65,25,4,9,64,82,5,4,0,106,65,9,68,45,65,5,65,108,38,0,0,1,65,0,0,132,0,0,65,1,66,222,1,25,67,9,60,135,65,33,0,66,67,21,0,130,65,0,0,0,9,65,0,1,65,0,0,132,0,0,65,38,65,9,1,121,65,7,0,1,45,96,0,119,0,234,1,85,5,3,0,82,65,4,0,25,65,65,4,85,4,65,0,1,65,0,0,132,0,0,65,82,67,6,0,82,67,67,0,135,65,33,0,67,6,2,0,130,65,0,0,0,9,65,0,1,65,0,0,132,0,0,65,38,65,9,1,121,65,3,0,1,45,96,0,119,0,216,1,135,65,25,0,37,0,0,0,119,0,190,0,1,65,0,0,132,0,0,65,1,67,74,0,2,66,0,0,77,162,0,0,1,64,13,0,135,65,23,0,67,24,66,64,130,65,0,0,0,9,65,0,1,65,0,0,132,0,0,65,38,65,9,1,121,65,3,0,1,45,8,0,119,0,197,1,1,65,0,0,132,0,0,65,116,51,49,0,106,64,49,4,109,51,4,64,106,65,49,8,109,51,8,65,1,64,135,0,135,65,23,0,64,0,24,51,130,65,0,0,0,9,65,0,1,65,0,0,132,0,0,65,38,65,9,1,121,65,3,0,1,45,101,0,119,0,179,1,135,65,25,0,24,0,0,0,119,0,153,0,1,65,0,0,132,0,0,65,116,51,18,0,106,64,18,4,109,51,4,64,106,65,18,8,109,51,8,65,1,65,69,0,1,64,0,0,135,2,65,0,65,0,51,64,130,64,0,0,0,8,64,0,1,64,0,0,132,0,0,64,38,64,8,1,121,64,3,0,1,45,8,0,119,0,157,1,25,6,9,56,82,64,48,0,25,3,64,36,1,64,0,0,132,0,0,64,1,64,80,0,135,4,34,0,60,3,64,0,130,64,0,0,0,8,64,0,1,64,0,0,132,0,0,64,38,64,8,1,121,64,3,0,1,45,8,0,119,0,141,1,0,5,34,0,25,7,2,8,25,8,5,40,116,5,7,0,25,5,5,4,25,7,7,4,54,64,5,8,236,39,0,0],eb+0);HEAPU8.set([1,64,0,0,132,0,0,64,1,65,74,0,1,66,0,0,135,64,23,0,65,39,62,66,130,64,0,0,0,8,64,0,1,64,0,0,132,0,0,64,38,64,8,1,121,64,3,0,1,45,8,0,119,0,119,1,1,66,0,0,109,4,4,66,25,5,4,8,0,7,34,0,25,8,5,40,116,5,7,0,25,5,5,4,25,7,7,4,54,66,5,8,76,40,0,0,1,64,0,0,107,4,48,64,1,66,0,0,107,4,49,66,1,64,0,0,107,4,50,64,1,66,0,0,109,4,52,66,85,4,63,0,109,4,56,2,1,66,0,0,132,0,0,66,25,64,4,60,135,66,33,0,59,64,39,0,130,66,0,0,0,8,66,0,1,66,0,0,132,0,0,66,38,66,8,1,121,66,3,0,1,45,45,0,119,0,86,1,1,64,0,0,107,4,72,64,1,66,0,0,107,4,73,66,1,64,0,0,109,4,76,64,1,64,0,0,132,0,0,64,135,2,34,0,61,3,4,0,130,64,0,0,0,8,64,0,1,64,0,0,132,0,0,64,38,64,8,1,121,64,3,0,1,45,53,0,119,0,68,1,85,29,2,0,0,3,2,0,121,2,40,0,1,66,0,0,109,9,72,66,25,4,9,64,82,5,4,0,106,66,9,68,45,66,5,66,100,41,0,0,1,66,0,0,132,0,0,66,1,64,222,1,25,65,9,60,135,66,33,0,64,65,29,0,130,66,0,0,0,9,66,0,1,66,0,0,132,0,0,66,38,66,9,1,121,66,7,0,1,45,53,0,119,0,44,1,85,5,3,0,82,66,4,0,25,66,66,4,85,4,66,0,1,66,0,0,132,0,0,66,82,65,6,0,82,65,65,0,135,66,33,0,65,6,2,0,130,66,0,0,0,9,66,0,1,66,0,0,132,0,0,66,38,66,9,1,121,66,3,0,1,45,53,0,119,0,26,1,135,66,25,0,39,0,0,0,1,66,0,0,132,0,0,66,1,66,63,0,1,65,1,0,1,64,0,0,135,2,65,0,66,0,65,64,130,64,0,0,0,9,64,0,1,64,0,0,132,0,0,64,38,64,9,1,121,64,3,0,1,45,8,0,119,0,9,1,120,2,37,0,1,64,0,0,132,0,0,64,1,65,74,0,2,66,0,0,91,162,0,0,1,67,18,0,135,64,23,0,65,25,66,67,130,64,0,0,0,9,64,0,1,64,0,0,132,0,0,64,38,64,9,1,121,64,3,0,1,45,8,0,119,0,248,0,1,64,0,0,132,0,0,64,116,51,49,0,106,67,49,4,109,51,4,67,106,64,49,8,109,51,8,64,1,67,135,0,135,64,23,0,67,0,25,51,130,64,0,0,0,9,64,0,1,64,0,0,132,0,0,64,38,64,9,1,121,64,3,0,1,45,107,0,119,0,230,0,135,64,25,0,25,0,0,0,1,64,0,0,132,0,0,64,1,67,74,0,1,66,0,0,135,64,23,0,67,26,62,66,130,64,0,0,0,9,64,0,1,64,0,0,132,0,0,64,38,64,9,1,121,64,3,0,1,45,8,0,119,0,214,0,85,10,1,0,82,1,56,0,82,64,11,0,48,64,1,64,20,43,0,0,116,1,26,0,106,66,26,4,109,1,4,66,106,64,26,8,109,1,8,64,1,64,0,0,85,26,64,0,1,66,0,0,109,26,4,66,1,64,0,0,109,26,8,64,82,66,10,0,109,1,12,66,82,66,56,0,25,66,66,16,85,56,66,0,119,0,14,0,1,66,0,0,132,0,0,66,1,64,33,2,135,66,33,0,64,57,26,0,130,66,0,0,0,9,66,0,1,66,0,0,132,0,0,66,38,66,9,1,121,66,3,0,1,45,113,0,119,0,179,0,135,66,25,0,26,0,0,0,119,0,117,0,82,2,12,0,82,4,13,0,4,5,4,2,1,66,239,255,48,66,66,5,168,43,0,0,1,66,0,0,132,0,0,66,1,64,75,1,135,66,67,0,64,38,0,0,130,66,0,0,0,45,66,0,1,66,0,0,132,0,0,66,38,66,45,1,121,66,3,0,1,45,8,0,119,0,157,0,1,45,17,0,119,0,8,0,35,66,5,11,121,66,5,0,41,66,5,1,83,38,66,0,0,1,17,0,119,0,2,0,1,45,17,0,32,66,45,17,121,66,22,0,1,45,0,0,25,66,5,16,38,66,66,240,0,3,66,0,1,66,0,0,132,0,0,66,1,66,186,0,135,1,66,0,66,3,0,0,130,66,0,0,0,9,66,0,1,66,0,0,132,0,0,66,38,66,9,1,121,66,3,0,1,45,8,0,119,0,129,0,85,14,1,0,39,66,3,1,85,38,66,0,85,15,5,0,46,66,2,4,76,44,0,0,0,3,1,0,78,66,2,0,83,3,66,0,25,2,2,1,52,66,2,4,72,44,0,0,25,3,3,1,119,0,250,255,3,1,1,5,1,66,0,0,83,1,66,0,1,66,0,0,132,0,0,66,135,66,33,0,59,30,38,0,130,66,0,0,0,9,66,0,1,66,0,0,132,0,0,66,38,66,9,1,121,66,3,0,1,45,27,0,119,0,100,0,1,66,0,0,85,16,66,0,82,1,56,0,82,66,11,0,48,66,1,66,224,44,0,0,116,1,30,0,106,64,30,4,109,1,4,64,106,66,30,8,109,1,8,66,1,66,0,0,85,30,66,0,1,64,0,0,109,30,4,64,1,66,0,0,109,30,8,66,82,64,16,0,109,1,12,64,82,64,56,0,25,64,64,16,85,56,64,0,119,0,14,0,1,64,0,0,132,0,0,64,1,66,33,2,135,64,33,0,66,57,30,0,130,64,0,0,0,9,64,0,1,64,0,0,132,0,0,64,38,64,9,1,121,64,3,0,1,45,28,0,119,0,64,0,135,64,25,0,30,0,0,0,135,64,25,0,38,0,0,0,116,43,18,0,106,66,18,4,109,43,4,66,106,64,18,8,109,43,8,64,82,1,31,0,116,41,19,0,106,66,19,4,109,41,4,66,106,64,19,8,109,41,8,64,116,40,20,0,106,66,20,4,109,40,4,66,106,64,20,8,109,40,8,64,0,5,42,0,0,7,49,0,25,8,5,40,116,5,7,0,25,5,5,4,25,7,7,4,54,64,5,8,112,45,0,0,1,64,0,0,132,0,0,64,1,66,64,0,1,67,1,0,1,65,0,0,135,64,65,0,66,0,67,65,130,64,0,0,0,9,64,0,1,64,0,0,132,0,0,64,38,64,9,1,121,64,3,0,1,45,8,0,119,0,21,0,1,64,0,0,132,0,0,64,1,64,83,0,1,65,1,0,1,67,0,0,135,2,65,0,64,0,65,67,130,67,0,0,0,9,67,0,1,67,0,0,132,0,0,67,38,67,9,1,121,67,3,0,1,45,8,0,119,0,6,0,120,2,3,0,1,45,126,0,119,0,3,0,1,2,0,0,119,0,82,251,1,64,7,0,1,67,120,0,138,45,64,67,0,48,0,0,12,48,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,24,48,0,0,36,48,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,56,48,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,68,48,0,0,84,48,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,96,48,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,108,48,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,120,48,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,132,48,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,144,48,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,160,48,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,176,48,0,0,252,47,0,0,252,47,0,0,252,47,0,0,252,47,0,0,192,48,0,0,252,47,0,0,252,47,0,0,252,47,0,0,208,48,0,0,252,47,0,0,252,47,0,0,252,47,0,0,224,48,0,0,119,0,158,1,135,1,24,0,1,45,10,0,119,0,155,1,135,1,24,0,1,45,10,0,119,0,152,1,135,1,24,0,1,45,29,0,119,0,149,1,135,1,24,0,135,67,25,0,30,0,0,0,1,45,29,0,119,0,144,1,135,1,24,0,1,45,54,0,119,0,141,1,135,3,24,0,135,67,25,0,33,0,0,0,119,0,137,1,135,1,24,0,1,45,54,0,119,0,134,1,135,1,24,0,1,45,69,0,119,0,131,1,135,1,24,0,1,45,69,0,119,0,128,1,135,1,24,0,1,45,97,0,119,0,125,1,135,1,24,0,1,45,97,0,119,0,122,1,135,3,24,0,135,67,25,0,24,0,0,0,119,0,118,1,135,3,24,0,135,67,25,0,25,0,0,0,119,0,114,1,135,3,24,0,135,67,25,0,26,0,0,0,119,0,110,1,135,3,24,0,135,67,25,0,27,0,0,0,119,0,106,1,135,3,24,0,135,67,25,0,28,0,0,0,119,0,102,1,0,5,49,0,0,7,42,0,25,8,5,40,116,5,7,0,25,5,5,4,25,7,7,4,54,67,5,8,236,48,0,0,116,18,43,0,106,65,43,4,109,18,4,65,106,67,43,8,109,18,8,67,85,31,1,0,116,20,40,0,106,65,40,4,109,20,4,65,106,67,40,8,109,20,8,67,116,19,41,0,106,65,41,4,109,19,4,65,106,67,41,8,109,19,8,67,1,67,0,0,132,0,0,67,1,67,230,0,135,1,66,0,67,1,0,0,130,67,0,0,0,45,67,0,1,67,0,0,132,0,0,67,38,67,45,1,120,67,64,1,32,65,1,0,121,65,4,0,1,65,1,0,0,67,65,0,119,0,4,0,82,65,44,0,16,65,65,1,0,67,65,0,121,67,2,0,82,1,31,0,1,67,0,0,132,0,0,67,1,67,231,0,135,2,66,0,67,1,0,0,130,67,0,0,0,45,67,0,1,67,0,0,132,0,0,67,38,67,45,1,120,67,43,1,125,1,2,2,1,0,0,0,78,67,1,0,32,67,67,59,121,67,3,0,25,1,1,1,119,0,12,0,1,67,0,0,132,0,0,67,1,67,206,0,135,1,66,0,67,1,0,0,130,67,0,0,0,45,67,0,1,67,0,0,132,0,0,67,38,67,45,1,120,67,25,1,32,65,1,0,121,65,4,0,1,65,1,0,0,67,65,0,119,0,4,0,82,65,44,0,16,65,65,1,0,67,65,0,121,67,13,0,1,67,0,0,132,0,0,67,1,67,213,0,135,1,66,0,67,0,0,0,130,67,0,0,0,45,67,0,1,67,0,0,132,0,0,67,38,67,45,1,120,67,5,1,109,52,88,1,82,1,57,0,82,10,56,0,46,67,1,10,32,54,0,0,25,11,55,12,25,6,0,12,25,12,51,4,25,7,52,68,25,8,52,72,25,9,52,64,1,67,0,0,132,0,0,67,135,67,33,0,59,55,1,0,130,67,0,0,0,45,67,0,1,67,0,0,132,0,0,67,38,67,45,1,121,67,3,0,1,45,6,0,119,0,149,0,106,2,1,12,85,11,2,0,120,2,115,0,82,2,48,0,1,67,0,0,132,0,0,67,1,65,11,0,1,64,0,0,1,66,0,0,135,67,37,0,65,54,55,64,66,0,0,0,130,67,0,0,0,45,67,0,1,67,0,0,132,0,0,67,38,67,45,1,121,67,3,0,1,45,149,0,119,0,129,0,82,3,6,0,1,67,0,0,132,0,0,67,1,66,214,1,1,64,92,1,3,64,2,64,135,67,33,0,66,51,64,0,130,67,0,0,0,45,67,0,1,67,0,0,132,0,0,67,38,67,45,1,121,67,3,0,1,45,166,0,119,0,113,0,1,67,0,0,132,0,0,67,1,67,7,0,1,64,1,0,135,2,68,0,67,2,54,3,49,52,51,64,130,64,0,0,0,45,64,0,1,64,0,0,132,0,0,64,38,64,45,1,121,64,3,0,1,45,157,0,119,0,98,0,82,3,51,0,0,4,3,0,121,3,13,0,82,5,12,0,46,64,5,3,180,51,0,0,26,64,5,4,4,64,64,4,43,64,64,2,11,64,64,0,41,64,64,2,3,64,5,64,85,12,64,0,135,64,69,0,3,0,0,0,135,64,25,0,54,0,0,0,120,2,72,0,82,2,48,0,1,64,0,0,132,0,0,64,135,64,33,0,59,50,55,0,130,64,0,0,0,45,64,0,1,64,0,0,132,0,0,64,38,64,45,1,121,64,3,0,1,45,149,0,119,0,67,0,82,0,6,0,135,45,70,0,0,0,0,0,1,64,0,0,132,0,0,64,1,67,74,0,135,64,23,0,67,47,0,45,130,64,0,0,0,45,64,0,1,64,0,0,132,0,0,64,38,64,45,1,121,64,3,0,1,45,168,0,119,0,51,0,1,64,0,0,132,0,0,64,1,67,21,0,135,64,37,0,67,2,52,50,47,0,0,0,130,64,0,0,0,45,64,0,1,64,0,0,132,0,0,64,38,64,45,1,121,64,3,0,1,45,169,0,119,0,37,0,135,64,25,0,47,0,0,0,135,64,25,0,50,0,0,0,119,0,24,0,85,46,2,0,82,3,7,0,82,64,8,0,48,64,3,64,176,52,0,0,85,3,2,0,82,64,7,0,25,64,64,4,85,7,64,0,119,0,14,0,1,64,0,0,132,0,0,64,1,67,220,1,135,64,33,0,67,9,46,0,130,64,0,0,0,45,64,0,1,64,0,0,132,0,0,64,38,64,45,1,121,64,3,0,1,45,149,0,119,0,9,0,135,64,25,0,55,0,0,0,25,1,1,16,45,64,1,10,0,53,0,0,1,45,137,0,119,0,2,0,119,0,97,255,32,64,45,6,121,64,4,0,135,1,24,0,1,45,10,0,119,0,88,0,1,64,137,0,45,64,45,64,44,53,0,0,82,1,57,0,119,0,62,0,45,64,45,58,60,53,0,0,135,1,24,0,119,0,43,0,1,64,157,0,45,64,45,64,152,53,0,0,135,1,24,0,82,2,51,0,0,3,2,0,120,2,3,0,1,45,167,0,119,0,34,0,82,4,12,0,46,64,4,2,136,53,0,0,26,64,4,4,4,64,64,3,43,64,64,2,11,64,64,0,41,64,64,2,3,64,4,64,85,12,64,0,135,64,69,0,2,0,0,0,1,45,167,0,119,0,20,0,1,64,166,0,45,64,45,64,176,53,0,0,135,1,24,0,1,45,167,0,119,0,14,0,1,64,168,0,45,64,45,64,200,53,0,0,135,1,24,0,1,45,170,0,119,0,8,0,1,64,169,0,45,64,45,64,228,53,0,0,135,1,24,0,135,64,25,0,47,0,0,0,1,45,170,0,1,64,167,0,45,64,45,64,252,53,0,0,135,64,25,0,54,0,0,0,119,0,6,0,1,64,170,0,45,64,45,64,16,54,0,0,135,64,25,0,50,0,0,0,135,64,25,0,55,0,0,0,0,3,1,0,119,0,22,0,120,1,3,0,137,53,0,0,139,52,0,0,82,2,56,0,46,64,2,1,88,54,0,0,26,55,2,16,85,56,55,0,135,64,25,0,55,0,0,0,82,2,56,0,53,64,2,1,56,54,0,0,82,1,57,0,135,64,69,0,1,0,0,0,137,53,0,0,139,52,0,0,135,1,24,0,1,45,10,0,119,0,1,0,32,64,45,10,121,64,3,0,0,3,1,0,119,0,24,0,32,64,45,29,121,64,5,0,135,64,25,0,38,0,0,0,0,3,1,0,119,0,18,0,32,64,45,54,121,64,5,0,135,64,25,0,39,0,0,0,0,3,1,0,119,0,12,0,32,64,45,69,121,64,5,0,135,64,25,0,36,0,0,0,0,3,1,0,119,0,6,0,32,64,45,97,121,64,4,0,135,64,25,0,37,0,0,0,0,3,1,0,82,1,57,0,120,1,3,0,135,64,26,0,3,0,0,0,82,2,56,0,46,64,2,1,28,55,0,0,26,55,2,16,85,56,55,0,135,64,25,0,55,0,0,0,82,2,56,0,53,64,2,1,252,54,0,0,82,1,57,0,135,64,69,0,1,0,0,0,135,64,26,0,3,0,0,0,1,64,0,0,139,64,0,0,140,4,51,0,0,0,0,0,2,41,0,0,182,1,0,0,2,42,0,0,255,0,0,0,2,43,0,0,223,1,0,0,2,44,0,0,27,120,0,0,2,45,0,0,219,1,0,0,1,38,0,0,136,46,0,0,0,37,46,0,136,46,0,0,1,47,16,2,3,46,46,47,137,46,0,0,1,46,224,1,3,36,37,46,1,46,168,1,3,35,37,46,1,46,156,1,3,39,37,46,1,46,132,1,3,40,37,46,1,46,208,1,3,9,37,46,1,46,144,1,3,10,37,46,1,46,128,1,3,24,37,46,1,46,88,1,3,15,37,46,1,46,40,1,3,25,37,46,1,46,232,0,3,12,37,46,1,46,192,0,3,18,37,46,1,46,176,0,3,22,37,46,1,46,136,0,3,26,37,46,25,29,37,120,25,32,37,80,25,33,37,64,25,34,37,60,1,46,52,1,3,31,37,46,25,13,37,48,25,11,37,36,1,46,248,0,3,30,37,46,25,23,37,24,25,27,37,12,0,28,37,0,25,14,1,8,0,19,35,0,0,20,14,0,25,21,19,40,116,19,20,0,25,19,19,4,25,20,20,4,54,46,19,21,44,56,0,0,1,47,0,0,1,48,0,0,135,46,71,0,39,2,47,48,1,46,0,0,132,0,0,46,1,48,74,0,2,47,0,0,28,173,0,0,1,49,4,0,135,46,23,0,48,40,47,49,130,46,0,0,0,21,46,0,1,46,0,0,132,0,0,46,38,46,21,1,121,46,6,0,135,40,24,0,135,46,25,0,39,0,0,0,135,46,26,0,40,0,0,0,25,16,39,8,25,17,39,1,1,46,0,0,132,0,0,46,1,46,195,0,78,47,39,0,38,47,47,1,32,47,47,0,121,47,3,0,0,49,17,0,119,0,3,0,82,47,16,0,0,49,47,0,135,7,66,0,46,49,0,0,130,49,0,0,0,21,49,0,1,49,0,0,132,0,0,49,38,49,21,1,121,49,3,0,1,38,23,0,119,0,25,4,121,7,125,0,78,49,7,0,32,49,49,58,121,49,122,0,102,49,7,1,32,49,49,47,121,49,119,0,102,49,7,2,32,49,49,47,121,49,116,0,78,46,39,0,38,46,46,1,32,46,46,0,121,46,3,0,0,49,17,0,119,0,3,0,82,46,16,0,0,49,46,0,0,5,49,0,4,8,7,5,1,49,239,255,48,49,49,8,144,57,0,0,1,49,0,0,132,0,0,49,1,46,75,1,135,49,67,0,46,9,0,0,130,49,0,0,0,38,49,0,1,49,0,0,132,0,0,49,38,49,38,1,121,49,3,0,1,38,23,0,119,0,245,3,1,38,11,0,119,0,8,0,35,49,8,11,121,49,5,0,41,49,8,1,83,9,49,0,25,4,9,1,119,0,2,0,1,38,11,0,32,49,38,11,121,49,21,0,25,49,8,16,38,49,49,240,0,6,49,0,1,49,0,0,132,0,0,49,1,49,186,0,135,4,66,0,49,6,0,0,130,49,0,0,0,21,49,0,1,49,0,0,132,0,0,49,38,49,21,1,121,49,3,0,1,38,23,0,119,0,218,3,109,9,8,4,39,49,6,1,85,9,49,0,109,9,4,8,46,49,5,7,48,58,0,0,0,6,4,0,78,49,5,0,83,6,49,0,25,5,5,1,52,49,5,7,44,58,0,0,25,6,6,1,119,0,250,255,3,4,4,8,1,49,0,0,83,4,49,0,78,49,40,0,38,49,49,1,120,49,6,0,1,46,0,0,107,40,1,46,1,46,0,0,83,40,46,0,119,0,6,0,106,46,40,8,1,49,0,0,83,46,49,0,1,46,0,0,109,40,4,46,1,46,0,0,132,0,0,46,1,49,187,1,1,47,0,0,135,46,33,0,49,40,47,0,130,46,0,0,0,21,46,0,1,46,0,0,132,0,0,46,38,46,21,1,121,46,7,0,1,46,0,0,135,21,72,0,46,0,0,0,135,46,73,0,21,0,0,0,119,0,15,0,116,40,9,0,106,47,9,4,109,40,4,47,106,46,9,8,109,40,8,46,1,46,0,0,85,9,46,0,1,47,0,0,109,9,4,47,1,46,0,0,109,9,8,46,135,46,25,0,9,0,0,0,119,0,1,0,106,46,1,88,120,46,51,3,2,47,0,0,28,173,0,0,135,46,74,0,40,47,0,0,120,46,46,3,1,46,0,0,132,0,0,46,1,47,4,0,1,49,0,0,1,48,2,0,135,46,75,0,47,10,39,49,48,39,0,0,130,46,0,0,0,21,46,0,1,46,0,0,132,0,0,46,38,46,21,1,121,46,3,0,1,38,23,0,119,0,133,3,2,48,0,0,243,169,0,0,135,46,74,0,10,48,0,0,32,21,46,0,135,46,25,0,10,0,0,0,120,21,22,3,78,4,39,0,25,5,39,4,38,48,4,1,32,48,48,0,121,48,5,0,19,48,4,42,43,48,48,1,0,46,48,0,119,0,3,0,82,48,5,0,0,46,48,0,0,4,46,0,1,46,4,0,48,46,46,4,184,66,0,0,1,46,0,0,132,0,0,46,1,48,4,0,26,49,4,4,1,47,4,0,135,46,75,0,48,12,39,49,47,39,0,0,130,46,0,0,0,25,46,0,1,46,0,0,132,0,0,46,38,46,25,1,121,46,3,0,1,38,23,0,119,0,94,3,2,47,0,0,209,133,0,0,135,46,74,0,12,47,0,0,32,25,46,0,135,46,25,0,12,0,0,0,121,25,174,1,25,10,0,36,1,46,0,0,132,0,0,46,1,46,88,3,1,47,76,0,135,4,34,0,46,10,47,0,130,47,0,0,0,31,47,0,1,47,0,0,132,0,0,47,38,47,31,1,121,47,3,0,1,38,23,0,119,0,71,3,0,19,18,0,0,20,35,0,25,21,19,40,116,19,20,0,25,19,19,4,25,20,20,4,54,47,19,21,76,60,0,0,1,47,0,0,132,0,0,47,1,46,11,0,1,49,0,0,1,48,0,0,135,47,37,0,46,22,2,49,48,0,0,0,130,47,0,0,0,31,47,0,1,47,0,0,132,0,0,47,38,47,31,1,121,47,3,0,1,38,23,0,119,0,47,3,1,48,0,0,109,4,4,48,25,19,4,8,0,20,18,0,25,21,19,40,116,19,20,0,25,19,19,4,25,20,20,4,54,48,19,21,180,60,0,0,1,47,0,0,107,4,48,47,1,48,0,0,107,4,49,48,1,47,0,0,107,4,50,47,1,48,0,0,107,4,56,48,1,47,4,0,109,4,52,47,1,47,44,23,85,4,47,0,1,48,0,0,107,4,57,48,1,47,0,0,107,4,58,47,1,47,0,0,132,0,0,47,1,48,221,1,25,49,4,60,135,47,33,0,48,49,22,0,130,47,0,0,0,31,47,0,1,47,0,0,132,0,0,47,38,47,31,1,120,47,93,1,1,49,0,0,109,4,72,49,1,49,0,0,132,0,0,49,1,49,89,3,135,5,34,0,49,10,4,0,130,49,0,0,0,31,49,0,1,49,0,0,132,0,0,49,38,49,31,1,120,49,80,1,135,49,25,0,22,0,0,0,1,49,0,0,132,0,0,49,1,49,88,3,1,47,80,0,135,4,34,0,49,10,47,0,130,47,0,0,0,31,47,0,1,47,0,0,132,0,0,47,38,47,31,1,121,47,3,0,1,38,23,0,119,0,236,2,0,19,26,0,0,20,35,0,25,21,19,40,116,19,20,0,25,19,19,4,25,20,20,4,54,47,19,21,184,61,0,0,1,47,0,0,132,0,0,47,1,49,74,0,2,48,0,0,17,49,1,0,1,46,0,0,135,47,23,0,49,29,48,46,130,47,0,0,0,31,47,0,1,47,0,0,132,0,0,47,38,47,31,1,121,47,3,0,1,38,23,0,119,0,212,2,1,46,0,0,109,4,4,46,25,19,4,8,0,20,26,0,25,21,19,40,116,19,20,0,25,19,19,4,25,20,20,4,54,46,19,21,32,62,0,0,1,47,0,0,107,4,48,47,1,46,0,0,107,4,49,46,1,47,0,0,107,4,50,47,1,46,0,0,109,4,52,46,1,46,28,33,85,4,46,0,109,4,56,5,1,46,0,0,132,0,0,46,1,47,174,1,25,48,4,60,135,46,33,0,47,48,29,0,130,46,0,0,0,31,46,0,1,46,0,0,132,0,0,46,38,46,31,1,121,46,3,0,135,4,24,0,119,0,2,1,1,48,0,0,107,4,72,48,1,46,0,0,107,4,73,46,1,48,0,0,109,4,76,48,1,48,0,0,132,0,0,48,1,48,89,3,135,8,34,0,48,10,4,0,130,48,0,0,0,31,48,0,1,48,0,0,132,0,0,48,38,48,31,1,121,48,3,0,135,4,24,0,119,0,239,0,135,48,25,0,29,0,0,0,1,48,0,0,132,0,0,48,1,48,88,3,1,46,80,0,135,4,34,0,48,10,46,0,130,46,0,0,0,31,46,0,1,46,0,0,132,0,0,46,38,46,31,1,121,46,3,0,1,38,23,0,119,0,142,2,1,48,0,0,109,4,4,48,25,19,4,8,0,20,35,0,25,21,19,40,116,19,20,0,25,19,19,4,25,20,20,4,54,48,19,21,56,63,0,0,1,46,0,0,107,4,48,46,1,48,0,0,107,4,49,48,1,46,0,0,107,4,50,46,1,48,0,0,109,4,52,48,1,46,0,0,109,4,60,46,1,48,0,0,109,4,64,48,1,46,0,0,109,4,68,46,1,46,40,21,85,4,46,0,1,48,148,21,109,4,56,48,1,46,0,0,107,4,76,46,1,48,0,0,107,4,77,48,1,46,0,0,107,4,78,46,1,46,0,0,132,0,0,46,1,46,89,3,135,9,34,0,46,10,4,0,130,46,0,0,0,31,46,0,1,46,0,0,132,0,0,46,38,46,31,1,121,46,3,0,1,38,23,0,119,0,95,2,25,4,9,56,85,36,8,0,0,5,8,0,121,8,40,0,1,48,0,0,109,9,72,48,25,6,9,64,82,7,6,0,106,48,9,68,45,48,7,48,68,64,0,0,1,48,0,0,132,0,0,48,1,46,222,1,25,47,9,60,135,48,33,0,46,47,36,0,130,48,0,0,0,36,48,0,1,48,0,0,132,0,0,48,38,48,36,1,121,48,7,0,1,38,23,0,119,0,70,2,85,7,5,0,82,48,6,0,25,48,48,4,85,6,48,0,1,48,0,0,132,0,0,48,82,47,4,0,82,47,47,0,135,48,33,0,47,4,8,0,130,48,0,0,0,36,48,0,1,48,0,0,132,0,0,48,38,48,36,1,121,48,3,0,1,38,23,0,119,0,52,2,1,48,0,0,132,0,0,48,1,48,88,3,1,47,80,0,135,5,34,0,48,10,47,0,130,47,0,0,0,36,47,0,1,47,0,0,132,0,0,47,38,47,36,1,121,47,3,0,1,38,23,0,119,0,38,2,0,19,32,0,0,20,35,0,25,21,19,40,116,19,20,0,25,19,19,4,25,20,20,4,54,47,19,21,208,64,0,0,1,47,0,0,132,0,0,47,1,48,74,0,2,46,0,0,73,162,0,0,1,49,3,0,135,47,23,0,48,33,46,49,130,47,0,0,0,36,47,0,1,47,0,0,132,0,0,47,38,47,36,1,121,47,3,0,1,38,23,0,119,0,14,2,1,49,0,0,109,5,4,49,25,19,5,8,0,20,32,0,25,21,19,40,116,19,20,0,25,19,19,4,25,20,20,4,54,49,19,21,56,65,0,0,1,47,0,0,107,5,48,47,1,49,0,0,107,5,49,49,1,47,0,0,107,5,50,47,25,4,5,52,1,47,0,0,85,4,47,0,1,47,24,35,85,5,47,0,1,47,0,0,132,0,0,47,1,49,174,1,25,46,5,56,135,47,33,0,49,46,33,0,130,47,0,0,0,36,47,0,1,47,0,0,132,0,0,47,38,47,36,1,120,47,58,0,109,5,68,9,1,46,0,0,109,5,72,46,1,47,0,0,109,5,76,47,1,47,4,0,85,4,47,0,1,47,0,0,132,0,0,47,1,47,89,3,135,6,34,0,47,10,5,0,130,47,0,0,0,36,47,0,1,47,0,0,132,0,0,47,38,47,36,1,120,47,40,0,135,47,25,0,33,0,0,0,85,34,6,0,25,4,1,68,82,5,4,0,106,47,1,72,48,47,5,47,60,66,0,0,85,5,6,0,82,47,4,0,25,47,47,4,85,4,47,0,135,47,25,0,40,0,0,0,135,47,25,0,39,0,0,0,137,37,0,0,139,0,0,0,119,0,21,0,1,47,0,0,132,0,0,47,1,46,220,1,25,49,1,64,135,47,33,0,46,49,34,0,130,47,0,0,0,38,47,0,1,47,0,0,132,0,0,47,38,47,38,1,121,47,3,0,1,38,23,0,119,0,186,1,135,47,25,0,40,0,0,0,135,47,25,0,39,0,0,0,137,37,0,0,139,0,0,0,135,4,24,0,135,47,25,0,33,0,0,0,119,0,176,1,135,47,25,0,29,0,0,0,119,0,173,1,135,4,24,0,135,47,25,0,22,0,0,0,119,0,169,1,1,47,0,0,132,0,0,47,1,49,174,1,135,47,33,0,49,13,39,0,130,47,0,0,0,34,47,0,1,47,0,0,132,0,0,47,38,47,34,1,121,47,3,0,1,38,23,0,119,0,156,1,1,47,0,0,132,0,0,47,1,49,174,1,135,47,33,0,49,11,3,0,130,47,0,0,0,34,47,0,1,47,0,0,132,0,0,47,38,47,34,1,121,47,3,0,135,4,24,0,119,0,37,1,1,47,0,0,132,0,0,47,1,49,93,0,135,47,23,0,49,31,13,11,130,47,0,0,0,34,47,0,1,47,0,0,132,0,0,47,38,47,34,1,121,47,5,0,135,4,24,0,135,47,25,0,11,0,0,0,119,0,22,1,135,47,25,0,11,0,0,0,135,47,25,0,13,0,0,0,1,47,0,0,132,0,0,47,0,19,36,0,0,20,35,0,25,21,19,40,116,19,20,0,25,19,19,4,25,20,20,4,54,47,19,21,128,67,0,0,1,49,20,0,135,47,37,0,49,30,0,31,36,0,0,0,130,47,0,0,0,34,47,0,1,47,0,0,132,0,0,47,38,47,34,1,121,47,3,0,135,4,24,0,119,0,243,0,25,6,30,36,78,34,6,0,38,49,34,1,32,49,49,0,121,49,5,0,19,49,34,42,43,49,49,1,0,47,49,0,119,0,3,0,106,49,30,40,0,47,49,0,120,47,156,0,1,47,0,0,85,28,47,0,1,49,0,0,109,28,4,49,1,47,0,0,109,28,8,47,78,4,39,0,38,49,4,1,32,49,49,0,121,49,5,0,19,49,4,42,43,49,49,1,0,47,49,0,119,0,3,0,82,49,5,0,0,47,49,0,0,4,47,0,1,47,0,0,132,0,0,47,1,49,10,0,1,46,242,119,1,48,40,0,25,50,4,40,135,47,37,0,49,28,46,48,50,0,0,0,130,47,0,0,0,34,47,0,1,47,0,0,132,0,0,47,38,47,34,1,120,47,119,0,1,47,0,0,132,0,0,47,1,50,46,0,78,46,39,0,38,46,46,1,32,46,46,0,121,46,3,0,0,48,17,0,119,0,3,0,82,46,16,0,0,48,46,0,135,47,65,0,50,28,48,4,130,47,0,0,0,34,47,0,1,47,0,0,132,0,0,47,38,47,34,1,120,47,100,0,1,47,0,0,132,0,0,47,1,47,98,3,135,4,34,0,47,28,44,0,130,47,0,0,0,34,47,0,1,47,0,0,132,0,0,47,38,47,34,1,121,47,3,0,135,4,24,0,119,0,84,0,116,27,4,0,106,48,4,4,109,27,4,48,106,47,4,8,109,27,8,47,1,47,0,0,85,4,47,0,1,48,0,0,109,4,4,48,1,47,0,0,109,4,8,47,78,4,3,0,38,47,4,1,32,34,47,0,1,47,0,0,132,0,0,47,1,47,46,0,121,34,4,0,25,50,3,1,0,48,50,0,119,0,3,0,106,50,3,8,0,48,50,0,121,34,5,0,19,46,4,42,43,46,46,1,0,50,46,0,119,0,3,0,106,46,3,4,0,50,46,0,135,4,65,0,47,27,48,50,130,50,0,0,0,34,50,0,1,50,0,0,132,0,0,50,38,50,34,1,121,50,3,0,135,4,24,0,119,0,42,0,116,23,4,0,106,48,4,4,109,23,4,48,106,50,4,8,109,23,8,50,1,50,0,0,85,4,50,0,1,48,0,0,109,4,4,48,1,50,0,0,109,4,8,50,1,50,0,0,132,0,0,50,0,19,36,0,0,20,35,0,25,21,19,40,116,19,20,0,25,19,19,4,25,20,20,4,54,50,19,21,212,69,0,0,135,50,33,0,41,23,36,0,130,50,0,0,0,36,50,0,1,50,0,0,132,0,0,50,38,50,36,1,121,50,5,0,135,4,24,0,135,50,25,0,23,0,0,0,119,0,9,0,135,50,25,0,23,0,0,0,135,50,25,0,27,0,0,0,135,50,25,0,28,0,0,0,1,38,90,0,119,0,12,0,135,50,25,0,27,0,0,0,135,50,25,0,28,0,0,0,119,0,7,0,135,4,24,0,135,50,25,0,28,0,0,0,1,38,84,0,119,0,2,0,1,38,90,0,32,50,38,90,121,50,63,0,25,4,1,80,82,5,4,0,106,50,1,84,45,50,5,50,180,70,0,0,1,50,0,0,132,0,0,50,25,48,1,76,135,50,33,0,43,48,30,0,130,50,0,0,0,1,50,0,1,50,0,0,132,0,0,50,38,50,1,1,121,50,18,0,1,38,83,0,119,0,16,0,1,50,0,0,132,0,0,50,135,50,33,0,45,5,30,0,130,50,0,0,0,1,50,0,1,50,0,0,132,0,0,50,38,50,1,1,121,50,3,0,1,38,83,0,119,0,4,0,82,50,4,0,25,50,50,48,85,4,50,0,32,50,38,83,121,50,4,0,135,4,24,0,1,38,84,0,119,0,25,0,135,50,25,0,6,0,0,0,25,48,30,24,135,50,25,0,48,0,0,0,25,48,30,12,135,50,25,0,48,0,0,0,135,50,25,0,30,0,0,0,25,48,31,24,135,50,25,0,48,0,0,0,25,48,31,12,135,50,25,0,48,0,0,0,135,50,25,0,31,0,0,0,135,50,25,0,40,0,0,0,135,50,25,0,39,0,0,0,137,37,0,0,139,0,0,0,135,50,25,0,6,0,0,0,25,48,30,24,135,50,25,0,48,0,0,0,25,48,30,12,135,50,25,0,48,0,0,0,135,50,25,0,30,0,0,0,25,48,31,24,135,50,25,0,48,0,0,0,25,48,31,12,135,50,25,0,48,0,0,0,135,50,25,0,31,0,0,0,119,0,107,0,135,50,25,0,13,0,0,0,119,0,104,0,25,7,1,64,25,4,0,36,1,50,0,0,132,0,0,50,1,50,88,3,1,48,76,0,135,5,34,0,50,4,48,0,130,48,0,0,0,35,48,0,1,48,0,0,132,0,0,48,38,48,35,1,121,48,3,0,1,38,23,0,119,0,88,0,0,19,15,0,0,20,14,0,25,21,19,40,116,19,20,0,25,19,19,4,25,20,20,4,54,48,19,21,8,72,0,0,1,48,0,0,132,0,0,48,1,50,174,1,135,48,33,0,50,25,2,0,130,48,0,0,0,35,48,0,1,48,0,0,132,0,0,48,38,48,35,1,121,48,3,0,1,38,23,0,119,0,67,0,1,48,0,0,132,0,0,48,0,19,36,0,0,20,15,0,25,21,19,40,116,19,20,0,25,19,19,4,25,20,20,4,54,48,19,21,100,72,0,0,1,50,5,0,1,47,0,0,1,46,0,0,135,48,75,0,50,5,36,25,47,46,0,0,130,48,0,0,0,36,48,0,1,48,0,0,132,0,0,48,38,48,36,1,120,48,42,0,1,48,0,0,132,0,0,48,1,48,89,3,135,6,34,0,48,4,5,0,130,48,0,0,0,36,48,0,1,48,0,0,132,0,0,48,38,48,36,1,120,48,31,0,85,24,6,0,25,4,1,68,82,5,4,0,106,48,1,72,48,48,5,48,0,73,0,0,85,5,6,0,82,48,4,0,25,48,48,4,85,4,48,0,119,0,12,0,1,48,0,0,132,0,0,48,1,46,220,1,135,48,33,0,46,7,24,0,130,48,0,0,0,1,48,0,1,48,0,0,132,0,0,48,38,48,1,1,120,48,9,0,135,48,25,0,25,0,0,0,135,48,25,0,40,0,0,0,135,48,25,0,39,0,0,0,137,37,0,0,139,0,0,0,135,4,24,0,135,48,25,0,25,0,0,0,32,48,38,23,121,48,2,0,135,4,24,0,135,48,25,0,40,0,0,0,0,40,4,0,135,48,25,0,39,0,0,0,135,48,26,0,40,0,0,0,139,0,0,0,140,7,84,0,0,0,0,0,2,72,0,0,174,1,0,0,2,73,0,0,182,1,0,0,2,74,0,0,219,1,0,0,2,75,0,0,223,1,0,0,2,76,0,0,44,32,0,0,2,77,0,0,80,32,0,0,2,78,0,0,64,32,0,0,2,79,0,0,24,32,0,0,136,80,0,0,0,67,80,0,136,80,0,0,1,81,32,2,3,80,80,81,137,80,0,0,1,80,240,1,3,52,67,80,1,80,216,1,3,71,67,80,1,80,72,1,3,61,67,80,1,80,228,1,3,36,67,80,1,80,8,1,3,70,67,80,1,80,56,1,3,62,67,80,1,80,44,1,3,55,67,80,1,80,216,0,3,56,67,80,1,80,192,0,3,65,67,80,1,80,136,0,3,48,67,80,25,57,67,124,25,58,67,112,25,49,67,72,25,50,67,56,25,37,67,48,1,80,204,0,3,66,67,80,1,80,144,0,3,60,67,80,25,53,67,32,25,38,67,24,25,63,67,12,0,54,67,0,82,7,5,0,106,18,5,4,45,80,7,18,132,74,0,0,1,71,0,0,137,67,0,0,139,71,0,0,25,19,1,8,25,20,1,1,1,80,28,1,3,21,0,80,40,80,6,1,0,17,80,0,25,64,61,64,25,22,61,8,25,39,61,12,25,23,61,4,25,24,61,64,1,80,136,0,3,25,61,80,1,80,140,0,3,26,61,80,25,40,61,44,25,27,61,60,25,41,61,8,25,28,71,8,25,29,71,1,25,30,71,4,25,31,4,80,25,32,4,84,25,33,4,76,25,34,38,4,25,42,60,36,25,43,60,24,25,44,60,12,25,68,70,24,25,69,70,12,25,35,48,4,25,45,56,36,25,46,56,24,25,47,56,12,1,8,0,0,1,5,0,0,82,80,7,0,135,16,76,0,80,0,0,0,38,80,16,127,78,82,1,0,38,82,82,1,32,82,82,0,121,82,3,0,0,81,20,0,119,0,3,0,82,82,19,0,0,81,82,0,82,82,7,0,82,83,21,0,135,16,77,0,80,81,82,83,121,16,179,2,82,80,16,0,120,80,3,0,0,5,8,0,119,0,167,2,0,5,8,0,0,15,16,0,25,5,5,1,135,80,78,0,71,1,0,0,33,80,5,0,19,80,80,17,121,80,194,0,85,22,76,0,1,80,248,32,85,61,80,0,1,80,12,33,85,64,80,0,1,80,0,0,85,23,80,0,1,80,0,0,132,0,0,80,1,83,196,1,135,80,33,0,83,24,39,0,130,80,0,0,0,14,80,0,1,80,0,0,132,0,0,80,38,80,14,1,121,80,3,0,1,7,10,0,119,0,153,2,1,80,0,0,85,25,80,0,1,80,255,255,85,26,80,0,85,61,79,0,85,64,78,0,85,22,76,0,1,80,0,0,132,0,0,80,1,83,68,1,135,80,67,0,83,39,0,0,130,80,0,0,0,14,80,0,1,80,0,0,132,0,0,80,38,80,14,1,121,80,3,0,1,7,11,0,119,0,133,2,85,39,77,0,1,80,0,0,85,40,80,0,1,83,0,0,109,40,4,83,1,80,0,0,109,40,8,80,1,83,0,0,109,40,12,83,1,83,24,0,85,27,83,0,1,83,0,0,85,52,83,0,1,80,0,0,109,52,4,80,1,83,0,0,109,52,8,83,1,83,0,0,132,0,0,83,1,80,197,1,135,83,33,0,80,39,52,0,130,83,0,0,0,14,83,0,1,83,0,0,132,0,0,83,38,83,14,1,121,83,3,0,1,7,9,0,119,0,103,2,135,83,25,0,52,0,0,0,78,8,71,0,38,83,8,1,32,14,83,0,1,83,0,0,132,0,0,83,1,83,49,0,121,14,3,0,0,80,29,0,119,0,3,0,82,82,28,0,0,80,82,0,121,14,6,0,1,81,255,0,19,81,8,81,43,81,81,1,0,82,81,0,119,0,3,0,82,81,30,0,0,82,81,0,135,8,65,0,83,41,80,82,130,82,0,0,0,14,82,0,1,82,0,0,132,0,0,82,38,82,14,1,121,82,3,0,1,7,26,0,119,0,72,2,1,82,0,0,132,0,0,82,1,82,49,0,2,80,0,0,3,170,0,0,1,83,1,0,135,8,65,0,82,8,80,83,130,83,0,0,0,14,83,0,1,83,0,0,132,0,0,83,38,83,14,1,121,83,3,0,1,7,26,0,119,0,56,2,1,83,0,0,132,0,0,83,1,80,92,3,135,83,34,0,80,8,5,0,130,83,0,0,0,14,83,0,1,83,0,0,132,0,0,83,38,83,14,1,121,83,3,0,1,7,26,0,119,0,43,2,1,83,0,0,132,0,0,83,1,80,198,1,135,83,33,0,80,36,39,0,130,83,0,0,0,14,83,0,1,83,0,0,132,0,0,83,38,83,14,1,121,83,3,0,1,7,26,0,119,0,30,2,78,83,71,0,38,83,83,1,120,83,6,0,1,83,0,0,83,29,83,0,1,83,0,0,83,71,83,0,119,0,6,0,82,83,28,0,1,80,0,0,83,83,80,0,1,80,0,0,85,30,80,0,1,80,0,0,132,0,0,80,1,83,187,1,1,82,0,0,135,80,33,0,83,71,82,0,130,80,0,0,0,14,80,0,1,80,0,0,132,0,0,80,38,80,14,1,121,80,3,0,1,7,22,0,119,0,3,2,116,71,36,0,106,82,36,4,109,71,4,82,106,80,36,8,109,71,8,80,1,80,0,0,85,36,80,0,1,82,0,0,109,36,4,82,1,80,0,0,109,36,8,80,135,80,25,0,36,0,0,0,85,61,79,0,85,64,78,0,85,41,76,0,85,39,77,0,135,80,25,0,40,0,0,0,135,80,79,0,39,0,0,0,135,80,80,0,64,0,0,0,1,80,0,0,132,0,0,80,135,80,33,0,72,62,71,0,130,80,0,0,0,14,80,0,1,80,0,0,132,0,0,80,38,80,14,1,121,80,3,0,1,7,24,0,119,0,224,1,135,14,70,0,2,0,0,0,1,80,0,0,132,0,0,80,1,82,74,0,135,80,23,0,82,55,2,14,130,80,0,0,0,14,80,0,1,80,0,0,132,0,0,80,38,80,14,1,121,80,3,0,1,7,42,0,119,0,209,1,1,80,0,0,132,0,0,80,1,82,93,0,135,80,23,0,82,70,62,55,130,80,0,0,0,14,80,0,1,80,0,0,132,0,0,80,38,80,14,1,121,80,3,0,1,7,43,0,119,0,196,1,135,80,25,0,55,0,0,0,135,80,25,0,62,0,0,0,82,8,15,0,1,80,0,0,132,0,0,80,1,80,190,0,135,14,66,0,80,8,0,0,130,80,0,0,0,13,80,0,1,80,0,0,132,0,0,80,38,80,13,1,121,80,3,0,1,7,45,0,119,0,178,1,1,80,0,0,132,0,0,80,1,80,191,0,135,11,66,0,80,8,0,0,130,80,0,0,0,13,80,0,1,80,0,0,132,0,0,80,38,80,13,1,121,80,3,0,1,7,45,0,119,0,165,1,1,80,0,0,132,0,0,80,1,80,196,0,135,12,66,0,80,8,0,0,130,80,0,0,0,13,80,0,1,80,0,0,132,0,0,80,38,80,13,1,121,80,3,0,1,7,45,0,119,0,152,1,1,80,0,0,132,0,0,80,1,80,197,0,135,13,66,0,80,8,0,0,130,80,0,0,0,10,80,0,1,80,0,0,132,0,0,80],eb+10240);HEAPU8.set([38,80,10,1,121,80,3,0,1,7,45,0,119,0,139,1,1,80,0,0,132,0,0,80,1,80,198,0,135,9,66,0,80,8,0,0,130,80,0,0,0,10,80,0,1,80,0,0,132,0,0,80,38,80,10,1,121,80,3,0,1,7,45,0,119,0,126,1,1,80,0,0,132,0,0,80,1,80,199,0,135,10,66,0,80,8,0,0,130,80,0,0,0,8,80,0,1,80,0,0,132,0,0,80,38,80,8,1,121,80,3,0,1,7,45,0,119,0,113,1,33,8,14,0,120,10,166,0,120,8,52,0,120,9,2,0,119,0,82,1,135,14,70,0,9,0,0,0,1,80,0,0,132,0,0,80,1,82,74,0,135,80,23,0,82,63,9,14,130,80,0,0,0,14,80,0,1,80,0,0,132,0,0,80,38,80,14,1,121,80,3,0,1,7,45,0,119,0,93,1,135,14,70,0,2,0,0,0,1,80,0,0,132,0,0,80,1,82,74,0,135,80,23,0,82,54,2,14,130,80,0,0,0,14,80,0,1,80,0,0,132,0,0,80,38,80,14,1,121,80,3,0,1,7,82,0,119,0,78,1,1,80,0,0,132,0,0,80,1,82,21,0,135,80,37,0,82,0,4,63,54,0,0,0,130,80,0,0,0,14,80,0,1,80,0,0,132,0,0,80,38,80,14,1,121,80,3,0,1,7,83,0,119,0,64,1,135,80,25,0,54,0,0,0,135,80,25,0,63,0,0,0,119,0,33,1,120,9,13,0,1,80,0,0,132,0,0,80,135,80,33,0,72,66,71,0,130,80,0,0,0,13,80,0,1,80,0,0,132,0,0,80,38,80,13,1,121,80,18,0,1,7,45,0,119,0,46,1,135,13,70,0,9,0,0,0,1,80,0,0,132,0,0,80,1,82,74,0,135,80,23,0,82,66,9,13,130,80,0,0,0,13,80,0,1,80,0,0,132,0,0,80,38,80,13,1,121,80,3,0,1,7,45,0,119,0,31,1,1,80,0,0,132,0,0,80,135,80,33,0,72,53,66,0,130,80,0,0,0,13,80,0,1,80,0,0,132,0,0,80,38,80,13,1,121,80,3,0,1,7,73,0,119,0,19,1,1,80,0,0,132,0,0,80,1,82,94,0,135,80,23,0,82,60,70,53,130,80,0,0,0,13,80,0,1,80,0,0,132,0,0,80,38,80,13,1,121,80,3,0,1,7,74,0,119,0,6,1,135,80,25,0,53,0,0,0,82,8,31,0,82,80,32,0,45,80,8,80,108,82,0,0,1,80,0,0,132,0,0,80,135,80,33,0,75,33,60,0,130,80,0,0,0,13,80,0,1,80,0,0,132,0,0,80,38,80,13,1,121,80,18,0,1,7,75,0,119,0,244,0,1,80,0,0,132,0,0,80,135,80,33,0,74,8,60,0,130,80,0,0,0,13,80,0,1,80,0,0,132,0,0,80,38,80,13,1,121,80,3,0,1,7,75,0,119,0,232,0,82,80,31,0,25,80,80,48,85,31,80,0,85,38,14,0,85,34,11,0,1,80,0,0,132,0,0,80,1,82,17,0,135,80,37,0,82,0,60,38,3,0,0,0,130,80,0,0,0,14,80,0,1,80,0,0,132,0,0,80,38,80,14,1,121,80,3,0,1,7,75,0,119,0,213,0,135,80,25,0,42,0,0,0,135,80,25,0,43,0,0,0,135,80,25,0,44,0,0,0,135,80,25,0,60,0,0,0,135,80,25,0,66,0,0,0,119,0,176,0,33,80,11,0,20,80,8,80,121,80,52,0,1,80,0,0,132,0,0,80,135,80,33,0,72,65,71,0,130,80,0,0,0,9,80,0,1,80,0,0,132,0,0,80,38,80,9,1,121,80,3,0,1,7,45,0,119,0,187,0,1,80,0,0,132,0,0,80,1,82,94,0,135,80,23,0,82,56,70,65,130,80,0,0,0,9,80,0,1,80,0,0,132,0,0,80,38,80,9,1,121,80,3,0,1,7,46,0,119,0,174,0,85,48,14,0,85,35,11,0,1,80,0,0,132,0,0,80,1,82,17,0,135,80,37,0,82,0,56,48,3,0,0,0,130,80,0,0,0,11,80,0,1,80,0,0,132,0,0,80,38,80,11,1,121,80,3,0,1,7,47,0,119,0,158,0,135,80,25,0,45,0,0,0,135,80,25,0,46,0,0,0,135,80,25,0,47,0,0,0,135,80,25,0,56,0,0,0,135,80,25,0,65,0,0,0,135,8,70,0,10,0,0,0,19,80,13,12,32,80,80,255,121,80,37,0,1,80,0,0,132,0,0,80,1,82,74,0,135,80,23,0,82,57,10,8,130,80,0,0,0,14,80,0,1,80,0,0,132,0,0,80,38,80,14,1,121,80,3,0,1,7,45,0,119,0,130,0,1,80,0,0,132,0,0,80,0,8,52,0,0,9,3,0,25,10,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,80,8,10,72,84,0,0,135,80,33,0,73,57,52,0,130,80,0,0,0,14,80,0,1,80,0,0,132,0,0,80,38,80,14,1,121,80,3,0,1,7,53,0,119,0,110,0,135,80,25,0,57,0,0,0,119,0,81,0,1,80,0,0,132,0,0,80,1,82,74,0,135,80,23,0,82,58,10,8,130,80,0,0,0,11,80,0,1,80,0,0,132,0,0,80,38,80,11,1,121,80,3,0,1,7,45,0,119,0,94,0,1,80,0,0,132,0,0,80,1,82,98,0,135,80,23,0,82,50,12,13,130,80,0,0,0,13,80,0,1,80,0,0,132,0,0,80,38,80,13,1,121,80,3,0,1,7,60,0,119,0,81,0,1,80,0,0,132,0,0,80,1,82,99,0,1,83,0,0,1,81,0,0,135,80,23,0,82,37,83,81,130,80,0,0,0,13,80,0,1,80,0,0,132,0,0,80,38,80,13,1,121,80,3,0,1,7,60,0,119,0,66,0,1,80,0,0,132,0,0,80,116,52,37,0,106,81,37,4,109,52,4,81,1,80,6,0,135,81,75,0,80,49,2,14,50,52,0,0,130,81,0,0,0,14,81,0,1,81,0,0,132,0,0,81,38,81,14,1,121,81,3,0,1,7,60,0,119,0,49,0,1,81,0,0,132,0,0,81,0,8,52,0,0,9,49,0,25,10,8,40,116,8,9,0,25,8,8,4,25,9,9,4,54,81,8,10,140,85,0,0,135,81,33,0,73,58,52,0,130,81,0,0,0,14,81,0,1,81,0,0,132,0,0,81,38,81,14,1,121,81,3,0,1,7,60,0,119,0,29,0,135,81,25,0,58,0,0,0,25,15,15,4,135,81,25,0,68,0,0,0,135,81,25,0,69,0,0,0,135,81,25,0,70,0,0,0,135,81,25,0,71,0,0,0,82,81,15,0,33,81,81,0,120,81,93,253,135,81,81,0,16,0,0,0,121,6,4,0,1,5,1,0,1,7,90,0,119,0,9,0,0,8,5,0,1,5,1,0,25,7,7,4,45,81,7,18,52,86,0,0,1,7,90,0,119,0,2,0,119,0,56,253,1,81,9,0,1,80,82,0,138,7,81,80,144,87,0,0,180,87,0,0,192,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,204,87,0,0,140,87,0,0,228,87,0,0,140,87,0,0,236,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,44,88,0,0,56,88,0,0,140,87,0,0,76,88,0,0,88,88,0,0,100,88,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,144,88,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,164,88,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,184,88,0,0,196,88,0,0,216,88,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,4,89,0,0,16,89,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,140,87,0,0,36,89,0,0,119,0,105,0,135,5,24,0,135,81,25,0,52,0,0,0,135,81,25,0,40,0,0,0,135,81,79,0,39,0,0,0,1,7,12,0,119,0,96,0,135,5,24,0,1,7,13,0,119,0,93,0,135,5,24,0,1,7,12,0,119,0,90,0,1,83,0,0,135,80,72,0,83,0,0,0,135,81,73,0,80,0,0,0,119,0,84,0,135,59,24,0,119,0,82,0,135,70,24,0,85,61,79,0,85,64,78,0,85,41,76,0,85,39,77,0,135,81,25,0,40,0,0,0,135,81,79,0,39,0,0,0,135,81,80,0,64,0,0,0,135,81,25,0,71,0,0,0,135,81,26,0,70,0,0,0,119,0,1,0,135,5,24,0,1,7,44,0,119,0,63,0,135,5,24,0,135,81,25,0,55,0,0,0,1,7,44,0,119,0,58,0,135,5,24,0,1,7,86,0,119,0,55,0,135,5,24,0,1,7,48,0,119,0,52,0,135,5,24,0,135,81,25,0,45,0,0,0,135,81,25,0,46,0,0,0,135,81,25,0,47,0,0,0,135,81,25,0,56,0,0,0,1,7,48,0,119,0,41,0,135,5,24,0,135,81,25,0,57,0,0,0,1,7,86,0,119,0,36,0,135,5,24,0,135,81,25,0,58,0,0,0,1,7,86,0,119,0,31,0,135,5,24,0,1,7,76,0,119,0,28,0,135,5,24,0,135,81,25,0,53,0,0,0,1,7,76,0,119,0,23,0,135,5,24,0,135,81,25,0,42,0,0,0,135,81,25,0,43,0,0,0,135,81,25,0,44,0,0,0,135,81,25,0,60,0,0,0,1,7,76,0,119,0,12,0,135,5,24,0,1,7,84,0,119,0,9,0,135,5,24,0,135,81,25,0,54,0,0,0,1,7,84,0,119,0,4,0,137,67,0,0,139,5,0,0,119,0,1,0,32,81,7,12,121,81,3,0,1,7,13,0,119,0,28,0,32,81,7,44,121,81,9,0,135,81,25,0,62,0,0,0,0,70,5,0,135,81,25,0,71,0,0,0,135,81,26,0,70,0,0,0,119,0,18,0,32,81,7,48,121,81,5,0,135,81,25,0,65,0,0,0,1,7,86,0,119,0,12,0,32,81,7,76,121,81,5,0,135,81,25,0,66,0,0,0,1,7,86,0,119,0,6,0,32,81,7,84,121,81,4,0,135,81,25,0,63,0,0,0,1,7,86,0,32,81,7,13,121,81,5,0,135,81,80,0,64,0,0,0,0,59,5,0,119,0,14,0,32,81,7,86,121,81,12,0,135,81,25,0,68,0,0,0,135,81,25,0,69,0,0,0,135,81,25,0,70,0,0,0,0,70,5,0,135,81,25,0,71,0,0,0,135,81,26,0,70,0,0,0,0,70,59,0,135,81,25,0,71,0,0,0,135,81,26,0,70,0,0,0,1,81,0,0,139,81,0,0,140,4,38,0,0,0,0,0,2,30,0,0,255,0,0,0,2,31,0,0,98,3,0,0,2,32,0,0,21,119,0,0,1,17,0,0,136,33,0,0,0,20,33,0,136,33,0,0,1,34,224,1,3,33,33,34,137,33,0,0,1,33,176,1,3,28,20,33,1,33,160,1,3,6,20,33,1,33,156,1,3,8,20,33,1,33,152,1,3,9,20,33,1,33,112,1,3,19,20,33,1,33,96,1,3,29,20,33,1,33,44,1,3,16,20,33,1,33,32,1,3,21,20,33,25,22,20,104,25,23,20,68,25,18,20,56,1,33,56,1,3,25,20,33,25,24,20,16,0,27,20,0,25,26,20,120,25,14,20,80,1,33,224,0,3,7,0,33,1,33,228,0,3,4,0,33,82,33,4,0,82,34,7,0,4,33,33,34,42,33,33,3,0,10,33,0,25,34,0,88,135,33,82,0,34,10,0,0,82,5,4,0,1,33,232,0,94,33,0,33,45,33,5,33,4,91,0,0,135,33,83,0,7,2,0,0,119,0,9,0,0,12,2,0,106,13,12,4,0,15,5,0,116,15,12,0,109,15,4,13,82,33,4,0,25,33,33,8,85,4,33,0,25,13,1,36,1,33,36,1,3,4,0,33,82,5,4,0,1,33,40,1,94,33,0,33,45,33,5,33,88,91,0,0,1,34,32,1,3,34,0,34,135,33,84,0,34,13,0,0,119,0,6,0,135,33,78,0,5,13,0,0,82,33,4,0,25,33,33,12,85,4,33,0,1,34,164,1,3,34,0,34,25,35,0,4,135,33,85,0,6,13,34,35,1,33,48,1,3,4,0,33,82,5,4,0,1,33,52,1,94,33,0,33,48,33,5,33,216,91,0,0,116,5,6,0,106,35,6,4,109,5,4,35,106,33,6,8,109,5,8,33,1,33,0,0,85,6,33,0,1,35,0,0,109,6,4,35,1,33,0,0,109,6,8,33,82,33,4,0,25,33,33,12,85,4,33,0,119,0,19,0,1,33,0,0,132,0,0,33,1,35,192,1,1,34,44,1,3,34,0,34,135,33,33,0,35,34,6,0,130,33,0,0,0,15,33,0,1,33,0,0,132,0,0,33,38,33,15,1,121,33,6,0,135,29,24,0,135,33,25,0,6,0,0,0,135,33,26,0,29,0,0,0,135,33,25,0,6,0,0,0,25,5,1,44,25,6,13,1,78,34,1,0,38,34,34,1,32,34,34,0,121,34,4,0,25,34,1,1,0,33,34,0,119,0,3,0,106,34,1,8,0,33,34,0,78,35,13,0,38,35,35,1,32,35,35,0,121,35,3,0,0,34,6,0,119,0,3,0,82,35,5,0,0,34,35,0,82,35,2,0,106,36,2,4,135,11,86,0,33,34,35,36,85,8,11,0,1,36,16,1,3,15,0,36,1,36,20,1,3,12,0,36,82,4,12,0,1,36,24,1,94,36,0,36,45,36,4,36,184,92,0,0,135,36,87,0,15,8,0,0,119,0,5,0,85,4,11,0,82,36,12,0,25,36,36,4,85,12,36,0,82,36,7,0,41,35,10,3,94,7,36,35,78,35,13,0,38,35,35,1,32,35,35,0,121,35,3,0,0,36,6,0,119,0,3,0,82,35,5,0,0,36,35,0,135,4,88,0,36,0,0,0,85,9,4,0,1,36,216,0,3,5,0,36,82,6,5,0,1,36,220,0,94,36,0,36,48,36,6,36,48,93,0,0,85,6,4,0,82,36,5,0,25,4,36,4,85,5,4,0,119,0,6,0,1,35,212,0,3,35,0,35,135,36,89,0,35,9,0,0,82,4,5,0,26,35,4,4,82,35,35,0,135,36,90,0,19,35,7,10,82,6,15,0,82,36,12,0,4,4,36,6,33,36,4,8,121,36,71,1,106,1,11,4,42,36,4,2,26,5,36,2,1,4,0,0,41,35,4,2,94,35,6,35,106,35,35,4,135,36,91,0,35,1,0,0,120,36,2,0,119,0,5,0,25,4,4,1,57,36,5,4,128,98,0,0,119,0,246,255,1,35,245,118,1,34,31,0,135,36,22,0,29,35,34,0,25,11,4,2,1,36,254,255,48,36,4,36,64,97,0,0,25,5,18,8,25,6,18,1,25,1,18,4,25,7,16,8,25,8,16,1,25,9,16,4,1,10,1,0,82,36,15,0,41,34,10,2,94,36,36,34,82,20,36,0,135,26,70,0,20,0,0,0,1,36,0,0,132,0,0,36,1,34,74,0,135,36,23,0,34,23,20,26,130,36,0,0,0,26,36,0,1,36,0,0,132,0,0,36,38,36,26,1,121,36,3,0,1,17,31,0,119,0,152,0,1,36,0,0,132,0,0,36,1,36,50,0,1,34,0,0,135,4,65,0,36,23,34,32,130,34,0,0,0,26,34,0,1,34,0,0,132,0,0,34,38,34,26,1,121,34,3,0,1,17,32,0,119,0,138,0,116,22,4,0,106,36,4,4,109,22,4,36,106,34,4,8,109,22,8,34,1,34,0,0,85,4,34,0,1,36,0,0,109,4,4,36,1,34,0,0,109,4,8,34,1,34,0,0,132,0,0,34,1,34,27,119,135,4,34,0,31,22,34,0,130,34,0,0,0,26,34,0,1,34,0,0,132,0,0,34,38,34,26,1,121,34,3,0,1,17,33,0,119,0,114,0,116,21,4,0,106,36,4,4,109,21,4,36,106,34,4,8,109,21,8,34,1,34,0,0,85,4,34,0,1,36,0,0,109,4,4,36,1,34,0,0,109,4,8,34,25,10,10,1,82,34,15,0,41,36,10,2,94,34,34,36,82,20,34,0,135,26,70,0,20,0,0,0,1,34,0,0,132,0,0,34,1,36,74,0,135,34,23,0,36,18,20,26,130,34,0,0,0,26,34,0,1,34,0,0,132,0,0,34,38,34,26,1,121,34,3,0,1,17,34,0,119,0,83,0,78,4,18,0,38,34,4,1,32,26,34,0,1,34,0,0,132,0,0,34,1,34,46,0,121,26,3,0,0,36,6,0,119,0,3,0,82,35,5,0,0,36,35,0,121,26,5,0,19,33,4,30,43,33,33,1,0,35,33,0,119,0,3,0,82,33,1,0,0,35,33,0,135,4,65,0,34,21,36,35,130,35,0,0,0,26,35,0,1,35,0,0,132,0,0,35,38,35,26,1,121,35,3,0,1,17,35,0,119,0,55,0,116,16,4,0,106,36,4,4,109,16,4,36,106,35,4,8,109,16,8,35,1,35,0,0,85,4,35,0,1,36,0,0,109,4,4,36,1,35,0,0,109,4,8,35,78,26,16,0,38,35,26,1,32,20,35,0,1,35,0,0,132,0,0,35,1,36,46,0,121,20,3,0,0,34,8,0,119,0,3,0,82,33,7,0,0,34,33,0,121,20,5,0,19,37,26,30,43,37,37,1,0,33,37,0,119,0,3,0,82,37,9,0,0,33,37,0,135,35,65,0,36,29,34,33,130,35,0,0,0,26,35,0,1,35,0,0,132,0,0,35,38,35,26,1,121,35,3,0,1,17,36,0,119,0,16,0,135,35,25,0,16,0,0,0,135,35,25,0,18,0,0,0,135,35,25,0,21,0,0,0,135,35,25,0,22,0,0,0,135,35,25,0,23,0,0,0,50,35,11,10,132,96,0,0,1,17,23,0,119,0,49,0,119,0,87,255,32,35,17,31,121,35,3,0,135,4,24,0,119,0,44,0,32,35,17,32,121,35,3,0,135,4,24,0,119,0,22,0,32,35,17,33,121,35,4,0,135,4,24,0,1,17,39,0,119,0,17,0,32,35,17,34,121,35,4,0,135,4,24,0,1,17,38,0,119,0,12,0,32,35,17,35,121,35,4,0,135,4,24,0,1,17,37,0,119,0,7,0,32,35,17,36,121,35,5,0,135,4,24,0,135,35,25,0,16,0,0,0,1,17,37,0,32,35,17,37,121,35,4,0,135,35,25,0,18,0,0,0,1,17,38,0,32,35,17,38,121,35,4,0,135,35,25,0,21,0,0,0,1,17,39,0,32,35,17,39,121,35,3,0,135,35,25,0,22,0,0,0,135,35,25,0,23,0,0,0,119,0,2,0,1,17,23,0,32,35,17,23,121,35,73,0,0,1,25,0,125,4,3,3,19,0,0,0,25,5,1,40,116,1,4,0,25,1,1,4,25,4,4,4,54,35,1,5,92,97,0,0,1,35,76,0,135,6,92,0,35,0,0,0,0,1,24,0,0,4,25,0,25,5,1,40,116,1,4,0,25,1,1,4,25,4,4,4,54,35,1,5,136,97,0,0,1,35,0,0,132,0,0,35,1,33,174,1,135,35,33,0,33,27,29,0,130,35,0,0,0,26,35,0,1,35,0,0,132,0,0,35,38,35,26,1,121,35,3,0,135,4,24,0,119,0,38,0,1,35,0,0,132,0,0,35,0,1,28,0,0,4,24,0,25,5,1,40,116,1,4,0,25,1,1,4,25,4,4,4,54,35,1,5,228,97,0,0,1,33,18,0,135,35,37,0,33,6,28,27,15,0,0,0,130,35,0,0,0,28,35,0,1,35,0,0,132,0,0,35,38,35,28,1,121,35,3,0,1,5,1,0,119,0,11,0,1,35,0,0,132,0,0,35,1,33,77,0,1,34,216,3,1,36,59,0,135,35,23,0,33,6,34,36,1,35,0,0,132,0,0,35,1,5,0,0,135,4,24,0,135,35,25,0,27,0,0,0,120,5,2,0,119,0,3,0,135,35,93,0,6,0,0,0,135,35,25,0,29,0,0,0,0,29,4,0,135,35,26,0,29,0,0,0,0,1,28,0,0,4,19,0,25,5,1,40,116,1,4,0,25,1,1,4,25,4,4,4,54,35,1,5,140,98,0,0,1,36,0,0,135,35,94,0,26,7,0,28,36,0,0,0,1,35,0,0,132,0,0,35,1,36,190,0,135,35,66,0,36,11,0,0,130,35,0,0,0,29,35,0,1,35,0,0,132,0,0,35,38,35,29,1,121,35,3,0,1,17,62,0,119,0,120,0,1,35,0,0,132,0,0,35,1,36,191,0,135,35,66,0,36,11,0,0,130,35,0,0,0,29,35,0,1,35,0,0,132,0,0,35,38,35,29,1,121,35,3,0,1,17,62,0,119,0,107,0,1,35,0,0,132,0,0,35,1,35,194,0,135,6,66,0,35,26,0,0,130,35,0,0,0,29,35,0,1,35,0,0,132,0,0,35,38,35,29,1,121,35,3,0,1,17,62,0,119,0,94,0,1,35,0,0,132,0,0,35,1,36,72,1,82,34,12,0,26,34,34,4,82,34,34,0,135,35,67,0,36,34,0,0,130,35,0,0,0,29,35,0,1,35,0,0,132,0,0,35,38,35,29,1,121,35,3,0,1,17,62,0,119,0,78,0,82,35,12,0,26,35,35,4,85,12,35,0,0,5,2,0,82,4,5,0,106,5,5,4,1,35,0,0,132,0,0,35,1,34,174,1,135,35,33,0,34,14,13,0,130,35,0,0,0,29,35,0,1,35,0,0,132,0,0,35,38,35,29,1,121,35,3,0,1,17,62,0,119,0,59,0,25,29,14,12,85,29,4,0,109,29,4,5,109,14,20,6,1,35,0,0,132,0,0,35,1,34,95,0,1,36,236,0,3,36,0,36,135,35,23,0,34,28,36,14,130,35,0,0,0,29,35,0,1,35,0,0,132,0,0,35,38,35,29,1,121,35,5,0,135,7,24,0,135,35,25,0,14,0,0,0,119,0,38,0,135,35,25,0,14,0,0,0,106,4,26,56,0,5,4,0,121,4,14,0,25,6,26,60,82,1,6,0,46,35,1,4,108,100,0,0,26,35,1,4,4,35,35,5,43,35,35,2,11,35,35,0,41,35,35,2,3,35,1,35,85,6,35,0,135,35,69,0,4,0,0,0,106,6,26,44,120,6,3,0,137,20,0,0,139,0,0,0,25,4,26,48,82,5,4,0,46,35,5,6,176,100,0,0,26,35,5,4,4,35,35,6,43,35,35,2,11,35,35,0,41,35,35,2,3,35,5,35,85,4,35,0,135,35,69,0,6,0,0,0,137,20,0,0,139,0,0,0,32,35,17,62,121,35,2,0,135,7,24,0,106,4,26,56,0,5,4,0,121,4,14,0,25,6,26,60,82,1,6,0,46,35,1,4,4,101,0,0,26,35,1,4,4,35,35,5,43,35,35,2,11,35,35,0,41,35,35,2,3,35,1,35,85,6,35,0,135,35,69,0,4,0,0,0,106,6,26,44,120,6,4,0,0,29,7,0,135,35,26,0,29,0,0,0,25,4,26,48,82,5,4,0,46,35,5,6,76,101,0,0,26,35,5,4,4,35,35,6,43,35,35,2,11,35,35,0,41,35,35,2,3,35,5,35,85,4,35,0,135,35,69,0,6,0,0,0,0,29,7,0,135,35,26,0,29,0,0,0,139,0,0,0,140,4,30,0,0,0,0,0,2,22,0,0,238,169,0,0,2,23,0,0,255,0,0,0,2,24,0,0,234,167,0,0,1,16,0,0,136,25,0,0,0,18,25,0,136,25,0,0,1,26,240,0,3,25,25,26,137,25,0,0,1,25,192,0,3,14,18,25,1,25,180,0,3,20,18,25,25,15,18,24,1,25,168,0,3,10,18,25,25,13,18,16,0,17,18,0,135,25,95,0,20,1,2,0,25,19,20,4,82,12,20,0,82,25,19,0,4,4,25,12,1,25,1,0,28,26,4,48,48,25,25,26,232,107,0,0,25,11,15,64,25,4,15,8,1,25,44,32,85,4,25,0,25,9,15,12,1,25,248,32,85,15,25,0,1,25,12,33,85,11,25,0,1,26,0,0,109,15,4,26,1,26,0,0,132,0,0,26,1,25,196,1,25,27,15,64,135,26,33,0,25,27,9,0,130,26,0,0,0,1,26,0,1,26,0,0,132,0,0,26,38,26,1,1,121,26,3,0,135,4,24,0,119,0,99,1,1,26,136,0,1,27,0,0,97,15,26,27,1,27,140,0,1,26,255,255,97,15,27,26,1,26,24,32,85,15,26,0,1,26,64,32,85,11,26,0,1,26,44,32,85,4,26,0,1,26,0,0,132,0,0,26,1,27,68,1,135,26,67,0,27,9,0,0,130,26,0,0,0,1,26,0,1,26,0,0,132,0,0,26,38,26,1,1,121,26,3,0,135,4,24,0,119,0,74,1,1,26,80,32,85,9,26,0,25,7,15,44,1,26,0,0,85,7,26,0,1,27,0,0,109,7,4,27,1,26,0,0,109,7,8,26,1,27,0,0,109,7,12,27,1,26,24,0,109,15,60,26,1,26,0,0,85,14,26,0,1,27,0,0,109,14,4,27,1,26,0,0,109,14,8,26,1,26,0,0,132,0,0,26,1,27,197,1,135,26,33,0,27,9,14,0,130,26,0,0,0,1,26,0,1,26,0,0,132,0,0,26,38,26,1,1,121,26,9,0,135,4,24,0,135,26,25,0,14,0,0,0,135,26,25,0,7,0,0,0,135,26,79,0,9,0,0,0,119,0,36,1,135,26,25,0,14,0,0,0,25,8,15,8,1,26,0,0,132,0,0,26,1,27,49,0,1,25,99,119,1,28,40,0,135,26,65,0,27,8,25,28,130,26,0,0,0,1,26,0,1,26,0,0,132,0,0,26,38,26,1,1,121,26,3,0,1,16,23,0,119,0,255,0,1,26,0,0,132,0,0,26,1,26,49,0,1,28,140,119,1,25,10,0,135,4,65,0,26,8,28,25,130,25,0,0,0,1,25,0,1,25,0,0,132,0,0,25,38,25,1,1,121,25,3,0,1,16,23,0,119,0,240,0,78,1,2,0,38,25,1,1,32,13,25,0,1,25,0,0,132,0,0,25,1,25,49,0,121,13,4,0,25,26,2,1,0,28,26,0,119,0,3,0,106,26,2,8,0,28,26,0,121,13,5,0,19,27,1,23,43,27,27,1,0,26,27,0,119,0,3,0,106,27,2,4,0,26,27,0,135,4,65,0,25,4,28,26,130,26,0,0,0,1,26,0,1,26,0,0,132,0,0,26,38,26,1,1,121,26,3,0,1,16,23,0,119,0,211,0,1,26,0,0,132,0,0,26,1,26,49,0,1,28,151,119,1,25,3,0,135,4,65,0,26,4,28,25,130,25,0,0,0,1,25,0,1,25,0,0,132,0,0,25,38,25,1,1,121,25,3,0,1,16,23,0,119,0,196,0,1,25,0,0,132,0,0,25,1,28,49,0,1,26,1,0,135,25,65,0,28,4,22,26,130,25,0,0,0,1,25,0,1,25,0,0,132,0,0,25,38,25,1,1,121,25,3,0,1,16,23,0,119,0,182,0,1,25,0,0,132,0,0,25,1,25,49,0,1,26,155,119,1,28,11,0,135,4,65,0,25,8,26,28,130,28,0,0,0,1,28,0,1,28,0,0,132,0,0,28,38,28,1,1,121,28,3,0,1,16,23,0,119,0,167,0,1,28,0,0,132,0,0,28,1,26,49,0,1,25,1,0,135,28,65,0,26,4,22,25,130,28,0,0,0,1,28,0,1,28,0,0,132,0,0,28,38,28,1,1,121,28,3,0,1,16,23,0,119,0,153,0,82,13,19,0,82,1,20,0,4,28,13,1,28,5,28,48,46,28,13,1,64,106,0,0,1,6,0,0,1,28,0,0,132,0,0,28,1,28,49,0,1,25,2,0,135,4,65,0,28,8,24,25,130,25,0,0,0,1,25,0,1,25,0,0,132,0,0,25,38,25,1,1,120,25,48,0,82,1,20,0,27,25,6,48,3,1,1,25,0,21,1,0,78,13,21,0,38,25,13,1,32,12,25,0,1,25,0,0,132,0,0,25,1,25,49,0,121,12,4,0,25,26,21,1,0,28,26,0,119,0,3,0,106,26,1,8,0,28,26,0,121,12,5,0,19,27,13,23,43,27,27,1,0,26,27,0,119,0,3,0,106,27,1,4,0,26,27,0,135,4,65,0,25,4,28,26,130,26,0,0,0,1,26,0,1,26,0,0,132,0,0,26,38,26,1,1,120,26,17,0,1,26,0,0,132,0,0,26,1,28,49,0,1,25,1,0,135,26,65,0,28,4,22,25,130,26,0,0,0,21,26,0,1,26,0,0,132,0,0,26,38,26,21,1,120,26,5,0,25,6,6,1,57,26,5,6,64,106,0,0,119,0,198,255,135,6,24,0,1,16,24,0,119,0,84,0,1,26,0,0,132,0,0,26,1,26,49,0,1,25,167,119,1,28,51,0,135,4,65,0,26,8,25,28,130,28,0,0,0,21,28,0,1,28,0,0,132,0,0,28,38,28,21,1,121,28,3,0,1,16,23,0,119,0,69,0,1,28,0,0,132,0,0,28,1,25,49,0,1,26,1,0,135,28,65,0,25,4,22,26,130,28,0,0,0,21,28,0,1,28,0,0,132,0,0,28,38,28,21,1,121,28,3,0,1,16,23,0,119,0,55,0,1,28,0,0,132,0,0,28,1,26,198,1,135,28,33,0,26,10,9,0,130,28,0,0,0,21,28,0,1,28,0,0,132,0,0,28,38,28,21,1,121,28,3,0,1,16,23,0,119,0,42,0,1,28,0,0,132,0,0,28,0,6,14,0,0,4,3,0,25,5,6,40,116,6,4,0,25,6,6,4,25,4,4,4,54,28,6,5,252,106,0,0,1,26,182,1,135,28,33,0,26,10,14,0,130,28,0,0,0,21,28,0,1,28,0,0,132,0,0,28,38,28,21,1,121,28,5,0,135,6,24,0,135,28,25,0,10,0,0,0,119,0,19,0,135,28,25,0,10,0,0,0,1,28,24,32,85,15,28,0,1,28,64,32,85,11,28,0,1,28,44,32,85,8,28,0,1,28,80,32,85,9,28,0,135,28,25,0,7,0,0,0,135,28,79,0,9,0,0,0,135,28,80,0,11,0,0,0,1,16,49,0,119,0,181,0,32,28,16,23,121,28,3,0,135,6,24,0,1,16,24,0,1,28,24,32,85,15,28,0,1,28,64,32,85,11,28,0,1,28,44,32,85,8,28,0,1,28,80,32,85,9,28,0,135,28,25,0,7,0,0,0,135,28,79,0,9,0,0,0,135,28,80,0,11,0,0,0,119,0,162,0,135,28,80,0,11,0,0,0,1,16,21,0,119,0,158,0,32,28,4,48,121,28,155,0,25,9,12,36,1,28,96,1,94,28,1,28,1,26,92,1,94,26,1,26,45,28,28,26,140,109,0,0,1,28,240,0,94,4,1,28,121,4,94,0,78,10,9,0,38,28,10,1,32,11,28,0,121,11,5,0,19,26,10,23,43,26,26,1,0,28,26,0,119,0,3,0,106,26,12,40,0,28,26,0,0,10,28,0,121,11,4,0,25,26,9,1,0,28,26,0,119,0,3,0,106,26,12,44,0,28,26,0,0,11,28,0,25,6,4,16,78,5,6,0,38,28,5,1,32,7,28,0,121,7,5,0,19,26,5,23,43,26,26,1,0,28,26,0,119,0,3,0,106,26,4,20,0,28,26,0,0,5,28,0,121,7,4,0,25,26,6,1,0,28,26,0,119,0,3,0,106,26,4,24,0,28,26,0,0,6,28,0,16,7,5,10,125,28,7,5,10,0,0,0,135,21,96,0,11,6,28,0,16,8,10,5,1,28,0,0,32,25,21,0,121,25,8,0,2,27,0,0,0,0,0,128,1,29,0,0,125,25,8,27,29,0,0,0,0,26,25,0,119,0,2,0,0,26,21,0,49,28,28,26,64,109,0,0,125,28,8,10,5,0,0,0,135,21,96,0,6,11,28,0,1,28,0,0,32,25,21,0,121,25,8,0,2,29,0,0,0,0,0,128,1,27,0,0,125,25,7,29,27,0,0,0,0,26,25,0,119,0,2,0,0,26,21,0,56,28,28,26,76,109,0,0,25,4,4,4,82,4,4,0,120,4,199,255,119,0,17,0,1,28,0,0,132,0,0,28,1,26,219,1,135,28,33,0,26,0,12,0,130,28,0,0,0,21,28,0,1,28,0,0,132,0,0,28,38,28,21,1,121,28,3,0,1,16,20,0,119,0,56,0,0,4,20,0,1,16,53,0,119,0,53,0,1,28,0,0,132,0,0,28,1,28,193,0,135,4,66,0,28,9,0,0,130,28,0,0,0,21,28,0,1,28,0,0,132,0,0,28,38,28,21,1,121,28,3,0,1,16,20,0,119,0,40,0,120,4,3,0,1,16,49,0,119,0,37,0,82,21,20,0,85,13,4,0,1,26,0,0,109,13,4,26,1,26,0,0,132,0,0,26,1,28,17,0,135,26,37,0,28,1,21,13,3,0,0,0,130,26,0,0,0,21,26,0,1,26,0,0,132,0,0,26,38,26,21,1,121,26,3,0,1,16,20,0,119,0,19,0,1,26,0,0,132,0,0,26,1,28,219,1,82,25,20,0,135,26,33,0,28,0,25,0,130,26,0,0,0,21,26,0,1,26,0,0,132,0,0,26,38,26,21,1,121,26,3,0,1,16,20,0,119,0,5,0,0,4,20,0,1,16,53,0,119,0,2,0,1,16,49,0,32,26,16,49,121,26,37,0,1,26,0,0,132,0,0,26,1,25,74,0,2,28,0,0,17,49,1,0,1,27,0,0,135,26,23,0,25,17,28,27,130,26,0,0,0,21,26,0,1,26,0,0,132,0,0,26,38,26,21,1,121,26,3,0,1,16,20,0,119,0,21,0,1,26,0,0,132,0,0,26,1,27,94,0,135,26,23,0,27,0,2,17,130,26,0,0,0,21,26,0,1,26,0,0,132,0,0,26,38,26,21,1,121,26,5,0,135,6,24,0,135,26,25,0,17,0,0,0,119,0,6,0,135,26,25,0,17,0,0,0,0,4,20,0,1,16,53,0,119,0,1,0,32,26,16,20,121,26,4,0,135,4,24,0,1,16,21,0,119,0,31,0,32,26,16,53,121,26,29,0,82,4,4,0,120,4,3,0,137,18,0,0,139,0,0,0,82,5,19,0,46,26,5,4,112,111,0,0,26,21,5,48,85,19,21,0,26,27,5,12,135,26,25,0,27,0,0,0,26,27,5,24,135,26,25,0,27,0,0,0,26,27,5,36,135,26,25,0,27,0,0,0,135,26,25,0,21,0,0,0,82,5,19,0,53,26,5,4,44,111,0,0,82,4,20,0,135,26,69,0,4,0,0,0,137,18,0,0,139,0,0,0,32,26,16,21,121,26,2,0,0,6,4,0,82,4,20,0,120,4,3,0,135,26,26,0,6,0,0,0,82,5,19,0,46,26,5,4,236,111,0,0,26,21,5,48,85,19,21,0,26,27,5,12,135,26,25,0,27,0,0,0,26,27,5,24,135,26,25,0,27,0,0,0,26,27,5,36,135,26,25,0,27,0,0,0,135,26,25,0,21,0,0,0,82,5,19,0,53,26,5,4,168,111,0,0,82,4,20,0,135,26,69,0,4,0,0,0,135,26,26,0,6,0,0,0,139,0,0,0,140,1,26,0,0,0,0,0,2,20,0,0,174,1,0,0,2,21,0,0,75,187,0,0,2,22,0,0,206,1,0,0,1,18,0,0,136,23,0,0,0,14,23,0,136,23,0,0,1,24,208,0,3,23,23,24,137,23,0,0,1,23,172,0,3,2,14,23,1,23,160,0,3,3,14,23,1,23,184,0,3,19,14,23,1,23,140,0,3,6,14,23,1,23,128,0,3,5,14,23,1,23,156,0,3,7,14,23,1,23,152,0,3,12,14,23,25,10,14,80,25,15,14,44,25,17,14,32,25,16,14,20,25,13,14,8,0,11,14,0,1,23,188,1,3,9,0,23,82,1,9,0,120,1,4,0,1,19,0,0,137,14,0,0,139,19,0,0,106,23,0,16,102,23,23,20,121,23,29,0,135,24,70,0,1,0,0,0,135,23,22,0,2,1,24,0,1,23,0,0,132,0,0,23,1,23,100,3,1,24,33,0,135,1,34,0,23,2,24,0,130,24,0,0,0,8,24,0,1,24,0,0,132,0,0,24,38,24,8,1,120,24,8,0,135,24,25,0,2,0,0,0,82,23,9,0,135,24,97,0,23,0,0,0,85,9,1,0,119,0,6,0,135,19,24,0,135,24,25,0,2,0,0,0,135,24,26,0,19,0,0,0,25,4,0,20,1,24,140,1,3,8,0,24,78,1,8,0,38,24,1,1,120,24,6,0,1,24,255,0,19,24,1,24,43,24,24,1,0,1,24,0,119,0,3,0,1,24,144,1,94,1,0,24,120,1,7,0,2,23,0,0,3,173,0,0,1,25,5,0,135,24,22,0,3,23,25,0,119,0,3,0,135,24,78,0,3,8,0,0,1,24,0,0,132,0,0,24,1,25,86,3,135,24,34,0,25,4,3,0,130,24,0,0,0,2,24,0,1,24,0,0,132,0,0,24,38,24,2,1,121,24,6,0,135,19,24,0,135,24,25,0,3,0,0,0,135,24,26,0,19,0,0,0,135,24,25,0,3,0,0,0,1,25,1,0,135,24,22,0,6,21,25,0,1,24,0,0,132,0,0,24,1,25,73,1,135,24,67,0,25,5,0,0,130,24,0,0,0,3,24,0,1,24,0,0,132,0,0,24,38,24,3,1,121,24,3,0,135,1,24,0,119,0,23,1,1,24,0,0,132,0,0,24,1,25,16,0,135,24,37,0,25,19,4,6,5,0,0,0,130,24,0,0,0,3,24,0,1,24,0,0,132,0,0,24,38,24,3,1,121,24,5,0,135,1,24,0,135,24,25,0,5,0,0,0,119,0,7,1,135,24,25,0,5,0,0,0,135,24,25,0,6,0,0,0,1,24,0,0,132,0,0,24,1,24,192,0,78,23,19,0,38,23,23,1,32,23,23,0,121,23,4,0,25,23,19,1,0,25,23,0,119,0,3,0,106,23,19,8,0,25,23,0,135,3,66,0,24,25,0,0,130,25,0,0,0,6,25,0,1,25,0,0,132,0,0,25,38,25,6,1,121,25,3,0,1,18,38,0,119,0,229,0,85,7,3,0,1,25,216,0,3,1,0,25,82,2,1,0,1,25,220,0,94,25,0,25,45,25,2,25,8,115,0,0,1,25,0,0,132,0,0,25,1,24,209,1,1,23,212,0,3,23,0,23,135,25,33,0,24,23,7,0,130,25,0,0,0,7,25,0,1,25,0,0,132,0,0,25,38,25,7,1,121,25,7,0,1,18,38,0,119,0,206,0,85,2,3,0,82,25,1,0,25,25,25,4,85,1,25,0,78,25,4,0,38,25,25,1,120,25,3,0,25,1,4,1,119,0,2,0,106,1,0,28,1,25,192,1,3,4,0,25,1,25,0,0,132,0,0,25,1,25,7,0,82,23,9,0,82,24,4,0,135,1,98,0,25,1,3,23,24,0,0,0,130,24,0,0,0,7,24,0,1,24,0,0,132,0,0,24,38,24,7,1,121,24,3,0,1,18,38,0,119,0,178,0,85,12,1,0,1,24,20,1,3,2,0,24,82,3,2,0,1,24,24,1,94,24,0,24,45,24,3,24,208,115,0,0,1,24,0,0,132,0,0,24,1,23,16,1,3,23,0,23,135,24,33,0,22,23,12,0,130,24,0,0,0,12,24,0,1,24,0,0,132,0,0,24,38,24,12,1,121,24,7,0,1,18,38,0,119,0,156,0,85,3,1,0,82,24,2,0,25,24,24,4,85,2,24,0,1,24,0,0,132,0,0,24,135,24,33,0,20,17,8,0,130,24,0,0,0,12,24,0,1,24,0,0,132,0,0,24,38,24,12,1,121,24,3,0,1,18,38,0,119,0,140,0,1,24,0,0,132,0,0,24,1,23,74,0,1,25,1,0,135,24,23,0,23,16,21,25,130,24,0,0,0,12,24,0,1,24,0,0,132,0,0,24,38,24,12,1,121,24,3,0,135,1,24,0,119,0,124,0,1,24,0,0,132,0,0,24,1,25,93,0,135,24,23,0,25,15,17,16,130,24,0,0,0,12,24,0,1,24,0,0,132,0,0,24,38,24,12,1,121,24,3,0,135,1,24,0,119,0,109,0,1,24,0,0,132,0,0,24,135,24,33,0,20,13,8,0,130,24,0,0,0,12,24,0,1,24,0,0,132,0,0,24,38,24,12,1,121,24,3,0,135,1,24,0,119,0,89,0,1,24,0,0,132,0,0,24,1,25,94,0,135,24,23,0,25,10,15,13,130,24,0,0,0,12,24,0,1,24,0,0,132,0,0,24,38,24,12,1,121,24,3,0,135,1,24,0,119,0,74,0,82,12,4,0,116,11,9,0,109,11,4,12,1,24,0,0,132,0,0,24,1,25,17,0,1,23,0,0,135,24,37,0,25,0,10,11,23,0,0,0,130,24,0,0,0,12,24,0,1,24,0,0,132,0,0,24,38,24,12,1,121,24,14,0,135,1,24,0,25,23,10,36,135,24,25,0,23,0,0,0,25,23,10,24,135,24,25,0,23,0,0,0,25,23,10,12,135,24,25,0,23,0,0,0,135,24,25,0,10,0,0,0,119,0,45,0,25,23,10,36,135,24,25,0,23,0,0,0,25,23,10,24,135,24,25,0,23,0,0,0,25,23,10,12,135,24,25,0,23,0,0,0,135,24,25,0,10,0,0,0,135,24,25,0,13,0,0,0,25,23,15,24,135,24,25,0,23,0,0,0,25,23,15,12,135,24,25,0,23,0,0,0,135,24,25,0,15,0,0,0,135,24,25,0,16,0,0,0,135,24,25,0,17,0,0,0,1,24,0,0,132,0,0,24,82,24,0,0,106,24,24,12,135,1,66,0,24,0,0,0,130,24,0,0,0,18,24,0,1,24,0,0,132,0,0,24,38,24,18,1,121,24,3,0,1,18,38,0,119,0,20,0,135,24,25,0,19,0,0,0,0,19,1,0,137,14,0,0,139,19,0,0,135,24,25,0,13,0,0,0,25,23,15,24,135,24,25,0,23,0,0,0,25,23,15,12,135,24,25,0,23,0,0,0,135,24,25,0,15,0,0,0,135,24,25,0,16,0,0,0,135,24,25,0,17,0,0,0,32,24,18,38,121,24,2,0,135,1,24,0,135,24,25,0,19,0,0,0,0,19,1,0,135,24,26,0,19,0,0,0,135,24,25,0,6,0,0,0,0,19,1,0,135,24,26,0,19,0,0,0,1,24,0,0,139,24,0,0,140,1,21,0,0,0,0,0,2,15,0,0,50,1,0,0,2,16,0,0,32,17,0,0,1,12,0,0,136,17,0,0,0,13,17,0,136,17,0,0,25,17,17,48,137,17,0,0,25,9,13,24,25,7,13,12,0,6,13,0,120,0,4,0,1,0,1,0,137,13,0,0,139,0,0,0,82,17,0,0,1,19,0,0,1,20,2,0,138,17,19,20,236,118,0,0,208,123,0,0,1,14,255,255,137,13,0,0,139,14,0,0,119,0,62,1,106,8,0,4,120,8,4,0,1,0,1,0,137,13,0,0,139,0,0,0,106,3,0,8,120,3,4,0,1,0,1,0,137,13,0,0,139,0,0,0,106,1,8,80,121,1,4,0,0,0,1,0,137,13,0,0,139,0,0,0,1,18,28,1,97,3,18,0,1,18,1,0,85,0,18,0,1,18,0,0,132,0,0,18,1,18,101,3,106,19,8,24,2,20,0,0,17,49,1,0,135,1,34,0,18,19,20,0,130,20,0,0,0,5,20,0,1,20,0,0,132,0,0,20,38,20,5,1,121,20,3,0,1,12,13,0,119,0,168,0,135,5,70,0,1,0,0,0,1,20,0,0,132,0,0,20,1,19,74,0,135,20,23,0,19,9,1,5,130,20,0,0,0,5,20,0,1,20,0,0,132,0,0,20,38,20,5,1,121,20,3,0,1,12,13,0,119,0,153,0,1,20,0,0,132,0,0,20,1,20,101,3,106,19,8,28,2,18,0,0,17,49,1,0,135,1,34,0,20,19,18,0,130,18,0,0,0,5,18,0,1,18,0,0,132,0,0,18,38,18,5,1,121,18,3,0,1,12,14,0,119,0,129,0,135,5,70,0,1,0,0,0,1,18,0,0],eb+20480);HEAPU8.set([132,0,0,18,1,19,74,0,135,18,23,0,19,7,1,5,130,18,0,0,0,5,18,0,1,18,0,0,132,0,0,18,38,18,5,1,121,18,3,0,1,12,14,0,119,0,114,0,106,18,8,68,32,2,18,2,1,18,0,0,132,0,0,18,82,18,3,0,106,18,18,8,135,1,66,0,18,3,0,0,130,18,0,0,0,5,18,0,1,18,0,0,132,0,0,18,38,18,5,1,121,18,3,0,1,12,15,0,119,0,91,0,120,1,3,0,1,1,0,0,119,0,82,0,1,18,0,0,132,0,0,18,1,19,32,0,106,20,3,32,135,18,37,0,19,6,3,2,20,0,0,0,130,18,0,0,0,5,18,0,1,18,0,0,132,0,0,18,38,18,5,1,121,18,3,0,1,12,15,0,119,0,73,0,1,18,0,0,132,0,0,18,1,18,102,0,25,20,8,112,1,19,0,0,135,2,65,0,18,6,20,19,130,19,0,0,0,5,19,0,1,19,0,0,132,0,0,19,38,19,5,1,121,19,22,0,1,19,0,0,135,1,72,0,19,0,0,0,82,2,6,0,120,2,2,0,119,0,54,0,25,4,6,4,82,3,4,0,46,19,3,2,52,121,0,0,26,5,3,12,85,4,5,0,135,19,25,0,5,0,0,0,82,3,4,0,53,19,3,2,20,121,0,0,82,2,6,0,135,19,69,0,2,0,0,0,119,0,39,0,32,5,2,0,82,2,6,0,121,2,15,0,25,4,6,4,82,3,4,0,46,19,3,2,124,121,0,0,26,14,3,12,85,4,14,0,135,19,25,0,14,0,0,0,82,3,4,0,53,19,3,2,92,121,0,0,82,2,6,0,135,19,69,0,2,0,0,0,121,5,15,0,1,19,4,0,135,12,92,0,19,0,0,0,135,19,99,0,12,0,0,0,1,19,0,0,132,0,0,19,1,20,77,0,135,19,23,0,20,12,16,15,1,19,0,0,132,0,0,19,1,12,15,0,119,0,7,0,135,19,25,0,7,0,0,0,135,19,25,0,9,0,0,0,0,10,1,0,119,0,16,0,32,19,12,15,121,19,4,0,1,19,0,0,135,1,72,0,19,0,0,0,135,19,25,0,7,0,0,0,32,19,12,14,121,19,4,0,1,19,0,0,135,1,72,0,19,0,0,0,135,19,25,0,9,0,0,0,1,12,33,0,32,19,12,13,121,19,5,0,1,19,0,0,135,1,72,0,19,0,0,0,1,12,33,0,32,19,12,33,121,19,99,0,135,19,100,0,1,0,0,0,1,19,0,0,132,0,0,19,1,20,1,1,135,19,66,0,20,8,0,0,130,19,0,0,0,14,19,0,1,19,0,0,132,0,0,19,38,19,14,1,121,19,70,0,1,19,0,0,135,14,72,0,19,0,0,0,135,19,100,0,14,0,0,0,1,19,0,0,132,0,0,19,1,20,1,1,135,19,66,0,20,8,0,0,130,19,0,0,0,14,19,0,1,19,0,0,132,0,0,19,38,19,14,1,121,19,21,0,135,1,24,0,1,19,0,0,132,0,0,19,1,20,3,0,135,19,101,0,20,0,0,0,130,19,0,0,0,14,19,0,1,19,0,0,132,0,0,19,38,19,14,1,121,19,7,0,1,19,0,0,135,14,72,0,19,0,0,0,135,19,73,0,14,0,0,0,119,0,16,0,0,11,1,0,119,0,14,0,1,19,0,0,132,0,0,19,1,20,3,0,135,19,101,0,20,0,0,0,130,19,0,0,0,14,19,0,1,19,0,0,132,0,0,19,38,19,14,1,120,19,2,0,119,0,22,0,135,11,24,0,1,19,0,0,132,0,0,19,1,20,3,0,135,19,101,0,20,0,0,0,130,19,0,0,0,14,19,0,1,19,0,0,132,0,0,19,38,19,14,1,121,19,7,0,1,19,0,0,135,14,72,0,19,0,0,0,135,19,73,0,14,0,0,0,119,0,4,0,0,14,11,0,135,19,102,0,14,0,0,0,1,19,0,0,132,0,0,19,1,20,3,0,135,19,101,0,20,0,0,0,130,19,0,0,0,14,19,0,1,19,0,0,132,0,0,19,38,19,14,1,121,19,5,0,135,14,24,0,135,19,102,0,14,0,0,0,119,0,2,0,1,10,0,0,109,0,12,10,1,14,0,0,137,13,0,0,139,14,0,0,119,0,1,0,1,14,0,0,137,13,0,0,139,14,0,0,119,0,192,254,1,17,0,0,139,17,0,0,140,1,20,0,0,0,0,0,136,16,0,0,0,13,16,0,136,16,0,0,25,16,16,80,137,16,0,0,0,4,13,0,25,12,13,64,25,14,13,68,25,15,13,52,25,10,13,40,25,3,0,40,82,16,3,0,25,1,16,36,1,16,88,0,135,2,31,0,1,16,0,0,25,11,0,108,0,6,4,0,0,7,11,0,25,8,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,16,6,8,64,124,0,0,1,17,0,0,109,2,4,17,25,6,2,8,0,7,4,0,25,8,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,17,6,8,104,124,0,0,1,16,0,0,109,2,52,16,1,17,0,0,109,2,56,17,1,16,0,0,107,2,60,16,1,17,0,0,109,2,68,17,1,16,0,0,109,2,72,16,1,17,0,0,109,2,76,17,1,17,192,37,85,2,17,0,1,16,28,38,109,2,64,16,1,17,1,0,107,2,84,17,1,16,0,0,107,2,85,16,1,17,0,0,107,2,86,17,1,16,0,0,107,2,87,16,135,9,40,0,1,2,0,0,85,12,9,0,135,16,103,0,0,0,0,0,82,1,3,0,0,5,9,0,1,16,228,0,94,16,1,16,1,17,224,0,94,17,1,17,4,16,16,17,32,16,16,8,121,16,14,0,106,2,0,12,0,6,4,0,0,7,11,0,25,8,6,40,116,6,7,0,25,6,6,4,25,7,7,4,54,16,6,8,36,125,0,0,135,16,104,0,1,9,2,4,1,3,1,0,119,0,2,0,1,3,0,0,25,1,0,48,82,2,1,0,106,16,0,52,45,16,2,16,112,125,0,0,25,17,0,44,135,16,105,0,17,12,0,0,119,0,5,0,85,2,5,0,82,16,1,0,25,16,16,4,85,1,16,0,134,16,0,0,240,132,0,0,0,3,0,0,82,16,1,0,26,16,16,4,85,1,16,0,135,16,106,0,9,11,0,0,106,16,0,76,106,17,0,80,45,16,16,17,184,125,0,0,137,13,0,0,139,9,0,0,2,17,0,0,226,155,0,0,1,18,11,0,135,16,22,0,14,17,18,0,1,16,0,0,132,0,0,16,1,18,74,0,2,17,0,0,238,155,0,0,1,19,7,0,135,16,23,0,18,15,17,19,130,16,0,0,0,12,16,0,1,16,0,0,132,0,0,16,38,16,12,1,121,16,6,0,135,15,24,0,135,16,25,0,14,0,0,0,135,16,26,0,15,0,0,0,1,16,0,0,132,0,0,16,1,19,74,0,2,17,0,0,176,166,0,0,1,18,36,0,135,16,23,0,19,10,17,18,130,16,0,0,0,12,16,0,1,16,0,0,132,0,0,16,38,16,12,1,121,16,3,0,135,1,24,0,119,0,25,0,1,16,0,0,132,0,0,16,1,18,31,0,135,16,37,0,18,0,14,15,10,0,0,0,130,16,0,0,0,0,16,0,1,16,0,0,132,0,0,16,38,16,0,1,121,16,5,0,135,1,24,0,135,16,25,0,10,0,0,0,119,0,9,0,135,16,25,0,10,0,0,0,135,16,25,0,15,0,0,0,135,16,25,0,14,0,0,0,137,13,0,0,139,9,0,0,135,16,25,0,15,0,0,0,0,15,1,0,135,16,25,0,14,0,0,0,135,16,26,0,15,0,0,0,1,16,0,0,139,16,0,0,140,1,9,0,0,0,0,0,120,0,3,0,1,4,1,0,139,4,0,0,106,1,0,80,121,1,3,0,0,4,1,0,139,4,0,0,25,2,0,116,82,5,2,0,121,5,38,0,1,5,196,1,135,1,107,0,5,0,0,0,1,5,0,0,132,0,0,5,1,6,38,2,135,5,33,0,6,1,0,0,130,5,0,0,0,4,5,0,1,5,0,0,132,0,0,5,38,5,4,1,121,5,7,0,135,4,24,0,135,5,69,0,1,0,0,0,135,5,26,0,4,0,0,0,119,0,18,0,1,5,248,34,85,1,5,0,1,5,188,1,82,6,2,0,97,1,5,6,25,4,0,120,1,6,192,1,82,5,4,0,97,1,6,5,1,5,0,0,85,2,5,0,1,5,0,0,85,4,5,0,134,4,0,0,16,131,0,0,0,1,0,0,139,4,0,0,1,5,8,0,135,1,92,0,5,0,0,0,1,5,0,0,132,0,0,5,1,6,188,1,2,7,0,0,135,169,0,0,135,5,33,0,6,1,7,0,130,5,0,0,0,2,5,0,1,5,0,0,132,0,0,5,38,5,2,1,121,5,8,0,1,5,0,0,135,2,72,0,5,0,0,0,135,5,93,0,1,0,0,0,0,1,2,0,119,0,13,0,1,5,0,0,132,0,0,5,1,7,77,0,1,6,64,17,1,8,54,1,135,5,23,0,7,1,6,8,1,5,0,0,132,0,0,5,1,5,0,0,135,1,72,0,5,0,0,0,135,5,100,0,1,0,0,0,1,5,0,0,132,0,0,5,1,5,1,1,135,1,66,0,5,0,0,0,130,5,0,0,0,2,5,0,1,5,0,0,132,0,0,5,38,5,2,1,121,5,71,0,1,5,0,0,135,1,72,0,5,0,0,0,135,5,100,0,1,0,0,0,1,5,0,0,132,0,0,5,1,5,1,1,135,1,66,0,5,0,0,0,130,5,0,0,0,0,5,0,1,5,0,0,132,0,0,5,38,5,0,1,121,5,21,0,135,1,24,0,1,5,0,0,132,0,0,5,1,8,3,0,135,5,101,0,8,0,0,0,130,5,0,0,0,0,5,0,1,5,0,0,132,0,0,5,38,5,0,1,121,5,7,0,1,5,0,0,135,0,72,0,5,0,0,0,135,5,73,0,0,0,0,0,119,0,17,0,0,4,1,0,119,0,15,0,1,5,0,0,132,0,0,5,1,8,3,0,135,5,101,0,8,0,0,0,130,5,0,0,0,4,5,0,1,5,0,0,132,0,0,5,38,5,4,1,120,5,3,0,0,3,1,0,119,0,23,0,135,4,24,0,1,5,0,0,132,0,0,5,1,8,3,0,135,5,101,0,8,0,0,0,130,5,0,0,0,0,5,0,1,5,0,0,132,0,0,5,38,5,0,1,121,5,7,0,1,5,0,0,135,4,72,0,5,0,0,0,135,5,73,0,4,0,0,0,119,0,5,0,135,5,26,0,4,0,0,0,119,0,2,0,0,3,1,0,135,5,108,0,39,5,3,1,0,4,5,0,139,4,0,0,140,17,26,0,0,0,0,0,135,0,109,0,0,0,0,0,121,2,7,0,135,19,110,0,0,0,0,0,135,17,111,0,19,0,0,0,1,18,0,0,119,0,6,0,135,18,112,0,0,0,0,0,135,17,113,0,18,0,0,0,1,19,0,0,135,0,114,0,17,0,0,0,1,20,255,255,47,20,20,5,232,129,0,0,135,20,115,0,0,5,0,0,135,20,116,0,0,4,0,0,135,20,117,0,0,6,0,0,135,20,118,0,0,9,0,0,135,20,119,0,0,8,0,0,135,20,120,0,0,10,0,0,135,20,121,0,0,7,0,0,135,20,122,0,0,15,0,0,135,20,123,0,0,16,0,0,135,20,124,0,0,13,0,0,135,20,125,0,0,14,0,0,135,20,126,0,0,1,0,0,135,20,127,0,0,12,0,0,135,20,128,0,0,11,0,0,121,3,14,0,1,20,1,0,135,11,129,0,20,0,0,0,1,21,0,0,1,23,103,0,59,24,0,0,1,25,0,0,135,22,130,0,23,24,25,0,135,20,131,0,11,21,22,0,135,20,132,0,0,11,0,0,121,2,4,0,135,0,133,0,19,0,0,0,119,0,4,0,134,0,0,0,220,126,0,0,18,0,0,0,120,0,11,0,135,12,134,0,17,0,0,0,135,11,135,0,17,0,0,0,1,22,0,0,135,21,136,0,17,0,0,0,135,20,137,0,22,12,11,21,119,0,8,0,135,11,138,0,17,0,0,0,1,21,1,0,135,22,139,0,17,0,0,0,135,20,140,0,21,11,22,0,121,2,5,0,135,20,141,0,19,0,0,0,139,0,0,0,119,0,4,0,135,20,142,0,18,0,0,0,139,0,0,0,139,0,0,0,140,2,8,0,0,0,0,0,135,2,143,0,0,1,0,0,134,5,0,0,120,118,0,0,2,0,0,0,1,5,0,0,132,0,0,5,1,6,3,1,135,5,66,0,6,2,0,0,130,5,0,0,0,1,5,0,1,5,0,0,132,0,0,5,38,5,1,1,121,5,86,0,1,5,0,0,135,1,72,0,5,0,0,0,135,5,100,0,1,0,0,0,1,5,0,0,132,0,0,5,1,6,1,1,135,5,66,0,6,0,0,0,130,5,0,0,0,1,5,0,1,5,0,0,132,0,0,5,38,5,1,1,121,5,69,0,1,5,0,0,135,1,72,0,5,0,0,0,135,5,100,0,1,0,0,0,1,5,0,0,132,0,0,5,1,6,1,1,135,5,66,0,6,0,0,0,130,5,0,0,0,1,5,0,1,5,0,0,132,0,0,5,38,5,1,1,121,5,21,0,135,1,24,0,1,5,0,0,132,0,0,5,1,6,3,0,135,5,101,0,6,0,0,0,130,5,0,0,0,4,5,0,1,5,0,0,132,0,0,5,38,5,4,1,121,5,7,0,1,5,0,0,135,4,72,0,5,0,0,0,135,5,73,0,4,0,0,0,119,0,16,0,0,3,1,0,119,0,14,0,1,5,0,0,132,0,0,5,1,6,3,0,135,5,101,0,6,0,0,0,130,5,0,0,0,4,5,0,1,5,0,0,132,0,0,5,38,5,4,1,120,5,2,0,119,0,21,0,135,3,24,0,1,5,0,0,132,0,0,5,1,6,3,0,135,5,101,0,6,0,0,0,130,5,0,0,0,4,5,0,1,5,0,0,132,0,0,5,38,5,4,1,121,5,7,0,1,5,0,0,135,4,72,0,5,0,0,0,135,5,73,0,4,0,0,0,119,0,3,0,135,5,26,0,3,0,0,0,135,5,108,0,120,2,4,0,25,4,0,80,82,4,4,0,139,4,0,0,106,1,2,8,121,1,7,0,82,6,1,0,106,6,6,4,1,7,255,1,19,6,6,7,135,5,144,0,6,1,0,0,135,5,97,0,2,0,0,0,25,4,0,80,82,4,4,0,139,4,0,0,140,2,9,0,0,0,0,0,25,2,0,76,25,3,0,80,82,6,3,0,82,7,2,0,50,6,6,7,24,133,0,0,1,6,1,0,139,6,0,0,135,6,0,0,0,0,0,0,1,7,1,0,1,8,0,0,135,6,1,0,0,7,8,0,1,8,1,0,1,7,0,0,135,6,145,0,0,8,7,0,120,6,47,0,82,4,2,0,135,5,29,0,4,0,0,0,125,6,5,5,4,0,0,0,135,4,146,0,6,0,0,0,32,7,4,0,121,7,4,0,1,7,1,0,0,6,7,0,119,0,4,0,82,7,3,0,16,7,7,4,0,6,7,0,120,6,3,0,1,2,7,0,119,0,36,0,82,5,2,0,135,4,29,0,5,0,0,0,125,5,4,4,5,0,0,0,78,7,5,0,32,7,7,125,121,7,4,0,25,7,5,1,0,6,7,0,119,0,3,0,1,7,0,0,0,6,7,0,0,5,6,0,32,7,5,0,121,7,4,0,1,7,1,0,0,6,7,0,119,0,4,0,82,7,3,0,16,7,7,5,0,6,7,0,120,6,3,0,1,2,7,0,119,0,11,0,134,6,0,0,0,0,0,0,0,1,0,0,82,6,3,0,82,7,2,0,50,6,6,7,20,134,0,0,1,2,7,0,119,0,2,0,119,0,193,255,32,6,2,7,121,6,3,0,1,6,1,0,139,6,0,0,1,6,0,0,139,6,0,0,140,3,9,0,0,0,0,0,1,6,2,0,135,8,147,0,2,0,0,0,135,7,148,0,8,0,0,0,135,5,140,0,6,0,7,0,1,7,3,0,1,6,0,0,135,5,149,0,7,6,0,0,120,5,9,0,1,6,20,0,135,5,150,0,6,0,0,0,1,6,3,0,1,7,0,0,135,5,149,0,6,7,0,0,121,5,249,255,1,5,4,0,1,7,0,0,135,1,149,0,5,7,0,0,121,1,17,0,1,7,1,0,135,4,151,0,7,0,0,0,1,7,0,0,1,5,0,0,135,0,152,0,0,7,5,0,85,4,0,0,135,7,109,0,1,0,0,0,1,6,0,0,1,8,0,0,135,5,153,0,0,7,6,8,0,0,4,0,139,0,0,0,1,5,5,0,1,8,0,0,135,1,149,0,5,8,0,0,1,8,6,0,1,5,0,0,135,3,149,0,8,5,0,0,20,5,3,1,120,5,3,0,1,0,0,0,139,0,0,0,1,5,1,0,135,4,151,0,5,0,0,0,125,5,1,1,0,0,0,0,135,2,109,0,5,0,0,0,120,3,3,0,1,1,0,0,119,0,3,0,135,1,109,0,3,0,0,0,1,5,0,0,135,0,152,0,2,1,5,0,85,4,0,0,0,0,4,0,139,0,0,0,0,0,0,0],eb+30720);var relocations=[];relocations=relocations.concat([264,400,536,672,812,948,1084,1220,1356,1612,1636,1640,1644,1648,1652,1656,1660,1944,1988,2068,2176,2236,2408,2564,2588,3364,3404,3488,3692,3828,3964,4100,4236,4384,4424,4608,4748,4888,5072,5208,5344,5448,5804,6008,6088,6220,6308,6756,6796,7580,7620,7856,7960,8356,8452,8656,8912,8916,8920,8924,8928,8932,8936,8940,8944,8948,8952,8956,8960,8964,8968,8972,8976,8980,8984,8988,8992,8996,9e3,9004,9008,9012,9016,9020,9024,9028,9032,9036,9040,9044,9048,9052,9056,9060,9064,9068,9072,9076,9080,9084,9088,9092,9096,9100,9104,9108,9112,9116,9120,9124,9128,9132,9136,9140,9144,9196,9200,9328,9476,9572,9776,10236,10332,10536,10956,11112,11300,11324,11416,11648,11804,11808,11812,11816,11820,11824,11828,11832,11836,11840,11844,11848,11852,11856,11860,11864,11868,11872,11876,11880,11884,11888,11892,11896,11900,11904,11908,11912,11916,11920,11924,11928,11932,11936,11940,11944,11948,11952,11956,11960,11964,11968,11972,11976,11980,11984,11988,11992,11996,12e3,12004,12008,12012,12016,12020,12024,12028,12032,12036,12040,12044,12048,12052,12056,12060,12064,12068,12072,12076,12080,12084,12088,12092,12096,12100,12104,12108,12112,12116,12120,12124,12128,12132,12136,12140,12144,12148,12152,12156,12160,12164,12168,12172,12176,12180,12184,12188,12192,12196,12200,12204,12208,12212,12216,12220,12224,12228,12232,12236,12240,12244,12248,12252,12256,12260,12264,12268,12272,12276,12280,12540,12904,13204,13464,13556,13600,13616,13636,13672,13728,13752,13776,13804,13828,13876,13904,14072,14100,14396,14672,14856,14880,15264,15452,15556,15816,15920,16200,16392,16608,16712,16908,17296,17892,18044,18456,18548,18664,19060,21048,21592,21916,22056,22084,22088,22092,22096,22100,22104,22108,22112,22116,22120,22124,22128,22132,22136,22140,22144,22148,22152,22156,22160,22164,22168,22172,22176,22180,22184,22188,22192,22196,22200,22204,22208,22212,22216,22220,22224,22228,22232,22236,22240,22244,22248,22252,22256,22260,22264,22268,22272,22276,22280,22284,22288,22292,22296,22300,22304,22308,22312,22316,22320,22324,22328,22332,22336,22340,22344,22348,22352,22356,22360,22364,22368,22372,22376,22380,22384,22388,22392,22396,22400,22404,22408,23284,23360,23448,23720,23832,23964,24e3,24696,24940,24984,25076,25244,25676,25744,25828,25900,26088,26944,27180,27404,27656,27892,27960,28456,28520,28580,28644,29384,29588,30420,30424,30992,31020,31064,31092,31824,31864,32052,32092,32172,33244,34060,34312,1924,32132,32660,33436,33572,34292]);for(var i=0;i>2]=HEAPU32[eb+relocations[i]>>2]+eb}}));function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);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}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}Module["_pthread_mutex_lock"]=_pthread_mutex_lock;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};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){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(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=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;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _free(){}Module["_free"]=_free;function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown){___cxa_end_catch.rethrown=false;return}asm["setThrew"](0);var ptr=EXCEPTIONS.caught.pop();if(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr));EXCEPTIONS.last=0}}var PTHREAD_SPECIFIC={};var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}var DLFCN={error:null,errorMsg:null,loadedLibs:{},loadedLibNames:{}};function _dlerror(){if(DLFCN.errorMsg===null){return 0}else{if(DLFCN.error)_free(DLFCN.error);var msgArr=intArrayFromString(DLFCN.errorMsg);DLFCN.error=allocate(msgArr,"i8",ALLOC_NORMAL);DLFCN.errorMsg=null;return DLFCN.error}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Lshr"]=_bitshift64Lshr;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}Module["_pthread_cond_broadcast"]=_pthread_cond_broadcast;function ___cxa_find_matching_catch_6(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___cxa_find_matching_catch_4(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___cxa_find_matching_catch_2(){return ___cxa_find_matching_catch.apply(null,arguments)}function ___cxa_find_matching_catch_3(){return ___cxa_find_matching_catch.apply(null,arguments)}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function _dlclose(handle){if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlclose() unopened handle: "+handle;return 1}else{var lib_record=DLFCN.loadedLibs[handle];if(--lib_record.refcount==0){if(lib_record.module.cleanups){lib_record.module.cleanups.forEach((function(cleanup){cleanup()}))}delete DLFCN.loadedLibNames[lib_record.name];delete DLFCN.loadedLibs[handle]}return 0}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___cxa_find_matching_catch_8(){return ___cxa_find_matching_catch.apply(null,arguments)}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}Module["_bitshift64Shl"]=_bitshift64Shl;Module["_memmove"]=_memmove;function ___gxx_personality_v0(){}function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=true;var ptr=EXCEPTIONS.caught.pop();EXCEPTIONS.last=ptr;throw ptr}Module["_round"]=_round;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function _dlsym(handle,symbol){symbol=Pointer_stringify(symbol);if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlsym() from an unopened handle: "+handle;return 0}else{var lib=DLFCN.loadedLibs[handle];symbol="_"+symbol;if(lib.cached_functions.hasOwnProperty(symbol)){return lib.cached_functions[symbol]}if(!lib.module.hasOwnProperty(symbol)){DLFCN.errorMsg='Tried to lookup unknown symbol "'+symbol+'" in dynamic lib: '+lib.name;return 0}else{var result=lib.module[symbol];if(typeof result=="function"){result=Runtime.addFunction(result);lib.cached_functions=result}return result}}}Module["_memset"]=_memset;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _abort(){Module["abort"]()}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){var argArray=[arg];browserIterationFunc=(function(){Runtime.dynCall("vi",func,argArray)})}else{browserIterationFunc=(function(){Runtime.dynCall("v",func)})}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null)||(canvasContainer["webkitRequestFullscreen"]?(function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),asyncLoad:(function(url,onload,onerror,noRunDep){Module["readAsync"](url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2,asm.emtStackSave()>>2));var stacktop=asm.stackSave();var resumedCallbacksForYield=false;function resumeCallbacksForYield(){if(resumedCallbacksForYield)return;resumedCallbacksForYield=true;EmterpreterAsync.yieldCallbacks.forEach((function(func){func()}));Browser.resumeAsyncCallbacks()}var callingDoAsyncOp=1;doAsyncOp(function resume(post){if(callingDoAsyncOp){assert(callingDoAsyncOp===1);callingDoAsyncOp++;setTimeout((function(){resume(post)}),0);return}assert(EmterpreterAsync.state===1||EmterpreterAsync.state===3);EmterpreterAsync.setState(3);if(yieldDuring){resumeCallbacksForYield()}HEAP32.set(stack,EMTSTACKTOP>>2);EmterpreterAsync.setState(2);if(Browser.mainLoop.func){Browser.mainLoop.resume()}assert(!EmterpreterAsync.postAsync);EmterpreterAsync.postAsync=post||null;asm.emterpret(stack[0]);if(!yieldDuring&&EmterpreterAsync.state===0){Browser.resumeAsyncCallbacks()}if(EmterpreterAsync.state===0){EmterpreterAsync.asyncFinalizers.forEach((function(func){func()}));EmterpreterAsync.asyncFinalizers.length=0}});callingDoAsyncOp=0;EmterpreterAsync.setState(1);if(Browser.mainLoop.func){Browser.mainLoop.pause()}if(yieldDuring){setTimeout((function(){resumeCallbacksForYield()}),0)}else{Browser.pauseAsyncCallbacks()}}else{assert(EmterpreterAsync.state===2);EmterpreterAsync.setState(0);if(EmterpreterAsync.postAsync){var ret=EmterpreterAsync.postAsync();EmterpreterAsync.postAsync=null;return ret}}})};function _emscripten_sleep(ms){EmterpreterAsync.handle((function(resume){setTimeout((function(){if(ABORT)return;resume()}),ms)}))}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var _llvm_fabs_f64=Math_abs;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___syscall183(which,varargs){SYSCALLS.varargs=varargs;try{var buf=SYSCALLS.get(),size=SYSCALLS.get();if(size===0)return-ERRNO_CODES.EINVAL;var cwd=FS.cwd();if(size>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _dlopen(filename,flag){abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/kripken/emscripten/wiki/Linking");filename=filename===0?"__self__":(ENV["LD_LIBRARY_PATH"]||"/")+Pointer_stringify(filename);if(DLFCN.loadedLibNames[filename]){var handle=DLFCN.loadedLibNames[filename];DLFCN.loadedLibs[handle].refcount++;return handle}if(filename==="__self__"){var handle=-1;var lib_module=Module;var cached_functions={}}else{var target=FS.findObject(filename);if(!target||target.isFolder||target.isDevice){DLFCN.errorMsg="Could not find dynamic lib: "+filename;return 0}else{FS.forceLoadFile(target);var lib_data=FS.readFile(filename,{encoding:"utf8"})}try{var lib_module=eval(lib_data)(Runtime.alignFunctionTables(),Module)}catch(e){DLFCN.errorMsg="Could not evaluate dynamic lib: "+filename;return 0}var handle=1;for(var key in DLFCN.loadedLibs){if(DLFCN.loadedLibs.hasOwnProperty(key))handle++}if(flag&256){for(var ident in lib_module){if(lib_module.hasOwnProperty(ident)){Module[ident]=lib_module[ident]}}}var cached_functions={}}DLFCN.loadedLibs[handle]={refcount:1,name:filename,module:lib_module,cached_functions:cached_functions};DLFCN.loadedLibNames[filename]=handle;return handle}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___cxa_call_unexpected(exception){Module.printErr("Unexpected exception thrown, this is not properly supported - aborting");ABORT=true;throw exception}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_get_exception_ptr(ptr){return ptr}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall220(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),dirp=SYSCALLS.get(),count=SYSCALLS.get();if(!stream.getdents){stream.getdents=FS.readdir(stream.path)}var pos=0;while(stream.getdents.length>0&&pos+268>2]=id;HEAP32[dirp+pos+4>>2]=stream.position;HEAP16[dirp+pos+8>>1]=268;HEAP8[dirp+pos+10>>0]=type;for(var i=0;i>0]=name.charCodeAt(i)}HEAP8[dirp+pos+(11+i)>>0]=0;pos+=268}return pos}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___dso_handle=STATICTOP;STATICTOP+=16;FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}___buildEnvironment(ENV);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;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);function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiid(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiid"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_id(index,a1){try{return Module["dynCall_id"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ddi(index,a1,a2){try{return Module["dynCall_ddi"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){try{Module["dynCall_viiiiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iddddii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iddddii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ddd(index,a1,a2){try{return Module["dynCall_ddd"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iddd(index,a1,a2,a3){try{return Module["dynCall_iddd"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viidii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viidii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iid(index,a1,a2){try{return Module["dynCall_iid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{return Module["dynCall_iiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiddi(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiiddi"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_diii(index,a1,a2,a3){try{return Module["dynCall_diii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_dii(index,a1,a2){try{return Module["dynCall_dii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_idi(index,a1,a2){try{return Module["dynCall_idi"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiiiiid":invoke_iiiiiid,"invoke_v":invoke_v,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_id":invoke_id,"invoke_iiiiii":invoke_iiiiii,"invoke_iiii":invoke_iiii,"invoke_ddi":invoke_ddi,"invoke_viiiiiiiiiiiiiii":invoke_viiiiiiiiiiiiiii,"invoke_iddddii":invoke_iddddii,"invoke_viiiiii":invoke_viiiiii,"invoke_ddd":invoke_ddd,"invoke_di":invoke_di,"invoke_iddd":invoke_iddd,"invoke_viidii":invoke_viidii,"invoke_iid":invoke_iid,"invoke_viiiiiii":invoke_viiiiiii,"invoke_iiiiiiiiiiii":invoke_iiiiiiiiiiii,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"invoke_iii":invoke_iii,"invoke_iiiiiddi":invoke_iiiiiddi,"invoke_diii":invoke_diii,"invoke_dii":invoke_dii,"invoke_i":invoke_i,"invoke_iiiii":invoke_iiiii,"invoke_viii":invoke_viii,"invoke_idi":invoke_idi,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_iiiiid":invoke_iiiiid,"invoke_viiii":invoke_viiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall220":___syscall220,"_pthread_cond_wait":_pthread_cond_wait,"_dlerror":_dlerror,"_llvm_pow_f64":_llvm_pow_f64,"_dlsym":_dlsym,"_pthread_key_create":_pthread_key_create,"_pthread_cleanup_push":_pthread_cleanup_push,"_abort":_abort,"___cxa_pure_virtual":___cxa_pure_virtual,"_llvm_fabs_f64":_llvm_fabs_f64,"___cxa_find_matching_catch_8":___cxa_find_matching_catch_8,"___setErrNo":___setErrNo,"___gxx_personality_v0":___gxx_personality_v0,"___cxa_find_matching_catch_4":___cxa_find_matching_catch_4,"__arraySum":__arraySum,"___cxa_find_matching_catch_6":___cxa_find_matching_catch_6,"___assert_fail":___assert_fail,"___cxa_free_exception":___cxa_free_exception,"___cxa_find_matching_catch_2":___cxa_find_matching_catch_2,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___buildEnvironment":___buildEnvironment,"_emscripten_asm_const_ii":_emscripten_asm_const_ii,"__addDays":__addDays,"_strftime_l":_strftime_l,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_llvm_eh_typeid_for":_llvm_eh_typeid_for,"_sbrk":_sbrk,"___cxa_allocate_exception":___cxa_allocate_exception,"___syscall195":___syscall195,"___cxa_end_catch":___cxa_end_catch,"___resumeException":___resumeException,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"__exit":__exit,"___cxa_begin_catch":___cxa_begin_catch,"_strftime":_strftime,"_dlclose":_dlclose,"___cxa_find_matching_catch_3":___cxa_find_matching_catch_3,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___syscall221":___syscall221,"___cxa_call_unexpected":___cxa_call_unexpected,"___cxa_get_exception_ptr":___cxa_get_exception_ptr,"_pthread_once":_pthread_once,"_pthread_getspecific":_pthread_getspecific,"___cxa_rethrow":___cxa_rethrow,"_dlopen":_dlopen,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_setspecific":_pthread_setspecific,"__isLeapYear":__isLeapYear,"_emscripten_set_main_loop":_emscripten_set_main_loop,"_emscripten_get_now":_emscripten_get_now,"_emscripten_sleep":_emscripten_sleep,"___cxa_atexit":___cxa_atexit,"_emscripten_asm_const_iiii":_emscripten_asm_const_iiii,"___cxa_throw":___cxa_throw,"___lock":___lock,"___syscall6":___syscall6,"___syscall5":___syscall5,"___syscall183":___syscall183,"___syscall3":___syscall3,"_atexit":_atexit,"___syscall140":___syscall140,"_exit":_exit,"_emscripten_asm_const_iii":_emscripten_asm_const_iii,"___syscall145":___syscall145,"___syscall146":___syscall146,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8,"___dso_handle":___dso_handle};Module.asmLibraryArg["EMTSTACKTOP"]=EMTSTACKTOP;Module.asmLibraryArg["EMT_STACK_MAX"]=EMT_STACK_MAX;Module.asmLibraryArg["eb"]=eb;// EMSCRIPTEN_START_ASM -var asm=(function(global,env,buffer) { -"almost asm";var a=global.Int8Array;var b=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(buffer);var q=global.byteLength;var r=env.STACKTOP|0;var s=env.STACK_MAX|0;var t=env.tempDoublePtr|0;var u=env.ABORT|0;var v=env.cttz_i8|0;var w=env.___dso_handle|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0,I=0,J=0,K=0,L=0.0;var M=0;var N=0;var O=0;var P=0;var Q=0;var R=0;var S=0;var T=0;var U=0;var V=0;var W=global.Math.floor;var X=global.Math.abs;var Y=global.Math.sqrt;var Z=global.Math.pow;var _=global.Math.cos;var $=global.Math.sin;var aa=global.Math.tan;var ba=global.Math.acos;var ca=global.Math.asin;var da=global.Math.atan;var ea=global.Math.atan2;var fa=global.Math.exp;var ga=global.Math.log;var ha=global.Math.ceil;var ia=global.Math.imul;var ja=global.Math.min;var ka=global.Math.clz32;var la=env.abort;var ma=env.assert;var na=env.invoke_iiiiiiii;var oa=env.invoke_iiiiiid;var pa=env.invoke_v;var qa=env.invoke_viiiii;var ra=env.invoke_vi;var sa=env.invoke_vii;var ta=env.invoke_iiiiiii;var ua=env.invoke_ii;var va=env.invoke_id;var wa=env.invoke_iiiiii;var xa=env.invoke_iiii;var ya=env.invoke_ddi;var za=env.invoke_viiiiiiiiiiiiiii;var Aa=env.invoke_iddddii;var Ba=env.invoke_viiiiii;var Ca=env.invoke_ddd;var Da=env.invoke_di;var Ea=env.invoke_iddd;var Fa=env.invoke_viidii;var Ga=env.invoke_iid;var Ha=env.invoke_viiiiiii;var Ia=env.invoke_iiiiiiiiiiii;var Ja=env.invoke_viiiiiiiiii;var Ka=env.invoke_iii;var La=env.invoke_iiiiiddi;var Ma=env.invoke_diii;var Na=env.invoke_dii;var Oa=env.invoke_i;var Pa=env.invoke_iiiii;var Qa=env.invoke_viii;var Ra=env.invoke_idi;var Sa=env.invoke_iiiiiiiii;var Ta=env.invoke_iiiiid;var Ua=env.invoke_viiii;var Va=env._pthread_cleanup_pop;var Wa=env.___syscall220;var Xa=env._pthread_cond_wait;var Ya=env._dlerror;var Za=env._llvm_pow_f64;var _a=env._dlsym;var $a=env._pthread_key_create;var ab=env._pthread_cleanup_push;var bb=env._abort;var cb=env.___cxa_pure_virtual;var db=env._llvm_fabs_f64;var eb=env.___cxa_find_matching_catch_8;var fb=env.___setErrNo;var gb=env.___gxx_personality_v0;var hb=env.___cxa_find_matching_catch_4;var ib=env.__arraySum;var jb=env.___cxa_find_matching_catch_6;var kb=env.___assert_fail;var lb=env.___cxa_free_exception;var mb=env.___cxa_find_matching_catch_2;var nb=env.___cxa_find_matching_catch;var ob=env.___buildEnvironment;var pb=env._emscripten_asm_const_ii;var qb=env.__addDays;var rb=env._strftime_l;var sb=env._emscripten_set_main_loop_timing;var tb=env._llvm_eh_typeid_for;var ub=env._sbrk;var vb=env.___cxa_allocate_exception;var wb=env.___syscall195;var xb=env.___cxa_end_catch;var yb=env.___resumeException;var zb=env.__ZSt18uncaught_exceptionv;var Ab=env.__exit;var Bb=env.___cxa_begin_catch;var Cb=env._strftime;var Db=env._dlclose;var Eb=env.___cxa_find_matching_catch_3;var Fb=env._emscripten_memcpy_big;var Gb=env.___syscall221;var Hb=env.___cxa_call_unexpected;var Ib=env.___cxa_get_exception_ptr;var Jb=env._pthread_once;var Kb=env._pthread_getspecific;var Lb=env.___cxa_rethrow;var Mb=env._dlopen;var Nb=env.___syscall54;var Ob=env.___unlock;var Pb=env._pthread_setspecific;var Qb=env.__isLeapYear;var Rb=env._emscripten_set_main_loop;var Sb=env._emscripten_get_now;var Tb=env._emscripten_sleep;var Ub=env.___cxa_atexit;var Vb=env._emscripten_asm_const_iiii;var Wb=env.___cxa_throw;var Xb=env.___lock;var Yb=env.___syscall6;var Zb=env.___syscall5;var _b=env.___syscall183;var $b=env.___syscall3;var ac=env._atexit;var bc=env.___syscall140;var cc=env._exit;var dc=env._emscripten_asm_const_iii;var ec=env.___syscall145;var fc=env.___syscall146;var gc=0.0;var hc=0;var ic=env.EMTSTACKTOP|0;var jc=env.EMT_STACK_MAX|0;var kc=env.eb|0;function lc(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true} -// EMSCRIPTEN_START_FUNCS -function Kt(a){a=a|0;var b=0,c=0,d=0;c=0;d=i[a>>0]|0;b=a+1|0;d=d<<24>>24|0;b=(d|0)!=85?((d|0)==117?b:0):b;if(!b)c=4;else if((i[b>>0]|0)==43){b=ux(b+1|0)|0;if(!b)c=4}else c=4;if((c|0)==4){b=p5(a)|0;if(!b){b=kx(a)|0;if(!b){d=0;return d|0}}}while(1){d=i[b>>0]|0;a=b+1|0;d=d<<24>>24|0;a=(d|0)!=85?((d|0)==117?a:0):a;if(a|0)if((i[a>>0]|0)==43){a=ux(a+1|0)|0;if(a|0){b=a;continue}}a=p5(b)|0;if(a|0){b=a;continue}a=kx(b)|0;if(!a)break;else b=a}return b|0}function Lt(a){a=a|0;var b=0,c=0,d=0;c=0;d=i[a>>0]|0;b=a+1|0;d=d<<24>>24|0;b=(d|0)!=85?((d|0)==117?b:0):b;if(!b)c=4;else if((i[b>>0]|0)==43){b=ux(b+1|0)|0;if(!b)c=4}else c=4;if((c|0)==4){b=BY(a)|0;if(!b){b=kx(a)|0;if(!b){d=0;return d|0}}}while(1){d=i[b>>0]|0;a=b+1|0;d=d<<24>>24|0;a=(d|0)!=85?((d|0)==117?a:0):a;if(a|0)if((i[a>>0]|0)==43){a=ux(a+1|0)|0;if(a|0){b=a;continue}}a=BY(b)|0;if(a|0){b=a;continue}a=kx(b)|0;if(!a)break;else b=a}return b|0}function Mt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;l=o;b=Pk(a)|0;if(!b){a=0;r=o;return a|0}m=a+40|0;n=a+108|0;while(1){if(!(Us(a,1,0)|0))if(!(Xs(a,1,0)|0))break;else f=1;else f=0;zt(a,1,0)|0;e=Pk(a)|0;c=(k[m>>2]|0)+36|0;d=lD(c,68)|0;g=l;h=n;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[d+4>>2]=0;g=d+8|0;h=l;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=6164;k[d+56>>2]=b;k[d+60>>2]=e;k[d+64>>2]=f;b=N4(c,d)|0}r=o;return b|0}function Nt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+32|0;d=f+12|0;e=f;_G(d,b);x=0;sa(463,a|0,d|0);b=x;x=0;if(b&1){a=mb()|0;P1(d);yb(a|0)}P1(d);d=a+12|0;x=0;sa(430,e|0,c|0);b=x;x=0;do if(b&1)d=mb()|0;else{x=0;sa(463,d|0,e|0);b=x;x=0;if(b&1){d=mb()|0;P1(e);break}P1(e);x=0;sa(464,a+24|0,c|0);c=x;x=0;if(c&1){f=mb()|0;P1(d);d=f;break}else{r=f;return}}while(0);P1(a);a=d;yb(a|0)}function Ot(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,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q;o=k[a>>2]|0;n=a+(k[o+-8>>2]|0)|0;o=k[o+-4>>2]|0;k[p>>2]=c;k[p+4>>2]=a;k[p+8>>2]=b;k[p+12>>2]=d;h=p+16|0;d=p+20|0;a=p+24|0;b=p+28|0;e=p+32|0;f=p+40|0;g=(o|0)==(c|0);l=h;m=l+36|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0));j[h+36>>1]=0;i[h+38>>0]=0;a:do if(g){k[p+48>>2]=1;Ac[k[(k[c>>2]|0)+20>>2]&15](c,p,n,n,1,0);d=(k[a>>2]|0)==1?n:0}else{pc[k[(k[o>>2]|0)+24>>2]&15](o,p,n,1,0);switch(k[p+36>>2]|0){case 0:{d=(k[f>>2]|0)==1&(k[b>>2]|0)==1&(k[e>>2]|0)==1?k[d>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((k[a>>2]|0)!=1)if(!((k[f>>2]|0)==0&(k[b>>2]|0)==1&(k[e>>2]|0)==1)){d=0;break}d=k[h>>2]|0}while(0);r=q;return d|0}function Pt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+224|0;n=s+120|0;q=s+80|0;p=s;o=s+136|0;d=q;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[n>>2]=k[c>>2];if((nd(0,b,n,p,q)|0)<0)c=-1;else{if((k[a+76>>2]|0)>-1)l=Dha(a)|0;else l=0;c=k[a>>2]|0;m=c&32;if((i[a+74>>0]|0)<1)k[a>>2]=c&-33;c=a+48|0;if(!(k[c>>2]|0)){e=a+44|0;f=k[e>>2]|0;k[e>>2]=o;g=a+28|0;k[g>>2]=o;h=a+20|0;k[h>>2]=o;k[c>>2]=80;j=a+16|0;k[j>>2]=o+80;d=nd(a,b,n,p,q)|0;if(f){wc[k[a+36>>2]&127](a,0,0)|0;d=(k[h>>2]|0)==0?-1:d;k[e>>2]=f;k[c>>2]=0;k[j>>2]=0;k[g>>2]=0;k[h>>2]=0}}else d=nd(a,b,n,p,q)|0;c=k[a>>2]|0;k[a>>2]=c|m;if(l|0)Cha(a);c=(c&32|0)==0?d:-1}r=s;return c|0}function Qt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;if(b>>>0>4294967279)dH(a);c=i[a>>0]|0;if(!(c&1))d=10;else{c=k[a>>2]|0;d=(c&-2)+-1|0;c=c&255}if(!(c&1))h=(c&255)>>>1;else h=k[a+4>>2]|0;b=h>>>0>b>>>0?h:b;if(b>>>0<11)g=10;else g=(b+16&-16)+-1|0;a:do if((g|0)!=(d|0)){do if((g|0)==10){b=a+1|0;d=0;e=k[a+8>>2]|0;f=1}else{b=g+1|0;if(g>>>0>d>>>0)b=GG(b)|0;else{x=0;b=ua(186,b|0)|0;f=x;x=0;if(f&1){a=Eb(0)|0;Bb(a|0)|0;xb();break a}}if(!(c&1)){d=1;e=a+1|0;f=0;break}else{d=1;e=k[a+8>>2]|0;f=1;break}}while(0);if(!(c&1))c=(c&255)>>>1;else c=k[a+4>>2]|0;WC(b|0,e|0,c+1|0)|0;if(f)uha(e);if(d){k[a>>2]=g+1|1;k[a+4>>2]=h;k[a+8>>2]=b;break}else{i[a>>0]=h<<1;break}}while(0);return}function Rt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;d=0;p=r;r=r+32|0;n=p+16|0;c=p+8|0;m=p+4|0;l=p;o=(b|0)==-1;do if(o)d=14;else{k[c>>2]=b;if(i[a+44>>0]|0)if((FH(c,4,1,k[a+32>>2]|0)|0)==1){d=14;break}else{c=-1;break}k[m>>2]=n;h=c+4|0;j=a+36|0;e=a+40|0;f=n+8|0;g=n;a=a+32|0;while(1){d=k[j>>2]|0;d=Rc[k[(k[d>>2]|0)+12>>2]&15](d,k[e>>2]|0,c,h,l,n,f,m)|0;if((k[l>>2]|0)==(c|0)){d=13;break}if((d|0)==3){d=7;break}if((d|1|0)!=1){d=13;break}c=(k[m>>2]|0)-g|0;if((FH(n,1,c,k[a>>2]|0)|0)!=(c|0)){d=13;break}if((d|0)==1)c=k[l>>2]|0;else{d=12;break}}if((d|0)==7)if((FH(c,1,1,k[a>>2]|0)|0)==1)d=12;else d=13;if((d|0)==12){d=14;break}else if((d|0)==13){c=-1;break}}while(0);if((d|0)==14)c=o?0:b;r=p;return c|0}function St(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;d=0;p=r;r=r+32|0;n=p+16|0;c=p+8|0;m=p+4|0;l=p;o=(b|0)==-1;do if(o)d=14;else{i[c>>0]=b;if(i[a+44>>0]|0)if((FH(c,1,1,k[a+32>>2]|0)|0)==1){d=14;break}else{c=-1;break}k[m>>2]=n;j=c+1|0;e=a+36|0;f=a+40|0;g=n+8|0;h=n;a=a+32|0;while(1){d=k[e>>2]|0;d=Rc[k[(k[d>>2]|0)+12>>2]&15](d,k[f>>2]|0,c,j,l,n,g,m)|0;if((k[l>>2]|0)==(c|0)){d=13;break}if((d|0)==3){d=7;break}if((d|1|0)!=1){d=13;break}c=(k[m>>2]|0)-h|0;if((FH(n,1,c,k[a>>2]|0)|0)!=(c|0)){d=13;break}if((d|0)==1)c=k[l>>2]|0;else{d=12;break}}if((d|0)==7)if((FH(c,1,1,k[a>>2]|0)|0)==1)d=12;else d=13;if((d|0)==12){d=14;break}else if((d|0)==13){c=-1;break}}while(0);if((d|0)==14)c=o?0:b;r=p;return c|0}function Tt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((a|0)==(k[b+8>>2]|0))yy(0,b,c,d,e);else{o=b+52|0;r=j[o>>1]|0;p=r&255;q=b+53|0;r=(r&65535)>>>8&255;n=k[a+12>>2]|0;h=a+16+(n<<3)|0;i[o>>0]=0;i[q>>0]=0;hF(a+16|0,b,c,d,e,f);a:do if((n|0)>1){l=b+24|0;m=a+8|0;n=b+54|0;g=a+24|0;do{if(i[n>>0]|0)break a;a=j[o>>1]|0;if(!((a&255)<<24>>24)){if((a&65535)>=256)if(!(k[m>>2]&1))break a}else{if((k[l>>2]|0)==1)break a;if(!(k[m>>2]&2))break a}i[o>>0]=0;i[q>>0]=0;hF(g,b,c,d,e,f);g=g+8|0}while(g>>>0>>0)}while(0);i[o>>0]=p;i[q>>0]=r}return}function Ut(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=0;f=r;r=r+32|0;d=f+12|0;c=f;lE(d,44843,1);x=0;sa(430,c|0,b|0);b=x;x=0;if(b&1){f=mb()|0;P1(d);yb(f|0)}if((i[((i[c>>0]&1)==0?c+1|0:k[c+8>>2]|0)>>0]|0)==46){b=i[d>>0]|0;g=(b&1)==0;x=0;b=Pa(11,c|0,0,(g?d+1|0:k[d+8>>2]|0)|0,(g?(b&255)>>>1:k[d+4>>2]|0)|0)|0;g=x;x=0;if(!(g&1))e=4}else{b=c;e=4}if((e|0)==4){x=0;sa(430,a|0,b|0);g=x;x=0;if(!(g&1)){P1(c);P1(d);r=f;return}}g=mb()|0;P1(c);P1(d);yb(g|0)}function Vt(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,j=0,l=0;h=0;j=r;r=r+16|0;e=j;g=(d|0)==0?72524:d;d=k[g>>2]|0;a:do if(!b)if(!d)d=0;else h=15;else{f=(a|0)==0?e:a;if(!c)d=-2;else{if(!d){d=i[b>>0]|0;e=d&255;if(d<<24>>24>-1){k[f>>2]=e;d=d<<24>>24!=0&1;break}d=e+-194|0;if(d>>>0>50){h=15;break}d=k[17060+(d<<2)>>2]|0;e=c+-1|0;if(e){b=b+1|0;h=9}}else{e=c;h=9}b:do if((h|0)==9){a=i[b>>0]|0;l=(a&255)>>>3;if((l+-16|l+(d>>26))>>>0>7){h=15;break a}while(1){b=b+1|0;d=(a&255)+-128|d<<6;e=e+-1|0;if((d|0)>=0)break;if(!e)break b;a=i[b>>0]|0;if((a&-64)<<24>>24!=-128){h=15;break a}}k[g>>2]=0;k[f>>2]=d;d=c-e|0;break a}while(0);k[g>>2]=d;d=-2}}while(0);if((h|0)==15){k[g>>2]=0;d=L0()|0;k[d>>2]=84;d=-1}r=j;return d|0}function Wt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=k[b+68>>2]|0;if(!f){b=vb(4)|0;Nea(b);Wb(b|0,4480,315)}f=tc[k[(k[f>>2]|0)+24>>2]&511](f)|0;g=b+64|0;if(k[g>>2]|0)if(!(((c|0)!=0|(d|0)!=0)&(f|0)<1))if(!(tc[k[(k[b>>2]|0)+24>>2]&511](b)|0)){if(e>>>0>=3){b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}h=k[g>>2]|0;d=KK(f|0,((f|0)<0)<<31>>31|0,c|0,d|0)|0;if(!(mK(h,(f|0)>0?d:0,e)|0)){e=iO(k[g>>2]|0)|0;d=b+72|0;b=k[d+4>>2]|0;h=a;k[h>>2]=k[d>>2];k[h+4>>2]=b;h=a+8|0;k[h>>2]=e;k[h+4>>2]=((e|0)<0)<<31>>31;return}else{h=a;k[h>>2]=0;k[h+4>>2]=0;h=a+8|0;k[h>>2]=-1;k[h+4>>2]=-1;return}}h=a;k[h>>2]=0;k[h+4>>2]=0;h=a+8|0;k[h>>2]=-1;k[h+4>>2]=-1;return}function Xt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;if(b>>>0>1073741807)dH(a);c=i[a>>0]|0;if(!(c&1))d=1;else{c=k[a>>2]|0;d=(c&-2)+-1|0;c=c&255}if(!(c&1))h=(c&255)>>>1;else h=k[a+4>>2]|0;b=h>>>0>b>>>0?h:b;if(b>>>0<2)g=1;else g=(b+4&-4)+-1|0;a:do if((g|0)!=(d|0)){do if((g|0)==1){b=a+4|0;d=0;e=k[a+8>>2]|0;f=1}else{b=(g<<2)+4|0;if(g>>>0>d>>>0)b=GG(b)|0;else{x=0;b=ua(186,b|0)|0;f=x;x=0;if(f&1){a=Eb(0)|0;Bb(a|0)|0;xb();break a}}if(!(c&1)){d=1;e=a+4|0;f=0;break}else{d=1;e=k[a+8>>2]|0;f=1;break}}while(0);if(!(c&1))c=(c&255)>>>1;else c=k[a+4>>2]|0;JK(b,e,c+1|0)|0;if(f)uha(e);if(d){k[a>>2]=g+1|1;k[a+4>>2]=h;k[a+8>>2]=b;break}else{i[a>>0]=h<<1;break}}while(0);return}function Yt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+32|0;c=f+12|0;d=f;e=a+4|0;if(!(k[b+56>>2]|0)){lE(c,44221,1);x=0;sa(484,e|0,c|0);e=x;x=0;if(e&1){f=mb()|0;P1(c);yb(f|0)}else{P1(c);b=b+60|0;b=k[b>>2]|0;e=k[b>>2]|0;e=e+28|0;e=k[e>>2]|0;rc[e&1023](b,a);r=f;return}}else{lE(d,38883,1);x=0;sa(484,e|0,d|0);e=x;x=0;if(e&1){f=mb()|0;P1(d);yb(f|0)}else{P1(d);b=b+60|0;b=k[b>>2]|0;e=k[b>>2]|0;e=e+28|0;e=k[e>>2]|0;rc[e&1023](b,a);r=f;return}}}function Zt(a){a=a|0;var b=0,c=0,d=0;d=0;b=AN(a)|0;if(!b){c=i[a>>0]|0;b=a+1|0;if((c|4)<<24>>24==13)d=4;else{c=c<<24>>24|0;b=(c|0)!=10?((c|0)==12?b:0):b;if(!b)b=a;else d=4}}else d=4;if((d|0)==4)while(1){c=AN(b)|0;if(c|0){b=c;d=4;continue}c=i[b>>0]|0;d=b+1|0;if((c|4)<<24>>24==13){b=d;d=4;continue}c=c<<24>>24|0;c=(c|0)!=10?((c|0)==12?d:0):d;if(!c)break;else{b=c;d=4}}b=b|0?b:a;if(b|0)if((i[b>>0]|0)==41){a=b+1|0;return a|0}if(!a){a=0;return a|0}b=i[38919]|0;a:do if(!(b<<24>>24)){c=a;b=0}else{c=a;d=38919;while(1){if((i[c>>0]|0)!=b<<24>>24)break a;c=c+1|0;d=d+1|0;b=i[d>>0]|0;if(!(b<<24>>24)){b=0;break}}}while(0);a=b<<24>>24==0&(c|0)!=0?a:0;return a|0}function _t(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=a+32|0;lH(g,b)|0;f=a+44|0;k[f>>2]=0;h=a+48|0;e=k[h>>2]|0;if(e&8|0){b=i[g>>0]|0;if(!(b&1)){b=((b&255)>>>1)+(g+1)|0;k[f>>2]=b;c=g+1|0;d=g+1|0}else{d=k[a+40>>2]|0;b=d+(k[a+36>>2]|0)|0;k[f>>2]=b;c=d}k[a+8>>2]=c;k[a+12>>2]=d;k[a+16>>2]=b}if(!(e&16))return;b=i[g>>0]|0;if(!(b&1)){e=(b&255)>>>1;k[f>>2]=g+1+e;b=10;f=e}else{e=k[a+36>>2]|0;k[f>>2]=(k[a+40>>2]|0)+e;b=(k[g>>2]&-2)+-1|0;f=e}rD(g,b,0);b=i[g>>0]|0;if(!(b&1)){e=g+1|0;d=(b&255)>>>1;c=g+1|0}else{c=k[a+40>>2]|0;e=c;d=k[a+36>>2]|0}b=a+24|0;k[b>>2]=c;k[a+20>>2]=c;k[a+28>>2]=e+d;if(!(k[h>>2]&3))return;k[b>>2]=c+f;return}function $t(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+128|0;i=j+96|0;f=j+80|0;g=j+40|0;h=j;b=b+8|0;c=g;d=b;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));c=h;d=b;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));iI(f,g,h+20|0);c=a+24|0;k[i>>2]=k[f>>2];k[i+4>>2]=k[f+4>>2];k[i+8>>2]=k[f+8>>2];b=i+12|0;k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];b=a+16|0;c=k[b>>2]|0;if(c>>>0<(k[a+20>>2]|0)>>>0){k[c>>2]=k[i>>2];k[c+4>>2]=k[i+4>>2];k[c+8>>2]=k[i+8>>2];k[c+12>>2]=k[i+12>>2];k[c+16>>2]=k[i+16>>2];k[c+20>>2]=k[i+20>>2];k[b>>2]=(k[b>>2]|0)+24;r=j;return}else{Au(a+12|0,i);r=j;return}}function au(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=a+4|0;a=k[d>>2]|0;if(!a){k[b>>2]=d;b=d;return b|0}h=i[c>>0]|0;g=(h&1)==0;h=g?(h&255)>>>1:k[c+4>>2]|0;g=g?c+1|0:k[c+8>>2]|0;while(1){c=a+16|0;d=i[c>>0]|0;e=(d&1)==0;d=e?(d&255)>>>1:k[a+20>>2]|0;c=e?c+1|0:k[a+24>>2]|0;e=d>>>0>>0;j=tG(g,c,e?d:h)|0;f=h>>>0>>0;if((((j|0)==0?(f?-2147483648:0):j)|0)<0){d=k[a>>2]|0;if(!d){d=a;c=5;break}else a=d}else{j=tG(c,g,f?h:d)|0;if((((j|0)==0?(e?-2147483648:0):j)|0)>=0){c=10;break}d=a+4|0;c=k[d>>2]|0;if(!c){c=9;break}else a=c}}if((c|0)==5){k[b>>2]=a;j=d;return j|0}else if((c|0)==9){k[b>>2]=a;j=d;return j|0}else if((c|0)==10){k[b>>2]=a;j=b;return j|0}return 0}function bu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=a+4|0;a=k[d>>2]|0;if(!a){k[b>>2]=d;b=d;return b|0}h=i[c>>0]|0;g=(h&1)==0;h=g?(h&255)>>>1:k[c+4>>2]|0;g=g?c+1|0:k[c+8>>2]|0;while(1){c=a+16|0;d=i[c>>0]|0;e=(d&1)==0;d=e?(d&255)>>>1:k[a+20>>2]|0;c=e?c+1|0:k[a+24>>2]|0;e=d>>>0>>0;j=tG(g,c,e?d:h)|0;f=h>>>0>>0;if((((j|0)==0?(f?-2147483648:0):j)|0)<0){d=k[a>>2]|0;if(!d){d=a;c=5;break}else a=d}else{j=tG(c,g,f?h:d)|0;if((((j|0)==0?(e?-2147483648:0):j)|0)>=0){c=10;break}d=a+4|0;c=k[d>>2]|0;if(!c){c=9;break}else a=c}}if((c|0)==5){k[b>>2]=a;j=d;return j|0}else if((c|0)==9){k[b>>2]=a;j=d;return j|0}else if((c|0)==10){k[b>>2]=a;j=b;return j|0}return 0}function cu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;VH(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=GG(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){uha(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function du(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=r;r=r+16|0;f=h;g=TN(b)|0;k[f>>2]=g;x=0;b=Ka(865,f|0,74204)|0;i=x;x=0;if(!(i&1)){x=0;Pa(k[(k[b>>2]|0)+48>>2]|0,b|0,49232,49264,c|0)|0;i=x;x=0;if(!(i&1)){x=0;c=Ka(865,f|0,74212)|0;i=x;x=0;if(!(i&1)){x=0;b=ua(k[(k[c>>2]|0)+12>>2]|0,c|0)|0;i=x;x=0;if(!(i&1)){k[d>>2]=b;x=0;b=ua(k[(k[c>>2]|0)+16>>2]|0,c|0)|0;i=x;x=0;if(!(i&1)){k[e>>2]=b;x=0;sa(k[(k[c>>2]|0)+20>>2]|0,a|0,c|0);i=x;x=0;if(!(i&1)){sK(g)|0;r=h;return}}}}}}i=mb()|0;sK(g)|0;yb(i|0)}function eu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=0;f=r;r=r+32|0;d=f+16|0;c=f;g=a;k[g>>2]=0;k[g+4>>2]=0;g=a+8|0;k[g>>2]=-1;k[g+4>>2]=-1;x=0;Qa(142,d|0,b|0,1);g=x;x=0;do if(g&1)e=5;else if(i[d>>0]|0){g=k[b+(k[(k[b>>2]|0)+-12>>2]|0)+24>>2]|0;x=0;Ba(k[(k[g>>2]|0)+16>>2]|0,c|0,g|0,0,0,1,8);g=x;x=0;if(g&1){e=5;break}k[a>>2]=k[c>>2];k[a+4>>2]=k[c+4>>2];k[a+8>>2]=k[c+8>>2];k[a+12>>2]=k[c+12>>2]}while(0);do if((e|0)==5){g=Eb(0)|0;Bb(g|0)|0;x=0;ra(325,b+(k[(k[b>>2]|0)+-12>>2]|0)|0);g=x;x=0;if(!(g&1)){xb();break}c=mb()|0;x=0;pa(3);g=x;x=0;if(g&1){g=Eb(0)|0;Nba(g)}else yb(c|0)}while(0);r=f;return}function fu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=r;r=r+16|0;f=h;g=TN(b)|0;k[f>>2]=g;x=0;b=Ka(865,f|0,74172)|0;j=x;x=0;if(!(j&1)){x=0;Pa(k[(k[b>>2]|0)+32>>2]|0,b|0,49232,49264,c|0)|0;j=x;x=0;if(!(j&1)){x=0;c=Ka(865,f|0,74184)|0;j=x;x=0;if(!(j&1)){x=0;b=ua(k[(k[c>>2]|0)+12>>2]|0,c|0)|0;j=x;x=0;if(!(j&1)){i[d>>0]=b;x=0;b=ua(k[(k[c>>2]|0)+16>>2]|0,c|0)|0;j=x;x=0;if(!(j&1)){i[e>>0]=b;x=0;sa(k[(k[c>>2]|0)+20>>2]|0,a|0,c|0);j=x;x=0;if(!(j&1)){sK(g)|0;r=h;return}}}}}}j=mb()|0;sK(g)|0;yb(j|0)}function gu(a){a=a|0;var b=0,c=0,d=0,e=0;e=0;if((i[a>>0]|0)!=117){e=0;return e|0}if((i[a+1>>0]|0)!=114){e=0;return e|0}if((i[a+2>>0]|0)!=108){e=0;return e|0}b=a+4|0;if((i[a+3>>0]|0)!=40){e=0;return e|0}c=AN(b)|0;if(!c){d=i[b>>0]|0;c=a+5|0;if((d|4)<<24>>24==13)e=8;else{a=d<<24>>24|0;c=(a|0)!=10?((a|0)==12?c:0):c;if(c)e=8}}else e=8;if((e|0)==8)while(1){b=AN(c)|0;if(b|0){c=b;e=8;continue}b=i[c>>0]|0;d=c+1|0;if((b|4)<<24>>24==13){c=d;e=8;continue}b=b<<24>>24|0;b=(b|0)!=10?((b|0)==12?d:0):d;if(!b){b=c;break}else{c=b;e=8}}e=In(b)|0;return e|0}function hu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+48|0;g=j;b=j+40|0;k[b>>2]=3;h=a+60|0;c=k[h>>2]|0;if(c>>>0<(k[a+64>>2]|0)>>>0){k[c>>2]=3;k[h>>2]=c+4}else Bw(a+56|0,b);b=(k[a+40>>2]|0)+36|0;c=lD(b,72)|0;d=g;e=a+108|0;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));k[c+4>>2]=0;d=c+8|0;e=g;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));k[c+56>>2]=0;i[c+60>>0]=0;k[c+64>>2]=0;k[c>>2]=4904;k[c+68>>2]=0;k[c+52>>2]=2;g=N4(b,c)|0;f=Nh(a)|0;k[g+68>>2]=f;f=a+68|0;e=k[f>>2]|0;k[f>>2]=g;a=sg(a,0)|0;k[g+64>>2]=a;k[f>>2]=e;k[h>>2]=(k[h>>2]|0)+-4;r=j;return g|0}function iu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=a+4|0;a=k[d>>2]|0;if(!a){k[b>>2]=d;b=d;return b|0}h=i[c>>0]|0;g=(h&1)==0;h=g?(h&255)>>>1:k[c+4>>2]|0;g=g?c+1|0:k[c+8>>2]|0;while(1){c=a+16|0;d=i[c>>0]|0;e=(d&1)==0;d=e?(d&255)>>>1:k[a+20>>2]|0;c=e?c+1|0:k[a+24>>2]|0;e=d>>>0>>0;j=tG(g,c,e?d:h)|0;f=h>>>0>>0;if((((j|0)==0?(f?-2147483648:0):j)|0)<0){d=k[a>>2]|0;if(!d){d=a;c=5;break}else a=d}else{j=tG(c,g,f?h:d)|0;if((((j|0)==0?(e?-2147483648:0):j)|0)>=0){c=10;break}d=a+4|0;c=k[d>>2]|0;if(!c){c=9;break}else a=c}}if((c|0)==5){k[b>>2]=a;j=d;return j|0}else if((c|0)==9){k[b>>2]=a;j=d;return j|0}else if((c|0)==10){k[b>>2]=a;j=b;return j|0}return 0}function ju(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=r;r=r+32|0;f=d+24|0;e=d+8|0;h=d;g=k[(k[b>>2]|0)+20>>2]|0;c=a+4|0;j=k[a+72>>2]|0;i=k[j+4>>2]|0;a=h;k[a>>2]=k[j>>2];k[a+4>>2]=i;k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];Pc[g&255](e,b,f);x=0;a=ua(228,b|0)|0;f=x;x=0;do if(!(f&1)){if(a){x=0;Qa(134,c|0,e|0,b|0);j=x;x=0;if(j&1)break;P1(e);r=d;return}a=vb(80)|0;x=0;sa(498,a|0,b|0);j=x;x=0;if(!(j&1)){x=0;Qa(77,a|0,1392,59);x=0;break}j=mb()|0;lb(a|0);P1(e);yb(j|0)}while(0);j=mb()|0;P1(e);yb(j|0)}function ku(a){a=a|0;var b=0,c=0,d=0;if((i[a>>0]|0)==45){b=a;do b=b+1|0;while((i[b>>0]|0)==45)}else b=a;c=Kt(b)|0;if(!c)d=5;else{c=Jt(c)|0;if(!c)d=5;else{b=c;d=6}}if((d|0)==5){b=xm(b)|0;if(!b)b=0;else d=6}if((d|0)==6)b=(i[b>>0]|0)==124?b+1|0:0;b=b|0?b:a;if(!b){d=0;return d|0}if((i[b>>0]|0)==45){do b=b+1|0;while((i[b>>0]|0)==45);c=b}else c=b;b=Kt(c)|0;if(!b)d=12;else{b=Jt(b)|0;if(!b)d=12}if((d|0)==12){b=xm(c)|0;if(!b){d=0;return d|0}}d=(i[b>>0]|0)==47?b+1|0:0;return d|0}function lu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;VH(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=GG(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{uha(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function mu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;VH(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=GG(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){uha(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function nu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=a+4|0;a=k[d>>2]|0;if(!a){k[b>>2]=d;b=d;return b|0}h=i[c>>0]|0;g=(h&1)==0;h=g?(h&255)>>>1:k[c+4>>2]|0;g=g?c+1|0:k[c+8>>2]|0;while(1){c=a+16|0;d=i[c>>0]|0;e=(d&1)==0;d=e?(d&255)>>>1:k[a+20>>2]|0;c=e?c+1|0:k[a+24>>2]|0;e=d>>>0>>0;j=tG(g,c,e?d:h)|0;f=h>>>0>>0;if((((j|0)==0?(f?-2147483648:0):j)|0)<0){d=k[a>>2]|0;if(!d){d=a;c=5;break}else a=d}else{j=tG(c,g,f?h:d)|0;if((((j|0)==0?(e?-2147483648:0):j)|0)>=0){c=10;break}d=a+4|0;c=k[d>>2]|0;if(!c){c=9;break}else a=c}}if((c|0)==5){k[b>>2]=a;j=d;return j|0}else if((c|0)==9){k[b>>2]=a;j=d;return j|0}else if((c|0)==10){k[b>>2]=a;j=b;return j|0}return 0}function ou(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g;e=Gt(a,d,b)|0;c=k[e>>2]|0;if(c|0){a=c;a=a+28|0;r=g;return a|0}f=GG(40)|0;x=0;sa(430,f+16|0,b|0);b=x;x=0;if(b&1){g=mb()|0;uha(f);yb(g|0)}k[f+28>>2]=0;k[f+32>>2]=0;k[f+36>>2]=0;c=k[d>>2]|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=c;k[e>>2]=f;c=k[k[a>>2]>>2]|0;if(!c)c=f;else{k[a>>2]=c;c=k[e>>2]|0}hl(k[a+4>>2]|0,c);a=a+8|0;k[a>>2]=(k[a>>2]|0)+1;a=f;a=a+28|0;r=g;return a|0}function pu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h;f=GG(28)|0;g=f+16|0;k[g>>2]=k[c>>2];k[g+4>>2]=k[c+4>>2];k[g+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;d=nu(b,e,g)|0;c=k[d>>2]|0;if(!c){c=k[e>>2]|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=c;k[d>>2]=f;c=k[k[b>>2]>>2]|0;if(!c)c=f;else{k[b>>2]=c;c=k[d>>2]|0}hl(k[b+4>>2]|0,c);d=b+8|0;k[d>>2]=(k[d>>2]|0)+1;d=1;c=f}else d=0;k[a>>2]=c;i[a+4>>0]=d;if(d<<24>>24){r=h;return}P1(g);uha(f);r=h;return}function qu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=a+8|0;f=a+96|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;e=k[f>>2]|0;d=(e&65535)>>>8&255;if((e&255)<<24>>24){e=k[a+32>>2]|0;if(e){nha(e);d=i[a+97>>0]|0}}e=a+97|0;if(d<<24>>24){d=k[a+56>>2]|0;if(d|0)nha(d)}d=a+52|0;k[d>>2]=c;do if(c>>>0>8){d=i[a+98>>0]|0;if((b|0)!=0&d<<24>>24!=0){k[a+32>>2]=b;i[f>>0]=0;break}else{g=mha(c)|0;k[a+32>>2]=g;i[f>>0]=1;break}}else{k[a+32>>2]=a+44;k[d>>2]=8;i[f>>0]=0;d=i[a+98>>0]|0}while(0);if(d<<24>>24){k[a+60>>2]=0;k[a+56>>2]=0;i[e>>0]=0;return a|0}d=(c|0)<8?8:c;k[a+60>>2]=d;if((b|0)!=0&d>>>0>7){k[a+56>>2]=b;i[e>>0]=0;return a|0}else{g=mha(d)|0;k[a+56>>2]=g;i[e>>0]=1;return a|0}return 0}function ru(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;VH(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=GG(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){uha(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function su(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=a+4|0;c=k[d>>2]|0;if(c|0){e=i[b>>0]|0;a=(e&1)==0;e=a?(e&255)>>>1:k[b+4>>2]|0;b=a?b+1|0:k[b+8>>2]|0;a=d;a:do{while(1){f=c+16|0;g=i[f>>0]|0;h=(g&1)==0;g=h?(g&255)>>>1:k[c+20>>2]|0;f=tG(h?f+1|0:k[c+24>>2]|0,b,e>>>0>>0?e:g)|0;if((((f|0)==0?(g>>>0>>0?-2147483648:0):f)|0)>=0){a=c;break}c=k[c+4>>2]|0;if(!c)break a}c=k[a>>2]|0}while((c|0)!=0);if((a|0)!=(d|0)){h=a+16|0;g=i[h>>0]|0;f=(g&1)==0;g=f?(g&255)>>>1:k[a+20>>2]|0;h=tG(b,f?h+1|0:k[a+24>>2]|0,g>>>0>>0?g:e)|0;if((((h|0)==0?(e>>>0>>0?-2147483648:0):h)|0)>=0){h=a;return h|0}}}h=d;return h|0}function tu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;VH(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=GG(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{uha(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function uu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;VH(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=GG(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{uha(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function vu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=0;b=a+8|0;x=0;c=ua(271,k[b>>2]|0)|0;d=x;x=0;do if(d&1)e=16;else{x=0;d=xa(110,0,0,4)|0;a=x;x=0;if(a&1){a=Eb(0)|0;if(!c)break;x=0;ua(271,c|0)|0;g=x;x=0;if(!(g&1))break;g=Eb(0)|0;Nba(g)}if(c|0){x=0;ua(271,c|0)|0;g=x;x=0;if(g&1){g=Eb(0)|0;Nba(g)}}if(!d){a=k[b>>2]|0;if(!a)f=1;else{x=0;a=ua(271,a|0)|0;g=x;x=0;if(g&1){e=16;break}if(!a)f=0;else{x=0;ua(271,a|0)|0;g=x;x=0;if(g&1){g=Eb(0)|0;Nba(g)}else f=0}}}else f=-1;return f|0}while(0);if((e|0)==16)a=Eb(0)|0;Nba(a);return 0}function wu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=0;lE(a,78097,0);f=i[b>>0]|0;e=(f&1)==0;c=e?b+1|0:k[b+8>>2]|0;f=e?(f&255)>>>1:k[b+4>>2]|0;e=c+f|0;if(!f)return;f=a+4|0;b=0;while(1){d=i[c>>0]|0;if(d<<24>>24==92){b=b&1^1;g=13}else if(b&d<<24>>24==13)b=1;else if(b&d<<24>>24==10){b=i[a>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=k[f>>2]|0;x=0;Qa(86,a|0,b+-1|0,0);d=x;x=0;if(d&1){g=12;break}else b=0}else{b=0;g=13}if((g|0)==13){g=0;x=0;sa(440,a|0,d|0);d=x;x=0;if(d&1){g=12;break}b=b<<24>>24!=0}c=c+1|0;if((c|0)==(e|0)){g=3;break}}if((g|0)==3)return;else if((g|0)==12){g=mb()|0;P1(a);yb(g|0)}}function xu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;VH(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=GG(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{uha(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function yu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;VH(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=GG(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{uha(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function zu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;c=f+12|0;d=f;e=a+4|0;_G(c,b+64|0);x=0;Qa(134,e|0,c|0,b|0);g=x;x=0;if(g&1){g=mb()|0;P1(c);yb(g|0)}P1(c);cw(e);g=k[b+76>>2]|0;rc[k[(k[g>>2]|0)+28>>2]&1023](g,a);if(!(i[b+80>>0]|0)){EF(e);r=f;return}yD(e);lE(d,38773,8);x=0;sa(484,e|0,d|0);g=x;x=0;if(g&1){g=mb()|0;P1(d);yb(g|0)}else{P1(d);EF(e);r=f;return}}function Au(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=(((k[j>>2]|0)-c|0)/24|0)+1|0;if(e>>>0>178956970){fH(a);c=k[a>>2]|0}i=a+8|0;d=((k[i>>2]|0)-c|0)/24|0;if(d>>>0<89478485){d=d<<1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=(f-c|0)/24|0;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=178956970;f=e;e=(e-c|0)/24|0;l=6}if((l|0)==6){h=d;g=GG(d*24|0)|0;d=f}l=g+(e*24|0)|0;k[l>>2]=k[b>>2];k[l+4>>2]=k[b+4>>2];k[l+8>>2]=k[b+8>>2];k[l+12>>2]=k[b+12>>2];k[l+16>>2]=k[b+16>>2];k[l+20>>2]=k[b+20>>2];f=d-c|0;b=l+(((f|0)/-24|0)*24|0)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+24;k[i>>2]=g+(h*24|0);if(!c)return;uha(c);return}function Bu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+32|0;d=f+12|0;e=f;c=Ih(c,a)|0;k[c+84>>2]=b;_G(e,c+68|0);x=0;a=Ka(866,e|0,38285)|0;g=x;x=0;if(g&1){g=mb()|0;P1(e);yb(g|0)}k[d>>2]=k[a>>2];k[d+4>>2]=k[a+4>>2];k[d+8>>2]=k[a+8>>2];k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;x=0;a=Ka(867,b|0,d|0)|0;g=x;x=0;if(!(g&1)){k[a>>2]=c;P1(d);P1(e);r=f;return}g=mb()|0;P1(d);P1(e);yb(g|0)}function Cu(a){a=a|0;var b=0,c=0,d=0,e=0;e=0;d=i[a>>0]|0;b=a+1|0;c=d<<24>>24==36?b:a;do if(!c){c=d;e=7}else{if((i[c>>0]|0)==45)do c=c+1|0;while((i[c>>0]|0)==45);c=Kt(c)|0;if(c|0){c=Jt(c)|0;if(c|0){b=c;break}}c=i[a>>0]|0;e=7}while(0);if((e|0)==7)if(c<<24>>24!=45){e=a;return e|0}while(1){d=i[b>>0]|0;a=b+1|0;c=d<<24>>24==36?a:b;if(!c)c=d;else{if((i[c>>0]|0)==45)do c=c+1|0;while((i[c>>0]|0)==45);c=Kt(c)|0;if(c|0){c=Jt(c)|0;if(c|0){b=c;continue}}c=i[b>>0]|0}if(c<<24>>24==45)b=a;else break}return b|0}function Du(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;f=g+4|0;e=g;k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];d=Nk(a,d,f,c)|0;b=k[d>>2]|0;if(b|0){a=b;r=g;return a|0}e=GG(28)|0;x=0;sa(430,e+16|0,c|0);c=x;x=0;if(c&1){g=mb()|0;uha(e);yb(g|0)}b=k[f>>2]|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=b;k[d>>2]=e;b=k[k[a>>2]>>2]|0;if(!b)b=e;else{k[a>>2]=b;b=k[d>>2]|0}hl(k[a+4>>2]|0,b);a=a+8|0;k[a>>2]=(k[a>>2]|0)+1;a=e;r=g;return a|0}function Eu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g;k[c>>2]=k[k[c>>2]>>2];if((a|0)==(b|0)|(b|0)==4568)b=1;else if(!b)b=0;else{d=Ot(b,4360,4528,0)|0;if(!d)b=0;else if(!(k[d+8>>2]&~k[a+8>>2])){b=k[a+12>>2]|0;d=d+12|0;if((b|0)==4560?1:(b|0)==(k[d>>2]|0))b=1;else if(!b)b=0;else{e=Ot(b,4360,4328,0)|0;if(!e)b=0;else{b=k[d>>2]|0;if(!b)b=0;else{b=Ot(b,4360,4328,0)|0;if(!b)b=0;else{d=f;a=d+56|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(a|0));k[f>>2]=b;k[f+8>>2]=e;k[f+12>>2]=-1;k[f+48>>2]=1;Tc[k[(k[b>>2]|0)+28>>2]&63](b,f,k[c>>2]|0,1);if((k[f+24>>2]|0)==1){k[c>>2]=k[f+16>>2];b=1}else b=0}}}}}else b=0}r=g;return b|0}function Fu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;d=k[b>>2]|0;do if(d|0){e=i[c>>0]|0;if(!(e&1))e=(e&255)>>>1;else e=k[c+4>>2]|0;if(e){rN(c,48464)|0;d=k[b>>2]|0}b=k[b+4>>2]|0;Pc[k[(k[b>>2]|0)+24>>2]&255](f,b,d);b=i[f>>0]|0;e=(b&1)==0;x=0;xa(46,c|0,(e?f+1|0:k[f+8>>2]|0)|0,(e?(b&255)>>>1:k[f+4>>2]|0)|0)|0;b=x;x=0;if(b&1){g=mb()|0;P1(f);yb(g|0)}else{P1(f);break}}while(0);k[a>>2]=k[c>>2];k[a+4>>2]=k[c+4>>2];k[a+8>>2]=k[c+8>>2];d=0;while(1){if((d|0)==3)break;k[c+(d<<2)>>2]=0;d=d+1|0}r=g;return}function Gu(a){a=a|0;var b=0,c=0,d=0;d=0;if(!a){d=0;return d|0}b=i[42555]|0;a:do if(b<<24>>24){c=42555;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);b=mI(a)|0;if(!b){b=Hq(a)|0;if(!b){if(!a){d=0;return d|0}}else{a=b;d=7}}else{a=b;d=7}if((d|0)==7)while(1){b=mI(a)|0;if(b|0){a=b;d=7;continue}b=Hq(a)|0;if(!b)break;else{a=b;d=7}}b=i[29868]|0;b:do if(b<<24>>24){c=29868;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break b}return a|0}while(0);d=DJ(a)|0;return d|0}function Hu(a){a=a|0;var b=0,c=0,d=0;c=0;d=$m(a)|0;if(!d){d=0;return d|0}a=AN(d)|0;if(!a){b=i[d>>0]|0;a=d+1|0;if((b|4)<<24>>24==13)c=5;else{b=b<<24>>24|0;a=(b|0)!=10?((b|0)==12?a:0):a;if(!a)a=d;else c=5}}else c=5;if((c|0)==5)while(1){b=AN(a)|0;if(b|0){a=b;c=5;continue}b=i[a>>0]|0;c=a+1|0;if((b|4)<<24>>24==13){a=c;c=5;continue}b=b<<24>>24|0;b=(b|0)!=10?((b|0)==12?c:0):c;if(!b)break;else{a=b;c=5}}a=a|0?a:d;if(!a)a=0;else a=(i[a>>0]|0)==41?a+1|0:0;d=a|0?a:d;return d|0}function Iu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=0;g=a+72|0;b=k[g>>2]|0;if(b|0){h=b;return h|0}e=a+60|0;f=i[e>>0]|0;d=(f&1)==0;e=d?e+1|0:k[a+68>>2]|0;f=d?(f&255)>>>1:k[a+64>>2]|0;if(f>>>0>3){c=f;d=e;b=f;while(1){j=ia(l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24,1540483477)|0;b=(ia(j>>>24^j,1540483477)|0)^(ia(b,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else d=d+4|0}c=f+-4|0;d=c&-4;c=c-d|0;d=e+(d+4)|0}else{c=f;d=e;b=f}switch(c|0){case 3:{b=(l[d+2>>0]|0)<<16^b;h=7;break}case 2:{h=7;break}case 1:{h=8;break}default:{}}if((h|0)==7){b=(l[d+1>>0]|0)<<8^b;h=8}if((h|0)==8)b=ia((l[d>>0]|0)^b,1540483477)|0;j=ia(b>>>13^b,1540483477)|0;j=j>>>15^j;j=(k[a+56>>2]|0)+-1640531527+(j<<6)+(j>>>2)^j;k[g>>2]=j;return j|0}function Ju(a){a=a|0;var b=0,c=0,d=0,e=0;d=0;b=AN(a)|0;if(!b){c=i[a>>0]|0;b=a+1|0;if((c|4)<<24>>24==13)d=4;else{e=c<<24>>24|0;b=(e|0)!=10?((e|0)==12?b:0):b;if(!b)b=a;else d=4}}else d=4;if((d|0)==4)while(1){c=AN(b)|0;if(c|0){b=c;d=4;continue}d=i[b>>0]|0;c=b+1|0;if((d|4)<<24>>24==13){b=c;d=4;continue}e=d<<24>>24|0;c=(e|0)!=10?((e|0)==12?c:0):c;if(!c){c=d;break}else{b=c;d=4}}if(c<<24>>24==41){e=b+1|0;return e|0}if(!a){e=0;return e|0}b=i[38919]|0;a:do if(!(b<<24>>24))b=0;else{c=38919;while(1){if((i[a>>0]|0)!=b<<24>>24)break a;a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24)){b=0;break}}}while(0);e=b<<24>>24==0?a:0;return e|0}function Ku(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;g=j+16|0;f=j+8|0;d=j+4|0;e=j;h=a+52|0;c=(i[h>>0]|0)!=0;a:do if((b|0)==-1)if(c)b=-1;else{b=k[a+48>>2]|0;i[h>>0]=(b|0)!=-1&1}else{do if(c){c=a+48|0;k[d>>2]=k[c>>2];l=k[a+36>>2]|0;switch(Rc[k[(k[l>>2]|0)+12>>2]&15](l,k[a+40>>2]|0,d,d+4|0,e,g,g+8|0,f)|0){case 1:case 2:{b=-1;break a}case 3:{i[g>>0]=k[c>>2];k[f>>2]=g+1;break}default:{}}d=a+32|0;while(1){e=k[f>>2]|0;if(e>>>0<=g>>>0){d=13;break}l=e+-1|0;k[f>>2]=l;if(($A(i[l>>0]|0,k[d>>2]|0)|0)==-1){d=12;break}}if((d|0)==12){b=-1;break a}else if((d|0)==13)break}else c=a+48|0;while(0);k[c>>2]=b;i[h>>0]=1}while(0);r=j;return b|0}function Lu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;g=j+16|0;f=j+4|0;d=j+8|0;e=j;h=a+52|0;c=(i[h>>0]|0)!=0;a:do if((b|0)==-1)if(c)b=-1;else{b=k[a+48>>2]|0;i[h>>0]=(b|0)!=-1&1}else{do if(c){c=a+48|0;i[d>>0]=k[c>>2];l=k[a+36>>2]|0;switch(Rc[k[(k[l>>2]|0)+12>>2]&15](l,k[a+40>>2]|0,d,d+1|0,e,g,g+8|0,f)|0){case 1:case 2:{b=-1;break a}case 3:{i[g>>0]=k[c>>2];k[f>>2]=g+1;break}default:{}}d=a+32|0;while(1){e=k[f>>2]|0;if(e>>>0<=g>>>0){d=13;break}l=e+-1|0;k[f>>2]=l;if(($A(i[l>>0]|0,k[d>>2]|0)|0)==-1){d=12;break}}if((d|0)==12){b=-1;break a}else if((d|0)==13)break}else c=a+48|0;while(0);k[c>>2]=b;i[h>>0]=1}while(0);r=j;return b|0}function Mu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;j=d;i=a+8|0;g=c;a=0;h=0;a:while(1){if((g|0)==(d|0)|h>>>0>=e>>>0){f=15;break}c=p0(k[i>>2]|0)|0;x=0;f=xa(111,g|0,j-g|0,b|0)|0;l=x;x=0;if(l&1){f=7;break}if(c|0){x=0;ua(271,c|0)|0;l=x;x=0;if(l&1){f=6;break}}switch(f|0){case -2:case -1:{f=15;break a}case 0:{c=g+1|0;f=1;break}default:c=g+f|0}g=c;a=f+a|0;h=h+1|0}if((f|0)==6){l=Eb(0)|0;Nba(l)}else if((f|0)==7){a=mb()|0;if(c|0){x=0;ua(271,c|0)|0;l=x;x=0;if(l&1){l=Eb(0)|0;Nba(l)}}yb(a|0)}else if((f|0)==15)return a|0;return 0}function Nu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e;d=a+4|0;Tu(d);_G(c,b+68|0);x=0;Qa(134,d|0,c|0,b|0);f=x;x=0;if(f&1){f=mb()|0;P1(c);yb(f|0)}P1(c);c=b+80|0;if(k[c>>2]|0){vba(d);f=a+97|0;g=i[f>>0]|0;i[f>>0]=1;c=k[c>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);i[f>>0]=g}c=b+84|0;if(k[c>>2]|0){vba(d);g=k[c>>2]|0;rc[k[(k[g>>2]|0)+28>>2]&1023](g,a)}c=k[b+64>>2]|0;if(!c){EF(d);r=e;return}else{rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);r=e;return}}function Ou(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;f=g+4|0;e=g;k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];d=Ck(a,d,f,c)|0;b=k[d>>2]|0;if(b|0){a=b;r=g;return a|0}e=GG(120)|0;x=0;sa(519,e+16|0,c|0);c=x;x=0;if(c&1){g=mb()|0;uha(e);yb(g|0)}b=k[f>>2]|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=b;k[d>>2]=e;b=k[k[a>>2]>>2]|0;if(!b)b=e;else{k[a>>2]=b;b=k[d>>2]|0}hl(k[a+4>>2]|0,b);a=a+8|0;k[a>>2]=(k[a>>2]|0)+1;a=e;r=g;return a|0}function Pu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;c=f+12|0;d=f;e=a+4|0;lE(c,38856,1);x=0;sa(484,e|0,c|0);g=x;x=0;if(g&1){g=mb()|0;P1(c);yb(g|0)}P1(c);c=k[b+56>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);c=b+60|0;if(k[c>>2]|0){cw(e);g=k[c>>2]|0;rc[k[(k[g>>2]|0)+28>>2]&1023](g,a)}lE(d,38861,1);x=0;sa(484,e|0,d|0);g=x;x=0;if(!(g&1)){P1(d);r=f;return}g=mb()|0;P1(d);yb(g|0)}function Qu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=a+4|0;c=k[d>>2]|0;if(c|0){e=i[b>>0]|0;a=(e&1)==0;e=a?(e&255)>>>1:k[b+4>>2]|0;b=a?b+1|0:k[b+8>>2]|0;a=d;a:do{while(1){f=c+16|0;g=i[f>>0]|0;h=(g&1)==0;g=h?(g&255)>>>1:k[c+20>>2]|0;f=tG(h?f+1|0:k[c+24>>2]|0,b,e>>>0>>0?e:g)|0;if((((f|0)==0?(g>>>0>>0?-2147483648:0):f)|0)>=0){a=c;break}c=k[c+4>>2]|0;if(!c)break a}c=k[a>>2]|0}while((c|0)!=0);if((a|0)!=(d|0)){h=a+16|0;g=i[h>>0]|0;f=(g&1)==0;g=f?(g&255)>>>1:k[a+20>>2]|0;h=tG(b,f?h+1|0:k[a+24>>2]|0,g>>>0>>0?g:e)|0;if((((h|0)==0?(e>>>0>>0?-2147483648:0):h)|0)>=0){h=a;return h|0}}}h=d;return h|0}function Ru(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=0;j=a+72|0;h=a+76|0;f=k[h>>2]|0;e=k[j>>2]|0;i=f-e>>2;n=b+72|0;l=b+76|0;d=k[l>>2]|0;c=k[n>>2]|0;g=d-c>>2;i=g>>>0>>0?g:i;a:do if(i){g=a+72|0;a=b+72|0;e=k[e>>2]|0;d=k[c>>2]|0;c=(d|0)==0;b:do if(!((e|0)==0|c)){f=0;while(1){f=f+1|0;if(!(hj(e,d)|0)){c=e;break}if(f>>>0>=i>>>0){m=7;break}e=k[(k[g>>2]|0)+(f<<2)>>2]|0;d=k[(k[a>>2]|0)+(f<<2)>>2]|0;c=(d|0)==0;if((e|0)==0|c)break b}if((m|0)==7){f=k[h>>2]|0;e=k[j>>2]|0;d=k[l>>2]|0;c=k[n>>2]|0;break a}n=vk(c,d)|0;return n|0}while(0);n=c^1;return n|0}while(0);n=(f-e|0)>>>0<(d-c|0)>>>0;return n|0}function Su(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;c=f+12|0;d=f;e=a+4|0;_G(c,b+48|0);x=0;Qa(134,e|0,c|0,b|0);g=x;x=0;if(g&1){g=mb()|0;P1(c);yb(g|0)}P1(c);c=b+60|0;if(k[c>>2]|0){cw(e);g=k[c>>2]|0;rc[k[(k[g>>2]|0)+28>>2]&1023](g,a);r=f;return}if(!(i[b+64>>0]|0)){r=f;return}lE(d,38944,3);x=0;sa(484,e|0,d|0);g=x;x=0;if(g&1){g=mb()|0;P1(d);yb(g|0)}else{P1(d);r=f;return}}function Tu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;e=f;d=a+68|0;if((k[k[d>>2]>>2]&-2|0)==2){r=f;return}if(i[a+95>>0]|0)if(i[a+97>>0]|0){r=f;return}b=a+80|0;c=a+72|0;if(k[b>>2]|0)if(k[c>>2]|0)k[b>>2]=1;lE(e,78097,0);a:do if(k[c>>2]|0){b=0;while(1){x=0;Ka(866,e|0,k[(k[d>>2]|0)+8>>2]|0)|0;g=x;x=0;if(g&1)break;b=b+1|0;if(b>>>0>=(k[c>>2]|0)>>>0)break a}g=mb()|0;P1(e);yb(g|0)}while(0);x=0;sa(484,a|0,e|0);g=x;x=0;if(g&1){g=mb()|0;P1(e);yb(g|0)}else{P1(e);r=f;return}}function Uu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;lE(a,78097,0);e=i[b>>0]|0;f=(e&1)==0;c=f?b+1|0:k[b+8>>2]|0;e=f?(e&255)>>>1:k[b+4>>2]|0;f=c+e|0;if(!e)return;else b=0;a:while(1){e=i[c>>0]|0;d=e<<24>>24;do if(e<<24>>24==10){x=0;sa(440,a|0,32);e=x;x=0;if(e&1){b=5;break a}else b=1}else{if(b){x=0;b=ua(229,d|0)|0;d=x;x=0;if(d&1){b=5;break a}if(b|0){b=1;break}}x=0;sa(440,a|0,e|0);e=x;x=0;if(e&1){b=5;break a}else b=0}while(0);c=c+1|0;if((c|0)==(f|0)){b=2;break}}if((b|0)==2)return;else if((b|0)==5){f=mb()|0;P1(a);yb(f|0)}}function Vu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;l=r;r=r+48|0;f=l+16|0;e=l;d=l+32|0;k[d>>2]=b;g=d+4|0;j=a+48|0;m=k[j>>2]|0;k[g>>2]=c-((m|0)!=0&1);h=a+44|0;k[d+8>>2]=k[h>>2];k[d+12>>2]=m;if(!(k[18119]|0)){k[f>>2]=k[a+60>>2];k[f+4>>2]=d;k[f+8>>2]=2;d=E0(ec(145,f|0)|0)|0}else{ab(351,a|0);k[e>>2]=k[a+60>>2];k[e+4>>2]=d;k[e+8>>2]=2;d=E0(ec(145,e|0)|0)|0;Va(0)}if((d|0)<1){k[a>>2]=k[a>>2]|d&48^16;k[a+8>>2]=0;k[a+4>>2]=0}else{g=k[g>>2]|0;if(d>>>0>g>>>0){e=k[h>>2]|0;f=a+4|0;k[f>>2]=e;k[a+8>>2]=e+(d-g);if(!(k[j>>2]|0))d=c;else{k[f>>2]=e+1;i[b+(c+-1)>>0]=i[e>>0]|0;d=c}}}r=l;return d|0}function Wu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=b+36|0;d=lD(c,84)|0;k[d+4>>2]=k[a+4>>2];k[d>>2]=4748;e=d+8|0;f=a+8|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d>>2]=6736;e=a+48|0;f=k[e+4>>2]|0;g=d+48|0;k[g>>2]=k[e>>2];k[g+4>>2]=f;k[d>>2]=6840;g=d+56|0;f=a+56|0;k[g>>2]=k[f>>2];k[g+4>>2]=k[f+4>>2];k[g+8>>2]=k[f+8>>2];k[d>>2]=7696;g=d+68|0;f=a+68|0;k[g>>2]=k[f>>2];k[g+4>>2]=k[f+4>>2];k[g+8>>2]=k[f+8>>2];k[g+12>>2]=k[f+12>>2];d=N4(c,d)|0;i[d+59>>0]=i[a+59>>0]|0;k[d+60>>2]=k[a+60>>2];c=k[a+76>>2]|0;if(!c)return d|0;else{b=Wu(c,b)|0;k[d+76>>2]=b;return d|0}return 0}function Xu(a){a=a|0;var b=0,c=0,d=0,e=0;d=0;b=AN(a)|0;if(!b){c=i[a>>0]|0;b=a+1|0;if((c|4)<<24>>24==13)d=4;else{e=c<<24>>24|0;b=(e|0)!=10?((e|0)==12?b:0):b;if(!b)b=a;else d=4}}else d=4;if((d|0)==4)while(1){c=AN(b)|0;if(c|0){b=c;d=4;continue}d=i[b>>0]|0;c=b+1|0;if((d|4)<<24>>24==13){b=c;d=4;continue}e=d<<24>>24|0;c=(e|0)!=10?((e|0)==12?c:0):c;if(!c){c=d;break}else{b=c;d=4}}if(c<<24>>24==41){e=b+1|0;return e|0}if(!a){e=0;return e|0}b=i[38919]|0;a:do if(!(b<<24>>24))b=0;else{c=38919;while(1){if((i[a>>0]|0)!=b<<24>>24)break a;a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24)){b=0;break}}}while(0);e=b<<24>>24==0?a:0;return e|0}function Yu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h;f=nu(b,e,c)|0;d=k[f>>2]|0;if(d|0){g=0;b=d;k[a>>2]=b;b=a+4|0;i[b>>0]=g;r=h;return}g=GG(28)|0;x=0;sa(430,g+16|0,c|0);c=x;x=0;if(c&1){h=mb()|0;uha(g);yb(h|0)}d=k[e>>2]|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=d;k[f>>2]=g;d=k[k[b>>2]>>2]|0;if(!d)d=g;else{k[b>>2]=d;d=k[f>>2]|0}hl(k[b+4>>2]|0,d);f=b+8|0;k[f>>2]=(k[f>>2]|0)+1;f=1;b=g;k[a>>2]=b;b=a+4|0;i[b>>0]=f;r=h;return}function Zu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=a+4|0;b=k[g>>2]|0;i=a+16|0;c=k[i>>2]|0;d=b+(((c>>>0)/170|0)<<2)|0;h=a+8|0;if((k[h>>2]|0)==(b|0)){f=0;e=a+20|0;b=0}else{e=a+20|0;f=c+(k[e>>2]|0)|0;f=(k[b+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;b=(k[d>>2]|0)+(((c>>>0)%170|0)*24|0)|0}a:while(1){do{if((b|0)==(f|0))break a;a=k[b+20>>2]|0;if(a|0)CQ(a);b=b+24|0}while((b-(k[d>>2]|0)|0)!=4080);b=d+4|0;d=b;b=k[b>>2]|0}k[e>>2]=0;a=k[g>>2]|0;b=(k[h>>2]|0)-a>>2;if(b>>>0>2)do{uha(k[a>>2]|0);a=(k[g>>2]|0)+4|0;k[g>>2]=a;b=(k[h>>2]|0)-a>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=85;return}case 2:{k[i>>2]=170;return}default:return}}function _u(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;h=0;o=r;r=r+16|0;n=o;j=k[a+4>>2]|0;l=k[a+8>>2]|0;m=b+64|0;c=k[m>>2]|0;e=k[c+68>>2]|0;d=(k[c+72>>2]|0)-e>>2;a:do if(d){g=0;while(1){f=k[e+(g<<2)>>2]|0;if(!f){h=4;break}g=g+1|0;if((k[(k[(k[f>>2]|0)+-4>>2]|0)+4>>2]|0)!=(k[135]|0))break;if(g>>>0>=d>>>0)break a}if((h|0)==4)w3();i[n>>0]=0;d=b+68|0;c=ld(k[d>>2]|0,j,l,0,n)|0;if((c|0)!=0&(i[n>>0]|0)!=0){hv(c);k[d>>2]=c}c=k[m>>2]|0}while(0);rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);r=o;return}function $u(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+16|0;e=g;k[a>>2]=9264;k[a+4>>2]=b;j=a+8|0;m=a+12|0;h=a+20|0;l=a+24|0;f=a+32|0;i=a+36|0;b=a+44|0;a=j;d=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(d|0));k[b>>2]=c;k[e>>2]=0;x=0;sa(483,f|0,e|0);c=x;x=0;if(!(c&1)){r=g;return}e=mb()|0;b=k[f>>2]|0;a=b;if(b|0){d=k[i>>2]|0;if((d|0)!=(b|0))k[i>>2]=d+(~((d+-4-a|0)>>>2)<<2);uha(b)}b=k[h>>2]|0;a=b;if(b|0){d=k[l>>2]|0;if((d|0)!=(b|0))k[l>>2]=d+(~((d+-4-a|0)>>>2)<<2);uha(b)}b=k[j>>2]|0;if(!b)yb(e|0);a=k[m>>2]|0;if((a|0)!=(b|0))k[m>>2]=a+(~((a+-4-b|0)>>>2)<<2);uha(b);yb(e|0)}function av(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=r;r=r+16|0;f=g;k[e>>2]=c;c=p0(k[a+8>>2]|0)|0;x=0;a=xa(109,f|0,0,b|0)|0;b=x;x=0;if(b&1){f=mb()|0;if(c|0){x=0;ua(271,c|0)|0;g=x;x=0;if(g&1){g=Eb(0)|0;Nba(g)}}yb(f|0)}if(c|0){x=0;ua(271,c|0)|0;b=x;x=0;if(b&1){b=Eb(0)|0;Nba(b)}}a:do switch(a|0){case 0:case -1:{f=2;break}default:{a=a+-1|0;if(a>>>0>(d-(k[e>>2]|0)|0)>>>0)f=1;else while(1){if(!a){f=0;break a}b=i[f>>0]|0;d=k[e>>2]|0;k[e>>2]=d+1;i[d>>0]=b;a=a+-1|0;f=f+1|0}}}while(0);r=g;return f|0}function bv(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=0;f=a+72|0;b=k[f>>2]|0;if(b|0){g=b;return g|0}d=a+60|0;e=i[d>>0]|0;c=(e&1)==0;d=c?d+1|0:k[a+68>>2]|0;e=c?(e&255)>>>1:k[a+64>>2]|0;if(e>>>0>3){a=e;c=d;b=e;while(1){h=ia(l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24,1540483477)|0;b=(ia(h>>>24^h,1540483477)|0)^(ia(b,1540483477)|0);a=a+-4|0;if(a>>>0<=3)break;else c=c+4|0}a=e+-4|0;c=a&-4;a=a-c|0;c=d+(c+4)|0}else{a=e;c=d;b=e}switch(a|0){case 3:{b=(l[c+2>>0]|0)<<16^b;g=7;break}case 2:{g=7;break}case 1:{g=8;break}default:{}}if((g|0)==7){b=(l[c+1>>0]|0)<<8^b;g=8}if((g|0)==8)b=ia((l[c>>0]|0)^b,1540483477)|0;h=ia(b>>>13^b,1540483477)|0;h=h>>>15^h;k[f>>2]=h;return h|0}function cv(a){a=a|0;var b=0,c=0;a=bq(a)|0;if(!a){b=0;return b|0}b=sr(a)|0;if(b){a=b;while(1){b=sr(a)|0;if(!b)break;else a=b}}b=mI(a)|0;if(b){a=b;while(1){b=mI(a)|0;if(!b)break;else a=b}}c=i[a>>0]|0;b=a+1|0;a=c<<24>>24|0;b=(a|0)!=59?((a|0)==125?b:0):b;return b|0}function dv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+32|0;c=e+12|0;d=e;a=b+60|0;if(!(i[b+57>>0]|0)){_G(d,a);x=0;a=ua(263,((i[d>>0]&1)==0?d+1|0:k[d+8>>2]|0)|0)|0;b=x;x=0;if(b&1){e=mb()|0;P1(d);yb(e|0)}else{P1(d);b=a;r=e;return b|0}}else{_G(c,a);x=0;a=ua(262,((i[c>>0]&1)==0?c+1|0:k[c+8>>2]|0)|0)|0;b=x;x=0;if(b&1){e=mb()|0;P1(c);yb(e|0)}else{P1(c);b=a;r=e;return b|0}}return 0}function ev(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=0;k[a>>2]=0;g=a+4|0;k[g>>2]=0;k[a+8>>2]=0;f=b+4|0;c=(k[f>>2]|0)-(k[b>>2]|0)|0;e=c>>3;if(!e)return;if(e>>>0>536870911){x=0;ra(322,a|0);h=x;x=0;if(!(h&1))d=4}else d=4;if((d|0)==4){x=0;c=ua(186,c|0)|0;h=x;x=0;if(!(h&1)){k[g>>2]=c;k[a>>2]=c;k[a+8>>2]=c+(e<<3);d=k[b>>2]|0;e=k[f>>2]|0;if((d|0)==(e|0))return;do{k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];c=c+8|0;k[g>>2]=c;d=d+8|0}while((d|0)!=(e|0));return}}e=mb()|0;c=k[a>>2]|0;if(!c)yb(e|0);d=k[g>>2]|0;if((d|0)!=(c|0))k[g>>2]=d+(~((d+-8-c|0)>>>3)<<3);uha(c);yb(e|0)}function fv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+128|0;j=g+16|0;l=g+12|0;h=g;i=g+8|0;k[l>>2]=j+100;eD(a,j,l,d,e,f);e=h;k[e>>2]=0;k[e+4>>2]=0;k[i>>2]=j;e=(k[c>>2]|0)-b>>2;f=p0(k[a>>2]|0)|0;x=0;e=Pa(21,b|0,i|0,e|0,h|0)|0;a=x;x=0;if(a&1){e=mb()|0;if(f|0){x=0;ua(271,f|0)|0;l=x;x=0;if(l&1){l=Eb(0)|0;Nba(l)}}yb(e|0)}if(f|0){x=0;ua(271,f|0)|0;l=x;x=0;if(l&1){l=Eb(0)|0;Nba(l)}}if((e|0)==-1)tI(50288);else{k[c>>2]=b+(e<<2);r=g;return}}function gv(a){a=a|0;var b=0,c=0,d=0;b=yU(a)|0;if(!b)b=0;else b=rv(b)|0;b=b|0?b:a;a:do if(b|0){c=i[29937]|0;if(c<<24>>24){d=29937;do{if((i[b>>0]|0)!=c<<24>>24)break a;b=b+1|0;d=d+1|0;c=i[d>>0]|0}while(c<<24>>24!=0)}b=DJ(b)|0;if(b|0){a=b;return a|0}}while(0);a=pn(a)|0;return a|0}function hv(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=k[a+72>>2]|0;f=(k[a+76>>2]|0)-b>>2;if(!f)return;e=a+72|0;a=0;while(1){c=k[(k[b+(a<<2)>>2]|0)+72>>2]|0;do if(c|0){d=k[c+72>>2]|0;if(((k[c+76>>2]|0)-d|0)==4){c=k[d>>2]|0;if(c|0)if(Ot(c,96,736,0)|0){c=k[b+(a<<2)>>2]|0;if(k[c+68>>2]|0){b=k[c+72>>2]|0;d=k[b+72>>2]|0;g=d+4|0;b=b+76|0;c=(k[b>>2]|0)-g|0;VH(d|0,g|0,c|0)|0;c=d+(c>>2<<2)|0;d=k[b>>2]|0;if((d|0)==(c|0))break;k[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);break}d=k[c+76>>2]|0;if(d|0){if(i[c+57>>0]|0)i[d+57>>0]=1;g=b+(a<<2)|0;k[g>>2]=k[(k[g>>2]|0)+76>>2]}}}}while(0);a=a+1|0;if((a|0)==(f|0))break;b=k[e>>2]|0}return}function iv(a){a=a|0;var b=0,c=0;c=0;switch(i[a>>0]|0){case 42:{b=a+1|0;break}case 45:{b=a;do b=b+1|0;while((i[b>>0]|0)==45);c=3;break}default:{b=a;c=3}}do if((c|0)==3){c=Kt(b)|0;if(c|0){c=Jt(c)|0;if(c|0){b=c;break}}b=xm(b)|0}while(0);c=b|0?b:a;if(!c)b=0;else{b=c+1|0;if((i[c>>0]|0)==124)b=(i[b>>0]|0)==61?0:b;else b=0}b=b|0?b:a;if(!b){a=0;return a|0}if((i[b>>0]|0)==45)do b=b+1|0;while((i[b>>0]|0)==45);b=Kt(b)|0;if(!b){a=0;return a|0}a=Jt(b)|0;return a|0}function jv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)==1)b=2;else if(b+-1&b)b=gf(b)|0;e=k[a+4>>2]|0;if(b>>>0>e>>>0){sk(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ha(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ka(c+-1|0)|0);else c=gf(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;sk(a,b);return}function kv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=r;r=r+16|0;f=e;_G(f,68980);x=0;sa(487,a|0,f|0);d=x;x=0;do if(d&1)d=mb()|0;else{k[a>>2]=8184;d=a+8|0;x=0;sa(430,d|0,f|0);g=x;x=0;if(g&1){d=mb()|0;f4(a);break}P1(f);k[a>>2]=10720;k[a+20>>2]=b;k[a+24>>2]=c;x=0;Ka(874,d|0,31510)|0;g=x;x=0;if(!(g&1)){r=e;return}g=mb()|0;k[a>>2]=8184;P1(d);f4(a);yb(g|0)}while(0);P1(f);g=d;yb(g|0)}function lv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g;a:do if(!b)d=0;else{do if(c|0){f=(a|0)==0?d:a;d=i[b>>0]|0;a=d&255;if(d<<24>>24>-1){k[f>>2]=a;d=d<<24>>24!=0&1;break a}d=a+-194|0;if(d>>>0<=50){a=b+1|0;e=k[17060+(d<<2)>>2]|0;if(c>>>0<4)if(e&-2147483648>>>((c*6|0)+-6|0)|0)break;d=l[a>>0]|0;c=d>>>3;if((c+-16|c+(e>>26))>>>0<=7){d=d+-128|e<<6;if((d|0)>=0){k[f>>2]=d;d=2;break a}a=l[b+2>>0]|0;if((a&192|0)==128){a=a+-128|d<<6;if((a|0)>=0){k[f>>2]=a;d=3;break a}d=l[b+3>>0]|0;if((d&192|0)==128){k[f>>2]=d+-128|a<<6;d=4;break a}}}}}while(0);d=L0()|0;k[d>>2]=84;d=-1}while(0);r=g;return d|0}function mv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g;e=bu(a,d,b)|0;c=k[e>>2]|0;if(c|0){a=c;a=a+28|0;r=g;return a|0}f=GG(32)|0;x=0;sa(430,f+16|0,b|0);b=x;x=0;if(b&1){g=mb()|0;uha(f);yb(g|0)}k[f+28>>2]=0;c=k[d>>2]|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=c;k[e>>2]=f;c=k[k[a>>2]>>2]|0;if(!c)c=f;else{k[a>>2]=c;c=k[e>>2]|0}hl(k[a+4>>2]|0,c);a=a+8|0;k[a>>2]=(k[a>>2]|0)+1;a=f;a=a+28|0;r=g;return a|0}function nv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=0;k[a>>2]=0;h=a+4|0;k[h>>2]=0;k[a+8>>2]=0;f=b+4|0;c=(k[f>>2]|0)-(k[b>>2]|0)|0;e=c>>2;if(!e)return;if(e>>>0>1073741823){x=0;ra(322,a|0);g=x;x=0;if(!(g&1))d=4}else d=4;if((d|0)==4){x=0;g=ua(186,c|0)|0;d=x;x=0;if(!(d&1)){k[h>>2]=g;k[a>>2]=g;k[a+8>>2]=g+(e<<2);c=k[b>>2]|0;e=k[f>>2]|0;if((c|0)==(e|0))return;b=(e+-4-c|0)>>>2;d=g;while(1){k[d>>2]=k[c>>2];c=c+4|0;if((c|0)==(e|0))break;else d=d+4|0}k[h>>2]=g+(b+1<<2);return}}e=mb()|0;c=k[a>>2]|0;if(!c)yb(e|0);d=k[h>>2]|0;if((d|0)!=(c|0))k[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);yb(e|0)}function ov(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=0;k[a>>2]=0;h=a+4|0;k[h>>2]=0;k[a+8>>2]=0;f=b+4|0;c=(k[f>>2]|0)-(k[b>>2]|0)|0;e=c>>2;if(!e)return;if(e>>>0>1073741823){x=0;ra(322,a|0);g=x;x=0;if(!(g&1))d=4}else d=4;if((d|0)==4){x=0;g=ua(186,c|0)|0;d=x;x=0;if(!(d&1)){k[h>>2]=g;k[a>>2]=g;k[a+8>>2]=g+(e<<2);c=k[b>>2]|0;e=k[f>>2]|0;if((c|0)==(e|0))return;b=(e+-4-c|0)>>>2;d=g;while(1){k[d>>2]=k[c>>2];c=c+4|0;if((c|0)==(e|0))break;else d=d+4|0}k[h>>2]=g+(b+1<<2);return}}e=mb()|0;c=k[a>>2]|0;if(!c)yb(e|0);d=k[h>>2]|0;if((d|0)!=(c|0))k[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);yb(e|0)}function pv(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,j=0;j=0;e=i[a>>0]|0;g=a+4|0;f=k[g>>2]|0;do if(((e&1)==0?(e&255)>>>1:f)|0){if((b|0)!=(c|0)){e=c;f=b;while(1){e=e+-4|0;if(f>>>0>=e>>>0)break;h=k[f>>2]|0;k[f>>2]=k[e>>2];k[e>>2]=h;f=f+4|0}e=i[a>>0]|0;f=k[g>>2]|0}g=(e&1)==0;a=g?a+1|0:k[a+8>>2]|0;h=c+-4|0;c=a+(g?(e&255)>>>1:f)|0;f=b;while(1){e=i[a>>0]|0;g=e<<24>>24|0;g=(g|0)<1|(g|0)==127;if(f>>>0>=h>>>0)break;if(!g)if((e<<24>>24|0)!=(k[f>>2]|0)){j=10;break}a=(c-a|0)>1?a+1|0:a;f=f+4|0}if((j|0)==10){k[d>>2]=4;break}if(!g)if(((k[h>>2]|0)+-1|0)>>>0>=e<<24>>24>>>0)k[d>>2]=4}while(0);return}function qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;_G(a,b);d=a+12|0;x=0;sa(430,d|0,b+12|0);e=x;x=0;if(e&1){b=mb()|0;P1(a);yb(b|0)}e=a+24|0;x=0;sa(430,e|0,b+24|0);b=x;x=0;if(b&1){b=mb()|0;P1(d);P1(a);yb(b|0)}x=0;sa(430,a+36|0,c|0);b=x;x=0;if(b&1){b=mb()|0;P1(e);P1(d);P1(a);yb(b|0)}else return}function rv(a){a=a|0;var b=0,c=0;a=zz(a)|0;if(!a){c=0;return c|0}while(1){b=zz(a)|0;if(!b){b=a;break}else a=b}a=Az(b)|0;if(!a)a=b;else while(1){b=Az(a)|0;if(!b)break;else a=b}a=yU(a)|0;if(!a){c=0;return c|0}while(1){b=zz(a)|0;if(!b){b=11;break}while(1){c=zz(b)|0;if(!c){c=b;break}else b=c}b=Az(c)|0;if(!b)b=c;else while(1){c=Az(b)|0;if(!c)break;else b=c}b=yU(b)|0;if(!b){b=11;break}else a=b}if((b|0)==11)return a|0;return 0}function sv(a){a=a|0;var b=0,c=0,d=0;c=i[29965]|0;a:do if(!(c<<24>>24))b=0;else{b=i[a>>0]|0;d=29965;while(1){if(b<<24>>24==c<<24>>24)break a;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){b=0;break}}}while(0);b=b<<24>>24?a+1|0:a;if(b|0){d=LN(b)|0;b=d|0?d:b;if(b|0)if((i[b>>0]|0)==110){b=Op(b+1|0)|0;if(b|0){a=b;return a|0}}}b=wy(a)|0;if(b|0){b=mx(b)|0;if(b|0){a=b;return a|0}}a=BY(a)|0;return a|0}function tv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>3)+1|0;if(e>>>0>536870911){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>3>>>0<268435455){d=d>>2;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>3;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=536870911;f=e;e=e-c>>3;l=6}if((l|0)==6){h=d;g=GG(d<<3)|0;d=f}l=g+(e<<3)|0;e=b;b=k[e+4>>2]|0;f=l;k[f>>2]=k[e>>2];k[f+4>>2]=b;f=d-c|0;b=l+(0-(f>>3)<<3)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+8;k[i>>2]=g+(h<<3);if(!c)return;uha(c);return}function uv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>3)+1|0;if(e>>>0>536870911){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>3>>>0<268435455){d=d>>2;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>3;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=536870911;f=e;e=e-c>>3;l=6}if((l|0)==6){h=d;g=GG(d<<3)|0;d=f}l=g+(e<<3)|0;e=b;b=k[e+4>>2]|0;f=l;k[f>>2]=k[e>>2];k[f+4>>2]=b;f=d-c|0;b=l+(0-(f>>3)<<3)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+8;k[i>>2]=g+(h<<3);if(!c)return;uha(c);return}function vv(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+16|0;c=d;k[c>>2]=b;b=a+4|0;if(!(yq(b,c)|0)){c=68536;r=d;return c|0}b=yq(b,c)|0;if(b|0){c=k[b+12>>2]|0;r=d;return c|0}b=vb(8)|0;x=0;sa(441,b|0,26731);d=x;x=0;if(d&1){d=mb()|0;lb(b|0);yb(d|0)}else{k[b>>2]=24932;Wb(b|0,4448,308)}return 0}function wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;f=g;c=k[a+72>>2]|0;e=(k[a+76>>2]|0)-c>>2;if(!e){b=0;r=g;return b|0}d=a+72|0;a=0;while(1){c=k[c+(a<<2)>>2]|0;h=k[(k[c>>2]|0)+112>>2]|0;lE(f,78097,0);x=0;c=xa(h|0,c|0,b|0,f|0)|0;h=x;x=0;if(h&1){a=7;break}P1(f);a=a+1|0;if(c){c=1;a=8;break}if(a>>>0>=e>>>0){c=0;a=8;break}c=k[d>>2]|0}if((a|0)==7){h=mb()|0;P1(f);yb(h|0)}else if((a|0)==8){r=g;return c|0}return 0}function xv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;g=h;d=k[b+72>>2]|0;f=(k[b+76>>2]|0)-d>>2;if(!f){g=1;r=h;return g|0}e=b+72|0;b=0;while(1){i=k[(k[a>>2]|0)+112>>2]|0;d=k[d+(b<<2)>>2]|0;_G(g,c);x=0;d=xa(i|0,a|0,d|0,g|0)|0;i=x;x=0;if(i&1){d=7;break}P1(g);b=b+1|0;if(!d){b=0;d=8;break}if(b>>>0>=f>>>0){b=1;d=8;break}d=k[e>>2]|0}if((d|0)==7){i=mb()|0;P1(g);yb(i|0)}else if((d|0)==8){r=h;return b|0}return 0}function yv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;g=h;d=k[a+72>>2]|0;f=(k[a+76>>2]|0)-d>>2;if(!f){g=0;r=h;return g|0}e=a+72|0;a=0;while(1){d=k[d+(a<<2)>>2]|0;i=k[(k[d>>2]|0)+108>>2]|0;_G(g,c);x=0;d=xa(i|0,d|0,b|0,g|0)|0;i=x;x=0;if(i&1){d=7;break}P1(g);a=a+1|0;if(d){a=1;d=8;break}if(a>>>0>=f>>>0){a=0;d=8;break}d=k[e>>2]|0}if((d|0)==7){i=mb()|0;P1(g);yb(i|0)}else if((d|0)==8){r=h;return a|0}return 0}function zv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;h=i;f=k[a+8>>2]|0;d=a+4|0;c=k[d>>2]|0;if(f-c>>2>>>0>>0){d=k[a>>2]|0;g=c-d>>2;e=g+b|0;if(e>>>0>1073741823)fH(a);c=f-d|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c}else c=1073741823;ED(h,c,g,a+16|0);g=h+8|0;f=k[g>>2]|0;vE(f|0,0,b<<2|0)|0;k[g>>2]=f+(b<<2);Vz(a,h);AE(h)}else do{k[c>>2]=0;c=(k[d>>2]|0)+4|0;k[d>>2]=c;b=b+-1|0}while((b|0)!=0);r=i;return}function Av(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=r;r=r+64|0;i=j+16|0;h=j;lE(h,38632,9);x=0;g=i;b=g+40|0;do{k[g>>2]=k[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(b|0));b=ta(125,h|0,a|0,d|0,i|0,f|0,c|0)|0;d=x;x=0;if(d&1){j=mb()|0;P1(h);yb(j|0)}P1(h);Z2(i,c+36|0);x=0;b=Ka(k[(k[b>>2]|0)+40>>2]|0,b|0,i|0)|0;c=x;x=0;if(!(c&1)){r=j;return b|0}j=mb()|0;yb(j|0);return 0}function Bv(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;g=r;r=r+16|0;e=g;f=TN(b)|0;k[e>>2]=f;x=0;b=Ka(865,e|0,74204)|0;h=x;x=0;if(!(h&1)){x=0;Pa(k[(k[b>>2]|0)+48>>2]|0,b|0,49232,49258,c|0)|0;h=x;x=0;if(!(h&1)){x=0;c=Ka(865,e|0,74212)|0;h=x;x=0;if(!(h&1)){x=0;b=ua(k[(k[c>>2]|0)+16>>2]|0,c|0)|0;h=x;x=0;if(!(h&1)){k[d>>2]=b;x=0;sa(k[(k[c>>2]|0)+20>>2]|0,a|0,c|0);h=x;x=0;if(!(h&1)){sK(f)|0;r=g;return}}}}}h=mb()|0;sK(f)|0;yb(h|0)}function Cv(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;g=r;r=r+16|0;e=g;f=TN(b)|0;k[e>>2]=f;x=0;b=Ka(865,e|0,74172)|0;h=x;x=0;if(!(h&1)){x=0;Pa(k[(k[b>>2]|0)+32>>2]|0,b|0,49232,49258,c|0)|0;h=x;x=0;if(!(h&1)){x=0;c=Ka(865,e|0,74184)|0;h=x;x=0;if(!(h&1)){x=0;b=ua(k[(k[c>>2]|0)+16>>2]|0,c|0)|0;h=x;x=0;if(!(h&1)){i[d>>0]=b;x=0;sa(k[(k[c>>2]|0)+20>>2]|0,a|0,c|0);h=x;x=0;if(!(h&1)){sK(f)|0;r=g;return}}}}}h=mb()|0;sK(f)|0;yb(h|0)}function Dv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=0;l=a+4|0;c=k[a>>2]|0;e=((k[l>>2]|0)-c>>3)+1|0;if(e>>>0>536870911){fH(a);c=k[a>>2]|0}i=c;j=a+8|0;d=(k[j>>2]|0)-c|0;if(d>>3>>>0<268435455){d=d>>2;d=d>>>0>>0?e:d;f=k[l>>2]|0;e=f-c>>3;if(!d){h=0;g=0;d=f}else m=6}else{e=k[l>>2]|0;d=536870911;f=e;e=e-c>>3;m=6}if((m|0)==6){h=d;g=GG(d<<3)|0;d=f}m=g+(e<<3)|0;e=b;b=k[e+4>>2]|0;f=m;k[f>>2]=k[e>>2];k[f+4>>2]=b;f=d-c|0;b=m+(0-(f>>3)<<3)|0;WC(b|0,i|0,f|0)|0;k[a>>2]=b;k[l>>2]=m+8;k[j>>2]=g+(h<<3);if(!c)return;uha(i);return}function Ev(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;b=Ot(b,64,256,0)|0;a:do if(!b){b=0;c=0}else{d=k[a+60>>2]|0;f=(k[a+64>>2]|0)-d>>2;g=b+60|0;e=k[g>>2]|0;c=e;if((f|0)==((k[b+64>>2]|0)-e>>2|0))if((k[a+76>>2]|0)==(k[b+76>>2]|0))if(!f){b=1;c=1}else{e=a+60|0;c=k[c>>2]|0;b=k[d>>2]|0;if((c|0)!=0&(b|0)!=0){a=0;while(1){a=a+1|0;if(!(Jc[k[(k[b>>2]|0)+76>>2]&1023](b,c)|0)){b=1;c=0;break a}if(a>>>0>=f>>>0){b=1;c=1;break a}c=k[(k[g>>2]|0)+(a<<2)>>2]|0;b=k[(k[e>>2]|0)+(a<<2)>>2]|0;if(!((c|0)!=0&(b|0)!=0)){b=1;c=0;break}}}else{b=1;c=0}}else{b=1;c=0}else{b=1;c=0}}while(0);return b&c|0}function Fv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;h=j;d=k[b>>2]|0;g=b+4|0;if((d|0)==(g|0)){r=j;return}e=a+88|0;f=h+4|0;a=d;while(1){d=Wu(k[a+16>>2]|0,c)|0;b=GG(20)|0;k[b+16>>2]=d;x=0;Qa(84,h|0,e|0,b|0);d=x;x=0;if(d&1){a=6;break}if(!(i[f>>0]|0))uha(b);b=k[a+4>>2]|0;if(!b)while(1){b=k[a+8>>2]|0;if((k[b>>2]|0)==(a|0))break;else a=b}else while(1){a=k[b>>2]|0;if(!a)break;else b=a}if((b|0)==(g|0)){a=3;break}else a=b}if((a|0)==3){r=j;return}else if((a|0)==6){j=mb()|0;uha(b);yb(j|0)}}function Gv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=0;k[a>>2]=0;g=a+4|0;k[g>>2]=0;k[a+8>>2]=0;f=b+4|0;c=(k[f>>2]|0)-(k[b>>2]|0)|0;e=c>>2;if(!e)return;if(e>>>0>1073741823){x=0;ra(322,a|0);h=x;x=0;if(!(h&1))d=4}else d=4;if((d|0)==4){x=0;c=ua(186,c|0)|0;h=x;x=0;if(!(h&1)){k[g>>2]=c;k[a>>2]=c;k[a+8>>2]=c+(e<<2);d=k[b>>2]|0;e=k[f>>2]|0;if((d|0)==(e|0))return;do{k[c>>2]=k[d>>2];c=(k[g>>2]|0)+4|0;k[g>>2]=c;d=d+4|0}while((d|0)!=(e|0));return}}e=mb()|0;c=k[a>>2]|0;if(!c)yb(e|0);d=k[g>>2]|0;if((d|0)!=(c|0))k[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);yb(e|0)}function Hv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=0;k[a>>2]=0;g=a+4|0;k[g>>2]=0;k[a+8>>2]=0;f=b+4|0;c=(k[f>>2]|0)-(k[b>>2]|0)|0;e=c>>2;if(!e)return;if(e>>>0>1073741823){x=0;ra(322,a|0);h=x;x=0;if(!(h&1))d=4}else d=4;if((d|0)==4){x=0;c=ua(186,c|0)|0;h=x;x=0;if(!(h&1)){k[g>>2]=c;k[a>>2]=c;k[a+8>>2]=c+(e<<2);d=k[b>>2]|0;e=k[f>>2]|0;if((d|0)==(e|0))return;do{k[c>>2]=k[d>>2];c=(k[g>>2]|0)+4|0;k[g>>2]=c;d=d+4|0}while((d|0)!=(e|0));return}}e=mb()|0;c=k[a>>2]|0;if(!c)yb(e|0);d=k[g>>2]|0;if((d|0)!=(c|0))k[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);yb(e|0)}function Iv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g;e=iu(a,d,b)|0;c=k[e>>2]|0;if(c|0){a=c;a=a+28|0;r=g;return a|0}f=GG(32)|0;x=0;sa(430,f+16|0,b|0);b=x;x=0;if(b&1){g=mb()|0;uha(f);yb(g|0)}k[f+28>>2]=0;c=k[d>>2]|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=c;k[e>>2]=f;c=k[k[a>>2]>>2]|0;if(!c)c=f;else{k[a>>2]=c;c=k[e>>2]|0}hl(k[a+4>>2]|0,c);a=a+8|0;k[a>>2]=(k[a>>2]|0)+1;a=f;a=a+28|0;r=g;return a|0}function Jv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=0;k[a>>2]=0;g=a+4|0;k[g>>2]=0;k[a+8>>2]=0;f=b+4|0;c=(k[f>>2]|0)-(k[b>>2]|0)|0;e=c>>2;if(!e)return;if(e>>>0>1073741823){x=0;ra(322,a|0);h=x;x=0;if(!(h&1))d=4}else d=4;if((d|0)==4){x=0;c=ua(186,c|0)|0;h=x;x=0;if(!(h&1)){k[g>>2]=c;k[a>>2]=c;k[a+8>>2]=c+(e<<2);d=k[b>>2]|0;e=k[f>>2]|0;if((d|0)==(e|0))return;do{k[c>>2]=k[d>>2];c=(k[g>>2]|0)+4|0;k[g>>2]=c;d=d+4|0}while((d|0)!=(e|0));return}}e=mb()|0;c=k[a>>2]|0;if(!c)yb(e|0);d=k[g>>2]|0;if((d|0)!=(c|0))k[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);yb(e|0)}function Kv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=0;k[a>>2]=0;g=a+4|0;k[g>>2]=0;k[a+8>>2]=0;f=b+4|0;c=(k[f>>2]|0)-(k[b>>2]|0)|0;e=c>>2;if(!e)return;if(e>>>0>1073741823){x=0;ra(322,a|0);h=x;x=0;if(!(h&1))d=4}else d=4;if((d|0)==4){x=0;c=ua(186,c|0)|0;h=x;x=0;if(!(h&1)){k[g>>2]=c;k[a>>2]=c;k[a+8>>2]=c+(e<<2);d=k[b>>2]|0;e=k[f>>2]|0;if((d|0)==(e|0))return;do{k[c>>2]=k[d>>2];c=(k[g>>2]|0)+4|0;k[g>>2]=c;d=d+4|0}while((d|0)!=(e|0));return}}e=mb()|0;c=k[a>>2]|0;if(!c)yb(e|0);d=k[g>>2]|0;if((d|0)!=(c|0))k[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);yb(e|0)}function Lv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=0;k[a>>2]=0;g=a+4|0;k[g>>2]=0;k[a+8>>2]=0;f=b+4|0;c=(k[f>>2]|0)-(k[b>>2]|0)|0;e=c>>2;if(!e)return;if(e>>>0>1073741823){x=0;ra(322,a|0);h=x;x=0;if(!(h&1))d=4}else d=4;if((d|0)==4){x=0;c=ua(186,c|0)|0;h=x;x=0;if(!(h&1)){k[g>>2]=c;k[a>>2]=c;k[a+8>>2]=c+(e<<2);d=k[b>>2]|0;e=k[f>>2]|0;if((d|0)==(e|0))return;do{k[c>>2]=k[d>>2];c=(k[g>>2]|0)+4|0;k[g>>2]=c;d=d+4|0}while((d|0)!=(e|0));return}}e=mb()|0;c=k[a>>2]|0;if(!c)yb(e|0);d=k[g>>2]|0;if((d|0)!=(c|0))k[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);yb(e|0)}function Mv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=0;k[a>>2]=0;g=a+4|0;k[g>>2]=0;k[a+8>>2]=0;f=b+4|0;c=(k[f>>2]|0)-(k[b>>2]|0)|0;e=c>>2;if(!e)return;if(e>>>0>1073741823){x=0;ra(322,a|0);h=x;x=0;if(!(h&1))d=4}else d=4;if((d|0)==4){x=0;c=ua(186,c|0)|0;h=x;x=0;if(!(h&1)){k[g>>2]=c;k[a>>2]=c;k[a+8>>2]=c+(e<<2);d=k[b>>2]|0;e=k[f>>2]|0;if((d|0)==(e|0))return;do{k[c>>2]=k[d>>2];c=(k[g>>2]|0)+4|0;k[g>>2]=c;d=d+4|0}while((d|0)!=(e|0));return}}e=mb()|0;c=k[a>>2]|0;if(!c)yb(e|0);d=k[g>>2]|0;if((d|0)!=(c|0))k[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);yb(e|0)}function Nv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;g=h;d=k[b+72>>2]|0;f=(k[b+76>>2]|0)-d>>2;if(!f){g=1;r=h;return g|0}e=b+72|0;b=0;while(1){i=k[(k[a>>2]|0)+116>>2]|0;d=k[d+(b<<2)>>2]|0;_G(g,c);x=0;d=xa(i|0,a|0,d|0,g|0)|0;i=x;x=0;if(i&1){d=7;break}P1(g);b=b+1|0;if(!d){b=0;d=8;break}if(b>>>0>=f>>>0){b=1;d=8;break}d=k[e>>2]|0}if((d|0)==7){i=mb()|0;P1(g);yb(i|0)}else if((d|0)==8){r=h;return b|0}return 0}function Ov(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;e=j;h=a+60|0;g=a+64|0;c=k[g>>2]|0;b=k[h>>2]|0;f=c-b>>2;if(!(i[a+80>>0]|0)){h=f;r=j;return h|0}do if(f){a=a+60|0;d=e+4|0;c=b;b=0;while(1){c=k[c+(b<<2)>>2]|0;if(c|0){c=Ot(c,64,600,0)|0;if(c|0){_G(e,c+60|0);c=i[e>>0]|0;c=(((c&1)==0?(c&255)>>>1:k[d>>2]|0)|0)==0;P1(e);if(!c){a=11;break}}}b=b+1|0;if(b>>>0>=f>>>0){a=9;break}c=k[a>>2]|0}if((a|0)==9){c=k[g>>2]|0;b=k[h>>2]|0;break}else if((a|0)==11){r=j;return b|0}}while(0);h=c-b>>2;r=j;return h|0}function Pv(a){a=a|0;var b=0;a=ti(a)|0;if(!a){b=0;return b|0}while(1){b=ti(a)|0;if(!b)break;else a=b}b=(i[a>>0]|0)==37?0:a;return b|0}function Qv(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;g=e+32|0;d=e+24|0;h=e+16|0;f=e;e=e+36|0;a=XK()|0;if(a|0){c=k[a>>2]|0;if(c|0){a=c+48|0;b=k[a>>2]|0;a=k[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){k[d>>2]=k[6210];MN(51682,d)}if((b|0)==1126902529&(a|0)==1129074247)a=k[c+44>>2]|0;else a=c+80|0;k[e>>2]=a;d=k[c>>2]|0;a=k[d+4>>2]|0;if(wc[k[(k[1080]|0)+16>>2]&127](4320,d,e)|0){h=k[e>>2]|0;e=k[6210]|0;h=tc[k[(k[h>>2]|0)+8>>2]&511](h)|0;k[f>>2]=e;k[f+4>>2]=a;k[f+8>>2]=h;MN(51596,f)}else{k[h>>2]=k[6210];k[h+4>>2]=a;MN(51641,h)}}}MN(51720,g)}function Rv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>3)+1|0;if(e>>>0>536870911){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>3>>>0<268435455){d=d>>2;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>3;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=536870911;f=e;e=e-c>>3;l=6}if((l|0)==6){h=d;g=GG(d<<3)|0;d=f}l=g+(e<<3)|0;e=b;b=k[e+4>>2]|0;f=l;k[f>>2]=k[e>>2];k[f+4>>2]=b;f=d-c|0;b=l+(0-(f>>3)<<3)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+8;k[i>>2]=g+(h<<3);if(!c)return;uha(c);return}function Sv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=b+84|0;g=a+4|0;if(!(i[d>>0]|0)){S$(g,b);Yo(g,0)}if(!(Xaa(g)|0)){f=a+76|0;k[f>>2]=(k[f>>2]|0)+(k[b+56>>2]|0)}c=k[b+68>>2]|0;e=(k[b+72>>2]|0)-c>>2;if(e|0){f=b+68|0;c=k[c>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);if((e|0)!=1){c=1;do{h=k[(k[f>>2]|0)+(c<<2)>>2]|0;rc[k[(k[h>>2]|0)+28>>2]&1023](h,a);c=c+1|0}while((c|0)!=(e|0))}}if(!(Xaa(g)|0)){h=a+76|0;k[h>>2]=(k[h>>2]|0)-(k[b+56>>2]|0)}if(i[d>>0]|0)return;$n(g,0);t$(g,b);return}function Tv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>3)+1|0;if(e>>>0>536870911){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>3>>>0<268435455){d=d>>2;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>3;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=536870911;f=e;e=e-c>>3;l=6}if((l|0)==6){h=d;g=GG(d<<3)|0;d=f}l=g+(e<<3)|0;e=b;b=k[e+4>>2]|0;f=l;k[f>>2]=k[e>>2];k[f+4>>2]=b;f=d-c|0;b=l+(0-(f>>3)<<3)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+8;k[i>>2]=g+(h<<3);if(!c)return;uha(c);return}function Uv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;h=r;r=r+48|0;c=h;f=k[b+68>>2]|0;f=Jc[k[(k[f>>2]|0)+40>>2]&1023](f,a+8|0)|0;d=(k[a+4>>2]|0)+36|0;e=lD(d,72)|0;g=c;j=b+8|0;l=g+40|0;do{k[g>>2]=k[j>>2];g=g+4|0;j=j+4|0}while((g|0)<(l|0));b=k[b+64>>2]|0;b=Jc[k[(k[b>>2]|0)+36>>2]&1023](b,a)|0;b=tc[k[(k[b>>2]|0)+72>>2]&511](b)|0;k[e+4>>2]=0;g=e+8|0;j=c;l=g+40|0;do{k[g>>2]=k[j>>2];g=g+4|0;j=j+4|0}while((g|0)<(l|0));k[e+56>>2]=0;i[e+60>>0]=0;k[e+64>>2]=b;k[e>>2]=9960;k[e+68>>2]=f;k[e+52>>2]=4;l=N4(d,e)|0;r=h;return l|0}function Vv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+48|0;g=l;j=k[b+56>>2]|0;j=Jc[k[(k[j>>2]|0)+40>>2]&1023](j,a)|0;h=k[b+60>>2]|0;h=Jc[k[(k[h>>2]|0)+40>>2]&1023](h,a)|0;c=(k[a+8>>2]|0)+36|0;d=lD(c,68)|0;e=k[b+64>>2]|0;f=g;a=b+8|0;b=f+40|0;do{k[f>>2]=k[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));k[d+4>>2]=0;f=d+8|0;a=g;b=f+40|0;do{k[f>>2]=k[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=6164;k[d+56>>2]=j;k[d+60>>2]=h;k[d+64>>2]=e;j=N4(c,d)|0;r=l;return j|0}function Wv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0;m=r;r=r+16|0;h=m+4|0;j=m;l=a+8|0;l=tc[k[(k[l>>2]|0)+8>>2]&511](l)|0;a=i[l>>0]|0;if(!(a&1))g=(a&255)>>>1;else g=k[l+4>>2]|0;a=i[l+12>>0]|0;if(!(a&1))a=(a&255)>>>1;else a=k[l+16>>2]|0;do if((g|0)==(0-a|0))k[e>>2]=k[e>>2]|4;else{k[j>>2]=k[d>>2];k[h>>2]=k[j>>2];a=Hg(c,h,l,l+24|0,f,e,0)|0;g=k[b>>2]|0;if((a|0)==(l|0)&(g|0)==12){k[b>>2]=0;break}if((g|0)<12&(a-l|0)==12)k[b>>2]=g+12}while(0);r=m;return}function Xv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0;m=r;r=r+16|0;h=m+4|0;j=m;l=a+8|0;l=tc[k[(k[l>>2]|0)+8>>2]&511](l)|0;a=i[l>>0]|0;if(!(a&1))g=(a&255)>>>1;else g=k[l+4>>2]|0;a=i[l+12>>0]|0;if(!(a&1))a=(a&255)>>>1;else a=k[l+16>>2]|0;do if((g|0)==(0-a|0))k[e>>2]=k[e>>2]|4;else{k[j>>2]=k[d>>2];k[h>>2]=k[j>>2];a=Vg(c,h,l,l+24|0,f,e,0)|0;g=k[b>>2]|0;if((a|0)==(l|0)&(g|0)==12){k[b>>2]=0;break}if((g|0)<12&(a-l|0)==12)k[b>>2]=g+12}while(0);r=m;return}function Yv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+96|0;d=g+56|0;e=g+16|0;h=vb(76)|0;f=e;c=f+40|0;do{k[f>>2]=k[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(c|0));x=0;sa(430,g|0,a|0);f=x;x=0;if(f&1)b=mb()|0;else{x=0;f=d;b=e;c=f+40|0;do{k[f>>2]=k[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(c|0));Ua(18,h|0,d|0,g|0,0);f=x;x=0;if(f&1)c=1;else{x=0;Qa(77,h|0,984,59);x=0;c=0}b=mb()|0;P1(g);if(!c){h=b;yb(h|0)}}lb(h|0);h=b;yb(h|0)}function Zv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;_G(a,b);c=a+12|0;x=0;sa(430,c|0,b+12|0);d=x;x=0;if(d&1){d=mb()|0;P1(a);yb(d|0)}d=a+24|0;x=0;sa(430,d|0,b+24|0);e=x;x=0;if(e&1){e=mb()|0;P1(c);P1(a);yb(e|0)}x=0;sa(430,a+36|0,b+36|0);e=x;x=0;if(e&1){e=mb()|0;P1(d);P1(c);P1(a);yb(e|0)}else return}function _v(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+32|0;c=e+12|0;d=e;a=a+4|0;Tu(a);lE(c,44233,7);x=0;Qa(134,a|0,c|0,b|0);f=x;x=0;if(f&1){f=mb()|0;P1(c);yb(f|0)}P1(c);vba(a);_G(d,b+64|0);x=0;sa(484,a|0,d|0);f=x;x=0;if(!(f&1)){P1(d);EF(a);r=e;return}f=mb()|0;P1(d);yb(f|0)}function $v(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=13180;b=a+64|0;c=k[b>>2]|0;do if(c|0){x=0;ua(113,a|0)|0;d=x;x=0;if(d&1){d=Eb(0)|0;YD(c)|0;Bb(d|0)|0;x=0;pa(3);d=x;x=0;if(!(d&1))break;d=Eb(0)|0;D2(a);Nba(d)}else{if(YD(c)|0)break;k[b>>2]=0;break}}while(0);d=j[a+96>>1]|0;b=(d&65535)>>>8&255;if((d&255)<<24>>24){c=k[a+32>>2]|0;if(c){nha(c);b=i[a+97>>0]|0}}if(!(b<<24>>24)){D2(a);return}b=k[a+56>>2]|0;if(!b){D2(a);return}nha(b);D2(a);return}function aw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;f=g;d=k[b+72>>2]|0;e=k[b+76>>2]|0;if((d|0)==(e|0)){f=0;r=g;return f|0}while(1){b=k[d>>2]|0;h=k[(k[a>>2]|0)+116>>2]|0;_G(f,c);x=0;b=xa(h|0,a|0,b|0,f|0)|0;h=x;x=0;if(h&1){d=6;break}P1(f);d=d+4|0;if(b){b=1;d=7;break}if((d|0)==(e|0)){b=0;d=7;break}}if((d|0)==6){h=mb()|0;P1(f);yb(h|0)}else if((d|0)==7){r=g;return b|0}return 0}function bw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+48|0;j=l;c=k[b+56>>2]|0;if(!c)h=0;else h=Jc[k[(k[c>>2]|0)+40>>2]&1023](c,a)|0;c=k[b+60>>2]|0;if(!c)g=0;else g=Jc[k[(k[c>>2]|0)+40>>2]&1023](c,a)|0;d=(k[a+8>>2]|0)+36|0;e=lD(d,64)|0;f=j;c=b+8|0;a=f+40|0;do{k[f>>2]=k[c>>2];f=f+4|0;c=c+4|0}while((f|0)<(a|0));k[e+4>>2]=0;f=e+8|0;c=j;a=f+40|0;do{k[f>>2]=k[c>>2];f=f+4|0;c=c+4|0}while((f|0)<(a|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e+52>>2]=0;k[e>>2]=11764;k[e+56>>2]=h;k[e+60>>2]=g;j=N4(d,e)|0;r=l;return j|0}function cw(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;b=g;f=a+76|0;k[f>>2]=0;lE(b,43523,1);x=0;sa(484,a|0,b|0);e=x;x=0;if(e&1){g=mb()|0;P1(b);yb(g|0)}P1(b);if((k[k[a+68>>2]>>2]|0)==3){r=g;return}e=a+4|0;d=i[e>>0]|0;b=(d&1)==0;if(b)c=(d&255)>>>1;else c=k[a+8>>2]|0;if(!c){r=g;return}if(b)b=(d&255)>>>1;else b=k[a+8>>2]|0;e=SG(e,b+-1|0)|0;if(Jca(l[e>>0]|0)|0)if(!(i[a+84>>0]|0)){r=g;return}k[f>>2]=1;r=g;return}function dw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;b=Ot(b,64,344,0)|0;a:do if(!b){b=0;c=0}else{d=k[a+64>>2]|0;f=(k[a+68>>2]|0)-d>>2;g=b+64|0;e=k[g>>2]|0;c=e;if((f|0)==((k[b+68>>2]|0)-e>>2|0))if(!f){b=1;c=1}else{e=a+64|0;c=k[c>>2]|0;b=k[d>>2]|0;if((c|0)!=0&(b|0)!=0){a=0;while(1){a=a+1|0;if(!(Jc[k[(k[b>>2]|0)+76>>2]&1023](b,c)|0)){b=1;c=0;break a}if(a>>>0>=f>>>0){b=1;c=1;break a}c=k[(k[g>>2]|0)+(a<<2)>>2]|0;b=k[(k[e>>2]|0)+(a<<2)>>2]|0;if(!((c|0)!=0&(b|0)!=0)){b=1;c=0;break}}}else{b=1;c=0}}else{b=1;c=0}}while(0);return b&c|0}function ew(a,b){a=a|0;b=b|0;if((hc|0)!=2){k[ic+8>>2]=a;k[ic+16>>2]=b;if((hc|0)==1)hc=3}Uc(kc+34032|0);return k[ic>>2]|0}function fw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function gw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function hw(a,b){a=a|0;b=b|0;var c=0,d=0;c=k[a+12>>2]|0;if(c){d=a;while(1){a=k[c+12>>2]|0;if(!a){a=d;break}else{d=c;c=a}}}c=a;while(1){if((su(c,b)|0)!=(c+4|0)){d=5;break}c=k[c+12>>2]|0;if(!c){d=7;break}}if((d|0)==5){b=mv(c,b)|0;return b|0}else if((d|0)==7){b=mv(a,b)|0;return b|0}return 0}function iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a;g=0;while(1){e=k[d+12>>2]|0;if(!e)f=0;else f=(k[e+12>>2]|0)!=0;if(!(g|f)){e=8;break}if((su(d,b)|0)!=(d+4|0)){e=6;break}g=(i[d+16>>0]|0)!=0;d=e}if((e|0)==6){b=mv(d,b)|0;k[b>>2]=c;return}else if((e|0)==8){b=mv(a,b)|0;k[b>>2]=c;return}}function jw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function kw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function lw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=b;d=i[a>>0]|0;if(!(d&1)){e=1;j=(d&255)>>>1}else{d=k[a>>2]|0;e=(d&-2)+-1|0;j=k[a+4>>2]|0;d=d&255}h=c-f>>2;do if(h|0){if((e-j|0)>>>0>>0){zy(a,e,j+h-e|0,j,j,0,0);d=i[a>>0]|0}if(!(d&1))g=a+4|0;else g=k[a+8>>2]|0;f=j+((c-f|0)>>>2)|0;d=b;e=g+(j<<2)|0;while(1){if((d|0)==(c|0))break;k[e>>2]=k[d>>2];d=d+4|0;e=e+4|0}k[g+(f<<2)>>2]=0;d=j+h|0;if(!(i[a>>0]&1)){i[a>>0]=d<<1;break}else{k[a+4>>2]=d;break}}while(0);return a|0}function mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=b&255;d=(c|0)!=0;a:do if(d&(a&3|0)!=0){e=b&255;while(1){if((i[a>>0]|0)==e<<24>>24){g=6;break a}a=a+1|0;c=c+-1|0;d=(c|0)!=0;if(!(d&(a&3|0)!=0)){g=5;break}}}else g=5;while(0);if((g|0)==5)if(d)g=6;else c=0;b:do if((g|0)==6){e=b&255;if((i[a>>0]|0)!=e<<24>>24){d=ia(f,16843009)|0;c:do if(c>>>0>3)while(1){f=k[a>>2]^d;if((f&-2139062144^-2139062144)&f+-16843009|0)break;a=a+4|0;c=c+-4|0;if(c>>>0<=3){g=11;break c}}else g=11;while(0);if((g|0)==11)if(!c){c=0;break}while(1){if((i[a>>0]|0)==e<<24>>24)break b;a=a+1|0;c=c+-1|0;if(!c){c=0;break}}}}while(0);return (c|0?a:0)|0}function nw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function ow(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function pw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function qw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function rw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function sw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function tw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function uw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;d=e+12|0;f=e;lE(f,c,OD(c)|0);x=0;Qa(146,d|0,b|0,f|0);c=x;x=0;do if(c&1)d=mb()|0;else{x=0;sa(487,a|0,d|0);c=x;x=0;if(c&1){e=mb()|0;P1(d);d=e;break}else{P1(d);P1(f);k[a>>2]=21164;c=k[b+4>>2]|0;f=a+8|0;k[f>>2]=k[b>>2];k[f+4>>2]=c;r=e;return}}while(0);P1(f);yb(d|0)}function ww(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function xw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function yw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function zw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Aw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Bw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Cw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Dw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Ew(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Fw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Gw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Hw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=b;d=i[a>>0]|0;if(!(d&1)){e=10;j=(d&255)>>>1}else{d=k[a>>2]|0;e=(d&-2)+-1|0;j=k[a+4>>2]|0;d=d&255}h=c-f|0;do if((c|0)!=(b|0)){if((e-j|0)>>>0>>0){Sy(a,e,j+h-e|0,j,j,0,0);d=i[a>>0]|0}if(!(d&1))g=a+1|0;else g=k[a+8>>2]|0;f=c+(j-f)|0;d=b;e=g+j|0;while(1){if((d|0)==(c|0))break;i[e>>0]=i[d>>0]|0;d=d+1|0;e=e+1|0}i[g+f>>0]=0;d=j+h|0;if(!(i[a>>0]&1)){i[a>>0]=d<<1;break}else{k[a+4>>2]=d;break}}while(0);return a|0}function Jw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Kw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Lw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Mw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Nw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+48|0;f=j;h=k[b+56>>2]|0;h=Jc[k[(k[h>>2]|0)+40>>2]&1023](h,a)|0;g=k[b+60>>2]|0;g=Jc[k[(k[g>>2]|0)+40>>2]&1023](g,a)|0;c=(k[a+8>>2]|0)+36|0;d=lD(c,64)|0;e=f;a=b+8|0;b=e+40|0;do{k[e>>2]=k[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(b|0));k[d+4>>2]=0;e=d+8|0;a=f;b=e+40|0;do{k[e>>2]=k[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(b|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=11444;k[d+56>>2]=h;k[d+60>>2]=g;h=N4(c,d)|0;r=j;return h|0}function Ow(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=i[a>>0]|0;f=(e&1)==0;if(f)g=(e&255)>>>1;else g=k[a+4>>2]|0;if(g>>>0>>0)cH(a);if(f)f=10;else{e=k[a>>2]|0;f=(e&-2)+-1|0;e=e&255}if((f-g|0)>>>0>>0)Bx(a,f,g+d-f|0,g,b,0,d,c);else if(d|0){if(!(e&1))f=a+1|0;else f=k[a+8>>2]|0;if((g|0)==(b|0))e=f+b|0;else{e=f+b|0;VH(e+d|0,e|0,g-b|0)|0;c=e>>>0<=c>>>0&(f+g|0)>>>0>c>>>0?c+d|0:c}VH(e|0,c|0,d|0)|0;e=g+d|0;if(!(i[a>>0]&1))i[a>>0]=e<<1;else k[a+4>>2]=e;i[f+e>>0]=0}return a|0}function Qw(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f;lE(b,44344,1);x=0;sa(484,a|0,b|0);e=x;x=0;if(e&1){f=mb()|0;P1(b);yb(f|0)}P1(b);if((k[k[a+68>>2]>>2]|0)==3){r=f;return}e=a+4|0;d=i[e>>0]|0;b=(d&1)==0;if(b)c=(d&255)>>>1;else c=k[a+8>>2]|0;if(!c){r=f;return}if(b)b=(d&255)>>>1;else b=k[a+8>>2]|0;e=SG(e,b+-1|0)|0;if(Jca(l[e>>0]|0)|0)if(!(i[a+84>>0]|0)){r=f;return}k[a+76>>2]=1;r=f;return}function Rw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Sw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Tw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;d=Pj(k[b>>2]|0,k[a>>2]|0)|0;e=Pj(k[c>>2]|0,k[b>>2]|0)|0;if(!d){if(!e){c=0;return c|0}e=k[b>>2]|0;k[b>>2]=k[c>>2];k[c>>2]=e;if(!(Pj(k[b>>2]|0,k[a>>2]|0)|0)){c=1;return c|0}c=k[a>>2]|0;k[a>>2]=k[b>>2];k[b>>2]=c;c=2;return c|0}d=k[a>>2]|0;if(e){k[a>>2]=k[c>>2];k[c>>2]=d;c=1;return c|0}k[a>>2]=k[b>>2];k[b>>2]=d;if(!(Pj(k[c>>2]|0,d)|0)){c=1;return c|0}a=k[b>>2]|0;k[b>>2]=k[c>>2];k[c>>2]=a;c=2;return c|0}function Uw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[j>>2]|0;e=f-c>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=k[j>>2]|0;d=1073741823;f=e;e=e-c>>2;l=6}if((l|0)==6){h=d;g=GG(d<<2)|0;d=f}l=g+(e<<2)|0;k[l>>2]=k[b>>2];f=d-c|0;b=l+(0-(f>>2)<<2)|0;WC(b|0,c|0,f|0)|0;k[a>>2]=b;k[j>>2]=l+4;k[i>>2]=g+(h<<2);if(!c)return;uha(c);return}function Vw(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,j=0,l=0;l=0;h=ia(c,b)|0;if((k[d+76>>2]|0)>-1)j=Dha(d)|0;else j=0;e=d+74|0;g=i[e>>0]|0;i[e>>0]=g+255|g;e=d+4|0;g=k[e>>2]|0;f=(k[d+8>>2]|0)-g|0;if((f|0)>0){f=f>>>0>>0?f:h;WC(a|0,g|0,f|0)|0;k[e>>2]=g+f;a=a+f|0;e=h-f|0}else e=h;a:do if(!e)l=13;else{g=d+32|0;f=e;while(1){if(jD(d)|0){c=f;break}e=wc[k[g>>2]&127](d,a,f)|0;if((e+1|0)>>>0<2){c=f;break}if((f|0)==(e|0)){l=13;break a}else{a=a+e|0;f=f-e|0}}if(j|0)Cha(d);c=((h-c|0)>>>0)/(b>>>0)|0}while(0);if((l|0)==13)if(j)Cha(d);return c|0}function Ww(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;d=vk(k[b>>2]|0,k[a>>2]|0)|0;e=vk(k[c>>2]|0,k[b>>2]|0)|0;if(!d){if(!e){c=0;return c|0}e=k[b>>2]|0;k[b>>2]=k[c>>2];k[c>>2]=e;if(!(vk(k[b>>2]|0,k[a>>2]|0)|0)){c=1;return c|0}c=k[a>>2]|0;k[a>>2]=k[b>>2];k[b>>2]=c;c=2;return c|0}d=k[a>>2]|0;if(e){k[a>>2]=k[c>>2];k[c>>2]=d;c=1;return c|0}k[a>>2]=k[b>>2];k[b>>2]=d;if(!(vk(k[c>>2]|0,d)|0)){c=1;return c|0}a=k[b>>2]|0;k[b>>2]=k[c>>2];k[c>>2]=a;c=2;return c|0}function Xw(a){a=a|0;O1(75212);O1(75200);O1(75188);O1(75176);O1(75164);O1(75152);O1(75140);O1(75128);O1(75116);O1(75104);O1(75092);O1(75080);O1(75068);O1(75056);return}function Yw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;j=r;r=r+48|0;d=j;e=a+20|0;i[e>>0]=1;f=(k[a+4>>2]|0)+36|0;g=lD(f,72)|0;h=d;l=b+8|0;m=h+40|0;do{k[h>>2]=k[l>>2];h=h+4|0;l=l+4|0}while((h|0)<(m|0));c=k[b+64>>2]|0;c=Jc[k[(k[c>>2]|0)+40>>2]&1023](c,a+8|0)|0;a=i[b+68>>0]|0;k[g+4>>2]=0;h=g+8|0;l=d;m=h+40|0;do{k[h>>2]=k[l>>2];h=h+4|0;l=l+4|0}while((h|0)<(m|0));k[g+56>>2]=0;i[g+60>>0]=0;k[g>>2]=12376;k[g+64>>2]=c;i[g+68>>0]=a;k[g+52>>2]=13;m=N4(f,g)|0;i[e>>0]=0;r=j;return m|0}function Zw(a){a=a|0;P1(74400);P1(74388);P1(74376);P1(74364);P1(74352);P1(74340);P1(74328);P1(74316);P1(74304);P1(74292);P1(74280);P1(74268);P1(74256);P1(74244);return}function _w(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=0;g=r;r=r+32|0;b=g+12|0;d=g;e=Mha()|0;if(!(OG(a,42729)|0)){f=0;r=g;return f|0}if(!(OG(e,42729)|0)){f=0;r=g;return f|0}lE(b,e,OD(e)|0);c=PF(b,46,0)|0;P1(b);if((c|0)==-1)f=5;else{lE(d,e,OD(e)|0);b=PF(d,46,c+1|0)|0;P1(d);if((b|0)==-1)f=5;else b=oE(a,e,b)|0}if((f|0)==5)b=OG(a,e)|0;f=(b|0)==0;r=g;return f|0}function $w(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;if(c&2048){i[a>>0]=43;a=a+1|0}if(c&1024){i[a>>0]=35;a=a+1|0}f=c&260;d=c>>>14;g=(f|0)==260;if(g)e=0;else{i[a>>0]=46;i[a+1>>0]=42;a=a+2|0;e=1}while(1){c=i[b>>0]|0;if(!(c<<24>>24))break;i[a>>0]=c;b=b+1|0;a=a+1|0}a:do switch(f|0){case 4:if(!(d&1)){i[a>>0]=102;break a}else{i[a>>0]=70;break a}case 256:if(!(d&1)){i[a>>0]=101;break a}else{i[a>>0]=69;break a}default:{c=(d&1|0)!=0;if(g)if(c){i[a>>0]=65;break a}else{i[a>>0]=97;break a}else if(c){i[a>>0]=71;break a}else{i[a>>0]=103;break a}}}while(0);return e|0}function ax(a){a=a|0;var b=0,c=0;b=a+4|0;a=k[b>>2]|0;a=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;do if(k[a+24>>2]|0)if(!(k[a+16>>2]|0))if(k[a+4>>2]&8192|0)if(!(zb()|0)){a=k[b>>2]|0;a=k[a+(k[(k[a>>2]|0)+-12>>2]|0)+24>>2]|0;x=0;a=ua(k[(k[a>>2]|0)+24>>2]|0,a|0)|0;c=x;x=0;if(!(c&1)){if((a|0)!=-1)break;c=k[b>>2]|0;c=c+(k[(k[c>>2]|0)+-12>>2]|0)|0;x=0;sa(458,c|0,k[c+16>>2]|1|0);c=x;x=0;if(!(c&1))break}c=Eb(0)|0;Bb(c|0)|0;x=0;pa(3);c=x;x=0;if(c&1){c=Eb(0)|0;Nba(c)}}while(0);return}function bx(a){a=a|0;var b=0,c=0;b=a+4|0;a=k[b>>2]|0;a=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;do if(k[a+24>>2]|0)if(!(k[a+16>>2]|0))if(k[a+4>>2]&8192|0)if(!(zb()|0)){a=k[b>>2]|0;a=k[a+(k[(k[a>>2]|0)+-12>>2]|0)+24>>2]|0;x=0;a=ua(k[(k[a>>2]|0)+24>>2]|0,a|0)|0;c=x;x=0;if(!(c&1)){if((a|0)!=-1)break;c=k[b>>2]|0;c=c+(k[(k[c>>2]|0)+-12>>2]|0)|0;x=0;sa(458,c|0,k[c+16>>2]|1|0);c=x;x=0;if(!(c&1))break}c=Eb(0)|0;Bb(c|0)|0;x=0;pa(3);c=x;x=0;if(c&1){c=Eb(0)|0;Nba(c)}}while(0);return}function cx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+96|0;f=i+56|0;g=i+40|0;h=i;lE(g,33174,42);e=h;c=b+8|0;d=e+40|0;do{k[e>>2]=k[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));b=k[a+100>>2]|0;if((b|0)==(k[a+96>>2]|0))b=0;else b=k[b+-4>>2]|0;x=0;e=f;c=h;d=e+40|0;do{k[e>>2]=k[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));Qa(100,g|0,f|0,b|0);h=x;x=0;if(h&1){i=mb()|0;P1(g);yb(i|0)}else{P1(g);r=i;return 0}return 0}function dx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;d=a+68|0;b=k[d>>2]|0;if((k[b>>2]|0)!=2){r=g;return}k[a+80>>2]=1;k[a+76>>2]=0;e=a+72|0;if(!(k[e>>2]|0)){r=g;return}c=0;while(1){b=k[b+8>>2]|0;lE(f,b,OD(b)|0);x=0;sa(484,a|0,f|0);b=x;x=0;if(b&1){b=7;break}P1(f);c=c+1|0;if(c>>>0>=(k[e>>2]|0)>>>0){b=8;break}b=k[d>>2]|0}if((b|0)==7){g=mb()|0;P1(f);yb(g|0)}else if((b|0)==8){r=g;return}}function ex(a){a=a|0;a=a+68|0;if(!(KH(a,33020)|0)){a=1;return a|0}if(!(KH(a,33039)|0)){a=1;return a|0}if(!(KH(a,33055)|0)){a=1;return a|0}if(!(KH(a,33069)|0)){a=1;return a|0}if(!(KH(a,30991)|0)){a=1;return a|0}if(!(KH(a,31006)|0)){a=1;return a|0}if(!(KH(a,31018)|0)){a=1;return a|0}a=(KH(a,39805)|0)==0;return a|0}function fx(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;i=r;r=r+16|0;h=i;if((a|0)==(b|0)){k[c>>2]=4;a=0}else{f=L0()|0;g=k[f>>2]|0;k[f>>2]=0;a=j4(a,h,d,xH()|0)|0;d=M;e=k[f>>2]|0;if(!e)k[f>>2]=g;a:do if((k[h>>2]|0)==(b|0)){do if((e|0)==34){k[c>>2]=4;if((d|0)>0|(d|0)==0&a>>>0>0){a=2147483647;break a}}else{if((d|0)<-1|(d|0)==-1&a>>>0<2147483648){k[c>>2]=4;break}if((d|0)>0|(d|0)==0&a>>>0>2147483647){k[c>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}else{k[c>>2]=4;a=0}while(0)}r=i;return a|0}function gx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+16|0;f=n+8|0;g=n+4|0;m=n;c=i[a>>0]|0;h=(c&1)==0;j=a+8|0;d=k[j>>2]|0;l=a+1|0;e=h?l:d;k[m>>2]=e;h=e+(h?(c&255)>>>1:k[a+4>>2]|0)|0;if(!b){m=c;a=d;b=e;m=m&1;m=m<<24>>24==0;a=m?l:a;a=b-a|0;r=n;return a|0}c=0;do{k[g>>2]=h;k[f>>2]=k[g>>2];Mx(m,f)|0;c=c+1|0}while((c|0)!=(b|0));h=i[a>>0]|0;a=k[j>>2]|0;b=k[m>>2]|0;m=h&1;m=m<<24>>24==0;a=m?l:a;a=b-a|0;r=n;return a|0}function hx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;nv(a,b);c=a+12|0;x=0;sa(434,c|0,b+12|0);f=x;x=0;if(f&1)d=mb()|0;else{f=a+24|0;e=b+24|0;k[f>>2]=k[e>>2];k[f+4>>2]=k[e+4>>2];k[f+8>>2]=k[e+8>>2];x=0;sa(430,a+36|0,b+36|0);f=x;x=0;if(!(f&1))return;d=mb()|0;b=k[c>>2]|0;c=b;if(b){e=a+16|0;f=k[e>>2]|0;if((f|0)!=(b|0))k[e>>2]=f+(~(((f+-24-c|0)>>>0)/24|0)*24|0);uha(b)}}e=k[a>>2]|0;if(!e)yb(d|0);b=a+4|0;c=k[b>>2]|0;if((c|0)!=(e|0))k[b>>2]=c+(~((c+-4-e|0)>>>2)<<2);uha(e);yb(d|0)}function ix(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=0;_G(a,b);b=i[a>>0]|0;d=(b&1)==0;if(d){c=a+1|0;b=(b&255)>>>1}else{c=k[a+8>>2]|0;b=k[a+4>>2]|0}b=c+b|0;while(1){if((b|0)==(c|0))break;b=b+-1|0;if(!(mw(44768,l[b>>0]|0,6)|0)){e=7;break}}if((e|0)==7){b=b-c|0;if((b|0)!=-1){x=0;xa(51,a|0,b+1|0,-1)|0;e=x;x=0;if(e&1){e=mb()|0;P1(a);yb(e|0)}else return}}if(d){i[a+1>>0]=0;i[a>>0]=0;return}else{i[k[a+8>>2]>>0]=0;k[a+4>>2]=0;return}}function jx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=0;_G(a,b);b=i[a>>0]|0;d=(b&1)==0;if(d){c=a+1|0;b=(b&255)>>>1}else{c=k[a+8>>2]|0;b=k[a+4>>2]|0}b=c+b|0;while(1){if((b|0)==(c|0))break;b=b+-1|0;if(!(mw(44768,l[b>>0]|0,6)|0)){e=7;break}}if((e|0)==7){b=b-c|0;if((b|0)!=-1){x=0;xa(51,a|0,b+1|0,-1)|0;e=x;x=0;if(e&1){e=mb()|0;P1(a);yb(e|0)}else return}}if(d){i[a+1>>0]=0;i[a>>0]=0;return}else{i[k[a+8>>2]>>0]=0;k[a+4>>2]=0;return}}function kx(a){a=a|0;var b=0,c=0;b=F9(a)|0;if(b|0){a=b;return a|0}c=a+1|0;switch(i[a>>0]|0){case 45:case 95:{a=c;return a|0}default:{}}b=tga(a)|0;if(b|0){a=b;return a|0}b=qx(a)|0;if(b|0){a=b;return a|0}if((i[a>>0]|0)!=92){a=0;return a|0}if(!(AY(c)|0)){b=uaa(c)|0;if(!b){a=0;return a|0}}else{b=a+2|0;if(AY(b)|0){b=a+3|0;c=(AY(b)|0)==0;b=c?b:a+4|0}}a=(i[b>>0]|0)==32?b+1|0:b;return a|0}function lx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;if(!a){b=0;return b|0}a=k[a+64>>2]|0;c=k[a+68>>2]|0;e=(k[a+72>>2]|0)-c>>2;if(!e){b=0;return b|0}d=a+68|0;a=0;while(1){c=k[c+(a<<2)>>2]|0;if(tc[k[(k[c>>2]|0)+60>>2]&511](c)|0){if(!c){c=8;break}f=k[(k[(k[c>>2]|0)+-4>>2]|0)+4>>2]|0;if((f|0)==33080|(f|0)==30973){a=1;c=12;break}if(Ot(c,568,552,0)|0)if(Ll(k[c+64>>2]|0,b)|0){a=1;c=12;break}}a=a+1|0;if(a>>>0>=e>>>0){a=0;c=12;break}c=k[d>>2]|0}if((c|0)==8)w3();else if((c|0)==12)return a|0;return 0}function mx(a){a=a|0;var b=0,c=0;a=ay(a)|0;if(!a){c=0;return c|0}a:do if((i[a>>0]|0)==42){b=ay(a+1|0)|0;if(!b)b=a;else while(1){if((i[b>>0]|0)!=42)break a;a=ay(b+1|0)|0;if(!a)break;else b=a}}else b=a;while(0);b:do if((i[b>>0]|0)==47){a=ay(b+1|0)|0;if(!a)a=0;else if((i[a>>0]|0)==42){c=ay(a+1|0)|0;if(c){a=c;while(1){if((i[a>>0]|0)!=42)break b;c=ay(a+1|0)|0;if(!c)break;else a=c}}}}else a=0;while(0);c=a|0?a:b;return c|0}function nx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=0;b=a+1|0;if((i[a>>0]|0)!=40){f=0;return f|0}a=i[b>>0]|0;if(!(a<<24>>24)){f=0;return f|0}else{c=0;d=0;e=0}a:while(1){b:do switch(a<<24>>24){case 92:{b=b+1|0;break}case 34:{c=c^1;break}case 39:{d=d^1;break}default:if(c)c=1;else if(d){c=0;d=1}else{switch(a<<24>>24){case 40:{c=0;d=0;e=e+1|0;break b}case 41:break;default:{c=0;d=0;break b}}if(!e)break a;c=0;d=0;e=e+-1|0}}while(0);b=b+1|0;a=i[b>>0]|0;if(!(a<<24>>24)){b=0;f=15;break}}if((f|0)==15)return b|0;f=b+1|0;return f|0}function ox(a){a=a|0;var b=0,c=0,d=0;if(!a)return;switch(k[a>>2]|0){case 8:{cf(k[a+4>>2]|0);break}case 7:{cf(k[a+4>>2]|0);break}case 1:{cf(k[a+16>>2]|0);break}case 5:{b=a+4|0;c=a+8|0;if(k[b>>2]|0){d=0;do{ox(k[(k[c>>2]|0)+(d<<3)>>2]|0);ox(k[(k[c>>2]|0)+(d<<3)+4>>2]|0);d=d+1|0}while(d>>>0<(k[b>>2]|0)>>>0)}cf(k[c>>2]|0);break}case 3:{cf(k[a+8>>2]|0);break}case 4:{b=a+8|0;c=a+12|0;if(k[b>>2]|0){d=0;do{ox(k[(k[c>>2]|0)+(d<<2)>>2]|0);d=d+1|0}while(d>>>0<(k[b>>2]|0)>>>0)}cf(k[c>>2]|0);break}default:{}}cf(a);return}function px(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;d=a;while(1){e=k[d+76>>2]|0;if(!e)break;else d=e}if(!(k[d+72>>2]|0)){f=0;r=g;return f|0}while(1){d=k[a+76>>2]|0;if(!d)break;else a=d}a=k[a+72>>2]|0;e=k[(k[a>>2]|0)+112>>2]|0;_G(f,c);x=0;a=xa(e|0,a|0,b|0,f|0)|0;c=x;x=0;if(c&1){g=mb()|0;P1(f);yb(g|0)}P1(f);f=a;r=g;return f|0}function qx(a){a=a|0;var b=0,c=0;if((i[a>>0]|0)!=92){c=0;return c|0}b=a+1|0;c=$z(b)|0;if(!c){if((i[a>>0]|0)!=92){c=0;return c|0}a=tga(b)|0;if(a|0){c=a;return c|0}c=H3(b)|0;return c|0}a=AN(c)|0;if(!a){b=i[c>>0]|0;a=c+1|0;if((b|4)<<24>>24!=13){b=b<<24>>24|0;a=(b|0)!=10?((b|0)==12?a:0):a;if(!a)return c|0}}while(1){b=AN(a)|0;if(b|0){a=b;continue}b=i[a>>0]|0;c=a+1|0;if((b|4)<<24>>24==13){a=c;continue}b=b<<24>>24|0;b=(b|0)!=10?((b|0)==12?c:0):c;if(!b)break;else a=b}return a|0}function rx(){var a=0,b=0,c=0,d=0;b=r;r=r+48|0;c=b;p[6520]=3.141592653589793;lE(68592,44768,6);Ub(323,68592,w|0)|0;lE(68604,44775,21);Ub(323,68604,w|0)|0;lE(68616,44797,19);Ub(323,68616,w|0)|0;lE(68628,44817,22);Ub(323,68628,w|0)|0;CH(c,38939,0,-1);k[17135]=0;a=68544;d=a+40|0;do{k[a>>2]=k[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(d|0));i[68584]=0;i[68585]=0;i[68586]=0;k[17134]=6380;k[17147]=8;r=b;return}function sx(a){a=a|0;var b=0,c=0;b=Io(a)|0;if(b|0){a=b;return a|0}if((i[a>>0]|0)==45){b=a;do b=b+1|0;while((i[b>>0]|0)==45)}else b=a;b=Kt(b)|0;if(b|0){b=Jt(b)|0;if(b|0){a=b;return a|0}}b=wy(a)|0;if(b|0)if((i[b>>0]|0)==37){a=b+1|0;return a|0}if((i[a>>0]|0)==35){b=AY(a+1|0)|0;if(!b)b=0;else while(1){c=AY(b)|0;if(!c)break;else b=c}}else b=0;a=b-a|0;a=(a|0)!=4&(a|0)!=7?0:b;return a|0}function tx(a){a=a|0;var b=0,c=0,d=0;if(!a){d=0;return d|0}b=i[43504]|0;a:do if(b<<24>>24){c=43504;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);b=i[a>>0]|0;if(!(b<<24>>24)){d=0;return d|0}b:while(1){if(a|0){c=i[44840]|0;if(!(c<<24>>24)){b=12;break}if(b<<24>>24==c<<24>>24){b=a;d=44840;do{b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){a=b;b=12;break b}}while((i[b>>0]|0)==c<<24>>24)}}a=a+1|0;b=i[a>>0]|0;if(!(b<<24>>24)){a=0;b=12;break}}if((b|0)==12)return a|0;return 0}function ux(a){a=a|0;var b=0,c=0,d=0;d=0;if(!(AY(a)|0)){b=0;c=a;d=4}else{c=a+1|0;if(!(AY(c)|0)){b=1;d=4}else{c=a+2|0;if(!(AY(c)|0)){b=2;d=4}else{c=a+3|0;if(!(AY(c)|0)){b=3;d=4}else{c=a+4|0;if(!(AY(c)|0)){b=4;d=4}else{c=a+5|0;if(!(AY(c)|0)){b=5;d=4}else{b=6;c=a+6|0}}}}}}a:do if((d|0)==4)while(1){if((i[c>>0]|0)!=63)break a;c=c+1|0;b=b+1|0;if(b>>>0<6)d=4;else break}while(0);return (b|0?c:0)|0}function vx(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;var j=0,l=0,m=0;if((1073741806-b|0)>>>0>>0)dH(a);if(!(i[a>>0]&1))m=a+4|0;else m=k[a+8>>2]|0;if(b>>>0<536870887){j=c+b|0;l=b<<1;j=j>>>0>>0?l:j;j=j>>>0<2?2:j+4&-4}else j=1073741807;l=GG(j<<2)|0;if(e|0)JK(l,m,e)|0;if(g|0)JK(l+(e<<2)|0,h,g)|0;c=d-f|0;if((c|0)!=(e|0))JK(l+(e<<2)+(g<<2)|0,m+(e<<2)+(f<<2)|0,c-e|0)|0;if((b|0)!=1)uha(m);k[a+8>>2]=l;k[a>>2]=j|1;b=c+g|0;k[a+4>>2]=b;k[l+(b<<2)>>2]=0;return}function wx(a){a=a|0;a=ap(a)|0;if(!a){a=0;return a|0}a=hr(a)|0;if(!a){a=0;return a|0}if((i[a>>0]|0)!=61){a=0;return a|0}a=hr(a+1|0)|0;if(!a){a=0;return a|0}a=Oj(a)|0;return a|0}function xx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;f=i[a>>0]|0;n=(f&1)==0;h=a+8|0;d=k[h>>2]|0;l=a+4|0;c=k[l>>2]|0;m=a+1|0;g=n?m:d;n=n?(f&255)>>>1:c;e=g+n|0;b=e;if(!n)e=f;else{do{e=e+-1|0;c=i[e>>0]|0;d=aR(gI()|0,74172)|0;if(c<<24>>24<=-1)break;if(!(j[(k[d+8>>2]|0)+(c<<24>>24<<1)>>1]&8192))break;b=e}while((e|0)!=(g|0));e=i[a>>0]|0;d=k[h>>2]|0;c=k[l>>2]|0}n=(e&1)==0;m=n?m:d;Wz(a,b-m|0,m+(n?(e&255)>>>1:c)-b|0)|0;return a|0}function yx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+32|0;d=e;b=b+8|0;c=a+24|0;k[d>>2]=k[b>>2];k[d+4>>2]=k[b+4>>2];k[d+8>>2]=k[b+8>>2];b=d+12|0;k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];b=a+16|0;c=k[b>>2]|0;if(c>>>0<(k[a+20>>2]|0)>>>0){k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];k[b>>2]=(k[b>>2]|0)+24;r=e;return}else{Au(a+12|0,d);r=e;return}}function zx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=0;d=c+16|0;e=k[d>>2]|0;if(!e)if(!(mG(c)|0)){e=k[d>>2]|0;f=5}else d=0;else f=5;a:do if((f|0)==5){g=c+20|0;d=k[g>>2]|0;f=d;if((e-d|0)>>>0>>0){d=wc[k[c+36>>2]&127](c,a,b)|0;break}b:do if((i[c+75>>0]|0)>-1){d=b;while(1){if(!d){e=f;d=0;break b}e=d+-1|0;if((i[a+e>>0]|0)==10)break;else d=e}if((wc[k[c+36>>2]&127](c,a,d)|0)>>>0>>0)break a;b=b-d|0;a=a+d|0;e=k[g>>2]|0}else{e=f;d=0}while(0);WC(e|0,a|0,b|0)|0;k[g>>2]=(k[g>>2]|0)+b;d=d+b|0}while(0);return d|0}function Ax(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!b)return;Ax(a,k[b>>2]|0);Ax(a,k[b+4>>2]|0);a=k[b+20>>2]|0;c=a;if(a|0){d=b+24|0;e=k[d>>2]|0;if((e|0)!=(a|0))k[d>>2]=e+(~((e+-8-c|0)>>>3)<<3);uha(a)}uha(b);return}function Bx(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;var j=0,l=0,m=0;if((-18-b|0)>>>0>>0)dH(a);if(!(i[a>>0]&1))m=a+1|0;else m=k[a+8>>2]|0;if(b>>>0<2147483623){j=c+b|0;l=b<<1;j=j>>>0>>0?l:j;j=j>>>0<11?11:j+16&-16}else j=-17;l=GG(j)|0;if(e|0)WC(l|0,m|0,e|0)|0;if(g|0)WC(l+e|0,h|0,g|0)|0;c=d-f|0;if((c|0)!=(e|0))WC(l+e+g|0,m+e+f|0,c-e|0)|0;if((b|0)!=10)uha(m);k[a+8>>2]=l;k[a>>2]=j|1;b=c+g|0;k[a+4>>2]=b;i[l+b>>0]=0;return}function Cx(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,j=0,l=0,m=0;j=0;m=r;r=r+128|0;e=m+112|0;l=m;f=l;g=17616;h=f+112|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if((b+-1|0)>>>0>2147483646)if(!b){b=1;j=4}else{b=L0()|0;k[b>>2]=75;b=-1}else{e=a;j=4}if((j|0)==4){j=-2-e|0;j=b>>>0>j>>>0?j:b;k[l+48>>2]=j;a=l+20|0;k[a>>2]=e;k[l+44>>2]=e;b=e+j|0;e=l+16|0;k[e>>2]=b;k[l+28>>2]=b;b=Pt(l,c,d)|0;if(j){c=k[a>>2]|0;i[c+(((c|0)==(k[e>>2]|0))<<31>>31)>>0]=0}}r=m;return b|0}function Dx(a){a=a|0;var b=0;if((i[a>>0]|0)!=47){b=0;return b|0}b=a+1|0;if((i[b>>0]|0)==45){a=b;do a=a+1|0;while((i[a>>0]|0)==45)}else a=b;a=Kt(a)|0;if(!a)a=0;else{a=Jt(a)|0;if(!a)a=0;else a=(i[a>>0]|0)==124?a+1|0:0}a=a|0?a:b;if(!a){b=0;return b|0}if((i[a>>0]|0)==45)do a=a+1|0;while((i[a>>0]|0)==45);a=Kt(a)|0;if(!a){b=0;return b|0}a=Jt(a)|0;if(!a){b=0;return b|0}b=(i[a>>0]|0)==47?a+1|0:0;return b|0}function Ex(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=a+4|0;Tu(d);lE(c,39805,6);x=0;Qa(134,d|0,c|0,b|0);f=x;x=0;if(f&1){f=mb()|0;P1(c);yb(f|0)}else{P1(c);vba(d);f=a+98|0;i[f>>0]=1;d=k[b+68>>2]|0;rc[k[(k[d>>2]|0)+28>>2]&1023](d,a);i[f>>0]=0;f=k[b+64>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a);r=e;return}}function Fx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;j=r;r=r+16|0;h=j+8|0;g=j+4|0;i=j;d=TN(d)|0;k[g>>2]=d;x=0;g=Ka(865,g|0,74204)|0;l=x;x=0;if(l&1){l=mb()|0;sK(d)|0;yb(l|0)}else{sK(d)|0;k[i>>2]=k[c>>2];k[h>>2]=k[i>>2];Iz(a,f+16|0,b,h,e,g);r=j;return k[b>>2]|0}return 0}function Gx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;j=r;r=r+16|0;h=j+8|0;g=j+4|0;i=j;d=TN(d)|0;k[g>>2]=d;x=0;g=Ka(865,g|0,74204)|0;l=x;x=0;if(l&1){l=mb()|0;sK(d)|0;yb(l|0)}else{sK(d)|0;k[i>>2]=k[c>>2];k[h>>2]=k[i>>2];Nz(a,f+24|0,b,h,e,g);r=j;return k[b>>2]|0}return 0}function Hx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;j=r;r=r+16|0;h=j+8|0;g=j+4|0;i=j;d=TN(d)|0;k[g>>2]=d;x=0;g=Ka(865,g|0,74172)|0;l=x;x=0;if(l&1){l=mb()|0;sK(d)|0;yb(l|0)}else{sK(d)|0;k[i>>2]=k[c>>2];k[h>>2]=k[i>>2];Jz(a,f+16|0,b,h,e,g);r=j;return k[b>>2]|0}return 0}function Ix(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;j=r;r=r+16|0;h=j+8|0;g=j+4|0;i=j;d=TN(d)|0;k[g>>2]=d;x=0;g=Ka(865,g|0,74172)|0;l=x;x=0;if(l&1){l=mb()|0;sK(d)|0;yb(l|0)}else{sK(d)|0;k[i>>2]=k[c>>2];k[h>>2]=k[i>>2];Oz(a,f+24|0,b,h,e,g);r=j;return k[b>>2]|0}return 0}function Jx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;g=r;r=r+16|0;h=g+12|0;j=g+8|0;m=g+4|0;l=g;p=a+8|0;p=tc[k[(k[p>>2]|0)+20>>2]&511](p)|0;k[m>>2]=k[b>>2];k[l>>2]=k[c>>2];n=i[p>>0]|0;o=(n&1)==0;c=p+4|0;b=o?c:k[p+8>>2]|0;c=b+((o?(n&255)>>>1:k[c>>2]|0)<<2)|0;k[j>>2]=k[m>>2];k[h>>2]=k[l>>2];a=wg(a,j,h,d,e,f,b,c)|0;r=g;return a|0}function Kx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;j=r;r=r+16|0;h=j+8|0;g=j+4|0;i=j;d=TN(d)|0;k[g>>2]=d;x=0;g=Ka(865,g|0,74204)|0;l=x;x=0;if(l&1){l=mb()|0;sK(d)|0;yb(l|0)}else{sK(d)|0;k[i>>2]=k[c>>2];k[h>>2]=k[i>>2];FA(a,f+20|0,b,h,e,g);r=j;return k[b>>2]|0}return 0}function Lx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;j=r;r=r+16|0;h=j+8|0;g=j+4|0;i=j;d=TN(d)|0;k[g>>2]=d;x=0;g=Ka(865,g|0,74172)|0;l=x;x=0;if(l&1){l=mb()|0;sK(d)|0;yb(l|0)}else{sK(d)|0;k[i>>2]=k[c>>2];k[h>>2]=k[i>>2];GA(a,f+20|0,b,h,e,g);r=j;return k[b>>2]|0}return 0}function Mx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;c=d+4|0;f=d;k[c>>2]=0;k[f>>2]=k[b>>2];k[e>>2]=k[f>>2];switch(ym(a,e,c)|0){case 5:{f=vb(8)|0;e=k[c>>2]|0;k[f>>2]=13592;k[f+4>>2]=e;Wb(f|0,1752,171)}case 1:{f=vb(4)|0;k[f>>2]=13612;Wb(f|0,1784,171)}case 4:case 3:case 2:{f=vb(8)|0;e=i[k[a>>2]>>0]|0;k[f>>2]=13632;i[f+4>>0]=e;Wb(f|0,1800,171)}default:{r=d;return k[c>>2]|0}}return 0}function Nx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;c=d+4|0;f=d;k[c>>2]=0;k[f>>2]=k[b>>2];k[e>>2]=k[f>>2];switch(zm(a,e,c)|0){case 5:{f=vb(8)|0;e=k[c>>2]|0;k[f>>2]=13592;k[f+4>>2]=e;Wb(f|0,1752,171)}case 1:{f=vb(4)|0;k[f>>2]=13612;Wb(f|0,1784,171)}case 4:case 3:case 2:{f=vb(8)|0;e=i[k[a>>2]>>0]|0;k[f>>2]=13632;i[f+4>>0]=e;Wb(f|0,1800,171)}default:{r=d;return k[c>>2]|0}}return 0}function Ox(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=13952;c=a+4|0;k[c>>2]=4732;d=a+8|0;_G(d,b+4|0);x=0;sa(431,a+20|0,b+16|0);e=x;x=0;if(e&1){e=mb()|0;P1(d);yb(e|0)}else{e=a+72|0;b=b+68|0;k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[e+12>>2]=k[b+12>>2];k[e+16>>2]=k[b+16>>2];k[e+20>>2]=k[b+20>>2];k[e+24>>2]=k[b+24>>2];j[e+28>>1]=j[b+28>>1]|0;k[a>>2]=13652;k[c>>2]=13936;return}}function Px(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+48|0;f=h;g=k[b+56>>2]|0;g=Jc[k[(k[g>>2]|0)+40>>2]&1023](g,a)|0;d=(k[a+8>>2]|0)+36|0;c=lD(d,60)|0;e=f;a=b+8|0;b=e+40|0;do{k[e>>2]=k[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(b|0));k[c+4>>2]=0;e=c+8|0;a=f;b=e+40|0;do{k[e>>2]=k[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(b|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;k[c+52>>2]=0;k[c>>2]=11552;k[c+56>>2]=g;g=N4(d,c)|0;r=h;return g|0}function Qx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+48|0;f=h;g=k[b+56>>2]|0;g=Jc[k[(k[g>>2]|0)+40>>2]&1023](g,a)|0;d=(k[a+8>>2]|0)+36|0;c=lD(d,60)|0;e=f;a=b+8|0;b=e+40|0;do{k[e>>2]=k[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(b|0));k[c+4>>2]=0;e=c+8|0;a=f;b=e+40|0;do{k[e>>2]=k[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(b|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;k[c+52>>2]=0;k[c>>2]=6272;k[c+56>>2]=g;g=N4(d,c)|0;r=h;return g|0}function Rx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;c=a+104|0;b=k[c>>2]|0;if(!b)g=3;else if((k[a+108>>2]|0)<(b|0))g=3;else g=4;if((g|0)==3){b=JH(a)|0;if((b|0)<0)g=4;else{c=k[c>>2]|0;f=k[a+8>>2]|0;if(!c){d=f;g=9}else{e=k[a+4>>2]|0;c=c-(k[a+108>>2]|0)|0;d=f;if((f-e|0)<(c|0))g=9;else k[a+100>>2]=e+(c+-1)}if((g|0)==9)k[a+100>>2]=f;c=a+4|0;if(!d)c=k[c>>2]|0;else{c=k[c>>2]|0;a=a+108|0;k[a>>2]=d+1-c+(k[a>>2]|0)}c=c+-1|0;if((l[c>>0]|0|0)!=(b|0))i[c>>0]=b}}if((g|0)==4){k[a+100>>2]=0;b=-1}return b|0}function Sx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=9088;d=a+76|0;b=k[d>>2]|0;if(b|0){e=a+80|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-48|0;k[e>>2]=f;P1(c+-12|0);P1(c+-24|0);P1(c+-36|0);P1(f);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b)}b=k[a+64>>2]|0;if(!b){uha(a);return}c=a+68|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function Tx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;g=r;r=r+16|0;h=g+12|0;j=g+8|0;m=g+4|0;l=g;n=a+8|0;n=tc[k[(k[n>>2]|0)+20>>2]&511](n)|0;k[m>>2]=k[b>>2];k[l>>2]=k[c>>2];c=i[n>>0]|0;o=(c&1)==0;b=o?n+1|0:k[n+8>>2]|0;c=b+(o?(c&255)>>>1:k[n+4>>2]|0)|0;k[j>>2]=k[m>>2];k[h>>2]=k[l>>2];a=Kg(a,j,h,d,e,f,b,c)|0;r=g;return a|0}function Ux(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[41545]|0;a:do if(b<<24>>24){c=41545;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);b:do if((i[a>>0]|0)==45){b=p5(a+1|0)|0;if(b){a=b;while(1){b=p5(a)|0;if(!b)break;else a=b}if((i[a>>0]|0)==45)do{b=p5(a+1|0)|0;if(!b)break b;else a=b;while(1){b=p5(a)|0;if(!b)break;else a=b}}while((i[a>>0]|0)==45)}}while(0);c=(i[a>>0]|0)==40?a+1|0:0;return c|0}function Vx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=a+4|0;b=a+12|0;e=a+16|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;x=0;Ua(29,a+24|0,0,0,0);g=x;x=0;if(!(g&1)){x=0;Qa(74,a+36|0,44291,5);g=x;x=0;if(!(g&1))return}g=mb()|0;b=k[b>>2]|0;c=b;if(b|0){d=k[e>>2]|0;if((d|0)!=(b|0))k[e>>2]=d+(~(((d+-24-c|0)>>>0)/24|0)*24|0);uha(b)}b=k[a>>2]|0;if(!b)yb(g|0);c=k[f>>2]|0;if((c|0)!=(b|0))k[f>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(b);yb(g|0)}function Wx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;d=(k[f>>2]|0)!=363;h=k[a>>2]|0;e=(k[c>>2]|0)-h|0;e=e>>>0<2147483647?e<<1:-1;g=(k[b>>2]|0)-h>>2;h=OC(d?h:0,e)|0;if(!h)S2();do if(d){k[a>>2]=h;i=h}else{d=k[a>>2]|0;k[a>>2]=h;if(!d)i=h;else{x=0;ra(k[f>>2]|0,d|0);h=x;x=0;if(h&1){h=Eb(0)|0;Nba(h)}else{i=k[a>>2]|0;break}}}while(0);k[f>>2]=365;k[b>>2]=i+(g<<2);k[c>>2]=(k[a>>2]|0)+(e>>>2<<2);return}function Xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;d=(k[f>>2]|0)!=363;h=k[a>>2]|0;e=(k[c>>2]|0)-h|0;e=e>>>0<2147483647?e<<1:-1;g=(k[b>>2]|0)-h>>2;h=OC(d?h:0,e)|0;if(!h)S2();do if(d){k[a>>2]=h;i=h}else{d=k[a>>2]|0;k[a>>2]=h;if(!d)i=h;else{x=0;ra(k[f>>2]|0,d|0);h=x;x=0;if(h&1){h=Eb(0)|0;Nba(h)}else{i=k[a>>2]|0;break}}}while(0);k[f>>2]=365;k[b>>2]=i+(g<<2);k[c>>2]=(k[a>>2]|0)+(e>>>2<<2);return}function Yx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=a+8|0;f=a+1|0;b=(i[a>>0]&1)==0?f:k[e>>2]|0;if(!(i[b>>0]|0))b=0;else if(c9(b)|0){b=i[a>>0]|0;c=k[e>>2]|0;if(!(i[((b&1)==0?f:c)>>0]|0))b=0;else{d=b;b=0;do{if(!(b2(((d&1)==0?f:c)+b|0)|0))break;b=b+1|0;d=i[a>>0]|0;c=k[e>>2]|0}while((i[((d&1)==0?f:c)+b>>0]|0)!=0);if(!b)b=0;else b=(i[((i[a>>0]&1)==0?f:k[e>>2]|0)+b>>0]|0)==58?b+1|0:0}}else b=0;return (i[((i[a>>0]&1)==0?f:k[e>>2]|0)+b>>0]|0)==47|0}function Zx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=QF((i[b>>0]&1)==0?b+1|0:k[b+8>>2]|0,0,d)|0;k[a>>2]=e;do if((e|0)<0){e=L0()|0;e=k[e>>2]|0;kz(c,48150,b);x=0;sa(554,e|0,((i[c>>0]&1)==0?c+1|0:k[c+8>>2]|0)|0);e=x;x=0;if(e&1){e=mb()|0;P1(c);yb(e|0)}else{P1(c);break}}while(0);r=d;return}function _x(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;var h=0;h=r;r=r+112|0;c=h+4|0;d=h;k[d>>2]=c+100;eD(a+8|0,c,d,e,f,g);a=k[d>>2]|0;e=c;c=k[b>>2]|0;while(1){if((e|0)==(a|0))break;f=i[e>>0]|0;do if(!c)c=0;else{g=c+24|0;d=k[g>>2]|0;if((d|0)==(k[c+28>>2]|0)){b=(Jc[k[(k[c>>2]|0)+52>>2]&1023](c,f&255)|0)==-1;c=b?0:c;break}else{k[g>>2]=d+1;i[d>>0]=f;break}}while(0);e=e+1|0}r=h;return c|0}function $x(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=a+-68|0;f=b+64|0;a=k[f>>2]|0;if(a|0){f=a;return f|0}k[f>>2]=-1640531520;a=k[b+76>>2]|0;d=k[b+72>>2]|0;c=d;e=a;if((a|0)==(d|0)){f=-1640531520;return f|0}d=b+84|0;a=k[d>>2]|0;if(!a)if((c|0)==(e|0)){a=0;b=-1640531520}else{b=c;do{c=k[b>>2]|0;c=(tc[k[(k[c>>2]|0)+8>>2]&511](c)|0)+-1640531527|0;a=k[d>>2]|0;a=c+(a<<6)+(a>>>2)^a;k[d>>2]=a;b=b+4|0}while((b|0)!=(e|0));b=k[f>>2]|0}else b=-1640531520;e=a+-1640531527+(b<<6)+(b>>>2)^b;k[f>>2]=e;f=e;return f|0}function ay(a){a=a|0;var b=0;a=(i[a>>0]|0)==45?a+1|0:a;if(!a){b=0;return b|0}b=zz(a)|0;if(!b){b=0;return b|0}a=Az(b)|0;if(!a){if((i[b>>0]|0)==45)a=b;else return b|0;do a=a+1|0;while((i[a>>0]|0)==45);a=zz(a)|0;if(!a)return b|0}while(1){b=Az(a)|0;if(b|0){a=b;continue}if((i[a>>0]|0)==45)b=a;else{b=11;break}do b=b+1|0;while((i[b>>0]|0)==45);b=zz(b)|0;if(!b){b=11;break}else a=b}if((b|0)==11)return a|0;return 0}function by(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=a+4|0;Tu(d);lE(c,39795,9);x=0;Qa(134,d|0,c|0,b|0);f=x;x=0;if(f&1){f=mb()|0;P1(c);yb(f|0)}else{P1(c);vba(d);f=k[b+68>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a);f=k[b+64>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a);r=e;return}}function cy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;d=(k[f>>2]|0)!=363;h=k[a>>2]|0;e=(k[c>>2]|0)-h|0;e=e>>>0<2147483647?e<<1:-1;g=(k[b>>2]|0)-h|0;h=OC(d?h:0,e)|0;if(!h)S2();do if(d){k[a>>2]=h;i=h}else{d=k[a>>2]|0;k[a>>2]=h;if(!d)i=h;else{x=0;ra(k[f>>2]|0,d|0);h=x;x=0;if(h&1){h=Eb(0)|0;Nba(h)}else{i=k[a>>2]|0;break}}}while(0);k[f>>2]=365;k[b>>2]=i+g;k[c>>2]=(k[a>>2]|0)+e;return}function dy(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=a+60|0;d=i[g>>0]|0;e=(d&1)==0;f=a+68|0;c=k[f>>2]|0;h=g+1|0;b=e?h:c;a=e?(d&255)>>>1:k[a+64>>2]|0;e=b+a|0;if(a){while(1){c=i[b>>0]|0;a=aR(gI()|0,74172)|0;if(c<<24>>24<=-1)break;if(!(j[(k[a+8>>2]|0)+(c<<24>>24<<1)>>1]&8192))break;b=b+1|0;if((b|0)==(e|0)){b=e;break}}d=i[g>>0]|0;c=k[f>>2]|0}Wz(g,0,b-((d&1)==0?h:c)|0)|0;lH(g,g)|0;return}function ey(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;d=b+64|0;if(k[d>>2]|0)if(!(tc[k[(k[b>>2]|0)+24>>2]&511](b)|0))if(!(mK(k[d>>2]|0,k[c+8>>2]|0,0)|0)){e=c;d=k[e+4>>2]|0;b=b+72|0;k[b>>2]=k[e>>2];k[b+4>>2]=d;k[a>>2]=k[c>>2];k[a+4>>2]=k[c+4>>2];k[a+8>>2]=k[c+8>>2];k[a+12>>2]=k[c+12>>2];return}else{e=a;k[e>>2]=0;k[e+4>>2]=0;e=a+8|0;k[e>>2]=-1;k[e+4>>2]=-1;return}e=a;k[e>>2]=0;k[e+4>>2]=0;e=a+8|0;k[e>>2]=-1;k[e+4>>2]=-1;return}function fy(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=9088;d=a+76|0;b=k[d>>2]|0;if(b|0){e=a+80|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-48|0;k[e>>2]=f;P1(c+-12|0);P1(c+-24|0);P1(c+-36|0);P1(f);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b)}d=k[a+64>>2]|0;if(!d)return;b=a+68|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);uha(d);return}function gy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=0;if(!(k[b>>2]|0)){if(k[b+4>>2]|0)c=3}else c=3;if((c|0)==3){c=k[a+12>>2]|0;g=k[a+16>>2]|0;if((c|0)!=(g|0)){f=b+4|0;do{d=c+12|0;e=k[d>>2]|0;if(!e){h=c+16|0;k[h>>2]=(k[h>>2]|0)+(k[f>>2]|0)}k[d>>2]=e+(k[b>>2]|0);c=c+24|0}while((c|0)!=(g|0))}}c=a+24|0;d=k[c>>2]|0;if(d|0){h=k[b>>2]|0;h=d+h|0;k[c>>2]=h;return}h=a+28|0;k[h>>2]=(k[h>>2]|0)+(k[b+4>>2]|0);h=k[b>>2]|0;h=d+h|0;k[c>>2]=h;return}function hy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=a+4|0;Tu(d);lE(c,38829,6);x=0;Qa(134,d|0,c|0,b|0);f=x;x=0;if(f&1){f=mb()|0;P1(c);yb(f|0)}else{P1(c);vba(d);f=k[b+68>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a);f=k[b+64>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a);r=e;return}}function iy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=a+4|0;Tu(d);lE(c,38763,9);x=0;Qa(134,d|0,c|0,b|0);f=x;x=0;if(f&1){f=mb()|0;P1(c);yb(f|0)}P1(c);vba(d);c=k[b+68>>2]|0;if(c)rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);f=k[b+64>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a);r=e;return}function jy(a){a=a|0;var b=0,c=0,d=0;d=a+80|0;b=j[d>>1]|0;c=(b&1)==0;if(c)b=(b&65535)>>>8&255;else b=i[k[a+88>>2]>>0]|0;if(b<<24>>24!=58){d=0;return d|0}if(c)b=d+1|0;else b=k[a+88>>2]|0;if((i[b+1>>0]|0)==58){d=0;return d|0}if(!(KH(d,27372)|0)){d=0;return d|0}if(!(KH(d,27380)|0)){d=0;return d|0}if(!(KH(d,27387)|0)){d=0;return d|0}d=(KH(d,27399)|0)!=0;return d|0}function ky(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a=k[a+16>>2]|0;d=k[a+4>>2]|0;e=k[a+16>>2]|0;f=d+(((e>>>0)/170|0)<<2)|0;if((k[a+8>>2]|0)==(d|0)){g=0;d=0}else{g=e+(k[a+20>>2]|0)|0;g=(k[d+(((g>>>0)/170|0)<<2)>>2]|0)+(((g>>>0)%170|0)*24|0)|0;d=(k[f>>2]|0)+(((e>>>0)%170|0)*24|0)|0}a=0;a:while(1){do{if((d|0)==(g|0)){d=9;break a}e=rk(d,b,c)|0;a=a|e;if(e){d=9;break a}d=d+24|0}while((d-(k[f>>2]|0)|0)!=4080);d=f+4|0;f=d;d=k[d>>2]|0}if((d|0)==9)return a|0;return 0}function ly(a){a=a|0;var b=0,c=0,d=0;d=a+80|0;b=j[d>>1]|0;c=(b&1)==0;if(c)b=(b&65535)>>>8&255;else b=i[k[a+88>>2]>>0]|0;if(b<<24>>24==58){if(c)b=d+1|0;else b=k[a+88>>2]|0;if((i[b+1>>0]|0)==58){d=1;return d|0}}if(!(KH(d,27372)|0)){d=1;return d|0}if(!(KH(d,27380)|0)){d=1;return d|0}if(!(KH(d,27387)|0)){d=1;return d|0}d=(KH(d,27399)|0)==0;return d|0}function my(a,b,c){a=a|0;b=b|0;c=c|0;if((hc|0)!=2){k[ic+8>>2]=a;k[ic+16>>2]=b;k[ic+24>>2]=c;if((hc|0)==1)hc=3}Uc(kc+34352|0);return k[ic>>2]|0}function ny(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;var h=0;h=r;r=r+416|0;c=h+8|0;d=h;k[d>>2]=c+400;fv(a+8|0,c,d,e,f,g);a=k[d>>2]|0;e=c;c=k[b>>2]|0;while(1){if((e|0)==(a|0))break;d=k[e>>2]|0;if(!c)c=0;else{g=c+24|0;f=k[g>>2]|0;if((f|0)==(k[c+28>>2]|0))d=Jc[k[(k[c>>2]|0)+52>>2]&1023](c,d)|0;else{k[g>>2]=f+4;k[f>>2]=d}c=(d|0)==-1?0:c}e=e+4|0}r=h;return c|0}function oy(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=a+64|0;b=k[e>>2]|0;if(b|0){e=b;return e|0}k[e>>2]=-1640531520;f=k[a+76>>2]|0;b=k[a+72>>2]|0;c=b;d=f;if((f|0)==(b|0)){f=-1640531520;return f|0}a=a+84|0;b=k[a>>2]|0;if(!b)if((c|0)==(d|0)){b=0;c=-1640531520}else{do{f=k[c>>2]|0;f=(tc[k[(k[f>>2]|0)+8>>2]&511](f)|0)+-1640531527|0;b=k[a>>2]|0;b=f+(b<<6)+(b>>>2)^b;k[a>>2]=b;c=c+4|0}while((c|0)!=(d|0));c=k[e>>2]|0}else c=-1640531520;f=b+-1640531527+(c<<6)+(c>>>2)^c;k[e>>2]=f;return f|0}function py(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=a+4|0;Tu(d);lE(c,38754,8);x=0;Qa(134,d|0,c|0,b|0);f=x;x=0;if(f&1){f=mb()|0;P1(c);yb(f|0)}else{P1(c);Yo(d,0);f=k[b+64>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a);$n(d,0);r=e;return}}function qy(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,j=0;j=r;r=r+16|0;h=j;do if((a|0)==(b|0)){k[c>>2]=4;a=0}else{if((i[a>>0]|0)==45){k[c>>2]=4;a=0;break}f=L0()|0;g=k[f>>2]|0;k[f>>2]=0;a=O3(a,h,d,xH()|0)|0;d=M;e=k[f>>2]|0;if(!e)k[f>>2]=g;do if((k[h>>2]|0)==(b|0))if(d>>>0>0|(d|0)==0&a>>>0>65535|(e|0)==34){k[c>>2]=4;a=-1;break}else{a=a&65535;break}else{k[c>>2]=4;a=0}while(0)}while(0);r=j;return a|0}function ry(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4624;d=a+80|0;b=k[d>>2]|0;if(b|0){e=a+84|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-12|0;k[e>>2]=f;P1(f);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b)}d=a+68|0;b=k[d>>2]|0;if(!b){uha(a);return}e=a+72|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-12|0;k[e>>2]=f;P1(f);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b);uha(a);return}function sy(a,b){a=a|0;b=b|0;var c=0;a:do if(a|0){c=a;while(1){if((su(c,b)|0)!=(c+4|0))break;c=k[c+12>>2]|0;if(!c)break a}b=mv(c,b)|0;return b|0}while(0);b=mv(a,b)|0;return b|0}function ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;f=e+4|0;d=e;rJ(a);k[a>>2]=21100;k[a+32>>2]=b;K$(f,a+4|0);k[d>>2]=k[f>>2];x=0;b=Ka(865,d|0,75972)|0;f=x;x=0;if(f&1){f=mb()|0;J5(d);C2(a);yb(f|0)}else{J5(d);k[a+36>>2]=b;k[a+40>>2]=c;f=(tc[k[(k[b>>2]|0)+28>>2]&511](b)|0)&1;i[a+44>>0]=f;r=e;return}}function uy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;f=e+4|0;d=e;sJ(a);k[a>>2]=20972;k[a+32>>2]=b;K$(f,a+4|0);k[d>>2]=k[f>>2];x=0;b=Ka(865,d|0,75964)|0;f=x;x=0;if(f&1){f=mb()|0;J5(d);D2(a);yb(f|0)}else{J5(d);k[a+36>>2]=b;k[a+40>>2]=c;f=(tc[k[(k[b>>2]|0)+28>>2]&511](b)|0)&1;i[a+44>>0]=f;r=e;return}}function vy(a){a=a|0;var b=0;if((i[a>>0]|0)==45){b=a;do b=b+1|0;while((i[b>>0]|0)==45)}else b=a;b=Kt(b)|0;if(b|0){b=Jt(b)|0;if(b|0){a=b;return a|0}}b=yj(a)|0;if(b|0){a=b;return a|0}a=Lq(a)|0;return a|0}function wy(a){a=a|0;var b=0,c=0,d=0;c=i[29965]|0;a:do if(!(c<<24>>24))b=0;else{b=i[a>>0]|0;d=29965;while(1){if(b<<24>>24==c<<24>>24)break a;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){b=0;break}}}while(0);d=b<<24>>24?a+1|0:a;if(!d){a=0;return a|0}b=LN(d)|0;if(!b)b=d;else while(1){c=LN(b)|0;if(!c)break;else b=c}if((i[b>>0]|0)==46){b=LN(b+1|0)|0;if(b|0){while(1){c=LN(b)|0;if(!c)break;else b=c}return b|0}}a=LN(d)|0;return a|0}function xy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=r;r=r+16|0;f=e;k[f>>2]=d;d=p0(b)|0;x=0;b=xa(106,a|0,c|0,f|0)|0;a=x;x=0;if(a&1){b=mb()|0;if(d|0){x=0;ua(271,d|0)|0;f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}}yb(b|0)}else{if(d|0){x=0;ua(271,d|0)|0;f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}}r=e;return b|0}return 0}function yy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;i[b+53>>0]=1;do if((k[b+4>>2]|0)==(d|0)){i[b+52>>0]=1;d=b+16|0;a=k[d>>2]|0;if(!a){k[d>>2]=c;k[b+24>>2]=e;k[b+36>>2]=1;if(!((e|0)==1?(k[b+48>>2]|0)==1:0))break;i[b+54>>0]=1;break}if((a|0)!=(c|0)){e=b+36|0;k[e>>2]=(k[e>>2]|0)+1;i[b+54>>0]=1;break}a=b+24|0;d=k[a>>2]|0;if((d|0)==2){k[a>>2]=e;d=e}if((d|0)==1?(k[b+48>>2]|0)==1:0)i[b+54>>0]=1}while(0);return}function zy(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;var h=0,j=0,l=0;if((1073741807-b|0)>>>0>>0)dH(a);if(!(i[a>>0]&1))l=a+4|0;else l=k[a+8>>2]|0;if(b>>>0<536870887){h=c+b|0;j=b<<1;h=h>>>0>>0?j:h;h=h>>>0<2?2:h+4&-4}else h=1073741807;j=GG(h<<2)|0;if(e|0)JK(j,l,e)|0;c=d-f|0;if((c|0)!=(e|0))JK(j+(e<<2)+(g<<2)|0,l+(e<<2)+(f<<2)|0,c-e|0)|0;if((b|0)!=1)uha(l);k[a+8>>2]=j;k[a>>2]=h|1;return}function Ay(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=b&255;a:do if(!d)a=a+(OD(a)|0)|0;else{if(a&3){c=b&255;do{e=i[a>>0]|0;if(e<<24>>24==0?1:e<<24>>24==c<<24>>24)break a;a=a+1|0}while((a&3|0)!=0)}d=ia(d,16843009)|0;c=k[a>>2]|0;b:do if(!((c&-2139062144^-2139062144)&c+-16843009))do{e=c^d;if((e&-2139062144^-2139062144)&e+-16843009|0)break b;a=a+4|0;c=k[a>>2]|0}while(!((c&-2139062144^-2139062144)&c+-16843009|0));while(0);c=b&255;while(1){e=i[a>>0]|0;if(e<<24>>24==0?1:e<<24>>24==c<<24>>24)break;else a=a+1|0}}while(0);return a|0}function By(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;if(!a)return;e=k[a>>2]|0;if(e|0){c=k[a+4>>2]|0;d=a+8|0;b=k[d>>2]|0;f=c;if(!c)k[e+24>>2]=b;else{k[c+8>>2]=b;b=k[d>>2]|0}if(!b)k[e+24+4>>2]=f;else k[b+4>>2]=f;cf(k[a+12>>2]|0);k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0}switch(k[a+16>>2]|0){case 2:{cf(k[a+24>>2]|0);break}case 5:case 4:{b=k[a+24>>2]|0;if(b|0)do{f=b;b=k[b+8>>2]|0;By(f)}while((b|0)!=0);break}default:{}}cf(a);return}function Cy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=a+4|0;Tu(d);lE(c,44256,7);x=0;Qa(134,d|0,c|0,b|0);f=x;x=0;if(f&1){f=mb()|0;P1(c);yb(f|0)}else{P1(c);vba(d);f=k[b+64>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a);EF(d);r=e;return}}function Dy(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=a+-68|0;e=b+64|0;a=k[e>>2]|0;if(a|0){e=a;return e|0}k[e>>2]=-1640531520;d=b+84|0;a=k[d>>2]|0;if(!a){a=k[b+72>>2]|0;c=k[b+76>>2]|0;if((a|0)==(c|0)){a=0;b=-1640531520}else{b=a;do{f=k[b>>2]|0;f=(tc[k[(k[f>>2]|0)+8>>2]&511](f)|0)+-1640531527|0;a=k[d>>2]|0;a=f+(a<<6)+(a>>>2)^a;k[d>>2]=a;b=b+4|0}while((b|0)!=(c|0));b=k[e>>2]|0}}else b=-1640531520;f=a+-1640531527+(b<<6)+(b>>>2)^b;k[e>>2]=f;return f|0}function Ey(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=a+4|0;Tu(d);lE(c,44182,5);x=0;Qa(134,d|0,c|0,b|0);f=x;x=0;if(f&1){f=mb()|0;P1(c);yb(f|0)}else{P1(c);vba(d);f=k[b+64>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a);EF(d);r=e;return}}function Fy(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,j=0;j=r;r=r+16|0;h=j;do if((a|0)==(b|0)){k[c>>2]=4;a=0}else{if((i[a>>0]|0)==45){k[c>>2]=4;a=0;break}f=L0()|0;g=k[f>>2]|0;k[f>>2]=0;a=O3(a,h,d,xH()|0)|0;d=M;e=k[f>>2]|0;if(!e)k[f>>2]=g;do if((k[h>>2]|0)==(b|0))if(d>>>0>0|(d|0)==0&a>>>0>4294967295|(e|0)==34){k[c>>2]=4;a=-1;break}else break;else{k[c>>2]=4;a=0}while(0)}while(0);r=j;return a|0}function Gy(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,j=0;j=r;r=r+16|0;h=j;do if((a|0)==(b|0)){k[c>>2]=4;a=0}else{if((i[a>>0]|0)==45){k[c>>2]=4;a=0;break}f=L0()|0;g=k[f>>2]|0;k[f>>2]=0;a=O3(a,h,d,xH()|0)|0;d=M;e=k[f>>2]|0;if(!e)k[f>>2]=g;do if((k[h>>2]|0)==(b|0))if(d>>>0>0|(d|0)==0&a>>>0>4294967295|(e|0)==34){k[c>>2]=4;a=-1;break}else break;else{k[c>>2]=4;a=0}while(0)}while(0);r=j;return a|0}function Hy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=a+4|0;Tu(d);lE(c,44248,7);x=0;Qa(134,d|0,c|0,b|0);f=x;x=0;if(f&1){f=mb()|0;P1(c);yb(f|0)}else{P1(c);vba(d);f=k[b+64>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a);EF(d);r=e;return}}function Iy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=a+4|0;Tu(d);lE(c,44195,6);x=0;Qa(134,d|0,c|0,b|0);f=x;x=0;if(f&1){f=mb()|0;P1(c);yb(f|0)}else{P1(c);vba(d);f=k[b+64>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a);EF(d);r=e;return}}function Jy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=a+4|0;Tu(d);lE(c,44188,6);x=0;Qa(134,d|0,c|0,b|0);f=x;x=0;if(f&1){f=mb()|0;P1(c);yb(f|0)}else{P1(c);vba(d);f=k[b+64>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a);EF(d);r=e;return}}function Ky(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;o5(a);d=k[a+12>>2]|0;e=mha((d|0)>-1?d:-1)|0;f=mha((d|0)<0?-1:d<<1)|0;g=b+4|0;do{Oq(b,e,d)|0;h=k[g>>2]|0;dr(c,f,Zp(e,h,f,a)|0)|0}while((h|0)>0?(k[b+(k[(k[b>>2]|0)+-12>>2]|0)+16>>2]|0)==0:0);dr(c,f,FC(f,a)|0)|0;o5(a);nha(f);nha(e);return}function Ly(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;d=e;b=k[b+72>>2]|0;if(!b){d=0;r=e;return d|0}f=k[(k[a>>2]|0)+112>>2]|0;_G(d,c);x=0;b=xa(f|0,a|0,b|0,d|0)|0;c=x;x=0;if(c&1){f=mb()|0;P1(d);yb(f|0)}P1(d);f=b;r=e;return f|0}function My(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4624;d=a+80|0;b=k[d>>2]|0;if(b|0){e=a+84|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-12|0;k[e>>2]=f;P1(f);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b)}e=a+68|0;b=k[e>>2]|0;if(!b)return;d=a+72|0;c=k[d>>2]|0;if((c|0)!=(b|0)){do{f=c+-12|0;k[d>>2]=f;P1(f);c=k[d>>2]|0}while((c|0)!=(b|0));b=k[e>>2]|0}uha(b);return}function Ny(a,b){a=a|0;b=b|0;var c=0,d=0;d=0;c=b;a:do if(!((c^a)&3)){if(c&3)do{c=i[b>>0]|0;i[a>>0]=c;if(!(c<<24>>24))break a;b=b+1|0;a=a+1|0}while((b&3|0)!=0);c=k[b>>2]|0;if(!((c&-2139062144^-2139062144)&c+-16843009)){d=a;while(1){b=b+4|0;a=d+4|0;k[d>>2]=c;c=k[b>>2]|0;if((c&-2139062144^-2139062144)&c+-16843009|0)break;else d=a}}d=8}else d=8;while(0);if((d|0)==8){d=i[b>>0]|0;i[a>>0]=d;if(d<<24>>24)do{b=b+1|0;a=a+1|0;d=i[b>>0]|0;i[a>>0]=d}while(d<<24>>24!=0)}return a|0}function Oy(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,j=0;j=r;r=r+16|0;h=j;do if((a|0)==(b|0)){k[c>>2]=4;d=0;a=0}else{if((i[a>>0]|0)==45){k[c>>2]=4;d=0;a=0;break}f=L0()|0;g=k[f>>2]|0;k[f>>2]=0;a=O3(a,h,d,xH()|0)|0;d=M;e=k[f>>2]|0;if(!e)k[f>>2]=g;if((k[h>>2]|0)==(b|0)){if((e|0)==34){k[c>>2]=4;a=-1;d=-1}}else{k[c>>2]=4;a=0;d=0}}while(0);M=d;r=j;return a|0}function Py(a,b){a=a|0;b=b|0;if(!(a>>>0<1114112&(a&-2048|0)!=55296)){b=vb(8)|0;k[b>>2]=13592;k[b+4>>2]=a;Wb(b|0,1752,171)}if(a>>>0<128){i[b>>0]=a;b=b+1|0;return b|0}if(a>>>0<2048){i[b>>0]=a>>>6|192;i[b+1>>0]=a&63|128;b=b+2|0;return b|0}if(a>>>0<65536){i[b>>0]=a>>>12|224;i[b+1>>0]=a>>>6&63|128;i[b+2>>0]=a&63|128;b=b+3|0;return b|0}else{i[b>>0]=a>>>18|240;i[b+1>>0]=a>>>12&63|128;i[b+2>>0]=a>>>6&63|128;i[b+3>>0]=a&63|128;b=b+4|0;return b|0}return 0}function Qy(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+32|0;e=c+12|0;b=c;a=a+80|0;_G(e,a);d=(i[((i[e>>0]&1)==0?e+1|0:k[e+8>>2]|0)>>0]|0)==35;P1(e);if(d){e=8596;e=k[e>>2]|0;r=c;return e|0}_G(b,a);e=(i[((i[b>>0]&1)==0?b+1|0:k[b+8>>2]|0)>>0]|0)==46;P1(b);e=e?8584:8580;e=k[e>>2]|0;r=c;return e|0}function Ry(a,b){a=a|0;b=b|0;if(!b)return;else{Ry(a,k[b>>2]|0);Ry(a,k[b+4>>2]|0);P1(b+16|0);uha(b);return}}function Sy(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;var h=0,j=0,l=0;if((-17-b|0)>>>0>>0)dH(a);if(!(i[a>>0]&1))l=a+1|0;else l=k[a+8>>2]|0;if(b>>>0<2147483623){h=c+b|0;j=b<<1;h=h>>>0>>0?j:h;h=h>>>0<11?11:h+16&-16}else h=-17;j=GG(h)|0;if(e|0)WC(j|0,l|0,e|0)|0;c=d-f|0;if((c|0)!=(e|0))WC(j+e+g|0,l+e+f|0,c-e|0)|0;if((b|0)!=10)uha(l);k[a+8>>2]=j;k[a>>2]=h|1;return}function Ty(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e;d=a+4|0;_G(c,b+80|0);x=0;Qa(134,d|0,c|0,b|0);a=x;x=0;if(a&1){e=mb()|0;P1(c);yb(e|0)}P1(c);a=b+58|0;if(!(i[a>>0]|0)){r=e;return}AI(d);if(!(i[a>>0]|0)){r=e;return}Tu(d);r=e;return}function Uy(a,b,c){a=+a;b=+b;c=+c;var d=0;if(!(a==255.0|(a==238.0|(a==221.0|(a==204.0|(a==187.0|(a==170.0|(a==153.0|(a==136.0|(a==119.0|(a==102.0|(a==85.0|(a==68.0|(a==51.0|(a==34.0|(a==0.0|a==17.0)))))))))))))))){d=0;return d|0}if(!(b==255.0|(b==238.0|(b==221.0|(b==204.0|(b==187.0|(b==170.0|(b==153.0|(b==136.0|(b==119.0|(b==102.0|(b==85.0|(b==68.0|(b==51.0|(b==34.0|(b==0.0|b==17.0)))))))))))))))){d=0;return d|0}d=c==255.0|(c==238.0|(c==221.0|(c==204.0|(c==187.0|(c==170.0|(c==153.0|(c==136.0|(c==119.0|(c==102.0|(c==85.0|(c==68.0|(c==51.0|(c==34.0|(c==0.0|c==17.0))))))))))))));return d|0}function Vy(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=a+64|0;b=k[e>>2]|0;if(b|0){e=b;return e|0}k[e>>2]=-1640531520;d=a+84|0;b=k[d>>2]|0;if(!b){b=k[a+72>>2]|0;c=k[a+76>>2]|0;if((b|0)==(c|0)){b=0;a=-1640531520}else{a=b;do{f=k[a>>2]|0;f=(tc[k[(k[f>>2]|0)+8>>2]&511](f)|0)+-1640531527|0;b=k[d>>2]|0;b=f+(b<<6)+(b>>>2)^b;k[d>>2]=b;a=a+4|0}while((a|0)!=(c|0));a=k[e>>2]|0}}else a=-1640531520;f=b+-1640531527+(a<<6)+(a>>>2)^a;k[e>>2]=f;return f|0}function Wy(){var a=0,b=0,c=0,d=0;c=r;r=r+16|0;b=c+12|0;a=c;lE(a,36641,12);x=0;sa(529,b|0,a|0);d=x;x=0;if(d&1){d=mb()|0;P1(a);yb(d|0)}P1(a);x=0;a=ua(221,b|0)|0;d=x;x=0;if(!(d&1)){LM(b);M=0;r=c;return a|0}d=mb()|0;LM(b);yb(d|0);return 0}function Xy(a){a=a|0;var b=0,c=0,d=0;c=i[29965]|0;a:do if(!(c<<24>>24))b=0;else{b=i[a>>0]|0;d=29965;while(1){if(b<<24>>24==c<<24>>24)break a;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){b=0;break}}}while(0);b=b<<24>>24?a+1|0:a;if(!b){a=0;return a|0}a=LN(b)|0;b=a|0?a:b;if(!b){a=0;return a|0}if((i[b>>0]|0)!=110){a=0;return a|0}a=Op(b+1|0)|0;return a|0}function Yy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if((a|0)==(k[b+8>>2]|0))qD(0,b,c,d);else{f=k[a+12>>2]|0;e=a+16+(f<<3)|0;pG(a+16|0,b,c,d);if((f|0)>1){f=b+54|0;a=a+24|0;do{pG(a,b,c,d);if(i[f>>0]|0)break a;a=a+8|0}while(a>>>0>>0)}}while(0);return}function Zy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)){a=b+28|0;if((k[a>>2]|0)!=1)k[a>>2]=d}}else if((a|0)==(k[b>>2]|0)){if((k[b+16>>2]|0)!=(c|0)){a=b+20|0;if((k[a>>2]|0)!=(c|0)){k[b+32>>2]=d;k[a>>2]=c;d=b+40|0;k[d>>2]=(k[d>>2]|0)+1;if((k[b+36>>2]|0)==1)if((k[b+24>>2]|0)==2)i[b+54>>0]=1;k[b+44>>2]=4;break}}if((d|0)==1)k[b+32>>2]=1}while(0);return}function _y(a){a=a|0;var b=0,c=0,d=0;b=AN(a)|0;if(!b){c=i[a>>0]|0;b=a+1|0;if((c|4)<<24>>24!=13){d=c<<24>>24|0;b=(d|0)!=10?((d|0)==12?b:0):b;if(!b){d=a;a=c;a=a<<24>>24==41;d=d+1|0;d=a?d:0;return d|0}}}while(1){c=AN(b)|0;if(c|0){b=c;continue}c=i[b>>0]|0;a=b+1|0;if((c|4)<<24>>24==13){b=a;continue}d=c<<24>>24|0;a=(d|0)!=10?((d|0)==12?a:0):a;if(!a)break;else b=a}a=c<<24>>24==41;d=b+1|0;d=a?d:0;return d|0}function $y(a,b){a=a|0;b=b|0;if(!b)return;else{$y(a,k[b>>2]|0);$y(a,k[b+4>>2]|0);P1(b+16|0);uha(b);return}}function az(a,b){a=a|0;b=b|0;if(!b)return;else{az(a,k[b>>2]|0);az(a,k[b+4>>2]|0);P1(b+16|0);uha(b);return}}function bz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=0;j=r;r=r+16|0;h=j+8|0;g=j;c=a+36|0;d=a+40|0;e=h+8|0;f=h;b=a+32|0;a:while(1){a=k[c>>2]|0;a=vc[k[(k[a>>2]|0)+20>>2]&31](a,k[d>>2]|0,h,e,g)|0;l=(k[g>>2]|0)-f|0;if((FH(h,1,l,k[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{i=4;break a}}}if((i|0)==4)a=((sA(k[b>>2]|0)|0)!=0)<<31>>31;r=j;return a|0}function cz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=0;j=r;r=r+16|0;h=j+8|0;g=j;c=a+36|0;d=a+40|0;e=h+8|0;f=h;b=a+32|0;a:while(1){a=k[c>>2]|0;a=vc[k[(k[a>>2]|0)+20>>2]&31](a,k[d>>2]|0,h,e,g)|0;l=(k[g>>2]|0)-f|0;if((FH(h,1,l,k[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{i=4;break a}}}if((i|0)==4)a=((sA(k[b>>2]|0)|0)!=0)<<31>>31;r=j;return a|0}function dz(a){a=a|0;var b=0;if((i[a>>0]|0)==45){b=a;do b=b+1|0;while((i[b>>0]|0)==45)}else b=a;b=Kt(b)|0;if(!b)b=0;else{b=Jt(b)|0;if(!b)b=0;else b=(i[b>>0]|0)==124?b+1|0:0}b=b|0?b:a;if(!b){a=0;return a|0}if((i[b>>0]|0)==45)do b=b+1|0;while((i[b>>0]|0)==45);b=Kt(b)|0;if(!b){a=0;return a|0}a=Jt(b)|0;return a|0}function ez(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e;d=a+4|0;rc[k[(k[b>>2]|0)+108>>2]&1023](c,b);x=0;Qa(134,d|0,c|0,b|0);a=x;x=0;if(a&1){e=mb()|0;P1(c);yb(e|0)}P1(c);a=b+58|0;if(!(i[a>>0]|0)){r=e;return}AI(d);if(!(i[a>>0]|0)){r=e;return}Tu(d);r=e;return}function fz(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;i=r;r=r+16|0;h=i;if((a|0)==(b|0)){k[c>>2]=4;d=0;a=0}else{f=L0()|0;g=k[f>>2]|0;k[f>>2]=0;a=j4(a,h,d,xH()|0)|0;d=M;e=k[f>>2]|0;if(!e)k[f>>2]=g;if((k[h>>2]|0)==(b|0)){if((e|0)==34){k[c>>2]=4;d=(d|0)>0|(d|0)==0&a>>>0>0;a=d?-1:0;d=d?2147483647:-2147483648}}else{k[c>>2]=4;a=0;d=0}}M=d;r=i;return a|0}function gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g;if((a|0)==(b|0))b=1;else if(!b)b=0;else{b=Ot(b,4360,4328,0)|0;if(!b)b=0;else{d=f;e=d+56|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[f>>2]=b;k[f+8>>2]=a;k[f+12>>2]=-1;k[f+48>>2]=1;Tc[k[(k[b>>2]|0)+28>>2]&63](b,f,k[c>>2]|0,1);if((k[f+24>>2]|0)==1){k[c>>2]=k[f+16>>2];b=1}else b=0}}r=g;return b|0}function hz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=a+-68|0;k[f>>2]=7828;e=f+68|0;k[e>>2]=7968;c=f+88|0;a=k[c>>2]|0;if(a|0){d=f+92|0;b=k[d>>2]|0;if((b|0)!=(a|0)){do{g=b+-12|0;k[d>>2]=g;P1(g);b=k[d>>2]|0}while((b|0)!=(a|0));a=k[c>>2]|0}uha(a)}k[e>>2]=7996;a=k[f+72>>2]|0;if(!a){uha(f);return}b=f+76|0;c=k[b>>2]|0;if((c|0)!=(a|0))k[b>>2]=c+(~((c+-4-a|0)>>>2)<<2);uha(a);uha(f);return}function iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;if(b|0){d=i[a>>0]|0;if(!(d&1))e=10;else{d=k[a>>2]|0;e=(d&-2)+-1|0;d=d&255}if(!(d&1))f=(d&255)>>>1;else f=k[a+4>>2]|0;if((e-f|0)>>>0>>0){Sy(a,e,b-e+f|0,f,f,0,0);d=i[a>>0]|0}if(!(d&1))e=a+1|0;else e=k[a+8>>2]|0;vE(e+f|0,c|0,b|0)|0;d=f+b|0;if(!(i[a>>0]&1))i[a>>0]=d<<1;else k[a+4>>2]=d;i[e+d>>0]=0}return a|0}function jz(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+16|0;c=d;k[c>>2]=0;switch(Qm(a,b,c)|0){case 5:{d=vb(8)|0;a=k[c>>2]|0;k[d>>2]=13592;k[d+4>>2]=a;Wb(d|0,1752,171)}case 1:{d=vb(4)|0;k[d>>2]=13612;Wb(d|0,1784,171)}case 4:case 3:case 2:{d=vb(8)|0;a=i[k[a>>2]>>0]|0;k[d>>2]=13632;i[d+4>>0]=a;Wb(d|0,1800,171)}default:{r=d;return k[c>>2]|0}}return 0}function kz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=0;while(1){if((d|0)==3)break;k[a+(d<<2)>>2]=0;d=d+1|0}e=OD(b)|0;d=i[c>>0]|0;d=(d&1)==0?(d&255)>>>1:k[c+4>>2]|0;x=0;Ua(10,a|0,b|0,e|0,d+e|0);b=x;x=0;if(!(b&1)){x=0;xa(46,a|0,((i[c>>0]&1)==0?c+1|0:k[c+8>>2]|0)|0,d|0)|0;e=x;x=0;if(!(e&1))return}e=mb()|0;P1(a);yb(e|0)}function lz(a){a=a|0;var b=0;do if(!(i[67920]|0))if(q3(67920)|0){if(!(i[67928]|0))if(q3(67928)|0){a=74708;do{b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}a=a+12|0}while((a|0)!=74996);Ub(357,0,w|0)|0}x=0;Ka(874,74708,49969)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74720,49972)|0;b=x;x=0;if(!(b&1)){k[18749]=74708;break}}b=mb()|0;yb(b|0)}while(0);return k[18749]|0}function mz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=0;g=r;r=r+16|0;c=g;e=a+8|0;b=k[e>>2]|0;d=a+12|0;do if((b|0)<(k[d>>2]|0))f=6;else{k[c>>2]=k[a>>2];k[c+4>>2]=a+24;k[c+8>>2]=2048;b=Wa(220,c|0)|0;if((b|0)>=1){k[d>>2]=b;k[e>>2]=0;b=0;f=6;break}if((b|0)<0&(b|0)!=-2){a=L0()|0;k[a>>2]=0-b;b=0}else b=0}while(0);if((f|0)==6){f=a+24+b|0;k[e>>2]=(m[f+8>>1]|0)+b;k[a+4>>2]=k[f+4>>2];b=f}r=g;return b|0}function nz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;k[a>>2]=0;k[a+4>>2]=0;e=i[b>>0]|0;f=(e&1)==0;c=f?b+1|0:k[b+8>>2]|0;e=f?(e&255)>>>1:k[b+4>>2]|0;f=c+e|0;a:do if((e|0)>0){e=0;b=0;d=0;while(1){switch(i[c>>0]|0){case 0:{c=e;break a}case 10:{d=d+1|0;e=d;b=0;break}default:b=b+1|0}c=c+1|0;if(c>>>0>=f>>>0){c=e;break a}}}else{c=0;b=0}while(0);k[a>>2]=c;k[a+4>>2]=b;return}function oz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=i[a>>0]|0;if(!(d&1))f=10;else{d=k[a>>2]|0;f=(d&-2)+-1|0;d=d&255}e=(d&1)==0;do if(f>>>0>>0){if(e)d=(d&255)>>>1;else d=k[a+4>>2]|0;Bx(a,f,c-f|0,d,0,d,c,b)}else{if(e)d=a+1|0;else d=k[a+8>>2]|0;VH(d|0,b|0,c|0)|0;i[d+c>>0]=0;if(!(i[a>>0]&1)){i[a>>0]=c<<1;break}else{k[a+4>>2]=c;break}}while(0);return a|0}function pz(a){a=a|0;var b=0;do if(!(i[68e3]|0))if(q3(68e3)|0){if(!(i[68008]|0))if(q3(68008)|0){a=75520;do{b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}a=a+12|0}while((a|0)!=75808);Ub(360,0,w|0)|0}x=0;Ka(910,75520,23508)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75532,23520)|0;b=x;x=0;if(!(b&1)){k[18952]=75520;break}}b=mb()|0;yb(b|0)}while(0);return k[18952]|0}function qz(a,b,c){a=a|0;b=b|0;c=c|0;do if(!a)a=1;else{if(b>>>0<128){i[a>>0]=b;a=1;break}if(b>>>0<2048){i[a>>0]=b>>>6|192;i[a+1>>0]=b&63|128;a=2;break}if(b>>>0<55296|(b&-8192|0)==57344){i[a>>0]=b>>>12|224;i[a+1>>0]=b>>>6&63|128;i[a+2>>0]=b&63|128;a=3;break}if((b+-65536|0)>>>0<1048576){i[a>>0]=b>>>18|240;i[a+1>>0]=b>>>12&63|128;i[a+2>>0]=b>>>6&63|128;i[a+3>>0]=b&63|128;a=4;break}else{a=L0()|0;k[a>>2]=84;a=-1;break}}while(0);return a|0}function rz(a){a=a|0;var b=0,c=0,d=0,e=0;k[a+4>>2]=4732;P1(a+56|0);b=k[a+32>>2]|0;c=b;if(b|0){d=a+36|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-24-c|0)>>>0)/24|0)*24|0);uha(b)}b=k[a+20>>2]|0;if(!b){e=a+8|0;P1(e);uha(a);return}c=a+24|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);e=a+8|0;P1(e);uha(a);return}function sz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=0;if((k[b+76>>2]|0)<0)e=3;else if(!(Dha(b)|0))e=3;else{if((i[b+75>>0]|0)==(a|0))e=10;else{c=b+20|0;d=k[c>>2]|0;if(d>>>0<(k[b+16>>2]|0)>>>0){k[c>>2]=d+1;i[d>>0]=a;c=a&255}else e=10}if((e|0)==10)c=_z(b,a)|0;Cha(b)}do if((e|0)==3){if((i[b+75>>0]|0)!=(a|0)){d=b+20|0;c=k[d>>2]|0;if(c>>>0<(k[b+16>>2]|0)>>>0){k[d>>2]=c+1;i[c>>0]=a;c=a&255;break}}c=_z(b,a)|0}while(0);return c|0}function tz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=i[a>>0]|0;if(!(d&1))f=1;else{d=k[a>>2]|0;f=(d&-2)+-1|0;d=d&255}e=(d&1)==0;do if(f>>>0>>0){if(e)d=(d&255)>>>1;else d=k[a+4>>2]|0;vx(a,f,c-f|0,d,0,d,c,b)}else{if(e)d=a+4|0;else d=k[a+8>>2]|0;NF(d,b,c)|0;k[d+(c<<2)>>2]=0;if(!(i[a>>0]&1)){i[a>>0]=c<<1;break}else{k[a+4>>2]=c;break}}while(0);return a|0}function uz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=a+44|0;c=k[d>>2]|0;e=k[a+24>>2]|0;if(c>>>0>>0){k[d>>2]=e;c=e}f=a+12|0;d=k[f>>2]|0;if((k[a+8>>2]|0)>>>0>=d>>>0){a=-1;return a|0}if((b|0)==-1){k[f>>2]=d+-1;k[a+16>>2]=c;a=0;return a|0}if(!(k[a+48>>2]&16)){e=b&255;d=d+-1|0;if(e<<24>>24!=(i[d>>0]|0)){a=-1;return a|0}}else{e=b&255;d=d+-1|0}k[f>>2]=d;k[a+16>>2]=c;i[d>>0]=e;a=b;return a|0}function vz(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4732;P1(a+52|0);b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-24-c|0)>>>0)/24|0)*24|0);uha(b)}b=k[a+16>>2]|0;if(!b){e=a+4|0;P1(e);uha(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);e=a+4|0;P1(e);uha(a);return}function wz(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+-4|0;k[e+4>>2]=4732;P1(e+56|0);a=k[e+32>>2]|0;b=a;if(a|0){c=e+36|0;d=k[c>>2]|0;if((d|0)!=(a|0))k[c>>2]=d+(~(((d+-24-b|0)>>>0)/24|0)*24|0);uha(a)}a=k[e+20>>2]|0;if(!a){e=e+8|0;P1(e);return}b=e+24|0;c=k[b>>2]|0;if((c|0)!=(a|0))k[b>>2]=c+(~((c+-4-a|0)>>>2)<<2);uha(a);e=e+8|0;P1(e);return}function xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=i[a>>0]|0;if(!(d&1))e=10;else{d=k[a>>2]|0;e=(d&-2)+-1|0;d=d&255}if(!(d&1))f=(d&255)>>>1;else f=k[a+4>>2]|0;if((e-f|0)>>>0>>0)Bx(a,e,c-e+f|0,f,f,0,c,b);else if(c|0){if(!(d&1))e=a+1|0;else e=k[a+8>>2]|0;WC(e+f|0,b|0,c|0)|0;d=f+c|0;if(!(i[a>>0]&1))i[a>>0]=d<<1;else k[a+4>>2]=d;i[e+d>>0]=0}return a|0}function yz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;k[a>>2]=7828;f=a+68|0;k[f>>2]=7968;d=a+88|0;b=k[d>>2]|0;if(b|0){e=a+92|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-12|0;k[e>>2]=g;P1(g);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b)}k[f>>2]=7996;b=k[a+72>>2]|0;if(!b){uha(a);return}c=a+76|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function zz(a){a=a|0;var b=0,c=0,d=0;b=p5(a)|0;if(b|0){a=b;return a|0}b=F9(a)|0;if(b|0){a=b;return a|0}c=a+1|0;do if((i[a>>0]|0)==92){if(!(AY(c)|0)){b=uaa(c)|0;if(!b)break}else{b=a+2|0;if(AY(b)|0){b=a+3|0;d=(AY(b)|0)==0;b=d?b:a+4|0}}b=(i[b>>0]|0)==32?b+1|0:b;if(b|0){d=b;return d|0}}while(0);d=(i[a>>0]|0)==95?c:0;return d|0}function Az(a){a=a|0;var b=0,c=0,d=0;b=BY(a)|0;if(b|0){a=b;return a|0}b=F9(a)|0;if(b|0){a=b;return a|0}c=a+1|0;do if((i[a>>0]|0)==92){if(!(AY(c)|0)){b=uaa(c)|0;if(!b)break}else{b=a+2|0;if(AY(b)|0){b=a+3|0;d=(AY(b)|0)==0;b=d?b:a+4|0}}b=(i[b>>0]|0)==32?b+1|0:b;if(b|0){d=b;return d|0}}while(0);d=(i[a>>0]|0)==95?c:0;return d|0}function Bz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;f=e+4|0;d=e;rJ(a);k[a>>2]=21036;k[a+32>>2]=b;k[a+40>>2]=c;k[a+48>>2]=-1;i[a+52>>0]=0;K$(f,a+4|0);k[d>>2]=k[f>>2];x=0;sa(395,a|0,d|0);c=x;x=0;if(c&1){f=mb()|0;J5(d);C2(a);yb(f|0)}else{J5(d);r=e;return}}function Cz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;f=e+4|0;d=e;sJ(a);k[a>>2]=20908;k[a+32>>2]=b;k[a+40>>2]=c;k[a+48>>2]=-1;i[a+52>>0]=0;K$(f,a+4|0);k[d>>2]=k[f>>2];x=0;sa(393,a|0,d|0);c=x;x=0;if(c&1){f=mb()|0;J5(d);D2(a);yb(f|0)}else{J5(d);r=e;return}}function Dz(a,b){a=a|0;b=b|0;if(!b)return;else{Dz(a,k[b>>2]|0);Dz(a,k[b+4>>2]|0);P1(b+16|0);uha(b);return}}function Ez(a){a=a|0;var b=0,c=0,d=0,e=0;k[a+4>>2]=4732;P1(a+56|0);b=k[a+32>>2]|0;c=b;if(b|0){d=a+36|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-24-c|0)>>>0)/24|0)*24|0);uha(b)}b=k[a+20>>2]|0;if(!b){a=a+8|0;P1(a);return}c=a+24|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);a=a+8|0;P1(a);return}function Fz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=a+-68|0;k[f>>2]=7828;e=f+68|0;k[e>>2]=7968;c=f+88|0;a=k[c>>2]|0;if(a|0){d=f+92|0;b=k[d>>2]|0;if((b|0)!=(a|0)){do{g=b+-12|0;k[d>>2]=g;P1(g);b=k[d>>2]|0}while((b|0)!=(a|0));a=k[c>>2]|0}uha(a)}k[e>>2]=7996;c=k[f+72>>2]|0;if(!c)return;a=f+76|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);return}function Gz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=14520;e=a+12|0;Zu(e);c=a+16|0;b=k[c>>2]|0;f=a+20|0;d=k[f>>2]|0;if((b|0)!=(d|0)){do{uha(k[b>>2]|0);b=b+4|0}while((b|0)!=(d|0));b=k[c>>2]|0;c=k[f>>2]|0;if((c|0)!=(b|0))k[f>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[e>>2]|0;if(!b){Iga(a);uha(a);return}uha(b);Iga(a);uha(a);return}function Hz(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4732;P1(a+52|0);b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-24-c|0)>>>0)/24|0)*24|0);uha(b)}b=k[a+16>>2]|0;if(!b){a=a+4|0;P1(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);a=a+4|0;P1(a);return}function Iz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=r;r=r+16|0;h=g+4|0;i=g;a=a+8|0;a=tc[k[(k[a>>2]|0)+4>>2]&511](a)|0;k[i>>2]=k[d>>2];k[h>>2]=k[i>>2];c=(Hg(c,h,a,a+288|0,f,e,0)|0)-a|0;if((c|0)<288)k[b>>2]=((c|0)/12|0|0)%12|0;r=g;return}function Jz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=r;r=r+16|0;h=g+4|0;i=g;a=a+8|0;a=tc[k[(k[a>>2]|0)+4>>2]&511](a)|0;k[i>>2]=k[d>>2];k[h>>2]=k[i>>2];c=(Vg(c,h,a,a+288|0,f,e,0)|0)-a|0;if((c|0)<288)k[b>>2]=((c|0)/12|0|0)%12|0;r=g;return}function Kz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=i[a>>0]|0;d=(c&1)!=0;if(d){e=(k[a>>2]&-2)+-1|0;f=k[a+4>>2]|0}else{e=1;f=(c&255)>>>1}if((f|0)==(e|0)){zy(a,e,1,e,e,0,0);if(!(i[a>>0]&1))d=7;else d=8}else if(d)d=8;else d=7;if((d|0)==7){i[a>>0]=(f<<1)+2;c=a+4|0}else if((d|0)==8){c=k[a+8>>2]|0;k[a+4>>2]=f+1}a=c+(f<<2)|0;k[a>>2]=b;k[a+4>>2]=0;return}function Lz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=b;d=c-f|0;e=d>>2;if(e>>>0>1073741807)dH(a);if(e>>>0<2){i[a>>0]=d>>>1;a=a+4|0}else{g=e+4&-4;d=GG(g<<2)|0;k[a+8>>2]=d;k[a>>2]=g|1;k[a+4>>2]=e;a=d}e=(c-f|0)>>>2;d=a;while(1){if((b|0)==(c|0))break;k[d>>2]=k[b>>2];b=b+4|0;d=d+4|0}k[a+(e<<2)>>2]=0;return}function Mz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;F3(b);e=a+8|0;d=k[e>>2]|0;do if((k[a+12>>2]|0)-d>>2>>>0>c>>>0)f=e;else{x=0;sa(591,e|0,c+1|0);f=x;x=0;if(!(f&1)){f=e;d=k[e>>2]|0;break}d=mb()|0;if(b|0)sK(b)|0;yb(d|0)}while(0);a=k[d+(c<<2)>>2]|0;if(a){sK(a)|0;d=k[f>>2]|0}k[d+(c<<2)>>2]=b;return}function Nz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=r;r=r+16|0;h=g+4|0;i=g;a=a+8|0;a=tc[k[k[a>>2]>>2]&511](a)|0;k[i>>2]=k[d>>2];k[h>>2]=k[i>>2];c=(Hg(c,h,a,a+168|0,f,e,0)|0)-a|0;if((c|0)<168)k[b>>2]=((c|0)/12|0|0)%7|0;r=g;return}function Oz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=r;r=r+16|0;h=g+4|0;i=g;a=a+8|0;a=tc[k[k[a>>2]>>2]&511](a)|0;k[i>>2]=k[d>>2];k[h>>2]=k[i>>2];c=(Vg(c,h,a,a+168|0,f,e,0)|0)-a|0;if((c|0)<168)k[b>>2]=((c|0)/12|0|0)%7|0;r=g;return}function Pz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=i[a>>0]|0;d=(c&1)!=0;if(d){e=(k[a>>2]&-2)+-1|0;f=k[a+4>>2]|0}else{e=10;f=(c&255)>>>1}if((f|0)==(e|0)){Sy(a,e,1,e,e,0,0);if(!(i[a>>0]&1))d=7;else d=8}else if(d)d=8;else d=7;if((d|0)==7){i[a>>0]=(f<<1)+2;c=a+1|0}else if((d|0)==8){c=k[a+8>>2]|0;k[a+4>>2]=f+1}a=c+f|0;i[a>>0]=b;i[a+1>>0]=0;return}function Qz(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;if(!(KH(a+420|0,78097)|0)){b=0;r=c;return b|0}xX(b,a+88|0,a);x=0;a=ua(192,((i[b>>0]&1)==0?b+1|0:k[b+8>>2]|0)|0)|0;d=x;x=0;if(d&1){d=mb()|0;P1(b);yb(d|0)}P1(b);d=a;r=c;return d|0}function Rz(a){a=a|0;var b=0,c=0;if((i[a>>0]|0)==45){b=BY(a+1|0)|0;if(!b)b=0;else{while(1){c=BY(b)|0;if(!c)break;else b=c}b=(i[b>>0]|0)==45?b+1|0:0}}else b=0;b=b|0?b:a;if(!b){a=0;return a|0}c=i[39795]|0;a:do if(!(c<<24>>24))c=0;else{a=39795;while(1){if((i[b>>0]|0)!=c<<24>>24)break a;b=b+1|0;a=a+1|0;c=i[a>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);a=c<<24>>24==0?b:0;return a|0}function Sz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;k[a>>2]=7828;f=a+68|0;k[f>>2]=7968;d=a+88|0;b=k[d>>2]|0;if(b|0){e=a+92|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-12|0;k[e>>2]=g;P1(g);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b)}k[f>>2]=7996;d=k[a+72>>2]|0;if(!d)return;b=a+76|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);uha(d);return}function Tz(a){a=a|0;var b=0,c=0,d=0;d=a+64|0;b=k[d>>2]|0;if(b|0){d=b;return d|0}c=(k[a+68>>2]|0)+1403242537^-1640531520;k[d>>2]=c;b=k[a+72>>2]|0;if(b){b=(tc[k[(k[b>>2]|0)+8>>2]&511](b)|0)+-1640531527|0;c=k[d>>2]|0;c=b+(c<<6)+(c>>>2)^c;k[d>>2]=c}b=k[a+76>>2]|0;if(!b){d=c;return d|0}c=(tc[k[(k[b>>2]|0)+8>>2]&511](b)|0)+-1640531527|0;a=k[d>>2]|0;a=c+(a<<6)+(a>>>2)^a;k[d>>2]=a;d=a;return d|0}function Uz(a,b){a=a|0;b=b|0;var c=0,d=0;c=k[a+12>>2]|0;if(c)while(1){d=k[c+12>>2]|0;if(!d)break;else{a=c;c=d}}while(1){if((su(a,b)|0)!=(a+4|0)){a=1;c=5;break}a=k[a+12>>2]|0;if(!a){a=0;c=5;break}}if((c|0)==5)return a|0;return 0}function Vz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=k[a>>2]|0;f=a+4|0;c=b+4|0;e=(k[f>>2]|0)-d|0;g=(k[c>>2]|0)+(0-(e>>2)<<2)|0;k[c>>2]=g;WC(g|0,d|0,e|0)|0;e=k[a>>2]|0;k[a>>2]=k[c>>2];k[c>>2]=e;e=b+8|0;d=k[f>>2]|0;k[f>>2]=k[e>>2];k[e>>2]=d;e=a+8|0;a=b+12|0;d=k[e>>2]|0;k[e>>2]=k[a>>2];k[a>>2]=d;k[b>>2]=k[c>>2];return}function Wz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=i[a>>0]|0;d=(e&1)==0;if(d)g=(e&255)>>>1;else g=k[a+4>>2]|0;if(g>>>0>>0)cH(a);if(c|0){if(d)f=a+1|0;else f=k[a+8>>2]|0;d=g-b|0;c=d>>>0>>0?d:c;if((d|0)!=(c|0)){e=f+b|0;VH(e|0,e+c|0,d-c|0)|0;e=i[a>>0]|0}d=g-c|0;if(!(e&1))i[a>>0]=d<<1;else k[a+4>>2]=d;i[f+d>>0]=0}return a|0}function Xz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=b+60|0;e=b+64|0;f=CI((k[e>>2]|0)-(k[c>>2]|0)>>2,k[b+76>>2]|0)|0;c=k[c>>2]|0;e=(k[e>>2]|0)-c>>2;if(!e)return f|0;d=b+60|0;c=k[c>>2]|0;J2(f,0,Jc[k[(k[c>>2]|0)+52>>2]&1023](c,a)|0);if((e|0)==1)return f|0;else b=1;do{c=k[(k[d>>2]|0)+(b<<2)>>2]|0;J2(f,b,Jc[k[(k[c>>2]|0)+52>>2]&1023](c,a)|0);b=b+1|0}while((b|0)!=(e|0));return f|0}function Yz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=14520;e=a+12|0;Zu(e);c=a+16|0;b=k[c>>2]|0;f=a+20|0;d=k[f>>2]|0;if((b|0)!=(d|0)){do{uha(k[b>>2]|0);b=b+4|0}while((b|0)!=(d|0));b=k[c>>2]|0;c=k[f>>2]|0;if((c|0)!=(b|0))k[f>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[e>>2]|0;if(!b){Iga(a);return}uha(b);Iga(a);return}function Zz(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+1024|0;b=eE(d,1024)|0;lE(a,b,OD(b)|0);b=i[a>>0]|0;if(!(b&1)){b=(b&255)>>>1;c=a+1|0}else{b=k[a+4>>2]|0;c=k[a+8>>2]|0}if((i[c+(b+-1)>>0]|0)==47){r=d;return}x=0;sa(440,a|0,47);c=x;x=0;if(c&1){d=mb()|0;P1(a);yb(d|0)}else{r=d;return}}function _z(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=0;j=r;r=r+16|0;h=j;g=b&255;i[h>>0]=g;c=a+16|0;d=k[c>>2]|0;if(!d)if(!(mG(a)|0)){d=k[c>>2]|0;e=4}else c=-1;else e=4;do if((e|0)==4){e=a+20|0;f=k[e>>2]|0;if(f>>>0>>0){c=b&255;if((c|0)!=(i[a+75>>0]|0)){k[e>>2]=f+1;i[f>>0]=g;break}}if((wc[k[a+36>>2]&127](a,h,1)|0)==1)c=l[h>>0]|0;else c=-1}while(0);r=j;return c|0}function $z(a){a=a|0;var b=0,c=0;if(!(l4(i[a>>0]|0)|0)){a=0;return a|0}b=a+1|0;if(!(l4(i[b>>0]|0)|0)){a=b;return a|0}b=a+2|0;if(!(l4(i[b>>0]|0)|0)){a=b;return a|0}b=a+3|0;if(!(l4(i[b>>0]|0)|0)){a=b;return a|0}b=a+4|0;if(!(l4(i[b>>0]|0)|0)){a=b;return a|0}b=a+5|0;if(!(l4(i[b>>0]|0)|0)){a=b;return a|0}else{b=a+6|0;c=(l4(i[b>>0]|0)|0)==0;return (c?b:a+7|0)|0}return 0}function aA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(d&2048){i[a>>0]=43;a=a+1|0}if(!(d&512))e=b;else{i[a>>0]=35;e=b;a=a+1|0}while(1){b=i[e>>0]|0;if(!(b<<24>>24))break;i[a>>0]=b;e=e+1|0;a=a+1|0}a:do switch(d&74|0){case 64:{i[a>>0]=111;break}case 8:if(!(d&16384)){i[a>>0]=120;break a}else{i[a>>0]=88;break a}default:if(c){i[a>>0]=100;break a}else{i[a>>0]=117;break a}}while(0);return}function bA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f;c=hd(17)|0;d=e+8|0;k[d>>2]=c;if(!c){FH(42958,15,1,k[4316]|0)|0;cc(1)}k[e>>2]=c;k[e+4>>2]=c+16;if(!b)hg(e,a);else le(e,a,b,0);i[k[e>>2]>>0]=0;d=k[d>>2]|0;c=k[e>>2]|0;if(d>>>0>c>>>0)kb(38965,38952,125,39040);if((OD(d)|0)==(c-d|0)){r=f;return d|0}else kb(38965,38952,125,39040);return 0}function cA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=b+60|0;e=b+64|0;f=CI((k[e>>2]|0)-(k[d>>2]|0)>>2,0)|0;d=k[d>>2]|0;e=(k[e>>2]|0)-d>>2;if(!e)return f|0;c=b+60|0;d=k[d>>2]|0;J2(f,0,Jc[k[(k[d>>2]|0)+52>>2]&1023](d,a)|0);if((e|0)==1)return f|0;else b=1;do{d=k[(k[c>>2]|0)+(b<<2)>>2]|0;J2(f,b,Jc[k[(k[d>>2]|0)+52>>2]&1023](d,a)|0);b=b+1|0}while((b|0)!=(e|0));return f|0}function dA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=b;d=c-e|0;if(d>>>0>4294967279)dH(a);if(d>>>0<11){i[a>>0]=d<<1;f=a+1|0}else{g=d+16&-16;f=GG(g)|0;k[a+8>>2]=f;k[a>>2]=g|1;k[a+4>>2]=d}a=c-e|0;d=f;while(1){if((b|0)==(c|0))break;i[d>>0]=i[b>>0]|0;b=b+1|0;d=d+1|0}i[f+a>>0]=0;return}function eA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=k[b+72>>2]|0;d=(k[b+76>>2]|0)-c>>2;if(d|0){e=b+72|0;c=k[c>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);if((d|0)!=1){c=1;do{f=k[(k[e>>2]|0)+(c<<2)>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a);c=c+1|0}while((c|0)!=(d|0))}}if(!(i[b+58>>0]|0))return;c=a+4|0;if((Xaa(c)|0)==2)return;AI(c);return}function fA(a){a=a|0;var b=0,c=0,d=0;b=a+64|0;a=k[b>>2]|0;c=(k[a+72>>2]|0)-(k[a+68>>2]|0)>>2;if(!c){c=1;return c|0}a=k[k[a+68>>2]>>2]|0;if(tc[k[(k[a>>2]|0)+64>>2]&511](a)|0)a=1;else{c=0;return c|0}while(1){if(a>>>0>=c>>>0){a=1;b=5;break}d=k[(k[(k[b>>2]|0)+68>>2]|0)+(a<<2)>>2]|0;if(tc[k[(k[d>>2]|0)+64>>2]&511](d)|0)a=a+1|0;else{a=0;b=5;break}}if((b|0)==5)return a|0;return 0}function gA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=b+56|0;c=b+80|0;e=b+84|0;d=_J((k[e>>2]|0)-(k[c>>2]|0)>>2)|0;b=k[c>>2]|0;e=k[e>>2]|0;if((b|0)==(e|0))return d|0;c=0;while(1){g=k[b>>2]|0;a3(d,c,Jc[k[(k[g>>2]|0)+52>>2]&1023](g,a)|0);g=vv(f,g)|0;A2(d,c,Jc[k[(k[g>>2]|0)+52>>2]&1023](g,a)|0);b=b+4|0;if((b|0)==(e|0))break;else c=c+1|0}return d|0}function hA(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=9264;b=k[a+32>>2]|0;c=b;if(b|0){d=a+36|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+20>>2]|0;c=b;if(b|0){d=a+24|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+8>>2]|0;if(!b){uha(a);return}c=a+12|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function iA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=0;if((c|0)==1)b=b-(k[a+8>>2]|0)+(k[a+4>>2]|0)|0;d=a+20|0;e=a+28|0;if((k[d>>2]|0)>>>0>(k[e>>2]|0)>>>0){wc[k[a+36>>2]&127](a,0,0)|0;if(!(k[d>>2]|0))b=-1;else f=5}else f=5;if((f|0)==5){k[a+16>>2]=0;k[e>>2]=0;k[d>>2]=0;if((wc[k[a+40>>2]&127](a,b,c)|0)<0)b=-1;else{k[a+8>>2]=0;k[a+4>>2]=0;k[a>>2]=k[a>>2]&-17;b=0}}return b|0}function jA(a,b){a=a|0;b=b|0;var c=0,d=0;c=k[a+12>>2]|0;if(!c){b=0;return b|0}while(1){d=k[c+12>>2]|0;if(!d){c=0;d=4;break}if((su(a,b)|0)==(a+4|0)){a=c;c=d}else{c=1;d=4;break}}if((d|0)==4)return c|0;return 0}function kA(a,b){a=a|0;b=b|0;var c=0,d=0;k[a>>2]=4732;c=a+4|0;lE(c,78097,0);x=0;ra(332,a+16|0);d=x;x=0;if(d&1){d=mb()|0;P1(c);yb(d|0)}else{k[a+68>>2]=b;b=a+72|0;d=a+88|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;i[b+12>>0]=0;k[d>>2]=0;k[d+4>>2]=0;j[d+8>>1]=0;return}}function lA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;f=j+8|0;g=j+4|0;h=j;e=(i[a>>0]&1)==0?a+1|0:k[a+8>>2]|0;d=e+c|0;k[h>>2]=e+b;e=d;if((b|0)>=(c|0)){h=0;r=j;return h|0}a=0;do{k[g>>2]=e;k[f>>2]=k[g>>2];Mx(h,f)|0;a=a+1|0}while((k[h>>2]|0)>>>0>>0);r=j;return a|0}function mA(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;e=r;r=r+16|0;h=e|0;f=((b|0)<0?-1:0)<<1|0;g=b>>31|f;f=((b|0)<0?-1:0)>>31|f;i=((d|0)<0?-1:0)<<1|0;j=d>>31|i;i=((d|0)<0?-1:0)>>31|i;a=lN(g^a|0,f^b|0,g|0,f|0)|0;b=M;qj(a,b,lN(j^c|0,i^d|0,j|0,i|0)|0,M,h)|0;d=lN(k[h>>2]^g|0,k[h+4>>2]^f|0,g|0,f|0)|0;c=M;r=e;return (M=c,d)|0}function nA(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=0;g=r;r=r+16|0;e=g;c=4;d=e;while(1){if(!c)break;a:while(1){b=XJ(k[a>>2]|0,d,c)|0;switch(b|0){case 0:{f=4;break a}case -1:break;default:break a}b=L0()|0;b=k[b>>2]|0;if((b|0)==4)continue;DC(b,48202)}if((f|0)==4){f=0;DC(61,48180);b=0}c=c-b|0;d=d+b|0}r=g;return k[e>>2]|0}function oA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=k[a+72>>2]|0;f=(k[a+76>>2]|0)-d>>2;if((f|0)==0|(b|0)==0){c=b;return c|0}e=a+72|0;a=k[d>>2]|0;a=wc[k[(k[a>>2]|0)+112>>2]&127](a,b,c)|0;if(f>>>0<2|(a|0)==0){c=a;return c|0}else d=1;do{b=k[(k[e>>2]|0)+(d<<2)>>2]|0;a=wc[k[(k[b>>2]|0)+112>>2]&127](b,a,c)|0;d=d+1|0}while(!(d>>>0>=f>>>0|(a|0)==0));return a|0}function pA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(!a)e=0;else e=Ot(a,64,392,0)|0;if(b|0){d=Ot(b,64,392,0)|0;if((e|0)!=0&(d|0)!=0)return Jc[k[(k[e>>2]|0)+96>>2]&1023](e,d)|0}d=vb(40)|0;x=0;Ua(23,d|0,a|0,b|0,c|0);b=x;x=0;if(b&1){b=mb()|0;lb(d|0);yb(b|0)}else Wb(d|0,1312,130);return 0}function qA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d;_G(c,b+56|0);x=0;Qa(134,a+4|0,c|0,b|0);e=x;x=0;if(e&1){e=mb()|0;P1(c);yb(e|0)}else{P1(c);e=k[b+68>>2]|0;rc[k[(k[e>>2]|0)+28>>2]&1023](e,a);r=d;return}}function rA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;lE(a,78097,0);if((c|0)<0)b=0-c<<1|1;else b=c<<1;while(1){d=b&31;b=b>>5;c=(b|0)>0;x=0;sa(440,a|0,i[(k[2050]|0)+(c?d|32:d)>>0]|0);d=x;x=0;if(d&1){c=5;break}if(!c){c=7;break}}if((c|0)==5){d=mb()|0;P1(a);yb(d|0)}else if((c|0)==7)return}function sA(a){a=a|0;var b=0,c=0;do if(!a){if(!(k[4403]|0))b=0;else b=sA(k[4403]|0)|0;Xb(72504);a=k[18125]|0;if(a)do{if((k[a+76>>2]|0)>-1)c=Dha(a)|0;else c=0;if((k[a+20>>2]|0)>>>0>(k[a+28>>2]|0)>>>0)b=gB(a)|0|b;if(c|0)Cha(a);a=k[a+56>>2]|0}while((a|0)!=0);Ob(72504)}else{if((k[a+76>>2]|0)<=-1){b=gB(a)|0;break}c=(Dha(a)|0)==0;b=gB(a)|0;if(!c)Cha(a)}while(0);return b|0}function tA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;_G(a,b);b=i[a>>0]|0;if(!(b&1))f=(b&255)>>>1;else f=k[a+4>>2]|0;if(!f)return;g=a+1|0;e=a+8|0;c=0;while(1){b=(b&1)==0;if(b)d=g;else d=k[e>>2]|0;if((i[d+c>>0]|0)==95){if(b)b=g;else b=k[e>>2]|0;i[b+c>>0]=45}c=c+1|0;if((c|0)==(f|0))break;b=i[a>>0]|0}return}function uA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[b+68>>2]|0;e=(k[b+72>>2]|0)-c>>2;d=b+68|0;if(!e){a=0;return a|0}b=k[c>>2]|0;b=Jc[k[(k[b>>2]|0)+40>>2]&1023](b,a)|0;if(!b)c=1;else{a=b;return a|0}while(1){if(c>>>0>=e>>>0){b=0;c=5;break}b=k[(k[d>>2]|0)+(c<<2)>>2]|0;b=Jc[k[(k[b>>2]|0)+40>>2]&1023](b,a)|0;if(!b)c=c+1|0;else{c=5;break}}if((c|0)==5)return b|0;return 0}function vA(a){a=a|0;var b=0,c=0,d=0;do if((k[a+56>>2]|0)==11){c=k[a+64>>2]|0;do if(!c)d=0;else{b=Ot(c,64,648,0)|0;if(!b){d=(Ot(c,64,392,0)|0)!=0;break}else{d=(k[b+56>>2]|2|0)==2;break}}while(0);b=k[a+68>>2]|0;if(!b)b=0;else{c=Ot(b,64,648,0)|0;if(!c){b=(Ot(b,64,392,0)|0)!=0;break}else{b=(k[c+56>>2]|2|0)==2;break}}}else{d=0;b=0}while(0);return b&d|0}function wA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;f=h+4|0;c=h;k[c>>2]=b;g=a+348|0;d=a+352|0;e=k[d>>2]|0;if((e|0)==(k[a+356>>2]|0)){Fw(g,c);c=k[d>>2]|0}else{k[e>>2]=b;c=(k[d>>2]|0)+4|0;k[d>>2]=c}g=k[g>>2]|0;k[f>>2]=871;Lf(g,c,f);r=h;return}function xA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;f=h+4|0;c=h;k[c>>2]=b;g=a+336|0;d=a+340|0;e=k[d>>2]|0;if((e|0)==(k[a+344>>2]|0)){Fw(g,c);c=k[d>>2]|0}else{k[e>>2]=b;c=(k[d>>2]|0)+4|0;k[d>>2]=c}g=k[g>>2]|0;k[f>>2]=871;Lf(g,c,f);r=h;return}function yA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=r;r=r+256|0;g=h;do if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;vE(g|0,b|0,(e>>>0>256?256:e)|0)|0;b=k[a>>2]|0;f=(b&32|0)==0;if(e>>>0>255){d=c-d|0;do{if(f){zx(g,256,a)|0;b=k[a>>2]|0}e=e+-256|0;f=(b&32|0)==0}while(e>>>0>255);if(f)e=d&255;else break}else if(!f)break;zx(g,e,a)|0}while(0);r=h;return}function zA(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=9264;b=k[a+32>>2]|0;c=b;if(b|0){d=a+36|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+20>>2]|0;c=b;if(b|0){d=a+24|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}d=k[a+8>>2]|0;if(!d)return;b=a+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);uha(d);return}function AA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!((a|0)!=0&(b|0)!=0&(c|0)!=0))return;if((k[a+16>>2]|0)!=5)kb(39231,38952,608,39258);if(k[c>>2]|0)kb(39277,38952,609,39258);d=hd((OD(b)|0)+1|0)|0;if(!d){FH(42958,15,1,k[4316]|0)|0;cc(1)}$ca(d,b)|0;k[c+12>>2]=d;k[c>>2]=a;d=a+24|0;b=d+4|0;a=k[b>>2]|0;k[c+4>>2]=a;k[c+8>>2]=0;if(!a)k[d>>2]=c;else k[a+8>>2]=c;k[b>>2]=c;return}function BA(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+16|0;c=d;a=a+4|0;Tu(a);lE(c,44273,8);x=0;Qa(134,a|0,c|0,b|0);b=x;x=0;if(b&1){d=mb()|0;P1(c);yb(d|0)}else{P1(c);EF(a);r=d;return}}function CA(a){a=a|0;var b=0,c=0;b=yU(a)|0;if(!b)b=0;else b=rv(b)|0;b=b|0?b:a;if(!b){c=0;return c|0}a=i[29937]|0;a:do if(a<<24>>24){c=29937;while(1){if((i[b>>0]|0)!=a<<24>>24){b=0;break}b=b+1|0;c=c+1|0;a=i[c>>0]|0;if(!(a<<24>>24))break a}return b|0}while(0);c=DJ(b)|0;return c|0}function DA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=wg(a,i,h,d,e,f,22456,22488)|0;r=g;return a|0}function EA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Kg(a,i,h,d,e,f,49706,49714)|0;r=g;return a|0}function FA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=zi(c,a,e,f,4)|0;if(!(k[e>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;k[b>>2]=a+-1900}r=g;return}function GA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=Ti(c,a,e,f,4)|0;if(!(k[e>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;k[b>>2]=a+-1900}r=g;return}function HA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=_g(a,i,h,d,e,f)|0;r=g;return a|0}function IA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=$g(a,i,h,d,e,f)|0;r=g;return a|0}function JA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=ah(a,i,h,d,e,f)|0;r=g;return a|0}function KA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=fh(a,i,h,d,e,f)|0;r=g;return a|0}function LA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=gh(a,i,h,d,e,f)|0;r=g;return a|0}function MA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=hh(a,i,h,d,e,f)|0;r=g;return a|0}function NA(a,b){a=a|0;b=b|0;var c=0,d=0;k[a>>2]=0;c=a+4|0;k[c>>2]=0;k[a+8>>2]=0;i[a+128>>0]=0;if(b|0){x=0;sa(590,a|0,b|0);d=x;x=0;if(d&1){d=mb()|0;LF(a);yb(d|0)}a=k[c>>2]|0;do{k[a>>2]=0;a=(k[c>>2]|0)+4|0;k[c>>2]=a;b=b+-1|0}while((b|0)!=0)}return}function OA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Yg(a,i,h,d,e,f)|0;r=g;return a|0}function PA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=kh(a,i,h,d,e,f)|0;r=g;return a|0}function QA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i[a>>0]|0;h=(f&1)==0;if(h)f=(f&255)>>>1;else f=k[a+4>>2]|0;if((e|0)==-1|f>>>0>>0)cH(a);g=f-b|0;g=g>>>0>>0?g:c;if(h)f=a+1|0;else f=k[a+8>>2]|0;c=g>>>0>e>>>0;f=tG(f+b|0,d,c?e:g)|0;if(!f)return (g>>>0>>0?-1:c&1)|0;else return f|0;return 0}function RA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Qg(a,i,h,d,e,f)|0;r=g;return a|0}function SA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Wg(a,i,h,d,e,f)|0;r=g;return a|0}function TA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Xg(a,i,h,d,e,f)|0;r=g;return a|0}function UA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=ch(a,i,h,d,e,f)|0;r=g;return a|0}function VA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=ih(a,i,h,d,e,f)|0;r=g;return a|0}function WA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=jh(a,i,h,d,e,f)|0;r=g;return a|0}function XA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Rg(a,i,h,d,e,f)|0;r=g;return a|0}function YA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Zg(a,i,h,d,e,f)|0;r=g;return a|0}function ZA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=dh(a,i,h,d,e,f)|0;r=g;return a|0}function _A(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=lh(a,i,h,d,e,f)|0;r=g;return a|0}function $A(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=0;do if((a|0)==-1)a=-1;else{if((k[b+76>>2]|0)>-1)e=Dha(b)|0;else e=0;if(!(k[b+8>>2]|0)){if(!(jD(b)|0))c=6}else c=6;if((c|0)==6){c=b+4|0;d=k[c>>2]|0;if(d>>>0>((k[b+44>>2]|0)+-8|0)>>>0){d=d+-1|0;k[c>>2]=d;i[d>>0]=a;k[b>>2]=k[b>>2]&-17;if(!e)break;Cha(b);break}}if(!e)a=-1;else{Cha(b);a=-1}}while(0);return a|0}function aB(a){a=a|0;var b=0,c=0;if((i[a>>0]|0)!=33){c=0;return c|0}a=hr(a+1|0)|0;if(!a){c=0;return c|0}b=i[29914]|0;a:do if(b<<24>>24){c=29914;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function bB(a){a=a|0;var b=0,c=0;c=(i[a>>0]&1)==0?a+1|0:k[a+8>>2]|0;b=k[17176]|0;if(!b){c=0;return c|0}else a=68704;a:do{while(1){if((OG(k[b+16>>2]|0,c)|0)>=0){a=b;break}b=k[b+4>>2]|0;if(!b)break a}b=k[a>>2]|0}while((b|0)!=0);if((a|0)==68704){c=0;return c|0}if((OG(c,k[a+16>>2]|0)|0)<0){c=0;return c|0}c=k[a+20>>2]|0;return c|0}function cB(a,b){a=+a;b=b|0;var c=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;c=b+-1023|0;if((c|0)>1023){c=b+-2046|0;c=(c|0)>1023?1023:c;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;c=b+1022|0;if((c|0)<-1022){c=b+2044|0;c=(c|0)<-1022?-1022:c;a=a*2.2250738585072014e-308}}else c=b;c=GN(c+1023|0,0,52)|0;b=M;k[t>>2]=c;k[t+4>>2]=b;return +(a*+p[t>>3])}function dB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=a+12|0;Zu(f);d=a+16|0;b=k[d>>2]|0;e=a+20|0;c=k[e>>2]|0;if((b|0)!=(c|0)){a=b;do{uha(k[a>>2]|0);a=a+4|0}while((a|0)!=(c|0));a=k[d>>2]|0;b=k[e>>2]|0;if((b|0)!=(a|0))k[e>>2]=b+(~((b+-4-a|0)>>>2)<<2)}a=k[f>>2]|0;if(!a)return;uha(a);return}function eB(a){a=a|0;var b=0,c=0;if((i[a>>0]|0)!=33){c=0;return c|0}a=hr(a+1|0)|0;if(!a){c=0;return c|0}b=i[29897]|0;a:do if(b<<24>>24){c=29897;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function fB(a){a=a|0;var b=0,c=0;if((i[a>>0]|0)!=33){c=0;return c|0}a=hr(a+1|0)|0;if(!a){c=0;return c|0}b=i[29882]|0;a:do if(b<<24>>24){c=29882;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function gB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;c=0;f=a+20|0;g=a+28|0;if((k[f>>2]|0)>>>0>(k[g>>2]|0)>>>0){wc[k[a+36>>2]&127](a,0,0)|0;if(!(k[f>>2]|0))b=-1;else c=3}else c=3;if((c|0)==3){e=a+4|0;b=k[e>>2]|0;c=a+8|0;d=k[c>>2]|0;if(b>>>0>>0)wc[k[a+40>>2]&127](a,b-d|0,1)|0;k[a+16>>2]=0;k[g>>2]=0;k[f>>2]=0;k[c>>2]=0;k[e>>2]=0;b=0}return b|0}function hB(a){a=a|0;var b=0,c=0;if((i[a>>0]|0)!=33){c=0;return c|0}a=hr(a+1|0)|0;if(!a){c=0;return c|0}b=i[29890]|0;a:do if(b<<24>>24){c=29890;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function iB(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+4|0;c=k[e>>2]|0;b=k[a>>2]|0;d=c-b>>2;if(d){c=0;do{b=k[b+(c<<2)>>2]|0;if(k[b+4>>2]|0)qc[k[k[b>>2]>>2]&511](b);cf(b);c=c+1|0;b=k[a>>2]|0}while((c|0)!=(d|0));c=k[e>>2]|0}if((c|0)!=(b|0)){c=c+(~((c+-4-b|0)>>>2)<<2)|0;k[e>>2]=c}if(!b)return;if((c|0)!=(b|0))k[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(b);return}function jB(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[43507]|0;a:do if(b<<24>>24){c=43507;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);while(1){if(q1(a)|0){b=7;break}c=a;a=uaa(a)|0;if((a|0)==(c|0)|(a|0)==0){a=0;b=7;break}}if((b|0)==7)return a|0;return 0}function kB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;a:do switch(k[c+4>>2]&176|0){case 16:{c=i[a>>0]|0;switch(c<<24>>24){case 43:case 45:{a=a+1|0;break a}default:{}}if((b-a|0)>1&c<<24>>24==48){switch(i[a+1>>0]|0){case 88:case 120:break;default:{d=7;break a}}a=a+2|0}else d=7;break}case 32:{a=b;break}default:d=7}while(0);return a|0}function lB(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}d=k[a>>2]|0;if(!d)return;b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);uha(d);return}function mB(a){a=a|0;var b=0,c=0,d=0,e=0;c=a+68|0;b=k[c>>2]|0;d=(k[a+72>>2]|0)-b>>2;a:do if(d|0){b=k[b>>2]|0;if(tc[k[(k[b>>2]|0)+76>>2]&511](b)|0){a=1;return a|0}else b=1;while(1){if(b>>>0>=d>>>0)break a;e=k[(k[c>>2]|0)+(b<<2)>>2]|0;if(tc[k[(k[e>>2]|0)+76>>2]&511](e)|0){b=1;break}else b=b+1|0}return b|0}while(0);e=(k[a+52>>2]|0)==7;return e|0}function nB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;k[a+4>>2]=0;k[a+8>>2]=0;d=a+4|0;k[a>>2]=d;k[a+12>>2]=b;i[a+16>>0]=c&1;x=0;sa(466,a+20|0,0);c=x;x=0;if(c&1){c=mb()|0;az(a,k[d>>2]|0);yb(c|0)}else return}function oB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c;e=(k[a+24>>2]|0)==0;k[a+16>>2]=e&1|b;if(!((e&1|b)&k[a+20>>2])){r=c;return}b=vb(16)|0;_Q()|0;k[d>>2]=1;k[d+4>>2]=74152;x=0;Qa(148,b|0,49039,d|0);e=x;x=0;if(e&1){e=mb()|0;lb(b|0);yb(e|0)}else Wb(b|0,3168,239)}function pB(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+16|0;c=d;_G(c,b+56|0);x=0;a=ua(260,((i[c>>0]&1)==0?c+1|0:k[c+8>>2]|0)|0)|0;b=x;x=0;if(b&1){d=mb()|0;P1(c);yb(d|0)}else{P1(c);r=d;return a|0}return 0}function qB(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+16|0;c=d;_G(c,b+60|0);x=0;a=ua(262,((i[c>>0]&1)==0?c+1|0:k[c+8>>2]|0)|0)|0;b=x;x=0;if(b&1){d=mb()|0;P1(c);yb(d|0)}else{P1(c);r=d;return a|0}return 0}function rB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=zi(c,a,e,f,2)|0;c=k[e>>2]|0;if((a+-1|0)>>>0<12&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function sB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=Ti(c,a,e,f,2)|0;c=k[e>>2]|0;if((a+-1|0)>>>0<12&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function tB(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+16|0;c=d;_G(c,b+56|0);x=0;a=ua(261,((i[c>>0]&1)==0?c+1|0:k[c+8>>2]|0)|0)|0;b=x;x=0;if(b&1){d=mb()|0;P1(c);yb(d|0)}else{P1(c);r=d;return a|0}return 0}function uB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d;e=(i[b+56>>0]|0)!=0;lE(c,e?51266:51271,e?4:5);x=0;Qa(134,a+4|0,c|0,b|0);a=x;x=0;if(a&1){e=mb()|0;P1(c);yb(e|0)}else{P1(c);r=d;return}}function vB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=zi(c,a,e,f,2)|0;c=k[e>>2]|0;if((a+-1|0)>>>0<31&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function wB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=zi(c,a,e,f,3)|0;c=k[e>>2]|0;if((a|0)<366&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function xB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=Ti(c,a,e,f,2)|0;c=k[e>>2]|0;if((a+-1|0)>>>0<31&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function yB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=Ti(c,a,e,f,3)|0;c=k[e>>2]|0;if((a|0)<366&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function zB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=zi(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<13&(c&4|0)==0)k[b>>2]=a+-1;else k[e>>2]=c|4;r=g;return}function AB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=Ti(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<13&(c&4|0)==0)k[b>>2]=a+-1;else k[e>>2]=c|4;r=g;return}function BB(){p[8474]=3.141592653589793;lE(72008,44768,6);Ub(323,72008,w|0)|0;lE(72020,44775,21);Ub(323,72020,w|0)|0;lE(72032,44797,19);Ub(323,72032,w|0)|0;lE(72044,44817,22);Ub(323,72044,w|0)|0;return}function CB(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[t>>3]=a;c=k[t>>2]|0;d=k[t+4>>2]|0;e=SN(c|0,d|0,52)|0;e=e&2047;switch(e|0){case 0:{if(a!=0.0){a=+CB(a*18446744073709551616.0,b);c=(k[b>>2]|0)+-64|0}else c=0;k[b>>2]=c;break}case 2047:break;default:{k[b>>2]=e+-1022;k[t>>2]=c;k[t+4>>2]=d&-2146435073|1071644672;a=+p[t>>3]}}return +a}function DB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=zi(c,a,e,f,1)|0;c=k[e>>2]|0;if((a|0)<7&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function EB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=zi(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<61&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function FB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=zi(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<60&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function GB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=Ti(c,a,e,f,1)|0;c=k[e>>2]|0;if((a|0)<7&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function HB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=Ti(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<61&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function IB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=Ti(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<60&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function JB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=zi(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<24&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function KB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=Ti(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<24&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function LB(){p[8470]=3.141592653589793;lE(71816,44768,6);Ub(323,71816,w|0)|0;lE(71828,44775,21);Ub(323,71828,w|0)|0;lE(71840,44797,19);Ub(323,71840,w|0)|0;lE(71852,44817,22);Ub(323,71852,w|0)|0;return}function MB(){p[8463]=3.141592653589793;lE(68956,44768,6);Ub(323,68956,w|0)|0;lE(68968,44775,21);Ub(323,68968,w|0)|0;lE(68980,44797,19);Ub(323,68980,w|0)|0;lE(68992,44817,22);Ub(323,68992,w|0)|0;return}function NB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!(k[a+64>>2]|0)){b=-1;return b|0}e=a+12|0;d=k[e>>2]|0;if((k[a+8>>2]|0)>>>0>=d>>>0){b=-1;return b|0}if((b|0)==-1){k[e>>2]=d+-1;b=0;return b|0}if(!(k[a+88>>2]&16)){c=b&255;a=d+-1|0;if(c<<24>>24!=(i[a>>0]|0)){b=-1;return b|0}}else{c=b&255;a=d+-1|0}k[e>>2]=a;i[a>>0]=c;return b|0}function OB(){p[8476]=3.141592653589793;lE(72116,44768,6);Ub(323,72116,w|0)|0;lE(72128,44775,21);Ub(323,72128,w|0)|0;lE(72140,44797,19);Ub(323,72140,w|0)|0;lE(72152,44817,22);Ub(323,72152,w|0)|0;return}function PB(){p[8462]=3.141592653589793;lE(68908,44768,6);Ub(323,68908,w|0)|0;lE(68920,44775,21);Ub(323,68920,w|0)|0;lE(68932,44797,19);Ub(323,68932,w|0)|0;lE(68944,44817,22);Ub(323,68944,w|0)|0;return}function QB(){p[8477]=3.141592653589793;lE(72236,44768,6);Ub(323,72236,w|0)|0;lE(72248,44775,21);Ub(323,72248,w|0)|0;lE(72260,44797,19);Ub(323,72260,w|0)|0;lE(72272,44817,22);Ub(323,72272,w|0)|0;return}function RB(a){a=a|0;var b=0,c=0;b=AN(a)|0;if(!b){c=i[a>>0]|0;b=a+1|0;if((c|4)<<24>>24!=13){c=c<<24>>24|0;b=(c|0)!=10?((c|0)==12?b:0):b;if(!b)return a|0}}while(1){c=AN(b)|0;if(c|0){b=c;continue}c=i[b>>0]|0;a=b+1|0;if((c|4)<<24>>24==13){b=a;continue}c=c<<24>>24|0;c=(c|0)!=10?((c|0)==12?a:0):a;if(!c)break;else b=c}return b|0}function SB(){p[8475]=3.141592653589793;lE(72068,44768,6);Ub(323,72068,w|0)|0;lE(72080,44775,21);Ub(323,72080,w|0)|0;lE(72092,44797,19);Ub(323,72092,w|0)|0;lE(72104,44817,22);Ub(323,72104,w|0)|0;return}function TB(){p[8479]=3.141592653589793;lE(72332,44768,6);Ub(323,72332,w|0)|0;lE(72344,44775,21);Ub(323,72344,w|0)|0;lE(72356,44797,19);Ub(323,72356,w|0)|0;lE(72368,44817,22);Ub(323,72368,w|0)|0;return}function UB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;d=r;r=r+16|0;c=d;e=+p[b+56>>3];On(c,b);x=0;a=Ra(1,+e,((i[c>>0]&1)==0?c+1|0:k[c+8>>2]|0)|0)|0;b=x;x=0;if(b&1){d=mb()|0;P1(c);yb(d|0)}else{P1(c);r=d;return a|0}return 0}function VB(){p[8469]=3.141592653589793;lE(71768,44768,6);Ub(323,71768,w|0)|0;lE(71780,44775,21);Ub(323,71780,w|0)|0;lE(71792,44797,19);Ub(323,71792,w|0)|0;lE(71804,44817,22);Ub(323,71804,w|0)|0;return}function WB(){p[8468]=3.141592653589793;lE(71720,44768,6);Ub(323,71720,w|0)|0;lE(71732,44775,21);Ub(323,71732,w|0)|0;lE(71744,44797,19);Ub(323,71744,w|0)|0;lE(71756,44817,22);Ub(323,71756,w|0)|0;return}function XB(){p[8460]=3.141592653589793;lE(68800,44768,6);Ub(323,68800,w|0)|0;lE(68812,44775,21);Ub(323,68812,w|0)|0;lE(68824,44797,19);Ub(323,68824,w|0)|0;lE(68836,44817,22);Ub(323,68836,w|0)|0;return}function YB(){lE(72380,44768,6);Ub(323,72380,w|0)|0;p[8480]=3.141592653589793;lE(72392,44775,21);Ub(323,72392,w|0)|0;lE(72404,44797,19);Ub(323,72404,w|0)|0;lE(72416,44817,22);Ub(323,72416,w|0)|0;return}function ZB(){p[8473]=3.141592653589793;lE(71960,44768,6);Ub(323,71960,w|0)|0;lE(71972,44775,21);Ub(323,71972,w|0)|0;lE(71984,44797,19);Ub(323,71984,w|0)|0;lE(71996,44817,22);Ub(323,71996,w|0)|0;return}function _B(){p[8472]=3.141592653589793;lE(71912,44768,6);Ub(323,71912,w|0)|0;lE(71924,44775,21);Ub(323,71924,w|0)|0;lE(71936,44797,19);Ub(323,71936,w|0)|0;lE(71948,44817,22);Ub(323,71948,w|0)|0;return}function $B(){p[8466]=3.141592653589793;lE(69100,44768,6);Ub(323,69100,w|0)|0;lE(69112,44775,21);Ub(323,69112,w|0)|0;lE(69124,44797,19);Ub(323,69124,w|0)|0;lE(69136,44817,22);Ub(323,69136,w|0)|0;return}function aC(){p[8465]=3.141592653589793;lE(69052,44768,6);Ub(323,69052,w|0)|0;lE(69064,44775,21);Ub(323,69064,w|0)|0;lE(69076,44797,19);Ub(323,69076,w|0)|0;lE(69088,44817,22);Ub(323,69088,w|0)|0;return}function bC(){p[8461]=3.141592653589793;lE(68848,44768,6);Ub(323,68848,w|0)|0;lE(68860,44775,21);Ub(323,68860,w|0)|0;lE(68872,44797,19);Ub(323,68872,w|0)|0;lE(68884,44817,22);Ub(323,68884,w|0)|0;return}function cC(a){a=a|0;var b=0,c=0,d=0;b=a+72|0;c=k[b>>2]|0;if(c|0){a=c;return a|0}k[b>>2]=k[a+56>>2];d=k[a+64>>2]|0;d=(tc[k[(k[d>>2]|0)+8>>2]&511](d)|0)+-1640531527|0;c=k[b>>2]|0;k[b>>2]=d+(c<<6)+(c>>>2)^c;c=k[a+68>>2]|0;c=(tc[k[(k[c>>2]|0)+8>>2]&511](c)|0)+-1640531527|0;a=k[b>>2]|0;a=c+(a<<6)+(a>>>2)^a;k[b>>2]=a;return a|0}function dC(){lE(72428,44768,6);Ub(323,72428,w|0)|0;p[8481]=3.141592653589793;lE(72440,44775,21);Ub(323,72440,w|0)|0;lE(72452,44797,19);Ub(323,72452,w|0)|0;lE(72464,44817,22);Ub(323,72464,w|0)|0;return}function eC(){p[8478]=3.141592653589793;lE(72284,44768,6);Ub(323,72284,w|0)|0;lE(72296,44775,21);Ub(323,72296,w|0)|0;lE(72308,44797,19);Ub(323,72308,w|0)|0;lE(72320,44817,22);Ub(323,72320,w|0)|0;return}function fC(){p[8471]=3.141592653589793;lE(71864,44768,6);Ub(323,71864,w|0)|0;lE(71876,44775,21);Ub(323,71876,w|0)|0;lE(71888,44797,19);Ub(323,71888,w|0)|0;lE(71900,44817,22);Ub(323,71900,w|0)|0;return}function gC(){p[8464]=3.141592653589793;lE(69004,44768,6);Ub(323,69004,w|0)|0;lE(69016,44775,21);Ub(323,69016,w|0)|0;lE(69028,44797,19);Ub(323,69028,w|0)|0;lE(69040,44817,22);Ub(323,69040,w|0)|0;return}function hC(){p[6521]=3.141592653589793;lE(68640,44768,6);Ub(323,68640,w|0)|0;lE(68652,44775,21);Ub(323,68652,w|0)|0;lE(68664,44797,19);Ub(323,68664,w|0)|0;lE(68676,44817,22);Ub(323,68676,w|0)|0;return}function iC(a,b){a=a|0;b=b|0;var c=0;k[a+4>>2]=0;k[a+8>>2]=0;b=a+4|0;k[a>>2]=b;k[a+12>>2]=0;i[a+16>>0]=0;x=0;sa(466,a+20|0,0);c=x;x=0;if(c&1){c=mb()|0;az(a,k[b>>2]|0);yb(c|0)}else return}function jC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;Gn(a);d=a+16|0;yx(d,c);e=a+88|0;f=k[e>>2]|0;if(f|0){yx(d,f);k[e>>2]=0}Ip(a,b);$t(d,c);return}function kC(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+72>>2]|0;d=(k[a+76>>2]|0)-b>>2;if(!d){d=0;return d|0}c=a+72|0;a=k[b>>2]|0;a=tc[k[(k[a>>2]|0)+120>>2]&511](a)|0;if((d|0)==1){d=a;return d|0}else b=1;do{e=k[(k[c>>2]|0)+(b<<2)>>2]|0;e=tc[k[(k[e>>2]|0)+120>>2]&511](e)|0;a=a>>>0>>0?e:a;b=b+1|0}while((b|0)!=(d|0));return a|0}function lC(a,b){a=a|0;b=b|0;var c=0;c=Ot(b,112,160,0)|0;if(c|0){a=Jc[k[(k[a>>2]|0)+128>>2]&1023](a,c)|0;return a|0}c=Ot(b,112,200,0)|0;if(c|0){a=Jc[k[(k[a>>2]|0)+124>>2]&1023](a,c)|0;return a|0}c=Ot(b,112,216,0)|0;if(!c){a=(a|0)==(b|0);return a|0}else{a=Jc[k[(k[a>>2]|0)+124>>2]&1023](a,c)|0;return a|0}return 0}function mC(a,b){a=a|0;b=b|0;if(!a){b=0;return b|0}while(1){if((su(a,b)|0)!=(a+4|0)){a=1;b=4;break}a=k[a+12>>2]|0;if(!a){a=0;b=4;break}}if((b|0)==4)return a|0;return 0}function nC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+32|0;d=e+16|0;c=e;if(!(mw(47955,i[b>>0]|0,4)|0)){a=L0()|0;k[a>>2]=22;a=0}else{f=HG(b)|0|32768;k[c>>2]=a;k[c+4>>2]=f;k[c+8>>2]=438;c=E0(Zb(5,c|0)|0)|0;if((c|0)<0)a=0;else{a=Kp(c,b)|0;if(!a){k[d>>2]=c;Yb(6,d|0)|0;a=0}}}r=e;return a|0}function oC(a){a=a|0;var b=0,c=0,d=0;b=k[a+72>>2]|0;a:do if(b|0){d=k[b+72>>2]|0;c=(k[b+76>>2]|0)-d>>2;b=d;if(c|0){d=0;while(1){if(i[(k[b+(d<<2)>>2]|0)+56>>0]|0){b=1;break}d=d+1|0;if(d>>>0>=c>>>0)break a}return b|0}}while(0);b=k[a+76>>2]|0;if(b|0)if(oC(b)|0){a=1;return a|0}a=0;return a|0}function pC(a){a=a|0;var b=0;a=wk(a)|0;if(!a){a=0;return a|0}b=i[a>>0]|0;b=b<<24>>24|0;a=(b|0)==37?0:(b|0)==40?a:0;return a|0}function qC(a,b){a=a|0;b=b|0;if(!b)return;else{qC(a,k[b>>2]|0);qC(a,k[b+4>>2]|0);uha(b);return}}function rC(a,b){a=a|0;b=b|0;if(!b)return;else{rC(a,k[b>>2]|0);rC(a,k[b+4>>2]|0);uha(b);return}}function sC(a,b){a=a|0;b=b|0;if(!b)return;else{sC(a,k[b>>2]|0);sC(a,k[b+4>>2]|0);P1(b+16|0);uha(b);return}}function tC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;g=h;if((a|0)==(b|0)){k[c>>2]=4;d=0.0}else{e=L0()|0;f=k[e>>2]|0;k[e>>2]=0;d=+Bba(a,g,xH()|0);a=k[e>>2]|0;if(!a)k[e>>2]=f;if((k[g>>2]|0)==(b|0)){if((a|0)==34)k[c>>2]=4}else{k[c>>2]=4;d=0.0}}r=h;return +d}function uC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;g=h;if((a|0)==(b|0)){k[c>>2]=4;d=0.0}else{e=L0()|0;f=k[e>>2]|0;k[e>>2]=0;d=+Bba(a,g,xH()|0);a=k[e>>2]|0;if(!a)k[e>>2]=f;if((k[g>>2]|0)==(b|0)){if((a|0)==34)k[c>>2]=4}else{k[c>>2]=4;d=0.0}}r=h;return +d}function vC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;g=h;if((a|0)==(b|0)){k[c>>2]=4;d=0.0}else{e=L0()|0;f=k[e>>2]|0;k[e>>2]=0;d=+Bba(a,g,xH()|0);a=k[e>>2]|0;if(!a)k[e>>2]=f;if((k[g>>2]|0)==(b|0)){if((a|0)==34)k[c>>2]=4}else{k[c>>2]=4;d=0.0}}r=h;return +d}function wC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(c>>>0>>0){f=b+4|0;while(1){switch(i[c>>0]|0){case 0:break a;case 10:{k[b>>2]=(k[b>>2]|0)+1;e=0;break}default:e=(k[f>>2]|0)+1|0}k[f>>2]=e;c=c+1|0;if(c>>>0>=d>>>0)break a}}while(0);k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];return}function xC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c;_G(e,b+60|0);d=i[e>>0]|0;d=(((d&1)==0?(d&255)>>>1:k[e+4>>2]|0)|0)==0;P1(e);if(!d){e=0;r=c;return e|0}e=k[b+56>>2]|0;e=Jc[k[(k[e>>2]|0)+56>>2]&1023](e,a)|0;r=c;return e|0}function yC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0;h=r;r=r+112|0;g=h;e=g;f=e+112|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=g+4|0;k[e>>2]=a;f=g+8|0;k[f>>2]=-1;k[g+44>>2]=a;k[g+76>>2]=-1;VI(g,0);d=+od(g,c,1);c=(k[e>>2]|0)-(k[f>>2]|0)+(k[g+108>>2]|0)|0;if(b|0)k[b>>2]=c|0?a+c|0:a;r=h;return +d}function zC(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+-60|0;d=b+80|0;a=k[d>>2]|0;if(a|0){d=a;return d|0}a=k[b+64>>2]|0;c=k[b+68>>2]|0;if((a|0)==(c|0)){d=0;return d|0}else b=a;do{e=k[b>>2]|0;e=(tc[k[(k[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;a=k[d>>2]|0;a=e+(a<<6)+(a>>>2)^a;k[d>>2]=a;b=b+4|0}while((b|0)!=(c|0));return a|0}function AC(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+16|0;b=k[d>>2]|0;if(b|0){d=b;return d|0}b=k[a+4>>2]|0;c=k[a+8>>2]|0;if((b|0)==(c|0)){d=0;return d|0}else a=b;do{e=k[a>>2]|0;e=(tc[k[(k[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;b=k[d>>2]|0;b=e+(b<<6)+(b>>>2)^b;k[d>>2]=b;a=a+4|0}while((a|0)!=(c|0));return b|0}function BC(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+72>>2]|0;d=(k[a+76>>2]|0)-b>>2;if(!d){d=0;return d|0}c=a+72|0;a=k[b>>2]|0;a=tc[k[(k[a>>2]|0)+100>>2]&511](a)|0;if((d|0)==1){d=a;return d|0}else b=1;do{e=k[(k[c>>2]|0)+(b<<2)>>2]|0;a=(tc[k[(k[e>>2]|0)+100>>2]&511](e)|0)+a|0;b=b+1|0}while((b|0)!=(d|0));return a|0}function CC(){lE(72164,44768,6);Ub(323,72164,w|0)|0;lE(72176,44775,21);Ub(323,72176,w|0)|0;lE(72188,44797,19);Ub(323,72188,w|0)|0;lE(72200,44817,22);Ub(323,72200,w|0)|0;return}function DC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+8|0;c=vb(16)|0;P3()|0;k[e>>2]=a;k[e+4>>2]=74068;x=0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];Qa(147,c|0,d|0,b|0);b=x;x=0;if(b&1){e=mb()|0;lb(c|0);yb(e|0)}else Wb(c|0,2920,222)}function EC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=b;k[a+16>>2]=c;b=f;e=k[b+4>>2]|0;c=a+20|0;k[c>>2]=k[b>>2];k[c+4>>2]=e;a=a+28|0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];return}function FC(a,b){a=a|0;b=b|0;switch(k[b>>2]|0){case 1:{b=i[b+4>>0]|0;if(b<<24>>24>63)b=61;else b=i[27870+(b<<24>>24)>>0]|0;i[a>>0]=b;i[a+1>>0]=61;i[a+2>>0]=61;b=a+3|0;break}case 2:{b=i[b+4>>0]|0;if(b<<24>>24>63)b=61;else b=i[27870+(b<<24>>24)>>0]|0;i[a>>0]=b;i[a+1>>0]=61;b=a+2|0;break}default:b=a}i[b>>0]=10;return b+1-a|0}function GC(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+16|0;b=k[d>>2]|0;if(b|0){d=b;return d|0}b=k[a+4>>2]|0;c=k[a+8>>2]|0;if((b|0)==(c|0)){d=0;return d|0}else a=b;do{e=k[a>>2]|0;e=(tc[k[(k[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;b=k[d>>2]|0;b=e+(b<<6)+(b>>>2)^b;k[d>>2]=b;a=a+4|0}while((a|0)!=(c|0));return b|0}function HC(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;i=((b|0)<0?-1:0)<<1|0;j=b>>31|i;i=((b|0)<0?-1:0)>>31|i;e=((d|0)<0?-1:0)<<1|0;f=d>>31|e;e=((d|0)<0?-1:0)>>31|e;h=lN(j^a|0,i^b|0,j|0,i|0)|0;g=M;a=f^j;b=e^i;return lN((qj(h,g,lN(f^c|0,e^d|0,f|0,e|0)|0,M,0)|0)^a|0,M^b|0,a|0,b|0)|0}function IC(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+16|0;b=k[d>>2]|0;if(b|0){d=b;return d|0}b=k[a+4>>2]|0;c=k[a+8>>2]|0;if((b|0)==(c|0)){d=0;return d|0}else a=b;do{e=k[a>>2]|0;e=(tc[k[(k[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;b=k[d>>2]|0;b=e+(b<<6)+(b>>>2)^b;k[d>>2]=b;a=a+4|0}while((a|0)!=(c|0));return b|0}function JC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f;e=hd(240)|0;do if(!e)d=-1;else{k[d>>2]=k[c>>2];d=Cx(e,240,b,d)|0;if(d>>>0<240){b=OC(e,d+1|0)|0;k[a>>2]=b|0?b:e;break}cf(e);if((d|0)<0)d=-1;else{e=d+1|0;d=hd(e)|0;k[a>>2]=d;if(!d)d=-1;else d=Cx(d,e,b,c)|0}}while(0);r=f;return d|0}function KC(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+16|0;c=d;_G(c,b+60|0);x=0;Qa(134,a+4|0,c|0,b|0);a=x;x=0;if(a&1){d=mb()|0;P1(c);yb(d|0)}else{P1(c);r=d;return}}function LC(a){a=a|0;var b=0,c=0;b=GG(36)|0;k[b+4>>2]=0;k[b+8>>2]=0;k[b>>2]=14520;c=b+12|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;i[a>>0]=0;k[a+4>>2]=2;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=c;k[a+20>>2]=b;c3(b);CQ(b);return}function MC(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+16|0;b=k[d>>2]|0;if(b|0){d=b;return d|0}b=k[a+4>>2]|0;c=k[a+8>>2]|0;if((b|0)==(c|0)){d=0;return d|0}else a=b;do{e=k[a>>2]|0;e=(tc[k[(k[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;b=k[d>>2]|0;b=e+(b<<6)+(b>>>2)^b;k[d>>2]=b;a=a+4|0}while((a|0)!=(c|0));return b|0}function NC(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+16|0;c=d;_G(c,b+56|0);x=0;Qa(134,a+4|0,c|0,b|0);b=x;x=0;if(b&1){d=mb()|0;P1(c);yb(d|0)}else{P1(c);r=d;return}}function OC(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){a=hd(b)|0;return a|0}if(b>>>0>4294967231){a=L0()|0;k[a>>2]=12;a=0;return a|0}c=qi(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(c|0){a=c+8|0;return a|0}c=hd(b)|0;if(!c){a=0;return a|0}d=k[a+-4>>2]|0;d=(d&-8)-((d&3|0)==0?8:4)|0;WC(c|0,a|0,(d>>>0>>0?d:b)|0)|0;cf(a);a=c;return a|0}function PC(a){a=a|0;var b=0,c=0,d=0;d=a+64|0;b=k[d>>2]|0;if(b|0){d=b;return d|0}b=(Fl(a)|0)+-1640531527|0;c=k[d>>2]|0;c=b+(c<<6)+(c>>>2)^c;k[d>>2]=c;b=k[a+96>>2]|0;if(!b){d=c;return d|0}c=(tc[k[(k[b>>2]|0)+8>>2]&511](b)|0)+-1640531527|0;a=k[d>>2]|0;a=c+(a<<6)+(a>>>2)^a;k[d>>2]=a;d=a;return d|0}function QC(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+16|0;b=k[d>>2]|0;if(b|0){d=b;return d|0}b=k[a+4>>2]|0;c=k[a+8>>2]|0;if((b|0)==(c|0)){d=0;return d|0}else a=b;do{e=k[a>>2]|0;e=(tc[k[(k[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;b=k[d>>2]|0;b=e+(b<<6)+(b>>>2)^b;k[d>>2]=b;a=a+4|0}while((a|0)!=(c|0));return b|0}function RC(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+16|0;b=k[d>>2]|0;if(b|0){d=b;return d|0}b=k[a+4>>2]|0;c=k[a+8>>2]|0;if((b|0)==(c|0)){d=0;return d|0}else a=b;do{e=k[a>>2]|0;e=(tc[k[(k[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;b=k[d>>2]|0;b=e+(b<<6)+(b>>>2)^b;k[d>>2]=b;a=a+4|0}while((a|0)!=(c|0));return b|0}function SC(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+16|0;c=d;_G(c,b+56|0);x=0;Qa(134,a+4|0,c|0,b|0);a=x;x=0;if(a&1){d=mb()|0;P1(c);yb(d|0)}else{P1(c);r=d;return}}function TC(a){a=a|0;var b=0,c=0,d=0;d=a+64|0;b=k[d>>2]|0;if(b|0){d=b;return d|0}b=(Fl(a)|0)+-1640531527|0;c=k[d>>2]|0;c=b+(c<<6)+(c>>>2)^c;k[d>>2]=c;b=k[a+96>>2]|0;if(!b){d=c;return d|0}c=(tc[k[(k[b>>2]|0)+8>>2]&511](b)|0)+-1640531527|0;a=k[d>>2]|0;a=c+(a<<6)+(a>>>2)^a;k[d>>2]=a;d=a;return d|0}function UC(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+16|0;b=k[d>>2]|0;if(b|0){d=b;return d|0}b=k[a+4>>2]|0;c=k[a+8>>2]|0;if((b|0)==(c|0)){d=0;return d|0}else a=b;do{e=k[a>>2]|0;e=(tc[k[(k[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;b=k[d>>2]|0;b=e+(b<<6)+(b>>>2)^b;k[d>>2]=b;a=a+4|0}while((a|0)!=(c|0));return b|0}function VC(a){a=a|0;var b=0,c=0;c=0;b=LN(a)|0;if(!b){if(a|0){b=a;c=4}}else while(1){c=LN(b)|0;if(!c){c=4;break}else b=c}if((c|0)==4)if((i[b>>0]|0)==46){b=LN(b+1|0)|0;if(b|0){while(1){c=LN(b)|0;if(!c)break;else b=c}return b|0}}a=LN(a)|0;return a|0}function WC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return Fb(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function XC(a){a=a|0;var b=0,c=0,d=0;d=0;if((k[a+76>>2]|0)<0)d=3;else if(!(Dha(a)|0))d=3;else{b=a+4|0;c=k[b>>2]|0;if(c>>>0<(k[a+8>>2]|0)>>>0){k[b>>2]=c+1;b=l[c>>0]|0}else b=JH(a)|0}do if((d|0)==3){b=a+4|0;c=k[b>>2]|0;if(c>>>0<(k[a+8>>2]|0)>>>0){k[b>>2]=c+1;b=l[c>>0]|0;break}else{b=JH(a)|0;break}}while(0);return b|0}function YC(a){a=a|0;var b=0,c=0,d=0;a=a+-68|0;k[a>>2]=6984;c=a+68|0;k[c>>2]=7116;ZD(a+88|0,k[a+92>>2]|0);k[c>>2]=6956;c=k[a+72>>2]|0;if(!c){uha(a);return}d=a+76|0;b=k[d>>2]|0;if((b|0)!=(c|0))k[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);uha(a);return}function ZC(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+16|0;c=d;_G(c,b+56|0);x=0;Qa(134,a+4|0,c|0,b|0);b=x;x=0;if(b&1){d=mb()|0;P1(c);yb(d|0)}else{P1(c);r=d;return}}function _C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=a+12|0;g=a+16|0;e=b;b=0;while(1){if((b|0)>=(c|0))break;d=k[f>>2]|0;if(d>>>0<(k[g>>2]|0)>>>0){k[f>>2]=d+1;d=i[d>>0]|0}else{d=tc[k[(k[a>>2]|0)+40>>2]&511](a)|0;if((d|0)==-1)break;d=d&255}i[e>>0]=d;e=e+1|0;b=b+1|0}return b|0}function $C(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+16|0;c=d;_G(c,b+60|0);x=0;Qa(134,a+4|0,c|0,b|0);b=x;x=0;if(b&1){d=mb()|0;P1(c);yb(d|0)}else{P1(c);r=d;return}}function aD(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+-56|0;k[e+56>>2]=5288;a=k[e+80>>2]|0;b=a;if(a|0){c=e+84|0;d=k[c>>2]|0;if((d|0)!=(a|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(a)}a=k[e+68>>2]|0;if(a|0)do{d=a;a=k[a>>2]|0;uha(d)}while((a|0)!=0);d=e+60|0;a=k[d>>2]|0;k[d>>2]=0;if(!a){uha(e);return}uha(a);uha(e);return}function bD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=zi(c,a,e,f,4)|0;if(!(k[e>>2]&4))k[b>>2]=a+-1900;r=g;return}function cD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=Ti(c,a,e,f,4)|0;if(!(k[e>>2]&4))k[b>>2]=a+-1900;r=g;return}function dD(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+16|0;c=d;lE(c,38939,4);x=0;Qa(134,a+4|0,c|0,b|0);a=x;x=0;if(a&1){d=mb()|0;P1(c);yb(d|0)}else{P1(c);r=d;return}}function eD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0;l=r;r=r+16|0;j=l;i[j>>0]=37;g=j+1|0;i[g>>0]=e;h=j+2|0;i[h>>0]=f;i[j+3>>0]=0;if(f<<24>>24){i[g>>0]=f;i[h>>0]=e}a=b+(rb(b|0,(k[c>>2]|0)-b|0,j|0,d|0,k[a>>2]|0)|0)|0;k[c>>2]=a;r=l;return}function fD(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+80|0;b=k[d>>2]|0;if(b|0){d=b;return d|0}b=k[a+64>>2]|0;c=k[a+68>>2]|0;if((b|0)==(c|0)){d=0;return d|0}else a=b;do{e=k[a>>2]|0;e=(tc[k[(k[e>>2]|0)+8>>2]&511](e)|0)+-1640531527|0;b=k[d>>2]|0;b=e+(b<<6)+(b>>>2)^b;k[d>>2]=b;a=a+4|0}while((a|0)!=(c|0));return b|0}function gD(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;b=c;lE(b,40459,1);x=0;sa(484,a+4|0,b|0);a=x;x=0;if(a&1){a=mb()|0;P1(b);yb(a|0)}else{P1(b);r=c;return}}function hD(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+16|0;c=d;rc[k[(k[b>>2]|0)+108>>2]&1023](c,b);x=0;Qa(134,a+4|0,c|0,b|0);a=x;x=0;if(a&1){d=mb()|0;P1(c);yb(d|0)}else{P1(c);r=d;return}}function iD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=a+24|0;g=a+28|0;d=b;b=0;while(1){if((b|0)>=(c|0))break;e=k[f>>2]|0;if(e>>>0<(k[g>>2]|0)>>>0){h=k[d>>2]|0;k[f>>2]=e+4;k[e>>2]=h}else if((Jc[k[(k[a>>2]|0)+52>>2]&1023](a,k[d>>2]|0)|0)==-1)break;d=d+4|0;b=b+1|0}return b|0}function jD(a){a=a|0;var b=0,c=0;b=a+74|0;c=i[b>>0]|0;i[b>>0]=c+255|c;b=a+20|0;c=a+44|0;if((k[b>>2]|0)>>>0>(k[c>>2]|0)>>>0)wc[k[a+36>>2]&127](a,0,0)|0;k[a+16>>2]=0;k[a+28>>2]=0;k[b>>2]=0;b=k[a>>2]|0;if(!(b&20)){b=k[c>>2]|0;k[a+8>>2]=b;k[a+4>>2]=b;b=0}else if(!(b&4))b=-1;else{k[a>>2]=b|32;b=-1}return b|0}function kD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=a+24|0;g=a+28|0;d=b;b=0;while(1){if((b|0)>=(c|0))break;e=k[f>>2]|0;if(e>>>0<(k[g>>2]|0)>>>0){h=i[d>>0]|0;k[f>>2]=e+1;i[e>>0]=h}else if((Jc[k[(k[a>>2]|0)+52>>2]&1023](a,l[d>>0]|0)|0)==-1)break;d=d+1|0;b=b+1|0}return b|0}function lD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f;b=hd(b)|0;k[b+4>>2]=0;k[e>>2]=b;c=a+4|0;d=k[c>>2]|0;if(d>>>0<(k[a+8>>2]|0)>>>0){k[d>>2]=b;k[c>>2]=(k[c>>2]|0)+4;r=f;return b|0}else{sw(a,e);r=f;return b|0}return 0}function mD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=r;r=r+112|0;h=i;k[h>>2]=0;f=h+4|0;k[f>>2]=a;k[h+44>>2]=a;g=h+8|0;k[g>>2]=(a|0)<0?-1:a+2147483647|0;k[h+76>>2]=-1;VI(h,0);d=$f(h,c,1,d,e)|0;if(b|0)k[b>>2]=a+((k[f>>2]|0)+(k[h+108>>2]|0)-(k[g>>2]|0));r=i;return d|0}function nD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=a+12|0;g=a+16|0;e=b;b=0;while(1){if((b|0)>=(c|0))break;d=k[f>>2]|0;if(d>>>0<(k[g>>2]|0)>>>0){k[f>>2]=d+4;d=k[d>>2]|0}else{d=tc[k[(k[a>>2]|0)+40>>2]&511](a)|0;if((d|0)==-1)break}k[e>>2]=d;e=e+4|0;b=b+1|0}return b|0}function oD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=a+60|0;c=k[d>>2]|0;e=(k[a+64>>2]|0)-c>>2;if(e|0){c=k[c>>2]|0;rc[k[(k[c>>2]|0)+80>>2]&1023](c,b);if((e|0)!=1){c=1;do{f=k[(k[d>>2]|0)+(c<<2)>>2]|0;rc[k[(k[f>>2]|0)+80>>2]&1023](f,b);c=c+1|0}while((c|0)!=(e|0))}}i[a+48>>0]=b&1;return}function pD(a){a=a|0;var b=0,c=0,d=0;b=a+44|0;c=k[b>>2]|0;d=k[a+24>>2]|0;if(c>>>0>>0){k[b>>2]=d;b=d}else b=c;if(!(k[a+48>>2]&8)){a=-1;return a|0}d=a+16|0;c=k[d>>2]|0;if(c>>>0>>0){k[d>>2]=b;c=b}b=k[a+12>>2]|0;if(b>>>0>=c>>>0){a=-1;return a|0}a=l[b>>0]|0;return a|0}function qD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=b+16|0;e=k[a>>2]|0;do if(!e){k[a>>2]=c;k[b+24>>2]=d;k[b+36>>2]=1}else{if((e|0)!=(c|0)){d=b+36|0;k[d>>2]=(k[d>>2]|0)+1;k[b+24>>2]=2;i[b+54>>0]=1;break}a=b+24|0;if((k[a>>2]|0)==2)k[a>>2]=d}while(0);return}function rD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=i[a>>0]|0;e=(d&1)==0;if(e)d=(d&255)>>>1;else d=k[a+4>>2]|0;do if(d>>>0>>0)iz(a,b-d|0,c)|0;else if(e){i[a+1+b>>0]=0;i[a>>0]=b<<1;break}else{i[(k[a+8>>2]|0)+b>>0]=0;k[a+4>>2]=b;break}while(0);return}function sD(a,b){a=a|0;b=b|0;if(!b)return;else{sD(a,k[b>>2]|0);sD(a,k[b+4>>2]|0);uha(b);return}}function tD(a){a=+a;var b=0,c=0,d=0,e=0;p[t>>3]=a;d=k[t>>2]|0;e=k[t+4>>2]|0;b=SN(d|0,e|0,52)|0;b=(b&2047)+-1011|0;if((b|0)<=63){c=(b|0)<12;b=SN(-1,-1,b|0)|0;b=c?-1:b;c=c?2147483647:M;if(!((b&d|0)==0&(c&e|0)==0)){k[t>>2]=d&~b;k[t+4>>2]=e&~c;a=+p[t>>3]}}return +a}function uD(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=6984;b=a+68|0;k[b>>2]=7116;ZD(a+88|0,k[a+92>>2]|0);k[b>>2]=6956;b=k[a+72>>2]|0;if(!b){uha(a);return}c=a+76|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function vD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i[a>>0]|0;if(!(d&1)){d=(d&255)>>>1;a=a+1|0}else{d=k[a+4>>2]|0;a=k[a+8>>2]|0}a:do if(!d)d=-1;else{d=a+(d>>>0>c>>>0?c+1|0:d)|0;do{if((d|0)==(a|0)){d=-1;break a}d=d+-1|0}while((i[d>>0]|0)!=b<<24>>24);d=d-a|0}while(0);return d|0}function wD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=i[b>>0]|0;e=(f&1)==0;f=e?(f&255)>>>1:k[b+4>>2]|0;if(f>>>0>>0)cH(a);else{f=f-c|0;lE(a,(e?b+1|0:k[b+8>>2]|0)+c|0,f>>>0>>0?f:d);return}}function xD(a){a=a|0;k[a>>2]=10624;P1(a+100|0);P1(a+88|0);P1(a+76|0);k[a>>2]=8160;P1(a+20|0);P1(a+8|0);f4(a);uha(a);return}function yD(a){a=a|0;var b=0,c=0,d=0,e=0;if((k[k[a+68>>2]>>2]|0)==3)return;e=a+4|0;c=i[e>>0]|0;d=(c&1)==0;if(d)b=(c&255)>>>1;else b=k[a+8>>2]|0;if(!b)return;if(d)b=(c&255)>>>1;else b=k[a+8>>2]|0;e=SG(e,b+-1|0)|0;if(Jca(l[e>>0]|0)|0)if(!(i[a+84>>0]|0))return;k[a+76>>2]=1;return}function zD(a){a=a|0;var b=0,c=0,d=0,e=0;k[a+56>>2]=5288;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+68>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;uha(e)}while((b|0)!=0);e=a+60|0;b=k[e>>2]|0;k[e>>2]=0;if(!b){uha(a);return}uha(b);uha(a);return}function AD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=0;while(1){if((d|0)==(e|0)){g=7;break}if((b|0)==(c|0)){b=-1;break}a=i[b>>0]|0;f=i[d>>0]|0;if(a<<24>>24>24){b=-1;break}if(f<<24>>24>24){b=1;break}d=d+1|0;b=b+1|0}if((g|0)==7)b=(b|0)!=(c|0)&1;return b|0}function BD(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=5288;b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+12>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;uha(e)}while((b|0)!=0);e=a+4|0;b=k[e>>2]|0;k[e>>2]=0;if(!b){uha(a);return}uha(b);uha(a);return}function CD(a){a=a|0;var b=0,c=0;a=k[a+8>>2]|0;if(!a)b=1;else{x=0;a=ua(271,a|0)|0;c=x;x=0;if(c&1){c=Eb(0)|0;Nba(c)}if(!a)b=4;else{x=0;ua(271,a|0)|0;c=x;x=0;if(c&1){c=Eb(0)|0;Nba(c)}else b=4}}return b|0}function DD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(b>>>0>0|(b|0)==0&a>>>0>4294967295)while(1){d=iK(a|0,b|0,10,0)|0;c=c+-1|0;i[c>>0]=d|48;d=B4(a|0,b|0,10,0)|0;if(b>>>0>9|(b|0)==9&a>>>0>4294967295){a=d;b=M}else{a=d;break}}if(a)while(1){c=c+-1|0;i[c>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return c|0} -function Tk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;l=r;r=r+80|0;j=l+40|0;h=l+24|0;f=l+12|0;g=l;b=sy(b,a)|0;b=k[b>>2]|0;if(b|0){b=Ot(b,8,64,0)|0;if(b|0){j=b;r=l;return j|0}}lE(h,36764,10);b=i[a>>0]|0;m=(b&1)==0;x=0;xa(46,h|0,(m?a+1|0:k[a+8>>2]|0)|0,(m?(b&255)>>>1:k[a+4>>2]|0)|0)|0;a=x;x=0;if(!(a&1)){x=0;Ka(866,h|0,36775)|0;m=x;x=0;if(!(m&1)){x=0;Ka(866,h|0,c|0)|0;m=x;x=0;if(!(m&1)){x=0;Ka(866,h|0,36782)|0;m=x;x=0;if(!(m&1)){x=0;Qa(74,f|0,78097,0);m=x;x=0;if(!(m&1)){m=i[f>>0]|0;c=(m&1)==0;x=0;xa(46,h|0,(c?f+1|0:k[f+8>>2]|0)|0,(c?(m&255)>>>1:k[f+4>>2]|0)|0)|0;m=x;x=0;if(m&1){m=mb()|0;P1(f);P1(h);yb(m|0)}P1(f);x=0;sa(430,g|0,h|0);m=x;x=0;if(!(m&1)){x=0;f=j;b=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(b|0));Qa(100,g|0,j|0,e|0);m=x;x=0;if(m&1){m=mb()|0;P1(g);P1(h);yb(m|0)}else{P1(g);P1(h);m=0;r=l;return m|0}}}}}}}m=mb()|0;P1(h);yb(m|0);return 0}function Uk(a){a=a|0;var b=0,c=0,d=0,e=0;e=0;a:do if(a|0){c=i[38843]|0;b:do if(!(c<<24>>24)){b=a;e=5}else{b=a;d=38843;while(1){if((i[b>>0]|0)!=c<<24>>24)break b;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=5;break}}}while(0);if((e|0)==5){b=DJ(b)|0;if(b|0){a=b;return a|0}}c=i[44248]|0;c:do if(!(c<<24>>24)){b=a;e=9}else{b=a;d=44248;while(1){if((i[b>>0]|0)!=c<<24>>24)break c;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=9;break}}}while(0);if((e|0)==9){b=DJ(b)|0;if(b|0){a=b;return a|0}}c=i[44188]|0;d:do if(!(c<<24>>24)){b=a;e=13}else{b=a;d=44188;while(1){if((i[b>>0]|0)!=c<<24>>24)break d;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=13;break}}}while(0);if((e|0)==13){b=DJ(b)|0;if(b|0){a=b;return a|0}}c=i[44182]|0;if(!(c<<24>>24))b=a;else{b=a;d=44182;do{if((i[b>>0]|0)!=c<<24>>24)break a;b=b+1|0;d=d+1|0;c=i[d>>0]|0}while(c<<24>>24!=0)}b=DJ(b)|0;if(b|0){a=b;return a|0}}while(0);a=am(a)|0;return a|0}function Vk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;l=r;r=r+80|0;j=l+40|0;h=l+24|0;f=l+12|0;g=l;b=sy(b,a)|0;b=k[b>>2]|0;if(b|0){b=Ot(b,8,392,0)|0;if(b|0){j=b;r=l;return j|0}}lE(h,36764,10);b=i[a>>0]|0;m=(b&1)==0;x=0;xa(46,h|0,(m?a+1|0:k[a+8>>2]|0)|0,(m?(b&255)>>>1:k[a+4>>2]|0)|0)|0;a=x;x=0;if(!(a&1)){x=0;Ka(866,h|0,36775)|0;m=x;x=0;if(!(m&1)){x=0;Ka(866,h|0,c|0)|0;m=x;x=0;if(!(m&1)){x=0;Ka(866,h|0,36782)|0;m=x;x=0;if(!(m&1)){x=0;Qa(74,f|0,36799,6);m=x;x=0;if(!(m&1)){m=i[f>>0]|0;c=(m&1)==0;x=0;xa(46,h|0,(c?f+1|0:k[f+8>>2]|0)|0,(c?(m&255)>>>1:k[f+4>>2]|0)|0)|0;m=x;x=0;if(m&1){m=mb()|0;P1(f);P1(h);yb(m|0)}P1(f);x=0;sa(430,g|0,h|0);m=x;x=0;if(!(m&1)){x=0;f=j;b=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(b|0));Qa(100,g|0,j|0,e|0);m=x;x=0;if(m&1){m=mb()|0;P1(g);P1(h);yb(m|0)}else{P1(g);P1(h);m=0;r=l;return m|0}}}}}}}m=mb()|0;P1(h);yb(m|0);return 0}function Wk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;l=r;r=r+80|0;j=l+40|0;h=l+24|0;f=l+12|0;g=l;b=sy(b,a)|0;b=k[b>>2]|0;if(b|0){b=Ot(b,8,480,0)|0;if(b|0){j=b;r=l;return j|0}}lE(h,36764,10);b=i[a>>0]|0;m=(b&1)==0;x=0;xa(46,h|0,(m?a+1|0:k[a+8>>2]|0)|0,(m?(b&255)>>>1:k[a+4>>2]|0)|0)|0;a=x;x=0;if(!(a&1)){x=0;Ka(866,h|0,36775)|0;m=x;x=0;if(!(m&1)){x=0;Ka(866,h|0,c|0)|0;m=x;x=0;if(!(m&1)){x=0;Ka(866,h|0,36782)|0;m=x;x=0;if(!(m&1)){x=0;Qa(74,f|0,37006,5);m=x;x=0;if(!(m&1)){m=i[f>>0]|0;c=(m&1)==0;x=0;xa(46,h|0,(c?f+1|0:k[f+8>>2]|0)|0,(c?(m&255)>>>1:k[f+4>>2]|0)|0)|0;m=x;x=0;if(m&1){m=mb()|0;P1(f);P1(h);yb(m|0)}P1(f);x=0;sa(430,g|0,h|0);m=x;x=0;if(!(m&1)){x=0;f=j;b=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(b|0));Qa(100,g|0,j|0,e|0);m=x;x=0;if(m&1){m=mb()|0;P1(g);P1(h);yb(m|0)}else{P1(g);P1(h);m=0;r=l;return m|0}}}}}}}m=mb()|0;P1(h);yb(m|0);return 0}function Xk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;l=r;r=r+80|0;j=l+40|0;h=l+24|0;f=l+12|0;g=l;b=sy(b,a)|0;b=k[b>>2]|0;if(b|0){b=Ot(b,8,256,0)|0;if(b|0){j=b;r=l;return j|0}}lE(h,36764,10);b=i[a>>0]|0;m=(b&1)==0;x=0;xa(46,h|0,(m?a+1|0:k[a+8>>2]|0)|0,(m?(b&255)>>>1:k[a+4>>2]|0)|0)|0;a=x;x=0;if(!(a&1)){x=0;Ka(866,h|0,36775)|0;m=x;x=0;if(!(m&1)){x=0;Ka(866,h|0,c|0)|0;m=x;x=0;if(!(m&1)){x=0;Ka(866,h|0,36782)|0;m=x;x=0;if(!(m&1)){x=0;Qa(74,f|0,37790,4);m=x;x=0;if(!(m&1)){m=i[f>>0]|0;c=(m&1)==0;x=0;xa(46,h|0,(c?f+1|0:k[f+8>>2]|0)|0,(c?(m&255)>>>1:k[f+4>>2]|0)|0)|0;m=x;x=0;if(m&1){m=mb()|0;P1(f);P1(h);yb(m|0)}P1(f);x=0;sa(430,g|0,h|0);m=x;x=0;if(!(m&1)){x=0;f=j;b=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(b|0));Qa(100,g|0,j|0,e|0);m=x;x=0;if(m&1){m=mb()|0;P1(g);P1(h);yb(m|0)}else{P1(g);P1(h);m=0;r=l;return m|0}}}}}}}m=mb()|0;P1(h);yb(m|0);return 0}function Yk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+64|0;n=p+48|0;q=p+24|0;l=p+20|0;g=p+16|0;h=p+12|0;j=p+8|0;m=p+4|0;o=p;a:do if(!(k[d+4>>2]&1)){k[l>>2]=-1;o=k[(k[a>>2]|0)+16>>2]|0;k[g>>2]=k[b>>2];k[h>>2]=k[c>>2];k[q>>2]=k[g>>2];k[n>>2]=k[h>>2];g=sc[o&127](a,q,n,d,e,l)|0;k[b>>2]=g;switch(k[l>>2]|0){case 0:{i[f>>0]=0;break}case 1:{i[f>>0]=1;break}default:{i[f>>0]=1;k[e>>2]=4}}}else{g=TN(d)|0;k[j>>2]=g;x=0;j=Ka(865,j|0,74204)|0;l=x;x=0;do if(l&1){q=mb()|0;sK(g)|0;g=q}else{sK(g)|0;g=TN(d)|0;k[m>>2]=g;x=0;a=Ka(865,m|0,74212)|0;m=x;x=0;if(m&1){q=mb()|0;sK(g)|0;g=q;break}sK(g)|0;x=0;sa(k[(k[a>>2]|0)+24>>2]|0,q|0,a|0);m=x;x=0;if(m&1)h=q;else{h=q+12|0;x=0;sa(k[(k[a>>2]|0)+28>>2]|0,h|0,a|0);m=x;x=0;if(!(m&1)){k[o>>2]=k[c>>2];x=0;k[n>>2]=k[o>>2];g=na(10,b|0,n|0,q|0,q+24|0,j|0,e|0,1)|0;e=x;x=0;if(e&1){g=mb()|0;O1(q+12|0);O1(q);break}else{i[f>>0]=(g|0)==(q|0)&1;g=k[b>>2]|0;O1(q+12|0);O1(q);break a}}}g=mb()|0;a=M;if((q|0)!=(h|0))do{h=h+-12|0;O1(h)}while((h|0)!=(q|0))}while(0);yb(g|0)}while(0);r=p;return g|0}function Zk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;l=r;r=r+80|0;j=l+40|0;h=l+24|0;f=l+12|0;g=l;b=sy(b,a)|0;b=k[b>>2]|0;if(b|0){b=Ot(b,8,496,0)|0;if(b|0){j=b;r=l;return j|0}}lE(h,36764,10);b=i[a>>0]|0;m=(b&1)==0;x=0;xa(46,h|0,(m?a+1|0:k[a+8>>2]|0)|0,(m?(b&255)>>>1:k[a+4>>2]|0)|0)|0;a=x;x=0;if(!(a&1)){x=0;Ka(866,h|0,36775)|0;m=x;x=0;if(!(m&1)){x=0;Ka(866,h|0,c|0)|0;m=x;x=0;if(!(m&1)){x=0;Ka(866,h|0,36782)|0;m=x;x=0;if(!(m&1)){x=0;Qa(74,f|0,36795,3);m=x;x=0;if(!(m&1)){m=i[f>>0]|0;c=(m&1)==0;x=0;xa(46,h|0,(c?f+1|0:k[f+8>>2]|0)|0,(c?(m&255)>>>1:k[f+4>>2]|0)|0)|0;m=x;x=0;if(m&1){m=mb()|0;P1(f);P1(h);yb(m|0)}P1(f);x=0;sa(430,g|0,h|0);m=x;x=0;if(!(m&1)){x=0;f=j;b=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(b|0));Qa(100,g|0,j|0,e|0);m=x;x=0;if(m&1){m=mb()|0;P1(g);P1(h);yb(m|0)}else{P1(g);P1(h);m=0;r=l;return m|0}}}}}}}m=mb()|0;P1(h);yb(m|0);return 0}function _k(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+64|0;n=p+48|0;q=p+24|0;l=p+20|0;g=p+16|0;h=p+12|0;j=p+8|0;m=p+4|0;o=p;a:do if(!(k[d+4>>2]&1)){k[l>>2]=-1;o=k[(k[a>>2]|0)+16>>2]|0;k[g>>2]=k[b>>2];k[h>>2]=k[c>>2];k[q>>2]=k[g>>2];k[n>>2]=k[h>>2];g=sc[o&127](a,q,n,d,e,l)|0;k[b>>2]=g;switch(k[l>>2]|0){case 0:{i[f>>0]=0;break}case 1:{i[f>>0]=1;break}default:{i[f>>0]=1;k[e>>2]=4}}}else{g=TN(d)|0;k[j>>2]=g;x=0;j=Ka(865,j|0,74172)|0;l=x;x=0;do if(l&1){q=mb()|0;sK(g)|0;g=q}else{sK(g)|0;g=TN(d)|0;k[m>>2]=g;x=0;a=Ka(865,m|0,74184)|0;m=x;x=0;if(m&1){q=mb()|0;sK(g)|0;g=q;break}sK(g)|0;x=0;sa(k[(k[a>>2]|0)+24>>2]|0,q|0,a|0);m=x;x=0;if(m&1)h=q;else{h=q+12|0;x=0;sa(k[(k[a>>2]|0)+28>>2]|0,h|0,a|0);m=x;x=0;if(!(m&1)){k[o>>2]=k[c>>2];x=0;k[n>>2]=k[o>>2];g=na(9,b|0,n|0,q|0,q+24|0,j|0,e|0,1)|0;e=x;x=0;if(e&1){g=mb()|0;P1(q+12|0);P1(q);break}else{i[f>>0]=(g|0)==(q|0)&1;g=k[b>>2]|0;P1(q+12|0);P1(q);break a}}}g=mb()|0;a=M;if((q|0)!=(h|0))do{h=h+-12|0;P1(h)}while((h|0)!=(q|0))}while(0);yb(g|0)}while(0);r=p;return g|0}function $k(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;s=Ot(b,64,392,0)|0;if(!s){a=0;return a|0}d=k[a+72>>2]|0;c=k[a+68>>2]|0;f=d-c|0;o=k[a+84>>2]|0;b=k[a+80>>2]|0;q=o-b|0;g=k[s+68>>2]|0;e=(k[s+72>>2]|0)-g|0;h=k[s+80>>2]|0;r=(k[s+84>>2]|0)-h|0;if(!(((f|0)/12|0|0)!=((q|0)/-12|0|0)?((e|0)/12|0|0)!=((r|0)/-12|0|0):0)){a=+X(+(+p[a+56>>3]-+p[s+56>>3]))<1.0e-14;return a|0}if((f|0)!=(e|0)){a=0;return a|0}a:do if((c|0)!=(d|0)){n=g;b:while(1){m=j[c>>1]|0;g=(m&1)==0;f=(m&254)>>>1;l=g?f:k[c+4>>2]|0;t=i[n>>0]|0;e=(t&1)==0;m=(m&65535)>>>8&255;if((l|0)!=((e?(t&255)>>>1:k[n+4>>2]|0)|0)){c=0;d=29;break}e=e?n+1|0:k[n+8>>2]|0;c:do if(g){if(l|0){if(m<<24>>24!=(i[e>>0]|0)){c=0;d=29;break b}g=c+1|0;while(1){f=f+-1|0;g=g+1|0;if(!f)break c;e=e+1|0;if((i[g>>0]|0)!=(i[e>>0]|0)){c=0;d=29;break b}}}}else if(tG(k[c+8>>2]|0,e,l)|0){c=0;d=29;break b}while(0);c=c+12|0;if((c|0)==(d|0))break a;else n=n+12|0}if((d|0)==29)return c|0}while(0);l=o;if((q|0)!=(r|0)){t=0;return t|0}d:do if((b|0)!=(l|0)){e:while(1){e=j[b>>1]|0;f=(e&1)==0;d=(e&254)>>>1;g=f?d:k[b+4>>2]|0;t=i[h>>0]|0;c=(t&1)==0;e=(e&65535)>>>8&255;if((g|0)!=((c?(t&255)>>>1:k[h+4>>2]|0)|0)){c=0;d=29;break}c=c?h+1|0:k[h+8>>2]|0;f:do if(f){if(g|0){if(e<<24>>24!=(i[c>>0]|0)){c=0;d=29;break e}e=b+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d)break f;c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0)){c=0;d=29;break e}}}}else if(tG(k[b+8>>2]|0,c,g)|0){c=0;d=29;break e}while(0);b=b+12|0;if((b|0)==(l|0))break d;else h=h+12|0}if((d|0)==29)return c|0}while(0);t=+X(+(+p[a+56>>3]-+p[s+56>>3]))<1.0e-14;return t|0}function al(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;c=n+36|0;h=n+24|0;l=n+12|0;m=n;if(i[b+48>>0]|0){m=b;r=n;return m|0}j=b+60|0;_G(c,j);x=0;d=ua(212,c|0)|0;g=x;x=0;if(g&1){n=mb()|0;P1(c);yb(n|0)}P1(c);if(!d){m=b;r=n;return m|0}c=(k[a+8>>2]|0)+36|0;d=lD(c,104)|0;_G(h,j);x=0;a=ua(212,h|0)|0;g=x;x=0;if(!(g&1)){k[d+4>>2]=k[a+4>>2];k[d>>2]=4748;e=d+8|0;f=a+8|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d>>2]=6736;e=a+48|0;f=k[e+4>>2]|0;g=d+48|0;k[g>>2]=k[e>>2];k[g+4>>2]=f;k[d>>2]=5580;g=d+56|0;f=a+56|0;k[g>>2]=k[f>>2];k[g+4>>2]=k[f+4>>2];k[g+8>>2]=k[f+8>>2];k[g+12>>2]=k[f+12>>2];k[g+16>>2]=k[f+16>>2];k[g+20>>2]=k[f+20>>2];k[g+24>>2]=k[f+24>>2];k[g+28>>2]=k[f+28>>2];x=0;sa(430,d+88|0,a+88|0);g=x;x=0;if(!(g&1)){k[d+100>>2]=k[a+100>>2];x=0;d=Ka(857,c|0,d|0)|0;g=x;x=0;if(!(g&1)){P1(h);VH(d+8|0,b+8|0,40)|0;_G(m,j);x=0;c=Ka(854,d+88|0,m|0)|0;b=x;x=0;if(!(b&1)){x=0;sa(430,l|0,c|0);b=x;x=0;if(!(b&1)){P1(l);P1(m);m=d;r=n;return m|0}}n=mb()|0;P1(m);yb(n|0)}}}n=mb()|0;P1(h);yb(n|0);return 0}function bl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=0;u=r;r=r+80|0;q=u+32|0;b=u+20|0;g=u+8|0;s=u;lE(b,38223,4);x=0;h=q;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));m=ta(124,b|0,a|0,d|0,q|0,f|0,c|0)|0;p=x;x=0;if(p&1){u=mb()|0;P1(b);yb(u|0)}P1(b);lE(g,38245,5);x=0;h=q;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));p=wa(26,g|0,a|0,d|0,q|0,f|0)|0;o=x;x=0;if(o&1){u=mb()|0;P1(g);yb(u|0)}P1(g);g=c+36|0;b=lD(g,100)|0;k[b+4>>2]=0;h=b+8|0;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;n=b+52|0;k[n>>2]=0;k[b>>2]=10312;o=b+56|0;bo(o,1);k[b>>2]=5160;k[o>>2]=5268;k[n>>2]=6;n=N4(g,b)|0;o=m+56|0;b=k[m+80>>2]|0;h=k[m+84>>2]|0;if((b|0)==(h|0)){r=u;return n|0}j=p+60|0;l=p+64|0;e=n+56|0;m=s+4|0;do{f=k[b>>2]|0;a=(k[l>>2]|0)-(k[j>>2]|0)>>2;g=f;if(!a)t=11;else{c=0;do{d=xM(g,GH(p,c)|0)|0;c=c+1|0}while(!(c>>>0>=a>>>0|d));if(!d)t=11}if((t|0)==11){t=0;c=vv(o,g)|0;k[s>>2]=f;k[m>>2]=c;k[q>>2]=k[s>>2];k[q+4>>2]=k[s+4>>2];Qn(e,q)|0}b=b+4|0}while((b|0)!=(h|0));r=u;return n|0}function cl(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;var l=0,n=0;l=0;k[c>>2]=a;k[f>>2]=d;if(!(h&2))l=4;else if((e-d|0)<3)a=1;else{k[f>>2]=d+1;i[d>>0]=-17;l=k[f>>2]|0;k[f>>2]=l+1;i[l>>0]=-69;l=k[f>>2]|0;k[f>>2]=l+1;i[l>>0]=-65;l=4}a:do if((l|0)==4){n=b;a=k[c>>2]|0;while(1){if(a>>>0>=b>>>0){a=0;break a}h=j[a>>1]|0;l=h&65535;if(l>>>0>g>>>0){a=2;break a}do if((h&65535)<128){a=k[f>>2]|0;if((e-a|0)<1){a=1;break a}k[f>>2]=a+1;i[a>>0]=h}else{if((h&65535)<2048){a=k[f>>2]|0;if((e-a|0)<2){a=1;break a}k[f>>2]=a+1;i[a>>0]=l>>>6|192;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=l&63|128;break}if((h&65535)<55296){a=k[f>>2]|0;if((e-a|0)<3){a=1;break a}k[f>>2]=a+1;i[a>>0]=l>>>12|224;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=l>>>6&63|128;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=l&63|128;break}if((h&65535)>=56320){if((h&65535)<57344){a=2;break a}a=k[f>>2]|0;if((e-a|0)<3){a=1;break a}k[f>>2]=a+1;i[a>>0]=l>>>12|224;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=l>>>6&63|128;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=l&63|128;break}if((n-a|0)<4){a=1;break a}a=a+2|0;h=m[a>>1]|0;if((h&64512|0)!=56320){a=2;break a}if((e-(k[f>>2]|0)|0)<4){a=1;break a}d=l&960;if(((d<<10)+65536|l<<10&64512|h&1023)>>>0>g>>>0){a=2;break a}k[c>>2]=a;a=(d>>>6)+1|0;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=a>>>2|240;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=l>>>2&15|a<<4&48|128;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=l<<4&48|h>>>6&15|128;l=k[f>>2]|0;k[f>>2]=l+1;i[l>>0]=h&63|128}while(0);a=(k[c>>2]|0)+2|0;k[c>>2]=a}}while(0);return a|0}function dl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;d=0;m=r;r=r+32|0;h=m+12|0;l=m;g=Ot(b,64,600,0)|0;if(!g){a=0;r=m;return a|0}x=0;sa(430,h|0,a+60|0);f=x;x=0;do if(f&1)d=12;else{x=0;sa(430,l|0,g+60|0);f=x;x=0;if(f&1){c=hb(4480,0)|0;b=M;P1(h);break}f=j[h>>1]|0;d=(f&1)==0;c=(f&254)>>>1;e=d?c:k[h+4>>2]|0;n=i[l>>0]|0;b=(n&1)==0;f=(f&65535)>>>8&255;if((e|0)!=((b?(n&255)>>>1:k[l+4>>2]|0)|0)){P1(l);P1(h);n=0;r=m;return n|0}b=b?l+1|0:k[l+8>>2]|0;a:do if(d){if(!e){P1(l);P1(h);break}b:do if(f<<24>>24==(i[b>>0]|0)){d=h+1|0;while(1){c=c+-1|0;d=d+1|0;if(!c)break;b=b+1|0;if((i[d>>0]|0)!=(i[b>>0]|0))break b}P1(l);P1(h);break a}while(0);P1(l);P1(h);n=0;r=m;return n|0}else{n=(tG(k[h+8>>2]|0,b,e)|0)==0;P1(l);P1(h);if(!n){n=0;r=m;return n|0}}while(0);b=k[a+56>>2]|0;x=0;b=Ka(k[(k[b>>2]|0)+76>>2]|0,b|0,k[g+56>>2]|0)|0;n=x;x=0;if(n&1)d=12;else{n=b;r=m;return n|0}}while(0);if((d|0)==12){c=hb(4480,0)|0;b=M}n=(b|0)==(tb(4480)|0);Bb(c|0)|0;if(n){xb();n=0;r=m;return n|0}x=0;pa(4);x=0;b=mb()|0;x=0;pa(3);n=x;x=0;if(n&1){n=Eb(0)|0;Nba(n)}else yb(b|0);return 0}function el(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;m=r;r=r+16|0;l=m;d=a+24|0;Yi(a,a+12|0,d,c)|0;c=a+36|0;if((c|0)==(b|0)){r=m;return}g=l+4|0;h=l+8|0;j=l+1|0;a:while(1){n=i[c>>0]|0;o=(n&1)==0;n=o?(n&255)>>>1:k[c+4>>2]|0;e=i[d>>0]|0;f=(e&1)==0;e=f?(e&255)>>>1:k[d+4>>2]|0;f=tG(o?c+1|0:k[c+8>>2]|0,f?d+1|0:k[d+8>>2]|0,e>>>0>>0?e:n)|0;if((((f|0)==0?(n>>>0>>0?-2147483648:0):f)|0)<0){k[l>>2]=k[c>>2];k[l+4>>2]=k[c+4>>2];k[l+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;e=c;f=d;while(1){i[e+1>>0]=0;i[e>>0]=0;x=0;sa(443,e|0,0);o=x;x=0;if(o&1){c=7;break a}k[e>>2]=k[f>>2];k[e+4>>2]=k[f+4>>2];k[e+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;if((f|0)==(a|0)){e=f;d=a;break}d=f+-12|0;e=i[l>>0]|0;p=(e&1)==0;e=p?(e&255)>>>1:k[g>>2]|0;n=i[d>>0]|0;o=(n&1)==0;n=o?(n&255)>>>1:k[f+-8>>2]|0;o=tG(p?j:k[h>>2]|0,o?d+1|0:k[f+-4>>2]|0,n>>>0>>0?n:e)|0;if((((o|0)==0?(e>>>0>>0?-2147483648:0):o)|0)<0){e=f;f=d}else{e=f;d=f;break}}i[d+1>>0]=0;i[e>>0]=0;x=0;sa(443,d|0,0);p=x;x=0;if(p&1){c=11;break}k[e>>2]=k[l>>2];k[e+4>>2]=k[l+4>>2];k[e+8>>2]=k[l+8>>2];k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;P1(l)}d=c+12|0;if((d|0)==(b|0)){c=3;break}else{p=c;c=d;d=p}}if((c|0)==3){r=m;return}else if((c|0)==7){p=Eb(0)|0;Nba(p)}else if((c|0)==11){p=Eb(0)|0;Nba(p)}}function fl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=0;f=r;r=r+16|0;c=f;d=sI(1,116)|0;if(!d){b=vm(73208,42989,40)|0;a=TN(b+(k[(k[b>>2]|0)+-12>>2]|0)|0)|0;k[c>>2]=a;x=0;a=Ka(865,c|0,74172)|0;e=x;x=0;if(e&1){f=mb()|0;J5(c);yb(f|0)}x=0;a=Ka(k[(k[a>>2]|0)+28>>2]|0,a|0,10)|0;e=x;x=0;if(e&1){f=mb()|0;J5(c);yb(f|0)}J5(c);zp(b,a)|0;ct(b)|0;e=0;r=f;return e|0}k[d+68>>2]=1;k[d+4>>2]=5;k[d+8>>2]=42986;k[d+12>>2]=43502;do if(!a){a=vb(8)|0;x=0;sa(444,a|0,43030);c=x;x=0;if(c&1){c=Eb(0)|0;lb(a|0);a=c;break}else{x=0;Qa(77,a|0,4416,310);x=0;b=10;break}}else if(!(i[a>>0]|0)){a=vb(8)|0;x=0;sa(444,a|0,43073);c=x;x=0;if(c&1){c=Eb(0)|0;lb(a|0);a=c;break}else{x=0;Qa(77,a|0,4416,310);x=0;b=10;break}}else{x=0;a=ua(192,a|0)|0;c=x;x=0;if(c&1){b=10;break}k[d+24>>2]=a;e=d;r=f;return e|0}while(0);if((b|0)==10)a=Eb(0)|0;Bb(a|0)|0;x=0;ua(257,d|0)|0;c=x;x=0;do if(c&1){c=Eb(0)|0;Bb(c|0)|0;x=0;ua(257,d|0)|0;c=x;x=0;if(c&1){a=mb()|0;x=0;pa(3);c=x;x=0;if(c&1){c=Eb(0)|0;Nba(c)}else e=a}else{x=0;pa(3);e=x;x=0;if(!(e&1))break;e=mb()|0}x=0;pa(3);c=x;x=0;if(c&1){e=Eb(0)|0;Nba(e)}else yb(e|0)}while(0);xb();e=d;r=f;return e|0}function gl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+80|0;j=o+60|0;l=o+48|0;d=o+8|0;m=o;n=a+76|0;e=k[n>>2]|0;if(!(i[e>>0]|0)){n=0;r=o;return n|0}if(b){h=bO(e)|0;h=h|0?h:e}else h=e;e=SH(h)|0;a:do if(!e){g=i[h>>0]|0;if(g<<24>>24==42)f=h+1|0;else{e=i[44182]|0;if(!(e<<24>>24))f=h;else{if(g<<24>>24==e<<24>>24){f=h;b=44182;do{f=f+1|0;b=b+1|0;e=i[b>>0]|0;if(!(e<<24>>24))break a}while((i[f>>0]|0)==e<<24>>24)}e=i[44195]|0;if(!(e<<24>>24))f=h;else{if(g<<24>>24==e<<24>>24){f=h;b=44195;do{f=f+1|0;b=b+1|0;e=i[b>>0]|0;if(!(e<<24>>24))break a}while((i[f>>0]|0)==e<<24>>24)}b=i[44188]|0;b:do if(!(b<<24>>24)){e=h;b=0}else if(g<<24>>24==b<<24>>24){e=h;f=44188;do{e=e+1|0;f=f+1|0;b=i[f>>0]|0;if(!(b<<24>>24)){b=0;break b}}while((i[e>>0]|0)==b<<24>>24)}else e=h;while(0);f=b<<24>>24==0?e:0}}}}else f=e;while(0);if(f>>>0>(k[a+80>>2]|0)>>>0){n=0;r=o;return n|0}if(!c)if((f|0)==0|(f|0)==(h|0)){n=0;r=o;return n|0}c=k[n>>2]|0;k[a+152>>2]=c;k[a+156>>2]=h;k[a+160>>2]=f;b=a+84|0;g=a+96|0;wC(l,g,c,h);k[b>>2]=k[l>>2];k[b+4>>2]=k[l+4>>2];k[b+8>>2]=k[l+8>>2];wC(j,g,h,f);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(m,g,b);k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];EC(d,c,e,a+152|0,b,j);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[n>>2]=f;n=f;r=o;return n|0}function hl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=(b|0)==(a|0);i[b+12>>0]=h&1;if(h)return;while(1){f=k[b+8>>2]|0;e=f+12|0;if(i[e>>0]|0){b=37;break}h=f+8|0;d=b;b=k[h>>2]|0;c=k[b>>2]|0;if((c|0)==(f|0)){c=k[b+4>>2]|0;if(!c){c=d;g=h;e=h;d=b;a=b;b=8;break}c=c+12|0;if(i[c>>0]|0){c=d;g=h;e=h;d=b;a=b;b=8;break}i[e>>0]=1;i[b+12>>0]=(b|0)==(a|0)&1;i[c>>0]=1}else{if(!c){c=d;g=h;a=h;d=b;e=b;b=24;break}c=c+12|0;if(i[c>>0]|0){c=d;g=h;a=h;d=b;e=b;b=24;break}i[e>>0]=1;i[b+12>>0]=(b|0)==(a|0)&1;i[c>>0]=1}if((b|0)==(a|0)){b=37;break}}if((b|0)==8){if((k[f>>2]|0)==(c|0))b=f;else{h=f+4|0;b=k[h>>2]|0;c=k[b>>2]|0;k[h>>2]=c;if(!c)c=d;else{k[c+8>>2]=f;c=k[g>>2]|0}d=b+8|0;k[d>>2]=c;c=k[e>>2]|0;if((k[c>>2]|0)==(f|0))k[c>>2]=b;else k[c+4>>2]=b;k[b>>2]=f;k[g>>2]=b;a=k[d>>2]|0}i[b+12>>0]=1;i[a+12>>0]=0;d=k[a>>2]|0;e=d+4|0;b=k[e>>2]|0;k[a>>2]=b;if(b|0)k[b+8>>2]=a;b=a+8|0;k[d+8>>2]=k[b>>2];c=k[b>>2]|0;if((k[c>>2]|0)==(a|0))k[c>>2]=d;else k[c+4>>2]=d;k[e>>2]=a;k[b>>2]=d;return}else if((b|0)==24){if((k[f>>2]|0)==(c|0)){b=k[f>>2]|0;e=b+4|0;c=k[e>>2]|0;k[f>>2]=c;if(!c)c=d;else{k[c+8>>2]=f;c=k[g>>2]|0}d=b+8|0;k[d>>2]=c;c=k[a>>2]|0;if((k[c>>2]|0)==(f|0))k[c>>2]=b;else k[c+4>>2]=b;k[e>>2]=f;k[g>>2]=b;e=k[d>>2]|0}else b=f;i[b+12>>0]=1;i[e+12>>0]=0;h=e+4|0;d=k[h>>2]|0;b=k[d>>2]|0;k[h>>2]=b;if(b|0)k[b+8>>2]=e;b=e+8|0;k[d+8>>2]=k[b>>2];c=k[b>>2]|0;if((k[c>>2]|0)==(e|0))k[c>>2]=d;else k[c+4>>2]=d;k[d>>2]=e;k[b>>2]=d;return}else if((b|0)==37)return}function il(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;var j=0,m=0,n=0,o=0,p=0,q=0;q=0;k[c>>2]=a;k[f>>2]=d;if(!(h&4))h=b;else{a=k[c>>2]|0;h=b;if((h-a|0)>2)if((i[a>>0]|0)==-17)if((i[a+1>>0]|0)==-69)if((i[a+2>>0]|0)==-65)k[c>>2]=a+3}a:while(1){o=k[c>>2]|0;a=o>>>0>>0;if(!a){q=40;break}p=k[f>>2]|0;if(p>>>0>=e>>>0){q=40;break}a=i[o>>0]|0;n=a&255;do if(a<<24>>24>-1){if(n>>>0>g>>>0){a=2;break a}k[p>>2]=n;k[c>>2]=o+1}else{if((a&255)<194){a=2;break a}if((a&255)<224){if((h-o|0)<2){a=1;break a}a=l[o+1>>0]|0;if((a&192|0)!=128){a=2;break a}a=a&63|n<<6&1984;if(a>>>0>g>>>0){a=2;break a}k[p>>2]=a;k[c>>2]=o+2;break}if((a&255)<240){if((h-o|0)<3){a=1;break a}d=i[o+1>>0]|0;a=i[o+2>>0]|0;switch(n|0){case 224:{if((d&-32)<<24>>24!=-96){a=2;break a}break}case 237:{if((d&-32)<<24>>24!=-128){a=2;break a}break}default:if((d&-64)<<24>>24!=-128){a=2;break a}}a=a&255;if((a&192|0)!=128){a=2;break a}a=(d&255)<<6&4032|n<<12&61440|a&63;if(a>>>0>g>>>0){a=2;break a}k[p>>2]=a;k[c>>2]=o+3;break}if((a&255)>=245){a=2;break a}if((h-o|0)<4){a=1;break a}m=i[o+1>>0]|0;a=i[o+2>>0]|0;d=i[o+3>>0]|0;switch(n|0){case 240:{if((m+112&255)>=48){a=2;break a}break}case 244:{if((m&-16)<<24>>24!=-128){a=2;break a}break}default:if((m&-64)<<24>>24!=-128){a=2;break a}}j=a&255;if((j&192|0)!=128){a=2;break a}a=d&255;if((a&192|0)!=128){a=2;break a}a=(m&255)<<12&258048|n<<18&1835008|j<<6&4032|a&63;if(a>>>0>g>>>0){a=2;break a}k[p>>2]=a;k[c>>2]=o+4}while(0);k[f>>2]=(k[f>>2]|0)+4}if((q|0)==40)a=a&1;return a|0}function jl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+96|0;h=n+48|0;c=n+36|0;j=n+24|0;l=n+12|0;m=n;if(k[b+60>>2]|0){do if(i[a+69>>0]|0){lE(c,33596,71);x=0;e=h;f=b+8|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));sa(438,c|0,h|0);b=x;x=0;if(!(b&1)){P1(c);break}n=mb()|0;P1(c);yb(n|0)}while(0);i[a+68>>0]=1;r=n;return}d=a+69|0;c=(i[d>>0]|0)!=0;if(i[b+64>>0]|0){do if(c){lE(j,33668,72);x=0;e=h;f=b+8|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));sa(438,j|0,h|0);a=x;x=0;if(!(a&1)){P1(j);break}n=mb()|0;P1(j);yb(n|0)}while(0);i[d>>0]=1;r=n;return}do if(c){lE(l,33741,59);x=0;e=h;f=b+8|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));sa(438,l|0,h|0);j=x;x=0;if(!(j&1)){P1(l);break}n=mb()|0;P1(l);yb(n|0)}while(0);if(!(i[a+68>>0]|0)){r=n;return}lE(m,33801,52);x=0;e=h;f=b+8|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));sa(438,m|0,h|0);a=x;x=0;if(a&1){n=mb()|0;P1(m);yb(n|0)}else{P1(m);r=n;return}}function kl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;s=t;m=(k[a+4>>2]|0)+36|0;n=lD(m,84)|0;q=b+68|0;d=k[q>>2]|0;h=(k[d+64>>2]|0)-(k[d+60>>2]|0)|0;j=h>>2;b=s;d=d+8|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[n+4>>2]=0;b=n+8|0;d=s;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));i[n+48>>0]=0;i[n+49>>0]=0;i[n+50>>0]=0;d=n+52|0;k[d>>2]=0;k[n>>2]=10312;e=n+56|0;k[e>>2]=5132;g=n+60|0;k[g>>2]=0;l=n+64|0;k[l>>2]=0;k[n+68>>2]=0;f=g+8|0;do if(j|0){x=0;b=ua(186,h|0)|0;p=x;x=0;if(!(p&1)){p=b;k[g>>2]=p;k[g+4>>2]=p;k[f>>2]=b+(j<<2);break}e=mb()|0;b=k[g>>2]|0;if(!b)yb(e|0);d=k[l>>2]|0;if((d|0)!=(b|0))k[l>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);yb(e|0)}while(0);k[n>>2]=4992;k[e>>2]=5104;k[n+76>>2]=0;i[n+80>>0]=0;i[n+81>>0]=0;k[d>>2]=5;o=N4(m,n)|0;p=k[q>>2]|0;p=(k[p+64>>2]|0)-(k[p+60>>2]|0)>>2;if(!p){r=t;return o|0}f=c+68|0;g=o+56|0;h=o+72|0;j=o+64|0;l=o+68|0;m=o+60|0;c=0;do{b=k[f>>2]|0;n=(k[b+64>>2]|0)-(k[b+60>>2]|0)>>2;a:do if(n|0){d=0;while(1){b=Td(a,k[(k[(k[q>>2]|0)+60>>2]|0)+(c<<2)>>2]|0,k[(k[b+60>>2]|0)+(d<<2)>>2]|0)|0;if(b|0){k[s>>2]=b;k[h>>2]=0;e=k[j>>2]|0;if((e|0)==(k[l>>2]|0))uw(m,s);else{k[e>>2]=b;k[j>>2]=(k[j>>2]|0)+4}rc[k[k[g>>2]>>2]&1023](g,b)}d=d+1|0;if((d|0)==(n|0))break a;b=k[f>>2]|0}}while(0);c=c+1|0}while((c|0)!=(p|0));r=t;return o|0}function ll(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;m=r;r=r+16|0;l=m;g=Yi(a,b,c,e)|0;o=i[d>>0]|0;p=(o&1)==0;o=p?(o&255)>>>1:k[d+4>>2]|0;n=i[c>>0]|0;f=(n&1)==0;e=c+4|0;n=f?(n&255)>>>1:k[e>>2]|0;h=c+8|0;j=c+1|0;f=tG(p?d+1|0:k[d+8>>2]|0,f?j:k[h>>2]|0,n>>>0>>0?n:o)|0;if((((f|0)==0?(o>>>0>>0?-2147483648:0):f)|0)>=0){p=g;r=m;return p|0}k[l>>2]=k[c>>2];k[l+4>>2]=k[c+4>>2];k[l+8>>2]=k[c+8>>2];k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[d>>2]=k[l>>2];k[d+4>>2]=k[l+4>>2];k[d+8>>2]=k[l+8>>2];n=i[c>>0]|0;q=(n&1)==0;n=q?(n&255)>>>1:k[e>>2]|0;o=i[b>>0]|0;p=(o&1)==0;e=b+4|0;o=p?(o&255)>>>1:k[e>>2]|0;d=b+8|0;f=b+1|0;p=tG(q?j:k[h>>2]|0,p?f:k[d>>2]|0,o>>>0>>0?o:n)|0;if((((p|0)==0?(n>>>0>>0?-2147483648:0):p)|0)>=0){q=g+1|0;r=m;return q|0}k[l>>2]=k[b>>2];k[l+4>>2]=k[b+4>>2];k[l+8>>2]=k[b+8>>2];k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[c>>2]=k[l>>2];k[c+4>>2]=k[l+4>>2];k[c+8>>2]=k[l+8>>2];o=i[b>>0]|0;n=(o&1)==0;o=n?(o&255)>>>1:k[e>>2]|0;p=i[a>>0]|0;q=(p&1)==0;p=q?(p&255)>>>1:k[a+4>>2]|0;q=tG(n?f:k[d>>2]|0,q?a+1|0:k[a+8>>2]|0,p>>>0>>0?p:o)|0;if((((q|0)==0?(o>>>0

>>0?-2147483648:0):q)|0)>=0){q=g+2|0;r=m;return q|0}k[l>>2]=k[a>>2];k[l+4>>2]=k[a+4>>2];k[l+8>>2]=k[a+8>>2];k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[b>>2]=k[l>>2];k[b+4>>2]=k[l+4>>2];k[b+8>>2]=k[l+8>>2];q=g+3|0;r=m;return q|0}function ml(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;n=0;p=r;r=r+32|0;m=p+12|0;o=p;if(!b){r=p;return}else c=b;a:while(1){switch(i[c>>0]|0){case 0:break a;case 58:{n=4;break a}default:{}}c=c+1|0}b:do if((n|0)==4)if(c){e=m+4|0;f=m+8|0;g=m+1|0;h=a+328|0;j=a+332|0;l=a+324|0;c:while(1){lE(m,b,c-b|0);d=i[m>>0]|0;b=(d&1)==0;d=b?(d&255)>>>1:k[e>>2]|0;do if(d|0){if((i[(b?g:k[f>>2]|0)+d+-1>>0]|0)!=47){x=0;sa(440,m|0,47);d=x;x=0;if(d&1)break c}b=k[h>>2]|0;if((b|0)==(k[j>>2]|0)){x=0;sa(439,l|0,m|0);d=x;x=0;if(d&1)break c;else break}x=0;sa(430,b|0,m|0);d=x;x=0;if(d&1)break c;k[h>>2]=(k[h>>2]|0)+12}while(0);b=c+1|0;c=b;d:while(1){d=i[c>>0]|0;switch(d<<24>>24){case 0:case 58:break d;default:{}}c=c+1|0}P1(m);if(!(d<<24>>24))break b}p=mb()|0;P1(m);yb(p|0)}while(0);lE(o,b,OD(b)|0);c=i[o>>0]|0;b=(c&1)==0;c=b?(c&255)>>>1:k[o+4>>2]|0;e:do if(c|0){if((i[(b?o+1|0:k[o+8>>2]|0)+c+-1>>0]|0)==47)n=22;else{x=0;sa(440,o|0,47);m=x;x=0;if(!(m&1))n=22}do if((n|0)==22){b=a+328|0;c=k[b>>2]|0;if((c|0)==(k[a+332>>2]|0)){x=0;sa(439,a+324|0,o|0);a=x;x=0;if(a&1)break;else break e}x=0;sa(430,c|0,o|0);a=x;x=0;if(!(a&1)){k[b>>2]=(k[b>>2]|0)+12;break e}}while(0);p=mb()|0;P1(o);yb(p|0)}while(0);P1(o);r=p;return}function nl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=0;n=r;r=r+144|0;j=n+104|0;d=n+88|0;o=n+76|0;g=n+64|0;h=n;l=n+24|0;m=n+8|0;lE(d,37420,7);x=0;f=Ka(867,a|0,d|0)|0;a=x;x=0;if(a&1){p=mb()|0;P1(d);yb(p|0)}b=k[f>>2]|0;P1(d);if(b|0){f=Ot(b,8,448,0)|0;if(f|0){i[f+57>>0]=42;p=f;r=n;return p|0}}a=k[(k[b>>2]|0)+20>>2]|0;q=k[c+16>>2]|0;f=k[q+4>>2]|0;d=h;k[d>>2]=k[q>>2];k[d+4>>2]=f;k[j>>2]=k[h>>2];k[j+4>>2]=k[h+4>>2];Pc[a&255](g,b,j);x=0;Qa(113,o|0,g|0,34);a=x;x=0;if(a&1){q=mb()|0;P1(g);yb(q|0)}P1(g);d=c+36|0;x=0;g=Ka(856,d|0,76)|0;q=x;x=0;if(q&1)p=13;else{h=l;f=e;b=h+40|0;do{k[h>>2]=k[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(b|0));x=0;sa(430,m|0,o|0);q=x;x=0;if(q&1)p=13;else{x=0;h=j;f=l;b=h+40|0;do{k[h>>2]=k[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(b|0));qa(5,g|0,j|0,m|0,0,0);q=x;x=0;if(!(q&1)){x=0;f=Ka(857,d|0,g|0)|0;q=x;x=0;if(!(q&1)){P1(m);i[f+48>>0]=1;i[f+57>>0]=42;P1(o);q=f;r=n;return q|0}}f=mb()|0;P1(m)}}if((p|0)==13)f=mb()|0;P1(o);q=f;yb(q|0);return 0}function ol(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;n=0;p=r;r=r+32|0;m=p+12|0;o=p;if(!b){r=p;return}else c=b;a:while(1){switch(i[c>>0]|0){case 0:break a;case 58:{n=4;break a}default:{}}c=c+1|0}b:do if((n|0)==4)if(c){e=m+4|0;f=m+8|0;g=m+1|0;h=a+316|0;j=a+320|0;l=a+312|0;c:while(1){lE(m,b,c-b|0);d=i[m>>0]|0;b=(d&1)==0;d=b?(d&255)>>>1:k[e>>2]|0;do if(d|0){if((i[(b?g:k[f>>2]|0)+d+-1>>0]|0)!=47){x=0;sa(440,m|0,47);d=x;x=0;if(d&1)break c}b=k[h>>2]|0;if((b|0)==(k[j>>2]|0)){x=0;sa(439,l|0,m|0);d=x;x=0;if(d&1)break c;else break}x=0;sa(430,b|0,m|0);d=x;x=0;if(d&1)break c;k[h>>2]=(k[h>>2]|0)+12}while(0);b=c+1|0;c=b;d:while(1){d=i[c>>0]|0;switch(d<<24>>24){case 0:case 58:break d;default:{}}c=c+1|0}P1(m);if(!(d<<24>>24))break b}p=mb()|0;P1(m);yb(p|0)}while(0);lE(o,b,OD(b)|0);c=i[o>>0]|0;b=(c&1)==0;c=b?(c&255)>>>1:k[o+4>>2]|0;e:do if(c|0){if((i[(b?o+1|0:k[o+8>>2]|0)+c+-1>>0]|0)==47)n=22;else{x=0;sa(440,o|0,47);m=x;x=0;if(!(m&1))n=22}do if((n|0)==22){b=a+316|0;c=k[b>>2]|0;if((c|0)==(k[a+320>>2]|0)){x=0;sa(439,a+312|0,o|0);a=x;x=0;if(a&1)break;else break e}x=0;sa(430,c|0,o|0);a=x;x=0;if(!(a&1)){k[b>>2]=(k[b>>2]|0)+12;break e}}while(0);p=mb()|0;P1(o);yb(p|0)}while(0);P1(o);r=p;return}function pl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;if(!a){m=0;return m|0}a=k[a+64>>2]|0;if(!a){m=0;return m|0}c=k[a+68>>2]|0;h=(k[a+72>>2]|0)-c>>2;if(!h){m=0;return m|0}e=a+68|0;c=k[c>>2]|0;d=(c|0)==0;if((b|0)!=3){if(d)w3();else{f=c;g=0}a:while(1){a=k[(k[(k[f>>2]|0)+-4>>2]|0)+4>>2]|0;if((a|0)==30973|(a|0)==33080|(a|0)==33117){j=1;a=32;break}do if((a|0)==(k[135]|0)){if(co(f,b)|0){j=1;a=32;break a}}else{if((a|0)==31028)if(lx(f,b)|0){j=1;a=32;break a}else break;if((a|0)==(k[147]|0))if(pl(f,b)|0){j=1;a=32;break a}else break;if(Ot(f,568,552,0)|0)if(Ll(k[f+64>>2]|0,b)|0){j=1;a=32;break a}}while(0);g=g+1|0;if(g>>>0>=h>>>0){j=0;a=32;break}f=k[(k[e>>2]|0)+(g<<2)>>2]|0;if(!f){a=20;break}}if((a|0)==20)w3();else if((a|0)==32)return j|0}if(d)w3();else{l=c;m=0}b:while(1){a=k[(k[(k[l>>2]|0)+-4>>2]|0)+4>>2]|0;if((a|0)==30973|(a|0)==33080){j=1;a=32;break}do if((a|0)==33117){if(i[l+68>>0]|0){j=1;a=32;break b}}else{if((a|0)==(k[135]|0))if(co(l,3)|0){j=1;a=32;break b}else break;if((a|0)==31028)if(lx(l,3)|0){j=1;a=32;break b}else break;if((a|0)==(k[147]|0))if(pl(l,3)|0){j=1;a=32;break b}else break;if(Ot(l,568,552,0)|0)if(Ll(k[l+64>>2]|0,3)|0){j=1;a=32;break b}}while(0);m=m+1|0;if(m>>>0>=h>>>0){j=0;a=32;break}l=k[(k[e>>2]|0)+(m<<2)>>2]|0;if(!l){a=20;break}}if((a|0)==20)w3();else if((a|0)==32)return j|0;return 0}function ql(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;g=o+24|0;b=o+12|0;h=o;lE(b,38223,4);x=0;l=g;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));j=ta(124,b|0,a|0,d|0,g|0,f|0,c|0)|0;n=x;x=0;if(n&1){o=mb()|0;P1(b);yb(o|0)}P1(b);lE(h,38228,4);x=0;l=g;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));b=wa(27,h|0,a|0,d|0,g|0,f|0)|0;n=x;x=0;if(n&1){o=mb()|0;P1(h);yb(o|0)}P1(h);x=0;b=Ka(861,j+56|0,b|0)|0;n=x;x=0;if(!(n&1)){e=b;r=o;return e|0}m=hb(4448,0)|0;n=M;n=(n|0)==(tb(4448)|0);Bb(m|0)|0;if(!n){x=0;pa(4);x=0;b=mb()|0;x=0;pa(3);n=x;x=0;if(n&1){n=Eb(0)|0;Nba(n)}else{o=b;yb(o|0)}}b=c+36|0;x=0;g=Ka(856,b|0,56)|0;c=x;x=0;if(!(c&1)){k[g+4>>2]=0;l=g+8|0;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;k[g>>2]=6380;k[g+52>>2]=8;x=0;b=Ka(857,b|0,g|0)|0;e=x;x=0;if(!(e&1)){xb();e=b;r=o;return e|0}}b=mb()|0;x=0;pa(3);o=x;x=0;if(o&1){o=Eb(0)|0;Nba(o)}else{o=b;yb(o|0)}return 0}function rl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=r;r=r+16|0;l=i;Xd(l,b,c);k[a>>2]=0;h=a+4|0;k[h>>2]=0;k[a+8>>2]=0;j=l+4|0;e=k[j>>2]|0;g=k[l>>2]|0;f=(e-g|0)/20|0;c=g;a:do if((e|0)!=(g|0)){g=a+8|0;d=0;e=0;b=0;while(1){c=c+(b*20|0)|0;if((d|0)==(e|0)){x=0;sa(510,a|0,c|0);e=x;x=0;if(e&1)break}else{m=c;c=k[m+4>>2]|0;e=d;k[e>>2]=k[m>>2];k[e+4>>2]=c;k[h>>2]=(k[h>>2]|0)+8}b=b+1|0;c=k[l>>2]|0;if(b>>>0>=f>>>0)break a;d=k[h>>2]|0;e=k[g>>2]|0}g=mb()|0;c=k[a>>2]|0;b=c;if(c|0){d=k[h>>2]|0;if((d|0)!=(c|0))k[h>>2]=d+(~((d+-8-b|0)>>>3)<<3);uha(c)}c=k[l>>2]|0;if(!c)yb(g|0);b=k[j>>2]|0;if((b|0)!=(c|0)){do{d=b+-20|0;k[j>>2]=d;e=b+-12|0;f=k[e>>2]|0;if(!f)b=d;else{d=b+-8|0;b=k[d>>2]|0;if((b|0)==(f|0))b=f;else{do{m=b+-12|0;k[d>>2]=m;P1(m);b=k[d>>2]|0}while((b|0)!=(f|0));b=k[e>>2]|0}uha(b);b=k[j>>2]|0}}while((b|0)!=(c|0));c=k[l>>2]|0}uha(c);yb(g|0)}while(0);if(!c){r=i;return}b=k[j>>2]|0;if((b|0)!=(c|0)){do{d=b+-20|0;k[j>>2]=d;e=b+-12|0;f=k[e>>2]|0;if(!f)b=d;else{d=b+-8|0;b=k[d>>2]|0;if((b|0)==(f|0))b=f;else{do{m=b+-12|0;k[d>>2]=m;P1(m);b=k[d>>2]|0}while((b|0)!=(f|0));b=k[e>>2]|0}uha(b);b=k[j>>2]|0}}while((b|0)!=(c|0));c=k[l>>2]|0}uha(c);r=i;return}function sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+48|0;i=j+8|0;e=j;g=k[b+68>>2]|0;f=k[b+64>>2]|0;h=a+4|0;nB(i,IN(k[h>>2]|0)|0,1);c=k[h>>2]|0;k[e>>2]=i;d=c+28|0;b=k[d>>2]|0;if(b>>>0<(k[c+32>>2]|0)>>>0){k[b>>2]=i;k[d>>2]=(k[d>>2]|0)+4}else{x=0;sa(488,c+24|0,e|0);e=x;x=0;if(e&1){j=mb()|0;h=i+20|0;iB(h);h=i+4|0;h=k[h>>2]|0;az(i,h);yb(j|0)}}while(1){x=0;b=Ka(k[(k[g>>2]|0)+40>>2]|0,g|0,a|0)|0;e=x;x=0;if(e&1){c=10;break}x=0;b=ua(k[(k[b>>2]|0)+60>>2]|0,b|0)|0;e=x;x=0;if(e&1){c=10;break}if(!b){c=14;break}x=0;b=Ka(k[(k[f>>2]|0)+40>>2]|0,f|0,a|0)|0;e=x;x=0;if(e&1){c=10;break}if(b|0){c=13;break}}if((c|0)==10){j=mb()|0;h=i+20|0;iB(h);h=i+4|0;h=k[h>>2]|0;az(i,h);yb(j|0)}else if((c|0)==13){h=(k[h>>2]|0)+28|0;k[h>>2]=(k[h>>2]|0)+-4;h=b;a=i+20|0;iB(a);a=i+4|0;a=k[a>>2]|0;az(i,a);r=j;return h|0}else if((c|0)==14){h=(k[h>>2]|0)+28|0;k[h>>2]=(k[h>>2]|0)+-4;h=0;a=i+20|0;iB(a);a=i+4|0;a=k[a>>2]|0;az(i,a);r=j;return h|0}return 0}function tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;e=m+60|0;f=m+48|0;g=m+36|0;h=m+24|0;j=m+12|0;l=m;c=Ot(b,96,752,0)|0;if(c|0){a=ng(a,c)|0;r=m;return a|0}d=a+68|0;_G(e,d);c=b+68|0;x=0;sa(430,f|0,c|0);n=x;x=0;if(n&1){n=mb()|0;P1(e);yb(n|0)}n=Ir(e,f)|0;P1(f);P1(e);if(n){_G(g,a+80|0);x=0;sa(430,h|0,b+80|0);n=x;x=0;if(n&1){n=mb()|0;P1(g);yb(n|0)}else{b=i[g>>0]|0;l=(b&1)==0;b=l?(b&255)>>>1:k[g+4>>2]|0;a=i[h>>0]|0;n=(a&1)==0;a=n?(a&255)>>>1:k[h+4>>2]|0;n=tG(l?g+1|0:k[g+8>>2]|0,n?h+1|0:k[h+8>>2]|0,a>>>0>>0?a:b)|0;P1(h);P1(g);n=(((n|0)==0?(b>>>0>>0?-2147483648:0):n)|0)<0;r=m;return n|0}}else{_G(j,d);x=0;sa(430,l|0,c|0);n=x;x=0;if(n&1){n=mb()|0;P1(j);yb(n|0)}else{b=i[j>>0]|0;h=(b&1)==0;b=h?(b&255)>>>1:k[j+4>>2]|0;a=i[l>>0]|0;n=(a&1)==0;a=n?(a&255)>>>1:k[l+4>>2]|0;n=tG(h?j+1|0:k[j+8>>2]|0,n?l+1|0:k[l+8>>2]|0,a>>>0>>0?a:b)|0;P1(l);P1(j);n=(((n|0)==0?(b>>>0>>0?-2147483648:0):n)|0)<0;r=m;return n|0}}return 0}function ul(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;e=m+60|0;f=m+48|0;g=m+36|0;h=m+24|0;j=m+12|0;l=m;c=Ot(b,96,144,0)|0;if(c|0){a=pg(a,c)|0;r=m;return a|0}d=a+68|0;_G(e,d);c=b+68|0;x=0;sa(430,f|0,c|0);n=x;x=0;if(n&1){n=mb()|0;P1(e);yb(n|0)}n=Ir(e,f)|0;P1(f);P1(e);if(n){_G(g,a+80|0);x=0;sa(430,h|0,b+80|0);n=x;x=0;if(n&1){n=mb()|0;P1(g);yb(n|0)}else{b=i[g>>0]|0;l=(b&1)==0;b=l?(b&255)>>>1:k[g+4>>2]|0;a=i[h>>0]|0;n=(a&1)==0;a=n?(a&255)>>>1:k[h+4>>2]|0;n=tG(l?g+1|0:k[g+8>>2]|0,n?h+1|0:k[h+8>>2]|0,a>>>0>>0?a:b)|0;P1(h);P1(g);n=(((n|0)==0?(b>>>0>>0?-2147483648:0):n)|0)<0;r=m;return n|0}}else{_G(j,d);x=0;sa(430,l|0,c|0);n=x;x=0;if(n&1){n=mb()|0;P1(j);yb(n|0)}else{b=i[j>>0]|0;h=(b&1)==0;b=h?(b&255)>>>1:k[j+4>>2]|0;a=i[l>>0]|0;n=(a&1)==0;a=n?(a&255)>>>1:k[l+4>>2]|0;n=tG(h?j+1|0:k[j+8>>2]|0,n?l+1|0:k[l+8>>2]|0,a>>>0>>0?a:b)|0;P1(l);P1(j);n=(((n|0)==0?(b>>>0>>0?-2147483648:0):n)|0)<0;r=m;return n|0}}return 0}function vl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+48|0;f=m+36|0;g=m+24|0;h=m+12|0;l=m;c=Ot(b,64,448,0)|0;if(c|0){_G(f,a+60|0);x=0;sa(430,g|0,c+60|0);l=x;x=0;if(l&1){m=mb()|0;P1(f);yb(m|0)}e=j[f>>1]|0;a=(e&1)==0;b=(e&254)>>>1;d=a?b:k[f+4>>2]|0;l=i[g>>0]|0;c=(l&1)==0;e=(e&65535)>>>8&255;a:do if((d|0)==((c?(l&255)>>>1:k[g+4>>2]|0)|0)){c=c?g+1|0:k[g+8>>2]|0;if(!a){c=(tG(k[f+8>>2]|0,c,d)|0)==0;break}if(!d)c=1;else if(e<<24>>24==(i[c>>0]|0)){a=f+1|0;while(1){b=b+-1|0;a=a+1|0;if(!b){c=1;break a}c=c+1|0;if((i[a>>0]|0)!=(i[c>>0]|0)){c=0;break}}}else c=0}else c=0;while(0);P1(g);P1(f);h=c;l=1;l=h&l;r=m;return l|0}c=Ot(b,64,432,0)|0;if(!c){h=0;l=0;l=h&l;r=m;return l|0}_G(h,a+60|0);x=0;sa(430,l|0,c+60|0);g=x;x=0;if(g&1){m=mb()|0;P1(h);yb(m|0)}e=j[h>>1]|0;a=(e&1)==0;b=(e&254)>>>1;d=a?b:k[h+4>>2]|0;g=i[l>>0]|0;c=(g&1)==0;e=(e&65535)>>>8&255;b:do if((d|0)==((c?(g&255)>>>1:k[l+4>>2]|0)|0)){c=c?l+1|0:k[l+8>>2]|0;if(!a){c=(tG(k[h+8>>2]|0,c,d)|0)==0;break}if(!d)c=1;else if(e<<24>>24==(i[c>>0]|0)){a=h+1|0;while(1){b=b+-1|0;a=a+1|0;if(!b){c=1;break b}c=c+1|0;if((i[a>>0]|0)!=(i[c>>0]|0)){c=0;break}}}else c=0}else c=0;while(0);P1(l);P1(h);h=c;l=1;l=h&l;r=m;return l|0}function wl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;h=0;l=r;r=r+48|0;c=l;m=l+24|0;j=l+12|0;g=a+72|0;f=(k[a+76>>2]|0)-(k[g>>2]|0)>>2;i=b+72|0;e=(k[b+76>>2]|0)-(k[i>>2]|0)>>2;Gv(m,g);x=0;sa(445,j|0,i|0);i=x;x=0;if(i&1){d=mb()|0;a=m}else{i=m+4|0;x=0;Qa(79,k[m>>2]|0,k[i>>2]|0,l+8|0);g=x;x=0;a:do if(g&1)h=8;else{g=j+4|0;x=0;Qa(79,k[j>>2]|0,k[g>>2]|0,c|0);d=x;x=0;if(d&1)h=8;else{b:do if(!f)h=5;else{d=0;b=0;c:while(1){if((b|0)==(e|0)){h=14;break}a=k[(k[m>>2]|0)+(d<<2)>>2]|0;c=k[(k[j>>2]|0)+(b<<2)>>2]|0;do if(!a)a=d+1|0;else{if(!c){a=d;b=b+1|0;break}x=0;a=Ka(855,a|0,c|0)|0;c=x;x=0;if(c&1){h=7;break c}if(a)a=d;else{d=0;break b}}while(0);d=a+1|0;if((d|0)==(f|0)){h=5;break b}else b=b+1|0}if((h|0)==7){d=mb()|0;a=j;break a}else if((h|0)==14){d=(f|0)==(e|0);break}}while(0);if((h|0)==5)d=(f|0)==(e|0);a=k[j>>2]|0;b=a;if(a|0){c=k[g>>2]|0;if((c|0)!=(a|0))k[g>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(a)}a=k[m>>2]|0;if(!a){r=l;return d|0}b=k[i>>2]|0;if((b|0)!=(a|0))k[i>>2]=b+(~((b+-4-a|0)>>>2)<<2);uha(a);r=l;return d|0}}while(0);if((h|0)==8){d=mb()|0;a=j}c=k[a>>2]|0;e=c;if(!c)a=m;else{a=j+4|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-e|0)>>>2)<<2);uha(c);a=m}}c=k[a>>2]|0;if(!c)yb(d|0);a=m+4|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);yb(d|0);return 0}function xl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;v=r;r=r+32|0;t=v;LC(a);d=k[b+4>>2]|0;e=k[b+16>>2]|0;f=d+(e>>>10<<2)|0;if((k[b+8>>2]|0)==(d|0)){s=0;d=0}else{s=e+(k[b+20>>2]|0)|0;s=(k[d+(s>>>10<<2)>>2]|0)+((s&1023)<<2)|0;d=(k[f>>2]|0)+((e&1023)<<2)|0}q=a+16|0;w=a+20|0;p=t+16|0;u=t+20|0;a:while(1){do{o=d;if((o|0)==(s|0)){f=6;break a}e=k[o>>2]|0;i=k[q>>2]|0;b=k[w>>2]|0;d=(b|0)==0;if(!d)c3(b);x=0;Qa(80,t|0,e|0,c|0);n=x;x=0;if(n&1){f=19;break a}l=i+8|0;g=k[l>>2]|0;m=i+4|0;a=k[m>>2]|0;y=g-a>>2;j=i+16|0;h=k[j>>2]|0;n=i+20|0;e=k[n>>2]|0;if((((y|0)==0?0:(y*170|0)+-1|0)|0)==(e+h|0)){x=0;ra(336,i|0);y=x;x=0;if(y&1){a=d;f=20;break a}e=k[n>>2]|0;h=k[j>>2]|0;g=k[l>>2]|0;a=k[m>>2]|0}e=e+h|0;if((g|0)==(a|0))e=0;else e=(k[a+(((e>>>0)/170|0)<<2)>>2]|0)+(((e>>>0)%170|0)*24|0)|0;k[e>>2]=k[t>>2];k[e+4>>2]=k[t+4>>2];k[e+8>>2]=k[t+8>>2];k[e+12>>2]=k[t+12>>2];k[e+16>>2]=k[p>>2];k[e+20>>2]=k[u>>2];k[p>>2]=0;k[u>>2]=0;k[n>>2]=(k[n>>2]|0)+1;if(!d)CQ(b);d=o+4|0}while((d-(k[f>>2]|0)|0)!=4096);d=f+4|0;f=d;d=k[d>>2]|0}if((f|0)==6){r=v;return}else if((f|0)==19)e=mb()|0;else if((f|0)==20){e=mb()|0;d=k[u>>2]|0;if(!d)d=a;else{CQ(d);d=a}}if(!d)CQ(b);d=k[w>>2]|0;if(!d)yb(e|0);CQ(d);yb(e|0)}function yl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+48|0;f=m+36|0;g=m+24|0;h=m+12|0;l=m;c=Ot(b,64,448,0)|0;if(c|0){_G(f,a+60|0);x=0;sa(430,g|0,c+60|0);l=x;x=0;if(l&1){m=mb()|0;P1(f);yb(m|0)}e=j[f>>1]|0;a=(e&1)==0;b=(e&254)>>>1;d=a?b:k[f+4>>2]|0;l=i[g>>0]|0;c=(l&1)==0;e=(e&65535)>>>8&255;a:do if((d|0)==((c?(l&255)>>>1:k[g+4>>2]|0)|0)){c=c?g+1|0:k[g+8>>2]|0;if(!a){c=(tG(k[f+8>>2]|0,c,d)|0)==0;break}if(!d)c=1;else if(e<<24>>24==(i[c>>0]|0)){a=f+1|0;while(1){b=b+-1|0;a=a+1|0;if(!b){c=1;break a}c=c+1|0;if((i[a>>0]|0)!=(i[c>>0]|0)){c=0;break}}}else c=0}else c=0;while(0);P1(g);P1(f);h=c;l=1;l=h&l;r=m;return l|0}c=Ot(b,64,432,0)|0;if(!c){h=0;l=0;l=h&l;r=m;return l|0}_G(h,a+60|0);x=0;sa(430,l|0,c+60|0);g=x;x=0;if(g&1){m=mb()|0;P1(h);yb(m|0)}e=j[h>>1]|0;a=(e&1)==0;b=(e&254)>>>1;d=a?b:k[h+4>>2]|0;g=i[l>>0]|0;c=(g&1)==0;e=(e&65535)>>>8&255;b:do if((d|0)==((c?(g&255)>>>1:k[l+4>>2]|0)|0)){c=c?l+1|0:k[l+8>>2]|0;if(!a){c=(tG(k[h+8>>2]|0,c,d)|0)==0;break}if(!d)c=1;else if(e<<24>>24==(i[c>>0]|0)){a=h+1|0;while(1){b=b+-1|0;a=a+1|0;if(!b){c=1;break b}c=c+1|0;if((i[a>>0]|0)!=(i[c>>0]|0)){c=0;break}}}else c=0}else c=0;while(0);P1(l);P1(h);h=c;l=1;l=h&l;r=m;return l|0}function zl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;e=(c-b|0)/12|0;l=a+8|0;f=k[l>>2]|0;d=k[a>>2]|0;j=d;if(e>>>0<=((f-d|0)/12|0)>>>0){h=a+4|0;d=((k[h>>2]|0)-d|0)/12|0;g=e>>>0>d>>>0;d=b+(d*12|0)|0;f=g?d:c;if((f|0)==(b|0))e=j;else{e=j;do{if((e|0)!=(b|0))to(e,k[b>>2]|0,k[b+4>>2]|0);b=b+12|0;e=e+12|0}while((b|0)!=(f|0))}if(g){if((f|0)==(c|0))return;b=k[h>>2]|0;do{ov(b,d);b=(k[h>>2]|0)+12|0;k[h>>2]=b;d=d+12|0}while((d|0)!=(c|0));return}d=k[h>>2]|0;if((d|0)==(e|0))return;do{b=d+-12|0;k[h>>2]=b;f=k[b>>2]|0;g=f;if(!f)d=b;else{d=d+-8|0;b=k[d>>2]|0;if((b|0)!=(f|0))k[d>>2]=b+(~((b+-4-g|0)>>>2)<<2);uha(f);d=k[h>>2]|0}}while((d|0)!=(e|0));return}if(!d)d=f;else{i=a+4|0;f=k[i>>2]|0;if((f|0)!=(j|0)){while(1){d=f+-12|0;k[i>>2]=d;g=k[d>>2]|0;h=g;if(g){d=f+-8|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-h|0)>>>2)<<2);uha(g);d=k[i>>2]|0}if((d|0)==(j|0))break;else f=d}d=k[a>>2]|0}uha(d);k[l>>2]=0;k[i>>2]=0;k[a>>2]=0;d=0}g=e>>>0>357913941;if(g){fH(a);d=k[l>>2]|0;f=k[a>>2]|0}else f=0;d=(d-f|0)/12|0;if(d>>>0<178956970){f=d<<1;d=f>>>0>=e>>>0;if(d|g^1)e=d?f:e;else fH(a)}else e=357913941;d=GG(e*12|0)|0;f=a+4|0;k[f>>2]=d;k[a>>2]=d;k[l>>2]=d+(e*12|0);if((b|0)==(c|0))return;do{ov(d,b);d=(k[f>>2]|0)+12|0;k[f>>2]=d;b=b+12|0}while((b|0)!=(c|0));return}function Al(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;l=r;r=r+16|0;h=l;j=a+64|0;if(!(k[j>>2]|0)){j=0;r=l;return j|0}g=a+68|0;b=k[g>>2]|0;if(!b){l=vb(4)|0;Nea(l);Wb(l|0,4480,315)}f=a+92|0;c=k[f>>2]|0;do if(!(c&16)){if(c&8|0){c=a+80|0;d=k[c+4>>2]|0;e=h;k[e>>2]=k[c>>2];k[e+4>>2]=d;do if(!(i[a+98>>0]|0)){c=tc[k[(k[b>>2]|0)+24>>2]&511](b)|0;d=a+36|0;e=k[d>>2]|0;b=(k[a+40>>2]|0)-e|0;if((c|0)>0){b=(ia((k[a+16>>2]|0)-(k[a+12>>2]|0)|0,c)|0)+b|0;c=0;break}c=k[a+12>>2]|0;if((c|0)==(k[a+16>>2]|0))c=0;else{m=k[g>>2]|0;g=a+32|0;c=vc[k[(k[m>>2]|0)+32>>2]&31](m,h,k[g>>2]|0,e,c-(k[a+8>>2]|0)|0)|0;b=b-c+(k[d>>2]|0)-(k[g>>2]|0)|0;c=1}}else{b=(k[a+16>>2]|0)-(k[a+12>>2]|0)|0;c=0}while(0);if(mK(k[j>>2]|0,0-b|0,1)|0){m=-1;r=l;return m|0}if(c){j=k[h+4>>2]|0;m=a+72|0;k[m>>2]=k[h>>2];k[m+4>>2]=j}m=k[a+32>>2]|0;k[a+40>>2]=m;k[a+36>>2]=m;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[f>>2]=0}}else{if((k[a+24>>2]|0)!=(k[a+20>>2]|0))if((Jc[k[(k[a>>2]|0)+52>>2]&1023](a,-1)|0)==-1){m=-1;r=l;return m|0}d=a+72|0;e=a+32|0;b=a+52|0;a:while(1){a=k[g>>2]|0;c=k[e>>2]|0;c=vc[k[(k[a>>2]|0)+20>>2]&31](a,d,c,c+(k[b>>2]|0)|0,h)|0;a=k[e>>2]|0;m=(k[h>>2]|0)-a|0;if((FH(a,1,m,k[j>>2]|0)|0)!=(m|0)){b=-1;c=24;break}switch(c|0){case 1:break;case 2:{b=-1;c=24;break a}default:{c=10;break a}}}if((c|0)==10){if(!(sA(k[j>>2]|0)|0))break;else b=-1;r=l;return b|0}else if((c|0)==24){r=l;return b|0}}while(0);m=0;r=l;return m|0}function Bl(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;h=0;t=r;r=r+48|0;p=t;q=(k[c+4>>2]|0)-(k[c>>2]|0)>>2;if(!q){c=b;r=t;return c|0}s=a+40|0;o=a+108|0;n=d;m=k[n>>2]|0;n=k[n+4>>2]|0;if((k[d>>2]|0)==11)f=0;else{f=0;do{a=(k[s>>2]|0)+36|0;d=lD(a,76)|0;g=p;j=o;l=g+40|0;do{k[g>>2]=k[j>>2];g=g+4|0;j=j+4|0}while((g|0)<(l|0));e=k[(k[c>>2]|0)+(f<<2)>>2]|0;k[d+4>>2]=0;g=d+8|0;j=p;l=g+40|0;do{k[g>>2]=k[j>>2];g=g+4|0;j=j+4|0}while((g|0)<(l|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=5308;l=d+56|0;k[l>>2]=m;k[l+4>>2]=n;k[d+64>>2]=b;k[d+68>>2]=e;k[d+72>>2]=0;b=N4(a,d)|0;if(b|0)if((k[b+56>>2]|0)!=11){i[(k[b+64>>2]|0)+48>>0]=0;i[(k[b+68>>2]|0)+48>>0]=0}f=f+1|0}while((f|0)!=(q|0));r=t;return b|0}do{a=(k[s>>2]|0)+36|0;d=lD(a,76)|0;g=p;j=o;l=g+40|0;do{k[g>>2]=k[j>>2];g=g+4|0;j=j+4|0}while((g|0)<(l|0));e=k[(k[c>>2]|0)+(f<<2)>>2]|0;k[d+4>>2]=0;g=d+8|0;j=p;l=g+40|0;do{k[g>>2]=k[j>>2];g=g+4|0;j=j+4|0}while((g|0)<(l|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=5308;l=d+56|0;k[l>>2]=m;k[l+4>>2]=n;k[d+64>>2]=b;k[d+68>>2]=e;k[d+72>>2]=0;b=N4(a,d)|0;a=(k[b+64>>2]|0)+48|0;if(!(i[a>>0]|0))h=6;else if(!(i[(k[b+68>>2]|0)+48>>0]|0))h=6;else i[b+48>>0]=1;if((h|0)==6){h=0;if((k[b+56>>2]|0)!=11){i[a>>0]=0;i[(k[b+68>>2]|0)+48>>0]=0}}f=f+1|0}while((f|0)!=(q|0));r=t;return b|0}function Cl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=0;n=r;r=r+48|0;h=n;g=a+20|0;f=a+24|0;c=k[g>>2]|0;e=(k[f>>2]|0)-c>>2;if(e|0){c=kj(b,k[c>>2]|0)|0;if((e|0)!=1){d=1;do{c=c|(kj(b,k[(k[g>>2]|0)+(d<<2)>>2]|0)|0);d=d+1|0}while((d|0)!=(e|0))}if(c){c=k[f>>2]|0;if((c|0)==(k[g>>2]|0))c=k[a+8>>2]|0;else c=c+-4|0;if(kj(b,k[c>>2]|0)|0){c=(k[a+4>>2]|0)+36|0;d=lD(c,72)|0;e=h;f=b+8|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+4>>2]=0;e=d+8|0;f=h;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+52>>2]=6;k[d+56>>2]=0;i[d+60>>0]=0;k[d>>2]=9784;k[d+64>>2]=b;i[d+68>>0]=1;b=N4(c,d)|0;r=n;return b|0}else{b=Uh(a,b)|0;r=n;return b|0}}}l=k[b+64>>2]|0;l=Jc[k[(k[l>>2]|0)+36>>2]&1023](l,a)|0;l=tc[k[(k[l>>2]|0)+72>>2]&511](l)|0;h=l+68|0;j=l+72|0;e=k[j>>2]|0;d=k[h>>2]|0;a=e-d>>2;if(a){f=l+68|0;g=b+56|0;c=0;while(1){e=k[d+(c<<2)>>2]|0;if((k[e+52>>2]|0)==1)m=12;else if(tc[k[(k[e>>2]|0)+68>>2]&511](e)|0){d=k[f>>2]|0;m=12}if((m|0)==12){m=0;e=(k[d+(c<<2)>>2]|0)+56|0;k[e>>2]=(k[g>>2]|0)+(k[e>>2]|0)}c=c+1|0;if((c|0)==(a|0))break;d=k[f>>2]|0}e=k[j>>2]|0;d=k[h>>2]|0}c=e;do if((e|0)!=(d|0)){d=k[c+-4>>2]|0;if((k[d+52>>2]|0)!=1){if(!(tc[k[(k[d>>2]|0)+68>>2]&511](d)|0))break;c=k[j>>2]|0}i[(k[c+-4>>2]|0)+60>>0]=i[b+60>>0]|0}while(0);b=l;r=n;return b|0}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;g=j+12|0;h=j;k[a+4>>2]=0;e=a+8|0;d=e+40|0;do{k[e>>2]=k[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));i[a+48>>0]=0;i[a+49>>0]=0;i[a+50>>0]=0;f=a+56|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[a+52>>2]=7;k[a>>2]=6600;f=a+68|0;x=0;Qa(74,f|0,78097,0);e=x;x=0;if(e&1){j=mb()|0;yb(j|0)}b=a+80|0;x=0;sa(430,b|0,c|0);e=x;x=0;if(e&1)b=mb()|0;else{d=a+92|0;i[d>>0]=0;e=PF(c,124,0)|0;if((e|0)==-1){r=j;return}i[d>>0]=1;x=0;qa(4,g|0,c|0,0,e|0,c|0);d=x;x=0;if(!(d&1)){if(!(i[f>>0]&1)){i[f+1>>0]=0;i[f>>0]=0}else{i[k[a+76>>2]>>0]=0;k[a+72>>2]=0}x=0;sa(443,f|0,0);d=x;x=0;if(d&1){d=Eb(0)|0;Nba(d)}k[f>>2]=k[g>>2];k[f+4>>2]=k[g+4>>2];k[f+8>>2]=k[g+8>>2];k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;P1(g);x=0;qa(4,h|0,c|0,e+1|0,-1,c|0);c=x;x=0;if(!(c&1)){if(!(i[b>>0]&1)){i[b+1>>0]=0;i[b>>0]=0}else{i[k[a+88>>2]>>0]=0;k[a+84>>2]=0}x=0;sa(443,b|0,0);a=x;x=0;if(a&1){a=Eb(0)|0;Nba(a)}k[b>>2]=k[h>>2];k[b+4>>2]=k[h+4>>2];k[b+8>>2]=k[h+8>>2];k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;P1(h);r=j;return}}j=mb()|0;P1(b);b=j}P1(f);j=b;yb(j|0)}function El(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=0;f=r;r=r+16|0;c=f;d=sI(1,124)|0;if(!d){b=vm(73208,43267,40)|0;a=TN(b+(k[(k[b>>2]|0)+-12>>2]|0)|0)|0;k[c>>2]=a;x=0;a=Ka(865,c|0,74172)|0;e=x;x=0;if(e&1){f=mb()|0;J5(c);yb(f|0)}x=0;a=Ka(k[(k[a>>2]|0)+28>>2]|0,a|0,10)|0;e=x;x=0;if(e&1){f=mb()|0;J5(c);yb(f|0)}J5(c);zp(b,a)|0;ct(b)|0;e=0;r=f;return e|0}k[d+68>>2]=2;k[d+4>>2]=5;k[d+8>>2]=42986;k[d+12>>2]=43502;do if(!a){a=vb(8)|0;x=0;sa(444,a|0,43308);c=x;x=0;if(c&1){c=Eb(0)|0;lb(a|0);a=c;break}else{x=0;Qa(77,a|0,4416,310);x=0;b=10;break}}else{if(i[a>>0]|0){k[d+116>>2]=a;e=d;r=f;return e|0}a=vb(8)|0;x=0;sa(444,a|0,43353);c=x;x=0;if(c&1){c=Eb(0)|0;lb(a|0);a=c;break}else{x=0;Qa(77,a|0,4416,310);x=0;b=10;break}}while(0);if((b|0)==10)a=Eb(0)|0;Bb(a|0)|0;x=0;ua(257,d|0)|0;c=x;x=0;do if(c&1){c=Eb(0)|0;Bb(c|0)|0;x=0;ua(257,d|0)|0;c=x;x=0;if(c&1){a=mb()|0;x=0;pa(3);c=x;x=0;if(c&1){c=Eb(0)|0;Nba(c)}else e=a}else{x=0;pa(3);e=x;x=0;if(!(e&1))break;e=mb()|0}x=0;pa(3);c=x;x=0;if(c&1){e=Eb(0)|0;Nba(e)}else yb(e|0)}while(0);xb();e=d;r=f;return e|0}function Fl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;m=0;n=r;r=r+32|0;g=n+12|0;h=n;j=a+64|0;b=k[j>>2]|0;if(b|0){m=b;r=n;return m|0}k[j>>2]=-1640531520;_G(g,a+68|0);f=i[g>>0]|0;d=(f&1)==0;e=d?g+1|0:k[g+8>>2]|0;f=d?(f&255)>>>1:k[g+4>>2]|0;if(f>>>0>3){c=f;d=e;b=f;while(1){o=ia(l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24,1540483477)|0;b=(ia(o>>>24^o,1540483477)|0)^(ia(b,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else d=d+4|0}c=f+-4|0;d=c&-4;c=c-d|0;d=e+(d+4)|0}else{c=f;d=e;b=f}switch(c|0){case 3:{b=(l[d+2>>0]|0)<<16^b;m=7;break}case 2:{m=7;break}case 1:{m=8;break}default:{}}if((m|0)==7){b=(l[d+1>>0]|0)<<8^b;m=8}if((m|0)==8)b=ia((l[d>>0]|0)^b,1540483477)|0;o=ia(b>>>13^b,1540483477)|0;f=k[j>>2]|0;k[j>>2]=(f<<6)+-1640531527+(f>>>2)+(o>>>15^o)^f;P1(g);_G(h,a+80|0);f=i[h>>0]|0;o=(f&1)==0;e=o?h+1|0:k[h+8>>2]|0;f=o?(f&255)>>>1:k[h+4>>2]|0;if(f>>>0>3){c=f;d=e;b=f;while(1){o=ia(l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24,1540483477)|0;b=(ia(o>>>24^o,1540483477)|0)^(ia(b,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else d=d+4|0}c=f+-4|0;d=c&-4;c=c-d|0;d=e+(d+4)|0}else{c=f;d=e;b=f}switch(c|0){case 3:{b=(l[d+2>>0]|0)<<16^b;m=14;break}case 2:{m=14;break}case 1:{m=15;break}default:{}}if((m|0)==14){b=(l[d+1>>0]|0)<<8^b;m=15}if((m|0)==15)b=ia((l[d>>0]|0)^b,1540483477)|0;m=ia(b>>>13^b,1540483477)|0;o=k[j>>2]|0;k[j>>2]=(o<<6)+-1640531527+(o>>>2)+(m>>>15^m)^o;P1(h);o=k[j>>2]|0;r=n;return o|0}function Gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;m=0;n=r;r=r+32|0;g=n+16|0;h=n+12|0;l=n;c=n+8|0;x=0;sa(457,l|0,a|0);j=x;x=0;a:do if(j&1){c=Eb(0)|0;d=a;e=a;m=19}else{do if(i[l>>0]|0){j=TN(a+(k[(k[a>>2]|0)+-12>>2]|0)|0)|0;k[c>>2]=j;x=0;j=Ka(865,c|0,74228)|0;f=x;x=0;if(f&1){m=Eb(0)|0;J5(c);c=m}else{J5(c);d=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;f=k[d+24>>2]|0;e=d+76|0;c=k[e>>2]|0;do if((c|0)==-1){c=TN(d)|0;k[g>>2]=c;x=0;c=Ka(865,g|0,74172)|0;o=x;x=0;if(!(o&1)){x=0;c=Ka(k[(k[c>>2]|0)+28>>2]|0,c|0,32)|0;o=x;x=0;if(!(o&1)){J5(g);c=c<<24>>24;k[e>>2]=c;m=10;break}}c=Eb(0)|0;J5(g)}else m=10;while(0);if((m|0)==10){o=k[(k[j>>2]|0)+24>>2]|0;k[h>>2]=f;x=0;k[g>>2]=k[h>>2];c=wa(o|0,j|0,g|0,d|0,c&255|0,b|0)|0;o=x;x=0;if(!(o&1)){if(c|0)break;o=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;x=0;sa(458,o|0,k[o+16>>2]|5|0);o=x;x=0;if(!(o&1))break}c=Eb(0)|0}}bx(l);d=a;e=a;m=19;break a}while(0);bx(l)}while(0);do if((m|0)==19){Bb(c|0)|0;x=0;ra(325,d+(k[(k[e>>2]|0)+-12>>2]|0)|0);o=x;x=0;if(!(o&1)){xb();break}c=mb()|0;x=0;pa(3);o=x;x=0;if(o&1){o=Eb(0)|0;Nba(o)}else yb(c|0)}while(0);r=n;return a|0}function Hl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;m=0;n=r;r=r+32|0;g=n+16|0;h=n+12|0;l=n;c=n+8|0;x=0;sa(457,l|0,a|0);j=x;x=0;a:do if(j&1){c=Eb(0)|0;d=a;e=a;m=19}else{do if(i[l>>0]|0){j=TN(a+(k[(k[a>>2]|0)+-12>>2]|0)|0)|0;k[c>>2]=j;x=0;j=Ka(865,c|0,74228)|0;f=x;x=0;if(f&1){m=Eb(0)|0;J5(c);c=m}else{J5(c);d=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;f=k[d+24>>2]|0;e=d+76|0;c=k[e>>2]|0;do if((c|0)==-1){c=TN(d)|0;k[g>>2]=c;x=0;c=Ka(865,g|0,74172)|0;o=x;x=0;if(!(o&1)){x=0;c=Ka(k[(k[c>>2]|0)+28>>2]|0,c|0,32)|0;o=x;x=0;if(!(o&1)){J5(g);c=c<<24>>24;k[e>>2]=c;m=10;break}}c=Eb(0)|0;J5(g)}else m=10;while(0);if((m|0)==10){o=k[(k[j>>2]|0)+24>>2]|0;k[h>>2]=f;x=0;k[g>>2]=k[h>>2];c=wa(o|0,j|0,g|0,d|0,c&255|0,b|0)|0;o=x;x=0;if(!(o&1)){if(c|0)break;o=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;x=0;sa(458,o|0,k[o+16>>2]|5|0);o=x;x=0;if(!(o&1))break}c=Eb(0)|0}}bx(l);d=a;e=a;m=19;break a}while(0);bx(l)}while(0);do if((m|0)==19){Bb(c|0)|0;x=0;ra(325,d+(k[(k[e>>2]|0)+-12>>2]|0)|0);o=x;x=0;if(!(o&1)){xb();break}c=mb()|0;x=0;pa(3);o=x;x=0;if(o&1){o=Eb(0)|0;Nba(o)}else yb(c|0)}while(0);r=n;return a|0}function Il(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;m=0;n=r;r=r+32|0;g=n+16|0;h=n+12|0;l=n;c=n+8|0;x=0;sa(457,l|0,a|0);j=x;x=0;a:do if(j&1){c=Eb(0)|0;d=a;e=a;m=19}else{do if(i[l>>0]|0){j=TN(a+(k[(k[a>>2]|0)+-12>>2]|0)|0)|0;k[c>>2]=j;x=0;j=Ka(865,c|0,74228)|0;f=x;x=0;if(f&1){m=Eb(0)|0;J5(c);c=m}else{J5(c);d=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;f=k[d+24>>2]|0;e=d+76|0;c=k[e>>2]|0;do if((c|0)==-1){c=TN(d)|0;k[g>>2]=c;x=0;c=Ka(865,g|0,74172)|0;o=x;x=0;if(!(o&1)){x=0;c=Ka(k[(k[c>>2]|0)+28>>2]|0,c|0,32)|0;o=x;x=0;if(!(o&1)){J5(g);c=c<<24>>24;k[e>>2]=c;m=10;break}}c=Eb(0)|0;J5(g)}else m=10;while(0);if((m|0)==10){o=k[(k[j>>2]|0)+16>>2]|0;k[h>>2]=f;x=0;k[g>>2]=k[h>>2];c=wa(o|0,j|0,g|0,d|0,c&255|0,b|0)|0;o=x;x=0;if(!(o&1)){if(c|0)break;o=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;x=0;sa(458,o|0,k[o+16>>2]|5|0);o=x;x=0;if(!(o&1))break}c=Eb(0)|0}}bx(l);d=a;e=a;m=19;break a}while(0);bx(l)}while(0);do if((m|0)==19){Bb(c|0)|0;x=0;ra(325,d+(k[(k[e>>2]|0)+-12>>2]|0)|0);o=x;x=0;if(!(o&1)){xb();break}c=mb()|0;x=0;pa(3);o=x;x=0;if(o&1){o=Eb(0)|0;Nba(o)}else yb(c|0)}while(0);r=n;return a|0}function Jl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;m=0;n=r;r=r+32|0;g=n+16|0;h=n+12|0;l=n;c=n+8|0;x=0;sa(457,l|0,a|0);j=x;x=0;a:do if(j&1){c=Eb(0)|0;d=a;e=a;m=19}else{do if(i[l>>0]|0){j=TN(a+(k[(k[a>>2]|0)+-12>>2]|0)|0)|0;k[c>>2]=j;x=0;j=Ka(865,c|0,74228)|0;f=x;x=0;if(f&1){m=Eb(0)|0;J5(c);c=m}else{J5(c);d=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;f=k[d+24>>2]|0;e=d+76|0;c=k[e>>2]|0;do if((c|0)==-1){c=TN(d)|0;k[g>>2]=c;x=0;c=Ka(865,g|0,74172)|0;o=x;x=0;if(!(o&1)){x=0;c=Ka(k[(k[c>>2]|0)+28>>2]|0,c|0,32)|0;o=x;x=0;if(!(o&1)){J5(g);c=c<<24>>24;k[e>>2]=c;m=10;break}}c=Eb(0)|0;J5(g)}else m=10;while(0);if((m|0)==10){o=k[(k[j>>2]|0)+32>>2]|0;k[h>>2]=f;x=0;k[g>>2]=k[h>>2];c=Ta(o|0,j|0,g|0,d|0,c&255|0,+b)|0;o=x;x=0;if(!(o&1)){if(c|0)break;o=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;x=0;sa(458,o|0,k[o+16>>2]|5|0);o=x;x=0;if(!(o&1))break}c=Eb(0)|0}}bx(l);d=a;e=a;m=19;break a}while(0);bx(l)}while(0);do if((m|0)==19){Bb(c|0)|0;x=0;ra(325,d+(k[(k[e>>2]|0)+-12>>2]|0)|0);o=x;x=0;if(!(o&1)){xb();break}c=mb()|0;x=0;pa(3);o=x;x=0;if(o&1){o=Eb(0)|0;Nba(o)}else yb(c|0)}while(0);r=n;return a|0}function Kl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;i=0;m=r;r=r+48|0;c=m;n=m+24|0;l=m+12|0;h=a+72|0;g=(k[a+76>>2]|0)-(k[h>>2]|0)>>2;j=b+72|0;f=(k[b+76>>2]|0)-(k[j>>2]|0)>>2;Hv(n,h);x=0;sa(442,l|0,j|0);j=x;x=0;if(j&1){d=mb()|0;a=n}else{j=n+4|0;x=0;Qa(78,k[n>>2]|0,k[j>>2]|0,m+8|0);h=x;x=0;a:do if(h&1)i=8;else{h=l+4|0;x=0;Qa(78,k[l>>2]|0,k[h>>2]|0,c|0);e=x;x=0;if(e&1)i=8;else{b:do if(!g)i=5;else{e=0;a=0;while(1){if((a|0)==(f|0)){i=14;break}b=k[(k[n>>2]|0)+(e<<2)>>2]|0;c=k[(k[l>>2]|0)+(a<<2)>>2]|0;d=(b|0)==0&1;if(!c)a=a+1|0;else{x=0;b=Ka(853,b|0,c|0)|0;c=x;x=0;if(c&1){i=7;break}if(!b){d=0;break b}}e=e+1+d|0;if((e|0)==(g|0)){i=5;break b}else a=a+1|0}if((i|0)==7){d=mb()|0;a=l;break a}else if((i|0)==14){d=(g|0)==(f|0);break}}while(0);if((i|0)==5)d=(g|0)==(f|0);a=k[l>>2]|0;b=a;if(a|0){c=k[h>>2]|0;if((c|0)!=(a|0))k[h>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(a)}a=k[n>>2]|0;if(!a){r=m;return d|0}b=k[j>>2]|0;if((b|0)!=(a|0))k[j>>2]=b+(~((b+-4-a|0)>>>2)<<2);uha(a);r=m;return d|0}}while(0);if((i|0)==8){d=mb()|0;a=l}c=k[a>>2]|0;e=c;if(!c)a=n;else{a=l+4|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-e|0)>>>2)<<2);uha(c);a=n}}c=k[a>>2]|0;if(!c)yb(d|0);a=n+4|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);yb(d|0);return 0}function Ll(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;if(!a){m=0;return m|0}c=k[a+68>>2]|0;l=(k[a+72>>2]|0)-c>>2;if(!l){m=0;return m|0}g=a+68|0;c=k[c>>2]|0;d=(c|0)==0;if((b|0)!=3){if(d)w3();else{e=c;f=0}a:while(1){a=k[(k[(k[e>>2]|0)+-4>>2]|0)+4>>2]|0;if((a|0)==33080|(a|0)==30973|(a|0)==33117){h=1;a=31;break}do if((a|0)==(k[135]|0)){if(co(e,b)|0){h=1;a=31;break a}}else{if((a|0)==31028)if(lx(e,b)|0){h=1;a=31;break a}else break;if((a|0)==(k[147]|0))if(pl(e,b)|0){h=1;a=31;break a}else break;if(Ot(e,568,552,0)|0)if(Ll(k[e+64>>2]|0,b)|0){h=1;a=31;break a}}while(0);f=f+1|0;if(f>>>0>=l>>>0){h=0;a=31;break}e=k[(k[g>>2]|0)+(f<<2)>>2]|0;if(!e){a=19;break}}if((a|0)==19)w3();else if((a|0)==31)return h|0}if(d)w3();else{j=c;m=0}b:while(1){a=k[(k[(k[j>>2]|0)+-4>>2]|0)+4>>2]|0;if((a|0)==33080|(a|0)==30973){h=1;a=31;break}do if((a|0)==33117){if(i[j+68>>0]|0){h=1;a=31;break b}}else{if((a|0)==(k[135]|0))if(co(j,3)|0){h=1;a=31;break b}else break;if((a|0)==31028)if(lx(j,3)|0){h=1;a=31;break b}else break;if((a|0)==(k[147]|0))if(pl(j,3)|0){h=1;a=31;break b}else break;if(Ot(j,568,552,0)|0)if(Ll(k[j+64>>2]|0,3)|0){h=1;a=31;break b}}while(0);m=m+1|0;if(m>>>0>=l>>>0){h=0;a=31;break}j=k[(k[g>>2]|0)+(m<<2)>>2]|0;if(!j){a=19;break}}if((a|0)==19)w3();else if((a|0)==31)return h|0;return 0}function Ml(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;t=u;h=tc[k[(k[b>>2]|0)+72>>2]&511](b)|0;c=(k[a+4>>2]|0)+36|0;d=lD(c,88)|0;b=i[h+84>>0]|0;e=t;f=h+8|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+4>>2]=0;e=d+8|0;f=t;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+52>>2]=0;k[d+56>>2]=0;i[d+60>>0]=0;k[d+68>>2]=0;k[d+72>>2]=0;k[d+76>>2]=0;k[d>>2]=9664;k[d+64>>2]=9756;i[d+84>>0]=b;i[d+85>>0]=0;i[d+86>>0]=0;i[d+87>>0]=0;q=N4(c,d)|0;b=k[h+68>>2]|0;s=(k[h+72>>2]|0)-b>>2;if(!s){r=u;return q|0}j=h+68|0;l=q+64|0;m=q+80|0;n=q+72|0;o=q+76|0;p=q+68|0;c=0;while(1){b=k[b+(c<<2)>>2]|0;if(!(tc[k[(k[b>>2]|0)+72>>2]&511](b)|0)){k[t>>2]=b;d=b;if(b|0){k[m>>2]=0;e=k[n>>2]|0;if((e|0)==(k[o>>2]|0))xw(p,t);else{k[e>>2]=d;k[n>>2]=(k[n>>2]|0)+4}rc[k[k[l>>2]>>2]&1023](l,b)}}else{b=Ml(a,b)|0;d=tc[k[(k[b>>2]|0)+72>>2]&511](b)|0;d=(k[d+72>>2]|0)-(k[d+68>>2]|0)>>2;if(d|0){h=0;do{e=(tc[k[(k[b>>2]|0)+72>>2]&511](b)|0)+68|0;e=k[(k[e>>2]|0)+(h<<2)>>2]|0;k[t>>2]=e;f=e;if(e|0){k[m>>2]=0;g=k[n>>2]|0;if((g|0)==(k[o>>2]|0))xw(p,t);else{k[g>>2]=f;k[n>>2]=(k[n>>2]|0)+4}rc[k[k[l>>2]>>2]&1023](l,e)}h=h+1|0}while((h|0)!=(d|0))}}c=c+1|0;if((c|0)==(s|0))break;b=k[j>>2]|0}r=u;return q|0}function Nl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;d=0;n=r;r=r+112|0;m=n+96|0;j=n+56|0;h=n+16|0;l=n;us(a,1,0)|0;c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(m);d=5}else if(f>>>0<11){i[m>>0]=f<<1;b=m+1|0}else d=5;if((d|0)==5){g=f+16&-16;b=GG(g)|0;k[m+8>>2]=b;k[m>>2]=g|1;k[m+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;b=j;e=a+108|0;f=b+40|0;do{k[b>>2]=k[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(f|0));x=0;g=ua(246,a|0)|0;f=x;x=0;if(!(f&1)){c=(k[a+40>>2]|0)+36|0;x=0;d=Ka(856,c|0,80)|0;a=x;x=0;if(!(a&1)){b=h;e=j;f=b+40|0;do{k[b>>2]=k[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(f|0));x=0;sa(430,l|0,m|0);j=x;x=0;if(!(j&1)){k[d+4>>2]=0;b=d+8|0;e=h;f=b+40|0;do{k[b>>2]=k[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(f|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;b=d+52|0;k[b>>2]=0;k[d>>2]=8984;x=0;sa(430,d+56|0,l|0);j=x;x=0;if(!(j&1)){k[d+68>>2]=g;k[d+72>>2]=0;k[d+76>>2]=0;k[b>>2]=4;x=0;b=Ka(857,c|0,d|0)|0;j=x;x=0;if(!(j&1)){P1(l);P1(m);r=n;return b|0}}n=mb()|0;P1(l);P1(m);yb(n|0)}}}n=mb()|0;P1(m);yb(n|0);return 0}function Ol(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;h=r;r=r+112|0;e=h;c=h+64|0;m=h+52|0;f=h+40|0;g=c;j=b+8|0;l=g+40|0;do{k[g>>2]=k[j>>2];g=g+4|0;j=j+4|0}while((g|0)<(l|0));_G(m,68968);g=e;j=c;l=g+40|0;do{k[g>>2]=k[j>>2];g=g+4|0;j=j+4|0}while((g|0)<(l|0));x=0;sa(487,a|0,m|0);l=x;x=0;if(l&1)c=mb()|0;else{k[a>>2]=8160;d=a+8|0;x=0;sa(430,d|0,m|0);l=x;x=0;do if(l&1)c=mb()|0;else{c=a+20|0;x=0;Qa(74,c|0,31243,5);l=x;x=0;if(l&1){c=mb()|0;P1(d);break}g=a+32|0;j=e;l=g+40|0;do{k[g>>2]=k[j>>2];g=g+4|0;j=j+4|0}while((g|0)<(l|0));k[a+72>>2]=0;P1(m);k[a>>2]=10792;k[a+76>>2]=b;x=0;sa(k[(k[b>>2]|0)+24>>2]|0,f|0,b|0);m=x;x=0;if(!(m&1)){if(!(i[d>>0]&1)){i[d+1>>0]=0;i[d>>0]=0}else{i[k[a+16>>2]>>0]=0;k[a+12>>2]=0}x=0;sa(443,d|0,0);m=x;x=0;if(m&1){m=Eb(0)|0;Nba(m)}k[d>>2]=k[f>>2];k[d+4>>2]=k[f+4>>2];k[d+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;P1(f);x=0;Ka(866,d|0,39826)|0;m=x;x=0;if(!(m&1)){r=h;return}}m=mb()|0;k[a>>2]=8160;P1(c);P1(d);f4(a);yb(m|0)}while(0);f4(a)}P1(m);m=c;yb(m|0)}function Pl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,l=0.0,m=0.0,n=0.0,o=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+80|0;h=v+40|0;b=v+24|0;j=v+12|0;u=v;lE(b,36999,6);x=0;q=h;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));o=wa(24,b|0,a|0,d|0,h|0,f|0)|0;t=x;x=0;if(t&1){v=mb()|0;P1(b);yb(v|0)}P1(b);lE(j,37075,7);x=0;q=h;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));b=La(1,j|0,a|0,d|0,h|0,0.0,1.0,f|0)|0;t=x;x=0;if(t&1){v=mb()|0;P1(j);yb(v|0)}n=+p[b+56>>3];P1(j);n=+p[o+80>>3]-n;n=n<0.0?0.0:n;h=c+36|0;j=lD(h,104)|0;l=+p[o+56>>3];m=+p[o+64>>3];g=+p[o+72>>3];lE(u,78097,0);k[j+4>>2]=0;q=j+8|0;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));i[j+48>>0]=0;i[j+49>>0]=0;i[j+50>>0]=0;b=j+52|0;k[b>>2]=0;k[j>>2]=5580;p[j+56>>3]=l;p[j+64>>3]=m;p[j+72>>3]=g;p[j+80>>3]=n;x=0;sa(430,j+88|0,u|0);e=x;x=0;if(!(e&1)){k[j+100>>2]=0;k[b>>2]=3;x=0;b=Ka(857,h|0,j|0)|0;e=x;x=0;if(!(e&1)){P1(u);r=v;return b|0}}v=mb()|0;P1(u);yb(v|0);return 0}function Ql(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,l=0.0,m=0.0,n=0.0,o=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+80|0;h=v+40|0;b=v+24|0;j=v+12|0;u=v;lE(b,36999,6);x=0;q=h;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));o=wa(24,b|0,a|0,d|0,h|0,f|0)|0;t=x;x=0;if(t&1){v=mb()|0;P1(b);yb(v|0)}P1(b);lE(j,37075,7);x=0;q=h;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));b=La(1,j|0,a|0,d|0,h|0,0.0,1.0,f|0)|0;t=x;x=0;if(t&1){v=mb()|0;P1(j);yb(v|0)}n=+p[b+56>>3];P1(j);n=n+ +p[o+80>>3];n=n>1.0?1.0:n;h=c+36|0;j=lD(h,104)|0;l=+p[o+56>>3];m=+p[o+64>>3];g=+p[o+72>>3];lE(u,78097,0);k[j+4>>2]=0;q=j+8|0;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));i[j+48>>0]=0;i[j+49>>0]=0;i[j+50>>0]=0;b=j+52|0;k[b>>2]=0;k[j>>2]=5580;p[j+56>>3]=l;p[j+64>>3]=m;p[j+72>>3]=g;p[j+80>>3]=n;x=0;sa(430,j+88|0,u|0);e=x;x=0;if(!(e&1)){k[j+100>>2]=0;k[b>>2]=3;x=0;b=Ka(857,h|0,j|0)|0;e=x;x=0;if(!(e&1)){P1(u);r=v;return b|0}}v=mb()|0;P1(u);yb(v|0);return 0}function Rl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0.0,l=0.0,m=0,n=0,o=0,q=0,s=0,t=0;t=0;o=r;r=r+80|0;m=o+40|0;q=o+24|0;s=o+12|0;n=o;lE(q,37038,4);x=0;b=m;h=e;i=b+40|0;do{k[b>>2]=k[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(i|0));b=wa(23,q|0,a|0,d|0,m|0,f|0)|0;i=x;x=0;if(!(i&1)){l=+p[b+56>>3];x=0;Qa(74,s|0,37043,11);i=x;x=0;if(!(i&1)){x=0;b=m;h=e;i=b+40|0;do{k[b>>2]=k[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(i|0));b=wa(23,s|0,a|0,d|0,m|0,f|0)|0;i=x;x=0;if(i&1)t=9;else{j=+p[b+56>>3];x=0;Qa(74,n|0,37055,10);i=x;x=0;if(i&1)t=9;else{x=0;b=m;h=e;i=b+40|0;do{k[b>>2]=k[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(i|0));b=wa(23,n|0,a|0,d|0,m|0,f|0)|0;d=x;x=0;if(!(d&1)){g=+p[b+56>>3];x=0;b=m;h=e;i=b+40|0;do{k[b>>2]=k[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(i|0));b=Aa(1,+l,+j,+g,1.0,c|0,m|0)|0;e=x;x=0;if(!(e&1)){P1(n);P1(s);P1(q);r=o;return b|0}}b=mb()|0;P1(n)}}if((t|0)==9)b=mb()|0;P1(s);t=b;P1(q);yb(t|0)}}t=mb()|0;P1(q);yb(t|0);return 0}function Sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=0;j=a+4|0;c=k[a>>2]|0;e=(((k[j>>2]|0)-c|0)/48|0)+1|0;if(e>>>0>89478485){fH(a);c=k[a>>2]|0}i=a+8|0;d=((k[i>>2]|0)-c|0)/48|0;if(d>>>0<44739242){d=d<<1;d=d>>>0>>0?e:d;c=((k[j>>2]|0)-c|0)/48|0;if(!d){f=0;d=0}else g=6}else{d=89478485;c=((k[j>>2]|0)-c|0)/48|0;g=6}if((g|0)==6){f=d;d=GG(d*48|0)|0}e=d+(c*48|0)|0;c=e;h=d+(f*48|0)|0;x=0;sa(475,e|0,b|0);b=x;x=0;if(b&1){c=mb()|0;if(!d)yb(c|0);uha(d);yb(c|0)}g=e+48|0;f=k[a>>2]|0;d=k[j>>2]|0;if((d|0)==(f|0)){d=c;e=f;c=f}else{do{l=e+-48|0;b=d;d=d+-48|0;k[l>>2]=k[d>>2];k[l+4>>2]=k[d+4>>2];k[l+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;l=e+-36|0;m=b+-36|0;k[l>>2]=k[m>>2];k[l+4>>2]=k[m+4>>2];k[l+8>>2]=k[m+8>>2];k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;m=e+-24|0;l=b+-24|0;k[m>>2]=k[l>>2];k[m+4>>2]=k[l+4>>2];k[m+8>>2]=k[l+8>>2];k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;l=e+-12|0;b=b+-12|0;k[l>>2]=k[b>>2];k[l+4>>2]=k[b+4>>2];k[l+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;e=c+-48|0;c=e}while((d|0)!=(f|0));d=c;e=k[a>>2]|0;c=k[j>>2]|0}k[a>>2]=d;k[j>>2]=g;k[i>>2]=h;d=e;if((c|0)!=(d|0))do{P1(c+-12|0);P1(c+-24|0);P1(c+-36|0);c=c+-48|0;P1(c)}while((c|0)!=(d|0));if(!e)return;uha(e);return}function Tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;u=v;c=k[b+76>>2]|0;if(!c)q=0;else q=Jc[k[(k[c>>2]|0)+40>>2]&1023](c,a)|0;h=(k[a+8>>2]|0)+36|0;l=lD(h,84)|0;s=b+60|0;t=b+64|0;g=(k[t>>2]|0)-(k[s>>2]|0)|0;m=g>>2;o=j[b+80>>1]|0;n=o&255;o=(o&65535)>>>8&255;c=u;d=b+8|0;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));k[l+4>>2]=0;c=l+8|0;d=u;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));k[l>>2]=6736;i[l+48>>0]=0;i[l+49>>0]=0;i[l+50>>0]=0;k[l+52>>2]=0;d=l+56|0;k[d>>2]=10416;f=l+60|0;k[f>>2]=0;p=l+64|0;k[p>>2]=0;k[l+68>>2]=0;e=f+8|0;do if(m|0){x=0;c=ua(186,g|0)|0;g=x;x=0;if(!(g&1)){p=c;k[f>>2]=p;k[f+4>>2]=p;k[e>>2]=c+(m<<2);break}e=mb()|0;c=k[f>>2]|0;if(!c)yb(e|0);d=k[p>>2]|0;if((d|0)!=(c|0))k[p>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);yb(e|0)}while(0);k[l>>2]=10444;k[d>>2]=10548;k[l+76>>2]=q;i[l+80>>0]=n;i[l+81>>0]=o;q=N4(h,l)|0;c=k[s>>2]|0;o=(k[t>>2]|0)-c>>2;if(!o){r=v;return q|0}p=q+56|0;g=b+60|0;h=q+72|0;l=q+64|0;m=q+68|0;n=q+60|0;d=c;c=0;while(1){d=k[d+(c<<2)>>2]|0;d=Jc[k[(k[d>>2]|0)+40>>2]&1023](d,a)|0;k[u>>2]=d;e=d;if(d|0){k[h>>2]=0;f=k[l>>2]|0;if((f|0)==(k[m>>2]|0))jw(n,u);else{k[f>>2]=e;k[l>>2]=(k[l>>2]|0)+4}rc[k[k[p>>2]>>2]&1023](p,d)}c=c+1|0;if((c|0)==(o|0))break;d=k[g>>2]|0}r=v;return q|0}function Ul(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+16|0;m=l;h=a+16|0;d=k[h>>2]|0;if(!d){$i(a);d=k[h>>2]|0}f=k[a+4>>2]|0;g=f+(d>>>10<<2)|0;j=k[g>>2]|0;f=(k[a+8>>2]|0)==(f|0)?0:j+((d&1023)<<2)|0;if((f|0)==(j|0))f=(k[g+-4>>2]|0)+4096|0;k[f+-4>>2]=0;k[h>>2]=d+-1;i=a+20|0;k[i>>2]=(k[i>>2]|0)+1;h=b+16|0;d=k[h>>2]|0;if(!d){$i(b);d=k[h>>2]|0}f=k[b+4>>2]|0;g=f+(d>>>10<<2)|0;j=k[g>>2]|0;f=(k[b+8>>2]|0)==(f|0)?0:j+((d&1023)<<2)|0;if((f|0)==(j|0))f=(k[g+-4>>2]|0)+4096|0;k[f+-4>>2]=0;k[h>>2]=d+-1;d=b+20|0;k[d>>2]=(k[d>>2]|0)+1;k[m>>2]=0;j=m+4|0;k[j>>2]=0;k[m+8>>2]=0;x=0;Ua(28,a|0,b|0,c|0,m|0);h=x;x=0;if(!(h&1)){x=0;Ha(4,m|0,a|0,b|0,(k[i>>2]|0)+-1|0,(k[d>>2]|0)+-1|0,c|0,e|0);b=x;x=0;if(!(b&1)){d=k[m>>2]|0;if(!d){r=l;return}f=k[j>>2]|0;if((f|0)!=(d|0)){do{g=f+-12|0;k[j>>2]=g;h=k[g>>2]|0;i=h;if(!h)f=g;else{f=f+-8|0;g=k[f>>2]|0;if((g|0)!=(h|0))k[f>>2]=g+(~((g+-4-i|0)>>>2)<<2);uha(h);f=k[j>>2]|0}}while((f|0)!=(d|0));d=k[m>>2]|0}uha(d);r=l;return}}c=mb()|0;d=k[m>>2]|0;if(!d)yb(c|0);f=k[j>>2]|0;if((f|0)!=(d|0)){do{g=f+-12|0;k[j>>2]=g;h=k[g>>2]|0;i=h;if(!h)f=g;else{f=f+-8|0;g=k[f>>2]|0;if((g|0)!=(h|0))k[f>>2]=g+(~((g+-4-i|0)>>>2)<<2);uha(h);f=k[j>>2]|0}}while((f|0)!=(d|0));d=k[m>>2]|0}uha(d);yb(c|0)}function Vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=0;f=r;r=r+48|0;g=f+24|0;d=f+12|0;e=f;_G(g,68980);x=0;sa(487,a|0,g|0);h=x;x=0;do if(h&1)d=mb()|0;else{k[a>>2]=8184;h=a+8|0;x=0;sa(430,h|0,g|0);l=x;x=0;if(l&1){d=mb()|0;f4(a);break}P1(g);k[a>>2]=10816;k[a+20>>2]=b;k[a+24>>2]=c;x=0;Ka(874,h|0,33141)|0;l=x;x=0;do if(l&1)j=14;else{x=0;sa(437,d|0,c|0);l=x;x=0;if(l&1)j=14;else{l=i[d>>0]|0;g=(l&1)==0;x=0;xa(46,h|0,(g?d+1|0:k[d+8>>2]|0)|0,(g?(l&255)>>>1:k[d+4>>2]|0)|0)|0;l=x;x=0;if(l&1){l=mb()|0;P1(d);d=l;break}P1(d);x=0;Ka(866,h|0,33163)|0;l=x;x=0;if(l&1)j=14;else{x=0;sa(437,e|0,b|0);l=x;x=0;if(l&1)j=14;else{l=i[e>>0]|0;g=(l&1)==0;x=0;xa(46,h|0,(g?e+1|0:k[e+8>>2]|0)|0,(g?(l&255)>>>1:k[e+4>>2]|0)|0)|0;l=x;x=0;if(l&1){d=mb()|0;P1(e);break}P1(e);x=0;Ka(866,h|0,33171)|0;l=x;x=0;if(l&1)j=14;else{r=f;return}}}}}while(0);if((j|0)==14)d=mb()|0;k[a>>2]=8184;P1(h);f4(a);l=d;yb(l|0)}while(0);P1(g);l=d;yb(l|0)}function Wl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;h=0;j=a+4|0;c=k[a>>2]|0;e=(((k[j>>2]|0)-c|0)/20|0)+1|0;if(e>>>0>214748364){fH(a);c=k[a>>2]|0}i=a+8|0;d=((k[i>>2]|0)-c|0)/20|0;if(d>>>0<107374182){d=d<<1;d=d>>>0>>0?e:d;c=((k[j>>2]|0)-c|0)/20|0;if(!d){f=0;g=0;d=c}else h=6}else{d=214748364;c=((k[j>>2]|0)-c|0)/20|0;h=6}if((h|0)==6){f=d;g=GG(d*20|0)|0;d=c}m=g+(d*20|0)|0;e=m|0;c=e;h=g+(f*20|0)|0;n=b;l=k[n+4>>2]|0;f=e;k[f>>2]=k[n>>2];k[f+4>>2]=l;f=b+8|0;l=g+(d*20|0)+16|0;k[l>>2]=0;k[m+8>>2]=k[f>>2];g=b+12|0;k[m+12>>2]=k[g>>2];d=b+16|0;k[l>>2]=k[d>>2];k[d>>2]=0;k[g>>2]=0;k[f>>2]=0;g=e+20|0;f=k[a>>2]|0;d=k[j>>2]|0;if((d|0)==(f|0)){b=f;d=f}else{do{l=d;d=d+-20|0;b=d;n=k[b+4>>2]|0;m=e+-20|0;k[m>>2]=k[b>>2];k[m+4>>2]=n;m=e+-12|0;n=l+-12|0;k[m>>2]=0;b=e+-8|0;k[b>>2]=0;k[e+-4>>2]=0;k[m>>2]=k[n>>2];m=l+-8|0;k[b>>2]=k[m>>2];l=l+-4|0;k[e+-4>>2]=k[l>>2];k[l>>2]=0;k[m>>2]=0;k[n>>2]=0;e=c+-20|0;c=e}while((d|0)!=(f|0));b=k[a>>2]|0;d=k[j>>2]|0}k[a>>2]=c;k[j>>2]=g;k[i>>2]=h;h=b;if((d|0)!=(h|0)){g=d;do{e=g+-12|0;c=k[e>>2]|0;if(c|0){f=g+-8|0;d=k[f>>2]|0;if((d|0)!=(c|0)){do{n=d+-12|0;k[f>>2]=n;P1(n);d=k[f>>2]|0}while((d|0)!=(c|0));c=k[e>>2]|0}uha(c)}g=g+-20|0}while((g|0)!=(h|0))}if(!b)return;uha(b);return}function Xl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;switch(b-a>>2|0){case 2:{d=b+-4|0;if(!(Pj(k[d>>2]|0,k[a>>2]|0)|0)){a=1;return a|0}b=k[a>>2]|0;k[a>>2]=k[d>>2];k[d>>2]=b;a=1;return a|0}case 3:{Tw(a,a+4|0,b+-4|0,c)|0;a=1;return a|0}case 4:{e=a+4|0;f=a+8|0;d=b+-4|0;Tw(a,e,f,c)|0;if(!(Pj(k[d>>2]|0,k[f>>2]|0)|0)){a=1;return a|0}b=k[f>>2]|0;k[f>>2]=k[d>>2];k[d>>2]=b;if(!(Pj(k[f>>2]|0,k[e>>2]|0)|0)){a=1;return a|0}h=k[e>>2]|0;b=k[f>>2]|0;k[e>>2]=b;k[f>>2]=h;if(!(Pj(b,k[a>>2]|0)|0)){a=1;return a|0}b=k[a>>2]|0;k[a>>2]=k[e>>2];k[e>>2]=b;a=1;return a|0}case 5:{dq(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{f=a+8|0;Tw(a,a+4|0,f,c)|0;e=a+12|0;a:do if((e|0)==(b|0)){e=1;d=0}else{d=0;h=e;e=f;while(1){if(Pj(k[h>>2]|0,k[e>>2]|0)|0){g=k[h>>2]|0;c=g;f=h;while(1){k[f>>2]=k[e>>2];if((e|0)==(a|0))break;f=e+-4|0;if(Pj(c,k[f>>2]|0)|0){i=e;e=f;f=i}else break}k[e>>2]=g;d=d+1|0;if((d|0)==8){e=0;d=(h+4|0)==(b|0);break a}}e=h+4|0;if((e|0)==(b|0)){e=1;d=0;break}else{i=h;h=e;e=i}}}while(0);i=d|e;return i|0}}return 0}function Yl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;switch(b-a>>2|0){case 2:{d=b+-4|0;if(!(vk(k[d>>2]|0,k[a>>2]|0)|0)){a=1;return a|0}b=k[a>>2]|0;k[a>>2]=k[d>>2];k[d>>2]=b;a=1;return a|0}case 3:{Ww(a,a+4|0,b+-4|0,c)|0;a=1;return a|0}case 4:{e=a+4|0;f=a+8|0;d=b+-4|0;Ww(a,e,f,c)|0;if(!(vk(k[d>>2]|0,k[f>>2]|0)|0)){a=1;return a|0}b=k[f>>2]|0;k[f>>2]=k[d>>2];k[d>>2]=b;if(!(vk(k[f>>2]|0,k[e>>2]|0)|0)){a=1;return a|0}h=k[e>>2]|0;b=k[f>>2]|0;k[e>>2]=b;k[f>>2]=h;if(!(vk(b,k[a>>2]|0)|0)){a=1;return a|0}b=k[a>>2]|0;k[a>>2]=k[e>>2];k[e>>2]=b;a=1;return a|0}case 5:{hq(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{f=a+8|0;Ww(a,a+4|0,f,c)|0;e=a+12|0;a:do if((e|0)==(b|0)){e=1;d=0}else{d=0;h=e;e=f;while(1){if(vk(k[h>>2]|0,k[e>>2]|0)|0){g=k[h>>2]|0;c=g;f=h;while(1){k[f>>2]=k[e>>2];if((e|0)==(a|0))break;f=e+-4|0;if(vk(c,k[f>>2]|0)|0){i=e;e=f;f=i}else break}k[e>>2]=g;d=d+1|0;if((d|0)==8){e=0;d=(h+4|0)==(b|0);break a}}e=h+4|0;if((e|0)==(b|0)){e=1;d=0;break}else{i=h;h=e;e=i}}}while(0);i=d|e;return i|0}}return 0}function Zl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=0;m=r;r=r+48|0;j=m+8|0;d=m+4|0;f=m;g=k[b+68>>2]|0;h=k[b+64>>2]|0;e=a+24|0;i=a+28|0;c=k[i>>2]|0;if((c|0)==(k[e>>2]|0))c=0;else c=k[c+-4>>2]|0;nB(j,c,1);k[d>>2]=j;c=k[i>>2]|0;if(c>>>0<(k[a+32>>2]|0)>>>0){k[c>>2]=j;k[i>>2]=(k[i>>2]|0)+4;l=6}else{x=0;sa(488,e|0,d|0);e=x;x=0;if(!(e&1))l=6}do if((l|0)==6){k[f>>2]=b;e=a+52|0;c=k[e>>2]|0;if(c>>>0<(k[a+56>>2]|0)>>>0){k[c>>2]=b;k[e>>2]=(k[e>>2]|0)+4}else{x=0;sa(503,a+48|0,f|0);b=x;x=0;if(b&1)break}d=a+8|0;do{x=0;c=Ka(k[(k[g>>2]|0)+40>>2]|0,g|0,d|0)|0;b=x;x=0;if(b&1)break;x=0;c=ua(k[(k[c>>2]|0)+60>>2]|0,c|0)|0;b=x;x=0;if(b&1)break;if(!c){l=17;break}x=0;sa(502,a|0,h|0);b=x;x=0}while(!(b&1));if((l|0)==17){k[e>>2]=(k[e>>2]|0)+-4;k[i>>2]=(k[i>>2]|0)+-4;iB(j+20|0);az(j,k[j+4>>2]|0);r=m;return 0}m=mb()|0;l=j+20|0;iB(l);l=j+4|0;l=k[l>>2]|0;az(j,l);yb(m|0)}while(0);m=mb()|0;l=j+20|0;iB(l);l=j+4|0;l=k[l>>2]|0;az(j,l);yb(m|0);return 0}function _l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=0;d=k[a+4>>2]|0;a:do if(d|0){e=0;do{k[(k[a>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(d|0));k[a+12>>2]=0;h=a+8|0;d=k[h>>2]|0;k[h>>2]=0;if(d|0){h=k[c>>2]|0;g=k[b>>2]|0;f=g;e=d;while(1){if((f|0)==(h|0)){d=e;i=12;break}k[e+8>>2]=k[f+8>>2];k[e+12>>2]=k[f+12>>2];d=e;e=k[e>>2]|0;x=0;Ka(897,a|0,d|0)|0;f=x;x=0;if(f&1)break;d=k[g>>2]|0;k[b>>2]=d;if(!e)break a;else{f=d;g=d}}if((i|0)==12)while(1){i=d;d=k[d>>2]|0;uha(i);if(!d)break a;else i=12}i=Eb(0)|0;Bb(i|0)|0;do{i=d;d=k[d>>2]|0;uha(i)}while((d|0)!=0);x=0;pa(4);x=0;d=mb()|0;x=0;pa(3);i=x;x=0;if(i&1){i=Eb(0)|0;Nba(i)}else yb(d|0)}}while(0);d=k[b>>2]|0;g=k[c>>2]|0;if((d|0)==(g|0))return;e=d;f=d;while(1){d=GG(16)|0;i=e+8|0;e=k[i>>2]|0;i=k[i+4>>2]|0;c=d+8|0;k[c>>2]=e;k[c+4>>2]=i;if(!e)e=0;else{x=0;e=ua(k[(k[e>>2]|0)+8>>2]|0,e|0)|0;c=x;x=0;if(c&1){i=17;break}}k[d+4>>2]=e;k[d>>2]=0;x=0;Ka(897,a|0,d|0)|0;c=x;x=0;if(c&1){i=19;break}f=k[f>>2]|0;k[b>>2]=f;e=f;if((e|0)==(g|0)){i=21;break}}if((i|0)==17){a=mb()|0;uha(d);yb(a|0)}else if((i|0)==19){a=mb()|0;uha(d);yb(a|0)}else if((i|0)==21)return}function $l(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=0;a:do switch(i[a>>0]|0){case 9:case 32:{b=a+1|0;f=14;break}default:{b=jB(a)|0;if(!b){b=tx(a)|0;if(!b){c=i[43504]|0;b:do if(!(c<<24>>24)){b=a;f=7}else{b=a;d=43504;while(1){if((i[b>>0]|0)!=c<<24>>24)break b;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){f=7;break}}}while(0);if((f|0)==7){c=i[b>>0]|0;if(c<<24>>24)do{if(b|0){d=i[44840]|0;if(!(d<<24>>24)){f=14;break a}if(c<<24>>24==d<<24>>24){c=b;e=44840;do{c=c+1|0;e=e+1|0;d=i[e>>0]|0;if(!(d<<24>>24)){b=c;f=14;break a}}while((i[c>>0]|0)==d<<24>>24)}}b=b+1|0;c=i[b>>0]|0}while(c<<24>>24!=0)}if(!a){f=0;return f|0}else b=a}else f=14}else f=14}}while(0);c:do if((f|0)==14)d:while(1){switch(i[b>>0]|0){case 9:case 32:{b=b+1|0;f=14;continue d}default:{}}c=jB(b)|0;if(c|0){b=c;f=14;continue}c=tx(b)|0;if(c|0){b=c;f=14;continue}d=i[43504]|0;if(!(d<<24>>24))c=b;else{c=b;e=43504;do{if((i[c>>0]|0)!=d<<24>>24)break c;c=c+1|0;e=e+1|0;d=i[e>>0]|0}while(d<<24>>24!=0)}d=i[c>>0]|0;if(!(d<<24>>24))break c;while(1){if(c|0){e=i[44840]|0;if(!(e<<24>>24)){b=c;f=14;continue d}if(d<<24>>24==e<<24>>24){d=c;a=44840;while(1){d=d+1|0;a=a+1|0;e=i[a>>0]|0;if(!(e<<24>>24)){b=d;f=14;continue d}if((i[d>>0]|0)!=e<<24>>24)break}}}c=c+1|0;d=i[c>>0]|0;if(!(d<<24>>24))break c}}while(0);f=(PI(b)|0)!=0;return f|0}function am(a){a=a|0;var b=0,c=0,d=0,e=0;e=0;a:do if(a|0){c=i[38791]|0;b:do if(!(c<<24>>24)){b=a;e=5}else{b=a;d=38791;while(1){if((i[b>>0]|0)!=c<<24>>24)break b;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=5;break}}}while(0);if((e|0)==5){b=DJ(b)|0;if(b|0){a=b;return a|0}}c=i[38818]|0;c:do if(!(c<<24>>24)){b=a;e=9}else{b=a;d=38818;while(1){if((i[b>>0]|0)!=c<<24>>24)break c;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=9;break}}}while(0);if((e|0)==9){b=DJ(b)|0;if(b|0){a=b;return a|0}}c=i[38829]|0;d:do if(!(c<<24>>24)){b=a;e=13}else{b=a;d=38829;while(1){if((i[b>>0]|0)!=c<<24>>24)break d;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=13;break}}}while(0);if((e|0)==13){b=DJ(b)|0;if(b|0){a=b;return a|0}}c=i[38782]|0;if(!(c<<24>>24))b=a;else{b=a;d=38782;do{if((i[b>>0]|0)!=c<<24>>24)break a;b=b+1|0;d=d+1|0;c=i[d>>0]|0}while(c<<24>>24!=0)}b=DJ(b)|0;if(b|0){a=b;return a|0}}while(0);a=cn(a)|0;return a|0}function bm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+96|0;l=o;e=o+80|0;m=o+40|0;f=a+20|0;n=a+24|0;g=k[n>>2]|0;d=(g|0)==(k[f>>2]|0);h=g;if(d)c=k[a+8>>2]|0;else c=h+-4|0;if((k[(k[c>>2]|0)+52>>2]|0)==1){b=Fh(a,b)|0;r=o;return b|0}if(d)c=k[a+8>>2]|0;else c=h+-4|0;if((k[(k[c>>2]|0)+52>>2]|0)==2){c=(k[a+4>>2]|0)+36|0;d=lD(c,72)|0;g=l;h=b+8|0;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[d+4>>2]=0;g=d+8|0;h=l;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[d+52>>2]=6;k[d+56>>2]=0;i[d+60>>0]=0;k[d>>2]=9784;k[d+64>>2]=b;i[d+68>>0]=1;b=N4(c,d)|0;r=o;return b|0}k[e>>2]=b;if(h>>>0<(k[a+28>>2]|0)>>>0){k[g>>2]=b;k[n>>2]=(k[n>>2]|0)+4}else Dw(f,e);c=(k[a+4>>2]|0)+36|0;d=lD(c,72)|0;g=m;h=b+8|0;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));e=k[b+68>>2]|0;f=k[b+64>>2]|0;f=Jc[k[(k[f>>2]|0)+36>>2]&1023](f,a)|0;f=tc[k[(k[f>>2]|0)+72>>2]&511](f)|0;k[d+4>>2]=0;g=d+8|0;h=m;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d+64>>2]=f;k[d>>2]=4904;k[d+68>>2]=e;k[d+52>>2]=2;m=N4(c,d)|0;k[m+56>>2]=k[b+56>>2];k[n>>2]=(k[n>>2]|0)+-4;b=Od(a,k[m+64>>2]|0,m)|0;b=tc[k[(k[b>>2]|0)+72>>2]&511](b)|0;r=o;return b|0}function cm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+112|0;h=m;f=m+64|0;j=m+52|0;l=m+40|0;a=a+36|0;d=lD(a,112)|0;CH(f,36731,0,-1);_G(j,b);e=h;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+4>>2]=0;e=d+8|0;f=h;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+52>>2]=0;k[d+56>>2]=0;i[d+60>>0]=0;k[d+64>>2]=0;k[d>>2]=8640;x=0;sa(430,d+68|0,j|0);h=x;x=0;if(!(h&1)){k[d+80>>2]=0;k[d+84>>2]=0;k[d+88>>2]=1;k[d+92>>2]=0;k[d+96>>2]=0;k[d+100>>2]=0;i[d+104>>0]=1;k[d+108>>2]=0;x=0;d=Ka(857,a|0,d|0)|0;h=x;x=0;if(!(h&1)){P1(j);k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;j=i[b>>0]|0;h=(j&1)==0;j=h?(j&255)>>>1:k[b+4>>2]|0;x=0;Ua(10,l|0,(h?b+1|0:k[b+8>>2]|0)|0,j|0,j+3|0);b=x;x=0;if(b&1){m=mb()|0;P1(l);yb(m|0)}x=0;xa(46,l|0,38285,3)|0;b=x;x=0;if(b&1){m=mb()|0;P1(l);yb(m|0)}x=0;a=Ka(867,c|0,l|0)|0;b=x;x=0;if(!(b&1)){k[a>>2]=d;P1(l);r=m;return}m=mb()|0;P1(l);yb(m|0)}}m=mb()|0;P1(j);yb(m|0)}function dm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;j=0;d=k[a>>2]|0;h=d;n=d+((k[b>>2]|0)-h>>2<<2)|0;o=a+4|0;g=k[o>>2]|0;f=a+8|0;m=k[f>>2]|0;b=g;e=m;if(g>>>0>>0){if((n|0)==(g|0)){k[n>>2]=k[c>>2];k[o>>2]=(k[o>>2]|0)+4;o=n;return o|0}e=b-(n+4)|0;f=e>>2;b=n+(f<<2)|0;if(b>>>0>>0){d=g;do{k[d>>2]=k[b>>2];b=b+4|0;d=(k[o>>2]|0)+4|0;k[o>>2]=d}while(b>>>0>>0)}VH(g+(0-f<<2)|0,n|0,e|0)|0;if(n>>>0<=c>>>0)c=(k[o>>2]|0)>>>0>c>>>0?c+4|0:c;k[n>>2]=k[c>>2];o=n;return o|0}g=(b-h>>2)+1|0;if(g>>>0>1073741823){fH(a);d=k[a>>2]|0;m=f;l=d;b=k[f>>2]|0}else{m=f;l=d;b=e;d=h}b=b-d|0;if(b>>2>>>0<536870911){b=b>>1;b=b>>>0>>0?g:b;e=n;d=e-d>>2;if(!b){g=0;h=0;f=d;i=e}else j=15}else{e=n;b=1073741823;d=e-d>>2;j=15}if((j|0)==15){g=b;h=GG(b<<2)|0;f=d;i=e}e=h+(f<<2)|0;b=e;d=h+(g<<2)|0;do if((f|0)==(g|0)){if((f|0)>0){b=e+(((f+1|0)/-2|0)<<2)|0;e=b;f=l;break}d=(f|0)==0?1:f<<1;x=0;e=ua(186,d<<2|0)|0;j=x;x=0;if(!(j&1)){f=e+(d>>>2<<2)|0;b=f;d=e+(d<<2)|0;if(!h){e=f;f=l;break}uha(h);e=f;f=k[a>>2]|0;break}c=mb()|0;if(!h)yb(c|0);uha(h);yb(c|0)}else f=l;while(0);k[e>>2]=k[c>>2];j=b+4|0;l=i-f|0;h=b+(0-(l>>2)<<2)|0;WC(h|0,f|0,l|0)|0;l=(k[o>>2]|0)-i|0;WC(j|0,n|0,l|0)|0;c=k[a>>2]|0;k[a>>2]=h;k[o>>2]=j+(l>>2<<2);k[m>>2]=d;if(!c){o=b;return o|0}uha(c);o=b;return o|0}function em(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0;g=0;m=r;r=r+32|0;h=m+12|0;l=m;c=k[a+4>>2]|0;e=k[a+8>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(h);g=5}else if(f>>>0<11){i[h>>0]=f<<1;a=h+1|0}else g=5;if((g|0)==5){d=f+16&-16;a=GG(d)|0;k[h+8>>2]=a;k[h>>2]=d|1;k[h+4>>2]=f}if((c|0)!=(e|0)){d=a;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}a=a+f|0}i[a>>0]=0;c=k[b+4>>2]|0;e=k[b+8>>2]|0;f=e-c|0;if(f>>>0>4294967279){x=0;ra(331,l|0);g=x;x=0;if(g&1){m=mb()|0;P1(h);yb(m|0)}else g=13}else if(f>>>0<11){i[l>>0]=f<<1;a=l+1|0}else g=13;do if((g|0)==13){d=f+16&-16;x=0;a=ua(186,d|0)|0;g=x;x=0;if(g&1){m=mb()|0;P1(h);yb(m|0)}else{k[l+8>>2]=a;k[l>>2]=d|1;k[l+4>>2]=f;break}}while(0);if((c|0)!=(e|0)){d=a;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}a=a+f|0}i[a>>0]=0;f=j[h>>1]|0;d=(f&1)==0;c=(f&254)>>>1;e=d?c:k[h+4>>2]|0;g=i[l>>0]|0;a=(g&1)==0;f=(f&65535)>>>8&255;a:do if((e|0)==((a?(g&255)>>>1:k[l+4>>2]|0)|0)){a=a?l+1|0:k[l+8>>2]|0;if(!d){a=(tG(k[h+8>>2]|0,a,e)|0)==0;break}if(!e)a=1;else if(f<<24>>24==(i[a>>0]|0)){d=h+1|0;while(1){c=c+-1|0;d=d+1|0;if(!c){a=1;break a}a=a+1|0;if((i[d>>0]|0)!=(i[a>>0]|0)){a=0;break}}}else a=0}else a=0;while(0);P1(l);P1(h);r=m;return a|0}function fm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0.0;m=r;r=r+64|0;b=m+16|0;g=m;lE(g,37732,7);x=0;h=b;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));f=wa(23,g|0,a|0,d|0,b|0,f|0)|0;l=x;x=0;if(l&1){e=mb()|0;P1(g);yb(e|0)}P1(g);b=c+36|0;g=lD(b,96)|0;k[g+4>>2]=k[f+4>>2];k[g>>2]=4748;h=g+8|0;j=f+8|0;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[g>>2]=6736;j=f+48|0;l=k[j+4>>2]|0;h=g+48|0;k[h>>2]=k[j>>2];k[h+4>>2]=l;k[g>>2]=4624;h=g+56|0;l=f+56|0;k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];i[h+8>>0]=i[l+8>>0]|0;h=g+68|0;x=0;sa(435,h|0,f+68|0);l=x;x=0;if(l&1){e=mb()|0;yb(e|0)}x=0;sa(435,g+80|0,f+80|0);l=x;x=0;if(!(l&1)){k[g+92>>2]=k[f+92>>2];b=N4(b,g)|0;h=b+8|0;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));e=b+56|0;n=+RI(+p[e>>3],k[(k[c+16>>2]|0)+4>>2]|0);k[b+92>>2]=0;p[e>>3]=n;r=m;return b|0}d=mb()|0;a=M;b=k[h>>2]|0;if(!b){e=d;yb(e|0)}g=g+72|0;f=k[g>>2]|0;if((f|0)!=(b|0)){do{e=f+-12|0;k[g>>2]=e;P1(e);f=k[g>>2]|0}while((f|0)!=(b|0));b=k[h>>2]|0}uha(b);e=d;yb(e|0);return 0}function gm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;s=t+16|0;g=t;lE(g,38223,4);x=0;b=s;j=e;l=b+40|0;do{k[b>>2]=k[j>>2];b=b+4|0;j=j+4|0}while((b|0)<(l|0));b=ta(124,g|0,a|0,d|0,s|0,f|0,c|0)|0;q=x;x=0;if(q&1){t=mb()|0;P1(g);yb(t|0)}P1(g);m=c+36|0;n=lD(m,84)|0;q=b+56|0;o=b+80|0;p=b+84|0;c=(k[p>>2]|0)-(k[o>>2]|0)|0;h=c>>2;k[n+4>>2]=0;b=n+8|0;j=e;l=b+40|0;do{k[b>>2]=k[j>>2];b=b+4|0;j=j+4|0}while((b|0)<(l|0));i[n+48>>0]=0;i[n+49>>0]=0;i[n+50>>0]=0;b=n+52|0;k[b>>2]=0;k[n>>2]=10312;g=n+56|0;k[g>>2]=5132;f=n+60|0;k[f>>2]=0;a=n+64|0;k[a>>2]=0;d=n+68|0;k[d>>2]=0;if(h|0){e=GG(c)|0;l=e;k[f>>2]=l;k[a>>2]=l;k[d>>2]=e+(h<<2)}k[n>>2]=4992;k[g>>2]=5104;k[n+76>>2]=0;i[n+80>>0]=0;i[n+81>>0]=0;k[b>>2]=5;n=N4(m,n)|0;b=k[o>>2]|0;d=k[p>>2]|0;if((b|0)==(d|0)){r=t;return n|0}c=n+56|0;h=n+72|0;j=n+64|0;l=n+68|0;m=n+60|0;do{g=vv(q,k[b>>2]|0)|0;k[s>>2]=g;f=g;if(g|0){k[h>>2]=0;a=k[j>>2]|0;if((a|0)==(k[l>>2]|0))uw(m,s);else{k[a>>2]=f;k[j>>2]=(k[j>>2]|0)+4}rc[k[k[c>>2]>>2]&1023](c,g)}b=b+4|0}while((b|0)!=(d|0));r=t;return n|0}function hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;l=0;m=r;r=r+16|0;j=m;lE(j,78097,0);g=i[b>>0]|0;h=(g&1)==0;c=h?b+1|0:k[b+8>>2]|0;g=h?(g&255)>>>1:k[b+4>>2]|0;h=c+g|0;if(g|0){f=c;d=0;c=0;g=0;a:do{e=g;g=i[f>>0]|0;b:do if(d)switch(g<<24>>24){case 13:case 10:{d=1;c=0;break b}case 9:{d=1;c=c+1|0;break b}case 32:{d=1;c=c+1|0;break b}default:{if(g<<24>>24==42){d=1;break b}x=0;sa(440,j|0,32);d=x;x=0;if(d&1){l=11;break a}if(e<<24>>24==42&g<<24>>24==47){x=0;Ka(866,j|0,44840)|0;e=x;x=0;if(e&1){l=11;break a}else{d=0;break b}}else{x=0;sa(440,j|0,g|0);e=x;x=0;if(e&1){l=11;break a}else{d=0;break b}}}}else{switch(g<<24>>24){case 10:case 13:{d=1;break b}default:{}}x=0;sa(440,j|0,g|0);e=x;x=0;if(e&1){l=11;break a}else d=0}while(0);f=f+1|0}while((f|0)!=(h|0));if((l|0)==11){m=mb()|0;P1(j);yb(m|0)}if(c|0){k[a>>2]=k[j>>2];k[a+4>>2]=k[j+4>>2];k[a+8>>2]=k[j+8>>2];k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;P1(j);r=m;return}}x=0;sa(430,a|0,b|0);l=x;x=0;if(!(l&1)){P1(j);r=m;return}m=mb()|0;P1(j);yb(m|0)}function im(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;t=u;n=k[a+8>>2]|0;p=lD(n,84)|0;q=b+60|0;s=b+64|0;h=(k[s>>2]|0)-(k[q>>2]|0)|0;j=h>>2;l=k[b+76>>2]|0;m=i[b+80>>0]|0;c=t;d=b+8|0;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));k[p+4>>2]=0;c=p+8|0;d=t;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));i[p+48>>0]=0;i[p+49>>0]=0;i[p+50>>0]=0;d=p+52|0;k[d>>2]=0;k[p>>2]=10312;e=p+56|0;k[e>>2]=5132;g=p+60|0;k[g>>2]=0;o=p+64|0;k[o>>2]=0;k[p+68>>2]=0;f=g+8|0;do if(j|0){x=0;c=ua(186,h|0)|0;h=x;x=0;if(!(h&1)){o=c;k[g>>2]=o;k[g+4>>2]=o;k[f>>2]=c+(j<<2);break}e=mb()|0;c=k[g>>2]|0;if(!c)yb(e|0);d=k[o>>2]|0;if((d|0)!=(c|0))k[o>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);yb(e|0)}while(0);k[p>>2]=4992;k[e>>2]=5104;k[p+76>>2]=l;i[p+80>>0]=m;i[p+81>>0]=0;k[d>>2]=5;p=N4(n,p)|0;c=k[q>>2]|0;n=(k[s>>2]|0)-c>>2;if(!n){r=u;return p|0}o=p+56|0;g=b+60|0;h=p+72|0;j=p+64|0;l=p+68|0;m=p+60|0;d=c;c=0;while(1){d=k[d+(c<<2)>>2]|0;d=Jc[k[(k[d>>2]|0)+56>>2]&1023](d,a)|0;k[t>>2]=d;e=d;if(d|0){k[h>>2]=0;f=k[j>>2]|0;if((f|0)==(k[l>>2]|0))uw(m,t);else{k[f>>2]=e;k[j>>2]=(k[j>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,d)}c=c+1|0;if((c|0)==(n|0))break;d=k[g>>2]|0}r=u;return p|0}function jm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0;g=b+44|0;h=k[g>>2]|0;m=b+24|0;n=k[m>>2]|0;j=n;if(h>>>0>>0){k[g>>2]=n;l=j}else l=h;g=f&24;if(!g){b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}if((e|0)==1&(g|0)==24){b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}a:do switch(e|0){case 0:{g=0;h=0;break}case 1:if(!(f&8)){h=j-(k[b+20>>2]|0)|0;g=h;h=((h|0)<0)<<31>>31;break a}else{h=(k[b+12>>2]|0)-(k[b+8>>2]|0)|0;g=h;h=((h|0)<0)<<31>>31;break a}case 2:{g=b+32|0;if(!(i[g>>0]&1))g=g+1|0;else g=k[b+40>>2]|0;h=l-g|0;g=h;h=((h|0)<0)<<31>>31;break}default:{b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}}while(0);h=TZ(g|0,h|0,c|0,d|0)|0;j=M;if((j|0)>=0){g=b+32|0;if(!(i[g>>0]&1))g=g+1|0;else g=k[b+40>>2]|0;d=l-g|0;c=((d|0)<0)<<31>>31;if(!((c|0)<(j|0)|(c|0)==(j|0)&d>>>0>>0)){g=f&8;if(!((h|0)==0&(j|0)==0)){if(g|0)if(!(k[b+12>>2]|0)){b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}if((f&16|0)!=0&(n|0)==0){b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}}if(g|0){k[b+12>>2]=(k[b+8>>2]|0)+h;k[b+16>>2]=l}if(f&16|0)k[m>>2]=(k[b+20>>2]|0)+h;b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=h;k[b+4>>2]=j;return}}b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}function km(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;h=0;t=r;r=r+48|0;l=t+32|0;j=t+28|0;i=t+24|0;m=t+16|0;n=t+8|0;p=t+4|0;q=t;f=k[b+36>>2]|0;g=k[b+40>>2]|0;s=b+24|0;c=k[s>>2]|0;o=b+28|0;e=k[o>>2]|0;a:do if((c|0)!=(e|0)){while(1){d=k[c+12>>2]|0;if(d>>>0>f>>>0){h=14;break}if((d|0)==(f|0)?(k[c+16>>2]|0)>>>0>g>>>0:0){h=18;break}c=c+24|0;if((c|0)==(e|0))break a}if((h|0)==14){c=vb(8)|0;x=0;sa(444,c|0,44363);t=x;x=0;if(!(t&1))Wb(c|0,4416,310);t=mb()|0;lb(c|0);yb(t|0)}else if((h|0)==18){c=vb(8)|0;x=0;sa(444,c|0,44398);t=x;x=0;if(!(t&1))Wb(c|0,4416,310);t=mb()|0;lb(c|0);yb(t|0)}}while(0);nz(m,b);if(!(k[m>>2]|0)){if(k[m+4>>2]|0)h=5}else h=5;if((h|0)==5){c=k[a+12>>2]|0;f=k[a+16>>2]|0;if((c|0)!=(f|0)){g=m+4|0;do{d=c+12|0;e=k[d>>2]|0;if(!e){h=c+16|0;k[h>>2]=(k[h>>2]|0)+(k[g>>2]|0)}k[d>>2]=(k[m>>2]|0)+e;c=c+24|0}while((c|0)!=(f|0))}}c=a+24|0;d=k[c>>2]|0;if(!d){h=a+28|0;k[h>>2]=(k[h>>2]|0)+(k[m+4>>2]|0)}k[c>>2]=(k[m>>2]|0)+d;a=a+12|0;k[n>>2]=k[a>>2];k[p>>2]=k[s>>2];k[q>>2]=k[o>>2];k[i>>2]=k[n>>2];k[j>>2]=k[p>>2];k[l>>2]=k[q>>2];nj(a,i,j,l)|0;r=t;return}function lm(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=e|0;f=f|0;var g=0,h=0,j=0,l=0.0,m=0.0,n=0,o=0;o=r;r=r+16|0;n=o;a=a/360.0;m=b/100.0;b=c/100.0;b=b<0.0?0.0:b;c=m<0.0?0.0:m;b=b>1.0?1.0:b;c=c>1.0?1.0:c;if(a<0.0)do a=a+1.0;while(a<0.0);if(a>1.0)do a=a+-1.0;while(a>1.0);if(!(b<=.5))m=b+c-b*c;else m=b*(c+1.0);b=b*2.0-m;c=a+.3333333333333333;if(c<0.0)do c=c+1.0;while(c<0.0);if(c>1.0)do c=c+-1.0;while(c>1.0);if(c*6.0<1.0)c=b+(m-b)*c*6.0;else if(c*2.0<1.0)c=m;else if(c*3.0<2.0)c=b+(m-b)*(.6666666666666666-c)*6.0;else c=b;l=c*255.0;if(a<0.0){c=a;do c=c+1.0;while(c<0.0)}else c=a;if(c>1.0)do c=c+-1.0;while(c>1.0);if(c*6.0<1.0)c=b+(m-b)*c*6.0;else if(c*2.0<1.0)c=m;else if(c*3.0<2.0)c=b+(m-b)*(.6666666666666666-c)*6.0;else c=b;c=c*255.0;a=a+-.3333333333333333;if(a<0.0)do a=a+1.0;while(a<0.0);if(a>1.0)do a=a+-1.0;while(a>1.0);if(a*6.0<1.0)a=b+(m-b)*a*6.0;else if(a*2.0<1.0)a=m;else if(a*3.0<2.0)a=b+(m-b)*(.6666666666666666-a)*6.0;else a=b;a=a*255.0;h=e+36|0;j=lD(h,104)|0;lE(n,78097,0);k[j+4>>2]=0;g=j+8|0;e=g+40|0;do{k[g>>2]=k[f>>2];g=g+4|0;f=f+4|0}while((g|0)<(e|0));i[j+48>>0]=0;i[j+49>>0]=0;i[j+50>>0]=0;f=j+52|0;k[f>>2]=0;k[j>>2]=5580;p[j+56>>3]=l;p[j+64>>3]=c;p[j+72>>3]=a;p[j+80>>3]=d;x=0;sa(430,j+88|0,n|0);g=x;x=0;if(g&1){o=mb()|0;P1(n);yb(o|0)}k[j+100>>2]=0;k[f>>2]=3;x=0;f=Ka(857,h|0,j|0)|0;j=x;x=0;if(j&1){o=mb()|0;P1(n);yb(o|0)}else{P1(n);r=o;return f|0}return 0}function mm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=0;d=k[a+56>>2]|0;a:do if(!d)e=14;else{c=k[d>>2]|0;if(!c)e=14;else{while(1){x=0;sa(547,b|0,c|0);c=x;x=0;if(c&1)break;d=d+4|0;c=k[d>>2]|0;if(!c){e=14;break a}}c=Eb(0)|0}}while(0);b:do if((e|0)==14){d=k[a+64>>2]|0;c:do if(d|0){c=k[d>>2]|0;if(c|0){while(1){x=0;sa(548,b|0,c|0);e=x;x=0;if(e&1)break;d=d+4|0;c=k[d>>2]|0;if(!c)break c}c=Eb(0)|0;break b}}while(0);d=k[a+60>>2]|0;d:do if(d|0){c=k[d>>2]|0;if(c|0){while(1){x=0;sa(549,b|0,c|0);e=x;x=0;if(e&1)break;d=d+4|0;c=k[d>>2]|0;if(!c)break d}c=Eb(0)|0;break b}}while(0);f=a+80|0;k[a+108>>2]=0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[a+100>>2]=-1;k[a+104>>2]=-1;f=sI(1,16)|0;k[f+4>>2]=a;k[f+8>>2]=b;k[b+284>>2]=f;return f|0}while(0);Bb(c|0)|0;x=0;ua(257,a|0)|0;b=x;x=0;do if(b&1){b=Eb(0)|0;Bb(b|0)|0;x=0;ua(257,a|0)|0;a=x;x=0;if(a&1){c=mb()|0;x=0;pa(3);a=x;x=0;if(a&1){a=Eb(0)|0;Nba(a)}else f=c}else{x=0;pa(3);f=x;x=0;if(!(f&1))break;f=mb()|0}x=0;pa(3);a=x;x=0;if(a&1){f=Eb(0)|0;Nba(f)}else Hb(f|0)}while(0);x=0;pa(3);f=x;x=0;if(!(f&1)){f=0;return f|0}f=mb()|0;Hb(f|0);return 0}function nm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0.0;m=r;r=r+64|0;b=m+16|0;g=m;lE(g,37732,7);x=0;h=b;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));f=wa(23,g|0,a|0,d|0,b|0,f|0)|0;l=x;x=0;if(l&1){e=mb()|0;P1(g);yb(e|0)}P1(g);b=c+36|0;g=lD(b,96)|0;k[g+4>>2]=k[f+4>>2];k[g>>2]=4748;h=g+8|0;j=f+8|0;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[g>>2]=6736;j=f+48|0;l=k[j+4>>2]|0;c=g+48|0;k[c>>2]=k[j>>2];k[c+4>>2]=l;k[g>>2]=4624;c=g+56|0;l=f+56|0;k[c>>2]=k[l>>2];k[c+4>>2]=k[l+4>>2];i[c+8>>0]=i[l+8>>0]|0;c=g+68|0;x=0;sa(435,c|0,f+68|0);l=x;x=0;if(l&1){e=mb()|0;yb(e|0)}x=0;sa(435,g+80|0,f+80|0);l=x;x=0;if(!(l&1)){k[g+92>>2]=k[f+92>>2];b=N4(b,g)|0;h=b+8|0;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));e=b+56|0;n=+W(+(+p[e>>3]));k[b+92>>2]=0;p[e>>3]=n;r=m;return b|0}d=mb()|0;a=M;b=k[c>>2]|0;if(!b){e=d;yb(e|0)}g=g+72|0;f=k[g>>2]|0;if((f|0)!=(b|0)){do{e=f+-12|0;k[g>>2]=e;P1(e);f=k[g>>2]|0}while((f|0)!=(b|0));b=k[c>>2]|0}uha(b);e=d;yb(e|0);return 0}function om(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0.0;m=r;r=r+64|0;b=m+16|0;g=m;lE(g,37732,7);x=0;h=b;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));f=wa(23,g|0,a|0,d|0,b|0,f|0)|0;l=x;x=0;if(l&1){e=mb()|0;P1(g);yb(e|0)}P1(g);b=c+36|0;g=lD(b,96)|0;k[g+4>>2]=k[f+4>>2];k[g>>2]=4748;h=g+8|0;j=f+8|0;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[g>>2]=6736;j=f+48|0;l=k[j+4>>2]|0;c=g+48|0;k[c>>2]=k[j>>2];k[c+4>>2]=l;k[g>>2]=4624;c=g+56|0;l=f+56|0;k[c>>2]=k[l>>2];k[c+4>>2]=k[l+4>>2];i[c+8>>0]=i[l+8>>0]|0;c=g+68|0;x=0;sa(435,c|0,f+68|0);l=x;x=0;if(l&1){e=mb()|0;yb(e|0)}x=0;sa(435,g+80|0,f+80|0);l=x;x=0;if(!(l&1)){k[g+92>>2]=k[f+92>>2];b=N4(b,g)|0;h=b+8|0;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));e=b+56|0;n=+ha(+(+p[e>>3]));k[b+92>>2]=0;p[e>>3]=n;r=m;return b|0}d=mb()|0;a=M;b=k[c>>2]|0;if(!b){e=d;yb(e|0)}g=g+72|0;f=k[g>>2]|0;if((f|0)!=(b|0)){do{e=f+-12|0;k[g>>2]=e;P1(e);f=k[g>>2]|0}while((f|0)!=(b|0));b=k[c>>2]|0}uha(b);e=d;yb(e|0);return 0}function pm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0.0;m=r;r=r+64|0;b=m+16|0;g=m;lE(g,37732,7);x=0;h=b;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));f=wa(23,g|0,a|0,d|0,b|0,f|0)|0;l=x;x=0;if(l&1){e=mb()|0;P1(g);yb(e|0)}P1(g);b=c+36|0;g=lD(b,96)|0;k[g+4>>2]=k[f+4>>2];k[g>>2]=4748;h=g+8|0;j=f+8|0;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[g>>2]=6736;j=f+48|0;l=k[j+4>>2]|0;c=g+48|0;k[c>>2]=k[j>>2];k[c+4>>2]=l;k[g>>2]=4624;c=g+56|0;l=f+56|0;k[c>>2]=k[l>>2];k[c+4>>2]=k[l+4>>2];i[c+8>>0]=i[l+8>>0]|0;c=g+68|0;x=0;sa(435,c|0,f+68|0);l=x;x=0;if(l&1){e=mb()|0;yb(e|0)}x=0;sa(435,g+80|0,f+80|0);l=x;x=0;if(!(l&1)){k[g+92>>2]=k[f+92>>2];b=N4(b,g)|0;h=b+8|0;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));e=b+56|0;n=+X(+(+p[e>>3]));k[b+92>>2]=0;p[e>>3]=n;r=m;return b|0}d=mb()|0;a=M;b=k[c>>2]|0;if(!b){e=d;yb(e|0)}g=g+72|0;f=k[g>>2]|0;if((f|0)!=(b|0)){do{e=f+-12|0;k[g>>2]=e;P1(e);f=k[g>>2]|0}while((f|0)!=(b|0));b=k[c>>2]|0}uha(b);e=d;yb(e|0);return 0}function qm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;g=0;i=a+8|0;d=k[i>>2]|0;j=a+4|0;c=k[j>>2]|0;if(d-c>>4>>>0>=b>>>0){do{k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;c=(k[j>>2]|0)+16|0;k[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}e=k[a>>2]|0;f=(c-e>>4)+b|0;if(f>>>0>268435455){fH(a);d=k[i>>2]|0;e=k[a>>2]|0}c=d-e|0;if(c>>4>>>0<134217727){c=c>>3;c=c>>>0>>0?f:c;d=(k[j>>2]|0)-e>>4;if(!c){f=0;e=0;c=d}else g=9}else{c=268435455;d=(k[j>>2]|0)-e>>4;g=9}if((g|0)==9){f=c;e=GG(c<<4)|0;c=d}h=e+(c<<4)|0;c=h;f=e+(f<<4)|0;e=h;d=c;do{k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;e=d+16|0;d=e;b=b+-1|0}while((b|0)!=0);g=k[a>>2]|0;b=k[j>>2]|0;if((b|0)==(g|0)){h=g;b=g}else{e=h;do{m=b;b=b+-16|0;k[e+-16>>2]=k[b>>2];l=e+-12|0;h=m+-12|0;k[l>>2]=0;n=e+-8|0;k[n>>2]=0;k[e+-4>>2]=0;k[l>>2]=k[h>>2];l=m+-8|0;k[n>>2]=k[l>>2];m=m+-4|0;k[e+-4>>2]=k[m>>2];k[m>>2]=0;k[l>>2]=0;k[h>>2]=0;e=c+-16|0;c=e}while((b|0)!=(g|0));h=k[a>>2]|0;b=k[j>>2]|0}k[a>>2]=c;k[j>>2]=d;k[i>>2]=f;g=h;if((b|0)!=(g|0)){f=b;do{d=f+-12|0;c=k[d>>2]|0;if(c|0){e=f+-8|0;b=k[e>>2]|0;if((b|0)!=(c|0)){do{n=b+-12|0;k[e>>2]=n;P1(n);b=k[e>>2]|0}while((b|0)!=(c|0));c=k[d>>2]|0}uha(c)}f=f+-16|0}while((f|0)!=(g|0))}if(!h)return;uha(h);return}function rm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;c=k[a+16>>2]|0;a=k[a+20>>2]|0;if(a|0){c3(a);CQ(a)}p=k[b+16>>2]|0;a=k[b+20>>2]|0;if(a|0){c3(a);CQ(a)}h=c+16|0;i=c+20|0;a=k[i>>2]|0;if(!a)return;j=c+4|0;l=p+8|0;m=p+4|0;n=p+16|0;o=p+20|0;g=c+8|0;while(1){f=a+-1+(k[h>>2]|0)|0;e=k[(k[j>>2]|0)+(((f>>>0)/170|0)<<2)>>2]|0;f=(f>>>0)%170|0;if((k[e+(f*24|0)+4>>2]|0)!=1){a=20;break}d=k[l>>2]|0;c=k[m>>2]|0;q=d-c>>2;b=k[n>>2]|0;a=k[o>>2]|0;if((((q|0)==0?0:(q*170|0)+-1|0)|0)==(a+b|0)){Ig(p);a=k[o>>2]|0;b=k[n>>2]|0;d=k[l>>2]|0;c=k[m>>2]|0}a=a+b|0;if((d|0)==(c|0))b=0;else b=(k[c+(((a>>>0)/170|0)<<2)>>2]|0)+(((a>>>0)%170|0)*24|0)|0;a=e+(f*24|0)|0;q=a|0;k[b>>2]=k[q>>2];k[b+4>>2]=k[q+4>>2];k[b+8>>2]=k[q+8>>2];k[b+12>>2]=k[q+12>>2];k[b+16>>2]=k[a+16>>2];a=k[a+20>>2]|0;k[b+20>>2]=a;if(a|0)c3(a);k[o>>2]=(k[o>>2]|0)+1;a=k[i>>2]|0;d=k[h>>2]|0;b=a+-1+d|0;c=k[j>>2]|0;b=k[(k[c+(((b>>>0)/170|0)<<2)>>2]|0)+(((b>>>0)%170|0)*24|0)+20>>2]|0;if(!b)e=a;else{CQ(b);e=k[i>>2]|0;c=k[j>>2]|0;d=k[h>>2]|0}a=e+-1|0;k[i>>2]=a;b=k[g>>2]|0;q=b-c>>2;if((1-e-d+((q|0)==0?0:(q*170|0)+-1|0)|0)>>>0>339){uha(k[b+-4>>2]|0);k[g>>2]=(k[g>>2]|0)+-4;a=k[i>>2]|0}if(!a){a=20;break}}if((a|0)==20)return}function sm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=0;o=r;r=r+32|0;c=o+12|0;h=o;j=b+64|0;l=b+68|0;if((k[j>>2]|0)==(k[l>>2]|0)){r=o;return}m=a+4|0;lE(c,44233,7);x=0;Qa(134,m|0,c|0,b|0);g=x;x=0;if(g&1){o=mb()|0;P1(c);yb(o|0)}P1(c);vba(m);d=k[j>>2]|0;c=k[d>>2]|0;if(c|0){c=Ot(c,64,448,0)|0;if(c|0)i[c+48>>0]=0}g=k[d>>2]|0;rc[k[(k[g>>2]|0)+28>>2]&1023](g,a);if(((k[l>>2]|0)-(k[j>>2]|0)|0)==4){c=b+88|0;if(k[c>>2]|0){vba(m);g=k[c>>2]|0;rc[k[(k[g>>2]|0)+28>>2]&1023](g,a)}}EF(m);c=(k[l>>2]|0)-(k[j>>2]|0)>>2;if(c>>>0<=1){r=o;return}d=b+88|0;g=1;while(1){AU(m);lE(h,44233,7);x=0;Qa(134,m|0,h|0,b|0);f=x;x=0;if(f&1)break;P1(h);vba(m);e=k[(k[j>>2]|0)+(g<<2)>>2]|0;if(e|0){f=Ot(e,64,448,0)|0;if(f|0)i[f+48>>0]=0}rc[k[(k[e>>2]|0)+28>>2]&1023](e,a);if((((k[l>>2]|0)-(k[j>>2]|0)>>2)+-1|0)==(g|0))if(k[d>>2]|0){vba(m);f=k[d>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a)}EF(m);g=g+1|0;if(g>>>0>=c>>>0){n=21;break}}if((n|0)==21){r=o;return}o=mb()|0;P1(h);yb(o|0)}function tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;h=0;p=r;r=r+80|0;l=p+60|0;m=p+48|0;d=p+8|0;n=p;o=a+76|0;f=k[o>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){o=0;r=p;return o|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0;if(!(e<<24>>24)){g=0;e=f}else{b=e;h=4}}else{b=e;h=4}a:do if((h|0)==4){e=f;g=0;h=0;j=0;b:while(1){c:do switch(b<<24>>24){case 92:{e=e+1|0;break}case 34:{g=g^1;break}case 39:{h=h^1;break}default:if(g)g=1;else if(h){g=0;h=1}else{switch(b<<24>>24){case 40:{g=0;h=0;j=j+1|0;break c}case 41:break;default:{g=0;h=0;break c}}if(!j)break b;g=0;h=0;j=j+-1|0}}while(0);e=e+1|0;b=i[e>>0]|0;if(!(b<<24>>24)){g=0;e=f;break a}}e=e+1|0;if(e>>>0>(k[a+80>>2]|0)>>>0){o=0;r=p;return o|0}else{g=e;e=f}}while(0);if(!c)if((g|0)==0|(g|0)==(e|0)){o=0;r=p;return o|0}c=k[o>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=g;b=a+84|0;j=a+96|0;wC(m,j,c,e);k[b>>2]=k[m>>2];k[b+4>>2]=k[m+4>>2];k[b+8>>2]=k[m+8>>2];wC(l,j,e,g);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(n,j,b);k[l>>2]=k[n>>2];k[l+4>>2]=k[n+4>>2];EC(d,c,e,a+152|0,b,l);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[o>>2]=g;o=g;r=p;return o|0}function um(a,b,c,d,e,f,g,h,j,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;m=m|0;n=n|0;o=o|0;a:do if(a<<24>>24==f<<24>>24)if(!(i[b>>0]|0))f=-1;else{i[b>>0]=0;c=k[e>>2]|0;k[e>>2]=c+1;i[c>>0]=46;e=i[h>>0]|0;if(!(((e&1)==0?(e&255)>>>1:k[h+4>>2]|0)|0))f=0;else{f=k[m>>2]|0;if((f-j|0)<160){j=k[n>>2]|0;k[m>>2]=f+4;k[f>>2]=j;f=0}else f=0}}else{if(a<<24>>24==g<<24>>24){g=i[h>>0]|0;if(((g&1)==0?(g&255)>>>1:k[h+4>>2]|0)|0){if(!(i[b>>0]|0)){f=-1;break}f=k[m>>2]|0;if((f-j|0)>=160){f=0;break}j=k[n>>2]|0;k[m>>2]=f+4;k[f>>2]=j;k[n>>2]=0;f=0;break}}g=o+32|0;f=o;while(1){if((f|0)==(g|0)){f=g;break}if((i[f>>0]|0)==a<<24>>24)break;f=f+1|0}g=f-o|0;if((g|0)>31)f=-1;else{a=i[49232+g>>0]|0;switch(g|0){case 24:case 25:{f=k[e>>2]|0;if((f|0)!=(d|0))if((l[f+-1>>0]&95|0)!=(l[c>>0]&127|0)){f=-1;break a}k[e>>2]=f+1;i[f>>0]=a;f=0;break a}case 23:case 22:{i[c>>0]=80;f=k[e>>2]|0;k[e>>2]=f+1;i[f>>0]=a;f=0;break a}default:{f=a&95;if((f|0)==(i[c>>0]|0)){i[c>>0]=f|128;if(i[b>>0]|0){i[b>>0]=0;c=i[h>>0]|0;if(((c&1)==0?(c&255)>>>1:k[h+4>>2]|0)|0){f=k[m>>2]|0;if((f-j|0)<160){j=k[n>>2]|0;k[m>>2]=f+4;k[f>>2]=j}}}}m=k[e>>2]|0;k[e>>2]=m+1;i[m>>0]=a;if((g|0)>21){f=0;break a}k[n>>2]=(k[n>>2]|0)+1;f=0;break a}}}}while(0);return f|0}function vm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;l=0;n=r;r=r+16|0;f=n+12|0;m=n;g=n+8|0;x=0;sa(457,m|0,a|0);j=x;x=0;a:do if(j&1){c=Eb(0)|0;d=a;e=a}else{do if(i[m>>0]|0){j=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;k[g>>2]=k[j+24>>2];h=k[j+4>>2]|0;e=b+c|0;d=j+76|0;c=k[d>>2]|0;do if((c|0)==-1){x=0;c=ua(189,j|0)|0;o=x;x=0;if(o&1)l=13;else{k[f>>2]=c;x=0;c=Ka(865,f|0,74172)|0;o=x;x=0;if(!(o&1)){x=0;c=Ka(k[(k[c>>2]|0)+28>>2]|0,c|0,32)|0;o=x;x=0;if(!(o&1)){J5(f);c=c<<24>>24;k[d>>2]=c;l=9;break}}c=Eb(0)|0;J5(f)}}else l=9;while(0);if((l|0)==9){x=0;k[f>>2]=k[g>>2];c=ta(39,f|0,b|0,((h&176|0)==32?e:b)|0,e|0,j|0,c&255|0)|0;o=x;x=0;if(o&1)l=13;else{if(c|0)break;o=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;x=0;sa(458,o|0,k[o+16>>2]|5|0);o=x;x=0;if(o&1)l=13;else break}}if((l|0)==13)c=Eb(0)|0;bx(m);d=a;e=a;break a}while(0);bx(m);r=n;return a|0}while(0);Bb(c|0)|0;x=0;ra(325,d+(k[(k[e>>2]|0)+-12>>2]|0)|0);o=x;x=0;if(!(o&1)){xb();r=n;return a|0}c=mb()|0;x=0;pa(3);o=x;x=0;if(o&1){o=Eb(0)|0;Nba(o)}else yb(c|0);return 0}function wm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+64|0;q=s+16|0;g=s;lE(g,38223,4);x=0;b=q;j=e;l=b+40|0;do{k[b>>2]=k[j>>2];b=b+4|0;j=j+4|0}while((b|0)<(l|0));b=ta(124,g|0,a|0,d|0,q|0,f|0,c|0)|0;p=x;x=0;if(p&1){s=mb()|0;P1(g);yb(s|0)}P1(g);m=c+36|0;n=lD(m,84)|0;o=b+80|0;p=b+84|0;c=(k[p>>2]|0)-(k[o>>2]|0)|0;h=c>>2;k[n+4>>2]=0;b=n+8|0;j=e;l=b+40|0;do{k[b>>2]=k[j>>2];b=b+4|0;j=j+4|0}while((b|0)<(l|0));i[n+48>>0]=0;i[n+49>>0]=0;i[n+50>>0]=0;b=n+52|0;k[b>>2]=0;k[n>>2]=10312;g=n+56|0;k[g>>2]=5132;f=n+60|0;k[f>>2]=0;a=n+64|0;k[a>>2]=0;d=n+68|0;k[d>>2]=0;if(h|0){e=GG(c)|0;l=e;k[f>>2]=l;k[a>>2]=l;k[d>>2]=e+(h<<2)}k[n>>2]=4992;k[g>>2]=5104;k[n+76>>2]=0;i[n+80>>0]=0;i[n+81>>0]=0;k[b>>2]=5;n=N4(m,n)|0;b=k[o>>2]|0;d=k[p>>2]|0;if((b|0)==(d|0)){r=s;return n|0}c=n+56|0;h=n+72|0;j=n+64|0;l=n+68|0;m=n+60|0;do{g=k[b>>2]|0;k[q>>2]=g;f=g;if(g|0){k[h>>2]=0;a=k[j>>2]|0;if((a|0)==(k[l>>2]|0))uw(m,q);else{k[a>>2]=f;k[j>>2]=(k[j>>2]|0)+4}rc[k[k[c>>2]>>2]&1023](c,g)}b=b+4|0}while((b|0)!=(d|0));r=s;return n|0}function xm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;if(!a){h=0;return h|0}h=i[38919]|0;d=h<<24>>24==0;a:do if(!d){b=h;c=38919;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);b=i[a>>0]|0;if(!(b<<24>>24)){h=0;return h|0}if(d){c=0;d=0;while(1){switch(b<<24>>24){case 92:{a=a+1|0;break}case 34:{c=c^1;break}case 39:{d=d^1;break}default:if(c)c=1;else{a=d?a:a+-1|0;c=0}}a=a+1|0;b=i[a>>0]|0;if(!(b<<24>>24)){a=0;break}}return a|0}else{f=a;c=0;d=0;g=0}b:while(1){c:do switch(b<<24>>24){case 92:{a=f+1|0;e=g;break}case 34:{a=f;c=c^1;e=g;break}case 39:{a=f;d=d^1;e=g;break}default:if(c){a=f;c=1;e=g}else if(d){a=f;c=0;d=1;e=g}else if(!f){a=0;c=0;d=0;e=g}else{d:do if(b<<24>>24==h<<24>>24){c=f;e=38919;while(1){a=c;c=c+1|0;e=e+1|0;d=i[e>>0]|0;if(!(d<<24>>24))break;if((i[c>>0]|0)!=d<<24>>24)break d}c=0;d=0;e=g+1|0;break c}while(0);a=i[43519]|0;e:do if(!(a<<24>>24))a=f;else{if(b<<24>>24==a<<24>>24){a=f;c=43519}else{a=f;c=0;d=0;e=g;break c}while(1){a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break e;if((i[a>>0]|0)!=b<<24>>24){a=f;c=0;d=0;e=g;break c}}}while(0);if(!g){b=32;break b}a=a+-1|0;c=0;d=0;e=g+-1|0}}while(0);f=a+1|0;b=i[f>>0]|0;if(!(b<<24>>24)){a=0;b=32;break}else g=e}if((b|0)==32)return a|0;return 0}function ym(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=0;h=k[a>>2]|0;e=h;g=i[e>>0]|0;d=g&255;do if(g<<24>>24>-1)if((e|0)==(k[b>>2]|0))d=1;else{f=1;j=24}else{if((d&224|0)==192){b=k[b>>2]|0;if((e|0)==(b|0)){d=1;break}e=e+1|0;k[a>>2]=e;if((e|0)==(b|0)){d=1;break}b=i[e>>0]|0;if((b&-64)<<24>>24!=-128){d=3;break}f=2;d=b&63|d<<6&1984;j=24;break}if((d&240|0)==224){f=k[b>>2]|0;if((e|0)==(f|0)){d=1;break}b=e+1|0;k[a>>2]=b;if((b|0)==(f|0)){d=1;break}g=i[b>>0]|0;if((g&-64)<<24>>24!=-128){d=3;break}e=e+2|0;k[a>>2]=e;if((e|0)==(f|0)){d=1;break}b=i[e>>0]|0;if((b&-64)<<24>>24!=-128){d=3;break}f=3;d=(g&255)<<6&4032|d<<12&61440|b&63;j=24;break}if((d&248|0)!=240){j=2;return j|0}f=k[b>>2]|0;if((e|0)==(f|0))d=1;else{b=e+1|0;k[a>>2]=b;if((b|0)==(f|0))d=1;else{b=i[b>>0]|0;if((b&-64)<<24>>24==-128){b=(b&255)<<12&258048|d<<18&1835008;d=e+2|0;k[a>>2]=d;if((d|0)==(f|0))d=1;else{d=i[d>>0]|0;if((d&-64)<<24>>24==-128){b=b|(d&255)<<6&4032;e=e+3|0;k[a>>2]=e;if((e|0)==(f|0))d=1;else{d=i[e>>0]|0;if((d&-64)<<24>>24==-128){f=4;d=b|d&63;j=24}else d=3}}else d=3}}else d=3}}}while(0);a:do if((j|0)==24)if(d>>>0<1114112&(d&-2048|0)!=55296){do if(d>>>0<128){if((f|0)!=1){d=4;break a}}else if(d>>>0<2048)if((f|0)==2)break;else{d=4;break a}else if((f|0)!=3&d>>>0<65536){d=4;break a}else break;while(0);k[c>>2]=d;k[a>>2]=e+1;j=0;return j|0}else d=5;while(0);k[a>>2]=h;j=d;return j|0}function zm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=0;h=k[a>>2]|0;e=h;g=i[e>>0]|0;d=g&255;do if(g<<24>>24>-1)if((e|0)==(k[b>>2]|0))d=1;else{f=1;j=24}else{if((d&224|0)==192){b=k[b>>2]|0;if((e|0)==(b|0)){d=1;break}e=e+1|0;k[a>>2]=e;if((e|0)==(b|0)){d=1;break}b=i[e>>0]|0;if((b&-64)<<24>>24!=-128){d=3;break}f=2;d=b&63|d<<6&1984;j=24;break}if((d&240|0)==224){f=k[b>>2]|0;if((e|0)==(f|0)){d=1;break}b=e+1|0;k[a>>2]=b;if((b|0)==(f|0)){d=1;break}g=i[b>>0]|0;if((g&-64)<<24>>24!=-128){d=3;break}e=e+2|0;k[a>>2]=e;if((e|0)==(f|0)){d=1;break}b=i[e>>0]|0;if((b&-64)<<24>>24!=-128){d=3;break}f=3;d=(g&255)<<6&4032|d<<12&61440|b&63;j=24;break}if((d&248|0)!=240){j=2;return j|0}f=k[b>>2]|0;if((e|0)==(f|0))d=1;else{b=e+1|0;k[a>>2]=b;if((b|0)==(f|0))d=1;else{b=i[b>>0]|0;if((b&-64)<<24>>24==-128){b=(b&255)<<12&258048|d<<18&1835008;d=e+2|0;k[a>>2]=d;if((d|0)==(f|0))d=1;else{d=i[d>>0]|0;if((d&-64)<<24>>24==-128){b=b|(d&255)<<6&4032;e=e+3|0;k[a>>2]=e;if((e|0)==(f|0))d=1;else{d=i[e>>0]|0;if((d&-64)<<24>>24==-128){f=4;d=b|d&63;j=24}else d=3}}else d=3}}else d=3}}}while(0);a:do if((j|0)==24)if(d>>>0<1114112&(d&-2048|0)!=55296){do if(d>>>0<128){if((f|0)!=1){d=4;break a}}else if(d>>>0<2048)if((f|0)==2)break;else{d=4;break a}else if((f|0)!=3&d>>>0<65536){d=4;break a}else break;while(0);k[c>>2]=d;k[a>>2]=e+1;j=0;return j|0}else d=5;while(0);k[a>>2]=h;j=d;return j|0}function Am(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,i=0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0,s=0,t=0,u=0.0,v=0,w=0,y=0;y=r;r=r+64|0;w=y+24|0;b=y+12|0;i=y;lE(b,36999,6);x=0;q=w;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));v=wa(24,b|0,a|0,d|0,w|0,f|0)|0;t=x;x=0;if(t&1){e=mb()|0;P1(b);yb(e|0)}P1(b);lE(i,37075,7);x=0;q=w;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));f=La(1,i|0,a|0,d|0,w|0,0.0,100.0,f|0)|0;t=x;x=0;if(t&1){e=mb()|0;P1(i);yb(e|0)}P1(i);j=+p[v+56>>3]/255.0;l=+p[v+64>>3]/255.0;m=+p[v+72>>3]/255.0;b=l>3];h=h<=0.0?0.0:h;h=h>100.0?100.0:h;g=+p[v+80>>3];q=w;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));e=lm(l,h,j,g,c,w)|0;r=y;return e|0}function Bm(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;e=0;o=r;r=r+80|0;c=o;n=o+8|0;p[c>>3]=b;iN(n,39211,c)|0;c=(i[n>>0]|0)==45?n+1|0:n;d=i[c>>0]|0;if(d<<24>>24==48){c=c+1|0;d=i[c>>0]|0;e=5}else if((d+-48&255)<10){do{c=c+1|0;d=i[c>>0]|0}while((d+-48&255)<10);e=5}a:do if((e|0)==5){if(d<<24>>24==46){c=c+1|0;if(((i[c>>0]|0)+-48&255)>=10)break;do{c=c+1|0;d=i[c>>0]|0}while((d+-48&255)<10)}switch(d<<24>>24){case 101:case 69:{d=c+1|0;e=i[d>>0]|0;switch(e<<24>>24){case 45:case 43:{c=c+2|0;d=c;c=i[c>>0]|0;break}default:c=e}if((c+-48&255)>=10)break a;do{d=d+1|0;c=i[d>>0]|0}while((c+-48&255)<10);break}default:c=d}if(!(c<<24>>24)){j=OD(n)|0;l=a+4|0;e=k[l>>2]|0;d=k[a>>2]|0;c=d;do if((e-d|0)<(j|0)){h=a+8|0;f=k[h>>2]|0;g=d-f|0;c=g+j|0;d=e-f|0;do d=d<<1;while(d>>>0>>0);c=OC(f,d|1)|0;k[h>>2]=c;if(!c){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{m=c+g|0;k[a>>2]=m;k[l>>2]=c+d;break}}else m=c;while(0);WC(m|0,n|0,j|0)|0;k[a>>2]=(k[a>>2]|0)+j;r=o;return}}while(0);j=a+4|0;e=k[j>>2]|0;d=k[a>>2]|0;c=d;do if((e-d|0)<4){h=a+8|0;f=k[h>>2]|0;g=d-f|0;c=g+4|0;d=e-f|0;do d=d<<1;while(d>>>0>>0);c=OC(f,d|1)|0;k[h>>2]=c;if(!c){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{l=c+g|0;k[a>>2]=l;k[j>>2]=c+d;break}}else l=c;while(0);i[l>>0]=110;i[l+1>>0]=117;i[l+2>>0]=108;i[l+3>>0]=108;k[a>>2]=(k[a>>2]|0)+4;r=o;return}function Cm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+80|0;g=p+40|0;b=p+24|0;h=p+12|0;l=p;lE(b,38685,6);x=0;m=g;n=e;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));j=ta(125,b|0,a|0,d|0,g|0,f|0,c|0)|0;o=x;x=0;if(o&1){e=mb()|0;P1(b);yb(e|0)}P1(b);lE(h,38692,4);x=0;m=g;n=e;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));b=ta(125,h|0,a|0,d|0,g|0,f|0,c|0)|0;o=x;x=0;if(o&1){e=mb()|0;P1(h);yb(e|0)}P1(h);h=k[(k[j>>2]|0)+120>>2]|0;lE(l,78097,0);x=0;h=xa(h|0,j|0,b|0,l|0)|0;o=x;x=0;if(!(o&1)){P1(l);b=c+36|0;g=lD(b,64)|0;k[g+4>>2]=0;m=g+8|0;n=e;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;k[g>>2]=5684;i[g+56>>0]=h&1;k[g+60>>2]=0;k[g+52>>2]=1;e=N4(b,g)|0;r=p;return e|0}e=mb()|0;P1(l);yb(e|0);return 0}function Dm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,i=0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0,s=0,t=0,u=0.0,v=0,w=0,y=0;y=r;r=r+64|0;w=y+24|0;b=y+12|0;i=y;lE(b,36999,6);x=0;q=w;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));v=wa(24,b|0,a|0,d|0,w|0,f|0)|0;t=x;x=0;if(t&1){e=mb()|0;P1(b);yb(e|0)}P1(b);lE(i,37075,7);x=0;q=w;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));f=La(1,i|0,a|0,d|0,w|0,0.0,100.0,f|0)|0;t=x;x=0;if(t&1){e=mb()|0;P1(i);yb(e|0)}P1(i);j=+p[v+56>>3]/255.0;l=+p[v+64>>3]/255.0;m=+p[v+72>>3]/255.0;b=l100.0?100.0:h)-+p[f+56>>3];g=+p[v+80>>3];q=w;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));e=lm(l,j,h,g,c,w)|0;r=y;return e|0}function Em(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,i=0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0,s=0,t=0,u=0.0,v=0,w=0,y=0;y=r;r=r+64|0;w=y+24|0;b=y+12|0;i=y;lE(b,36999,6);x=0;q=w;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));v=wa(24,b|0,a|0,d|0,w|0,f|0)|0;t=x;x=0;if(t&1){e=mb()|0;P1(b);yb(e|0)}P1(b);lE(i,37075,7);x=0;q=w;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));f=La(1,i|0,a|0,d|0,w|0,0.0,100.0,f|0)|0;t=x;x=0;if(t&1){e=mb()|0;P1(i);yb(e|0)}P1(i);j=+p[v+56>>3]/255.0;l=+p[v+64>>3]/255.0;m=+p[v+72>>3]/255.0;b=l>3];g=+p[v+80>>3];q=w;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));e=lm(l,j,h,g,c,w)|0;r=y;return e|0}function Fm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;if((c|0)==(b|0)){j=d;j=k[j>>2]|0;d=d+4|0;d=k[d>>2]|0;b=a;k[b>>2]=j;a=a+4|0;k[a>>2]=d;return}i=b;j=d+4|0;do{f=d;h=k[f>>2]|0;e=h;h=(k[f+4>>2]|0)-(k[h>>2]|0)|0;f=(h|0)/24|0;g=f+-1|0;if((h|0)>24){f=e+(((g|0)/170|0)<<2)|0;e=(k[f>>2]|0)+(((g|0)%170|0)*24|0)|0}else{h=170-f|0;f=e+(((h|0)/-170|0)<<2)|0;e=(k[f>>2]|0)+((169-((h|0)%170|0)|0)*24|0)|0}g=e+24|0;f=(g-(k[f>>2]|0)|0)/24|0;h=(c-i|0)/24|0;l=(h|0)>(f|0);h=l?f:h;e=c;c=l?c+((0-f|0)*24|0)|0:b;if((e|0)!=(c|0)){f=g;do{l=f;f=f+-24|0;n=e;e=e+-24|0;k[f>>2]=k[e>>2];k[f+4>>2]=k[e+4>>2];k[f+8>>2]=k[e+8>>2];k[f+12>>2]=k[e+12>>2];o=n+-8|0;g=k[o>>2]|0;n=n+-4|0;m=k[n>>2]|0;k[o>>2]=0;k[n>>2]=0;k[l+-8>>2]=g;l=l+-4|0;g=k[l>>2]|0;k[l>>2]=m;if(g|0)CQ(g)}while((e|0)!=(c|0))}do if(h|0){f=k[d>>2]|0;e=(((k[j>>2]|0)-(k[f>>2]|0)|0)/24|0)-h|0;if((e|0)>0){o=f+(((e|0)/170|0)<<2)|0;k[d>>2]=o;k[j>>2]=(k[o>>2]|0)+(((e|0)%170|0)*24|0);break}else{o=169-e|0;n=f+(((o|0)/-170|0)<<2)|0;k[d>>2]=n;k[j>>2]=(k[n>>2]|0)+((169-((o|0)%170|0)|0)*24|0);break}}while(0)}while((c|0)!=(b|0));n=d;l=n;l=k[l>>2]|0;n=n+4|0;n=k[n>>2]|0;o=a;m=o;k[m>>2]=l;o=o+4|0;k[o>>2]=n;return}function Gm(a){a=a|0;var b=0;do if(!(i[67968]|0))if(q3(67968)|0){if(!(i[67976]|0))if(q3(67976)|0){a=75056;do{b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}a=a+12|0}while((a|0)!=75224);Ub(358,0,w|0)|0}x=0;Ka(910,75056,22648)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75068,22676)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75080,22704)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75092,22736)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75104,22776)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75116,22812)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75128,22840)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75140,22876)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75152,22892)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75164,22908)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75176,22924)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75188,22940)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75200,22956)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75212,22972)|0;b=x;x=0;if(!(b&1)){k[18806]=75056;break}}}}}}}}}}}}}}b=mb()|0;yb(b|0)}while(0);return k[18806]|0}function Hm(a){a=a|0;var b=0;do if(!(i[67888]|0))if(q3(67888)|0){if(!(i[67896]|0))if(q3(67896)|0){a=74244;do{b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}a=a+12|0}while((a|0)!=74412);Ub(355,0,w|0)|0}x=0;Ka(874,74244,49754)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74256,49761)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74268,49768)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74280,49776)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74292,49786)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74304,49795)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74316,49802)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74328,49811)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74340,49815)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74352,49819)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74364,49823)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74376,49827)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74388,49831)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74400,49835)|0;b=x;x=0;if(!(b&1)){k[18603]=74244;break}}}}}}}}}}}}}}b=mb()|0;yb(b|0)}while(0);return k[18603]|0}function Im(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+80|0;f=j+64|0;g=j+52|0;d=j+40|0;h=j;c=a+76|0;b=LD(k[c>>2]|0)|0;e=a+80|0;if((b|0)==0?1:b>>>0>(k[e>>2]|0)>>>0)b=k[c>>2]|0;c=bO(b)|0;b=c|0?c:b;switch(i[b>>0]|0){case 59:case 125:{b=b+1|0;break}default:b=Z9(b)|0}a:do if(!((b|0)==0?1:b>>>0>(k[e>>2]|0)>>>0)){lE(f,39906,11);x=0;Qa(74,g|0,39918,7);e=x;x=0;if(e&1){j=mb()|0;P1(f);yb(j|0)}x=0;Qa(74,d|0,40150,44);e=x;x=0;do if(e&1)b=mb()|0;else{x=0;Ua(31,a|0,f|0,g|0,d|0);e=x;x=0;if(e&1){b=mb()|0;P1(d);break}else{P1(d);P1(g);P1(f);break a}}while(0);P1(g);j=b;P1(f);yb(j|0)}while(0);c=(k[a+40>>2]|0)+36|0;d=lD(c,68)|0;e=h;f=a+108|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));b=Ef(a)|0;k[d+4>>2]=0;e=d+8|0;f=h;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d>>2]=15776;k[d+64>>2]=b;k[d+52>>2]=15;h=N4(c,d)|0;r=j;return h|0}function Jm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;l=r;r=r+48|0;h=l;g=k[b+56>>2]|0;g=Jc[k[(k[g>>2]|0)+40>>2]&1023](g,a)|0;j=k[b+60>>2]|0;j=Jc[k[(k[j>>2]|0)+40>>2]&1023](j,a)|0;d=(k[a+8>>2]|0)+36|0;e=lD(d,84)|0;f=h;b=b+8|0;c=f+40|0;do{k[f>>2]=k[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(c|0));k[e+4>>2]=0;f=e+8|0;b=h;c=f+40|0;do{k[f>>2]=k[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(c|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;f=e+52|0;k[e>>2]=11328;i[e+56>>0]=0;k[f>>2]=4;b=e+60|0;k[b>>2]=5132;p=e+64|0;k[p>>2]=0;n=e+68|0;k[n>>2]=0;c=e+72|0;k[c>>2]=0;m=GG(8)|0;o=m;k[p>>2]=o;k[n>>2]=o;k[c>>2]=m+8;k[e>>2]=5788;k[b>>2]=5904;k[e+80>>2]=0;k[f>>2]=4;e=N4(d,e)|0;f=e+60|0;k[h>>2]=g;b=g;if(g|0){k[f+16>>2]=0;c=f+8|0;d=k[c>>2]|0;if((d|0)==(k[f+12>>2]|0))uw(f+4|0,h);else{k[d>>2]=b;k[c>>2]=(k[c>>2]|0)+4}rc[k[k[f>>2]>>2]&1023](f,g)}k[h>>2]=j;if(!j){p=k[e>>2]|0;p=p+40|0;p=k[p>>2]|0;p=Jc[p&1023](e,a)|0;r=l;return p|0}k[f+16>>2]=0;b=f+8|0;c=k[b>>2]|0;if((c|0)==(k[f+12>>2]|0))uw(f+4|0,h);else{k[c>>2]=j;k[b>>2]=(k[b>>2]|0)+4}rc[k[k[f>>2]>>2]&1023](f,j);p=k[e>>2]|0;p=p+40|0;p=k[p>>2]|0;p=Jc[p&1023](e,a)|0;r=l;return p|0}function Km(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a=k[b>>2]|0;do if(!a)g=1;else{f=k[a+12>>2]|0;if((f|0)==(k[a+16>>2]|0))a=tc[k[(k[a>>2]|0)+36>>2]&511](a)|0;else a=k[f>>2]|0;if((a|0)==-1){k[b>>2]=0;g=1;break}else{g=(k[b>>2]|0)==0;break}}while(0);f=k[c>>2]|0;do if(!f)i=14;else{a=k[f+12>>2]|0;if((a|0)==(k[f+16>>2]|0))a=tc[k[(k[f>>2]|0)+36>>2]&511](f)|0;else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;i=14;break}else if(g){h=f;i=17;break}else{i=16;break}}while(0);if((i|0)==14)if(g)i=16;else{h=0;i=17}a:do if((i|0)==16)k[d>>2]=k[d>>2]|6;else if((i|0)==17){a=k[b>>2]|0;f=k[a+12>>2]|0;if((f|0)==(k[a+16>>2]|0))a=tc[k[(k[a>>2]|0)+36>>2]&511](a)|0;else a=k[f>>2]|0;if((wc[k[(k[e>>2]|0)+52>>2]&127](e,a,0)|0)<<24>>24!=37){k[d>>2]=k[d>>2]|4;break}a=k[b>>2]|0;f=a+12|0;g=k[f>>2]|0;if((g|0)==(k[a+16>>2]|0)){tc[k[(k[a>>2]|0)+40>>2]&511](a)|0;a=k[b>>2]|0;if(!a)f=1;else i=25}else{k[f>>2]=g+4;i=25}do if((i|0)==25){f=k[a+12>>2]|0;if((f|0)==(k[a+16>>2]|0))a=tc[k[(k[a>>2]|0)+36>>2]&511](a)|0;else a=k[f>>2]|0;if((a|0)==-1){k[b>>2]=0;f=1;break}else{f=(k[b>>2]|0)==0;break}}while(0);do if(!h)i=37;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0))a=tc[k[(k[h>>2]|0)+36>>2]&511](h)|0;else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;i=37;break}else if(f)break a;else break}while(0);if((i|0)==37)if(!f)break;k[d>>2]=k[d>>2]|2}while(0);return}function Lm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,i=0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0,s=0,t=0,u=0.0,v=0,w=0,y=0;y=r;r=r+64|0;w=y+24|0;b=y+12|0;i=y;lE(b,36999,6);x=0;q=w;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));v=wa(24,b|0,a|0,d|0,w|0,f|0)|0;t=x;x=0;if(t&1){e=mb()|0;P1(b);yb(e|0)}P1(b);lE(i,37066,8);x=0;q=w;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));f=wa(23,i|0,a|0,d|0,w|0,f|0)|0;t=x;x=0;if(t&1){e=mb()|0;P1(i);yb(e|0)}P1(i);j=+p[v+56>>3]/255.0;l=+p[v+64>>3]/255.0;m=+p[v+72>>3]/255.0;b=l>3]+h/6.0*360.0;g=+p[v+80>>3];q=w;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));e=lm(h,l,j,g,c,w)|0;r=y;return e|0}function Mm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+80|0;j=o+60|0;l=o+48|0;d=o+8|0;m=o;n=a+76|0;e=k[n>>2]|0;if(!(i[e>>0]|0)){n=0;r=o;return n|0}if(b){h=bO(e)|0;h=h|0?h:e}else h=e;a:do if(!h)f=0;else{b=i[43504]|0;if(!(b<<24>>24))e=h;else{e=h;f=43504;do{if((i[e>>0]|0)!=b<<24>>24){f=0;break a}e=e+1|0;f=f+1|0;b=i[f>>0]|0}while(b<<24>>24!=0)}b=i[e>>0]|0;if(!(b<<24>>24))f=0;else{b:while(1){if(e|0){f=i[44840]|0;if(!(f<<24>>24))break;if(b<<24>>24==f<<24>>24){b=e;g=44840;do{b=b+1|0;g=g+1|0;f=i[g>>0]|0;if(!(f<<24>>24)){e=b;break b}}while((i[b>>0]|0)==f<<24>>24)}}e=e+1|0;b=i[e>>0]|0;if(!(b<<24>>24)){f=0;break a}}if(e>>>0>(k[a+80>>2]|0)>>>0){n=0;r=o;return n|0}else f=e}}while(0);if(!c)if((f|0)==0|(f|0)==(h|0)){n=0;r=o;return n|0}c=k[n>>2]|0;k[a+152>>2]=c;k[a+156>>2]=h;k[a+160>>2]=f;b=a+84|0;g=a+96|0;wC(l,g,c,h);k[b>>2]=k[l>>2];k[b+4>>2]=k[l+4>>2];k[b+8>>2]=k[l+8>>2];wC(j,g,h,f);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(m,g,b);k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];EC(d,c,e,a+152|0,b,j);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[n>>2]=f;n=f;r=o;return n|0}function Nm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=(c-b|0)/12|0;i=a+8|0;f=k[i>>2]|0;d=k[a>>2]|0;h=d;if(e>>>0<=((f-d|0)/12|0)>>>0){i=a+4|0;d=((k[i>>2]|0)-d|0)/12|0;g=e>>>0>d>>>0;d=b+(d*12|0)|0;f=g?d:c;if((f|0)==(b|0))e=h;else{e=h;do{lH(e,b)|0;b=b+12|0;e=e+12|0}while((b|0)!=(f|0))}if(!g){d=k[i>>2]|0;if((d|0)==(e|0))return;do{c=d+-12|0;k[i>>2]=c;P1(c);d=k[i>>2]|0}while((d|0)!=(e|0));return}if((f|0)==(c|0))return;b=k[i>>2]|0;do{_G(b,d);b=(k[i>>2]|0)+12|0;k[i>>2]=b;d=d+12|0}while((d|0)!=(c|0));return}if(!d)d=f;else{g=a+4|0;f=k[g>>2]|0;if((f|0)!=(h|0)){d=f;do{f=d+-12|0;k[g>>2]=f;P1(f);d=k[g>>2]|0}while((d|0)!=(h|0));d=k[a>>2]|0}uha(d);k[i>>2]=0;k[g>>2]=0;k[a>>2]=0;d=0}g=e>>>0>357913941;if(g){fH(a);d=k[i>>2]|0;f=k[a>>2]|0}else f=0;d=(d-f|0)/12|0;if(d>>>0<178956970){f=d<<1;d=f>>>0>=e>>>0;if(d|g^1)e=d?f:e;else fH(a)}else e=357913941;d=GG(e*12|0)|0;f=a+4|0;k[f>>2]=d;k[a>>2]=d;k[i>>2]=d+(e*12|0);if((b|0)==(c|0))return;do{_G(d,b);d=(k[f>>2]|0)+12|0;k[f>>2]=d;b=b+12|0}while((b|0)!=(c|0));return}function Om(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;l=m;b=(k[a+40>>2]|0)+36|0;c=lD(b,84)|0;d=l;e=a+108|0;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));k[c+4>>2]=0;d=c+8|0;e=l;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;i[c+56>>0]=0;k[c+64>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;k[c>>2]=5788;k[c+60>>2]=5904;k[c+80>>2]=0;k[c+52>>2]=4;e=N4(b,c)|0;b=a+76|0;if(!(i[k[b>>2]>>0]|0)){a=0;r=m;return a|0}Et(a,0,0)|0;c=_m(a)|0;if(!c){a=0;r=m;return a|0}f=e+60|0;k[l>>2]=c;g=f+16|0;k[g>>2]=0;h=f+8|0;d=k[h>>2]|0;j=f+12|0;if((d|0)==(k[j>>2]|0))uw(f+4|0,l);else{k[d>>2]=c;k[h>>2]=(k[h>>2]|0)+4}rc[k[k[f>>2]>>2]&1023](f,c);if(!(i[k[b>>2]>>0]|0)){qc[k[(k[e>>2]|0)+96>>2]&511](e);a=e;r=m;return a|0}b=_m(a)|0;if(b|0){d=f+4|0;do{k[l>>2]=b;k[g>>2]=0;c=k[h>>2]|0;if((c|0)==(k[j>>2]|0))uw(d,l);else{k[c>>2]=b;k[h>>2]=(k[h>>2]|0)+4}rc[k[k[f>>2]>>2]&1023](f,b);b=_m(a)|0}while((b|0)!=0)}zt(a,1,0)|0;qc[k[(k[e>>2]|0)+96>>2]&511](e);a=e;r=m;return a|0}function Pm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;h=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>4)+1|0;if(e>>>0>268435455){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>4>>>0<134217727){d=d>>3;d=d>>>0>>0?e:d;c=(k[j>>2]|0)-c>>4;if(!d){f=0;g=0;d=c}else h=6}else{d=268435455;c=(k[j>>2]|0)-c>>4;h=6}if((h|0)==6){f=d;g=GG(d<<4)|0;d=c}m=g+(d<<4)|0;e=m|0;c=e;h=g+(f<<4)|0;k[e>>2]=k[b>>2];f=b+4|0;l=g+(d<<4)+12|0;k[l>>2]=0;k[m+4>>2]=k[f>>2];g=b+8|0;k[m+8>>2]=k[g>>2];d=b+12|0;k[l>>2]=k[d>>2];k[d>>2]=0;k[g>>2]=0;k[f>>2]=0;g=e+16|0;f=k[a>>2]|0;d=k[j>>2]|0;if((d|0)==(f|0)){b=f;d=f}else{do{b=d;d=d+-16|0;k[e+-16>>2]=k[d>>2];l=e+-12|0;m=b+-12|0;k[l>>2]=0;n=e+-8|0;k[n>>2]=0;k[e+-4>>2]=0;k[l>>2]=k[m>>2];l=b+-8|0;k[n>>2]=k[l>>2];b=b+-4|0;k[e+-4>>2]=k[b>>2];k[b>>2]=0;k[l>>2]=0;k[m>>2]=0;e=c+-16|0;c=e}while((d|0)!=(f|0));b=k[a>>2]|0;d=k[j>>2]|0}k[a>>2]=c;k[j>>2]=g;k[i>>2]=h;h=b;if((d|0)!=(h|0)){g=d;do{e=g+-12|0;c=k[e>>2]|0;if(c|0){f=g+-8|0;d=k[f>>2]|0;if((d|0)!=(c|0)){do{n=d+-12|0;k[f>>2]=n;P1(n);d=k[f>>2]|0}while((d|0)!=(c|0));c=k[e>>2]|0}uha(c)}g=g+-16|0}while((g|0)!=(h|0))}if(!b)return;uha(b);return}function Qm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=0;h=k[a>>2]|0;f=h;g=i[f>>0]|0;d=g&255;do if(g<<24>>24>-1)if((f|0)==(b|0))d=1;else{b=1;j=24}else{if((d&224|0)==192){if((f|0)==(b|0)){d=1;break}f=f+1|0;k[a>>2]=f;if((f|0)==(b|0)){d=1;break}e=i[f>>0]|0;if((e&-64)<<24>>24!=-128){d=3;break}b=2;d=e&63|d<<6&1984;j=24;break}if((d&240|0)==224){if((f|0)==(b|0)){d=1;break}e=f+1|0;k[a>>2]=e;if((e|0)==(b|0)){d=1;break}g=i[e>>0]|0;if((g&-64)<<24>>24!=-128){d=3;break}f=f+2|0;k[a>>2]=f;if((f|0)==(b|0)){d=1;break}e=i[f>>0]|0;if((e&-64)<<24>>24!=-128){d=3;break}b=3;d=(g&255)<<6&4032|d<<12&61440|e&63;j=24;break}if((d&248|0)!=240){j=2;return j|0}if((f|0)==(b|0))d=1;else{e=f+1|0;k[a>>2]=e;if((e|0)==(b|0))d=1;else{e=i[e>>0]|0;if((e&-64)<<24>>24==-128){e=(e&255)<<12&258048|d<<18&1835008;d=f+2|0;k[a>>2]=d;if((d|0)==(b|0))d=1;else{d=i[d>>0]|0;if((d&-64)<<24>>24==-128){g=e|(d&255)<<6&4032;d=f+3|0;k[a>>2]=d;if((d|0)==(b|0))d=1;else{e=i[d>>0]|0;if((e&-64)<<24>>24==-128){b=4;f=d;d=g|e&63;j=24}else d=3}}else d=3}}else d=3}}}while(0);a:do if((j|0)==24)if(d>>>0<1114112&(d&-2048|0)!=55296){do if(d>>>0<128){if((b|0)!=1){d=4;break a}}else if(d>>>0<2048)if((b|0)==2)break;else{d=4;break a}else if((b|0)!=3&d>>>0<65536){d=4;break a}else break;while(0);k[c>>2]=d;k[a>>2]=f+1;j=0;return j|0}else d=5;while(0);k[a>>2]=h;j=d;return j|0}function Rm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;c=k[a+16>>2]|0;a=k[a+20>>2]|0;if(a|0){c3(a);CQ(a)}o=k[b+16>>2]|0;a=k[b+20>>2]|0;if(a|0){c3(a);CQ(a)}m=c+4|0;n=c+20|0;if(!(k[n>>2]|0))return;g=c+16|0;h=o+8|0;i=o+4|0;j=o+16|0;l=o+20|0;a=k[g>>2]|0;while(1){f=k[(k[m>>2]|0)+(((a>>>0)/170|0)<<2)>>2]|0;e=(a>>>0)%170|0;if((k[f+(e*24|0)+4>>2]|0)!=1){a=19;break}d=k[h>>2]|0;c=k[i>>2]|0;p=d-c>>2;b=k[j>>2]|0;a=k[l>>2]|0;if((((p|0)==0?0:(p*170|0)+-1|0)|0)==(a+b|0)){Ig(o);a=k[l>>2]|0;b=k[j>>2]|0;d=k[h>>2]|0;c=k[i>>2]|0}a=a+b|0;if((d|0)==(c|0))b=0;else b=(k[c+(((a>>>0)/170|0)<<2)>>2]|0)+(((a>>>0)%170|0)*24|0)|0;a=f+(e*24|0)|0;p=a|0;k[b>>2]=k[p>>2];k[b+4>>2]=k[p+4>>2];k[b+8>>2]=k[p+8>>2];k[b+12>>2]=k[p+12>>2];k[b+16>>2]=k[a+16>>2];a=k[a+20>>2]|0;k[b+20>>2]=a;if(a|0)c3(a);k[l>>2]=(k[l>>2]|0)+1;a=k[g>>2]|0;b=k[(k[(k[m>>2]|0)+(((a>>>0)/170|0)<<2)>>2]|0)+(((a>>>0)%170|0)*24|0)+20>>2]|0;if(b){CQ(b);a=k[g>>2]|0}b=(k[n>>2]|0)+-1|0;k[n>>2]=b;a=a+1|0;k[g>>2]=a;if(a>>>0>339){uha(k[k[m>>2]>>2]|0);k[m>>2]=(k[m>>2]|0)+4;a=(k[g>>2]|0)+-170|0;k[g>>2]=a;b=k[n>>2]|0}if(!b){a=19;break}}if((a|0)==19)return}function Sm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;j=r;r=r+32|0;c=j+24|0;h=j+12|0;m=j;g=j+8|0;e=b+64|0;d=k[e>>2]|0;l=k[(k[d>>2]|0)+20>>2]|0;f=a+4|0;p=k[a+72>>2]|0;o=k[p+4>>2]|0;n=m;k[n>>2]=k[p>>2];k[n+4>>2]=o;k[c>>2]=k[m>>2];k[c+4>>2]=k[m+4>>2];Pc[l&255](h,d,c);c=i[b+68>>0]|0;x=0;d=ua(227,f|0)|0;l=x;x=0;do if(!(l&1)){if(!(c<<24>>24!=0|(d|0)!=3)){P1(h);r=j;return}c=i[a+8>>0]|0;if(!(c&1))c=(c&255)>>>1;else c=k[a+12>>2]|0;if(!c){k[g>>2]=b;c=a+120|0;d=k[c>>2]|0;if(d>>>0<(k[a+124>>2]|0)>>>0){k[d>>2]=b;k[c>>2]=(k[c>>2]|0)+4;P1(h);r=j;return}else{x=0;sa(503,a+116|0,g|0);p=x;x=0;if(p&1)break;P1(h);r=j;return}}c=a+96|0;i[c>>0]=1;x=0;ra(342,f|0);p=x;x=0;if(!(p&1)){p=k[e>>2]|0;x=0;sa(k[(k[p>>2]|0)+28>>2]|0,p|0,a|0);p=x;x=0;if(!(p&1)){i[c>>0]=0;if(!(k[a+76>>2]|0)){x=0;ra(347,f|0);p=x;x=0;if(p&1)break;P1(h);r=j;return}else{x=0;ra(343,f|0);p=x;x=0;if(p&1)break;P1(h);r=j;return}}}}while(0);p=mb()|0;P1(h);yb(p|0)}function Tm(a,b,c,d,e,f,g,h,j,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;m=m|0;n=n|0;o=o|0;a:do if((a|0)==(f|0))if(!(i[b>>0]|0))f=-1;else{i[b>>0]=0;c=k[e>>2]|0;k[e>>2]=c+1;i[c>>0]=46;e=i[h>>0]|0;if(!(((e&1)==0?(e&255)>>>1:k[h+4>>2]|0)|0))f=0;else{f=k[m>>2]|0;if((f-j|0)<160){j=k[n>>2]|0;k[m>>2]=f+4;k[f>>2]=j;f=0}else f=0}}else{if((a|0)==(g|0)){g=i[h>>0]|0;if(((g&1)==0?(g&255)>>>1:k[h+4>>2]|0)|0){if(!(i[b>>0]|0)){f=-1;break}f=k[m>>2]|0;if((f-j|0)>=160){f=0;break}j=k[n>>2]|0;k[m>>2]=f+4;k[f>>2]=j;k[n>>2]=0;f=0;break}}g=o+128|0;f=o;while(1){if((f|0)==(g|0)){f=g;break}if((k[f>>2]|0)==(a|0))break;f=f+4|0}g=f-o|0;f=g>>2;if((g|0)>124)f=-1;else{a=i[49232+f>>0]|0;switch(f|0){case 24:case 25:{f=k[e>>2]|0;if((f|0)!=(d|0))if((l[f+-1>>0]&95|0)!=(l[c>>0]&127|0)){f=-1;break a}k[e>>2]=f+1;i[f>>0]=a;f=0;break a}case 23:case 22:{i[c>>0]=80;break}default:{f=a&95;if((f|0)==(i[c>>0]|0)){i[c>>0]=f|128;if(i[b>>0]|0){i[b>>0]=0;c=i[h>>0]|0;if(((c&1)==0?(c&255)>>>1:k[h+4>>2]|0)|0){f=k[m>>2]|0;if((f-j|0)<160){j=k[n>>2]|0;k[m>>2]=f+4;k[f>>2]=j}}}}}}m=k[e>>2]|0;k[e>>2]=m+1;i[m>>0]=a;if((g|0)>84)f=0;else{k[n>>2]=(k[n>>2]|0)+1;f=0}}}while(0);return f|0}function Um(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+16|0;f=u;i[a>>0]=0;d=b+(k[(k[b>>2]|0)+-12>>2]|0)|0;e=k[d+16>>2]|0;if(!e){d=k[d+72>>2]|0;if(d|0)ct(d)|0;do if(!c){d=b+(k[(k[b>>2]|0)+-12>>2]|0)|0;if(k[d+4>>2]&4096|0){e=TN(d)|0;k[f>>2]=e;x=0;e=Ka(865,f|0,74172)|0;t=x;x=0;if(t&1){u=mb()|0;J5(f);yb(u|0)}J5(f);d=k[b+(k[(k[b>>2]|0)+-12>>2]|0)+24>>2]|0;f=e+8|0;g=d;h=(d|0)==0;m=g+12|0;n=g+16|0;o=d;e=d;p=e+12|0;q=e+16|0;s=d;t=d;while(1){if(h){e=0;d=0;break}if((k[m>>2]|0)==(k[n>>2]|0))if((tc[k[(k[o>>2]|0)+36>>2]&511](g)|0)==-1){e=0;d=0;break}c=k[p>>2]|0;if((c|0)==(k[q>>2]|0))c=tc[k[(k[s>>2]|0)+36>>2]&511](e)|0;else c=l[c>>0]|0;if((c&255)<<24>>24<=-1)break;if(!(j[(k[f>>2]|0)+(c<<24>>24<<1)>>1]&8192))break;c=k[p>>2]|0;if((c|0)==(k[q>>2]|0)){tc[k[(k[t>>2]|0)+40>>2]&511](e)|0;continue}else{k[p>>2]=c+1;continue}}if(d|0){if((k[e+12>>2]|0)!=(k[e+16>>2]|0))break;if((tc[k[(k[d>>2]|0)+36>>2]&511](e)|0)!=-1)break}t=b+(k[(k[b>>2]|0)+-12>>2]|0)|0;oB(t,k[t+16>>2]|6)}}while(0);i[a>>0]=(k[b+(k[(k[b>>2]|0)+-12>>2]|0)+16>>2]|0)==0&1}else oB(d,e|4);r=u;return}function Vm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;if((c|0)==(b|0)){m=d;m=k[m>>2]|0;d=d+4|0;d=k[d>>2]|0;b=a;k[b>>2]=m;a=a+4|0;k[a>>2]=d;return}l=b;m=d+4|0;do{f=d;j=k[f>>2]|0;e=j;j=(k[f+4>>2]|0)-(k[j>>2]|0)|0;f=(j|0)/24|0;g=f+-1|0;if((j|0)>24){f=e+(((g|0)/170|0)<<2)|0;e=(k[f>>2]|0)+(((g|0)%170|0)*24|0)|0}else{j=170-f|0;f=e+(((j|0)/-170|0)<<2)|0;e=(k[f>>2]|0)+((169-((j|0)%170|0)|0)*24|0)|0}g=e+24|0;i=(g-(k[f>>2]|0)|0)/24|0;j=(c-l|0)/24|0;h=(j|0)>(i|0);j=h?i:j;e=c;c=h?c+((0-i|0)*24|0)|0:b;if((e|0)!=(c|0))do{f=g;g=g+-24|0;i=e;e=e+-24|0;k[g>>2]=k[e>>2];k[g+4>>2]=k[e+4>>2];k[g+8>>2]=k[e+8>>2];k[g+12>>2]=k[e+12>>2];h=k[i+-8>>2]|0;i=k[i+-4>>2]|0;if(i|0)c3(i);k[f+-8>>2]=h;h=f+-4|0;f=k[h>>2]|0;k[h>>2]=i;if(f|0)CQ(f)}while((e|0)!=(c|0));do if(j|0){f=k[d>>2]|0;e=(((k[m>>2]|0)-(k[f>>2]|0)|0)/24|0)-j|0;if((e|0)>0){j=f+(((e|0)/170|0)<<2)|0;k[d>>2]=j;k[m>>2]=(k[j>>2]|0)+(((e|0)%170|0)*24|0);break}else{j=169-e|0;i=f+(((j|0)/-170|0)<<2)|0;k[d>>2]=i;k[m>>2]=(k[i>>2]|0)+((169-((j|0)%170|0)|0)*24|0);break}}while(0)}while((c|0)!=(b|0));m=d;m=k[m>>2]|0;d=d+4|0;d=k[d>>2]|0;b=a;k[b>>2]=m;a=a+4|0;k[a>>2]=d;return}function Wm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=0;e=r;r=r+32|0;f=e+12|0;c=e;lE(f,78097,0);do if(!(i[b+92>>0]|0))d=10;else{h=b+68|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;g=i[h>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:k[b+72>>2]|0;x=0;Ua(10,c|0,(j?h+1|0:k[b+76>>2]|0)|0,g|0,g+1|0);g=x;x=0;if(!(g&1)){x=0;xa(46,c|0,27297,1)|0;j=x;x=0;if(!(j&1)){j=i[c>>0]|0;h=(j&1)==0;x=0;xa(46,f|0,(h?c+1|0:k[c+8>>2]|0)|0,(h?(j&255)>>>1:k[c+4>>2]|0)|0)|0;j=x;x=0;if(!(j&1)){P1(c);d=10;break}j=mb()|0;P1(c);P1(f);yb(j|0)}}j=mb()|0;P1(c);c=j}while(0);if((d|0)==10){c=b+80|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;j=i[f>>0]|0;h=(j&1)==0;j=h?(j&255)>>>1:k[f+4>>2]|0;d=i[c>>0]|0;d=(d&1)==0?(d&255)>>>1:k[b+84>>2]|0;x=0;Ua(10,a|0,(h?f+1|0:k[f+8>>2]|0)|0,j|0,d+j|0);j=x;x=0;if(!(j&1)){x=0;xa(46,a|0,((i[c>>0]&1)==0?c+1|0:k[b+88>>2]|0)|0,d|0)|0;j=x;x=0;if(!(j&1)){P1(f);r=e;return}}c=mb()|0;P1(a)}j=c;P1(f);yb(j|0)}function Xm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+64|0;g=m+24|0;b=m+12|0;h=m;lE(b,38233,5);x=0;l=g;n=e;o=l+40|0;do{k[l>>2]=k[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));j=ta(124,b|0,a|0,d|0,g|0,f|0,c|0)|0;o=x;x=0;if(o&1){e=mb()|0;P1(b);yb(e|0)}P1(b);lE(h,38239,5);x=0;l=g;n=e;o=l+40|0;do{k[l>>2]=k[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));d=ta(124,h|0,a|0,d|0,g|0,f|0,c|0)|0;o=x;x=0;if(!(o&1)){P1(h);a=j+56|0;h=d+56|0;f=((k[d+84>>2]|0)-(k[d+80>>2]|0)>>2)+((k[j+84>>2]|0)-(k[j+80>>2]|0)>>2)|0;b=c+36|0;g=lD(b,100)|0;k[g+4>>2]=0;l=g+8|0;n=e;o=l+40|0;do{k[l>>2]=k[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;e=g+52|0;k[e>>2]=0;k[g>>2]=10312;o=g+56|0;bo(o,f);k[g>>2]=5160;k[o>>2]=5268;k[e>>2]=6;e=N4(b,g)|0;o=e+56|0;Iq(o,(j|0)==0?0:a)|0;Iq(o,(d|0)==0?0:h)|0;r=m;return e|0}e=mb()|0;P1(h);yb(e|0);return 0}function Ym(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p;n=p+40|0;if(i[b+49>>0]|0){r=p;return b|0}o=b+56|0;if(k[b+96>>2]|0){c=vb(84)|0;x=0;Qa(108,c|0,b|0,b|0);b=x;x=0;if(!(b&1))Wb(c|0,1360,59);b=mb()|0;lb(c|0);yb(b|0)}c=(k[a+8>>2]|0)+36|0;d=lD(c,100)|0;j=b+80|0;l=b+84|0;e=(k[l>>2]|0)-(k[j>>2]|0)>>2;f=m;g=b+8|0;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));k[d+4>>2]=0;f=d+8|0;g=m;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;g=d+52|0;k[g>>2]=0;k[d>>2]=10312;h=d+56|0;bo(h,e);k[d>>2]=5160;k[h>>2]=5268;k[g>>2]=6;g=N4(c,d)|0;c=k[j>>2]|0;d=k[l>>2]|0;if((c|0)!=(d|0)){e=g+56|0;f=n+4|0;do{l=k[c>>2]|0;j=Jc[k[(k[l>>2]|0)+40>>2]&1023](l,a)|0;l=vv(o,l)|0;l=Jc[k[(k[l>>2]|0)+40>>2]&1023](l,a)|0;k[n>>2]=j;k[f>>2]=l;k[m>>2]=k[n>>2];k[m+4>>2]=k[n+4>>2];Qn(e,m)|0;c=c+4|0}while((c|0)!=(d|0))}if(!(k[g+96>>2]|0)){i[g+49>>0]=1;b=g;r=p;return b|0}c=vb(84)|0;x=0;Qa(108,c|0,g|0,b|0);b=x;x=0;if(!(b&1))Wb(c|0,1360,59);b=mb()|0;lb(c|0);yb(b|0);return 0}function Zm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=0;j=r;r=r+48|0;i=j+8|0;d=j+4|0;g=j;e=a+24|0;h=a+28|0;c=k[h>>2]|0;if((c|0)==(k[e>>2]|0))c=0;else c=k[c+-4>>2]|0;nB(i,c,1);k[d>>2]=i;c=k[h>>2]|0;if(c>>>0<(k[a+32>>2]|0)>>>0){k[c>>2]=i;k[h>>2]=(k[h>>2]|0)+4;f=6}else{x=0;sa(488,e|0,d|0);e=x;x=0;if(!(e&1))f=6}do if((f|0)==6){k[g>>2]=b;d=a+52|0;c=k[d>>2]|0;if(c>>>0<(k[a+56>>2]|0)>>>0){k[c>>2]=b;k[d>>2]=(k[d>>2]|0)+4}else{x=0;sa(503,a+48|0,g|0);g=x;x=0;if(g&1)break}c=k[b+68>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a+8|0)|0;g=x;x=0;if(!(g&1)){x=0;c=ua(k[(k[c>>2]|0)+60>>2]|0,c|0)|0;g=x;x=0;if(!(g&1)){if(c){x=0;sa(502,a|0,k[b+64>>2]|0);a=x;x=0;if(a&1)break}else{c=k[b+72>>2]|0;if(c|0){x=0;sa(502,a|0,c|0);a=x;x=0;if(a&1)break}}k[d>>2]=(k[d>>2]|0)+-4;k[h>>2]=(k[h>>2]|0)+-4;iB(i+20|0);az(i,k[i+4>>2]|0);r=j;return 0}}}while(0);j=mb()|0;iB(i+20|0);az(i,k[i+4>>2]|0);yb(j|0);return 0}function _m(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+48|0;h=j;if(!(i[k[a+76>>2]>>0]|0)){a=0;r=j;return a|0}if(th(a,0,0)|0){c=(k[a+40>>2]|0)+36|0;d=lD(c,76)|0;b=a+152|0;e=h;f=a+108|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Xp(d,h,b);b=N4(c,d)|0;if(b|0){a=b;r=j;return a|0}}b=Bh(a)|0;if(b|0){a=b;r=j;return a|0}b=Ah(a)|0;if(b|0){a=b;r=j;return a|0}b=Gh(a)|0;if(b|0){a=b;r=j;return a|0}if(!(ms(a,1,0)|0)){a=0;r=j;return a|0}g=a+152|0;k[h>>2]=k[g>>2];k[h+4>>2]=k[g+4>>2];k[h+8>>2]=k[g+8>>2];a=yd(a,h,1)|0;r=j;return a|0}function $m(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;if(Zt(a)|0){f=a;return f|0}f=i[29971]|0;if(!(f<<24>>24)){while(1){c=Q4(a)|0;if(!c){c=tga(a)|0;if(!c)c=qx(a)|0}if((c|0)==(a|0)){a=0;c=18;break}d=(c|0)==0;if(d){a=0;c=18;break}if(!(Zt(d?a:c)|0))a=c;else{a=c;c=18;break}}if((c|0)==18)return a|0}else e=a;while(1){d=i[e>>0]|0;a=f;c=29971;while(1){if(d<<24>>24==a<<24>>24){c=12;break}c=c+1|0;a=i[c>>0]|0;if(!(a<<24>>24)){c=14;break}}if((c|0)==12){c=0;if(!(d<<24>>24))c=14;else b=e+1|0}if((c|0)==14){b=Q4(e)|0;if(!b){b=tga(e)|0;if(!b)b=qx(e)|0}if((b|0)==(e|0)|(b|0)==0){a=0;c=18;break}}if(!(Zt(b)|0))e=b;else{a=b;c=18;break}}if((c|0)==18)return a|0;return 0}function an(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=0;a:while(1){a=k[b>>2]|0;do if(!a)g=1;else{f=k[a+12>>2]|0;if((f|0)==(k[a+16>>2]|0))a=tc[k[(k[a>>2]|0)+36>>2]&511](a)|0;else a=k[f>>2]|0;if((a|0)==-1){k[b>>2]=0;g=1;break}else{g=(k[b>>2]|0)==0;break}}while(0);f=k[c>>2]|0;do if(!f)h=15;else{a=k[f+12>>2]|0;if((a|0)==(k[f+16>>2]|0))a=tc[k[(k[f>>2]|0)+36>>2]&511](f)|0;else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;h=15;break}else if(g){g=f;break}else{g=f;break a}}while(0);if((h|0)==15){h=0;if(g){g=0;break}else g=0}a=k[b>>2]|0;f=k[a+12>>2]|0;if((f|0)==(k[a+16>>2]|0))a=tc[k[(k[a>>2]|0)+36>>2]&511](a)|0;else a=k[f>>2]|0;if(!(wc[k[(k[e>>2]|0)+12>>2]&127](e,8192,a)|0))break;a=k[b>>2]|0;f=a+12|0;g=k[f>>2]|0;if((g|0)==(k[a+16>>2]|0)){tc[k[(k[a>>2]|0)+40>>2]&511](a)|0;continue}else{k[f>>2]=g+4;continue}}a=k[b>>2]|0;do if(!a)f=1;else{f=k[a+12>>2]|0;if((f|0)==(k[a+16>>2]|0))a=tc[k[(k[a>>2]|0)+36>>2]&511](a)|0;else a=k[f>>2]|0;if((a|0)==-1){k[b>>2]=0;f=1;break}else{f=(k[b>>2]|0)==0;break}}while(0);do if(!g)h=37;else{a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0))a=tc[k[(k[g>>2]|0)+36>>2]&511](g)|0;else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;h=37;break}else if(f)break;else{h=39;break}}while(0);if((h|0)==37)if(f)h=39;if((h|0)==39)k[d>>2]=k[d>>2]|2;return}function bn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;q=s;d=b+36|0;e=lD(d,100)|0;f=q;g=a+8|0;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));k[e+4>>2]=0;f=e+8|0;g=q;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;p=e+56|0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[e+52>>2]=7;k[e+72>>2]=0;k[e+76>>2]=0;k[e+80>>2]=0;k[e>>2]=7828;k[e+68>>2]=7968;k[e+88>>2]=0;k[e+92>>2]=0;k[e+96>>2]=0;p=N4(d,e)|0;if(c|0){o=(k[c+76>>2]|0)-(k[c+72>>2]|0)>>2;if(o|0){d=c+72|0;e=p+68|0;f=e+16|0;g=e+8|0;h=e+12|0;c=e+4|0;n=0;do{j=Wu(a,b)|0;k[j+76>>2]=k[(k[d>>2]|0)+(n<<2)>>2];k[q>>2]=j;l=j;if(j|0){k[f>>2]=0;m=k[g>>2]|0;if((m|0)==(k[h>>2]|0))kw(c,q);else{k[m>>2]=l;k[g>>2]=(k[g>>2]|0)+4}rc[k[k[e>>2]>>2]&1023](e,j)}n=n+1|0}while((n|0)!=(o|0));r=s;return p|0}}d=p+68|0;k[q>>2]=a;k[d+16>>2]=0;e=d+8|0;f=k[e>>2]|0;if((f|0)==(k[d+12>>2]|0))kw(d+4|0,q);else{k[f>>2]=a;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[d>>2]>>2]&1023](d,a);r=s;return p|0}function cn(a){a=a|0;var b=0,c=0,d=0,e=0;e=0;a:do if(a|0){c=i[42555]|0;b:do if(!(c<<24>>24)){b=a;e=5}else{b=a;d=42555;while(1){if((i[b>>0]|0)!=c<<24>>24)break b;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=5;break}}}while(0);if((e|0)==5){b=DJ(b)|0;if(b|0){a=b;return a|0}}c=i[44256]|0;c:do if(!(c<<24>>24)){b=a;e=9}else{b=a;d=44256;while(1){if((i[b>>0]|0)!=c<<24>>24)break c;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=9;break}}}while(0);if((e|0)==9){b=DJ(b)|0;if(b|0){a=b;return a|0}}c=i[44233]|0;d:do if(!(c<<24>>24)){b=a;e=13}else{b=a;d=44233;while(1){if((i[b>>0]|0)!=c<<24>>24)break d;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=13;break}}}while(0);if((e|0)==13){b=DJ(b)|0;if(b|0){a=b;return a|0}}c=i[39805]|0;if(!(c<<24>>24))b=a;else{b=a;d=39805;do{if((i[b>>0]|0)!=c<<24>>24)break a;b=b+1|0;d=d+1|0;c=i[d>>0]|0}while(c<<24>>24!=0)}b=DJ(b)|0;if(b|0){a=b;return a|0}}while(0);a=Uo(a)|0;return a|0}function dn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+16|0;j=m;l=GG(104)|0;h=k[c>>2]|0;k[l+16>>2]=h;d=l+20|0;k[l+24>>2]=k[c+8>>2];e=l+28|0;f=c+12|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=c+52|0;f=k[e+4>>2]|0;g=l+68|0;k[g>>2]=k[e>>2];k[g+4>>2]=f;g=l+76|0;f=c+60|0;k[g>>2]=k[f>>2];k[g+4>>2]=k[f+4>>2];k[g+8>>2]=k[f+8>>2];k[d>>2]=7696;d=l+88|0;c=c+72|0;k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];k[d+12>>2]=k[c+12>>2];c=b+4|0;d=k[c>>2]|0;do if(!d){k[j>>2]=c;e=c}else{c=d;while(1){d=k[c+16>>2]|0;if(h>>>0>>0){d=k[c>>2]|0;if(!d){d=c;f=4;break}}else{if(d>>>0>=h>>>0){f=9;break}e=c+4|0;d=k[e>>2]|0;if(!d){d=e;f=8;break}}c=d}if((f|0)==4){k[j>>2]=c;e=d;break}else if((f|0)==8){k[j>>2]=c;e=d;break}else if((f|0)==9){k[j>>2]=c;e=j;break}}while(0);d=k[e>>2]|0;if(!d){k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=c;k[e>>2]=l;d=k[k[b>>2]>>2]|0;if(!d)d=l;else{k[b>>2]=d;d=k[e>>2]|0}hl(k[b+4>>2]|0,d);c=b+8|0;k[c>>2]=(k[c>>2]|0)+1;c=1;d=l}else c=0;k[a>>2]=d;i[a+4>>0]=c;if(c<<24>>24){r=m;return}uha(l);r=m;return}function en(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+64|0;c=j+48|0;d=j+36|0;e=j+24|0;f=j+12|0;g=j;h=a+4|0;lE(c,38948,1);x=0;sa(484,h|0,c|0);l=x;x=0;if(l&1){l=mb()|0;P1(c);yb(l|0)}P1(c);S$(h,b);rc[k[(k[b>>2]|0)+108>>2]&1023](d,b);x=0;Qa(134,h|0,d|0,b|0);l=x;x=0;if(l&1){l=mb()|0;P1(d);yb(l|0)}P1(d);c=b+96|0;_G(e,c);l=i[e>>0]|0;l=(((l&1)==0?(l&255)>>>1:k[e+4>>2]|0)|0)==0;P1(e);do if(!l){_G(f,c);x=0;sa(484,h|0,f|0);l=x;x=0;if(l&1){l=mb()|0;P1(f);yb(l|0)}else{P1(f);c=k[b+108>>2]|0;if(!c)break;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);break}}while(0);t$(h,b);lE(g,38950,1);x=0;sa(484,h|0,g|0);l=x;x=0;if(!(l&1)){P1(g);r=j;return}l=mb()|0;P1(g);yb(l|0)}function fn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,j=0.0,l=0.0,m=0,n=0,o=0,q=0;q=r;r=r+64|0;e=q+16|0;o=q;g=+p[d+56>>3];if(!((b|0)!=11|g!=0.0)){e=vb(28)|0;x=0;Qa(111,e|0,c|0,d|0);q=x;x=0;if(!(q&1))Wb(e|0,1344,61);q=mb()|0;lb(e|0);yb(q|0)}n=lD(a,104)|0;if(!f){m=e;f=c+8|0;d=m+40|0;do{k[m>>2]=k[f>>2];m=m+4|0;f=f+4|0}while((m|0)<(d|0));f=e}else{m=e;d=m+40|0;do{k[m>>2]=k[f>>2];m=m+4|0;f=f+4|0}while((m|0)<(d|0));f=e}m=10880+(b<<2)|0;j=+Bc[k[m>>2]&7](+p[c+56>>3],g);l=+Bc[k[m>>2]&7](+p[c+64>>3],g);h=+Bc[k[m>>2]&7](+p[c+72>>3],g);g=+p[c+80>>3];lE(o,78097,0);k[n+4>>2]=0;m=n+8|0;d=m+40|0;do{k[m>>2]=k[f>>2];m=m+4|0;f=f+4|0}while((m|0)<(d|0));i[n+48>>0]=0;i[n+49>>0]=0;i[n+50>>0]=0;e=n+52|0;k[e>>2]=0;k[n>>2]=5580;p[n+56>>3]=j;p[n+64>>3]=l;p[n+72>>3]=h;p[n+80>>3]=g;x=0;sa(430,n+88|0,o|0);c=x;x=0;if(!(c&1)){k[n+100>>2]=0;k[e>>2]=3;x=0;e=Ka(857,a|0,n|0)|0;a=x;x=0;if(!(a&1)){P1(o);r=q;return e|0}}q=mb()|0;P1(o);yb(q|0);return 0}function gn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;j=o+24|0;b=o+12|0;g=o;lE(b,38223,4);x=0;l=j;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));h=ta(124,b|0,a|0,d|0,j|0,f|0,c|0)|0;n=x;x=0;if(n&1){e=mb()|0;P1(b);yb(e|0)}P1(b);lE(g,38228,4);x=0;l=j;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));b=wa(27,g|0,a|0,d|0,j|0,f|0)|0;n=x;x=0;if(!(n&1)){P1(g);g=c+36|0;f=lD(g,64)|0;k[j>>2]=b;b=(yq(h+60|0,j)|0)!=0;k[f+4>>2]=0;l=f+8|0;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;k[f>>2]=5684;i[f+56>>0]=b&1;k[f+60>>2]=0;k[f+52>>2]=1;e=N4(g,f)|0;r=o;return e|0}e=mb()|0;P1(g);yb(e|0);return 0}function hn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;n=r;r=r+128|0;j=n+80|0;l=n+40|0;m=n+24|0;o=n+12|0;p=n;h=c+36|0;i=lD(h,76)|0;b=l;c=e;g=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(g|0));lE(p,37732,7);x=0;b=j;c=e;g=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(g|0));b=wa(23,p|0,a|0,d|0,j|0,f|0)|0;d=x;x=0;if(!(d&1)){x=0;sa(437,o|0,b|0);d=x;x=0;if(!(d&1)){x=0;Qa(113,m|0,o|0,34);d=x;x=0;if(d&1)b=mb()|0;else{x=0;b=j;c=l;g=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(g|0));qa(5,i|0,j|0,m|0,0,0);d=x;x=0;if(!(d&1)){x=0;b=Ka(857,h|0,i|0)|0;d=x;x=0;if(!(d&1)){P1(m);P1(o);P1(p);r=n;return b|0}}b=mb()|0;P1(m)}P1(o);o=b;P1(p);yb(o|0)}}o=mb()|0;P1(p);yb(o|0);return 0}function jn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;c=j;if(tc[k[(k[b>>2]|0)+64>>2]&511](b)|0){r=j;return}d=k[b+68>>2]|0;e=k[b+64>>2]|0;h=a+4|0;if(!(pl(b,Xaa(h)|0)|0)){c=k[e+68>>2]|0;f=(k[e+72>>2]|0)-c>>2;if(!f){r=j;return}e=e+68|0;d=0;while(1){c=k[c+(d<<2)>>2]|0;if(c|0)if(Ot(c,568,552,0)|0)rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);d=d+1|0;if((d|0)==(f|0))break;c=k[e>>2]|0}r=j;return}if(!(Xaa(h)|0)){g=a+76|0;k[g>>2]=(k[g>>2]|0)+(k[b+56>>2]|0)}Tu(h);lE(c,39805,6);x=0;Qa(134,h|0,c|0,b|0);g=x;x=0;if(g&1){j=mb()|0;P1(c);yb(j|0)}P1(c);vba(h);c=a+98|0;i[c>>0]=1;rc[k[(k[d>>2]|0)+28>>2]&1023](d,a);i[c>>0]=0;Yo(h,0);c=k[e+68>>2]|0;g=(k[e+72>>2]|0)-c>>2;a:do if(g|0){e=e+68|0;f=g+-1|0;d=0;while(1){c=k[c+(d<<2)>>2]|0;if(c|0)rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);if(d>>>0>>0)dx(h);d=d+1|0;if((d|0)==(g|0))break a;c=k[e>>2]|0}}while(0);if(!(Xaa(h)|0)){a=a+76|0;k[a>>2]=(k[a>>2]|0)-(k[b+56>>2]|0)}$n(h,0);r=j;return}function kn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;c=m+24|0;d=m+12|0;j=m;l=a+4|0;i=(Xaa(l)|0)==5;e=b+80|0;f=k[e>>2]|0;h=b+84|0;g=k[h>>2]|0;if(i&(f|0)==(g|0)){lE(c,38853,2);x=0;sa(484,l|0,c|0);a=x;x=0;if(a&1){m=mb()|0;P1(c);yb(m|0)}else{P1(c);r=m;return}}i=b+56|0;if((f|0)==(g|0)){r=m;return}if(tc[k[(k[b>>2]|0)+68>>2]&511](b)|0){r=m;return}lE(d,38856,1);x=0;sa(484,l|0,d|0);b=x;x=0;if(b&1){m=mb()|0;P1(d);yb(m|0)}P1(d);c=k[e>>2]|0;f=k[h>>2]|0;if((c|0)!=(f|0)){e=0;while(1){d=k[c>>2]|0;if(e)Qw(l);rc[k[(k[d>>2]|0)+28>>2]&1023](d,a);cw(l);h=vv(i,d)|0;rc[k[(k[h>>2]|0)+28>>2]&1023](h,a);c=c+4|0;if((c|0)==(f|0))break;else e=1}}lE(j,38861,1);x=0;sa(484,l|0,j|0);a=x;x=0;if(a&1){m=mb()|0;P1(j);yb(m|0)}else{P1(j);r=m;return}}function ln(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=0;if(!a)c=0;else c=k[a+72>>2]|0;f=a;e=b;d=k[b+72>>2]|0;a:while(1){a=(f|0)!=0;do if(a){b=k[f+72>>2]|0;if(b|0)if((k[b+76>>2]|0)!=(k[b+72>>2]|0))break;if(!(k[f+68>>2]|0)){a=k[f+76>>2]|0;if(!a){a=d;b=e;f=0;c=0;d=a;e=b;continue a}h=d;b=e;f=a;c=k[a+72>>2]|0;d=h;e=b;continue a}}while(0);if(!e){g=16;break}b=k[e+72>>2]|0;if(!b)g=13;else if((k[b+76>>2]|0)==(k[b+72>>2]|0))g=13;if((g|0)==13){g=0;if(!(k[e+68>>2]|0)){a=k[e+76>>2]|0;if(!a){b=c;h=f;e=0;d=0;c=b;f=h;continue}b=c;h=f;e=a;d=k[a+72>>2]|0;c=b;f=h;continue}}if(!a){a=0;g=34;break}a=(c|0)!=0;b=(d|0)!=0;if(!(a|b)){c=k[f+68>>2]|0;a=k[e+68>>2]|0;if((c|0)!=(a|0)){g=20;break}a=k[f+76>>2]|0;b=k[e+76>>2]|0;if(!a)c=0;else c=k[a+72>>2]|0;if(!b){f=a;e=0;d=0;continue}f=a;e=b;d=k[b+72>>2]|0;continue}if(!b){g=26;break}if(!a){a=0;g=34;break}if(!(Kl(c,d)|0)){a=0;g=34;break}if((k[f+68>>2]|0)!=(k[e+68>>2]|0)){a=0;g=34;break}a=k[f+76>>2]|0;b=k[e+76>>2]|0;if(!a)c=0;else c=k[a+72>>2]|0;if(!b){f=a;e=0;d=0;continue}f=a;e=b;d=k[b+72>>2]|0}if((g|0)==16){h=a^1;return h|0}else if((g|0)==20){h=(c|0)<(a|0);return h|0}else if((g|0)==26){h=a^1;return h|0}else if((g|0)==34)return a|0;return 0}function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+64|0;e=i;j=i+40|0;h=tc[k[(k[c>>2]|0)+8>>2]&511](c)|0;lE(j,h,OD(h)|0);h=e;d=h+40|0;do{k[h>>2]=k[b>>2];h=h+4|0;b=b+4|0}while((h|0)<(d|0));x=0;sa(487,a|0,j|0);h=x;x=0;if(h&1)b=mb()|0;else{k[a>>2]=8160;g=a+8|0;x=0;sa(430,g|0,j|0);h=x;x=0;do if(h&1)b=mb()|0;else{f=a+20|0;x=0;Qa(74,f|0,31243,5);h=x;x=0;if(h&1){b=mb()|0;P1(g);break}h=a+32|0;b=e;d=h+40|0;do{k[h>>2]=k[b>>2];h=h+4|0;b=b+4|0}while((h|0)<(d|0));k[a+72>>2]=0;P1(j);k[a>>2]=10864;j=tc[k[(k[c>>2]|0)+8>>2]&511](c)|0;x=0;Ka(874,g|0,j|0)|0;j=x;x=0;if(!(j&1)){x=0;b=ua(k[(k[c>>2]|0)+12>>2]|0,c|0)|0;j=x;x=0;if(!(j&1)){x=0;Ka(874,f|0,b|0)|0;j=x;x=0;if(!(j&1)){r=i;return}}}j=mb()|0;k[a>>2]=8160;P1(f);P1(g);f4(a);a=j;yb(a|0)}while(0);f4(a)}P1(j);a=b;yb(a|0)}function nn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=r;r=r+64|0;c=j+48|0;e=j+36|0;f=j+24|0;k=j+12|0;g=j;d=b+57|0;h=a+4|0;if(i[d>>0]|0){_G(e,b+60|0);x=0;Qa(113,c|0,e|0,i[d>>0]|0);k=x;x=0;do if(k&1)c=mb()|0;else{x=0;Qa(134,h|0,c|0,b|0);k=x;x=0;if(k&1){k=mb()|0;P1(c);c=k;break}P1(c);P1(e);r=j;return}while(0);P1(e);k=c;yb(k|0)}c=b+60|0;if(i[a+96>>0]|0){_G(g,c);x=0;Qa(134,h|0,g|0,b|0);k=x;x=0;if(k&1){k=mb()|0;P1(g);yb(k|0)}else{P1(g);r=j;return}}_G(k,c);x=0;sa(497,f|0,k|0);a=x;x=0;do if(a&1)c=mb()|0;else{x=0;Qa(134,h|0,f|0,b|0);a=x;x=0;if(a&1){c=mb()|0;P1(f);break}P1(f);P1(k);r=j;return}while(0);P1(k);k=c;yb(k|0)}function on(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+16|0;m=s;if((b|0)==-1){a=0;r=s;return a|0}n=a+12|0;o=a+8|0;p=(k[n>>2]|0)-(k[o>>2]|0)|0;q=a+24|0;d=k[q>>2]|0;l=a+28|0;c=k[l>>2]|0;do if((d|0)==(c|0)){h=a+48|0;if(!(k[h>>2]&16)){a=-1;r=s;return a|0}g=a+20|0;f=k[g>>2]|0;e=d-f|0;j=a+44|0;f=(k[j>>2]|0)-f|0;d=a+32|0;x=0;sa(440,d|0,0);c=x;x=0;if(!(c&1)){if(!(i[d>>0]&1))c=10;else c=(k[d>>2]&-2)+-1|0;x=0;Qa(86,d|0,c|0,0);c=x;x=0;if(!(c&1)){c=i[d>>0]|0;if(!(c&1)){d=d+1|0;c=(c&255)>>>1}else{d=k[a+40>>2]|0;c=k[a+36>>2]|0}c=d+c|0;k[g>>2]=d;k[l>>2]=c;g=d+e|0;k[q>>2]=g;d=d+f|0;k[j>>2]=d;l=j;e=j;j=g;g=c;break}}a=Eb(0)|0;Bb(a|0)|0;xb();a=-1;r=s;return a|0}else{g=a+44|0;l=g;h=a+48|0;e=g;j=d;d=k[g>>2]|0;g=c}while(0);f=j+1|0;k[m>>2]=f;d=k[(f>>>0>>0?e:m)>>2]|0;k[l>>2]=d;if(k[h>>2]&8|0){c=a+32|0;if(!(i[c>>0]&1))c=c+1|0;else c=k[a+40>>2]|0;k[o>>2]=c;k[n>>2]=c+p;k[a+16>>2]=d}if((j|0)==(g|0)){a=Jc[k[(k[a>>2]|0)+52>>2]&1023](a,b&255)|0;r=s;return a|0}else{k[q>>2]=f;i[j>>0]=b;a=b&255;r=s;return a|0}return 0}function pn(a){a=a|0;var b=0,c=0,d=0,e=0;e=0;c=a+1|0;do if((i[a>>0]|0)==45){b=p5(c)|0;if(!b){d=i[c>>0]|0;b=a+2|0;d=d<<24>>24|0;b=(d|0)!=43?((d|0)==45?b:0):b;if(!b){b=0;break}}while(1){c=p5(b)|0;if(c|0){b=c;continue}d=i[b>>0]|0;c=b+1|0;d=d<<24>>24|0;c=(d|0)!=43?((d|0)==45?c:0):c;if(!c)break;else b=c}}else b=0;while(0);b=b|0?b:a;if(!b){e=0;return e|0}a=i[33344]|0;a:do if(!(a<<24>>24)){c=b;e=10}else{c=b;d=33344;while(1){if((i[c>>0]|0)!=a<<24>>24)break a;c=c+1|0;d=d+1|0;a=i[d>>0]|0;if(!(a<<24>>24)){e=10;break}}}while(0);if((e|0)==10){c=DJ(c)|0;if(c|0){e=c;return e|0}}c=i[29930]|0;b:do if(c<<24>>24){a=29930;while(1){if((i[b>>0]|0)!=c<<24>>24){b=0;break}b=b+1|0;a=a+1|0;c=i[a>>0]|0;if(!(c<<24>>24))break b}return b|0}while(0);c=b+1|0;if((i[b>>0]|0)!=58){e=0;return e|0}e=i[c>>0]|0;b=b+2|0;b=(e+-97&255)>25?(e<<24>>24==46?b:0):b;if(!b){e=c;return e|0}while(1){e=i[b>>0]|0;c=b+1|0;c=(e+-97&255)>25?(e<<24>>24==46?c:0):c;if(!c)break;else b=c}return b|0}function qn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;l=m+8|0;f=m+4|0;g=m;a:do if(!(k[c+4>>2]&1)){j=k[(k[a>>2]|0)+24>>2]|0;k[f>>2]=k[b>>2];k[l>>2]=k[f>>2];f=vc[j&31](a,l,c,d,e&1)|0}else{f=TN(c)|0;k[g>>2]=f;x=0;d=Ka(865,g|0,74184)|0;j=x;x=0;do if(j&1){m=mb()|0;sK(f)|0;f=m}else{sK(f)|0;f=k[d>>2]|0;if(e)rc[k[f+24>>2]&1023](l,d);else rc[k[f+28>>2]&1023](l,d);a=i[l>>0]|0;g=l+1|0;e=l+8|0;j=k[e>>2]|0;h=l+4|0;f=a;d=j;j=(a&1)==0?g:j;b:while(1){a=(f&1)==0;if((j|0)==((a?g:d)+(a?(f&255)>>>1:k[h>>2]|0)|0)){d=9;break}f=i[j>>0]|0;d=k[b>>2]|0;do if(d|0){c=d+24|0;a=k[c>>2]|0;if((a|0)!=(k[d+28>>2]|0)){k[c>>2]=a+1;i[a>>0]=f;break}x=0;f=Ka(k[(k[d>>2]|0)+52>>2]|0,d|0,f&255|0)|0;a=x;x=0;if(a&1){d=18;break b}if((f|0)==-1)k[b>>2]=0}while(0);f=i[l>>0]|0;d=k[e>>2]|0;j=j+1|0}if((d|0)==9){f=k[b>>2]|0;P1(l);break a}else if((d|0)==18){f=mb()|0;P1(l);break}}while(0);yb(f|0)}while(0);r=m;return f|0}function rn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=0;if(!a){e=1;return e|0}b=k[a+80>>2]|0;if(b|0){e=b;return e|0}b=k[a+24>>2]|0;do if(!b){b=vb(8)|0;x=0;sa(444,b|0,43433);f=x;x=0;if(f&1){f=Eb(0)|0;lb(b|0);b=f;break}else{x=0;Qa(77,b|0,4416,310);x=0;c=7;break}}else{if(!(i[b>>0]|0)){b=vb(8)|0;x=0;sa(444,b|0,43464);f=x;x=0;if(f&1){f=Eb(0)|0;lb(b|0);b=f;break}else{x=0;Qa(77,b|0,4416,310);x=0;c=7;break}}b=GG(444)|0;x=0;sa(550,b|0,a|0);f=x;x=0;if(f&1){f=mb()|0;uha(b);yb(f|0)}else{k[b>>2]=8920;f=At(a,b)|0;return f|0}}while(0);if((c|0)==7)b=Eb(0)|0;Bb(b|0)|0;x=0;b=ua(257,a|0)|0;f=x;x=0;do if(f&1){b=Eb(0)|0;Bb(b|0)|0;x=0;b=ua(257,a|0)|0;f=x;x=0;if(f&1){b=mb()|0;x=0;pa(3);f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}else e=b}else{x=0;pa(3);f=x;x=0;if(!(f&1)){d=b;break}e=mb()|0}x=0;pa(3);f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}else{f=e;yb(f|0)}}else d=b;while(0);xb();f=d|1;return f|0}function sn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;l=r;r=r+48|0;m=l+24|0;e=l+16|0;f=l;c=b+68|0;if((k[(k[c>>2]|0)+52>>2]|0)==8){r=l;return}g=a+4|0;h=a+99|0;j=i[h>>0]|0;i[h>>0]=1;if(!(Xaa(g)|0)){d=a+76|0;k[d>>2]=(k[d>>2]|0)+(k[b+56>>2]|0)}Tu(g);d=k[b+64>>2]|0;rc[k[(k[d>>2]|0)+28>>2]&1023](d,a);cw(g);d=k[c>>2]|0;do if((k[d+52>>2]|0)==7){kI(m,0);x=0;sa(451,e|0,m|0);d=x;x=0;if(d&1)c=mb()|0;else{c=k[c>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,e|0)|0;e=x;x=0;if(!(e&1)){x=0;sa(k[(k[c>>2]|0)+28>>2]|0,c|0,a|0);e=x;x=0;if(!(e&1)){iB(m);break}}c=mb()|0}iB(m);m=c;yb(m|0)}else rc[k[(k[d>>2]|0)+28>>2]&1023](d,a);while(0);do if(i[b+72>>0]|0){yD(g);lE(f,40461,10);x=0;sa(484,g|0,f|0);m=x;x=0;if(!(m&1)){P1(f);break}m=mb()|0;P1(f);yb(m|0)}while(0);EF(g);if(!(Xaa(g)|0)){m=a+76|0;k[m>>2]=(k[m>>2]|0)-(k[b+56>>2]|0)}i[h>>0]=j;r=l;return}function tn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=0;i=r;r=r+48|0;c=i+24|0;d=i+12|0;g=i;e=b+76|0;if(!(k[e>>2]|0)){c=k[k[b+60>>2]>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);c=1}else{f=j[b+80>>1]|0;do if(!((f&255)<<24>>24)){if((f&65535)>=256){lE(d,38927,5);x=0;sa(484,a+4|0,d|0);f=x;x=0;if(!(f&1)){P1(d);break}i=mb()|0;P1(d);yb(i|0)}}else{lE(c,38922,4);x=0;sa(484,a+4|0,c|0);f=x;x=0;if(!(f&1)){P1(c);break}i=mb()|0;P1(c);yb(i|0)}while(0);c=k[e>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);c=0}e=(k[b+64>>2]|0)-(k[b+60>>2]|0)>>2;if(c>>>0>=e>>>0){r=i;return}f=a+4|0;d=b+60|0;while(1){lE(g,38933,5);x=0;sa(484,f|0,g|0);b=x;x=0;if(b&1)break;P1(g);b=k[(k[d>>2]|0)+(c<<2)>>2]|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);c=c+1|0;if(c>>>0>=e>>>0){h=14;break}}if((h|0)==14){r=i;return}i=mb()|0;P1(g);yb(i|0)}function un(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;j=a+72|0;b=k[j>>2]|0;if(b|0)cf(b);i=a+76|0;b=k[i>>2]|0;if(b|0)cf(b);b=k[a+92>>2]|0;if(b|0)cf(b);b=k[a+88>>2]|0;if(b|0)cf(b);h=a+84|0;b=k[h>>2]|0;if(b|0)cf(b);b=k[a+96>>2]|0;if(b|0)cf(b);g=a+24|0;b=k[g>>2]|0;if(b|0)cf(b);f=a+28|0;b=k[f>>2]|0;if(b|0)cf(b);b=k[a+36>>2]|0;if(b|0)cf(b);e=a+32|0;b=k[e>>2]|0;if(b|0)cf(b);d=a+48|0;b=k[d>>2]|0;if(b|0)cf(b);b=a+52|0;c=k[b>>2]|0;if(c|0)cf(c);c=a+112|0;aL(k[c>>2]|0);k[j>>2]=0;k[i>>2]=0;k[g>>2]=0;k[f>>2]=0;k[e>>2]=0;k[d>>2]=0;k[b>>2]=0;k[c>>2]=0;g=a+56|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;c=k[g>>2]|0;if(c|0){b=k[c>>2]|0;if(b|0)do{cf(b);c=c+4|0;b=k[c>>2]|0}while((b|0)!=0)}f=a+64|0;c=k[f>>2]|0;if(c|0){b=k[c>>2]|0;if(b|0)do{cf(b);c=c+4|0;b=k[c>>2]|0}while((b|0)!=0)}e=a+60|0;c=k[e>>2]|0;if(c|0){b=k[c>>2]|0;if(b|0)do{cf(b);c=c+4|0;b=k[c>>2]|0}while((b|0)!=0)}d=a+44|0;b=k[d>>2]|0;if(b|0)do{j=b;b=k[b>>2]|0;cf(k[j+4>>2]|0);cf(j)}while((b|0)!=0);c=a+40|0;b=k[c>>2]|0;if(b|0)do{a=b;b=k[b>>2]|0;cf(k[a+4>>2]|0);cf(a)}while((b|0)!=0);cf(k[g>>2]|0);cf(k[e>>2]|0);cf(k[f>>2]|0);k[g>>2]=0;k[e>>2]=0;k[f>>2]=0;k[d>>2]=0;k[c>>2]=0;return}function vn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;s=0;t=r;r=r+32|0;q=t+16|0;p=t+8|0;m=t+4|0;n=t;e=a+52|0;if(!(i[e>>0]|0)){c=k[a+44>>2]|0;c=(c|0)>1?c:1;o=a+32|0;e=0;while(1){if((e|0)>=(c|0)){s=8;break}d=XC(k[o>>2]|0)|0;if((d|0)==-1){c=-1;break}i[q+e>>0]=d;e=e+1|0}if((s|0)==8){do if(!(i[a+53>>0]|0)){g=a+40|0;h=a+36|0;j=p+1|0;a:while(1){u=k[g>>2]|0;e=u;d=k[e>>2]|0;e=k[e+4>>2]|0;v=k[h>>2]|0;f=q+c|0;switch(Rc[k[(k[v>>2]|0)+16>>2]&15](v,u,q,f,m,p,j,n)|0){case 3:{s=15;break a}case 2:{s=17;break a}case 1:break;default:break a}v=k[g>>2]|0;k[v>>2]=d;k[v+4>>2]=e;if((c|0)==8){s=17;break}d=XC(k[o>>2]|0)|0;if((d|0)==-1){s=17;break}i[f>>0]=d;c=c+1|0}if((s|0)==15)i[p>>0]=i[q>>0]|0;else if((s|0)==17){c=-1;break}s=18}else{i[p>>0]=i[q>>0]|0;s=18}while(0);b:do if((s|0)==18){if(b){c=i[p>>0]|0;k[a+48>>2]=c&255}else{while(1){if((c|0)<=0)break;c=c+-1|0;if(($A(l[q+c>>0]|0,k[o>>2]|0)|0)==-1){c=-1;break b}}c=i[p>>0]|0}c=c&255}while(0)}}else{d=a+48|0;c=k[d>>2]|0;if(b){k[d>>2]=-1;i[e>>0]=0}}r=t;return c|0}function wn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+48|0;c=h+36|0;d=h+24|0;e=h+12|0;f=h;g=a+4|0;Tu(g);lE(c,38791,4);x=0;Qa(134,g|0,c|0,b|0);j=x;x=0;if(j&1){j=mb()|0;P1(c);yb(j|0)}P1(c);vba(g);_G(d,b+68|0);x=0;sa(484,g|0,d|0);j=x;x=0;if(j&1){j=mb()|0;P1(d);yb(j|0)}P1(d);lE(e,38796,6);x=0;sa(484,g|0,e|0);j=x;x=0;if(j&1){j=mb()|0;P1(e);yb(j|0)}P1(e);j=k[b+80>>2]|0;rc[k[(k[j>>2]|0)+28>>2]&1023](j,a);j=(i[b+88>>0]|0)!=0;lE(f,j?38803:38813,j?9:4);x=0;sa(484,g|0,f|0);j=x;x=0;if(!(j&1)){P1(f);j=k[b+84>>2]|0;rc[k[(k[j>>2]|0)+28>>2]&1023](j,a);j=k[b+64>>2]|0;rc[k[(k[j>>2]|0)+28>>2]&1023](j,a);r=h;return}j=mb()|0;P1(f);yb(j|0)}function xn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;j=l+8|0;f=l+4|0;g=l;a:do if(!(k[c+4>>2]&1)){h=k[(k[a>>2]|0)+24>>2]|0;k[f>>2]=k[b>>2];k[j>>2]=k[f>>2];f=vc[h&31](a,j,c,d,e&1)|0}else{f=TN(c)|0;k[g>>2]=f;x=0;d=Ka(865,g|0,74212)|0;h=x;x=0;do if(h&1){l=mb()|0;sK(f)|0;f=l}else{sK(f)|0;f=k[d>>2]|0;if(e)rc[k[f+24>>2]&1023](j,d);else rc[k[f+28>>2]&1023](j,d);a=i[j>>0]|0;g=j+4|0;e=j+8|0;h=k[e>>2]|0;f=a;d=h;h=(a&1)==0?g:h;while(1){a=(f&1)==0;if((h|0)==((a?g:d)+((a?(f&255)>>>1:k[g>>2]|0)<<2)|0)){d=9;break}f=k[h>>2]|0;d=k[b>>2]|0;if(d|0){c=d+24|0;a=k[c>>2]|0;if((a|0)==(k[d+28>>2]|0)){x=0;f=Ka(k[(k[d>>2]|0)+52>>2]|0,d|0,f|0)|0;a=x;x=0;if(a&1){d=18;break}}else{k[c>>2]=a+4;k[a>>2]=f}if((f|0)==-1)k[b>>2]=0}f=i[j>>0]|0;d=k[e>>2]|0;h=h+4|0}if((d|0)==9){f=k[b>>2]|0;O1(j);break a}else if((d|0)==18){f=mb()|0;O1(j);break}}while(0);yb(f|0)}while(0);r=l;return f|0}function yn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+48|0;h=j;zt(a,1,0)|0;if(Os(a,1,0)|0){b=Pk(a)|0;c=(k[a+40>>2]|0)+36|0;d=lD(c,60)|0;e=h;f=a+108|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+4>>2]=0;e=d+8|0;f=h;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=6272;k[d+56>>2]=b;b=N4(c,d)|0;if(b|0){a=b;r=j;return a|0}}b=Mt(a)|0;if(b|0){a=b;r=j;return a|0}if(!(ms(a,1,0)|0)){a=0;r=j;return a|0}b=a+152|0;k[h>>2]=k[b>>2];k[h+4>>2]=k[b+4>>2];k[h+8>>2]=k[b+8>>2];b=yd(a,h,0)|0;if(!b){a=0;r=j;return a|0}c=(k[a+40>>2]|0)+36|0;d=lD(c,60)|0;e=h;f=a+108|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+4>>2]=0;e=d+8|0;f=h;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=11552;k[d+56>>2]=b;a=N4(c,d)|0;r=j;return a|0}function zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0,l=0,m=0;g=j[a>>1]|0;h=(g&1)==0;f=(g&254)>>>1;l=h?f:k[a+4>>2]|0;m=i[b>>0]|0;e=(m&1)==0;g=(g&65535)>>>8&255;a:do if((l|0)==((e?(m&255)>>>1:k[b+4>>2]|0)|0)){e=e?b+1|0:k[b+8>>2]|0;if(!h){if(!(tG(k[a+8>>2]|0,e,l)|0))d=1.0;else break;return +d}if(!l){d=1.0;return +d}if(g<<24>>24==(i[e>>0]|0)){g=a+1|0;while(1){f=f+-1|0;g=g+1|0;if(!f){d=1.0;break}e=e+1|0;if((i[g>>0]|0)!=(i[e>>0]|0))break a}return +d}}while(0);a=Fn(a)|0;l=Fn(b)|0;e=a&65280;switch(e|0){case 1024:case 768:case 512:case 256:case 0:break;default:e=1280}f=l&65280;switch(f|0){case 1024:case 768:case 512:case 256:case 0:break;default:f=1280}g=a-e|0;h=l-f|0;if(!((e|0)==(f|0)|c^1)){e=vb(8)|0;x=0;Qa(145,e|0,a|0,l|0);m=x;x=0;if(m&1){m=mb()|0;lb(e|0);yb(m|0)}else Wb(e|0,416,171)}if(!((a|0)!=1280&(l|0)!=1280)){d=0.0;return +d}switch(e|0){case 0:{d=+p[2264+(g*48|0)+(h<<3)>>3];return +d}case 256:{d=+p[2552+(g<<5)+(h<<3)>>3];return +d}case 512:{d=+p[2680+(g<<4)+(h<<3)>>3];return +d}case 768:{d=+p[2712+(g<<4)+(h<<3)>>3];return +d}case 1024:{d=+p[2744+(g*24|0)+(h<<3)>>3];return +d}default:{d=0.0;return +d}}return 0.0}function An(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a=k[b>>2]|0;do if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0))if((tc[k[(k[a>>2]|0)+36>>2]&511](a)|0)==-1){k[b>>2]=0;a=0;break}else{a=k[b>>2]|0;break}while(0);f=(a|0)==0;a=k[c>>2]|0;do if(!a)h=11;else{if((k[a+12>>2]|0)==(k[a+16>>2]|0))if((tc[k[(k[a>>2]|0)+36>>2]&511](a)|0)==-1){k[c>>2]=0;h=11;break}if(f){g=a;h=13}else h=12}while(0);if((h|0)==11)if(f)h=12;else{g=0;h=13}a:do if((h|0)==12)k[d>>2]=k[d>>2]|6;else if((h|0)==13){a=k[b>>2]|0;f=k[a+12>>2]|0;if((f|0)==(k[a+16>>2]|0))a=tc[k[(k[a>>2]|0)+36>>2]&511](a)|0;else a=l[f>>0]|0;if((wc[k[(k[e>>2]|0)+36>>2]&127](e,a&255,0)|0)<<24>>24!=37){k[d>>2]=k[d>>2]|4;break}a=k[b>>2]|0;f=a+12|0;e=k[f>>2]|0;if((e|0)==(k[a+16>>2]|0)){tc[k[(k[a>>2]|0)+40>>2]&511](a)|0;a=k[b>>2]|0;if(!a)a=0;else h=21}else{k[f>>2]=e+1;h=21}do if((h|0)==21)if((k[a+12>>2]|0)==(k[a+16>>2]|0))if((tc[k[(k[a>>2]|0)+36>>2]&511](a)|0)==-1){k[b>>2]=0;a=0;break}else{a=k[b>>2]|0;break}while(0);a=(a|0)==0;do if(!g)h=30;else{if((k[g+12>>2]|0)==(k[g+16>>2]|0))if((tc[k[(k[g>>2]|0)+36>>2]&511](g)|0)==-1){k[c>>2]=0;h=30;break}if(a)break a}while(0);if((h|0)==30)if(!a)break;k[d>>2]=k[d>>2]|2}while(0);return}function Bn(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;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=0;if((d|0)==0|(e|0)==0)return;i=b+16|0;l=b+4|0;m=c+16|0;n=c+4|0;while(1){h=(k[i>>2]|0)+d|0;h=k[(k[(k[l>>2]|0)+(h>>>10<<2)>>2]|0)+((h&1023)<<2)>>2]|0;j=(k[m>>2]|0)+e|0;j=k[(k[(k[n>>2]|0)+(j>>>10<<2)>>2]|0)+((j&1023)<<2)>>2]|0;if(!(Pj(h,j)|0))if(!(Pj(j,h)|0)){m=h;break}if(!(k[h+68>>2]|0))if(!(k[j+68>>2]|0)){if(vg(h,j)|0){m=j;break}if(vg(j,h)|0){m=h;break}}h=k[a>>2]|0;j=e+-1|0;p=d+-1|0;h=(k[(k[h+(d*12|0)>>2]|0)+(j<<2)>>2]|0)>(k[(k[h+(p*12|0)>>2]|0)+(e<<2)>>2]|0);d=h?d:p;e=h?j:e;if((d|0)==0|(e|0)==0){o=13;break}}if((o|0)==13)return;Bn(a,b,c,d+-1|0,e+-1|0,f,g);p=k[g+8>>2]|0;j=g+4|0;e=k[j>>2]|0;i=g+16|0;d=k[i>>2]|0;l=g+20|0;h=k[l>>2]|0;if((((p|0)==(e|0)?0:(p-e<<8)+-1|0)|0)==(h+d|0)){Fg(g);h=k[l>>2]|0;d=k[i>>2]|0;e=k[j>>2]|0}p=h+d|0;k[(k[e+(p>>>10<<2)>>2]|0)+((p&1023)<<2)>>2]=m;k[l>>2]=h+1;return}function Cn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0.0,j=0.0,l=0.0,m=0.0,n=0,o=0,q=0,s=0,t=0,u=0,v=0.0;u=r;r=r+64|0;s=u+24|0;h=u+12|0;t=u;lE(h,36999,6);x=0;n=s;o=e;q=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));b=wa(24,h|0,a|0,d|0,s|0,f|0)|0;q=x;x=0;if(q&1){u=mb()|0;P1(h);yb(u|0)}P1(h);l=+p[b+56>>3]/255.0;m=+p[b+64>>3]/255.0;g=+p[b+72>>3]/255.0;b=m>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));Fa(1,h|0,s|0,+g,t|0,1);e=x;x=0;if(!(e&1)){x=0;b=Ka(857,b|0,h|0)|0;e=x;x=0;if(!(e&1)){P1(t);r=u;return b|0}}u=mb()|0;P1(t);yb(u|0);return 0}function Dn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+16|0;h=i;k[a>>2]=0;j=a+4|0;k[j>>2]=0;k[a+8>>2]=0;d=k[b+72>>2]|0;f=(k[b+76>>2]|0)-d>>2;g=a+8|0;if(!f){r=i;return}x=0;c=ua(186,f*12|0)|0;e=x;x=0;do if(e&1){c=mb()|0;b=6}else{e=c;k[a>>2]=e;k[j>>2]=e;k[g>>2]=c+(f*12|0);e=b+72|0;b=d;d=0;while(1){b=k[b+(d<<2)>>2]|0;x=0;sa(k[(k[b>>2]|0)+24>>2]|0,h|0,b|0);b=x;x=0;if(b&1){b=4;break}c=k[j>>2]|0;if(c>>>0<(k[g>>2]|0)>>>0){k[c>>2]=k[h>>2];k[c+4>>2]=k[h+4>>2];k[c+8>>2]=k[h+8>>2];k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[j>>2]=(k[j>>2]|0)+12}else{x=0;sa(448,a|0,h|0);b=x;x=0;if(b&1){b=13;break}}P1(h);c=d+1|0;if(c>>>0>=f>>>0){b=14;break}b=k[e>>2]|0;d=c}if((b|0)==4){c=mb()|0;b=6;break}else if((b|0)==13){d=mb()|0;P1(h);break}else if((b|0)==14){r=i;return}}while(0);if((b|0)==6)d=c;c=k[a>>2]|0;if(!c)yb(d|0);b=k[j>>2]|0;if((b|0)!=(c|0)){do{i=b+-12|0;k[j>>2]=i;P1(i);b=k[j>>2]|0}while((b|0)!=(c|0));c=k[a>>2]|0}uha(c);yb(d|0)}function En(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;q=0;s=r;r=r+32|0;p=s+16|0;o=s+8|0;l=s+4|0;m=s;e=a+52|0;if(!(i[e>>0]|0)){c=k[a+44>>2]|0;c=(c|0)>1?c:1;n=a+32|0;e=0;while(1){if((e|0)>=(c|0)){q=8;break}d=XC(k[n>>2]|0)|0;if((d|0)==-1){c=-1;break}i[p+e>>0]=d;e=e+1|0}if((q|0)==8){do if(!(i[a+53>>0]|0)){g=a+40|0;h=a+36|0;j=o+4|0;a:while(1){t=k[g>>2]|0;e=t;d=k[e>>2]|0;e=k[e+4>>2]|0;u=k[h>>2]|0;f=p+c|0;switch(Rc[k[(k[u>>2]|0)+16>>2]&15](u,t,p,f,l,o,j,m)|0){case 3:{q=15;break a}case 2:{q=17;break a}case 1:break;default:break a}u=k[g>>2]|0;k[u>>2]=d;k[u+4>>2]=e;if((c|0)==8){q=17;break}d=XC(k[n>>2]|0)|0;if((d|0)==-1){q=17;break}i[f>>0]=d;c=c+1|0}if((q|0)==15)k[o>>2]=i[p>>0];else if((q|0)==17){c=-1;break}q=18}else{k[o>>2]=i[p>>0];q=18}while(0);b:do if((q|0)==18){if(b){c=k[o>>2]|0;k[a+48>>2]=c;break}while(1){if((c|0)<=0)break;c=c+-1|0;if(($A(i[p+c>>0]|0,k[n>>2]|0)|0)==-1){c=-1;break b}}c=k[o>>2]|0}while(0)}}else{d=a+48|0;c=k[d>>2]|0;if(b){k[d>>2]=-1;i[e>>0]=0}}r=s;return c|0}function Fn(a){a=a|0;if(!(KH(a,44676)|0)){a=5;return a|0}if(!(KH(a,44679)|0)){a=4;return a|0}if(!(KH(a,44682)|0)){a=2;return a|0}if(!(KH(a,44685)|0)){a=3;return a|0}if(!(KH(a,44688)|0)){a=1;return a|0}if(!(KH(a,44691)|0)){a=0;return a|0}if(!(KH(a,44694)|0)){a=256;return a|0}if(!(KH(a,44698)|0)){a=257;return a|0}if(!(KH(a,44703)|0)){a=258;return a|0}if(!(KH(a,44707)|0)){a=259;return a|0}if(!(KH(a,44712)|0)){a=512;return a|0}if(!(KH(a,44714)|0)){a=513;return a|0}if(!(KH(a,44717)|0)){a=768;return a|0}if(!(KH(a,44720)|0)){a=769;return a|0}if(!(KH(a,44724)|0)){a=1024;return a|0}if(!(KH(a,44728)|0)){a=1025;return a|0}a=(KH(a,44733)|0)==0;a=a?1026:1280;return a|0}function Gn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=0;j=r;r=r+48|0;f=j+24|0;e=j+12|0;h=j;d=a+80|0;a:do if(!(k[d>>2]|0)){b=a+76|0;c=k[b>>2]|0;if(c|0){nE(e,c,32);k[b>>2]=0;x=0;sa(484,a|0,e|0);g=x;x=0;if(!(g&1)){P1(e);break}j=mb()|0;P1(e);yb(j|0)}}else{lE(f,78097,0);b:do if(!(k[d>>2]|0))g=4;else{b=a+68|0;c=0;while(1){x=0;Ka(866,f|0,k[(k[b>>2]|0)+12>>2]|0)|0;e=x;x=0;if(e&1)break;c=c+1|0;if(c>>>0>=(k[d>>2]|0)>>>0){g=4;break b}}b=mb()|0}while(0);do if((g|0)==4){k[a+76>>2]=0;k[d>>2]=0;x=0;sa(484,a|0,f|0);g=x;x=0;if(g&1){b=mb()|0;break}else{P1(f);break a}}while(0);P1(f);j=b;yb(j|0)}while(0);b=a+84|0;if(!(i[b>>0]|0)){r=j;return}i[b>>0]=0;lE(h,43514,1);x=0;sa(484,a|0,h|0);a=x;x=0;if(a&1){j=mb()|0;P1(h);yb(j|0)}else{P1(h);r=j;return}}function Hn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;k[a>>2]=0;h=a+4|0;k[h>>2]=0;k[a+8>>2]=0;f=b+4|0;e=k[f>>2]|0;g=k[b>>2]|0;c=e-g|0;d=(c|0)/28|0;if((e|0)==(g|0))return;if(d>>>0>153391689){x=0;ra(322,a|0);g=x;x=0;if(g&1)e=10;else e=4}else e=4;do if((e|0)==4){x=0;c=ua(186,c|0)|0;g=x;x=0;if(g&1)e=10;else{k[h>>2]=c;k[a>>2]=c;k[a+8>>2]=c+(d*28|0);d=k[b>>2]|0;b=k[f>>2]|0;if((d|0)==(b|0))return;while(1){x=0;sa(515,c|0,d|0);g=x;x=0;if(g&1){e=9;break}c=(k[h>>2]|0)+28|0;k[h>>2]=c;d=d+28|0;if((d|0)==(b|0)){e=22;break}}if((e|0)==9){g=mb()|0;break}else if((e|0)==22)return}}while(0);if((e|0)==10)g=mb()|0;c=k[a>>2]|0;if(!c)yb(g|0);d=k[h>>2]|0;if((d|0)!=(c|0)){do{e=d+-28|0;k[h>>2]=e;sC(d+-16|0,k[d+-12>>2]|0);f=k[e>>2]|0;if(f|0){b=d+-24|0;d=k[b>>2]|0;if((d|0)==(f|0))d=f;else{do{i=d+-12|0;k[b>>2]=i;P1(i);d=k[b>>2]|0}while((d|0)!=(f|0));d=k[e>>2]|0}uha(d)}d=k[h>>2]|0}while((d|0)!=(c|0));c=k[a>>2]|0}uha(c);yb(g|0)}function In(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;if(Ju(a)|0){f=a;return f|0}f=i[29971]|0;if(!(f<<24>>24)){while(1){c=Q4(a)|0;if(!c){c=tga(a)|0;if(!c)c=qx(a)|0}if((c|0)==(a|0)){a=0;c=18;break}d=(c|0)==0;if(d){a=0;c=18;break}if(!(Ju(d?a:c)|0))a=c;else{a=c;c=18;break}}if((c|0)==18)return a|0}else e=a;while(1){d=i[e>>0]|0;a=f;c=29971;while(1){if(d<<24>>24==a<<24>>24){c=12;break}c=c+1|0;a=i[c>>0]|0;if(!(a<<24>>24)){c=14;break}}if((c|0)==12){c=0;if(!(d<<24>>24))c=14;else b=e+1|0}if((c|0)==14){b=Q4(e)|0;if(!b){b=tga(e)|0;if(!b)b=qx(e)|0}if((b|0)==(e|0)|(b|0)==0){a=0;c=18;break}}if(!(Ju(b)|0))e=b;else{a=b;c=18;break}}if((c|0)==18)return a|0;return 0}function Jn(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;var j=0,l=0;j=0;k[c>>2]=a;k[f>>2]=d;l=e;if(!(h&2))j=4;else if((l-d|0)<3)a=1;else{k[f>>2]=d+1;i[d>>0]=-17;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=-69;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=-65;j=4}a:do if((j|0)==4){a=k[c>>2]|0;while(1){if(a>>>0>=b>>>0){a=0;break a}h=k[a>>2]|0;if(h>>>0>g>>>0|(h&-2048|0)==55296){a=2;break a}do if(h>>>0<128){a=k[f>>2]|0;if((l-a|0)<1){a=1;break a}k[f>>2]=a+1;i[a>>0]=h}else{if(h>>>0<2048){a=k[f>>2]|0;if((l-a|0)<2){a=1;break a}k[f>>2]=a+1;i[a>>0]=h>>>6|192;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=h&63|128;break}a=k[f>>2]|0;e=l-a|0;if(h>>>0<65536){if((e|0)<3){a=1;break a}k[f>>2]=a+1;i[a>>0]=h>>>12|224;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=h>>>6&63|128;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=h&63|128;break}else{if((e|0)<4){a=1;break a}k[f>>2]=a+1;i[a>>0]=h>>>18|240;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=h>>>12&63|128;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=h>>>6&63|128;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=h&63|128;break}}while(0);a=(k[c>>2]|0)+4|0;k[c>>2]=a}}while(0);return a|0}function Kn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=0;j=r;r=r+48|0;i=j+8|0;c=j;h=a+4|0;nB(i,IN(k[h>>2]|0)|0,0);d=k[h>>2]|0;k[c>>2]=i;e=d+28|0;f=k[e>>2]|0;if(f>>>0<(k[d+32>>2]|0)>>>0){k[f>>2]=i;k[e>>2]=(k[e>>2]|0)+4;g=4}else{x=0;sa(488,d+24|0,c|0);f=x;x=0;if(!(f&1))g=4}do if((g|0)==4){c=k[b+68>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a|0)|0;g=x;x=0;if(!(g&1)){x=0;c=ua(k[(k[c>>2]|0)+60>>2]|0,c|0)|0;g=x;x=0;if(!(g&1)){if(c){c=k[b+64>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a|0)|0;a=x;x=0;if(a&1)break}else{c=k[b+72>>2]|0;if(!c)c=0;else{x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a|0)|0;a=x;x=0;if(a&1)break}}h=(k[h>>2]|0)+28|0;k[h>>2]=(k[h>>2]|0)+-4;iB(i+20|0);az(i,k[i+4>>2]|0);r=j;return c|0}}}while(0);j=mb()|0;iB(i+20|0);az(i,k[i+4>>2]|0);yb(j|0);return 0}function Ln(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;m=r;r=r+32|0;h=m+12|0;l=m;g=Ot(b,64,648,0)|0;if(!g){l=0;r=m;return l|0}x=0;sa(430,h|0,a+60|0);f=x;x=0;do if(f&1){c=hb(4480,0)|0;b=M}else{x=0;sa(430,l|0,g+60|0);f=x;x=0;if(f&1){c=hb(4480,0)|0;b=M;P1(h);break}f=j[h>>1]|0;d=(f&1)==0;c=(f&254)>>>1;e=d?c:k[h+4>>2]|0;n=i[l>>0]|0;b=(n&1)==0;f=(f&65535)>>>8&255;a:do if((e|0)==((b?(n&255)>>>1:k[l+4>>2]|0)|0)){b=b?l+1|0:k[l+8>>2]|0;b:do if(d){if(e|0){if(f<<24>>24!=(i[b>>0]|0)){b=0;break a}d=h+1|0;while(1){c=c+-1|0;d=d+1|0;if(!c)break b;b=b+1|0;if((i[d>>0]|0)!=(i[b>>0]|0)){b=0;break a}}}}else if(tG(k[h+8>>2]|0,b,e)|0){b=0;break a}while(0);b=(k[a+56>>2]|0)==(k[g+56>>2]|0)}else b=0;while(0);P1(l);P1(h);n=b;r=m;return n|0}while(0);n=(b|0)==(tb(4480)|0);Bb(c|0)|0;if(n){xb();n=0;r=m;return n|0}x=0;pa(4);x=0;b=mb()|0;x=0;pa(3);n=x;x=0;if(n&1){n=Eb(0)|0;Nba(n)}else yb(b|0);return 0}function Mn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=0;g=e+8|0;a:while(1){a=k[b>>2]|0;do if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0))if((tc[k[(k[a>>2]|0)+36>>2]&511](a)|0)==-1){k[b>>2]=0;a=0;break}else{a=k[b>>2]|0;break}while(0);a=(a|0)==0;e=k[c>>2]|0;do if(!e)h=12;else{if((k[e+12>>2]|0)!=(k[e+16>>2]|0))if(a)break;else break a;if((tc[k[(k[e>>2]|0)+36>>2]&511](e)|0)==-1){k[c>>2]=0;h=12;break}else if(a)break;else break a}while(0);if((h|0)==12){h=0;if(a){e=0;break}else e=0}a=k[b>>2]|0;f=k[a+12>>2]|0;if((f|0)==(k[a+16>>2]|0))a=tc[k[(k[a>>2]|0)+36>>2]&511](a)|0;else a=l[f>>0]|0;if((a&255)<<24>>24<=-1)break;if(!(j[(k[g>>2]|0)+(a<<24>>24<<1)>>1]&8192))break;a=k[b>>2]|0;e=a+12|0;f=k[e>>2]|0;if((f|0)==(k[a+16>>2]|0)){tc[k[(k[a>>2]|0)+40>>2]&511](a)|0;continue}else{k[e>>2]=f+1;continue}}a=k[b>>2]|0;do if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0))if((tc[k[(k[a>>2]|0)+36>>2]&511](a)|0)==-1){k[b>>2]=0;a=0;break}else{a=k[b>>2]|0;break}while(0);a=(a|0)==0;do if(!e)h=32;else{if((k[e+12>>2]|0)==(k[e+16>>2]|0))if((tc[k[(k[e>>2]|0)+36>>2]&511](e)|0)==-1){k[c>>2]=0;h=32;break}if(!a)h=33}while(0);if((h|0)==32)if(a)h=33;if((h|0)==33)k[d>>2]=k[d>>2]|2;return}function Nn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;lE(a,78097,0);e=i[b>>0]|0;f=(e&1)==0;c=f?b+1|0:k[b+8>>2]|0;e=f?(e&255)>>>1:k[b+4>>2]|0;f=c+e|0;if(!e)return;else b=0;a:while(1){e=i[c>>0]|0;d=e<<24>>24!=92;do if(b|d){if(b&e<<24>>24==34){x=0;sa(440,a|0,92);e=x;x=0;if(e&1){b=6;break a}x=0;sa(440,a|0,34);e=x;x=0;if(e&1){b=6;break a}else{b=0;break}}if(b&e<<24>>24==39){x=0;sa(440,a|0,92);e=x;x=0;if(e&1){b=6;break a}x=0;sa(440,a|0,39);e=x;x=0;if(e&1){b=6;break a}else{b=0;break}}if(d|b^1){x=0;sa(440,a|0,e|0);e=x;x=0;if(e&1){b=6;break a}else{b=0;break}}x=0;sa(440,a|0,92);e=x;x=0;if(e&1){b=6;break a}x=0;sa(440,a|0,92);e=x;x=0;if(e&1){b=6;break a}else b=0}else{x=0;sa(440,a|0,92);e=x;x=0;if(e&1){b=6;break a}x=0;sa(440,a|0,92);e=x;x=0;if(e&1){b=6;break a}else b=1}while(0);c=c+1|0;if((c|0)==(f|0)){b=2;break}}if((b|0)==2)return;else if((b|0)==6){f=mb()|0;P1(a);yb(f|0)}}function On(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;g=0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;c=b+68|0;e=k[b+72>>2]|0;f=k[c>>2]|0;d=(e-f|0)/12|0;a:do if((e|0)!=(f|0)){e=0;while(1){if(e|0){x=0;sa(440,a|0,42);f=x;x=0;if(f&1)break}f=k[c>>2]|0;f=f+(e*12|0)|0;l=f|0;h=i[l>>0]|0;j=(h&1)==0;x=0;xa(46,a|0,(j?l+1|0:k[f+8>>2]|0)|0,(j?(h&255)>>>1:k[f+4>>2]|0)|0)|0;f=x;x=0;if(f&1)break;e=e+1|0;if(e>>>0>=d>>>0)break a}l=mb()|0;P1(a);yb(l|0)}while(0);f=b+80|0;d=k[f>>2]|0;e=b+84|0;c=k[e>>2]|0;do if((d|0)!=(c|0)){x=0;sa(440,a|0,47);l=x;x=0;if(!(l&1)){c=k[e>>2]|0;d=k[f>>2]|0;break}l=mb()|0;P1(a);yb(l|0)}while(0);e=(c-d|0)/12|0;if((c|0)==(d|0))return;else c=0;while(1){if(c|0){x=0;sa(440,a|0,42);l=x;x=0;if(l&1)break}l=k[f>>2]|0;l=l+(c*12|0)|0;b=l|0;j=i[b>>0]|0;h=(j&1)==0;x=0;xa(46,a|0,(h?b+1|0:k[l+8>>2]|0)|0,(h?(j&255)>>>1:k[l+4>>2]|0)|0)|0;l=x;x=0;if(l&1)break;c=c+1|0;if(c>>>0>=e>>>0){g=20;break}}if((g|0)==20)return;l=mb()|0;P1(a);yb(l|0)}function Pn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+16|0;g=m;j=GG(32)|0;f=k[c>>2]|0;k[j+16>>2]=f;h=j+20|0;d=c+4|0;l=j+24|0;k[h>>2]=k[d>>2];e=c+8|0;k[l>>2]=k[e>>2];c=c+12|0;k[j+28>>2]=k[c>>2];k[c>>2]=0;k[e>>2]=0;k[d>>2]=0;d=b+4|0;c=k[d>>2]|0;do if(!c){k[g>>2]=d;e=d}else{d=c;while(1){c=k[d+16>>2]|0;if(f>>>0>>0){c=k[d>>2]|0;if(!c){c=d;f=4;break}}else{if(c>>>0>=f>>>0){f=9;break}e=d+4|0;c=k[e>>2]|0;if(!c){c=e;f=8;break}}d=c}if((f|0)==4){k[g>>2]=d;e=c;break}else if((f|0)==8){k[g>>2]=d;e=c;break}else if((f|0)==9){k[g>>2]=d;e=g;break}}while(0);c=k[e>>2]|0;if(!c){k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=d;k[e>>2]=j;c=k[k[b>>2]>>2]|0;if(!c)c=j;else{k[b>>2]=c;c=k[e>>2]|0}hl(k[b+4>>2]|0,c);d=b+8|0;k[d>>2]=(k[d>>2]|0)+1;d=1;c=j}else d=0;k[a>>2]=c;i[a+4>>0]=d;if(d<<24>>24){r=m;return}c=k[h>>2]|0;d=c;if(c|0){e=k[l>>2]|0;if((e|0)!=(c|0))k[l>>2]=e+(~((e+-8-d|0)>>>3)<<3);uha(c)}uha(j);r=m;return}function Qn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;e=i+8|0;f=i;k[a+36>>2]=0;g=k[b>>2]|0;k[e>>2]=g;h=a+4|0;do if(!(yq(h,e)|0)){c=a+28|0;d=k[c>>2]|0;if((d|0)==(k[a+32>>2]|0)){uw(a+24|0,b);break}else{k[d>>2]=g;k[c>>2]=(k[c>>2]|0)+4;break}}else{c=a+40|0;if(!(k[c>>2]|0))k[c>>2]=g}while(0);d=k[b+4>>2]|0;c=Fq(h,b)|0;if(c|0){h=c;h=h+12|0;k[h>>2]=d;h=k[a>>2]|0;h=k[h>>2]|0;k[f>>2]=g;g=f+4|0;k[g>>2]=d;k[e>>2]=k[f>>2];k[e+4>>2]=k[f+4>>2];rc[h&1023](a,e);r=i;return a|0}c=GG(16)|0;k[c+8>>2]=g;k[c+12>>2]=0;x=0;Qa(109,e|0,h|0,c|0);h=x;x=0;if(h&1){i=mb()|0;uha(c);yb(i|0)}h=k[e>>2]|0;h=h+12|0;k[h>>2]=d;h=k[a>>2]|0;h=k[h>>2]|0;k[f>>2]=g;g=f+4|0;k[g>>2]=d;k[e>>2]=k[f>>2];k[e+4>>2]=k[f+4>>2];rc[h&1023](a,e);r=i;return a|0}function Rn(a){a=a|0;var b=0,c=0,d=0,e=0;if((i[a>>0]|0)!=39){e=0;return e|0}b=a+1|0;c=i[b>>0]|0;d=a+2|0;if(c<<24>>24==92){a=uaa(d)|0;if(!a){a=i[b>>0]|0;e=5}else{b=a;e=11}}else{a=c;e=5}a:do if((e|0)==5){c=a<<24>>24==35;b:do if(c)if((i[d>>0]|0)==123)e=10;else{b=d;e=11;break a}else{switch(a<<24>>24){case 0:{a=0;break a}case 39:{c=42873;break b}default:{}}if(a<<24>>24==92)c=42874;else e=10}while(0);if((e|0)==10)c=c?42875:42876;if(!(i[c>>0]|0)){b=d;e=11}else e=21}while(0);if((e|0)==11){c:while(1){e=0;a=i[b>>0]|0;d=b+1|0;if(a<<24>>24==92){a=uaa(d)|0;if(a|0){b=a;e=11;continue}a=i[b>>0]|0}c=a<<24>>24==35;d:do if(c)if((i[d>>0]|0)==123)e=19;else{b=d;e=11;continue c}else{switch(a<<24>>24){case 0:break c;case 39:{c=42873;break d}default:{}}if(a<<24>>24==92)c=42874;else e=19}while(0);if((e|0)==19)c=c?42875:42876;if(!(i[c>>0]|0)){b=d;e=11}else break}if(!b){e=0;return e|0}else e=21}if((e|0)==21)if(a<<24>>24==39){e=b+1|0;return e|0}c=i[38919]|0;e:do if(!(c<<24>>24)){a=b;c=0}else if(a<<24>>24==c<<24>>24){a=b;d=38919;do{a=a+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){c=0;break e}}while((i[a>>0]|0)==c<<24>>24)}else a=b;while(0);e=c<<24>>24==0&(a|0)!=0?b:0;return e|0}function Sn(a){a=a|0;var b=0,c=0,d=0,e=0;if((i[a>>0]|0)!=34){e=0;return e|0}b=a+1|0;c=i[b>>0]|0;d=a+2|0;if(c<<24>>24==92){a=uaa(d)|0;if(!a){a=i[b>>0]|0;e=5}else{b=a;e=11}}else{a=c;e=5}a:do if((e|0)==5){c=a<<24>>24==35;b:do if(c)if((i[d>>0]|0)==123)e=10;else{b=d;e=11;break a}else{switch(a<<24>>24){case 0:{a=0;break a}case 34:{c=42869;break b}default:{}}if(a<<24>>24==92)c=42870;else e=10}while(0);if((e|0)==10)c=c?42871:42872;if(!(i[c>>0]|0)){b=d;e=11}else e=21}while(0);if((e|0)==11){c:while(1){e=0;a=i[b>>0]|0;d=b+1|0;if(a<<24>>24==92){a=uaa(d)|0;if(a|0){b=a;e=11;continue}a=i[b>>0]|0}c=a<<24>>24==35;d:do if(c)if((i[d>>0]|0)==123)e=19;else{b=d;e=11;continue c}else{switch(a<<24>>24){case 0:break c;case 34:{c=42869;break d}default:{}}if(a<<24>>24==92)c=42870;else e=19}while(0);if((e|0)==19)c=c?42871:42872;if(!(i[c>>0]|0)){b=d;e=11}else break}if(!b){e=0;return e|0}else e=21}if((e|0)==21)if(a<<24>>24==34){e=b+1|0;return e|0}c=i[38919]|0;e:do if(!(c<<24>>24)){a=b;c=0}else if(a<<24>>24==c<<24>>24){a=b;d=38919;do{a=a+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){c=0;break e}}while((i[a>>0]|0)==c<<24>>24)}else a=b;while(0);e=c<<24>>24==0&(a|0)!=0?b:0;return e|0}function Tn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;k[a>>2]=b;break a}case 10:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=0;break a}case 12:{d=(k[c>>2]|0)+(8-1)&~(8-1);b=d;e=k[b>>2]|0;b=k[b+4>>2]|0;k[c>>2]=d+8;d=a;k[d>>2]=e;k[d+4>>2]=b;break a}case 13:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&65535;k[e+4>>2]=0;break a}case 15:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&255)<<24>>24;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&255;k[e+4>>2]=0;break a}case 17:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}case 18:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}default:break a}while(0);while(0);return}function Un(a){a=a|0;var b=0,c=0,d=0;c=0;b=mI(a)|0;if(!b){b=Hq(a)|0;if(!b)if(!a){d=0;return d|0}else d=a;else c=3}else c=3;if((c|0)==3)while(1){c=0;a=mI(b)|0;if(a|0){b=a;c=3;continue}a=Hq(b)|0;if(!a){d=b;break}else{b=a;c=3}}b=d+1|0;switch(i[d>>0]|0){case 33:{c=7;break}case 41:case 40:case 44:{d=b;return d|0}default:{}}a:do if((c|0)==7){b=hr(b)|0;if(b|0){a=i[29897]|0;if(a<<24>>24){c=29897;do{if((i[b>>0]|0)!=a<<24>>24)break a;b=b+1|0;c=c+1|0;a=i[c>>0]|0}while(a<<24>>24!=0)}b=DJ(b)|0;if(b|0){d=b;return d|0}}}while(0);b=Io(d)|0;if(b|0){d=b;return d|0}d=Hi(d)|0;return d|0}function Vn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){b=bO(e)|0;b=b|0?b:e}else b=e;e=b8(b)|0;if(!e){e=_F(b)|0;if(!e){e=aG(b)|0;if(!e){e=YF(b)|0;if(!e){e=XF(b)|0;if(!e)f=RF(b)|0;else f=e}else f=e}else f=e}else f=e}else f=e;if(f>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((f|0)==0|(f|0)==(b|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=b;k[a+160>>2]=f;e=a+84|0;n=a+96|0;wC(h,n,c,b);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,b,f);c=k[a+12>>2]|0;b=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,b,a+152|0,e,g);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=f;n=f;r=m;return n|0}function Wn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=a+4|0;c=k[g>>2]|0;h=a+100|0;if(c>>>0<(k[h>>2]|0)>>>0){k[g>>2]=c+1;c=l[c>>0]|0}else c=Rx(a)|0;switch(c|0){case 43:case 45:{d=(c|0)==45&1;c=k[g>>2]|0;if(c>>>0<(k[h>>2]|0)>>>0){k[g>>2]=c+1;c=l[c>>0]|0}else c=Rx(a)|0;if((b|0)!=0&(c+-48|0)>>>0>9)if(!(k[h>>2]|0))f=d;else{k[g>>2]=(k[g>>2]|0)+-1;f=d}else f=d;break}default:f=0}if((c+-48|0)>>>0>9)if(!(k[h>>2]|0)){d=-2147483648;c=0}else{k[g>>2]=(k[g>>2]|0)+-1;d=-2147483648;c=0}else{d=0;do{d=c+-48+(d*10|0)|0;c=k[g>>2]|0;if(c>>>0<(k[h>>2]|0)>>>0){k[g>>2]=c+1;c=l[c>>0]|0}else c=Rx(a)|0}while((c+-48|0)>>>0<10&(d|0)<214748364);b=((d|0)<0)<<31>>31;if((c+-48|0)>>>0<10){do{b=KK(d|0,b|0,10,0)|0;d=M;c=TZ(c|0,((c|0)<0)<<31>>31|0,-48,-1)|0;d=TZ(c|0,M|0,b|0,d|0)|0;b=M;c=k[g>>2]|0;if(c>>>0<(k[h>>2]|0)>>>0){k[g>>2]=c+1;c=l[c>>0]|0}else c=Rx(a)|0}while((c+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&d>>>0<2061584302));e=d}else e=d;if((c+-48|0)>>>0<10)do{c=k[g>>2]|0;if(c>>>0<(k[h>>2]|0)>>>0){k[g>>2]=c+1;c=l[c>>0]|0}else c=Rx(a)|0}while((c+-48|0)>>>0<10);if(k[h>>2]|0)k[g>>2]=(k[g>>2]|0)+-1;a=(f|0)!=0;c=lN(0,0,e|0,b|0)|0;d=a?M:b;c=a?c:e}M=d;return c|0}function Xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;g=0;m=r;r=r+32|0;h=m+12|0;j=m;c=k[b+4>>2]|0;e=k[b+8>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(h);g=5}else if(f>>>0<11){i[h>>0]=f<<1;b=h+1|0}else g=5;if((g|0)==5){d=f+16&-16;b=GG(d)|0;k[h+8>>2]=b;k[h>>2]=d|1;k[h+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;x=0;Qa(74,j|0,42226,6);f=x;x=0;if(f&1){m=mb()|0;P1(h);yb(m|0)}b=i[h>>0]|0;f=(b&1)==0;e=f?h+1|0:k[h+8>>2]|0;d=i[j>>0]|0;n=(d&1)==0;c=n?j+1|0:k[j+8>>2]|0;d=n?(d&255)>>>1:k[j+4>>2]|0;b=e+(f?(b&255)>>>1:k[h+4>>2]|0)|0;while(1){if((b|0)==(e|0)){b=0;break}b=b+-1|0;if(!(mw(c,l[b>>0]|0,d)|0)){g=13;break}}if((g|0)==13)b=1-e+b|0;x=0;b=xa(51,h|0,b|0,-1)|0;n=x;x=0;if(!(n&1)){x=0;sa(430,a|0,b|0);n=x;x=0;if(!(n&1)){P1(j);P1(h);r=m;return}}n=mb()|0;P1(j);P1(h);yb(n|0)}function Yn(a){a=a|0;var b=0;a=hr(a)|0;if(!a){b=0;return b|0}if((i[a>>0]|0)!=44){b=0;return b|0}a=hr(a+1|0)|0;if(!a){b=0;return b|0}a=ap(a)|0;if(!a){b=0;return b|0}a=hr(a)|0;if(!a){b=0;return b|0}if((i[a>>0]|0)!=61){b=0;return b|0}b=hr(a+1|0)|0;if(!b){b=0;return b|0}a=b+1|0;if((i[b>>0]|0)==36){if((i[a>>0]|0)==45)do a=a+1|0;while((i[a>>0]|0)==45);a=Kt(a)|0;if(a|0){a=Jt(a)|0;if(a|0){b=a;return b|0}}}b=ao(b)|0;return b|0}function Zn(a){a=a|0;var b=0,c=0.0,d=0,e=0,f=0;e=a+100|0;b=k[e>>2]|0;if(b|0){e=b;return e|0}c=+p[a+80>>3];if(c==0.0)d=0;else{p[t>>3]=c;b=ia(k[t>>2]|0,1540483477)|0;d=ia(k[t+4>>2]|0,1540483477)|0;d=(ia((ia(b>>>24^b,1540483477)|0)^-561034072,1540483477)|0)^(ia(d>>>24^d,1540483477)|0);d=ia(d>>>13^d,1540483477)|0;d=d>>>15^d}k[e>>2]=d;c=+p[a+56>>3];if(c==0.0)b=-1640531527;else{p[t>>3]=c;f=ia(k[t>>2]|0,1540483477)|0;b=ia(k[t+4>>2]|0,1540483477)|0;b=(ia((ia(f>>>24^f,1540483477)|0)^-561034072,1540483477)|0)^(ia(b>>>24^b,1540483477)|0);b=ia(b>>>13^b,1540483477)|0;b=(b>>>15^b)+-1640531527|0}d=(d<<6)+b+(d>>>2)^d;k[e>>2]=d;c=+p[a+64>>3];if(c==0.0)b=-1640531527;else{p[t>>3]=c;f=ia(k[t>>2]|0,1540483477)|0;b=ia(k[t+4>>2]|0,1540483477)|0;b=(ia((ia(f>>>24^f,1540483477)|0)^-561034072,1540483477)|0)^(ia(b>>>24^b,1540483477)|0);b=ia(b>>>13^b,1540483477)|0;b=(b>>>15^b)+-1640531527|0}d=(d<<6)+b+(d>>>2)^d;k[e>>2]=d;c=+p[a+72>>3];if(c==0.0)b=-1640531527;else{p[t>>3]=c;f=ia(k[t>>2]|0,1540483477)|0;b=ia(k[t+4>>2]|0,1540483477)|0;b=(ia((ia(f>>>24^f,1540483477)|0)^-561034072,1540483477)|0)^(ia(b>>>24^b,1540483477)|0);b=ia(b>>>13^b,1540483477)|0;b=(b>>>15^b)+-1640531527|0}f=(d<<6)+b+(d>>>2)^d;k[e>>2]=f;return f|0}function _n(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;if(!a){h=0;return h|0}g=i[38919]|0;h=g<<24>>24==0;a:do if(!h){b=g;c=38919;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);b=i[a>>0]|0;if(!(b<<24>>24)){h=0;return h|0}else{f=a;c=0;d=0;e=0}b:while(1){c:do switch(b<<24>>24){case 92:{a=f+1|0;break}case 34:{a=f;c=c^1;break}case 39:{a=f;d=d^1;break}default:if(c){a=f;c=1}else if(d){a=f;c=0;d=1}else if(!f){a=0;c=0;d=0}else{d:do if(h)a=f;else{if(b<<24>>24==g<<24>>24){a=f;d=38919;do{a=a+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24))break d}while((i[a>>0]|0)==c<<24>>24)}a=i[43519]|0;e:do if(!(a<<24>>24))a=f;else{if(b<<24>>24==a<<24>>24){a=f;c=43519}else{a=f;c=0;d=0;break c}while(1){a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break e;if((i[a>>0]|0)!=b<<24>>24){a=f;c=0;d=0;break c}}}while(0);if(!e){b=25;break b}a=a+-1|0;c=0;d=0;e=e+-1|0;break c}while(0);a=a+-1|0;c=0;d=0;e=e+1|0}}while(0);f=a+1|0;b=i[f>>0]|0;if(!(b<<24>>24)){a=0;b=25;break}}if((b|0)==25)return a|0;return 0}function $n(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=0;o=r;r=r+16|0;f=o;g=a+72|0;k[g>>2]=(k[g>>2]|0)+-1;j=a+80|0;k[j>>2]=0;m=a+68|0;a:do switch(k[k[m>>2]>>2]|0){case 3:{i[a+84>>0]=0;break}case 1:{if(!(i[a+95>>0]|0))n=5;else if(!(i[a+97>>0]|0))n=5;if((n|0)==5){k[j>>2]=1;k[a+76>>2]=0}Tu(a);break}default:{h=a+4|0;c=i[h>>0]|0;d=(c&1)==0;if(d)e=(c&255)>>>1;else e=k[a+8>>2]|0;if(e|0){if(d)c=(c&255)>>>1;else c=k[a+8>>2]|0;h=SG(h,c+-1|0)|0;if(Jca(l[h>>0]|0)|0)if(!(i[a+84>>0]|0))break a;k[a+76>>2]=1}}}while(0);lE(f,43519,1);x=0;sa(484,a|0,f|0);h=x;x=0;if(h&1){o=mb()|0;P1(f);yb(o|0)}P1(f);if(b|0)$t(a+16|0,b);if(!(i[a+95>>0]|0))n=23;else if(!(i[a+97>>0]|0))n=23;b:do if((n|0)==23)switch(k[k[m>>2]>>2]|0){case 3:break b;case 2:{k[a+76>>2]=1;break b}default:{k[j>>2]=1;k[a+76>>2]=0;break b}}while(0);if(k[g>>2]|0){r=o;return}if((k[k[m>>2]>>2]|0)==3){r=o;return}k[j>>2]=2;r=o;return}function ao(a){a=a|0;var b=0,c=0;b=ti(a)|0;if(b|0){while(1){c=ti(b)|0;if(!c)break;else b=c}if((i[b>>0]|0)!=37){a=b;return a|0}}if((i[a>>0]|0)==45){b=a;do b=b+1|0;while((i[b>>0]|0)==45)}else b=a;b=Kt(b)|0;if(b|0){b=Jt(b)|0;if(b|0){a=b;return a|0}}b=Io(a)|0;if(b|0){a=b;return a|0}b=wy(a)|0;if(b|0){a=b;return a|0}if((i[a>>0]|0)==35){b=AY(a+1|0)|0;if(!b)b=0;else while(1){c=AY(b)|0;if(!c)break;else b=c}}else b=0;a=b-a|0;a=(a|0)!=9&((a|0)!=4&(a|0)!=7)?0:b;return a|0}function bo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;k[a>>2]=5288;l=a+4|0;c=a+20|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;o[c>>2]=1.0;x=0;sa(489,l|0,b|0);j=x;x=0;if(j&1){d=mb()|0;c=k[a+12>>2]|0;if(c|0)do{a=c;c=k[c>>2]|0;uha(a)}while((c|0)!=0);c=k[l>>2]|0;k[l>>2]=0;if(!c)yb(d|0);uha(c);yb(d|0)}i=a+24|0;k[i>>2]=0;j=a+28|0;k[j>>2]=0;k[a+32>>2]=0;h=~~+ha(+(+(b>>>0)/+o[c>>2]))>>>0;x=0;sa(489,l|0,h|0);h=x;x=0;do if(!(h&1)){f=a+32|0;g=k[i>>2]|0;if((k[f>>2]|0)-g>>2>>>0>=b>>>0){l=a+40|0;k[l>>2]=0;return}h=(k[j>>2]|0)-g|0;e=h>>2;if(!b)d=0;else{x=0;c=ua(186,b<<2|0)|0;d=x;x=0;if(d&1)break;d=c}l=d+(e<<2)|0;e=l+(0-e<<2)|0;c=g;WC(e|0,c|0,h|0)|0;k[i>>2]=e;k[j>>2]=l;k[f>>2]=d+(b<<2);if(!g){l=a+40|0;k[l>>2]=0;return}uha(c);l=a+40|0;k[l>>2]=0;return}while(0);f=mb()|0;c=k[i>>2]|0;d=c;if(c|0){e=k[j>>2]|0;if((e|0)!=(c|0))k[j>>2]=e+(~((e+-4-d|0)>>>2)<<2);uha(c)}c=k[a+12>>2]|0;if(c|0)do{a=c;c=k[c>>2]|0;uha(a)}while((c|0)!=0);c=k[l>>2]|0;k[l>>2]=0;if(!c)yb(f|0);uha(c);yb(f|0)}function co(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;h=j;if(!a){h=0;r=j;return h|0}g=k[a+68>>2]|0;if((k[g+76>>2]|0)==(k[g+72>>2]|0)){h=0;r=j;return h|0}a=k[a+64>>2]|0;c=k[a+68>>2]|0;g=(k[a+72>>2]|0)-c>>2;a:do if(!g){a=0;c=0}else{e=a+68|0;f=(b|0)!=3;a=k[c>>2]|0;if(!a){a=1;c=1}else{d=0;while(1){if(Ot(a,568,1160,0)|0){a=1;c=1;break a}if(!(Ot(a,568,552,0)|0)){c=Ot(a,568,1608,0)|0;if(!c)break;if(!(i[c+68>>0]|0)){c=f;a=0}else{a=1;c=1;break a}}else{c=0;a=Ll(k[a+64>>2]|0,b)|0}d=d+1|0;if(a|c){a=1;c=1;break a}if(d>>>0>=g>>>0){a=0;c=1;break a}a=k[(k[e>>2]|0)+(d<<2)>>2]|0;if(!a){a=1;c=1;break a}}a=Ot(a,568,1592,0)|0;if(!a){a=1;c=1}else{a=k[a+68>>2]|0;if(!a){a=1;c=1}else if(!(Ot(a,64,448,0)|0)){a=Ot(a,64,432,0)|0;if(!a){a=1;c=1}else{_G(h,a+60|0);c=i[h>>0]|0;c=(((c&1)==0?(c&255)>>>1:k[h+4>>2]|0)|0)!=0;P1(h);a=1}}else{a=1;c=1}}}}while(0);h=a&c;r=j;return h|0}function eo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;h=n+60|0;j=n+48|0;d=n+8|0;l=n;m=a+76|0;f=k[m>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){m=0;r=n;return m|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}e=e<<24>>24==42?f+1|0:f;if(!e)g=0;else{e=SH(e)|0;if(!e)g=0;else{b=tx(e)|0;if(b){e=b;while(1){b=tx(e)|0;if(!b)break;else e=b}}if(e>>>0>(k[a+80>>2]|0)>>>0){m=0;r=n;return m|0}else g=e}}if(!c)if((g|0)==0|(g|0)==(f|0)){m=0;r=n;return m|0}c=k[m>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=g;b=a+84|0;o=a+96|0;wC(j,o,c,f);k[b>>2]=k[j>>2];k[b+4>>2]=k[j+4>>2];k[b+8>>2]=k[j+8>>2];wC(h,o,f,g);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(l,o,b);k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];EC(d,c,e,a+152|0,b,h);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[m>>2]=g;o=g;r=n;return o|0}function fo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=r;r=r+32|0;g=j+12|0;h=j;_G(g,c);k[a+4>>2]=0;f=a+8|0;c=f+40|0;do{k[f>>2]=k[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(c|0));i[a+48>>0]=0;i[a+49>>0]=0;i[a+50>>0]=0;i[a+56>>0]=0;k[a+52>>2]=4;k[a>>2]=5932;b=a+57|0;i[b>>0]=0;i[a+58>>0]=0;c=a+60|0;x=0;sa(477,c|0,g|0);f=x;x=0;if(f&1){j=mb()|0;P1(g);yb(j|0)}k[a+72>>2]=0;P1(g);k[a>>2]=6048;x=0;Ua(11,h|0,c|0,b|0,e|0);e=x;x=0;if(e&1){j=mb()|0;k[a>>2]=5932;P1(c);yb(j|0)}if(!(i[c>>0]&1)){i[c+1>>0]=0;i[c>>0]=0}else{i[k[a+68>>2]>>0]=0;k[a+64>>2]=0}x=0;sa(443,c|0,0);a=x;x=0;if(a&1){a=Eb(0)|0;Nba(a)}k[c>>2]=k[h>>2];k[c+4>>2]=k[h+4>>2];k[c+8>>2]=k[h+8>>2];k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;P1(h);if(!(d<<24>>24)){r=j;return}if(!(i[b>>0]|0)){r=j;return}i[b>>0]=d;r=j;return}function go(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){b=bO(e)|0;b=b|0?b:e}else b=e;e=HN(b)|0;e=e|0?e:b;if(!e)f=0;else{e=SH(e)|0;if(!e)f=0;else{f=tx(e)|0;e=f|0?f:e;if(!e)f=0;else{e=(i[e>>0]|0)==40?e+1|0:0;if(e>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}else f=e}}}if(!c)if((f|0)==0|(f|0)==(b|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=b;k[a+160>>2]=f;e=a+84|0;n=a+96|0;wC(h,n,c,b);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,b,f);c=k[a+12>>2]|0;b=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,b,a+152|0,e,g);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=f;n=f;r=m;return n|0}function ho(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;f=r;r=r+64|0;e=f+48|0;h=f+36|0;i=f+24|0;j=f+12|0;g=f;_G(i,d);x=0;sa(430,j|0,c|0);d=x;x=0;if(d&1){j=mb()|0;P1(i);yb(j|0)}x=0;Qa(132,h|0,i|0,j|0);d=x;x=0;if(d&1)e=mb()|0;else{x=0;sa(430,g|0,b|0);b=x;x=0;if(b&1)e=mb()|0;else{x=0;Qa(132,e|0,h|0,g|0);b=x;x=0;do if(b&1)e=mb()|0;else{x=0;sa(463,a|0,e|0);b=x;x=0;if(b&1){f=mb()|0;P1(e);e=f;break}else{P1(e);P1(g);P1(h);P1(j);P1(i);r=f;return}}while(0);P1(g)}P1(h)}P1(j);j=e;P1(i);yb(j|0)}function io(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+40|0;m=o;l=b+64|0;n=k[l>>2]|0;if((k[n+72>>2]|0)==(k[n+68>>2]|0)){a=b;r=o;return a|0}g=a+20|0;n=a+24|0;e=k[n>>2]|0;f=e;if((e|0)==(k[g>>2]|0))c=k[a+8>>2]|0;else c=f+-4|0;if((k[(k[c>>2]|0)+52>>2]|0)==1){a=Dh(a,b)|0;r=o;return a|0}k[d>>2]=b;if(f>>>0<(k[a+28>>2]|0)>>>0){k[e>>2]=b;k[n>>2]=(k[n>>2]|0)+4}else Dw(g,d);d=(k[a+4>>2]|0)+36|0;e=lD(d,72)|0;g=m;h=b+8|0;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));f=k[b+68>>2]|0;c=k[l>>2]|0;c=Jc[k[(k[c>>2]|0)+36>>2]&1023](c,a)|0;c=tc[k[(k[c>>2]|0)+72>>2]&511](c)|0;k[e+4>>2]=0;g=e+8|0;h=m;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[e+56>>2]=0;i[e+60>>0]=0;k[e+64>>2]=c;k[e>>2]=9960;k[e+68>>2]=f;k[e+52>>2]=4;m=N4(d,e)|0;k[m+56>>2]=k[b+56>>2];k[n>>2]=(k[n>>2]|0)+-4;a=Od(a,k[m+64>>2]|0,m)|0;a=tc[k[(k[a>>2]|0)+72>>2]&511](a)|0;r=o;return a|0}function jo(a){a=a|0;var b=0,c=0,d=0,e=0;b=i[a>>0]|0;d=a+1|0;if(b<<24>>24==92){b=uaa(d)|0;if(!b){b=i[a>>0]|0;e=4}else{a=b;e=10}}else e=4;a:do if((e|0)==4){c=b<<24>>24==35;b:do if(c)if((i[d>>0]|0)==123)e=9;else{a=d;e=10;break a}else{switch(b<<24>>24){case 0:{b=0;break a}case 39:{c=42873;break b}default:{}}if(b<<24>>24==92)c=42874;else e=9}while(0);if((e|0)==9)c=c?42875:42876;if(!(i[c>>0]|0)){a=d;e=10}else e=20}while(0);if((e|0)==10){c:while(1){e=0;b=i[a>>0]|0;d=a+1|0;if(b<<24>>24==92){b=uaa(d)|0;if(b|0){a=b;e=10;continue}b=i[a>>0]|0}c=b<<24>>24==35;d:do if(c)if((i[d>>0]|0)==123)e=18;else{a=d;e=10;continue c}else{switch(b<<24>>24){case 0:break c;case 39:{c=42873;break d}default:{}}if(b<<24>>24==92)c=42874;else e=18}while(0);if((e|0)==18)c=c?42875:42876;if(!(i[c>>0]|0)){a=d;e=10}else break}if(!a){e=0;return e|0}else e=20}if((e|0)==20)if(b<<24>>24==39){e=a+1|0;return e|0}c=i[38919]|0;e:do if(!(c<<24>>24)){b=a;c=0}else if(b<<24>>24==c<<24>>24){b=a;d=38919;do{b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){c=0;break e}}while((i[b>>0]|0)==c<<24>>24)}else b=a;while(0);e=c<<24>>24==0&(b|0)!=0?a:0;return e|0}function ko(a){a=a|0;var b=0,c=0,d=0,e=0;b=i[a>>0]|0;d=a+1|0;if(b<<24>>24==92){b=uaa(d)|0;if(!b){b=i[a>>0]|0;e=4}else{a=b;e=10}}else e=4;a:do if((e|0)==4){c=b<<24>>24==35;b:do if(c)if((i[d>>0]|0)==123)e=9;else{a=d;e=10;break a}else{switch(b<<24>>24){case 0:{b=0;break a}case 34:{c=42869;break b}default:{}}if(b<<24>>24==92)c=42870;else e=9}while(0);if((e|0)==9)c=c?42871:42872;if(!(i[c>>0]|0)){a=d;e=10}else e=20}while(0);if((e|0)==10){c:while(1){e=0;b=i[a>>0]|0;d=a+1|0;if(b<<24>>24==92){b=uaa(d)|0;if(b|0){a=b;e=10;continue}b=i[a>>0]|0}c=b<<24>>24==35;d:do if(c)if((i[d>>0]|0)==123)e=18;else{a=d;e=10;continue c}else{switch(b<<24>>24){case 0:break c;case 34:{c=42869;break d}default:{}}if(b<<24>>24==92)c=42870;else e=18}while(0);if((e|0)==18)c=c?42871:42872;if(!(i[c>>0]|0)){a=d;e=10}else break}if(!a){e=0;return e|0}else e=20}if((e|0)==20)if(b<<24>>24==34){e=a+1|0;return e|0}c=i[38919]|0;e:do if(!(c<<24>>24)){b=a;c=0}else if(b<<24>>24==c<<24>>24){b=a;d=38919;do{b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){c=0;break e}}while((i[b>>0]|0)==c<<24>>24)}else b=a;while(0);e=c<<24>>24==0&(b|0)!=0?a:0;return e|0}function lo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;h=r;r=r+32|0;f=h+12|0;g=h;b=Ot(b,64,1480,0)|0;if(!b){g=0;r=h;return g|0}x=0;sa(430,f|0,a+56|0);e=x;x=0;do if(e&1){a=hb(4480,0)|0;b=M}else{x=0;sa(430,g|0,b+56|0);e=x;x=0;if(e&1){a=hb(4480,0)|0;b=M;P1(f);break}e=j[f>>1]|0;c=(e&1)==0;a=(e&254)>>>1;d=c?a:k[f+4>>2]|0;l=i[g>>0]|0;b=(l&1)==0;e=(e&65535)>>>8&255;a:do if((d|0)==((b?(l&255)>>>1:k[g+4>>2]|0)|0)){b=b?g+1|0:k[g+8>>2]|0;if(!c){b=(tG(k[f+8>>2]|0,b,d)|0)==0;break}if(!d)b=1;else if(e<<24>>24==(i[b>>0]|0)){c=f+1|0;while(1){a=a+-1|0;c=c+1|0;if(!a){b=1;break a}b=b+1|0;if((i[c>>0]|0)!=(i[b>>0]|0)){b=0;break}}}else b=0}else b=0;while(0);P1(g);P1(f);l=b;r=h;return l|0}while(0);l=(b|0)==(tb(4480)|0);Bb(a|0)|0;if(l){xb();l=0;r=h;return l|0}x=0;pa(4);x=0;b=mb()|0;x=0;pa(3);l=x;x=0;if(l&1){l=Eb(0)|0;Nba(l)}else yb(b|0);return 0}function mo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0;q=r;r=r+112|0;l=q+64|0;m=q+24|0;n=q+12|0;o=q;i=c+36|0;j=lD(i,96)|0;b=m;c=e;h=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(h|0));lE(n,36999,6);x=0;b=l;c=e;h=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(h|0));b=wa(24,n|0,a|0,d|0,l|0,f|0)|0;d=x;x=0;if(!(d&1)){g=+p[b+64>>3];x=0;Qa(74,o|0,78097,0);d=x;x=0;if(!(d&1)){x=0;b=l;c=m;h=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(h|0));Fa(1,j|0,l|0,+g,o|0,1);m=x;x=0;if(!(m&1)){x=0;b=Ka(857,i|0,j|0)|0;m=x;x=0;if(!(m&1)){P1(o);P1(n);r=q;return b|0}}q=mb()|0;P1(o);P1(n);yb(q|0)}}q=mb()|0;P1(n);yb(q|0);return 0}function no(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+16|0;p=s;c=k[(k[a+12>>2]|0)+-4>>2]|0;d=k[b+68>>2]|0;q=(k[b+72>>2]|0)-d>>2;if(!q){r=s;return}j=b+68|0;l=c+64|0;m=c+80|0;n=c+72|0;o=c+76|0;i=c+68|0;c=d;b=0;while(1){h=k[c+(b<<2)>>2]|0;h=Jc[k[(k[h>>2]|0)+36>>2]&1023](h,a)|0;do if(h|0){if(!(tc[k[(k[h>>2]|0)+72>>2]&511](h)|0)){k[p>>2]=h;k[m>>2]=0;c=k[n>>2]|0;if((c|0)==(k[o>>2]|0))xw(i,p);else{k[c>>2]=h;k[n>>2]=(k[n>>2]|0)+4}rc[k[k[l>>2]>>2]&1023](l,h);break}c=tc[k[(k[h>>2]|0)+72>>2]&511](h)|0;c=(k[c+72>>2]|0)-(k[c+68>>2]|0)>>2;if(c|0){g=0;do{d=(tc[k[(k[h>>2]|0)+72>>2]&511](h)|0)+68|0;d=k[(k[d>>2]|0)+(g<<2)>>2]|0;k[p>>2]=d;e=d;if(d|0){k[m>>2]=0;f=k[n>>2]|0;if((f|0)==(k[o>>2]|0))xw(i,p);else{k[f>>2]=e;k[n>>2]=(k[n>>2]|0)+4}rc[k[k[l>>2]>>2]&1023](l,d)}g=g+1|0}while((g|0)!=(c|0))}}while(0);b=b+1|0;if((b|0)==(q|0))break;c=k[j>>2]|0}r=s;return}function oo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0;q=r;r=r+112|0;l=q+64|0;m=q+24|0;n=q+12|0;o=q;i=c+36|0;j=lD(i,96)|0;b=m;c=e;h=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(h|0));lE(n,36999,6);x=0;b=l;c=e;h=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(h|0));b=wa(24,n|0,a|0,d|0,l|0,f|0)|0;d=x;x=0;if(!(d&1)){g=+p[b+72>>3];x=0;Qa(74,o|0,78097,0);d=x;x=0;if(!(d&1)){x=0;b=l;c=m;h=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(h|0));Fa(1,j|0,l|0,+g,o|0,1);m=x;x=0;if(!(m&1)){x=0;b=Ka(857,i|0,j|0)|0;m=x;x=0;if(!(m&1)){P1(o);P1(n);r=q;return b|0}}q=mb()|0;P1(o);P1(n);yb(q|0)}}q=mb()|0;P1(n);yb(q|0);return 0}function po(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0;q=r;r=r+112|0;l=q+64|0;m=q+24|0;n=q+12|0;o=q;i=c+36|0;j=lD(i,96)|0;b=m;c=e;h=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(h|0));lE(n,36999,6);x=0;b=l;c=e;h=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(h|0));b=wa(24,n|0,a|0,d|0,l|0,f|0)|0;d=x;x=0;if(!(d&1)){g=+p[b+56>>3];x=0;Qa(74,o|0,78097,0);d=x;x=0;if(!(d&1)){x=0;b=l;c=m;h=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(h|0));Fa(1,j|0,l|0,+g,o|0,1);m=x;x=0;if(!(m&1)){x=0;b=Ka(857,i|0,j|0)|0;m=x;x=0;if(!(m&1)){P1(o);P1(n);r=q;return b|0}}q=mb()|0;P1(o);P1(n);yb(q|0)}}q=mb()|0;P1(n);yb(q|0);return 0}function qo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,i=0.0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0.0;s=r;r=r+64|0;o=s+24|0;j=s+12|0;q=s;lE(j,36999,6);x=0;l=o;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));b=wa(24,j|0,a|0,d|0,o|0,f|0)|0;n=x;x=0;if(n&1){s=mb()|0;P1(j);yb(s|0)}P1(j);h=+p[b+56>>3]/255.0;i=+p[b+64>>3]/255.0;t=+p[b+72>>3]/255.0;g=i>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));Fa(1,j|0,o|0,+g,q|0,1);e=x;x=0;if(!(e&1)){x=0;b=Ka(857,b|0,j|0)|0;e=x;x=0;if(!(e&1)){P1(q);r=s;return b|0}}s=mb()|0;P1(q);yb(s|0);return 0}function ro(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;c=o;n=o+40|0;d=(k[a+4>>2]|0)+36|0;e=lD(d,92)|0;f=c;g=b+8|0;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));k[e+4>>2]=0;f=e+8|0;g=c;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));k[e+56>>2]=0;i[e+60>>0]=0;k[e>>2]=9088;m=e+64|0;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[m+12>>2]=0;k[m+16>>2]=0;k[m+20>>2]=0;k[m+24>>2]=0;k[e+52>>2]=12;m=N4(d,e)|0;c=b+88|0;d=k[c>>2]|0;if(d|0)if(tc[k[(k[d>>2]|0)+100>>2]&511](d)|0){c=k[c>>2]|0;c=Jc[k[(k[c>>2]|0)+40>>2]&1023](c,a+8|0)|0;if(!c)c=0;else c=Ot(c,64,256,0)|0;k[m+88>>2]=c}l=b+64|0;c=k[l>>2]|0;j=(k[b+68>>2]|0)-c>>2;if(!j){r=o;return m|0}f=a+8|0;g=m+68|0;h=m+72|0;b=m+64|0;d=c;c=0;while(1){d=k[d+(c<<2)>>2]|0;d=Jc[k[(k[d>>2]|0)+40>>2]&1023](d,f)|0;k[n>>2]=d;e=k[g>>2]|0;if(e>>>0<(k[h>>2]|0)>>>0){k[e>>2]=d;k[g>>2]=(k[g>>2]|0)+4}else Aw(b,n);c=c+1|0;if((c|0)==(j|0))break;d=k[l>>2]|0}r=o;return m|0}function so(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=r;r=r+16|0;f=g;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=k[b+16>>2];x=0;sa(489,a|0,k[b+4>>2]|0);e=x;x=0;do if(e&1)c=mb()|0;else{b=k[b+8>>2]|0;if(!b){r=g;return}e=f+4|0;c=b;d=b;while(1){x=0;b=ua(186,16)|0;h=x;x=0;if(h&1){d=14;break}j=c+8|0;c=k[j>>2]|0;j=k[j+4>>2]|0;h=b+8|0;k[h>>2]=c;k[h+4>>2]=j;if(!c)c=0;else{x=0;c=ua(k[(k[c>>2]|0)+8>>2]|0,c|0)|0;j=x;x=0;if(j&1){d=7;break}}k[b+4>>2]=c;k[b>>2]=0;x=0;Qa(109,f|0,a|0,b|0);j=x;x=0;if(j&1){d=10;break}if(!(i[e>>0]|0))uha(b);b=k[d>>2]|0;if(!b){d=13;break}else{c=b;d=b}}if((d|0)==7){c=mb()|0;uha(b);break}else if((d|0)==10){c=mb()|0;uha(b);break}else if((d|0)==13){r=g;return}else if((d|0)==14){c=mb()|0;break}}while(0);b=k[a+8>>2]|0;if(b|0)do{j=b;b=k[b>>2]|0;uha(j)}while((b|0)!=0);b=k[a>>2]|0;k[a>>2]=0;if(!b)yb(c|0);uha(b);yb(c|0)} -function to(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=b;g=c-l>>2;h=a+8|0;d=k[h>>2]|0;j=k[a>>2]|0;i=j;if(g>>>0<=d-j>>2>>>0){a=a+4|0;h=(k[a>>2]|0)-j>>2;f=g>>>0>h>>>0;h=b+(h<<2)|0;e=f?h:c;g=e;d=g-l|0;VH(j|0,b|0,d|0)|0;d=i+(d>>2<<2)|0;if(!f){b=k[a>>2]|0;if((b|0)==(d|0))return;k[a>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((e|0)==(c|0))return;f=k[a>>2]|0;e=(c+-4-g|0)>>>2;b=h;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[a>>2]=f+(e+1<<2);return}f=j;if(j){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-j|0)>>>2)<<2);uha(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(g>>>0>1073741823){fH(a);d=k[h>>2]|0;e=k[a>>2]|0}else e=0;d=d-e|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?g:d;if(d>>>0>1073741823)fH(a)}else d=1073741823;f=GG(d<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[h>>2]=f+(d<<2);if((b|0)==(c|0))return;e=(c+-4-l|0)>>>2;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[g>>2]=f+(e+1<<2);return}function uo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;if(!a){g=1;return g|0}switch(k[a>>2]|0){case 1:{d=a+4|0;b=k[d>>2]|0;if(!b){g=1;return g|0}e=k[a+8>>2]|0;if(!e){g=1;return g|0}c=k[a+12>>2]|0;if(!c){g=1;return g|0}b=k[b+80>>2]|0;if(b|0){g=b;return g|0}k[a>>2]=2;x=0;b=Ka(k[(k[e>>2]|0)+16>>2]|0,e|0,c|0)|0;a=x;x=0;if(!(a&1)){k[(k[d>>2]|0)+72>>2]=b;g=tc[k[(k[e>>2]|0)+20>>2]&511](e)|0;k[(k[d>>2]|0)+76>>2]=g;g=0;return g|0}Bb(Eb(0)|0)|0;b=k[d>>2]|0;x=0;c=ua(257,b|0)|0;e=x;x=0;do if(e&1){e=Eb(0)|0;Bb(e|0)|0;x=0;b=ua(257,b|0)|0;e=x;x=0;if(e&1){b=mb()|0;x=0;pa(3);e=x;x=0;if(e&1){e=Eb(0)|0;Nba(e)}else g=b}else{x=0;pa(3);g=x;x=0;if(!(g&1)){f=b;break}g=mb()|0}x=0;pa(3);e=x;x=0;if(e&1){g=Eb(0)|0;Nba(g)}else yb(g|0)}else f=c;while(0);xb();g=f|1;return g|0}case 2:{g=0;return g|0}default:{g=-1;return g|0}}return 0}function vo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;if(Xu(a)|0){f=a;return f|0}f=i[29971]|0;if(!(f<<24>>24)){while(1){c=Q4(a)|0;if(!c){c=tga(a)|0;if(!c)c=qx(a)|0}if((c|0)==(a|0)){a=0;c=18;break}d=(c|0)==0;if(d){a=0;c=18;break}if(!(Xu(d?a:c)|0))a=c;else{a=c;c=18;break}}if((c|0)==18)return a|0}else e=a;while(1){d=i[e>>0]|0;a=f;c=29971;while(1){if(d<<24>>24==a<<24>>24){c=12;break}c=c+1|0;a=i[c>>0]|0;if(!(a<<24>>24)){c=14;break}}if((c|0)==12){c=0;if(!(d<<24>>24))c=14;else b=e+1|0}if((c|0)==14){b=Q4(e)|0;if(!b){b=tga(e)|0;if(!b)b=qx(e)|0}if((b|0)==(e|0)|(b|0)==0){a=0;c=18;break}}if(!(Xu(b)|0))e=b;else{a=b;c=18;break}}if((c|0)==18)return a|0;return 0}function wo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;h=0;m=r;r=r+16|0;g=m;j=a+72|0;b=k[j>>2]|0;if(b|0){j=b;r=m;return j|0}f=(k[a+76>>2]|0)==1;lE(g,f?41822:39792,f?1:2);f=i[g>>0]|0;d=(f&1)==0;e=d?g+1|0:k[g+8>>2]|0;f=d?(f&255)>>>1:k[g+4>>2]|0;if(f>>>0>3){c=f;d=e;b=f;while(1){n=ia(l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24,1540483477)|0;b=(ia(n>>>24^n,1540483477)|0)^(ia(b,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else d=d+4|0}c=f+-4|0;d=c&-4;c=c-d|0;d=e+(d+4)|0}else{c=f;d=e;b=f}switch(c|0){case 3:{b=(l[d+2>>0]|0)<<16^b;h=7;break}case 2:{h=7;break}case 1:{h=8;break}default:{}}if((h|0)==7){b=(l[d+1>>0]|0)<<8^b;h=8}if((h|0)==8)b=ia((l[d>>0]|0)^b,1540483477)|0;e=ia(b>>>13^b,1540483477)|0;k[j>>2]=e>>>15^e;P1(g);e=a+60|0;b=k[e>>2]|0;d=(k[a+64>>2]|0)-b>>2;if(!d){n=k[j>>2]|0;r=m;return n|0}c=0;while(1){n=k[b+(c<<2)>>2]|0;n=(tc[k[(k[n>>2]|0)+8>>2]&511](n)|0)+-1640531527|0;b=k[j>>2]|0;b=n+(b<<6)+(b>>>2)^b;k[j>>2]=b;c=c+1|0;if((c|0)==(d|0))break;b=k[e>>2]|0}r=m;return b|0}function xo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;h=0;m=r;r=r+16|0;g=m;j=a+64|0;b=k[j>>2]|0;if(b|0){j=b;r=m;return j|0}d=(Fl(a)|0)+-1640531527|0;f=k[j>>2]|0;k[j>>2]=d+(f<<6)+(f>>>2)^f;_G(g,a+96|0);f=i[g>>0]|0;d=(f&1)==0;e=d?g+1|0:k[g+8>>2]|0;f=d?(f&255)>>>1:k[g+4>>2]|0;if(f>>>0>3){c=f;d=e;b=f;while(1){n=ia(l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24,1540483477)|0;b=(ia(n>>>24^n,1540483477)|0)^(ia(b,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else d=d+4|0}c=f+-4|0;d=c&-4;c=c-d|0;d=e+(d+4)|0}else{c=f;d=e;b=f}switch(c|0){case 3:{b=(l[d+2>>0]|0)<<16^b;h=7;break}case 2:{h=7;break}case 1:{h=8;break}default:{}}if((h|0)==7){b=(l[d+1>>0]|0)<<8^b;h=8}if((h|0)==8)b=ia((l[d>>0]|0)^b,1540483477)|0;n=ia(b>>>13^b,1540483477)|0;b=k[j>>2]|0;k[j>>2]=(b<<6)+-1640531527+(b>>>2)+(n>>>15^n)^b;P1(g);b=k[a+108>>2]|0;if(!b){n=k[j>>2]|0;r=m;return n|0}else{h=(tc[k[(k[b>>2]|0)+8>>2]&511](b)|0)+-1640531527|0;n=k[j>>2]|0;n=h+(n<<6)+(n>>>2)^n;k[j>>2]=n;r=m;return n|0}return 0}function yo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;h=n+60|0;j=n+48|0;d=n+8|0;l=n;m=a+76|0;e=k[m>>2]|0;if(!(i[e>>0]|0)){m=0;r=n;return m|0}if(b){g=bO(e)|0;g=g|0?g:e}else g=e;b=lI(g)|0;if(!b)f=0;else{e=b+1|0;if((i[b>>0]|0)==45){f=(AN(e)|0)!=0;e=f?e:0}else e=0;e=e|0?e:b;if(e>>>0>(k[a+80>>2]|0)>>>0){m=0;r=n;return m|0}else f=e}if(!c)if((f|0)==0|(f|0)==(g|0)){m=0;r=n;return m|0}c=k[m>>2]|0;k[a+152>>2]=c;k[a+156>>2]=g;k[a+160>>2]=f;b=a+84|0;o=a+96|0;wC(j,o,c,g);k[b>>2]=k[j>>2];k[b+4>>2]=k[j+4>>2];k[b+8>>2]=k[j+8>>2];wC(h,o,g,f);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(l,o,b);k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];EC(d,c,e,a+152|0,b,h);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[m>>2]=f;o=f;r=n;return o|0}function zo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;l=v;b=k[(k[a+48>>2]|0)+-4>>2]|0;if(!(cs(a,1,0)|0)){r=v;return}q=a+152|0;s=a+156|0;t=b+64|0;u=a+40|0;m=a+108|0;n=b+80|0;o=b+72|0;p=b+76|0;j=b+68|0;do{b=(i[(k[s>>2]|0)+2>>0]|0)==33;k[l>>2]=k[q>>2];k[l+4>>2]=k[q+4>>2];k[l+8>>2]=k[q+8>>2];c=yd(a,l,1)|0;d=(k[u>>2]|0)+36|0;e=lD(d,72)|0;f=l;g=m;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));k[e+4>>2]=0;f=e+8|0;g=l;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));k[e+56>>2]=0;i[e+60>>0]=0;k[e>>2]=12376;k[e+64>>2]=c;i[e+68>>0]=b&1;k[e+52>>2]=13;b=N4(d,e)|0;k[l>>2]=b;c=b;if(b|0){k[n>>2]=0;d=k[o>>2]|0;if((d|0)==(k[p>>2]|0))xw(j,l);else{k[d>>2]=c;k[o>>2]=(k[o>>2]|0)+4}rc[k[k[t>>2]>>2]&1023](t,b)}}while((cs(a,1,0)|0)!=0);r=v;return}function Ao(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;g=a+16|0;d=k[g>>2]|0;h=a+20|0;e=k[h>>2]|0;f=(e|0)==0;if(!f)c3(e);p=k[d+4>>2]|0;a=k[d+16>>2]|0;j=p+(((a>>>0)/170|0)<<2)|0;if((k[d+8>>2]|0)==(p|0))i=0;else i=(k[j>>2]|0)+(((a>>>0)%170|0)*24|0)|0;if(!f)CQ(e);e=k[g>>2]|0;f=k[h>>2]|0;g=(f|0)==0;if(!g)c3(f);a=(k[e+16>>2]|0)+(k[e+20>>2]|0)|0;d=k[e+4>>2]|0;if((k[e+8>>2]|0)==(d|0))p=0;else p=(k[d+(((a>>>0)/170|0)<<2)>>2]|0)+(((a>>>0)%170|0)*24|0)|0;if(!g)CQ(f);l=b+8|0;m=b+4|0;n=b+16|0;o=b+20|0;h=j;a=i;a:while(1){do{if((a|0)==(p|0))break a;g=ue(a,c)|0;j=k[l>>2]|0;e=k[m>>2]|0;f=k[n>>2]|0;d=k[o>>2]|0;if((((j|0)==(e|0)?0:(j-e<<8)+-1|0)|0)==(d+f|0)){Fg(b);d=k[o>>2]|0;f=k[n>>2]|0;e=k[m>>2]|0}j=d+f|0;k[(k[e+(j>>>10<<2)>>2]|0)+((j&1023)<<2)>>2]=g;k[o>>2]=d+1;a=a+24|0}while((a-(k[h>>2]|0)|0)!=4080);a=h+4|0;h=a;a=k[a>>2]|0}return}function Bo(a){a=a|0;var b=0,c=0,d=0;a:do if(!a)b=0;else{b=a;d=0;while(1){c=sx(b)|0;if(c|0){b=c;d=0;continue}if(d)break a;if((i[b>>0]|0)==43)break a;c=wy(b)|0;if(c|0){c=mx(c)|0;if(c|0){b=c;d=1;continue}}c=wy(b)|0;if(!c)break;else{b=c;d=1}}}while(0);b=b|0?b:a;if(!b){a=0;return a|0}b=bk(b)|0;if(!b){a=0;return a|0}while(1){c=b;a=0;while(1){d=sx(c)|0;if(d|0){c=d;a=0;continue}if(a)break;if((i[c>>0]|0)==43)break;d=wy(c)|0;if(d|0){d=mx(d)|0;if(d|0){c=d;a=1;continue}}d=wy(c)|0;if(!d)break;else{c=d;a=1}}c=bk(c)|0;if(!c)break;else b=c}return b|0}function Co(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;d=n;l=n+40|0;qt(a,0,1)|0;e=(k[a+40>>2]|0)+36|0;f=lD(e,76)|0;m=a+108|0;g=d;h=m;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[f+4>>2]=0;g=f+8|0;h=d;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[f+56>>2]=0;i[f+60>>0]=0;k[f+64>>2]=0;k[f>>2]=4816;k[f+68>>2]=0;i[f+72>>0]=0;i[f+73>>0]=0;k[f+52>>2]=1;h=N4(e,f)|0;if(!(i[b+12>>0]|0)){b=oe(a,k[b>>2]|0)|0;k[h+68>>2]=b}else{b=yg(a,c)|0;k[h+68>>2]=b}k[l>>2]=6;g=a+60|0;d=k[g>>2]|0;if(d>>>0<(k[a+64>>2]|0)>>>0){k[d>>2]=6;k[g>>2]=d+4}else Bw(a+56|0,l);e=a+164|0;f=i[e>>0]|0;i[e>>0]=0;x=0;d=Ka(900,a|0,0)|0;a=x;x=0;if(a&1){n=mb()|0;i[e>>0]=f;yb(n|0)}else{i[e>>0]=f;k[h+64>>2]=d;k[g>>2]=(k[g>>2]|0)+-4;YH(h,m);i[h+73>>0]=c&1;r=n;return h|0}return 0}function Do(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;h=n+60|0;j=n+48|0;d=n+8|0;l=n;m=a+76|0;e=k[m>>2]|0;if(!(i[e>>0]|0)){m=0;r=n;return m|0}if(b){g=bO(e)|0;g=g|0?g:e}else g=e;if(!g)f=0;else{e=i[38919]|0;a:do if(!(e<<24>>24)){b=g;e=0}else{b=g;f=38919;while(1){if((i[b>>0]|0)!=e<<24>>24)break a;b=b+1|0;f=f+1|0;e=i[f>>0]|0;if(!(e<<24>>24)){e=0;break}}}while(0);e=e<<24>>24==0?b:0;if(e>>>0>(k[a+80>>2]|0)>>>0){m=0;r=n;return m|0}else f=e}if(!c)if((f|0)==0|(f|0)==(g|0)){m=0;r=n;return m|0}c=k[m>>2]|0;k[a+152>>2]=c;k[a+156>>2]=g;k[a+160>>2]=f;b=a+84|0;o=a+96|0;wC(j,o,c,g);k[b>>2]=k[j>>2];k[b+4>>2]=k[j+4>>2];k[b+8>>2]=k[j+8>>2];wC(h,o,g,f);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(l,o,b);k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];EC(d,c,e,a+152|0,b,h);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[m>>2]=f;o=f;r=n;return o|0}function Eo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;h=n+60|0;j=n+48|0;d=n+8|0;l=n;m=a+76|0;e=k[m>>2]|0;if(!(i[e>>0]|0)){m=0;r=n;return m|0}if(b){g=bO(e)|0;g=g|0?g:e}else g=e;if(!g)f=0;else{e=i[38944]|0;a:do if(!(e<<24>>24)){b=g;e=0}else{b=g;f=38944;while(1){if((i[b>>0]|0)!=e<<24>>24)break a;b=b+1|0;f=f+1|0;e=i[f>>0]|0;if(!(e<<24>>24)){e=0;break}}}while(0);e=e<<24>>24==0?b:0;if(e>>>0>(k[a+80>>2]|0)>>>0){m=0;r=n;return m|0}else f=e}if(!c)if((f|0)==0|(f|0)==(g|0)){m=0;r=n;return m|0}c=k[m>>2]|0;k[a+152>>2]=c;k[a+156>>2]=g;k[a+160>>2]=f;b=a+84|0;o=a+96|0;wC(j,o,c,g);k[b>>2]=k[j>>2];k[b+4>>2]=k[j+4>>2];k[b+8>>2]=k[j+8>>2];wC(h,o,g,f);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(l,o,b);k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];EC(d,c,e,a+152|0,b,h);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[m>>2]=f;o=f;r=n;return o|0}function Fo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;h=n+60|0;j=n+48|0;d=n+8|0;l=n;m=a+76|0;e=k[m>>2]|0;if(!(i[e>>0]|0)){m=0;r=n;return m|0}if(b){g=bO(e)|0;g=g|0?g:e}else g=e;if(!g)f=0;else{e=i[43519]|0;a:do if(!(e<<24>>24)){b=g;e=0}else{b=g;f=43519;while(1){if((i[b>>0]|0)!=e<<24>>24)break a;b=b+1|0;f=f+1|0;e=i[f>>0]|0;if(!(e<<24>>24)){e=0;break}}}while(0);e=e<<24>>24==0?b:0;if(e>>>0>(k[a+80>>2]|0)>>>0){m=0;r=n;return m|0}else f=e}if(!c)if((f|0)==0|(f|0)==(g|0)){m=0;r=n;return m|0}c=k[m>>2]|0;k[a+152>>2]=c;k[a+156>>2]=g;k[a+160>>2]=f;b=a+84|0;o=a+96|0;wC(j,o,c,g);k[b>>2]=k[j>>2];k[b+4>>2]=k[j+4>>2];k[b+8>>2]=k[j+8>>2];wC(h,o,g,f);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(l,o,b);k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];EC(d,c,e,a+152|0,b,h);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[m>>2]=f;o=f;r=n;return o|0}function Go(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;o=p;a=(k[a+4>>2]|0)+36|0;c=lD(a,100)|0;d=o;e=b+8|0;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));k[c+4>>2]=0;d=c+8|0;e=o;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;m=c+56|0;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[c+52>>2]=7;k[c+72>>2]=0;k[c+76>>2]=0;k[c+80>>2]=0;k[c>>2]=7828;k[c+68>>2]=7968;k[c+88>>2]=0;k[c+92>>2]=0;k[c+96>>2]=0;m=N4(a,c)|0;a=k[b+72>>2]|0;n=(k[b+76>>2]|0)-a>>2;if(!n){r=p;return m|0}f=b+72|0;b=m+68|0;g=b+16|0;h=b+8|0;j=b+12|0;l=b+4|0;c=0;while(1){a=k[a+(c<<2)>>2]|0;if(!(oC(a)|0)){k[o>>2]=a;d=a;if(a|0){k[g>>2]=0;e=k[h>>2]|0;if((e|0)==(k[j>>2]|0))kw(l,o);else{k[e>>2]=d;k[h>>2]=(k[h>>2]|0)+4}rc[k[k[b>>2]>>2]&1023](b,a)}}c=c+1|0;if((c|0)==(n|0))break;a=k[f>>2]|0}r=p;return m|0}function Ho(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0;n=0;o=k[d>>2]|0;p=(o|0)==(c|0);do if(p){m=(i[l+24>>0]|0)==a<<24>>24;if(!m)if((i[l+25>>0]|0)!=a<<24>>24){n=5;break}k[d>>2]=c+1;i[c>>0]=m?43:45;k[e>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=i[g>>0]|0;if(a<<24>>24==f<<24>>24?(((n&1)==0?(n&255)>>>1:k[g+4>>2]|0)|0)!=0:0){m=k[j>>2]|0;if((m-h|0)>=160){m=0;break}b=k[e>>2]|0;k[j>>2]=m+4;k[m>>2]=b;k[e>>2]=0;m=0;break}g=l+26|0;m=l;while(1){if((m|0)==(g|0)){m=g;break}if((i[m>>0]|0)==a<<24>>24)break;m=m+1|0}m=m-l|0;if((m|0)>23)m=-1;else{switch(b|0){case 10:case 8:{if((m|0)>=(b|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-c|0)>=3){m=-1;break a}if((i[o+-1>>0]|0)!=48){m=-1;break a}k[e>>2]=0;m=i[49232+m>>0]|0;k[d>>2]=o+1;i[o>>0]=m;m=0;break a}break}default:{}}m=i[49232+m>>0]|0;k[d>>2]=o+1;i[o>>0]=m;k[e>>2]=(k[e>>2]|0)+1;m=0}}while(0);return m|0}function Io(a){a=a|0;var b=0,c=0,d=0;c=i[a>>0]|0;b=a+1|0;do if(c<<24>>24==39){if((i[b>>0]|0)==92){c=PI(a+2|0)|0;if(!c)d=4;else d=5}else d=4;if((d|0)==4){c=sj(b)|0;if(!c)c=b;else d=5}if((d|0)==5)while(1){if((i[c>>0]|0)==92){d=PI(c+1|0)|0;if(d|0){c=d;d=5;continue}}d=sj(c)|0;if(!d)break;else{c=d;d=5}}if((i[c>>0]|0)==39){a=c+1|0;return a|0}else{c=i[a>>0]|0;break}}while(0);if(c<<24>>24!=34){a=0;return a|0}if((i[b>>0]|0)==92){c=PI(a+2|0)|0;if(!c)d=13;else{b=c;d=14}}else d=13;if((d|0)==13){c=tj(b)|0;if(c){b=c;d=14}}if((d|0)==14)while(1){if((i[b>>0]|0)==92){c=PI(b+1|0)|0;if(c|0){b=c;d=14;continue}}c=tj(b)|0;if(!c)break;else{b=c;d=14}}a=(i[b>>0]|0)==34?b+1|0:0;return a|0}function Jo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0.0,i=0,j=0,l=0,m=0,n=0,o=0,q=0.0,s=0.0,t=0.0;o=r;r=r+64|0;m=o+24|0;g=o+12|0;n=o;lE(g,36999,6);x=0;i=m;j=e;l=i+40|0;do{k[i>>2]=k[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));b=wa(24,g|0,a|0,d|0,m|0,f|0)|0;l=x;x=0;if(l&1){o=mb()|0;P1(g);yb(o|0)}P1(g);h=+p[b+56>>3]/255.0;q=+p[b+64>>3]/255.0;t=+p[b+72>>3]/255.0;s=q>2]=k[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));Fa(1,g|0,m|0,+h,n|0,1);e=x;x=0;if(!(e&1)){x=0;b=Ka(857,b|0,g|0)|0;e=x;x=0;if(!(e&1)){P1(n);r=o;return b|0}}o=mb()|0;P1(n);yb(o|0);return 0}function Ko(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=b;j=c-f>>2;g=a+8|0;d=k[g>>2]|0;i=k[a>>2]|0;h=i;if(j>>>0<=d-i>>2>>>0){g=a+4|0;d=(k[g>>2]|0)-i>>2;a=j>>>0>d>>>0;d=b+(d<<2)|0;e=a?d:c;j=e-f|0;VH(i|0,b|0,j|0)|0;b=h+(j>>2<<2)|0;if(!a){d=k[g>>2]|0;if((d|0)==(b|0))return;k[g>>2]=d+(~((d+-4-b|0)>>>2)<<2);return}if((e|0)==(c|0))return;b=k[g>>2]|0;do{k[b>>2]=k[d>>2];b=(k[g>>2]|0)+4|0;k[g>>2]=b;d=d+4|0}while((d|0)!=(c|0));return}f=i;if(i){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(h|0))k[d>>2]=e+(~((e+-4-i|0)>>>2)<<2);uha(f);k[g>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(j>>>0>1073741823){fH(a);d=k[g>>2]|0;e=k[a>>2]|0}else e=0;d=d-e|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?j:d;if(d>>>0>1073741823){fH(a);e=d}else e=d}else e=1073741823;d=GG(e<<2)|0;f=a+4|0;k[f>>2]=d;k[a>>2]=d;k[g>>2]=d+(e<<2);if((b|0)==(c|0))return;do{k[d>>2]=k[b>>2];d=(k[f>>2]|0)+4|0;k[f>>2]=d;b=b+4|0}while((b|0)!=(c|0));return}function Lo(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0;n=0;o=k[d>>2]|0;p=(o|0)==(c|0);do if(p){m=(k[l+96>>2]|0)==(a|0);if(!m)if((k[l+100>>2]|0)!=(a|0)){n=5;break}k[d>>2]=c+1;i[c>>0]=m?43:45;k[e>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=i[g>>0]|0;if((a|0)==(f|0)?(((n&1)==0?(n&255)>>>1:k[g+4>>2]|0)|0)!=0:0){m=k[j>>2]|0;if((m-h|0)>=160){m=0;break}b=k[e>>2]|0;k[j>>2]=m+4;k[m>>2]=b;k[e>>2]=0;m=0;break}g=l+104|0;m=l;while(1){if((m|0)==(g|0)){m=g;break}if((k[m>>2]|0)==(a|0))break;m=m+4|0}m=m-l|0;g=m>>2;if((m|0)>92)m=-1;else{switch(b|0){case 10:case 8:{if((g|0)>=(b|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-c|0)>=3){m=-1;break a}if((i[o+-1>>0]|0)!=48){m=-1;break a}k[e>>2]=0;m=i[49232+g>>0]|0;k[d>>2]=o+1;i[o>>0]=m;m=0;break a}break}default:{}}m=i[49232+g>>0]|0;k[d>>2]=o+1;i[o>>0]=m;k[e>>2]=(k[e>>2]|0)+1;m=0}}while(0);return m|0}function Mo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=b;j=c-f>>2;g=a+8|0;d=k[g>>2]|0;i=k[a>>2]|0;h=i;if(j>>>0<=d-i>>2>>>0){g=a+4|0;d=(k[g>>2]|0)-i>>2;a=j>>>0>d>>>0;d=b+(d<<2)|0;e=a?d:c;j=e-f|0;VH(i|0,b|0,j|0)|0;b=h+(j>>2<<2)|0;if(!a){d=k[g>>2]|0;if((d|0)==(b|0))return;k[g>>2]=d+(~((d+-4-b|0)>>>2)<<2);return}if((e|0)==(c|0))return;b=k[g>>2]|0;do{k[b>>2]=k[d>>2];b=(k[g>>2]|0)+4|0;k[g>>2]=b;d=d+4|0}while((d|0)!=(c|0));return}f=i;if(i){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(h|0))k[d>>2]=e+(~((e+-4-i|0)>>>2)<<2);uha(f);k[g>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(j>>>0>1073741823){fH(a);d=k[g>>2]|0;e=k[a>>2]|0}else e=0;d=d-e|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?j:d;if(d>>>0>1073741823){fH(a);e=d}else e=d}else e=1073741823;d=GG(e<<2)|0;f=a+4|0;k[f>>2]=d;k[a>>2]=d;k[g>>2]=d+(e<<2);if((b|0)==(c|0))return;do{k[d>>2]=k[b>>2];d=(k[f>>2]|0)+4|0;k[f>>2]=d;b=b+4|0}while((b|0)!=(c|0));return}function No(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+128|0;g=n+80|0;h=n+40|0;j=n+24|0;l=n+12|0;m=n;a=(k[a+8>>2]|0)+36|0;c=lD(a,76)|0;d=h;e=b+8|0;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));lE(j,78097,0);x=0;d=g;e=h;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));qa(5,c|0,g|0,j|0,0,0);h=x;x=0;if(!(h&1)){x=0;c=Ka(857,a|0,c|0)|0;h=x;x=0;if(!(h&1)){P1(j);_G(m,b+60|0);k[c+72>>2]=0;x=0;a=Ka(854,c+60|0,m|0)|0;j=x;x=0;if(!(j&1)){x=0;sa(430,l|0,a|0);j=x;x=0;if(!(j&1)){P1(l);P1(m);i[c+57>>0]=i[b+57>>0]|0;i[c+50>>0]=i[b+50>>0]|0;r=n;return c|0}}n=mb()|0;P1(m);yb(n|0)}}n=mb()|0;P1(j);yb(n|0);return 0}function Oo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;h=0;m=r;r=r+16|0;g=m;j=a+76|0;b=k[j>>2]|0;if(b|0){j=b;r=m;return j|0}_G(g,a+56|0);f=i[g>>0]|0;d=(f&1)==0;e=d?g+1|0:k[g+8>>2]|0;f=d?(f&255)>>>1:k[g+4>>2]|0;if(f>>>0>3){c=f;d=e;b=f;while(1){n=ia(l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24,1540483477)|0;b=(ia(n>>>24^n,1540483477)|0)^(ia(b,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else d=d+4|0}c=f+-4|0;d=c&-4;c=c-d|0;d=e+(d+4)|0}else{c=f;d=e;b=f}switch(c|0){case 3:{b=(l[d+2>>0]|0)<<16^b;h=7;break}case 2:{h=7;break}case 1:{h=8;break}default:{}}if((h|0)==7){b=(l[d+1>>0]|0)<<8^b;h=8}if((h|0)==8)b=ia((l[d>>0]|0)^b,1540483477)|0;d=ia(b>>>13^b,1540483477)|0;k[j>>2]=d>>>15^d;P1(g);d=k[a+68>>2]|0;b=k[d+60>>2]|0;d=k[d+64>>2]|0;if((b|0)==(d|0)){n=k[j>>2]|0;r=m;return n|0}else{c=b;do{n=k[c>>2]|0;n=(tc[k[(k[n>>2]|0)+8>>2]&511](n)|0)+-1640531527|0;b=k[j>>2]|0;b=n+(b<<6)+(b>>>2)^b;k[j>>2]=b;c=c+4|0}while((c|0)!=(d|0));r=m;return b|0}return 0}function Po(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+48|0;c=i+24|0;f=i+12|0;g=i;h=a+4|0;lE(c,38856,1);x=0;sa(484,h|0,c|0);e=x;x=0;if(e&1){i=mb()|0;P1(c);yb(i|0)}P1(c);e=b+60|0;c=k[e>>2]|0;d=b+64|0;a:do if((c|0)!=(k[d>>2]|0)){c=k[c>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);c=(k[d>>2]|0)-(k[b+60>>2]|0)>>2;if(c>>>0>1){d=1;while(1){lE(f,39792,2);x=0;sa(484,h|0,f|0);b=x;x=0;if(b&1)break;P1(f);b=k[(k[e>>2]|0)+(d<<2)>>2]|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);d=d+1|0;if(d>>>0>=c>>>0)break a}i=mb()|0;P1(f);yb(i|0)}}while(0);lE(g,38861,1);x=0;sa(484,h|0,g|0);a=x;x=0;if(!(a&1)){P1(g);r=i;return}i=mb()|0;P1(g);yb(i|0)}function Qo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;c=o;n=o+40|0;l=(k[a+4>>2]|0)+36|0;m=lD(l,88)|0;g=(k[b+72>>2]|0)-(k[b+68>>2]|0)|0;h=g>>2;j=i[b+84>>0]|0;d=c;e=b+8|0;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));k[m+4>>2]=0;d=m+8|0;e=c;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));k[m>>2]=9548;k[m+52>>2]=0;k[m+56>>2]=0;i[m+60>>0]=0;c=m+64|0;k[c>>2]=9636;d=m+68|0;k[d>>2]=0;e=m+72|0;k[e>>2]=0;f=m+76|0;k[f>>2]=0;if(h|0){g=GG(g)|0;p=g;k[d>>2]=p;k[e>>2]=p;k[f>>2]=g+(h<<2)}k[m>>2]=9664;k[c>>2]=9756;i[m+84>>0]=j;i[m+85>>0]=0;i[m+86>>0]=0;i[m+87>>0]=0;c=N4(l,m)|0;k[n>>2]=c;d=a+12|0;e=k[d>>2]|0;if((e|0)==(k[a+16>>2]|0)){Jw(a+8|0,n);no(a,b);p=k[d>>2]|0;p=p+-4|0;k[d>>2]=p;r=o;return c|0}else{k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4;no(a,b);p=k[d>>2]|0;p=p+-4|0;k[d>>2]=p;r=o;return c|0}return 0}function Ro(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;g=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>4)+1|0;if(e>>>0>268435455){fH(a);c=k[a>>2]|0}i=a+8|0;d=(k[i>>2]|0)-c|0;if(d>>4>>>0<134217727){d=d>>3;d=d>>>0>>0?e:d;c=(k[j>>2]|0)-c>>4;if(!d){f=0;d=0}else g=6}else{d=268435455;c=(k[j>>2]|0)-c>>4;g=6}if((g|0)==6){f=d;d=GG(d<<4)|0}g=d+(c<<4)|0;e=g|0;c=e;h=d+(f<<4)|0;k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[g+12>>2]=k[b+12>>2];g=e+16|0;f=k[a>>2]|0;d=k[j>>2]|0;if((d|0)==(f|0)){d=c;e=f;c=f}else{do{l=e+-16|0;b=d;d=d+-16|0;k[l>>2]=k[d>>2];k[l+4>>2]=k[d+4>>2];k[l+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[e+-4>>2]=k[b+-4>>2];e=c+-16|0;c=e}while((d|0)!=(f|0));d=c;e=k[a>>2]|0;c=k[j>>2]|0}k[a>>2]=d;k[j>>2]=g;k[i>>2]=h;d=e;if((c|0)!=(d|0))do{c=c+-16|0;P1(c)}while((c|0)!=(d|0));if(!e)return;uha(e);return}function So(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;h=n+60|0;j=n+48|0;d=n+8|0;l=n;m=a+76|0;e=k[m>>2]|0;if(!(i[e>>0]|0)){m=0;r=n;return m|0}if(b){g=bO(e)|0;g=g|0?g:e}else g=e;e=vy(g)|0;if(!e)f=0;else{e=CE(e)|0;if(!e)f=0;else{while(1){b=CE(e)|0;if(!b)break;else e=b}if(e>>>0>(k[a+80>>2]|0)>>>0){m=0;r=n;return m|0}else f=e}}if(!c)if((f|0)==0|(f|0)==(g|0)){m=0;r=n;return m|0}c=k[m>>2]|0;k[a+152>>2]=c;k[a+156>>2]=g;k[a+160>>2]=f;b=a+84|0;o=a+96|0;wC(j,o,c,g);k[b>>2]=k[j>>2];k[b+4>>2]=k[j+4>>2];k[b+8>>2]=k[j+8>>2];wC(h,o,g,f);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(l,o,b);k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];EC(d,c,e,a+152|0,b,h);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[m>>2]=f;o=f;r=n;return o|0}function To(a){a=a|0;var b=0,c=0;c=0;b=iv(a)|0;if(b|0){a=b;return a|0}switch(i[a>>0]|0){case 42:{b=a+1|0;break}case 45:{b=a;do b=b+1|0;while((i[b>>0]|0)==45);c=4;break}default:{b=a;c=4}}do if((c|0)==4){c=Kt(b)|0;if(c|0){c=Jt(c)|0;if(c|0){b=c;break}}b=xm(b)|0}while(0);b=b|0?b:a;if(!b)b=0;else{c=b+1|0;if((i[b>>0]|0)==124)b=(i[c>>0]|0)==61?0:c;else b=0}b=b|0?b:a;if(b|0)if((i[b>>0]|0)==42){a=b+1|0;return a|0}b=Io(a)|0;if(b|0){a=b;return a|0}b=wy(a)|0;if(b|0){b=mx(b)|0;if(b|0){a=b;return a|0}}b=wy(a)|0;if(b|0)if((i[b>>0]|0)==37){a=b+1|0;return a|0}b=wy(a)|0;if(b|0){a=b;return a|0}a=Lt(a)|0;return a|0}function Uo(a){a=a|0;var b=0,c=0,d=0,e=0;e=0;if(!a){e=0;return e|0}c=i[44202]|0;a:do if(!(c<<24>>24)){b=a;e=5}else{b=a;d=44202;while(1){if((i[b>>0]|0)!=c<<24>>24)break a;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=5;break}}}while(0);if((e|0)==5){b=DJ(b)|0;if(b|0){e=b;return e|0}}c=i[44273]|0;b:do if(!(c<<24>>24)){b=a;e=9}else{b=a;d=44273;while(1){if((i[b>>0]|0)!=c<<24>>24)break b;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=9;break}}}while(0);if((e|0)==9){b=DJ(b)|0;if(b|0){e=b;return e|0}}c=i[29859]|0;c:do if(!(c<<24>>24)){b=a;e=13}else{b=a;d=29859;while(1){if((i[b>>0]|0)!=c<<24>>24)break c;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=13;break}}}while(0);if((e|0)==13){b=DJ(b)|0;if(b|0){e=b;return e|0}}b=i[44195]|0;d:do if(b<<24>>24){c=44195;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break d}return a|0}while(0);e=DJ(a)|0;return e|0}function Vo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=0;h=r;r=r+16|0;e=h;f=a+92|0;b=k[f>>2]|0;if(b|0){g=b;r=h;return g|0}b=k[a+80>>2]|0;d=k[a+84>>2]|0;if((b|0)==(d|0)){g=0;r=h;return g|0}c=a+60|0;a=b;while(1){b=k[a>>2]|0;j=(tc[k[(k[b>>2]|0)+8>>2]&511](b)|0)+-1640531527|0;i=k[f>>2]|0;k[f>>2]=j+(i<<6)+(i>>>2)^i;k[e>>2]=b;if(!(yq(c,e)|0))b=68536;else{b=yq(c,e)|0;if(!b)break;b=k[b+12>>2]|0}j=(tc[k[(k[b>>2]|0)+8>>2]&511](b)|0)+-1640531527|0;b=k[f>>2]|0;b=j+(b<<6)+(b>>>2)^b;k[f>>2]=b;a=a+4|0;if((a|0)==(d|0)){g=11;break}}if((g|0)==11){r=h;return b|0}b=vb(8)|0;x=0;sa(441,b|0,26731);j=x;x=0;if(j&1){j=mb()|0;lb(b|0);yb(j|0)}else{k[b>>2]=24932;Wb(b|0,4448,308)}return 0}function Wo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=0;i=r;r=r+16|0;e=i+4|0;f=i;wq(a,b);j=a+12|0;k[a+16>>2]=0;k[a+20>>2]=0;l=a+16|0;k[j>>2]=l;c=k[b+12>>2]|0;g=b+16|0;if((c|0)==(g|0)){a=a+24|0;l=b+24|0;l=k[l>>2]|0;k[a>>2]=l;r=i;return}d=c;while(1){k[f>>2]=l;x=0;k[e>>2]=k[f>>2];xa(48,j|0,e|0,d+16|0)|0;c=x;x=0;if(c&1)break;c=k[d+4>>2]|0;if(!c)while(1){c=k[d+8>>2]|0;if((k[c>>2]|0)==(d|0))break;else d=c}else while(1){d=k[c>>2]|0;if(!d)break;else c=d}if((c|0)==(g|0)){h=9;break}else d=c}if((h|0)==9){a=a+24|0;l=b+24|0;l=k[l>>2]|0;k[a>>2]=l;r=i;return}b=mb()|0;sC(j,k[l>>2]|0);c=k[a>>2]|0;if(!c)yb(b|0);e=a+4|0;d=k[e>>2]|0;if((d|0)!=(c|0)){do{l=d+-12|0;k[e>>2]=l;P1(l);d=k[e>>2]|0}while((d|0)!=(c|0));c=k[a>>2]|0}uha(c);yb(b|0)}function Xo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+112|0;g=f;kA(g,b);x=0;sa(432,a|0,g|0);e=x;x=0;if(e&1){a=mb()|0;k[g>>2]=4732;P1(g+52|0);b=k[g+28>>2]|0;c=b;if(b|0){d=g+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-24-c|0)>>>0)/24|0)*24|0);uha(b)}b=k[g+16>>2]|0;c=b;if(b|0){d=g+20|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}P1(g+4|0);g=a;yb(g|0)}k[g>>2]=4732;P1(g+52|0);b=k[g+28>>2]|0;c=b;if(b|0){d=g+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-24-c|0)>>>0)/24|0)*24|0);uha(b)}b=k[g+16>>2]|0;c=b;if(b|0){d=g+20|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}P1(g+4|0);k[a>>2]=14548;k[a+4>>2]=14832;x=0;Qa(74,a+104|0,78097,0);g=x;x=0;if(!(g&1)){k[a+116>>2]=0;k[a+120>>2]=0;k[a+124>>2]=0;r=f;return}g=mb()|0;Ez(a);yb(g|0)}function Yo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+16|0;f=m;g=a+80|0;k[g>>2]=0;h=a+68|0;do if((k[k[h>>2]>>2]|0)!=3){j=a+4|0;d=i[j>>0]|0;e=(d&1)==0;if(e)c=(d&255)>>>1;else c=k[a+8>>2]|0;if(c|0){if(e)c=(d&255)>>>1;else c=k[a+8>>2]|0;j=SG(j,c+-1|0)|0;if(Jca(l[j>>0]|0)|0)if(!(i[a+84>>0]|0))break;k[a+76>>2]=1}}while(0);Gn(a);if(b|0)yx(a+16|0,b);lE(f,44289,1);x=0;sa(484,a|0,f|0);b=x;x=0;if(b&1){m=mb()|0;P1(f);yb(m|0)}P1(f);if(i[a+95>>0]|0)if(i[a+97>>0]|0){a=a+72|0;b=k[a>>2]|0;b=b+1|0;k[a>>2]=b;r=m;return}switch(k[k[h>>2]>>2]|0){case 2:{k[a+76>>2]=1;a=a+72|0;b=k[a>>2]|0;b=b+1|0;k[a>>2]=b;r=m;return}case 3:{a=a+72|0;b=k[a>>2]|0;b=b+1|0;k[a>>2]=b;r=m;return}default:{k[g>>2]=1;k[a+76>>2]=0;a=a+72|0;b=k[a>>2]|0;b=b+1|0;k[a>>2]=b;r=m;return}}}function Zo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;h=n+60|0;j=n+48|0;d=n+8|0;l=n;m=a+76|0;e=k[m>>2]|0;if(!(i[e>>0]|0)){m=0;r=n;return m|0}if(b){g=bO(e)|0;g=g|0?g:e}else g=e;b=i[29975]|0;a:do if(!(b<<24>>24))e=0;else{e=i[g>>0]|0;f=29975;while(1){if(e<<24>>24==b<<24>>24)break a;f=f+1|0;b=i[f>>0]|0;if(!(b<<24>>24)){e=0;break}}}while(0);f=e<<24>>24?g+1|0:0;if(f>>>0>(k[a+80>>2]|0)>>>0){m=0;r=n;return m|0}if(!c)if((f|0)==0|(f|0)==(g|0)){m=0;r=n;return m|0}c=k[m>>2]|0;k[a+152>>2]=c;k[a+156>>2]=g;k[a+160>>2]=f;b=a+84|0;o=a+96|0;wC(j,o,c,g);k[b>>2]=k[j>>2];k[b+4>>2]=k[j+4>>2];k[b+8>>2]=k[j+8>>2];wC(h,o,g,f);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(l,o,b);k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];EC(d,c,e,a+152|0,b,h);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[m>>2]=f;o=f;r=n;return o|0}function _o(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+64|0;m=n+24|0;b=n+12|0;j=n;lE(b,38610,10);x=0;g=m;h=e;i=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=ta(125,b|0,a|0,d|0,m|0,f|0,c|0)|0;i=x;x=0;if(i&1){n=mb()|0;P1(b);yb(n|0)}P1(b);lE(j,38621,10);x=0;g=m;h=e;i=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));b=ta(125,j|0,a|0,d|0,m|0,f|0,c|0)|0;d=x;x=0;if(d&1){n=mb()|0;P1(j);yb(n|0)}P1(j);b=ei(l,b,c)|0;Z2(m,c+36|0);x=0;b=Ka(k[(k[b>>2]|0)+40>>2]|0,b|0,m|0)|0;c=x;x=0;if(!(c&1)){r=n;return b|0}n=mb()|0;yb(n|0);return 0}function $o(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;g=0;n=r;r=r+80|0;h=n+60|0;j=n+48|0;d=n+8|0;l=n;m=a+76|0;e=k[m>>2]|0;if(!(i[e>>0]|0)){m=0;r=n;return m|0}if(b){b=bO(e)|0;b=b|0?b:e}else b=e;e=dI(b)|0;if(!e){e=bH(b)|0;if(!e)f=0;else g=6}else g=6;if((g|0)==6){e=(i[e>>0]|0)==45?0:e;if(e>>>0>(k[a+80>>2]|0)>>>0){m=0;r=n;return m|0}else f=e}if(!c)if((f|0)==0|(f|0)==(b|0)){m=0;r=n;return m|0}c=k[m>>2]|0;k[a+152>>2]=c;k[a+156>>2]=b;k[a+160>>2]=f;e=a+84|0;g=a+96|0;wC(j,g,c,b);k[e>>2]=k[j>>2];k[e+4>>2]=k[j+4>>2];k[e+8>>2]=k[j+8>>2];wC(h,g,b,f);c=k[a+12>>2]|0;b=k[a+72>>2]|0;fJ(l,g,e);k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];EC(d,c,b,a+152|0,e,h);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[m>>2]=f;m=f;r=n;return m|0}function ap(a){a=a|0;var b=0,c=0;b=a+1|0;if((i[a>>0]|0)==36){if((i[b>>0]|0)==45)do b=b+1|0;while((i[b>>0]|0)==45);b=Kt(b)|0;if(b|0){b=Jt(b)|0;if(b|0){c=b;return c|0}}}b=ti(a)|0;if(b|0){while(1){c=ti(b)|0;if(!c)break;else b=c}if((i[b>>0]|0)!=37){c=b;return c|0}}if((i[a>>0]|0)==45)do a=a+1|0;while((i[a>>0]|0)==45);a=Kt(a)|0;if(!a){c=0;return c|0}c=Jt(a)|0;return c|0}function bp(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;h=r;r=r+16|0;g=h;a:do if(!a){a=k[b>>2]|0;d=k[a>>2]|0;if(!d)c=0;else{c=0;do{if(d>>>0>127){d=qz(g,d,0)|0;if((d|0)==-1){c=-1;break a}}else d=1;c=d+c|0;a=a+4|0;d=k[a>>2]|0}while((d|0)!=0)}}else{b:do if(c>>>0>3){d=c;e=k[b>>2]|0;while(1){f=k[e>>2]|0;if((f+-1|0)>>>0>126){if(!f)break;f=qz(a,f,0)|0;if((f|0)==-1){c=-1;break a}a=a+f|0;d=d-f|0}else{i[a>>0]=f;a=a+1|0;d=d+-1|0;e=k[b>>2]|0}e=e+4|0;k[b>>2]=e;if(d>>>0<=3)break b}i[a>>0]=0;k[b>>2]=0;c=c-d|0;break a}else d=c;while(0);if(d){e=k[b>>2]|0;while(1){f=k[e>>2]|0;if((f+-1|0)>>>0>126){if(!f){e=19;break}f=qz(g,f,0)|0;if((f|0)==-1){c=-1;break a}if(d>>>0>>0){e=22;break}qz(a,k[e>>2]|0,0)|0;a=a+f|0;d=d-f|0}else{i[a>>0]=f;a=a+1|0;d=d+-1|0;e=k[b>>2]|0}e=e+4|0;k[b>>2]=e;if(!d)break a}if((e|0)==19){i[a>>0]=0;k[b>>2]=0;c=c-d|0;break}else if((e|0)==22){c=c-d|0;break}}}while(0);r=h;return c|0}function cp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;if(!c)c=k[b+76>>2]|0;e=bO(c)|0;e=kt(e|0?e:c)|0;d=b+80|0;b=e>>>0<=(k[d>>2]|0)>>>0?e:0;if((b|0)==0|(c|0)==(b|0))return;a:do if(c>>>0>>0){while(1){f=c;c=c+1|0;if((i[f>>0]|0)==35)if((i[c>>0]|0)==123)break;if(c>>>0>=b>>>0)break a}i[a+13>>0]=1}while(0);k[a+8>>2]=b;f=bO(e)|0;f=f|0?f:e;f=(i[f>>0]|0)==123?f+1|0:0;if(!((f|0)==0?1:f>>>0>(k[d>>2]|0)>>>0)){k[a>>2]=b;return}f=bO(e)|0;f=f|0?f:e;f=(i[f>>0]|0)==59?f+1|0:0;if(!((f|0)==0?1:f>>>0>(k[d>>2]|0)>>>0)){k[a>>2]=b;return}f=bO(e)|0;f=f|0?f:e;f=(i[f>>0]|0)==125?f+1|0:0;if((f|0)==0?1:f>>>0>(k[d>>2]|0)>>>0)return;k[a>>2]=b;return}function dp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0,q=0,s=0,t=0.0,u=0,v=0;v=r;r=r+64|0;u=v+16|0;b=v;lE(b,36999,6);x=0;o=u;q=e;s=o+40|0;do{k[o>>2]=k[q>>2];o=o+4|0;q=q+4|0}while((o|0)<(s|0));f=wa(24,b|0,a|0,d|0,u|0,f|0)|0;s=x;x=0;if(s&1){e=mb()|0;P1(b);yb(e|0)}P1(b);i=+p[f+56>>3]/255.0;j=+p[f+64>>3]/255.0;l=+p[f+72>>3]/255.0;b=j>3];o=u;q=e;s=o+40|0;do{k[o>>2]=k[q>>2];o=o+4|0;q=q+4|0}while((o|0)<(s|0));e=lm(h,j,i,g,c,u)|0;r=v;return e|0}function ep(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;d=k[a>>2]|0;o=(((k[a+4>>2]|0)-d|0)/12|0)-c|0;p=sI(o+1|0,4)|0;if(!p){k[b>>2]=0;b=0;return b|0}a:do if((o|0)>0){e=0;while(1){n=e+c|0;f=i[d+(n*12|0)>>0]|0;if(!(f&1))f=(f&255)>>>1;else f=k[d+(n*12|0)+4>>2]|0;j=hd(f+1|0)|0;m=p+(e<<2)|0;k[m>>2]=j;if(!j)break;f=d+(n*12|0)|0;if(!(i[f>>0]&1))l=f+1|0;else l=k[d+(n*12|0)+8>>2]|0;f=d+(n*12|0)|0;g=i[f>>0]|0;if(!(g&1)){h=f+1|0;f=(g&255)>>>1}else{f=d+(n*12|0)|0;h=k[f+8>>2]|0;f=k[f+4>>2]|0}g=h+f|0;if((l|0)!=(g|0)){f=j;d=l;while(1){i[f>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(g|0))break;else f=f+1|0}d=k[a>>2]|0}f=i[d+(n*12|0)>>0]|0;if(!(f&1))d=(f&255)>>>1;else d=k[d+(n*12|0)+4>>2]|0;i[(k[m>>2]|0)+d>>0]=0;e=e+1|0;if((e|0)>=(o|0))break a;d=k[a>>2]|0}d=k[p>>2]|0;if(d|0){e=p;do{cf(d);e=e+4|0;d=k[e>>2]|0}while((d|0)!=0)}cf(p);k[b>>2]=0;b=0;return b|0}while(0);k[p+(o<<2)>>2]=0;k[b>>2]=p;b=p;return b|0}function fp(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,l=0;j=0;l=r;r=r+16|0;f=l+4|0;g=l;wq(a,b);h=a+12|0;k[a+16>>2]=0;k[a+20>>2]=0;i=a+16|0;k[h>>2]=i;e=k[c>>2]|0;c=c+4|0;if((e|0)==(c|0)){a=a+24|0;j=k[d>>2]|0;k[a>>2]=j;r=l;return}while(1){k[g>>2]=i;x=0;k[f>>2]=k[g>>2];xa(48,h|0,f|0,e+16|0)|0;b=x;x=0;if(b&1)break;b=k[e+4>>2]|0;if(!b)while(1){b=k[e+8>>2]|0;if((k[b>>2]|0)==(e|0))break;else e=b}else while(1){e=k[b>>2]|0;if(!e)break;else b=e}if((b|0)==(c|0)){j=9;break}else e=b}if((j|0)==9){a=a+24|0;j=k[d>>2]|0;k[a>>2]=j;r=l;return}f=mb()|0;sC(h,k[i>>2]|0);b=k[a>>2]|0;if(!b)yb(f|0);c=a+4|0;e=k[c>>2]|0;if((e|0)!=(b|0)){do{l=e+-12|0;k[c>>2]=l;P1(l);e=k[c>>2]|0}while((e|0)!=(b|0));b=k[a>>2]|0}uha(b);yb(f|0)}function gp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;l=m;g=sy(b,a)|0;g=k[g>>2]|0;if(g|0){g=Ot(g,8,496,0)|0;if(g|0){c=g;r=m;return c|0}}g=sy(b,a)|0;g=k[g>>2]|0;if(g|0){g=Ot(g,8,256,0)|0;if(g|0)if((k[g+64>>2]|0)==(k[g+60>>2]|0)){g=f+36|0;f=lD(g,100)|0;k[f+4>>2]=0;j=f+8|0;h=j+40|0;do{k[j>>2]=k[d>>2];j=j+4|0;d=d+4|0}while((j|0)<(h|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;c=f+52|0;k[c>>2]=0;k[f>>2]=10312;l=f+56|0;bo(l,0);k[f>>2]=5160;k[l>>2]=5268;k[c>>2]=6;c=N4(g,f)|0;r=m;return c|0}}j=l;h=j+40|0;do{k[j>>2]=k[d>>2];j=j+4|0;d=d+4|0}while((j|0)<(h|0));c=Zk(a,b,c,l,e)|0;r=m;return c|0}function hp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;f=k[c>>2]|0;n=k[d>>2]|0;if((f|0)==(n|0)){c=1;return c|0}d=k[a>>2]|0;m=k[b>>2]|0;e=d;while(1){if((e|0)==(m|0)){e=0;d=14;break}l=f+16|0;b=e+16|0;h=i[l>>0]|0;g=(h&1)==0;h=g?(h&255)>>>1:k[f+20>>2]|0;j=i[b>>0]|0;o=(j&1)==0;j=o?(j&255)>>>1:k[e+20>>2]|0;l=g?l+1|0:k[f+24>>2]|0;e=o?b+1|0:k[e+24>>2]|0;b=j>>>0>>0;o=tG(l,e,b?j:h)|0;g=h>>>0>>0;if((((o|0)==0?(g?-2147483648:0):o)|0)<0){e=0;d=14;break}o=tG(e,l,g?h:j)|0;if((((o|0)==0?(b?-2147483648:0):o)|0)<0)e=f;else{e=k[f+4>>2]|0;if(!e)while(1){e=k[f+8>>2]|0;if((k[e>>2]|0)==(f|0))break;else f=e}else while(1){f=k[e>>2]|0;if(!f)break;else e=f}k[c>>2]=e}f=k[d+4>>2]|0;if(!f)while(1){f=k[d+8>>2]|0;if((k[f>>2]|0)==(d|0)){d=f;break}else d=f}else{d=f;while(1){f=k[d>>2]|0;if(!f)break;else d=f}}k[a>>2]=d;if((e|0)==(n|0)){e=1;d=14;break}else{f=e;e=d}}if((d|0)==14)return e|0;return 0}function ip(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;l=m;e=k[b+64>>2]|0;c=k[b+68>>2]|0;if(!c){c=(k[a+4>>2]|0)+36|0;d=lD(c,64)|0;g=l;h=b+8|0;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[d+4>>2]=0;g=d+8|0;h=l;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=11764;k[d+56>>2]=0;k[d+60>>2]=0;f=N4(c,d)|0}else f=Jc[k[(k[c>>2]|0)+40>>2]&1023](c,a+8|0)|0;if(!e)e=0;else{e=Jc[k[(k[e>>2]|0)+36>>2]&1023](e,a)|0;e=tc[k[(k[e>>2]|0)+72>>2]&511](e)|0}c=(k[a+4>>2]|0)+36|0;d=lD(c,72)|0;g=l;h=b+8|0;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[d+4>>2]=0;g=d+8|0;h=l;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d+64>>2]=e;k[d>>2]=10048;k[d+68>>2]=f;k[d+52>>2]=5;b=N4(c,d)|0;r=m;return b|0}function jp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=r;r=r+32|0;f=g+16|0;c=g;nz(f,b);gy(a+16|0,f);f=a+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;h=i[b>>0]|0;j=(h&1)==0;h=j?(h&255)>>>1:k[b+4>>2]|0;e=i[f>>0]|0;d=a+8|0;e=(e&1)==0?(e&255)>>>1:k[d>>2]|0;x=0;Ua(10,c|0,(j?b+1|0:k[b+8>>2]|0)|0,h|0,e+h|0);b=x;x=0;if(b&1){j=mb()|0;P1(c);yb(j|0)}b=a+12|0;a=f+1|0;x=0;xa(46,c|0,((i[f>>0]&1)==0?a:k[b>>2]|0)|0,e|0)|0;j=x;x=0;if(j&1){j=mb()|0;P1(c);yb(j|0)}if(!(i[f>>0]&1)){i[a>>0]=0;i[f>>0]=0}else{i[k[b>>2]>>0]=0;k[d>>2]=0}x=0;sa(443,f|0,0);j=x;x=0;if(j&1){j=Eb(0)|0;Nba(j)}else{k[f>>2]=k[c>>2];k[f+4>>2]=k[c+4>>2];k[f+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;P1(c);r=g;return}}function kp(a,b,c,d,e,f,g,h,i,j,l,m,n,o,p,q,r){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|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;if((hc|0)!=2){k[ic+8>>2]=a;k[ic+16>>2]=b;k[ic+24>>2]=c;k[ic+32>>2]=d;k[ic+40>>2]=e;k[ic+48>>2]=f;k[ic+56>>2]=g;k[ic+64>>2]=h;k[ic+72>>2]=i;k[ic+80>>2]=j;k[ic+88>>2]=l;k[ic+96>>2]=m;k[ic+104>>2]=n;k[ic+112>>2]=o;k[ic+120>>2]=p;k[ic+128>>2]=q;k[ic+136>>2]=r;if((hc|0)==1)hc=3}Uc(kc+33164|0)}function lp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+48|0;c=g+24|0;d=g+12|0;f=g;if(i[b+64>>0]|0){f=k[b+56>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a);r=g;return}e=a+4|0;lE(c,38856,1);x=0;sa(484,e|0,c|0);h=x;x=0;if(h&1){h=mb()|0;P1(c);yb(h|0)}P1(c);c=k[b+56>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);c=b+60|0;do if(k[c>>2]|0){lE(d,48464,2);x=0;sa(484,e|0,d|0);h=x;x=0;if(!(h&1)){P1(d);h=k[c>>2]|0;rc[k[(k[h>>2]|0)+28>>2]&1023](h,a);break}h=mb()|0;P1(d);yb(h|0)}while(0);lE(f,38861,1);x=0;sa(484,e|0,f|0);h=x;x=0;if(h&1){h=mb()|0;P1(f);yb(h|0)}else{P1(f);r=g;return}}function mp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!b)return;mp(a,k[b>>2]|0);mp(a,k[b+4>>2]|0);g=b+28|0;a=k[g>>2]|0;if(a|0){h=b+32|0;c=k[h>>2]|0;if((c|0)!=(a|0)){d=c;do{f=d+-28|0;k[h>>2]=f;sC(d+-16|0,k[d+-12>>2]|0);c=k[f>>2]|0;if(c|0){e=d+-24|0;d=k[e>>2]|0;if((d|0)!=(c|0)){do{i=d+-12|0;k[e>>2]=i;P1(i);d=k[e>>2]|0}while((d|0)!=(c|0));c=k[f>>2]|0}uha(c)}d=k[h>>2]|0}while((d|0)!=(a|0));a=k[g>>2]|0}uha(a)}P1(b+16|0);uha(b);return}function np(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){f=bO(e)|0;e=f|0?f:e}b=wy(e)|0;if(!b)f=0;else{f=UG(b)|0;if(!f)f=0;else{f=(wy(f)|0)!=0;b=f?b:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}else f=b}}if(!c)if((f|0)==0|(f|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=f;b=a+84|0;n=a+96|0;wC(h,n,c,e);k[b>>2]=k[h>>2];k[b+4>>2]=k[h+4>>2];k[b+8>>2]=k[h+8>>2];wC(g,n,e,f);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(j,n,b);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,e,a+152|0,b,g);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=f;n=f;r=m;return n|0}function op(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=0;j=a+4|0;c=k[a>>2]|0;e=(((k[j>>2]|0)-c|0)/12|0)+1|0;if(e>>>0>357913941){fH(a);c=k[a>>2]|0}i=a+8|0;d=((k[i>>2]|0)-c|0)/12|0;if(d>>>0<178956970){d=d<<1;d=d>>>0>>0?e:d;c=((k[j>>2]|0)-c|0)/12|0;if(!d){f=0;d=0}else g=6}else{d=357913941;c=((k[j>>2]|0)-c|0)/12|0;g=6}if((g|0)==6){f=d;d=GG(d*12|0)|0}e=d+(c*12|0)|0;c=e;h=d+(f*12|0)|0;x=0;sa(430,e|0,b|0);b=x;x=0;if(b&1){c=mb()|0;if(!d)yb(c|0);uha(d);yb(c|0)}g=e+12|0;f=k[a>>2]|0;d=k[j>>2]|0;if((d|0)==(f|0)){d=c;e=f;c=f}else{do{b=e+-12|0;d=d+-12|0;k[b>>2]=k[d>>2];k[b+4>>2]=k[d+4>>2];k[b+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;e=c+-12|0;c=e}while((d|0)!=(f|0));d=c;e=k[a>>2]|0;c=k[j>>2]|0}k[a>>2]=d;k[j>>2]=g;k[i>>2]=h;d=e;if((c|0)!=(d|0))do{c=c+-12|0;P1(c)}while((c|0)!=(d|0));if(!e)return;uha(e);return}function pp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0;g=r;r=r+16|0;h=g;b=0;while(1){if((b|0)==3)break;k[h+(b<<2)>>2]=0;b=b+1|0}j=i[f>>0]|0;l=(j&1)==0;b=l?f+1|0:k[f+8>>2]|0;f=b+(l?(j&255)>>>1:k[f+4>>2]|0)|0;while(1){if(b>>>0>=f>>>0){f=8;break}x=0;sa(440,h|0,i[b>>0]|0);l=x;x=0;if(l&1){f=9;break}b=b+1|0}do if((f|0)==8){x=0;b=Pa(22,((c|0)==-1?-1:c<<1)|0,d|0,e|0,((i[h>>0]&1)==0?h+1|0:k[h+8>>2]|0)|0)|0;l=x;x=0;if(l&1){b=mb()|0;f=11;break}f=0;while(1){if((f|0)==3)break;k[a+(f<<2)>>2]=0;f=f+1|0}f=b+(OD(b)|0)|0;while(1){if(b>>>0>=f>>>0){f=20;break}x=0;sa(440,a|0,i[b>>0]|0);l=x;x=0;if(l&1){f=19;break}b=b+1|0}if((f|0)==19){b=mb()|0;P1(a);break}else if((f|0)==20){P1(h);r=g;return}}else if((f|0)==9){b=mb()|0;f=11}while(0);P1(h);yb(b|0)}function qp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){b=bO(e)|0;b=b|0?b:e}else b=e;e=Io(b)|0;if(!e)f=0;else{e=XH(e)|0;if(!e)f=0;else{e=(i[e>>0]|0)==59?e+1|0:0;if(e>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}else f=e}}if(!c)if((f|0)==0|(f|0)==(b|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=b;k[a+160>>2]=f;e=a+84|0;n=a+96|0;wC(h,n,c,b);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,b,f);c=k[a+12>>2]|0;b=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,b,a+152|0,e,g);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=f;n=f;r=m;return n|0}function rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p+16|0;l=p;d=p+32|0;n=a+28|0;e=k[n>>2]|0;k[d>>2]=e;o=a+20|0;e=(k[o>>2]|0)-e|0;k[d+4>>2]=e;k[d+8>>2]=b;k[d+12>>2]=c;i=a+60|0;j=a+44|0;b=2;e=e+c|0;while(1){if(!(k[18119]|0)){k[m>>2]=k[i>>2];k[m+4>>2]=d;k[m+8>>2]=b;g=E0(fc(146,m|0)|0)|0}else{ab(350,a|0);k[l>>2]=k[i>>2];k[l+4>>2]=d;k[l+8>>2]=b;g=E0(fc(146,l|0)|0)|0;Va(0)}if((e|0)==(g|0)){e=6;break}if((g|0)<0){e=8;break}e=e-g|0;f=k[d+4>>2]|0;if(g>>>0>f>>>0){h=k[j>>2]|0;k[n>>2]=h;k[o>>2]=h;h=k[d+12>>2]|0;g=g-f|0;d=d+8|0;b=b+-1|0}else if((b|0)==2){k[n>>2]=(k[n>>2]|0)+g;h=f;b=2}else h=f;k[d>>2]=(k[d>>2]|0)+g;k[d+4>>2]=h-g}if((e|0)==6){m=k[j>>2]|0;k[a+16>>2]=m+(k[a+48>>2]|0);a=m;k[n>>2]=a;k[o>>2]=a}else if((e|0)==8){k[a+16>>2]=0;k[n>>2]=0;k[o>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[d+4>>2]|0)|0}r=p;return c|0}function sp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+48|0;c=g+24|0;d=g+12|0;e=g;f=a+4|0;Tu(f);do if(!(k[b+88>>2]|0)){lE(c,38836,6);x=0;Qa(134,f|0,c|0,b|0);d=x;x=0;if(!(d&1)){P1(c);vba(f);break}g=mb()|0;P1(c);yb(g|0)}else{lE(d,38843,9);x=0;Qa(134,f|0,d|0,b|0);c=x;x=0;if(!(c&1)){P1(d);vba(f);break}g=mb()|0;P1(d);yb(g|0)}while(0);_G(e,b+68|0);x=0;sa(484,f|0,e|0);f=x;x=0;if(!(f&1)){P1(e);f=k[b+80>>2]|0;rc[k[(k[f>>2]|0)+28>>2]&1023](f,a);b=k[b+64>>2]|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);r=g;return}g=mb()|0;P1(e);yb(g|0)}function tp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+48|0;c=g+24|0;d=g+12|0;e=g;f=a+4|0;lE(c,42451,3);x=0;Qa(134,f|0,c|0,b|0);h=x;x=0;if(h&1){h=mb()|0;P1(c);yb(h|0)}P1(c);vba(f);c=b+56|0;do if(Jc[k[(k[b>>2]|0)+96>>2]&1023](b,k[c>>2]|0)|0){lE(d,38856,1);x=0;sa(484,f|0,d|0);h=x;x=0;if(!(h&1)){P1(d);break}h=mb()|0;P1(d);yb(h|0)}while(0);h=k[c>>2]|0;rc[k[(k[h>>2]|0)+28>>2]&1023](h,a);if(!(Jc[k[(k[b>>2]|0)+96>>2]&1023](b,k[c>>2]|0)|0)){r=g;return}lE(e,38861,1);x=0;sa(484,f|0,e|0);h=x;x=0;if(h&1){h=mb()|0;P1(e);yb(h|0)}else{P1(e);r=g;return}}function up(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;h=n+60|0;j=n+48|0;d=n+8|0;l=n;m=a+76|0;f=k[m>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){m=0;r=n;return m|0}if(b){b=bO(f)|0;f=b|0?b:f;b=i[f>>0]|0}else b=e;e=f+1|0;if(b<<24>>24==37){g=qO(e)|0;e=g|0?g:e;if(e>>>0>(k[a+80>>2]|0)>>>0){m=0;r=n;return m|0}else g=e}else g=0;if(!c)if((g|0)==0|(g|0)==(f|0)){m=0;r=n;return m|0}c=k[m>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=g;b=a+84|0;o=a+96|0;wC(j,o,c,f);k[b>>2]=k[j>>2];k[b+4>>2]=k[j+4>>2];k[b+8>>2]=k[j+8>>2];wC(h,o,f,g);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(l,o,b);k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];EC(d,c,e,a+152|0,b,h);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[m>>2]=g;o=g;r=n;return o|0}function vp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=0;j=a+4|0;c=k[a>>2]|0;e=(((k[j>>2]|0)-c|0)/12|0)+1|0;if(e>>>0>357913941){fH(a);c=k[a>>2]|0}i=a+8|0;d=((k[i>>2]|0)-c|0)/12|0;if(d>>>0<178956970){d=d<<1;d=d>>>0>>0?e:d;c=((k[j>>2]|0)-c|0)/12|0;if(!d){f=0;d=0}else g=6}else{d=357913941;c=((k[j>>2]|0)-c|0)/12|0;g=6}if((g|0)==6){f=d;d=GG(d*12|0)|0}e=d+(c*12|0)|0;c=e;h=d+(f*12|0)|0;k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;g=e+12|0;f=k[a>>2]|0;d=k[j>>2]|0;if((d|0)==(f|0)){d=c;e=f;c=f}else{do{b=e+-12|0;d=d+-12|0;k[b>>2]=k[d>>2];k[b+4>>2]=k[d+4>>2];k[b+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;e=c+-12|0;c=e}while((d|0)!=(f|0));d=c;e=k[a>>2]|0;c=k[j>>2]|0}k[a>>2]=d;k[j>>2]=g;k[i>>2]=h;d=e;if((c|0)!=(d|0))do{c=c+-12|0;P1(c)}while((c|0)!=(d|0));if(!e)return;uha(e);return}function wp(a){a=a|0;var b=0,c=0,d=0;d=0;b=Un(a)|0;if(!b)if(!a){d=0;return d|0}else c=a;else while(1){a=Un(b)|0;if(!a){c=b;break}else b=a}b=mI(c)|0;if(!b){b=Hq(c)|0;if(!b)b=c;else d=6}else d=6;if((d|0)==6)while(1){a=mI(b)|0;if(a|0){b=a;d=6;continue}a=Hq(b)|0;if(!a)break;else{b=a;d=6}}switch(i[b>>0]|0){case 59:case 125:{b=b+1|0;break}default:b=Z9(b)|0}d=b|0?c:0;return d|0}function xp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){b=bO(e)|0;b=b|0?b:e}else b=e;e=$F(b)|0;if(!e){e=wy(b)|0;if(!e)f=Dx(b)|0;else f=e}else f=e;if(f>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((f|0)==0|(f|0)==(b|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=b;k[a+160>>2]=f;e=a+84|0;n=a+96|0;wC(h,n,c,b);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,b,f);c=k[a+12>>2]|0;b=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,b,a+152|0,e,g);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=f;n=f;r=m;return n|0}function yp(a,b){a=a|0;b=b|0;do switch(k[b+56>>2]|0){case 0:{lE(a,38863,2);return}case 1:{lE(a,38866,2);return}case 2:{lE(a,38869,2);return}case 3:{lE(a,38872,2);return}case 4:{lE(a,42839,1);return}case 5:{lE(a,38875,2);return}case 6:{lE(a,38878,1);return}case 7:{lE(a,38880,2);return}case 8:{lE(a,44221,1);return}case 9:{lE(a,38883,1);return}case 10:{lE(a,38885,1);return}case 11:{lE(a,39370,1);return}case 12:{lE(a,38887,1);return}case 13:{lE(a,32159,5);return}default:{lE(a,32165,7);return}}while(0)}function zp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=0;j=r;r=r+16|0;g=j;x=0;sa(457,g|0,a|0);f=x;x=0;a:do if(f&1){c=Eb(0)|0;d=a;e=a;h=11}else{do if(i[g>>0]|0){f=k[a+(k[(k[a>>2]|0)+-12>>2]|0)+24>>2]|0;c=f;if(!f)h=8;else{d=c+24|0;e=k[d>>2]|0;if((e|0)!=(k[c+28>>2]|0)){k[d>>2]=e+1;i[e>>0]=b;break}x=0;c=Ka(k[(k[f>>2]|0)+52>>2]|0,c|0,b&255|0)|0;b=x;x=0;if(!(b&1))if((c|0)==-1)h=8;else break}if((h|0)==8){b=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;x=0;sa(458,b|0,k[b+16>>2]|1|0);b=x;x=0;if(!(b&1))break}c=Eb(0)|0;bx(g);d=a;e=a;h=11;break a}while(0);bx(g)}while(0);do if((h|0)==11){Bb(c|0)|0;x=0;ra(325,d+(k[(k[e>>2]|0)+-12>>2]|0)|0);h=x;x=0;if(!(h&1)){xb();break}c=mb()|0;x=0;pa(3);h=x;x=0;if(h&1){h=Eb(0)|0;Nba(h)}else yb(c|0)}while(0);r=j;return a|0}function Ap(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;h=n+60|0;j=n+48|0;d=n+8|0;l=n;m=a+76|0;f=k[m>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){m=0;r=n;return m|0}if(b){b=bO(f)|0;f=b|0?b:f;b=i[f>>0]|0}else b=e;e=f+1|0;if(b<<24>>24==37)g=e;else{g=b<<24>>24|0;g=(g|0)!=45?((g|0)==43?e:0):e}if(g>>>0>(k[a+80>>2]|0)>>>0){m=0;r=n;return m|0}if(!c)if((g|0)==0|(g|0)==(f|0)){m=0;r=n;return m|0}c=k[m>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=g;b=a+84|0;o=a+96|0;wC(j,o,c,f);k[b>>2]=k[j>>2];k[b+4>>2]=k[j+4>>2];k[b+8>>2]=k[j+8>>2];wC(h,o,f,g);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(l,o,b);k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];EC(d,c,e,a+152|0,b,h);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[m>>2]=g;o=g;r=n;return o|0}function Bp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;h=n+60|0;j=n+48|0;d=n+8|0;l=n;m=a+76|0;f=k[m>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){m=0;r=n;return m|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}e=e<<24>>24==42?f+1|0:f;if(!e)g=0;else{e=Pv(e)|0;if(e>>>0>(k[a+80>>2]|0)>>>0){m=0;r=n;return m|0}else g=e}if(!c)if((g|0)==0|(g|0)==(f|0)){m=0;r=n;return m|0}c=k[m>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=g;b=a+84|0;o=a+96|0;wC(j,o,c,f);k[b>>2]=k[j>>2];k[b+4>>2]=k[j+4>>2];k[b+8>>2]=k[j+8>>2];wC(h,o,f,g);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(l,o,b);k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];EC(d,c,e,a+152|0,b,h);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[m>>2]=g;o=g;r=n;return o|0}function Cp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+80|0;f=j+56|0;c=j+16|0;h=j;es(a,1,0)|0;d=a+152|0;k[f>>2]=k[d>>2];k[f+4>>2]=k[d+4>>2];k[f+8>>2]=k[d+8>>2];d=f+8|0;k[d>>2]=(k[d>>2]|0)+-1;d=a+76|0;k[d>>2]=(k[d>>2]|0)+-1;d=(k[a+40>>2]|0)+36|0;e=lD(d,76)|0;g=c;a=a+108|0;b=g+40|0;do{k[g>>2]=k[a>>2];g=g+4|0;a=a+4|0}while((g|0)<(b|0));Xn(h,f);k[e+4>>2]=0;g=e+8|0;a=c;b=g+40|0;do{k[g>>2]=k[a>>2];g=g+4|0;a=a+4|0}while((g|0)<(b|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;i[e+56>>0]=0;k[e+52>>2]=4;k[e>>2]=5932;i[e+57>>0]=0;i[e+58>>0]=0;x=0;sa(477,e+60|0,h|0);g=x;x=0;if(g&1){j=mb()|0;P1(h);yb(j|0)}k[e+72>>2]=0;x=0;a=Ka(857,d|0,e|0)|0;g=x;x=0;if(g&1){j=mb()|0;P1(h);yb(j|0)}else{P1(h);i[a+48>>0]=1;r=j;return a|0}return 0}function Dp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+96|0;b=o+56|0;m=o+16|0;n=o;j=c+36|0;l=lD(j,64)|0;c=m;g=e;h=c+40|0;do{k[c>>2]=k[g>>2];c=c+4|0;g=g+4|0}while((c|0)<(h|0));lE(n,38097,6);x=0;c=b;g=e;h=c+40|0;do{k[c>>2]=k[g>>2];c=c+4|0;g=g+4|0}while((c|0)<(h|0));b=wa(27,n|0,a|0,d|0,b|0,f|0)|0;d=x;x=0;if(!(d&1)){x=0;b=ua(k[(k[b>>2]|0)+72>>2]|0,b|0)|0;d=x;x=0;if(!(d&1)){k[l+4>>2]=0;c=l+8|0;g=m;h=c+40|0;do{k[c>>2]=k[g>>2];c=c+4|0;g=g+4|0}while((c|0)<(h|0));i[l+48>>0]=0;i[l+49>>0]=0;i[l+50>>0]=0;k[l>>2]=5684;i[l+56>>0]=b&1;k[l+60>>2]=0;k[l+52>>2]=1;x=0;b=Ka(857,j|0,l|0)|0;m=x;x=0;if(!(m&1)){P1(n);r=o;return b|0}}}o=mb()|0;P1(n);yb(o|0);return 0}function Ep(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;h=j;d=b+4|0;e=k[d>>2]|0;do if(!e){k[h>>2]=d;g=d;e=d}else{g=b+8|0;while(1){d=e+16|0;if(vU(g,k[c>>2]|0,k[d>>2]|0)|0){d=k[e>>2]|0;if(!d){d=e;f=5;break}}else{if(!(vU(g,k[d>>2]|0,k[c>>2]|0)|0)){f=10;break}f=e+4|0;d=k[f>>2]|0;if(!d){d=f;f=9;break}}e=d}if((f|0)==5){k[h>>2]=e;g=d;break}else if((f|0)==9){k[h>>2]=e;g=d;break}else if((f|0)==10){k[h>>2]=e;g=h;break}}while(0);d=k[g>>2]|0;if(d|0){c=0;b=d;k[a>>2]=b;b=a+4|0;i[b>>0]=c;r=j;return}f=GG(20)|0;k[f+16>>2]=k[c>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=e;k[g>>2]=f;d=k[k[b>>2]>>2]|0;if(!d)d=f;else{k[b>>2]=d;d=k[g>>2]|0}hl(k[b+4>>2]|0,d);c=b+8|0;k[c>>2]=(k[c>>2]|0)+1;c=1;b=f;k[a>>2]=b;b=a+4|0;i[b>>0]=c;r=j;return}function Fp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;n=o+16|0;l=o;k[a+4>>2]=0;g=a+8|0;h=b;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));i[a+48>>0]=0;i[a+49>>0]=0;i[a+50>>0]=0;k[a+52>>2]=0;k[a>>2]=8476;k[a+56>>2]=c;m=a+60|0;x=0;sa(430,m|0,d|0);j=x;x=0;if(j&1){o=mb()|0;yb(o|0)}i[a+72>>0]=e&1;i[a+73>>0]=f&1;k[a+76>>2]=0;c=i[m>>0]|0;if(!(c&1))c=(c&255)>>>1;else c=k[a+64>>2]|0;if((c|0)==0|e^1){r=o;return}x=0;Qa(74,l|0,32702,50);e=x;x=0;do if(e&1)c=mb()|0;else{x=0;g=n;h=b;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));sa(438,l|0,n|0);e=x;x=0;if(e&1){c=mb()|0;P1(l);break}P1(l);r=o;return}while(0);P1(m);o=c;yb(o|0)}function Gp(a,b){a=a|0;b=b|0;do switch(b|0){case 0:{lE(a,42444,3);return}case 1:{lE(a,42448,2);return}case 2:{lE(a,32200,2);return}case 3:{lE(a,32203,3);return}case 4:{lE(a,32173,2);return}case 5:{lE(a,32176,3);return}case 6:{lE(a,32180,2);return}case 7:{lE(a,32183,3);return}case 8:{lE(a,32207,4);return}case 9:{lE(a,32212,3);return}case 10:{lE(a,32216,5);return}case 11:{lE(a,32222,3);return}case 12:{lE(a,32226,3);return}case 13:{lE(a,32159,5);return}default:{lE(a,32165,7);return}}while(0)}function Hp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;g=r;r=r+80|0;d=g+32|0;f=g+20|0;h=g;e=g+8|0;c=k[(k[b>>2]|0)+20>>2]|0;l=k[a+72>>2]|0;j=k[l+4>>2]|0;a=h;k[a>>2]=k[l>>2];k[a+4>>2]=j;k[d>>2]=k[h>>2];k[d+4>>2]=k[h+4>>2];Pc[c&255](f,b,d);k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;c=i[f>>0]|0;a=(c&1)==0;c=a?(c&255)>>>1:k[f+4>>2]|0;x=0;Ua(10,e|0,(a?f+1|0:k[f+8>>2]|0)|0,c|0,c+25|0);c=x;x=0;if(!(c&1)){x=0;xa(46,e|0,39826,25)|0;l=x;x=0;if(!(l&1)){x=0;c=d;a=b+8|0;b=c+40|0;do{k[c>>2]=k[a>>2];c=c+4|0;a=a+4|0}while((c|0)<(b|0));sa(438,e|0,d|0);l=x;x=0;if(!(l&1)){P1(e);P1(f);r=g;return}l=mb()|0;P1(e);P1(f);yb(l|0)}}l=mb()|0;P1(e);P1(f);yb(l|0)}function Ip(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+32|0;e=f+16|0;c=f+8|0;d=f;Gn(a);if(i[a+92>>0]|0)if((k[k[a+68>>2]>>2]|0)==2){hm(e,b);b=i[e>>0]|0;d=(b&1)==0;x=0;xa(46,a+4|0,(d?e+1|0:k[e+8>>2]|0)|0,(d?(b&255)>>>1:k[e+4>>2]|0)|0)|0;b=x;x=0;if(b&1){f=mb()|0;P1(e);yb(f|0)}x=0;sa(485,c|0,e|0);b=x;x=0;if(b&1){f=mb()|0;P1(e);yb(f|0)}x=0;sa(486,a+16|0,c|0);a=x;x=0;if(a&1){f=mb()|0;P1(e);yb(f|0)}P1(e);r=f;return}e=i[b>>0]|0;c=(e&1)==0;xz(a+4|0,c?b+1|0:k[b+8>>2]|0,c?(e&255)>>>1:k[b+4>>2]|0)|0;nz(d,b);Y2(a+16|0,d);r=f;return}function Jp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;h=n+60|0;j=n+48|0;d=n+8|0;l=n;m=a+76|0;f=k[m>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){m=0;r=n;return m|0}if(b){b=bO(f)|0;f=b|0?b:f;b=i[f>>0]|0}else b=e;e=f+1|0;if(b<<24>>24==47){e=(i[e>>0]|0)==42?0:e;if(e>>>0>(k[a+80>>2]|0)>>>0){m=0;r=n;return m|0}else g=e}else g=0;if(!c)if((g|0)==0|(g|0)==(f|0)){m=0;r=n;return m|0}c=k[m>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=g;b=a+84|0;o=a+96|0;wC(j,o,c,f);k[b>>2]=k[j>>2];k[b+4>>2]=k[j+4>>2];k[b+8>>2]=k[j+8>>2];wC(h,o,f,g);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(l,o,b);k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];EC(d,c,e,a+152|0,b,h);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[m>>2]=g;o=g;r=n;return o|0}function Kp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+112|0;m=n+40|0;j=n+24|0;h=n+16|0;e=n;l=n+52|0;d=i[b>>0]|0;if(!(mw(47955,d<<24>>24,4)|0)){c=L0()|0;k[c>>2]=22;c=0}else{c=hd(1144)|0;if(!c)c=0;else{f=c;g=f+112|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));if(!(r2(b,43)|0))k[c>>2]=d<<24>>24==114?8:4;if(r2(b,101)|0){k[e>>2]=a;k[e+4>>2]=2;k[e+8>>2]=1;Gb(221,e|0)|0;d=i[b>>0]|0}if(d<<24>>24==97){k[h>>2]=a;k[h+4>>2]=3;d=Gb(221,h|0)|0;if(!(d&1024)){k[j>>2]=a;k[j+4>>2]=4;k[j+8>>2]=d|1024;Gb(221,j|0)|0}b=k[c>>2]|128;k[c>>2]=b}else b=k[c>>2]|0;k[c+60>>2]=a;k[c+44>>2]=c+120;k[c+48>>2]=1024;d=c+75|0;i[d>>0]=-1;if(!(b&8)){k[m>>2]=a;k[m+4>>2]=21505;k[m+8>>2]=l;if(!(Nb(54,m|0)|0))i[d>>0]=10}k[c+32>>2]=21;k[c+36>>2]=19;k[c+40>>2]=20;k[c+12>>2]=122;if(!(k[18120]|0))k[c+76>>2]=-1;Xb(72504);d=k[18125]|0;k[c+56>>2]=d;if(d|0)k[d+52>>2]=c;k[18125]=c;Ob(72504)}}r=n;return c|0}function Lp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){b=bO(e)|0;b=b|0?b:e}else b=e;e=HN(b)|0;e=e|0?e:b;if(!e)f=0;else{e=SH(e)|0;if(e>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}else f=e}if(!c)if((f|0)==0|(f|0)==(b|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=b;k[a+160>>2]=f;e=a+84|0;n=a+96|0;wC(h,n,c,b);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,b,f);c=k[a+12>>2]|0;b=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,b,a+152|0,e,g);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=f;n=f;r=m;return n|0}function Mp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;h=j;e=b+4|0;d=k[e>>2]|0;do if(!d){k[h>>2]=e;h=e;f=e}else{f=d;while(1){d=f+16|0;if(Ru(c,d)|0){d=k[f>>2]|0;if(!d){d=f;g=4;break}}else{if(!(Ru(d,c)|0)){d=f;g=9;break}e=f+4|0;d=k[e>>2]|0;if(!d){g=8;break}}f=d}if((g|0)==4){k[h>>2]=f;h=d;break}else if((g|0)==8){k[h>>2]=f;h=e;break}else if((g|0)==9){k[h>>2]=d;f=d;break}}while(0);d=k[h>>2]|0;if(d|0){c=0;b=d;k[a>>2]=b;b=a+4|0;i[b>>0]=c;r=j;return}e=GG(120)|0;x=0;sa(519,e+16|0,c|0);c=x;x=0;if(c&1){j=mb()|0;uha(e);yb(j|0)}k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=f;k[h>>2]=e;d=k[k[b>>2]>>2]|0;if(!d)d=e;else{k[b>>2]=d;d=k[h>>2]|0}hl(k[b+4>>2]|0,d);c=b+8|0;k[c>>2]=(k[c>>2]|0)+1;c=1;b=e;k[a>>2]=b;b=a+4|0;i[b>>0]=c;r=j;return}function Np(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+96|0;b=o+56|0;m=o+16|0;n=o;j=c+36|0;l=lD(j,64)|0;c=m;g=e;h=c+40|0;do{k[c>>2]=k[g>>2];c=c+4|0;g=g+4|0}while((c|0)<(h|0));lE(n,37732,7);x=0;c=b;g=e;h=c+40|0;do{k[c>>2]=k[g>>2];c=c+4|0;g=g+4|0}while((c|0)<(h|0));b=wa(23,n|0,a|0,d|0,b|0,f|0)|0;d=x;x=0;if(!(d&1)){x=0;b=ua(226,b|0)|0;d=x;x=0;if(!(d&1)){k[l+4>>2]=0;c=l+8|0;g=m;h=c+40|0;do{k[c>>2]=k[g>>2];c=c+4|0;g=g+4|0}while((c|0)<(h|0));i[l+48>>0]=0;i[l+49>>0]=0;i[l+50>>0]=0;k[l>>2]=5684;i[l+56>>0]=b&1;k[l+60>>2]=0;k[l+52>>2]=1;x=0;b=Ka(857,j|0,l|0)|0;m=x;x=0;if(!(m&1)){P1(n);r=o;return b|0}}}o=mb()|0;P1(n);yb(o|0);return 0}function Op(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=0;e=hr(a)|0;if(!e)return a|0;c=i[29965]|0;if(!(c<<24>>24))return a|0;f=i[e>>0]|0;d=29965;while(1){if(f<<24>>24==c<<24>>24)break;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){b=a;g=17;break}}if((g|0)==17)return b|0;if(!(f<<24>>24))return a|0;b=hr(e+1|0)|0;if(!b)return a|0;b=LN(b)|0;if(!b)return a|0;a:while(1){e=hr(b)|0;if(!e){g=17;break}c=i[29965]|0;if(!(c<<24>>24)){g=17;break}f=i[e>>0]|0;d=29965;while(1){if(f<<24>>24==c<<24>>24)break;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){g=17;break a}}if(!(f<<24>>24)){g=17;break}c=hr(e+1|0)|0;if(!c){g=17;break}c=LN(c)|0;if(!c){g=17;break}else b=c}if((g|0)==17)return b|0;return 0}function Pp(a){a=a|0;O1(75796);O1(75784);O1(75772);O1(75760);O1(75748);O1(75736);O1(75724);O1(75712);O1(75700);O1(75688);O1(75676);O1(75664);O1(75652);O1(75640);O1(75628);O1(75616);O1(75604);O1(75592);O1(75580);O1(75568);O1(75556);O1(75544);O1(75532);O1(75520);return}function Qp(a){a=a|0;P1(74984);P1(74972);P1(74960);P1(74948);P1(74936);P1(74924);P1(74912);P1(74900);P1(74888);P1(74876);P1(74864);P1(74852);P1(74840);P1(74828);P1(74816);P1(74804);P1(74792);P1(74780);P1(74768);P1(74756);P1(74744);P1(74732);P1(74720);P1(74708);return}function Rp(a){a=a|0;O1(75504);O1(75492);O1(75480);O1(75468);O1(75456);O1(75444);O1(75432);O1(75420);O1(75408);O1(75396);O1(75384);O1(75372);O1(75360);O1(75348);O1(75336);O1(75324);O1(75312);O1(75300);O1(75288);O1(75276);O1(75264);O1(75252);O1(75240);O1(75228);return}function Sp(a){a=a|0;P1(74692);P1(74680);P1(74668);P1(74656);P1(74644);P1(74632);P1(74620);P1(74608);P1(74596);P1(74584);P1(74572);P1(74560);P1(74548);P1(74536);P1(74524);P1(74512);P1(74500);P1(74488);P1(74476);P1(74464);P1(74452);P1(74440);P1(74428);P1(74416);return}function Tp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){b=bO(e)|0;b=b|0?b:e}else b=e;e=qO(b)|0;if(!e)f=0;else{f=(wy(e)|0)!=0;e=f?e:0;if(e>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}else f=e}if(!c)if((f|0)==0|(f|0)==(b|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=b;k[a+160>>2]=f;e=a+84|0;n=a+96|0;wC(h,n,c,b);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,b,f);c=k[a+12>>2]|0;b=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,b,a+152|0,e,g);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=f;n=f;r=m;return n|0}function Up(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;h=n+60|0;j=n+48|0;d=n+8|0;l=n;m=a+76|0;f=k[m>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){m=0;r=n;return m|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}if(e<<24>>24==36){e=SH(f+1|0)|0;if(e>>>0>(k[a+80>>2]|0)>>>0){m=0;r=n;return m|0}else g=e}else g=0;if(!c)if((g|0)==0|(g|0)==(f|0)){m=0;r=n;return m|0}c=k[m>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=g;b=a+84|0;o=a+96|0;wC(j,o,c,f);k[b>>2]=k[j>>2];k[b+4>>2]=k[j+4>>2];k[b+8>>2]=k[j+8>>2];wC(h,o,f,g);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(l,o,b);k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];EC(d,c,e,a+152|0,b,h);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[m>>2]=g;o=g;r=n;return o|0}function Vp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;h=n+60|0;j=n+48|0;d=n+8|0;l=n;m=a+76|0;f=k[m>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){m=0;r=n;return m|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}if(e<<24>>24==35){e=SH(f+1|0)|0;if(e>>>0>(k[a+80>>2]|0)>>>0){m=0;r=n;return m|0}else g=e}else g=0;if(!c)if((g|0)==0|(g|0)==(f|0)){m=0;r=n;return m|0}c=k[m>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=g;b=a+84|0;o=a+96|0;wC(j,o,c,f);k[b>>2]=k[j>>2];k[b+4>>2]=k[j+4>>2];k[b+8>>2]=k[j+8>>2];wC(h,o,f,g);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(l,o,b);k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];EC(d,c,e,a+152|0,b,h);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[m>>2]=g;o=g;r=n;return o|0}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){b=bO(e)|0;b=b|0?b:e}else b=e;e=Io(b)|0;if(!e)f=0;else{e=(i[e>>0]|0)==45?e:0;if(e>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}else f=e}if(!c)if((f|0)==0|(f|0)==(b|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=b;k[a+160>>2]=f;e=a+84|0;n=a+96|0;wC(h,n,c,b);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,b,f);c=k[a+12>>2]|0;b=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,b,a+152|0,e,g);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=f;n=f;r=m;return n|0}function Xp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;g=0;j=r;r=r+16|0;h=j;k[a+4>>2]=0;e=a+8|0;d=e+40|0;do{k[e>>2]=k[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));i[a+48>>0]=0;i[a+49>>0]=0;i[a+50>>0]=0;i[a+56>>0]=0;k[a+52>>2]=4;k[a>>2]=5932;i[a+57>>0]=0;i[a+58>>0]=0;d=k[c+4>>2]|0;c=k[c+8>>2]|0;f=c-d|0;if(f>>>0>4294967279){x=0;ra(331,h|0);g=x;x=0;if(g&1)g=12;else g=5}else if(f>>>0<11){i[h>>0]=f<<1;b=h+1|0}else g=5;if((g|0)==5){e=f+16&-16;x=0;b=ua(186,e|0)|0;l=x;x=0;if(l&1)g=12;else{k[h+8>>2]=b;k[h>>2]=e|1;k[h+4>>2]=f}}if((g|0)==12){l=mb()|0;yb(l|0)}if((d|0)!=(c|0)){e=b;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(c|0))break;else e=e+1|0}b=b+f|0}i[b>>0]=0;x=0;sa(477,a+60|0,h|0);l=x;x=0;if(!(l&1)){P1(h);k[a+72>>2]=0;r=j;return}l=mb()|0;P1(h);yb(l|0)}function Yp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){b=bO(e)|0;b=b|0?b:e}else b=e;if((b|0)==0|(K5(b)|0)!=0)f=0;else{e=(i[b>>0]|0)==45?b+1|0:0;if(e>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}else f=e}if(!c)if((f|0)==0|(f|0)==(b|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=b;k[a+160>>2]=f;e=a+84|0;n=a+96|0;wC(h,n,c,b);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,b,f);c=k[a+12>>2]|0;b=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,b,a+152|0,e,g);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=f;n=f;r=m;return n|0}function Zp(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,j=0,l=0;j=a+b|0;l=d+4|0;b=i[l>>0]|0;switch(k[d>>2]|0){case 0:{e=c;g=2;break}case 1:{f=c;g=5;break}case 2:{h=c;f=a;g=10;break}default:{d=0;return d|0}}while(1)if((g|0)==2){if((a|0)==(j|0)){g=3;break}b=i[a>>0]|0;i[e>>0]=i[27870+(b>>>2&63)>>0]|0;f=e+1|0;a=a+1|0;b=b<<4&48;g=5;continue}else if((g|0)==5){if((a|0)==(j|0)){g=6;break}e=i[a>>0]|0;b=e>>>4&15|b&255;if((b&255)<<24>>24>63)b=61;else b=i[27870+(b<<24>>24)>>0]|0;i[f>>0]=b;h=f+1|0;f=a+1|0;b=e<<2&60;g=10;continue}else if((g|0)==10){if((f|0)==(j|0)){g=11;break}a=i[f>>0]|0;b=a>>>6&3|b&255;if((b&255)<<24>>24>63)b=61;else b=i[27870+(b<<24>>24)>>0]|0;i[h>>0]=b;b=a&63;i[h+1>>0]=i[27870+b>>0]|0;e=d+8|0;k[e>>2]=(k[e>>2]|0)+1;e=h+2|0;a=f+1|0;b=b&255;g=2;continue}if((g|0)==3){i[l>>0]=b;k[d>>2]=0;d=e-c|0;return d|0}else if((g|0)==6){i[l>>0]=b;k[d>>2]=1;d=f-c|0;return d|0}else if((g|0)==11){i[l>>0]=b;k[d>>2]=2;d=h-c|0;return d|0}return 0}function _p(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;h=n+60|0;j=n+48|0;d=n+8|0;l=n;m=a+76|0;f=k[m>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){m=0;r=n;return m|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}if(e<<24>>24==58){e=f;do e=e+1|0;while((i[e>>0]|0)==58);if(e>>>0>(k[a+80>>2]|0)>>>0){m=0;r=n;return m|0}else g=e}else g=0;if(!c)if((g|0)==0|(g|0)==(f|0)){m=0;r=n;return m|0}c=k[m>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=g;b=a+84|0;o=a+96|0;wC(j,o,c,f);k[b>>2]=k[j>>2];k[b+4>>2]=k[j+4>>2];k[b+8>>2]=k[j+8>>2];wC(h,o,f,g);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(l,o,b);k[h>>2]=k[l>>2];k[h+4>>2]=k[l+4>>2];EC(d,c,e,a+152|0,b,h);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[m>>2]=g;o=g;r=n;return o|0}function $p(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;if(!c){c=k[b+76>>2]|0;f=a+4|0;k[f>>2]=c}else{f=a+4|0;k[f>>2]=c}e=bO(c)|0;e=Ek(e|0?e:c)|0;d=b+80|0;if((e|0)==0?1:e>>>0>(k[d>>2]|0)>>>0){f=a+13|0;f=i[f>>0]|0;a=a+12|0;f=f^1;i[a>>0]=f;return}a:do if(c>>>0>>0){while(1){b=c+1|0;if((i[c>>0]|0)==35)if((i[b>>0]|0)==123)break;if(b>>>0>>0)c=b;else{c=b;break a}}i[a+13>>0]=1;c=e}while(0);k[f>>2]=e;k[a+8>>2]=e;b=bO(e)|0;b=b|0?b:e;b=(i[b>>0]|0)==123?b+1|0:0;if((b|0)==0?1:b>>>0>(k[d>>2]|0)>>>0){b=bO(e)|0;b=b|0?b:e;b=(i[b>>0]|0)==40?b+1|0:0;if((b|0)==0?1:b>>>0>(k[d>>2]|0)>>>0)b=15;else{k[a>>2]=e;b=14}}else{k[a>>2]=e;b=14}if((b|0)==14)if(!e)b=15;if((b|0)==15)if(i[c>>0]|0){f=a+13|0;f=i[f>>0]|0;a=a+12|0;f=f^1;i[a>>0]=f;return}k[f>>2]=0;f=a+13|0;f=i[f>>0]|0;a=a+12|0;f=f^1;i[a>>0]=f;return}function aq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){b=bO(e)|0;b=b|0?b:e}else b=e;e=dI(b)|0;if(!e)f=0;else{e=(i[e>>0]|0)==45?0:e;if(e>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}else f=e}if(!c)if((f|0)==0|(f|0)==(b|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=b;k[a+160>>2]=f;e=a+84|0;n=a+96|0;wC(h,n,c,b);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,b,f);c=k[a+12>>2]|0;b=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,b,a+152|0,e,g);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=f;n=f;r=m;return n|0}function bq(a){a=a|0;var b=0,c=0;c=0;if((i[a>>0]|0)==45){b=a;do b=b+1|0;while((i[b>>0]|0)==45)}else b=a;b=Kt(b)|0;if(!b)c=5;else{b=Jt(b)|0;if(!b)c=5}if((c|0)==5){b=yj(a)|0;if(!b){b=Lq(a)|0;if(!b){c=0;return c|0}}}if((i[b>>0]|0)==45){a=b;do a=a+1|0;while((i[a>>0]|0)==45)}else a=b;a=Kt(a)|0;if(!a){c=b;return c|0}a=Jt(a)|0;if(!a){c=b;return c|0}else b=a;while(1){if((i[b>>0]|0)==45){a=b;do a=a+1|0;while((i[a>>0]|0)==45)}else a=b;a=Kt(a)|0;if(!a){c=15;break}a=Jt(a)|0;if(!a){c=15;break}else b=a}if((c|0)==15)return b|0;return 0}function cq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+48|0;h=g+24|0;c=g+12|0;f=g;e=b+60|0;_G(h,e);d=i[h>>0]|0;d=(((d&1)==0?(d&255)>>>1:k[h+4>>2]|0)|0)==0;P1(h);do if(!d){d=a+4|0;_G(c,e);x=0;Qa(134,d|0,c|0,b|0);h=x;x=0;if(!(h&1)){P1(c);cw(d);break}h=mb()|0;P1(c);yb(h|0)}while(0);c=k[b+56>>2]|0;switch(k[c+52>>2]|0){case 4:{rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);break}case 8:{r=g;return}default:rc[k[(k[c>>2]|0)+28>>2]&1023](c,a)}if(!(i[b+72>>0]|0)){r=g;return}lE(f,38944,3);x=0;sa(484,a+4|0,f|0);h=x;x=0;if(h&1){h=mb()|0;P1(f);yb(h|0)}else{P1(f);r=g;return}}function dq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;f=Tw(a,b,c,f)|0;if(Pj(k[d>>2]|0,k[c>>2]|0)|0){g=k[c>>2]|0;k[c>>2]=k[d>>2];k[d>>2]=g;g=f+1|0;if(Pj(k[c>>2]|0,k[b>>2]|0)|0){g=k[b>>2]|0;k[b>>2]=k[c>>2];k[c>>2]=g;if(Pj(k[b>>2]|0,k[a>>2]|0)|0){g=k[a>>2]|0;k[a>>2]=k[b>>2];k[b>>2]=g;f=f+3|0}else f=f+2|0}else f=g}if(!(Pj(k[e>>2]|0,k[d>>2]|0)|0)){e=f;return e|0}g=k[d>>2]|0;k[d>>2]=k[e>>2];k[e>>2]=g;if(!(Pj(k[d>>2]|0,k[c>>2]|0)|0)){e=f+1|0;return e|0}e=k[c>>2]|0;k[c>>2]=k[d>>2];k[d>>2]=e;if(!(Pj(k[c>>2]|0,k[b>>2]|0)|0)){e=f+2|0;return e|0}e=k[b>>2]|0;k[b>>2]=k[c>>2];k[c>>2]=e;if(!(Pj(k[b>>2]|0,k[a>>2]|0)|0)){e=f+3|0;return e|0}e=k[a>>2]|0;k[a>>2]=k[b>>2];k[b>>2]=e;e=f+4|0;return e|0}function eq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=r;r=r+16|0;c=g;km(a+16|0,b);f=a+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;h=i[b>>0]|0;j=(h&1)==0;h=j?(h&255)>>>1:k[b+4>>2]|0;e=i[f>>0]|0;d=a+8|0;e=(e&1)==0?(e&255)>>>1:k[d>>2]|0;x=0;Ua(10,c|0,(j?b+1|0:k[b+8>>2]|0)|0,h|0,e+h|0);b=x;x=0;if(b&1){j=mb()|0;P1(c);yb(j|0)}b=a+12|0;a=f+1|0;x=0;xa(46,c|0,((i[f>>0]&1)==0?a:k[b>>2]|0)|0,e|0)|0;j=x;x=0;if(j&1){j=mb()|0;P1(c);yb(j|0)}if(!(i[f>>0]&1)){i[a>>0]=0;i[f>>0]=0}else{i[k[b>>2]>>0]=0;k[d>>2]=0}x=0;sa(443,f|0,0);j=x;x=0;if(j&1){j=Eb(0)|0;Nba(j)}else{k[f>>2]=k[c>>2];k[f+4>>2]=k[c+4>>2];k[f+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;P1(c);r=g;return}}function fq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=f+1|0;e=e<<24>>24|0;b=(e|0)!=93?((e|0)==47?b:0):b;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function gq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){b=bO(e)|0;b=b|0?b:e}else b=e;e=Pv(b)|0;if(!e)f=SH(b)|0;else f=e;if(f>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((f|0)==0|(f|0)==(b|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=b;k[a+160>>2]=f;e=a+84|0;n=a+96|0;wC(h,n,c,b);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,b,f);c=k[a+12>>2]|0;b=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,b,a+152|0,e,g);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=f;n=f;r=m;return n|0}function hq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;f=Ww(a,b,c,f)|0;if(vk(k[d>>2]|0,k[c>>2]|0)|0){g=k[c>>2]|0;k[c>>2]=k[d>>2];k[d>>2]=g;g=f+1|0;if(vk(k[c>>2]|0,k[b>>2]|0)|0){g=k[b>>2]|0;k[b>>2]=k[c>>2];k[c>>2]=g;if(vk(k[b>>2]|0,k[a>>2]|0)|0){g=k[a>>2]|0;k[a>>2]=k[b>>2];k[b>>2]=g;f=f+3|0}else f=f+2|0}else f=g}if(!(vk(k[e>>2]|0,k[d>>2]|0)|0)){e=f;return e|0}g=k[d>>2]|0;k[d>>2]=k[e>>2];k[e>>2]=g;if(!(vk(k[d>>2]|0,k[c>>2]|0)|0)){e=f+1|0;return e|0}e=k[c>>2]|0;k[c>>2]=k[d>>2];k[d>>2]=e;if(!(vk(k[c>>2]|0,k[b>>2]|0)|0)){e=f+2|0;return e|0}e=k[b>>2]|0;k[b>>2]=k[c>>2];k[c>>2]=e;if(!(vk(k[b>>2]|0,k[a>>2]|0)|0)){e=f+3|0;return e|0}e=k[a>>2]|0;k[a>>2]=k[b>>2];k[b>>2]=e;e=f+4|0;return e|0}function iq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+16|0;l=n;m=k[a>>2]|0;if(!m){a=0;r=n;return a|0}o=b;h=d-o|0;j=e+12|0;g=k[j>>2]|0;h=(g|0)>(h|0)?g-h|0:0;g=c;e=g-o|0;if((e|0)>0)if((wc[k[(k[m>>2]|0)+48>>2]&127](m,b,e)|0)!=(e|0)){k[a>>2]=0;o=0;r=n;return o|0}do if((h|0)>0){nE(l,h,f);x=0;e=xa(k[(k[m>>2]|0)+48>>2]|0,m|0,((i[l>>0]&1)==0?l+1|0:k[l+8>>2]|0)|0,h|0)|0;o=x;x=0;if(o&1){o=mb()|0;P1(l);yb(o|0)}if((e|0)==(h|0)){P1(l);break}k[a>>2]=0;P1(l);o=0;r=n;return o|0}while(0);d=d-g|0;if((d|0)>0)if((wc[k[(k[m>>2]|0)+48>>2]&127](m,c,d)|0)!=(d|0)){k[a>>2]=0;o=0;r=n;return o|0}k[j>>2]=0;o=m;r=n;return o|0}function jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+48|0;c=j+24|0;d=j+12|0;e=j;f=a+4|0;g=a+97|0;h=i[g>>0]|0;i[g>>0]=1;_G(c,b+80|0);x=0;Qa(134,f|0,c|0,b|0);l=x;x=0;if(l&1){l=mb()|0;P1(c);yb(l|0)}P1(c);lE(d,38856,1);x=0;sa(484,f|0,d|0);l=x;x=0;if(l&1){l=mb()|0;P1(d);yb(l|0)}P1(d);l=a+101|0;d=i[l>>0]|0;i[l>>0]=0;b=k[b+96>>2]|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);i[l>>0]=d;lE(e,38861,1);x=0;sa(484,f|0,e|0);l=x;x=0;if(!(l&1)){P1(e);i[g>>0]=h;r=j;return}l=mb()|0;P1(e);yb(l|0)}function kq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+32|0;e=f+12|0;d=f;Re(e,c,b+408|0,b+4|0);k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;c=i[e>>0]|0;c=(c&1)==0?(c&255)>>>1:k[e+4>>2]|0;x=0;Ua(10,d|0,30269,21,c+21|0);b=x;x=0;if(!(b&1)){x=0;xa(46,d|0,((i[e>>0]&1)==0?e+1|0:k[e+8>>2]|0)|0,c|0)|0;b=x;x=0;if(!(b&1)){x=0;c=Ka(866,d|0,43498)|0;b=x;x=0;if(!(b&1)){k[a>>2]=k[c>>2];k[a+4>>2]=k[c+4>>2];k[a+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;P1(d);P1(e);r=f;return}f=mb()|0;P1(d);P1(e);yb(f|0)}}f=mb()|0;P1(d);P1(e);yb(f|0)}function lq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){b=bO(e)|0;b=b|0?b:e}else b=e;e=cv(b)|0;if(!e)f=Xy(b)|0;else f=e;if(f>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((f|0)==0|(f|0)==(b|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=b;k[a+160>>2]=f;e=a+84|0;n=a+96|0;wC(h,n,c,b);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,b,f);c=k[a+12>>2]|0;b=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,b,a+152|0,e,g);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=f;n=f;r=m;return n|0}function mq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){b=bO(e)|0;b=b|0?b:e}else b=e;e=mI(b)|0;if(!e)f=tx(b)|0;else f=e;if(f>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((f|0)==0|(f|0)==(b|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=b;k[a+160>>2]=f;e=a+84|0;n=a+96|0;wC(h,n,c,b);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,b,f);c=k[a+12>>2]|0;b=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,b,a+152|0,e,g);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=f;n=f;r=m;return n|0}function nq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){b=bO(e)|0;b=b|0?b:e}else b=e;e=zN(b)|0;if(!e)f=VF(b)|0;else f=e;if(f>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((f|0)==0|(f|0)==(b|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=b;k[a+160>>2]=f;e=a+84|0;n=a+96|0;wC(h,n,c,b);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,b,f);c=k[a+12>>2]|0;b=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,b,a+152|0,e,g);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=f;n=f;r=m;return n|0}function oq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+48|0;e=d+24|0;f=d+12|0;c=d;if(us(b,1,0)|0){f=b+28|0;k[a>>2]=k[f>>2];k[a+4>>2]=k[f+4>>2];k[a+8>>2]=k[f+8>>2];r=d;return}lE(e,39906,11);x=0;Qa(74,f|0,39918,7);g=x;x=0;if(g&1){g=mb()|0;P1(e);yb(g|0)}x=0;Qa(74,c|0,41136,27);g=x;x=0;do if(g&1)c=mb()|0;else{x=0;Ua(31,b|0,e|0,f|0,c|0);g=x;x=0;if(g&1){g=mb()|0;P1(c);c=g;break}P1(c);P1(f);P1(e);g=b+28|0;k[a>>2]=k[g>>2];k[a+4>>2]=k[g+4>>2];k[a+8>>2]=k[g+8>>2];r=d;return}while(0);P1(f);g=c;P1(e);yb(g|0)}function pq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+16|0;m=n;g=k[a>>2]|0;a:do if(!g)g=0;else{o=b;j=d-o>>2;l=e+12|0;h=k[l>>2]|0;j=(h|0)>(j|0)?h-j|0:0;h=c;o=h-o|0;e=o>>2;if((o|0)>0)if((wc[k[(k[g>>2]|0)+48>>2]&127](g,b,e)|0)!=(e|0)){k[a>>2]=0;g=0;break}do if((j|0)>0){pE(m,j,f);x=0;e=xa(k[(k[g>>2]|0)+48>>2]|0,g|0,((i[m>>0]&1)==0?m+4|0:k[m+8>>2]|0)|0,j|0)|0;o=x;x=0;if(o&1){o=mb()|0;O1(m);yb(o|0)}if((e|0)==(j|0)){O1(m);break}else{k[a>>2]=0;O1(m);g=0;break a}}while(0);o=d-h|0;d=o>>2;if((o|0)>0)if((wc[k[(k[g>>2]|0)+48>>2]&127](g,c,d)|0)!=(d|0)){k[a>>2]=0;g=0;break}k[l>>2]=0}while(0);r=n;return g|0}function qq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;h=j;g=c+16|0;e=b+4|0;d=k[e>>2]|0;do if(!d){k[h>>2]=e;f=e}else{e=d;while(1){d=e+16|0;if(Pj(k[g>>2]|0,k[d>>2]|0)|0){d=k[e>>2]|0;if(!d){d=e;g=4;break}}else{if(!(Pj(k[d>>2]|0,k[g>>2]|0)|0)){g=9;break}f=e+4|0;d=k[f>>2]|0;if(!d){d=f;g=8;break}}e=d}if((g|0)==4){k[h>>2]=e;f=d;break}else if((g|0)==8){k[h>>2]=e;f=d;break}else if((g|0)==9){k[h>>2]=e;f=h;break}}while(0);d=k[f>>2]|0;if(d|0){c=0;b=d;k[a>>2]=b;b=a+4|0;i[b>>0]=c;r=j;return}k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=e;k[f>>2]=c;d=k[k[b>>2]>>2]|0;if(!d)d=c;else{k[b>>2]=d;d=k[f>>2]|0}hl(k[b+4>>2]|0,d);h=b+8|0;k[h>>2]=(k[h>>2]|0)+1;h=1;b=c;k[a>>2]=b;b=a+4|0;i[b>>0]=h;r=j;return}function rq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+16|0;e=m+8|0;f=m+4|0;g=m;sJ(a);k[a>>2]=13180;k[a+32>>2]=0;k[a+36>>2]=0;k[a+40>>2]=0;b=a+52|0;h=a+68|0;l=a+98|0;c=b;d=c+44|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));j[b+44>>1]=0;i[b+46>>0]=0;c=a+4|0;K$(e,c);k[f>>2]=k[e>>2];x=0;b=Ka(894,f|0,75964)|0;d=x;x=0;if(d&1){d=Eb(0)|0;Nba(d)}J5(f);do if(b){K$(e,c);k[g>>2]=k[e>>2];x=0;b=Ka(865,g|0,75964)|0;f=x;x=0;if(!(f&1)){k[h>>2]=b;J5(g);h=k[h>>2]|0;h=(tc[k[(k[h>>2]|0)+28>>2]&511](h)|0)&1;i[l>>0]=h;break}m=mb()|0;J5(g);D2(a);yb(m|0)}while(0);x=0;xa(k[(k[a>>2]|0)+12>>2]|0,a|0,0,4096)|0;l=x;x=0;if(!(l&1)){r=m;return}m=mb()|0;D2(a);yb(m|0)}function sq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=0;e=b+68|0;d=k[b+72>>2]|0;c=k[e>>2]|0;f=(d-c|0)/12|0;a:do if((d|0)!=(c|0)){d=0;while(1){_G(a,c+(d*12|0)|0);x=0;c=ua(187,a|0)|0;h=x;x=0;if(h&1)break;if((c|0)!=1280){g=16;break}P1(a);d=d+1|0;if(d>>>0>=f>>>0)break a;c=k[e>>2]|0}if((g|0)==16)return;h=mb()|0;P1(a);yb(h|0)}while(0);f=b+80|0;h=k[b+84>>2]|0;c=k[f>>2]|0;e=(h-c|0)/12|0;b:do if((h|0)!=(c|0)){d=0;while(1){_G(a,c+(d*12|0)|0);x=0;c=ua(187,a|0)|0;h=x;x=0;if(h&1)break;if((c|0)!=1280){g=16;break}P1(a);d=d+1|0;if(d>>>0>=e>>>0)break b;c=k[f>>2]|0}if((g|0)==16)return;h=mb()|0;P1(a);yb(h|0)}while(0);k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function tq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;g=j+12|0;h=j;c=k[b+64>>2]|0;f=(k[b+68>>2]|0)-c>>2;if(!f){r=j;return}d=b+64|0;e=a+4|0;b=c;c=0;while(1){if(i[(k[b+(c<<2)>>2]|0)+50>>0]|0){lE(g,38919,2);x=0;sa(484,e|0,g|0);b=x;x=0;if(b&1){b=7;break}P1(g);b=k[d>>2]|0}b=k[b+(c<<2)>>2]|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);if(i[(k[(k[d>>2]|0)+(c<<2)>>2]|0)+50>>0]|0){lE(h,43519,1);x=0;sa(484,e|0,h|0);b=x;x=0;if(b&1){b=11;break}P1(h)}c=c+1|0;if(c>>>0>=f>>>0){b=3;break}b=k[d>>2]|0}if((b|0)==3){r=j;return}else if((b|0)==7){j=mb()|0;P1(g);yb(j|0)}else if((b|0)==11){j=mb()|0;P1(h);yb(j|0)}}function uq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=0;c=k[b+48>>2]|0;if(c&16|0){c=b+44|0;d=k[c>>2]|0;e=k[b+24>>2]|0;if(d>>>0>>0){k[c>>2]=e;f=e}else f=d;d=k[b+20>>2]|0;b=f-d|0;if(b>>>0>4294967279){dH(a);g=8}else if(b>>>0<11){i[a>>0]=b<<1;c=a+1|0}else g=8;if((g|0)==8){g=b+16&-16;c=GG(g)|0;k[a+8>>2]=c;k[a>>2]=g|1;k[a+4>>2]=b}if((d|0)!=(f|0)){e=c;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(f|0))break;else e=e+1|0}c=c+b|0}i[c>>0]=0;return}if(!(c&8)){k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}d=k[b+8>>2]|0;b=k[b+16>>2]|0;f=b-d|0;if(f>>>0>4294967279){dH(a);g=18}else if(f>>>0<11){i[a>>0]=f<<1;c=a+1|0}else g=18;if((g|0)==18){g=f+16&-16;c=GG(g)|0;k[a+8>>2]=c;k[a>>2]=g|1;k[a+4>>2]=f}if((d|0)!=(b|0)){e=c;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+1|0}c=c+f|0}i[c>>0]=0;return}function vq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;j=0;m=r;r=r+16|0;g=m;h=a+76|0;b=k[h>>2]|0;if(b|0){j=b;r=m;return j|0}_G(g,a+60|0);f=i[g>>0]|0;d=(f&1)==0;e=d?g+1|0:k[g+8>>2]|0;f=d?(f&255)>>>1:k[g+4>>2]|0;if(f>>>0>3){c=f;d=e;b=f;while(1){n=ia(l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24,1540483477)|0;b=(ia(n>>>24^n,1540483477)|0)^(ia(b,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else d=d+4|0}c=f+-4|0;d=c&-4;c=c-d|0;d=e+(d+4)|0}else{c=f;d=e;b=f}switch(c|0){case 3:{b=(l[d+2>>0]|0)<<16^b;j=7;break}case 2:{j=7;break}case 1:{j=8;break}default:{}}if((j|0)==7){b=(l[d+1>>0]|0)<<8^b;j=8}if((j|0)==8)b=ia((l[d>>0]|0)^b,1540483477)|0;j=ia(b>>>13^b,1540483477)|0;k[h>>2]=j>>>15^j;P1(g);j=k[a+56>>2]|0;j=(tc[k[(k[j>>2]|0)+8>>2]&511](j)|0)+-1640531527|0;n=k[h>>2]|0;n=j+(n<<6)+(n>>>2)^n;k[h>>2]=n;r=m;return n|0}function wq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;k[a>>2]=0;g=a+4|0;k[g>>2]=0;k[a+8>>2]=0;f=b+4|0;h=k[f>>2]|0;e=k[b>>2]|0;c=h-e|0;d=(c|0)/12|0;if((h|0)==(e|0))return;if(d>>>0>357913941){x=0;ra(322,a|0);h=x;x=0;if(h&1)e=10;else e=4}else e=4;do if((e|0)==4){x=0;c=ua(186,c|0)|0;h=x;x=0;if(h&1)e=10;else{k[g>>2]=c;k[a>>2]=c;k[a+8>>2]=c+(d*12|0);d=k[b>>2]|0;b=k[f>>2]|0;if((d|0)==(b|0))return;while(1){x=0;sa(430,c|0,d|0);h=x;x=0;if(h&1){e=9;break}c=(k[g>>2]|0)+12|0;k[g>>2]=c;d=d+12|0;if((d|0)==(b|0)){e=17;break}}if((e|0)==9){b=mb()|0;break}else if((e|0)==17)return}}while(0);if((e|0)==10)b=mb()|0;c=k[a>>2]|0;if(!c)yb(b|0);d=k[g>>2]|0;if((d|0)!=(c|0)){do{h=d+-12|0;k[g>>2]=h;P1(h);d=k[g>>2]|0}while((d|0)!=(c|0));c=k[a>>2]|0}uha(c);yb(b|0)}function xq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+64|0;j=m+24|0;g=m+12|0;l=m;lE(g,38097,6);x=0;b=j;h=e;i=b+40|0;do{k[b>>2]=k[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(i|0));b=wa(27,g|0,a|0,d|0,j|0,f|0)|0;i=x;x=0;if(i&1){m=mb()|0;P1(g);yb(m|0)}P1(g);g=c+36|0;f=lD(g,76)|0;rc[k[(k[b>>2]|0)+64>>2]&1023](l,b);x=0;b=j;h=e;i=b+40|0;do{k[b>>2]=k[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(i|0));qa(5,f|0,j|0,l|0,0,0);e=x;x=0;if(!(e&1)){x=0;b=Ka(857,g|0,f|0)|0;e=x;x=0;if(!(e&1)){P1(l);r=m;return b|0}}m=mb()|0;P1(l);yb(m|0);return 0}function yq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=k[b>>2]|0;if(!c)c=0;else c=tc[k[(k[c>>2]|0)+8>>2]&511](c)|0;e=k[a+4>>2]|0;if(!e){b=0;return b|0}f=e+-1|0;d=(f&e|0)==0;if(d)g=f&c;else g=(c>>>0)%(e>>>0)|0;c=k[(k[a>>2]|0)+(g<<2)>>2]|0;if(!c){b=0;return b|0}c=k[c>>2]|0;if(!c){b=0;return b|0}if(d){while(1){if((k[c+4>>2]&f|0)!=(g|0)){c=0;a=18;break}a=k[c+8>>2]|0;d=k[b>>2]|0;if((a|0)!=0&(d|0)!=0)if(Jc[k[(k[a>>2]|0)+76>>2]&1023](a,d)|0){a=18;break}c=k[c>>2]|0;if(!c){c=0;a=18;break}}if((a|0)==18)return c|0}else{while(1){if((((k[c+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(g|0)){c=0;a=18;break}a=k[c+8>>2]|0;d=k[b>>2]|0;if((a|0)!=0&(d|0)!=0)if(Jc[k[(k[a>>2]|0)+76>>2]&1023](a,d)|0){a=18;break}c=k[c>>2]|0;if(!c){c=0;a=18;break}}if((a|0)==18)return c|0}return 0}function zq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h;f=GG(40)|0;g=f+16|0;x=0;sa(430,g|0,c|0);d=x;x=0;if(d&1){h=mb()|0;uha(f);yb(h|0)}d=f+28|0;c=c+12|0;k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=It(b,e,g)|0;c=k[d>>2]|0;if(!c){c=k[e>>2]|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=c;k[d>>2]=f;c=k[k[b>>2]>>2]|0;if(!c)c=f;else{k[b>>2]=c;c=k[d>>2]|0}hl(k[b+4>>2]|0,c);d=b+8|0;k[d>>2]=(k[d>>2]|0)+1;d=1;c=f}else d=0;k[a>>2]=c;i[a+4>>0]=d;if(d<<24>>24){r=h;return}P1(g);uha(f);r=h;return}function Aq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;m=r;r=r+128|0;f=m;o=m+116|0;p=m+104|0;h=m+20|0;l=m+16|0;j=m+8|0;n=m+12|0;g=m+4|0;i[o>>0]=i[49475]|0;i[o+1>>0]=i[49476]|0;i[o+2>>0]=i[49477]|0;i[o+3>>0]=i[49478]|0;i[o+4>>0]=i[49479]|0;i[o+5>>0]=i[49480]|0;aA(o+1|0,49481,0,k[c+4>>2]|0);a=xH()|0;k[f>>2]=e;e=p+(xE(p,12,a,o,f)|0)|0;o=kB(p,e,c)|0;a=TN(c)|0;k[n>>2]=a;x=0;Ha(7,p|0,o|0,e|0,h|0,l|0,j|0,n|0);e=x;x=0;if(e&1){p=mb()|0;sK(a)|0;yb(p|0)}else{sK(a)|0;k[g>>2]=k[b>>2];o=k[l>>2]|0;p=k[j>>2]|0;k[f>>2]=k[g>>2];p=pq(f,h,o,p,c,d)|0;r=m;return p|0}return 0}function Bq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;m=r;r=r+128|0;f=m;o=m+116|0;p=m+104|0;h=m+20|0;l=m+16|0;j=m+8|0;n=m+12|0;g=m+4|0;i[o>>0]=i[49475]|0;i[o+1>>0]=i[49476]|0;i[o+2>>0]=i[49477]|0;i[o+3>>0]=i[49478]|0;i[o+4>>0]=i[49479]|0;i[o+5>>0]=i[49480]|0;aA(o+1|0,49481,1,k[c+4>>2]|0);a=xH()|0;k[f>>2]=e;e=p+(xE(p,12,a,o,f)|0)|0;o=kB(p,e,c)|0;a=TN(c)|0;k[n>>2]=a;x=0;Ha(7,p|0,o|0,e|0,h|0,l|0,j|0,n|0);e=x;x=0;if(e&1){p=mb()|0;sK(a)|0;yb(p|0)}else{sK(a)|0;k[g>>2]=k[b>>2];o=k[l>>2]|0;p=k[j>>2]|0;k[f>>2]=k[g>>2];p=pq(f,h,o,p,c,d)|0;r=m;return p|0}return 0}function Cq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;m=r;r=r+64|0;f=m;o=m+56|0;p=m+44|0;h=m+20|0;l=m+16|0;j=m+8|0;n=m+12|0;g=m+4|0;i[o>>0]=i[49475]|0;i[o+1>>0]=i[49476]|0;i[o+2>>0]=i[49477]|0;i[o+3>>0]=i[49478]|0;i[o+4>>0]=i[49479]|0;i[o+5>>0]=i[49480]|0;aA(o+1|0,49481,0,k[c+4>>2]|0);a=xH()|0;k[f>>2]=e;e=p+(xE(p,12,a,o,f)|0)|0;o=kB(p,e,c)|0;a=TN(c)|0;k[n>>2]=a;x=0;Ha(5,p|0,o|0,e|0,h|0,l|0,j|0,n|0);e=x;x=0;if(e&1){p=mb()|0;sK(a)|0;yb(p|0)}else{sK(a)|0;k[g>>2]=k[b>>2];o=k[l>>2]|0;p=k[j>>2]|0;k[f>>2]=k[g>>2];p=iq(f,h,o,p,c,d)|0;r=m;return p|0}return 0}function Dq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;m=r;r=r+64|0;f=m;o=m+56|0;p=m+44|0;h=m+20|0;l=m+16|0;j=m+8|0;n=m+12|0;g=m+4|0;i[o>>0]=i[49475]|0;i[o+1>>0]=i[49476]|0;i[o+2>>0]=i[49477]|0;i[o+3>>0]=i[49478]|0;i[o+4>>0]=i[49479]|0;i[o+5>>0]=i[49480]|0;aA(o+1|0,49481,1,k[c+4>>2]|0);a=xH()|0;k[f>>2]=e;e=p+(xE(p,12,a,o,f)|0)|0;o=kB(p,e,c)|0;a=TN(c)|0;k[n>>2]=a;x=0;Ha(5,p|0,o|0,e|0,h|0,l|0,j|0,n|0);e=x;x=0;if(e&1){p=mb()|0;sK(a)|0;yb(p|0)}else{sK(a)|0;k[g>>2]=k[b>>2];o=k[l>>2]|0;p=k[j>>2]|0;k[f>>2]=k[g>>2];p=iq(f,h,o,p,c,d)|0;r=m;return p|0}return 0}function Eq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+1040|0;j=n+8|0;m=n;i=k[b>>2]|0;k[m>>2]=i;l=(a|0)!=0;d=l?d:256;a=l?a:j;f=i;a:do if((d|0)!=0&(i|0)!=0){h=d;i=f;d=0;while(1){f=c>>>2;g=f>>>0>=h>>>0;if(!(c>>>0>131|g)){f=i;break a}f=g?h:f;c=c-f|0;f=Xi(a,m,f,e)|0;if((f|0)==-1){d=c;break}o=(a|0)==(j|0);i=o?0:f;g=h-i|0;a=o?a:a+(f<<2)|0;d=f+d|0;f=k[m>>2]|0;if((h|0)!=(i|0)&(f|0)!=0){h=g;i=f}else{h=g;break a}}c=d;h=0;f=k[m>>2]|0;d=-1}else{h=d;d=0}while(0);b:do if(f)if((h|0)!=0&(c|0)!=0){g=f;f=a;while(1){a=Vt(f,g,c,e)|0;if((a+2|0)>>>0<3)break;g=(k[m>>2]|0)+a|0;k[m>>2]=g;h=h+-1|0;d=d+1|0;if(!((h|0)!=0&(c|0)!=(a|0)))break b;else{c=c-a|0;f=f+4|0}}switch(a|0){case -1:{d=-1;break b}case 0:{k[m>>2]=0;break b}default:{k[e>>2]=0;break b}}}while(0);if(l)k[b>>2]=k[m>>2];r=n;return d|0}function Fq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=k[b>>2]|0;if(!c)c=0;else c=tc[k[(k[c>>2]|0)+8>>2]&511](c)|0;e=k[a+4>>2]|0;if(!e){b=0;return b|0}f=e+-1|0;d=(f&e|0)==0;if(d)g=f&c;else g=(c>>>0)%(e>>>0)|0;c=k[(k[a>>2]|0)+(g<<2)>>2]|0;if(!c){b=0;return b|0}c=k[c>>2]|0;if(!c){b=0;return b|0}if(d){while(1){if((k[c+4>>2]&f|0)!=(g|0)){c=0;a=18;break}a=k[c+8>>2]|0;d=k[b>>2]|0;if((a|0)!=0&(d|0)!=0)if(Jc[k[(k[a>>2]|0)+76>>2]&1023](a,d)|0){a=18;break}c=k[c>>2]|0;if(!c){c=0;a=18;break}}if((a|0)==18)return c|0}else{while(1){if((((k[c+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(g|0)){c=0;a=18;break}a=k[c+8>>2]|0;d=k[b>>2]|0;if((a|0)!=0&(d|0)!=0)if(Jc[k[(k[a>>2]|0)+76>>2]&1023](a,d)|0){a=18;break}c=k[c>>2]|0;if(!c){c=0;a=18;break}}if((a|0)==18)return c|0}return 0}function Gq(a){a=a|0;var b=0,c=0,d=0,e=0;e=0;a:do if(a|0){c=i[38836]|0;b:do if(!(c<<24>>24)){b=a;e=5}else{b=a;d=38836;while(1){if((i[b>>0]|0)!=c<<24>>24)break b;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=5;break}}}while(0);if((e|0)==5){b=DJ(b)|0;if(b|0){a=b;return a|0}}c=i[44264]|0;if(!(c<<24>>24))b=a;else{b=a;d=44264;do{if((i[b>>0]|0)!=c<<24>>24)break a;b=b+1|0;d=d+1|0;c=i[d>>0]|0}while(c<<24>>24!=0)}b=DJ(b)|0;if(b|0){a=b;return a|0}}while(0);a=Uk(a)|0;return a|0}function Hq(a){a=a|0;var b=0,c=0,d=0,e=0;e=0;if(!a){e=0;return e|0}c=i[43507]|0;a:do if(!(c<<24>>24)){b=a;e=5}else{b=a;d=43507;while(1){if((i[b>>0]|0)!=c<<24>>24)break a;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=5;break}}}while(0);b:do if((e|0)==5){while(1){if(q1(b)|0)break;e=b;b=uaa(b)|0;if((b|0)==(e|0)|(b|0)==0)break b;else e=5}if(b|0){e=b;return e|0}}while(0);b=i[43504]|0;c:do if(b<<24>>24){c=43504;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break c}return a|0}while(0);b=i[a>>0]|0;if(!(b<<24>>24)){e=0;return e|0}d:while(1){if(a|0){c=i[44840]|0;if(!(c<<24>>24)){e=18;break}if(b<<24>>24==c<<24>>24){b=a;d=44840;do{b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){a=b;e=18;break d}}while((i[b>>0]|0)==c<<24>>24)}}a=a+1|0;b=i[a>>0]|0;if(!(b<<24>>24)){a=0;e=18;break}}if((e|0)==18)return a|0;return 0}function Iq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;g=i+24|0;c=i+20|0;d=i+16|0;e=i;h=i+8|0;f=a+24|0;if((k[a+28>>2]|0)==(k[f>>2]|0))if((a|0)==(b|0)){r=i;return a|0}else{k[a+20>>2]=k[b+20>>2];k[d>>2]=k[b+12>>2];k[e>>2]=0;k[c>>2]=k[d>>2];k[g>>2]=k[e>>2];_l(a+4|0,c,g);Mo(f,k[b+24>>2]|0,k[b+28>>2]|0);r=i;return a|0}else{c=k[b+24>>2]|0;d=k[b+28>>2]|0;if((c|0)!=(d|0)){e=h+4|0;do{j=k[c>>2]|0;f=vv(b,j)|0;k[h>>2]=j;k[e>>2]=f;k[g>>2]=k[h>>2];k[g+4>>2]=k[h+4>>2];Qn(a,g)|0;c=c+4|0}while((c|0)!=(d|0))}k[a+40>>2]=0;r=i;return a|0}return 0}function Jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!(i[a>>0]&1)){i[a+1>>0]=0;i[a>>0]=0}else{i[k[a+8>>2]>>0]=0;k[a+4>>2]=0}x=0;sa(443,a|0,0);d=x;x=0;if(d&1){d=Eb(0)|0;Nba(d)}k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;c=a+12|0;d=b+12|0;if(!(i[c>>0]&1)){i[c+1>>0]=0;i[c>>0]=0}else{i[k[a+20>>2]>>0]=0;k[a+16>>2]=0}x=0;sa(443,c|0,0);e=x;x=0;if(e&1){e=Eb(0)|0;Nba(e)}k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;d=a+24|0;c=b+24|0;if(!(i[d>>0]&1)){i[d+1>>0]=0;i[d>>0]=0}else{i[k[a+32>>2]>>0]=0;k[a+28>>2]=0}x=0;sa(443,d|0,0);e=x;x=0;if(e&1){e=Eb(0)|0;Nba(e)}else{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;return a|0}return 0}function Kq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=b+36|0;c=lD(g,84)|0;k[c+4>>2]=k[a+4>>2];k[c>>2]=4748;d=c+8|0;e=a+8|0;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));k[c>>2]=6736;e=a+48|0;f=k[e+4>>2]|0;d=c+48|0;k[d>>2]=k[e>>2];k[d+4>>2]=f;k[c>>2]=6840;d=c+56|0;f=a+56|0;k[d>>2]=k[f>>2];k[d+4>>2]=k[f+4>>2];k[d+8>>2]=k[f+8>>2];k[c>>2]=7696;d=c+68|0;f=a+68|0;k[d>>2]=k[f>>2];k[d+4>>2]=k[f+4>>2];k[d+8>>2]=k[f+8>>2];k[d+12>>2]=k[f+12>>2];d=N4(g,c)|0;i[d+59>>0]=i[a+59>>0]|0;k[d+60>>2]=k[a+60>>2];c=k[a+72>>2]|0;if(c|0){f=lD(g,104)|0;zk(f,c);g=N4(g,f)|0;i[g+59>>0]=i[c+59>>0]|0;k[g+60>>2]=k[c+60>>2];i[g+100>>0]=i[c+100>>0]|0;k[d+72>>2]=g}c=k[a+76>>2]|0;if(!c)return d|0;else{b=Kq(c,b)|0;k[d+76>>2]=b;return d|0}return 0}function Lq(a){a=a|0;var b=0,c=0;b=wy(a)|0;if(b|0)if((i[b>>0]|0)==37){a=b+1|0;return a|0}if((i[a>>0]|0)==35){b=AY(a+1|0)|0;if(!b)b=0;else while(1){c=AY(b)|0;if(!c)break;else b=c}}else b=0;c=b-a|0;b=(c|0)!=4&(c|0)!=7?0:b;if(b|0){a=b;return a|0}b=a+1|0;if((i[a>>0]|0)==124){a=b;return a|0}c=wy(a)|0;if(c|0){c=mx(c)|0;if(c|0){a=c;return a|0}}c=wy(a)|0;if(c|0){a=c;return a|0}if((i[a>>0]|0)!=33){a=0;return a|0}c=i[29914]|0;a:do if(c<<24>>24){a=29914;while(1){if((i[b>>0]|0)!=c<<24>>24){b=0;break}b=b+1|0;a=a+1|0;c=i[a>>0]|0;if(!(c<<24>>24))break a}return b|0}while(0);a=DJ(b)|0;return a|0}function Mq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;f=0;h=r;r=r+64|0;g=h;d=h+40|0;b=k[a+56>>2]|0;e=k[a+60>>2]|0;if((b|0)==(e|0))f=4;else{c=1;do{j=(k[b>>2]|0)==1;c=c&(j^1);b=b+4|0}while(!(j|(b|0)==(e|0)));if(c)f=4}do if((f|0)==4){lE(d,42084,40);j=a+108|0;x=0;k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];k[g+8>>2]=k[j+8>>2];Qa(135,a|0,d|0,g|0);j=x;x=0;if(j&1){j=mb()|0;P1(d);yb(j|0)}else{P1(d);break}}while(0);d=(k[a+40>>2]|0)+36|0;e=lD(d,68)|0;f=g;b=a+108|0;c=f+40|0;do{k[f>>2]=k[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(c|0));k[e+4>>2]=0;f=e+8|0;b=g;c=f+40|0;do{k[f>>2]=k[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(c|0));k[e+56>>2]=0;i[e+60>>0]=0;k[e>>2]=15952;k[e+52>>2]=7;j=N4(d,e)|0;r=h;return j|0}function Nq(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;g=r;r=r+64|0;f=g;h=g+40|0;_G(h,c);e=f;c=e+40|0;do{k[e>>2]=k[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(c|0));x=0;sa(487,a|0,h|0);e=x;x=0;if(e&1){a=mb()|0;P1(h);yb(a|0)}k[a>>2]=8160;c=a+8|0;x=0;sa(430,c|0,h|0);e=x;x=0;do if(e&1)c=mb()|0;else{x=0;Qa(74,a+20|0,31243,5);e=x;x=0;if(e&1){g=mb()|0;P1(c);c=g;break}else{e=a+32|0;b=f;c=e+40|0;do{k[e>>2]=k[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(c|0));k[a+72>>2]=d;P1(h);k[a>>2]=10648;r=g;return}}while(0);f4(a);a=c;P1(h);yb(a|0)}function Oq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=0;h=r;r=r+16|0;e=h;f=a+4|0;k[f>>2]=0;x=0;Qa(142,e|0,a|0,1);d=x;x=0;do if(d&1)g=6;else{d=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;if(!(i[e>>0]|0)){x=0;sa(458,d|0,k[d+16>>2]|4|0);c=x;x=0;if(c&1){g=6;break}}else{d=k[d+24>>2]|0;x=0;d=xa(k[(k[d>>2]|0)+32>>2]|0,d|0,b|0,c|0)|0;e=x;x=0;if(e&1){g=6;break}k[f>>2]=d;if((d|0)!=(c|0)){c=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;x=0;sa(458,c|0,k[c+16>>2]|6|0);c=x;x=0;if(c&1){g=6;break}}}}while(0);do if((g|0)==6){g=Eb(0)|0;Bb(g|0)|0;x=0;ra(325,a+(k[(k[a>>2]|0)+-12>>2]|0)|0);g=x;x=0;if(!(g&1)){xb();break}d=mb()|0;x=0;pa(3);g=x;x=0;if(g&1){g=Eb(0)|0;Nba(g)}else yb(d|0)}while(0);r=h;return a|0}function Pq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==126?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function Qq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==125?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function Rq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==123?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function Sq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==91?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function Tq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==62?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function Uq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==61?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function Vq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==59?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function Wq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==58?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function Xq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==47?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function Yq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==45?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function Zq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==44?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function _q(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==43?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function $q(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==41?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function ar(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==40?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function br(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==38?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function cr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;g=m+60|0;h=m+48|0;d=m+8|0;j=m;l=a+76|0;f=k[l>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){l=0;r=m;return l|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}b=e<<24>>24==36?f+1|0:0;if(b>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((b|0)==0|(b|0)==(f|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=b;e=a+84|0;n=a+96|0;wC(h,n,c,f);k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];wC(g,n,f,b);c=k[a+12>>2]|0;f=k[a+72>>2]|0;fJ(j,n,e);k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];EC(d,c,f,a+152|0,e,g);f=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[l>>2]=b;n=b;r=m;return n|0}function dr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=0;f=r;r=r+16|0;d=f;x=0;sa(457,d|0,a|0);g=x;x=0;a:do if(g&1){b=Eb(0)|0;c=a;d=a;e=8}else{do if((c|0)!=0&(i[d>>0]|0)!=0){g=k[a+(k[(k[a>>2]|0)+-12>>2]|0)+24>>2]|0;x=0;b=xa(k[(k[g>>2]|0)+48>>2]|0,g|0,b|0,c|0)|0;g=x;x=0;if(!(g&1)){if((b|0)==(c|0))break;g=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;x=0;sa(458,g|0,k[g+16>>2]|1|0);g=x;x=0;if(!(g&1))break}b=Eb(0)|0;bx(d);c=a;d=a;e=8;break a}while(0);bx(d)}while(0);do if((e|0)==8){Bb(b|0)|0;x=0;ra(325,c+(k[(k[d>>2]|0)+-12>>2]|0)|0);g=x;x=0;if(!(g&1)){xb();break}b=mb()|0;x=0;pa(3);g=x;x=0;if(g&1){g=Eb(0)|0;Nba(g)}else yb(b|0)}while(0);r=f;return a|0}function er(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+192|0;j=o;a=o+180|0;m=o+160|0;n=o+8|0;h=o+156|0;l=o+4|0;i[a>>0]=i[49488]|0;i[a+1>>0]=i[49489]|0;i[a+2>>0]=i[49490]|0;i[a+3>>0]=i[49491]|0;i[a+4>>0]=i[49492]|0;i[a+5>>0]=i[49493]|0;f=xH()|0;k[j>>2]=e;a=xE(m,20,f,a,j)|0;e=m+a|0;f=kB(m,e,c)|0;g=TN(c)|0;k[h>>2]=g;x=0;h=Ka(865,h|0,74204)|0;p=x;x=0;if(p&1){p=mb()|0;sK(g)|0;yb(p|0)}else{sK(g)|0;Oc[k[(k[h>>2]|0)+48>>2]&31](h,m,e,n)|0;p=n+(a<<2)|0;k[l>>2]=k[b>>2];k[j>>2]=k[l>>2];p=pq(j,n,(f|0)==(e|0)?p:n+(f-m<<2)|0,p,c,d)|0;r=o;return p|0}return 0}function fr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+16|0;m=o+4|0;c=o;n=b+84|0;do if(i[n>>0]|0){k[c>>2]=b;d=a+52|0;e=k[d>>2]|0;if(e>>>0<(k[a+56>>2]|0)>>>0){k[e>>2]=b;k[d>>2]=(k[d>>2]|0)+4;break}else{Hw(a+48|0,c);break}}while(0);c=k[b+68>>2]|0;l=(k[b+72>>2]|0)-c>>2;a:do if(l|0){h=b+68|0;j=a+40|0;d=0;while(1){c=k[c+(d<<2)>>2]|0;c=Jc[k[(k[c>>2]|0)+36>>2]&1023](c,a)|0;if(c|0){e=k[(k[j>>2]|0)+-4>>2]|0;b=e+64|0;k[m>>2]=c;k[e+80>>2]=0;f=e+72|0;g=k[f>>2]|0;if((g|0)==(k[e+76>>2]|0))xw(e+68|0,m);else{k[g>>2]=c;k[f>>2]=(k[f>>2]|0)+4}rc[k[k[b>>2]>>2]&1023](b,c)}d=d+1|0;if((d|0)==(l|0))break a;c=k[h>>2]|0}}while(0);if(!(i[n>>0]|0)){r=o;return}a=a+52|0;k[a>>2]=(k[a>>2]|0)+-4;r=o;return}function gr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+48|0;c=g+24|0;d=g+12|0;e=g;f=a+4|0;lE(c,38856,1);x=0;sa(484,f|0,c|0);h=x;x=0;if(h&1){h=mb()|0;P1(c);yb(h|0)}P1(c);h=k[b+56>>2]|0;rc[k[(k[h>>2]|0)+28>>2]&1023](h,a);lE(d,48464,2);x=0;sa(484,f|0,d|0);h=x;x=0;if(h&1){h=mb()|0;P1(d);yb(h|0)}P1(d);h=k[b+60>>2]|0;rc[k[(k[h>>2]|0)+28>>2]&1023](h,a);lE(e,38861,1);x=0;sa(484,f|0,e|0);h=x;x=0;if(!(h&1)){P1(e);r=g;return}h=mb()|0;P1(e);yb(h|0)}function hr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=0;b=mI(a)|0;if(!b){if(!a){g=0;return g|0}c=i[43507]|0;a:do if(!(c<<24>>24))b=a;else{b=a;d=43507;while(1){if((i[b>>0]|0)!=c<<24>>24){e=a;break}b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24))break a}return e|0}while(0);while(1){if(q1(b)|0){f=b;break}d=b;b=uaa(b)|0;if((b|0)==(d|0)|(b|0)==0){e=a;g=16;break}}if((g|0)==16)return e|0;if(!f){g=a;return g|0}else e=f}else e=b;b:while(1){b=mI(e)|0;if(b|0){e=b;continue}c=i[43507]|0;if(!(c<<24>>24))b=e;else{b=e;d=43507;do{if((i[b>>0]|0)!=c<<24>>24){g=16;break b}b=b+1|0;d=d+1|0;c=i[d>>0]|0}while(c<<24>>24!=0)}while(1){if(q1(b)|0)break;g=b;b=uaa(b)|0;if((b|0)==(g|0)|(b|0)==0){g=16;break b}}if(!b){g=16;break}else e=b}if((g|0)==16)return e|0;return 0}function ir(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;e=k[c>>2]|0;n=k[d>>2]|0;if((e|0)==(n|0)){c=1;return c|0}m=k[b>>2]|0;d=e;l=k[a>>2]|0;while(1){if((l|0)==(m|0)){e=0;d=11;break}f=d+16|0;e=i[f>>0]|0;h=(e&1)==0;e=h?(e&255)>>>1:k[d+20>>2]|0;b=i[l>>0]|0;g=(b&1)==0;b=g?(b&255)>>>1:k[l+4>>2]|0;f=h?f+1|0:k[d+24>>2]|0;g=g?l+1|0:k[l+8>>2]|0;h=b>>>0>>0;o=tG(f,g,h?b:e)|0;j=e>>>0>>0;if((((o|0)==0?(j?-2147483648:0):o)|0)<0){e=0;d=11;break}o=tG(g,f,j?e:b)|0;if((((o|0)==0?(h?-2147483648:0):o)|0)<0)e=d;else{e=k[d+4>>2]|0;if(!e)while(1){e=k[d+8>>2]|0;if((k[e>>2]|0)==(d|0))break;else d=e}else while(1){d=k[e>>2]|0;if(!d)break;else e=d}k[c>>2]=e}l=l+12|0;k[a>>2]=l;if((e|0)==(n|0)){e=1;d=11;break}else d=e}if((d|0)==11)return e|0;return 0}function jr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+64|0;b=j+52|0;c=j+40|0;h=j;a:do switch(k[(k[a+60>>2]|0)+-4>>2]|0){case 6:case 4:case 1:case 2:case 0:break;default:{lE(c,40967,66);g=a+108|0;x=0;k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];Qa(135,a|0,c|0,b|0);g=x;x=0;if(g&1){j=mb()|0;P1(c);yb(j|0)}else{P1(c);break a}}}while(0);c=(k[a+40>>2]|0)+36|0;d=lD(c,68)|0;e=h;f=a+108|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));b=Ef(a)|0;k[d+4>>2]=0;e=d+8|0;f=h;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d>>2]=10224;k[d+64>>2]=b;k[d+52>>2]=14;h=N4(c,d)|0;r=j;return h|0}function kr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=b+68|0;d=k[c>>2]|0;if(d|0){i=Go(a,d)|0;k[c>>2]=i;c=k[d+72>>2]|0;i=k[d+76>>2]|0;if((c|0)!=(i|0))do{d=k[c>>2]|0;if(d|0)do{e=k[d+72>>2]|0;if(e|0){f=k[e+72>>2]|0;h=k[e+76>>2]|0;if((f|0)!=(h|0))do{e=k[f>>2]|0;if(e|0){e=Ot(e,96,144,0)|0;if(e|0){g=e+96|0;e=k[g>>2]|0;if(e|0){e=Ot(e,112,160,0)|0;if(e|0){e=Go(a,e)|0;hv(e);k[g>>2]=e}}}}f=f+4|0}while((f|0)!=(h|0))}d=k[d+76>>2]|0}while((d|0)!=0);c=c+4|0}while((c|0)!=(i|0))}c=k[b+64>>2]|0;d=k[c+68>>2]|0;g=(k[c+72>>2]|0)-d>>2;if(!g)return;f=c+68|0;e=0;while(1){c=k[d+(e<<2)>>2]|0;if(c|0)rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);c=e+1|0;if((c|0)==(g|0))break;d=k[f>>2]|0;e=c}return}function lr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+80|0;j=o;a=o+72|0;m=o+52|0;n=o+12|0;h=o+8|0;l=o+4|0;i[a>>0]=i[49488]|0;i[a+1>>0]=i[49489]|0;i[a+2>>0]=i[49490]|0;i[a+3>>0]=i[49491]|0;i[a+4>>0]=i[49492]|0;i[a+5>>0]=i[49493]|0;f=xH()|0;k[j>>2]=e;a=xE(m,20,f,a,j)|0;e=m+a|0;f=kB(m,e,c)|0;g=TN(c)|0;k[h>>2]=g;x=0;h=Ka(865,h|0,74172)|0;p=x;x=0;if(p&1){p=mb()|0;sK(g)|0;yb(p|0)}else{sK(g)|0;Oc[k[(k[h>>2]|0)+32>>2]&31](h,m,e,n)|0;p=n+a|0;k[l>>2]=k[b>>2];k[j>>2]=k[l>>2];p=iq(j,n,(f|0)==(e|0)?p:n+(f-m)|0,p,c,d)|0;r=o;return p|0}return 0}function mr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+64|0;b=j+52|0;c=j+40|0;h=j;a:do switch(k[(k[a+60>>2]|0)+-4>>2]|0){case 6:case 4:case 1:case 2:case 0:break;default:{lE(c,40967,66);g=a+108|0;x=0;k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];Qa(135,a|0,c|0,b|0);g=x;x=0;if(g&1){j=mb()|0;P1(c);yb(j|0)}else{P1(c);break a}}}while(0);c=(k[a+40>>2]|0)+36|0;d=lD(c,68)|0;e=h;f=a+108|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));b=Ef(a)|0;k[d+4>>2]=0;e=d+8|0;f=h;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d>>2]=15248;k[d+64>>2]=b;k[d+52>>2]=17;h=N4(c,d)|0;r=j;return h|0}function nr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+64|0;b=j+52|0;c=j+40|0;h=j;a:do switch(k[(k[a+60>>2]|0)+-4>>2]|0){case 6:case 4:case 1:case 2:case 0:break;default:{lE(c,40967,66);g=a+108|0;x=0;k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];Qa(135,a|0,c|0,b|0);g=x;x=0;if(g&1){j=mb()|0;P1(c);yb(j|0)}else{P1(c);break a}}}while(0);c=(k[a+40>>2]|0)+36|0;d=lD(c,68)|0;e=h;f=a+108|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));b=Ef(a)|0;k[d+4>>2]=0;e=d+8|0;f=h;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d>>2]=15336;k[d+64>>2]=b;k[d+52>>2]=18;h=N4(c,d)|0;r=j;return h|0}function or(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=SH(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function pr(){var a=0,b=0,c=0,d=0,e=0,f=0;b=r;r=r+32|0;e=b+24|0;d=b+16|0;c=b+8|0;x=0;a=Oa(10)|0;f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}if(a|0){a=k[a>>2]|0;if(a|0){f=a+48|0;if((k[f>>2]&-256|0)==1126902528?(k[f+4>>2]|0)==1129074247:0){x=0;pa(k[a+12>>2]|0);f=x;x=0;if(!(f&1)){x=0;sa(592,51732,b|0);x=0}a=Eb(0)|0;Bb(a|0)|0;x=0;sa(592,51772,c|0);x=0;a=Eb(0)|0;x=0;pa(3);f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}else Nba(a)}}}f=k[6189]|0;k[6189]=f+0;x=0;pa(f|0);f=x;x=0;if(!(f&1)){x=0;sa(592,51732,d|0);x=0}a=Eb(0)|0;Bb(a|0)|0;x=0;sa(592,51772,e|0);x=0;a=Eb(0)|0;x=0;pa(3);f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}else Nba(a)}function qr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=0;j=r;r=r+112|0;i=j+64|0;d=j+24|0;e=j+16|0;l=vb(76)|0;f=k[a+12>>2]|0;g=k[a+72>>2]|0;h=k[c>>2]|0;x=0;Qa(99,e|0,0,0);n=x;x=0;if(n&1)m=6;else{x=0;k[i>>2]=k[e>>2];k[i+4>>2]=k[e+4>>2];qa(6,d|0,f|0,g|0,(h|0?c:a+84|0)|0,i|0);n=x;x=0;if(n&1)m=6;else{x=0;sa(430,j|0,b|0);n=x;x=0;if(n&1)m=6;else{x=0;f=i;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));Qa(136,l|0,i|0,j|0);n=x;x=0;if(n&1)e=1;else{x=0;Qa(77,l|0,1280,59);x=0;e=0}d=mb()|0;P1(j);if(!e){n=d;yb(n|0)}}}}if((m|0)==6)d=mb()|0;lb(l|0);n=d;yb(n|0)}function rr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=dz(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function sr(a){a=a|0;var b=0,c=0,d=0;d=0;b=XH(a)|0;do if(!b)d=5;else{c=i[b>>0]|0;b=b+1|0;if(c<<24>>24!=47){c=c<<24>>24|0;b=(c|0)!=44?((c|0)==32?b:0):b;if(!b){d=5;break}}b=XH(b)|0;if(!b)d=5}while(0);if((d|0)==5){b=mI(a)|0;if(!b){d=0;return d|0}}if((i[b>>0]|0)==45){c=b;do c=c+1|0;while((i[c>>0]|0)==45)}else c=b;c=Kt(c)|0;if(c|0){c=Jt(c)|0;if(c|0){d=c;return d|0}}c=yj(b)|0;if(c|0){d=c;return d|0}d=Lq(b)|0;return d|0}function tr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=jo(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function ur(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=ko(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function vr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=WE(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function wr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=QD(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function xr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=Rn(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function yr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=Sn(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function zr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=Rz(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Ar(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=YE(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Br(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=ZE(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Cr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=_E(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Dr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=XG(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Er(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=Gq(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Fr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=$E(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Gr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=Hu(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Hr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=bF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Ir(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;l=i[a>>0]|0;f=a+4|0;if(!(((l&1)==0?(l&255)>>>1:k[f>>2]|0)|0)){l=i[b>>0]|0;if(!(((l&1)==0?(l&255)>>>1:k[b+4>>2]|0)|0)){a=1;return a|0}if(!(KH(b,38885)|0)){a=1;return a|0}}c=i[b>>0]|0;d=b+4|0;e=k[d>>2]|0;do if(!(((c&1)==0?(c&255)>>>1:e)|0))if(!(KH(a,38885)|0)){a=1;return a|0}else{c=i[b>>0]|0;g=k[d>>2]|0;break}else g=e;while(0);h=j[a>>1]|0;l=(h&1)==0;e=(h&254)>>>1;f=l?e:k[f>>2]|0;d=(c&1)==0;if((f|0)!=((d?(c&255)>>>1:g)|0)){a=0;return a|0}c=d?b+1|0:k[b+8>>2]|0;if(!l){a=(tG(k[a+8>>2]|0,c,f)|0)==0;return a|0}if(!f){a=1;return a|0}if(((h&65535)>>>8&255)<<24>>24!=(i[c>>0]|0)){a=0;return a|0}d=a+1|0;while(1){e=e+-1|0;d=d+1|0;if(!e){c=1;d=15;break}c=c+1|0;if((i[d>>0]|0)!=(i[c>>0]|0)){c=0;d=15;break}}if((d|0)==15)return c|0;return 0}function Jr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=gu(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Kr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=dF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Lr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=eF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Mr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+64|0;e=f;g=f+40|0;_G(g,c);d=e;c=d+40|0;do{k[d>>2]=k[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));x=0;sa(487,a|0,g|0);d=x;x=0;if(d&1){a=mb()|0;P1(g);yb(a|0)}k[a>>2]=8160;c=a+8|0;x=0;sa(430,c|0,g|0);d=x;x=0;do if(d&1)c=mb()|0;else{x=0;Qa(74,a+20|0,31243,5);d=x;x=0;if(d&1){f=mb()|0;P1(c);c=f;break}else{d=a+32|0;b=e;c=d+40|0;do{k[d>>2]=k[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));k[a+72>>2]=0;P1(g);k[a>>2]=10576;r=f;return}}while(0);f4(a);a=c;P1(g);yb(a|0)}function Nr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=fF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Or(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=Pv(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Pr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=pC(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Qr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+48|0;c=g+24|0;d=g+12|0;e=g;f=a+4|0;rc[k[(k[b>>2]|0)+108>>2]&1023](c,b);x=0;Qa(134,f|0,c|0,b|0);h=x;x=0;if(h&1){h=mb()|0;P1(c);yb(h|0)}P1(c);c=b+96|0;if(!(k[c>>2]|0)){r=g;return}lE(d,38856,1);x=0;sa(484,f|0,d|0);h=x;x=0;if(h&1){h=mb()|0;P1(d);yb(h|0)}P1(d);h=k[c>>2]|0;rc[k[(k[h>>2]|0)+28>>2]&1023](h,a);lE(e,38861,1);x=0;sa(484,f|0,e|0);h=x;x=0;if(h&1){h=mb()|0;P1(e);yb(h|0)}else{P1(e);r=g;return}}function Rr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=kJ(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Sr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=iF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Tr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=Gu(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Ur(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+64|0;j=l;b=l+40|0;c=Rd(a)|0;do if(!c){lE(b,42233,40);h=a+108|0;x=0;k[j>>2]=k[h>>2];k[j+4>>2]=k[h+4>>2];k[j+8>>2]=k[h+8>>2];Qa(135,a|0,b|0,j|0);h=x;x=0;if(h&1){l=mb()|0;P1(b);yb(l|0)}else{P1(b);break}}while(0);d=(k[a+40>>2]|0)+36|0;e=lD(d,64)|0;f=k[c+64>>2]|0;g=k[c+68>>2]|0;h=j;b=c+8|0;a=h+40|0;do{k[h>>2]=k[b>>2];h=h+4|0;b=b+4|0}while((h|0)<(a|0));k[e+4>>2]=0;h=e+8|0;b=j;a=h+40|0;do{k[h>>2]=k[b>>2];h=h+4|0;b=b+4|0}while((h|0)<(a|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e+52>>2]=0;k[e>>2]=11444;k[e+56>>2]=f;k[e+60>>2]=g;j=N4(d,e)|0;r=l;return j|0}function Vr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=wp(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Wr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=_y(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Xr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;k[a>>2]=0;h=a+4|0;k[h>>2]=0;k[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){x=0;ra(322,a|0);g=x;x=0;if(g&1)d=9;else d=4}else d=4;do if((d|0)==4){x=0;d=ua(186,b*12|0)|0;g=x;x=0;if(g&1)d=9;else{k[h>>2]=d;k[a>>2]=d;k[a+8>>2]=d+(b*12|0);while(1){x=0;sa(524,d|0,c|0);g=x;x=0;if(g&1){d=8;break}d=(k[h>>2]|0)+12|0;k[h>>2]=d;b=b+-1|0;if(!b){d=20;break}}if((d|0)==8){g=mb()|0;break}else if((d|0)==20)return}}while(0);if((d|0)==9)g=mb()|0;d=k[a>>2]|0;if(!d)yb(g|0);b=k[h>>2]|0;if((b|0)!=(d|0)){do{c=b+-12|0;k[h>>2]=c;e=k[c>>2]|0;f=e;if(!e)b=c;else{b=b+-8|0;c=k[b>>2]|0;if((c|0)!=(e|0))k[b>>2]=c+(~((c+-4-f|0)>>>2)<<2);uha(e);b=k[h>>2]|0}}while((b|0)!=(d|0));d=k[a>>2]|0}uha(d);yb(g|0)}function Yr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=iH(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Zr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=XD(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function _r(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=Io(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function $r(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=HN(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function as(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=qF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function bs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=aB(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function cs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=tx(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function ds(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=0;b=mI(a)|0;if(!b){if(!a){f=0;return f|0}b=i[43507]|0;a:do if(b<<24>>24){c=43507;while(1){if((i[a>>0]|0)!=b<<24>>24){d=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return d|0}while(0);while(1){if(q1(a)|0){e=a;break}c=a;a=uaa(a)|0;if((a|0)==(c|0)|(a|0)==0){d=0;f=16;break}}if((f|0)==16)return d|0;if(!e){f=0;return f|0}else d=e}else d=b;b:while(1){a=mI(d)|0;if(a|0){d=a;continue}b=i[43507]|0;if(!(b<<24>>24))a=d;else{a=d;c=43507;do{if((i[a>>0]|0)!=b<<24>>24){f=16;break b}a=a+1|0;c=c+1|0;b=i[c>>0]|0}while(b<<24>>24!=0)}while(1){if(q1(a)|0)break;f=a;a=uaa(a)|0;if((a|0)==(f|0)|(a|0)==0){f=16;break b}}if(!a){f=16;break}else d=a}if((f|0)==16)return d|0;return 0}function es(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=cv(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function fs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=eB(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function gs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=nF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function hs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=fB(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function is(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)){f=b+28|0;if((k[f>>2]|0)!=1)k[f>>2]=d}}else{if((a|0)!=(k[b>>2]|0)){h=k[a+8>>2]|0;pc[k[(k[h>>2]|0)+24>>2]&15](h,b,c,d,e);break}if((k[b+16>>2]|0)!=(c|0)){g=b+20|0;if((k[g>>2]|0)!=(c|0)){k[b+32>>2]=d;h=b+44|0;if((k[h>>2]|0)==4)break;f=b+52|0;i[f>>0]=0;d=b+53|0;i[d>>0]=0;a=k[a+8>>2]|0;Ac[k[(k[a>>2]|0)+20>>2]&15](a,b,c,c,1,e);if(!(i[d>>0]|0)){f=0;d=13}else if(!(i[f>>0]|0)){f=1;d=13}else d=17;do if((d|0)==13){k[g>>2]=c;c=b+40|0;k[c>>2]=(k[c>>2]|0)+1;if((k[b+36>>2]|0)==1)if((k[b+24>>2]|0)==2){i[b+54>>0]=1;if(f){d=17;break}else{f=4;break}}if(f)d=17;else f=4}while(0);if((d|0)==17)f=3;k[h>>2]=f;break}}if((d|0)==1)k[b+32>>2]=1}while(0);return}function js(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=jN(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function ks(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=oF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function ls(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=pF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function ms(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=_n(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function ns(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=r$(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function os(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=hB(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function ps(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=Ux(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function qs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=rF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function rs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=qO(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function ss(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=sF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function ts(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=tF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function us(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=SH(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function vs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=WF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function ws(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+48|0;g=j;b=j+40|0;k[b>>2]=4;h=a+60|0;c=k[h>>2]|0;if(c>>>0<(k[a+64>>2]|0)>>>0){k[c>>2]=4;k[h>>2]=c+4}else Bw(a+56|0,b);b=(k[a+40>>2]|0)+36|0;c=lD(b,72)|0;d=g;e=a+108|0;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));k[c+4>>2]=0;d=c+8|0;e=g;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));k[c+56>>2]=0;i[c+60>>0]=0;k[c+64>>2]=0;k[c>>2]=15688;k[c+68>>2]=0;k[c+52>>2]=19;c=N4(b,c)|0;d=Ef(a)|0;i[d+48>>0]=0;k[c+68>>2]=d;d=a+164|0;e=i[d>>0]|0;i[d>>0]=0;x=0;b=Ka(900,a|0,0)|0;a=x;x=0;if(a&1){j=mb()|0;i[d>>0]=e;yb(j|0)}else{i[d>>0]=e;k[c+64>>2]=b;k[h>>2]=(k[h>>2]|0)+-4;r=j;return c|0}return 0}function xs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+112|0;c=m+64|0;d=m+24|0;l=m+8|0;e=m;f=k[a+8>>2]|0;g=lD(f,76)|0;h=d;i=b+8|0;j=h+40|0;do{k[h>>2]=k[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));h=k[(k[b>>2]|0)+20>>2]|0;a=k[(k[a+4>>2]|0)+16>>2]|0;j=k[a+4>>2]|0;i=e;k[i>>2]=k[a>>2];k[i+4>>2]=j;k[c>>2]=k[e>>2];k[c+4>>2]=k[e+4>>2];Pc[h&255](l,b,c);x=0;h=c;i=d;j=h+40|0;do{k[h>>2]=k[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));qa(5,g|0,c|0,l|0,0,0);j=x;x=0;if(j&1){m=mb()|0;P1(l);yb(m|0)}x=0;c=Ka(857,f|0,g|0)|0;j=x;x=0;if(j&1){m=mb()|0;P1(l);yb(m|0)}else{P1(l);r=m;return c|0}return 0}function ys(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=uF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function zs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=vF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function As(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=wF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Bs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=lI(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Cs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=S8(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Ds(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;m=r;r=r+240|0;g=m+8|0;a=m;o=m+204|0;i=m+32|0;l=m+28|0;j=m+20|0;n=m+24|0;h=m+16|0;p=a;k[p>>2]=37;k[p+4>>2]=0;aA(a+1|0,49483,0,k[c+4>>2]|0);p=xH()|0;q=g;k[q>>2]=e;k[q+4>>2]=f;f=o+(xE(o,23,p,a,g)|0)|0;e=kB(o,f,c)|0;a=TN(c)|0;k[n>>2]=a;x=0;Ha(7,o|0,e|0,f|0,i|0,l|0,j|0,n|0);f=x;x=0;if(f&1){q=mb()|0;sK(a)|0;yb(q|0)}else{sK(a)|0;k[h>>2]=k[b>>2];p=k[l>>2]|0;q=k[j>>2]|0;k[g>>2]=k[h>>2];q=pq(g,i,p,q,c,d)|0;r=m;return q|0}return 0}function Es(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;m=r;r=r+224|0;g=m+8|0;a=m;o=m+196|0;i=m+32|0;l=m+28|0;j=m+20|0;n=m+24|0;h=m+16|0;p=a;k[p>>2]=37;k[p+4>>2]=0;aA(a+1|0,49483,1,k[c+4>>2]|0);p=xH()|0;q=g;k[q>>2]=e;k[q+4>>2]=f;f=o+(xE(o,22,p,a,g)|0)|0;e=kB(o,f,c)|0;a=TN(c)|0;k[n>>2]=a;x=0;Ha(7,o|0,e|0,f|0,i|0,l|0,j|0,n|0);f=x;x=0;if(f&1){q=mb()|0;sK(a)|0;yb(q|0)}else{sK(a)|0;k[h>>2]=k[b>>2];p=k[l>>2]|0;q=k[j>>2]|0;k[g>>2]=k[h>>2];q=pq(g,i,p,q,c,d)|0;r=m;return q|0}return 0}function Fs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;m=r;r=r+112|0;g=m+8|0;a=m;o=m+75|0;i=m+32|0;l=m+28|0;j=m+20|0;n=m+24|0;h=m+16|0;p=a;k[p>>2]=37;k[p+4>>2]=0;aA(a+1|0,49483,0,k[c+4>>2]|0);p=xH()|0;q=g;k[q>>2]=e;k[q+4>>2]=f;f=o+(xE(o,23,p,a,g)|0)|0;e=kB(o,f,c)|0;a=TN(c)|0;k[n>>2]=a;x=0;Ha(5,o|0,e|0,f|0,i|0,l|0,j|0,n|0);f=x;x=0;if(f&1){q=mb()|0;sK(a)|0;yb(q|0)}else{sK(a)|0;k[h>>2]=k[b>>2];p=k[l>>2]|0;q=k[j>>2]|0;k[g>>2]=k[h>>2];q=iq(g,i,p,q,c,d)|0;r=m;return q|0}return 0}function Gs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=$F(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Hs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=yF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Is(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=zF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Js(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=PD(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Ks(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=AF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Ls(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=BF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Ms(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;m=r;r=r+96|0;g=m+8|0;a=m;o=m+74|0;i=m+32|0;l=m+28|0;j=m+20|0;n=m+24|0;h=m+16|0;p=a;k[p>>2]=37;k[p+4>>2]=0;aA(a+1|0,49483,1,k[c+4>>2]|0);p=xH()|0;q=g;k[q>>2]=e;k[q+4>>2]=f;f=o+(xE(o,22,p,a,g)|0)|0;e=kB(o,f,c)|0;a=TN(c)|0;k[n>>2]=a;x=0;Ha(5,o|0,e|0,f|0,i|0,l|0,j|0,n|0);f=x;x=0;if(f&1){q=mb()|0;sK(a)|0;yb(q|0)}else{sK(a)|0;k[h>>2]=k[b>>2];p=k[l>>2]|0;q=k[j>>2]|0;k[g>>2]=k[h>>2];q=iq(g,i,p,q,c,d)|0;r=m;return q|0}return 0}function Ns(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+112|0;c=m+64|0;d=m+24|0;l=m+8|0;e=m;f=k[a+8>>2]|0;g=lD(f,76)|0;h=d;i=b+8|0;j=h+40|0;do{k[h>>2]=k[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));h=k[(k[b>>2]|0)+20>>2]|0;a=k[(k[a+4>>2]|0)+16>>2]|0;j=k[a+4>>2]|0;i=e;k[i>>2]=k[a>>2];k[i+4>>2]=j;k[c>>2]=k[e>>2];k[c+4>>2]=k[e+4>>2];Pc[h&255](l,b,c);x=0;h=c;i=d;j=h+40|0;do{k[h>>2]=k[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));qa(5,g|0,c|0,l|0,0,0);j=x;x=0;if(j&1){m=mb()|0;P1(l);yb(m|0)}x=0;c=Ka(857,f|0,g|0)|0;j=x;x=0;if(j&1){m=mb()|0;P1(l);yb(m|0)}else{P1(l);r=m;return c|0}return 0}function Os(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=QD(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Ps(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=eG(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Qs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=fG(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Rs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=gG(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Ss(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=CF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Ts(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=DF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Us(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=RD(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Vs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=wy(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Ws(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=IF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Xs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=SD(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Ys(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=iG(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function Zs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=JF(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function _s(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=jG(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function $s(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;f=m+60|0;g=m+48|0;d=m+8|0;h=m;l=a+76|0;e=k[l>>2]|0;if(!(i[e>>0]|0)){l=0;r=m;return l|0}if(b){j=bO(e)|0;e=j|0?j:e}j=kG(e)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){l=0;r=m;return l|0}if(!c)if((j|0)==0|(j|0)==(e|0)){l=0;r=m;return l|0}c=k[l>>2]|0;k[a+152>>2]=c;k[a+156>>2]=e;k[a+160>>2]=j;b=a+84|0;n=a+96|0;wC(g,n,c,e);k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];wC(f,n,e,j);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(h,n,b);k[f>>2]=k[h>>2];k[f+4>>2]=k[h+4>>2];EC(d,c,e,a+152|0,b,f);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[l>>2]=j;n=j;r=m;return n|0}function at(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;kha(74076)|0;while(1){if((k[a>>2]|0)!=1)break;Xa(74104,74076)|0}do if(!(k[a>>2]|0)){k[a>>2]=1;x=0;ua(268,74076)|0;d=x;x=0;if(!(d&1)){x=0;ra(c|0,b|0);d=x;x=0;if(!(d&1)){x=0;ua(269,74076)|0;d=x;x=0;if(!(d&1)){k[a>>2]=-1;x=0;ua(268,74076)|0;d=x;x=0;if(!(d&1)){x=0;ua(270,74104)|0;d=x;x=0;if(!(d&1))break}}}}d=Eb(0)|0;Bb(d|0)|0;x=0;ua(269,74076)|0;d=x;x=0;if(!(d&1)){k[a>>2]=0;x=0;ua(268,74076)|0;d=x;x=0;if(!(d&1)){x=0;ua(270,74104)|0;d=x;x=0;if(!(d&1)){x=0;pa(4);x=0}}}b=mb()|0;x=0;pa(3);d=x;x=0;if(d&1){d=Eb(0)|0;Nba(d)}else yb(b|0)}else fha(74076)|0;while(0);return}function bt(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;c=d;a:do if(k[a+(k[(k[a>>2]|0)+-12>>2]|0)+24>>2]|0){x=0;sa(557,c|0,a|0);b=x;x=0;b:do if(b&1)b=Eb(0)|0;else{do if(i[c>>0]|0){b=k[a+(k[(k[a>>2]|0)+-12>>2]|0)+24>>2]|0;x=0;b=ua(k[(k[b>>2]|0)+24>>2]|0,b|0)|0;e=x;x=0;if(!(e&1)){if((b|0)!=-1)break;e=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;x=0;sa(458,e|0,k[e+16>>2]|1|0);e=x;x=0;if(!(e&1))break}b=Eb(0)|0;ax(c);break b}while(0);ax(c);break a}while(0);Bb(b|0)|0;x=0;ra(325,a+(k[(k[a>>2]|0)+-12>>2]|0)|0);e=x;x=0;if(!(e&1)){xb();break}b=mb()|0;x=0;pa(3);e=x;x=0;if(e&1){e=Eb(0)|0;Nba(e)}else yb(b|0)}while(0);r=d;return a|0}function ct(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;c=d;a:do if(k[a+(k[(k[a>>2]|0)+-12>>2]|0)+24>>2]|0){x=0;sa(457,c|0,a|0);b=x;x=0;b:do if(b&1)b=Eb(0)|0;else{do if(i[c>>0]|0){b=k[a+(k[(k[a>>2]|0)+-12>>2]|0)+24>>2]|0;x=0;b=ua(k[(k[b>>2]|0)+24>>2]|0,b|0)|0;e=x;x=0;if(!(e&1)){if((b|0)!=-1)break;e=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;x=0;sa(458,e|0,k[e+16>>2]|1|0);e=x;x=0;if(!(e&1))break}b=Eb(0)|0;bx(c);break b}while(0);bx(c);break a}while(0);Bb(b|0)|0;x=0;ra(325,a+(k[(k[a>>2]|0)+-12>>2]|0)|0);e=x;x=0;if(!(e&1)){xb();break}b=mb()|0;x=0;pa(3);e=x;x=0;if(e&1){e=Eb(0)|0;Nba(e)}else yb(b|0)}while(0);r=d;return a|0}function dt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a+4>>2]=k[b+4>>2];k[a>>2]=4748;c=a+8|0;d=b+8|0;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));k[a>>2]=6736;d=b+48|0;e=k[d+4>>2]|0;c=a+48|0;k[c>>2]=k[d>>2];k[c+4>>2]=e;k[a>>2]=6840;c=a+56|0;e=b+56|0;k[c>>2]=k[e>>2];k[c+4>>2]=k[e+4>>2];k[c+8>>2]=k[e+8>>2];k[a>>2]=6600;c=a+68|0;x=0;sa(430,c|0,b+68|0);e=x;x=0;if(e&1){a=mb()|0;yb(a|0)}d=a+80|0;x=0;sa(430,d|0,b+80|0);e=x;x=0;if(e&1){a=mb()|0;P1(c);yb(a|0)}i[a+92>>0]=i[b+92>>0]|0;k[a>>2]=11868;x=0;sa(430,a+96|0,b+96|0);e=x;x=0;if(e&1){b=mb()|0;k[a>>2]=6600;P1(d);P1(c);yb(b|0)}else{k[a+108>>2]=k[b+108>>2];return}}function et(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;c=f+12|0;d=f;e=a+4|0;Tu(e);lE(c,38782,3);x=0;Qa(134,e|0,c|0,b|0);g=x;x=0;if(g&1){g=mb()|0;P1(c);yb(g|0)}P1(c);vba(e);c=k[b+68>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);c=k[b+64>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);c=b+72|0;if(!(k[c>>2]|0)){r=f;return}AI(e);Tu(e);lE(d,38786,4);x=0;sa(484,e|0,d|0);g=x;x=0;if(g&1){g=mb()|0;P1(d);yb(g|0)}else{P1(d);g=k[c>>2]|0;rc[k[(k[g>>2]|0)+28>>2]&1023](g,a);r=f;return}}function ft(a){a=a|0;var b=0,c=0,d=0,e=0;d=0;if((i[a>>0]|0)==45)do a=a+1|0;while((i[a>>0]|0)==45);a=Kt(a)|0;if(!a){e=0;return e|0}e=Jt(a)|0;if(!e){e=0;return e|0}b=i[43504]|0;a:do if(!(b<<24>>24)){a=e;d=8}else{a=e;c=43504;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break a}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24)){d=8;break}}}while(0);b:do if((d|0)==8){b=i[a>>0]|0;if(!(b<<24>>24))a=0;else while(1){if(a|0){c=i[44840]|0;if(!(c<<24>>24))break b;if(b<<24>>24==c<<24>>24){b=a;d=44840;do{b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){a=b;break b}}while((i[b>>0]|0)==c<<24>>24)}}a=a+1|0;b=i[a>>0]|0;if(!(b<<24>>24)){a=0;break}}}while(0);a=a|0?a:e;if(!a){e=0;return e|0}e=(i[a>>0]|0)==40?a+1|0:0;return e|0}function gt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=0;h=r;r=r+16|0;f=h;_G(f,a+56|0);e=i[f>>0]|0;c=(e&1)==0;d=c?f+1|0:k[f+8>>2]|0;e=c?(e&255)>>>1:k[f+4>>2]|0;if(e>>>0>3){b=e;c=d;a=e;while(1){j=ia(l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24,1540483477)|0;a=(ia(j>>>24^j,1540483477)|0)^(ia(a,1540483477)|0);b=b+-4|0;if(b>>>0<=3)break;else c=c+4|0}b=e+-4|0;c=b&-4;b=b-c|0;c=d+(c+4)|0}else{b=e;c=d;a=e}switch(b|0){case 3:{a=(l[c+2>>0]|0)<<16^a;g=6;break}case 2:{g=6;break}case 1:break;default:{j=a;g=j>>>13;j=g^j;j=ia(j,1540483477)|0;g=j>>>15;j=g^j;P1(f);r=h;return j|0}}if((g|0)==6)a=(l[c+1>>0]|0)<<8^a;j=ia((l[c>>0]|0)^a,1540483477)|0;g=j>>>13;j=g^j;j=ia(j,1540483477)|0;g=j>>>15;j=g^j;P1(f);r=h;return j|0}function ht(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=12004;b=k[a+96>>2]|0;c=b;if(b|0){d=a+100|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+84>>2]|0;c=b;if(b|0){d=a+88|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+72>>2]|0;c=b;if(b|0){d=a+76|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+60>>2]|0;c=b;if(b|0){d=a+64|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+24>>2]|0;if(!b){a=a+8|0;zha(a);return}c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);a=a+8|0;zha(a);return}function it(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+12|0;f=h;g=a+4|0;lE(c,38856,1);x=0;sa(484,g|0,c|0);e=x;x=0;if(e&1){h=mb()|0;P1(c);yb(h|0)}P1(c);e=b+52|0;c=k[e>>2]|0;d=b+56|0;if((c|0)!=(k[d>>2]|0)){c=k[c>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);c=(k[d>>2]|0)-(k[b+52>>2]|0)>>2;if(c>>>0>1){d=1;do{Qw(g);b=k[(k[e>>2]|0)+(d<<2)>>2]|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);d=d+1|0}while((d|0)!=(c|0))}}lE(f,38861,1);x=0;sa(484,g|0,f|0);a=x;x=0;if(!(a&1)){P1(f);r=h;return}h=mb()|0;P1(f);yb(h|0)}function jt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;h=i;d=a+8|0;e=a+4|0;f=Jc[k[c>>2]&1023](e,a)|0;g=Jc[k[c>>2]&1023](d,e)|0;do if(f){f=k[a>>2]|0;if(g){k[a>>2]=k[d>>2];k[d>>2]=f;break}k[a>>2]=k[e>>2];k[e>>2]=f;if(Jc[k[c>>2]&1023](d,e)|0){g=k[e>>2]|0;k[e>>2]=k[d>>2];k[d>>2]=g}}else if(g){g=k[e>>2]|0;k[e>>2]=k[d>>2];k[d>>2]=g;if(Jc[k[c>>2]&1023](e,a)|0){g=k[a>>2]|0;k[a>>2]=k[e>>2];k[e>>2]=g}}while(0);e=a+12|0;if((e|0)==(b|0)){r=i;return}while(1){if(Jc[k[c>>2]&1023](e,d)|0){k[h>>2]=k[e>>2];f=e;while(1){k[f>>2]=k[d>>2];if((d|0)==(a|0))break;f=d+-4|0;if(Jc[k[c>>2]&1023](h,f)|0){g=d;d=f;f=g}else break}k[d>>2]=k[h>>2]}d=e+4|0;if((d|0)==(b|0))break;else{g=e;e=d;d=g}}r=i;return}function kt(a){a=a|0;var b=0,c=0;while(1){b=i[a>>0]|0;c=a+1|0;if(b<<24>>24==123){b=13;break}if((b<<24>>24!=125?(b<<24>>24==59?c:0):c)|0){b=13;break}b=tx(a)|0;do if(!b){b=_n(a)|0;if(b|0){c=Io(b)|0;b=c|0?c:b;break}b=SH(a)|0;if(!b){b=$F(a)|0;if(!b){b=nx(a)|0;if(!b)b=0;else{b=_n(b)|0;if(!b)b=0;else{c=Io(b)|0;b=c|0?c:b}}}}}while(0);if((b|0)==(a|0)|(b|0)==0){a=0;b=13;break}else a=b}if((b|0)==13)return a|0;return 0}function lt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+48|0;g=h;f=h+40|0;d=a+4|0;c=UN(k[d>>2]|0)|0;k[f>>2]=c;if(!c){d=(k[a+8>>2]|0)+36|0;e=lD(d,56)|0;f=g;c=b+8|0;a=f+40|0;do{k[f>>2]=k[c>>2];f=f+4|0;c=c+4|0}while((f|0)<(a|0));k[e+4>>2]=0;f=e+8|0;c=g;a=f+40|0;do{k[f>>2]=k[c>>2];f=f+4|0;c=c+4|0}while((f|0)<(a|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e>>2]=6380;k[e+52>>2]=8;g=N4(d,e)|0;r=h;return g|0}e=(k[d>>2]|0)+76|0;k[e>>2]=(k[e>>2]|0)+-4;e=Jc[k[(k[a>>2]|0)+272>>2]&1023](a,c)|0;k[f>>2]=e;c=k[d>>2]|0;a=c+76|0;d=k[a>>2]|0;if((d|0)==(k[c+80>>2]|0)){qw(c+72|0,f);g=e;r=h;return g|0}else{k[d>>2]=e;k[a>>2]=(k[a>>2]|0)+4;g=e;r=h;return g|0}return 0}function mt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;h=l;i=a+72|0;j=a+76|0;c=k[j>>2]|0;if((c|0)==(k[i>>2]|0)){r=l;return 0}g=k[c+-4>>2]|0;if(!g){r=l;return 0}c=k[b+64>>2]|0;do if(!c)c=0;else{b=Ot(c,112,720,0)|0;if(b)if(tc[k[(k[b>>2]|0)+96>>2]&511](b)|0){c=Rh(a+8|0,b)|0;if(!c){c=0;break}}b=Ot(c,112,160,0)|0;if(b){d=k[b+72>>2]|0;e=k[b+76>>2]|0;if((d|0)!=(e|0)){f=a+88|0;do{b=k[d>>2]|0;if(b|0){b=k[b+72>>2]|0;if(b|0)k[b+60>>2]=k[(k[f>>2]|0)+-4>>2]}d=d+4|0}while((d|0)!=(e|0))}}}while(0);k[h>>2]=0;b=k[j>>2]|0;if(b>>>0<(k[a+80>>2]|0)>>>0){k[b>>2]=0;k[j>>2]=(k[j>>2]|0)+4}else rw(i,h);$d(a,c,g);k[j>>2]=(k[j>>2]|0)+-4;r=l;return 0}function nt(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,l=0,m=0,n=0;m=r;r=r+16|0;h=m;wD(h,b,0,3,b);l=(KH(h,34234)|0)==0;P1(h);if(l){_G(a,d);r=m;return}h=j[c>>1]|0;l=(h&1)==0;f=(h&254)>>>1;g=l?f:k[c+4>>2]|0;n=i[d>>0]|0;e=(n&1)==0;h=(h&65535)>>>8&255;a:do if((g|0)==((e?(n&255)>>>1:k[d+4>>2]|0)|0)){e=e?d+1|0:k[d+8>>2]|0;b:do if(l){if(g|0){if(h<<24>>24!=(i[e>>0]|0)){c=b;break a}d=c+1|0;while(1){f=f+-1|0;d=d+1|0;if(!f)break b;e=e+1|0;if((i[d>>0]|0)!=(i[e>>0]|0)){c=b;break a}}}}else if(tG(k[c+8>>2]|0,e,g)|0){c=b;break a}while(0)}else c=b;while(0);_G(a,c);r=m;return}function ot(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+272|0;h=l+8|0;j=l;g=k[b>>2]|0;k[j>>2]=g;i=(a|0)!=0;e=i?d:256;d=i?a:h;a=g;a:do if((e|0)!=0&(g|0)!=0){g=e;f=a;e=0;while(1){a=c>>>0>=g>>>0;if(!(a|c>>>0>32)){a=f;break a}a=a?g:c;c=c-a|0;a=bp(d,j,a,0)|0;if((a|0)==-1){e=c;break}n=(d|0)==(h|0);m=n?0:a;f=g-m|0;d=n?d:d+a|0;e=a+e|0;a=k[j>>2]|0;if((g|0)!=(m|0)&(a|0)!=0){g=f;f=a}else{g=f;break a}}c=e;g=0;a=k[j>>2]|0;e=-1}else{g=e;e=0}while(0);b:do if(a)if((g|0)!=0&(c|0)!=0){f=a;a=d;while(1){d=qz(a,k[f>>2]|0,0)|0;if((d+1|0)>>>0<2)break;f=(k[j>>2]|0)+4|0;k[j>>2]=f;c=c+-1|0;e=e+1|0;if(!((g|0)!=(d|0)&(c|0)!=0))break b;else{g=g-d|0;a=a+d|0}}if(!d)k[j>>2]=0;else e=-1}while(0);if(i)k[b>>2]=k[j>>2];r=l;return e|0}function pt(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;h=r;r=r+208|0;f=h+168|0;i=h;g=f;e=g+40|0;do{k[g>>2]=k[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(e|0));ck(i,a,b,f,d);x=0;f=Ka(884,i|0,0)|0;g=x;x=0;if(g&1){f=mb()|0;c=k[i+56>>2]|0;e=c;if(c|0){a=i+60|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-e|0)>>>2)<<2);uha(c)}a=k[i+44>>2]|0;if(!a)yb(f|0);c=i+48|0;e=k[c>>2]|0;if((e|0)!=(a|0))k[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);uha(a);yb(f|0)}else{c=k[i+56>>2]|0;e=c;if(c|0){a=i+60|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-e|0)>>>2)<<2);uha(c)}a=k[i+44>>2]|0;if(!a){r=h;return f|0}c=i+48|0;e=k[c>>2]|0;if((e|0)!=(a|0))k[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);uha(a);r=h;return f|0}return 0}function qt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;l=r;r=r+80|0;d=l+60|0;e=l+48|0;b=l+8|0;f=l;h=a+76|0;g=k[h>>2]|0;if(!(i[g>>0]|0)){j=0;r=l;return j|0}j=bO(g)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){j=0;r=l;return j|0}if(!c)if((j|0)==0|(j|0)==(g|0)){j=0;r=l;return j|0}n=k[h>>2]|0;k[a+152>>2]=n;k[a+156>>2]=g;k[a+160>>2]=j;c=a+84|0;m=a+96|0;wC(e,m,n,g);k[c>>2]=k[e>>2];k[c+4>>2]=k[e+4>>2];k[c+8>>2]=k[e+8>>2];wC(d,m,g,j);g=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(f,m,c);k[d>>2]=k[f>>2];k[d+4>>2]=k[f+4>>2];EC(b,g,e,a+152|0,c,d);e=a+108|0;d=e+40|0;do{k[e>>2]=k[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));k[h>>2]=j;n=j;r=l;return n|0}function rt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;tc[k[(k[a>>2]|0)+24>>2]&511](a)|0;c=aR(b,75964)|0;k[a+68>>2]=c;e=a+98|0;f=i[e>>0]|0;c=tc[k[(k[c>>2]|0)+28>>2]&511](c)|0;i[e>>0]=c&1;if((f&255|0)==(c&1|0))return;b=a+8|0;f=a+96|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;b=j[f>>1]|0;d=(b&255)<<24>>24!=0;b=(b&65535)>>>8&255;if(c){e=a+32|0;if(d){c=k[e>>2]|0;if(c){nha(c);b=i[a+97>>0]|0}}i[f>>0]=b;d=a+60|0;k[a+52>>2]=k[d>>2];f=a+56|0;k[e>>2]=k[f>>2];k[d>>2]=0;k[f>>2]=0;i[a+97>>0]=0;return}if(!d){b=a+32|0;c=k[b>>2]|0;if((c|0)!=(a+44|0)){e=k[a+52>>2]|0;k[a+60>>2]=e;k[a+56>>2]=c;i[a+97>>0]=0;a=mha(e)|0;k[b>>2]=a;i[f>>0]=1;return}}f=k[a+52>>2]|0;k[a+60>>2]=f;f=mha(f)|0;k[a+56>>2]=f;i[a+97>>0]=1;return}function st(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>10<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>10<<2)>>2]|0)+((f&1023)<<2)|0;b=(k[d>>2]|0)+((b&1023)<<2)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+4|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{uha(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=512;break}case 2:{k[i>>2]=1024;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{uha(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;uha(b);return}function tt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=k[b+64>>2]|0;b=k[b+68>>2]|0;if(b|0)rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);l=a+4|0;if(!j){cw(l);return}Yo(l,0);g=j+68|0;h=j+72|0;d=k[h>>2]|0;b=k[g>>2]|0;i=d-b>>2;c=b;if(i){e=j+68|0;f=i+-1|0;d=0;while(1){b=k[c+(d<<2)>>2]|0;if(!(tc[k[(k[b>>2]|0)+60>>2]&511](b)|0)){rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);if(d>>>0>>0)dx(l)}b=d+1|0;if((b|0)==(i|0))break;c=k[e>>2]|0;d=b}c=k[g>>2]|0;d=k[h>>2]|0;b=c}f=d-b>>2;a:do if(f|0){e=j+68|0;d=0;while(1){b=k[c+(d<<2)>>2]|0;if(tc[k[(k[b>>2]|0)+60>>2]&511](b)|0)rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);b=d+1|0;if((b|0)==(f|0))break a;c=k[e>>2]|0;d=b}}while(0);$n(l,0);return}function ut(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;c=f+12|0;d=f;e=a+4|0;Tu(e);lE(c,44264,8);x=0;Qa(134,e|0,c|0,b|0);g=x;x=0;if(g&1){g=mb()|0;P1(c);yb(g|0)}P1(c);vba(e);_G(d,b+68|0);x=0;sa(484,e|0,d|0);g=x;x=0;if(g&1){g=mb()|0;P1(d);yb(g|0)}P1(d);c=k[b+80>>2]|0;if(c|0)rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);c=b+64|0;if(k[c>>2]|0){yD(e);g=k[c>>2]|0;rc[k[(k[g>>2]|0)+28>>2]&1023](g,a);if(k[c>>2]|0){r=f;return}}EF(e);r=f;return}function vt(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,j=0;g=0;h=r;r=r+32|0;f=h+16|0;e=h;x=0;Qa(142,f|0,a|0,1);j=x;x=0;do if(j&1)g=6;else if(i[f>>0]|0){j=k[a+(k[(k[a>>2]|0)+-12>>2]|0)+24>>2]|0;x=0;Ba(k[(k[j>>2]|0)+16>>2]|0,e|0,j|0,b|0,c|0,d|0,8);j=x;x=0;if(j&1){g=6;break}j=e+8|0;if((k[j>>2]|0)==-1?(k[j+4>>2]|0)==-1:0){j=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;x=0;sa(458,j|0,k[j+16>>2]|4|0);j=x;x=0;if(j&1){g=6;break}}}while(0);do if((g|0)==6){j=Eb(0)|0;Bb(j|0)|0;x=0;ra(325,a+(k[(k[a>>2]|0)+-12>>2]|0)|0);j=x;x=0;if(!(j&1)){xb();break}b=mb()|0;x=0;pa(3);j=x;x=0;if(j&1){j=Eb(0)|0;Nba(j)}else yb(b|0)}while(0);r=h;return a|0}function wt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=Jc[k[e>>2]&1023](b,a)|0;g=Jc[k[e>>2]&1023](c,b)|0;do if(f){f=k[a>>2]|0;if(g){k[a>>2]=k[c>>2];k[c>>2]=f;f=1;break}k[a>>2]=k[b>>2];k[b>>2]=f;if(Jc[k[e>>2]&1023](c,b)|0){f=k[b>>2]|0;k[b>>2]=k[c>>2];k[c>>2]=f;f=2}else f=1}else if(g){g=k[b>>2]|0;k[b>>2]=k[c>>2];k[c>>2]=g;if(Jc[k[e>>2]&1023](b,a)|0){f=k[a>>2]|0;k[a>>2]=k[b>>2];k[b>>2]=f;f=2}else f=1}else f=0;while(0);if(!(Jc[k[e>>2]&1023](d,c)|0)){d=f;return d|0}g=k[c>>2]|0;k[c>>2]=k[d>>2];k[d>>2]=g;if(!(Jc[k[e>>2]&1023](c,b)|0)){d=f+1|0;return d|0}d=k[b>>2]|0;k[b>>2]=k[c>>2];k[c>>2]=d;if(!(Jc[k[e>>2]&1023](b,a)|0)){d=f+2|0;return d|0}d=k[a>>2]|0;k[a>>2]=k[b>>2];k[b>>2]=d;d=f+3|0;return d|0}function xt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=r;r=r+32|0;e=g+12|0;f=g;c=Th(b,c,a)|0;k[c+84>>2]=d;_G(f,c+68|0);x=0;a=Ka(866,f|0,38285)|0;b=x;x=0;if(b&1){g=mb()|0;P1(f);yb(g|0)}k[e>>2]=k[a>>2];k[e+4>>2]=k[a+4>>2];k[e+8>>2]=k[a+8>>2];k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;x=0;a=Ka(867,d|0,e|0)|0;d=x;x=0;if(!(d&1)){k[a>>2]=c;P1(e);P1(f);r=g;return}g=mb()|0;P1(e);P1(f);yb(g|0)}function yt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;l=r;r=r+80|0;d=l+60|0;e=l+48|0;b=l+8|0;f=l;h=a+76|0;g=k[h>>2]|0;if(!(i[g>>0]|0)){j=0;r=l;return j|0}j=XH(g)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){j=0;r=l;return j|0}if(!c)if((j|0)==0|(j|0)==(g|0)){j=0;r=l;return j|0}n=k[h>>2]|0;k[a+152>>2]=n;k[a+156>>2]=g;k[a+160>>2]=j;c=a+84|0;m=a+96|0;wC(e,m,n,g);k[c>>2]=k[e>>2];k[c+4>>2]=k[e+4>>2];k[c+8>>2]=k[e+8>>2];wC(d,m,g,j);g=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(f,m,c);k[d>>2]=k[f>>2];k[d+4>>2]=k[f+4>>2];EC(b,g,e,a+152|0,c,d);e=a+108|0;d=e+40|0;do{k[e>>2]=k[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));k[h>>2]=j;n=j;r=l;return n|0}function zt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;l=r;r=r+80|0;d=l+60|0;e=l+48|0;b=l+8|0;f=l;h=a+76|0;g=k[h>>2]|0;if(!(i[g>>0]|0)){j=0;r=l;return j|0}j=YO(g)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){j=0;r=l;return j|0}if(!c)if((j|0)==0|(j|0)==(g|0)){j=0;r=l;return j|0}n=k[h>>2]|0;k[a+152>>2]=n;k[a+156>>2]=g;k[a+160>>2]=j;c=a+84|0;m=a+96|0;wC(e,m,n,g);k[c>>2]=k[e>>2];k[c+4>>2]=k[e+4>>2];k[c+8>>2]=k[e+8>>2];wC(d,m,g,j);g=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(f,m,c);k[d>>2]=k[f>>2];k[d+4>>2]=k[f+4>>2];EC(b,g,e,a+152|0,c,d);e=a+108|0;d=e+40|0;do{k[e>>2]=k[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));k[h>>2]=j;n=j;r=l;return n|0}function At(a,b){a=a|0;b=b|0;if((hc|0)!=2){k[ic+8>>2]=a;k[ic+16>>2]=b;if((hc|0)==1)hc=3}Uc(kc+33552|0);return k[ic>>2]|0}function Bt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;l=r;r=r+80|0;d=l+60|0;e=l+48|0;b=l+8|0;f=l;h=a+76|0;g=k[h>>2]|0;if(!(i[g>>0]|0)){j=0;r=l;return j|0}j=LD(g)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){j=0;r=l;return j|0}if(!c)if((j|0)==0|(j|0)==(g|0)){j=0;r=l;return j|0}n=k[h>>2]|0;k[a+152>>2]=n;k[a+156>>2]=g;k[a+160>>2]=j;c=a+84|0;m=a+96|0;wC(e,m,n,g);k[c>>2]=k[e>>2];k[c+4>>2]=k[e+4>>2];k[c+8>>2]=k[e+8>>2];wC(d,m,g,j);g=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(f,m,c);k[d>>2]=k[f>>2];k[d+4>>2]=k[f+4>>2];EC(b,g,e,a+152|0,c,d);e=a+108|0;d=e+40|0;do{k[e>>2]=k[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));k[h>>2]=j;n=j;r=l;return n|0}function Ct(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+48|0;d=g+24|0;h=g+12|0;e=g;f=i[b+57>>0]|0;a=a+4|0;c=b+60|0;if(!(f<<24>>24)){_G(e,c);x=0;Qa(134,a|0,e|0,b|0);h=x;x=0;if(h&1){h=mb()|0;P1(e);yb(h|0)}else{P1(e);r=g;return}}_G(h,c);x=0;Qa(113,d|0,h|0,f|0);f=x;x=0;do if(f&1)a=mb()|0;else{x=0;Qa(134,a|0,d|0,b|0);b=x;x=0;if(b&1){a=mb()|0;P1(d);break}P1(d);P1(h);r=g;return}while(0);P1(h);h=a;yb(h|0)}function Dt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=0;k[a>>2]=0;g=a+4|0;k[g>>2]=0;k[a+8>>2]=0;f=b+4|0;i=k[f>>2]|0;h=k[b>>2]|0;c=i-h|0;e=(c|0)/24|0;if((i|0)==(h|0))return;if(e>>>0>178956970){x=0;ra(322,a|0);i=x;x=0;if(!(i&1))d=4}else d=4;if((d|0)==4){x=0;c=ua(186,c|0)|0;i=x;x=0;if(!(i&1)){k[g>>2]=c;k[a>>2]=c;k[a+8>>2]=c+(e*24|0);d=k[b>>2]|0;e=k[f>>2]|0;if((d|0)==(e|0))return;do{k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];c=(k[g>>2]|0)+24|0;k[g>>2]=c;d=d+24|0}while((d|0)!=(e|0));return}}e=mb()|0;c=k[a>>2]|0;if(!c)yb(e|0);d=k[g>>2]|0;if((d|0)!=(c|0))k[g>>2]=d+(~(((d+-24-c|0)>>>0)/24|0)*24|0);uha(c);yb(e|0)}function Et(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;l=r;r=r+80|0;d=l+60|0;e=l+48|0;b=l+8|0;f=l;h=a+76|0;g=k[h>>2]|0;if(!(i[g>>0]|0)){j=0;r=l;return j|0}j=mI(g)|0;if(j>>>0>(k[a+80>>2]|0)>>>0){j=0;r=l;return j|0}if(!c)if((j|0)==0|(j|0)==(g|0)){j=0;r=l;return j|0}n=k[h>>2]|0;k[a+152>>2]=n;k[a+156>>2]=g;k[a+160>>2]=j;c=a+84|0;m=a+96|0;wC(e,m,n,g);k[c>>2]=k[e>>2];k[c+4>>2]=k[e+4>>2];k[c+8>>2]=k[e+8>>2];wC(d,m,g,j);g=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(f,m,c);k[d>>2]=k[f>>2];k[d+4>>2]=k[f+4>>2];EC(b,g,e,a+152|0,c,d);e=a+108|0;d=e+40|0;do{k[e>>2]=k[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));k[h>>2]=j;n=j;r=l;return n|0}function Ft(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;l=m;d=b+64|0;c=k[d>>2]|0;if(c|0)if((k[c+72>>2]|0)!=(k[c+68>>2]|0)){e=(k[a+4>>2]|0)+36|0;f=lD(e,72)|0;g=l;h=b+8|0;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c=k[d>>2]|0;c=Jc[k[(k[c>>2]|0)+36>>2]&1023](c,a)|0;c=tc[k[(k[c>>2]|0)+72>>2]&511](c)|0;k[f+4>>2]=0;g=f+8|0;h=l;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[f+56>>2]=0;i[f+60>>0]=0;k[f+64>>2]=c;k[f>>2]=10136;k[f+68>>2]=0;k[f+52>>2]=8;d=N4(e,f)|0;c=k[b+68>>2]|0;if(c|0)k[d+68>>2]=c;a=Od(a,k[d+64>>2]|0,d)|0;a=tc[k[(k[a>>2]|0)+72>>2]&511](a)|0;r=m;return a|0}a=b;r=m;return a|0}function Gt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=a+4|0;a=k[d>>2]|0;if(!a){k[b>>2]=d;b=d;return b|0}h=i[c>>0]|0;g=(h&1)==0;h=g?(h&255)>>>1:k[c+4>>2]|0;g=g?c+1|0:k[c+8>>2]|0;while(1){c=a+16|0;d=i[c>>0]|0;e=(d&1)==0;d=e?(d&255)>>>1:k[a+20>>2]|0;c=e?c+1|0:k[a+24>>2]|0;e=d>>>0>>0;j=tG(g,c,e?d:h)|0;f=h>>>0>>0;if((((j|0)==0?(f?-2147483648:0):j)|0)<0){d=k[a>>2]|0;if(!d){d=a;c=5;break}else a=d}else{j=tG(c,g,f?h:d)|0;if((((j|0)==0?(e?-2147483648:0):j)|0)>=0){c=10;break}d=a+4|0;c=k[d>>2]|0;if(!c){c=9;break}else a=c}}if((c|0)==5){k[b>>2]=a;j=d;return j|0}else if((c|0)==9){k[b>>2]=a;j=d;return j|0}else if((c|0)==10){k[b>>2]=a;j=b;return j|0}return 0}function Ht(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n;m=k[b+64>>2]|0;l=a+8|0;m=Jc[k[(k[m>>2]|0)+40>>2]&1023](m,l)|0;h=k[b+68>>2]|0;l=Jc[k[(k[h>>2]|0)+40>>2]&1023](h,l)|0;if(!l){b=0;r=n;return b|0}c=b+72|0;if(tc[k[(k[l>>2]|0)+68>>2]&511](l)|0)if(!(i[c>>0]|0)){b=0;r=n;return b|0}d=(k[a+4>>2]|0)+36|0;e=lD(d,76)|0;f=j;g=b+8|0;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));a=i[c>>0]|0;k[e+4>>2]=0;f=e+8|0;g=j;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));k[e+56>>2]=0;i[e+60>>0]=0;k[e>>2]=12288;k[e+64>>2]=m;k[e+68>>2]=l;i[e+72>>0]=a;i[e+73>>0]=0;k[e+52>>2]=9;m=N4(d,e)|0;k[m+56>>2]=k[b+56>>2];b=m;r=n;return b|0}function It(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=a+4|0;a=k[d>>2]|0;if(!a){k[b>>2]=d;b=d;return b|0}h=i[c>>0]|0;g=(h&1)==0;h=g?(h&255)>>>1:k[c+4>>2]|0;g=g?c+1|0:k[c+8>>2]|0;while(1){c=a+16|0;d=i[c>>0]|0;e=(d&1)==0;d=e?(d&255)>>>1:k[a+20>>2]|0;c=e?c+1|0:k[a+24>>2]|0;e=d>>>0>>0;j=tG(g,c,e?d:h)|0;f=h>>>0>>0;if((((j|0)==0?(f?-2147483648:0):j)|0)<0){d=k[a>>2]|0;if(!d){d=a;c=5;break}else a=d}else{j=tG(c,g,f?h:d)|0;if((((j|0)==0?(e?-2147483648:0):j)|0)>=0){c=10;break}d=a+4|0;c=k[d>>2]|0;if(!c){c=9;break}else a=c}}if((c|0)==5){k[b>>2]=a;j=d;return j|0}else if((c|0)==9){k[b>>2]=a;j=d;return j|0}else if((c|0)==10){k[b>>2]=a;j=b;return j|0}return 0}function Jt(a){a=a|0;var b=0,c=0,d=0;c=0;d=i[a>>0]|0;b=a+1|0;d=d<<24>>24|0;b=(d|0)!=85?((d|0)==117?b:0):b;if(!b)c=4;else if((i[b>>0]|0)==43){b=ux(b+1|0)|0;if(!b)c=4}else c=4;if((c|0)==4){b=BY(a)|0;if(!b){b=kx(a)|0;if(!b){d=a;return d|0}}}while(1){d=i[b>>0]|0;c=b+1|0;d=d<<24>>24|0;c=(d|0)!=85?((d|0)==117?c:0):c;if(c|0)if((i[c>>0]|0)==43){c=ux(c+1|0)|0;if(c|0){b=c;continue}}c=BY(b)|0;if(c|0){b=c;continue}c=kx(b)|0;if(!c)break;else b=c}return b|0} -function wi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;p=0;q=r;r=r+224|0;j=q+176|0;l=q+160|0;m=q;t=q+148|0;o=q+96|0;h=q+136|0;n=q+56|0;s=q+40|0;qs(a,1,0)|0;c=k[a+156>>2]|0;f=k[a+160>>2]|0;e=f-c|0;if(e>>>0>4294967279){dH(t);p=5}else if(e>>>0<11){i[t>>0]=e<<1;b=t+1|0}else p=5;if((p|0)==5){g=e+16&-16;b=GG(g)|0;k[t+8>>2]=b;k[t>>2]=g|1;k[t+4>>2]=e}if((c|0)!=(f|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(f|0))break;else d=d+1|0}b=b+e|0}i[b>>0]=0;c=a+108|0;d=o;e=c;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));x=0;g=Ka(884,a|0,1)|0;f=x;x=0;a:do if(!(f&1)){x=0;b=xa(63,a|0,1,0)|0;f=x;x=0;if(!(f&1)){do if(!b){x=0;Qa(74,h|0,39874,31);f=x;x=0;if(f&1)break a;x=0;k[j>>2]=k[c>>2];k[j+4>>2]=k[c+4>>2];k[j+8>>2]=k[c+8>>2];Qa(135,a|0,h|0,j|0);f=x;x=0;if(!(f&1)){P1(h);break}s=mb()|0;P1(h);P1(t);yb(s|0)}while(0);h=i[t>>0]|0;x=0;xa(51,t|0,((h&1)==0?(h&255)>>>1:k[t+4>>2]|0)+-1|0,-1)|0;h=x;x=0;if(!(h&1)){b=(k[a+40>>2]|0)+36|0;x=0;c=Ka(856,b|0,100)|0;a=x;x=0;if(!(a&1)){d=n;e=o;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));x=0;sa(430,s|0,t|0);o=x;x=0;if(!(o&1)){d=m;e=n;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));x=0;sa(430,l|0,s|0);o=x;x=0;do if(o&1)p=25;else{x=0;d=j;e=m;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));Qa(115,c|0,j|0,l|0);o=x;x=0;if(o&1){b=mb()|0;P1(l);break}P1(l);k[c>>2]=7556;k[c+96>>2]=g;x=0;b=Ka(857,b|0,c|0)|0;p=x;x=0;if(p&1)p=25;else{P1(s);P1(t);r=q;return b|0}}while(0);if((p|0)==25)b=mb()|0;P1(s);s=b;P1(t);yb(s|0)}}}}}while(0);s=mb()|0;P1(t);yb(s|0);return 0}function xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;f=0;t=r;r=r+64|0;c=t+48|0;d=t+36|0;e=t+24|0;q=t+12|0;s=t;m=b+72|0;o=b+76|0;p=a+4|0;if((k[m>>2]|0)==(k[o>>2]|0)){if((Xaa(p)|0)!=5){r=t;return}lE(c,38853,2);x=0;Qa(134,p|0,c|0,b|0);s=x;x=0;if(s&1){t=mb()|0;P1(c);yb(t|0)}else{P1(c);r=t;return}}n=a+101|0;l=i[n>>0]|0;do if((Xaa(p)|0)==5){c=k[b+72>>2]|0;if(((k[o>>2]|0)-c|0)==4){c=k[c>>2]|0;if(c|0){if(Ot(c,200,256,-2)|0){f=14;break}if(Ot(c,200,160,-2)|0){f=14;break}}lE(d,38856,1);x=0;sa(484,p|0,d|0);j=x;x=0;if(!(j&1)){P1(d);j=a+99|0;break}t=mb()|0;P1(d);yb(t|0)}else f=14}else f=14;while(0);do if((f|0)==14){c=a+99|0;if(!(i[c>>0]|0))if(!(i[n>>0]|0))j=c;else{lE(e,38856,1);x=0;sa(484,p|0,e|0);j=x;x=0;if(!(j&1)){P1(e);j=c;break}t=mb()|0;P1(e);yb(t|0)}else j=c}while(0);if(i[j>>0]|0)i[n>>0]=1;c=b+72|0;d=(k[o>>2]|0)-(k[c>>2]|0)>>2;if(d|0){e=a+97|0;f=d+-1|0;b=a+80|0;h=0;do{if((h|0)==0&(i[e>>0]|0)==0)Tu(p);g=k[(k[m>>2]|0)+(h<<2)>>2]|0;if(g|0){q5(p,m1(g)|0);g=k[(k[m>>2]|0)+(h<<2)>>2]|0;rc[k[(k[g>>2]|0)+28>>2]&1023](g,a);if(h>>>0>>0){k[b>>2]=0;Qw(p)}}h=h+1|0}while((h|0)!=(d|0))}i[n>>0]=l;do if((Xaa(p)|0)==5){c=k[c>>2]|0;if(((k[o>>2]|0)-c|0)==4){c=k[c>>2]|0;if(c|0){if(Ot(c,200,256,-2)|0)break;if(Ot(c,200,160,-2)|0)break}lE(q,38858,2);x=0;sa(484,p|0,q|0);s=x;x=0;if(s&1){t=mb()|0;P1(q);yb(t|0)}else{P1(q);r=t;return}}}while(0);if(i[j>>0]|0){r=t;return}if(!(i[n>>0]|0)){r=t;return}lE(s,38861,1);x=0;sa(484,p|0,s|0);q=x;x=0;if(q&1){t=mb()|0;P1(s);yb(t|0)}else{P1(s);r=t;return}}function yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;o=0;t=r;r=r+32|0;m=t+12|0;n=t;p=b+1|0;q=b+8|0;s=b+4|0;d=0;a:while(1){c=i[b>>0]|0;if(!(c&1)){f=(c&255)>>>1;l=p}else{f=k[s>>2]|0;l=k[q>>2]|0}if(f>>>0>>0|(f-d|0)>>>0<3)break;e=l+d|0;h=l+f|0;if((h-e|0)<3)break;g=h+-2|0;if((g|0)==(e|0))break;b:while(1){if((i[e>>0]|0)==47){d=e;f=34224;do{f=f+1|0;if((f|0)==34227)break b;d=d+1|0}while((i[d>>0]|0)==(i[f>>0]|0))}e=e+1|0;if((e|0)==(g|0))break a}d=e-l|0;if((e|0)==(h|0)|(d|0)==-1)break;Wz(b,d,2)|0}while(1){if(!(c&1))c=(c&255)>>>1;else c=k[s>>2]|0;if(c>>>0<=1)break;wD(m,b,0,2,b);l=(KH(m,34228)|0)==0;P1(m);if(!l)break;Wz(b,0,2)|0;c=i[b>>0]|0}while(1){c=j[b>>1]|0;d=c&255;if(!(d&1))e=(c&254)>>>1;else e=k[s>>2]|0;if(e>>>0<=1)break;c=e+-2|0;wD(n,b,c,-1,b);m=(KH(n,34231)|0)==0;P1(n);if(!m){o=27;break}Wz(b,c,-1)|0}if((o|0)==27){d=j[b>>1]|0;c=d;d=d&255}if(!(d&1))c=(c&65535)>>>8&255;else c=i[k[q>>2]>>0]|0;if(!(c<<24>>24))c=0;else{if(!(d&1))c=p;else c=k[q>>2]|0;if(c9(c)|0){f=0;while(1){e=(i[b>>0]&1)==0;if(e)c=p;else c=k[q>>2]|0;if(!(i[c+f>>0]|0)){d=f;break}d=f+1|0;if(e)c=p;else c=k[q>>2]|0;if(b2(c+f|0)|0)f=d;else break}if(!d)c=0;else{if(!(i[b>>0]&1))c=p;else c=k[q>>2]|0;c=((i[c+d>>0]|0)==58&1)+d|0}}else c=0}f=i[b>>0]|0;if(!(f&1))while(1){d=c+1|0;if((i[b+1+c>>0]|0)==47)c=d;else{c=f;break}}else{e=k[q>>2]|0;while(1){d=c+1|0;if((i[e+c>>0]|0)==47)c=d;else{c=f;break}}}c:while(1){if(!(c&1)){e=(c&255)>>>1;h=p}else{e=k[s>>2]|0;h=k[q>>2]|0}if(e>>>0>>0|(e-d|0)>>>0<2){o=61;break}c=h+d|0;g=h+e|0;if((g-c|0)<2){o=61;break}f=g+-1|0;if((f|0)==(c|0)){o=61;break}d:while(1){if((i[c>>0]|0)==47){d=c;e=43507;do{e=e+1|0;if((e|0)==43509)break d;d=d+1|0}while((i[d>>0]|0)==(i[e>>0]|0))}c=c+1|0;if((c|0)==(f|0)){o=61;break c}}d=c-h|0;if((c|0)==(g|0)|(d|0)==-1){o=61;break}Wz(b,d,1)|0;c=i[b>>0]|0}if((o|0)==61){k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;r=t;return}}function zi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;f=k[a>>2]|0;do if(!f)h=1;else{g=k[f+12>>2]|0;if((g|0)==(k[f+16>>2]|0))f=tc[k[(k[f>>2]|0)+36>>2]&511](f)|0;else f=k[g>>2]|0;if((f|0)==-1){k[a>>2]=0;h=1;break}else{h=(k[a>>2]|0)==0;break}}while(0);g=k[b>>2]|0;do if(!g)o=14;else{f=k[g+12>>2]|0;if((f|0)==(k[g+16>>2]|0))f=tc[k[(k[g>>2]|0)+36>>2]&511](g)|0;else f=k[f>>2]|0;if((f|0)==-1){k[b>>2]=0;o=14;break}else if(h){o=17;break}else{o=16;break}}while(0);if((o|0)==14)if(h)o=16;else{g=0;o=17}a:do if((o|0)==16){k[c>>2]=k[c>>2]|6;f=0}else if((o|0)==17){f=k[a>>2]|0;h=k[f+12>>2]|0;if((h|0)==(k[f+16>>2]|0))f=tc[k[(k[f>>2]|0)+36>>2]&511](f)|0;else f=k[h>>2]|0;if(!(wc[k[(k[d>>2]|0)+12>>2]&127](d,2048,f)|0)){k[c>>2]=k[c>>2]|4;f=0;break}f=(wc[k[(k[d>>2]|0)+52>>2]&127](d,f,0)|0)<<24>>24;h=k[a>>2]|0;i=h+12|0;j=k[i>>2]|0;if((j|0)==(k[h+16>>2]|0)){tc[k[(k[h>>2]|0)+40>>2]&511](h)|0;m=e;l=g;i=g}else{k[i>>2]=j+4;m=e;l=g;i=g}while(1){f=f+-48|0;n=m+-1|0;g=k[a>>2]|0;do if(!g)j=1;else{h=k[g+12>>2]|0;if((h|0)==(k[g+16>>2]|0))g=tc[k[(k[g>>2]|0)+36>>2]&511](g)|0;else g=k[h>>2]|0;if((g|0)==-1){k[a>>2]=0;j=1;break}else{j=(k[a>>2]|0)==0;break}}while(0);do if(!i){i=l;e=0;g=1}else{g=k[i+12>>2]|0;if((g|0)==(k[i+16>>2]|0))g=tc[k[(k[i>>2]|0)+36>>2]&511](i)|0;else g=k[g>>2]|0;if((g|0)==-1){k[b>>2]=0;i=0;e=0;g=1;break}else{i=l;e=l;g=(l|0)==0;break}}while(0);h=k[a>>2]|0;if(!((m|0)>1&(j^g)))break;g=k[h+12>>2]|0;if((g|0)==(k[h+16>>2]|0))g=tc[k[(k[h>>2]|0)+36>>2]&511](h)|0;else g=k[g>>2]|0;if(!(wc[k[(k[d>>2]|0)+12>>2]&127](d,2048,g)|0))break a;f=((wc[k[(k[d>>2]|0)+52>>2]&127](d,g,0)|0)<<24>>24)+(f*10|0)|0;g=k[a>>2]|0;h=g+12|0;j=k[h>>2]|0;if((j|0)==(k[g+16>>2]|0)){tc[k[(k[g>>2]|0)+40>>2]&511](g)|0;m=n;l=i;i=e;continue}else{k[h>>2]=j+4;m=n;l=i;i=e;continue}}do if(!h)h=1;else{g=k[h+12>>2]|0;if((g|0)==(k[h+16>>2]|0))g=tc[k[(k[h>>2]|0)+36>>2]&511](h)|0;else g=k[g>>2]|0;if((g|0)==-1){k[a>>2]=0;h=1;break}else{h=(k[a>>2]|0)==0;break}}while(0);do if(!i)o=60;else{g=k[i+12>>2]|0;if((g|0)==(k[i+16>>2]|0))g=tc[k[(k[i>>2]|0)+36>>2]&511](i)|0;else g=k[g>>2]|0;if((g|0)==-1){k[b>>2]=0;o=60;break}else if(h)break a;else break}while(0);if((o|0)==60)if(!h)break;k[c>>2]=k[c>>2]|2}while(0);return f|0}function Ai(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=0;s=b+12|0;f=k[s>>2]|0;e=k[c+12>>2]|0;if((f|0)==(e|0)){b=d;b=k[b>>2]|0;d=d+4|0;d=k[d>>2]|0;c=a;k[c>>2]=b;a=a+4|0;k[a>>2]=d;return}u=b+8|0;v=c+8|0;w=c+8|0;x=d+4|0;t=b+8|0;do{h=d;r=k[h>>2]|0;g=r;r=(k[h+4>>2]|0)-(k[r>>2]|0)|0;h=(r|0)/24|0;i=h+-1|0;if((r|0)>24){g=g+(((i|0)/170|0)<<2)|0;h=(k[g>>2]|0)+(((i|0)%170|0)*24|0)|0}else{h=170-h|0;g=g+(((h|0)/-170|0)<<2)|0;h=(k[g>>2]|0)+((169-((h|0)%170|0)|0)*24|0)|0}i=k[g>>2]|0;m=h+24|0;h=m;l=(h-i|0)/24|0;if((f|0)==(e|0))g=0;else{g=k[w>>2]|0;r=k[t>>2]|0;g=((r-g>>2)*170|0)+((f-(k[r>>2]|0)|0)/24|0)+((e-(k[g>>2]|0)|0)/-24|0)|0}if((g|0)>(l|0)){f=v;g=k[f>>2]|0;j=g;do if((h|0)==(i|0)){g=k[v>>2]|0;f=e}else{f=(((k[f+4>>2]|0)-(k[g>>2]|0)|0)/24|0)+l|0;if((f|0)>0){r=j+(((f|0)/170|0)<<2)|0;g=r;f=(k[r>>2]|0)+(((f|0)%170|0)*24|0)|0;break}else{f=169-f|0;r=j+(((f|0)/-170|0)<<2)|0;g=r;f=(k[r>>2]|0)+((169-((f|0)%170|0)|0)*24|0)|0;break}}while(0);r=f;f=r;q=g;p=g;h=j}else{p=u;r=b;f=k[p+4>>2]|0;q=k[r>>2]|0;r=k[r+4>>2]|0;p=k[p>>2]|0;h=k[w>>2]|0;l=g}g=e;e=f;if((e|0)!=(g|0)){o=m;i=h;while(1){n=o;o=o+-24|0;j=g+24|0;g=j;h=k[i>>2]|0;if((g-h|0)==4080){g=i+4|0;h=g;g=k[g>>2]|0;y=19}else if((j|0)==(h|0)){h=i;y=19}else{m=i;h=j}if((y|0)==19){y=0;m=h;h=(k[h+-4>>2]|0)+4080|0}i=h+-24|0;k[o>>2]=k[i>>2];k[o+4>>2]=k[i+4>>2];k[o+8>>2]=k[i+8>>2];k[o+12>>2]=k[i+12>>2];i=k[h+-8>>2]|0;j=k[h+-4>>2]|0;if(j|0)c3(j);k[n+-8>>2]=i;n=n+-4|0;h=k[n>>2]|0;k[n>>2]=j;if(h|0)CQ(h);if((e|0)==(g|0))break;else i=m}}o=c;k[o>>2]=q;k[o+4>>2]=r;r=v;k[r>>2]=p;k[r+4>>2]=f;do if(l|0){g=k[d>>2]|0;f=(((k[x>>2]|0)-(k[g>>2]|0)|0)/24|0)-l|0;if((f|0)>0){r=g+(((f|0)/170|0)<<2)|0;k[d>>2]=r;k[x>>2]=(k[r>>2]|0)+(((f|0)%170|0)*24|0);break}else{r=169-f|0;q=g+(((r|0)/-170|0)<<2)|0;k[d>>2]=q;k[x>>2]=(k[q>>2]|0)+((169-((r|0)%170|0)|0)*24|0);break}}while(0);f=k[s>>2]|0}while((f|0)!=(e|0));b=d;b=k[b>>2]|0;d=d+4|0;d=k[d>>2]|0;c=a;k[c>>2]=b;a=a+4|0;k[a>>2]=d;return}function Bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+80|0;f=t;u=t+48|0;o=t+44|0;p=t+40|0;q=a+24|0;s=a+28|0;c=k[s>>2]|0;if((c|0)==(k[q>>2]|0))c=0;else c=k[c+-4>>2]|0;nB(u,c,0);j=(k[a+4>>2]|0)+36|0;x=0;l=Ka(856,j|0,88)|0;n=x;x=0;do if(!(n&1)){g=(k[b+72>>2]|0)-(k[b+68>>2]|0)|0;m=g>>2;n=i[b+84>>0]|0;c=f;d=b+8|0;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));k[l+4>>2]=0;c=l+8|0;d=f;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));k[l>>2]=9548;k[l+52>>2]=0;k[l+56>>2]=0;i[l+60>>0]=0;d=l+64|0;k[d>>2]=9636;f=l+68|0;k[f>>2]=0;h=l+72|0;k[h>>2]=0;k[l+76>>2]=0;e=f+8|0;do if(m|0){x=0;c=ua(186,g|0)|0;g=x;x=0;if(!(g&1)){h=c;k[f>>2]=h;k[f+4>>2]=h;k[e>>2]=c+(m<<2);break}e=mb()|0;c=k[f>>2]|0;if(!c){t=e;a=u+20|0;iB(a);a=u+4|0;a=k[a>>2]|0;az(u,a);yb(t|0)}d=k[h>>2]|0;if((d|0)!=(c|0))k[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);t=e;a=u+20|0;iB(a);a=u+4|0;a=k[a>>2]|0;az(u,a);yb(t|0)}while(0);k[l>>2]=9664;k[d>>2]=9756;i[l+84>>0]=n;i[l+85>>0]=0;i[l+86>>0]=0;i[l+87>>0]=0;x=0;d=Ka(857,j|0,l|0)|0;n=x;x=0;if(!(n&1)){k[o>>2]=d;e=a+40|0;c=k[e>>2]|0;if((c|0)==(k[a+44>>2]|0)){x=0;sa(501,a+36|0,o|0);o=x;x=0;if(o&1)break}else{k[c>>2]=d;k[e>>2]=(k[e>>2]|0)+4}k[p>>2]=u;c=k[s>>2]|0;if(c>>>0<(k[a+32>>2]|0)>>>0){k[c>>2]=u;k[s>>2]=(k[s>>2]|0)+4}else{x=0;sa(488,q|0,p|0);q=x;x=0;if(q&1)break}x=0;sa(502,a|0,b|0);a=x;x=0;if(!(a&1)){k[e>>2]=(k[e>>2]|0)+-4;k[s>>2]=(k[s>>2]|0)+-4;iB(u+20|0);az(u,k[u+4>>2]|0);r=t;return d|0}}}while(0);t=mb()|0;a=u+20|0;iB(a);a=u+4|0;a=k[a>>2]|0;az(u,a);yb(t|0);return 0}function Ci(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=0;z=r;r=r+176|0;p=z+56|0;A=z+52|0;w=z+164|0;t=z+161|0;y=z+160|0;B=z+40|0;D=z+28|0;C=z+16|0;l=z+12|0;o=z+60|0;v=z+8|0;u=z+4|0;q=z;a=TN(d)|0;k[A>>2]=a;x=0;s=Ka(865,A|0,74172)|0;n=x;x=0;do if(n&1)E=22;else{m=i[f>>0]|0;g=(m&1)==0;n=f+4|0;if(!((g?(m&255)>>>1:k[n>>2]|0)|0))m=0;else{g=i[(g?f+1|0:k[f+8>>2]|0)>>0]|0;x=0;h=Ka(k[(k[s>>2]|0)+28>>2]|0,s|0,45)|0;m=x;x=0;if(m&1){E=22;break}m=g<<24>>24==h<<24>>24}g=0;while(1){if((g|0)==3)break;k[B+(g<<2)>>2]=0;g=g+1|0}g=0;while(1){if((g|0)==3)break;k[D+(g<<2)>>2]=0;g=g+1|0}g=0;while(1){if((g|0)==3)break;k[C+(g<<2)>>2]=0;g=g+1|0}x=0;Ja(3,c|0,m|0,A|0,w|0,t|0,y|0,B|0,D|0,C|0,l|0);j=x;x=0;if(j&1)g=mb()|0;else{j=i[f>>0]|0;c=k[n>>2]|0;g=(j&1)==0?(j&255)>>>1:c;l=k[l>>2]|0;if((g|0)>(l|0)){F=i[C>>0]|0;h=i[D>>0]|0;g=(g-l<<1|1)+l+((F&1)==0?(F&255)>>>1:k[C+4>>2]|0)+((h&1)==0?(h&255)>>>1:k[D+4>>2]|0)|0}else{F=i[C>>0]|0;g=i[D>>0]|0;g=l+2+((F&1)==0?(F&255)>>>1:k[C+4>>2]|0)+((g&1)==0?(g&255)>>>1:k[D+4>>2]|0)|0}if(g>>>0>100){g=hd(g)|0;h=g;if(!g){x=0;pa(6);F=x;x=0;if(!(F&1)){j=i[f>>0]|0;c=k[n>>2]|0;g=0;E=26}}else E=26}else{h=0;g=o;E=26}if((E|0)==26){F=(j&1)==0;f=F?f+1|0:k[f+8>>2]|0;x=0;za(1,g|0,v|0,u|0,k[d+4>>2]|0,f|0,f+(F?(j&255)>>>1:c)|0,s|0,m|0,w|0,i[t>>0]|0,i[y>>0]|0,B|0,D|0,C|0,l|0);F=x;x=0;if(!(F&1)){k[q>>2]=k[b>>2];b=k[v>>2]|0;F=k[u>>2]|0;x=0;k[p>>2]=k[q>>2];g=ta(39,p|0,g|0,b|0,F|0,d|0,e|0)|0;F=x;x=0;if(!(F&1)){if(h){cf(h);a=k[A>>2]|0}P1(C);P1(D);P1(B);sK(a)|0;r=z;return g|0}}}g=mb()|0;if(h){cf(h);a=k[A>>2]|0}}P1(C);P1(D);P1(B)}while(0);if((E|0)==22)g=mb()|0;sK(a)|0;yb(g|0);return 0}function Di(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=0;z=r;r=r+480|0;o=z+468|0;A=z+464|0;w=z+472|0;t=z+460|0;y=z+456|0;B=z+444|0;D=z+432|0;C=z+420|0;l=z+416|0;n=z+16|0;v=z+8|0;u=z+4|0;p=z;a=TN(d)|0;k[A>>2]=a;x=0;q=Ka(865,A|0,74204)|0;s=x;x=0;do if(s&1)E=22;else{m=i[f>>0]|0;g=(m&1)==0;s=f+4|0;if(!((g?(m&255)>>>1:k[s>>2]|0)|0))m=0;else{g=k[(g?s:k[f+8>>2]|0)>>2]|0;x=0;h=Ka(k[(k[q>>2]|0)+44>>2]|0,q|0,45)|0;m=x;x=0;if(m&1){E=22;break}m=(g|0)==(h|0)}g=0;while(1){if((g|0)==3)break;k[B+(g<<2)>>2]=0;g=g+1|0}g=0;while(1){if((g|0)==3)break;k[D+(g<<2)>>2]=0;g=g+1|0}g=0;while(1){if((g|0)==3)break;k[C+(g<<2)>>2]=0;g=g+1|0}x=0;Ja(4,c|0,m|0,A|0,w|0,t|0,y|0,B|0,D|0,C|0,l|0);j=x;x=0;if(j&1)g=mb()|0;else{j=i[f>>0]|0;c=k[s>>2]|0;g=(j&1)==0?(j&255)>>>1:c;l=k[l>>2]|0;if((g|0)>(l|0)){F=i[C>>0]|0;h=i[D>>0]|0;g=(g-l<<1|1)+l+((F&1)==0?(F&255)>>>1:k[C+4>>2]|0)+((h&1)==0?(h&255)>>>1:k[D+4>>2]|0)|0}else{F=i[C>>0]|0;g=i[D>>0]|0;g=l+2+((F&1)==0?(F&255)>>>1:k[C+4>>2]|0)+((g&1)==0?(g&255)>>>1:k[D+4>>2]|0)|0}if(g>>>0>100){g=hd(g<<2)|0;h=g;if(!g){x=0;pa(6);F=x;x=0;if(!(F&1)){j=i[f>>0]|0;c=k[s>>2]|0;g=0;E=26}}else E=26}else{h=0;g=n;E=26}if((E|0)==26){F=(j&1)==0;f=F?s:k[f+8>>2]|0;x=0;za(2,g|0,v|0,u|0,k[d+4>>2]|0,f|0,f+((F?(j&255)>>>1:c)<<2)|0,q|0,m|0,w|0,k[t>>2]|0,k[y>>2]|0,B|0,D|0,C|0,l|0);F=x;x=0;if(!(F&1)){k[p>>2]=k[b>>2];b=k[v>>2]|0;F=k[u>>2]|0;x=0;k[o>>2]=k[p>>2];g=ta(127,o|0,g|0,b|0,F|0,d|0,e|0)|0;F=x;x=0;if(!(F&1)){if(h){cf(h);a=k[A>>2]|0}O1(C);O1(D);P1(B);sK(a)|0;r=z;return g|0}}}g=mb()|0;if(h){cf(h);a=k[A>>2]|0}}O1(C);O1(D);P1(B)}while(0);if((E|0)==22)g=mb()|0;sK(a)|0;yb(g|0);return 0}function Ei(a){a=a|0;var b=0;a:do if(!(i[67984]|0))if(q3(67984)|0){if(!(i[67992]|0))if(q3(67992)|0){a=75228;do{b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}a=a+12|0}while((a|0)!=75516);Ub(359,0,w|0)|0}x=0;Ka(910,75228,22988)|0;b=x;x=0;do if(!(b&1)){x=0;Ka(910,75240,23020)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75252,23056)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75264,23080)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75276,23104)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75288,23120)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75300,23140)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75312,23160)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75324,23188)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75336,23228)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75348,23260)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75360,23296)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75372,23332)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75384,23348)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75396,23364)|0;b=x;x=0;if(!(b&1)){x=0;Ka(910,75408,23380)|0;b=x;x=0;if(b&1)break;x=0;Ka(910,75420,23104)|0;b=x;x=0;if(b&1)break;x=0;Ka(910,75432,23396)|0;b=x;x=0;if(b&1)break;x=0;Ka(910,75444,23412)|0;b=x;x=0;if(b&1)break;x=0;Ka(910,75456,23428)|0;b=x;x=0;if(b&1)break;x=0;Ka(910,75468,23444)|0;b=x;x=0;if(b&1)break;x=0;Ka(910,75480,23460)|0;b=x;x=0;if(b&1)break;x=0;Ka(910,75492,23476)|0;b=x;x=0;if(b&1)break;x=0;Ka(910,75504,23492)|0;b=x;x=0;if(b&1)break;k[18879]=75228;break a}}}}}}}}}}}}}}}while(0);b=mb()|0;yb(b|0)}while(0);return k[18879]|0}function Fi(a){a=a|0;var b=0;a:do if(!(i[67904]|0))if(q3(67904)|0){if(!(i[67912]|0))if(q3(67912)|0){a=74416;do{b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}a=a+12|0}while((a|0)!=74704);Ub(356,0,w|0)|0}x=0;Ka(874,74416,49839)|0;b=x;x=0;do if(!(b&1)){x=0;Ka(874,74428,49847)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74440,49856)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74452,49862)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74464,49868)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74476,49872)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74488,49877)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74500,49882)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74512,49889)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74524,49899)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74536,49907)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74548,49916)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74560,49925)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74572,49929)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74584,49933)|0;b=x;x=0;if(!(b&1)){x=0;Ka(874,74596,49937)|0;b=x;x=0;if(b&1)break;x=0;Ka(874,74608,49868)|0;b=x;x=0;if(b&1)break;x=0;Ka(874,74620,49941)|0;b=x;x=0;if(b&1)break;x=0;Ka(874,74632,49945)|0;b=x;x=0;if(b&1)break;x=0;Ka(874,74644,49949)|0;b=x;x=0;if(b&1)break;x=0;Ka(874,74656,49953)|0;b=x;x=0;if(b&1)break;x=0;Ka(874,74668,49957)|0;b=x;x=0;if(b&1)break;x=0;Ka(874,74680,49961)|0;b=x;x=0;if(b&1)break;x=0;Ka(874,74692,49965)|0;b=x;x=0;if(b&1)break;k[18676]=74416;break a}}}}}}}}}}}}}}}while(0);b=mb()|0;yb(b|0)}while(0);return k[18676]|0}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=0;s=r;r=r+64|0;o=s;p=s+40|0;j=s+52|0;k[p>>2]=0;t=p+4|0;k[t>>2]=0;k[p+8>>2]=0;c=(k[a+8>>2]|0)+36|0;x=0;d=Ka(856,c|0,100)|0;n=x;x=0;a:do if(n&1)q=8;else{e=o;f=b+8|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+4>>2]=0;e=d+8|0;f=o;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;n=d+56|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[d+52>>2]=7;k[d+72>>2]=0;k[d+76>>2]=0;k[d+80>>2]=0;k[d>>2]=7828;k[d+68>>2]=7968;k[d+88>>2]=0;k[d+92>>2]=0;k[d+96>>2]=0;x=0;n=Ka(857,c|0,d|0)|0;m=x;x=0;if(m&1)q=8;else{h=b+59|0;c=n+59|0;i[c>>0]=i[h>>0]|0;k[n+60>>2]=k[b+60>>2];i[c>>0]=i[h>>0]|0;c=k[b+72>>2]|0;h=(k[b+76>>2]|0)-c>>2;b:do if(h|0){f=b+72|0;g=p+8|0;d=0;while(1){x=0;c=Ka(k[(k[a>>2]|0)+268>>2]|0,a|0,k[c+(d<<2)>>2]|0)|0;m=x;x=0;if(m&1)break;k[j>>2]=c;e=k[t>>2]|0;if(e>>>0<(k[g>>2]|0)>>>0){k[e>>2]=c;k[t>>2]=(k[t>>2]|0)+4}else{x=0;sa(483,p|0,j|0);m=x;x=0;if(m&1)break}d=d+1|0;if(d>>>0>=h>>>0)break b;c=k[f>>2]|0}e=mb()|0;break a}while(0);b=n+68|0;h=b+16|0;j=b+8|0;a=b+12|0;l=b+4|0;m=0;c:while(1){d=k[p>>2]|0;g=(k[t>>2]|0)-d>>2;if(!g)break;else{c=1;f=0}while(1){e=k[d+(f<<2)>>2]|0;d=k[e+72>>2]|0;if((k[e+76>>2]|0)-d>>2>>>0>m>>>0){c=k[d+(m<<2)>>2]|0;k[o>>2]=c;d=c;if(c|0){k[h>>2]=0;e=k[j>>2]|0;if((e|0)==(k[a>>2]|0)){x=0;sa(447,l|0,o|0);e=x;x=0;if(e&1){q=6;break c}}else{k[e>>2]=d;k[j>>2]=(k[j>>2]|0)+4}x=0;sa(k[k[b>>2]>>2]|0,b|0,c|0);e=x;x=0;if(e&1){q=6;break c}}c=0}e=f+1|0;if(e>>>0>=g>>>0)break;d=k[p>>2]|0;f=e}m=m+1|0;if(c|(m|0)==-1){q=31;break}}if((q|0)==6){e=mb()|0;break}else if((q|0)==31)d=k[p>>2]|0;if(!d){r=s;return n|0}c=k[t>>2]|0;if((c|0)!=(d|0))k[t>>2]=c+(~((c+-4-d|0)>>>2)<<2);uha(d);r=s;return n|0}}while(0);if((q|0)==8)e=mb()|0;c=k[p>>2]|0;if(!c)yb(e|0);d=k[t>>2]|0;if((d|0)!=(c|0))k[t>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);yb(e|0);return 0}function Hi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;a:do if(a|0){j=i[38919]|0;e=j<<24>>24==0;if(e)b=a;else{b=a;c=j;d=38919;do{if((i[b>>0]|0)!=c<<24>>24)break a;b=b+1|0;d=d+1|0;c=i[d>>0]|0}while(c<<24>>24!=0)}c=i[b>>0]|0;if(c<<24>>24){if(e){d=0;e=0;while(1){switch(c<<24>>24){case 92:{b=b+1|0;break}case 34:{d=d^1;break}case 39:{e=e^1;break}default:if(d)d=1;else{b=e?b:b+-1|0;d=0}}b=b+1|0;c=i[b>>0]|0;if(!(c<<24>>24))break a}}else{g=b;d=0;e=0;h=0}b:while(1){c:do switch(c<<24>>24){case 92:{b=g+1|0;f=h;break}case 34:{b=g;d=d^1;f=h;break}case 39:{b=g;e=e^1;f=h;break}default:if(d){b=g;d=1;f=h}else if(e){b=g;d=0;e=1;f=h}else if(!g){b=0;d=0;e=0;f=h}else{d:do if(c<<24>>24==j<<24>>24){d=g;f=38919;while(1){b=d;d=d+1|0;f=f+1|0;e=i[f>>0]|0;if(!(e<<24>>24))break;if((i[d>>0]|0)!=e<<24>>24)break d}d=0;e=0;f=h+1|0;break c}while(0);b=i[43519]|0;e:do if(!(b<<24>>24))b=g;else{if(c<<24>>24==b<<24>>24){b=g;d=43519}else{b=g;d=0;e=0;f=h;break c}while(1){b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24))break e;if((i[b>>0]|0)!=c<<24>>24){b=g;d=0;e=0;f=h;break c}}}while(0);if(!h)break b;b=b+-1|0;d=0;e=0;f=h+-1|0}}while(0);g=b+1|0;c=i[g>>0]|0;if(!(c<<24>>24))break a;else h=f}if(b|0){a=b;return a|0}}}while(0);if((i[a>>0]|0)==45){b=a;do b=b+1|0;while((i[b>>0]|0)==45)}else b=a;b=Kt(b)|0;if(b|0){b=Jt(b)|0;if(b|0){a=b;return a|0}}b=wy(a)|0;if(b|0)if((i[b>>0]|0)==37){a=b+1|0;return a|0}b=wy(a)|0;if(b|0){b=mx(b)|0;if(b|0){a=b;return a|0}}c=a+1|0;if((i[a>>0]|0)==36){if((i[c>>0]|0)==45){b=c;do b=b+1|0;while((i[b>>0]|0)==45)}else b=c;b=Kt(b)|0;if(b|0){b=Jt(b)|0;if(b|0){a=b;return a|0}}}b=BY(a)|0;if(b|0){a=b;return a|0}if((i[a>>0]|0)!=92){a=0;return a|0}a=uaa(c)|0;return a|0}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=0;o=r;r=r+144|0;e=o;d=o+96|0;t=o+84|0;g=o+72|0;h=o+64|0;j=o+48|0;l=o+40|0;n=d;p=c+8|0;q=n+40|0;do{k[n>>2]=k[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));_G(t,68968);n=e;p=d;q=n+40|0;do{k[n>>2]=k[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));x=0;sa(487,a|0,t|0);q=x;x=0;if(q&1)d=mb()|0;else{k[a>>2]=8160;m=a+8|0;x=0;sa(430,m|0,t|0);q=x;x=0;do if(q&1)d=mb()|0;else{f=a+20|0;x=0;Qa(74,f|0,31243,5);q=x;x=0;if(q&1){d=mb()|0;P1(m);break}n=a+32|0;p=e;q=n+40|0;do{k[n>>2]=k[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));k[a+72>>2]=0;P1(t);k[a>>2]=10600;k[a+76>>2]=b;k[a+80>>2]=c;x=0;Ka(874,m|0,31280)|0;t=x;x=0;do if(t&1)s=17;else{t=k[(k[c>>2]|0)+20>>2]|0;k[h>>2]=0;k[h+4>>2]=5;x=0;k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];Qa(t|0,g|0,c|0,e|0);t=x;x=0;if(t&1)s=17;else{t=i[g>>0]|0;q=(t&1)==0;x=0;xa(46,m|0,(q?g+1|0:k[g+8>>2]|0)|0,(q?(t&255)>>>1:k[g+4>>2]|0)|0)|0;t=x;x=0;if(t&1){d=mb()|0;P1(g);break}P1(g);x=0;Ka(866,m|0,31310)|0;t=x;x=0;if(t&1)s=17;else{t=k[(k[b>>2]|0)+20>>2]|0;k[l>>2]=0;k[l+4>>2]=5;x=0;k[e>>2]=k[l>>2];k[e+4>>2]=k[l+4>>2];Qa(t|0,j|0,b|0,e|0);t=x;x=0;if(t&1)s=17;else{t=i[j>>0]|0;q=(t&1)==0;x=0;xa(46,m|0,(q?j+1|0:k[j+8>>2]|0)|0,(q?(t&255)>>>1:k[j+4>>2]|0)|0)|0;t=x;x=0;if(t&1){d=mb()|0;P1(j);break}P1(j);x=0;Ka(866,m|0,44246)|0;t=x;x=0;if(t&1)s=17;else{r=o;return}}}}}while(0);if((s|0)==17)d=mb()|0;k[a>>2]=8160;P1(f);P1(m);f4(a);a=d;yb(a|0)}while(0);f4(a)}P1(t);a=d;yb(a|0)}function Ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;l=0;t=r;r=r+32|0;m=t+28|0;j=t+24|0;i=t+20|0;q=t+16|0;n=t+12|0;s=t;o=a+4|0;k[o>>2]=0;p=a+8|0;k[p>>2]=0;u=a+4|0;k[a>>2]=u;c=k[b+72>>2]|0;h=k[b+76>>2]|0;a:do if(!c)l=17;else{b=k[c+88>>2]|0;f=c+92|0;if((b|0)==(f|0))l=17;else{g=u;d=b;c=b;while(1){d=d+16|0;k[i>>2]=g;x=0;k[m>>2]=k[i>>2];e=Pa(6,a|0,m|0,j|0,d|0)|0;b=x;x=0;if(b&1)break;if(!(k[e>>2]|0)){x=0;b=ua(186,20)|0;v=x;x=0;if(v&1)break;k[b+16>>2]=k[d>>2];d=k[j>>2]|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=d;k[e>>2]=b;d=k[k[a>>2]>>2]|0;if(d){k[a>>2]=d;b=k[e>>2]|0}hl(k[o>>2]|0,b);k[p>>2]=(k[p>>2]|0)+1}b=k[c+4>>2]|0;if(!b)while(1){b=k[c+8>>2]|0;if((k[b>>2]|0)==(c|0))break;else c=b}else while(1){c=k[b>>2]|0;if(!c)break;else b=c}if((b|0)==(f|0)){l=17;break a}else{d=b;c=b}}b=mb()|0}}while(0);do if((l|0)==17){if(!h){r=t;return}x=0;sa(518,s|0,h|0);v=x;x=0;if(v&1){b=mb()|0;break}b=k[s>>2]|0;f=s+4|0;b:do if((b|0)!=(f|0)){g=u;c=b;while(1){d=c+16|0;k[n>>2]=g;x=0;k[m>>2]=k[n>>2];e=Pa(6,a|0,m|0,q|0,d|0)|0;v=x;x=0;if(v&1)break;if(!(k[e>>2]|0)){x=0;c=ua(186,20)|0;v=x;x=0;if(v&1)break;k[c+16>>2]=k[d>>2];d=k[q>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=d;k[e>>2]=c;d=k[k[a>>2]>>2]|0;if(d){k[a>>2]=d;c=k[e>>2]|0}hl(k[o>>2]|0,c);k[p>>2]=(k[p>>2]|0)+1}c=k[b+4>>2]|0;if(!c)while(1){c=k[b+8>>2]|0;if((k[c>>2]|0)==(b|0)){b=c;break}else b=c}else{b=c;while(1){c=k[b>>2]|0;if(!c)break;else b=c}}if((b|0)==(f|0))break b;else c=b}v=mb()|0;ZD(s,k[f>>2]|0);t=a;u=k[u>>2]|0;ZD(t,u);yb(v|0)}while(0);ZD(s,k[f>>2]|0);r=t;return}while(0);v=b;t=a;u=k[u>>2]|0;ZD(t,u);yb(v|0)}function Ki(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=0;d=a+32|0;Nf(a,a+16|0,d,c)|0;c=a+48|0;if((c|0)==(b|0))return;else z=c;while(1){y=k[z>>2]|0;s=k[d>>2]|0;a:do if(y>>>0>>0){q=z+8|0;c=q;q=k[q>>2]|0;r=k[z+4>>2]|0;A=12}else if(s>>>0>=y>>>0){c=z+8|0;p=k[c>>2]|0;e=k[d+4>>2]|0;n=k[d+8>>2]|0;q=p;if((e|0)!=(n|0)){o=k[z+4>>2]|0;r=o;while(1){if((o|0)==(p|0)){A=12;break a}f=i[o>>0]|0;h=(f&1)==0;f=h?(f&255)>>>1:k[o+4>>2]|0;g=i[e>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:k[e+4>>2]|0;h=h?o+1|0:k[o+8>>2]|0;j=j?e+1|0:k[e+8>>2]|0;l=g>>>0>>0;x=tG(h,j,l?g:f)|0;m=f>>>0>>0;if((((x|0)==0?(m?-2147483648:0):x)|0)<0){A=12;break a}x=tG(j,h,m?f:g)|0;if((((x|0)==0?(l?-2147483648:0):x)|0)<0)break a;e=e+12|0;if((e|0)==(n|0))break;else o=o+12|0}}}while(0);if((A|0)==12){A=0;v=z+12|0;x=k[v>>2]|0;k[v>>2]=0;k[c>>2]=0;k[z+4>>2]=0;v=q;w=r;k[z>>2]=s;c=d+4|0;f=d+8|0;e=k[f>>2]|0;k[z+4>>2]=k[c>>2];k[z+8>>2]=e;e=d+12|0;k[z+12>>2]=k[e>>2];k[e>>2]=0;k[f>>2]=0;k[c>>2]=0;b:do if((d|0)!=(a|0)){u=d;while(1){d=u+-16|0;p=k[d>>2]|0;c:do if(y>>>0>=p>>>0){if(p>>>0>>0){d=u;break b}g=k[u+-12>>2]|0;s=k[u+-8>>2]|0;if((g|0)==(s|0)){d=u;break b}else t=w;while(1){if((t|0)==(v|0))break c;o=i[t>>0]|0;j=(o&1)==0;o=j?(o&255)>>>1:k[t+4>>2]|0;h=i[g>>0]|0;l=(h&1)==0;h=l?(h&255)>>>1:k[g+4>>2]|0;j=j?t+1|0:k[t+8>>2]|0;l=l?g+1|0:k[g+8>>2]|0;m=h>>>0>>0;B=tG(j,l,m?h:o)|0;n=o>>>0>>0;if((((B|0)==0?(n?-2147483648:0):B)|0)<0)break c;B=tG(l,j,n?o:h)|0;if((((B|0)==0?(m?-2147483648:0):B)|0)<0){d=u;break b}g=g+12|0;if((g|0)==(s|0)){d=u;break b}else t=t+12|0}}while(0);k[u>>2]=p;c=u+-12|0;f=u+-8|0;e=k[f>>2]|0;k[u+4>>2]=k[c>>2];k[u+8>>2]=e;e=u+-4|0;k[u+12>>2]=k[e>>2];k[e>>2]=0;k[f>>2]=0;k[c>>2]=0;if((d|0)==(a|0))break;else u=d}}while(0);k[d>>2]=y;k[c>>2]=r;k[f>>2]=q;k[e>>2]=x}c=z+16|0;if((c|0)==(b|0))break;else{d=z;z=c}}return}function Li(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;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;t=0;u=r;r=r+16|0;v=u;s=aR(g,74204)|0;l=aR(g,74212)|0;rc[k[(k[l>>2]|0)+20>>2]&1023](v,l);p=i[v>>0]|0;q=v+4|0;a:do if(!(((p&1)==0?(p&255)>>>1:k[q>>2]|0)|0)){x=0;Pa(k[(k[s>>2]|0)+48>>2]|0,s|0,a|0,c|0,d|0)|0;t=x;x=0;if(t&1)t=5;else{g=d+(c-a<<2)|0;k[f>>2]=g;t=29}}else{k[f>>2]=d;g=i[a>>0]|0;switch(g<<24>>24){case 43:case 45:{x=0;g=Ka(k[(k[s>>2]|0)+44>>2]|0,s|0,g|0)|0;p=x;x=0;if(p&1){t=5;break a}j=k[f>>2]|0;k[f>>2]=j+4;k[j>>2]=g;j=a+1|0;break}default:j=a}b:do if((c-j|0)>1)if((i[j>>0]|0)==48){g=j+1|0;switch(i[g>>0]|0){case 88:case 120:break;default:{p=j;break b}}x=0;h=Ka(k[(k[s>>2]|0)+44>>2]|0,s|0,48)|0;p=x;x=0;if(p&1){t=5;break a}p=k[f>>2]|0;k[f>>2]=p+4;k[p>>2]=h;x=0;g=Ka(k[(k[s>>2]|0)+44>>2]|0,s|0,i[g>>0]|0)|0;p=x;x=0;if(p&1){t=5;break a}p=k[f>>2]|0;k[f>>2]=p+4;k[p>>2]=g;p=j+2|0}else p=j;else p=j;while(0);c:do if((p|0)!=(c|0)){g=c;h=p;while(1){g=g+-1|0;if(h>>>0>=g>>>0)break c;o=i[h>>0]|0;i[h>>0]=i[g>>0]|0;i[g>>0]=o;h=h+1|0}}while(0);x=0;l=ua(k[(k[l>>2]|0)+16>>2]|0,l|0)|0;o=x;x=0;if(o&1)t=5;else{m=v+8|0;n=v+1|0;g=0;h=0;o=p;while(1){if(o>>>0>=c>>>0)break;j=i[((i[v>>0]&1)==0?n:k[m>>2]|0)+h>>0]|0;if(j<<24>>24!=0&(g|0)==(j<<24>>24|0)){g=k[f>>2]|0;k[f>>2]=g+4;k[g>>2]=l;g=i[v>>0]|0;j=0;h=(h>>>0<(((g&1)==0?(g&255)>>>1:k[q>>2]|0)+-1|0)>>>0&1)+h|0}else j=g;x=0;g=Ka(k[(k[s>>2]|0)+44>>2]|0,s|0,i[o>>0]|0)|0;w=x;x=0;if(w&1){t=4;break}w=k[f>>2]|0;k[f>>2]=w+4;k[w>>2]=g;g=j+1|0;o=o+1|0}if((t|0)==4){g=mb()|0;break}j=a;g=d+(p-j<<2)|0;h=k[f>>2]|0;if((g|0)==(h|0)){a=j;t=29}else{a=h;while(1){a=a+-4|0;if(g>>>0>=a>>>0){a=j;g=h;t=29;break a}w=k[g>>2]|0;k[g>>2]=k[a>>2];k[a>>2]=w;g=g+4|0}}}}while(0);if((t|0)==5)g=mb()|0;else if((t|0)==29){k[e>>2]=(b|0)==(c|0)?g:d+(b-a<<2)|0;P1(v);r=u;return}P1(v);yb(g|0)}function Mi(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;w=r;r=r+16|0;v=w;k[a+4>>2]=0;g=a+8|0;f=g+40|0;do{k[g>>2]=k[b>>2];g=g+4|0;b=b+4|0}while((g|0)<(f|0));i[a+48>>0]=0;i[a+49>>0]=0;i[a+50>>0]=0;s=a+52|0;k[s>>2]=0;k[a>>2]=4624;p[a+56>>3]=c;i[a+64>>0]=e&1;z=a+68|0;y=a+72|0;t=a+80|0;u=a+84|0;k[z>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;k[z+12>>2]=0;k[z+16>>2]=0;k[z+20>>2]=0;k[z+24>>2]=0;f=i[d>>0]|0;if(!(f&1))b=(f&255)>>>1;else b=k[d+4>>2]|0;if(!b){k[s>>2]=2;r=w;return}m=d+1|0;n=v+4|0;o=d+8|0;q=a+76|0;j=a+88|0;l=d+4|0;a=0;h=1;a:while(1){if(!(f&1)){f=(f&255)>>>1;g=m}else{f=k[l>>2]|0;g=k[o>>2]|0}if(f>>>0>a>>>0){b=g+a|0;e=g+f|0;b:do if((f|0)!=(a|0))while(1){switch(i[b>>0]|0){case 42:case 47:break b;default:{}}b=b+1|0;if((b|0)==(e|0)){b=e;break b}}while(0);g=(b|0)==(e|0)?-1:b-g|0}else g=-1;f=(g|0)==-1;x=0;qa(4,v|0,d|0,a|0,(f?-1:g-a|0)|0,d|0);a=x;x=0;if(a&1){b=20;break}a=i[v>>0]|0;do if(((a&1)==0?(a&255)>>>1:k[n>>2]|0)|0)if(h){b=k[y>>2]|0;if((b|0)==(k[q>>2]|0)){x=0;sa(439,z|0,v|0);a=x;x=0;if(a&1){b=21;break a}else break}x=0;sa(430,b|0,v|0);a=x;x=0;if(a&1){b=21;break a}k[y>>2]=(k[y>>2]|0)+12;break}else{b=k[u>>2]|0;if((b|0)==(k[j>>2]|0)){x=0;sa(439,t|0,v|0);a=x;x=0;if(a&1){b=21;break a}else break}x=0;sa(430,b|0,v|0);a=x;x=0;if(a&1){b=21;break a}k[u>>2]=(k[u>>2]|0)+12;break}while(0);if(f){b=30;break}if(!(i[d>>0]&1))b=m;else b=k[o>>2]|0;e=h&(i[b+g>>0]|0)!=47;P1(v);f=i[d>>0]|0;a=g+1|0;h=e}if((b|0)==20)g=mb()|0;else if((b|0)==21){g=mb()|0;P1(v)}else if((b|0)==30){P1(v);k[s>>2]=2;r=w;return}b=k[t>>2]|0;if(b|0){f=k[u>>2]|0;if((f|0)!=(b|0)){do{w=f+-12|0;k[u>>2]=w;P1(w);f=k[u>>2]|0}while((f|0)!=(b|0));b=k[t>>2]|0}uha(b)}b=k[z>>2]|0;if(!b)yb(g|0);f=k[y>>2]|0;if((f|0)!=(b|0)){do{w=f+-12|0;k[y>>2]=w;P1(w);f=k[y>>2]|0}while((f|0)!=(b|0));b=k[z>>2]|0}uha(b);yb(g|0)}function Ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+64|0;c=m+48|0;h=m+36|0;g=m+24|0;n=m+12|0;j=m;l=a+4|0;Tu(l);lE(c,38818,5);x=0;Qa(134,l|0,c|0,b|0);i=x;x=0;if(i&1){n=mb()|0;P1(c);yb(n|0)}P1(c);vba(l);i=b+68|0;wq(h,i);x=0;sa(484,l|0,k[h>>2]|0);f=x;x=0;if(f&1){g=mb()|0;e=M;c=k[h>>2]|0;if(!c){n=g;yb(n|0)}f=h+4|0;d=k[f>>2]|0;if((d|0)!=(c|0)){do{n=d+-12|0;k[f>>2]=n;P1(n);d=k[f>>2]|0}while((d|0)!=(c|0));c=k[h>>2]|0}uha(c);n=g;yb(n|0)}c=k[h>>2]|0;if(c|0){e=h+4|0;d=k[e>>2]|0;if((d|0)!=(c|0)){do{f=d+-12|0;k[e>>2]=f;P1(f);d=k[e>>2]|0}while((d|0)!=(c|0));c=k[h>>2]|0}uha(c)}wq(g,i);f=g+4|0;d=k[f>>2]|0;c=k[g>>2]|0;h=(d-c|0)/12|0;e=c;if(c|0){if((d|0)!=(e|0)){c=d;do{d=c+-12|0;k[f>>2]=d;P1(d);c=k[f>>2]|0}while((c|0)!=(e|0));c=k[g>>2]|0}uha(c)}a:do if(h>>>0>1){g=n+4|0;e=1;while(1){Qw(l);wq(n,i);x=0;sa(484,l|0,(k[n>>2]|0)+(e*12|0)|0);f=x;x=0;if(f&1)break;c=k[n>>2]|0;if(c|0){d=k[g>>2]|0;if((d|0)!=(c|0)){do{f=d+-12|0;k[g>>2]=f;P1(f);d=k[g>>2]|0}while((d|0)!=(c|0));c=k[n>>2]|0}uha(c)}e=e+1|0;if(e>>>0>=h>>>0)break a}f=mb()|0;e=M;c=k[n>>2]|0;if(!c){n=f;yb(n|0)}d=k[g>>2]|0;if((d|0)!=(c|0)){do{m=d+-12|0;k[g>>2]=m;P1(m);d=k[g>>2]|0}while((d|0)!=(c|0));c=k[n>>2]|0}uha(c);n=f;yb(n|0)}while(0);lE(j,38824,4);x=0;sa(484,l|0,j|0);n=x;x=0;if(!(n&1)){P1(j);n=k[b+80>>2]|0;rc[k[(k[n>>2]|0)+28>>2]&1023](n,a);n=k[b+64>>2]|0;rc[k[(k[n>>2]|0)+28>>2]&1023](n,a);r=m;return}n=mb()|0;P1(j);yb(n|0)}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+48|0;z=C;if(!(tc[k[(k[a>>2]|0)+96>>2]&511](a)|0)){c=a;r=C;return c|0}A=c+36|0;d=lD(A,100)|0;B=a+8|0;e=z;f=B;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+4>>2]=0;e=d+8|0;f=z;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;y=d+56|0;k[y>>2]=0;k[y+4>>2]=0;k[y+8>>2]=0;k[d+52>>2]=7;k[d+72>>2]=0;k[d+76>>2]=0;k[d+80>>2]=0;k[d>>2]=7828;k[d+68>>2]=7968;k[d+88>>2]=0;k[d+92>>2]=0;k[d+96>>2]=0;d=N4(A,d)|0;y=(k[b+76>>2]|0)-(k[b+72>>2]|0)>>2;if(!y){c=d;r=C;return c|0}u=b+72|0;v=a+72|0;w=a+76|0;x=d+68|0;n=a+72|0;o=x+16|0;p=x+8|0;q=x+12|0;s=x+4|0;t=0;do{b=lD(A,100)|0;e=z;f=B;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[b+4>>2]=0;e=b+8|0;f=z;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;m=b+56|0;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[b+52>>2]=7;k[b+72>>2]=0;k[b+76>>2]=0;k[b+80>>2]=0;k[b>>2]=7828;k[b+68>>2]=7968;k[b+88>>2]=0;k[b+92>>2]=0;k[b+96>>2]=0;m=N4(A,b)|0;b=m+68|0;a=k[(k[u>>2]|0)+(t<<2)>>2]|0;k[z>>2]=a;e=a;if(a|0){k[b+16>>2]=0;f=b+8|0;g=k[f>>2]|0;if((g|0)==(k[b+12>>2]|0))kw(b+4|0,z);else{k[g>>2]=e;k[f>>2]=(k[f>>2]|0)+4}rc[k[k[b>>2]>>2]&1023](b,a)}b=k[v>>2]|0;l=(k[w>>2]|0)-b>>2;a:do if(l|0){a=0;while(1){b=Pd(k[b+(a<<2)>>2]|0,m,c)|0;b=(b|0)==0?0:b+68|0;e=k[b+4>>2]|0;j=(k[b+8>>2]|0)-e>>2;b:do if(j|0){h=b+4|0;b=0;while(1){f=k[e+(b<<2)>>2]|0;k[z>>2]=f;g=f;if(f|0){k[o>>2]=0;e=k[p>>2]|0;if((e|0)==(k[q>>2]|0))kw(s,z);else{k[e>>2]=g;k[p>>2]=(k[p>>2]|0)+4}rc[k[k[x>>2]>>2]&1023](x,f)}b=b+1|0;if((b|0)==(j|0))break b;e=k[h>>2]|0}}while(0);a=a+1|0;if((a|0)==(l|0))break a;b=k[n>>2]|0}}while(0);t=t+1|0}while((t|0)!=(y|0));r=C;return d|0}function Pi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=0;switch(i[a>>0]|0){case 42:{b=a+1|0;break}case 45:{b=a;do b=b+1|0;while((i[b>>0]|0)==45);f=3;break}default:{b=a;f=3}}do if((f|0)==3){c=Kt(b)|0;if(c|0){c=Jt(c)|0;if(c|0){b=c;break}}b=xm(b)|0}while(0);c=b|0?b:a;if(!c)b=0;else{b=c+1|0;if((i[c>>0]|0)==124)b=(i[b>>0]|0)==61?0:b;else b=0}b=b|0?b:a;if(!b){f=0;return f|0}c=b+1|0;switch(i[b>>0]|0){case 35:{if((i[c>>0]|0)==123)f=13;else b=c;break}case 46:{b=c;break}case 58:{b=(i[c>>0]|0)==58?b+2|0:c;break}default:f=13}c=i[b>>0]|0;if(c<<24>>24==45){do{b=b+1|0;c=i[b>>0]|0}while(c<<24>>24==45);e=b}else e=b;b=e+1|0;a:do if(c<<24>>24==33){c=hr(b)|0;b:do if(c|0){a=i[29897]|0;if(a<<24>>24){d=29897;do{if((i[c>>0]|0)!=a<<24>>24)break b;c=c+1|0;d=d+1|0;a=i[d>>0]|0}while(a<<24>>24!=0)}c=DJ(c)|0;if(c|0){b=c;break a}}while(0);c=i[e>>0]|0;f=23}else f=23;while(0);if((f|0)==23)if(c<<24>>24!=42){b=fj(e)|0;if(!b){f=0;return f|0}}c:while(1){a=i[b>>0]|0;if(a<<24>>24==45){c=b;do{c=c+1|0;a=i[c>>0]|0}while(a<<24>>24==45)}else c=b;f=c+1|0;if(a<<24>>24==33){a=hr(f)|0;d:do if(a|0){d=i[29897]|0;if(d<<24>>24){e=29897;do{if((i[a>>0]|0)!=d<<24>>24)break d;a=a+1|0;e=e+1|0;d=i[e>>0]|0}while(d<<24>>24!=0)}a=DJ(a)|0;if(a|0){b=a;continue c}}while(0);a=i[c>>0]|0}if(a<<24>>24==42){b=f;continue}c=fj(c)|0;if(!c)break;else b=c}if((i[b>>0]|0)!=45){f=b;return f|0}do b=b+1|0;while((i[b>>0]|0)==45);return b|0}function Qi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=0;u=r;r=r+112|0;p=u+72|0;b=u+56|0;g=u+44|0;m=u+32|0;s=u+8|0;q=u;lE(b,38632,9);x=0;h=p;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));o=ta(125,b|0,a|0,d|0,p|0,f|0,c|0)|0;n=x;x=0;if(n&1){u=mb()|0;P1(b);yb(u|0)}P1(b);lE(g,38662,9);x=0;h=p;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));n=ta(125,g|0,a|0,d|0,p|0,f|0,c|0)|0;l=x;x=0;if(l&1){u=mb()|0;P1(g);yb(u|0)}P1(g);lE(m,38672,12);x=0;h=p;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));b=ta(125,m|0,a|0,d|0,p|0,f|0,c|0)|0;d=x;x=0;if(d&1){u=mb()|0;P1(m);yb(u|0)}P1(m);k[s>>2]=0;j=s+4|0;k[j>>2]=0;k[s+8>>2]=0;k[s+16>>2]=0;k[s+20>>2]=0;g=s+16|0;k[s+12>>2]=g;x=0;Ua(30,b|0,n|0,c|0,s|0);n=x;x=0;do if(n&1)t=16;else{i[p>>0]=0;x=0;b=wa(22,o|0,c|0,s|0,1,p|0)|0;p=x;x=0;if(p&1)t=16;else{x=0;sa(451,q|0,c+36|0);c=x;x=0;if(c&1)t=16;else{x=0;h=Ka(k[(k[b>>2]|0)+40>>2]|0,b|0,q|0)|0;c=x;x=0;if(c&1){h=mb()|0;break}mp(s+12|0,k[g>>2]|0);b=k[s>>2]|0;if(!b){r=u;return h|0}g=k[j>>2]|0;if((g|0)!=(b|0))k[j>>2]=g+(~((g+-8-b|0)>>>3)<<3);uha(b);r=u;return h|0}}}while(0);if((t|0)==16)h=mb()|0;mp(s+12|0,k[g>>2]|0);b=k[s>>2]|0;if(!b){u=h;yb(u|0)}g=k[j>>2]|0;if((g|0)!=(b|0))k[j>>2]=g+(~((g+-8-b|0)>>>3)<<3);uha(b);u=h;yb(u|0);return 0}function Ri(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=0;u=r;r=r+112|0;p=u+72|0;b=u+56|0;g=u+44|0;m=u+32|0;s=u+8|0;q=u;lE(b,38632,9);x=0;h=p;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));o=ta(125,b|0,a|0,d|0,p|0,f|0,c|0)|0;n=x;x=0;if(n&1){u=mb()|0;P1(b);yb(u|0)}P1(b);lE(g,38642,9);x=0;h=p;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));n=ta(125,g|0,a|0,d|0,p|0,f|0,c|0)|0;l=x;x=0;if(l&1){u=mb()|0;P1(g);yb(u|0)}P1(g);lE(m,38652,9);x=0;h=p;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));b=ta(125,m|0,a|0,d|0,p|0,f|0,c|0)|0;d=x;x=0;if(d&1){u=mb()|0;P1(m);yb(u|0)}P1(m);k[s>>2]=0;j=s+4|0;k[j>>2]=0;k[s+8>>2]=0;k[s+16>>2]=0;k[s+20>>2]=0;g=s+16|0;k[s+12>>2]=g;x=0;Ua(30,b|0,n|0,c|0,s|0);n=x;x=0;do if(n&1)t=16;else{i[p>>0]=0;x=0;b=wa(22,o|0,c|0,s|0,0,p|0)|0;p=x;x=0;if(p&1)t=16;else{x=0;sa(451,q|0,c+36|0);c=x;x=0;if(c&1)t=16;else{x=0;h=Ka(k[(k[b>>2]|0)+40>>2]|0,b|0,q|0)|0;c=x;x=0;if(c&1){h=mb()|0;break}mp(s+12|0,k[g>>2]|0);b=k[s>>2]|0;if(!b){r=u;return h|0}g=k[j>>2]|0;if((g|0)!=(b|0))k[j>>2]=g+(~((g+-8-b|0)>>>3)<<3);uha(b);r=u;return h|0}}}while(0);if((t|0)==16)h=mb()|0;mp(s+12|0,k[g>>2]|0);b=k[s>>2]|0;if(!b){u=h;yb(u|0)}g=k[j>>2]|0;if((g|0)!=(b|0))k[j>>2]=g+(~((g+-8-b|0)>>>3)<<3);uha(b);u=h;yb(u|0);return 0}function Si(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;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;w=0;t=r;r=r+432|0;h=t+424|0;a=t+24|0;v=t+16|0;p=t+8|0;m=t+4|0;o=t+428|0;j=t;k[v>>2]=a;y=v+4|0;k[y>>2]=363;l=a+400|0;x=0;s=ua(189,e|0)|0;q=x;x=0;if(q&1){h=mb()|0;k[v>>2]=0;w=39}else{k[m>>2]=s;x=0;n=Ka(865,m|0,74204)|0;q=x;x=0;a:do if(!(q&1)){i[o>>0]=0;q=k[c>>2]|0;k[j>>2]=q;a=k[e+4>>2]|0;e=q;x=0;k[h>>2]=k[j>>2];a=Ia(2,b|0,h|0,d|0,m|0,a|0,f|0,o|0,n|0,v|0,p|0,l|0)|0;d=x;x=0;if(!(d&1)){if(a){if(!(i[g>>0]&1))i[g>>0]=0;else k[k[g+8>>2]>>2]=0;k[g+4>>2]=0;if(i[o>>0]|0){x=0;a=Ka(k[(k[n>>2]|0)+44>>2]|0,n|0,45)|0;o=x;x=0;if(o&1)break;x=0;sa(558,g|0,a|0);o=x;x=0;if(o&1)break}x=0;j=Ka(k[(k[n>>2]|0)+44>>2]|0,n|0,48)|0;o=x;x=0;if(o&1)break;l=k[p>>2]|0;h=l+-4|0;a=k[v>>2]|0;while(1){if(a>>>0>=h>>>0)break;if((k[a>>2]|0)!=(j|0))break;a=a+4|0}x=0;xa(108,g|0,a|0,l|0)|0;g=x;x=0;if(g&1)break}a=k[b>>2]|0;do if(!a)h=1;else{h=k[a+12>>2]|0;if((h|0)==(k[a+16>>2]|0)){x=0;a=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;g=x;x=0;if(g&1)break a}else a=k[h>>2]|0;if((a|0)==-1){k[b>>2]=0;h=1;break}else{h=(k[b>>2]|0)==0;break}}while(0);do if(!q)w=31;else{a=k[e+12>>2]|0;if((a|0)==(k[e+16>>2]|0)){x=0;a=ua(k[(k[q>>2]|0)+36>>2]|0,e|0)|0;q=x;x=0;if(q&1)break a}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;w=31;break}else if(h)break;else{w=33;break}}while(0);if((w|0)==31)if(h)w=33;if((w|0)==33)k[f>>2]=k[f>>2]|2;h=k[b>>2]|0;sK(s)|0;a=k[v>>2]|0;k[v>>2]=0;if(a|0){x=0;ra(k[y>>2]|0,a|0);y=x;x=0;if(y&1){y=Eb(0)|0;Nba(y)}}r=t;return h|0}}while(0);h=mb()|0;sK(s)|0;a=k[v>>2]|0;k[v>>2]=0;if(!a)u=h;else w=39}if((w|0)==39){x=0;ra(k[y>>2]|0,a|0);y=x;x=0;if(y&1){y=Eb(0)|0;Nba(y)}else u=h}yb(u|0);return 0}function Ti(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,r=0;f=k[a>>2]|0;do if(!f)f=0;else if((k[f+12>>2]|0)==(k[f+16>>2]|0))if((tc[k[(k[f>>2]|0)+36>>2]&511](f)|0)==-1){k[a>>2]=0;f=0;break}else{f=k[a>>2]|0;break}while(0);g=(f|0)==0;f=k[b>>2]|0;do if(!f)r=11;else{if((k[f+12>>2]|0)==(k[f+16>>2]|0))if((tc[k[(k[f>>2]|0)+36>>2]&511](f)|0)==-1){k[b>>2]=0;r=11;break}if(g)r=13;else r=12}while(0);if((r|0)==11)if(g)r=12;else{f=0;r=13}a:do if((r|0)==12){k[c>>2]=k[c>>2]|6;f=0}else if((r|0)==13){g=k[a>>2]|0;h=k[g+12>>2]|0;if((h|0)==(k[g+16>>2]|0))g=tc[k[(k[g>>2]|0)+36>>2]&511](g)|0;else g=l[h>>0]|0;h=g&255;if(h<<24>>24>-1){q=d+8|0;if(j[(k[q>>2]|0)+(g<<24>>24<<1)>>1]&2048){m=(wc[k[(k[d>>2]|0)+36>>2]&127](d,h,0)|0)<<24>>24;g=k[a>>2]|0;h=g+12|0;i=k[h>>2]|0;if((i|0)==(k[g+16>>2]|0)){tc[k[(k[g>>2]|0)+40>>2]&511](g)|0;o=e;n=f;e=f;f=m}else{k[h>>2]=i+1;o=e;n=f;e=f;f=m}while(1){f=f+-48|0;p=o+-1|0;g=k[a>>2]|0;do if(!g)g=0;else if((k[g+12>>2]|0)==(k[g+16>>2]|0))if((tc[k[(k[g>>2]|0)+36>>2]&511](g)|0)==-1){k[a>>2]=0;g=0;break}else{g=k[a>>2]|0;break}while(0);i=(g|0)==0;if(!e){h=n;e=0}else if((k[e+12>>2]|0)==(k[e+16>>2]|0))if((tc[k[(k[e>>2]|0)+36>>2]&511](e)|0)==-1){k[b>>2]=0;h=0;e=0}else{h=n;e=n}else h=n;g=k[a>>2]|0;if(!((o|0)>1&(i^(e|0)==0)))break;i=k[g+12>>2]|0;if((i|0)==(k[g+16>>2]|0))g=tc[k[(k[g>>2]|0)+36>>2]&511](g)|0;else g=l[i>>0]|0;i=g&255;if(i<<24>>24<=-1)break a;if(!(j[(k[q>>2]|0)+(g<<24>>24<<1)>>1]&2048))break a;f=((wc[k[(k[d>>2]|0)+36>>2]&127](d,i,0)|0)<<24>>24)+(f*10|0)|0;g=k[a>>2]|0;i=g+12|0;m=k[i>>2]|0;if((m|0)==(k[g+16>>2]|0)){tc[k[(k[g>>2]|0)+40>>2]&511](g)|0;o=p;n=h;continue}else{k[i>>2]=m+1;o=p;n=h;continue}}do if(!g)g=0;else if((k[g+12>>2]|0)==(k[g+16>>2]|0))if((tc[k[(k[g>>2]|0)+36>>2]&511](g)|0)==-1){k[a>>2]=0;g=0;break}else{g=k[a>>2]|0;break}while(0);g=(g|0)==0;do if(!h)r=50;else{if((k[h+12>>2]|0)==(k[h+16>>2]|0))if((tc[k[(k[h>>2]|0)+36>>2]&511](h)|0)==-1){k[b>>2]=0;r=50;break}if(g)break a}while(0);if((r|0)==50)if(!g)break;k[c>>2]=k[c>>2]|2;break}}k[c>>2]=k[c>>2]|4;f=0}while(0);return f|0}function Ui(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;z=r;r=r+144|0;m=z+96|0;n=z+40|0;o=z+32|0;q=z+24|0;s=z+16|0;t=z+8|0;u=z;b=z+84|0;v=z+72|0;w=z+60|0;y=z+48|0;lE(b,36999,6);x=0;i=m;j=e;l=i+40|0;do{k[i>>2]=k[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));h=wa(24,b|0,a|0,d|0,m|0,f|0)|0;l=x;x=0;if(l&1){z=mb()|0;P1(b);yb(z|0)}P1(b);b=c+36|0;c=lD(b,104)|0;k[c+4>>2]=k[h+4>>2];k[c>>2]=4748;i=c+8|0;j=h+8|0;l=i+40|0;do{k[i>>2]=k[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));k[c>>2]=6736;l=h+48|0;j=k[l+4>>2]|0;i=c+48|0;k[i>>2]=k[l>>2];k[i+4>>2]=j;k[c>>2]=5580;i=c+56|0;j=h+56|0;k[i>>2]=k[j>>2];k[i+4>>2]=k[j+4>>2];k[i+8>>2]=k[j+8>>2];k[i+12>>2]=k[j+12>>2];k[i+16>>2]=k[j+16>>2];k[i+20>>2]=k[j+20>>2];k[i+24>>2]=k[j+24>>2];k[i+28>>2]=k[j+28>>2];_G(c+88|0,h+88|0);k[c+100>>2]=k[h+100>>2];c=N4(b,c)|0;lE(v,36992,6);x=0;i=m;j=e;l=i+40|0;do{k[i>>2]=k[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));b=wa(23,v|0,a|0,d|0,m|0,f|0)|0;d=x;x=0;if(!(d&1)){x=0;sa(437,m|0,b|0);d=x;x=0;if(!(d&1)){d=(KH(m,38887)|0)==0;P1(m);g=+p[b+56>>3];if(d){p[n>>3]=g;p[o>>3]=0.0;b=g<0.0?o:n;p[q>>3]=100.0;b=+p[b>>3]>100.0?q:b}else{p[s>>3]=g;p[t>>3]=0.0;b=g<0.0?t:s;p[u>>3]=1.0;b=+p[b>>3]>1.0?u:b}g=+p[b>>3];k[c+100>>2]=0;p[c+80>>3]=g;P1(v);lE(y,78097,0);x=0;b=Ka(854,c+88|0,y|0)|0;v=x;x=0;if(!(v&1)){x=0;sa(430,w|0,b|0);v=x;x=0;if(!(v&1)){P1(w);P1(y);r=z;return c|0}}z=mb()|0;P1(y);yb(z|0)}}z=mb()|0;P1(v);yb(z|0);return 0}function Vi(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;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;t=0;u=r;r=r+16|0;v=u;s=aR(g,74172)|0;l=aR(g,74184)|0;rc[k[(k[l>>2]|0)+20>>2]&1023](v,l);p=i[v>>0]|0;q=v+4|0;a:do if(!(((p&1)==0?(p&255)>>>1:k[q>>2]|0)|0)){x=0;Pa(k[(k[s>>2]|0)+32>>2]|0,s|0,a|0,c|0,d|0)|0;t=x;x=0;if(t&1)t=5;else{g=d+(c-a)|0;k[f>>2]=g;t=30}}else{k[f>>2]=d;g=i[a>>0]|0;switch(g<<24>>24){case 43:case 45:{x=0;g=Ka(k[(k[s>>2]|0)+28>>2]|0,s|0,g|0)|0;p=x;x=0;if(p&1){t=5;break a}j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=g;j=a+1|0;break}default:j=a}b:do if((c-j|0)>1)if((i[j>>0]|0)==48){g=j+1|0;switch(i[g>>0]|0){case 88:case 120:break;default:break b}x=0;h=Ka(k[(k[s>>2]|0)+28>>2]|0,s|0,48)|0;p=x;x=0;if(p&1){t=5;break a}p=k[f>>2]|0;k[f>>2]=p+1;i[p>>0]=h;x=0;g=Ka(k[(k[s>>2]|0)+28>>2]|0,s|0,i[g>>0]|0)|0;p=x;x=0;if(p&1){t=5;break a}p=k[f>>2]|0;k[f>>2]=p+1;i[p>>0]=g;j=j+2|0}while(0);c:do if((j|0)!=(c|0)){g=c;h=j;while(1){g=g+-1|0;if(h>>>0>=g>>>0)break c;p=i[h>>0]|0;i[h>>0]=i[g>>0]|0;i[g>>0]=p;h=h+1|0}}while(0);x=0;m=ua(k[(k[l>>2]|0)+16>>2]|0,l|0)|0;p=x;x=0;if(p&1)t=5;else{n=v+8|0;o=v+1|0;g=0;h=0;p=j;while(1){if(p>>>0>=c>>>0)break;l=i[((i[v>>0]&1)==0?o:k[n>>2]|0)+h>>0]|0;if(l<<24>>24!=0&(g|0)==(l<<24>>24|0)){g=k[f>>2]|0;k[f>>2]=g+1;i[g>>0]=m;g=i[v>>0]|0;l=0;h=(h>>>0<(((g&1)==0?(g&255)>>>1:k[q>>2]|0)+-1|0)>>>0&1)+h|0}else l=g;x=0;g=Ka(k[(k[s>>2]|0)+28>>2]|0,s|0,i[p>>0]|0)|0;w=x;x=0;if(w&1){t=4;break}w=k[f>>2]|0;k[f>>2]=w+1;i[w>>0]=g;g=l+1|0;p=p+1|0}if((t|0)==4){g=mb()|0;break}h=a;g=d+(j-h)|0;a=k[f>>2]|0;if((g|0)==(a|0)){a=h;t=30}else{while(1){a=a+-1|0;if(g>>>0>=a>>>0)break;w=i[g>>0]|0;i[g>>0]=i[a>>0]|0;i[a>>0]=w;g=g+1|0}a=h;g=k[f>>2]|0;t=30}}}while(0);if((t|0)==5)g=mb()|0;else if((t|0)==30){k[e>>2]=(b|0)==(c|0)?g:d+(b-a)|0;P1(v);r=u;return}P1(v);yb(g|0)}function Wi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;j=0;s=r;r=r+128|0;o=s+80|0;h=s+68|0;n=s+56|0;p=s+16|0;q=s;lE(h,37980,5);x=0;b=Ka(867,a|0,h|0)|0;m=x;x=0;if(m&1){s=mb()|0;P1(h);yb(s|0)}b=k[b>>2]|0;if(!b){P1(h);j=7}else{g=Ot(b,8,256,0)|0;P1(h);if(!g)j=7;else{h=e;c=c+36|0}}a:do if((j|0)==7){m=c+36|0;b=lD(m,84)|0;k[b+4>>2]=0;l=b+8|0;h=e;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;g=b+52|0;k[g>>2]=0;k[b>>2]=10312;l=b+56|0;k[l>>2]=5132;u=b+60|0;k[u>>2]=0;c=b+64|0;k[c>>2]=0;h=b+68|0;k[h>>2]=0;j=GG(4)|0;t=j;k[u>>2]=t;k[c>>2]=t;k[h>>2]=j+4;k[b>>2]=4992;k[l>>2]=5104;k[b+76>>2]=1;i[b+80>>0]=0;i[b+81>>0]=0;k[g>>2]=5;g=N4(m,b)|0;lE(n,37980,5);x=0;l=o;h=e;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));b=wa(27,n|0,a|0,d|0,o|0,f|0)|0;u=x;x=0;do if(!(u&1)){h=g+56|0;k[o>>2]=b;c=b;if(b|0){k[g+72>>2]=0;j=g+64|0;l=k[j>>2]|0;if((l|0)==(k[g+68>>2]|0)){x=0;sa(455,g+60|0,o|0);u=x;x=0;if(u&1)break}else{k[l>>2]=c;k[j>>2]=(k[j>>2]|0)+4}x=0;sa(k[k[h>>2]>>2]|0,h|0,b|0);u=x;x=0;if(u&1)break}P1(n);h=e;c=m;break a}while(0);u=mb()|0;P1(n);yb(u|0)}while(0);b=lD(c,76)|0;l=p;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));lE(q,(k[g+76>>2]|0)==0?38135:38129,5);x=0;l=o;h=p;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));qa(5,b|0,o|0,q|0,0,0);u=x;x=0;if(!(u&1)){x=0;b=Ka(857,c|0,b|0)|0;u=x;x=0;if(!(u&1)){P1(q);r=s;return b|0}}u=mb()|0;P1(q);yb(u|0);return 0}function Xi(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,j=0,m=0;e=k[b>>2]|0;if(!d)m=5;else{f=k[d>>2]|0;if(!f)m=5;else if(!a){d=c;g=e;m=16}else{k[d>>2]=0;j=a;d=c;h=f;m=37}}if((m|0)==5)if(!a){d=c;m=7}else{f=a;d=c;m=6}a:while(1)if((m|0)==6){if(!d){m=26;break}else a=f;while(1){f=i[e>>0]|0;do if(((f&255)+-1|0)>>>0<127)if(d>>>0>4&(e&3|0)==0){g=e;while(1){e=k[g>>2]|0;if((e+-16843009|e)&-2139062144|0){f=e;e=g;m=32;break}k[a>>2]=e&255;k[a+4>>2]=l[g+1>>0];k[a+8>>2]=l[g+2>>0];e=g+4|0;f=a+16|0;k[a+12>>2]=l[g+3>>0];d=d+-4|0;if(d>>>0>4){a=f;g=e}else{m=31;break}}if((m|0)==31){a=f;f=i[e>>0]|0;break}else if((m|0)==32){f=f&255;break}}while(0);f=f&255;if((f+-1|0)>>>0>=127)break;e=e+1|0;k[a>>2]=f;d=d+-1|0;if(!d){m=26;break a}else a=a+4|0}f=f+-194|0;if(f>>>0>50){m=48;break}j=a;h=k[17060+(f<<2)>>2]|0;e=e+1|0;m=37;continue}else if((m|0)==7){f=i[e>>0]|0;if(((f&255)+-1|0)>>>0<127)if(!(e&3)){m=k[e>>2]|0;f=m&255;if(!((m+-16843009|m)&-2139062144)){do{e=e+4|0;d=d+-4|0;f=k[e>>2]|0}while(((f+-16843009|f)&-2139062144|0)==0);f=f&255}}f=f&255;if((f+-1|0)>>>0<127){d=d+-1|0;e=e+1|0;m=7;continue}f=f+-194|0;if(f>>>0>50){m=48;break}f=k[17060+(f<<2)>>2]|0;g=e+1|0;m=16;continue}else if((m|0)==16){m=(l[g>>0]|0)>>>3;if((m+-16|m+(f>>26))>>>0>7){m=17;break}e=g+1|0;if(f&33554432){if((i[e>>0]&-64)<<24>>24!=-128){m=20;break}e=g+2|0;if(f&524288){if((i[e>>0]&-64)<<24>>24!=-128){m=23;break}e=g+3|0}}d=d+-1|0;m=7;continue}else if((m|0)==37){f=l[e>>0]|0;m=f>>>3;if((m+-16|m+(h>>26))>>>0>7){m=38;break}g=e+1|0;a=f+-128|h<<6;if((a|0)<0){f=l[g>>0]|0;if((f&192|0)!=128){m=41;break}g=e+2|0;a=f+-128|a<<6;if((a|0)<0){f=l[g>>0]|0;if((f&192|0)!=128){m=44;break}a=f+-128|a<<6;e=e+3|0}else e=g}else e=g;k[j>>2]=a;f=j+4|0;d=d+-1|0;m=6;continue}if((m|0)==17){e=g+-1|0;m=47}else if((m|0)==20){e=g+-1|0;m=47}else if((m|0)==23){e=g+-1|0;m=47}else if((m|0)==26)k[b>>2]=e;else if((m|0)==38){a=j;f=h;e=e+-1|0;m=47}else if((m|0)==41){d=j;c=e+-1|0;m=52}else if((m|0)==44){d=j;c=e+-1|0;m=52}if((m|0)==47)if(!f)m=48;else{d=a;c=e;m=52}if((m|0)==48)if(!(i[e>>0]|0)){if(a|0){k[a>>2]=0;k[b>>2]=0}c=c-d|0}else{d=a;c=e;m=52}if((m|0)==52){m=L0()|0;k[m>>2]=84;if(!d)c=-1;else{k[b>>2]=c;c=-1}}return c|0}function Yi(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;q=r;r=r+16|0;p=q;u=i[b>>0]|0;o=(u&1)==0;j=b+4|0;u=o?(u&255)>>>1:k[j>>2]|0;t=i[a>>0]|0;s=(t&1)==0;d=a+4|0;t=s?(t&255)>>>1:k[d>>2]|0;e=b+8|0;f=b+1|0;o=o?f:k[e>>2]|0;g=a+8|0;h=a+1|0;s=tG(o,s?h:k[g>>2]|0,t>>>0>>0?t:u)|0;v=i[c>>0]|0;w=(v&1)==0;l=c+4|0;v=w?(v&255)>>>1:k[l>>2]|0;m=c+8|0;n=c+1|0;o=tG(w?n:k[m>>2]|0,o,u>>>0>>0?u:v)|0;o=(((o|0)==0?(v>>>0>>0?-2147483648:0):o)|0)<0;if((((s|0)==0?(u>>>0>>0?-2147483648:0):s)|0)>=0){if(!o){w=0;r=q;return w|0}k[p>>2]=k[b>>2];k[p+4>>2]=k[b+4>>2];k[p+8>>2]=k[b+8>>2];k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[c>>2]=k[p>>2];k[c+4>>2]=k[p+4>>2];k[c+8>>2]=k[p+8>>2];u=i[b>>0]|0;t=(u&1)==0;u=t?(u&255)>>>1:k[j>>2]|0;v=i[a>>0]|0;w=(v&1)==0;v=w?(v&255)>>>1:k[d>>2]|0;w=tG(t?f:k[e>>2]|0,w?h:k[g>>2]|0,v>>>0>>0?v:u)|0;if((((w|0)==0?(u>>>0>>0?-2147483648:0):w)|0)>=0){w=1;r=q;return w|0}k[p>>2]=k[a>>2];k[p+4>>2]=k[a+4>>2];k[p+8>>2]=k[a+8>>2];k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[b>>2]=k[p>>2];k[b+4>>2]=k[p+4>>2];k[b+8>>2]=k[p+8>>2];w=2;r=q;return w|0}if(o){k[p>>2]=k[a>>2];k[p+4>>2]=k[a+4>>2];k[p+8>>2]=k[a+8>>2];k[a>>2]=k[c>>2];k[a+4>>2]=k[c+4>>2];k[a+8>>2]=k[c+8>>2];k[c>>2]=k[p>>2];k[c+4>>2]=k[p+4>>2];k[c+8>>2]=k[p+8>>2];w=1;r=q;return w|0}k[p>>2]=k[a>>2];k[p+4>>2]=k[a+4>>2];k[p+8>>2]=k[a+8>>2];k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[b>>2]=k[p>>2];k[b+4>>2]=k[p+4>>2];k[b+8>>2]=k[p+8>>2];u=i[c>>0]|0;t=(u&1)==0;u=t?(u&255)>>>1:k[l>>2]|0;v=i[b>>0]|0;w=(v&1)==0;v=w?(v&255)>>>1:k[j>>2]|0;w=tG(t?n:k[m>>2]|0,w?f:k[e>>2]|0,v>>>0>>0?v:u)|0;if((((w|0)==0?(u>>>0>>0?-2147483648:0):w)|0)>=0){w=1;r=q;return w|0}k[p>>2]=k[b>>2];k[p+4>>2]=k[b+4>>2];k[p+8>>2]=k[b+8>>2];k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[c>>2]=k[p>>2];k[c+4>>2]=k[p+4>>2];k[c+8>>2]=k[p+8>>2];w=2;r=q;return w|0}function Zi(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;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;v=0;t=r;r=r+144|0;h=t+24|0;a=t+32|0;u=t+16|0;p=t+8|0;m=t+4|0;o=t+28|0;j=t;k[u>>2]=a;y=u+4|0;k[y>>2]=363;l=a+100|0;x=0;s=ua(189,e|0)|0;q=x;x=0;if(q&1){h=mb()|0;k[u>>2]=0;v=37}else{k[m>>2]=s;x=0;n=Ka(865,m|0,74172)|0;q=x;x=0;a:do if(!(q&1)){i[o>>0]=0;q=k[c>>2]|0;k[j>>2]=q;a=k[e+4>>2]|0;e=q;x=0;k[h>>2]=k[j>>2];a=Ia(1,b|0,h|0,d|0,m|0,a|0,f|0,o|0,n|0,u|0,p|0,l|0)|0;d=x;x=0;if(!(d&1)){if(a){if(!(i[g>>0]&1)){i[g+1>>0]=0;i[g>>0]=0}else{i[k[g+8>>2]>>0]=0;k[g+4>>2]=0}if(i[o>>0]|0){x=0;a=Ka(k[(k[n>>2]|0)+28>>2]|0,n|0,45)|0;o=x;x=0;if(o&1)break;x=0;sa(440,g|0,a|0);o=x;x=0;if(o&1)break}x=0;j=Ka(k[(k[n>>2]|0)+28>>2]|0,n|0,48)|0;o=x;x=0;if(o&1)break;l=k[p>>2]|0;h=l+-1|0;a=k[u>>2]|0;while(1){if(a>>>0>=h>>>0)break;if((i[a>>0]|0)!=j<<24>>24)break;a=a+1|0}x=0;xa(107,g|0,a|0,l|0)|0;g=x;x=0;if(g&1)break}a=k[b>>2]|0;do if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;a=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;g=x;x=0;if(g&1)break a;if((a|0)==-1){k[b>>2]=0;a=0;break}else{a=k[b>>2]|0;break}}while(0);h=(a|0)==0;do if(!q)v=30;else{if((k[e+12>>2]|0)==(k[e+16>>2]|0)){x=0;a=ua(k[(k[q>>2]|0)+36>>2]|0,e|0)|0;q=x;x=0;if(q&1)break a;if((a|0)==-1){k[c>>2]=0;v=30;break}}if(!h)v=31}while(0);if((v|0)==30)if(h)v=31;if((v|0)==31)k[f>>2]=k[f>>2]|2;h=k[b>>2]|0;sK(s)|0;a=k[u>>2]|0;k[u>>2]=0;if(a|0){x=0;ra(k[y>>2]|0,a|0);y=x;x=0;if(y&1){y=Eb(0)|0;Nba(y)}}r=t;return h|0}}while(0);h=mb()|0;sK(s)|0;a=k[u>>2]|0;k[u>>2]=0;if(!a)w=h;else v=37}if((v|0)==37){x=0;ra(k[y>>2]|0,a|0);y=x;x=0;if(y&1){y=Eb(0)|0;Nba(y)}else w=h}yb(w|0);return 0}function _i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=0;m=r;r=r+128|0;l=m+88|0;f=m+76|0;j=m+72|0;h=m+60|0;g=m+48|0;n=m;c=k[(k[a+52>>2]|0)+-4>>2]|0;do if(c|0)if(!(Ot(c,8,1112,0)|0)){lE(f,41474,70);x=0;c=l;d=b+8|0;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));sa(438,f|0,l|0);e=x;x=0;if(!(e&1)){P1(f);break}o=mb()|0;P1(f);yb(o|0)}while(0);_G(h,b+64|0);c=i[h>>0]|0;d=k[h+8>>2]|0;x=0;sa(430,g|0,b+100|0);f=x;x=0;do if(f&1)c=mb()|0;else{x=0;f=Pa(7,((c&1)==0?h+1|0:d)|0,((i[g>>0]&1)==0?g+1|0:k[g+8>>2]|0)|0,0,0)|0;e=x;x=0;if(e&1){c=mb()|0;P1(g);break}P1(g);P1(h);k[j>>2]=f;g=a+4|0;c=k[g>>2]|0;d=c+276|0;e=k[d>>2]|0;if((e|0)==(k[c+280>>2]|0))Kw(c+272|0,j);else{k[e>>2]=f;k[d>>2]=(k[d>>2]|0)+4}Zv(n,b+64|0);d=n+36|0;c=au((k[g>>2]|0)+236|0,l,d)|0;c=k[c>>2]|0;do if(!c){c=vb(8)|0;x=0;sa(441,c|0,34188);m=x;x=0;if(m&1){m=mb()|0;lb(c|0);c=m;break}else{k[c>>2]=24932;x=0;Qa(77,c|0,4448,308);x=0;o=21;break}}else{x=0;sa(502,a|0,k[c+28+8>>2]|0);o=x;x=0;if(o&1)o=21;else{x=0;ra(328,k[(k[(k[g>>2]|0)+276>>2]|0)+-4>>2]|0);o=x;x=0;if(o&1)o=21;else{o=(k[g>>2]|0)+276|0;k[o>>2]=(k[o>>2]|0)+-4;P1(d);P1(n+24|0);P1(n+12|0);P1(n);r=m;return 0}}}while(0);if((o|0)==21)c=mb()|0;P1(d);P1(n+24|0);P1(n+12|0);P1(n);o=c;yb(o|0)}while(0);P1(h);o=c;yb(o|0);return 0}function $i(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;o=0;u=r;r=r+16|0;j=u+8|0;g=u+4|0;h=u;q=a+8|0;p=k[q>>2]|0;s=a+4|0;i=k[s>>2]|0;e=p-i|0;t=a+16|0;c=k[t>>2]|0;n=i;m=p;if((((p|0)==(i|0)?0:(e<<8)+-1|0)-((k[a+20>>2]|0)+c)|0)>>>0>1023){k[t>>2]=c+1024;t=m+-4|0;k[j>>2]=k[t>>2];k[q>>2]=t;tu(a,j);r=u;return}p=a+12|0;d=k[a>>2]|0;c=(k[p>>2]|0)-d|0;f=d;if(e>>>0>>0){b=GG(4096)|0;if((i|0)==(d|0)){k[h>>2]=b;mu(a,h);p=(k[q>>2]|0)+-4|0;k[j>>2]=k[p>>2];k[q>>2]=p;tu(a,j)}else{k[g>>2]=b;uu(a,g)}if(((k[q>>2]|0)-(k[s>>2]|0)|0)==4)b=512;else b=(k[t>>2]|0)+1024|0;k[t>>2]=b;r=u;return}c=c>>1;c=(c|0)==0?1:c;g=GG(c<<2)|0;h=g;x=0;d=ua(186,4096)|0;j=x;x=0;a:do if(j&1){c=Eb(0)|0;Bb(c|0)|0;uha(k[g>>2]|0);x=0;pa(4);x=0;c=mb()|0;x=0;pa(3);u=x;x=0;if(u&1){u=Eb(0)|0;Nba(u)}else{b=c;l=h}}else{b=g+(c<<2)|0;k[g>>2]=d;e=g+4|0;d=e;do if((n|0)==(m|0)){c=h;e=h}else{c=h;i=h;b:while(1){f=e;do if((e|0)==(b|0)){h=i;if(h>>>0>c>>>0){m=h+((((i-c>>2)+1|0)/-2|0)<<2)|0;d=f-i|0;VH(m|0,i|0,d|0)|0;d=m+(d>>2<<2)|0;e=d;f=m;break}b=b-c>>1;b=(b|0)==0?1:b;x=0;d=ua(186,b<<2|0)|0;m=x;x=0;if(m&1)break b;i=d;f=d+(b>>>2<<2)|0;j=f;b=d+(b<<2)|0;if((h|0)==(e|0))d=j;else{e=h;d=j;while(1){k[f>>2]=k[e>>2];f=d+4|0;d=f;if((e|0)==(g|0))break;else e=e+4|0}}e=d;if(!c){c=i;f=j}else{uha(c);c=i;f=j}}else f=i;while(0);k[e>>2]=k[n>>2];g=d;n=n+4|0;e=g+4|0;d=e;if((n|0)==(k[q>>2]|0)){e=f;o=14;break}else i=f}if((o|0)==14){f=k[a>>2]|0;break}b=mb()|0;if(c){l=c;break a}yb(b|0)}while(0);k[a>>2]=c;k[s>>2]=e;k[q>>2]=d;k[p>>2]=b;if((d-e|0)==4)b=512;else b=(k[t>>2]|0)+1024|0;k[t>>2]=b;if(!f){r=u;return}uha(f);r=u;return}while(0);uha(l);u=b;yb(u|0)}function aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;f=0;g=r;r=r+96|0;h=g+24|0;c=g+12|0;d=g;if(!b){h=0;r=g;return h|0}e=a+84|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,e);jI(a+88|0,1);re(h,e);b=k[a+16>>2]|0;do if(!(i[b+19>>0]|0)){if(i[b+17>>0]|0){b=a+384|0;e=i[b>>0]|0;d=(e&1)==0;x=0;xa(46,h|0,(d?b+1|0:k[a+392>>2]|0)|0,(d?(e&255)>>>1:k[a+388>>2]|0)|0)|0;e=x;x=0;if(e&1){f=8;break}x=0;sa(461,c|0,a|0);e=x;x=0;if(e&1){f=8;break}e=i[c>>0]|0;a=(e&1)==0;x=0;xa(46,h|0,(a?c+1|0:k[c+8>>2]|0)|0,(a?(e&255)>>>1:k[c+4>>2]|0)|0)|0;e=x;x=0;if(e&1){e=mb()|0;P1(c);break}else{P1(c);f=16;break}}b=a+420|0;if(!(KH(b,78097)|0))f=16;else{j=a+384|0;e=i[j>>0]|0;c=(e&1)==0;x=0;xa(46,h|0,(c?j+1|0:k[a+392>>2]|0)|0,(c?(e&255)>>>1:k[a+388>>2]|0)|0)|0;e=x;x=0;if(e&1)f=8;else{x=0;Qa(91,d|0,a|0,b|0);j=x;x=0;if(j&1)f=8;else{j=i[d>>0]|0;e=(j&1)==0;x=0;xa(46,h|0,(e?d+1|0:k[d+8>>2]|0)|0,(e?(j&255)>>>1:k[d+4>>2]|0)|0)|0;j=x;x=0;if(j&1){e=mb()|0;P1(d);break}else{P1(d);f=16;break}}}}}else f=16;while(0);if((f|0)==16){x=0;e=ua(192,((i[h>>0]&1)==0?h+1|0:k[h+8>>2]|0)|0)|0;j=x;x=0;if(j&1)f=8;else{P1(h+48|0);a=k[h+24>>2]|0;b=a;if(a|0){c=h+28|0;d=k[c>>2]|0;if((d|0)!=(a|0))k[c>>2]=d+(~(((d+-24-b|0)>>>0)/24|0)*24|0);uha(a)}b=k[h+12>>2]|0;c=b;if(b|0){d=h+16|0;a=k[d>>2]|0;if((a|0)!=(b|0))k[d>>2]=a+(~((a+-4-c|0)>>>2)<<2);uha(b)}P1(h);j=e;r=g;return j|0}}if((f|0)==8)e=mb()|0;P1(h+48|0);b=k[h+24>>2]|0;c=b;if(b|0){d=h+28|0;a=k[d>>2]|0;if((a|0)!=(b|0))k[d>>2]=a+(~(((a+-24-c|0)>>>0)/24|0)*24|0);uha(b)}b=k[h+12>>2]|0;if(!b){P1(h);yb(e|0)}c=h+16|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);P1(h);yb(e|0);return 0}function bj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;m=o+36|0;n=o+24|0;h=o+12|0;l=o;_G(m,a+68|0);x=0;sa(430,n|0,b+68|0);g=x;x=0;if(g&1){o=mb()|0;P1(m);yb(o|0)}if(!(Ir(m,n)|0)){P1(n);P1(m);b=0;r=o;return b|0}x=0;sa(430,h|0,a+80|0);g=x;x=0;do if(g&1)c=mb()|0;else{x=0;sa(430,l|0,b+80|0);g=x;x=0;if(g&1){c=mb()|0;P1(h);break}g=j[h>>1]|0;e=(g&1)==0;d=(g&254)>>>1;f=e?d:k[h+4>>2]|0;p=i[l>>0]|0;c=(p&1)==0;g=(g&65535)>>>8&255;if((f|0)!=((c?(p&255)>>>1:k[l+4>>2]|0)|0)){P1(l);P1(h);P1(n);P1(m);p=0;r=o;return p|0}c=c?l+1|0:k[l+8>>2]|0;a:do if(e){if(!f){P1(l);P1(h);P1(n);P1(m);break}b:do if(g<<24>>24==(i[c>>0]|0)){e=h+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d)break;c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0))break b}P1(l);P1(h);P1(n);P1(m);break a}while(0);P1(l);P1(h);P1(n);P1(m);p=0;r=o;return p|0}else{p=(tG(k[h+8>>2]|0,c,f)|0)==0;P1(l);P1(h);P1(n);P1(m);if(!p){p=0;r=o;return p|0}}while(0);d=k[a+96>>2]|0;c=k[b+96>>2]|0;if((d|0)!=0&(c|0)!=0){p=Jc[k[(k[d>>2]|0)+76>>2]&1023](d,c)|0;r=o;return p|0}else{p=(d|0)==(c|0);r=o;return p|0}}while(0);P1(n);p=c;P1(m);yb(p|0);return 0}function cj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;o=0;u=r;r=r+16|0;j=u+8|0;g=u+4|0;h=u;q=a+8|0;m=k[q>>2]|0;s=a+4|0;i=k[s>>2]|0;e=m-i|0;p=e>>2;t=a+16|0;c=k[t>>2]|0;n=i;if((((p|0)==0?0:(p*170|0)+-1|0)-((k[a+20>>2]|0)+c)|0)>>>0>169){k[t>>2]=c+170;t=m+-4|0;k[j>>2]=k[t>>2];k[q>>2]=t;xu(a,j);r=u;return}p=a+12|0;d=k[a>>2]|0;c=(k[p>>2]|0)-d|0;f=d;if(e>>>0>>0){b=GG(4080)|0;if((i|0)==(d|0)){k[h>>2]=b;ru(a,h);p=(k[q>>2]|0)+-4|0;k[j>>2]=k[p>>2];k[q>>2]=p;xu(a,j)}else{k[g>>2]=b;yu(a,g)}if(((k[q>>2]|0)-(k[s>>2]|0)|0)==4)b=85;else b=(k[t>>2]|0)+170|0;k[t>>2]=b;r=u;return}c=c>>1;c=(c|0)==0?1:c;g=GG(c<<2)|0;h=g;x=0;d=ua(186,4080)|0;j=x;x=0;a:do if(j&1){c=Eb(0)|0;Bb(c|0)|0;uha(k[g>>2]|0);x=0;pa(4);x=0;c=mb()|0;x=0;pa(3);u=x;x=0;if(u&1){u=Eb(0)|0;Nba(u)}else{b=c;l=h}}else{b=g+(c<<2)|0;k[g>>2]=d;e=g+4|0;d=e;do if((n|0)==(m|0)){c=h;e=h}else{c=h;i=h;b:while(1){f=e;do if((e|0)==(b|0)){h=i;if(h>>>0>c>>>0){m=h+((((i-c>>2)+1|0)/-2|0)<<2)|0;d=f-i|0;VH(m|0,i|0,d|0)|0;d=m+(d>>2<<2)|0;e=d;f=m;break}b=b-c>>1;b=(b|0)==0?1:b;x=0;d=ua(186,b<<2|0)|0;m=x;x=0;if(m&1)break b;i=d;f=d+(b>>>2<<2)|0;j=f;b=d+(b<<2)|0;if((h|0)==(e|0))d=j;else{e=h;d=j;while(1){k[f>>2]=k[e>>2];f=d+4|0;d=f;if((e|0)==(g|0))break;else e=e+4|0}}e=d;if(!c){c=i;f=j}else{uha(c);c=i;f=j}}else f=i;while(0);k[e>>2]=k[n>>2];g=d;n=n+4|0;e=g+4|0;d=e;if((n|0)==(k[q>>2]|0)){e=f;o=14;break}else i=f}if((o|0)==14){f=k[a>>2]|0;break}b=mb()|0;if(c){l=c;break a}yb(b|0)}while(0);k[a>>2]=c;k[s>>2]=e;k[q>>2]=d;k[p>>2]=b;if((d-e|0)==4)b=85;else b=(k[t>>2]|0)+170|0;k[t>>2]=b;if(!f){r=u;return}uha(f);r=u;return}while(0);uha(l);u=b;yb(u|0)}function dj(a){a=a|0;var b=0,c=0.0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,u=0,v=0,w=0;u=0;v=r;r=r+16|0;s=v;q=a+92|0;if(k[q>>2]|0){u=k[q>>2]|0;r=v;return u|0}c=+p[a+56>>3];if(c==0.0)b=0;else{p[t>>3]=c;o=ia(k[t>>2]|0,1540483477)|0;b=ia(k[t+4>>2]|0,1540483477)|0;b=(ia((ia(o>>>24^o,1540483477)|0)^-561034072,1540483477)|0)^(ia(b>>>24^b,1540483477)|0);b=ia(b>>>13^b,1540483477)|0;b=b>>>15^b}k[q>>2]=b;b=k[a+68>>2]|0;j=k[a+72>>2]|0;a:do if((b|0)!=(j|0)){m=s+8|0;n=s+1|0;o=s+4|0;while(1){_G(s,b);h=i[s>>0]|0;f=(h&1)==0;g=f?n:k[m>>2]|0;h=f?(h&255)>>>1:k[o>>2]|0;if(h>>>0>3){e=h;f=g;d=h;while(1){w=ia(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24,1540483477)|0;d=(ia(w>>>24^w,1540483477)|0)^(ia(d,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=h+-4|0;f=e&-4;e=e-f|0;f=g+(f+4)|0}else{e=h;f=g;d=h}switch(e|0){case 3:{d=(l[f+2>>0]|0)<<16^d;u=13;break}case 2:{u=13;break}case 1:{u=14;break}default:{}}if((u|0)==13){d=(l[f+1>>0]|0)<<8^d;u=14}if((u|0)==14){u=0;d=ia((l[f>>0]|0)^d,1540483477)|0}h=ia(d>>>13^d,1540483477)|0;w=k[q>>2]|0;k[q>>2]=(w<<6)+-1640531527+(w>>>2)+(h>>>15^h)^w;P1(s);b=b+12|0;if((b|0)==(j|0))break a}}while(0);b=k[a+80>>2]|0;j=k[a+84>>2]|0;if((b|0)==(j|0)){w=k[q>>2]|0;r=v;return w|0}m=s+8|0;n=s+1|0;o=s+4|0;do{_G(s,b);h=i[s>>0]|0;w=(h&1)==0;g=w?n:k[m>>2]|0;h=w?(h&255)>>>1:k[o>>2]|0;if(h>>>0>3){e=h;f=g;d=h;while(1){w=ia(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24,1540483477)|0;d=(ia(w>>>24^w,1540483477)|0)^(ia(d,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=h+-4|0;f=e&-4;e=e-f|0;f=g+(f+4)|0}else{e=h;f=g;d=h}switch(e|0){case 3:{d=(l[f+2>>0]|0)<<16^d;u=21;break}case 2:{u=21;break}case 1:{u=22;break}default:{}}if((u|0)==21){d=(l[f+1>>0]|0)<<8^d;u=22}if((u|0)==22){u=0;d=ia((l[f>>0]|0)^d,1540483477)|0}a=ia(d>>>13^d,1540483477)|0;w=k[q>>2]|0;k[q>>2]=(w<<6)+-1640531527+(w>>>2)+(a>>>15^a)^w;P1(s);b=b+12|0}while((b|0)!=(j|0));w=k[q>>2]|0;r=v;return w|0}function ej(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,j=0.0,l=0,m=0,n=0,o=0.0,q=0.0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;z=r;r=r+96|0;m=z+48|0;b=z+36|0;l=z+24|0;n=z+12|0;y=z;lE(b,37012,8);x=0;s=m;t=e;u=s+40|0;do{k[s>>2]=k[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(u|0));w=wa(24,b|0,a|0,d|0,m|0,f|0)|0;v=x;x=0;if(v&1){z=mb()|0;P1(b);yb(z|0)}P1(b);lE(l,37021,8);x=0;s=m;t=e;u=s+40|0;do{k[s>>2]=k[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(u|0));v=wa(24,l|0,a|0,d|0,m|0,f|0)|0;u=x;x=0;if(u&1){z=mb()|0;P1(l);yb(z|0)}P1(l);lE(n,37030,7);x=0;s=m;t=e;u=s+40|0;do{k[s>>2]=k[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(u|0));b=La(1,n|0,a|0,d|0,m|0,0.0,100.0,f|0)|0;u=x;x=0;if(u&1){z=mb()|0;P1(n);yb(z|0)}P1(n);o=+p[b+56>>3]/100.0;g=o*2.0+-1.0;b=w+80|0;l=v+80|0;h=+p[b>>3]-+p[l>>3];j=g*h;if(!(j==-1.0))g=(g+h)/(j+1.0);g=(g+1.0)*.5;h=1.0-g;m=c+36|0;n=lD(m,104)|0;s=c+16|0;j=+RI(g*+p[w+56>>3]+h*+p[v+56>>3],k[(k[s>>2]|0)+4>>2]|0);q=+RI(g*+p[w+64>>3]+h*+p[v+64>>3],k[(k[s>>2]|0)+4>>2]|0);h=+RI(g*+p[w+72>>3]+h*+p[v+72>>3],k[(k[s>>2]|0)+4>>2]|0);g=o*+p[b>>3]+(1.0-o)*+p[l>>3];lE(y,78097,0);k[n+4>>2]=0;s=n+8|0;t=e;u=s+40|0;do{k[s>>2]=k[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(u|0));i[n+48>>0]=0;i[n+49>>0]=0;i[n+50>>0]=0;b=n+52|0;k[b>>2]=0;k[n>>2]=5580;p[n+56>>3]=j;p[n+64>>3]=q;p[n+72>>3]=h;p[n+80>>3]=g;x=0;sa(430,n+88|0,y|0);e=x;x=0;if(!(e&1)){k[n+100>>2]=0;k[b>>2]=3;x=0;b=Ka(857,m|0,n|0)|0;e=x;x=0;if(!(e&1)){P1(y);r=z;return b|0}}z=mb()|0;P1(y);yb(z|0);return 0}function fj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;b=Io(a)|0;if(b|0){a=b;return a|0}a:do if(a|0){j=i[38919]|0;e=j<<24>>24==0;if(e)b=a;else{b=a;c=j;d=38919;do{if((i[b>>0]|0)!=c<<24>>24)break a;b=b+1|0;d=d+1|0;c=i[d>>0]|0}while(c<<24>>24!=0)}c=i[b>>0]|0;if(c<<24>>24){if(e){d=0;e=0;while(1){switch(c<<24>>24){case 92:{b=b+1|0;break}case 34:{d=d^1;break}case 39:{e=e^1;break}default:if(d)d=1;else{b=e?b:b+-1|0;d=0}}b=b+1|0;c=i[b>>0]|0;if(!(c<<24>>24))break a}}else{g=b;d=0;e=0;h=0}b:while(1){c:do switch(c<<24>>24){case 92:{b=g+1|0;f=h;break}case 34:{b=g;d=d^1;f=h;break}case 39:{b=g;e=e^1;f=h;break}default:if(d){b=g;d=1;f=h}else if(e){b=g;d=0;e=1;f=h}else if(!g){b=0;d=0;e=0;f=h}else{d:do if(c<<24>>24==j<<24>>24){d=g;f=38919;while(1){b=d;d=d+1|0;f=f+1|0;e=i[f>>0]|0;if(!(e<<24>>24))break;if((i[d>>0]|0)!=e<<24>>24)break d}d=0;e=0;f=h+1|0;break c}while(0);b=i[43519]|0;e:do if(!(b<<24>>24))b=g;else{if(c<<24>>24==b<<24>>24){b=g;d=43519}else{b=g;d=0;e=0;f=h;break c}while(1){b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24))break e;if((i[b>>0]|0)!=c<<24>>24){b=g;d=0;e=0;f=h;break c}}}while(0);if(!h)break b;b=b+-1|0;d=0;e=0;f=h+-1|0}}while(0);g=b+1|0;c=i[g>>0]|0;if(!(c<<24>>24))break a;else h=f}if(b|0){a=b;return a|0}}}while(0);if((i[a>>0]|0)==45){b=a;do b=b+1|0;while((i[b>>0]|0)==45)}else b=a;b=Kt(b)|0;if(b|0){b=Jt(b)|0;if(b|0){a=b;return a|0}}b=a+1|0;if((i[a>>0]|0)==36){if((i[b>>0]|0)==45)do b=b+1|0;while((i[b>>0]|0)==45);b=Kt(b)|0;if(b|0){b=Jt(b)|0;if(b|0){a=b;return a|0}}}b=wy(a)|0;if(b|0)if((i[b>>0]|0)==37){a=b+1|0;return a|0}a=sv(a)|0;return a|0}function gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;u=0;v=r;r=r+64|0;p=v+8|0;q=v+48|0;t=v;k[a>>2]=0;w=a+4|0;k[w>>2]=0;k[a+8>>2]=0;s=tc[k[(k[c>>2]|0)+72>>2]&511](c)|0;s=(k[s+72>>2]|0)-(k[s+68>>2]|0)>>2;if(!s){r=v;return}l=b+4|0;m=t+4|0;n=a+8|0;o=0;a:while(1){x=0;b=ua(k[(k[c>>2]|0)+72>>2]|0,c|0)|0;j=x;x=0;if(j&1)break;j=k[(k[b+68>>2]|0)+(o<<2)>>2]|0;h=(k[j+52>>2]|0)==6&1;b=k[w>>2]|0;if((k[a>>2]|0)==(b|0))u=17;else if((i[b+-8>>0]|0)==h<<24>>24){b=k[b+-4>>2]|0;d=b+64|0;k[p>>2]=j;e=j;if(j|0){k[b+80>>2]=0;f=b+72|0;g=k[f>>2]|0;if((g|0)==(k[b+76>>2]|0)){x=0;sa(480,b+68|0,p|0);h=x;x=0;if(h&1)break}else{k[g>>2]=e;k[f>>2]=(k[f>>2]|0)+4}x=0;sa(k[k[d>>2]>>2]|0,d|0,j|0);j=x;x=0;if(j&1)break}}else u=17;do if((u|0)==17){u=0;b=(k[l>>2]|0)+36|0;x=0;d=Ka(856,b|0,88)|0;g=x;x=0;if(g&1)break a;e=p;f=j+8|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+4>>2]=0;e=d+8|0;f=p;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+52>>2]=0;k[d+56>>2]=0;i[d+60>>0]=0;k[d+68>>2]=0;k[d+72>>2]=0;k[d+76>>2]=0;k[d>>2]=9664;k[d+64>>2]=9756;i[d+84>>0]=0;i[d+85>>0]=0;i[d+86>>0]=0;i[d+87>>0]=0;x=0;b=Ka(857,b|0,d|0)|0;g=x;x=0;if(g&1)break a;d=b;e=b+64|0;k[q>>2]=j;k[b+80>>2]=0;f=b+72|0;g=k[f>>2]|0;if((g|0)==(k[b+76>>2]|0)){x=0;sa(480,b+68|0,q|0);g=x;x=0;if(g&1)break a}else{k[g>>2]=j;k[f>>2]=(k[f>>2]|0)+4}x=0;sa(k[k[e>>2]>>2]|0,e|0,j|0);j=x;x=0;if(j&1)break a;i[t>>0]=h;k[m>>2]=d;b=k[w>>2]|0;if(b>>>0<(k[n>>2]|0)>>>0){g=t;h=k[g+4>>2]|0;j=b;k[j>>2]=k[g>>2];k[j+4>>2]=h;k[w>>2]=(k[w>>2]|0)+8;break}else{x=0;sa(481,a|0,t|0);j=x;x=0;if(j&1)break a;else break}}while(0);o=o+1|0;if(o>>>0>=s>>>0){u=27;break}}if((u|0)==27){r=v;return}e=mb()|0;b=k[a>>2]|0;if(!b)yb(e|0);d=k[w>>2]|0;if((d|0)!=(b|0))k[w>>2]=d+(~((d+-8-b|0)>>>3)<<3);uha(b);yb(e|0)}function hj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;e=n+60|0;f=n+48|0;g=n+36|0;h=n+24|0;l=n+12|0;m=n;if(a|0){c=Ot(a,96,128,0)|0;if(c|0){m=Sj(c,b)|0;r=n;return m|0}c=Ot(a,96,144,0)|0;if(c|0){m=Rj(c,b)|0;r=n;return m|0}c=Ot(a,96,752,0)|0;if(c|0){m=Qj(c,b)|0;r=n;return m|0}}c=a+68|0;_G(e,c);d=b+68|0;x=0;sa(430,f|0,d|0);o=x;x=0;if(o&1){o=mb()|0;P1(e);yb(o|0)}o=Ir(e,f)|0;P1(f);P1(e);if(o){_G(g,a+80|0);x=0;sa(430,h|0,b+80|0);o=x;x=0;if(o&1){o=mb()|0;P1(g);yb(o|0)}b=j[g>>1]|0;e=(b&1)==0;d=(b&254)>>>1;f=e?d:k[g+4>>2]|0;o=i[h>>0]|0;c=(o&1)==0;b=(b&65535)>>>8&255;a:do if((f|0)==((c?(o&255)>>>1:k[h+4>>2]|0)|0)){c=c?h+1|0:k[h+8>>2]|0;if(!e){c=(tG(k[g+8>>2]|0,c,f)|0)==0;break}if(!f)c=1;else if(b<<24>>24==(i[c>>0]|0)){e=g+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d){c=1;break a}c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0)){c=0;break}}}else c=0}else c=0;while(0);P1(h);P1(g);o=c;r=n;return o|0}else{_G(l,c);x=0;sa(430,m|0,d|0);o=x;x=0;if(o&1){o=mb()|0;P1(l);yb(o|0)}b=j[l>>1]|0;e=(b&1)==0;d=(b&254)>>>1;f=e?d:k[l+4>>2]|0;o=i[m>>0]|0;c=(o&1)==0;b=(b&65535)>>>8&255;b:do if((f|0)==((c?(o&255)>>>1:k[m+4>>2]|0)|0)){c=c?m+1|0:k[m+8>>2]|0;if(!e){c=(tG(k[l+8>>2]|0,c,f)|0)==0;break}if(!f)c=1;else if(b<<24>>24==(i[c>>0]|0)){e=l+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d){c=1;break b}c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0)){c=0;break}}}else c=0}else c=0;while(0);P1(m);P1(l);o=c;r=n;return o|0}return 0}function ij(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=0;m=r;r=r+128|0;e=m;d=m+80|0;q=m+64|0;g=m+52|0;h=m+40|0;l=d;n=c+8|0;o=l+40|0;do{k[l>>2]=k[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));_G(q,68968);l=e;n=d;o=l+40|0;do{k[l>>2]=k[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));x=0;sa(487,a|0,q|0);o=x;x=0;if(o&1)d=mb()|0;else{k[a>>2]=8160;j=a+8|0;x=0;sa(430,j|0,q|0);o=x;x=0;do if(o&1)d=mb()|0;else{f=a+20|0;x=0;Qa(74,f|0,31243,5);o=x;x=0;if(o&1){d=mb()|0;P1(j);break}l=a+32|0;n=e;o=l+40|0;do{k[l>>2]=k[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));k[a+72>>2]=0;P1(q);k[a>>2]=10744;k[a+76>>2]=b;k[a+80>>2]=c;x=0;Ka(874,j|0,31560)|0;q=x;x=0;do if(q&1)p=17;else{q=k[b+96>>2]|0;i[q+48>>0]=0;x=0;sa(k[(k[q>>2]|0)+12>>2]|0,g|0,q|0);q=x;x=0;if(q&1)p=17;else{q=i[g>>0]|0;o=(q&1)==0;x=0;xa(46,j|0,(o?g+1|0:k[g+8>>2]|0)|0,(o?(q&255)>>>1:k[g+4>>2]|0)|0)|0;q=x;x=0;if(q&1){d=mb()|0;P1(g);break}P1(g);x=0;Ka(866,j|0,31575)|0;q=x;x=0;if(q&1)p=17;else{x=0;sa(k[(k[c>>2]|0)+12>>2]|0,h|0,c|0);q=x;x=0;if(q&1)p=17;else{q=i[h>>0]|0;o=(q&1)==0;x=0;xa(46,j|0,(o?h+1|0:k[h+8>>2]|0)|0,(o?(q&255)>>>1:k[h+4>>2]|0)|0)|0;q=x;x=0;if(q&1){d=mb()|0;P1(h);break}P1(h);x=0;Ka(866,j|0,31585)|0;q=x;x=0;if(q&1)p=17;else{r=m;return}}}}}while(0);if((p|0)==17)d=mb()|0;k[a>>2]=8160;P1(f);P1(j);f4(a);a=d;yb(a|0)}while(0);f4(a)}P1(q);a=d;yb(a|0)}function jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;m=r;r=r+48|0;n=m+36|0;o=m+24|0;h=m+12|0;l=m;_G(n,a+68|0);x=0;sa(430,o|0,b+68|0);g=x;x=0;if(g&1){o=mb()|0;P1(n);yb(o|0)}if(!(Ir(n,o)|0)){P1(o);P1(n);o=0;r=m;return o|0}x=0;sa(430,h|0,a+80|0);g=x;x=0;do if(g&1)c=mb()|0;else{x=0;sa(430,l|0,b+80|0);g=x;x=0;if(g&1){c=mb()|0;P1(h);break}g=j[h>>1]|0;e=(g&1)==0;d=(g&254)>>>1;f=e?d:k[h+4>>2]|0;p=i[l>>0]|0;c=(p&1)==0;g=(g&65535)>>>8&255;if((f|0)!=((c?(p&255)>>>1:k[l+4>>2]|0)|0)){P1(l);P1(h);P1(o);P1(n);p=0;r=m;return p|0}c=c?l+1|0:k[l+8>>2]|0;a:do if(e){if(!f){P1(l);P1(h);P1(o);P1(n);break}b:do if(g<<24>>24==(i[c>>0]|0)){e=h+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d)break;c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0))break b}P1(l);P1(h);P1(o);P1(n);break a}while(0);P1(l);P1(h);P1(o);P1(n);p=0;r=m;return p|0}else{p=(tG(k[h+8>>2]|0,c,f)|0)==0;P1(l);P1(h);P1(o);P1(n);if(!p){p=0;r=m;return p|0}}while(0);p=k[a+96>>2]|0;p=Jc[k[(k[p>>2]|0)+76>>2]&1023](p,k[b+96>>2]|0)|0;r=m;return p|0}while(0);P1(o);p=c;P1(n);yb(p|0);return 0}function kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=0;j=r;r=r+80|0;g=j+60|0;h=j+48|0;c=j+36|0;d=j+24|0;e=j+12|0;f=j;switch(k[b+52>>2]|0){case 3:{c=k[a+68>>2]|0;_G(h,b+68|0);x=0;b=xa(51,h|0,0,1)|0;f=x;x=0;do if(f&1)i=6;else{x=0;sa(430,g|0,b|0);f=x;x=0;if(f&1)i=6;else{x=0;b=Ka(875,c|0,g|0)|0;f=x;x=0;if(f&1){b=mb()|0;P1(g);break}P1(g);P1(h);i=b;r=j;return i|0}}while(0);if((i|0)==6)b=mb()|0;P1(h);j=b;yb(j|0)}case 2:{b=k[a+68>>2]|0;lE(c,31213,5);x=0;b=Ka(875,b|0,c|0)|0;i=x;x=0;if(i&1){j=mb()|0;P1(c);yb(j|0)}else{P1(c);i=b;r=j;return i|0}}case 1:{b=k[a+68>>2]|0;lE(d,31219,4);x=0;b=Ka(875,b|0,d|0)|0;i=x;x=0;if(i&1){j=mb()|0;P1(d);yb(j|0)}else{P1(d);i=b;r=j;return i|0}}case 4:{b=k[a+68>>2]|0;lE(e,31224,8);x=0;b=Ka(875,b|0,e|0)|0;i=x;x=0;if(i&1){j=mb()|0;P1(e);yb(j|0)}else{P1(e);i=b;r=j;return i|0}}default:{b=b+68|0;if(KH(b,33020)|0)if(KH(b,33039)|0)if(KH(b,33055)|0)if(KH(b,33069)|0){i=0;r=j;return i|0}b=k[a+68>>2]|0;lE(f,31233,9);x=0;b=Ka(875,b|0,f|0)|0;i=x;x=0;if(i&1){j=mb()|0;P1(f);yb(j|0)}else{P1(f);i=b;r=j;return i|0}}}return 0}function lj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;g=0;q=r;r=r+96|0;h=q+48|0;m=q+36|0;p=q+24|0;o=q+12|0;n=q;j=(k[a+40>>2]|0)+36|0;l=lD(j,88)|0;b=h;c=a+108|0;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(m);g=5}else if(f>>>0<11){i[m>>0]=f<<1;b=m+1|0}else g=5;if((g|0)==5){g=f+16&-16;b=GG(g)|0;k[m+8>>2]=b;k[m>>2]=g|1;k[m+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;k[l+4>>2]=0;b=l+8|0;c=h;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));b=l+52|0;k[b>>2]=0;k[l+56>>2]=0;i[l+60>>0]=0;k[l+64>>2]=0;k[l>>2]=9872;x=0;sa(430,l+68|0,m|0);h=x;x=0;if(!(h&1)){k[l+80>>2]=0;k[l+84>>2]=0;k[b>>2]=3;x=0;e=Ka(857,j|0,l|0)|0;l=x;x=0;if(!(l&1)){P1(m);b=Om(a)|0;k[e+84>>2]=b;m=k[a+76>>2]|0;l=bO(m)|0;m=l|0?l:m;m=(i[m>>0]|0)==123?m+1|0:0;if(!((m|0)==0?1:m>>>0>(k[a+80>>2]|0)>>>0)){c=a+164|0;d=i[c>>0]|0;i[c>>0]=0;x=0;b=Ka(900,a|0,0)|0;a=x;x=0;if(a&1){q=mb()|0;i[c>>0]=d;yb(q|0)}i[c>>0]=d;k[e+64>>2]=b;r=q;return e|0}if(b|0){r=q;return e|0}lE(p,42600,8);x=0;Qa(74,o|0,39918,7);m=x;x=0;if(m&1)b=mb()|0;else{x=0;Qa(74,n|0,42609,7);m=x;x=0;do if(m&1)b=mb()|0;else{x=0;Ua(31,a|0,p|0,o|0,n|0);a=x;x=0;if(a&1){b=mb()|0;P1(n);break}P1(n);P1(o);P1(p);r=q;return e|0}while(0);P1(o)}P1(p);q=b;yb(q|0)}}q=mb()|0;P1(m);yb(q|0);return 0}function mj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+80|0;c=j+60|0;d=j+48|0;f=j+36|0;g=j+24|0;h=j+12|0;i=j;e=b+56|0;do if(Jc[k[(k[b>>2]|0)+96>>2]&1023](b,k[e>>2]|0)|0){lE(c,38856,1);x=0;sa(484,a+4|0,c|0);l=x;x=0;if(!(l&1)){P1(c);break}l=mb()|0;P1(c);yb(l|0)}while(0);l=k[e>>2]|0;rc[k[(k[l>>2]|0)+28>>2]&1023](l,a);do if(Jc[k[(k[b>>2]|0)+96>>2]&1023](b,k[e>>2]|0)|0){lE(d,38861,1);x=0;sa(484,a+4|0,d|0);l=x;x=0;if(!(l&1)){P1(d);break}l=mb()|0;P1(d);yb(l|0)}while(0);a:do switch(k[b+64>>2]|0){case 0:{c=a+4|0;vba(c);lE(f,42444,3);x=0;Qa(134,c|0,f|0,b|0);l=x;x=0;if(!(l&1)){P1(f);vba(c);break a}l=mb()|0;P1(f);yb(l|0)}case 1:{c=a+4|0;vba(c);lE(g,42448,2);x=0;Qa(134,c|0,g|0,b|0);l=x;x=0;if(!(l&1)){P1(g);vba(c);break a}l=mb()|0;P1(g);yb(l|0)}default:{}}while(0);c=b+60|0;do if(Jc[k[(k[b>>2]|0)+96>>2]&1023](b,k[c>>2]|0)|0){lE(h,38856,1);x=0;sa(484,a+4|0,h|0);l=x;x=0;if(!(l&1)){P1(h);break}l=mb()|0;P1(h);yb(l|0)}while(0);l=k[c>>2]|0;rc[k[(k[l>>2]|0)+28>>2]&1023](l,a);if(!(Jc[k[(k[b>>2]|0)+96>>2]&1023](b,k[c>>2]|0)|0)){r=j;return}lE(i,38861,1);x=0;sa(484,a+4|0,i|0);l=x;x=0;if(l&1){l=mb()|0;P1(i);yb(l|0)}else{P1(i);r=j;return}}function nj(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,l=0,m=0,n=0,o=0,p=0;l=0;e=k[a>>2]|0;h=e;b=e+((((k[b>>2]|0)-h|0)/24|0)*24|0)|0;m=k[c>>2]|0;f=k[d>>2]|0;p=f-m|0;i=(p|0)/24|0;o=f;if((p|0)<=0){p=b;return p|0}n=a+8|0;d=k[n>>2]|0;p=a+4|0;j=k[p>>2]|0;g=j;if((i|0)<=((d-g|0)/24|0|0)){g=g-b|0;d=(g|0)/24|0;if((i|0)>(d|0)){e=m+(d*24|0)|0;f=e;if((e|0)==(o|0))d=j;else{d=j;do{k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[d+16>>2]=k[e+16>>2];k[d+20>>2]=k[e+20>>2];d=(k[p>>2]|0)+24|0;k[p>>2]=d;e=e+24|0}while((e|0)!=(o|0))}if((g|0)<=0){p=b;return p|0}}else d=j;h=d-(b+(i*24|0))|0;e=b+(((h|0)/24|0)*24|0)|0;if(e>>>0>>0){g=d;do{k[g>>2]=k[e>>2];k[g+4>>2]=k[e+4>>2];k[g+8>>2]=k[e+8>>2];k[g+12>>2]=k[e+12>>2];k[g+16>>2]=k[e+16>>2];k[g+20>>2]=k[e+20>>2];e=e+24|0;g=(k[p>>2]|0)+24|0;k[p>>2]=g}while(e>>>0>>0)}VH(d+(((h|0)/-24|0)*24|0)|0,b|0,h|0)|0;d=k[c>>2]|0;if((d|0)==(f|0)){p=b;return p|0}else e=b;while(1){k[e>>2]=k[d>>2];k[e+4>>2]=k[d+4>>2];k[e+8>>2]=k[d+8>>2];k[e+12>>2]=k[d+12>>2];k[e+16>>2]=k[d+16>>2];k[e+20>>2]=k[d+20>>2];d=d+24|0;if((d|0)==(f|0))break;else e=e+24|0}return b|0}f=((g-h|0)/24|0)+i|0;if(f>>>0>178956970){fH(a);h=k[a>>2]|0;e=h;d=k[n>>2]|0}d=(d-h|0)/24|0;if(d>>>0<89478485){d=d<<1;d=d>>>0>>0?f:d;g=b;f=(g-h|0)/24|0;if(!d){i=0;h=0}else l=16}else{g=b;d=178956970;f=(g-h|0)/24|0;l=16}if((l|0)==16){i=d;h=GG(d*24|0)|0}j=h+(f*24|0)|0;d=j;h=h+(i*24|0)|0;if((m|0)!=(o|0)){f=j;e=m;do{k[f>>2]=k[e>>2];k[f+4>>2]=k[e+4>>2];k[f+8>>2]=k[e+8>>2];k[f+12>>2]=k[e+12>>2];k[f+16>>2]=k[e+16>>2];k[f+20>>2]=k[e+20>>2];f=d+24|0;d=f;e=e+24|0}while((e|0)!=(o|0));e=k[a>>2]|0}o=g-e|0;m=j+(((o|0)/-24|0)*24|0)|0;WC(m|0,e|0,o|0)|0;o=(k[p>>2]|0)-g|0;WC(d|0,b|0,o|0)|0;b=k[a>>2]|0;k[a>>2]=m;k[p>>2]=d+(((o|0)/24|0)*24|0);k[n>>2]=h;if(!b){p=j;return p|0}uha(b);p=j;return p|0}function oj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;o=r;r=r+16|0;n=o;m=ll(a,b,c,d,f)|0;p=i[e>>0]|0;q=(p&1)==0;p=q?(p&255)>>>1:k[e+4>>2]|0;j=i[d>>0]|0;l=(j&1)==0;f=d+4|0;j=l?(j&255)>>>1:k[f>>2]|0;g=d+8|0;h=d+1|0;l=tG(q?e+1|0:k[e+8>>2]|0,l?h:k[g>>2]|0,j>>>0

>>0?j:p)|0;if((((l|0)==0?(p>>>0>>0?-2147483648:0):l)|0)>=0){q=m;r=o;return q|0}k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[e>>2]=k[n>>2];k[e+4>>2]=k[n+4>>2];k[e+8>>2]=k[n+8>>2];e=i[d>>0]|0;s=(e&1)==0;e=s?(e&255)>>>1:k[f>>2]|0;p=i[c>>0]|0;q=(p&1)==0;f=c+4|0;p=q?(p&255)>>>1:k[f>>2]|0;j=c+8|0;l=c+1|0;q=tG(s?h:k[g>>2]|0,q?l:k[j>>2]|0,p>>>0>>0?p:e)|0;if((((q|0)==0?(e>>>0

>>0?-2147483648:0):q)|0)>=0){s=m+1|0;r=o;return s|0}k[n>>2]=k[c>>2];k[n+4>>2]=k[c+4>>2];k[n+8>>2]=k[c+8>>2];k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[d>>2]=k[n>>2];k[d+4>>2]=k[n+4>>2];k[d+8>>2]=k[n+8>>2];p=i[c>>0]|0;d=(p&1)==0;p=d?(p&255)>>>1:k[f>>2]|0;q=i[b>>0]|0;s=(q&1)==0;f=b+4|0;q=s?(q&255)>>>1:k[f>>2]|0;e=b+8|0;g=b+1|0;s=tG(d?l:k[j>>2]|0,s?g:k[e>>2]|0,q>>>0

>>0?q:p)|0;if((((s|0)==0?(p>>>0>>0?-2147483648:0):s)|0)>=0){s=m+2|0;r=o;return s|0}k[n>>2]=k[b>>2];k[n+4>>2]=k[b+4>>2];k[n+8>>2]=k[b+8>>2];k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[c>>2]=k[n>>2];k[c+4>>2]=k[n+4>>2];k[c+8>>2]=k[n+8>>2];p=i[b>>0]|0;c=(p&1)==0;p=c?(p&255)>>>1:k[f>>2]|0;q=i[a>>0]|0;s=(q&1)==0;q=s?(q&255)>>>1:k[a+4>>2]|0;s=tG(c?g:k[e>>2]|0,s?a+1|0:k[a+8>>2]|0,q>>>0

>>0?q:p)|0;if((((s|0)==0?(p>>>0>>0?-2147483648:0):s)|0)>=0){s=m+3|0;r=o;return s|0}k[n>>2]=k[a>>2];k[n+4>>2]=k[a+4>>2];k[n+8>>2]=k[a+8>>2];k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[b>>2]=k[n>>2];k[b+4>>2]=k[n+4>>2];k[b+8>>2]=k[n+8>>2];s=m+4|0;r=o;return s|0}function pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;v=0;y=r;r=r+32|0;t=y;z=GG(36)|0;k[z+4>>2]=0;k[z+8>>2]=0;k[z>>2]=14520;u=z+12|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;k[u+12>>2]=0;k[u+16>>2]=0;k[u+20>>2]=0;w=u;e=k[b+16>>2]|0;a:do if(!e)v=20;else{f=k[e+4>>2]|0;d=k[e+16>>2]|0;g=f+(((d>>>0)/170|0)<<2)|0;if((k[e+8>>2]|0)==(f|0)){d=0;q=0}else{q=d+(k[e+20>>2]|0)|0;d=(k[g>>2]|0)+(((d>>>0)%170|0)*24|0)|0;q=(k[f+(((q>>>0)/170|0)<<2)>>2]|0)+(((q>>>0)%170|0)*24|0)|0}l=z+20|0;m=z+16|0;n=z+28|0;o=z+32|0;p=t+16|0;s=t+20|0;b:while(1){do{if((d|0)==(q|0)){v=20;break a}x=0;Qa(124,t|0,d|0,c|0);j=x;x=0;if(j&1){v=7;break b}j=k[l>>2]|0;h=k[m>>2]|0;A=j-h>>2;f=k[n>>2]|0;e=k[o>>2]|0;if((((A|0)==0?0:(A*170|0)+-1|0)|0)==(e+f|0)){x=0;ra(336,u|0);A=x;x=0;if(A&1)break b;e=k[o>>2]|0;f=k[n>>2]|0;j=k[l>>2]|0;h=k[m>>2]|0}e=e+f|0;if((j|0)==(h|0))e=0;else e=(k[h+(((e>>>0)/170|0)<<2)>>2]|0)+(((e>>>0)%170|0)*24|0)|0;k[e>>2]=k[t>>2];k[e+4>>2]=k[t+4>>2];k[e+8>>2]=k[t+8>>2];k[e+12>>2]=k[t+12>>2];k[e+16>>2]=k[p>>2];k[e+20>>2]=k[s>>2];k[p>>2]=0;k[s>>2]=0;k[o>>2]=(k[o>>2]|0)+1;d=d+24|0}while((d-(k[g>>2]|0)|0)!=4080);d=g+4|0;g=d;d=k[d>>2]|0}if((v|0)==7){d=mb()|0;break}e=mb()|0;d=k[s>>2]|0;if(!d){A=e;CQ(z);yb(A|0)}CQ(d);A=e;CQ(z);yb(A|0)}while(0);do if((v|0)==20){e=b+4|0;f=k[b+8>>2]|0;d=k[b+12>>2]|0;if(!d)d=0;else{x=0;d=Ka(890,d|0,c|0)|0;A=x;x=0;if(A&1){d=mb()|0;break}}i[a>>0]=0;k[a+4>>2]=k[e>>2];k[a+8>>2]=f;k[a+12>>2]=d;k[a+16>>2]=w;k[a+20>>2]=z;c3(z);if(!d){A=i[b>>0]|0;i[a>>0]=A;CQ(z);r=y;return}i[a>>0]=i[d+57>>0]|0;A=i[b>>0]|0;i[a>>0]=A;CQ(z);r=y;return}while(0);A=d;CQ(z);yb(A|0)}function qj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;l=a;i=b;j=i;g=c;n=d;h=n;if(!j){f=(e|0)!=0;if(!h){if(f){k[e>>2]=(l>>>0)%(g>>>0);k[e+4>>2]=0}n=0;e=(l>>>0)/(g>>>0)>>>0;return (M=n,e)|0}else{if(!f){n=0;e=0;return (M=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (M=n,e)|0}}f=(h|0)==0;do if(!g){if(f){if(e|0){k[e>>2]=(j>>>0)%(g>>>0);k[e+4>>2]=0}n=0;e=(j>>>0)/(g>>>0)>>>0;return (M=n,e)|0}if(!l){if(e|0){k[e>>2]=0;k[e+4>>2]=(j>>>0)%(h>>>0)}n=0;e=(j>>>0)/(h>>>0)>>>0;return (M=n,e)|0}f=h-1|0;if(!(f&h)){if(e|0){k[e>>2]=a|0;k[e+4>>2]=f&j|b&0}n=0;e=j>>>((nI(h|0)|0)>>>0);return (M=n,e)|0}f=(ka(h|0)|0)-(ka(j|0)|0)|0;if(f>>>0<=30){b=f+1|0;h=31-f|0;g=b;a=j<>>(b>>>0);b=j>>>(b>>>0);f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;n=0;e=0;return (M=n,e)|0}else{if(!f){f=(ka(h|0)|0)-(ka(j|0)|0)|0;if(f>>>0<=31){m=f+1|0;h=31-f|0;b=f-31>>31;g=m;a=l>>>(m>>>0)&b|j<>>(m>>>0)&b;f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;n=0;e=0;return (M=n,e)|0}f=g-1|0;if(f&g|0){h=(ka(g|0)|0)+33-(ka(j|0)|0)|0;p=64-h|0;m=32-h|0;i=m>>31;o=h-32|0;b=o>>31;g=h;a=m-1>>31&j>>>(o>>>0)|(j<>>(h>>>0))&b;b=b&j>>>(h>>>0);f=l<>>(o>>>0))&i|l<>31;break}if(e|0){k[e>>2]=f&l;k[e+4>>2]=0}if((g|0)==1){o=i|b&0;p=a|0|0;return (M=o,p)|0}else{p=nI(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (M=o,p)|0}}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=TZ(m|0,l|0,-1,-1)|0;c=M;i=h;h=0;do{q=i;i=f>>>31|i<<1;f=h|f<<1;q=a<<1|q>>>31|0;d=a>>>31|b<<1|0;lN(j|0,c|0,q|0,d|0)|0;o=M;p=((o|0)<0?-1:0)<<1|0;n=o>>31|p;h=n&1;a=lN(q|0,d|0,n&m|0,(((o|0)<0?-1:0)>>31|p)&l|0)|0;b=M;g=g-1|0}while((g|0)!=0);j=i;i=0}g=0;if(e|0){k[e>>2]=a;k[e+4>>2]=b}p=(f|0)>>>31|(j|g)<<1|(g<<1|f>>>31)&0|i;q=(f<<1|0>>>31)&-2|h;return (M=p,q)|0}function rj(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;z=r;r=r+32|0;y=z;s=z+16|0;q=z+12|0;t=z+8|0;u=z+4|0;v=z+20|0;wq(a,b+288|0);w=a+4|0;g=k[w>>2]|0;h=k[a>>2]|0;b=h;n=g;if((g|0)==(h|0)){r=z;return}h=b+12|0;f=h+(d*12|0)|0;if(c)if((b|0)==(f|0))e=g;else{do if((f|0)==(n|0)){p=b;e=n;l=g}else{while(1){if(!(i[b>>0]&1)){i[b+1>>0]=0;i[b>>0]=0}else{i[k[b+8>>2]>>0]=0;k[b+4>>2]=0}x=0;sa(443,b|0,0);o=x;x=0;if(o&1){b=9;break}k[b>>2]=k[f>>2];k[b+4>>2]=k[f+4>>2];k[b+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=f+12|0;b=b+12|0;if((f|0)==(n|0)){e=b;b=11;break}}if((b|0)==9){o=Eb(0)|0;Nba(o)}else if((b|0)==11){l=k[w>>2]|0;p=e;e=l;break}}while(0);if((e|0)==(p|0))e=l;else do{e=e+-12|0;k[w>>2]=e;P1(e);e=k[w>>2]|0}while((e|0)!=(p|0))}else if(!d)e=g;else{do if((f|0)==(n|0)){o=h;j=n;m=g}else{e=h;while(1){if(!(i[e>>0]&1)){i[e+1>>0]=0;i[e>>0]=0}else{i[k[e+8>>2]>>0]=0;k[e+4>>2]=0}x=0;sa(443,e|0,0);p=x;x=0;if(p&1){b=20;break}k[e>>2]=k[f>>2];k[e+4>>2]=k[f+4>>2];k[e+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=f+12|0;e=e+12|0;if((f|0)==(n|0)){b=22;break}}if((b|0)==20){p=Eb(0)|0;Nba(p)}else if((b|0)==22){m=k[w>>2]|0;o=e;j=m;break}}while(0);if((j|0)==(o|0))e=m;else{e=j;do{e=e+-12|0;k[w>>2]=e;P1(e);e=k[w>>2]|0}while((e|0)!=(o|0))}}k[t>>2]=k[a>>2];k[u>>2]=e;k[q>>2]=k[t>>2];k[s>>2]=k[u>>2];i[y>>0]=i[v>>0]|0;b=tk(q,s,y)|0;e=k[w>>2]|0;if((e|0)!=(b|0))do{v=e+-12|0;k[w>>2]=v;P1(v);e=k[w>>2]|0}while((e|0)!=(b|0));Je((k[a>>2]|0)+((c&1^1)*12|0)|0,b,y);r=z;return}function sj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;f=0;k=a+1|0;do if((i[a>>0]|0)==92){if(!(AY(k)|0)){b=uaa(k)|0;if(!b)break}else{b=a+2|0;if(AY(b)|0){b=a+3|0;j=(AY(b)|0)==0;b=j?b:a+4|0}}b=(i[b>>0]|0)==32?b+1|0:b;if(b|0){a=b;return a|0}}while(0);b=i[a>>0]|0;b=b<<24>>24|0;b=(b|0)!=85?((b|0)==117?k:0):k;if(b|0)if((i[b>>0]|0)==43){b=ux(b+1|0)|0;if(b|0){a=b;return a|0}}j=i[38919]|0;e=j<<24>>24==0;a:do if(e){b=a;f=13}else{b=a;c=j;d=38919;while(1){if((i[b>>0]|0)!=c<<24>>24)break a;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){f=13;break}}}while(0);b:do if((f|0)==13){c=i[b>>0]|0;if(c<<24>>24){if(e){d=0;e=0;while(1){switch(c<<24>>24){case 92:{b=b+1|0;break}case 34:{d=d^1;break}case 39:{e=e^1;break}default:if(d)d=1;else{b=e?b:b+-1|0;d=0}}b=b+1|0;c=i[b>>0]|0;if(!(c<<24>>24))break b}}else{g=b;d=0;e=0;h=0}c:while(1){d:do switch(c<<24>>24){case 92:{b=g+1|0;f=h;break}case 34:{b=g;d=d^1;f=h;break}case 39:{b=g;e=e^1;f=h;break}default:if(d){b=g;d=1;f=h}else if(e){b=g;d=0;e=1;f=h}else if(!g){b=0;d=0;e=0;f=h}else{e:do if(c<<24>>24==j<<24>>24){d=g;f=38919;while(1){b=d;d=d+1|0;f=f+1|0;e=i[f>>0]|0;if(!(e<<24>>24))break;if((i[d>>0]|0)!=e<<24>>24)break e}d=0;e=0;f=h+1|0;break d}while(0);b=i[43519]|0;f:do if(!(b<<24>>24))b=g;else{if(c<<24>>24==b<<24>>24){b=g;d=43519}else{b=g;d=0;e=0;f=h;break d}while(1){b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24))break f;if((i[b>>0]|0)!=c<<24>>24){b=g;d=0;e=0;f=h;break d}}}while(0);if(!h)break c;b=b+-1|0;d=0;e=0;f=h+-1|0}}while(0);g=b+1|0;c=i[g>>0]|0;if(!(c<<24>>24))break b;else h=f}if(b|0){a=b;return a|0}}}while(0);switch(i[a>>0]|0){case 39:case 0:{a=0;return a|0}default:{}}a=k;return a|0}function tj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;f=0;k=a+1|0;do if((i[a>>0]|0)==92){if(!(AY(k)|0)){b=uaa(k)|0;if(!b)break}else{b=a+2|0;if(AY(b)|0){b=a+3|0;j=(AY(b)|0)==0;b=j?b:a+4|0}}b=(i[b>>0]|0)==32?b+1|0:b;if(b|0){a=b;return a|0}}while(0);b=i[a>>0]|0;b=b<<24>>24|0;b=(b|0)!=85?((b|0)==117?k:0):k;if(b|0)if((i[b>>0]|0)==43){b=ux(b+1|0)|0;if(b|0){a=b;return a|0}}j=i[38919]|0;e=j<<24>>24==0;a:do if(e){b=a;f=13}else{b=a;c=j;d=38919;while(1){if((i[b>>0]|0)!=c<<24>>24)break a;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){f=13;break}}}while(0);b:do if((f|0)==13){c=i[b>>0]|0;if(c<<24>>24){if(e){d=0;e=0;while(1){switch(c<<24>>24){case 92:{b=b+1|0;break}case 34:{d=d^1;break}case 39:{e=e^1;break}default:if(d)d=1;else{b=e?b:b+-1|0;d=0}}b=b+1|0;c=i[b>>0]|0;if(!(c<<24>>24))break b}}else{g=b;d=0;e=0;h=0}c:while(1){d:do switch(c<<24>>24){case 92:{b=g+1|0;f=h;break}case 34:{b=g;d=d^1;f=h;break}case 39:{b=g;e=e^1;f=h;break}default:if(d){b=g;d=1;f=h}else if(e){b=g;d=0;e=1;f=h}else if(!g){b=0;d=0;e=0;f=h}else{e:do if(c<<24>>24==j<<24>>24){d=g;f=38919;while(1){b=d;d=d+1|0;f=f+1|0;e=i[f>>0]|0;if(!(e<<24>>24))break;if((i[d>>0]|0)!=e<<24>>24)break e}d=0;e=0;f=h+1|0;break d}while(0);b=i[43519]|0;f:do if(!(b<<24>>24))b=g;else{if(c<<24>>24==b<<24>>24){b=g;d=43519}else{b=g;d=0;e=0;f=h;break d}while(1){b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24))break f;if((i[b>>0]|0)!=c<<24>>24){b=g;d=0;e=0;f=h;break d}}}while(0);if(!h)break c;b=b+-1|0;d=0;e=0;f=h+-1|0}}while(0);g=b+1|0;c=i[g>>0]|0;if(!(c<<24>>24))break b;else h=f}if(b|0){a=b;return a|0}}}while(0);switch(i[a>>0]|0){case 34:case 0:{a=0;return a|0}default:{}}a=k;return a|0}function uj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;c=i[a>>0]|0;if(!(c<<24>>24)){b=0;return b|0}if(!b){j=a;f=0;g=0;h=0;a:while(1){b:do switch(c<<24>>24){case 92:{a=j+1|0;break}case 34:{a=j;f=f^1;break}case 39:{a=j;g=g^1;break}default:if(f){a=j;f=1}else if(g){a=j;f=0;g=1}else if(!j){a=0;f=0;g=0}else{a=i[38919]|0;c:do if(!(a<<24>>24))a=j;else{if(c<<24>>24==a<<24>>24){a=j;g=38919;do{a=a+1|0;g=g+1|0;f=i[g>>0]|0;if(!(f<<24>>24))break c}while((i[a>>0]|0)==f<<24>>24)}a=i[43519]|0;d:do if(!(a<<24>>24))a=j;else{if(c<<24>>24==a<<24>>24){a=j;f=43519}else{a=j;f=0;g=0;break b}while(1){a=a+1|0;f=f+1|0;c=i[f>>0]|0;if(!(c<<24>>24))break d;if((i[a>>0]|0)!=c<<24>>24){a=j;f=0;g=0;break b}}}while(0);if(!h){c=42;break a}a=a+-1|0;f=0;g=0;h=h+-1|0;break b}while(0);a=a+-1|0;f=0;g=0;h=h+1|0}}while(0);j=a+1|0;c=i[j>>0]|0;if(!(c<<24>>24)){a=0;c=42;break}}if((c|0)==42)return a|0}else{m=a;l=c;k=0;d=0;e=0}e:while(1){if(m>>>0>=b>>>0){a=0;c=42;break}f:do switch(l<<24>>24){case 92:{a=m+1|0;c=k;break}case 34:{a=m;c=k^1;break}case 39:{a=m;c=k;d=d^1;break}default:if(k){a=m;c=1}else if(d){a=m;c=0;d=1}else if(!m){a=0;c=0;d=0}else{a=i[38919]|0;g:do if(!(a<<24>>24))a=m;else{if(l<<24>>24==a<<24>>24){a=m;d=38919;do{a=a+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24))break g}while((i[a>>0]|0)==c<<24>>24)}a=i[43519]|0;h:do if(!(a<<24>>24))a=m;else{if(l<<24>>24==a<<24>>24){a=m;d=43519}else{a=m;c=0;d=0;break f}while(1){a=a+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24))break h;if((i[a>>0]|0)!=c<<24>>24){a=m;c=0;d=0;break f}}}while(0);if(!e){c=42;break e}a=a+-1|0;c=0;d=0;e=e+-1|0;break f}while(0);a=a+-1|0;c=0;d=0;e=e+1|0}}while(0);m=a+1|0;l=i[m>>0]|0;if(!(l<<24>>24)){a=0;c=42;break}else k=c}if((c|0)==42)return a|0;return 0}function vj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;f=0;n=a+4|0;c=k[a>>2]|0;e=(((k[n>>2]|0)-c|0)/96|0)+1|0;if(e>>>0>44739242){fH(a);c=k[a>>2]|0}m=a+8|0;d=((k[m>>2]|0)-c|0)/96|0;if(d>>>0<22369621){d=d<<1;d=d>>>0>>0?e:d;c=((k[n>>2]|0)-c|0)/96|0;if(!d){e=0;g=0;d=c}else f=6}else{d=44739242;c=((k[n>>2]|0)-c|0)/96|0;f=6}if((f|0)==6){e=d;g=GG(d*96|0)|0;d=c}h=g+(d*96|0)|0;f=h|0;c=f;l=g+(e*96|0)|0;k[h+4>>2]=k[b+4>>2];h=h+8|0;i=b+8|0;j=h+40|0;do{k[h>>2]=k[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));e=b+48|0;h=k[e+4>>2]|0;j=g+(d*96|0)|0;i=j+48|0;k[i>>2]=k[e>>2];k[i+4>>2]=h;i=j+56|0;h=b+56|0;k[i>>2]=k[h>>2];k[i+4>>2]=k[h+4>>2];k[i+8>>2]=k[h+8>>2];k[f>>2]=7696;i=j+68|0;h=b+68|0;k[i>>2]=k[h>>2];k[i+4>>2]=k[h+4>>2];k[i+8>>2]=k[h+8>>2];k[i+12>>2]=k[h+12>>2];x=0;sa(520,j+84|0,b+84|0);b=x;x=0;if(b&1){c=mb()|0;if(!g)yb(c|0);uha(g);yb(c|0)}b=f+96|0;g=k[a>>2]|0;d=k[n>>2]|0;if((d|0)==(g|0)){i=g;d=g}else{do{e=f+-96|0;k[f+-92>>2]=k[d+-92>>2];k[e>>2]=4748;h=f+-88|0;i=d+-88|0;j=h+40|0;do{k[h>>2]=k[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));k[e>>2]=6736;h=d+-48|0;j=k[h+4>>2]|0;i=f+-48|0;k[i>>2]=k[h>>2];k[i+4>>2]=j;k[e>>2]=6840;i=f+-40|0;j=d+-40|0;k[i>>2]=k[j>>2];k[i+4>>2]=k[j+4>>2];k[i+8>>2]=k[j+8>>2];k[e>>2]=7696;i=f+-28|0;j=d+-28|0;k[i>>2]=k[j>>2];k[i+4>>2]=k[j+4>>2];k[i+8>>2]=k[j+8>>2];k[i+12>>2]=k[j+12>>2];i=f+-12|0;j=d+-12|0;k[i>>2]=0;h=f+-8|0;k[h>>2]=0;k[f+-4>>2]=0;k[i>>2]=k[j>>2];i=d+-8|0;k[h>>2]=k[i>>2];h=d+-4|0;d=d+-96|0;k[f+-4>>2]=k[h>>2];k[h>>2]=0;k[i>>2]=0;k[j>>2]=0;f=c+-96|0;c=f}while((d|0)!=(g|0));i=k[a>>2]|0;d=k[n>>2]|0}k[a>>2]=c;k[n>>2]=b;k[m>>2]=l;h=i;if((d|0)!=(h|0)){c=d;do{d=k[c+-12>>2]|0;e=d;if(d|0){f=c+-8|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);uha(d)}c=c+-96|0}while((c|0)!=(h|0))}if(!i)return;uha(i);return}function wj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=0;y=r;r=r+16|0;j=y+8|0;v=y+4|0;u=y;w=a+64|0;if(!(k[w>>2]|0)){x=-1;r=y;return x|0}d=a+92|0;if(!(k[d>>2]&16)){k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;c=k[a+52>>2]|0;do if(c>>>0>8)if(!(i[a+98>>0]|0)){f=k[a+56>>2]|0;g=f+((k[a+60>>2]|0)+-1)|0;k[a+24>>2]=f;e=a+20|0;k[e>>2]=f;c=a+28|0;k[c>>2]=g;h=f;break}else{f=k[a+32>>2]|0;g=f+(c+-1)|0;k[a+24>>2]=f;e=a+20|0;k[e>>2]=f;c=a+28|0;k[c>>2]=g;h=f;break}else{k[a+24>>2]=0;e=a+20|0;k[e>>2]=0;c=a+28|0;k[c>>2]=0;h=0;g=0;f=0}while(0);k[d>>2]=16;t=e;q=c;s=c;p=e;e=h}else{p=a+20|0;e=k[p>>2]|0;g=a+28|0;t=p;q=g;s=g;f=e;g=k[g>>2]|0}o=(b|0)==-1;c=a+24|0;d=k[c>>2]|0;if(!o){if(!d){k[c>>2]=j;k[p>>2]=j;k[q>>2]=j+1;d=j}i[d>>0]=b;d=(k[c>>2]|0)+1|0;k[c>>2]=d;e=k[p>>2]|0}a:do if((d|0)==(e|0))x=33;else{b:do if(!(i[a+98>>0]|0)){m=a+32|0;h=k[m>>2]|0;k[v>>2]=h;n=a+68|0;j=k[n>>2]|0;if(!j){y=vb(4)|0;Nea(y);Wb(y|0,4480,315)}l=a+72|0;a=a+52|0;e=Rc[k[(k[j>>2]|0)+12>>2]&15](j,l,e,d,u,h,h+(k[a>>2]|0)|0,v)|0;d=k[p>>2]|0;c:do if((k[u>>2]|0)!=(d|0)){while(1){if((e|0)==3){x=22;break}if((e|1|0)!=1)break c;h=k[m>>2]|0;j=(k[v>>2]|0)-h|0;if((FH(h,1,j,k[w>>2]|0)|0)!=(j|0))break c;if((e|0)!=1){x=29;break}h=k[u>>2]|0;e=k[c>>2]|0;k[t>>2]=h;k[q>>2]=e;d=h;h=d+(e-h)|0;k[c>>2]=h;e=k[n>>2]|0;if(!e){x=20;break}j=k[m>>2]|0;e=Rc[k[(k[e>>2]|0)+12>>2]&15](e,l,d,h,u,j,j+(k[a>>2]|0)|0,v)|0;d=k[p>>2]|0;if((k[u>>2]|0)==(d|0))break c}if((x|0)==20){y=vb(4)|0;Nea(y);Wb(y|0,4480,315)}else if((x|0)==22){v=(k[c>>2]|0)-d|0;if((FH(d,1,v,k[w>>2]|0)|0)!=(v|0))break}break b}while(0);c=-1;break a}else{v=d-e|0;if((FH(e,1,v,k[w>>2]|0)|0)!=(v|0)){c=-1;break a}}while(0);k[c>>2]=f;k[t>>2]=f;k[s>>2]=g;x=33}while(0);if((x|0)==33)c=o?0:b;x=c;r=y;return x|0}function xj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=k[b+12>>2]|0;s=c+12|0;f=k[s>>2]|0;if((e|0)==(f|0)){b=d;b=k[b>>2]|0;d=d+4|0;d=k[d>>2]|0;c=a;k[c>>2]=b;a=a+4|0;k[a>>2]=d;return}t=d+4|0;u=c+8|0;v=b+8|0;w=b+8|0;r=c+8|0;do{m=k[t>>2]|0;h=(k[k[d>>2]>>2]|0)+4080|0;l=(h-m|0)/24|0;if((e|0)==(f|0))g=0;else{g=k[r>>2]|0;q=k[w>>2]|0;g=((q-g>>2)*170|0)+((e-(k[q>>2]|0)|0)/24|0)+((f-(k[g>>2]|0)|0)/-24|0)|0}if((g|0)>(l|0)){f=v;g=k[f>>2]|0;i=g;do if((h|0)==(m|0)){g=k[v>>2]|0;f=e}else{f=(((k[f+4>>2]|0)-(k[g>>2]|0)|0)/24|0)-l|0;if((f|0)>0){q=i+(((f|0)/170|0)<<2)|0;g=q;f=(k[q>>2]|0)+(((f|0)%170|0)*24|0)|0;break}else{f=169-f|0;q=i+(((f|0)/-170|0)<<2)|0;g=q;f=(k[q>>2]|0)+((169-((f|0)%170|0)|0)*24|0)|0;break}}while(0);p=f;q=g;f=p;o=g;j=i;n=l}else{p=u;f=c;q=k[f>>2]|0;f=k[f+4>>2]|0;o=k[p>>2]|0;p=k[p+4>>2]|0;j=k[w>>2]|0;n=g}g=e;e=p;if((g|0)!=(e|0)){i=j;h=g;g=k[j>>2]|0;while(1){if((h|0)==(g|0))g=(k[i+-4>>2]|0)+4080|0;else g=h;j=g+-24|0;k[m>>2]=k[j>>2];k[m+4>>2]=k[j+4>>2];k[m+8>>2]=k[j+8>>2];k[m+12>>2]=k[j+12>>2];j=k[g+-8>>2]|0;l=k[g+-4>>2]|0;if(l|0)c3(l);k[m+16>>2]=j;j=m+20|0;g=k[j>>2]|0;k[j>>2]=l;if(g|0)CQ(g);g=k[i>>2]|0;if((h|0)==(g|0)){i=i+-4|0;g=k[i>>2]|0;h=g+4080|0}h=h+-24|0;if((h|0)==(e|0))break;else m=m+24|0}}m=b;k[m>>2]=q;k[m+4>>2]=f;q=v;k[q>>2]=o;k[q+4>>2]=p;do if(n|0){g=k[d>>2]|0;f=(((k[t>>2]|0)-(k[g>>2]|0)|0)/24|0)+n|0;if((f|0)>0){q=g+(((f|0)/170|0)<<2)|0;k[d>>2]=q;k[t>>2]=(k[q>>2]|0)+(((f|0)%170|0)*24|0);break}else{q=169-f|0;p=g+(((q|0)/-170|0)<<2)|0;k[d>>2]=p;k[t>>2]=(k[p>>2]|0)+((169-((q|0)%170|0)|0)*24|0);break}}while(0);f=k[s>>2]|0}while((e|0)!=(f|0));b=d;b=k[b>>2]|0;d=d+4|0;d=k[d>>2]|0;c=a;k[c>>2]=b;a=a+4|0;k[a>>2]=d;return}function yj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=Io(a)|0;if(l>>>0>a>>>0)b=0;else{k=0;k=(k|0)==0;l=k?l:0;return l|0}a:while(1){k=a;a=0;b:while(1){c=i[k>>0]|0;if(!(c<<24>>24)){a=b;b=39;break a}c:do if(a)a=0;else if(c<<24>>24==92)a=1;else if(!k)a=0;else{j=i[38919]|0;f=j<<24>>24==0;if(f){a=k;d=0;e=0}else{if(c<<24>>24==j<<24>>24){a=k;e=38919}else{a=0;break}while(1){a=a+1|0;e=e+1|0;d=i[e>>0]|0;c=i[a>>0]|0;if(!(d<<24>>24))break;if(c<<24>>24!=d<<24>>24){a=0;break c}}if(!(c<<24>>24)){a=0;break}if(f){d=0;e=0}else{g=a;d=0;e=0;h=0;while(1){d:do switch(c<<24>>24){case 92:{a=g+1|0;f=h;break}case 34:{a=g;d=d^1;f=h;break}case 39:{a=g;e=e^1;f=h;break}default:if(d){a=g;d=1;f=h}else if(e){a=g;d=0;e=1;f=h}else{e:do if(c<<24>>24==j<<24>>24){d=g;f=38919;while(1){a=d;d=d+1|0;f=f+1|0;e=i[f>>0]|0;if(!(e<<24>>24))break;if((i[d>>0]|0)!=e<<24>>24)break e}d=0;e=0;f=h+1|0;break d}while(0);a=i[43519]|0;f:do if(!(a<<24>>24))a=g;else{if(c<<24>>24==a<<24>>24){a=g;d=43519}else{a=g;d=0;e=0;f=h;break d}while(1){a=a+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24))break f;if((i[a>>0]|0)!=c<<24>>24){a=g;d=0;e=0;f=h;break d}}}while(0);if(!h)break b;a=a+-1|0;d=0;e=0;f=h+-1|0}}while(0);g=a+1|0;c=i[g>>0]|0;if(!(c<<24>>24)){a=0;break c}else h=f}}}while(1){switch(c<<24>>24){case 92:{a=a+1|0;break}case 34:{d=d^1;break}case 39:{e=e^1;break}default:if(d)d=1;else{a=e?a:a+-1|0;d=0}}a=a+1|0;c=i[a>>0]|0;if(!(c<<24>>24)){a=0;break c}}}while(0);k=k+1|0;if(k>>>0>=l>>>0){a=b;b=39;break a}}b=b+1|0;if(a>>>0>=l>>>0){a=b;b=39;break}}if((b|0)==39){k=(a|0)==0;l=k?l:0;return l|0}return 0}function zj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+112|0;m=n+64|0;d=n+48|0;f=n+24|0;i=n+36|0;e=n+12|0;g=n;j=a+8|0;h=k[(k[j>>2]|0)+16>>2]|0;l=k[h>>2]|0;k[h>>2]=0;h=k[b+64>>2]|0;h=Jc[k[(k[h>>2]|0)+40>>2]&1023](h,a)|0;a=IN(k[a+4>>2]|0)|0;lE(d,32130,9);x=0;c=Ka(881,a|0,d|0)|0;o=x;x=0;if(o&1){o=mb()|0;P1(d);yb(o|0)}P1(d);if(!c){rc[k[(k[h>>2]|0)+16>>2]&1023](e,h);x=0;Ua(11,i|0,e|0,0,0);o=x;x=0;if(o&1){o=mb()|0;P1(e);yb(o|0)}P1(e);k[k[(k[j>>2]|0)+16>>2]>>2]=l;x=0;sa(430,g|0,i|0);o=x;x=0;do if(o&1)a=mb()|0;else{x=0;d=m;a=b+8|0;c=d+40|0;do{k[d>>2]=k[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(c|0));sa(438,g|0,m|0);o=x;x=0;if(o&1){a=mb()|0;P1(g);break}P1(g);P1(i);r=n;return 0}while(0);P1(i);o=a;yb(o|0)}lE(f,32130,9);x=0;a=Ka(867,a|0,f|0)|0;o=x;x=0;if(o&1){o=mb()|0;P1(f);yb(o|0)}c=k[a>>2]|0;P1(f);c=k[c+96>>2]|0;d=Rda(c)|0;k[m>>2]=16480;x=0;e=Ka(882,1,0)|0;o=x;x=0;if(!(o&1)){x=0;a=Ka(k[(k[h>>2]|0)+52>>2]|0,h|0,m|0)|0;o=x;x=0;if(!(o&1)){x=0;Qa(105,e|0,0,a|0);o=x;x=0;if(!(o&1)){x=0;a=xa(d|0,e|0,c|0,k[(k[j>>2]|0)+284>>2]|0)|0;o=x;x=0;if(!(o&1)){k[k[(k[j>>2]|0)+16>>2]>>2]=l;x=0;ra(333,e|0);o=x;x=0;if(!(o&1)){x=0;ra(333,a|0);o=x;x=0;if(!(o&1)){r=n;return 0}}}}}}o=mb()|0;yb(o|0);return 0}function Aj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0;t=r;r=r+144|0;o=t+104|0;b=t+92|0;h=t+80|0;i=t+68|0;n=t+56|0;q=t+16|0;s=t;lE(b,37732,7);x=0;j=o;l=e;m=j+40|0;do{k[j>>2]=k[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(m|0));a=wa(23,b|0,a|0,d|0,o|0,f|0)|0;m=x;x=0;if(m&1){t=mb()|0;P1(b);yb(t|0)}P1(b);a:do if(!(vN(a)|0)){lE(n,d,OD(d)|0);x=0;b=xa(50,n|0,0,37740)|0;m=x;x=0;if(m&1)b=mb()|0;else{k[i>>2]=k[b>>2];k[i+4>>2]=k[b+4>>2];k[i+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,i|0,37762)|0;m=x;x=0;do if(m&1)b=mb()|0;else{k[h>>2]=k[b>>2];k[h+4>>2]=k[b+4>>2];k[h+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;j=o;l=e;m=j+40|0;do{k[j>>2]=k[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(m|0));sa(438,h|0,o|0);m=x;x=0;if(m&1){b=mb()|0;P1(h);break}else{P1(h);P1(i);P1(n);break a}}while(0);P1(i)}P1(n);t=b;yb(t|0)}while(0);b=c+36|0;f=lD(b,96)|0;j=q;l=e;m=j+40|0;do{k[j>>2]=k[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(m|0));g=+p[a+56>>3]*100.0;lE(s,38887,1);x=0;j=o;l=q;m=j+40|0;do{k[j>>2]=k[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(m|0));Fa(1,f|0,o|0,+g,s|0,1);e=x;x=0;if(!(e&1)){x=0;b=Ka(857,b|0,f|0)|0;e=x;x=0;if(!(e&1)){P1(s);r=t;return b|0}}t=mb()|0;P1(s);yb(t|0);return 0}function Bj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;A=r;r=r+48|0;l=A+24|0;m=A+12|0;u=A;w=b+8|0;y=b+1|0;z=mH((i[b>>0]&1)==0?y:k[w>>2]|0)|0;if(!z){z=-1;r=A;return z|0}c=mz(z)|0;a:do if(!c)c=0;else{n=m+4|0;o=l+4|0;p=m+8|0;q=m+1|0;s=l+1|0;t=l+8|0;v=b+4|0;d=c;c=0;b:while(1){c:while(1){d=d+11|0;lE(l,d,OD(d)|0);x=0;Qa(74,m|0,42865,3);j=x;x=0;if(j&1){e=14;break b}f=i[m>>0]|0;e=(f&1)==0;f=e?(f&255)>>>1:k[n>>2]|0;h=i[l>>0]|0;g=(h&1)==0;h=g?(h&255)>>>1:k[o>>2]|0;if(f>>>0>h>>>0){P1(m);P1(l)}else{j=e?q:k[p>>2]|0;if(!f){e=15;break}f=j+f|0;e=(g?s:k[t>>2]|0)+h|0;while(1){f=f+-1|0;e=e+-1|0;if((i[f>>0]|0)!=(i[e>>0]|0))break;if((f|0)==(j|0)){e=16;break c}}P1(m);P1(l)}d=mz(z)|0;if(!d)break a}if((e|0)==15){P1(m);P1(l)}else if((e|0)==16){P1(m);P1(l)}k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;j=i[b>>0]|0;h=(j&1)==0;j=h?(j&255)>>>1:k[v>>2]|0;e=OD(d)|0;x=0;Ua(10,u|0,(h?y:k[w>>2]|0)|0,j|0,j+e|0);j=x;x=0;if(j&1){e=19;break}x=0;xa(46,u|0,d|0,e|0)|0;j=x;x=0;if(j&1){e=19;break}x=0;d=Ka(903,a|0,u|0)|0;j=x;x=0;if(j&1){e=22;break}P1(u);c=(d&1)+c|0;d=mz(z)|0;if(!d)break a}if((e|0)==14){A=mb()|0;P1(l);yb(A|0)}else if((e|0)==19){A=mb()|0;P1(u);yb(A|0)}else if((e|0)==22){A=mb()|0;P1(u);yb(A|0)}}while(0);n9(z)|0;z=c;r=A;return z|0}function Cj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;w=r;r=r+224|0;o=w+184|0;n=w+192|0;m=w+180|0;p=w+176|0;u=w+168|0;t=w+40|0;s=w+32|0;v=w+28|0;y=w+16|0;l=w+8|0;q=w;b=0;while(1){if((b|0)==3)break;k[y+(b<<2)>>2]=0;b=b+1|0}k[l+4>>2]=0;k[l>>2]=24192;j=i[f>>0]|0;b=(j&1)==0;h=f+4|0;f=b?h:k[f+8>>2]|0;h=f+((b?(j&255)>>>1:k[h>>2]|0)<<2)|0;j=n+32|0;b=0;a:while(1){if(!((b|0)!=2&f>>>0>>0)){g=13;break}k[p>>2]=f;x=0;g=Sa(k[(k[l>>2]|0)+12>>2]|0,l|0,o|0,f|0,h|0,p|0,n|0,j|0,m|0)|0;b=x;x=0;if(b&1){g=16;break}if((g|0)==2?1:(k[p>>2]|0)==(f|0)){g=8;break}else b=n;while(1){if(b>>>0>=(k[m>>2]|0)>>>0)break;x=0;sa(440,y|0,i[b>>0]|0);f=x;x=0;if(f&1){g=15;break a}b=b+1|0}f=k[p>>2]|0;b=g}do if((g|0)==8){x=0;ra(364,50288);x=0;b=mb()|0;g=17}else if((g|0)==13){x=0;f=Pa(22,((c|0)==-1?-1:c<<1)|0,d|0,e|0,((i[y>>0]&1)==0?y+1|0:k[y+8>>2]|0)|0)|0;d=x;x=0;if(d&1){b=mb()|0;break}b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}k[q+4>>2]=0;k[q>>2]=24240;h=f+(OD(f)|0)|0;j=h;l=t+128|0;b=0;b:while(1){if(!((b|0)!=2&f>>>0>>0)){g=30;break}k[v>>2]=f;x=0;g=Sa(k[(k[q>>2]|0)+16>>2]|0,q|0,u|0,f|0,((j-f|0)>32?f+32|0:h)|0,v|0,t|0,l|0,s|0)|0;d=x;x=0;if(d&1){g=32;break}if((g|0)==2?1:(k[v>>2]|0)==(f|0)){g=25;break}else b=t;while(1){if(b>>>0>=(k[s>>2]|0)>>>0)break;x=0;sa(558,a|0,k[b>>2]|0);d=x;x=0;if(d&1){g=31;break b}b=b+4|0}f=k[v>>2]|0;b=g}if((g|0)==25){x=0;ra(364,50288);x=0;b=mb()|0}else if((g|0)==30){P1(y);r=w;return}else if((g|0)==31)b=mb()|0;else if((g|0)==32)b=mb()|0;O1(a)}else if((g|0)==15){b=mb()|0;g=17}else if((g|0)==16){b=mb()|0;g=17}while(0);P1(y);yb(b|0)}function Dj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;l=0;m=r;r=r+80|0;n=m+68|0;g=m+56|0;h=m+16|0;j=m;oq(n,a);c=k[a+156>>2]|0;f=k[a+160>>2]|0;e=f-c|0;if(e>>>0>4294967279){dH(g);l=5}else if(e>>>0<11){i[g>>0]=e<<1;b=g+1|0}else l=5;if((l|0)==5){d=e+16&-16;b=GG(d)|0;k[g+8>>2]=b;k[g>>2]=d|1;k[g+4>>2]=e}if((c|0)!=(f|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(f|0))break;else d=d+1|0}b=b+e|0}i[b>>0]=0;x=0;sa(492,n|0,g|0);f=x;x=0;if(f&1){n=mb()|0;P1(g);yb(n|0)}P1(g);b=(k[a+40>>2]|0)+36|0;x=0;c=Ka(856,b|0,84)|0;g=x;x=0;do if(g&1)l=21;else{d=h;e=a+108|0;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));x=0;sa(430,j|0,n|0);g=x;x=0;if(g&1)l=21;else{k[c+4>>2]=0;d=c+8|0;e=h;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));k[c+52>>2]=0;k[c+56>>2]=0;i[c+60>>0]=0;k[c+64>>2]=0;k[c>>2]=12464;x=0;sa(430,c+68|0,j|0);h=x;x=0;if(!(h&1)){k[c+80>>2]=0;x=0;e=Ka(857,b|0,c|0)|0;h=x;x=0;if(!(h&1)){P1(j);x=0;b=ua(246,a|0)|0;l=x;x=0;if(l&1){l=21;break}k[e+80>>2]=b;b=k[a+76>>2]|0;x=0;c=ua(231,b|0)|0;l=x;x=0;if(l&1){l=21;break}l=c|0?c:b;l=(i[l>>0]|0)==123?l+1|0:0;if((l|0)==0?1:l>>>0>(k[a+80>>2]|0)>>>0){P1(n);r=m;return e|0}c=a+164|0;d=i[c>>0]|0;i[c>>0]=0;x=0;b=Ka(900,a|0,0)|0;a=x;x=0;if(a&1){b=mb()|0;i[c>>0]=d;l=22;break}i[c>>0]=d;k[e+64>>2]=b;P1(n);r=m;return e|0}}b=mb()|0;P1(j)}}while(0);if((l|0)==21){b=mb()|0;l=22}P1(n);n=b;yb(n|0);return 0}function Ej(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0.0,l=0.0,m=0.0,n=0,o=0,q=0,s=0,t=0,u=0,v=0;v=0;q=r;r=r+96|0;n=q+48|0;t=q+36|0;u=q+24|0;s=q+12|0;o=q;lE(t,37038,4);x=0;b=n;h=e;i=b+40|0;do{k[b>>2]=k[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(i|0));b=wa(23,t|0,a|0,d|0,n|0,f|0)|0;i=x;x=0;if(!(i&1)){m=+p[b+56>>3];x=0;Qa(74,u|0,37043,11);i=x;x=0;if(!(i&1)){x=0;b=n;h=e;i=b+40|0;do{k[b>>2]=k[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(i|0));b=wa(23,u|0,a|0,d|0,n|0,f|0)|0;i=x;x=0;if(i&1)v=11;else{l=+p[b+56>>3];x=0;Qa(74,s|0,37055,10);i=x;x=0;if(i&1)v=11;else{x=0;b=n;h=e;i=b+40|0;do{k[b>>2]=k[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(i|0));b=wa(23,s|0,a|0,d|0,n|0,f|0)|0;i=x;x=0;if(i&1)v=12;else{j=+p[b+56>>3];x=0;Qa(74,o|0,36992,6);i=x;x=0;if(i&1)v=12;else{x=0;b=n;h=e;i=b+40|0;do{k[b>>2]=k[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(i|0));b=wa(23,o|0,a|0,d|0,n|0,f|0)|0;d=x;x=0;if(!(d&1)){g=+p[b+56>>3];x=0;b=n;h=e;i=b+40|0;do{k[b>>2]=k[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(i|0));b=Aa(1,+m,+l,+j,+g,c|0,n|0)|0;e=x;x=0;if(!(e&1)){P1(o);P1(s);P1(u);P1(t);r=q;return b|0}}b=mb()|0;P1(o)}}if((v|0)==12)b=mb()|0;P1(s)}}if((v|0)==11)b=mb()|0;P1(u);v=b;P1(t);yb(v|0)}}v=mb()|0;P1(t);yb(v|0);return 0}function Fj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;y=0;w=r;r=r+352|0;q=w+312|0;l=w+48|0;j=w+32|0;g=w+24|0;f=w+8|0;m=w;n=w+316|0;o=w+308|0;h=w+80|0;v=w+76|0;u=w+72|0;s=w+68|0;t=w+64|0;i=m;k[i>>2]=37;k[i+4>>2]=0;i=$w(m+1|0,78097,k[c+4>>2]|0)|0;k[o>>2]=n;a=xH()|0;if(i){k[f>>2]=k[c+8>>2];p[f+8>>3]=e;g=xE(n,30,a,m,f)|0}else{p[g>>3]=e;g=xE(n,30,a,m,g)|0}do if((g|0)>29){if(i){x=0;a=Oa(3)|0;l=x;x=0;if(!(l&1)){x=0;k[j>>2]=k[c+8>>2];p[j+8>>3]=e;a=Pa(20,o|0,a|0,m|0,j|0)|0;m=x;x=0;if(!(m&1)){g=a;y=12}}}else{x=0;a=Oa(3)|0;j=x;x=0;if(!(j&1)){x=0;k[l>>2]=k[c+8>>2];p[l+8>>3]=e;a=Pa(20,o|0,a|0,m|0,l|0)|0;m=x;x=0;if(!(m&1)){g=a;y=12}}}if((y|0)==12){f=k[o>>2]|0;if(f|0){a=f;l=f;y=16;break}x=0;pa(6);m=x;x=0;if(!(m&1)){l=k[o>>2]|0;a=l;y=16;break}}a=mb()|0}else{a=k[o>>2]|0;l=0;y=16}while(0);if((y|0)==16){i=a+g|0;j=kB(a,i,c)|0;do if((a|0)==(n|0)){a=n;f=0;y=22}else{f=hd(g<<3)|0;if(!f){x=0;pa(6);y=x;x=0;if(y&1){f=0;y=20;break}a=k[o>>2]|0}h=f;y=22}while(0);do if((y|0)==22){x=0;g=ua(189,c|0)|0;o=x;x=0;if(o&1)y=20;else{k[s>>2]=g;x=0;Ha(8,a|0,j|0,i|0,h|0,v|0,u|0,s|0);s=x;x=0;if(s&1){a=mb()|0;sK(g)|0;break}sK(g)|0;k[t>>2]=k[b>>2];y=k[v>>2]|0;a=k[u>>2]|0;x=0;k[q>>2]=k[t>>2];a=ta(127,q|0,h|0,y|0,a|0,c|0,d|0)|0;y=x;x=0;if(y&1)y=20;else{k[b>>2]=a;if(f|0)cf(f);if(l|0)cf(l);r=w;return a|0}}}while(0);if((y|0)==20)a=mb()|0;if(f|0)cf(f);if(l)cf(l)}yb(a|0);return 0}function Gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+112|0;e=n;d=n+64|0;o=n+52|0;l=n+40|0;f=d;g=b+8|0;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));_G(o,68968);f=e;g=d;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));x=0;sa(487,a|0,o|0);m=x;x=0;if(m&1)d=mb()|0;else{k[a>>2]=8160;m=a+8|0;x=0;sa(430,m|0,o|0);j=x;x=0;do if(j&1)d=mb()|0;else{j=a+20|0;x=0;Qa(74,j|0,31243,5);h=x;x=0;if(h&1){d=mb()|0;P1(m);break}f=a+32|0;g=e;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));k[a+72>>2]=0;P1(o);k[a>>2]=10768;k[a+76>>2]=b;d=a+80|0;x=0;sa(430,d|0,c|0);o=x;x=0;if(o&1)d=mb()|0;else{x=0;sa(k[(k[b>>2]|0)+24>>2]|0,l|0,b|0);o=x;x=0;if(!(o&1)){if(!(i[m>>0]&1)){i[m+1>>0]=0;i[m>>0]=0}else{i[k[a+16>>2]>>0]=0;k[a+12>>2]=0}x=0;sa(443,m|0,0);o=x;x=0;if(o&1){o=Eb(0)|0;Nba(o)}k[m>>2]=k[l>>2];k[m+4>>2]=k[l+4>>2];k[m+8>>2]=k[l+8>>2];k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;P1(l);x=0;Ka(866,m|0,31620)|0;o=x;x=0;if(!(o&1)){o=i[c>>0]|0;b=(o&1)==0;x=0;xa(46,m|0,(b?c+1|0:k[c+8>>2]|0)|0,(b?(o&255)>>>1:k[c+4>>2]|0)|0)|0;o=x;x=0;if(!(o&1)){x=0;Ka(866,m|0,47947)|0;o=x;x=0;if(!(o&1)){r=n;return}}}}o=mb()|0;P1(d);d=o}k[a>>2]=8160;P1(j);P1(m);f4(a);a=d;yb(a|0)}while(0);f4(a)}P1(o);a=d;yb(a|0)}function Hj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+112|0;m=p;d=p+100|0;e=p+96|0;n=p+56|0;o=p+40|0;c=k[a+28>>2]|0;if((c|0)==(k[a+24>>2]|0))c=0;else c=k[c+-4>>2]|0;lE(d,33217,11);x=0;c=Ka(881,c|0,d|0)|0;l=x;x=0;if(l&1){p=mb()|0;P1(d);yb(p|0)}P1(d);if(!c){a=0;r=p;return a|0}l=a+40|0;do if(i[(k[(k[l>>2]|0)+-4>>2]|0)+84>>0]|0){k[e>>2]=0;c=a+76|0;d=k[c>>2]|0;if(d>>>0<(k[a+80>>2]|0)>>>0){k[d>>2]=0;k[c>>2]=(k[c>>2]|0)+4;break}else{rw(a+72|0,e);break}}while(0);c=a+4|0;h=(k[c>>2]|0)+36|0;j=lD(h,84)|0;e=b+8|0;b=n;f=e;g=b+40|0;do{k[b>>2]=k[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(g|0));lE(o,44273,8);c=(k[c>>2]|0)+36|0;x=0;d=Ka(856,c|0,80)|0;g=x;x=0;if(!(g&1)){b=m;f=e;g=b+40|0;do{k[b>>2]=k[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(g|0));k[d+4>>2]=0;b=d+8|0;f=m;g=b+40|0;do{k[b>>2]=k[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(g|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d+60>>2]=0;k[d+64>>2]=0;k[d+68>>2]=0;k[d>>2]=5416;k[d+56>>2]=5524;i[d+76>>0]=0;i[d+77>>0]=0;i[d+78>>0]=0;x=0;c=Ka(857,c|0,d|0)|0;m=x;x=0;if(!(m&1)){k[j+4>>2]=0;b=j+8|0;f=n;g=b+40|0;do{k[b>>2]=k[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(g|0));k[j+52>>2]=0;k[j+56>>2]=0;i[j+60>>0]=0;k[j+64>>2]=0;k[j>>2]=12464;x=0;sa(430,j+68|0,o|0);n=x;x=0;if(!(n&1)){k[j+80>>2]=c;x=0;c=Ka(857,h|0,j|0)|0;n=x;x=0;if(!(n&1)){P1(o);c=Jc[k[(k[c>>2]|0)+36>>2]&1023](c,a)|0;if(!(i[(k[(k[l>>2]|0)+-4>>2]|0)+84>>0]|0)){a=c;r=p;return a|0}a=a+76|0;k[a>>2]=(k[a>>2]|0)+-4;a=c;r=p;return a|0}}}}p=mb()|0;P1(o);yb(p|0);return 0}function Ij(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;y=0;w=r;r=r+176|0;q=w+84|0;l=w+48|0;j=w+32|0;g=w+24|0;f=w+8|0;m=w;n=w+146|0;o=w+80|0;h=w+88|0;v=w+76|0;u=w+72|0;s=w+68|0;t=w+64|0;i=m;k[i>>2]=37;k[i+4>>2]=0;i=$w(m+1|0,78097,k[c+4>>2]|0)|0;k[o>>2]=n;a=xH()|0;if(i){k[f>>2]=k[c+8>>2];p[f+8>>3]=e;g=xE(n,30,a,m,f)|0}else{p[g>>3]=e;g=xE(n,30,a,m,g)|0}do if((g|0)>29){if(i){x=0;a=Oa(3)|0;l=x;x=0;if(!(l&1)){x=0;k[j>>2]=k[c+8>>2];p[j+8>>3]=e;a=Pa(20,o|0,a|0,m|0,j|0)|0;m=x;x=0;if(!(m&1)){g=a;y=12}}}else{x=0;a=Oa(3)|0;j=x;x=0;if(!(j&1)){x=0;k[l>>2]=k[c+8>>2];p[l+8>>3]=e;a=Pa(20,o|0,a|0,m|0,l|0)|0;m=x;x=0;if(!(m&1)){g=a;y=12}}}if((y|0)==12){f=k[o>>2]|0;if(f|0){a=f;l=f;y=16;break}x=0;pa(6);m=x;x=0;if(!(m&1)){l=k[o>>2]|0;a=l;y=16;break}}a=mb()|0}else{a=k[o>>2]|0;l=0;y=16}while(0);if((y|0)==16){i=a+g|0;j=kB(a,i,c)|0;do if((a|0)==(n|0)){a=n;f=0;y=22}else{f=hd(g<<1)|0;if(!f){x=0;pa(6);y=x;x=0;if(y&1){f=0;y=20;break}a=k[o>>2]|0}h=f;y=22}while(0);do if((y|0)==22){x=0;g=ua(189,c|0)|0;o=x;x=0;if(o&1)y=20;else{k[s>>2]=g;x=0;Ha(6,a|0,j|0,i|0,h|0,v|0,u|0,s|0);s=x;x=0;if(s&1){a=mb()|0;sK(g)|0;break}sK(g)|0;k[t>>2]=k[b>>2];y=k[v>>2]|0;a=k[u>>2]|0;x=0;k[q>>2]=k[t>>2];a=ta(39,q|0,h|0,y|0,a|0,c|0,d|0)|0;y=x;x=0;if(y&1)y=20;else{k[b>>2]=a;if(f|0)cf(f);if(l|0)cf(l);r=w;return a|0}}}while(0);if((y|0)==20)a=mb()|0;if(f|0)cf(f);if(l)cf(l)}yb(a|0);return 0}function Jj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;y=0;w=r;r=r+352|0;q=w+304|0;l=w+48|0;j=w+32|0;g=w+24|0;f=w+8|0;m=w;n=w+308|0;o=w+300|0;h=w+72|0;v=w+68|0;u=w+64|0;s=w+60|0;t=w+56|0;i=m;k[i>>2]=37;k[i+4>>2]=0;i=$w(m+1|0,49486,k[c+4>>2]|0)|0;k[o>>2]=n;a=xH()|0;if(i){k[f>>2]=k[c+8>>2];p[f+8>>3]=e;g=xE(n,30,a,m,f)|0}else{p[g>>3]=e;g=xE(n,30,a,m,g)|0}do if((g|0)>29){if(i){x=0;a=Oa(3)|0;l=x;x=0;if(!(l&1)){x=0;k[j>>2]=k[c+8>>2];p[j+8>>3]=e;a=Pa(20,o|0,a|0,m|0,j|0)|0;m=x;x=0;if(!(m&1)){g=a;y=12}}}else{x=0;a=Oa(3)|0;j=x;x=0;if(!(j&1)){x=0;p[l>>3]=e;a=Pa(20,o|0,a|0,m|0,l|0)|0;m=x;x=0;if(!(m&1)){g=a;y=12}}}if((y|0)==12){f=k[o>>2]|0;if(f|0){a=f;l=f;y=16;break}x=0;pa(6);m=x;x=0;if(!(m&1)){l=k[o>>2]|0;a=l;y=16;break}}a=mb()|0}else{a=k[o>>2]|0;l=0;y=16}while(0);if((y|0)==16){i=a+g|0;j=kB(a,i,c)|0;do if((a|0)==(n|0)){a=n;f=0;y=22}else{f=hd(g<<3)|0;if(!f){x=0;pa(6);y=x;x=0;if(y&1){f=0;y=20;break}a=k[o>>2]|0}h=f;y=22}while(0);do if((y|0)==22){x=0;g=ua(189,c|0)|0;o=x;x=0;if(o&1)y=20;else{k[s>>2]=g;x=0;Ha(8,a|0,j|0,i|0,h|0,v|0,u|0,s|0);s=x;x=0;if(s&1){a=mb()|0;sK(g)|0;break}sK(g)|0;k[t>>2]=k[b>>2];y=k[v>>2]|0;a=k[u>>2]|0;x=0;k[q>>2]=k[t>>2];a=ta(127,q|0,h|0,y|0,a|0,c|0,d|0)|0;y=x;x=0;if(y&1)y=20;else{k[b>>2]=a;if(f|0)cf(f);if(l|0)cf(l);r=w;return a|0}}}while(0);if((y|0)==20)a=mb()|0;if(f|0)cf(f);if(l)cf(l)}yb(a|0);return 0}function Kj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;y=0;w=r;r=r+176|0;q=w+76|0;l=w+48|0;j=w+32|0;g=w+24|0;f=w+8|0;m=w;n=w+138|0;o=w+72|0;h=w+80|0;v=w+68|0;u=w+64|0;s=w+60|0;t=w+56|0;i=m;k[i>>2]=37;k[i+4>>2]=0;i=$w(m+1|0,49486,k[c+4>>2]|0)|0;k[o>>2]=n;a=xH()|0;if(i){k[f>>2]=k[c+8>>2];p[f+8>>3]=e;g=xE(n,30,a,m,f)|0}else{p[g>>3]=e;g=xE(n,30,a,m,g)|0}do if((g|0)>29){if(i){x=0;a=Oa(3)|0;l=x;x=0;if(!(l&1)){x=0;k[j>>2]=k[c+8>>2];p[j+8>>3]=e;a=Pa(20,o|0,a|0,m|0,j|0)|0;m=x;x=0;if(!(m&1)){g=a;y=12}}}else{x=0;a=Oa(3)|0;j=x;x=0;if(!(j&1)){x=0;p[l>>3]=e;a=Pa(20,o|0,a|0,m|0,l|0)|0;m=x;x=0;if(!(m&1)){g=a;y=12}}}if((y|0)==12){f=k[o>>2]|0;if(f|0){a=f;l=f;y=16;break}x=0;pa(6);m=x;x=0;if(!(m&1)){l=k[o>>2]|0;a=l;y=16;break}}a=mb()|0}else{a=k[o>>2]|0;l=0;y=16}while(0);if((y|0)==16){i=a+g|0;j=kB(a,i,c)|0;do if((a|0)==(n|0)){a=n;f=0;y=22}else{f=hd(g<<1)|0;if(!f){x=0;pa(6);y=x;x=0;if(y&1){f=0;y=20;break}a=k[o>>2]|0}h=f;y=22}while(0);do if((y|0)==22){x=0;g=ua(189,c|0)|0;o=x;x=0;if(o&1)y=20;else{k[s>>2]=g;x=0;Ha(6,a|0,j|0,i|0,h|0,v|0,u|0,s|0);s=x;x=0;if(s&1){a=mb()|0;sK(g)|0;break}sK(g)|0;k[t>>2]=k[b>>2];y=k[v>>2]|0;a=k[u>>2]|0;x=0;k[q>>2]=k[t>>2];a=ta(39,q|0,h|0,y|0,a|0,c|0,d|0)|0;y=x;x=0;if(y&1)y=20;else{k[b>>2]=a;if(f|0)cf(f);if(l|0)cf(l);r=w;return a|0}}}while(0);if((y|0)==20)a=mb()|0;if(f|0)cf(f);if(l)cf(l)}yb(a|0);return 0}function Lj(a){a=a|0;var b=0,c=0,d=0;a=k[4345]|0;Cz(73716,a,73772);k[18259]=21788;k[18261]=21808;k[18260]=0;x=0;sa(452,73044,73716);c=x;x=0;if(c&1){c=mb()|0;P9(73044);yb(c|0)}k[18279]=0;k[18280]=-1;c=k[4374]|0;uy(73820,c,73780);k[18281]=21868;k[18282]=21888;x=0;sa(452,73128,73820);b=x;x=0;if(b&1){c=mb()|0;P9(73128);yb(c|0)}k[18300]=0;k[18301]=-1;b=k[4316]|0;uy(73868,b,73788);k[18302]=21868;k[18303]=21888;x=0;sa(452,73212,73868);d=x;x=0;if(d&1){d=mb()|0;P9(73212);yb(d|0)}k[18321]=0;k[18322]=-1;d=k[73208+(k[(k[18302]|0)+-12>>2]|0)+24>>2]|0;k[18323]=21868;k[18324]=21888;x=0;sa(452,73296,d|0);d=x;x=0;if(d&1){d=mb()|0;P9(73296);yb(d|0)}k[18342]=0;k[18343]=-1;k[73036+(k[(k[18259]|0)+-12>>2]|0)+72>>2]=73124;d=73208+(k[(k[18302]|0)+-12>>2]|0)+4|0;k[d>>2]=k[d>>2]|8192;k[73208+(k[(k[18302]|0)+-12>>2]|0)+72>>2]=73124;Bz(73916,a,73796);k[18344]=21828;k[18346]=21848;k[18345]=0;x=0;sa(452,73384,73916);d=x;x=0;if(d&1){d=mb()|0;O9(73384);yb(d|0)}k[18364]=0;k[18365]=-1;ty(73972,c,73804);k[18366]=21908;k[18367]=21928;x=0;sa(452,73468,73972);d=x;x=0;if(d&1){d=mb()|0;O9(73468);yb(d|0)}k[18385]=0;k[18386]=-1;ty(74020,b,73812);k[18387]=21908;k[18388]=21928;x=0;sa(452,73552,74020);d=x;x=0;if(d&1){d=mb()|0;O9(73552);yb(d|0)}k[18406]=0;k[18407]=-1;d=k[73548+(k[(k[18387]|0)+-12>>2]|0)+24>>2]|0;k[18408]=21908;k[18409]=21928;x=0;sa(452,73636,d|0);d=x;x=0;if(d&1){d=mb()|0;O9(73636);yb(d|0)}else{k[18427]=0;k[18428]=-1;k[73376+(k[(k[18344]|0)+-12>>2]|0)+72>>2]=73464;d=73548+(k[(k[18387]|0)+-12>>2]|0)+4|0;k[d>>2]=k[d>>2]|8192;k[73548+(k[(k[18387]|0)+-12>>2]|0)+72>>2]=73464;return}}function Mj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=0;q=r;r=r+96|0;o=q+56|0;b=q+44|0;m=q+32|0;p=q+20|0;s=q+8|0;n=q;lE(b,37781,8);x=0;g=o;h=e;i=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=wa(26,b|0,a|0,d|0,o|0,f|0)|0;j=x;x=0;if(j&1){t=mb()|0;P1(b);yb(t|0)}P1(b);j=(k[l+64>>2]|0)-(k[l+60>>2]|0)>>2;if(!j){t=0;r=q;return t|0}d=c+16|0;c=0;a=0;while(1){f=GH(l,c)|0;if(!f)t=8;else{b=Ot(f,64,392,0)|0;if(!b)t=8}if((t|0)==8){t=0;b=k[(k[f>>2]|0)+20>>2]|0;g=k[d>>2]|0;h=k[g+4>>2]|0;i=n;k[i>>2]=k[g>>2];k[i+4>>2]=h;k[o>>2]=k[n>>2];k[o+4>>2]=k[n+4>>2];Pc[b&255](s,f,o);x=0;b=xa(50,s|0,0,44246)|0;i=x;x=0;if(i&1){t=12;break}k[p>>2]=k[b>>2];k[p+4>>2]=k[b+4>>2];k[p+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,p|0,37795)|0;i=x;x=0;if(i&1){t=13;break}k[m>>2]=k[b>>2];k[m+4>>2]=k[b+4>>2];k[m+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;g=o;h=e;i=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));sa(438,m|0,o|0);i=x;x=0;if(i&1){t=14;break}P1(m);P1(p);P1(s);b=0}if(a){i=Jc[k[(k[b>>2]|0)+96>>2]&1023](b,a)|0;b=i?b:a}c=c+1|0;if(c>>>0>=j>>>0){t=4;break}else a=b}if((t|0)==4){r=q;return b|0}else if((t|0)==12)b=mb()|0;else if((t|0)==13){b=mb()|0;t=15}else if((t|0)==14){b=mb()|0;P1(m);t=15}if((t|0)==15)P1(p);P1(s);t=b;yb(t|0);return 0}function Nj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=0;q=r;r=r+96|0;o=q+56|0;b=q+44|0;m=q+32|0;p=q+20|0;s=q+8|0;n=q;lE(b,37781,8);x=0;g=o;h=e;i=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=wa(26,b|0,a|0,d|0,o|0,f|0)|0;j=x;x=0;if(j&1){t=mb()|0;P1(b);yb(t|0)}P1(b);j=(k[l+64>>2]|0)-(k[l+60>>2]|0)>>2;if(!j){t=0;r=q;return t|0}d=c+16|0;a=0;c=0;while(1){f=GH(l,c)|0;if(!f)t=8;else{b=Ot(f,64,392,0)|0;if(!b)t=8}if((t|0)==8){t=0;b=k[(k[f>>2]|0)+20>>2]|0;g=k[d>>2]|0;h=k[g+4>>2]|0;i=n;k[i>>2]=k[g>>2];k[i+4>>2]=h;k[o>>2]=k[n>>2];k[o+4>>2]=k[n+4>>2];Pc[b&255](s,f,o);x=0;b=xa(50,s|0,0,44246)|0;i=x;x=0;if(i&1){t=12;break}k[p>>2]=k[b>>2];k[p+4>>2]=k[b+4>>2];k[p+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,p|0,37823)|0;i=x;x=0;if(i&1){t=13;break}k[m>>2]=k[b>>2];k[m+4>>2]=k[b+4>>2];k[m+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;g=o;h=e;i=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));sa(438,m|0,o|0);i=x;x=0;if(i&1){t=14;break}P1(m);P1(p);P1(s);b=0}if(a){i=Jc[k[(k[a>>2]|0)+96>>2]&1023](a,b)|0;b=i?b:a}c=c+1|0;if(c>>>0>=j>>>0){t=4;break}else a=b}if((t|0)==4){r=q;return b|0}else if((t|0)==12)b=mb()|0;else if((t|0)==13){b=mb()|0;t=15}else if((t|0)==14){b=mb()|0;P1(m);t=15}if((t|0)==15)P1(p);P1(s);t=b;yb(t|0);return 0}function Oj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=0;b=a+1|0;if((i[a>>0]|0)==36){if((i[b>>0]|0)==45){c=b;do c=c+1|0;while((i[c>>0]|0)==45)}else c=b;c=Kt(c)|0;if(c|0){c=Jt(c)|0;if(c|0){f=c;return f|0}}}c=ti(a)|0;if(c|0){while(1){d=ti(c)|0;if(!d)break;else c=d}if((i[c>>0]|0)!=37){f=c;return f|0}}if((i[a>>0]|0)==45){c=a;do c=c+1|0;while((i[c>>0]|0)==45)}else c=a;c=Kt(c)|0;if(c|0){c=Jt(c)|0;if(c|0){f=c;return f|0}}c=Io(a)|0;if(c|0){f=c;return f|0}c=wy(a)|0;if(c|0){f=c;return f|0}if((i[a>>0]|0)==35){c=AY(b)|0;if(!c)c=0;else while(1){d=AY(c)|0;if(!d)break;else c=d}}else c=0;e=c-a|0;c=(e|0)!=9&((e|0)!=4&(e|0)!=7)?0:c;if(c|0){f=c;return f|0}if((i[a>>0]|0)!=40){f=0;return f|0}c=i[b>>0]|0;if(!(c<<24>>24)){f=0;return f|0}else{d=0;a=0;e=0}a:while(1){b:do switch(c<<24>>24){case 92:{b=b+1|0;break}case 34:{d=d^1;break}case 39:{a=a^1;break}default:if(d)d=1;else if(a){d=0;a=1}else{switch(c<<24>>24){case 40:{d=0;a=0;e=e+1|0;break b}case 41:break;default:{d=0;a=0;break b}}if(!e)break a;d=0;a=0;e=e+-1|0}}while(0);b=b+1|0;c=i[b>>0]|0;if(!(c<<24>>24)){b=0;f=33;break}}if((f|0)==33)return b|0;f=b+1|0;return f|0}function Pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=0;if(!a)c=0;else c=k[a+72>>2]|0;f=a;e=b;d=k[b+72>>2]|0;a:while(1){b=(f|0)!=0;do if(b){a=k[f+72>>2]|0;if(a|0)if((k[a+76>>2]|0)!=(k[a+72>>2]|0))break;if(!(k[f+68>>2]|0)){a=k[f+76>>2]|0;if(!a){j=d;l=e;f=0;c=0;d=j;e=l;continue a}j=d;l=e;f=a;c=k[a+72>>2]|0;d=j;e=l;continue a}}while(0);if(!e){a=0;m=41;break}a=k[e+72>>2]|0;if(!a)m=13;else if((k[a+76>>2]|0)==(k[a+72>>2]|0))m=13;if((m|0)==13){m=0;if(!(k[e+68>>2]|0)){a=k[e+76>>2]|0;if(!a){j=c;l=f;e=0;d=0;c=j;f=l;continue}j=c;l=f;e=a;d=k[a+72>>2]|0;c=j;f=l;continue}}if(!b){a=1;m=41;break}b=(c|0)!=0;a=(d|0)!=0;if(!(b|a)){c=k[f+68>>2]|0;a=k[e+68>>2]|0;if((c|0)!=(a|0)){m=19;break}a=k[f+76>>2]|0;b=k[e+76>>2]|0;if(!a)c=0;else c=k[a+72>>2]|0;if(!b){f=a;e=0;d=0;continue}f=a;e=b;d=k[b+72>>2]|0;continue}a=a^1;if(b^1|a){m=41;break}if(!(Kl(c,d)|0)){e=d;m=32;break}c=k[f+68>>2]|0;a=k[e+68>>2]|0;if((c|0)!=(a|0)){m=27;break}a=k[f+76>>2]|0;b=k[e+76>>2]|0;if(!a)c=0;else c=k[a+72>>2]|0;if(!b){f=a;e=0;d=0;continue}f=a;e=b;d=k[b+72>>2]|0}if((m|0)==19){m=(c|0)<(a|0);return m|0}else if((m|0)==27){m=(c|0)<(a|0);return m|0}else if((m|0)==32){i=c+72|0;g=c+76|0;d=k[g>>2]|0;b=k[i>>2]|0;h=d-b>>2;l=e+72|0;j=e+76|0;f=k[j>>2]|0;a=k[l>>2]|0;n=f-a>>2;h=n>>>0>>0?n:h;b:do if(!h)c=f;else{f=c+72|0;e=e+72|0;b=k[b>>2]|0;c=k[a>>2]|0;a=(c|0)==0;c:do if(!((b|0)==0|a)){d=0;while(1){d=d+1|0;if(!(hj(b,c)|0)){a=b;break}if(d>>>0>=h>>>0){m=38;break}b=k[(k[f>>2]|0)+(d<<2)>>2]|0;c=k[(k[e>>2]|0)+(d<<2)>>2]|0;a=(c|0)==0;if((b|0)==0|a)break c}if((m|0)==38){d=k[g>>2]|0;b=k[i>>2]|0;c=k[j>>2]|0;a=k[l>>2]|0;break b}n=vk(a,c)|0;return n|0}while(0);n=a^1;return n|0}while(0);n=(d-b|0)>>>0<(c-a|0)>>>0;return n|0}else if((m|0)==41)return a|0;return 0}function Qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;e=n+60|0;f=n+48|0;g=n+36|0;h=n+24|0;l=n+12|0;m=n;c=Ot(b,96,752,0)|0;if(c|0){m=Lh(a,c)|0;r=n;return m|0}d=a+68|0;_G(e,d);c=b+68|0;x=0;sa(430,f|0,c|0);o=x;x=0;if(o&1){o=mb()|0;P1(e);yb(o|0)}o=Ir(e,f)|0;P1(f);P1(e);if(o){_G(g,a+80|0);x=0;sa(430,h|0,b+80|0);o=x;x=0;if(o&1){o=mb()|0;P1(g);yb(o|0)}b=j[g>>1]|0;e=(b&1)==0;d=(b&254)>>>1;f=e?d:k[g+4>>2]|0;o=i[h>>0]|0;c=(o&1)==0;b=(b&65535)>>>8&255;a:do if((f|0)==((c?(o&255)>>>1:k[h+4>>2]|0)|0)){c=c?h+1|0:k[h+8>>2]|0;if(!e){c=(tG(k[g+8>>2]|0,c,f)|0)==0;break}if(!f)c=1;else if(b<<24>>24==(i[c>>0]|0)){e=g+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d){c=1;break a}c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0)){c=0;break}}}else c=0}else c=0;while(0);P1(h);P1(g);o=c;r=n;return o|0}else{_G(l,d);x=0;sa(430,m|0,c|0);o=x;x=0;if(o&1){o=mb()|0;P1(l);yb(o|0)}b=j[l>>1]|0;e=(b&1)==0;d=(b&254)>>>1;f=e?d:k[l+4>>2]|0;o=i[m>>0]|0;c=(o&1)==0;b=(b&65535)>>>8&255;b:do if((f|0)==((c?(o&255)>>>1:k[m+4>>2]|0)|0)){c=c?m+1|0:k[m+8>>2]|0;if(!e){c=(tG(k[l+8>>2]|0,c,f)|0)==0;break}if(!f)c=1;else if(b<<24>>24==(i[c>>0]|0)){e=l+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d){c=1;break b}c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0)){c=0;break}}}else c=0}else c=0;while(0);P1(m);P1(l);o=c;r=n;return o|0}return 0}function Rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;e=n+60|0;f=n+48|0;g=n+36|0;h=n+24|0;l=n+12|0;m=n;c=Ot(b,96,144,0)|0;if(c|0){m=jj(a,c)|0;r=n;return m|0}d=a+68|0;_G(e,d);c=b+68|0;x=0;sa(430,f|0,c|0);o=x;x=0;if(o&1){o=mb()|0;P1(e);yb(o|0)}o=Ir(e,f)|0;P1(f);P1(e);if(o){_G(g,a+80|0);x=0;sa(430,h|0,b+80|0);o=x;x=0;if(o&1){o=mb()|0;P1(g);yb(o|0)}b=j[g>>1]|0;e=(b&1)==0;d=(b&254)>>>1;f=e?d:k[g+4>>2]|0;o=i[h>>0]|0;c=(o&1)==0;b=(b&65535)>>>8&255;a:do if((f|0)==((c?(o&255)>>>1:k[h+4>>2]|0)|0)){c=c?h+1|0:k[h+8>>2]|0;if(!e){c=(tG(k[g+8>>2]|0,c,f)|0)==0;break}if(!f)c=1;else if(b<<24>>24==(i[c>>0]|0)){e=g+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d){c=1;break a}c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0)){c=0;break}}}else c=0}else c=0;while(0);P1(h);P1(g);o=c;r=n;return o|0}else{_G(l,d);x=0;sa(430,m|0,c|0);o=x;x=0;if(o&1){o=mb()|0;P1(l);yb(o|0)}b=j[l>>1]|0;e=(b&1)==0;d=(b&254)>>>1;f=e?d:k[l+4>>2]|0;o=i[m>>0]|0;c=(o&1)==0;b=(b&65535)>>>8&255;b:do if((f|0)==((c?(o&255)>>>1:k[m+4>>2]|0)|0)){c=c?m+1|0:k[m+8>>2]|0;if(!e){c=(tG(k[l+8>>2]|0,c,f)|0)==0;break}if(!f)c=1;else if(b<<24>>24==(i[c>>0]|0)){e=l+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d){c=1;break b}c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0)){c=0;break}}}else c=0}else c=0;while(0);P1(m);P1(l);o=c;r=n;return o|0}return 0}function Sj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;e=n+60|0;f=n+48|0;g=n+36|0;h=n+24|0;l=n+12|0;m=n;c=Ot(b,96,128,0)|0;if(c|0){m=bj(a,c)|0;r=n;return m|0}d=a+68|0;_G(e,d);c=b+68|0;x=0;sa(430,f|0,c|0);o=x;x=0;if(o&1){o=mb()|0;P1(e);yb(o|0)}o=Ir(e,f)|0;P1(f);P1(e);if(o){_G(g,a+80|0);x=0;sa(430,h|0,b+80|0);o=x;x=0;if(o&1){o=mb()|0;P1(g);yb(o|0)}b=j[g>>1]|0;e=(b&1)==0;d=(b&254)>>>1;f=e?d:k[g+4>>2]|0;o=i[h>>0]|0;c=(o&1)==0;b=(b&65535)>>>8&255;a:do if((f|0)==((c?(o&255)>>>1:k[h+4>>2]|0)|0)){c=c?h+1|0:k[h+8>>2]|0;if(!e){c=(tG(k[g+8>>2]|0,c,f)|0)==0;break}if(!f)c=1;else if(b<<24>>24==(i[c>>0]|0)){e=g+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d){c=1;break a}c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0)){c=0;break}}}else c=0}else c=0;while(0);P1(h);P1(g);o=c;r=n;return o|0}else{_G(l,d);x=0;sa(430,m|0,c|0);o=x;x=0;if(o&1){o=mb()|0;P1(l);yb(o|0)}b=j[l>>1]|0;e=(b&1)==0;d=(b&254)>>>1;f=e?d:k[l+4>>2]|0;o=i[m>>0]|0;c=(o&1)==0;b=(b&65535)>>>8&255;b:do if((f|0)==((c?(o&255)>>>1:k[m+4>>2]|0)|0)){c=c?m+1|0:k[m+8>>2]|0;if(!e){c=(tG(k[l+8>>2]|0,c,f)|0)==0;break}if(!f)c=1;else if(b<<24>>24==(i[c>>0]|0)){e=l+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d){c=1;break b}c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0)){c=0;break}}}else c=0}else c=0;while(0);P1(m);P1(l);o=c;r=n;return o|0}return 0}function Tj(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+64|0;d=f+52|0;e=f+48|0;g=f;p[8467]=3.141592653589793;lE(69160,44768,6);Ub(323,69160,w|0)|0;lE(69172,44775,21);Ub(323,69172,w|0)|0;lE(69184,44797,19);Ub(323,69184,w|0)|0;lE(69196,44817,22);Ub(323,69196,w|0)|0;a=Wy()|0;k[17302]=a;b=1;do{a=(ia(a>>>30^a,1812433253)|0)+b|0;k[69208+(b<<2)>>2]=a;b=b+1|0}while((b|0)!=624);k[17926]=0;x=0;Qa(74,g|0,36654,25);c=x;x=0;if(c&1)b=g;else{b=g+12|0;x=0;Qa(74,b|0,36680,27);c=x;x=0;if(!(c&1)){a=g+24|0;x=0;Qa(74,a|0,36708,8);c=x;x=0;if(c&1)b=a;else{c=g+36|0;x=0;Qa(74,c|0,36717,13);h=x;x=0;if(h&1)b=c;else{k[17928]=0;k[17929]=0;k[17927]=71712;k[e>>2]=71712;x=0;k[d>>2]=k[e>>2];xa(48,71708,d|0,g|0)|0;h=x;x=0;if(!(h&1)){k[e>>2]=71712;x=0;k[d>>2]=k[e>>2];xa(48,71708,d|0,b|0)|0;h=x;x=0;if(!(h&1)){k[e>>2]=71712;x=0;k[d>>2]=k[e>>2];xa(48,71708,d|0,a|0)|0;h=x;x=0;if(!(h&1)){k[e>>2]=71712;x=0;k[d>>2]=k[e>>2];xa(48,71708,d|0,c|0)|0;h=x;x=0;if(!(h&1)){P1(c);P1(a);P1(b);P1(g);Ub(340,71708,w|0)|0;r=f;return}}}}h=mb()|0;sC(71708,k[17928]|0);P1(c);P1(a);P1(b);P1(g);yb(h|0)}}}}a=mb()|0;c=M;if((g|0)==(b|0)){h=a;yb(h|0)}do{b=b+-12|0;P1(b)}while((b|0)!=(g|0));yb(a|0)}function Uj(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,p=0,q=0,r=0;q=b+8|0;c=k[q>>2]|0;if(!c)c=0;else c=tc[k[(k[c>>2]|0)+8>>2]&511](c)|0;p=b+4|0;k[p>>2]=c;g=a+4|0;f=k[g>>2]|0;r=a+12|0;d=+(((k[r>>2]|0)+1|0)>>>0);e=+o[a+16>>2];if((f|0)==0|d>+(f>>>0)*e){if(f>>>0>2)c=(f+-1&f|0)==0;else c=0;c=(c&1|f<<1)^1;f=~~+ha(+(d/e))>>>0;jv(a,c>>>0>>0?f:c);c=k[p>>2]|0;f=k[g>>2]|0}m=f+-1|0;n=(m&f|0)==0;if(n)l=m&c;else l=(c>>>0)%(f>>>0)|0;h=k[(k[a>>2]|0)+(l<<2)>>2]|0;if(!h){c=a+8|0;k[b>>2]=k[c>>2];k[c>>2]=b;k[(k[a>>2]|0)+(l<<2)>>2]=c;c=k[b>>2]|0;if(!c){a=k[r>>2]|0;a=a+1|0;k[r>>2]=a;return b|0}c=k[c+4>>2]|0;if(n)c=c&m;else c=(c>>>0)%(f>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=b;a=k[r>>2]|0;a=a+1|0;k[r>>2]=a;return b|0}c=k[h>>2]|0;a:do if(!c){g=h;c=h}else if(n){i=c;g=h;j=0;c=h;while(1){h=k[i+4>>2]|0;if((h&m|0)!=(l|0))break a;if((h|0)==(k[p>>2]|0)){h=k[i+8>>2]|0;i=k[q>>2]|0;if((h|0)!=0&(i|0)!=0)h=Jc[k[(k[h>>2]|0)+76>>2]&1023](h,i)|0;else h=0}else h=0;if(!(h|j^1))break a;c=k[g>>2]|0;i=k[c>>2]|0;if(!i){g=c;break}else{g=c;j=j|h}}}else{g=h;i=c;j=0;c=h;while(1){h=k[i+4>>2]|0;if(((h>>>0)%(f>>>0)|0|0)!=(l|0))break a;if((h|0)==(k[p>>2]|0)){h=k[i+8>>2]|0;i=k[q>>2]|0;if((h|0)!=0&(i|0)!=0)h=Jc[k[(k[h>>2]|0)+76>>2]&1023](h,i)|0;else h=0}else h=0;if(!(h|j^1))break a;c=k[g>>2]|0;i=k[c>>2]|0;if(!i){g=c;break}else{g=c;j=j|h}}}while(0);k[b>>2]=k[c>>2];k[g>>2]=b;c=k[b>>2]|0;if(!c){a=k[r>>2]|0;a=a+1|0;k[r>>2]=a;return b|0}c=k[c+4>>2]|0;if(n)c=c&m;else c=(c>>>0)%(f>>>0)|0;if((c|0)==(l|0)){a=k[r>>2]|0;a=a+1|0;k[r>>2]=a;return b|0}k[(k[a>>2]|0)+(c<<2)>>2]=b;a=k[r>>2]|0;a=a+1|0;k[r>>2]=a;return b|0}function Vj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+192|0;j=o+152|0;n=o+16|0;h=o+140|0;l=o+128|0;m=o;Sh(n,c,b,f);x=0;Qa(74,h|0,38293,10);i=x;x=0;do if(!(i&1)){x=0;c=j;b=e;g=c+40|0;do{k[c>>2]=k[b>>2];c=c+4|0;b=b+4|0}while((c|0)<(g|0));c=wa(27,h|0,a|0,d|0,j|0,f|0)|0;i=x;x=0;if(!(i&1)){i=n+8|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,i|0)|0;g=x;x=0;if(!(g&1)){x=0;c=ua(k[(k[c>>2]|0)+72>>2]|0,c|0)|0;g=x;x=0;if(!(g&1)){P1(h);if(c){x=0;Qa(74,m|0,38313,9);l=x;x=0;if(l&1)break;x=0;c=j;b=e;g=c+40|0;do{k[c>>2]=k[b>>2];c=c+4|0;b=b+4|0}while((c|0)<(g|0));c=wa(27,m|0,a|0,d|0,j|0,f|0)|0;l=x;x=0;if(!(l&1)){x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,i|0)|0;l=x;x=0;if(!(l&1)){P1(m);m=c;ht(n);r=o;return m|0}}o=mb()|0;P1(m);ht(n);yb(o|0)}else{x=0;Qa(74,l|0,38304,8);m=x;x=0;if(m&1)break;x=0;c=j;b=e;g=c+40|0;do{k[c>>2]=k[b>>2];c=c+4|0;b=b+4|0}while((c|0)<(g|0));c=wa(27,l|0,a|0,d|0,j|0,f|0)|0;m=x;x=0;if(!(m&1)){x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,i|0)|0;m=x;x=0;if(!(m&1)){P1(l);m=c;ht(n);r=o;return m|0}}o=mb()|0;P1(l);ht(n);yb(o|0)}}}}o=mb()|0;P1(h);ht(n);yb(o|0)}while(0);o=mb()|0;ht(n);yb(o|0);return 0}function Wj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;f=0;t=r;r=r+64|0;e=t+56|0;n=t+16|0;q=t;s=a+108|0;o=b+68|0;if(!(KH(o,33020)|0))c=1;else if(!(KH(o,33039)|0))c=1;else if(!(KH(o,33055)|0))c=1;else c=(KH(o,33069)|0)==0&1;p=i[s>>0]|0;i[s>>0]=c;h=k[b+64>>2]|0;g=k[b+80>>2]|0;c=k[b+84>>2]|0;k[e>>2]=0;j=a+76|0;d=k[j>>2]|0;if(d>>>0<(k[a+80>>2]|0)>>>0){k[d>>2]=0;k[j>>2]=(k[j>>2]|0)+4;f=8}else{x=0;sa(483,a+72|0,e|0);m=x;x=0;if(!(m&1))f=8}do if((f|0)==8){if(!c)m=0;else{x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a+8|0)|0;m=x;x=0;if(m&1)break;else m=c}if(!g)l=0;else{x=0;c=Ka(k[(k[g>>2]|0)+40>>2]|0,g|0,a+8|0)|0;l=x;x=0;if(l&1)break;if(!c)l=0;else l=Ot(c,64,112,0)|0}k[j>>2]=(k[j>>2]|0)+-4;if(!h)h=0;else{x=0;c=Ka(k[(k[h>>2]|0)+36>>2]|0,h|0,a|0)|0;j=x;x=0;if(j&1)break;x=0;c=ua(k[(k[c>>2]|0)+72>>2]|0,c|0)|0;j=x;x=0;if(j&1)break;else h=c}f=(k[a+4>>2]|0)+36|0;x=0;g=Ka(856,f|0,88)|0;a=x;x=0;if(!(a&1)){e=n;c=b+8|0;d=e+40|0;do{k[e>>2]=k[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));x=0;sa(430,q|0,o|0);o=x;x=0;if(!(o&1)){k[g+4>>2]=0;e=g+8|0;c=n;d=e+40|0;do{k[e>>2]=k[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));c=g+52|0;k[c>>2]=0;k[g+56>>2]=0;i[g+60>>0]=0;k[g+64>>2]=h;k[g>>2]=9872;x=0;sa(430,g+68|0,q|0);o=x;x=0;if(!(o&1)){k[g+80>>2]=l;k[g+84>>2]=m;k[c>>2]=3;x=0;c=Ka(857,f|0,g|0)|0;o=x;x=0;if(!(o&1)){P1(q);i[s>>0]=p;r=t;return c|0}}t=mb()|0;P1(q);i[s>>0]=p;yb(t|0)}}}while(0);t=mb()|0;i[s>>0]=p;yb(t|0);return 0}function Xj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+16|0;m=n;j=a;h=d;l=j+40|0;do{k[j>>2]=k[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(l|0));k[a+40>>2]=c;o=a+44|0;q=a+48|0;g=a+56|0;p=a+60|0;f=a+84|0;j=o;l=j+40|0;do{k[j>>2]=0;j=j+4|0}while((j|0)<(l|0));k[f>>2]=k[d>>2];k[f+4>>2]=k[d+4>>2];k[f+8>>2]=k[d+8>>2];j=a+96|0;k[j>>2]=k[d>>2];k[j+4>>2]=k[d+4>>2];k[j+8>>2]=k[d+8>>2];j=a+108|0;h=d;l=j+40|0;do{k[j>>2]=k[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(l|0));l=a+148|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;i[l+16>>0]=0;k[m>>2]=0;x=0;sa(541,g|0,m|0);l=x;x=0;if(l&1){b=mb()|0;f=k[g>>2]|0;e=f;if(f|0){g=k[p>>2]|0;if((g|0)!=(f|0))k[p>>2]=g+(~((g+-4-e|0)>>>2)<<2);uha(f)}f=k[o>>2]|0;if(!f)yb(b|0);e=k[q>>2]|0;if((e|0)!=(f|0))k[q>>2]=e+(~((e+-4-f|0)>>>2)<<2);uha(f);yb(b|0)}f=k[b+4>>2]|0;e=e|0?e:f;k[a+72>>2]=e;e=(f|0)==0?e:f;k[a+76>>2]=e;f=k[b+8>>2]|0;if(!f)f=e+(OD(e)|0)|0;k[a+80>>2]=f;f=c+36|0;x=0;e=Ka(856,f|0,88)|0;c=x;x=0;do if(!(c&1)){k[e+4>>2]=0;j=e+8|0;h=d;l=j+40|0;do{k[j>>2]=k[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(l|0));k[e+52>>2]=0;k[e+56>>2]=0;i[e+60>>0]=0;k[e+68>>2]=0;k[e+72>>2]=0;k[e+76>>2]=0;k[e>>2]=9664;k[e+64>>2]=9756;i[e+84>>0]=0;i[e+85>>0]=0;i[e+86>>0]=0;i[e+87>>0]=0;x=0;f=Ka(857,f|0,e|0)|0;d=x;x=0;if(!(d&1)){k[m>>2]=f;e=k[q>>2]|0;if((e|0)==(k[a+52>>2]|0)){x=0;sa(501,a+44|0,m|0);m=x;x=0;if(m&1)break;q=f+84|0;i[q>>0]=1;r=n;return}else{k[e>>2]=f;k[q>>2]=(k[q>>2]|0)+4;q=f+84|0;i[q>>0]=1;r=n;return}}}while(0);b=mb()|0;f=k[a+56>>2]|0;e=f;if(f|0){g=k[p>>2]|0;if((g|0)!=(f|0))k[p>>2]=g+(~((g+-4-e|0)>>>2)<<2);uha(f)}f=k[o>>2]|0;if(!f)yb(b|0);e=k[q>>2]|0;if((e|0)!=(f|0))k[q>>2]=e+(~((e+-4-f|0)>>>2)<<2);uha(f);yb(b|0)}function Yj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;o=r;r=r+16|0;n=o;l=a;j=e;m=l+40|0;do{k[l>>2]=k[j>>2];l=l+4|0;j=j+4|0}while((l|0)<(m|0));k[a+40>>2]=d;p=a+44|0;s=a+48|0;h=a+56|0;q=a+60|0;g=a+84|0;l=p;m=l+40|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0));k[g>>2]=k[e>>2];k[g+4>>2]=k[e+4>>2];k[g+8>>2]=k[e+8>>2];l=a+96|0;k[l>>2]=k[e>>2];k[l+4>>2]=k[e+4>>2];k[l+8>>2]=k[e+8>>2];l=a+108|0;j=e;m=l+40|0;do{k[l>>2]=k[j>>2];l=l+4|0;j=j+4|0}while((l|0)<(m|0));m=a+148|0;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[m+12>>2]=0;i[m+16>>0]=0;k[n>>2]=0;x=0;sa(541,h|0,n|0);m=x;x=0;if(m&1){f=mb()|0;c=k[h>>2]|0;g=c;if(c|0){b=k[q>>2]|0;if((b|0)!=(c|0))k[q>>2]=b+(~((b+-4-g|0)>>>2)<<2);uha(c)}c=k[p>>2]|0;if(!c)yb(f|0);g=k[s>>2]|0;if((g|0)!=(c|0))k[s>>2]=g+(~((g+-4-c|0)>>>2)<<2);uha(c);yb(f|0)}g=f|0?f:b;k[a+72>>2]=g;g=(b|0)==0?g:b;k[a+76>>2]=g;if(!c)c=g+(OD(g)|0)|0;k[a+80>>2]=c;c=d+36|0;x=0;g=Ka(856,c|0,88)|0;m=x;x=0;do if(!(m&1)){k[g+4>>2]=0;l=g+8|0;j=e;m=l+40|0;do{k[l>>2]=k[j>>2];l=l+4|0;j=j+4|0}while((l|0)<(m|0));k[g+52>>2]=0;k[g+56>>2]=0;i[g+60>>0]=0;k[g+68>>2]=0;k[g+72>>2]=0;k[g+76>>2]=0;k[g>>2]=9664;k[g+64>>2]=9756;i[g+84>>0]=0;i[g+85>>0]=0;i[g+86>>0]=0;i[g+87>>0]=0;x=0;c=Ka(857,c|0,g|0)|0;e=x;x=0;if(!(e&1)){k[n>>2]=c;g=k[s>>2]|0;if((g|0)==(k[a+52>>2]|0)){x=0;sa(501,a+44|0,n|0);n=x;x=0;if(n&1)break;s=c+84|0;i[s>>0]=1;r=o;return}else{k[g>>2]=c;k[s>>2]=(k[s>>2]|0)+4;s=c+84|0;i[s>>0]=1;r=o;return}}}while(0);f=mb()|0;c=k[a+56>>2]|0;g=c;if(c|0){b=k[q>>2]|0;if((b|0)!=(c|0))k[q>>2]=b+(~((b+-4-g|0)>>>2)<<2);uha(c)}c=k[p>>2]|0;if(!c)yb(f|0);g=k[s>>2]|0;if((g|0)!=(c|0))k[s>>2]=g+(~((g+-4-c|0)>>>2)<<2);uha(c);yb(f|0)}function Zj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;f=0;p=a+4|0;c=k[a>>2]|0;e=(((k[p>>2]|0)-c|0)/28|0)+1|0;if(e>>>0>153391689){fH(a);c=k[a>>2]|0}o=a+8|0;d=((k[o>>2]|0)-c|0)/28|0;if(d>>>0<76695844){d=d<<1;d=d>>>0>>0?e:d;c=((k[p>>2]|0)-c|0)/28|0;if(!d){e=0;j=0;i=c}else f=6}else{d=153391689;c=((k[p>>2]|0)-c|0)/28|0;f=6}if((f|0)==6){e=d;j=GG(d*28|0)|0;i=c}q=j+(i*28|0)|0;l=q|0;c=l;n=j+(e*28|0)|0;f=j+(i*28|0)+8|0;k[f>>2]=0;k[l>>2]=k[b>>2];d=b+4|0;k[q+4>>2]=k[d>>2];e=b+8|0;k[f>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[b>>2]=0;d=q+12|0;e=b+12|0;k[d>>2]=k[e>>2];f=k[b+16>>2]|0;h=j+(i*28|0)+16|0;k[h>>2]=f;g=b+20|0;m=k[g>>2]|0;k[q+20>>2]=m;h=h|0;if(!m)k[d>>2]=h;else{k[f+8>>2]=h;q=b+16|0;k[e>>2]=q;k[q>>2]=0;k[g>>2]=0}k[j+(i*28|0)+24>>2]=k[b+24>>2];m=l+28|0;b=k[a>>2]|0;d=k[p>>2]|0;if((d|0)==(b|0)){h=b;f=b}else{do{f=l+-28|0;e=d;d=d+-28|0;k[f>>2]=0;g=l+-24|0;k[g>>2]=0;k[l+-20>>2]=0;k[f>>2]=k[d>>2];f=e+-24|0;k[g>>2]=k[f>>2];g=e+-20|0;k[l+-20>>2]=k[g>>2];k[g>>2]=0;k[f>>2]=0;k[d>>2]=0;f=l+-16|0;g=e+-16|0;k[f>>2]=k[g>>2];h=k[e+-12>>2]|0;k[l+-12>>2]=h;i=e+-8|0;q=k[i>>2]|0;k[l+-8>>2]=q;j=l+-12|0;if(!q)k[f>>2]=j;else{k[h+8>>2]=j;q=e+-12|0;k[g>>2]=q;k[q>>2]=0;k[i>>2]=0}k[l+-4>>2]=k[e+-4>>2];l=c+-28|0;c=l}while((d|0)!=(b|0));h=k[a>>2]|0;f=k[p>>2]|0}k[a>>2]=c;k[p>>2]=m;k[o>>2]=n;g=h;if((f|0)!=(g|0))do{d=f;f=f+-28|0;sC(d+-16|0,k[d+-12>>2]|0);c=k[f>>2]|0;if(c|0){e=d+-24|0;d=k[e>>2]|0;if((d|0)!=(c|0)){do{q=d+-12|0;k[e>>2]=q;P1(q);d=k[e>>2]|0}while((d|0)!=(c|0));c=k[f>>2]|0}uha(c)}}while((f|0)!=(g|0));if(!h)return;uha(h);return}function _j(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+160|0;o=p;f=p+112|0;g=p+96|0;h=p+56|0;j=p+40|0;c=k[b+56>>2]|0;do if(!c)g=0;else{c=Jc[k[(k[c>>2]|0)+40>>2]&1023](c,a)|0;if(!c)g=0;else if(!(Ot(c,64,448,0)|0))g=c;else{d=(k[a+8>>2]|0)+36|0;e=lD(d,76)|0;l=f;m=c+8|0;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));_G(g,(Ot(c,64,448,0)|0)+60|0);x=0;l=o;m=f;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));qa(5,e|0,o|0,g|0,0,0);n=x;x=0;if(!(n&1)){x=0;c=Ka(857,d|0,e|0)|0;n=x;x=0;if(!(n&1)){P1(g);g=c;break}}p=mb()|0;P1(g);yb(p|0)}}while(0);c=k[b+60>>2]|0;do if(!c)c=0;else{c=Jc[k[(k[c>>2]|0)+40>>2]&1023](c,a)|0;if(!c)c=0;else if(Ot(c,64,448,0)|0){d=(k[a+8>>2]|0)+36|0;e=lD(d,76)|0;l=h;m=c+8|0;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));_G(j,(Ot(c,64,448,0)|0)+60|0);x=0;l=o;m=h;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));qa(5,e|0,o|0,j|0,0,0);n=x;x=0;if(!(n&1)){x=0;c=Ka(857,d|0,e|0)|0;n=x;x=0;if(!(n&1)){P1(j);break}}p=mb()|0;P1(j);yb(p|0)}}while(0);d=(k[a+8>>2]|0)+36|0;e=lD(d,68)|0;f=i[b+64>>0]|0;l=o;m=b+8|0;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k[e+4>>2]=0;l=e+8|0;m=o;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e+52>>2]=0;k[e>>2]=11660;k[e+56>>2]=g;k[e+60>>2]=c;i[e+64>>0]=f;b=N4(d,e)|0;r=p;return b|0}function $j(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=0;if(!a){f=0;return f|0}c=i[33344]|0;a:do if(!(c<<24>>24)){b=a;e=5}else{b=a;d=33344;while(1){if((i[b>>0]|0)!=c<<24>>24)break a;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=5;break}}}while(0);b:do if((e|0)==5){b=DJ(b)|0;if(b|0){c=b+1|0;if((i[b>>0]|0)==40){b=i[c>>0]|0;if(b<<24>>24){d=0;e=0;f=0;c:while(1){d:do switch(b<<24>>24){case 92:{c=c+1|0;break}case 34:{d=d^1;break}case 39:{e=e^1;break}default:if(d)d=1;else if(e){d=0;e=1}else{switch(b<<24>>24){case 40:{d=0;e=0;f=f+1|0;break d}case 41:break;default:{d=0;e=0;break d}}if(!f){a=c;break c}d=0;e=0;f=f+-1|0}}while(0);c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break b}f=a+1|0;return f|0}}}}while(0);b=i[29930]|0;e:do if(b<<24>>24){c=29930;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break e}return a|0}while(0);a=DJ(a)|0;if(!a){f=0;return f|0}if((i[a>>0]|0)!=58){f=0;return f|0}f=We(a+1|0)|0;return f|0}function ak(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;z=r;r=r+32|0;w=z+12|0;y=z;a:do if(tc[k[(k[a>>2]|0)+116>>2]&511](a)|0){d=k[b+72>>2]|0;l=(k[b+76>>2]|0)-d>>2;if(l|0){m=b+72|0;n=a+80|0;o=w+4|0;p=y+4|0;q=y+8|0;s=y+1|0;t=w+1|0;u=w+8|0;d=k[d>>2]|0;if(!d)w3();else{e=d;v=0}b:while(1){d=k[e>>2]|0;do if((k[(k[d+-4>>2]|0)+4>>2]|0)==26052)if(tc[k[d+116>>2]&511](e)|0){_G(w,e+80|0);x=0;sa(430,y|0,n|0);h=x;x=0;if(h&1){e=15;break b}h=j[w>>1]|0;f=(h&1)==0;e=(h&254)>>>1;g=f?e:k[o>>2]|0;A=i[y>>0]|0;d=(A&1)==0;h=(h&65535)>>>8&255;if((g|0)!=((d?(A&255)>>>1:k[p>>2]|0)|0)){e=22;break b}d=d?s:k[q>>2]|0;if(!f){A=(tG(k[u>>2]|0,d,g)|0)==0;P1(y);P1(w);if(A)break;else{d=0;e=23;break b}}if(!g){P1(y);P1(w);break}if(h<<24>>24==(i[d>>0]|0))f=t;else{e=21;break b}while(1){e=e+-1|0;f=f+1|0;if(!e)break;d=d+1|0;if((i[f>>0]|0)!=(i[d>>0]|0)){e=21;break b}}P1(y);P1(w)}while(0);v=v+1|0;if(v>>>0>=l>>>0)break a;e=k[(k[m>>2]|0)+(v<<2)>>2]|0;if(!e){e=4;break}}if((e|0)==4)w3();else if((e|0)==15){A=mb()|0;P1(w);yb(A|0)}else if((e|0)==21){P1(y);P1(w);A=0;r=z;return A|0}else if((e|0)==22){P1(y);P1(w);A=0;r=z;return A|0}else if((e|0)==23){r=z;return d|0}}}while(0);A=xf(a,b,c)|0;r=z;return A|0}function bk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=0;if(!a){l=0;return l|0}k=i[38919]|0;e=k<<24>>24==0;a:do if(!e){b=k;d=38919;while(1){if((i[a>>0]|0)!=b<<24>>24){c=0;break}a=a+1|0;d=d+1|0;b=i[d>>0]|0;if(!(b<<24>>24))break a}return c|0}while(0);b=i[a>>0]|0;if(!(b<<24>>24)){l=0;return l|0}if(e){c=0;d=0;while(1){switch(b<<24>>24){case 92:{a=a+1|0;break}case 34:{c=c^1;break}case 39:{d=d^1;break}default:if(c)c=1;else{a=d?a:a+-1|0;c=0}}a=a+1|0;b=i[a>>0]|0;if(!(b<<24>>24)){c=0;break}}return c|0}else{d=0;e=0;h=0}b:while(1){c:do switch(b<<24>>24){case 92:{a=a+1|0;f=h;break}case 34:{d=d^1;f=h;break}case 39:{e=e^1;f=h;break}default:if(d){d=1;f=h}else if(e){d=0;e=1;f=h}else if(!a){a=0;d=0;e=0;f=h}else{d:do if(b<<24>>24==k<<24>>24){d=a;g=38919;while(1){e=d;d=d+1|0;g=g+1|0;f=i[g>>0]|0;if(!(f<<24>>24)){a=e;break}if((i[d>>0]|0)!=f<<24>>24)break d}d=0;e=0;f=h+1|0;break c}while(0);d=i[43519]|0;e:do if(d<<24>>24){if(b<<24>>24==d<<24>>24){b=a;e=43519}else{d=0;e=0;f=h;break c}while(1){b=b+1|0;e=e+1|0;d=i[e>>0]|0;if(!(d<<24>>24)){a=b;break e}if((i[b>>0]|0)!=d<<24>>24){d=0;e=0;f=h;break c}}}while(0);if(!h){j=a;break b}a=a+-1|0;d=0;e=0;f=h+-1|0}}while(0);a=a+1|0;b=i[a>>0]|0;if(!(b<<24>>24)){c=0;l=39;break}else h=f}if((l|0)==39)return c|0;if(!j){l=0;return l|0}else{c=j;b=0}while(1){a=sx(c)|0;if(a|0){c=a;b=0;continue}if(b){l=39;break}if((i[c>>0]|0)==43){l=39;break}a=wy(c)|0;if(a|0){a=mx(a)|0;if(a|0){c=a;b=1;continue}}a=wy(c)|0;if(!a){l=39;break}else{c=a;b=1}}if((l|0)==39)return c|0;return 0}function ck(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+16|0;m=n;j=a;h=d;l=j+40|0;do{k[j>>2]=k[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(l|0));k[a+40>>2]=c;o=a+44|0;q=a+48|0;g=a+56|0;p=a+60|0;f=a+84|0;j=o;l=j+40|0;do{k[j>>2]=0;j=j+4|0}while((j|0)<(l|0));k[f>>2]=k[d>>2];k[f+4>>2]=k[d+4>>2];k[f+8>>2]=k[d+8>>2];j=a+96|0;k[j>>2]=k[d>>2];k[j+4>>2]=k[d+4>>2];k[j+8>>2]=k[d+8>>2];j=a+108|0;h=d;l=j+40|0;do{k[j>>2]=k[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(l|0));l=a+148|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;i[l+16>>0]=0;k[m>>2]=0;x=0;sa(541,g|0,m|0);l=x;x=0;if(l&1){e=mb()|0;f=k[g>>2]|0;b=f;if(f|0){c=k[p>>2]|0;if((c|0)!=(f|0))k[p>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(f)}f=k[o>>2]|0;if(!f)yb(e|0);b=k[q>>2]|0;if((b|0)!=(f|0))k[q>>2]=b+(~((b+-4-f|0)>>>2)<<2);uha(f);yb(e|0)}f=e|0?e:b;k[a+72>>2]=f;f=(b|0)==0?f:b;k[a+76>>2]=f;f=f+(OD(f)|0)|0;k[a+80>>2]=f;f=c+36|0;x=0;b=Ka(856,f|0,88)|0;l=x;x=0;do if(!(l&1)){k[b+4>>2]=0;j=b+8|0;h=d;l=j+40|0;do{k[j>>2]=k[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(l|0));k[b+52>>2]=0;k[b+56>>2]=0;i[b+60>>0]=0;k[b+68>>2]=0;k[b+72>>2]=0;k[b+76>>2]=0;k[b>>2]=9664;k[b+64>>2]=9756;i[b+84>>0]=0;i[b+85>>0]=0;i[b+86>>0]=0;i[b+87>>0]=0;x=0;f=Ka(857,f|0,b|0)|0;l=x;x=0;if(!(l&1)){k[m>>2]=f;b=k[q>>2]|0;if((b|0)==(k[a+52>>2]|0)){x=0;sa(501,a+44|0,m|0);m=x;x=0;if(m&1)break;q=f+84|0;i[q>>0]=1;r=n;return}else{k[b>>2]=f;k[q>>2]=(k[q>>2]|0)+4;q=f+84|0;i[q>>0]=1;r=n;return}}}while(0);e=mb()|0;f=k[a+56>>2]|0;b=f;if(f|0){c=k[p>>2]|0;if((c|0)!=(f|0))k[p>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(f)}f=k[o>>2]|0;if(!f)yb(e|0);b=k[q>>2]|0;if((b|0)!=(f|0))k[q>>2]=b+(~((b+-4-f|0)>>>2)<<2);uha(f);yb(e|0)}function dk(a){a=a|0;var b=0,c=0,d=0,e=0;e=0;d=a+1|0;if((i[a>>0]|0)!=46){e=a;return e|0}b=ti(d)|0;if(!b)e=5;else{while(1){c=ti(b)|0;if(!c)break;else b=c}if((i[b>>0]|0)==37)e=5}if((e|0)==5){if((i[d>>0]|0)==45){b=d;do b=b+1|0;while((i[b>>0]|0)==45)}else b=d;b=Kt(b)|0;if(!b){e=a;return e|0}b=Jt(b)|0;if(!b){e=a;return e|0}}if((i[b>>0]|0)==46)a=b;else{e=b;return e|0}while(1){d=a+1|0;b=ti(d)|0;if(!b)e=15;else{while(1){c=ti(b)|0;if(!c)break;else b=c}if((i[b>>0]|0)==37)e=15}if((e|0)==15){e=0;if((i[d>>0]|0)==45){b=d;do b=b+1|0;while((i[b>>0]|0)==45)}else b=d;b=Kt(b)|0;if(!b){b=a;e=18;break}b=Jt(b)|0;if(!b){b=a;e=18;break}}if((i[b>>0]|0)==46)a=b;else{e=18;break}}if((e|0)==18)return b|0;return 0}function ek(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=a+4|0;g=k[b>>2]|0;b=g;if((g|0)!=(f|0)){e=g+16|0;if(!(Pj(k[d>>2]|0,k[e>>2]|0)|0)){if(!(Pj(k[e>>2]|0,k[d>>2]|0)|0)){k[c>>2]=b;return c|0}b=k[g+4>>2]|0;if(!b){b=g;while(1){e=k[b+8>>2]|0;if((k[e>>2]|0)==(b|0))break;else b=e}}else while(1){e=k[b>>2]|0;if(!e){e=b;break}else b=e}if((e|0)!=(f|0))if(!(Pj(k[d>>2]|0,k[e+16>>2]|0)|0)){b=k[f>>2]|0;if(!b){k[c>>2]=f;c=f;return c|0}else a=b;while(1){b=a+16|0;if(Pj(k[d>>2]|0,k[b>>2]|0)|0){b=k[a>>2]|0;if(!b){e=a;b=a;a=34;break}}else{if(!(Pj(k[b>>2]|0,k[d>>2]|0)|0)){b=a;a=39;break}e=a+4|0;b=k[e>>2]|0;if(!b){b=a;a=38;break}}a=b}if((a|0)==34){k[c>>2]=b;c=e;return c|0}else if((a|0)==38){k[c>>2]=b;c=e;return c|0}else if((a|0)==39){k[c>>2]=b;return c|0}}b=g+4|0;if(!(k[b>>2]|0)){k[c>>2]=g;c=b;return c|0}else{k[c>>2]=e;c=e;return c|0}}}if((g|0)!=(k[a>>2]|0)){b=k[g>>2]|0;if(!b){e=g;while(1){b=k[e+8>>2]|0;if((k[b>>2]|0)==(e|0))e=b;else break}}else while(1){e=k[b+4>>2]|0;if(!e)break;else b=e}if(!(Pj(k[b+16>>2]|0,k[d>>2]|0)|0)){b=k[f>>2]|0;if(!b){k[c>>2]=f;c=f;return c|0}else a=b;while(1){b=a+16|0;if(Pj(k[d>>2]|0,k[b>>2]|0)|0){b=k[a>>2]|0;if(!b){e=a;b=a;a=14;break}}else{if(!(Pj(k[b>>2]|0,k[d>>2]|0)|0)){b=a;a=19;break}e=a+4|0;b=k[e>>2]|0;if(!b){b=a;a=18;break}}a=b}if((a|0)==14){k[c>>2]=b;c=e;return c|0}else if((a|0)==18){k[c>>2]=b;c=e;return c|0}else if((a|0)==19){k[c>>2]=b;return c|0}}}if(!(k[g>>2]|0)){k[c>>2]=g;c=g;return c|0}else{d=b;k[c>>2]=d;c=d+4|0;return c|0}return 0}function fk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;w=r;r=r+112|0;t=w+88|0;q=w+76|0;p=w+64|0;s=w+24|0;v=w+8|0;g=w+20|0;u=w;b=hk(a)|0;k[v>>2]=0;y=v+4|0;k[y>>2]=0;k[v+8>>2]=0;j=a+152|0;l=a+76|0;m=a+84|0;n=a+96|0;o=a+108|0;h=v+8|0;while(1){k[t>>2]=k[j>>2];k[t+4>>2]=k[j+4>>2];k[t+8>>2]=k[j+8>>2];d=k[l>>2]|0;k[q>>2]=k[m>>2];k[q+4>>2]=k[m+4>>2];k[q+8>>2]=k[m+8>>2];k[p>>2]=k[n>>2];k[p+4>>2]=k[n+4>>2];k[p+8>>2]=k[n+8>>2];c=s;e=o;f=c+40|0;do{k[c>>2]=k[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(f|0));x=0;xa(64,a|0,1,0)|0;f=x;x=0;if(f&1){c=10;break}x=0;c=xa(70,a|0,1,0)|0;f=x;x=0;if(f&1){c=10;break}if(!c){c=5;break}x=0;c=ua(235,a|0)|0;f=x;x=0;if(f&1){c=10;break}k[g>>2]=c;d=k[y>>2]|0;if(d>>>0<(k[h>>2]|0)>>>0){k[d>>2]=c;k[y>>2]=(k[y>>2]|0)+4;continue}else{x=0;sa(476,v|0,g|0);f=x;x=0;if(f&1){c=10;break}else continue}}a:do if((c|0)==5){c=o;e=s;f=c+40|0;do{k[c>>2]=k[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(f|0));k[j>>2]=k[t>>2];k[j+4>>2]=k[t+4>>2];k[j+8>>2]=k[t+8>>2];k[l>>2]=d;k[n>>2]=k[p>>2];k[n+4>>2]=k[p+4>>2];k[n+8>>2]=k[p+8>>2];k[m>>2]=k[q>>2];k[m+4>>2]=k[q+4>>2];k[m+8>>2]=k[q+8>>2];c=k[v>>2]|0;do if((k[y>>2]|0)!=(c|0)){k[u>>2]=1;i[u+4>>0]=0;i[u+5>>0]=0;x=0;k[t>>2]=k[u>>2];k[t+4>>2]=k[u+4>>2];b=Pa(12,a|0,b|0,v|0,t|0)|0;a=x;x=0;if(a&1){d=mb()|0;break a}else{c=k[v>>2]|0;break}}while(0);if(!c){r=w;return b|0}d=k[y>>2]|0;if((d|0)!=(c|0))k[y>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);r=w;return b|0}else if((c|0)==10)d=mb()|0;while(0);b=k[v>>2]|0;if(!b)yb(d|0);c=k[y>>2]|0;if((c|0)!=(b|0))k[y>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(b);yb(d|0);return 0}function gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=0;j=a+4|0;c=k[a>>2]|0;e=(((k[j>>2]|0)-c|0)/48|0)+1|0;if(e>>>0>89478485){fH(a);c=k[a>>2]|0}i=a+8|0;d=((k[i>>2]|0)-c|0)/48|0;if(d>>>0<44739242){d=d<<1;d=d>>>0>>0?e:d;c=((k[j>>2]|0)-c|0)/48|0;if(!d){f=0;d=0}else g=6}else{d=89478485;c=((k[j>>2]|0)-c|0)/48|0;g=6}if((g|0)==6){f=d;d=GG(d*48|0)|0}g=d+(c*48|0)|0;e=g|0;c=e;h=d+(f*48|0)|0;k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;f=g+12|0;d=b+12|0;k[f>>2]=k[d>>2];k[f+4>>2]=k[d+4>>2];k[f+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;d=g+24|0;f=b+24|0;k[d>>2]=k[f>>2];k[d+4>>2]=k[f+4>>2];k[d+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=g+36|0;g=b+36|0;k[f>>2]=k[g>>2];k[f+4>>2]=k[g+4>>2];k[f+8>>2]=k[g+8>>2];k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;g=e+48|0;f=k[a>>2]|0;d=k[j>>2]|0;if((d|0)==(f|0)){d=c;e=f;c=f}else{do{l=e+-48|0;b=d;d=d+-48|0;k[l>>2]=k[d>>2];k[l+4>>2]=k[d+4>>2];k[l+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;l=e+-36|0;m=b+-36|0;k[l>>2]=k[m>>2];k[l+4>>2]=k[m+4>>2];k[l+8>>2]=k[m+8>>2];k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;m=e+-24|0;l=b+-24|0;k[m>>2]=k[l>>2];k[m+4>>2]=k[l+4>>2];k[m+8>>2]=k[l+8>>2];k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;l=e+-12|0;b=b+-12|0;k[l>>2]=k[b>>2];k[l+4>>2]=k[b+4>>2];k[l+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;e=c+-48|0;c=e}while((d|0)!=(f|0));d=c;e=k[a>>2]|0;c=k[j>>2]|0}k[a>>2]=d;k[j>>2]=g;k[i>>2]=h;d=e;if((c|0)!=(d|0))do{P1(c+-12|0);P1(c+-24|0);P1(c+-36|0);c=c+-48|0;P1(c)}while((c|0)!=(d|0));if(!e)return;uha(e);return}function hk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;w=r;r=r+112|0;t=w+88|0;q=w+76|0;p=w+64|0;s=w+24|0;v=w+8|0;g=w+20|0;u=w;b=Eh(a)|0;k[v>>2]=0;y=v+4|0;k[y>>2]=0;k[v+8>>2]=0;j=a+152|0;l=a+76|0;m=a+84|0;n=a+96|0;o=a+108|0;h=v+8|0;while(1){k[t>>2]=k[j>>2];k[t+4>>2]=k[j+4>>2];k[t+8>>2]=k[j+8>>2];d=k[l>>2]|0;k[q>>2]=k[m>>2];k[q+4>>2]=k[m+4>>2];k[q+8>>2]=k[m+8>>2];k[p>>2]=k[n>>2];k[p+4>>2]=k[n+4>>2];k[p+8>>2]=k[n+8>>2];c=s;e=o;f=c+40|0;do{k[c>>2]=k[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(f|0));x=0;xa(64,a|0,1,0)|0;f=x;x=0;if(f&1){c=10;break}x=0;c=xa(71,a|0,1,0)|0;f=x;x=0;if(f&1){c=10;break}if(!c){c=5;break}x=0;c=ua(236,a|0)|0;f=x;x=0;if(f&1){c=10;break}k[g>>2]=c;d=k[y>>2]|0;if(d>>>0<(k[h>>2]|0)>>>0){k[d>>2]=c;k[y>>2]=(k[y>>2]|0)+4;continue}else{x=0;sa(476,v|0,g|0);f=x;x=0;if(f&1){c=10;break}else continue}}a:do if((c|0)==5){c=o;e=s;f=c+40|0;do{k[c>>2]=k[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(f|0));k[j>>2]=k[t>>2];k[j+4>>2]=k[t+4>>2];k[j+8>>2]=k[t+8>>2];k[l>>2]=d;k[n>>2]=k[p>>2];k[n+4>>2]=k[p+4>>2];k[n+8>>2]=k[p+8>>2];k[m>>2]=k[q>>2];k[m+4>>2]=k[q+4>>2];k[m+8>>2]=k[q+8>>2];c=k[v>>2]|0;do if((k[y>>2]|0)!=(c|0)){k[u>>2]=0;i[u+4>>0]=0;i[u+5>>0]=0;x=0;k[t>>2]=k[u>>2];k[t+4>>2]=k[u+4>>2];b=Pa(12,a|0,b|0,v|0,t|0)|0;a=x;x=0;if(a&1){d=mb()|0;break a}else{c=k[v>>2]|0;break}}while(0);if(!c){r=w;return b|0}d=k[y>>2]|0;if((d|0)!=(c|0))k[y>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);r=w;return b|0}else if((c|0)==10)d=mb()|0;while(0);b=k[v>>2]|0;if(!b)yb(d|0);c=k[y>>2]|0;if((c|0)!=(b|0))k[y>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(b);yb(d|0);return 0}function ik(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0.0,u=0;o=0;u=r;r=r+144|0;p=u+96|0;g=u+80|0;n=u+68|0;m=u+56|0;q=u+16|0;s=u;x=0;Qa(74,g|0,37420,7);l=x;x=0;a:do if(l&1)o=7;else{x=0;h=p;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));b=wa(25,g|0,a|0,d|0,p|0,f|0)|0;l=x;x=0;if(l&1){b=Eb(0)|0;P1(g);o=12;break}P1(g);b=b+60|0;x=0;sa(430,n|0,b|0);l=x;x=0;if(l&1)o=7;else{x=0;sa(430,m|0,b|0);l=x;x=0;do if(l&1)b=Eb(0)|0;else{b=i[m>>0]|0;x=0;b=xa(61,n|0,0,((b&1)==0?(b&255)>>>1:k[m+4>>2]|0)|0)|0;l=x;x=0;if(l&1){b=Eb(0)|0;P1(m);break}else{P1(m);P1(n);t=+(b>>>0);break a}}while(0);P1(n);o=12}}while(0);if((o|0)==7){b=Eb(0)|0;o=12}do if((o|0)==12){Bb(b|0)|0;x=0;sa(531,e|0,f|0);f=x;x=0;if(!(f&1)){xb();t=4294967295.0;break}b=mb()|0;x=0;pa(3);f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}else{u=b;yb(u|0)}}while(0);b=c+36|0;g=lD(b,96)|0;h=q;j=e;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));lE(s,78097,0);x=0;h=p;j=q;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));Fa(1,g|0,p|0,+t,s|0,1);e=x;x=0;if(!(e&1)){x=0;b=Ka(857,b|0,g|0)|0;e=x;x=0;if(!(e&1)){P1(s);r=u;return b|0}}u=mb()|0;P1(s);yb(u|0);return 0}function jk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=0;o=r;r=r+208|0;j=o+160|0;l=o;n=o+144|0;e=o+88|0;d=o+76|0;h=o+64|0;m=o+52|0;o=o+40|0;lE(d,78097,0);k[e>>2]=c;c=e+4|0;f=b;g=c+40|0;do{k[c>>2]=k[f>>2];c=c+4|0;f=f+4|0}while((c|0)<(g|0));p=e+44|0;x=0;sa(430,p|0,d|0);g=x;x=0;if(g&1){q=mb()|0;P1(d);yb(q|0)}P1(d);x=0;Qa(101,m|0,e|0,0);g=x;x=0;a:do if(g&1)q=13;else{x=0;c=xa(50,m|0,0,43502)|0;g=x;x=0;do if(g&1)c=mb()|0;else{k[h>>2]=k[c>>2];k[h+4>>2]=k[c+4>>2];k[h+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;g=i[h>>0]|0;f=(g&1)==0;x=0;xa(46,a|0,(f?h+1|0:k[h+8>>2]|0)|0,(f?(g&255)>>>1:k[h+4>>2]|0)|0)|0;g=x;x=0;if(g&1){c=mb()|0;P1(h);break}P1(h);P1(m);x=0;sa(430,o|0,a|0);m=x;x=0;if(m&1){q=13;break a}c=l;f=b;g=c+40|0;do{k[c>>2]=k[f>>2];c=c+4|0;f=f+4|0}while((c|0)<(g|0));e=vb(76)|0;x=0;sa(430,n|0,o|0);m=x;x=0;if(m&1){c=mb()|0;q=11}else{x=0;c=j;f=l;g=c+40|0;do{k[c>>2]=k[f>>2];c=c+4|0;f=f+4|0}while((c|0)<(g|0));Ua(18,e|0,j|0,n|0,0);m=x;x=0;if(m&1)d=1;else{x=0;Qa(77,e|0,984,59);x=0;d=0}c=mb()|0;P1(n);if(d)q=11}if((q|0)==11)lb(e|0);P1(o);break a}while(0);P1(m)}while(0);if((q|0)==13)c=mb()|0;P1(p);q=c;yb(q|0)}function kk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+16|0;c=m;if(tc[k[(k[b>>2]|0)+64>>2]&511](b)|0){r=m;return}d=k[b+68>>2]|0;j=k[b+64>>2]|0;l=a+4|0;if(!(lx(b,Xaa(l)|0)|0)){c=k[j+68>>2]|0;f=(k[j+72>>2]|0)-c>>2;if(!f){r=m;return}e=j+68|0;d=0;while(1){c=k[c+(d<<2)>>2]|0;if(c|0)if(Ot(c,568,552,0)|0)rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);d=d+1|0;if((d|0)==(f|0))break;c=k[e>>2]|0}r=m;return}if(!(Xaa(l)|0)){h=a+76|0;k[h>>2]=(k[h>>2]|0)+(k[b+56>>2]|0)}Tu(l);lE(c,39795,9);x=0;Qa(134,l|0,c|0,b|0);h=x;x=0;if(h&1){m=mb()|0;P1(c);yb(m|0)}P1(c);vba(l);rc[k[(k[d>>2]|0)+28>>2]&1023](d,a);Yo(l,0);a:do if(!(i[j+87>>0]|0)){c=k[j+68>>2]|0;g=(k[j+72>>2]|0)-c>>2;if(g|0){e=j+68|0;f=g+-1|0;d=c;c=0;while(1){j=k[d+(c<<2)>>2]|0;rc[k[(k[j>>2]|0)+28>>2]&1023](j,a);if(c>>>0>>0)dx(l);c=c+1|0;if((c|0)==(g|0))break a;d=k[e>>2]|0}}}else{Yo(l,0);e=j+68|0;h=j+72|0;c=k[e>>2]|0;f=(k[h>>2]|0)-c>>2;b:do if(f|0){g=j+68|0;d=0;while(1){c=k[c+(d<<2)>>2]|0;if(!(tc[k[(k[c>>2]|0)+60>>2]&511](c)|0))rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);d=d+1|0;if((d|0)==(f|0))break b;c=k[g>>2]|0}}while(0);$n(l,0);c=k[e>>2]|0;g=(k[h>>2]|0)-c>>2;if(g|0){f=j+68|0;d=c;e=0;while(1){c=k[d+(e<<2)>>2]|0;if(tc[k[(k[c>>2]|0)+60>>2]&511](c)|0)rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);c=e+1|0;if((c|0)==(g|0))break a;d=k[f>>2]|0;e=c}}}while(0);if(!(Xaa(l)|0)){a=a+76|0;k[a>>2]=(k[a>>2]|0)-(k[b+56>>2]|0)}$n(l,0);r=m;return}function lk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;a:do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)){f=b+28|0;if((k[f>>2]|0)!=1)k[f>>2]=d}}else{if((a|0)!=(k[b>>2]|0)){p=k[a+12>>2]|0;j=a+16+(p<<3)|0;dG(a+16|0,b,c,d,e);f=a+24|0;if((p|0)<=1)break;g=k[a+8>>2]|0;if(!(g&2)){h=b+36|0;if((k[h>>2]|0)!=1){if(!(g&1)){g=b+54|0;while(1){if(i[g>>0]|0)break a;if((k[h>>2]|0)==1)break a;dG(f,b,c,d,e);f=f+8|0;if(f>>>0>=j>>>0)break a}}g=b+24|0;a=b+54|0;while(1){if(i[a>>0]|0)break a;if((k[h>>2]|0)==1)if((k[g>>2]|0)==1)break a;dG(f,b,c,d,e);f=f+8|0;if(f>>>0>=j>>>0)break a}}}g=b+54|0;while(1){if(i[g>>0]|0)break a;dG(f,b,c,d,e);f=f+8|0;if(f>>>0>=j>>>0)break a}}if((k[b+16>>2]|0)!=(c|0)){o=b+20|0;if((k[o>>2]|0)!=(c|0)){k[b+32>>2]=d;p=b+44|0;if((k[p>>2]|0)==4)break;h=a+16+(k[a+12>>2]<<3)|0;j=b+52|0;d=b+53|0;m=b+54|0;l=a+8|0;n=b+24|0;g=0;f=0;a=a+16|0;b:while(1){if(a>>>0>=h>>>0){a=20;break}i[j>>0]=0;i[d>>0]=0;hF(a,b,c,c,1,e);if(i[m>>0]|0){a=20;break}do if(i[d>>0]|0){if(!(i[j>>0]|0))if(!(k[l>>2]&1)){f=1;a=20;break b}else{f=1;break}if((k[n>>2]|0)==1){a=25;break b}if(!(k[l>>2]&2)){a=25;break b}else{g=1;f=1}}while(0);a=a+8|0}do if((a|0)==20){if(!g){k[o>>2]=c;c=b+40|0;k[c>>2]=(k[c>>2]|0)+1;if((k[b+36>>2]|0)==1)if((k[n>>2]|0)==2){i[m>>0]=1;if(f){a=25;break}else{f=4;break}}}if(f)a=25;else f=4}while(0);if((a|0)==25)f=3;k[p>>2]=f;break}}if((d|0)==1)k[b+32>>2]=1}while(0);return}function mk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;j=0;p=r;r=r+80|0;b=p+40|0;o=p+24|0;g=p+12|0;h=p;lE(h,38277,5);x=0;l=b;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));b=wa(25,h|0,a|0,d|0,b|0,f|0)|0;n=x;x=0;do if(n&1)j=7;else{x=0;sa(430,g|0,b+60|0);n=x;x=0;if(n&1)j=7;else{x=0;Ua(11,o|0,g|0,0,0);n=x;x=0;if(n&1){b=mb()|0;P1(g);break}P1(g);P1(h);g=c+36|0;if((Qu(71708,o)|0)==71712){x=0;b=Ka(856,g|0,64)|0;n=x;x=0;if(!(n&1)){k[b+4>>2]=0;l=b+8|0;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;k[b>>2]=5684;i[b+56>>0]=0;k[b+60>>2]=0;k[b+52>>2]=1;x=0;b=Ka(857,g|0,b|0)|0;e=x;x=0;if(!(e&1)){e=b;P1(o);r=p;return e|0}}}else{x=0;b=Ka(856,g|0,64)|0;n=x;x=0;if(!(n&1)){k[b+4>>2]=0;l=b+8|0;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;k[b>>2]=5684;i[b+56>>0]=1;k[b+60>>2]=0;k[b+52>>2]=1;x=0;b=Ka(857,g|0,b|0)|0;e=x;x=0;if(!(e&1)){e=b;P1(o);r=p;return e|0}}}p=mb()|0;P1(o);yb(p|0)}}while(0);if((j|0)==7)b=mb()|0;P1(h);p=b;yb(p|0);return 0}function nk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;m=r;r=r+32|0;g=m+12|0;h=m;l=Ot(b,64,1016,0)|0;if(!l){a=0;r=m;return a|0}x=0;sa(430,g|0,a+56|0);f=x;x=0;do if(f&1){b=hb(4480,0)|0;c=M}else{x=0;sa(430,h|0,l+56|0);f=x;x=0;if(f&1){b=hb(4480,0)|0;c=M;P1(g);break}f=j[g>>1]|0;d=(f&1)==0;c=(f&254)>>>1;e=d?c:k[g+4>>2]|0;n=i[h>>0]|0;b=(n&1)==0;f=(f&65535)>>>8&255;if((e|0)!=((b?(n&255)>>>1:k[h+4>>2]|0)|0)){P1(h);P1(g);n=0;r=m;return n|0}b=b?h+1|0:k[h+8>>2]|0;a:do if(d){if(!e){P1(h);P1(g);break}b:do if(f<<24>>24==(i[b>>0]|0)){d=g+1|0;while(1){c=c+-1|0;d=d+1|0;if(!c)break;b=b+1|0;if((i[d>>0]|0)!=(i[b>>0]|0))break b}P1(h);P1(g);break a}while(0);P1(h);P1(g);n=0;r=m;return n|0}else{n=(tG(k[g+8>>2]|0,b,e)|0)==0;P1(h);P1(g);if(!n){n=0;r=m;return n|0}}while(0);e=k[a+68>>2]|0;b=k[e+60>>2]|0;e=(k[e+64>>2]|0)-b>>2;a=k[l+68>>2]|0;n=k[a+60>>2]|0;c=n;if((e|0)!=((k[a+64>>2]|0)-n>>2|0)){n=0;r=m;return n|0}if(!e){n=1;r=m;return n|0}else d=0;while(1){if((k[b+(d<<2)>>2]|0)!=(k[c+(d<<2)>>2]|0)){b=0;d=25;break}d=d+1|0;if(d>>>0>=e>>>0){b=1;d=25;break}}if((d|0)==25){r=m;return b|0}}while(0);n=(c|0)==(tb(4480)|0);Bb(b|0)|0;if(n){xb();n=0;r=m;return n|0}x=0;pa(4);x=0;b=mb()|0;x=0;pa(3);n=x;x=0;if(n&1){n=Eb(0)|0;Nba(n)}else yb(b|0);return 0}function ok(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;u=r;r=r+16|0;t=u+4|0;p=u;o=a+64|0;if(!(k[o>>2]|0)){t=-1;r=u;return t|0}c=a+92|0;if(!(k[c>>2]&8)){k[a+24>>2]=0;k[a+20>>2]=0;k[a+28>>2]=0;if(!(i[a+98>>0]|0)){b=k[a+56>>2]|0;d=b+(k[a+60>>2]|0)|0}else{b=k[a+32>>2]|0;d=b+(k[a+52>>2]|0)|0}k[a+8>>2]=b;s=a+12|0;k[s>>2]=d;k[a+16>>2]=d;k[c>>2]=8;c=1;b=d}else{b=a+12|0;c=0;s=b;b=k[b>>2]|0}if(!b){b=t+1|0;k[a+8>>2]=t;k[s>>2]=b;k[a+16>>2]=b}q=a+16|0;if(c){c=k[q>>2]|0;n=0}else{c=k[q>>2]|0;n=(c-(k[a+8>>2]|0)|0)/2|0;n=n>>>0>4?4:n}do if((b|0)==(c|0)){c=a+8|0;VH(k[c>>2]|0,b+(0-n)|0,n|0)|0;if(i[a+98>>0]|0){b=k[c>>2]|0;b=Vw(b+n|0,1,(k[q>>2]|0)-n-b|0,k[o>>2]|0)|0;if(!b){b=-1;break}p=(k[c>>2]|0)+n|0;k[s>>2]=p;k[q>>2]=p+b;b=l[p>>0]|0;break}h=a+32|0;j=a+36|0;b=k[j>>2]|0;m=a+40|0;VH(k[h>>2]|0,b|0,(k[m>>2]|0)-b|0)|0;b=k[h>>2]|0;e=b+((k[m>>2]|0)-(k[j>>2]|0))|0;k[j>>2]=e;if((b|0)==(a+44|0))d=8;else d=k[a+52>>2]|0;b=b+d|0;k[m>>2]=b;f=a+60|0;d=(k[f>>2]|0)-n|0;b=b-e|0;g=a+72|0;x=g;w=k[x+4>>2]|0;v=a+80|0;k[v>>2]=k[x>>2];k[v+4>>2]=w;d=Vw(e,1,b>>>0>>0?b:d,k[o>>2]|0)|0;if(!d)b=-1;else{b=k[a+68>>2]|0;if(!b){x=vb(4)|0;Nea(x);Wb(x|0,4480,315)}w=(k[j>>2]|0)+d|0;k[m>>2]=w;x=k[c>>2]|0;if((Rc[k[(k[b>>2]|0)+16>>2]&15](b,g,k[h>>2]|0,w,j,x+n|0,x+(k[f>>2]|0)|0,p)|0)==3){b=k[h>>2]|0;x=k[m>>2]|0;k[c>>2]=b;k[s>>2]=b;k[q>>2]=x;b=l[b>>0]|0}else{d=k[p>>2]|0;b=(k[c>>2]|0)+n|0;if((d|0)==(b|0))b=-1;else{k[s>>2]=b;k[q>>2]=d;b=l[b>>0]|0}}}}else{c=a+8|0;b=l[b>>0]|0}while(0);if((k[c>>2]|0)==(t|0)){k[c>>2]=0;k[s>>2]=0;k[q>>2]=0}x=b;r=u;return x|0}function pk(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=k[c+4>>2]|0;q=b+4|0;g=k[q>>2]|0;if((e|0)!=(g|0)){p=k[c>>2]|0;f=k[b>>2]|0;f=((p-f>>2)*170|0)+((e-(k[p>>2]|0)|0)/24|0)+((g-(k[f>>2]|0)|0)/-24|0)|0;if((f|0)>0){e=d;c=k[e>>2]|0;e=k[e+4>>2]|0;while(1){n=(k[k[b>>2]>>2]|0)+4080|0;p=(n-g|0)/24|0;o=(p|0)>(f|0);n=o?g+(f*24|0)|0:n;p=o?f:p;if((g|0)!=(n|0)){o=n;do{m=c;j=((k[m>>2]|0)+4080-e|0)/24|0;l=(o-g|0)/24|0;i=(l|0)>(j|0);l=i?j:l;h=g;g=i?g+(j*24|0)|0:n;if((h|0)!=(g|0)){i=e;while(1){k[i>>2]=k[h>>2];k[i+4>>2]=k[h+4>>2];k[i+8>>2]=k[h+8>>2];k[i+12>>2]=k[h+12>>2];t=h+16|0;r=k[t>>2]|0;j=h+20|0;s=k[j>>2]|0;k[t>>2]=0;k[j>>2]=0;k[i+16>>2]=r;r=i+20|0;j=k[r>>2]|0;k[r>>2]=s;if(j|0)CQ(j);h=h+24|0;if((h|0)==(g|0))break;else i=i+24|0}}do if(l){e=((e-(k[c>>2]|0)|0)/24|0)+l|0;if((e|0)>0){t=m+(((e|0)/170|0)<<2)|0;c=t;e=(k[t>>2]|0)+(((e|0)%170|0)*24|0)|0;break}else{e=169-e|0;t=m+(((e|0)/-170|0)<<2)|0;c=t;e=(k[t>>2]|0)+((169-((e|0)%170|0)|0)*24|0)|0;break}}while(0)}while((g|0)!=(n|0))}h=d;k[h>>2]=c;k[h+4>>2]=e;h=f-p|0;do if(p|0){g=k[b>>2]|0;f=(((k[q>>2]|0)-(k[g>>2]|0)|0)/24|0)+p|0;if((f|0)>0){t=g+(((f|0)/170|0)<<2)|0;k[b>>2]=t;k[q>>2]=(k[t>>2]|0)+(((f|0)%170|0)*24|0);break}else{t=169-f|0;s=g+(((t|0)/-170|0)<<2)|0;k[b>>2]=s;k[q>>2]=(k[s>>2]|0)+((169-((t|0)%170|0)|0)*24|0);break}}while(0);if((h|0)<=0)break;g=k[q>>2]|0;f=h}t=a;s=t;k[s>>2]=c;t=t+4|0;k[t>>2]=e;return}}s=d;d=k[s>>2]|0;s=k[s+4>>2]|0;t=a;r=t;k[r>>2]=d;t=t+4|0;k[t>>2]=s;return}function qk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=0;if(!a){j=0;return j|0}h=i[38919]|0;d=h<<24>>24==0;a:do if(!d){b=h;c=38919;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);b=i[a>>0]|0;if(!(b<<24>>24)){j=0;return j|0}if(d){c=0;d=0;while(1){switch(b<<24>>24){case 92:{a=a+1|0;break}case 34:{c=c^1;break}case 39:{d=d^1;break}default:if(c)c=1;else{a=d?a:a+-1|0;c=0}}a=a+1|0;b=i[a>>0]|0;if(!(b<<24>>24)){a=0;break}}return a|0}else{f=a;c=0;d=0;g=0}b:while(1){c:do switch(b<<24>>24){case 92:{a=f+1|0;e=g;break}case 34:{a=f;c=c^1;e=g;break}case 39:{a=f;d=d^1;e=g;break}default:if(c){a=f;c=1;e=g}else if(d){a=f;c=0;d=1;e=g}else if(!f){a=0;c=0;d=0;e=g}else{d:do if(b<<24>>24==h<<24>>24){c=f;e=38919;while(1){a=c;c=c+1|0;e=e+1|0;d=i[e>>0]|0;if(!(d<<24>>24))break;if((i[c>>0]|0)!=d<<24>>24)break d}c=0;d=0;e=g+1|0;break c}while(0);a=i[43519]|0;e:do if(!(a<<24>>24))a=f;else{if(b<<24>>24==a<<24>>24){a=f;c=43519}else{a=f;c=0;d=0;e=g;break c}while(1){a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break e;if((i[a>>0]|0)!=b<<24>>24){a=f;c=0;d=0;e=g;break c}}}while(0);if(!g){b=a;break b}a=a+-1|0;c=0;d=0;e=g+-1|0}}while(0);f=a+1|0;b=i[f>>0]|0;if(!(b<<24>>24)){a=0;j=39;break}else g=e}if((j|0)==39)return a|0;if(!b){j=0;return j|0}a=LN(b)|0;if(a|0){j=a;return j|0}if((i[b>>0]|0)==45){a=b;do a=a+1|0;while((i[a>>0]|0)==45)}else a=b;a=Kt(a)|0;if(a|0){a=Jt(a)|0;if(a|0){j=a;return j|0}}h=i[b>>0]|0;j=b+1|0;h=h<<24>>24|0;j=(h|0)!=43?((h|0)==45?j:0):j;return j|0}function rk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;d=k[a+4>>2]|0;if((d|0)!=(k[b+4>>2]|0)){c=0;return c|0}switch(d|0){case 1:{c=(k[a+8>>2]|0)==(k[b+8>>2]|0);return c|0}case 0:{a=k[a+12>>2]|0;d=k[b+12>>2]|0;if(!c){c=ln(a,d)|0;return c|0}if(Pj(a,d)|0){c=0;return c|0}c=(Pj(d,a)|0)^1;return c|0}case 2:{h=a+16|0;d=k[h>>2]|0;i=a+20|0;f=k[i>>2]|0;g=(f|0)==0;if(!g)c3(f);e=k[d+20>>2]|0;j=b+16|0;a=k[j>>2]|0;l=b+20|0;d=k[l>>2]|0;if(!d)d=k[a+20>>2]|0;else{c3(d);b=k[a+20>>2]|0;CQ(d);d=b}if(!g)CQ(f);if((e|0)!=(d|0)){c=0;return c|0}a=k[h>>2]|0;f=k[i>>2]|0;g=(f|0)==0;if(!g)c3(f);b=k[a+4>>2]|0;e=k[a+16>>2]|0;d=b+(((e>>>0)/170|0)<<2)|0;if((k[a+8>>2]|0)==(b|0))a=0;else a=(k[d>>2]|0)+(((e>>>0)%170|0)*24|0)|0;if(!g)CQ(f);g=k[h>>2]|0;b=k[i>>2]|0;h=(b|0)==0;if(!h)c3(b);e=(k[g+16>>2]|0)+(k[g+20>>2]|0)|0;f=k[g+4>>2]|0;if((k[g+8>>2]|0)==(f|0))i=0;else i=(k[f+(((e>>>0)/170|0)<<2)>>2]|0)+(((e>>>0)%170|0)*24|0)|0;if(!h)CQ(b);f=k[j>>2]|0;g=k[l>>2]|0;b=(g|0)==0;if(!b)c3(g);l=k[f+4>>2]|0;e=k[f+16>>2]|0;h=l+(((e>>>0)/170|0)<<2)|0;if((k[f+8>>2]|0)==(l|0))e=0;else e=(k[h>>2]|0)+(((e>>>0)%170|0)*24|0)|0;if(!b)CQ(g);a:while(1){do{if((a|0)==(i|0)){d=1;a=41;break a}if(!(rk(a,e,c)|0)){d=0;a=41;break a}a=a+24|0;if((a-(k[d>>2]|0)|0)==4080){a=d+4|0;d=a;a=k[a>>2]|0}e=e+24|0}while((e-(k[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=k[e>>2]|0}if((a|0)==41)return d|0;break}case 3:{c=1;return c|0}default:{c=vb(4)|0;k[c>>2]=39460;Wb(c|0,4584,0)}}return 0}function sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)uha(c);k[d>>2]=0;return}o=GG(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)uha(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}f=k[c>>2]|0;d:do if(!f)f=c;else{l=c+8|0;g=f;j=c;f=c;while(1){i=k[l>>2]|0;g=k[g+8>>2]|0;if(!((i|0)!=0&(g|0)!=0))break d;if(!(Jc[k[(k[i>>2]|0)+76>>2]&1023](i,g)|0))break d;f=k[j>>2]|0;g=k[f>>2]|0;if(!g)break;else j=f}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}f=k[c>>2]|0;e:do if(!f)f=c;else{l=c+8|0;g=f;j=c;f=c;while(1){i=k[l>>2]|0;g=k[g+8>>2]|0;if(!((i|0)!=0&(g|0)!=0))break e;if(!(Jc[k[(k[i>>2]|0)+76>>2]&1023](i,g)|0))break e;f=k[j>>2]|0;g=k[f>>2]|0;if(!g)break;else j=f}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)return}function tk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;p=0;d=k[a>>2]|0;e=k[b>>2]|0;f=d;a:do if((f|0)!=(e|0)){c=f+12|0;if((c|0)!=(e|0)){n=d;b:while(1){m=j[f>>1]|0;g=(m&1)==0;h=(m&254)>>>1;l=g?h:k[f+4>>2]|0;o=i[c>>0]|0;d=(o&1)==0;m=(m&65535)>>>8&255;do if((l|0)==((d?(o&255)>>>1:k[f+16>>2]|0)|0)){o=d?c+1|0:k[f+20>>2]|0;if(!g)if(!(tG(k[f+8>>2]|0,o,l)|0)){d=n;break b}else break;d=n;if(!l)break b;if(m<<24>>24==(i[o>>0]|0)){g=f+1|0;f=o;do{h=h+-1|0;g=g+1|0;if(!h)break b;f=f+1|0}while((i[g>>0]|0)==(i[f>>0]|0))}}while(0);n=c;d=c+12|0;if((d|0)==(e|0))break a;else{f=c;c=d}}k[a>>2]=d;if((d|0)==(e|0)){b=e;return b|0}c=d+24|0;c:do if((c|0)==(e|0))q=d;else{f=d;h=d+12|0;while(1){n=j[f>>1]|0;l=(n&1)==0;g=(n&254)>>>1;m=l?g:k[f+4>>2]|0;o=i[c>>0]|0;d=(o&1)==0;n=(n&65535)>>>8&255;d:do if((m|0)==((d?(o&255)>>>1:k[h+16>>2]|0)|0)){d=d?c+1|0:k[h+20>>2]|0;if(!l)if(!(tG(k[f+8>>2]|0,d,m)|0))break;else{p=24;break}if(m)if(n<<24>>24==(i[d>>0]|0)){h=f+1|0;while(1){g=g+-1|0;h=h+1|0;if(!g)break d;d=d+1|0;if((i[h>>0]|0)!=(i[d>>0]|0)){p=24;break}}}else p=24}else p=24;while(0);if((p|0)==24){p=0;d=f+12|0;k[a>>2]=d;if(!(i[d>>0]&1)){i[d+1>>0]=0;i[d>>0]=0}else{i[k[f+20>>2]>>0]=0;k[f+16>>2]=0}x=0;sa(443,d|0,0);o=x;x=0;if(o&1)break;k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;e=k[b>>2]|0;f=k[a>>2]|0}d=c+12|0;if((d|0)==(e|0)){q=f;break c}else{h=c;c=d}}b=Eb(0)|0;Nba(b)}while(0);b=q+12|0;k[a>>2]=b;return b|0}}while(0);k[a>>2]=e;b=e;return b|0}function uk(a,b){a=+a;b=+b;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0.0;o=0;p[t>>3]=a;c=k[t>>2]|0;j=k[t+4>>2]|0;p[t>>3]=b;l=k[t>>2]|0;m=k[t+4>>2]|0;d=SN(c|0,j|0,52)|0;d=d&2047;h=SN(l|0,m|0,52)|0;h=h&2047;n=j&-2147483648;g=GN(l|0,m|0,1)|0;i=M;a:do if((g|0)==0&(i|0)==0)o=3;else{q=+X(+b);p[t>>3]=q;f=k[t+4>>2]|0;if(f>>>0>2146435072|(f|0)==2146435072&(k[t>>2]|0)>>>0>0|(d|0)==2047)o=3;else{e=GN(c|0,j|0,1)|0;f=M;if(!(f>>>0>i>>>0|(f|0)==(i|0)&e>>>0>g>>>0))return +((e|0)==(g|0)&(f|0)==(i|0)?a*0.0:a);if(!d){d=GN(c|0,j|0,12)|0;e=M;if((e|0)>-1|(e|0)==-1&d>>>0>4294967295){f=d;d=0;do{d=d+-1|0;f=GN(f|0,e|0,1)|0;e=M}while((e|0)>-1|(e|0)==-1&f>>>0>4294967295)}else d=0;c=GN(c|0,j|0,1-d|0)|0;e=M}else e=j&1048575|1048576;if(!h){f=GN(l|0,m|0,12)|0;g=M;if((g|0)>-1|(g|0)==-1&f>>>0>4294967295){h=0;do{h=h+-1|0;f=GN(f|0,g|0,1)|0;g=M}while((g|0)>-1|(g|0)==-1&f>>>0>4294967295)}else h=0;l=GN(l|0,m|0,1-h|0)|0;j=M}else j=m&1048575|1048576;i=lN(c|0,e|0,l|0,j|0)|0;g=M;f=(g|0)>-1|(g|0)==-1&i>>>0>4294967295;b:do if((d|0)>(h|0)){while(1){if(f)if((c|0)==(l|0)&(e|0)==(j|0))break;else{c=i;e=g}c=GN(c|0,e|0,1)|0;e=M;d=d+-1|0;i=lN(c|0,e|0,l|0,j|0)|0;g=M;f=(g|0)>-1|(g|0)==-1&i>>>0>4294967295;if((d|0)<=(h|0))break b}b=a*0.0;break a}while(0);if(f)if((c|0)==(l|0)&(e|0)==(j|0)){b=a*0.0;break}else{e=g;c=i}if(e>>>0<1048576|(e|0)==1048576&c>>>0<0)do{c=GN(c|0,e|0,1)|0;e=M;d=d+-1|0}while(e>>>0<1048576|(e|0)==1048576&c>>>0<0);if((d|0)>0){m=TZ(c|0,e|0,0,-1048576)|0;c=M;d=GN(d|0,0,52)|0;c=c|M;d=m|d}else{d=SN(c|0,e|0,1-d|0)|0;c=M}k[t>>2]=d;k[t+4>>2]=c|n;b=+p[t>>3]}}while(0);if((o|0)==3){b=a*b;b=b/b}return +b}function vk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+80|0;e=m+60|0;f=m+48|0;g=m+36|0;h=m+24|0;j=m+12|0;l=m;if(a|0){c=Ot(a,96,128,0)|0;if(c|0){a=Sj(c,b)|0;r=m;return a|0}c=Ot(a,96,144,0)|0;if(c|0){a=ul(c,b)|0;r=m;return a|0}c=Ot(a,96,752,0)|0;if(c|0){a=tl(c,b)|0;r=m;return a|0}}c=a+68|0;_G(e,c);d=b+68|0;x=0;sa(430,f|0,d|0);n=x;x=0;if(n&1){n=mb()|0;P1(e);yb(n|0)}n=Ir(e,f)|0;P1(f);P1(e);if(n){_G(g,a+80|0);x=0;sa(430,h|0,b+80|0);n=x;x=0;if(n&1){n=mb()|0;P1(g);yb(n|0)}else{b=i[g>>0]|0;l=(b&1)==0;b=l?(b&255)>>>1:k[g+4>>2]|0;a=i[h>>0]|0;n=(a&1)==0;a=n?(a&255)>>>1:k[h+4>>2]|0;n=tG(l?g+1|0:k[g+8>>2]|0,n?h+1|0:k[h+8>>2]|0,a>>>0>>0?a:b)|0;P1(h);P1(g);n=(((n|0)==0?(b>>>0>>0?-2147483648:0):n)|0)<0;r=m;return n|0}}else{_G(j,c);x=0;sa(430,l|0,d|0);n=x;x=0;if(n&1){n=mb()|0;P1(j);yb(n|0)}else{b=i[j>>0]|0;h=(b&1)==0;b=h?(b&255)>>>1:k[j+4>>2]|0;a=i[l>>0]|0;n=(a&1)==0;a=n?(a&255)>>>1:k[l+4>>2]|0;n=tG(h?j+1|0:k[j+8>>2]|0,n?l+1|0:k[l+8>>2]|0,a>>>0>>0?a:b)|0;P1(l);P1(j);n=(((n|0)==0?(b>>>0>>0?-2147483648:0):n)|0)<0;r=m;return n|0}}return 0}function wk(a){a=a|0;var b=0,c=0;if((i[a>>0]|0)==45){b=a;do b=b+1|0;while((i[b>>0]|0)==45)}else b=a;b=Kt(b)|0;if(!b)c=5;else{b=Jt(b)|0;if(!b)c=5;else c=6}if((c|0)==5)if((i[a>>0]|0)==45){b=a+1|0;c=6}else b=a;if((c|0)==6)while(1){if((i[b>>0]|0)==45){a=b;do a=a+1|0;while((i[a>>0]|0)==45)}else a=b;a=Kt(a)|0;if(a|0){a=Jt(a)|0;if(a|0){b=a;c=6;continue}}if((i[b>>0]|0)==45){b=b+1|0;c=6}else break}b=qk(b)|0;if(!b){c=0;return c|0}while(1){a=qk(b)|0;if(!a)break;else b=a}a:while(1){if((i[b>>0]|0)==45){a=b;do a=a+1|0;while((i[a>>0]|0)==45)}else a=b;a=Kt(a)|0;if(!a)c=17;else{a=Jt(a)|0;if(!a)c=17;else c=18}if((c|0)==17){c=0;if((i[b>>0]|0)==45){a=b+1|0;c=18}else a=b}if((c|0)==18)while(1){if((i[a>>0]|0)==45){c=a;do c=c+1|0;while((i[c>>0]|0)==45)}else c=a;c=Kt(c)|0;if(c|0){c=Jt(c)|0;if(c|0){a=c;c=18;continue}}if((i[a>>0]|0)==45){a=a+1|0;c=18}else break}a=qk(a)|0;if(!a)break;else b=a;while(1){a=qk(b)|0;if(!a)continue a;else b=a}}return b|0}function xk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0.0,j=0.0,l=0.0,m=0.0,n=0,o=0,q=0,s=0,t=0;t=r;r=r+80|0;g=t+56|0;e=t+16|0;s=t;n=c+80|0;if(+p[n>>3]!=+p[d+80>>3]){b=vb(40)|0;x=0;Qa(74,g|0,44221,1);t=x;x=0;if(t&1)e=mb()|0;else{x=0;Ua(24,b|0,c|0,d|0,g|0);t=x;x=0;if(t&1)f=1;else{x=0;Qa(77,b|0,1408,139);x=0;f=0}e=mb()|0;P1(g);if(!f){t=e;yb(t|0)}}lb(b|0);t=e;yb(t|0)}do if((b|0)==11){if(+p[d+56>>3]!=0.0)if(+p[d+64>>3]!=0.0)if(+p[d+72>>3]!=0.0)break;e=vb(28)|0;x=0;Qa(111,e|0,c|0,d|0);t=x;x=0;if(!(t&1))Wb(e|0,1344,61);t=mb()|0;lb(e|0);yb(t|0)}while(0);q=lD(a,104)|0;if(!f){o=e;f=c+8|0;g=o+40|0;do{k[o>>2]=k[f>>2];o=o+4|0;f=f+4|0}while((o|0)<(g|0));f=e}else{o=e;g=o+40|0;do{k[o>>2]=k[f>>2];o=o+4|0;f=f+4|0}while((o|0)<(g|0));f=e}o=10880+(b<<2)|0;l=+Bc[k[o>>2]&7](+p[c+56>>3],+p[d+56>>3]);m=+Bc[k[o>>2]&7](+p[c+64>>3],+p[d+64>>3]);j=+Bc[k[o>>2]&7](+p[c+72>>3],+p[d+72>>3]);h=+p[n>>3];lE(s,78097,0);k[q+4>>2]=0;o=q+8|0;g=o+40|0;do{k[o>>2]=k[f>>2];o=o+4|0;f=f+4|0}while((o|0)<(g|0));i[q+48>>0]=0;i[q+49>>0]=0;i[q+50>>0]=0;e=q+52|0;k[e>>2]=0;k[q>>2]=5580;p[q+56>>3]=l;p[q+64>>3]=m;p[q+72>>3]=j;p[q+80>>3]=h;x=0;sa(430,q+88|0,s|0);d=x;x=0;if(!(d&1)){k[q+100>>2]=0;k[e>>2]=3;x=0;e=Ka(857,a|0,q|0)|0;a=x;x=0;if(!(a&1)){P1(s);r=t;return e|0}}t=mb()|0;P1(s);yb(t|0);return 0}function yk(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;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=0;k[c>>2]=a;k[f>>2]=d;if(!(h&4))h=b;else{a=k[c>>2]|0;h=b;if((h-a|0)>2)if((i[a>>0]|0)==-17)if((i[a+1>>0]|0)==-69)if((i[a+2>>0]|0)==-65)k[c>>2]=a+3}q=e;a:while(1){n=k[c>>2]|0;a=n>>>0>>0;if(!a){s=41;break}r=k[f>>2]|0;if(r>>>0>=e>>>0){s=41;break}a=i[n>>0]|0;p=a&255;if(p>>>0>g>>>0){a=2;break}do if(a<<24>>24>-1){j[r>>1]=a&255;k[c>>2]=n+1}else{if((a&255)<194){a=2;break a}if((a&255)<224){if((h-n|0)<2){a=1;break a}a=l[n+1>>0]|0;if((a&192|0)!=128){a=2;break a}a=a&63|p<<6&1984;if(a>>>0>g>>>0){a=2;break a}j[r>>1]=a;k[c>>2]=n+2;break}if((a&255)<240){if((h-n|0)<3){a=1;break a}d=i[n+1>>0]|0;a=i[n+2>>0]|0;switch(p|0){case 224:{if((d&-32)<<24>>24!=-96){a=2;break a}break}case 237:{if((d&-32)<<24>>24!=-128){a=2;break a}break}default:if((d&-64)<<24>>24!=-128){a=2;break a}}a=a&255;if((a&192|0)!=128){a=2;break a}a=(d&255)<<6&4032|p<<12|a&63;if((a&65535)>>>0>g>>>0){a=2;break a}j[r>>1]=a;k[c>>2]=n+3;break}if((a&255)>=245){a=2;break a}if((h-n|0)<4){a=1;break a}m=i[n+1>>0]|0;a=i[n+2>>0]|0;d=i[n+3>>0]|0;switch(p|0){case 240:{if((m+112&255)>=48){a=2;break a}break}case 244:{if((m&-16)<<24>>24!=-128){a=2;break a}break}default:if((m&-64)<<24>>24!=-128){a=2;break a}}o=a&255;if((o&192|0)!=128){a=2;break a}a=d&255;if((a&192|0)!=128){a=2;break a}if((q-r|0)<4){a=1;break a}n=p&7;m=m&255;d=o<<6;a=a&63;if((m<<12&258048|n<<18|d&4032|a)>>>0>g>>>0){a=2;break a}j[r>>1]=m<<2&60|o>>>4&3|((m>>>4&3|n<<2)<<6)+16320|55296;r=r+2|0;k[f>>2]=r;j[r>>1]=a|d&960|56320;k[c>>2]=(k[c>>2]|0)+4}while(0);k[f>>2]=(k[f>>2]|0)+2}if((s|0)==41)a=a&1;return a|0}function zk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=0;u=r;r=r+16|0;p=u+8|0;s=u+4|0;q=u;k[a+4>>2]=k[b+4>>2];k[a>>2]=4748;c=a+8|0;d=b+8|0;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));k[a>>2]=6736;n=b+48|0;o=k[n+4>>2]|0;m=a+48|0;k[m>>2]=k[n>>2];k[m+4>>2]=o;k[a>>2]=6840;m=a+56|0;o=b+56|0;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];m=a+68|0;k[m>>2]=6956;x=0;sa(442,a+72|0,b+72|0);o=x;x=0;if(o&1){a=mb()|0;yb(a|0)}k[a+84>>2]=k[b+84>>2];k[a>>2]=6984;k[m>>2]=7116;n=a+88|0;g=a+92|0;k[g>>2]=0;h=a+96|0;k[h>>2]=0;o=a+92|0;k[n>>2]=o;c=k[b+88>>2]|0;i=b+92|0;if((c|0)==(i|0)){a=a+100|0;t=b+100|0;t=j[t>>1]|0;j[a>>1]=t;r=u;return}l=o;d=c;while(1){e=d+16|0;k[q>>2]=l;x=0;k[p>>2]=k[q>>2];f=Pa(6,n|0,p|0,s|0,e|0)|0;d=x;x=0;if(d&1)break;if(!(k[f>>2]|0)){x=0;d=ua(186,20)|0;v=x;x=0;if(v&1)break;k[d+16>>2]=k[e>>2];e=k[s>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=e;k[f>>2]=d;e=k[k[n>>2]>>2]|0;if(e){k[n>>2]=e;d=k[f>>2]|0}hl(k[g>>2]|0,d);k[h>>2]=(k[h>>2]|0)+1}d=k[c+4>>2]|0;if(!d)while(1){d=k[c+8>>2]|0;if((k[d>>2]|0)==(c|0)){c=d;break}else c=d}else{c=d;while(1){d=k[c>>2]|0;if(!d)break;else c=d}}if((c|0)==(i|0)){t=14;break}else d=c}if((t|0)==14){v=a+100|0;a=b+100|0;a=j[a>>1]|0;j[v>>1]=a;r=u;return}f=mb()|0;ZD(n,k[o>>2]|0);k[m>>2]=6956;e=k[a+72>>2]|0;if(!e){v=f;yb(v|0)}c=a+76|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);uha(e);v=f;yb(v|0)}function Ak(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;u=0;v=r;r=r+80|0;p=v+32|0;q=v+20|0;y=v+8|0;s=v;c=k[b+72>>2]|0;t=k[b+76>>2]|0;if((c|0)==(t|0)){r=v;return}n=b+59|0;o=a+72|0;m=a+76|0;j=a+72|0;l=s+4|0;w=y+4|0;a:while(1){g=k[c>>2]|0;b=g;while(1){a=k[b+72>>2]|0;if(a|0){e=k[k[a+72>>2]>>2]|0;if(!e)break;if(!(Ot(e,96,736,0)|0))break}b=k[b+76>>2]|0}h=a;if(!(k[b+72>>2]|0))u=11;else if(k[b+76>>2]|0)u=11;if((u|0)==11){u=0;lE(q,27713,36);x=0;f=p;b=g+8|0;e=f+40|0;do{k[f>>2]=k[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(e|0));sa(438,q|0,p|0);g=x;x=0;if(g&1){u=13;break}P1(q)}i[a+59>>0]=i[n>>0]|0;f=(k[m>>2]|0)-(k[o>>2]|0)>>2;if(f|0){g=0;do{Dn(y,a);k[s>>2]=k[(k[j>>2]|0)+(g<<2)>>2];k[l>>2]=h;x=0;Qa(83,d|0,y|0,s|0);e=x;x=0;if(e&1){u=23;break a}b=k[y>>2]|0;if(b|0){e=k[w>>2]|0;if((e|0)!=(b|0)){do{z=e+-12|0;k[w>>2]=z;P1(z);e=k[w>>2]|0}while((e|0)!=(b|0));b=k[y>>2]|0}uha(b)}g=g+1|0}while(g>>>0>>0)}c=c+4|0;if((c|0)==(t|0)){u=3;break}}if((u|0)==3){r=v;return}else if((u|0)==13){z=mb()|0;P1(q);yb(z|0)}else if((u|0)==23){e=mb()|0;a=M;c=k[y>>2]|0;if(!c){z=e;yb(z|0)}b=k[w>>2]|0;if((b|0)!=(c|0)){do{z=b+-12|0;k[w>>2]=z;P1(z);b=k[w>>2]|0}while((b|0)!=(c|0));c=k[y>>2]|0}uha(c);z=e;yb(z|0)}}function Bk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,m=0,n=0;n=b;if(!(e&4)){m=a;f=0}else if((n-a|0)>2)if((i[a>>0]|0)==-17)if((i[a+1>>0]|0)==-69){m=(i[a+2>>0]|0)==-65?a+3|0:a;f=0}else{m=a;f=0}else{m=a;f=0}else{m=a;f=0}a:while(1){if(!(f>>>0>>0&m>>>0>>0)){e=m;f=40;break}e=i[m>>0]|0;k=e&255;if(k>>>0>d>>>0){e=m;f=40;break}do if(e<<24>>24>-1)e=m+1|0;else{if((e&255)<194){e=m;f=40;break a}if((e&255)<224){if((n-m|0)<2){e=m;f=40;break a}e=l[m+1>>0]|0;if((e&192|0)!=128){e=m;f=40;break a}if((e&63|k<<6&1984)>>>0>d>>>0){e=m;f=40;break a}else{e=m+2|0;break}}if((e&255)<240){e=m;if((n-e|0)<3){e=m;f=40;break a}h=i[m+1>>0]|0;g=i[m+2>>0]|0;switch(k|0){case 224:{if((h&-32)<<24>>24!=-96){f=19;break a}break}case 237:{if((h&-32)<<24>>24!=-128){f=21;break a}break}default:if((h&-64)<<24>>24!=-128){f=23;break a}}e=g&255;if((e&192|0)!=128){e=m;f=40;break a}if(((h&255)<<6&4032|k<<12&61440|e&63)>>>0>d>>>0){e=m;f=40;break a}else{e=m+3|0;break}}if((e&255)>=245){e=m;f=40;break a}e=m;if((c-f|0)>>>0<2|(n-e|0)<4){e=m;f=40;break a}j=i[m+1>>0]|0;g=i[m+2>>0]|0;h=i[m+3>>0]|0;switch(k|0){case 240:{if((j+112&255)>=48){f=30;break a}break}case 244:{if((j&-16)<<24>>24!=-128){f=32;break a}break}default:if((j&-64)<<24>>24!=-128){f=34;break a}}g=g&255;if((g&192|0)!=128){e=m;f=40;break a}e=h&255;if((e&192|0)!=128){e=m;f=40;break a}if(((j&255)<<12&258048|k<<18&1835008|g<<6&4032|e&63)>>>0>d>>>0){e=m;f=40;break a}e=m+4|0;f=f+1|0}while(0);m=e;f=f+1|0}if((f|0)==19)e=e-a|0;else if((f|0)==21)e=e-a|0;else if((f|0)==23)e=e-a|0;else if((f|0)==30)e=e-a|0;else if((f|0)==32)e=e-a|0;else if((f|0)==34)e=e-a|0;else if((f|0)==40)e=e-a|0;return e|0}function Ck(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=a+4|0;g=k[b>>2]|0;b=g;if((g|0)!=(f|0)){e=g+16|0;if(!(Ru(d,e)|0)){if(!(Ru(e,d)|0)){k[c>>2]=b;return c|0}b=k[g+4>>2]|0;if(!b){b=g;while(1){e=k[b+8>>2]|0;if((k[e>>2]|0)==(b|0))break;else b=e}}else while(1){e=k[b>>2]|0;if(!e){e=b;break}else b=e}if((e|0)!=(f|0))if(!(Ru(d,e+16|0)|0)){b=k[f>>2]|0;if(!b){k[c>>2]=f;c=f;return c|0}else a=b;while(1){b=a+16|0;if(Ru(d,b)|0){b=k[a>>2]|0;if(!b){e=a;b=a;a=34;break}}else{if(!(Ru(b,d)|0)){b=a;a=39;break}e=a+4|0;b=k[e>>2]|0;if(!b){b=a;a=38;break}}a=b}if((a|0)==34){k[c>>2]=b;c=e;return c|0}else if((a|0)==38){k[c>>2]=b;c=e;return c|0}else if((a|0)==39){k[c>>2]=b;return c|0}}b=g+4|0;if(!(k[b>>2]|0)){k[c>>2]=g;c=b;return c|0}else{k[c>>2]=e;c=e;return c|0}}}if((g|0)!=(k[a>>2]|0)){b=k[g>>2]|0;if(!b){e=g;while(1){b=k[e+8>>2]|0;if((k[b>>2]|0)==(e|0))e=b;else break}}else while(1){e=k[b+4>>2]|0;if(!e)break;else b=e}if(!(Ru(b+16|0,d)|0)){b=k[f>>2]|0;if(!b){k[c>>2]=f;c=f;return c|0}else a=b;while(1){b=a+16|0;if(Ru(d,b)|0){b=k[a>>2]|0;if(!b){e=a;b=a;a=14;break}}else{if(!(Ru(b,d)|0)){b=a;a=19;break}e=a+4|0;b=k[e>>2]|0;if(!b){b=a;a=18;break}}a=b}if((a|0)==14){k[c>>2]=b;c=e;return c|0}else if((a|0)==18){k[c>>2]=b;c=e;return c|0}else if((a|0)==19){k[c>>2]=b;return c|0}}}if(!(k[g>>2]|0)){k[c>>2]=g;c=g;return c|0}else{d=b;k[c>>2]=d;c=d+4|0;return c|0}return 0}function Dk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;v=r;r=r+64|0;n=v+48|0;m=v+40|0;l=v+32|0;o=v+16|0;p=v+8|0;t=v;u=v+24|0;if((k[a+4>>2]|0)!=2){v=vb(4)|0;k[v>>2]=39563;Wb(v|0,4584,0)}if((k[b+4>>2]|0)!=2){v=vb(4)|0;k[v>>2]=39563;Wb(v|0,4584,0)}d=a+16|0;c=k[d>>2]|0;a=a+20|0;q=k[a>>2]|0;s=(q|0)==0;if(s){a=c;e=0;j=1}else{c3(q);e=k[a>>2]|0;a=k[d>>2]|0;if(!e){e=0;j=1}else{c3(e);j=0}}h=a;a=(k[h+16>>2]|0)+(k[h+20>>2]|0)|0;i=k[h+4>>2]|0;d=i+(((a>>>0)/170|0)<<2)|0;if((k[h+8>>2]|0)==(i|0))a=0;else a=(k[d>>2]|0)+(((a>>>0)%170|0)*24|0)|0;k[o>>2]=d;k[o+4>>2]=a;f=b+16|0;d=k[f>>2]|0;g=b+20|0;h=k[g>>2]|0;i=(h|0)==0;if(!i)c3(h);w=k[d+4>>2]|0;a=k[d+16>>2]|0;b=w+(((a>>>0)/170|0)<<2)|0;if((k[d+8>>2]|0)==(w|0))a=0;else a=(k[b>>2]|0)+(((a>>>0)%170|0)*24|0)|0;k[p>>2]=b;k[p+4>>2]=a;d=k[f>>2]|0;f=k[g>>2]|0;g=(f|0)==0;if(!g)c3(f);a=(k[d+16>>2]|0)+(k[d+20>>2]|0)|0;w=k[d+4>>2]|0;b=w+(((a>>>0)/170|0)<<2)|0;if((k[d+8>>2]|0)==(w|0))a=0;else a=(k[b>>2]|0)+(((a>>>0)%170|0)*24|0)|0;k[t>>2]=b;k[t+4>>2]=a;x=0;k[l>>2]=k[o>>2];k[l+4>>2]=k[o+4>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[n>>2]=k[t>>2];k[n+4>>2]=k[t+4>>2];Ba(12,u|0,c|0,l|0,m|0,n|0,0);w=x;x=0;if(w&1){a=mb()|0;if(!g)CQ(f);if(!i)CQ(h);if(!j)CQ(e);if(s)yb(a|0);CQ(q);yb(a|0)}else{if(!g)CQ(f);if(!i)CQ(h);if(!j)CQ(e);if(s){r=v;return}CQ(q);r=v;return}}function Ek(a){a=a|0;var b=0;b=a+1|0;if((i[a>>0]|0)==38)if((i[b>>0]|0)==45){do b=b+1|0;while((i[b>>0]|0)==45);b=DJ(b)|0;if(b|0){b=XH(b)|0;if(b|0){a=b;return a|0}}}b=pi(a)|0;if(!b){a=0;return a|0}while(1){a=pi(b)|0;if(!a)break;else b=a}return b|0}function Fk(a){a=a|0;if((hc|0)!=2){k[ic+8>>2]=a;if((hc|0)==1)hc=3}Uc(kc+31720|0);return k[ic>>2]|0}function Gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;e=r;r=r+80|0;h=e+60|0;f=e+48|0;c=e+36|0;j=e+24|0;g=e+12|0;d=e;l=k[b+76>>2]|0;m=bO(l)|0;l=m|0?m:l;l=(i[l>>0]|0)==36?l+1|0:0;a:do if((l|0)==0?1:l>>>0>(k[b+80>>2]|0)>>>0){lE(h,39906,11);x=0;Qa(74,f|0,39918,7);m=x;x=0;if(m&1)c=mb()|0;else{x=0;Qa(74,c|0,41115,20);m=x;x=0;do if(m&1)c=mb()|0;else{x=0;Ua(31,b|0,h|0,f|0,c|0);m=x;x=0;if(m&1){m=mb()|0;P1(c);c=m;break}else{P1(c);P1(f);P1(h);break a}}while(0);P1(f)}P1(h);m=c;yb(m|0)}while(0);if(Up(b,1,0)|0){m=b+28|0;k[a>>2]=k[m>>2];k[a+4>>2]=k[m+4>>2];k[a+8>>2]=k[m+8>>2];r=e;return}cr(b,1,0)|0;lE(j,39906,11);x=0;Qa(74,g|0,39918,7);m=x;x=0;if(m&1)c=mb()|0;else{x=0;Qa(74,d|0,41136,27);m=x;x=0;do if(m&1)c=mb()|0;else{x=0;Ua(31,b|0,j|0,g|0,d|0);m=x;x=0;if(m&1){c=mb()|0;P1(d);break}P1(d);P1(g);P1(j);m=b+28|0;k[a>>2]=k[m>>2];k[a+4>>2]=k[m+4>>2];k[a+8>>2]=k[m+8>>2];r=e;return}while(0);P1(g)}P1(j);m=c;yb(m|0)}function Hk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,m=0,n=0;n=b;if(!(e&4)){k=a;m=0}else if((n-a|0)>2)if((i[a>>0]|0)==-17)if((i[a+1>>0]|0)==-69){k=(i[a+2>>0]|0)==-65?a+3|0:a;m=0}else{k=a;m=0}else{k=a;m=0}else{k=a;m=0}a:while(1){if(!(m>>>0>>0&k>>>0>>0)){e=k;f=40;break}e=i[k>>0]|0;j=e&255;do if(e<<24>>24>-1){if(j>>>0>d>>>0){e=k;f=40;break a}e=k+1|0}else{if((e&255)<194){e=k;f=40;break a}if((e&255)<224){if((n-k|0)<2){e=k;f=40;break a}e=l[k+1>>0]|0;if((e&192|0)!=128){e=k;f=40;break a}if((e&63|j<<6&1984)>>>0>d>>>0){e=k;f=40;break a}e=k+2|0;break}if((e&255)<240){e=k;if((n-e|0)<3){e=k;f=40;break a}g=i[k+1>>0]|0;f=i[k+2>>0]|0;switch(j|0){case 224:{if((g&-32)<<24>>24!=-96){f=20;break a}break}case 237:{if((g&-32)<<24>>24!=-128){f=22;break a}break}default:if((g&-64)<<24>>24!=-128){f=24;break a}}e=f&255;if((e&192|0)!=128){e=k;f=40;break a}if(((g&255)<<6&4032|j<<12&61440|e&63)>>>0>d>>>0){e=k;f=40;break a}else{e=k+3|0;break}}if((e&255)>=245){e=k;f=40;break a}e=k;if((n-e|0)<4){e=k;f=40;break a}h=i[k+1>>0]|0;f=i[k+2>>0]|0;g=i[k+3>>0]|0;switch(j|0){case 240:{if((h+112&255)>=48){f=31;break a}break}case 244:{if((h&-16)<<24>>24!=-128){f=33;break a}break}default:if((h&-64)<<24>>24!=-128){f=35;break a}}f=f&255;if((f&192|0)!=128){e=k;f=40;break a}e=g&255;if((e&192|0)!=128){e=k;f=40;break a}if(((h&255)<<12&258048|j<<18&1835008|f<<6&4032|e&63)>>>0>d>>>0){e=k;f=40;break a}else e=k+4|0}while(0);k=e;m=m+1|0}if((f|0)==20)e=e-a|0;else if((f|0)==22)e=e-a|0;else if((f|0)==24)e=e-a|0;else if((f|0)==31)e=e-a|0;else if((f|0)==33)e=e-a|0;else if((f|0)==35)e=e-a|0;else if((f|0)==40)e=e-a|0;return e|0}function Ik(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;h=a+4|0;g=k[b>>2]|0;b=g;if((g|0)!=(h|0)){f=k[d>>2]|0;e=k[g+16>>2]|0;if((OG(f,e)|0)>=0){if((OG(e,f)|0)>=0){k[c>>2]=b;return c|0}a=g+4|0;b=k[a>>2]|0;d=(b|0)==0;if(d){e=g;while(1){b=k[e+8>>2]|0;if((k[b>>2]|0)==(e|0))break;else e=b}}else while(1){e=k[b>>2]|0;if(!e)break;else b=e}if((b|0)!=(h|0))if((OG(f,k[b+16>>2]|0)|0)>=0){b=k[h>>2]|0;if(!b){k[c>>2]=h;c=h;return c|0}else a=b;while(1){b=k[a+16>>2]|0;if((OG(f,b)|0)<0){b=k[a>>2]|0;if(!b){e=a;b=a;f=33;break}}else{if((OG(b,f)|0)>=0){b=a;f=38;break}e=a+4|0;b=k[e>>2]|0;if(!b){b=a;f=37;break}}a=b}if((f|0)==33){k[c>>2]=b;c=e;return c|0}else if((f|0)==37){k[c>>2]=b;c=e;return c|0}else if((f|0)==38){k[c>>2]=b;return c|0}}if(d){k[c>>2]=g;c=a;return c|0}else{k[c>>2]=b;c=b;return c|0}}}if((g|0)!=(k[a>>2]|0)){b=k[g>>2]|0;if(!b){e=g;while(1){b=k[e+8>>2]|0;if((k[b>>2]|0)==(e|0))e=b;else break}}else while(1){e=k[b+4>>2]|0;if(!e)break;else b=e}d=k[d>>2]|0;if((OG(k[b+16>>2]|0,d)|0)>=0){b=k[h>>2]|0;if(!b){k[c>>2]=h;c=h;return c|0}else a=b;while(1){b=k[a+16>>2]|0;if((OG(d,b)|0)<0){b=k[a>>2]|0;if(!b){e=a;b=a;f=14;break}}else{if((OG(b,d)|0)>=0){b=a;f=19;break}e=a+4|0;b=k[e>>2]|0;if(!b){b=a;f=18;break}}a=b}if((f|0)==14){k[c>>2]=b;c=e;return c|0}else if((f|0)==18){k[c>>2]=b;c=e;return c|0}else if((f|0)==19){k[c>>2]=b;return c|0}}}if(!(k[g>>2]|0)){k[c>>2]=g;c=g;return c|0}else{h=b;k[c>>2]=h;c=h+4|0;return c|0}return 0}function Jk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;m=0;q=r;r=r+128|0;n=q+80|0;s=q+68|0;e=q+56|0;o=q+16|0;p=q;k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;c=k[b+72>>2]|0;l=(k[b+76>>2]|0)-c>>2;a:do if(!l)m=3;else{f=b+72|0;g=e+8|0;h=e+1|0;j=e+4|0;d=0;while(1){c=k[c+(d<<2)>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a|0)|0;t=x;x=0;if(t&1){m=4;break}if(c|0){x=0;sa(k[(k[c>>2]|0)+24>>2]|0,e|0,c|0);t=x;x=0;if(t&1){m=4;break}t=i[e>>0]|0;c=(t&1)==0;x=0;xa(46,s|0,(c?h:k[g>>2]|0)|0,(c?(t&255)>>>1:k[j>>2]|0)|0)|0;t=x;x=0;if(t&1)break;P1(e)}d=d+1|0;if(d>>>0>=l>>>0){m=3;break a}c=k[f>>2]|0}if((m|0)==4){c=mb()|0;break}t=mb()|0;P1(e);P1(s);yb(t|0)}while(0);if((m|0)==3){e=k[a+4>>2]|0;x=0;f=Ka(856,e|0,76)|0;t=x;x=0;if(!(t&1)){g=o;c=b+8|0;d=g+40|0;do{k[g>>2]=k[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(d|0));x=0;sa(430,p|0,s|0);t=x;x=0;if(!(t&1)){x=0;g=n;c=o;d=g+40|0;do{k[g>>2]=k[c>>2];g=g+4|0;c=c+4|0}while((g|0)<(d|0));qa(5,f|0,n|0,p|0,0,0);t=x;x=0;if(!(t&1)){x=0;c=Ka(857,e|0,f|0)|0;t=x;x=0;if(!(t&1)){P1(p);P1(s);r=q;return c|0}}t=mb()|0;P1(p);P1(s);yb(t|0)}}c=mb()|0}t=c;P1(s);yb(t|0);return 0}function Kk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0.0,j=0.0,l=0,m=0,n=0,p=0,q=0,r=0;m=c+8|0;d=k[m>>2]|0;if(!d)d=0;else d=tc[k[(k[d>>2]|0)+8>>2]&511](d)|0;r=c+4|0;k[r>>2]=d;q=b+4|0;p=k[q>>2]|0;n=(p|0)==0;a:do if(n)e=0;else{l=p+-1|0;f=(l&p|0)==0;if(f)e=l&d;else e=(d>>>0)%(p>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d){d=k[d>>2]|0;if(d)if(f){while(1){if((k[d+4>>2]&l|0)!=(e|0))break a;f=k[d+8>>2]|0;g=k[m>>2]|0;if((f|0)!=0&(g|0)!=0)if(Jc[k[(k[f>>2]|0)+76>>2]&1023](f,g)|0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(e|0))break a;f=k[d+8>>2]|0;g=k[m>>2]|0;if((f|0)!=0&(g|0)!=0)if(Jc[k[(k[f>>2]|0)+76>>2]&1023](f,g)|0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}}while(0);l=b+12|0;h=+(((k[l>>2]|0)+1|0)>>>0);j=+o[b+16>>2];do if(n|h>+(p>>>0)*j){if(p>>>0>2)d=(p+-1&p|0)==0;else d=0;f=(d&1|p<<1)^1;d=~~+ha(+(h/j))>>>0;jv(b,f>>>0>>0?d:f);f=k[q>>2]|0;d=k[r>>2]|0;e=f+-1|0;if(!(e&f)){g=f;e=e&d;break}else{g=f;e=(d>>>0)%(f>>>0)|0;break}}else g=p;while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Lk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;h=i;b=Ot(b,64,496,0)|0;if(!b){h=0;g=0;h=g&h;r=i;return h|0}e=k[a+84>>2]|0;f=k[a+80>>2]|0;c=f;g=e;if((e-f|0)!=((k[b+84>>2]|0)-(k[b+80>>2]|0)|0)){h=0;g=1;h=g&h;r=i;return h|0}if((c|0)==(g|0)){h=1;g=1;h=g&h;r=i;return h|0}f=a+60|0;e=b+60|0;while(1){a=k[c>>2]|0;k[h>>2]=a;if(!(yq(f,h)|0))d=68536;else{b=yq(f,h)|0;if(!b){c=8;break}d=k[b+12>>2]|0}k[h>>2]=a;if(!(yq(e,h)|0))b=68536;else{b=yq(e,h)|0;if(!b){c=14;break}b=k[b+12>>2]|0}if(!((d|0)!=0&(b|0)!=0)){b=0;a=1;c=20;break}c=c+4|0;if(!(Jc[k[(k[d>>2]|0)+76>>2]&1023](d,b)|0)){b=0;a=1;c=20;break}if((c|0)==(g|0)){b=1;a=1;c=20;break}}if((c|0)==8){b=vb(8)|0;x=0;sa(441,b|0,26731);i=x;x=0;if(i&1){i=mb()|0;lb(b|0);yb(i|0)}else{k[b>>2]=24932;Wb(b|0,4448,308)}}else if((c|0)==14){b=vb(8)|0;x=0;sa(441,b|0,26731);i=x;x=0;if(i&1){i=mb()|0;lb(b|0);yb(i|0)}else{k[b>>2]=24932;Wb(b|0,4448,308)}}else if((c|0)==20){h=a&b;r=i;return h|0}return 0}function Mk(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;h=a+4|0;g=k[b>>2]|0;b=g;if((g|0)!=(h|0)){f=k[d>>2]|0;e=k[g+16>>2]|0;if((f|0)>=(e|0)){if((e|0)>=(f|0)){k[c>>2]=b;return c|0}a=g+4|0;b=k[a>>2]|0;d=(b|0)==0;if(d){e=g;while(1){b=k[e+8>>2]|0;if((k[b>>2]|0)==(e|0))break;else e=b}}else while(1){e=k[b>>2]|0;if(!e)break;else b=e}if((b|0)!=(h|0))if((f|0)>=(k[b+16>>2]|0)){b=k[h>>2]|0;if(!b){k[c>>2]=h;c=h;return c|0}else a=b;while(1){b=k[a+16>>2]|0;if((f|0)<(b|0)){b=k[a>>2]|0;if(!b){e=a;b=a;f=33;break}}else{if((b|0)>=(f|0)){b=a;f=38;break}e=a+4|0;b=k[e>>2]|0;if(!b){b=a;f=37;break}}a=b}if((f|0)==33){k[c>>2]=b;c=e;return c|0}else if((f|0)==37){k[c>>2]=b;c=e;return c|0}else if((f|0)==38){k[c>>2]=b;return c|0}}if(d){k[c>>2]=g;c=a;return c|0}else{k[c>>2]=b;c=b;return c|0}}}if((g|0)!=(k[a>>2]|0)){b=k[g>>2]|0;if(!b){e=g;while(1){b=k[e+8>>2]|0;if((k[b>>2]|0)==(e|0))e=b;else break}}else while(1){e=k[b+4>>2]|0;if(!e)break;else b=e}d=k[d>>2]|0;if((k[b+16>>2]|0)>=(d|0)){b=k[h>>2]|0;if(!b){k[c>>2]=h;c=h;return c|0}else a=b;while(1){b=k[a+16>>2]|0;if((d|0)<(b|0)){b=k[a>>2]|0;if(!b){e=a;b=a;f=14;break}}else{if((b|0)>=(d|0)){b=a;f=19;break}e=a+4|0;b=k[e>>2]|0;if(!b){b=a;f=18;break}}a=b}if((f|0)==14){k[c>>2]=b;c=e;return c|0}else if((f|0)==18){k[c>>2]=b;c=e;return c|0}else if((f|0)==19){k[c>>2]=b;return c|0}}}if(!(k[g>>2]|0)){k[c>>2]=g;c=g;return c|0}else{h=b;k[c>>2]=h;c=h+4|0;return c|0}return 0}function Nk(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,j=0,l=0,m=0,n=0,o=0;m=a+4|0;n=k[b>>2]|0;b=n;if((n|0)!=(m|0)){f=n+16|0;j=i[d>>0]|0;l=(j&1)==0;j=l?(j&255)>>>1:k[d+4>>2]|0;e=i[f>>0]|0;g=(e&1)==0;e=g?(e&255)>>>1:k[n+20>>2]|0;l=l?d+1|0:k[d+8>>2]|0;f=g?f+1|0:k[n+24>>2]|0;g=e>>>0>>0;o=tG(l,f,g?e:j)|0;h=j>>>0>>0;if((((o|0)==0?(h?-2147483648:0):o)|0)>=0){o=tG(f,l,h?j:e)|0;if((((o|0)==0?(g?-2147483648:0):o)|0)>=0){k[c>>2]=b;o=c;return o|0}f=n+4|0;b=k[f>>2]|0;g=(b|0)==0;if(g){e=n;while(1){b=k[e+8>>2]|0;if((k[b>>2]|0)==(e|0))break;else e=b}}else while(1){e=k[b>>2]|0;if(!e)break;else b=e}if((b|0)!=(m|0)){o=b+16|0;m=i[o>>0]|0;h=(m&1)==0;m=h?(m&255)>>>1:k[b+20>>2]|0;o=tG(l,h?o+1|0:k[b+24>>2]|0,m>>>0>>0?m:j)|0;if((((o|0)==0?(j>>>0>>0?-2147483648:0):o)|0)>=0){o=nu(a,c,d)|0;return o|0}}if(g){k[c>>2]=n;o=f;return o|0}else{k[c>>2]=b;o=b;return o|0}}}if((n|0)!=(k[a>>2]|0)){b=k[n>>2]|0;if(!b){e=n;while(1){b=k[e+8>>2]|0;if((k[b>>2]|0)==(e|0))e=b;else break}}else while(1){e=k[b+4>>2]|0;if(!e)break;else b=e}j=b+16|0;l=i[j>>0]|0;h=(l&1)==0;l=h?(l&255)>>>1:k[b+20>>2]|0;m=i[d>>0]|0;o=(m&1)==0;m=o?(m&255)>>>1:k[d+4>>2]|0;o=tG(h?j+1|0:k[b+24>>2]|0,o?d+1|0:k[d+8>>2]|0,m>>>0>>0?m:l)|0;if((((o|0)==0?(l>>>0>>0?-2147483648:0):o)|0)>=0){o=nu(a,c,d)|0;return o|0}}if(!(k[n>>2]|0)){k[c>>2]=n;o=n;return o|0}else{o=b;k[c>>2]=o;o=o+4|0;return o|0}return 0}function Ok(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+96|0;o=s;p=s+56|0;q=s+40|0;n=k[b+56>>2]|0;i[n+48>>0]=i[b+48>>0]|0;n=Jc[k[(k[n>>2]|0)+40>>2]&1023](n,a)|0;i[n+48>>0]=0;m=j[b+72>>1]|0;g=(m&65535)>255;if(!((m&255)<<24>>24)){e=g;g=0;f=n}else{c=k[n+52>>2]|0;if((c|0)==6){e=1;g=0;f=n}else if((c|0)==5){e=g;g=1;f=n}else{c=(k[a+8>>2]|0)+36|0;d=lD(c,84)|0;h=o;l=n+8|0;m=h+40|0;do{k[h>>2]=k[l>>2];h=h+4|0;l=l+4|0}while((h|0)<(m|0));k[d+4>>2]=0;h=d+8|0;l=o;m=h+40|0;do{k[h>>2]=k[l>>2];h=h+4|0;l=l+4|0}while((h|0)<(m|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+60>>2]=0;k[d+64>>2]=0;k[d+68>>2]=0;k[d>>2]=4992;k[d+56>>2]=5104;k[d+76>>2]=0;i[d+80>>0]=1;i[d+81>>0]=0;k[d+52>>2]=5;f=N4(c,d)|0;c=f+56|0;k[o>>2]=n;k[f+72>>2]=0;d=f+64|0;e=k[d>>2]|0;if((e|0)==(k[f+68>>2]|0))uw(f+60|0,o);else{k[e>>2]=n;k[d>>2]=(k[d>>2]|0)+4}rc[k[k[c>>2]>>2]&1023](c,n);e=g;g=1}}c=(k[a+8>>2]|0)+36|0;d=lD(c,80)|0;h=p;l=b+8|0;m=h+40|0;do{k[h>>2]=k[l>>2];h=h+4|0;l=l+4|0}while((h|0)<(m|0));_G(q,b+60|0);x=0;h=o;l=p;m=h+40|0;do{k[h>>2]=k[l>>2];h=h+4|0;l=l+4|0}while((h|0)<(m|0));Ba(11,d|0,o|0,f|0,q|0,g|0,e|0);b=x;x=0;if(b&1){s=mb()|0;P1(q);yb(s|0)}x=0;c=Ka(857,c|0,d|0)|0;b=x;x=0;if(b&1){s=mb()|0;P1(q);yb(s|0)}else{P1(q);r=s;return c|0}return 0}function Pk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+64|0;j=m;h=m+52|0;l=m+40|0;if(ms(a,1,0)|0){c=a+152|0;k[j>>2]=k[c>>2];k[j+4>>2]=k[c+4>>2];k[j+8>>2]=k[c+8>>2];c=yd(a,j,0)|0;if(c|0){d=(k[a+40>>2]|0)+36|0;b=lD(d,60)|0;e=j;f=a+108|0;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[b+4>>2]=0;e=b+8|0;f=j;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;k[b+52>>2]=0;k[b>>2]=11552;k[b+56>>2]=c;b=N4(d,b)|0;if(b|0){a=b;r=m;return a|0}}}if(!(ar(a,1,0)|0)){a=0;r=m;return a|0}zt(a,1,0)|0;b=yn(a)|0;do if(!b){b=Ur(a)|0;if(!($q(a,1,0)|0)){lE(l,42141,45);h=a+108|0;x=0;k[j>>2]=k[h>>2];k[j+4>>2]=k[h+4>>2];k[j+8>>2]=k[h+8>>2];Qa(135,a|0,l|0,j|0);j=x;x=0;if(!(j&1)){P1(l);break}m=mb()|0;P1(l);yb(m|0)}}else if(!($q(a,1,0)|0)){lE(h,42141,45);l=a+108|0;x=0;k[j>>2]=k[l>>2];k[j+4>>2]=k[l+4>>2];k[j+8>>2]=k[l+8>>2];Qa(135,a|0,h|0,j|0);l=x;x=0;if(!(l&1)){P1(h);break}m=mb()|0;P1(h);yb(m|0)}while(0);zt(a,1,0)|0;a=b;r=m;return a|0}function Qk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=0;n=r;r=r+32|0;o=n+12|0;m=n;_G(o,b+60|0);l=a+4|0;a:do if(!(i[b+58>>0]|0))p=19;else{x=0;c=ua(227,l|0)|0;j=x;x=0;if(j&1)p=17;else if((c|0)==3){f=i[o>>0]|0;c=(f&1)==0;g=o+8|0;h=o+1|0;d=c?h:k[g>>2]|0;j=o+4|0;f=c?(f&255)>>>1:k[j>>2]|0;c=d+f|0;b:do if(!f)p=8;else{while(1){x=0;e=ua(229,i[d>>0]|0)|0;f=x;x=0;if(f&1)break;if(e|0){p=8;break b}d=d+1|0;if((d|0)==(c|0))break b}c=mb()|0;break a}while(0);c:do if((p|0)==8)if((d|0)!=(c|0)){e=d+1|0;if((e|0)==(c|0))c=d;else{while(1){x=0;f=ua(229,i[e>>0]|0)|0;q=x;x=0;if(q&1)break;if(!f){i[d>>0]=i[e>>0]|0;d=d+1|0}e=e+1|0;if((e|0)==(c|0)){c=d;break c}}c=mb()|0;break a}}while(0);q=c;p=i[o>>0]|0;f=(p&1)==0;h=f?h:k[g>>2]|0;x=0;xa(51,o|0,q-h|0,h+(f?(p&255)>>>1:k[j>>2]|0)-q|0)|0;q=x;x=0;if(q&1)p=17;else p=19}else p=19}while(0);do if((p|0)==19){if(i[a+96>>0]|0){x=0;Qa(134,l|0,o|0,b|0);q=x;x=0;if(q&1){p=17;break}P1(o);r=n;return}x=0;sa(497,m|0,o|0);q=x;x=0;if(q&1)p=17;else{x=0;Qa(134,l|0,m|0,b|0);q=x;x=0;if(q&1){q=mb()|0;P1(m);P1(o);yb(q|0)}else{P1(m);P1(o);r=n;return}}}while(0);if((p|0)==17)c=mb()|0;q=c;P1(o);yb(q|0)}function Rk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;s=t;q=a+4|0;j=k[q>>2]|0;l=lD(j,84)|0;n=b+72|0;o=b+76|0;m=(k[o>>2]|0)-(k[n>>2]|0)|0;h=m>>2;g=s;e=b+8|0;f=g+40|0;do{k[g>>2]=k[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(f|0));k[l+4>>2]=0;g=l+8|0;e=s;f=g+40|0;do{k[g>>2]=k[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(f|0));i[l+48>>0]=0;i[l+49>>0]=0;i[l+50>>0]=0;c=l+52|0;k[c>>2]=0;k[l>>2]=10312;d=l+56|0;k[d>>2]=5132;e=l+60|0;k[e>>2]=0;f=l+64|0;k[f>>2]=0;g=l+68|0;k[g>>2]=0;if(h|0){p=GG(m)|0;m=p;k[e>>2]=m;k[f>>2]=m;k[g>>2]=p+(h<<2)}k[l>>2]=4992;k[d>>2]=5104;k[l+76>>2]=0;i[l+80>>0]=0;i[l+81>>0]=0;k[c>>2]=5;p=N4(j,l)|0;i[p+81>>0]=1;e=k[n>>2]|0;o=(k[o>>2]|0)-e>>2;a:do if(!o){d=p+64|0;c=p+60|0}else{j=b+72|0;l=p+56|0;m=p+72|0;d=p+64|0;n=p+68|0;c=p+60|0;f=e;h=0;while(1){e=k[f+(h<<2)>>2]|0;if(e|0){e=Jc[k[(k[e>>2]|0)+40>>2]&1023](e,a)|0;k[s>>2]=e;f=e;if(e|0){k[m>>2]=0;g=k[d>>2]|0;if((g|0)==(k[n>>2]|0))uw(c,s);else{k[g>>2]=f;k[d>>2]=(k[d>>2]|0)+4}rc[k[k[l>>2]>>2]&1023](l,e)}}e=h+1|0;if((e|0)==(o|0))break a;f=k[j>>2]|0;h=e}}while(0);if((k[d>>2]|0)!=(k[c>>2]|0)){s=p;r=t;return s|0}c=k[q>>2]|0;d=lD(c,56)|0;g=s;e=p+8|0;f=g+40|0;do{k[g>>2]=k[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(f|0));k[d+4>>2]=0;g=d+8|0;e=s;f=g+40|0;do{k[g>>2]=k[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(f|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d>>2]=6380;k[d+52>>2]=8;s=N4(c,d)|0;r=t;return s|0}function Sk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;l=r;r=r+80|0;j=l+40|0;h=l+24|0;f=l+12|0;g=l;b=sy(b,a)|0;b=k[b>>2]|0;if(b|0){b=Ot(b,8,432,0)|0;if(b|0){j=b;r=l;return j|0}}lE(h,36764,10);b=i[a>>0]|0;m=(b&1)==0;x=0;xa(46,h|0,(m?a+1|0:k[a+8>>2]|0)|0,(m?(b&255)>>>1:k[a+4>>2]|0)|0)|0;a=x;x=0;if(!(a&1)){x=0;Ka(866,h|0,36775)|0;m=x;x=0;if(!(m&1)){x=0;Ka(866,h|0,c|0)|0;m=x;x=0;if(!(m&1)){x=0;Ka(866,h|0,36782)|0;m=x;x=0;if(!(m&1)){x=0;Qa(74,f|0,37472,6);m=x;x=0;if(!(m&1)){m=i[f>>0]|0;c=(m&1)==0;x=0;xa(46,h|0,(c?f+1|0:k[f+8>>2]|0)|0,(c?(m&255)>>>1:k[f+4>>2]|0)|0)|0;m=x;x=0;if(m&1){m=mb()|0;P1(f);P1(h);yb(m|0)}P1(f);x=0;sa(430,g|0,h|0);m=x;x=0;if(!(m&1)){x=0;f=j;b=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(b|0));Qa(100,g|0,j|0,e|0);m=x;x=0;if(m&1){m=mb()|0;P1(g);P1(h);yb(m|0)}else{P1(g);P1(h);m=0;r=l;return m|0}}}}}}}m=mb()|0;P1(h);yb(m|0);return 0} -function Ng(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=0;u=r;r=r+160|0;o=u+148|0;b=u+144|0;s=u+104|0;v=u+92|0;g=u+80|0;l=u+68|0;n=u+56|0;q=u+16|0;t=u;k[b>>2]=4;p=a+60|0;c=k[p>>2]|0;if(c>>>0<(k[a+64>>2]|0)>>>0){k[c>>2]=4;k[p>>2]=c+4}else Bw(a+56|0,b);m=a+108|0;b=s;h=m;j=b+40|0;do{k[b>>2]=k[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(j|0));Gk(o,a);c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(g);w=8}else if(f>>>0<11){i[g>>0]=f<<1;b=g+1|0}else w=8;if((w|0)==8){j=f+16&-16;b=GG(j)|0;k[g+8>>2]=b;k[g>>2]=j|1;k[g+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;x=0;sa(492,v|0,g|0);j=x;x=0;if(j&1){w=mb()|0;P1(g);yb(w|0)}P1(g);x=0;b=xa(91,a|0,1,0)|0;j=x;x=0;a:do if(j&1)w=19;else{do if(!b){x=0;Qa(74,l|0,41164,41);j=x;x=0;if(j&1){w=19;break a}x=0;k[o>>2]=k[m>>2];k[o+4>>2]=k[m+4>>2];k[o+8>>2]=k[m+8>>2];Qa(135,a|0,l|0,o|0);j=x;x=0;if(j&1){b=mb()|0;P1(l);break a}else{P1(l);break}}while(0);x=0;l=ua(243,a|0)|0;j=x;x=0;if(j&1)w=19;else{i[l+48>>0]=0;x=0;b=xa(92,a|0,1,0)|0;j=x;x=0;if(j&1)w=19;else{do if(!b){x=0;b=xa(93,a|0,1,0)|0;j=x;x=0;if(j&1){w=19;break a}if(!b){x=0;Qa(74,n|0,41206,52);j=x;x=0;if(j&1){w=19;break a}x=0;k[o>>2]=k[m>>2];k[o+4>>2]=k[m+4>>2];k[o+8>>2]=k[m+8>>2];Qa(135,a|0,n|0,o|0);o=x;x=0;if(o&1){b=mb()|0;P1(n);break a}else{P1(n);g=0;break}}else g=0}else g=1;while(0);x=0;e=ua(243,a|0)|0;o=x;x=0;if(o&1)w=19;else{i[e+48>>0]=0;b=a+164|0;c=i[b>>0]|0;i[b>>0]=0;x=0;f=Ka(900,a|0,0)|0;o=x;x=0;if(o&1){w=mb()|0;i[b>>0]=c;b=w;w=20;break}i[b>>0]=c;k[p>>2]=(k[p>>2]|0)+-4;c=(k[a+40>>2]|0)+36|0;x=0;d=Ka(856,c|0,92)|0;a=x;x=0;if(a&1)w=19;else{b=q;h=s;j=b+40|0;do{k[b>>2]=k[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(j|0));x=0;sa(430,t|0,v|0);s=x;x=0;if(s&1)w=19;else{k[d+4>>2]=0;b=d+8|0;h=q;j=b+40|0;do{k[b>>2]=k[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(j|0));b=d+52|0;k[b>>2]=0;k[d+56>>2]=0;i[d+60>>0]=0;k[d+64>>2]=f;k[d>>2]=15512;x=0;sa(430,d+68|0,t|0);s=x;x=0;if(!(s&1)){k[d+80>>2]=l;k[d+84>>2]=e;i[d+88>>0]=g;k[b>>2]=21;x=0;b=Ka(857,c|0,d|0)|0;s=x;x=0;if(!(s&1)){P1(t);P1(v);r=u;return b|0}}b=mb()|0;P1(t)}}}}}}while(0);if((w|0)==19){b=mb()|0;w=20}P1(v);w=b;yb(w|0);return 0}function Og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+176|0;e=m+160|0;l=m+16|0;h=m;k[a>>2]=17048;n=l+64|0;d=l+8|0;k[d>>2]=8236;j=l+12|0;k[l>>2]=8440;k[n>>2]=8460;k[l+4>>2]=0;x=0;sa(452,l+64|0,j|0);g=x;x=0;if(g&1)d=mb()|0;else{k[l+136>>2]=0;k[l+140>>2]=-1;k[l>>2]=8216;k[n>>2]=8256;k[d>>2]=8236;x=0;ra(324,j|0);g=x;x=0;do if(g&1)d=mb()|0;else{k[j>>2]=8272;g=l+44|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[l+60>>2]=24;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;x=0;sa(453,j|0,e|0);f=x;x=0;if(f&1){d=mb()|0;P1(e);P1(g);D2(j);break}P1(e);f=l+8|0;x=0;xa(49,f|0,44738,20)|0;e=x;x=0;if(!(e&1)){x=0;e=xa(49,f|0,44759,1)|0;d=x;x=0;if(!(d&1)){do switch(b|0){case 5:{d=44676;break}case 4:{d=44679;break}case 2:{d=44682;break}case 3:{d=44685;break}case 1:{d=44688;break}case 0:{d=44691;break}case 256:{d=44694;break}case 257:{d=44698;break}case 258:{d=44703;break}case 259:{d=44707;break}case 512:{d=44712;break}case 513:{d=44714;break}case 768:{d=44717;break}case 769:{d=44720;break}case 1024:{d=44724;break}case 1025:{d=44728;break}case 1026:{d=44733;break}default:d=78097}while(0);b=OD(d)|0;x=0;d=xa(49,e|0,d|0,b|0)|0;b=x;x=0;if(!(b&1)){x=0;xa(49,d|0,44761,6)|0;b=x;x=0;if(!(b&1)){x=0;e=xa(49,f|0,44759,1)|0;b=x;x=0;if(!(b&1)){do switch(c|0){case 5:{d=44676;break}case 4:{d=44679;break}case 2:{d=44682;break}case 3:{d=44685;break}case 1:{d=44688;break}case 0:{d=44691;break}case 256:{d=44694;break}case 257:{d=44698;break}case 258:{d=44703;break}case 259:{d=44707;break}case 512:{d=44712;break}case 513:{d=44714;break}case 768:{d=44717;break}case 769:{d=44720;break}case 1024:{d=44724;break}case 1025:{d=44728;break}case 1026:{d=44733;break}default:d=78097}while(0);c=OD(d)|0;x=0;d=xa(49,e|0,d|0,c|0)|0;c=x;x=0;if(!(c&1)){x=0;xa(49,d|0,44759,1)|0;c=x;x=0;if(!(c&1)){x=0;sa(454,h|0,j|0);c=x;x=0;if(!(c&1)){k[a+4>>2]=(i[h>>0]&1)==0?h+1|0:k[h+8>>2]|0;P1(h);k[l>>2]=8216;k[n>>2]=8256;k[f>>2]=8236;k[j>>2]=8272;P1(g);D2(j);P9(n);r=m;return}}}}}}}}m=mb()|0;k[l>>2]=8216;k[n>>2]=8256;k[f>>2]=8236;k[j>>2]=8272;P1(g);D2(j);P9(n);n=m;yb(n|0)}while(0)}P9(n);n=d;yb(n|0)}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;f=0;z=r;r=r+16|0;y=z+6|0;s=z+3|0;q=z;if(!b){i[a>>0]=0;k[a+4>>2]=3;A=a+8|0;k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;k[A+12>>2]=0;r=z;return}A=GG(36)|0;k[A+4>>2]=0;k[A+8>>2]=0;k[A>>2]=14520;u=A+12|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;k[u+12>>2]=0;k[u+16>>2]=0;k[u+20>>2]=0;v=u;w=A;c3(A);CQ(A);e=b+57|0;t=i[e>>0]|0;g=t<<24>>24!=0;d=k[b+72>>2]|0;if(!d)f=8;else{x=0;d=ua(k[(k[d>>2]|0)+96>>2]|0,d|0)|0;p=x;x=0;if(p&1){z=mb()|0;CQ(A);yb(z|0)}if(d){b=k[b+76>>2]|0;if(b|0){i[b+57>>0]=i[e>>0]|0;f=8}}else f=8}a:do if((f|0)==8){m=A+20|0;n=A+16|0;o=A+28|0;p=A+32|0;d=g;while(1){e=k[b+72>>2]|0;g=(e|0)==0;if(!g){f=k[e+72>>2]|0;if(((k[e+76>>2]|0)-f|0)==4){e=k[f>>2]|0;if(!e)e=0;else e=(Ot(e,96,736,0)|0)!=0}else e=0;if(!(e|g)){c3(A);x=0;j=Ka(890,b|0,c|0)|0;l=x;x=0;if(l&1){f=23;break}k[j+76>>2]=0;k[j+68>>2]=0;l=i[b+57>>0]|0;h=k[m>>2]|0;g=k[n>>2]|0;B=h-g>>2;f=k[o>>2]|0;e=k[p>>2]|0;if((((B|0)==0?0:(B*170|0)+-1|0)|0)==(e+f|0)){x=0;ra(336,u|0);B=x;x=0;if(B&1){f=24;break}e=k[p>>2]|0;f=k[o>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0}e=e+f|0;if((h|0)==(g|0))e=0;else e=(k[g+(((e>>>0)/170|0)<<2)>>2]|0)+(((e>>>0)%170|0)*24|0)|0;i[e>>0]=l;B=e+1|0;i[B>>0]=i[s>>0]|0;i[B+1>>0]=i[s+1>>0]|0;i[B+2>>0]=i[s+2>>0]|0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=j;k[e+16>>2]=0;k[e+20>>2]=0;k[p>>2]=(k[p>>2]|0)+1;CQ(A);if(d){c3(A);d=(k[p>>2]|0)+-1+(k[o>>2]|0)|0;i[(k[(k[n>>2]|0)+(((d>>>0)/170|0)<<2)>>2]|0)+(((d>>>0)%170|0)*24|0)>>0]=1;CQ(A);d=0}else d=0}}e=b+68|0;if(k[e>>2]|0){c3(A);j=k[e>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;B=h-g>>2;f=k[o>>2]|0;e=k[p>>2]|0;if((((B|0)==0?0:(B*170|0)+-1|0)|0)==(e+f|0)){x=0;ra(336,u|0);B=x;x=0;if(B&1){f=34;break}e=k[p>>2]|0;f=k[o>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0}e=e+f|0;if((h|0)==(g|0))e=0;else e=(k[g+(((e>>>0)/170|0)<<2)>>2]|0)+(((e>>>0)%170|0)*24|0)|0;i[e>>0]=0;B=e+1|0;i[B>>0]=i[q>>0]|0;i[B+1>>0]=i[q+1>>0]|0;i[B+2>>0]=i[q+2>>0]|0;k[e+4>>2]=1;k[e+8>>2]=j;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[p>>2]=(k[p>>2]|0)+1;CQ(A);if(d){c3(A);d=(k[p>>2]|0)+-1+(k[o>>2]|0)|0;i[(k[(k[n>>2]|0)+(((d>>>0)/170|0)<<2)>>2]|0)+(((d>>>0)%170|0)*24|0)>>0]=1;CQ(A);d=0}else d=0}b=k[b+76>>2]|0;if(!b)break a}if((f|0)==23)b=mb()|0;else if((f|0)==24)b=mb()|0;else if((f|0)==34){B=mb()|0;CQ(A);CQ(A);yb(B|0)}CQ(A);B=b;CQ(A);yb(B|0)}while(0);i[a>>0]=t;B=a+1|0;i[B>>0]=i[y>>0]|0;i[B+1>>0]=i[y+1>>0]|0;i[B+2>>0]=i[y+2>>0]|0;k[a+4>>2]=2;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=v;k[a+20>>2]=w;r=z;return}function Qg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;B=0;y=r;r=r+304|0;q=y+200|0;g=y+196|0;A=y+184|0;z=y+172|0;t=y+168|0;v=y+8|0;w=y+4|0;u=y;switch(k[d+4>>2]&74|0){case 64:{s=8;break}case 8:{s=16;break}case 0:{s=0;break}default:s=10}Bv(A,d,q,g);a=0;while(1){if((a|0)==3)break;k[z+(a<<2)>>2]=0;a=a+1|0}if(!(i[z>>0]&1))a=10;else a=(k[z>>2]&-2)+-1|0;x=0;Qa(86,z|0,a|0,0);p=x;x=0;a:do if(p&1)B=33;else{n=z+8|0;o=z+1|0;d=(i[z>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=d;k[w>>2]=v;k[u>>2]=0;p=z+4|0;m=k[g>>2]|0;g=k[b>>2]|0;b:while(1){if(!g){l=0;g=1}else{a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;l=x;x=0;if(l&1){B=32;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;l=0;g=1}else{l=g;g=0}}h=k[c>>2]|0;do if(!h)B=24;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;j=x;x=0;if(j&1){B=32;break b}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;B=24;break}else if(g)break;else{g=l;break b}}while(0);if((B|0)==24){B=0;if(g){g=l;h=0;break}else h=0}g=i[z>>0]|0;g=(g&1)==0?(g&255)>>>1:k[p>>2]|0;if((k[t>>2]|0)==(d+g|0)){x=0;Qa(86,z|0,g<<1|0,0);j=x;x=0;if(j&1){B=32;break}if(!(i[z>>0]&1))a=10;else a=(k[z>>2]&-2)+-1|0;x=0;Qa(86,z|0,a|0,0);j=x;x=0;if(j&1){B=32;break}d=(i[z>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=d+g}g=l+12|0;a=k[g>>2]|0;j=l+16|0;if((a|0)==(k[j>>2]|0)){x=0;a=ua(k[(k[l>>2]|0)+36>>2]|0,l|0)|0;C=x;x=0;if(C&1){B=32;break}}else a=k[a>>2]|0;if(Lo(a,s,d,t,u,m,A,v,w,q)|0){g=l;break}a=k[g>>2]|0;if((a|0)==(k[j>>2]|0)){x=0;ua(k[(k[l>>2]|0)+40>>2]|0,l|0)|0;C=x;x=0;if(C&1){B=32;break}else{g=l;continue}}else{k[g>>2]=a+4;g=l;continue}}if((B|0)==32){a=mb()|0;break}C=i[A>>0]|0;if(((C&1)==0?(C&255)>>>1:k[A+4>>2]|0)|0){a=k[w>>2]|0;if((a-v|0)<160){C=k[u>>2]|0;k[w>>2]=a+4;k[a>>2]=C}}x=0;a=Pa(18,d|0,k[t>>2]|0,e|0,s|0)|0;d=M;C=x;x=0;if(C&1)B=33;else{C=f;k[C>>2]=a;k[C+4>>2]=d;pv(A,v,k[w>>2]|0,e);if(!g)d=1;else{a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;C=x;x=0;if(C&1){B=33;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}do if(!h)B=58;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;C=x;x=0;if(C&1){B=33;break a}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;B=58;break}else if(d)break;else{B=60;break}}while(0);if((B|0)==58)if(d)B=60;if((B|0)==60)k[e>>2]=k[e>>2]|2;C=k[b>>2]|0;P1(z);P1(A);r=y;return C|0}}while(0);if((B|0)==33)a=mb()|0;P1(z);P1(A);yb(a|0);return 0}function Rg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;B=0;y=r;r=r+304|0;q=y+200|0;g=y+196|0;A=y+184|0;z=y+172|0;t=y+168|0;v=y+8|0;w=y+4|0;u=y;switch(k[d+4>>2]&74|0){case 64:{s=8;break}case 8:{s=16;break}case 0:{s=0;break}default:s=10}Bv(A,d,q,g);a=0;while(1){if((a|0)==3)break;k[z+(a<<2)>>2]=0;a=a+1|0}if(!(i[z>>0]&1))a=10;else a=(k[z>>2]&-2)+-1|0;x=0;Qa(86,z|0,a|0,0);p=x;x=0;a:do if(p&1)B=33;else{n=z+8|0;o=z+1|0;d=(i[z>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=d;k[w>>2]=v;k[u>>2]=0;p=z+4|0;m=k[g>>2]|0;g=k[b>>2]|0;b:while(1){if(!g){l=0;g=1}else{a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;l=x;x=0;if(l&1){B=32;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;l=0;g=1}else{l=g;g=0}}h=k[c>>2]|0;do if(!h)B=24;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;j=x;x=0;if(j&1){B=32;break b}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;B=24;break}else if(g)break;else{g=l;break b}}while(0);if((B|0)==24){B=0;if(g){g=l;h=0;break}else h=0}g=i[z>>0]|0;g=(g&1)==0?(g&255)>>>1:k[p>>2]|0;if((k[t>>2]|0)==(d+g|0)){x=0;Qa(86,z|0,g<<1|0,0);j=x;x=0;if(j&1){B=32;break}if(!(i[z>>0]&1))a=10;else a=(k[z>>2]&-2)+-1|0;x=0;Qa(86,z|0,a|0,0);j=x;x=0;if(j&1){B=32;break}d=(i[z>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=d+g}g=l+12|0;a=k[g>>2]|0;j=l+16|0;if((a|0)==(k[j>>2]|0)){x=0;a=ua(k[(k[l>>2]|0)+36>>2]|0,l|0)|0;C=x;x=0;if(C&1){B=32;break}}else a=k[a>>2]|0;if(Lo(a,s,d,t,u,m,A,v,w,q)|0){g=l;break}a=k[g>>2]|0;if((a|0)==(k[j>>2]|0)){x=0;ua(k[(k[l>>2]|0)+40>>2]|0,l|0)|0;C=x;x=0;if(C&1){B=32;break}else{g=l;continue}}else{k[g>>2]=a+4;g=l;continue}}if((B|0)==32){a=mb()|0;break}C=i[A>>0]|0;if(((C&1)==0?(C&255)>>>1:k[A+4>>2]|0)|0){a=k[w>>2]|0;if((a-v|0)<160){C=k[u>>2]|0;k[w>>2]=a+4;k[a>>2]=C}}x=0;a=Pa(14,d|0,k[t>>2]|0,e|0,s|0)|0;d=M;C=x;x=0;if(C&1)B=33;else{C=f;k[C>>2]=a;k[C+4>>2]=d;pv(A,v,k[w>>2]|0,e);if(!g)d=1;else{a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;C=x;x=0;if(C&1){B=33;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}do if(!h)B=58;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;C=x;x=0;if(C&1){B=33;break a}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;B=58;break}else if(d)break;else{B=60;break}}while(0);if((B|0)==58)if(d)B=60;if((B|0)==60)k[e>>2]=k[e>>2]|2;C=k[b>>2]|0;P1(z);P1(A);r=y;return C|0}}while(0);if((B|0)==33)a=mb()|0;P1(z);P1(A);yb(a|0);return 0}function Sg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;E=Nf(a,b,c,e)|0;q=k[d>>2]|0;t=k[c>>2]|0;do if(q>>>0>>0){z=c+4|0;y=d+4|0;A=z;w=y;B=c+8|0;x=d+8|0;y=k[y>>2]|0;z=k[z>>2]|0}else{if(t>>>0>>0){b=E;return b|0}u=d+8|0;p=k[u>>2]|0;e=k[c+4>>2]|0;v=c+8|0;n=k[v>>2]|0;r=e;if((e|0)==(n|0)){b=E;return b|0}o=k[d+4>>2]|0;s=o;while(1){if((o|0)==(p|0)){e=10;break}f=i[o>>0]|0;h=(f&1)==0;f=h?(f&255)>>>1:k[o+4>>2]|0;g=i[e>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:k[e+4>>2]|0;h=h?o+1|0:k[o+8>>2]|0;j=j?e+1|0:k[e+8>>2]|0;l=g>>>0>>0;M=tG(h,j,l?g:f)|0;m=f>>>0>>0;if((((M|0)==0?(m?-2147483648:0):M)|0)<0){e=10;break}M=tG(j,h,m?f:g)|0;if((((M|0)==0?(l?-2147483648:0):M)|0)<0){L=E;e=32;break}e=e+12|0;if((e|0)==(n|0)){L=E;e=32;break}else o=o+12|0}if((e|0)==10){A=c+4|0;w=d+4|0;B=v;x=u;y=s;z=r;break}else if((e|0)==32)return L|0}while(0);k[c>>2]=q;k[d>>2]=t;k[A>>2]=y;k[w>>2]=z;n=k[B>>2]|0;k[B>>2]=k[x>>2];k[x>>2]=n;x=c+12|0;n=d+12|0;r=k[x>>2]|0;k[x>>2]=k[n>>2];k[n>>2]=r;n=E+1|0;r=k[c>>2]|0;s=k[b>>2]|0;do if(r>>>0>>0){D=b+4|0;F=D;G=b+8|0;C=k[A>>2]|0;D=k[D>>2]|0}else{if(s>>>0>>0){M=n;return M|0}o=k[B>>2]|0;e=k[b+4>>2]|0;t=b+8|0;p=k[t>>2]|0;u=e;if((e|0)==(p|0)){M=n;return M|0}q=k[c+4>>2]|0;v=q;while(1){if((q|0)==(o|0)){e=20;break}l=i[q>>0]|0;f=(l&1)==0;l=f?(l&255)>>>1:k[q+4>>2]|0;m=i[e>>0]|0;g=(m&1)==0;m=g?(m&255)>>>1:k[e+4>>2]|0;f=f?q+1|0:k[q+8>>2]|0;g=g?e+1|0:k[e+8>>2]|0;h=m>>>0>>0;M=tG(f,g,h?m:l)|0;j=l>>>0>>0;if((((M|0)==0?(j?-2147483648:0):M)|0)<0){e=20;break}M=tG(g,f,j?l:m)|0;if((((M|0)==0?(h?-2147483648:0):M)|0)<0){L=n;e=32;break}e=e+12|0;if((e|0)==(p|0)){L=n;e=32;break}else q=q+12|0}if((e|0)==20){F=b+4|0;G=t;C=v;D=u;break}else if((e|0)==32)return L|0}while(0);k[b>>2]=r;k[c>>2]=s;k[F>>2]=C;k[A>>2]=D;w=k[G>>2]|0;k[G>>2]=k[B>>2];k[B>>2]=w;w=b+12|0;n=k[w>>2]|0;k[w>>2]=k[x>>2];k[x>>2]=n;n=E+2|0;r=k[b>>2]|0;s=k[a>>2]|0;do if(r>>>0>>0){K=a+4|0;H=K;I=a+8|0;J=k[F>>2]|0;K=k[K>>2]|0}else{if(s>>>0>>0){M=n;return M|0}o=k[G>>2]|0;e=k[a+4>>2]|0;t=a+8|0;p=k[t>>2]|0;u=e;if((e|0)==(p|0)){M=n;return M|0}q=k[b+4>>2]|0;v=q;while(1){if((q|0)==(o|0)){e=30;break}f=i[q>>0]|0;h=(f&1)==0;f=h?(f&255)>>>1:k[q+4>>2]|0;g=i[e>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:k[e+4>>2]|0;h=h?q+1|0:k[q+8>>2]|0;j=j?e+1|0:k[e+8>>2]|0;l=g>>>0>>0;M=tG(h,j,l?g:f)|0;m=f>>>0>>0;if((((M|0)==0?(m?-2147483648:0):M)|0)<0){e=30;break}M=tG(j,h,m?f:g)|0;if((((M|0)==0?(l?-2147483648:0):M)|0)<0){L=n;e=32;break}e=e+12|0;if((e|0)==(p|0)){L=n;e=32;break}else q=q+12|0}if((e|0)==30){H=a+4|0;I=t;J=v;K=u;break}else if((e|0)==32)return L|0}while(0);k[a>>2]=r;k[b>>2]=s;k[H>>2]=J;k[F>>2]=K;b=k[I>>2]|0;k[I>>2]=k[G>>2];k[G>>2]=b;b=a+12|0;M=k[b>>2]|0;k[b>>2]=k[w>>2];k[w>>2]=M;M=E+3|0;return M|0}function Tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+160|0;q=w;l=w+140|0;j=w+128|0;m=w+88|0;b=w+80|0;v=w+40|0;k[b>>2]=4;s=a+60|0;c=k[s>>2]|0;if(c>>>0<(k[a+64>>2]|0)>>>0){k[c>>2]=4;k[s>>2]=c+4}else Bw(a+56|0,b);h=a+108|0;n=v;o=h;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));u=Ef(a)|0;i[u+48>>0]=0;g=a+164|0;b=i[g>>0]|0;i[g>>0]=0;x=0;t=Ka(900,a|0,0)|0;p=x;x=0;if(p&1){w=mb()|0;i[g>>0]=b;yb(w|0)}i[g>>0]=b;b=a+152|0;k[q>>2]=k[b>>2];k[q+4>>2]=k[b+4>>2];k[q+8>>2]=k[b+8>>2];c=a+76|0;d=k[c>>2]|0;e=a+84|0;k[l>>2]=k[e>>2];k[l+4>>2]=k[e+4>>2];k[l+8>>2]=k[e+8>>2];f=a+96|0;k[j>>2]=k[f>>2];k[j+4>>2]=k[f+4>>2];k[j+8>>2]=k[f+8>>2];n=m;o=h;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Bt(a,1,0)|0;do if(!(Tr(a,1,0)|0)){n=h;o=m;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[b>>2]=k[q>>2];k[b+4>>2]=k[q+4>>2];k[b+8>>2]=k[q+8>>2];k[c>>2]=d;k[f>>2]=k[j>>2];k[f+4>>2]=k[j+4>>2];k[f+8>>2]=k[j+8>>2];k[e>>2]=k[l>>2];k[e+4>>2]=k[l+4>>2];k[e+8>>2]=k[l+8>>2];k[q>>2]=k[b>>2];k[q+4>>2]=k[b+4>>2];k[q+8>>2]=k[b+8>>2];k[l>>2]=k[e>>2];k[l+4>>2]=k[e+4>>2];k[l+8>>2]=k[e+8>>2];k[j>>2]=k[f>>2];k[j+4>>2]=k[f+4>>2];k[j+8>>2]=k[f+8>>2];n=m;o=h;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Bt(a,1,0)|0;if(!(Kr(a,1,0)|0)){n=h;o=m;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[b>>2]=k[q>>2];k[b+4>>2]=k[q+4>>2];k[b+8>>2]=k[q+8>>2];k[c>>2]=d;k[f>>2]=k[j>>2];k[f+4>>2]=k[j+4>>2];k[f+8>>2]=k[j+8>>2];k[e>>2]=k[l>>2];k[e+4>>2]=k[l+4>>2];k[e+8>>2]=k[l+8>>2];c=0;break}b=i[g>>0]|0;i[g>>0]=0;x=0;c=Ka(900,a|0,0)|0;q=x;x=0;if(q&1){w=mb()|0;i[g>>0]=b;yb(w|0)}else{i[g>>0]=b;break}}else{b=(k[a+40>>2]|0)+36|0;c=lD(b,88)|0;n=q;o=h;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[c+4>>2]=0;n=c+8|0;o=q;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[c+52>>2]=0;k[c+56>>2]=0;i[c+60>>0]=0;k[c+68>>2]=0;k[c+72>>2]=0;k[c+76>>2]=0;k[c>>2]=9664;k[c+64>>2]=9756;i[c+84>>0]=0;i[c+85>>0]=0;i[c+86>>0]=0;i[c+87>>0]=0;c=N4(b,c)|0;b=c+64|0;d=Tg(a,0)|0;k[q>>2]=d;e=d;if(d|0){k[c+80>>2]=0;f=c+72|0;g=k[f>>2]|0;if((g|0)==(k[c+76>>2]|0))xw(c+68|0,q);else{k[g>>2]=e;k[f>>2]=(k[f>>2]|0)+4}rc[k[k[b>>2]>>2]&1023](b,d)}}while(0);k[s>>2]=(k[s>>2]|0)+-4;b=(k[a+40>>2]|0)+36|0;d=lD(b,76)|0;k[d+4>>2]=0;n=d+8|0;o=v;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d+64>>2]=t;k[d>>2]=15424;k[d+68>>2]=u;k[d+72>>2]=c;k[d+52>>2]=22;v=N4(b,d)|0;r=w;return v|0}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;w=0;y=r;r=r+48|0;q=y+36|0;s=y+24|0;u=y+12|0;v=y;d=i[b>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=k[b+4>>2]|0;if(!d){k[a>>2]=k[c>>2];k[a+4>>2]=k[c+4>>2];k[a+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;r=y;return}d=i[c>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=k[c+4>>2]|0;if(!d){k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;r=y;return}if(Yx(c)|0){k[a>>2]=k[c>>2];k[a+4>>2]=k[c+4>>2];k[a+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;r=y;return}d=i[b>>0]|0;if(!(d&1)){d=(d&255)>>>1;e=b+1|0}else{d=k[b+4>>2]|0;e=k[b+8>>2]|0}if((i[e+(d+-1)>>0]|0)!=47)Pz(b,47);m=b+1|0;n=b+8|0;j=b+4|0;o=c+1|0;p=c+8|0;l=c+4|0;while(1){d=i[c>>0]|0;if(!(d&1))e=(d&255)>>>1;else e=k[l>>2]|0;if(e>>>0<=3){t=d;break}wD(q,c,0,3,c);if(!(KH(q,34234)|0))P1(q);else{x=0;qa(4,s|0,c|0,0,3,c|0);h=x;x=0;if(h&1){w=49;break}h=(KH(s,34238)|0)==0;P1(s);P1(q);if(!h){w=27;break}}d=i[b>>0]|0;if(!(d&1))g=(d&255)>>>1;else g=k[j>>2]|0;h=vD(b,47,g+-2|0)|0;if((h+2|0)==(g|0)){f=h+1|0;d=(i[b>>0]&1)==0;if(d)e=m;else e=k[n>>2]|0;if((i[e+f>>0]|0)==47)e=1;else{if(d)d=m;else d=k[n>>2]|0;e=(i[d+f>>0]|0)==92}}else e=0;if((h+3|0)==(g|0)){if(!(i[b>>0]&1))d=m;else d=k[n>>2]|0;if(!(e|(i[d+(h+1)>>0]|0)==46))w=43}else if(!e)w=43;if((w|0)==43){w=0;wD(u,c,3,-1,c);if(!(i[c>>0]&1)){i[o>>0]=0;i[c>>0]=0}else{i[k[p>>2]>>0]=0;k[l>>2]=0}x=0;sa(443,c|0,0);g=x;x=0;if(g&1){w=47;break}k[c>>2]=k[u>>2];k[c+4>>2]=k[u+4>>2];k[c+8>>2]=k[u+8>>2];k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;P1(u)}wD(v,b,0,(h|0)==-1?-1:h+1|0,b);if(!(i[b>>0]&1)){i[m>>0]=0;i[b>>0]=0}else{i[k[n>>2]>>0]=0;k[j>>2]=0}x=0;sa(443,b|0,0);h=x;x=0;if(h&1){w=54;break}k[b>>2]=k[v>>2];k[b+4>>2]=k[v+4>>2];k[b+8>>2]=k[v+8>>2];k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;P1(v)}if((w|0)==27)t=i[c>>0]|0;else if((w|0)==47){w=Eb(0)|0;Nba(w)}else if((w|0)==49){y=mb()|0;P1(q);yb(y|0)}else if((w|0)==54){w=Eb(0)|0;Nba(w)}k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;w=i[b>>0]|0;b=(w&1)==0;w=b?(w&255)>>>1:k[j>>2]|0;d=(t&1)==0?(t&255)>>>1:k[l>>2]|0;x=0;Ua(10,a|0,(b?m:k[n>>2]|0)|0,w|0,d+w|0);w=x;x=0;if(w&1){y=mb()|0;P1(a);yb(y|0)}x=0;xa(46,a|0,((i[c>>0]&1)==0?o:k[p>>2]|0)|0,d|0)|0;c=x;x=0;if(c&1){y=mb()|0;P1(a);yb(y|0)}else{r=y;return}}function Vg(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;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;y=r;r=r+112|0;j=y;n=(d-c|0)/12|0;do if(n>>>0>100){j=hd(n)|0;if(!j){x=0;pa(6);w=x;x=0;if(w&1){h=0;q=6;break}}h=j;q=11}else{h=0;q=11}while(0);a:do if((q|0)==11){q=c;m=0;p=j;while(1){if((q|0)==(d|0))break;o=i[q>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=k[q+4>>2]|0;if(!o){i[p>>0]=2;m=m+1|0;n=n+-1|0}else i[p>>0]=1;q=q+12|0;p=p+1|0}w=0;u=m;b:while(1){m=k[a>>2]|0;do if(!m)m=0;else if((k[m+12>>2]|0)==(k[m+16>>2]|0)){x=0;m=ua(k[(k[m>>2]|0)+36>>2]|0,m|0)|0;v=x;x=0;if(v&1){q=5;break b}if((m|0)==-1){k[a>>2]=0;m=0;break}else{m=k[a>>2]|0;break}}while(0);q=(m|0)==0;o=k[b>>2]|0;if(!o)o=0;else if((k[o+12>>2]|0)==(k[o+16>>2]|0)){x=0;m=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;v=x;x=0;if(v&1){q=5;break}if((m|0)==-1){k[b>>2]=0;o=0}}p=(o|0)==0;m=k[a>>2]|0;if(!((n|0)!=0&(q^p))){q=33;break}o=k[m+12>>2]|0;if((o|0)==(k[m+16>>2]|0)){x=0;m=ua(k[(k[m>>2]|0)+36>>2]|0,m|0)|0;v=x;x=0;if(v&1){q=5;break}}else m=l[o>>0]|0;m=m&255;if(!g){x=0;m=Ka(k[(k[e>>2]|0)+12>>2]|0,e|0,m|0)|0;v=x;x=0;if(v&1){q=5;break}}v=w+1|0;q=0;t=c;s=j;while(1){if((t|0)==(d|0))break;do if((i[s>>0]|0)==1){if(!(i[t>>0]&1))o=t+1|0;else o=k[t+8>>2]|0;o=i[o+w>>0]|0;if(!g){x=0;o=Ka(k[(k[e>>2]|0)+12>>2]|0,e|0,o|0)|0;p=x;x=0;if(p&1){q=4;break b}}if(m<<24>>24!=o<<24>>24){i[s>>0]=0;o=q;p=u;n=n+-1|0;break}o=i[t>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=k[t+4>>2]|0;if((o|0)==(v|0)){i[s>>0]=2;o=1;p=u+1|0;n=n+-1|0}else{o=1;p=u}}else{o=q;p=u}while(0);q=o;t=t+12|0;u=p;s=s+1|0}if(!q){w=v;continue}m=k[a>>2]|0;o=m+12|0;p=k[o>>2]|0;if((p|0)==(k[m+16>>2]|0)){x=0;ua(k[(k[m>>2]|0)+40>>2]|0,m|0)|0;w=x;x=0;if(w&1){q=5;break}}else k[o>>2]=p+1;if((u+n|0)>>>0>1){q=c;m=u;p=j}else{w=v;continue}while(1){if((q|0)==(d|0)){w=v;u=m;continue b}if((i[p>>0]|0)==2){o=i[q>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=k[q+4>>2]|0;if((o|0)!=(v|0)){i[p>>0]=0;m=m+-1|0}}q=q+12|0;p=p+1|0}}if((q|0)==4){c=mb()|0;break}else if((q|0)==5){c=mb()|0;break}else if((q|0)==33){do if(!m)m=0;else if((k[m+12>>2]|0)==(k[m+16>>2]|0)){x=0;m=ua(k[(k[m>>2]|0)+36>>2]|0,m|0)|0;e=x;x=0;if(e&1){q=6;break a}if((m|0)==-1){k[a>>2]=0;m=0;break}else{m=k[a>>2]|0;break}}while(0);n=(m|0)==0;do if(p)q=79;else{if((k[o+12>>2]|0)==(k[o+16>>2]|0)){x=0;m=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;a=x;x=0;if(a&1){q=6;break a}if((m|0)==-1){k[b>>2]=0;q=79;break}}if(!n)q=80}while(0);if((q|0)==79)if(n)q=80;if((q|0)==80)k[f>>2]=k[f>>2]|2;while(1){if((c|0)==(d|0)){q=84;break}if((i[j>>0]|0)==2)break;c=c+12|0;j=j+1|0}if((q|0)==84){k[f>>2]=k[f>>2]|4;c=d}if(h|0)cf(h);r=y;return c|0}}while(0);if((q|0)==6)c=mb()|0;if(h|0)cf(h);yb(c|0);return 0}function Wg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;C=0;z=r;r=r+304|0;s=z+200|0;g=z+196|0;B=z+184|0;A=z+172|0;u=z+168|0;w=z+8|0;y=z+4|0;v=z;switch(k[d+4>>2]&74|0){case 64:{t=8;break}case 8:{t=16;break}case 0:{t=0;break}default:t=10}Bv(B,d,s,g);a=0;while(1){if((a|0)==3)break;k[A+(a<<2)>>2]=0;a=a+1|0}if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Qa(86,A|0,a|0,0);q=x;x=0;a:do if(q&1)C=33;else{o=A+8|0;p=A+1|0;d=(i[A>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=d;k[y>>2]=w;k[v>>2]=0;q=A+4|0;n=k[g>>2]|0;g=k[b>>2]|0;b:while(1){if(!g){g=0;l=1}else{a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;m=x;x=0;if(m&1){C=32;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;g=0;l=1}else l=0}h=k[c>>2]|0;do if(!h)C=24;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;m=x;x=0;if(m&1){C=32;break b}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;C=24;break}else if(l){m=h;break}else break b}while(0);if((C|0)==24){C=0;if(l){h=0;break}else m=0}h=i[A>>0]|0;h=(h&1)==0?(h&255)>>>1:k[q>>2]|0;if((k[u>>2]|0)==(d+h|0)){x=0;Qa(86,A|0,h<<1|0,0);l=x;x=0;if(l&1){C=32;break}if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Qa(86,A|0,a|0,0);l=x;x=0;if(l&1){C=32;break}d=(i[A>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=d+h}h=g+12|0;a=k[h>>2]|0;l=g+16|0;if((a|0)==(k[l>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;D=x;x=0;if(D&1){C=32;break}}else a=k[a>>2]|0;if(Lo(a,t,d,u,v,n,B,w,y,s)|0){h=m;break}a=k[h>>2]|0;if((a|0)==(k[l>>2]|0)){x=0;ua(k[(k[g>>2]|0)+40>>2]|0,g|0)|0;D=x;x=0;if(D&1){C=32;break}else continue}else{k[h>>2]=a+4;continue}}if((C|0)==32){a=mb()|0;break}D=i[B>>0]|0;if(((D&1)==0?(D&255)>>>1:k[B+4>>2]|0)|0){a=k[y>>2]|0;if((a-w|0)<160){D=k[v>>2]|0;k[y>>2]=a+4;k[a>>2]=D}}x=0;a=Pa(15,d|0,k[u>>2]|0,e|0,t|0)|0;D=x;x=0;if(D&1)C=33;else{j[f>>1]=a;pv(B,w,k[y>>2]|0,e);if(!g)d=1;else{a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;D=x;x=0;if(D&1){C=33;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}do if(!h)C=58;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;D=x;x=0;if(D&1){C=33;break a}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;C=58;break}else if(d)break;else{C=60;break}}while(0);if((C|0)==58)if(d)C=60;if((C|0)==60)k[e>>2]=k[e>>2]|2;D=k[b>>2]|0;P1(A);P1(B);r=z;return D|0}}while(0);if((C|0)==33)a=mb()|0;P1(A);P1(B);yb(a|0);return 0}function Xg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;B=0;y=r;r=r+304|0;q=y+200|0;g=y+196|0;A=y+184|0;z=y+172|0;t=y+168|0;v=y+8|0;w=y+4|0;u=y;switch(k[d+4>>2]&74|0){case 64:{s=8;break}case 8:{s=16;break}case 0:{s=0;break}default:s=10}Bv(A,d,q,g);a=0;while(1){if((a|0)==3)break;k[z+(a<<2)>>2]=0;a=a+1|0}if(!(i[z>>0]&1))a=10;else a=(k[z>>2]&-2)+-1|0;x=0;Qa(86,z|0,a|0,0);p=x;x=0;a:do if(p&1)B=33;else{n=z+8|0;o=z+1|0;d=(i[z>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=d;k[w>>2]=v;k[u>>2]=0;p=z+4|0;m=k[g>>2]|0;g=k[b>>2]|0;b:while(1){if(!g){g=0;j=1}else{a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;l=x;x=0;if(l&1){B=32;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;g=0;j=1}else j=0}h=k[c>>2]|0;do if(!h)B=24;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;l=x;x=0;if(l&1){B=32;break b}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;B=24;break}else if(j){l=h;break}else break b}while(0);if((B|0)==24){B=0;if(j){h=0;break}else l=0}h=i[z>>0]|0;h=(h&1)==0?(h&255)>>>1:k[p>>2]|0;if((k[t>>2]|0)==(d+h|0)){x=0;Qa(86,z|0,h<<1|0,0);j=x;x=0;if(j&1){B=32;break}if(!(i[z>>0]&1))a=10;else a=(k[z>>2]&-2)+-1|0;x=0;Qa(86,z|0,a|0,0);j=x;x=0;if(j&1){B=32;break}d=(i[z>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=d+h}h=g+12|0;a=k[h>>2]|0;j=g+16|0;if((a|0)==(k[j>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;C=x;x=0;if(C&1){B=32;break}}else a=k[a>>2]|0;if(Lo(a,s,d,t,u,m,A,v,w,q)|0){h=l;break}a=k[h>>2]|0;if((a|0)==(k[j>>2]|0)){x=0;ua(k[(k[g>>2]|0)+40>>2]|0,g|0)|0;C=x;x=0;if(C&1){B=32;break}else continue}else{k[h>>2]=a+4;continue}}if((B|0)==32){a=mb()|0;break}C=i[A>>0]|0;if(((C&1)==0?(C&255)>>>1:k[A+4>>2]|0)|0){a=k[w>>2]|0;if((a-v|0)<160){C=k[u>>2]|0;k[w>>2]=a+4;k[a>>2]=C}}x=0;a=Pa(17,d|0,k[t>>2]|0,e|0,s|0)|0;C=x;x=0;if(C&1)B=33;else{k[f>>2]=a;pv(A,v,k[w>>2]|0,e);if(!g)d=1;else{a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;C=x;x=0;if(C&1){B=33;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}do if(!h)B=58;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;C=x;x=0;if(C&1){B=33;break a}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;B=58;break}else if(d)break;else{B=60;break}}while(0);if((B|0)==58)if(d)B=60;if((B|0)==60)k[e>>2]=k[e>>2]|2;C=k[b>>2]|0;P1(z);P1(A);r=y;return C|0}}while(0);if((B|0)==33)a=mb()|0;P1(z);P1(A);yb(a|0);return 0}function Yg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;B=0;y=r;r=r+304|0;q=y+200|0;g=y+196|0;A=y+184|0;z=y+172|0;t=y+168|0;v=y+8|0;w=y+4|0;u=y;switch(k[d+4>>2]&74|0){case 64:{s=8;break}case 8:{s=16;break}case 0:{s=0;break}default:s=10}Bv(A,d,q,g);a=0;while(1){if((a|0)==3)break;k[z+(a<<2)>>2]=0;a=a+1|0}if(!(i[z>>0]&1))a=10;else a=(k[z>>2]&-2)+-1|0;x=0;Qa(86,z|0,a|0,0);p=x;x=0;a:do if(p&1)B=33;else{n=z+8|0;o=z+1|0;d=(i[z>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=d;k[w>>2]=v;k[u>>2]=0;p=z+4|0;m=k[g>>2]|0;g=k[b>>2]|0;b:while(1){if(!g){g=0;j=1}else{a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;l=x;x=0;if(l&1){B=32;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;g=0;j=1}else j=0}h=k[c>>2]|0;do if(!h)B=24;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;l=x;x=0;if(l&1){B=32;break b}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;B=24;break}else if(j){l=h;break}else break b}while(0);if((B|0)==24){B=0;if(j){h=0;break}else l=0}h=i[z>>0]|0;h=(h&1)==0?(h&255)>>>1:k[p>>2]|0;if((k[t>>2]|0)==(d+h|0)){x=0;Qa(86,z|0,h<<1|0,0);j=x;x=0;if(j&1){B=32;break}if(!(i[z>>0]&1))a=10;else a=(k[z>>2]&-2)+-1|0;x=0;Qa(86,z|0,a|0,0);j=x;x=0;if(j&1){B=32;break}d=(i[z>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=d+h}h=g+12|0;a=k[h>>2]|0;j=g+16|0;if((a|0)==(k[j>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;C=x;x=0;if(C&1){B=32;break}}else a=k[a>>2]|0;if(Lo(a,s,d,t,u,m,A,v,w,q)|0){h=l;break}a=k[h>>2]|0;if((a|0)==(k[j>>2]|0)){x=0;ua(k[(k[g>>2]|0)+40>>2]|0,g|0)|0;C=x;x=0;if(C&1){B=32;break}else continue}else{k[h>>2]=a+4;continue}}if((B|0)==32){a=mb()|0;break}C=i[A>>0]|0;if(((C&1)==0?(C&255)>>>1:k[A+4>>2]|0)|0){a=k[w>>2]|0;if((a-v|0)<160){C=k[u>>2]|0;k[w>>2]=a+4;k[a>>2]=C}}x=0;a=Pa(16,d|0,k[t>>2]|0,e|0,s|0)|0;C=x;x=0;if(C&1)B=33;else{k[f>>2]=a;pv(A,v,k[w>>2]|0,e);if(!g)d=1;else{a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;C=x;x=0;if(C&1){B=33;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}do if(!h)B=58;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;C=x;x=0;if(C&1){B=33;break a}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;B=58;break}else if(d)break;else{B=60;break}}while(0);if((B|0)==58)if(d)B=60;if((B|0)==60)k[e>>2]=k[e>>2]|2;C=k[b>>2]|0;P1(z);P1(A);r=y;return C|0}}while(0);if((B|0)==33)a=mb()|0;P1(z);P1(A);yb(a|0);return 0}function Zg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;B=0;y=r;r=r+304|0;q=y+200|0;g=y+196|0;A=y+184|0;z=y+172|0;t=y+168|0;v=y+8|0;w=y+4|0;u=y;switch(k[d+4>>2]&74|0){case 64:{s=8;break}case 8:{s=16;break}case 0:{s=0;break}default:s=10}Bv(A,d,q,g);a=0;while(1){if((a|0)==3)break;k[z+(a<<2)>>2]=0;a=a+1|0}if(!(i[z>>0]&1))a=10;else a=(k[z>>2]&-2)+-1|0;x=0;Qa(86,z|0,a|0,0);p=x;x=0;a:do if(p&1)B=33;else{n=z+8|0;o=z+1|0;d=(i[z>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=d;k[w>>2]=v;k[u>>2]=0;p=z+4|0;m=k[g>>2]|0;g=k[b>>2]|0;b:while(1){if(!g){g=0;j=1}else{a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;l=x;x=0;if(l&1){B=32;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;g=0;j=1}else j=0}h=k[c>>2]|0;do if(!h)B=24;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;l=x;x=0;if(l&1){B=32;break b}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;B=24;break}else if(j){l=h;break}else break b}while(0);if((B|0)==24){B=0;if(j){h=0;break}else l=0}h=i[z>>0]|0;h=(h&1)==0?(h&255)>>>1:k[p>>2]|0;if((k[t>>2]|0)==(d+h|0)){x=0;Qa(86,z|0,h<<1|0,0);j=x;x=0;if(j&1){B=32;break}if(!(i[z>>0]&1))a=10;else a=(k[z>>2]&-2)+-1|0;x=0;Qa(86,z|0,a|0,0);j=x;x=0;if(j&1){B=32;break}d=(i[z>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=d+h}h=g+12|0;a=k[h>>2]|0;j=g+16|0;if((a|0)==(k[j>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;C=x;x=0;if(C&1){B=32;break}}else a=k[a>>2]|0;if(Lo(a,s,d,t,u,m,A,v,w,q)|0){h=l;break}a=k[h>>2]|0;if((a|0)==(k[j>>2]|0)){x=0;ua(k[(k[g>>2]|0)+40>>2]|0,g|0)|0;C=x;x=0;if(C&1){B=32;break}else continue}else{k[h>>2]=a+4;continue}}if((B|0)==32){a=mb()|0;break}C=i[A>>0]|0;if(((C&1)==0?(C&255)>>>1:k[A+4>>2]|0)|0){a=k[w>>2]|0;if((a-v|0)<160){C=k[u>>2]|0;k[w>>2]=a+4;k[a>>2]=C}}x=0;a=Pa(13,d|0,k[t>>2]|0,e|0,s|0)|0;C=x;x=0;if(C&1)B=33;else{k[f>>2]=a;pv(A,v,k[w>>2]|0,e);if(!g)d=1;else{a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;C=x;x=0;if(C&1){B=33;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}do if(!h)B=58;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;C=x;x=0;if(C&1){B=33;break a}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;B=58;break}else if(d)break;else{B=60;break}}while(0);if((B|0)==58)if(d)B=60;if((B|0)==60)k[e>>2]=k[e>>2]|2;C=k[b>>2]|0;P1(z);P1(A);r=y;return C|0}}while(0);if((B|0)==33)a=mb()|0;P1(z);P1(A);yb(a|0);return 0}function _g(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=0;C=r;r=r+352|0;u=C+208|0;h=C+200|0;j=C+196|0;E=C+184|0;D=C+172|0;y=C+168|0;A=C+8|0;B=C+4|0;z=C;w=C+337|0;v=C+336|0;du(E,d,u,h,j);a=0;while(1){if((a|0)==3)break;k[D+(a<<2)>>2]=0;a=a+1|0}if(!(i[D>>0]&1))a=10;else a=(k[D>>2]&-2)+-1|0;x=0;Qa(86,D|0,a|0,0);t=x;x=0;a:do if(t&1)F=29;else{q=D+8|0;s=D+1|0;d=(i[D>>0]&1)==0?s:k[q>>2]|0;k[y>>2]=d;k[B>>2]=A;k[z>>2]=0;i[w>>0]=1;i[v>>0]=69;t=D+4|0;p=k[h>>2]|0;n=k[j>>2]|0;h=k[b>>2]|0;b:while(1){if(!h){h=0;l=1}else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;m=x;x=0;if(m&1){F=28;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;h=0;l=1}else l=0}j=k[c>>2]|0;do if(!j)F=20;else{a=k[j+12>>2]|0;if((a|0)==(k[j+16>>2]|0)){x=0;a=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;m=x;x=0;if(m&1){F=28;break b}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;F=20;break}else if(l)break;else break b}while(0);if((F|0)==20){F=0;if(l){j=0;break}else j=0}l=i[D>>0]|0;l=(l&1)==0?(l&255)>>>1:k[t>>2]|0;if((k[y>>2]|0)==(d+l|0)){x=0;Qa(86,D|0,l<<1|0,0);m=x;x=0;if(m&1){F=28;break}if(!(i[D>>0]&1))a=10;else a=(k[D>>2]&-2)+-1|0;x=0;Qa(86,D|0,a|0,0);m=x;x=0;if(m&1){F=28;break}d=(i[D>>0]&1)==0?s:k[q>>2]|0;k[y>>2]=d+l}l=h+12|0;a=k[l>>2]|0;m=h+16|0;if((a|0)==(k[m>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;G=x;x=0;if(G&1){F=28;break}}else a=k[a>>2]|0;if(Tm(a,w,v,d,y,p,n,E,A,B,z,u)|0)break;a=k[l>>2]|0;if((a|0)==(k[m>>2]|0)){x=0;ua(k[(k[h>>2]|0)+40>>2]|0,h|0)|0;G=x;x=0;if(G&1){F=28;break}else continue}else{k[l>>2]=a+4;continue}}if((F|0)==28){a=mb()|0;break}G=i[E>>0]|0;if(!((i[w>>0]|0)==0?1:(((G&1)==0?(G&255)>>>1:k[E+4>>2]|0)|0)==0)){a=k[B>>2]|0;if((a-A|0)<160){G=k[z>>2]|0;k[B>>2]=a+4;k[a>>2]=G}}x=0;g=+Ma(2,d|0,k[y>>2]|0,e|0);G=x;x=0;if(G&1)F=29;else{o[f>>2]=g;pv(E,A,k[B>>2]|0,e);if(!h)d=1;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;G=x;x=0;if(G&1){F=29;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}do if(!j)F=54;else{a=k[j+12>>2]|0;if((a|0)==(k[j+16>>2]|0)){x=0;a=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;G=x;x=0;if(G&1){F=29;break a}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;F=54;break}else if(d)break;else{F=56;break}}while(0);if((F|0)==54)if(d)F=56;if((F|0)==56)k[e>>2]=k[e>>2]|2;G=k[b>>2]|0;P1(D);P1(E);r=C;return G|0}}while(0);if((F|0)==29)a=mb()|0;P1(D);P1(E);yb(a|0);return 0}function $g(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=0;C=r;r=r+352|0;u=C+208|0;h=C+200|0;j=C+196|0;E=C+184|0;D=C+172|0;y=C+168|0;A=C+8|0;B=C+4|0;z=C;w=C+337|0;v=C+336|0;du(E,d,u,h,j);a=0;while(1){if((a|0)==3)break;k[D+(a<<2)>>2]=0;a=a+1|0}if(!(i[D>>0]&1))a=10;else a=(k[D>>2]&-2)+-1|0;x=0;Qa(86,D|0,a|0,0);t=x;x=0;a:do if(t&1)F=29;else{q=D+8|0;s=D+1|0;d=(i[D>>0]&1)==0?s:k[q>>2]|0;k[y>>2]=d;k[B>>2]=A;k[z>>2]=0;i[w>>0]=1;i[v>>0]=69;t=D+4|0;o=k[h>>2]|0;n=k[j>>2]|0;h=k[b>>2]|0;b:while(1){if(!h){h=0;l=1}else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;m=x;x=0;if(m&1){F=28;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;h=0;l=1}else l=0}j=k[c>>2]|0;do if(!j)F=20;else{a=k[j+12>>2]|0;if((a|0)==(k[j+16>>2]|0)){x=0;a=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;m=x;x=0;if(m&1){F=28;break b}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;F=20;break}else if(l)break;else break b}while(0);if((F|0)==20){F=0;if(l){j=0;break}else j=0}l=i[D>>0]|0;l=(l&1)==0?(l&255)>>>1:k[t>>2]|0;if((k[y>>2]|0)==(d+l|0)){x=0;Qa(86,D|0,l<<1|0,0);m=x;x=0;if(m&1){F=28;break}if(!(i[D>>0]&1))a=10;else a=(k[D>>2]&-2)+-1|0;x=0;Qa(86,D|0,a|0,0);m=x;x=0;if(m&1){F=28;break}d=(i[D>>0]&1)==0?s:k[q>>2]|0;k[y>>2]=d+l}l=h+12|0;a=k[l>>2]|0;m=h+16|0;if((a|0)==(k[m>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;G=x;x=0;if(G&1){F=28;break}}else a=k[a>>2]|0;if(Tm(a,w,v,d,y,o,n,E,A,B,z,u)|0)break;a=k[l>>2]|0;if((a|0)==(k[m>>2]|0)){x=0;ua(k[(k[h>>2]|0)+40>>2]|0,h|0)|0;G=x;x=0;if(G&1){F=28;break}else continue}else{k[l>>2]=a+4;continue}}if((F|0)==28){a=mb()|0;break}G=i[E>>0]|0;if(!((i[w>>0]|0)==0?1:(((G&1)==0?(G&255)>>>1:k[E+4>>2]|0)|0)==0)){a=k[B>>2]|0;if((a-A|0)<160){G=k[z>>2]|0;k[B>>2]=a+4;k[a>>2]=G}}x=0;g=+Ma(4,d|0,k[y>>2]|0,e|0);G=x;x=0;if(G&1)F=29;else{p[f>>3]=g;pv(E,A,k[B>>2]|0,e);if(!h)d=1;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;G=x;x=0;if(G&1){F=29;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}do if(!j)F=54;else{a=k[j+12>>2]|0;if((a|0)==(k[j+16>>2]|0)){x=0;a=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;G=x;x=0;if(G&1){F=29;break a}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;F=54;break}else if(d)break;else{F=56;break}}while(0);if((F|0)==54)if(d)F=56;if((F|0)==56)k[e>>2]=k[e>>2]|2;G=k[b>>2]|0;P1(D);P1(E);r=C;return G|0}}while(0);if((F|0)==29)a=mb()|0;P1(D);P1(E);yb(a|0);return 0}function ah(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=0;C=r;r=r+352|0;u=C+208|0;h=C+200|0;j=C+196|0;E=C+184|0;D=C+172|0;y=C+168|0;A=C+8|0;B=C+4|0;z=C;w=C+337|0;v=C+336|0;du(E,d,u,h,j);a=0;while(1){if((a|0)==3)break;k[D+(a<<2)>>2]=0;a=a+1|0}if(!(i[D>>0]&1))a=10;else a=(k[D>>2]&-2)+-1|0;x=0;Qa(86,D|0,a|0,0);t=x;x=0;a:do if(t&1)F=29;else{q=D+8|0;s=D+1|0;d=(i[D>>0]&1)==0?s:k[q>>2]|0;k[y>>2]=d;k[B>>2]=A;k[z>>2]=0;i[w>>0]=1;i[v>>0]=69;t=D+4|0;o=k[h>>2]|0;n=k[j>>2]|0;h=k[b>>2]|0;b:while(1){if(!h){h=0;l=1}else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;m=x;x=0;if(m&1){F=28;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;h=0;l=1}else l=0}j=k[c>>2]|0;do if(!j)F=20;else{a=k[j+12>>2]|0;if((a|0)==(k[j+16>>2]|0)){x=0;a=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;m=x;x=0;if(m&1){F=28;break b}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;F=20;break}else if(l)break;else break b}while(0);if((F|0)==20){F=0;if(l){j=0;break}else j=0}l=i[D>>0]|0;l=(l&1)==0?(l&255)>>>1:k[t>>2]|0;if((k[y>>2]|0)==(d+l|0)){x=0;Qa(86,D|0,l<<1|0,0);m=x;x=0;if(m&1){F=28;break}if(!(i[D>>0]&1))a=10;else a=(k[D>>2]&-2)+-1|0;x=0;Qa(86,D|0,a|0,0);m=x;x=0;if(m&1){F=28;break}d=(i[D>>0]&1)==0?s:k[q>>2]|0;k[y>>2]=d+l}l=h+12|0;a=k[l>>2]|0;m=h+16|0;if((a|0)==(k[m>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;G=x;x=0;if(G&1){F=28;break}}else a=k[a>>2]|0;if(Tm(a,w,v,d,y,o,n,E,A,B,z,u)|0)break;a=k[l>>2]|0;if((a|0)==(k[m>>2]|0)){x=0;ua(k[(k[h>>2]|0)+40>>2]|0,h|0)|0;G=x;x=0;if(G&1){F=28;break}else continue}else{k[l>>2]=a+4;continue}}if((F|0)==28){a=mb()|0;break}G=i[E>>0]|0;if(!((i[w>>0]|0)==0?1:(((G&1)==0?(G&255)>>>1:k[E+4>>2]|0)|0)==0)){a=k[B>>2]|0;if((a-A|0)<160){G=k[z>>2]|0;k[B>>2]=a+4;k[a>>2]=G}}x=0;g=+Ma(3,d|0,k[y>>2]|0,e|0);G=x;x=0;if(G&1)F=29;else{p[f>>3]=g;pv(E,A,k[B>>2]|0,e);if(!h)d=1;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;G=x;x=0;if(G&1){F=29;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}do if(!j)F=54;else{a=k[j+12>>2]|0;if((a|0)==(k[j+16>>2]|0)){x=0;a=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;G=x;x=0;if(G&1){F=29;break a}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;F=54;break}else if(d)break;else{F=56;break}}while(0);if((F|0)==54)if(d)F=56;if((F|0)==56)k[e>>2]=k[e>>2]|2;G=k[b>>2]|0;P1(D);P1(E);r=C;return G|0}}while(0);if((F|0)==29)a=mb()|0;P1(D);P1(E);yb(a|0);return 0}function bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;u=r;r=r+64|0;f=u+48|0;t=u+40|0;y=u+28|0;w=u;g=b+4|0;if((k[b>>2]|0)==(k[g>>2]|0)){y=vb(4)|0;k[y>>2]=27750;Wb(y|0,4584,0)}d=a+4|0;e=k[d>>2]|0;k[t>>2]=e-(k[a>>2]|0)>>3;if((e|0)==(k[a+8>>2]|0))tv(a,c);else{q=c;s=k[q+4>>2]|0;v=e;k[v>>2]=k[q>>2];k[v+4>>2]=s;k[d>>2]=(k[d>>2]|0)+8}k[y+4>>2]=0;k[y+8>>2]=0;v=y+4|0;k[y>>2]=v;s=k[g>>2]|0;d=k[b>>2]|0;c=(s-d|0)/12|0;if((s|0)==(d|0)){w=k[v>>2]|0;sC(y,w);r=u;return}e=0;while(1){x=0;Qa(75,f|0,y|0,d+(e*12|0)|0);s=x;x=0;if(s&1){e=14;break}e=e+1|0;if(e>>>0>=c>>>0){e=8;break}d=k[b>>2]|0}do if((e|0)==8){s=k[g>>2]|0;d=k[b>>2]|0;o=(s-d|0)/12|0;if((s|0)==(d|0)){w=k[v>>2]|0;sC(y,w);r=u;return}h=a+12|0;s=w+4|0;i=w+8|0;j=w+12|0;l=w+16|0;m=w+20|0;n=w+24|0;p=w+16|0;q=w+12|0;e=0;while(1){x=0;d=Ka(859,h|0,d+(e*12|0)|0)|0;a=x;x=0;if(a&1){e=13;break}x=0;Ua(13,w|0,b|0,y|0,t|0);a=x;x=0;if(a&1){e=13;break}g=d+4|0;a=k[g>>2]|0;if(a>>>0<(k[d+8>>2]|0)>>>0){k[a>>2]=0;d=a+4|0;k[d>>2]=0;k[a+8>>2]=0;k[a>>2]=k[w>>2];k[d>>2]=k[s>>2];k[a+8>>2]=k[i>>2];k[i>>2]=0;k[s>>2]=0;k[w>>2]=0;d=a+12|0;k[d>>2]=k[j>>2];c=k[l>>2]|0;k[a+16>>2]=c;z=k[m>>2]|0;k[a+20>>2]=z;f=a+16|0;if(!z)k[d>>2]=f;else{k[c+8>>2]=f;k[j>>2]=p;k[p>>2]=0;k[m>>2]=0}k[a+24>>2]=k[n>>2];k[g>>2]=(k[g>>2]|0)+28}else{x=0;sa(449,d|0,w|0);z=x;x=0;if(z&1){e=32;break}}sC(q,k[p>>2]|0);d=k[w>>2]|0;if(d|0){c=k[s>>2]|0;if((c|0)!=(d|0)){do{z=c+-12|0;k[s>>2]=z;P1(z);c=k[s>>2]|0}while((c|0)!=(d|0));d=k[w>>2]|0}uha(d)}e=e+1|0;if(e>>>0>=o>>>0){e=16;break}d=k[b>>2]|0}if((e|0)==13){d=mb()|0;break}else if((e|0)==16){z=k[v>>2]|0;sC(y,z);r=u;return}else if((e|0)==32){f=mb()|0;c=M;sC(q,k[p>>2]|0);d=k[w>>2]|0;if(!d){z=f;w=k[v>>2]|0;sC(y,w);yb(z|0)}e=k[s>>2]|0;if((e|0)!=(d|0)){do{z=e+-12|0;k[s>>2]=z;P1(z);e=k[s>>2]|0}while((e|0)!=(d|0));d=k[w>>2]|0}uha(d);z=f;w=k[v>>2]|0;sC(y,w);yb(z|0)}}else if((e|0)==14)d=mb()|0;while(0);z=d;w=k[v>>2]|0;sC(y,w);yb(z|0)}function ch(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;C=0;z=r;r=r+224|0;s=z+198|0;g=z+196|0;B=z+184|0;A=z+172|0;u=z+168|0;w=z+8|0;y=z+4|0;v=z;switch(k[d+4>>2]&74|0){case 64:{t=8;break}case 8:{t=16;break}case 0:{t=0;break}default:t=10}Cv(B,d,s,g);a=0;while(1){if((a|0)==3)break;k[A+(a<<2)>>2]=0;a=a+1|0}if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Qa(86,A|0,a|0,0);q=x;x=0;a:do if(q&1)C=32;else{o=A+8|0;p=A+1|0;m=(i[A>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=m;k[y>>2]=w;k[v>>2]=0;q=A+4|0;n=i[g>>0]|0;a=k[b>>2]|0;g=m;b:while(1){if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;m=x;x=0;if(m&1){C=31;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;j=k[c>>2]|0;do if(!j)C=23;else{if((k[j+12>>2]|0)!=(k[j+16>>2]|0))if(d)break;else{h=j;break b}x=0;h=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;m=x;x=0;if(m&1){C=31;break b}if((h|0)==-1){k[c>>2]=0;C=23;break}else if(d)break;else{h=j;break b}}while(0);if((C|0)==23){C=0;if(d){h=0;break}else j=0}h=i[A>>0]|0;h=(h&1)==0?(h&255)>>>1:k[q>>2]|0;if((k[u>>2]|0)==(g+h|0)){x=0;Qa(86,A|0,h<<1|0,0);m=x;x=0;if(m&1){C=31;break}if(!(i[A>>0]&1))d=10;else d=(k[A>>2]&-2)+-1|0;x=0;Qa(86,A|0,d|0,0);m=x;x=0;if(m&1){C=31;break}g=(i[A>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=g+h}h=a+12|0;d=k[h>>2]|0;m=a+16|0;if((d|0)==(k[m>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;D=x;x=0;if(D&1){C=31;break}}else d=l[d>>0]|0;if(Ho(d&255,t,g,u,v,n,B,w,y,s)|0){h=j;break}d=k[h>>2]|0;if((d|0)==(k[m>>2]|0)){x=0;ua(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;D=x;x=0;if(D&1){C=31;break}else continue}else{k[h>>2]=d+1;continue}}if((C|0)==31){a=mb()|0;break}D=i[B>>0]|0;if(((D&1)==0?(D&255)>>>1:k[B+4>>2]|0)|0){d=k[y>>2]|0;if((d-w|0)<160){D=k[v>>2]|0;k[y>>2]=d+4;k[d>>2]=D}}x=0;d=Pa(18,g|0,k[u>>2]|0,e|0,t|0)|0;g=M;D=x;x=0;if(D&1)C=32;else{D=f;k[D>>2]=d;k[D+4>>2]=g;pv(B,w,k[y>>2]|0,e);if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;D=x;x=0;if(D&1){C=32;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;do if(!h)C=56;else{if((k[h+12>>2]|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;D=x;x=0;if(D&1){C=32;break a}if((a|0)==-1){k[c>>2]=0;C=56;break}}if(!d)C=57}while(0);if((C|0)==56)if(d)C=57;if((C|0)==57)k[e>>2]=k[e>>2]|2;D=k[b>>2]|0;P1(A);P1(B);r=z;return D|0}}while(0);if((C|0)==32)a=mb()|0;P1(A);P1(B);yb(a|0);return 0}function dh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;C=0;z=r;r=r+224|0;s=z+198|0;g=z+196|0;B=z+184|0;A=z+172|0;u=z+168|0;w=z+8|0;y=z+4|0;v=z;switch(k[d+4>>2]&74|0){case 64:{t=8;break}case 8:{t=16;break}case 0:{t=0;break}default:t=10}Cv(B,d,s,g);a=0;while(1){if((a|0)==3)break;k[A+(a<<2)>>2]=0;a=a+1|0}if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Qa(86,A|0,a|0,0);q=x;x=0;a:do if(q&1)C=32;else{o=A+8|0;p=A+1|0;m=(i[A>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=m;k[y>>2]=w;k[v>>2]=0;q=A+4|0;n=i[g>>0]|0;a=k[b>>2]|0;g=m;b:while(1){if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;m=x;x=0;if(m&1){C=31;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;j=k[c>>2]|0;do if(!j)C=23;else{if((k[j+12>>2]|0)!=(k[j+16>>2]|0))if(d)break;else{h=j;break b}x=0;h=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;m=x;x=0;if(m&1){C=31;break b}if((h|0)==-1){k[c>>2]=0;C=23;break}else if(d)break;else{h=j;break b}}while(0);if((C|0)==23){C=0;if(d){h=0;break}else j=0}h=i[A>>0]|0;h=(h&1)==0?(h&255)>>>1:k[q>>2]|0;if((k[u>>2]|0)==(g+h|0)){x=0;Qa(86,A|0,h<<1|0,0);m=x;x=0;if(m&1){C=31;break}if(!(i[A>>0]&1))d=10;else d=(k[A>>2]&-2)+-1|0;x=0;Qa(86,A|0,d|0,0);m=x;x=0;if(m&1){C=31;break}g=(i[A>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=g+h}h=a+12|0;d=k[h>>2]|0;m=a+16|0;if((d|0)==(k[m>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;D=x;x=0;if(D&1){C=31;break}}else d=l[d>>0]|0;if(Ho(d&255,t,g,u,v,n,B,w,y,s)|0){h=j;break}d=k[h>>2]|0;if((d|0)==(k[m>>2]|0)){x=0;ua(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;D=x;x=0;if(D&1){C=31;break}else continue}else{k[h>>2]=d+1;continue}}if((C|0)==31){a=mb()|0;break}D=i[B>>0]|0;if(((D&1)==0?(D&255)>>>1:k[B+4>>2]|0)|0){d=k[y>>2]|0;if((d-w|0)<160){D=k[v>>2]|0;k[y>>2]=d+4;k[d>>2]=D}}x=0;d=Pa(14,g|0,k[u>>2]|0,e|0,t|0)|0;g=M;D=x;x=0;if(D&1)C=32;else{D=f;k[D>>2]=d;k[D+4>>2]=g;pv(B,w,k[y>>2]|0,e);if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;D=x;x=0;if(D&1){C=32;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;do if(!h)C=56;else{if((k[h+12>>2]|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;D=x;x=0;if(D&1){C=32;break a}if((a|0)==-1){k[c>>2]=0;C=56;break}}if(!d)C=57}while(0);if((C|0)==56)if(d)C=57;if((C|0)==57)k[e>>2]=k[e>>2]|2;D=k[b>>2]|0;P1(A);P1(B);r=z;return D|0}}while(0);if((C|0)==32)a=mb()|0;P1(A);P1(B);yb(a|0);return 0}function eh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0.0;l=0;u=r;r=r+192|0;m=u+152|0;e=u+112|0;f=u+72|0;g=u+56|0;n=u+16|0;s=u;j=b+60|0;h=k[j>>2]|0;h=Jc[k[(k[h>>2]|0)+40>>2]&1023](h,a)|0;d=b+56|0;if((k[d>>2]|0)==2){a=(k[a+8>>2]|0)+36|0;d=lD(a,64)|0;t=e;o=b+8|0;q=t+40|0;do{k[t>>2]=k[o>>2];t=t+4|0;o=o+4|0}while((t|0)<(q|0));c=tc[k[(k[h>>2]|0)+60>>2]&511](h)|0;k[d+4>>2]=0;t=d+8|0;o=e;q=t+40|0;do{k[t>>2]=k[o>>2];t=t+4|0;o=o+4|0}while((t|0)<(q|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d>>2]=5684;i[d+56>>0]=c&1;k[d+60>>2]=0;k[d+52>>2]=1;b=N4(a,d)|0;t=b+56|0;s=i[t>>0]|0;k[b+60>>2]=0;i[t>>0]=s^1;r=u;return b|0}a:do switch(k[h+52>>2]|0){case 2:{c=(k[a+8>>2]|0)+36|0;a=lD(c,96)|0;k[a+4>>2]=k[h+4>>2];k[a>>2]=4748;t=a+8|0;o=h+8|0;q=t+40|0;do{k[t>>2]=k[o>>2];t=t+4|0;o=o+4|0}while((t|0)<(q|0));k[a>>2]=6736;t=h+48|0;b=k[t+4>>2]|0;g=a+48|0;k[g>>2]=k[t>>2];k[g+4>>2]=b;k[a>>2]=4624;g=a+56|0;b=h+56|0;k[g>>2]=k[b>>2];k[g+4>>2]=k[b+4>>2];i[g+8>>0]=i[b+8>>0]|0;g=a+68|0;x=0;sa(435,g|0,h+68|0);b=x;x=0;if(b&1){u=mb()|0;yb(u|0)}x=0;sa(435,a+80|0,h+80|0);b=x;x=0;if(!(b&1)){k[a+92>>2]=k[h+92>>2];b=N4(c,a)|0;t=b+56|0;v=+p[t>>3];v=(k[d>>2]|0)==1?-v:v;k[b+92>>2]=0;p[t>>3]=v;r=u;return b|0}f=mb()|0;e=M;c=k[g>>2]|0;if(!c){u=f;yb(u|0)}d=a+72|0;a=k[d>>2]|0;if((a|0)!=(c|0)){do{u=a+-12|0;k[d>>2]=u;P1(u);a=k[d>>2]|0}while((a|0)!=(c|0));c=k[g>>2]|0}uha(c);u=f;yb(u|0)}case 8:{c=k[j>>2]|0;if(!c)l=20;else if(!(Ot(c,64,1480,0)|0))l=20;else{c=a+8|0;a=(k[c>>2]|0)+36|0;e=lD(a,76)|0;d=b+8|0;t=f;o=d;q=t+40|0;do{k[t>>2]=k[o>>2];t=t+4|0;o=o+4|0}while((t|0)<(q|0));lE(g,78097,0);x=0;t=m;o=f;q=t+40|0;do{k[t>>2]=k[o>>2];t=t+4|0;o=o+4|0}while((t|0)<(q|0));qa(5,e|0,m|0,g|0,0,0);t=x;x=0;if(!(t&1)){x=0;a=Ka(857,a|0,e|0)|0;t=x;x=0;if(!(t&1)){k[b+64>>2]=0;k[j>>2]=a;P1(g);break a}}u=mb()|0;P1(g);yb(u|0)}break}default:l=20}while(0);if((l|0)==20){k[b+64>>2]=0;k[j>>2]=h;d=b+8|0;c=a+8|0}c=(k[c>>2]|0)+36|0;a=lD(c,76)|0;t=n;o=d;q=t+40|0;do{k[t>>2]=k[o>>2];t=t+4|0;o=o+4|0}while((t|0)<(q|0));rc[k[(k[b>>2]|0)+12>>2]&1023](s,b);x=0;t=m;o=n;q=t+40|0;do{k[t>>2]=k[o>>2];t=t+4|0;o=o+4|0}while((t|0)<(q|0));qa(5,a|0,m|0,s|0,0,0);b=x;x=0;if(!(b&1)){x=0;c=Ka(857,c|0,a|0)|0;b=x;x=0;if(!(b&1)){P1(s);b=c;r=u;return b|0}}u=mb()|0;P1(s);yb(u|0);return 0}function fh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=0;D=r;r=r+240|0;v=D+200|0;h=D+199|0;j=D+198|0;F=D+184|0;E=D+172|0;z=D+168|0;B=D+8|0;C=D+4|0;A=D;y=D+197|0;w=D+196|0;fu(F,d,v,h,j);a=0;while(1){if((a|0)==3)break;k[E+(a<<2)>>2]=0;a=a+1|0}if(!(i[E>>0]&1))a=10;else a=(k[E>>2]&-2)+-1|0;x=0;Qa(86,E|0,a|0,0);u=x;x=0;a:do if(u&1)G=28;else{s=E+8|0;t=E+1|0;n=(i[E>>0]&1)==0?t:k[s>>2]|0;k[z>>2]=n;k[C>>2]=B;k[A>>2]=0;i[y>>0]=1;i[w>>0]=69;u=E+4|0;q=i[h>>0]|0;p=i[j>>0]|0;a=k[b>>2]|0;h=n;b:while(1){if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;n=x;x=0;if(n&1){G=27;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;j=k[c>>2]|0;do if(!j)G=19;else{if((k[j+12>>2]|0)!=(k[j+16>>2]|0))if(d)break;else break b;x=0;m=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;n=x;x=0;if(n&1){G=27;break b}if((m|0)==-1){k[c>>2]=0;G=19;break}else if(d)break;else break b}while(0);if((G|0)==19){G=0;if(d){j=0;break}else j=0}m=i[E>>0]|0;m=(m&1)==0?(m&255)>>>1:k[u>>2]|0;if((k[z>>2]|0)==(h+m|0)){x=0;Qa(86,E|0,m<<1|0,0);n=x;x=0;if(n&1){G=27;break}if(!(i[E>>0]&1))d=10;else d=(k[E>>2]&-2)+-1|0;x=0;Qa(86,E|0,d|0,0);n=x;x=0;if(n&1){G=27;break}h=(i[E>>0]&1)==0?t:k[s>>2]|0;k[z>>2]=h+m}m=a+12|0;d=k[m>>2]|0;n=a+16|0;if((d|0)==(k[n>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;H=x;x=0;if(H&1){G=27;break}}else d=l[d>>0]|0;if(um(d&255,y,w,h,z,q,p,F,B,C,A,v)|0)break;d=k[m>>2]|0;if((d|0)==(k[n>>2]|0)){x=0;ua(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;H=x;x=0;if(H&1){G=27;break}else continue}else{k[m>>2]=d+1;continue}}if((G|0)==27){a=mb()|0;break}H=i[F>>0]|0;if(!((i[y>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:k[F+4>>2]|0)|0)==0)){d=k[C>>2]|0;if((d-B|0)<160){H=k[A>>2]|0;k[C>>2]=d+4;k[d>>2]=H}}x=0;g=+Ma(2,h|0,k[z>>2]|0,e|0);H=x;x=0;if(H&1)G=28;else{o[f>>2]=g;pv(F,B,k[C>>2]|0,e);if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;H=x;x=0;if(H&1){G=28;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;do if(!j)G=52;else{if((k[j+12>>2]|0)==(k[j+16>>2]|0)){x=0;a=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;H=x;x=0;if(H&1){G=28;break a}if((a|0)==-1){k[c>>2]=0;G=52;break}}if(!d)G=53}while(0);if((G|0)==52)if(d)G=53;if((G|0)==53)k[e>>2]=k[e>>2]|2;H=k[b>>2]|0;P1(E);P1(F);r=D;return H|0}}while(0);if((G|0)==28)a=mb()|0;P1(E);P1(F);yb(a|0);return 0}function gh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=0;D=r;r=r+240|0;v=D+200|0;h=D+199|0;j=D+198|0;F=D+184|0;E=D+172|0;z=D+168|0;B=D+8|0;C=D+4|0;A=D;y=D+197|0;w=D+196|0;fu(F,d,v,h,j);a=0;while(1){if((a|0)==3)break;k[E+(a<<2)>>2]=0;a=a+1|0}if(!(i[E>>0]&1))a=10;else a=(k[E>>2]&-2)+-1|0;x=0;Qa(86,E|0,a|0,0);u=x;x=0;a:do if(u&1)G=28;else{s=E+8|0;t=E+1|0;n=(i[E>>0]&1)==0?t:k[s>>2]|0;k[z>>2]=n;k[C>>2]=B;k[A>>2]=0;i[y>>0]=1;i[w>>0]=69;u=E+4|0;q=i[h>>0]|0;o=i[j>>0]|0;a=k[b>>2]|0;h=n;b:while(1){if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;n=x;x=0;if(n&1){G=27;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;j=k[c>>2]|0;do if(!j)G=19;else{if((k[j+12>>2]|0)!=(k[j+16>>2]|0))if(d)break;else break b;x=0;m=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;n=x;x=0;if(n&1){G=27;break b}if((m|0)==-1){k[c>>2]=0;G=19;break}else if(d)break;else break b}while(0);if((G|0)==19){G=0;if(d){j=0;break}else j=0}m=i[E>>0]|0;m=(m&1)==0?(m&255)>>>1:k[u>>2]|0;if((k[z>>2]|0)==(h+m|0)){x=0;Qa(86,E|0,m<<1|0,0);n=x;x=0;if(n&1){G=27;break}if(!(i[E>>0]&1))d=10;else d=(k[E>>2]&-2)+-1|0;x=0;Qa(86,E|0,d|0,0);n=x;x=0;if(n&1){G=27;break}h=(i[E>>0]&1)==0?t:k[s>>2]|0;k[z>>2]=h+m}m=a+12|0;d=k[m>>2]|0;n=a+16|0;if((d|0)==(k[n>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;H=x;x=0;if(H&1){G=27;break}}else d=l[d>>0]|0;if(um(d&255,y,w,h,z,q,o,F,B,C,A,v)|0)break;d=k[m>>2]|0;if((d|0)==(k[n>>2]|0)){x=0;ua(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;H=x;x=0;if(H&1){G=27;break}else continue}else{k[m>>2]=d+1;continue}}if((G|0)==27){a=mb()|0;break}H=i[F>>0]|0;if(!((i[y>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:k[F+4>>2]|0)|0)==0)){d=k[C>>2]|0;if((d-B|0)<160){H=k[A>>2]|0;k[C>>2]=d+4;k[d>>2]=H}}x=0;g=+Ma(4,h|0,k[z>>2]|0,e|0);H=x;x=0;if(H&1)G=28;else{p[f>>3]=g;pv(F,B,k[C>>2]|0,e);if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;H=x;x=0;if(H&1){G=28;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;do if(!j)G=52;else{if((k[j+12>>2]|0)==(k[j+16>>2]|0)){x=0;a=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;H=x;x=0;if(H&1){G=28;break a}if((a|0)==-1){k[c>>2]=0;G=52;break}}if(!d)G=53}while(0);if((G|0)==52)if(d)G=53;if((G|0)==53)k[e>>2]=k[e>>2]|2;H=k[b>>2]|0;P1(E);P1(F);r=D;return H|0}}while(0);if((G|0)==28)a=mb()|0;P1(E);P1(F);yb(a|0);return 0}function hh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=0;D=r;r=r+240|0;v=D+200|0;h=D+199|0;j=D+198|0;F=D+184|0;E=D+172|0;z=D+168|0;B=D+8|0;C=D+4|0;A=D;y=D+197|0;w=D+196|0;fu(F,d,v,h,j);a=0;while(1){if((a|0)==3)break;k[E+(a<<2)>>2]=0;a=a+1|0}if(!(i[E>>0]&1))a=10;else a=(k[E>>2]&-2)+-1|0;x=0;Qa(86,E|0,a|0,0);u=x;x=0;a:do if(u&1)G=28;else{s=E+8|0;t=E+1|0;n=(i[E>>0]&1)==0?t:k[s>>2]|0;k[z>>2]=n;k[C>>2]=B;k[A>>2]=0;i[y>>0]=1;i[w>>0]=69;u=E+4|0;q=i[h>>0]|0;o=i[j>>0]|0;a=k[b>>2]|0;h=n;b:while(1){if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;n=x;x=0;if(n&1){G=27;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;j=k[c>>2]|0;do if(!j)G=19;else{if((k[j+12>>2]|0)!=(k[j+16>>2]|0))if(d)break;else break b;x=0;m=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;n=x;x=0;if(n&1){G=27;break b}if((m|0)==-1){k[c>>2]=0;G=19;break}else if(d)break;else break b}while(0);if((G|0)==19){G=0;if(d){j=0;break}else j=0}m=i[E>>0]|0;m=(m&1)==0?(m&255)>>>1:k[u>>2]|0;if((k[z>>2]|0)==(h+m|0)){x=0;Qa(86,E|0,m<<1|0,0);n=x;x=0;if(n&1){G=27;break}if(!(i[E>>0]&1))d=10;else d=(k[E>>2]&-2)+-1|0;x=0;Qa(86,E|0,d|0,0);n=x;x=0;if(n&1){G=27;break}h=(i[E>>0]&1)==0?t:k[s>>2]|0;k[z>>2]=h+m}m=a+12|0;d=k[m>>2]|0;n=a+16|0;if((d|0)==(k[n>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;H=x;x=0;if(H&1){G=27;break}}else d=l[d>>0]|0;if(um(d&255,y,w,h,z,q,o,F,B,C,A,v)|0)break;d=k[m>>2]|0;if((d|0)==(k[n>>2]|0)){x=0;ua(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;H=x;x=0;if(H&1){G=27;break}else continue}else{k[m>>2]=d+1;continue}}if((G|0)==27){a=mb()|0;break}H=i[F>>0]|0;if(!((i[y>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:k[F+4>>2]|0)|0)==0)){d=k[C>>2]|0;if((d-B|0)<160){H=k[A>>2]|0;k[C>>2]=d+4;k[d>>2]=H}}x=0;g=+Ma(3,h|0,k[z>>2]|0,e|0);H=x;x=0;if(H&1)G=28;else{p[f>>3]=g;pv(F,B,k[C>>2]|0,e);if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;H=x;x=0;if(H&1){G=28;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;do if(!j)G=52;else{if((k[j+12>>2]|0)==(k[j+16>>2]|0)){x=0;a=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;H=x;x=0;if(H&1){G=28;break a}if((a|0)==-1){k[c>>2]=0;G=52;break}}if(!d)G=53}while(0);if((G|0)==52)if(d)G=53;if((G|0)==53)k[e>>2]=k[e>>2]|2;H=k[b>>2]|0;P1(E);P1(F);r=D;return H|0}}while(0);if((G|0)==28)a=mb()|0;P1(E);P1(F);yb(a|0);return 0}function ih(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=0;A=r;r=r+224|0;t=A+198|0;g=A+196|0;C=A+184|0;B=A+172|0;v=A+168|0;y=A+8|0;z=A+4|0;w=A;switch(k[d+4>>2]&74|0){case 64:{u=8;break}case 8:{u=16;break}case 0:{u=0;break}default:u=10}Cv(C,d,t,g);a=0;while(1){if((a|0)==3)break;k[B+(a<<2)>>2]=0;a=a+1|0}if(!(i[B>>0]&1))a=10;else a=(k[B>>2]&-2)+-1|0;x=0;Qa(86,B|0,a|0,0);s=x;x=0;a:do if(s&1)D=32;else{p=B+8|0;q=B+1|0;n=(i[B>>0]&1)==0?q:k[p>>2]|0;k[v>>2]=n;k[z>>2]=y;k[w>>2]=0;s=B+4|0;o=i[g>>0]|0;a=k[b>>2]|0;g=n;b:while(1){if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;n=x;x=0;if(n&1){D=31;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;h=k[c>>2]|0;do if(!h)D=23;else{if((k[h+12>>2]|0)!=(k[h+16>>2]|0))if(d)break;else break b;x=0;m=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;n=x;x=0;if(n&1){D=31;break b}if((m|0)==-1){k[c>>2]=0;D=23;break}else if(d)break;else break b}while(0);if((D|0)==23){D=0;if(d){h=0;break}else h=0}m=i[B>>0]|0;m=(m&1)==0?(m&255)>>>1:k[s>>2]|0;if((k[v>>2]|0)==(g+m|0)){x=0;Qa(86,B|0,m<<1|0,0);n=x;x=0;if(n&1){D=31;break}if(!(i[B>>0]&1))d=10;else d=(k[B>>2]&-2)+-1|0;x=0;Qa(86,B|0,d|0,0);n=x;x=0;if(n&1){D=31;break}g=(i[B>>0]&1)==0?q:k[p>>2]|0;k[v>>2]=g+m}m=a+12|0;d=k[m>>2]|0;n=a+16|0;if((d|0)==(k[n>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=31;break}}else d=l[d>>0]|0;if(Ho(d&255,u,g,v,w,o,C,y,z,t)|0)break;d=k[m>>2]|0;if((d|0)==(k[n>>2]|0)){x=0;ua(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=31;break}else continue}else{k[m>>2]=d+1;continue}}if((D|0)==31){a=mb()|0;break}E=i[C>>0]|0;if(((E&1)==0?(E&255)>>>1:k[C+4>>2]|0)|0){d=k[z>>2]|0;if((d-y|0)<160){E=k[w>>2]|0;k[z>>2]=d+4;k[d>>2]=E}}x=0;d=Pa(15,g|0,k[v>>2]|0,e|0,u|0)|0;E=x;x=0;if(E&1)D=32;else{j[f>>1]=d;pv(C,y,k[z>>2]|0,e);if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=32;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;do if(!h)D=56;else{if((k[h+12>>2]|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;E=x;x=0;if(E&1){D=32;break a}if((a|0)==-1){k[c>>2]=0;D=56;break}}if(!d)D=57}while(0);if((D|0)==56)if(d)D=57;if((D|0)==57)k[e>>2]=k[e>>2]|2;E=k[b>>2]|0;P1(B);P1(C);r=A;return E|0}}while(0);if((D|0)==32)a=mb()|0;P1(B);P1(C);yb(a|0);return 0}function jh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;C=0;z=r;r=r+224|0;s=z+198|0;g=z+196|0;B=z+184|0;A=z+172|0;u=z+168|0;w=z+8|0;y=z+4|0;v=z;switch(k[d+4>>2]&74|0){case 64:{t=8;break}case 8:{t=16;break}case 0:{t=0;break}default:t=10}Cv(B,d,s,g);a=0;while(1){if((a|0)==3)break;k[A+(a<<2)>>2]=0;a=a+1|0}if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Qa(86,A|0,a|0,0);q=x;x=0;a:do if(q&1)C=32;else{o=A+8|0;p=A+1|0;m=(i[A>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=m;k[y>>2]=w;k[v>>2]=0;q=A+4|0;n=i[g>>0]|0;a=k[b>>2]|0;g=m;b:while(1){if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;m=x;x=0;if(m&1){C=31;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;h=k[c>>2]|0;do if(!h)C=23;else{if((k[h+12>>2]|0)!=(k[h+16>>2]|0))if(d)break;else break b;x=0;j=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;m=x;x=0;if(m&1){C=31;break b}if((j|0)==-1){k[c>>2]=0;C=23;break}else if(d)break;else break b}while(0);if((C|0)==23){C=0;if(d){h=0;break}else h=0}j=i[A>>0]|0;j=(j&1)==0?(j&255)>>>1:k[q>>2]|0;if((k[u>>2]|0)==(g+j|0)){x=0;Qa(86,A|0,j<<1|0,0);m=x;x=0;if(m&1){C=31;break}if(!(i[A>>0]&1))d=10;else d=(k[A>>2]&-2)+-1|0;x=0;Qa(86,A|0,d|0,0);m=x;x=0;if(m&1){C=31;break}g=(i[A>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=g+j}j=a+12|0;d=k[j>>2]|0;m=a+16|0;if((d|0)==(k[m>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;D=x;x=0;if(D&1){C=31;break}}else d=l[d>>0]|0;if(Ho(d&255,t,g,u,v,n,B,w,y,s)|0)break;d=k[j>>2]|0;if((d|0)==(k[m>>2]|0)){x=0;ua(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;D=x;x=0;if(D&1){C=31;break}else continue}else{k[j>>2]=d+1;continue}}if((C|0)==31){a=mb()|0;break}D=i[B>>0]|0;if(((D&1)==0?(D&255)>>>1:k[B+4>>2]|0)|0){d=k[y>>2]|0;if((d-w|0)<160){D=k[v>>2]|0;k[y>>2]=d+4;k[d>>2]=D}}x=0;d=Pa(17,g|0,k[u>>2]|0,e|0,t|0)|0;D=x;x=0;if(D&1)C=32;else{k[f>>2]=d;pv(B,w,k[y>>2]|0,e);if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;D=x;x=0;if(D&1){C=32;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;do if(!h)C=56;else{if((k[h+12>>2]|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;D=x;x=0;if(D&1){C=32;break a}if((a|0)==-1){k[c>>2]=0;C=56;break}}if(!d)C=57}while(0);if((C|0)==56)if(d)C=57;if((C|0)==57)k[e>>2]=k[e>>2]|2;D=k[b>>2]|0;P1(A);P1(B);r=z;return D|0}}while(0);if((C|0)==32)a=mb()|0;P1(A);P1(B);yb(a|0);return 0}function kh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;C=0;z=r;r=r+224|0;s=z+198|0;g=z+196|0;B=z+184|0;A=z+172|0;u=z+168|0;w=z+8|0;y=z+4|0;v=z;switch(k[d+4>>2]&74|0){case 64:{t=8;break}case 8:{t=16;break}case 0:{t=0;break}default:t=10}Cv(B,d,s,g);a=0;while(1){if((a|0)==3)break;k[A+(a<<2)>>2]=0;a=a+1|0}if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Qa(86,A|0,a|0,0);q=x;x=0;a:do if(q&1)C=32;else{o=A+8|0;p=A+1|0;m=(i[A>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=m;k[y>>2]=w;k[v>>2]=0;q=A+4|0;n=i[g>>0]|0;a=k[b>>2]|0;g=m;b:while(1){if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;m=x;x=0;if(m&1){C=31;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;h=k[c>>2]|0;do if(!h)C=23;else{if((k[h+12>>2]|0)!=(k[h+16>>2]|0))if(d)break;else break b;x=0;j=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;m=x;x=0;if(m&1){C=31;break b}if((j|0)==-1){k[c>>2]=0;C=23;break}else if(d)break;else break b}while(0);if((C|0)==23){C=0;if(d){h=0;break}else h=0}j=i[A>>0]|0;j=(j&1)==0?(j&255)>>>1:k[q>>2]|0;if((k[u>>2]|0)==(g+j|0)){x=0;Qa(86,A|0,j<<1|0,0);m=x;x=0;if(m&1){C=31;break}if(!(i[A>>0]&1))d=10;else d=(k[A>>2]&-2)+-1|0;x=0;Qa(86,A|0,d|0,0);m=x;x=0;if(m&1){C=31;break}g=(i[A>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=g+j}j=a+12|0;d=k[j>>2]|0;m=a+16|0;if((d|0)==(k[m>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;D=x;x=0;if(D&1){C=31;break}}else d=l[d>>0]|0;if(Ho(d&255,t,g,u,v,n,B,w,y,s)|0)break;d=k[j>>2]|0;if((d|0)==(k[m>>2]|0)){x=0;ua(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;D=x;x=0;if(D&1){C=31;break}else continue}else{k[j>>2]=d+1;continue}}if((C|0)==31){a=mb()|0;break}D=i[B>>0]|0;if(((D&1)==0?(D&255)>>>1:k[B+4>>2]|0)|0){d=k[y>>2]|0;if((d-w|0)<160){D=k[v>>2]|0;k[y>>2]=d+4;k[d>>2]=D}}x=0;d=Pa(16,g|0,k[u>>2]|0,e|0,t|0)|0;D=x;x=0;if(D&1)C=32;else{k[f>>2]=d;pv(B,w,k[y>>2]|0,e);if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;D=x;x=0;if(D&1){C=32;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;do if(!h)C=56;else{if((k[h+12>>2]|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;D=x;x=0;if(D&1){C=32;break a}if((a|0)==-1){k[c>>2]=0;C=56;break}}if(!d)C=57}while(0);if((C|0)==56)if(d)C=57;if((C|0)==57)k[e>>2]=k[e>>2]|2;D=k[b>>2]|0;P1(A);P1(B);r=z;return D|0}}while(0);if((C|0)==32)a=mb()|0;P1(A);P1(B);yb(a|0);return 0}function lh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;C=0;z=r;r=r+224|0;s=z+198|0;g=z+196|0;B=z+184|0;A=z+172|0;u=z+168|0;w=z+8|0;y=z+4|0;v=z;switch(k[d+4>>2]&74|0){case 64:{t=8;break}case 8:{t=16;break}case 0:{t=0;break}default:t=10}Cv(B,d,s,g);a=0;while(1){if((a|0)==3)break;k[A+(a<<2)>>2]=0;a=a+1|0}if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Qa(86,A|0,a|0,0);q=x;x=0;a:do if(q&1)C=32;else{o=A+8|0;p=A+1|0;m=(i[A>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=m;k[y>>2]=w;k[v>>2]=0;q=A+4|0;n=i[g>>0]|0;a=k[b>>2]|0;g=m;b:while(1){if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;m=x;x=0;if(m&1){C=31;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;h=k[c>>2]|0;do if(!h)C=23;else{if((k[h+12>>2]|0)!=(k[h+16>>2]|0))if(d)break;else break b;x=0;j=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;m=x;x=0;if(m&1){C=31;break b}if((j|0)==-1){k[c>>2]=0;C=23;break}else if(d)break;else break b}while(0);if((C|0)==23){C=0;if(d){h=0;break}else h=0}j=i[A>>0]|0;j=(j&1)==0?(j&255)>>>1:k[q>>2]|0;if((k[u>>2]|0)==(g+j|0)){x=0;Qa(86,A|0,j<<1|0,0);m=x;x=0;if(m&1){C=31;break}if(!(i[A>>0]&1))d=10;else d=(k[A>>2]&-2)+-1|0;x=0;Qa(86,A|0,d|0,0);m=x;x=0;if(m&1){C=31;break}g=(i[A>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=g+j}j=a+12|0;d=k[j>>2]|0;m=a+16|0;if((d|0)==(k[m>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;D=x;x=0;if(D&1){C=31;break}}else d=l[d>>0]|0;if(Ho(d&255,t,g,u,v,n,B,w,y,s)|0)break;d=k[j>>2]|0;if((d|0)==(k[m>>2]|0)){x=0;ua(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;D=x;x=0;if(D&1){C=31;break}else continue}else{k[j>>2]=d+1;continue}}if((C|0)==31){a=mb()|0;break}D=i[B>>0]|0;if(((D&1)==0?(D&255)>>>1:k[B+4>>2]|0)|0){d=k[y>>2]|0;if((d-w|0)<160){D=k[v>>2]|0;k[y>>2]=d+4;k[d>>2]=D}}x=0;d=Pa(13,g|0,k[u>>2]|0,e|0,t|0)|0;D=x;x=0;if(D&1)C=32;else{k[f>>2]=d;pv(B,w,k[y>>2]|0,e);if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;D=x;x=0;if(D&1){C=32;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;do if(!h)C=56;else{if((k[h+12>>2]|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;D=x;x=0;if(D&1){C=32;break a}if((a|0)==-1){k[c>>2]=0;C=56;break}}if(!d)C=57}while(0);if((C|0)==56)if(d)C=57;if((C|0)==57)k[e>>2]=k[e>>2]|2;D=k[b>>2]|0;P1(A);P1(B);r=z;return D|0}}while(0);if((C|0)==32)a=mb()|0;P1(A);P1(B);yb(a|0);return 0}function mh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=r;r=r+1008|0;t=D+8|0;g=D;j=D+896|0;m=D+888|0;h=D+488|0;E=D+480|0;z=D+892|0;v=D+476|0;A=D+472|0;F=D+460|0;H=D+448|0;G=D+436|0;s=D+432|0;l=D+32|0;y=D+24|0;w=D+20|0;u=D+16|0;k[m>>2]=j;p[t>>3]=f;j=UL(j,100,50769,t)|0;do if(j>>>0>99){x=0;a=Oa(3)|0;C=x;x=0;if(C&1){g=0;a=0;C=8}else{x=0;p[g>>3]=f;j=Pa(20,m|0,a|0,50769,g|0)|0;C=x;x=0;if(C&1){g=0;a=0;C=8}else{a=k[m>>2]|0;if(!a){x=0;pa(6);C=x;x=0;if(C&1){g=0;a=0;C=8;break}a=k[m>>2]|0}h=hd(j<<2)|0;g=h;if(!h){x=0;pa(6);C=x;x=0;if(C&1)C=8;else{h=0;B=g;q=j;C=11}}else{B=g;q=j;C=11}}}}else{B=0;a=0;q=j;C=11}while(0);if((C|0)==11){x=0;g=ua(189,d|0)|0;o=x;x=0;if(o&1){g=B;C=8}else{k[E>>2]=g;x=0;o=Ka(865,E|0,74204)|0;n=x;x=0;if(n&1)C=32;else{n=k[m>>2]|0;x=0;Pa(k[(k[o>>2]|0)+48>>2]|0,o|0,n|0,n+q|0,h|0)|0;n=x;x=0;if(n&1)C=32;else{if(!q)n=0;else n=(i[k[m>>2]>>0]|0)==45;j=0;while(1){if((j|0)==3)break;k[F+(j<<2)>>2]=0;j=j+1|0}j=0;while(1){if((j|0)==3)break;k[H+(j<<2)>>2]=0;j=j+1|0}j=0;while(1){if((j|0)==3)break;k[G+(j<<2)>>2]=0;j=j+1|0}x=0;Ja(4,c|0,n|0,E|0,z|0,v|0,A|0,F|0,H|0,G|0,s|0);c=x;x=0;if(c&1)h=mb()|0;else{m=k[s>>2]|0;if((q|0)>(m|0)){c=i[G>>0]|0;j=i[H>>0]|0;j=(q-m<<1|1)+m+((c&1)==0?(c&255)>>>1:k[G+4>>2]|0)+((j&1)==0?(j&255)>>>1:k[H+4>>2]|0)|0}else{c=i[G>>0]|0;j=i[H>>0]|0;j=m+2+((c&1)==0?(c&255)>>>1:k[G+4>>2]|0)+((j&1)==0?(j&255)>>>1:k[H+4>>2]|0)|0}if(j>>>0>100){l=hd(j<<2)|0;j=l;if(!l){x=0;pa(6);c=x;x=0;if(!(c&1)){l=0;C=36}}else C=36}else{j=0;C=36}if((C|0)==36){x=0;za(2,l|0,y|0,w|0,k[d+4>>2]|0,h|0,h+(q<<2)|0,o|0,n|0,z|0,k[v>>2]|0,k[A>>2]|0,F|0,H|0,G|0,m|0);A=x;x=0;if(!(A&1)){k[u>>2]=k[b>>2];b=k[y>>2]|0;h=k[w>>2]|0;x=0;k[t>>2]=k[u>>2];h=ta(127,t|0,l|0,b|0,h|0,d|0,e|0)|0;b=x;x=0;if(!(b&1)){if(j){cf(j);g=k[E>>2]|0}O1(G);O1(H);P1(F);sK(g)|0;if(B|0)cf(B);if(a|0)cf(a);r=D;return h|0}}}h=mb()|0;if(j){cf(j);g=k[E>>2]|0}}O1(G);O1(H);P1(F)}}if((C|0)==32)h=mb()|0;sK(g)|0;g=B}}if((C|0)==8)h=mb()|0;if(g|0)cf(g);if(a|0)cf(a);yb(h|0);return 0}function nh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+128|0;o=s+80|0;b=s+68|0;l=s+44|0;q=s+56|0;g=s;j=s+32|0;n=s+20|0;p=s+8|0;lE(b,37420,7);x=0;f=Ka(867,a|0,b|0)|0;m=x;x=0;if(m&1){s=mb()|0;P1(b);yb(s|0)}m=k[f>>2]|0;P1(b);d=(m|0)==0;do if(!d){h=Ot(m,8,448,0)|0;if(!h){if(!(Ot(m,8,432,0)|0))break;q=m;r=s;return q|0}f=c+36|0;b=lD(f,76)|0;_G(l,h+60|0);k[b+4>>2]=0;g=b+8|0;d=e;a=g+40|0;do{k[g>>2]=k[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(a|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;i[b+56>>0]=0;k[b+52>>2]=4;k[b>>2]=5932;i[b+57>>0]=0;i[b+58>>0]=0;x=0;sa(477,b+60|0,l|0);q=x;x=0;if(!(q&1)){k[b+72>>2]=0;x=0;f=Ka(857,f|0,b|0)|0;q=x;x=0;if(!(q&1)){P1(l);i[f+56>>0]=(i[h+57>>0]|0)!=0&1;q=f;r=s;return q|0}}s=mb()|0;P1(l);yb(s|0)}while(0);f=c+16|0;l=k[f>>2]|0;b=k[l>>2]|0;k[l>>2]=0;l=k[(k[m>>2]|0)+20>>2]|0;a=k[f>>2]|0;h=k[a+4>>2]|0;c=g;k[c>>2]=k[a>>2];k[c+4>>2]=h;k[o>>2]=k[g>>2];k[o+4>>2]=k[g+4>>2];Pc[l&255](q,m,o);if(d)h=14;else if(!(Ot(m,8,704,0)|0))h=14;else{x=0;Qa(74,j|0,38939,4);l=x;x=0;if(l&1)h=26;else h=15}if((h|0)==14){x=0;sa(430,j|0,q|0);l=x;x=0;if(l&1)h=26;else h=15}do if((h|0)==15){if(!(i[q>>0]&1)){i[q+1>>0]=0;i[q>>0]=0}else{i[k[q+8>>2]>>0]=0;k[q+4>>2]=0}x=0;sa(443,q|0,0);l=x;x=0;if(l&1){l=Eb(0)|0;Nba(l)}k[q>>2]=k[j>>2];k[q+4>>2]=k[j+4>>2];k[q+8>>2]=k[j+8>>2];k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;P1(j);k[k[f>>2]>>2]=b;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;f=i[q>>0]|0;f=(f&1)==0?(f&255)>>>1:k[q+4>>2]|0;x=0;Ua(10,p|0,37428,8,f+8|0);l=x;x=0;if(!(l&1)){x=0;xa(46,p|0,((i[q>>0]&1)==0?q+1|0:k[q+8>>2]|0)|0,f|0)|0;l=x;x=0;if(!(l&1)){x=0;f=Ka(866,p|0,37437)|0;l=x;x=0;do if(l&1)f=mb()|0;else{k[n>>2]=k[f>>2];k[n+4>>2]=k[f+4>>2];k[n+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;x=0;g=o;d=e;a=g+40|0;do{k[g>>2]=k[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(a|0));sa(530,n|0,o|0);e=x;x=0;if(e&1){f=mb()|0;P1(n);break}P1(n);P1(p);P1(q);q=m;r=s;return q|0}while(0);P1(p);break}}f=mb()|0;P1(p);h=27}else if((h|0)==26){f=mb()|0;h=27}while(0);P1(q);s=f;yb(s|0);return 0}function oh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=r;r=r+384|0;t=D+8|0;g=D;j=D+284|0;m=D+72|0;h=D+184|0;E=D+68|0;z=D+180|0;v=D+177|0;A=D+176|0;F=D+56|0;H=D+44|0;G=D+32|0;s=D+28|0;l=D+76|0;y=D+24|0;w=D+20|0;u=D+16|0;k[m>>2]=j;p[t>>3]=f;j=UL(j,100,50769,t)|0;do if(j>>>0>99){x=0;a=Oa(3)|0;C=x;x=0;if(C&1){g=0;a=0;C=8}else{x=0;p[g>>3]=f;j=Pa(20,m|0,a|0,50769,g|0)|0;C=x;x=0;if(C&1){g=0;a=0;C=8}else{a=k[m>>2]|0;if(!a){x=0;pa(6);C=x;x=0;if(C&1){g=0;a=0;C=8;break}a=k[m>>2]|0}h=hd(j)|0;g=h;if(!h){x=0;pa(6);C=x;x=0;if(C&1)C=8;else{h=0;B=g;q=j;C=11}}else{B=g;q=j;C=11}}}}else{B=0;a=0;q=j;C=11}while(0);if((C|0)==11){x=0;g=ua(189,d|0)|0;o=x;x=0;if(o&1){g=B;C=8}else{k[E>>2]=g;x=0;o=Ka(865,E|0,74172)|0;n=x;x=0;if(n&1)C=32;else{n=k[m>>2]|0;x=0;Pa(k[(k[o>>2]|0)+32>>2]|0,o|0,n|0,n+q|0,h|0)|0;n=x;x=0;if(n&1)C=32;else{if(!q)n=0;else n=(i[k[m>>2]>>0]|0)==45;j=0;while(1){if((j|0)==3)break;k[F+(j<<2)>>2]=0;j=j+1|0}j=0;while(1){if((j|0)==3)break;k[H+(j<<2)>>2]=0;j=j+1|0}j=0;while(1){if((j|0)==3)break;k[G+(j<<2)>>2]=0;j=j+1|0}x=0;Ja(3,c|0,n|0,E|0,z|0,v|0,A|0,F|0,H|0,G|0,s|0);c=x;x=0;if(c&1)h=mb()|0;else{m=k[s>>2]|0;if((q|0)>(m|0)){c=i[G>>0]|0;j=i[H>>0]|0;j=(q-m<<1|1)+m+((c&1)==0?(c&255)>>>1:k[G+4>>2]|0)+((j&1)==0?(j&255)>>>1:k[H+4>>2]|0)|0}else{c=i[G>>0]|0;j=i[H>>0]|0;j=m+2+((c&1)==0?(c&255)>>>1:k[G+4>>2]|0)+((j&1)==0?(j&255)>>>1:k[H+4>>2]|0)|0}if(j>>>0>100){l=hd(j)|0;j=l;if(!l){x=0;pa(6);c=x;x=0;if(!(c&1)){l=0;C=36}}else C=36}else{j=0;C=36}if((C|0)==36){x=0;za(1,l|0,y|0,w|0,k[d+4>>2]|0,h|0,h+q|0,o|0,n|0,z|0,i[v>>0]|0,i[A>>0]|0,F|0,H|0,G|0,m|0);A=x;x=0;if(!(A&1)){k[u>>2]=k[b>>2];b=k[y>>2]|0;h=k[w>>2]|0;x=0;k[t>>2]=k[u>>2];h=ta(39,t|0,l|0,b|0,h|0,d|0,e|0)|0;b=x;x=0;if(!(b&1)){if(j){cf(j);g=k[E>>2]|0}P1(G);P1(H);P1(F);sK(g)|0;if(B|0)cf(B);if(a|0)cf(a);r=D;return h|0}}}h=mb()|0;if(j){cf(j);g=k[E>>2]|0}}P1(G);P1(H);P1(F)}}if((C|0)==32)h=mb()|0;sK(g)|0;g=B}}if((C|0)==8)h=mb()|0;if(g|0)cf(g);if(a|0)cf(a);yb(h|0);return 0}function ph(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;h=0;w=r;r=r+32|0;v=w+12|0;q=w;u=w+24|0;f=i[b>>0]|0;e=(f&1)==0;g=b+4|0;f=e?(f&255)>>>1:k[g>>2]|0;if(f>>>0<2){_G(a,b);r=w;return}s=b+8|0;t=b+1|0;e=e?t:k[s>>2]|0;switch(i[e>>0]|0){case 34:{if((i[e+f+-1>>0]|0)==34)p=34;else h=6;break}case 39:{if((i[e+f+-1>>0]|0)==39)p=39;else h=6;break}default:h=6}if((h|0)==6){_G(a,b);r=w;return}k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;sa(443,v|0,f+-2|0);o=x;x=0;a:do if(!(o&1)){e=i[b>>0]|0;m=((e&1)==0?(e&255)>>>1:k[g>>2]|0)+-1|0;do if(m>>>0>1){n=q+8|0;o=q+1|0;f=1;h=0;b:while(1){j=k[s>>2]|0;g=i[((e&1)==0?t:j)+f>>0]|0;do if(h|g<<24>>24!=92){x=0;sa(440,v|0,g|0);l=x;x=0;if(l&1){h=13;break b}else{e=f;g=0}}else{l=f+1|0;c:do if(l>>>0>>0){e=i[((e&1)==0?t:j)+l>>0]|0;if(!(e<<24>>24)){g=l;j=1}else{g=l;h=1;while(1){x=0;e=ua(264,e<<24>>24|0)|0;j=x;x=0;if(j&1){h=12;break b}if(!e){j=h;break c}h=h+1|0;g=h+f|0;if(g>>>0>=m>>>0){j=h;break c}e=i[((i[b>>0]&1)==0?t:k[s>>2]|0)+g>>0]|0;if(!(e<<24>>24)){j=h;break}}}}else{g=l;j=1}while(0);if(d){x=0;sa(440,v|0,i[((i[b>>0]&1)==0?t:k[s>>2]|0)+f>>0]|0);l=x;x=0;if(l&1){h=13;break b}else{e=f;g=1;break}}if(j>>>0>1){x=0;qa(4,q|0,b|0,l|0,j+-1|0,b|0);l=x;x=0;if(l&1){h=13;break b}l=A4((i[q>>0]&1)==0?o:k[n>>2]|0,0,16)|0;P1(q);h=(i[((i[b>>0]&1)==0?t:k[s>>2]|0)+g>>0]|0)==32&1;i[u>>0]=0;i[u+1>>0]=0;i[u+2>>0]=0;i[u+3>>0]=0;i[u+4>>0]=0;x=0;Ka(906,((l|0)==0?65533:l)|0,u|0)|0;l=x;x=0;if(l&1){h=13;break b}e=i[u>>0]|0;if(e<<24>>24){g=0;do{x=0;sa(440,v|0,e|0);l=x;x=0;if(l&1){h=11;break b}g=g+1|0;e=i[u+g>>0]|0}while(g>>>0<5&e<<24>>24!=0)}e=f+-1+j+h|0;g=0}else{e=f;g=1}}while(0);f=e+1|0;if(f>>>0>=m>>>0){h=10;break}e=i[b>>0]|0;h=g}if((h|0)==10){if(!g){h=36;break}x=0;sa(430,a|0,b|0);u=x;x=0;if(u&1)break a;else break}else if((h|0)==11){w=mb()|0;P1(v);yb(w|0)}else if((h|0)==12){w=mb()|0;P1(v);yb(w|0)}else if((h|0)==13){w=mb()|0;P1(v);yb(w|0)}}else h=36;while(0);if((h|0)==36){if(c|0)i[c>>0]=p;k[a>>2]=k[v>>2];k[a+4>>2]=k[v+4>>2];k[a+8>>2]=k[v+8>>2];k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0}P1(v);r=w;return}while(0);w=mb()|0;P1(v);yb(w|0)}function qh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+144|0;m=s+104|0;b=s+92|0;t=s+80|0;o=s+68|0;p=s+56|0;n=s+16|0;q=s;lE(b,37420,7);x=0;g=m;h=e;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));h=wa(25,b|0,a|0,d|0,m|0,f|0)|0;j=x;x=0;if(j&1){t=mb()|0;P1(b);yb(t|0)}P1(b);_G(t,h+60|0);b=i[t>>0]|0;a=(b&1)==0?(b&255)>>>1:k[t+4>>2]|0;a:do if(!a)d=4;else{d=t+8|0;g=t+1|0;f=0;while(1){x=0;b=ua(225,i[((b&1)==0?g:k[d>>2]|0)+f>>0]|0)|0;j=x;x=0;if(j&1)break;if(b){x=0;b=ua(224,i[((i[t>>0]&1)==0?g:k[d>>2]|0)+f>>0]|0)|0;j=x;x=0;if(j&1)break;i[((i[t>>0]&1)==0?g:k[d>>2]|0)+f>>0]=b}f=f+1|0;if(f>>>0>=a>>>0){d=4;break a}b=i[t>>0]|0}b=mb()|0;d=13}while(0);do if((d|0)==4){if(!h){b=c+36|0;d=25}else{a=Ot(h,432,448,0)|0;f=c+36|0;if(!a){b=f;d=25}else{x=0;b=Ka(856,f|0,76)|0;e=x;x=0;if(!(e&1)){k[b+4>>2]=k[a+4>>2];k[b>>2]=4748;g=b+8|0;h=a+8|0;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[b>>2]=6736;n=a+48|0;q=k[n+4>>2]|0;e=b+48|0;k[e>>2]=k[n>>2];k[e+4>>2]=q;i[b+56>>0]=i[a+56>>0]|0;k[b>>2]=5932;e=b+57|0;q=a+57|0;q=l[q>>0]|l[q+1>>0]<<8;i[e>>0]=q;i[e+1>>0]=q>>8;x=0;sa(430,b+60|0,a+60|0);e=x;x=0;if(!(e&1)){k[b+72>>2]=k[a+72>>2];k[b>>2]=6048;x=0;f=Ka(857,f|0,b|0)|0;e=x;x=0;if(!(e&1)){x=0;sa(430,p|0,t|0);e=x;x=0;if(!(e&1)){k[f+72>>2]=0;x=0;b=Ka(854,f+60|0,p|0)|0;e=x;x=0;if(!(e&1)){x=0;sa(430,o|0,b|0);e=x;x=0;if(!(e&1)){P1(o);P1(p);e=f;P1(t);r=s;return e|0}}b=mb()|0;P1(p);break}}}}}}if((d|0)==25){x=0;f=Ka(856,b|0,76)|0;p=x;x=0;if(!(p&1)){g=n;h=e;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));x=0;sa(430,q|0,t|0);e=x;x=0;if(!(e&1)){x=0;g=m;h=n;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));qa(5,f|0,m|0,q|0,0,0);e=x;x=0;if(!(e&1)){x=0;b=Ka(857,b|0,f|0)|0;e=x;x=0;if(!(e&1)){P1(q);e=b;P1(t);r=s;return e|0}}b=mb()|0;P1(q);break}}}b=mb()|0;d=13}while(0);P1(t);t=b;yb(t|0);return 0}function rh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+144|0;m=s+104|0;b=s+92|0;t=s+80|0;o=s+68|0;p=s+56|0;n=s+16|0;q=s;lE(b,37420,7);x=0;g=m;h=e;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));h=wa(25,b|0,a|0,d|0,m|0,f|0)|0;j=x;x=0;if(j&1){t=mb()|0;P1(b);yb(t|0)}P1(b);_G(t,h+60|0);b=i[t>>0]|0;a=(b&1)==0?(b&255)>>>1:k[t+4>>2]|0;a:do if(!a)d=4;else{d=t+8|0;g=t+1|0;f=0;while(1){x=0;b=ua(225,i[((b&1)==0?g:k[d>>2]|0)+f>>0]|0)|0;j=x;x=0;if(j&1)break;if(b){x=0;b=ua(220,i[((i[t>>0]&1)==0?g:k[d>>2]|0)+f>>0]|0)|0;j=x;x=0;if(j&1)break;i[((i[t>>0]&1)==0?g:k[d>>2]|0)+f>>0]=b}f=f+1|0;if(f>>>0>=a>>>0){d=4;break a}b=i[t>>0]|0}b=mb()|0;d=13}while(0);do if((d|0)==4){if(!h){b=c+36|0;d=25}else{a=Ot(h,432,448,0)|0;f=c+36|0;if(!a){b=f;d=25}else{x=0;b=Ka(856,f|0,76)|0;e=x;x=0;if(!(e&1)){k[b+4>>2]=k[a+4>>2];k[b>>2]=4748;g=b+8|0;h=a+8|0;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[b>>2]=6736;n=a+48|0;q=k[n+4>>2]|0;e=b+48|0;k[e>>2]=k[n>>2];k[e+4>>2]=q;i[b+56>>0]=i[a+56>>0]|0;k[b>>2]=5932;e=b+57|0;q=a+57|0;q=l[q>>0]|l[q+1>>0]<<8;i[e>>0]=q;i[e+1>>0]=q>>8;x=0;sa(430,b+60|0,a+60|0);e=x;x=0;if(!(e&1)){k[b+72>>2]=k[a+72>>2];k[b>>2]=6048;x=0;f=Ka(857,f|0,b|0)|0;e=x;x=0;if(!(e&1)){x=0;sa(430,p|0,t|0);e=x;x=0;if(!(e&1)){k[f+72>>2]=0;x=0;b=Ka(854,f+60|0,p|0)|0;e=x;x=0;if(!(e&1)){x=0;sa(430,o|0,b|0);e=x;x=0;if(!(e&1)){P1(o);P1(p);e=f;P1(t);r=s;return e|0}}b=mb()|0;P1(p);break}}}}}}if((d|0)==25){x=0;f=Ka(856,b|0,76)|0;p=x;x=0;if(!(p&1)){g=n;h=e;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));x=0;sa(430,q|0,t|0);e=x;x=0;if(!(e&1)){x=0;g=m;h=n;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));qa(5,f|0,m|0,q|0,0,0);e=x;x=0;if(!(e&1)){x=0;b=Ka(857,b|0,f|0)|0;e=x;x=0;if(!(e&1)){P1(q);e=b;P1(t);r=s;return e|0}}b=mb()|0;P1(q);break}}}b=mb()|0;d=13}while(0);P1(t);t=b;yb(t|0);return 0}function sh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;q=0;s=r;r=r+224|0;n=s+176|0;o=s+164|0;p=s;u=s+152|0;g=s+96|0;m=s+112|0;l=s+56|0;t=s+40|0;do{}while((mq(a,1,0)|0)!=0);Gs(a,1,0)|0;c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(g);q=7}else if(f>>>0<11){i[g>>0]=f<<1;b=g+1|0}else q=7;if((q|0)==7){q=f+16&-16;b=GG(q)|0;k[g+8>>2]=b;k[g>>2]=q|1;k[g+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;x=0;sa(492,u|0,g|0);q=x;x=0;if(q&1){u=mb()|0;P1(g);yb(u|0)}P1(g);f=m;g=a+108|0;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));while(1){x=0;b=xa(99,a|0,1,0)|0;q=x;x=0;if(q&1){q=17;break}if(!b){q=20;break}}a:do if((q|0)==17){b=mb()|0;q=19}else if((q|0)==20){x=0;b=xa(84,a|0,1,0)|0;j=x;x=0;do if(!(j&1)){if(!b){x=0;b=xa(100,a|0,1,0)|0;j=x;x=0;if(j&1)break;j=(b|0)!=0;b=0}else{do{x=0;b=xa(96,a|0,1,0)|0;j=x;x=0;if(j&1){q=16;break}}while((b|0)!=0);if((q|0)==16){b=mb()|0;q=19;break a}x=0;b=ua(248,a|0)|0;j=x;x=0;if(j&1)break;i[b+48>>0]=0;j=0}d=(k[a+40>>2]|0)+36|0;x=0;e=Ka(856,d|0,68)|0;a=x;x=0;if(!(a&1)){f=l;g=m;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));x=0;sa(430,t|0,u|0);m=x;x=0;if(!(m&1)){f=p;g=l;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));k[e+4>>2]=0;k[e>>2]=4748;f=e+8|0;g=p;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));k[e>>2]=16040;c=e+48|0;x=0;sa(430,c|0,t|0);m=x;x=0;b:do if(m&1){b=mb()|0;q=39}else{k[e+60>>2]=b;i[e+64>>0]=j&1;c:do if(!((b|0)==0|j^1)){x=0;Qa(74,o|0,42500,54);m=x;x=0;do if(m&1)b=mb()|0;else{x=0;f=n;g=p;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));sa(438,o|0,n|0);p=x;x=0;if(p&1){b=mb()|0;P1(o);break}else{P1(o);break c}}while(0);P1(c);q=39;break b}while(0);x=0;b=Ka(857,d|0,e|0)|0;p=x;x=0;if(p&1){b=mb()|0;break}else{P1(t);P1(u);r=s;return b|0}}while(0);P1(t);break a}}}while(0);b=mb()|0;q=19}while(0);P1(u);u=b;yb(u|0);return 0}function th(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+80|0;l=p+60|0;m=p+48|0;d=p+8|0;n=p;o=a+76|0;f=k[o>>2]|0;e=i[f>>0]|0;if(!(e<<24>>24)){o=0;r=p;return o|0}if(b){e=bO(f)|0;f=e|0?e:f;e=i[f>>0]|0}if(e<<24>>24==92){e=uaa(f+1|0)|0;if(!e)j=6;else j=21}else j=6;a:do if((j|0)==6){b:do if(f|0){b=i[41545]|0;c:do if(!(b<<24>>24)){e=f;j=10}else{e=f;g=41545;while(1){if((i[e>>0]|0)!=b<<24>>24)break c;e=e+1|0;g=g+1|0;b=i[g>>0]|0;if(!(b<<24>>24)){j=10;break}}}while(0);if((j|0)==10)if((i[e>>0]|0)==40)break;g=i[f>>0]|0;if(!(g<<24>>24)){g=0;break a}e=i[29942]|0;if(e<<24>>24){b=29942;do{if(g<<24>>24==e<<24>>24)break b;b=b+1|0;e=i[b>>0]|0}while(e<<24>>24!=0)}e=f+1|0;j=21;break a}while(0);e=f+1|0;switch(i[f>>0]|0){case 47:{g=i[e>>0]|0;h=f+2|0;if(!((g<<24>>24!=47?(g<<24>>24==42?h:0):h)|0)){j=21;break a}else{g=0;break a}}case 92:{b=f+2|0;if((i[e>>0]|0)!=35){g=0;break a}if((i[b>>0]|0)==123){g=0;break a}else{e=b;j=21;break a}}case 33:if(!(p5(e)|0)){j=21;break a}else{g=0;break a}default:{g=0;break a}}}while(0);if((j|0)==21){d:while(1){j=0;if((i[e>>0]|0)==92){b=uaa(e+1|0)|0;if(b|0){e=b;j=21;continue}}e:do if(e|0){g=i[41545]|0;f:do if(!(g<<24>>24)){b=e;j=27}else{b=e;h=41545;while(1){if((i[b>>0]|0)!=g<<24>>24)break f;b=b+1|0;h=h+1|0;g=i[h>>0]|0;if(!(g<<24>>24)){j=27;break}}}while(0);if((j|0)==27)if((i[b>>0]|0)==40)break;h=i[e>>0]|0;if(!(h<<24>>24))break d;b=i[29942]|0;if(b<<24>>24){g=29942;do{if(h<<24>>24==b<<24>>24)break e;g=g+1|0;b=i[g>>0]|0}while(b<<24>>24!=0)}e=e+1|0;j=21;continue d}while(0);b=e+1|0;switch(i[e>>0]|0){case 47:{h=i[b>>0]|0;j=e+2|0;if(!((h<<24>>24!=47?(h<<24>>24==42?j:0):j)|0)){e=b;j=21;continue d}else break d}case 92:{g=e+2|0;if((i[b>>0]|0)!=35)break d;if((i[g>>0]|0)==123)break d;else{e=g;j=21;continue d}}case 33:if(!(p5(b)|0)){e=b;j=21;continue d}else break d;default:break d}}if(e>>>0>(k[a+80>>2]|0)>>>0){o=0;r=p;return o|0}else g=e}if(!c)if((g|0)==0|(g|0)==(f|0)){o=0;r=p;return o|0}c=k[o>>2]|0;k[a+152>>2]=c;k[a+156>>2]=f;k[a+160>>2]=g;b=a+84|0;j=a+96|0;wC(m,j,c,f);k[b>>2]=k[m>>2];k[b+4>>2]=k[m+4>>2];k[b+8>>2]=k[m+8>>2];wC(l,j,f,g);c=k[a+12>>2]|0;e=k[a+72>>2]|0;fJ(n,j,b);k[l>>2]=k[n>>2];k[l+4>>2]=k[n+4>>2];EC(d,c,e,a+152|0,b,l);b=a+108|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));k[o>>2]=g;o=g;r=p;return o|0}function uh(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;p=0;n=r;r=r+96|0;h=n+80|0;f=n+68|0;e=n+56|0;g=n+48|0;j=n+32|0;o=n+20|0;l=n+8|0;m=n;_G(f,68980);x=0;sa(487,a|0,f|0);q=x;x=0;do if(q&1)e=mb()|0;else{k[a>>2]=8184;q=a+8|0;x=0;sa(430,q|0,f|0);s=x;x=0;if(s&1){e=mb()|0;f4(a);break}P1(f);k[a>>2]=10840;k[a+20>>2]=b;k[a+24>>2]=c;f=a+28|0;x=0;sa(430,f|0,d|0);s=x;x=0;if(s&1)e=mb()|0;else{x=0;Ka(874,q|0,31705)|0;s=x;x=0;a:do if(s&1)p=20;else{s=k[(k[b>>2]|0)+20>>2]|0;k[g>>2]=0;k[g+4>>2]=5;x=0;k[h>>2]=k[g>>2];k[h+4>>2]=k[g+4>>2];Qa(s|0,e|0,b|0,h|0);s=x;x=0;if(s&1)p=20;else{s=i[e>>0]|0;b=(s&1)==0;x=0;xa(46,q|0,(b?e+1|0:k[e+8>>2]|0)|0,(b?(s&255)>>>1:k[e+4>>2]|0)|0)|0;s=x;x=0;if(s&1){s=mb()|0;P1(e);e=s;break}P1(e);k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;e=i[d>>0]|0;e=(e&1)==0?(e&255)>>>1:k[d+4>>2]|0;x=0;Ua(10,o|0,41822,1,e+1|0);s=x;x=0;if(!(s&1)){x=0;xa(46,o|0,((i[d>>0]&1)==0?d+1|0:k[d+8>>2]|0)|0,e|0)|0;s=x;x=0;if(!(s&1)){x=0;e=Ka(866,o|0,41822)|0;s=x;x=0;do if(s&1)e=mb()|0;else{k[j>>2]=k[e>>2];k[j+4>>2]=k[e+4>>2];k[j+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;s=i[j>>0]|0;d=(s&1)==0;x=0;xa(46,q|0,(d?j+1|0:k[j+8>>2]|0)|0,(d?(s&255)>>>1:k[j+4>>2]|0)|0)|0;s=x;x=0;if(s&1){e=mb()|0;P1(j);break}P1(j);P1(o);s=k[(k[c>>2]|0)+20>>2]|0;k[m>>2]=0;k[m+4>>2]=5;x=0;k[h>>2]=k[m>>2];k[h+4>>2]=k[m+4>>2];Qa(s|0,l|0,c|0,h|0);s=x;x=0;if(s&1){p=20;break a}s=i[l>>0]|0;o=(s&1)==0;x=0;xa(46,q|0,(o?l+1|0:k[l+8>>2]|0)|0,(o?(s&255)>>>1:k[l+4>>2]|0)|0)|0;s=x;x=0;if(s&1){e=mb()|0;P1(l);break a}P1(l);x=0;Ka(866,q|0,47947)|0;s=x;x=0;if(s&1){p=20;break a}r=n;return}while(0);P1(o);break}}e=mb()|0;P1(o);p=21}}while(0);if((p|0)==20){e=mb()|0;p=21}P1(f)}k[a>>2]=8184;P1(q);f4(a);s=e;yb(s|0)}while(0);P1(f);s=e;yb(s|0)}function vh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;N=r;r=r+64|0;I=N+48|0;J=N+36|0;K=N+24|0;L=N+12|0;M=N;lE(a,78097,0);G=b+12|0;H=b+16|0;c=k[G>>2]|0;if((k[H>>2]|0)==(c|0)){r=N;return}o=b+48|0;p=J+8|0;q=J+1|0;s=J+4|0;t=K+8|0;u=K+1|0;v=K+4|0;w=L+8|0;y=L+1|0;z=L+4|0;A=M+8|0;B=M+1|0;C=M+4|0;D=I+8|0;E=I+1|0;F=I+4|0;h=0;j=0;e=0;l=0;m=0;n=0;while(1){O=c;O=O+(h*24|0)|0;d=k[O+12>>2]|0;b=j;j=k[O+16>>2]|0;g=n;n=k[O>>2]|0;c=l;l=k[O+4>>2]|0;f=m;m=k[O+8>>2]|0;if((d|0)==(e|0))if(!h)d=e;else{x=0;Ka(866,a|0,44344)|0;O=x;x=0;if(O&1){b=8;break}else d=e}else if(d>>>0>e>>>0){x=0;Qa(114,I|0,d-e|0,59);O=x;x=0;if(O&1){b=8;break}O=i[I>>0]|0;e=(O&1)==0;x=0;xa(46,a|0,(e?E:k[D>>2]|0)|0,(e?(O&255)>>>1:k[F>>2]|0)|0)|0;O=x;x=0;if(O&1){b=9;break}P1(I);b=0}else{b=0;d=e}x=0;Qa(144,J|0,o|0,j-b|0);O=x;x=0;if(O&1){b=8;break}O=i[J>>0]|0;e=(O&1)==0;x=0;xa(46,a|0,(e?q:k[p>>2]|0)|0,(e?(O&255)>>>1:k[s>>2]|0)|0)|0;O=x;x=0;if(O&1){b=21;break}P1(J);x=0;Qa(144,K|0,o|0,m-f|0);O=x;x=0;if(O&1){b=8;break}O=i[K>>0]|0;f=(O&1)==0;x=0;xa(46,a|0,(f?u:k[t>>2]|0)|0,(f?(O&255)>>>1:k[v>>2]|0)|0)|0;O=x;x=0;if(O&1){b=22;break}P1(K);x=0;Qa(144,L|0,o|0,n-g|0);O=x;x=0;if(O&1){b=8;break}O=i[L>>0]|0;g=(O&1)==0;x=0;xa(46,a|0,(g?y:k[w>>2]|0)|0,(g?(O&255)>>>1:k[z>>2]|0)|0)|0;O=x;x=0;if(O&1){b=23;break}P1(L);x=0;Qa(144,M|0,o|0,l-c|0);O=x;x=0;if(O&1){b=8;break}O=i[M>>0]|0;g=(O&1)==0;x=0;xa(46,a|0,(g?B:k[A>>2]|0)|0,(g?(O&255)>>>1:k[C>>2]|0)|0)|0;O=x;x=0;if(O&1){b=24;break}P1(M);h=h+1|0;c=k[G>>2]|0;if(h>>>0>=(((k[H>>2]|0)-c|0)/24|0)>>>0){b=25;break}else e=d}if((b|0)==8){O=mb()|0;P1(a);yb(O|0)}else if((b|0)==9){O=mb()|0;P1(I);P1(a);yb(O|0)}else if((b|0)==21){O=mb()|0;P1(J);P1(a);yb(O|0)}else if((b|0)==22){O=mb()|0;P1(K);P1(a);yb(O|0)}else if((b|0)==23){O=mb()|0;P1(L);P1(a);yb(O|0)}else if((b|0)==24){O=mb()|0;P1(M);P1(a);yb(O|0)}else if((b|0)==25){r=N;return}}function wh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0.0;w=r;r=r+208|0;v=w+160|0;u=w;s=w+144|0;h=v;j=d;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));o=Vk(a,b,c,v,g)|0;y=+p[o+56>>3];if(!(!(y>=e)|!(y<=f))){r=w;return o|0}t=u+64|0;b=u+8|0;k[b>>2]=8236;q=u+12|0;k[u>>2]=8440;k[t>>2]=8460;k[u+4>>2]=0;x=0;sa(452,u+64|0,q|0);n=x;x=0;if(n&1){w=mb()|0;P9(t);yb(w|0)}k[u+136>>2]=0;k[u+140>>2]=-1;k[u>>2]=8216;k[t>>2]=8256;k[b>>2]=8236;x=0;ra(324,q|0);n=x;x=0;do if(n&1)b=mb()|0;else{k[q>>2]=8272;m=u+44|0;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[m+12>>2]=0;k[u+60>>2]=24;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;sa(453,q|0,v|0);n=x;x=0;if(n&1){b=mb()|0;P1(v);P1(m);D2(q);break}P1(v);n=u+8|0;x=0;b=xa(49,n|0,36764,10)|0;l=x;x=0;if(!(l&1)){l=i[a>>0]|0;j=(l&1)==0;x=0;b=xa(49,b|0,(j?a+1|0:k[a+8>>2]|0)|0,(j?(l&255)>>>1:k[a+4>>2]|0)|0)|0;a=x;x=0;if(!(a&1)){x=0;b=xa(49,b|0,36775,6)|0;a=x;x=0;if(!(a&1)){a=OD(c)|0;x=0;b=xa(49,b|0,c|0,a|0)|0;c=x;x=0;if(!(c&1)){x=0;xa(49,b|0,36806,18)|0;c=x;x=0;if(!(c&1)){x=0;b=Ga(1,n|0,+e)|0;c=x;x=0;if(!(c&1)){x=0;b=xa(49,b|0,38933,5)|0;c=x;x=0;if(!(c&1)){x=0;Ga(1,b|0,+f)|0;c=x;x=0;if(!(c&1)){x=0;sa(454,s|0,q|0);c=x;x=0;if(!(c&1)){x=0;h=v;j=d;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));Qa(100,s|0,v|0,g|0);v=x;x=0;if(v&1){w=mb()|0;P1(s);k[u>>2]=8216;k[t>>2]=8256;k[n>>2]=8236;k[q>>2]=8272;P1(m);D2(q);P9(t);yb(w|0)}else{P1(s);k[u>>2]=8216;k[t>>2]=8256;k[n>>2]=8236;k[q>>2]=8272;P1(m);D2(q);P9(t);r=w;return o|0}}}}}}}}}}w=mb()|0;k[u>>2]=8216;k[t>>2]=8256;k[n>>2]=8236;k[q>>2]=8272;P1(m);D2(q);P9(t);yb(w|0)}while(0);w=b;P9(t);yb(w|0);return 0}function xh(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0;o=0;p=r;r=r+32|0;q=p+12|0;h=p;m=a+20|0;f=k[m>>2]|0;n=b+20|0;g=k[n>>2]|0;k[h>>2]=0;i=h+4|0;k[i>>2]=0;k[h+8>>2]=0;do if(g|0){if(g>>>0>1073741823){x=0;ra(322,h|0);l=x;x=0;if(!(l&1))o=4}else o=4;if((o|0)==4){c=g<<2;x=0;e=ua(186,c|0)|0;l=x;x=0;if(!(l&1)){k[h>>2]=e;l=e+(g<<2)|0;k[h+8>>2]=l;vE(e|0,0,c|0)|0;k[i>>2]=l;break}}f=mb()|0;c=k[h>>2]|0;if(!c)yb(f|0);e=k[i>>2]|0;if((e|0)!=(c|0))k[i>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(c);yb(f|0)}while(0);x=0;Qa(129,q|0,f|0,h|0);l=x;x=0;if(l&1){f=mb()|0;c=k[h>>2]|0;if(!c){q=f;yb(q|0)}e=k[i>>2]|0;if((e|0)!=(c|0))k[i>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(c);q=f;yb(q|0)}c=k[h>>2]|0;e=c;if(c|0){f=k[i>>2]|0;if((f|0)!=(c|0))k[i>>2]=f+(~((f+-4-e|0)>>>2)<<2);uha(c)}c=k[m>>2]|0;a:do if(c>>>0>1){l=a+16|0;i=a+4|0;j=b+16|0;b=b+4|0;e=c;c=k[n>>2]|0;a=1;b:while(1){if(c>>>0>1){g=a+-1|0;h=1;do{e=(k[l>>2]|0)+a|0;e=k[(k[(k[i>>2]|0)+(e>>>10<<2)>>2]|0)+((e&1023)<<2)>>2]|0;f=(k[j>>2]|0)+h|0;f=k[(k[(k[b>>2]|0)+(f>>>10<<2)>>2]|0)+((f&1023)<<2)>>2]|0;x=0;c=Ka(891,e|0,f|0)|0;s=x;x=0;if(s&1)break b;if(c)o=32;else{x=0;c=Ka(891,f|0,e|0)|0;s=x;x=0;if(s&1)break b;if(c)o=32;else o=38}do if((o|0)==32){o=0;if(!(k[e+68>>2]|0))if(!(k[f+68>>2]|0)){x=0;c=Ka(892,e|0,f|0)|0;s=x;x=0;if(s&1)break b;if(c){o=38;break}x=0;c=Ka(892,f|0,e|0)|0;s=x;x=0;if(s&1)break b;if(c){o=38;break}}e=k[q>>2]|0;s=k[e+(a*12|0)>>2]|0;f=k[s+(h+-1<<2)>>2]|0;e=k[(k[e+(g*12|0)>>2]|0)+(h<<2)>>2]|0;k[s+(h<<2)>>2]=(f|0)<(e|0)?e:f}while(0);if((o|0)==38){o=0;s=k[q>>2]|0;k[(k[s+(a*12|0)>>2]|0)+(h<<2)>>2]=(k[(k[s+(g*12|0)>>2]|0)+(h+-1<<2)>>2]|0)+1}h=h+1|0;c=k[n>>2]|0}while(h>>>0>>0);e=k[m>>2]|0}a=a+1|0;if(a>>>0>=e>>>0){o=20;break a}}i=mb()|0;c=q;b=M}else o=20;while(0);do if((o|0)==20){if((q|0)!=(d|0)){x=0;Qa(130,d|0,k[q>>2]|0,k[q+4>>2]|0);s=x;x=0;if(s&1){i=mb()|0;c=q;b=M;break}}c=k[q>>2]|0;if(!c){r=p;return}a=q+4|0;e=k[a>>2]|0;if((e|0)!=(c|0)){do{f=e+-12|0;k[a>>2]=f;g=k[f>>2]|0;h=g;if(!g)e=f;else{e=e+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-h|0)>>>2)<<2);uha(g);e=k[a>>2]|0}}while((e|0)!=(c|0));c=k[q>>2]|0}uha(c);r=p;return}while(0);c=k[c>>2]|0;if(!c){s=i;yb(s|0)}a=q+4|0;e=k[a>>2]|0;if((e|0)!=(c|0)){do{f=e+-12|0;k[a>>2]=f;g=k[f>>2]|0;h=g;if(!g)e=f;else{e=e+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-h|0)>>>2)<<2);uha(g);e=k[a>>2]|0}}while((e|0)!=(c|0));c=k[q>>2]|0}uha(c);s=i;yb(s|0)}function yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;o=0;q=r;r=r+64|0;g=q+48|0;h=q+36|0;l=q+24|0;m=q+12|0;n=q;d=k[b+72>>2]|0;p=k[b+76>>2]|0;j=k[b+68>>2]|0;do if(!j){if(d|0)if((k[d+72>>2]|0)!=(k[d+76>>2]|0))break;if(!p){r=q;return}rc[k[(k[p>>2]|0)+28>>2]&1023](p,a);r=q;return}while(0);if(i[b+57>>0]|0)if(!(tc[k[(k[b>>2]|0)+96>>2]&511](b)|0)){f=a+4|0;AI(f);Tu(f)}do if(!d){f=0;c=1}else{e=d+72|0;c=d+76|0;f=k[c>>2]|0;if((f|0)==(k[e>>2]|0)){c=f;d=f;o=15}else{rc[k[(k[d>>2]|0)+28>>2]&1023](d,a);c=k[c>>2]|0;d=k[e>>2]|0;if((c|0)==(d|0))o=15;else if((c-d|0)==4){c=k[d>>2]|0;if(!c){c=0;o=16}else{c=(Ot(c,96,736,0)|0)!=0;o=16}}else c=0}if((o|0)==15)if((c-d|0)==4){c=1;o=16}else c=1;if((o|0)==16){d=k[d>>2]|0;if(d){f=(p|0)!=0&(Ot(d,96,736,0)|0)==0;break}}f=(p|0)!=0}while(0);d=a+4|0;e=(j|0)!=0;if(e&(Xaa(d)|0)==3)k[a+80>>2]=0;a:do switch(j|0){case 0:{if(f){vba(d);o=43}else o=43;break}case 1:{yD(d);lE(g,42839,1);x=0;sa(484,d|0,g|0);o=x;x=0;if(!(o&1)){P1(g);yD(d);o=43;break a}q=mb()|0;P1(g);yb(q|0)}case 3:{yD(d);lE(h,44221,1);x=0;sa(484,d|0,h|0);o=x;x=0;if(!(o&1)){P1(h);yD(d);o=43;break a}q=mb()|0;P1(h);yb(q|0)}case 4:{vba(d);lE(l,39370,1);x=0;sa(484,d|0,l|0);o=x;x=0;if(o&1){q=mb()|0;P1(l);yb(q|0)}P1(l);o=k[b+80>>2]|0;rc[k[(k[o>>2]|0)+28>>2]&1023](o,a);lE(m,39370,1);x=0;sa(484,d|0,m|0);o=x;x=0;if(!(o&1)){P1(m);vba(d);o=43;break a}q=mb()|0;P1(m);yb(q|0)}case 2:{if(c)yD(d);else vba(d);lE(n,39372,1);x=0;sa(484,d|0,n|0);m=x;x=0;if(m&1){q=mb()|0;P1(n);yb(q|0)}P1(n);if(!p){yD(d);break a}else{vba(d);o=43;break a}}default:o=43}while(0);do if((o|0)==43){c=(p|0)!=0;if(c&e)if(!(i[b+58>>0]|0))o=46;else AI(d);else o=46;if((o|0)==46)if(!c)break;rc[k[(k[p>>2]|0)+28>>2]&1023](p,a);r=q;return}while(0);if(!(i[b+58>>0]|0)){r=q;return}if((Xaa(d)|0)!=2){r=q;return}vba(d);r=q;return}function zh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+240|0;g=o+200|0;n=o+16|0;h=o+160|0;l=o;p=n+64|0;f=n+8|0;k[f>>2]=8236;m=n+12|0;k[n>>2]=8440;k[p>>2]=8460;k[n+4>>2]=0;x=0;sa(452,n+64|0,m|0);j=x;x=0;if(j&1){e=mb()|0;P9(p);yb(e|0)}k[n+136>>2]=0;k[n+140>>2]=-1;k[n>>2]=8216;k[p>>2]=8256;k[f>>2]=8236;x=0;ra(324,m|0);j=x;x=0;do if(j&1)f=mb()|0;else{k[m>>2]=8272;i=n+44|0;k[i>>2]=0;k[i+4>>2]=0;k[i+8>>2]=0;k[i+12>>2]=0;k[n+60>>2]=24;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;x=0;sa(453,m|0,g|0);j=x;x=0;if(j&1){f=mb()|0;P1(g);P1(i);D2(m);break}P1(g);a=k[17926]|0;d=((a+1|0)>>>0)%624|0;f=69208+(a<<2)|0;b=69208+(d<<2)|0;j=k[b>>2]|0;k[f>>2]=0-(j&1)&-1727483681^k[69208+((((a+397|0)>>>0)%624|0)<<2)>>2]^(j&2147483646|k[f>>2]&-2147483648)>>>1;f=k[69208+(k[17926]<<2)>>2]|0;f=f>>>11^f;k[17926]=d;f=f<<7&-1658038656^f;f=f<<15&-272236544^f;j=((d+1|0)>>>0)%624|0;a=k[69208+(j<<2)>>2]|0;k[b>>2]=0-(a&1)&-1727483681^k[69208+((((d+397|0)>>>0)%624|0)<<2)>>2]^(a&2147483646|k[b>>2]&-2147483648)>>>1;b=k[69208+(k[17926]<<2)>>2]|0;b=b>>>11^b;k[17926]=j;b=b<<7&-1658038656^b;b=b<<15&-272236544^b;j=n+8|0;x=0;a=xa(49,j|0,38697,1)|0;d=x;x=0;if(!(d&1)){k[a+(k[(k[a>>2]|0)+-12>>2]|0)+76>>2]=48;k[a+(k[(k[a>>2]|0)+-12>>2]|0)+12>>2]=8;d=a+(k[(k[a>>2]|0)+-12>>2]|0)+4|0;k[d>>2]=k[d>>2]&-75|8;x=0;Ka(860,a|0,~~((+((f>>>18^f)>>>0)+ +((b>>>18^b)>>>0)*4294967296.0)*5.421010862427522e-20*4294967296.0+0.0)>>>0|0)|0;d=x;x=0;if(!(d&1)){a=c+36|0;x=0;d=Ka(856,a|0,76)|0;c=x;x=0;if(!(c&1)){c=h;f=e;b=c+40|0;do{k[c>>2]=k[f>>2];c=c+4|0;f=f+4|0}while((c|0)<(b|0));x=0;sa(454,l|0,m|0);e=x;x=0;if(!(e&1)){x=0;c=g;f=h;b=c+40|0;do{k[c>>2]=k[f>>2];c=c+4|0;f=f+4|0}while((c|0)<(b|0));qa(5,d|0,g|0,l|0,0,0);e=x;x=0;if(!(e&1)){x=0;f=Ka(857,a|0,d|0)|0;e=x;x=0;if(!(e&1)){P1(l);k[n>>2]=8216;k[p>>2]=8256;k[j>>2]=8236;k[m>>2]=8272;P1(i);D2(m);P9(p);r=o;return f|0}}e=mb()|0;P1(l);k[n>>2]=8216;k[p>>2]=8256;k[j>>2]=8236;k[m>>2]=8272;P1(i);D2(m);P9(p);yb(e|0)}}}}e=mb()|0;k[n>>2]=8216;k[p>>2]=8256;k[j>>2]=8236;k[m>>2]=8272;P1(i);D2(m);P9(p);yb(e|0)}while(0);e=f;P9(p);yb(e|0);return 0}function Ah(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;s=0;v=r;r=r+48|0;t=v;if(!(xr(a,0,0)|0)){u=0;r=v;return u|0}p=a+40|0;b=(k[p>>2]|0)+36|0;c=lD(b,84)|0;u=a+108|0;d=t;j=u;l=d+40|0;do{k[d>>2]=k[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));k[c+4>>2]=0;d=c+8|0;j=t;l=d+40|0;do{k[d>>2]=k[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;i[c+56>>0]=0;k[c+64>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;k[c>>2]=5788;k[c+60>>2]=5904;k[c+80>>2]=0;k[c+52>>2]=4;n=N4(b,c)|0;o=n+60|0;b=(k[p>>2]|0)+36|0;c=lD(b,76)|0;q=a+152|0;d=t;j=u;l=d+40|0;do{k[d>>2]=k[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));Xp(c,t,q);b=N4(b,c)|0;k[t>>2]=b;c=b;if(b|0){k[o+16>>2]=0;d=o+8|0;e=k[d>>2]|0;if((e|0)==(k[o+12>>2]|0))uw(o+4|0,t);else{k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,b)}m=a+76|0;b=k[m>>2]|0;if((i[b>>0]|0)==35)if((i[b+1>>0]|0)==123){if(ms(a,1,0)|0){k[t>>2]=k[q>>2];k[t+4>>2]=k[q+4>>2];k[t+8>>2]=k[q+8>>2];b=yd(a,t,1)|0;if(b|0){k[t>>2]=b;k[o+16>>2]=0;c=o+8|0;d=k[c>>2]|0;if((d|0)==(k[o+12>>2]|0))uw(o+4|0,t);else{k[d>>2]=b;k[c>>2]=(k[c>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,b)}}if(!(tr(a,0,0)|0)){u=0;r=v;return u|0}e=o+16|0;f=o+8|0;g=o+12|0;h=o+4|0;while(1){b=(k[p>>2]|0)+36|0;c=lD(b,76)|0;d=t;j=u;l=d+40|0;do{k[d>>2]=k[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));Xp(c,t,q);b=N4(b,c)|0;k[t>>2]=b;c=b;if(b|0){k[e>>2]=0;d=k[f>>2]|0;if((d|0)==(k[g>>2]|0))uw(h,t);else{k[d>>2]=c;k[f>>2]=(k[f>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,b)}b=k[m>>2]|0;if((i[b>>0]|0)!=35)break;if((i[b+1>>0]|0)!=123)break;if(ms(a,1,0)|0){k[t>>2]=k[q>>2];k[t+4>>2]=k[q+4>>2];k[t+8>>2]=k[q+8>>2];b=yd(a,t,1)|0;if(b|0){k[t>>2]=b;k[e>>2]=0;c=k[f>>2]|0;if((c|0)==(k[g>>2]|0))uw(h,t);else{k[c>>2]=b;k[f>>2]=(k[f>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,b)}}if(!(tr(a,0,0)|0)){b=0;s=33;break}}if((s|0)==33){r=v;return b|0}u=n;r=v;return u|0}b=(k[p>>2]|0)+36|0;c=lD(b,76)|0;d=t;j=u;l=d+40|0;do{k[d>>2]=k[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));Xp(c,t,q);u=N4(b,c)|0;r=v;return u|0}function Bh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;s=0;v=r;r=r+48|0;t=v;if(!(yr(a,0,0)|0)){u=0;r=v;return u|0}p=a+40|0;b=(k[p>>2]|0)+36|0;c=lD(b,84)|0;u=a+108|0;d=t;j=u;l=d+40|0;do{k[d>>2]=k[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));k[c+4>>2]=0;d=c+8|0;j=t;l=d+40|0;do{k[d>>2]=k[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;i[c+56>>0]=0;k[c+64>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;k[c>>2]=5788;k[c+60>>2]=5904;k[c+80>>2]=0;k[c+52>>2]=4;n=N4(b,c)|0;o=n+60|0;b=(k[p>>2]|0)+36|0;c=lD(b,76)|0;q=a+152|0;d=t;j=u;l=d+40|0;do{k[d>>2]=k[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));Xp(c,t,q);b=N4(b,c)|0;k[t>>2]=b;c=b;if(b|0){k[o+16>>2]=0;d=o+8|0;e=k[d>>2]|0;if((e|0)==(k[o+12>>2]|0))uw(o+4|0,t);else{k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,b)}m=a+76|0;b=k[m>>2]|0;if((i[b>>0]|0)==35)if((i[b+1>>0]|0)==123){if(ms(a,1,0)|0){k[t>>2]=k[q>>2];k[t+4>>2]=k[q+4>>2];k[t+8>>2]=k[q+8>>2];b=yd(a,t,1)|0;if(b|0){k[t>>2]=b;k[o+16>>2]=0;c=o+8|0;d=k[c>>2]|0;if((d|0)==(k[o+12>>2]|0))uw(o+4|0,t);else{k[d>>2]=b;k[c>>2]=(k[c>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,b)}}if(!(ur(a,0,0)|0)){u=0;r=v;return u|0}e=o+16|0;f=o+8|0;g=o+12|0;h=o+4|0;while(1){b=(k[p>>2]|0)+36|0;c=lD(b,76)|0;d=t;j=u;l=d+40|0;do{k[d>>2]=k[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));Xp(c,t,q);b=N4(b,c)|0;k[t>>2]=b;c=b;if(b|0){k[e>>2]=0;d=k[f>>2]|0;if((d|0)==(k[g>>2]|0))uw(h,t);else{k[d>>2]=c;k[f>>2]=(k[f>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,b)}b=k[m>>2]|0;if((i[b>>0]|0)!=35)break;if((i[b+1>>0]|0)!=123)break;if(ms(a,1,0)|0){k[t>>2]=k[q>>2];k[t+4>>2]=k[q+4>>2];k[t+8>>2]=k[q+8>>2];b=yd(a,t,1)|0;if(b|0){k[t>>2]=b;k[e>>2]=0;c=k[f>>2]|0;if((c|0)==(k[g>>2]|0))uw(h,t);else{k[c>>2]=b;k[f>>2]=(k[f>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,b)}}if(!(ur(a,0,0)|0)){b=0;s=33;break}}if((s|0)==33){r=v;return b|0}u=n;r=v;return u|0}b=(k[p>>2]|0)+36|0;c=lD(b,76)|0;d=t;j=u;l=d+40|0;do{k[d>>2]=k[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));Xp(c,t,q);u=N4(b,c)|0;r=v;return u|0}function Ch(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;v=r;r=r+144|0;q=v+96|0;h=v+80|0;w=v+56|0;s=v+72|0;t=v+16|0;u=v;p=c+36|0;g=lD(p,84)|0;lE(h,38251,5);x=0;m=q;n=e;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));c=wa(26,h|0,a|0,d|0,q|0,f|0)|0;o=x;x=0;if(!(o&1)){k[g+4>>2]=k[c+4>>2];k[g>>2]=4748;m=g+8|0;n=c+8|0;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));k[g>>2]=6736;n=c+48|0;o=k[n+4>>2]|0;b=g+48|0;k[b>>2]=k[n>>2];k[b+4>>2]=o;k[g>>2]=10312;b=g+56|0;k[b>>2]=5132;x=0;sa(495,g+60|0,c+60|0);o=x;x=0;if(!(o&1)){k[g+72>>2]=k[c+72>>2];k[g>>2]=4992;k[b>>2]=5104;o=g+76|0;n=c+76|0;k[o>>2]=k[n>>2];j[o+4>>1]=j[n+4>>1]|0;x=0;g=Ka(857,p|0,g|0)|0;o=x;x=0;if(!(o&1)){P1(h);b=lD(p,100)|0;k[b+4>>2]=0;m=b+8|0;n=e;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;l=b+52|0;k[l>>2]=0;k[b>>2]=10312;c=b+56|0;bo(c,1);k[b>>2]=5160;k[c>>2]=5268;k[l>>2]=6;l=N4(p,b)|0;c=tc[k[(k[g>>2]|0)+100>>2]&511](g)|0;h=g+60|0;b=k[h>>2]|0;f=(k[g+64>>2]|0)-b>>2;if(c>>>0>=f>>>0){r=v;return l|0}a=l+56|0;d=s+4|0;g=b;while(1){_G(w,(k[g+(c<<2)>>2]|0)+60|0);x=0;b=xa(51,w|0,0,1)|0;o=x;x=0;if(o&1){c=17;break}x=0;Ka(854,w|0,b|0)|0;o=x;x=0;if(o&1){c=17;break}x=0;b=Ka(856,p|0,76)|0;o=x;x=0;if(o&1){c=17;break}m=t;n=e;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;sa(430,u|0,w|0);o=x;x=0;if(o&1){c=17;break}x=0;m=q;n=t;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));qa(5,b|0,q|0,u|0,0,0);o=x;x=0;if(o&1){c=18;break}x=0;b=Ka(857,p|0,b|0)|0;o=x;x=0;if(o&1){c=18;break}o=k[(k[(k[h>>2]|0)+(c<<2)>>2]|0)+56>>2]|0;k[s>>2]=b;k[d>>2]=o;x=0;k[q>>2]=k[s>>2];k[q+4>>2]=k[s+4>>2];Ka(898,a|0,q|0)|0;o=x;x=0;if(o&1){c=18;break}P1(u);P1(w);b=c+1|0;if(b>>>0>=f>>>0){c=6;break}g=k[h>>2]|0;c=b}if((c|0)==6){r=v;return l|0}else if((c|0)==17)b=mb()|0;else if((c|0)==18){b=mb()|0;P1(u)}P1(w);w=b;yb(w|0)}}}w=mb()|0;P1(h);yb(w|0);return 0}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;c=k[a+24>>2]|0;if((c|0)==(k[a+20>>2]|0))c=k[a+8>>2]|0;else c=c+-4|0;f=Ue(a,k[c>>2]|0)|0;o=a+4|0;c=(k[o>>2]|0)+36|0;a=lD(c,88)|0;j=p;g=(k[f+64>>2]|0)+8|0;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[a+4>>2]=0;j=a+8|0;g=p;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[a+52>>2]=0;k[a+56>>2]=0;i[a+60>>0]=0;k[a+68>>2]=0;k[a+72>>2]=0;k[a+76>>2]=0;k[a>>2]=9664;k[a+64>>2]=9756;i[a+84>>0]=0;i[a+85>>0]=0;i[a+86>>0]=0;i[a+87>>0]=0;c=N4(c,a)|0;a=(k[o>>2]|0)+36|0;d=lD(a,76)|0;e=k[f+68>>2]|0;j=p;g=f+8|0;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[d+4>>2]=0;j=d+8|0;g=p;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d+64>>2]=c;k[d>>2]=4816;k[d+68>>2]=e;i[d+72>>0]=0;i[d+73>>0]=0;k[d+52>>2]=1;n=N4(a,d)|0;k[n+56>>2]=k[f+56>>2];m=b+64|0;c=k[m>>2]|0;j=(k[c+72>>2]|0)-(k[c+68>>2]|0)>>2;a:do if(j|0){l=n+64|0;a=0;while(1){g=k[l>>2]|0;h=g+64|0;c=k[(k[c+68>>2]|0)+(a<<2)>>2]|0;k[p>>2]=c;d=c;if(c|0){k[g+80>>2]=0;e=g+72|0;f=k[e>>2]|0;if((f|0)==(k[g+76>>2]|0))xw(g+68|0,p);else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[h>>2]>>2]&1023](h,c)}a=a+1|0;if((a|0)==(j|0))break a;c=k[m>>2]|0}}while(0);c=(k[o>>2]|0)+36|0;a=lD(c,88)|0;j=p;g=(k[m>>2]|0)+8|0;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[a+4>>2]=0;j=a+8|0;g=p;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[a+52>>2]=0;k[a+56>>2]=0;i[a+60>>0]=0;k[a+68>>2]=0;k[a+72>>2]=0;k[a+76>>2]=0;k[a>>2]=9664;k[a+64>>2]=9756;i[a+84>>0]=0;i[a+85>>0]=0;i[a+86>>0]=0;i[a+87>>0]=0;f=N4(c,a)|0;c=f+64|0;k[p>>2]=n;a=n;if(n|0){k[f+80>>2]=0;d=f+72|0;e=k[d>>2]|0;if((e|0)==(k[f+76>>2]|0))xw(f+68|0,p);else{k[e>>2]=a;k[d>>2]=(k[d>>2]|0)+4}rc[k[k[c>>2]>>2]&1023](c,n)}a=(k[o>>2]|0)+36|0;d=lD(a,72)|0;c=k[b+68>>2]|0;j=p;g=b+8|0;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[d+4>>2]=0;j=d+8|0;g=p;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d+64>>2]=f;k[d>>2]=9960;k[d+68>>2]=c;k[d+52>>2]=4;d=N4(a,d)|0;k[d+56>>2]=k[b+56>>2];c=(k[o>>2]|0)+36|0;a=lD(c,72)|0;j=p;g=d+8|0;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[a+4>>2]=0;j=a+8|0;g=p;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[a+52>>2]=6;k[a+56>>2]=0;i[a+60>>0]=0;k[a>>2]=9784;k[a+64>>2]=d;i[a+68>>0]=1;p=N4(c,a)|0;r=q;return p|0}function Eh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;q=r;r=r+48|0;t=q+24|0;p=q+12|0;e=q;f=q+8|0;o=Ke(a)|0;k[t>>2]=0;u=t+4|0;k[u>>2]=0;k[t+8>>2]=0;k[p>>2]=0;s=p+4|0;k[s>>2]=0;k[p+8>>2]=0;l=a+76|0;m=a+80|0;n=e+4|0;g=e+5|0;h=p+8|0;j=t+8|0;while(1){b=k[l>>2]|0;x=0;c=ua(231,b|0)|0;d=x;x=0;if(d&1){b=37;break}c=c|0?c:b;x=0;b=ua(237,c|0)|0;d=x;x=0;if(d&1){b=37;break}if(!b){x=0;b=ua(238,c|0)|0;d=x;x=0;if(d&1){b=37;break}if(!b){x=0;b=ua(239,c|0)|0;d=x;x=0;if(d&1){b=37;break}if(!b){x=0;b=ua(240,c|0)|0;d=x;x=0;if(d&1){b=37;break}if(!b){x=0;b=ua(241,c|0)|0;d=x;x=0;if(d&1){b=37;break}if(!b){x=0;b=ua(242,c|0)|0;d=x;x=0;if(d&1){b=37;break}}}}}}if((b|0)==0?1:b>>>0>(k[m>>2]|0)>>>0){b=48;break}x=0;b=ua(230,k[l>>2]|0)|0;d=x;x=0;if(d&1){b=37;break}d=b|0?b>>>0<=(k[m>>2]|0)>>>0:0;x=0;b=xa(72,a|0,1,0)|0;c=x;x=0;if(c&1){b=37;break}if(!b){x=0;b=xa(73,a|0,1,0)|0;c=x;x=0;if(c&1){b=37;break}if(!b){x=0;b=xa(74,a|0,1,0)|0;c=x;x=0;if(c&1){b=37;break}if(!b){x=0;b=xa(75,a|0,1,0)|0;c=x;x=0;if(c&1){b=37;break}if(!b){x=0;b=xa(76,a|0,1,0)|0;c=x;x=0;if(c&1){b=37;break}if(!b){x=0;b=xa(77,a|0,1,0)|0;c=x;x=0;if(c&1){b=37;break}c=b|0?6:2}else c=4}else c=7}else c=5}else c=3}else c=2;x=0;b=ua(230,k[l>>2]|0)|0;v=x;x=0;if(v&1){b=37;break}b=b|0?b>>>0<=(k[m>>2]|0)>>>0:0;k[e>>2]=c;i[n>>0]=d&1;i[g>>0]=b&1;b=k[s>>2]|0;if(b>>>0<(k[h>>2]|0)>>>0){c=e;d=k[c+4>>2]|0;v=b;k[v>>2]=k[c>>2];k[v+4>>2]=d;k[s>>2]=(k[s>>2]|0)+8}else{x=0;sa(542,p|0,e|0);v=x;x=0;if(v&1){b=37;break}}x=0;b=ua(243,a|0)|0;v=x;x=0;if(v&1){b=37;break}k[f>>2]=b;c=k[u>>2]|0;if(c>>>0<(k[j>>2]|0)>>>0){k[c>>2]=b;k[u>>2]=(k[u>>2]|0)+4}else{x=0;sa(476,t|0,f|0);v=x;x=0;if(v&1){b=37;break}}x=0;ua(230,k[l>>2]|0)|0;v=x;x=0;if(v&1){b=37;break}}do if((b|0)==37)e=mb()|0;else if((b|0)==48){x=0;e=wa(28,a|0,o|0,t|0,p|0,0)|0;v=x;x=0;if(v&1){e=mb()|0;break}b=k[p>>2]|0;c=b;if(b|0){d=k[s>>2]|0;if((d|0)!=(b|0))k[s>>2]=d+(~((d+-8-c|0)>>>3)<<3);uha(b)}b=k[t>>2]|0;if(!b){r=q;return e|0}c=k[u>>2]|0;if((c|0)!=(b|0))k[u>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(b);r=q;return e|0}while(0);b=k[p>>2]|0;c=b;if(b|0){d=k[s>>2]|0;if((d|0)!=(b|0))k[s>>2]=d+(~((d+-8-c|0)>>>3)<<3);uha(b)}b=k[t>>2]|0;if(!b)yb(e|0);c=k[u>>2]|0;if((c|0)!=(b|0))k[u>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(b);yb(e|0);return 0}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;c=k[a+24>>2]|0;if((c|0)==(k[a+20>>2]|0))c=k[a+8>>2]|0;else c=c+-4|0;f=Ue(a,k[c>>2]|0)|0;o=a+4|0;c=(k[o>>2]|0)+36|0;a=lD(c,88)|0;j=p;g=(k[f+64>>2]|0)+8|0;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[a+4>>2]=0;j=a+8|0;g=p;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[a+52>>2]=0;k[a+56>>2]=0;i[a+60>>0]=0;k[a+68>>2]=0;k[a+72>>2]=0;k[a+76>>2]=0;k[a>>2]=9664;k[a+64>>2]=9756;i[a+84>>0]=0;i[a+85>>0]=0;i[a+86>>0]=0;i[a+87>>0]=0;c=N4(c,a)|0;a=(k[o>>2]|0)+36|0;d=lD(a,76)|0;e=k[f+68>>2]|0;j=p;g=f+8|0;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[d+4>>2]=0;j=d+8|0;g=p;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d+64>>2]=c;k[d>>2]=4816;k[d+68>>2]=e;i[d+72>>0]=0;i[d+73>>0]=0;k[d+52>>2]=1;n=N4(a,d)|0;k[n+56>>2]=k[f+56>>2];m=b+64|0;c=k[m>>2]|0;j=(k[c+72>>2]|0)-(k[c+68>>2]|0)>>2;a:do if(j|0){l=n+64|0;a=0;while(1){g=k[l>>2]|0;h=g+64|0;c=k[(k[c+68>>2]|0)+(a<<2)>>2]|0;k[p>>2]=c;d=c;if(c|0){k[g+80>>2]=0;e=g+72|0;f=k[e>>2]|0;if((f|0)==(k[g+76>>2]|0))xw(g+68|0,p);else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[h>>2]>>2]&1023](h,c)}a=a+1|0;if((a|0)==(j|0))break a;c=k[m>>2]|0}}while(0);c=(k[o>>2]|0)+36|0;a=lD(c,88)|0;j=p;g=(k[m>>2]|0)+8|0;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[a+4>>2]=0;j=a+8|0;g=p;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[a+52>>2]=0;k[a+56>>2]=0;i[a+60>>0]=0;k[a+68>>2]=0;k[a+72>>2]=0;k[a+76>>2]=0;k[a>>2]=9664;k[a+64>>2]=9756;i[a+84>>0]=0;i[a+85>>0]=0;i[a+86>>0]=0;i[a+87>>0]=0;f=N4(c,a)|0;c=f+64|0;k[p>>2]=n;a=n;if(n|0){k[f+80>>2]=0;d=f+72|0;e=k[d>>2]|0;if((e|0)==(k[f+76>>2]|0))xw(f+68|0,p);else{k[e>>2]=a;k[d>>2]=(k[d>>2]|0)+4}rc[k[k[c>>2]>>2]&1023](c,n)}a=(k[o>>2]|0)+36|0;d=lD(a,72)|0;c=k[b+68>>2]|0;j=p;g=b+8|0;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[d+4>>2]=0;j=d+8|0;g=p;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d+64>>2]=f;k[d>>2]=4904;k[d+68>>2]=c;k[d+52>>2]=2;d=N4(a,d)|0;k[d+56>>2]=k[b+56>>2];c=(k[o>>2]|0)+36|0;a=lD(c,72)|0;j=p;g=d+8|0;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[a+4>>2]=0;j=a+8|0;g=p;h=j+40|0;do{k[j>>2]=k[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(h|0));k[a+52>>2]=6;k[a+56>>2]=0;i[a+60>>0]=0;k[a>>2]=9784;k[a+64>>2]=d;i[a+68>>0]=1;p=N4(c,a)|0;r=q;return p|0}function Gh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;s=0;v=r;r=r+48|0;t=v;if(!(Jr(a,0,0)|0)){u=0;r=v;return u|0}p=a+40|0;b=(k[p>>2]|0)+36|0;c=lD(b,84)|0;u=a+108|0;d=t;j=u;l=d+40|0;do{k[d>>2]=k[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));k[c+4>>2]=0;d=c+8|0;j=t;l=d+40|0;do{k[d>>2]=k[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;i[c+56>>0]=0;k[c+64>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;k[c>>2]=5788;k[c+60>>2]=5904;k[c+80>>2]=0;k[c+52>>2]=4;n=N4(b,c)|0;o=n+60|0;b=(k[p>>2]|0)+36|0;c=lD(b,76)|0;q=a+152|0;d=t;j=u;l=d+40|0;do{k[d>>2]=k[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));Xp(c,t,q);b=N4(b,c)|0;k[t>>2]=b;c=b;if(b|0){k[o+16>>2]=0;d=o+8|0;e=k[d>>2]|0;if((e|0)==(k[o+12>>2]|0))uw(o+4|0,t);else{k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,b)}m=a+76|0;b=k[m>>2]|0;if((i[b>>0]|0)==35)if((i[b+1>>0]|0)==123){if(ms(a,1,0)|0){k[t>>2]=k[q>>2];k[t+4>>2]=k[q+4>>2];k[t+8>>2]=k[q+8>>2];b=yd(a,t,1)|0;if(b|0){k[t>>2]=b;k[o+16>>2]=0;c=o+8|0;d=k[c>>2]|0;if((d|0)==(k[o+12>>2]|0))uw(o+4|0,t);else{k[d>>2]=b;k[c>>2]=(k[c>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,b)}}if(!(Gr(a,0,0)|0)){u=0;r=v;return u|0}e=o+16|0;f=o+8|0;g=o+12|0;h=o+4|0;while(1){b=(k[p>>2]|0)+36|0;c=lD(b,76)|0;d=t;j=u;l=d+40|0;do{k[d>>2]=k[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));Xp(c,t,q);b=N4(b,c)|0;k[t>>2]=b;c=b;if(b|0){k[e>>2]=0;d=k[f>>2]|0;if((d|0)==(k[g>>2]|0))uw(h,t);else{k[d>>2]=c;k[f>>2]=(k[f>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,b)}b=k[m>>2]|0;if((i[b>>0]|0)!=35)break;if((i[b+1>>0]|0)!=123)break;if(ms(a,1,0)|0){k[t>>2]=k[q>>2];k[t+4>>2]=k[q+4>>2];k[t+8>>2]=k[q+8>>2];b=yd(a,t,1)|0;if(b|0){k[t>>2]=b;k[e>>2]=0;c=k[f>>2]|0;if((c|0)==(k[g>>2]|0))uw(h,t);else{k[c>>2]=b;k[f>>2]=(k[f>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,b)}}if(!(Gr(a,0,0)|0)){b=0;s=33;break}}if((s|0)==33){r=v;return b|0}u=n;r=v;return u|0}b=(k[p>>2]|0)+36|0;c=lD(b,76)|0;d=t;j=u;l=d+40|0;do{k[d>>2]=k[j>>2];d=d+4|0;j=j+4|0}while((d|0)<(l|0));Xp(c,t,q);u=N4(b,c)|0;r=v;return u|0}function Hh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0.0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;u=r;r=r+96|0;t=u;g=u+76|0;l=u+64|0;q=u+52|0;s=u+40|0;lE(g,37980,5);x=0;b=Ka(867,a|0,g|0)|0;p=x;x=0;if(p&1){u=mb()|0;P1(g);yb(u|0)}b=k[b>>2]|0;if(!b)h=0;else h=Ot(b,8,256,0)|0;P1(g);lE(l,38097,6);x=0;m=t;n=e;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));p=wa(27,l|0,a|0,d|0,t|0,f|0)|0;o=x;x=0;if(o&1){u=mb()|0;P1(l);yb(u|0)}P1(l);a:do if(!h){b=c+36|0;g=lD(b,84)|0;k[g+4>>2]=0;m=g+8|0;n=e;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;h=g+52|0;k[h>>2]=0;k[g>>2]=10312;m=g+56|0;k[m>>2]=5132;w=g+60|0;k[w>>2]=0;l=g+64|0;k[l>>2]=0;n=g+68|0;k[n>>2]=0;o=GG(4)|0;v=o;k[w>>2]=v;k[l>>2]=v;k[n>>2]=o+4;k[g>>2]=4992;k[m>>2]=5104;k[g+76>>2]=1;i[g+80>>0]=0;i[g+81>>0]=0;k[h>>2]=5;h=N4(b,g)|0;lE(q,37980,5);x=0;m=t;n=e;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));b=wa(27,q|0,a|0,d|0,t|0,f|0)|0;w=x;x=0;do if(!(w&1)){g=h+56|0;k[t>>2]=b;l=b;if(b|0){k[h+72>>2]=0;f=h+64|0;a=k[f>>2]|0;if((a|0)==(k[h+68>>2]|0)){x=0;sa(455,h+60|0,t|0);w=x;x=0;if(w&1)break}else{k[a>>2]=l;k[f>>2]=(k[f>>2]|0)+4}x=0;sa(k[k[g>>2]>>2]|0,g|0,b|0);w=x;x=0;if(w&1)break}P1(q);break a}while(0);w=mb()|0;P1(q);yb(w|0)}while(0);g=(k[h+64>>2]|0)-(k[h+60>>2]|0)>>2;b:do if(g|0){b=0;while(1){if(xM(GH(h,b)|0,p)|0)break;b=b+1|0;if(b>>>0>=g>>>0)break b}g=c+36|0;h=lD(g,96)|0;j=+((b+1|0)>>>0);lE(s,78097,0);x=0;m=t;n=e;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Fa(1,h|0,t|0,+j,s|0,1);w=x;x=0;if(!(w&1)){x=0;b=Ka(857,g|0,h|0)|0;w=x;x=0;if(!(w&1)){P1(s);w=b;r=u;return w|0}}w=mb()|0;P1(s);yb(w|0)}while(0);b=c+36|0;g=lD(b,56)|0;m=t;n=e;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));k[g+4>>2]=0;m=g+8|0;n=t;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;k[g>>2]=6380;k[g+52>>2]=8;w=N4(b,g)|0;r=u;return w|0}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=0;s=r;r=r+336|0;l=s;t=s+160|0;g=s+120|0;p=s+108|0;j=s+96|0;m=s+56|0;o=s+40|0;n=pea(a)|0;CH(g,36751,0,-1);d=l;h=d+40|0;do{k[d>>2]=k[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));ck(t,n,b,l,0);x=0;xa(60,t|0,1,0)|0;h=x;x=0;do if(h&1)q=31;else{d=k[t+156>>2]|0;f=k[t+160>>2]|0;g=f-d|0;if(g>>>0>4294967279){x=0;ra(331,j|0);q=x;x=0;if(q&1){q=31;break}else q=6}else if(g>>>0<11){i[j>>0]=g<<1;c=j+1|0}else q=6;if((q|0)==6){e=g+16&-16;x=0;c=ua(186,e|0)|0;h=x;x=0;if(h&1){q=31;break}k[j+8>>2]=c;k[j>>2]=e|1;k[j+4>>2]=g}if((d|0)!=(f|0)){e=c;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(f|0))break;else e=e+1|0}c=c+g|0}i[c>>0]=0;x=0;sa(492,p|0,j|0);h=x;x=0;if(h&1){c=mb()|0;P1(j);break}P1(j);x=0;c=ua(222,t|0)|0;j=x;x=0;if(j&1)q=33;else{e=b+36|0;x=0;f=Ka(856,e|0,112)|0;b=x;x=0;if(b&1)q=33;else{x=0;Ua(14,m|0,36751,0,-1);b=x;x=0;if(b&1)q=33;else{x=0;sa(430,o|0,p|0);b=x;x=0;if(b&1)q=33;else{d=l;g=m;h=d+40|0;do{k[d>>2]=k[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));k[f+4>>2]=0;d=f+8|0;g=l;h=d+40|0;do{k[d>>2]=k[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));k[f+52>>2]=0;k[f+56>>2]=0;i[f+60>>0]=0;k[f+64>>2]=0;k[f>>2]=8640;d=f+68|0;x=0;sa(430,d|0,o|0);m=x;x=0;do if(m&1){c=mb()|0;q=20}else{k[f+80>>2]=c;k[f+84>>2]=0;k[f+88>>2]=1;k[f+92>>2]=0;k[f+96>>2]=a;x=0;c=ua(223,a|0)|0;a=x;x=0;if(a&1){c=mb()|0;P1(d);q=20;break}k[f+100>>2]=c;i[f+104>>0]=0;k[f+108>>2]=n;x=0;g=Ka(857,e|0,f|0)|0;n=x;x=0;if(n&1){c=mb()|0;break}P1(o);P1(p);c=k[t+56>>2]|0;d=c;if(c|0){e=t+60|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);uha(c)}e=k[t+44>>2]|0;if(!e){r=s;return g|0}c=t+48|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);uha(e);r=s;return g|0}while(0);P1(o)}}}}if((q|0)==33)c=mb()|0;P1(p)}while(0);if((q|0)==31)c=mb()|0;d=k[t+56>>2]|0;e=d;if(d|0){f=t+60|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);uha(d)}f=k[t+44>>2]|0;if(!f)yb(c|0);d=t+48|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);uha(f);yb(c|0);return 0}function Jh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,l=0.0,m=0.0,n=0.0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;B=r;r=r+176|0;s=B+128|0;h=B+112|0;q=B+72|0;t=B+56|0;y=B+44|0;z=B+32|0;o=B;j=B+20|0;A=B+8|0;lE(h,36999,6);x=0;b=Ka(867,a|0,h|0)|0;w=x;x=0;if(w&1){B=mb()|0;P1(h);yb(B|0)}b=k[b>>2]|0;if(!b)P1(h);else{b=Ot(b,8,392,0)|0;P1(h);if(b|0){h=c+36|0;j=lD(h,76)|0;u=q;v=e;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));e=k[(k[b>>2]|0)+20>>2]|0;v=k[c+16>>2]|0;w=k[v+4>>2]|0;A=o;k[A>>2]=k[v>>2];k[A+4>>2]=w;k[s>>2]=k[o>>2];k[s+4>>2]=k[o+4>>2];Pc[e&255](z,b,s);x=0;b=xa(50,z|0,0,37104)|0;e=x;x=0;if(e&1)b=mb()|0;else{k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,y|0,38861)|0;e=x;x=0;if(e&1)b=mb()|0;else{k[t>>2]=k[b>>2];k[t+4>>2]=k[b+4>>2];k[t+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;u=s;v=q;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));qa(5,j|0,s|0,t|0,0,0);e=x;x=0;if(!(e&1)){x=0;b=Ka(857,h|0,j|0)|0;e=x;x=0;if(!(e&1)){P1(t);P1(y);P1(z);e=b;r=B;return e|0}}b=mb()|0;P1(t)}P1(y)}P1(z);B=b;yb(B|0)}}lE(j,36999,6);x=0;u=s;v=e;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));b=wa(24,j|0,a|0,d|0,s|0,f|0)|0;z=x;x=0;if(z&1){B=mb()|0;P1(j);yb(B|0)}P1(j);h=c+36|0;j=lD(h,104)|0;l=255.0-+p[b+56>>3];m=255.0-+p[b+64>>3];n=255.0-+p[b+72>>3];g=+p[b+80>>3];lE(A,78097,0);k[j+4>>2]=0;u=j+8|0;v=e;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));i[j+48>>0]=0;i[j+49>>0]=0;i[j+50>>0]=0;b=j+52|0;k[b>>2]=0;k[j>>2]=5580;p[j+56>>3]=l;p[j+64>>3]=m;p[j+72>>3]=n;p[j+80>>3]=g;x=0;sa(430,j+88|0,A|0);e=x;x=0;if(!(e&1)){k[j+100>>2]=0;k[b>>2]=3;x=0;b=Ka(857,h|0,j|0)|0;e=x;x=0;if(!(e&1)){P1(A);e=b;r=B;return e|0}}B=mb()|0;P1(A);yb(B|0);return 0}function Kh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;p=r;r=r+16|0;o=p;switch((b-a|0)/12|0|0){case 2:{c=b+-12|0;m=i[c>>0]|0;j=(m&1)==0;m=j?(m&255)>>>1:k[b+-8>>2]|0;n=i[a>>0]|0;l=(n&1)==0;n=l?(n&255)>>>1:k[a+4>>2]|0;b=tG(j?c+1|0:k[b+-4>>2]|0,l?a+1|0:k[a+8>>2]|0,n>>>0>>0?n:m)|0;if((((b|0)==0?(m>>>0>>0?-2147483648:0):b)|0)>=0){o=1;r=p;return o|0}k[o>>2]=k[a>>2];k[o+4>>2]=k[a+4>>2];k[o+8>>2]=k[a+8>>2];k[a>>2]=k[c>>2];k[a+4>>2]=k[c+4>>2];k[a+8>>2]=k[c+8>>2];k[c>>2]=k[o>>2];k[c+4>>2]=k[o+4>>2];k[c+8>>2]=k[o+8>>2];o=1;r=p;return o|0}case 3:{Yi(a,a+12|0,b+-12|0,c)|0;o=1;r=p;return o|0}case 4:{ll(a,a+12|0,a+24|0,b+-12|0,c)|0;o=1;r=p;return o|0}case 5:{oj(a,a+12|0,a+24|0,a+36|0,b+-12|0,c)|0;o=1;r=p;return o|0}case 1:case 0:{o=1;r=p;return o|0}default:{e=a+24|0;Yi(a,a+12|0,e,c)|0;d=a+36|0;a:do if((d|0)==(b|0)){m=1;n=0}else{h=o+4|0;j=o+8|0;l=o+1|0;c=0;b:while(1){q=i[d>>0]|0;s=(q&1)==0;q=s?(q&255)>>>1:k[d+4>>2]|0;f=i[e>>0]|0;g=(f&1)==0;f=g?(f&255)>>>1:k[e+4>>2]|0;g=tG(s?d+1|0:k[d+8>>2]|0,g?e+1|0:k[e+8>>2]|0,f>>>0>>0?f:q)|0;if((((g|0)==0?(q>>>0>>0?-2147483648:0):g)|0)<0){k[o>>2]=k[d>>2];k[o+4>>2]=k[d+4>>2];k[o+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;f=d;g=e;while(1){i[f+1>>0]=0;i[f>>0]=0;x=0;sa(443,f|0,0);s=x;x=0;if(s&1){c=12;break b}k[f>>2]=k[g>>2];k[f+4>>2]=k[g+4>>2];k[f+8>>2]=k[g+8>>2];k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;if((g|0)==(a|0)){f=g;e=a;break}e=g+-12|0;f=i[o>>0]|0;t=(f&1)==0;f=t?(f&255)>>>1:k[h>>2]|0;q=i[e>>0]|0;s=(q&1)==0;q=s?(q&255)>>>1:k[g+-8>>2]|0;s=tG(t?l:k[j>>2]|0,s?e+1|0:k[g+-4>>2]|0,q>>>0>>0?q:f)|0;if((((s|0)==0?(f>>>0>>0?-2147483648:0):s)|0)<0){f=g;g=e}else{f=g;e=g;break}}i[e+1>>0]=0;i[f>>0]=0;x=0;sa(443,e|0,0);t=x;x=0;if(t&1){c=16;break}k[f>>2]=k[o>>2];k[f+4>>2]=k[o+4>>2];k[f+8>>2]=k[o+8>>2];k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;c=c+1|0;P1(o);if((c|0)==8){m=0;n=(d+12|0)==(b|0);break a}}e=d+12|0;if((e|0)==(b|0)){m=1;n=0;break a}else{t=d;d=e;e=t}}if((c|0)==12){t=Eb(0)|0;Nba(t)}else if((c|0)==16){t=Eb(0)|0;Nba(t)}}while(0);t=n|m;r=p;return t|0}}return 0}function Lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+80|0;n=q+60|0;m=q+48|0;h=q+36|0;l=q+24|0;o=q+12|0;p=q;_G(n,a+68|0);x=0;sa(430,m|0,b+68|0);g=x;x=0;if(g&1)c=mb()|0;else{if(!(Ir(n,m)|0)){P1(m);P1(n);p=0;r=q;return p|0}x=0;sa(430,h|0,a+80|0);g=x;x=0;do if(g&1)c=mb()|0;else{x=0;sa(430,l|0,b+80|0);g=x;x=0;if(g&1){c=mb()|0;P1(h);break}g=j[h>>1]|0;e=(g&1)==0;d=(g&254)>>>1;f=e?d:k[h+4>>2]|0;s=i[l>>0]|0;c=(s&1)==0;g=(g&65535)>>>8&255;if((f|0)!=((c?(s&255)>>>1:k[l+4>>2]|0)|0)){P1(l);P1(h);P1(m);P1(n);s=0;r=q;return s|0}c=c?l+1|0:k[l+8>>2]|0;a:do if(e){if(!f){P1(l);P1(h);P1(m);P1(n);break}b:do if(g<<24>>24==(i[c>>0]|0)){e=h+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d)break;c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0))break b}P1(l);P1(h);P1(m);P1(n);break a}while(0);P1(l);P1(h);P1(m);P1(n);s=0;r=q;return s|0}else{s=(tG(k[h+8>>2]|0,c,f)|0)==0;P1(l);P1(h);P1(m);P1(n);if(!s){s=0;r=q;return s|0}}while(0);_G(o,a+96|0);x=0;sa(430,p|0,b+96|0);s=x;x=0;if(s&1){s=mb()|0;P1(o);yb(s|0)}g=j[o>>1]|0;e=(g&1)==0;d=(g&254)>>>1;f=e?d:k[o+4>>2]|0;s=i[p>>0]|0;c=(s&1)==0;g=(g&65535)>>>8&255;c:do if((f|0)==((c?(s&255)>>>1:k[p+4>>2]|0)|0)){c=c?p+1|0:k[p+8>>2]|0;d:do if(e){if(f|0){if(g<<24>>24!=(i[c>>0]|0)){c=0;break c}e=o+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d)break d;c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0)){c=0;break c}}}}else if(tG(k[o+8>>2]|0,c,f)|0){c=0;break c}while(0);c=(k[a+108>>2]|0)==(k[b+108>>2]|0)}else c=0;while(0);P1(p);P1(o);s=c;r=q;return s|0}while(0);P1(m)}P1(n);s=c;yb(s|0);return 0}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;j=0;p=r;r=r+32|0;m=p+16|0;o=p+4|0;n=p;e=i[b>>0]|0;f=(e&1)==0;g=b+8|0;h=b+1|0;d=f?h:k[g>>2]|0;l=c<<24>>24|0;c=(l|0)==0?34:(l|0)!=42?c:34;a:while(1){switch(i[d>>0]|0){case 0:{j=5;break a}case 39:{l=34;break a}case 34:{c=39;break}default:{}}d=d+1|0}if((j|0)==5)l=c;c=f?(e&255)>>>1:k[b+4>>2]|0;if(!c){nE(a,2,l<<24>>24?l:34);r=p;return}k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;x=0;sa(443,o|0,c+2|0);j=x;x=0;if(!(j&1)){x=0;sa(440,o|0,l|0);j=x;x=0;if(!(j&1)){d=(i[b>>0]&1)==0?h:k[g>>2]|0;k[n>>2]=d;e=d+(OD(d)|0)+1|0;c=i[d>>0]|0;b:do if(d>>>0>>0&c<<24>>24!=0){c:while(1){if(c<<24>>24==l<<24>>24){x=0;sa(440,o|0,92);j=x;x=0;if(j&1){j=15;break}}else if(c<<24>>24==92){x=0;sa(440,o|0,92);j=x;x=0;if(j&1){j=15;break}}x=0;c=Ka(907,n|0,e|0)|0;j=x;x=0;if(j&1){j=15;break}if((c|0)==13){c=k[n>>2]|0;if(c>>>0>>0){k[m>>2]=c;x=0;c=Ka(907,m|0,e|0)|0;j=x;x=0;if(j&1){j=15;break}if((c|0)==10){x=0;c=Ka(907,n|0,e|0)|0;j=x;x=0;if(j&1){j=15;break}else j=26}else{c=13;j=37}}else{c=13;j=37}}else j=26;d:do if((j|0)==26){j=0;if((c|0)!=10){if((c|0)<127){j=37;break}c=k[n>>2]|0;if(d>>>0>=c>>>0){d=c;break}while(1){x=0;sa(440,o|0,i[d>>0]|0);b=x;x=0;if(b&1){j=14;break c}d=d+1|0;if(d>>>0>=c>>>0){d=c;break d}}}x=0;sa(440,o|0,92);b=x;x=0;if(b&1){j=15;break c}x=0;sa(440,o|0,97);b=x;x=0;if(b&1){j=15;break c}d=k[n>>2]|0;c=i[d>>0]|0;if((c+-97&255)>5)if((c+-65&255)>5&(c+-48&255)>9){x=0;c=ua(265,d|0)|0;b=x;x=0;if(b&1){j=15;break c}if(!c)break}x=0;sa(440,o|0,32);b=x;x=0;if(b&1){j=15;break c}}while(0);if((j|0)==37){x=0;sa(440,o|0,c&255|0);j=x;x=0;if(j&1){j=15;break}d=k[n>>2]|0}c=i[d>>0]|0;if(!(d>>>0>>0&c<<24>>24!=0))break b}if((j|0)==14){p=mb()|0;P1(o);yb(p|0)}else if((j|0)==15){p=mb()|0;P1(o);yb(p|0)}}while(0);x=0;sa(440,o|0,l|0);n=x;x=0;if(!(n&1)){k[a>>2]=k[o>>2];k[a+4>>2]=k[o+4>>2];k[a+8>>2]=k[o+8>>2];k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;P1(o);r=p;return}}}p=mb()|0;P1(o);yb(p|0)}function Nh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+112|0;x=y;v=y+92|0;u=y+80|0;w=y+40|0;b=(k[a+40>>2]|0)+36|0;c=lD(b,84)|0;t=a+108|0;d=x;l=t;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));k[c+4>>2]=0;d=c+8|0;l=x;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;k[c+60>>2]=0;k[c+64>>2]=0;k[c+68>>2]=0;k[c>>2]=4992;k[c+56>>2]=5104;k[c+76>>2]=0;i[c+80>>0]=0;i[c+81>>0]=0;k[c+52>>2]=5;q=N4(b,c)|0;s=a+76|0;b=LD(k[s>>2]|0)|0;c=a+80|0;if((b|0)==0?1:b>>>0>(k[c>>2]|0)>>>0)b=k[s>>2]|0;p=bO(b)|0;p=p|0?p:b;p=(i[p>>0]|0)==123?p+1|0:0;if((p|0)==0?1:p>>>0>(k[c>>2]|0)>>>0){b=q+56|0;c=se(a)|0;k[x>>2]=c;d=c;if(c|0){k[q+72>>2]=0;e=q+64|0;f=k[e>>2]|0;if((f|0)==(k[q+68>>2]|0))uw(q+60|0,x);else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[b>>2]>>2]&1023](b,c)}}n=a+152|0;k[x>>2]=k[n>>2];k[x+4>>2]=k[n+4>>2];k[x+8>>2]=k[n+8>>2];b=k[s>>2]|0;o=a+84|0;k[v>>2]=k[o>>2];k[v+4>>2]=k[o+4>>2];k[v+8>>2]=k[o+8>>2];p=a+96|0;k[u>>2]=k[p>>2];k[u+4>>2]=k[p+4>>2];k[u+8>>2]=k[p+8>>2];d=w;l=t;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));Bt(a,1,0)|0;if(!(Zq(a,1,0)|0)){d=t;l=w;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));k[n>>2]=k[x>>2];k[n+4>>2]=k[x+4>>2];k[n+8>>2]=k[x+8>>2];k[s>>2]=b;k[p>>2]=k[u>>2];k[p+4>>2]=k[u+4>>2];k[p+8>>2]=k[u+8>>2];k[o>>2]=k[v>>2];k[o+4>>2]=k[v+4>>2];k[o+8>>2]=k[v+8>>2];r=y;return q|0}e=q+56|0;f=q+72|0;g=q+64|0;h=q+68|0;j=q+60|0;do{b=se(a)|0;k[x>>2]=b;c=b;if(b|0){k[f>>2]=0;d=k[g>>2]|0;if((d|0)==(k[h>>2]|0))uw(j,x);else{k[d>>2]=c;k[g>>2]=(k[g>>2]|0)+4}rc[k[k[e>>2]>>2]&1023](e,b)}k[x>>2]=k[n>>2];k[x+4>>2]=k[n+4>>2];k[x+8>>2]=k[n+8>>2];b=k[s>>2]|0;k[v>>2]=k[o>>2];k[v+4>>2]=k[o+4>>2];k[v+8>>2]=k[o+8>>2];k[u>>2]=k[p>>2];k[u+4>>2]=k[p+4>>2];k[u+8>>2]=k[p+8>>2];d=w;l=t;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));Bt(a,1,0)|0}while((Zq(a,1,0)|0)!=0);d=t;l=w;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));k[n>>2]=k[x>>2];k[n+4>>2]=k[x+4>>2];k[n+8>>2]=k[x+8>>2];k[s>>2]=b;k[p>>2]=k[u>>2];k[p+4>>2]=k[u+4>>2];k[p+8>>2]=k[u+8>>2];k[o>>2]=k[v>>2];k[o+4>>2]=k[v+4>>2];k[o+8>>2]=k[v+8>>2];r=y;return q|0}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;K=0;L=r;r=r+80|0;J=L+16|0;I=L+56|0;F=L+8|0;G=L+68|0;H=L;d=c+36|0;e=lD(d,104)|0;f=J;g=a+8|0;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));k[e+4>>2]=0;f=e+8|0;g=J;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;D=e+56|0;k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;k[e+52>>2]=7;k[e+72>>2]=0;k[e+76>>2]=0;k[e+80>>2]=0;k[e>>2]=6984;k[e+68>>2]=7116;D=e+92|0;k[D>>2]=0;k[e+96>>2]=0;k[e+88>>2]=D;i[e+100>>0]=0;i[e+101>>0]=0;D=N4(d,e)|0;e=k[a+72>>2]|0;E=(k[a+76>>2]|0)-e>>2;if(!E){r=L;return D|0}C=a+72|0;t=c+16|0;u=b+72|0;v=b+76|0;w=D+68|0;y=w+16|0;z=w+8|0;A=w+12|0;B=w+4|0;l=b+72|0;m=I+4|0;n=G+4|0;o=G+8|0;p=G+1|0;q=I+1|0;s=I+8|0;d=0;a:while(1){e=k[e+(d<<2)>>2]|0;b=k[(k[e>>2]|0)+20>>2]|0;h=k[t>>2]|0;a=k[h+4>>2]|0;c=F;k[c>>2]=k[h>>2];k[c+4>>2]=a;k[J>>2]=k[F>>2];k[J+4>>2]=k[F+4>>2];Pc[b&255](I,e,J);e=k[u>>2]|0;b=(k[v>>2]|0)-e>>2;b:do if(!b)K=21;else{f=0;c:while(1){c=k[e+(f<<2)>>2]|0;a=k[(k[c>>2]|0)+20>>2]|0;e=k[t>>2]|0;g=k[e+4>>2]|0;h=H;k[h>>2]=k[e>>2];k[h+4>>2]=g;x=0;k[J>>2]=k[H>>2];k[J+4>>2]=k[H+4>>2];Qa(a|0,G|0,c|0,J|0);c=x;x=0;if(c&1){K=6;break a}h=j[I>>1]|0;a=(h&1)==0;g=(h&254)>>>1;c=a?g:k[m>>2]|0;M=i[G>>0]|0;e=(M&1)==0;h=(h&65535)>>>8&255;do if((c|0)==((e?(M&255)>>>1:k[n>>2]|0)|0)){e=e?p:k[o>>2]|0;if(!a){M=(tG(k[s>>2]|0,e,c)|0)==0;P1(G);if(M)break b;else break}if(!c)break c;if(h<<24>>24==(i[e>>0]|0)){h=q;while(1){g=g+-1|0;h=h+1|0;if(!g)break c;e=e+1|0;if((i[h>>0]|0)!=(i[e>>0]|0)){K=17;break}}}else K=17}else K=17;while(0);if((K|0)==17){K=0;P1(G)}f=f+1|0;if(f>>>0>=b>>>0){K=21;break b}e=k[l>>2]|0}P1(G)}while(0);if((K|0)==21){K=0;e=k[(k[C>>2]|0)+(d<<2)>>2]|0;k[J>>2]=e;f=e;if(e|0){k[y>>2]=0;g=k[z>>2]|0;if((g|0)==(k[A>>2]|0)){x=0;sa(450,B|0,J|0);M=x;x=0;if(M&1){K=7;break}}else{k[g>>2]=f;k[z>>2]=(k[z>>2]|0)+4}x=0;sa(k[k[w>>2]>>2]|0,w|0,e|0);M=x;x=0;if(M&1){K=7;break}}}P1(I);d=d+1|0;if(d>>>0>=E>>>0){K=3;break}e=k[C>>2]|0}if((K|0)==3){r=L;return D|0}else if((K|0)==6){M=mb()|0;P1(I);yb(M|0)}else if((K|0)==7){M=mb()|0;P1(I);yb(M|0)}return 0}function Ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+288|0;n=s+240|0;c=s+232|0;u=s+220|0;e=s;g=s+216|0;t=s+48|0;p=s+8|0;k[c>>2]=b;q=a+88|0;d=k[q>>2]|0;if((d|0)==(k[a+92>>2]|0))tw(a+84|0,c);else{k[d>>2]=b;k[q>>2]=(k[q>>2]|0)+4}f=k[b+68>>2]|0;o=a+8|0;f=Jc[k[(k[f>>2]|0)+40>>2]&1023](f,o)|0;h=k[(k[f>>2]|0)+20>>2]|0;m=a+4|0;d=k[(k[m>>2]|0)+16>>2]|0;j=k[d+4>>2]|0;l=e;k[l>>2]=k[d>>2];k[l+4>>2]=j;k[n>>2]=k[e>>2];k[n+4>>2]=k[e+4>>2];Pc[h&255](u,f,n);x=0;h=ua(192,((i[u>>0]&1)==0?u+1|0:k[u+8>>2]|0)|0)|0;l=x;x=0;do if(!(l&1)){k[g>>2]=h;c=k[m>>2]|0;d=c+216|0;e=k[d>>2]|0;if((e|0)==(k[c+220>>2]|0)){x=0;sa(465,c+212|0,g|0);l=x;x=0;if(l&1)break}else{k[e>>2]=h;k[d>>2]=(k[d>>2]|0)+4}c=k[m>>2]|0;x=0;l=n;g=f+8|0;j=l+40|0;do{k[l>>2]=k[g>>2];l=l+4|0;g=g+4|0}while((l|0)<(j|0));qa(7,t|0,h|0,c|0,n|0,0);n=x;x=0;if(!(n&1)){x=0;c=ua(213,t|0)|0;n=x;x=0;if(!(n&1)){e=(k[m>>2]|0)+36|0;x=0;f=Ka(856,e|0,72)|0;n=x;x=0;if(!(n&1)){l=p;g=b+8|0;j=l+40|0;do{k[l>>2]=k[g>>2];l=l+4|0;g=g+4|0}while((l|0)<(j|0));x=0;d=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,o|0)|0;o=x;x=0;if(!(o&1)){c=k[b+64>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+36>>2]|0,c|0,a|0)|0;a=x;x=0;if(!(a&1)){x=0;c=ua(k[(k[c>>2]|0)+72>>2]|0,c|0)|0;a=x;x=0;if(!(a&1)){k[f+4>>2]=0;l=f+8|0;g=p;j=l+40|0;do{k[l>>2]=k[g>>2];l=l+4|0;g=g+4|0}while((l|0)<(j|0));k[f+56>>2]=0;i[f+60>>0]=0;k[f+64>>2]=c;k[f>>2]=4904;k[f+68>>2]=d;k[f+52>>2]=2;x=0;g=Ka(857,e|0,f|0)|0;p=x;x=0;if(!(p&1)){k[q>>2]=(k[q>>2]|0)+-4;k[g+56>>2]=k[b+56>>2];c=k[t+56>>2]|0;d=c;if(c|0){e=t+60|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);uha(c)}e=k[t+44>>2]|0;if(!e){P1(u);r=s;return g|0}c=t+48|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);uha(e);P1(u);r=s;return g|0}}}}}}g=mb()|0;c=k[t+56>>2]|0;d=c;if(c|0){e=t+60|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);uha(c)}e=k[t+44>>2]|0;if(!e){t=g;P1(u);yb(t|0)}c=t+48|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);uha(e);t=g;P1(u);yb(t|0)}}while(0);t=mb()|0;P1(u);yb(t|0);return 0}function Qh(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;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;y=0;s=r;r=r+576|0;n=s+424|0;q=s;a=s+24|0;u=s+16|0;o=s+12|0;t=s+8|0;m=s+564|0;j=s+4|0;p=s+464|0;k[u>>2]=a;w=u+4|0;k[w>>2]=363;l=a+400|0;x=0;h=ua(189,e|0)|0;z=x;x=0;if(z&1){j=mb()|0;k[u>>2]=0;h=363;y=49}else{k[t>>2]=h;x=0;h=Ka(865,t|0,74204)|0;z=x;x=0;a:do if(z&1)y=10;else{i[m>>0]=0;k[j>>2]=k[c>>2];a=k[e+4>>2]|0;x=0;k[n>>2]=k[j>>2];a=Ia(2,b|0,n|0,d|0,t|0,a|0,f|0,m|0,h|0,u|0,o|0,l|0)|0;z=x;x=0;if(z&1)y=10;else{b:do if(a){x=0;Pa(k[(k[h>>2]|0)+48>>2]|0,h|0,50663,50673,n|0)|0;z=x;x=0;if(z&1){y=10;break a}j=k[o>>2]|0;d=k[u>>2]|0;a=j-d|0;if((a|0)>392){a=hd((a>>2)+2|0)|0;h=a;if(!a){x=0;pa(6);z=x;x=0;if(!(z&1)){a=0;y=13}}else y=13}else{h=0;a=p;y=13}do if((y|0)==13){if(i[m>>0]|0){i[a>>0]=45;a=a+1|0}e=n+40|0;m=n;while(1){if(d>>>0>=j>>>0)break;l=k[d>>2]|0;j=n;while(1){if((j|0)==(e|0)){j=e;break}if((k[j>>2]|0)==(l|0))break;j=j+4|0}i[a>>0]=i[50663+(j-m>>2)>>0]|0;j=k[o>>2]|0;a=a+1|0;d=d+4|0}i[a>>0]=0;k[q>>2]=g;if((oN(p,50548,q)|0)!=1){x=0;ra(364,50552);z=x;x=0;if(z&1)break}if(h|0)cf(h);break b}while(0);a=mb()|0;if(!h){j=a;h=u;break a}cf(h);j=a;h=u;break a}while(0);a=k[b>>2]|0;do if(!a)j=1;else{h=k[a+12>>2]|0;if((h|0)==(k[a+16>>2]|0)){x=0;a=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;z=x;x=0;if(z&1){y=10;break a}}else a=k[h>>2]|0;if((a|0)==-1){k[b>>2]=0;j=1;break}else{j=(k[b>>2]|0)==0;break}}while(0);a=k[c>>2]|0;do if(!a)y=40;else{h=k[a+12>>2]|0;if((h|0)==(k[a+16>>2]|0)){x=0;a=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;z=x;x=0;if(z&1){y=10;break a}}else a=k[h>>2]|0;if((a|0)==-1){k[c>>2]=0;y=40;break}else if(j)break;else{y=42;break}}while(0);if((y|0)==40)if(j)y=42;if((y|0)==42)k[f>>2]=k[f>>2]|2;h=k[b>>2]|0;sK(k[t>>2]|0)|0;a=k[u>>2]|0;k[u>>2]=0;if(a|0){x=0;ra(k[w>>2]|0,a|0);z=x;x=0;if(z&1){z=Eb(0)|0;Nba(z)}}r=s;return h|0}}while(0);if((y|0)==10){j=mb()|0;h=u}sK(k[t>>2]|0)|0;a=k[h>>2]|0;k[h>>2]=0;if(!a)v=j;else{h=k[w>>2]|0;y=49}}if((y|0)==49){x=0;ra(h|0,a|0);z=x;x=0;if(z&1){z=Eb(0)|0;Nba(z)}else v=j}yb(v|0);return 0}function Rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;j=r;r=r+272|0;h=j+232|0;m=j+216|0;o=j;c=j+32|0;d=j+20|0;g=j+8|0;l=j+48|0;e=k[b+68>>2]|0;e=Jc[k[(k[e>>2]|0)+40>>2]&1023](e,a)|0;n=k[(k[e>>2]|0)+20>>2]|0;f=a+8|0;s=k[(k[f>>2]|0)+16>>2]|0;q=k[s+4>>2]|0;p=o;k[p>>2]=k[s>>2];k[p+4>>2]=q;k[h>>2]=k[o>>2];k[h+4>>2]=k[o+4>>2];Pc[n&255](m,e,h);x=0;sa(500,g|0,m|0);e=x;x=0;a:do if(!(e&1)){x=0;Ua(11,d|0,g|0,0,0);s=x;x=0;do if(s&1)c=mb()|0;else{x=0;e=Ka(866,d|0,32753)|0;s=x;x=0;if(s&1){c=mb()|0;P1(d);break}k[c>>2]=k[e>>2];k[c+4>>2]=k[e+4>>2];k[c+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;if(!(i[m>>0]&1)){i[m+1>>0]=0;i[m>>0]=0}else{i[k[m+8>>2]>>0]=0;k[m+4>>2]=0}x=0;sa(443,m|0,0);s=x;x=0;if(s&1){s=Eb(0)|0;Nba(s)}k[m>>2]=k[c>>2];k[m+4>>2]=k[c+4>>2];k[m+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;P1(c);P1(d);P1(g);g=(i[m>>0]&1)==0?m+1|0:k[m+8>>2]|0;c=k[f>>2]|0;x=0;d=h;e=b+8|0;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));qa(7,l|0,g|0,c|0,h|0,0);s=x;x=0;if(s&1)break a;k[l+68>>2]=k[b+60>>2];x=0;d=Ka(884,l|0,(i[(k[(k[(k[a+4>>2]|0)+40>>2]|0)+-4>>2]|0)+84>>0]|0)!=0|0)|0;s=x;x=0;do if(!(s&1)){x=0;c=ua(k[(k[b>>2]|0)+96>>2]|0,b|0)|0;s=x;x=0;if(!(s&1)){if(c){x=0;ra(334,d|0);s=x;x=0;if(s&1)break}x=0;g=Ka(k[(k[a>>2]|0)+272>>2]|0,a|0,d|0)|0;s=x;x=0;if(!(s&1)){c=k[l+56>>2]|0;d=c;if(c|0){e=l+60|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);uha(c)}e=k[l+44>>2]|0;if(!e){P1(m);r=j;return g|0}c=l+48|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);uha(e);P1(m);r=j;return g|0}}}while(0);g=mb()|0;c=k[l+56>>2]|0;d=c;if(c|0){e=l+60|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);uha(c)}e=k[l+44>>2]|0;if(!e){s=g;P1(m);yb(s|0)}c=l+48|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);uha(e);s=g;P1(m);yb(s|0)}while(0);P1(g);s=c;P1(m);yb(s|0)}while(0);s=mb()|0;P1(m);yb(s|0);return 0}function Sh(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;s=r;r=r+48|0;g=s+32|0;q=s+28|0;f=s+24|0;h=s+20|0;j=s+16|0;l=s+12|0;m=s+8|0;n=s+4|0;p=s;k[g>>2]=c;k[q>>2]=d;k[a>>2]=12004;k[a+4>>2]=b;H=a+8|0;x=0;sa(504,H|0,a|0);G=x;x=0;if(G&1){H=mb()|0;yb(H|0)}E=a+24|0;G=a+28|0;C=a+36|0;F=a+40|0;A=a+48|0;D=a+52|0;y=a+60|0;B=a+64|0;v=a+72|0;z=a+76|0;t=a+84|0;w=a+88|0;o=a+96|0;u=a+100|0;b=E;e=b+84|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(e|0));i[E+84>>0]=0;k[f>>2]=0;x=0;sa(488,E|0,f|0);f=x;x=0;do if(!(f&1)){b=k[G>>2]|0;if((b|0)==(k[a+32>>2]|0)){x=0;sa(505,E|0,g|0);g=x;x=0;if(g&1)break}else{k[b>>2]=c;k[G>>2]=(k[G>>2]|0)+4}k[h>>2]=0;b=k[F>>2]|0;if(b>>>0<(k[a+44>>2]|0)>>>0){k[b>>2]=0;k[F>>2]=(k[F>>2]|0)+4}else{x=0;sa(506,C|0,h|0);h=x;x=0;if(h&1)break}k[j>>2]=0;b=k[D>>2]|0;if(b>>>0<(k[a+56>>2]|0)>>>0){k[b>>2]=0;k[D>>2]=(k[D>>2]|0)+4}else{x=0;sa(503,A|0,j|0);j=x;x=0;if(j&1)break}k[l>>2]=0;b=k[B>>2]|0;if(b>>>0<(k[a+68>>2]|0)>>>0){k[b>>2]=0;k[B>>2]=(k[B>>2]|0)+4}else{x=0;sa(507,y|0,l|0);l=x;x=0;if(l&1)break}k[m>>2]=0;b=k[z>>2]|0;if(b>>>0<(k[a+80>>2]|0)>>>0){k[b>>2]=0;k[z>>2]=(k[z>>2]|0)+4}else{x=0;sa(483,v|0,m|0);m=x;x=0;if(m&1)break}k[n>>2]=0;b=k[w>>2]|0;if(b>>>0<(k[a+92>>2]|0)>>>0){k[b>>2]=0;k[w>>2]=(k[w>>2]|0)+4}else{x=0;sa(508,t|0,n|0);n=x;x=0;if(n&1)break}k[p>>2]=0;b=k[u>>2]|0;c=a+104|0;if(b>>>0<(k[c>>2]|0)>>>0){k[b>>2]=0;b=(k[u>>2]|0)+4|0;k[u>>2]=b}else{x=0;sa(494,o|0,p|0);p=x;x=0;if(p&1)break;b=k[u>>2]|0}if((b|0)==(k[c>>2]|0)){x=0;sa(509,o|0,q|0);q=x;x=0;if(q&1)break;r=s;return}else{k[b>>2]=d;k[u>>2]=(k[u>>2]|0)+4;r=s;return}}while(0);e=mb()|0;b=k[o>>2]|0;c=b;if(b|0){d=k[u>>2]|0;if((d|0)!=(b|0))k[u>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(b)}b=k[t>>2]|0;c=b;if(b|0){d=k[w>>2]|0;if((d|0)!=(b|0))k[w>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(b)}b=k[v>>2]|0;c=b;if(b|0){d=k[z>>2]|0;if((d|0)!=(b|0))k[z>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(b)}b=k[y>>2]|0;c=b;if(b|0){d=k[B>>2]|0;if((d|0)!=(b|0))k[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(b)}b=k[A>>2]|0;c=b;if(b|0){d=k[D>>2]|0;if((d|0)!=(b|0))k[D>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(b)}b=k[C>>2]|0;c=b;if(b|0){d=k[F>>2]|0;if((d|0)!=(b|0))k[F>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(b)}b=k[E>>2]|0;c=b;if(b|0){d=k[G>>2]|0;if((d|0)!=(b|0))k[G>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(b)}zha(H);H=e;yb(H|0)}function Th(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=0;s=r;r=r+336|0;m=s;t=s+160|0;h=s+120|0;p=s+108|0;l=s+96|0;n=s+56|0;o=s+40|0;CH(h,36731,0,-1);g=m;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));ck(t,a,c,m,0);x=0;xa(59,t|0,1,0)|0;j=x;x=0;do if(j&1)q=27;else{e=k[t+156>>2]|0;h=k[t+160>>2]|0;g=h-e|0;if(g>>>0>4294967279){x=0;ra(331,l|0);q=x;x=0;if(q&1){q=27;break}else q=6}else if(g>>>0<11){i[l>>0]=g<<1;d=l+1|0}else q=6;if((q|0)==6){f=g+16&-16;x=0;d=ua(186,f|0)|0;j=x;x=0;if(j&1){q=27;break}k[l+8>>2]=d;k[l>>2]=f|1;k[l+4>>2]=g}if((e|0)!=(h|0)){f=d;while(1){i[f>>0]=i[e>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else f=f+1|0}d=d+g|0}i[d>>0]=0;x=0;sa(492,p|0,l|0);j=x;x=0;if(j&1){d=mb()|0;P1(l);break}P1(l);x=0;f=ua(222,t|0)|0;l=x;x=0;if(l&1)q=29;else{d=c+36|0;x=0;e=Ka(856,d|0,112)|0;c=x;x=0;if(c&1)q=29;else{x=0;Ua(14,n|0,36731,0,-1);c=x;x=0;if(c&1)q=29;else{x=0;sa(430,o|0,p|0);c=x;x=0;if(c&1)q=29;else{g=m;h=n;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[e+4>>2]=0;g=e+8|0;h=m;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[e+52>>2]=0;k[e+56>>2]=0;i[e+60>>0]=0;k[e+64>>2]=0;k[e>>2]=8640;x=0;sa(430,e+68|0,o|0);n=x;x=0;if(!(n&1)){k[e+80>>2]=f;k[e+84>>2]=0;k[e+88>>2]=1;k[e+92>>2]=b;k[e+96>>2]=0;k[e+100>>2]=0;i[e+104>>0]=0;k[e+108>>2]=a;x=0;h=Ka(857,d|0,e|0)|0;a=x;x=0;if(!(a&1)){P1(o);P1(p);d=k[t+56>>2]|0;e=d;if(d|0){f=t+60|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);uha(d)}f=k[t+44>>2]|0;if(!f){r=s;return h|0}d=t+48|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);uha(f);r=s;return h|0}}d=mb()|0;P1(o)}}}}if((q|0)==29)d=mb()|0;P1(p)}while(0);if((q|0)==27)d=mb()|0;g=k[t+56>>2]|0;h=g;if(g|0){e=t+60|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-h|0)>>>2)<<2);uha(g)}g=k[t+44>>2]|0;if(!g)yb(d|0);e=t+48|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-g|0)>>>2)<<2);uha(g);yb(d|0);return 0}function Uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;o=a+4|0;d=(k[o>>2]|0)+36|0;e=lD(d,88)|0;g=a+20|0;f=a+24|0;c=k[f>>2]|0;if((c|0)==(k[g>>2]|0))c=k[a+8>>2]|0;else c=c+-4|0;m=p;h=(k[c>>2]|0)+8|0;j=m+40|0;do{k[m>>2]=k[h>>2];m=m+4|0;h=h+4|0}while((m|0)<(j|0));k[e+4>>2]=0;m=e+8|0;h=p;j=m+40|0;do{k[m>>2]=k[h>>2];m=m+4|0;h=h+4|0}while((m|0)<(j|0));k[e+52>>2]=0;k[e+56>>2]=0;i[e+60>>0]=0;k[e+68>>2]=0;k[e+72>>2]=0;k[e+76>>2]=0;k[e>>2]=9664;k[e+64>>2]=9756;i[e+84>>0]=0;i[e+85>>0]=0;i[e+86>>0]=0;i[e+87>>0]=0;d=N4(d,e)|0;c=k[f>>2]|0;if((c|0)==(k[g>>2]|0))c=k[a+8>>2]|0;else c=c+-4|0;n=Ue(a,k[c>>2]|0)|0;m=n+64|0;k[m>>2]=d;c=k[f>>2]|0;if((c|0)==(k[g>>2]|0))c=k[a+8>>2]|0;else c=c+-4|0;k[n+56>>2]=k[(k[c>>2]|0)+56>>2];l=b+64|0;c=k[l>>2]|0;j=(k[c+72>>2]|0)-(k[c+68>>2]|0)>>2;a:do if(j|0){h=d;d=c;c=0;while(1){a=h+64|0;d=k[(k[d+68>>2]|0)+(c<<2)>>2]|0;k[p>>2]=d;e=d;if(d|0){k[h+80>>2]=0;f=h+72|0;g=k[f>>2]|0;if((g|0)==(k[h+76>>2]|0))xw(h+68|0,p);else{k[g>>2]=e;k[f>>2]=(k[f>>2]|0)+4}rc[k[k[a>>2]>>2]&1023](a,d)}c=c+1|0;if((c|0)==(j|0))break a;h=k[m>>2]|0;d=k[l>>2]|0}}while(0);c=(k[o>>2]|0)+36|0;d=lD(c,88)|0;m=p;h=(k[l>>2]|0)+8|0;j=m+40|0;do{k[m>>2]=k[h>>2];m=m+4|0;h=h+4|0}while((m|0)<(j|0));k[d+4>>2]=0;m=d+8|0;h=p;j=m+40|0;do{k[m>>2]=k[h>>2];m=m+4|0;h=h+4|0}while((m|0)<(j|0));k[d+52>>2]=0;k[d+56>>2]=0;i[d+60>>0]=0;k[d+68>>2]=0;k[d+72>>2]=0;k[d+76>>2]=0;k[d>>2]=9664;k[d+64>>2]=9756;i[d+84>>0]=0;i[d+85>>0]=0;i[d+86>>0]=0;i[d+87>>0]=0;g=N4(c,d)|0;c=g+64|0;k[p>>2]=n;d=n;if(n|0){k[g+80>>2]=0;e=g+72|0;f=k[e>>2]|0;if((f|0)==(k[g+76>>2]|0))xw(g+68|0,p);else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[c>>2]>>2]&1023](c,n)}c=(k[o>>2]|0)+36|0;d=lD(c,72)|0;e=k[b+68>>2]|0;m=p;h=b+8|0;j=m+40|0;do{k[m>>2]=k[h>>2];m=m+4|0;h=h+4|0}while((m|0)<(j|0));k[d+4>>2]=0;m=d+8|0;h=p;j=m+40|0;do{k[m>>2]=k[h>>2];m=m+4|0;h=h+4|0}while((m|0)<(j|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d+64>>2]=g;k[d>>2]=10048;k[d+68>>2]=e;k[d+52>>2]=5;e=N4(c,d)|0;c=(k[o>>2]|0)+36|0;d=lD(c,72)|0;m=p;h=e+8|0;j=m+40|0;do{k[m>>2]=k[h>>2];m=m+4|0;h=h+4|0}while((m|0)<(j|0));k[d+4>>2]=0;m=d+8|0;h=p;j=m+40|0;do{k[m>>2]=k[h>>2];m=m+4|0;h=h+4|0}while((m|0)<(j|0));k[d+52>>2]=6;k[d+56>>2]=0;i[d+60>>0]=0;k[d>>2]=9784;k[d+64>>2]=e;i[d+68>>0]=1;p=N4(c,d)|0;r=q;return p|0}function Vh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+144|0;q=s+96|0;n=s+72|0;t=s+60|0;o=s+80|0;h=s+56|0;l=s+32|0;j=s+44|0;c=s+24|0;g=s+12|0;f=s;x=0;pa(4);x=0;p=jb(1752,1784,1800,0)|0;m=M;if((m|0)==(tb(1752)|0)){e=Ib(p|0)|0;k[c>>2]=13592;k[c+4>>2]=k[e+4>>2];Bb(p|0)|0;x=0;Qa(74,g|0,37591,24);e=x;x=0;if(e&1)c=mb()|0;else{x=0;sa(430,f|0,g|0);e=x;x=0;do if(e&1)c=mb()|0;else{x=0;c=q;d=a;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));Qa(100,f|0,q|0,b|0);e=x;x=0;if(e&1){c=mb()|0;P1(f);break}P1(f);P1(g);xb();r=s;return}while(0);P1(g)}x=0;pa(3);g=x;x=0;if(g&1){g=Eb(0)|0;Nba(g)}else{t=c;yb(t|0)}}if((m|0)==(tb(1784)|0)){Ib(p|0)|0;k[h>>2]=13612;Bb(p|0)|0;x=0;Qa(74,l|0,37633,21);h=x;x=0;if(h&1)c=mb()|0;else{x=0;sa(430,j|0,l|0);h=x;x=0;do if(h&1)c=mb()|0;else{x=0;c=q;d=a;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));Qa(100,j|0,q|0,b|0);h=x;x=0;if(h&1){c=mb()|0;P1(j);break}P1(j);P1(l);xb();r=s;return}while(0);P1(l)}x=0;pa(3);l=x;x=0;if(l&1){l=Eb(0)|0;Nba(l)}else{t=c;yb(t|0)}}if((m|0)!=(tb(1800)|0)){Bb(p|0)|0;x=0;pa(4);x=0;c=mb()|0;x=0;pa(3);m=x;x=0;if(m&1){m=Eb(0)|0;Nba(m)}else{t=c;yb(t|0)}}m=Ib(p|0)|0;k[n>>2]=13632;i[n+4>>0]=i[m+4>>0]|0;Bb(p|0)|0;x=0;Qa(74,t|0,37669,18);p=x;x=0;if(p&1)c=mb()|0;else{x=0;sa(430,o|0,t|0);p=x;x=0;do if(p&1)c=mb()|0;else{x=0;c=q;d=a;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));Qa(100,o|0,q|0,b|0);q=x;x=0;if(q&1){c=mb()|0;P1(o);break}P1(o);P1(t);xb();r=s;return}while(0);P1(t)}x=0;pa(3);t=x;x=0;if(t&1){t=Eb(0)|0;Nba(t)}else{t=c;yb(t|0)}}function Wh(a,b,c,d,e,f,g,h,j,l,m,n,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,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[c>>2]=a;H=p+4|0;I=p+8|0;A=o+4|0;B=(d&512|0)==0;C=o+8|0;D=(q|0)>0;E=n+4|0;F=n+8|0;G=n+1|0;z=0;while(1){if((z|0)==4)break;a:do switch(i[j+z>>0]|0){case 0:{k[b>>2]=k[c>>2];break}case 1:{k[b>>2]=k[c>>2];x=Jc[k[(k[g>>2]|0)+44>>2]&1023](g,32)|0;y=k[c>>2]|0;k[c>>2]=y+4;k[y>>2]=x;break}case 3:{y=i[p>>0]|0;r=(y&1)==0;if((r?(y&255)>>>1:k[H>>2]|0)|0){x=k[(r?H:k[I>>2]|0)>>2]|0;y=k[c>>2]|0;k[c>>2]=y+4;k[y>>2]=x}break}case 2:{v=i[o>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:k[A>>2]|0;if(!(B|(v|0)==0)){u=r?A:k[C>>2]|0;s=u+(v<<2)|0;t=k[c>>2]|0;r=t;while(1){if((u|0)==(s|0))break;k[r>>2]=k[u>>2];r=r+4|0;u=u+4|0}k[c>>2]=t+(v<<2)}break}case 4:{s=k[c>>2]|0;e=h?e+4|0:e;r=e;while(1){if(r>>>0>=f>>>0)break;if(!(wc[k[(k[g>>2]|0)+12>>2]&127](g,2048,k[r>>2]|0)|0))break;r=r+4|0}if(D){v=q;while(1){t=(v|0)>0;if(!(r>>>0>e>>>0&t))break;y=r+-4|0;w=k[y>>2]|0;x=k[c>>2]|0;k[c>>2]=x+4;k[x>>2]=w;r=y;v=v+-1|0}if(t)w=Jc[k[(k[g>>2]|0)+44>>2]&1023](g,48)|0;else w=0;u=k[c>>2]|0;while(1){t=u+4|0;if((v|0)<=0)break;k[u>>2]=w;u=t;v=v+-1|0}k[c>>2]=t;k[u>>2]=l}if((r|0)==(e|0)){x=Jc[k[(k[g>>2]|0)+44>>2]&1023](g,48)|0;y=k[c>>2]|0;r=y+4|0;k[c>>2]=r;k[y>>2]=x}else{x=i[n>>0]|0;t=(x&1)==0;y=k[E>>2]|0;if(!((t?(x&255)>>>1:y)|0)){w=-1;v=0;x=0}else{w=i[(t?G:k[F>>2]|0)>>0]|0;v=0;x=0}while(1){if((r|0)==(e|0))break;t=k[c>>2]|0;if((x|0)==(w|0)){u=t+4|0;k[c>>2]=u;k[t>>2]=m;v=v+1|0;w=i[n>>0]|0;t=(w&1)==0;if(v>>>0<(t?(w&255)>>>1:y)>>>0){w=i[(t?G:k[F>>2]|0)+v>>0]|0;t=u;w=w<<24>>24|0;w=(w|0)==127?-1:w|0;u=0}else{t=u;w=x;u=0}}else u=x;x=r+-4|0;J=k[x>>2]|0;k[c>>2]=t+4;k[t>>2]=J;r=x;x=u+1|0}r=k[c>>2]|0}if((s|0)!=(r|0))while(1){r=r+-4|0;if(s>>>0>=r>>>0)break a;J=k[s>>2]|0;k[s>>2]=k[r>>2];k[r>>2]=J;s=s+4|0}break}default:{}}while(0);z=z+1|0}r=i[p>>0]|0;e=(r&1)==0;r=e?(r&255)>>>1:k[H>>2]|0;if(r>>>0>1){s=e?H:k[I>>2]|0;u=s+4|0;r=s+(r<<2)|0;s=k[c>>2]|0;t=r-u|0;e=s;while(1){if((u|0)==(r|0))break;k[e>>2]=k[u>>2];e=e+4|0;u=u+4|0}k[c>>2]=s+(t>>>2<<2)}switch(d&176|0){case 32:{k[b>>2]=k[c>>2];break}case 16:break;default:k[b>>2]=a}return}function Xh(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;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;w=0;s=r;r=r+240|0;n=s+24|0;q=s;a=s+140|0;u=s+16|0;o=s+12|0;t=s+8|0;m=s+136|0;j=s+4|0;p=s+36|0;k[u>>2]=a;v=u+4|0;k[v>>2]=363;l=a+100|0;x=0;h=ua(189,e|0)|0;z=x;x=0;if(z&1){j=mb()|0;k[u>>2]=0;h=363;w=47}else{k[t>>2]=h;x=0;h=Ka(865,t|0,74172)|0;z=x;x=0;a:do if(z&1)w=10;else{i[m>>0]=0;k[j>>2]=k[c>>2];a=k[e+4>>2]|0;x=0;k[n>>2]=k[j>>2];a=Ia(1,b|0,n|0,d|0,t|0,a|0,f|0,m|0,h|0,u|0,o|0,l|0)|0;z=x;x=0;if(z&1)w=10;else{b:do if(a){x=0;Pa(k[(k[h>>2]|0)+32>>2]|0,h|0,50537,50547,n|0)|0;z=x;x=0;if(z&1){w=10;break a}j=k[o>>2]|0;d=k[u>>2]|0;a=j-d|0;if((a|0)>98){a=hd(a+2|0)|0;h=a;if(!a){x=0;pa(6);z=x;x=0;if(!(z&1)){a=0;w=13}}else w=13}else{h=0;a=p;w=13}do if((w|0)==13){if(i[m>>0]|0){i[a>>0]=45;a=a+1|0}e=n+10|0;m=n;while(1){if(d>>>0>=j>>>0)break;l=i[d>>0]|0;j=n;while(1){if((j|0)==(e|0)){j=e;break}if((i[j>>0]|0)==l<<24>>24)break;j=j+1|0}i[a>>0]=i[50537+(j-m)>>0]|0;j=k[o>>2]|0;a=a+1|0;d=d+1|0}i[a>>0]=0;k[q>>2]=g;if((oN(p,50548,q)|0)!=1){x=0;ra(364,50552);z=x;x=0;if(z&1)break}if(h|0)cf(h);break b}while(0);a=mb()|0;if(!h){j=a;h=u;break a}cf(h);j=a;h=u;break a}while(0);a=k[b>>2]|0;do if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;a=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;z=x;x=0;if(z&1){w=10;break a}if((a|0)==-1){k[b>>2]=0;a=0;break}else{a=k[b>>2]|0;break}}while(0);h=(a|0)==0;a=k[c>>2]|0;do if(!a)w=39;else{if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;a=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;z=x;x=0;if(z&1){w=10;break a}if((a|0)==-1){k[c>>2]=0;w=39;break}}if(!h)w=40}while(0);if((w|0)==39)if(h)w=40;if((w|0)==40)k[f>>2]=k[f>>2]|2;h=k[b>>2]|0;sK(k[t>>2]|0)|0;a=k[u>>2]|0;k[u>>2]=0;if(a|0){x=0;ra(k[v>>2]|0,a|0);z=x;x=0;if(z&1){z=Eb(0)|0;Nba(z)}}r=s;return h|0}}while(0);if((w|0)==10){j=mb()|0;h=u}sK(k[t>>2]|0)|0;a=k[h>>2]|0;k[h>>2]=0;if(!a)y=j;else{h=k[v>>2]|0;w=47}}if((w|0)==47){x=0;ra(h|0,a|0);z=x;x=0;if(z&1){z=Eb(0)|0;Nba(z)}else y=j}yb(y|0);return 0}function Yh(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;z=r;r=r+128|0;A=z;v=z+88|0;y=z+40|0;w=a+36|0;e=lD(w,92)|0;f=A;j=d;l=f+40|0;do{k[f>>2]=k[j>>2];f=f+4|0;j=j+4|0}while((f|0)<(l|0));k[e+4>>2]=0;f=e+8|0;j=A;l=f+40|0;do{k[f>>2]=k[j>>2];f=f+4|0;j=j+4|0}while((f|0)<(l|0));k[e+56>>2]=0;i[e+60>>0]=0;k[e>>2]=9088;h=e+64|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;k[h+16>>2]=0;k[h+20>>2]=0;k[h+24>>2]=0;k[e+52>>2]=12;h=N4(w,e)|0;Lv(A,a+336|0);x=0;na(7,a|0,a+20|0,c|0,d|0,h|0,A|0,0)|0;u=x;x=0;if(u&1){f=mb()|0;g=k[A>>2]|0;if(!g)yb(f|0);e=A+4|0;c=k[e>>2]|0;if((c|0)!=(g|0))k[e>>2]=c+(~((c+-4-g|0)>>>2)<<2);uha(g);yb(f|0)}e=k[A>>2]|0;c=e;if(e|0){f=A+4|0;g=k[f>>2]|0;if((g|0)!=(e|0))k[f>>2]=g+(~((g+-4-c|0)>>>2)<<2);uha(e)}u=a+32|0;k[u>>2]=(k[u>>2]|0)+-1+((k[a+228>>2]|0)-(k[a+224>>2]|0)>>3);if((k[h+64>>2]|0)!=(k[h+68>>2]|0)){e=b+64|0;k[A>>2]=h;k[b+80>>2]=0;c=b+72|0;f=k[c>>2]|0;if((f|0)==(k[b+76>>2]|0))xw(b+68|0,A);else{k[f>>2]=h;k[c>>2]=(k[c>>2]|0)+4}rc[k[k[e>>2]>>2]&1023](e,h)}a=h+76|0;t=k[a+4>>2]|0;u=k[a>>2]|0;m=(t-u|0)/48|0;if((t|0)==(u|0)){r=z;return}n=b+64|0;s=y+36|0;t=y+24|0;u=y+12|0;o=b+80|0;p=b+72|0;q=b+76|0;g=b+68|0;h=0;while(1){c=lD(w,112)|0;f=v;j=d;l=f+40|0;do{k[f>>2]=k[j>>2];f=f+4|0;j=j+4|0}while((f|0)<(l|0));Zv(y,(k[a>>2]|0)+(h*48|0)|0);k[c+4>>2]=0;f=c+8|0;j=v;l=f+40|0;do{k[f>>2]=k[j>>2];f=f+4|0;j=j+4|0}while((f|0)<(l|0));e=c+52|0;k[e>>2]=0;k[c+56>>2]=0;i[c+60>>0]=0;k[c>>2]=9176;x=0;sa(475,c+64|0,y|0);b=x;x=0;if(b&1){e=27;break}k[e>>2]=11;x=0;e=Ka(857,w|0,c|0)|0;b=x;x=0;if(b&1){e=27;break}k[A>>2]=e;c=e;if(e|0){k[o>>2]=0;f=k[p>>2]|0;if((f|0)==(k[q>>2]|0)){x=0;sa(480,g|0,A|0);b=x;x=0;if(b&1){e=27;break}}else{k[f>>2]=c;k[p>>2]=(k[p>>2]|0)+4}x=0;sa(k[k[n>>2]>>2]|0,n|0,e|0);b=x;x=0;if(b&1){e=27;break}}P1(s);P1(t);P1(u);P1(y);h=h+1|0;if(h>>>0>=m>>>0){e=18;break}}if((e|0)==18){r=z;return}else if((e|0)==27){A=mb()|0;P1(s);P1(t);P1(u);P1(y);yb(A|0)}}function Zh(a,b,c,d,e,f,g,h,l,m,n,o,p,q,r){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var 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;k[c>>2]=a;H=q+4|0;I=q+8|0;J=q+1|0;B=p+4|0;C=(d&512|0)==0;D=p+8|0;E=p+1|0;F=g+8|0;G=(r|0)>0;y=o+4|0;z=o+8|0;A=o+1|0;x=0;while(1){if((x|0)==4)break;a:do switch(i[l+x>>0]|0){case 0:{k[b>>2]=k[c>>2];break}case 1:{k[b>>2]=k[c>>2];v=Jc[k[(k[g>>2]|0)+28>>2]&1023](g,32)|0;w=k[c>>2]|0;k[c>>2]=w+1;i[w>>0]=v;break}case 3:{w=i[q>>0]|0;s=(w&1)==0;if((s?(w&255)>>>1:k[H>>2]|0)|0){v=i[(s?J:k[I>>2]|0)>>0]|0;w=k[c>>2]|0;k[c>>2]=w+1;i[w>>0]=v}break}case 2:{t=i[p>>0]|0;s=(t&1)==0;t=s?(t&255)>>>1:k[B>>2]|0;if(!(C|(t|0)==0)){w=s?E:k[D>>2]|0;u=w+t|0;s=k[c>>2]|0;t=w;while(1){if((t|0)==(u|0))break;i[s>>0]=i[t>>0]|0;s=s+1|0;t=t+1|0}k[c>>2]=s}break}case 4:{t=k[c>>2]|0;e=h?e+1|0:e;s=e;while(1){if(s>>>0>=f>>>0)break;u=i[s>>0]|0;if(u<<24>>24<=-1)break;if(!(j[(k[F>>2]|0)+(u<<24>>24<<1)>>1]&2048))break;s=s+1|0}if(G){v=r;while(1){u=(v|0)>0;if(!(s>>>0>e>>>0&u))break;w=s+-1|0;K=i[w>>0]|0;u=k[c>>2]|0;k[c>>2]=u+1;i[u>>0]=K;s=w;v=v+-1|0}if(u)w=Jc[k[(k[g>>2]|0)+28>>2]&1023](g,48)|0;else w=0;while(1){u=k[c>>2]|0;k[c>>2]=u+1;if((v|0)<=0)break;i[u>>0]=w;v=v+-1|0}i[u>>0]=m}b:do if((s|0)==(e|0)){w=Jc[k[(k[g>>2]|0)+28>>2]&1023](g,48)|0;K=k[c>>2]|0;k[c>>2]=K+1;i[K>>0]=w}else{K=i[o>>0]|0;u=(K&1)==0;if(!((u?(K&255)>>>1:k[y>>2]|0)|0)){u=-1;v=0;w=0}else{u=i[(u?A:k[z>>2]|0)>>0]|0;v=0;w=0}while(1){if((s|0)==(e|0))break b;if((w|0)==(u|0)){K=k[c>>2]|0;k[c>>2]=K+1;i[K>>0]=n;v=v+1|0;K=i[o>>0]|0;u=(K&1)==0;if(v>>>0<(u?(K&255)>>>1:k[y>>2]|0)>>>0){u=i[(u?A:k[z>>2]|0)+v>>0]|0;u=u<<24>>24|0;u=(u|0)==127?-1:u|0;w=0}else{u=w;w=0}}K=s+-1|0;M=i[K>>0]|0;L=k[c>>2]|0;k[c>>2]=L+1;i[L>>0]=M;s=K;w=w+1|0}}while(0);s=k[c>>2]|0;if((t|0)!=(s|0))while(1){s=s+-1|0;if(t>>>0>=s>>>0)break a;M=i[t>>0]|0;i[t>>0]=i[s>>0]|0;i[s>>0]=M;t=t+1|0}break}default:{}}while(0);x=x+1|0}e=i[q>>0]|0;s=(e&1)==0;e=s?(e&255)>>>1:k[H>>2]|0;if(e>>>0>1){s=s?J:k[I>>2]|0;t=s+e|0;e=k[c>>2]|0;while(1){s=s+1|0;if((s|0)==(t|0))break;i[e>>0]=i[s>>0]|0;e=e+1|0}k[c>>2]=e}switch(d&176|0){case 32:{k[b>>2]=k[c>>2];break}case 16:break;default:k[b>>2]=a}return}function _h(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0.0;B=r;r=r+160|0;A=B+112|0;n=B+96|0;v=B+56|0;w=B+44|0;y=B+32|0;z=B+20|0;q=B;o=B+8|0;lE(n,36999,6);x=0;b=Ka(867,a|0,n|0)|0;u=x;x=0;if(u&1){B=mb()|0;P1(n);yb(B|0)}b=k[b>>2]|0;if(!b)P1(n);else{b=Ot(b,8,392,0)|0;P1(n);if(b|0){n=c+36|0;o=lD(n,76)|0;s=v;t=e;u=s+40|0;do{k[s>>2]=k[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(u|0));e=k[(k[b>>2]|0)+20>>2]|0;t=k[c+16>>2]|0;u=k[t+4>>2]|0;c=q;k[c>>2]=k[t>>2];k[c+4>>2]=u;k[A>>2]=k[q>>2];k[A+4>>2]=k[q+4>>2];Pc[e&255](z,b,A);x=0;b=xa(50,z|0,0,37093)|0;e=x;x=0;if(e&1)b=mb()|0;else{k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,y|0,38861)|0;e=x;x=0;if(e&1)b=mb()|0;else{k[w>>2]=k[b>>2];k[w+4>>2]=k[b+4>>2];k[w+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;s=A;t=v;u=s+40|0;do{k[s>>2]=k[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(u|0));qa(5,o|0,A|0,w|0,0,0);A=x;x=0;if(!(A&1)){x=0;b=Ka(857,n|0,o|0)|0;A=x;x=0;if(!(A&1)){P1(w);P1(y);P1(z);A=b;r=B;return A|0}}b=mb()|0;P1(w)}P1(y)}P1(z);B=b;yb(B|0)}}lE(o,36999,6);x=0;s=A;t=e;u=s+40|0;do{k[s>>2]=k[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(u|0));n=wa(24,o|0,a|0,d|0,A|0,f|0)|0;z=x;x=0;if(z&1){B=mb()|0;P1(o);yb(B|0)}P1(o);g=+p[n+56>>3]/255.0;h=+p[n+64>>3]/255.0;i=+p[n+72>>3]/255.0;b=h>3];s=A;t=e;u=s+40|0;do{k[s>>2]=k[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(u|0));A=lm(i,0.0,h,g,c,A)|0;r=B;return A|0}function $h(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=0;s=r;r=r+112|0;g=s+64|0;t=s+48|0;h=s+36|0;j=s+24|0;l=s+12|0;m=s;lE(l,38277,5);x=0;n=g;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f=wa(25,l|0,a|0,d|0,g|0,f|0)|0;p=x;x=0;if(p&1)q=12;else{x=0;sa(430,j|0,f+60|0);p=x;x=0;if(p&1)q=12;else{x=0;Ua(11,h|0,j|0,0,0);p=x;x=0;do if(p&1)f=mb()|0;else{x=0;sa(492,t|0,h|0);p=x;x=0;if(p&1){f=mb()|0;P1(h);break}P1(h);P1(j);P1(l);k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;f=i[t>>0]|0;f=(f&1)==0?(f&255)>>>1:k[t+4>>2]|0;x=0;Ua(10,m|0,38283,1,f+1|0);p=x;x=0;do if(p&1)q=7;else{x=0;xa(46,m|0,((i[t>>0]&1)==0?t+1|0:k[t+8>>2]|0)|0,f|0)|0;p=x;x=0;if(p&1)q=7;else{x=0;f=Ka(877,b|0,m|0)|0;p=x;x=0;if(p&1){f=mb()|0;P1(m);break}P1(m);a=c+36|0;if(f){x=0;f=Ka(856,a|0,64)|0;q=x;x=0;if(!(q&1)){k[f+4>>2]=0;n=f+8|0;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;k[f>>2]=5684;i[f+56>>0]=1;k[f+60>>2]=0;k[f+52>>2]=1;x=0;f=Ka(857,a|0,f|0)|0;q=x;x=0;if(!(q&1)){q=f;P1(t);r=s;return q|0}}}else{x=0;f=Ka(856,a|0,64)|0;q=x;x=0;if(!(q&1)){k[f+4>>2]=0;n=f+8|0;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;k[f>>2]=5684;i[f+56>>0]=0;k[f+60>>2]=0;k[f+52>>2]=1;x=0;f=Ka(857,a|0,f|0)|0;q=x;x=0;if(!(q&1)){q=f;P1(t);r=s;return q|0}}}f=mb()|0;q=18}}while(0);if((q|0)==7){f=mb()|0;P1(m);q=18}P1(t);t=f;yb(t|0)}while(0);P1(j)}}if((q|0)==12)f=mb()|0;P1(l);t=f;yb(t|0);return 0}function ai(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=0;s=r;r=r+112|0;g=s+64|0;t=s+48|0;h=s+36|0;j=s+24|0;l=s+12|0;m=s;lE(l,38277,5);x=0;n=g;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f=wa(25,l|0,a|0,d|0,g|0,f|0)|0;p=x;x=0;if(p&1)q=12;else{x=0;sa(430,j|0,f+60|0);p=x;x=0;if(p&1)q=12;else{x=0;Ua(11,h|0,j|0,0,0);p=x;x=0;do if(p&1)f=mb()|0;else{x=0;sa(492,t|0,h|0);p=x;x=0;if(p&1){f=mb()|0;P1(h);break}P1(h);P1(j);P1(l);k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;f=i[t>>0]|0;f=(f&1)==0?(f&255)>>>1:k[t+4>>2]|0;x=0;Ua(10,m|0,38283,1,f+1|0);p=x;x=0;do if(p&1)q=7;else{x=0;xa(46,m|0,((i[t>>0]&1)==0?t+1|0:k[t+8>>2]|0)|0,f|0)|0;p=x;x=0;if(p&1)q=7;else{x=0;f=Ka(881,b|0,m|0)|0;p=x;x=0;if(p&1){f=mb()|0;P1(m);break}P1(m);a=c+36|0;if(f){x=0;f=Ka(856,a|0,64)|0;q=x;x=0;if(!(q&1)){k[f+4>>2]=0;n=f+8|0;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;k[f>>2]=5684;i[f+56>>0]=1;k[f+60>>2]=0;k[f+52>>2]=1;x=0;f=Ka(857,a|0,f|0)|0;q=x;x=0;if(!(q&1)){q=f;P1(t);r=s;return q|0}}}else{x=0;f=Ka(856,a|0,64)|0;q=x;x=0;if(!(q&1)){k[f+4>>2]=0;n=f+8|0;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;k[f>>2]=5684;i[f+56>>0]=0;k[f+60>>2]=0;k[f+52>>2]=1;x=0;f=Ka(857,a|0,f|0)|0;q=x;x=0;if(!(q&1)){q=f;P1(t);r=s;return q|0}}}f=mb()|0;q=18}}while(0);if((q|0)==7){f=mb()|0;P1(m);q=18}P1(t);t=f;yb(t|0)}while(0);P1(j)}}if((q|0)==12)f=mb()|0;P1(l);t=f;yb(t|0);return 0}function bi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=0;s=r;r=r+112|0;g=s+64|0;t=s+48|0;h=s+36|0;j=s+24|0;m=s+12|0;l=s;lE(m,38277,5);x=0;n=g;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f=wa(25,m|0,a|0,d|0,g|0,f|0)|0;p=x;x=0;if(p&1)q=12;else{x=0;sa(430,j|0,f+60|0);p=x;x=0;if(p&1)q=12;else{x=0;Ua(11,h|0,j|0,0,0);p=x;x=0;do if(p&1)f=mb()|0;else{x=0;sa(492,t|0,h|0);p=x;x=0;if(p&1){f=mb()|0;P1(h);break}P1(h);P1(j);P1(m);k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;p=i[t>>0]|0;o=(p&1)==0;p=o?(p&255)>>>1:k[t+4>>2]|0;x=0;Ua(10,l|0,(o?t+1|0:k[t+8>>2]|0)|0,p|0,p+3|0);p=x;x=0;do if(p&1)q=7;else{x=0;xa(46,l|0,38285,3)|0;p=x;x=0;if(p&1)q=7;else{x=0;f=Ka(877,b|0,l|0)|0;p=x;x=0;if(p&1){f=mb()|0;P1(l);break}P1(l);a=c+36|0;if(f){x=0;f=Ka(856,a|0,64)|0;q=x;x=0;if(!(q&1)){k[f+4>>2]=0;n=f+8|0;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;k[f>>2]=5684;i[f+56>>0]=1;k[f+60>>2]=0;k[f+52>>2]=1;x=0;f=Ka(857,a|0,f|0)|0;q=x;x=0;if(!(q&1)){q=f;P1(t);r=s;return q|0}}}else{x=0;f=Ka(856,a|0,64)|0;q=x;x=0;if(!(q&1)){k[f+4>>2]=0;n=f+8|0;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;k[f>>2]=5684;i[f+56>>0]=0;k[f+60>>2]=0;k[f+52>>2]=1;x=0;f=Ka(857,a|0,f|0)|0;q=x;x=0;if(!(q&1)){q=f;P1(t);r=s;return q|0}}}f=mb()|0;q=18}}while(0);if((q|0)==7){f=mb()|0;P1(l);q=18}P1(t);t=f;yb(t|0)}while(0);P1(j)}}if((q|0)==12)f=mb()|0;P1(m);t=f;yb(t|0);return 0}function ci(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=0;s=r;r=r+112|0;g=s+64|0;t=s+48|0;h=s+36|0;j=s+24|0;m=s+12|0;l=s;lE(m,38277,5);x=0;n=g;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f=wa(25,m|0,a|0,d|0,g|0,f|0)|0;p=x;x=0;if(p&1)q=12;else{x=0;sa(430,j|0,f+60|0);p=x;x=0;if(p&1)q=12;else{x=0;Ua(11,h|0,j|0,0,0);p=x;x=0;do if(p&1)f=mb()|0;else{x=0;sa(492,t|0,h|0);p=x;x=0;if(p&1){f=mb()|0;P1(h);break}P1(h);P1(j);P1(m);k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;p=i[t>>0]|0;o=(p&1)==0;p=o?(p&255)>>>1:k[t+4>>2]|0;x=0;Ua(10,l|0,(o?t+1|0:k[t+8>>2]|0)|0,p|0,p+3|0);p=x;x=0;do if(p&1)q=7;else{x=0;xa(46,l|0,38289,3)|0;p=x;x=0;if(p&1)q=7;else{x=0;f=Ka(877,b|0,l|0)|0;p=x;x=0;if(p&1){f=mb()|0;P1(l);break}P1(l);a=c+36|0;if(f){x=0;f=Ka(856,a|0,64)|0;q=x;x=0;if(!(q&1)){k[f+4>>2]=0;n=f+8|0;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;k[f>>2]=5684;i[f+56>>0]=1;k[f+60>>2]=0;k[f+52>>2]=1;x=0;f=Ka(857,a|0,f|0)|0;q=x;x=0;if(!(q&1)){q=f;P1(t);r=s;return q|0}}}else{x=0;f=Ka(856,a|0,64)|0;q=x;x=0;if(!(q&1)){k[f+4>>2]=0;n=f+8|0;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;k[f>>2]=5684;i[f+56>>0]=0;k[f+60>>2]=0;k[f+52>>2]=1;x=0;f=Ka(857,a|0,f|0)|0;q=x;x=0;if(!(q&1)){q=f;P1(t);r=s;return q|0}}}f=mb()|0;q=18}}while(0);if((q|0)==7){f=mb()|0;P1(l);q=18}P1(t);t=f;yb(t|0)}while(0);P1(j)}}if((q|0)==12)f=mb()|0;P1(m);t=f;yb(t|0);return 0}function di(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=0;c=k[a>>2]|0;p=k[b>>2]|0;e=c;a:do if((e|0)!=(p|0)){d=e+16|0;if((d|0)!=(p|0)){b:while(1){c:do if((k[e>>2]|0)==(k[e+16>>2]|0)){r=k[e+8>>2]|0;s=k[e+4>>2]|0;g=k[e+20>>2]|0;f=s;o=r;if((r-s|0)==((k[e+24>>2]|0)-g|0)){if((f|0)==(o|0))break b;while(1){n=j[f>>1]|0;l=(n&1)==0;h=(n&254)>>>1;m=l?h:k[f+4>>2]|0;s=i[g>>0]|0;e=(s&1)==0;n=(n&65535)>>>8&255;if((m|0)!=((e?(s&255)>>>1:k[g+4>>2]|0)|0))break c;e=e?g+1|0:k[g+8>>2]|0;d:do if(l){if(m|0){if(n<<24>>24!=(i[e>>0]|0))break c;l=f+1|0;while(1){h=h+-1|0;l=l+1|0;if(!h)break d;e=e+1|0;if((i[l>>0]|0)!=(i[e>>0]|0))break c}}}else if(tG(k[f+8>>2]|0,e,m)|0)break c;while(0);f=f+12|0;if((f|0)==(o|0))break b;else g=g+12|0}}}while(0);c=d;e=d+16|0;if((e|0)==(p|0))break a;else{s=d;d=e;e=s}}d=c;k[a>>2]=d;if((d|0)==(p|0)){a=p;return a|0}c=d+32|0;if((c|0)==(p|0))c=d;else{s=c;e=p;c=d;r=d+16|0;while(1){q=k[s>>2]|0;e:do if((k[c>>2]|0)==(q|0)){h=r+20|0;n=k[c+8>>2]|0;o=k[c+4>>2]|0;d=k[h>>2]|0;f=o;p=n;if((n-o|0)==((k[r+24>>2]|0)-d|0)){if((f|0)!=(p|0))while(1){n=j[f>>1]|0;o=(n&1)==0;l=(n&254)>>>1;m=o?l:k[f+4>>2]|0;u=i[d>>0]|0;g=(u&1)==0;n=(n&65535)>>>8&255;if((m|0)!=((g?(u&255)>>>1:k[d+4>>2]|0)|0)){t=35;break e}g=g?d+1|0:k[d+8>>2]|0;f:do if(o){if(m|0){if(n<<24>>24!=(i[g>>0]|0)){t=35;break e}m=f+1|0;while(1){l=l+-1|0;m=m+1|0;if(!l)break f;g=g+1|0;if((i[m>>0]|0)!=(i[g>>0]|0)){t=35;break e}}}}else if(tG(k[f+8>>2]|0,g,m)|0){t=35;break e}while(0);f=f+12|0;if((f|0)==(p|0))break;else d=d+12|0}}else t=35}else{h=r+20|0;t=35}while(0);if((t|0)==35){t=0;g=c+16|0;k[a>>2]=g;k[g>>2]=q;g=c+20|0;e=k[g>>2]|0;if(!e){d=c+24|0;c=c+28|0}else{d=c+24|0;f=k[d>>2]|0;if((f|0)!=(e|0)){do{u=f+-12|0;k[d>>2]=u;P1(u);f=k[d>>2]|0}while((f|0)!=(e|0));e=k[g>>2]|0}uha(e);c=c+28|0;k[c>>2]=0;k[d>>2]=0;k[g>>2]=0}k[g>>2]=k[h>>2];e=r+24|0;k[d>>2]=k[e>>2];u=r+28|0;k[c>>2]=k[u>>2];k[u>>2]=0;k[e>>2]=0;k[r+20>>2]=0;e=k[b>>2]|0;c=k[a>>2]|0}d=s+16|0;if((d|0)==(e|0))break;else{r=s;s=d}}}u=c+16|0;k[a>>2]=u;return u|0}}while(0);k[a>>2]=p;u=p;return u|0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;w=r;r=r+64|0;u=w;v=w+40|0;k[v>>2]=0;y=v+4|0;k[y>>2]=0;k[v+8>>2]=0;d=k[a+72>>2]|0;t=(k[a+76>>2]|0)-d>>2;a:do if(!t)f=3;else{p=a+72|0;q=b+72|0;s=b+76|0;n=b+72|0;o=v+8|0;b=0;b:while(1){l=k[d+(b<<2)>>2]|0;d=k[q>>2]|0;m=(k[s>>2]|0)-d>>2;c:do if(m|0){e=0;while(1){x=0;d=xa(47,l|0,k[d+(e<<2)>>2]|0,c|0)|0;j=x;x=0;if(j&1){f=6;break b}d:do if(d|0){f=k[d+72>>2]|0;j=(k[d+76>>2]|0)-f>>2;if(j|0){h=d+72|0;d=0;while(1){f=f+(d<<2)|0;g=k[y>>2]|0;if((g|0)==(k[o>>2]|0)){x=0;sa(447,v|0,f|0);g=x;x=0;if(g&1){f=5;break b}}else{k[g>>2]=k[f>>2];k[y>>2]=(k[y>>2]|0)+4}d=d+1|0;if(d>>>0>=j>>>0)break d;f=k[h>>2]|0}}}while(0);e=e+1|0;if(e>>>0>=m>>>0)break c;d=k[n>>2]|0}}while(0);b=b+1|0;if(b>>>0>=t>>>0){f=3;break a}d=k[p>>2]|0}if((f|0)==5){e=mb()|0;break}else if((f|0)==6){e=mb()|0;break}}while(0);e:do if((f|0)==3){e=c+36|0;x=0;f=Ka(856,e|0,100)|0;c=x;x=0;if(!(c&1)){g=u;b=a+8|0;d=g+40|0;do{k[g>>2]=k[b>>2];g=g+4|0;b=b+4|0}while((g|0)<(d|0));k[f+4>>2]=0;g=f+8|0;b=u;d=g+40|0;do{k[g>>2]=k[b>>2];g=g+4|0;b=b+4|0}while((g|0)<(d|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;n=f+56|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[f+52>>2]=7;k[f+72>>2]=0;k[f+76>>2]=0;k[f+80>>2]=0;k[f>>2]=7828;k[f+68>>2]=7968;k[f+88>>2]=0;k[f+92>>2]=0;k[f+96>>2]=0;x=0;n=Ka(857,e|0,f|0)|0;a=x;x=0;if(!(a&1)){e=k[v>>2]|0;b=k[y>>2]|0;do if((e|0)==(b|0)){d=e;b=e}else{m=n+68|0;g=m+16|0;h=m+8|0;j=m+12|0;l=m+4|0;while(1){d=k[e>>2]|0;k[u>>2]=d;f=d;if(d){k[g>>2]=0;b=k[h>>2]|0;if((b|0)==(k[j>>2]|0)){x=0;sa(447,l|0,u|0);a=x;x=0;if(a&1){f=4;break}}else{k[b>>2]=f;k[h>>2]=(k[h>>2]|0)+4}x=0;sa(k[k[m>>2]>>2]|0,m|0,d|0);a=x;x=0;if(a&1){f=4;break}b=k[y>>2]|0}e=e+4|0;if((e|0)==(b|0)){f=31;break}}if((f|0)==4){e=mb()|0;break e}else if((f|0)==31){d=k[v>>2]|0;break}}while(0);if(!d){r=w;return n|0}if((b|0)!=(d|0))k[y>>2]=b+(~((b+-4-d|0)>>>2)<<2);uha(d);r=w;return n|0}}e=mb()|0}while(0);b=k[v>>2]|0;if(!b)yb(e|0);d=k[y>>2]|0;if((d|0)!=(b|0))k[y>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);yb(e|0);return 0}function fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+48|0;v=w;l=w+40|0;c=b+76|0;if((k[c>>2]|0)==2){d=(k[a+8>>2]|0)+36|0;e=lD(d,100)|0;f=b+60|0;g=b+64|0;c=(k[g>>2]|0)-(k[f>>2]|0)>>2>>>1;p=v;q=b+8|0;s=p+40|0;do{k[p>>2]=k[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(s|0));k[e+4>>2]=0;p=e+8|0;q=v;s=p+40|0;do{k[p>>2]=k[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(s|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;j=e+52|0;k[j>>2]=0;k[e>>2]=10312;u=e+56|0;bo(u,c);k[e>>2]=5160;k[u>>2]=5268;k[j>>2]=6;j=N4(d,e)|0;c=k[f>>2]|0;e=(k[g>>2]|0)-c>>2;a:do if(e|0){f=b+60|0;g=j+56|0;h=l+4|0;d=0;while(1){t=k[c+(d<<2)>>2]|0;t=Jc[k[(k[t>>2]|0)+40>>2]&1023](t,a)|0;u=k[(k[f>>2]|0)+((d|1)<<2)>>2]|0;u=Jc[k[(k[u>>2]|0)+40>>2]&1023](u,a)|0;i[t+48>>0]=1;k[l>>2]=t;k[h>>2]=u;k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Qn(g,v)|0;d=d+2|0;if(d>>>0>=e>>>0)break a;c=k[f>>2]|0}}while(0);if(!(k[j+96>>2]|0)){i[j+50>>0]=i[b+50>>0]|0;b=Jc[k[(k[j>>2]|0)+40>>2]&1023](j,a)|0;r=w;return b|0}c=vb(84)|0;x=0;Qa(108,c|0,j|0,b|0);b=x;x=0;if(b&1){b=mb()|0;lb(c|0);yb(b|0)}else Wb(c|0,1360,59)}if(i[b+49>>0]|0){r=w;return b|0}l=(k[a+8>>2]|0)+36|0;m=lD(l,84)|0;t=b+60|0;u=b+64|0;n=(k[u>>2]|0)-(k[t>>2]|0)|0;o=n>>2;h=k[c>>2]|0;j=i[b+80>>0]|0;p=v;q=b+8|0;s=p+40|0;do{k[p>>2]=k[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(s|0));k[m+4>>2]=0;p=m+8|0;q=v;s=p+40|0;do{k[p>>2]=k[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(s|0));i[m+48>>0]=0;i[m+49>>0]=0;i[m+50>>0]=0;c=m+52|0;k[c>>2]=0;k[m>>2]=10312;d=m+56|0;k[d>>2]=5132;e=m+60|0;k[e>>2]=0;f=m+64|0;k[f>>2]=0;g=m+68|0;k[g>>2]=0;if(o|0){s=GG(n)|0;q=s;k[e>>2]=q;k[f>>2]=q;k[g>>2]=s+(o<<2)}k[m>>2]=4992;k[d>>2]=5104;k[m+76>>2]=h;i[m+80>>0]=j;i[m+81>>0]=0;k[c>>2]=5;p=N4(l,m)|0;c=k[t>>2]|0;g=(k[u>>2]|0)-c>>2;b:do if(g|0){h=p+56|0;j=b+60|0;l=p+72|0;m=p+64|0;n=p+68|0;o=p+60|0;d=0;while(1){c=k[c+(d<<2)>>2]|0;c=Jc[k[(k[c>>2]|0)+40>>2]&1023](c,a)|0;k[v>>2]=c;e=c;if(c|0){k[l>>2]=0;f=k[m>>2]|0;if((f|0)==(k[n>>2]|0))uw(o,v);else{k[f>>2]=e;k[m>>2]=(k[m>>2]|0)+4}rc[k[k[h>>2]>>2]&1023](h,c)}d=d+1|0;if((d|0)==(g|0))break b;c=k[j>>2]|0}}while(0);i[p+50>>0]=i[b+50>>0]|0;i[p+81>>0]=i[b+81>>0]|0;i[p+49>>0]=1;b=p;r=w;return b|0}function gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;o=0;s=r;r=r+208|0;p=s;t=s+184|0;c=s+196|0;e=s+144|0;h=s+132|0;m=s+120|0;n=s+80|0;q=s+40|0;lE(c,32823,24);if(!b){x=0;pa(5);x=0}else{x=0;d=Ka(866,c|0,k[(k[(k[b>>2]|0)+-4>>2]|0)+4>>2]|0)|0;l=x;x=0;if(!(l&1)){k[t>>2]=k[d>>2];k[t+4>>2]=k[d+4>>2];k[t+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;P1(c);g=a+4|0;c=(k[g>>2]|0)+36|0;x=0;d=Ka(856,c|0,76)|0;l=x;x=0;do if(l&1)o=18;else{x=0;Ua(14,e|0,32848,0,-1);l=x;x=0;if(l&1)o=18;else{x=0;sa(430,h|0,t|0);l=x;x=0;if(l&1)o=18;else{x=0;l=p;j=l+40|0;do{k[l>>2]=k[e>>2];l=l+4|0;e=e+4|0}while((l|0)<(j|0));qa(5,d|0,p|0,h|0,0,0);l=x;x=0;if(!(l&1)){x=0;f=Ka(857,c|0,d|0)|0;l=x;x=0;if(!(l&1)){P1(h);x=0;Qa(74,m|0,32855,62);l=x;x=0;if(l&1){o=18;break}l=n;e=b+8|0;j=l+40|0;do{k[l>>2]=k[e>>2];l=l+4|0;e=e+4|0}while((l|0)<(j|0));c=k[a+100>>2]|0;if((c|0)==(k[a+96>>2]|0))c=0;else c=k[c+-4>>2]|0;x=0;l=p;e=n;j=l+40|0;do{k[l>>2]=k[e>>2];l=l+4|0;e=e+4|0}while((l|0)<(j|0));Qa(100,m|0,p|0,c|0);n=x;x=0;if(n&1){c=mb()|0;P1(m);break}P1(m);c=(k[g>>2]|0)+36|0;x=0;d=Ka(856,c|0,68)|0;o=x;x=0;if(o&1){o=18;break}x=0;Ua(14,q|0,32848,0,-1);o=x;x=0;if(o&1){o=18;break}l=p;e=q;j=l+40|0;do{k[l>>2]=k[e>>2];l=l+4|0;e=e+4|0}while((l|0)<(j|0));k[d+4>>2]=0;l=d+8|0;e=p;j=l+40|0;do{k[l>>2]=k[e>>2];l=l+4|0;e=e+4|0}while((l|0)<(j|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d>>2]=10224;k[d+64>>2]=f;k[d+52>>2]=14;x=0;c=Ka(857,c|0,d|0)|0;q=x;x=0;if(q&1){o=18;break}P1(t);r=s;return c|0}}c=mb()|0;P1(h)}}}while(0);if((o|0)==18)c=mb()|0;P1(t);t=c;yb(t|0)}}t=mb()|0;P1(c);yb(t|0);return 0}function hi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;o=r;r=r+80|0;j=o+68|0;i=o+64|0;h=o+60|0;t=o+48|0;e=o+24|0;d=o+12|0;q=o+36|0;l=o+8|0;m=o+4|0;n=o;lE(e,47947,1);x=0;ra(329,d|0);s=x;x=0;do if(s&1)d=mb()|0;else{x=0;Ua(16,t|0,c+24|0,e|0,d|0);s=x;x=0;if(s&1){t=mb()|0;P1(d);d=t;break}P1(d);P1(e);x=0;Qa(97,a|0,t|0,c|0);s=x;x=0;if(s&1)d=mb()|0;else{g=b+324|0;p=k[b+328>>2]|0;d=k[g>>2]|0;f=(p-d|0)/12|0;s=a+4|0;if(!((p|0)!=(d|0)?(k[s>>2]|0)==(k[a>>2]|0):0)){P1(t);r=o;return}p=q+4|0;e=0;while(1){x=0;Qa(97,q|0,d+(e*12|0)|0,c|0);b=x;x=0;if(b&1){e=14;break}b=k[p>>2]|0;d=k[q>>2]|0;if((b|0)!=(d|0)){k[l>>2]=k[s>>2];k[m>>2]=d;k[n>>2]=b;x=0;k[h>>2]=k[l>>2];k[i>>2]=k[m>>2];k[j>>2]=k[n>>2];Pa(8,a|0,h|0,i|0,j|0)|0;b=x;x=0;if(b&1){e=15;break}d=k[q>>2]|0}if(d|0){b=k[p>>2]|0;if((b|0)!=(d|0)){do{u=b+-48|0;k[p>>2]=u;P1(b+-12|0);P1(b+-24|0);P1(b+-36|0);P1(u);b=k[p>>2]|0}while((b|0)!=(d|0));d=k[q>>2]|0}uha(d)}e=e+1|0;if(!(e>>>0>>0?(k[s>>2]|0)==(k[a>>2]|0):0)){e=27;break}d=k[g>>2]|0}if((e|0)==14){d=mb()|0;f=M}else if((e|0)==15){d=mb()|0;f=M;e=k[q>>2]|0;if(e){b=k[p>>2]|0;if((b|0)!=(e|0)){do{u=b+-48|0;k[p>>2]=u;P1(b+-12|0);P1(b+-24|0);P1(b+-36|0);P1(u);b=k[p>>2]|0}while((b|0)!=(e|0));e=k[q>>2]|0}uha(e)}}else if((e|0)==27){P1(t);r=o;return}e=k[a>>2]|0;if(e){b=k[s>>2]|0;if((b|0)!=(e|0)){do{u=b+-48|0;k[s>>2]=u;P1(b+-12|0);P1(b+-24|0);P1(b+-36|0);P1(u);b=k[s>>2]|0}while((b|0)!=(e|0));e=k[a>>2]|0}uha(e)}}P1(t);u=d;yb(u|0)}while(0);P1(e);u=d;yb(u|0)}function ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+48|0;u=C+36|0;z=C+24|0;A=C+12|0;B=C;w=a+80|0;_G(u,w);v=(i[((i[u>>0]&1)==0?u+1|0:k[u+8>>2]|0)>>0]|0)==35;P1(u);a:do if(v){d=k[b+72>>2]|0;l=(k[b+76>>2]|0)-d>>2;if(l|0){m=b+72|0;n=z+8|0;o=z+1|0;p=A+4|0;q=B+4|0;s=B+8|0;t=B+1|0;u=A+1|0;v=A+8|0;d=k[d>>2]|0;if(!d)w3();else{e=d;y=0}b:while(1){do if((k[(k[(k[e>>2]|0)+-4>>2]|0)+4>>2]|0)==26357){d=e+80|0;_G(z,d);if((i[((i[z>>0]&1)==0?o:k[n>>2]|0)>>0]|0)!=35){P1(z);break}x=0;sa(430,A|0,d|0);h=x;x=0;if(h&1){e=17;break b}x=0;sa(430,B|0,w|0);h=x;x=0;if(h&1){e=18;break b}h=j[A>>1]|0;f=(h&1)==0;e=(h&254)>>>1;g=f?e:k[p>>2]|0;D=i[B>>0]|0;d=(D&1)==0;h=(h&65535)>>>8&255;if((g|0)!=((d?(D&255)>>>1:k[q>>2]|0)|0)){e=26;break b}d=d?t:k[s>>2]|0;if(!f){D=(tG(k[v>>2]|0,d,g)|0)==0;P1(B);P1(A);P1(z);if(D)break;else{d=0;e=27;break b}}if(!g){P1(B);P1(A);P1(z);break}if(h<<24>>24==(i[d>>0]|0))f=u;else{e=25;break b}while(1){e=e+-1|0;f=f+1|0;if(!e)break;d=d+1|0;if((i[f>>0]|0)!=(i[d>>0]|0)){e=25;break b}}P1(B);P1(A);P1(z)}while(0);y=y+1|0;if(y>>>0>=l>>>0)break a;e=k[(k[m>>2]|0)+(y<<2)>>2]|0;if(!e){e=4;break}}if((e|0)==4)w3();else if((e|0)==17){D=mb()|0;P1(z);yb(D|0)}else if((e|0)==18){D=mb()|0;P1(A);P1(z);yb(D|0)}else if((e|0)==25){P1(B);P1(A);P1(z);D=0;r=C;return D|0}else if((e|0)==26){P1(B);P1(A);P1(z);D=0;r=C;return D|0}else if((e|0)==27){r=C;return d|0}}}while(0);i[b+58>>0]=i[a+58>>0]|0;D=xf(a,b,c)|0;r=C;return D|0}function ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+128|0;o=p+88|0;m=p+72|0;c=p+60|0;f=p+48|0;g=p+36|0;h=p+24|0;d=p+12|0;e=p;_G(m,b+60|0);n=i[m>>0]|0;n=(((n&1)==0?(n&255)>>>1:k[m+4>>2]|0)|0)==0;P1(m);if(!n){do if(i[a+78>>0]|0){lE(c,26878,53);x=0;l=o;m=b+8|0;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));sa(438,c|0,o|0);b=x;x=0;if(!(b&1)){P1(c);break}p=mb()|0;P1(c);yb(p|0)}while(0);i[a+76>>0]=1;r=p;return}c=j[b+72>>1]|0;if((c&255)<<24>>24){c=a+77|0;do if(i[c>>0]|0){lE(f,26932,73);x=0;l=o;m=b+8|0;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));sa(438,f|0,o|0);n=x;x=0;if(!(n&1)){P1(f);break}p=mb()|0;P1(f);yb(p|0)}while(0);do if(i[a+78>>0]|0){lE(g,27006,52);x=0;l=o;m=b+8|0;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));sa(438,g|0,o|0);b=x;x=0;if(!(b&1)){P1(g);break}p=mb()|0;P1(g);yb(p|0)}while(0);i[c>>0]=1;r=p;return}if((c&65535)>=256){c=a+78|0;do if(i[c>>0]|0){lE(h,27059,65);x=0;l=o;m=b+8|0;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));sa(438,h|0,o|0);b=x;x=0;if(!(b&1)){P1(h);break}p=mb()|0;P1(h);yb(p|0)}while(0);i[c>>0]=1;r=p;return}do if(i[a+77>>0]|0){lE(d,27125,56);x=0;l=o;m=b+8|0;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));sa(438,d|0,o|0);n=x;x=0;if(!(n&1)){P1(d);break}p=mb()|0;P1(d);yb(p|0)}while(0);if(!(i[a+76>>0]|0)){r=p;return}lE(e,27182,46);x=0;l=o;m=b+8|0;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));sa(438,e|0,o|0);b=x;x=0;if(b&1){p=mb()|0;P1(e);yb(p|0)}else{P1(e);r=p;return}}function ki(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;o=s;g=fk(a)|0;p=a+76|0;b=LD(k[p>>2]|0)|0;q=a+80|0;if((b|0)==0?1:b>>>0>(k[q>>2]|0)>>>0)b=k[p>>2]|0;n=bO(b)|0;b=n|0?n:b;a:do switch(i[b>>0]|0){case 44:case 58:case 41:case 123:case 125:case 59:{b=b+1|0;break}default:{c=Z9(b)|0;if(!c){c=i[38944]|0;if(c<<24>>24){d=b;e=38944;while(1){if((i[d>>0]|0)!=c<<24>>24)break;d=d+1|0;e=e+1|0;c=i[e>>0]|0;if(!(c<<24>>24)){b=d;break a}}c=fB(b)|0;if(!c)b=hB(b)|0;else b=c}}else b=c}}while(0);if(!((b|0)==0?1:b>>>0>(k[q>>2]|0)>>>0)){a=g;r=s;return a|0}b=(k[a+40>>2]|0)+36|0;c=lD(b,84)|0;d=o;e=a+108|0;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));k[c+4>>2]=0;d=c+8|0;e=o;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;m=c+52|0;k[m>>2]=0;k[c>>2]=10312;n=c+56|0;k[n>>2]=5132;e=c+60|0;k[e>>2]=0;h=c+64|0;k[h>>2]=0;l=c+68|0;k[l>>2]=0;j=GG(8)|0;f=j;k[e>>2]=f;k[h>>2]=f;k[l>>2]=j+8;k[c>>2]=4992;k[n>>2]=5104;k[c+76>>2]=1;i[c+80>>0]=0;i[c+81>>0]=0;k[m>>2]=5;m=N4(b,c)|0;n=m+56|0;k[o>>2]=g;b=g;l=m+72|0;if(!g){c=m+64|0;e=m+68|0;h=n}else{k[l>>2]=0;c=m+64|0;d=k[c>>2]|0;e=m+68|0;if((d|0)==(k[e>>2]|0))uw(m+60|0,o);else{k[d>>2]=b;k[c>>2]=(k[c>>2]|0)+4}rc[k[k[n>>2]>>2]&1023](n,g);h=n}j=m+60|0;while(1){b=LD(k[p>>2]|0)|0;if((b|0)==0?1:b>>>0>(k[q>>2]|0)>>>0)b=k[p>>2]|0;g=bO(b)|0;b=g|0?g:b;b:do switch(i[b>>0]|0){case 44:case 58:case 41:case 123:case 125:case 59:{b=b+1|0;break}default:{d=Z9(b)|0;if(!d){d=i[38944]|0;if(d<<24>>24){f=b;g=38944;while(1){if((i[f>>0]|0)!=d<<24>>24)break;f=f+1|0;g=g+1|0;d=i[g>>0]|0;if(!(d<<24>>24)){b=f;break b}}d=fB(b)|0;if(!d)b=hB(b)|0;else b=d}}else b=d}}while(0);if(!((b|0)==0?1:b>>>0>(k[q>>2]|0)>>>0))break;b=LD(k[p>>2]|0)|0;if((b|0)==0?1:b>>>0>(k[q>>2]|0)>>>0)b=k[p>>2]|0;f=bO(b)|0;g=k[q>>2]|0;if(((f>>>0<=g>>>0?f:0)|0)==(g|0))break;b=fk(a)|0;k[o>>2]=b;d=b;if(b|0){k[l>>2]=0;f=k[c>>2]|0;if((f|0)==(k[e>>2]|0))uw(j,o);else{k[f>>2]=d;k[c>>2]=(k[c>>2]|0)+4}rc[k[k[h>>2]>>2]&1023](n,b)}}a=m;r=s;return a|0}function li(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+192|0;f=o+168|0;n=o+24|0;l=o+12|0;m=o;g=Th(b,c,a)|0;j=n+64|0;a=n+8|0;k[a>>2]=8236;h=n+12|0;k[n>>2]=8440;k[j>>2]=8460;k[n+4>>2]=0;x=0;sa(452,n+64|0,h|0);b=x;x=0;if(b&1){o=mb()|0;P9(j);yb(o|0)}k[n+136>>2]=0;k[n+140>>2]=-1;k[n>>2]=8216;k[j>>2]=8256;k[a>>2]=8236;x=0;ra(324,h|0);b=x;x=0;do if(b&1)a=mb()|0;else{k[h>>2]=8272;b=n+44|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[n+60>>2]=24;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;x=0;sa(453,h|0,f|0);c=x;x=0;if(c&1){a=mb()|0;P1(f);P1(b);D2(h);break}P1(f);x=0;sa(430,l|0,g+68|0);f=x;x=0;do if(!(f&1)){c=n+8|0;a=i[l>>0]|0;f=(a&1)==0;x=0;a=xa(49,c|0,(f?l+1|0:k[l+8>>2]|0)|0,(f?(a&255)>>>1:k[l+4>>2]|0)|0)|0;f=x;x=0;if(!(f&1)){x=0;a=xa(49,a|0,38285,3)|0;f=x;x=0;if(!(f&1)){x=0;Ka(860,a|0,d|0)|0;d=x;x=0;if(!(d&1)){P1(l);k[g+84>>2]=e;x=0;sa(454,m|0,h|0);d=x;x=0;if(d&1)break;x=0;a=Ka(867,e|0,m|0)|0;e=x;x=0;if(!(e&1)){k[a>>2]=g;P1(m);k[n>>2]=8216;k[j>>2]=8256;k[c>>2]=8236;k[h>>2]=8272;P1(b);D2(h);P9(j);r=o;return}o=mb()|0;P1(m);m=c;k[n>>2]=8216;k[j>>2]=8256;k[m>>2]=8236;k[h>>2]=8272;P1(b);D2(h);P9(j);yb(o|0)}}}o=mb()|0;P1(l);m=c;k[n>>2]=8216;k[j>>2]=8256;k[m>>2]=8236;k[h>>2]=8272;P1(b);D2(h);P9(j);yb(o|0)}while(0);o=mb()|0;m=n+8|0;k[n>>2]=8216;k[j>>2]=8256;k[m>>2]=8236;k[h>>2]=8272;P1(b);D2(h);P9(j);yb(o|0)}while(0);o=a;P9(j);yb(o|0)}function mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+112|0;q=t+72|0;h=t+60|0;l=t+48|0;m=t+36|0;o=t+24|0;s=t+12|0;p=t;n=a+80|0;_G(h,n);x=0;sa(430,l|0,b+80|0);g=x;x=0;if(g&1){t=mb()|0;P1(h);yb(t|0)}g=j[h>>1]|0;e=(g&1)==0;d=(g&254)>>>1;f=e?d:k[h+4>>2]|0;u=i[l>>0]|0;c=(u&1)==0;g=(g&65535)>>>8&255;if((f|0)!=((c?(u&255)>>>1:k[l+4>>2]|0)|0)){P1(l);P1(h);r=t;return 0}c=c?l+1|0:k[l+8>>2]|0;a:do if(e){if(!f){P1(l);P1(h);break}b:do if(g<<24>>24==(i[c>>0]|0)){e=h+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d)break;c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0))break b}P1(l);P1(h);break a}while(0);P1(l);P1(h);r=t;return 0}else{u=(tG(k[h+8>>2]|0,c,f)|0)==0;P1(l);P1(h);if(!u){r=t;return 0}}while(0);_G(m,n);u=(KH(m,44044)|0)==0;P1(m);if(u){r=t;return 0}c=k[b+96>>2]|0;if(c|0){d=Ot(c,112,160,0)|0;if(d|0){c=k[a+96>>2]|0;if(c|0){c=Ot(c,112,160,0)|0;if(c|0){u=k[(k[c>>2]|0)+120>>2]|0;lE(o,78097,0);x=0;c=xa(u|0,c|0,d|0,o|0)|0;u=x;x=0;if(u&1){u=mb()|0;P1(o);yb(u|0)}else{P1(o);u=1;s=c;u=s&u;r=t;return u|0}}}lE(s,27413,41);x=0;e=q;c=b+8|0;d=e+40|0;do{k[e>>2]=k[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));sa(438,s|0,q|0);u=x;x=0;if(u&1){u=mb()|0;P1(s);yb(u|0)}else{P1(s);u=0;s=0;u=s&u;r=t;return u|0}}}lE(p,27413,41);x=0;e=q;c=b+8|0;d=e+40|0;do{k[e>>2]=k[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));sa(438,p|0,q|0);u=x;x=0;if(u&1){u=mb()|0;P1(p);yb(u|0)}else{P1(p);u=0;s=0;u=s&u;r=t;return u|0}return 0}function ni(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;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;p=0;s=r;r=r+32|0;q=s;if((e|0)==0|(f|0)==0){LC(a);r=s;return}i=k[c+16>>2]|0;h=k[c+20>>2]|0;if(h|0){c3(h);CQ(h)}m=k[d+16>>2]|0;h=k[d+20>>2]|0;if(h|0){c3(h);CQ(h)}JN(q);l=(k[i+16>>2]|0)+e|0;j=k[(k[i+4>>2]|0)+(((l>>>0)/170|0)<<2)>>2]|0;l=(l>>>0)%170|0;i=j+(l*24|0)|0;h=(k[m+16>>2]|0)+f|0;x=0;h=Ka(888,i|0,(k[(k[m+4>>2]|0)+(((h>>>0)/170|0)<<2)>>2]|0)+(((h>>>0)%170|0)*24|0)|0)|0;o=x;x=0;a:do if(o&1)p=25;else{do if(h){k[q>>2]=k[i>>2];k[q+4>>2]=k[i+4>>2];k[q+8>>2]=k[i+8>>2];k[q+12>>2]=k[i+12>>2];o=q+16|0;j=j+(l*24|0)|0;h=k[j+16>>2]|0;j=k[j+20>>2]|0;if(j|0)c3(j);k[o>>2]=h;h=q+20|0;i=k[h>>2]|0;k[h>>2]=j;if(i|0)CQ(i);x=0;Ha(3,a|0,b|0,c|0,d|0,e+-1|0,f+-1|0,g|0);n=x;x=0;if(n&1){p=25;break a}b=k[a+16>>2]|0;g=a+20|0;a=k[g>>2]|0;n=(a|0)==0;if(!n)c3(a);f=b+8|0;l=k[f>>2]|0;c=b+4|0;j=k[c>>2]|0;t=l-j>>2;e=b+16|0;i=k[e>>2]|0;d=b+20|0;m=k[d>>2]|0;do if((((t|0)==0?0:(t*170|0)+-1|0)|0)==(m+i|0)){x=0;ra(336,b|0);t=x;x=0;if(!(t&1)){m=k[d>>2]|0;i=k[e>>2]|0;l=k[f>>2]|0;j=k[c>>2]|0;break}j=mb()|0;if(!n)CQ(a);i=k[g>>2]|0;if(!i){i=j;break a}CQ(i);i=j;break a}while(0);i=m+i|0;if((l|0)==(j|0))i=0;else i=(k[j+(((i>>>0)/170|0)<<2)>>2]|0)+(((i>>>0)%170|0)*24|0)|0;k[i>>2]=k[q>>2];k[i+4>>2]=k[q+4>>2];k[i+8>>2]=k[q+8>>2];k[i+12>>2]=k[q+12>>2];k[i+16>>2]=k[o>>2];h=k[h>>2]|0;k[i+20>>2]=h;if(h|0)c3(h);k[d>>2]=(k[d>>2]|0)+1;if(!n)CQ(a)}else{t=k[b>>2]|0;i=f+-1|0;h=e+-1|0;if((k[(k[t+(e*12|0)>>2]|0)+(i<<2)>>2]|0)>(k[(k[t+(h*12|0)>>2]|0)+(f<<2)>>2]|0)){x=0;Ha(3,a|0,b|0,c|0,d|0,e|0,i|0,g|0);t=x;x=0;if(t&1){p=25;break a}else break}else{x=0;Ha(3,a|0,b|0,c|0,d|0,h|0,f|0,g|0);t=x;x=0;if(t&1){p=25;break a}else break}}while(0);h=k[q+20>>2]|0;if(h|0)CQ(h);r=s;return}while(0);if((p|0)==25){i=mb()|0;h=q+20|0}h=k[h>>2]|0;if(!h)yb(i|0);CQ(h);yb(i|0)}function oi(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;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+16|0;q=s;l=c;while(1){if((l|0)==(d|0)){l=d;break}if(!(i[l>>0]|0))break;l=l+1|0}k[h>>2]=f;k[e>>2]=c;o=g;p=a+8|0;n=l;a:while(1){if((f|0)==(g|0)|(c|0)==(d|0)){j=c;c=52;break}m=b;l=k[m+4>>2]|0;a=q;k[a>>2]=k[m>>2];k[a+4>>2]=l;a=n;l=p0(k[p>>2]|0)|0;x=0;m=wa(31,f|0,e|0,a-c|0,o-f>>2|0,b|0)|0;t=x;x=0;if(t&1){c=11;break}if(l|0){x=0;ua(271,l|0)|0;t=x;x=0;if(t&1){c=10;break}}switch(m|0){case -1:{l=c;c=16;break a}case 0:{j=2;c=48;break a}default:{}}f=(k[h>>2]|0)+(m<<2)|0;k[h>>2]=f;if((f|0)==(g|0)){c=49;break}c=k[e>>2]|0;if((n|0)==(d|0))l=d;else{l=p0(k[p>>2]|0)|0;x=0;f=Pa(23,f|0,c|0,1,b|0)|0;t=x;x=0;if(t&1){c=39;break}if(l|0){x=0;ua(271,l|0)|0;t=x;x=0;if(t&1){c=38;break}}if(f|0){j=2;c=48;break}k[h>>2]=(k[h>>2]|0)+4;f=(k[e>>2]|0)+1|0;k[e>>2]=f;l=f;while(1){if((l|0)==(d|0)){l=d;break}if(!(i[l>>0]|0))break;l=l+1|0}c=f;f=k[h>>2]|0}n=l}do if((c|0)==10){t=Eb(0)|0;Nba(t)}else if((c|0)==11){j=mb()|0;if(l|0){x=0;ua(271,l|0)|0;t=x;x=0;if(t&1){t=Eb(0)|0;Nba(t)}}yb(j|0)}else if((c|0)==16){c=l;b:while(1){k[h>>2]=f;if((c|0)==(k[e>>2]|0)){j=c;c=32;break}l=p0(k[p>>2]|0)|0;x=0;f=Pa(23,f|0,c|0,a-c|0,q|0)|0;t=x;x=0;if(t&1){c=22;break}if(l|0){x=0;ua(271,l|0)|0;t=x;x=0;if(t&1){c=21;break}}switch(f|0){case -1:{j=c;c=28;break b}case -2:{j=c;c=29;break b}case 0:{l=c+1|0;break}default:l=c+f|0}c=l;f=(k[h>>2]|0)+4|0}if((c|0)==21){t=Eb(0)|0;Nba(t)}else if((c|0)==22){j=mb()|0;if(l|0){x=0;ua(271,l|0)|0;t=x;x=0;if(t&1){t=Eb(0)|0;Nba(t)}}yb(j|0)}else if((c|0)==28){k[e>>2]=j;j=2;c=48;break}else if((c|0)==29){k[e>>2]=j;j=1;c=48;break}else if((c|0)==32){k[e>>2]=j;j=(j|0)!=(d|0)&1;c=48;break}}else if((c|0)==38){t=Eb(0)|0;Nba(t)}else if((c|0)==39){j=mb()|0;if(l|0){x=0;ua(271,l|0)|0;t=x;x=0;if(t&1){t=Eb(0)|0;Nba(t)}}yb(j|0)}else if((c|0)==49){j=k[e>>2]|0;c=52}while(0);if((c|0)!=48)if((c|0)==52)j=(j|0)!=(d|0)&1;r=s;return j|0}function pi(a){a=a|0;var b=0,c=0,d=0,e=0;e=0;b=mI(a)|0;if(b|0){a=b;return a|0}a:do if(a|0){c=i[43504]|0;b:do if(!(c<<24>>24)){b=a;e=6}else{b=a;d=43504;while(1){if((i[b>>0]|0)!=c<<24>>24)break b;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){e=6;break}}}while(0);c:do if((e|0)==6){c=i[b>>0]|0;if(c<<24>>24){d:while(1){if(b|0){d=i[44840]|0;if(!(d<<24>>24)){e=22;break}if(c<<24>>24==d<<24>>24){c=b;e=44840;do{c=c+1|0;e=e+1|0;d=i[e>>0]|0;if(!(d<<24>>24)){b=c;e=22;break d}}while((i[c>>0]|0)==d<<24>>24)}}b=b+1|0;c=i[b>>0]|0;if(!(c<<24>>24))break c}if((e|0)==22)return b|0}}while(0);c=i[43507]|0;if(!(c<<24>>24))b=a;else{b=a;d=43507;do{if((i[b>>0]|0)!=c<<24>>24)break a;b=b+1|0;d=d+1|0;c=i[d>>0]|0}while(c<<24>>24!=0)}while(1){if(q1(b)|0)break;e=b;b=uaa(b)|0;if((b|0)==(e|0)|(b|0)==0)break a}if(b|0){a=b;return a|0}}while(0);if((i[a>>0]|0)==47){b=ku(a+1|0)|0;if(b|0){a=b;return a|0}}a=uf(a)|0;return a|0}function qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=a+4|0;o=k[n>>2]|0;c=o&-8;j=a+c|0;h=k[18139]|0;d=o&3;if(!((d|0)!=1&a>>>0>=h>>>0&a>>>0>>0))bb();e=k[j+4>>2]|0;if(!(e&1))bb();if(!d){if(b>>>0<256){a=0;return a|0}if(c>>>0>=(b+4|0)>>>0)if((c-b|0)>>>0<=k[18255]<<1>>>0)return a|0;a=0;return a|0}if(c>>>0>=b>>>0){c=c-b|0;if(c>>>0<=15)return a|0;m=a+b|0;k[n>>2]=o&1|b|2;k[m+4>>2]=c|3;b=m+c+4|0;k[b>>2]=k[b>>2]|1;mf(m,c);return a|0}if((j|0)==(k[18141]|0)){c=(k[18138]|0)+c|0;if(c>>>0<=b>>>0){a=0;return a|0}m=c-b|0;l=a+b|0;k[n>>2]=o&1|b|2;k[l+4>>2]=m|1;k[18141]=l;k[18138]=m;return a|0}if((j|0)==(k[18140]|0)){d=(k[18137]|0)+c|0;if(d>>>0>>0){a=0;return a|0}c=d-b|0;if(c>>>0>15){d=a+b|0;m=d+c|0;k[n>>2]=o&1|b|2;k[d+4>>2]=c|1;k[m>>2]=c;b=m+4|0;k[b>>2]=k[b>>2]&-2}else{k[n>>2]=o&1|d|2;d=a+d+4|0;k[d>>2]=k[d>>2]|1;d=0;c=0}k[18137]=c;k[18140]=d;return a|0}if(e&2|0){a=0;return a|0}l=(e&-8)+c|0;if(l>>>0>>0){a=0;return a|0}m=l-b|0;f=e>>>3;do if(e>>>0<256){d=k[j+8>>2]|0;e=k[j+12>>2]|0;c=72580+(f<<1<<2)|0;if((d|0)!=(c|0)){if(d>>>0>>0)bb();if((k[d+12>>2]|0)!=(j|0))bb()}if((e|0)==(d|0)){k[18135]=k[18135]&~(1<>>0>>0)bb();c=e+8|0;if((k[c>>2]|0)==(j|0))g=c;else bb()}k[d+12>>2]=e;k[g>>2]=d}else{g=k[j+24>>2]|0;e=k[j+12>>2]|0;do if((e|0)==(j|0)){d=j+16|0;e=d+4|0;c=k[e>>2]|0;if(!c){c=k[d>>2]|0;if(!c){i=0;break}}else d=e;while(1){e=c+20|0;f=k[e>>2]|0;if(f|0){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)bb();else{k[d>>2]=0;i=c;break}}else{f=k[j+8>>2]|0;if(f>>>0>>0)bb();c=f+12|0;if((k[c>>2]|0)!=(j|0))bb();d=e+8|0;if((k[d>>2]|0)==(j|0)){k[c>>2]=e;k[d>>2]=f;i=e;break}else bb()}while(0);if(g|0){c=k[j+28>>2]|0;d=72844+(c<<2)|0;if((j|0)==(k[d>>2]|0)){k[d>>2]=i;if(!i){k[18136]=k[18136]&~(1<>>0<(k[18139]|0)>>>0)bb();c=g+16|0;if((k[c>>2]|0)==(j|0))k[c>>2]=i;else k[g+20>>2]=i;if(!i)break}e=k[18139]|0;if(i>>>0>>0)bb();k[i+24>>2]=g;c=j+16|0;d=k[c>>2]|0;do if(d|0)if(d>>>0>>0)bb();else{k[i+16>>2]=d;k[d+24>>2]=i;break}while(0);c=k[c+4>>2]|0;if(c|0)if(c>>>0<(k[18139]|0)>>>0)bb();else{k[i+20>>2]=c;k[c+24>>2]=i;break}}}while(0);if(m>>>0<16){k[n>>2]=l|o&1|2;b=a+l+4|0;k[b>>2]=k[b>>2]|1;return a|0}else{l=a+b|0;k[n>>2]=o&1|b|2;k[l+4>>2]=m|3;b=l+m+4|0;k[b>>2]=k[b>>2]|1;mf(l,m);return a|0}return 0}function ri(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;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+16|0;q=s;o=s+8|0;l=c;while(1){if((l|0)==(d|0)){l=d;break}if(!(k[l>>2]|0))break;l=l+4|0}k[h>>2]=f;k[e>>2]=c;n=g;p=a+8|0;m=l;a:while(1){if((f|0)==(g|0)|(c|0)==(d|0)){j=c;c=53;break}t=b;a=k[t+4>>2]|0;l=q;k[l>>2]=k[t>>2];k[l+4>>2]=a;l=p0(k[p>>2]|0)|0;x=0;a=wa(30,f|0,e|0,m-c>>2|0,n-f|0,b|0)|0;t=x;x=0;if(t&1){c=11;break}if(l|0){x=0;ua(271,l|0)|0;t=x;x=0;if(t&1){c=10;break}}switch(a|0){case -1:{l=c;c=16;break a}case 0:{j=1;c=50;break a}default:{}}f=(k[h>>2]|0)+a|0;k[h>>2]=f;if((f|0)==(g|0)){c=51;break}if((m|0)==(d|0)){c=k[e>>2]|0;l=d}else{l=p0(k[p>>2]|0)|0;x=0;f=xa(109,o|0,0,b|0)|0;t=x;x=0;if(t&1){c=36;break}if(l|0){x=0;ua(271,l|0)|0;t=x;x=0;if(t&1){c=35;break}}if((f|0)==-1){j=2;c=49;break}if(f>>>0>(n-(k[h>>2]|0)|0)>>>0){j=1;c=49;break}else l=o;while(1){if(!f)break;m=i[l>>0]|0;t=k[h>>2]|0;k[h>>2]=t+1;i[t>>0]=m;f=f+-1|0;l=l+1|0}c=(k[e>>2]|0)+4|0;k[e>>2]=c;l=c;while(1){if((l|0)==(d|0)){l=d;break}if(!(k[l>>2]|0))break;l=l+4|0}f=k[h>>2]|0}m=l}do if((c|0)==10){t=Eb(0)|0;Nba(t)}else if((c|0)==11){j=mb()|0;if(l|0){x=0;ua(271,l|0)|0;t=x;x=0;if(t&1){t=Eb(0)|0;Nba(t)}}yb(j|0)}else if((c|0)==16){k[h>>2]=f;c=l;while(1){if((c|0)==(k[e>>2]|0)){j=c;c=28;break}t=k[c>>2]|0;l=p0(k[p>>2]|0)|0;x=0;f=xa(109,f|0,t|0,q|0)|0;t=x;x=0;if(t&1){c=22;break}if(l|0){x=0;ua(271,l|0)|0;t=x;x=0;if(t&1){c=21;break}}if((f|0)==-1){j=c;c=28;break}f=(k[h>>2]|0)+f|0;k[h>>2]=f;c=c+4|0}if((c|0)==21){t=Eb(0)|0;Nba(t)}else if((c|0)==22){j=mb()|0;if(l|0){x=0;ua(271,l|0)|0;t=x;x=0;if(t&1){t=Eb(0)|0;Nba(t)}}yb(j|0)}else if((c|0)==28){k[e>>2]=j;j=2;c=50;break}}else if((c|0)==35){t=Eb(0)|0;Nba(t)}else if((c|0)==36){j=mb()|0;if(l|0){x=0;ua(271,l|0)|0;t=x;x=0;if(t&1){t=Eb(0)|0;Nba(t)}}yb(j|0)}else if((c|0)==49)c=50;else if((c|0)==51){j=k[e>>2]|0;c=53}while(0);if((c|0)!=50)if((c|0)==53)j=(j|0)!=(d|0)&1;r=s;return j|0}function si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;n=0;l=r;r=r+336|0;m=l;o=l+224|0;g=l+120|0;h=l+20|0;e=c;f=k[e+4>>2]|0;p=m;k[p>>2]=k[e>>2];k[p+4>>2]=f;k[m+8>>2]=42986;k[m+12>>2]=43502;i[m+16>>0]=0;kA(o,m);k[h>>2]=4732;m=h+4|0;p=o+4|0;x=0;sa(430,m|0,p|0);f=x;x=0;do if(f&1){c=mb()|0;n=25}else{x=0;sa(431,h+16|0,o+16|0);f=x;x=0;if(f&1){c=mb()|0;P1(m);n=25;break}f=h+68|0;e=o+68|0;k[f>>2]=k[e>>2];k[f+4>>2]=k[e+4>>2];k[f+8>>2]=k[e+8>>2];k[f+12>>2]=k[e+12>>2];k[f+16>>2]=k[e+16>>2];k[f+20>>2]=k[e+20>>2];k[f+24>>2]=k[e+24>>2];j[f+28>>1]=j[e+28>>1]|0;x=0;sa(432,g|0,h|0);f=x;x=0;if(f&1){c=mb()|0;k[h>>2]=4732;P1(h+52|0);d=k[h+28>>2]|0;e=d;if(d|0){f=h+32|0;a=k[f>>2]|0;if((a|0)!=(d|0))k[f>>2]=a+(~(((a+-24-e|0)>>>0)/24|0)*24|0);uha(d)}f=k[h+16>>2]|0;a=f;if(f|0){d=h+20|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);uha(f)}P1(m);break}k[h>>2]=4732;P1(h+52|0);c=k[h+28>>2]|0;d=c;if(c|0){e=h+32|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~(((f+-24-d|0)>>>0)/24|0)*24|0);uha(c)}e=k[h+16>>2]|0;f=e;if(e|0){c=h+20|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);uha(e)}P1(m);i[g+99>>0]=1;x=0;sa(k[(k[b>>2]|0)+28>>2]|0,b|0,g|0);m=x;x=0;if(!(m&1)){x=0;sa(433,a|0,g+4|0);m=x;x=0;if(!(m&1)){Ez(g);k[o>>2]=4732;P1(o+52|0);c=k[o+28>>2]|0;d=c;if(c|0){e=o+32|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~(((f+-24-d|0)>>>0)/24|0)*24|0);uha(c)}e=k[o+16>>2]|0;if(!e){P1(p);r=l;return}c=o+20|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);uha(e);P1(p);r=l;return}}c=mb()|0;Ez(g)}while(0);k[o>>2]=4732;P1(o+52|0);d=k[o+28>>2]|0;e=d;if(d|0){f=o+32|0;a=k[f>>2]|0;if((a|0)!=(d|0))k[f>>2]=a+(~(((a+-24-e|0)>>>0)/24|0)*24|0);uha(d)}f=k[o+16>>2]|0;if(!f){P1(p);yb(c|0)}d=o+20|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);uha(f);P1(p);yb(c|0)}function ti(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=0;a=Cu(a)|0;if(!a){j=0;return j|0}h=i[38919]|0;d=h<<24>>24==0;a:do if(!d){b=h;c=38919;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);b=i[a>>0]|0;if(!(b<<24>>24)){j=0;return j|0}if(d){c=0;d=0;while(1){switch(b<<24>>24){case 92:{a=a+1|0;break}case 34:{c=c^1;break}case 39:{d=d^1;break}default:if(c)c=1;else{a=d?a:a+-1|0;c=0}}a=a+1|0;b=i[a>>0]|0;if(!(b<<24>>24)){a=0;break}}return a|0}else{f=a;c=0;d=0;g=0}b:while(1){c:do switch(b<<24>>24){case 92:{a=f+1|0;e=g;break}case 34:{a=f;c=c^1;e=g;break}case 39:{a=f;d=d^1;e=g;break}default:if(c){a=f;c=1;e=g}else if(d){a=f;c=0;d=1;e=g}else if(!f){a=0;c=0;d=0;e=g}else{d:do if(b<<24>>24==h<<24>>24){c=f;e=38919;while(1){a=c;c=c+1|0;e=e+1|0;d=i[e>>0]|0;if(!(d<<24>>24))break;if((i[c>>0]|0)!=d<<24>>24)break d}c=0;d=0;e=g+1|0;break c}while(0);a=i[43519]|0;e:do if(!(a<<24>>24))a=f;else{if(b<<24>>24==a<<24>>24){a=f;c=43519}else{a=f;c=0;d=0;e=g;break c}while(1){a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break e;if((i[a>>0]|0)!=b<<24>>24){a=f;c=0;d=0;e=g;break c}}}while(0);if(!g){c=a;break b}a=a+-1|0;c=0;d=0;e=g+-1|0}}while(0);f=a+1|0;b=i[f>>0]|0;if(!(b<<24>>24)){a=0;j=49;break}else g=e}if((j|0)==49)return a|0;if(!c){j=0;return j|0}a=LN(c)|0;do if(!a){a=c+1|0;b=(i[c>>0]|0)==36?a:c;if(b|0){if((i[b>>0]|0)==45)do b=b+1|0;while((i[b>>0]|0)==45);b=Kt(b)|0;if(b|0){b=Jt(b)|0;if(b|0){a=b;break}}}b=Io(c)|0;if(!b){if((i[c>>0]|0)!=45){j=c;return j|0}}else a=b}while(0);while(1){b=LN(a)|0;if(b|0){a=b;continue}c=a+1|0;b=(i[a>>0]|0)==36?c:a;if(b|0){if((i[b>>0]|0)==45)do b=b+1|0;while((i[b>>0]|0)==45);b=Kt(b)|0;if(b|0){b=Jt(b)|0;if(b|0){a=b;continue}}}b=Io(a)|0;if(b|0){a=b;continue}if((i[a>>0]|0)==45)a=c;else break}return a|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+16|0;h=i;switch(b-a>>2|0){case 2:{d=b+-4|0;if(!(Jc[k[c>>2]&1023](d,a)|0)){a=1;r=i;return a|0}c=k[a>>2]|0;k[a>>2]=k[d>>2];k[d>>2]=c;a=1;r=i;return a|0}case 3:{g=a+4|0;d=b+-4|0;b=Jc[k[c>>2]&1023](g,a)|0;e=Jc[k[c>>2]&1023](d,g)|0;if(!b){if(!e){a=1;r=i;return a|0}b=k[g>>2]|0;k[g>>2]=k[d>>2];k[d>>2]=b;if(!(Jc[k[c>>2]&1023](g,a)|0)){a=1;r=i;return a|0}c=k[a>>2]|0;k[a>>2]=k[g>>2];k[g>>2]=c;a=1;r=i;return a|0}f=k[a>>2]|0;if(e){k[a>>2]=k[d>>2];k[d>>2]=f;a=1;r=i;return a|0}k[a>>2]=k[g>>2];k[g>>2]=f;if(!(Jc[k[c>>2]&1023](d,g)|0)){a=1;r=i;return a|0}a=k[g>>2]|0;k[g>>2]=k[d>>2];k[d>>2]=a;a=1;r=i;return a|0}case 4:{wt(a,a+4|0,a+8|0,b+-4|0,c)|0;a=1;r=i;return a|0}case 5:{e=a+4|0;f=a+8|0;g=a+12|0;d=b+-4|0;wt(a,e,f,g,c)|0;if(!(Jc[k[c>>2]&1023](d,g)|0)){a=1;r=i;return a|0}b=k[g>>2]|0;k[g>>2]=k[d>>2];k[d>>2]=b;if(!(Jc[k[c>>2]&1023](g,f)|0)){a=1;r=i;return a|0}b=k[f>>2]|0;k[f>>2]=k[g>>2];k[g>>2]=b;if(!(Jc[k[c>>2]&1023](f,e)|0)){a=1;r=i;return a|0}b=k[e>>2]|0;k[e>>2]=k[f>>2];k[f>>2]=b;if(!(Jc[k[c>>2]&1023](e,a)|0)){a=1;r=i;return a|0}c=k[a>>2]|0;k[a>>2]=k[e>>2];k[e>>2]=c;a=1;r=i;return a|0}case 1:case 0:{a=1;r=i;return a|0}default:{e=a+8|0;d=a+4|0;g=Jc[k[c>>2]&1023](d,a)|0;f=Jc[k[c>>2]&1023](e,d)|0;do if(g){g=k[a>>2]|0;if(f){k[a>>2]=k[e>>2];k[e>>2]=g;break}k[a>>2]=k[d>>2];k[d>>2]=g;if(Jc[k[c>>2]&1023](e,d)|0){g=k[d>>2]|0;k[d>>2]=k[e>>2];k[e>>2]=g}}else if(f){g=k[d>>2]|0;k[d>>2]=k[e>>2];k[e>>2]=g;if(Jc[k[c>>2]&1023](d,a)|0){g=k[a>>2]|0;k[a>>2]=k[d>>2];k[d>>2]=g}}while(0);f=a+12|0;a:do if((f|0)==(b|0)){e=1;d=0}else{d=0;while(1){if(Jc[k[c>>2]&1023](f,e)|0){k[h>>2]=k[f>>2];g=f;while(1){k[g>>2]=k[e>>2];if((e|0)==(a|0))break;g=e+-4|0;if(Jc[k[c>>2]&1023](h,g)|0){j=e;e=g;g=j}else break}k[e>>2]=k[h>>2];d=d+1|0;if((d|0)==8){e=0;d=(f+4|0)==(b|0);break a}}e=f+4|0;if((e|0)==(b|0)){e=1;d=0;break}else{j=f;f=e;e=j}}}while(0);j=d|e;r=i;return j|0}}return 0}function vi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;w=r;r=r+128|0;t=w;b=w+104|0;y=w+40|0;u=w+64|0;v=w+52|0;lE(b,38632,9);x=0;q=t;p=q+40|0;do{k[q>>2]=k[e>>2];q=q+4|0;e=e+4|0}while((q|0)<(p|0));m=ta(126,b|0,a|0,d|0,t|0,f|0,c|0)|0;s=x;x=0;if(s&1){y=mb()|0;P1(b);yb(y|0)}P1(b);s=c+36|0;h=lD(s,84)|0;j=m+72|0;l=m+76|0;c=(k[l>>2]|0)-(k[j>>2]|0)|0;g=c>>2;q=t;e=m+8|0;p=q+40|0;do{k[q>>2]=k[e>>2];q=q+4|0;e=e+4|0}while((q|0)<(p|0));k[h+4>>2]=0;q=h+8|0;e=t;p=q+40|0;do{k[q>>2]=k[e>>2];q=q+4|0;e=e+4|0}while((q|0)<(p|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;b=h+52|0;k[b>>2]=0;k[h>>2]=10312;e=h+56|0;k[e>>2]=5132;f=h+60|0;k[f>>2]=0;a=h+64|0;k[a>>2]=0;d=h+68|0;k[d>>2]=0;if(g|0){q=GG(c)|0;p=q;k[f>>2]=p;k[a>>2]=p;k[d>>2]=q+(g<<2)}k[h>>2]=4992;k[e>>2]=5104;k[h+76>>2]=0;i[h+80>>0]=0;i[h+81>>0]=0;k[b>>2]=5;o=N4(s,h)|0;b=k[j>>2]|0;n=(k[l>>2]|0)-b>>2;if(!n){r=w;return o|0}d=m+72|0;c=o+56|0;g=o+72|0;h=o+64|0;j=o+68|0;l=o+60|0;e=b;b=0;while(1){e=k[e+(b<<2)>>2]|0;rc[k[(k[e>>2]|0)+24>>2]&1023](y,e);x=0;f=Ka(856,s|0,76)|0;q=x;x=0;if(q&1){e=19;break}q=u;e=e+8|0;p=q+40|0;do{k[q>>2]=k[e>>2];q=q+4|0;e=e+4|0}while((q|0)<(p|0));x=0;sa(430,v|0,y|0);q=x;x=0;if(q&1){e=19;break}x=0;q=t;e=u;p=q+40|0;do{k[q>>2]=k[e>>2];q=q+4|0;e=e+4|0}while((q|0)<(p|0));qa(5,f|0,t|0,v|0,0,0);q=x;x=0;if(q&1){e=20;break}x=0;e=Ka(857,s|0,f|0)|0;q=x;x=0;if(q&1){e=20;break}k[t>>2]=e;f=e;if(e|0){k[g>>2]=0;a=k[h>>2]|0;if((a|0)==(k[j>>2]|0)){x=0;sa(455,l|0,t|0);q=x;x=0;if(q&1){e=20;break}}else{k[a>>2]=f;k[h>>2]=(k[h>>2]|0)+4}x=0;sa(k[k[c>>2]>>2]|0,c|0,e|0);q=x;x=0;if(q&1){e=20;break}}P1(v);P1(y);b=b+1|0;if(b>>>0>=n>>>0){e=6;break}e=k[d>>2]|0}if((e|0)==6){r=w;return o|0}else if((e|0)==19)b=mb()|0;else if((e|0)==20){b=mb()|0;P1(v)}P1(y);y=b;yb(y|0);return 0} -function yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;g=0;d=i[b>>0]|0;a:do if(d<<24>>24){f=b;e=d;b:while(1){c=f+1|0;do if(e<<24>>24>-1)c=1;else{if((e&255)<194){g=22;break b}if((e&255)<224)if((i[c>>0]&-64)<<24>>24==-128){c=2;break}else{g=22;break b}if((e&255)<240){switch(e<<24>>24){case -32:{c=i[c>>0]|0;if((c&255)<160){g=22;break b}break}case -19:{c=i[c>>0]|0;if((c&255)>159){g=22;break b}break}default:c=i[c>>0]|0}if((c&-64)<<24>>24!=-128){g=22;break b}if((i[f+2>>0]&-64)<<24>>24==-128){c=3;break}else{g=22;break b}}if((e&255)>=245){g=22;break b}switch(e<<24>>24){case -16:{c=i[c>>0]|0;if((c&255)<144){g=22;break b}break}case -12:{c=i[c>>0]|0;if((c&255)>143){g=22;break b}break}default:c=i[c>>0]|0}if((c&-64)<<24>>24!=-128){g=22;break b}if((i[f+2>>0]&-64)<<24>>24!=-128){g=22;break b}if((i[f+3>>0]&-64)<<24>>24==-128)c=4;else{g=22;break b}}while(0);f=f+c|0;e=i[f>>0]|0;if(!(e<<24>>24)){e=b;break}}if((g|0)==22){a=vb(8)|0;k[a>>2]=13632;i[a+4>>0]=0;Wb(a|0,1800,171)}c:while(1){c=e+1|0;do if(d<<24>>24>-1)c=1;else{if((d&255)<194){g=43;break c}if((d&255)<224)if((i[c>>0]&-64)<<24>>24==-128){c=2;break}else{g=43;break c}if((d&255)<240){switch(d<<24>>24){case -32:{c=i[c>>0]|0;if((c&255)<160){g=43;break c}break}case -19:{c=i[c>>0]|0;if((c&255)>159){g=43;break c}break}default:c=i[c>>0]|0}if((c&-64)<<24>>24!=-128){g=43;break c}if((i[e+2>>0]&-64)<<24>>24==-128){c=3;break}else{g=43;break c}}if((d&255)>=245){g=43;break c}switch(d<<24>>24){case -16:{c=i[c>>0]|0;if((c&255)<144){g=43;break c}break}case -12:{c=i[c>>0]|0;if((c&255)>143){g=43;break c}break}default:c=i[c>>0]|0}if((c&-64)<<24>>24!=-128){g=43;break c}if((i[e+2>>0]&-64)<<24>>24!=-128){g=43;break c}if((i[e+3>>0]&-64)<<24>>24==-128)c=4;else{g=43;break c}}while(0);e=e+c|0;d=i[e>>0]|0;if(!(d<<24>>24))break a}if((g|0)==43)kb(39163,38952,1155,39182)}while(0);l=a+4|0;e=k[l>>2]|0;d=k[a>>2]|0;c=d;do if((e-d|0)<14){h=a+8|0;f=k[h>>2]|0;g=d-f|0;c=g+14|0;d=e-f|0;do d=d<<1;while(d>>>0>>0);c=OC(f,d|1)|0;k[h>>2]=c;if(!c){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{j=c+g|0;k[a>>2]=j;k[l>>2]=c+d;break}}else j=c;while(0);c=j+1|0;i[j>>0]=34;d=i[b>>0]|0;if(!(d<<24>>24)){b=c;l=b+1|0;i[b>>0]=34;k[a>>2]=l;return}j=a+8|0;h=b;d:while(1){f=h+1|0;e=d&255;e:do switch(e|0){case 34:{i[c>>0]=92;i[c+1>>0]=34;c=c+2|0;break}case 92:{i[c>>0]=92;i[c+1>>0]=92;c=c+2|0;break}case 8:{i[c>>0]=92;i[c+1>>0]=98;c=c+2|0;break}case 12:{i[c>>0]=92;i[c+1>>0]=102;c=c+2|0;break}case 10:{i[c>>0]=92;i[c+1>>0]=110;c=c+2|0;break}case 13:{i[c>>0]=92;i[c+1>>0]=114;c=c+2|0;break}case 9:{i[c>>0]=92;i[c+1>>0]=116;c=c+2|0;break}default:{do if(d<<24>>24>-1)if((d&255)<31){i[c>>0]=92;i[c+1>>0]=117;i[c+2>>0]=48;i[c+3>>0]=48;i[c+4>>0]=i[39194+(e>>>4)>>0]|0;i[c+5>>0]=i[39194+(e&15)>>0]|0;c=c+6|0;break e}else g=1;else{if((d&255)<194){g=80;break d}if((d&255)<224)if((i[f>>0]&-64)<<24>>24==-128){g=2;break}else{g=80;break d}if((d&255)<240){switch(d<<24>>24){case -32:{e=i[f>>0]|0;if((e&255)<160){g=80;break d}break}case -19:{e=i[f>>0]|0;if((e&255)>159){g=80;break d}break}default:e=i[f>>0]|0}if((e&-64)<<24>>24!=-128){g=80;break d}if((i[h+2>>0]&-64)<<24>>24==-128){g=3;break}else{g=80;break d}}if((d&255)>=245){g=80;break d}switch(d<<24>>24){case -16:{e=i[f>>0]|0;if((e&255)<144){g=80;break d}break}case -12:{e=i[f>>0]|0;if((e&255)>143){g=80;break d}break}default:e=i[f>>0]|0}if((e&-64)<<24>>24!=-128){g=80;break d}if((i[h+2>>0]&-64)<<24>>24!=-128){g=80;break d}if((i[h+3>>0]&-64)<<24>>24==-128)g=4;else{g=80;break d}}while(0);f=c+g|0;e=g+-1|0;i[c>>0]=d;if(e|0){d=h;do{d=d+1|0;c=c+1|0;e=e+-1|0;i[c>>0]=i[d>>0]|0}while((e|0)!=0)}c=f;f=h+g|0}}while(0);k[a>>2]=c;e=k[l>>2]|0;d=c;if((e-d|0)<14){g=k[j>>2]|0;h=d-g|0;c=h+14|0;d=e-g|0;do d=d<<1;while(d>>>0>>0);c=OC(g,d|1)|0;k[j>>2]=c;if(!c){g=89;break}b=c+h|0;k[a>>2]=b;k[l>>2]=c+d;c=b}d=i[f>>0]|0;if(!(d<<24>>24)){g=92;break}else h=f}if((g|0)==80)kb(51271,38952,1213,39182);else if((g|0)==89){FH(42958,15,1,k[4316]|0)|0;cc(1)}else if((g|0)==92){l=c+1|0;i[c>>0]=34;k[a>>2]=l;return}}function zf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;l=r;r=r+48|0;h=l+24|0;m=l+12|0;j=l;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;f=k[a+72>>2]|0;g=i[f>>0]|0;do switch(g&255|0){case 239:{if(g<<24>>24==(i[30005]|0)?(f+3|0)>>>0<=(k[a+80>>2]|0)>>>0:0)if((i[f+1>>0]|0)==(i[30006]|0))b=(i[f+2>>0]|0)==(i[30007]|0)?3:0;else b=0;else b=0;x=0;Ka(874,m|0,40691)|0;j=x;x=0;if(j&1)c=5;else{j=b;a=a+76|0;h=k[a>>2]|0;j=h+j|0;k[a>>2]=j;P1(m);r=l;return}break}case 254:{if(g<<24>>24==(i[30008]|0)?(f+2|0)>>>0<=(k[a+80>>2]|0)>>>0:0)b=(i[f+1>>0]|0)==(i[30009]|0)?2:0;else b=0;x=0;Ka(874,m|0,40697)|0;g=x;x=0;if(g&1)c=5;else c=43;break}case 255:{b=k[a+80>>2]|0;c=f+2|0;if(c>>>0<=b>>>0?g<<24>>24==(i[30010]|0):0){d=i[f+1>>0]|0;if(d<<24>>24==(i[30011]|0))if(((f+4|0)>>>0<=b>>>0?g<<24>>24==(i[30016]|0):0)&d<<24>>24==(i[30017]|0))if((i[c>>0]|0)==(i[30018]|0)){b=(i[f+3>>0]|0)==(i[30019]|0)?4:0;c=2}else{b=0;c=2}else{b=0;c=2}else{b=0;c=0}}else{b=0;c=0}b=b|c;x=0;Ka(874,m|0,((b|0)==2?40717:40740)|0)|0;g=x;x=0;if(g&1)c=5;else c=43;break}case 0:{if(g<<24>>24==(i[30012]|0)?(f+4|0)>>>0<=(k[a+80>>2]|0)>>>0:0)if((i[f+1>>0]|0)==(i[30013]|0))if((i[f+2>>0]|0)==(i[30014]|0))b=(i[f+3>>0]|0)==(i[30015]|0)?4:0;else b=0;else b=0;else b=0;x=0;Ka(874,m|0,40763)|0;g=x;x=0;if(g&1)c=5;else c=43;break}case 43:{d=k[a+80>>2]|0;e=f+4|0;if(e>>>0>d>>>0){b=0;c=0}else{if(g<<24>>24==(i[30020]|0))if((i[f+1>>0]|0)==(i[30021]|0))if((i[f+2>>0]|0)==(i[30022]|0))b=(i[f+3>>0]|0)==(i[30023]|0)?4:0;else b=0;else b=0;else b=0;if(g<<24>>24==(i[30024]|0))if((i[f+1>>0]|0)==(i[30025]|0))if((i[f+2>>0]|0)==(i[30026]|0))c=(i[f+3>>0]|0)==(i[30027]|0)?4:0;else c=0;else c=0;else c=0;c=c|b;if(g<<24>>24==(i[30028]|0))if((i[f+1>>0]|0)==(i[30029]|0))if((i[f+2>>0]|0)==(i[30030]|0))b=(i[f+3>>0]|0)==(i[30031]|0)?4:0;else b=0;else b=0;else b=0;b=c|b;if(g<<24>>24==(i[30032]|0))if((i[f+1>>0]|0)==(i[30033]|0))if((i[f+2>>0]|0)==(i[30034]|0))c=(i[f+3>>0]|0)==(i[30035]|0)?4:0;else c=0;else c=0;else c=0}c=b|c;if((f+5|0)>>>0<=d>>>0?g<<24>>24==(i[30036]|0):0)if((i[f+1>>0]|0)==(i[30037]|0))if((i[f+2>>0]|0)==(i[30038]|0))if((i[f+3>>0]|0)==(i[30039]|0))b=(i[e>>0]|0)==(i[30040]|0)?5:0;else b=0;else b=0;else b=0;else b=0;x=0;Ka(874,m|0,40783)|0;g=x;x=0;if(g&1)c=5;else{b=c|b;c=43}break}case 247:{if(g<<24>>24==(i[30041]|0)?(f+3|0)>>>0<=(k[a+80>>2]|0)>>>0:0)if((i[f+1>>0]|0)==(i[30042]|0))b=(i[f+2>>0]|0)==(i[30043]|0)?3:0;else b=0;else b=0;x=0;Ka(874,m|0,40789)|0;g=x;x=0;if(g&1)c=5;else c=43;break}case 221:{if(g<<24>>24==(i[30044]|0)?(f+4|0)>>>0<=(k[a+80>>2]|0)>>>0:0)if((i[f+1>>0]|0)==(i[30045]|0))if((i[f+2>>0]|0)==(i[30046]|0))b=(i[f+3>>0]|0)==(i[30047]|0)?4:0;else b=0;else b=0;else b=0;x=0;Ka(874,m|0,40795)|0;g=x;x=0;if(g&1)c=5;else c=43;break}case 14:{if(g<<24>>24==(i[30048]|0)?(f+3|0)>>>0<=(k[a+80>>2]|0)>>>0:0)if((i[f+1>>0]|0)==(i[30049]|0))b=(i[f+2>>0]|0)==(i[30050]|0)?3:0;else b=0;else b=0;x=0;Ka(874,m|0,40806)|0;g=x;x=0;if(g&1)c=5;else c=43;break}case 251:{if(g<<24>>24==(i[30051]|0)?(f+3|0)>>>0<=(k[a+80>>2]|0)>>>0:0)if((i[f+1>>0]|0)==(i[30052]|0))b=(i[f+2>>0]|0)==(i[30053]|0)?3:0;else b=0;else b=0;x=0;Ka(874,m|0,40811)|0;g=x;x=0;if(g&1)c=5;else c=43;break}case 132:{if(g<<24>>24==(i[30054]|0)?(f+4|0)>>>0<=(k[a+80>>2]|0)>>>0:0)if((i[f+1>>0]|0)==(i[30055]|0))if((i[f+2>>0]|0)==(i[30056]|0))b=(i[f+3>>0]|0)==(i[30057]|0)?4:0;else b=0;else b=0;else b=0;x=0;Ka(874,m|0,40818)|0;g=x;x=0;if(g&1)c=5;else c=43;break}default:{j=0;a=a+76|0;h=k[a>>2]|0;j=h+j|0;k[a>>2]=j;P1(m);r=l;return}}while(0);if((c|0)==5)b=mb()|0;else if((c|0)==43){if(!b){j=0;a=a+76|0;h=k[a>>2]|0;j=h+j|0;k[a>>2]=j;P1(m);r=l;return}k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;c=i[m>>0]|0;c=(c&1)==0?(c&255)>>>1:k[m+4>>2]|0;x=0;Ua(10,j|0,40827,74,c+74|0);g=x;x=0;if(!(g&1)){x=0;xa(46,j|0,((i[m>>0]&1)==0?m+1|0:k[m+8>>2]|0)|0,c|0)|0;g=x;x=0;if(!(g&1)){g=a+108|0;x=0;k[h>>2]=k[g>>2];k[h+4>>2]=k[g+4>>2];k[h+8>>2]=k[g+8>>2];Qa(135,a|0,j|0,h|0);h=x;x=0;if(h&1){l=mb()|0;P1(j);P1(m);yb(l|0)}else{P1(j);j=b;a=a+76|0;h=k[a>>2]|0;j=h+j|0;k[a>>2]=j;P1(m);r=l;return}}}b=mb()|0;P1(j)}l=b;P1(m);yb(l|0)}function Af(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;t=0;A=r;r=r+176|0;w=A+128|0;b=A+116|0;h=A+104|0;s=A+92|0;j=A+68|0;q=A+80|0;l=A+56|0;y=A+16|0;z=A;x=0;Qa(74,b|0,37420,7);p=x;x=0;a:do if(p&1)t=32;else{x=0;n=w;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));m=wa(25,b|0,a|0,d|0,w|0,f|0)|0;p=x;x=0;if(p&1){t=Eb(0)|0;P1(b);b=t;t=41;break}P1(b);x=0;Qa(74,h|0,37703,10);p=x;x=0;if(p&1)t=32;else{x=0;n=w;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));b=wa(25,h|0,a|0,d|0,w|0,f|0)|0;p=x;x=0;if(p&1){b=Eb(0)|0;P1(h);t=41;break}P1(h);x=0;sa(430,s|0,m+60|0);p=x;x=0;if(p&1)t=32;else{x=0;Ua(11,j|0,s|0,0,0);p=x;x=0;if(p&1)t=35;else{if(!(i[s>>0]&1)){i[s+1>>0]=0;i[s>>0]=0}else{i[k[s+8>>2]>>0]=0;k[s+4>>2]=0}x=0;sa(443,s|0,0);p=x;x=0;if(p&1){p=Eb(0)|0;Nba(p)}k[s>>2]=k[j>>2];k[s+4>>2]=k[j+4>>2];k[s+8>>2]=k[j+8>>2];k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;P1(j);x=0;sa(430,q|0,b+60|0);p=x;x=0;if(p&1)t=35;else{x=0;Ua(11,l|0,q|0,0,0);p=x;x=0;b:do if(!(p&1)){if(!(i[q>>0]&1)){i[q+1>>0]=0;i[q>>0]=0}else{i[k[q+8>>2]>>0]=0;k[q+4>>2]=0}x=0;sa(443,q|0,0);p=x;x=0;if(p&1){p=Eb(0)|0;Nba(p)}k[q>>2]=k[l>>2];k[q+4>>2]=k[l+4>>2];k[q+8>>2]=k[l+8>>2];k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;P1(l);b=i[s>>0]|0;j=(b&1)==0;h=j?s+1|0:k[s+8>>2]|0;b=j?(b&255)>>>1:k[s+4>>2]|0;j=i[q>>0]|0;p=(j&1)==0;a=p?q+1|0:k[q+8>>2]|0;j=p?(j&255)>>>1:k[q+4>>2]|0;c:do if(b>>>0>>0)t=29;else{if(!j)b=0;else{o=h+b|0;d=a+j|0;n=h;if((b|0)<(j|0)){t=29;break}l=o+(1-j)|0;if((l|0)==(h|0)){t=29;break}m=i[a>>0]|0;d:while(1){if((i[h>>0]|0)==m<<24>>24){b=h;j=a;do{j=j+1|0;if((j|0)==(d|0))break d;b=b+1|0}while((i[b>>0]|0)==(i[j>>0]|0))}h=h+1|0;if((h|0)==(l|0)){t=29;break c}}b=h-n|0;if((h|0)==(o|0)|(b|0)==-1){t=29;break}}x=0;h=xa(61,s|0,0,b|0)|0;p=x;x=0;if(p&1)break b;j=1;b=0;h=h+1|0}while(0);if((t|0)==29){b=c+36|0;x=0;h=Ka(856,b|0,56)|0;p=x;x=0;if(p&1)break;k[h+4>>2]=0;n=h+8|0;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;k[h>>2]=6380;k[h+52>>2]=8;x=0;b=Ka(857,b|0,h|0)|0;p=x;x=0;if(p&1)break;j=0;h=-1}P1(q);P1(s);if(j){v=e;u=h;break a}r=A;return b|0}while(0);b=Eb(0)|0;P1(q)}}if((t|0)==35)b=Eb(0)|0;P1(s);t=41}}}while(0);if((t|0)==32){b=Eb(0)|0;t=41}do if((t|0)==41){Bb(b|0)|0;x=0;sa(531,e|0,f|0);t=x;x=0;if(!(t&1)){xb();v=e;u=-1;break}b=mb()|0;x=0;pa(3);e=x;x=0;if(e&1){e=Eb(0)|0;Nba(e)}else{A=b;yb(A|0)}}while(0);b=c+36|0;h=lD(b,96)|0;n=y;o=v;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));g=+(u>>>0);lE(z,78097,0);x=0;n=w;o=y;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Fa(1,h|0,w|0,+g,z|0,1);y=x;x=0;if(!(y&1)){x=0;b=Ka(857,b|0,h|0)|0;y=x;x=0;if(!(y&1)){P1(z);z=b;r=A;return z|0}}A=mb()|0;P1(z);yb(A|0);return 0}function Bf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;B=0;v=r;r=r+192|0;C=v+168|0;c=v+156|0;n=v+140|0;o=v+128|0;t=v+152|0;p=v+80|0;w=v+44|0;A=v+32|0;z=v+20|0;u=v+8|0;q=v;y=a+396|0;b=i[y>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=k[a+400>>2]|0;if(!b){C=0;r=v;return C|0}Zz(c);x=0;Ua(16,C|0,y|0,a+4|0,c|0);l=x;x=0;if(l&1){C=mb()|0;P1(c);yb(C|0)}P1(c);x=0;b=ua(193,C|0)|0;l=x;x=0;a:do if(l&1)B=12;else{j=a+324|0;h=k[a+328>>2]|0;d=k[j>>2]|0;l=(h-d|0)/12|0;c=(b|0)==0;b:do if(c&(h|0)!=(d|0)){f=C+1|0;g=C+8|0;h=C+4|0;b=0;while(1){x=0;ra(329,o|0);e=x;x=0;if(e&1){B=11;break}x=0;Ua(16,n|0,y|0,d+(b*12|0)|0,o|0);e=x;x=0;if(e&1){B=24;break}if(!(i[C>>0]&1)){i[f>>0]=0;i[C>>0]=0}else{i[k[g>>2]>>0]=0;k[h>>2]=0}x=0;sa(443,C|0,0);e=x;x=0;if(e&1){B=20;break}k[C>>2]=k[n>>2];k[C+4>>2]=k[n+4>>2];k[C+8>>2]=k[n+8>>2];k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;P1(n);P1(o);x=0;c=ua(193,C|0)|0;e=x;x=0;if(e&1){B=11;break}e=b+1|0;b=(c|0)==0;if(!(b&e>>>0>>0)){m=b;s=c;break b}d=k[j>>2]|0;b=e}if((B|0)==11){b=mb()|0;B=13;break a}else if((B|0)==20){o=Eb(0)|0;Nba(o)}else if((B|0)==24){b=mb()|0;P1(o);break a}}else{m=c;s=b}while(0);if(m){b=vb(12)|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;c=i[y>>0]|0;c=(c&1)==0?(c&255)>>>1:k[a+400>>2]|0;x=0;Ua(10,b|0,30313,38,c+38|0);A=x;x=0;if(!(A&1)){x=0;xa(46,b|0,((i[y>>0]&1)==0?y+1|0:k[a+404>>2]|0)|0,c|0)|0;A=x;x=0;if(!(A&1)){x=0;Qa(77,b|0,952,323);x=0;B=12;break}}A=mb()|0;P1(b);lb(b|0);b=A;break}b=a+20|0;x=0;Ka(854,b|0,C|0)|0;o=x;x=0;if(o&1)B=12;else{if(!(i[y>>0]&1))c=y+1|0;else c=k[a+404>>2]|0;if(!(i[b>>0]&1))b=b+1|0;else b=k[a+28>>2]|0;x=0;b=Pa(7,c|0,b|0,s|0,0)|0;o=x;x=0;if(o&1)B=12;else{k[t>>2]=b;c=a+276|0;d=k[c>>2]|0;if((d|0)==(k[a+280>>2]|0)){x=0;sa(462,a+272|0,t|0);t=x;x=0;if(t&1){B=12;break}}else{k[d>>2]=b;k[c>>2]=(k[c>>2]|0)+4}x=0;sa(430,A|0,y|0);y=x;x=0;if(y&1)B=12;else{x=0;Qa(74,z|0,47947,1);y=x;x=0;if(y&1)b=mb()|0;else{x=0;Qa(93,w|0,A|0,z|0);y=x;x=0;if(y&1)b=mb()|0;else{x=0;sa(430,u|0,C|0);y=x;x=0;if(y&1)b=mb()|0;else{x=0;Qa(94,p|0,w|0,u|0);y=x;x=0;do if(y&1)b=mb()|0;else{k[q>>2]=s;k[q+4>>2]=0;x=0;Ua(17,a|0,p|0,q|0,0);y=x;x=0;if(y&1){b=mb()|0;P1(p+36|0);P1(p+24|0);P1(p+12|0);P1(p);break}P1(p+36|0);P1(p+24|0);P1(p+12|0);P1(p);P1(u);P1(w+24|0);P1(w+12|0);P1(w);P1(z);P1(A);x=0;b=ua(k[(k[a>>2]|0)+12>>2]|0,a|0)|0;B=x;x=0;if(B&1){B=12;break a}P1(C);C=b;r=v;return C|0}while(0);P1(u)}P1(w+24|0);P1(w+12|0);P1(w)}P1(z)}P1(A)}}}}while(0);if((B|0)==12){b=mb()|0;B=13}P1(C);C=b;yb(C|0);return 0}function Cf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;m=0;n=r;r=r+336|0;s=n+296|0;i=n+240|0;f=n+200|0;h=n+184|0;q=n+72|0;p=n+24|0;j=n+8|0;l=n;if((k[a+228>>2]|0)==(k[a+224>>2]|0)){s=0;r=n;return s|0}b=au(a+236|0,s,a+20|0)|0;b=k[b>>2]|0;if(!b){b=vb(8)|0;x=0;sa(441,b|0,34188);s=x;x=0;if(s&1){s=mb()|0;lb(b|0);yb(s|0)}else{k[b>>2]=24932;Wb(b|0,4448,308)}}g=k[b+28+8>>2]|0;if(!g){s=0;r=n;return s|0}iC(s,0);x=0;sa(459,a|0,s|0);o=x;x=0;a:do if(o&1)m=12;else{d=a+360|0;b=k[d>>2]|0;e=(k[a+364>>2]|0)-b>>2;b:do if(e|0){c=0;while(1){x=0;Qa(87,a|0,s|0,k[b+(c<<2)>>2]|0);o=x;x=0;if(o&1)break;c=c+1|0;if(c>>>0>=e>>>0)break b;b=k[d>>2]|0}b=mb()|0;break a}while(0);x=0;Ua(14,f|0,78097,0,-1);o=x;x=0;if(o&1)m=12;else{x=0;Qa(74,h|0,78097,0);o=x;x=0;if(o&1)m=12;else{k[i>>2]=0;d=i+4|0;b=f;c=d+40|0;do{k[d>>2]=k[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));o=i+44|0;x=0;sa(430,o|0,h|0);f=x;x=0;if(f&1){q=mb()|0;P1(h);p=s+20|0;iB(p);p=s+4|0;p=k[p>>2]|0;az(s,p);yb(q|0)}P1(h);x=0;Ua(15,q|0,a|0,s|0,i|0);h=x;x=0;if(h&1)b=mb()|0;else{x=0;Qa(88,p|0,a|0,i|0);i=x;x=0;if(i&1)b=mb()|0;else{x=0;b=Ka(k[(k[g>>2]|0)+36>>2]|0,g|0,q|0)|0;i=x;x=0;c:do if(i&1)m=32;else{x=0;b=ua(k[(k[b>>2]|0)+72>>2]|0,b|0)|0;i=x;x=0;if(i&1)m=32;else{x=0;b=Ka(k[(k[b>>2]|0)+36>>2]|0,b|0,p|0)|0;i=x;x=0;if(i&1)m=32;else{x=0;f=ua(k[(k[b>>2]|0)+72>>2]|0,b|0)|0;i=x;x=0;if(i&1)m=32;else{b=a+248|0;do if((k[b>>2]|0)!=(k[a+252>>2]|0)){x=0;Qa(89,j|0,a|0,b|0);i=x;x=0;if(i&1){m=32;break c}x=0;sa(k[(k[f>>2]|0)+28>>2]|0,f|0,j|0);j=x;x=0;if(j&1){b=mb()|0;break c}else break}while(0);x=0;sa(460,l|0,a|0);a=x;x=0;if(a&1)m=32;else{x=0;sa(k[(k[f>>2]|0)+28>>2]|0,f|0,l|0);a=x;x=0;if(a&1){b=mb()|0;break}k[p>>2]=9264;b=k[p+32>>2]|0;c=b;if(b|0){d=p+36|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[p+20>>2]|0;c=b;if(b|0){d=p+24|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}d=k[p+8>>2]|0;e=d;if(d|0){b=p+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-e|0)>>>2)<<2);uha(d)}ht(q);P1(o);iB(s+20|0);az(s,k[s+4>>2]|0);s=f;r=n;return s|0}}}}}while(0);if((m|0)==32)b=mb()|0;k[p>>2]=9264;c=k[p+32>>2]|0;d=c;if(c|0){e=p+36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);uha(c)}c=k[p+20>>2]|0;d=c;if(c|0){e=p+24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);uha(c)}e=k[p+8>>2]|0;f=e;if(e){c=p+12|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);uha(e)}}ht(q)}P1(o);q=b;p=s+20|0;iB(p);p=s+4|0;p=k[p>>2]|0;az(s,p);yb(q|0)}}}while(0);if((m|0)==12)b=mb()|0;q=b;p=s+20|0;iB(p);p=s+4|0;p=k[p>>2]|0;az(s,p);yb(q|0);return 0}function Df(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=0;E=r;r=r+304|0;D=E+256|0;h=E+240|0;j=E+200|0;q=E+188|0;s=E+176|0;t=E+164|0;i=E+152|0;u=E+112|0;w=E+96|0;z=E+84|0;B=E+72|0;o=E;v=E+32|0;A=E+20|0;y=E+8|0;lE(h,36999,6);x=0;b=Ka(867,a|0,h|0)|0;n=x;x=0;if(n&1){E=mb()|0;P1(h);yb(E|0)}b=k[b>>2]|0;if(!b)P1(h);else{b=Ot(b,8,432,0)|0;P1(h);if(b|0){h=c+36|0;i=lD(h,76)|0;l=j;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));_G(t,b+60|0);x=0;b=xa(50,t|0,0,37112)|0;C=x;x=0;if(C&1)b=mb()|0;else{k[s>>2]=k[b>>2];k[s+4>>2]=k[b+4>>2];k[s+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,s|0,38861)|0;C=x;x=0;if(C&1)b=mb()|0;else{k[q>>2]=k[b>>2];k[q+4>>2]=k[b+4>>2];k[q+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;l=D;m=j;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));qa(5,i|0,D|0,q|0,0,0);D=x;x=0;if(!(D&1)){x=0;b=Ka(857,h|0,i|0)|0;D=x;x=0;if(!(D&1)){P1(q);P1(s);P1(t);D=b;r=E;return D|0}}b=mb()|0;P1(q)}P1(s)}P1(t);E=b;yb(E|0)}}lE(i,36999,6);x=0;b=Ka(867,a|0,i|0)|0;t=x;x=0;if(t&1){E=mb()|0;P1(i);yb(E|0)}b=k[b>>2]|0;if(!b){P1(i);h=c+36|0}else{b=Ot(b,8,392,0)|0;P1(i);i=c+36|0;if(!b)h=i;else{h=lD(i,76)|0;l=u;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));C=k[(k[b>>2]|0)+20>>2]|0;y=k[c+16>>2]|0;A=k[y+4>>2]|0;e=o;k[e>>2]=k[y>>2];k[e+4>>2]=A;k[D>>2]=k[o>>2];k[D+4>>2]=k[o+4>>2];Pc[C&255](B,b,D);x=0;b=xa(50,B|0,0,37119)|0;C=x;x=0;if(C&1)b=mb()|0;else{k[z>>2]=k[b>>2];k[z+4>>2]=k[b+4>>2];k[z+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,z|0,38861)|0;C=x;x=0;if(C&1)b=mb()|0;else{k[w>>2]=k[b>>2];k[w+4>>2]=k[b+4>>2];k[w+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;l=D;m=u;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));qa(5,h|0,D|0,w|0,0,0);D=x;x=0;if(!(D&1)){x=0;b=Ka(857,i|0,h|0)|0;D=x;x=0;if(!(D&1)){P1(w);P1(z);P1(B);D=b;r=E;return D|0}}b=mb()|0;P1(w)}P1(z)}P1(B);E=b;yb(E|0)}}i=lD(h,96)|0;l=v;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));lE(A,36999,6);x=0;l=D;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));b=wa(24,A|0,a|0,d|0,D|0,f|0)|0;e=x;x=0;if(e&1)C=36;else{g=+p[b+80>>3];x=0;Qa(74,y|0,78097,0);e=x;x=0;if(e&1)C=36;else{x=0;l=D;m=v;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));Fa(1,i|0,D|0,+g,y|0,1);D=x;x=0;if(!(D&1)){x=0;b=Ka(857,h|0,i|0)|0;D=x;x=0;if(!(D&1)){P1(y);P1(A);D=b;r=E;return D|0}}b=mb()|0;P1(y)}}if((C|0)==36)b=mb()|0;P1(A);E=b;yb(E|0);return 0}function Ef(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=0;B=r;r=r+112|0;A=B;x=B+92|0;w=B+80|0;y=B+40|0;v=a+76|0;b=LD(k[v>>2]|0)|0;u=a+80|0;if((b|0)==0?1:b>>>0>(k[u>>2]|0)>>>0)b=k[v>>2]|0;t=bO(b)|0;b=t|0?t:b;a:do switch(i[b>>0]|0){case 41:case 58:case 123:case 125:case 59:{b=b+1|0;break}default:{c=Z9(b)|0;if(!c){c=i[38944]|0;if(c<<24>>24){d=b;e=38944;while(1){if((i[d>>0]|0)!=c<<24>>24)break;d=d+1|0;e=e+1|0;c=i[e>>0]|0;if(!(c<<24>>24)){b=d;break a}}c=fB(b)|0;if(!c)b=hB(b)|0;else b=c}}else b=c}}while(0);if(!((b|0)==0?1:b>>>0>(k[u>>2]|0)>>>0)){b=(k[a+40>>2]|0)+36|0;c=lD(b,84)|0;d=A;f=a+108|0;g=d+40|0;do{k[d>>2]=k[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(g|0));k[c+4>>2]=0;d=c+8|0;f=A;g=d+40|0;do{k[d>>2]=k[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(g|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;k[c+60>>2]=0;k[c+64>>2]=0;k[c+68>>2]=0;k[c>>2]=4992;k[c+56>>2]=5104;k[c+76>>2]=1;i[c+80>>0]=0;i[c+81>>0]=0;k[c+52>>2]=5;A=N4(b,c)|0;r=B;return A|0}e=ki(a)|0;b=LD(k[v>>2]|0)|0;if((b|0)==0?1:b>>>0>(k[u>>2]|0)>>>0)b=k[v>>2]|0;t=bO(b)|0;t=t|0?t:b;t=(i[t>>0]|0)==44?t+1|0:0;if((t|0)==0?1:t>>>0>(k[u>>2]|0)>>>0){A=e;r=B;return A|0}b=(k[a+40>>2]|0)+36|0;c=lD(b,84)|0;t=a+108|0;d=A;f=t;g=d+40|0;do{k[d>>2]=k[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(g|0));k[c+4>>2]=0;d=c+8|0;f=A;g=d+40|0;do{k[d>>2]=k[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(g|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;s=c+52|0;k[s>>2]=0;k[c>>2]=10312;q=c+56|0;k[q>>2]=5132;l=c+60|0;k[l>>2]=0;n=c+64|0;k[n>>2]=0;p=c+68|0;k[p>>2]=0;o=GG(8)|0;m=o;k[l>>2]=m;k[n>>2]=m;k[p>>2]=o+8;k[c>>2]=4992;k[q>>2]=5104;k[c+76>>2]=0;i[c+80>>0]=0;i[c+81>>0]=0;k[s>>2]=5;s=N4(b,c)|0;q=s+56|0;k[A>>2]=e;b=e;if(e|0){k[s+72>>2]=0;c=s+64|0;d=k[c>>2]|0;if((d|0)==(k[s+68>>2]|0))uw(s+60|0,A);else{k[d>>2]=b;k[c>>2]=(k[c>>2]|0)+4}rc[k[k[q>>2]>>2]&1023](q,e)}n=a+152|0;k[A>>2]=k[n>>2];k[A+4>>2]=k[n+4>>2];k[A+8>>2]=k[n+8>>2];b=k[v>>2]|0;o=a+84|0;k[x>>2]=k[o>>2];k[x+4>>2]=k[o+4>>2];k[x+8>>2]=k[o+8>>2];p=a+96|0;k[w>>2]=k[p>>2];k[w+4>>2]=k[p+4>>2];k[w+8>>2]=k[p+8>>2];d=y;f=t;g=d+40|0;do{k[d>>2]=k[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(g|0));Bt(a,1,0)|0;b:do if(!(Zq(a,1,0)|0))z=22;else{h=s+72|0;j=s+64|0;l=s+68|0;m=s+60|0;while(1){b=LD(k[v>>2]|0)|0;if((b|0)==0?1:b>>>0>(k[u>>2]|0)>>>0)b=k[v>>2]|0;g=bO(b)|0;b=g|0?g:b;c:do switch(i[b>>0]|0){case 41:case 58:case 123:case 125:case 59:{b=b+1|0;break}default:{c=Z9(b)|0;if(!c){c=i[38944]|0;if(c<<24>>24){d=b;e=38944;while(1){if((i[d>>0]|0)!=c<<24>>24)break;d=d+1|0;e=e+1|0;c=i[e>>0]|0;if(!(c<<24>>24)){b=d;break c}}c=fB(b)|0;if(!c)b=hB(b)|0;else b=c}}else b=c}}while(0);if(!((b|0)==0?1:b>>>0>(k[u>>2]|0)>>>0))break b;b=ki(a)|0;k[A>>2]=b;c=b;if(b|0){k[h>>2]=0;d=k[j>>2]|0;if((d|0)==(k[l>>2]|0))uw(m,A);else{k[d>>2]=c;k[j>>2]=(k[j>>2]|0)+4}rc[k[k[q>>2]>>2]&1023](q,b)}k[A>>2]=k[n>>2];k[A+4>>2]=k[n+4>>2];k[A+8>>2]=k[n+8>>2];b=k[v>>2]|0;k[x>>2]=k[o>>2];k[x+4>>2]=k[o+4>>2];k[x+8>>2]=k[o+8>>2];k[w>>2]=k[p>>2];k[w+4>>2]=k[p+4>>2];k[w+8>>2]=k[p+8>>2];d=y;f=t;g=d+40|0;do{k[d>>2]=k[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(g|0));Bt(a,1,0)|0;if(!(Zq(a,1,0)|0)){z=22;break b}}}while(0);if((z|0)==22){d=t;f=y;g=d+40|0;do{k[d>>2]=k[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(g|0));k[n>>2]=k[A>>2];k[n+4>>2]=k[A+4>>2];k[n+8>>2]=k[A+8>>2];k[v>>2]=b;k[p>>2]=k[w>>2];k[p+4>>2]=k[w+4>>2];k[p+8>>2]=k[w+8>>2];k[o>>2]=k[x>>2];k[o+4>>2]=k[x+4>>2];k[o+8>>2]=k[x+8>>2]}A=s;r=B;return A|0}function Ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;v=0;w=r;r=r+208|0;m=w+168|0;y=w;f=w+156|0;u=w+144|0;t=w+132|0;n=w+120|0;o=w+108|0;q=w+96|0;g=b+68|0;h=b+80|0;if(!((((k[b+72>>2]|0)-(k[g>>2]|0)|0)/12|0|0)!=(((k[b+84>>2]|0)-(k[h>>2]|0)|0)/-12|0|0)?(((k[a+72>>2]|0)-(k[a+68>>2]|0)|0)/12|0|0)!=(((k[a+84>>2]|0)-(k[a+80>>2]|0)|0)/-12|0|0):0)){y=+p[a+56>>3]<+p[b+56>>3];r=w;return y|0}k[y+4>>2]=k[b+4>>2];c=y+8|0;d=b+8|0;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));e=b+48|0;l=k[e+4>>2]|0;s=y+48|0;k[s>>2]=k[e>>2];k[s+4>>2]=l;k[y>>2]=4624;s=y+56|0;l=b+56|0;k[s>>2]=k[l>>2];k[s+4>>2]=k[l+4>>2];i[s+8>>0]=i[l+8>>0]|0;l=y+68|0;x=0;sa(435,l|0,g|0);g=x;x=0;if(g&1){y=mb()|0;yb(y|0)}x=0;sa(435,y+80|0,h|0);h=x;x=0;if(h&1){g=mb()|0;f=M;c=k[l>>2]|0;if(!c){y=g;yb(y|0)}e=y+72|0;d=k[e>>2]|0;if((d|0)!=(c|0)){do{y=d+-12|0;k[e>>2]=y;P1(y);d=k[e>>2]|0}while((d|0)!=(c|0));c=k[l>>2]|0}uha(c);y=g;yb(y|0)}k[y+92>>2]=k[b+92>>2];x=0;sa(436,f|0,a|0);l=x;x=0;do if(l&1)v=31;else{x=0;Qa(73,y|0,f|0,0);l=x;x=0;if(l&1){g=mb()|0;P1(f);break}P1(f);x=0;sa(437,u|0,a|0);l=x;x=0;if(l&1)v=31;else{x=0;sa(437,t|0,y|0);l=x;x=0;if(l&1)c=mb()|0;else{x=0;sa(437,n|0,a|0);l=x;x=0;a:do if(l&1)v=34;else{x=0;sa(437,o|0,y|0);l=x;x=0;if(l&1){c=mb()|0;P1(n);break}e=j[n>>1]|0;f=(e&1)==0;d=(e&254)>>>1;g=f?d:k[n+4>>2]|0;l=i[o>>0]|0;c=(l&1)==0;e=(e&65535)>>>8&255;b:do if((g|0)==((c?(l&255)>>>1:k[o+4>>2]|0)|0)){c=c?o+1|0:k[o+8>>2]|0;if(!f){l=(tG(k[n+8>>2]|0,c,g)|0)==0;P1(o);P1(n);if(l)break;else{v=28;break}}if(!g){P1(o);P1(n);break}c:do if(e<<24>>24==(i[c>>0]|0)){e=n+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d)break;c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0))break c}P1(o);P1(n);break b}while(0);P1(o);P1(n);v=28}else{P1(o);P1(n);v=28}while(0);do if((v|0)==28){x=0;Qa(74,q|0,26481,46);o=x;x=0;if(o&1){v=34;break a}x=0;c=m;d=a+8|0;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));sa(438,q|0,m|0);o=x;x=0;if(o&1){c=mb()|0;P1(q);break a}else{P1(q);break}}while(0);g=+p[a+56>>3]<+p[s>>3];P1(t);P1(u);k[y>>2]=4624;e=y+80|0;c=k[e>>2]|0;if(c|0){f=y+84|0;d=k[f>>2]|0;if((d|0)!=(c|0)){do{v=d+-12|0;k[f>>2]=v;P1(v);d=k[f>>2]|0}while((d|0)!=(c|0));c=k[e>>2]|0}uha(c)}f=y+68|0;c=k[f>>2]|0;if(c|0){e=y+72|0;d=k[e>>2]|0;if((d|0)!=(c|0)){do{y=d+-12|0;k[e>>2]=y;P1(y);d=k[e>>2]|0}while((d|0)!=(c|0));c=k[f>>2]|0}uha(c)}y=g;r=w;return y|0}while(0);if((v|0)==34)c=mb()|0;P1(t)}P1(u);g=c}}while(0);if((v|0)==31)g=mb()|0;k[y>>2]=4624;e=y+80|0;c=k[e>>2]|0;if(c|0){f=y+84|0;d=k[f>>2]|0;if((d|0)!=(c|0)){do{w=d+-12|0;k[f>>2]=w;P1(w);d=k[f>>2]|0}while((d|0)!=(c|0));c=k[e>>2]|0}uha(c)}f=y+68|0;c=k[f>>2]|0;if(!c)yb(g|0);e=y+72|0;d=k[e>>2]|0;if((d|0)!=(c|0)){do{y=d+-12|0;k[e>>2]=y;P1(y);d=k[e>>2]|0}while((d|0)!=(c|0));c=k[f>>2]|0}uha(c);yb(g|0);return 0}function Gf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;J=Sg(a,b,c,d,f)|0;r=k[e>>2]|0;u=k[d>>2]|0;do if(r>>>0>>0){A=d+4|0;z=e+4|0;B=A;x=z;C=d+8|0;y=e+8|0;z=k[z>>2]|0;A=k[A>>2]|0}else{if(u>>>0>>0){b=J;return b|0}v=e+8|0;q=k[v>>2]|0;f=k[d+4>>2]|0;w=d+8|0;o=k[w>>2]|0;s=f;if((f|0)==(o|0)){b=J;return b|0}p=k[e+4>>2]|0;t=p;while(1){if((p|0)==(q|0)){f=10;break}g=i[p>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:k[p+4>>2]|0;h=i[f>>0]|0;l=(h&1)==0;h=l?(h&255)>>>1:k[f+4>>2]|0;j=j?p+1|0:k[p+8>>2]|0;l=l?f+1|0:k[f+8>>2]|0;m=h>>>0>>0;R=tG(j,l,m?h:g)|0;n=g>>>0>>0;if((((R|0)==0?(n?-2147483648:0):R)|0)<0){f=10;break}R=tG(l,j,n?g:h)|0;if((((R|0)==0?(m?-2147483648:0):R)|0)<0){Q=J;f=42;break}f=f+12|0;if((f|0)==(o|0)){Q=J;f=42;break}else p=p+12|0}if((f|0)==10){B=d+4|0;x=e+4|0;C=w;y=v;z=t;A=s;break}else if((f|0)==42)return Q|0}while(0);k[d>>2]=r;k[e>>2]=u;k[B>>2]=z;k[x>>2]=A;x=k[C>>2]|0;k[C>>2]=k[y>>2];k[y>>2]=x;x=d+12|0;o=e+12|0;s=k[x>>2]|0;k[x>>2]=k[o>>2];k[o>>2]=s;o=J+1|0;s=k[d>>2]|0;t=k[c>>2]|0;do if(s>>>0>>0){E=c+4|0;F=E;G=c+8|0;D=k[B>>2]|0;E=k[E>>2]|0}else{if(t>>>0>>0){R=o;return R|0}p=k[C>>2]|0;f=k[c+4>>2]|0;u=c+8|0;q=k[u>>2]|0;v=f;if((f|0)==(q|0)){R=o;return R|0}r=k[d+4>>2]|0;w=r;while(1){if((r|0)==(p|0)){f=20;break}m=i[r>>0]|0;g=(m&1)==0;m=g?(m&255)>>>1:k[r+4>>2]|0;n=i[f>>0]|0;h=(n&1)==0;n=h?(n&255)>>>1:k[f+4>>2]|0;g=g?r+1|0:k[r+8>>2]|0;h=h?f+1|0:k[f+8>>2]|0;j=n>>>0>>0;R=tG(g,h,j?n:m)|0;l=m>>>0>>0;if((((R|0)==0?(l?-2147483648:0):R)|0)<0){f=20;break}R=tG(h,g,l?m:n)|0;if((((R|0)==0?(j?-2147483648:0):R)|0)<0){Q=o;f=42;break}f=f+12|0;if((f|0)==(q|0)){Q=o;f=42;break}else r=r+12|0}if((f|0)==20){F=c+4|0;G=u;D=w;E=v;break}else if((f|0)==42)return Q|0}while(0);k[c>>2]=s;k[d>>2]=t;k[F>>2]=D;k[B>>2]=E;y=k[G>>2]|0;k[G>>2]=k[C>>2];k[C>>2]=y;y=c+12|0;o=k[y>>2]|0;k[y>>2]=k[x>>2];k[x>>2]=o;o=J+2|0;s=k[c>>2]|0;t=k[b>>2]|0;do if(s>>>0>>0){I=b+4|0;K=I;L=b+8|0;H=k[F>>2]|0;I=k[I>>2]|0}else{if(t>>>0>>0){R=o;return R|0}p=k[G>>2]|0;f=k[b+4>>2]|0;u=b+8|0;q=k[u>>2]|0;v=f;if((f|0)==(q|0)){R=o;return R|0}r=k[c+4>>2]|0;w=r;while(1){if((r|0)==(p|0)){f=30;break}g=i[r>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:k[r+4>>2]|0;h=i[f>>0]|0;l=(h&1)==0;h=l?(h&255)>>>1:k[f+4>>2]|0;j=j?r+1|0:k[r+8>>2]|0;l=l?f+1|0:k[f+8>>2]|0;m=h>>>0>>0;R=tG(j,l,m?h:g)|0;n=g>>>0>>0;if((((R|0)==0?(n?-2147483648:0):R)|0)<0){f=30;break}R=tG(l,j,n?g:h)|0;if((((R|0)==0?(m?-2147483648:0):R)|0)<0){Q=o;f=42;break}f=f+12|0;if((f|0)==(q|0)){Q=o;f=42;break}else r=r+12|0}if((f|0)==30){K=b+4|0;L=u;H=w;I=v;break}else if((f|0)==42)return Q|0}while(0);k[b>>2]=s;k[c>>2]=t;k[K>>2]=H;k[F>>2]=I;x=k[L>>2]|0;k[L>>2]=k[G>>2];k[G>>2]=x;x=b+12|0;o=k[x>>2]|0;k[x>>2]=k[y>>2];k[y>>2]=o;o=J+3|0;s=k[b>>2]|0;t=k[a>>2]|0;do if(s>>>0>>0){P=a+4|0;M=P;N=a+8|0;O=k[K>>2]|0;P=k[P>>2]|0}else{if(t>>>0>>0){R=o;return R|0}p=k[L>>2]|0;f=k[a+4>>2]|0;u=a+8|0;q=k[u>>2]|0;v=f;if((f|0)==(q|0)){R=o;return R|0}r=k[b+4>>2]|0;w=r;while(1){if((r|0)==(p|0)){f=40;break}g=i[r>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:k[r+4>>2]|0;h=i[f>>0]|0;l=(h&1)==0;h=l?(h&255)>>>1:k[f+4>>2]|0;j=j?r+1|0:k[r+8>>2]|0;l=l?f+1|0:k[f+8>>2]|0;m=h>>>0>>0;R=tG(j,l,m?h:g)|0;n=g>>>0>>0;if((((R|0)==0?(n?-2147483648:0):R)|0)<0){f=40;break}R=tG(l,j,n?g:h)|0;if((((R|0)==0?(m?-2147483648:0):R)|0)<0){Q=o;f=42;break}f=f+12|0;if((f|0)==(q|0)){Q=o;f=42;break}else r=r+12|0}if((f|0)==40){M=a+4|0;N=u;O=w;P=v;break}else if((f|0)==42)return Q|0}while(0);k[a>>2]=s;k[b>>2]=t;k[M>>2]=O;k[K>>2]=P;b=k[N>>2]|0;k[N>>2]=k[L>>2];k[L>>2]=b;b=a+12|0;R=k[b>>2]|0;k[b>>2]=k[x>>2];k[x>>2]=R;R=J+4|0;return R|0}function Hf(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;A=r;r=r+112|0;m=A+108|0;q=A+96|0;n=A+92|0;s=A+80|0;w=A+68|0;z=A+56|0;o=A+52|0;t=A+40|0;p=A+36|0;u=A+24|0;v=A+12|0;y=A;if(a){c=aR(c,75908)|0;a=k[c>>2]|0;if(b){rc[k[a+44>>2]&1023](m,c);y=k[m>>2]|0;i[d>>0]=y;i[d+1>>0]=y>>8;i[d+2>>0]=y>>16;i[d+3>>0]=y>>24;rc[k[(k[c>>2]|0)+32>>2]&1023](q,c);if(!(i[j>>0]&1))i[j>>0]=0;else k[k[j+8>>2]>>2]=0;k[j+4>>2]=0;x=0;sa(559,j|0,0);y=x;x=0;if(y&1){y=Eb(0)|0;Nba(y)}k[j>>2]=k[q>>2];k[j+4>>2]=k[q+4>>2];k[j+8>>2]=k[q+8>>2];a=0;while(1){if((a|0)==3)break;k[q+(a<<2)>>2]=0;a=a+1|0}O1(q)}else{rc[k[a+40>>2]&1023](n,c);y=k[n>>2]|0;i[d>>0]=y;i[d+1>>0]=y>>8;i[d+2>>0]=y>>16;i[d+3>>0]=y>>24;rc[k[(k[c>>2]|0)+28>>2]&1023](s,c);if(!(i[j>>0]&1))i[j>>0]=0;else k[k[j+8>>2]>>2]=0;k[j+4>>2]=0;x=0;sa(559,j|0,0);y=x;x=0;if(y&1){y=Eb(0)|0;Nba(y)}k[j>>2]=k[s>>2];k[j+4>>2]=k[s+4>>2];k[j+8>>2]=k[s+8>>2];a=0;while(1){if((a|0)==3)break;k[s+(a<<2)>>2]=0;a=a+1|0}O1(s)}y=tc[k[(k[c>>2]|0)+12>>2]&511](c)|0;k[e>>2]=y;e=tc[k[(k[c>>2]|0)+16>>2]&511](c)|0;k[f>>2]=e;rc[k[(k[c>>2]|0)+20>>2]&1023](w,c);if(!(i[g>>0]&1)){i[g+1>>0]=0;i[g>>0]=0}else{i[k[g+8>>2]>>0]=0;k[g+4>>2]=0}x=0;sa(443,g|0,0);f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}k[g>>2]=k[w>>2];k[g+4>>2]=k[w+4>>2];k[g+8>>2]=k[w+8>>2];a=0;while(1){if((a|0)==3)break;k[w+(a<<2)>>2]=0;a=a+1|0}P1(w);rc[k[(k[c>>2]|0)+24>>2]&1023](z,c);if(!(i[h>>0]&1))i[h>>0]=0;else k[k[h+8>>2]>>2]=0;k[h+4>>2]=0;x=0;sa(559,h|0,0);f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}k[h>>2]=k[z>>2];k[h+4>>2]=k[z+4>>2];k[h+8>>2]=k[z+8>>2];a=0;while(1){if((a|0)==3)break;k[z+(a<<2)>>2]=0;a=a+1|0}O1(z);a=tc[k[(k[c>>2]|0)+36>>2]&511](c)|0}else{c=aR(c,75900)|0;a=k[c>>2]|0;if(b){rc[k[a+44>>2]&1023](o,c);z=k[o>>2]|0;i[d>>0]=z;i[d+1>>0]=z>>8;i[d+2>>0]=z>>16;i[d+3>>0]=z>>24;rc[k[(k[c>>2]|0)+32>>2]&1023](t,c);if(!(i[j>>0]&1))i[j>>0]=0;else k[k[j+8>>2]>>2]=0;k[j+4>>2]=0;x=0;sa(559,j|0,0);z=x;x=0;if(z&1){z=Eb(0)|0;Nba(z)}k[j>>2]=k[t>>2];k[j+4>>2]=k[t+4>>2];k[j+8>>2]=k[t+8>>2];a=0;while(1){if((a|0)==3)break;k[t+(a<<2)>>2]=0;a=a+1|0}O1(t)}else{rc[k[a+40>>2]&1023](p,c);z=k[p>>2]|0;i[d>>0]=z;i[d+1>>0]=z>>8;i[d+2>>0]=z>>16;i[d+3>>0]=z>>24;rc[k[(k[c>>2]|0)+28>>2]&1023](u,c);if(!(i[j>>0]&1))i[j>>0]=0;else k[k[j+8>>2]>>2]=0;k[j+4>>2]=0;x=0;sa(559,j|0,0);z=x;x=0;if(z&1){z=Eb(0)|0;Nba(z)}k[j>>2]=k[u>>2];k[j+4>>2]=k[u+4>>2];k[j+8>>2]=k[u+8>>2];a=0;while(1){if((a|0)==3)break;k[u+(a<<2)>>2]=0;a=a+1|0}O1(u)}z=tc[k[(k[c>>2]|0)+12>>2]&511](c)|0;k[e>>2]=z;e=tc[k[(k[c>>2]|0)+16>>2]&511](c)|0;k[f>>2]=e;rc[k[(k[c>>2]|0)+20>>2]&1023](v,c);if(!(i[g>>0]&1)){i[g+1>>0]=0;i[g>>0]=0}else{i[k[g+8>>2]>>0]=0;k[g+4>>2]=0}x=0;sa(443,g|0,0);f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}k[g>>2]=k[v>>2];k[g+4>>2]=k[v+4>>2];k[g+8>>2]=k[v+8>>2];a=0;while(1){if((a|0)==3)break;k[v+(a<<2)>>2]=0;a=a+1|0}P1(v);rc[k[(k[c>>2]|0)+24>>2]&1023](y,c);if(!(i[h>>0]&1))i[h>>0]=0;else k[k[h+8>>2]>>2]=0;k[h+4>>2]=0;x=0;sa(559,h|0,0);f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}k[h>>2]=k[y>>2];k[h+4>>2]=k[y+4>>2];k[h+8>>2]=k[y+8>>2];a=0;while(1){if((a|0)==3)break;k[y+(a<<2)>>2]=0;a=a+1|0}O1(y);a=tc[k[(k[c>>2]|0)+36>>2]&511](c)|0}k[l>>2]=a;r=A;return}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;c=E+60|0;d=E+48|0;D=E+72|0;t=E+36|0;v=E+24|0;u=E+12|0;w=E;e=k[a+56>>2]|0;do if(!e)d=0;else{rc[k[(k[e>>2]|0)+24>>2]&1023](d,e);x=0;Ua(11,c|0,d|0,0,0);s=x;x=0;if(!(s&1)){s=(KH(c,27455)|0)==0;P1(c);P1(d);d=s;break}E=mb()|0;P1(d);yb(E|0)}while(0);e=k[a+60>>2]|0;k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;c=(e|0)!=0;do if(d){if(c){s=e+60|0;c=k[s>>2]|0;h=(k[e+64>>2]|0)-c>>2;if(h|0){l=D+1|0;m=D+4|0;n=b+4|0;o=b+8|0;p=b+1|0;q=D+8|0;d=0;a:while(1){w=k[c+(d<<2)>>2]|0;x=0;sa(k[(k[w>>2]|0)+24>>2]|0,v|0,w|0);w=x;x=0;if(w&1){c=10;break}x=0;Ua(11,t|0,v|0,0,0);w=x;x=0;if(w&1){c=28;break}if(!(i[D>>0]&1)){i[l>>0]=0;i[D>>0]=0}else{i[k[q>>2]>>0]=0;k[m>>2]=0}x=0;sa(443,D|0,0);w=x;x=0;if(w&1){c=19;break}k[D>>2]=k[t>>2];k[D+4>>2]=k[t+4>>2];k[D+8>>2]=k[t+8>>2];k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;P1(t);P1(v);if(!(KH(D,27460)|0)){B=0;c=53;break}g=j[D>>1]|0;a=(g&1)==0;e=(g&254)>>>1;f=a?e:k[m>>2]|0;w=i[b>>0]|0;c=(w&1)==0;g=(g&65535)>>>8&255;do if((f|0)==((c?(w&255)>>>1:k[n>>2]|0)|0)){c=c?p:k[o>>2]|0;if(!a)if(!(tG(k[q>>2]|0,c,f)|0)){B=0;c=53;break a}else break;if(!f){B=0;c=53;break a}if(g<<24>>24==(i[c>>0]|0)){a=l;do{e=e+-1|0;a=a+1|0;if(!e){B=0;c=53;break a}c=c+1|0}while((i[a>>0]|0)==(i[c>>0]|0))}}while(0);d=d+1|0;if(d>>>0>=h>>>0){B=1;c=53;break}c=k[s>>2]|0}if((c|0)==10){C=mb()|0;c=12;break}else if((c|0)==19){C=Eb(0)|0;Nba(C)}else if((c|0)==28){A=mb()|0;P1(v);break}else if((c|0)==53){P1(D);r=E;return B|0}}}b=(KH(b,31219)|0)!=0;P1(D);r=E;return b|0}else{if(c){s=e+60|0;c=k[s>>2]|0;h=(k[e+64>>2]|0)-c>>2;if(h|0){l=D+1|0;m=D+4|0;n=b+4|0;o=b+8|0;p=b+1|0;q=D+8|0;d=c;c=0;b:while(1){v=k[d+(c<<2)>>2]|0;x=0;sa(k[(k[v>>2]|0)+24>>2]|0,w|0,v|0);v=x;x=0;if(v&1){c=11;break}x=0;Ua(11,u|0,w|0,0,0);v=x;x=0;if(v&1){c=50;break}if(!(i[D>>0]&1)){i[l>>0]=0;i[D>>0]=0}else{i[k[q>>2]>>0]=0;k[m>>2]=0}x=0;sa(443,D|0,0);v=x;x=0;if(v&1){c=41;break}k[D>>2]=k[u>>2];k[D+4>>2]=k[u+4>>2];k[D+8>>2]=k[u+8>>2];k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;P1(u);P1(w);if(!(KH(D,27460)|0)){B=1;c=53;break}g=j[D>>1]|0;a=(g&1)==0;e=(g&254)>>>1;f=a?e:k[m>>2]|0;v=i[b>>0]|0;d=(v&1)==0;g=(g&65535)>>>8&255;do if((f|0)==((d?(v&255)>>>1:k[n>>2]|0)|0)){d=d?p:k[o>>2]|0;if(!a)if(!(tG(k[q>>2]|0,d,f)|0)){B=1;c=53;break b}else break;if(!f){B=1;c=53;break b}if(g<<24>>24==(i[d>>0]|0)){a=l;do{e=e+-1|0;a=a+1|0;if(!e){B=1;c=53;break b}d=d+1|0}while((i[a>>0]|0)==(i[d>>0]|0))}}while(0);c=c+1|0;if(c>>>0>=h>>>0){B=0;c=53;break}d=k[s>>2]|0}if((c|0)==11){C=mb()|0;c=12;break}else if((c|0)==41){C=Eb(0)|0;Nba(C)}else if((c|0)==50){A=mb()|0;P1(w);break}else if((c|0)==53){P1(D);r=E;return B|0}}}b=(KH(b,31219)|0)==0;P1(D);r=E;return b|0}while(0);if((c|0)==12)A=C;P1(D);E=A;yb(E|0);return 0}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;q=0;w=r;r=r+192|0;p=w+180|0;s=w+176|0;e=w+164|0;g=w+148|0;l=w+160|0;t=w+136|0;f=w+64|0;o=w+80|0;j=w+24|0;m=w+12|0;n=w;v=a+8|0;h=k[(k[v>>2]|0)+16>>2]|0;u=k[h>>2]|0;k[h>>2]=0;h=k[b+64>>2]|0;h=Jc[k[(k[h>>2]|0)+40>>2]&1023](h,a)|0;a=a+4|0;c=IN(k[a>>2]|0)|0;lE(e,32111,8);x=0;d=Ka(881,c|0,e|0)|0;y=x;x=0;if(y&1){y=mb()|0;P1(e);yb(y|0)}P1(e);if(d){lE(g,32111,8);x=0;a=Ka(867,c|0,g|0)|0;y=x;x=0;if(y&1){y=mb()|0;P1(g);yb(y|0)}c=k[a>>2]|0;P1(g);c=k[c+96>>2]|0;d=Rda(c)|0;k[l>>2]=16480;x=0;e=Ka(882,1,0)|0;y=x;x=0;if(!(y&1)){x=0;a=Ka(k[(k[h>>2]|0)+52>>2]|0,h|0,l|0)|0;y=x;x=0;if(!(y&1)){x=0;Qa(105,e|0,0,a|0);y=x;x=0;if(!(y&1)){x=0;a=xa(d|0,e|0,c|0,k[(k[v>>2]|0)+284>>2]|0)|0;y=x;x=0;if(!(y&1)){k[k[(k[v>>2]|0)+16>>2]>>2]=u;x=0;ra(333,e|0);y=x;x=0;if(!(y&1)){x=0;ra(333,a|0);y=x;x=0;if(!(y&1)){r=w;return 0}}}}}}y=mb()|0;yb(y|0)}rc[k[(k[h>>2]|0)+16>>2]&1023](f,h);x=0;Ua(11,t|0,f|0,0,0);y=x;x=0;if(y&1){y=mb()|0;P1(f);yb(y|0)}P1(f);x=0;d=ua(202,k[a>>2]|0)|0;y=x;x=0;do if(y&1)q=36;else{e=j;a=b+8|0;c=e+40|0;do{k[e>>2]=k[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(c|0));x=0;Qa(74,m|0,78097,0);y=x;x=0;if(y&1)q=36;else{k[o>>2]=d;e=o+4|0;a=j;c=e+40|0;do{k[e>>2]=k[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(c|0));c=o+44|0;x=0;sa(430,c|0,m|0);y=x;x=0;if(y&1){a=mb()|0;P1(m);break}P1(m);x=0;a=xa(49,73208,32120,9)|0;y=x;x=0;a:do if(y&1)q=38;else{y=i[t>>0]|0;m=(y&1)==0;x=0;xa(49,a|0,(m?t+1|0:k[t+8>>2]|0)|0,(m?(y&255)>>>1:k[t+4>>2]|0)|0)|0;y=x;x=0;if(y&1)q=38;else{x=0;Qa(101,n|0,o|0,0);y=x;x=0;if(y&1)q=38;else{y=i[n>>0]|0;o=(y&1)==0;x=0;xa(49,73208,(o?n+1|0:k[n+8>>2]|0)|0,(o?(y&255)>>>1:k[n+4>>2]|0)|0)|0;y=x;x=0;if(y&1){a=mb()|0;P1(n);break}P1(n);x=0;a=ua(189,73208+(k[(k[18302]|0)+-12>>2]|0)|0)|0;y=x;x=0;if(y&1)q=38;else{k[p>>2]=a;x=0;a=Ka(865,p|0,74172)|0;y=x;x=0;if(!(y&1)){x=0;a=Ka(k[(k[a>>2]|0)+28>>2]|0,a|0,10)|0;y=x;x=0;if(!(y&1)){J5(p);x=0;Ka(876,73208,a|0)|0;y=x;x=0;if(y&1){q=38;break}x=0;ua(200,73208)|0;y=x;x=0;if(y&1){q=38;break}x=0;a=ua(189,73208+(k[(k[18302]|0)+-12>>2]|0)|0)|0;y=x;x=0;if(y&1){q=38;break}k[s>>2]=a;x=0;a=Ka(865,s|0,74172)|0;y=x;x=0;do if(!(y&1)){x=0;a=Ka(k[(k[a>>2]|0)+28>>2]|0,a|0,10)|0;y=x;x=0;if(y&1)break;J5(s);x=0;Ka(876,73208,a|0)|0;y=x;x=0;if(y&1){q=38;break a}x=0;ua(200,73208)|0;y=x;x=0;if(y&1){q=38;break a}k[k[(k[v>>2]|0)+16>>2]>>2]=u;P1(c);P1(t);r=w;return 0}while(0);a=mb()|0;J5(s);q=39;break}}a=mb()|0;J5(p);q=39}}}}while(0);if((q|0)==38){a=mb()|0;q=39}P1(c)}}while(0);if((q|0)==36)a=mb()|0;P1(t);y=a;yb(y|0);return 0}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=0;switch(b-a>>4|0){case 2:{s=b+-16|0;t=k[s>>2]|0;u=k[a>>2]|0;do if(t>>>0>>0){c=a+4|0;d=b+-12|0;g=c;h=d;f=a+8|0;e=b+-8|0;d=k[d>>2]|0;c=k[c>>2]|0}else{if(u>>>0>>0){b=1;return b|0}e=b+-8|0;o=k[e>>2]|0;d=k[a+4>>2]|0;f=a+8|0;p=k[f>>2]|0;c=d;if((d|0)==(p|0)){b=1;return b|0}q=k[b+-12>>2]|0;r=q;while(1){if((q|0)==(o|0)){B=11;break}g=i[q>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:k[q+4>>2]|0;h=i[d>>0]|0;l=(h&1)==0;h=l?(h&255)>>>1:k[d+4>>2]|0;j=j?q+1|0:k[q+8>>2]|0;l=l?d+1|0:k[d+8>>2]|0;m=h>>>0>>0;B=tG(j,l,m?h:g)|0;n=g>>>0>>0;if((((B|0)==0?(n?-2147483648:0):B)|0)<0){B=11;break}B=tG(l,j,n?g:h)|0;if((((B|0)==0?(m?-2147483648:0):B)|0)<0){c=1;B=38;break}d=d+12|0;if((d|0)==(p|0)){c=1;B=38;break}else q=q+12|0}if((B|0)==11){g=a+4|0;h=b+-12|0;d=r;break}else if((B|0)==38)return c|0}while(0);k[a>>2]=t;k[s>>2]=u;k[g>>2]=d;k[h>>2]=c;B=k[f>>2]|0;k[f>>2]=k[e>>2];k[e>>2]=B;B=a+12|0;b=b+-4|0;a=k[B>>2]|0;k[B>>2]=k[b>>2];k[b>>2]=a;b=1;return b|0}case 3:{Nf(a,a+16|0,b+-16|0,c)|0;b=1;return b|0}case 4:{Sg(a,a+16|0,a+32|0,b+-16|0,c)|0;b=1;return b|0}case 5:{Gf(a,a+16|0,a+32|0,a+48|0,b+-16|0,c)|0;b=1;return b|0}case 1:case 0:{b=1;return b|0}default:{e=a+32|0;Nf(a,a+16|0,e,c)|0;d=a+48|0;a:do if((d|0)==(b|0)){d=1;c=0}else{c=0;A=d;while(1){z=k[A>>2]|0;t=k[e>>2]|0;b:do if(z>>>0>>0){r=A+8|0;d=r;r=k[r>>2]|0;s=k[A+4>>2]|0;B=26}else if(t>>>0>=z>>>0){d=A+8|0;p=k[d>>2]|0;f=k[e+4>>2]|0;q=k[e+8>>2]|0;r=p;if((f|0)!=(q|0)){o=k[A+4>>2]|0;s=o;while(1){if((o|0)==(p|0)){B=26;break b}g=i[o>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:k[o+4>>2]|0;h=i[f>>0]|0;l=(h&1)==0;h=l?(h&255)>>>1:k[f+4>>2]|0;j=j?o+1|0:k[o+8>>2]|0;l=l?f+1|0:k[f+8>>2]|0;m=h>>>0>>0;y=tG(j,l,m?h:g)|0;n=g>>>0>>0;if((((y|0)==0?(n?-2147483648:0):y)|0)<0){B=26;break b}y=tG(l,j,n?g:h)|0;if((((y|0)==0?(m?-2147483648:0):y)|0)<0)break b;f=f+12|0;if((f|0)==(q|0))break;else o=o+12|0}}}while(0);if((B|0)==26){B=0;w=A+12|0;y=k[w>>2]|0;k[w>>2]=0;k[d>>2]=0;k[A+4>>2]=0;w=r;x=s;k[A>>2]=t;d=e+4|0;g=e+8|0;f=k[g>>2]|0;k[A+4>>2]=k[d>>2];k[A+8>>2]=f;f=e+12|0;k[A+12>>2]=k[f>>2];k[f>>2]=0;k[g>>2]=0;k[d>>2]=0;c:do if((e|0)!=(a|0)){v=e;while(1){e=v+-16|0;q=k[e>>2]|0;d:do if(z>>>0>=q>>>0){if(q>>>0>>0){e=v;break c}h=k[v+-12>>2]|0;t=k[v+-8>>2]|0;if((h|0)==(t|0)){e=v;break c}else u=x;while(1){if((u|0)==(w|0))break d;j=i[u>>0]|0;m=(j&1)==0;j=m?(j&255)>>>1:k[u+4>>2]|0;l=i[h>>0]|0;n=(l&1)==0;l=n?(l&255)>>>1:k[h+4>>2]|0;m=m?u+1|0:k[u+8>>2]|0;n=n?h+1|0:k[h+8>>2]|0;o=l>>>0>>0;C=tG(m,n,o?l:j)|0;p=j>>>0>>0;if((((C|0)==0?(p?-2147483648:0):C)|0)<0)break d;C=tG(n,m,p?j:l)|0;if((((C|0)==0?(o?-2147483648:0):C)|0)<0){e=v;break c}h=h+12|0;if((h|0)==(t|0)){e=v;break c}else u=u+12|0}}while(0);k[v>>2]=q;d=v+-12|0;g=v+-8|0;f=k[g>>2]|0;k[v+4>>2]=k[d>>2];k[v+8>>2]=f;f=v+-4|0;k[v+12>>2]=k[f>>2];k[f>>2]=0;k[g>>2]=0;k[d>>2]=0;if((e|0)==(a|0))break;else v=e}}while(0);k[e>>2]=z;k[d>>2]=s;k[g>>2]=r;k[f>>2]=y;c=c+1|0;if((c|0)==8){d=0;c=(A+16|0)==(b|0);break a}}d=A+16|0;if((d|0)==(b|0)){d=1;c=0;break}else{e=A;A=d}}}while(0);C=d|c;return C|0}}return 0}function Lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=0;a:while(1){l=b;m=b+-4|0;b:while(1){j=a;d=l-j|0;e=d>>2;switch(e|0){case 2:{d=m;b=m;n=4;break a}case 3:{g=m;f=m;n=6;break a}case 4:{b=m;n=14;break a}case 5:{g=m;f=m;n=15;break a}case 1:case 0:{n=69;break a}default:{}}if((d|0)<124){n=21;break a}i=a+(((e|0)/2|0)<<2)|0;do if((d|0)>3996){d=(e|0)/4|0;g=a+(d<<2)|0;d=i+(d<<2)|0;e=wt(a,g,i,d,c)|0;if(Jc[k[c>>2]&1023](m,d)|0){f=k[d>>2]|0;k[d>>2]=k[m>>2];k[m>>2]=f;f=e+1|0;if(Jc[k[c>>2]&1023](d,i)|0){h=k[i>>2]|0;k[i>>2]=k[d>>2];k[d>>2]=h;d=e+2|0;if(Jc[k[c>>2]&1023](i,g)|0){h=k[g>>2]|0;k[g>>2]=k[i>>2];k[i>>2]=h;if(Jc[k[c>>2]&1023](g,a)|0){h=k[a>>2]|0;k[a>>2]=k[g>>2];k[g>>2]=h;e=e+4|0}else e=e+3|0}else e=d}else e=f}}else{h=Jc[k[c>>2]&1023](i,a)|0;d=Jc[k[c>>2]&1023](m,i)|0;if(!h){if(!d){e=0;break}h=k[i>>2]|0;k[i>>2]=k[m>>2];k[m>>2]=h;if(!(Jc[k[c>>2]&1023](i,a)|0)){e=1;break}e=k[a>>2]|0;k[a>>2]=k[i>>2];k[i>>2]=e;e=2;break}e=k[a>>2]|0;if(d){k[a>>2]=k[m>>2];k[m>>2]=e;e=1;break}k[a>>2]=k[i>>2];k[i>>2]=e;if(Jc[k[c>>2]&1023](m,i)|0){e=k[i>>2]|0;k[i>>2]=k[m>>2];k[m>>2]=e;e=2}else e=1}while(0);do if(Jc[k[c>>2]&1023](a,i)|0)f=m;else{d=m;while(1){d=d+-4|0;if((a|0)==(d|0))break;if(Jc[k[c>>2]&1023](d,i)|0){n=51;break}}if((n|0)==51){n=0;f=k[a>>2]|0;k[a>>2]=k[d>>2];k[d>>2]=f;f=d;e=e+1|0;break}d=a+4|0;if(!(Jc[k[c>>2]&1023](a,m)|0)){if((d|0)==(m|0)){n=69;break a}while(1){if(Jc[k[c>>2]&1023](a,d)|0)break;d=d+4|0;if((d|0)==(m|0)){n=69;break a}}j=k[d>>2]|0;k[d>>2]=k[m>>2];k[m>>2]=j;d=d+4|0}if((d|0)==(m|0)){n=69;break a}else e=m;while(1){f=d;while(1){d=f+4|0;if(Jc[k[c>>2]&1023](a,f)|0)break;else f=d}do e=e+-4|0;while(Jc[k[c>>2]&1023](a,e)|0);if(f>>>0>=e>>>0){a=f;continue b}j=k[f>>2]|0;k[f>>2]=k[e>>2];k[e>>2]=j}}while(0);d=a+4|0;c:do if(d>>>0>>0){h=f;while(1){f=d;while(1){d=f+4|0;if(Jc[k[c>>2]&1023](f,i)|0)f=d;else{g=f;break}}f=h;do f=f+-4|0;while(!(Jc[k[c>>2]&1023](f,i)|0));if(g>>>0>f>>>0){d=g;f=i;break c}h=k[g>>2]|0;k[g>>2]=k[f>>2];k[f>>2]=h;h=f;i=(i|0)==(g|0)?f:i;e=e+1|0}}else f=i;while(0);if((d|0)!=(f|0))if(Jc[k[c>>2]&1023](f,d)|0){i=k[d>>2]|0;k[d>>2]=k[f>>2];k[f>>2]=i;e=e+1|0}if(!e){e=ui(a,d,c)|0;f=d+4|0;if(ui(f,b,c)|0){n=68;break}if(e){a=f;continue}}i=d;if((i-j|0)>=(l-i|0)){n=67;break}Lf(a,d,c);a=d+4|0}if((n|0)==67){n=0;Lf(d+4|0,b,c);b=d;continue}else if((n|0)==68){n=0;if(e){n=69;break}else{b=d;continue}}}if((n|0)==4){if(!(Jc[k[c>>2]&1023](d,a)|0))return;c=k[a>>2]|0;k[a>>2]=k[b>>2];k[b>>2]=c;return}else if((n|0)==6){e=a+4|0;n=Jc[k[c>>2]&1023](e,a)|0;b=Jc[k[c>>2]&1023](g,e)|0;if(!n){if(!b)return;n=k[e>>2]|0;k[e>>2]=k[f>>2];k[f>>2]=n;if(!(Jc[k[c>>2]&1023](e,a)|0))return;c=k[a>>2]|0;k[a>>2]=k[e>>2];k[e>>2]=c;return}d=k[a>>2]|0;if(b){k[a>>2]=k[f>>2];k[f>>2]=d;return}k[a>>2]=k[e>>2];k[e>>2]=d;if(!(Jc[k[c>>2]&1023](g,e)|0))return;c=k[e>>2]|0;k[e>>2]=k[f>>2];k[f>>2]=c;return}else if((n|0)==14){wt(a,a+4|0,a+8|0,b,c)|0;return}else if((n|0)==15){b=a+4|0;d=a+8|0;e=a+12|0;wt(a,b,d,e,c)|0;if(!(Jc[k[c>>2]&1023](g,e)|0))return;n=k[e>>2]|0;k[e>>2]=k[f>>2];k[f>>2]=n;if(!(Jc[k[c>>2]&1023](e,d)|0))return;n=k[d>>2]|0;k[d>>2]=k[e>>2];k[e>>2]=n;if(!(Jc[k[c>>2]&1023](d,b)|0))return;n=k[b>>2]|0;k[b>>2]=k[d>>2];k[d>>2]=n;if(!(Jc[k[c>>2]&1023](b,a)|0))return;c=k[a>>2]|0;k[a>>2]=k[b>>2];k[b>>2]=c;return}else if((n|0)==21){jt(a,b,c);return}else if((n|0)==69)return}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=0;h=r;r=r+16|0;j=h;c=k[a+28>>2]|0;if((c|0)==(k[a+24>>2]|0))g=0;else g=k[c+-4>>2]|0;_G(j,b+64|0);c=(i[b+80>>0]|0)!=0;a:do if(!(i[b+81>>0]|0)){if(!c){c=k[b+76>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a+8|0)|0;a=x;x=0;if(a&1){e=10;break}x=0;Qa(104,g|0,j|0,c|0);a=x;x=0;if(a&1){e=10;break}P1(j);r=h;return 0}x=0;c=Ka(879,g|0,j|0)|0;f=x;x=0;if(f&1)e=10;else{if(!c){x=0;c=Ka(877,g|0,j|0)|0;f=x;x=0;if(f&1){e=10;break}if(!c){x=0;f=ua(201,g|0)|0;e=x;x=0;if(e&1){e=10;break}d=k[b+76>>2]|0;e=k[(k[d>>2]|0)+40>>2]|0;c=a+8|0;if(f){x=0;c=Ka(e|0,d|0,c|0)|0;a=x;x=0;if(a&1){e=10;break}x=0;Qa(103,g|0,j|0,c|0);a=x;x=0;if(a&1){e=10;break}P1(j);r=h;return 0}else{x=0;c=Ka(e|0,d|0,c|0)|0;a=x;x=0;if(a&1){e=10;break}x=0;Qa(103,g|0,j|0,c|0);a=x;x=0;if(a&1){e=10;break}P1(j);r=h;return 0}}x=0;c=Ka(878,g|0,j|0)|0;f=x;x=0;if(f&1){e=10;break}c=k[c>>2]|0;if(!c){P1(j);r=h;return 0}c=Ot(c,8,64,0)|0;if(c|0)if((k[c+52>>2]|0)!=8){P1(j);r=h;return 0}c=k[b+76>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a+8|0)|0;a=x;x=0;if(a&1){e=10;break}x=0;Qa(102,g|0,j|0,c|0);a=x;x=0;if(a&1){e=10;break}P1(j);r=h;return 0}b:do if(g|0){d=g;while(1){x=0;c=ua(201,d|0)|0;g=x;x=0;if(g&1){e=9;break}if(!c)break b;x=0;c=Ka(864,d|0,j|0)|0;g=x;x=0;if(g&1){e=9;break}if(c)break;d=k[d+12>>2]|0;if(!d)break b}if((e|0)==9){c=mb()|0;break a}x=0;c=Ka(880,d|0,j|0)|0;g=x;x=0;if(g&1){e=10;break a}c=k[c>>2]|0;if(!c){c=vb(8)|0;x=0;sa(444,c|0,33101);h=x;x=0;if(!(h&1)){x=0;Qa(77,c|0,4416,310);x=0;e=10;break a}h=mb()|0;lb(c|0);P1(j);yb(h|0)}c=Ot(c,8,64,0)|0;if(c|0)if((k[c+52>>2]|0)!=8){P1(j);r=h;return 0}c=k[b+76>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a+8|0)|0;a=x;x=0;if(a&1){e=10;break a}x=0;Qa(103,d|0,j|0,c|0);a=x;x=0;if(a&1){e=10;break a}P1(j);r=h;return 0}while(0);c=vb(8)|0;x=0;sa(444,c|0,33101);h=x;x=0;if(!(h&1)){x=0;Qa(77,c|0,4416,310);x=0;e=10;break}h=mb()|0;lb(c|0);P1(j);yb(h|0)}}else{if(!c){c=k[b+76>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a+8|0)|0;a=x;x=0;if(a&1){e=10;break}x=0;Qa(102,g|0,j|0,c|0);a=x;x=0;if(a&1){e=10;break}P1(j);r=h;return 0}x=0;c=Ka(877,g|0,j|0)|0;f=x;x=0;if(f&1)e=10;else{if(!c){c=k[b+76>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a+8|0)|0;a=x;x=0;if(a&1){e=10;break}x=0;Qa(102,g|0,j|0,c|0);a=x;x=0;if(a&1){e=10;break}P1(j);r=h;return 0}x=0;c=Ka(878,g|0,j|0)|0;f=x;x=0;if(f&1)e=10;else{c=k[c>>2]|0;if(c|0){c=Ot(c,8,64,0)|0;if(c|0)if((k[c+52>>2]|0)!=8){P1(j);r=h;return 0}}c=k[b+76>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a+8|0)|0;a=x;x=0;if(a&1)e=10;else{x=0;Qa(102,g|0,j|0,c|0);a=x;x=0;if(a&1)e=10;else{P1(j);r=h;return 0}}}}}while(0);if((e|0)==10)c=mb()|0;h=c;P1(j);yb(h|0);return 0}function Nf(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;r=k[b>>2]|0;w=k[a>>2]|0;a:do if(r>>>0>>0)p=1;else if(w>>>0>>0)p=0;else{n=k[b+8>>2]|0;d=k[a+4>>2]|0;o=k[a+8>>2]|0;if((d|0)==(o|0))p=0;else{m=k[b+4>>2]|0;while(1){if((m|0)==(n|0)){p=1;break a}e=i[m>>0]|0;g=(e&1)==0;e=g?(e&255)>>>1:k[m+4>>2]|0;f=i[d>>0]|0;h=(f&1)==0;f=h?(f&255)>>>1:k[d+4>>2]|0;g=g?m+1|0:k[m+8>>2]|0;h=h?d+1|0:k[d+8>>2]|0;j=f>>>0>>0;v=tG(g,h,j?f:e)|0;l=e>>>0>>0;if((((v|0)==0?(l?-2147483648:0):v)|0)<0){p=1;break a}v=tG(h,g,l?e:f)|0;if((((v|0)==0?(j?-2147483648:0):v)|0)<0){p=0;break a}d=d+12|0;if((d|0)==(o|0)){p=0;break}else m=m+12|0}}}while(0);q=k[c>>2]|0;b:do if(q>>>0>>0)d=1;else if(r>>>0>>0)d=0;else{m=k[c+8>>2]|0;d=k[b+4>>2]|0;n=k[b+8>>2]|0;if((d|0)==(n|0))d=0;else{o=k[c+4>>2]|0;while(1){if((o|0)==(m|0)){d=1;break b}e=i[o>>0]|0;g=(e&1)==0;e=g?(e&255)>>>1:k[o+4>>2]|0;f=i[d>>0]|0;h=(f&1)==0;f=h?(f&255)>>>1:k[d+4>>2]|0;g=g?o+1|0:k[o+8>>2]|0;h=h?d+1|0:k[d+8>>2]|0;j=f>>>0>>0;v=tG(g,h,j?f:e)|0;l=e>>>0>>0;if((((v|0)==0?(l?-2147483648:0):v)|0)<0){d=1;break b}v=tG(h,g,l?e:f)|0;if((((v|0)==0?(j?-2147483648:0):v)|0)<0){d=0;break b}d=d+12|0;if((d|0)==(n|0)){d=0;break}else o=o+12|0}}}while(0);if(!p){if(!d){b=0;return b|0}k[b>>2]=q;k[c>>2]=r;u=b+4|0;v=c+4|0;w=k[u>>2]|0;k[u>>2]=k[v>>2];k[v>>2]=w;v=b+8|0;w=c+8|0;p=k[v>>2]|0;k[v>>2]=k[w>>2];k[w>>2]=p;w=b+12|0;p=c+12|0;q=k[w>>2]|0;k[w>>2]=k[p>>2];k[p>>2]=q;p=k[b>>2]|0;q=k[a>>2]|0;do if(p>>>0>>0){E=a+4|0;B=E;C=a+8|0;D=k[u>>2]|0;E=k[E>>2]|0}else{if(q>>>0

>>0){b=1;return b|0}m=k[v>>2]|0;d=k[a+4>>2]|0;r=a+8|0;n=k[r>>2]|0;s=d;if((d|0)==(n|0)){b=1;return b|0}o=k[b+4>>2]|0;t=o;while(1){if((o|0)==(m|0)){d=28;break}e=i[o>>0]|0;g=(e&1)==0;e=g?(e&255)>>>1:k[o+4>>2]|0;f=i[d>>0]|0;h=(f&1)==0;f=h?(f&255)>>>1:k[d+4>>2]|0;g=g?o+1|0:k[o+8>>2]|0;h=h?d+1|0:k[d+8>>2]|0;j=f>>>0>>0;c=tG(g,h,j?f:e)|0;l=e>>>0>>0;if((((c|0)==0?(l?-2147483648:0):c)|0)<0){d=28;break}c=tG(h,g,l?e:f)|0;if((((c|0)==0?(j?-2147483648:0):c)|0)<0){F=1;d=43;break}d=d+12|0;if((d|0)==(n|0)){F=1;d=43;break}else o=o+12|0}if((d|0)==28){B=a+4|0;C=r;D=t;E=s;break}else if((d|0)==43)return F|0}while(0);k[a>>2]=p;k[b>>2]=q;k[B>>2]=D;k[u>>2]=E;F=k[C>>2]|0;k[C>>2]=k[v>>2];k[v>>2]=F;F=a+12|0;b=k[F>>2]|0;k[F>>2]=k[w>>2];k[w>>2]=b;b=2;return b|0}if(d){k[a>>2]=q;k[c>>2]=w;F=a+4|0;E=c+4|0;b=k[F>>2]|0;k[F>>2]=k[E>>2];k[E>>2]=b;E=a+8|0;b=c+8|0;F=k[E>>2]|0;k[E>>2]=k[b>>2];k[b>>2]=F;a=a+12|0;b=c+12|0;F=k[a>>2]|0;k[a>>2]=k[b>>2];k[b>>2]=F;b=1;return b|0}k[a>>2]=r;k[b>>2]=w;v=a+4|0;u=b+4|0;t=k[v>>2]|0;k[v>>2]=k[u>>2];k[u>>2]=t;t=a+8|0;v=b+8|0;s=k[t>>2]|0;k[t>>2]=k[v>>2];k[v>>2]=s;a=a+12|0;s=b+12|0;t=k[a>>2]|0;k[a>>2]=k[s>>2];k[s>>2]=t;t=k[c>>2]|0;do if(t>>>0>>0){z=c+4|0;x=z;y=c+8|0;z=k[z>>2]|0;A=k[u>>2]|0}else{if(w>>>0>>0){b=1;return b|0}p=c+8|0;m=k[p>>2]|0;d=k[b+4>>2]|0;n=k[v>>2]|0;q=d;if((d|0)==(n|0)){b=1;return b|0}o=k[c+4>>2]|0;r=o;while(1){if((o|0)==(m|0)){d=41;break}e=i[o>>0]|0;g=(e&1)==0;e=g?(e&255)>>>1:k[o+4>>2]|0;f=i[d>>0]|0;h=(f&1)==0;f=h?(f&255)>>>1:k[d+4>>2]|0;g=g?o+1|0:k[o+8>>2]|0;h=h?d+1|0:k[d+8>>2]|0;j=f>>>0>>0;a=tG(g,h,j?f:e)|0;l=e>>>0>>0;if((((a|0)==0?(l?-2147483648:0):a)|0)<0){d=41;break}a=tG(h,g,l?e:f)|0;if((((a|0)==0?(j?-2147483648:0):a)|0)<0){F=1;d=43;break}d=d+12|0;if((d|0)==(n|0)){F=1;d=43;break}else o=o+12|0}if((d|0)==41){x=c+4|0;y=p;z=r;A=q;break}else if((d|0)==43)return F|0}while(0);F=k[b>>2]|0;k[b>>2]=t;k[c>>2]=F;k[u>>2]=z;k[x>>2]=A;b=k[v>>2]|0;k[v>>2]=k[y>>2];k[y>>2]=b;b=c+12|0;F=k[s>>2]|0;k[s>>2]=k[b>>2];k[b>>2]=F;b=2;return b|0}function Of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;q=0;y=r;r=r+16|0;n=y+8|0;j=y+4|0;m=y;w=a+8|0;d=k[w>>2]|0;u=a+4|0;f=k[u>>2]|0;i=(d|0)==(f|0);e=(i&1)+b|0;e=(((e>>>0)%170|0|0)!=0&1)+((e>>>0)/170|0)|0;h=d-f>>2;v=a+16|0;b=k[v>>2]|0;p=((((h|0)==0?0:(h*170|0)+-1|0)-((k[a+20>>2]|0)+b)|0)>>>0)/170|0;p=e>>>0

>>0?e:p;l=e-p|0;if((e|0)==(p|0)){k[v>>2]=(e*170|0)+b;if(!e){r=y;return}b=d+-4|0;k[n>>2]=k[b>>2];k[w>>2]=b;xu(a,n);b=e+-1|0;if(!b){r=y;return}do{v=(k[w>>2]|0)+-4|0;k[n>>2]=k[v>>2];k[w>>2]=v;xu(a,n);b=b+-1|0}while((b|0)!=0);r=y;return}t=a+12|0;d=k[a>>2]|0;g=(k[t>>2]|0)-d|0;if(l>>>0<=((g>>2)-h|0)>>>0){a:do if((f|0)==(d|0)){c=l;q=7}else{c=l;while(1){d=GG(4080)|0;k[j>>2]=d;yu(a,j);c=c+-1|0;d=k[u>>2]|0;b=(k[v>>2]|0)+170+((((k[w>>2]|0)-d|0)==4)<<31>>31)|0;k[v>>2]=b;if(!c){c=b;b=p;break a}if((d|0)==(k[a>>2]|0)){q=7;break}}}while(0);if((q|0)==7)if(!c){c=b;b=p}else{b=p;do{u=GG(4080)|0;k[m>>2]=u;ru(a,m);c=c+-1|0;b=b+1|0}while((c|0)!=0);c=k[v>>2]|0}k[v>>2]=c+(b*170|0);if(!b){r=y;return}do{v=(k[w>>2]|0)+-4|0;k[n>>2]=k[v>>2];k[w>>2]=v;xu(a,n);b=b+-1|0}while((b|0)!=0);r=y;return}s=(e*170|0)+(i<<31>>31)|0;b=g>>1;q=h+l|0;b=b>>>0>>0?q:b;if(!b)f=0;else f=GG(b<<2)|0;d=f;e=d;m=d;h=f+(b<<2)|0;b:while(1){x=0;b=ua(186,4080)|0;q=x;x=0;if(q&1){b=m;q=30;break}n=b;j=d;g=d;do if((j|0)==(h|0)){g=m;if(g>>>0>e>>>0){f=g+((((m-e>>2)+1|0)/-2|0)<<2)|0;d=d-m|0;VH(f|0,m|0,d|0)|0;d=f+(d>>2<<2)|0;g=d;b=e;break}h=h-e>>1;h=(h|0)==0?1:h;x=0;i=ua(186,h<<2|0)|0;q=x;x=0;if(q&1){b=m;q=30;break b}b=i;d=i+(h>>>2<<2)|0;f=d;i=i+(h<<2)|0;if((g|0)==(j|0))d=f;else{h=d;d=f;do{k[h>>2]=k[g>>2];h=d+4|0;d=h;g=g+4|0}while((g|0)!=(j|0))}g=d;if(!e)h=i;else{uha(e);h=i}}else{b=e;f=m}while(0);k[g>>2]=n;d=d+4|0;l=l+-1|0;if(!l){e=h;q=19;break}else{e=b;m=f}}if((q|0)==19){c=k[w>>2]|0;c:do if(!p)q=45;else{m=p;d:while(1){l=c+-4|0;j=d;c=d;do if((j|0)==(e|0)){h=f;if(h>>>0>b>>>0){p=h+((((f-b>>2)+1|0)/-2|0)<<2)|0;d=d-f|0;VH(p|0,f|0,d|0)|0;d=p+(d>>2<<2)|0;c=d;f=p;break}c=e-b>>1;c=(c|0)==0?1:c;x=0;d=ua(186,c<<2|0)|0;p=x;x=0;if(p&1)break d;i=d;g=d+(c>>>2<<2)|0;f=g;e=d+(c<<2)|0;if((h|0)==(j|0))d=f;else{c=h;d=f;do{k[g>>2]=k[c>>2];g=d+4|0;d=g;c=c+4|0}while((c|0)!=(j|0))}c=d;if(!b)b=i;else{uha(b);b=i}}while(0);k[c>>2]=k[l>>2];d=d+4|0;c=(k[w>>2]|0)+-4|0;k[w>>2]=c;m=m+-1|0;if(!m){q=45;break c}}c=mb()|0}while(0);e:do if((q|0)==45){g=k[u>>2]|0;f:do if((g|0)!=(c|0)){l=b;g:while(1){j=d;b=d;do if((j|0)==(e|0)){i=f;if(i>>>0>l>>>0){q=i+((((f-l>>2)+1|0)/-2|0)<<2)|0;d=d-f|0;VH(q|0,f|0,d|0)|0;d=q+(d>>2<<2)|0;c=d;b=l;f=q;break}c=e-l>>1;c=(c|0)==0?1:c;x=0;d=ua(186,c<<2|0)|0;q=x;x=0;if(q&1){b=l;break g}b=d;h=d+(c>>>2<<2)|0;f=h;e=d+(c<<2)|0;if((i|0)==(j|0))d=f;else{c=i;d=f;do{k[h>>2]=k[c>>2];h=d+4|0;d=h;c=c+4|0}while((c|0)!=(j|0))}c=d;if(l)uha(l)}else{c=b;b=l}while(0);k[c>>2]=k[g>>2];d=d+4|0;g=g+4|0;if((g|0)==(k[w>>2]|0))break f;else l=b}c=mb()|0;break e}while(0);c=k[a>>2]|0;k[a>>2]=b;k[u>>2]=f;k[w>>2]=d;k[t>>2]=e;k[v>>2]=s+(k[v>>2]|0);if(!c){r=y;return}uha(c);r=y;return}while(0);o=b}else if((q|0)==30){y=Eb(0)|0;Bb(y|0)|0;if((b|0)!=(d|0))do{uha(k[b>>2]|0);b=b+4|0}while((b|0)!=(d|0));x=0;pa(4);x=0;b=mb()|0;x=0;pa(3);y=x;x=0;if(y&1){y=Eb(0)|0;Nba(y)}else{c=b;o=e}}if(!o)yb(c|0);uha(o);yb(c|0)}function Pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;n=0;l=r;r=r+96|0;j=l+92|0;h=l+88|0;g=l+84|0;q=l+72|0;p=l+60|0;c=l+36|0;o=l+48|0;d=l+12|0;m=l+24|0;e=l;Zz(q);f=k[b+12>>2]|0;s=OD(f)|0;x=0;Qa(74,c|0,f|0,s|0);s=x;x=0;if(s&1){s=mb()|0;P1(q);yb(s|0)}x=0;Ua(16,p|0,c|0,q|0,q|0);s=x;x=0;if(s&1){s=mb()|0;P1(c);P1(q);yb(s|0)}P1(c);s=OD(f)|0;x=0;Qa(74,d|0,f|0,s|0);s=x;x=0;do if(s&1)c=mb()|0;else{x=0;Ua(19,o|0,d|0,q|0,q|0);s=x;x=0;if(s&1){c=mb()|0;P1(d);break}P1(d);s=OD(f)|0;x=0;Qa(74,e|0,f|0,s|0);s=x;x=0;do if(s&1)c=mb()|0;else{x=0;Ua(22,m|0,o|0,p|0,e|0);s=x;x=0;if(s&1){c=mb()|0;P1(e);break}P1(e);x=0;c=xa(49,73208,31796,21)|0;s=x;x=0;a:do if(s&1)n=39;else{d=i[a>>0]|0;s=(d&1)==0;x=0;d=xa(49,c|0,(s?a+1|0:k[a+8>>2]|0)|0,(s?(d&255)>>>1:k[a+4>>2]|0)|0)|0;s=x;x=0;if(s&1)n=39;else{x=0;c=ua(189,d+(k[(k[d>>2]|0)+-12>>2]|0)|0)|0;s=x;x=0;if(s&1)n=39;else{k[g>>2]=c;x=0;c=Ka(865,g|0,74172)|0;s=x;x=0;if(!(s&1)){x=0;c=Ka(k[(k[c>>2]|0)+28>>2]|0,c|0,10)|0;s=x;x=0;if(!(s&1)){J5(g);x=0;Ka(876,d|0,c|0)|0;s=x;x=0;if(s&1){n=39;break}x=0;ua(200,d|0)|0;s=x;x=0;if(s&1){n=39;break}x=0;d=xa(49,73208,31818,44)|0;s=x;x=0;if(s&1){n=39;break}x=0;c=ua(189,d+(k[(k[d>>2]|0)+-12>>2]|0)|0)|0;s=x;x=0;if(s&1){n=39;break}k[h>>2]=c;x=0;c=Ka(865,h|0,74172)|0;s=x;x=0;do if(!(s&1)){x=0;c=Ka(k[(k[c>>2]|0)+28>>2]|0,c|0,10)|0;s=x;x=0;if(s&1)break;J5(h);x=0;Ka(876,d|0,c|0)|0;s=x;x=0;if(s&1){n=39;break a}x=0;ua(200,d|0)|0;s=x;x=0;if(s&1){n=39;break a}x=0;c=xa(49,73208,31863,16)|0;s=x;x=0;if(s&1){n=39;break a}x=0;c=Ka(860,c|0,(k[b>>2]|0)+1|0)|0;s=x;x=0;if(s&1){n=39;break a}x=0;c=xa(49,c|0,43239,4)|0;s=x;x=0;if(s&1){n=39;break a}d=i[m>>0]|0;s=(d&1)==0;x=0;d=xa(49,c|0,(s?m+1|0:k[m+8>>2]|0)|0,(s?(d&255)>>>1:k[m+4>>2]|0)|0)|0;s=x;x=0;if(s&1){n=39;break a}x=0;c=ua(189,d+(k[(k[d>>2]|0)+-12>>2]|0)|0)|0;s=x;x=0;if(s&1){n=39;break a}k[j>>2]=c;x=0;c=Ka(865,j|0,74172)|0;s=x;x=0;do if(!(s&1)){x=0;c=Ka(k[(k[c>>2]|0)+28>>2]|0,c|0,10)|0;s=x;x=0;if(s&1)break;J5(j);x=0;Ka(876,d|0,c|0)|0;s=x;x=0;if(s&1){n=39;break a}x=0;ua(200,d|0)|0;s=x;x=0;if(s&1){n=39;break a}P1(m);P1(o);P1(p);P1(q);r=l;return}while(0);c=mb()|0;J5(j);break a}while(0);c=mb()|0;J5(h);break}}c=mb()|0;J5(g)}}}while(0);if((n|0)==39)c=mb()|0;P1(m)}while(0);P1(o)}while(0);P1(p);s=c;P1(q);yb(s|0)}function Qf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;v=0;A=r;r=r+288|0;w=A+248|0;u=A+64|0;n=A+232|0;o=A+220|0;z=A+48|0;t=A+208|0;q=A;y=A+8|0;g=w;h=d;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));m=Tk(a,b,c,w,e)|0;a:do if((k[m+52>>2]|0)==8){s=u+64|0;e=u+8|0;k[e>>2]=8236;p=u+12|0;k[u>>2]=8440;k[s>>2]=8460;k[u+4>>2]=0;x=0;sa(452,u+64|0,p|0);l=x;x=0;if(l&1){A=mb()|0;P9(s);yb(A|0)}k[u+136>>2]=0;k[u+140>>2]=-1;k[u>>2]=8216;k[s>>2]=8256;k[e>>2]=8236;x=0;ra(324,p|0);l=x;x=0;do if(l&1)e=mb()|0;else{k[p>>2]=8272;b=u+44|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[u+60>>2]=24;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;x=0;sa(453,p|0,w|0);l=x;x=0;if(l&1){e=mb()|0;P1(w);P1(b);D2(p);break}P1(w);l=u+8|0;e=i[a>>0]|0;j=(e&1)==0;x=0;e=xa(49,l|0,(j?a+1|0:k[a+8>>2]|0)|0,(j?(e&255)>>>1:k[a+4>>2]|0)|0)|0;j=x;x=0;do if(j&1)v=20;else{x=0;e=xa(49,e|0,36945,28)|0;j=x;x=0;if(j&1)v=20;else{j=OD(c)|0;x=0;Qa(74,w|0,c|0,j|0);c=x;x=0;if(c&1)v=20;else{c=PF(w,40,0)|0;x=0;qa(4,n|0,w|0,0,c|0,w|0);c=x;x=0;if(c&1){e=mb()|0;P1(w);v=21;break}P1(w);c=i[n>>0]|0;j=(c&1)==0;x=0;e=xa(49,e|0,(j?n+1|0:k[n+8>>2]|0)|0,(j?(c&255)>>>1:k[n+4>>2]|0)|0)|0;c=x;x=0;if(!(c&1)){x=0;xa(49,e|0,44759,1)|0;c=x;x=0;if(!(c&1)){P1(n);x=0;sa(454,o|0,p|0);n=x;x=0;if(n&1){v=20;break}x=0;g=w;h=d;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));sa(438,o|0,w|0);d=x;x=0;if(d&1){e=mb()|0;P1(o);break}else{P1(o);k[u>>2]=8216;k[s>>2]=8256;k[l>>2]=8236;k[p>>2]=8272;P1(b);D2(p);P9(s);break a}}}e=mb()|0;P1(n)}}}while(0);if((v|0)==20){e=mb()|0;v=21}k[u>>2]=8216;k[s>>2]=8256;k[l>>2]=8236;k[p>>2]=8272;P1(b);D2(p);P9(s);A=e;yb(A|0)}while(0);A=e;P9(s);yb(A|0)}while(0);if(m|0){e=Ot(m,64,432,0)|0;if(e|0)i[e+57>>0]=0}e=k[(k[m>>2]|0)+20>>2]|0;s=k[f+16>>2]|0;u=k[s+4>>2]|0;v=q;k[v>>2]=k[s>>2];k[v+4>>2]=u;k[w>>2]=k[q>>2];k[w+4>>2]=k[q+4>>2];Pc[e&255](t,m,w);x=0;e=Ka(866,t|0,44289)|0;v=x;x=0;if(v&1){A=mb()|0;P1(t);yb(A|0)}k[z>>2]=k[e>>2];k[z+4>>2]=k[e+4>>2];k[z+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;P1(t);e=i[z>>0]|0;b=k[z+8>>2]|0;x=0;Ua(14,y|0,36934,0,-1);v=x;x=0;if(!(v&1)){e=(e&1)==0?z+1|0:b;x=0;g=w;h=y;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));e=Pa(10,e|0,f|0,w|0,0)|0;f=x;x=0;if(!(f&1)){b=k[e+72>>2]|0;if((k[e+76>>2]|0)==(b|0)){f=0;P1(z);r=A;return f|0}f=k[(k[(k[b>>2]|0)+76>>2]|0)+72>>2]|0;P1(z);r=A;return f|0}}A=mb()|0;P1(z);yb(A|0);return 0}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;n=0;l=r;r=r+96|0;j=l+92|0;h=l+88|0;g=l+84|0;q=l+72|0;p=l+60|0;c=l+36|0;o=l+48|0;d=l+12|0;m=l+24|0;e=l;Zz(q);f=k[b+12>>2]|0;s=OD(f)|0;x=0;Qa(74,c|0,f|0,s|0);s=x;x=0;if(s&1){s=mb()|0;P1(q);yb(s|0)}x=0;Ua(16,p|0,c|0,q|0,q|0);s=x;x=0;if(s&1){s=mb()|0;P1(c);P1(q);yb(s|0)}P1(c);s=OD(f)|0;x=0;Qa(74,d|0,f|0,s|0);s=x;x=0;do if(s&1)c=mb()|0;else{x=0;Ua(19,o|0,d|0,q|0,q|0);s=x;x=0;if(s&1){c=mb()|0;P1(d);break}P1(d);s=OD(f)|0;x=0;Qa(74,e|0,f|0,s|0);s=x;x=0;do if(s&1)c=mb()|0;else{x=0;Ua(22,m|0,o|0,p|0,e|0);s=x;x=0;if(s&1){c=mb()|0;P1(e);break}P1(e);x=0;c=xa(49,73208,32120,9)|0;s=x;x=0;a:do if(s&1)n=39;else{d=i[a>>0]|0;s=(d&1)==0;x=0;d=xa(49,c|0,(s?a+1|0:k[a+8>>2]|0)|0,(s?(d&255)>>>1:k[a+4>>2]|0)|0)|0;s=x;x=0;if(s&1)n=39;else{x=0;c=ua(189,d+(k[(k[d>>2]|0)+-12>>2]|0)|0)|0;s=x;x=0;if(s&1)n=39;else{k[g>>2]=c;x=0;c=Ka(865,g|0,74172)|0;s=x;x=0;if(!(s&1)){x=0;c=Ka(k[(k[c>>2]|0)+28>>2]|0,c|0,10)|0;s=x;x=0;if(!(s&1)){J5(g);x=0;Ka(876,d|0,c|0)|0;s=x;x=0;if(s&1){n=39;break}x=0;ua(200,d|0)|0;s=x;x=0;if(s&1){n=39;break}x=0;c=xa(49,73208,31863,16)|0;s=x;x=0;if(s&1){n=39;break}x=0;c=Ka(860,c|0,(k[b>>2]|0)+1|0)|0;s=x;x=0;if(s&1){n=39;break}x=0;c=xa(49,c|0,43239,4)|0;s=x;x=0;if(s&1){n=39;break}d=i[m>>0]|0;s=(d&1)==0;x=0;d=xa(49,c|0,(s?m+1|0:k[m+8>>2]|0)|0,(s?(d&255)>>>1:k[m+4>>2]|0)|0)|0;s=x;x=0;if(s&1){n=39;break}x=0;c=ua(189,d+(k[(k[d>>2]|0)+-12>>2]|0)|0)|0;s=x;x=0;if(s&1){n=39;break}k[h>>2]=c;x=0;c=Ka(865,h|0,74172)|0;s=x;x=0;do if(!(s&1)){x=0;c=Ka(k[(k[c>>2]|0)+28>>2]|0,c|0,10)|0;s=x;x=0;if(s&1)break;J5(h);x=0;Ka(876,d|0,c|0)|0;s=x;x=0;if(s&1){n=39;break a}x=0;ua(200,d|0)|0;s=x;x=0;if(s&1){n=39;break a}x=0;d=xa(49,73208,31959,49)|0;s=x;x=0;if(s&1){n=39;break a}x=0;c=ua(189,d+(k[(k[d>>2]|0)+-12>>2]|0)|0)|0;s=x;x=0;if(s&1){n=39;break a}k[j>>2]=c;x=0;c=Ka(865,j|0,74172)|0;s=x;x=0;do if(!(s&1)){x=0;c=Ka(k[(k[c>>2]|0)+28>>2]|0,c|0,10)|0;s=x;x=0;if(s&1)break;J5(j);x=0;Ka(876,d|0,c|0)|0;s=x;x=0;if(s&1){n=39;break a}x=0;ua(200,d|0)|0;s=x;x=0;if(s&1){n=39;break a}P1(m);P1(o);P1(p);P1(q);r=l;return}while(0);c=mb()|0;J5(j);break a}while(0);c=mb()|0;J5(h);break}}c=mb()|0;J5(g)}}}while(0);if((n|0)==39)c=mb()|0;P1(m)}while(0);P1(o)}while(0);P1(p);s=c;P1(q);yb(s|0)}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;A=r;r=r+48|0;c=A+24|0;y=A;LC(a);x=0;ra(335,c|0);z=x;x=0;if(z&1)c=mb()|0;else{x=0;sa(446,c|0,b|0);z=x;x=0;do if(z&1){e=mb()|0;b=c+20|0;c=e;e=63}else{w=c+16|0;b=c+20|0;t=y+16|0;z=y+20|0;u=a+16|0;v=a+20|0;a:while(1){c=k[w>>2]|0;d=k[b>>2]|0;if(!d){if(!(k[c+20>>2]|0)){e=74;break}}else{c3(d);s=(k[c+20>>2]|0)==0;CQ(d);if(s){e=72;break}}x=0;ra(335,y|0);s=x;x=0;if(s&1){e=61;break}do{g=k[t>>2]|0;o=k[z>>2]|0;p=(o|0)==0;if(!p)c3(o);c=k[w>>2]|0;q=k[b>>2]|0;s=(q|0)==0;if(!s)c3(q);m=k[c+16>>2]|0;l=k[(k[c+4>>2]|0)+(((m>>>0)/170|0)<<2)>>2]|0;m=(m>>>0)%170|0;i=g+8|0;e=k[i>>2]|0;j=g+4|0;d=k[j>>2]|0;B=e-d>>2;h=g+16|0;f=k[h>>2]|0;n=g+20|0;c=k[n>>2]|0;if((((B|0)==0?0:(B*170|0)+-1|0)|0)==(c+f|0)){x=0;ra(336,g|0);B=x;x=0;if(B&1){e=64;break a}c=k[n>>2]|0;f=k[h>>2]|0;e=k[i>>2]|0;d=k[j>>2]|0}c=c+f|0;if((e|0)==(d|0))d=0;else d=(k[d+(((c>>>0)/170|0)<<2)>>2]|0)+(((c>>>0)%170|0)*24|0)|0;c=l+(m*24|0)|0;B=c|0;k[d>>2]=k[B>>2];k[d+4>>2]=k[B+4>>2];k[d+8>>2]=k[B+8>>2];k[d+12>>2]=k[B+12>>2];k[d+16>>2]=k[c+16>>2];c=k[c+20>>2]|0;k[d+20>>2]=c;if(c|0)c3(c);k[n>>2]=(k[n>>2]|0)+1;if(!s)CQ(q);if(!p)CQ(o);e=k[w>>2]|0;f=k[b>>2]|0;g=(f|0)==0;if(!g)c3(f);h=e+4|0;i=e+16|0;c=k[i>>2]|0;d=k[(k[(k[h>>2]|0)+(((c>>>0)/170|0)<<2)>>2]|0)+(((c>>>0)%170|0)*24|0)+20>>2]|0;if(d){CQ(d);c=k[i>>2]|0}B=e+20|0;k[B>>2]=(k[B>>2]|0)+-1;B=c+1|0;k[i>>2]=B;if(B>>>0>339){uha(k[k[h>>2]>>2]|0);k[h>>2]=(k[h>>2]|0)+4;k[i>>2]=(k[i>>2]|0)+-170}if(!g)CQ(f);c=k[w>>2]|0;h=k[b>>2]|0;i=(h|0)==0;if(!i)c3(h);do if(!(k[c+20>>2]|0))c=0;else{c=k[t>>2]|0;f=k[z>>2]|0;g=(f|0)==0;if(!g)c3(f);B=(k[c+20>>2]|0)+-1+(k[c+16>>2]|0)|0;do if((k[(k[(k[c+4>>2]|0)+(((B>>>0)/170|0)<<2)>>2]|0)+(((B>>>0)%170|0)*24|0)+4>>2]|0)==1)c=1;else{c=k[w>>2]|0;d=k[b>>2]|0;e=(d|0)==0;if(!e)c3(d);B=k[c+16>>2]|0;c=(k[(k[(k[c+4>>2]|0)+(((B>>>0)/170|0)<<2)>>2]|0)+(((B>>>0)%170|0)*24|0)+4>>2]|0)==1;if(e)break;CQ(d)}while(0);if(g)break;CQ(f)}while(0);if(!i)CQ(h)}while(c);c=k[u>>2]|0;m=k[v>>2]|0;n=(m|0)==0;if(!n)c3(m);i=c+8|0;e=k[i>>2]|0;j=c+4|0;d=k[j>>2]|0;B=e-d>>2;g=c+16|0;h=k[g>>2]|0;l=c+20|0;f=k[l>>2]|0;if((((B|0)==0?0:(B*170|0)+-1|0)|0)==(f+h|0)){x=0;ra(336,c|0);B=x;x=0;if(B&1){e=68;break}f=k[l>>2]|0;c=k[g>>2]|0;e=k[i>>2]|0;d=k[j>>2]|0}else c=h;c=f+c|0;if((e|0)==(d|0))c=0;else c=(k[d+(((c>>>0)/170|0)<<2)>>2]|0)+(((c>>>0)%170|0)*24|0)|0;k[c>>2]=k[y>>2];k[c+4>>2]=k[y+4>>2];k[c+8>>2]=k[y+8>>2];k[c+12>>2]=k[y+12>>2];k[c+16>>2]=k[t>>2];d=k[z>>2]|0;k[c+20>>2]=d;if(d|0)c3(d);k[l>>2]=(k[l>>2]|0)+1;if(!n)CQ(m);c=k[z>>2]|0;if(c|0)CQ(c)}if((e|0)==61){c=mb()|0;e=63;break}else if((e|0)==64){c=mb()|0;if(!s)CQ(q);if(!p)CQ(o)}else if((e|0)==68){c=mb()|0;if(!n)CQ(m)}else if((e|0)==72){b=k[b>>2]|0;if(!b){r=A;return}CQ(b);r=A;return}else if((e|0)==74){r=A;return}d=k[z>>2]|0;if(d)CQ(d)}while(0);b=k[b>>2]|0;if(b)CQ(b)}b=k[a+20>>2]|0;if(!b)yb(c|0);CQ(b);yb(c|0)}function Tf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;y=0;w=r;r=r+112|0;u=w+88|0;o=w+40|0;v=w+64|0;s=w;z=w+24|0;LC(u);t=u+16|0;h=k[t>>2]|0;A=u+20|0;p=k[A>>2]|0;q=(p|0)==0;if(!q)c3(p);x=0;ra(338,o|0);n=x;x=0;a:do if(n&1){f=mb()|0;y=52}else{l=h+8|0;g=k[l>>2]|0;m=h+4|0;f=k[m>>2]|0;B=g-f>>2;i=h+16|0;j=k[i>>2]|0;n=h+20|0;e=k[n>>2]|0;do if((((B|0)==0?0:(B*170|0)+-1|0)|0)==(e+j|0)){x=0;ra(336,h|0);B=x;x=0;if(!(B&1)){e=k[n>>2]|0;h=k[i>>2]|0;g=k[l>>2]|0;f=k[m>>2]|0;break}f=mb()|0;e=k[o+20>>2]|0;if(!e){y=52;break a}CQ(e);y=52;break a}else h=j;while(0);e=e+h|0;if((g|0)==(f|0))e=0;else e=(k[f+(((e>>>0)/170|0)<<2)>>2]|0)+(((e>>>0)%170|0)*24|0)|0;k[e>>2]=k[o>>2];k[e+4>>2]=k[o+4>>2];k[e+8>>2]=k[o+8>>2];k[e+12>>2]=k[o+12>>2];m=o+16|0;k[e+16>>2]=k[m>>2];B=o+20|0;k[e+20>>2]=k[B>>2];k[m>>2]=0;k[B>>2]=0;k[n>>2]=(k[n>>2]|0)+1;if(!q)CQ(p);x=0;sa(446,u|0,b|0);B=x;x=0;if(!(B&1)){x=0;ra(335,v|0);B=x;x=0;if(!(B&1)){p=v+16|0;e=k[p>>2]|0;q=v+20|0;o=k[q>>2]|0;b=(o|0)==0;if(!b)c3(o);x=0;ra(338,s|0);B=x;x=0;b:do if(B&1){f=mb()|0;y=58}else{l=e+8|0;g=k[l>>2]|0;m=e+4|0;f=k[m>>2]|0;B=g-f>>2;i=e+16|0;j=k[i>>2]|0;n=e+20|0;h=k[n>>2]|0;do if((((B|0)==0?0:(B*170|0)+-1|0)|0)==(h+j|0)){x=0;ra(336,e|0);B=x;x=0;if(!(B&1)){h=k[n>>2]|0;e=k[i>>2]|0;g=k[l>>2]|0;f=k[m>>2]|0;break}f=mb()|0;e=k[s+20>>2]|0;if(!e){y=58;break b}CQ(e);y=58;break b}else e=j;while(0);e=h+e|0;if((g|0)==(f|0))e=0;else e=(k[f+(((e>>>0)/170|0)<<2)>>2]|0)+(((e>>>0)%170|0)*24|0)|0;k[e>>2]=k[s>>2];k[e+4>>2]=k[s+4>>2];k[e+8>>2]=k[s+8>>2];k[e+12>>2]=k[s+12>>2];m=s+16|0;k[e+16>>2]=k[m>>2];B=s+20|0;k[e+20>>2]=k[B>>2];k[m>>2]=0;k[B>>2]=0;k[n>>2]=(k[n>>2]|0)+1;if(!b)CQ(o);x=0;sa(446,v|0,c|0);B=x;x=0;if(B&1){f=mb()|0;break}k[z>>2]=0;m=z+4|0;k[m>>2]=0;k[z+8>>2]=0;x=0;Ua(27,u|0,v|0,d|0,z|0);B=x;x=0;do if(B&1){f=mb()|0;l=M}else{e=k[t>>2]|0;i=k[A>>2]|0;j=(i|0)==0;if(!j)c3(i);f=(k[e+20>>2]|0)+-1|0;e=k[p>>2]|0;g=k[q>>2]|0;h=(g|0)==0;if(!h)c3(g);x=0;Ha(3,a|0,z|0,u|0,v|0,f|0,(k[e+20>>2]|0)+-1|0,d|0);B=x;x=0;if(B&1){f=mb()|0;e=M;if(!h)CQ(g);if(j){l=e;break}CQ(i);l=e;break}if(!h)CQ(g);if(!j)CQ(i);e=k[z>>2]|0;if(e|0){f=k[m>>2]|0;if((f|0)!=(e|0)){do{g=f+-12|0;k[m>>2]=g;h=k[g>>2]|0;i=h;if(!h)f=g;else{f=f+-8|0;g=k[f>>2]|0;if((g|0)!=(h|0))k[f>>2]=g+(~((g+-4-i|0)>>>2)<<2);uha(h);f=k[m>>2]|0}}while((f|0)!=(e|0));e=k[z>>2]|0}uha(e)}e=k[q>>2]|0;if(e|0)CQ(e);e=k[A>>2]|0;if(!e){r=w;return}CQ(e);r=w;return}while(0);e=k[z>>2]|0;if(e){g=k[m>>2]|0;if((g|0)!=(e|0)){do{h=g+-12|0;k[m>>2]=h;i=k[h>>2]|0;j=i;if(!i)g=h;else{g=g+-8|0;h=k[g>>2]|0;if((h|0)!=(i|0))k[g>>2]=h+(~((h+-4-j|0)>>>2)<<2);uha(i);g=k[m>>2]|0}}while((g|0)!=(e|0));e=k[z>>2]|0}uha(e)}}while(0);if((y|0)==58)if(!b)CQ(o);e=k[q>>2]|0;if(!e)break;CQ(e);break}}f=mb()|0}while(0);if((y|0)==52)if(!q)CQ(p);e=k[A>>2]|0;if(!e)yb(f|0);CQ(e);yb(f|0)}function Uf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;v=0;A=r;r=r+288|0;w=A+248|0;u=A+64|0;n=A+232|0;o=A+220|0;z=A+48|0;t=A+208|0;q=A;y=A+8|0;g=w;h=d;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));m=Tk(a,b,c,w,e)|0;a:do if((k[m+52>>2]|0)==8){s=u+64|0;e=u+8|0;k[e>>2]=8236;p=u+12|0;k[u>>2]=8440;k[s>>2]=8460;k[u+4>>2]=0;x=0;sa(452,u+64|0,p|0);l=x;x=0;if(l&1){A=mb()|0;P9(s);yb(A|0)}k[u+136>>2]=0;k[u+140>>2]=-1;k[u>>2]=8216;k[s>>2]=8256;k[e>>2]=8236;x=0;ra(324,p|0);l=x;x=0;do if(l&1)e=mb()|0;else{k[p>>2]=8272;b=u+44|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[u+60>>2]=24;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;x=0;sa(453,p|0,w|0);l=x;x=0;if(l&1){e=mb()|0;P1(w);P1(b);D2(p);break}P1(w);l=u+8|0;e=i[a>>0]|0;j=(e&1)==0;x=0;e=xa(49,l|0,(j?a+1|0:k[a+8>>2]|0)|0,(j?(e&255)>>>1:k[a+4>>2]|0)|0)|0;j=x;x=0;do if(j&1)v=21;else{x=0;xa(49,e|0,36825,53)|0;j=x;x=0;if(j&1)v=21;else{x=0;e=xa(49,l|0,36879,54)|0;j=x;x=0;if(j&1)v=21;else{j=OD(c)|0;x=0;Qa(74,w|0,c|0,j|0);c=x;x=0;if(c&1)v=21;else{c=PF(w,40,0)|0;x=0;qa(4,n|0,w|0,0,c|0,w|0);c=x;x=0;if(c&1){e=mb()|0;P1(w);v=22;break}P1(w);c=i[n>>0]|0;j=(c&1)==0;x=0;e=xa(49,e|0,(j?n+1|0:k[n+8>>2]|0)|0,(j?(c&255)>>>1:k[n+4>>2]|0)|0)|0;c=x;x=0;if(!(c&1)){x=0;xa(49,e|0,44759,1)|0;c=x;x=0;if(!(c&1)){P1(n);x=0;sa(454,o|0,p|0);n=x;x=0;if(n&1){v=21;break}x=0;g=w;h=d;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));sa(438,o|0,w|0);d=x;x=0;if(d&1){e=mb()|0;P1(o);break}else{P1(o);k[u>>2]=8216;k[s>>2]=8256;k[l>>2]=8236;k[p>>2]=8272;P1(b);D2(p);P9(s);break a}}}e=mb()|0;P1(n)}}}}while(0);if((v|0)==21){e=mb()|0;v=22}k[u>>2]=8216;k[s>>2]=8256;k[l>>2]=8236;k[p>>2]=8272;P1(b);D2(p);P9(s);A=e;yb(A|0)}while(0);A=e;P9(s);yb(A|0)}while(0);if(m|0){e=Ot(m,64,432,0)|0;if(e|0)i[e+57>>0]=0}e=k[(k[m>>2]|0)+20>>2]|0;s=k[f+16>>2]|0;u=k[s+4>>2]|0;v=q;k[v>>2]=k[s>>2];k[v+4>>2]=u;k[w>>2]=k[q>>2];k[w+4>>2]=k[q+4>>2];Pc[e&255](t,m,w);x=0;e=Ka(866,t|0,44289)|0;v=x;x=0;if(v&1){A=mb()|0;P1(t);yb(A|0)}k[z>>2]=k[e>>2];k[z+4>>2]=k[e+4>>2];k[z+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;P1(t);e=i[z>>0]|0;b=k[z+8>>2]|0;x=0;Ua(14,y|0,36934,0,-1);v=x;x=0;if(!(v&1)){e=(e&1)==0?z+1|0:b;x=0;g=w;h=y;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));e=Pa(10,e|0,f|0,w|0,0)|0;f=x;x=0;if(!(f&1)){P1(z);r=A;return e|0}}A=mb()|0;P1(z);yb(A|0);return 0}function Vf(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;L=r;r=r+64|0;K=L+24|0;J=L;I=L+48|0;if(!d){k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[a+16>>2]=k[b+16>>2];b=k[b+20>>2]|0;k[a+20>>2]=b;if(!b){r=L;return}c3(b);r=L;return}LC(K);if(i[b>>0]|0)i[K>>0]=1;h=b+16|0;e=k[h>>2]|0;j=b+20|0;f=k[j>>2]|0;g=(f|0)==0;if(!g)c3(f);H=k[e+4>>2]|0;b=k[e+16>>2]|0;m=H+(((b>>>0)/170|0)<<2)|0;if((k[e+8>>2]|0)==(H|0))l=0;else l=(k[m>>2]|0)+(((b>>>0)%170|0)*24|0)|0;if(!g)CQ(f);f=k[h>>2]|0;g=k[j>>2]|0;h=(g|0)==0;if(!h)c3(g);b=(k[f+16>>2]|0)+(k[f+20>>2]|0)|0;e=k[f+4>>2]|0;if((k[f+8>>2]|0)==(e|0))G=0;else G=(k[e+(((b>>>0)/170|0)<<2)>>2]|0)+(((b>>>0)%170|0)*24|0)|0;if(!h)CQ(g);C=d+-1|0;D=J+16|0;E=J+20|0;F=K+16|0;H=K+20|0;b=l;a:while(1){do{if((b|0)==(G|0)){b=21;break a}if((k[b+4>>2]|0)==2){x=0;Ua(26,J|0,b|0,c|0,C|0);B=x;x=0;if(B&1){b=22;break a}if(i[b>>0]|0){i[K>>0]=1;i[J>>0]=i[b>>0]|0}e=k[D>>2]|0;A=k[E>>2]|0;B=(A|0)==0;if(!B){c3(A);CQ(A)}g=k[e+4>>2]|0;f=k[e+16>>2]|0;h=g+(((f>>>0)/170|0)<<2)|0;if((k[e+8>>2]|0)==(g|0)){e=0;z=0}else{z=f+(k[e+20>>2]|0)|0;e=(k[h>>2]|0)+(((f>>>0)%170|0)*24|0)|0;z=(k[g+(((z>>>0)/170|0)<<2)>>2]|0)+(((z>>>0)%170|0)*24|0)|0}b:while(1){do{if((e|0)==(z|0))break b;f=i[e>>0]|0;g=I;j=e+1|0;d=g+15|0;do{i[g>>0]=i[j>>0]|0;g=g+1|0;j=j+1|0}while((g|0)<(d|0));t=k[e+16>>2]|0;w=k[e+20>>2]|0;y=(w|0)==0;if(!y)c3(w);q=(i[J>>0]|0)==0?f:1;f=k[F>>2]|0;u=k[H>>2]|0;v=(u|0)==0;if(!v)c3(u);o=f+8|0;j=k[o>>2]|0;p=f+4|0;g=k[p>>2]|0;M=j-g>>2;l=f+16|0;n=k[l>>2]|0;s=f+20|0;d=k[s>>2]|0;if((((M|0)==0?0:(M*170|0)+-1|0)|0)==(d+n|0)){x=0;ra(336,f|0);M=x;x=0;if(M&1){b=54;break a}d=k[s>>2]|0;f=k[l>>2]|0;j=k[o>>2]|0;g=k[p>>2]|0}else f=n;f=d+f|0;if((j|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;i[f>>0]=q;g=f+1|0;j=I;d=g+15|0;do{i[g>>0]=i[j>>0]|0;g=g+1|0;j=j+1|0}while((g|0)<(d|0));k[f+16>>2]=t;k[f+20>>2]=w;if(!y)c3(w);k[s>>2]=(k[s>>2]|0)+1;if(!v)CQ(u);if(!y)CQ(w);e=e+24|0}while((e-(k[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=k[e>>2]|0}if(!B)CQ(A)}else{e=k[F>>2]|0;p=k[H>>2]|0;q=(p|0)==0;if(!q)c3(p);l=e+8|0;g=k[l>>2]|0;n=e+4|0;f=k[n>>2]|0;M=g-f>>2;j=e+16|0;d=k[j>>2]|0;o=e+20|0;h=k[o>>2]|0;if((((M|0)==0?0:(M*170|0)+-1|0)|0)==(h+d|0)){x=0;ra(336,e|0);M=x;x=0;if(M&1){b=71;break a}h=k[o>>2]|0;e=k[j>>2]|0;g=k[l>>2]|0;f=k[n>>2]|0}else e=d;e=h+e|0;if((g|0)==(f|0))e=0;else e=(k[f+(((e>>>0)/170|0)<<2)>>2]|0)+(((e>>>0)%170|0)*24|0)|0;k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[e+12>>2]=k[b+12>>2];k[e+16>>2]=k[b+16>>2];f=k[b+20>>2]|0;k[e+20>>2]=f;if(f|0)c3(f);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p)}b=b+24|0}while((b-(k[m>>2]|0)|0)!=4080);b=m+4|0;m=b;b=k[b>>2]|0}if((b|0)==21){k[a>>2]=k[K>>2];k[a+4>>2]=k[K+4>>2];k[a+8>>2]=k[K+8>>2];k[a+12>>2]=k[K+12>>2];k[a+16>>2]=k[K+16>>2];k[a+20>>2]=k[H>>2];r=L;return}else if((b|0)==22)e=mb()|0;else if((b|0)==54){e=mb()|0;if(!v)CQ(u);if(!y)CQ(w);if(!B)CQ(A)}else if((b|0)==71){e=mb()|0;if(!q)CQ(p)}b=k[H>>2]|0;if(!b)yb(e|0);CQ(b);yb(e|0)}function Wf(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;y=r;r=r+112|0;m=y+100|0;o=y+88|0;q=y+76|0;t=y+64|0;v=y+52|0;n=y+48|0;p=y+36|0;s=y+24|0;u=y+12|0;w=y;if(a){b=aR(b,75892)|0;rc[k[(k[b>>2]|0)+44>>2]&1023](m,b);w=k[m>>2]|0;i[c>>0]=w;i[c+1>>0]=w>>8;i[c+2>>0]=w>>16;i[c+3>>0]=w>>24;rc[k[(k[b>>2]|0)+32>>2]&1023](o,b);if(!(i[j>>0]&1)){i[j+1>>0]=0;i[j>>0]=0}else{i[k[j+8>>2]>>0]=0;k[j+4>>2]=0}x=0;sa(443,j|0,0);w=x;x=0;if(w&1){w=Eb(0)|0;Nba(w)}k[j>>2]=k[o>>2];k[j+4>>2]=k[o+4>>2];k[j+8>>2]=k[o+8>>2];a=0;while(1){if((a|0)==3)break;k[o+(a<<2)>>2]=0;a=a+1|0}P1(o);rc[k[(k[b>>2]|0)+28>>2]&1023](q,b);if(!(i[h>>0]&1)){i[h+1>>0]=0;i[h>>0]=0}else{i[k[h+8>>2]>>0]=0;k[h+4>>2]=0}x=0;sa(443,h|0,0);w=x;x=0;if(w&1){w=Eb(0)|0;Nba(w)}k[h>>2]=k[q>>2];k[h+4>>2]=k[q+4>>2];k[h+8>>2]=k[q+8>>2];a=0;while(1){if((a|0)==3)break;k[q+(a<<2)>>2]=0;a=a+1|0}P1(q);w=tc[k[(k[b>>2]|0)+12>>2]&511](b)|0;i[d>>0]=w;d=tc[k[(k[b>>2]|0)+16>>2]&511](b)|0;i[e>>0]=d;rc[k[(k[b>>2]|0)+20>>2]&1023](t,b);if(!(i[f>>0]&1)){i[f+1>>0]=0;i[f>>0]=0}else{i[k[f+8>>2]>>0]=0;k[f+4>>2]=0}x=0;sa(443,f|0,0);e=x;x=0;if(e&1){e=Eb(0)|0;Nba(e)}k[f>>2]=k[t>>2];k[f+4>>2]=k[t+4>>2];k[f+8>>2]=k[t+8>>2];a=0;while(1){if((a|0)==3)break;k[t+(a<<2)>>2]=0;a=a+1|0}P1(t);rc[k[(k[b>>2]|0)+24>>2]&1023](v,b);if(!(i[g>>0]&1)){i[g+1>>0]=0;i[g>>0]=0}else{i[k[g+8>>2]>>0]=0;k[g+4>>2]=0}x=0;sa(443,g|0,0);e=x;x=0;if(e&1){e=Eb(0)|0;Nba(e)}k[g>>2]=k[v>>2];k[g+4>>2]=k[v+4>>2];k[g+8>>2]=k[v+8>>2];a=0;while(1){if((a|0)==3)break;k[v+(a<<2)>>2]=0;a=a+1|0}P1(v);a=tc[k[(k[b>>2]|0)+36>>2]&511](b)|0}else{b=aR(b,75884)|0;rc[k[(k[b>>2]|0)+44>>2]&1023](n,b);v=k[n>>2]|0;i[c>>0]=v;i[c+1>>0]=v>>8;i[c+2>>0]=v>>16;i[c+3>>0]=v>>24;rc[k[(k[b>>2]|0)+32>>2]&1023](p,b);if(!(i[j>>0]&1)){i[j+1>>0]=0;i[j>>0]=0}else{i[k[j+8>>2]>>0]=0;k[j+4>>2]=0}x=0;sa(443,j|0,0);v=x;x=0;if(v&1){v=Eb(0)|0;Nba(v)}k[j>>2]=k[p>>2];k[j+4>>2]=k[p+4>>2];k[j+8>>2]=k[p+8>>2];a=0;while(1){if((a|0)==3)break;k[p+(a<<2)>>2]=0;a=a+1|0}P1(p);rc[k[(k[b>>2]|0)+28>>2]&1023](s,b);if(!(i[h>>0]&1)){i[h+1>>0]=0;i[h>>0]=0}else{i[k[h+8>>2]>>0]=0;k[h+4>>2]=0}x=0;sa(443,h|0,0);v=x;x=0;if(v&1){v=Eb(0)|0;Nba(v)}k[h>>2]=k[s>>2];k[h+4>>2]=k[s+4>>2];k[h+8>>2]=k[s+8>>2];a=0;while(1){if((a|0)==3)break;k[s+(a<<2)>>2]=0;a=a+1|0}P1(s);v=tc[k[(k[b>>2]|0)+12>>2]&511](b)|0;i[d>>0]=v;d=tc[k[(k[b>>2]|0)+16>>2]&511](b)|0;i[e>>0]=d;rc[k[(k[b>>2]|0)+20>>2]&1023](u,b);if(!(i[f>>0]&1)){i[f+1>>0]=0;i[f>>0]=0}else{i[k[f+8>>2]>>0]=0;k[f+4>>2]=0}x=0;sa(443,f|0,0);e=x;x=0;if(e&1){e=Eb(0)|0;Nba(e)}k[f>>2]=k[u>>2];k[f+4>>2]=k[u+4>>2];k[f+8>>2]=k[u+8>>2];a=0;while(1){if((a|0)==3)break;k[u+(a<<2)>>2]=0;a=a+1|0}P1(u);rc[k[(k[b>>2]|0)+24>>2]&1023](w,b);if(!(i[g>>0]&1)){i[g+1>>0]=0;i[g>>0]=0}else{i[k[g+8>>2]>>0]=0;k[g+4>>2]=0}x=0;sa(443,g|0,0);e=x;x=0;if(e&1){e=Eb(0)|0;Nba(e)}k[g>>2]=k[w>>2];k[g+4>>2]=k[w+4>>2];k[g+8>>2]=k[w+8>>2];a=0;while(1){if((a|0)==3)break;k[w+(a<<2)>>2]=0;a=a+1|0}P1(w);a=tc[k[(k[b>>2]|0)+36>>2]&511](b)|0}k[l>>2]=a;r=y;return}function Xf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=0;p=r;r=r+128|0;n=p+108|0;q=p+84|0;g=p+96|0;h=p+72|0;j=p+16|0;l=p;m=p+56|0;o=a+152|0;c=k[a+156>>2]|0;f=k[a+160>>2]|0;e=f-c|0;if(e>>>0>4294967279){dH(q);s=5}else if(e>>>0<11){i[q>>0]=e<<1;b=q+1|0}else s=5;if((s|0)==5){d=e+16&-16;b=GG(d)|0;k[q+8>>2]=b;k[q>>2]=d|1;k[q+4>>2]=e}if((c|0)!=(f|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(f|0))break;else d=d+1|0}b=b+e|0}i[b>>0]=0;k[g>>2]=42555;k[g+4>>2]=42555;k[g+8>>2]=42560;x=0;k[n>>2]=k[g>>2];k[n+4>>2]=k[g+4>>2];k[n+8>>2]=k[g+8>>2];b=Ka(902,o|0,n|0)|0;g=x;x=0;a:do if(g&1)s=14;else{do if(b){x=0;Qa(74,h|0,42561,38);g=x;x=0;if(g&1){s=14;break a}g=a+108|0;x=0;k[n>>2]=k[g>>2];k[n+4>>2]=k[g+4>>2];k[n+8>>2]=k[g+8>>2];Qa(135,a|0,h|0,n|0);g=x;x=0;if(!(g&1)){P1(h);break}s=mb()|0;P1(h);P1(q);yb(s|0)}while(0);e=(k[a+40>>2]|0)+36|0;x=0;f=Ka(856,e|0,88)|0;h=x;x=0;if(h&1)s=14;else{b=j;c=a+108|0;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));x=0;sa(430,l|0,q|0);h=x;x=0;if(h&1)s=14;else{k[f+4>>2]=0;b=f+8|0;c=j;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));b=f+52|0;k[b>>2]=0;k[f+56>>2]=0;i[f+60>>0]=0;k[f+64>>2]=0;k[f>>2]=9872;x=0;sa(430,f+68|0,l|0);j=x;x=0;if(!(j&1)){k[f+80>>2]=0;k[f+84>>2]=0;k[b>>2]=3;x=0;f=Ka(857,e|0,f|0)|0;j=x;x=0;if(!(j&1)){P1(l);e=a+76|0;x=0;Qa(139,m|0,a|0,k[e>>2]|0);l=x;x=0;if(l&1){s=14;break}d=k[m+8>>2]|0;do if(d|0){x=0;b=ua(231,d|0)|0;l=x;x=0;if(l&1){s=14;break a}l=b|0?b:d;l=(i[l>>0]|0)==59?l+1|0:0;b=a+80|0;if(!((l|0)==0?1:l>>>0>(k[b>>2]|0)>>>0)){k[m>>2]=d;break}x=0;c=ua(231,d|0)|0;l=x;x=0;if(l&1){s=14;break a}l=c|0?c:d;l=(i[l>>0]|0)==125?l+1|0:0;if(!((l|0)==0?1:l>>>0>(k[b>>2]|0)>>>0))k[m>>2]=d}while(0);if(k[m>>2]|0)if(!(i[m+13>>0]|0)){x=0;b=Ka(884,a|0,1)|0;m=x;x=0;if(m&1){s=14;break}k[f+80>>2]=b}x=0;xa(64,a|0,0,0)|0;m=x;x=0;if(m&1){s=14;break}x=0;b=xa(101,a|0,1,0)|0;m=x;x=0;if(m&1){s=14;break}if(!b){b=k[e>>2]|0;x=0;c=ua(231,b|0)|0;o=x;x=0;if(o&1){s=14;break}b=c|0?c:b;c=i[b>>0]|0;b=b+1|0;if(c<<24>>24!=123){o=c<<24>>24|0;b=(o|0)!=125?((o|0)==59?b:0):b}if((b|0)==0?1:b>>>0>(k[a+80>>2]|0)>>>0){x=0;b=ua(234,a|0)|0;o=x;x=0;if(o&1){s=14;break}k[f+84>>2]=b}}else{x=0;k[n>>2]=k[o>>2];k[n+4>>2]=k[o+4>>2];k[n+8>>2]=k[o+8>>2];b=xa(69,a|0,n|0,0)|0;o=x;x=0;if(o&1){s=14;break}k[f+84>>2]=b}x=0;xa(64,a|0,0,0)|0;o=x;x=0;if(o&1){s=14;break}b=k[e>>2]|0;x=0;c=ua(231,b|0)|0;o=x;x=0;if(o&1){s=14;break}o=c|0?c:b;o=(i[o>>0]|0)==123?o+1|0:0;if((o|0)==0?1:o>>>0>(k[a+80>>2]|0)>>>0){P1(q);r=p;return f|0}c=a+164|0;d=i[c>>0]|0;i[c>>0]=0;x=0;b=Ka(900,a|0,0)|0;a=x;x=0;if(a&1){b=mb()|0;i[c>>0]=d;break}i[c>>0]=d;k[f+64>>2]=b;P1(q);r=p;return f|0}}s=mb()|0;P1(l);P1(q);yb(s|0)}}}while(0);if((s|0)==14)b=mb()|0;s=b;P1(q);yb(s|0);return 0}function Yf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=0;p=r;r=r+128|0;n=p+108|0;q=p+84|0;g=p+96|0;h=p+72|0;j=p+16|0;l=p;m=p+56|0;o=a+152|0;c=k[a+156>>2]|0;f=k[a+160>>2]|0;e=f-c|0;if(e>>>0>4294967279){dH(q);s=5}else if(e>>>0<11){i[q>>0]=e<<1;b=q+1|0}else s=5;if((s|0)==5){d=e+16&-16;b=GG(d)|0;k[q+8>>2]=b;k[q>>2]=d|1;k[q+4>>2]=e}if((c|0)!=(f|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(f|0))break;else d=d+1|0}b=b+e|0}i[b>>0]=0;k[g>>2]=42555;k[g+4>>2]=42555;k[g+8>>2]=42560;x=0;k[n>>2]=k[g>>2];k[n+4>>2]=k[g+4>>2];k[n+8>>2]=k[g+8>>2];b=Ka(902,o|0,n|0)|0;g=x;x=0;a:do if(g&1)s=14;else{do if(b){x=0;Qa(74,h|0,42561,38);g=x;x=0;if(g&1){s=14;break a}g=a+108|0;x=0;k[n>>2]=k[g>>2];k[n+4>>2]=k[g+4>>2];k[n+8>>2]=k[g+8>>2];Qa(135,a|0,h|0,n|0);g=x;x=0;if(!(g&1)){P1(h);break}s=mb()|0;P1(h);P1(q);yb(s|0)}while(0);e=(k[a+40>>2]|0)+36|0;x=0;f=Ka(856,e|0,88)|0;h=x;x=0;if(h&1)s=14;else{b=j;c=a+108|0;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));x=0;sa(430,l|0,q|0);h=x;x=0;if(h&1)s=14;else{k[f+4>>2]=0;b=f+8|0;c=j;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));b=f+52|0;k[b>>2]=0;k[f+56>>2]=0;i[f+60>>0]=0;k[f+64>>2]=0;k[f>>2]=9872;x=0;sa(430,f+68|0,l|0);j=x;x=0;if(!(j&1)){k[f+80>>2]=0;k[f+84>>2]=0;k[b>>2]=3;x=0;f=Ka(857,e|0,f|0)|0;j=x;x=0;if(!(j&1)){P1(l);e=a+76|0;x=0;Qa(139,m|0,a|0,k[e>>2]|0);l=x;x=0;if(l&1){s=14;break}d=k[m+8>>2]|0;do if(d|0){x=0;b=ua(231,d|0)|0;l=x;x=0;if(l&1){s=14;break a}l=b|0?b:d;l=(i[l>>0]|0)==59?l+1|0:0;b=a+80|0;if(!((l|0)==0?1:l>>>0>(k[b>>2]|0)>>>0)){k[m>>2]=d;break}x=0;c=ua(231,d|0)|0;l=x;x=0;if(l&1){s=14;break a}l=c|0?c:d;l=(i[l>>0]|0)==125?l+1|0:0;if(!((l|0)==0?1:l>>>0>(k[b>>2]|0)>>>0))k[m>>2]=d}while(0);if(k[m>>2]|0)if(!(i[m+13>>0]|0)){x=0;b=Ka(884,a|0,1)|0;m=x;x=0;if(m&1){s=14;break}k[f+80>>2]=b}x=0;xa(64,a|0,0,0)|0;m=x;x=0;if(m&1){s=14;break}x=0;b=xa(101,a|0,1,0)|0;m=x;x=0;if(m&1){s=14;break}if(!b){b=k[e>>2]|0;x=0;c=ua(231,b|0)|0;o=x;x=0;if(o&1){s=14;break}b=c|0?c:b;c=i[b>>0]|0;b=b+1|0;if(c<<24>>24!=123){o=c<<24>>24|0;b=(o|0)!=125?((o|0)==59?b:0):b}if((b|0)==0?1:b>>>0>(k[a+80>>2]|0)>>>0){x=0;b=ua(234,a|0)|0;o=x;x=0;if(o&1){s=14;break}k[f+84>>2]=b}}else{x=0;k[n>>2]=k[o>>2];k[n+4>>2]=k[o+4>>2];k[n+8>>2]=k[o+8>>2];b=xa(69,a|0,n|0,0)|0;o=x;x=0;if(o&1){s=14;break}k[f+84>>2]=b}x=0;xa(64,a|0,0,0)|0;o=x;x=0;if(o&1){s=14;break}b=k[e>>2]|0;x=0;c=ua(231,b|0)|0;o=x;x=0;if(o&1){s=14;break}o=c|0?c:b;o=(i[o>>0]|0)==123?o+1|0:0;if((o|0)==0?1:o>>>0>(k[a+80>>2]|0)>>>0){P1(q);r=p;return f|0}c=a+164|0;d=i[c>>0]|0;i[c>>0]=0;x=0;b=Ka(900,a|0,0)|0;a=x;x=0;if(a&1){b=mb()|0;i[c>>0]=d;break}i[c>>0]=d;k[f+64>>2]=b;P1(q);r=p;return f|0}}s=mb()|0;P1(l);P1(q);yb(s|0)}}}while(0);if((s|0)==14)b=mb()|0;s=b;P1(q);yb(s|0);return 0}function Zf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;d=0;v=r;r=r+224|0;q=v+212|0;w=v+200|0;t=v+160|0;p=v+120|0;n=v+80|0;g=v+68|0;o=v+56|0;s=v+16|0;u=v;us(a,1,0)|0;c=k[a+156>>2]|0;f=k[a+160>>2]|0;e=f-c|0;if(e>>>0>4294967279){dH(w);d=5}else if(e>>>0<11){i[w>>0]=e<<1;b=w+1|0}else d=5;if((d|0)==5){m=e+16&-16;b=GG(m)|0;k[w+8>>2]=b;k[w>>2]=m|1;k[w+4>>2]=e}if((c|0)!=(f|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(f|0))break;else d=d+1|0}b=b+e|0}i[b>>0]=0;b=a+108|0;h=t;j=b;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));x=0;xa(81,a|0,1,0)|0;m=x;x=0;a:do if(!(m&1)){h=p;j=b;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));b=a+76|0;c=k[b>>2]|0;x=0;ua(234,a|0)|0;m=x;x=0;if(!(m&1)){b=k[b>>2]|0;x=0;xa(82,a|0,1,0)|0;m=x;x=0;if(!(m&1)){m=a+40|0;d=(k[m>>2]|0)+36|0;x=0;e=Ka(856,d|0,80)|0;l=x;x=0;if(!(l&1)){h=n;j=p;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[g>>2]=c;k[g+4>>2]=c;k[g+8>>2]=b;x=0;k[q>>2]=k[g>>2];k[q+4>>2]=k[g+4>>2];k[q+8>>2]=k[g+8>>2];b=xa(69,a|0,q|0,0)|0;a=x;x=0;if(!(a&1)){x=0;Qa(74,o|0,78097,0);a=x;x=0;if(!(a&1)){k[e+4>>2]=0;h=e+8|0;j=n;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e+52>>2]=0;k[e>>2]=8476;k[e+56>>2]=b;x=0;sa(430,e+60|0,o|0);n=x;x=0;do if(n&1)b=mb()|0;else{i[e+72>>0]=0;i[e+73>>0]=0;k[e+76>>2]=0;x=0;g=Ka(857,d|0,e|0)|0;n=x;x=0;if(n&1){b=mb()|0;break}P1(o);b=(k[m>>2]|0)+36|0;x=0;c=Ka(856,b|0,80)|0;o=x;x=0;if(o&1)break a;k[c+4>>2]=0;h=c+8|0;j=p;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;k[c+52>>2]=0;k[c+60>>2]=0;k[c+64>>2]=0;k[c+68>>2]=0;k[c>>2]=5416;k[c+56>>2]=5524;i[c+76>>0]=0;i[c+77>>0]=0;i[c+78>>0]=0;x=0;f=Ka(857,b|0,c|0)|0;p=x;x=0;if(p&1)break a;b=f+56|0;k[q>>2]=g;c=g;if(g|0){k[f+72>>2]=0;d=f+64|0;e=k[d>>2]|0;if((e|0)==(k[f+68>>2]|0)){x=0;sa(478,f+60|0,q|0);q=x;x=0;if(q&1)break a}else{k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4}x=0;sa(k[k[b>>2]>>2]|0,b|0,g|0);q=x;x=0;if(q&1)break a}c=(k[m>>2]|0)+36|0;x=0;d=Ka(856,c|0,80)|0;q=x;x=0;if(q&1)break a;h=s;j=t;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));x=0;sa(430,u|0,w|0);t=x;x=0;if(t&1)break a;k[d+4>>2]=0;h=d+8|0;j=s;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;b=d+52|0;k[b>>2]=0;k[d>>2]=8984;x=0;sa(430,d+56|0,u|0);t=x;x=0;if(!(t&1)){k[d+68>>2]=f;k[d+72>>2]=0;k[d+76>>2]=0;k[b>>2]=4;x=0;b=Ka(857,c|0,d|0)|0;t=x;x=0;if(!(t&1)){P1(u);P1(w);r=v;return b|0}}v=mb()|0;P1(u);P1(w);yb(v|0)}while(0);P1(o);v=b;P1(w);yb(v|0)}}}}}}while(0);v=mb()|0;P1(w);yb(v|0);return 0}function _f(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;B=r;r=r+224|0;w=B+208|0;v=B+16|0;m=B+192|0;j=B+180|0;h=B+168|0;l=B+128|0;y=B+88|0;u=B;s=B+72|0;t=B+56|0;e=a+108|0;n=y;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));z=a+164|0;A=i[z>>0]|0;i[z>>0]=1;f=a+152|0;k[m>>2]=k[f>>2];k[m+4>>2]=k[f+4>>2];k[m+8>>2]=k[f+8>>2];q=a+76|0;c=k[q>>2]|0;g=a+84|0;k[j>>2]=k[g>>2];k[j+4>>2]=k[g+4>>2];k[j+8>>2]=k[g+8>>2];d=a+96|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];n=l;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;xa(64,a|0,1,0)|0;p=x;x=0;a:do if(!(p&1)){x=0;b=xa(81,a|0,1,0)|0;p=x;x=0;if(!(p&1)){if(!b){n=e;o=l;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[f>>2]=k[m>>2];k[f+4>>2]=k[m+4>>2];k[f+8>>2]=k[m+8>>2];k[q>>2]=c;k[d>>2]=k[h>>2];k[d+4>>2]=k[h+4>>2];k[d+8>>2]=k[h+8>>2];k[g>>2]=k[j>>2];k[g+4>>2]=k[j+4>>2];k[g+8>>2]=k[j+8>>2];l=0}else{x=0;b=ua(254,a|0)|0;p=x;x=0;if(p&1)break;c=k[q>>2]|0;l=b}x=0;b=ua(230,c|0)|0;p=x;x=0;if(!(p&1)){d=a+80|0;if((b|0)==0?1:b>>>0>(k[d>>2]|0)>>>0)b=k[q>>2]|0;x=0;c=ua(231,b|0)|0;p=x;x=0;if(!(p&1)){p=c|0?c:b;p=(i[p>>0]|0)==123?p+1|0:0;do if((p|0)==0?1:p>>>0>(k[d>>2]|0)>>>0){x=0;Qa(139,s|0,a|0,k[q>>2]|0);q=x;x=0;if(q&1)break a;b=k[s>>2]|0;s=s+4|0;k[u>>2]=k[s>>2];k[u+4>>2]=k[s+4>>2];k[u+8>>2]=k[s+8>>2];if(!b)c=0;else{k[t>>2]=b;j=t+4|0;k[j>>2]=k[u>>2];k[j+4>>2]=k[u+4>>2];k[j+8>>2]=k[u+8>>2];x=0;k[w>>2]=k[t>>2];k[w+4>>2]=k[t+4>>2];k[w+8>>2]=k[t+8>>2];k[w+12>>2]=k[t+12>>2];j=xa(97,a|0,w|0,0)|0;u=x;x=0;if(u&1)break a;g=(k[a+40>>2]|0)+36|0;x=0;h=Ka(856,g|0,88)|0;u=x;x=0;if(u&1)break a;n=v;o=j+8|0;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[h+4>>2]=0;n=h+8|0;o=v;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[h>>2]=9548;k[h+52>>2]=0;k[h+56>>2]=0;i[h+60>>0]=0;b=h+64|0;k[b>>2]=9636;c=h+68|0;k[c>>2]=0;d=h+72|0;k[d>>2]=0;e=h+76|0;k[e>>2]=0;x=0;f=ua(186,4)|0;v=x;x=0;if(v&1)break a;v=f;k[c>>2]=v;k[d>>2]=v;k[e>>2]=f+4;k[h>>2]=9664;k[b>>2]=9756;i[h+84>>0]=1;i[h+85>>0]=0;i[h+86>>0]=0;i[h+87>>0]=0;x=0;c=Ka(857,g|0,h|0)|0;v=x;x=0;if(v&1)break a;b=c+64|0;k[w>>2]=j;k[c+80>>2]=0;d=c+72|0;e=k[d>>2]|0;if((e|0)==(k[c+76>>2]|0)){x=0;sa(480,c+68|0,w|0);w=x;x=0;if(w&1)break a}else{k[e>>2]=j;k[d>>2]=(k[d>>2]|0)+4}x=0;sa(k[k[b>>2]>>2]|0,b|0,j|0);w=x;x=0;if(w&1)break a}}else{x=0;xa(86,a|0,1,0)|0;w=x;x=0;if(w&1)break a;b=i[z>>0]|0;i[z>>0]=1;x=0;c=Ka(900,a|0,1)|0;w=x;x=0;if(!(w&1)){i[z>>0]=b;break}B=mb()|0;i[z>>0]=b;i[z>>0]=A;yb(B|0)}while(0);b=(k[a+40>>2]|0)+36|0;x=0;d=Ka(856,b|0,72)|0;a=x;x=0;if(!(a&1)){k[d+4>>2]=0;n=d+8|0;o=y;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d+64>>2]=c;k[d>>2]=10048;k[d+68>>2]=0;k[d+52>>2]=5;x=0;b=Ka(857,b|0,d|0)|0;y=x;x=0;if(!(y&1)){if(!l){i[z>>0]=A;r=B;return b|0}k[b+68>>2]=l;i[z>>0]=A;r=B;return b|0}}}}}}while(0);B=mb()|0;i[z>>0]=A;yb(B|0);return 0}function $f(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(b>>>0>36){e=L0()|0;k[e>>2]=22;e=0;d=0}else{r=a+4|0;q=a+100|0;do{f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=Rx(a)|0}while((Jca(f)|0)!=0);b:do switch(f|0){case 43:case 45:{g=((f|0)==45)<<31>>31;f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0;p=g;break b}else{f=Rx(a)|0;p=g;break b}}default:p=0}while(0);g=(b|0)==0;do if((b|16|0)==16&(f|0)==48){f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=Rx(a)|0;if((f|32|0)!=120)if(g){b=8;n=46;break}else{n=32;break}b=k[r>>2]|0;if(b>>>0<(k[q>>2]|0)>>>0){k[r>>2]=b+1;f=l[b>>0]|0}else f=Rx(a)|0;if((l[45249+f>>0]|0)>15){d=(k[q>>2]|0)==0;if(!d)k[r>>2]=(k[r>>2]|0)+-1;if(!c){VI(a,0);e=0;d=0;break a}if(d){e=0;d=0;break a}k[r>>2]=(k[r>>2]|0)+-1;e=0;d=0;break a}else{b=16;n=46}}else{b=g?10:b;if((l[45249+f>>0]|0)>>>0>>0)n=32;else{if(k[q>>2]|0)k[r>>2]=(k[r>>2]|0)+-1;VI(a,0);e=L0()|0;k[e>>2]=22;e=0;d=0;break a}}while(0);if((n|0)==32)if((b|0)==10){b=f+-48|0;if(b>>>0<10){f=0;while(1){g=(f*10|0)+b|0;b=k[r>>2]|0;if(b>>>0<(k[q>>2]|0)>>>0){k[r>>2]=b+1;f=l[b>>0]|0}else f=Rx(a)|0;b=f+-48|0;if(!(b>>>0<10&g>>>0<429496729)){b=g;break}else f=g}g=0}else{b=0;g=0}c=f+-48|0;if(c>>>0<10){while(1){h=KK(b|0,g|0,10,0)|0;j=M;m=((c|0)<0)<<31>>31;o=~m;if(j>>>0>o>>>0|(j|0)==(o|0)&h>>>0>~c>>>0){h=b;break}b=TZ(h|0,j|0,c|0,m|0)|0;g=M;f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=Rx(a)|0;c=f+-48|0;if(!(c>>>0<10&(g>>>0<429496729|(g|0)==429496729&b>>>0<2576980378))){h=b;break}}if(c>>>0>9){f=h;b=p}else{b=10;n=72}}else{f=b;b=p}}else n=46;c:do if((n|0)==46){if(!(b+-1&b)){n=i[45505+((b*23|0)>>>5&7)>>0]|0;g=i[45249+f>>0]|0;c=g&255;if(c>>>0>>0){f=0;while(1){h=c|f<>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=Rx(a)|0;g=i[45249+f>>0]|0;c=g&255;if(!(h>>>0<134217728&c>>>0>>0))break;else f=h}c=0}else{c=0;h=0}j=SN(-1,-1,n|0)|0;m=M;if((g&255)>>>0>=b>>>0|(c>>>0>m>>>0|(c|0)==(m|0)&h>>>0>j>>>0)){g=c;n=72;break}else f=c;while(1){h=GN(h|0,f|0,n|0)|0;c=M;h=g&255|h;f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=Rx(a)|0;g=i[45249+f>>0]|0;if((g&255)>>>0>=b>>>0|(c>>>0>m>>>0|(c|0)==(m|0)&h>>>0>j>>>0)){g=c;n=72;break c}else f=c}}g=i[45249+f>>0]|0;c=g&255;if(c>>>0>>0){f=0;while(1){h=c+(ia(f,b)|0)|0;f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=Rx(a)|0;g=i[45249+f>>0]|0;c=g&255;if(!(h>>>0<119304647&c>>>0>>0))break;else f=h}c=0}else{h=0;c=0}if((g&255)>>>0>>0){n=B4(-1,-1,b|0,0)|0;o=M;m=c;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&h>>>0>n>>>0){g=m;n=72;break c}c=KK(h|0,m|0,b|0,0)|0;j=M;g=g&255;if(j>>>0>4294967295|(j|0)==-1&c>>>0>~g>>>0){g=m;n=72;break c}h=TZ(g|0,0,c|0,j|0)|0;c=M;f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=Rx(a)|0;g=i[45249+f>>0]|0;if((g&255)>>>0>=b>>>0){g=c;n=72;break}else m=c}}else{g=c;n=72}}while(0);if((n|0)==72)if((l[45249+f>>0]|0)>>>0>>0){do{f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=Rx(a)|0}while((l[45249+f>>0]|0)>>>0>>0);g=L0()|0;k[g>>2]=34;g=e;f=d;b=(d&1|0)==0&0==0?p:0}else{f=h;b=p}if(k[q>>2]|0)k[r>>2]=(k[r>>2]|0)+-1;if(!(g>>>0>>0|(g|0)==(e|0)&f>>>0>>0)){if(!((d&1|0)!=0|0!=0|(b|0)!=0)){r=L0()|0;k[r>>2]=34;d=TZ(d|0,e|0,-1,-1)|0;e=M;break}if(g>>>0>e>>>0|(g|0)==(e|0)&f>>>0>d>>>0){r=L0()|0;k[r>>2]=34;break}}d=((b|0)<0)<<31>>31;d=lN(f^b|0,g^d|0,b|0,d|0)|0;e=M}while(0);M=e;return d|0}function ag(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;y=r;r=r+112|0;m=y+100|0;o=y+88|0;q=y+76|0;t=y+64|0;v=y+52|0;n=y+48|0;p=y+36|0;s=y+24|0;u=y+12|0;w=y;if(a){b=aR(b,75908)|0;rc[k[(k[b>>2]|0)+44>>2]&1023](m,b);w=k[m>>2]|0;i[c>>0]=w;i[c+1>>0]=w>>8;i[c+2>>0]=w>>16;i[c+3>>0]=w>>24;rc[k[(k[b>>2]|0)+32>>2]&1023](o,b);if(!(i[j>>0]&1))i[j>>0]=0;else k[k[j+8>>2]>>2]=0;k[j+4>>2]=0;x=0;sa(559,j|0,0);w=x;x=0;if(w&1){w=Eb(0)|0;Nba(w)}k[j>>2]=k[o>>2];k[j+4>>2]=k[o+4>>2];k[j+8>>2]=k[o+8>>2];a=0;while(1){if((a|0)==3)break;k[o+(a<<2)>>2]=0;a=a+1|0}O1(o);rc[k[(k[b>>2]|0)+28>>2]&1023](q,b);if(!(i[h>>0]&1))i[h>>0]=0;else k[k[h+8>>2]>>2]=0;k[h+4>>2]=0;x=0;sa(559,h|0,0);w=x;x=0;if(w&1){w=Eb(0)|0;Nba(w)}k[h>>2]=k[q>>2];k[h+4>>2]=k[q+4>>2];k[h+8>>2]=k[q+8>>2];a=0;while(1){if((a|0)==3)break;k[q+(a<<2)>>2]=0;a=a+1|0}O1(q);w=tc[k[(k[b>>2]|0)+12>>2]&511](b)|0;k[d>>2]=w;d=tc[k[(k[b>>2]|0)+16>>2]&511](b)|0;k[e>>2]=d;rc[k[(k[b>>2]|0)+20>>2]&1023](t,b);if(!(i[f>>0]&1)){i[f+1>>0]=0;i[f>>0]=0}else{i[k[f+8>>2]>>0]=0;k[f+4>>2]=0}x=0;sa(443,f|0,0);e=x;x=0;if(e&1){e=Eb(0)|0;Nba(e)}k[f>>2]=k[t>>2];k[f+4>>2]=k[t+4>>2];k[f+8>>2]=k[t+8>>2];a=0;while(1){if((a|0)==3)break;k[t+(a<<2)>>2]=0;a=a+1|0}P1(t);rc[k[(k[b>>2]|0)+24>>2]&1023](v,b);if(!(i[g>>0]&1))i[g>>0]=0;else k[k[g+8>>2]>>2]=0;k[g+4>>2]=0;x=0;sa(559,g|0,0);e=x;x=0;if(e&1){e=Eb(0)|0;Nba(e)}k[g>>2]=k[v>>2];k[g+4>>2]=k[v+4>>2];k[g+8>>2]=k[v+8>>2];a=0;while(1){if((a|0)==3)break;k[v+(a<<2)>>2]=0;a=a+1|0}O1(v);a=tc[k[(k[b>>2]|0)+36>>2]&511](b)|0}else{b=aR(b,75900)|0;rc[k[(k[b>>2]|0)+44>>2]&1023](n,b);v=k[n>>2]|0;i[c>>0]=v;i[c+1>>0]=v>>8;i[c+2>>0]=v>>16;i[c+3>>0]=v>>24;rc[k[(k[b>>2]|0)+32>>2]&1023](p,b);if(!(i[j>>0]&1))i[j>>0]=0;else k[k[j+8>>2]>>2]=0;k[j+4>>2]=0;x=0;sa(559,j|0,0);v=x;x=0;if(v&1){v=Eb(0)|0;Nba(v)}k[j>>2]=k[p>>2];k[j+4>>2]=k[p+4>>2];k[j+8>>2]=k[p+8>>2];a=0;while(1){if((a|0)==3)break;k[p+(a<<2)>>2]=0;a=a+1|0}O1(p);rc[k[(k[b>>2]|0)+28>>2]&1023](s,b);if(!(i[h>>0]&1))i[h>>0]=0;else k[k[h+8>>2]>>2]=0;k[h+4>>2]=0;x=0;sa(559,h|0,0);v=x;x=0;if(v&1){v=Eb(0)|0;Nba(v)}k[h>>2]=k[s>>2];k[h+4>>2]=k[s+4>>2];k[h+8>>2]=k[s+8>>2];a=0;while(1){if((a|0)==3)break;k[s+(a<<2)>>2]=0;a=a+1|0}O1(s);v=tc[k[(k[b>>2]|0)+12>>2]&511](b)|0;k[d>>2]=v;d=tc[k[(k[b>>2]|0)+16>>2]&511](b)|0;k[e>>2]=d;rc[k[(k[b>>2]|0)+20>>2]&1023](u,b);if(!(i[f>>0]&1)){i[f+1>>0]=0;i[f>>0]=0}else{i[k[f+8>>2]>>0]=0;k[f+4>>2]=0}x=0;sa(443,f|0,0);e=x;x=0;if(e&1){e=Eb(0)|0;Nba(e)}k[f>>2]=k[u>>2];k[f+4>>2]=k[u+4>>2];k[f+8>>2]=k[u+8>>2];a=0;while(1){if((a|0)==3)break;k[u+(a<<2)>>2]=0;a=a+1|0}P1(u);rc[k[(k[b>>2]|0)+24>>2]&1023](w,b);if(!(i[g>>0]&1))i[g>>0]=0;else k[k[g+8>>2]>>2]=0;k[g+4>>2]=0;x=0;sa(559,g|0,0);e=x;x=0;if(e&1){e=Eb(0)|0;Nba(e)}k[g>>2]=k[w>>2];k[g+4>>2]=k[w+4>>2];k[g+8>>2]=k[w+8>>2];a=0;while(1){if((a|0)==3)break;k[w+(a<<2)>>2]=0;a=a+1|0}O1(w);a=tc[k[(k[b>>2]|0)+36>>2]&511](b)|0}k[l>>2]=a;r=y;return}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;q=0;g=r;r=r+368|0;c=g+344|0;u=g+332|0;s=g+192|0;m=g+56|0;d=g+40|0;l=g+24|0;e=g+12|0;f=g;xX(u,b+88|0,b);t=s+60|0;p=s+8|0;k[s>>2]=8732;k[t>>2]=8752;k[s+4>>2]=0;x=0;sa(452,s+60|0,p|0);o=x;x=0;if(o&1)b=mb()|0;else{k[s+132>>2]=0;k[s+136>>2]=-1;k[s>>2]=8772;k[t>>2]=8792;x=0;ra(324,p|0);o=x;x=0;do if(o&1)b=mb()|0;else{k[p>>2]=8272;o=s+40|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[s+56>>2]=8;x=0;sa(453,p|0,u|0);n=x;x=0;if(n&1){b=mb()|0;P1(o);D2(p);break}n=m+56|0;h=m+4|0;k[m>>2]=8828;k[n>>2]=8848;x=0;sa(452,m+56|0,h|0);j=x;x=0;a:do if(j&1){b=mb()|0;q=25}else{k[m+128>>2]=0;k[m+132>>2]=-1;k[m>>2]=8868;k[n>>2]=8888;x=0;ra(324,h|0);j=x;x=0;do if(j&1)b=mb()|0;else{k[h>>2]=8272;j=m+36|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[j+12>>2]=0;k[m+52>>2]=16;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;sa(453,h|0,c|0);b=x;x=0;if(b&1){b=mb()|0;P1(c);P1(j);D2(h);break}P1(c);k[d+12>>2]=255;x=0;Qa(92,d|0,s|0,m|0);d=x;x=0;do if(d&1)q=26;else{x=0;sa(454,e|0,h|0);d=x;x=0;if(d&1)q=26;else{x=0;b=xa(50,e|0,0,30239)|0;d=x;x=0;if(d&1){b=mb()|0;P1(e);break}k[l>>2]=k[b>>2];k[l+4>>2]=k[b+4>>2];k[l+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;P1(e);e=i[l>>0]|0;b=l+4|0;x=0;xa(51,l|0,((e&1)==0?(e&255)>>>1:k[b>>2]|0)+-1|0,-1)|0;e=x;x=0;do if(e&1){b=mb()|0;q=29}else{k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;e=i[l>>0]|0;b=(e&1)==0?(e&255)>>>1:k[b>>2]|0;x=0;Ua(10,f|0,30269,21,b+21|0);e=x;x=0;if(!(e&1)){x=0;xa(46,f|0,((i[l>>0]&1)==0?l+1|0:k[l+8>>2]|0)|0,b|0)|0;e=x;x=0;if(!(e&1)){x=0;b=Ka(866,f|0,43498)|0;e=x;x=0;if(e&1){b=mb()|0;P1(f);break}else{k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;P1(f);P1(l);k[m>>2]=8868;k[n>>2]=8888;k[h>>2]=8272;P1(j);D2(h);P9(n);k[s>>2]=8772;k[t>>2]=8792;k[p>>2]=8272;P1(o);D2(p);P9(t);P1(u);r=g;return}}}b=mb()|0;P1(f);q=29}while(0);P1(l)}}while(0);if((q|0)==26)b=mb()|0;k[m>>2]=8868;k[n>>2]=8888;k[h>>2]=8272;P1(j);D2(h);P9(n);break a}while(0);q=25}while(0);if((q|0)==25)P9(n);k[s>>2]=8772;k[t>>2]=8792;k[p>>2]=8272;P1(o);D2(p);P9(t);t=b;P1(u);yb(t|0)}while(0)}P9(t);t=b;P1(u);yb(t|0)}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=0;o=r;r=r+48|0;p=o+24|0;c=o+12|0;f=o;_G(p,b+68|0);d=k[b+80>>2]|0;e=k[b+84>>2]|0;m=k[b+64>>2]|0;n=a+4|0;x=0;ra(342,n|0);l=x;x=0;a:do if(l&1)q=9;else{x=0;Qa(134,n|0,p|0,b|0);l=x;x=0;if(l&1)q=9;else{if(d|0){x=0;ra(344,n|0);l=x;x=0;if(l&1){q=9;break}b=a+97|0;i[b>>0]=1;x=0;sa(k[(k[d>>2]|0)+28>>2]|0,d|0,a|0);l=x;x=0;if(l&1){q=9;break}i[b>>0]=0}do if(e|0){x=0;ra(344,n|0);l=x;x=0;if(l&1){q=9;break a}x=0;sa(k[(k[e>>2]|0)+24>>2]|0,c|0,e|0);l=x;x=0;if(l&1){q=9;break a}x=0;Qa(134,n|0,c|0,e|0);l=x;x=0;if(!(l&1)){P1(c);break}q=mb()|0;P1(c);P1(p);yb(q|0)}while(0);if(!m){x=0;ra(345,n|0);q=x;x=0;if(q&1){q=9;break}P1(p);r=o;return}x=0;b=ua(k[(k[m>>2]|0)+64>>2]|0,m|0)|0;l=x;x=0;if(l&1)q=9;else{if(!b){h=m+68|0;j=m+72|0;if((k[j>>2]|0)!=(k[h>>2]|0)){x=0;sa(536,n|0,0);l=x;x=0;if(l&1){q=9;break}l=(KH(p,39815)|0)!=0;b=k[h>>2]|0;f=(k[j>>2]|0)-b>>2;b:do if(f|0){g=m+68|0;e=f+-1|0;if(l)c=0;else{c=0;while(1){b=k[b+(c<<2)>>2]|0;x=0;d=ua(k[(k[b>>2]|0)+60>>2]|0,b|0)|0;e=x;x=0;if(e&1)break;if(!d){x=0;sa(k[(k[b>>2]|0)+28>>2]|0,b|0,a|0);e=x;x=0;if(e&1)break}c=c+1|0;if(c>>>0>=f>>>0)break b;b=k[g>>2]|0}b=mb()|0;break a}while(1){b=k[b+(c<<2)>>2]|0;x=0;d=ua(k[(k[b>>2]|0)+60>>2]|0,b|0)|0;s=x;x=0;if(s&1)break;if(!d){x=0;sa(k[(k[b>>2]|0)+28>>2]|0,b|0,a|0);s=x;x=0;if(s&1)break;if(c>>>0>>0){x=0;ra(346,n|0);s=x;x=0;if(s&1)break}}c=c+1|0;if(c>>>0>=f>>>0)break b;b=k[g>>2]|0}b=mb()|0;break a}while(0);c=k[h>>2]|0;g=(k[j>>2]|0)-c>>2;c:do if(g|0){f=m+68|0;e=g+-1|0;if(l)b=0;else{b=0;while(1){c=k[c+(b<<2)>>2]|0;x=0;d=ua(k[(k[c>>2]|0)+60>>2]|0,c|0)|0;s=x;x=0;if(s&1)break;if(d){x=0;sa(k[(k[c>>2]|0)+28>>2]|0,c|0,a|0);s=x;x=0;if(s&1)break}b=b+1|0;if(b>>>0>=g>>>0)break c;c=k[f>>2]|0}b=mb()|0;break a}d:while(1){c=k[c+(b<<2)>>2]|0;x=0;d=ua(k[(k[c>>2]|0)+60>>2]|0,c|0)|0;s=x;x=0;if(s&1)break;do if(d){x=0;sa(k[(k[c>>2]|0)+28>>2]|0,c|0,a|0);s=x;x=0;if(s&1)break d;if(b>>>0>=e>>>0)break;x=0;ra(346,n|0);s=x;x=0;if(s&1)break d}while(0);b=b+1|0;if(b>>>0>=g>>>0)break c;c=k[f>>2]|0}b=mb()|0;break a}while(0);x=0;sa(537,n|0,0);s=x;x=0;if(s&1){q=9;break}P1(p);r=o;return}}x=0;ra(341,n|0);s=x;x=0;if(s&1)q=9;else{x=0;Qa(74,f|0,39812,2);s=x;x=0;if(s&1)q=9;else{x=0;sa(484,n|0,f|0);s=x;x=0;if(s&1){s=mb()|0;P1(f);P1(p);yb(s|0)}else{P1(f);P1(p);r=o;return}}}}}}while(0);if((q|0)==9)b=mb()|0;s=b;P1(p);yb(s|0)}function dg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,j=0,l=0.0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=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;S=0;O=r;r=r+304|0;D=O+256|0;E=O+136|0;F=O+128|0;G=O+120|0;H=O+112|0;I=O+104|0;J=O+96|0;v=O+244|0;A=O+88|0;B=O+80|0;C=O+72|0;w=O+64|0;y=O+56|0;z=O+48|0;j=O+232|0;m=O+40|0;n=O+32|0;o=O+24|0;q=O+16|0;s=O+8|0;t=O;K=O+192|0;Q=O+180|0;R=O+168|0;P=O+156|0;N=O+144|0;L=c+36|0;M=lD(L,104)|0;b=K;c=e;u=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(u|0));lE(Q,36974,4);x=0;b=D;c=e;u=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(u|0));b=wa(23,Q|0,a|0,d|0,D|0,f|0)|0;u=x;x=0;if(!(u&1)){x=0;sa(437,j|0,b|0);u=x;x=0;if(!(u&1)){u=(KH(j,38887)|0)==0;P1(j);g=+p[b+56>>3];if(u){l=g*255.0/100.0;p[m>>3]=l;p[n>>3]=0.0;b=l<0.0?n:m;p[o>>3]=255.0;b=+p[b>>3]>255.0?o:b}else{p[q>>3]=g;p[s>>3]=0.0;b=g<0.0?s:q;p[t>>3]=255.0;b=+p[b>>3]>255.0?t:b}l=+p[b>>3];x=0;Qa(74,R|0,36979,6);u=x;x=0;if(!(u&1)){x=0;b=D;c=e;u=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(u|0));b=wa(23,R|0,a|0,d|0,D|0,f|0)|0;u=x;x=0;if(u&1)S=23;else{x=0;sa(437,v|0,b|0);u=x;x=0;if(u&1)S=23;else{u=(KH(v,38887)|0)==0;P1(v);g=+p[b+56>>3];if(u){h=g*255.0/100.0;p[A>>3]=h;p[B>>3]=0.0;b=h<0.0?B:A;p[C>>3]=255.0;b=+p[b>>3]>255.0?C:b}else{p[w>>3]=g;p[y>>3]=0.0;b=g<0.0?y:w;p[z>>3]=255.0;b=+p[b>>3]>255.0?z:b}h=+p[b>>3];x=0;Qa(74,P|0,36986,5);C=x;x=0;if(C&1)S=23;else{x=0;b=D;c=e;u=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(u|0));b=wa(23,P|0,a|0,d|0,D|0,f|0)|0;d=x;x=0;if(d&1)S=24;else{x=0;sa(437,D|0,b|0);d=x;x=0;if(d&1)S=24;else{d=(KH(D,38887)|0)==0;P1(D);g=+p[b+56>>3];if(d){g=g*255.0/100.0;p[E>>3]=g;p[F>>3]=0.0;b=g<0.0?F:E;p[G>>3]=255.0;b=+p[b>>3]>255.0?G:b}else{p[H>>3]=g;p[I>>3]=0.0;b=g<0.0?I:H;p[J>>3]=255.0;b=+p[b>>3]>255.0?J:b}g=+p[b>>3];x=0;Qa(74,N|0,78097,0);J=x;x=0;if(J&1)S=24;else{k[M+4>>2]=0;b=M+8|0;c=K;u=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(u|0));i[M+48>>0]=0;i[M+49>>0]=0;i[M+50>>0]=0;b=M+52|0;k[b>>2]=0;k[M>>2]=5580;p[M+56>>3]=l;p[M+64>>3]=h;p[M+72>>3]=g;p[M+80>>3]=1.0;x=0;sa(430,M+88|0,N|0);K=x;x=0;if(!(K&1)){k[M+100>>2]=0;k[b>>2]=3;x=0;b=Ka(857,L|0,M|0)|0;M=x;x=0;if(!(M&1)){P1(N);P1(P);P1(R);P1(Q);r=O;return b|0}}b=mb()|0;P1(N)}}}if((S|0)==24)b=mb()|0;P1(P)}}}if((S|0)==23)b=mb()|0;P1(R);S=b;P1(Q);yb(S|0)}}}S=mb()|0;P1(Q);yb(S|0);return 0}function eg(a){a=a|0;if((hc|0)!=2){k[ic+8>>2]=a;if((hc|0)==1)hc=3}Uc(kc+28672|0);return k[ic>>2]|0}function fg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;z=0;w=r;r=r+320|0;v=w;p=w+208|0;A=w+196|0;g=w+192|0;y=w+180|0;u=w+176|0;s=w+16|0;t=w+8|0;q=w+4|0;a=0;while(1){if((a|0)==3)break;k[A+(a<<2)>>2]=0;a=a+1|0}x=0;d=ua(189,d|0)|0;o=x;x=0;do if(o&1)a=mb()|0;else{k[g>>2]=d;x=0;a=Ka(865,g|0,74204)|0;o=x;x=0;if(!(o&1)){x=0;Pa(k[(k[a>>2]|0)+48>>2]|0,a|0,49232,49258,p|0)|0;o=x;x=0;if(!(o&1)){sK(d)|0;a=0;while(1){if((a|0)==3)break;k[y+(a<<2)>>2]=0;a=a+1|0}if(!(i[y>>0]&1))a=10;else a=(k[y>>2]&-2)+-1|0;x=0;Qa(86,y|0,a|0,0);o=x;x=0;a:do if(o&1)z=37;else{n=y+8|0;o=y+1|0;a=(i[y>>0]&1)==0?o:k[n>>2]|0;k[u>>2]=a;k[t>>2]=s;k[q>>2]=0;m=y+4|0;g=k[b>>2]|0;b:while(1){if(!g){g=0;h=1}else{d=k[g+12>>2]|0;if((d|0)==(k[g+16>>2]|0)){x=0;d=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;l=x;x=0;if(l&1){z=36;break}}else d=k[d>>2]|0;if((d|0)==-1){k[b>>2]=0;g=0;h=1}else h=0}j=k[c>>2]|0;do if(!j)z=26;else{d=k[j+12>>2]|0;if((d|0)==(k[j+16>>2]|0)){x=0;d=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;l=x;x=0;if(l&1){z=36;break b}}else d=k[d>>2]|0;if((d|0)==-1){k[c>>2]=0;z=26;break}else if(h)break;else{h=g;break b}}while(0);if((z|0)==26){z=0;if(h){h=g;j=0;break}else j=0}d=i[y>>0]|0;d=(d&1)==0?(d&255)>>>1:k[m>>2]|0;if((k[u>>2]|0)==(a+d|0)){x=0;Qa(86,y|0,d<<1|0,0);l=x;x=0;if(l&1){z=36;break}if(!(i[y>>0]&1))a=10;else a=(k[y>>2]&-2)+-1|0;x=0;Qa(86,y|0,a|0,0);l=x;x=0;if(l&1){z=36;break}a=(i[y>>0]&1)==0?o:k[n>>2]|0;k[u>>2]=a+d}h=g+12|0;d=k[h>>2]|0;l=g+16|0;if((d|0)==(k[l>>2]|0)){x=0;d=ua(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;B=x;x=0;if(B&1){z=36;break}}else d=k[d>>2]|0;if(Lo(d,16,a,u,q,0,A,s,t,p)|0){h=g;break}d=k[h>>2]|0;if((d|0)==(k[l>>2]|0)){x=0;ua(k[(k[g>>2]|0)+40>>2]|0,g|0)|0;B=x;x=0;if(B&1){z=36;break}else continue}else{k[h>>2]=d+4;continue}}if((z|0)==36){a=mb()|0;break}x=0;Qa(86,y|0,(k[u>>2]|0)-a|0,0);B=x;x=0;if(B&1)z=37;else{g=i[y>>0]|0;a=k[n>>2]|0;x=0;d=Oa(3)|0;B=x;x=0;if(B&1)z=37;else{x=0;k[v>>2]=f;a=Pa(19,((g&1)==0?o:a)|0,d|0,49267,v|0)|0;B=x;x=0;if(B&1)z=37;else{if((a|0)!=1)k[e>>2]=4;if(!h)d=1;else{a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;B=x;x=0;if(B&1){z=37;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}do if(!j)z=63;else{a=k[j+12>>2]|0;if((a|0)==(k[j+16>>2]|0)){x=0;a=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;B=x;x=0;if(B&1){z=37;break a}}else a=k[a>>2]|0;if((a|0)==-1){k[c>>2]=0;z=63;break}else if(d)break;else{z=65;break}}while(0);if((z|0)==63)if(d)z=65;if((z|0)==65)k[e>>2]=k[e>>2]|2;B=k[b>>2]|0;P1(y);P1(A);r=w;return B|0}}}}while(0);if((z|0)==37)a=mb()|0;P1(y);break}}a=mb()|0;sK(d)|0}while(0);P1(A);yb(a|0);return 0}function gg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;J=r;r=r+144|0;H=J+120|0;F=J+108|0;E=J+96|0;G=J+56|0;L=J+40|0;I=J+28|0;g=J+16|0;h=J+8|0;l=J;v=J+24|0;C=me(a)|0;k[L>>2]=0;M=L+4|0;k[M>>2]=0;k[L+8>>2]=0;k[I>>2]=0;K=I+4|0;k[K>>2]=0;k[I+8>>2]=0;D=a+76|0;x=0;b=ua(230,k[D>>2]|0)|0;B=x;x=0;do if(B&1)c=10;else{j=a+80|0;y=a+152|0;z=a+84|0;A=a+96|0;B=a+108|0;m=a+156|0;n=g+4|0;o=g+5|0;p=I+8|0;q=L+8|0;s=h+4|0;t=h+5|0;u=l+4|0;w=l+5|0;f=b>>>0<=(k[j>>2]|0)>>>0?b:0;a:while(1){k[H>>2]=k[y>>2];k[H+4>>2]=k[y+4>>2];k[H+8>>2]=k[y+8>>2];b=k[D>>2]|0;k[F>>2]=k[z>>2];k[F+4>>2]=k[z+4>>2];k[F+8>>2]=k[z+8>>2];k[E>>2]=k[A>>2];k[E+4>>2]=k[A+4>>2];k[E+8>>2]=k[A+8>>2];c=G;d=B;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));x=0;xa(64,a|0,1,0)|0;e=x;x=0;if(e&1){c=9;break}x=0;c=xa(80,a|0,1,0)|0;e=x;x=0;if(e&1){c=9;break}if(!c){c=6;break}x=0;b=ua(230,k[D>>2]|0)|0;e=x;x=0;if(e&1){c=9;break}b=b>>>0<=(k[j>>2]|0)>>>0?b:0;b:do switch(i[k[m>>2]>>0]|0){case 42:{k[g>>2]=10;i[n>>0]=(f|0)!=0&1;i[o>>0]=(b|0)!=0&1;b=k[K>>2]|0;if(b>>>0<(k[p>>2]|0)>>>0){d=g;e=k[d+4>>2]|0;f=b;k[f>>2]=k[d>>2];k[f+4>>2]=e;k[K>>2]=(k[K>>2]|0)+8;break b}else{x=0;sa(542,I|0,g|0);f=x;x=0;if(f&1){c=9;break a}else break b}}case 47:{k[h>>2]=11;i[s>>0]=(f|0)!=0&1;i[t>>0]=(b|0)!=0&1;b=k[K>>2]|0;if(b>>>0<(k[p>>2]|0)>>>0){d=h;e=k[d+4>>2]|0;f=b;k[f>>2]=k[d>>2];k[f+4>>2]=e;k[K>>2]=(k[K>>2]|0)+8;break b}else{x=0;sa(542,I|0,h|0);f=x;x=0;if(f&1){c=9;break a}else break b}}case 37:{k[l>>2]=12;i[u>>0]=(f|0)!=0&1;i[w>>0]=(b|0)!=0&1;b=k[K>>2]|0;if(b>>>0<(k[p>>2]|0)>>>0){d=l;e=k[d+4>>2]|0;f=b;k[f>>2]=k[d>>2];k[f+4>>2]=e;k[K>>2]=(k[K>>2]|0)+8;break b}else{x=0;sa(542,I|0,l|0);f=x;x=0;if(f&1){c=9;break a}else break b}}default:{c=21;break a}}while(0);x=0;b=ua(245,a|0)|0;f=x;x=0;if(f&1){c=9;break}k[v>>2]=b;c=k[M>>2]|0;if(c>>>0<(k[q>>2]|0)>>>0){k[c>>2]=b;k[M>>2]=(k[M>>2]|0)+4}else{x=0;sa(476,L|0,v|0);f=x;x=0;if(f&1){c=9;break}}x=0;b=ua(230,k[D>>2]|0)|0;f=x;x=0;if(f&1){c=9;break}f=b>>>0<=(k[j>>2]|0)>>>0?b:0}if((c|0)==6){c=B;d=G;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));k[y>>2]=k[H>>2];k[y+4>>2]=k[H+4>>2];k[y+8>>2]=k[H+8>>2];k[D>>2]=b;k[A>>2]=k[E>>2];k[A+4>>2]=k[E+4>>2];k[A+8>>2]=k[E+8>>2];k[z>>2]=k[F>>2];k[z+4>>2]=k[F+4>>2];k[z+8>>2]=k[F+8>>2];x=0;e=wa(28,a|0,C|0,L|0,I|0,0)|0;a=x;x=0;if(a&1){c=10;break}b=k[I>>2]|0;c=b;if(b|0){d=k[K>>2]|0;if((d|0)!=(b|0))k[K>>2]=d+(~((d+-8-c|0)>>>3)<<3);uha(b)}b=k[L>>2]|0;if(!b){r=J;return e|0}c=k[M>>2]|0;if((c|0)!=(b|0))k[M>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(b);r=J;return e|0}else if((c|0)==9){b=mb()|0;c=11;break}else if((c|0)==21){b=vb(8)|0;x=0;sa(444,b|0,40472);J=x;x=0;if(J&1){e=mb()|0;lb(b|0);break}else{x=0;Qa(77,b|0,4416,310);x=0;c=10;break}}}while(0);if((c|0)==10){b=mb()|0;c=11}if((c|0)==11)e=b;b=k[I>>2]|0;c=b;if(b|0){d=k[K>>2]|0;if((d|0)!=(b|0))k[K>>2]=d+(~((d+-8-c|0)>>>3)<<3);uha(b)}b=k[L>>2]|0;if(!b)yb(e|0);c=k[M>>2]|0;if((c|0)!=(b|0))k[M>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(b);yb(e|0);return 0}function hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;l=0;h=b+16|0;c=k[h>>2]|0;if(c>>>0>=6)kb(39119,38952,1012,39220);switch(c|0){case 0:{b=a+4|0;e=k[b>>2]|0;d=k[a>>2]|0;c=d;do if((e-d|0)<4){h=a+8|0;f=k[h>>2]|0;g=d-f|0;c=g+4|0;d=e-f|0;do d=d<<1;while(d>>>0>>0);c=OC(f,d|1)|0;k[h>>2]=c;if(!c){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{j=c+g|0;k[a>>2]=j;k[b>>2]=c+d;break}}else j=c;while(0);i[j>>0]=110;i[j+1>>0]=117;i[j+2>>0]=108;i[j+3>>0]=108;k[a>>2]=(k[a>>2]|0)+4;return}case 1:{j=(i[b+24>>0]|0)!=0;b=j?51266:51271;j=j?4:5;l=a+4|0;e=k[l>>2]|0;d=k[a>>2]|0;c=d;do if((e-d|0)<(j|0)){h=a+8|0;f=k[h>>2]|0;g=d-f|0;c=g+j|0;d=e-f|0;do d=d<<1;while(d>>>0>>0);c=OC(f,d|1)|0;k[h>>2]=c;if(!c){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{m=c+g|0;k[a>>2]=m;k[l>>2]=c+d;break}}else m=c;while(0);WC(m|0,b|0,j|0)|0;k[a>>2]=(k[a>>2]|0)+j;return}case 2:{yf(a,k[b+24>>2]|0);return}case 3:{Bm(a,+p[b+24>>3]);return}case 4:{c=k[a>>2]|0;j=a+4|0;d=k[j>>2]|0;do if(c>>>0>>0){k[a>>2]=c+1;i[c>>0]=91;l=27}else{g=a+8|0;e=k[g>>2]|0;f=c-e|0;c=f+1|0;d=d-e|0;do d=d<<1;while(d>>>0>>0);c=OC(e,d|1)|0;k[g>>2]=c;if(!c){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{o=c+f|0;k[j>>2]=c+d;k[a>>2]=o+1;i[o>>0]=91;if(!b)break;else{l=27;break}}}while(0);a:do if((l|0)==27)if((k[h>>2]&-2|0)==4){c=k[b+24>>2]|0;if(c|0){h=a+8|0;while(1){hg(a,c);g=c+8|0;if(!(k[g>>2]|0))break a;c=k[a>>2]|0;d=k[j>>2]|0;if(c>>>0>=d>>>0){e=k[h>>2]|0;f=c-e|0;c=f+1|0;d=d-e|0;do d=d<<1;while(d>>>0>>0);c=OC(e,d|1)|0;k[h>>2]=c;if(!c)break;o=c+f|0;k[a>>2]=o;k[j>>2]=c+d;c=o}k[a>>2]=c+1;i[c>>0]=44;c=k[g>>2]|0;if(!c)break a}FH(42958,15,1,k[4316]|0)|0;cc(1)}}while(0);c=k[a>>2]|0;d=k[j>>2]|0;do if(c>>>0>>0)n=c;else{g=a+8|0;e=k[g>>2]|0;f=c-e|0;c=f+1|0;d=d-e|0;do d=d<<1;while(d>>>0>>0);c=OC(e,d|1)|0;k[g>>2]=c;if(!c){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{n=c+f|0;k[a>>2]=n;k[j>>2]=c+d;break}}while(0);k[a>>2]=n+1;i[n>>0]=93;return}case 5:{c=k[a>>2]|0;j=a+4|0;d=k[j>>2]|0;do if(c>>>0>>0){k[a>>2]=c+1;i[c>>0]=123;l=52}else{g=a+8|0;e=k[g>>2]|0;f=c-e|0;c=f+1|0;d=d-e|0;do d=d<<1;while(d>>>0>>0);c=OC(e,d|1)|0;k[g>>2]=c;if(!c){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{n=c+f|0;k[j>>2]=c+d;k[a>>2]=n+1;i[n>>0]=123;if(!b)break;else{l=52;break}}}while(0);b:do if((l|0)==52)if((k[h>>2]&-2|0)==4){c=k[b+24>>2]|0;if(c|0){h=a+8|0;while(1){yf(a,k[c+12>>2]|0);d=k[a>>2]|0;e=k[j>>2]|0;if(d>>>0>=e>>>0){f=k[h>>2]|0;g=d-f|0;d=g+1|0;e=e-f|0;do e=e<<1;while(e>>>0>>0);d=OC(f,e|1)|0;k[h>>2]=d;if(!d){l=59;break}n=d+g|0;k[a>>2]=n;k[j>>2]=d+e;d=n}k[a>>2]=d+1;i[d>>0]=58;hg(a,c);g=c+8|0;if(!(k[g>>2]|0))break b;c=k[a>>2]|0;d=k[j>>2]|0;if(c>>>0>=d>>>0){e=k[h>>2]|0;f=c-e|0;c=f+1|0;d=d-e|0;do d=d<<1;while(d>>>0>>0);c=OC(e,d|1)|0;k[h>>2]=c;if(!c){l=66;break}n=c+f|0;k[a>>2]=n;k[j>>2]=c+d;c=n}k[a>>2]=c+1;i[c>>0]=44;c=k[g>>2]|0;if(!c)break b}if((l|0)==59){FH(42958,15,1,k[4316]|0)|0;cc(1)}else if((l|0)==66){FH(42958,15,1,k[4316]|0)|0;cc(1)}}}while(0);c=k[a>>2]|0;d=k[j>>2]|0;do if(c>>>0>>0)o=c;else{g=a+8|0;e=k[g>>2]|0;f=c-e|0;c=f+1|0;d=d-e|0;do d=d<<1;while(d>>>0>>0);c=OC(e,d|1)|0;k[g>>2]=c;if(!c){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{o=c+f|0;k[a>>2]=o;k[j>>2]=c+d;break}}while(0);k[a>>2]=o+1;i[o>>0]=125;return}default:kb(51271,38952,1033,39220)}}function ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;o=0;p=r;r=r+32|0;q=p+12|0;n=p;l=(i[(k[c+16>>2]|0)+18>>0]|0)==0;wq(q,c+300|0);x=0;m=Oa(1)|0;j=x;x=0;a:do if(j&1)o=9;else{x=0;d=va(2,3.0)|0;j=x;x=0;if(j&1)o=9;else{x=0;Qa(140,m|0,44297,d|0);j=x;x=0;if(j&1)o=9;else{d=c+432|0;j=i[d>>0]|0;e=(j&1)==0;if((e?(j&255)>>>1:k[c+436>>2]|0)|0){x=0;d=ua(258,(e?d+1|0:k[c+440>>2]|0)|0)|0;j=x;x=0;if(j&1){o=9;break}x=0;Qa(140,m|0,44305,d|0);j=x;x=0;if(j&1){o=9;break}}d=b+36|0;if(!(i[d>>0]&1))d=d+1|0;else d=k[b+44>>2]|0;x=0;d=ua(258,d|0)|0;j=x;x=0;if(j&1)o=9;else{x=0;Qa(140,m|0,44316,d|0);j=x;x=0;if(j&1)o=9;else{x=0;h=Oa(2)|0;j=x;x=0;if(j&1)o=9;else{j=b+4|0;d=k[b>>2]|0;b:do if((k[j>>2]|0)!=(d|0)){g=0;while(1){d=k[d+(g<<2)>>2]|0;e=k[q>>2]|0;f=e+(d*12|0)|0;if(!(i[f>>0]&1))d=f+1|0;else d=k[e+(d*12|0)+8>>2]|0;x=0;d=ua(258,d|0)|0;f=x;x=0;if(f&1)break;x=0;sa(552,h|0,d|0);f=x;x=0;if(f&1)break;g=g+1|0;d=k[b>>2]|0;if(g>>>0>=(k[j>>2]|0)-d>>2>>>0)break b}d=mb()|0;o=10;break a}while(0);x=0;Qa(140,m|0,44321,h|0);h=x;x=0;if(h&1)o=9;else{if(!l){x=0;g=Oa(2)|0;l=x;x=0;if(l&1){o=9;break}d=k[b>>2]|0;c:do if((k[j>>2]|0)!=(d|0)){f=c+224|0;e=0;while(1){x=0;d=ua(258,k[(k[f>>2]|0)+(k[d+(e<<2)>>2]<<3)>>2]|0)|0;c=x;x=0;if(c&1)break;x=0;sa(552,g|0,d|0);c=x;x=0;if(c&1)break;e=e+1|0;d=k[b>>2]|0;if(e>>>0>=(k[j>>2]|0)-d>>2>>>0)break c}d=mb()|0;o=10;break a}while(0);if(k[g+24>>2]|0){x=0;Qa(140,m|0,44329,g|0);c=x;x=0;if(c&1){o=9;break}}}x=0;sa(553,n|0,b|0);b=x;x=0;if(b&1)o=9;else{x=0;d=ua(258,((i[n>>0]&1)==0?n+1|0:k[n+8>>2]|0)|0)|0;b=x;x=0;do if(b&1)o=43;else{x=0;Qa(140,m|0,44346,d|0);b=x;x=0;if(b&1)o=43;else{x=0;d=Oa(2)|0;b=x;x=0;if(b&1)o=43;else{x=0;Qa(140,m|0,44355,d|0);b=x;x=0;if(b&1)o=43;else{x=0;d=Ka(904,m|0,44361)|0;b=x;x=0;if(b&1)o=43;else{b=OD(d)|0;x=0;Qa(74,a|0,d|0,b|0);b=x;x=0;if(b&1)o=43;else{cf(d);x=0;ra(348,m|0);m=x;x=0;if(m&1){d=mb()|0;P1(a);break}P1(n);d=k[q>>2]|0;if(!d){r=p;return}f=q+4|0;e=k[f>>2]|0;if((e|0)!=(d|0)){do{o=e+-12|0;k[f>>2]=o;P1(o);e=k[f>>2]|0}while((e|0)!=(d|0));d=k[q>>2]|0}uha(d);r=p;return}}}}}}while(0);if((o|0)==43)d=mb()|0;P1(n);g=d}}}}}}}}while(0);if((o|0)==9){d=mb()|0;o=10}if((o|0)==10)g=d;d=k[q>>2]|0;if(!d)yb(g|0);f=q+4|0;e=k[f>>2]|0;if((e|0)!=(d|0)){do{p=e+-12|0;k[f>>2]=p;P1(p);e=k[f>>2]|0}while((e|0)!=(d|0));d=k[q>>2]|0}uha(d);yb(g|0)}function jg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;p=0;q=r;r=r+112|0;o=q+92|0;s=q+80|0;g=q+68|0;l=q+56|0;h=q+16|0;j=q;m=a+76|0;n=k[m>>2]|0;lE(s,78097,0);x=0;b=xa(88,a|0,0,0)|0;f=x;x=0;a:do if(f&1)p=19;else{do if(b|0){c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){x=0;ra(331,g|0);p=x;x=0;if(p&1){p=19;break a}else p=7}else if(f>>>0<11){i[g>>0]=f<<1;b=g+1|0}else p=7;if((p|0)==7){d=f+16&-16;x=0;b=ua(186,d|0)|0;t=x;x=0;if(t&1){p=19;break a}k[g+8>>2]=b;k[g>>2]=d|1;k[g+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;if(!(i[s>>0]&1)){i[s+1>>0]=0;i[s>>0]=0}else{i[k[s+8>>2]>>0]=0;k[s+4>>2]=0}x=0;sa(443,s|0,0);t=x;x=0;if(t&1){t=Eb(0)|0;Nba(t)}else{k[s>>2]=k[g>>2];k[s+4>>2]=k[g+4>>2];k[s+8>>2]=k[g+8>>2];k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;P1(g);break}}while(0);b=k[m>>2]|0;x=0;c=ua(231,b|0)|0;t=x;x=0;if(t&1)p=19;else{b=c|0?c:b;if(b|0){c=i[38919]|0;b:do if(!(c<<24>>24))c=0;else{d=38919;while(1){if((i[b>>0]|0)!=c<<24>>24)break b;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);t=c<<24>>24==0?b:0;f=a+80|0;if(!((t|0)==0?1:t>>>0>(k[f>>2]|0)>>>0)){b=k[m>>2]|0;c:do if(!b)b=0;else{while(1){x=0;c=ua(231,b|0)|0;t=x;x=0;if(t&1)break;c=c|0?c:b;if(!c)break c;d=i[38919]|0;d:do if(!(d<<24>>24))d=0;else{e=38919;while(1){if((i[c>>0]|0)!=d<<24>>24)break d;c=c+1|0;e=e+1|0;d=i[e>>0]|0;if(!(d<<24>>24)){d=0;break}}}while(0);t=d<<24>>24==0?c:0;if(!(t|0?t>>>0<=(k[f>>2]|0)>>>0:0))break c;x=0;b=ua(250,b|0)|0;t=x;x=0;if(t&1)break;if(!b){b=0;break c}x=0;b=ua(251,b|0)|0;t=x;x=0;if(t&1)break;if(!b){b=0;break c}}b=mb()|0;break a}while(0);k[m>>2]=b;k[l>>2]=n;k[l+4>>2]=n;k[l+8>>2]=b;x=0;k[o>>2]=k[l>>2];k[o+4>>2]=k[l+4>>2];k[o+8>>2]=k[l+8>>2];b=xa(69,a|0,o|0,0)|0;t=x;x=0;if(t&1){p=19;break}P1(s);r=q;return b|0}}if(!(KH(s,78097)|0)){t=0;P1(s);r=q;return t|0}x=0;sa(500,o|0,s|0);t=x;x=0;if(t&1)p=19;else{d=(k[a+40>>2]|0)+36|0;x=0;e=Ka(856,d|0,76)|0;t=x;x=0;if(t&1)p=46;else{f=h;b=a+108|0;c=f+40|0;do{k[f>>2]=k[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(c|0));x=0;sa(430,j|0,o|0);t=x;x=0;if(t&1)p=46;else{k[e+4>>2]=0;f=e+8|0;b=h;c=f+40|0;do{k[f>>2]=k[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(c|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;i[e+56>>0]=0;k[e+52>>2]=4;k[e>>2]=5932;i[e+57>>0]=0;i[e+58>>0]=0;x=0;sa(477,e+60|0,j|0);t=x;x=0;if(!(t&1)){k[e+72>>2]=0;x=0;b=Ka(857,d|0,e|0)|0;t=x;x=0;if(!(t&1)){P1(j);P1(o);t=b;P1(s);r=q;return t|0}}b=mb()|0;P1(j)}}if((p|0)==46)b=mb()|0;P1(o);t=b;P1(s);yb(t|0)}}}while(0);if((p|0)==19)b=mb()|0;t=b;P1(s);yb(t|0);return 0}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=0;g=r;r=r+16|0;h=g;f=IN(k[a+4>>2]|0)|0;_G(h,b+64|0);c=(i[b+80>>0]|0)!=0;a:do if(!(i[b+81>>0]|0)){if(!c){c=k[b+76>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a|0)|0;a=x;x=0;if(a&1){e=8;break}x=0;Qa(104,f|0,h|0,c|0);a=x;x=0;if(a&1){e=8;break}else{e=55;break}}x=0;c=Ka(879,f|0,h|0)|0;d=x;x=0;if(d&1)e=8;else{if(!c){x=0;c=Ka(877,f|0,h|0)|0;e=x;x=0;if(e&1){e=8;break}if(c){x=0;c=Ka(878,f|0,h|0)|0;e=x;x=0;if(e&1){e=8;break}c=k[c>>2]|0;if(!c){e=55;break}c=Ot(c,8,64,0)|0;if(c|0)if((k[c+52>>2]|0)!=8){e=55;break}c=k[b+76>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a|0)|0;a=x;x=0;if(a&1){e=8;break}x=0;Qa(102,f|0,h|0,c|0);a=x;x=0;if(a&1){e=8;break}else{e=55;break}}else{x=0;e=ua(201,f|0)|0;d=x;x=0;if(d&1){e=8;break}c=k[b+76>>2]|0;d=k[(k[c>>2]|0)+40>>2]|0;if(e){x=0;c=Ka(d|0,c|0,a|0)|0;a=x;x=0;if(a&1){e=8;break}x=0;Qa(103,f|0,h|0,c|0);a=x;x=0;if(a&1){e=8;break}else{e=55;break}}else{x=0;c=Ka(d|0,c|0,a|0)|0;a=x;x=0;if(a&1){e=8;break}x=0;Qa(103,f|0,h|0,c|0);a=x;x=0;if(a&1){e=8;break}else{e=55;break}}}}b:do if(f|0){d=f;while(1){x=0;c=ua(201,d|0)|0;f=x;x=0;if(f&1){e=7;break}if(!c)break b;x=0;c=Ka(864,d|0,h|0)|0;f=x;x=0;if(f&1){e=7;break}if(c)break;d=k[d+12>>2]|0;if(!d)break b}if((e|0)==7){c=mb()|0;break a}x=0;c=Ka(880,d|0,h|0)|0;f=x;x=0;if(f&1){e=8;break a}c=k[c>>2]|0;if(!c){c=vb(8)|0;x=0;sa(444,c|0,33101);g=x;x=0;if(!(g&1)){x=0;Qa(77,c|0,4416,310);x=0;e=8;break a}g=mb()|0;lb(c|0);P1(h);yb(g|0)}else{c=Ot(c,8,64,0)|0;if(c|0)if((k[c+52>>2]|0)!=8){e=55;break a}c=k[b+76>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a|0)|0;a=x;x=0;if(a&1){e=8;break a}x=0;Qa(103,d|0,h|0,c|0);a=x;x=0;if(a&1){e=8;break a}else{e=55;break a}}}while(0);c=vb(8)|0;x=0;sa(444,c|0,33101);g=x;x=0;if(!(g&1)){x=0;Qa(77,c|0,4416,310);x=0;e=8;break}g=mb()|0;lb(c|0);P1(h);yb(g|0)}}else{if(!c){c=k[b+76>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a|0)|0;a=x;x=0;if(a&1){e=8;break}x=0;Qa(102,f|0,h|0,c|0);a=x;x=0;if(a&1){e=8;break}else{e=55;break}}x=0;c=Ka(877,f|0,h|0)|0;e=x;x=0;if(e&1)e=8;else{if(!c){c=k[b+76>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a|0)|0;a=x;x=0;if(a&1){e=8;break}x=0;Qa(102,f|0,h|0,c|0);a=x;x=0;if(a&1){e=8;break}else{e=55;break}}x=0;c=Ka(878,f|0,h|0)|0;e=x;x=0;if(e&1)e=8;else{c=k[c>>2]|0;if(c|0){c=Ot(c,8,64,0)|0;if(c|0)if((k[c+52>>2]|0)!=8){e=55;break}}c=k[b+76>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a|0)|0;a=x;x=0;if(a&1)e=8;else{x=0;Qa(102,f|0,h|0,c|0);a=x;x=0;if(a&1)e=8;else e=55}}}}while(0);if((e|0)==8)c=mb()|0;else if((e|0)==55){P1(h);r=g;return 0}g=c;P1(h);yb(g|0);return 0}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+144|0;t=u;n=u+96|0;p=u+56|0;q=u+40|0;s=a+4|0;d=(k[s>>2]|0)+36|0;e=lD(d,88)|0;g=a+20|0;f=a+24|0;c=k[f>>2]|0;if((c|0)==(k[g>>2]|0))c=k[a+8>>2]|0;else c=c+-4|0;l=t;h=(k[c>>2]|0)+8|0;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));k[e+4>>2]=0;l=e+8|0;h=t;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));k[e+52>>2]=0;k[e+56>>2]=0;i[e+60>>0]=0;k[e+68>>2]=0;k[e+72>>2]=0;k[e+76>>2]=0;k[e>>2]=9664;k[e+64>>2]=9756;i[e+84>>0]=0;i[e+85>>0]=0;i[e+86>>0]=0;i[e+87>>0]=0;d=N4(d,e)|0;c=k[f>>2]|0;if((c|0)==(k[g>>2]|0))c=k[a+8>>2]|0;else c=c+-4|0;o=Ue(a,k[c>>2]|0)|0;m=o+64|0;k[m>>2]=d;c=k[f>>2]|0;if((c|0)==(k[g>>2]|0))c=k[a+8>>2]|0;else c=c+-4|0;k[o+56>>2]=k[(k[c>>2]|0)+56>>2];l=b+64|0;c=k[l>>2]|0;a:do if(c|0){j=(k[c+72>>2]|0)-(k[c+68>>2]|0)>>2;if(j|0){h=d;d=0;while(1){a=h+64|0;c=k[(k[c+68>>2]|0)+(d<<2)>>2]|0;k[t>>2]=c;e=c;if(c|0){k[h+80>>2]=0;f=h+72|0;g=k[f>>2]|0;if((g|0)==(k[h+76>>2]|0))xw(h+68|0,t);else{k[g>>2]=e;k[f>>2]=(k[f>>2]|0)+4}rc[k[k[a>>2]>>2]&1023](a,c)}d=d+1|0;if((d|0)==(j|0))break a;h=k[m>>2]|0;c=k[l>>2]|0}}}while(0);d=(k[s>>2]|0)+36|0;e=lD(d,88)|0;c=k[l>>2]|0;if(!c){l=n;h=b+8|0;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));c=n}else{l=n;h=c+8|0;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));c=n}k[e+4>>2]=0;l=e+8|0;h=c;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));k[e+52>>2]=0;k[e+56>>2]=0;i[e+60>>0]=0;k[e+68>>2]=0;k[e+72>>2]=0;k[e+76>>2]=0;k[e>>2]=9664;k[e+64>>2]=9756;i[e+84>>0]=0;i[e+85>>0]=0;i[e+86>>0]=0;i[e+87>>0]=0;g=N4(d,e)|0;c=g+64|0;k[t>>2]=o;d=o;if(o|0){k[g+80>>2]=0;e=g+72|0;f=k[e>>2]|0;if((f|0)==(k[g+76>>2]|0))xw(g+68|0,t);else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[c>>2]>>2]&1023](c,o)}d=(k[s>>2]|0)+36|0;e=lD(d,88)|0;l=p;h=b+8|0;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));_G(q,b+68|0);f=k[b+80>>2]|0;k[e+4>>2]=0;l=e+8|0;h=p;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));c=e+52|0;k[c>>2]=0;k[e+56>>2]=0;i[e+60>>0]=0;k[e+64>>2]=g;k[e>>2]=9872;x=0;sa(430,e+68|0,q|0);p=x;x=0;if(p&1){u=mb()|0;P1(q);yb(u|0)}k[e+80>>2]=f;k[e+84>>2]=0;k[c>>2]=3;x=0;e=Ka(857,d|0,e|0)|0;p=x;x=0;if(p&1){u=mb()|0;P1(q);yb(u|0)}P1(q);c=k[b+84>>2]|0;if(!c){c=k[s>>2]|0;c=c+36|0;d=lD(c,72)|0;h=e+8|0;l=t;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));l=d+4|0;k[l>>2]=0;l=d+8|0;h=t;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));t=d+52|0;k[t>>2]=6;t=d+56|0;k[t>>2]=0;t=d+60|0;i[t>>0]=0;k[d>>2]=9784;t=d+64|0;k[t>>2]=e;t=d+68|0;i[t>>0]=1;t=N4(c,d)|0;r=u;return t|0}k[e+84>>2]=c;c=k[s>>2]|0;c=c+36|0;d=lD(c,72)|0;h=e+8|0;l=t;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));l=d+4|0;k[l>>2]=0;l=d+8|0;h=t;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));t=d+52|0;k[t>>2]=6;t=d+56|0;k[t>>2]=0;t=d+60|0;i[t>>0]=0;k[d>>2]=9784;t=d+64|0;k[t>>2]=e;t=d+68|0;i[t>>0]=1;t=N4(c,d)|0;r=u;return t|0}function mg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=0;t=r;r=r+160|0;o=t+144|0;u=t+132|0;g=t+120|0;q=t+80|0;m=t+68|0;n=t+56|0;p=t+16|0;s=t;c=k[a+156>>2]|0;f=k[a+160>>2]|0;e=f-c|0;if(e>>>0>4294967279){dH(g);v=5}else if(e>>>0<11){i[g>>0]=e<<1;b=g+1|0}else v=5;if((v|0)==5){l=e+16&-16;b=GG(l)|0;k[g+8>>2]=b;k[g>>2]=l|1;k[g+4>>2]=e}if((c|0)!=(f|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(f|0))break;else d=d+1|0}b=b+e|0}i[b>>0]=0;x=0;sa(492,u|0,g|0);l=x;x=0;if(l&1){v=mb()|0;P1(g);yb(v|0)}P1(g);c=a+108|0;h=q;j=c;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));x=0;b=xa(84,a|0,1,0)|0;l=x;x=0;a:do if(l&1)v=20;else{b:do if(!b){k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;b=i[u>>0]|0;b=(b&1)==0?(b&255)>>>1:k[u+4>>2]|0;x=0;Ua(10,n|0,40902,19,b+19|0);l=x;x=0;if(!(l&1)){x=0;xa(46,n|0,((i[u>>0]&1)==0?u+1|0:k[u+8>>2]|0)|0,b|0)|0;l=x;x=0;if(!(l&1)){x=0;b=Ka(866,n|0,40922)|0;l=x;x=0;do if(l&1)b=mb()|0;else{k[m>>2]=k[b>>2];k[m+4>>2]=k[b+4>>2];k[m+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;k[o>>2]=k[c>>2];k[o+4>>2]=k[c+4>>2];k[o+8>>2]=k[c+8>>2];Qa(135,a|0,m|0,o|0);l=x;x=0;if(l&1){b=mb()|0;P1(m);break}else{P1(m);P1(n);break b}}while(0);P1(n);break a}}b=mb()|0;P1(n);v=21;break a}while(0);h=a+76|0;x=0;Qa(138,o|0,a|0,k[h>>2]|0);n=x;x=0;if(n&1)v=20;else{if(!(i[o+13>>0]|0))v=30;else{b=k[o>>2]|0;if(!b)v=30;else{x=0;b=Ka(901,a|0,b|0)|0;o=x;x=0;if(o&1){v=20;break}}}if((v|0)==30){x=0;b=ua(234,a|0)|0;o=x;x=0;if(o&1){v=20;break}}i[b+48>>0]=0;f=a+80|0;g=0;c=0;c:while(1)while(1){d=k[h>>2]|0;x=0;e=ua(231,d|0)|0;o=x;x=0;if(o&1){v=19;break c}e=e|0?e:d;x=0;d=ua(252,e|0)|0;o=x;x=0;if(o&1){v=19;break c}if(!d){x=0;d=ua(253,e|0)|0;o=x;x=0;if(o&1){v=19;break c}}if((d|0)==0?1:d>>>0>(k[f>>2]|0)>>>0){f=c;break c}x=0;d=xa(89,a|0,1,0)|0;o=x;x=0;if(o&1){v=19;break c}if(d|0){g=1;continue c}x=0;d=xa(90,a|0,1,0)|0;o=x;x=0;if(o&1){v=19;break c}c=c|(d|0)!=0}if((v|0)==19){b=mb()|0;v=21;break}d=(k[a+40>>2]|0)+36|0;x=0;e=Ka(856,d|0,84)|0;a=x;x=0;if(a&1)v=20;else{h=p;j=q;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));x=0;sa(430,s|0,u|0);q=x;x=0;if(q&1)v=20;else{k[e+4>>2]=0;h=e+8|0;j=p;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));c=e+52|0;k[c>>2]=0;k[e+56>>2]=0;i[e+60>>0]=0;k[e>>2]=15160;x=0;sa(430,e+64|0,s|0);q=x;x=0;if(!(q&1)){k[e+76>>2]=b;i[e+80>>0]=g;i[e+81>>0]=f&1;k[c>>2]=10;x=0;b=Ka(857,d|0,e|0)|0;q=x;x=0;if(!(q&1)){P1(s);P1(u);r=t;return b|0}}b=mb()|0;P1(s)}}}}while(0);if((v|0)==20){b=mb()|0;v=21}P1(u);v=b;yb(v|0);return 0}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;v=r;r=r+128|0;c=v+108|0;d=v+96|0;m=v+84|0;n=v+72|0;q=v+60|0;s=v+48|0;t=v+36|0;u=v+24|0;o=v+12|0;p=v;_G(c,a+68|0);x=0;sa(430,d|0,b+68|0);l=x;x=0;if(l&1){v=mb()|0;P1(c);yb(v|0)}l=Ir(c,d)|0;P1(d);P1(c);if(!l){a=0;r=v;return a|0}h=a+80|0;_G(m,h);l=b+80|0;x=0;sa(430,n|0,l|0);g=x;x=0;if(g&1){v=mb()|0;P1(m);yb(v|0)}g=j[m>>1]|0;e=(g&1)==0;d=(g&254)>>>1;f=e?d:k[m+4>>2]|0;w=i[n>>0]|0;c=(w&1)==0;g=(g&65535)>>>8&255;a:do if((f|0)==((c?(w&255)>>>1:k[n+4>>2]|0)|0)){c=c?n+1|0:k[n+8>>2]|0;b:do if(e){if(!f){P1(n);P1(m);break}c:do if(g<<24>>24==(i[c>>0]|0)){e=m+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d)break;c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0))break c}P1(n);P1(m);break b}while(0);P1(n);P1(m);break a}else{w=(tG(k[m+8>>2]|0,c,f)|0)==0;P1(n);P1(m);if(!w)break a}while(0);h=a+96|0;_G(q,h);l=b+96|0;x=0;sa(430,s|0,l|0);w=x;x=0;if(w&1){w=mb()|0;P1(q);yb(w|0)}g=j[q>>1]|0;e=(g&1)==0;d=(g&254)>>>1;f=e?d:k[q+4>>2]|0;w=i[s>>0]|0;c=(w&1)==0;g=(g&65535)>>>8&255;d:do if((f|0)==((c?(w&255)>>>1:k[s+4>>2]|0)|0)){c=c?s+1|0:k[s+8>>2]|0;e:do if(e){if(!f){P1(s);P1(q);break}f:do if(g<<24>>24==(i[c>>0]|0)){e=q+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d)break;c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0))break f}P1(s);P1(q);break e}while(0);P1(s);P1(q);break d}else{w=(tG(k[q+8>>2]|0,c,f)|0)==0;P1(s);P1(q);if(!w)break d}while(0);w=(k[a+108>>2]|0)>>>0<(k[b+108>>2]|0)>>>0;r=v;return w|0}else{P1(s);P1(q)}while(0);_G(t,h);x=0;sa(430,u|0,l|0);w=x;x=0;if(w&1){w=mb()|0;P1(t);yb(w|0)}else{b=i[t>>0]|0;s=(b&1)==0;b=s?(b&255)>>>1:k[t+4>>2]|0;a=i[u>>0]|0;w=(a&1)==0;a=w?(a&255)>>>1:k[u+4>>2]|0;w=tG(s?t+1|0:k[t+8>>2]|0,w?u+1|0:k[u+8>>2]|0,a>>>0>>0?a:b)|0;P1(u);P1(t);w=(((w|0)==0?(b>>>0>>0?-2147483648:0):w)|0)<0;r=v;return w|0}}else{P1(n);P1(m)}while(0);_G(o,h);x=0;sa(430,p|0,l|0);w=x;x=0;if(w&1){w=mb()|0;P1(o);yb(w|0)}else{b=i[o>>0]|0;u=(b&1)==0;b=u?(b&255)>>>1:k[o+4>>2]|0;a=i[p>>0]|0;w=(a&1)==0;a=w?(a&255)>>>1:k[p+4>>2]|0;w=tG(u?o+1|0:k[o+8>>2]|0,w?p+1|0:k[p+8>>2]|0,a>>>0>>0?a:b)|0;P1(p);P1(o);w=(((w|0)==0?(b>>>0>>0?-2147483648:0):w)|0)<0;r=v;return w|0}return 0}function og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;t=r;r=r+48|0;v=t+24|0;s=t+12|0;o=t+8|0;p=t+4|0;q=t;k[v>>2]=0;w=v+4|0;k[w>>2]=0;k[v+8>>2]=0;k[s>>2]=0;u=s+4|0;k[u>>2]=0;k[s+8>>2]=0;g=b+16|0;f=k[g>>2]|0;h=b+20|0;b=k[h>>2]|0;e=(b|0)==0;if(!e)c3(b);c=(k[f+16>>2]|0)+(k[f+20>>2]|0)|0;n=k[f+4>>2]|0;d=n+(((c>>>0)/170|0)<<2)|0;if((k[f+8>>2]|0)==(n|0))c=0;else c=(k[d>>2]|0)+(((c>>>0)%170|0)*24|0)|0;if(!e)CQ(b);f=k[g>>2]|0;g=k[h>>2]|0;h=(g|0)==0;if(!h)c3(g);b=k[f+4>>2]|0;e=k[f+16>>2]|0;if((k[f+8>>2]|0)==(b|0))b=0;else b=(k[b+(((e>>>0)/170|0)<<2)>>2]|0)+(((e>>>0)%170|0)*24|0)|0;if(!h)CQ(g);a:do if((c|0)==(b|0))q=40;else{m=s+8|0;n=v+8|0;b:while(1){j=d;if((c|0)==(k[j>>2]|0))e=(k[j+-4>>2]|0)+4080|0;else e=c;l=e+-24|0;c:do if(!(k[e+-20>>2]|0)){h=e+-12|0;f=k[h>>2]|0;e=k[s>>2]|0;if((e|0)!=(k[u>>2]|0)){do{x=0;g=Ka(855,k[e>>2]|0,f|0)|0;y=x;x=0;if(y&1){q=23;break b}e=e+4|0;if(g)break c}while((e|0)!=(k[u>>2]|0));f=k[h>>2]|0}k[o>>2]=f;if(e>>>0<(k[m>>2]|0)>>>0){k[e>>2]=f;k[u>>2]=(k[u>>2]|0)+4}else{x=0;sa(534,s|0,o|0);y=x;x=0;if(y&1){q=24;break b}}k[p>>2]=l;e=k[w>>2]|0;if(e>>>0<(k[n>>2]|0)>>>0){k[e>>2]=l;k[w>>2]=(k[w>>2]|0)+4;break}else{x=0;sa(535,v|0,p|0);y=x;x=0;if(y&1){q=24;break b}else break}}else{k[q>>2]=l;e=k[w>>2]|0;if(e>>>0<(k[n>>2]|0)>>>0){k[e>>2]=l;k[w>>2]=(k[w>>2]|0)+4;break}else{x=0;sa(535,v|0,q|0);y=x;x=0;if(y&1){q=24;break b}else break}}while(0);if((c|0)==(k[j>>2]|0)){d=j+-4|0;c=(k[d>>2]|0)+4080|0}c=c+-24|0;if((c|0)==(b|0)){q=40;break a}}if((q|0)==23){c=mb()|0;q=26;break}else if((q|0)==24){c=mb()|0;q=26;break}}while(0);d:do if((q|0)==40){x=0;p=ua(186,36)|0;y=x;x=0;if(y&1){c=mb()|0;q=26;break}k[p+4>>2]=0;k[p+8>>2]=0;k[p>>2]=14520;n=p+12|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[n+12>>2]=0;k[n+16>>2]=0;k[n+20>>2]=0;i[a>>0]=0;k[a+4>>2]=2;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=n;o=a+20|0;k[o>>2]=p;c3(p);CQ(p);c=(k[w>>2]|0)-(k[v>>2]|0)>>2;e:do if(c|0){h=p+20|0;j=p+16|0;l=p+28|0;m=p+32|0;while(1){c=c+-1|0;c3(p);g=k[(k[v>>2]|0)+(c<<2)>>2]|0;f=k[h>>2]|0;e=k[j>>2]|0;y=f-e>>2;d=k[l>>2]|0;b=k[m>>2]|0;if((((y|0)==0?0:(y*170|0)+-1|0)|0)==(b+d|0)){x=0;ra(336,n|0);y=x;x=0;if(y&1)break;b=k[m>>2]|0;d=k[l>>2]|0;f=k[h>>2]|0;e=k[j>>2]|0}b=b+d|0;if((f|0)==(e|0))d=0;else d=(k[e+(((b>>>0)/170|0)<<2)>>2]|0)+(((b>>>0)%170|0)*24|0)|0;k[d>>2]=k[g>>2];k[d+4>>2]=k[g+4>>2];k[d+8>>2]=k[g+8>>2];k[d+12>>2]=k[g+12>>2];k[d+16>>2]=k[g+16>>2];b=k[g+20>>2]|0;k[d+20>>2]=b;if(b|0)c3(b);k[m>>2]=(k[m>>2]|0)+1;CQ(p);if(!c)break e}b=mb()|0;CQ(p);c=k[o>>2]|0;if(!c){e=b;break d}CQ(c);e=b;break d}while(0);c=k[s>>2]|0;b=c;if(c|0){d=k[u>>2]|0;if((d|0)!=(c|0))k[u>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(c)}c=k[v>>2]|0;if(!c){r=t;return}b=k[w>>2]|0;if((b|0)!=(c|0))k[w>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);r=t;return}while(0);if((q|0)==26)e=c;c=k[s>>2]|0;b=c;if(c|0){d=k[u>>2]|0;if((d|0)!=(c|0))k[u>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(c)}c=k[v>>2]|0;if(!c)yb(e|0);b=k[w>>2]|0;if((b|0)!=(c|0))k[w>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);yb(e|0)}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;v=r;r=r+128|0;y=v+108|0;w=v+96|0;m=v+84|0;n=v+72|0;o=v+60|0;p=v+48|0;q=v+36|0;s=v+24|0;t=v+12|0;u=v;h=a+68|0;_G(y,h);l=b+68|0;x=0;sa(430,w|0,l|0);g=x;x=0;a:do if(g&1)c=mb()|0;else{b:do if(Ir(y,w)|0){x=0;sa(430,m|0,a+80|0);g=x;x=0;do if(g&1)c=mb()|0;else{x=0;sa(430,n|0,b+80|0);g=x;x=0;if(g&1){c=mb()|0;P1(m);break}g=j[m>>1]|0;e=(g&1)==0;d=(g&254)>>>1;f=e?d:k[m+4>>2]|0;z=i[n>>0]|0;c=(z&1)==0;g=(g&65535)>>>8&255;if((f|0)!=((c?(z&255)>>>1:k[n+4>>2]|0)|0)){P1(n);P1(m);P1(w);P1(y);break b}c=c?n+1|0:k[n+8>>2]|0;c:do if(e){if(!f){P1(n);P1(m);P1(w);P1(y);break}d:do if(g<<24>>24==(i[c>>0]|0)){e=m+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d)break;c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0))break d}P1(n);P1(m);P1(w);P1(y);break c}while(0);P1(n);P1(m);P1(w);P1(y);break b}else{z=(tG(k[m+8>>2]|0,c,f)|0)==0;P1(n);P1(m);P1(w);P1(y);if(!z)break b}while(0);z=k[a+96>>2]|0;z=tc[k[(k[z>>2]|0)+60>>2]&511](z)|0;y=k[b+96>>2]|0;z=(tc[k[(k[y>>2]|0)+60>>2]&511](y)|0)&(z^1);r=v;return z|0}while(0);P1(w);break a}else{P1(w);P1(y)}while(0);_G(o,h);x=0;sa(430,p|0,l|0);z=x;x=0;if(z&1){z=mb()|0;P1(o);yb(z|0)}z=Ir(o,p)|0;P1(p);P1(o);if(z){_G(q,a+80|0);x=0;sa(430,s|0,b+80|0);z=x;x=0;if(z&1){z=mb()|0;P1(q);yb(z|0)}else{w=i[q>>0]|0;a=(w&1)==0;w=a?(w&255)>>>1:k[q+4>>2]|0;y=i[s>>0]|0;z=(y&1)==0;y=z?(y&255)>>>1:k[s+4>>2]|0;z=tG(a?q+1|0:k[q+8>>2]|0,z?s+1|0:k[s+8>>2]|0,y>>>0>>0?y:w)|0;P1(s);P1(q);z=(((z|0)==0?(w>>>0>>0?-2147483648:0):z)|0)<0;r=v;return z|0}}else{_G(t,h);x=0;sa(430,u|0,l|0);z=x;x=0;if(z&1){z=mb()|0;P1(t);yb(z|0)}else{w=i[t>>0]|0;a=(w&1)==0;w=a?(w&255)>>>1:k[t+4>>2]|0;y=i[u>>0]|0;z=(y&1)==0;y=z?(y&255)>>>1:k[u+4>>2]|0;z=tG(a?t+1|0:k[t+8>>2]|0,z?u+1|0:k[u+8>>2]|0,y>>>0>>0?y:w)|0;P1(u);P1(t);z=(((z|0)==0?(w>>>0>>0?-2147483648:0):z)|0)<0;r=v;return z|0}}}while(0);P1(y);z=c;yb(z|0);return 0}function qg(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;q=0;o=r;r=r+112|0;j=o+96|0;f=o+80|0;e=o+68|0;g=o+56|0;h=o+48|0;l=o+32|0;p=o+20|0;m=o+8|0;n=o;_G(f,68980);x=0;sa(487,a|0,f|0);s=x;x=0;do if(s&1)e=mb()|0;else{k[a>>2]=8184;s=a+8|0;x=0;sa(430,s|0,f|0);t=x;x=0;if(t&1){e=mb()|0;f4(a);break}P1(f);k[a>>2]=10672;k[a+20>>2]=b;k[a+24>>2]=c;f=a+28|0;x=0;sa(430,f|0,d|0);t=x;x=0;if(t&1)e=mb()|0;else{k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;t=i[68980]|0;u=(t&1)==0;t=u?(t&255)>>>1:k[17246]|0;x=0;Ua(10,e|0,(u?68981:k[17247]|0)|0,t|0,t+3|0);t=x;x=0;a:do if(t&1)q=7;else{x=0;xa(46,e|0,31354,3)|0;u=x;x=0;if(u&1)q=7;else{if(!(i[s>>0]&1)){i[s+1>>0]=0;i[s>>0]=0}else{i[k[a+16>>2]>>0]=0;k[a+12>>2]=0}x=0;sa(443,s|0,0);u=x;x=0;if(u&1){u=Eb(0)|0;Nba(u)}k[s>>2]=k[e>>2];k[s+4>>2]=k[e+4>>2];k[s+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;P1(e);u=k[(k[b>>2]|0)+20>>2]|0;k[h>>2]=0;k[h+4>>2]=5;x=0;k[j>>2]=k[h>>2];k[j+4>>2]=k[h+4>>2];Qa(u|0,g|0,b|0,j|0);u=x;x=0;b:do if(!(u&1)){u=i[g>>0]|0;t=(u&1)==0;x=0;xa(46,s|0,(t?g+1|0:k[g+8>>2]|0)|0,(t?(u&255)>>>1:k[g+4>>2]|0)|0)|0;u=x;x=0;if(u&1){e=mb()|0;P1(g);break a}P1(g);k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;e=i[d>>0]|0;e=(e&1)==0?(e&255)>>>1:k[d+4>>2]|0;x=0;Ua(10,p|0,41822,1,e+1|0);u=x;x=0;if(!(u&1)){x=0;xa(46,p|0,((i[d>>0]&1)==0?d+1|0:k[d+8>>2]|0)|0,e|0)|0;u=x;x=0;if(!(u&1)){x=0;e=Ka(866,p|0,41822)|0;u=x;x=0;do if(u&1)e=mb()|0;else{k[l>>2]=k[e>>2];k[l+4>>2]=k[e+4>>2];k[l+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;u=i[l>>0]|0;t=(u&1)==0;x=0;xa(46,s|0,(t?l+1|0:k[l+8>>2]|0)|0,(t?(u&255)>>>1:k[l+4>>2]|0)|0)|0;u=x;x=0;if(u&1){e=mb()|0;P1(l);break}P1(l);P1(p);u=k[(k[c>>2]|0)+20>>2]|0;k[n>>2]=5;k[n+4>>2]=5;x=0;k[j>>2]=k[n>>2];k[j+4>>2]=k[n+4>>2];Qa(u|0,m|0,c|0,j|0);u=x;x=0;if(u&1)break b;u=i[m>>0]|0;t=(u&1)==0;x=0;xa(46,s|0,(t?m+1|0:k[m+8>>2]|0)|0,(t?(u&255)>>>1:k[m+4>>2]|0)|0)|0;u=x;x=0;if(u&1){e=mb()|0;P1(m);break a}P1(m);x=0;Ka(866,s|0,42479)|0;u=x;x=0;if(u&1)break b;r=o;return}while(0);P1(p);break a}}e=mb()|0;P1(p);q=28;break a}while(0);e=mb()|0;q=28}}while(0);if((q|0)==7){u=mb()|0;P1(e);e=u;q=28}P1(f)}k[a>>2]=8184;P1(s);f4(a);u=e;yb(u|0)}while(0);P1(f);u=e;yb(u|0)}function rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;f=j;d=b+8|0;e=b+1|0;h=Mb(((i[b>>0]&1)==0?e:k[d>>2]|0)|0,1)|0;if(!h){h=vm(73208,42841,23)|0;c=i[b>>0]|0;a=(c&1)==0;d=vm(vm(h,a?e:k[d>>2]|0,a?(c&255)>>>1:k[b+4>>2]|0)|0,42839,1)|0;c=TN(d+(k[(k[d>>2]|0)+-12>>2]|0)|0)|0;k[f>>2]=c;x=0;c=Ka(865,f|0,74172)|0;a=x;x=0;if(a&1){j=mb()|0;J5(f);yb(j|0)}x=0;c=Ka(k[(k[c>>2]|0)+28>>2]|0,c|0,10)|0;a=x;x=0;if(a&1){j=mb()|0;J5(f);yb(j|0)}J5(f);zp(d,c)|0;ct(d)|0;c=Ya()|0;if(!c){h=0;a=0;a=h&a;r=j;return a|0}d=vm(73208,c,OD(c)|0)|0;c=TN(d+(k[(k[d>>2]|0)+-12>>2]|0)|0)|0;k[f>>2]=c;x=0;c=Ka(865,f|0,74172)|0;a=x;x=0;if(a&1){j=mb()|0;J5(f);yb(j|0)}x=0;c=Ka(k[(k[c>>2]|0)+28>>2]|0,c|0,10)|0;a=x;x=0;if(a&1){j=mb()|0;J5(f);yb(j|0)}J5(f);zp(d,c)|0;ct(d)|0;h=0;a=0;a=h&a;r=j;return a|0}c=_a(h|0,42709)|0;if(!c){g=vm(73208,42801,37)|0;c=i[b>>0]|0;a=(c&1)==0;d=vm(vm(g,a?e:k[d>>2]|0,a?(c&255)>>>1:k[b+4>>2]|0)|0,42839,1)|0;c=TN(d+(k[(k[d>>2]|0)+-12>>2]|0)|0)|0;k[f>>2]=c;x=0;c=Ka(865,f|0,74172)|0;a=x;x=0;if(a&1){j=mb()|0;J5(f);yb(j|0)}x=0;c=Ka(k[(k[c>>2]|0)+28>>2]|0,c|0,10)|0;a=x;x=0;if(a&1){j=mb()|0;J5(f);yb(j|0)}J5(f);zp(d,c)|0;ct(d)|0;c=Ya()|0;do if(c|0){d=vm(73208,c,OD(c)|0)|0;c=TN(d+(k[(k[d>>2]|0)+-12>>2]|0)|0)|0;k[f>>2]=c;x=0;c=Ka(865,f|0,74172)|0;a=x;x=0;if(a&1){j=mb()|0;J5(f);yb(j|0)}x=0;c=Ka(k[(k[c>>2]|0)+28>>2]|0,c|0,10)|0;a=x;x=0;if(a&1){j=mb()|0;J5(f);yb(j|0)}else{J5(f);zp(d,c)|0;ct(d)|0;break}}while(0);Db(h|0)|0;h=0;a=0;a=h&a;r=j;return a|0}if(!(_w(Nc[c&15]()|0)|0)){h=1;a=0;a=h&a;r=j;return a|0}c=_a(h|0,42734)|0;if(c|0){d=Nc[c&15]()|0;if(d|0){b=a+28|0;f=a+32|0;g=a+24|0;c=k[d>>2]|0;if(c|0)do{e=k[b>>2]|0;if((e|0)==(k[f>>2]|0))Gw(g,d);else{k[e>>2]=c;k[b>>2]=(k[b>>2]|0)+4}d=d+4|0;c=k[d>>2]|0}while((c|0)!=0)}}c=_a(h|0,42757)|0;if(c|0){d=Nc[c&15]()|0;if(d|0){b=a+16|0;f=a+20|0;g=a+12|0;c=k[d>>2]|0;if(c|0)do{e=k[b>>2]|0;if((e|0)==(k[f>>2]|0))Fw(g,d);else{k[e>>2]=c;k[b>>2]=(k[b>>2]|0)+4}d=d+4|0;c=k[d>>2]|0}while((c|0)!=0)}}c=_a(h|0,42780)|0;if(!c){h=1;a=1;a=h&a;r=j;return a|0}d=Nc[c&15]()|0;if(!d){h=1;a=1;a=h&a;r=j;return a|0}b=a+4|0;f=a+8|0;c=k[d>>2]|0;if(!c){h=1;a=1;a=h&a;r=j;return a|0}do{e=k[b>>2]|0;if((e|0)==(k[f>>2]|0))Fw(a,d);else{k[e>>2]=c;k[b>>2]=(k[b>>2]|0)+4}d=d+4|0;c=k[d>>2]|0}while((c|0)!=0);c=1;d=1;a=c&d;r=j;return a|0}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;y=r;r=r+192|0;w=y;u=y+172|0;t=y+160|0;v=y+120|0;f=y+104|0;e=y+92|0;c=y+80|0;g=y+64|0;A=y+68|0;z=y+52|0;o=y+40|0;p=a+152|0;k[w>>2]=k[p>>2];k[w+4>>2]=k[p+4>>2];k[w+8>>2]=k[p+8>>2];q=a+76|0;d=k[q>>2]|0;s=a+84|0;k[u>>2]=k[s>>2];k[u+4>>2]=k[s+4>>2];k[u+8>>2]=k[s+8>>2];m=a+96|0;k[t>>2]=k[m>>2];k[t+4>>2]=k[m+4>>2];k[t+8>>2]=k[m+8>>2];n=a+108|0;h=v;j=n;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));Bt(a,1,0)|0;a:do if(!(Rq(a,1,0)|0)){h=n;j=v;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[p>>2]=k[w>>2];k[p+4>>2]=k[w+4>>2];k[p+8>>2]=k[w+8>>2];k[q>>2]=d;k[m>>2]=k[t>>2];k[m+4>>2]=k[t+4>>2];k[m+8>>2]=k[t+8>>2];k[s>>2]=k[u>>2];k[s+4>>2]=k[u+4>>2];k[s+8>>2]=k[u+8>>2];lE(f,39906,11);x=0;Qa(74,e|0,39918,7);l=x;x=0;if(l&1)c=mb()|0;else{x=0;Qa(74,c|0,41062,20);l=x;x=0;do if(l&1)c=mb()|0;else{x=0;Ua(31,a|0,f|0,e|0,c|0);l=x;x=0;if(l&1){A=mb()|0;P1(c);c=A;break}else{P1(c);P1(e);P1(f);break a}}while(0);P1(e)}P1(f);A=c;yb(A|0)}while(0);c=(k[a+40>>2]|0)+36|0;d=lD(c,88)|0;h=w;j=n;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[d+4>>2]=0;h=d+8|0;j=w;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[d+52>>2]=0;k[d+56>>2]=0;i[d+60>>0]=0;k[d+68>>2]=0;k[d+72>>2]=0;k[d+76>>2]=0;k[d>>2]=9664;k[d+64>>2]=9756;i[d+84>>0]=b&1;i[d+85>>0]=0;i[d+86>>0]=0;i[d+87>>0]=0;d=N4(c,d)|0;k[g>>2]=d;e=a+48|0;c=k[e>>2]|0;if((c|0)==(k[a+52>>2]|0))Jw(a+44|0,g);else{k[c>>2]=d;k[e>>2]=(k[e>>2]|0)+4}ew(a,0)|0;k[w>>2]=k[p>>2];k[w+4>>2]=k[p+4>>2];k[w+8>>2]=k[p+8>>2];c=k[q>>2]|0;k[u>>2]=k[s>>2];k[u+4>>2]=k[s+4>>2];k[u+8>>2]=k[s+8>>2];k[t>>2]=k[m>>2];k[t+4>>2]=k[m+4>>2];k[t+8>>2]=k[m+8>>2];h=v;j=n;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));Bt(a,1,0)|0;if(Qq(a,1,0)|0){YH(d,n);A=k[e>>2]|0;A=A+-4|0;k[e>>2]=A;r=y;return d|0}h=n;j=v;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[p>>2]=k[w>>2];k[p+4>>2]=k[w+4>>2];k[p+8>>2]=k[w+8>>2];k[q>>2]=c;k[m>>2]=k[t>>2];k[m+4>>2]=k[t+4>>2];k[m+8>>2]=k[t+8>>2];k[s>>2]=k[u>>2];k[s+4>>2]=k[u+4>>2];k[s+8>>2]=k[u+8>>2];lE(A,39906,11);x=0;Qa(74,z|0,39918,7);w=x;x=0;if(w&1)c=mb()|0;else{x=0;Qa(74,o|0,41083,20);w=x;x=0;do if(w&1)c=mb()|0;else{x=0;Ua(31,a|0,A|0,z|0,o|0);a=x;x=0;if(a&1){c=mb()|0;P1(o);break}P1(o);P1(z);P1(A);YH(d,n);A=k[e>>2]|0;A=A+-4|0;k[e>>2]=A;r=y;return d|0}while(0);P1(z)}P1(A);A=c;yb(A|0);return 0}function tg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=0;o=r;r=r+320|0;e=o+240|0;s=o+52|0;f=o;p=o+40|0;j=o+28|0;l=o+16|0;c=a+8|0;d=a+1|0;if((pL((i[a>>0]&1)==0?d:k[c>>2]|0,e)|0)==-1){s=0;r=o;return s|0}if((k[e+12>>2]&61440|0)==16384){s=0;r=o;return s|0}c=(i[a>>0]&1)==0?d:k[c>>2]|0;n=s+108|0;m=s+8|0;k[s>>2]=13104;k[n>>2]=13124;k[s+4>>2]=0;x=0;sa(452,s+108|0,m|0);h=x;x=0;if(h&1){s=mb()|0;P9(n);yb(s|0)}k[s+180>>2]=0;k[s+184>>2]=-1;k[s>>2]=13144;k[n>>2]=13164;x=0;ra(339,m|0);h=x;x=0;do if(h&1)b=mb()|0;else{g=s+72|0;if(!(k[g>>2]|0)){c=nC(c,34359)|0;k[g>>2]=c;if(!c)q=9;else{k[s+96>>2]=14;if(Mba(c,0,2)|0){YD(k[g>>2]|0)|0;k[g>>2]=0;q=9}}}else q=9;if((q|0)==9){h=s+(k[(k[s>>2]|0)+-12>>2]|0)|0;x=0;sa(458,h|0,k[h+16>>2]|4|0);h=x;x=0;if(h&1){b=mb()|0;$v(m);break}}a:do if(!(k[g>>2]|0))h=0;else{x=0;sa(528,f|0,s|0);h=x;x=0;do if(h&1)q=25;else{c=k[f+8>>2]|0;e=hd(c+1|0)|0;x=0;Pa(9,s|0,0,0,0)|0;h=x;x=0;if(h&1)q=25;else{x=0;xa(58,s|0,e|0,c|0)|0;h=x;x=0;if(h&1)q=25;else{i[e+c>>0]=0;c=k[g>>2]|0;if(c|0){x=0;d=ua(k[(k[m>>2]|0)+24>>2]|0,m|0)|0;h=x;x=0;if(h&1){b=mb()|0;YD(c)|0;break}if(!(YD(c)|0)){k[g>>2]=0;if(!d){h=e;break a}}}h=s+(k[(k[s>>2]|0)+-12>>2]|0)|0;x=0;sa(458,h|0,k[h+16>>2]|4|0);h=x;x=0;if(h&1)q=25;else{h=e;break a}}}}while(0);if((q|0)==25)b=mb()|0;q=b;k[s>>2]=13144;k[n>>2]=13164;$v(m);P9(n);yb(q|0)}while(0);k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;c=i[a>>0]|0;c=(c&1)==0?(c&255)>>>1:k[a+4>>2]|0;do if(c>>>0>5){x=0;qa(4,j|0,a|0,c+-5|0,5,a|0);a=x;x=0;if(a&1)q=39;else{if(!(i[p>>0]&1)){i[p+1>>0]=0;i[p>>0]=0}else{i[k[p+8>>2]>>0]=0;k[p+4>>2]=0}x=0;sa(443,p|0,0);a=x;x=0;if(a&1){o=Eb(0)|0;Nba(o)}else{k[p>>2]=k[j>>2];k[p+4>>2]=k[j+4>>2];k[p+8>>2]=k[j+8>>2];k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;P1(j);b=p+4|0;g=b;c=i[p>>0]|0;b=k[b>>2]|0;q=29;break}}}else{g=p+4|0;c=0;b=0;q=29}while(0);b:do if((q|0)==29){c:do if(((c&1)==0?(c&255)>>>1:b)|0){e=p+8|0;f=p+1|0;d=0;while(1){x=0;b=ua(220,i[((c&1)==0?f:k[e>>2]|0)+d>>0]|0)|0;a=x;x=0;if(a&1)break;i[((i[p>>0]&1)==0?f:k[e>>2]|0)+d>>0]=b;d=d+1|0;c=i[p>>0]|0;if(d>>>0>=((c&1)==0?(c&255)>>>1:k[g>>2]|0)>>>0)break c}b=mb()|0;q=40;break b}while(0);do if((h|0)!=0&(KH(p,34251)|0)==0){a=OD(h)|0;x=0;Qa(74,l|0,h|0,a|0);a=x;x=0;if(a&1){q=39;break b}x=0;b=Ka(868,l|0,33)|0;a=x;x=0;if(a&1){b=mb()|0;P1(l);break b}else{P1(l);cf(h);break}}else b=h;while(0);P1(p);k[s>>2]=13144;k[n>>2]=13164;$v(m);P9(n);s=b;r=o;return s|0}while(0);if((q|0)==39){b=mb()|0;q=40}P1(p);q=b;k[s>>2]=13144;k[n>>2]=13164;$v(m);P9(n);yb(q|0)}while(0);s=b;P9(n);yb(s|0);return 0}function ug(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;A=0;y=r;r=r+240|0;w=y;q=y+208|0;B=y+196|0;g=y+192|0;z=y+180|0;v=y+176|0;t=y+16|0;u=y+8|0;s=y+4|0;a=0;while(1){if((a|0)==3)break;k[B+(a<<2)>>2]=0;a=a+1|0}x=0;d=ua(189,d|0)|0;p=x;x=0;do if(p&1)a=mb()|0;else{k[g>>2]=d;x=0;a=Ka(865,g|0,74172)|0;p=x;x=0;if(!(p&1)){x=0;Pa(k[(k[a>>2]|0)+32>>2]|0,a|0,49232,49258,q|0)|0;p=x;x=0;if(!(p&1)){sK(d)|0;a=0;while(1){if((a|0)==3)break;k[z+(a<<2)>>2]=0;a=a+1|0}if(!(i[z>>0]&1))a=10;else a=(k[z>>2]&-2)+-1|0;x=0;Qa(86,z|0,a|0,0);p=x;x=0;a:do if(p&1)A=36;else{o=z+8|0;p=z+1|0;d=(i[z>>0]&1)==0?p:k[o>>2]|0;k[v>>2]=d;k[u>>2]=t;k[s>>2]=0;n=z+4|0;a=k[b>>2]|0;b:while(1){if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;g=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;m=x;x=0;if(m&1){A=35;break}if((g|0)==-1){k[b>>2]=0;a=0}}g=(a|0)==0;j=k[c>>2]|0;do if(!j)A=25;else{if((k[j+12>>2]|0)!=(k[j+16>>2]|0))if(g)break;else break b;x=0;h=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;m=x;x=0;if(m&1){A=35;break b}if((h|0)==-1){k[c>>2]=0;A=25;break}else if(g)break;else break b}while(0);if((A|0)==25){A=0;if(g){j=0;break}else j=0}g=i[z>>0]|0;g=(g&1)==0?(g&255)>>>1:k[n>>2]|0;if((k[v>>2]|0)==(d+g|0)){x=0;Qa(86,z|0,g<<1|0,0);m=x;x=0;if(m&1){A=35;break}if(!(i[z>>0]&1))d=10;else d=(k[z>>2]&-2)+-1|0;x=0;Qa(86,z|0,d|0,0);m=x;x=0;if(m&1){A=35;break}d=(i[z>>0]&1)==0?p:k[o>>2]|0;k[v>>2]=d+g}h=a+12|0;g=k[h>>2]|0;m=a+16|0;if((g|0)==(k[m>>2]|0)){x=0;g=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;C=x;x=0;if(C&1){A=35;break}}else g=l[g>>0]|0;if(Ho(g&255,16,d,v,s,0,B,t,u,q)|0)break;g=k[h>>2]|0;if((g|0)==(k[m>>2]|0)){x=0;ua(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;C=x;x=0;if(C&1){A=35;break}else continue}else{k[h>>2]=g+1;continue}}if((A|0)==35){a=mb()|0;break}x=0;Qa(86,z|0,(k[v>>2]|0)-d|0,0);C=x;x=0;if(C&1)A=36;else{h=i[z>>0]|0;d=k[o>>2]|0;x=0;g=Oa(3)|0;C=x;x=0;if(C&1)A=36;else{x=0;k[w>>2]=f;d=Pa(19,((h&1)==0?p:d)|0,g|0,49267,w|0)|0;C=x;x=0;if(C&1)A=36;else{if((d|0)!=1)k[e>>2]=4;if(!a)a=0;else if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ua(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;C=x;x=0;if(C&1){A=36;break}if((d|0)==-1){k[b>>2]=0;a=0}}d=(a|0)==0;do if(!j)A=61;else{if((k[j+12>>2]|0)==(k[j+16>>2]|0)){x=0;a=ua(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;C=x;x=0;if(C&1){A=36;break a}if((a|0)==-1){k[c>>2]=0;A=61;break}}if(!d)A=62}while(0);if((A|0)==61)if(d)A=62;if((A|0)==62)k[e>>2]=k[e>>2]|2;C=k[b>>2]|0;P1(z);P1(B);r=y;return C|0}}}}while(0);if((A|0)==36)a=mb()|0;P1(z);break}}a=mb()|0;sK(d)|0}while(0);P1(B);yb(a|0);return 0}function vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=0;s=r;r=r+496|0;p=s+392|0;c=s+380|0;d=s;u=s+272|0;h=s+232|0;f=s+136|0;e=s+96|0;n=s+148|0;m=s+56|0;o=s+40|0;NW(s+368|0,-1,-1,-1);CH(h,34212,0,-1);lE(f,34219,4);g=d;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));x=0;sa(430,c|0,f|0);q=x;x=0;do if(q&1)c=mb()|0;else{x=0;g=p;h=d;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));Qa(115,u|0,p|0,c|0);q=x;x=0;if(q&1){u=mb()|0;P1(c);c=u;break}P1(c);k[u>>2]=7144;P1(f);x=0;Ua(14,e|0,34212,0,-1);q=x;x=0;if(q&1)t=22;else{k[p+4>>2]=0;g=p+8|0;h=e;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));i[p+48>>0]=0;i[p+49>>0]=0;i[p+50>>0]=0;k[p>>2]=6840;e=p+56|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[p+52>>2]=7;l=p+68|0;k[l>>2]=6956;c=p+72|0;k[c>>2]=0;q=p+76|0;k[q>>2]=0;k[p+80>>2]=0;x=0;d=ua(186,4)|0;j=x;x=0;if(j&1)t=22;else{f=d;k[c>>2]=f;k[q>>2]=f;k[p+80>>2]=d+4;k[p>>2]=6984;k[l>>2]=7116;k[p+92>>2]=0;k[p+96>>2]=0;f=p+92|0;k[p+88>>2]=f;i[p+100>>0]=0;i[p+101>>0]=0;k[d>>2]=u;k[q>>2]=(k[q>>2]|0)+4;x=0;Ua(14,m|0,34212,0,-1);j=x;x=0;do if(j&1)c=mb()|0;else{k[n+4>>2]=0;g=n+8|0;h=m;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));i[n+48>>0]=0;i[n+49>>0]=0;i[n+50>>0]=0;c=n+56|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[n+52>>2]=7;k[n>>2]=7696;k[n+68>>2]=0;k[n+72>>2]=p;k[n+76>>2]=0;k[n+80>>2]=0;if(i[e>>0]|0)i[c>>0]=1;x=0;Qa(120,a|0,n|0,0);m=x;x=0;if(!(m&1)){x=0;Qa(120,b|0,n|0,0);n=x;x=0;if(!(n&1)){c=k[(k[a>>2]|0)+112>>2]|0;x=0;Qa(74,o|0,78097,0);n=x;x=0;if(!(n&1)){x=0;e=xa(c|0,a|0,b|0,o|0)|0;n=x;x=0;if(n&1){c=mb()|0;P1(o);break}P1(o);x=0;ua(217,a|0)|0;a=x;x=0;if(!(a&1)){x=0;ua(217,b|0)|0;b=x;x=0;if(!(b&1)){k[p>>2]=6984;k[l>>2]=7116;ZD(p+88|0,k[f>>2]|0);k[l>>2]=6956;c=k[p+72>>2]|0;if(!c){k[u>>2]=6600;t=u+80|0;P1(t);u=u+68|0;P1(u);r=s;return e|0}d=k[q>>2]|0;if((d|0)!=(c|0))k[q>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);k[u>>2]=6600;t=u+80|0;P1(t);u=u+68|0;P1(u);r=s;return e|0}}}}}c=mb()|0}while(0);k[p>>2]=6984;k[l>>2]=7116;ZD(p+88|0,k[f>>2]|0);k[l>>2]=6956;d=k[p+72>>2]|0;e=d;if(d){f=k[q>>2]|0;if((f|0)!=(d|0))k[q>>2]=f+(~((f+-4-e|0)>>>2)<<2);uha(d)}}}if((t|0)==22)c=mb()|0;k[u>>2]=6600;P1(u+80|0);P1(u+68|0);u=c;yb(u|0)}while(0);P1(f);u=c;yb(u|0);return 0}function wg(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;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;w=0;y=r;r=r+32|0;s=y+16|0;q=y+12|0;v=y+8|0;t=y+4|0;u=y;i=TN(d)|0;k[v>>2]=i;x=0;v=Ka(865,v|0,74204)|0;p=x;x=0;if(p&1){y=mb()|0;sK(i)|0;yb(y|0)}sK(i)|0;k[e>>2]=0;i=0;a:while(1){p=(g|0)!=(h|0);j=i;while(1){i=k[b>>2]|0;if(!(p&(j|0)==0))break a;l=i;if(!i){i=0;o=1}else{j=k[i+12>>2]|0;if((j|0)==(k[i+16>>2]|0))j=tc[k[(k[i>>2]|0)+36>>2]&511](i)|0;else j=k[j>>2]|0;if((j|0)==-1){k[b>>2]=0;i=0;l=0;o=1}else o=0}n=k[c>>2]|0;j=n;do if(!n)w=17;else{m=k[n+12>>2]|0;if((m|0)==(k[n+16>>2]|0))m=tc[k[(k[n>>2]|0)+36>>2]&511](n)|0;else m=k[m>>2]|0;if((m|0)==-1){k[c>>2]=0;j=0;w=17;break}else if(o){m=n;break}else{w=19;break a}}while(0);if((w|0)==17){w=0;if(o){w=19;break a}else m=0}if((wc[k[(k[v>>2]|0)+52>>2]&127](v,k[g>>2]|0,0)|0)<<24>>24==37){o=j;w=22;break}if(wc[k[(k[v>>2]|0)+12>>2]&127](v,8192,k[g>>2]|0)|0){l=m;w=30;break}m=i+12|0;l=k[m>>2]|0;j=i+16|0;if((l|0)==(k[j>>2]|0))l=tc[k[(k[i>>2]|0)+36>>2]&511](i)|0;else l=k[l>>2]|0;o=Jc[k[(k[v>>2]|0)+28>>2]&1023](v,l)|0;if((o|0)==(Jc[k[(k[v>>2]|0)+28>>2]&1023](v,k[g>>2]|0)|0)){w=59;break}k[e>>2]=4;j=4}b:do if((w|0)==22){w=0;j=g+4|0;if((j|0)==(h|0)){w=23;break a}n=wc[k[(k[v>>2]|0)+52>>2]&127](v,k[j>>2]|0,0)|0;switch(n<<24>>24){case 48:case 69:{m=g+8|0;if((m|0)==(h|0)){w=28;break a}g=j;j=wc[k[(k[v>>2]|0)+52>>2]&127](v,k[m>>2]|0,0)|0;i=n;break}default:{j=n;i=0}}p=k[(k[a>>2]|0)+36>>2]|0;k[t>>2]=l;k[u>>2]=o;k[q>>2]=k[t>>2];k[s>>2]=k[u>>2];i=Rc[p&15](a,q,s,d,e,f,j,i)|0;k[b>>2]=i;i=g+8|0}else if((w|0)==30){w=0;do{g=g+4|0;if((g|0)==(h|0)){g=h;break}}while(wc[k[(k[v>>2]|0)+12>>2]&127](v,8192,k[g>>2]|0)|0);j=l;n=l;while(1){if(!i){m=1;i=0}else{l=k[i+12>>2]|0;if((l|0)==(k[i+16>>2]|0))l=tc[k[(k[i>>2]|0)+36>>2]&511](i)|0;else l=k[l>>2]|0;if((l|0)==-1){k[b>>2]=0;m=1;i=0}else m=0}do if(!n)w=46;else{l=k[n+12>>2]|0;if((l|0)==(k[n+16>>2]|0))l=tc[k[(k[n>>2]|0)+36>>2]&511](n)|0;else l=k[l>>2]|0;if((l|0)==-1){k[c>>2]=0;j=0;w=46;break}else if(m^(j|0)==0){o=j;n=j;break}else{i=g;break b}}while(0);if((w|0)==46){w=0;if(m){i=g;break b}else{o=j;n=0}}l=i+12|0;j=k[l>>2]|0;m=i+16|0;if((j|0)==(k[m>>2]|0))j=tc[k[(k[i>>2]|0)+36>>2]&511](i)|0;else j=k[j>>2]|0;if(!(wc[k[(k[v>>2]|0)+12>>2]&127](v,8192,j)|0)){i=g;break b}j=k[l>>2]|0;if((j|0)==(k[m>>2]|0)){tc[k[(k[i>>2]|0)+40>>2]&511](i)|0;j=o;continue}else{k[l>>2]=j+4;j=o;continue}}}else if((w|0)==59){w=0;l=k[m>>2]|0;if((l|0)==(k[j>>2]|0))tc[k[(k[i>>2]|0)+40>>2]&511](i)|0;else k[m>>2]=l+4;i=g+4|0}while(0);g=i;i=k[e>>2]|0}if((w|0)==19)k[e>>2]=4;else if((w|0)==23)k[e>>2]=4;else if((w|0)==28)k[e>>2]=4;if(!i){i=0;l=1}else{g=k[i+12>>2]|0;if((g|0)==(k[i+16>>2]|0))g=tc[k[(k[i>>2]|0)+36>>2]&511](i)|0;else g=k[g>>2]|0;if((g|0)==-1){k[b>>2]=0;i=0;l=1}else l=0}g=k[c>>2]|0;do if(!g)w=77;else{j=k[g+12>>2]|0;if((j|0)==(k[g+16>>2]|0))g=tc[k[(k[g>>2]|0)+36>>2]&511](g)|0;else g=k[j>>2]|0;if((g|0)==-1){k[c>>2]=0;w=77;break}else if(l)break;else{w=79;break}}while(0);if((w|0)==77)if(l)w=79;if((w|0)==79)k[e>>2]=k[e>>2]|2;r=y;return i|0}function xg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+80|0;h=p+60|0;i=p+48|0;l=p+36|0;m=p+24|0;n=p+12|0;o=p;j=a+72|0;g=k[j>>2]|0;if(!g){o=0;r=p;return o|0}if(!(k[b+72>>2]|0)){o=0;r=p;return o|0}else d=a;while(1){e=k[d+76>>2]|0;if(!e)break;else d=e}if(!(k[d+68>>2]|0))d=b;else{o=0;r=p;return o|0}while(1){e=k[d+76>>2]|0;if(!e)break;else d=e}if(!(k[d+68>>2]|0)){d=1;e=a}else{o=0;r=p;return o|0}while(1){e=k[e+76>>2]|0;if(!e)break;else d=d+1|0}e=1;f=b;while(1){f=k[f+76>>2]|0;if(!f)break;else e=e+1|0}if(d>>>0>e>>>0){o=0;r=p;return o|0}if((d|0)==1){e=k[(k[g>>2]|0)+112>>2]|0;while(1){d=k[b+76>>2]|0;if(!d)break;else b=d}b=k[b+72>>2]|0;_G(h,c);x=0;b=xa(e|0,g|0,b|0,h|0)|0;o=x;x=0;if(o&1){p=mb()|0;P1(h);yb(p|0)}else{P1(h);o=b;r=p;return o|0}}e=k[b+76>>2]|0;do if(!e){d=1;e=b}else{d=k[a+76>>2]|0;if(!d){d=1;e=b}else if(!(k[a+68>>2]|0)){d=1;e=b}else{if((k[d+68>>2]|0)!=(k[e+68>>2]|0)){o=0;r=p;return o|0}f=k[d+72>>2]|0;d=k[e+72>>2]|0;e=(d|0)==0;if(!f){if(e){d=1;e=b;break}else b=0;r=p;return b|0}if(e){o=0;r=p;return o|0}h=k[(k[f>>2]|0)+112>>2]|0;lE(i,78097,0);x=0;d=xa(h|0,f|0,d|0,i|0)|0;h=x;x=0;if(h&1){p=mb()|0;P1(i);yb(p|0)}else{P1(i);if(d){d=1;e=b;break}else b=0;r=p;return b|0}}}while(0);while(1){e=k[e+76>>2]|0;if(!e)break;else d=d+1|0}g=d+-1|0;if((d|0)==0|(g|0)==0){o=0;r=p;return o|0}else h=0;while(1){e=k[j>>2]|0;if(e|0){f=k[b+72>>2]|0;if(f|0){i=k[(k[e>>2]|0)+112>>2]|0;_G(l,c);x=0;e=xa(i|0,e|0,f|0,l|0)|0;i=x;x=0;if(i&1){d=33;break}P1(l);if(e){d=35;break}}}h=h+1|0;if(h>>>0>=d>>>0|(h|0)==(g|0)){b=0;d=51;break}else b=k[b+76>>2]|0}if((d|0)==33){p=mb()|0;P1(l);yb(p|0)}else if((d|0)==35){f=k[a+68>>2]|0;d=k[b+68>>2]|0;e=(d|0)==0;if(f|0){if(e){o=0;r=p;return o|0}if((f|0)==2){if((d|0)==1){o=0;r=p;return o|0}}else if((f|0)!=(d|0)){o=0;r=p;return o|0}o=k[a+76>>2]|0;n=k[(k[o>>2]|0)+112>>2]|0;b=k[b+76>>2]|0;lE(m,78097,0);x=0;b=xa(n|0,o|0,b|0,m|0)|0;o=x;x=0;if(o&1){p=mb()|0;P1(m);yb(p|0)}else{P1(m);o=b;r=p;return o|0}}if(e){n=k[a+76>>2]|0;m=k[(k[n>>2]|0)+112>>2]|0;b=k[b+76>>2]|0;lE(o,78097,0);x=0;b=xa(m|0,n|0,b|0,o|0)|0;n=x;x=0;if(n&1){p=mb()|0;P1(o);yb(p|0)}else{P1(o);o=b;r=p;return o|0}}if((d|0)!=1){o=0;r=p;return o|0}o=k[a+76>>2]|0;m=k[(k[o>>2]|0)+112>>2]|0;b=k[b+76>>2]|0;lE(n,78097,0);x=0;b=xa(m|0,o|0,b|0,n|0)|0;o=x;x=0;if(o&1){p=mb()|0;P1(n);yb(p|0)}else{P1(n);o=b;r=p;return o|0}}else if((d|0)==51){r=p;return b|0}return 0}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;q=0;z=r;r=r+112|0;u=z;x=z+92|0;w=z+80|0;y=z+40|0;c=(k[a+40>>2]|0)+36|0;d=lD(c,100)|0;v=a+108|0;j=u;l=v;m=j+40|0;do{k[j>>2]=k[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(m|0));k[d+4>>2]=0;j=d+8|0;l=u;m=j+40|0;do{k[j>>2]=k[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(m|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;s=d+56|0;k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;k[d+52>>2]=7;k[d+72>>2]=0;k[d+76>>2]=0;k[d+80>>2]=0;k[d>>2]=7828;k[d+68>>2]=7968;k[d+88>>2]=0;k[d+92>>2]=0;k[d+96>>2]=0;s=N4(c,d)|0;k[s+60>>2]=k[a+68>>2];t=a+76|0;j=a+80|0;l=s+68|0;m=l+16|0;n=l+8|0;o=l+12|0;p=l+4|0;c=0;h=0;while(1){if(c)g=1;else if($l(k[t>>2]|0)|0){c=LD(k[t>>2]|0)|0;if((c|0)==0?1:c>>>0>(k[j>>2]|0)>>>0)c=k[t>>2]|0;g=bO(c)|0;g=g|0?g:c;g=(i[g>>0]|0)==123?g+1|0:0;g=(g|0)==0?1:g>>>0>(k[j>>2]|0)>>>0}else g=0;c=LD(k[t>>2]|0)|0;if((c|0)==0?1:c>>>0>(k[j>>2]|0)>>>0)c=k[t>>2]|0;f=bO(c)|0;f=f|0?f:c;d=i[29979]|0;a:do if(!(d<<24>>24))c=0;else{c=i[f>>0]|0;e=29979;while(1){if(c<<24>>24==d<<24>>24)break a;e=e+1|0;d=i[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);f=c<<24>>24?f+1|0:0;if(!((f|0)==0?1:f>>>0>(k[j>>2]|0)>>>0))break;h=jf(a,b)|0;if(!h){q=34;break}i[h+57>>0]=g&1;e=0;d=0;while(1){c=LD(k[t>>2]|0)|0;if((c|0)==0?1:c>>>0>(k[j>>2]|0)>>>0)c=k[t>>2]|0;g=bO(c)|0;g=g|0?g:c;g=(i[g>>0]|0)==44?g+1|0:0;if((g|0)==0?1:g>>>0>(k[j>>2]|0)>>>0)break;Bt(a,0,0)|0;d=(Zq(a,1,0)|0)!=0;if(!(e<<24>>24))if($l(k[t>>2]|0)|0){c=LD(k[t>>2]|0)|0;if((c|0)==0?1:c>>>0>(k[j>>2]|0)>>>0)c=k[t>>2]|0;g=bO(c)|0;c=g|0?g:c;c=(i[c>>0]|0)==123?c+1|0:0;c=(c|0)==0?1:c>>>0>(k[j>>2]|0)>>>0}else c=0;else c=1;e=c&1}k[u>>2]=h;k[m>>2]=0;c=k[n>>2]|0;if((c|0)==(k[o>>2]|0))kw(p,u);else{k[c>>2]=h;k[n>>2]=(k[n>>2]|0)+4}rc[k[k[l>>2]>>2]&1023](l,h);if(d)c=e<<24>>24!=0;else break}if((q|0)==34){r=z;return s|0}e=a+152|0;k[u>>2]=k[e>>2];k[u+4>>2]=k[e+4>>2];k[u+8>>2]=k[e+8>>2];c=k[t>>2]|0;f=a+84|0;k[x>>2]=k[f>>2];k[x+4>>2]=k[f+4>>2];k[x+8>>2]=k[f+8>>2];g=a+96|0;k[w>>2]=k[g>>2];k[w+4>>2]=k[g+4>>2];k[w+8>>2]=k[g+8>>2];j=y;l=v;m=j+40|0;do{k[j>>2]=k[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(m|0));Bt(a,1,0)|0;if(fs(a,1,0)|0){d=s+59|0;do{i[d>>0]=1;k[u>>2]=k[e>>2];k[u+4>>2]=k[e+4>>2];k[u+8>>2]=k[e+8>>2];c=k[t>>2]|0;k[x>>2]=k[f>>2];k[x+4>>2]=k[f+4>>2];k[x+8>>2]=k[f+8>>2];k[w>>2]=k[g>>2];k[w+4>>2]=k[g+4>>2];k[w+8>>2]=k[g+8>>2];j=y;l=v;m=j+40|0;do{k[j>>2]=k[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(m|0));Bt(a,1,0)|0}while((fs(a,1,0)|0)!=0)}j=v;l=y;m=j+40|0;do{k[j>>2]=k[l>>2];j=j+4|0;l=l+4|0}while((j|0)<(m|0));k[e>>2]=k[u>>2];k[e+4>>2]=k[u+4>>2];k[e+8>>2]=k[u+8>>2];k[t>>2]=c;k[g>>2]=k[w>>2];k[g+4>>2]=k[w+4>>2];k[g+8>>2]=k[w+8>>2];k[f>>2]=k[x>>2];k[f+4>>2]=k[x+4>>2];k[f+8>>2]=k[x+8>>2];YH(s,v);if(!h){r=z;return s|0}y=(m1(h)|0)+58|0;i[y>>0]=0;r=z;return s|0}function zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=0;d=a;a:while(1){m=b;a=b+-4|0;b:while(1){l=d;e=m-l|0;f=e>>2;switch(f|0){case 2:{b=a;n=4;break a}case 3:{n=6;break a}case 4:{f=a;e=a;n=7;break a}case 5:{n=11;break a}case 1:case 0:{n=56;break a}default:{}}if((e|0)<124){h=d;n=13;break a}h=d+(((f|0)/2|0)<<2)|0;if((e|0)>3996){e=(f|0)/4|0;e=dq(d,d+(e<<2)|0,h,h+(e<<2)|0,a,c)|0}else e=Tw(d,h,a,c)|0;do if(Pj(k[d>>2]|0,k[h>>2]|0)|0)f=a;else{f=a;while(1){f=f+-4|0;if((d|0)==(f|0))break;if(Pj(k[f>>2]|0,k[h>>2]|0)|0){n=38;break}}if((n|0)==38){n=0;j=k[d>>2]|0;k[d>>2]=k[f>>2];k[f>>2]=j;e=e+1|0;break}e=d+4|0;if(!(Pj(k[d>>2]|0,k[a>>2]|0)|0)){if((e|0)==(a|0)){n=56;break a}while(1){if(Pj(k[d>>2]|0,k[e>>2]|0)|0)break;e=e+4|0;if((e|0)==(a|0)){n=56;break a}}l=k[e>>2]|0;k[e>>2]=k[a>>2];k[a>>2]=l;e=e+4|0}if((e|0)==(a|0)){n=56;break a}else f=a;while(1){g=e;while(1){e=g+4|0;if(Pj(k[d>>2]|0,k[g>>2]|0)|0)break;else g=e}do f=f+-4|0;while(Pj(k[d>>2]|0,k[f>>2]|0)|0);if(g>>>0>=f>>>0){d=g;continue b}l=k[g>>2]|0;k[g>>2]=k[f>>2];k[f>>2]=l}}while(0);g=d+4|0;c:do if(g>>>0>>0){j=h;while(1){h=g;while(1){g=h+4|0;if(Pj(k[h>>2]|0,k[j>>2]|0)|0)h=g;else break}do f=f+-4|0;while(!(Pj(k[f>>2]|0,k[j>>2]|0)|0));i=f;if(h>>>0>i>>>0){g=h;f=j;break c}f=k[h>>2]|0;k[h>>2]=k[i>>2];k[i>>2]=f;f=i;j=(j|0)==(h|0)?i:j;e=e+1|0}}else f=h;while(0);if((g|0)!=(f|0))if(Pj(k[f>>2]|0,k[g>>2]|0)|0){j=k[g>>2]|0;k[g>>2]=k[f>>2];k[f>>2]=j;e=e+1|0}if(!e){e=Xl(d,g,c)|0;f=g+4|0;if(Xl(f,b,c)|0){n=55;break}if(e){d=f;continue}}j=g;if((j-l|0)>=(m-j|0)){a=g;n=54;break}zg(d,g,c);d=g+4|0}if((n|0)==54){n=0;zg(a+4|0,b,c);b=a;continue}else if((n|0)==55){n=0;if(e){n=56;break}else{b=g;continue}}}if((n|0)==4){if(!(Pj(k[b>>2]|0,k[d>>2]|0)|0))return;n=k[d>>2]|0;k[d>>2]=k[a>>2];k[a>>2]=n;return}else if((n|0)==6){Tw(d,d+4|0,a,c)|0;return}else if((n|0)==7){a=d+4|0;b=d+8|0;Tw(d,a,b,c)|0;if(!(Pj(k[f>>2]|0,k[b>>2]|0)|0))return;n=k[b>>2]|0;k[b>>2]=k[e>>2];k[e>>2]=n;if(!(Pj(k[b>>2]|0,k[a>>2]|0)|0))return;c=k[a>>2]|0;n=k[b>>2]|0;k[a>>2]=n;k[b>>2]=c;if(!(Pj(n,k[d>>2]|0)|0))return;n=k[d>>2]|0;k[d>>2]=k[a>>2];k[a>>2]=n;return}else if((n|0)==11){dq(d,d+4|0,d+8|0,d+12|0,a,c)|0;return}else if((n|0)==13){d=h+8|0;Tw(h,h+4|0,d,c)|0;a=h+12|0;if((a|0)==(b|0))return;while(1){if(Pj(k[a>>2]|0,k[d>>2]|0)|0){g=k[a>>2]|0;f=g;e=a;while(1){k[e>>2]=k[d>>2];if((d|0)==(h|0))break;e=d+-4|0;if(Pj(f,k[e>>2]|0)|0){n=d;d=e;e=n}else break}k[d>>2]=g}d=a+4|0;if((d|0)==(b|0))break;else{n=a;a=d;d=n}}return}else if((n|0)==56)return}function Ag(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;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;y=r;r=r+16|0;z=y;w=aR(g,74204)|0;t=aR(g,74212)|0;rc[k[(k[t>>2]|0)+20>>2]&1023](z,t);k[f>>2]=d;g=i[a>>0]|0;switch(g<<24>>24){case 43:case 45:{x=0;g=Ka(k[(k[w>>2]|0)+44>>2]|0,w|0,g|0)|0;v=x;x=0;if(v&1)v=8;else{l=k[f>>2]|0;k[f>>2]=l+4;k[l>>2]=g;l=a+1|0;v=10}break}default:{l=a;v=10}}a:do if((v|0)==10){u=c;b:do if((u-l|0)>1)if((i[l>>0]|0)==48){h=l+1|0;switch(i[h>>0]|0){case 88:case 120:break;default:{g=l;v=21;break b}}x=0;g=Ka(k[(k[w>>2]|0)+44>>2]|0,w|0,48)|0;s=x;x=0;if(s&1){v=8;break a}s=k[f>>2]|0;k[f>>2]=s+4;k[s>>2]=g;l=l+2|0;x=0;g=Ka(k[(k[w>>2]|0)+44>>2]|0,w|0,i[h>>0]|0)|0;s=x;x=0;if(s&1){v=8;break a}s=k[f>>2]|0;k[f>>2]=s+4;k[s>>2]=g;g=l;while(1){if(g>>>0>=c>>>0)break b;h=i[g>>0]|0;x=0;j=Oa(3)|0;s=x;x=0;if(s&1)break;x=0;h=Ka(908,h<<24>>24|0,j|0)|0;s=x;x=0;if(s&1)break;if(!h)break b;g=g+1|0}g=mb()|0;break a}else{g=l;v=21}else{g=l;v=21}while(0);c:do if((v|0)==21){while(1){v=0;if(g>>>0>=c>>>0)break c;h=i[g>>0]|0;x=0;j=Oa(3)|0;s=x;x=0;if(s&1)break;x=0;h=Ka(909,h<<24>>24|0,j|0)|0;s=x;x=0;if(s&1)break;if(!h)break c;g=g+1|0;v=21}g=mb()|0;break a}while(0);q=i[z>>0]|0;s=z+4|0;d:do if(!(((q&1)==0?(q&255)>>>1:k[s>>2]|0)|0)){x=0;Pa(k[(k[w>>2]|0)+48>>2]|0,w|0,l|0,g|0,k[f>>2]|0)|0;s=x;x=0;if(s&1){v=8;break a}h=(k[f>>2]|0)+(g-l<<2)|0;k[f>>2]=h;j=w}else{e:do if((l|0)!=(g|0)){h=g;j=l;while(1){h=h+-1|0;if(j>>>0>=h>>>0)break e;q=i[j>>0]|0;i[j>>0]=i[h>>0]|0;i[h>>0]=q;j=j+1|0}}while(0);x=0;n=ua(k[(k[t>>2]|0)+16>>2]|0,t|0)|0;q=x;x=0;if(q&1){v=8;break a}o=z+8|0;p=z+1|0;h=0;j=0;q=l;while(1){if(q>>>0>=g>>>0)break;m=i[((i[z>>0]&1)==0?p:k[o>>2]|0)+j>>0]|0;if(m<<24>>24>0&(h|0)==(m<<24>>24|0)){h=k[f>>2]|0;k[f>>2]=h+4;k[h>>2]=n;h=i[z>>0]|0;m=0;j=(j>>>0<(((h&1)==0?(h&255)>>>1:k[s>>2]|0)+-1|0)>>>0&1)+j|0}else m=h;x=0;h=Ka(k[(k[w>>2]|0)+44>>2]|0,w|0,i[q>>0]|0)|0;A=x;x=0;if(A&1){v=5;break}A=k[f>>2]|0;k[f>>2]=A+4;k[A>>2]=h;h=m+1|0;q=q+1|0}if((v|0)==5){g=mb()|0;break a}h=d+(l-a<<2)|0;l=k[f>>2]|0;if((h|0)==(l|0))j=w;else{j=l;while(1){j=j+-4|0;if(h>>>0>=j>>>0){j=w;h=l;break d}A=k[h>>2]|0;k[h>>2]=k[j>>2];k[j>>2]=A;h=h+4|0}}}while(0);while(1){if(g>>>0>=c>>>0)break;h=i[g>>0]|0;if(h<<24>>24==46){j=g;v=45;break}x=0;h=Ka(k[(k[j>>2]|0)+44>>2]|0,w|0,h|0)|0;A=x;x=0;if(A&1){v=4;break}s=k[f>>2]|0;A=s+4|0;k[f>>2]=A;k[s>>2]=h;h=A;g=g+1|0}if((v|0)==4){g=mb()|0;break}if((v|0)==45){x=0;g=ua(k[(k[t>>2]|0)+12>>2]|0,t|0)|0;A=x;x=0;if(A&1){v=8;break}A=k[f>>2]|0;h=A+4|0;k[f>>2]=h;k[A>>2]=g;g=j+1|0}x=0;Pa(k[(k[w>>2]|0)+48>>2]|0,w|0,g|0,c|0,h|0)|0;A=x;x=0;if(A&1)v=8;else{A=(k[f>>2]|0)+(u-g<<2)|0;k[f>>2]=A;k[e>>2]=(b|0)==(c|0)?A:d+(b-a<<2)|0;P1(z);r=y;return}}while(0);if((v|0)==8)g=mb()|0;P1(z);yb(g|0)}function Bg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=0;G=r;r=r+176|0;F=G+136|0;q=G+120|0;y=G+80|0;z=G+68|0;A=G+56|0;B=G+44|0;C=G+32|0;u=G;s=G+20|0;t=G+8|0;lE(q,37075,7);x=0;b=Ka(867,a|0,q|0)|0;E=x;x=0;if(E&1){G=mb()|0;P1(q);yb(G|0)}b=k[b>>2]|0;if(!b)P1(q);else{E=Ot(b,8,392,0)|0;P1(q);if(E|0){lE(s,37075,7);x=0;b=F;v=e;w=b+40|0;do{k[b>>2]=k[v>>2];b=b+4|0;v=v+4|0}while((b|0)<(w|0));La(1,s|0,a|0,d|0,F|0,0.0,100.0,f|0)|0;D=x;x=0;if(D&1){G=mb()|0;P1(s);yb(G|0)}P1(s);lE(t,36999,6);x=0;b=F;v=e;w=b+40|0;do{k[b>>2]=k[v>>2];b=b+4|0;v=v+4|0}while((b|0)<(w|0));q=wa(24,t|0,a|0,d|0,F|0,f|0)|0;D=x;x=0;if(D&1){G=mb()|0;P1(t);yb(G|0)}P1(t);i=+p[q+56>>3]/255.0;j=+p[q+64>>3]/255.0;l=+p[q+72>>3]/255.0;b=j>3];h=h<0.0?0.0:h;h=h>100.0?100.0:h;g=+p[q+80>>3];b=F;v=e;w=b+40|0;do{k[b>>2]=k[v>>2];b=b+4|0;v=v+4|0}while((b|0)<(w|0));F=lm(j,h,i,g,c,F)|0;r=G;return F|0}}q=c+36|0;s=lD(q,76)|0;b=y;v=e;w=b+40|0;do{k[b>>2]=k[v>>2];b=b+4|0;v=v+4|0}while((b|0)<(w|0));lE(C,36999,6);x=0;b=Ka(867,a|0,C|0)|0;e=x;x=0;if(e&1)D=13;else{e=k[b>>2]|0;E=k[(k[e>>2]|0)+20>>2]|0;v=k[c+16>>2]|0;w=k[v+4>>2]|0;c=u;k[c>>2]=k[v>>2];k[c+4>>2]=w;x=0;k[F>>2]=k[u>>2];k[F+4>>2]=k[u+4>>2];Qa(E|0,B|0,e|0,F|0);c=x;x=0;if(c&1)D=13;else{x=0;b=xa(50,B|0,0,37083)|0;c=x;x=0;if(c&1)b=mb()|0;else{k[A>>2]=k[b>>2];k[A+4>>2]=k[b+4>>2];k[A+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,A|0,38861)|0;c=x;x=0;if(c&1)b=mb()|0;else{k[z>>2]=k[b>>2];k[z+4>>2]=k[b+4>>2];k[z+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=F;v=y;w=b+40|0;do{k[b>>2]=k[v>>2];b=b+4|0;v=v+4|0}while((b|0)<(w|0));qa(5,s|0,F|0,z|0,0,0);F=x;x=0;if(!(F&1)){x=0;b=Ka(857,q|0,s|0)|0;F=x;x=0;if(!(F&1)){P1(z);P1(A);P1(B);P1(C);F=b;r=G;return F|0}}b=mb()|0;P1(z)}P1(A)}P1(B)}}if((D|0)==13)b=mb()|0;P1(C);G=b;yb(G|0);return 0}function Cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=0;d=a;a:while(1){m=b;a=b+-4|0;b:while(1){l=d;e=m-l|0;f=e>>2;switch(f|0){case 2:{b=a;n=4;break a}case 3:{n=6;break a}case 4:{f=a;e=a;n=7;break a}case 5:{n=11;break a}case 1:case 0:{n=56;break a}default:{}}if((e|0)<124){h=d;n=13;break a}h=d+(((f|0)/2|0)<<2)|0;if((e|0)>3996){e=(f|0)/4|0;e=hq(d,d+(e<<2)|0,h,h+(e<<2)|0,a,c)|0}else e=Ww(d,h,a,c)|0;do if(vk(k[d>>2]|0,k[h>>2]|0)|0)f=a;else{f=a;while(1){f=f+-4|0;if((d|0)==(f|0))break;if(vk(k[f>>2]|0,k[h>>2]|0)|0){n=38;break}}if((n|0)==38){n=0;j=k[d>>2]|0;k[d>>2]=k[f>>2];k[f>>2]=j;e=e+1|0;break}e=d+4|0;if(!(vk(k[d>>2]|0,k[a>>2]|0)|0)){if((e|0)==(a|0)){n=56;break a}while(1){if(vk(k[d>>2]|0,k[e>>2]|0)|0)break;e=e+4|0;if((e|0)==(a|0)){n=56;break a}}l=k[e>>2]|0;k[e>>2]=k[a>>2];k[a>>2]=l;e=e+4|0}if((e|0)==(a|0)){n=56;break a}else f=a;while(1){g=e;while(1){e=g+4|0;if(vk(k[d>>2]|0,k[g>>2]|0)|0)break;else g=e}do f=f+-4|0;while(vk(k[d>>2]|0,k[f>>2]|0)|0);if(g>>>0>=f>>>0){d=g;continue b}l=k[g>>2]|0;k[g>>2]=k[f>>2];k[f>>2]=l}}while(0);g=d+4|0;c:do if(g>>>0>>0){j=h;while(1){h=g;while(1){g=h+4|0;if(vk(k[h>>2]|0,k[j>>2]|0)|0)h=g;else break}do f=f+-4|0;while(!(vk(k[f>>2]|0,k[j>>2]|0)|0));i=f;if(h>>>0>i>>>0){g=h;f=j;break c}f=k[h>>2]|0;k[h>>2]=k[i>>2];k[i>>2]=f;f=i;j=(j|0)==(h|0)?i:j;e=e+1|0}}else f=h;while(0);if((g|0)!=(f|0))if(vk(k[f>>2]|0,k[g>>2]|0)|0){j=k[g>>2]|0;k[g>>2]=k[f>>2];k[f>>2]=j;e=e+1|0}if(!e){e=Yl(d,g,c)|0;f=g+4|0;if(Yl(f,b,c)|0){n=55;break}if(e){d=f;continue}}j=g;if((j-l|0)>=(m-j|0)){a=g;n=54;break}Cg(d,g,c);d=g+4|0}if((n|0)==54){n=0;Cg(a+4|0,b,c);b=a;continue}else if((n|0)==55){n=0;if(e){n=56;break}else{b=g;continue}}}if((n|0)==4){if(!(vk(k[b>>2]|0,k[d>>2]|0)|0))return;n=k[d>>2]|0;k[d>>2]=k[a>>2];k[a>>2]=n;return}else if((n|0)==6){Ww(d,d+4|0,a,c)|0;return}else if((n|0)==7){a=d+4|0;b=d+8|0;Ww(d,a,b,c)|0;if(!(vk(k[f>>2]|0,k[b>>2]|0)|0))return;n=k[b>>2]|0;k[b>>2]=k[e>>2];k[e>>2]=n;if(!(vk(k[b>>2]|0,k[a>>2]|0)|0))return;c=k[a>>2]|0;n=k[b>>2]|0;k[a>>2]=n;k[b>>2]=c;if(!(vk(n,k[d>>2]|0)|0))return;n=k[d>>2]|0;k[d>>2]=k[a>>2];k[a>>2]=n;return}else if((n|0)==11){hq(d,d+4|0,d+8|0,d+12|0,a,c)|0;return}else if((n|0)==13){d=h+8|0;Ww(h,h+4|0,d,c)|0;a=h+12|0;if((a|0)==(b|0))return;while(1){if(vk(k[a>>2]|0,k[d>>2]|0)|0){g=k[a>>2]|0;f=g;e=a;while(1){k[e>>2]=k[d>>2];if((d|0)==(h|0))break;e=d+-4|0;if(vk(f,k[e>>2]|0)|0){n=d;d=e;e=n}else break}k[d>>2]=g}d=a+4|0;if((d|0)==(b|0))break;else{n=a;a=d;d=n}}return}else if((n|0)==56)return}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;d=0;t=r;r=r+112|0;g=t+96|0;h=t+84|0;m=t+72|0;n=t+60|0;o=t+48|0;e=t+36|0;f=t+24|0;p=t+12|0;q=t;s=a+92|0;if(!(i[s>>0]|0))d=3;else if(!(KH(a+68|0,38885)|0))d=3;do if((d|0)==3){l=b+92|0;if(i[l>>0]|0)if(!(KH(b+68|0,38885)|0))break;e=c+36|0;f=lD(e,96)|0;k[f+4>>2]=k[a+4>>2];k[f>>2]=4748;d=f+8|0;c=a+8|0;j=d+40|0;do{k[d>>2]=k[c>>2];d=d+4|0;c=c+4|0}while((d|0)<(j|0));k[f>>2]=6736;p=a+48|0;q=k[p+4>>2]|0;d=f+48|0;k[d>>2]=k[p>>2];k[d+4>>2]=q;k[f>>2]=6840;d=f+56|0;q=a+56|0;k[d>>2]=k[q>>2];k[d+4>>2]=k[q+4>>2];k[d+8>>2]=k[q+8>>2];k[f>>2]=6600;d=f+68|0;x=0;sa(430,d|0,a+68|0);q=x;x=0;if(q&1){t=mb()|0;yb(t|0)}x=0;sa(430,f+80|0,a+80|0);a=x;x=0;if(a&1){t=mb()|0;P1(d);yb(t|0)}i[f+92>>0]=i[s>>0]|0;k[f>>2]=7144;e=N4(e,f)|0;d=e+80|0;_G(g,d);a=(KH(g,38885)|0)==0;P1(g);do if(a){_G(m,b+80|0);x=0;d=Ka(854,d|0,m|0)|0;a=x;x=0;if(!(a&1)){x=0;sa(430,h|0,d|0);a=x;x=0;if(!(a&1)){P1(h);P1(m);break}}t=mb()|0;P1(m);yb(t|0)}while(0);_G(o,b+68|0);x=0;d=Ka(854,e+68|0,o|0)|0;a=x;x=0;if(!(a&1)){x=0;sa(430,n|0,d|0);a=x;x=0;if(!(a&1)){P1(n);P1(o);i[e+92>>0]=i[l>>0]|0;a=e;r=t;return a|0}}t=mb()|0;P1(o);yb(t|0)}while(0);g=a+80|0;_G(e,g);if(KH(e,38885)|0){P1(e);r=t;return a|0}h=b+80|0;x=0;sa(430,f|0,h|0);b=x;x=0;if(b&1){t=mb()|0;P1(e);yb(t|0)}b=(KH(f,38885)|0)==0;P1(f);P1(e);if(b){r=t;return a|0}e=c+36|0;f=lD(e,96)|0;k[f+4>>2]=k[a+4>>2];k[f>>2]=4748;d=f+8|0;c=a+8|0;j=d+40|0;do{k[d>>2]=k[c>>2];d=d+4|0;c=c+4|0}while((d|0)<(j|0));k[f>>2]=6736;o=a+48|0;b=k[o+4>>2]|0;d=f+48|0;k[d>>2]=k[o>>2];k[d+4>>2]=b;k[f>>2]=6840;d=f+56|0;b=a+56|0;k[d>>2]=k[b>>2];k[d+4>>2]=k[b+4>>2];k[d+8>>2]=k[b+8>>2];k[f>>2]=6600;d=f+68|0;x=0;sa(430,d|0,a+68|0);a=x;x=0;if(a&1){t=mb()|0;yb(t|0)}x=0;sa(430,f+80|0,g|0);a=x;x=0;if(a&1){t=mb()|0;P1(d);yb(t|0)}i[f+92>>0]=i[s>>0]|0;k[f>>2]=7144;e=N4(e,f)|0;_G(q,h);x=0;d=Ka(854,e+80|0,q|0)|0;a=x;x=0;if(!(a&1)){x=0;sa(430,p|0,d|0);a=x;x=0;if(!(a&1)){P1(p);P1(q);a=e;r=t;return a|0}}t=mb()|0;P1(q);yb(t|0);return 0}function Eg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;p=0;u=r;r=r+16|0;f=u+4|0;g=u;c=a+16|0;d=k[c>>2]|0;if(d>>>0>340){k[c>>2]=d+-341;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;t=k[l>>2]|0;c=t;d=b;do if((b|0)==(t|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;t=g+(a<<2)|0;b=d-b|0;VH(t|0,g|0,b|0)|0;b=t+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;t=GG(j<<2)|0;h=t;c=t+(j>>>2<<2)|0;i=c;j=t+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){uha(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=u;return}t=a+8|0;d=k[t>>2]|0;q=a+4|0;l=k[q>>2]|0;i=d-l|0;n=i>>2;s=a+12|0;e=k[s>>2]|0;c=e-(k[a>>2]|0)|0;j=d;if(n>>>0>2>>>0){b=GG(4092)|0;if((e|0)!=(d|0)){k[f>>2]=b;cu(a,f);r=u;return}k[g>>2]=b;lu(a,g);g=k[q>>2]|0;j=k[g>>2]|0;g=g+4|0;k[q>>2]=g;b=k[t>>2]|0;p=k[s>>2]|0;d=p;e=b;do if((b|0)==(p|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;s=g+(a<<2)|0;b=e-b|0;VH(s|0,g|0,b|0)|0;b=s+(b>>2<<2)|0;k[t>>2]=b;k[q>>2]=(k[q>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;p=GG(i<<2)|0;f=p;d=p+(i>>>2<<2)|0;h=d;i=p+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[q>>2]=h;k[t>>2]=b;k[s>>2]=i;if(c){uha(c);b=k[t>>2]|0}}while(0);k[b>>2]=j;k[t>>2]=(k[t>>2]|0)+4;r=u;return}f=c>>1;f=(f|0)==0?1:f;g=GG(f<<2)|0;h=g;e=g+(n<<2)|0;d=g+(f<<2)|0;x=0;c=ua(186,4092)|0;m=x;x=0;a:do if(m&1)p=29;else{m=c;do if((n|0)==(f|0)){if((i|0)>0){g=l;c=h;e=e+(((n+1|0)/-2|0)<<2)|0;break}d=i>>1;d=(d|0)==0?1:d;x=0;f=ua(186,d<<2|0)|0;n=x;x=0;if(n&1){p=29;break a}uha(g);j=k[t>>2]|0;g=k[q>>2]|0;c=f;e=f+(d>>>2<<2)|0;d=f+(d<<2)|0}else{g=l;c=h}while(0);b=e;k[e>>2]=m;e=e+4|0;b:do if((j|0)==(g|0))f=b;else{l=j;c:while(1){l=l+-4|0;f=b;do if((f|0)==(c|0)){i=e;if(i>>>0>>0){o=i+((((d-e>>2)+1|0)/2|0)<<2)|0;f=e-b|0;e=o+(0-(f>>2)<<2)|0;VH(e|0,b|0,f|0)|0;f=e;b=e;e=o;break}d=d-c>>1;d=(d|0)==0?1:d;x=0;e=ua(186,d<<2|0)|0;o=x;x=0;if(o&1)break c;c=e;h=e+((d+3|0)>>>2<<2)|0;j=h;d=e+(d<<2)|0;if((f|0)==(i|0))e=j;else{g=h;e=j;do{k[g>>2]=k[f>>2];g=e+4|0;e=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{uha(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0;if((l|0)==(k[q>>2]|0)){f=b;break b}}b=mb()|0;if(c){o=c;break a}yb(b|0)}while(0);b=k[a>>2]|0;k[a>>2]=c;k[q>>2]=f;k[t>>2]=e;k[s>>2]=d;if(!b){r=u;return}uha(b);r=u;return}while(0);if((p|0)==29){c=Eb(0)|0;Bb(c|0)|0;uha(k[e+-4>>2]|0);x=0;pa(4);x=0;c=mb()|0;x=0;pa(3);u=x;x=0;if(u&1){u=Eb(0)|0;Nba(u)}else{b=c;o=h}}uha(o);u=b;yb(u|0)}function Fg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;p=0;u=r;r=r+16|0;f=u+4|0;g=u;c=a+16|0;d=k[c>>2]|0;if(d>>>0>1023){k[c>>2]=d+-1024;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;t=k[l>>2]|0;c=t;d=b;do if((b|0)==(t|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;t=g+(a<<2)|0;b=d-b|0;VH(t|0,g|0,b|0)|0;b=t+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;t=GG(j<<2)|0;h=t;c=t+(j>>>2<<2)|0;i=c;j=t+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){uha(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=u;return}t=a+8|0;d=k[t>>2]|0;q=a+4|0;l=k[q>>2]|0;i=d-l|0;n=i>>2;s=a+12|0;e=k[s>>2]|0;c=e-(k[a>>2]|0)|0;j=d;if(n>>>0>2>>>0){b=GG(4096)|0;if((e|0)!=(d|0)){k[f>>2]=b;mu(a,f);r=u;return}k[g>>2]=b;uu(a,g);g=k[q>>2]|0;j=k[g>>2]|0;g=g+4|0;k[q>>2]=g;b=k[t>>2]|0;p=k[s>>2]|0;d=p;e=b;do if((b|0)==(p|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;s=g+(a<<2)|0;b=e-b|0;VH(s|0,g|0,b|0)|0;b=s+(b>>2<<2)|0;k[t>>2]=b;k[q>>2]=(k[q>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;p=GG(i<<2)|0;f=p;d=p+(i>>>2<<2)|0;h=d;i=p+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[q>>2]=h;k[t>>2]=b;k[s>>2]=i;if(c){uha(c);b=k[t>>2]|0}}while(0);k[b>>2]=j;k[t>>2]=(k[t>>2]|0)+4;r=u;return}f=c>>1;f=(f|0)==0?1:f;g=GG(f<<2)|0;h=g;e=g+(n<<2)|0;d=g+(f<<2)|0;x=0;c=ua(186,4096)|0;m=x;x=0;a:do if(m&1)p=29;else{m=c;do if((n|0)==(f|0)){if((i|0)>0){g=l;c=h;e=e+(((n+1|0)/-2|0)<<2)|0;break}d=i>>1;d=(d|0)==0?1:d;x=0;f=ua(186,d<<2|0)|0;n=x;x=0;if(n&1){p=29;break a}uha(g);j=k[t>>2]|0;g=k[q>>2]|0;c=f;e=f+(d>>>2<<2)|0;d=f+(d<<2)|0}else{g=l;c=h}while(0);b=e;k[e>>2]=m;e=e+4|0;b:do if((j|0)==(g|0))f=b;else{l=j;c:while(1){l=l+-4|0;f=b;do if((f|0)==(c|0)){i=e;if(i>>>0>>0){o=i+((((d-e>>2)+1|0)/2|0)<<2)|0;f=e-b|0;e=o+(0-(f>>2)<<2)|0;VH(e|0,b|0,f|0)|0;f=e;b=e;e=o;break}d=d-c>>1;d=(d|0)==0?1:d;x=0;e=ua(186,d<<2|0)|0;o=x;x=0;if(o&1)break c;c=e;h=e+((d+3|0)>>>2<<2)|0;j=h;d=e+(d<<2)|0;if((f|0)==(i|0))e=j;else{g=h;e=j;do{k[g>>2]=k[f>>2];g=e+4|0;e=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{uha(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0;if((l|0)==(k[q>>2]|0)){f=b;break b}}b=mb()|0;if(c){o=c;break a}yb(b|0)}while(0);b=k[a>>2]|0;k[a>>2]=c;k[q>>2]=f;k[t>>2]=e;k[s>>2]=d;if(!b){r=u;return}uha(b);r=u;return}while(0);if((p|0)==29){c=Eb(0)|0;Bb(c|0)|0;uha(k[e+-4>>2]|0);x=0;pa(4);x=0;c=mb()|0;x=0;pa(3);u=x;x=0;if(u&1){u=Eb(0)|0;Nba(u)}else{b=c;o=h}}uha(o);u=b;yb(u|0)}function Gg(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;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;y=r;r=r+16|0;z=y;w=aR(g,74172)|0;t=aR(g,74184)|0;rc[k[(k[t>>2]|0)+20>>2]&1023](z,t);k[f>>2]=d;g=i[a>>0]|0;switch(g<<24>>24){case 43:case 45:{x=0;g=Ka(k[(k[w>>2]|0)+28>>2]|0,w|0,g|0)|0;v=x;x=0;if(v&1)v=8;else{l=k[f>>2]|0;k[f>>2]=l+1;i[l>>0]=g;l=a+1|0;v=10}break}default:{l=a;v=10}}a:do if((v|0)==10){u=c;b:do if((u-l|0)>1)if((i[l>>0]|0)==48){h=l+1|0;switch(i[h>>0]|0){case 88:case 120:break;default:{g=l;v=21;break b}}x=0;g=Ka(k[(k[w>>2]|0)+28>>2]|0,w|0,48)|0;s=x;x=0;if(s&1){v=8;break a}s=k[f>>2]|0;k[f>>2]=s+1;i[s>>0]=g;l=l+2|0;x=0;g=Ka(k[(k[w>>2]|0)+28>>2]|0,w|0,i[h>>0]|0)|0;s=x;x=0;if(s&1){v=8;break a}s=k[f>>2]|0;k[f>>2]=s+1;i[s>>0]=g;g=l;while(1){if(g>>>0>=c>>>0)break b;h=i[g>>0]|0;x=0;j=Oa(3)|0;s=x;x=0;if(s&1)break;x=0;h=Ka(908,h<<24>>24|0,j|0)|0;s=x;x=0;if(s&1)break;if(!h)break b;g=g+1|0}g=mb()|0;break a}else{g=l;v=21}else{g=l;v=21}while(0);c:do if((v|0)==21){while(1){v=0;if(g>>>0>=c>>>0)break c;h=i[g>>0]|0;x=0;j=Oa(3)|0;s=x;x=0;if(s&1)break;x=0;h=Ka(909,h<<24>>24|0,j|0)|0;s=x;x=0;if(s&1)break;if(!h)break c;g=g+1|0;v=21}g=mb()|0;break a}while(0);q=i[z>>0]|0;s=z+4|0;d:do if(!(((q&1)==0?(q&255)>>>1:k[s>>2]|0)|0)){x=0;Pa(k[(k[w>>2]|0)+32>>2]|0,w|0,l|0,g|0,k[f>>2]|0)|0;s=x;x=0;if(s&1){v=8;break a}k[f>>2]=(k[f>>2]|0)+(g-l);j=w}else{e:do if((l|0)!=(g|0)){h=g;j=l;while(1){h=h+-1|0;if(j>>>0>=h>>>0)break e;q=i[j>>0]|0;i[j>>0]=i[h>>0]|0;i[h>>0]=q;j=j+1|0}}while(0);x=0;n=ua(k[(k[t>>2]|0)+16>>2]|0,t|0)|0;q=x;x=0;if(q&1){v=8;break a}o=z+8|0;p=z+1|0;h=0;j=0;q=l;while(1){if(q>>>0>=g>>>0)break;m=i[((i[z>>0]&1)==0?p:k[o>>2]|0)+j>>0]|0;if(m<<24>>24>0&(h|0)==(m<<24>>24|0)){h=k[f>>2]|0;k[f>>2]=h+1;i[h>>0]=n;h=i[z>>0]|0;m=0;j=(j>>>0<(((h&1)==0?(h&255)>>>1:k[s>>2]|0)+-1|0)>>>0&1)+j|0}else m=h;x=0;h=Ka(k[(k[w>>2]|0)+28>>2]|0,w|0,i[q>>0]|0)|0;A=x;x=0;if(A&1){v=5;break}A=k[f>>2]|0;k[f>>2]=A+1;i[A>>0]=h;h=m+1|0;q=q+1|0}if((v|0)==5){g=mb()|0;break a}j=d+(l-a)|0;h=k[f>>2]|0;if((j|0)==(h|0))j=w;else while(1){h=h+-1|0;if(j>>>0>=h>>>0){j=w;break d}A=i[j>>0]|0;i[j>>0]=i[h>>0]|0;i[h>>0]=A;j=j+1|0}}while(0);while(1){if(g>>>0>=c>>>0)break;h=i[g>>0]|0;if(h<<24>>24==46){h=g;v=45;break}x=0;h=Ka(k[(k[j>>2]|0)+28>>2]|0,w|0,h|0)|0;A=x;x=0;if(A&1){v=4;break}A=k[f>>2]|0;k[f>>2]=A+1;i[A>>0]=h;g=g+1|0}if((v|0)==4){g=mb()|0;break}if((v|0)==45){x=0;g=ua(k[(k[t>>2]|0)+12>>2]|0,t|0)|0;A=x;x=0;if(A&1){v=8;break}A=k[f>>2]|0;k[f>>2]=A+1;i[A>>0]=g;g=h+1|0}x=0;Pa(k[(k[w>>2]|0)+32>>2]|0,w|0,g|0,c|0,k[f>>2]|0)|0;A=x;x=0;if(A&1)v=8;else{A=(k[f>>2]|0)+(u-g)|0;k[f>>2]=A;k[e>>2]=(b|0)==(c|0)?A:d+(b-a)|0;P1(z);r=y;return}}while(0);if((v|0)==8)g=mb()|0;P1(z);yb(g|0)}function Hg(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;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;y=r;r=r+112|0;j=y;m=(d-c|0)/12|0;do if(m>>>0>100){j=hd(m)|0;if(!j){x=0;pa(6);w=x;x=0;if(w&1){h=0;o=6;break}}h=j;o=11}else{h=0;o=11}while(0);a:do if((o|0)==11){p=c;l=0;o=j;while(1){if((p|0)==(d|0))break;n=i[p>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=k[p+4>>2]|0;if(!n){i[o>>0]=2;l=l+1|0;m=m+-1|0}else i[o>>0]=1;p=p+12|0;o=o+1|0}w=0;t=l;q=m;b:while(1){l=k[a>>2]|0;do if(!l)o=1;else{m=k[l+12>>2]|0;if((m|0)==(k[l+16>>2]|0)){x=0;l=ua(k[(k[l>>2]|0)+36>>2]|0,l|0)|0;v=x;x=0;if(v&1){o=5;break b}}else l=k[m>>2]|0;if((l|0)==-1){k[a>>2]=0;o=1;break}else{o=(k[a>>2]|0)==0;break}}while(0);n=k[b>>2]|0;if(!n){n=0;l=1}else{l=k[n+12>>2]|0;if((l|0)==(k[n+16>>2]|0)){x=0;l=ua(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;v=x;x=0;if(v&1){o=5;break}}else l=k[l>>2]|0;if((l|0)==-1){k[b>>2]=0;n=0;l=1}else l=0}m=k[a>>2]|0;if(!((q|0)!=0&(o^l))){o=35;break}l=k[m+12>>2]|0;if((l|0)==(k[m+16>>2]|0)){x=0;l=ua(k[(k[m>>2]|0)+36>>2]|0,m|0)|0;v=x;x=0;if(v&1){o=5;break}}else l=k[l>>2]|0;if(!g){x=0;l=Ka(k[(k[e>>2]|0)+28>>2]|0,e|0,l|0)|0;v=x;x=0;if(v&1){o=5;break}}v=w+1|0;p=0;s=c;u=q;q=j;while(1){if((s|0)==(d|0))break;do if((i[q>>0]|0)==1){if(!(i[s>>0]&1))m=s+4|0;else m=k[s+8>>2]|0;m=k[m+(w<<2)>>2]|0;if(!g){x=0;m=Ka(k[(k[e>>2]|0)+28>>2]|0,e|0,m|0)|0;o=x;x=0;if(o&1){o=4;break b}}if((l|0)!=(m|0)){i[q>>0]=0;m=p;n=t;o=u+-1|0;break}m=i[s>>0]|0;if(!(m&1))m=(m&255)>>>1;else m=k[s+4>>2]|0;if((m|0)==(v|0)){i[q>>0]=2;m=1;n=t+1|0;o=u+-1|0}else{m=1;n=t;o=u}}else{m=p;n=t;o=u}while(0);p=m;s=s+12|0;t=n;u=o;q=q+1|0}if(!p){w=v;q=u;continue}l=k[a>>2]|0;m=l+12|0;n=k[m>>2]|0;if((n|0)==(k[l+16>>2]|0)){x=0;ua(k[(k[l>>2]|0)+40>>2]|0,l|0)|0;w=x;x=0;if(w&1){o=5;break}}else k[m>>2]=n+4;if((t+u|0)>>>0>1){o=c;l=t;n=j}else{w=v;q=u;continue}while(1){if((o|0)==(d|0)){w=v;t=l;q=u;continue b}if((i[n>>0]|0)==2){m=i[o>>0]|0;if(!(m&1))m=(m&255)>>>1;else m=k[o+4>>2]|0;if((m|0)!=(v|0)){i[n>>0]=0;l=l+-1|0}}o=o+12|0;n=n+1|0}}if((o|0)==4){c=mb()|0;break}else if((o|0)==5){c=mb()|0;break}else if((o|0)==35){do if(!m)m=1;else{l=k[m+12>>2]|0;if((l|0)==(k[m+16>>2]|0)){x=0;l=ua(k[(k[m>>2]|0)+36>>2]|0,m|0)|0;e=x;x=0;if(e&1){o=6;break a}}else l=k[l>>2]|0;if((l|0)==-1){k[a>>2]=0;m=1;break}else{m=(k[a>>2]|0)==0;break}}while(0);do if(!n)o=82;else{l=k[n+12>>2]|0;if((l|0)==(k[n+16>>2]|0)){x=0;l=ua(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;a=x;x=0;if(a&1){o=6;break a}}else l=k[l>>2]|0;if((l|0)==-1){k[b>>2]=0;o=82;break}else if(m)break;else{o=84;break}}while(0);if((o|0)==82)if(m)o=84;if((o|0)==84)k[f>>2]=k[f>>2]|2;while(1){if((c|0)==(d|0)){o=88;break}if((i[j>>0]|0)==2)break;c=c+12|0;j=j+1|0}if((o|0)==88){k[f>>2]=k[f>>2]|4;c=d}if(h|0)cf(h);r=y;return c|0}}while(0);if((o|0)==6)c=mb()|0;if(h|0)cf(h);yb(c|0);return 0}function Ig(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;p=0;u=r;r=r+16|0;f=u+4|0;g=u;c=a+16|0;d=k[c>>2]|0;if(d>>>0>169){k[c>>2]=d+-170;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;t=k[l>>2]|0;c=t;d=b;do if((b|0)==(t|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;t=g+(a<<2)|0;b=d-b|0;VH(t|0,g|0,b|0)|0;b=t+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;t=GG(j<<2)|0;h=t;c=t+(j>>>2<<2)|0;i=c;j=t+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){uha(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=u;return}t=a+8|0;d=k[t>>2]|0;q=a+4|0;l=k[q>>2]|0;i=d-l|0;n=i>>2;s=a+12|0;e=k[s>>2]|0;c=e-(k[a>>2]|0)|0;j=d;if(n>>>0>2>>>0){b=GG(4080)|0;if((e|0)!=(d|0)){k[f>>2]=b;ru(a,f);r=u;return}k[g>>2]=b;yu(a,g);g=k[q>>2]|0;j=k[g>>2]|0;g=g+4|0;k[q>>2]=g;b=k[t>>2]|0;p=k[s>>2]|0;d=p;e=b;do if((b|0)==(p|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;s=g+(a<<2)|0;b=e-b|0;VH(s|0,g|0,b|0)|0;b=s+(b>>2<<2)|0;k[t>>2]=b;k[q>>2]=(k[q>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;p=GG(i<<2)|0;f=p;d=p+(i>>>2<<2)|0;h=d;i=p+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[q>>2]=h;k[t>>2]=b;k[s>>2]=i;if(c){uha(c);b=k[t>>2]|0}}while(0);k[b>>2]=j;k[t>>2]=(k[t>>2]|0)+4;r=u;return}f=c>>1;f=(f|0)==0?1:f;g=GG(f<<2)|0;h=g;e=g+(n<<2)|0;d=g+(f<<2)|0;x=0;c=ua(186,4080)|0;m=x;x=0;a:do if(m&1)p=29;else{m=c;do if((n|0)==(f|0)){if((i|0)>0){g=l;c=h;e=e+(((n+1|0)/-2|0)<<2)|0;break}d=i>>1;d=(d|0)==0?1:d;x=0;f=ua(186,d<<2|0)|0;n=x;x=0;if(n&1){p=29;break a}uha(g);j=k[t>>2]|0;g=k[q>>2]|0;c=f;e=f+(d>>>2<<2)|0;d=f+(d<<2)|0}else{g=l;c=h}while(0);b=e;k[e>>2]=m;e=e+4|0;b:do if((j|0)==(g|0))f=b;else{l=j;c:while(1){l=l+-4|0;f=b;do if((f|0)==(c|0)){i=e;if(i>>>0>>0){o=i+((((d-e>>2)+1|0)/2|0)<<2)|0;f=e-b|0;e=o+(0-(f>>2)<<2)|0;VH(e|0,b|0,f|0)|0;f=e;b=e;e=o;break}d=d-c>>1;d=(d|0)==0?1:d;x=0;e=ua(186,d<<2|0)|0;o=x;x=0;if(o&1)break c;c=e;h=e+((d+3|0)>>>2<<2)|0;j=h;d=e+(d<<2)|0;if((f|0)==(i|0))e=j;else{g=h;e=j;do{k[g>>2]=k[f>>2];g=e+4|0;e=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{uha(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0;if((l|0)==(k[q>>2]|0)){f=b;break b}}b=mb()|0;if(c){o=c;break a}yb(b|0)}while(0);b=k[a>>2]|0;k[a>>2]=c;k[q>>2]=f;k[t>>2]=e;k[s>>2]=d;if(!b){r=u;return}uha(b);r=u;return}while(0);if((p|0)==29){c=Eb(0)|0;Bb(c|0)|0;uha(k[e+-4>>2]|0);x=0;pa(4);x=0;c=mb()|0;x=0;pa(3);u=x;x=0;if(u&1){u=Eb(0)|0;Nba(u)}else{b=c;o=h}}uha(o);u=b;yb(u|0)}function Jg(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;t=0;u=r;r=r+64|0;v=u+40|0;f=u;s=u+16|0;h=k[a+16>>2]|0;c=k[a+20>>2]|0;if(c|0){c3(c);CQ(c)}i=k[b+16>>2]|0;c=k[b+20>>2]|0;if(c|0){c3(c);CQ(c)}p=h+20|0;c=k[p>>2]|0;q=i+20|0;a=k[q>>2]|0;k[f>>2]=0;g=f+4|0;k[g>>2]=0;k[f+8>>2]=0;do if(a|0){if(a>>>0>1073741823){x=0;ra(322,f|0);o=x;x=0;if(!(o&1))t=8}else t=8;if((t|0)==8){b=a<<2;x=0;e=ua(186,b|0)|0;o=x;x=0;if(!(o&1)){k[f>>2]=e;o=e+(a<<2)|0;k[f+8>>2]=o;vE(e|0,0,b|0)|0;k[g>>2]=o;break}}b=mb()|0;c=k[f>>2]|0;if(!c)yb(b|0);a=k[g>>2]|0;if((a|0)!=(c|0))k[g>>2]=a+(~((a+-4-c|0)>>>2)<<2);uha(c);yb(b|0)}while(0);x=0;Qa(129,v|0,c|0,f|0);o=x;x=0;if(o&1){b=mb()|0;c=k[f>>2]|0;if(!c){v=b;yb(v|0)}a=k[g>>2]|0;if((a|0)!=(c|0))k[g>>2]=a+(~((a+-4-c|0)>>>2)<<2);uha(c);v=b;yb(v|0)}c=k[f>>2]|0;a=c;if(c|0){b=k[g>>2]|0;if((b|0)!=(c|0))k[g>>2]=b+(~((b+-4-a|0)>>>2)<<2);uha(c)}c=k[p>>2]|0;a:do if(c>>>0>1){n=h+16|0;l=h+4|0;m=i+16|0;i=i+4|0;j=s+16|0;o=s+20|0;a=c;c=k[q>>2]|0;h=1;b:while(1){if(c>>>0>1){f=h+-1|0;g=1;do{x=0;ra(338,s|0);e=x;x=0;if(e&1){t=40;break b}a=(k[n>>2]|0)+h|0;c=k[(k[l>>2]|0)+(((a>>>0)/170|0)<<2)>>2]|0;a=(a>>>0)%170|0;b=c+(a*24|0)|0;e=(k[m>>2]|0)+g|0;x=0;e=Ka(888,b|0,(k[(k[i>>2]|0)+(((e>>>0)/170|0)<<2)>>2]|0)+(((e>>>0)%170|0)*24|0)|0)|0;w=x;x=0;if(w&1)break b;if(e){k[s>>2]=k[b>>2];k[s+4>>2]=k[b+4>>2];k[s+8>>2]=k[b+8>>2];k[s+12>>2]=k[b+12>>2];a=c+(a*24|0)|0;c=k[a+16>>2]|0;a=k[a+20>>2]|0;if(a|0)c3(a);k[j>>2]=c;c=k[o>>2]|0;k[o>>2]=a;if(c|0)CQ(c);w=k[v>>2]|0;k[(k[w+(h*12|0)>>2]|0)+(g<<2)>>2]=(k[(k[w+(f*12|0)>>2]|0)+(g+-1<<2)>>2]|0)+1}else{b=k[v>>2]|0;w=k[b+(h*12|0)>>2]|0;e=k[w+(g+-1<<2)>>2]|0;b=k[(k[b+(f*12|0)>>2]|0)+(g<<2)>>2]|0;k[w+(g<<2)>>2]=(e|0)<(b|0)?b:e}c=k[o>>2]|0;if(c|0)CQ(c);g=g+1|0;c=k[q>>2]|0}while(g>>>0>>0);a=k[p>>2]|0}h=h+1|0;if(h>>>0>=a>>>0){t=24;break a}}if((t|0)==40){b=mb()|0;c=v;a=M;t=42;break}b=mb()|0;a=M;c=k[o>>2]|0;if(!c){i=b;c=v}else{CQ(c);i=b;c=v}}else t=24;while(0);do if((t|0)==24){if((v|0)!=(d|0)){x=0;Qa(130,d|0,k[v>>2]|0,k[v+4>>2]|0);w=x;x=0;if(w&1){b=mb()|0;c=v;a=M;t=42;break}}c=k[v>>2]|0;if(!c){r=u;return}g=v+4|0;a=k[g>>2]|0;if((a|0)!=(c|0)){do{b=a+-12|0;k[g>>2]=b;e=k[b>>2]|0;f=e;if(!e)a=b;else{a=a+-8|0;b=k[a>>2]|0;if((b|0)!=(e|0))k[a>>2]=b+(~((b+-4-f|0)>>>2)<<2);uha(e);a=k[g>>2]|0}}while((a|0)!=(c|0));c=k[v>>2]|0}uha(c);r=u;return}while(0);if((t|0)==42)i=b;c=k[c>>2]|0;if(!c){w=i;yb(w|0)}h=v+4|0;b=k[h>>2]|0;if((b|0)!=(c|0)){do{e=b+-12|0;k[h>>2]=e;f=k[e>>2]|0;g=f;if(!f)b=e;else{b=b+-8|0;e=k[b>>2]|0;if((e|0)!=(f|0))k[b>>2]=e+(~((e+-4-g|0)>>>2)<<2);uha(f);b=k[h>>2]|0}}while((b|0)!=(c|0));c=k[v>>2]|0}uha(c);w=i;yb(w|0)}function Kg(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;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;A=0;B=r;r=r+32|0;v=B+16|0;u=B+12|0;z=B+8|0;w=B+4|0;y=B;m=TN(d)|0;k[z>>2]=m;x=0;z=Ka(865,z|0,74172)|0;t=x;x=0;if(t&1){B=mb()|0;sK(m)|0;yb(B|0)}sK(m)|0;k[e>>2]=0;t=z+8|0;m=0;a:while(1){s=(g|0)!=(h|0);n=m;while(1){m=k[b>>2]|0;if(!(s&(n|0)==0))break a;n=m;if(!m)m=0;else if((k[m+12>>2]|0)==(k[m+16>>2]|0))if((tc[k[(k[m>>2]|0)+36>>2]&511](m)|0)==-1){k[b>>2]=0;n=0;m=0}q=(m|0)==0;p=k[c>>2]|0;o=p;do if(!p)A=14;else{if((k[p+12>>2]|0)==(k[p+16>>2]|0))if((tc[k[(k[p>>2]|0)+36>>2]&511](p)|0)==-1){k[c>>2]=0;o=0;A=14;break}if(!q){A=15;break a}}while(0);if((A|0)==14){A=0;if(q){A=15;break a}else p=0}if((wc[k[(k[z>>2]|0)+36>>2]&127](z,i[g>>0]|0,0)|0)<<24>>24==37){s=o;A=18;break}n=i[g>>0]|0;if(n<<24>>24>-1){o=k[t>>2]|0;if(j[o+(n<<24>>24<<1)>>1]&8192){A=27;break}}p=m+12|0;o=k[p>>2]|0;n=m+16|0;if((o|0)==(k[n>>2]|0))o=tc[k[(k[m>>2]|0)+36>>2]&511](m)|0;else o=l[o>>0]|0;q=Jc[k[(k[z>>2]|0)+12>>2]&1023](z,o&255)|0;if(q<<24>>24==(Jc[k[(k[z>>2]|0)+12>>2]&1023](z,i[g>>0]|0)|0)<<24>>24){A=55;break}k[e>>2]=4;n=4}b:do if((A|0)==18){A=0;o=g+1|0;if((o|0)==(h|0)){A=19;break a}q=wc[k[(k[z>>2]|0)+36>>2]&127](z,i[o>>0]|0,0)|0;switch(q<<24>>24){case 48:case 69:{p=g+2|0;if((p|0)==(h|0)){A=24;break a}g=o;o=wc[k[(k[z>>2]|0)+36>>2]&127](z,i[p>>0]|0,0)|0;m=q;break}default:{o=q;m=0}}q=k[(k[a>>2]|0)+36>>2]|0;k[w>>2]=n;k[y>>2]=s;k[u>>2]=k[w>>2];k[v>>2]=k[y>>2];m=Rc[q&15](a,u,v,d,e,f,o,m)|0;k[b>>2]=m;m=g+2|0}else if((A|0)==27){A=0;do{g=g+1|0;if((g|0)==(h|0)){g=h;break}n=i[g>>0]|0;if(n<<24>>24<=-1)break}while((j[o+(n<<24>>24<<1)>>1]&8192)!=0);n=p;while(1){if(!m)m=0;else if((k[m+12>>2]|0)==(k[m+16>>2]|0))if((tc[k[(k[m>>2]|0)+36>>2]&511](m)|0)==-1){k[b>>2]=0;m=0}o=(m|0)==0;do if(!p)A=41;else{if((k[p+12>>2]|0)!=(k[p+16>>2]|0))if(o){s=n;break}else{m=g;break b}if((tc[k[(k[p>>2]|0)+36>>2]&511](p)|0)==-1){k[c>>2]=0;n=0;A=41;break}else if(o^(n|0)==0){s=n;p=n;break}else{m=g;break b}}while(0);if((A|0)==41){A=0;if(o){m=g;break b}else{s=n;p=0}}o=m+12|0;n=k[o>>2]|0;q=m+16|0;if((n|0)==(k[q>>2]|0))n=tc[k[(k[m>>2]|0)+36>>2]&511](m)|0;else n=l[n>>0]|0;if((n&255)<<24>>24<=-1){m=g;break b}if(!(j[(k[t>>2]|0)+(n<<24>>24<<1)>>1]&8192)){m=g;break b}n=k[o>>2]|0;if((n|0)==(k[q>>2]|0)){tc[k[(k[m>>2]|0)+40>>2]&511](m)|0;n=s;continue}else{k[o>>2]=n+1;n=s;continue}}}else if((A|0)==55){A=0;o=k[p>>2]|0;if((o|0)==(k[n>>2]|0))tc[k[(k[m>>2]|0)+40>>2]&511](m)|0;else k[p>>2]=o+1;m=g+1|0}while(0);g=m;m=k[e>>2]|0}if((A|0)==15)k[e>>2]=4;else if((A|0)==19)k[e>>2]=4;else if((A|0)==24)k[e>>2]=4;if(!m)m=0;else if((k[m+12>>2]|0)==(k[m+16>>2]|0))if((tc[k[(k[m>>2]|0)+36>>2]&511](m)|0)==-1){k[b>>2]=0;m=0}g=(m|0)==0;n=k[c>>2]|0;do if(!n)A=70;else{if((k[n+12>>2]|0)==(k[n+16>>2]|0))if((tc[k[(k[n>>2]|0)+36>>2]&511](n)|0)==-1){k[c>>2]=0;A=70;break}if(!g)A=71}while(0);if((A|0)==70)if(g)A=71;if((A|0)==71)k[e>>2]=k[e>>2]|2;r=B;return m|0}function Lg(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,j=0,l=0,m=0,n=0,o=0,p=0;m=0;j=r;r=r+64|0;e=j+48|0;f=j+36|0;g=j+24|0;l=j+12|0;h=j;qg(a,b,c,d);k[a>>2]=10696;n=a+8|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;o=i[68992]|0;p=(o&1)==0;o=p?(o&255)>>>1:k[17249]|0;x=0;Ua(10,e|0,(p?68993:k[17250]|0)|0,o|0,o+3|0);o=x;x=0;a:do if(o&1)m=3;else{x=0;xa(46,e|0,31354,3)|0;p=x;x=0;if(p&1)m=3;else{if(!(i[n>>0]&1)){i[n+1>>0]=0;i[n>>0]=0}else{i[k[a+16>>2]>>0]=0;k[a+12>>2]=0}x=0;sa(443,n|0,0);p=x;x=0;if(p&1){p=Eb(0)|0;Nba(p)}k[n>>2]=k[e>>2];k[n+4>>2]=k[e+4>>2];k[n+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;P1(e);x=0;sa(k[(k[b>>2]|0)+12>>2]|0,f|0,b|0);p=x;x=0;b:do if(!(p&1)){p=i[f>>0]|0;o=(p&1)==0;x=0;xa(46,n|0,(o?f+1|0:k[f+8>>2]|0)|0,(o?(p&255)>>>1:k[f+4>>2]|0)|0)|0;p=x;x=0;if(p&1){p=mb()|0;P1(f);k[a>>2]=10672;o=a+28|0;P1(o);k[a>>2]=8184;P1(n);f4(a);yb(p|0)}P1(f);k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;e=i[d>>0]|0;e=(e&1)==0?(e&255)>>>1:k[d+4>>2]|0;x=0;Ua(10,l|0,41822,1,e+1|0);p=x;x=0;if(!(p&1)){x=0;xa(46,l|0,((i[d>>0]&1)==0?d+1|0:k[d+8>>2]|0)|0,e|0)|0;p=x;x=0;if(!(p&1)){x=0;e=Ka(866,l|0,41822)|0;p=x;x=0;do if(p&1)e=mb()|0;else{k[g>>2]=k[e>>2];k[g+4>>2]=k[e+4>>2];k[g+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;p=i[g>>0]|0;o=(p&1)==0;x=0;xa(46,n|0,(o?g+1|0:k[g+8>>2]|0)|0,(o?(p&255)>>>1:k[g+4>>2]|0)|0)|0;p=x;x=0;if(p&1){e=mb()|0;P1(g);break}P1(g);P1(l);x=0;sa(k[(k[c>>2]|0)+12>>2]|0,h|0,c|0);p=x;x=0;if(p&1)break b;p=i[h>>0]|0;o=(p&1)==0;x=0;xa(46,n|0,(o?h+1|0:k[h+8>>2]|0)|0,(o?(p&255)>>>1:k[h+4>>2]|0)|0)|0;p=x;x=0;if(p&1){p=mb()|0;P1(h);k[a>>2]=10672;o=a+28|0;P1(o);k[a>>2]=8184;P1(n);f4(a);yb(p|0)}else{P1(h);x=0;Ka(866,n|0,42479)|0;p=x;x=0;if(p&1)break b;r=j;return}}while(0);P1(l);p=e;k[a>>2]=10672;o=a+28|0;P1(o);k[a>>2]=8184;P1(n);f4(a);yb(p|0)}}e=mb()|0;P1(l);break a}while(0);e=mb()|0}}while(0);if((m|0)==3){p=mb()|0;P1(e);e=p}p=e;k[a>>2]=10672;o=a+28|0;P1(o);k[a>>2]=8184;P1(n);f4(a);yb(p|0)}function Mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;z=r;r=r+112|0;p=z;q=z+40|0;c=z+96|0;t=z+56|0;w=z+44|0;u=a+60|0;d=k[b+68>>2]|0;k[c>>2]=d;y=a+64|0;e=k[y>>2]|0;if(e>>>0<(k[a+68>>2]|0)>>>0){k[e>>2]=d;k[y>>2]=(k[y>>2]|0)+4}else Lw(u,c);c=k[b+64>>2]|0;c=Jc[k[(k[c>>2]|0)+36>>2]&1023](c,a)|0;c=tc[k[(k[c>>2]|0)+72>>2]&511](c)|0;d=k[c+68>>2]|0;o=(k[c+72>>2]|0)-d>>2;if(!o){w=k[y>>2]|0;w=w+-4|0;k[y>>2]=w;r=z;return 0}m=c+68|0;n=a+4|0;j=b+8|0;l=a+40|0;h=a+8|0;c=k[d>>2]|0;if(!c)w3();else{s=c;v=0}while(1){c=(k[n>>2]|0)+36|0;d=lD(c,84)|0;e=p;b=j;a=e+40|0;do{k[e>>2]=k[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(a|0));k[d+4>>2]=0;e=d+8|0;b=p;a=e+40|0;do{k[e>>2]=k[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(a|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;i[d+56>>0]=0;k[d+64>>2]=0;k[d+68>>2]=0;k[d+72>>2]=0;k[d>>2]=5788;k[d+60>>2]=5904;k[d+80>>2]=0;k[d+52>>2]=4;g=N4(c,d)|0;c=k[y>>2]|0;f=g+60|0;if((k[u>>2]|0)==(c|0)){c=s+64|0;d=k[c>>2]|0;k[p>>2]=d;e=d;if(d|0){k[f+16>>2]=0;b=f+8|0;a=k[b>>2]|0;if((a|0)==(k[f+12>>2]|0))uw(f+4|0,p);else{k[a>>2]=e;k[b>>2]=(k[b>>2]|0)+4}rc[k[k[f>>2]>>2]&1023](f,d)}}else{c=k[c+-4>>2]|0;c=Jc[k[(k[c>>2]|0)+40>>2]&1023](c,h)|0;k[p>>2]=c;d=c;if(c|0){k[f+16>>2]=0;e=f+8|0;b=k[e>>2]|0;if((b|0)==(k[f+12>>2]|0))uw(f+4|0,p);else{k[b>>2]=d;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[f>>2]>>2]&1023](f,c)}c=(k[n>>2]|0)+36|0;d=lD(c,76)|0;e=t;b=j;a=e+40|0;do{k[e>>2]=k[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(a|0));lE(w,38883,1);x=0;e=p;b=t;a=e+40|0;do{k[e>>2]=k[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(a|0));qa(5,d|0,p|0,w|0,0,0);a=x;x=0;if(a&1){c=26;break}x=0;c=Ka(857,c|0,d|0)|0;a=x;x=0;if(a&1){c=26;break}k[p>>2]=c;d=c;if(c|0){k[f+16>>2]=0;e=f+8|0;b=k[e>>2]|0;if((b|0)==(k[f+12>>2]|0)){x=0;sa(455,f+4|0,p|0);a=x;x=0;if(a&1){c=26;break}}else{k[b>>2]=d;k[e>>2]=(k[e>>2]|0)+4}x=0;sa(k[k[f>>2]>>2]|0,f|0,c|0);a=x;x=0;if(a&1){c=26;break}}c=s+64|0;d=k[c>>2]|0;k[q>>2]=d;e=d;if(d|0){k[f+16>>2]=0;b=f+8|0;a=k[b>>2]|0;if((a|0)==(k[f+12>>2]|0)){x=0;sa(455,f+4|0,q|0);a=x;x=0;if(a&1){c=26;break}}else{k[a>>2]=e;k[b>>2]=(k[b>>2]|0)+4}x=0;sa(k[k[f>>2]>>2]|0,f|0,d|0);f=x;x=0;if(f&1){c=26;break}}P1(w)}k[c>>2]=g;c=k[(k[l>>2]|0)+-4>>2]|0;d=c+64|0;k[p>>2]=s;k[c+80>>2]=0;e=c+72|0;b=k[e>>2]|0;if((b|0)==(k[c+76>>2]|0))xw(c+68|0,p);else{k[b>>2]=s;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[d>>2]>>2]&1023](d,s);v=v+1|0;if(v>>>0>=o>>>0){c=6;break}s=k[(k[m>>2]|0)+(v<<2)>>2]|0;if(!s){c=38;break}}if((c|0)==6){w=k[y>>2]|0;w=w+-4|0;k[y>>2]=w;r=z;return 0}else if((c|0)==26){z=mb()|0;P1(w);yb(z|0)}else if((c|0)==38)w3();return 0} -function ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=0;D=r;r=r+288|0;y=D;g=D+268|0;l=D+244|0;h=D+232|0;j=D+220|0;o=D+208|0;m=D+196|0;n=D+184|0;E=D+256|0;t=D+144|0;w=D+128|0;u=D+88|0;v=D+76|0;z=D+64|0;A=D+52|0;B=D+40|0;q=b+64|0;s=b+68|0;c=k[q>>2]|0;p=(k[s>>2]|0)-c>>2;a:do if(p>>>0>1){d=k[c>>2]|0;e=(d|0)==0;if(!e)if(Ot(d,64,448,0)|0){m=0;break}c=k[c+(p+-1<<2)>>2]|0;f=(c|0)==0;if(f){if(e){m=0;break}}else if((Ot(c,64,448,0)|0)!=0|e){m=0;break}d=Ot(d,64,432,0)|0;if((d|0)==0|f)m=0;else{c=Ot(c,64,432,0)|0;if(!c)m=0;else{e=c+60|0;_G(g,e);f=i[g>>0]|0;f=(((f&1)==0?(f&255)>>>1:k[g+4>>2]|0)|0)==0;P1(g);if(f)m=0;else{d=d+60|0;_G(l,d);b:do if((i[((i[l>>0]&1)==0?l+1|0:k[l+8>>2]|0)>>0]|0)==34){x=0;sa(430,h|0,e|0);g=x;x=0;do if(g&1)c=mb()|0;else{x=0;sa(430,j|0,e|0);g=x;x=0;if(g&1){c=mb()|0;P1(h);break}else{c=i[j>>0]|0;c=(i[((i[h>>0]&1)==0?h+1|0:k[h+8>>2]|0)+(((c&1)==0?(c&255)>>>1:k[j+4>>2]|0)+-1)>>0]|0)==34;P1(j);P1(h);P1(l);break b}}while(0);P1(l);E=c;yb(E|0)}else{P1(l);c=0}while(0);_G(o,d);if((i[((i[o>>0]&1)==0?o+1|0:k[o+8>>2]|0)>>0]|0)!=39){P1(o);m=c;break}x=0;sa(430,m|0,e|0);l=x;x=0;do if(l&1)c=mb()|0;else{x=0;sa(430,n|0,e|0);l=x;x=0;if(l&1){c=mb()|0;P1(m);break}else{l=i[n>>0]|0;l=(i[((i[m>>0]&1)==0?m+1|0:k[m+8>>2]|0)+(((l&1)==0?(l&255)>>>1:k[n+4>>2]|0)+-1)>>0]|0)==39;P1(n);P1(m);P1(o);m=c|l;break a}}while(0);P1(o);E=c;yb(E|0)}}}}else m=0;while(0);lE(E,78097,0);c:do if(!p)C=28;else{h=b+64|0;j=a+8|0;e=k[h>>2]|0;l=0;g=0;f=0;while(1){d=k[e+(l<<2)>>2]|0;if(!d)c=0;else c=Ot(d,64,448,0)|0;c=(c|0)==0;if(f)if(g|(i[d+50>>0]|0)!=0)C=37;else{x=0;Ka(866,E|0,41822)|0;o=x;x=0;if(o&1)break}else C=37;if((C|0)==37){C=0;if(!((l|0)==0|c))if(!(g|(i[d+50>>0]|0)!=0)){x=0;Ka(866,E|0,41822)|0;o=x;x=0;if(o&1)break}}c=k[(k[h>>2]|0)+(l<<2)>>2]|0;if(!(i[c+48>>0]|0)){x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a|0)|0;o=x;x=0;if(o&1)break}x=0;Ba(10,a|0,k[j>>2]|0,E|0,c|0,m|0,(i[c+50>>0]|0)!=0|0);o=x;x=0;if(o&1)break;e=k[h>>2]|0;c=k[e+(l<<2)>>2]|0;if(!c)d=0;else d=Ot(c,64,448,0)|0;l=l+1|0;if(l>>>0>=p>>>0){C=28;break c}else{g=(i[c+50>>0]|0)!=0;f=(d|0)!=0}}c=mb()|0;C=33}while(0);d:do if((C|0)==28){h=b+50|0;e:do if(!(i[h>>0]|0)){if((k[s>>2]|0)-(k[q>>2]|0)>>2>>>0>1)if(!(KH(E,78097)|0)){c=(k[a+8>>2]|0)+36|0;x=0;d=Ka(856,c|0,56)|0;C=x;x=0;if(C&1)break;g=y;e=b+8|0;f=g+40|0;do{k[g>>2]=k[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(f|0));k[d+4>>2]=0;g=d+8|0;e=y;f=g+40|0;do{k[g>>2]=k[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(f|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d>>2]=6380;k[d+52>>2]=8;x=0;c=Ka(857,c|0,d|0)|0;C=x;x=0;if(C&1)break;C=c;P1(E);r=D;return C|0}c=(k[a+8>>2]|0)+36|0;x=0;d=Ka(856,c|0,76)|0;B=x;x=0;if(!(B&1)){g=t;e=b+8|0;f=g+40|0;do{k[g>>2]=k[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(f|0));x=0;sa(430,w|0,E|0);B=x;x=0;if(!(B&1)){k[d+4>>2]=0;g=d+8|0;e=t;f=g+40|0;do{k[g>>2]=k[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(f|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;i[d+56>>0]=0;k[d+52>>2]=4;k[d>>2]=5932;i[d+57>>0]=0;i[d+58>>0]=0;x=0;sa(477,d+60|0,w|0);B=x;x=0;if(!(B&1)){k[d+72>>2]=0;x=0;c=Ka(857,c|0,d|0)|0;B=x;x=0;if(!(B&1)){P1(w);C=c;P1(E);r=D;return C|0}}c=mb()|0;P1(w);break d}}}else{c=(k[a+8>>2]|0)+36|0;x=0;d=Ka(856,c|0,76)|0;w=x;x=0;if(!(w&1)){g=u;e=b+8|0;f=g+40|0;do{k[g>>2]=k[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(f|0));x=0;sa(430,v|0,E|0);b=x;x=0;if(!(b&1)){x=0;g=y;e=u;f=g+40|0;do{k[g>>2]=k[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(f|0));qa(5,d|0,y|0,v|0,0,0);b=x;x=0;if(!(b&1)){x=0;d=Ka(857,c|0,d|0)|0;b=x;x=0;if(!(b&1)){P1(v);c=d+57|0;do if(!(i[c>>0]|0)){if(!(i[a+12>>0]|0)){c=d+60|0;x=0;sa(430,B|0,c|0);a=x;x=0;if(a&1)break e;x=0;sa(497,A|0,B|0);a=x;x=0;if(a&1)c=mb()|0;else{k[d+72>>2]=0;x=0;c=Ka(854,c|0,A|0)|0;a=x;x=0;if(!(a&1)){x=0;sa(430,z|0,c|0);a=x;x=0;if(!(a&1)){P1(z);P1(A);P1(B);break}}c=mb()|0;P1(A)}P1(B);break d}}else i[c>>0]=42;while(0);i[d+50>>0]=i[h>>0]|0;C=d;P1(E);r=D;return C|0}}c=mb()|0;P1(v);break d}}}while(0);c=mb()|0;C=33}while(0);P1(E);E=c;yb(E|0);return 0}function ze(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=0;F=r;r=r+480|0;D=F+440|0;u=F+424|0;v=F+120|0;m=F+412|0;n=F+80|0;o=F+400|0;p=F+40|0;q=F+336|0;s=F;t=F+360|0;A=F+348|0;j=F+296|0;w=F+284|0;B=F+272|0;l=F+232|0;y=F+216|0;z=F+176|0;C=F+160|0;Bt(a,0,0)|0;if(nq(a,1,0)|0){g=(k[a+40>>2]|0)+36|0;h=lD(g,96)|0;b=t;c=a+108|0;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(A);E=6}else if(f>>>0<11){i[A>>0]=f<<1;b=A+1|0}else E=6;if((E|0)==6){a=f+16&-16;b=GG(a)|0;k[A+8>>2]=b;k[A>>2]=a|1;k[A+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;b=s;c=t;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));x=0;sa(430,q|0,A|0);a=x;x=0;do if(a&1)E=15;else{x=0;b=D;c=s;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));Qa(115,h|0,D|0,q|0);D=x;x=0;if(D&1){b=mb()|0;P1(q);break}P1(q);k[h>>2]=7284;x=0;b=Ka(857,g|0,h|0)|0;E=x;x=0;if(E&1)E=15;else{P1(A);E=b;r=F;return E|0}}while(0);if((E|0)==15)b=mb()|0;P1(A);F=b;yb(F|0)}if(_r(a,1,0)|0){g=(k[a+40>>2]|0)+36|0;h=lD(g,96)|0;b=j;c=a+108|0;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(B);E=22}else if(f>>>0<11){i[B>>0]=f<<1;b=B+1|0}else E=22;if((E|0)==22){a=f+16&-16;b=GG(a)|0;k[B+8>>2]=b;k[B>>2]=a|1;k[B+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;x=0;Ua(11,w|0,B|0,0,0);a=x;x=0;if(a&1)b=mb()|0;else{b=p;c=j;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));x=0;sa(430,o|0,w|0);a=x;x=0;do if(a&1)E=33;else{x=0;b=D;c=p;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));Qa(115,h|0,D|0,o|0);D=x;x=0;if(D&1){b=mb()|0;P1(o);break}P1(o);k[h>>2]=7144;x=0;b=Ka(857,g|0,h|0)|0;E=x;x=0;if(E&1)E=33;else{P1(w);P1(B);E=b;r=F;return E|0}}while(0);if((E|0)==33)b=mb()|0;P1(w)}P1(B);F=b;yb(F|0)}if(xp(a,1,0)|0){g=(k[a+40>>2]|0)+36|0;h=lD(g,96)|0;b=l;c=a+108|0;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(y);E=41}else if(f>>>0<11){i[y>>0]=f<<1;b=y+1|0}else E=41;if((E|0)==41){a=f+16&-16;b=GG(a)|0;k[y+8>>2]=b;k[y>>2]=a|1;k[y+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;b=n;c=l;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));x=0;sa(430,m|0,y|0);a=x;x=0;do if(a&1)E=50;else{x=0;b=D;c=n;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));Qa(115,h|0,D|0,m|0);D=x;x=0;if(D&1){b=mb()|0;P1(m);break}P1(m);k[h>>2]=7144;x=0;b=Ka(857,g|0,h|0)|0;E=x;x=0;if(E&1)E=50;else{P1(y);E=b;r=F;return E|0}}while(0);if((E|0)==50)b=mb()|0;P1(y);F=b;yb(F|0)}b=a+76|0;B=k[b>>2]|0;c=bO(B)|0;B=rF(c|0?c:B)|0;c=a+80|0;if(!((B|0)==0?1:B>>>0>(k[c>>2]|0)>>>0)){E=wi(a)|0;r=F;return E|0}B=k[b>>2]|0;A=bO(B)|0;B=VM(A|0?A:B)|0;if(!((B|0)==0?1:B>>>0>(k[c>>2]|0)>>>0)){E=wd(a)|0;r=F;return E|0}B=k[b>>2]|0;A=bO(B)|0;B=A|0?A:B;B=(i[B>>0]|0)==58?B+1|0:0;if(!((B|0)==0?1:B>>>0>(k[c>>2]|0)>>>0)){E=wd(a)|0;r=F;return E|0}if(Sq(a,1,0)|0){E=md(a)|0;r=F;return E|0}if(!(js(a,1,0)|0)){E=0;r=F;return E|0}g=(k[a+40>>2]|0)+36|0;h=lD(g,96)|0;b=z;c=a+108|0;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(C);E=65}else if(f>>>0<11){i[C>>0]=f<<1;b=C+1|0}else E=65;if((E|0)==65){B=f+16&-16;b=GG(B)|0;k[C+8>>2]=b;k[C>>2]=B|1;k[C+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;b=v;c=z;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));x=0;sa(430,u|0,C|0);B=x;x=0;do if(B&1)E=74;else{x=0;b=D;c=v;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));Qa(115,h|0,D|0,u|0);D=x;x=0;if(D&1){b=mb()|0;P1(u);break}P1(u);k[h>>2]=8024;i[h+56>>0]=1;x=0;b=Ka(857,g|0,h|0)|0;E=x;x=0;if(E&1)E=74;else{P1(C);k[b+60>>2]=k[a+68>>2];E=b;r=F;return E|0}}while(0);if((E|0)==74)b=mb()|0;P1(C);F=b;yb(F|0);return 0}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;C=0;z=r;r=r+224|0;v=z+176|0;c=z+160|0;d=z+148|0;B=z+136|0;l=z+124|0;m=z+100|0;A=z+112|0;n=z+88|0;o=z+76|0;p=z+64|0;q=z+60|0;s=z+56|0;w=z+16|0;y=z;t=a+56|0;u=a+60|0;e=k[u>>2]|0;a:do if((k[t>>2]|0)!=(e|0)){switch(k[e+-4>>2]|0){case 0:case 2:case 6:break a;default:{}}if((b|0)==1){lE(c,42274,71);j=a+108|0;x=0;k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];k[v+8>>2]=k[j+8>>2];Qa(135,a|0,c|0,v|0);j=x;x=0;if(!(j&1)){P1(c);break}C=mb()|0;P1(c);yb(C|0)}else{lE(d,42346,68);j=a+108|0;x=0;k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];k[v+8>>2]=k[j+8>>2];Qa(135,a|0,d|0,v|0);j=x;x=0;if(!(j&1)){P1(d);break}C=mb()|0;P1(d);yb(C|0)}}while(0);h=a+156|0;d=k[h>>2]|0;j=a+160|0;f=k[j>>2]|0;g=f-d|0;if(g>>>0>4294967279){dH(B);C=14}else if(g>>>0<11){i[B>>0]=g<<1;c=B+1|0}else C=14;if((C|0)==14){e=g+16&-16;c=GG(e)|0;k[B+8>>2]=c;k[B>>2]=e|1;k[B+4>>2]=g}if((d|0)!=(f|0)){e=c;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(f|0))break;else e=e+1|0}c=c+g|0}i[c>>0]=0;x=0;c=xa(59,a|0,1,0)|0;g=x;x=0;b:do if(g&1)C=26;else{c:do if(!c){k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;c=i[B>>0]|0;c=(c&1)==0?(c&255)>>>1:k[B+4>>2]|0;x=0;Ua(10,m|0,42415,16,c+16|0);g=x;x=0;if(!(g&1)){x=0;xa(46,m|0,((i[B>>0]&1)==0?B+1|0:k[B+8>>2]|0)|0,c|0)|0;g=x;x=0;if(!(g&1)){x=0;c=Ka(866,m|0,42432)|0;g=x;x=0;do if(g&1)c=mb()|0;else{k[l>>2]=k[c>>2];k[l+4>>2]=k[c+4>>2];k[l+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;g=a+108|0;x=0;k[v>>2]=k[g>>2];k[v+4>>2]=k[g+4>>2];k[v+8>>2]=k[g+8>>2];Qa(135,a|0,l|0,v|0);g=x;x=0;if(g&1){c=mb()|0;P1(l);break}else{P1(l);P1(m);break c}}while(0);P1(m);break b}}c=mb()|0;P1(m);C=27;break b}while(0);d=k[h>>2]|0;f=k[j>>2]|0;g=f-d|0;if(g>>>0>4294967279){x=0;ra(331,n|0);C=x;x=0;if(C&1){C=26;break}else C=35}else if(g>>>0<11){i[n>>0]=g<<1;c=n+1|0}else C=35;if((C|0)==35){e=g+16&-16;x=0;c=ua(186,e|0)|0;m=x;x=0;if(m&1){C=26;break}k[n+8>>2]=c;k[n>>2]=e|1;k[n+4>>2]=g}if((d|0)!=(f|0)){e=c;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(f|0))break;else e=e+1|0}c=c+g|0}i[c>>0]=0;x=0;sa(492,A|0,n|0);m=x;x=0;if(m&1){c=mb()|0;P1(n);break}P1(n);d:do if((b|0)==1){if(KH(A,42444)|0)if(KH(A,42448)|0)if(KH(A,42451)|0){C=57;break}k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;c=i[A>>0]|0;c=(c&1)==0?(c&255)>>>1:k[A+4>>2]|0;x=0;Ua(10,p|0,42455,23,c+23|0);n=x;x=0;if(!(n&1)){x=0;xa(46,p|0,((i[A>>0]&1)==0?A+1|0:k[A+8>>2]|0)|0,c|0)|0;n=x;x=0;if(!(n&1)){x=0;c=Ka(866,p|0,42479)|0;n=x;x=0;do if(n&1)c=mb()|0;else{k[o>>2]=k[c>>2];k[o+4>>2]=k[c+4>>2];k[o+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;n=a+108|0;x=0;k[v>>2]=k[n>>2];k[v+4>>2]=k[n+4>>2];k[v+8>>2]=k[n+8>>2];Qa(135,a|0,o|0,v|0);n=x;x=0;if(n&1){c=mb()|0;P1(o);break}else{P1(o);P1(p);C=57;break d}}while(0);P1(p);break}}c=mb()|0;P1(p);C=53}else C=57;while(0);e:do if((C|0)==57){f=v;g=a+108|0;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));x=0;j=ua(222,a|0)|0;p=x;x=0;f:do if(!(p&1)){do if(!b){k[q>>2]=1;c=k[u>>2]|0;if(c>>>0<(k[a+64>>2]|0)>>>0){k[c>>2]=1;k[u>>2]=c+4;break}else{x=0;sa(541,t|0,q|0);t=x;x=0;if(t&1)break f;else break}}else{k[s>>2]=2;c=k[u>>2]|0;if(c>>>0<(k[a+64>>2]|0)>>>0){k[c>>2]=2;k[u>>2]=c+4;break}else{x=0;sa(541,t|0,s|0);t=x;x=0;if(t&1)break f;else break}}while(0);c=a+164|0;d=i[c>>0]|0;i[c>>0]=0;x=0;e=Ka(900,a|0,0)|0;t=x;x=0;if(t&1){C=mb()|0;i[c>>0]=d;c=C;C=53;break e}i[c>>0]=d;k[u>>2]=(k[u>>2]|0)+-4;c=(k[a+40>>2]|0)+36|0;x=0;d=Ka(856,c|0,112)|0;a=x;x=0;if(!(a&1)){f=w;g=v;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));x=0;sa(430,y|0,A|0);v=x;x=0;if(!(v&1)){k[d+4>>2]=0;f=d+8|0;g=w;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));k[d+52>>2]=0;k[d+56>>2]=0;i[d+60>>0]=0;k[d+64>>2]=e;k[d>>2]=8640;x=0;sa(430,d+68|0,y|0);w=x;x=0;if(!(w&1)){k[d+80>>2]=j;k[d+84>>2]=0;k[d+88>>2]=b;b=d+92|0;k[d+108>>2]=0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;i[b+12>>0]=0;x=0;c=Ka(857,c|0,d|0)|0;b=x;x=0;if(!(b&1)){P1(y);P1(A);P1(B);r=z;return c|0}}c=mb()|0;P1(y);break e}}}while(0);c=mb()|0;C=53}while(0);P1(A)}while(0);if((C|0)==26){c=mb()|0;C=27}P1(B);C=c;yb(C|0);return 0}function Be(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((hc|0)!=2){k[ic+8>>2]=a;k[ic+16>>2]=b;k[ic+24>>2]=c;k[ic+32>>2]=d;if((hc|0)==1)hc=3}Uc(kc+23060|0)}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0,j=0.0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;q=0;A=r;r=r+96|0;C=A+56|0;E=A+40|0;n=A+28|0;w=A;y=A+16|0;k[E+4>>2]=0;k[E+8>>2]=0;D=E+4|0;k[E>>2]=D;u=a+68|0;v=a+72|0;t=k[v>>2]|0;d=k[u>>2]|0;f=(t-d|0)/12|0;a:do if((t|0)==(d|0))q=3;else{e=0;while(1){x=0;d=Ka(852,E|0,d+(e*12|0)|0)|0;t=x;x=0;if(t&1)break;k[d>>2]=(k[d>>2]|0)+1;e=e+1|0;if(e>>>0>=f>>>0){q=3;break a}d=k[u>>2]|0}B=mb()|0}while(0);b:do if((q|0)==3){s=a+80|0;t=a+84|0;e=k[t>>2]|0;o=k[s>>2]|0;f=(e-o|0)/12|0;d=o;do if((e|0)==(o|0))m=s;else{e=0;while(1){x=0;d=Ka(852,E|0,d+(e*12|0)|0)|0;q=x;x=0;if(q&1){q=11;break}k[d>>2]=(k[d>>2]|0)+-1;e=e+1|0;d=k[s>>2]|0;if(e>>>0>=f>>>0){q=15;break}}if((q|0)==11){B=mb()|0;break b}else if((q|0)==15){m=s;e=k[t>>2]|0;break}}while(0);l=k[v>>2]|0;do if((d|0)==(e|0)){d=l;g=1.0}else{g=1.0;h=k[u>>2]|0;c:while(1){x=0;sa(430,C|0,d|0);d=d+12|0;q=x;x=0;if(q&1){q=10;break}x=0;f=Ka(852,E|0,C|0)|0;q=x;x=0;if(q&1){q=24;break}d:do if((k[f>>2]|0)>-1)f=h;else{x=0;f=ua(187,C|0)|0;q=x;x=0;if(q&1){q=24;break c}if((f|0)==1280|(h|0)==(l|0))f=h;else{while(1){x=0;sa(430,n|0,h|0);h=h+12|0;q=x;x=0;if(q&1){q=23;break c}x=0;f=Ka(852,E|0,n|0)|0;q=x;x=0;if(q&1){q=31;break c}if((k[f>>2]|0)>=1){x=0;f=ua(187,n|0)|0;q=x;x=0;if(q&1){q=31;break c}if((f|0)!=1280){f=h;break}}P1(n);if((h|0)==(l|0)){f=l;break d}}x=0;j=+Ma(1,n|0,C|0,c|0);q=x;x=0;if(q&1){q=32;break c}x=0;h=Ka(852,E|0,n|0)|0;q=x;x=0;if(q&1){q=32;break c}k[h>>2]=(k[h>>2]|0)+-1;x=0;h=Ka(852,E|0,C|0)|0;q=x;x=0;if(q&1){q=32;break c}k[h>>2]=(k[h>>2]|0)+1;P1(n);g=g*j}}while(0);P1(C);if((d|0)==(e|0)){q=43;break}else h=f}if((q|0)==10){B=mb()|0;break b}else if((q|0)==23){d=mb()|0;q=25}else if((q|0)==24){d=mb()|0;q=25}else if((q|0)==31){d=mb()|0;q=33}else if((q|0)==32){d=mb()|0;q=33}else if((q|0)==43){d=k[v>>2]|0;break}if((q|0)!=25)if((q|0)==33)P1(n);P1(C);C=d;D=k[D>>2]|0;Dz(E,D);yb(C|0)}while(0);e=k[u>>2]|0;if((d|0)!=(e|0))do{o=d+-12|0;k[v>>2]=o;P1(o);d=k[v>>2]|0}while((d|0)!=(e|0));e=k[m>>2]|0;d=k[t>>2]|0;if((d|0)!=(e|0))do{o=d+-12|0;k[t>>2]=o;P1(o);d=k[t>>2]|0}while((d|0)!=(e|0));d=k[E>>2]|0;e:do if((d|0)!=(D|0)){l=w+12|0;m=w+4|0;n=a+88|0;o=a+76|0;e=d;f:while(1){x=0;sa(430,w|0,e+16|0);h=x;x=0;if(h&1){q=9;break}h=k[e+28>>2]|0;k[l>>2]=h;f=(h|0)>-1?h:0-h|0;if(h|0){h=0;do{d=i[w>>0]|0;do if(((d&1)==0?(d&255)>>>1:k[m>>2]|0)|0){d=k[l>>2]|0;if((d|0)<0){d=k[t>>2]|0;if((d|0)==(k[n>>2]|0)){x=0;sa(439,s|0,w|0);d=x;x=0;if(d&1)break f;else break}x=0;sa(430,d|0,w|0);d=x;x=0;if(d&1)break f;k[t>>2]=(k[t>>2]|0)+12;break}if((d|0)>0){d=k[v>>2]|0;if((d|0)==(k[o>>2]|0)){x=0;sa(439,u|0,w|0);d=x;x=0;if(d&1)break f;else break}x=0;sa(430,d|0,w|0);d=x;x=0;if(d&1)break f;k[v>>2]=(k[v>>2]|0)+12}}while(0);h=h+1|0}while(h>>>0>>0)}P1(w);d=k[e+4>>2]|0;if(!d)while(1){d=k[e+8>>2]|0;if((k[d>>2]|0)==(e|0))break;else e=d}else while(1){e=k[d>>2]|0;if(!e)break;else d=e}if((d|0)==(D|0))break e;else e=d}if((q|0)==9){B=mb()|0;break b}C=mb()|0;P1(w);D=k[D>>2]|0;Dz(E,D);yb(C|0)}while(0);w=a+56|0;p[w>>3]=g*+p[w>>3];x=0;xa(45,a|0,b|0,c|0)|0;c=x;x=0;if(!(c&1)){D=k[D>>2]|0;Dz(E,D);r=A;return}d=hb(416,0)|0;c=M;c=(c|0)==(tb(416)|0);d=Bb(d|0)|0;if(!c){x=0;pa(4);x=0;e=mb()|0;x=0;pa(3);c=x;x=0;if(c&1){c=Eb(0)|0;Nba(c)}else{C=e;D=k[D>>2]|0;Dz(E,D);yb(C|0)}}b=tc[k[(k[d>>2]|0)+8>>2]&511](d)|0;c=OD(b)|0;x=0;Qa(74,y|0,b|0,c|0);c=x;x=0;do if(c&1)d=mb()|0;else{x=0;f=C;d=a+8|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));sa(438,y|0,C|0);C=x;x=0;if(C&1){d=mb()|0;P1(y);break}P1(y);x=0;pa(3);C=x;x=0;if(C&1){B=mb()|0;break b}else{D=k[D>>2]|0;Dz(E,D);r=A;return}}while(0);x=0;pa(3);C=x;x=0;if(C&1){C=Eb(0)|0;Nba(C)}else{C=d;D=k[D>>2]|0;Dz(E,D);yb(C|0)}}while(0);C=B;D=k[D>>2]|0;Dz(E,D);yb(C|0)}function De(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;s=0;I=r;r=r+304|0;H=I;D=I+292|0;C=I+280|0;E=I+240|0;A=I+224|0;y=I+212|0;w=I+200|0;z=I+160|0;v=I+156|0;l=I+144|0;h=I+132|0;g=I+120|0;j=I+80|0;J=I+64|0;G=I+40|0;F=I+52|0;B=a+152|0;c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(J);s=5}else if(f>>>0<11){i[J>>0]=f<<1;b=J+1|0}else s=5;if((s|0)==5){u=f+16&-16;b=GG(u)|0;k[J+8>>2]=b;k[J>>2]=u|1;k[J+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;t=a+96|0;k[G>>2]=k[t>>2];k[G+4>>2]=k[t+4>>2];k[G+8>>2]=k[t+8>>2];b=(k[a+40>>2]|0)+36|0;x=0;c=Ka(856,b|0,80)|0;u=x;x=0;a:do if(u&1)s=34;else{u=a+108|0;d=H;m=u;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));k[c+4>>2]=0;d=c+8|0;m=H;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;k[c+52>>2]=0;k[c+60>>2]=0;k[c+64>>2]=0;k[c+68>>2]=0;k[c>>2]=5416;k[c+56>>2]=5524;i[c+76>>0]=0;i[c+77>>0]=0;i[c+78>>0]=0;x=0;q=Ka(857,b|0,c|0)|0;p=x;x=0;if(p&1)s=34;else{k[l>>2]=k[B>>2];k[l+4>>2]=k[B+4>>2];k[l+8>>2]=k[B+8>>2];o=a+76|0;c=k[o>>2]|0;p=a+84|0;k[h>>2]=k[p>>2];k[h+4>>2]=k[p+4>>2];k[h+8>>2]=k[p+8>>2];k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];d=j;m=u;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));x=0;xa(64,a|0,1,0)|0;n=x;x=0;if(n&1)s=34;else{x=0;b=xa(81,a|0,1,0)|0;n=x;x=0;if(n&1)s=34;else{if(!b){d=u;m=j;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));k[B>>2]=k[l>>2];k[B+4>>2]=k[l+4>>2];k[B+8>>2]=k[l+8>>2];k[o>>2]=c;k[t>>2]=k[g>>2];k[t+4>>2]=k[g+4>>2];k[t+8>>2]=k[g+8>>2];k[p>>2]=k[h>>2];k[p+4>>2]=k[h+4>>2];k[p+8>>2]=k[h+8>>2];P1(J);r=I;return q|0}x=0;b=ua(230,k[o>>2]|0)|0;n=x;x=0;if(n&1)s=34;else{d=a+80|0;if((b|0)==0?1:b>>>0>(k[d>>2]|0)>>>0)b=k[o>>2]|0;x=0;c=ua(231,b|0)|0;n=x;x=0;if(n&1)s=34;else{n=c|0?c:b;n=(i[n>>0]|0)==41?n+1|0:0;do if((n|0)==0?1:n>>>0>(k[d>>2]|0)>>>0){e=q+56|0;f=q+72|0;g=q+64|0;h=q+68|0;j=q+60|0;while(1){x=0;b=ua(247,a|0)|0;s=x;x=0;if(s&1){s=33;break}k[v>>2]=b;c=b;if(b|0){k[f>>2]=0;d=k[g>>2]|0;if((d|0)==(k[h>>2]|0)){x=0;sa(478,j|0,v|0);s=x;x=0;if(s&1){s=33;break}}else{k[d>>2]=c;k[g>>2]=(k[g>>2]|0)+4}x=0;sa(k[k[e>>2]>>2]|0,e|0,b|0);s=x;x=0;if(s&1){s=33;break}}k[A>>2]=k[B>>2];k[A+4>>2]=k[B+4>>2];k[A+8>>2]=k[B+8>>2];c=k[o>>2]|0;k[y>>2]=k[p>>2];k[y+4>>2]=k[p+4>>2];k[y+8>>2]=k[p+8>>2];k[w>>2]=k[t>>2];k[w+4>>2]=k[t+4>>2];k[w+8>>2]=k[t+8>>2];d=z;m=u;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));x=0;xa(64,a|0,1,0)|0;s=x;x=0;if(s&1){s=33;break}x=0;b=xa(83,a|0,1,0)|0;s=x;x=0;if(s&1){s=33;break}if(!b){s=32;break}}if((s|0)==32){d=u;m=z;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));k[B>>2]=k[A>>2];k[B+4>>2]=k[A+4>>2];k[B+8>>2]=k[A+8>>2];k[o>>2]=c;k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[p>>2]=k[y>>2];k[p+4>>2]=k[y+4>>2];k[p+8>>2]=k[y+8>>2];break}else if((s|0)==33){b=mb()|0;break a}}else c=k[o>>2]|0;while(0);k[H>>2]=k[B>>2];k[H+4>>2]=k[B+4>>2];k[H+8>>2]=k[B+8>>2];k[D>>2]=k[p>>2];k[D+4>>2]=k[p+4>>2];k[D+8>>2]=k[p+8>>2];k[C>>2]=k[t>>2];k[C+4>>2]=k[t+4>>2];k[C+8>>2]=k[t+8>>2];d=E;m=u;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));x=0;xa(64,a|0,1,0)|0;A=x;x=0;if(A&1)s=34;else{x=0;b=xa(63,a|0,1,0)|0;A=x;x=0;if(A&1)s=34;else{if(b|0){P1(J);r=I;return q|0}d=u;m=E;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));k[B>>2]=k[H>>2];k[B+4>>2]=k[H+4>>2];k[B+8>>2]=k[H+8>>2];k[o>>2]=c;k[t>>2]=k[C>>2];k[t+4>>2]=k[C+4>>2];k[t+8>>2]=k[C+8>>2];k[p>>2]=k[D>>2];k[p+4>>2]=k[D+4>>2];k[p+8>>2]=k[D+8>>2];k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;b=i[J>>0]|0;b=(b&1)==0?(b&255)>>>1:k[J+4>>2]|0;x=0;Ua(10,F|0,40276,69,b+69|0);E=x;x=0;if(!(E&1)){x=0;xa(46,F|0,((i[J>>0]&1)==0?J+1|0:k[J+8>>2]|0)|0,b|0)|0;E=x;x=0;if(!(E&1)){x=0;k[H>>2]=k[G>>2];k[H+4>>2]=k[G+4>>2];k[H+8>>2]=k[G+8>>2];Qa(135,a|0,F|0,H|0);a=x;x=0;if(a&1){I=mb()|0;P1(F);P1(J);yb(I|0)}else{P1(F);P1(J);r=I;return q|0}}}b=mb()|0;P1(F)}}}}}}}}while(0);if((s|0)==34)b=mb()|0;I=b;P1(J);yb(I|0);return 0}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0.0,g=0,h=0,l=0.0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=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;C=0;G=r;r=r+64|0;I=G+40|0;w=G+28|0;z=G+16|0;F=G;H=i[b>>0]|0;y=b+4|0;if(!(((H&1)==0?(H&255)>>>1:k[y>>2]|0)|0)){r=G;return 1}k[I+4>>2]=0;k[I+8>>2]=0;H=I+4|0;k[I>>2]=H;D=a+68|0;E=a+72|0;B=k[E>>2]|0;d=k[D>>2]|0;g=(B-d|0)/12|0;a:do if((B|0)==(d|0))C=4;else{e=0;while(1){x=0;d=Ka(852,I|0,d+(e*12|0)|0)|0;B=x;x=0;if(B&1)break;k[d>>2]=(k[d>>2]|0)+1;e=e+1|0;if(e>>>0>=g>>>0){C=4;break a}d=k[D>>2]|0}d=mb()|0}while(0);b:do if((C|0)==4){A=a+80|0;B=a+84|0;e=k[B>>2]|0;v=k[A>>2]|0;g=(e-v|0)/12|0;d=v;do if((e|0)!=(v|0)){e=0;while(1){x=0;d=Ka(852,I|0,d+(e*12|0)|0)|0;C=x;x=0;if(C&1){C=11;break}k[d>>2]=(k[d>>2]|0)+-1;e=e+1|0;d=k[A>>2]|0;if(e>>>0>=g>>>0){C=14;break}}if((C|0)==11){d=mb()|0;break b}else if((C|0)==14){e=k[B>>2]|0;break}}while(0);c:do if((d|0)==(e|0))f=1.0;else{q=w+4|0;s=b+8|0;t=b+1|0;u=w+1|0;v=w+8|0;f=1.0;while(1){x=0;sa(430,w|0,d|0);d=d+12|0;o=x;x=0;if(o&1){C=10;break}o=j[w>>1]|0;m=(o&1)==0;h=(o&254)>>>1;n=m?h:k[q>>2]|0;J=i[b>>0]|0;g=(J&1)==0;o=(o&65535)>>>8&255;d:do if((n|0)==((g?(J&255)>>>1:k[y>>2]|0)|0)){g=g?t:k[s>>2]|0;if(!m)if(!(tG(k[v>>2]|0,g,n)|0))break;else{C=27;break}if(n)if(o<<24>>24==(i[g>>0]|0)){m=u;while(1){h=h+-1|0;m=m+1|0;if(!h)break d;g=g+1|0;if((i[m>>0]|0)!=(i[g>>0]|0)){C=27;break}}}else C=27}else C=27;while(0);if((C|0)==27){C=0;x=0;g=Ka(852,I|0,w|0)|0;J=x;x=0;if(J&1)break;if((k[g>>2]|0)<=-1){x=0;g=ua(187,w|0)|0;J=x;x=0;if(J&1)break;if((g|0)!=1280){x=0;l=+Ma(1,w|0,b|0,c|0);J=x;x=0;if(J&1)break;x=0;g=Ka(852,I|0,w|0)|0;J=x;x=0;if(J&1)break;k[g>>2]=(k[g>>2]|0)+1;x=0;g=Ka(852,I|0,b|0)|0;J=x;x=0;if(J&1)break;k[g>>2]=(k[g>>2]|0)+-1;f=f*l}}}P1(w);if((d|0)==(e|0))break c}if((C|0)==10){d=mb()|0;break b}J=mb()|0;P1(w);H=k[H>>2]|0;Dz(I,H);yb(J|0)}while(0);d=k[D>>2]|0;o=k[E>>2]|0;do if((d|0)!=(o|0)){q=z+4|0;s=b+8|0;t=b+1|0;u=z+1|0;v=z+8|0;while(1){x=0;sa(430,z|0,d|0);d=d+12|0;J=x;x=0;if(J&1){C=9;break}n=j[z>>1]|0;h=(n&1)==0;g=(n&254)>>>1;m=h?g:k[q>>2]|0;J=i[b>>0]|0;e=(J&1)==0;n=(n&65535)>>>8&255;e:do if((m|0)==((e?(J&255)>>>1:k[y>>2]|0)|0)){e=e?t:k[s>>2]|0;if(!h)if(!(tG(k[v>>2]|0,e,m)|0))break;else{C=47;break}if(m)if(n<<24>>24==(i[e>>0]|0)){h=u;while(1){g=g+-1|0;h=h+1|0;if(!g)break e;e=e+1|0;if((i[h>>0]|0)!=(i[e>>0]|0)){C=47;break}}}else C=47}else C=47;while(0);if((C|0)==47){C=0;x=0;e=Ka(852,I|0,z|0)|0;J=x;x=0;if(J&1){C=49;break}if((k[e>>2]|0)>=1){x=0;e=ua(187,z|0)|0;J=x;x=0;if(J&1){C=49;break}if((e|0)!=1280){x=0;l=+Ma(1,z|0,b|0,c|0);J=x;x=0;if(J&1){C=49;break}x=0;e=Ka(852,I|0,z|0)|0;J=x;x=0;if(J&1){C=49;break}k[e>>2]=(k[e>>2]|0)+-1;x=0;e=Ka(852,I|0,b|0)|0;J=x;x=0;if(J&1){C=49;break}k[e>>2]=(k[e>>2]|0)+1;f=f*l}}}P1(z);if((d|0)==(o|0)){C=57;break}}if((C|0)==9){d=mb()|0;break b}else if((C|0)==49){J=mb()|0;P1(z);H=k[H>>2]|0;Dz(I,H);yb(J|0)}else if((C|0)==57){e=k[D>>2]|0;d=k[E>>2]|0;if((d|0)==(e|0))break;do{J=d+-12|0;k[E>>2]=J;P1(J);d=k[E>>2]|0}while((d|0)!=(e|0))}}while(0);e=k[A>>2]|0;d=k[B>>2]|0;if((d|0)!=(e|0))do{J=d+-12|0;k[B>>2]=J;P1(J);d=k[B>>2]|0}while((d|0)!=(e|0));d=k[I>>2]|0;f:do if((d|0)!=(H|0)){m=F+12|0;n=F+4|0;o=a+88|0;q=a+76|0;e=d;g:while(1){x=0;sa(430,F|0,e+16|0);J=x;x=0;if(J&1){C=8;break}J=k[e+28>>2]|0;k[m>>2]=J;g=(J|0)>-1?J:0-J|0;if(J|0){h=0;do{J=i[F>>0]|0;do if(((J&1)==0?(J&255)>>>1:k[n>>2]|0)|0){d=k[m>>2]|0;if((d|0)<0){d=k[B>>2]|0;if((d|0)==(k[o>>2]|0)){x=0;sa(439,A|0,F|0);J=x;x=0;if(J&1)break g;else break}x=0;sa(430,d|0,F|0);J=x;x=0;if(J&1)break g;k[B>>2]=(k[B>>2]|0)+12;break}if((d|0)>0){d=k[E>>2]|0;if((d|0)==(k[q>>2]|0)){x=0;sa(439,D|0,F|0);J=x;x=0;if(J&1)break g;else break}x=0;sa(430,d|0,F|0);J=x;x=0;if(J&1)break g;k[E>>2]=(k[E>>2]|0)+12}}while(0);h=h+1|0}while(h>>>0>>0)}P1(F);d=k[e+4>>2]|0;if(!d)while(1){d=k[e+8>>2]|0;if((k[d>>2]|0)==(e|0))break;else e=d}else while(1){e=k[d>>2]|0;if(!e)break;else d=e}if((d|0)==(H|0))break f;else e=d}if((C|0)==8){d=mb()|0;break b}J=mb()|0;P1(F);H=k[H>>2]|0;Dz(I,H);yb(J|0)}while(0);J=a+56|0;p[J>>3]=f*+p[J>>3];Dz(I,k[H>>2]|0);r=G;return 1}while(0);J=d;H=k[H>>2]|0;Dz(I,H);yb(J|0);return 0}function Fe(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;k[a>>2]=8608;l=a+224|0;o=a+228|0;b=k[l>>2]|0;if((k[o>>2]|0)!=(b|0)){c=0;do{cf(k[b+(c<<3)>>2]|0);cf(k[(k[l>>2]|0)+(c<<3)+4>>2]|0);c=c+1|0;b=k[l>>2]|0}while(c>>>0<(k[o>>2]|0)-b>>3>>>0)}m=a+212|0;n=a+216|0;b=k[m>>2]|0;if((k[n>>2]|0)!=(b|0)){c=0;do{cf(k[b+(c<<2)>>2]|0);c=c+1|0;b=k[m>>2]|0}while(c>>>0<(k[n>>2]|0)-b>>2>>>0)}i=a+272|0;j=a+276|0;b=k[j>>2]|0;f=k[i>>2]|0;c=f;a:do if((b|0)==(f|0)){g=b;h=c}else{d=0;while(1){x=0;ua(190,k[c+(d<<2)>>2]|0)|0;f=x;x=0;if(f&1)break;x=0;ua(191,k[(k[i>>2]|0)+(d<<2)>>2]|0)|0;f=x;x=0;if(f&1)break;x=0;ra(328,k[(k[i>>2]|0)+(d<<2)>>2]|0);f=x;x=0;if(f&1)break;d=d+1|0;b=k[j>>2]|0;f=k[i>>2]|0;c=f;if(d>>>0>=b-f>>2>>>0){g=b;h=c;break a}}f=Eb(0)|0;P1(a+432|0);P1(a+420|0);P1(a+408|0);P1(a+396|0);P1(a+384|0);P1(a+372|0);b=k[a+360>>2]|0;c=b;if(b|0){d=a+364|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+348>>2]|0;c=b;if(b|0){d=a+352|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+336>>2]|0;c=b;if(b|0){d=a+340|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}d=a+324|0;b=k[d>>2]|0;if(b|0){e=a+328|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{p=c+-12|0;k[e>>2]=p;P1(p);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b)}d=a+312|0;b=k[d>>2]|0;if(b|0){e=a+316|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{p=c+-12|0;k[e>>2]=p;P1(p);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b)}d=a+300|0;b=k[d>>2]|0;if(b|0){e=a+304|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{p=c+-12|0;k[e>>2]=p;P1(p);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b)}d=a+288|0;b=k[d>>2]|0;if(b|0){e=a+292|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{p=c+-12|0;k[e>>2]=p;P1(p);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b)}b=k[a+272>>2]|0;c=b;if(b|0){d=k[j>>2]|0;if((d|0)!=(b|0))k[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(b)}mp(a+260|0,k[a+264>>2]|0);b=k[a+248>>2]|0;c=b;if(b|0){d=a+252|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-8-c|0)>>>3)<<3);uha(b)}Ry(a+236|0,k[a+240>>2]|0);b=k[l>>2]|0;c=b;if(b|0){d=k[o>>2]|0;if((d|0)!=(b|0))k[o>>2]=d+(~((d+-8-c|0)>>>3)<<3);uha(b)}b=k[a+212>>2]|0;if(!b){p=a+84|0;bG(p);p=a+48|0;lB(p);p=a+36|0;iB(p);p=a+20|0;P1(p);p=a+4|0;P1(p);Nba(f)}c=k[n>>2]|0;if((c|0)!=(b|0))k[n>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(b);p=a+84|0;bG(p);p=a+48|0;lB(p);p=a+36|0;iB(p);p=a+20|0;P1(p);p=a+4|0;P1(p);Nba(f)}while(0);b=g;c=k[l>>2]|0;d=k[o>>2]|0;if((d|0)!=(c|0))k[o>>2]=d+(~((d+-8-c|0)>>>3)<<3);if((b|0)!=(h|0))k[j>>2]=b+(~((b+-4-h|0)>>>2)<<2);P1(a+432|0);P1(a+420|0);P1(a+408|0);P1(a+396|0);P1(a+384|0);P1(a+372|0);b=k[a+360>>2]|0;c=b;if(b|0){d=a+364|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+348>>2]|0;c=b;if(b|0){d=a+352|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+336>>2]|0;c=b;if(b|0){d=a+340|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}d=a+324|0;b=k[d>>2]|0;if(b|0){e=a+328|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{p=c+-12|0;k[e>>2]=p;P1(p);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b)}d=a+312|0;b=k[d>>2]|0;if(b|0){e=a+316|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{p=c+-12|0;k[e>>2]=p;P1(p);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b)}d=a+300|0;b=k[d>>2]|0;if(b|0){e=a+304|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{p=c+-12|0;k[e>>2]=p;P1(p);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b)}d=a+288|0;b=k[d>>2]|0;if(b|0){e=a+292|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{p=c+-12|0;k[e>>2]=p;P1(p);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b)}b=k[i>>2]|0;c=b;if(b|0){d=k[j>>2]|0;if((d|0)!=(b|0))k[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(b)}mp(a+260|0,k[a+264>>2]|0);b=k[a+248>>2]|0;c=b;if(b|0){d=a+252|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-8-c|0)>>>3)<<3);uha(b)}Ry(a+236|0,k[a+240>>2]|0);b=k[l>>2]|0;c=b;if(b|0){d=k[o>>2]|0;if((d|0)!=(b|0))k[o>>2]=d+(~((d+-8-c|0)>>>3)<<3);uha(b)}b=k[m>>2]|0;if(!b){p=a+84|0;bG(p);p=a+48|0;lB(p);p=a+36|0;iB(p);p=a+20|0;P1(p);p=a+4|0;P1(p);return}c=k[n>>2]|0;if((c|0)!=(b|0))k[n>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(b);p=a+84|0;bG(p);p=a+48|0;lB(p);p=a+36|0;iB(p);p=a+20|0;P1(p);p=a+4|0;P1(p);return}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;J=r;r=r+80|0;n=J+24|0;I=J+48|0;H=J;LC(a);G=a+16|0;c=k[G>>2]|0;K=a+20|0;o=k[K>>2]|0;p=(o|0)==0;if(!p)c3(o);x=0;ra(335,n|0);F=x;x=0;a:do if(F&1){d=mb()|0;e=31}else{j=c+8|0;e=k[j>>2]|0;l=c+4|0;d=k[l>>2]|0;F=e-d>>2;g=c+16|0;h=k[g>>2]|0;m=c+20|0;f=k[m>>2]|0;do if((((F|0)==0?0:(F*170|0)+-1|0)|0)==(f+h|0)){x=0;ra(336,c|0);F=x;x=0;if(!(F&1)){f=k[m>>2]|0;c=k[g>>2]|0;e=k[j>>2]|0;d=k[l>>2]|0;break}d=mb()|0;c=k[n+20>>2]|0;if(!c){e=31;break a}CQ(c);e=31;break a}else c=h;while(0);c=f+c|0;if((e|0)==(d|0))c=0;else c=(k[d+(((c>>>0)/170|0)<<2)>>2]|0)+(((c>>>0)%170|0)*24|0)|0;k[c>>2]=k[n>>2];k[c+4>>2]=k[n+4>>2];k[c+8>>2]=k[n+8>>2];k[c+12>>2]=k[n+12>>2];E=n+16|0;k[c+16>>2]=k[E>>2];F=n+20|0;k[c+20>>2]=k[F>>2];k[E>>2]=0;k[F>>2]=0;k[m>>2]=(k[m>>2]|0)+1;if(!p)CQ(o);g=b+16|0;d=k[g>>2]|0;h=b+20|0;e=k[h>>2]|0;f=(e|0)==0;if(!f)c3(e);F=k[d+4>>2]|0;c=k[d+16>>2]|0;l=F+(((c>>>0)/170|0)<<2)|0;if((k[d+8>>2]|0)==(F|0))j=0;else j=(k[l>>2]|0)+(((c>>>0)%170|0)*24|0)|0;if(!f)CQ(e);e=k[g>>2]|0;f=k[h>>2]|0;g=(f|0)==0;if(!g)c3(f);c=(k[e+16>>2]|0)+(k[e+20>>2]|0)|0;d=k[e+4>>2]|0;if((k[e+8>>2]|0)==(d|0))D=0;else D=(k[d+(((c>>>0)/170|0)<<2)>>2]|0)+(((c>>>0)%170|0)*24|0)|0;if(!g)CQ(f);A=H+16|0;E=H+20|0;B=I+16|0;F=I+20|0;C=I+16|0;z=l;c=j;b:while(1){do{if((c|0)==(D|0)){e=26;break b}x=0;ra(335,I|0);y=x;x=0;if(y&1){e=27;break b}f=c+16|0;d=k[f>>2]|0;j=c+20|0;g=k[j>>2]|0;h=(g|0)==0;if(!h)c3(g);y=k[d+4>>2]|0;e=k[d+16>>2]|0;l=y+(((e>>>0)/170|0)<<2)|0;if((k[d+8>>2]|0)==(y|0))d=0;else d=(k[l>>2]|0)+(((e>>>0)%170|0)*24|0)|0;if(!h)CQ(g);g=k[f>>2]|0;h=k[j>>2]|0;j=(h|0)==0;if(!j)c3(h);e=(k[g+16>>2]|0)+(k[g+20>>2]|0)|0;f=k[g+4>>2]|0;if((k[g+8>>2]|0)==(f|0))y=0;else y=(k[f+(((e>>>0)/170|0)<<2)>>2]|0)+(((e>>>0)%170|0)*24|0)|0;if(!j)CQ(h);w=l;c:while(1){do{if((d|0)==(y|0))break c;e=k[G>>2]|0;g=k[K>>2]|0;h=(g|0)==0;if(!h)c3(g);v=k[e+4>>2]|0;f=k[e+16>>2]|0;m=v+(((f>>>0)/170|0)<<2)|0;if((k[e+8>>2]|0)==(v|0))e=0;else e=(k[m>>2]|0)+(((f>>>0)%170|0)*24|0)|0;if(!h)CQ(g);f=k[G>>2]|0;j=k[K>>2]|0;l=(j|0)==0;if(!l)c3(j);g=(k[f+16>>2]|0)+(k[f+20>>2]|0)|0;h=k[f+4>>2]|0;if((k[f+8>>2]|0)==(h|0))v=0;else v=(k[h+(((g>>>0)/170|0)<<2)>>2]|0)+(((g>>>0)%170|0)*24|0)|0;if(!l)CQ(j);t=d+16|0;u=d+20|0;d:while(1){do{if((e|0)==(v|0))break d;x=0;ra(335,H|0);s=x;x=0;if(s&1){e=57;break b}i[H>>0]=i[c>>0]|0;x=0;sa(446,H|0,e|0);s=x;x=0;if(s&1){e=103;break b}f=k[A>>2]|0;q=k[E>>2]|0;s=(q|0)==0;if(!s)c3(q);b=f+8|0;h=k[b>>2]|0;o=f+4|0;g=k[o>>2]|0;L=h-g>>2;l=f+16|0;n=k[l>>2]|0;p=f+20|0;j=k[p>>2]|0;if((((L|0)==0?0:(L*170|0)+-1|0)|0)==(j+n|0)){x=0;ra(336,f|0);L=x;x=0;if(L&1){e=104;break b}j=k[p>>2]|0;f=k[l>>2]|0;h=k[b>>2]|0;g=k[o>>2]|0}else f=n;f=j+f|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[d>>2];k[f+4>>2]=k[d+4>>2];k[f+8>>2]=k[d+8>>2];k[f+12>>2]=k[d+12>>2];k[f+16>>2]=k[t>>2];g=k[u>>2]|0;k[f+20>>2]=g;if(g|0)c3(g);k[p>>2]=(k[p>>2]|0)+1;if(!s)CQ(q);f=k[B>>2]|0;q=k[F>>2]|0;s=(q|0)==0;if(!s)c3(q);b=f+8|0;h=k[b>>2]|0;o=f+4|0;g=k[o>>2]|0;L=h-g>>2;l=f+16|0;n=k[l>>2]|0;p=f+20|0;j=k[p>>2]|0;if((((L|0)==0?0:(L*170|0)+-1|0)|0)==(j+n|0)){x=0;ra(336,f|0);L=x;x=0;if(L&1){e=106;break b}j=k[p>>2]|0;f=k[l>>2]|0;h=k[b>>2]|0;g=k[o>>2]|0}else f=n;f=j+f|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[H>>2];k[f+4>>2]=k[H+4>>2];k[f+8>>2]=k[H+8>>2];k[f+12>>2]=k[H+12>>2];k[f+16>>2]=k[A>>2];g=k[E>>2]|0;k[f+20>>2]=g;if(g|0)c3(g);k[p>>2]=(k[p>>2]|0)+1;if(!s)CQ(q);f=k[E>>2]|0;if(f|0)CQ(f);e=e+24|0}while((e-(k[m>>2]|0)|0)!=4080);e=m+4|0;m=e;e=k[e>>2]|0}d=d+24|0}while((d-(k[w>>2]|0)|0)!=4080);d=w+4|0;w=d;d=k[d>>2]|0}k[a>>2]=k[I>>2];k[a+4>>2]=k[I+4>>2];k[a+8>>2]=k[I+8>>2];k[a+12>>2]=k[I+12>>2];d=k[C>>2]|0;e=k[F>>2]|0;if(e|0)c3(e);k[G>>2]=d;d=k[K>>2]|0;k[K>>2]=e;if(d|0)CQ(d);d=k[F>>2]|0;if(d|0)CQ(d);c=c+24|0}while((c-(k[z>>2]|0)|0)!=4080);c=z+4|0;z=c;c=k[c>>2]|0}if((e|0)==26){r=J;return}else if((e|0)==27){d=mb()|0;break}else if((e|0)==57)d=mb()|0;else if((e|0)==103){d=mb()|0;e=108}else if((e|0)==104){d=mb()|0;if(s)e=108;else{CQ(q);e=108}}else if((e|0)==106){d=mb()|0;if(s)e=108;else{CQ(q);e=108}}if((e|0)==108){c=k[E>>2]|0;if(c)CQ(c)}c=k[F>>2]|0;if(c)CQ(c)}while(0);if((e|0)==31)if(!p)CQ(o);c=k[K>>2]|0;if(!c)yb(d|0);CQ(c);yb(d|0)}function He(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;s=0;I=r;r=r+304|0;H=I;D=I+292|0;C=I+280|0;E=I+240|0;A=I+224|0;y=I+212|0;w=I+200|0;z=I+160|0;v=I+156|0;l=I+144|0;h=I+132|0;g=I+120|0;j=I+80|0;J=I+64|0;G=I+40|0;F=I+52|0;B=a+152|0;c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(J);s=5}else if(f>>>0<11){i[J>>0]=f<<1;b=J+1|0}else s=5;if((s|0)==5){u=f+16&-16;b=GG(u)|0;k[J+8>>2]=b;k[J>>2]=u|1;k[J+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;t=a+96|0;k[G>>2]=k[t>>2];k[G+4>>2]=k[t+4>>2];k[G+8>>2]=k[t+8>>2];b=(k[a+40>>2]|0)+36|0;x=0;c=Ka(856,b|0,72)|0;u=x;x=0;a:do if(u&1)s=34;else{u=a+108|0;d=H;m=u;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));k[c+4>>2]=0;d=c+8|0;m=H;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));k[c+52>>2]=0;k[c+56>>2]=0;k[c+60>>2]=0;k[c>>2]=12688;k[c+48>>2]=12760;i[c+68>>0]=0;i[c+69>>0]=0;x=0;q=Ka(857,b|0,c|0)|0;p=x;x=0;if(p&1)s=34;else{k[l>>2]=k[B>>2];k[l+4>>2]=k[B+4>>2];k[l+8>>2]=k[B+8>>2];o=a+76|0;c=k[o>>2]|0;p=a+84|0;k[h>>2]=k[p>>2];k[h+4>>2]=k[p+4>>2];k[h+8>>2]=k[p+8>>2];k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];d=j;m=u;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));x=0;xa(64,a|0,1,0)|0;n=x;x=0;if(n&1)s=34;else{x=0;b=xa(81,a|0,1,0)|0;n=x;x=0;if(n&1)s=34;else{if(!b){d=u;m=j;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));k[B>>2]=k[l>>2];k[B+4>>2]=k[l+4>>2];k[B+8>>2]=k[l+8>>2];k[o>>2]=c;k[t>>2]=k[g>>2];k[t+4>>2]=k[g+4>>2];k[t+8>>2]=k[g+8>>2];k[p>>2]=k[h>>2];k[p+4>>2]=k[h+4>>2];k[p+8>>2]=k[h+8>>2];P1(J);r=I;return q|0}x=0;b=ua(230,k[o>>2]|0)|0;n=x;x=0;if(n&1)s=34;else{d=a+80|0;if((b|0)==0?1:b>>>0>(k[d>>2]|0)>>>0)b=k[o>>2]|0;x=0;c=ua(231,b|0)|0;n=x;x=0;if(n&1)s=34;else{n=c|0?c:b;n=(i[n>>0]|0)==41?n+1|0:0;do if((n|0)==0?1:n>>>0>(k[d>>2]|0)>>>0){e=q+48|0;f=q+64|0;g=q+56|0;h=q+60|0;j=q+52|0;while(1){x=0;b=ua(256,a|0)|0;s=x;x=0;if(s&1){s=33;break}k[v>>2]=b;c=b;if(b|0){k[f>>2]=0;d=k[g>>2]|0;if((d|0)==(k[h>>2]|0)){x=0;sa(546,j|0,v|0);s=x;x=0;if(s&1){s=33;break}}else{k[d>>2]=c;k[g>>2]=(k[g>>2]|0)+4}x=0;sa(k[k[e>>2]>>2]|0,e|0,b|0);s=x;x=0;if(s&1){s=33;break}}k[A>>2]=k[B>>2];k[A+4>>2]=k[B+4>>2];k[A+8>>2]=k[B+8>>2];c=k[o>>2]|0;k[y>>2]=k[p>>2];k[y+4>>2]=k[p+4>>2];k[y+8>>2]=k[p+8>>2];k[w>>2]=k[t>>2];k[w+4>>2]=k[t+4>>2];k[w+8>>2]=k[t+8>>2];d=z;m=u;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));x=0;xa(64,a|0,1,0)|0;s=x;x=0;if(s&1){s=33;break}x=0;b=xa(83,a|0,1,0)|0;s=x;x=0;if(s&1){s=33;break}if(!b){s=32;break}}if((s|0)==32){d=u;m=z;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));k[B>>2]=k[A>>2];k[B+4>>2]=k[A+4>>2];k[B+8>>2]=k[A+8>>2];k[o>>2]=c;k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[p>>2]=k[y>>2];k[p+4>>2]=k[y+4>>2];k[p+8>>2]=k[y+8>>2];break}else if((s|0)==33){b=mb()|0;break a}}else c=k[o>>2]|0;while(0);k[H>>2]=k[B>>2];k[H+4>>2]=k[B+4>>2];k[H+8>>2]=k[B+8>>2];k[D>>2]=k[p>>2];k[D+4>>2]=k[p+4>>2];k[D+8>>2]=k[p+8>>2];k[C>>2]=k[t>>2];k[C+4>>2]=k[t+4>>2];k[C+8>>2]=k[t+8>>2];d=E;m=u;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));x=0;xa(64,a|0,1,0)|0;A=x;x=0;if(A&1)s=34;else{x=0;b=xa(63,a|0,1,0)|0;A=x;x=0;if(A&1)s=34;else{if(b|0){P1(J);r=I;return q|0}d=u;m=E;n=d+40|0;do{k[d>>2]=k[m>>2];d=d+4|0;m=m+4|0}while((d|0)<(n|0));k[B>>2]=k[H>>2];k[B+4>>2]=k[H+4>>2];k[B+8>>2]=k[H+8>>2];k[o>>2]=c;k[t>>2]=k[C>>2];k[t+4>>2]=k[C+4>>2];k[t+8>>2]=k[C+8>>2];k[p>>2]=k[D>>2];k[p+4>>2]=k[D+4>>2];k[p+8>>2]=k[D+8>>2];k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;b=i[J>>0]|0;b=(b&1)==0?(b&255)>>>1:k[J+4>>2]|0;x=0;Ua(10,F|0,40276,69,b+69|0);E=x;x=0;if(!(E&1)){x=0;xa(46,F|0,((i[J>>0]&1)==0?J+1|0:k[J+8>>2]|0)|0,b|0)|0;E=x;x=0;if(!(E&1)){x=0;k[H>>2]=k[G>>2];k[H+4>>2]=k[G+4>>2];k[H+8>>2]=k[G+8>>2];Qa(135,a|0,F|0,H|0);a=x;x=0;if(a&1){I=mb()|0;P1(F);P1(J);yb(I|0)}else{P1(F);P1(J);r=I;return q|0}}}b=mb()|0;P1(F)}}}}}}}}while(0);if((s|0)==34)b=mb()|0;I=b;P1(J);yb(I|0);return 0}function Ie(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=0;A=r;r=r+208|0;v=A+188|0;b=A+184|0;z=A+144|0;E=A+128|0;j=A+116|0;l=A+104|0;q=A+92|0;s=A+80|0;t=A+68|0;u=A+56|0;y=A+16|0;B=A;k[b>>2]=4;w=a+60|0;c=k[w>>2]|0;if(c>>>0<(k[a+64>>2]|0)>>>0){k[c>>2]=4;k[w>>2]=c+4}else Bw(a+56|0,b);p=a+108|0;b=z;g=p;h=b+40|0;do{k[b>>2]=k[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0));k[E>>2]=0;D=E+4|0;k[D>>2]=0;k[E+8>>2]=0;x=0;sa(544,v|0,a|0);o=x;x=0;a:do if(o&1)C=27;else{n=a+156|0;c=k[n>>2]|0;o=a+160|0;e=k[o>>2]|0;f=e-c|0;if(f>>>0>4294967279){x=0;ra(331,l|0);C=x;x=0;if(C&1){C=27;break}else C=9}else if(f>>>0<11){i[l>>0]=f<<1;b=l+1|0}else C=9;if((C|0)==9){d=f+16&-16;x=0;b=ua(186,d|0)|0;m=x;x=0;if(m&1){C=27;break}k[l+8>>2]=b;k[l>>2]=d|1;k[l+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;x=0;sa(492,j|0,l|0);m=x;x=0;do if(m&1)b=mb()|0;else{b=k[D>>2]|0;m=E+8|0;if(b>>>0<(k[m>>2]|0)>>>0){k[b>>2]=k[j>>2];k[b+4>>2]=k[j+4>>2];k[b+8>>2]=k[j+8>>2];k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[D>>2]=(k[D>>2]|0)+12}else{x=0;sa(448,E|0,j|0);h=x;x=0;if(h&1){b=mb()|0;P1(j);break}}P1(j);P1(l);g=t+8|0;h=t+4|0;j=t+1|0;while(1){x=0;b=xa(83,a|0,1,0)|0;l=x;x=0;if(l&1){C=26;break}if(!b){C=50;break}x=0;b=xa(94,a|0,1,0)|0;l=x;x=0;if(l&1){C=26;break}if(!b){x=0;Qa(74,q|0,41271,46);l=x;x=0;if(l&1){C=26;break}x=0;k[v>>2]=k[p>>2];k[v+4>>2]=k[p+4>>2];k[v+8>>2]=k[p+8>>2];Qa(135,a|0,q|0,v|0);l=x;x=0;if(l&1){C=32;break}P1(q)}c=k[n>>2]|0;e=k[o>>2]|0;f=e-c|0;if(f>>>0>4294967279){x=0;ra(331,t|0);C=x;x=0;if(C&1){C=26;break}else C=37}else if(f>>>0<11){i[t>>0]=f<<1;b=j}else C=37;if((C|0)==37){C=0;d=f+16&-16;x=0;b=ua(186,d|0)|0;l=x;x=0;if(l&1){C=26;break}k[g>>2]=b;k[t>>2]=d|1;k[h>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;x=0;sa(492,s|0,t|0);l=x;x=0;if(l&1){C=47;break}b=k[D>>2]|0;if(b>>>0<(k[m>>2]|0)>>>0){k[b>>2]=k[s>>2];k[b+4>>2]=k[s+4>>2];k[b+8>>2]=k[s+8>>2];k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;k[D>>2]=(k[D>>2]|0)+12}else{x=0;sa(448,E|0,s|0);l=x;x=0;if(l&1){C=48;break}}P1(s);P1(t)}if((C|0)==26){b=mb()|0;C=28;break a}else if((C|0)==32){d=mb()|0;P1(q);break a}else if((C|0)==47)b=mb()|0;else if((C|0)==48){b=mb()|0;P1(s)}else if((C|0)==50){x=0;b=xa(95,a|0,1,0)|0;t=x;x=0;if(t&1){C=27;break a}do if(!b){x=0;Qa(74,u|0,41318,40);t=x;x=0;if(t&1){C=27;break a}x=0;k[v>>2]=k[p>>2];k[v+4>>2]=k[p+4>>2];k[v+8>>2]=k[p+8>>2];Qa(135,a|0,u|0,v|0);v=x;x=0;if(v&1){d=mb()|0;P1(u);break a}else{P1(u);break}}while(0);x=0;f=ua(234,a|0)|0;v=x;x=0;if(v&1){C=27;break a}i[f+48>>0]=0;if((k[f+52>>2]|0)==5){c=k[f+60>>2]|0;b=(k[f+64>>2]|0)-c>>2;if(b|0){d=0;do{i[(k[c+(d<<2)>>2]|0)+48>>0]=0;d=d+1|0}while((d|0)!=(b|0))}}b=a+164|0;c=i[b>>0]|0;i[b>>0]=0;x=0;e=Ka(900,a|0,0)|0;v=x;x=0;if(v&1){C=mb()|0;i[b>>0]=c;b=C;C=28;break a}i[b>>0]=c;k[w>>2]=(k[w>>2]|0)+-4;c=(k[a+40>>2]|0)+36|0;x=0;d=Ka(856,c|0,84)|0;a=x;x=0;if(a&1){C=27;break a}b=y;g=z;h=b+40|0;do{k[b>>2]=k[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0));x=0;sa(435,B|0,E|0);z=x;x=0;if(z&1){C=27;break a}k[d+4>>2]=0;b=d+8|0;g=y;h=b+40|0;do{k[b>>2]=k[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0));b=d+52|0;k[b>>2]=0;k[d+56>>2]=0;i[d+60>>0]=0;k[d+64>>2]=e;k[d>>2]=15600;x=0;sa(435,d+68|0,B|0);z=x;x=0;if(!(z&1)){k[d+80>>2]=f;k[b>>2]=20;x=0;e=Ka(857,c|0,d|0)|0;z=x;x=0;if(!(z&1)){b=k[B>>2]|0;if(b|0){d=B+4|0;c=k[d>>2]|0;if((c|0)!=(b|0)){do{C=c+-12|0;k[d>>2]=C;P1(C);c=k[d>>2]|0}while((c|0)!=(b|0));b=k[B>>2]|0}uha(b)}b=k[E>>2]|0;if(!b){r=A;return e|0}c=k[D>>2]|0;if((c|0)!=(b|0)){do{C=c+-12|0;k[D>>2]=C;P1(C);c=k[D>>2]|0}while((c|0)!=(b|0));b=k[E>>2]|0}uha(b);r=A;return e|0}}d=mb()|0;e=M;b=k[B>>2]|0;if(!b)break a;f=B+4|0;c=k[f>>2]|0;if((c|0)!=(b|0)){do{A=c+-12|0;k[f>>2]=A;P1(A);c=k[f>>2]|0}while((c|0)!=(b|0));b=k[B>>2]|0}uha(b);break a}P1(t);d=b;break a}while(0);P1(l);d=b}while(0);if((C|0)==27){b=mb()|0;C=28}if((C|0)==28)d=b;b=k[E>>2]|0;if(!b)yb(d|0);c=k[D>>2]|0;if((c|0)!=(b|0)){do{C=c+-12|0;k[D>>2]=C;P1(C);c=k[D>>2]|0}while((c|0)!=(b|0));b=k[E>>2]|0}uha(b);yb(d|0);return 0}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=0;z=r;r=r+16|0;x=z;a:while(1){u=b;f=b+-12|0;e=b+-8|0;v=b+-4|0;w=f+1|0;b:while(1){t=a;d=u-t|0;switch((d|0)/12|0|0){case 2:{d=v;b=w;y=4;break a}case 3:{b=f;y=6;break a}case 4:{b=f;y=7;break a}case 5:{b=f;y=8;break a}case 1:case 0:{y=47;break a}default:{}}if((d|0)<84){y=10;break a}h=(d|0)/24|0;o=a+(h*12|0)|0;if((d|0)>11988){g=(d|0)/48|0;g=oj(a,a+(g*12|0)|0,o,o+(g*12|0)|0,f,c)|0}else g=Yi(a,o,f,c)|0;n=i[a>>0]|0;m=(n&1)==0;s=a+4|0;n=m?(n&255)>>>1:k[s>>2]|0;d=i[o>>0]|0;l=(d&1)==0;h=a+(h*12|0)|0;d=l?(d&255)>>>1:k[h+4>>2]|0;p=a+8|0;q=a+1|0;m=m?q:k[p>>2]|0;h=l?o+1|0:k[h+8>>2]|0;l=tG(m,h,d>>>0>>0?d:n)|0;do if((((l|0)==0?(n>>>0>>0?-2147483648:0):l)|0)<0)h=f;else{j=f;while(1){l=j+-12|0;if((a|0)==(l|0))break;A=i[l>>0]|0;B=(A&1)==0;A=B?(A&255)>>>1:k[j+-8>>2]|0;j=tG(B?l+1|0:k[j+-4>>2]|0,h,d>>>0>>0?d:A)|0;if((((j|0)==0?(A>>>0>>0?-2147483648:0):j)|0)<0){h=l;d=l;y=29;break}else j=l}if((y|0)==29){y=0;k[x>>2]=k[a>>2];k[x+4>>2]=k[a+4>>2];k[x+8>>2]=k[a+8>>2];k[a>>2]=k[h>>2];k[a+4>>2]=k[h+4>>2];k[a+8>>2]=k[h+8>>2];k[h>>2]=k[x>>2];k[h+4>>2]=k[x+4>>2];k[h+8>>2]=k[x+8>>2];h=d;g=g+1|0;break}d=a+12|0;A=i[f>>0]|0;B=(A&1)==0;A=B?(A&255)>>>1:k[e>>2]|0;B=tG(m,B?w:k[v>>2]|0,A>>>0>>0?A:n)|0;if((((B|0)==0?(n>>>0>>0?-2147483648:0):B)|0)>=0){if((d|0)==(f|0)){y=47;break a}while(1){A=i[d>>0]|0;B=(A&1)==0;A=B?(A&255)>>>1:k[d+4>>2]|0;B=tG(m,B?d+1|0:k[d+8>>2]|0,A>>>0>>0?A:n)|0;if((((B|0)==0?(n>>>0>>0?-2147483648:0):B)|0)<0){g=d;break}d=d+12|0;if((d|0)==(f|0)){y=47;break a}}k[x>>2]=k[g>>2];k[x+4>>2]=k[g+4>>2];k[x+8>>2]=k[g+8>>2];k[g>>2]=k[f>>2];k[g+4>>2]=k[f+4>>2];k[g+8>>2]=k[f+8>>2];k[f>>2]=k[x>>2];k[f+4>>2]=k[x+4>>2];k[f+8>>2]=k[x+8>>2];d=d+12|0}if((d|0)==(f|0)){y=47;break a}else h=f;while(1){l=i[a>>0]|0;m=(l&1)==0;l=m?(l&255)>>>1:k[s>>2]|0;m=m?q:k[p>>2]|0;g=d;while(1){A=i[g>>0]|0;B=(A&1)==0;A=B?(A&255)>>>1:k[g+4>>2]|0;B=tG(m,B?g+1|0:k[g+8>>2]|0,A>>>0>>0?A:l)|0;d=g+12|0;if((((B|0)==0?(l>>>0>>0?-2147483648:0):B)|0)<0){n=g;j=g;break}else g=d}while(1){g=h+-12|0;A=i[g>>0]|0;B=(A&1)==0;A=B?(A&255)>>>1:k[h+-8>>2]|0;B=tG(m,B?g+1|0:k[h+-4>>2]|0,A>>>0>>0?A:l)|0;if((((B|0)==0?(l>>>0>>0?-2147483648:0):B)|0)<0)h=g;else{h=g;break}}if(j>>>0>=h>>>0){a=j;continue b}k[x>>2]=k[n>>2];k[x+4>>2]=k[n+4>>2];k[x+8>>2]=k[n+8>>2];k[n>>2]=k[g>>2];k[n+4>>2]=k[g+4>>2];k[n+8>>2]=k[g+8>>2];k[g>>2]=k[x>>2];k[g+4>>2]=k[x+4>>2];k[g+8>>2]=k[x+8>>2]}}while(0);d=a+12|0;c:do if(d>>>0>>0){m=h;h=o;while(1){l=i[h>>0]|0;n=(l&1)==0;l=n?(l&255)>>>1:k[h+4>>2]|0;n=n?h+1|0:k[h+8>>2]|0;j=d;while(1){A=i[j>>0]|0;B=(A&1)==0;A=B?(A&255)>>>1:k[j+4>>2]|0;B=tG(B?j+1|0:k[j+8>>2]|0,n,l>>>0>>0?l:A)|0;d=j+12|0;if((((B|0)==0?(A>>>0>>0?-2147483648:0):B)|0)<0)j=d;else{p=j;o=j;break}}j=m;while(1){m=j+-12|0;A=i[m>>0]|0;B=(A&1)==0;A=B?(A&255)>>>1:k[j+-8>>2]|0;B=tG(B?m+1|0:k[j+-4>>2]|0,n,l>>>0>>0?l:A)|0;if((((B|0)==0?(A>>>0>>0?-2147483648:0):B)|0)<0){l=m;j=m;break}else j=m}if(o>>>0>l>>>0){d=o;break c}k[x>>2]=k[p>>2];k[x+4>>2]=k[p+4>>2];k[x+8>>2]=k[p+8>>2];k[p>>2]=k[j>>2];k[p+4>>2]=k[j+4>>2];k[p+8>>2]=k[j+8>>2];k[j>>2]=k[x>>2];k[j+4>>2]=k[x+4>>2];k[j+8>>2]=k[x+8>>2];m=l;h=(h|0)==(o|0)?l:h;g=g+1|0}}else h=o;while(0);if((d|0)!=(h|0)){s=i[h>>0]|0;q=(s&1)==0;s=q?(s&255)>>>1:k[h+4>>2]|0;A=i[d>>0]|0;B=(A&1)==0;A=B?(A&255)>>>1:k[d+4>>2]|0;B=tG(q?h+1|0:k[h+8>>2]|0,B?d+1|0:k[d+8>>2]|0,A>>>0>>0?A:s)|0;if((((B|0)==0?(s>>>0>>0?-2147483648:0):B)|0)<0){k[x>>2]=k[d>>2];k[x+4>>2]=k[d+4>>2];k[x+8>>2]=k[d+8>>2];k[d>>2]=k[h>>2];k[d+4>>2]=k[h+4>>2];k[d+8>>2]=k[h+8>>2];k[h>>2]=k[x>>2];k[h+4>>2]=k[x+4>>2];k[h+8>>2]=k[x+8>>2];g=g+1|0}}if(!g){g=Kh(a,d,c)|0;h=d+12|0;if(Kh(h,b,c)|0){y=46;break}if(g){a=h;continue}}B=d;if((B-t|0)>=(u-B|0)){y=45;break}Je(a,d,c);a=d+12|0}if((y|0)==45){y=0;Je(d+12|0,b,c);b=d;continue}else if((y|0)==46){y=0;if(g){y=47;break}else{b=d;continue}}}if((y|0)==4){y=i[f>>0]|0;c=(y&1)==0;y=c?(y&255)>>>1:k[e>>2]|0;A=i[a>>0]|0;B=(A&1)==0;A=B?(A&255)>>>1:k[a+4>>2]|0;B=tG(c?b:k[d>>2]|0,B?a+1|0:k[a+8>>2]|0,A>>>0>>0?A:y)|0;if((((B|0)==0?(y>>>0>>0?-2147483648:0):B)|0)>=0){r=z;return}k[x>>2]=k[a>>2];k[x+4>>2]=k[a+4>>2];k[x+8>>2]=k[a+8>>2];k[a>>2]=k[f>>2];k[a+4>>2]=k[f+4>>2];k[a+8>>2]=k[f+8>>2];k[f>>2]=k[x>>2];k[f+4>>2]=k[x+4>>2];k[f+8>>2]=k[x+8>>2];r=z;return}else if((y|0)==6){Yi(a,a+12|0,b,c)|0;r=z;return}else if((y|0)==7){ll(a,a+12|0,a+24|0,b,c)|0;r=z;return}else if((y|0)==8){oj(a,a+12|0,a+24|0,a+36|0,b,c)|0;r=z;return}else if((y|0)==10){el(a,b,c);r=z;return}else if((y|0)==47){r=z;return}}function Ke(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;P=0;S=r;r=r+208|0;O=S+192|0;M=S+180|0;L=S+168|0;N=S+128|0;I=S+112|0;G=S+100|0;F=S+88|0;H=S+48|0;T=S+36|0;Q=S+24|0;B=S;C=S+12|0;D=S+8|0;b=gg(a)|0;J=a+76|0;c=LD(k[J>>2]|0)|0;E=a+80|0;if((c|0)==0?1:c>>>0>(k[E>>2]|0)>>>0)c=k[J>>2]|0;R=bO(c)|0;R=R|0?R:c;R=(i[R>>0]|0)==43?R+1|0:0;do if((R|0)==0?1:R>>>0>(k[E>>2]|0)>>>0){R=XO(k[J>>2]|0)|0;if(!((R|0)==0?1:R>>>0>(k[E>>2]|0)>>>0)){c=k[J>>2]|0;R=bO(c)|0;c=R|0?R:c;if(!((VC(c)|0)!=0|(c|0)==0)){d=c+1|0;if((i[c>>0]|0)==45){R=(AN(d)|0)!=0;if(!(R|(R?0:d)>>>0>(k[E>>2]|0)>>>0))break}}}c=k[J>>2]|0;R=bO(c)|0;c=R|0?R:c;if((VC(c)|0)!=0|(c|0)==0){T=b;r=S;return T|0}d=c+1|0;if((i[c>>0]|0)!=45){T=b;r=S;return T|0}R=(VC(d)|0)!=0;if(R|(R?0:d)>>>0>(k[E>>2]|0)>>>0){T=b;r=S;return T|0}}while(0);c=k[J>>2]|0;R=bO(c)|0;c=R|0?R:c;if((i[c>>0]|0)==45)do c=c+1|0;while((i[c>>0]|0)==45);R=SH(c)|0;if(!((R|0)==0?1:R>>>0>(k[E>>2]|0)>>>0)){T=b;r=S;return T|0}k[T>>2]=0;R=T+4|0;k[R>>2]=0;k[T+8>>2]=0;k[Q>>2]=0;K=Q+4|0;k[K>>2]=0;k[Q+8>>2]=0;x=0;c=ua(230,k[J>>2]|0)|0;A=x;x=0;do if(A&1)P=53;else{w=a+152|0;y=a+84|0;z=a+96|0;A=a+108|0;m=a+156|0;n=a+160|0;o=C+8|0;p=C+4|0;q=B+4|0;s=B+5|0;t=Q+8|0;u=T+8|0;v=C+1|0;c=c>>>0<=(k[E>>2]|0)>>>0?c:0;while(1){l=(c|0)!=0;k[I>>2]=k[w>>2];k[I+4>>2]=k[w+4>>2];k[I+8>>2]=k[w+8>>2];d=k[J>>2]|0;k[G>>2]=k[y>>2];k[G+4>>2]=k[y+4>>2];k[G+8>>2]=k[y+8>>2];k[F>>2]=k[z>>2];k[F+4>>2]=k[z+4>>2];k[F+8>>2]=k[z+8>>2];e=H;f=A;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));x=0;xa(64,a|0,1,0)|0;j=x;x=0;if(j&1){P=52;break}x=0;c=xa(78,a|0,1,0)|0;j=x;x=0;if(j&1){P=52;break}if(!c){e=A;f=H;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[w>>2]=k[I>>2];k[w+4>>2]=k[I+4>>2];k[w+8>>2]=k[I+8>>2];k[J>>2]=d;k[z>>2]=k[F>>2];k[z+4>>2]=k[F+4>>2];k[z+8>>2]=k[F+8>>2];k[y>>2]=k[G>>2];k[y+4>>2]=k[G+4>>2];k[y+8>>2]=k[G+8>>2];x=0;c=ua(230,d|0)|0;j=x;x=0;if(j&1){P=52;break}if((c|0)==0?1:c>>>0>(k[E>>2]|0)>>>0)c=k[J>>2]|0;x=0;d=ua(231,c|0)|0;j=x;x=0;if(j&1){P=52;break}c=d|0?d:c;if((i[c>>0]|0)==45)do c=c+1|0;while((i[c>>0]|0)==45);x=0;c=ua(195,c|0)|0;j=x;x=0;if(j&1){P=52;break}if(!((c|0)==0?1:c>>>0>(k[E>>2]|0)>>>0))break;k[O>>2]=k[w>>2];k[O+4>>2]=k[w+4>>2];k[O+8>>2]=k[w+8>>2];c=k[J>>2]|0;k[M>>2]=k[y>>2];k[M+4>>2]=k[y+4>>2];k[M+8>>2]=k[y+8>>2];k[L>>2]=k[z>>2];k[L+4>>2]=k[z+4>>2];k[L+8>>2]=k[z+8>>2];e=N;f=A;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));x=0;xa(64,a|0,1,0)|0;j=x;x=0;if(j&1){P=52;break}x=0;d=xa(79,a|0,1,0)|0;j=x;x=0;if(j&1){P=52;break}if(!d){P=30;break}}x=0;h=ua(230,k[J>>2]|0)|0;j=x;x=0;if(j&1){P=52;break}j=h>>>0<=(k[E>>2]|0)>>>0;d=k[m>>2]|0;f=k[n>>2]|0;g=f-d|0;if(g>>>0>4294967279){x=0;ra(331,C|0);P=x;x=0;if(P&1){P=52;break}else P=38}else if(g>>>0<11){i[C>>0]=g<<1;c=v}else P=38;if((P|0)==38){P=0;e=g+16&-16;x=0;c=ua(186,e|0)|0;U=x;x=0;if(U&1){P=52;break}k[o>>2]=c;k[C>>2]=e|1;k[p>>2]=g}if((d|0)!=(f|0)){e=c;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(f|0))break;else e=e+1|0}c=c+g|0}i[c>>0]=0;c=(KH(C,44221)|0)==0;k[B>>2]=c?8:9;i[q>>0]=l&1;i[s>>0]=(h|0)!=0&j&1;c=k[K>>2]|0;if(c>>>0<(k[t>>2]|0)>>>0){j=B;l=k[j+4>>2]|0;U=c;k[U>>2]=k[j>>2];k[U+4>>2]=l;k[K>>2]=(k[K>>2]|0)+8}else{x=0;sa(542,Q|0,B|0);U=x;x=0;if(U&1){P=55;break}}P1(C);x=0;c=ua(244,a|0)|0;U=x;x=0;if(U&1){P=52;break}k[D>>2]=c;d=k[R>>2]|0;if(d>>>0<(k[u>>2]|0)>>>0){k[d>>2]=c;k[R>>2]=(k[R>>2]|0)+4}else{x=0;sa(476,T|0,D|0);U=x;x=0;if(U&1){P=52;break}}x=0;c=ua(230,k[J>>2]|0)|0;U=x;x=0;if(U&1){P=52;break}c=c>>>0<=(k[E>>2]|0)>>>0?c:0}if((P|0)==30){e=A;f=N;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[w>>2]=k[O>>2];k[w+4>>2]=k[O+4>>2];k[w+8>>2]=k[O+8>>2];k[J>>2]=c;k[z>>2]=k[L>>2];k[z+4>>2]=k[L+4>>2];k[z+8>>2]=k[L+8>>2];k[y>>2]=k[M>>2];k[y+4>>2]=k[M+4>>2];k[y+8>>2]=k[M+8>>2]}else if((P|0)==52){b=mb()|0;P=54;break}else if((P|0)==55){e=mb()|0;P1(C);break}if((k[R>>2]|0)!=(k[T>>2]|0)){x=0;b=wa(28,a|0,b|0,T|0,Q|0,0)|0;U=x;x=0;if(U&1){P=53;break}}c=k[Q>>2]|0;d=c;if(c|0){e=k[K>>2]|0;if((e|0)!=(c|0))k[K>>2]=e+(~((e+-8-d|0)>>>3)<<3);uha(c)}c=k[T>>2]|0;d=c;if(c|0){e=k[R>>2]|0;if((e|0)!=(c|0))k[R>>2]=e+(~((e+-4-d|0)>>>2)<<2);uha(c)}U=b;r=S;return U|0}while(0);if((P|0)==53){b=mb()|0;P=54}if((P|0)==54)e=b;b=k[Q>>2]|0;c=b;if(b|0){d=k[K>>2]|0;if((d|0)!=(b|0))k[K>>2]=d+(~((d+-8-c|0)>>>3)<<3);uha(b)}b=k[T>>2]|0;if(!b)yb(e|0);c=k[R>>2]|0;if((c|0)!=(b|0))k[R>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(b);yb(e|0);return 0}function Le(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;u=0;B=r;r=r+176|0;A=B;l=B+40|0;j=B+136|0;m=B+124|0;q=B+112|0;v=B+72|0;w=B+56|0;y=B+44|0;s=a+40|0;c=(k[s>>2]|0)+36|0;b=lD(c,84)|0;t=a+108|0;e=A;o=t;p=e+40|0;do{k[e>>2]=k[o>>2];e=e+4|0;o=o+4|0}while((e|0)<(p|0));k[b+4>>2]=0;e=b+8|0;o=A;p=e+40|0;do{k[e>>2]=k[o>>2];e=e+4|0;o=o+4|0}while((e|0)<(p|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;z=b+52|0;k[b>>2]=11328;i[b+56>>0]=0;k[z>>2]=4;p=b+60|0;k[p>>2]=5132;f=b+64|0;k[f>>2]=0;h=b+68|0;k[h>>2]=0;o=b+72|0;k[o>>2]=0;n=GG(12)|0;g=n;k[f>>2]=g;k[h>>2]=g;k[o>>2]=n+12;k[b>>2]=5788;k[p>>2]=5904;k[b+80>>2]=0;k[z>>2]=4;z=N4(c,b)|0;a:do if(!(Gs(a,1,0)|0)){gq(a,1,0)|0;g=z+60|0;b=(k[s>>2]|0)+36|0;c=lD(b,76)|0;f=a+152|0;e=A;o=t;p=e+40|0;do{k[e>>2]=k[o>>2];e=e+4|0;o=o+4|0}while((e|0)<(p|0));Xp(c,A,f);e=N4(b,c)|0;k[A>>2]=e;b=e;if(e|0){k[g+16>>2]=0;c=g+8|0;d=k[c>>2]|0;if((d|0)==(k[g+12>>2]|0))uw(g+4|0,A);else{k[d>>2]=b;k[c>>2]=(k[c>>2]|0)+4}rc[k[k[g>>2]>>2]&1023](g,e)}l=g;d=f;j=g}else{n=z+60|0;g=(k[s>>2]|0)+36|0;h=lD(g,68)|0;e=j;o=t;p=e+40|0;do{k[e>>2]=k[o>>2];e=e+4|0;o=o+4|0}while((e|0)<(p|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(q);u=6}else if(f>>>0<11){i[q>>0]=f<<1;b=q+1|0}else u=6;if((u|0)==6){p=f+16&-16;b=GG(p)|0;k[q+8>>2]=b;k[q>>2]=p|1;k[q+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;x=0;sa(492,m|0,q|0);p=x;x=0;if(p&1)b=mb()|0;else{k[h+4>>2]=0;e=h+8|0;o=j;p=e+40|0;do{k[e>>2]=k[o>>2];e=e+4|0;o=o+4|0}while((e|0)<(p|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;k[h+52>>2]=0;k[h>>2]=14848;x=0;sa(430,h+56|0,m|0);p=x;x=0;do if(!(p&1)){x=0;b=Ka(857,g|0,h|0)|0;p=x;x=0;if(!(p&1)){k[l>>2]=b;c=b;if(b|0){k[n+16>>2]=0;d=n+8|0;e=k[d>>2]|0;if((e|0)==(k[n+12>>2]|0)){x=0;sa(455,n+4|0,l|0);p=x;x=0;if(p&1)break}else{k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4}x=0;sa(k[k[n>>2]>>2]|0,n|0,b|0);p=x;x=0;if(p&1)break}P1(m);P1(q);l=n;d=a+152|0;j=n;break a}}while(0);b=mb()|0;P1(m)}P1(q);B=b;yb(B|0)}while(0);Uq(a,1,0)|0;b=(k[s>>2]|0)+36|0;c=lD(b,76)|0;e=A;o=t;p=e+40|0;do{k[e>>2]=k[o>>2];e=e+4|0;o=o+4|0}while((e|0)<(p|0));Xp(c,A,d);b=N4(b,c)|0;k[A>>2]=b;c=b;if(b|0){k[z+60+16>>2]=0;d=z+60+8|0;e=k[d>>2]|0;if((e|0)==(k[z+60+12>>2]|0))uw(z+60+4|0,A);else{k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4}rc[k[k[j>>2]>>2]&1023](l,b)}b=a+76|0;q=k[b>>2]|0;c=bO(q)|0;q=$F(c|0?c:q)|0;c=a+80|0;if(!((q|0)==0?1:q>>>0>(k[c>>2]|0)>>>0)){b=Ef(a)|0;k[A>>2]=b;c=b;if(b|0){k[z+60+16>>2]=0;d=z+60+8|0;e=k[d>>2]|0;if((e|0)==(k[z+60+12>>2]|0))uw(z+60+4|0,A);else{k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4}rc[k[k[j>>2]>>2]&1023](l,b)}r=B;return z|0}if(!(Vs(a,1,0)|0)){y=k[b>>2]|0;w=bO(y)|0;y=wG(w|0?w:y)|0;if((y|0)==0?1:y>>>0>(k[c>>2]|0)>>>0){r=B;return z|0}b=Ef(a)|0;k[A>>2]=b;c=b;if(b|0){k[z+60+16>>2]=0;d=z+60+8|0;e=k[d>>2]|0;if((e|0)==(k[z+60+12>>2]|0))uw(z+60+4|0,A);else{k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4}rc[k[k[j>>2]>>2]&1023](l,b)}r=B;return z|0}g=(k[s>>2]|0)+36|0;h=lD(g,76)|0;e=v;o=t;p=e+40|0;do{k[e>>2]=k[o>>2];e=e+4|0;o=o+4|0}while((e|0)<(p|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(y);u=45}else if(f>>>0<11){i[y>>0]=f<<1;b=y+1|0}else u=45;if((u|0)==45){u=f+16&-16;b=GG(u)|0;k[y+8>>2]=b;k[y>>2]=u|1;k[y+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;x=0;sa(543,w|0,y|0);u=x;x=0;if(u&1)b=mb()|0;else{k[h+4>>2]=0;e=h+8|0;o=v;p=e+40|0;do{k[e>>2]=k[o>>2];e=e+4|0;o=o+4|0}while((e|0)<(p|0));i[h+48>>0]=1;i[h+49>>0]=1;i[h+50>>0]=0;k[h+52>>2]=0;k[h>>2]=11224;k[h+56>>2]=0;x=0;sa(430,h+60|0,w|0);v=x;x=0;do if(!(v&1)){k[h+72>>2]=0;x=0;b=Ka(857,g|0,h|0)|0;v=x;x=0;if(!(v&1)){k[A>>2]=b;c=b;if(b|0){k[z+60+16>>2]=0;d=z+60+8|0;e=k[d>>2]|0;if((e|0)==(k[z+60+12>>2]|0)){x=0;sa(455,z+60+4|0,A|0);A=x;x=0;if(A&1)break}else{k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4}x=0;sa(k[k[j>>2]>>2]|0,l|0,b|0);A=x;x=0;if(A&1)break}P1(w);P1(y);r=B;return z|0}}while(0);b=mb()|0;P1(w)}P1(y);B=b;yb(B|0);return 0}function Me(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,l=0,m=0,n=0,o=0,q=0.0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;B=0;I=r;r=r+208|0;H=I+160|0;h=I+148|0;j=I+136|0;l=I+124|0;n=I+112|0;s=I+100|0;t=I+88|0;z=I+76|0;A=I+64|0;C=I+52|0;D=I+40|0;F=I;lE(h,37980,5);x=0;b=Ka(867,a|0,h|0)|0;G=x;x=0;if(G&1){I=mb()|0;P1(h);yb(I|0)}b=k[b>>2]|0;if(!b)b=0;else b=Ot(b,8,256,0)|0;P1(h);lE(j,37986,2);x=0;v=H;w=e;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));o=wa(23,j|0,a|0,d|0,H|0,f|0)|0;G=x;x=0;if(G&1){I=mb()|0;P1(j);yb(I|0)}P1(j);lE(l,38097,6);x=0;v=H;w=e;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));G=wa(27,l|0,a|0,d|0,H|0,f|0)|0;E=x;x=0;if(E&1){I=mb()|0;P1(l);yb(I|0)}P1(l);a:do if(!b){b=c+36|0;h=lD(b,84)|0;k[h+4>>2]=0;v=h+8|0;w=e;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;m=h+52|0;k[m>>2]=0;k[h>>2]=10312;v=h+56|0;k[v>>2]=5132;l=h+60|0;k[l>>2]=0;E=h+64|0;k[E>>2]=0;w=h+68|0;k[w>>2]=0;y=GG(4)|0;u=y;k[l>>2]=u;k[E>>2]=u;k[w>>2]=y+4;k[h>>2]=4992;k[v>>2]=5104;k[h+76>>2]=1;i[h+80>>0]=0;i[h+81>>0]=0;k[m>>2]=5;m=N4(b,h)|0;lE(n,37980,5);x=0;v=H;w=e;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));b=wa(27,n|0,a|0,d|0,H|0,f|0)|0;E=x;x=0;do if(!(E&1)){h=m+56|0;k[H>>2]=b;j=b;if(b|0){k[m+72>>2]=0;l=m+64|0;f=k[l>>2]|0;if((f|0)==(k[m+68>>2]|0)){x=0;sa(455,m+60|0,H|0);E=x;x=0;if(E&1)break}else{k[f>>2]=j;k[l>>2]=(k[l>>2]|0)+4}x=0;sa(k[k[h>>2]>>2]|0,h|0,b|0);E=x;x=0;if(E&1)break}P1(n);break a}while(0);I=mb()|0;P1(n);yb(I|0)}else m=b;while(0);E=m+60|0;u=m+64|0;b:do if((k[E>>2]|0)==(k[u>>2]|0)){lE(z,d,OD(d)|0);x=0;b=xa(50,z|0,0,37989)|0;y=x;x=0;if(y&1)b=mb()|0;else{k[t>>2]=k[b>>2];k[t+4>>2]=k[b+4>>2];k[t+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,t|0,38011)|0;y=x;x=0;do if(y&1)b=mb()|0;else{k[s>>2]=k[b>>2];k[s+4>>2]=k[b+4>>2];k[s+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;v=H;w=e;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));sa(438,s|0,H|0);y=x;x=0;if(y&1){b=mb()|0;P1(s);break}else{P1(s);P1(t);P1(z);break b}}while(0);P1(t)}P1(z);I=b;yb(I|0)}while(0);q=+p[o+56>>3];if(q<0.0)g=+((k[u>>2]|0)-(k[m+60>>2]|0)>>2>>>0);else g=-1.0;g=+W(+(q+g));if(g<0.0)B=32;else{b=m+60|0;if(g>+((((k[u>>2]|0)-(k[b>>2]|0)>>2)+-1|0)>>>0))B=32}c:do if((B|0)==32){lE(D,d,OD(d)|0);x=0;b=xa(50,D|0,0,38031)|0;B=x;x=0;if(B&1)b=mb()|0;else{k[C>>2]=k[b>>2];k[C+4>>2]=k[b+4>>2];k[C+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,C|0,38057)|0;B=x;x=0;do if(B&1)b=mb()|0;else{k[A>>2]=k[b>>2];k[A+4>>2]=k[b+4>>2];k[A+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;v=H;w=e;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));sa(438,A|0,H|0);B=x;x=0;if(B&1){b=mb()|0;P1(A);break}else{P1(A);P1(C);P1(D);b=m+60|0;break c}}while(0);P1(C)}P1(D);I=b;yb(I|0)}while(0);s=c+36|0;t=lD(s,84)|0;v=F;w=e;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));n=(k[u>>2]|0)-(k[b>>2]|0)|0;o=n>>2;a=k[m+76>>2]|0;k[t+4>>2]=0;v=t+8|0;w=F;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));i[t+48>>0]=0;i[t+49>>0]=0;i[t+50>>0]=0;h=t+52|0;k[h>>2]=0;k[t>>2]=10312;j=t+56|0;k[j>>2]=5132;l=t+60|0;k[l>>2]=0;f=t+64|0;k[f>>2]=0;m=t+68|0;k[m>>2]=0;if(o|0){F=GG(n)|0;e=F;k[l>>2]=e;k[f>>2]=e;k[m>>2]=F+(o<<2)}k[t>>2]=4992;k[j>>2]=5104;k[t+76>>2]=a;i[t+80>>0]=0;i[t+81>>0]=0;k[h>>2]=5;t=N4(s,t)|0;b=(k[u>>2]|0)-(k[b>>2]|0)>>2;if(!b){r=I;return t|0}h=t+56|0;j=t+72|0;l=t+64|0;f=t+68|0;m=t+60|0;s=0;do{if(+(s>>>0)==g)a=G;else a=k[(k[E>>2]|0)+(s<<2)>>2]|0;k[H>>2]=a;n=a;if(a|0){k[j>>2]=0;o=k[l>>2]|0;if((o|0)==(k[f>>2]|0))uw(m,H);else{k[o>>2]=n;k[l>>2]=(k[l>>2]|0)+4}rc[k[k[h>>2]>>2]&1023](h,a)}s=s+1|0}while((s|0)!=(b|0));r=I;return t|0}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;s=r;r=r+208|0;o=s+192|0;p=s+188|0;f=s+184|0;y=s+40|0;w=s+24|0;t=s+12|0;q=s;z=y+64|0;d=y+8|0;k[d>>2]=8236;v=y+12|0;k[y>>2]=8440;k[z>>2]=8460;k[y+4>>2]=0;x=0;sa(452,y+64|0,v|0);u=x;x=0;if(u&1){y=mb()|0;P9(z);yb(y|0)}k[y+136>>2]=0;k[y+140>>2]=-1;k[y>>2]=8216;k[z>>2]=8256;k[d>>2]=8236;x=0;ra(324,v|0);u=x;x=0;do if(u&1)d=mb()|0;else{k[v>>2]=8272;u=y+44|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;k[u+12>>2]=0;k[y+60>>2]=24;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;x=0;sa(453,v|0,o|0);n=x;x=0;if(n&1){d=mb()|0;P1(o);P1(u);D2(v);break}P1(o);x=0;ra(329,w|0);n=x;x=0;if(n&1){w=mb()|0;k[y>>2]=8216;k[z>>2]=8256;y=y+8|0;k[y>>2]=8236;k[v>>2]=8272;P1(u);D2(v);P9(z);yb(w|0)}do if(c)e=18;else{e=y+8|0;x=0;d=ua(189,e+(k[(k[e>>2]|0)+-12>>2]|0)|0)|0;n=x;x=0;if(n&1)e=22;else{k[f>>2]=d;x=0;d=Ka(865,f|0,74172)|0;n=x;x=0;if(!(n&1)){x=0;d=Ka(k[(k[d>>2]|0)+28>>2]|0,d|0,10)|0;n=x;x=0;if(!(n&1)){J5(f);x=0;Ka(876,e|0,d|0)|0;n=x;x=0;if(n&1){e=22;break}x=0;ua(200,e|0)|0;n=x;x=0;if(n&1){e=22;break}x=0;xa(49,e|0,31770,10)|0;n=x;x=0;if(n&1){e=22;break}else{e=18;break}}}d=mb()|0;J5(f);e=23}}while(0);a:do if((e|0)==18){b:do if(k[b>>2]|0){j=y+8|0;l=t+8|0;m=t+1|0;n=t+4|0;h=b;g=-1;d=b;while(1){f=d+4|0;e=k[d+16>>2]|0;b=OD(e)|0;x=0;Qa(74,q|0,e|0,b|0);b=x;x=0;if(b&1){e=21;break}x=0;Ua(19,t|0,q|0,w|0,w|0);b=x;x=0;if(b&1){e=39;break}P1(q);d=j+(k[(k[j>>2]|0)+-12>>2]|0)|0;if(c){x=0;d=ua(189,d|0)|0;b=x;x=0;if(b&1){e=40;break}k[p>>2]=d;x=0;d=Ka(865,p|0,74172)|0;b=x;x=0;if(b&1){e=30;break}x=0;d=Ka(k[(k[d>>2]|0)+28>>2]|0,d|0,10)|0;b=x;x=0;if(b&1){e=30;break}J5(p);x=0;Ka(876,j|0,d|0)|0;b=x;x=0;if(b&1){e=40;break}x=0;ua(200,j|0)|0;b=x;x=0;if(b&1){e=40;break}x=0;d=xa(49,j|0,44361,1)|0;b=x;x=0;if(b&1){e=40;break}e=g+1|0;g=(e|0)==0;x=0;d=xa(49,d|0,(g?31781:31784)|0,(g?2:4)|0)|0;g=x;x=0;if(g&1){e=40;break}x=0;d=xa(49,d|0,31789,6)|0;g=x;x=0;if(g&1){e=40;break}x=0;d=Ka(860,d|0,(k[f>>2]|0)+1|0)|0;g=x;x=0;if(g&1){e=40;break}x=0;d=xa(49,d|0,43239,4)|0;g=x;x=0;if(g&1){e=40;break}g=i[t>>0]|0;b=(g&1)==0;x=0;xa(49,d|0,(b?m:k[l>>2]|0)|0,(b?(g&255)>>>1:k[n>>2]|0)|0)|0;g=x;x=0;if(g&1){e=40;break}else d=e}else{x=0;d=ua(189,d|0)|0;b=x;x=0;if(b&1){e=40;break}k[o>>2]=d;x=0;d=Ka(865,o|0,74172)|0;b=x;x=0;if(b&1){e=45;break}x=0;d=Ka(k[(k[d>>2]|0)+28>>2]|0,d|0,10)|0;b=x;x=0;if(b&1){e=45;break}J5(o);x=0;Ka(876,j|0,d|0)|0;b=x;x=0;if(b&1){e=40;break}x=0;ua(200,j|0)|0;b=x;x=0;if(b&1){e=40;break}x=0;d=xa(49,j|0,44361,1)|0;b=x;x=0;if(b&1){e=40;break}b=i[t>>0]|0;e=(b&1)==0;x=0;d=xa(49,d|0,(e?m:k[l>>2]|0)|0,(e?(b&255)>>>1:k[n>>2]|0)|0)|0;b=x;x=0;if(b&1){e=40;break}x=0;d=xa(49,d|0,43523,1)|0;b=x;x=0;if(b&1){e=40;break}x=0;d=Ka(860,d|0,(k[f>>2]|0)+1|0)|0;b=x;x=0;if(b&1){e=40;break}b=k[h>>2]|0;A=b+44|0;f=i[A>>0]|0;e=(f&1)==0;x=0;xa(49,d|0,(e?A+1|0:k[b+52>>2]|0)|0,(e?(f&255)>>>1:k[b+48>>2]|0)|0)|0;b=x;x=0;if(b&1){e=40;break}else d=g}e=k[h>>2]|0;P1(t);if(!(k[e>>2]|0))break b;else{h=e;g=d;d=e}}if((e|0)==21){d=mb()|0;e=23;break a}else if((e|0)==30){d=mb()|0;J5(p)}else if((e|0)==39){d=mb()|0;P1(q);break a}else if((e|0)==40)d=mb()|0;else if((e|0)==45){d=mb()|0;J5(o)}P1(t);break a}while(0);x=0;sa(454,a|0,v|0);A=x;x=0;if(A&1)e=22;else{P1(w);k[y>>2]=8216;k[z>>2]=8256;k[y+8>>2]=8236;k[v>>2]=8272;P1(u);D2(v);P9(z);r=s;return}}while(0);if((e|0)==22){d=mb()|0;e=23}P1(w);A=d;k[y>>2]=8216;k[z>>2]=8256;y=y+8|0;k[y>>2]=8236;k[v>>2]=8272;P1(u);D2(v);P9(z);yb(A|0)}while(0);A=d;P9(z);yb(A|0)}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;y=0;F=r;r=r+224|0;E=F+8|0;f=F+176|0;g=F+172|0;t=F+160|0;p=F;q=F+148|0;s=F+104|0;B=F+144|0;z=F+88|0;A=F+48|0;C=F+100|0;if(i[a+108>>0]|0){c=(k[a+4>>2]|0)+36|0;d=lD(c,72)|0;w=f;u=b+8|0;v=w+40|0;do{k[w>>2]=k[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(v|0));e=k[b+64>>2]|0;e=Jc[k[(k[e>>2]|0)+36>>2]&1023](e,a)|0;e=tc[k[(k[e>>2]|0)+72>>2]&511](e)|0;k[d+4>>2]=0;w=d+8|0;u=f;v=w+40|0;do{k[w>>2]=k[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(v|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d+64>>2]=e;k[d>>2]=10136;k[d+68>>2]=0;k[d+52>>2]=8;f=N4(c,d)|0;c=b+68|0;if(!(k[c>>2]|0)){a=f;r=F;return a|0}k[g>>2]=0;d=a+76|0;e=k[d>>2]|0;if(e>>>0<(k[a+80>>2]|0)>>>0){k[e>>2]=0;k[d>>2]=(k[d>>2]|0)+4}else rw(a+72|0,g);b=k[c>>2]|0;a=Jc[k[(k[b>>2]|0)+40>>2]&1023](b,a+8|0)|0;k[f+68>>2]=a;k[d>>2]=(k[d>>2]|0)+-4;a=f;r=F;return a|0}D=b+73|0;o=b+68|0;a:do if(i[D>>0]|0){c=k[o>>2]|0;if(c|0){c=Ot(c,112,160,0)|0;if(c|0){d=k[c+72>>2]|0;j=k[c+76>>2]|0;if((d|0)!=(j|0)){l=a+4|0;m=a+96|0;n=a+100|0;b:while(1){g=k[d>>2]|0;if(g|0){h=g;do{c=k[h+72>>2]|0;if(c|0){e=k[c+72>>2]|0;f=k[c+76>>2]|0;if((e|0)!=(f|0))do{c=k[e>>2]|0;if(c|0)if(Ot(c,96,736,0)|0){w=k[(k[g>>2]|0)+20>>2]|0;G=k[(k[l>>2]|0)+16>>2]|0;u=k[G+4>>2]|0;v=p;k[v>>2]=k[G>>2];k[v+4>>2]=u;k[E>>2]=k[p>>2];k[E+4>>2]=k[p+4>>2];Pc[w&255](t,g,E);x=0;Qa(74,q|0,32918,78);w=x;x=0;if(w&1){y=24;break b}w=s;u=c+8|0;v=w+40|0;do{k[w>>2]=k[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(v|0));c=k[n>>2]|0;if((c|0)==(k[m>>2]|0))c=0;else c=k[c+-4>>2]|0;x=0;w=E;u=s;v=w+40|0;do{k[w>>2]=k[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(v|0));Qa(100,q|0,E|0,c|0);G=x;x=0;if(G&1){y=25;break b}P1(q);P1(t)}e=e+4|0}while((e|0)!=(f|0))}h=k[h+76>>2]|0}while((h|0)!=0)}d=d+4|0;if((d|0)==(j|0))break a}if((y|0)==24)c=mb()|0;else if((y|0)==25){c=mb()|0;P1(q)}P1(t);G=c;yb(G|0)}}}}while(0);c=k[o>>2]|0;c=Jc[k[(k[c>>2]|0)+40>>2]&1023](c,a+8|0)|0;if(!c)k[B>>2]=0;else{j=Ot(c,64,160,0)|0;k[B>>2]=j;l=j;if(j|0){if((k[j+76>>2]|0)==(k[j+72>>2]|0))y=38;else if(tc[k[(k[j>>2]|0)+96>>2]&511](j)|0)y=38;else h=a+76|0;c:do if((y|0)==38){g=a+72|0;h=a+76|0;c=k[h>>2]|0;d=k[g>>2]|0;f=c-d>>2;do if(f|0){e=0;while(1){if(c-d>>2>>>0<=e>>>0){y=43;break}c=k[d+(e<<2)>>2]|0;if(!c)c=0;else c=(k[c+76>>2]|0)!=(k[c+72>>2]|0);e=e+1|0;if(c|e>>>0>=f>>>0){y=40;break}c=k[h>>2]|0}if((y|0)==40)if(c)break c;else break;else if((y|0)==43)eH(g)}while(0);lE(z,32918,78);w=A;u=j+8|0;v=w+40|0;do{k[w>>2]=k[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(v|0));c=k[a+100>>2]|0;if((c|0)==(k[a+96>>2]|0))c=0;else c=k[c+-4>>2]|0;x=0;w=E;u=A;v=w+40|0;do{k[w>>2]=k[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(v|0));Qa(100,z|0,E|0,c|0);G=x;x=0;if(!(G&1)){P1(z);break}G=mb()|0;P1(z);yb(G|0)}while(0);c=k[h>>2]|0;if((c|0)==(k[a+80>>2]|0))qw(a+72|0,B);else{k[c>>2]=l;k[h>>2]=(k[h>>2]|0)+4}k[C>>2]=0;g=a+40|0;do if(!(i[(k[(k[g>>2]|0)+-4>>2]|0)+84>>0]|0))f=0;else{d=GG(32)|0;e=a+24|0;f=a+28|0;c=k[f>>2]|0;if((c|0)==(k[e>>2]|0))c=0;else c=k[c+-4>>2]|0;x=0;Qa(107,d|0,c|0,0);G=x;x=0;if(G&1){G=mb()|0;uha(d);yb(G|0)}k[C>>2]=d;c=k[f>>2]|0;if((c|0)==(k[a+32>>2]|0)){fw(e,C);f=d;break}else{k[c>>2]=d;k[f>>2]=(k[f>>2]|0)+4;f=d;break}}while(0);rc[k[(k[j>>2]|0)+104>>2]&1023](j,k[(k[a+88>>2]|0)+-4>>2]|0);c=k[b+64>>2]|0;c=Jc[k[(k[c>>2]|0)+36>>2]&1023](c,a)|0;c=tc[k[(k[c>>2]|0)+72>>2]&511](c)|0;d=(k[a+4>>2]|0)+36|0;e=lD(d,76)|0;w=E;u=b+8|0;v=w+40|0;do{k[w>>2]=k[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(v|0));k[e+4>>2]=0;w=e+8|0;u=E;v=w+40|0;do{k[w>>2]=k[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(v|0));k[e+56>>2]=0;i[e+60>>0]=0;k[e+64>>2]=c;k[e>>2]=4816;k[e+68>>2]=l;i[e+72>>0]=0;i[e+73>>0]=0;k[e+52>>2]=1;c=N4(d,e)|0;k[h>>2]=(k[h>>2]|0)+-4;if(i[(k[(k[g>>2]|0)+-4>>2]|0)+84>>0]|0){G=a+28|0;k[G>>2]=(k[G>>2]|0)+-4;if(f|0){iB(f+20|0);az(f,k[f+4>>2]|0);uha(f)}}i[c+73>>0]=i[D>>0]|0;k[c+56>>2]=k[b+56>>2];G=c;r=F;return G|0}}c=vb(8)|0;x=0;sa(444,c|0,32997);G=x;x=0;if(!(G&1))Wb(c|0,4416,310);G=mb()|0;lb(c|0);yb(G|0);return 0}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;q=0;o=r;r=r+112|0;n=o+108|0;m=o+104|0;l=o+100|0;j=o+96|0;u=o+84|0;t=o+72|0;d=o+48|0;s=o+60|0;e=o+24|0;p=o+36|0;h=o+12|0;f=o;Zz(u);g=k[c+12>>2]|0;v=OD(g)|0;x=0;Qa(74,d|0,g|0,v|0);v=x;x=0;if(v&1){v=mb()|0;P1(u);yb(v|0)}x=0;Ua(16,t|0,d|0,u|0,u|0);v=x;x=0;if(v&1){v=mb()|0;P1(d);P1(u);yb(v|0)}P1(d);v=OD(g)|0;x=0;Qa(74,e|0,g|0,v|0);v=x;x=0;do if(v&1)d=mb()|0;else{x=0;Ua(19,s|0,e|0,u|0,u|0);v=x;x=0;if(v&1){d=mb()|0;P1(e);break}P1(e);v=OD(g)|0;x=0;Qa(74,h|0,g|0,v|0);v=x;x=0;a:do if(v&1)d=mb()|0;else{v=OD(g)|0;x=0;Qa(74,f|0,g|0,v|0);v=x;x=0;do if(v&1)d=mb()|0;else{x=0;Ua(22,p|0,s|0,h|0,f|0);v=x;x=0;if(v&1){d=mb()|0;P1(f);break}P1(f);P1(h);x=0;d=xa(49,73208,31880,28)|0;v=x;x=0;b:do if(v&1)q=21;else{x=0;Ka(860,d|0,(k[c>>2]|0)+1|0)|0;v=x;x=0;if(v&1)q=21;else{v=i[p>>0]|0;d=p+4|0;if(((v&1)==0?(v&255)>>>1:k[d>>2]|0)|0){x=0;e=xa(49,73208,43239,4)|0;v=x;x=0;if(v&1){q=21;break}v=i[p>>0]|0;c=(v&1)==0;x=0;xa(49,e|0,(c?p+1|0:k[p+8>>2]|0)|0,(c?(v&255)>>>1:k[d>>2]|0)|0)|0;v=x;x=0;if(v&1){q=21;break}}x=0;e=xa(49,73208,43523,1)|0;v=x;x=0;if(v&1)q=21;else{x=0;d=ua(189,e+(k[(k[e>>2]|0)+-12>>2]|0)|0)|0;v=x;x=0;if(v&1)q=21;else{k[j>>2]=d;x=0;d=Ka(865,j|0,74172)|0;v=x;x=0;if(!(v&1)){x=0;d=Ka(k[(k[d>>2]|0)+28>>2]|0,d|0,10)|0;v=x;x=0;if(!(v&1)){J5(j);x=0;Ka(876,e|0,d|0)|0;v=x;x=0;if(v&1){q=21;break}x=0;ua(200,e|0)|0;v=x;x=0;if(v&1){q=21;break}d=i[a>>0]|0;v=(d&1)==0;x=0;d=xa(49,73208,(v?a+1|0:k[a+8>>2]|0)|0,(v?(d&255)>>>1:k[a+4>>2]|0)|0)|0;v=x;x=0;if(v&1){q=21;break}x=0;e=xa(49,d|0,31909,49)|0;v=x;x=0;if(v&1){q=21;break}x=0;d=ua(189,e+(k[(k[e>>2]|0)+-12>>2]|0)|0)|0;v=x;x=0;if(v&1){q=21;break}k[l>>2]=d;x=0;d=Ka(865,l|0,74172)|0;v=x;x=0;do if(!(v&1)){x=0;d=Ka(k[(k[d>>2]|0)+28>>2]|0,d|0,10)|0;v=x;x=0;if(v&1)break;J5(l);x=0;Ka(876,e|0,d|0)|0;v=x;x=0;if(v&1){q=21;break b}x=0;ua(200,e|0)|0;v=x;x=0;if(v&1){q=21;break b}d=i[b>>0]|0;e=(d&1)==0;if(e)f=(d&255)>>>1;else f=k[b+4>>2]|0;c:do if(f|0){x=0;e=xa(49,73208,(e?b+1|0:k[b+8>>2]|0)|0,(e?(d&255)>>>1:k[b+4>>2]|0)|0)|0;v=x;x=0;if(v&1){q=21;break b}x=0;d=ua(189,e+(k[(k[e>>2]|0)+-12>>2]|0)|0)|0;v=x;x=0;if(v&1){q=21;break b}k[m>>2]=d;x=0;d=Ka(865,m|0,74172)|0;v=x;x=0;do if(!(v&1)){x=0;d=Ka(k[(k[d>>2]|0)+28>>2]|0,d|0,10)|0;v=x;x=0;if(v&1)break;J5(m);x=0;Ka(876,e|0,d|0)|0;v=x;x=0;if(v&1){q=21;break b}x=0;ua(200,e|0)|0;v=x;x=0;if(v&1){q=21;break b}else break c}while(0);d=mb()|0;J5(m);break b}while(0);x=0;d=ua(189,73208+(k[(k[18302]|0)+-12>>2]|0)|0)|0;v=x;x=0;if(v&1){q=21;break b}k[n>>2]=d;x=0;d=Ka(865,n|0,74172)|0;v=x;x=0;do if(!(v&1)){x=0;d=Ka(k[(k[d>>2]|0)+28>>2]|0,d|0,10)|0;v=x;x=0;if(v&1)break;J5(n);x=0;Ka(876,73208,d|0)|0;v=x;x=0;if(v&1){q=21;break b}x=0;ua(200,73208)|0;v=x;x=0;if(v&1){q=21;break b}P1(p);P1(s);P1(t);P1(u);r=o;return}while(0);d=mb()|0;J5(n);break b}while(0);d=mb()|0;J5(l);break}}d=mb()|0;J5(j)}}}}while(0);if((q|0)==21)d=mb()|0;P1(p);break a}while(0);P1(h)}while(0);P1(s)}while(0);P1(t);v=d;P1(u);yb(v|0)}function Qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((hc|0)!=2){k[ic+8>>2]=a;k[ic+16>>2]=b;k[ic+24>>2]=c;k[ic+32>>2]=d;if((hc|0)==1)hc=3}Uc(kc+25956|0)}function Re(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;l=0;q=r;r=r+1120|0;f=q+96|0;w=q+84|0;e=q+60|0;v=q+72|0;g=q+24|0;u=q+48|0;t=q+36|0;p=q;s=q+12|0;o=eE(f,1024)|0;lE(e,o,OD(o)|0);o=i[e>>0]|0;n=(o&1)==0;if((i[(n?e+1|0:k[e+8>>2]|0)+((n?(o&255)>>>1:k[e+4>>2]|0)+-1)>>0]|0)!=47){x=0;sa(440,e|0,47);o=x;x=0;if(o&1){w=mb()|0;P1(e);yb(w|0)}}x=0;Ua(16,w|0,b|0,d|0,e|0);o=x;x=0;if(o&1){w=mb()|0;P1(e);yb(w|0)}P1(e);x=0;e=Ka(893,f|0,1024)|0;o=x;x=0;do if(o&1)l=18;else{o=OD(e)|0;x=0;Qa(74,g|0,e|0,o|0);o=x;x=0;if(o&1)l=18;else{o=i[g>>0]|0;n=(o&1)==0;if((i[(n?g+1|0:k[g+8>>2]|0)+((n?(o&255)>>>1:k[g+4>>2]|0)+-1)>>0]|0)!=47){x=0;sa(440,g|0,47);o=x;x=0;if(o&1){e=mb()|0;P1(g);l=19;break}}x=0;Ua(16,v|0,c|0,d|0,g|0);o=x;x=0;if(o&1){e=mb()|0;P1(g);break}P1(g);d=b+8|0;h=b+1|0;e=(i[b>>0]&1)==0?h:k[d>>2]|0;do if(!(i[e>>0]|0))l=30;else{x=0;e=ua(218,e|0)|0;o=x;x=0;if(o&1)l=22;else if(e){e=0;while(1){f=((i[b>>0]&1)==0?h:k[d>>2]|0)+e|0;if(!(i[f>>0]|0)){c=e;break}g=e+1|0;x=0;e=ua(219,f|0)|0;o=x;x=0;if(o&1){l=21;break}if(e)e=g;else{c=g;break}}if((l|0)==21){e=mb()|0;l=23;break}if(!c)l=30;else{g=(i[b>>0]&1)==0?h:k[d>>2]|0;f=i[g+c>>0]|0;e=c+1|0;if(f<<24>>24==58){if(!e){l=30;break}f=i[g+e>>0]|0}else e=c;if((e+1|0)>>>0>3&f<<24>>24==47){x=0;sa(430,a|0,b|0);u=x;x=0;if(u&1)l=22;else{P1(v);P1(w);r=q;return}}else l=30}}else l=30}while(0);if((l|0)==30){x=0;Qa(74,u|0,78097,0);o=x;x=0;if(o&1)l=22;else{x=0;Qa(74,t|0,78097,0);o=x;x=0;if(o&1)e=mb()|0;else{m=i[w>>0]|0;g=(m&1)==0;n=w+4|0;l=g?(m&255)>>>1:k[n>>2]|0;f=i[v>>0]|0;c=(f&1)==0;o=v+4|0;e=k[o>>2]|0;j=c?(f&255)>>>1:e;j=j>>>0>>0?j:l;a:do if(!j)d=0;else{b=g?w+1|0:k[w+8>>2]|0;d=c?v+1|0:k[v+8>>2]|0;h=0;g=0;while(1){c=i[b+h>>0]|0;if(c<<24>>24!=(i[d+h>>0]|0)){d=g;break a}h=h+1|0;g=c<<24>>24==47?h:g;if(h>>>0>=j>>>0){d=g;break}}}while(0);do if(d>>>0>>0){g=w+8|0;c=w+1|0;e=m;f=d;while(1){x=0;sa(440,u|0,i[((e&1)==0?c:k[g>>2]|0)+f>>0]|0);m=x;x=0;if(m&1){l=39;break}f=f+1|0;e=i[w>>0]|0;if(f>>>0>=((e&1)==0?(e&255)>>>1:k[n>>2]|0)>>>0){l=44;break}}if((l|0)==39){e=mb()|0;l=41;break}else if((l|0)==44){f=i[v>>0]|0;e=k[o>>2]|0;l=45;break}}else l=45;while(0);b:do if((l|0)==45){c:do if(d>>>0<((f&1)==0?(f&255)>>>1:e)>>>0){g=v+8|0;c=v+1|0;e=d;while(1){x=0;sa(440,t|0,i[((f&1)==0?c:k[g>>2]|0)+e>>0]|0);n=x;x=0;if(n&1)break;e=e+1|0;f=i[v>>0]|0;if(e>>>0>=((f&1)==0?(f&255)>>>1:k[o>>2]|0)>>>0)break c}e=mb()|0;l=41;break b}while(0);e=i[t>>0]|0;h=t+4|0;f=k[h>>2]|0;d:do if(!(((e&1)==0?(e&255)>>>1:f)|0))e=0;else{b=t+8|0;j=t+1|0;d=e;e=0;c=0;g=0;while(1){if((i[((d&1)==0?j:k[b>>2]|0)+g>>0]|0)==47){x=0;qa(4,p|0,t|0,c|0,2,t|0);o=x;x=0;if(o&1)break;o=(KH(p,34242)|0)==0;P1(p);if(o)e=e>>>0>1?e+-1|0:0;else e=e+1|0;c=g+1|0;g=c;d=i[t>>0]|0;f=k[h>>2]|0}else g=g+1|0;if(g>>>0>=((d&1)==0?(d&255)>>>1:f)>>>0)break d}e=mb()|0;l=41;break b}while(0);x=0;Qa(74,s|0,78097,0);p=x;x=0;if(p&1){e=mb()|0;l=41;break}e:do if(!e)l=63;else{f=0;while(1){x=0;Ka(866,s|0,34234)|0;p=x;x=0;if(p&1)break;f=f+1|0;if(f>>>0>=e>>>0){l=63;break e}}e=mb()|0}while(0);do if((l|0)==63){p=i[u>>0]|0;o=(p&1)==0;x=0;xa(46,s|0,(o?u+1|0:k[u+8>>2]|0)|0,(o?(p&255)>>>1:k[u+4>>2]|0)|0)|0;p=x;x=0;if(p&1){e=mb()|0;break}k[a>>2]=k[s>>2];k[a+4>>2]=k[s+4>>2];k[a+8>>2]=k[s+8>>2];k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;P1(s);P1(t);P1(u);P1(v);P1(w);r=q;return}while(0);P1(s)}while(0);P1(t)}P1(u)}}if((l|0)==22){e=mb()|0;l=23}P1(v)}}while(0);if((l|0)==18){e=mb()|0;l=19}P1(w);w=e;yb(w|0)}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+16|0;h=v+4|0;j=v;t=a+8|0;c=k[t>>2]|0;u=a+4|0;g=k[u>>2]|0;e=((c|0)==(g|0)&1)+b|0;e=(((e>>>0)%170|0|0)!=0&1)+((e>>>0)/170|0)|0;q=a+16|0;b=k[q>>2]|0;p=(b>>>0)/170|0;p=e>>>0

>>0?e:p;i=e-p|0;f=c;if((e|0)==(p|0)){s=(ia(e,-170)|0)+b|0;k[q>>2]=s;if(!e){r=v;return}n=a+12|0;b=g;d=e;while(1){m=k[b>>2]|0;h=b+4|0;k[u>>2]=h;s=k[n>>2]|0;b=s;e=c;do if((c|0)==(s|0)){g=k[a>>2]|0;f=g;if(h>>>0>g>>>0){c=h;s=((c-f>>2)+1|0)/-2|0;q=h+(s<<2)|0;c=e-c|0;VH(q|0,h|0,c|0)|0;c=q+(c>>2<<2)|0;k[t>>2]=c;k[u>>2]=(k[u>>2]|0)+(s<<2);break}l=b-f>>1;l=(l|0)==0?1:l;s=GG(l<<2)|0;i=s;b=s+(l>>>2<<2)|0;j=b;l=s+(l<<2)|0;if((h|0)==(c|0)){b=g;c=j}else{f=h;e=j;do{k[b>>2]=k[f>>2];b=e+4|0;e=b;f=f+4|0}while((f|0)!=(c|0));c=e;b=k[a>>2]|0}k[a>>2]=i;k[u>>2]=j;k[t>>2]=c;k[n>>2]=l;if(b){uha(b);c=k[t>>2]|0}}while(0);k[c>>2]=m;c=(k[t>>2]|0)+4|0;k[t>>2]=c;d=d+-1|0;if(!d)break;b=k[u>>2]|0}r=v;return}s=a+12|0;c=k[s>>2]|0;b=c-(k[a>>2]|0)|0;e=f-g>>2;if(i>>>0<=((b>>2)-e|0)>>>0){a:do if((c|0)==(f|0)){c=i;m=16}else{c=i;while(1){o=GG(4080)|0;k[h>>2]=o;ru(a,h);c=c+-1|0;if(!c){m=17;break a}if((k[s>>2]|0)==(k[t>>2]|0)){m=16;break}}}while(0);if((m|0)==16)if(!c)m=17;else{d=p;do{b=GG(4080)|0;k[j>>2]=b;yu(a,j);c=c+-1|0;d=d+1|0;b=(k[q>>2]|0)+170+((((k[t>>2]|0)-(k[u>>2]|0)|0)==4)<<31>>31)|0;k[q>>2]=b}while((c|0)!=0)}if((m|0)==17){b=k[q>>2]|0;d=p}p=b+(ia(d,-170)|0)|0;k[q>>2]=p;if(!d){r=v;return}c=k[t>>2]|0;do{h=k[u>>2]|0;m=k[h>>2]|0;h=h+4|0;k[u>>2]=h;q=k[s>>2]|0;b=q;e=c;do if((c|0)==(q|0)){g=k[a>>2]|0;f=g;if(h>>>0>g>>>0){c=h;q=((c-f>>2)+1|0)/-2|0;p=h+(q<<2)|0;c=e-c|0;VH(p|0,h|0,c|0)|0;c=p+(c>>2<<2)|0;k[t>>2]=c;k[u>>2]=(k[u>>2]|0)+(q<<2);break}l=b-f>>1;l=(l|0)==0?1:l;q=GG(l<<2)|0;i=q;b=q+(l>>>2<<2)|0;j=b;l=q+(l<<2)|0;if((h|0)==(c|0)){b=g;c=j}else{f=h;e=j;do{k[b>>2]=k[f>>2];b=e+4|0;e=b;f=f+4|0}while((f|0)!=(c|0));c=e;b=k[a>>2]|0}k[a>>2]=i;k[u>>2]=j;k[t>>2]=c;k[s>>2]=l;if(b){uha(b);c=k[t>>2]|0}}while(0);k[c>>2]=m;c=(k[t>>2]|0)+4|0;k[t>>2]=c;d=d+-1|0}while((d|0)!=0);r=v;return}c=b>>1;n=e+i|0;c=c>>>0>>0?n:c;if(!c)f=0;else f=GG(c<<2)|0;b=f+(e-p<<2)|0;e=f;l=b;h=f+(c<<2)|0;n=i;b:while(1){x=0;c=ua(186,4080)|0;m=x;x=0;if(m&1){c=l;m=49;break}m=c;j=b;c=b;do if((j|0)==(h|0)){g=l;if(g>>>0>e>>>0){f=g+((((l-e>>2)+1|0)/-2|0)<<2)|0;b=b-l|0;VH(f|0,l|0,b|0)|0;b=f+(b>>2<<2)|0;g=b;c=e;break}h=h-e>>1;h=(h|0)==0?1:h;x=0;i=ua(186,h<<2|0)|0;f=x;x=0;if(f&1){c=l;m=49;break b}c=i;b=i+(h>>>2<<2)|0;f=b;i=i+(h<<2)|0;if((g|0)==(j|0))b=f;else{h=b;b=f;do{k[h>>2]=k[g>>2];h=b+4|0;b=h;g=g+4|0}while((g|0)!=(j|0))}g=b;if(!e)h=i;else{uha(e);h=i}}else{g=c;c=e;f=l}while(0);k[g>>2]=m;b=b+4|0;n=n+-1|0;if(!n){e=h;m=36;break}else{e=c;l=f}}if((m|0)==36){c:do if(!p){d=k[u>>2]|0;m=64}else{d=k[u>>2]|0;h=f;l=p;d:while(1){j=b;f=b;do if((j|0)==(e|0)){g=h;if(g>>>0>c>>>0){o=g+((((h-c>>2)+1|0)/-2|0)<<2)|0;b=b-h|0;VH(o|0,h|0,b|0)|0;b=o+(b>>2<<2)|0;f=b;h=o;break}b=e-c>>1;b=(b|0)==0?1:b;x=0;e=ua(186,b<<2|0)|0;o=x;x=0;if(o&1)break d;i=e;f=e+(b>>>2<<2)|0;h=f;e=e+(b<<2)|0;if((g|0)==(j|0))b=h;else{b=h;do{k[f>>2]=k[g>>2];f=b+4|0;b=f;g=g+4|0}while((g|0)!=(j|0))}f=b;if(!c)c=i;else{uha(c);c=i}}while(0);k[f>>2]=k[d>>2];b=b+4|0;d=(k[u>>2]|0)+4|0;k[u>>2]=d;l=l+-1|0;if(!l){f=h;m=64;break c}}d=mb()|0}while(0);e:do if((m|0)==64){g=k[t>>2]|0;f:do if((g|0)!=(d|0)){d=f;g:while(1){g=g+-4|0;f=d;do if((f|0)==(c|0)){j=b;if(j>>>0>>0){o=j+((((e-b>>2)+1|0)/2|0)<<2)|0;f=b-d|0;b=o+(0-(f>>2)<<2)|0;VH(b|0,d|0,f|0)|0;f=b;d=b;b=o;break}b=e-c>>1;b=(b|0)==0?1:b;x=0;e=ua(186,b<<2|0)|0;o=x;x=0;if(o&1)break g;c=e;i=e+((b+3|0)>>>2<<2)|0;l=i;e=e+(b<<2)|0;if((f|0)==(j|0))b=l;else{h=i;b=l;do{k[h>>2]=k[f>>2];h=b+4|0;b=h;f=f+4|0}while((f|0)!=(j|0))}if(!d){f=i;d=l}else{uha(d);f=i;d=l}}while(0);k[f+-4>>2]=k[g>>2];d=d+-4|0;if((g|0)==(k[u>>2]|0)){f=d;break f}}d=mb()|0;break e}while(0);d=k[a>>2]|0;k[a>>2]=c;k[u>>2]=f;k[t>>2]=b;k[s>>2]=e;a=(k[q>>2]|0)+(ia(p,-170)|0)|0;k[q>>2]=a;if(!d){r=v;return}uha(d);r=v;return}while(0);o=c}else if((m|0)==49){v=Eb(0)|0;Bb(v|0)|0;if((c|0)!=(b|0))do{uha(k[c>>2]|0);c=c+4|0}while((c|0)!=(b|0));x=0;pa(4);x=0;c=mb()|0;x=0;pa(3);v=x;x=0;if(v&1){v=Eb(0)|0;Nba(v)}else{d=c;o=e}}if(!o)yb(d|0);uha(o);yb(d|0)}function Te(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+384|0;D=E+336|0;h=E+324|0;l=E+312|0;j=E+300|0;n=E+288|0;v=E+248|0;z=E+232|0;p=E+192|0;s=E+176|0;t=E+136|0;w=E+120|0;o=E+80|0;q=E+68|0;m=E+56|0;u=E+16|0;y=E;lE(h,37980,5);x=0;b=Ka(867,a|0,h|0)|0;C=x;x=0;if(C&1){E=mb()|0;P1(h);yb(E|0)}b=k[b>>2]|0;if(!b)P1(h);else{i=Ot(b,8,160,0)|0;P1(h);if(i|0){b=c+36|0;h=lD(b,96)|0;g=+((k[i+76>>2]|0)-(k[i+72>>2]|0)>>2>>>0);lE(l,78097,0);x=0;A=D;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));Fa(1,h|0,D|0,+g,l|0,1);D=x;x=0;if(!(D&1)){x=0;b=Ka(857,b|0,h|0)|0;D=x;x=0;if(!(D&1)){P1(l);D=b;r=E;return D|0}}E=mb()|0;P1(l);yb(E|0)}}lE(j,37980,5);x=0;A=D;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));b=wa(27,j|0,a|0,d|0,D|0,f|0)|0;C=x;x=0;if(C&1){E=mb()|0;P1(j);yb(E|0)}P1(j);switch(k[b+52>>2]|0){case 6:{lE(n,37980,5);x=0;b=Ka(867,a|0,n|0)|0;C=x;x=0;if(C&1){E=mb()|0;P1(n);yb(E|0)}b=k[b>>2]|0;if(!b)i=0;else i=Ot(b,8,496,0)|0;P1(n);b=c+36|0;h=lD(b,96)|0;A=v;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));if(!i)g=1.0;else g=+((k[i+84>>2]|0)-(k[i+80>>2]|0)>>2>>>0);lE(z,78097,0);x=0;A=D;B=v;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));Fa(1,h|0,D|0,+g,z|0,1);D=x;x=0;if(!(D&1)){x=0;b=Ka(857,b|0,h|0)|0;D=x;x=0;if(!(D&1)){P1(z);D=b;r=E;return D|0}}E=mb()|0;P1(z);yb(E|0)}case 7:{i=Ot(b,64,216,0)|0;if(i|0){b=c+36|0;h=lD(b,96)|0;A=p;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));g=+((k[i+76>>2]|0)-(k[i+72>>2]|0)>>2>>>0);lE(s,78097,0);x=0;A=D;B=p;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));Fa(1,h|0,D|0,+g,s|0,1);D=x;x=0;if(!(D&1)){x=0;b=Ka(857,b|0,h|0)|0;D=x;x=0;if(!(D&1)){P1(s);D=b;r=E;return D|0}}E=mb()|0;P1(s);yb(E|0)}b=Ot(b,64,160,0)|0;h=c+36|0;i=lD(h,96)|0;if(!b){A=o;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));lE(q,78097,0);x=0;A=D;B=o;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));Fa(1,i|0,D|0,1.0,q|0,1);D=x;x=0;if(!(D&1)){x=0;b=Ka(857,h|0,i|0)|0;D=x;x=0;if(!(D&1)){P1(q);D=b;r=E;return D|0}}E=mb()|0;P1(q);yb(E|0)}else{A=t;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));g=+((k[b+76>>2]|0)-(k[b+72>>2]|0)>>2>>>0);lE(w,78097,0);x=0;A=D;B=t;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));Fa(1,i|0,D|0,+g,w|0,1);D=x;x=0;if(!(D&1)){x=0;b=Ka(857,h|0,i|0)|0;D=x;x=0;if(!(D&1)){P1(w);D=b;r=E;return D|0}}E=mb()|0;P1(w);yb(E|0)}}default:{lE(m,37980,5);x=0;b=Ka(867,a|0,m|0)|0;C=x;x=0;if(C&1){E=mb()|0;P1(m);yb(E|0)}b=k[b>>2]|0;if(!b)i=0;else i=Ot(b,8,256,0)|0;P1(m);b=c+36|0;h=lD(b,96)|0;A=u;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));if(!i)g=1.0;else g=+((tc[k[(k[i>>2]|0)+100>>2]&511](i)|0)>>>0);lE(y,78097,0);x=0;A=D;B=u;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));Fa(1,h|0,D|0,+g,y|0,1);D=x;x=0;if(!(D&1)){x=0;b=Ka(857,b|0,h|0)|0;D=x;x=0;if(!(D&1)){P1(y);D=b;r=E;return D|0}}E=mb()|0;P1(y);yb(E|0)}}return 0}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+208|0;l=q;c=q+184|0;d=q+144|0;f=q+104|0;g=q+92|0;h=q+80|0;m=q+40|0;switch(k[b+52>>2]|0){case 1:{c=(k[a+4>>2]|0)+36|0;d=lD(c,76)|0;k[d+4>>2]=k[b+4>>2];k[d>>2]=4748;n=d+8|0;o=b+8|0;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[d>>2]=9548;p=d+48|0;o=b+48|0;k[p>>2]=k[o>>2];k[p+4>>2]=k[o+4>>2];k[p+8>>2]=k[o+8>>2];i[p+12>>0]=i[o+12>>0]|0;k[d+64>>2]=k[b+64>>2];k[d>>2]=4816;p=d+68|0;o=b+68|0;k[p>>2]=k[o>>2];j[p+4>>1]=j[o+4>>1]|0;p=N4(c,d)|0;r=q;return p|0}case 2:{c=(k[a+4>>2]|0)+36|0;d=lD(c,72)|0;k[d+4>>2]=k[b+4>>2];k[d>>2]=4748;n=d+8|0;o=b+8|0;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[d>>2]=9548;p=d+48|0;o=b+48|0;k[p>>2]=k[o>>2];k[p+4>>2]=k[o+4>>2];k[p+8>>2]=k[o+8>>2];i[p+12>>0]=i[o+12>>0]|0;k[d+64>>2]=k[b+64>>2];k[d>>2]=4904;k[d+68>>2]=k[b+68>>2];p=N4(c,d)|0;r=q;return p|0}case 6:{c=(k[a+4>>2]|0)+36|0;d=lD(c,72)|0;k[d+4>>2]=k[b+4>>2];k[d>>2]=4748;n=d+8|0;o=b+8|0;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[d>>2]=9548;p=d+48|0;o=b+48|0;k[p>>2]=k[o>>2];k[p+4>>2]=k[o+4>>2];k[p+8>>2]=k[o+8>>2];i[p+12>>0]=i[o+12>>0]|0;k[d>>2]=9784;p=d+64|0;o=b+64|0;k[p>>2]=k[o>>2];i[p+4>>0]=i[o+4>>0]|0;p=N4(c,d)|0;r=q;return p|0}case 3:{c=(k[a+4>>2]|0)+36|0;d=lD(c,88)|0;k[d+4>>2]=k[b+4>>2];k[d>>2]=4748;n=d+8|0;o=b+8|0;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[d>>2]=9548;n=d+48|0;o=b+48|0;k[n>>2]=k[o>>2];k[n+4>>2]=k[o+4>>2];k[n+8>>2]=k[o+8>>2];i[n+12>>0]=i[o+12>>0]|0;k[d+64>>2]=k[b+64>>2];k[d>>2]=9872;_G(d+68|0,b+68|0);n=b+80|0;o=k[n+4>>2]|0;p=d+80|0;k[p>>2]=k[n>>2];k[p+4>>2]=o;p=N4(c,d)|0;r=q;return p|0}case 4:{c=(k[a+4>>2]|0)+36|0;d=lD(c,72)|0;k[d+4>>2]=k[b+4>>2];k[d>>2]=4748;n=d+8|0;o=b+8|0;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[d>>2]=9548;p=d+48|0;o=b+48|0;k[p>>2]=k[o>>2];k[p+4>>2]=k[o+4>>2];k[p+8>>2]=k[o+8>>2];i[p+12>>0]=i[o+12>>0]|0;k[d+64>>2]=k[b+64>>2];k[d>>2]=9960;k[d+68>>2]=k[b+68>>2];p=N4(c,d)|0;r=q;return p|0}case 5:{c=(k[a+4>>2]|0)+36|0;d=lD(c,72)|0;k[d+4>>2]=k[b+4>>2];k[d>>2]=4748;n=d+8|0;o=b+8|0;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[d>>2]=9548;p=d+48|0;o=b+48|0;k[p>>2]=k[o>>2];k[p+4>>2]=k[o+4>>2];k[p+8>>2]=k[o+8>>2];i[p+12>>0]=i[o+12>>0]|0;k[d+64>>2]=k[b+64>>2];k[d>>2]=10048;k[d+68>>2]=k[b+68>>2];p=N4(c,d)|0;r=q;return p|0}case 8:{c=(k[a+4>>2]|0)+36|0;d=lD(c,72)|0;k[d+4>>2]=k[b+4>>2];k[d>>2]=4748;n=d+8|0;o=b+8|0;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[d>>2]=9548;p=d+48|0;o=b+48|0;k[p>>2]=k[o>>2];k[p+4>>2]=k[o+4>>2];k[p+8>>2]=k[o+8>>2];i[p+12>>0]=i[o+12>>0]|0;k[d+64>>2]=k[b+64>>2];k[d>>2]=10136;k[d+68>>2]=k[b+68>>2];p=N4(c,d)|0;r=q;return p|0}default:{lE(c,32855,62);n=d;o=b+8|0;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));e=k[a+44>>2]|0;x=0;n=l;o=d;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Qa(100,c|0,l|0,e|0);p=x;x=0;if(p&1){q=mb()|0;P1(c);yb(q|0)}P1(c);a=a+4|0;d=(k[a>>2]|0)+36|0;e=lD(d,76)|0;CH(f,32848,0,-1);lE(h,31098,21);x=0;c=Ka(866,h|0,k[(k[(k[b>>2]|0)+-4>>2]|0)+4>>2]|0)|0;p=x;x=0;if(p&1)c=mb()|0;else{k[g>>2]=k[c>>2];k[g+4>>2]=k[c+4>>2];k[g+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;n=l;o=f;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));qa(5,e|0,l|0,g|0,0,0);p=x;x=0;if(!(p&1)){x=0;e=Ka(857,d|0,e|0)|0;p=x;x=0;if(!(p&1)){P1(g);P1(h);c=(k[a>>2]|0)+36|0;d=lD(c,68)|0;CH(m,32848,0,-1);n=l;o=m;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[d+4>>2]=0;n=d+8|0;o=l;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d>>2]=10224;k[d+64>>2]=e;k[d+52>>2]=14;p=N4(c,d)|0;r=q;return p|0}}c=mb()|0;P1(g)}P1(h);q=c;yb(q|0)}}return 0}function Ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=0;w=r;r=r+192|0;p=w+152|0;G=w+140|0;F=w+128|0;q=w+120|0;E=w+104|0;s=w+96|0;t=w+84|0;u=w+72|0;v=w+60|0;y=w+48|0;z=w+36|0;A=w+24|0;B=w+12|0;C=w;c=k[b+68>>2]|0;d=(k[b+72>>2]|0)-c>>2;if(d|0){e=b+68|0;D=k[c>>2]|0;rc[k[(k[D>>2]|0)+28>>2]&1023](D,a);if((d|0)!=1){c=1;do{D=k[(k[e>>2]|0)+(c<<2)>>2]|0;rc[k[(k[D>>2]|0)+28>>2]&1023](D,a);c=c+1|0}while((c|0)!=(d|0))}}if(!(i[b+84>>0]|0)){r=w;return}ev(G,k[a+8>>2]|0);c=k[G>>2]|0;D=G+4|0;a=k[D>>2]|0;a:do if((c|0)!=(a|0)){f=q+4|0;g=s+4|0;h=F+4|0;j=F+8|0;l=F+1|0;m=E+8|0;n=E+1|0;o=E+4|0;while(1){d=k[c>>2]|0;if(!d)d=0;else{x=0;d=ua(215,d|0)|0;b=x;x=0;if(b&1){H=17;break}}e=k[c+4>>2]|0;if(!e)H=18;else if(!(i[e+100>>0]|0))if(!(i[e+59>>0]|0))H=18;if((H|0)==18){H=0;b=k[(k[d>>2]|0)+20>>2]|0;k[q>>2]=0;k[f>>2]=5;x=0;k[p>>2]=k[q>>2];k[p+4>>2]=k[q+4>>2];Qa(b|0,F|0,d|0,p|0);b=x;x=0;if(b&1){H=17;break}b=k[(k[e>>2]|0)+20>>2]|0;k[s>>2]=0;k[g>>2]=5;x=0;k[p>>2]=k[s>>2];k[p+4>>2]=k[s+4>>2];Qa(b|0,E|0,e|0,p|0);b=x;x=0;if(b&1){H=32;break}k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;d=i[F>>0]|0;d=(d&1)==0?(d&255)>>>1:k[h>>2]|0;x=0;Ua(10,C|0,44246,1,d+1|0);b=x;x=0;if(b&1){H=33;break}x=0;xa(46,C|0,((i[F>>0]&1)==0?l:k[j>>2]|0)|0,d|0)|0;b=x;x=0;if(b&1){H=33;break}x=0;d=Ka(866,C|0,33934)|0;b=x;x=0;if(b&1){H=34;break}k[B>>2]=k[d>>2];k[B+4>>2]=k[d+4>>2];k[B+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;d=i[E>>0]|0;b=(d&1)==0;x=0;d=xa(46,B|0,(b?n:k[m>>2]|0)|0,(b?(d&255)>>>1:k[o>>2]|0)|0)|0;b=x;x=0;if(b&1){H=35;break}k[A>>2]=k[d>>2];k[A+4>>2]=k[d+4>>2];k[A+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;x=0;d=Ka(866,A|0,33956)|0;b=x;x=0;if(b&1){H=36;break}k[z>>2]=k[d>>2];k[z+4>>2]=k[d+4>>2];k[z+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;d=i[E>>0]|0;b=(d&1)==0;x=0;d=xa(46,z|0,(b?n:k[m>>2]|0)|0,(b?(d&255)>>>1:k[o>>2]|0)|0)|0;b=x;x=0;if(b&1){H=37;break}k[y>>2]=k[d>>2];k[y+4>>2]=k[d+4>>2];k[y+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;x=0;d=Ka(866,y|0,33974)|0;b=x;x=0;if(b&1){H=38;break}k[v>>2]=k[d>>2];k[v+4>>2]=k[d+4>>2];k[v+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;d=i[E>>0]|0;b=(d&1)==0;x=0;d=xa(46,v|0,(b?n:k[m>>2]|0)|0,(b?(d&255)>>>1:k[o>>2]|0)|0)|0;b=x;x=0;if(b&1){H=39;break}k[u>>2]=k[d>>2];k[u+4>>2]=k[d+4>>2];k[u+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;x=0;d=Ka(866,u|0,34005)|0;b=x;x=0;if(b&1){H=40;break}k[t>>2]=k[d>>2];k[t+4>>2]=k[d+4>>2];k[t+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;x=0;b=p;d=e+8|0;e=b+40|0;do{k[b>>2]=k[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));sa(438,t|0,p|0);b=x;x=0;if(b&1){H=41;break}P1(t);P1(u);P1(v);P1(y);P1(z);P1(A);P1(B);P1(C);P1(E);P1(F)}c=c+8|0;if((c|0)==(a|0)){H=7;break}}switch(H|0){case 7:{c=k[G>>2]|0;break a}case 17:{e=mb()|0;break}case 32:{c=mb()|0;H=50;break}case 33:{c=mb()|0;P1(C);H=49;break}case 34:{c=mb()|0;H=48;break}case 35:{c=mb()|0;H=47;break}case 36:{c=mb()|0;H=46;break}case 37:{c=mb()|0;H=45;break}case 38:{c=mb()|0;H=44;break}case 39:{c=mb()|0;H=43;break}case 40:{c=mb()|0;H=42;break}case 41:{c=mb()|0;P1(t);H=42;break}}if((H|0)==42){P1(u);H=43}if((H|0)==43){P1(v);H=44}if((H|0)==44){P1(y);H=45}if((H|0)==45){P1(z);H=46}if((H|0)==46){P1(A);H=47}if((H|0)==47){P1(B);H=48}if((H|0)==48){P1(C);H=49}if((H|0)==49){P1(E);H=50}if((H|0)==50){P1(F);e=c}c=k[G>>2]|0;if(!c)yb(e|0);d=k[D>>2]|0;if((d|0)!=(c|0))k[D>>2]=d+(~((d+-8-c|0)>>>3)<<3);uha(c);yb(e|0)}while(0);if(!c){r=w;return}d=k[D>>2]|0;if((d|0)!=(c|0))k[D>>2]=d+(~((d+-8-c|0)>>>3)<<3);uha(c);r=w;return}function We(a){a=a|0;var b=0,c=0,d=0,e=0;e=0;b=ti(a)|0;if(!b)e=4;else{while(1){c=ti(b)|0;if(!c)break;else b=c}if((i[b>>0]|0)==37)e=4}if((e|0)==4){if((i[a>>0]|0)==45){b=a;do b=b+1|0;while((i[b>>0]|0)==45)}else b=a;b=Kt(b)|0;if(!b){e=0;return e|0}b=Jt(b)|0;if(!b){e=0;return e|0}}d=dk(b)|0;if(!d){e=0;return e|0}if((i[d>>0]|0)!=40){e=d;return e|0}a=hr(d+1|0)|0;if(!a){e=d;return e|0}b=ap(a)|0;do if(!b)b=0;else{b=hr(b)|0;if(!b)b=0;else if((i[b>>0]|0)==61){c=hr(b+1|0)|0;if(!c)b=0;else{b=c+1|0;if((i[c>>0]|0)==36){if((i[b>>0]|0)==45)do b=b+1|0;while((i[b>>0]|0)==45);b=Kt(b)|0;if(!b)e=20;else{b=Jt(b)|0;if(!b)e=20}}else e=20;if((e|0)==20){b=ao(c)|0;if(!b){b=0;break}}c=Yn(b)|0;if(c){b=c;while(1){c=Yn(b)|0;if(!c)break;else b=c}}}}else b=0}while(0);b=b|0?b:a;if(!b){e=d;return e|0}c=hr(b)|0;if(!c){e=d;return e|0}if((i[c>>0]|0)!=41){e=d;return e|0}while(1){b=c+1|0;if((i[b>>0]|0)!=40){e=43;break}d=hr(c+2|0)|0;if(!d){e=43;break}c=ap(d)|0;do if(!c)c=0;else{c=hr(c)|0;if(!c)c=0;else if((i[c>>0]|0)==61){a=hr(c+1|0)|0;if(!a)c=0;else{c=a+1|0;if((i[a>>0]|0)==36){if((i[c>>0]|0)==45)do c=c+1|0;while((i[c>>0]|0)==45);c=Kt(c)|0;if(!c)e=36;else{c=Jt(c)|0;if(!c)e=36}}else e=36;if((e|0)==36){e=0;c=ao(a)|0;if(!c){c=0;break}}a=Yn(c)|0;if(a){c=a;while(1){a=Yn(c)|0;if(!a)break;else c=a}}}}else c=0}while(0);c=c|0?c:d;if(!c){e=43;break}c=hr(c)|0;if(!c){e=43;break}if((i[c>>0]|0)!=41){e=43;break}}if((e|0)==43)return b|0;return 0}function Xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=0;k[a+4>>2]=b+-1;k[a>>2]=24336;f=a+8|0;x=0;sa(560,f|0,28);e=x;x=0;if(e&1)b=mb()|0;else{e=a+144|0;x=0;Qa(74,e|0,49265,1);d=x;x=0;if(d&1)b=mb()|0;else{c=k[f>>2]|0;d=a+12|0;b=k[d>>2]|0;while(1){if((b|0)==(c|0))break;h=b+-4|0;k[d>>2]=h;b=h}k[17013]=0;k[17012]=22e3;x=0;sa(561,a|0,68048);h=x;x=0;do if(h&1)g=42;else{k[17015]=0;k[17014]=22032;x=0;sa(562,a|0,68056);h=x;x=0;if(h&1)g=42;else{k[17017]=0;k[17016]=24356;k[17018]=0;i[68076]=0;h=MK()|0;k[17018]=h;x=0;sa(563,a|0,68064);h=x;x=0;if(h&1)g=42;else{k[17021]=0;k[17020]=24552;x=0;sa(564,a|0,68080);h=x;x=0;if(h&1)g=42;else{k[17023]=0;k[17022]=24620;x=0;sa(565,a|0,68088);h=x;x=0;if(h&1)g=42;else{x=0;sa(566,68096,1);h=x;x=0;if(h&1)g=42;else{x=0;sa(567,a|0,68096);h=x;x=0;if(h&1)g=42;else{k[17029]=0;k[17028]=24668;x=0;sa(568,a|0,68112);h=x;x=0;if(h&1)g=42;else{k[17031]=0;k[17030]=24716;x=0;sa(569,a|0,68120);h=x;x=0;if(h&1)g=42;else{IJ(68128,1);x=0;sa(570,a|0,68128);h=x;x=0;if(h&1)g=42;else{CJ(68152,1);x=0;sa(571,a|0,68152);h=x;x=0;if(h&1)g=42;else{k[17047]=0;k[17046]=22064;x=0;sa(572,a|0,68184);h=x;x=0;if(h&1)g=42;else{k[17049]=0;k[17048]=22128;x=0;sa(573,a|0,68192);h=x;x=0;if(h&1)g=42;else{k[17051]=0;k[17050]=22192;x=0;sa(574,a|0,68200);h=x;x=0;if(h&1)g=42;else{k[17053]=0;k[17052]=22244;x=0;sa(575,a|0,68208);h=x;x=0;if(h&1)g=42;else{k[17055]=0;k[17054]=23792;x=0;sa(576,a|0,68216);h=x;x=0;if(h&1){g=42;break}k[17057]=0;k[17056]=23848;x=0;sa(577,a|0,68224);h=x;x=0;if(h&1){g=42;break}k[17059]=0;k[17058]=23904;x=0;sa(578,a|0,68232);h=x;x=0;if(h&1){g=42;break}k[17061]=0;k[17060]=23960;x=0;sa(579,a|0,68240);h=x;x=0;if(h&1){g=42;break}k[17063]=0;k[17062]=24016;x=0;sa(580,a|0,68248);h=x;x=0;if(h&1){g=42;break}k[17065]=0;k[17064]=24044;x=0;sa(581,a|0,68256);h=x;x=0;if(h&1){g=42;break}k[17067]=0;k[17066]=24072;x=0;sa(582,a|0,68264);h=x;x=0;if(h&1){g=42;break}k[17069]=0;k[17068]=24100;x=0;sa(583,a|0,68272);h=x;x=0;if(h&1){g=42;break}k[17071]=0;k[17070]=22296;k[17072]=22344;x=0;sa(584,a|0,68280);h=x;x=0;if(h&1){g=42;break}k[17075]=0;k[17074]=22380;k[17076]=22428;x=0;sa(585,a|0,68296);h=x;x=0;if(h&1){g=42;break}k[17079]=0;k[17078]=24532;x=0;b=Oa(3)|0;h=x;x=0;if(h&1){b=mb()|0;break}k[17080]=b;k[17078]=23744;x=0;sa(586,a|0,68312);h=x;x=0;if(h&1){g=42;break}k[17083]=0;k[17082]=24532;x=0;b=Oa(3)|0;h=x;x=0;if(h&1){b=mb()|0;break}k[17084]=b;k[17082]=23768;x=0;sa(587,a|0,68328);h=x;x=0;if(h&1){g=42;break}k[17087]=0;k[17086]=24128;x=0;sa(588,a|0,68344);h=x;x=0;if(h&1){g=42;break}k[17089]=0;k[17088]=24160;x=0;sa(589,a|0,68352);h=x;x=0;if(h&1){g=42;break}return}}}}}}}}}}}}}}}while(0);if((g|0)==42)b=mb()|0;P1(e)}LF(f)}yb(b|0)}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;u=0;E=r;r=r+112|0;z=E;A=E+44|0;B=E+40|0;c=E+108|0;e=E+104|0;j=E+64|0;l=E+48|0;D=a+20|0;k[c>>2]=b;C=a+24|0;d=k[C>>2]|0;if(d>>>0<(k[a+28>>2]|0)>>>0){k[d>>2]=b;k[C>>2]=(k[C>>2]|0)+4}else Dw(D,c);g=b+68|0;c=k[g>>2]|0;if(!c)c=0;else c=Ot(c,112,160,0)|0;k[e>>2]=c;h=a+36|0;d=k[h>>2]|0;if(d>>>0<(k[a+40>>2]|0)>>>0){k[d>>2]=c;k[h>>2]=(k[h>>2]|0)+4}else rw(a+32|0,e);t=a+4|0;e=(k[t>>2]|0)+36|0;f=lD(e,76)|0;m=j;n=b+8|0;p=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(p|0));c=k[g>>2]|0;g=b+64|0;d=k[g>>2]|0;d=Jc[k[(k[d>>2]|0)+36>>2]&1023](d,a)|0;d=tc[k[(k[d>>2]|0)+72>>2]&511](d)|0;k[f+4>>2]=0;m=f+8|0;n=j;p=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(p|0));k[f+56>>2]=0;i[f+60>>0]=0;k[f+64>>2]=d;k[f>>2]=4816;k[f+68>>2]=c;i[f+72>>0]=0;i[f+73>>0]=0;k[f+52>>2]=1;y=N4(e,f)|0;i[y+73>>0]=i[b+73>>0]|0;k[h>>2]=(k[h>>2]|0)+-4;k[C>>2]=(k[C>>2]|0)+-4;w=y+64|0;do if(!(k[w>>2]|0)){lE(l,40967,66);x=0;m=z;n=(k[g>>2]|0)+8|0;p=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(p|0));sa(438,l|0,z|0);v=x;x=0;if(v&1){E=mb()|0;P1(l);yb(E|0)}else{P1(l);break}}while(0);c=(k[t>>2]|0)+36|0;d=lD(c,88)|0;m=z;n=(k[w>>2]|0)+8|0;p=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(p|0));k[d+4>>2]=0;m=d+8|0;n=z;p=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(p|0));k[d+52>>2]=0;k[d+56>>2]=0;i[d+60>>0]=0;k[d+68>>2]=0;k[d+72>>2]=0;k[d+76>>2]=0;k[d>>2]=9664;k[d+64>>2]=9756;i[d+84>>0]=0;i[d+85>>0]=0;i[d+86>>0]=0;i[d+87>>0]=0;f=N4(c,d)|0;c=(k[t>>2]|0)+36|0;d=lD(c,88)|0;m=z;n=(k[w>>2]|0)+8|0;p=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(p|0));k[d+4>>2]=0;m=d+8|0;n=z;p=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(p|0));k[d+52>>2]=0;k[d+56>>2]=0;i[d+60>>0]=0;k[d+68>>2]=0;k[d+72>>2]=0;k[d+76>>2]=0;k[d>>2]=9664;k[d+64>>2]=9756;i[d+84>>0]=0;i[d+85>>0]=0;i[d+86>>0]=0;i[d+87>>0]=0;v=N4(c,d)|0;c=k[w>>2]|0;n=(k[c+72>>2]|0)-(k[c+68>>2]|0)>>2;a:do if(!n){e=f+72|0;o=f+68|0}else{p=f+64|0;q=f+80|0;e=f+72|0;s=f+76|0;o=f+68|0;h=v+64|0;j=v+80|0;b=v+72|0;l=v+76|0;m=v+68|0;d=0;while(1){g=k[(k[c+68>>2]|0)+(d<<2)>>2]|0;f=g+52|0;if((k[f>>2]|0)==1){k[z>>2]=g;if(!g)u=25;else u=21}else if(tc[k[(k[g>>2]|0)+68>>2]&511](g)|0){k[z>>2]=g;u=21}if((u|0)==21){k[j>>2]=0;c=k[b>>2]|0;if((c|0)==(k[l>>2]|0))xw(m,z);else{k[c>>2]=g;k[b>>2]=(k[b>>2]|0)+4}rc[k[k[h>>2]>>2]&1023](h,g);u=25}if((u|0)==25)u=0;if((k[f>>2]|0)!=1)if(!(tc[k[(k[g>>2]|0)+68>>2]&511](g)|0)){k[z>>2]=g;k[q>>2]=0;c=k[e>>2]|0;if((c|0)==(k[s>>2]|0))xw(o,z);else{k[c>>2]=g;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[p>>2]>>2]&1023](p,g)}d=d+1|0;if((d|0)==(n|0))break a;c=k[w>>2]|0}}while(0);if((k[e>>2]|0)!=(k[o>>2]|0)){c=(k[t>>2]|0)+36|0;d=lD(c,88)|0;m=z;n=(k[w>>2]|0)+8|0;p=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(p|0));k[d+4>>2]=0;m=d+8|0;n=z;p=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(p|0));k[d+52>>2]=0;k[d+56>>2]=0;i[d+60>>0]=0;k[d+68>>2]=0;k[d+72>>2]=0;k[d+76>>2]=0;k[d>>2]=9664;k[d+64>>2]=9756;i[d+84>>0]=0;i[d+85>>0]=0;i[d+86>>0]=0;i[d+87>>0]=0;m=N4(c,d)|0;n=m+64|0;c=k[o>>2]|0;g=(k[e>>2]|0)-c>>2;b:do if(g|0){h=m+80|0;j=m+72|0;b=m+76|0;l=m+68|0;d=0;while(1){c=k[c+(d<<2)>>2]|0;k[z>>2]=c;e=c;if(c|0){k[h>>2]=0;f=k[j>>2]|0;if((f|0)==(k[b>>2]|0))xw(l,z);else{k[f>>2]=e;k[j>>2]=(k[j>>2]|0)+4}rc[k[k[n>>2]>>2]&1023](n,c)}d=d+1|0;if((d|0)==(g|0))break b;c=k[o>>2]|0}}while(0);k[w>>2]=m;c=v+68|0;e=k[c>>2]|0;d=(k[v+72>>2]|0)-e>>2;if(d|0){f=0;do{w=(k[e+(f<<2)>>2]|0)+56|0;k[w>>2]=(k[w>>2]|0)+1;f=f+1|0}while((f|0)!=(d|0))}k[A>>2]=y;k[B>>2]=k[c>>2];k[z>>2]=k[B>>2];dm(c,z,A)|0}d=Od(a,v,0)|0;d=tc[k[(k[d>>2]|0)+72>>2]&511](d)|0;e=d+72|0;c=k[e>>2]|0;if((c|0)==(k[d+68>>2]|0)){r=E;return d|0}c=k[c+-4>>2]|0;if((k[c+52>>2]|0)!=1)if(!(tc[k[(k[c>>2]|0)+68>>2]&511](c)|0)){r=E;return d|0}c=k[C>>2]|0;if((c|0)==(k[D>>2]|0))c=k[a+8>>2]|0;else c=c+-4|0;if((k[(k[c>>2]|0)+52>>2]|0)==1){r=E;return d|0}i[(k[(k[e>>2]|0)+-4>>2]|0)+60>>0]=1;r=E;return d|0}function Ze(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,j=0.0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=0;W=r;r=r+384|0;L=W+336|0;M=W+184|0;N=W+176|0;O=W+168|0;P=W+160|0;Q=W+152|0;R=W+144|0;E=W+320|0;I=W+136|0;J=W+128|0;K=W+120|0;F=W+112|0;G=W+104|0;H=W+96|0;v=W+308|0;y=W+88|0;z=W+80|0;A=W+72|0;B=W+64|0;C=W+56|0;D=W+48|0;l=W+296|0;m=W+40|0;n=W+32|0;o=W+24|0;q=W+16|0;s=W+8|0;t=W;S=W+256|0;Z=W+240|0;_=W+228|0;Y=W+216|0;X=W+204|0;V=W+192|0;T=c+36|0;U=lD(T,104)|0;b=S;c=e;u=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(u|0));lE(Z,36974,4);x=0;b=L;c=e;u=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(u|0));b=wa(23,Z|0,a|0,d|0,L|0,f|0)|0;u=x;x=0;if(!(u&1)){x=0;sa(437,l|0,b|0);u=x;x=0;if(!(u&1)){u=(KH(l,38887)|0)==0;P1(l);g=+p[b+56>>3];if(u){w=g*255.0/100.0;p[m>>3]=w;p[n>>3]=0.0;b=w<0.0?n:m;p[o>>3]=255.0;b=+p[b>>3]>255.0?o:b}else{p[q>>3]=g;p[s>>3]=0.0;b=g<0.0?s:q;p[t>>3]=255.0;b=+p[b>>3]>255.0?t:b}w=+p[b>>3];x=0;Qa(74,_|0,36979,6);u=x;x=0;if(!(u&1)){x=0;b=L;c=e;u=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(u|0));b=wa(23,_|0,a|0,d|0,L|0,f|0)|0;u=x;x=0;if(u&1)$=29;else{x=0;sa(437,v|0,b|0);u=x;x=0;if(u&1)$=29;else{u=(KH(v,38887)|0)==0;P1(v);g=+p[b+56>>3];if(u){j=g*255.0/100.0;p[y>>3]=j;p[z>>3]=0.0;b=j<0.0?z:y;p[A>>3]=255.0;b=+p[b>>3]>255.0?A:b}else{p[B>>3]=g;p[C>>3]=0.0;b=g<0.0?C:B;p[D>>3]=255.0;b=+p[b>>3]>255.0?D:b}j=+p[b>>3];x=0;Qa(74,Y|0,36986,5);D=x;x=0;if(D&1)$=29;else{x=0;b=L;c=e;u=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(u|0));b=wa(23,Y|0,a|0,d|0,L|0,f|0)|0;D=x;x=0;if(D&1)$=30;else{x=0;sa(437,E|0,b|0);D=x;x=0;if(D&1)$=30;else{D=(KH(E,38887)|0)==0;P1(E);g=+p[b+56>>3];if(D){h=g*255.0/100.0;p[I>>3]=h;p[J>>3]=0.0;b=h<0.0?J:I;p[K>>3]=255.0;b=+p[b>>3]>255.0?K:b}else{p[F>>3]=g;p[G>>3]=0.0;b=g<0.0?G:F;p[H>>3]=255.0;b=+p[b>>3]>255.0?H:b}h=+p[b>>3];x=0;Qa(74,X|0,36992,6);K=x;x=0;if(K&1)$=30;else{x=0;b=L;c=e;u=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(u|0));b=wa(23,X|0,a|0,d|0,L|0,f|0)|0;d=x;x=0;if(d&1)$=31;else{x=0;sa(437,L|0,b|0);d=x;x=0;if(d&1)$=31;else{d=(KH(L,38887)|0)==0;P1(L);g=+p[b+56>>3];if(d){p[M>>3]=g;p[N>>3]=0.0;b=g<0.0?N:M;p[O>>3]=100.0;b=+p[b>>3]>100.0?O:b}else{p[P>>3]=g;p[Q>>3]=0.0;b=g<0.0?Q:P;p[R>>3]=1.0;b=+p[b>>3]>1.0?R:b}g=+p[b>>3];x=0;Qa(74,V|0,78097,0);R=x;x=0;if(R&1)$=31;else{k[U+4>>2]=0;b=U+8|0;c=S;u=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(u|0));i[U+48>>0]=0;i[U+49>>0]=0;i[U+50>>0]=0;b=U+52|0;k[b>>2]=0;k[U>>2]=5580;p[U+56>>3]=w;p[U+64>>3]=j;p[U+72>>3]=h;p[U+80>>3]=g;x=0;sa(430,U+88|0,V|0);S=x;x=0;do if(!(S&1)){k[U+100>>2]=0;k[b>>2]=3;x=0;b=Ka(857,T|0,U|0)|0;U=x;x=0;if(U&1)break;P1(V);P1(X);P1(Y);P1(_);P1(Z);r=W;return b|0}while(0);b=mb()|0;P1(V)}}}if(($|0)==31)b=mb()|0;P1(X)}}}if(($|0)==30)b=mb()|0;P1(Y)}}}if(($|0)==29)b=mb()|0;P1(_);$=b;P1(Z);yb($|0)}}}$=mb()|0;P1(Z);yb($|0);return 0}function _e(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;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;U=0;V=r;r=r+144|0;j=V+132|0;h=V+116|0;N=V+128|0;w=V+124|0;I=V+120|0;O=V+112|0;P=V+108|0;Q=V+104|0;R=V+100|0;S=V+96|0;T=V+92|0;l=V+88|0;m=V+84|0;n=V+80|0;o=V+76|0;p=V+72|0;q=V+68|0;s=V+64|0;t=V+60|0;u=V+56|0;v=V+52|0;y=V+48|0;z=V+44|0;A=V+40|0;B=V+36|0;C=V+32|0;D=V+28|0;E=V+24|0;F=V+20|0;G=V+16|0;H=V+12|0;J=V+8|0;K=V+4|0;L=V;k[e>>2]=0;M=TN(d)|0;k[N>>2]=M;x=0;N=Ka(865,N|0,74204)|0;W=x;x=0;if(W&1){W=mb()|0;sK(M)|0;yb(W|0)}sK(M)|0;do switch(g<<24>>24|0){case 65:case 97:{k[w>>2]=k[c>>2];k[j>>2]=k[w>>2];Nz(a,f+24|0,b,j,e,N);U=28;break}case 104:case 66:case 98:{k[I>>2]=k[c>>2];k[j>>2]=k[I>>2];Iz(a,f+16|0,b,j,e,N);U=28;break}case 99:{W=a+8|0;W=tc[k[(k[W>>2]|0)+12>>2]&511](W)|0;k[O>>2]=k[b>>2];k[P>>2]=k[c>>2];g=i[W>>0]|0;c=(g&1)==0;U=W+4|0;W=c?U:k[W+8>>2]|0;U=W+((c?(g&255)>>>1:k[U>>2]|0)<<2)|0;k[h>>2]=k[O>>2];k[j>>2]=k[P>>2];U=wg(a,h,j,d,e,f,W,U)|0;k[b>>2]=U;U=28;break}case 101:case 100:{k[Q>>2]=k[c>>2];k[j>>2]=k[Q>>2];vB(a,f+12|0,b,j,e,N);U=28;break}case 68:{k[R>>2]=k[b>>2];k[S>>2]=k[c>>2];k[h>>2]=k[R>>2];k[j>>2]=k[S>>2];U=wg(a,h,j,d,e,f,22488,22520)|0;k[b>>2]=U;U=28;break}case 70:{k[T>>2]=k[b>>2];k[l>>2]=k[c>>2];k[h>>2]=k[T>>2];k[j>>2]=k[l>>2];U=wg(a,h,j,d,e,f,22520,22552)|0;k[b>>2]=U;U=28;break}case 72:{k[m>>2]=k[c>>2];k[j>>2]=k[m>>2];JB(a,f+8|0,b,j,e,N);U=28;break}case 73:{k[n>>2]=k[c>>2];k[j>>2]=k[n>>2];rB(a,f+8|0,b,j,e,N);U=28;break}case 106:{k[o>>2]=k[c>>2];k[j>>2]=k[o>>2];wB(a,f+28|0,b,j,e,N);U=28;break}case 109:{k[p>>2]=k[c>>2];k[j>>2]=k[p>>2];zB(a,f+16|0,b,j,e,N);U=28;break}case 77:{k[q>>2]=k[c>>2];k[j>>2]=k[q>>2];FB(a,f+4|0,b,j,e,N);U=28;break}case 116:case 110:{k[s>>2]=k[c>>2];k[j>>2]=k[s>>2];an(a,b,j,e,N);U=28;break}case 112:{k[t>>2]=k[c>>2];k[j>>2]=k[t>>2];Wv(a,f+8|0,b,j,e,N);U=28;break}case 114:{k[u>>2]=k[b>>2];k[v>>2]=k[c>>2];k[h>>2]=k[u>>2];k[j>>2]=k[v>>2];U=wg(a,h,j,d,e,f,22552,22596)|0;k[b>>2]=U;U=28;break}case 82:{k[y>>2]=k[b>>2];k[z>>2]=k[c>>2];k[h>>2]=k[y>>2];k[j>>2]=k[z>>2];U=wg(a,h,j,d,e,f,22596,22616)|0;k[b>>2]=U;U=28;break}case 83:{k[A>>2]=k[c>>2];k[j>>2]=k[A>>2];EB(a,f,b,j,e,N);U=28;break}case 84:{k[B>>2]=k[b>>2];k[C>>2]=k[c>>2];k[h>>2]=k[B>>2];k[j>>2]=k[C>>2];U=wg(a,h,j,d,e,f,22616,22648)|0;k[b>>2]=U;U=28;break}case 119:{k[D>>2]=k[c>>2];k[j>>2]=k[D>>2];DB(a,f+24|0,b,j,e,N);U=28;break}case 120:{W=k[(k[a>>2]|0)+20>>2]|0;k[E>>2]=k[b>>2];k[F>>2]=k[c>>2];k[h>>2]=k[E>>2];k[j>>2]=k[F>>2];h=sc[W&127](a,h,j,d,e,f)|0;break}case 88:{W=a+8|0;W=tc[k[(k[W>>2]|0)+24>>2]&511](W)|0;k[G>>2]=k[b>>2];k[H>>2]=k[c>>2];g=i[W>>0]|0;c=(g&1)==0;U=W+4|0;W=c?U:k[W+8>>2]|0;U=W+((c?(g&255)>>>1:k[U>>2]|0)<<2)|0;k[h>>2]=k[G>>2];k[j>>2]=k[H>>2];U=wg(a,h,j,d,e,f,W,U)|0;k[b>>2]=U;U=28;break}case 121:{k[J>>2]=k[c>>2];k[j>>2]=k[J>>2];FA(a,f+20|0,b,j,e,N);U=28;break}case 89:{k[K>>2]=k[c>>2];k[j>>2]=k[K>>2];bD(a,f+20|0,b,j,e,N);U=28;break}case 37:{k[L>>2]=k[c>>2];k[j>>2]=k[L>>2];Km(a,b,j,e,N);U=28;break}default:{k[e>>2]=k[e>>2]|4;U=28}}while(0);if((U|0)==28)h=k[b>>2]|0;r=V;return h|0}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;w=0;y=r;r=r+192|0;c=y+168|0;d=y+156|0;l=y+144|0;o=y+132|0;p=y+120|0;q=y+108|0;s=y+96|0;t=y+84|0;u=y+72|0;v=y+60|0;e=y+48|0;f=y+36|0;g=y+24|0;h=y+12|0;j=y;m=k[b+64>>2]|0;rc[k[(k[m>>2]|0)+28>>2]&1023](m,a);m=a+4|0;n=a+98|0;if(!(i[n>>0]|0)){if((Xaa(m)|0)==4)w=8;else if((k[b+56+4>>2]&255)<<24>>24)if(!(i[b+50>>0]|0))if(!(i[b+48>>0]|0))w=8;else if(tc[k[(k[b>>2]|0)+88>>2]&511](b)|0)w=8;else if(tc[k[(k[b>>2]|0)+92>>2]&511](b)|0)w=8}else w=8;do if((w|0)==8){lE(c,41822,1);x=0;sa(484,m|0,c|0);w=x;x=0;if(!(w&1)){P1(c);break}y=mb()|0;P1(c);yb(y|0)}while(0);a:do switch(k[b+56>>2]|0){case 0:{lE(d,38863,2);x=0;sa(484,m|0,d|0);w=x;x=0;if(!(w&1)){P1(d);break a}y=mb()|0;P1(d);yb(y|0)}case 1:{lE(l,38866,2);x=0;sa(484,m|0,l|0);w=x;x=0;if(!(w&1)){P1(l);break a}y=mb()|0;P1(l);yb(y|0)}case 2:{lE(o,38869,2);x=0;sa(484,m|0,o|0);w=x;x=0;if(!(w&1)){P1(o);break a}y=mb()|0;P1(o);yb(y|0)}case 3:{lE(p,38872,2);x=0;sa(484,m|0,p|0);w=x;x=0;if(!(w&1)){P1(p);break a}y=mb()|0;P1(p);yb(y|0)}case 4:{lE(q,42839,1);x=0;sa(484,m|0,q|0);w=x;x=0;if(!(w&1)){P1(q);break a}y=mb()|0;P1(q);yb(y|0)}case 5:{lE(s,38875,2);x=0;sa(484,m|0,s|0);w=x;x=0;if(!(w&1)){P1(s);break a}y=mb()|0;P1(s);yb(y|0)}case 6:{lE(t,38878,1);x=0;sa(484,m|0,t|0);w=x;x=0;if(!(w&1)){P1(t);break a}y=mb()|0;P1(t);yb(y|0)}case 7:{lE(u,38880,2);x=0;sa(484,m|0,u|0);w=x;x=0;if(!(w&1)){P1(u);break a}y=mb()|0;P1(u);yb(y|0)}case 8:{lE(v,44221,1);x=0;sa(484,m|0,v|0);w=x;x=0;if(!(w&1)){P1(v);break a}y=mb()|0;P1(v);yb(y|0)}case 9:{lE(e,38883,1);x=0;sa(484,m|0,e|0);w=x;x=0;if(!(w&1)){P1(e);break a}y=mb()|0;P1(e);yb(y|0)}case 10:{lE(f,38885,1);x=0;sa(484,m|0,f|0);w=x;x=0;if(!(w&1)){P1(f);break a}y=mb()|0;P1(f);yb(y|0)}case 11:{lE(g,39370,1);x=0;sa(484,m|0,g|0);w=x;x=0;if(!(w&1)){P1(g);break a}y=mb()|0;P1(g);yb(y|0)}case 12:{lE(h,38887,1);x=0;sa(484,m|0,h|0);w=x;x=0;if(!(w&1)){P1(h);break a}y=mb()|0;P1(h);yb(y|0)}default:{}}while(0);if(!(i[n>>0]|0))if((Xaa(m)|0)!=4){w=b+56|0;w=SN(k[w>>2]|0,k[w+4>>2]|0,40)|0;if(!((w&255)<<24>>24)){w=b+68|0;w=k[w>>2]|0;b=k[w>>2]|0;b=b+28|0;b=k[b>>2]|0;rc[b&1023](w,a);r=y;return}if(i[b+50>>0]|0){w=b+68|0;w=k[w>>2]|0;b=k[w>>2]|0;b=b+28|0;b=k[b>>2]|0;rc[b&1023](w,a);r=y;return}if(i[b+48>>0]|0)if(!(tc[k[(k[b>>2]|0)+88>>2]&511](b)|0))if(!(tc[k[(k[b>>2]|0)+92>>2]&511](b)|0)){w=b+68|0;w=k[w>>2]|0;b=k[w>>2]|0;b=b+28|0;b=k[b>>2]|0;rc[b&1023](w,a);r=y;return}}lE(j,41822,1);x=0;sa(484,m|0,j|0);w=x;x=0;if(w&1){y=mb()|0;P1(j);yb(y|0)}else{P1(j);w=b+68|0;w=k[w>>2]|0;b=k[w>>2]|0;b=b+28|0;b=k[b>>2]|0;rc[b&1023](w,a);r=y;return}}function af(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;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;U=0;V=r;r=r+144|0;j=V+132|0;h=V+116|0;N=V+128|0;w=V+124|0;I=V+120|0;O=V+112|0;P=V+108|0;Q=V+104|0;R=V+100|0;S=V+96|0;T=V+92|0;l=V+88|0;m=V+84|0;n=V+80|0;o=V+76|0;p=V+72|0;q=V+68|0;s=V+64|0;t=V+60|0;u=V+56|0;v=V+52|0;y=V+48|0;z=V+44|0;A=V+40|0;B=V+36|0;C=V+32|0;D=V+28|0;E=V+24|0;F=V+20|0;G=V+16|0;H=V+12|0;J=V+8|0;K=V+4|0;L=V;k[e>>2]=0;M=TN(d)|0;k[N>>2]=M;x=0;N=Ka(865,N|0,74172)|0;W=x;x=0;if(W&1){W=mb()|0;sK(M)|0;yb(W|0)}sK(M)|0;do switch(g<<24>>24|0){case 65:case 97:{k[w>>2]=k[c>>2];k[j>>2]=k[w>>2];Oz(a,f+24|0,b,j,e,N);U=28;break}case 104:case 66:case 98:{k[I>>2]=k[c>>2];k[j>>2]=k[I>>2];Jz(a,f+16|0,b,j,e,N);U=28;break}case 99:{U=a+8|0;U=tc[k[(k[U>>2]|0)+12>>2]&511](U)|0;k[O>>2]=k[b>>2];k[P>>2]=k[c>>2];g=i[U>>0]|0;c=(g&1)==0;W=c?U+1|0:k[U+8>>2]|0;U=W+(c?(g&255)>>>1:k[U+4>>2]|0)|0;k[h>>2]=k[O>>2];k[j>>2]=k[P>>2];U=Kg(a,h,j,d,e,f,W,U)|0;k[b>>2]=U;U=28;break}case 101:case 100:{k[Q>>2]=k[c>>2];k[j>>2]=k[Q>>2];xB(a,f+12|0,b,j,e,N);U=28;break}case 68:{k[R>>2]=k[b>>2];k[S>>2]=k[c>>2];k[h>>2]=k[R>>2];k[j>>2]=k[S>>2];U=Kg(a,h,j,d,e,f,49714,49722)|0;k[b>>2]=U;U=28;break}case 70:{k[T>>2]=k[b>>2];k[l>>2]=k[c>>2];k[h>>2]=k[T>>2];k[j>>2]=k[l>>2];U=Kg(a,h,j,d,e,f,49722,49730)|0;k[b>>2]=U;U=28;break}case 72:{k[m>>2]=k[c>>2];k[j>>2]=k[m>>2];KB(a,f+8|0,b,j,e,N);U=28;break}case 73:{k[n>>2]=k[c>>2];k[j>>2]=k[n>>2];sB(a,f+8|0,b,j,e,N);U=28;break}case 106:{k[o>>2]=k[c>>2];k[j>>2]=k[o>>2];yB(a,f+28|0,b,j,e,N);U=28;break}case 109:{k[p>>2]=k[c>>2];k[j>>2]=k[p>>2];AB(a,f+16|0,b,j,e,N);U=28;break}case 77:{k[q>>2]=k[c>>2];k[j>>2]=k[q>>2];IB(a,f+4|0,b,j,e,N);U=28;break}case 116:case 110:{k[s>>2]=k[c>>2];k[j>>2]=k[s>>2];Mn(a,b,j,e,N);U=28;break}case 112:{k[t>>2]=k[c>>2];k[j>>2]=k[t>>2];Xv(a,f+8|0,b,j,e,N);U=28;break}case 114:{k[u>>2]=k[b>>2];k[v>>2]=k[c>>2];k[h>>2]=k[u>>2];k[j>>2]=k[v>>2];U=Kg(a,h,j,d,e,f,49730,49741)|0;k[b>>2]=U;U=28;break}case 82:{k[y>>2]=k[b>>2];k[z>>2]=k[c>>2];k[h>>2]=k[y>>2];k[j>>2]=k[z>>2];U=Kg(a,h,j,d,e,f,49741,49746)|0;k[b>>2]=U;U=28;break}case 83:{k[A>>2]=k[c>>2];k[j>>2]=k[A>>2];HB(a,f,b,j,e,N);U=28;break}case 84:{k[B>>2]=k[b>>2];k[C>>2]=k[c>>2];k[h>>2]=k[B>>2];k[j>>2]=k[C>>2];U=Kg(a,h,j,d,e,f,49746,49754)|0;k[b>>2]=U;U=28;break}case 119:{k[D>>2]=k[c>>2];k[j>>2]=k[D>>2];GB(a,f+24|0,b,j,e,N);U=28;break}case 120:{W=k[(k[a>>2]|0)+20>>2]|0;k[E>>2]=k[b>>2];k[F>>2]=k[c>>2];k[h>>2]=k[E>>2];k[j>>2]=k[F>>2];h=sc[W&127](a,h,j,d,e,f)|0;break}case 88:{U=a+8|0;U=tc[k[(k[U>>2]|0)+24>>2]&511](U)|0;k[G>>2]=k[b>>2];k[H>>2]=k[c>>2];g=i[U>>0]|0;c=(g&1)==0;W=c?U+1|0:k[U+8>>2]|0;U=W+(c?(g&255)>>>1:k[U+4>>2]|0)|0;k[h>>2]=k[G>>2];k[j>>2]=k[H>>2];U=Kg(a,h,j,d,e,f,W,U)|0;k[b>>2]=U;U=28;break}case 121:{k[J>>2]=k[c>>2];k[j>>2]=k[J>>2];GA(a,f+20|0,b,j,e,N);U=28;break}case 89:{k[K>>2]=k[c>>2];k[j>>2]=k[K>>2];cD(a,f+20|0,b,j,e,N);U=28;break}case 37:{k[L>>2]=k[c>>2];k[j>>2]=k[L>>2];An(a,b,j,e,N);U=28;break}default:{k[e>>2]=k[e>>2]|4;U=28}}while(0);if((U|0)==28)h=k[b>>2]|0;r=V;return h|0}function bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;w=r;r=r+160|0;u=w;z=w+136|0;y=w+112|0;q=w+64|0;s=w+40|0;v=w+88|0;e=a;while(1){d=k[e+76>>2]|0;if(!d)break;else e=d}f=b;while(1){d=k[f+76>>2]|0;if(!d)break;else f=d}if(!e)kb(27464,27488,804,27500);if(!f)kb(27511,27488,805,27500);if(k[e+68>>2]|0){z=0;r=w;return z|0}if(k[f+68>>2]|0){z=0;r=w;return z|0}o=e+72|0;h=k[o>>2]|0;m=f+72|0;d=k[m>>2]|0;if(!h)kb(27535,27488,818,27500);if(!d)kb(27569,27488,819,27500);j=d+72|0;n=d+76|0;e=k[j>>2]|0;g=(k[n>>2]|0)-e>>2;if(!g)l=h;else{f=d+72|0;d=k[e>>2]|0;d=wc[k[(k[d>>2]|0)+112>>2]&127](d,h,c)|0;if(!(g>>>0<2|(d|0)==0)){e=1;do{t=k[(k[f>>2]|0)+(e<<2)>>2]|0;d=wc[k[(k[t>>2]|0)+112>>2]&127](t,d,c)|0;e=e+1|0}while(!(e>>>0>=g>>>0|(d|0)==0))}if(!d){z=0;r=w;return z|0}else l=d}d=k[h+72>>2]|0;if(((k[h+76>>2]|0)-d|0)==4)if(!(KH((k[d>>2]|0)+80|0,38885)|0))p=23;else p=21;else p=21;if((p|0)==21){d=k[j>>2]|0;if(((k[n>>2]|0)-d|0)==4)if(!(KH((k[d>>2]|0)+80|0,38885)|0))p=23;else d=0;else d=0}if((p|0)==23){k[o>>2]=0;k[m>>2]=l;d=1}Pg(z,a,c);x=0;Qa(80,y|0,b|0,c|0);t=x;x=0;if(t&1)e=mb()|0;else{do if(d)p=39;else{e=c+36|0;x=0;f=Ka(856,e|0,84)|0;t=x;x=0;if(t&1)p=36;else{g=u;h=l+8|0;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[f+4>>2]=0;g=f+8|0;h=u;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;d=f+56|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[f+52>>2]=7;k[f>>2]=7696;k[f+68>>2]=0;k[f+72>>2]=l;k[f+76>>2]=0;k[f+80>>2]=0;if(i[l+56>>0]|0)i[d>>0]=1;x=0;d=Ka(857,e|0,f|0)|0;t=x;x=0;if(t&1)p=36;else{x=0;Qa(80,q|0,d|0,c|0);t=x;x=0;if(t&1)p=36;else{x=0;sa(446,y|0,q|0);t=x;x=0;if(t&1){e=mb()|0;d=k[q+20>>2]|0;if(!d)break;CQ(d);break}d=k[q+20>>2]|0;if(d|0)CQ(d);p=39}}}}while(0);if((p|0)==39){x=0;Ua(12,s|0,z|0,y|0,c|0);t=x;x=0;if(t&1)p=36;else{d=c+36|0;x=0;e=Ka(856,d|0,100)|0;t=x;x=0;if(t&1)p=58;else{g=u;h=a+8|0;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));k[e+4>>2]=0;g=e+8|0;h=u;j=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;a=e+56|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[e+52>>2]=7;k[e+72>>2]=0;k[e+76>>2]=0;k[e+80>>2]=0;k[e>>2]=7828;k[e+68>>2]=7968;k[e+88>>2]=0;k[e+92>>2]=0;k[e+96>>2]=0;x=0;a=Ka(857,d|0,e|0)|0;t=x;x=0;if(t&1)p=58;else{f=k[s+16>>2]|0;d=s+20|0;s=k[d>>2]|0;t=(s|0)==0;if(!t)c3(s);e=k[f+4>>2]|0;g=k[f+16>>2]|0;h=e+(((g>>>0)/170|0)<<2)|0;if((k[f+8>>2]|0)==(e|0)){p=0;e=0}else{p=g+(k[f+20>>2]|0)|0;p=(k[e+(((p>>>0)/170|0)<<2)>>2]|0)+(((p>>>0)%170|0)*24|0)|0;e=(k[h>>2]|0)+(((g>>>0)%170|0)*24|0)|0}l=a+68|0;q=v+20|0;m=l+16|0;o=l+8|0;n=l+12|0;b=l+4|0;a:while(1){do{if((e|0)==(p|0)){p=49;break a}x=0;Qa(81,v|0,e|0,c|0);j=x;x=0;if(j&1){p=59;break a}x=0;f=Ka(858,v|0,c|0)|0;j=x;x=0;if(j&1){p=71;break a}k[u>>2]=f;g=f;if(f|0){k[m>>2]=0;j=k[o>>2]|0;if((j|0)==(k[n>>2]|0)){x=0;sa(447,b|0,u|0);j=x;x=0;if(j&1){p=71;break a}}else{k[j>>2]=g;k[o>>2]=(k[o>>2]|0)+4}x=0;sa(k[k[l>>2]>>2]|0,l|0,f|0);j=x;x=0;if(j&1){p=71;break a}}f=k[q>>2]|0;if(f|0)CQ(f);e=e+24|0}while((e-(k[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=k[e>>2]|0}if((p|0)==49){e=(k[o>>2]|0)!=(k[b>>2]|0)?a:0;if(!t)CQ(s);d=k[d>>2]|0;if(d|0)CQ(d);d=k[y+20>>2]|0;if(d|0)CQ(d);d=k[z+20>>2]|0;if(d|0)CQ(d);z=e;r=w;return z|0}else if((p|0)==59)e=mb()|0;else if((p|0)==71){e=mb()|0;f=k[q>>2]|0;if(f)CQ(f)}if(!t)CQ(s)}}if((p|0)==58){e=mb()|0;d=s+20|0}d=k[d>>2]|0;if(d)CQ(d)}}if((p|0)==36)e=mb()|0;d=k[y+20>>2]|0;if(d)CQ(d)}d=k[z+20>>2]|0;if(!d)yb(e|0);CQ(d);yb(e|0);return 0}function cf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;c=a+-8|0;g=k[18139]|0;if(c>>>0>>0)bb();a=k[a+-4>>2]|0;b=a&3;if((b|0)==1)bb();d=a&-8;m=c+d|0;do if(!(a&1)){a=k[c>>2]|0;if(!b)return;j=c+(0-a)|0;i=a+d|0;if(j>>>0>>0)bb();if((j|0)==(k[18140]|0)){a=m+4|0;b=k[a>>2]|0;if((b&3|0)!=3){q=j;f=i;break}k[18137]=i;k[a>>2]=b&-2;k[j+4>>2]=i|1;k[j+i>>2]=i;return}d=a>>>3;if(a>>>0<256){b=k[j+8>>2]|0;c=k[j+12>>2]|0;a=72580+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)bb();if((k[b+12>>2]|0)!=(j|0))bb()}if((c|0)==(b|0)){k[18135]=k[18135]&~(1<>>0>>0)bb();a=c+8|0;if((k[a>>2]|0)==(j|0))e=a;else bb()}k[b+12>>2]=c;k[e>>2]=b;q=j;f=i;break}e=k[j+24>>2]|0;c=k[j+12>>2]|0;do if((c|0)==(j|0)){b=j+16|0;c=b+4|0;a=k[c>>2]|0;if(!a){a=k[b>>2]|0;if(!a){h=0;break}}else b=c;while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)bb();else{k[b>>2]=0;h=a;break}}else{d=k[j+8>>2]|0;if(d>>>0>>0)bb();a=d+12|0;if((k[a>>2]|0)!=(j|0))bb();b=c+8|0;if((k[b>>2]|0)==(j|0)){k[a>>2]=c;k[b>>2]=d;h=c;break}else bb()}while(0);if(!e){q=j;f=i}else{a=k[j+28>>2]|0;b=72844+(a<<2)|0;if((j|0)==(k[b>>2]|0)){k[b>>2]=h;if(!h){k[18136]=k[18136]&~(1<>>0<(k[18139]|0)>>>0)bb();a=e+16|0;if((k[a>>2]|0)==(j|0))k[a>>2]=h;else k[e+20>>2]=h;if(!h){q=j;f=i;break}}c=k[18139]|0;if(h>>>0>>0)bb();k[h+24>>2]=e;a=j+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)bb();else{k[h+16>>2]=b;k[b+24>>2]=h;break}while(0);a=k[a+4>>2]|0;if(!a){q=j;f=i}else if(a>>>0<(k[18139]|0)>>>0)bb();else{k[h+20>>2]=a;k[a+24>>2]=h;q=j;f=i;break}}}else{q=c;f=d}while(0);if(q>>>0>=m>>>0)bb();a=m+4|0;b=k[a>>2]|0;if(!(b&1))bb();if(!(b&2)){if((m|0)==(k[18141]|0)){p=(k[18138]|0)+f|0;k[18138]=p;k[18141]=q;k[q+4>>2]=p|1;if((q|0)!=(k[18140]|0))return;k[18140]=0;k[18137]=0;return}if((m|0)==(k[18140]|0)){p=(k[18137]|0)+f|0;k[18137]=p;k[18140]=q;k[q+4>>2]=p|1;k[q+p>>2]=p;return}f=(b&-8)+f|0;d=b>>>3;do if(b>>>0<256){b=k[m+8>>2]|0;c=k[m+12>>2]|0;a=72580+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(k[18139]|0)>>>0)bb();if((k[b+12>>2]|0)!=(m|0))bb()}if((c|0)==(b|0)){k[18135]=k[18135]&~(1<>>0<(k[18139]|0)>>>0)bb();a=c+8|0;if((k[a>>2]|0)==(m|0))l=a;else bb()}k[b+12>>2]=c;k[l>>2]=b}else{e=k[m+24>>2]|0;a=k[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;c=b+4|0;a=k[c>>2]|0;if(!a){a=k[b>>2]|0;if(!a){n=0;break}}else b=c;while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0<(k[18139]|0)>>>0)bb();else{k[b>>2]=0;n=a;break}}else{b=k[m+8>>2]|0;if(b>>>0<(k[18139]|0)>>>0)bb();c=b+12|0;if((k[c>>2]|0)!=(m|0))bb();d=a+8|0;if((k[d>>2]|0)==(m|0)){k[c>>2]=a;k[d>>2]=b;n=a;break}else bb()}while(0);if(e|0){a=k[m+28>>2]|0;b=72844+(a<<2)|0;if((m|0)==(k[b>>2]|0)){k[b>>2]=n;if(!n){k[18136]=k[18136]&~(1<>>0<(k[18139]|0)>>>0)bb();a=e+16|0;if((k[a>>2]|0)==(m|0))k[a>>2]=n;else k[e+20>>2]=n;if(!n)break}c=k[18139]|0;if(n>>>0>>0)bb();k[n+24>>2]=e;a=m+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)bb();else{k[n+16>>2]=b;k[b+24>>2]=n;break}while(0);a=k[a+4>>2]|0;if(a|0)if(a>>>0<(k[18139]|0)>>>0)bb();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}}while(0);k[q+4>>2]=f|1;k[q+f>>2]=f;if((q|0)==(k[18140]|0)){k[18137]=f;return}}else{k[a>>2]=b&-2;k[q+4>>2]=f|1;k[q+f>>2]=f}a=f>>>3;if(f>>>0<256){c=72580+(a<<1<<2)|0;b=k[18135]|0;a=1<>2]|0;if(b>>>0<(k[18139]|0)>>>0)bb();else{o=a;p=b}}k[o>>2]=q;k[p+12>>2]=q;k[q+8>>2]=p;k[q+12>>2]=c;return}a=f>>>8;if(!a)c=0;else if(f>>>0>16777215)c=31;else{o=(a+1048320|0)>>>16&8;p=a<>>16&4;p=p<>>16&2;c=14-(n|o|c)+(p<>>15)|0;c=f>>>(c+7|0)&1|c<<1}d=72844+(c<<2)|0;k[q+28>>2]=c;k[q+20>>2]=0;k[q+16>>2]=0;a=k[18136]|0;b=1<>2]=q;k[q+24>>2]=d;k[q+12>>2]=q;k[q+8>>2]=q}else{e=f<<((c|0)==31?0:25-(c>>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(f|0)){c=a;d=130;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){d=127;break}else{e=e<<1;a=c}}if((d|0)==127)if(b>>>0<(k[18139]|0)>>>0)bb();else{k[b>>2]=q;k[q+24>>2]=a;k[q+12>>2]=q;k[q+8>>2]=q;break}else if((d|0)==130){a=c+8|0;b=k[a>>2]|0;p=k[18139]|0;if(b>>>0>=p>>>0&c>>>0>=p>>>0){k[b+12>>2]=q;k[a>>2]=q;k[q+8>>2]=b;k[q+12>>2]=c;k[q+24>>2]=0;break}else bb()}}while(0);q=(k[18143]|0)+-1|0;k[18143]=q;if(!q)a=72996;else return;while(1){a=k[a>>2]|0;if(!a)break;else a=a+8|0}k[18143]=-1;return}function df(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;o=0;G=r;r=r+64|0;F=G+16|0;h=G;E=c+36|0;g=lD(E,84)|0;lE(h,38216,6);x=0;z=F;A=e;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));c=wa(26,h|0,a|0,d|0,F|0,f|0)|0;D=x;x=0;if(D&1){e=mb()|0;P1(h);yb(e|0)}k[g+4>>2]=k[c+4>>2];k[g>>2]=4748;z=g+8|0;A=c+8|0;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));k[g>>2]=6736;C=c+48|0;D=k[C+4>>2]|0;b=g+48|0;k[b>>2]=k[C>>2];k[b+4>>2]=D;k[g>>2]=10312;b=g+56|0;k[b>>2]=5132;x=0;sa(495,g+60|0,c+60|0);D=x;x=0;if(D&1){e=mb()|0;P1(h);yb(e|0)}k[g+72>>2]=k[c+72>>2];k[g>>2]=4992;k[b>>2]=5104;D=g+76|0;C=c+76|0;k[D>>2]=k[C>>2];j[D+4>>1]=j[C+4>>1]|0;x=0;D=Ka(857,E|0,g|0)|0;C=x;x=0;if(C&1){e=mb()|0;P1(h);yb(e|0)}P1(h);p=D+60|0;q=D+64|0;l=(k[q>>2]|0)-(k[p>>2]|0)>>2;if(!l)b=0;else{m=D+80|0;n=0;b=0;do{c=GH(D,n)|0;if(!c)o=19;else{c=Ot(c,64,256,0)|0;if(!c)o=19}do if((o|0)==19){o=0;c=lD(E,84)|0;k[c+4>>2]=0;z=c+8|0;A=e;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;g=c+52|0;k[g>>2]=0;k[c>>2]=10312;f=c+56|0;k[f>>2]=5132;z=c+60|0;k[z>>2]=0;B=c+64|0;k[B>>2]=0;a=c+68|0;k[a>>2]=0;C=GG(4)|0;A=C;k[z>>2]=A;k[B>>2]=A;k[a>>2]=C+4;k[c>>2]=4992;k[f>>2]=5104;k[c+76>>2]=1;i[c+80>>0]=0;i[c+81>>0]=0;k[g>>2]=5;c=N4(E,c)|0;g=c+56|0;f=GH(D,n)|0;k[F>>2]=f;a=f;if(f|0){k[c+72>>2]=0;d=c+64|0;h=k[d>>2]|0;if((h|0)==(k[c+68>>2]|0))uw(c+60|0,F);else{k[h>>2]=a;k[d>>2]=(k[d>>2]|0)+4}rc[k[k[g>>2]>>2]&1023](g,f)}g=(k[p>>2]|0)+(n<<2)|0;if(!(i[m>>0]|0)){k[g>>2]=c;break}else{C=k[g>>2]|0;k[C+76>>2]=0;k[C+56>>2]=c;break}}while(0);C=(k[c+64>>2]|0)-(k[c+60>>2]|0)>>2;b=(n|0)==0|C>>>0>>0?C:b;n=n+1|0}while((n|0)!=(l|0))}h=lD(E,84)|0;k[h+4>>2]=0;z=h+8|0;A=e;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;c=h+52|0;k[c>>2]=0;k[h>>2]=10312;g=h+56|0;k[g>>2]=5132;f=h+60|0;k[f>>2]=0;a=h+64|0;k[a>>2]=0;d=h+68|0;k[d>>2]=0;l=(b|0)==0;if(!l){C=GG(b<<2)|0;B=C;k[f>>2]=B;k[a>>2]=B;k[d>>2]=C+(b<<2)}k[h>>2]=4992;k[g>>2]=5104;k[h+76>>2]=0;i[h+80>>0]=0;i[h+81>>0]=0;k[c>>2]=5;C=N4(E,h)|0;q=(k[q>>2]|0)-(k[p>>2]|0)|0;s=q>>2;if(l){r=G;return C|0}t=C+56|0;u=C+72|0;v=C+64|0;w=C+68|0;y=C+60|0;if(!s){a=0;do{c=lD(E,84)|0;k[c+4>>2]=0;z=c+8|0;A=e;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;k[c+60>>2]=0;k[c+64>>2]=0;k[c+68>>2]=0;k[c>>2]=4992;k[c+56>>2]=5104;k[c+76>>2]=1;i[c+80>>0]=0;i[c+81>>0]=0;k[c+52>>2]=5;c=N4(E,c)|0;k[F>>2]=c;g=c;if(c|0){k[u>>2]=0;f=k[v>>2]|0;if((f|0)==(k[w>>2]|0))uw(y,F);else{k[f>>2]=g;k[v>>2]=(k[v>>2]|0)+4}rc[k[k[t>>2]>>2]&1023](t,c)}a=a+1|0}while((a|0)!=(b|0));r=G;return C|0}else p=0;do{c=lD(E,84)|0;k[c+4>>2]=0;z=c+8|0;A=e;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;o=c+52|0;k[o>>2]=0;k[c>>2]=10312;g=c+56|0;k[g>>2]=5132;B=c+60|0;k[B>>2]=0;d=c+64|0;k[d>>2]=0;f=c+68|0;k[f>>2]=0;a=GG(q)|0;n=a;k[B>>2]=n;k[d>>2]=n;k[f>>2]=a+(s<<2);k[c>>2]=4992;k[g>>2]=5104;k[c+76>>2]=1;i[c+80>>0]=0;i[c+81>>0]=0;k[o>>2]=5;o=N4(E,c)|0;c=o+56|0;g=o+72|0;f=o+64|0;a=o+68|0;d=o+60|0;n=0;do{h=(GH(D,n)|0)+60|0;h=k[(k[h>>2]|0)+(p<<2)>>2]|0;k[F>>2]=h;l=h;if(h|0){k[g>>2]=0;m=k[f>>2]|0;if((m|0)==(k[a>>2]|0))uw(d,F);else{k[m>>2]=l;k[f>>2]=(k[f>>2]|0)+4}rc[k[k[c>>2]>>2]&1023](c,h)}n=n+1|0}while((n|0)!=(s|0));k[F>>2]=o;c=o;if(o|0){k[u>>2]=0;g=k[v>>2]|0;if((g|0)==(k[w>>2]|0))uw(y,F);else{k[g>>2]=c;k[v>>2]=(k[v>>2]|0)+4}rc[k[k[t>>2]>>2]&1023](t,o)}p=p+1|0}while((p|0)!=(b|0));r=G;return C|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;var g=0.0,h=0,j=0.0,l=0.0,m=0,n=0,o=0,q=0.0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+272|0;v=A+224|0;h=A+208|0;C=A+24|0;B=A;w=A+168|0;z=A+12|0;lE(h,36999,6);x=0;m=v;n=e;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));b=wa(24,h|0,a|0,d|0,v|0,f|0)|0;y=x;x=0;if(y&1){C=mb()|0;P1(h);yb(C|0)}P1(h);j=+p[b+56>>3];j=j>255.0?255.0:j<0.0?0.0:j;l=+p[b+64>>3];l=l>255.0?255.0:l<0.0?0.0:l;q=+p[b+72>>3];q=q>255.0?255.0:q<0.0?0.0:q;g=+p[b+80>>3];g=g>1.0?255.0:(g<0.0?0.0:g)*255.0;y=C+64|0;b=C+8|0;k[b>>2]=8236;u=C+12|0;k[C>>2]=8440;k[y>>2]=8460;k[C+4>>2]=0;x=0;sa(452,C+64|0,u|0);t=x;x=0;if(t&1){C=mb()|0;P9(y);yb(C|0)}k[C+136>>2]=0;k[C+140>>2]=-1;k[C>>2]=8216;k[y>>2]=8256;k[b>>2]=8236;x=0;ra(324,u|0);t=x;x=0;do if(t&1)b=mb()|0;else{k[u>>2]=8272;s=C+44|0;k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;k[s+12>>2]=0;k[C+60>>2]=24;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;sa(453,u|0,v|0);t=x;x=0;if(t&1){b=mb()|0;P1(v);P1(s);D2(u);break}P1(v);t=C+8|0;i[v>>0]=35;x=0;b=xa(49,t|0,v|0,1)|0;o=x;x=0;if(o&1)f=24;else{k[b+(k[(k[b>>2]|0)+-12>>2]|0)+12>>2]=2;k[b+(k[(k[b>>2]|0)+-12>>2]|0)+76>>2]=48;b=t+(k[(k[t>>2]|0)+-12>>2]|0)+4|0;k[b>>2]=k[b>>2]&-75|8;k[t+(k[(k[t>>2]|0)+-12>>2]|0)+12>>2]=2;b=c+16|0;x=0;g=+ya(1,+g,k[(k[b>>2]|0)+4>>2]|0);o=x;x=0;if(o&1)f=24;else{x=0;Ka(883,t|0,~~g>>>0|0)|0;o=x;x=0;if(o&1)f=24;else{o=t+(k[(k[t>>2]|0)+-12>>2]|0)+4|0;k[o>>2]=k[o>>2]&-75|8;k[t+(k[(k[t>>2]|0)+-12>>2]|0)+12>>2]=2;x=0;g=+ya(1,+j,k[(k[b>>2]|0)+4>>2]|0);o=x;x=0;if(o&1)f=24;else{x=0;Ka(883,t|0,~~g>>>0|0)|0;o=x;x=0;if(o&1)f=24;else{o=t+(k[(k[t>>2]|0)+-12>>2]|0)+4|0;k[o>>2]=k[o>>2]&-75|8;k[t+(k[(k[t>>2]|0)+-12>>2]|0)+12>>2]=2;x=0;g=+ya(1,+l,k[(k[b>>2]|0)+4>>2]|0);o=x;x=0;if(o&1)f=24;else{x=0;Ka(883,t|0,~~g>>>0|0)|0;o=x;x=0;if(o&1)f=24;else{o=t+(k[(k[t>>2]|0)+-12>>2]|0)+4|0;k[o>>2]=k[o>>2]&-75|8;k[t+(k[(k[t>>2]|0)+-12>>2]|0)+12>>2]=2;x=0;g=+ya(1,+q,k[(k[b>>2]|0)+4>>2]|0);o=x;x=0;if(o&1)f=24;else{x=0;Ka(883,t|0,~~g>>>0|0)|0;o=x;x=0;if(o&1)f=24;else{x=0;sa(454,B|0,u|0);o=x;x=0;if(o&1)f=24;else{b=i[B>>0]|0;f=(b&1)==0?(b&255)>>>1:k[B+4>>2]|0;a:do if(!f)f=22;else{a=B+8|0;d=B+1|0;h=0;while(1){x=0;b=ua(224,i[((b&1)==0?d:k[a>>2]|0)+h>>0]|0)|0;o=x;x=0;if(o&1)break;i[((i[B>>0]&1)==0?d:k[a>>2]|0)+h>>0]=b;h=h+1|0;if(h>>>0>=f>>>0){f=22;break a}b=i[B>>0]|0}b=mb()|0;f=30}while(0);b:do if((f|0)==22){b=c+36|0;x=0;h=Ka(856,b|0,76)|0;c=x;x=0;do if(!(c&1)){m=w;n=e;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;sa(430,z|0,B|0);e=x;x=0;if(e&1)break;x=0;m=v;n=w;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));qa(5,h|0,v|0,z|0,0,0);e=x;x=0;do if(!(e&1)){x=0;b=Ka(857,b|0,h|0)|0;e=x;x=0;if(e&1)break;P1(z);P1(B);k[C>>2]=8216;k[y>>2]=8256;k[t>>2]=8236;k[u>>2]=8272;P1(s);D2(u);P9(y);r=A;return b|0}while(0);b=mb()|0;P1(z);break b}while(0);b=mb()|0;f=30}while(0);P1(B)}}}}}}}}}}if((f|0)==24)b=mb()|0;k[C>>2]=8216;k[y>>2]=8256;k[t>>2]=8236;k[u>>2]=8272;P1(s);D2(u);P9(y);C=b;yb(C|0)}while(0);C=b;P9(y);yb(C|0);return 0}function ff(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;y=r;r=r+176|0;q=y;v=y+164|0;u=y+128|0;w=y+88|0;b=y+152|0;g=y+140|0;f=y+76|0;e=y+64|0;h=y+52|0;s=y+40|0;t=a+76|0;p=k[t>>2]|0;d=bO(p)|0;p=d|0?d:p;p=(i[p>>0]|0)==41?p+1|0:0;d=a+80|0;do if(!((p|0)==0?1:p>>>0>(k[d>>2]|0)>>>0)){lE(b,41917,46);p=a+108|0;x=0;k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];k[q+8>>2]=k[p+8>>2];Qa(135,a|0,b|0,q|0);p=x;x=0;if(!(p&1)){P1(b);break}y=mb()|0;P1(b);yb(y|0)}while(0);c=k[t>>2]|0;b=bO(c)|0;c=b|0?b:c;b=cF(c)|0;if(!b)b=XE(c)|0;a:do if((b|0)==0?1:b>>>0>(k[d>>2]|0)>>>0){lE(g,39906,11);x=0;Qa(74,f|0,39918,7);p=x;x=0;if(p&1)b=mb()|0;else{x=0;Qa(74,e|0,41964,36);p=x;x=0;do if(p&1)b=mb()|0;else{x=0;Ua(31,a|0,g|0,f|0,e|0);p=x;x=0;if(p&1){b=mb()|0;P1(e);break}else{P1(e);P1(f);P1(g);break a}}while(0);P1(f)}P1(g);y=b;yb(y|0)}while(0);l=Ef(a)|0;m=a+152|0;k[q>>2]=k[m>>2];k[q+4>>2]=k[m+4>>2];k[q+8>>2]=k[m+8>>2];b=k[t>>2]|0;n=a+84|0;k[v>>2]=k[n>>2];k[v+4>>2]=k[n+4>>2];k[v+8>>2]=k[n+8>>2];o=a+96|0;k[u>>2]=k[o>>2];k[u+4>>2]=k[o+4>>2];k[u+8>>2]=k[o+8>>2];p=a+108|0;e=w;f=p;j=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(j|0));Bt(a,1,0)|0;do if(!(Wq(a,1,0)|0)){e=p;f=w;j=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(j|0));k[m>>2]=k[q>>2];k[m+4>>2]=k[q+4>>2];k[m+8>>2]=k[q+8>>2];k[t>>2]=b;k[o>>2]=k[u>>2];k[o+4>>2]=k[u+4>>2];k[o+8>>2]=k[u+8>>2];k[n>>2]=k[v>>2];k[n+4>>2]=k[v+4>>2];k[n+8>>2]=k[v+8>>2];lE(h,42001,38);j=a+108|0;x=0;k[q>>2]=k[j>>2];k[q+4>>2]=k[j+4>>2];k[q+8>>2]=k[j+8>>2];Qa(135,a|0,h|0,q|0);j=x;x=0;if(!(j&1)){P1(h);break}y=mb()|0;P1(h);yb(y|0)}while(0);g=Ef(a)|0;h=a+40|0;b=(k[h>>2]|0)+36|0;c=lD(b,84)|0;e=q;f=l+8|0;j=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(j|0));k[c+4>>2]=0;e=c+8|0;f=q;j=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(j|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;j=c+52|0;k[j>>2]=0;k[c>>2]=10312;f=c+56|0;k[f>>2]=5132;B=c+60|0;k[B>>2]=0;z=c+64|0;k[z>>2]=0;e=c+68|0;k[e>>2]=0;d=GG(4)|0;A=d;k[B>>2]=A;k[z>>2]=A;k[e>>2]=d+4;k[c>>2]=4992;k[f>>2]=5104;k[c+76>>2]=1;i[c+80>>0]=0;i[c+81>>0]=0;k[j>>2]=5;b=N4(b,c)|0;if((k[g+52>>2]|0)==5)d=g;else{c=b+56|0;k[q>>2]=g;d=g;if(g|0){k[b+72>>2]=0;e=b+64|0;f=k[e>>2]|0;if((f|0)==(k[b+68>>2]|0))uw(b+60|0,q);else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[c>>2]>>2]&1023](c,g)}d=b}b=(k[h>>2]|0)+36|0;c=lD(b,64)|0;e=q;f=d+8|0;j=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(j|0));k[c+4>>2]=0;e=c+8|0;f=q;j=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(j|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;k[c+52>>2]=0;k[c>>2]=11764;k[c+56>>2]=l;k[c+60>>2]=d;b=N4(b,c)|0;k[q>>2]=k[m>>2];k[q+4>>2]=k[m+4>>2];k[q+8>>2]=k[m+8>>2];c=k[t>>2]|0;k[v>>2]=k[n>>2];k[v+4>>2]=k[n+4>>2];k[v+8>>2]=k[n+8>>2];k[u>>2]=k[o>>2];k[u+4>>2]=k[o+4>>2];k[u+8>>2]=k[o+8>>2];e=w;f=p;j=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(j|0));Bt(a,1,0)|0;if($q(a,1,0)|0){r=y;return b|0}e=p;f=w;j=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(j|0));k[m>>2]=k[q>>2];k[m+4>>2]=k[q+4>>2];k[m+8>>2]=k[q+8>>2];k[t>>2]=c;k[o>>2]=k[u>>2];k[o+4>>2]=k[u+4>>2];k[o+8>>2]=k[u+8>>2];k[n>>2]=k[v>>2];k[n+4>>2]=k[v+4>>2];k[n+8>>2]=k[v+8>>2];lE(s,42040,43);B=a+108|0;x=0;k[q>>2]=k[B>>2];k[q+4>>2]=k[B+4>>2];k[q+8>>2]=k[B+8>>2];Qa(135,a|0,s|0,q|0);B=x;x=0;if(B&1){B=mb()|0;P1(s);yb(B|0)}else{P1(s);r=y;return b|0}return 0}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=0;a:do if(a>>>0<212){b=21248;c=48;b:while(1){while(1){if(!c)break b;d=(c|0)/2|0;e=b+(d<<2)|0;if((k[e>>2]|0)>>>0>>0){b=e;break}else c=d}b=b+4|0;c=c+-1-d|0}b=k[b>>2]|0}else{if(a>>>0>4294967291){b=vb(8)|0;x=0;sa(444,b|0,48467);h=x;x=0;if(h&1){h=mb()|0;lb(b|0);yb(h|0)}else{k[b>>2]=24952;Wb(b|0,4464,310)}}f=(a>>>0)/210|0;g=f*210|0;a=a-g|0;b=21440;c=48;c:while(1){while(1){if(!c)break c;d=(c|0)/2|0;e=b+(d<<2)|0;if((k[e>>2]|0)>>>0>>0){b=e;break}else c=d}b=b+4|0;c=c+-1-d|0}b=b-21440>>2;a=b;b=(k[21440+(b<<2)>>2]|0)+g|0;while(1){e=5;while(1){if(e>>>0>=47){e=211;h=21;break}c=k[21248+(e<<2)>>2]|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break;else e=e+1|0}d:do if((h|0)==21)while(1){h=0;c=(b>>>0)/(e>>>0)|0;if(c>>>0>>0)break a;if((b|0)==(ia(c,e)|0))break d;c=e+10|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+12|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+16|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+18|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+22|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+28|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+30|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+36|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+40|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+42|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+46|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+52|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+58|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+60|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+66|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+70|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+72|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+78|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+82|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+88|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+96|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+100|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+102|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+106|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+108|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+112|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+120|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+126|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+130|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+136|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+138|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+142|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+148|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+150|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+156|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+162|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+166|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+168|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+172|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+178|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+180|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+186|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+190|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+192|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+196|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+198|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break d;c=e+208|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ia(d,c)|0))break;else{e=e+210|0;h=21}}while(0);g=a+1|0;e=(g|0)==48;b=(e&1)+f|0;g=e?0:g;a=g;f=b;b=(k[21440+(g<<2)>>2]|0)+(b*210|0)|0}}while(0);return b|0}function hf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;p=0;y=r;r=r+240|0;j=y+200|0;w=y+160|0;x=y+120|0;v=y+80|0;m=y+40|0;o=y;a:do if(b|0){l=Ot(b,64,344,0)|0;if(l|0){f=k[l+64>>2]|0;g=k[l+68>>2]|0;if((f|0)!=(g|0)){while(1){if(i[(k[f>>2]|0)+50>>0]|0)break;f=f+4|0;if((f|0)==(g|0))break a}u=k[c>>2]|0;f=u;if((e+1|0)>>>0<(k[c+4>>2]|0)-u>>2>>>0){switch(k[k[d>>2]>>2]|0){case 5:case 7:case 4:case 6:case 3:case 10:case 11:case 8:case 2:break;default:break a}h=hf(a,k[f>>2]|0,c,d,1)|0;g=(k[a+40>>2]|0)+36|0;e=lD(g,76)|0;u=j;s=b+8|0;t=u+40|0;do{k[u>>2]=k[s>>2];u=u+4|0;s=s+4|0}while((u|0)<(t|0));f=k[d>>2]|0;b=k[f>>2]|0;f=k[f+4>>2]|0;k[e+4>>2]=0;u=e+8|0;s=j;t=u+40|0;do{k[u>>2]=k[s>>2];u=u+4|0;s=s+4|0}while((u|0)<(t|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e+52>>2]=0;k[e>>2]=5308;d=e+56|0;k[d>>2]=b;k[d+4>>2]=f;k[e+64>>2]=l;k[e+68>>2]=h;k[e+72>>2]=0;d=N4(g,e)|0;rc[k[(k[d>>2]|0)+80>>2]&1023](d,0);i[d+48>>0]=1;r=y;return d|0}}}}while(0);g=k[c>>2]|0;l=(k[c+4>>2]|0)-g>>2;if(l>>>0<=e>>>0){d=b;r=y;return d|0}q=a+40|0;n=e;b:while(1){f=k[g+(n<<2)>>2]|0;if(!f)p=20;else{h=Ot(f,64,344,0)|0;if(!h)p=20;else{f=k[h+64>>2]|0;e=k[h+68>>2]|0;if((f|0)!=(e|0))do{if(i[(k[f>>2]|0)+50>>0]|0){m=h;break b}f=f+4|0}while((f|0)!=(e|0));f=(k[q>>2]|0)+36|0;g=lD(f,76)|0;u=m;s=b+8|0;t=u+40|0;do{k[u>>2]=k[s>>2];u=u+4|0;s=s+4|0}while((u|0)<(t|0));h=(k[d>>2]|0)+(n<<3)|0;e=k[h>>2]|0;h=k[h+4>>2]|0;j=k[(k[c>>2]|0)+(n<<2)>>2]|0;k[g+4>>2]=0;u=g+8|0;s=m;t=u+40|0;do{k[u>>2]=k[s>>2];u=u+4|0;s=s+4|0}while((u|0)<(t|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;k[g+52>>2]=0;k[g>>2]=5308;u=g+56|0;k[u>>2]=e;k[u+4>>2]=h;k[g+64>>2]=b;k[g+68>>2]=j;k[g+72>>2]=0;b=N4(f,g)|0}}if((p|0)==20){p=0;f=(k[q>>2]|0)+36|0;g=lD(f,76)|0;u=o;s=b+8|0;t=u+40|0;do{k[u>>2]=k[s>>2];u=u+4|0;s=s+4|0}while((u|0)<(t|0));h=(k[d>>2]|0)+(n<<3)|0;e=k[h>>2]|0;h=k[h+4>>2]|0;j=k[(k[c>>2]|0)+(n<<2)>>2]|0;k[g+4>>2]=0;u=g+8|0;s=o;t=u+40|0;do{k[u>>2]=k[s>>2];u=u+4|0;s=s+4|0}while((u|0)<(t|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;k[g+52>>2]=0;k[g>>2]=5308;u=g+56|0;k[u>>2]=e;k[u+4>>2]=h;k[g+64>>2]=b;k[g+68>>2]=j;k[g+72>>2]=0;b=N4(f,g)|0}do if(b|0){f=k[b+64>>2]|0;if((k[(k[d>>2]|0)+(n<<3)>>2]|0)==11)if(i[f+48>>0]|0)if(i[(k[b+68>>2]|0)+48>>0]|0){i[b+48>>0]=1;break}i[f+48>>0]=0;i[(k[b+68>>2]|0)+48>>0]=0}while(0);f=n+1|0;if(f>>>0>=l>>>0){p=29;break}n=f;g=k[c>>2]|0}if((p|0)==29){r=y;return b|0}f=n+1|0;if(f>>>0>>0){f=hf(a,k[g+(f<<2)>>2]|0,c,d,n+2|0)|0;g=(k[q>>2]|0)+36|0;e=lD(g,76)|0;l=b+8|0;u=w;s=l;t=u+40|0;do{k[u>>2]=k[s>>2];u=u+4|0;s=s+4|0}while((u|0)<(t|0));j=(k[d>>2]|0)+(n<<3)|0;h=k[j>>2]|0;j=k[j+4>>2]|0;k[e+4>>2]=0;u=e+8|0;s=w;t=u+40|0;do{k[u>>2]=k[s>>2];u=u+4|0;s=s+4|0}while((u|0)<(t|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e+52>>2]=0;k[e>>2]=5308;u=e+56|0;k[u>>2]=h;k[u+4>>2]=j;k[e+64>>2]=m;k[e+68>>2]=f;k[e+72>>2]=0;j=N4(g,e)|0;e=(k[q>>2]|0)+36|0;h=lD(e,76)|0;u=x;s=l;t=u+40|0;do{k[u>>2]=k[s>>2];u=u+4|0;s=s+4|0}while((u|0)<(t|0));g=(k[d>>2]|0)+(n<<3)|0;f=k[g>>2]|0;g=k[g+4>>2]|0;k[h+4>>2]=0;u=h+8|0;s=x;t=u+40|0;do{k[u>>2]=k[s>>2];u=u+4|0;s=s+4|0}while((u|0)<(t|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;k[h+52>>2]=0;k[h>>2]=5308;d=h+56|0;k[d>>2]=f;k[d+4>>2]=g;k[h+64>>2]=b;k[h+68>>2]=j;k[h+72>>2]=0;d=N4(e,h)|0;i[j+48>>0]=1;i[d+48>>0]=1;r=y;return d|0}g=(k[q>>2]|0)+36|0;e=lD(g,76)|0;u=v;s=b+8|0;t=u+40|0;do{k[u>>2]=k[s>>2];u=u+4|0;s=s+4|0}while((u|0)<(t|0));j=(k[d>>2]|0)+(n<<3)|0;h=k[j>>2]|0;j=k[j+4>>2]|0;f=k[(k[c>>2]|0)+(n<<2)>>2]|0;k[e+4>>2]=0;u=e+8|0;s=v;t=u+40|0;do{k[u>>2]=k[s>>2];u=u+4|0;s=s+4|0}while((u|0)<(t|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e+52>>2]=0;k[e>>2]=5308;x=e+56|0;k[x>>2]=h;k[x+4>>2]=j;k[e+64>>2]=b;k[e+68>>2]=f;k[e+72>>2]=0;b=N4(g,e)|0;if((k[(k[d>>2]|0)+(n<<3)>>2]|0)==11){d=b;r=y;return d|0}i[b+48>>0]=1;d=b;r=y;return d|0}function jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;g=0;y=r;r=r+96|0;w=y+40|0;u=y+80|0;v=y;cs(a,1,0)|0;o=a+76|0;c=LD(k[o>>2]|0)|0;t=a+80|0;if((c|0)==0?1:c>>>0>(k[t>>2]|0)>>>0)c=k[o>>2]|0;f=bO(c)|0;f=f|0?f:c;d=i[29992]|0;a:do if(!(d<<24>>24))c=0;else{c=i[f>>0]|0;e=29992;while(1){if(c<<24>>24==d<<24>>24)break a;e=e+1|0;d=i[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);s=c<<24>>24?f+1|0:0;if((s|0)==0?1:s>>>0>(k[t>>2]|0)>>>0)j=Bd(a)|0;else j=0;s=k[o>>2]|0;q=bO(s)|0;s=Z9(q|0?q:s)|0;if(!((s|0)==0?1:s>>>0>(k[t>>2]|0)>>>0)){w=0;r=y;return w|0}do if(!(_q(a,1,0)|0))if(!(Pq(a,1,0)|0))if(!(Tq(a,1,0)|0)){if(!(Jp(a,1,0)|0)){if(!j)c=0;else{h=0;d=0;c=0;break}r=y;return c|0}if(!(rr(a,1,0)|0)){w=0;r=y;return w|0}c=(k[a+40>>2]|0)+36|0;d=lD(c,76)|0;e=a+152|0;l=w;m=a+108|0;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));Xp(d,w,e);c=N4(c,d)|0;if(!(Xq(a,1,0)|0)){w=0;r=y;return w|0}else{d=4;g=16}}else{d=1;c=0;g=16}else{d=2;c=0;g=16}else{d=3;c=0;g=16}while(0);if((g|0)==16)h=(j|0)==0;q=a+40|0;f=(k[q>>2]|0)+36|0;g=lD(f,84)|0;s=a+108|0;l=w;m=s;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k[g+4>>2]=0;l=g+8|0;m=w;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;e=g+56|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[g+52>>2]=7;k[g>>2]=7696;k[g+68>>2]=d;k[g+72>>2]=j;k[g+76>>2]=0;k[g+80>>2]=0;if(!h)if(i[j+56>>0]|0)i[e>>0]=1;j=N4(f,g)|0;p=a+68|0;k[j+60>>2]=k[p>>2];if((d|0)==4)k[j+80>>2]=c;if($l(k[o>>2]|0)|0){c=LD(k[o>>2]|0)|0;if((c|0)==0?1:c>>>0>(k[t>>2]|0)>>>0)c=k[o>>2]|0;n=bO(c)|0;c=n|0?n:c;c=(i[c>>0]|0)==123?c+1|0:0;c=((c|0)==0?1:c>>>0>(k[t>>2]|0)>>>0)&1}else c=0;i[j+58>>0]=c;c=LD(k[o>>2]|0)|0;if((c|0)==0?1:c>>>0>(k[t>>2]|0)>>>0)c=k[o>>2]|0;f=bO(c)|0;f=f|0?f:c;d=i[29985]|0;b:do if(!(d<<24>>24))c=0;else{c=i[f>>0]|0;e=29985;while(1){if(c<<24>>24==d<<24>>24)break b;e=e+1|0;d=i[e>>0]|0;if(!(d<<24>>24)){c=0;break}}}while(0);o=c<<24>>24?f+1|0:0;if((o|0)==0?1:o>>>0>(k[t>>2]|0)>>>0){c=jf(a,1)|0;k[j+76>>2]=c;if(c|0)if(i[c+56>>0]|0)i[j+56>>0]=1}if(tc[k[(k[j>>2]|0)+96>>2]&511](j)|0){w=j;r=y;return w|0}if((i[a+164>>0]|0)!=0|b){w=j;r=y;return w|0}c=(k[q>>2]|0)+36|0;d=lD(c,96)|0;l=v;m=s;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));lE(u,40459,1);x=0;l=w;m=v;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));Qa(115,d|0,w|0,u|0);v=x;x=0;if(v&1){y=mb()|0;P1(u);yb(y|0)}P1(u);k[d>>2]=12552;g=N4(c,d)|0;k[g+60>>2]=k[p>>2];c=(k[q>>2]|0)+36|0;d=lD(c,104)|0;l=w;m=s;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k[d+4>>2]=0;l=d+8|0;m=w;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;h=d+56|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[d+52>>2]=7;k[d+72>>2]=0;k[d+76>>2]=0;k[d+80>>2]=0;k[d>>2]=6984;k[d+68>>2]=7116;h=d+92|0;k[h>>2]=0;k[d+96>>2]=0;k[d+88>>2]=h;i[d+100>>0]=0;i[d+101>>0]=0;h=N4(c,d)|0;k[h+60>>2]=k[p>>2];c=h+68|0;k[w>>2]=g;d=g;if(g|0){k[c+16>>2]=0;e=c+8|0;f=k[e>>2]|0;if((f|0)==(k[c+12>>2]|0))nw(c+4|0,w);else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[c>>2]>>2]&1023](c,g)}c=j+72|0;if(!(k[c>>2]|0)){k[c>>2]=h;w=j;r=y;return w|0}d=(k[q>>2]|0)+36|0;e=lD(d,84)|0;l=w;m=s;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k[e+4>>2]=0;l=e+8|0;m=w;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;c=e+56|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[e+52>>2]=7;k[e>>2]=7696;k[e+68>>2]=0;k[e+72>>2]=h;k[e+76>>2]=j;k[e+80>>2]=0;if(!h)g=50;else if(!(i[h+56>>0]|0))g=50;else g=51;if((g|0)==50)if(i[j+56>>0]|0)g=51;if((g|0)==51)i[c>>0]=1;w=N4(d,e)|0;k[w+60>>2]=k[p>>2];r=y;return w|0}function kf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;u=0;v=r;r=r+208|0;w=v;b=v+184|0;g=v+172|0;l=v+160|0;q=v+120|0;t=v+108|0;s=v+96|0;lE(b,38257,9);x=0;n=w;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));m=wa(23,b|0,a|0,d|0,w|0,f|0)|0;p=x;x=0;if(p&1){w=mb()|0;P1(b);yb(w|0)}P1(b);lE(g,38267,9);x=0;n=w;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));b=wa(23,g|0,a|0,d|0,w|0,f|0)|0;p=x;x=0;if(p&1){w=mb()|0;P1(g);yb(w|0)}P1(g);if(!(vN(m)|0))if(!(vN(b)|0)){k[w+4>>2]=k[b+4>>2];k[w>>2]=4748;n=w+8|0;o=b+8|0;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[w>>2]=6736;o=b+48|0;p=k[o+4>>2]|0;h=w+48|0;k[h>>2]=k[o>>2];k[h+4>>2]=p;k[w>>2]=4624;h=w+56|0;p=b+56|0;k[h>>2]=k[p>>2];k[h+4>>2]=k[p+4>>2];i[h+8>>0]=i[p+8>>0]|0;h=w+68|0;x=0;sa(435,h|0,b+68|0);p=x;x=0;if(p&1){w=mb()|0;yb(w|0)}x=0;sa(435,w+80|0,b+80|0);p=x;x=0;if(p&1){d=mb()|0;a=M;b=k[h>>2]|0;if(!b){w=d;yb(w|0)}f=w+72|0;g=k[f>>2]|0;if((g|0)!=(b|0)){do{w=g+-12|0;k[f>>2]=w;P1(w);g=k[f>>2]|0}while((g|0)!=(b|0));b=k[h>>2]|0}uha(b);w=d;yb(w|0)}k[w+92>>2]=k[b+92>>2];x=0;sa(436,l|0,m|0);p=x;x=0;do if(p&1)u=42;else{x=0;Qa(73,w|0,l|0,0);p=x;x=0;if(p&1){g=mb()|0;h=M;P1(l);break}P1(l);h=c+36|0;x=0;l=Ka(856,h|0,64)|0;p=x;x=0;if(p&1)u=42;else{n=q;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));x=0;sa(437,t|0,m|0);e=x;x=0;if(e&1)u=42;else{x=0;sa(437,s|0,w|0);e=x;x=0;do if(e&1){g=mb()|0;b=M}else{f=j[t>>1]|0;a=(f&1)==0;g=(f&254)>>>1;d=a?g:k[t+4>>2]|0;e=i[s>>0]|0;b=(e&1)==0;f=(f&65535)>>>8&255;a:do if((d|0)==((b?(e&255)>>>1:k[s+4>>2]|0)|0)){b=b?s+1|0:k[s+8>>2]|0;if(!a){b=(tG(k[t+8>>2]|0,b,d)|0)==0&1;break}if(!d)b=1;else if(f<<24>>24==(i[b>>0]|0)){f=t+1|0;while(1){g=g+-1|0;f=f+1|0;if(!g){b=1;break a}b=b+1|0;if((i[f>>0]|0)!=(i[b>>0]|0)){b=0;break}}}else b=0}else b=0;while(0);k[l+4>>2]=0;n=l+8|0;o=q;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[l+48>>0]=0;i[l+49>>0]=0;i[l+50>>0]=0;k[l>>2]=5684;i[l+56>>0]=b;k[l+60>>2]=0;k[l+52>>2]=1;x=0;d=Ka(857,h|0,l|0)|0;q=x;x=0;if(q&1){g=mb()|0;b=M;P1(s);break}P1(s);P1(t);k[w>>2]=4624;f=w+80|0;b=k[f>>2]|0;if(b|0){a=w+84|0;g=k[a>>2]|0;if((g|0)!=(b|0)){do{u=g+-12|0;k[a>>2]=u;P1(u);g=k[a>>2]|0}while((g|0)!=(b|0));b=k[f>>2]|0}uha(b)}a=w+68|0;b=k[a>>2]|0;if(b|0){f=w+72|0;g=k[f>>2]|0;if((g|0)!=(b|0)){do{w=g+-12|0;k[f>>2]=w;P1(w);g=k[f>>2]|0}while((g|0)!=(b|0));b=k[a>>2]|0}uha(b)}w=d;r=v;return w|0}while(0);P1(t);h=b}}}while(0);if((u|0)==42){g=mb()|0;h=M}k[w>>2]=4624;a=w+80|0;b=k[a>>2]|0;if(b|0){d=w+84|0;f=k[d>>2]|0;if((f|0)!=(b|0)){do{v=f+-12|0;k[d>>2]=v;P1(v);f=k[d>>2]|0}while((f|0)!=(b|0));b=k[a>>2]|0}uha(b)}d=w+68|0;b=k[d>>2]|0;if(!b){w=g;yb(w|0)}a=w+72|0;f=k[a>>2]|0;if((f|0)!=(b|0)){do{w=f+-12|0;k[a>>2]=w;P1(w);f=k[a>>2]|0}while((f|0)!=(b|0));b=k[d>>2]|0}uha(b);w=g;yb(w|0)}b=c+36|0;g=lD(b,64)|0;k[g+4>>2]=0;n=g+8|0;o=e;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;k[g>>2]=5684;i[g+56>>0]=1;k[g+60>>2]=0;k[g+52>>2]=1;w=N4(b,g)|0;r=v;return w|0}function lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;C=0;y=r;r=r+512|0;u=y+400|0;m=y+388|0;n=y;f=y+376|0;B=y+280|0;g=y+240|0;p=y+224|0;o=y+184|0;s=y+96|0;q=y+56|0;t=y+40|0;d=b+16|0;c=k[d>>2]|0;e=b+20|0;b=k[e>>2]|0;if(!b)if(!(k[c+20>>2]|0)){C=0;r=y;return C|0}else{z=0;A=1}else{c3(b);A=(k[c+20>>2]|0)==0;CQ(b);if(A){C=0;r=y;return C|0}b=k[d>>2]|0;c=k[e>>2]|0;if(!c){z=0;A=1;c=b}else{c3(c);z=c;A=0;c=b}}j=k[c+16>>2]|0;j=(k[(k[c+4>>2]|0)+(((j>>>0)/170|0)<<2)>>2]|0)+(((j>>>0)%170|0)*24|0)|0;v=k[a>>2]|0;c=k[v+16>>2]|0;v=k[v+20>>2]|0;w=(v|0)==0;if(!w)c3(v);l=k[c+16>>2]|0;l=(k[(k[c+4>>2]|0)+(((l>>>0)/170|0)<<2)>>2]|0)+(((l>>>0)%170|0)*24|0)|0;h=k[a+4>>2]|0;x=0;Ua(29,f|0,-1,-1,-1);f=x;x=0;if(f&1)C=45;else{x=0;Ua(14,g|0,34212,0,-1);f=x;x=0;if(f&1)C=45;else{x=0;Qa(74,p|0,34219,4);f=x;x=0;if(f&1)C=45;else{e=n;c=g;b=e+40|0;do{k[e>>2]=k[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(b|0));x=0;sa(430,m|0,p|0);g=x;x=0;do if(g&1){c=mb()|0;C=30}else{x=0;e=u;c=n;b=e+40|0;do{k[e>>2]=k[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(b|0));Qa(115,B|0,u|0,m|0);n=x;x=0;if(n&1){c=mb()|0;P1(m);C=30;break}P1(m);k[B>>2]=7144;P1(p);x=0;Ua(14,o|0,34212,0,-1);p=x;x=0;if(p&1)C=31;else{k[u+4>>2]=0;e=u+8|0;c=o;b=e+40|0;do{k[e>>2]=k[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(b|0));i[u+48>>0]=0;i[u+49>>0]=0;i[u+50>>0]=0;k[u>>2]=6840;d=u+56|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[u+52>>2]=7;f=u+68|0;k[f>>2]=6956;c=u+72|0;k[c>>2]=0;g=u+76|0;k[g>>2]=0;k[u+80>>2]=0;x=0;b=ua(186,4)|0;p=x;x=0;if(p&1)C=31;else{k[c>>2]=b;k[u+80>>2]=b+4;k[u>>2]=6984;k[f>>2]=7116;k[u+92>>2]=0;k[u+96>>2]=0;a=u+92|0;k[u+88>>2]=a;i[u+100>>0]=0;i[u+101>>0]=0;k[b>>2]=B;k[g>>2]=b+4;x=0;Ua(14,q|0,34212,0,-1);p=x;x=0;a:do if(p&1)c=mb()|0;else{k[s+4>>2]=0;e=s+8|0;c=q;b=e+40|0;do{k[e>>2]=k[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(b|0));i[s+48>>0]=0;i[s+49>>0]=0;i[s+50>>0]=0;c=s+56|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[s+52>>2]=7;k[s>>2]=7696;k[s+68>>2]=0;k[s+72>>2]=u;k[s+76>>2]=0;k[s+80>>2]=0;if(i[d>>0]|0)i[c>>0]=1;x=0;d=Ka(858,j|0,h|0)|0;q=x;x=0;do if(!(q&1)){x=0;Qa(120,d|0,s|0,0);q=x;x=0;if(!(q&1)){x=0;b=Ka(858,l|0,h|0)|0;q=x;x=0;if(!(q&1)){x=0;Qa(120,b|0,s|0,0);s=x;x=0;if(!(s&1)){c=k[(k[d>>2]|0)+112>>2]|0;x=0;Qa(74,t|0,78097,0);s=x;x=0;if(s&1)break;x=0;e=xa(c|0,d|0,b|0,t|0)|0;s=x;x=0;if(s&1){c=mb()|0;P1(t);break a}P1(t);k[u>>2]=6984;k[f>>2]=7116;ZD(u+88|0,k[a>>2]|0);k[f>>2]=6956;c=k[u+72>>2]|0;b=c;if(c|0){d=k[g>>2]|0;if((d|0)!=(c|0))k[g>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(c)}k[B>>2]=6600;P1(B+80|0);P1(B+68|0);if(!w)CQ(v);if(A){C=e;r=y;return C|0}CQ(z);C=e;r=y;return C|0}}}}while(0);c=mb()|0}while(0);k[u>>2]=6984;k[f>>2]=7116;ZD(u+88|0,k[a>>2]|0);k[f>>2]=6956;b=k[u+72>>2]|0;d=b;if(b){e=k[g>>2]|0;if((e|0)!=(b|0))k[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);uha(b)}}}if((C|0)==31)c=mb()|0;k[B>>2]=6600;P1(B+80|0);P1(B+68|0)}while(0);if((C|0)==30)P1(p)}}}if((C|0)==45)c=mb()|0;if(!w)CQ(v);if(A)yb(c|0);CQ(z);yb(c|0);return 0}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+b|0;c=k[a+4>>2]|0;do if(!(c&1)){e=k[a>>2]|0;if(!(c&3))return;l=a+(0-e)|0;j=e+b|0;h=k[18139]|0;if(l>>>0>>0)bb();if((l|0)==(k[18140]|0)){a=o+4|0;c=k[a>>2]|0;if((c&3|0)!=3){r=l;f=j;break}k[18137]=j;k[a>>2]=c&-2;k[l+4>>2]=j|1;k[l+j>>2]=j;return}d=e>>>3;if(e>>>0<256){a=k[l+8>>2]|0;b=k[l+12>>2]|0;c=72580+(d<<1<<2)|0;if((a|0)!=(c|0)){if(a>>>0>>0)bb();if((k[a+12>>2]|0)!=(l|0))bb()}if((b|0)==(a|0)){k[18135]=k[18135]&~(1<>>0>>0)bb();c=b+8|0;if((k[c>>2]|0)==(l|0))g=c;else bb()}k[a+12>>2]=b;k[g>>2]=a;r=l;f=j;break}e=k[l+24>>2]|0;b=k[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;c=k[b>>2]|0;if(!c){c=k[a>>2]|0;if(!c){i=0;break}}else a=b;while(1){b=c+20|0;d=k[b>>2]|0;if(d|0){c=d;a=b;continue}b=c+16|0;d=k[b>>2]|0;if(!d)break;else{c=d;a=b}}if(a>>>0>>0)bb();else{k[a>>2]=0;i=c;break}}else{d=k[l+8>>2]|0;if(d>>>0>>0)bb();c=d+12|0;if((k[c>>2]|0)!=(l|0))bb();a=b+8|0;if((k[a>>2]|0)==(l|0)){k[c>>2]=b;k[a>>2]=d;i=b;break}else bb()}while(0);if(!e){r=l;f=j}else{c=k[l+28>>2]|0;a=72844+(c<<2)|0;if((l|0)==(k[a>>2]|0)){k[a>>2]=i;if(!i){k[18136]=k[18136]&~(1<>>0<(k[18139]|0)>>>0)bb();c=e+16|0;if((k[c>>2]|0)==(l|0))k[c>>2]=i;else k[e+20>>2]=i;if(!i){r=l;f=j;break}}b=k[18139]|0;if(i>>>0>>0)bb();k[i+24>>2]=e;c=l+16|0;a=k[c>>2]|0;do if(a|0)if(a>>>0>>0)bb();else{k[i+16>>2]=a;k[a+24>>2]=i;break}while(0);c=k[c+4>>2]|0;if(!c){r=l;f=j}else if(c>>>0<(k[18139]|0)>>>0)bb();else{k[i+20>>2]=c;k[c+24>>2]=i;r=l;f=j;break}}}else{r=a;f=b}while(0);g=k[18139]|0;if(o>>>0>>0)bb();c=o+4|0;a=k[c>>2]|0;if(!(a&2)){if((o|0)==(k[18141]|0)){q=(k[18138]|0)+f|0;k[18138]=q;k[18141]=r;k[r+4>>2]=q|1;if((r|0)!=(k[18140]|0))return;k[18140]=0;k[18137]=0;return}if((o|0)==(k[18140]|0)){q=(k[18137]|0)+f|0;k[18137]=q;k[18140]=r;k[r+4>>2]=q|1;k[r+q>>2]=q;return}f=(a&-8)+f|0;d=a>>>3;do if(a>>>0<256){a=k[o+8>>2]|0;b=k[o+12>>2]|0;c=72580+(d<<1<<2)|0;if((a|0)!=(c|0)){if(a>>>0>>0)bb();if((k[a+12>>2]|0)!=(o|0))bb()}if((b|0)==(a|0)){k[18135]=k[18135]&~(1<>>0>>0)bb();c=b+8|0;if((k[c>>2]|0)==(o|0))m=c;else bb()}k[a+12>>2]=b;k[m>>2]=a}else{e=k[o+24>>2]|0;b=k[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;c=k[b>>2]|0;if(!c){c=k[a>>2]|0;if(!c){n=0;break}}else a=b;while(1){b=c+20|0;d=k[b>>2]|0;if(d|0){c=d;a=b;continue}b=c+16|0;d=k[b>>2]|0;if(!d)break;else{c=d;a=b}}if(a>>>0>>0)bb();else{k[a>>2]=0;n=c;break}}else{d=k[o+8>>2]|0;if(d>>>0>>0)bb();c=d+12|0;if((k[c>>2]|0)!=(o|0))bb();a=b+8|0;if((k[a>>2]|0)==(o|0)){k[c>>2]=b;k[a>>2]=d;n=b;break}else bb()}while(0);if(e|0){c=k[o+28>>2]|0;a=72844+(c<<2)|0;if((o|0)==(k[a>>2]|0)){k[a>>2]=n;if(!n){k[18136]=k[18136]&~(1<>>0<(k[18139]|0)>>>0)bb();c=e+16|0;if((k[c>>2]|0)==(o|0))k[c>>2]=n;else k[e+20>>2]=n;if(!n)break}b=k[18139]|0;if(n>>>0>>0)bb();k[n+24>>2]=e;c=o+16|0;a=k[c>>2]|0;do if(a|0)if(a>>>0>>0)bb();else{k[n+16>>2]=a;k[a+24>>2]=n;break}while(0);c=k[c+4>>2]|0;if(c|0)if(c>>>0<(k[18139]|0)>>>0)bb();else{k[n+20>>2]=c;k[c+24>>2]=n;break}}}while(0);k[r+4>>2]=f|1;k[r+f>>2]=f;if((r|0)==(k[18140]|0)){k[18137]=f;return}}else{k[c>>2]=a&-2;k[r+4>>2]=f|1;k[r+f>>2]=f}c=f>>>3;if(f>>>0<256){b=72580+(c<<1<<2)|0;a=k[18135]|0;c=1<>2]|0;if(a>>>0<(k[18139]|0)>>>0)bb();else{p=c;q=a}}k[p>>2]=r;k[q+12>>2]=r;k[r+8>>2]=q;k[r+12>>2]=b;return}c=f>>>8;if(!c)b=0;else if(f>>>0>16777215)b=31;else{p=(c+1048320|0)>>>16&8;q=c<>>16&4;q=q<>>16&2;b=14-(o|p|b)+(q<>>15)|0;b=f>>>(b+7|0)&1|b<<1}d=72844+(b<<2)|0;k[r+28>>2]=b;k[r+20>>2]=0;k[r+16>>2]=0;c=k[18136]|0;a=1<>2]=r;k[r+24>>2]=d;k[r+12>>2]=r;k[r+8>>2]=r;return}e=f<<((b|0)==31?0:25-(b>>>1)|0);c=k[d>>2]|0;while(1){if((k[c+4>>2]&-8|0)==(f|0)){b=c;d=127;break}a=c+16+(e>>>31<<2)|0;b=k[a>>2]|0;if(!b){d=124;break}else{e=e<<1;c=b}}if((d|0)==124){if(a>>>0<(k[18139]|0)>>>0)bb();k[a>>2]=r;k[r+24>>2]=c;k[r+12>>2]=r;k[r+8>>2]=r;return}else if((d|0)==127){c=b+8|0;a=k[c>>2]|0;q=k[18139]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))bb();k[a+12>>2]=r;k[c>>2]=r;k[r+8>>2]=a;k[r+12>>2]=b;k[r+24>>2]=0;return}}function nf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;u=0;s=r;r=r+128|0;l=s;j=s+112|0;m=s+100|0;n=s+88|0;o=s+80|0;p=s+64|0;q=s+52|0;t=s+40|0;_G(j,68968);h=l;g=h+40|0;do{k[h>>2]=k[b>>2];h=h+4|0;b=b+4|0}while((h|0)<(g|0));x=0;sa(487,a|0,j|0);w=x;x=0;if(w&1)b=mb()|0;else{k[a>>2]=8160;w=a+8|0;x=0;sa(430,w|0,j|0);v=x;x=0;do if(v&1)b=mb()|0;else{v=a+20|0;x=0;Qa(74,v|0,31243,5);h=x;x=0;if(h&1){b=mb()|0;P1(w);break}h=a+32|0;b=l;g=h+40|0;do{k[h>>2]=k[b>>2];h=h+4|0;b=b+4|0}while((h|0)<(g|0));k[a+72>>2]=0;P1(j);k[a>>2]=10624;j=a+76|0;x=0;sa(430,j|0,c|0);h=x;x=0;if(h&1)b=mb()|0;else{h=a+88|0;x=0;sa(430,h|0,d|0);g=x;x=0;if(g&1)b=mb()|0;else{g=a+100|0;x=0;sa(430,g|0,e|0);b=x;x=0;if(b&1)b=mb()|0;else{k[a+112>>2]=f;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;b=i[d>>0]|0;y=(b&1)==0;b=y?(b&255)>>>1:k[d+4>>2]|0;x=0;Ua(10,m|0,(y?d+1|0:k[d+8>>2]|0)|0,b|0,b+3|0);d=x;x=0;a:do if(d&1)u=12;else{x=0;xa(46,m|0,31354,3)|0;y=x;x=0;if(y&1)u=12;else{if(!(i[w>>0]&1)){i[w+1>>0]=0;i[w>>0]=0}else{i[k[a+16>>2]>>0]=0;k[a+12>>2]=0}x=0;sa(443,w|0,0);y=x;x=0;if(y&1){y=Eb(0)|0;Nba(y)}k[w>>2]=k[m>>2];k[w+4>>2]=k[m+4>>2];k[w+8>>2]=k[m+8>>2];k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;P1(m);y=k[(k[f>>2]|0)+20>>2]|0;k[o>>2]=0;k[o+4>>2]=5;x=0;k[l>>2]=k[o>>2];k[l+4>>2]=k[o+4>>2];Qa(y|0,n|0,f|0,l|0);y=x;x=0;if(y&1){b=mb()|0;u=36;break}y=i[n>>0]|0;f=(y&1)==0;x=0;xa(46,w|0,(f?n+1|0:k[n+8>>2]|0)|0,(f?(y&255)>>>1:k[n+4>>2]|0)|0)|0;y=x;x=0;if(y&1){b=mb()|0;P1(n);break}P1(n);k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;b=i[e>>0]|0;b=(b&1)==0?(b&255)>>>1:k[e+4>>2]|0;x=0;Ua(10,p|0,31358,11,b+11|0);y=x;x=0;do if(!(y&1)){x=0;xa(46,p|0,((i[e>>0]&1)==0?e+1|0:k[e+8>>2]|0)|0,b|0)|0;y=x;x=0;if(y&1)break;y=i[p>>0]|0;e=(y&1)==0;x=0;xa(46,w|0,(e?p+1|0:k[p+8>>2]|0)|0,(e?(y&255)>>>1:k[p+4>>2]|0)|0)|0;y=x;x=0;if(y&1){b=mb()|0;P1(p);break a}P1(p);k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;b=i[c>>0]|0;b=(b&1)==0?(b&255)>>>1:k[c+4>>2]|0;x=0;Ua(10,t|0,31370,6,b+6|0);y=x;x=0;do if(!(y&1)){x=0;xa(46,t|0,((i[c>>0]&1)==0?c+1|0:k[c+8>>2]|0)|0,b|0)|0;y=x;x=0;if(y&1)break;x=0;b=Ka(866,t|0,44759)|0;y=x;x=0;do if(y&1)b=mb()|0;else{k[q>>2]=k[b>>2];k[q+4>>2]=k[b+4>>2];k[q+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;y=i[q>>0]|0;c=(y&1)==0;x=0;xa(46,w|0,(c?q+1|0:k[q+8>>2]|0)|0,(c?(y&255)>>>1:k[q+4>>2]|0)|0)|0;y=x;x=0;if(y&1){b=mb()|0;P1(q);break}else{P1(q);P1(t);r=s;return}}while(0);P1(t);break a}while(0);b=mb()|0;P1(t);u=36;break a}while(0);b=mb()|0;P1(p);u=36}}while(0);if((u|0)==12){b=mb()|0;P1(m);u=36}P1(g)}P1(h)}P1(j)}k[a>>2]=8160;P1(v);P1(w);f4(a);y=b;yb(y|0)}while(0);f4(a)}P1(j);y=b;yb(y|0)}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+176|0;m=s+160|0;j=s+16|0;f=s;g=k[b+68>>2]|0;q=k[b+64>>2]|0;o=a+4|0;if(!(co(b,Xaa(o)|0)|0)){c=k[q+68>>2]|0;f=(k[q+72>>2]|0)-c>>2;if(!f){r=s;return}e=q+68|0;d=0;while(1){c=k[c+(d<<2)>>2]|0;if(c|0)if(Ot(c,568,552,0)|0)rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);d=d+1|0;if((d|0)==(f|0))break;c=k[e>>2]|0}r=s;return}if(!(i[q+87>>0]|0))g=0;else{if(!(Xaa(o)|0)){l=a+76|0;k[l>>2]=(k[l>>2]|0)+(k[b+56>>2]|0)}a:do if(i[(k[a+72>>2]|0)+16>>0]|0){l=j+64|0;c=j+8|0;k[c>>2]=8236;h=j+12|0;k[j>>2]=8440;k[l>>2]=8460;k[j+4>>2]=0;x=0;sa(452,j+64|0,h|0);e=x;x=0;if(e&1){s=mb()|0;P9(l);yb(s|0)}k[j+136>>2]=0;k[j+140>>2]=-1;k[j>>2]=8216;k[l>>2]=8256;k[c>>2]=8236;x=0;ra(324,h|0);e=x;x=0;do if(e&1)c=mb()|0;else{k[h>>2]=8272;d=j+44|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[j+60>>2]=24;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;x=0;sa(453,h|0,m|0);e=x;x=0;if(e&1){c=mb()|0;P1(m);P1(d);D2(h);break}P1(m);x=0;ra(342,o|0);e=x;x=0;do if(!(e&1)){e=j+8|0;x=0;c=xa(49,e|0,39783,8)|0;t=x;x=0;if(!(t&1)){x=0;c=Ka(860,c|0,(k[b+8>>2]|0)+1|0)|0;t=x;x=0;if(!(t&1)){x=0;c=xa(49,c|0,39792,2)|0;t=x;x=0;if(!(t&1)){u=k[b+20>>2]|0;t=OD(u)|0;x=0;c=xa(49,c|0,u|0,t|0)|0;t=x;x=0;if(!(t&1)){x=0;xa(49,c|0,43498,3)|0;u=x;x=0;if(!(u&1)){x=0;sa(454,f|0,h|0);u=x;x=0;if(!(u&1)){x=0;sa(484,o|0,f|0);u=x;x=0;if(u&1){u=mb()|0;P1(f);t=e;k[j>>2]=8216;k[l>>2]=8256;k[t>>2]=8236;k[h>>2]=8272;P1(d);D2(h);P9(l);yb(u|0)}else{P1(f);x=0;ra(343,o|0);u=x;x=0;if(u&1)break;k[j>>2]=8216;k[l>>2]=8256;k[e>>2]=8236;k[h>>2]=8272;P1(d);D2(h);P9(l);break a}}}}}}}}while(0);u=mb()|0;t=j+8|0;k[j>>2]=8216;k[l>>2]=8256;k[t>>2]=8236;k[h>>2]=8272;P1(d);D2(h);P9(l);yb(u|0)}while(0);u=c;P9(l);yb(u|0)}while(0);rc[k[(k[g>>2]|0)+28>>2]&1023](g,a);Yo(o,q);c=k[q+68>>2]|0;g=(k[q+72>>2]|0)-c>>2;b:do if(g|0){h=q+68|0;j=m+4|0;c=k[c>>2]|0;if(!c)w3();else{n=c;p=0}do{c:do if((k[(k[(k[n>>2]|0)+-4>>2]|0)+4>>2]|0)==33080){c=k[n+68>>2]|0;switch(k[c+52>>2]|0){case 4:break;case 5:{f=c+60|0;d=k[f>>2]|0;e=(k[c+64>>2]|0)-d>>2;if(!e)c=1;else{c=k[d>>2]|0;c=tc[k[(k[c>>2]|0)+68>>2]&511](c)|0;if((e|0)!=1){d=1;do{u=k[(k[f>>2]|0)+(d<<2)>>2]|0;c=c&(tc[k[(k[u>>2]|0)+68>>2]&511](u)|0);d=d+1|0}while((d|0)!=(e|0))}}c=c^1;break c}default:{c=1;break c}}_G(m,c+60|0);if(!c)c=1;else{c=Ot(c,432,448,0)|0;if(!c)c=1;else if(!(i[c+57>>0]|0)){c=i[m>>0]|0;c=(((c&1)==0?(c&255)>>>1:k[j>>2]|0)|0)!=0}else c=1}P1(m)}else c=1;while(0);if(!(tc[k[(k[n>>2]|0)+60>>2]&511](n)|0|c^1))rc[k[(k[n>>2]|0)+28>>2]&1023](n,a);p=p+1|0;if(p>>>0>=g>>>0)break b;n=k[(k[h>>2]|0)+(p<<2)>>2]|0}while((n|0)!=0);w3()}while(0);if(!(Xaa(o)|0)){u=a+76|0;k[u>>2]=(k[u>>2]|0)-(k[b+56>>2]|0)}$n(o,q);g=1}if(!(i[q+86>>0]|0)){r=s;return}if(g){u=a+76|0;k[u>>2]=(k[u>>2]|0)+1}c=k[q+68>>2]|0;f=(k[q+72>>2]|0)-c>>2;d:do if(f|0){e=q+68|0;d=0;while(1){c=k[c+(d<<2)>>2]|0;if(tc[k[(k[c>>2]|0)+60>>2]&511](c)|0)rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);d=d+1|0;if((d|0)==(f|0))break d;c=k[e>>2]|0}}while(0);if(!g){r=s;return}u=a+76|0;k[u>>2]=(k[u>>2]|0)+-1;r=s;return}function pf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;u=0;v=r;r=r+448|0;t=v+400|0;b=v+388|0;g=v+376|0;h=v+364|0;y=v+264|0;s=v+160|0;q=v+56|0;o=v+16|0;p=v;lE(b,38097,6);x=0;l=t;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));l=wa(27,b|0,a|0,d|0,t|0,f|0)|0;w=x;x=0;if(w&1){y=mb()|0;P1(b);yb(y|0)}P1(b);f=l+52|0;b=k[f>>2]|0;switch(b|0){case 8:{b=c+36|0;f=lD(b,76)|0;lE(g,38939,4);x=0;l=t;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));qa(5,f|0,t|0,g|0,0,0);y=x;x=0;if(!(y&1)){x=0;b=Ka(857,b|0,f|0)|0;y=x;x=0;if(!(y&1)){P1(g);y=b;r=v;return y|0}}y=mb()|0;P1(g);yb(y|0)}case 1:{u=8;break}default:{}}do if((u|0)==8){if(tc[k[(k[l>>2]|0)+60>>2]&511](l)|0){b=k[f>>2]|0;break}b=c+36|0;f=lD(b,76)|0;lE(h,51271,5);x=0;l=t;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));qa(5,f|0,t|0,h|0,0,0);y=x;x=0;if(!(y&1)){x=0;b=Ka(857,b|0,f|0)|0;y=x;x=0;if(!(y&1)){P1(h);y=b;r=v;return y|0}}y=mb()|0;P1(h);yb(y|0)}while(0);if((b|0)==4){y=l;r=v;return y|0}g=c+16|0;m=k[g>>2]|0;h=k[m>>2]|0;k[m>>2]=5;kA(y,k[g>>2]|0);k[q>>2]=4732;m=q+4|0;w=y+4|0;x=0;sa(430,m|0,w|0);n=x;x=0;do if(n&1){b=mb()|0;u=42}else{x=0;sa(431,q+16|0,y+16|0);n=x;x=0;if(n&1){b=mb()|0;P1(m);u=42;break}n=q+68|0;d=y+68|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[n+12>>2]=k[d+12>>2];k[n+16>>2]=k[d+16>>2];k[n+20>>2]=k[d+20>>2];k[n+24>>2]=k[d+24>>2];j[n+28>>1]=j[d+28>>1]|0;x=0;sa(432,s|0,q|0);n=x;x=0;if(n&1){b=mb()|0;k[q>>2]=4732;P1(q+52|0);f=k[q+28>>2]|0;a=f;if(f|0){d=q+32|0;g=k[d>>2]|0;if((g|0)!=(f|0))k[d>>2]=g+(~(((g+-24-a|0)>>>0)/24|0)*24|0);uha(f)}d=k[q+16>>2]|0;g=d;if(d|0){f=q+20|0;a=k[f>>2]|0;if((a|0)!=(d|0))k[f>>2]=a+(~((a+-4-g|0)>>>2)<<2);uha(d)}P1(m);break}k[q>>2]=4732;P1(q+52|0);b=k[q+28>>2]|0;f=b;if(b|0){a=q+32|0;d=k[a>>2]|0;if((d|0)!=(b|0))k[a>>2]=d+(~(((d+-24-f|0)>>>0)/24|0)*24|0);uha(b)}a=k[q+16>>2]|0;d=a;if(a|0){b=q+20|0;f=k[b>>2]|0;if((f|0)!=(a|0))k[b>>2]=f+(~((f+-4-d|0)>>>2)<<2);uha(a)}P1(m);a=s+4|0;i[s+99>>0]=0;x=0;sa(k[(k[l>>2]|0)+28>>2]|0,l|0,s|0);q=x;x=0;if(q&1)u=52;else{k[k[g>>2]>>2]=h;b=c+36|0;x=0;f=Ka(856,b|0,76)|0;q=x;x=0;if(q&1)u=52;else{l=o;m=e;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));x=0;sa(433,p|0,a|0);e=x;x=0;if(e&1)u=52;else{x=0;l=t;m=o;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));qa(5,f|0,t|0,p|0,0,0);e=x;x=0;if(!(e&1)){x=0;g=Ka(857,b|0,f|0)|0;e=x;x=0;if(!(e&1)){P1(p);Ez(s);k[y>>2]=4732;P1(y+52|0);d=k[y+28>>2]|0;b=d;if(d|0){f=y+32|0;a=k[f>>2]|0;if((a|0)!=(d|0))k[f>>2]=a+(~(((a+-24-b|0)>>>0)/24|0)*24|0);uha(d)}a=k[y+16>>2]|0;d=a;if(a|0){b=y+20|0;f=k[b>>2]|0;if((f|0)!=(a|0))k[b>>2]=f+(~((f+-4-d|0)>>>2)<<2);uha(a)}P1(w);y=g;r=v;return y|0}}b=mb()|0;P1(p)}}}if((u|0)==52)b=mb()|0;Ez(s)}while(0);k[y>>2]=4732;P1(y+52|0);f=k[y+28>>2]|0;a=f;if(f|0){d=y+32|0;g=k[d>>2]|0;if((g|0)!=(f|0))k[d>>2]=g+(~(((g+-24-a|0)>>>0)/24|0)*24|0);uha(f)}d=k[y+16>>2]|0;g=d;if(d|0){f=y+20|0;a=k[f>>2]|0;if((a|0)!=(d|0))k[f>>2]=a+(~((a+-4-g|0)>>>2)<<2);uha(d)}P1(w);y=b;yb(y|0);return 0}function qf(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=0;h=k[a>>2]|0;j=h;b=h+((((k[b>>2]|0)-j|0)/48|0)*48|0)|0;p=k[c>>2]|0;f=k[d>>2]|0;r=f-p|0;l=(r|0)/48|0;o=f;if((r|0)<=0){r=b;return r|0}q=a+8|0;g=k[q>>2]|0;r=a+4|0;m=k[r>>2]|0;d=m;if((l|0)<=((g-d|0)/48|0|0)){h=d-b|0;d=(h|0)/48|0;if((l|0)>(d|0)){g=p+(d*48|0)|0;f=g;if((g|0)==(o|0))d=m;else{d=m;do{Zv(d,g);d=(k[r>>2]|0)+48|0;k[r>>2]=d;g=g+48|0}while((g|0)!=(o|0))}if((h|0)<=0){r=b;return r|0}}else d=m;g=b+(l*48|0)|0;l=b+(((d-g|0)/48|0)*48|0)|0;if(l>>>0>>0){h=d;j=l;do{k[h>>2]=k[j>>2];k[h+4>>2]=k[j+4>>2];k[h+8>>2]=k[j+8>>2];k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;q=h+12|0;a=j+12|0;k[q>>2]=k[a>>2];k[q+4>>2]=k[a+4>>2];k[q+8>>2]=k[a+8>>2];k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=h+24|0;q=j+24|0;k[a>>2]=k[q>>2];k[a+4>>2]=k[q+4>>2];k[a+8>>2]=k[q+8>>2];k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;q=h+36|0;a=j+36|0;k[q>>2]=k[a>>2];k[q+4>>2]=k[a+4>>2];k[q+8>>2]=k[a+8>>2];k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;j=j+48|0;h=(k[r>>2]|0)+48|0;k[r>>2]=h}while(j>>>0>>0)}do if((d|0)==(g|0))e=p;else{while(1){g=d;d=d+-48|0;j=l;l=l+-48|0;Jq(d,l)|0;h=g+-12|0;j=j+-12|0;if(!(i[h>>0]&1)){i[h+1>>0]=0;i[h>>0]=0}else{i[k[g+-4>>2]>>0]=0;k[g+-8>>2]=0}x=0;sa(443,h|0,0);r=x;x=0;if(r&1){n=13;break}k[h>>2]=k[j>>2];k[h+4>>2]=k[j+4>>2];k[h+8>>2]=k[j+8>>2];k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;if((l|0)==(b|0)){n=16;break}}if((n|0)==13){r=Eb(0)|0;Nba(r)}else if((n|0)==16){e=k[c>>2]|0;break}}while(0);if((e|0)==(f|0)){r=b;return r|0}else d=b;while(1){lH(d,e)|0;lH(d+12|0,e+12|0)|0;lH(d+24|0,e+24|0)|0;lH(d+36|0,e+36|0)|0;e=e+48|0;if((e|0)==(f|0))break;else d=d+48|0}return b|0}d=((d-j|0)/48|0)+l|0;if(d>>>0>89478485){fH(a);f=k[a>>2]|0;h=f;e=k[q>>2]|0}else{e=g;f=j}e=(e-f|0)/48|0;if(e>>>0<44739242){e=e<<1;d=e>>>0>>0?d:e;e=(b-f|0)/48|0;if(!d){g=0;j=0}else n=24}else{d=89478485;e=(b-f|0)/48|0;n=24}if((n|0)==24){g=d;j=GG(d*48|0)|0}m=j+(e*48|0)|0;f=m;l=j+(g*48|0)|0;do if((p|0)==(o|0))e=f;else{g=m;d=p;e=f;while(1){x=0;sa(475,g|0,d|0);p=x;x=0;if(p&1){b=e;break}g=e+48|0;e=g;d=d+48|0;if((d|0)==(o|0)){n=28;break}}if((n|0)==28){h=k[a>>2]|0;break}e=mb()|0;if((b|0)!=(m|0))do{P1(b+-12|0);P1(b+-24|0);P1(b+-36|0);b=b+-48|0;P1(b)}while((b|0)!=(m|0));if(!j)yb(e|0);uha(j);yb(e|0)}while(0);if((h|0)==(b|0))d=m;else{g=b;d=m;do{p=d+-48|0;o=g;g=g+-48|0;k[p>>2]=k[g>>2];k[p+4>>2]=k[g+4>>2];k[p+8>>2]=k[g+8>>2];k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;p=d+-36|0;n=o+-36|0;k[p>>2]=k[n>>2];k[p+4>>2]=k[n+4>>2];k[p+8>>2]=k[n+8>>2];k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;n=d+-24|0;p=o+-24|0;k[n>>2]=k[p>>2];k[n+4>>2]=k[p+4>>2];k[n+8>>2]=k[p+8>>2];k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;p=d+-12|0;d=o+-12|0;k[p>>2]=k[d>>2];k[p+4>>2]=k[d+4>>2];k[p+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;d=f+-48|0;f=d}while((g|0)!=(h|0))}g=k[r>>2]|0;if((g|0)==(b|0))f=d;else{d=e;do{k[d>>2]=k[b>>2];k[d+4>>2]=k[b+4>>2];k[d+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;o=d+12|0;p=b+12|0;k[o>>2]=k[p>>2];k[o+4>>2]=k[p+4>>2];k[o+8>>2]=k[p+8>>2];k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;p=d+24|0;o=b+24|0;k[p>>2]=k[o>>2];k[p+4>>2]=k[o+4>>2];k[p+8>>2]=k[o+8>>2];k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;o=d+36|0;p=b+36|0;k[o>>2]=k[p>>2];k[o+4>>2]=k[p+4>>2];k[o+8>>2]=k[p+8>>2];k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;b=b+48|0;d=e+48|0;e=d}while((b|0)!=(g|0));b=k[r>>2]|0}d=k[a>>2]|0;k[a>>2]=f;k[r>>2]=e;k[q>>2]=l;if((b|0)!=(d|0))do{P1(b+-12|0);P1(b+-24|0);P1(b+-36|0);b=b+-48|0;P1(b)}while((b|0)!=(d|0));if(!d){r=m;return r|0}uha(d);r=m;return r|0}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;v=0;w=r;r=r+160|0;s=w+120|0;j=w+108|0;l=w+96|0;t=w+84|0;q=w+72|0;n=w+60|0;o=w+48|0;y=w+36|0;z=w+24|0;A=w+12|0;u=w;c=k[a+28>>2]|0;if((c|0)==(k[a+24>>2]|0))p=0;else p=k[c+-4>>2]|0;c=(k[a+4>>2]|0)+36|0;a=lD(c,112)|0;k[a+4>>2]=k[b+4>>2];k[a>>2]=4748;m=b+8|0;d=a+8|0;e=m;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));k[a>>2]=9548;g=a+48|0;h=b+48|0;k[g>>2]=k[h>>2];k[g+4>>2]=k[h+4>>2];k[g+8>>2]=k[h+8>>2];i[g+12>>0]=i[h+12>>0]|0;k[a+64>>2]=k[b+64>>2];k[a>>2]=8640;g=b+68|0;_G(a+68|0,g);h=a+80|0;e=b+80|0;k[h>>2]=k[e>>2];k[h+4>>2]=k[e+4>>2];k[h+8>>2]=k[e+8>>2];k[h+12>>2]=k[e+12>>2];k[h+16>>2]=k[e+16>>2];k[h+20>>2]=k[e+20>>2];k[h+24>>2]=k[e+24>>2];k[h+28>>2]=k[e+28>>2];h=N4(c,a)|0;e=Hca(p)|0;_G(l,g);f=b+88|0;x=0;c=Ka(866,l|0,((k[f>>2]|0)==0?38289:38285)|0)|0;b=x;x=0;do if(b&1)c=mb()|0;else{k[j>>2]=k[c>>2];k[j+4>>2]=k[c+4>>2];k[j+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;d=bu(e,s,j)|0;c=k[d>>2]|0;if(!c){x=0;c=ua(186,32)|0;b=x;x=0;if(b&1){c=mb()|0;P1(j);break}a=c+16|0;k[a>>2]=k[j>>2];k[a+4>>2]=k[j+4>>2];k[a+8>>2]=k[j+8>>2];k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[c+28>>2]=0;a=k[s>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=a;k[d>>2]=c;a=k[k[e>>2]>>2]|0;if(!a)a=c;else{k[e>>2]=a;a=k[d>>2]|0}hl(k[e+4>>2]|0,a);b=e+8|0;k[b>>2]=(k[b>>2]|0)+1}k[c+28>>2]=h;P1(j);P1(l);if((k[f>>2]|0)!=1){A=h+84|0;k[A>>2]=p;r=w;return 0}_G(t,g);x=0;c=ua(214,((i[t>>0]&1)==0?t+1|0:k[t+8>>2]|0)|0)|0;l=x;x=0;a:do if(l&1)v=29;else{b:do if(!c){x=0;sa(430,q|0,g|0);l=x;x=0;if(l&1){v=29;break a}if(!(KH(q,33336)|0)){P1(q);P1(t);break}x=0;sa(430,n|0,g|0);l=x;x=0;do if(l&1)c=mb()|0;else{if(!(KH(n,33344)|0)){P1(n);P1(q);P1(t);break b}x=0;sa(430,o|0,g|0);l=x;x=0;if(l&1){c=mb()|0;P1(n);break}v=(KH(o,41545)|0)==0;P1(o);P1(n);P1(q);P1(t);if(v)break b;A=h+84|0;k[A>>2]=p;r=w;return 0}while(0);P1(q);break a}else P1(t);while(0);_G(A,g);x=0;c=xa(50,A|0,0,33355)|0;v=x;x=0;if(v&1)c=mb()|0;else{k[z>>2]=k[c>>2];k[z+4>>2]=k[c+4>>2];k[z+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=Ka(866,z|0,33375)|0;v=x;x=0;if(v&1)c=mb()|0;else{k[y>>2]=k[c>>2];k[y+4>>2]=k[c+4>>2];k[y+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;Qa(74,u|0,33391,75);v=x;x=0;do if(v&1)c=mb()|0;else{x=0;d=s;e=m;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));Qa(116,y|0,u|0,s|0);v=x;x=0;if(v&1){c=mb()|0;P1(u);break}P1(u);P1(y);P1(z);P1(A);A=h+84|0;k[A>>2]=p;r=w;return 0}while(0);P1(y)}P1(z)}P1(A);A=c;yb(A|0)}while(0);if((v|0)==29)c=mb()|0;P1(t);A=c;yb(A|0)}while(0);P1(l);A=c;yb(A|0);return 0}function sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;s=0;y=r;r=r+144|0;p=y+136|0;d=y+124|0;f=y+96|0;m=y+120|0;w=y+108|0;v=y+84|0;e=y+36|0;u=y+72|0;g=y+24|0;t=y+60|0;h=y+12|0;q=y+48|0;j=y;o=a+8|0;l=k[(k[o>>2]|0)+16>>2]|0;n=k[l>>2]|0;k[l>>2]=0;l=k[b+64>>2]|0;l=Jc[k[(k[l>>2]|0)+40>>2]&1023](l,a)|0;a=IN(k[a+4>>2]|0)|0;lE(d,32140,9);x=0;c=Ka(881,a|0,d|0)|0;z=x;x=0;if(z&1){z=mb()|0;P1(d);yb(z|0)}P1(d);if(c){lE(f,32140,9);x=0;a=Ka(867,a|0,f|0)|0;z=x;x=0;if(z&1){z=mb()|0;P1(f);yb(z|0)}c=k[a>>2]|0;P1(f);c=k[c+96>>2]|0;d=Rda(c)|0;k[m>>2]=16480;x=0;e=Ka(882,1,0)|0;z=x;x=0;if(!(z&1)){x=0;a=Ka(k[(k[l>>2]|0)+52>>2]|0,l|0,m|0)|0;z=x;x=0;if(!(z&1)){x=0;Qa(105,e|0,0,a|0);z=x;x=0;if(!(z&1)){x=0;a=xa(d|0,e|0,c|0,k[(k[o>>2]|0)+284>>2]|0)|0;z=x;x=0;if(!(z&1)){k[k[(k[o>>2]|0)+16>>2]>>2]=n;x=0;ra(333,e|0);z=x;x=0;if(!(z&1)){x=0;ra(333,a|0);z=x;x=0;if(!(z&1)){r=y;return 0}}}}}}z=mb()|0;yb(z|0)}_G(w,(k[o>>2]|0)+4|0);x=0;sa(k[(k[l>>2]|0)+16>>2]|0,e|0,l|0);z=x;x=0;do if(z&1)a=mb()|0;else{x=0;Ua(11,v|0,e|0,0,0);z=x;x=0;if(z&1){a=mb()|0;P1(e);break}P1(e);a=b+20|0;m=k[a>>2]|0;z=OD(m)|0;x=0;Qa(74,g|0,m|0,z|0);z=x;x=0;do if(z&1)a=mb()|0;else{x=0;Ua(16,u|0,g|0,w|0,w|0);z=x;x=0;if(z&1){a=mb()|0;P1(g);break}P1(g);m=k[a>>2]|0;z=OD(m)|0;x=0;Qa(74,h|0,m|0,z|0);z=x;x=0;do if(z&1)a=mb()|0;else{x=0;Ua(19,t|0,h|0,w|0,w|0);z=x;x=0;if(z&1){a=mb()|0;P1(h);break}P1(h);m=k[a>>2]|0;z=OD(m)|0;x=0;Qa(74,j|0,m|0,z|0);z=x;x=0;do if(z&1)a=mb()|0;else{x=0;Ua(22,q|0,t|0,u|0,j|0);z=x;x=0;if(z&1){a=mb()|0;P1(j);break}P1(j);k[k[(k[o>>2]|0)+16>>2]>>2]=n;a=i[q>>0]|0;z=(a&1)==0;x=0;a=xa(49,73208,(z?q+1|0:k[q+8>>2]|0)|0,(z?(a&255)>>>1:k[q+4>>2]|0)|0)|0;z=x;x=0;a:do if(z&1)s=42;else{x=0;a=xa(49,a|0,43523,1)|0;z=x;x=0;if(z&1)s=42;else{x=0;a=Ka(860,a|0,(k[b+8>>2]|0)+1|0)|0;z=x;x=0;if(z&1)s=42;else{x=0;a=xa(49,a|0,32150,8)|0;z=x;x=0;if(z&1)s=42;else{z=i[v>>0]|0;o=(z&1)==0;x=0;xa(49,a|0,(o?v+1|0:k[v+8>>2]|0)|0,(o?(z&255)>>>1:k[v+4>>2]|0)|0)|0;z=x;x=0;if(z&1)s=42;else{x=0;a=ua(189,73208+(k[(k[18302]|0)+-12>>2]|0)|0)|0;z=x;x=0;if(z&1){s=42;break}k[p>>2]=a;x=0;a=Ka(865,p|0,74172)|0;z=x;x=0;do if(!(z&1)){x=0;a=Ka(k[(k[a>>2]|0)+28>>2]|0,a|0,10)|0;z=x;x=0;if(z&1)break;J5(p);x=0;Ka(876,73208,a|0)|0;z=x;x=0;if(z&1){s=42;break a}x=0;ua(200,73208)|0;z=x;x=0;if(z&1){s=42;break a}P1(q);P1(t);P1(u);P1(v);P1(w);r=y;return 0}while(0);a=mb()|0;J5(p)}}}}}while(0);if((s|0)==42)a=mb()|0;P1(q)}while(0);P1(t)}while(0);P1(u)}while(0);P1(v)}while(0);P1(w);z=a;yb(z|0);return 0}function tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;A=0;y=r;r=r+80|0;c=y+48|0;z=y+60|0;d=y+36|0;e=y+24|0;u=y+12|0;v=y;w=a+4|0;if((Xaa(w)|0)==5)if((k[b+60>>2]|0)==(k[b+64>>2]|0)){lE(c,38853,2);x=0;sa(484,w|0,c|0);A=x;x=0;if(A&1){A=mb()|0;P1(c);yb(A|0)}else{P1(c);r=y;return}}t=b+76|0;lE(z,(k[t>>2]|0)==1?41822:44344,1);x=0;c=ua(227,w|0)|0;s=x;x=0;a:do if(s&1)A=11;else{if((c|0)==3)A=13;else if(!(KH(z,44344)|0)){x=0;Ka(866,z|0,41822)|0;s=x;x=0;if(s&1){A=11;break}}else A=13;if((A|0)==13)if(i[a+98>>0]|0)if(KH(z,41822)|0){x=0;Ka(866,z|0,41822)|0;s=x;x=0;if(s&1){A=11;break}}m=b+60|0;p=b+64|0;b:do if((k[m>>2]|0)!=(k[p>>2]|0)){q=a+100|0;o=j[q>>1]|0;n=o&255;s=a+101|0;o=(o&65535)>>>8&255;x=0;c=ua(227,w|0)|0;l=x;x=0;if(l&1){A=11;break a}do if((c|0)==5){l=k[b+60>>2]|0;c=l;if(((k[p>>2]|0)-l|0)==4)if(!(i[b+81>>0]|0)){c=k[c>>2]|0;if(c|0){if(Ot(c,64,256,0)|0){A=29;break}if(Ot(c,64,256,0)|0){A=29;break}if(Ot(c,64,160,0)|0){A=29;break}}x=0;Qa(74,d|0,38856,1);l=x;x=0;if(l&1){A=11;break a}x=0;sa(484,w|0,d|0);l=x;x=0;if(l&1){c=mb()|0;P1(d);break a}else{P1(d);A=37;break}}else A=29;else A=29}else A=29;while(0);c:do if((A|0)==29)if(!(i[a+99>>0]|0)){c=k[t>>2]|0;switch(c|0){case 2:break;case 1:{if(!(i[q>>0]|0)){A=39;break c}break}case 0:{if(!(i[s>>0]|0)){A=37;break c}break}default:{A=38;break c}}x=0;Qa(74,e|0,38856,1);l=x;x=0;if(l&1){A=11;break a}x=0;sa(484,w|0,e|0);l=x;x=0;if(l&1){c=mb()|0;P1(e);break a}else{P1(e);A=37;break}}else A=37;while(0);if((A|0)==37){c=k[t>>2]|0;A=38}d:do if((A|0)==38){switch(c|0){case 1:{A=39;break d}case 0:break;default:break d}i[s>>0]=1}while(0);if((A|0)==39)i[q>>0]=1;x=0;g=ua(k[(k[b>>2]|0)+100>>2]|0,b|0)|0;l=x;x=0;if(l&1){A=11;break a}e:do if(g|0){h=z+8|0;f=z+1|0;l=0;c=0;while(1){if((k[t>>2]|0)==2)i[((i[z>>0]&1)==0?f:k[h>>2]|0)>>0]=l&1|0?58:44;e=k[(k[m>>2]|0)+(l<<2)>>2]|0;x=0;d=ua(227,w|0)|0;B=x;x=0;if(B&1)break;if((d|0)==5)A=52;else{x=0;d=ua(k[(k[e>>2]|0)+68>>2]|0,e|0)|0;B=x;x=0;if(B&1)break;if(d){if(Ot(e,64,432,0)|0)A=52}else A=52}if((A|0)==52){A=0;if(c){x=0;sa(484,w|0,z|0);B=x;x=0;if(B&1)break;if(KH(z,41822)|0){x=0;ra(341,w|0);B=x;x=0;if(B&1)break}}x=0;sa(k[(k[e>>2]|0)+28>>2]|0,e|0,a|0);B=x;x=0;if(B&1)break;else c=1}l=l+1|0;if(l>>>0>=g>>>0)break e}c=mb()|0;A=12;break a}while(0);i[s>>0]=o;i[q>>0]=n;x=0;c=ua(227,w|0)|0;B=x;x=0;if(B&1){A=11;break a}do if((c|0)==5){B=k[b+60>>2]|0;c=B;if(((k[p>>2]|0)-B|0)==4)if(!(i[b+81>>0]|0)){c=k[c>>2]|0;if(c|0){if(Ot(c,64,256,0)|0)break;if(Ot(c,64,256,0)|0)break;if(Ot(c,64,160,0)|0)break}x=0;Qa(74,u|0,38858,2);B=x;x=0;if(B&1){A=11;break a}x=0;sa(484,w|0,u|0);B=x;x=0;if(B&1){c=mb()|0;P1(u);break a}else{P1(u);break b}}}while(0);if(!(i[a+99>>0]|0)){switch(k[t>>2]|0){case 2:break;case 1:{if(!(i[q>>0]|0))break b;break}case 0:{if(!(i[s>>0]|0))break b;break}default:break b}x=0;Qa(74,v|0,38861,1);B=x;x=0;if(B&1){A=11;break a}x=0;sa(484,w|0,v|0);B=x;x=0;if(B&1){c=mb()|0;P1(v);break a}else{P1(v);break}}}while(0);P1(z);r=y;return}while(0);if((A|0)==11){c=mb()|0;A=12}P1(z);B=c;yb(B|0)}function uf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=0;b=i[29996]|0;a:do if(!(b<<24>>24))g=5;else{d=i[a>>0]|0;c=29996;while(1){if(d<<24>>24==b<<24>>24)break;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24)){g=5;break a}}b=a+1|0;if(!(d<<24>>24))f=b;else{g=b;return g|0}}while(0);if((g|0)==5)f=a+1|0;b=i[29992]|0;b:do if(b<<24>>24){d=i[a>>0]|0;c=29992;while(1){if(d<<24>>24==b<<24>>24)break;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break b}if(d<<24>>24){g=f;return g|0}}while(0);b=i[a>>0]|0;if(b<<24>>24==40){d=XH(f)|0;if(d|0){b=d+1|0;if((i[d>>0]|0)==38)if((i[b>>0]|0)==45){do b=b+1|0;while((i[b>>0]|0)==45);b=DJ(b)|0;if(!b)g=19;else{b=XH(b)|0;if(!b)g=19}}else g=19;else g=19;if((g|0)==19){b=pi(d)|0;if(!b)b=0;else while(1){c=pi(b)|0;if(!c)break;else b=c}}b=b|0?b:d;if(b|0){b=XH(b)|0;if(b|0)if((i[b>>0]|0)==41){g=b+1|0;return g|0}}}e=i[a>>0]|0}else e=b;if(e<<24>>24==61){g=f;return g|0}b=i[29950]|0;if(!(b<<24>>24)){g=a;return g|0}c:do if(e<<24>>24==b<<24>>24){b=a;d=29950;while(1){b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24))break;if((i[b>>0]|0)!=c<<24>>24)break c}return b|0}while(0);b=i[29953]|0;d:do if(!(b<<24>>24))g=46;else{e:do if(e<<24>>24==b<<24>>24){b=a;d=29953;while(1){b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24))break;if((i[b>>0]|0)!=c<<24>>24)break e}return b|0}while(0);b=i[29956]|0;if(!(b<<24>>24))g=46;else{f:do if(e<<24>>24==b<<24>>24){b=a;d=29956;while(1){b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24))break;if((i[b>>0]|0)!=c<<24>>24)break f}return b|0}while(0);b=i[29959]|0;if(!(b<<24>>24))g=46;else{g:do if(e<<24>>24==b<<24>>24){b=a;d=29959;while(1){b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24))break;if((i[b>>0]|0)!=c<<24>>24)break g}return b|0}while(0);b=i[29962]|0;if(!(b<<24>>24))g=46;else if(e<<24>>24==b<<24>>24){b=a;d=29962;while(1){b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24))break;if((i[b>>0]|0)!=c<<24>>24)break d}return b|0}}}}while(0);if((g|0)==46)if(a|0){g=a;return g|0}g=Pi(a)|0;return g|0}function vf(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;B=r;r=r+112|0;n=B+108|0;s=B+96|0;o=B+92|0;t=B+80|0;y=B+68|0;A=B+56|0;p=B+52|0;u=B+40|0;q=B+36|0;v=B+24|0;w=B+12|0;z=B;if(a){m=aR(c,75892)|0;a=k[m>>2]|0;if(b){rc[k[a+44>>2]&1023](n,m);z=k[n>>2]|0;i[d>>0]=z;i[d+1>>0]=z>>8;i[d+2>>0]=z>>16;i[d+3>>0]=z>>24;rc[k[(k[m>>2]|0)+32>>2]&1023](s,m);if(!(i[j>>0]&1)){i[j+1>>0]=0;i[j>>0]=0}else{i[k[j+8>>2]>>0]=0;k[j+4>>2]=0}x=0;sa(443,j|0,0);z=x;x=0;if(z&1){z=Eb(0)|0;Nba(z)}k[j>>2]=k[s>>2];k[j+4>>2]=k[s+4>>2];k[j+8>>2]=k[s+8>>2];a=0;while(1){if((a|0)==3)break;k[s+(a<<2)>>2]=0;a=a+1|0}P1(s);c=m}else{rc[k[a+40>>2]&1023](o,m);z=k[o>>2]|0;i[d>>0]=z;i[d+1>>0]=z>>8;i[d+2>>0]=z>>16;i[d+3>>0]=z>>24;rc[k[(k[m>>2]|0)+28>>2]&1023](t,m);if(!(i[j>>0]&1)){i[j+1>>0]=0;i[j>>0]=0}else{i[k[j+8>>2]>>0]=0;k[j+4>>2]=0}x=0;sa(443,j|0,0);z=x;x=0;if(z&1){z=Eb(0)|0;Nba(z)}k[j>>2]=k[t>>2];k[j+4>>2]=k[t+4>>2];k[j+8>>2]=k[t+8>>2];a=0;while(1){if((a|0)==3)break;k[t+(a<<2)>>2]=0;a=a+1|0}P1(t);c=m}z=tc[k[(k[m>>2]|0)+12>>2]&511](m)|0;i[e>>0]=z;e=tc[k[(k[m>>2]|0)+16>>2]&511](m)|0;i[f>>0]=e;rc[k[(k[c>>2]|0)+20>>2]&1023](y,m);if(!(i[g>>0]&1)){i[g+1>>0]=0;i[g>>0]=0}else{i[k[g+8>>2]>>0]=0;k[g+4>>2]=0}x=0;sa(443,g|0,0);f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}k[g>>2]=k[y>>2];k[g+4>>2]=k[y+4>>2];k[g+8>>2]=k[y+8>>2];a=0;while(1){if((a|0)==3)break;k[y+(a<<2)>>2]=0;a=a+1|0}P1(y);rc[k[(k[c>>2]|0)+24>>2]&1023](A,m);if(!(i[h>>0]&1)){i[h+1>>0]=0;i[h>>0]=0}else{i[k[h+8>>2]>>0]=0;k[h+4>>2]=0}x=0;sa(443,h|0,0);f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}k[h>>2]=k[A>>2];k[h+4>>2]=k[A+4>>2];k[h+8>>2]=k[A+8>>2];a=0;while(1){if((a|0)==3)break;k[A+(a<<2)>>2]=0;a=a+1|0}P1(A);a=tc[k[(k[m>>2]|0)+36>>2]&511](m)|0}else{m=aR(c,75884)|0;a=k[m>>2]|0;if(b){rc[k[a+44>>2]&1023](p,m);A=k[p>>2]|0;i[d>>0]=A;i[d+1>>0]=A>>8;i[d+2>>0]=A>>16;i[d+3>>0]=A>>24;rc[k[(k[m>>2]|0)+32>>2]&1023](u,m);if(!(i[j>>0]&1)){i[j+1>>0]=0;i[j>>0]=0}else{i[k[j+8>>2]>>0]=0;k[j+4>>2]=0}x=0;sa(443,j|0,0);A=x;x=0;if(A&1){A=Eb(0)|0;Nba(A)}k[j>>2]=k[u>>2];k[j+4>>2]=k[u+4>>2];k[j+8>>2]=k[u+8>>2];a=0;while(1){if((a|0)==3)break;k[u+(a<<2)>>2]=0;a=a+1|0}P1(u);c=m}else{rc[k[a+40>>2]&1023](q,m);A=k[q>>2]|0;i[d>>0]=A;i[d+1>>0]=A>>8;i[d+2>>0]=A>>16;i[d+3>>0]=A>>24;rc[k[(k[m>>2]|0)+28>>2]&1023](v,m);if(!(i[j>>0]&1)){i[j+1>>0]=0;i[j>>0]=0}else{i[k[j+8>>2]>>0]=0;k[j+4>>2]=0}x=0;sa(443,j|0,0);A=x;x=0;if(A&1){A=Eb(0)|0;Nba(A)}k[j>>2]=k[v>>2];k[j+4>>2]=k[v+4>>2];k[j+8>>2]=k[v+8>>2];a=0;while(1){if((a|0)==3)break;k[v+(a<<2)>>2]=0;a=a+1|0}P1(v);c=m}A=tc[k[(k[m>>2]|0)+12>>2]&511](m)|0;i[e>>0]=A;e=tc[k[(k[m>>2]|0)+16>>2]&511](m)|0;i[f>>0]=e;rc[k[(k[c>>2]|0)+20>>2]&1023](w,m);if(!(i[g>>0]&1)){i[g+1>>0]=0;i[g>>0]=0}else{i[k[g+8>>2]>>0]=0;k[g+4>>2]=0}x=0;sa(443,g|0,0);f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}k[g>>2]=k[w>>2];k[g+4>>2]=k[w+4>>2];k[g+8>>2]=k[w+8>>2];a=0;while(1){if((a|0)==3)break;k[w+(a<<2)>>2]=0;a=a+1|0}P1(w);rc[k[(k[c>>2]|0)+24>>2]&1023](z,m);if(!(i[h>>0]&1)){i[h+1>>0]=0;i[h>>0]=0}else{i[k[h+8>>2]>>0]=0;k[h+4>>2]=0}x=0;sa(443,h|0,0);f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}k[h>>2]=k[z>>2];k[h+4>>2]=k[z+4>>2];k[h+8>>2]=k[z+8>>2];a=0;while(1){if((a|0)==3)break;k[z+(a<<2)>>2]=0;a=a+1|0}P1(z);a=tc[k[(k[m>>2]|0)+36>>2]&511](m)|0}k[l>>2]=a;r=B;return}function wf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+144|0;u=v;o=v+116|0;n=v+104|0;p=v+40|0;b=v+128|0;d=v+92|0;f=v+80|0;if(Or(a,1,0)|0){b=de(a)|0;c=(k[a+40>>2]|0)+36|0;d=lD(c,68)|0;q=u;s=a+108|0;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));k[d+4>>2]=0;q=d+8|0;s=u;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=11660;k[d+56>>2]=b;k[d+60>>2]=0;i[d+64>>0]=1;u=N4(c,d)|0;r=v;return u|0}g=a+152|0;k[u>>2]=k[g>>2];k[u+4>>2]=k[g+4>>2];k[u+8>>2]=k[g+8>>2];h=a+76|0;c=k[h>>2]|0;j=a+84|0;k[o>>2]=k[j>>2];k[o+4>>2]=k[j+4>>2];k[o+8>>2]=k[j+8>>2];l=a+96|0;k[n>>2]=k[l>>2];k[n+4>>2]=k[l+4>>2];k[n+8>>2]=k[l+8>>2];m=a+108|0;q=p;s=m;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));Bt(a,1,0)|0;do if(!(ar(a,1,0)|0)){q=m;s=p;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));k[g>>2]=k[u>>2];k[g+4>>2]=k[u+4>>2];k[g+8>>2]=k[u+8>>2];k[h>>2]=c;k[l>>2]=k[n>>2];k[l+4>>2]=k[n+4>>2];k[l+8>>2]=k[n+8>>2];k[j>>2]=k[o>>2];k[j+4>>2]=k[o+4>>2];k[j+8>>2]=k[o+8>>2];lE(b,41683,42);t=a+108|0;x=0;k[u>>2]=k[t>>2];k[u+4>>2]=k[t+4>>2];k[u+8>>2]=k[t+8>>2];Qa(135,a|0,b|0,u|0);t=x;x=0;if(!(t&1)){P1(b);break}v=mb()|0;P1(b);yb(v|0)}while(0);b=LD(k[h>>2]|0)|0;c=a+80|0;if((b|0)==0?1:b>>>0>(k[c>>2]|0)>>>0)b=k[h>>2]|0;t=bO(b)|0;t=t|0?t:b;t=(i[t>>0]|0)==41?t+1|0:0;do if(!((t|0)==0?1:t>>>0>(k[c>>2]|0)>>>0)){lE(d,41726,48);t=a+108|0;x=0;k[u>>2]=k[t>>2];k[u+4>>2]=k[t+4>>2];k[u+8>>2]=k[t+8>>2];Qa(135,a|0,d|0,u|0);t=x;x=0;if(!(t&1)){P1(d);break}v=mb()|0;P1(d);yb(v|0)}while(0);e=Ke(a)|0;k[u>>2]=k[g>>2];k[u+4>>2]=k[g+4>>2];k[u+8>>2]=k[g+8>>2];b=k[h>>2]|0;k[o>>2]=k[j>>2];k[o+4>>2]=k[j+4>>2];k[o+8>>2]=k[j+8>>2];k[n>>2]=k[l>>2];k[n+4>>2]=k[l+4>>2];k[n+8>>2]=k[l+8>>2];q=p;s=m;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));Bt(a,1,0)|0;if(!(Wq(a,1,0)|0)){q=m;s=p;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));k[g>>2]=k[u>>2];k[g+4>>2]=k[u+4>>2];k[g+8>>2]=k[u+8>>2];k[h>>2]=b;k[l>>2]=k[n>>2];k[l+4>>2]=k[n+4>>2];k[l+8>>2]=k[n+8>>2];k[j>>2]=k[o>>2];k[j+4>>2]=k[o+4>>2];k[j+8>>2]=k[o+8>>2];d=0}else{d=Ef(a)|0;b=k[h>>2]|0}k[u>>2]=k[g>>2];k[u+4>>2]=k[g+4>>2];k[u+8>>2]=k[g+8>>2];k[o>>2]=k[j>>2];k[o+4>>2]=k[j+4>>2];k[o+8>>2]=k[j+8>>2];k[n>>2]=k[l>>2];k[n+4>>2]=k[l+4>>2];k[n+8>>2]=k[l+8>>2];q=p;s=m;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));Bt(a,1,0)|0;do if(!($q(a,1,0)|0)){q=m;s=p;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));k[g>>2]=k[u>>2];k[g+4>>2]=k[u+4>>2];k[g+8>>2]=k[u+8>>2];k[h>>2]=b;k[l>>2]=k[n>>2];k[l+4>>2]=k[n+4>>2];k[l+8>>2]=k[n+8>>2];k[j>>2]=k[o>>2];k[j+4>>2]=k[o+4>>2];k[j+8>>2]=k[o+8>>2];lE(f,41775,46);t=a+108|0;x=0;k[u>>2]=k[t>>2];k[u+4>>2]=k[t+4>>2];k[u+8>>2]=k[t+8>>2];Qa(135,a|0,f|0,u|0);t=x;x=0;if(!(t&1)){P1(f);break}v=mb()|0;P1(f);yb(v|0)}while(0);b=(k[a+40>>2]|0)+36|0;c=lD(b,68)|0;q=u;s=e+8|0;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));k[c+4>>2]=0;q=c+8|0;s=u;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;k[c+52>>2]=0;k[c>>2]=11660;k[c+56>>2]=e;k[c+60>>2]=d;i[c+64>>0]=0;u=N4(b,c)|0;r=v;return u|0}function xf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=r;r=r+80|0;D=E+16|0;z=E+68|0;l=E+8|0;A=E+56|0;v=E;B=b+72|0;C=b+76|0;w=(k[C>>2]|0)-(k[B>>2]|0)>>2;a:do if(w|0){m=c+16|0;n=b+72|0;o=z+4|0;p=A+4|0;q=A+8|0;s=A+1|0;t=z+1|0;u=z+8|0;y=0;b:while(1){h=k[(k[a>>2]|0)+20>>2]|0;e=k[m>>2]|0;d=k[e+4>>2]|0;g=l;k[g>>2]=k[e>>2];k[g+4>>2]=d;k[D>>2]=k[l>>2];k[D+4>>2]=k[l+4>>2];Pc[h&255](z,a,D);h=k[(k[n>>2]|0)+(y<<2)>>2]|0;g=k[(k[h>>2]|0)+20>>2]|0;d=k[m>>2]|0;e=k[d+4>>2]|0;f=v;k[f>>2]=k[d>>2];k[f+4>>2]=e;x=0;k[D>>2]=k[v>>2];k[D+4>>2]=k[v+4>>2];Qa(g|0,A|0,h|0,D|0);h=x;x=0;if(h&1){l=11;break}h=j[z>>1]|0;f=(h&1)==0;e=(h&254)>>>1;g=f?e:k[o>>2]|0;F=i[A>>0]|0;d=(F&1)==0;h=(h&65535)>>>8&255;do if((g|0)==((d?(F&255)>>>1:k[p>>2]|0)|0)){d=d?s:k[q>>2]|0;if(!f){F=(tG(k[u>>2]|0,d,g)|0)==0;P1(A);P1(z);if(F){d=b;l=59;break b}else break}if(!g){l=57;break b}if(h<<24>>24==(i[d>>0]|0)){f=t;do{e=e+-1|0;f=f+1|0;if(!e){l=58;break b}d=d+1|0}while((i[f>>0]|0)==(i[d>>0]|0))}P1(A);P1(z)}else{P1(A);P1(z)}while(0);y=y+1|0;if(y>>>0>=w>>>0)break a}if((l|0)==11){F=mb()|0;P1(z);yb(F|0)}else if((l|0)==57){P1(A);P1(z);F=b;r=E;return F|0}else if((l|0)==58){P1(A);P1(z);F=b;r=E;return F|0}else if((l|0)==59){r=E;return d|0}}while(0);if(!a)w3();F=k[(k[(k[a>>2]|0)+-4>>2]|0)+4>>2]|0;f=k[B>>2]|0;t=(k[C>>2]|0)-f>>2;d=(t|0)!=0;c:do if((F|0)==26052|(F|0)==26077)if(d){g=b+72|0;h=t+-1|0;e=0;while(1){d=k[f+(e<<2)>>2]|0;if(!d)l=23;else if(!(Ot(d,96,128,0)|0))l=23;else l=25;if((l|0)==23){l=0;d=k[f+(e<<2)>>2]|0;if(d|0)if(Ot(d,96,144,0)|0)l=25}if((l|0)==25){F=k[f+(h<<2)>>2]|0;if(tc[k[(k[F>>2]|0)+116>>2]&511](F)|0){l=36;break c}}e=e+1|0;if(e>>>0>=t>>>0){l=32;break c}f=k[g>>2]|0}}else l=32;else if(d){e=0;while(1){d=k[f+(e<<2)>>2]|0;if(d|0){if(Ot(d,96,128,0)|0){l=36;break c}if(Ot(d,96,144,0)|0){l=36;break c}}e=e+1|0;if(e>>>0>=t>>>0){l=32;break}}}else l=32;while(0);if((l|0)==32){e=c+36|0;d=lD(e,104)|0;zk(d,b);d=N4(e,d)|0;e=d+68|0;k[D>>2]=a;k[e+16>>2]=0;f=e+8|0;g=k[f>>2]|0;if((g|0)==(k[e+12>>2]|0))nw(e+4|0,D);else{k[g>>2]=a;k[f>>2]=(k[f>>2]|0)+4}rc[k[k[e>>2]>>2]&1023](e,a)}else if((l|0)==36){d=c+36|0;f=lD(d,104)|0;g=D;h=b+8|0;l=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));k[f+4>>2]=0;g=f+8|0;h=D;l=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;s=f+56|0;k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;k[f+52>>2]=7;k[f+72>>2]=0;k[f+76>>2]=0;k[f+80>>2]=0;k[f>>2]=6984;k[f+68>>2]=7116;s=f+92|0;k[s>>2]=0;k[f+96>>2]=0;k[f+88>>2]=s;i[f+100>>0]=0;i[f+101>>0]=0;d=N4(d,f)|0;s=d+68|0;if(!e){o=s+8|0;p=s+12|0;n=s+16|0}else{f=b+72|0;q=s+16|0;g=s+8|0;p=s+12|0;h=s+4|0;o=0;do{l=k[(k[f>>2]|0)+(o<<2)>>2]|0;k[D>>2]=l;m=l;if(l|0){k[q>>2]=0;n=k[g>>2]|0;if((n|0)==(k[p>>2]|0))nw(h,D);else{k[n>>2]=m;k[g>>2]=(k[g>>2]|0)+4}rc[k[k[s>>2]>>2]&1023](s,l)}o=o+1|0}while((o|0)!=(e|0));o=g;n=q}k[D>>2]=a;k[n>>2]=0;f=k[o>>2]|0;if((f|0)==(k[p>>2]|0))nw(s+4|0,D);else{k[f>>2]=a;k[o>>2]=(k[o>>2]|0)+4}rc[k[k[s>>2]>>2]&1023](s,a);if(e>>>0>>0){l=b+72|0;m=s+4|0;do{f=k[(k[l>>2]|0)+(e<<2)>>2]|0;k[D>>2]=f;g=f;if(f|0){k[n>>2]=0;h=k[o>>2]|0;if((h|0)==(k[p>>2]|0))nw(m,D);else{k[h>>2]=g;k[o>>2]=(k[o>>2]|0)+4}rc[k[k[s>>2]>>2]&1023](s,f)}e=e+1|0}while((e|0)!=(t|0))}}F=d;r=E;return F|0} -function ED(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;k[a+12>>2]=0;k[a+16>>2]=d;do if(!b)d=0;else{e=d+112|0;if(b>>>0<29&(i[e>>0]|0)==0){i[e>>0]=1;break}else{d=GG(b<<2)|0;break}}while(0);k[a>>2]=d;c=d+(c<<2)|0;k[a+8>>2]=c;k[a+4>>2]=c;k[a+12>>2]=d+(b<<2);return}function FD(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+-56|0;k[e+56>>2]=5288;a=k[e+80>>2]|0;b=a;if(a|0){c=e+84|0;d=k[c>>2]|0;if((d|0)!=(a|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(a)}a=k[e+68>>2]|0;if(a|0)do{d=a;a=k[a>>2]|0;uha(d)}while((a|0)!=0);e=e+60|0;a=k[e>>2]|0;k[e>>2]=0;if(!a)return;uha(a);return}function GD(a){a=a|0;var b=0,c=0;a=a+-68|0;k[a>>2]=6984;c=a+68|0;k[c>>2]=7116;ZD(a+88|0,k[a+92>>2]|0);k[c>>2]=6956;c=k[a+72>>2]|0;if(!c)return;b=a+76|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);uha(c);return}function HD(a){a=a|0;k[a>>2]=10624;P1(a+100|0);P1(a+88|0);P1(a+76|0);k[a>>2]=8160;P1(a+20|0);P1(a+8|0);f4(a);return}function ID(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=24336;c=a+8|0;d=a+12|0;e=0;while(1){b=k[c>>2]|0;if(e>>>0>=(k[d>>2]|0)-b>>2>>>0)break;b=k[b+(e<<2)>>2]|0;if(b|0)sK(b)|0;e=e+1|0}P1(a+144|0);LF(c);return}function JD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a+4|0;c=k[f>>2]|0;e=k[a>>2]|0;d=c-e>>2;a:do if(d>>>0>>0)zv(a,b-d|0);else if(d>>>0>b>>>0){d=e+(b<<2)|0;while(1){if((c|0)==(d|0))break a;a=c+-4|0;k[f>>2]=a;c=a}}while(0);return}function KD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[b+68>>2]|0;e=(k[b+72>>2]|0)-c>>2;if(!e)return;d=b+68|0;c=k[c>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);if((e|0)==1)return;else b=1;do{c=k[(k[d>>2]|0)+(b<<2)>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);b=b+1|0}while((b|0)!=(e|0));return}function LD(a){a=a|0;var b=0;b=mI(a)|0;if(!b){b=Hq(a)|0;if(!b){a=0;return a|0}}while(1){a=mI(b)|0;if(a|0){b=a;continue}a=Hq(b)|0;if(!a)break;else b=a}return b|0}function MD(a){a=a|0;var b=0;a=k[a+68>>2]|0;if(!a){b=0;return b|0}a=Ot(a,376,344,0)|0;if(!a){b=0;return b|0}b=a+60|0;if((k[a+68>>2]|0)==(k[a+64>>2]|0)){b=0;return b|0}a=Jc[k[(k[b>>2]|0)+12>>2]&1023](b,0)|0;a=k[a>>2]|0;if(!a){b=0;return b|0}b=(Ot(a,64,736,0)|0)!=0;return b|0}function ND(a,b){a=a|0;b=b|0;if(!b)return;else{ND(a,k[b>>2]|0);ND(a,k[b+4>>2]|0);a=b+16|0;qc[k[k[a>>2]>>2]&511](a);uha(b);return}}function OD(a){a=a|0;var b=0,c=0,d=0;c=0;d=a;a:do if(!(d&3))c=4;else{b=a;a=d;while(1){if(!(i[b>>0]|0))break a;b=b+1|0;a=b;if(!(a&3)){a=b;c=4;break}}}while(0);if((c|0)==4){while(1){b=k[a>>2]|0;if(!((b&-2139062144^-2139062144)&b+-16843009))a=a+4|0;else break}if((b&255)<<24>>24)do a=a+1|0;while((i[a>>0]|0)!=0)}return a-d|0}function PD(a){a=a|0;var b=0,c=0,d=0;if(!a){d=0;return d|0}b=i[31136]|0;a:do if(b<<24>>24){d=31136;while(1){c=i[a>>0]|0;if(c<<24>>24!=b<<24>>24)if(((c<<24>>24)+32|0)!=(b<<24>>24|0)){a=0;break}a=a+1|0;d=d+1|0;b=i[d>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);d=DJ(a)|0;return d|0}function QD(a){a=a|0;var b=0,c=0,d=0;if(!a){d=0;return d|0}b=i[42451]|0;a:do if(b<<24>>24){d=42451;while(1){c=i[a>>0]|0;if(c<<24>>24!=b<<24>>24)if(((c<<24>>24)+32|0)!=(b<<24>>24|0)){a=0;break}a=a+1|0;d=d+1|0;b=i[d>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);d=DJ(a)|0;return d|0}function RD(a){a=a|0;var b=0,c=0,d=0;if(!a){d=0;return d|0}b=i[42444]|0;a:do if(b<<24>>24){d=42444;while(1){c=i[a>>0]|0;if(c<<24>>24!=b<<24>>24)if(((c<<24>>24)+32|0)!=(b<<24>>24|0)){a=0;break}a=a+1|0;d=d+1|0;b=i[d>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);d=DJ(a)|0;return d|0}function SD(a){a=a|0;var b=0,c=0,d=0;if(!a){d=0;return d|0}b=i[42448]|0;a:do if(b<<24>>24){d=42448;while(1){c=i[a>>0]|0;if(c<<24>>24!=b<<24>>24)if(((c<<24>>24)+32|0)!=(b<<24>>24|0)){a=0;break}a=a+1|0;d=d+1|0;b=i[d>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);d=DJ(a)|0;return d|0}function TD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=0;while(1){if((d|0)==(e|0)){g=7;break}if((b|0)==(c|0)){b=-1;break}a=k[b>>2]|0;f=k[d>>2]|0;if((a|0)<(f|0)){b=-1;break}if((f|0)<(a|0)){b=1;break}d=d+4|0;b=b+4|0}if((g|0)==7)b=(b|0)!=(c|0)&1;return b|0}function UD(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;var i=0;a=r;r=r+16|0;i=a+4|0;b=a;k[i>>2]=c;k[b>>2]=f;g=cl(c,d,i,f,g,b,1114111,0)|0;k[e>>2]=k[i>>2];k[h>>2]=k[b>>2];r=a;return g|0}function VD(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;var i=0;a=r;r=r+16|0;i=a+4|0;b=a;k[i>>2]=c;k[b>>2]=f;g=yk(c,d,i,f,g,b,1114111,0)|0;k[e>>2]=k[i>>2];k[h>>2]=k[b>>2];r=a;return g|0}function WD(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;var i=0;a=r;r=r+16|0;i=a+4|0;b=a;k[i>>2]=c;k[b>>2]=f;g=Jn(c,d,i,f,g,b,1114111,0)|0;k[e>>2]=k[i>>2];k[h>>2]=k[b>>2];r=a;return g|0}function XD(a){a=a|0;var b=0;b=iv(a)|0;if(b|0)return b|0;if((i[a>>0]|0)==45)do a=a+1|0;while((i[a>>0]|0)==45);a=Kt(a)|0;if(!a){b=0;return b|0}b=Jt(a)|0;return b|0}function YD(a){a=a|0;var b=0,c=0,d=0;d=(k[a>>2]&1|0)!=0;if(!d){Xb(72504);c=k[a+52>>2]|0;b=a+56|0;if(c|0)k[c+56>>2]=k[b>>2];b=k[b>>2]|0;if(b|0)k[b+52>>2]=c;if((k[18125]|0)==(a|0))k[18125]=b;Ob(72504)}b=sA(a)|0;b=tc[k[a+12>>2]&511](a)|0|b;c=k[a+92>>2]|0;if(c|0)cf(c);if(!d)cf(a);return b|0}function ZD(a,b){a=a|0;b=b|0;if(!b)return;else{ZD(a,k[b>>2]|0);ZD(a,k[b+4>>2]|0);uha(b);return}}function _D(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;var i=0;a=r;r=r+16|0;i=a+4|0;b=a;k[i>>2]=c;k[b>>2]=f;g=il(c,d,i,f,g,b,1114111,0)|0;k[e>>2]=k[i>>2];k[h>>2]=k[b>>2];r=a;return g|0}function $D(a){a=+a;var b=0,c=0,d=0;d=~~a;c=k[17173]|0;if(!c){d=0;return d|0}else b=68692;a:do{while(1){if((k[c+16>>2]|0)>=(d|0)){b=c;break}c=k[c+4>>2]|0;if(!c)break a}c=k[b>>2]|0}while((c|0)!=0);if((b|0)==68692){d=0;return d|0}if((k[b+16>>2]|0)>(d|0)){d=0;return d|0}d=k[b+20>>2]|0;return d|0}function aE(a){a=a|0;var b=0;b=mI(a)|0;if(!b){b=Hq(a)|0;if(!b)return a|0}while(1){a=mI(b)|0;if(a|0){b=a;continue}a=Hq(b)|0;if(!a)break;else b=a}return b|0}function bE(a,b){a=a|0;b=b|0;var c=0,d=0;d=aR(b,75972)|0;c=a+36|0;k[c>>2]=d;d=tc[k[(k[d>>2]|0)+24>>2]&511](d)|0;b=a+44|0;k[b>>2]=d;c=k[c>>2]|0;c=(tc[k[(k[c>>2]|0)+28>>2]&511](c)|0)&1;i[a+53>>0]=c;if((k[b>>2]|0)>8)tI(47983);return}function cE(a,b){a=a|0;b=b|0;var c=0,d=0;d=aR(b,75964)|0;c=a+36|0;k[c>>2]=d;d=tc[k[(k[d>>2]|0)+24>>2]&511](d)|0;b=a+44|0;k[b>>2]=d;c=k[c>>2]|0;c=(tc[k[(k[c>>2]|0)+28>>2]&511](c)|0)&1;i[a+53>>0]=c;if((k[b>>2]|0)>8)tI(47983);return}function dE(a){a=a|0;var b=0,c=0,d=0,e=0;k[a+56>>2]=5288;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+68>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;uha(e)}while((b|0)!=0);a=a+60|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;uha(b);return}function eE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=0;f=r;r=r+4112|0;d=f;c=f+8|0;if(!a){b=4096;a=c;e=4}else if(!b){a=L0()|0;k[a>>2]=22;a=0}else e=4;if((e|0)==4){k[d>>2]=a;k[d+4>>2]=b;if((E0(_b(183,d|0)|0)|0)<0)a=0;else if((a|0)==(c|0))a=SX(c)|0}r=f;return a|0}function fE(a){a=a|0;var b=0,c=0;k[a>>2]=6984;c=a+68|0;k[c>>2]=7116;ZD(a+88|0,k[a+92>>2]|0);k[c>>2]=6956;c=k[a+72>>2]|0;if(!c)return;a=a+76|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);return}function gE(a){a=a|0;var b=0,c=0;a=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;k[a>>2]=8216;b=a+64|0;k[b>>2]=8256;k[a+8>>2]=8236;c=a+12|0;k[c>>2]=8272;P1(a+44|0);D2(c);P9(b);uha(a);return}function hE(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=5288;b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}b=k[a+12>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;uha(e)}while((b|0)!=0);a=a+4|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;uha(b);return}function iE(a){a=a|0;x=0;ua(200,73124)|0;a=x;x=0;if(!(a&1)){x=0;ua(200,73292)|0;a=x;x=0;if(!(a&1)){x=0;ua(266,73464)|0;a=x;x=0;if(!(a&1)){x=0;ua(266,73632)|0;a=x;x=0;if(!(a&1))return}}}a=Eb(0)|0;Nba(a)}function jE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f;k[c>>2]=b;d=a+364|0;e=k[d>>2]|0;if((e|0)==(k[a+368>>2]|0)){Gw(a+360|0,c);r=f;return}else{k[e>>2]=b;k[d>>2]=(k[d>>2]|0)+4;r=f;return}}function kE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(d>>>0>4294967279)dH(a);if(d>>>0<11){i[a>>0]=c<<1;d=a+1|0}else{e=d+16&-16;d=GG(e)|0;k[a+8>>2]=d;k[a>>2]=e|1;k[a+4>>2]=c}WC(d|0,b|0,c|0)|0;i[d+c>>0]=0;return}function lE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(c>>>0>4294967279)dH(a);if(c>>>0<11){i[a>>0]=c<<1;a=a+1|0}else{e=c+16&-16;d=GG(e)|0;k[a+8>>2]=d;k[a>>2]=e|1;k[a+4>>2]=c;a=d}WC(a|0,b|0,c|0)|0;i[a+c>>0]=0;return}function mE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(c>>>0>1073741807)dH(a);if(c>>>0<2){i[a>>0]=c<<1;a=a+4|0}else{e=c+4&-4;d=GG(e<<2)|0;k[a+8>>2]=d;k[a>>2]=e|1;k[a+4>>2]=c;a=d}JK(a,b,c)|0;k[a+(c<<2)>>2]=0;return}function nE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(b>>>0>4294967279)dH(a);if(b>>>0<11){i[a>>0]=b<<1;a=a+1|0}else{e=b+16&-16;d=GG(e)|0;k[a+8>>2]=d;k[a>>2]=e|1;k[a+4>>2]=b;a=d}vE(a|0,c|0,b|0)|0;i[a+b>>0]=0;return}function oE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(!c)b=0;else{d=i[a>>0]|0;a:do if(!(d<<24>>24))d=0;else while(1){c=c+-1|0;e=i[b>>0]|0;if(!(d<<24>>24==e<<24>>24&((c|0)!=0&e<<24>>24!=0)))break a;a=a+1|0;b=b+1|0;d=i[a>>0]|0;if(!(d<<24>>24)){d=0;break}}while(0);b=(d&255)-(l[b>>0]|0)|0}return b|0}function pE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(b>>>0>1073741807)dH(a);if(b>>>0<2){i[a>>0]=b<<1;a=a+4|0}else{e=b+4&-4;d=GG(e<<2)|0;k[a+8>>2]=d;k[a>>2]=e|1;k[a+4>>2]=b;a=d}tN(a,c,b)|0;k[a+(b<<2)>>2]=0;return}function qE(a){a=a|0;var b=0;do if(!(i[68032]|0))if(q3(68032)|0){x=0;a=ua(272,23664)|0;b=x;x=0;if(!(b&1)){x=0;Qa(149,75836,23664,a|0);b=x;x=0;if(!(b&1)){Ub(361,75836,w|0)|0;break}}b=mb()|0;yb(b|0)}while(0);return 75836}function rE(a){a=a|0;var b=0;do if(!(i[68024]|0))if(q3(68024)|0){x=0;a=ua(272,23616)|0;b=x;x=0;if(!(b&1)){x=0;Qa(149,75824,23616,a|0);b=x;x=0;if(!(b&1)){Ub(361,75824,w|0)|0;break}}b=mb()|0;yb(b|0)}while(0);return 75824}function sE(a){a=a|0;var b=0;do if(!(i[68016]|0))if(q3(68016)|0){x=0;a=ua(272,23532)|0;b=x;x=0;if(!(b&1)){x=0;Qa(149,75812,23532,a|0);b=x;x=0;if(!(b&1)){Ub(361,75812,w|0)|0;break}}b=mb()|0;yb(b|0)}while(0);return 75812}function tE(a){a=a|0;var b=0;do if(!(i[68040]|0))if(q3(68040)|0){x=0;a=ua(272,23700)|0;b=x;x=0;if(!(b&1)){x=0;Qa(149,75848,23700,a|0);b=x;x=0;if(!(b&1)){Ub(361,75848,w|0)|0;break}}b=mb()|0;yb(b|0)}while(0);return 75848}function uE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[a+12>>2]=b;k[a+16>>2]=c;b=e;d=k[b+4>>2]|0;c=a+20|0;k[c>>2]=k[b>>2];k[c+4>>2]=d;k[a+28>>2]=0;k[a+32>>2]=0;k[a+36>>2]=0;return}function vE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function wE(a){a=a|0;var b=0,c=0;c=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;k[c>>2]=8216;a=c+64|0;k[a>>2]=8256;k[c+8>>2]=8236;b=c+12|0;k[b>>2]=8272;P1(c+44|0);D2(b);P9(a);return}function xE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=r;r=r+16|0;g=f;k[g>>2]=e;e=p0(c)|0;c=Cx(a,b,d,g)|0;if(e|0){x=0;ua(271,e|0)|0;g=x;x=0;if(g&1){g=Eb(0)|0;Nba(g)}}r=f;return c|0}function yE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f;k[c>>2]=b;d=a+120|0;e=k[d>>2]|0;if(e>>>0<(k[a+124>>2]|0)>>>0){k[e>>2]=b;k[d>>2]=(k[d>>2]|0)+4;r=f;return}else{Hw(a+116|0,c);r=f;return}}function zE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;e=d+8|0;f=d;h=c;g=k[h+4>>2]|0;c=f;k[c>>2]=k[h>>2];k[c+4>>2]=g;k[e>>2]=k[f>>2];k[e+4>>2]=k[f+4>>2];vw(a,e,b);k[a>>2]=21944;r=d;return}function AE(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+4>>2]|0;c=a+8|0;d=k[c>>2]|0;while(1){if((d|0)==(b|0))break;e=d+-4|0;k[c>>2]=e;d=e}c=k[a>>2]|0;do if(c|0){b=k[a+16>>2]|0;if((b|0)==(c|0)){i[b+112>>0]=0;break}else{uha(c);break}}while(0);return}function BE(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=15600;d=a+68|0;b=k[d>>2]|0;if(!b){uha(a);return}e=a+72|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-12|0;k[e>>2]=f;P1(f);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}uha(b);uha(a);return}function CE(a){a=a|0;var b=0;a=zz(a)|0;if(!a){b=0;return b|0}while(1){b=zz(a)|0;if(!b){b=a;break}else a=b}a=Az(b)|0;if(!a)return b|0;while(1){b=Az(a)|0;if(!b)break;else a=b}return a|0}function DE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=k[a+12>>2]|0;if(d)while(1){e=k[d+12>>2]|0;if(!e)break;else{a=d;d=e}}b=mv(a,b)|0;k[b>>2]=c;return}function EE(a,b){a=a|0;b=b|0;var c=0,d=0;if(!((a|0)!=0&(b|0)!=0))return;if((k[a+16>>2]|0)!=4)kb(39050,38952,590,39075);if(k[b>>2]|0)kb(39095,38952,591,39075);k[b>>2]=a;a=a+24|0;c=a+4|0;d=k[c>>2]|0;k[b+4>>2]=d;k[b+8>>2]=0;if(!d)k[a>>2]=b;else k[d+8>>2]=b;k[c>>2]=b;return}function FE(a,b,c){a=a|0;b=b|0;c=c|0;c=Wu(b,c)|0;k[c+76>>2]=0;k[c+68>>2]=0;i[a>>0]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=c;k[a+16>>2]=0;k[a+20>>2]=0;if(c|0)i[a>>0]=i[c+57>>0]|0;if(!b)return;i[a>>0]=i[b+57>>0]|0;return}function GE(a){a=a|0;var b=0,c=0;b=0;while(1){if((l[46004+b>>0]|0)==(a|0)){c=2;break}b=b+1|0;if((b|0)==87){b=87;a=46092;c=5;break}}if((c|0)==2)if(!b)a=46092;else{a=46092;c=5}if((c|0)==5)while(1){c=a;while(1){a=c+1|0;if(!(i[c>>0]|0))break;else c=a}b=b+-1|0;if(!b)break;else c=5}return a|0}function HE(a){a=a|0;var b=0,c=0;a=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;k[a>>2]=8868;b=a+56|0;k[b>>2]=8888;c=a+4|0;k[c>>2]=8272;P1(a+36|0);D2(c);P9(b);uha(a);return}function IE(a){a=a|0;var b=0,c=0;a=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;k[a>>2]=8772;b=a+60|0;k[b>>2]=8792;c=a+8|0;k[c>>2]=8272;P1(a+40|0);D2(c);P9(b);uha(a);return}function JE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))yy(0,b,c,d,e);else{a=k[a+8>>2]|0;Ac[k[(k[a>>2]|0)+20>>2]&15](a,b,c,d,e,f)}return}function KE(a){a=a|0;var b=0,c=0;b=k[a+72>>2]|0;c=k[a+76>>2]|0;if((b|0)==(c|0)){c=0;return c|0}while(1){a=k[b>>2]|0;if(a|0)if(tc[k[(k[a>>2]|0)+96>>2]&511](a)|0){a=1;b=5;break}b=b+4|0;if((b|0)==(c|0)){a=0;b=5;break}}if((b|0)==5)return a|0;return 0}function LE(a){a=a|0;var b=0,c=0;b=k[a+72>>2]|0;c=k[a+76>>2]|0;if((b|0)==(c|0)){c=0;return c|0}while(1){a=k[b>>2]|0;if(a|0)if(tc[k[(k[a>>2]|0)+96>>2]&511](a)|0){a=1;b=5;break}b=b+4|0;if((b|0)==(c|0)){a=0;b=5;break}}if((b|0)==5)return a|0;return 0}function ME(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=r;r=r+16|0;f=e;k[f>>2]=d;d=p0(b)|0;b=vG(a,c,f)|0;if(d|0){x=0;ua(271,d|0)|0;f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}}r=e;return b|0}function NE(a){a=a|0;var b=0,c=0;c=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;k[c>>2]=8868;a=c+56|0;k[a>>2]=8888;b=c+4|0;k[b>>2]=8272;P1(c+36|0);D2(b);P9(a);return}function OE(a){a=a|0;var b=0,c=0;c=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;k[c>>2]=8772;a=c+60|0;k[a>>2]=8792;b=c+8|0;k[b>>2]=8272;P1(c+40|0);D2(b);P9(a);return}function PE(a){a=a|0;var b=0,c=0,d=0,e=0;a=a+-4|0;k[a>>2]=14548;k[a+4>>2]=14832;b=k[a+116>>2]|0;c=b;if(b|0){d=a+120|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}P1(a+104|0);Ez(a);uha(a);return}function QE(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|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;yc[a&3](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)}function RE(a,b){a=a|0;b=b|0;var c=0,d=0;c=k[b+108>>2]|0;if(!c)c=0;else c=Jc[k[(k[c>>2]|0)+40>>2]&1023](c,a)|0;d=(k[a+8>>2]|0)+36|0;a=lD(d,112)|0;dt(a,b);a=N4(d,a)|0;k[a+108>>2]=c;return a|0}function SE(a){a=a|0;var b=0,c=0;a=a+-8|0;k[a>>2]=8216;b=a+64|0;k[b>>2]=8256;k[a+8>>2]=8236;c=a+12|0;k[c>>2]=8272;P1(a+44|0);D2(c);P9(b);uha(a);return}function TE(a,b){a=a|0;b=b|0;b=Ot(b,64,480,0)|0;if(!b){a=0;return a|0}if(!(+p[a+56>>3]==+p[b+56>>3])){a=0;return a|0}if(!(+p[a+64>>3]==+p[b+64>>3])){a=0;return a|0}if(!(+p[a+72>>3]==+p[b+72>>3])){a=0;return a|0}a=+p[a+80>>3]==+p[b+80>>3];return a|0}function UE(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=24288;a=a+8|0;b=k[a>>2]|0;x=0;c=Oa(3)|0;d=x;x=0;do if(!(d&1)){if((b|0)!=(c|0)){x=0;ra(362,k[a>>2]|0);d=x;x=0;if(d&1)break}return}while(0);d=Eb(0)|0;Nba(d)}function VE(a,b){a=a|0;b=b|0;var c=0;c=vD(b,47,-1)|0;if((c|0)==-1){lE(a,78097,0);return}else{wD(a,b,0,c+1|0,b);return}}function WE(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[39795]|0;a:do if(b<<24>>24){c=39795;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function XE(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[29906]|0;a:do if(b<<24>>24){c=29906;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function YE(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[44264]|0;a:do if(b<<24>>24){c=44264;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function ZE(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[44273]|0;a:do if(b<<24>>24){c=44273;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function _E(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[44202]|0;a:do if(b<<24>>24){c=44202;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function $E(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[44248]|0;a:do if(b<<24>>24){c=44248;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function aF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f;k[c>>2]=b;d=a+20|0;e=k[d>>2]|0;if((e|0)==(k[a+24>>2]|0)){Uw(a+16|0,c);r=f;return}else{k[e>>2]=b;k[d>>2]=e+4;r=f;return}}function bF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[38829]|0;a:do if(b<<24>>24){c=38829;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function cF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[27455]|0;a:do if(b<<24>>24){c=27455;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function dF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[42555]|0;a:do if(b<<24>>24){c=42555;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function eF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[38818]|0;a:do if(b<<24>>24){c=38818;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function fF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[38791]|0;a:do if(b<<24>>24){c=38791;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function gF(a){a=a|0;var b=0,c=0,d=0,e=0;a=a+-4|0;k[a>>2]=14548;k[a+4>>2]=14832;b=k[a+116>>2]|0;c=b;if(b|0){d=a+120|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}P1(a+104|0);Ez(a);return}function hF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=k[a+4>>2]|0;g=h>>8;if(h&1)g=k[(k[d>>2]|0)+g>>2]|0;a=k[a>>2]|0;Ac[k[(k[a>>2]|0)+20>>2]&15](a,b,c,d+g|0,h&2|0?e:2,f);return}function iF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[38782]|0;a:do if(b<<24>>24){c=38782;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function jF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((E0(bc(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;r=e;return a|0}function kF(a){a=a|0;var b=0,c=0;c=a+-8|0;k[c>>2]=8216;a=c+64|0;k[a>>2]=8256;k[c+8>>2]=8236;b=c+12|0;k[b>>2]=8272;P1(c+44|0);D2(b);P9(a);return}function lF(a){a=a|0;var b=0,c=0;a=k[a+68>>2]|0;b=k[a+72>>2]|0;a=(k[a+76>>2]|0)-b>>2;if(!a){c=1;return c|0}else c=0;while(1){if(!(i[(k[b+(c<<2)>>2]|0)+56>>0]|0)){a=0;b=4;break}c=c+1|0;if(c>>>0>=a>>>0){a=1;b=4;break}}if((b|0)==4)return a|0;return 0}function mF(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=15600;d=a+68|0;b=k[d>>2]|0;if(!b)return;c=a+72|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-12|0;k[c>>2]=e;P1(e);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}uha(b);return}function nF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[38843]|0;a:do if(b<<24>>24){c=38843;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function oF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[29874]|0;a:do if(b<<24>>24){c=29874;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function pF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[29859]|0;a:do if(b<<24>>24){c=29859;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function qF(a){a=a|0;var b=0;b=i[a>>0]|0;a=a+1|0;if(b<<24>>24==43){b=a;return b|0}if(b<<24>>24!=45){b=0;return b|0}a=hr(a)|0;if(!a){b=0;return b|0}b=(i[a>>0]|0)==45?a+1|0:0;return b|0}function rF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[29924]|0;a:do if(b<<24>>24){c=29924;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function sF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[44233]|0;a:do if(b<<24>>24){c=44233;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function tF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[44256]|0;a:do if(b<<24>>24){c=44256;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function uF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[38836]|0;a:do if(b<<24>>24){c=38836;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function vF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[39805]|0;a:do if(b<<24>>24){c=39805;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function wF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[51271]|0;a:do if(b<<24>>24){c=51271;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function xF(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;_G(c,a+80|0);a=(KH(c,38885)|0)==0;P1(c);r=b;return (a?k[2144]|0:k[2145]|0)|0}function yF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[44182]|0;a:do if(b<<24>>24){c=44182;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function zF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[51266]|0;a:do if(b<<24>>24){c=51266;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function AF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[38939]|0;a:do if(b<<24>>24){c=38939;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function BF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[31784]|0;a:do if(b<<24>>24){c=31784;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function CF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[44195]|0;a:do if(b<<24>>24){c=44195;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function DF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[44188]|0;a:do if(b<<24>>24){c=44188;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function EF(a){a=a|0;i[a+84>>0]=1;switch(k[k[a+68>>2]>>2]|0){case 2:if(!(k[a+72>>2]|0)){k[a+80>>2]=1;k[a+76>>2]=0;return}else{k[a+76>>2]=1;return}case 3:return;default:{if(i[a+95>>0]|0)if(i[a+97>>0]|0)return;k[a+80>>2]=1;k[a+76>>2]=0;return}}}function FF(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=14548;k[a+4>>2]=14832;b=k[a+116>>2]|0;c=b;if(b|0){d=a+120|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}P1(a+104|0);Ez(a);uha(a);return}function GF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:do if(!(i[a+44>>0]|0)){d=b;b=0;while(1){if((b|0)>=(c|0))break a;if((Jc[k[(k[a>>2]|0)+52>>2]&1023](a,k[d>>2]|0)|0)==-1)break a;d=d+4|0;b=b+1|0}}else b=FH(b,4,c,k[a+32>>2]|0)|0;while(0);return b|0}function HF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:do if(!(i[a+44>>0]|0)){d=b;b=0;while(1){if((b|0)>=(c|0))break a;if((Jc[k[(k[a>>2]|0)+52>>2]&1023](a,l[d>>0]|0)|0)==-1)break a;d=d+1|0;b=b+1|0}}else b=FH(b,1,c,k[a+32>>2]|0)|0;while(0);return b|0}function IF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[29871]|0;a:do if(b<<24>>24){c=29871;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function JF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[44691]|0;a:do if(b<<24>>24){c=44691;while(1){if((i[a>>0]|0)!=b<<24>>24){a=0;break}a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24))break a}return a|0}while(0);c=DJ(a)|0;return c|0}function KF(a){a=a|0;var b=0,c=0;k[a>>2]=8216;b=a+64|0;k[b>>2]=8256;k[a+8>>2]=8236;c=a+12|0;k[c>>2]=8272;P1(a+44|0);D2(c);P9(b);uha(a);return}function LF(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a>>2]|0;do if(b|0){c=a+4|0;d=k[c>>2]|0;while(1){if((d|0)==(b|0))break;e=d+-4|0;k[c>>2]=e;d=e}if((a+16|0)==(b|0)){i[a+128>>0]=0;break}else{uha(b);break}}while(0);return}function MF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=(c-b|0)>>>2;e=b;while(1){if((e|0)==(c|0))break;a=k[e>>2]|0;if(a>>>0<128){a=(MK()|0)+(a<<1)|0;a=m[a>>1]|0}else a=0;j[d>>1]=a;d=d+2|0;e=e+4|0}return b+(f<<2)|0}function NF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(c|0)==0;if(a-b>>2>>>0>>0){if(!d)do{c=c+-1|0;k[a+(c<<2)>>2]=k[b+(c<<2)>>2]}while((c|0)!=0)}else if(!d){d=b;b=a;while(1){c=c+-1|0;k[b>>2]=k[d>>2];if(!c)break;else{d=d+4|0;b=b+4|0}}}return a|0}function OF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=sI(1,28)|0;if(!e){d=0;return d|0}if(!a)a=0;else a=HI(a)|0;k[e>>2]=a;if(!b)a=0;else a=HI(b)|0;k[e+4>>2]=a;k[e+8>>2]=c;k[e+12>>2]=d;k[e+20>>2]=-1;k[e+24>>2]=-1;d=e;return d|0}function PF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=i[a>>0]|0;if(!(d&1)){e=(d&255)>>>1;d=a+1|0}else{e=k[a+4>>2]|0;d=k[a+8>>2]|0}if(e>>>0>c>>>0){c=mw(d+c|0,b&255,e-c|0)|0;d=(c|0)==0?-1:c-d|0}else d=-1;return d|0}function QF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d;f=d+16|0;k[f>>2]=c;g=(k[f>>2]|0)+(4-1)&~(4-1);c=k[g>>2]|0;k[f>>2]=g+4;k[e>>2]=a;k[e+4>>2]=b|32768;k[e+8>>2]=c;c=E0(Zb(5,e|0)|0)|0;r=d;return c|0}function RF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[29962]|0;a:do if(!(b<<24>>24))b=0;else{c=29962;while(1){if((i[a>>0]|0)!=b<<24>>24)break a;a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24)){b=0;break}}}while(0);c=b<<24>>24==0?a:0;return c|0}function SF(a){a=a|0;var b=0,c=0;a:do if(!a)a=0;else while(1){b=k[a+72>>2]|0;if(!b)break a;c=k[b+72>>2]|0;if(((k[b+76>>2]|0)-c|0)!=4)break a;b=k[c>>2]|0;if(!b)break a;if(!(Ot(b,96,736,0)|0))break a;a=k[a+76>>2]|0;if(!a){a=0;break}}while(0);return a|0}function TF(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>1073741823)fH(a);c=a+128|0;if(b>>>0<29&(i[c>>0]|0)==0){i[c>>0]=1;c=a+16|0}else c=GG(b<<2)|0;k[a+4>>2]=c;k[a>>2]=c;k[a+8>>2]=c+(b<<2);return}function UF(a){a=a|0;var b=0,c=0,d=0,e=0;if(!(i[a+78>>0]|0)){c=0;return c|0}b=k[a+60>>2]|0;c=k[a+64>>2]|0;if((b|0)==(c|0)){c=0;return c|0}else a=0;do{e=k[b>>2]|0;d=(i[e+73>>0]|0)!=0;a=d?e:a;b=b+4|0}while(!(d|(b|0)==(c|0)));return a|0}function VF(a){a=a|0;var b=0;b=a+1|0;if((i[a>>0]|0)!=46){a=0;return a|0}if((i[b>>0]|0)==45)do b=b+1|0;while((i[b>>0]|0)==45);b=Kt(b)|0;if(!b){a=0;return a|0}a=Jt(b)|0;return a|0}function WF(a){a=a|0;var b=0;b=a+1|0;if((i[a>>0]|0)!=64){a=0;return a|0}if((i[b>>0]|0)==45)do b=b+1|0;while((i[b>>0]|0)==45);b=Kt(b)|0;if(!b){a=0;return a|0}a=Jt(b)|0;return a|0}function XF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[29959]|0;a:do if(!(b<<24>>24))b=0;else{c=29959;while(1){if((i[a>>0]|0)!=b<<24>>24)break a;a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24)){b=0;break}}}while(0);c=b<<24>>24==0?a:0;return c|0}function YF(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[29956]|0;a:do if(!(b<<24>>24))b=0;else{c=29956;while(1){if((i[a>>0]|0)!=b<<24>>24)break a;a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24)){b=0;break}}}while(0);c=b<<24>>24==0?a:0;return c|0}function ZF(a){a=a|0;var b=0,c=0,d=0,e=0;if(!(i[a+77>>0]|0)){c=0;return c|0}b=k[a+60>>2]|0;c=k[a+64>>2]|0;if((b|0)==(c|0)){c=0;return c|0}else a=0;do{e=k[b>>2]|0;d=(i[e+72>>0]|0)!=0;a=d?e:a;b=b+4|0}while(!(d|(b|0)==(c|0)));return a|0}function _F(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[29950]|0;a:do if(!(b<<24>>24))b=0;else{c=29950;while(1){if((i[a>>0]|0)!=b<<24>>24)break a;a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24)){b=0;break}}}while(0);c=b<<24>>24==0?a:0;return c|0}function $F(a){a=a|0;var b=0;b=a+1|0;if((i[a>>0]|0)!=36){a=0;return a|0}if((i[b>>0]|0)==45)do b=b+1|0;while((i[b>>0]|0)==45);b=Kt(b)|0;if(!b){a=0;return a|0}a=Jt(b)|0;return a|0}function aG(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[29953]|0;a:do if(!(b<<24>>24))b=0;else{c=29953;while(1){if((i[a>>0]|0)!=b<<24>>24)break a;a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24)){b=0;break}}}while(0);c=b<<24>>24==0?a:0;return c|0}function bG(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=14548;k[a+4>>2]=14832;b=k[a+116>>2]|0;c=b;if(b|0){d=a+120|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);uha(b)}P1(a+104|0);Ez(a);return}function cG(a){a=a|0;var b=0,c=0;k[a>>2]=8216;b=a+64|0;k[b>>2]=8256;k[a+8>>2]=8236;c=a+12|0;k[c>>2]=8272;P1(a+44|0);D2(c);P9(b);return}function dG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=k[a+4>>2]|0;f=g>>8;if(g&1)f=k[(k[c>>2]|0)+f>>2]|0;a=k[a>>2]|0;pc[k[(k[a>>2]|0)+24>>2]&15](a,b,c+f|0,g&2|0?d:2,e);return}function eG(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[38872]|0;a:do if(!(b<<24>>24))b=0;else{c=38872;while(1){if((i[a>>0]|0)!=b<<24>>24)break a;a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24)){b=0;break}}}while(0);c=b<<24>>24==0?a:0;return c|0}function fG(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[38880]|0;a:do if(!(b<<24>>24))b=0;else{c=38880;while(1){if((i[a>>0]|0)!=b<<24>>24)break a;a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24)){b=0;break}}}while(0);c=b<<24>>24==0?a:0;return c|0}function gG(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[38875]|0;a:do if(!(b<<24>>24))b=0;else{c=38875;while(1){if((i[a>>0]|0)!=b<<24>>24)break a;a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24)){b=0;break}}}while(0);c=b<<24>>24==0?a:0;return c|0}function hG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))qD(0,b,c,d);else{a=k[a+8>>2]|0;Tc[k[(k[a>>2]|0)+28>>2]&63](a,b,c,d)}return}function iG(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[38878]|0;a:do if(!(b<<24>>24))b=0;else{c=38878;while(1){if((i[a>>0]|0)!=b<<24>>24)break a;a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24)){b=0;break}}}while(0);c=b<<24>>24==0?a:0;return c|0}function jG(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[42839]|0;a:do if(!(b<<24>>24))b=0;else{c=42839;while(1){if((i[a>>0]|0)!=b<<24>>24)break a;a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24)){b=0;break}}}while(0);c=b<<24>>24==0?a:0;return c|0}function kG(a){a=a|0;var b=0,c=0;if(!a){c=0;return c|0}b=i[38869]|0;a:do if(!(b<<24>>24))b=0;else{c=38869;while(1){if((i[a>>0]|0)!=b<<24>>24)break a;a=a+1|0;c=c+1|0;b=i[c>>0]|0;if(!(b<<24>>24)){b=0;break}}}while(0);c=b<<24>>24==0?a:0;return c|0}function lG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=sI(1,28)|0;if(!d){c=0;return c|0}if(!a)a=0;else{e=HI(a)|0;k[d>>2]=e;a=HI(a)|0}k[d+4>>2]=a;k[d+8>>2]=b;k[d+12>>2]=c;k[d+20>>2]=-1;k[d+24>>2]=-1;e=d;return e|0}function mG(a){a=a|0;var b=0,c=0;b=a+74|0;c=i[b>>0]|0;i[b>>0]=c+255|c;b=k[a>>2]|0;if(!(b&8)){k[a+8>>2]=0;k[a+4>>2]=0;b=k[a+44>>2]|0;k[a+28>>2]=b;k[a+20>>2]=b;k[a+16>>2]=b+(k[a+48>>2]|0);b=0}else{k[a>>2]=b|32;b=-1}return b|0}function nG(a){a=a|0;var b=0;b=k[a+64>>2]|0;if(b|0)if(tc[k[(k[b>>2]|0)+76>>2]&511](b)|0){a=1;return a|0}if((k[a+52>>2]|0)==7){a=1;return a|0}b=k[a+72>>2]|0;if(!b){a=0;return a|0}a=tc[k[(k[b>>2]|0)+76>>2]&511](b)|0;return a|0}function oG(a){a=a|0;var b=0;k[a>>2]=21640;x=0;sa(556,a|0,0);b=x;x=0;if(b&1){b=Eb(0)|0;Nba(b)}else{J5(a+28|0);cf(k[a+32>>2]|0);cf(k[a+36>>2]|0);cf(k[a+48>>2]|0);cf(k[a+60>>2]|0);return}}function pG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=k[a+4>>2]|0;e=f>>8;if(f&1)e=k[(k[c>>2]|0)+e>>2]|0;a=k[a>>2]|0;Tc[k[(k[a>>2]|0)+28>>2]&63](a,b,c+e|0,f&2|0?d:2);return}function qG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+80|0;d=e;k[a+36>>2]=19;if(!(k[a>>2]&64)){k[d>>2]=k[a+60>>2];k[d+4>>2]=21505;k[d+8>>2]=e+12;if(Nb(54,d|0)|0)i[a+75>>0]=-1}d=rp(a,b,c)|0;r=e;return d|0}function rG(a){a=a|0;var b=0,c=0;k[a>>2]=8868;b=a+56|0;k[b>>2]=8888;c=a+4|0;k[c>>2]=8272;P1(a+36|0);D2(c);P9(b);uha(a);return}function sG(a){a=a|0;var b=0,c=0;k[a>>2]=8772;b=a+60|0;k[b>>2]=8792;c=a+8|0;k[c>>2]=8272;P1(a+40|0);D2(c);P9(b);uha(a);return}function tG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do if(!c)c=0;else{e=c;d=a;while(1){a=i[d>>0]|0;c=i[b>>0]|0;if(a<<24>>24!=c<<24>>24)break;e=e+-1|0;if(!e){c=0;break a}else{d=d+1|0;b=b+1|0}}c=(a&255)-(c&255)|0}while(0);return c|0}function uG(a,b){a=a|0;b=b|0;return (su(a,b)|0)!=(a+4|0)|0}function vG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+112|0;d=f;e=d;g=e+112|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(g|0));k[d+32>>2]=104;k[d+44>>2]=a;k[d+76>>2]=-1;k[d+84>>2]=a;g=Zd(d,b,c)|0;r=f;return g|0}function wG(a){a=a|0;return Oj(a)|0}function xG(a){a=a|0;var b=0,c=0;b=a+64|0;c=k[b>>2]|0;if(c|0){a=c;return a|0}k[b>>2]=k[a+56>>2];c=k[a+60>>2]|0;c=(tc[k[(k[c>>2]|0)+8>>2]&511](c)|0)+-1640531527|0;a=k[b>>2]|0;a=c+(a<<6)+(a>>>2)^a;k[b>>2]=a;return a|0}function yG(a){a=a|0;var b=0,c=0,d=0;b=k[a>>2]|0;x=0;c=Oa(3)|0;d=x;x=0;do if(!(d&1)){if((b|0)!=(c|0)){x=0;ra(362,k[a>>2]|0);d=x;x=0;if(d&1)break}return}while(0);d=Eb(0)|0;Nba(d)}function zG(a,b){a=a|0;b=b|0;b=Ot(b,64,616,0)|0;if(!b){a=0;return a|0}if((k[a+56>>2]|0)!=(k[b+56>>2]|0)){a=0;return a|0}if((k[a+64>>2]|0)!=(k[b+64>>2]|0)){a=0;return a|0}a=(k[a+68>>2]|0)==(k[b+68>>2]|0);return a|0}function AG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;d=e;Pc[k[(k[a>>2]|0)+12>>2]&255](d,a,b);if((k[d+4>>2]|0)==(k[c+4>>2]|0))d=(k[d>>2]|0)==(k[c>>2]|0);else d=0;r=e;return d|0}function BG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=(c-b|0)>>>2;d=b;while(1){if((d|0)==(c|0))break;a=k[d>>2]|0;if(a>>>0<128){a=(DK()|0)+(a<<2)|0;a=k[a>>2]|0}k[d>>2]=a;d=d+4|0}return b+(e<<2)|0}function CG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=(c-b|0)>>>2;d=b;while(1){if((d|0)==(c|0))break;a=k[d>>2]|0;if(a>>>0<128){a=(EK()|0)+(a<<2)|0;a=k[a>>2]|0}k[d>>2]=a;d=d+4|0}return b+(e<<2)|0}function DG(a){a=a|0;var b=0,c=0;k[a>>2]=8868;b=a+56|0;k[b>>2]=8888;c=a+4|0;k[c>>2]=8272;P1(a+36|0);D2(c);P9(b);return}function EG(a){a=a|0;var b=0,c=0;k[a>>2]=8772;b=a+60|0;k[b>>2]=8792;c=a+8|0;k[c>>2]=8272;P1(a+40|0);D2(c);P9(b);return}function FG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+84|0;f=k[d>>2]|0;g=c+256|0;e=mw(f,0,g)|0;e=(e|0)==0?g:e-f|0;c=e>>>0>>0?e:c;WC(b|0,f|0,c|0)|0;k[a+4>>2]=f+c;b=f+e|0;k[a+8>>2]=b;k[d>>2]=b;return c|0}function GG(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=hd(b)|0;if(a|0){b=6;break}a=N9()|0;if(!a){b=5;break}oc[a&7]()}if((b|0)==5){b=vb(4)|0;k[b>>2]=24852;Wb(b|0,4384,306)}else if((b|0)==6)return a|0;return 0}function HG(a){a=a|0;var b=0,c=0,d=0;c=(r2(a,43)|0)==0;b=i[a>>0]|0;b=b<<24>>24|0;c=c?(b|0)!=114&1:2;d=(r2(a,120)|0)==0;c=d?c:c|128;a=(r2(a,101)|0)==0;a=a?c:c|524288;a=(b|0)==114?a:a|64;a=(b|0)==119?a|512:a;return ((b|0)==97?a|1024:a)|0}function IG(a,b){a=a|0;b=b|0;var c=0;k[a+24>>2]=b;k[a+16>>2]=(b|0)==0&1;k[a+20>>2]=0;k[a+4>>2]=4098;k[a+12>>2]=0;k[a+8>>2]=6;c=a+28|0;b=a+32|0;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));xI(c);return}function JG(a){a=a|0;k[a>>2]=9176;P1(a+100|0);P1(a+88|0);P1(a+76|0);P1(a+64|0);uha(a);return}function KG(a){a=a|0;var b=0,c=0;if(!a)return;b=k[a>>2]|0;if(b|0){c=a;do{cf(k[b>>2]|0);cf(k[b+4>>2]|0);cf(k[b+8>>2]|0);cf(k[b+12>>2]|0);cf(k[b+16>>2]|0);cf(b);c=c+4|0;b=k[c>>2]|0}while((b|0)!=0)}cf(a);return}function LG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;d=c+8|0;f=c;e=k[(k[b>>2]|0)+20>>2]|0;k[f>>2]=5;k[f+4>>2]=5;k[d>>2]=k[f>>2];k[d+4>>2]=k[f+4>>2];Pc[e&255](a,b,d);r=c;return}function MG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;d=c+8|0;f=c;e=k[(k[b>>2]|0)+20>>2]|0;k[f>>2]=4;k[f+4>>2]=5;k[d>>2]=k[f>>2];k[d+4>>2]=k[f+4>>2];Pc[e&255](a,b,d);r=c;return}function NG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;d=c+8|0;f=c;e=k[(k[b>>2]|0)+20>>2]|0;k[f>>2]=0;k[f+4>>2]=5;k[d>>2]=k[f>>2];k[d+4>>2]=k[f+4>>2];Pc[e&255](a,b,d);r=c;return}function OG(a,b){a=a|0;b=b|0;var c=0,d=0;d=i[a>>0]|0;c=i[b>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=c<<24>>24)b=d;else{do{a=a+1|0;b=b+1|0;d=i[a>>0]|0;c=i[b>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=c<<24>>24));b=d}return (b&255)-(c&255)|0}function PG(a,b){a=a|0;b=b|0;var c=0;c=Ot(b,64,256,0)|0;if(c|0)return Jc[k[(k[a>>2]|0)+76>>2]&1023](a,c)|0;c=Ot(b,64,112,0)|0;if(!c){a=0;return a|0}a=Jc[k[(k[a>>2]|0)+124>>2]&1023](a,c)|0;return a|0}function QG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;d=c+8|0;f=c;e=k[(k[b>>2]|0)+20>>2]|0;k[f>>2]=5;k[f+4>>2]=5;k[d>>2]=k[f>>2];k[d+4>>2]=k[f+4>>2];Pc[e&255](a,b,d);r=c;return}function RG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;d=c+8|0;f=c;e=k[(k[b>>2]|0)+20>>2]|0;k[f>>2]=4;k[f+4>>2]=5;k[d>>2]=k[f>>2];k[d+4>>2]=k[f+4>>2];Pc[e&255](a,b,d);r=c;return}function SG(a,b){a=a|0;b=b|0;var c=0,d=0;c=i[a>>0]|0;d=(c&1)==0;if(d)c=(c&255)>>>1;else c=k[a+4>>2]|0;if(c>>>0<=b>>>0)cH(a);if(d)c=a+1|0;else c=k[a+8>>2]|0;return c+b|0}function TG(a,b){a=a|0;b=b|0;var c=0,d=0;c=i[a>>0]|0;d=(c&1)==0;if(d)c=(c&255)>>>1;else c=k[a+4>>2]|0;if(c>>>0<=b>>>0)cH(a);if(d)c=a+1|0;else c=k[a+8>>2]|0;return c+b|0}function UG(a){a=a|0;var b=0,c=0,d=0;c=i[29968]|0;a:do if(!(c<<24>>24))b=0;else{b=i[a>>0]|0;d=29968;while(1){if(b<<24>>24==c<<24>>24)break a;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){b=0;break}}}while(0);return (b<<24>>24?a+1|0:0)|0}function VG(a,b){a=a|0;b=b|0;var c=0,d=0;k[a+60>>2]=b;c=k[a+72>>2]|0;a=k[a+76>>2]|0;if((c|0)==(a|0))return;do{d=k[c>>2]|0;rc[k[(k[d>>2]|0)+104>>2]&1023](d,b);c=c+4|0}while((c|0)!=(a|0));return}function WG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(!a){c=0;return c|0}f=a+16|0;e=k[f>>2]|0;if(e|0)cf(e);if(!b)e=0;else e=HI(b)|0;k[f>>2]=e;k[a+20>>2]=c|0?c:-1;k[a+24>>2]=d|0?d:-1;c=a;return c|0}function XG(a){a=a|0;a=wy(a)|0;if(!a)a=0;else{a=XH(a)|0;if(!a)a=0;else if((i[a>>0]|0)==47){a=XH(a+1|0)|0;if(!a)a=0;else a=wy(a)|0}else a=0}return a|0}function YG(a){a=a|0;do if(!(i[67944]|0))if(q3(67944)|0){x=0;Qa(74,75012,49996,11);a=x;x=0;if(a&1){a=mb()|0;yb(a|0)}else{Ub(323,75012,w|0)|0;break}}while(0);return 75012}function ZG(a){a=a|0;k[a>>2]=9176;P1(a+100|0);P1(a+88|0);P1(a+76|0);P1(a+64|0);return}function _G(a,b){a=a|0;b=b|0;if(!(i[b>>0]&1)){k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2]}else lE(a,k[b+8>>2]|0,k[b+4>>2]|0);return}function $G(a){a=a|0;do if(!(i[67952]|0))if(q3(67952)|0){x=0;Qa(74,75024,50008,8);a=x;x=0;if(a&1){a=mb()|0;yb(a|0)}else{Ub(323,75024,w|0)|0;break}}while(0);return 75024}function aH(a){a=a|0;do if(!(i[67960]|0))if(q3(67960)|0){x=0;Qa(74,75036,50017,8);a=x;x=0;if(a&1){a=mb()|0;yb(a|0)}else{Ub(323,75036,w|0)|0;break}}while(0);return 75036}function bH(a){a=a|0;var b=0,c=0;if((i[a>>0]|0)==48)if((i[a+1>>0]|0)==120){b=AY(a+2|0)|0;if(!b)b=0;else while(1){c=AY(b)|0;if(!c)break;else b=c}}else b=0;else b=0;a=b-a|0;return ((a|0)!=5&(a|0)!=8?0:b)|0}function cH(a){a=a|0;var b=0;a=vb(8)|0;x=0;sa(441,a|0,48489);b=x;x=0;if(b&1){b=mb()|0;lb(a|0);yb(b|0)}else{k[a>>2]=24932;Wb(a|0,4448,308)}}function dH(a){a=a|0;var b=0;a=vb(8)|0;x=0;sa(441,a|0,48489);b=x;x=0;if(b&1){b=mb()|0;lb(a|0);yb(b|0)}else{k[a>>2]=24912;Wb(a|0,4432,308)}}function eH(a){a=a|0;var b=0;a=vb(8)|0;x=0;sa(441,a|0,51298);b=x;x=0;if(b&1){b=mb()|0;lb(a|0);yb(b|0)}else{k[a>>2]=24932;Wb(a|0,4448,308)}}function fH(a){a=a|0;var b=0;a=vb(8)|0;x=0;sa(441,a|0,51298);b=x;x=0;if(b&1){b=mb()|0;lb(a|0);yb(b|0)}else{k[a>>2]=24912;Wb(a|0,4432,308)}}function gH(a){a=a|0;do if(!(i[67936]|0))if(q3(67936)|0){x=0;Qa(74,75e3,49975,20);a=x;x=0;if(a&1){a=mb()|0;yb(a|0)}else{Ub(323,75e3,w|0)|0;break}}while(0);return 75e3}function hH(a){a=a|0;k[a>>2]=10768;P1(a+80|0);k[a>>2]=8160;P1(a+20|0);P1(a+8|0);f4(a);uha(a);return}function iH(a){a=a|0;return vo(a)|0}function jH(a){a=a|0;var b=0;if(!(k[a>>2]&128))b=1;else b=(k[a+20>>2]|0)>>>0>(k[a+28>>2]|0)>>>0?2:1;b=wc[k[a+40>>2]&127](a,0,b)|0;if((b|0)>=0)b=b-(k[a+8>>2]|0)+(k[a+4>>2]|0)+(k[a+20>>2]|0)-(k[a+28>>2]|0)|0;return b|0}function kH(a,b){a=a|0;b=b|0;k[a>>2]=24892;x=0;sa(555,a+4|0,((i[b>>0]&1)==0?b+1|0:k[b+8>>2]|0)|0);a=x;x=0;if(a&1){a=mb()|0;yb(a|0)}else return}function lH(a,b){a=a|0;b=b|0;var c=0,d=0;if((a|0)!=(b|0)){c=i[b>>0]|0;d=(c&1)==0;oz(a,d?b+1|0:k[b+8>>2]|0,d?(c&255)>>>1:k[b+4>>2]|0)|0}return a|0}function mH(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;c=d+8|0;b=QF(a,589824,d)|0;do if((b|0)<0)a=0;else{a=sI(1,2072)|0;if(!a){k[c>>2]=b;Yb(6,c|0)|0;a=0;break}else{k[a>>2]=b;break}}while(0);r=d;return a|0}function nH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a+32|0;d=a+36|0;e=k[a+40>>2]|0;while(1){if(!e)break;f=e+-1|0;Pc[k[(k[c>>2]|0)+(f<<2)>>2]&255](b,a,k[(k[d>>2]|0)+(f<<2)>>2]|0);e=f}return}function oH(a){a=a|0;var b=0;b=k[a+72>>2]|0;if(b|0)if(tc[k[(k[b>>2]|0)+96>>2]&511](b)|0){a=1;return a|0}b=k[a+76>>2]|0;if(!b){a=0;return a|0}a=tc[k[(k[b>>2]|0)+96>>2]&511](b)|0;return a|0}function pH(a){a=a|0;var b=0,c=0;b=a+64|0;c=k[b>>2]|0;if(c|0){a=c;return a|0}c=k[a+68>>2]|0;c=(tc[k[(k[c>>2]|0)+8>>2]&511](c)|0)+-1640531527|0;a=k[b>>2]|0;a=c+(a<<6)+(a>>>2)^a;k[b>>2]=a;return a|0}function qH(a){a=a|0;var b=0,c=0;b=k[a+72>>2]|0;if(!b)c=0;else c=tc[k[(k[b>>2]|0)+100>>2]&511](b)|0;b=k[a+76>>2]|0;if(!b){a=c;return a|0}a=(tc[k[(k[b>>2]|0)+120>>2]&511](b)|0)+c|0;return a|0}function rH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((c|0)==(d|0)){c=d;break}a=k[c>>2]|0;if(a>>>0>=128)break;a=(MK()|0)+(a<<1)|0;if(!((j[a>>1]&b)<<16>>16))break;c=c+4|0}return c|0}function sH(a,b){a=a|0;b=b|0;var c=0;k[a+60>>2]=b;c=k[a+76>>2]|0;if(c|0)rc[k[(k[c>>2]|0)+104>>2]&1023](c,b);c=k[a+72>>2]|0;if(!c)return;rc[k[(k[c>>2]|0)+104>>2]&1023](c,b);return}function tH(a){a=a|0;k[a>>2]=10768;P1(a+80|0);k[a>>2]=8160;P1(a+20|0);P1(a+8|0);f4(a);return}function uH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=ia(e,f)|0;d=a>>>16;a=(c>>>16)+(ia(e,d)|0)|0;e=b>>>16;b=ia(e,f)|0;return (M=(a>>>16)+(ia(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function vH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((c|0)==(d|0)){c=d;break}a=k[c>>2]|0;if(a>>>0<128){a=(MK()|0)+(a<<1)|0;if((j[a>>1]&b)<<16>>16)break}c=c+4|0}return c|0}function wH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=(c-b|0)>>>2;a=e;e=b;while(1){if((e|0)==(c|0))break;g=k[e>>2]|0;i[a>>0]=g>>>0<128?g&255:d;a=a+1|0;e=e+4|0}return b+(f<<2)|0}function xH(){var a=0,b=0;do if(!(i[67880]|0))if(q3(67880)|0){x=0;a=xa(105,2147483647,49265,0)|0;b=x;x=0;if(b&1){b=mb()|0;yb(b|0)}else{k[18548]=a;break}}while(0);return k[18548]|0}function yH(a,b){a=a|0;b=b|0;i[a>>0]=0;k[a+4>>2]=b;b=b+(k[(k[b>>2]|0)+-12>>2]|0)|0;if(!(k[b+16>>2]|0)){b=k[b+72>>2]|0;if(b|0)bt(b)|0;i[a>>0]=1}return}function zH(a,b){a=a|0;b=b|0;i[a>>0]=0;k[a+4>>2]=b;b=b+(k[(k[b>>2]|0)+-12>>2]|0)|0;if(!(k[b+16>>2]|0)){b=k[b+72>>2]|0;if(b|0)ct(b)|0;i[a>>0]=1}return}function AH(a,b,c){a=a|0;b=b|0;c=c|0;a=b;while(1){if((a|0)==(c|0))break;b=i[a>>0]|0;if(b<<24>>24>-1){b=(DK()|0)+(b<<24>>24<<2)|0;b=k[b>>2]&255}i[a>>0]=b;a=a+1|0}return c|0}function BH(a,b,c){a=a|0;b=b|0;c=c|0;a=b;while(1){if((a|0)==(c|0))break;b=i[a>>0]|0;if(b<<24>>24>-1){b=(EK()|0)+(b<<24>>24<<2)|0;b=k[b>>2]&255}i[a>>0]=b;a=a+1|0}return c|0}function CH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=d;k[a+12>>2]=b;k[a+16>>2]=c;a=a+20|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function DH(a,b,c){a=a|0;b=b|0;c=c|0;a=0;if(!(i[b>>0]|0))a=4;else if(!(OG(b,49265)|0))a=4;else if(!(OG(b,47949)|0))a=4;else c=0;do if((a|0)==4)if(!c)if(!(k[18132]|0)){k[18132]=1;c=72532;break}else{c=sI(1,4)|0;break}while(0);return c|0}function EH(a){a=a|0;var b=0;b=hd((OD(a)|0)+1|0)|0;if(!b){FH(42958,15,1,k[4316]|0)|0;cc(1)}$ca(b,a)|0;a=sI(1,32)|0;if(!a){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{k[a+16>>2]=2;k[a+24>>2]=b;return a|0}return 0}function FH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=ia(c,b)|0;if((k[d+76>>2]|0)>-1){f=(Dha(d)|0)==0;a=zx(a,e,d)|0;if(!f)Cha(d)}else a=zx(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function GH(a,b){a=a|0;b=b|0;var c=0;c=k[(k[a+60>>2]|0)+(b<<2)>>2]|0;if(!(i[a+80>>0]|0)){a=c;return a|0}if(!c){a=0;return a|0}b=Ot(c,64,600,0)|0;if(!b){a=c;return a|0}a=k[b+56>>2]|0;return a|0}function HH(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return Hc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function IH(a,b){a=a|0;b=b|0;if(!b){a=0;return a|0}if(Ot(b,48,32,0)|0){a=1;return a|0}b=Ot(b,48,80,0)|0;if(!b){a=0;return a|0}a=(k[b+64>>2]|0)!=(k[a+64>>2]|0);return a|0}function JH(a){a=a|0;var b=0,c=0,d=0;c=0;d=r;r=r+16|0;b=d;if(!(k[a+8>>2]|0))if(!(jD(a)|0))c=3;else b=-1;else c=3;if((c|0)==3)if((wc[k[a+32>>2]&127](a,b,1)|0)==1)b=l[b>>0]|0;else b=-1;r=d;return b|0}function KH(a,b){a=a|0;b=b|0;var c=0;c=OD(b)|0;x=0;b=wa(29,a|0,0,-1,b|0,c|0)|0;a=x;x=0;if(a&1){c=Eb(0)|0;Nba(c)}else return b|0;return 0}function LH(a,b){a=+a;b=+b;var c=0;p[t>>3]=b;c=k[t+4>>2]|0;b=+X(+a);p[t>>3]=b;c=c&-2147483648|k[t+4>>2];k[t>>2]=k[t>>2];k[t+4>>2]=c;return +(+p[t>>3])}function MH(a,b){a=a|0;b=b|0;b=vb(8)|0;x=0;sa(444,b|0,44650);a=x;x=0;if(a&1){a=mb()|0;lb(b|0);yb(a|0)}else Wb(b|0,4416,310);return 0}function NH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=a+8|0;e=k[d>>2]|0;f=k[b>>2]|0;b=k[b+4>>2]|0;c=a+4|0;if(!f)b=b+(k[c>>2]|0)|0;k[a>>2]=f+(k[a>>2]|0);k[c>>2]=b;k[d>>2]=e;return}function OH(a){a=a|0;k[a>>2]=11868;P1(a+96|0);k[a>>2]=6600;P1(a+80|0);P1(a+68|0);uha(a);return}function PH(a){a=a|0;var b=0,c=0,d=0.0,e=0;b=Qha()|0;b=i[k[b>>2]>>0]|0;if(b<<24>>24!=46){c=r2(a,46)|0;if(c|0){e=HI(a)|0;i[e+(c-a)>>0]=b;d=+dha(e);cf(e);return +d}}d=+dha(a);return +d}function QH(a){a=a|0;var b=0,c=0,d=0;a=a+-60|0;k[a+60>>2]=5132;b=k[a+64>>2]|0;if(!b){uha(a);return}c=a+68|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function RH(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))yy(0,b,c,d,e);return}function SH(a){a=a|0;if((i[a>>0]|0)==45)do a=a+1|0;while((i[a>>0]|0)==45);a=Kt(a)|0;if(!a){a=0;return a|0}a=Jt(a)|0;return a|0}function TH(a){a=a|0;var b=0;a=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;k[a>>2]=13144;b=a+108|0;k[b>>2]=13164;$v(a+8|0);P9(b);uha(a);return}function UH(a){a=a|0;var b=0,c=0,d=0;a=a+-56|0;k[a+56>>2]=10416;b=k[a+60>>2]|0;if(!b){uha(a);return}c=a+64|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function VH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<(a|0)&(a|0)<(b+c|0)){d=a;b=b+c|0;a=a+c|0;while((c|0)>0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else WC(a,b,c)|0;return a|0}function WH(a){a=a|0;var b=0,c=0,d=0;a=a+-48|0;k[a+48>>2]=12788;b=k[a+52>>2]|0;if(!b){uha(a);return}c=a+56|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function XH(a){a=a|0;var b=0;b=i[a>>0]|0;if(b<<24>>24!=32)if(((b<<24>>24)+-9|0)>>>0>=5){b=a;return b|0}while(1){a=a+1|0;b=i[a>>0]|0;if(b<<24>>24==32)continue;if(((b<<24>>24)+-9|0)>>>0>=5)break}return a|0}function YH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+8|0;e=c;fJ(e,b,a+8|0);qK(d,e,b+20|0);tK(a+28|0,d);r=c;return}function ZH(a,b){a=a|0;b=b|0;tc[k[(k[a>>2]|0)+24>>2]&511](a)|0;b=aR(b,75972)|0;k[a+36>>2]=b;b=(tc[k[(k[b>>2]|0)+28>>2]&511](b)|0)&1;i[a+44>>0]=b;return}function _H(a,b){a=a|0;b=b|0;tc[k[(k[a>>2]|0)+24>>2]&511](a)|0;b=aR(b,75964)|0;k[a+36>>2]=b;b=(tc[k[(k[b>>2]|0)+28>>2]&511](b)|0)&1;i[a+44>>0]=b;return}function $H(a){a=a|0;var b=0,c=0,d=0;a=a+-56|0;k[a+56>>2]=5552;b=k[a+60>>2]|0;if(!b){uha(a);return}c=a+64|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function aI(a,b){a=a|0;b=b|0;var c=0;c=k[b+68>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);cw(a+4|0);b=k[b+64>>2]|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);return}function bI(){var a=0;do if(!(i[68528]|0))if(q3(68528)|0){x=0;Oa(8)|0;a=x;x=0;if(a&1){a=mb()|0;yb(a|0)}else{k[19002]=76004;break}}while(0);return k[19002]|0}function cI(a){a=a|0;var b=0,c=0,d=0;a=a+-64|0;k[a+64>>2]=9636;b=k[a+68>>2]|0;if(!b){uha(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function dI(a){a=a|0;var b=0,c=0;if((i[a>>0]|0)==35){b=AY(a+1|0)|0;if(!b)b=0;else while(1){c=AY(b)|0;if(!c)break;else b=c}}else b=0;a=b-a|0;return ((a|0)!=4&(a|0)!=7?0:b)|0}function eI(a){a=a|0;k[a>>2]=11868;P1(a+96|0);k[a>>2]=6600;P1(a+80|0);P1(a+68|0);return}function fI(a){a=a|0;var b=0,c=0,d=0;a=a+-56|0;k[a+56>>2]=5132;b=k[a+60>>2]|0;if(!b){uha(a);return}c=a+64|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function gI(){var a=0;do if(!(i[68360]|0))if(q3(68360)|0){x=0;Oa(7)|0;a=x;x=0;if(a&1){a=mb()|0;yb(a|0)}else{k[19e3]=75996;break}}while(0);return k[19e3]|0}function hI(a,b,c){a=a|0;b=b|0;c=c|0;a=mv(a,b)|0;k[a>>2]=c;return}function iI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=k[b+8>>2]|0;e=k[c>>2]|0;c=k[c+4>>2]|0;if(!e)c=c+(k[b+4>>2]|0)|0;k[a>>2]=e+(k[b>>2]|0);k[a+4>>2]=c;k[a+8>>2]=d;return}function jI(a,b){a=a|0;b=b|0;k[a+76>>2]=0;if(!((k[k[a+68>>2]>>2]|0)!=3|b^1))i[a+84>>0]=0;b=a+80|0;if(!(k[b>>2]|0)){Gn(a);return}k[b>>2]=1;Gn(a);return}function kI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=0;c=a+4|0;k[c>>2]=0;k[a+8>>2]=0;b=b>>>0<8?8:b;if(!b)return;d=GG(b<<2)|0;e=d;k[a>>2]=e;k[c>>2]=e;k[a+8>>2]=d+(b<<2);return}function lI(a){a=a|0;a=wy(a)|0;if(!a){a=0;return a|0}a=mx(a)|0;return a|0}function mI(a){a=a|0;var b=0;b=i[a>>0]|0;if(b<<24>>24!=32)if(((b<<24>>24)+-9|0)>>>0>=5){b=0;return b|0}while(1){a=a+1|0;b=i[a>>0]|0;if(b<<24>>24==32)continue;if(((b<<24>>24)+-9|0)>>>0>=5)break}return a|0}function nI(a){a=a|0;var b=0;b=i[v+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[v+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[v+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[v+(a>>>24)>>0]|0)+24|0}function oI(a){a=a|0;var b=0;b=a+(k[(k[a>>2]|0)+-12>>2]|0)|0;k[b>>2]=13144;a=b+108|0;k[a>>2]=13164;$v(b+8|0);P9(a);return}function pI(a,b){a=a|0;b=b|0;var c=0;k[a+4>>2]=b+-1;k[a>>2]=24288;x=0;b=Oa(3)|0;c=x;x=0;if(c&1){c=mb()|0;yb(c|0)}else{k[a+8>>2]=b;return}}function qI(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;if((k[a>>2]|0)!=-1){k[b>>2]=a;k[b+4>>2]=353;k[b+8>>2]=0;at(a,b,354)}r=c;return (k[a+4>>2]|0)+-1|0}function rI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;d=e;k[d>>2]=k[c>>2];a=wc[k[(k[a>>2]|0)+16>>2]&127](a,b,d)|0;if(a)k[c>>2]=k[d>>2];r=e;return a&1|0}function sI(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else{c=ia(b,a)|0;if((b|a)>>>0>65535)c=((c>>>0)/(a>>>0)|0|0)==(b|0)?c:-1}b=hd(c)|0;if(!b)return b|0;if(!(k[b+-4>>2]&3))return b|0;vE(b|0,0,c|0)|0;return b|0}function tI(a){a=a|0;var b=0;b=vb(8)|0;x=0;sa(444,b|0,a|0);a=x;x=0;if(a&1){a=mb()|0;lb(b|0);yb(a|0)}else Wb(b|0,4416,310)}function uI(a,b){a=+a;b=b|0;var c=0;c=sI(1,40)|0;if(!c){b=0;return b|0}k[c>>2]=1;p[c+8>>3]=a;if(b|0){b=HI(b)|0;k[c+16>>2]=b;if(b|0){b=c;return b|0}}cf(c);b=0;return b|0}function vI(a,b){a=a|0;b=b|0;var c=0;c=k[a+68>>2]|0;rc[k[(k[c>>2]|0)+80>>2]&1023](c,b);c=k[a+64>>2]|0;rc[k[(k[c>>2]|0)+80>>2]&1023](c,b);i[a+48>>0]=b&1;return}function wI(a){a=a|0;var b=0,c=0;c=k[a+76>>2]|0;while(1){if(!c)break;b=k[c+76>>2]|0;if(!b)break;else{a=c;c=b}}b=a+68|0;c=k[b>>2]|0;k[b>>2]=0;k[a+76>>2]=0;return c|0}function xI(a){a=a|0;var b=0,c=0;x=0;b=Oa(9)|0;c=x;x=0;if(c&1){c=Eb(0)|0;Nba(c)}else{c=k[b>>2]|0;k[a>>2]=c;F3(c);return}}function yI(a,b){a=a|0;b=b|0;b=Ot(b,64,1944,0)|0;if(!b){a=0;return a|0}if((k[a+56>>2]|0)!=(k[b+56>>2]|0)){a=0;return a|0}a=(k[a+60>>2]|0)==(k[b+60>>2]|0);return a|0}function zI(a,b){a=a|0;b=b|0;var c=0;c=k[b+68>>2]|0;if(c|0)rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);c=k[b+64>>2]|0;if(!c)return;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);return}function AI(a){a=a|0;if(i[a+95>>0]|0)if(i[a+97>>0]|0)return;switch(k[k[a+68>>2]>>2]|0){case 2:{k[a+76>>2]=1;return}case 3:return;default:{k[a+80>>2]=1;k[a+76>>2]=0;return}}}function BI(a){a=a|0;var b=0,c=0,d=0;k[a+60>>2]=5132;b=k[a+64>>2]|0;if(!b){uha(a);return}c=a+68|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function CI(a,b){a=a|0;b=b|0;var c=0;c=sI(1,40)|0;if(!c){b=0;return b|0}k[c>>2]=4;k[c+8>>2]=a;k[c+4>>2]=b;b=sI(a,4)|0;k[c+12>>2]=b;if(b|0){b=c;return b|0}cf(c);b=0;return b|0}function DI(a){a=a|0;var b=0,c=0,d=0;k[a+56>>2]=10416;b=k[a+60>>2]|0;if(!b){uha(a);return}c=a+64|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function EI(a){a=a|0;var b=0,c=0,d=0;k[a+48>>2]=12788;b=k[a+52>>2]|0;if(!b){uha(a);return}c=a+56|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function FI(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Ic[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function GI(a){a=a|0;var b=0,c=0,d=0;k[a+56>>2]=5552;b=k[a+60>>2]|0;if(!b){uha(a);return}c=a+64|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function HI(a){a=a|0;var b=0,c=0;b=(OD(a)|0)+1|0;c=hd(b)|0;if(!c){vm(73208,42958,15)|0;cc(1)}else{WC(c|0,a|0,b|0)|0;return c|0}return 0}function II(a){a=a|0;var b=0;b=k[a+68>>2]|0;if((k[a+64>>2]|0)==(b|0))return;b=k[b+-4>>2]|0;if(!b)return;b=Ot(b,64,376,0)|0;if(!b)return;qc[k[(k[b>>2]|0)+96>>2]&511](b);return}function JI(a){a=a|0;k[a>>2]=10840;P1(a+28|0);k[a>>2]=8184;P1(a+8|0);f4(a);uha(a);return}function KI(a){a=a|0;var b=0,c=0,d=0;k[a+64>>2]=9636;b=k[a+68>>2]|0;if(!b){uha(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function LI(a){a=a|0;k[a>>2]=10672;P1(a+28|0);k[a>>2]=8184;P1(a+8|0);f4(a);uha(a);return}function MI(a){a=a|0;var b=0,c=0,d=0;k[a+56>>2]=5132;b=k[a+60>>2]|0;if(!b){uha(a);return}c=a+64|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);uha(a);return}function NI(a){a=a|0;var b=0;b=k[a+64>>2]|0;if((b|0)==(k[a+68>>2]|0))return;b=k[b>>2]|0;if(!b)return;b=Ot(b,64,376,0)|0;if(!b)return;qc[k[(k[b>>2]|0)+100>>2]&511](b);return}function OI(a){a=a|0;k[a>>2]=10672;P1(a+28|0);k[a>>2]=8184;P1(a+8|0);f4(a);uha(a);return}function PI(a){a=a|0;var b=0;switch(i[a>>0]|0){case 10:case 0:{a=a+1|0;return a|0}case 13:{b=a+1|0;a=(i[b>>0]|0)==10?a+2|0:b;return a|0}default:{b=0;return b|0}}return 0}function QI(a){a=a|0;var b=0;b=sI(1,40)|0;if(!b){a=0;return a|0}i[b+4>>0]=1;k[b>>2]=3;if(a|0){a=HI(a)|0;k[b+8>>2]=a;if(a|0){a=b;return a|0}}cf(b);a=0;return a|0}function RI(a,b){a=+a;b=b|0;var c=0.0;c=+uk(a,1.0)+-.5;if(c>-+Z(.1,+(+((b+1|0)>>>0)))){a=+ha(+a);return +a}if(c>+Z(.1,+(+(b>>>0)))){a=+W(+a);return +a}else{a=+Ica(+a);return +a}return 0.0}function SI(a){a=a|0;var b=0,c=0;b=k[a+4>>2]|0;c=k[a+8>>2]|0;a=(k[a>>2]|0)+(c>>1)|0;if(c&1)b=k[(k[a>>2]|0)+b>>2]|0;qc[b&511](a);return}function TI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=c+8|0;Ac[k[(k[b>>2]|0)+16>>2]&15](a,b,k[c>>2]|0,k[c+4>>2]|0,0,d);return}function UI(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=k[c>>2]|0;if((k[a+8>>2]|0)-d>>2>>>0>b>>>0)return d+(b<<2)|0;else eH(c);return 0}function VI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a+104>>2]=b;c=k[a+8>>2]|0;d=k[a+4>>2]|0;e=c-d|0;k[a+108>>2]=e;if((b|0)!=0&(e|0)>(b|0))k[a+100>>2]=d+b;else k[a+100>>2]=c;return}function WI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))qD(0,b,c,d);return}function XI(a){a=a|0;var b=0,c=0;a=a+-60|0;k[a+60>>2]=5132;c=k[a+64>>2]|0;if(!c)return;a=a+68|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);return}function YI(a){a=a|0;var b=0,c=0;a=a+-56|0;k[a+56>>2]=10416;c=k[a+60>>2]|0;if(!c)return;a=a+64|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);return}function ZI(a){a=a|0;var b=0,c=0;a=a+-48|0;k[a+48>>2]=12788;c=k[a+52>>2]|0;if(!c)return;a=a+56|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);return}function _I(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}function $I(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}function aJ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=k[c>>2]|0;if((k[a+8>>2]|0)-d>>2>>>0>b>>>0)return d+(b<<2)|0;else eH(c);return 0}function bJ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=k[c>>2]|0;if((k[a+8>>2]|0)-d>>2>>>0>b>>>0)return d+(b<<2)|0;else eH(c);return 0}function cJ(a){a=a|0;var b=0,c=0;a=a+-56|0;k[a+56>>2]=5552;c=k[a+60>>2]|0;if(!c)return;a=a+64|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);return}function dJ(a){a=a|0;k[a>>2]=10840;P1(a+28|0);k[a>>2]=8184;P1(a+8|0);f4(a);return}function eJ(a,b){a=a|0;b=b|0;var c=0;c=k[b+56>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);b=k[b+60>>2]|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);return}function fJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=k[b>>2]|0;d=k[c>>2]|0;b=(k[b+4>>2]|0)-((e|0)==(d|0)?k[c+4>>2]|0:0)|0;k[a>>2]=e-d;k[a+4>>2]=b;return}function gJ(a){a=a|0;k[a>>2]=10672;P1(a+28|0);k[a>>2]=8184;P1(a+8|0);f4(a);return}function hJ(a){a=a|0;var b=0,c=0;a=a+-64|0;k[a+64>>2]=9636;c=k[a+68>>2]|0;if(!c)return;a=a+72|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);return}function iJ(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)>256){P3()|0;b=74068}else{D3()|0;b=74072}k[a>>2]=c;k[a+4>>2]=b;return}function jJ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=k[c>>2]|0;if((k[a+8>>2]|0)-d>>2>>>0>b>>>0)return d+(b<<2)|0;else eH(c);return 0}function kJ(a){a=a|0;return To(a)|0}function lJ(a){a=a|0;var b=0,c=0;a=a+-56|0;k[a+56>>2]=5132;c=k[a+60>>2]|0;if(!c)return;a=a+64|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);return}function mJ(a){a=a|0;var b=0;b=k[a+68>>2]|0;if((b|0)==(k[a+64>>2]|0)){a=0;return a|0}a=k[b+-4>>2]|0;a=tc[k[(k[a>>2]|0)+92>>2]&511](a)|0;return a|0}function nJ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=k[c>>2]|0;if((k[a+8>>2]|0)-d>>2>>>0>b>>>0)return d+(b<<2)|0;else eH(c);return 0}function oJ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=k[c>>2]|0;if((k[a+8>>2]|0)-d>>2>>>0>b>>>0)return d+(b<<2)|0;else eH(c);return 0}function pJ(a,b,c){a=a|0;b=b|0;c=c|0;k[a>>2]=12816;k[a+4>>2]=b;k[a+8>>2]=c;return}function qJ(a,b){a=a|0;b=b|0;var c=0,d=0;d=OD(b)|0;c=GG(d+13|0)|0;k[c>>2]=d;k[c+4>>2]=d;k[c+8>>2]=0;c=c+12|0;WC(c|0,b|0,d+1|0)|0;k[a>>2]=c;return}function rJ(a){a=a|0;k[a>>2]=21720;xI(a+4|0);a=a+8|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;return}function sJ(a){a=a|0;k[a>>2]=21656;xI(a+4|0);a=a+8|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;return}function tJ(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+4|0;d=k[c>>2]|0;if((k[a+8>>2]|0)-d>>2>>>0>b>>>0)return d+(b<<2)|0;else eH(c);return 0}function uJ(a){a=a|0;var b=0;if((tc[k[(k[a>>2]|0)+36>>2]&511](a)|0)==-1)a=-1;else{b=a+12|0;a=k[b>>2]|0;k[b>>2]=a+4;a=k[a>>2]|0}return a|0}function vJ(a){a=a|0;var b=0;if((tc[k[(k[a>>2]|0)+36>>2]&511](a)|0)==-1)a=-1;else{b=a+12|0;a=k[b>>2]|0;k[b>>2]=a+1;a=l[a>>0]|0}return a|0}function wJ(a){a=a|0;rC(a,k[a+4>>2]|0);return}function xJ(a,b){a=a|0;b=b|0;if(gM(a,b)|0)return k[(k[a+8>>2]|0)+(b<<2)>>2]|0;else{a=vb(4)|0;Nea(a);Wb(a|0,4480,315)}return 0}function yJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((b|0)==(c|0))break;a=i[b>>0]|0;i[e>>0]=a<<24>>24>-1?a:d;e=e+1|0;b=b+1|0}return c|0}function zJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=k[d>>2]|0;a=(k[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;WC(e|0,b|0,a|0)|0;k[d>>2]=(k[d>>2]|0)+a;return c|0}function AJ(a){a=a|0;var b=0;b=k[a+64>>2]|0;if((k[a+68>>2]|0)==(b|0)){a=0;return a|0}a=k[b>>2]|0;a=tc[k[(k[a>>2]|0)+88>>2]&511](a)|0;return a|0}function BJ(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0;e=sI(1,40)|0;if(!e){e=0;return e|0}k[e>>2]=2;p[e+8>>3]=a;p[e+16>>3]=b;p[e+24>>3]=c;p[e+32>>3]=d;return e|0}function CJ(a,b){a=a|0;b=b|0;k[a+4>>2]=b+-1;k[a>>2]=24448;k[a+8>>2]=46;k[a+12>>2]=44;b=a+16|0;a=0;while(1){if((a|0)==3)break;k[b+(a<<2)>>2]=0;a=a+1|0}return}function DJ(a){a=a|0;var b=0,c=0;b=i[a>>0]|0;c=b<<24>>24;if(b<<24>>24==45|(b<<24>>24<0|((c+-48|0)>>>0<10|((c&-33)+-65|0)>>>0<26)))return 0;else return (b<<24>>24==35?0:a)|0;return 0}function EJ(a,b){a=a|0;b=b|0;return mv(a,b)|0}function FJ(a,b){a=a|0;b=b|0;var c=0;c=k[b+68>>2]|0;rc[k[(k[c>>2]|0)+28>>2]&1023](c,a);b=k[b+64>>2]|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);return}function GJ(a){a=a|0;var b=0;b=sI(1,40)|0;if(!b){a=0;return a|0}k[b>>2]=8;if(a|0){a=HI(a)|0;k[b+4>>2]=a;if(a|0){a=b;return a|0}}cf(b);a=0;return a|0}function HJ(a){a=a|0;var b=0;b=sI(1,40)|0;if(!b){a=0;return a|0}k[b>>2]=3;if(a|0){a=HI(a)|0;k[b+8>>2]=a;if(a|0){a=b;return a|0}}cf(b);a=0;return a|0}function IJ(a,b){a=a|0;b=b|0;k[a+4>>2]=b+-1;k[a>>2]=24408;i[a+8>>0]=46;i[a+9>>0]=44;b=a+12|0;a=0;while(1){if((a|0)==3)break;k[b+(a<<2)>>2]=0;a=a+1|0}return}function JJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=0;while(1){if((b|0)==(c|0))break;d=(k[b>>2]|0)+(a<<4)|0;e=d&-268435456;a=(e>>>24|e)^d;b=b+4|0}return a|0}function KJ(a){a=a|0;k[a>>2]=8160;P1(a+20|0);P1(a+8|0);f4(a);uha(a);return}function LJ(a){a=a|0;var b=0;b=sI(1,40)|0;if(!b){a=0;return a|0}k[b>>2]=7;if(a|0){a=HI(a)|0;k[b+4>>2]=a;if(a|0){a=b;return a|0}}cf(b);a=0;return a|0}function MJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=0;while(1){if((b|0)==(c|0))break;d=(i[b>>0]|0)+(a<<4)|0;e=d&-268435456;a=(e>>>24|e)^d;b=b+1|0}return a|0}function NJ(a){a=a|0;k[a>>2]=8160;P1(a+20|0);P1(a+8|0);f4(a);uha(a);return}function OJ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|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;la(12)}function PJ(a){a=a|0;if(i[a+50>>0]|0){a=1;return a|0}a=k[a+68>>2]|0;if(!a){a=0;return a|0}a=tc[k[(k[a>>2]|0)+92>>2]&511](a)|0;return a|0}function QJ(a){a=a|0;k[a>>2]=8160;P1(a+20|0);P1(a+8|0);f4(a);uha(a);return}function RJ(a){a=a|0;k[a>>2]=8160;P1(a+20|0);P1(a+8|0);f4(a);uha(a);return}function SJ(a){a=a|0;if(i[a+50>>0]|0){a=1;return a|0}a=k[a+64>>2]|0;if(!a){a=0;return a|0}a=tc[k[(k[a>>2]|0)+88>>2]&511](a)|0;return a|0}function TJ(a){a=a|0;k[a>>2]=8160;P1(a+20|0);P1(a+8|0);f4(a);uha(a);return}function UJ(a){a=a|0;var b=0,c=0;k[a+60>>2]=5132;c=k[a+64>>2]|0;if(!c)return;a=a+68|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);return}function VJ(a){a=a|0;k[a>>2]=8160;P1(a+20|0);P1(a+8|0);f4(a);uha(a);return}function WJ(a){a=a|0;var b=0,c=0;k[a+56>>2]=10416;c=k[a+60>>2]|0;if(!c)return;a=a+64|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);return}function XJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=E0($b(3,e|0)|0)|0;r=d;return a|0}function YJ(a){a=a|0;var b=0;k[a>>2]=13144;b=a+108|0;k[b>>2]=13164;$v(a+8|0);P9(b);uha(a);return}function ZJ(a){a=a|0;var b=0,c=0;k[a+48>>2]=12788;c=k[a+52>>2]|0;if(!c)return;a=a+56|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);return}function _J(a){a=a|0;var b=0;b=sI(1,40)|0;if(!b){a=0;return a|0}k[b>>2]=5;k[b+4>>2]=a;a=sI(a,8)|0;k[b+8>>2]=a;if(a|0){a=b;return a|0}cf(b);a=0;return a|0}function $J(a){a=a|0;var b=0,c=0;k[a+56>>2]=5552;c=k[a+60>>2]|0;if(!c)return;a=a+64|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);return}function aK(a){a=a|0;sC(a,k[a+4>>2]|0);return}function bK(a,b){a=a|0;b=b|0;b=k[b>>2]|0;i[a>>0]=0;k[a+4>>2]=1;k[a+8>>2]=b;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;return}function cK(a,b,c){a=a|0;b=b|0;c=c|0;a=mga((i[b>>0]&1)==0?b+1|0:k[b+8>>2]|0,1)|0;return a>>>((a|0)!=(-1|0)&1)|0}function dK(a,b,c){a=a|0;b=b|0;c=c|0;a=mga((i[b>>0]&1)==0?b+1|0:k[b+8>>2]|0,1)|0;return a>>>((a|0)!=(-1|0)&1)|0}function eK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;while(1){d=a+76|0;e=k[d>>2]|0;if(!e)break;else a=e}k[d>>2]=b;k[a+68>>2]=c;return}function fK(a){a=a|0;k[a>>2]=8160;P1(a+20|0);P1(a+8|0);f4(a);uha(a);return}function gK(a){a=a|0;var b=0,c=0;k[a+64>>2]=9636;c=k[a+68>>2]|0;if(!c)return;a=a+72|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);return}function hK(a){a=a|0;var b=0,c=0;k[a+56>>2]=5132;c=k[a+60>>2]|0;if(!c)return;a=a+64|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);uha(c);return}function iK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;e=f|0;qj(a,b,c,d,e)|0;r=f;return (M=k[e+4>>2]|0,k[e>>2]|0)|0}function jK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}function kK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}function lK(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Rc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function mK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((k[a+76>>2]|0)>-1){d=(Dha(a)|0)==0;b=iA(a,b,c)|0;if(!d)Cha(a)}else b=iA(a,b,c)|0;return b|0}function nK(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=1&(c|0)<257)nN(a,b,c);else lE(a,49003,35);return}function oK(a){a=a|0;var b=0;k[a>>2]=13144;b=a+108|0;k[b>>2]=13164;$v(a+8|0);P9(b);return}function pK(a,b){a=a|0;b=b|0;if(!b){a=0;return a|0}if(Ot(b,48,32,0)|0){a=1;return a|0}a=(Ot(b,48,80,0)|0)!=0;return a|0}function qK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=k[c>>2]|0;c=k[c+4>>2]|0;if(!d)c=c+(k[b+4>>2]|0)|0;k[a>>2]=d+(k[b>>2]|0);k[a+4>>2]=c;return}function rK(a,b){a=a|0;b=b|0;a=a+-64|0;if(tc[k[(k[b>>2]|0)+60>>2]&511](b)|0){i[a+86>>0]=1;return}else{i[a+87>>0]=1;return}}function sK(a){a=a|0;var b=0,c=0;c=a+4|0;b=k[c>>2]|0;k[c>>2]=b+-1;if(!b){qc[k[(k[a>>2]|0)+8>>2]&511](a);a=1}else a=0;return a|0}function tK(a,b){a=a|0;b=b|0;var c=0,d=0;c=k[b>>2]|0;b=k[b+4>>2]|0;if(!c)b=b+(k[a+4>>2]|0)|0;d=a;k[d>>2]=c+(k[a>>2]|0);k[d+4>>2]=b;return}function uK(a){a=a|0;k[a>>2]=8272;P1(a+32|0);D2(a);uha(a);return}function vK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Lz(a,c,d);return}function wK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;dA(a,c,d);return}function xK(a,b){a=a|0;b=b|0;k[a>>2]=24892;x=0;sa(555,a+4|0,b|0);a=x;x=0;if(a&1){a=mb()|0;yb(a|0)}else return}function yK(a){a=a|0;sD(a,k[a+4>>2]|0);return}function zK(a){a=a|0;var b=0;b=i[a+60>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=k[a+64>>2]|0;if(b|0){a=0;return a|0}a=(i[a+57>>0]|0)==0;return a|0}function AK(a){a=a|0;k[a>>2]=8160;P1(a+20|0);P1(a+8|0);f4(a);return}function BK(a,b){a=a|0;b=b|0;k[a>>2]=24872;x=0;sa(555,a+4|0,b|0);a=x;x=0;if(a&1){a=mb()|0;yb(a|0)}else return}function CK(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)>256)lE(a,48354,34);else nN(a,0,c);return}function DK(){var a=0,b=0;x=0;a=Oa(4)|0;b=x;x=0;if(b&1){b=Eb(0)|0;Nba(b)}else return k[a>>2]|0;return 0}function EK(){var a=0,b=0;x=0;a=Oa(5)|0;b=x;x=0;if(b&1){b=Eb(0)|0;Nba(b)}else return k[a>>2]|0;return 0}function FK(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)>256)lE(a,48430,33);else nN(a,0,c);return}function GK(a){a=a|0;var b=0;b=k[a+64>>2]|0;if(b|0)if(tc[k[(k[b>>2]|0)+76>>2]&511](b)|0){a=1;return a|0}a=(k[a+52>>2]|0)==7;return a|0}function HK(a){a=a|0;if(tc[k[(k[a>>2]|0)+88>>2]&511](a)|0){a=1;return a|0}a=tc[k[(k[a>>2]|0)+92>>2]&511](a)|0;return a|0}function IK(a,b){a=a|0;b=b|0;var c=0;c=UN(k[a+4>>2]|0)|0;return Pd(b,c,k[a+8>>2]|0)|0}function JK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(c|0){d=a;while(1){c=c+-1|0;k[d>>2]=k[b>>2];if(!c)break;else{b=b+4|0;d=d+4|0}}}return a|0}function KK(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=uH(e,f)|0;a=M;return (M=(ia(b,f)|0)+(ia(d,e)|0)+a|a&0,c|0|0)|0}function LK(a){a=a|0;k[a>>2]=6600;P1(a+80|0);P1(a+68|0);uha(a);return}function MK(){var a=0,b=0;x=0;a=Oa(6)|0;b=x;x=0;if(b&1){b=Eb(0)|0;Nba(b)}else return k[a>>2]|0;return 0}function NK(a){a=a|0;k[a>>2]=8272;P1(a+32|0);D2(a);return}function OK(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;k[e>>2]=c;k[h>>2]=f;return 3}function PK(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+196>>2]&255](a,c,b);return}function QK(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+204>>2]&255](a,c,b);return}function RK(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;k[e>>2]=c;k[h>>2]=f;return 3}function SK(a){a=a|0;k[a>>2]=6600;P1(a+80|0);P1(a+68|0);uha(a);return}function TK(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+192>>2]&255](a,c,b);return}function UK(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+240>>2]&255](a,c,b);return}function VK(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+136>>2]&255](a,c,b);return}function WK(a){a=a|0;k[a>>2]=6600;P1(a+80|0);P1(a+68|0);uha(a);return}function XK(){var a=0,b=0;a=r;r=r+16|0;if(!(Jb(76012,7)|0)){b=Kb(k[19004]|0)|0;r=a;return b|0}else MN(51408,a);return 0}function YK(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+248>>2]&255](a,c,b);return}function ZK(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+252>>2]&255](a,c,b);return}function _K(a){a=a|0;k[a>>2]=6600;P1(a+80|0);P1(a+68|0);uha(a);return}function $K(a){a=a|0;k[a>>2]=6600;P1(a+80|0);P1(a+68|0);uha(a);return}function aL(a){a=a|0;var b=0,c=0;if(!a)return;b=k[a>>2]|0;if(b|0){c=a;do{cf(b);c=c+4|0;b=k[c>>2]|0}while((b|0)!=0)}cf(a);return}function bL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+184>>2]&255](a,c,b);return}function cL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+188>>2]&255](a,c,b);return}function dL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+264>>2]&255](a,c,b);return}function eL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+124>>2]&255](a,c,b);return}function fL(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;return mc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function gL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+260>>2]&255](a,c,b);return}function hL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+128>>2]&255](a,c,b);return}function iL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+268>>2]&255](a,c,b);return}function jL(a){a=a|0;k[a>>2]=6600;P1(a+80|0);P1(a+68|0);uha(a);return}function kL(a,b){a=a|0;b=b|0;var c=0;c=a+96|0;i[c>>0]=1;b=k[b+64>>2]|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);i[c>>0]=0;return}function lL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+176>>2]&255](a,c,b);return}function mL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+236>>2]&255](a,c,b);return}function nL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+256>>2]&255](a,c,b);return}function oL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+216>>2]&255](a,c,b);return}function pL(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=E0(wb(195,d|0)|0)|0;r=c;return a|0}function qL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+28>>2]&255](a,c,b);return}function rL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+244>>2]&255](a,c,b);return}function sL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+168>>2]&255](a,c,b);return}function tL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+172>>2]&255](a,c,b);return}function uL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+272>>2]&255](a,c,b);return}function vL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+132>>2]&255](a,c,b);return}function wL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+208>>2]&255](a,c,b);return}function xL(a){a=a|0;if((((k[a+72>>2]|0)-(k[a+68>>2]|0)|0)/12|0)>>>0>=2){a=0;return a|0}a=(k[a+84>>2]|0)==(k[a+80>>2]|0);return a|0}function yL(a){a=a|0;a=a+60|0;lH(a,xx(a)|0)|0;return}function zL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+44>>2]&255](a,c,b);return}function AL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+36>>2]&255](a,c,b);return}function BL(a,b){a=a|0;b=b|0;if(tc[k[(k[b>>2]|0)+60>>2]&511](b)|0){i[a+86>>0]=1;return}else{i[a+87>>0]=1;return}}function CL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+200>>2]&255](a,c,b);return}function DL(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=sI(1,24)|0;if(!d){a=0;return a|0}k[d>>2]=a;p[d+8>>3]=b;k[d+16>>2]=c;a=d;return a|0}function EL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+32>>2]&255](a,c,b);return}function FL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+60>>2]&255](a,c,b);return}function GL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+48>>2]&255](a,c,b);return}function HL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+224>>2]&255](a,c,b);return}function IL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+112>>2]&255](a,c,b);return}function JL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+108>>2]&255](a,c,b);return}function KL(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<128){c=(MK()|0)+(c<<1)|0;c=(j[c>>1]&b)<<16>>16!=0}else c=0;return c|0}function LL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+52>>2]&255](a,c,b);return}function ML(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((b|0)==(c|0))break;i[d>>0]=i[b>>0]|0;d=d+1|0;b=b+1|0}return c|0}function NL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+220>>2]&255](a,c,b);return}function OL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+104>>2]&255](a,c,b);return}function PL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+232>>2]&255](a,c,b);return}function QL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+40>>2]&255](a,c,b);return}function RL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+148>>2]&255](a,c,b);return}function SL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+228>>2]&255](a,c,b);return}function TL(a){a=a|0;var b=0;b=r;r=r+16|0;cf(a);if(!(Pb(k[19004]|0,0)|0)){r=b;return}else MN(51305,b)}function UL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=r;r=r+16|0;f=e;k[f>>2]=d;d=Cx(a,b,c,f)|0;r=e;return d|0}function VL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+152>>2]&255](a,c,b);return}function WL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+100>>2]&255](a,c,b);return}function XL(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+164>>2]&255](a,c,b);return}function YL(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;Gc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function ZL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((b|0)==(c|0))break;k[d>>2]=i[b>>0];d=d+4|0;b=b+1|0}return c|0}function _L(a,b){a=a|0;b=b|0;b=Ot(b,64,464,0)|0;if(!b){a=0;return a|0}a=(i[a+56>>0]|0)!=0^(i[b+56>>0]|0)!=0^1;return a|0}function $L(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+64>>2]&255](a,c,b);return}function aM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+16>>2]&255](a,c,b);return}function bM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+20>>2]&255](a,c,b);return}function cM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+76>>2]&255](a,c,b);return}function dM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+156>>2]&255](a,c,b);return}function eM(a){a=a|0;var b=0,c=0;c=a+8|0;b=k[c>>2]|0;k[c>>2]=b+-1;if(!b)qc[k[(k[a>>2]|0)+16>>2]&511](a);return}function fM(a,b,c){a=a|0;b=b|0;c=c|0;return Pw(a,b,c,OD(c)|0)|0}function gM(a,b){a=a|0;b=b|0;var c=0;c=k[a+8>>2]|0;if((k[a+12>>2]|0)-c>>2>>>0>b>>>0)c=(k[c+(b<<2)>>2]|0)!=0;else c=0;return c|0}function hM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+96>>2]&255](a,c,b);return}function iM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+56>>2]&255](a,c,b);return}function jM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+24>>2]&255](a,c,b);return}function kM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+160>>2]&255](a,c,b);return}function lM(a){a=a|0;k[a>>2]=6600;P1(a+80|0);P1(a+68|0);return}function mM(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;g=+g;h=h|0;return Kc[a&1](b|0,c|0,d|0,e|0,+f,+g,h|0)|0}function nM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+92>>2]&255](a,c,b);return}function oM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+68>>2]&255](a,c,b);return}function pM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+72>>2]&255](a,c,b);return}function qM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+12>>2]&255](a,c,b);return}function rM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+212>>2]&255](a,c,b);return}function sM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+116>>2]&255](a,c,b);return}function tM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[k[c>>2]>>2]&255](a,c,b);return}function uM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+88>>2]&255](a,c,b);return}function vM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+120>>2]&255](a,c,b);return}function wM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Bk(c,d,e,1114111,0)|0}function xM(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}b=Jc[k[(k[a>>2]|0)+76>>2]&1023](a,b)|0;return b|0}function yM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+84>>2]&255](a,c,b);return}function zM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Hk(c,d,e,1114111,0)|0}function AM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[(k[c>>2]|0)+80>>2]&255](a,c,b);return}function BM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Yb(6,c|0)|0;a=E0((a|0)==-4?-115:a)|0;r=b;return a|0}function CM(a,b){a=a|0;b=b|0;Mz(a,b,qI(75940)|0);return}function DM(a,b){a=a|0;b=b|0;Mz(a,b,qI(75932)|0);return}function EM(a,b){a=a|0;b=b|0;Mz(a,b,qI(75924)|0);return}function FM(a,b){a=a|0;b=b|0;Mz(a,b,qI(75916)|0);return}function GM(a){a=a|0;var b=0,c=0;c=(k[a>>2]|0)+-4|0;b=k[c>>2]|0;k[c>>2]=b+-1;if((b+-1|0)<0)uha((k[a>>2]|0)+-12|0);return}function HM(a,b){a=a|0;b=b|0;Mz(a,b,qI(75876)|0);return}function IM(a,b){a=a|0;b=b|0;Mz(a,b,qI(75868)|0);return}function JM(a,b){a=a|0;b=b|0;Mz(a,b,qI(75860)|0);return}function KM(a,b){a=a|0;b=b|0;Mz(a,b,qI(75048)|0);return}function LM(a){a=a|0;x=0;ua(267,k[a>>2]|0)|0;a=x;x=0;if(a&1){a=Eb(0)|0;Nba(a)}else return}function MM(a,b){a=a|0;b=b|0;Mz(a,b,qI(74236)|0);return}function NM(a,b){a=a|0;b=b|0;Mz(a,b,qI(74228)|0);return}function OM(a,b){a=a|0;b=b|0;Mz(a,b,qI(74220)|0);return}function PM(a,b){a=a|0;b=b|0;Mz(a,b,qI(74196)|0);return}function QM(a){a=+a;var b=0;b=sI(1,32)|0;if(!b){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{k[b+16>>2]=3;p[b+24>>3]=a;return b|0}return 0}function RM(a,b){a=a|0;b=b|0;a=a+52|0;cf(k[a>>2]|0);if(!b){b=0;k[a>>2]=b;return}b=HI(b)|0;k[a>>2]=b;return}function SM(a,b){a=a|0;b=b|0;a=a+48|0;cf(k[a>>2]|0);if(!b){b=0;k[a>>2]=b;return}b=HI(b)|0;k[a>>2]=b;return}function TM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[k[c>>2]>>2]&255](a,c,b);return}function UM(a,b){a=a|0;b=b|0;a=a+32|0;cf(k[a>>2]|0);if(!b){b=0;k[a>>2]=b;return}b=HI(b)|0;k[a>>2]=b;return}function VM(a){a=a|0;return ft(a)|0}function WM(a,b){a=a|0;b=b|0;lH(a+52|0,b)|0;return}function XM(a,b,c){a=a|0;b=b|0;c=c|0;Pc[k[k[c>>2]>>2]&255](a,c,b);return}function YM(a,b){a=a|0;b=b|0;a=a+28|0;cf(k[a>>2]|0);if(!b){b=0;k[a>>2]=b;return}b=HI(b)|0;k[a>>2]=b;return}function ZM(a,b){a=a|0;b=b|0;a=a+24|0;cf(k[a>>2]|0);if(!b){b=0;k[a>>2]=b;return}b=HI(b)|0;k[a>>2]=b;return}function _M(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=E0(Yb(6,c|0)|0)|0;r=b;return a|0}function $M(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(EK()|0)+(b<<24>>24<<2)|0;b=k[b>>2]&255}return b|0}function aN(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 sc[a&127](b|0,c|0,d|0,e|0,f|0,g|0)|0}function bN(a){a=a|0;return ft(a)|0}function cN(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b>>c;return a>>>c|(b&(1<>c-32|0}function dN(a){a=a|0;a=k[a+96>>2]|0;if(!a){a=0;return a|0}a=tc[k[(k[a>>2]|0)+96>>2]&511](a)|0;return a|0}function eN(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(DK()|0)+((b&255)<<2)|0;b=k[b>>2]&255}return b|0}function fN(a){a=a|0;var b=0;b=a+8|0;if(!(i[b>>0]&1)){a=b+1|0;return a|0}else{a=k[a+16>>2]|0;return a|0}return 0}function gN(a){a=a|0;a=k[a+96>>2]|0;if(!a){a=0;return a|0}a=tc[k[(k[a>>2]|0)+100>>2]&511](a)|0;return a|0}function hN(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;la(21);return 0}function iN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=c;c=o8(a,b,e)|0;r=d;return c|0}function jN(a){a=a|0;if((i[a>>0]|0)!=37){a=0;return a|0}a=Lt(a+1|0)|0;return a|0}function kN(){}function lN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d|0;d=(d|0)-(c>>>0>a>>>0|0)>>>0;return (M=d,a-c>>>0|0)|0}function mN(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;return nc[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function nN(a,b,c){a=a|0;b=b|0;c=c|0;b=GE(c)|0;lE(a,b,OD(b)|0);return}function oN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=c;c=vG(a,b,e)|0;r=d;return c|0}function pN(a,b){a=a|0;b=b|0;return tz(a,b,I2(b)|0)|0}function qN(a,b){a=a|0;b=b|0;return oz(a,b,OD(b)|0)|0}function rN(a,b){a=a|0;b=b|0;return xz(a,b,OD(b)|0)|0}function sN(a){a=a|0;var b=0,c=0;b=a+60|0;c=k[b>>2]|0;if(c|0){a=c;return a|0}a=l[a+56>>0]|0;k[b>>2]=a;return a|0}function tN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(c|0){d=a;while(1){c=c+-1|0;k[d>>2]=b;if(!c)break;else d=d+4|0}}return a|0}function uN(a){a=a|0;var b=0;b=a+20|0;if(!(i[b>>0]&1)){a=b+1|0;return a|0}else{a=k[a+28>>2]|0;return a|0}return 0}function vN(a){a=a|0;if((k[a+68>>2]|0)!=(k[a+72>>2]|0)){a=0;return a|0}a=(k[a+80>>2]|0)==(k[a+84>>2]|0);return a|0}function wN(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;Ac[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function xN(a){a=a|0;k[a>>2]=8184;P1(a+8|0);f4(a);uha(a);return}function yN(a){a=a|0;k[a>>2]=8184;P1(a+8|0);f4(a);uha(a);return}function zN(a){a=a|0;if((i[a>>0]|0)!=35){a=0;return a|0}a=Lt(a+1|0)|0;return a|0}function AN(a){a=a|0;var b=0;b=i[a>>0]|0;if(b<<24>>24!=32)if(((b<<24>>24)+-9|0)>>>0>=5){a=0;return a|0}a=a+1|0;return a|0}function BN(a,b){a=a|0;b=b|0;var c=0.0;c=+Kda(k[a>>2]|0);return c>+Kda(k[b>>2]|0)|0}function CN(a){a=a|0;cf(k[a>>2]|0);cf(k[a+4>>2]|0);cf(k[a+8>>2]|0);cf(k[a+12>>2]|0);cf(k[a+16>>2]|0);cf(a);return}function DN(a){a=a|0;var b=0;b=a+8|0;if(!(i[b>>0]&1)){a=b+1|0;return a|0}else{a=k[a+16>>2]|0;return a|0}return 0}function EN(a){a=a|0;k[a>>2]=8184;P1(a+8|0);f4(a);uha(a);return}function FN(a,b){a=a|0;b=b|0;b=k[b+64>>2]|0;if(!b)return;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);return}function GN(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b<>>32-c;return a<>0]|0)!=58){a=0;return a|0}a=(i[b>>0]|0)==58?a+2|0:b;return a|0}function IN(a){a=a|0;var b=0;b=k[a+28>>2]|0;if((b|0)==(k[a+24>>2]|0)){a=0;return a|0}a=k[b+-4>>2]|0;return a|0}function JN(a){a=a|0;i[a>>0]=0;k[a+4>>2]=3;a=a+8|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function KN(a,b){a=a|0;b=b|0;b=(i[b+80>>0]|0)!=0;lE(a,b?26706:37790,b?7:4);return}function LN(a){a=a|0;if(((i[a>>0]|0)+-48|0)>>>0>9){a=0;return a|0}do a=a+1|0;while(((i[a>>0]|0)+-48|0)>>>0<=9);return a|0}function MN(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c>>2]=b;b=k[4316]|0;Pt(b,a,c)|0;sz(10,b)|0;bb()}function NN(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(DK()|0)+(b<<2)|0;b=k[b>>2]|0}return b|0}function ON(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(EK()|0)+(b<<2)|0;b=k[b>>2]|0}return b|0}function PN(a){a=a|0;var b=0;b=k[a+100>>2]|0;if((b|0)==(k[a+96>>2]|0)){a=0;return a|0}a=k[b+-4>>2]|0;return a|0}function QN(a,b){a=a|0;b=b|0;VX(a,b)|0;return 0}function RN(a,b){a=a|0;b=b|0;WX(a,b)|0;return 0}function SN(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b>>>c;return a>>>c|(b&(1<>>c-32|0}function TN(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;K$(b,a+28|0);r=c;return k[b>>2]|0}function UN(a){a=a|0;var b=0;b=k[a+76>>2]|0;if((b|0)==(k[a+72>>2]|0)){a=0;return a|0}a=k[b+-4>>2]|0;return a|0}function VN(){var a=0;a=r;r=r+16|0;if(!($a(76016,366)|0)){r=a;return}else MN(51358,a)}function WN(a,b){a=a|0;b=b|0;dZ(a,b)|0;return 0}function XN(a,b){a=a|0;b=b|0;eZ(a,b)|0;return 0}function YN(a,b){a=a|0;b=b|0;fZ(a,b)|0;return 0}function ZN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=d-c|0;return (a>>>0>>0?a:e)|0}function _N(a){a=a|0;var b=0;b=a+16|0;k[b>>2]=k[b>>2]|1;if(!(k[a+20>>2]&1))return;else Lb()}function $N(a,b){a=a|0;b=b|0;Mz(a,b,qI(75980)|0);return}function aO(a,b){a=a|0;b=b|0;Mz(a,b,qI(75988)|0);return}function bO(a){a=a|0;return hr(a)|0}function cO(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=f|0;g=g|0;return zc[a&1](+b,+c,+d,+e,f|0,g|0)|0}function dO(a,b){a=a|0;b=b|0;Mz(a,b,qI(75972)|0);return}function eO(a,b){a=a|0;b=b|0;Mz(a,b,qI(75964)|0);return}function fO(a,b){a=a|0;b=b|0;WZ(a,b)|0;return 0}function gO(a,b){a=a|0;b=b|0;XZ(a,b)|0;return 0}function hO(a,b){a=a|0;b=b|0;YZ(a,b)|0;return 0}function iO(a){a=a|0;var b=0;if((k[a+76>>2]|0)>-1){b=(Dha(a)|0)==0;a=jH(a)|0}else a=jH(a)|0;return a|0}function jO(a,b){a=a|0;b=b|0;q_(a,b)|0;return 0}function kO(a,b){a=a|0;b=b|0;r_(a,b)|0;return 0}function lO(a,b){a=a|0;b=b|0;s_(a,b)|0;return 0}function mO(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 vc[a&31](b|0,c|0,d|0,e|0,f|0)|0}function nO(){var a=0;a=gI()|0;a=k[a>>2]|0;k[19001]=a;F3(a);return 76004}function oO(a,b,c){a=a|0;b=b|0;c=c|0;return ((k[b>>2]|0)==(c|0)?(k[b+4>>2]|0)==(a|0):0)|0}function pO(a){a=a|0;k[a>>2]=8184;P1(a+8|0);f4(a);return}function qO(a){a=a|0;a=wy(a)|0;if(!a){a=0;return a|0}a=(i[a>>0]|0)==37?a+1|0:0;return a|0}function rO(a,b){a=a|0;b=b|0;b=k[b+64>>2]|0;if(!b)return;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);return}function sO(a,b){a=a|0;b=b|0;F_(a,b)|0;return 0}function tO(a,b){a=a|0;b=b|0;G_(a,b)|0;return 0}function uO(a,b){a=a|0;b=b|0;H_(a,b)|0;return 0}function vO(a,b){a=a|0;b=b|0;Mz(a,b,qI(75908)|0);return}function wO(a,b){a=a|0;b=b|0;Mz(a,b,qI(75900)|0);return}function xO(a,b){a=a|0;b=b|0;Mz(a,b,qI(75892)|0);return}function yO(a,b){a=a|0;b=b|0;Mz(a,b,qI(75884)|0);return}function zO(a,b){a=a|0;b=b|0;b=k[b+56>>2]|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);return}function AO(a){a=a|0;qc[k[(k[a>>2]|0)+96>>2]&511](a);qc[k[(k[a>>2]|0)+100>>2]&511](a);return}function BO(a,b){a=a|0;b=b|0;X_(a,b)|0;return 0}function CO(a,b){a=a|0;b=b|0;Y_(a,b)|0;return 0}function DO(a,b){a=a|0;b=b|0;Z_(a,b)|0;return 0}function EO(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function FO(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function GO(a,b){a=a|0;b=b|0;b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}return}function HO(a,b){a=a|0;b=b|0;b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}return}function IO(a,b){a=a|0;b=b|0;b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}return}function JO(a,b){a=a|0;b=b|0;b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}return}function KO(a){a=a|0;E3(a+(k[(k[a>>2]|0)+-12>>2]|0)|0);return}function LO(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+196>>2]&1023](b,a)|0}function MO(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+204>>2]&1023](b,a)|0}function NO(a,b){a=a|0;b=b|0;d$(a,b)|0;return 0}function OO(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function PO(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function QO(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function RO(a){a=a|0;qc[k[(k[a>>2]|0)+96>>2]&511](a);qc[k[(k[a>>2]|0)+100>>2]&511](a);return}function SO(a,b){a=a|0;b=b|0;b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}return}function TO(a,b){a=a|0;b=b|0;b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}return}function UO(a,b){a=a|0;b=b|0;b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}return}function VO(a,b){a=a|0;b=b|0;b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}return}function WO(a){a=a|0;a=k[a+12>>2]|0;if(!a){a=0;return a|0}a=(k[a+12>>2]|0)!=0;return a|0}function XO(a){a=a|0;var b=0;b=i[a>>0]|0;if(b<<24>>24!=32)if(((b<<24>>24)+-9|0)>>>0>=5)return a|0;a=0;return a|0}function YO(a){a=a|0;return ds(a)|0}function ZO(){var a=0;a=sI(1,32)|0;if(!a){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{k[a+16>>2]=5;return a|0}return 0}function _O(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Sc[a&7](b|0,c|0,d|0,e|0,+f)|0}function $O(a){a=a|0;$3(a+(k[(k[a>>2]|0)+-12>>2]|0)|0);return}function aP(a){a=a|0;a4(a+(k[(k[a>>2]|0)+-12>>2]|0)|0);return}function bP(a){a=a|0;b4(a+(k[(k[a>>2]|0)+-12>>2]|0)|0);return}function cP(a){a=a|0;c4(a+(k[(k[a>>2]|0)+-12>>2]|0)|0);return}function dP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+196>>2]&1023](b,a)|0}function eP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+204>>2]&1023](b,a)|0}function fP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+192>>2]&1023](b,a)|0}function gP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+240>>2]&1023](b,a)|0}function hP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+136>>2]&1023](b,a)|0}function iP(a,b){a=a|0;b=b|0;l$(a,b)|0;return 0}function jP(a,b){a=a|0;b=b|0;m$(a,b)|0;return 0}function kP(a,b){a=a|0;b=b|0;n$(a,b)|0;return 0}function lP(a,b){a=a|0;b=b|0;o$(a,b)|0;return 0}function mP(a,b){a=a|0;b=b|0;p$(a,b)|0;return 0}function nP(a,b){a=a|0;b=b|0;q$(a,b)|0;return 0}function oP(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function pP(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function qP(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function rP(){var a=0;a=sI(1,32)|0;if(!a){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{k[a+16>>2]=4;return a|0}return 0}function sP(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;la(22)}function tP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+196>>2]&1023](b,a)|0}function uP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+196>>2]&1023](b,a)|0}function vP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+204>>2]&1023](b,a)|0}function wP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+204>>2]&1023](b,a)|0}function xP(a,b){a=a|0;b=b|0;rc[k[(k[a>>2]|0)+12>>2]&1023](a,k[b+64>>2]|0);return}function yP(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function zP(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function AP(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function BP(a,b){a=a|0;b=b|0;if(!(i[b+56>>0]|0))return;i[a+-68+56>>0]=1;return}function CP(a,b){a=a|0;b=b|0;b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}return}function DP(a,b){a=a|0;b=b|0;b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}return}function EP(a,b){a=a|0;b=b|0;b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}return}function FP(a,b){a=a|0;b=b|0;b=0;while(1){if((b|0)==3)break;k[a+(b<<2)>>2]=0;b=b+1|0}return}function GP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+196>>2]&1023](b,a)|0}function HP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+204>>2]&1023](b,a)|0}function IP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+192>>2]&1023](b,a)|0}function JP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+240>>2]&1023](b,a)|0}function KP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+136>>2]&1023](b,a)|0}function LP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+248>>2]&1023](b,a)|0}function MP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+252>>2]&1023](b,a)|0}function NP(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function OP(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function PP(a,b){a=a|0;b=b|0;Mz(a,b,qI(74212)|0);return}function QP(a,b){a=a|0;b=b|0;Mz(a,b,qI(74184)|0);return}function RP(a,b){a=a|0;b=b|0;Mz(a,b,qI(75956)|0);return}function SP(a,b){a=a|0;b=b|0;Mz(a,b,qI(75948)|0);return}function TP(a,b){a=a|0;b=b|0;b=k[b+68>>2]|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);return}function UP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+192>>2]&1023](b,a)|0}function VP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+192>>2]&1023](b,a)|0}function WP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+240>>2]&1023](b,a)|0}function XP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+240>>2]&1023](b,a)|0}function YP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+136>>2]&1023](b,a)|0}function ZP(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+136>>2]&1023](b,a)|0}function _P(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+184>>2]&1023](b,a)|0}function $P(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+188>>2]&1023](b,a)|0}function aQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+264>>2]&1023](b,a)|0}function bQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+124>>2]&1023](b,a)|0}function cQ(a){a=a|0;a=tc[k[(k[a>>2]|0)+116>>2]&511](a)|0;return (a?k[2145]|0:k[2148]|0)|0}function dQ(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function eQ(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function fQ(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function gQ(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function hQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pc[a&15](b|0,c|0,d|0,e|0,f|0)}function iQ(a,b){a=a|0;b=b|0;Mz(a,b,qI(74164)|0);return}function jQ(a,b){a=a|0;b=b|0;Mz(a,b,qI(74156)|0);return}function kQ(a){a=a|0;a=i[a>>0]|0;if(a<<24>>24==32){a=1;return a|0}a=((a<<24>>24)+-9|0)>>>0<5;return a|0}function lQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+196>>2]&1023](b,a)|0}function mQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+204>>2]&1023](b,a)|0}function nQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+192>>2]&1023](b,a)|0}function oQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+240>>2]&1023](b,a)|0}function pQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+136>>2]&1023](b,a)|0}function qQ(a,b){a=a|0;b=b|0;rc[k[(k[a>>2]|0)+12>>2]&1023](a,k[b+64>>2]|0);return}function rQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+248>>2]&1023](b,a)|0}function sQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+252>>2]&1023](b,a)|0}function tQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+260>>2]&1023](b,a)|0}function uQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+128>>2]&1023](b,a)|0}function vQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+268>>2]&1023](b,a)|0}function wQ(a,b){a=a|0;b=b|0;O$(a,b)|0;return 0}function xQ(a,b){a=a|0;b=b|0;P$(a,b)|0;return 0}function yQ(a,b){a=a|0;b=b|0;Q$(a,b)|0;return 0}function zQ(a,b){a=a|0;b=b|0;R$(a,b)|0;return 0}function AQ(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function BQ(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function CQ(a){a=a|0;if(sK(a)|0)eM(a);return}function DQ(a,b){a=a|0;b=b|0;mE(a,24500,I2(24500)|0);return}function EQ(a,b){a=a|0;b=b|0;b=k[b+64>>2]|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);return}function FQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+248>>2]&1023](b,a)|0}function GQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+248>>2]&1023](b,a)|0}function HQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+252>>2]&1023](b,a)|0}function IQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+252>>2]&1023](b,a)|0}function JQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+184>>2]&1023](b,a)|0}function KQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+188>>2]&1023](b,a)|0}function LQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+264>>2]&1023](b,a)|0}function MQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+124>>2]&1023](b,a)|0}function NQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+176>>2]&1023](b,a)|0}function OQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+236>>2]&1023](b,a)|0}function PQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+256>>2]&1023](b,a)|0}function QQ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+216>>2]&1023](b,a)|0}function RQ(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function SQ(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function TQ(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function UQ(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function VQ(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function WQ(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function XQ(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function YQ(a,b){a=a|0;b=b|0;Mz(a,b,qI(74204)|0);return}function ZQ(a,b){a=a|0;b=b|0;Mz(a,b,qI(74172)|0);return}function _Q(){if(!(i[67872]|0))if(q3(67872)|0){k[18538]=21964;Ub(224,74152,w|0)|0}return 74152}function $Q(a,b){a=a|0;b=b|0;mE(a,24480,I2(24480)|0);return}function aR(a,b){a=a|0;b=b|0;a=k[a>>2]|0;return xJ(a,qI(b)|0)|0}function bR(a,b){a=a|0;b=b|0;a=k[a>>2]|0;return gM(a,qI(b)|0)|0}function cR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+192>>2]&1023](b,a)|0}function dR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+240>>2]&1023](b,a)|0}function eR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+136>>2]&1023](b,a)|0}function fR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+248>>2]&1023](b,a)|0}function gR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+252>>2]&1023](b,a)|0}function hR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+184>>2]&1023](b,a)|0}function iR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+184>>2]&1023](b,a)|0}function jR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+188>>2]&1023](b,a)|0}function kR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+188>>2]&1023](b,a)|0}function lR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+264>>2]&1023](b,a)|0}function mR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+264>>2]&1023](b,a)|0}function nR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+124>>2]&1023](b,a)|0}function oR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+124>>2]&1023](b,a)|0}function pR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+260>>2]&1023](b,a)|0}function qR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+128>>2]&1023](b,a)|0}function rR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+268>>2]&1023](b,a)|0}function sR(a,b){a=a|0;b=b|0;a0(a,b)|0;return 0}function tR(a,b){a=a|0;b=b|0;b0(a,b)|0;return 0}function uR(a,b){a=a|0;b=b|0;c0(a,b)|0;return 0}function vR(a,b){a=a|0;b=b|0;d0(a,b)|0;return 0}function wR(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function xR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+184>>2]&1023](b,a)|0}function yR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+188>>2]&1023](b,a)|0}function zR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+264>>2]&1023](b,a)|0}function AR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+124>>2]&1023](b,a)|0}function BR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+260>>2]&1023](b,a)|0}function CR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+260>>2]&1023](b,a)|0}function DR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+128>>2]&1023](b,a)|0}function ER(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+128>>2]&1023](b,a)|0}function FR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+268>>2]&1023](b,a)|0}function GR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+268>>2]&1023](b,a)|0}function HR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+176>>2]&1023](b,a)|0}function IR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+236>>2]&1023](b,a)|0}function JR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+256>>2]&1023](b,a)|0}function KR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+216>>2]&1023](b,a)|0}function LR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+28>>2]&1023](b,a)|0}function MR(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function NR(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function OR(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function PR(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function QR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+244>>2]&1023](b,a)|0}function RR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+168>>2]&1023](b,a)|0}function SR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+172>>2]&1023](b,a)|0}function TR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+272>>2]&1023](b,a)|0}function UR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+132>>2]&1023](b,a)|0}function VR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+208>>2]&1023](b,a)|0}function WR(){lE(72212,44768,6);Ub(323,72212,w|0)|0;return}function XR(a,b){a=a|0;b=b|0;b=k[b+64>>2]|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);return}function YR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+248>>2]&1023](b,a)|0}function ZR(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+252>>2]&1023](b,a)|0}function _R(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+260>>2]&1023](b,a)|0}function $R(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+128>>2]&1023](b,a)|0}function aS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+268>>2]&1023](b,a)|0}function bS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+176>>2]&1023](b,a)|0}function cS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+176>>2]&1023](b,a)|0}function dS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+236>>2]&1023](b,a)|0}function eS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+236>>2]&1023](b,a)|0}function fS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+256>>2]&1023](b,a)|0}function gS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+256>>2]&1023](b,a)|0}function hS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+216>>2]&1023](b,a)|0}function iS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+216>>2]&1023](b,a)|0}function jS(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function kS(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function lS(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function mS(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function nS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+44>>2]&1023](b,a)|0}function oS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+36>>2]&1023](b,a)|0}function pS(a,b){a=a|0;b=b|0;jl(a+-48|0,b);return}function qS(a,b){a=a|0;b=b|0;return BJ(+p[b+56>>3],+p[b+64>>3],+p[b+72>>3],+p[b+80>>3])|0}function rS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+184>>2]&1023](b,a)|0}function sS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+188>>2]&1023](b,a)|0}function tS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+264>>2]&1023](b,a)|0}function uS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+124>>2]&1023](b,a)|0}function vS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+176>>2]&1023](b,a)|0}function wS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+236>>2]&1023](b,a)|0}function xS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+256>>2]&1023](b,a)|0}function yS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+216>>2]&1023](b,a)|0}function zS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+28>>2]&1023](b,a)|0}function AS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+244>>2]&1023](b,a)|0}function BS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+168>>2]&1023](b,a)|0}function CS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+172>>2]&1023](b,a)|0}function DS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+272>>2]&1023](b,a)|0}function ES(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+132>>2]&1023](b,a)|0}function FS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+208>>2]&1023](b,a)|0}function GS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+200>>2]&1023](b,a)|0}function HS(a,b){a=a|0;b=b|0;Mh(a,b+60|0,42);return}function IS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+260>>2]&1023](b,a)|0}function JS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+128>>2]&1023](b,a)|0}function KS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+268>>2]&1023](b,a)|0}function LS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+28>>2]&1023](b,a)|0}function MS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+28>>2]&1023](b,a)|0}function NS(a,b){a=a|0;b=b|0;return gi(a,b)|0}function OS(a,b){a=a|0;b=b|0;return gi(a,b)|0}function PS(a,b){a=a|0;b=b|0;q0(a,b)|0;return 0}function QS(a,b){a=a|0;b=b|0;r0(a,b)|0;return 0}function RS(a,b){a=a|0;b=b|0;s0(a,b)|0;return 0}function SS(a,b){a=a|0;b=b|0;t0(a,b)|0;return 0}function TS(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function US(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function VS(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function WS(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function XS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+244>>2]&1023](b,a)|0}function YS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+244>>2]&1023](b,a)|0}function ZS(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+168>>2]&1023](b,a)|0}function _S(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+168>>2]&1023](b,a)|0}function $S(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+172>>2]&1023](b,a)|0}function aT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+172>>2]&1023](b,a)|0}function bT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+272>>2]&1023](b,a)|0}function cT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+272>>2]&1023](b,a)|0}function dT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+44>>2]&1023](b,a)|0}function eT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+132>>2]&1023](b,a)|0}function fT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+132>>2]&1023](b,a)|0}function gT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+208>>2]&1023](b,a)|0}function hT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+208>>2]&1023](b,a)|0}function iT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+36>>2]&1023](b,a)|0}function jT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+32>>2]&1023](b,a)|0}function kT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+60>>2]&1023](b,a)|0}function lT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+48>>2]&1023](b,a)|0}function mT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+224>>2]&1023](b,a)|0}function nT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+112>>2]&1023](b,a)|0}function oT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+108>>2]&1023](b,a)|0}function pT(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;Ec[a&1](b|0,c|0,+d,e|0,f|0)}function qT(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function rT(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function sT(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function tT(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function uT(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function vT(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function wT(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function xT(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function yT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+176>>2]&1023](b,a)|0}function zT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+236>>2]&1023](b,a)|0}function AT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+256>>2]&1023](b,a)|0}function BT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+216>>2]&1023](b,a)|0}function CT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+28>>2]&1023](b,a)|0}function DT(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function ET(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function FT(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function GT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+244>>2]&1023](b,a)|0}function HT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+168>>2]&1023](b,a)|0}function IT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+172>>2]&1023](b,a)|0}function JT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+272>>2]&1023](b,a)|0}function KT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+44>>2]&1023](b,a)|0}function LT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+44>>2]&1023](b,a)|0}function MT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+132>>2]&1023](b,a)|0}function NT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+208>>2]&1023](b,a)|0}function OT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+36>>2]&1023](b,a)|0}function PT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+36>>2]&1023](b,a)|0}function QT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+200>>2]&1023](b,a)|0}function RT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+52>>2]&1023](b,a)|0}function ST(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;k[e>>2]=c;return 3}function TT(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;k[e>>2]=c;return 3}function UT(a,b){a=a|0;b=b|0;Mh(a,b+60|0,42);return}function VT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+220>>2]&1023](b,a)|0}function WT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+104>>2]&1023](b,a)|0}function XT(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+232>>2]&1023](b,a)|0}function YT(a,b){a=a|0;b=b|0;b=k[b+56>>2]|0;return Jc[k[(k[b>>2]|0)+52>>2]&1023](b,a)|0}function ZT(a,b){a=a|0;b=b|0;return gi(a,b)|0}function _T(a,b){a=a|0;b=b|0;return gi(a,b)|0}function $T(a,b){a=a|0;b=b|0;return gi(a,b)|0}function aU(a,b){a=a|0;b=b|0;F0(a,b)|0;return 0}function bU(a,b){a=a|0;b=b|0;G0(a,b)|0;return 0}function cU(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function dU(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function eU(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function fU(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function gU(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function hU(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function iU(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function jU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+44>>2]&1023](b,a)|0}function kU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+36>>2]&1023](b,a)|0}function lU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+200>>2]&1023](b,a)|0}function mU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+200>>2]&1023](b,a)|0}function nU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+32>>2]&1023](b,a)|0}function oU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+60>>2]&1023](b,a)|0}function pU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+48>>2]&1023](b,a)|0}function qU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+224>>2]&1023](b,a)|0}function rU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+112>>2]&1023](b,a)|0}function sU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+108>>2]&1023](b,a)|0}function tU(){lE(72224,44768,6);Ub(323,72224,w|0)|0;return}function uU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;k[e>>2]=c;return 3}function vU(a,b,c){a=a|0;b=b|0;c=c|0;return Pj(b,c)|0}function wU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+40>>2]&1023](b,a)|0}function xU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+148>>2]&1023](b,a)|0}function yU(a){a=a|0;if((i[a>>0]|0)!=45){a=0;return a|0}do a=a+1|0;while((i[a>>0]|0)==45);return a|0}function zU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+228>>2]&1023](b,a)|0}function AU(a){a=a|0;if((k[k[a+68>>2]>>2]|0)==3)return;k[a+80>>2]=1;k[a+76>>2]=0;return}function BU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+28>>2]&1023](b,a)|0}function CU(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function DU(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function EU(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function FU(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function GU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+244>>2]&1023](b,a)|0}function HU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+168>>2]&1023](b,a)|0}function IU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+172>>2]&1023](b,a)|0}function JU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+272>>2]&1023](b,a)|0}function KU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+132>>2]&1023](b,a)|0}function LU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+208>>2]&1023](b,a)|0}function MU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+200>>2]&1023](b,a)|0}function NU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+32>>2]&1023](b,a)|0}function OU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+32>>2]&1023](b,a)|0}function PU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+60>>2]&1023](b,a)|0}function QU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+60>>2]&1023](b,a)|0}function RU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+48>>2]&1023](b,a)|0}function SU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+48>>2]&1023](b,a)|0}function TU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+224>>2]&1023](b,a)|0}function UU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+224>>2]&1023](b,a)|0}function VU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+112>>2]&1023](b,a)|0}function WU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+112>>2]&1023](b,a)|0}function XU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+108>>2]&1023](b,a)|0}function YU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+108>>2]&1023](b,a)|0}function ZU(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+52>>2]&1023](b,a)|0}function _U(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+220>>2]&1023](b,a)|0}function $U(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+104>>2]&1023](b,a)|0}function aV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+232>>2]&1023](b,a)|0}function bV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+152>>2]&1023](b,a)|0}function cV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+100>>2]&1023](b,a)|0}function dV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+164>>2]&1023](b,a)|0}function eV(a,b){a=a|0;b=b|0;b=k[b+64>>2]|0;return Jc[k[(k[b>>2]|0)+40>>2]&1023](b,a)|0}function fV(a,b){a=a|0;b=b|0;if(!(i[b+56>>0]|0))return;i[a+56>>0]=1;return}function gV(a,b){a=a|0;b=b|0;return gi(a,b)|0}function hV(a,b){a=a|0;b=b|0;return gi(a,b)|0}function iV(a,b){a=a|0;b=b|0;return gi(a,b)|0}function jV(a,b){a=a|0;b=b|0;M0(a,b)|0;return 0}function kV(a,b){a=a|0;b=b|0;N0(a,b)|0;return 0}function lV(a,b){a=a|0;b=b|0;O0(a,b)|0;return 0}function mV(a,b){a=a|0;b=b|0;P0(a,b)|0;return 0}function nV(a,b){a=a|0;b=b|0;Q0(a,b)|0;return 0}function oV(a,b){a=a|0;b=b|0;R0(a,b)|0;return 0}function pV(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function qV(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function rV(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function sV(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function tV(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function uV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+44>>2]&1023](b,a)|0}function vV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+36>>2]&1023](b,a)|0}function wV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+32>>2]&1023](b,a)|0}function xV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+60>>2]&1023](b,a)|0}function yV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+48>>2]&1023](b,a)|0}function zV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+224>>2]&1023](b,a)|0}function AV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+112>>2]&1023](b,a)|0}function BV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+108>>2]&1023](b,a)|0}function CV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+52>>2]&1023](b,a)|0}function DV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+52>>2]&1023](b,a)|0}function EV(){lE(68896,44768,6);Ub(323,68896,w|0)|0;return}function FV(a,b){a=a|0;b=b|0;ji(a+-56|0,b);return}function GV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+220>>2]&1023](b,a)|0}function HV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+220>>2]&1023](b,a)|0}function IV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+104>>2]&1023](b,a)|0}function JV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+104>>2]&1023](b,a)|0}function KV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+40>>2]&1023](b,a)|0}function LV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+232>>2]&1023](b,a)|0}function MV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+232>>2]&1023](b,a)|0}function NV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+148>>2]&1023](b,a)|0}function OV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+228>>2]&1023](b,a)|0}function PV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+64>>2]&1023](b,a)|0}function QV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+16>>2]&1023](b,a)|0}function RV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+20>>2]&1023](b,a)|0}function SV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+76>>2]&1023](b,a)|0}function TV(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+156>>2]&1023](b,a)|0}function UV(a,b){a=a|0;b=b|0;return gi(a,b)|0}function VV(a,b){a=a|0;b=b|0;return gi(a,b)|0}function WV(a,b){a=a|0;b=b|0;return gi(a,b)|0}function XV(a,b){a=a|0;b=b|0;return gi(a,b)|0}function YV(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function ZV(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function _V(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function $V(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+200>>2]&1023](b,a)|0}function aW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+52>>2]&1023](b,a)|0}function bW(a,b){a=a|0;b=b|0;pE(a,1,45);return}function cW(a,b){a=a|0;b=b|0;pE(a,1,45);return}function dW(a,b){a=a|0;b=b|0;nE(a,1,45);return}function eW(a,b){a=a|0;b=b|0;nE(a,1,45);return}function fW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+220>>2]&1023](b,a)|0}function gW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+104>>2]&1023](b,a)|0}function hW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+40>>2]&1023](b,a)|0}function iW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+40>>2]&1023](b,a)|0}function jW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+232>>2]&1023](b,a)|0}function kW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+148>>2]&1023](b,a)|0}function lW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+148>>2]&1023](b,a)|0}function mW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+228>>2]&1023](b,a)|0}function nW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+228>>2]&1023](b,a)|0}function oW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+152>>2]&1023](b,a)|0}function pW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+100>>2]&1023](b,a)|0}function qW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+164>>2]&1023](b,a)|0}function rW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+96>>2]&1023](b,a)|0}function sW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+56>>2]&1023](b,a)|0}function tW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+24>>2]&1023](b,a)|0}function uW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+160>>2]&1023](b,a)|0}function vW(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+196>>2]&1023](b,a);return}function wW(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+204>>2]&1023](b,a);return}function xW(a,b){a=a|0;b=b|0;return gi(a,b)|0}function yW(a,b){a=a|0;b=b|0;return gi(a,b)|0}function zW(a,b){a=a|0;b=b|0;return gi(a,b)|0}function AW(a,b){a=a|0;b=b|0;a1(a,b)|0;return 0}function BW(a,b){a=a|0;b=b|0;b1(a,b)|0;return 0}function CW(a,b){a=a|0;b=b|0;c1(a,b)|0;return 0}function DW(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function EW(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function FW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+32>>2]&1023](b,a)|0}function GW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+60>>2]&1023](b,a)|0}function HW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+48>>2]&1023](b,a)|0}function IW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+224>>2]&1023](b,a)|0}function JW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+112>>2]&1023](b,a)|0}function KW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+108>>2]&1023](b,a)|0}function LW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+40>>2]&1023](b,a)|0}function MW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+148>>2]&1023](b,a)|0}function NW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;k[a>>2]=c;k[a+4>>2]=d;k[a+8>>2]=b;return}function OW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+228>>2]&1023](b,a)|0}function PW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+64>>2]&1023](b,a)|0}function QW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+152>>2]&1023](b,a)|0}function RW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+152>>2]&1023](b,a)|0}function SW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+16>>2]&1023](b,a)|0}function TW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+20>>2]&1023](b,a)|0}function UW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+100>>2]&1023](b,a)|0}function VW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+100>>2]&1023](b,a)|0}function WW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+76>>2]&1023](b,a)|0}function XW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+164>>2]&1023](b,a)|0}function YW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+164>>2]&1023](b,a)|0}function ZW(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+156>>2]&1023](b,a)|0}function _W(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+92>>2]&1023](b,a)|0}function $W(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+68>>2]&1023](b,a)|0}function aX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+72>>2]&1023](b,a)|0}function bX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+12>>2]&1023](b,a)|0}function cX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+212>>2]&1023](b,a)|0}function dX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+116>>2]&1023](b,a)|0}function eX(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function fX(a,b){a=a|0;b=b|0;return gi(a,b)|0}function gX(a,b){a=a|0;b=b|0;return gi(a,b)|0}function hX(a,b){a=a|0;b=b|0;return gi(a,b)|0}function iX(a,b){a=a|0;b=b|0;return gi(a,b)|0}function jX(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Ot(b,8,64,0)|0;return a|0}function kX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+52>>2]&1023](b,a)|0}function lX(){lE(72056,44768,6);Ub(323,72056,w|0)|0;return}function mX(){lE(69148,44768,6);Ub(323,69148,w|0)|0;return}function nX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+220>>2]&1023](b,a)|0}function oX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+104>>2]&1023](b,a)|0}function pX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+232>>2]&1023](b,a)|0}function qX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+64>>2]&1023](b,a)|0}function rX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+64>>2]&1023](b,a)|0}function sX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+152>>2]&1023](b,a)|0}function tX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+16>>2]&1023](b,a)|0}function uX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+16>>2]&1023](b,a)|0}function vX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+20>>2]&1023](b,a)|0}function wX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+20>>2]&1023](b,a)|0}function xX(a,b,c){a=a|0;b=b|0;c=c|0;ig(a,b+16|0,c);return}function yX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+100>>2]&1023](b,a)|0}function zX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+76>>2]&1023](b,a)|0}function AX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+76>>2]&1023](b,a)|0}function BX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+164>>2]&1023](b,a)|0}function CX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+96>>2]&1023](b,a)|0}function DX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+156>>2]&1023](b,a)|0}function EX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+156>>2]&1023](b,a)|0}function FX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+56>>2]&1023](b,a)|0}function GX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+24>>2]&1023](b,a)|0}function HX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+160>>2]&1023](b,a)|0}function IX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+88>>2]&1023](b,a)|0}function JX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+120>>2]&1023](b,a)|0}function KX(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+192>>2]&1023](b,a);return}function LX(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+240>>2]&1023](b,a);return}function MX(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+136>>2]&1023](b,a);return}function NX(a,b){a=a|0;b=b|0;return gi(a,b)|0}function OX(a,b){a=a|0;b=b|0;g1(a,b)|0;return 0}function PX(a,b){a=a|0;b=b|0;h1(a,b)|0;return 0}function QX(a,b){a=a|0;b=b|0;i1(a,b)|0;return 0}function RX(a,b){a=a|0;b=b|0;j1(a,b)|0;return 0}function SX(a){a=a|0;var b=0,c=0;c=(OD(a)|0)+1|0;b=hd(c)|0;if(!b)b=0;else WC(b|0,a|0,c|0)|0;return b|0}function TX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+40>>2]&1023](b,a)|0}function UX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+148>>2]&1023](b,a)|0}function VX(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function WX(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function XX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+228>>2]&1023](b,a)|0}function YX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+64>>2]&1023](b,a)|0}function ZX(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+16>>2]&1023](b,a)|0}function _X(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+20>>2]&1023](b,a)|0}function $X(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+76>>2]&1023](b,a)|0}function aY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+96>>2]&1023](b,a)|0}function bY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+96>>2]&1023](b,a)|0}function cY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+156>>2]&1023](b,a)|0}function dY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+56>>2]&1023](b,a)|0}function eY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+56>>2]&1023](b,a)|0}function fY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+24>>2]&1023](b,a)|0}function gY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+24>>2]&1023](b,a)|0}function hY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+92>>2]&1023](b,a)|0}function iY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+68>>2]&1023](b,a)|0}function jY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+72>>2]&1023](b,a)|0}function kY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+160>>2]&1023](b,a)|0}function lY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+160>>2]&1023](b,a)|0}function mY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+12>>2]&1023](b,a)|0}function nY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+212>>2]&1023](b,a)|0}function oY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+116>>2]&1023](b,a)|0}function pY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+84>>2]&1023](b,a)|0}function qY(a){a=a|0;k[a>>2]=5932;P1(a+60|0);uha(a);return}function rY(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function sY(a,b){a=a|0;b=b|0;return gi(a,b)|0}function tY(a,b){a=a|0;b=b|0;return gi(a,b)|0}function uY(a,b){a=a|0;b=b|0;return gi(a,b)|0}function vY(a,b){a=a|0;b=b|0;return gi(a,b)|0}function wY(a,b){a=a|0;b=b|0;return gi(a,b)|0}function xY(a,b){a=a|0;b=b|0;return gi(a,b)|0}function yY(a,b){a=a|0;b=b|0;return gi(a,b)|0}function zY(a){a=a|0;var b=0;b=k[a+116>>2]|0;if(b|0)cf(b);un(a);cf(a);return}function AY(a){a=a|0;var b=0;b=i[a>>0]|0;return (((b&-33)+-65|0)>>>0<6|(b+-48|0)>>>0<10?a+1|0:0)|0}function BY(a){a=a|0;var b=0;b=i[a>>0]|0;return ((b+-48|0)>>>0<10|((b&-33)+-65|0)>>>0<26?a+1|0:0)|0}function CY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+152>>2]&1023](b,a)|0}function DY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+100>>2]&1023](b,a)|0}function EY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+164>>2]&1023](b,a)|0}function FY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+96>>2]&1023](b,a)|0}function GY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+56>>2]&1023](b,a)|0}function HY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+24>>2]&1023](b,a)|0}function IY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+92>>2]&1023](b,a)|0}function JY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+92>>2]&1023](b,a)|0}function KY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+68>>2]&1023](b,a)|0}function LY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+68>>2]&1023](b,a)|0}function MY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+72>>2]&1023](b,a)|0}function NY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+72>>2]&1023](b,a)|0}function OY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+160>>2]&1023](b,a)|0}function PY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+12>>2]&1023](b,a)|0}function QY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+12>>2]&1023](b,a)|0}function RY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+212>>2]&1023](b,a)|0}function SY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+212>>2]&1023](b,a)|0}function TY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+116>>2]&1023](b,a)|0}function UY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+116>>2]&1023](b,a)|0}function VY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+88>>2]&1023](b,a)|0}function WY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+120>>2]&1023](b,a)|0}function XY(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+80>>2]&1023](b,a)|0}function YY(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+248>>2]&1023](b,a);return}function ZY(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+252>>2]&1023](b,a);return}function _Y(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function $Y(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function aZ(a,b){a=a|0;b=b|0;return gi(a,b)|0}function bZ(a,b){a=a|0;b=b|0;p1(a,b)|0;return 0}function cZ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Oc[a&31](b|0,c|0,d|0,e|0)|0}function dZ(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function eZ(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function fZ(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function gZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+64>>2]&1023](b,a)|0}function hZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+16>>2]&1023](b,a)|0}function iZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+20>>2]&1023](b,a)|0}function jZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+76>>2]&1023](b,a)|0}function kZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+156>>2]&1023](b,a)|0}function lZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+92>>2]&1023](b,a)|0}function mZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+68>>2]&1023](b,a)|0}function nZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+72>>2]&1023](b,a)|0}function oZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+12>>2]&1023](b,a)|0}function pZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+212>>2]&1023](b,a)|0}function qZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+116>>2]&1023](b,a)|0}function rZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+88>>2]&1023](b,a)|0}function sZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+88>>2]&1023](b,a)|0}function tZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+120>>2]&1023](b,a)|0}function uZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+120>>2]&1023](b,a)|0}function vZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+84>>2]&1023](b,a)|0}function wZ(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+184>>2]&1023](b,a);return}function xZ(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+188>>2]&1023](b,a);return}function yZ(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+264>>2]&1023](b,a);return}function zZ(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+124>>2]&1023](b,a);return}function AZ(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function BZ(a,b){a=a|0;b=b|0;return gi(a,b)|0}function CZ(a){a=a|0;k[a>>2]=5932;P1(a+60|0);uha(a);return}function DZ(a){a=a|0;k[a>>2]=8984;P1(a+56|0);uha(a);return}function EZ(a,b){a=a|0;b=b|0;lE(a,51271,5);return}function FZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+96>>2]&1023](b,a)|0}function GZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+56>>2]&1023](b,a)|0}function HZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+24>>2]&1023](b,a)|0}function IZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+160>>2]&1023](b,a)|0}function JZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+88>>2]&1023](b,a)|0}function KZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+120>>2]&1023](b,a)|0}function LZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+84>>2]&1023](b,a)|0}function MZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+84>>2]&1023](b,a)|0}function NZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+80>>2]&1023](b,a)|0}function OZ(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+260>>2]&1023](b,a);return}function PZ(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+128>>2]&1023](b,a);return}function QZ(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+268>>2]&1023](b,a);return}function RZ(a,b){a=a|0;b=b|0;return gi(a,b)|0}function SZ(a,b){a=a|0;b=b|0;w1(a,b)|0;return 0}function TZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (M=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function UZ(a){a=a|0;oG(a+(k[(k[a>>2]|0)+-12>>2]|0)+12|0);return}function VZ(a,b){a=a|0;b=b|0;lE(a,51266,4);return}function WZ(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function XZ(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function YZ(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function ZZ(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+92>>2]&1023](b,a)|0}function _Z(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+68>>2]&1023](b,a)|0}function $Z(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+72>>2]&1023](b,a)|0}function a_(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+12>>2]&1023](b,a)|0}function b_(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+212>>2]&1023](b,a)|0}function c_(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+116>>2]&1023](b,a)|0}function d_(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+84>>2]&1023](b,a)|0}function e_(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+80>>2]&1023](b,a)|0}function f_(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+80>>2]&1023](b,a)|0}function g_(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+176>>2]&1023](b,a);return}function h_(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function i_(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+236>>2]&1023](b,a);return}function j_(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+256>>2]&1023](b,a);return}function k_(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+216>>2]&1023](b,a);return}function l_(a){a=a|0;k[a>>2]=12464;P1(a+68|0);uha(a);return}function m_(a){a=a|0;k[a>>2]=15160;P1(a+64|0);uha(a);return}function n_(a){a=a|0;var b=0;k[a>>2]=24356;b=k[a+8>>2]|0;if(b|0)if(i[a+12>>0]|0)nha(b);return}function o_(a,b){a=a|0;b=b|0;_G(a,b+16|0);return}function p_(a,b){a=a|0;b=b|0;_G(a,b+12|0);return}function q_(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function r_(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function s_(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function t_(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+88>>2]&1023](b,a)|0}function u_(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+120>>2]&1023](b,a)|0}function v_(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+80>>2]&1023](b,a)|0}function w_(a,b){a=a|0;b=b|0;return gi(a,b)|0}function x_(a,b){a=a|0;b=b|0;return gi(a,b)|0}function y_(a,b){a=a|0;b=b|0;B1(a,b)|0;return 0}function z_(a){a=a|0;k[a>>2]=8640;P1(a+68|0);uha(a);return}function A_(a){a=a|0;oG(a+(k[(k[a>>2]|0)+-12>>2]|0)+4|0);return}function B_(a){a=a|0;oG(a+(k[(k[a>>2]|0)+-12>>2]|0)+4|0);return}function C_(a){a=a|0;oG(a+(k[(k[a>>2]|0)+-12>>2]|0)+8|0);return}function D_(a){a=a|0;oG(a+(k[(k[a>>2]|0)+-12>>2]|0)+8|0);return}function E_(a){a=a|0;k[a>>2]=16040;P1(a+48|0);uha(a);return}function F_(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function G_(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function H_(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function I_(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function J_(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+84>>2]&1023](b,a)|0}function K_(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+28>>2]&1023](b,a);return}function L_(a,b){a=a|0;b=b|0;return gi(a,b)|0}function M_(a,b){a=a|0;b=b|0;return gi(a,b)|0}function N_(a,b){a=a|0;b=b|0;return gi(a,b)|0}function O_(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+244>>2]&1023](b,a);return}function P_(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+168>>2]&1023](b,a);return}function Q_(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+172>>2]&1023](b,a);return}function R_(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+272>>2]&1023](b,a);return}function S_(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+132>>2]&1023](b,a);return}function T_(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+208>>2]&1023](b,a);return}function U_(a){a=a|0;var b=0;b=sI(1,40)|0;if(!b){a=0;return a|0}i[b+4>>0]=a&1;a=b;return a|0}function V_(a){a=a|0;k[a>>2]=9872;P1(a+68|0);uha(a);return}function W_(a){a=a|0;k[a>>2]=14848;P1(a+56|0);uha(a);return}function X_(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function Y_(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function Z_(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function __(a,b){a=a|0;b=b|0;return Jc[k[(k[b>>2]|0)+80>>2]&1023](b,a)|0}function $_(a,b){a=a|0;b=b|0;return gi(a,b)|0}function a$(a,b){a=a|0;b=b|0;return gi(a,b)|0}function b$(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+44>>2]&1023](b,a);return}function c$(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+36>>2]&1023](b,a);return}function d$(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function e$(a){a=a|0;k[a>>2]=8476;P1(a+60|0);uha(a);return}function f$(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function g$(a){a=a|0;k[a>>2]=11224;P1(a+60|0);uha(a);return}function h$(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function i$(a,b){a=a|0;b=b|0;return gi(a,b)|0}function j$(a,b){a=a|0;b=b|0;return gi(a,b)|0}function k$(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+200>>2]&1023](b,a);return}function l$(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function m$(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function n$(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function o$(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function p$(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function q$(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function r$(a){a=a|0;return $j(a)|0}function s$(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function t$(a,b){a=a|0;b=b|0;$t(a+16|0,b);return}function u$(a,b){a=a|0;b=b|0;k[a>>2]=10940;k[a+4>>2]=b;k[a+8>>2]=k[b+4>>2];return}function v$(a,b){a=a|0;b=b|0;lE(a,37472,6);return}function w$(a,b){a=a|0;b=b|0;lE(a,33327,8);return}function x$(a,b){a=a|0;b=b|0;return gi(a,b)|0}function y$(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+32>>2]&1023](b,a);return}function z$(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+60>>2]&1023](b,a);return}function A$(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+48>>2]&1023](b,a);return}function B$(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+224>>2]&1023](b,a);return}function C$(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+112>>2]&1023](b,a);return}function D$(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+108>>2]&1023](b,a);return}function E$(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;la(31);return 0}function F$(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function G$(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function H$(a,b){a=a|0;b=b|0;return gi(a,b)|0}function I$(a,b){a=a|0;b=b|0;return gi(a,b)|0}function J$(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+52>>2]&1023](b,a);return}function K$(a,b){a=a|0;b=b|0;b=k[b>>2]|0;k[a>>2]=b;F3(b);return}function L$(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+220>>2]&1023](b,a);return}function M$(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+104>>2]&1023](b,a);return}function N$(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+232>>2]&1023](b,a);return}function O$(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function P$(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function Q$(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function R$(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function S$(a,b){a=a|0;b=b|0;yx(a+16|0,b);return}function T$(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function U$(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function V$(a){a=a|0;k[a>>2]=5580;P1(a+88|0);uha(a);return}function W$(a,b){a=a|0;b=b|0;return gi(a,b)|0}function X$(a,b){a=a|0;b=b|0;lE(a,37472,6);return}function Y$(a,b){a=a|0;b=b|0;lE(a,37790,4);return}function Z$(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function _$(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+40>>2]&1023](b,a);return}function $$(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+148>>2]&1023](b,a);return}function a0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function b0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function c0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function d0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function e0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+228>>2]&1023](b,a);return}function f0(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function g0(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function h0(a,b){a=a|0;b=b|0;Jc[k[(k[b>>2]|0)+40>>2]&1023](b,a+8|0)|0;return 0}function i0(a){a=a|0;k[a>>2]=15512;P1(a+68|0);uha(a);return}function j0(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Tc[a&63](b|0,c|0,d|0,e|0)}function k0(a,b,c){a=a|0;b=b|0;c=c|0;k[a>>2]=c;k[a+4>>2]=b;return}function l0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+152>>2]&1023](b,a);return}function m0(a,b){a=a|0;b=b|0;_G(a,b+4|0);return}function n0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+100>>2]&1023](b,a);return}function o0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+164>>2]&1023](b,a);return}function p0(a){a=a|0;var b=0,c=0;b=(Rha()|0)+180|0;c=k[b>>2]|0;if(a|0)k[b>>2]=a;return c|0}function q0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function r0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function s0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function t0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function u0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+64>>2]&1023](b,a);return}function v0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+16>>2]&1023](b,a);return}function w0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+20>>2]&1023](b,a);return}function x0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+76>>2]&1023](b,a);return}function y0(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function z0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+156>>2]&1023](b,a);return}function A0(a,b){a=a|0;b=b|0;Jc[k[(k[b>>2]|0)+40>>2]&1023](b,a+8|0)|0;return 0}function B0(a,b){a=a|0;b=b|0;Jc[k[(k[b>>2]|0)+40>>2]&1023](b,a+8|0)|0;return 0}function C0(a){a=a|0;k[a>>2]=5932;P1(a+60|0);return}function D0(a,b){a=a|0;b=b|0;lE(a,78097,0);return}function E0(a){a=a|0;var b=0;if(a>>>0>4294963200){b=L0()|0;k[b>>2]=0-a;a=-1}return a|0}function F0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function G0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function H0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+96>>2]&1023](b,a);return}function I0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+56>>2]&1023](b,a);return}function J0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+24>>2]&1023](b,a);return}function K0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+160>>2]&1023](b,a);return}function L0(){var a=0;if(!(k[18119]|0))a=72520;else{a=(Rha()|0)+64|0;a=k[a>>2]|0}return a|0}function M0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function N0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function O0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function P0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function Q0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function R0(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function S0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+92>>2]&1023](b,a);return}function T0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+68>>2]&1023](b,a);return}function U0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+72>>2]&1023](b,a);return}function V0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+12>>2]&1023](b,a);return}function W0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+212>>2]&1023](b,a);return}function X0(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+116>>2]&1023](b,a);return}function Y0(a,b){a=a|0;b=b|0;rc[k[k[b>>2]>>2]&1023](b,a);return}function Z0(a){a=a|0;k[a>>2]=8984;P1(a+56|0);return}function _0(a){a=a|0;k[a>>2]=24448;P1(a+16|0);return}function $0(a){a=a|0;k[a>>2]=24408;P1(a+12|0);return}function a1(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function b1(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function c1(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function d1(a,b,c){a=a|0;b=b|0;c=c|0;k[a>>2]=b;k[a+4>>2]=c;k[a+8>>2]=-1;return}function e1(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+88>>2]&1023](b,a);return}function f1(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+120>>2]&1023](b,a);return}function g1(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function h1(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function i1(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function j1(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function k1(a,b){a=a|0;b=b|0;lE(a,27229,4);return}function l1(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+84>>2]&1023](b,a);return}function m1(a){a=a|0;var b=0;while(1){b=k[a+76>>2]|0;if(!b)break;else a=b}return a|0}function n1(a){a=a|0;k[a>>2]=12464;P1(a+68|0);return}function o1(a){a=a|0;k[a>>2]=15160;P1(a+64|0);return}function p1(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function q1(a){a=a|0;switch(i[a>>0]|0){case 13:case 10:case 0:break;default:a=0}return a|0}function r1(a,b){a=a|0;b=b|0;return Jc[k[k[b>>2]>>2]&1023](b,a)|0}function s1(a,b){a=a|0;b=b|0;lE(a,36799,6);return}function t1(a,b){a=a|0;b=b|0;rc[k[(k[b>>2]|0)+80>>2]&1023](b,a);return}function u1(a){a=a|0;k[a>>2]=8640;P1(a+68|0);return}function v1(a){a=a|0;k[a>>2]=16040;P1(a+48|0);return}function w1(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function x1(a){a=a|0;var b=0;b=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function y1(a,b){a=a|0;b=b|0;lE(a,37006,5);return}function z1(a){a=a|0;k[a>>2]=9872;P1(a+68|0);return}function A1(a){a=a|0;k[a>>2]=14848;P1(a+56|0);return}function B1(a,b){a=a|0;b=b|0;MH(0,0)|0;return 0}function C1(a,b){a=a|0;b=b|0;lE(a,38939,4);return}function D1(a){a=a|0;k[a>>2]=8476;P1(a+60|0);return}function E1(a){a=a|0;k[a>>2]=11224;P1(a+60|0);return}function F1(a,b){a=a|0;b=b|0;lE(a,36795,3);return}function G1(a){a=a|0;k[a>>2]=21720;J5(a+4|0);uha(a);return}function H1(a){a=a|0;k[a>>2]=21656;J5(a+4|0);uha(a);return}function I1(a){a=a|0;yG(a+8|0);uha(a);return}function J1(a){a=a|0;yG(a+8|0);uha(a);return}function K1(a,b){a=a|0;b=b|0;rc[k[k[b>>2]>>2]&1023](b,a);return}function L1(a){a=a|0;k[a>>2]=5580;P1(a+88|0);return}function M1(a){a=a|0;E3(a+-8|0);return}function N1(a,b){a=a|0;b=b|0;i[a+-56+49>>0]=0;return}function O1(a){a=a|0;if(i[a>>0]&1)uha(k[a+8>>2]|0);return}function P1(a){a=a|0;if(i[a>>0]&1)uha(k[a+8>>2]|0);return}function Q1(a,b){a=a|0;b=b|0;rc[k[k[b>>2]>>2]&1023](b,a);return}function R1(a){a=a|0;k[a>>2]=15512;P1(a+68|0);return}function S1(a,b){a=a|0;b=b|0;return LJ(44529)|0}function T1(a,b){a=a|0;b=b|0;return LJ(44529)|0}function U1(a){a=a|0;uha(a);return}function V1(a){a=a|0;if(a|0)qc[k[(k[a>>2]|0)+4>>2]&511](a);return}function W1(a){a=a|0;$v(a);uha(a);return}function X1(a,b){a=a|0;b=b|0;return LJ(44529)|0}function Y1(a,b){a=a|0;b=b|0;return LJ(44529)|0}function Z1(a,b){a=a|0;b=b|0;return LJ(44529)|0}function _1(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wc[a&127](b|0,c|0,d|0)|0}function $1(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;la(0);return 0}function a2(a){a=a|0;var b=0;b=k[18545]|0;k[18545]=b+1;k[a+4>>2]=b+1;return}function b2(a){a=a|0;a=i[a>>0]|0;return (a+-48|0)>>>0<10|((a&-33)+-65|0)>>>0<26|0}function c2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function d2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function e2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function f2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function g2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function h2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function i2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function j2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function k2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function l2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function m2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function n2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function o2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function p2(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +Lc[a&7](b|0,c|0,d|0)}function q2(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;la(24);return 0}function r2(a,b){a=a|0;b=b|0;a=Ay(a,b)|0;return ((i[a>>0]|0)==(b&255)<<24>>24?a:0)|0}function s2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function t2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function u2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function v2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function w2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function x2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function y2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function z2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function A2(a,b,c){a=a|0;b=b|0;c=c|0;k[(k[a+8>>2]|0)+(b<<3)+4>>2]=c;return}function B2(a,b){a=a|0;b=b|0;k[a>>2]=16196;k[a+4>>2]=b;return}function C2(a){a=a|0;k[a>>2]=21720;J5(a+4|0);return}function D2(a){a=a|0;k[a>>2]=21656;J5(a+4|0);return}function E2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function F2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function G2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function H2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function I2(a){a=a|0;var b=0;b=a;while(1)if(!(k[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function J2(a,b,c){a=a|0;b=b|0;c=c|0;k[(k[a+12>>2]|0)+(b<<2)>>2]=c;return}function K2(a){a=a|0;yG(a+8|0);return}function L2(a){a=a|0;yG(a+8|0);return}function M2(a,b){a=a|0;b=b|0;i[a+49>>0]=0;return}function N2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function O2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function P2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function Q2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function R2(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;la(20)}function S2(){var a=0;a=vb(4)|0;Fea(a);Wb(a|0,4384,306)}function T2(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Pc[a&255](b|0,c|0,d|0)}function U2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function V2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function W2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function X2(a){a=a|0;var b=0;b=a+12|0;a=k[b>>2]|0;k[b>>2]=0;return a|0}function Y2(a,b){a=a|0;b=b|0;NH(a+24|0,b);return}function Z2(a,b){a=a|0;b=b|0;k[a>>2]=14236;k[a+4>>2]=b;return}function _2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function $2(a,b){a=a|0;b=b|0;return LJ(44529)|0}function a3(a,b,c){a=a|0;b=b|0;c=c|0;k[(k[a+8>>2]|0)+(b<<3)>>2]=c;return}function b3(a){a=a|0;var b=0;b=a+8|0;a=k[b>>2]|0;k[b>>2]=0;return a|0}function c3(a){a=a|0;a=a+4|0;k[a>>2]=(k[a>>2]|0)+1;return}function d3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function e3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function f3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function g3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function h3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function i3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function j3(a,b){a=a|0;b=b|0;i[a+-56+49>>0]=0;return}function k3(a,b){a=a|0;b=b|0;return b|0}function l3(a,b){a=a|0;b=b|0;return b|0}function m3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function n3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function o3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function p3(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function q3(a){a=a|0;if((i[a>>0]|0)==1)a=0;else{i[a>>0]=1;a=1}return a|0}function r3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function s3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function t3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function u3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function v3(a){a=a|0;if(!a)a=0;else a=(Ot(a,4360,4528,0)|0)!=0;return a&1|0}function w3(){var a=0;a=vb(4)|0;qea(a);Wb(a|0,4496,317)}function x3(a,b){a=a|0;b=b|0;return b|0}function y3(a,b){a=a|0;b=b|0;return b|0}function z3(a,b){a=a|0;b=b|0;return b|0}function A3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function B3(a,b,c){a=a|0;b=b|0;c=c|0;k[a>>2]=b;k[a+4>>2]=c;return}function C3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function D3(){if(!(i[67864]|0))if(q3(67864)|0)k[18518]=21184;return 74072}function E3(a){a=a|0;oG(a+12|0);uha(a);return}function F3(a){a=a|0;a=a+4|0;k[a>>2]=(k[a>>2]|0)+1;return}function G3(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function H3(a){a=a|0;return (((i[a>>0]|0)+-32&255)<95?a+1|0:0)|0}function I3(a,b){a=a|0;b=b|0;return b|0}function J3(a,b){a=a|0;b=b|0;return b|0}function K3(a,b){a=a|0;b=b|0;return b|0}function L3(a,b){a=a|0;b=b|0;return b|0}function M3(a,b){a=a|0;b=b|0;return LJ(44529)|0}function N3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;la(6);return 0}function O3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=I5(a,b,c)|0;return a|0}function P3(){if(!(i[67856]|0))if(q3(67856)|0)k[18517]=21220;return 74068}function Q3(a){a=a|0;C2(a);uha(a);return}function R3(a){a=a|0;D2(a);uha(a);return}function S3(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function T3(a,b){a=a|0;b=b|0;return b|0}function U3(a,b){a=a|0;b=b|0;return b|0}function V3(a,b){a=a|0;b=b|0;return b|0}function W3(a,b){a=a|0;b=b|0;return b|0}function X3(a,b){a=a|0;b=b|0;return b|0}function Y3(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return Dc[a&1](+b,+c,+d)|0}function Z3(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function _3(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function $3(a){a=a|0;oG(a+4|0);uha(a);return}function a4(a){a=a|0;oG(a+4|0);uha(a);return}function b4(a){a=a|0;oG(a+8|0);uha(a);return}function c4(a){a=a|0;oG(a+8|0);uha(a);return}function d4(a){a=a|0;C2(a);uha(a);return}function e4(a){a=a|0;D2(a);uha(a);return}function f4(a){a=a|0;k[a>>2]=24892;GM(a+4|0);return}function g4(a,b){a=a|0;b=b|0;return b|0}function h4(a,b){a=a|0;b=b|0;return b|0}function i4(a,b){a=a|0;b=b|0;return b|0}function j4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=u4(a,b,c)|0;return a|0}function k4(a){a=a|0;return k[(k[(k[a+8>>2]|0)+276>>2]|0)+-4>>2]|0}function l4(a){a=a|0;if((a+-48|0)>>>0<10)a=1;else a=((a|32)+-97|0)>>>0<6;return a&1|0}function m4(a,b){a=a|0;b=b|0;return U_((i[b+56>>0]|0)!=0)|0}function n4(a,b){a=a|0;b=b|0;return}function o4(a,b){a=a|0;b=b|0;return}function p4(a,b){a=a|0;b=b|0;return b|0}function q4(a,b){a=a|0;b=b|0;return b|0}function r4(a,b){a=a|0;b=b|0;return b|0}function s4(a,b){a=a|0;b=b|0;return b|0}function t4(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;la(1);return 0}function u4(a,b,c){a=a|0;b=b|0;c=c|0;a=mD(a,b,c,0,-2147483648)|0;return a|0}function v4(a){a=a|0;oG(a+-8+12|0);return}function w4(a){a=a|0;k[a>>2]=24872;GM(a+4|0);return}function x4(a,b){a=a|0;b=b|0;return b|0}function y4(a,b){a=a|0;b=b|0;return b|0}function z4(a,b){a=a|0;b=b|0;return b|0}function A4(a,b,c){a=a|0;b=b|0;c=c|0;a=mD(a,b,c,-2147483648,0)|0;return a|0}function B4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return qj(a,b,c,d,0)|0}function C4(a,b){a=a|0;b=b|0;return}function D4(a,b){a=a|0;b=b|0;return}function E4(a,b){a=a|0;b=b|0;return}function F4(a,b){a=a|0;b=b|0;return b|0}function G4(a,b){a=a|0;b=b|0;return b|0}function H4(a,b){a=a|0;b=b|0;return b|0}function I4(a,b){a=a|0;b=b|0;return b|0}function J4(a,b){a=a|0;b=b|0;return b|0}function K4(a,b){a=a|0;b=b|0;return b|0}function L4(a,b){a=a|0;b=b|0;return b|0}function M4(a,b){a=a|0;b=b|0;return b|0}function N4(a,b){a=a|0;b=b|0;k[b+4>>2]=1;return b|0}function O4(a,b,c){a=a|0;b=b|0;c=c|0;k[a+(b<<2)>>2]=c;return}function P4(a,b){a=a|0;b=b|0;k[a+60>>2]=b;return}function Q4(a){a=a|0;return (((i[a>>0]|0)+-42&255)<85?a+1|0:0)|0}function R4(a,b){a=a|0;b=b|0;return b|0}function S4(a,b){a=a|0;b=b|0;return b|0}function T4(a){a=a|0;UE(a);uha(a);return}function U4(a,b){a=a|0;b=b|0;return}function V4(a,b){a=a|0;b=b|0;return}function W4(a,b){a=a|0;b=b|0;return}function X4(a,b){a=a|0;b=b|0;return b|0}function Y4(a,b){a=a|0;b=b|0;return b|0}function Z4(a,b){a=a|0;b=b|0;return b|0}function _4(a,b){a=a|0;b=b|0;return b|0}function $4(a,b){a=a|0;b=b|0;return b|0}function a5(a,b){a=a|0;b=b|0;return b|0}function b5(a,b){a=a|0;b=b|0;i[a+49>>0]=0;return}function c5(a,b){a=a|0;b=b|0;return}function d5(a,b){a=a|0;b=b|0;return}function e5(a,b){a=a|0;b=b|0;return}function f5(a,b){a=a|0;b=b|0;return}function g5(a,b){a=a|0;b=b|0;return b|0}function h5(a,b){a=a|0;b=b|0;return b|0}function i5(a,b){a=a|0;b=b|0;return b|0}function j5(a,b){a=a|0;b=b|0;return b|0}function k5(a,b){a=a|0;b=b|0;return b|0}function l5(a,b){a=a|0;b=b|0;return b|0}function m5(a,b){a=a|0;b=b|0;return b|0}function n5(a,b,c){a=a|0;b=b|0;c=c|0;return Jc[a&1023](b|0,c|0)|0}function o5(a){a=a|0;k[a>>2]=0;i[a+4>>0]=0;k[a+8>>2]=0;return}function p5(a){a=a|0;return (((i[a>>0]&-33)+-65|0)>>>0<26?a+1|0:0)|0}function q5(a,b){a=a|0;b=b|0;k[a+88>>2]=b;return}function r5(a,b){a=a|0;b=b|0;return}function s5(a,b){a=a|0;b=b|0;return}function t5(a,b){a=a|0;b=b|0;return}function u5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;la(14)}function v5(a,b){a=a|0;b=b|0;return k[(k[a+8>>2]|0)+(b<<3)+4>>2]|0}function w5(a,b){a=a|0;b=b|0;return}function x5(a,b){a=a|0;b=b|0;return}function y5(a,b){a=a|0;b=b|0;return}function z5(a,b){a=a|0;b=b|0;return}function A5(a,b){a=a|0;b=b|0;return b|0}function B5(a,b){a=a|0;b=b|0;return b|0}function C5(a,b){a=a|0;b=b|0;return b|0}function D5(a,b){a=a|0;b=b|0;return b|0}function E5(a,b){a=a|0;b=b|0;return b|0}function F5(a,b){a=a|0;b=b|0;return b|0}function G5(a,b){a=a|0;b=b|0;return}function H5(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=e|0;f=f|0;la(13);return 0}function I5(a,b,c){a=a|0;b=b|0;c=c|0;a=mD(a,b,c,-1,-1)|0;return a|0}function J5(a){a=a|0;sK(k[a>>2]|0)|0;return}function K5(a){a=a|0;return (((i[a>>0]|0)+-48|0)>>>0<10?a+1|0:0)|0}function L5(a,b){a=a|0;b=b|0;return}function M5(a,b){a=a|0;b=b|0;return b|0}function N5(a,b){a=a|0;b=b|0;return b|0}function O5(a,b){a=a|0;b=b|0;return b|0}function P5(a,b){a=a|0;b=b|0;return b|0}function Q5(a,b){a=a|0;b=b|0;return k[(k[a+12>>2]|0)+(b<<2)>>2]|0}function R5(a,b){a=a|0;b=b|0;return}function S5(a,b){a=a|0;b=b|0;return rk(a,b,1)|0}function T5(a,b){a=a|0;b=b|0;return 0}function U5(a,b){a=a|0;b=b|0;return}function V5(a,b){a=a|0;b=b|0;return}function W5(a,b){a=a|0;b=b|0;return}function X5(a,b){a=a|0;b=b|0;return}function Y5(a,b){a=a|0;b=b|0;return}function Z5(a,b){a=a|0;b=b|0;return}function _5(a,b){a=a|0;b=b|0;return}function $5(a,b){a=a|0;b=b|0;return}function a6(a,b){a=a|0;b=b|0;return b|0}function b6(a,b){a=a|0;b=b|0;return b|0}function c6(a,b){a=a|0;b=b|0;return b|0}function d6(a,b){a=a|0;b=b|0;return b|0}function e6(a,b){a=a|0;b=b|0;return b|0}function f6(a,b){a=a|0;b=b|0;return b|0}function g6(a,b){a=a|0;b=b|0;return b|0}function h6(a,b){a=a|0;b=b|0;return b|0}function i6(a,b){a=a|0;b=b|0;return b|0}function j6(){Xe(68368,1);k[18999]=68368;return 75996}function k6(a,b){a=a|0;b=b|0;return}function l6(a,b){a=a|0;b=b|0;return b|0}function m6(a,b){a=a|0;b=b|0;return b|0}function n6(a,b){a=a|0;b=b|0;return b|0}function o6(a,b){a=a|0;b=b|0;return b|0}function p6(a,b){a=a|0;b=b|0;return b|0}function q6(a,b){a=a|0;b=b|0;return b|0}function r6(a){a=a|0;oG(a+12|0);return}function s6(a){a=a|0;return (k[a+60>>2]|0)==(k[a+64>>2]|0)|0}function t6(a,b){a=a|0;b=b|0;return 0}function u6(a,b){a=a|0;b=b|0;return}function v6(a,b){a=a|0;b=b|0;return 0}function w6(a,b){a=a|0;b=b|0;return}function x6(a,b){a=a|0;b=b|0;return}function y6(a,b){a=a|0;b=b|0;return}function z6(a,b){a=a|0;b=b|0;return b|0}function A6(a,b){a=a|0;b=b|0;return b|0}function B6(a,b){a=a|0;b=b|0;return b|0}function C6(a,b){a=a|0;b=b|0;return b|0}function D6(a,b){a=a|0;b=b|0;return b|0}function E6(a,b,c){a=a|0;b=b|0;c=c|0;return +Mc[a&1](b|0,c|0)}function F6(a){a=a|0;return (k[a+80>>2]|0)==(k[a+84>>2]|0)|0}function G6(a,b){a=a|0;b=b|0;return}function H6(a,b){a=a|0;b=b|0;return}function I6(a,b){a=a|0;b=b|0;return}function J6(a,b){a=a|0;b=b|0;return}function K6(a,b){a=a|0;b=b|0;return b|0}function L6(a,b){a=a|0;b=b|0;return b|0}function M6(a,b){a=a|0;b=b|0;return k[(k[a+8>>2]|0)+(b<<3)>>2]|0}function N6(a){a=a|0;oG(a+4|0);return}function O6(a){a=a|0;oG(a+4|0);return}function P6(a){a=a|0;oG(a+8|0);return}function Q6(a){a=a|0;oG(a+8|0);return}function R6(a){a=a|0;return 2}function S6(a){a=a|0;return 2}function T6(a,b){a=a|0;b=b|0;return (k[b+52>>2]|0)==8|0}function U6(a,b){a=a|0;b=b|0;return}function V6(a,b){a=a|0;b=b|0;return}function W6(a,b){a=a|0;b=b|0;return b|0}function X6(a,b){a=a|0;b=b|0;return b|0}function Y6(a,b){a=a|0;b=b|0;return}function Z6(){var a=0;a=sI(1,40)|0;if(!a)a=0;else k[a>>2]=6;return a|0}function _6(a){a=a|0;uha(a);return}function $6(a){a=a|0;uha(a);return}function a7(a){a=a|0;uha(a);return}function b7(a){a=a|0;uha(a);return}function c7(a,b){a=a|0;b=b|0;return}function d7(a,b){a=a|0;b=b|0;return}function e7(a,b){a=a|0;b=b|0;return}function f7(a,b){a=a|0;b=b|0;return}function g7(a,b){a=a|0;b=b|0;return}function h7(a,b){a=a|0;b=b|0;return b|0}function i7(a,b){a=a|0;b=b|0;return}function j7(a,b,c){a=a|0;b=b|0;c=+c;return Fc[a&1](b|0,+c)|0}function k7(a,b,c){a=a|0;b=+b;c=c|0;return Qc[a&1](+b,c|0)|0}function l7(a,b){a=a|0;b=b|0;i[a+20>>0]=b&1;return}function m7(a,b,c){a=a|0;b=b|0;c=c|0;return Vt(0,a,b,c|0?c:72536)|0}function n7(a){a=a|0;uha(a);return}function o7(a){a=a|0;uha(a);return}function p7(a,b){a=a|0;b=b|0;return}function q7(a,b){a=a|0;b=b|0;return}function r7(a,b){a=a|0;b=b|0;return}function s7(a,b){a=a|0;b=b|0;return}function t7(a,b){a=a|0;b=b|0;return}function u7(a,b){a=a|0;b=b|0;return}function v7(a,b){a=a|0;b=b|0;return}function w7(a,b){a=a|0;b=b|0;return}function x7(a,b){a=a|0;b=b|0;return}function y7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(9);return 0}function z7(a,b,c){a=a|0;b=b|0;c=c|0;Wb(a|0,b|0,c|0)}function A7(a){a=a|0;uha(a);return}function B7(a){a=a|0;uha(a);return}function C7(a){a=a|0;uha(a);return}function D7(a){a=a|0;uha(a);return}function E7(a,b){a=a|0;b=b|0;return}function F7(a,b){a=a|0;b=b|0;return}function G7(a,b){a=a|0;b=b|0;return}function H7(a,b){a=a|0;b=b|0;return}function I7(a,b){a=a|0;b=b|0;return}function J7(a,b){a=a|0;b=b|0;return}function K7(a,b){a=a|0;b=b|0;return}function L7(a,b){a=a|0;b=b|0;return}function M7(a,b){a=a|0;b=b|0;return}function N7(){Lj(0);Ub(352,78096,w|0)|0;return}function O7(a,b,c){a=a|0;b=b|0;c=c|0;rc[a&1023](b|0,c|0)}function P7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(32);return 0}function Q7(a){a=a|0;return En(a,0)|0}function R7(a){a=a|0;return vn(a,0)|0}function S7(a,b){a=a|0;b=b|0;return}function T7(a,b){a=a|0;b=b|0;return}function U7(a,b){a=a|0;b=b|0;return}function V7(a,b){a=a|0;b=b|0;return}function W7(a,b){a=a|0;b=b|0;return}function X7(a,b){a=a|0;b=b|0;return}function Y7(a,b){a=a|0;b=b|0;return}function Z7(a,b,c){a=a|0;b=+b;c=c|0;return +xc[a&1](+b,c|0)}function _7(a,b){a=a|0;b=b|0;if(!a)a=0;else a=qz(a,b,0)|0;return a|0}function $7(a,b){a=a|0;b=b|0;i[a+18>>0]=b&1;return}function a8(a,b){a=a|0;b=b|0;i[a+19>>0]=b&1;return}function b8(a){a=a|0;return ((i[a>>0]|0)==61?a+1|0:0)|0}function c8(a,b){a=a|0;b=b|0;return}function d8(a,b){a=a|0;b=b|0;return}function e8(a,b){a=a|0;b=b|0;return}function f8(a,b){a=a|0;b=b|0;return}function g8(a,b){a=a|0;b=b|0;return}function h8(a,b){a=a|0;b=b|0;return}function i8(a,b){a=a|0;b=b|0;return}function j8(a,b){a=a|0;b=b|0;return}function k8(a,b){a=a|0;b=b|0;return}function l8(a,b){a=a|0;b=b|0;return}function m8(a,b){a=a|0;b=b|0;return}function n8(a,b){a=a|0;b=b|0;i[a+48>>0]=b&1;return}function o8(a,b,c){a=a|0;b=b|0;c=c|0;return Cx(a,2147483647,b,c)|0}function p8(a,b){a=a|0;b=b|0;return}function q8(a,b){a=a|0;b=b|0;return}function r8(a,b){a=a|0;b=b|0;return}function s8(a,b){a=a|0;b=b|0;return}function t8(a,b){a=a|0;b=b|0;return}function u8(a,b){a=a|0;b=b|0;return}function v8(a,b){a=a|0;b=b|0;return}function w8(a,b){a=a|0;b=b|0;return}function x8(a,b){a=a|0;b=b|0;return}function y8(a,b){a=a|0;b=b|0;return}function z8(a,b){a=a|0;b=b|0;return}function A8(a,b){a=a|0;b=b|0;return -1}function B8(a,b){a=a|0;b=b|0;return -1}function C8(a,b){a=a|0;b=b|0;return}function D8(a,b){a=a|0;b=b|0;return}function E8(a,b){a=a|0;b=b|0;return}function F8(a,b){a=a|0;b=b|0;return}function G8(a,b){a=a|0;b=b|0;return}function H8(a,b){a=a|0;b=b|0;return}function I8(a,b){a=a|0;b=b|0;return}function J8(a,b){a=a|0;b=b|0;return}function K8(a,b){a=a|0;b=b|0;return}function L8(a,b){a=a|0;b=b|0;i[a+17>>0]=b&1;return}function M8(a){a=a|0;un(a);cf(a);return}function N8(a,b){a=a|0;b=b|0;return -1}function O8(a,b){a=a|0;b=b|0;return -1}function P8(a){a=a|0;return En(a,1)|0}function Q8(a){a=a|0;return vn(a,1)|0}function R8(a,b){a=a|0;b=b|0;return 0}function S8(a){a=a|0;return ((i[a>>0]|0)==38?a+1|0:0)|0}function T8(a,b){a=a|0;b=b|0;return}function U8(a,b){a=a|0;b=b|0;return}function V8(a,b){a=a|0;b=b|0;return}function W8(a,b){a=a|0;b=b|0;return}function X8(a,b){a=a|0;b=b|0;return}function Y8(a,b){a=a|0;b=b|0;return}function Z8(a,b){a=a|0;b=b|0;return}function _8(a,b){a=a|0;b=b|0;return}function $8(a,b){a=a|0;b=b|0;return}function a9(a,b){a=a|0;b=b|0;i[a+16>>0]=b&1;return}function b9(a){a=a|0;return (i[a+50>>0]|0)!=0|0}function c9(a){a=a|0;return ((i[a>>0]&-33)+-65|0)>>>0<26|0}function d9(a,b){a=a|0;b=b|0;return}function e9(a,b){a=a|0;b=b|0;return}function f9(a,b){a=a|0;b=b|0;return}function g9(a,b){a=a|0;b=b|0;return}function h9(a,b){a=a|0;b=b|0;return}function i9(a,b){a=a|0;b=b|0;return}function j9(a,b){a=a|0;b=b|0;return}function k9(a,b){a=a|0;b=b|0;return}function l9(a,b){a=a|0;b=b|0;return}function m9(a,b){a=a|0;b=b|0;return}function n9(a){a=a|0;var b=0;b=BM(k[a>>2]|0)|0;cf(a);return b|0}function o9(a){a=a|0;Eca(a);uha(a);return}function p9(a){a=a|0;return (i[a+50>>0]|0)!=0|0}function q9(a,b){a=a|0;b=b|0;return}function r9(a,b){a=a|0;b=b|0;return}function s9(a,b){a=a|0;b=b|0;return}function t9(a,b){a=a|0;b=b|0;return}function u9(a,b){a=a|0;b=b|0;return}function v9(a,b){a=a|0;b=b|0;return}function w9(a,b){a=a|0;b=b|0;return}function x9(a,b){a=a|0;b=b|0;return}function y9(a,b){a=a|0;b=b|0;return}function z9(a,b,c){a=a|0;b=+b;c=+c;return +Bc[a&7](+b,+c)}function A9(a,b){a=a|0;b=b|0;return}function B9(a,b){a=a|0;b=b|0;return}function C9(a,b){a=a|0;b=b|0;return}function D9(a,b){a=a|0;b=b|0;return}function E9(a,b){a=a|0;b=b|0;return}function F9(a){a=a|0;return ((i[a>>0]|0)<0?a+1|0:0)|0}function G9(a,b){a=a|0;b=b|0;return}function H9(a,b){a=a|0;b=b|0;return}function I9(a,b){a=a|0;b=b|0;return}function J9(a,b){a=a|0;b=b|0;return}function K9(a,b){a=a|0;b=b|0;return}function L9(a,b){a=a|0;b=b|0;return}function M9(a,b){a=a|0;b=b|0;return}function N9(){var a=0;a=k[19005]|0;k[19005]=a+0;return a|0}function O9(a){a=a|0;oG(a);return}function P9(a){a=a|0;oG(a);return}function Q9(a,b){a=a|0;b=b|0;return}function R9(a,b){a=a|0;b=b|0;return}function S9(a,b){a=a|0;b=b|0;return}function T9(a,b){a=a|0;b=b|0;return}function U9(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function V9(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(3)}function W9(a){a=a|0;var b=0;b=(Ffa(a)|0)==0;return (b?a:a&95)|0}function X9(a){a=a|0;var b=0;b=(Efa(a)|0)==0;return (b?a:a|32)|0}function Y9(a){a=a|0;return (i[a+50>>0]|0)!=0|0}function Z9(a){a=a|0;return ((i[a>>0]|0)==0?a:0)|0}function _9(a,b){a=a|0;b=b|0;return}function $9(a,b){a=a|0;b=b|0;return}function aaa(a,b){a=a|0;b=b|0;return}function baa(a,b){a=a|0;b=b|0;return}function caa(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;la(18)}function daa(a){a=a|0;if(!a)a=1;else a=(k[a>>2]|0)==0;return a&1|0}function eaa(a,b,c){a=a|0;b=b|0;c=c|0;return FG(a,b,c)|0}function faa(a){a=a|0;return}function gaa(a){a=a|0;return}function haa(a){a=a|0;return}function iaa(a){a=a|0;return}function jaa(a){a=a|0;ID(a);uha(a);return}function kaa(a,b){a=a|0;b=b|0;return}function laa(a,b){a=a|0;b=b|0;return}function maa(a,b){a=a|0;b=b|0;return}function naa(a,b){a=a|0;b=b|0;return}function oaa(a,b){a=a|0;b=b|0;return}function paa(a,b){a=a|0;b=b|0;return}function qaa(a,b){a=a|0;b=b|0;k[a+60>>2]=b;return}function raa(a){a=a|0;return}function saa(a){a=a|0;return}function taa(a){a=a|0;f4(a);uha(a);return}function uaa(a){a=a|0;return (i[a>>0]|0?a+1|0:a)|0}function vaa(a,b){a=a|0;b=b|0;return}function waa(a,b){a=a|0;b=b|0;return}function xaa(a,b){a=a|0;b=b|0;return}function yaa(a,b){a=a|0;b=b|0;return}function zaa(a,b){a=a|0;b=b|0;return}function Aaa(a,b){a=a|0;b=b|0;return}function Baa(a,b){a=a|0;b=b|0;return}function Caa(a,b){a=a|0;b=b|0;return}function Daa(a,b){a=a|0;b=b|0;return}function Eaa(a,b){a=a|0;b=b|0;return}function Faa(a){a=a|0;_0(a);uha(a);return}function Gaa(a){a=a|0;$0(a);uha(a);return}function Haa(a){a=a|0;return}function Iaa(a){a=a|0;return}function Jaa(a){a=a|0;return}function Kaa(a){a=a|0;return}function Laa(a,b){a=a|0;b=b|0;return ((a|0)==0?b:a)|0}function Maa(a,b){a=a|0;b=b|0;return}function Naa(a,b){a=a|0;b=b|0;return}function Oaa(a,b){a=a|0;b=b|0;return}function Paa(a,b){a=a|0;b=b|0;return}function Qaa(a,b){a=a|0;b=b|0;return}function Raa(a,b){a=a|0;b=b|0;return}function Saa(a,b){a=a|0;b=b|0;return}function Taa(a,b){a=a|0;b=b|0;return}function Uaa(a,b){a=a|0;b=b|0;return}function Vaa(a,b){a=a|0;b=b|0;return}function Waa(a){a=a|0;f4(a);uha(a);return}function Xaa(a){a=a|0;return k[k[a+68>>2]>>2]|0}function Yaa(a,b){a=a|0;b=b|0;return}function Zaa(a,b){a=a|0;b=b|0;return}function _aa(a,b){a=a|0;b=b|0;return}function $aa(a,b){a=a|0;b=b|0;return}function aba(a,b){a=a|0;b=b|0;return}function bba(a,b){a=a|0;b=b|0;return}function cba(a,b){a=a|0;b=b|0;return}function dba(a,b){a=a|0;b=b|0;return}function eba(a,b){a=a|0;b=b|0;return}function fba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;la(28);return 0}function gba(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return}function hba(a,b){a=a|0;b=b|0;k[a+12>>2]=b;return}function iba(a,b){a=a|0;b=b|0;return}function jba(a){a=a|0;f4(a);uha(a);return}function kba(a,b){a=a|0;b=b|0;return}function lba(a,b){a=a|0;b=b|0;return}function mba(a,b){a=a|0;b=b|0;return}function nba(a,b){a=a|0;b=b|0;return}function oba(a,b){a=a|0;b=b|0;return}function pba(a,b){a=a|0;b=b|0;return}function qba(a,b){a=a|0;b=b|0;return}function rba(a,b){a=a|0;b=b|0;k[a>>2]=b;return}function sba(a,b){a=a|0;b=b|0;return}function tba(a,b){a=a|0;b=b|0;return}function uba(a){a=a|0;return (k[a+52>>2]|0)==7|0}function vba(a){a=a|0;k[a+76>>2]=1;return}function wba(a,b){a=a|0;b=b|0;return}function xba(a,b){a=a|0;b=b|0;return}function yba(a,b){a=a|0;b=b|0;return}function zba(a,b){a=a|0;b=b|0;return}function Aba(a,b){a=a|0;b=b|0;return}function Bba(a,b,c){a=a|0;b=b|0;c=c|0;return +(+yC(a,b,2))}function Cba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function Dba(a,b){a=a|0;b=b|0;return b|0}function Eba(a,b){a=a|0;b=b|0;return}function Fba(a,b){a=a|0;b=b|0;return}function Gba(a,b){a=a|0;b=b|0;return}function Hba(a){a=a|0;Fe(a);uha(a);return}function Iba(a){a=a|0;Fe(a);uha(a);return}function Jba(a,b){a=a|0;b=b|0;return tc[a&511](b|0)|0}function Kba(a,b){a=a|0;b=b|0;k[a+8>>2]=b;return}function Lba(a){a=a|0;return aha(a|0)|0}function Mba(a,b,c){a=a|0;b=b|0;c=c|0;return mK(a,b,c)|0}function Nba(a){a=a|0;Bb(a|0)|0;pr()}function Oba(a){a=a|0;w4(a);uha(a);return}function Pba(a){a=a|0;w4(a);uha(a);return}function Qba(a){a=a|0;return k[a+12>>2]|0}function Rba(a,b){a=a|0;b=b|0;return b<<24>>24|0}function Sba(a,b){a=a|0;b=b|0;return b|0}function Tba(a,b){a=a|0;b=b|0;return}function Uba(a){a=a|0;return wo(a+-56|0)|0}function Vba(a){a=a|0;oG(a);uha(a);return}function Wba(a){a=a|0;n_(a);uha(a);return}function Xba(a){a=a|0;w4(a);uha(a);return}function Yba(a){a=a|0;return k[a+8>>2]|0}function Zba(a,b){a=a|0;b=b|0;return b|0}function _ba(a,b){a=a|0;b=b|0;return Z6()|0}function $ba(a,b){a=a|0;b=b|0;return b|0}function aca(a){a=a|0;Eca(a);return}function bca(a){a=a|0;return i[a+9>>0]|0}function cca(a){a=a|0;return i[a+8>>0]|0}function dca(a,b){a=a|0;b=b|0;return b|0}function eca(a){a=a|0;if(!(k[a+68>>2]|0))Cha(a);return}function fca(a){a=a|0;if(!(k[a+68>>2]|0))Cha(a);return}function gca(a){a=a|0;return -1}function hca(a){a=a|0;return -1}function ica(a,b){a=a|0;b=b|0;return b|0}function jca(a,b){a=a|0;b=b|0;return b|0}function kca(a){a=a|0;return fha(a|0)|0}function lca(a){a=a|0;return 0}function mca(a){a=a|0;return 0}function nca(a,b){a=a|0;b=b|0;return b|0}function oca(a,b){a=a|0;b=b|0;return +Cc[a&1](b|0)}function pca(a){a=a|0;rz(a+-4|0);return}function qca(a){a=a|0;Fe(a);uha(a);return}function rca(a){a=a|0;return (i[a+56>>0]|0)==0|0}function sca(a,b){a=a|0;b=b|0;return b|0}function tca(a,b){a=a|0;b=b|0;r=a;s=b}function uca(a){a=a|0;return 2147483647}function vca(a){a=a|0;return 2147483647}function wca(a){a=a|0;return 2147483647}function xca(a){a=a|0;return 2147483647}function yca(a){a=a|0;ht(a);uha(a);return}function zca(a){a=a|0;return k[2147]|0}function Aca(a,b){a=a|0;b=+b;return uc[a&3](+b)|0}function Bca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;la(33)}function Cca(a){a=a|0;return k[a+76>>2]|0}function Dca(a){a=a|0;return kha(a|0)|0}function Eca(a){a=a|0;f4(a);return}function Fca(a){a=a|0;return k[a+4>>2]|0}function Gca(a,b){a=+a;b=+b;return +(+X(+(+uk(a,b))))}function Hca(a){a=a|0;return a|0}function Ica(a){a=+a;return a>=0.0?+W(a+.5):+ha(a-.5)}function Jca(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Kca(a){a=a|0;return 0}function Lca(a){a=a|0;return 0}function Mca(a){a=a|0;return 0}function Nca(a){a=a|0;return 0}function Oca(a,b){a=a|0;b=b|0;return b|0}function Pca(a){a=a|0;uha(a);return}function Qca(a){a=a|0;return k[a+112>>2]|0}function Rca(a,b){a=a|0;b=b|0;return (a+-48|0)>>>0<10|0}function Sca(a){a=a|0;return 0}function Tca(a){a=a|0;return 1}function Uca(a,b){a=a|0;b=b|0;return b|0}function Vca(a){a=a|0;uha(a);return}function Wca(a,b){a=a|0;b=b|0;qc[a&511](b|0)}function Xca(a){a=a|0;return (i[a+4>>0]|0)!=0|0}function Yca(a,b){a=a|0;b=b|0;return b|0}function Zca(a){a=a|0;return (i[a+56>>0]|0)!=0|0}function _ca(a){a=a|0;uha(a);return}function $ca(a,b){a=a|0;b=b|0;Ny(a,b)|0;return a|0}function ada(a){a=a|0;return (i[a+4>>0]|0)!=0|0}function bda(a){a=a|0;return k[a+72>>2]|0}function cda(a){a=a|0;return k[a+92>>2]|0}function dda(a){a=a|0;return 4}function eda(a){a=a|0;return 4}function fda(a,b){a=a|0;b=b|0;return b|0}function gda(a,b){a=a|0;b=b|0;return b|0}function hda(a){a=a|0;uha(a);return}function ida(a){a=a|0;return k[a+16>>2]|0}function jda(a){a=a|0;return 1}function kda(a){a=a|0;return 31492}function lda(a){a=a|0;return 31243}function mda(a,b){a=a|0;b=b|0;return b|0}function nda(a,b){a=a|0;b=b|0;return b|0}function oda(a){a=a|0;uha(a);return}function pda(a,b,c){a=a|0;b=b|0;c=c|0;la(25);return 0.0}function qda(a){a=a|0;return k[a+24>>2]|0}function rda(a){a=a|0;uha(a);return}function sda(a){a=a|0;uha(a);return}function tda(a){a=a|0;uha(a);return}function uda(a){a=a|0;uha(a);return}function vda(a){a=a|0;return 0}function wda(a){a=a|0;return 0}function xda(a){a=a|0;return 127}function yda(a){a=a|0;return 127}function zda(a){a=a|0;return 127}function Ada(a){a=a|0;return 127}function Bda(a,b){a=a|0;b=b|0;return b|0}function Cda(a,b,c){a=a|0;b=b|0;c=c|0;la(10);return 0}function Dda(a){a=a|0;return k[a+84>>2]|0}function Eda(a){a=a|0;uha(a);return}function Fda(a){a=a|0;uha(a);return}function Gda(a){a=a|0;uha(a);return}function Hda(a){a=a|0;return 1}function Ida(a){a=a|0;return k[a+4>>2]|0}function Jda(a){a=a|0;uha(a);return}function Kda(a){a=a|0;return +(+p[a+8>>3])}function Lda(a){a=a|0;return k[a+20>>2]|0}function Mda(a,b){a=a|0;b=b|0;return}function Nda(a,b){a=a|0;b=b|0;return}function Oda(a){a=a|0;return 31243}function Pda(a,b){a=a|0;b=b|0;return b|0}function Qda(a){a=a|0;return sI(a+1|0,4)|0}function Rda(a){a=a|0;return k[a+4>>2]|0}function Sda(a){a=a|0;return k[a+4>>2]|0}function Tda(a){a=a|0;uha(a);return}function Uda(a){a=a|0;uha(a);return}function Vda(a){a=a|0;return 48346}function Wda(a){a=a|0;return 0}function Xda(a){a=a|0;return 0}function Yda(a){a=a|0;return 0}function Zda(a){a=a|0;return 0}function _da(a){a=a|0;return 31243}function $da(a){a=a|0;return 31243}function aea(a,b){a=a|0;b=b|0;return 0}function bea(a){a=a|0;return k[2144]|0}function cea(a,b){a=a|0;b=b|0;return 0}function dea(a){a=a|0;return k[a+4>>2]|0}function eea(a){a=a|0;return sI(a+1|0,4)|0}function fea(a){a=a|0;return k[a+4>>2]|0}function gea(a){a=a|0;return k[a+8>>2]|0}function hea(a){a=a|0;uha(a);return}function iea(a){a=a|0;return 48423}function jea(a,b){a=a|0;b=b|0;return 0}function kea(a){a=a|0;uha(a);return}function lea(a){a=a|0;uha(a);return}function mea(a){a=a|0;return 0}function nea(a,b){a=a|0;b=b|0;return +(+yC(a,b,1))}function oea(a){a=a|0;return k[a+4>>2]|0}function pea(a){a=a|0;return k[a>>2]|0}function qea(a){a=a|0;k[a>>2]=24992;return}function rea(a){a=a|0;return a<<24>>24>-1|0}function sea(a){a=a|0;uha(a);return}function tea(a){a=a|0;return +(+p[a+8>>3])}function uea(a){a=a|0;return k[a>>2]|0}function vea(a){a=a|0;return k[a+4>>2]|0}function wea(a,b){a=a|0;b=b|0;return l4(a)|0}function xea(a){a=a|0;uha(a);return}function yea(a){a=a|0;uha(a);return}function zea(a){a=a|0;uha(a);return}function Aea(a){a=a|0;uha(a);return}function Bea(a){a=a|0;uha(a);return}function Cea(a){a=a|0;return 0}function Dea(a){a=a|0;return k[a+8>>2]|0}function Eea(a){a=a|0;return k[a+16>>2]|0}function Fea(a){a=a|0;k[a>>2]=24852;return}function Gea(a){a=a|0;uha(a);return}function Hea(a){a=a|0;uha(a);return}function Iea(a){a=a|0;uha(a);return}function Jea(a){a=a|0;uha(a);return}function Kea(a){a=a|0;return 0}function Lea(a){a=a|0;return 1}function Mea(a){a=a|0;return k[a+8>>2]|0}function Nea(a){a=a|0;k[a>>2]=24972;return}function Oea(a){a=a|0;return 48994}function Pea(a){a=a|0;uha(a);return}function Qea(a){a=a|0;uha(a);return}function Rea(a,b,c){a=+a;b=+b;c=+c;la(17);return 0}function Sea(a){a=a|0;return k[a+4>>2]|0}function Tea(a,b){a=+a;b=+b;return +(+LH(a,b))}function Uea(a){a=a|0;uha(a);return}function Vea(a){a=a|0;uha(a);return}function Wea(a,b){a=+a;b=b|0;return +(+cB(a,b))}function Xea(a){a=a|0;return +(+p[a+16>>3])}function Yea(a){a=a|0;return +(+p[a+24>>3])}function Zea(a){a=a|0;return +(+p[a+32>>3])}function _ea(a){a=a|0;return 37572}function $ea(a){a=a|0;return}function afa(a){a=a|0;return}function bfa(a){a=a|0;return 0}function cfa(a){a=a|0;uha(a);return}function dfa(a){a=a|0;return 1}function efa(a,b,c){a=a|0;b=b|0;c=c|0;la(29)}function ffa(a){a=a|0;return +(+p[a+8>>3])}function gfa(a){a=a|0;return}function hfa(a){a=a|0;uha(a);return}function ifa(a){a=a|0;uha(a);return}function jfa(a){a=a|0;uha(a);return}function kfa(a){a=a|0;return 1}function lfa(a){a=a|0;return Nc[a&15]()|0}function mfa(a,b){a=+a;b=b|0;return +(+CB(a,b))}function nfa(a){a=a|0;uha(a);return}function ofa(a){a=a|0;uha(a);return}function pfa(a){a=a|0;uha(a);return}function qfa(a){a=a|0;uha(a);return}function rfa(a){a=a|0;return 37616}function sfa(a){a=a|0;return 0}function tfa(a){a=a|0;uha(a);return}function ufa(a){a=a|0;return 1}function vfa(a){a=a|0;uha(a);return}function wfa(a){a=a|0;return k[a>>2]|0}function xfa(a){a=a|0;uha(a);return}function yfa(a){a=a|0;uha(a);return}function zfa(a,b){a=+a;b=+b;return +(a-b)}function Afa(a,b){a=+a;b=+b;return +(a*b)}function Bfa(a,b){a=+a;b=+b;return +(a/b)}function Cfa(a,b){a=+a;b=+b;return +(a+b)}function Dfa(a){a=a|0;uha(a);return}function Efa(a){a=a|0;return (a+-65|0)>>>0<26|0}function Ffa(a){a=a|0;return (a+-97|0)>>>0<26|0}function Gfa(a){a=a|0;return 0}function Hfa(a){a=a|0;return}function Ifa(a){a=a|0;return 0}function Jfa(a){a=a|0;return}function Kfa(a){a=a|0;return a|0}function Lfa(a){a=a|0;return a|0}function Mfa(a){a=a|0;uha(a);return}function Nfa(a){a=a|0;return 37655}function Ofa(a){a=a|0;return 0}function Pfa(a){a=a|0;uha(a);return}function Qfa(a){a=a|0;return 1}function Rfa(a,b){a=a|0;b=b|0;la(26);return 0.0}function Sfa(a,b){a=+a;b=+b;return +(+uk(a,b))}function Tfa(a){a=a|0;uha(a);return}function Ufa(a){a=a|0;return 0}function Vfa(a){a=a|0;return}function Wfa(a){a=a|0;uha(a);return}function Xfa(a){a=a|0;return 1}function Yfa(a,b){a=a|0;b=b|0;la(23);return 0}function Zfa(a){a=a|0;uha(a);return}function _fa(a){a=a|0;uha(a);return}function $fa(a){a=a|0;return 1}function aga(a){a=a|0;uha(a);return}function bga(a){a=a|0;uha(a);return}function cga(a){a=a|0;uha(a);return}function dga(a){a=a|0;uha(a);return}function ega(a){a=a|0;uha(a);return}function fga(a){a=a|0;uha(a);return}function gga(a){a=a|0;uha(a);return}function hga(a){a=a|0;uha(a);return}function iga(a){a=a|0;uha(a);return}function jga(a){a=a|0;return 1}function kga(a){a=a|0;return 0}function lga(a,b){a=+a;b=b|0;la(11);return 0.0}function mga(a,b){a=a|0;b=b|0;return -1|0}function nga(a){a=a|0;uha(a);return}function oga(a){a=a|0;return}function pga(a){a=a|0;return}function qga(a){a=a|0;return}function rga(a){a=a|0;return}function sga(a){a=a|0;return 1}function tga(a){a=a|0;return 0}function uga(a){a=a|0;uha(a);return}function vga(a){a=a|0;uha(a);return}function wga(a){a=a|0;uha(a);return}function xga(a){a=a|0;uha(a);return}function yga(a,b){a=+a;b=b|0;la(30);return 0}function zga(a,b){a=a|0;b=+b;la(19);return 0}function Aga(a){a=a|0;return a|0}function Bga(a){a=a|0;return 51978}function Cga(a){a=a|0;uha(a);return}function Dga(a){a=a|0;uha(a);return}function Ega(a){a=a|0;uha(a);return}function Fga(a){a=a|0;return 0}function Gga(a,b){a=+a;b=+b;la(15);return 0.0}function Hga(a){a=a|0;return}function Iga(a){a=a|0;return}function Jga(a){a=a|0;return 51835}function Kga(a){a=a|0;return a|0}function Lga(a){a=a|0;uha(a);return}function Mga(a){a=a|0;return 0}function Nga(a){a=a|0;oc[a&7]()}function Oga(a){a=a|0;return 51949}function Pga(a){a=a|0;return 0}function Qga(a){a=a|0;return 1}function Rga(a){a=a|0;return}function Sga(a){a=a|0;return 1}function Tga(){cb()}function Uga(a){a=a|0;return}function Vga(a){a=a|0;return}function Wga(a){a=a|0;return 0}function Xga(a){a=a|0;return 1}function Yga(a){a=a|0;return}function Zga(a){a=a|0;return}function _ga(a){a=a|0;return}function $ga(a){a=a|0;ic=a}function aha(a){a=a|0;return 0}function bha(a){a=a|0;return}function cha(a){a=a|0;return}function dha(a){a=a|0;return +(+nea(a,0))}function eha(a){a=a|0;return -1}function fha(a){a=a|0;return 0}function gha(a){a=a|0;cf(a);return}function hha(a){a=a|0;hc=a}function iha(a,b){a=a|0;b=b|0;la(5)}function jha(a){a=a|0;return}function kha(a){a=a|0;return 0}function lha(){xb()}function mha(a){a=a|0;return GG(a)|0}function nha(a){a=a|0;uha(a);return}function oha(a){a=a|0;return 0}function pha(a){a=a|0;return}function qha(a){a=a|0;return}function rha(a){a=a|0;return}function sha(a){a=a|0;return}function tha(a){a=a|0;r=a}function uha(a){a=a|0;cf(a);return}function vha(a){a=a|0;return}function wha(a){a=a|0;M=a}function xha(a){a=a|0;la(16);return 0.0}function yha(a){a=a|0;return}function zha(a){a=a|0;return}function Aha(){Lb()}function Bha(a){a=a|0;la(7);return 0}function Cha(a){a=a|0;return}function Dha(a){a=a|0;return 0}function Eha(){return ic|0}function Fha(a){a=+a;la(8);return 0}function Gha(){return}function Hha(a){a=a|0;return 0}function Iha(){return 19272}function Jha(){return 17732}function Kha(){return M|0}function Lha(){return r|0}function Mha(){return 42974}function Nha(a){a=a|0;la(4)}function Oha(){return 17728}function Pha(){la(27);return 0}function Qha(){return 20844}function Rha(){return 0}function Sha(){la(2)} -function Qd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;C=0;F=r;r=r+640|0;G=F+600|0;b=F+584|0;v=F+320|0;u=F+572|0;B=F+176|0;A=F+560|0;D=F+520|0;E=F+504|0;l=F+464|0;n=F+160|0;h=F+120|0;o=F+104|0;q=F+92|0;i=F+80|0;j=F+40|0;s=F+24|0;t=F+12|0;m=F;lE(b,37851,6);x=0;f=Ka(867,a|0,b|0)|0;z=x;x=0;if(z&1){e=mb()|0;P1(b);yb(e|0)}d=k[f>>2]|0;P1(b);do if(!d){d=vb(116)|0;f=d}else{b=Ot(d,8,288,0)|0;f=Ot(d,8,392,0)|0;if(!f){if(Ot(d,8,464,0)|0){y=k[17926]|0;z=((y+1|0)>>>0)%624|0;b=69208+(y<<2)|0;f=69208+(z<<2)|0;w=k[f>>2]|0;k[b>>2]=0-(w&1)&-1727483681^k[69208+((((y+397|0)>>>0)%624|0)<<2)>>2]^(w&2147483646|k[b>>2]&-2147483648)>>>1;b=k[69208+(k[17926]<<2)>>2]|0;b=b>>>11^b;k[17926]=z;b=b<<7&-1658038656^b;b=b<<15&-272236544^b;w=((z+1|0)>>>0)%624|0;y=k[69208+(w<<2)>>2]|0;k[f>>2]=0-(y&1)&-1727483681^k[69208+((((z+397|0)>>>0)%624|0)<<2)>>2]^(y&2147483646|k[f>>2]&-2147483648)>>>1;f=k[69208+(k[17926]<<2)>>2]|0;f=f>>>11^f;k[17926]=w;f=f<<7&-1658038656^f;f=f<<15&-272236544^f;g=(+((b>>>18^b)>>>0)+ +((f>>>18^f)>>>0)*4294967296.0)*5.421010862427522e-20+0.0;f=c+36|0;b=lD(f,96)|0;w=l;y=e;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));lE(n,78097,0);x=0;w=G;y=l;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));Fa(1,b|0,G|0,+g,n|0,1);e=x;x=0;if(!(e&1)){x=0;f=Ka(857,f|0,b|0)|0;e=x;x=0;if(!(e&1)){P1(n);e=f;r=F;return e|0}}e=mb()|0;P1(n);yb(e|0)}d=vb(116)|0;if(!b){f=d;break}w=h;y=e;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));x=0;Qa(74,o|0,37973,6);e=x;x=0;do if(e&1)f=mb()|0;else{x=0;Qa(74,q|0,37851,6);e=x;x=0;if(e&1){f=mb()|0;P1(o);break}x=0;Qa(74,i|0,36799,6);e=x;x=0;if(e&1){f=mb()|0;b=1}else{x=0;w=G;y=h;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));Ba(14,d|0,G|0,o|0,q|0,i|0,b|0);e=x;x=0;if(e&1)f=1;else{x=0;Qa(77,d|0,1296,127);x=0;f=0}e=mb()|0;P1(i);b=f;f=e}P1(q);P1(o);if(!b){e=f;yb(e|0)}}while(0);lb(d|0);e=f;yb(e|0)}g=+p[f+56>>3];a:do if(g<1.0){h=v+64|0;f=v+8|0;k[f>>2]=8236;a=v+12|0;k[v>>2]=8440;k[h>>2]=8460;k[v+4>>2]=0;x=0;sa(452,v+64|0,a|0);z=x;x=0;if(z&1){e=mb()|0;P9(h);yb(e|0)}k[v+136>>2]=0;k[v+140>>2]=-1;k[v>>2]=8216;k[h>>2]=8256;k[f>>2]=8236;x=0;ra(324,a|0);z=x;x=0;do if(z&1)f=mb()|0;else{k[a>>2]=8272;b=v+44|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[v+60>>2]=24;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;x=0;sa(453,a|0,G|0);z=x;x=0;if(z&1){f=mb()|0;P1(G);P1(b);D2(a);break}P1(G);d=v+8|0;x=0;f=xa(49,d|0,37858,7)|0;z=x;x=0;do if(z&1)C=21;else{x=0;f=Ga(1,f|0,+g)|0;z=x;x=0;if(z&1)C=21;else{x=0;xa(49,f|0,37866,48)|0;z=x;x=0;if(z&1)C=21;else{x=0;sa(454,u|0,a|0);z=x;x=0;if(z&1)C=21;else{x=0;w=G;y=e;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));sa(438,u|0,G|0);z=x;x=0;if(z&1){f=mb()|0;P1(u);break}else{P1(u);k[v>>2]=8216;k[h>>2]=8256;k[d>>2]=8236;k[a>>2]=8272;P1(b);D2(a);P9(h);break a}}}}}while(0);if((C|0)==21)f=mb()|0;k[v>>2]=8216;k[h>>2]=8256;k[d>>2]=8236;k[a>>2]=8272;P1(b);D2(a);P9(h);e=f;yb(e|0)}while(0);e=f;P9(h);yb(e|0)}while(0);b:do if(!(+X(+(+tD(g)-g))<1.0e-14)){h=B+64|0;f=B+8|0;k[f>>2]=8236;a=B+12|0;k[B>>2]=8440;k[h>>2]=8460;k[B+4>>2]=0;x=0;sa(452,B+64|0,a|0);z=x;x=0;if(z&1){e=mb()|0;P9(h);yb(e|0)}k[B+136>>2]=0;k[B+140>>2]=-1;k[B>>2]=8216;k[h>>2]=8256;k[f>>2]=8236;x=0;ra(324,a|0);z=x;x=0;do if(z&1)f=mb()|0;else{k[a>>2]=8272;b=B+44|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[B+60>>2]=24;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;x=0;sa(453,a|0,G|0);z=x;x=0;if(z&1){f=mb()|0;P1(G);P1(b);D2(a);break}P1(G);d=B+8|0;x=0;f=xa(49,d|0,37915,42)|0;z=x;x=0;do if(z&1)C=39;else{x=0;f=Ga(1,f|0,+g)|0;z=x;x=0;if(z&1)C=39;else{x=0;xa(49,f|0,37958,14)|0;z=x;x=0;if(z&1)C=39;else{x=0;sa(454,A|0,a|0);z=x;x=0;if(z&1)C=39;else{x=0;w=G;y=e;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));sa(438,A|0,G|0);z=x;x=0;if(z&1){f=mb()|0;P1(A);break}else{P1(A);k[B>>2]=8216;k[h>>2]=8256;k[d>>2]=8236;k[a>>2]=8272;P1(b);D2(a);P9(h);break b}}}}}while(0);if((C|0)==39)f=mb()|0;k[B>>2]=8216;k[h>>2]=8256;k[d>>2]=8236;k[a>>2]=8272;P1(b);D2(a);P9(h);e=f;yb(e|0)}while(0);e=f;P9(h);yb(e|0)}while(0);w=k[17926]|0;y=((w+1|0)>>>0)%624|0;b=69208+(w<<2)|0;f=69208+(y<<2)|0;d=k[f>>2]|0;k[b>>2]=0-(d&1)&-1727483681^k[69208+((((w+397|0)>>>0)%624|0)<<2)>>2]^(d&2147483646|k[b>>2]&-2147483648)>>>1;b=k[69208+(k[17926]<<2)>>2]|0;b=b>>>11^b;k[17926]=y;b=b<<7&-1658038656^b;b=b<<15&-272236544^b;d=((y+1|0)>>>0)%624|0;w=k[69208+(d<<2)>>2]|0;k[f>>2]=0-(w&1)&-1727483681^k[69208+((((y+397|0)>>>0)%624|0)<<2)>>2]^(w&2147483646|k[f>>2]&-2147483648)>>>1;f=k[69208+(k[17926]<<2)>>2]|0;f=f>>>11^f;k[17926]=d;f=f<<7&-1658038656^f;f=f<<15&-272236544^f;f=~~((g+1.0+-1.0)*(+((b>>>18^b)>>>0)+ +((f>>>18^f)>>>0)*4294967296.0)*5.421010862427522e-20+1.0)>>>0;b=c+36|0;d=lD(b,96)|0;w=D;y=e;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));g=+(f>>>0);lE(E,78097,0);x=0;w=G;y=D;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));Fa(1,d|0,G|0,+g,E|0,1);e=x;x=0;if(!(e&1)){x=0;f=Ka(857,b|0,d|0)|0;e=x;x=0;if(!(e&1)){P1(E);e=f;r=F;return e|0}}e=mb()|0;P1(E);yb(e|0)}while(0);w=j;y=e;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));x=0;Qa(74,s|0,37973,6);e=x;x=0;do if(e&1)f=mb()|0;else{x=0;Qa(74,t|0,37851,6);e=x;x=0;if(e&1){f=mb()|0;P1(s);break}x=0;Qa(74,m|0,36799,6);e=x;x=0;if(e&1){f=mb()|0;b=1}else{x=0;w=G;y=j;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));Ba(14,f|0,G|0,s|0,t|0,m|0,0);e=x;x=0;if(e&1)f=1;else{x=0;Qa(77,d|0,1296,127);x=0;f=0}e=mb()|0;P1(m);b=f;f=e}P1(t);P1(s);if(!b){e=f;yb(e|0)}}while(0);lb(d|0);e=f;yb(e|0);return 0}function Rd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=0;D=r;r=r+304|0;B=D;n=D+280|0;m=D+244|0;o=D+192|0;d=D+268|0;c=D+256|0;b=D+232|0;E=D+176|0;p=D+164|0;q=D+152|0;t=D+120|0;v=D+80|0;u=D+136|0;z=D+64|0;y=D+52|0;w=D+40|0;a:do if(!(Bp(a,1,0)|0)){if(eo(a,1,0)|0){b=(k[a+40>>2]|0)+36|0;c=lD(b,76)|0;d=a+152|0;h=B;j=a+108|0;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));Xp(c,B,d);A=N4(b,c)|0;i[A+48>>0]=1;break}lE(d,39906,11);x=0;Qa(74,c|0,39918,7);A=x;x=0;if(A&1)b=mb()|0;else{x=0;Qa(74,b|0,41083,20);A=x;x=0;do if(A&1)b=mb()|0;else{x=0;Ua(31,a|0,d|0,c|0,b|0);A=x;x=0;if(A&1){E=mb()|0;P1(b);b=E;break}else{P1(b);P1(c);P1(d);A=0;break a}}while(0);P1(c)}P1(d);E=b;yb(E|0)}else A=de(a)|0;while(0);g=a+152|0;c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(E);C=18}else if(f>>>0<11){i[E>>0]=f<<1;b=E+1|0}else C=18;if((C|0)==18){s=f+16&-16;b=GG(s)|0;k[E+8>>2]=b;k[E>>2]=s|1;k[E+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;k[B>>2]=k[g>>2];k[B+4>>2]=k[g+4>>2];k[B+8>>2]=k[g+8>>2];s=a+76|0;c=k[s>>2]|0;d=a+84|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];e=a+96|0;k[m>>2]=k[e>>2];k[m+4>>2]=k[e+4>>2];k[m+8>>2]=k[e+8>>2];f=a+108|0;h=o;j=f;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));x=0;xa(64,a|0,1,0)|0;l=x;x=0;b:do if(l&1)C=31;else{x=0;b=xa(98,a|0,1,0)|0;l=x;x=0;if(l&1)C=31;else{c:do if(!b){h=f;j=o;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[g>>2]=k[B>>2];k[g+4>>2]=k[B+4>>2];k[g+8>>2]=k[B+8>>2];k[s>>2]=c;k[e>>2]=k[m>>2];k[e+4>>2]=k[m+4>>2];k[e+8>>2]=k[m+8>>2];k[d>>2]=k[n>>2];k[d+4>>2]=k[n+4>>2];k[d+8>>2]=k[n+8>>2];k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;b=i[E>>0]|0;b=(b&1)==0?(b&255)>>>1:k[E+4>>2]|0;x=0;Ua(10,q|0,42187,10,b+10|0);o=x;x=0;if(!(o&1)){x=0;xa(46,q|0,((i[E>>0]&1)==0?E+1|0:k[E+8>>2]|0)|0,b|0)|0;o=x;x=0;if(!(o&1)){x=0;b=Ka(866,q|0,42198)|0;o=x;x=0;do if(o&1)b=mb()|0;else{k[p>>2]=k[b>>2];k[p+4>>2]=k[b+4>>2];k[p+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;o=a+108|0;x=0;k[B>>2]=k[o>>2];k[B+4>>2]=k[o+4>>2];k[B+8>>2]=k[o+8>>2];Qa(135,a|0,p|0,B|0);o=x;x=0;if(o&1){b=mb()|0;P1(p);break}else{P1(p);P1(q);break c}}while(0);P1(q);break b}}b=mb()|0;P1(q);C=32;break b}while(0);x=0;xa(64,a|0,0,0)|0;q=x;x=0;if(q&1)C=31;else{x=0;b=ua(230,k[s>>2]|0)|0;q=x;x=0;if(q&1)C=31;else{e=a+80|0;if((b|0)==0?1:b>>>0>(k[e>>2]|0)>>>0)b=k[s>>2]|0;x=0;c=ua(231,b|0)|0;q=x;x=0;if(q&1)C=31;else{q=c|0?c:b;q=(i[q>>0]|0)==59?q+1|0:0;do if(!((q|0)==0?1:q>>>0>(k[e>>2]|0)>>>0)){x=0;Qa(74,t|0,42001,38);q=x;x=0;if(q&1){C=31;break b}q=a+108|0;x=0;k[B>>2]=k[q>>2];k[B+4>>2]=k[q+4>>2];k[B+8>>2]=k[q+8>>2];Qa(135,a|0,t|0,B|0);q=x;x=0;if(q&1){b=mb()|0;P1(t);break b}else{P1(t);break}}while(0);x=0;b=ua(230,k[s>>2]|0)|0;t=x;x=0;if(t&1)C=31;else{if((b|0)==0?1:b>>>0>(k[e>>2]|0)>>>0)b=k[s>>2]|0;x=0;c=ua(231,b|0)|0;t=x;x=0;if(t&1)C=31;else{f=c|0?c:b;f=(i[f>>0]|0)==123?f+1|0:0;f=(f|0)==0?1:f>>>0>(k[e>>2]|0)>>>0;x=0;b=ua(230,k[s>>2]|0)|0;t=x;x=0;if(t&1)C=31;else{if((b|0)==0?1:b>>>0>(k[e>>2]|0)>>>0)b=k[s>>2]|0;x=0;c=ua(231,b|0)|0;t=x;x=0;if(t&1)C=31;else{x=0;b=ua(232,(c|0?c:b)|0)|0;t=x;x=0;if(t&1)C=31;else{if(!((b|0)==0?1:b>>>0>(k[e>>2]|0)>>>0)){c=(k[a+40>>2]|0)+36|0;x=0;d=Ka(856,c|0,76)|0;C=x;x=0;if(C&1){C=31;break}h=v;j=A+8|0;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));x=0;b=ua(255,a|0)|0;C=x;x=0;if(C&1){C=31;break}k[d+4>>2]=0;h=d+8|0;j=v;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d>>2]=12288;k[d+64>>2]=A;k[d+68>>2]=b;i[d+72>>0]=0;i[d+73>>0]=0;k[d+52>>2]=9;x=0;b=Ka(857,c|0,d|0)|0;C=x;x=0;if(C&1){C=31;break}C=b;P1(E);r=D;return C|0}x=0;Qa(138,u|0,a|0,k[s>>2]|0);v=x;x=0;if(v&1){C=31;break}b=k[u>>2]|0;d:do if(!b){x=0;b=ua(234,a|0)|0;v=x;x=0;if(v&1){C=31;break b}if(!b){b=0;break}c=Ot(b,64,256,0)|0;if(!c)break;if((k[c+64>>2]|0)!=(k[c+60>>2]|0))break;c=k[s>>2]|0;x=0;d=ua(231,c|0)|0;v=x;x=0;if(v&1){C=31;break b}v=d|0?d:c;v=(i[v>>0]|0)==123?v+1|0:0;if(!((v|0)==0?1:v>>>0>(k[e>>2]|0)>>>0))break;x=0;Qa(74,z|0,39906,11);v=x;x=0;if(v&1){C=31;break b}x=0;Qa(74,y|0,39918,7);v=x;x=0;if(v&1)b=mb()|0;else{x=0;Qa(74,w|0,40150,44);v=x;x=0;do if(v&1)b=mb()|0;else{x=0;Ua(31,a|0,z|0,y|0,w|0);v=x;x=0;if(v&1){b=mb()|0;P1(w);break}else{P1(w);P1(y);P1(z);break d}}while(0);P1(y)}P1(z);break b}else{if(!(i[u+13>>0]|0)){x=0;b=ua(234,a|0)|0;C=x;x=0;if(C&1){C=31;break b}else break}x=0;b=Ka(901,a|0,b|0)|0;C=x;x=0;if(C&1){C=31;break b}}while(0);x=0;xa(64,a|0,0,0)|0;C=x;x=0;if(C&1){C=31;break}c=(k[a+40>>2]|0)+36|0;x=0;d=Ka(856,c|0,76)|0;C=x;x=0;if(C&1){C=31;break}h=B;j=A+8|0;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[d+4>>2]=0;h=d+8|0;j=B;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[d+56>>2]=0;i[d+60>>0]=0;k[d>>2]=12288;k[d+64>>2]=A;k[d+68>>2]=b;i[d+72>>0]=0;i[d+73>>0]=0;k[d+52>>2]=9;x=0;b=Ka(857,c|0,d|0)|0;C=x;x=0;if(C&1){C=31;break}i[b+73>>0]=f&1;C=b;P1(E);r=D;return C|0}}}}}}}}}}while(0);if((C|0)==31){b=mb()|0;C=32}P1(E);E=b;yb(E|0);return 0}function Sd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,j=0.0,l=0.0,m=0,n=0,o=0.0,q=0.0,s=0.0,t=0.0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=r;r=r+352|0;T=V+312|0;b=V+296|0;m=V+284|0;n=V+272|0;u=V+260|0;v=V+248|0;w=V+236|0;z=V+224|0;A=V+212|0;E=V+200|0;F=V+188|0;G=V+176|0;H=V+164|0;J=V+152|0;O=V+112|0;P=V+100|0;Q=V+88|0;R=V+76|0;S=V+64|0;I=V+24|0;K=V+12|0;D=V;lE(b,36999,6);x=0;y=T;L=e;M=y+40|0;do{k[y>>2]=k[L>>2];y=y+4|0;L=L+4|0}while((y|0)<(M|0));U=wa(24,b|0,a|0,d|0,T|0,f|0)|0;N=x;x=0;if(N&1){V=mb()|0;P1(b);yb(V|0)}P1(b);lE(m,36974,4);x=0;b=Ka(867,a|0,m|0)|0;N=x;x=0;if(N&1){V=mb()|0;P1(m);yb(V|0)}b=k[b>>2]|0;if(!b)y=0;else y=Ot(b,8,392,0)|0;P1(m);lE(n,36979,6);x=0;b=Ka(867,a|0,n|0)|0;N=x;x=0;if(N&1){V=mb()|0;P1(n);yb(V|0)}b=k[b>>2]|0;if(!b)m=0;else m=Ot(b,8,392,0)|0;P1(n);lE(u,36986,5);x=0;b=Ka(867,a|0,u|0)|0;N=x;x=0;if(N&1){V=mb()|0;P1(u);yb(V|0)}b=k[b>>2]|0;if(!b)B=0;else B=Ot(b,8,392,0)|0;P1(u);lE(v,37038,4);x=0;b=Ka(867,a|0,v|0)|0;N=x;x=0;if(N&1){V=mb()|0;P1(v);yb(V|0)}b=k[b>>2]|0;if(!b)N=0;else N=Ot(b,8,392,0)|0;P1(v);lE(w,37043,11);x=0;b=Ka(867,a|0,w|0)|0;M=x;x=0;if(M&1){V=mb()|0;P1(w);yb(V|0)}b=k[b>>2]|0;if(!b)v=0;else v=Ot(b,8,392,0)|0;P1(w);lE(z,37055,10);x=0;b=Ka(867,a|0,z|0)|0;M=x;x=0;if(M&1){V=mb()|0;P1(z);yb(V|0)}b=k[b>>2]|0;if(!b)C=0;else C=Ot(b,8,392,0)|0;P1(z);lE(A,36992,6);x=0;b=Ka(867,a|0,A|0)|0;M=x;x=0;if(M&1){V=mb()|0;P1(A);yb(V|0)}b=k[b>>2]|0;if(!b)z=0;else z=Ot(b,8,392,0)|0;P1(A);n=(y|0)!=0;u=(m|0)!=0;m=n|u|(B|0)!=0;w=(N|0)!=0;v=(v|0)!=0;b=w|v|(C|0)!=0;do if(m&b){lE(E,37128,57);x=0;y=T;L=e;M=y+40|0;do{k[y>>2]=k[L>>2];y=y+4|0;L=L+4|0}while((y|0)<(M|0));sa(438,E|0,T|0);M=x;x=0;if(!(M&1)){P1(E);break}V=mb()|0;P1(E);yb(V|0)}while(0);if(m){do if(n){lE(F,36974,4);x=0;y=T;L=e;M=y+40|0;do{k[y>>2]=k[L>>2];y=y+4|0;L=L+4|0}while((y|0)<(M|0));b=La(1,F|0,a|0,d|0,T|0,-255.0,255.0,f|0)|0;S=x;x=0;if(!(S&1)){l=+p[b+56>>3];P1(F);break}V=mb()|0;P1(F);yb(V|0)}else l=0.0;while(0);do if(u){lE(G,36979,6);x=0;y=T;L=e;M=y+40|0;do{k[y>>2]=k[L>>2];y=y+4|0;L=L+4|0}while((y|0)<(M|0));b=La(1,G|0,a|0,d|0,T|0,-255.0,255.0,f|0)|0;S=x;x=0;if(!(S&1)){j=+p[b+56>>3];P1(G);break}V=mb()|0;P1(G);yb(V|0)}else j=0.0;while(0);do if(!B)h=0.0;else{lE(H,36986,5);x=0;y=T;L=e;M=y+40|0;do{k[y>>2]=k[L>>2];y=y+4|0;L=L+4|0}while((y|0)<(M|0));b=La(1,H|0,a|0,d|0,T|0,-255.0,255.0,f|0)|0;S=x;x=0;if(!(S&1)){h=+p[b+56>>3];P1(H);break}V=mb()|0;P1(H);yb(V|0)}while(0);do if(!z)g=0.0;else{lE(J,36992,6);x=0;y=T;L=e;M=y+40|0;do{k[y>>2]=k[L>>2];y=y+4|0;L=L+4|0}while((y|0)<(M|0));b=La(1,J|0,a|0,d|0,T|0,-1.0,1.0,f|0)|0;T=x;x=0;if(!(T&1)){g=+p[b+56>>3];P1(J);break}V=mb()|0;P1(J);yb(V|0)}while(0);m=c+36|0;n=lD(m,104)|0;y=O;L=e;M=y+40|0;do{k[y>>2]=k[L>>2];y=y+4|0;L=L+4|0}while((y|0)<(M|0));l=l+ +p[U+56>>3];j=j+ +p[U+64>>3];h=h+ +p[U+72>>3];g=g+ +p[U+80>>3];lE(P,78097,0);k[n+4>>2]=0;y=n+8|0;L=O;M=y+40|0;do{k[y>>2]=k[L>>2];y=y+4|0;L=L+4|0}while((y|0)<(M|0));i[n+48>>0]=0;i[n+49>>0]=0;i[n+50>>0]=0;b=n+52|0;k[b>>2]=0;k[n>>2]=5580;p[n+56>>3]=l;p[n+64>>3]=j;p[n+72>>3]=h;p[n+80>>3]=g;x=0;sa(430,n+88|0,P|0);U=x;x=0;do if(!(U&1)){k[n+100>>2]=0;k[b>>2]=3;x=0;b=Ka(857,m|0,n|0)|0;U=x;x=0;if(U&1)break;P1(P);U=b;r=V;return U|0}while(0);V=mb()|0;P1(P);yb(V|0)}if(!b){if(!z){lE(D,37186,39);x=0;y=T;L=e;M=y+40|0;do{k[y>>2]=k[L>>2];y=y+4|0;L=L+4|0}while((y|0)<(M|0));sa(438,D|0,T|0);e=x;x=0;if(e&1){V=mb()|0;P1(D);yb(V|0)}else{P1(D);r=V;return U|0}}m=c+36|0;n=lD(m,104)|0;y=I;L=e;M=y+40|0;do{k[y>>2]=k[L>>2];y=y+4|0;L=L+4|0}while((y|0)<(M|0));h=+p[U+56>>3];j=+p[U+64>>3];l=+p[U+72>>3];g=+p[U+80>>3]+ +p[z+56>>3];lE(K,78097,0);k[n+4>>2]=0;y=n+8|0;L=I;M=y+40|0;do{k[y>>2]=k[L>>2];y=y+4|0;L=L+4|0}while((y|0)<(M|0));i[n+48>>0]=0;i[n+49>>0]=0;i[n+50>>0]=0;b=n+52|0;k[b>>2]=0;k[n>>2]=5580;p[n+56>>3]=h;p[n+64>>3]=j;p[n+72>>3]=l;p[n+80>>3]=g;x=0;sa(430,n+88|0,K|0);U=x;x=0;do if(!(U&1)){k[n+100>>2]=0;k[b>>2]=3;x=0;b=Ka(857,m|0,n|0)|0;U=x;x=0;if(U&1)break;P1(K);U=b;r=V;return U|0}while(0);V=mb()|0;P1(K);yb(V|0)}j=+p[U+56>>3]/255.0;l=+p[U+64>>3]/255.0;o=+p[U+72>>3]/255.0;b=l>2]=k[L>>2];y=y+4|0;L=L+4|0}while((y|0)<(M|0));b=La(1,Q|0,a|0,d|0,T|0,-100.0,100.0,f|0)|0;P=x;x=0;if(!(P&1)){j=+p[b+56>>3];P1(Q);break}V=mb()|0;P1(Q);yb(V|0)}else j=0.0;while(0);do if(!C)h=0.0;else{lE(R,37055,10);x=0;y=T;L=e;M=y+40|0;do{k[y>>2]=k[L>>2];y=y+4|0;L=L+4|0}while((y|0)<(M|0));b=La(1,R|0,a|0,d|0,T|0,-100.0,100.0,f|0)|0;Q=x;x=0;if(!(Q&1)){h=+p[b+56>>3];P1(R);break}V=mb()|0;P1(R);yb(V|0)}while(0);do if(!z)o=0.0;else{lE(S,36992,6);x=0;y=T;L=e;M=y+40|0;do{k[y>>2]=k[L>>2];y=y+4|0;L=L+4|0}while((y|0)<(M|0));b=La(1,S|0,a|0,d|0,T|0,-1.0,1.0,f|0)|0;d=x;x=0;if(!(d&1)){o=+p[b+56>>3];P1(S);break}V=mb()|0;P1(S);yb(V|0)}while(0);if(w)g=+p[N+56>>3];else g=0.0;l=l+g;j=q+j;h=s+h;g=o+ +p[U+80>>3];y=T;L=e;M=y+40|0;do{k[y>>2]=k[L>>2];y=y+4|0;L=L+4|0}while((y|0)<(M|0));U=lm(l,j,h,g,c,T)|0;r=V;return U|0}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;B=r;r=r+240|0;z=B+192|0;A=B+184|0;H=B+172|0;G=B+160|0;F=B+148|0;E=B+136|0;e=B+8|0;D=B+124|0;C=B+112|0;f=B;u=B+72|0;v=B+32|0;w=B+16|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(!(i[b+81>>0]|0))d=i[b+80>>0]|0?42451:78097;else d=31136;y=OD(d)|0;x=0;Qa(74,F|0,d|0,y|0);y=x;x=0;if(y&1){F=mb()|0;P1(G);P1(H);yb(F|0)}d=k[b+76>>2]|0;if(!d){x=0;Qa(74,E|0,78097,0);y=x;x=0;if(y&1)y=16;else y=7}else{y=k[(k[d>>2]|0)+20>>2]|0;q=k[(k[a+4>>2]|0)+16>>2]|0;s=k[q+4>>2]|0;t=e;k[t>>2]=k[q>>2];k[t+4>>2]=s;x=0;k[z>>2]=k[e>>2];k[z+4>>2]=k[e+4>>2];Qa(y|0,E|0,d|0,z|0);y=x;x=0;if(y&1)y=16;else y=7}if((y|0)==7){if(!(i[c+81>>0]|0))d=i[b+80>>0]|0?42451:78097;else d=31136;y=OD(d)|0;x=0;Qa(74,D|0,d|0,y|0);y=x;x=0;if(y&1)d=mb()|0;else{d=k[c+76>>2]|0;if(!d){x=0;Qa(74,C|0,78097,0);y=x;x=0;if(y&1)y=18;else y=13}else{y=k[(k[d>>2]|0)+20>>2]|0;q=k[(k[a+4>>2]|0)+16>>2]|0;s=k[q+4>>2]|0;t=f;k[t>>2]=k[q>>2];k[t+4>>2]=s;x=0;k[z>>2]=k[f>>2];k[z+4>>2]=k[f+4>>2];Qa(y|0,C|0,d|0,z|0);y=x;x=0;if(y&1)y=18;else y=13}if((y|0)==13){y=i[E>>0]|0;d=E+4|0;if(!(((y&1)==0?(y&255)>>>1:k[d>>2]|0)|0)){x=0;Ka(854,E|0,C|0)|0;y=x;x=0;if(y&1)y=21;else y=23}else y=23;a:do if((y|0)==23){t=i[C>>0]|0;l=C+4|0;if(!(((t&1)==0?(t&255)>>>1:k[l>>2]|0)|0)){x=0;Ka(854,C|0,E|0)|0;t=x;x=0;if(t&1){y=21;break}}t=(KH(F,42451)|0)==0;b:do if(t^(KH(D,42451)|0)==0){g=j[E>>1]|0;h=(g&1)==0;e=(g&254)>>>1;f=h?e:k[d>>2]|0;t=i[C>>0]|0;d=(t&1)==0;g=(g&65535)>>>8&255;do if((f|0)==((d?(t&255)>>>1:k[l>>2]|0)|0)){d=d?C+1|0:k[C+8>>2]|0;if(!h)if(!(tG(k[E+8>>2]|0,d,f)|0)){d=0;break b}else break;if(!f){d=0;break b}if(g<<24>>24==(i[d>>0]|0)){f=E+1|0;do{e=e+-1|0;f=f+1|0;if(!e){d=0;break b}d=d+1|0}while((i[f>>0]|0)==(i[d>>0]|0))}}while(0);y=(KH(F,42451)|0)==0;x=0;Ka(854,H|0,(y?C:E)|0)|0;y=x;x=0;if(y&1){y=21;break a}y=(KH(F,42451)|0)==0;x=0;Ka(854,G|0,(y?D:F)|0)|0;y=x;x=0;if(y&1){y=21;break a}else y=58}else{if(!(KH(F,42451)|0))if(!(KH(D,42451)|0)){g=j[E>>1]|0;h=(g&1)==0;e=(g&254)>>>1;f=h?e:k[d>>2]|0;t=i[C>>0]|0;d=(t&1)==0;g=(g&65535)>>>8&255;if((f|0)!=((d?(t&255)>>>1:k[l>>2]|0)|0)){d=0;break}d=d?C+1|0:k[C+8>>2]|0;c:do if(h){if(!f)break;if(g<<24>>24!=(i[d>>0]|0)){d=0;break b}f=E+1|0;while(1){e=e+-1|0;f=f+1|0;if(!e)break c;d=d+1|0;if((i[f>>0]|0)!=(i[d>>0]|0)){d=0;break b}}}else if(tG(k[E+8>>2]|0,d,f)|0){d=0;break b}while(0);x=0;Ka(854,H|0,E|0)|0;y=x;x=0;if(y&1){y=21;break a}x=0;Ka(874,G|0,42451)|0;y=x;x=0;if(y&1){y=21;break a}else{y=58;break}}g=j[E>>1]|0;h=(g&1)==0;e=(g&254)>>>1;f=h?e:k[d>>2]|0;t=i[C>>0]|0;d=(t&1)==0;g=(g&65535)>>>8&255;if((f|0)==((d?(t&255)>>>1:k[l>>2]|0)|0)){d=d?C+1|0:k[C+8>>2]|0;d:do if(h){if(f|0){if(g<<24>>24!=(i[d>>0]|0)){d=0;break b}f=E+1|0;while(1){e=e+-1|0;f=f+1|0;if(!e)break d;d=d+1|0;if((i[f>>0]|0)!=(i[d>>0]|0)){d=0;break b}}}}else if(tG(k[E+8>>2]|0,d,f)|0){d=0;break b}while(0);x=0;Ka(854,H|0,E|0)|0;y=x;x=0;if(y&1){y=21;break a}y=i[F>>0]|0;x=0;Ka(854,G|0,((((y&1)==0?(y&255)>>>1:k[F+4>>2]|0)|0)==0?D:F)|0)|0;y=x;x=0;if(y&1){y=21;break a}else y=58}else d=0}while(0);e:do if((y|0)==58){q=a+4|0;a=(k[q>>2]|0)+36|0;x=0;m=Ka(856,a|0,84)|0;t=x;x=0;if(t&1){y=21;break a}s=b+8|0;g=u;h=s;l=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));t=b+56|0;n=((k[c+64>>2]|0)-(k[c+60>>2]|0)>>2)+((k[b+64>>2]|0)-(k[b+60>>2]|0)>>2)|0;o=(KH(G,42451)|0)==0;p=(KH(G,31136)|0)==0;k[m+4>>2]=0;g=m+8|0;h=u;l=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));k[m>>2]=6736;i[m+48>>0]=0;i[m+49>>0]=0;i[m+50>>0]=0;k[m+52>>2]=0;d=m+56|0;k[d>>2]=10416;g=m+60|0;k[g>>2]=0;h=m+64|0;k[h>>2]=0;k[m+68>>2]=0;e=g+8|0;do if(n|0){x=0;f=ua(186,n<<2|0)|0;u=x;x=0;if(!(u&1)){u=f;k[g>>2]=u;k[g+4>>2]=u;k[e>>2]=f+(n<<2);break}d=mb()|0;e=k[g>>2]|0;if(!e){y=22;break a}f=k[h>>2]|0;if((f|0)!=(e|0))k[h>>2]=f+(~((f+-4-e|0)>>>2)<<2);uha(e);y=22;break a}while(0);k[m>>2]=10444;k[d>>2]=10548;k[m+76>>2]=0;i[m+80>>0]=o&1;i[m+81>>0]=p&1;x=0;d=Ka(857,a|0,m|0)|0;u=x;x=0;if(u&1){y=21;break a}u=i[H>>0]|0;f:do if(((u&1)==0?(u&255)>>>1:k[H+4>>2]|0)|0){e=(k[q>>2]|0)+36|0;x=0;f=Ka(856,e|0,76)|0;u=x;x=0;if(u&1){y=21;break a}g=v;h=s;l=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));x=0;sa(430,w|0,H|0);u=x;x=0;if(u&1){y=21;break a}x=0;g=z;h=v;l=g+40|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));qa(5,f|0,z|0,w|0,0,0);v=x;x=0;do if(!(v&1)){x=0;e=Ka(857,e|0,f|0)|0;v=x;x=0;if(v&1)break;k[d+76>>2]=e;P1(w);break f}while(0);d=mb()|0;P1(w);break a}while(0);q=d+56|0;e=k[c+60>>2]|0;p=(k[c+64>>2]|0)-e>>2;g:do if(p|0){l=c+60|0;a=d+72|0;m=d+64|0;n=d+68|0;o=d+60|0;f=0;while(1){e=k[e+(f<<2)>>2]|0;k[z>>2]=e;g=e;if(e|0){k[a>>2]=0;h=k[m>>2]|0;if((h|0)==(k[n>>2]|0)){x=0;sa(482,o|0,z|0);c=x;x=0;if(c&1)break}else{k[h>>2]=g;k[m>>2]=(k[m>>2]|0)+4}x=0;sa(k[k[q>>2]>>2]|0,q|0,e|0);c=x;x=0;if(c&1)break}f=f+1|0;if((f|0)==(p|0))break g;e=k[l>>2]|0}d=mb()|0;y=22;break a}while(0);e=(b|0)==0?0:t;f=k[e+4>>2]|0;p=(k[e+8>>2]|0)-f>>2;if(p){l=e+4|0;a=d+72|0;m=d+64|0;n=d+68|0;o=d+60|0;e=0;while(1){f=k[f+(e<<2)>>2]|0;k[A>>2]=f;g=f;if(f|0){k[a>>2]=0;h=k[m>>2]|0;if((h|0)==(k[n>>2]|0)){x=0;sa(482,o|0,A|0);b=x;x=0;if(b&1)break}else{k[h>>2]=g;k[m>>2]=(k[m>>2]|0)+4}x=0;sa(k[k[q>>2]>>2]|0,q|0,f|0);b=x;x=0;if(b&1)break}e=e+1|0;if((e|0)==(p|0))break e;f=k[l>>2]|0}d=mb()|0;y=22;break a}}while(0);P1(C);P1(D);P1(E);P1(F);P1(G);P1(H);r=B;return d|0}while(0);if((y|0)==21){d=mb()|0;y=22}P1(C)}else if((y|0)==18)d=mb()|0;P1(D)}P1(E)}else if((y|0)==16)d=mb()|0;P1(F);F=d;P1(G);P1(H);yb(F|0);return 0}function Ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;q=0;G=r;r=r+304|0;C=G;y=G+300|0;s=G+296|0;u=G+248|0;E=G+232|0;D=G+132|0;H=G+120|0;j=G+256|0;v=G+236|0;l=G+192|0;w=G+176|0;p=G+136|0;z=G+108|0;A=G+96|0;h=G+56|0;t=G+40|0;m=a+4|0;c=k[m>>2]|0;d=lD(c,84)|0;B=b+8|0;f=C;n=B;o=f+40|0;do{k[f>>2]=k[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(o|0));k[d+4>>2]=0;f=d+8|0;n=C;o=f+40|0;do{k[f>>2]=k[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(o|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;F=d+52|0;k[F>>2]=0;k[d>>2]=10312;o=d+56|0;k[o>>2]=5132;I=d+60|0;k[I>>2]=0;f=d+64|0;k[f>>2]=0;n=d+68|0;k[n>>2]=0;g=GG(8)|0;e=g;k[I>>2]=e;k[f>>2]=e;k[n>>2]=g+8;k[d>>2]=4992;k[o>>2]=5104;k[d+76>>2]=1;i[d+80>>0]=0;i[d+81>>0]=0;k[F>>2]=5;F=N4(c,d)|0;i[F+81>>0]=1;d=k[b+72>>2]|0;do if(d|0){c=k[d+72>>2]|0;if(((k[d+76>>2]|0)-c|0)==4){c=k[c>>2]|0;if(c|0)if(Ot(c,96,736,0)|0)break}c=Jc[k[(k[d>>2]|0)+40>>2]&1023](d,a)|0;if(c|0){d=F+56|0;k[C>>2]=c;k[F+72>>2]=0;e=F+64|0;f=k[e>>2]|0;if((f|0)==(k[F+68>>2]|0))uw(F+60|0,C);else{k[f>>2]=c;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[d>>2]>>2]&1023](d,c)}}while(0);c=k[b+80>>2]|0;if(!c)lE(H,78097,0);else rc[k[(k[c>>2]|0)+24>>2]&1023](H,c);a:do switch(k[b+68>>2]|0){case 1:{g=F+56|0;c=k[m>>2]|0;x=0;d=Ka(856,c|0,76)|0;I=x;x=0;if(I&1)q=15;else{f=j;n=B;o=f+40|0;do{k[f>>2]=k[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(o|0));x=0;Qa(74,v|0,42839,1);I=x;x=0;if(I&1)q=15;else{x=0;f=C;n=j;o=f+40|0;do{k[f>>2]=k[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(o|0));qa(5,d|0,C|0,v|0,0,0);I=x;x=0;do if(!(I&1)){x=0;c=Ka(857,c|0,d|0)|0;I=x;x=0;if(!(I&1)){k[u>>2]=c;d=c;if(c|0){k[F+72>>2]=0;e=F+64|0;f=k[e>>2]|0;if((f|0)==(k[F+68>>2]|0)){x=0;sa(455,F+60|0,u|0);I=x;x=0;if(I&1)break}else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}x=0;sa(k[k[g>>2]>>2]|0,g|0,c|0);I=x;x=0;if(I&1)break}P1(v);q=66;break a}}while(0);I=mb()|0;P1(v);P1(H);yb(I|0)}}break}case 3:{g=F+56|0;c=k[m>>2]|0;x=0;d=Ka(856,c|0,76)|0;I=x;x=0;if(I&1)q=15;else{f=l;n=B;o=f+40|0;do{k[f>>2]=k[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(o|0));x=0;Qa(74,w|0,44221,1);I=x;x=0;if(I&1)q=15;else{x=0;f=C;n=l;o=f+40|0;do{k[f>>2]=k[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(o|0));qa(5,d|0,C|0,w|0,0,0);I=x;x=0;do if(!(I&1)){x=0;c=Ka(857,c|0,d|0)|0;I=x;x=0;if(!(I&1)){k[s>>2]=c;d=c;if(c|0){k[F+72>>2]=0;e=F+64|0;f=k[e>>2]|0;if((f|0)==(k[F+68>>2]|0)){x=0;sa(455,F+60|0,s|0);I=x;x=0;if(I&1)break}else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}x=0;sa(k[k[g>>2]>>2]|0,g|0,c|0);I=x;x=0;if(I&1)break}P1(w);q=66;break a}}while(0);I=mb()|0;P1(w);P1(H);yb(I|0)}}break}case 4:{g=F+56|0;d=k[m>>2]|0;x=0;e=Ka(856,d|0,76)|0;I=x;x=0;if(I&1)q=15;else{f=p;n=B;o=f+40|0;do{k[f>>2]=k[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(o|0));k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;c=i[H>>0]|0;c=(c&1)==0?(c&255)>>>1:k[H+4>>2]|0;x=0;Ua(10,A|0,39370,1,c+1|0);I=x;x=0;if(!(I&1)){x=0;xa(46,A|0,((i[H>>0]&1)==0?H+1|0:k[H+8>>2]|0)|0,c|0)|0;I=x;x=0;if(!(I&1)){x=0;c=Ka(866,A|0,39370)|0;I=x;x=0;if(I&1)c=mb()|0;else{k[z>>2]=k[c>>2];k[z+4>>2]=k[c+4>>2];k[z+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;f=C;n=p;o=f+40|0;do{k[f>>2]=k[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(o|0));qa(5,e|0,C|0,z|0,0,0);I=x;x=0;do if(!(I&1)){x=0;c=Ka(857,d|0,e|0)|0;I=x;x=0;if(!(I&1)){k[y>>2]=c;d=c;if(c|0){k[F+72>>2]=0;e=F+64|0;f=k[e>>2]|0;if((f|0)==(k[F+68>>2]|0)){x=0;sa(455,F+60|0,y|0);I=x;x=0;if(I&1)break}else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}x=0;sa(k[k[g>>2]>>2]|0,g|0,c|0);I=x;x=0;if(I&1)break}P1(z);P1(A);q=66;break a}}while(0);c=mb()|0;P1(z)}P1(A);I=c;P1(H);yb(I|0)}}d=mb()|0;c=M;P1(A)}break}case 2:{g=F+56|0;c=k[m>>2]|0;x=0;d=Ka(856,c|0,76)|0;I=x;x=0;if(I&1)q=15;else{f=h;n=B;o=f+40|0;do{k[f>>2]=k[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(o|0));x=0;Qa(74,t|0,39372,1);I=x;x=0;if(I&1)q=15;else{x=0;f=C;n=h;o=f+40|0;do{k[f>>2]=k[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(o|0));qa(5,d|0,C|0,t|0,0,0);I=x;x=0;do if(!(I&1)){x=0;c=Ka(857,c|0,d|0)|0;I=x;x=0;if(!(I&1)){k[C>>2]=c;d=c;if(c|0){k[F+72>>2]=0;e=F+64|0;f=k[e>>2]|0;if((f|0)==(k[F+68>>2]|0)){x=0;sa(455,F+60|0,C|0);I=x;x=0;if(I&1)break}else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}x=0;sa(k[k[g>>2]>>2]|0,g|0,c|0);I=x;x=0;if(I&1)break}P1(t);q=66;break a}}while(0);I=mb()|0;P1(t);P1(H);yb(I|0)}}break}default:q=66}while(0);do if((q|0)==66){c=k[b+76>>2]|0;if(!c){I=F+60|0;E=F+64|0;E=k[E>>2]|0;I=k[I>>2]|0;I=(E|0)==(I|0);I=I?0:F;P1(H);r=G;return I|0}x=0;e=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a|0)|0;I=x;x=0;if(I&1)q=15;else{if(!e){I=F+60|0;E=F+64|0;E=k[E>>2]|0;I=k[I>>2]|0;I=(E|0)==(I|0);I=I?0:F;P1(H);r=G;return I|0}o=F+56|0;if((k[e+52>>2]|0)!=5){k[D>>2]=e;k[F+72>>2]=0;c=F+64|0;d=k[c>>2]|0;if((d|0)==(k[F+68>>2]|0)){x=0;sa(455,F+60|0,D|0);I=x;x=0;if(I&1){q=15;break}}else{k[d>>2]=e;k[c>>2]=(k[c>>2]|0)+4}x=0;sa(k[k[o>>2]>>2]|0,o|0,e|0);I=x;x=0;if(I&1){q=15;break}I=F+60|0;E=F+64|0;E=k[E>>2]|0;I=k[I>>2]|0;I=(E|0)==(I|0);I=I?0:F;P1(H);r=G;return I|0}n=e+60|0;c=k[n>>2]|0;g=(k[e+64>>2]|0)-c>>2;if(!g){I=F+60|0;E=F+64|0;E=k[E>>2]|0;I=k[I>>2]|0;I=(E|0)==(I|0);I=I?0:F;P1(H);r=G;return I|0}h=F+72|0;j=F+64|0;l=F+68|0;m=F+60|0;d=0;while(1){c=k[c+(d<<2)>>2]|0;k[E>>2]=c;e=c;if(c|0){k[h>>2]=0;f=k[j>>2]|0;if((f|0)==(k[l>>2]|0)){x=0;sa(455,m|0,E|0);I=x;x=0;if(I&1){q=14;break}}else{k[f>>2]=e;k[j>>2]=(k[j>>2]|0)+4}x=0;sa(k[k[o>>2]>>2]|0,o|0,c|0);I=x;x=0;if(I&1){q=14;break}}d=d+1|0;if((d|0)==(g|0)){q=84;break}c=k[n>>2]|0}if((q|0)==14){d=mb()|0;break}else if((q|0)==84){I=F+60|0;E=F+64|0;E=k[E>>2]|0;I=k[I>>2]|0;I=(E|0)==(I|0);I=I?0:F;P1(H);r=G;return I|0}}}while(0);if((q|0)==15)d=mb()|0;I=d;P1(H);yb(I|0);return 0}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;B=0;z=r;r=r+288|0;t=z+280|0;I=z+268|0;J=z+256|0;G=z+112|0;A=z+48|0;h=z+24|0;q=z+12|0;u=z+36|0;s=z;k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;x=0;Qa(74,J|0,78097,0);H=x;x=0;if(H&1){J=mb()|0;P1(I);yb(J|0)}H=G+64|0;c=G+8|0;k[c>>2]=8236;F=G+12|0;k[G>>2]=8440;k[H>>2]=8460;k[G+4>>2]=0;x=0;sa(452,G+64|0,F|0);E=x;x=0;a:do if(E&1){c=mb()|0;B=42}else{k[G+136>>2]=0;k[G+140>>2]=-1;k[G>>2]=8216;k[H>>2]=8256;k[c>>2]=8236;x=0;ra(324,F|0);E=x;x=0;do if(E&1)c=mb()|0;else{k[F>>2]=8272;E=G+44|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;k[G+60>>2]=24;x=0;sa(453,F|0,a|0);D=x;x=0;if(D&1){c=mb()|0;P1(E);D2(F);break}C=A+8|0;D=A+24|0;c=D;a=c+36|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));y=A+4|0;p=A+20|0;k[y>>2]=0;k[y+4>>2]=0;k[y+8>>2]=0;k[y+12>>2]=0;i[y+16>>0]=0;x=0;Ka(874,C|0,78097)|0;y=x;x=0;b:do if(y&1)B=45;else{x=0;Ka(874,D|0,78097)|0;y=x;x=0;if(y&1)B=45;else{x=0;Qa(74,h|0,78097,0);y=x;x=0;if(y&1)B=45;else{w=A+36|0;e=A+44|0;g=k[e>>2]|0;y=A+40|0;f=k[y>>2]|0;o=g-f>>2;d=A+52|0;a=k[d>>2]|0;v=A+56|0;c=k[v>>2]|0;do if((((o|0)==0?0:(o*341|0)+-1|0)|0)==(c+a|0)){x=0;ra(349,w|0);o=x;x=0;if(o&1){c=mb()|0;m=M;P1(h);j=y;break b}else{c=k[v>>2]|0;a=k[d>>2]|0;g=k[e>>2]|0;f=k[y>>2]|0;break}}while(0);c=c+a|0;if((g|0)==(f|0))c=0;else c=(k[f+(((c>>>0)/341|0)<<2)>>2]|0)+(((c>>>0)%341|0)*12|0)|0;k[c>>2]=k[h>>2];k[c+4>>2]=k[h+4>>2];k[c+8>>2]=k[h+8>>2];k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[v>>2]=(k[v>>2]|0)+1;P1(h);k[A>>2]=b;a=I+1|0;f=q+8|0;g=q+1|0;h=q+4|0;b=I+4|0;j=I+8|0;c:while(1){if(!(i[I>>0]&1)){i[a>>0]=0;i[I>>0]=0}else{i[k[j>>2]>>0]=0;k[b>>2]=0}x=0;Qa(142,t|0,G|0,1);o=x;x=0;if(o&1){B=44;break}m=k[G+(k[(k[G>>2]|0)+-12>>2]|0)+24>>2]|0;n=m+12|0;o=m+16|0;d:while(1){c=k[n>>2]|0;if((c|0)==(k[o>>2]|0)){x=0;c=ua(k[(k[m>>2]|0)+40>>2]|0,m|0)|0;K=x;x=0;if(K&1){B=43;break c}}else{k[n>>2]=c+1;c=l[c>>0]|0}switch(c|0){case 10:break d;case 13:{B=27;break d}case -1:{B=34;break d}default:{}}x=0;sa(440,I|0,c&255|0);K=x;x=0;if(K&1){B=43;break c}}do if((B|0)==27){B=0;c=k[n>>2]|0;if((c|0)==(k[o>>2]|0)){x=0;c=ua(k[(k[m>>2]|0)+36>>2]|0,m|0)|0;K=x;x=0;if(K&1){B=44;break c}}else c=l[c>>0]|0;if((c|0)==10){c=k[n>>2]|0;if((c|0)==(k[o>>2]|0)){x=0;ua(k[(k[m>>2]|0)+40>>2]|0,m|0)|0;K=x;x=0;if(K&1){B=44;break c}else break}else{k[n>>2]=c+1;break}}}else if((B|0)==34){B=0;K=i[I>>0]|0;if(!(((K&1)==0?(K&255)>>>1:k[b>>2]|0)|0)){K=G+(k[(k[G>>2]|0)+-12>>2]|0)|0;x=0;sa(458,K|0,k[K+16>>2]|2|0);K=x;x=0;if(K&1){B=44;break c}}}while(0);if(k[G+(k[(k[G>>2]|0)+-12>>2]|0)+16>>2]&7|0){B=49;break}x=0;Qa(143,q|0,I|0,A|0);K=x;x=0;if(K&1){B=44;break}K=i[q>>0]|0;o=(K&1)==0;x=0;xa(46,J|0,(o?g:k[f>>2]|0)|0,(o?(K&255)>>>1:k[h>>2]|0)|0)|0;K=x;x=0;if(K&1){B=48;break}P1(q)}if((B|0)==43){c=mb()|0;f=y;a=M;B=46;break}else if((B|0)==44){c=mb()|0;f=y;a=M;B=46;break}else if((B|0)==48){c=mb()|0;m=M;P1(q);j=y;break}else if((B|0)==49){x=0;Qa(74,u|0,78097,0);K=x;x=0;if(K&1){B=45;break}i[p>>0]=1;x=0;Qa(143,s|0,u|0,A|0);K=x;x=0;do if(K&1){c=mb()|0;a=M}else{K=i[s>>0]|0;t=(K&1)==0;x=0;xa(46,J|0,(t?s+1|0:k[s+8>>2]|0)|0,(t?(K&255)>>>1:k[s+4>>2]|0)|0)|0;K=x;x=0;if(K&1){c=mb()|0;a=M;P1(s);break}P1(s);h=i[J>>0]|0;c=(h&1)==0;h=hd((c?(h&255)>>>1:k[J+4>>2]|0)+1|0)|0;$ca(h,c?J+1|0:k[J+8>>2]|0)|0;P1(u);c=k[y>>2]|0;a=k[d>>2]|0;f=c+(((a>>>0)/341|0)<<2)|0;if((k[e>>2]|0)==(c|0)){g=0;c=0}else{g=(k[v>>2]|0)+a|0;g=(k[c+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;c=(k[f>>2]|0)+(((a>>>0)%341|0)*12|0)|0}e:while(1){do{if((c|0)==(g|0))break e;P1(c);c=c+12|0}while((c-(k[f>>2]|0)|0)!=4092);c=f+4|0;f=c;c=k[c>>2]|0}k[v>>2]=0;f=k[e>>2]|0;a=k[y>>2]|0;g=f-a>>2;c=a;if(g>>>0>2)do{uha(k[a>>2]|0);c=(k[y>>2]|0)+4|0;k[y>>2]=c;f=k[e>>2]|0;a=c;g=f-a>>2}while(g>>>0>2);switch(g|0){case 1:{k[d>>2]=170;break}case 2:{k[d>>2]=341;break}default:{}}do if((c|0)!=(f|0)){do{uha(k[c>>2]|0);c=c+4|0}while((c|0)!=(f|0));c=k[y>>2]|0;a=k[e>>2]|0;if((a|0)==(c|0))break;k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2)}while(0);c=k[w>>2]|0;if(!c){P1(D);P1(C);k[G>>2]=8216;k[H>>2]=8256;K=G+8|0;k[K>>2]=8236;k[F>>2]=8272;P1(E);D2(F);P9(H);P1(J);P1(I);r=z;return h|0}uha(c);P1(D);P1(C);k[G>>2]=8216;k[H>>2]=8256;K=G+8|0;k[K>>2]=8236;k[F>>2]=8272;P1(E);D2(F);P9(H);P1(J);P1(I);r=z;return h|0}while(0);P1(u);m=a;j=y;break}}}}while(0);if((B|0)==45){c=mb()|0;f=A+40|0;d=A+52|0;e=A+44|0;a=M;B=46}if((B|0)==46){m=a;j=f}a=k[j>>2]|0;f=k[d>>2]|0;g=a+(((f>>>0)/341|0)<<2)|0;if((k[e>>2]|0)==(a|0)){h=0;b=A+56|0;a=0}else{b=A+56|0;h=(k[b>>2]|0)+f|0;h=(k[a+(((h>>>0)/341|0)<<2)>>2]|0)+(((h>>>0)%341|0)*12|0)|0;a=(k[g>>2]|0)+(((f>>>0)%341|0)*12|0)|0}f:while(1){do{if((a|0)==(h|0))break f;P1(a);a=a+12|0}while((a-(k[g>>2]|0)|0)!=4092);a=g+4|0;g=a;a=k[a>>2]|0}k[b>>2]=0;g=k[e>>2]|0;f=k[j>>2]|0;h=g-f>>2;a=f;if(h>>>0>2)do{uha(k[f>>2]|0);a=(k[j>>2]|0)+4|0;k[j>>2]=a;g=k[e>>2]|0;f=a;h=g-f>>2}while(h>>>0>2);switch(h|0){case 1:{k[d>>2]=170;break}case 2:{k[d>>2]=341;break}default:{}}if((a|0)!=(g|0)){do{uha(k[a>>2]|0);a=a+4|0}while((a|0)!=(g|0));a=k[j>>2]|0;d=k[e>>2]|0;if((d|0)!=(a|0))k[e>>2]=d+(~((d+-4-a|0)>>>2)<<2)}a=k[A+36>>2]|0;if(a|0)uha(a);P1(D);P1(C);k[G>>2]=8216;k[H>>2]=8256;k[G+8>>2]=8236;k[F>>2]=8272;P1(E);D2(F);P9(H);break a}while(0);B=42}while(0);if((B|0)==42)P9(H);P1(J);K=c;P1(I);yb(K|0);return 0}function Wd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0.0,l=0.0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;u=0;E=r;r=r+240|0;B=E+192|0;F=E+152|0;b=E+176|0;g=E+164|0;h=E+140|0;m=E+116|0;A=E+128|0;n=E+104|0;o=E+92|0;v=E+80|0;w=E+68|0;z=E+56|0;C=E+16|0;D=E;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;x=0;Qa(74,b|0,37420,7);y=x;x=0;a:do if(y&1)u=30;else{x=0;q=B;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));y=wa(25,b|0,a|0,d|0,B|0,f|0)|0;t=x;x=0;if(t&1){u=Eb(0)|0;P1(b);b=u;u=72;break}P1(b);x=0;sa(430,g|0,y+60|0);t=x;x=0;if(t&1)u=30;else{if(!(i[F>>0]&1)){i[F+1>>0]=0;i[F>>0]=0}else{i[k[F+8>>2]>>0]=0;k[F+4>>2]=0}x=0;sa(443,F|0,0);t=x;x=0;if(t&1){t=Eb(0)|0;Nba(t)}k[F>>2]=k[g>>2];k[F+4>>2]=k[g+4>>2];k[F+8>>2]=k[g+8>>2];k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;P1(g);x=0;Ua(11,h|0,F|0,0,0);t=x;x=0;if(t&1)u=30;else{if(!(i[F>>0]&1)){i[F+1>>0]=0;i[F>>0]=0}else{i[k[F+8>>2]>>0]=0;k[F+4>>2]=0}x=0;sa(443,F|0,0);t=x;x=0;if(t&1){t=Eb(0)|0;Nba(t)}k[F>>2]=k[h>>2];k[F+4>>2]=k[h+4>>2];k[F+8>>2]=k[h+8>>2];k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;P1(h);x=0;Qa(74,m|0,37688,7);t=x;x=0;if(t&1)u=30;else{x=0;q=B;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));b=wa(25,m|0,a|0,d|0,B|0,f|0)|0;t=x;x=0;if(t&1){b=Eb(0)|0;P1(m);u=72;break}P1(m);x=0;sa(430,A|0,b+60|0);t=x;x=0;if(t&1)u=30;else{x=0;Ua(11,n|0,A|0,0,0);t=x;x=0;b:do if(t&1)u=33;else{if(!(i[A>>0]&1)){i[A+1>>0]=0;i[A>>0]=0}else{i[k[A+8>>2]>>0]=0;k[A+4>>2]=0}x=0;sa(443,A|0,0);t=x;x=0;if(t&1){t=Eb(0)|0;Nba(t)}k[A>>2]=k[n>>2];k[A+4>>2]=k[n+4>>2];k[A+8>>2]=k[n+8>>2];k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;P1(n);x=0;Qa(74,o|0,37696,6);t=x;x=0;if(t&1)u=33;else{x=0;q=B;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));b=wa(23,o|0,a|0,d|0,B|0,f|0)|0;t=x;x=0;if(t&1){b=Eb(0)|0;P1(o);break}P1(o);j=+p[b+56>>3];b=i[F>>0]|0;m=F+4|0;x=0;b=xa(61,F|0,0,((b&1)==0?(b&255)>>>1:k[m>>2]|0)|0)|0;u=x;x=0;if(u&1)u=33;else{l=+(b>>>0);c:do if(!(j>0.0)|!(j<=l)){if(j>l){w=i[A>>0]|0;v=(w&1)==0;x=0;xa(46,F|0,(v?A+1|0:k[A+8>>2]|0)|0,(v?(w&255)>>>1:k[A+4>>2]|0)|0)|0;w=x;x=0;if(w&1){u=33;break b}else break}if(j==0.0){k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;w=i[A>>0]|0;u=(w&1)==0;w=u?(w&255)>>>1:k[A+4>>2]|0;b=i[F>>0]|0;b=(b&1)==0?(b&255)>>>1:k[m>>2]|0;x=0;Ua(10,v|0,(u?A+1|0:k[A+8>>2]|0)|0,w|0,b+w|0);w=x;x=0;do if(!(w&1)){g=F+8|0;h=F+1|0;x=0;xa(46,v|0,((i[F>>0]&1)==0?h:k[g>>2]|0)|0,b|0)|0;w=x;x=0;if(w&1)break;if(!(i[F>>0]&1)){i[h>>0]=0;i[F>>0]=0}else{i[k[g>>2]>>0]=0;k[m>>2]=0}x=0;sa(443,F|0,0);w=x;x=0;if(w&1){z=Eb(0)|0;Nba(z)}else{k[F>>2]=k[v>>2];k[F+4>>2]=k[v+4>>2];k[F+8>>2]=k[v+8>>2];k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;P1(v);break c}}while(0);b=Eb(0)|0;P1(v);u=34;break b}if(+X(+j)<=l){x=0;b=Ka(895,F|0,~~(j+ +((b+1|0)>>>0))>>>0|0)|0;w=x;x=0;if(w&1){u=33;break b}w=i[A>>0]|0;v=(w&1)==0;x=0;Pa(11,F|0,b|0,(v?A+1|0:k[A+8>>2]|0)|0,(v?(w&255)>>>1:k[A+4>>2]|0)|0)|0;w=x;x=0;if(w&1){u=33;break b}else break}k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;v=i[A>>0]|0;u=(v&1)==0;v=u?(v&255)>>>1:k[A+4>>2]|0;b=i[F>>0]|0;b=(b&1)==0?(b&255)>>>1:k[m>>2]|0;x=0;Ua(10,w|0,(u?A+1|0:k[A+8>>2]|0)|0,v|0,b+v|0);v=x;x=0;do if(!(v&1)){g=F+8|0;h=F+1|0;x=0;xa(46,w|0,((i[F>>0]&1)==0?h:k[g>>2]|0)|0,b|0)|0;v=x;x=0;if(v&1)break;if(!(i[F>>0]&1)){i[h>>0]=0;i[F>>0]=0}else{i[k[g>>2]>>0]=0;k[m>>2]=0}x=0;sa(443,F|0,0);v=x;x=0;if(v&1){z=Eb(0)|0;Nba(z)}else{k[F>>2]=k[w>>2];k[F+4>>2]=k[w+4>>2];k[F+8>>2]=k[w+8>>2];k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;P1(w);break c}}while(0);b=Eb(0)|0;P1(w);u=34;break b}else{x=0;b=Ka(895,F|0,(~~j>>>0)+-1|0)|0;w=x;x=0;if(w&1){u=33;break b}w=i[A>>0]|0;v=(w&1)==0;x=0;Pa(11,F|0,b|0,(v?A+1|0:k[A+8>>2]|0)|0,(v?(w&255)>>>1:k[A+4>>2]|0)|0)|0;w=x;x=0;if(w&1){u=33;break b}}while(0);do if(y|0){b=Ot(y,432,448,0)|0;if(!b)break;if(!(i[b+57>>0]|0))break;x=0;Qa(113,z|0,F|0,0);y=x;x=0;if(y&1){u=33;break b}if(!(i[F>>0]&1)){i[F+1>>0]=0;i[F>>0]=0}else{i[k[F+8>>2]>>0]=0;k[m>>2]=0}x=0;sa(443,F|0,0);f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}else{k[F>>2]=k[z>>2];k[F+4>>2]=k[z+4>>2];k[F+8>>2]=k[z+8>>2];k[z>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;P1(z);break}}while(0);P1(A);u=74;break a}}}while(0);if((u|0)==33){b=Eb(0)|0;u=34}P1(A);u=72}}}}}while(0);if((u|0)==30){b=Eb(0)|0;u=72}do if((u|0)==72){Bb(b|0)|0;x=0;sa(531,e|0,f|0);f=x;x=0;if(!(f&1)){x=0;pa(3);f=x;x=0;if(f&1)break;else{u=74;break}}b=mb()|0;x=0;pa(3);E=x;x=0;if(E&1){E=Eb(0)|0;Nba(E)}else{E=b;P1(F);yb(E|0)}}while(0);if((u|0)==74){b=c+36|0;x=0;g=Ka(856,b|0,76)|0;c=x;x=0;if(!(c&1)){q=C;s=e;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));x=0;sa(430,D|0,F|0);e=x;x=0;if(!(e&1)){x=0;q=B;s=C;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));qa(5,g|0,B|0,D|0,0,0);e=x;x=0;if(!(e&1)){x=0;b=Ka(857,b|0,g|0)|0;e=x;x=0;if(!(e&1)){P1(D);P1(F);r=E;return b|0}}E=mb()|0;P1(D);P1(F);yb(E|0)}}}E=mb()|0;P1(F);yb(E|0);return 0}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,N=0,O=0,P=0,Q=0,R=0;L=r;r=r+128|0;C=L+32|0;B=L+116|0;D=L+112|0;A=L+108|0;E=L+104|0;F=L+100|0;q=L+96|0;w=L+72|0;y=L;Q=L+60|0;O=L+48|0;J=L+36|0;z=L+80|0;K=L+8|0;wq(Q,c);P=Q+4|0;Je(k[Q>>2]|0,k[P>>2]|0,C);k[O>>2]=0;N=O+4|0;k[N>>2]=0;k[O+8>>2]=0;I=k[c+4>>2]|0;d=k[c>>2]|0;o=(I-d|0)/12|0;do if((I|0)==(d|0)){d=0;e=0;m=57}else{p=b+12|0;s=b+16|0;I=J+4|0;t=z+4|0;u=O+8|0;G=z+8|0;v=z+12|0;H=z+4|0;e=0;a:while(1){f=d+(e*12|0)|0;g=k[s>>2]|0;b:do if(g|0){n=i[f>>0]|0;l=(n&1)==0;m=d+(e*12|0)|0;n=l?(n&255)>>>1:k[m+4>>2]|0;m=l?f+1|0:k[m+8>>2]|0;f=g;while(1){h=f+16|0;g=i[h>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:k[f+20>>2]|0;h=j?h+1|0:k[f+24>>2]|0;j=g>>>0>>0;R=tG(m,h,j?g:n)|0;l=n>>>0>>0;if((((R|0)==0?(l?-2147483648:0):R)|0)>=0){R=tG(h,m,l?n:g)|0;if((((R|0)==0?(j?-2147483648:0):R)|0)>=0)break;f=f+4|0}f=k[f>>2]|0;if(!f)break b}x=0;d=Ka(859,p|0,d+(e*12|0)|0)|0;R=x;x=0;if(R&1){m=10;break a}x=0;sa(511,J|0,d|0);R=x;x=0;if(R&1){m=10;break a}n=k[I>>2]|0;R=k[J>>2]|0;h=(n-R|0)/28|0;d=R;if((n|0)!=(R|0)){g=0;do{m=k[P>>2]|0;R=d+(g*28|0)|0;n=k[R+12>>2]|0;k[E>>2]=k[Q>>2];k[F>>2]=m;k[q>>2]=n;k[w>>2]=(R|0)+16;k[A>>2]=k[E>>2];k[D>>2]=k[F>>2];k[B>>2]=k[q>>2];k[C>>2]=k[w>>2];do if(ir(A,D,B,C,y)|0){R=k[J>>2]|0;R=R+(g*28|0)|0;k[z>>2]=k[R+24>>2];x=0;sa(435,t|0,R|0);R=x;x=0;if(R&1){m=28;break a}d=k[N>>2]|0;if(d>>>0<(k[u>>2]|0)>>>0){k[d>>2]=k[z>>2];n=d+4|0;k[n>>2]=0;R=d+8|0;k[R>>2]=0;k[d+12>>2]=0;k[n>>2]=k[t>>2];k[R>>2]=k[G>>2];k[d+12>>2]=k[v>>2];k[v>>2]=0;k[G>>2]=0;k[t>>2]=0;k[N>>2]=(k[N>>2]|0)+16;break}x=0;sa(512,O|0,z|0);R=x;x=0;if(R&1){m=39;break a}d=k[H>>2]|0;if(d|0){f=k[G>>2]|0;if((f|0)!=(d|0)){do{R=f+-12|0;k[G>>2]=R;P1(R);f=k[G>>2]|0}while((f|0)!=(d|0));d=k[H>>2]|0}uha(d)}}while(0);g=g+1|0;d=k[J>>2]|0}while(g>>>0>>0)}if(d|0){f=k[I>>2]|0;if((f|0)!=(d|0)){g=f;do{j=g+-28|0;k[I>>2]=j;sC(g+-16|0,k[g+-12>>2]|0);f=k[j>>2]|0;if(f|0){h=g+-24|0;g=k[h>>2]|0;if((g|0)!=(f|0)){do{R=g+-12|0;k[h>>2]=R;P1(R);g=k[h>>2]|0}while((g|0)!=(f|0));f=k[j>>2]|0}uha(f)}g=k[I>>2]|0}while((g|0)!=(d|0));d=k[J>>2]|0}uha(d)}}while(0);e=e+1|0;if(e>>>0>=o>>>0){m=56;break}d=k[c>>2]|0}if((m|0)==10){d=mb()|0;m=12;break}else if((m|0)==28){f=mb()|0;l=M}else if((m|0)==39){f=mb()|0;g=M;d=k[H>>2]|0;if(!d)l=g;else{e=k[G>>2]|0;if((e|0)!=(d|0)){do{R=e+-12|0;k[G>>2]=R;P1(R);e=k[G>>2]|0}while((e|0)!=(d|0));d=k[H>>2]|0}uha(d);l=g}}else if((m|0)==56){d=k[O>>2]|0;e=k[N>>2]|0;m=57;break}d=k[J>>2]|0;if(!d)l=f;else{e=k[I>>2]|0;if((e|0)!=(d|0)){do{h=e+-28|0;k[I>>2]=h;sC(e+-16|0,k[e+-12>>2]|0);j=k[h>>2]|0;if(j|0){g=e+-24|0;e=k[g>>2]|0;if((e|0)==(j|0))e=j;else{do{R=e+-12|0;k[g>>2]=R;P1(R);e=k[g>>2]|0}while((e|0)!=(j|0));e=k[h>>2]|0}uha(e)}e=k[I>>2]|0}while((e|0)!=(d|0));d=k[J>>2]|0}uha(d);l=f}}while(0);c:do if((m|0)==57){qd(d,e,C);e=k[N>>2]|0;k[A>>2]=k[O>>2];k[E>>2]=e;k[D>>2]=k[A>>2];k[B>>2]=k[E>>2];i[C>>0]=i[F>>0]|0;e=di(D,B,C)|0;g=k[O>>2]|0;e=e-g>>4;d=k[N>>2]|0;f=d-g>>4;h=d;do if(e>>>0>f>>>0){x=0;sa(513,O|0,e-f|0);R=x;x=0;if(R&1){d=mb()|0;m=12;break c}else{d=k[N>>2]|0;break}}else if(e>>>0>>0){j=g+(e<<4)|0;if((h|0)!=(j|0)){e=h;while(1){d=e+-16|0;k[N>>2]=d;f=e+-12|0;g=k[f>>2]|0;if(g){e=e+-8|0;d=k[e>>2]|0;if((d|0)==(g|0))d=g;else{do{R=d+-12|0;k[e>>2]=R;P1(R);d=k[e>>2]|0}while((d|0)!=(g|0));d=k[f>>2]|0}uha(d);d=k[N>>2]|0}if((d|0)==(j|0))break;else e=d}}}while(0);k[a>>2]=0;p=a+4|0;k[p>>2]=0;k[a+8>>2]=0;R=k[O>>2]|0;g=d-R>>4;d=R;d:do if(g){h=K+4|0;j=K+8|0;l=a+8|0;n=K+12|0;m=K+16|0;o=K+8|0;f=0;while(1){R=d+(f<<4)|0;J=k[R>>2]|0;I=k[b>>2]|0;J=I+(J<<3)|0;k[K>>2]=k[J>>2];k[h>>2]=k[J+4>>2];x=0;sa(435,j|0,R+4|0);R=x;x=0;if(R&1){m=81;break}d=k[p>>2]|0;if(d>>>0<(k[l>>2]|0)>>>0){I=K;R=k[I+4>>2]|0;J=d;k[J>>2]=k[I>>2];k[J+4>>2]=R;J=d+8|0;k[J>>2]=0;R=d+12|0;k[R>>2]=0;k[d+16>>2]=0;k[J>>2]=k[j>>2];k[R>>2]=k[n>>2];k[d+16>>2]=k[m>>2];k[m>>2]=0;k[n>>2]=0;k[j>>2]=0;k[p>>2]=(k[p>>2]|0)+20}else{x=0;sa(514,a|0,K|0);R=x;x=0;if(R&1){m=82;break}d=k[o>>2]|0;if(d|0){e=k[n>>2]|0;if((e|0)!=(d|0)){do{R=e+-12|0;k[n>>2]=R;P1(R);e=k[n>>2]|0}while((e|0)!=(d|0));d=k[o>>2]|0}uha(d)}}f=f+1|0;d=k[O>>2]|0;if(f>>>0>=g>>>0)break d}if((m|0)==81){l=mb()|0;g=M}else if((m|0)==82){f=mb()|0;g=M;d=k[o>>2]|0;if(!d)l=f;else{e=k[n>>2]|0;if((e|0)!=(d|0)){do{R=e+-12|0;k[n>>2]=R;P1(R);e=k[n>>2]|0}while((e|0)!=(d|0));d=k[o>>2]|0}uha(d);l=f}}d=k[a>>2]|0;if(!d)break c;e=k[p>>2]|0;if((e|0)!=(d|0)){do{f=e+-20|0;k[p>>2]=f;h=e+-12|0;j=k[h>>2]|0;if(!j)e=f;else{f=e+-8|0;e=k[f>>2]|0;if((e|0)==(j|0))e=j;else{do{R=e+-12|0;k[f>>2]=R;P1(R);e=k[f>>2]|0}while((e|0)!=(j|0));e=k[h>>2]|0}uha(e);e=k[p>>2]|0}}while((e|0)!=(d|0));d=k[a>>2]|0}uha(d);break c}while(0);if(d|0){e=k[N>>2]|0;if((e|0)!=(d|0)){do{f=e+-16|0;k[N>>2]=f;g=e+-12|0;h=k[g>>2]|0;if(!h)e=f;else{f=e+-8|0;e=k[f>>2]|0;if((e|0)==(h|0))e=h;else{do{R=e+-12|0;k[f>>2]=R;P1(R);e=k[f>>2]|0}while((e|0)!=(h|0));e=k[g>>2]|0}uha(e);e=k[N>>2]|0}}while((e|0)!=(d|0));d=k[O>>2]|0}uha(d)}d=k[Q>>2]|0;if(!d){r=L;return}e=k[P>>2]|0;if((e|0)!=(d|0)){do{R=e+-12|0;k[P>>2]=R;P1(R);e=k[P>>2]|0}while((e|0)!=(d|0));d=k[Q>>2]|0}uha(d);r=L;return}while(0);if((m|0)==12)l=d;d=k[O>>2]|0;if(d|0){e=k[N>>2]|0;if((e|0)!=(d|0)){do{f=e+-16|0;k[N>>2]=f;g=e+-12|0;h=k[g>>2]|0;if(!h)e=f;else{f=e+-8|0;e=k[f>>2]|0;if((e|0)==(h|0))e=h;else{do{R=e+-12|0;k[f>>2]=R;P1(R);e=k[f>>2]|0}while((e|0)!=(h|0));e=k[g>>2]|0}uha(e);e=k[N>>2]|0}}while((e|0)!=(d|0));d=k[O>>2]|0}uha(d)}d=k[Q>>2]|0;if(!d)yb(l|0);e=k[P>>2]|0;if((e|0)!=(d|0)){do{R=e+-12|0;k[P>>2]=R;P1(R);e=k[P>>2]|0}while((e|0)!=(d|0));d=k[Q>>2]|0}uha(d);yb(l|0)}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d;xt(a,k[3313]|0,40,b);lE(c,30074,4);x=0;Qa(90,a|0,c|0,b|0);e=x;x=0;if(e&1){e=mb()|0;P1(c);yb(e|0)}else{P1(c);li(a,k[3314]|0,41,4,b);li(a,k[3315]|0,42,2,b);xt(a,k[3316]|0,43,b);xt(a,k[3317]|0,44,b);xt(a,k[3318]|0,45,b);xt(a,k[3319]|0,46,b);xt(a,k[3320]|0,47,b);xt(a,k[3321]|0,48,b);xt(a,k[3322]|0,49,b);xt(a,k[3323]|0,50,b);xt(a,k[3324]|0,51,b);xt(a,k[3325]|0,52,b);xt(a,k[3326]|0,53,b);xt(a,k[3327]|0,54,b);xt(a,k[3328]|0,55,b);xt(a,k[3329]|0,56,b);xt(a,k[3330]|0,57,b);xt(a,k[3331]|0,58,b);xt(a,k[3332]|0,59,b);xt(a,k[3333]|0,60,b);xt(a,k[3334]|0,60,b);xt(a,k[3335]|0,61,b);xt(a,k[3336]|0,61,b);xt(a,k[3337]|0,62,b);xt(a,k[3338]|0,62,b);xt(a,k[3339]|0,63,b);xt(a,k[3340]|0,64,b);xt(a,k[3341]|0,65,b);xt(a,k[3342]|0,66,b);xt(a,k[3343]|0,67,b);xt(a,k[3344]|0,68,b);xt(a,k[3345]|0,69,b);xt(a,k[3346]|0,70,b);xt(a,k[3347]|0,71,b);xt(a,k[3348]|0,72,b);xt(a,k[3349]|0,73,b);xt(a,k[3350]|0,74,b);xt(a,k[3351]|0,75,b);xt(a,k[3352]|0,76,b);xt(a,k[3353]|0,77,b);xt(a,k[3354]|0,78,b);xt(a,k[3355]|0,79,b);xt(a,k[3356]|0,80,b);xt(a,k[3357]|0,81,b);xt(a,k[3358]|0,82,b);xt(a,k[3359]|0,83,b);xt(a,k[3360]|0,84,b);xt(a,k[3361]|0,85,b);xt(a,k[3362]|0,86,b);xt(a,k[3363]|0,87,b);xt(a,k[3364]|0,88,b);xt(a,k[3365]|0,89,b);xt(a,k[3366]|0,90,b);xt(a,k[3367]|0,91,b);xt(a,k[3371]|0,92,b);xt(a,k[3372]|0,93,b);xt(a,k[3369]|0,94,b);xt(a,k[3370]|0,95,b);xt(a,k[3368]|0,96,b);xt(a,k[3373]|0,97,b);xt(a,k[3374]|0,98,b);xt(a,k[3375]|0,99,b);xt(a,k[3376]|0,100,b);xt(a,k[3377]|0,101,b);xt(a,k[3378]|0,102,b);xt(a,k[3379]|0,103,b);xt(a,k[3380]|0,104,b);xt(a,k[3381]|0,105,b);xt(a,k[3382]|0,106,b);xt(a,k[3383]|0,107,b);xt(a,k[3384]|0,108,b);xt(a,k[3385]|0,109,b);xt(a,k[3386]|0,110,b);xt(a,k[3395]|0,111,b);xt(a,k[3387]|0,112,b);xt(a,k[3388]|0,113,b);xt(a,k[3391]|0,114,b);xt(a,k[3392]|0,115,b);xt(a,k[3389]|0,116,b);xt(a,k[3394]|0,117,b);xt(a,k[3390]|0,118,b);xt(a,k[3393]|0,119,b);r=d;return}}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0.0,n=0,q=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,N=0,O=0,P=0;N=0;P=r;r=r+304|0;G=P+16|0;I=P+8|0;H=P+33|0;J=P;y=P+32|0;if((k[a+76>>2]|0)>-1)O=Dha(a)|0;else O=0;d=i[b>>0]|0;a:do if(!(d<<24>>24))d=0;else{K=a+4|0;L=a+100|0;F=a+108|0;z=a+8|0;A=H+10|0;B=H+33|0;C=I+4|0;D=H+46|0;E=H+94|0;f=d;d=0;g=b;s=0;e=0;b=0;b:while(1){c:do if(!(Jca(f&255)|0)){f=(i[g>>0]|0)==37;d:do if(f){n=g+1|0;h=i[n>>0]|0;e:do switch(h<<24>>24){case 37:break d;case 42:{x=0;h=g+2|0;break}default:{h=(h&255)+-48|0;if(h>>>0<10)if((i[g+2>>0]|0)==36){k[G>>2]=k[c>>2];while(1){x=(k[G>>2]|0)+(4-1)&~(4-1);f=k[x>>2]|0;k[G>>2]=x+4;if(h>>>0>1)h=h+-1|0;else break}x=f;h=g+3|0;break e}h=(k[c>>2]|0)+(4-1)&~(4-1);x=k[h>>2]|0;k[c>>2]=h+4;h=n}}while(0);f=i[h>>0]|0;g=f&255;if((g+-48|0)>>>0<10){f=0;while(1){n=(f*10|0)+-48+g|0;h=h+1|0;f=i[h>>0]|0;g=f&255;if((g+-48|0)>>>0>=10)break;else f=n}}else n=0;if(f<<24>>24==109){h=h+1|0;q=i[h>>0]|0;f=(x|0)!=0&1;e=0;b=0}else{q=f;f=0}g=h+1|0;switch(q&255|0){case 104:{w=(i[g>>0]|0)==104;g=w?h+2|0:g;h=w?-2:-1;break}case 108:{w=(i[g>>0]|0)==108;g=w?h+2|0:g;h=w?3:1;break}case 106:{h=3;break}case 116:case 122:{h=1;break}case 76:{h=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{g=h;h=0;break}default:{N=154;break b}}q=l[g>>0]|0;t=(q&47|0)==3;q=t?q|32:q;t=t?1:h;switch(q|0){case 99:{w=s;v=(n|0)<1?1:n;break}case 91:{w=s;v=n;break}case 110:{if(!x){h=s;break c}switch(t|0){case -2:{i[x>>0]=s;h=s;break c}case -1:{j[x>>1]=s;h=s;break c}case 0:{k[x>>2]=s;h=s;break c}case 1:{k[x>>2]=s;h=s;break c}case 3:{h=x;k[h>>2]=s;k[h+4>>2]=((s|0)<0)<<31>>31;h=s;break c}default:{h=s;break c}}}default:{VI(a,0);do{h=k[K>>2]|0;if(h>>>0<(k[L>>2]|0)>>>0){k[K>>2]=h+1;h=l[h>>0]|0}else h=Rx(a)|0}while((Jca(h)|0)!=0);if(!(k[L>>2]|0))h=k[K>>2]|0;else{h=(k[K>>2]|0)+-1|0;k[K>>2]=h}w=(k[F>>2]|0)+s+h-(k[z>>2]|0)|0;v=n}}VI(a,v);h=k[K>>2]|0;n=k[L>>2]|0;if(h>>>0>>0)k[K>>2]=h+1;else{if((Rx(a)|0)<0){N=154;break b}n=k[L>>2]|0}if(n|0)k[K>>2]=(k[K>>2]|0)+-1;f:do switch(q|0){case 91:case 99:case 115:{u=(q|0)==99;g:do if((q|16|0)==115){vE(H|0,-1,257)|0;i[H>>0]=0;if((q|0)==115){i[B>>0]=0;i[A>>0]=0;i[A+1>>0]=0;i[A+2>>0]=0;i[A+3>>0]=0;i[A+4>>0]=0}}else{q=g+1|0;s=(i[q>>0]|0)==94;h=s&1;g=s?g+2|0:q;vE(H|0,s&1|0,257)|0;i[H>>0]=0;switch(i[g>>0]|0){case 45:{s=(h^1)&255;i[D>>0]=s;g=g+1|0;break}case 93:{s=(h^1)&255;i[E>>0]=s;g=g+1|0;break}default:s=(h^1)&255}while(1){h=i[g>>0]|0;h:do switch(h<<24>>24){case 0:{N=154;break b}case 93:break g;case 45:{q=g+1|0;h=i[q>>0]|0;switch(h<<24>>24){case 93:case 0:{h=45;break h}default:{}}g=i[g+-1>>0]|0;if((g&255)<(h&255)){g=g&255;do{g=g+1|0;i[H+g>>0]=s;h=i[q>>0]|0}while((g|0)<(h&255|0));g=q}else g=q;break}default:{}}while(0);i[H+((h&255)+1)>>0]=s;g=g+1|0}}while(0);q=u?v+1|0:31;s=(t|0)==1;t=(f|0)!=0;i:do if(s){if(t){b=hd(q<<2)|0;if(!b){e=0;N=154;break b}}else b=x;k[I>>2]=0;k[C>>2]=0;e=0;j:while(1){n=(b|0)==0;do{k:while(1){h=k[K>>2]|0;if(h>>>0<(k[L>>2]|0)>>>0){k[K>>2]=h+1;h=l[h>>0]|0}else h=Rx(a)|0;if(!(i[H+(h+1)>>0]|0))break j;i[y>>0]=h;switch(Vt(J,y,1,I)|0){case -1:{e=0;N=154;break b}case -2:break;default:break k}}if(!n){k[b+(e<<2)>>2]=k[J>>2];e=e+1|0}}while(!(t&(e|0)==(q|0)));e=q<<1|1;h=OC(b,e<<2)|0;if(!h){e=0;N=154;break b}else{n=q;q=e;b=h;e=n}}if(!(daa(I)|0)){e=0;N=154;break b}else{n=e;e=0}}else{if(t){e=hd(q)|0;if(!e){e=0;b=0;N=154;break b}else h=0;while(1){do{b=k[K>>2]|0;if(b>>>0<(k[L>>2]|0)>>>0){k[K>>2]=b+1;b=l[b>>0]|0}else b=Rx(a)|0;if(!(i[H+(b+1)>>0]|0)){n=h;b=0;break i}i[e+h>>0]=b;h=h+1|0}while((h|0)!=(q|0));b=q<<1|1;h=OC(e,b)|0;if(!h){b=0;N=154;break b}else{n=q;q=b;e=h;h=n}}}if(!x){e=n;while(1){b=k[K>>2]|0;if(b>>>0>>0){k[K>>2]=b+1;b=l[b>>0]|0}else b=Rx(a)|0;if(!(i[H+(b+1)>>0]|0)){n=0;e=0;b=0;break i}e=k[L>>2]|0}}else{e=0;while(1){b=k[K>>2]|0;if(b>>>0>>0){k[K>>2]=b+1;b=l[b>>0]|0}else b=Rx(a)|0;if(!(i[H+(b+1)>>0]|0)){n=e;e=x;b=0;break i}i[x+e>>0]=b;n=k[L>>2]|0;e=e+1|0}}}while(0);if(!(k[L>>2]|0))h=k[K>>2]|0;else{h=(k[K>>2]|0)+-1|0;k[K>>2]=h}h=h-(k[z>>2]|0)+(k[F>>2]|0)|0;if(!h)break b;if(!((h|0)==(v|0)|u^1))break b;do if(t)if(s){k[x>>2]=b;break}else{k[x>>2]=e;break}while(0);if(!u){if(b|0)k[b+(n<<2)>>2]=0;if(!e){e=0;break f}i[e+n>>0]=0}break}case 120:case 88:case 112:{h=16;N=136;break}case 111:{h=8;N=136;break}case 117:case 100:{h=10;N=136;break}case 105:{h=0;N=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{m=+od(a,t,0);if((k[F>>2]|0)==((k[z>>2]|0)-(k[K>>2]|0)|0))break b;if(x)switch(t|0){case 0:{o[x>>2]=m;break f}case 1:{p[x>>3]=m;break f}case 2:{p[x>>3]=m;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==136){N=0;h=$f(a,h,0,-1,-1)|0;if((k[F>>2]|0)==((k[z>>2]|0)-(k[K>>2]|0)|0))break b;if((x|0)!=0&(q|0)==112){k[x>>2]=h;break}if(x)switch(t|0){case -2:{i[x>>0]=h;break l}case -1:{j[x>>1]=h;break l}case 0:{k[x>>2]=h;break l}case 1:{k[x>>2]=h;break l}case 3:{v=x;k[v>>2]=h;k[v+4>>2]=M;break l}default:break l}}while(0);d=((x|0)!=0&1)+d|0;h=(k[F>>2]|0)+w+(k[K>>2]|0)-(k[z>>2]|0)|0;break c}while(0);g=g+(f&1)|0;VI(a,0);f=k[K>>2]|0;if(f>>>0<(k[L>>2]|0)>>>0){k[K>>2]=f+1;f=l[f>>0]|0}else f=Rx(a)|0;if((f|0)!=(l[g>>0]|0)){N=22;break b}h=s+1|0}else{while(1){f=g+1|0;if(!(Jca(l[f>>0]|0)|0))break;else g=f}VI(a,0);do{f=k[K>>2]|0;if(f>>>0<(k[L>>2]|0)>>>0){k[K>>2]=f+1;f=l[f>>0]|0}else f=Rx(a)|0}while((Jca(f)|0)!=0);if(!(k[L>>2]|0))f=k[K>>2]|0;else{f=(k[K>>2]|0)+-1|0;k[K>>2]=f}h=(k[F>>2]|0)+s+f-(k[z>>2]|0)|0}while(0);g=g+1|0;f=i[g>>0]|0;if(!(f<<24>>24))break a;else s=h}if((N|0)==22){if(k[L>>2]|0)k[K>>2]=(k[K>>2]|0)+-1;if((d|0)!=0|(f|0)>-1)break;else{d=0;N=155}}else if((N|0)==154)if(!d){d=f;N=155}if((N|0)==155){f=d;d=-1}if(f){cf(e);cf(b)}}while(0);if(O|0)Cha(a);r=P;return d|0}function _d(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;N=0;L=r;r=r+384|0;C=L+344|0;D=L+328|0;M=L+304|0;h=L+332|0;l=L+316|0;m=L+292|0;n=L+280|0;E=L+128|0;F=L+112|0;G=L+72|0;H=L+56|0;I=L+16|0;J=L;K=L+168|0;lE(m,38277,5);x=0;y=C;z=e;A=y+40|0;do{k[y>>2]=k[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));g=wa(25,m|0,a|0,d|0,C|0,f|0)|0;B=x;x=0;if(B&1)N=15;else{x=0;sa(430,l|0,g+60|0);B=x;x=0;if(B&1)N=15;else{x=0;Ua(11,h|0,l|0,0,0);B=x;x=0;do if(B&1)g=mb()|0;else{x=0;sa(492,M|0,h|0);B=x;x=0;if(B&1){g=mb()|0;P1(h);break}P1(h);P1(l);P1(m);B=c+36|0;x=0;l=Ka(856,B|0,84)|0;A=x;x=0;a:do if(A&1)N=21;else{x=0;Qa(74,n|0,38251,5);A=x;x=0;if(A&1)N=21;else{x=0;y=C;z=e;A=y+40|0;do{k[y>>2]=k[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));h=wa(26,n|0,a|0,d|0,C|0,f|0)|0;A=x;x=0;if(!(A&1)){k[l+4>>2]=k[h+4>>2];k[l>>2]=4748;y=l+8|0;z=h+8|0;A=y+40|0;do{k[y>>2]=k[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));k[l>>2]=6736;z=h+48|0;A=k[z+4>>2]|0;g=l+48|0;k[g>>2]=k[z>>2];k[g+4>>2]=A;k[l>>2]=10312;g=l+56|0;k[g>>2]=5132;x=0;sa(495,l+60|0,h+60|0);A=x;x=0;if(!(A&1)){k[l+72>>2]=k[h+72>>2];k[l>>2]=4992;k[g>>2]=5104;v=l+76|0;A=h+76|0;k[v>>2]=k[A>>2];j[v+4>>1]=j[A+4>>1]|0;x=0;v=Ka(857,B|0,l|0)|0;A=x;x=0;if(!(A&1)){P1(n);x=0;g=Ka(856,B|0,80)|0;A=x;x=0;if(A&1){N=21;break}k[g+4>>2]=0;y=g+8|0;z=e;A=y+40|0;do{k[y>>2]=k[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;k[g+52>>2]=0;k[g+60>>2]=0;k[g+64>>2]=0;k[g+68>>2]=0;k[g>>2]=5416;k[g+56>>2]=5524;i[g+76>>0]=0;i[g+77>>0]=0;i[g+78>>0]=0;x=0;w=Ka(857,B|0,g|0)|0;A=x;x=0;if(A&1){N=21;break}a=v+60|0;d=(k[v+64>>2]|0)-(k[a>>2]|0)>>2;b:do if(d|0){n=v+80|0;o=w+56|0;p=w+72|0;q=w+64|0;s=w+68|0;t=w+60|0;u=0;while(1){x=0;m=Ka(899,v|0,u|0)|0;A=x;x=0;if(A&1){N=20;break}if(!(i[n>>0]|0)){x=0;g=Ka(856,B|0,80)|0;A=x;x=0;if(A&1){N=20;break}y=G;z=e;A=y+40|0;do{k[y>>2]=k[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));x=0;Qa(74,H|0,78097,0);A=x;x=0;if(A&1){N=20;break}k[g+4>>2]=0;y=g+8|0;z=G;A=y+40|0;do{k[y>>2]=k[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;k[g+52>>2]=0;k[g>>2]=8476;k[g+56>>2]=m;x=0;sa(430,g+60|0,H|0);A=x;x=0;if(A&1){N=46;break}i[g+72>>0]=0;i[g+73>>0]=0;k[g+76>>2]=0;x=0;g=Ka(857,B|0,g|0)|0;A=x;x=0;if(A&1){N=53;break}k[C>>2]=g;h=g;if(g|0){k[p>>2]=0;l=k[q>>2]|0;if((l|0)==(k[s>>2]|0)){x=0;sa(478,t|0,C|0);A=x;x=0;if(A&1){N=53;break}}else{k[l>>2]=h;k[q>>2]=(k[q>>2]|0)+4}x=0;sa(k[k[o>>2]>>2]|0,o|0,g|0);A=x;x=0;if(A&1){N=53;break}}P1(H)}else{g=k[(k[a>>2]|0)+(u<<2)>>2]|0;if(!g)g=0;else g=Ot(g,64,600,0)|0;x=0;l=Ka(856,B|0,80)|0;A=x;x=0;if(A&1){N=20;break}y=E;z=e;A=y+40|0;do{k[y>>2]=k[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));if(!g){x=0;Qa(74,F|0,78097,0);A=x;x=0;if(A&1){N=20;break}else{g=0;h=0}}else{x=0;sa(430,F|0,g+60|0);A=x;x=0;if(A&1){N=20;break}h=j[g+72>>1]|0;g=(h&255)<<24>>24!=0;h=(h&65535)>255}x=0;y=C;z=E;A=y+40|0;do{k[y>>2]=k[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));Ba(11,l|0,C|0,m|0,F|0,g|0,h|0);A=x;x=0;if(A&1){N=41;break}x=0;g=Ka(857,B|0,l|0)|0;A=x;x=0;if(A&1){N=41;break}k[D>>2]=g;h=g;if(g|0){k[p>>2]=0;l=k[q>>2]|0;if((l|0)==(k[s>>2]|0)){x=0;sa(478,t|0,D|0);A=x;x=0;if(A&1){N=41;break}}else{k[l>>2]=h;k[q>>2]=(k[q>>2]|0)+4}x=0;sa(k[k[o>>2]>>2]|0,o|0,g|0);A=x;x=0;if(A&1){N=41;break}}P1(F)}u=u+1|0;if(u>>>0>=d>>>0)break b}if((N|0)==20){g=mb()|0;N=22;break a}else if((N|0)==41){g=mb()|0;P1(F);break a}else if((N|0)==46)g=mb()|0;else if((N|0)==53)g=mb()|0;P1(H);break a}while(0);x=0;h=Ka(856,B|0,80)|0;H=x;x=0;if(H&1){N=21;break}y=I;z=e;A=y+40|0;do{k[y>>2]=k[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));x=0;sa(430,J|0,M|0);e=x;x=0;if(e&1){N=21;break}k[h+4>>2]=0;y=h+8|0;z=I;A=y+40|0;do{k[y>>2]=k[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;g=h+52|0;k[g>>2]=0;k[h>>2]=8984;x=0;sa(430,h+56|0,J|0);e=x;x=0;do if(!(e&1)){k[h+68>>2]=w;k[h+72>>2]=0;k[h+76>>2]=0;k[g>>2]=4;x=0;g=Ka(857,B|0,h|0)|0;e=x;x=0;if(e&1)break;P1(J);x=0;Ua(15,K|0,c|0,b|0,f|0);b=x;x=0;if(b&1){N=21;break a}x=0;g=Ka(k[(k[g>>2]|0)+40>>2]|0,g|0,K+8|0)|0;b=x;x=0;if(b&1){g=mb()|0;ht(K);break a}else{ht(K);P1(M);r=L;return g|0}}while(0);g=mb()|0;P1(J);break}}}g=mb()|0;P1(n)}}while(0);if((N|0)==21){g=mb()|0;N=22}P1(M);N=g;yb(N|0)}while(0);P1(l)}}if((N|0)==15)g=mb()|0;P1(m);N=g;yb(N|0);return 0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;T=0;P=r;r=r+272|0;J=P+56|0;R=P+184|0;S=P;u=P+48|0;v=P+252|0;y=P+240|0;w=P+200|0;L=P+40|0;N=P+172|0;Q=P+160|0;O=P+120|0;U=P+104|0;K=P+96|0;a:do if(b|0){d=Ot(b,112,160,0)|0;if(d|0){e=k[d+72>>2]|0;m=k[d+76>>2]|0;if((e|0)!=(m|0)){n=a+4|0;o=R+4|0;p=R+8|0;q=R+1|0;s=a+96|0;t=a+100|0;b:while(1){j=k[e>>2]|0;if(j|0){l=j;do{d=k[l+72>>2]|0;if(d|0){f=k[d+72>>2]|0;h=k[d+76>>2]|0;if((f|0)!=(h|0))do{g=k[f>>2]|0;if(g|0)if(Ot(g,96,736,0)|0){d=k[(k[j>>2]|0)+20>>2]|0;G=k[(k[n>>2]|0)+16>>2]|0;H=k[G+4>>2]|0;I=u;k[I>>2]=k[G>>2];k[I+4>>2]=H;k[J>>2]=k[u>>2];k[J+4>>2]=k[u+4>>2];Pc[d&255](R,j,J);k[y>>2]=0;k[y+4>>2]=0;k[y+8>>2]=0;d=i[R>>0]|0;d=(d&1)==0?(d&255)>>>1:k[o>>2]|0;x=0;Ua(10,y|0,33249,13,d+13|0);I=x;x=0;if(I&1){T=19;break b}x=0;xa(46,y|0,((i[R>>0]&1)==0?q:k[p>>2]|0)|0,d|0)|0;I=x;x=0;if(I&1){T=19;break b}x=0;d=Ka(866,y|0,33263)|0;I=x;x=0;if(I&1){T=20;break b}k[v>>2]=k[d>>2];k[v+4>>2]=k[d+4>>2];k[v+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;B=w;z=g+8|0;A=B+40|0;do{k[B>>2]=k[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));d=k[t>>2]|0;if((d|0)==(k[s>>2]|0))d=0;else d=k[d+-4>>2]|0;x=0;B=J;z=w;A=B+40|0;do{k[B>>2]=k[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));Qa(100,v|0,J|0,d|0);I=x;x=0;if(I&1){T=21;break b}P1(v);P1(y);P1(R)}f=f+4|0}while((f|0)!=(h|0))}l=k[l+76>>2]|0}while((l|0)!=0)}e=e+4|0;if((e|0)==(m|0))break a}if((T|0)==19){d=mb()|0;P1(y)}else if((T|0)==20){d=mb()|0;T=22}else if((T|0)==21){d=mb()|0;P1(v);T=22}if((T|0)==22)P1(y);P1(R);U=d;yb(U|0)}}}while(0);d=Jc[k[(k[b>>2]|0)+40>>2]&1023](b,a+8|0)|0;if(!d){r=P;return}C=Ot(d,64,160,0)|0;if(!C){r=P;return}d=k[C+72>>2]|0;D=k[C+76>>2]|0;if((d|0)==(D|0)){r=P;return}E=a+4|0;F=S+4|0;G=S+8|0;H=S+1|0;I=a+96|0;v=a+100|0;w=C+59|0;b=c+72|0;y=c+76|0;t=c+72|0;u=K+4|0;a=U+4|0;c:while(1){f=k[d>>2]|0;g=f+72|0;e=k[g>>2]|0;if(!e)T=32;else if(k[f+76>>2]|0)T=32;if((T|0)==32){T=0;e=k[(k[C>>2]|0)+20>>2]|0;z=k[(k[E>>2]|0)+16>>2]|0;A=k[z+4>>2]|0;B=L;k[B>>2]=k[z>>2];k[B+4>>2]=A;k[J>>2]=k[L>>2];k[J+4>>2]=k[L+4>>2];Pc[e&255](S,C,J);k[Q>>2]=0;k[Q+4>>2]=0;k[Q+8>>2]=0;e=i[S>>0]|0;e=(e&1)==0?(e&255)>>>1:k[F>>2]|0;x=0;Ua(10,Q|0,33249,13,e+13|0);B=x;x=0;if(B&1){T=39;break}x=0;xa(46,Q|0,((i[S>>0]&1)==0?H:k[G>>2]|0)|0,e|0)|0;B=x;x=0;if(B&1){T=39;break}x=0;e=Ka(866,Q|0,33295)|0;B=x;x=0;if(B&1){T=40;break}k[N>>2]=k[e>>2];k[N+4>>2]=k[e+4>>2];k[N+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;B=O;z=f+8|0;A=B+40|0;do{k[B>>2]=k[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));e=k[v>>2]|0;if((e|0)==(k[I>>2]|0))e=0;else e=k[e+-4>>2]|0;x=0;B=J;z=O;A=B+40|0;do{k[B>>2]=k[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));Qa(100,N|0,J|0,e|0);B=x;x=0;if(B&1){T=41;break}P1(N);P1(Q);P1(S);e=k[g>>2]|0}if(i[w>>0]|0)i[e+59>>0]=1;f=k[b>>2]|0;q=(k[y>>2]|0)-f>>2;d:do if(q|0){s=e;g=0;while(1){p=k[f+(g<<2)>>2]|0;f=p;h=k[p+72>>2]|0;if(!h)T=53;else{j=k[h+72>>2]|0;if((k[h+76>>2]|0)==(j|0))T=53;else{h=k[j>>2]|0;if(!h)T=53;else if(!(Ot(h,96,736,0)|0))T=53}}if((T|0)==53){T=0;f=(k[E>>2]|0)+36|0;h=lD(f,104)|0;B=J;z=(k[(k[t>>2]|0)+(g<<2)>>2]|0)+8|0;A=B+40|0;do{k[B>>2]=k[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));k[h+4>>2]=0;B=h+8|0;z=J;A=B+40|0;do{k[B>>2]=k[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;o=h+56|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[h+52>>2]=7;k[h+72>>2]=0;k[h+76>>2]=0;k[h+80>>2]=0;k[h>>2]=6984;k[h+68>>2]=7116;o=h+92|0;k[o>>2]=0;k[h+96>>2]=0;k[h+88>>2]=o;i[h+100>>0]=0;i[h+101>>0]=0;o=N4(f,h)|0;k[o+60>>2]=k[(k[(k[t>>2]|0)+(g<<2)>>2]|0)+60>>2];f=(k[E>>2]|0)+36|0;h=lD(f,84)|0;B=J;z=(k[(k[t>>2]|0)+(g<<2)>>2]|0)+8|0;A=B+40|0;do{k[B>>2]=k[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));k[h+4>>2]=0;B=h+8|0;z=J;A=B+40|0;do{k[B>>2]=k[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;B=h+56|0;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[h+52>>2]=7;k[h>>2]=7696;B=h+68|0;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;f=N4(f,h)|0;k[f+60>>2]=k[(k[(k[t>>2]|0)+(g<<2)>>2]|0)+60>>2];if(i[p+57>>0]|0)i[f+57>>0]=1;h=(k[E>>2]|0)+36|0;j=lD(h,96)|0;B=S;z=(k[(k[t>>2]|0)+(g<<2)>>2]|0)+8|0;A=B+40|0;do{k[B>>2]=k[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));lE(R,40459,1);x=0;B=J;z=S;A=B+40|0;do{k[B>>2]=k[z>>2];B=B+4|0;z=z+4|0}while((B|0)<(A|0));Qa(115,j|0,J|0,R|0);B=x;x=0;if(B&1){T=56;break c}P1(R);k[j>>2]=12552;h=N4(h,j)|0;k[h+60>>2]=k[(k[(k[t>>2]|0)+(g<<2)>>2]|0)+60>>2];j=o+68|0;k[J>>2]=h;l=h;if(h|0){k[j+16>>2]=0;m=j+8|0;n=k[m>>2]|0;if((n|0)==(k[j+12>>2]|0))nw(j+4|0,J);else{k[n>>2]=l;k[m>>2]=(k[m>>2]|0)+4}rc[k[k[j>>2]>>2]&1023](j,h)}k[f+76>>2]=p;k[f+72>>2]=o}B=k[E>>2]|0;Dn(U,s);k[K>>2]=f;k[u>>2]=e;x=0;Qa(83,B+248|0,U|0,K|0);B=x;x=0;if(B&1){T=71;break c}f=k[U>>2]|0;if(f|0){h=k[a>>2]|0;if((h|0)!=(f|0)){do{B=h+-12|0;k[a>>2]=B;P1(B);h=k[a>>2]|0}while((h|0)!=(f|0));f=k[U>>2]|0}uha(f)}g=g+1|0;if(g>>>0>=q>>>0)break d;f=k[t>>2]|0}}while(0);d=d+4|0;if((d|0)==(D|0)){T=76;break}}if((T|0)==39){d=mb()|0;P1(Q)}else if((T|0)==40){d=mb()|0;T=42}else if((T|0)==41){d=mb()|0;P1(N);T=42}else if((T|0)==56){U=mb()|0;P1(R);yb(U|0)}else if((T|0)==71){g=mb()|0;f=M;d=k[U>>2]|0;if(!d){U=g;yb(U|0)}e=k[a>>2]|0;if((e|0)!=(d|0)){do{T=e+-12|0;k[a>>2]=T;P1(T);e=k[a>>2]|0}while((e|0)!=(d|0));d=k[U>>2]|0}uha(d);U=g;yb(U|0)}else if((T|0)==76){r=P;return}if((T|0)==42)P1(Q);P1(S);U=d;yb(U|0)}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0.0,j=0,l=0.0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;z=0;A=r;r=r+96|0;G=A+84|0;E=A+72|0;C=A+60|0;B=A+48|0;s=A+36|0;q=A+24|0;w=A+12|0;t=A;k[G>>2]=0;F=G+4|0;k[F>>2]=0;k[G+8>>2]=0;k[E>>2]=0;D=E+4|0;k[D>>2]=0;k[E+8>>2]=0;x=0;sa(435,C|0,b+68|0);y=x;x=0;if(y&1)g=mb()|0;else{x=0;sa(435,B|0,b+80|0);y=x;x=0;if(y&1){g=mb()|0;e=M}else{f=k[a+68>>2]|0;p=k[a+72>>2]|0;e=(f|0)==(p|0);if(e)y=(k[a+80>>2]|0)==(k[a+84>>2]|0);else y=0;if((k[b+68>>2]|0)==(k[b+72>>2]|0))v=(k[b+80>>2]|0)==(k[b+84>>2]|0);else v=0;a:do if(e){h=1.0;z=42}else{n=C+4|0;o=G+8|0;h=1.0;b:while(1){x=0;sa(430,s|0,f|0);f=f+12|0;m=x;x=0;if(m&1){z=18;break}e=k[C>>2]|0;m=k[n>>2]|0;j=e;c:do if((j|0)==(m|0))z=36;else{while(1){x=0;sa(430,q|0,j|0);H=x;x=0;if(H&1){z=21;break b}x=0;l=+Ma(1,s|0,q|0,0);H=x;x=0;if(H&1){z=24;break b}if(!(l==0.0))break;e=j+12|0;P1(q);if((e|0)==(m|0)){z=36;break c}else j=e}j=k[C>>2]|0;e=j+(((e-j|0)/12|0)*12|0)|0;j=e+12|0;m=k[n>>2]|0;if((j|0)==(m|0))z=33;else{do{if(!(i[e>>0]&1)){i[e+1>>0]=0;i[e>>0]=0}else{i[k[e+8>>2]>>0]=0;k[e+4>>2]=0}x=0;sa(443,e|0,0);H=x;x=0;if(H&1){z=30;break b}k[e>>2]=k[j>>2];k[e+4>>2]=k[j+4>>2];k[e+8>>2]=k[j+8>>2];k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;j=j+12|0;e=e+12|0}while((j|0)!=(m|0));j=k[n>>2]|0;if((j|0)!=(e|0))z=33}if((z|0)==33){z=0;do{H=j+-12|0;k[n>>2]=H;P1(H);j=k[n>>2]|0}while((j|0)!=(e|0))}P1(q);h=h*l}while(0);do if((z|0)==36){z=0;e=k[F>>2]|0;if((e|0)==(k[o>>2]|0)){x=0;sa(439,G|0,s|0);H=x;x=0;if(H&1){z=22;break b}else break}x=0;sa(430,e|0,s|0);H=x;x=0;if(H&1){z=22;break b}k[F>>2]=(k[F>>2]|0)+12}while(0);P1(s);if((f|0)==(p|0)){z=42;break a}}if((z|0)==18){c=mb()|0;d=M;z=20;break}else if((z|0)==21){c=mb()|0;d=M;z=23}else if((z|0)==22){c=mb()|0;d=M;z=23}else if((z|0)==24){g=mb()|0;d=M;P1(q)}else if((z|0)==30){H=Eb(0)|0;Nba(H)}if((z|0)==23)g=c;P1(s)}while(0);d:do if((z|0)==42){d=k[a+80>>2]|0;j=k[a+84>>2]|0;e:do if((d|0)!=(j|0)){m=B+4|0;n=E+8|0;f:while(1){x=0;sa(430,w|0,d|0);d=d+12|0;H=x;x=0;if(H&1){z=17;break}e=k[B>>2]|0;g=k[m>>2]|0;f=e;g:do if((f|0)==(g|0))z=65;else{while(1){x=0;sa(430,t|0,f|0);H=x;x=0;if(H&1){z=50;break f}x=0;l=+Ma(1,w|0,t|0,0);H=x;x=0;if(H&1){z=53;break f}if(!(l==0.0))break;e=f+12|0;P1(t);if((e|0)==(g|0)){z=65;break g}else f=e}f=k[B>>2]|0;e=f+(((e-f|0)/12|0)*12|0)|0;f=e+12|0;g=k[m>>2]|0;if((f|0)==(g|0))z=62;else{do{if(!(i[e>>0]&1)){i[e+1>>0]=0;i[e>>0]=0}else{i[k[e+8>>2]>>0]=0;k[e+4>>2]=0}x=0;sa(443,e|0,0);H=x;x=0;if(H&1){z=59;break f}k[e>>2]=k[f>>2];k[e+4>>2]=k[f+4>>2];k[e+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=f+12|0;e=e+12|0}while((f|0)!=(g|0));f=k[m>>2]|0;if((f|0)!=(e|0))z=62}if((z|0)==62){z=0;do{H=f+-12|0;k[m>>2]=H;P1(H);f=k[m>>2]|0}while((f|0)!=(e|0))}P1(t);h=h*l}while(0);do if((z|0)==65){z=0;e=k[D>>2]|0;if((e|0)==(k[n>>2]|0)){x=0;sa(439,E|0,w|0);H=x;x=0;if(H&1){z=51;break f}else break}x=0;sa(430,e|0,w|0);H=x;x=0;if(H&1){z=51;break f}k[D>>2]=(k[D>>2]|0)+12}while(0);P1(w);if((d|0)==(j|0))break e}if((z|0)==17){c=mb()|0;d=M;z=20;break d}else if((z|0)==50){c=mb()|0;d=M;z=52}else if((z|0)==51){c=mb()|0;d=M;z=52}else if((z|0)==53){c=mb()|0;u=M;P1(t)}else if((z|0)==59){H=Eb(0)|0;Nba(H)}if((z|0)==52)u=d;P1(w);g=c;d=u;break d}while(0);do if(v|(k[F>>2]|0)==(k[G>>2]|0)){if(!(v|(k[D>>2]|0)==(k[E>>2]|0))){c=vb(28)|0;x=0;Qa(85,c|0,b|0,a|0);H=x;x=0;if(H&1){g=mb()|0;d=M;lb(c|0);break d}else{x=0;Qa(77,c|0,816,61);x=0;break}}j=C+4|0;H=k[C>>2]|0;c=H;if(!(y|(k[j>>2]|0)==(H|0))){c=vb(28)|0;x=0;Qa(85,c|0,b|0,a|0);H=x;x=0;if(H&1){g=mb()|0;d=M;lb(c|0);break d}else{x=0;Qa(77,c|0,816,61);x=0;break}}f=B+4|0;H=k[f>>2]|0;d=k[B>>2]|0;g=d;e=H;if(!(y|(H|0)==(d|0))){c=vb(28)|0;x=0;Qa(85,c|0,b|0,a|0);H=x;x=0;if(H&1){g=mb()|0;d=M;lb(c|0);break d}else{x=0;Qa(77,c|0,816,61);x=0;break}}if(d){if((e|0)==(g|0))c=d;else{c=e;do{H=c+-12|0;k[f>>2]=H;P1(H);c=k[f>>2]|0}while((c|0)!=(g|0));c=k[B>>2]|0}uha(c);c=k[C>>2]|0}if(c|0){d=k[j>>2]|0;if((d|0)!=(c|0)){do{H=d+-12|0;k[j>>2]=H;P1(H);d=k[j>>2]|0}while((d|0)!=(c|0));c=k[C>>2]|0}uha(c)}c=k[E>>2]|0;if(c|0){d=k[D>>2]|0;if((d|0)!=(c|0)){do{H=d+-12|0;k[D>>2]=H;P1(H);d=k[D>>2]|0}while((d|0)!=(c|0));c=k[E>>2]|0}uha(c)}c=k[G>>2]|0;if(!c){r=A;return +h}d=k[F>>2]|0;if((d|0)!=(c|0)){do{H=d+-12|0;k[F>>2]=H;P1(H);d=k[F>>2]|0}while((d|0)!=(c|0));c=k[G>>2]|0}uha(c);r=A;return +h}else{c=vb(28)|0;x=0;Qa(85,c|0,b|0,a|0);H=x;x=0;if(H&1){g=mb()|0;d=M;lb(c|0);break d}else{x=0;Qa(77,c|0,816,61);x=0;break}}while(0);c=mb()|0;d=M;z=20}while(0);if((z|0)==20)g=c;c=k[B>>2]|0;if(!c)e=d;else{f=B+4|0;e=k[f>>2]|0;if((e|0)!=(c|0)){do{H=e+-12|0;k[f>>2]=H;P1(H);e=k[f>>2]|0}while((e|0)!=(c|0));c=k[B>>2]|0}uha(c);e=d}}c=k[C>>2]|0;if(c){f=C+4|0;d=k[f>>2]|0;if((d|0)!=(c|0)){do{H=d+-12|0;k[f>>2]=H;P1(H);d=k[f>>2]|0}while((d|0)!=(c|0));c=k[C>>2]|0}uha(c)}}c=k[E>>2]|0;if(c|0){d=k[D>>2]|0;if((d|0)!=(c|0)){do{H=d+-12|0;k[D>>2]=H;P1(H);d=k[D>>2]|0}while((d|0)!=(c|0));c=k[E>>2]|0}uha(c)}c=k[G>>2]|0;if(!c)yb(g|0);d=k[F>>2]|0;if((d|0)!=(c|0)){do{H=d+-12|0;k[F>>2]=H;P1(H);d=k[F>>2]|0}while((d|0)!=(c|0));c=k[G>>2]|0}uha(c);yb(g|0);return 0.0}function be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;X=r;r=r+320|0;R=X+280|0;ea=X+256|0;ba=X+268|0;V=X+244|0;q=X+16|0;Q=X+232|0;A=X+8|0;aa=X+88|0;Y=X+72|0;W=X+48|0;S=X+60|0;T=X+36|0;P=X;U=X+24|0;if(!a){fa=0;r=X;return fa|0}fa=ea+4|0;da=aa+64|0;s=aa+8|0;Z=aa+12|0;t=aa+4|0;u=aa+64|0;v=aa+136|0;w=aa+140|0;_=aa+44|0;y=aa+60|0;$=aa+8|0;z=b+16|0;B=T+8|0;C=T+1|0;D=T+4|0;E=W+8|0;F=W+1|0;G=W+4|0;H=a+8|0;I=V+4|0;J=Q+4|0;K=Q+8|0;L=Q+1|0;N=V+1|0;O=V+8|0;ca=ba+4|0;d=0;a:while(1){m=k[a+72>>2]|0;if(m){e=k[m+72>>2]|0;l=k[m+76>>2]|0;if((e|0)!=(l|0))do{f=k[e>>2]|0;if(f){f=Ot(f,96,144,0)|0;if(f){f=k[f+96>>2]|0;if(f){f=Ot(f,112,160,0)|0;if(f){g=k[f+72>>2]|0;h=k[f+76>>2]|0;if((g|0)!=(h|0))do{f=k[g>>2]|0;b:do if(f)do{if(be(f,b,c)|0){d=1;break b}f=k[f+76>>2]|0}while((f|0)!=0);while(0);g=g+4|0}while((g|0)!=(h|0))}}}}e=e+4|0}while((e|0)!=(l|0));Dn(ba,m);x=0;Qa(117,ea|0,c|0,ba|0);p=x;x=0;if(p&1){a=29;break}e=k[ba>>2]|0;if(e|0){f=k[ca>>2]|0;if((f|0)!=(e|0)){do{p=f+-12|0;k[ca>>2]=p;P1(p);f=k[ca>>2]|0}while((f|0)!=(e|0));e=k[ba>>2]|0}uha(e)}f=k[ea>>2]|0;p=k[fa>>2]|0;if((f|0)==(p|0)){e=p;g=f}else{o=m+60|0;do{n=k[f+4>>2]|0;e=k[n+60>>2]|0;c:do if(e|0){g=k[o>>2]|0;if(g|0){e=k[e+68>>2]|0;if(e|0)if(k[g+68>>2]|0){m=k[(k[e>>2]|0)+20>>2]|0;g=k[z>>2]|0;h=k[g+4>>2]|0;l=q;k[l>>2]=k[g>>2];k[l+4>>2]=h;x=0;k[R>>2]=k[q>>2];k[R+4>>2]=k[q+4>>2];Qa(m|0,V|0,e|0,R|0);m=x;x=0;if(m&1){a=35;break a}m=k[(k[o>>2]|0)+68>>2]|0;l=k[(k[m>>2]|0)+20>>2]|0;e=k[z>>2]|0;g=k[e+4>>2]|0;h=A;k[h>>2]=k[e>>2];k[h+4>>2]=g;x=0;k[R>>2]=k[A>>2];k[R+4>>2]=k[A+4>>2];Qa(l|0,Q|0,m|0,R|0);m=x;x=0;if(m&1){a=51;break a}m=j[V>>1]|0;h=(m&1)==0;g=(m&254)>>>1;l=h?g:k[I>>2]|0;ga=i[Q>>0]|0;e=(ga&1)==0;m=(m&65535)>>>8&255;d:do if((l|0)==((e?(ga&255)>>>1:k[J>>2]|0)|0)){e=e?L:k[K>>2]|0;e:do if(h){if(!l)break;if(m<<24>>24==(i[e>>0]|0))h=N;else break d;while(1){g=g+-1|0;h=h+1|0;if(!g)break e;e=e+1|0;if((i[h>>0]|0)!=(i[e>>0]|0))break d}}else if(tG(k[O>>2]|0,e,l)|0)break d;while(0);P1(Q);P1(V);break c}while(0);P1(Q);P1(V)}}k[s>>2]=8236;k[aa>>2]=8440;k[da>>2]=8460;k[t>>2]=0;x=0;sa(452,u|0,Z|0);ga=x;x=0;if(ga&1){a=56;break a}k[v>>2]=0;k[w>>2]=-1;k[aa>>2]=8216;k[da>>2]=8256;k[s>>2]=8236;x=0;ra(324,Z|0);ga=x;x=0;if(ga&1){a=57;break a}k[Z>>2]=8272;k[_>>2]=0;k[_+4>>2]=0;k[_+8>>2]=0;k[_+12>>2]=0;k[y>>2]=24;k[R>>2]=0;k[R+4>>2]=0;k[R+8>>2]=0;x=0;sa(453,Z|0,R|0);ga=x;x=0;if(ga&1){a=55;break a}P1(R);x=0;ra(329,Y|0);ga=x;x=0;if(ga&1){a=78;break a}e=n;h=k[e+8>>2]|0;m=k[e+20>>2]|0;ga=OD(m)|0;x=0;Qa(74,S|0,m|0,ga|0);ga=x;x=0;if(ga&1){a=79;break a}x=0;Ua(19,W|0,S|0,Y|0,Y|0);ga=x;x=0;if(ga&1){a=80;break a}P1(S);x=0;xa(49,$|0,34055,58)|0;ga=x;x=0;if(ga&1){a=81;break a}x=0;xa(49,$|0,34114,58)|0;ga=x;x=0;if(ga&1){a=81;break a}x=0;g=xa(49,$|0,34173,14)|0;ga=x;x=0;if(ga&1){a=81;break a}ga=k[(k[n>>2]|0)+20>>2]|0;l=k[z>>2]|0;m=k[l+4>>2]|0;n=P;k[n>>2]=k[l>>2];k[n+4>>2]=m;x=0;k[R>>2]=k[P>>2];k[R+4>>2]=k[P+4>>2];Qa(ga|0,T|0,e|0,R|0);ga=x;x=0;if(ga&1){a=81;break a}e=i[T>>0]|0;ga=(e&1)==0;x=0;e=xa(49,g|0,(ga?C:k[B>>2]|0)|0,(ga?(e&255)>>>1:k[D>>2]|0)|0)|0;ga=x;x=0;if(ga&1){a=82;break a}x=0;xa(49,e|0,44246,1)|0;ga=x;x=0;if(ga&1){a=82;break a}P1(T);x=0;e=xa(49,$|0,43217,9)|0;ga=x;x=0;if(ga&1){a=81;break a}x=0;e=Ka(860,e|0,h+1|0)|0;ga=x;x=0;if(ga&1){a=81;break a}x=0;e=xa(49,e|0,43239,4)|0;ga=x;x=0;if(ga&1){a=81;break a}ga=i[W>>0]|0;n=(ga&1)==0;x=0;e=xa(49,e|0,(n?F:k[E>>2]|0)|0,(n?(ga&255)>>>1:k[G>>2]|0)|0)|0;ga=x;x=0;if(ga&1){a=81;break a}x=0;xa(49,e|0,43502,1)|0;ga=x;x=0;if(ga&1){a=81;break a}x=0;sa(454,U|0,Z|0);ga=x;x=0;if(ga&1){a=81;break a}x=0;e=R;g=H;h=e+40|0;do{k[e>>2]=k[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));sa(438,U|0,R|0);ga=x;x=0;if(ga&1){a=83;break a}P1(U);P1(W);P1(Y);k[aa>>2]=8216;k[da>>2]=8256;k[$>>2]=8236;k[Z>>2]=8272;P1(_);D2(Z);P9(da)}while(0);f=f+8|0}while((f|0)!=(p|0));f=k[fa>>2]|0;e=f;g=k[ea>>2]|0}d=d|(e|0)!=(g|0);e=g;if(g|0){if((f|0)!=(g|0))k[fa>>2]=f+(~((f+-8-g|0)>>>3)<<3);uha(e)}}a=k[a+76>>2]|0;if(!((a|0)!=0&(d^1))){a=92;break}}switch(a|0){case 29:{f=mb()|0;e=M;d=k[ba>>2]|0;if(!d){ga=f;yb(ga|0)}a=k[ca>>2]|0;if((a|0)!=(d|0)){do{ga=a+-12|0;k[ca>>2]=ga;P1(ga);a=k[ca>>2]|0}while((a|0)!=(d|0));d=k[ba>>2]|0}uha(d);ga=f;yb(ga|0)}case 35:{d=mb()|0;a=36;break}case 51:{e=mb()|0;P1(V);break}case 55:{d=mb()|0;P1(R);P1(_);D2(Z);a=58;break}case 56:{d=mb()|0;a=59;break}case 57:{d=mb()|0;a=58;break}case 78:{e=mb()|0;a=86;break}case 79:{e=mb()|0;a=85;break}case 80:{e=mb()|0;P1(S);a=85;break}case 81:{e=mb()|0;a=84;break}case 82:{e=mb()|0;P1(T);a=84;break}case 83:{e=mb()|0;P1(U);a=84;break}case 92:{r=X;return d|0}}if((a|0)==58)a=59;else if((a|0)==84){P1(W);a=85}if((a|0)==59){P9(da);a=36}else if((a|0)==85){P1(Y);a=86}if((a|0)==36)e=d;else if((a|0)==86){k[aa>>2]=8216;k[da>>2]=8256;k[$>>2]=8236;k[Z>>2]=8272;P1(_);D2(Z);P9(da)}d=k[ea>>2]|0;if(!d){ga=e;yb(ga|0)}a=k[fa>>2]|0;if((a|0)!=(d|0))k[fa>>2]=a+(~((a+-8-d|0)>>>3)<<3);uha(d);ga=e;yb(ga|0);return 0}function ce(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0.0,j=0.0,l=0.0,m=0.0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+304|0;D=E;u=E+288|0;w=E+248|0;y=E+232|0;f=E+192|0;q=E+176|0;s=E+136|0;v=E+96|0;z=E+88|0;n=E+76|0;t=E+64|0;g=E+52|0;o=E+40|0;do switch(wfa(b)|0){case 0:{g=lD(a,64)|0;f=Xca(b)|0;k[g+4>>2]=0;A=g+8|0;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;k[g>>2]=5684;i[g+56>>0]=f&1;k[g+60>>2]=0;k[g+52>>2]=1;a=N4(a,g)|0;r=E;return a|0}case 1:{f=lD(a,96)|0;h=+tea(b);A=Eea(b)|0;lE(u,A,OD(A)|0);x=0;A=D;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));Fa(1,f|0,D|0,+h,u|0,1);e=x;x=0;if(!(e&1)){x=0;f=Ka(857,a|0,f|0)|0;a=x;x=0;if(!(a&1)){P1(u);a=f;r=E;return a|0}}E=mb()|0;P1(u);yb(E|0)}case 2:{g=lD(a,104)|0;A=w;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));j=+ffa(b);l=+Xea(b);m=+Yea(b);h=+Zea(b);lE(y,78097,0);k[g+4>>2]=0;A=g+8|0;B=w;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;f=g+52|0;k[f>>2]=0;k[g>>2]=5580;p[g+56>>3]=j;p[g+64>>3]=l;p[g+72>>3]=m;p[g+80>>3]=h;x=0;sa(430,g+88|0,y|0);e=x;x=0;if(!(e&1)){k[g+100>>2]=0;k[f>>2]=3;x=0;f=Ka(857,a|0,g|0)|0;a=x;x=0;if(!(a&1)){P1(y);a=f;r=E;return a|0}}E=mb()|0;P1(y);yb(E|0)}case 3:{C=ada(b)|0;g=lD(a,76)|0;if(C){A=f;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));A=Dea(b)|0;lE(q,A,OD(A)|0);x=0;A=D;B=f;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));qa(5,g|0,D|0,q|0,0,0);e=x;x=0;if(!(e&1)){x=0;f=Ka(857,a|0,g|0)|0;a=x;x=0;if(!(a&1)){P1(q);a=f;r=E;return a|0}}E=mb()|0;P1(q);yb(E|0)}A=s;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));f=Dea(b)|0;k[g+4>>2]=0;A=g+8|0;B=s;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;i[g+56>>0]=0;k[g+52>>2]=4;k[g>>2]=5932;i[g+57>>0]=0;i[g+58>>0]=0;e=OD(f)|0;x=0;Qa(74,D|0,f|0,e|0);e=x;x=0;if(e&1){E=mb()|0;yb(E|0)}x=0;sa(477,g+60|0,D|0);e=x;x=0;if(e&1){E=mb()|0;P1(D);yb(E|0)}else{P1(D);k[g+72>>2]=0;a=N4(a,g)|0;r=E;return a|0}}case 4:{s=lD(a,84)|0;A=v;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));t=Mea(b)|0;u=oea(b)|0;k[s+4>>2]=0;A=s+8|0;B=v;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));i[s+48>>0]=0;i[s+49>>0]=0;i[s+50>>0]=0;f=s+52|0;k[f>>2]=0;k[s>>2]=10312;g=s+56|0;k[g>>2]=5132;n=s+60|0;k[n>>2]=0;o=s+64|0;k[o>>2]=0;q=s+68|0;k[q>>2]=0;if(t|0){C=GG(t<<2)|0;B=C;k[n>>2]=B;k[o>>2]=B;k[q>>2]=C+(t<<2)}k[s>>2]=4992;k[g>>2]=5104;k[s+76>>2]=u;i[s+80>>0]=0;i[s+81>>0]=0;k[f>>2]=5;o=N4(a,s)|0;q=Mea(b)|0;if(q|0){s=o+56|0;t=o+72|0;u=o+64|0;v=o+68|0;w=o+60|0;y=0;do{f=Q5(b,y)|0;A=D;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));f=ce(a,f,c,d,D)|0;k[D>>2]=f;g=f;if(f|0){k[t>>2]=0;n=k[u>>2]|0;if((n|0)==(k[v>>2]|0))uw(w,D);else{k[n>>2]=g;k[u>>2]=(k[u>>2]|0)+4}rc[k[k[s>>2]>>2]&1023](s,f)}y=y+1|0}while((y|0)!=(q|0))}a=o;r=E;return a|0}case 5:{f=lD(a,100)|0;A=D;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));k[f+4>>2]=0;A=f+8|0;B=D;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;n=f+52|0;k[n>>2]=0;k[f>>2]=10312;o=f+56|0;bo(o,0);k[f>>2]=5160;k[o>>2]=5268;k[n>>2]=6;n=N4(a,f)|0;o=Sea(b)|0;if(o|0){q=n+56|0;s=z+4|0;t=0;do{f=M6(b,t)|0;A=D;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));f=ce(a,f,c,d,D)|0;g=v5(b,t)|0;A=D;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));C=ce(a,g,c,d,D)|0;k[z>>2]=f;k[s>>2]=C;k[D>>2]=k[z>>2];k[D+4>>2]=k[z+4>>2];Qn(q,D)|0;t=t+1|0}while((t|0)!=(o|0))}a=n;r=E;return a|0}case 6:{f=lD(a,56)|0;A=D;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));k[f+4>>2]=0;A=f+8|0;B=D;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;k[f>>2]=6380;k[f+52>>2]=8;a=N4(a,f)|0;r=E;return a|0}case 7:{f=vea(b)|0;lE(t,f,OD(f)|0);x=0;f=xa(50,t|0,0,32486)|0;a=x;x=0;do if(a&1)f=mb()|0;else{k[n>>2]=k[f>>2];k[n+4>>2]=k[f+4>>2];k[n+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;x=0;A=D;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));Qa(100,n|0,D|0,d|0);a=x;x=0;if(a&1){f=mb()|0;P1(n);break}P1(n);P1(t);a=0;r=E;return a|0}while(0);P1(t);E=f;yb(E|0)}case 8:{f=dea(b)|0;lE(o,f,OD(f)|0);x=0;f=xa(50,o|0,0,32508)|0;a=x;x=0;do if(a&1)f=mb()|0;else{k[g>>2]=k[f>>2];k[g+4>>2]=k[f+4>>2];k[g+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;x=0;A=D;B=e;C=A+40|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(C|0));Qa(100,g|0,D|0,d|0);a=x;x=0;if(a&1){f=mb()|0;P1(g);break}P1(g);P1(o);a=0;r=E;return a|0}while(0);P1(o);E=f;yb(E|0)}default:{a=0;r=E;return a|0}}while(0);return 0}function de(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,$=0;$=r;r=r+352|0;Z=$;R=$+296|0;h=$+312|0;j=$+284|0;Y=$+272|0;W=$+260|0;S=$+248|0;T=$+80|0;U=$+64|0;V=$+52|0;X=$+40|0;c=k[a+156>>2]|0;_=k[a+160>>2]|0;a:do if(c>>>0<_>>>0){g=c;d=0;b:while(1){b=i[g>>0]|0;if(!(b<<24>>24)){Q=12;break a}c:do if(d){b=g;d=0}else if(b<<24>>24==92){b=g;d=1}else{b=tx(g)|0;if(!b){b=i[38919]|0;if(!(b<<24>>24))if(!g){b=0;d=0;break}else{Q=10;break b}else{d=g;e=b;f=38919}while(1){if((i[d>>0]|0)!=e<<24>>24){b=g;d=0;break c}f=f+1|0;e=i[f>>0]|0;if(!(e<<24>>24)){e=g;Q=13;break b}else d=d+1|0}}else d=0}while(0);g=b+1|0;if(g>>>0>=_>>>0){Q=12;break a}}if((Q|0)==10){f=a+40|0;d=f;e=b;f=(k[f>>2]|0)+36|0}else if((Q|0)==13){d=a+40|0;f=(k[d>>2]|0)+36|0;if(!e)break;else e=b}b=lD(f,84)|0;G=a+108|0;l=Z;m=G;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k[b+4>>2]=0;l=b+8|0;m=Z;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;i[b+56>>0]=0;k[b+64>>2]=0;k[b+68>>2]=0;k[b+72>>2]=0;k[b>>2]=5788;k[b+60>>2]=5904;k[b+80>>2]=0;k[b+52>>2]=4;b=N4(f,b)|0;N=a+76|0;O=b+60|0;J=O+16|0;K=O+8|0;L=O+12|0;M=O+4|0;E=a+80|0;p=_-c|0;q=p>>>0>4294967279;s=p+16&-16;t=X+8|0;u=s|1;v=X+4|0;w=(c|0)==(_|0);y=p>>>0<11;z=p<<1&255;A=X+1|0;B=U+4|0;C=U+8|0;D=a+72|0;F=T+56|0;H=T+44|0;P=T+48|0;I=T+60|0;m=c;d:while(1){h=m;o=e;e=0;e:while(1){l=o<<24>>24==0;f=i[h>>0]|0;if(!(f<<24>>24)){c=m;Q=97;break d}else j=h;f:while(1){if(e){e=j;f=o;g=0;break}if(f<<24>>24==92){e=j;f=o;g=1;break}e=tx(j)|0;if(e|0){f=o;g=0;break}if(l){if(!j){e=0;f=0;g=0;break}}else{e=j;f=o;g=38919;while(1){if((i[e>>0]|0)!=f<<24>>24){e=j;f=o;g=0;break f}g=g+1|0;f=i[g>>0]|0;if(!(f<<24>>24))break;else e=e+1|0}if(!j){c=m;Q=97;break d}}if(m>>>0>>0){e=k[N>>2]|0;k[N>>2]=m;f=ed(a,j)|0;k[Z>>2]=f;g=f;if(f|0){k[J>>2]=0;h=k[K>>2]|0;if((h|0)==(k[L>>2]|0))uw(M,Z);else{k[h>>2]=g;k[K>>2]=(k[K>>2]|0)+4}rc[k[k[O>>2]>>2]&1023](O,f)}k[N>>2]=e}e=j+2|0;f=bO(e)|0;f=XH(f|0?f:e)|0;if(f|0){g=i[43519]|0;g:do if(!(g<<24>>24))g=0;else{h=43519;while(1){if((i[f>>0]|0)!=g<<24>>24)break g;f=f+1|0;h=h+1|0;g=i[h>>0]|0;if(!(g<<24>>24)){g=0;break}}}while(0);n=g<<24>>24==0?f:0;if(!((n|0)==0?1:n>>>0>(k[E>>2]|0)>>>0)){k[N>>2]=j;lE(Y,39906,11);x=0;Qa(74,W|0,39918,7);n=x;x=0;if(n&1){Q=54;break d}x=0;Qa(74,S|0,40150,44);n=x;x=0;if(n&1){Q=55;break d}x=0;Ua(31,a|0,Y|0,W|0,S|0);n=x;x=0;if(n&1){Q=56;break d}P1(S);P1(W);P1(Y)}}f=uj(e,_)|0;if(f|0)break e;if(q){dH(X);Q=87}else if(y){i[X>>0]=z;e=A}else Q=87;if((Q|0)==87){Q=0;e=GG(s)|0;k[t>>2]=e;k[X>>2]=u;k[v>>2]=p}if(!w){f=c;g=e;while(1){i[g>>0]=i[f>>0]|0;f=f+1|0;if((f|0)==(_|0))break;else g=g+1|0}e=e+p|0}i[e>>0]=0;x=0;e=xa(50,X|0,0,40346)|0;n=x;x=0;if(n&1){Q=94;break d}k[V>>2]=k[e>>2];k[V+4>>2]=k[e+4>>2];k[V+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;x=0;k[Z>>2]=k[G>>2];k[Z+4>>2]=k[G+4>>2];k[Z+8>>2]=k[G+8>>2];Qa(135,a|0,V|0,Z|0);n=x;x=0;if(n&1){Q=95;break d}P1(V);P1(X);f=i[m>>0]|0;if(!(f<<24>>24)){c=m;Q=97;break d}else{j=m;e=0}}h=e+1|0;if(h>>>0>=_>>>0){c=m;Q=97;break d}else{o=f;e=g}}k[U>>2]=e;k[B>>2]=e;k[C>>2]=f;e=k[d>>2]|0;g=k[D>>2]|0;k[R>>2]=k[U>>2];k[R+4>>2]=k[U+4>>2];k[R+8>>2]=k[U+8>>2];l=Z;m=G;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));Xj(T,R,e,Z,g);x=0;j=ua(234,T|0)|0;n=x;x=0;if(n&1){Q=75;break}e=k[F>>2]|0;g=e;if(e|0){h=k[I>>2]|0;if((h|0)!=(e|0))k[I>>2]=h+(~((h+-4-g|0)>>>2)<<2);uha(e)}e=k[H>>2]|0;g=e;if(e|0){h=k[P>>2]|0;if((h|0)!=(e|0))k[P>>2]=h+(~((h+-4-g|0)>>>2)<<2);uha(e)}i[j+50>>0]=1;k[Z>>2]=j;e=j;if(j|0){k[J>>2]=0;g=k[K>>2]|0;if((g|0)==(k[L>>2]|0))uw(M,Z);else{k[g>>2]=e;k[K>>2]=(k[K>>2]|0)+4}rc[k[k[O>>2]>>2]&1023](O,j)}if(f>>>0<_>>>0){e=o;m=f}else{Q=104;break}}if((Q|0)==54)b=mb()|0;else if((Q|0)==55){b=mb()|0;Q=57}else if((Q|0)==56){b=mb()|0;P1(S);Q=57}else if((Q|0)==75){e=mb()|0;b=k[F>>2]|0;c=b;if(b|0){d=k[I>>2]|0;if((d|0)!=(b|0))k[I>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(b)}b=k[H>>2]|0;if(!b){$=e;yb($|0)}c=k[P>>2]|0;if((c|0)!=(b|0))k[P>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(b);$=e;yb($|0)}else if((Q|0)==94){b=mb()|0;Q=96}else if((Q|0)==95){b=mb()|0;P1(V);Q=96}else if((Q|0)==97){if(c>>>0>=(k[E>>2]|0)>>>0){_=b;r=$;return _|0}f=k[N>>2]|0;k[N>>2]=c;d=ed(a,_)|0;k[Z>>2]=d;e=d;if(d|0){k[J>>2]=0;c=k[K>>2]|0;if((c|0)==(k[L>>2]|0))uw(M,Z);else{k[c>>2]=e;k[K>>2]=(k[K>>2]|0)+4}rc[k[k[O>>2]>>2]&1023](O,d)}k[N>>2]=f;_=b;r=$;return _|0}else if((Q|0)==104){r=$;return b|0}if((Q|0)==57)P1(W);else if((Q|0)==96){P1(X);$=b;yb($|0)}P1(Y);$=b;yb($|0)}else Q=12;while(0);if((Q|0)==12)f=(k[a+40>>2]|0)+36|0;g=lD(f,76)|0;l=h;m=a+108|0;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));e=_-c|0;if(e>>>0>4294967279){dH(j);Q=18}else if(e>>>0<11){i[j>>0]=e<<1;b=j+1|0}else Q=18;if((Q|0)==18){Z=e+16&-16;b=GG(Z)|0;k[j+8>>2]=b;k[j>>2]=Z|1;k[j+4>>2]=e}if((c|0)!=(_|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(_|0))break;else d=d+1|0}b=b+e|0}i[b>>0]=0;k[g+4>>2]=0;l=g+8|0;m=h;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;i[g+56>>0]=0;k[g+52>>2]=4;k[g>>2]=5932;i[g+57>>0]=0;i[g+58>>0]=0;x=0;sa(477,g+60|0,j|0);_=x;x=0;if(!(_&1)){k[g+72>>2]=0;x=0;b=Ka(857,f|0,g|0)|0;_=x;x=0;if(!(_&1)){P1(j);_=b;r=$;return _|0}}$=mb()|0;P1(j);yb($|0);return 0}function ee(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;M=r;r=r+336|0;J=M+8|0;b=M+320|0;g=M+308|0;O=M+284|0;I=M+128|0;F=M+296|0;H=M+116|0;G=M+272|0;C=M;E=M+112|0;D=M+72|0;L=M+56|0;K=M+48|0;lE(b,38323,10);x=0;w=J;y=e;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));B=wa(26,b|0,a|0,d|0,J|0,f|0)|0;N=x;x=0;if(N&1){O=mb()|0;P1(b);yb(O|0)}P1(b);d=B+60|0;a=B+64|0;f=k[a>>2]|0;b=k[d>>2]|0;do if((f|0)==(b|0)){lE(g,38334,48);x=0;w=J;y=e;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));sa(438,g|0,J|0);N=x;x=0;if(!(N&1)){P1(g);f=k[a>>2]|0;b=k[d>>2]|0;break}O=mb()|0;P1(g);yb(O|0)}while(0);k[O>>2]=0;N=O+4|0;k[N>>2]=0;k[O+8>>2]=0;a=f-b>>2;a:do if(!a)p=43;else{A=I+64|0;d=I+8|0;t=I+12|0;g=I+4|0;h=I+64|0;j=I+136|0;l=I+140|0;u=I+44|0;m=I+60|0;v=I+8|0;n=c+16|0;o=H+8|0;p=H+1|0;q=O+8|0;s=0;while(1){x=0;f=Ka(899,B|0,s|0)|0;z=x;x=0;if(z&1){p=10;break}if((k[f+52>>2]|0)==8){k[d>>2]=8236;k[I>>2]=8440;k[A>>2]=8460;k[g>>2]=0;x=0;sa(452,h|0,t|0);z=x;x=0;if(z&1){p=19;break}k[j>>2]=0;k[l>>2]=-1;k[I>>2]=8216;k[A>>2]=8256;k[d>>2]=8236;x=0;ra(324,t|0);z=x;x=0;if(z&1){p=20;break}k[t>>2]=8272;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;k[u+12>>2]=0;k[m>>2]=24;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;x=0;sa(453,t|0,J|0);z=x;x=0;if(z&1){p=18;break}P1(J);x=0;xa(49,v|0,38383,63)|0;z=x;x=0;if(z&1){p=28;break}x=0;xa(49,v|0,38447,68)|0;z=x;x=0;if(z&1){p=28;break}x=0;sa(454,F|0,t|0);z=x;x=0;if(z&1){p=28;break}x=0;w=J;y=e;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));sa(438,F|0,J|0);z=x;x=0;if(z&1){p=29;break}P1(F);k[I>>2]=8216;k[A>>2]=8256;k[v>>2]=8236;k[t>>2]=8272;P1(u);D2(t);P9(A)}b=Ot(f,64,432,0)|0;if(b|0)i[b+57>>0]=0;z=k[(k[f>>2]|0)+20>>2]|0;b=k[n>>2]|0;w=k[b+4>>2]|0;y=C;k[y>>2]=k[b>>2];k[y+4>>2]=w;x=0;k[J>>2]=k[C>>2];k[J+4>>2]=k[C+4>>2];Qa(z|0,G|0,f|0,J|0);z=x;x=0;if(z&1){p=10;break}x=0;b=Ka(866,G|0,44289)|0;z=x;x=0;if(z&1){p=41;break}k[H>>2]=k[b>>2];k[H+4>>2]=k[b+4>>2];k[H+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;P1(G);b=i[H>>0]|0;f=k[o>>2]|0;x=0;Ua(14,D|0,36934,0,-1);z=x;x=0;if(z&1){p=42;break}b=(b&1)==0?p:f;x=0;w=J;y=D;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));b=Pa(10,b|0,c|0,J|0,0)|0;z=x;x=0;if(z&1){p=42;break}k[E>>2]=b;f=k[N>>2]|0;if((f|0)==(k[q>>2]|0)){x=0;sa(532,O|0,E|0);z=x;x=0;if(z&1){p=42;break}}else{k[f>>2]=b;k[N>>2]=(k[N>>2]|0)+4}P1(H);s=s+1|0;if(s>>>0>=a>>>0){p=9;break}}if((p|0)==9){b=k[O>>2]|0;f=k[N>>2]|0;if((b|0)==(f|0)){p=43;break}n=k[b>>2]|0;b=b+4|0;b:do if((b|0)!=(f|0)){o=L+4|0;l=L+8|0;j=n+72|0;m=L+8|0;do if((j|0)==(L|0)){c:while(1){f=k[b>>2]|0;k[L>>2]=0;k[o>>2]=0;k[l>>2]=0;x=0;f=xa(62,f|0,n|0,c|0)|0;e=x;x=0;if(e&1){p=61;break}a=k[f+72>>2]|0;h=(k[f+76>>2]|0)-a>>2;d:do if(h|0){g=f+72|0;f=0;while(1){a=a+(f<<2)|0;d=k[o>>2]|0;if((d|0)==(k[m>>2]|0)){x=0;sa(447,L|0,a|0);e=x;x=0;if(e&1){p=62;break c}}else{k[d>>2]=k[a>>2];k[o>>2]=(k[o>>2]|0)+4}f=f+1|0;if(f>>>0>=h>>>0)break d;a=k[g>>2]|0}}while(0);f=k[L>>2]|0;a=f;if(f|0){d=k[o>>2]|0;if((d|0)!=(f|0))k[o>>2]=d+(~((d+-4-a|0)>>>2)<<2);uha(f)}b=b+4|0;if((b|0)==(k[N>>2]|0))break b}if((p|0)==61){a=mb()|0;break}else if((p|0)==62){a=mb()|0;break}}else{e:while(1){f=k[b>>2]|0;k[L>>2]=0;k[o>>2]=0;k[l>>2]=0;x=0;f=xa(62,f|0,n|0,c|0)|0;e=x;x=0;if(e&1){p=68;break}a=k[f+72>>2]|0;h=(k[f+76>>2]|0)-a>>2;f:do if(h|0){g=f+72|0;f=0;while(1){a=a+(f<<2)|0;d=k[o>>2]|0;if((d|0)==(k[m>>2]|0)){x=0;sa(447,L|0,a|0);e=x;x=0;if(e&1){p=67;break e}}else{k[d>>2]=k[a>>2];k[o>>2]=(k[o>>2]|0)+4}f=f+1|0;if(f>>>0>=h>>>0)break f;a=k[g>>2]|0}}while(0);x=0;Qa(133,j|0,k[L>>2]|0,k[o>>2]|0);e=x;x=0;if(e&1){p=68;break}f=k[L>>2]|0;a=f;if(f|0){d=k[o>>2]|0;if((d|0)!=(f|0))k[o>>2]=d+(~((d+-4-a|0)>>>2)<<2);uha(f)}b=b+4|0;if((b|0)==(k[N>>2]|0))break b}if((p|0)==67){a=mb()|0;break}else if((p|0)==68){a=mb()|0;break}}while(0);b=k[L>>2]|0;if(!b)break a;f=k[o>>2]|0;if((f|0)!=(b|0))k[o>>2]=f+(~((f+-4-b|0)>>>2)<<2);uha(b);break a}while(0);x=0;sa(451,K|0,c+36|0);L=x;x=0;if(L&1){p=11;break}x=0;b=Ka(k[(k[n>>2]|0)+40>>2]|0,n|0,K|0)|0;L=x;x=0;if(L&1){a=mb()|0;break}else{p=87;break}}else if((p|0)==10){b=mb()|0;p=12;break}else if((p|0)==18){b=mb()|0;P1(J);P1(u);D2(t);p=21}else if((p|0)==19)b=mb()|0;else if((p|0)==20){b=mb()|0;p=21}else if((p|0)==28){a=mb()|0;p=30}else if((p|0)==29){a=mb()|0;P1(F);p=30}else if((p|0)==41){a=mb()|0;P1(G);break}else if((p|0)==42){a=mb()|0;P1(H);break}if((p|0)!=21)if((p|0)==30){k[I>>2]=8216;k[A>>2]=8256;k[v>>2]=8236;k[t>>2]=8272;P1(u);D2(t);P9(A);break}P9(A);p=12}while(0);if((p|0)==43){b=c+36|0;x=0;f=Ka(856,b|0,56)|0;L=x;x=0;if(L&1)p=11;else{w=J;y=e;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));k[f+4>>2]=0;w=f+8|0;y=J;z=w+40|0;do{k[w>>2]=k[y>>2];w=w+4|0;y=y+4|0}while((w|0)<(z|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;k[f>>2]=6380;k[f+52>>2]=8;x=0;b=Ka(857,b|0,f|0)|0;L=x;x=0;if(L&1)p=11;else p=87}}if((p|0)==11){b=mb()|0;p=12}else if((p|0)==87){f=k[O>>2]|0;if(!f){r=M;return b|0}a=k[N>>2]|0;if((a|0)!=(f|0))k[N>>2]=a+(~((a+-4-f|0)>>>2)<<2);uha(f);r=M;return b|0}if((p|0)==12)a=b;b=k[O>>2]|0;if(!b){O=a;yb(O|0)}f=k[N>>2]|0;if((f|0)!=(b|0))k[N>>2]=f+(~((f+-4-b|0)>>>2)<<2);uha(b);O=a;yb(O|0);return 0}function fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;v=0;B=r;r=r+96|0;d=B+60|0;C=B+72|0;f=B+48|0;s=B+36|0;t=B+24|0;u=B+12|0;A=B;lE(a,78097,0);if((k[c>>2]&-249|0)>0){x=0;sa(430,d|0,c+24|0);z=x;x=0;if(!(z&1))v=4}else{x=0;Qa(74,d|0,78097,0);z=x;x=0;if(!(z&1))v=4}if((v|0)==4){z=i[d>>0]|0;y=(z&1)==0;x=0;xa(46,a|0,(y?d+1|0:k[d+8>>2]|0)|0,(y?(z&255)>>>1:k[d+4>>2]|0)|0)|0;z=x;x=0;if(z&1){C=mb()|0;P1(d);P1(a);yb(C|0)}P1(d);q=c+24|0;x=0;Ka(874,q|0,78097)|0;z=x;x=0;if(!(z&1)){d=i[b>>0]|0;p=(d&1)==0;w=b+8|0;y=b+4|0;z=b+1|0;e=p?z:k[w>>2]|0;d=e+(p?(d&255)>>>1:k[y>>2]|0)|0;do{if((d|0)==(e|0)){v=96;break}d=d+-1|0;p=i[d>>0]|0}while((p&255)<16&(1<<(p&255)&9216)!=0);if((v|0)==96){r=B;return}d=d-e|0;if((d|0)==-1){r=B;return}d=d+1|0;x=0;qa(4,C|0,b|0,d|0,-1,b|0);p=x;x=0;if(!(p&1)){x=0;qa(4,f|0,b|0,0,d|0,b|0);p=x;x=0;a:do if(p&1)v=55;else{if(!(i[b>>0]&1)){i[z>>0]=0;i[b>>0]=0}else{i[k[w>>2]>>0]=0;k[y>>2]=0}x=0;sa(443,b|0,0);p=x;x=0;if(p&1){p=Eb(0)|0;Nba(p)}k[b>>2]=k[f>>2];k[b+4>>2]=k[f+4>>2];k[b+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;P1(f);o=0;m=0;j=0;p=0;n=0;b:while(1){e=i[b>>0]|0;g=(e&1)==0;h=g?z:k[w>>2]|0;e=g?(e&255)>>>1:k[y>>2]|0;g=h+e|0;f=h;if(e>>>0<=j>>>0)break;d=h+j|0;c:do if((e|0)!=(j|0))while(1){switch(i[d>>0]|0){case 41:case 40:case 42:case 92:case 47:case 39:case 34:break c;default:{}}d=d+1|0;if((d|0)==(g|0))break b}while(0);f=d-f|0;if((d|0)==(g|0)|(f|0)==-1)break;x=0;e=Ka(905,b|0,f|0)|0;j=x;x=0;if(j&1){v=54;break}e=i[e>>0]|0;d:do switch(e<<24>>24){case 40:{if(n){h=o;e=m;g=p;d=1}else{h=o;e=(o&1^1)+m|0;g=p;d=0}break}case 41:{if(n){h=o;e=m;g=p;d=1}else{h=o;e=((o^1)<<31>>31)+m|0;g=p;d=0}break}case 34:{if(o){h=1;e=m;g=p;d=n}else{h=0;e=m;g=p;d=n^(p^1)}break}case 39:{if(n){h=o;e=m;g=p;d=1}else{h=o^(p^1);e=m;g=p;d=0}break}default:{d=(d|0)!=(h|0);if(!(d&e<<24>>24==47)){if(e<<24>>24==92){h=o;e=m;f=f+((n|o)&1)|0;g=p;d=n;break d}if(!(d&e<<24>>24==42)){h=o;e=m;g=p;d=n;break d}x=0;d=Ka(905,b|0,f+-1|0)|0;j=x;x=0;if(j&1){v=54;break b}if((i[d>>0]|0)!=47){h=o;e=m;g=p;d=n;break d}h=o;e=m;g=p|(n|o)^1;d=n;break d}e=f+-1|0;x=0;d=Ka(905,b|0,e|0)|0;j=x;x=0;if(j&1){v=54;break b}if((i[d>>0]|0)==42){h=o;e=m;g=0;d=n}else{x=0;d=Ka(905,b|0,e|0)|0;j=x;x=0;if(j&1){v=54;break b}if((i[d>>0]|0)!=47){h=o;e=m;g=p;d=n;break d}if(n){h=o;e=m;g=p;d=1;break d}if(o){h=1;e=m;g=p;d=0;break d}if((m|0)==0&(p^1)){v=50;break b}else{h=0;e=m;g=p;d=0}}}}while(0);j=f+1|0;if((j|0)==-1)break;else{o=h;m=e;p=g;n=d}}if((v|0)==54){d=mb()|0;v=56;break}do if((v|0)==50){if(k[c>>2]&128|0)if(!(KH(c+8|0,78097)|0)){x=0;d=Ka(905,b|0,f|0)|0;p=x;x=0;if(p&1){v=55;break a}i[d>>0]=42;x=0;Ka(866,b|0,43498)|0;p=x;x=0;if(p&1){v=55;break a}}if(!e)d=0;else{d=i[b>>0]|0;h=(d&1)==0;j=h?z:k[w>>2]|0;d=h?(d&255)>>>1:k[y>>2]|0;h=i[72224]|0;p=(h&1)==0;g=p?72225:k[18058]|0;h=p?(h&255)>>>1:k[18057]|0;d=j+(d>>>0>(f+-2|0)>>>0?e:d)|0;while(1){if((d|0)==(j|0)){d=-1;break}d=d+-1|0;if(!(mw(g,l[d>>0]|0,h)|0)){v=61;break}}if((v|0)==61)d=d-j|0;d=d+1|0}do if(!(k[c>>2]&64)){x=0;qa(4,s|0,b|0,d|0,-1,b|0);p=x;x=0;if(p&1){v=55;break a}p=i[s>>0]|0;o=(p&1)==0;x=0;xa(46,q|0,(o?s+1|0:k[s+8>>2]|0)|0,(o?(p&255)>>>1:k[s+4>>2]|0)|0)|0;p=x;x=0;if(p&1){d=mb()|0;P1(s);break a}else{P1(s);break}}while(0);x=0;qa(4,t|0,b|0,0,d|0,b|0);s=x;x=0;if(s&1){v=55;break a}if(!(i[b>>0]&1)){i[z>>0]=0;i[b>>0]=0}else{i[k[w>>2]>>0]=0;k[y>>2]=0}x=0;sa(443,b|0,0);s=x;x=0;if(s&1){t=Eb(0)|0;Nba(t)}else{k[b>>2]=k[t>>2];k[b+4>>2]=k[t+4>>2];k[b+8>>2]=k[t+8>>2];k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;P1(t);break}}while(0);k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;t=i[C>>0]|0;s=(t&1)==0;t=s?(t&255)>>>1:k[C+4>>2]|0;x=0;Ua(10,u|0,(s?C+1|0:k[C+8>>2]|0)|0,t|0,t+1|0);t=x;x=0;if(!(t&1)){x=0;xa(46,u|0,43502,1)|0;t=x;x=0;if(!(t&1)){t=i[u>>0]|0;s=(t&1)==0;x=0;xa(46,q|0,(s?u+1|0:k[u+8>>2]|0)|0,(s?(t&255)>>>1:k[u+4>>2]|0)|0)|0;t=x;x=0;if(t&1){d=mb()|0;P1(u);break}P1(u);e:do if(!(k[c>>2]&-249)){d=i[b>>0]|0;g=(d&1)==0;h=g?z:k[w>>2]|0;d=g?(d&255)>>>1:k[y>>2]|0;g=i[72224]|0;v=(g&1)==0;f=v?72225:k[18058]|0;g=v?(g&255)>>>1:k[18057]|0;if(d|0){e=h+d|0;d=h;while(1){if(!(mw(f,l[d>>0]|0,g)|0))break;d=d+1|0;if((d|0)==(e|0))break e}d=d-h|0;if((d|0)!=-1){x=0;qa(4,A|0,b|0,d|0,-1,b|0);v=x;x=0;if(v&1){v=55;break a}if(!(i[b>>0]&1)){i[z>>0]=0;i[b>>0]=0}else{i[k[w>>2]>>0]=0;k[y>>2]=0}x=0;sa(443,b|0,0);v=x;x=0;if(v&1){A=Eb(0)|0;Nba(A)}else{k[b>>2]=k[A>>2];k[b+4>>2]=k[A+4>>2];k[b+8>>2]=k[A+8>>2];k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;P1(A);break}}}}while(0);b=i[b>>0]|0;A=(b&1)==0;x=0;xa(46,a|0,(A?z:k[w>>2]|0)|0,(A?(b&255)>>>1:k[y>>2]|0)|0)|0;b=x;x=0;if(b&1){v=55;break}P1(C);r=B;return}}d=mb()|0;P1(u);v=56}while(0);if((v|0)==55){d=mb()|0;v=56}P1(C);C=d;P1(a);yb(C|0)}}}C=mb()|0;P1(a);yb(C|0)}function ge(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;G=0;L=r;r=r+208|0;K=L+8|0;E=L+192|0;D=L+168|0;F=L+104|0;e=L+180|0;h=L+156|0;j=L+144|0;z=L+92|0;A=L+80|0;B=L+68|0;C=L+56|0;I=L;J=L+48|0;c=Ef(a)|0;w=a+40|0;b=(k[w>>2]|0)+36|0;d=lD(b,84)|0;H=a+108|0;n=K;o=H;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[d+4>>2]=0;n=d+8|0;o=K;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+60>>2]=0;k[d+64>>2]=0;k[d+68>>2]=0;k[d>>2]=4992;k[d+56>>2]=5104;k[d+76>>2]=2;i[d+80>>0]=0;i[d+81>>0]=0;k[d+52>>2]=5;y=N4(b,d)|0;do if(!c)c=0;else{f=Ot(c,64,448,0)|0;if(f)if(!(i[f+57>>0]|0))if(!(i[f+48>>0]|0)){g=f+60|0;_G(e,g);x=0;d=ua(212,e|0)|0;v=x;x=0;if(v&1){L=mb()|0;P1(e);yb(L|0)}P1(e);if(d){b=(k[w>>2]|0)+36|0;c=lD(b,104)|0;k[c+4>>2]=k[d+4>>2];k[c>>2]=4748;n=c+8|0;o=d+8|0;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[c>>2]=6736;t=d+48|0;u=k[t+4>>2]|0;v=c+48|0;k[v>>2]=k[t>>2];k[v+4>>2]=u;k[c>>2]=5580;v=c+56|0;u=d+56|0;k[v>>2]=k[u>>2];k[v+4>>2]=k[u+4>>2];k[v+8>>2]=k[u+8>>2];k[v+12>>2]=k[u+12>>2];k[v+16>>2]=k[u+16>>2];k[v+20>>2]=k[u+20>>2];k[v+24>>2]=k[u+24>>2];k[v+28>>2]=k[u+28>>2];_G(c+88|0,d+88|0);k[c+100>>2]=k[d+100>>2];c=N4(b,c)|0;VH(c+8|0,f+8|0,40)|0;_G(j,g);x=0;b=Ka(854,c+88|0,j|0)|0;v=x;x=0;if(!(v&1)){x=0;sa(430,h|0,b|0);v=x;x=0;if(!(v&1)){P1(h);P1(j);break}}L=mb()|0;P1(j);yb(L|0)}}}while(0);s=a+152|0;k[K>>2]=k[s>>2];k[K+4>>2]=k[s+4>>2];k[K+8>>2]=k[s+8>>2];t=a+76|0;b=k[t>>2]|0;u=a+84|0;k[E>>2]=k[u>>2];k[E+4>>2]=k[u+4>>2];k[E+8>>2]=k[u+8>>2];v=a+96|0;k[D>>2]=k[v>>2];k[D+4>>2]=k[v+4>>2];k[D+8>>2]=k[v+8>>2];n=F;o=H;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Bt(a,1,0)|0;if(!(Wq(a,1,0)|0)){n=H;o=F;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[s>>2]=k[K>>2];k[s+4>>2]=k[K+4>>2];k[s+8>>2]=k[K+8>>2];k[t>>2]=b;k[v>>2]=k[D>>2];k[v+4>>2]=k[D+4>>2];k[v+8>>2]=k[D+8>>2];k[u>>2]=k[E>>2];k[u+4>>2]=k[E+4>>2];k[u+8>>2]=k[E+8>>2];K=c;r=L;return K|0}f=ki(a)|0;q=y+56|0;k[K>>2]=c;b=c;if(c|0){k[y+72>>2]=0;d=y+64|0;e=k[d>>2]|0;if((e|0)==(k[y+68>>2]|0))uw(y+60|0,K);else{k[e>>2]=b;k[d>>2]=(k[d>>2]|0)+4}rc[k[k[q>>2]>>2]&1023](q,c)}k[K>>2]=f;b=f;if(f|0){k[y+72>>2]=0;c=y+64|0;d=k[c>>2]|0;if((d|0)==(k[y+68>>2]|0))uw(y+60|0,K);else{k[d>>2]=b;k[c>>2]=(k[c>>2]|0)+4}rc[k[k[q>>2]>>2]&1023](q,f)}k[K>>2]=k[s>>2];k[K+4>>2]=k[s+4>>2];k[K+8>>2]=k[s+8>>2];b=k[t>>2]|0;k[E>>2]=k[u>>2];k[E+4>>2]=k[u+4>>2];k[E+8>>2]=k[u+8>>2];k[D>>2]=k[v>>2];k[D+4>>2]=k[v+4>>2];k[D+8>>2]=k[v+8>>2];n=F;o=H;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Bt(a,1,0)|0;a:do if(!(Zq(a,1,0)|0))G=26;else{g=a+80|0;h=y+72|0;j=y+64|0;l=y+68|0;m=y+60|0;while(1){b=LD(k[t>>2]|0)|0;if((b|0)==0?1:b>>>0>(k[g>>2]|0)>>>0)b=k[t>>2]|0;p=bO(b)|0;p=p|0?p:b;p=(i[p>>0]|0)==41?p+1|0:0;if(!((p|0)==0?1:p>>>0>(k[g>>2]|0)>>>0))break a;b=Ef(a)|0;if(!b)b=0;else{e=Ot(b,64,448,0)|0;if(e)if(!(i[e+57>>0]|0))if(!(i[e+48>>0]|0)){f=e+60|0;_G(z,f);x=0;d=ua(212,z|0)|0;p=x;x=0;if(p&1){G=39;break}P1(z);if(d){b=(k[w>>2]|0)+36|0;c=lD(b,104)|0;k[c+4>>2]=k[d+4>>2];k[c>>2]=4748;n=c+8|0;o=d+8|0;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[c>>2]=6736;n=d+48|0;o=k[n+4>>2]|0;p=c+48|0;k[p>>2]=k[n>>2];k[p+4>>2]=o;k[c>>2]=5580;p=c+56|0;o=d+56|0;k[p>>2]=k[o>>2];k[p+4>>2]=k[o+4>>2];k[p+8>>2]=k[o+8>>2];k[p+12>>2]=k[o+12>>2];k[p+16>>2]=k[o+16>>2];k[p+20>>2]=k[o+20>>2];k[p+24>>2]=k[o+24>>2];k[p+28>>2]=k[o+28>>2];_G(c+88|0,d+88|0);k[c+100>>2]=k[d+100>>2];c=N4(b,c)|0;VH(c+8|0,e+8|0,40)|0;_G(B,f);x=0;b=Ka(854,c+88|0,B|0)|0;p=x;x=0;if(p&1){G=40;break}x=0;sa(430,A|0,b|0);p=x;x=0;if(p&1){G=40;break}P1(A);P1(B);b=c}}}if(!(Wq(a,1,0)|0)){lE(C,40195,14);x=0;k[K>>2]=k[H>>2];k[K+4>>2]=k[H+4>>2];k[K+8>>2]=k[H+8>>2];Qa(135,a|0,C|0,K|0);p=x;x=0;if(p&1){G=44;break}P1(C)}e=ki(a)|0;k[K>>2]=b;c=b;if(b|0){k[h>>2]=0;d=k[j>>2]|0;if((d|0)==(k[l>>2]|0))uw(m,K);else{k[d>>2]=c;k[j>>2]=(k[j>>2]|0)+4}rc[k[k[q>>2]>>2]&1023](q,b)}k[K>>2]=e;b=e;if(e|0){k[h>>2]=0;c=k[j>>2]|0;if((c|0)==(k[l>>2]|0))uw(m,K);else{k[c>>2]=b;k[j>>2]=(k[j>>2]|0)+4}rc[k[k[q>>2]>>2]&1023](q,e)}k[K>>2]=k[s>>2];k[K+4>>2]=k[s+4>>2];k[K+8>>2]=k[s+8>>2];b=k[t>>2]|0;k[E>>2]=k[u>>2];k[E+4>>2]=k[u+4>>2];k[E+8>>2]=k[u+8>>2];k[D>>2]=k[v>>2];k[D+4>>2]=k[v+4>>2];k[D+8>>2]=k[v+8>>2];n=F;o=H;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Bt(a,1,0)|0;if(!(Zq(a,1,0)|0)){G=26;break a}}if((G|0)==39){L=mb()|0;P1(z);yb(L|0)}else if((G|0)==40){L=mb()|0;P1(B);yb(L|0)}else if((G|0)==44){L=mb()|0;P1(C);yb(L|0)}}while(0);if((G|0)==26){n=H;o=F;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[s>>2]=k[K>>2];k[s+4>>2]=k[K+4>>2];k[s+8>>2]=k[K+8>>2];k[t>>2]=b;k[v>>2]=k[D>>2];k[v+4>>2]=k[D+4>>2];k[v+8>>2]=k[D+8>>2];k[u>>2]=k[E>>2];k[u+4>>2]=k[E+4>>2];k[u+8>>2]=k[E+8>>2]}b=y+8|0;n=K;o=b;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));fJ(J,H,K);qK(I,J,a+128|0);J=k[I+4>>2]|0;a=K+20|0;k[a>>2]=k[I>>2];k[a+4>>2]=J;VH(b|0,K|0,40)|0;K=y;r=L;return K|0}function he(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=0;G=r;r=r+224|0;F=G+176|0;E=G+168|0;C=G;u=G+140|0;p=G+124|0;g=G+156|0;h=G+144|0;l=G+128|0;q=G+112|0;w=G+88|0;H=G+100|0;y=G+76|0;z=G+64|0;A=G+52|0;B=G+40|0;lE(g,38104,6);x=0;b=Ka(867,a|0,g|0)|0;v=x;x=0;if(v&1){H=mb()|0;P1(g);yb(H|0)}b=k[b>>2]|0;if(!b)j=0;else j=Ot(b,8,256,0)|0;P1(g);lE(h,38111,6);x=0;b=Ka(867,a|0,h|0)|0;v=x;x=0;if(v&1){H=mb()|0;P1(h);yb(H|0)}b=k[b>>2]|0;if(!b)o=0;else o=Ot(b,8,256,0)|0;P1(h);lE(l,38118,10);x=0;h=F;s=e;t=h+40|0;do{k[h>>2]=k[s>>2];h=h+4|0;s=s+4|0}while((h|0)<(t|0));v=wa(25,l|0,a|0,d|0,F|0,f|0)|0;t=x;x=0;if(t&1){H=mb()|0;P1(l);yb(H|0)}P1(l);a:do if(!j){g=c+36|0;b=lD(g,84)|0;k[b+4>>2]=0;h=b+8|0;s=e;t=h+40|0;do{k[h>>2]=k[s>>2];h=h+4|0;s=s+4|0}while((h|0)<(t|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;n=b+52|0;k[n>>2]=0;k[b>>2]=10312;h=b+56|0;k[h>>2]=5132;j=b+60|0;k[j>>2]=0;m=b+64|0;k[m>>2]=0;s=b+68|0;k[s>>2]=0;t=GG(4)|0;l=t;k[j>>2]=l;k[m>>2]=l;k[s>>2]=t+4;k[b>>2]=4992;k[h>>2]=5104;k[b+76>>2]=1;i[b+80>>0]=0;i[b+81>>0]=0;k[n>>2]=5;n=N4(g,b)|0;lE(q,38104,6);x=0;h=F;s=e;t=h+40|0;do{k[h>>2]=k[s>>2];h=h+4|0;s=s+4|0}while((h|0)<(t|0));b=wa(27,q|0,a|0,d|0,F|0,f|0)|0;t=x;x=0;do if(!(t&1)){h=n+56|0;k[p>>2]=b;j=b;if(b|0){k[n+72>>2]=0;l=n+64|0;m=k[l>>2]|0;if((m|0)==(k[n+68>>2]|0)){x=0;sa(455,n+60|0,p|0);t=x;x=0;if(t&1)break}else{k[m>>2]=j;k[l>>2]=(k[l>>2]|0)+4}x=0;sa(k[k[h>>2]>>2]|0,h|0,b|0);t=x;x=0;if(t&1)break}P1(q);if(!o){o=1;D=23;break a}a=n;w=o;g=k[o+76>>2]|0;break a}while(0);H=mb()|0;P1(q);yb(H|0)}else{b=k[j+76>>2]|0;if(!o){g=c+36|0;n=j;o=b;D=23}else{a=j;w=o;g=b}}while(0);b:do if((D|0)==23){b=lD(g,84)|0;k[b+4>>2]=0;h=b+8|0;s=e;t=h+40|0;do{k[h>>2]=k[s>>2];h=h+4|0;s=s+4|0}while((h|0)<(t|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;m=b+52|0;k[m>>2]=0;k[b>>2]=10312;h=b+56|0;k[h>>2]=5132;l=b+60|0;k[l>>2]=0;q=b+64|0;k[q>>2]=0;s=b+68|0;k[s>>2]=0;t=GG(4)|0;p=t;k[l>>2]=p;k[q>>2]=p;k[s>>2]=t+4;k[b>>2]=4992;k[h>>2]=5104;k[b+76>>2]=1;i[b+80>>0]=0;i[b+81>>0]=0;k[m>>2]=5;m=N4(g,b)|0;lE(w,38111,6);x=0;h=F;s=e;t=h+40|0;do{k[h>>2]=k[s>>2];h=h+4|0;s=s+4|0}while((h|0)<(t|0));b=wa(27,w|0,a|0,d|0,F|0,f|0)|0;a=x;x=0;do if(!(a&1)){g=m+56|0;k[u>>2]=b;h=b;if(b|0){k[m+72>>2]=0;j=m+64|0;l=k[j>>2]|0;if((l|0)==(k[m+68>>2]|0)){x=0;sa(455,m+60|0,u|0);u=x;x=0;if(u&1)break}else{k[l>>2]=h;k[j>>2]=(k[j>>2]|0)+4}x=0;sa(k[k[g>>2]>>2]|0,g|0,b|0);u=x;x=0;if(u&1)break}P1(w);a=n;w=m;g=o;break b}while(0);H=mb()|0;P1(w);yb(H|0)}while(0);f=a+56|0;u=w+56|0;q=((k[w+64>>2]|0)-(k[w+60>>2]|0)>>2)+((k[a+64>>2]|0)-(k[a+60>>2]|0)>>2)|0;_G(y,v+60|0);x=0;Ua(11,H|0,y|0,0,0);v=x;x=0;if(v&1){H=mb()|0;P1(y);yb(H|0)}P1(y);c:do if(!(KH(H,38129)|0)){p=1;D=50}else if(!(KH(H,38135)|0)){p=0;D=50}else if(!(KH(H,38141)|0)){p=g;D=50}else{y=OD(d)|0;x=0;Qa(74,B|0,d|0,y|0);d=x;x=0;if(d&1)D=43;else{x=0;b=xa(50,B|0,0,38146)|0;d=x;x=0;if(d&1)b=mb()|0;else{k[A>>2]=k[b>>2];k[A+4>>2]=k[b+4>>2];k[A+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,A|0,38173)|0;d=x;x=0;do if(d&1)b=mb()|0;else{k[z>>2]=k[b>>2];k[z+4>>2]=k[b+4>>2];k[z+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;h=F;s=e;t=h+40|0;do{k[h>>2]=k[s>>2];h=h+4|0;s=s+4|0}while((h|0)<(t|0));sa(438,z|0,F|0);d=x;x=0;if(d&1){b=mb()|0;P1(z);break}else{P1(z);P1(A);P1(B);p=g;D=50;break c}}while(0);P1(A)}P1(B)}}while(0);d:do if((D|0)==50){n=c+36|0;x=0;o=Ka(856,n|0,84)|0;D=x;x=0;if(D&1)D=43;else{h=C;s=e;t=h+40|0;do{k[h>>2]=k[s>>2];h=h+4|0;s=s+4|0}while((h|0)<(t|0));k[o+4>>2]=0;h=o+8|0;s=C;t=h+40|0;do{k[h>>2]=k[s>>2];h=h+4|0;s=s+4|0}while((h|0)<(t|0));i[o+48>>0]=0;i[o+49>>0]=0;i[o+50>>0]=0;b=o+52|0;k[b>>2]=0;k[o>>2]=10312;g=o+56|0;k[g>>2]=5132;h=o+60|0;k[h>>2]=0;j=o+64|0;k[j>>2]=0;l=o+68|0;k[l>>2]=0;if(q|0){x=0;m=ua(186,q<<2|0)|0;D=x;x=0;if(D&1){D=43;break}D=m;k[h>>2]=D;k[j>>2]=D;k[l>>2]=m+(q<<2)}k[o>>2]=4992;k[g>>2]=5104;k[o+76>>2]=p;i[o+80>>0]=0;i[o+81>>0]=0;k[b>>2]=5;x=0;t=Ka(857,n|0,o|0)|0;D=x;x=0;if(D&1)D=43;else{s=t+56|0;b=(a|0)==0?0:f;g=k[b+4>>2]|0;q=(k[b+8>>2]|0)-g>>2;e:do if(q|0){l=b+4|0;m=t+72|0;n=t+64|0;o=t+68|0;p=t+60|0;b=0;while(1){g=k[g+(b<<2)>>2]|0;k[E>>2]=g;h=g;if(g|0){k[m>>2]=0;j=k[n>>2]|0;if((j|0)==(k[o>>2]|0)){x=0;sa(455,p|0,E|0);D=x;x=0;if(D&1)break}else{k[j>>2]=h;k[n>>2]=(k[n>>2]|0)+4}x=0;sa(k[k[s>>2]>>2]|0,s|0,g|0);D=x;x=0;if(D&1)break}b=b+1|0;if((b|0)==(q|0))break e;g=k[l>>2]|0}b=mb()|0;D=44;break d}while(0);b=(w|0)==0?0:u;g=k[b+4>>2]|0;q=(k[b+8>>2]|0)-g>>2;if(!q){P1(H);r=G;return t|0}l=b+4|0;m=t+72|0;n=t+64|0;o=t+68|0;p=t+60|0;b=0;while(1){g=k[g+(b<<2)>>2]|0;k[F>>2]=g;h=g;if(g|0){k[m>>2]=0;j=k[n>>2]|0;if((j|0)==(k[o>>2]|0)){x=0;sa(455,p|0,F|0);E=x;x=0;if(E&1){D=41;break}}else{k[j>>2]=h;k[n>>2]=(k[n>>2]|0)+4}x=0;sa(k[k[s>>2]>>2]|0,s|0,g|0);E=x;x=0;if(E&1){D=41;break}}b=b+1|0;if((b|0)==(q|0)){D=73;break}g=k[l>>2]|0}if((D|0)==41){b=mb()|0;D=44;break}else if((D|0)==73){P1(H);r=G;return t|0}}}}while(0);if((D|0)==43){b=mb()|0;D=44}P1(H);H=b;yb(H|0);return 0}function ie(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=0;G=r;r=r+288|0;E=G+240|0;D=G+220|0;A=G+192|0;q=G+188|0;g=G+224|0;h=G+208|0;j=G+196|0;l=G+168|0;m=G+176|0;s=G+144|0;t=G+104|0;I=G+156|0;u=G+92|0;v=G+80|0;w=G+68|0;y=G+56|0;B=G+16|0;F=G;lE(g,37980,5);x=0;b=Ka(867,a|0,g|0)|0;C=x;x=0;if(C&1){I=mb()|0;P1(g);yb(I|0)}b=k[b>>2]|0;if(!b)b=0;else b=Ot(b,8,256,0)|0;P1(g);lE(h,38211,4);x=0;g=E;n=e;p=g+40|0;do{k[g>>2]=k[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(p|0));C=wa(27,h|0,a|0,d|0,E|0,f|0)|0;z=x;x=0;if(z&1){I=mb()|0;P1(h);yb(I|0)}P1(h);lE(j,37980,5);x=0;g=Ka(867,a|0,j|0)|0;z=x;x=0;if(z&1){I=mb()|0;P1(j);yb(I|0)}g=k[g>>2]|0;if(!g)P1(j);else{g=Ot(g,8,160,0)|0;P1(j);if(g){Z2(l,c+36|0);x=0;b=Ka(k[(k[g>>2]|0)+40>>2]|0,g|0,l|0)|0;z=x;x=0;if(z&1){I=mb()|0;yb(I|0)}if(!b)b=0;else b=Ot(b,64,256,0)|0}}lE(m,38118,10);x=0;g=E;n=e;p=g+40|0;do{k[g>>2]=k[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(p|0));o=wa(25,m|0,a|0,d|0,E|0,f|0)|0;z=x;x=0;if(z&1){I=mb()|0;P1(m);yb(I|0)}P1(m);z=c+36|0;a:do if(!b){b=lD(z,84)|0;k[b+4>>2]=0;g=b+8|0;n=e;p=g+40|0;do{k[g>>2]=k[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(p|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;m=b+52|0;k[m>>2]=0;k[b>>2]=10312;g=b+56|0;k[g>>2]=5132;j=b+60|0;k[j>>2]=0;c=b+64|0;k[c>>2]=0;n=b+68|0;k[n>>2]=0;p=GG(4)|0;l=p;k[j>>2]=l;k[c>>2]=l;k[n>>2]=p+4;k[b>>2]=4992;k[g>>2]=5104;k[b+76>>2]=1;i[b+80>>0]=0;i[b+81>>0]=0;k[m>>2]=5;m=N4(z,b)|0;lE(s,37980,5);x=0;g=E;n=e;p=g+40|0;do{k[g>>2]=k[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(p|0));b=wa(27,s|0,a|0,d|0,E|0,f|0)|0;p=x;x=0;do if(!(p&1)){g=m+56|0;k[q>>2]=b;h=b;if(b|0){k[m+72>>2]=0;j=m+64|0;l=k[j>>2]|0;if((l|0)==(k[m+68>>2]|0)){x=0;sa(455,m+60|0,q|0);q=x;x=0;if(q&1)break}else{k[l>>2]=h;k[j>>2]=(k[j>>2]|0)+4}x=0;sa(k[k[g>>2]>>2]|0,g|0,b|0);q=x;x=0;if(q&1)break}P1(s);s=m;break a}while(0);I=mb()|0;P1(s);yb(I|0)}else s=b;while(0);f=lD(z,84)|0;g=t;n=e;p=g+40|0;do{k[g>>2]=k[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(p|0));a=s+56|0;m=((k[s+64>>2]|0)-(k[s+60>>2]|0)>>2)+1|0;c=k[s+76>>2]|0;k[f+4>>2]=0;g=f+8|0;n=t;p=g+40|0;do{k[g>>2]=k[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(p|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;b=f+52|0;k[b>>2]=0;k[f>>2]=10312;g=f+56|0;k[g>>2]=5132;h=f+60|0;k[h>>2]=0;j=f+64|0;k[j>>2]=0;l=f+68|0;k[l>>2]=0;if(m|0){t=GG(m<<2)|0;q=t;k[h>>2]=q;k[j>>2]=q;k[l>>2]=t+(m<<2)}k[f>>2]=4992;k[g>>2]=5104;k[f+76>>2]=c;i[f+80>>0]=0;i[f+81>>0]=0;k[b>>2]=5;q=N4(z,f)|0;_G(u,o+60|0);x=0;Ua(11,I|0,u|0,0,0);t=x;x=0;if(t&1){I=mb()|0;P1(u);yb(I|0)}P1(u);b:do if(!(KH(I,38129)|0)){k[q+76>>2]=1;H=50}else{if(!(KH(I,38135)|0)){k[q+76>>2]=0;H=50;break}if(!(KH(I,38141)|0))H=50;else{u=OD(d)|0;x=0;Qa(74,y|0,d|0,u|0);d=x;x=0;if(d&1)H=35;else{x=0;b=xa(50,y|0,0,38146)|0;d=x;x=0;if(d&1)b=mb()|0;else{k[w>>2]=k[b>>2];k[w+4>>2]=k[b+4>>2];k[w+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,w|0,38173)|0;d=x;x=0;do if(d&1)b=mb()|0;else{k[v>>2]=k[b>>2];k[v+4>>2]=k[b+4>>2];k[v+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;g=E;n=e;p=g+40|0;do{k[g>>2]=k[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(p|0));sa(438,v|0,E|0);e=x;x=0;if(e&1){b=mb()|0;P1(v);break}else{P1(v);P1(w);P1(y);H=50;break b}}while(0);P1(w)}P1(y)}}}while(0);c:do if((H|0)==50){o=q+56|0;b=(s|0)==0?0:a;g=k[b+4>>2]|0;n=(k[b+8>>2]|0)-g>>2;d:do if(n|0){l=b+4|0;m=q+72|0;c=q+64|0;f=q+68|0;a=q+60|0;b=0;while(1){g=k[g+(b<<2)>>2]|0;k[A>>2]=g;h=g;if(g|0){k[m>>2]=0;j=k[c>>2]|0;if((j|0)==(k[f>>2]|0)){x=0;sa(455,a|0,A|0);y=x;x=0;if(y&1)break}else{k[j>>2]=h;k[c>>2]=(k[c>>2]|0)+4}x=0;sa(k[k[o>>2]>>2]|0,o|0,g|0);y=x;x=0;if(y&1)break}b=b+1|0;if((b|0)==(n|0))break d;g=k[l>>2]|0}b=mb()|0;H=36;break c}while(0);A=i[s+80>>0]|0;i[q+80>>0]=A;if(!(A<<24>>24)){k[D>>2]=C;b=C;if(C|0){k[q+72>>2]=0;g=q+64|0;h=k[g>>2]|0;if((h|0)==(k[q+68>>2]|0)){x=0;sa(455,q+60|0,D|0);H=x;x=0;if(H&1){H=35;break}}else{k[h>>2]=b;k[g>>2]=(k[g>>2]|0)+4}x=0;sa(k[k[o>>2]>>2]|0,o|0,C|0);H=x;x=0;if(H&1){H=35;break}}P1(I);r=G;return q|0}x=0;b=Ka(856,z|0,80)|0;D=x;x=0;if(D&1)H=35;else{g=B;n=C+8|0;p=g+40|0;do{k[g>>2]=k[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(p|0));x=0;Qa(74,F|0,78097,0);D=x;x=0;if(D&1)H=35;else{k[b+4>>2]=0;g=b+8|0;n=B;p=g+40|0;do{k[g>>2]=k[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(p|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;k[b+52>>2]=0;k[b>>2]=8476;k[b+56>>2]=C;x=0;sa(430,b+60|0,F|0);D=x;x=0;if(D&1)b=mb()|0;else{i[b+72>>0]=0;i[b+73>>0]=0;k[b+76>>2]=0;x=0;b=Ka(857,z|0,b|0)|0;D=x;x=0;do if(!(D&1)){k[E>>2]=b;g=b;if(b|0){k[q+72>>2]=0;h=q+64|0;j=k[h>>2]|0;if((j|0)==(k[q+68>>2]|0)){x=0;sa(455,q+60|0,E|0);E=x;x=0;if(E&1)break}else{k[j>>2]=g;k[h>>2]=(k[h>>2]|0)+4}x=0;sa(k[k[o>>2]>>2]|0,o|0,b|0);E=x;x=0;if(E&1)break}P1(F);P1(I);r=G;return q|0}while(0);b=mb()|0}P1(F)}}}while(0);if((H|0)==35){b=mb()|0;H=36}P1(I);I=b;yb(I|0);return 0}function je(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=0;z=r;r=r+144|0;w=z+132|0;m=z+116|0;o=z+88|0;q=z+72|0;F=z+60|0;G=z+36|0;u=z+120|0;v=z+104|0;y=z+92|0;B=z+76|0;C=z+48|0;E=z+24|0;D=z+12|0;A=z;f=a+80|0;e=k[f>>2]|0;while(1)if(!(i[e>>0]|0)){n=e;break}else e=e+1|0;p=XH(k[a+76>>2]|0)|0;f=p>>>0<=(k[f>>2]|0)>>>0?p:0;p=f;l=a+72|0;g=k[l>>2]|0;do if(f>>>0>g>>>0){if((f|0)==(g|0)){H=vb(4)|0;k[H>>2]=13612;Wb(H|0,1784,171)}else e=f;while(1){e=e+-1|0;if((i[e>>0]&-64)<<24>>24!=-128){H=9;break}if((e|0)==(g|0)){H=8;break}}if((H|0)==8){H=vb(8)|0;G=i[g>>0]|0;k[H>>2]=13632;i[H+4>>0]=G;Wb(H|0,1800,171)}else if((H|0)==9){k[w>>2]=e;jz(w,f)|0;g=k[l>>2]|0;break}}else e=p;while(0);h=e;a:do if(h>>>0>g>>>0&h>>>0>>0){b:while(1){if(!(kQ(h)|0))break a;e=k[l>>2]|0;if((h|0)==(e|0)){H=14;break}else g=h;while(1){g=g+-1|0;if((i[g>>0]&-64)<<24>>24!=-128)break;if((g|0)==(e|0)){H=17;break b}}e=g;k[w>>2]=g;jz(w,h)|0;if(g>>>0>>0?g>>>0>(k[l>>2]|0)>>>0:0)h=g;else break a}if((H|0)==14){H=vb(4)|0;k[H>>2]=13612;Wb(H|0,1784,171)}else if((H|0)==17){H=vb(8)|0;G=i[e>>0]|0;k[H>>2]=13632;i[H+4>>0]=G;Wb(H|0,1800,171)}}while(0);k[m>>2]=e;k[o>>2]=e;jz(m,n)|0;jz(o,n)|0;g=k[m>>2]|0;e=k[l>>2]|0;c:do if(g>>>0>e>>>0){j=k[o>>2]|0;h=g;d:while(1){k[w>>2]=h;if(h>>>0>>0){e=0;while(1){jz(w,j)|0;if((k[w>>2]|0)>>>0>>0)e=e+1|0;else{g=e;break}}e=k[l>>2]|0;if((g|0)>16){H=25;break}}if((h|0)==(e|0)){H=32;break}else g=h;while(1){g=g+-1|0;if((i[g>>0]&-64)<<24>>24!=-128)break;if((g|0)==(e|0)){H=35;break d}}k[w>>2]=g;jz(w,h)|0;switch(i[g>>0]|0){case 10:case 13:{e=h;j=0;break c}default:{}}k[m>>2]=g;e=k[l>>2]|0;if(g>>>0<=e>>>0){e=g;j=0;break c}else h=g}if((H|0)==25){if((h|0)==(e|0)){H=vb(4)|0;k[H>>2]=13612;Wb(H|0,1784,171)}else g=h;while(1){g=g+-1|0;k[m>>2]=g;if((i[g>>0]&-64)<<24>>24!=-128){e=g;H=30;break}if((g|0)==(e|0)){H=29;break}}if((H|0)==29){H=vb(8)|0;G=i[e>>0]|0;k[H>>2]=13632;i[H+4>>0]=G;Wb(H|0,1800,171)}else if((H|0)==30){k[w>>2]=e;jz(w,h)|0;j=i[e>>0]|0;jz(m,n)|0;e=k[m>>2]|0;j=j<<24>>24|0;j=(j|0)!=13&(j|0)!=10;break}}else if((H|0)==32){H=vb(4)|0;k[H>>2]=13612;Wb(H|0,1784,171)}else if((H|0)==35){H=vb(8)|0;G=i[e>>0]|0;k[H>>2]=13632;i[H+4>>0]=G;Wb(H|0,1800,171)}}else{e=g;j=0}while(0);g=k[l>>2]|0;if(e>>>0>>0)k[m>>2]=g;else g=e;k[q>>2]=f;e:do if(f>>>0>>0){h=f;while(1){k[w>>2]=f;if(f>>>0>>0){e=0;while(1){jz(w,h)|0;if((k[w>>2]|0)>>>0>>0)e=e+1|0;else break}if((e|0)>17)break}switch(i[h>>0]|0){case 10:case 13:{m=j;break e}default:{}}jz(q,n)|0;h=k[q>>2]|0;if(h>>>0>=n>>>0){m=j;break e}}m=i[f>>0]|0;m=m<<24>>24|0;m=(m|0)!=13&(m|0)!=10}else m=j;while(0);j=k[o>>2]|0;l=j-g|0;if(l>>>0>4294967279){dH(F);H=53}else if(l>>>0<11){i[F>>0]=l<<1;e=F+1|0}else H=53;if((H|0)==53){o=l+16&-16;e=GG(o)|0;k[F+8>>2]=e;k[F>>2]=o|1;k[F+4>>2]=l}if((g|0)!=(j|0)){h=e;while(1){i[h>>0]=i[g>>0]|0;g=g+1|0;if((g|0)==(j|0))break;else h=h+1|0}e=e+l|0}i[e>>0]=0;j=k[q>>2]|0;h=j-p|0;if(h>>>0>4294967279){x=0;ra(331,G|0);H=x;x=0;if(H&1)H=76;else H=61}else if(h>>>0<11){i[G>>0]=h<<1;e=G+1|0}else H=61;if((H|0)==61){g=h+16&-16;x=0;e=ua(186,g|0)|0;q=x;x=0;if(q&1)H=76;else{k[G+8>>2]=e;k[G>>2]=g|1;k[G+4>>2]=h}}if((H|0)==76){H=mb()|0;P1(F);yb(H|0)}if((f|0)!=(j|0)){g=e;while(1){i[g>>0]=i[f>>0]|0;f=f+1|0;if((f|0)==(j|0))break;else g=g+1|0}e=e+h|0}i[e>>0]=0;e=i[F>>0]|0;f=F+4|0;e=(e&1)==0?(e&255)>>>1:k[f>>2]|0;do if(e>>>0>15){e=e+-15|0;if((e|0)==0|m^1)H=80;else{x=0;qa(4,v|0,F|0,e|0,-1,F|0);s=x;x=0;if(s&1){e=mb()|0;H=78;break}x=0;e=xa(50,v|0,0,38944)|0;s=x;x=0;if(s&1){t=mb()|0;P1(v);break}k[u>>2]=k[e>>2];k[u+4>>2]=k[e+4>>2];k[u+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;if(!(i[F>>0]&1)){i[F+1>>0]=0;i[F>>0]=0}else{i[k[F+8>>2]>>0]=0;k[f>>2]=0}x=0;sa(443,F|0,0);s=x;x=0;if(s&1){E=Eb(0)|0;Nba(E)}else{k[F>>2]=k[u>>2];k[F+4>>2]=k[u+4>>2];k[F+8>>2]=k[u+8>>2];k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;P1(u);P1(v);H=80;break}}}else H=80;while(0);do if((H|0)==80){k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;v=i[b>>0]|0;u=(v&1)==0;v=u?(v&255)>>>1:k[b+4>>2]|0;e=i[c>>0]|0;e=(e&1)==0?(e&255)>>>1:k[c+4>>2]|0;x=0;Ua(10,E|0,(u?b+1|0:k[b+8>>2]|0)|0,v|0,e+v|0);b=x;x=0;if(!(b&1)){x=0;xa(46,E|0,((i[c>>0]&1)==0?c+1|0:k[c+8>>2]|0)|0,e|0)|0;c=x;x=0;if(!(c&1)){x=0;Qa(113,D|0,F|0,0);c=x;x=0;if(c&1)e=mb()|0;else{e=i[D>>0]|0;c=(e&1)==0;x=0;e=xa(46,E|0,(c?D+1|0:k[D+8>>2]|0)|0,(c?(e&255)>>>1:k[D+4>>2]|0)|0)|0;c=x;x=0;if(c&1)e=mb()|0;else{k[C>>2]=k[e>>2];k[C+4>>2]=k[e+4>>2];k[C+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;e=i[d>>0]|0;c=(e&1)==0;x=0;e=xa(46,C|0,(c?d+1|0:k[d+8>>2]|0)|0,(c?(e&255)>>>1:k[d+4>>2]|0)|0)|0;d=x;x=0;if(d&1)e=mb()|0;else{k[B>>2]=k[e>>2];k[B+4>>2]=k[e+4>>2];k[B+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;x=0;Qa(113,A|0,G|0,0);d=x;x=0;if(d&1)e=mb()|0;else{e=i[A>>0]|0;d=(e&1)==0;x=0;e=xa(46,B|0,(d?A+1|0:k[A+8>>2]|0)|0,(d?(e&255)>>>1:k[A+4>>2]|0)|0)|0;d=x;x=0;do if(d&1)e=mb()|0;else{k[y>>2]=k[e>>2];k[y+4>>2]=k[e+4>>2];k[y+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;d=a+108|0;x=0;k[w>>2]=k[d>>2];k[w+4>>2]=k[d+4>>2];k[w+8>>2]=k[d+8>>2];Qa(135,a|0,y|0,w|0);a=x;x=0;if(a&1){e=mb()|0;P1(y);break}else{P1(y);P1(A);P1(B);P1(C);P1(D);P1(E);P1(G);P1(F);r=z;return}}while(0);P1(A)}P1(B)}P1(C)}P1(D)}P1(E);t=e;break}}e=mb()|0;P1(E);H=78}while(0);if((H|0)==78)t=e;P1(G);H=t;P1(F);yb(H|0)}function ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;y=0;s=r;r=r+256|0;d=s+244|0;A=s+232|0;w=s+88|0;f=s+72|0;g=s+48|0;u=s+60|0;h=s+36|0;m=s+24|0;n=s+12|0;q=s;k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;z=w+64|0;c=w+8|0;k[c>>2]=8236;v=w+12|0;k[w>>2]=8440;k[z>>2]=8460;k[w+4>>2]=0;x=0;sa(452,w+64|0,v|0);t=x;x=0;if(t&1)c=mb()|0;else{k[w+136>>2]=0;k[w+140>>2]=-1;k[w>>2]=8216;k[z>>2]=8256;k[c>>2]=8236;x=0;ra(324,v|0);t=x;x=0;do if(t&1)c=mb()|0;else{k[v>>2]=8272;t=w+44|0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;k[t+12>>2]=0;k[w+60>>2]=24;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;x=0;sa(453,v|0,d|0);o=x;x=0;if(o&1){c=mb()|0;P1(d);P1(t);D2(v);break}P1(d);k[w+(k[(k[w>>2]|0)+-12>>2]|0)+8>>2]=12;o=w+8|0;j=b+56|0;x=0;Ga(1,o|0,+(+p[j>>3]))|0;e=x;x=0;a:do if(e&1)y=21;else{x=0;sa(454,f|0,v|0);e=x;x=0;if(e&1)y=21;else{c=i[f>>0]|0;d=(c&1)==0;e=d?f+1|0:k[f+8>>2]|0;c=d?(c&255)>>>1:k[f+4>>2]|0;b:do if(!c)y=15;else{d=e+c|0;c=e;while(1){if((i[c>>0]|0)==101)break;c=c+1|0;if((c|0)==(d|0)){y=15;break b}}if((c|0)==(d|0))y=15;else{P1(f);if((c-e|0)!=-1){x=0;sa(458,w+(k[(k[w>>2]|0)+-12>>2]|0)|0,0);f=x;x=0;if(f&1){y=21;break a}k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;x=0;sa(453,v|0,g|0);f=x;x=0;if(f&1){c=mb()|0;P1(g);break a}else{P1(g);g=k[(k[a+72>>2]|0)+4>>2]|0;k[w+(k[(k[w>>2]|0)+-12>>2]|0)+8>>2]=(g|0)>12?g:12;g=o+(k[(k[o>>2]|0)+-12>>2]|0)+4|0;k[g>>2]=k[g>>2]&-261|4;x=0;Ga(1,o|0,+(+p[j>>3]))|0;g=x;x=0;if(g&1){y=21;break a}else break}}}}while(0);if((y|0)==15)P1(f);x=0;sa(454,u|0,v|0);g=x;x=0;if(g&1)y=21;else{g=i[u>>0]|0;d=(g&1)==0;e=d?u+1|0:k[u+8>>2]|0;g=d?(g&255)>>>1:k[u+4>>2]|0;d=e+g|0;if(!g)f=-1;else{c=e;c:while(1){switch(i[c>>0]|0){case 44:case 46:break c;default:{}}c=c+1|0;if((c|0)==(d|0)){c=d;break}}f=(c|0)==(d|0)?-1:c-e|0}c=d;while(1){if((c|0)==(e|0)){e=-1;break}c=c+-1|0;if(!(mw(44843,l[c>>0]|0,1)|0)){y=30;break}}if((y|0)==30)e=c-e|0;c=(f|0)==-1|(e|0)==(f|0);x=0;sa(458,w+(k[(k[w>>2]|0)+-12>>2]|0)|0,0);g=x;x=0;d:do if(g&1)y=42;else{k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;x=0;sa(453,v|0,h|0);g=x;x=0;if(g&1){c=mb()|0;P1(h);break}P1(h);e:do if(c){k[w+(k[(k[w>>2]|0)+-12>>2]|0)+8>>2]=0;n=o+(k[(k[o>>2]|0)+-12>>2]|0)+4|0;k[n>>2]=k[n>>2]&-261|4;x=0;Ga(1,o|0,+(+p[j>>3]))|0;n=x;x=0;if(n&1){y=42;break d}x=0;sa(454,m|0,v|0);n=x;x=0;if(n&1){y=42;break d}if(!(i[A>>0]&1)){i[A+1>>0]=0;i[A>>0]=0}else{i[k[A+8>>2]>>0]=0;k[A+4>>2]=0}x=0;sa(443,A|0,0);n=x;x=0;if(n&1){n=Eb(0)|0;Nba(n)}else{k[A>>2]=k[m>>2];k[A+4>>2]=k[m+4>>2];k[A+8>>2]=k[m+8>>2];k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;P1(m);break}}else{c=k[(k[a+72>>2]|0)+4>>2]|0;d=w+(k[(k[w>>2]|0)+-12>>2]|0)|0;if(e>>>0<(c+f|0)>>>0)k[d+8>>2]=e-f;else k[d+8>>2]=c;m=o+(k[(k[o>>2]|0)+-12>>2]|0)+4|0;k[m>>2]=k[m>>2]&-261|4;x=0;Ga(1,o|0,+(+p[j>>3]))|0;m=x;x=0;if(m&1){y=42;break d}x=0;sa(454,n|0,v|0);m=x;x=0;if(m&1){y=42;break d}if(!(i[A>>0]&1)){i[A+1>>0]=0;i[A>>0]=0}else{i[k[A+8>>2]>>0]=0;k[A+4>>2]=0}x=0;sa(443,A|0,0);m=x;x=0;if(m&1){m=Eb(0)|0;Nba(m)}k[A>>2]=k[n>>2];k[A+4>>2]=k[n+4>>2];k[A+8>>2]=k[n+8>>2];k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;P1(n);c=i[A>>0]|0;n=(c&1)==0;e=n?A+1|0:k[A+8>>2]|0;c=e+(n?(c&255)>>>1:k[A+4>>2]|0)|0;while(1){if((c|0)==(e|0))break;c=c+-1|0;d=i[c>>0]|0;if(!(mw(44843,d&255,1)|0)){y=57;break}}do if((y|0)==57){c=c-e|0;if((c|0)==-1)break;switch(d<<24>>24){case 44:case 46:{c=c+1|0;break}default:{}}x=0;Qa(86,A|0,c+1|0,0);n=x;x=0;if(n&1){y=42;break d}else break e}while(0);x=0;Ka(874,A|0,38889)|0;n=x;x=0;if(n&1){y=42;break d}}while(0);do if(!(KH(A,38889)|0)){x=0;Ka(874,A|0,44843)|0;n=x;x=0;if(n&1){y=42;break d}}else{if(!(KH(A,78097)|0)){x=0;Ka(874,A|0,44843)|0;n=x;x=0;if(n&1){y=42;break d}else break}if(!(KH(A,38893)|0)){x=0;Ka(874,A|0,44843)|0;n=x;x=0;if(n&1){y=42;break d}else break}if(!(KH(A,38896)|0)){x=0;Ka(874,A|0,44843)|0;n=x;x=0;if(n&1){y=42;break d}else break}if((k[k[a+72>>2]>>2]|0)!=3)break;c=(i[A>>0]&1)==0?A+1|0:k[A+8>>2]|0;d=(i[c>>0]|0)==45;e=d&1;if(!(i[b+64>>0]|0))break;if((i[c+e>>0]|0)!=48)break;if((i[c+(d?2:1)>>0]|0)!=46)break;x=0;xa(51,A|0,e|0,1)|0;n=x;x=0;if(n&1){y=42;break d}}while(0);x=0;sa(437,q|0,b|0);n=x;x=0;if(n&1)y=42;else{n=i[q>>0]|0;m=(n&1)==0;x=0;xa(46,A|0,(m?q+1|0:k[q+8>>2]|0)|0,(m?(n&255)>>>1:k[q+4>>2]|0)|0)|0;n=x;x=0;if(n&1){c=mb()|0;P1(q);break}P1(q);x=0;Qa(134,a+4|0,A|0,b|0);y=x;x=0;if(y&1)y=42;else{P1(u);k[w>>2]=8216;k[z>>2]=8256;k[o>>2]=8236;k[v>>2]=8272;P1(t);D2(v);P9(z);P1(A);r=s;return}}}while(0);if((y|0)==42)c=mb()|0;P1(u)}}}while(0);if((y|0)==21)c=mb()|0;k[w>>2]=8216;k[z>>2]=8256;k[o>>2]=8236;k[v>>2]=8272;P1(t);D2(v);P9(z);z=c;P1(A);yb(z|0)}while(0)}P9(z);z=c;P1(A);yb(z|0)}function le(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,j=0,l=0,m=0,n=0,o=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;e=k[b+16>>2]|0;if(e>>>0>=6)kb(39119,38952,1039,39143);switch(e|0){case 0:{l=a+4|0;b=k[l>>2]|0;f=k[a>>2]|0;e=f;do if((b-f|0)<4){j=a+8|0;g=k[j>>2]|0;h=f-g|0;e=h+4|0;f=b-g|0;do f=f<<1;while(f>>>0>>0);e=OC(g,f|1)|0;k[j>>2]=e;if(!e){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{m=e+h|0;k[a>>2]=m;k[l>>2]=e+f;break}}else m=e;while(0);i[m>>0]=110;i[m+1>>0]=117;i[m+2>>0]=108;i[m+3>>0]=108;k[a>>2]=(k[a>>2]|0)+4;return}case 1:{m=(i[b+24>>0]|0)!=0;l=m?51266:51271;m=m?4:5;n=a+4|0;b=k[n>>2]|0;f=k[a>>2]|0;e=f;do if((b-f|0)<(m|0)){j=a+8|0;g=k[j>>2]|0;h=f-g|0;e=h+m|0;f=b-g|0;do f=f<<1;while(f>>>0>>0);e=OC(g,f|1)|0;k[j>>2]=e;if(!e){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{q=e+h|0;k[a>>2]=q;k[n>>2]=e+f;break}}else q=e;while(0);WC(q|0,l|0,m|0)|0;k[a>>2]=(k[a>>2]|0)+m;return}case 2:{yf(a,k[b+24>>2]|0);return}case 3:{Bm(a,+p[b+24>>3]);return}case 4:{n=k[b+24>>2]|0;t=a+4|0;l=k[t>>2]|0;g=k[a>>2]|0;e=(l-g|0)<2;b=g;if(!n){do if(e){h=a+8|0;b=k[h>>2]|0;g=g-b|0;e=g+2|0;f=l-b|0;do f=f<<1;while(f>>>0>>0);e=OC(b,f|1)|0;k[h>>2]=e;if(!e){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{j=e+g|0;k[a>>2]=j;k[t>>2]=e+f;break}}else j=b;while(0);i[j>>0]=91;i[j+1>>0]=93;k[a>>2]=(k[a>>2]|0)+2;return}do if(e){j=a+8|0;h=k[j>>2]|0;g=g-h|0;e=g+2|0;b=l-h|0;do b=b<<1;while(b>>>0>>0);e=OC(h,b|1)|0;k[j>>2]=e;if(!e){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{r=e+g|0;k[a>>2]=r;k[t>>2]=e+b;break}}else r=b;while(0);i[r>>0]=91;i[r+1>>0]=10;e=(k[a>>2]|0)+2|0;k[a>>2]=e;o=d+1|0;q=a+8|0;a:do if((d|0)<0){while(1){le(a,n,c,o);n=k[n+8>>2]|0;m=(n|0)!=0;l=m?39217:43502;m=m?2:1;g=k[t>>2]|0;b=k[a>>2]|0;e=b;if((g-b|0)<(m|0)){h=k[q>>2]|0;j=b-h|0;e=j+m|0;b=g-h|0;do b=b<<1;while(b>>>0>>0);e=OC(h,b|1)|0;k[q>>2]=e;if(!e){e=57;break}A=e+j|0;k[a>>2]=A;k[t>>2]=e+b;e=A}WC(e|0,l|0,m|0)|0;e=(k[a>>2]|0)+m|0;k[a>>2]=e;if(!n){s=e;e=43;break}}if((e|0)==43){f=s;v=s;break}else if((e|0)==57){A=k[4316]|0;FH(42958,15,1,A)|0;cc(1)}}else{b:while(1){m=0;while(1){l=OD(c)|0;g=k[t>>2]|0;b=e;if((g-e|0)<(l|0)){h=k[q>>2]|0;j=e-h|0;e=j+l|0;b=g-h|0;do b=b<<1;while(b>>>0>>0);e=OC(h,b|1)|0;k[q>>2]=e;if(!e){e=50;break b}A=e+j|0;k[a>>2]=A;k[t>>2]=e+b;e=A}else e=b;WC(e|0,c|0,l|0)|0;e=(k[a>>2]|0)+l|0;k[a>>2]=e;if((m|0)>=(d|0))break;else m=m+1|0}le(a,n,c,o);n=k[n+8>>2]|0;m=(n|0)!=0;l=m?39217:43502;m=m?2:1;g=k[t>>2]|0;b=k[a>>2]|0;e=b;if((g-b|0)<(m|0)){h=k[q>>2]|0;j=b-h|0;e=j+m|0;b=g-h|0;do b=b<<1;while(b>>>0>>0);e=OC(h,b|1)|0;k[q>>2]=e;if(!e){e=57;break}A=e+j|0;k[a>>2]=A;k[t>>2]=e+b;e=A}WC(e|0,l|0,m|0)|0;b=(k[a>>2]|0)+m|0;k[a>>2]=b;e=b;if(!n){f=e;v=b;break a}}if((e|0)==50){FH(42958,15,1,k[4316]|0)|0;cc(1)}else if((e|0)==57){A=k[4316]|0;FH(42958,15,1,A)|0;cc(1)}}while(0);c:do if((d|0)>0){m=a+8|0;l=0;while(1){j=OD(c)|0;b=k[t>>2]|0;e=f;if((b-f|0)<(j|0)){g=k[m>>2]|0;h=f-g|0;e=h+j|0;f=b-g|0;do f=f<<1;while(f>>>0>>0);e=OC(g,f|1)|0;k[m>>2]=e;if(!e)break;A=e+h|0;k[a>>2]=A;k[t>>2]=e+f;e=A}WC(e|0,c|0,j|0)|0;e=(k[a>>2]|0)+j|0;k[a>>2]=e;l=l+1|0;f=e;if((l|0)>=(d|0)){y=e;z=f;break c}}FH(42958,15,1,k[4316]|0)|0;cc(1)}else{y=v;z=f}while(0);e=k[t>>2]|0;do if(y>>>0>>0)B=y;else{j=a+8|0;g=k[j>>2]|0;h=z-g|0;b=h+1|0;f=e-g|0;do f=f<<1;while(f>>>0>>0);e=OC(g,f|1)|0;k[j>>2]=e;if(!e){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{B=e+h|0;k[a>>2]=B;k[t>>2]=e+f;break}}while(0);k[a>>2]=B+1;i[B>>0]=93;return}case 5:{l=k[b+24>>2]|0;r=a+4|0;j=k[r>>2]|0;g=k[a>>2]|0;e=(j-g|0)<2;f=g;if(!l){do if(e){h=a+8|0;b=k[h>>2]|0;g=g-b|0;e=g+2|0;f=j-b|0;do f=f<<1;while(f>>>0>>0);e=OC(b,f|1)|0;k[h>>2]=e;if(!e){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{n=e+g|0;k[a>>2]=n;k[r>>2]=e+f;break}}else n=f;while(0);i[n>>0]=123;i[n+1>>0]=125;k[a>>2]=(k[a>>2]|0)+2;return}do if(e){h=a+8|0;b=k[h>>2]|0;g=g-b|0;e=g+2|0;f=j-b|0;do f=f<<1;while(f>>>0>>0);e=OC(b,f|1)|0;k[h>>2]=e;if(!e){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{o=e+g|0;k[a>>2]=o;k[r>>2]=e+f;break}}else o=f;while(0);i[o>>0]=123;i[o+1>>0]=10;f=(k[a>>2]|0)+2|0;k[a>>2]=f;n=(d|0)<0;o=d+1|0;q=a+8|0;m=l;d:while(1){if(!n){l=0;while(1){j=OD(c)|0;b=k[r>>2]|0;e=f;if((b-f|0)<(j|0)){g=k[q>>2]|0;h=f-g|0;e=h+j|0;f=b-g|0;do f=f<<1;while(f>>>0>>0);e=OC(g,f|1)|0;k[q>>2]=e;if(!e){e=96;break d}B=e+h|0;k[a>>2]=B;k[r>>2]=e+f;e=B}WC(e|0,c|0,j|0)|0;f=(k[a>>2]|0)+j|0;k[a>>2]=f;if((l|0)>=(d|0))break;else l=l+1|0}}yf(a,k[m+12>>2]|0);b=k[r>>2]|0;f=k[a>>2]|0;e=f;if((b-f|0)<2){g=k[q>>2]|0;h=f-g|0;e=h+2|0;f=b-g|0;do f=f<<1;while(f>>>0>>0);e=OC(g,f|1)|0;k[q>>2]=e;if(!e){e=103;break}B=e+h|0;k[a>>2]=B;k[r>>2]=e+f;e=B}i[e>>0]=58;i[e+1>>0]=32;k[a>>2]=(k[a>>2]|0)+2;le(a,m,c,o);m=k[m+8>>2]|0;l=(m|0)!=0;j=l?39217:43502;l=l?2:1;b=k[r>>2]|0;f=k[a>>2]|0;e=f;if((b-f|0)<(l|0)){g=k[q>>2]|0;h=f-g|0;e=h+l|0;f=b-g|0;do f=f<<1;while(f>>>0>>0);e=OC(g,f|1)|0;k[q>>2]=e;if(!e){e=109;break}B=e+h|0;k[a>>2]=B;k[r>>2]=e+f;e=B}WC(e|0,j|0,l|0)|0;e=(k[a>>2]|0)+l|0;k[a>>2]=e;f=e;if(!m){t=e;u=f;e=90;break}}if((e|0)==90){e:do if((d|0)>0){m=a+8|0;f=u;l=0;while(1){j=OD(c)|0;b=k[r>>2]|0;e=f;if((b-f|0)<(j|0)){g=k[m>>2]|0;h=f-g|0;e=h+j|0;f=b-g|0;do f=f<<1;while(f>>>0>>0);e=OC(g,f|1)|0;k[m>>2]=e;if(!e)break;B=e+h|0;k[a>>2]=B;k[r>>2]=e+f;e=B}WC(e|0,c|0,j|0)|0;e=(k[a>>2]|0)+j|0;k[a>>2]=e;l=l+1|0;f=e;if((l|0)>=(d|0)){w=e;x=f;break e}}FH(42958,15,1,k[4316]|0)|0;cc(1)}else{w=t;x=u}while(0);e=k[r>>2]|0;do if(w>>>0>>0)A=w;else{j=a+8|0;g=k[j>>2]|0;h=x-g|0;b=h+1|0;f=e-g|0;do f=f<<1;while(f>>>0>>0);e=OC(g,f|1)|0;k[j>>2]=e;if(!e){FH(42958,15,1,k[4316]|0)|0;cc(1)}else{A=e+h|0;k[a>>2]=A;k[r>>2]=e+f;break}}while(0);k[a>>2]=A+1;i[A>>0]=125;return}else if((e|0)==96){FH(42958,15,1,k[4316]|0)|0;cc(1)}else if((e|0)==103){FH(42958,15,1,k[4316]|0)|0;cc(1)}else if((e|0)==109){FH(42958,15,1,k[4316]|0)|0;cc(1)}break}default:kb(51271,38952,1060,39143)}}function me(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;q=0;z=r;r=r+288|0;s=z+240|0;j=z+228|0;h=z+160|0;l=z+120|0;d=z+216|0;n=z+176|0;o=z+80|0;p=z+40|0;t=z;Bt(a,0,0)|0;e=a+152|0;k[s>>2]=k[e>>2];k[s+4>>2]=k[e+4>>2];k[s+8>>2]=k[e+8>>2];m=a+76|0;b=k[m>>2]|0;f=a+84|0;k[j>>2]=k[f>>2];k[j+4>>2]=k[f+4>>2];k[j+8>>2]=k[f+8>>2];g=a+96|0;k[h>>2]=k[g>>2];k[h+4>>2]=k[g+4>>2];k[h+8>>2]=k[g+8>>2];y=a+108|0;u=l;v=y;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));Bt(a,1,0)|0;if(ar(a,1,0)|0){c=ge(a)|0;k[s>>2]=k[e>>2];k[s+4>>2]=k[e+4>>2];k[s+8>>2]=k[e+8>>2];b=k[m>>2]|0;k[j>>2]=k[f>>2];k[j+4>>2]=k[f+4>>2];k[j+8>>2]=k[f+8>>2];k[h>>2]=k[g>>2];k[h+4>>2]=k[g+4>>2];k[h+8>>2]=k[g+8>>2];u=l;v=y;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));Bt(a,1,0)|0;do if(!($q(a,1,0)|0)){u=y;v=l;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));k[e>>2]=k[s>>2];k[e+4>>2]=k[s+4>>2];k[e+8>>2]=k[s+8>>2];k[m>>2]=b;k[g>>2]=k[h>>2];k[g+4>>2]=k[h+4>>2];k[g+8>>2]=k[h+8>>2];k[f>>2]=k[j>>2];k[f+4>>2]=k[j+4>>2];k[f+8>>2]=k[j+8>>2];lE(d,40210,20);y=a+108|0;x=0;k[s>>2]=k[y>>2];k[s+4>>2]=k[y+4>>2];k[s+8>>2]=k[y+8>>2];Qa(135,a|0,d|0,s|0);a=x;x=0;if(a&1){z=mb()|0;P1(d);yb(z|0)}else{P1(d);break}}while(0);if((k[c+52>>2]|0)==5){a=c;r=z;return a|0}b=k[c>>2]|0;if((k[(k[b+-4>>2]|0)+4>>2]|0)!=(k[155]|0)){a=c;r=z;return a|0}if((k[c+56>>2]|0)!=11){a=c;r=z;return a|0}rc[k[b+80>>2]&1023](c,0);a=c;r=z;return a|0}u=y;v=l;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));k[e>>2]=k[s>>2];k[e+4>>2]=k[s+4>>2];k[e+8>>2]=k[s+8>>2];k[m>>2]=b;k[g>>2]=k[h>>2];k[g+4>>2]=k[h+4>>2];k[g+8>>2]=k[h+8>>2];k[f>>2]=k[j>>2];k[f+4>>2]=k[j+4>>2];k[f+8>>2]=k[j+8>>2];w=b;d=bO(w)|0;w=r$(d|0?d:w)|0;d=a+80|0;if(!((w|0)==0?1:w>>>0>(k[d>>2]|0)>>>0)){a=Fd(a)|0;r=z;return a|0}w=k[m>>2]|0;v=bO(w)|0;w=wx(v|0?v:w)|0;if(!((w|0)==0?1:w>>>0>(k[d>>2]|0)>>>0)){a=Le(a)|0;r=z;return a|0}b=k[m>>2]|0;w=bO(b)|0;b=CA(w|0?w:b)|0;if(b|0){w=(i[b>>0]|0)==40?b+1|0:0;if(!((w|0)==0?1:w>>>0>(k[d>>2]|0)>>>0)){a=Zf(a)|0;r=z;return a|0}}if(Pr(a,1,0)|0){e=de(a)|0;u=s;v=y;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));c=(k[a+40>>2]|0)+36|0;d=lD(c,64)|0;b=De(a)|0;k[d+4>>2]=0;u=d+8|0;v=s;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d>>2]=14952;k[d+56>>2]=e;k[d+60>>2]=b;k[d+52>>2]=4;a=N4(c,d)|0;r=z;return a|0}if(Or(a,1,0)|0){d=de(a)|0;if(d|0){e=Ot(d,376,344,0)|0;if(e|0)if(ar(a,1,0)|0){f=e+60|0;g=Ef(a)|0;k[s>>2]=g;h=g;if(g|0){k[e+76>>2]=0;b=e+68|0;c=k[b>>2]|0;if((c|0)==(k[e+72>>2]|0))uw(e+64|0,s);else{k[c>>2]=h;k[b>>2]=(k[b>>2]|0)+4}rc[k[k[f>>2]>>2]&1023](f,g)}$q(a,1,0)|0}}a=d;r=z;return a|0}b=k[m>>2]|0;w=bO(b)|0;b=Ux(w|0?w:b)|0;if(b|0){b=RB(b)|0;if(b|0){w=iH(b)|0;if(!((w|0)==0?1:w>>>0>(k[d>>2]|0)>>>0)){a=Ad(a)|0;r=z;return a|0}}}w=k[m>>2]|0;v=bO(w)|0;w=bN(v|0?v:w)|0;if(!((w|0)==0?1:w>>>0>(k[d>>2]|0)>>>0)){a=Nl(a)|0;r=z;return a|0}if(_q(a,1,0)|0){c=(k[a+40>>2]|0)+36|0;d=lD(c,68)|0;u=n;v=y;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));b=me(a)|0;k[d+4>>2]=0;u=d+8|0;v=n;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=15056;k[d+56>>2]=0;k[d+60>>2]=b;k[d+64>>2]=0;a=N4(c,d)|0;r=z;return a|0}if(Yq(a,1,0)|0){c=(k[a+40>>2]|0)+36|0;d=lD(c,68)|0;u=o;v=y;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));b=me(a)|0;k[d+4>>2]=0;u=d+8|0;v=o;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=15056;k[d+56>>2]=1;k[d+60>>2]=b;k[d+64>>2]=0;a=N4(c,d)|0;r=z;return a|0}if(wr(a,1,0)|0){c=(k[a+40>>2]|0)+36|0;d=lD(c,68)|0;u=p;v=y;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));b=me(a)|0;k[d+4>>2]=0;u=d+8|0;v=p;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=15056;k[d+56>>2]=2;k[d+60>>2]=b;k[d+64>>2]=0;a=N4(c,d)|0;r=z;return a|0}c=k[m>>2]|0;b=bO(c)|0;c=b|0?b:c;b=YO(c)|0;if(!b){w=i[c>>0]|0;b=c+1|0;w=w<<24>>24|0;b=(w|0)!=45?((w|0)==43?b:0):b;if(b|0)q=45}else q=45;if((q|0)==45){while(1){c=YO(b)|0;if(c|0){b=c;q=45;continue}w=i[b>>0]|0;c=b+1|0;w=w<<24>>24|0;c=(w|0)!=45?((w|0)==43?c:0):c;if(!c)break;else{b=c;q=45}}w=wy(b)|0;if(!((w|0)==0?1:w>>>0>(k[d>>2]|0)>>>0)){b=1;while(1){while(1){if(cs(a,1,0)|0)continue;if(!(as(a,1,0)|0))break}if(!(Yq(a,1,0)|0))break;else b=b^1}if(b){a=kd(a)|0;r=z;return a|0}else{c=(k[a+40>>2]|0)+36|0;d=lD(c,68)|0;u=t;v=y;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));b=kd(a)|0;k[d+4>>2]=0;u=d+8|0;v=t;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=15056;k[d+56>>2]=1;k[d+60>>2]=b;k[d+64>>2]=0;a=N4(c,d)|0;r=z;return a|0}}}a=kd(a)|0;r=z;return a|0}function ne(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;M=0;L=r;r=r+240|0;K=L+24|0;u=L+192|0;v=L+176|0;J=L+88|0;F=L+136|0;G=L+124|0;H=L+112|0;I=L+16|0;B=L+100|0;E=L+76|0;C=L+8|0;D=L+64|0;A=L;a:do if(!d){d=0;h=1;g=0;M=51}else{t=Ot(d,64,664,0)|0;if(!t)g=0;else{g=b+36|0;d=lD(g,84)|0;z=K;w=t+8|0;y=z+40|0;do{k[z>>2]=k[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));k[d+4>>2]=0;z=d+8|0;w=K;y=z+40|0;do{k[z>>2]=k[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+60>>2]=0;k[d+64>>2]=0;k[d+68>>2]=0;k[d>>2]=4992;k[d+56>>2]=5104;k[d+76>>2]=0;i[d+80>>0]=0;i[d+81>>0]=0;k[d+52>>2]=5;d=N4(g,d)|0;g=k[t+60>>2]|0;m=k[t+64>>2]|0;if((g|0)!=(m|0)){n=d+56|0;o=d+72|0;p=d+64|0;q=d+68|0;s=d+60|0;do{h=k[(k[g>>2]|0)+56>>2]|0;k[K>>2]=h;j=h;if(h|0){k[o>>2]=0;l=k[p>>2]|0;if((l|0)==(k[q>>2]|0))uw(s,K);else{k[l>>2]=j;k[p>>2]=(k[p>>2]|0)+4}rc[k[k[n>>2]>>2]&1023](n,h)}g=g+4|0}while((g|0)!=(m|0))}i[d+50>>0]=i[t+50>>0]|0;rN(c,38856)|0;if(!d){d=0;h=1;g=1;M=51;break}else g=1}h=Ot(d,64,392,0)|0;if(h|0)if(!(xL(h)|0)){g=vb(80)|0;x=0;sa(498,g|0,h|0);M=x;x=0;if(!(M&1))Wb(g|0,1392,59);M=mb()|0;lb(g|0);yb(M|0)}h=Ot(d,64,600,0)|0;if(h)d=k[h+56>>2]|0;if(!d){d=0;h=1;M=51}else{l=Ot(d,64,448,0)|0;do if(!((l|0)==0|f^1)){j=i[d+50>>0]|0;d=b+36|0;h=lD(d,76)|0;z=u;w=l+8|0;y=z+40|0;do{k[z>>2]=k[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));_G(v,l+60|0);k[h+4>>2]=0;z=h+8|0;w=u;y=z+40|0;do{k[z>>2]=k[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;i[h+56>>0]=0;k[h+52>>2]=4;k[h>>2]=5932;i[h+57>>0]=0;i[h+58>>0]=0;x=0;sa(477,h+60|0,v|0);z=x;x=0;if(!(z&1)){k[h+72>>2]=0;x=0;d=Ka(857,d|0,h|0)|0;z=x;x=0;if(!(z&1)){P1(v);i[d+50>>0]=j;if(!d){d=0;h=1;M=51;break a}else break}}M=mb()|0;P1(v);yb(M|0)}while(0);if(Ot(d,64,704,0)|0){r=L;return}if(Ot(d,64,736,0)|0)d=Jc[k[(k[d>>2]|0)+40>>2]&1023](d,a)|0;if(!d){d=0;h=1;M=51}else{v=Ot(d,64,256,0)|0;if(!v){h=0;M=51}else{u=b+36|0;d=lD(u,84)|0;h=k[v+76>>2]|0;z=K;w=v+8|0;y=z+40|0;do{k[z>>2]=k[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));k[d+4>>2]=0;z=d+8|0;w=K;y=z+40|0;do{k[z>>2]=k[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+60>>2]=0;k[d+64>>2]=0;k[d+68>>2]=0;k[d>>2]=4992;k[d+56>>2]=5104;k[d+76>>2]=h;i[d+80>>0]=0;i[d+81>>0]=0;k[d+52>>2]=5;m=N4(u,d)|0;d=k[v+60>>2]|0;n=k[v+64>>2]|0;b:do if((d|0)!=(n|0)){o=v+50|0;p=m+56|0;q=m+72|0;s=m+64|0;t=m+68|0;f=m+60|0;while(1){h=k[d>>2]|0;i[h+50>>0]=i[o>>0]|0;lE(J,78097,0);x=0;Ba(10,a|0,b|0,J|0,h|0,e|0,(i[o>>0]|0)!=0|0);E=x;x=0;if(E&1){M=35;break}if(!h)M=37;else if(!(Ot(h,64,704,0)|0))M=37;if((M|0)==37){M=0;x=0;j=Ka(856,u|0,76)|0;E=x;x=0;if(E&1){M=35;break}z=F;w=h+8|0;y=z+40|0;do{k[z>>2]=k[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));x=0;sa(430,G|0,J|0);E=x;x=0;if(E&1){M=35;break}x=0;z=K;w=F;y=z+40|0;do{k[z>>2]=k[w>>2];z=z+4|0;w=w+4|0}while((z|0)<(y|0));qa(5,j|0,K|0,G|0,0,0);E=x;x=0;if(E&1){M=47;break}x=0;h=Ka(857,u|0,j|0)|0;E=x;x=0;if(E&1){M=47;break}k[K>>2]=h;j=h;if(h|0){k[q>>2]=0;l=k[s>>2]|0;if((l|0)==(k[t>>2]|0)){x=0;sa(455,f|0,K|0);E=x;x=0;if(E&1){M=47;break}}else{k[l>>2]=j;k[s>>2]=(k[s>>2]|0)+4}x=0;sa(k[k[p>>2]>>2]|0,p|0,h|0);E=x;x=0;if(E&1){M=47;break}}P1(G)}P1(J);d=d+4|0;if((d|0)==(n|0))break b}if((M|0)==35)g=mb()|0;else if((M|0)==47){g=mb()|0;P1(G)}P1(J);M=g;yb(M|0)}while(0);e=k[(k[m>>2]|0)+20>>2]|0;a=k[b+16>>2]|0;J=k[a+4>>2]|0;b=I;k[b>>2]=k[a>>2];k[b+4>>2]=J;k[K>>2]=k[I>>2];k[K+4>>2]=k[I+4>>2];Pc[e&255](H,m,K);K=i[H>>0]|0;e=(K&1)==0;x=0;xa(46,c|0,(e?H+1|0:k[H+8>>2]|0)|0,(e?(K&255)>>>1:k[H+4>>2]|0)|0)|0;K=x;x=0;if(K&1){M=mb()|0;P1(H);yb(M|0)}else{P1(H);i[m+50>>0]=i[v+50>>0]|0;if(g)break;r=L;return}}}}}while(0);c:do if((M|0)==51){if(e)if(i[d+50>>0]|0){M=k[(k[d>>2]|0)+20>>2]|0;J=k[b+16>>2]|0;b=k[J+4>>2]|0;e=C;k[e>>2]=k[J>>2];k[e+4>>2]=b;k[K>>2]=k[C>>2];k[K+4>>2]=k[C+4>>2];Pc[M&255](E,d,K);x=0;sa(499,B|0,E|0);M=x;x=0;do if(M&1)g=mb()|0;else{M=i[B>>0]|0;K=(M&1)==0;x=0;xa(46,c|0,(K?B+1|0:k[B+8>>2]|0)|0,(K?(M&255)>>>1:k[B+4>>2]|0)|0)|0;M=x;x=0;if(M&1){g=mb()|0;P1(B);break}P1(B);P1(E);if(g)break c;r=L;return}while(0);P1(E);M=g;yb(M|0)}if(h)lE(D,78097,0);else{M=k[(k[d>>2]|0)+20>>2]|0;J=k[b+16>>2]|0;b=k[J+4>>2]|0;e=A;k[e>>2]=k[J>>2];k[e+4>>2]=b;k[K>>2]=k[A>>2];k[K+4>>2]=k[A+4>>2];Pc[M&255](D,d,K)}M=i[D>>0]|0;K=(M&1)==0;x=0;xa(46,c|0,(K?D+1|0:k[D+8>>2]|0)|0,(K?(M&255)>>>1:k[D+4>>2]|0)|0)|0;M=x;x=0;if(M&1){M=mb()|0;P1(D);yb(M|0)}else{P1(D);if(g)break;r=L;return}}while(0);rN(c,38861)|0;r=L;return}function oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;R=0;W=r;r=r+368|0;B=W;S=W+288|0;C=W+320|0;D=W+304|0;J=W+292|0;H=W+276|0;E=W+264|0;F=W+96|0;Q=W+56|0;T=W+40|0;yt(a,1,0)|0;V=a+76|0;c=k[V>>2]|0;G=a+40|0;d=(k[G>>2]|0)+36|0;e=lD(d,84)|0;U=a+108|0;m=B;n=U;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));k[e+4>>2]=0;m=e+8|0;n=B;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;i[e+56>>0]=0;k[e+64>>2]=0;k[e+68>>2]=0;k[e+72>>2]=0;k[e>>2]=5788;k[e+60>>2]=5904;k[e+80>>2]=0;k[e+52>>2]=4;f=N4(d,e)|0;d=(k[G>>2]|0)+36|0;e=lD(d,76)|0;m=B;n=U;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));k[e+4>>2]=0;m=e+8|0;n=B;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;P=e+56|0;k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[e+52>>2]=7;k[e>>2]=6484;k[e+68>>2]=f;i[e+72>>0]=0;P=N4(d,e)|0;k[P+60>>2]=k[a+68>>2];if(c>>>0>=b>>>0){b=c;k[V>>2]=b;YH(P,U);r=W;return P|0}L=f+60|0;v=b;w=T+8|0;y=T+4|0;K=L+16|0;M=L+8|0;N=L+12|0;O=L+4|0;e=T+1|0;p=D+8|0;q=D+4|0;s=D+1|0;t=a+80|0;u=F+56|0;z=F+44|0;I=F+48|0;A=F+60|0;a:while(1){d=c;g=0;b:while(1){f=i[d>>0]|0;if(!(f<<24>>24)){R=68;break a}c:do if(g)g=0;else if(f<<24>>24==92)g=1;else{f=tx(d)|0;if(!f){f=i[38919]|0;if(!(f<<24>>24))if(!d){d=0;g=0;break}else break b;else{h=d;g=38919}while(1){if((i[h>>0]|0)!=f<<24>>24){g=0;break c}g=g+1|0;f=i[g>>0]|0;if(!(f<<24>>24)){R=13;break b}else h=h+1|0}}else{d=f;g=0}}while(0);d=d+1|0;if(d>>>0>=b>>>0){R=68;break a}}if((R|0)==13){R=0;if(!d){R=68;break}}if(c>>>0>>0){j=(k[G>>2]|0)+36|0;l=lD(j,76)|0;m=C;n=U;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));g=d-c|0;if(g>>>0>4294967279){dH(D);R=19}else if(g>>>0<11){i[D>>0]=g<<1;h=s}else R=19;if((R|0)==19){R=0;o=g+16&-16;h=GG(o)|0;k[p>>2]=h;k[D>>2]=o|1;k[q>>2]=g}if((c|0)==(d|0))c=h;else{f=h;while(1){i[f>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else f=f+1|0}c=h+g|0}i[c>>0]=0;k[l+4>>2]=0;m=l+8|0;n=C;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));i[l+48>>0]=0;i[l+49>>0]=0;i[l+50>>0]=0;i[l+56>>0]=0;k[l+52>>2]=4;k[l>>2]=5932;i[l+57>>0]=0;i[l+58>>0]=0;x=0;sa(477,l+60|0,D|0);o=x;x=0;if(o&1){R=31;break}k[l+72>>2]=0;x=0;c=Ka(857,j|0,l|0)|0;o=x;x=0;if(o&1){R=31;break}k[B>>2]=c;f=c;if(c|0){k[K>>2]=0;g=k[M>>2]|0;if((g|0)==(k[N>>2]|0)){x=0;sa(455,O|0,B|0);o=x;x=0;if(o&1){R=31;break}}else{k[g>>2]=f;k[M>>2]=(k[M>>2]|0)+4}x=0;sa(k[k[L>>2]>>2]|0,L|0,c|0);o=x;x=0;if(o&1){R=31;break}}P1(D)}g=d+2|0;c=bO(g)|0;c=XH(c|0?c:g)|0;if(c|0){d=i[43519]|0;d:do if(!(d<<24>>24))d=0;else{f=43519;while(1){if((i[c>>0]|0)!=d<<24>>24)break d;c=c+1|0;f=f+1|0;d=i[f>>0]|0;if(!(d<<24>>24)){d=0;break}}}while(0);o=d<<24>>24==0?c:0;if(!((o|0)==0?1:o>>>0>(k[t>>2]|0)>>>0)){k[V>>2]=g;lE(J,39906,11);x=0;Qa(74,H|0,39918,7);o=x;x=0;if(o&1){R=41;break}x=0;Qa(74,E|0,40150,44);o=x;x=0;if(o&1){R=42;break}x=0;Ua(31,a|0,J|0,H|0,E|0);o=x;x=0;if(o&1){R=43;break}P1(E);P1(H);P1(J)}}c=uj(g,b)|0;d=k[G>>2]|0;m=B;n=U;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Yj(F,g,c,d,B,0);x=0;h=ua(234,F|0)|0;o=x;x=0;if(o&1){R=60;break}d=k[u>>2]|0;f=d;if(d|0){g=k[A>>2]|0;if((g|0)!=(d|0))k[A>>2]=g+(~((g+-4-f|0)>>>2)<<2);uha(d)}d=k[z>>2]|0;f=d;if(d|0){g=k[I>>2]|0;if((g|0)!=(d|0))k[I>>2]=g+(~((g+-4-f|0)>>>2)<<2);uha(d)}i[h+50>>0]=1;k[B>>2]=h;d=h;if(h|0){k[K>>2]=0;f=k[M>>2]|0;if((f|0)==(k[N>>2]|0))uw(O,B);else{k[f>>2]=d;k[M>>2]=(k[M>>2]|0)+4}rc[k[k[L>>2]>>2]&1023](L,h)}if(c>>>0>=b>>>0){R=86;break}}if((R|0)==31){W=mb()|0;P1(D);yb(W|0)}else if((R|0)==41)c=mb()|0;else if((R|0)==42){c=mb()|0;R=44}else if((R|0)==43){c=mb()|0;P1(E);R=44}else if((R|0)==60){f=mb()|0;c=k[u>>2]|0;d=c;if(c|0){e=k[A>>2]|0;if((e|0)!=(c|0))k[A>>2]=e+(~((e+-4-d|0)>>>2)<<2);uha(c)}c=k[z>>2]|0;if(!c){W=f;yb(W|0)}d=k[I>>2]|0;if((d|0)!=(c|0))k[I>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);W=f;yb(W|0)}else if((R|0)==68){g=(k[G>>2]|0)+36|0;h=lD(g,76)|0;m=Q;n=U;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));f=v-c|0;if(f>>>0>4294967279){dH(T);R=72}else if(f>>>0<11)i[T>>0]=f<<1;else R=72;if((R|0)==72){R=f+16&-16;e=GG(R)|0;k[w>>2]=e;k[T>>2]=R|1;k[y>>2]=f}if((c|0)==(b|0))c=e;else{d=e;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(b|0))break;else d=d+1|0}c=e+f|0}i[c>>0]=0;k[h+4>>2]=0;m=h+8|0;n=Q;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;i[h+56>>0]=0;k[h+52>>2]=4;k[h>>2]=5932;i[h+57>>0]=0;i[h+58>>0]=0;x=0;sa(477,h+60|0,T|0);R=x;x=0;do if(!(R&1)){k[h+72>>2]=0;x=0;d=Ka(857,g|0,h|0)|0;R=x;x=0;if(!(R&1)){k[S>>2]=d;e=d;if(d|0){k[K>>2]=0;c=k[M>>2]|0;if((c|0)==(k[N>>2]|0)){x=0;sa(455,O|0,S|0);S=x;x=0;if(S&1)break}else{k[c>>2]=e;k[M>>2]=(k[M>>2]|0)+4}x=0;sa(k[k[L>>2]>>2]|0,L|0,d|0);S=x;x=0;if(S&1)break}P1(T);k[V>>2]=b;YH(P,U);r=W;return P|0}}while(0);W=mb()|0;P1(T);yb(W|0)}else if((R|0)==86){k[V>>2]=c;YH(P,U);r=W;return P|0}if((R|0)==44)P1(H);P1(J);W=c;yb(W|0);return 0}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;A=r;r=r+128|0;z=A;e=A+112|0;l=A+100|0;u=A+88|0;v=A+76|0;q=A+64|0;s=A+52|0;n=A+40|0;t=b+68|0;o=b+72|0;p=b+76|0;d=k[o>>2]|0;if((k[p>>2]|0)==(d|0)){d=c+36|0;e=lD(d,104)|0;f=z;g=b+8|0;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));k[e+4>>2]=0;f=e+8|0;g=z;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;f=e+56|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[e+52>>2]=7;k[e+72>>2]=0;k[e+76>>2]=0;k[e+80>>2]=0;k[e>>2]=6984;k[e+68>>2]=7116;f=e+92|0;k[f>>2]=0;k[e+96>>2]=0;k[e+88>>2]=f;i[e+100>>0]=0;i[e+101>>0]=0;d=N4(d,e)|0;e=d+68|0;k[z>>2]=a;f=a;if(a|0){k[e+16>>2]=0;g=e+8|0;h=k[g>>2]|0;if((h|0)==(k[e+12>>2]|0))nw(e+4|0,z);else{k[h>>2]=f;k[g>>2]=(k[g>>2]|0)+4}rc[k[k[e>>2]>>2]&1023](e,a)}z=d;r=A;return z|0}y=b+72|0;w=k[d>>2]|0;m=a+80|0;_G(e,m);h=(KH(e,38885)|0)==0;P1(e);d=(w|0)==0;if(h){if(d)w3();if((k[(k[(k[w>>2]|0)+-4>>2]|0)+4>>2]|0)==26334){y=c+36|0;z=lD(y,104)|0;zk(z,b);z=N4(y,z)|0;a=wc[k[(k[a>>2]|0)+128>>2]&127](a,w,c)|0;k[k[z+68+4>>2]>>2]=a;r=A;return z|0}if(!(Ot(w,96,328,0)|0)){z=b;r=A;return z|0}d=c+36|0;e=lD(d,104)|0;f=z;g=b+8|0;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));k[e+4>>2]=0;f=e+8|0;g=z;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;b=e+56|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[e+52>>2]=7;k[e+72>>2]=0;k[e+76>>2]=0;k[e+80>>2]=0;k[e>>2]=6984;k[e+68>>2]=7116;b=e+92|0;k[b>>2]=0;k[e+96>>2]=0;k[e+88>>2]=b;i[e+100>>0]=0;i[e+101>>0]=0;d=N4(d,e)|0;if(i[a+92>>0]|0)if(!(i[w+92>>0]|0)){_G(l,a+68|0);b=(KH(l,38885)|0)==0;P1(l);if(!b){e=d+68|0;k[z>>2]=a;k[e+16>>2]=0;f=e+8|0;g=k[f>>2]|0;if((g|0)==(k[e+12>>2]|0))nw(e+4|0,z);else{k[g>>2]=a;k[f>>2]=(k[f>>2]|0)+4}rc[k[k[e>>2]>>2]&1023](e,a)}}e=k[o>>2]|0;l=(k[p>>2]|0)-e>>2;if(!l){z=d;r=A;return z|0}m=d+68|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;f=0;while(1){e=k[e+(f<<2)>>2]|0;k[z>>2]=e;g=e;if(e|0){k[n>>2]=0;h=k[o>>2]|0;if((h|0)==(k[p>>2]|0))nw(q,z);else{k[h>>2]=g;k[o>>2]=(k[o>>2]|0)+4}rc[k[k[m>>2]>>2]&1023](m,e)}f=f+1|0;if((f|0)==(l|0))break;e=k[y>>2]|0}r=A;return d|0}if(d)w3();if((k[(k[(k[w>>2]|0)+-4>>2]|0)+4>>2]|0)!=26334){d=c+36|0;e=lD(d,104)|0;f=z;g=b+8|0;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));k[e+4>>2]=0;f=e+8|0;g=z;h=f+40|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;y=e+56|0;k[y>>2]=0;k[y+4>>2]=0;k[y+8>>2]=0;k[e+52>>2]=7;k[e+72>>2]=0;k[e+76>>2]=0;k[e+80>>2]=0;k[e>>2]=6984;k[e+68>>2]=7116;y=e+92|0;k[y>>2]=0;k[e+96>>2]=0;k[e+88>>2]=y;i[e+100>>0]=0;i[e+101>>0]=0;d=N4(d,e)|0;_G(n,m);y=(KH(n,38885)|0)==0;P1(n);s=d+68|0;if(!y){k[z>>2]=a;e=a;if(a|0){k[s+16>>2]=0;f=s+8|0;g=k[f>>2]|0;if((g|0)==(k[s+12>>2]|0))nw(s+4|0,z);else{k[g>>2]=e;k[f>>2]=(k[f>>2]|0)+4}rc[k[k[s>>2]>>2]&1023](s,a)}}e=(b|0)==0?0:t;f=k[e+4>>2]|0;q=(k[e+8>>2]|0)-f>>2;if(!q){z=d;r=A;return z|0}l=e+4|0;m=d+68+16|0;n=d+68+8|0;o=d+68+12|0;p=d+68+4|0;e=0;while(1){f=k[f+(e<<2)>>2]|0;k[z>>2]=f;g=f;if(f|0){k[m>>2]=0;h=k[n>>2]|0;if((h|0)==(k[o>>2]|0))nw(p,z);else{k[h>>2]=g;k[n>>2]=(k[n>>2]|0)+4}rc[k[k[s>>2]>>2]&1023](s,f)}e=e+1|0;if((e|0)==(q|0))break;f=k[l>>2]|0}r=A;return d|0}d=w+80|0;_G(u,d);a:do if(!(KH(u,38885)|0))P1(u);else{x=0;sa(430,v|0,w+68|0);z=x;x=0;if(z&1){A=mb()|0;P1(u);yb(A|0)}if(!(KH(v,38885)|0)){P1(v);P1(u);break}x=0;sa(430,q|0,d|0);z=x;x=0;do if(z&1)d=mb()|0;else{x=0;sa(430,s|0,m|0);z=x;x=0;if(z&1){d=mb()|0;P1(q);break}h=j[q>>1]|0;f=(h&1)==0;e=(h&254)>>>1;g=f?e:k[q+4>>2]|0;z=i[s>>0]|0;d=(z&1)==0;h=(h&65535)>>>8&255;if((g|0)!=((d?(z&255)>>>1:k[s+4>>2]|0)|0)){P1(s);P1(q);P1(v);P1(u);z=0;r=A;return z|0}d=d?s+1|0:k[s+8>>2]|0;if(!f){z=(tG(k[q+8>>2]|0,d,g)|0)==0;P1(s);P1(q);P1(v);P1(u);if(z)break a;else d=0;r=A;return d|0}if(!g){P1(s);P1(q);P1(v);P1(u);break a}b:do if(h<<24>>24==(i[d>>0]|0)){f=q+1|0;while(1){e=e+-1|0;f=f+1|0;if(!e)break;d=d+1|0;if((i[f>>0]|0)!=(i[d>>0]|0))break b}P1(s);P1(q);P1(v);P1(u);break a}while(0);P1(s);P1(q);P1(v);P1(u);z=0;r=A;return z|0}while(0);P1(v);A=d;P1(u);yb(A|0)}while(0);y=c+36|0;z=lD(y,104)|0;zk(z,b);z=N4(y,z)|0;a=wc[k[(k[a>>2]|0)+128>>2]&127](a,w,c)|0;k[k[z+68+4>>2]>>2]=a;r=A;return z|0}function qe(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;v=0;C=r;r=r+320|0;B=C+280|0;z=C+264|0;y=C+252|0;A=C+200|0;g=C+240|0;f=C+184|0;e=C+172|0;u=C+52|0;p=C+160|0;s=C;q=C+120|0;t=C+104|0;j=C+64|0;l=C+40|0;w=a+76|0;b=LD(k[w>>2]|0)|0;h=a+80|0;if((b|0)==0?1:b>>>0>(k[h>>2]|0)>>>0)b=k[w>>2]|0;o=bO(b)|0;b=o|0?o:b;a:do if(b|0){c=i[38919]|0;if(c<<24>>24){d=38919;do{if((i[b>>0]|0)!=c<<24>>24)break a;b=b+1|0;d=d+1|0;c=i[d>>0]|0}while(c<<24>>24!=0)}c=i[43519]|0;b:do if(!(c<<24>>24))c=0;else{d=43519;while(1){if((i[b>>0]|0)!=c<<24>>24)break b;b=b+1|0;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){c=0;break}}}while(0);o=c<<24>>24==0?b:0;if(!((o|0)==0?1:o>>>0>(k[h>>2]|0)>>>0)){k[w>>2]=(k[w>>2]|0)+2;lE(g,39906,11);x=0;Qa(74,f|0,39918,7);o=x;x=0;if(o&1)b=mb()|0;else{x=0;Qa(74,e|0,40150,44);o=x;x=0;do if(o&1)b=mb()|0;else{x=0;Ua(31,a|0,g|0,f|0,e|0);o=x;x=0;if(o&1){b=mb()|0;P1(e);break}else{P1(e);P1(f);P1(g);break a}}while(0);P1(f)}P1(g);C=b;yb(C|0)}}while(0);b=LD(k[w>>2]|0)|0;if((b|0)==0?1:b>>>0>(k[h>>2]|0)>>>0)b=k[w>>2]|0;o=bO(b)|0;b=$F(o|0?o:b)|0;if(b|0){b=aE(b)|0;if(b|0){o=(i[b>>0]|0)==58?b+1|0:0;if(!((o|0)==0?1:o>>>0>(k[h>>2]|0)>>>0)){g=a+152|0;k[B>>2]=k[g>>2];k[B+4>>2]=k[g+4>>2];k[B+8>>2]=k[g+8>>2];b=k[w>>2]|0;h=a+84|0;k[z>>2]=k[h>>2];k[z+4>>2]=k[h+4>>2];k[z+8>>2]=k[h+8>>2];j=a+96|0;k[y>>2]=k[j>>2];k[y+4>>2]=k[j+4>>2];k[y+8>>2]=k[j+8>>2];l=a+108|0;m=A;n=l;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Bt(a,1,0)|0;if(!(Gs(a,1,0)|0)){m=l;n=A;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));k[g>>2]=k[B>>2];k[g+4>>2]=k[B+4>>2];k[g+8>>2]=k[B+8>>2];k[w>>2]=b;k[j>>2]=k[y>>2];k[j+4>>2]=k[y+4>>2];k[j+8>>2]=k[y+8>>2];k[h>>2]=k[z>>2];k[h+4>>2]=k[z+4>>2];k[h+8>>2]=k[z+8>>2]}c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(p);v=31}else if(f>>>0<11){i[p>>0]=f<<1;b=p+1|0}else v=31;if((v|0)==31){o=f+16&-16;b=GG(o)|0;k[p+8>>2]=b;k[p>>2]=o|1;k[p+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;x=0;sa(492,u|0,p|0);o=x;x=0;if(o&1){C=mb()|0;P1(p);yb(C|0)}P1(p);m=s;n=l;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));k[B>>2]=k[g>>2];k[B+4>>2]=k[g+4>>2];k[B+8>>2]=k[g+8>>2];c=k[w>>2]|0;k[z>>2]=k[h>>2];k[z+4>>2]=k[h+4>>2];k[z+8>>2]=k[h+8>>2];k[y>>2]=k[j>>2];k[y+4>>2]=k[j+4>>2];k[y+8>>2]=k[j+8>>2];m=A;n=l;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;xa(64,a|0,1,0)|0;p=x;x=0;if(p&1)v=48;else{x=0;b=xa(84,a|0,1,0)|0;p=x;x=0;if(p&1)v=48;else{if(!b){m=l;n=A;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));k[g>>2]=k[B>>2];k[g+4>>2]=k[B+4>>2];k[g+8>>2]=k[B+8>>2];k[w>>2]=c;k[j>>2]=k[y>>2];k[j+4>>2]=k[y+4>>2];k[j+8>>2]=k[y+8>>2];k[h>>2]=k[z>>2];k[h+4>>2]=k[z+4>>2];k[h+8>>2]=k[z+8>>2]}x=0;d=ua(248,a|0)|0;B=x;x=0;if(B&1)v=48;else{i[d+48>>0]=0;b=(k[a+40>>2]|0)+36|0;x=0;c=Ka(856,b|0,80)|0;B=x;x=0;if(B&1)v=48;else{m=q;n=s;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));x=0;sa(430,t|0,u|0);B=x;x=0;if(B&1)v=48;else{k[c+4>>2]=0;m=c+8|0;n=q;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;k[c+52>>2]=0;k[c>>2]=8476;k[c+56>>2]=d;x=0;sa(430,c+60|0,t|0);B=x;x=0;do if(B&1)b=mb()|0;else{i[c+72>>0]=0;i[c+73>>0]=0;k[c+76>>2]=0;x=0;b=Ka(857,b|0,c|0)|0;B=x;x=0;if(B&1){b=mb()|0;break}P1(t);P1(u);B=b;r=C;return B|0}while(0);P1(t)}}}}}if((v|0)==48)b=mb()|0;P1(u);C=b;yb(C|0)}}}g=ki(a)|0;i[g+48>>0]=0;if(!g)f=0;else f=Ot(g,64,256,0)|0;b=a+152|0;k[B>>2]=k[b>>2];k[B+4>>2]=k[b+4>>2];k[B+8>>2]=k[b+8>>2];c=k[w>>2]|0;d=a+84|0;k[z>>2]=k[d>>2];k[z+4>>2]=k[d+4>>2];k[z+8>>2]=k[d+8>>2];e=a+96|0;k[y>>2]=k[e>>2];k[y+4>>2]=k[e+4>>2];k[y+8>>2]=k[e+8>>2];h=a+108|0;m=A;n=h;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Bt(a,1,0)|0;do if(!(Eo(a,1,0)|0)){m=h;n=A;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));k[b>>2]=k[B>>2];k[b+4>>2]=k[B+4>>2];k[b+8>>2]=k[B+8>>2];k[w>>2]=c;k[e>>2]=k[y>>2];k[e+4>>2]=k[y+4>>2];k[e+8>>2]=k[y+8>>2];k[d>>2]=k[z>>2];k[d+4>>2]=k[z+4>>2];k[d+8>>2]=k[z+8>>2];d=0;e=0}else if((k[g+52>>2]|0)==6){d=0;e=1}else{if(f|0)if((k[f+76>>2]|0)==2){d=0;e=1;break}d=1;e=0}while(0);b=(k[a+40>>2]|0)+36|0;c=lD(b,80)|0;m=j;n=h;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));lE(l,78097,0);x=0;m=B;n=j;o=m+40|0;do{k[m>>2]=k[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));Ba(11,c|0,B|0,g|0,l|0,d|0,e|0);B=x;x=0;if(!(B&1)){x=0;b=Ka(857,b|0,c|0)|0;B=x;x=0;if(!(B&1)){P1(l);B=b;r=C;return B|0}}C=mb()|0;P1(l);yb(C|0);return 0}function re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;u=0;v=r;r=r+432|0;y=v+320|0;w=v+216|0;h=v+112|0;n=v+48|0;m=v+36|0;o=v+24|0;q=v+12|0;s=v;t=b+4|0;p=b+72|0;kA(y,k[p>>2]|0);k[h>>2]=4732;l=h+4|0;z=y+4|0;x=0;sa(430,l|0,z|0);g=x;x=0;do if(g&1){c=mb()|0;u=21}else{x=0;sa(431,h+16|0,y+16|0);g=x;x=0;if(g&1){c=mb()|0;P1(l);u=21;break}g=h+68|0;f=y+68|0;k[g>>2]=k[f>>2];k[g+4>>2]=k[f+4>>2];k[g+8>>2]=k[f+8>>2];k[g+12>>2]=k[f+12>>2];k[g+16>>2]=k[f+16>>2];k[g+20>>2]=k[f+20>>2];k[g+24>>2]=k[f+24>>2];j[g+28>>1]=j[f+28>>1]|0;x=0;sa(432,w|0,h|0);g=x;x=0;if(g&1){c=mb()|0;k[h>>2]=4732;P1(h+52|0);d=k[h+28>>2]|0;e=d;if(d|0){f=h+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~(((g+-24-e|0)>>>0)/24|0)*24|0);uha(d)}f=k[h+16>>2]|0;g=f;if(f|0){d=h+20|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);uha(f)}P1(l);break}k[h>>2]=4732;P1(h+52|0);c=k[h+28>>2]|0;d=c;if(c|0){e=h+32|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~(((f+-24-d|0)>>>0)/24|0)*24|0);uha(c)}e=k[h+16>>2]|0;f=e;if(e|0){c=h+20|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);uha(e)}P1(l);f=b+116|0;c=k[f>>2]|0;g=(k[b+120>>2]|0)-c>>2;a:do if(!g){d=w+4|0;u=16}else{d=w+4|0;e=0;while(1){u=k[c+(e<<2)>>2]|0;x=0;sa(k[(k[u>>2]|0)+28>>2]|0,u|0,w|0);u=x;x=0;if(u&1)break;x=0;ra(347,d|0);u=x;x=0;if(u&1)break;e=e+1|0;if(e>>>0>=g>>>0){u=16;break a}c=k[f>>2]|0}c=mb()|0;u=37}while(0);b:do if((u|0)==16){l=b+8|0;c=i[l>>0]|0;if(!(c&1))c=(c&255)>>>1;else c=k[b+12>>2]|0;x=0;sa(538,d|0,(c|0)==0|0);h=x;x=0;c:do if(!(h&1)){x=0;sa(430,n|0,w+8|0);h=x;x=0;if(!(h&1)){x=0;sa(431,n+12|0,w+20|0);h=x;x=0;if(h&1){c=mb()|0;P1(n);u=37;break b}x=0;sa(539,t|0,n|0);h=x;x=0;if(h&1){c=mb()|0;P1(n+48|0);d=k[n+24>>2]|0;e=d;if(d|0){f=n+28|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~(((g+-24-e|0)>>>0)/24|0)*24|0);uha(d)}d=k[n+12>>2]|0;e=d;if(d|0){f=n+16|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);uha(d)}P1(n);break b}P1(n+48|0);c=k[n+24>>2]|0;d=c;if(c|0){e=n+28|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~(((f+-24-d|0)>>>0)/24|0)*24|0);uha(c)}c=k[n+12>>2]|0;d=c;if(c|0){e=n+16|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);uha(c)}P1(n);h=k[(k[p>>2]|0)+12>>2]|0;n=OD(h)|0;x=0;Qa(74,m|0,h|0,n|0);n=x;x=0;if(!(n&1)){d=i[m>>0]|0;c=(d&1)==0;d=c?(d&255)>>>1:k[m+4>>2]|0;f=i[l>>0]|0;e=(f&1)==0;h=b+12|0;f=e?(f&255)>>>1:k[h>>2]|0;d:do if(d>>>0>f>>>0)u=57;else{g=c?m+1|0:k[m+8>>2]|0;if(d|0){d=g+d|0;c=(e?l+1|0:k[b+16>>2]|0)+f|0;do{d=d+-1|0;c=c+-1|0;if((i[d>>0]|0)!=(i[c>>0]|0)){u=57;break d}}while((d|0)!=(g|0))}P1(m)}while(0);do if((u|0)==57){P1(m);c=i[l>>0]|0;if(!(c&1))c=(c&255)>>>1;else c=k[h>>2]|0;if(!c)break;m=k[(k[p>>2]|0)+12>>2]|0;n=OD(m)|0;x=0;Qa(74,o|0,m|0,n|0);n=x;x=0;if(n&1)break c;x=0;sa(484,t|0,o|0);n=x;x=0;if(n&1){c=mb()|0;P1(o);break b}else{P1(o);break}}while(0);c=i[l>>0]|0;if(!(c&1)){e=l+1|0;d=(c&255)>>>1;c=l+1|0}else{c=k[b+16>>2]|0;e=c;d=k[h>>2]|0}d=e+d|0;e:do if((c|0)!=(d|0)){while(1){if((i[c>>0]|0)<=-1)break;c=c+1|0;if((c|0)==(d|0))break e}x=0;c=ua(227,t|0)|0;o=x;x=0;if(o&1)break c;d=b+104|0;if((c|0)==3){x=0;Ka(874,d|0,39870)|0;u=x;x=0;if(u&1)break c;else break}o=k[(k[p>>2]|0)+12>>2]|0;p=OD(o)|0;x=0;Qa(74,s|0,o|0,p|0);p=x;x=0;if(p&1)break c;x=0;c=xa(50,s|0,0,39852)|0;p=x;x=0;if(p&1){c=mb()|0;P1(s);break b}k[q>>2]=k[c>>2];k[q+4>>2]=k[c+4>>2];k[q+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;if(!(i[d>>0]&1)){i[d+1>>0]=0;i[d>>0]=0}else{i[k[b+112>>2]>>0]=0;k[b+108>>2]=0}x=0;sa(443,d|0,0);u=x;x=0;if(u&1){u=Eb(0)|0;Nba(u)}else{k[d>>2]=k[q>>2];k[d+4>>2]=k[q+4>>2];k[d+8>>2]=k[q+8>>2];k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;P1(q);P1(s);break}}while(0);d=b+104|0;c=i[d>>0]|0;if(!(c&1))c=(c&255)>>>1;else c=k[b+108>>2]|0;if(c|0){x=0;sa(540,t|0,d|0);u=x;x=0;if(u&1)break}x=0;sa(430,a|0,l|0);u=x;x=0;if(u&1)break;x=0;sa(431,a+12|0,b+20|0);u=x;x=0;if(u&1){c=mb()|0;P1(a);u=37;break b}Ez(w);k[y>>2]=4732;P1(y+52|0);c=k[y+28>>2]|0;d=c;if(c|0){e=y+32|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~(((f+-24-d|0)>>>0)/24|0)*24|0);uha(c)}e=k[y+16>>2]|0;if(!e){P1(z);r=v;return}c=y+20|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);uha(e);P1(z);r=v;return}}}while(0);c=mb()|0;u=37}while(0);Ez(w)}while(0);k[y>>2]=4732;P1(y+52|0);d=k[y+28>>2]|0;e=d;if(d|0){f=y+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~(((g+-24-e|0)>>>0)/24|0)*24|0);uha(d)}f=k[y+16>>2]|0;if(!f){P1(z);yb(c|0)}d=y+20|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);uha(f);P1(z);yb(c|0)}function se(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;A=r;r=r+144|0;u=A+40|0;v=A;y=A+120|0;z=A+80|0;n=a+40|0;b=(k[n>>2]|0)+36|0;c=lD(b,84)|0;w=a+108|0;d=u;l=w;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));k[c+4>>2]=0;d=c+8|0;l=u;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;k[c+52>>2]=0;k[c+60>>2]=0;k[c+64>>2]=0;k[c+68>>2]=0;k[c>>2]=10444;k[c+56>>2]=10548;k[c+76>>2]=0;i[c+80>>0]=0;i[c+81>>0]=0;t=N4(b,c)|0;Bt(a,0,0)|0;if(!(Os(a,1,0)|0)){if(Js(a,1,0)|0)i[t+81>>0]=1}else i[t+80>>0]=1;Bt(a,0,0)|0;do if(!(Or(a,1,0)|0)){if(us(a,1,0)|0){s=a+152|0;k[u>>2]=k[s>>2];k[u+4>>2]=k[s+4>>2];k[u+8>>2]=k[s+8>>2];s=yd(a,u,0)|0;k[t+76>>2]=s;break}b=t+56|0;c=wf(a)|0;k[u>>2]=c;d=c;if(c|0){k[t+72>>2]=0;e=t+64|0;f=k[e>>2]|0;if((f|0)==(k[t+68>>2]|0))jw(t+60|0,u);else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[b>>2]>>2]&1023](b,c)}}else{s=de(a)|0;k[t+76>>2]=s}while(0);o=a+152|0;k[u>>2]=k[o>>2];k[u+4>>2]=k[o+4>>2];k[u+8>>2]=k[o+8>>2];p=a+76|0;b=k[p>>2]|0;q=a+84|0;k[v>>2]=k[q>>2];k[v+4>>2]=k[q+4>>2];k[v+8>>2]=k[q+8>>2];s=a+96|0;k[y>>2]=k[s>>2];k[y+4>>2]=k[s+4>>2];k[y+8>>2]=k[s+8>>2];d=z;l=w;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));Bt(a,1,0)|0;if(Us(a,1,0)|0){e=t+56|0;f=t+72|0;g=t+64|0;h=t+68|0;j=t+60|0;do{b=wf(a)|0;k[u>>2]=b;c=b;if(b|0){k[f>>2]=0;d=k[g>>2]|0;if((d|0)==(k[h>>2]|0))jw(j,u);else{k[d>>2]=c;k[g>>2]=(k[g>>2]|0)+4}rc[k[k[e>>2]>>2]&1023](e,b)}k[u>>2]=k[o>>2];k[u+4>>2]=k[o+4>>2];k[u+8>>2]=k[o+8>>2];b=k[p>>2]|0;k[v>>2]=k[q>>2];k[v+4>>2]=k[q+4>>2];k[v+8>>2]=k[q+8>>2];k[y>>2]=k[s>>2];k[y+4>>2]=k[s+4>>2];k[y+8>>2]=k[s+8>>2];d=z;l=w;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));Bt(a,1,0)|0}while((Us(a,1,0)|0)!=0)}d=w;l=z;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));k[o>>2]=k[u>>2];k[o+4>>2]=k[u+4>>2];k[o+8>>2]=k[u+8>>2];k[p>>2]=b;k[s>>2]=k[y>>2];k[s+4>>2]=k[y+4>>2];k[s+8>>2]=k[y+8>>2];k[q>>2]=k[v>>2];k[q+4>>2]=k[v+4>>2];k[q+8>>2]=k[v+8>>2];if(Or(a,1,0)|0){b=(k[n>>2]|0)+36|0;c=lD(b,84)|0;d=u;l=w;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));k[c+4>>2]=0;d=c+8|0;l=u;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;i[c+56>>0]=0;k[c+64>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;k[c>>2]=5788;k[c+60>>2]=5904;k[c+80>>2]=0;k[c+52>>2]=4;f=N4(b,c)|0;g=f+60|0;h=t+76|0;c=k[h>>2]|0;k[u>>2]=c;d=c;if(c|0){k[g+16>>2]=0;e=g+8|0;b=k[e>>2]|0;if((b|0)==(k[g+12>>2]|0))uw(g+4|0,u);else{k[b>>2]=d;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[g>>2]>>2]&1023](g,c)}b=(k[n>>2]|0)+36|0;c=lD(b,76)|0;d=v;l=w;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));k[c+4>>2]=0;d=c+8|0;l=v;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;i[c+56>>0]=0;k[c+52>>2]=4;k[c>>2]=5932;i[c+57>>0]=0;i[c+58>>0]=0;x=0;Qa(74,u|0,41822,1);n=x;x=0;if(n&1){A=mb()|0;yb(A|0)}x=0;sa(477,c+60|0,u|0);n=x;x=0;if(n&1){A=mb()|0;P1(u);yb(A|0)}P1(u);k[c+72>>2]=0;b=N4(b,c)|0;k[u>>2]=b;c=b;if(b|0){k[g+16>>2]=0;d=g+8|0;e=k[d>>2]|0;if((e|0)==(k[g+12>>2]|0))uw(g+4|0,u);else{k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4}rc[k[k[g>>2]>>2]&1023](g,b)}b=de(a)|0;k[u>>2]=b;c=b;if(b|0){k[g+16>>2]=0;d=g+8|0;e=k[d>>2]|0;if((e|0)==(k[g+12>>2]|0))uw(g+4|0,u);else{k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4}rc[k[k[g>>2]>>2]&1023](g,b)}k[h>>2]=f}k[u>>2]=k[o>>2];k[u+4>>2]=k[o+4>>2];k[u+8>>2]=k[o+8>>2];b=k[p>>2]|0;k[v>>2]=k[q>>2];k[v+4>>2]=k[q+4>>2];k[v+8>>2]=k[q+8>>2];k[y>>2]=k[s>>2];k[y+4>>2]=k[s+4>>2];k[y+8>>2]=k[s+8>>2];d=z;l=w;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));Bt(a,1,0)|0;if(!(Us(a,1,0)|0)){d=w;l=z;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));k[o>>2]=k[u>>2];k[o+4>>2]=k[u+4>>2];k[o+8>>2]=k[u+8>>2];k[p>>2]=b;k[s>>2]=k[y>>2];k[s+4>>2]=k[y+4>>2];k[s+8>>2]=k[y+8>>2];k[q>>2]=k[v>>2];k[q+4>>2]=k[v+4>>2];k[q+8>>2]=k[v+8>>2];r=A;return t|0}e=t+56|0;f=t+72|0;g=t+64|0;h=t+68|0;j=t+60|0;do{b=wf(a)|0;k[u>>2]=b;c=b;if(b|0){k[f>>2]=0;d=k[g>>2]|0;if((d|0)==(k[h>>2]|0))jw(j,u);else{k[d>>2]=c;k[g>>2]=(k[g>>2]|0)+4}rc[k[k[e>>2]>>2]&1023](e,b)}k[u>>2]=k[o>>2];k[u+4>>2]=k[o+4>>2];k[u+8>>2]=k[o+8>>2];b=k[p>>2]|0;k[v>>2]=k[q>>2];k[v+4>>2]=k[q+4>>2];k[v+8>>2]=k[q+8>>2];k[y>>2]=k[s>>2];k[y+4>>2]=k[s+4>>2];k[y+8>>2]=k[s+8>>2];d=z;l=w;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));Bt(a,1,0)|0}while((Us(a,1,0)|0)!=0);d=w;l=z;m=d+40|0;do{k[d>>2]=k[l>>2];d=d+4|0;l=l+4|0}while((d|0)<(m|0));k[o>>2]=k[u>>2];k[o+4>>2]=k[u+4>>2];k[o+8>>2]=k[u+8>>2];k[p>>2]=b;k[s>>2]=k[y>>2];k[s+4>>2]=k[y+4>>2];k[s+8>>2]=k[y+8>>2];k[q>>2]=k[v>>2];k[q+4>>2]=k[v+4>>2];k[q+8>>2]=k[v+8>>2];r=A;return t|0}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;l=0;C=r;r=r+176|0;B=C;g=C+160|0;h=C+120|0;n=C+104|0;u=C+92|0;v=C+80|0;A=C+40|0;w=b+64|0;c=k[w>>2]|0;if(c|0)if((k[c+72>>2]|0)!=(k[c+68>>2]|0)){d=a+20|0;m=a+24|0;e=k[m>>2]|0;f=e;if((e|0)==(k[d>>2]|0))c=k[a+8>>2]|0;else c=f+-4|0;if((k[(k[c>>2]|0)+52>>2]|0)==1){c=b+68|0;if(KH(c,33020)|0)if(KH(c,33039)|0)if(KH(c,33055)|0)if(KH(c,33069)|0){B=lg(a,b)|0;r=C;return B|0}c=(k[a+4>>2]|0)+36|0;d=lD(c,72)|0;q=B;o=b+8|0;p=q+40|0;do{k[q>>2]=k[o>>2];q=q+4|0;o=o+4|0}while((q|0)<(p|0));k[d+4>>2]=0;q=d+8|0;o=B;p=q+40|0;do{k[q>>2]=k[o>>2];q=q+4|0;o=o+4|0}while((q|0)<(p|0));k[d+52>>2]=6;k[d+56>>2]=0;i[d+60>>0]=0;k[d>>2]=9784;k[d+64>>2]=b;i[d+68>>0]=1;B=N4(c,d)|0;r=C;return B|0}k[g>>2]=b;if(f>>>0<(k[a+28>>2]|0)>>>0){k[e>>2]=b;k[m>>2]=(k[m>>2]|0)+4}else Dw(d,g);z=a+4|0;e=(k[z>>2]|0)+36|0;f=lD(e,88)|0;q=h;o=b+8|0;p=q+40|0;do{k[q>>2]=k[o>>2];q=q+4|0;o=o+4|0}while((q|0)<(p|0));_G(n,b+68|0);g=k[b+80>>2]|0;c=k[w>>2]|0;if(!c){d=0;l=20}else{x=0;c=Ka(k[(k[c>>2]|0)+36>>2]|0,c|0,a|0)|0;y=x;x=0;if(!(y&1)){x=0;c=ua(k[(k[c>>2]|0)+72>>2]|0,c|0)|0;y=x;x=0;if(!(y&1)){d=c;l=20}}}if((l|0)==20){k[f+4>>2]=0;q=f+8|0;o=h;p=q+40|0;do{k[q>>2]=k[o>>2];q=q+4|0;o=o+4|0}while((q|0)<(p|0));c=f+52|0;k[c>>2]=0;k[f+56>>2]=0;i[f+60>>0]=0;k[f+64>>2]=d;k[f>>2]=9872;x=0;sa(430,f+68|0,n|0);y=x;x=0;if(!(y&1)){k[f+80>>2]=g;k[f+84>>2]=0;k[c>>2]=3;x=0;y=Ka(857,e|0,f|0)|0;t=x;x=0;if(!(t&1)){P1(n);c=k[b+84>>2]|0;if(c|0)k[y+84>>2]=c;k[m>>2]=(k[m>>2]|0)+-4;t=y+64|0;c=k[t>>2]|0;a:do if(!c)e=0;else{h=(k[c+72>>2]|0)-(k[c+68>>2]|0)>>2;if(!h)e=0;else{l=y+68|0;m=u+4|0;n=v+4|0;o=v+8|0;p=v+1|0;b=u+1|0;q=u+8|0;s=0;while(1){c=k[(k[(k[w>>2]|0)+68>>2]|0)+(s<<2)>>2]|0;if((k[c+52>>2]|0)!=6){e=1;break a}c=k[c+64>>2]|0;if((k[c+52>>2]|0)==3){_G(u,c+68|0);x=0;sa(430,v|0,l|0);g=x;x=0;if(g&1)break;g=j[u>>1]|0;e=(g&1)==0;d=(g&254)>>>1;f=e?d:k[m>>2]|0;D=i[v>>0]|0;c=(D&1)==0;g=(g&65535)>>>8&255;b:do if((f|0)==((c?(D&255)>>>1:k[n>>2]|0)|0)){c=c?p:k[o>>2]|0;if(!e){e=(tG(k[q>>2]|0,c,f)|0)==0;break}if(!f){e=1;break}if(g<<24>>24==(i[c>>0]|0))e=b;else{e=0;break}while(1){d=d+-1|0;e=e+1|0;if(!d){e=1;break b}c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0)){e=0;break}}}else e=0;while(0);P1(v);P1(u)}else e=0;s=s+1|0;if(s>>>0>=h>>>0|e)break a}D=mb()|0;P1(u);yb(D|0)}}while(0);c=(k[z>>2]|0)+36|0;d=lD(c,88)|0;f=y+8|0;q=B;o=f;p=q+40|0;do{k[q>>2]=k[o>>2];q=q+4|0;o=o+4|0}while((q|0)<(p|0));k[d+4>>2]=0;q=d+8|0;o=B;p=q+40|0;do{k[q>>2]=k[o>>2];q=q+4|0;o=o+4|0}while((q|0)<(p|0));k[d+52>>2]=0;k[d+56>>2]=0;i[d+60>>0]=0;k[d+68>>2]=0;k[d+72>>2]=0;k[d+76>>2]=0;k[d>>2]=9664;k[d+64>>2]=9756;i[d+84>>0]=0;i[d+85>>0]=0;i[d+86>>0]=0;i[d+87>>0]=0;b=N4(c,d)|0;if(!e){c=y+68|0;if(KH(c,33020)|0)if(KH(c,33039)|0)if(KH(c,33055)|0)if(KH(c,33069)|0){d=(k[z>>2]|0)+36|0;e=lD(d,88)|0;c=k[t>>2]|0;if(!c){q=A;o=f;p=q+40|0;do{k[q>>2]=k[o>>2];q=q+4|0;o=o+4|0}while((q|0)<(p|0));c=A}else{q=A;o=c+8|0;p=q+40|0;do{k[q>>2]=k[o>>2];q=q+4|0;o=o+4|0}while((q|0)<(p|0));c=A}k[e+4>>2]=0;q=e+8|0;o=c;p=q+40|0;do{k[q>>2]=k[o>>2];q=q+4|0;o=o+4|0}while((q|0)<(p|0));k[e+52>>2]=0;k[e+56>>2]=0;i[e+60>>0]=0;k[e+68>>2]=0;k[e+72>>2]=0;k[e+76>>2]=0;k[e>>2]=9664;k[e+64>>2]=9756;i[e+84>>0]=0;i[e+85>>0]=0;i[e+86>>0]=0;i[e+87>>0]=0;c=N4(d,e)|0;k[t>>2]=c;c=b+64|0;k[B>>2]=y;k[b+80>>2]=0;d=b+72|0;e=k[d>>2]|0;if((e|0)==(k[b+76>>2]|0))xw(b+68|0,B);else{k[e>>2]=y;k[d>>2]=(k[d>>2]|0)+4}rc[k[k[c>>2]>>2]&1023](c,y)}}c=k[t>>2]|0;if(!c){c=(k[z>>2]|0)+36|0;d=lD(c,88)|0;q=B;o=f;p=q+40|0;do{k[q>>2]=k[o>>2];q=q+4|0;o=o+4|0}while((q|0)<(p|0));k[d+4>>2]=0;q=d+8|0;o=B;p=q+40|0;do{k[q>>2]=k[o>>2];q=q+4|0;o=o+4|0}while((q|0)<(p|0));k[d+52>>2]=0;k[d+56>>2]=0;i[d+60>>0]=0;k[d+68>>2]=0;k[d+72>>2]=0;k[d+76>>2]=0;k[d>>2]=9664;k[d+64>>2]=9756;i[d+84>>0]=0;i[d+85>>0]=0;i[d+86>>0]=0;i[d+87>>0]=0;c=N4(c,d)|0}c=Od(a,c,y)|0;d=tc[k[(k[c>>2]|0)+72>>2]&511](c)|0;d=(k[d+72>>2]|0)-(k[d+68>>2]|0)>>2;if(d|0){e=b+64|0;f=b+80|0;g=b+72|0;h=b+76|0;l=b+68|0;p=0;do{m=(tc[k[(k[c>>2]|0)+72>>2]&511](c)|0)+68|0;m=k[(k[m>>2]|0)+(p<<2)>>2]|0;k[B>>2]=m;n=m;if(m|0){k[f>>2]=0;o=k[g>>2]|0;if((o|0)==(k[h>>2]|0))xw(l,B);else{k[o>>2]=n;k[g>>2]=(k[g>>2]|0)+4}rc[k[k[e>>2]>>2]&1023](e,m)}p=p+1|0}while((p|0)!=(d|0))}D=b;r=C;return D|0}}}D=mb()|0;P1(n);yb(D|0)}D=b;r=C;return D|0}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;z=r;r=r+304|0;s=z+40|0;t=z+280|0;u=z;A=z+224|0;d=z+240|0;o=z+184|0;p=z+144|0;v=z+88|0;y=z+80|0;e=a+4|0;switch(k[e>>2]|0){case 2:{f=k[a+16>>2]|0;c=k[a+20>>2]|0;if(c|0){c3(c);CQ(c)}lE(A,78097,0);x=0;Ua(29,z+128|0,-1,-1,-1);w=x;x=0;do if(!(w&1)){q=b+36|0;x=0;c=Ka(856,q|0,84)|0;w=x;x=0;if(!(w&1)){x=0;Ua(14,d|0,39691,0,-1);w=x;x=0;if(!(w&1)){l=s;j=l+40|0;do{k[l>>2]=k[d>>2];l=l+4|0;d=d+4|0}while((l|0)<(j|0));k[c+4>>2]=0;l=c+8|0;d=s;j=l+40|0;do{k[l>>2]=k[d>>2];l=l+4|0;d=d+4|0}while((l|0)<(j|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;w=c+56|0;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;k[c+52>>2]=7;k[c>>2]=7696;w=c+68|0;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;k[w+12>>2]=0;x=0;w=Ka(857,q|0,c|0)|0;n=x;x=0;if(!(n&1)){switch(k[e>>2]|0){case 0:{i[w+57>>0]=i[a>>0]|0;break}case 1:{i[w+57>>0]=i[a>>0]|0;break}default:{}}d=k[f+4>>2]|0;c=k[f+16>>2]|0;e=d+(((c>>>0)/170|0)<<2)|0;if((k[f+8>>2]|0)==(d|0)){c=0;n=0}else{n=c+(k[f+20>>2]|0)|0;c=(k[e>>2]|0)+(((c>>>0)%170|0)*24|0)|0;n=(k[d+(((n>>>0)/170|0)<<2)>>2]|0)+(((n>>>0)%170|0)*24|0)|0}d=c;c=w;a:while(1){do{m=d;if((m|0)==(n|0)){c=20;break a}b:do switch(k[m+4>>2]|0){case 0:{x=0;d=Ka(890,k[m+12>>2]|0,b|0)|0;l=x;x=0;if(l&1){c=11;break a}k[c+76>>2]=d;c=d;break}case 1:{k[c+68>>2]=k[m+8>>2];if(i[m>>0]|0)i[c+57>>0]=1;h=d-(k[e>>2]|0)|0;f=(h|0)/24|0;g=f+1|0;h=(h|0)>-24;if(h)d=(k[e+(((g|0)/170|0)<<2)>>2]|0)+(((g|0)%170|0)*24|0)|0;else{d=168-f|0;d=(k[e+(((d|0)/-170|0)<<2)>>2]|0)+((169-((d|0)%170|0)|0)*24|0)|0}if((d|0)!=(n|0)){if(h)g=(k[e+(((g|0)/170|0)<<2)>>2]|0)+(((g|0)%170|0)*24|0)|0;else{g=168-f|0;g=(k[e+(((g|0)/-170|0)<<2)>>2]|0)+((169-((g|0)%170|0)|0)*24|0)|0}if((k[g+4>>2]|0)==1){x=0;f=Ka(856,q|0,84)|0;l=x;x=0;if(l&1){c=11;break a}x=0;Ua(14,o|0,39691,0,-1);l=x;x=0;if(l&1){c=11;break a}l=s;d=o;j=l+40|0;do{k[l>>2]=k[d>>2];l=l+4|0;d=d+4|0}while((l|0)<(j|0));k[f+4>>2]=0;l=f+8|0;d=s;j=l+40|0;do{k[l>>2]=k[d>>2];l=l+4|0;d=d+4|0}while((l|0)<(j|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;d=f+56|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[f+52>>2]=7;k[f>>2]=7696;d=f+68|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;x=0;d=Ka(857,q|0,f|0)|0;l=x;x=0;if(l&1){c=11;break a}k[c+76>>2]=d;if(!(i[g>>0]|0)){c=d;break b}i[d+57>>0]=1;c=d}}break}default:{c=39;break a}}while(0);d=m+24|0}while((d-(k[e>>2]|0)|0)!=4080);d=e+4|0;e=d;d=k[d>>2]|0}if((c|0)==11){z=mb()|0;P1(A);yb(z|0)}else if((c|0)==20){x=0;h=Ka(856,q|0,104)|0;b=x;x=0;if(b&1)break;x=0;Ua(14,p|0,39691,0,-1);b=x;x=0;if(b&1)break;l=s;d=p;j=l+40|0;do{k[l>>2]=k[d>>2];l=l+4|0;d=d+4|0}while((l|0)<(j|0));k[h+4>>2]=0;l=h+8|0;d=s;j=l+40|0;do{k[l>>2]=k[d>>2];l=l+4|0;d=d+4|0}while((l|0)<(j|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;k[h>>2]=6840;c=h+56|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[h+52>>2]=7;c=h+68|0;k[c>>2]=6956;f=h+72|0;k[f>>2]=0;g=h+76|0;k[g>>2]=0;d=h+80|0;k[d>>2]=0;x=0;e=ua(186,4)|0;p=x;x=0;if(p&1){e=mb()|0;c=k[f>>2]|0;if(!c){z=e;P1(A);yb(z|0)}d=k[g>>2]|0;if((d|0)!=(c|0))k[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(c);z=e;P1(A);yb(z|0)}p=e;k[f>>2]=p;k[g>>2]=p;k[d>>2]=e+4;k[h>>2]=6984;k[c>>2]=7116;g=h+92|0;k[g>>2]=0;k[h+96>>2]=0;k[h+88>>2]=g;i[h+100>>0]=0;i[h+101>>0]=0;x=0;g=Ka(857,q|0,h|0)|0;p=x;x=0;if(p&1)break;x=0;c=Ka(856,q|0,96)|0;p=x;x=0;if(p&1)break;x=0;Ua(14,v|0,39691,0,-1);p=x;x=0;if(p&1)break;l=u;d=v;j=l+40|0;do{k[l>>2]=k[d>>2];l=l+4|0;d=d+4|0}while((l|0)<(j|0));x=0;Qa(74,t|0,40459,1);v=x;x=0;if(v&1)break;x=0;l=s;d=u;j=l+40|0;do{k[l>>2]=k[d>>2];l=l+4|0;d=d+4|0}while((l|0)<(j|0));Qa(115,c|0,s|0,t|0);v=x;x=0;if(v&1){z=mb()|0;P1(t);P1(A);yb(z|0)}P1(t);k[c>>2]=12552;x=0;c=Ka(857,q|0,c|0)|0;v=x;x=0;if(v&1)break;d=g+68|0;k[y>>2]=c;e=d+8|0;f=k[e>>2]|0;if(f>>>0<(k[d+12>>2]|0)>>>0){k[f>>2]=c;k[e>>2]=(k[e>>2]|0)+4}else{x=0;sa(533,d+4|0,y|0);y=x;x=0;if(y&1)break}if(i[a>>0]|0)i[w+57>>0]=1;k[w+72>>2]=g;P1(A);A=w;r=z;return A|0}else if((c|0)==39){z=vb(4)|0;k[z>>2]=39698;x=0;Qa(77,z|0,4584,0);x=0;break}}}}}while(0);z=mb()|0;P1(A);yb(z|0)}case 3:{A=0;r=z;return A|0}default:{A=vb(4)|0;k[A>>2]=39614;Wb(A|0,4584,0)}}return 0}function ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;u=0;F=r;r=r+256|0;w=F;z=F+108|0;E=F+52|0;q=F+208|0;s=F+168|0;t=F+152|0;y=F+112|0;A=F+96|0;C=F+56|0;G=F+40|0;B=a+8|0;c=(k[B>>2]|0)+36|0;d=lD(c,80)|0;n=w;o=b+8|0;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[d+4>>2]=0;n=d+8|0;o=w;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d+60>>2]=0;k[d+64>>2]=0;k[d+68>>2]=0;k[d>>2]=5416;k[d+56>>2]=5524;i[d+76>>0]=0;i[d+77>>0]=0;i[d+78>>0]=0;D=N4(c,d)|0;c=k[b+60>>2]|0;f=(k[b+64>>2]|0)-c>>2;if(!f){r=F;return D|0}g=b+60|0;h=D+56|0;l=D+72|0;m=D+64|0;n=D+68|0;o=D+60|0;d=0;while(1){c=k[c+(d<<2)>>2]|0;c=Jc[k[(k[c>>2]|0)+40>>2]&1023](c,a)|0;v=j[c+72>>1]|0;if((v&255)<<24>>24==0&(v&65535)<256){k[w>>2]=c;k[l>>2]=0;e=k[m>>2]|0;if((e|0)==(k[n>>2]|0))Cw(o,w);else{k[e>>2]=c;k[m>>2]=(k[m>>2]|0)+4}rc[k[k[h>>2]>>2]&1023](h,c)}d=d+1|0;if((d|0)==(f|0))break;c=k[g>>2]|0}a:do if(i[b+77>>0]|0){m=ZF(b)|0;m=(Jc[k[(k[m>>2]|0)+40>>2]&1023](m,a)|0)+56|0;m=k[m>>2]|0;m=Jc[k[(k[m>>2]|0)+40>>2]&1023](m,a)|0;g=(m|0)==0;if(g){l=0;h=0}else{h=Ot(m,64,256,0)|0;l=Ot(m,64,496,0)|0}c=(k[B>>2]|0)+36|0;d=lD(c,84)|0;v=m+8|0;n=q;o=v;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f=(h|0)!=0;if(f)e=k[h+76>>2]|0;else e=0;k[d+4>>2]=0;n=d+8|0;o=q;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+60>>2]=0;k[d+64>>2]=0;k[d+68>>2]=0;k[d>>2]=4992;k[d+56>>2]=5104;k[d+76>>2]=e;i[d+80>>0]=1;i[d+81>>0]=0;k[d+52>>2]=5;q=N4(c,d)|0;if(f)if(!(i[h+80>>0]|0))u=25;else{c=k[h+60>>2]|0;g=k[h+64>>2]|0;if((c|0)!=(g|0)){h=q+56|0;l=q+72|0;m=q+64|0;n=q+68|0;o=q+60|0;do{d=k[c>>2]|0;k[w>>2]=d;e=d;if(d|0){k[l>>2]=0;f=k[m>>2]|0;if((f|0)==(k[n>>2]|0))uw(o,w);else{k[f>>2]=e;k[m>>2]=(k[m>>2]|0)+4}rc[k[k[h>>2]>>2]&1023](h,d)}c=c+4|0}while((c|0)!=(g|0))}}else u=25;b:do if((u|0)==25){if(l|0){g=D+56|0;c=(k[B>>2]|0)+36|0;d=lD(c,80)|0;n=s;o=v;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));lE(t,78097,0);k[d+4>>2]=0;n=d+8|0;o=s;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=8476;k[d+56>>2]=l;x=0;sa(430,d+60|0,t|0);u=x;x=0;if(u&1)c=mb()|0;else{i[d+72>>0]=0;i[d+73>>0]=1;k[d+76>>2]=0;x=0;c=Ka(857,c|0,d|0)|0;u=x;x=0;do if(!(u&1)){k[w>>2]=c;d=c;if(c|0){k[D+72>>2]=0;e=D+64|0;f=k[e>>2]|0;if((f|0)==(k[D+68>>2]|0)){x=0;sa(478,D+60|0,w|0);u=x;x=0;if(u&1)break}else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}x=0;sa(k[k[g>>2]>>2]|0,g|0,c|0);u=x;x=0;if(u&1)break}P1(t);break b}while(0);c=mb()|0}P1(t);G=c;yb(G|0)}if(!f){e=q+56|0;k[w>>2]=m;f=m;if(!g){k[q+72>>2]=0;c=q+64|0;d=k[c>>2]|0;if((d|0)==(k[q+68>>2]|0))uw(q+60|0,w);else{k[d>>2]=f;k[c>>2]=(k[c>>2]|0)+4}rc[k[k[e>>2]>>2]&1023](e,m)}break}c=k[h+60>>2]|0;g=k[h+64>>2]|0;if((c|0)!=(g|0)){h=q+56|0;l=q+72|0;m=q+64|0;n=q+68|0;o=q+60|0;do{d=k[c>>2]|0;k[w>>2]=d;e=d;if(d|0){k[l>>2]=0;f=k[m>>2]|0;if((f|0)==(k[n>>2]|0))uw(o,w);else{k[f>>2]=e;k[m>>2]=(k[m>>2]|0)+4}rc[k[k[h>>2]>>2]&1023](h,d)}c=c+4|0}while((c|0)!=(g|0))}}while(0);if((k[q+64>>2]|0)!=(k[q+60>>2]|0)){g=D+56|0;c=(k[B>>2]|0)+36|0;d=lD(c,80)|0;n=y;o=v;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));lE(A,78097,0);x=0;n=w;o=y;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Ba(11,d|0,w|0,q|0,A|0,1,0);y=x;x=0;do if(!(y&1)){x=0;c=Ka(857,c|0,d|0)|0;y=x;x=0;if(!(y&1)){k[z>>2]=c;d=c;if(c|0){k[D+72>>2]=0;e=D+64|0;f=k[e>>2]|0;if((f|0)==(k[D+68>>2]|0)){x=0;sa(478,D+60|0,z|0);z=x;x=0;if(z&1)break}else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}x=0;sa(k[k[g>>2]>>2]|0,g|0,c|0);z=x;x=0;if(z&1)break}P1(A);break a}}while(0);G=mb()|0;P1(A);yb(G|0)}}while(0);if(!(i[b+78>>0]|0)){r=F;return D|0}e=UF(b)|0;e=(Jc[k[(k[e>>2]|0)+40>>2]&1023](e,a)|0)+56|0;e=k[e>>2]|0;e=Jc[k[(k[e>>2]|0)+40>>2]&1023](e,a)|0;g=D+56|0;c=(k[B>>2]|0)+36|0;d=lD(c,80)|0;n=C;o=e+8|0;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));lE(G,78097,0);k[d+4>>2]=0;n=d+8|0;o=C;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=8476;k[d+56>>2]=e;x=0;sa(430,d+60|0,G|0);C=x;x=0;if(C&1)c=mb()|0;else{i[d+72>>0]=0;i[d+73>>0]=1;k[d+76>>2]=0;x=0;c=Ka(857,c|0,d|0)|0;C=x;x=0;do if(!(C&1)){k[E>>2]=c;d=c;if(c|0){k[D+72>>2]=0;e=D+64|0;f=k[e>>2]|0;if((f|0)==(k[D+68>>2]|0)){x=0;sa(478,D+60|0,E|0);E=x;x=0;if(E&1)break}else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}x=0;sa(k[k[g>>2]>>2]|0,g|0,c|0);E=x;x=0;if(E&1)break}P1(G);r=F;return D|0}while(0);c=mb()|0}P1(G);G=c;yb(G|0);return 0}function we(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0.0,j=0.0,l=0.0,m=0.0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=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;I=0;M=r;r=r+336|0;z=M+288|0;O=M+16|0;B=M+248|0;E=M+232|0;L=M+220|0;G=M+208|0;u=M+8|0;A=M+168|0;C=M+156|0;D=M+144|0;F=M+132|0;w=M;y=M+120|0;n=d+4|0;k[O+4>>2]=k[n>>2];o=d+8|0;H=O+8|0;J=o;K=H+40|0;do{k[H>>2]=k[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));q=d+48|0;N=q;s=k[N+4>>2]|0;v=O+48|0;k[v>>2]=k[N>>2];k[v+4>>2]=s;k[O>>2]=5580;v=O+56|0;s=d+56|0;k[v>>2]=k[s>>2];k[v+4>>2]=k[s+4>>2];k[v+8>>2]=k[s+8>>2];k[v+12>>2]=k[s+12>>2];k[v+16>>2]=k[s+16>>2];k[v+20>>2]=k[s+20>>2];k[v+24>>2]=k[s+24>>2];k[v+28>>2]=k[s+28>>2];N=O+88|0;t=d+88|0;_G(N,t);g=d+100|0;k[O+100>>2]=k[g>>2];h=+p[c+56>>3];switch(b|0){case 10:case 8:{x=0;g=Ka(856,a|0,104)|0;L=x;x=0;if(!(L&1)){if(!f){H=B;J=c+8|0;K=H+40|0;do{k[H>>2]=k[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0))}else{H=B;J=f;K=H+40|0;do{k[H>>2]=k[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0))}d=10880+(b<<2)|0;x=0;l=+Ca(k[d>>2]|0,+h,+(+p[v>>3]));L=x;x=0;if(!(L&1)){x=0;m=+Ca(k[d>>2]|0,+h,+(+p[O+64>>3]));L=x;x=0;if(!(L&1)){x=0;h=+Ca(k[d>>2]|0,+h,+(+p[O+72>>3]));L=x;x=0;if(!(L&1)){j=+p[O+80>>3];x=0;Qa(74,E|0,78097,0);L=x;x=0;if(!(L&1)){k[g+4>>2]=0;H=g+8|0;J=B;K=H+40|0;do{k[H>>2]=k[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;d=g+52|0;k[d>>2]=0;k[g>>2]=5580;p[g+56>>3]=l;p[g+64>>3]=m;p[g+72>>3]=h;p[g+80>>3]=j;x=0;sa(430,g+88|0,E|0);L=x;x=0;if(!(L&1)){k[g+100>>2]=0;k[d>>2]=3;x=0;d=Ka(857,a|0,g|0)|0;a=x;x=0;if(!(a&1)){P1(E);a=d;k[O>>2]=5580;P1(N);r=M;return a|0}}M=mb()|0;P1(E);k[O>>2]=5580;P1(N);yb(M|0)}}}}}break}case 11:case 9:{x=0;Qa(74,L|0,((b|0)==9?38883:39370)|0,1);K=x;x=0;if(!(K&1)){K=k[(k[O>>2]|0)+20>>2]|0;g=e;d=k[g>>2]|0;g=k[g+4>>2]|0;J=u;k[J>>2]=d;k[J+4>>2]=g;x=0;k[z>>2]=k[u>>2];k[z+4>>2]=k[u+4>>2];Qa(K|0,G|0,O|0,z|0);K=x;x=0;if(K&1)d=mb()|0;else{x=0;e=Ka(856,a|0,76)|0;K=x;x=0;if(K&1)I=28;else{if(!f){H=A;J=c+8|0;K=H+40|0;do{k[H>>2]=k[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0))}else{H=A;J=f;K=H+40|0;do{k[H>>2]=k[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0))}K=k[(k[c>>2]|0)+20>>2]|0;J=w;k[J>>2]=d;k[J+4>>2]=g;x=0;k[z>>2]=k[w>>2];k[z+4>>2]=k[w+4>>2];Qa(K|0,F|0,c|0,z|0);K=x;x=0;if(K&1)I=28;else{d=i[L>>0]|0;K=(d&1)==0;x=0;d=xa(46,F|0,(K?L+1|0:k[L+8>>2]|0)|0,(K?(d&255)>>>1:k[L+4>>2]|0)|0)|0;K=x;x=0;if(K&1)d=mb()|0;else{k[D>>2]=k[d>>2];k[D+4>>2]=k[d+4>>2];k[D+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;d=i[G>>0]|0;K=(d&1)==0;x=0;d=xa(46,D|0,(K?G+1|0:k[G+8>>2]|0)|0,(K?(d&255)>>>1:k[G+4>>2]|0)|0)|0;K=x;x=0;if(K&1)d=mb()|0;else{k[C>>2]=k[d>>2];k[C+4>>2]=k[d+4>>2];k[C+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;x=0;H=z;J=A;K=H+40|0;do{k[H>>2]=k[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));qa(5,e|0,z|0,C|0,0,0);K=x;x=0;if(!(K&1)){x=0;d=Ka(857,a|0,e|0)|0;a=x;x=0;if(!(a&1)){P1(C);P1(D);P1(F);P1(G);P1(L);a=d;k[O>>2]=5580;P1(N);r=M;return a|0}}d=mb()|0;P1(C)}P1(D)}P1(F)}}if((I|0)==28)d=mb()|0;P1(G)}P1(L);M=d;k[O>>2]=5580;P1(N);yb(M|0)}break}case 12:{e=vb(40)|0;x=0;sa(491,y|0,12);M=x;x=0;if(M&1)d=mb()|0;else{x=0;Ua(23,e|0,c|0,O|0,y|0);M=x;x=0;if(M&1)g=1;else{x=0;Qa(77,e|0,1312,130);x=0;g=0}d=mb()|0;P1(y);if(!g){M=d;k[O>>2]=5580;P1(N);yb(M|0)}}lb(e|0);M=d;k[O>>2]=5580;P1(N);yb(M|0)}default:{x=0;d=Ka(856,a|0,104)|0;L=x;x=0;if(!(L&1)){k[d+4>>2]=k[n>>2];k[d>>2]=4748;H=d+8|0;J=o;K=H+40|0;do{k[H>>2]=k[J>>2];H=H+4|0;J=J+4|0}while((H|0)<(K|0));k[d>>2]=6736;J=q;K=k[J+4>>2]|0;L=d+48|0;k[L>>2]=k[J>>2];k[L+4>>2]=K;k[d>>2]=5580;L=d+56|0;k[L>>2]=k[s>>2];k[L+4>>2]=k[s+4>>2];k[L+8>>2]=k[s+8>>2];k[L+12>>2]=k[s+12>>2];k[L+16>>2]=k[s+16>>2];k[L+20>>2]=k[s+20>>2];k[L+24>>2]=k[s+24>>2];k[L+28>>2]=k[s+28>>2];x=0;sa(430,d+88|0,t|0);L=x;x=0;if(!(L&1)){k[d+100>>2]=k[g>>2];x=0;d=Ka(857,a|0,d|0)|0;a=x;x=0;if(!(a&1)){a=d;k[O>>2]=5580;P1(N);r=M;return a|0}}}}}M=mb()|0;k[O>>2]=5580;P1(N);yb(M|0);return 0}function xe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0.0,j=0,l=0.0,m=0,n=0,o=0,q=0,s=0.0,t=0.0,u=0,v=0,w=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;E=0;J=r;r=r+224|0;G=J+176|0;z=J+156|0;w=J+140|0;u=J+124|0;v=J;K=J+100|0;b=J+160|0;g=J+144|0;o=J+128|0;F=J+88|0;q=J+112|0;y=J+72|0;A=J+68|0;C=J+76|0;D=J+56|0;H=J+16|0;I=J+4|0;k[K>>2]=0;k[K+4>>2]=0;k[K+8>>2]=0;x=0;Qa(74,b|0,37420,7);B=x;x=0;a:do if(B&1)E=14;else{x=0;j=G;m=e;n=j+40|0;do{k[j>>2]=k[m>>2];j=j+4|0;m=m+4|0}while((j|0)<(n|0));B=wa(25,b|0,a|0,d|0,G|0,f|0)|0;n=x;x=0;if(n&1){E=Eb(0)|0;P1(b);b=E;E=24;break}P1(b);x=0;Qa(74,g|0,37714,9);n=x;x=0;if(n&1)E=14;else{x=0;j=G;m=e;n=j+40|0;do{k[j>>2]=k[m>>2];j=j+4|0;m=m+4|0}while((j|0)<(n|0));b=wa(23,g|0,a|0,d|0,G|0,f|0)|0;n=x;x=0;if(n&1){b=Eb(0)|0;P1(g);E=24;break}s=+p[b+56>>3];P1(g);x=0;Qa(74,o|0,37724,7);n=x;x=0;if(n&1)E=14;else{x=0;j=G;m=e;n=j+40|0;do{k[j>>2]=k[m>>2];j=j+4|0;m=m+4|0}while((j|0)<(n|0));b=wa(23,o|0,a|0,d|0,G|0,f|0)|0;n=x;x=0;if(n&1){b=Eb(0)|0;P1(o);E=24;break}h=+p[b+56>>3];P1(o);x=0;sa(430,q|0,B+60|0);o=x;x=0;if(o&1)E=14;else{x=0;Ua(11,F|0,q|0,0,0);o=x;x=0;if(o&1){b=Eb(0)|0;P1(q);E=24;break}P1(q);q=i[F>>0]|0;g=(q&1)==0;m=F+8|0;o=F+1|0;a=g?o:k[m>>2]|0;n=F+4|0;q=g?(q&255)>>>1:k[n>>2]|0;g=a+q|0;k[v>>2]=a;a=g;b:do if((q|0)>0){b=0;while(1){k[u>>2]=a;x=0;k[G>>2]=k[u>>2];Ka(896,v|0,G|0)|0;q=x;x=0;if(q&1)break;b=b+1|0;if((k[v>>2]|0)>>>0>=g>>>0){E=13;break b}}b=Eb(0)|0}else{b=0;E=13}while(0);c:do if((E|0)==13){l=+(b>>>0);h=!(h<=-l)?h:h+l;if(h<0.0)h=+((b+1|0)>>>0)+h;t=h>l?l:h;if(s<0.0)s=s+ +((b+1|0)>>>0);else if(s==0.0)s=s+1.0;do if(!(s<=t))E=62;else{d=i[F>>0]|0;j=(d&1)==0;a=k[m>>2]|0;b=j?o:a;k[y>>2]=b;l=s+-1.0;g=k[n>>2]|0;j=b+(j?(d&255)>>>1:g)|0;do if(l>0.0){h=0.0;while(1){k[w>>2]=j;x=0;k[G>>2]=k[w>>2];Ka(896,y|0,G|0)|0;E=x;x=0;if(E&1){E=20;break}h=h+1.0;if(!(h>2]|0;d=i[F>>0]|0;a=k[m>>2]|0;g=k[n>>2]|0;break}}else j=y;while(0);k[A>>2]=b;l=t-s+1.0;y=(d&1)==0;g=(y?o:a)+(y?(d&255)>>>1:g)|0;do if(l>0.0){h=0.0;while(1){k[z>>2]=g;x=0;k[G>>2]=k[z>>2];Ka(896,A|0,G|0)|0;E=x;x=0;if(E&1){E=19;break}h=h+1.0;if(!(h>2]|0;break}}while(0);d=k[j>>2]|0;a=b-d|0;j=d;m=b;if(a>>>0>4294967279){x=0;ra(331,C|0);A=x;x=0;if(A&1)break;else E=52}else if(a>>>0<11){i[C>>0]=a<<1;b=C+1|0}else E=52;if((E|0)==52){g=a+16&-16;x=0;b=ua(186,g|0)|0;A=x;x=0;if(A&1)break;k[C+8>>2]=b;k[C>>2]=g|1;k[C+4>>2]=a}if((j|0)!=(m|0)){a=d;g=j;while(1){i[b>>0]=i[g>>0]|0;g=a+1|0;b=b+1|0;if((g|0)==(m|0))break;else a=g}}i[b>>0]=0;if(!(i[K>>0]&1)){i[K+1>>0]=0;i[K>>0]=0}else{i[k[K+8>>2]>>0]=0;k[K+4>>2]=0}x=0;sa(443,K|0,0);A=x;x=0;if(A&1){D=Eb(0)|0;Nba(D)}else{k[K>>2]=k[C>>2];k[K+4>>2]=k[C+4>>2];k[K+8>>2]=k[C+8>>2];k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;P1(C);E=62;break}}while(0);d:do if((E|0)==62){do if(B|0){b=Ot(B,432,448,0)|0;if(b|0)if(i[b+57>>0]|0){x=0;Qa(113,D|0,K|0,0);E=x;x=0;if(E&1)break d;if(!(i[K>>0]&1)){i[K+1>>0]=0;i[K>>0]=0}else{i[k[K+8>>2]>>0]=0;k[K+4>>2]=0}x=0;sa(443,K|0,0);f=x;x=0;if(f&1){f=Eb(0)|0;Nba(f)}else{k[K>>2]=k[D>>2];k[K+4>>2]=k[D+4>>2];k[K+8>>2]=k[D+8>>2];k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;P1(D);break}}}while(0);P1(F);E=26;break a}while(0);b=Eb(0)|0}while(0);P1(F);E=24}}}}while(0);if((E|0)==14){b=Eb(0)|0;E=24}do if((E|0)==24){Bb(b|0)|0;x=0;sa(531,e|0,f|0);f=x;x=0;if(!(f&1)){x=0;pa(3);f=x;x=0;if(f&1)break;else{E=26;break}}b=mb()|0;x=0;pa(3);J=x;x=0;if(J&1){J=Eb(0)|0;Nba(J)}else{J=b;P1(K);yb(J|0)}}while(0);if((E|0)==26){b=c+36|0;x=0;g=Ka(856,b|0,76)|0;c=x;x=0;if(!(c&1)){j=H;m=e;n=j+40|0;do{k[j>>2]=k[m>>2];j=j+4|0;m=m+4|0}while((j|0)<(n|0));x=0;sa(430,I|0,K|0);e=x;x=0;if(!(e&1)){x=0;j=G;m=H;n=j+40|0;do{k[j>>2]=k[m>>2];j=j+4|0;m=m+4|0}while((j|0)<(n|0));qa(5,g|0,G|0,I|0,0,0);e=x;x=0;if(!(e&1)){x=0;b=Ka(857,b|0,g|0)|0;e=x;x=0;if(!(e&1)){P1(I);P1(K);r=J;return b|0}}J=mb()|0;P1(I);P1(K);yb(J|0)}}}J=mb()|0;P1(K);yb(J|0);return 0} -function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0.0,g=0,h=0,j=0.0,m=0,n=0,o=0,p=0.0,q=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0;x=0;K=r;r=r+512|0;G=K;switch(b|0){case 0:{J=24;H=-149;x=4;break}case 1:{J=53;H=-1074;x=4;break}case 2:{J=53;H=-1074;x=4;break}default:d=0.0}a:do if((x|0)==4){D=a+4|0;A=a+100|0;do{b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=Rx(a)|0}while((Jca(b)|0)!=0);b:do switch(b|0){case 43:case 45:{e=1-(((b|0)==45&1)<<1)|0;b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0;I=e;break b}else{b=Rx(a)|0;I=e;break b}}default:I=1}while(0);e=b;b=0;do{if((e|32|0)!=(i[47934+b>>0]|0))break;do if(b>>>0<7){e=k[D>>2]|0;if(e>>>0<(k[A>>2]|0)>>>0){k[D>>2]=e+1;e=l[e>>0]|0;break}else{e=Rx(a)|0;break}}while(0);b=b+1|0}while(b>>>0<8);c:do switch(b|0){case 8:break;case 3:{x=23;break}default:{g=(c|0)!=0;if(g&b>>>0>3)if((b|0)==8)break c;else{x=23;break c}d:do if(!b){b=0;do{if((e|32|0)!=(i[47943+b>>0]|0))break d;do if(b>>>0<2){e=k[D>>2]|0;if(e>>>0<(k[A>>2]|0)>>>0){k[D>>2]=e+1;e=l[e>>0]|0;break}else{e=Rx(a)|0;break}}while(0);b=b+1|0}while(b>>>0<3)}while(0);switch(b|0){case 3:{b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=Rx(a)|0;if((b|0)==40)b=1;else{if(!(k[A>>2]|0)){d=B;break a}k[D>>2]=(k[D>>2]|0)+-1;d=B;break a}while(1){e=k[D>>2]|0;if(e>>>0<(k[A>>2]|0)>>>0){k[D>>2]=e+1;e=l[e>>0]|0}else e=Rx(a)|0;if(!((e+-48|0)>>>0<10|(e+-65|0)>>>0<26))if(!((e|0)==95|(e+-97|0)>>>0<26))break;b=b+1|0}if((e|0)==41){d=B;break a}e=(k[A>>2]|0)==0;if(!e)k[D>>2]=(k[D>>2]|0)+-1;if(!g){J=L0()|0;k[J>>2]=22;VI(a,0);d=0.0;break a}if(!b){d=B;break a}while(1){b=b+-1|0;if(!e)k[D>>2]=(k[D>>2]|0)+-1;if(!b){d=B;break a}}}case 0:{do if((e|0)==48){b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=Rx(a)|0;if((b|32|0)!=120){if(!(k[A>>2]|0)){b=48;break}k[D>>2]=(k[D>>2]|0)+-1;b=48;break}b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0;g=0}else{b=Rx(a)|0;g=0}e:while(1){switch(b|0){case 46:{x=74;break e}case 48:break;default:{w=0;h=0;v=0;e=0;m=g;n=0;u=0;j=1.0;g=0;d=0.0;break e}}b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0;g=1;continue}else{b=Rx(a)|0;g=1;continue}}if((x|0)==74){b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=Rx(a)|0;if((b|0)==48){g=0;e=0;do{b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=Rx(a)|0;g=TZ(g|0,e|0,-1,-1)|0;e=M}while((b|0)==48);w=0;h=0;v=g;m=1;n=1;u=0;j=1.0;g=0;d=0.0}else{w=0;h=0;v=0;e=0;m=g;n=1;u=0;j=1.0;g=0;d=0.0}}while(1){q=b+-48|0;o=b|32;if(q>>>0<10)x=86;else{s=(b|0)==46;if(!(s|(o+-97|0)>>>0<6)){o=v;q=w;break}if(s)if(!n){s=h;e=w;q=w;n=1;o=u;f=j}else{o=v;q=w;b=46;break}else x=86}if((x|0)==86){x=0;b=(b|0)>57?o+-87|0:q;do if((w|0)<0|(w|0)==0&h>>>0<8){o=u;f=j;g=b+(g<<4)|0}else{if((w|0)<0|(w|0)==0&h>>>0<14){t=j*.0625;o=u;f=t;d=d+t*+(b|0);break}if((u|0)!=0|(b|0)==0){o=u;f=j}else{o=1;f=j;d=d+j*.5}}while(0);h=TZ(h|0,w|0,1,0)|0;s=v;q=M;m=1}b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;w=q;v=s;b=l[b>>0]|0;u=o;j=f;continue}else{w=q;v=s;b=Rx(a)|0;u=o;j=f;continue}}if(!m){b=(k[A>>2]|0)==0;if(!b)k[D>>2]=(k[D>>2]|0)+-1;if(!c)VI(a,0);else if(!b){b=k[D>>2]|0;k[D>>2]=b+-1;if(n|0)k[D>>2]=b+-2}d=+(I|0)*0.0;break a}m=(n|0)==0;n=m?h:o;m=m?q:e;if((q|0)<0|(q|0)==0&h>>>0<8){e=q;do{g=g<<4;h=TZ(h|0,e|0,1,0)|0;e=M}while((e|0)<0|(e|0)==0&h>>>0<8)}if((b|32|0)==112){e=Wn(a,c)|0;b=M;if((e|0)==0&(b|0)==-2147483648){if(!c){VI(a,0);d=0.0;break a}if(!(k[A>>2]|0)){e=0;b=0}else{k[D>>2]=(k[D>>2]|0)+-1;e=0;b=0}}}else if(!(k[A>>2]|0)){e=0;b=0}else{k[D>>2]=(k[D>>2]|0)+-1;e=0;b=0}G=GN(n|0,m|0,2)|0;G=TZ(G|0,M|0,-32,-1)|0;b=TZ(G|0,M|0,e|0,b|0)|0;e=M;if(!g){d=+(I|0)*0.0;break a}if((e|0)>0|(e|0)==0&b>>>0>(0-H|0)>>>0){J=L0()|0;k[J>>2]=34;d=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}G=H+-106|0;F=((G|0)<0)<<31>>31;if((e|0)<(F|0)|(e|0)==(F|0)&b>>>0>>0){J=L0()|0;k[J>>2]=34;d=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((g|0)>-1){do{F=!(d>=.5);G=F&1|g<<1;g=G^1;d=d+(F?d:d+-1.0);b=TZ(b|0,e|0,-1,-1)|0;e=M}while((G|0)>-1);h=b;j=d}else{h=b;j=d}b=lN(32,0,H|0,((H|0)<0)<<31>>31|0)|0;b=TZ(h|0,e|0,b|0,M|0)|0;H=M;if(0>(H|0)|0==(H|0)&J>>>0>b>>>0)if((b|0)<0){b=0;x=127}else x=125;else{b=J;x=125}if((x|0)==125)if((b|0)<53)x=127;else{e=b;f=+(I|0);d=0.0}if((x|0)==127){d=+(I|0);e=b;f=d;d=+Tea(+cB(1.0,84-b|0),d)}J=(g&1|0)==0&(j!=0.0&(e|0)<32);d=f*(J?0.0:j)+(d+f*+(((J&1)+g|0)>>>0))-d;if(!(d!=0.0)){J=L0()|0;k[J>>2]=34}d=+Wea(d,h);break a}else b=e;while(0);E=H+J|0;F=0-E|0;g=0;f:while(1){switch(b|0){case 46:{x=138;break f}case 48:break;default:{e=0;o=0;n=0;break f}}b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0;g=1;continue}else{b=Rx(a)|0;g=1;continue}}if((x|0)==138){b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=Rx(a)|0;if((b|0)==48){e=0;b=0;while(1){e=TZ(e|0,b|0,-1,-1)|0;g=M;b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=Rx(a)|0;if((b|0)==48)b=g;else{o=g;g=1;n=1;break}}}else{e=0;o=0;n=1}}k[G>>2]=0;m=b+-48|0;h=(b|0)==46;g:do if(h|m>>>0<10){z=G+496|0;w=0;s=0;u=h;y=o;q=g;x=n;g=0;h=0;n=0;h:while(1){do if(u)if(!x){e=w;o=s;x=1}else{o=y;b=w;m=s;break h}else{u=TZ(w|0,s|0,1,0)|0;s=M;v=(b|0)!=48;if((h|0)>=125){if(!v){o=y;w=u;break}k[z>>2]=k[z>>2]|1;o=y;w=u;break}o=G+(h<<2)|0;if(g)m=b+-48+((k[o>>2]|0)*10|0)|0;k[o>>2]=m;g=g+1|0;m=(g|0)==9;o=y;w=u;q=1;g=m?0:g;h=(m&1)+h|0;n=v?u:n}while(0);b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=Rx(a)|0;m=b+-48|0;u=(b|0)==46;if(!(u|m>>>0<10)){m=x;x=161;break g}else y=o}q=(q|0)!=0;x=169}else{w=0;s=0;q=g;m=n;g=0;h=0;n=0;x=161}while(0);do if((x|0)==161){z=(m|0)==0;e=z?w:e;o=z?s:o;q=(q|0)!=0;if(!((b|32|0)==101&q))if((b|0)>-1){b=w;m=s;x=169;break}else{b=w;m=s;x=171;break}m=Wn(a,c)|0;b=M;if((m|0)==0&(b|0)==-2147483648){if(!c){VI(a,0);d=0.0;break}if(!(k[A>>2]|0)){m=0;b=0}else{k[D>>2]=(k[D>>2]|0)+-1;m=0;b=0}}e=TZ(m|0,b|0,e|0,o|0)|0;q=w;o=M;m=s;x=173}while(0);if((x|0)==169)if(!(k[A>>2]|0))x=171;else{k[D>>2]=(k[D>>2]|0)+-1;if(q){q=b;x=173}else x=172}if((x|0)==171)if(q){q=b;x=173}else x=172;do if((x|0)==172){J=L0()|0;k[J>>2]=22;VI(a,0);d=0.0}else if((x|0)==173){b=k[G>>2]|0;if(!b){d=+(I|0)*0.0;break}if(((m|0)<0|(m|0)==0&q>>>0<10)&((e|0)==(q|0)&(o|0)==(m|0)))if(J>>>0>30|(b>>>J|0)==0){d=+(I|0)*+(b>>>0);break}a=(H|0)/-2|0;D=((a|0)<0)<<31>>31;if((o|0)>(D|0)|(o|0)==(D|0)&e>>>0>a>>>0){J=L0()|0;k[J>>2]=34;d=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=H+-106|0;D=((a|0)<0)<<31>>31;if((o|0)<(D|0)|(o|0)==(D|0)&e>>>0>>0){J=L0()|0;k[J>>2]=34;d=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(g){if((g|0)<9){m=G+(h<<2)|0;b=k[m>>2]|0;do{b=b*10|0;g=g+1|0}while((g|0)!=9);k[m>>2]=b}h=h+1|0}if((n|0)<9)if((n|0)<=(e|0)&(e|0)<18){if((e|0)==9){d=+(I|0)*+((k[G>>2]|0)>>>0);break}if((e|0)<9){d=+(I|0)*+((k[G>>2]|0)>>>0)/+(k[20812+(8-e<<2)>>2]|0);break}a=J+27+(ia(e,-3)|0)|0;b=k[G>>2]|0;if((a|0)>30|(b>>>a|0)==0){d=+(I|0)*+(b>>>0)*+(k[20812+(e+-10<<2)>>2]|0);break}}b=(e|0)%9|0;if(!b){g=0;b=0}else{q=(e|0)>-1?b:b+9|0;m=k[20812+(8-q<<2)>>2]|0;if(!h){g=0;h=0}else{n=1e9/(m|0)|0;g=0;b=0;o=0;do{A=G+(o<<2)|0;D=k[A>>2]|0;a=((D>>>0)/(m>>>0)|0)+b|0;k[A>>2]=a;b=ia((D>>>0)%(m>>>0)|0,n)|0;a=(o|0)==(g|0)&(a|0)==0;o=o+1|0;e=a?e+-9|0:e;g=a?o&127:g}while((o|0)!=(h|0));if(b){k[G+(h<<2)>>2]=b;h=h+1|0}}b=0;e=9-q+e|0}i:while(1){s=(e|0)<18;u=(e|0)==18;v=G+(g<<2)|0;do{if(!s){if(!u){w=h;break i}if((k[v>>2]|0)>>>0>=9007199){e=18;w=h;break i}}m=0;n=h+127|0;while(1){q=n&127;o=G+(q<<2)|0;n=GN(k[o>>2]|0,0,29)|0;n=TZ(n|0,M|0,m|0,0)|0;m=M;if(m>>>0>0|(m|0)==0&n>>>0>1e9){a=B4(n|0,m|0,1e9,0)|0;n=iK(n|0,m|0,1e9,0)|0;m=a}else m=0;k[o>>2]=n;a=(q|0)==(g|0);h=(q|0)!=(h+127&127|0)|a?h:(n|0)==0?q:h;if(a)break;else n=q+-1|0}b=b+-29|0}while((m|0)==0);g=g+127&127;if((g|0)==(h|0)){a=h+127&127;h=G+((h+126&127)<<2)|0;k[h>>2]=k[h>>2]|k[G+(a<<2)>>2];h=a}k[G+(g<<2)>>2]=m;e=e+9|0}j:while(1){h=w+1&127;v=G+((w+127&127)<<2)|0;while(1){s=(e|0)==18;u=(e|0)>27?9:1;q=s^1;while(1){n=g&127;o=(n|0)==(w|0);do if(o)x=219;else{m=k[G+(n<<2)>>2]|0;if(m>>>0<9007199){x=219;break}if(m>>>0>9007199)break;m=g+1&127;if((m|0)==(w|0)){x=219;break}m=k[G+(m<<2)>>2]|0;if(m>>>0<254740991){x=219;break}if(!(m>>>0>254740991|q)){e=n;h=w;break j}}while(0);if((x|0)==219){x=0;if(s){x=220;break j}}b=b+u|0;if((g|0)==(w|0))g=w;else break}q=(1<>>u;n=g;m=0;o=g;while(1){D=G+(o<<2)|0;a=k[D>>2]|0;g=(a>>>u)+m|0;k[D>>2]=g;m=ia(a&q,s)|0;g=(o|0)==(n|0)&(g|0)==0;o=o+1&127;e=g?e+-9|0:e;g=g?o:n;if((o|0)==(w|0))break;else n=g}if(!m)continue;if((h|0)!=(g|0))break;k[v>>2]=k[v>>2]|1}k[G+(w<<2)>>2]=m;w=h}if((x|0)==220)if(o){k[G+(h+-1<<2)>>2]=0;e=w}else{e=n;h=w}d=+((k[G+(e<<2)>>2]|0)>>>0);e=g+1&127;if((e|0)==(h|0)){h=g+2&127;k[G+(h+-1<<2)>>2]=0}t=+(I|0);f=t*(d*1.0e9+ +((k[G+(e<<2)>>2]|0)>>>0));s=b+53|0;o=s-H|0;q=(o|0)<(J|0);e=q&1;n=q?((o|0)<0?0:o):J;if((n|0)<53){L=+Tea(+cB(1.0,105-n|0),f);j=+Sfa(f,+cB(1.0,53-n|0));p=L;d=j;j=L+(f-j)}else{p=0.0;d=0.0;j=f}m=g+2&127;do if((m|0)==(h|0))f=d;else{m=k[G+(m<<2)>>2]|0;do if(m>>>0<5e8){if(!m)if((g+3&127|0)==(h|0))break;d=t*.25+d}else{if(m>>>0>5e8){d=t*.75+d;break}if((g+3&127|0)==(h|0)){d=t*.5+d;break}else{d=t*.75+d;break}}while(0);if((53-n|0)<=1){f=d;break}if(+Sfa(d,1.0)!=0.0){f=d;break}f=d+1.0}while(0);d=j+f-p;do if((s&2147483647|0)>(-2-E|0)){if(+X(+d)>=9007199254740992.0){e=q&(n|0)==(o|0)?0:e;b=b+1|0;d=d*.5}if((b+50|0)<=(F|0))if(!(f!=0.0&(e|0)!=0))break;J=L0()|0;k[J>>2]=34}while(0);d=+Wea(d,b)}while(0);break a}default:{if(k[A>>2]|0)k[D>>2]=(k[D>>2]|0)+-1;J=L0()|0;k[J>>2]=22;VI(a,0);d=0.0;break a}}}}while(0);if((x|0)==23){e=(k[A>>2]|0)==0;if(!e)k[D>>2]=(k[D>>2]|0)+-1;if((c|0)!=0&b>>>0>3)do{if(!e)k[D>>2]=(k[D>>2]|0)+-1;b=b+-1|0}while(b>>>0>3)}d=+(I|0)*C}while(0);r=K;return +d}function pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0,g=0,h=0,j=0.0,m=0.0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=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;V=0;T=r;r=r+608|0;U=T+568|0;F=T+556|0;q=T+544|0;s=T+532|0;n=T+520|0;o=T+508|0;g=T+484|0;h=T+460|0;d=T+436|0;f=T+424|0;X=T+412|0;W=T+400|0;A=T+360|0;D=T+344|0;B=T+304|0;E=T+288|0;O=T+248|0;R=T+232|0;t=T+220|0;w=T+208|0;z=T+168|0;C=T+156|0;y=T+144|0;Q=T+496|0;N=T+472|0;L=T+448|0;G=T+104|0;I=T+88|0;H=T+48|0;P=T+36|0;M=T+24|0;K=T+12|0;J=T;S=b+60|0;_G(F,S);c=i[F>>0]|0;c=(c&1)==0?(c&255)>>>1:k[F+4>>2]|0;P1(F);a:do if(!c)F=1;else{_G(s,S);x=0;qa(4,q|0,s|0,0,1,s|0);F=x;x=0;b:do if(F&1)c=mb()|0;else{c:do if(!(KH(q,47947)|0))c=0;else if(c>>>0>1){x=0;sa(430,o|0,S|0);F=x;x=0;d:do if(F&1)c=mb()|0;else{x=0;qa(4,n|0,o|0,0,2,o|0);F=x;x=0;if(F&1){c=mb()|0;P1(o);break}e:do if(!(KH(n,32554)|0))c=0;else{x=0;sa(430,h|0,S|0);F=x;x=0;if(F&1)c=mb()|0;else{x=0;qa(4,g|0,h|0,0,2,h|0);F=x;x=0;f:do if(F&1)c=mb()|0;else{g:do if(!(KH(g,32557)|0))c=0;else if(c>>>0>2){x=0;sa(430,f|0,S|0);F=x;x=0;do if(F&1)c=mb()|0;else{x=0;qa(4,d|0,f|0,0,3,f|0);F=x;x=0;if(F&1){c=mb()|0;P1(f);break}else{c=(KH(d,32560)|0)!=0;P1(d);P1(f);break g}}while(0);P1(g);break f}else c=1;while(0);P1(g);P1(h);break e}while(0);P1(h)}P1(n);P1(o);break d}while(0);P1(n);P1(o);break c}while(0);P1(q);break b}else c=1;while(0);P1(q);P1(s);F=c;break a}while(0);P1(s);X=c;yb(X|0)}while(0);_G(X,S);q=i[X>>0]|0;n=(q&1)==0;u=X+8|0;o=k[X+4>>2]|0;v=X+1|0;q=(q&255)>>>1;h=n?v:k[u>>2]|0;f=n?q:o;h:do if(!f)V=23;else{d=h+f|0;c=h;while(1){if(!(mw(32564,l[c>>0]|0,4)|0))break;c=c+1|0;if((c|0)==(d|0)){V=23;break h}}c=c-h|0;if((c|0)==-1)V=23;else g=c}while(0);if((V|0)==23)g=n?q:o;i:do if(f>>>0>g>>>0){d=h+f|0;if((f|0)==(g|0))V=42;else{c=h+g|0;while(1){if(!(mw(32569,l[c>>0]|0,13)|0))break;c=c+1|0;if((c|0)==(d|0)){V=42;break i}}c=c-h|0;if((c|0)==-1)V=42}}else V=42;while(0);if((V|0)==42)c=n?q:o;x=0;qa(4,W|0,X|0,g|0,c-g|0,X|0);s=x;x=0;if(s&1)c=mb()|0;else{j:do switch(k[b+56>>2]|0){case 0:{c=(k[a+8>>2]|0)+36|0;x=0;d=Ka(856,c|0,96)|0;S=x;x=0;if(S&1)V=46;else{q=A;s=b+8|0;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));x=0;e=+Da(1,((i[W>>0]&1)==0?W+1|0:k[W+8>>2]|0)|0);S=x;x=0;if(S&1)V=46;else{x=0;Qa(74,D|0,78097,0);S=x;x=0;if(S&1)V=46;else{x=0;q=U;s=A;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));Fa(1,d|0,U|0,+e,D|0,F|0);U=x;x=0;if(!(U&1)){x=0;c=Ka(857,c|0,d|0)|0;U=x;x=0;if(!(U&1)){P1(D);V=c;b=b+50|0;b=i[b>>0]|0;U=V+50|0;i[U>>0]=b;P1(W);P1(X);r=T;return V|0}}c=mb()|0;P1(D)}}}break}case 1:{c=(k[a+8>>2]|0)+36|0;x=0;d=Ka(856,c|0,96)|0;S=x;x=0;if(S&1)V=46;else{q=B;s=b+8|0;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));x=0;e=+Da(1,((i[W>>0]&1)==0?W+1|0:k[W+8>>2]|0)|0);S=x;x=0;if(S&1)V=46;else{x=0;Qa(74,E|0,38887,1);S=x;x=0;if(S&1)V=46;else{x=0;q=U;s=B;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));Fa(1,d|0,U|0,+e,E|0,1);U=x;x=0;if(!(U&1)){x=0;c=Ka(857,c|0,d|0)|0;U=x;x=0;if(!(U&1)){P1(E);V=c;b=b+50|0;b=i[b>>0]|0;U=V+50|0;i[U>>0]=b;P1(W);P1(X);r=T;return V|0}}c=mb()|0;P1(E)}}}break}case 2:{n=(k[a+8>>2]|0)+36|0;x=0;o=Ka(856,n|0,96)|0;S=x;x=0;if(S&1)V=46;else{q=O;s=b+8|0;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));x=0;e=+Da(1,((i[W>>0]&1)==0?W+1|0:k[W+8>>2]|0)|0);S=x;x=0;if(S&1)V=46;else{x=0;f=ua(204,((i[X>>0]&1)==0?v:k[u>>2]|0)|0)|0;S=x;x=0;if(S&1)V=46;else{g=OD(f)|0;h=f+g|0;if(g>>>0>4294967279){x=0;ra(331,R|0);V=x;x=0;if(V&1){V=46;break j}else V=67}else if(g>>>0<11){i[R>>0]=g<<1;c=R+1|0;if(g)V=70}else V=67;if((V|0)==67){d=g+16&-16;x=0;c=ua(186,d|0)|0;V=x;x=0;if(V&1){V=46;break j}k[R+8>>2]=c;k[R>>2]=d|1;k[R+4>>2]=g;V=70}if((V|0)==70){d=f;f=c;while(1){i[f>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(h|0))break;else f=f+1|0}c=c+g|0}i[c>>0]=0;x=0;q=U;s=O;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));Fa(1,o|0,U|0,+e,R|0,F|0);U=x;x=0;if(!(U&1)){x=0;c=Ka(857,n|0,o|0)|0;U=x;x=0;if(!(U&1)){P1(R);V=c;b=b+50|0;b=i[b>>0]|0;U=V+50|0;i[U>>0]=b;P1(W);P1(X);r=T;return V|0}}c=mb()|0;P1(R)}}}break}case 3:{x=0;sa(430,w|0,S|0);R=x;x=0;if(R&1)V=46;else{x=0;qa(4,t|0,w|0,0,1,w|0);R=x;x=0;if(R&1){c=mb()|0;P1(w);break j}R=(KH(t,32583)|0)==0;P1(t);P1(w);if(!R){c=(k[a+8>>2]|0)+36|0;x=0;d=Ka(856,c|0,76)|0;R=x;x=0;if(R&1){V=46;break j}q=z;s=b+8|0;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));x=0;sa(430,C|0,S|0);S=x;x=0;if(S&1){V=46;break j}x=0;q=U;s=z;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));qa(5,d|0,U|0,C|0,0,0);U=x;x=0;if(!(U&1)){x=0;c=Ka(857,c|0,d|0)|0;U=x;x=0;if(!(U&1)){P1(C);V=c;b=b+50|0;b=i[b>>0]|0;U=V+50|0;i[U>>0]=b;P1(W);P1(X);r=T;return V|0}}c=mb()|0;P1(C);break j}x=0;sa(430,y|0,S|0);R=x;x=0;if(R&1)V=46;else{x=0;qa(4,U|0,y|0,1,-1,y|0);R=x;x=0;if(R&1){c=mb()|0;P1(y);break j}P1(y);R=i[U>>0]|0;k:do if((((R&1)==0?(R&255)>>>1:k[U+4>>2]|0)|0)==6){x=0;qa(4,Q|0,U|0,0,2,U|0);R=x;x=0;if(R&1)V=99;else{x=0;qa(4,N|0,U|0,2,2,U|0);R=x;x=0;if(R&1)c=mb()|0;else{x=0;qa(4,L|0,U|0,4,2,U|0);R=x;x=0;if(R&1)c=mb()|0;else{g=(k[a+8>>2]|0)+36|0;x=0;h=Ka(856,g|0,104)|0;R=x;x=0;do if(R&1)V=102;else{q=G;s=b+8|0;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));d=A4((i[Q>>0]&1)==0?Q+1|0:k[Q+8>>2]|0,0,16)|0;c=A4((i[N>>0]&1)==0?N+1|0:k[N+8>>2]|0,0,16)|0;f=A4((i[L>>0]&1)==0?L+1|0:k[L+8>>2]|0,0,16)|0;x=0;sa(430,I|0,S|0);S=x;x=0;if(S&1){V=102;break}m=+(c|0);j=+(d|0);e=+(f|0);k[h+4>>2]=0;q=h+8|0;s=G;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;c=h+52|0;k[c>>2]=0;k[h>>2]=5580;p[h+56>>3]=j;p[h+64>>3]=m;p[h+72>>3]=e;p[h+80>>3]=1.0;x=0;sa(430,h+88|0,I|0);S=x;x=0;do if(!(S&1)){k[h+100>>2]=0;k[c>>2]=3;x=0;c=Ka(857,g|0,h|0)|0;S=x;x=0;if(S&1)break;P1(I);P1(L);P1(N);P1(Q);V=122;break k}while(0);c=mb()|0;P1(I)}while(0);if((V|0)==102)c=mb()|0;P1(L)}P1(N)}P1(Q)}}else{f=(k[a+8>>2]|0)+36|0;x=0;g=Ka(856,f|0,104)|0;R=x;x=0;if(R&1)V=99;else{q=H;s=b+8|0;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));c=U+8|0;d=U+1|0;x=0;Qa(114,P|0,2,i[((i[U>>0]&1)==0?d:k[c>>2]|0)>>0]|0);R=x;x=0;if(R&1)V=99;else{j=+(A4((i[P>>0]&1)==0?P+1|0:k[P+8>>2]|0,0,16)|0);x=0;Qa(114,M|0,2,i[((i[U>>0]&1)==0?d:k[c>>2]|0)+1>>0]|0);R=x;x=0;if(R&1)c=mb()|0;else{m=+(A4((i[M>>0]&1)==0?M+1|0:k[M+8>>2]|0,0,16)|0);x=0;Qa(114,K|0,2,i[((i[U>>0]&1)==0?d:k[c>>2]|0)+2>>0]|0);R=x;x=0;if(R&1)c=mb()|0;else{c=A4((i[K>>0]&1)==0?K+1|0:k[K+8>>2]|0,0,16)|0;x=0;sa(430,J|0,S|0);S=x;x=0;if(S&1)c=mb()|0;else{e=+(c|0);k[g+4>>2]=0;q=g+8|0;s=H;t=q+40|0;do{k[q>>2]=k[s>>2];q=q+4|0;s=s+4|0}while((q|0)<(t|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;c=g+52|0;k[c>>2]=0;k[g>>2]=5580;p[g+56>>3]=j;p[g+64>>3]=m;p[g+72>>3]=e;p[g+80>>3]=1.0;x=0;sa(430,g+88|0,J|0);S=x;x=0;do if(!(S&1)){k[g+100>>2]=0;k[c>>2]=3;x=0;c=Ka(857,f|0,g|0)|0;S=x;x=0;if(S&1)break;P1(J);P1(K);P1(M);P1(P);V=122;break k}while(0);c=mb()|0;P1(J)}P1(K)}P1(M)}P1(P)}}}while(0);if((V|0)==99)c=mb()|0;else if((V|0)==122){P1(U);V=c;b=b+50|0;b=i[b>>0]|0;U=V+50|0;i[U>>0]=b;P1(W);P1(X);r=T;return V|0}P1(U)}}break}default:{V=0;b=b+50|0;b=i[b>>0]|0;U=V+50|0;i[U>>0]=b;P1(W);P1(X);r=T;return V|0}}while(0);if((V|0)==46)c=mb()|0;P1(W)}P1(X);X=c;yb(X|0);return 0}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,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,$=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,Ma=0,Na=0,Oa=0,Pa=0;a:while(1){C=b;D=b+-16|0;E=b+-32|0;F=b+-12|0;G=b+-8|0;H=b+-12|0;I=b+-4|0;B=a;b:while(1){A=B;d=C-A|0;e=d>>4;switch(e|0){case 2:{Ha=B;O=b;Ga=F;Fa=G;Ia=H;Ja=G;Ka=I;f=4;break a}case 3:{J=B;ga=D;f=15;break a}case 4:{K=B;ha=D;f=16;break a}case 5:{L=B;ia=D;f=17;break a}case 1:case 0:{f=133;break a}default:{}}if((d|0)<112){M=B;P=b;f=19;break a}q=(e|0)/2|0;x=B+(q<<4)|0;if((d|0)>15984){d=(e|0)/4|0;d=Gf(B,B+(d<<4)|0,x,x+(d<<4)|0,D,c)|0}else d=Nf(B,x,D,c)|0;z=k[B>>2]|0;y=k[x>>2]|0;c:do if(z>>>0>>0)f=D;else{d:do if(y>>>0>=z>>>0){o=k[B+8>>2]|0;p=B+(q<<4)|0;e=k[p+4>>2]|0;p=k[p+8>>2]|0;if((e|0)!=(p|0)){n=k[B+4>>2]|0;while(1){if((n|0)==(o|0)){f=D;break c}f=i[n>>0]|0;h=(f&1)==0;f=h?(f&255)>>>1:k[n+4>>2]|0;g=i[e>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:k[e+4>>2]|0;h=h?n+1|0:k[n+8>>2]|0;j=j?e+1|0:k[e+8>>2]|0;l=g>>>0>>0;w=tG(h,j,l?g:f)|0;m=f>>>0>>0;if((((w|0)==0?(m?-2147483648:0):w)|0)<0){f=D;break c}w=tG(j,h,m?f:g)|0;if((((w|0)==0?(l?-2147483648:0):w)|0)<0)break d;e=e+12|0;if((e|0)==(p|0))break;else n=n+12|0}}}while(0);e:do if((B|0)!=(E|0)){v=B+(q<<4)|0;u=v+4|0;v=v+8|0;w=E;t=D;f:while(1){n=k[w>>2]|0;if(n>>>0>>0){Q=w;S=w;U=n;Ca=t;f=89;break}g:do if(y>>>0>=n>>>0){o=t+-8|0;p=k[o>>2]|0;e=k[u>>2]|0;q=k[v>>2]|0;if((e|0)!=(q|0)){r=k[t+-12>>2]|0;s=r;while(1){if((s|0)==(p|0)){R=w;T=w;V=n;W=o;X=r;Da=t;f=88;break f}f=i[s>>0]|0;h=(f&1)==0;f=h?(f&255)>>>1:k[s+4>>2]|0;g=i[e>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:k[e+4>>2]|0;h=h?s+1|0:k[s+8>>2]|0;j=j?e+1|0:k[e+8>>2]|0;l=g>>>0>>0;Pa=tG(h,j,l?g:f)|0;m=f>>>0>>0;if((((Pa|0)==0?(m?-2147483648:0):Pa)|0)<0){R=w;T=w;V=n;W=o;X=r;Da=t;f=88;break f}Pa=tG(j,h,m?f:g)|0;if((((Pa|0)==0?(l?-2147483648:0):Pa)|0)<0)break g;e=e+12|0;if((e|0)==(q|0))break;else s=s+12|0}}}while(0);e=w+-16|0;if((B|0)==(e|0))break e;else{t=w;w=e}}if((f|0)==88){la=Da+-12|0;ma=W;sa=V;ta=T;ua=X;wa=R;Ea=Da}else if((f|0)==89){ua=Ca+-12|0;la=ua;ma=Ca+-8|0;sa=U;ta=S;ua=k[ua>>2]|0;wa=Q;Ea=Ca}k[B>>2]=sa;k[ta>>2]=z;z=B+4|0;f=k[z>>2]|0;k[z>>2]=ua;k[la>>2]=f;f=B+8|0;z=k[f>>2]|0;k[f>>2]=k[ma>>2];k[ma>>2]=z;z=B+12|0;f=Ea+-4|0;Pa=k[z>>2]|0;k[z>>2]=k[f>>2];k[f>>2]=Pa;f=wa;d=d+1|0;break c}while(0);d=B+16|0;v=k[D>>2]|0;h:do if(z>>>0>=v>>>0){i:do if(v>>>0>=z>>>0){n=k[B+8>>2]|0;e=k[F>>2]|0;o=k[G>>2]|0;if((e|0)!=(o|0)){p=k[B+4>>2]|0;while(1){if((p|0)==(n|0))break h;f=i[p>>0]|0;h=(f&1)==0;f=h?(f&255)>>>1:k[p+4>>2]|0;g=i[e>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:k[e+4>>2]|0;h=h?p+1|0:k[p+8>>2]|0;j=j?e+1|0:k[e+8>>2]|0;l=g>>>0>>0;Pa=tG(h,j,l?g:f)|0;m=f>>>0>>0;if((((Pa|0)==0?(m?-2147483648:0):Pa)|0)<0)break h;Pa=tG(j,h,m?f:g)|0;if((((Pa|0)==0?(l?-2147483648:0):Pa)|0)<0)break i;e=e+12|0;if((e|0)==(o|0))break;else p=p+12|0}}}while(0);if((d|0)==(D|0)){f=133;break a}t=B+8|0;u=B+4|0;j:while(1){e=k[d>>2]|0;if(z>>>0>>0){Y=d;_=e;xa=d;f=52;break}k:do if(e>>>0>=z>>>0){f=k[t>>2]|0;g=k[d+4>>2]|0;h=d+8|0;j=k[h>>2]|0;if((g|0)!=(j|0)){l=k[u>>2]|0;n=g;while(1){if((l|0)==(f|0)){Z=d;$=e;aa=g;ba=h;ya=d;f=51;break j}m=i[l>>0]|0;p=(m&1)==0;m=p?(m&255)>>>1:k[l+4>>2]|0;o=i[n>>0]|0;q=(o&1)==0;o=q?(o&255)>>>1:k[n+4>>2]|0;p=p?l+1|0:k[l+8>>2]|0;q=q?n+1|0:k[n+8>>2]|0;r=o>>>0>>0;Pa=tG(p,q,r?o:m)|0;s=m>>>0>>0;if((((Pa|0)==0?(s?-2147483648:0):Pa)|0)<0){Z=d;$=e;aa=g;ba=h;ya=d;f=51;break j}Pa=tG(q,p,s?m:o)|0;if((((Pa|0)==0?(r?-2147483648:0):Pa)|0)<0)break k;n=n+12|0;if((n|0)==(j|0))break;else l=l+12|0}}}while(0);d=d+16|0;if((d|0)==(D|0)){f=133;break a}}if((f|0)==51){ja=ya+4|0;ka=ba;na=Z;oa=$;pa=aa;za=ya}else if((f|0)==52){pa=xa+4|0;ja=pa;ka=xa+8|0;na=Y;oa=_;pa=k[pa>>2]|0;za=xa}k[na>>2]=v;k[D>>2]=oa;k[ja>>2]=k[H>>2];k[H>>2]=pa;Pa=k[ka>>2]|0;k[ka>>2]=k[G>>2];k[G>>2]=Pa;Pa=za+12|0;d=k[Pa>>2]|0;k[Pa>>2]=k[I>>2];k[I>>2]=d;d=za+16|0}while(0);if((d|0)==(D|0)){f=133;break a}t=B+8|0;u=B+4|0;g=D;while(1){s=k[B>>2]|0;e=k[d>>2]|0;do if(s>>>0>>0){qa=d;ra=e;Aa=d}else{l:while(1){m:do if(e>>>0>=s>>>0){p=k[t>>2]|0;f=k[d+4>>2]|0;q=k[d+8>>2]|0;if((f|0)!=(q|0)){r=k[u>>2]|0;while(1){if((r|0)==(p|0)){ca=e;da=d;f=64;break l}h=i[r>>0]|0;l=(h&1)==0;h=l?(h&255)>>>1:k[r+4>>2]|0;j=i[f>>0]|0;m=(j&1)==0;j=m?(j&255)>>>1:k[f+4>>2]|0;l=l?r+1|0:k[r+8>>2]|0;m=m?f+1|0:k[f+8>>2]|0;n=j>>>0>>0;Pa=tG(l,m,n?j:h)|0;o=h>>>0>>0;if((((Pa|0)==0?(o?-2147483648:0):Pa)|0)<0){ca=e;da=d;f=64;break l}Pa=tG(m,l,o?h:j)|0;if((((Pa|0)==0?(n?-2147483648:0):Pa)|0)<0)break m;f=f+12|0;if((f|0)==(q|0))break;else r=r+12|0}}}while(0);d=d+16|0;e=k[d>>2]|0;if(s>>>0>>0){ea=d;fa=e;f=63;break}}if((f|0)==63){qa=ea;ra=fa;Aa=ea;break}else if((f|0)==64){qa=da;ra=ca;Aa=da;break}}while(0);d=g;n:while(1){r=d+-16|0;f=k[r>>2]|0;if(s>>>0>>0){d=r;continue}if(f>>>0>>0){g=r;e=r;break}o=k[t>>2]|0;e=k[d+-12>>2]|0;p=k[d+-8>>2]|0;if((e|0)==(p|0)){g=r;e=r;break}q=k[u>>2]|0;while(1){if((q|0)==(o|0)){d=r;continue n}g=i[q>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:k[q+4>>2]|0;h=i[e>>0]|0;l=(h&1)==0;h=l?(h&255)>>>1:k[e+4>>2]|0;j=j?q+1|0:k[q+8>>2]|0;l=l?e+1|0:k[e+8>>2]|0;m=h>>>0>>0;Pa=tG(j,l,m?h:g)|0;n=g>>>0>>0;if((((Pa|0)==0?(n?-2147483648:0):Pa)|0)<0){d=r;continue n}Pa=tG(l,j,n?g:h)|0;if((((Pa|0)==0?(m?-2147483648:0):Pa)|0)<0){g=r;e=r;break n}e=e+12|0;if((e|0)==(p|0)){g=r;e=r;break n}else q=q+12|0}}if(Aa>>>0>=g>>>0){B=Aa;continue b}k[qa>>2]=f;k[e>>2]=ra;Pa=Aa+4|0;z=d+-12|0;A=k[Pa>>2]|0;k[Pa>>2]=k[z>>2];k[z>>2]=A;z=Aa+8|0;A=d+-8|0;Pa=k[z>>2]|0;k[z>>2]=k[A>>2];k[A>>2]=Pa;A=Aa+12|0;d=d+-4|0;Pa=k[A>>2]|0;k[A>>2]=k[d>>2];k[d>>2]=Pa;d=Aa+16|0}}while(0);e=B+16|0;o:do if(e>>>0>>0)while(1){w=k[x>>2]|0;y=x+4|0;z=x+8|0;p:while(1){s=k[e>>2]|0;q:do if(s>>>0>=w>>>0){if(w>>>0>>0){v=e;u=e;break p}p=k[e+8>>2]|0;g=k[y>>2]|0;q=k[z>>2]|0;if((g|0)==(q|0)){v=e;u=e;break p}r=k[e+4>>2]|0;while(1){if((r|0)==(p|0))break q;h=i[r>>0]|0;l=(h&1)==0;h=l?(h&255)>>>1:k[r+4>>2]|0;j=i[g>>0]|0;m=(j&1)==0;j=m?(j&255)>>>1:k[g+4>>2]|0;l=l?r+1|0:k[r+8>>2]|0;m=m?g+1|0:k[g+8>>2]|0;n=j>>>0>>0;Pa=tG(l,m,n?j:h)|0;o=h>>>0>>0;if((((Pa|0)==0?(o?-2147483648:0):Pa)|0)<0)break q;Pa=tG(m,l,o?h:j)|0;if((((Pa|0)==0?(n?-2147483648:0):Pa)|0)<0){v=e;u=e;break p}g=g+12|0;if((g|0)==(q|0)){v=e;u=e;break p}else r=r+12|0}}while(0);e=e+16|0}g=f+-16|0;e=k[g>>2]|0;r:do if(e>>>0>>0)h=g;else{t=g;while(1){s:do if(w>>>0>=e>>>0){p=k[f+-8>>2]|0;g=k[y>>2]|0;q=k[z>>2]|0;if((g|0)!=(q|0)){r=k[f+-12>>2]|0;while(1){if((r|0)==(p|0)){h=t;g=t;break r}h=i[r>>0]|0;l=(h&1)==0;h=l?(h&255)>>>1:k[r+4>>2]|0;j=i[g>>0]|0;m=(j&1)==0;j=m?(j&255)>>>1:k[g+4>>2]|0;l=l?r+1|0:k[r+8>>2]|0;m=m?g+1|0:k[g+8>>2]|0;n=j>>>0>>0;Pa=tG(l,m,n?j:h)|0;o=h>>>0>>0;if((((Pa|0)==0?(o?-2147483648:0):Pa)|0)<0){h=t;g=t;break r}Pa=tG(m,l,o?h:j)|0;if((((Pa|0)==0?(n?-2147483648:0):Pa)|0)<0)break s;g=g+12|0;if((g|0)==(q|0))break;else r=r+12|0}}}while(0);g=t+-16|0;e=k[g>>2]|0;if(e>>>0>>0){f=t;break}else{f=t;t=g}}h=g}while(0);if(u>>>0>h>>>0){e=u;break o}k[v>>2]=e;k[g>>2]=s;e=u+4|0;z=f+-12|0;Pa=k[e>>2]|0;k[e>>2]=k[z>>2];k[z>>2]=Pa;z=u+8|0;Pa=f+-8|0;e=k[z>>2]|0;k[z>>2]=k[Pa>>2];k[Pa>>2]=e;Pa=u+12|0;e=f+-4|0;f=k[Pa>>2]|0;k[Pa>>2]=k[e>>2];k[e>>2]=f;e=u+16|0;f=h;x=(x|0)==(u|0)?h:x;d=d+1|0}while(0);t:do if((e|0)!=(x|0)){v=k[x>>2]|0;w=k[e>>2]|0;if(v>>>0>>0){f=e+4|0;g=x+4|0;l=f;m=g;j=e+8|0;h=x+8|0;g=k[g>>2]|0;f=k[f>>2]|0}else{if(w>>>0>>0)break;h=x+8|0;r=k[h>>2]|0;j=k[e+4>>2]|0;u=e+8|0;s=k[u>>2]|0;f=j;if((j|0)==(s|0))break;t=k[x+4>>2]|0;g=t;while(1){if((t|0)==(r|0))break;l=i[t>>0]|0;n=(l&1)==0;l=n?(l&255)>>>1:k[t+4>>2]|0;m=i[j>>0]|0;o=(m&1)==0;m=o?(m&255)>>>1:k[j+4>>2]|0;n=n?t+1|0:k[t+8>>2]|0;o=o?j+1|0:k[j+8>>2]|0;p=m>>>0>>0;Pa=tG(n,o,p?m:l)|0;q=l>>>0>>0;if((((Pa|0)==0?(q?-2147483648:0):Pa)|0)<0)break;Pa=tG(o,n,q?l:m)|0;if((((Pa|0)==0?(p?-2147483648:0):Pa)|0)<0)break t;j=j+12|0;if((j|0)==(s|0))break t;else t=t+12|0}l=e+4|0;m=x+4|0;j=u}k[e>>2]=v;k[x>>2]=w;k[l>>2]=g;k[m>>2]=f;y=k[j>>2]|0;k[j>>2]=k[h>>2];k[h>>2]=y;y=e+12|0;Pa=x+12|0;z=k[y>>2]|0;k[y>>2]=k[Pa>>2];k[Pa>>2]=z;d=d+1|0}while(0);if(!d){va=Kf(B,e,c)|0;d=e+16|0;if(Kf(d,b,c)|0){f=132;break}if(va){B=d;continue}}Pa=e;if((Pa-A|0)>=(C-Pa|0)){N=B;Ba=e;f=131;break}qd(B,e,c);B=e+16|0}if((f|0)==131){qd(Ba+16|0,b,c);a=N;b=Ba;continue}else if((f|0)==132)if(va){f=133;break}else{a=B;b=e;continue}}if((f|0)==4){q=O+-16|0;r=k[q>>2]|0;s=k[Ha>>2]|0;do if(r>>>0>>0){Oa=Ha+4|0;La=Oa;Ma=Ha+8|0;Na=k[Ia>>2]|0;Oa=k[Oa>>2]|0}else{if(s>>>0>>0)return;l=k[Fa>>2]|0;a=k[Ha+4>>2]|0;o=Ha+8|0;m=k[o>>2]|0;p=a;if((a|0)==(m|0))return;j=k[Ga>>2]|0;n=j;while(1){if((j|0)==(l|0)){f=13;break}b=i[j>>0]|0;e=(b&1)==0;b=e?(b&255)>>>1:k[j+4>>2]|0;d=i[a>>0]|0;f=(d&1)==0;d=f?(d&255)>>>1:k[a+4>>2]|0;e=e?j+1|0:k[j+8>>2]|0;f=f?a+1|0:k[a+8>>2]|0;g=d>>>0>>0;Pa=tG(e,f,g?d:b)|0;h=b>>>0>>0;if((((Pa|0)==0?(h?-2147483648:0):Pa)|0)<0){f=13;break}Pa=tG(f,e,h?b:d)|0;if((((Pa|0)==0?(g?-2147483648:0):Pa)|0)<0){f=133;break}a=a+12|0;if((a|0)==(m|0)){f=133;break}else j=j+12|0}if((f|0)==13){La=Ha+4|0;Ma=o;Na=n;Oa=p;break}else if((f|0)==133)return}while(0);k[Ha>>2]=r;k[q>>2]=s;k[La>>2]=Na;k[Ia>>2]=Oa;Oa=k[Ma>>2]|0;k[Ma>>2]=k[Ja>>2];k[Ja>>2]=Oa;Oa=Ha+12|0;Pa=k[Oa>>2]|0;k[Oa>>2]=k[Ka>>2];k[Ka>>2]=Pa;return}else if((f|0)==15){Nf(J,J+16|0,ga,c)|0;return}else if((f|0)==16){Sg(K,K+16|0,K+32|0,ha,c)|0;return}else if((f|0)==17){Gf(L,L+16|0,L+32|0,L+48|0,ia,c)|0;return}else if((f|0)==19){Ki(M,P,c);return}else if((f|0)==133)return}function rd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,$=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;la=r;r=r+448|0;ja=la;B=la+388|0;b=la+436|0;h=la+424|0;na=la+376|0;F=la+192|0;C=la+412|0;E=la+180|0;D=la+400|0;A=la+176|0;z=la+336|0;ka=la+164|0;ga=la+160|0;ha=la+124|0;ba=la+148|0;ca=la+136|0;da=la+100|0;ea=la+88|0;ia=la+112|0;_=la+64|0;$=la+52|0;aa=la+40|0;fa=la+80|0;lE(b,38323,10);x=0;W=ja;X=e;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));y=wa(26,b|0,a|0,d|0,ja|0,f|0)|0;ma=x;x=0;if(ma&1){na=mb()|0;P1(b);yb(na|0)}P1(b);g=y+60|0;d=y+64|0;a=k[d>>2]|0;b=k[g>>2]|0;do if((a|0)==(b|0)){lE(h,38334,48);x=0;W=ja;X=e;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));sa(438,h|0,ja|0);ma=x;x=0;if(!(ma&1)){P1(h);a=k[d>>2]|0;b=k[g>>2]|0;break}na=mb()|0;P1(h);yb(na|0)}while(0);k[na>>2]=0;ma=na+4|0;k[ma>>2]=0;k[na+8>>2]=0;d=a-b>>2;a:do if(!d)Z=43;else{w=F+64|0;g=F+8|0;t=F+12|0;h=F+4|0;j=F+64|0;l=F+136|0;m=F+140|0;u=F+44|0;n=F+60|0;v=F+8|0;o=E+8|0;p=E+1|0;q=na+8|0;s=0;while(1){x=0;a=Ka(899,y|0,s|0)|0;Z=x;x=0;if(Z&1){Z=10;break}if((k[a+52>>2]|0)==8){k[g>>2]=8236;k[F>>2]=8440;k[w>>2]=8460;k[h>>2]=0;x=0;sa(452,j|0,t|0);Z=x;x=0;if(Z&1){Z=19;break}k[l>>2]=0;k[m>>2]=-1;k[F>>2]=8216;k[w>>2]=8256;k[g>>2]=8236;x=0;ra(324,t|0);Z=x;x=0;if(Z&1){Z=20;break}k[t>>2]=8272;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;k[u+12>>2]=0;k[n>>2]=24;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;x=0;sa(453,t|0,B|0);Z=x;x=0;if(Z&1){Z=18;break}P1(B);x=0;xa(49,v|0,38383,63)|0;Z=x;x=0;if(Z&1){Z=28;break}x=0;xa(49,v|0,38516,70)|0;Z=x;x=0;if(Z&1){Z=28;break}x=0;sa(454,C|0,t|0);Z=x;x=0;if(Z&1){Z=28;break}x=0;W=ja;X=e;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));sa(438,C|0,ja|0);Z=x;x=0;if(Z&1){Z=29;break}P1(C);k[F>>2]=8216;k[w>>2]=8256;k[v>>2]=8236;k[t>>2]=8272;P1(u);D2(t);P9(w)}b=Ot(a,64,432,0)|0;if(b|0)i[b+57>>0]=0;x=0;sa(k[(k[a>>2]|0)+24>>2]|0,D|0,a|0);Z=x;x=0;if(Z&1){Z=10;break}x=0;b=Ka(866,D|0,44289)|0;Z=x;x=0;if(Z&1){Z=41;break}k[E>>2]=k[b>>2];k[E+4>>2]=k[b+4>>2];k[E+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;P1(D);b=i[E>>0]|0;a=k[o>>2]|0;x=0;Ua(14,z|0,36934,0,-1);Z=x;x=0;if(Z&1){Z=42;break}b=(b&1)==0?p:a;x=0;W=ja;X=z;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));b=Pa(10,b|0,c|0,ja|0,0)|0;Z=x;x=0;if(Z&1){Z=42;break}k[A>>2]=b;a=k[ma>>2]|0;if((a|0)==(k[q>>2]|0)){x=0;sa(532,na|0,A|0);Z=x;x=0;if(Z&1){Z=42;break}}else{k[a>>2]=b;k[ma>>2]=(k[ma>>2]|0)+4}P1(E);s=s+1|0;if(s>>>0>=d>>>0){Z=9;break}}if((Z|0)==9){b=k[na>>2]|0;a=k[ma>>2]|0;if((b|0)==(a|0)){Z=43;break}U=k[b>>2]|0;b=b+4|0;b:do if((b|0)!=(a|0)){V=ka+4|0;C=ka+8|0;D=U+72|0;E=U+76|0;F=(D|0)==(ka|0);G=U+72|0;H=ka+8|0;I=_+8|0;J=_+1|0;K=_+4|0;L=$+8|0;M=$+1|0;N=$+4|0;O=ba+8|0;P=ba+1|0;Q=ba+4|0;R=ca+8|0;S=ca+1|0;T=ca+4|0;c:while(1){a=k[b>>2]|0;k[ka>>2]=0;k[V>>2]=0;k[C>>2]=0;A=(k[E>>2]|0)-(k[D>>2]|0)>>2;if(A|0){B=a+72|0;u=a+76|0;y=0;do{v=(k[u>>2]|0)-(k[B>>2]|0)>>2;if(v|0){z=0;do{x=0;s=Ka(886,k[(k[G>>2]|0)+(y<<2)>>2]|0,c|0)|0;Y=x;x=0;if(Y&1){Z=53;break c}k[ga>>2]=s;d=k[(k[B>>2]|0)+(z<<2)>>2]|0;t=k[d+76>>2]|0;w=s;if(k[d+68>>2]|0){x=0;Qa(74,ha|0,38587,15);Y=x;x=0;if(Y&1){Z=53;break c}x=0;sa(k[(k[d>>2]|0)+24>>2]|0,ba|0,d|0);Y=x;x=0;if(Y&1){Z=70;break c}Y=i[ba>>0]|0;X=(Y&1)==0;x=0;xa(46,ha|0,(X?P:k[O>>2]|0)|0,(X?(Y&255)>>>1:k[Q>>2]|0)|0)|0;Y=x;x=0;if(Y&1){Z=71;break c}P1(ba);x=0;Ka(866,ha|0,38603)|0;Y=x;x=0;if(Y&1){Z=70;break c}x=0;sa(k[(k[s>>2]|0)+24>>2]|0,ca|0,s|0);Y=x;x=0;if(Y&1){Z=70;break c}Y=i[ca>>0]|0;X=(Y&1)==0;x=0;xa(46,ha|0,(X?S:k[R>>2]|0)|0,(X?(Y&255)>>>1:k[T>>2]|0)|0)|0;Y=x;x=0;if(Y&1){Z=72;break c}P1(ca);x=0;Ka(866,ha|0,38057)|0;Y=x;x=0;if(Y&1){Z=70;break c}x=0;sa(430,da|0,ha|0);Y=x;x=0;if(Y&1){Z=70;break c}x=0;W=ja;X=e;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Qa(100,da|0,ja|0,f|0);Y=x;x=0;if(Y&1){Z=73;break c}P1(da);P1(ha)}a=k[k[(k[d+72>>2]|0)+72>>2]>>2]|0;do if(a|0){a=Ot(a,96,312,0)|0;if(a|0){x=0;sa(430,ea|0,a+80|0);Y=x;x=0;if(Y&1){Z=53;break c}Y=(KH(ea,38885)|0)==0;P1(ea);if(!Y)break;x=0;Qa(74,ia|0,38587,15);Y=x;x=0;if(Y&1){Z=53;break c}x=0;sa(k[(k[d>>2]|0)+24>>2]|0,_|0,d|0);Y=x;x=0;if(Y&1){Z=89;break c}Y=i[_>>0]|0;X=(Y&1)==0;x=0;xa(46,ia|0,(X?J:k[I>>2]|0)|0,(X?(Y&255)>>>1:k[K>>2]|0)|0)|0;Y=x;x=0;if(Y&1){Z=90;break c}P1(_);x=0;Ka(866,ia|0,38603)|0;Y=x;x=0;if(Y&1){Z=89;break c}x=0;sa(k[(k[s>>2]|0)+24>>2]|0,$|0,s|0);Y=x;x=0;if(Y&1){Z=89;break c}Y=i[$>>0]|0;X=(Y&1)==0;x=0;xa(46,ia|0,(X?M:k[L>>2]|0)|0,(X?(Y&255)>>>1:k[N>>2]|0)|0)|0;Y=x;x=0;if(Y&1){Z=91;break c}P1($);x=0;Ka(866,ia|0,38057)|0;Y=x;x=0;if(Y&1){Z=89;break c}x=0;sa(430,aa|0,ia|0);Y=x;x=0;if(Y&1){Z=89;break c}x=0;W=ja;X=e;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Qa(100,aa|0,ja|0,f|0);Y=x;x=0;if(Y&1){Z=92;break c}P1(aa);P1(ia)}}while(0);x=0;a=ua(216,s|0)|0;Y=x;x=0;if(Y&1){Z=53;break c}d=k[a+72>>2]|0;p=d+68|0;a=k[t+72>>2]|0;a=(a|0)==0?0:a+68|0;g=k[a+4>>2]|0;q=(k[a+8>>2]|0)-g>>2;d:do if(q|0){l=a+4|0;m=d+84|0;n=d+76|0;o=d+80|0;j=d+72|0;a=0;while(1){d=k[g+(a<<2)>>2]|0;k[ja>>2]=d;g=d;if(d|0){k[m>>2]=0;h=k[n>>2]|0;if((h|0)==(k[o>>2]|0)){x=0;sa(450,j|0,ja|0);Y=x;x=0;if(Y&1){Z=52;break c}}else{k[h>>2]=g;k[n>>2]=(k[n>>2]|0)+4}x=0;sa(k[k[p>>2]>>2]|0,p|0,d|0);Y=x;x=0;if(Y&1){Z=52;break c}}a=a+1|0;if((a|0)==(q|0))break d;g=k[l>>2]|0}}while(0);x=0;a=ua(216,s|0)|0;Y=x;x=0;if(Y&1){Z=53;break c}k[a+76>>2]=k[t+76>>2];a=k[V>>2]|0;if((a|0)==(k[H>>2]|0)){x=0;sa(447,ka|0,ga|0);Y=x;x=0;if(Y&1){Z=53;break c}}else{k[a>>2]=w;k[V>>2]=(k[V>>2]|0)+4}z=z+1|0}while(z>>>0>>0)}y=y+1|0}while(y>>>0>>0)}if(!F){x=0;Qa(133,D|0,k[ka>>2]|0,k[V>>2]|0);Y=x;x=0;if(Y&1){Z=54;break}}a=k[ka>>2]|0;d=a;if(a|0){g=k[V>>2]|0;if((g|0)!=(a|0))k[V>>2]=g+(~((g+-4-d|0)>>>2)<<2);uha(a)}b=b+4|0;if((b|0)==(k[ma>>2]|0))break b}switch(Z|0){case 52:{d=mb()|0;Z=55;break}case 53:{d=mb()|0;Z=55;break}case 54:{d=mb()|0;Z=55;break}case 70:{d=mb()|0;Z=74;break}case 71:{d=mb()|0;P1(ba);Z=74;break}case 72:{d=mb()|0;P1(ca);Z=74;break}case 73:{d=mb()|0;P1(da);Z=74;break}case 89:{d=mb()|0;Z=93;break}case 90:{d=mb()|0;P1(_);Z=93;break}case 91:{d=mb()|0;P1($);Z=93;break}case 92:{d=mb()|0;P1(aa);Z=93;break}}if((Z|0)!=55)if((Z|0)==74)P1(ha);else if((Z|0)==93)P1(ia);b=k[ka>>2]|0;if(!b)break a;a=k[V>>2]|0;if((a|0)!=(b|0))k[V>>2]=a+(~((a+-4-b|0)>>>2)<<2);uha(b);break a}while(0);x=0;sa(451,fa|0,c+36|0);ka=x;x=0;if(ka&1){Z=11;break}x=0;b=Ka(k[(k[U>>2]|0)+40>>2]|0,U|0,fa|0)|0;ka=x;x=0;if(ka&1){d=mb()|0;break}else{Z=122;break}}else if((Z|0)==10){b=mb()|0;Z=12;break}else if((Z|0)==18){b=mb()|0;P1(B);P1(u);D2(t);Z=21}else if((Z|0)==19)b=mb()|0;else if((Z|0)==20){b=mb()|0;Z=21}else if((Z|0)==28){d=mb()|0;Z=30}else if((Z|0)==29){d=mb()|0;P1(C);Z=30}else if((Z|0)==41){d=mb()|0;P1(D);break}else if((Z|0)==42){d=mb()|0;P1(E);break}if((Z|0)!=21)if((Z|0)==30){k[F>>2]=8216;k[w>>2]=8256;k[v>>2]=8236;k[t>>2]=8272;P1(u);D2(t);P9(w);break}P9(w);Z=12}while(0);if((Z|0)==43){b=c+36|0;x=0;a=Ka(856,b|0,56)|0;ka=x;x=0;if(ka&1)Z=11;else{W=ja;X=e;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));k[a+4>>2]=0;W=a+8|0;X=ja;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));i[a+48>>0]=0;i[a+49>>0]=0;i[a+50>>0]=0;k[a>>2]=6380;k[a+52>>2]=8;x=0;b=Ka(857,b|0,a|0)|0;ka=x;x=0;if(ka&1)Z=11;else Z=122}}if((Z|0)==11){b=mb()|0;Z=12}else if((Z|0)==122){a=k[na>>2]|0;if(!a){r=la;return b|0}d=k[ma>>2]|0;if((d|0)!=(a|0))k[ma>>2]=d+(~((d+-4-a|0)>>>2)<<2);uha(a);r=la;return b|0}if((Z|0)==12)d=b;b=k[na>>2]|0;if(!b){na=d;yb(na|0)}a=k[ma>>2]|0;if((a|0)!=(b|0))k[ma>>2]=a+(~((a+-4-b|0)>>>2)<<2);uha(b);na=d;yb(na|0);return 0}function sd(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;y=0;B=r;r=r+416|0;w=B+388|0;o=B+400|0;j=B+376|0;H=B+232|0;G=B+216|0;E=B+204|0;C=B+48|0;s=B+192|0;u=B+36|0;v=B+24|0;t=B+12|0;A=B;I=H+64|0;c=H+8|0;k[c>>2]=8236;F=H+12|0;k[H>>2]=8440;k[I>>2]=8460;k[H+4>>2]=0;x=0;sa(452,H+64|0,F|0);D=x;x=0;if(D&1){H=mb()|0;P9(I);yb(H|0)}k[H+136>>2]=0;k[H+140>>2]=-1;k[H>>2]=8216;k[I>>2]=8256;k[c>>2]=8236;x=0;ra(324,F|0);D=x;x=0;do if(D&1)c=mb()|0;else{k[F>>2]=8272;D=H+44|0;k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;k[D+12>>2]=0;k[H+60>>2]=24;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;x=0;sa(453,F|0,w|0);z=x;x=0;if(z&1){c=mb()|0;P1(w);P1(D);D2(F);break}P1(w);x=0;sa(430,G|0,b+88|0);z=x;x=0;if(z&1){G=mb()|0;k[H>>2]=8216;k[I>>2]=8256;H=H+8|0;k[H>>2]=8236;k[F>>2]=8272;P1(D);D2(F);P9(I);yb(G|0)}x=0;sa(430,E|0,G|0);z=x;x=0;if(z&1)c=mb()|0;else{f=+p[b+56>>3];z=a+4|0;a=a+72|0;x=0;f=+ya(1,+(f>255.0?255.0:f<0.0?0.0:f),k[(k[a>>2]|0)+4>>2]|0);q=x;x=0;a:do if(q&1)y=24;else{h=+p[b+64>>3];x=0;h=+ya(1,+(h>255.0?255.0:h<0.0?0.0:h),k[(k[a>>2]|0)+4>>2]|0);q=x;x=0;if(q&1)y=24;else{d=+p[b+72>>3];x=0;d=+ya(1,+(d>255.0?255.0:d<0.0?0.0:d),k[(k[a>>2]|0)+4>>2]|0);q=x;x=0;if(q&1)y=24;else{g=+p[b+80>>3];g=g>1.0?1.0:g<0.0?0.0:g;if(!(KH(G,78097)|0))y=26;else{x=0;c=ua(212,G|0)|0;q=x;x=0;if(q&1){y=24;break}if(!c)y=26;else{x=0;c=ua(212,G|0)|0;q=x;x=0;if(q&1){y=24;break}f=+p[c+56>>3];x=0;f=+ya(1,+(f>255.0?255.0:f<0.0?0.0:f),k[(k[a>>2]|0)+4>>2]|0);q=x;x=0;if(q&1){y=24;break}e=+p[c+64>>3];x=0;e=+ya(1,+(e>255.0?255.0:e<0.0?0.0:e),k[(k[a>>2]|0)+4>>2]|0);q=x;x=0;if(q&1){y=24;break}d=+p[c+72>>3];x=0;d=+ya(1,+(d>255.0?255.0:d<0.0?0.0:d),k[(k[a>>2]|0)+4>>2]|0);q=x;x=0;if(q&1){y=24;break}g=+p[c+80>>3];g=g>1.0?1.0:g<0.0?0.0:g}}if((y|0)==26){e=f*65536.0+h*256.0+d;x=0;c=va(1,+e)|0;y=x;x=0;if(y&1){y=24;break}if(!c)e=h;else{x=0;c=va(1,+e)|0;y=x;x=0;if(y&1){y=24;break}x=0;Ka(874,E|0,c|0)|0;y=x;x=0;if(y&1){y=24;break}else e=h}}q=C+64|0;c=C+8|0;k[c>>2]=8236;n=C+12|0;k[C>>2]=8440;k[q>>2]=8460;k[C+4>>2]=0;x=0;sa(452,C+64|0,n|0);y=x;x=0;if(y&1)c=mb()|0;else{k[C+136>>2]=0;k[C+140>>2]=-1;k[C>>2]=8216;k[q>>2]=8256;k[c>>2]=8236;x=0;ra(324,n|0);y=x;x=0;do if(y&1)c=mb()|0;else{k[n>>2]=8272;m=C+44|0;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[m+12>>2]=0;k[C+60>>2]=24;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;x=0;sa(453,n|0,j|0);y=x;x=0;if(y&1){c=mb()|0;P1(j);P1(m);D2(n);break}P1(j);j=(k[k[a>>2]>>2]|0)==3;l=C+8|0;i[o>>0]=35;x=0;c=xa(49,l|0,o|0,1)|0;y=x;x=0;b:do if(y&1)y=45;else{k[c+(k[(k[c>>2]|0)+-12>>2]|0)+12>>2]=1;k[c+(k[(k[c>>2]|0)+-12>>2]|0)+76>>2]=48;do if(j){x=0;c=Ea(1,+f,+e,+d)|0;y=x;x=0;if(y&1){y=45;break b}if(!(g==1.0&c)){y=46;break}y=l+(k[(k[l>>2]|0)+-12>>2]|0)+4|0;k[y>>2]=k[y>>2]&-75|8;k[l+(k[(k[l>>2]|0)+-12>>2]|0)+12>>2]=1;x=0;Ka(883,l|0,~~f>>>0>>>4|0)|0;y=x;x=0;if(y&1){y=45;break b}y=l+(k[(k[l>>2]|0)+-12>>2]|0)+4|0;k[y>>2]=k[y>>2]&-75|8;k[l+(k[(k[l>>2]|0)+-12>>2]|0)+12>>2]=1;x=0;Ka(883,l|0,~~e>>>0>>>4|0)|0;y=x;x=0;if(y&1){y=45;break b}y=l+(k[(k[l>>2]|0)+-12>>2]|0)+4|0;k[y>>2]=k[y>>2]&-75|8;k[l+(k[(k[l>>2]|0)+-12>>2]|0)+12>>2]=1;x=0;Ka(883,l|0,~~d>>>0>>>4|0)|0;y=x;x=0;if(y&1){y=45;break b}else y=50}else y=46;while(0);if((y|0)==46){o=l+(k[(k[l>>2]|0)+-12>>2]|0)+4|0;k[o>>2]=k[o>>2]&-75|8;k[l+(k[(k[l>>2]|0)+-12>>2]|0)+12>>2]=2;x=0;Ka(883,l|0,~~f>>>0|0)|0;o=x;x=0;if(o&1){y=45;break}o=l+(k[(k[l>>2]|0)+-12>>2]|0)+4|0;k[o>>2]=k[o>>2]&-75|8;k[l+(k[(k[l>>2]|0)+-12>>2]|0)+12>>2]=2;x=0;Ka(883,l|0,~~e>>>0|0)|0;o=x;x=0;if(o&1){y=45;break}o=l+(k[(k[l>>2]|0)+-12>>2]|0)+4|0;k[o>>2]=k[o>>2]&-75|8;k[l+(k[(k[l>>2]|0)+-12>>2]|0)+12>>2]=2;x=0;Ka(883,l|0,~~d>>>0|0)|0;o=x;x=0;if(o&1){y=45;break}if(j)y=50}do if((y|0)==50){if(i[b+48>>0]|0)break;x=0;Ka(874,G|0,78097)|0;o=x;x=0;if(o&1){y=45;break b}}while(0);c=g>=1.0;if(c&(k[k[a>>2]>>2]|0)==4){x=0;sa(454,s|0,n|0);A=x;x=0;if(A&1){y=45;break}x=0;Qa(134,z|0,s|0,b|0);b=x;x=0;if(b&1){c=mb()|0;P1(s);break}P1(s);k[C>>2]=8216;k[q>>2]=8256;k[l>>2]=8236;k[n>>2]=8272;P1(m);D2(n);P9(q);P1(E);P1(G);k[H>>2]=8216;k[I>>2]=8256;H=H+8|0;k[H>>2]=8236;k[F>>2]=8272;P1(D);D2(F);P9(I);r=B;return}c:do if(!(KH(G,78097)|0)){if(g==0.0&(d==0.0&(e==0.0&f==0.0))){x=0;xa(49,H+8|0,38901,11)|0;w=x;x=0;if(w&1){y=45;break b}else break}if(c){if(!(KH(E,78097)|0)){x=0;sa(454,t|0,n|0);w=x;x=0;if(w&1){y=45;break b}w=i[t>>0]|0;v=(w&1)==0;x=0;xa(49,H+8|0,(v?t+1|0:k[t+8>>2]|0)|0,(v?(w&255)>>>1:k[t+4>>2]|0)|0)|0;w=x;x=0;if(w&1){c=mb()|0;P1(t);break b}else{P1(t);break}}do if(j){x=0;sa(454,u|0,n|0);w=x;x=0;if(w&1){y=45;break b}c=i[u>>0]|0;w=i[E>>0]|0;a=E+4|0;w=((c&1)==0?(c&255)>>>1:k[u+4>>2]|0)>>>0<((w&1)==0?(w&255)>>>1:k[a>>2]|0)>>>0;P1(u);c=H+8|0;if(!w)break;x=0;sa(454,v|0,n|0);w=x;x=0;if(w&1){y=45;break b}w=i[v>>0]|0;u=(w&1)==0;x=0;xa(49,c|0,(u?v+1|0:k[v+8>>2]|0)|0,(u?(w&255)>>>1:k[v+4>>2]|0)|0)|0;w=x;x=0;if(w&1){c=mb()|0;P1(v);break b}else{P1(v);break c}}else{a=E+4|0;c=H+8|0}while(0);w=i[E>>0]|0;v=(w&1)==0;x=0;xa(49,c|0,(v?E+1|0:k[E+8>>2]|0)|0,(v?(w&255)>>>1:k[a>>2]|0)|0)|0;w=x;x=0;if(w&1){y=45;break b}else break}a=H+8|0;x=0;xa(49,a|0,38913,5)|0;v=x;x=0;if(v&1){y=45;break b}x=0;c=Ka(883,a|0,~~f>>>0|0)|0;v=x;x=0;if(v&1){y=45;break b}x=0;xa(49,c|0,44344,1)|0;v=x;x=0;if(v&1){y=45;break b}if(!j){x=0;xa(49,a|0,41822,1)|0;v=x;x=0;if(v&1){y=45;break b}}x=0;c=Ka(883,a|0,~~e>>>0|0)|0;v=x;x=0;if(v&1){y=45;break b}x=0;xa(49,c|0,44344,1)|0;v=x;x=0;if(v&1){y=45;break b}if(!j){x=0;xa(49,a|0,41822,1)|0;v=x;x=0;if(v&1){y=45;break b}}x=0;c=Ka(883,a|0,~~d>>>0|0)|0;v=x;x=0;if(v&1){y=45;break b}x=0;xa(49,c|0,44344,1)|0;v=x;x=0;if(v&1){y=45;break b}if(!j){x=0;xa(49,a|0,41822,1)|0;v=x;x=0;if(v&1){y=45;break b}}x=0;c=Ga(1,a|0,+g)|0;v=x;x=0;if(v&1){y=45;break b}i[w>>0]=41;x=0;xa(49,c|0,w|0,1)|0;w=x;x=0;if(w&1){y=45;break b}}else{w=i[G>>0]|0;v=(w&1)==0;x=0;xa(49,H+8|0,(v?G+1|0:k[G+8>>2]|0)|0,(v?(w&255)>>>1:k[G+4>>2]|0)|0)|0;w=x;x=0;if(w&1){y=45;break b}}while(0);x=0;sa(454,A|0,F|0);w=x;x=0;if(w&1){y=45;break}x=0;Qa(134,z|0,A|0,b|0);b=x;x=0;if(b&1){c=mb()|0;P1(A);break}P1(A);k[C>>2]=8216;k[q>>2]=8256;k[l>>2]=8236;k[n>>2]=8272;P1(m);D2(n);P9(q);P1(E);P1(G);k[H>>2]=8216;k[I>>2]=8256;H=H+8|0;k[H>>2]=8236;k[F>>2]=8272;P1(D);D2(F);P9(I);r=B;return}while(0);if((y|0)==45)c=mb()|0;k[C>>2]=8216;k[q>>2]=8256;k[l>>2]=8236;k[n>>2]=8272;P1(m);D2(n);P9(q);break a}while(0)}P9(q);y=25}}}while(0);if((y|0)==24){c=mb()|0;y=25}P1(E)}P1(G);G=c;k[H>>2]=8216;k[I>>2]=8256;H=H+8|0;k[H>>2]=8236;k[F>>2]=8272;P1(D);D2(F);P9(I);yb(G|0)}while(0);H=c;P9(I);yb(H|0)}function td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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=r;r=r+208|0;F=J;e=J+184|0;m=J+172|0;n=J+160|0;u=J+148|0;o=J+136|0;q=J+124|0;s=J+112|0;z=J+100|0;v=J+88|0;w=J+76|0;t=J+64|0;A=J+52|0;y=J+40|0;I=k[c+76>>2]|0;G=k[c+68>>2]|0;H=k[c+80>>2]|0;h=k[c+72>>2]|0;if(i[c+57>>0]|0)i[a+57>>0]=1;if(i[c+58>>0]|0)i[a+58>>0]=1;a:do if(!h)c=a;else{f=k[h+76>>2]|0;g=k[h+72>>2]|0;p=g;if((f|0)==(g|0))c=a;else{c=a;while(1){d=k[c+76>>2]|0;if(!d)break;else c=d}if((G|0)!=0&(k[c+68>>2]|0)!=0){lE(e,27603,23);x=0;h=F;j=a+8|0;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));sa(438,e|0,F|0);E=x;x=0;if(!(E&1)){P1(e);c=a;break}J=mb()|0;P1(e);yb(J|0)}else c=a;while(1){d=k[c+76>>2]|0;if(!d)break;else c=d}if(!(k[c+72>>2]|0))c=a;else{c=a;while(1){d=k[c+76>>2]|0;if(!d)break;else c=d}E=k[c+72>>2]|0;if((k[E+76>>2]|0)==(k[E+72>>2]|0))c=a;else{c=a;while(1){d=k[c+76>>2]|0;if(!d)break;else c=d}B=k[c+72>>2]|0;E=f-g>>2;D=h+72|0;f=k[p>>2]|0;if(!f)c=a;else if(!(Ot(f,96,312,0)|0))c=a;else{p=B+68|0;C=B+76|0;c=k[(k[C>>2]|0)+-4>>2]|0;if(!c)c=a;else{g=Ot(c,96,328,0)|0;if(g|0){e=GG(96)|0;k[e+4>>2]=k[g+4>>2];k[e>>2]=4748;h=e+8|0;j=g+8|0;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[e>>2]=6736;z=g+48|0;A=k[z+4>>2]|0;c=e+48|0;k[c>>2]=k[z>>2];k[c+4>>2]=A;k[e>>2]=6840;c=e+56|0;A=g+56|0;k[c>>2]=k[A>>2];k[c+4>>2]=k[A+4>>2];k[c+8>>2]=k[A+8>>2];k[e>>2]=6600;c=e+68|0;x=0;sa(430,c|0,g+68|0);A=x;x=0;do if(A&1)c=mb()|0;else{d=e+80|0;x=0;sa(430,d|0,g+80|0);A=x;x=0;if(A&1){J=mb()|0;P1(c);c=J;break}i[e+92>>0]=i[g+92>>0]|0;k[e>>2]=7284;_G(u,d);x=0;sa(430,o|0,(k[k[D>>2]>>2]|0)+80|0);A=x;x=0;if(A&1)c=mb()|0;else{c=i[o>>0]|0;A=(c&1)==0;x=0;c=xa(46,u|0,(A?o+1|0:k[o+8>>2]|0)|0,(A?(c&255)>>>1:k[o+4>>2]|0)|0)|0;A=x;x=0;if(A&1)c=mb()|0;else{k[n>>2]=k[c>>2];k[n+4>>2]=k[c+4>>2];k[n+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=Ka(854,d|0,n|0)|0;A=x;x=0;do if(!(A&1)){x=0;sa(430,m|0,c|0);A=x;x=0;if(A&1)break;P1(m);P1(n);P1(o);P1(u);j=B+72|0;A=k[j>>2]|0;k[A+(((k[C>>2]|0)-A>>2)+-1<<2)>>2]=e;if(E>>>0<=1){c=a;break a}h=B+84|0;c=B+80|0;g=1;while(1){d=k[(k[D>>2]|0)+(g<<2)>>2]|0;k[F>>2]=d;e=d;if(d|0){k[h>>2]=0;f=k[C>>2]|0;if((f|0)==(k[c>>2]|0))nw(j,F);else{k[f>>2]=e;k[C>>2]=(k[C>>2]|0)+4}rc[k[k[p>>2]>>2]&1023](p,d)}g=g+1|0;if((g|0)==(E|0)){c=a;break a}}}while(0);c=mb()|0;P1(n)}P1(o)}P1(u);J=c;yb(J|0)}while(0);uha(e);J=c;yb(J|0)}g=Ot(c,96,312,0)|0;if(g|0){e=GG(96)|0;k[e+4>>2]=k[g+4>>2];k[e>>2]=4748;h=e+8|0;j=g+8|0;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[e>>2]=6736;y=g+48|0;A=k[y+4>>2]|0;c=e+48|0;k[c>>2]=k[y>>2];k[c+4>>2]=A;k[e>>2]=6840;c=e+56|0;A=g+56|0;k[c>>2]=k[A>>2];k[c+4>>2]=k[A+4>>2];k[c+8>>2]=k[A+8>>2];k[e>>2]=6600;c=e+68|0;x=0;sa(430,c|0,g+68|0);A=x;x=0;do if(A&1)c=mb()|0;else{d=e+80|0;x=0;sa(430,d|0,g+80|0);A=x;x=0;if(A&1){J=mb()|0;P1(c);c=J;break}i[e+92>>0]=i[g+92>>0]|0;k[e>>2]=7144;_G(z,d);x=0;sa(430,v|0,(k[k[D>>2]>>2]|0)+80|0);A=x;x=0;if(A&1)c=mb()|0;else{c=i[v>>0]|0;A=(c&1)==0;x=0;c=xa(46,z|0,(A?v+1|0:k[v+8>>2]|0)|0,(A?(c&255)>>>1:k[v+4>>2]|0)|0)|0;A=x;x=0;if(A&1)c=mb()|0;else{k[s>>2]=k[c>>2];k[s+4>>2]=k[c+4>>2];k[s+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=Ka(854,d|0,s|0)|0;A=x;x=0;do if(!(A&1)){x=0;sa(430,q|0,c|0);A=x;x=0;if(A&1)break;P1(q);P1(s);P1(v);P1(z);j=B+72|0;A=k[j>>2]|0;k[A+(((k[C>>2]|0)-A>>2)+-1<<2)>>2]=e;if(E>>>0<=1){c=a;break a}h=B+84|0;c=B+80|0;g=1;while(1){d=k[(k[D>>2]|0)+(g<<2)>>2]|0;k[F>>2]=d;e=d;if(d|0){k[h>>2]=0;f=k[C>>2]|0;if((f|0)==(k[c>>2]|0))nw(j,F);else{k[f>>2]=e;k[C>>2]=(k[C>>2]|0)+4}rc[k[k[p>>2]>>2]&1023](p,d)}g=g+1|0;if((g|0)==(E|0)){c=a;break a}}}while(0);c=mb()|0;P1(s)}P1(v)}P1(z);J=c;yb(J|0)}while(0);uha(e);J=c;yb(J|0)}e=Ot(c,96,768,0)|0;if(!e)c=a;else{f=GG(96)|0;k[f+4>>2]=k[e+4>>2];k[f>>2]=4748;h=f+8|0;j=e+8|0;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[f>>2]=6736;v=e+48|0;z=k[v+4>>2]|0;c=f+48|0;k[c>>2]=k[v>>2];k[c+4>>2]=z;k[f>>2]=6840;c=f+56|0;z=e+56|0;k[c>>2]=k[z>>2];k[c+4>>2]=k[z+4>>2];k[c+8>>2]=k[z+8>>2];k[f>>2]=6600;c=f+68|0;x=0;sa(430,c|0,e+68|0);z=x;x=0;do if(z&1)c=mb()|0;else{d=f+80|0;x=0;sa(430,d|0,e+80|0);z=x;x=0;if(z&1){J=mb()|0;P1(c);c=J;break}i[f+92>>0]=i[e+92>>0]|0;k[f>>2]=8024;_G(A,d);x=0;sa(430,y|0,(k[k[D>>2]>>2]|0)+80|0);z=x;x=0;if(z&1)c=mb()|0;else{c=i[y>>0]|0;z=(c&1)==0;x=0;c=xa(46,A|0,(z?y+1|0:k[y+8>>2]|0)|0,(z?(c&255)>>>1:k[y+4>>2]|0)|0)|0;z=x;x=0;if(z&1)c=mb()|0;else{k[t>>2]=k[c>>2];k[t+4>>2]=k[c+4>>2];k[t+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=Ka(854,d|0,t|0)|0;z=x;x=0;do if(!(z&1)){x=0;sa(430,w|0,c|0);z=x;x=0;if(z&1)break;P1(w);P1(t);P1(y);P1(A);j=B+72|0;A=k[j>>2]|0;k[A+(((k[C>>2]|0)-A>>2)+-1<<2)>>2]=f;if(E>>>0<=1){c=a;break a}h=B+84|0;c=B+80|0;g=1;while(1){d=k[(k[D>>2]|0)+(g<<2)>>2]|0;k[F>>2]=d;e=d;if(d|0){k[h>>2]=0;f=k[C>>2]|0;if((f|0)==(k[c>>2]|0))nw(j,F);else{k[f>>2]=e;k[C>>2]=(k[C>>2]|0)+4}rc[k[k[p>>2]>>2]&1023](p,d)}g=g+1|0;if((g|0)==(E|0)){c=a;break a}}}while(0);c=mb()|0;P1(t)}P1(y)}P1(A);J=c;yb(J|0)}while(0);uha(f);J=c;yb(J|0)}}while(1){d=k[c+76>>2]|0;if(!d)break;else c=d}c=k[c+72>>2]|0;h=c+68|0;if(!E){c=a;break}j=c+84|0;l=c+76|0;m=c+80|0;g=c+72|0;c=0;while(1){k[F>>2]=f;d=f;if(f|0){k[j>>2]=0;e=k[l>>2]|0;if((e|0)==(k[m>>2]|0))nw(g,F);else{k[e>>2]=d;k[l>>2]=(k[l>>2]|0)+4}rc[k[k[h>>2]>>2]&1023](h,f)}c=c+1|0;if((c|0)==(E|0)){c=a;break a}f=k[(k[D>>2]|0)+(c<<2)>>2]|0}}while(1){d=k[c+76>>2]|0;if(!d)break;else c=d}c=k[c+72>>2]|0;h=c+68|0;if(!E){c=a;break}j=c+84|0;l=c+76|0;m=c+80|0;g=c+72|0;c=0;while(1){k[F>>2]=f;d=f;if(f|0){k[j>>2]=0;e=k[l>>2]|0;if((e|0)==(k[m>>2]|0))nw(g,F);else{k[e>>2]=d;k[l>>2]=(k[l>>2]|0)+4}rc[k[k[h>>2]>>2]&1023](h,f)}c=c+1|0;if((c|0)==(E|0)){c=a;break a}f=k[(k[D>>2]|0)+(c<<2)>>2]|0}}}while(1){d=k[c+76>>2]|0;if(!d)break;else c=d}c=k[c+72>>2]|0;o=c+68|0;n=f-g>>2;if(!n)c=a;else{h=h+72|0;j=c+84|0;l=c+76|0;m=c+80|0;g=c+72|0;d=p;c=0;while(1){d=k[d+(c<<2)>>2]|0;k[F>>2]=d;e=d;if(d|0){k[j>>2]=0;f=k[l>>2]|0;if((f|0)==(k[m>>2]|0))nw(g,F);else{k[f>>2]=e;k[l>>2]=(k[l>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,d)}c=c+1|0;if((c|0)==(n|0)){c=a;break a}d=k[h>>2]|0}}}}while(0);while(1){d=k[c+76>>2]|0;if(!d)break;else c=d}if(!c){r=J;return}else c=a;while(1){d=k[c+76>>2]|0;if(!d)break;else c=d}if((G|0)!=0&(k[c+68>>2]|0)!=0){c=b+36|0;d=lD(c,84)|0;h=F;j=a+8|0;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));k[d+4>>2]=0;h=d+8|0;j=F;l=h+40|0;do{k[h>>2]=k[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(l|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;F=d+56|0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[d+52>>2]=7;k[d>>2]=7696;F=d+68|0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;d=N4(c,d)|0;k[d+80>>2]=H;k[d+68>>2]=G;k[d+76>>2]=I;do{c=a+76|0;a=k[c>>2]|0}while((a|0)!=0);k[c>>2]=d;r=J;return}else c=a;while(1){d=k[c+76>>2]|0;if(!d)break;else c=d}if(!(k[c+68>>2]|0)){c=a;while(1){d=k[c+76>>2]|0;if(!d)break;else c=d}k[c+68>>2]=G;c=a;while(1){d=k[c+76>>2]|0;if(!d)break;else c=d}k[c+80>>2]=H}do{c=a+76|0;a=k[c>>2]|0}while((a|0)!=0);k[c>>2]=I;r=J;return}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;S=0;V=r;r=r+304|0;I=V+288|0;J=V+280|0;Y=V+264|0;X=V+252|0;O=V;K=V+152|0;Q=V+240|0;N=V+40|0;U=V+56|0;k[Y+4>>2]=0;T=Y+8|0;k[T>>2]=0;W=Y+4|0;k[Y>>2]=W;k[X+4>>2]=0;k[X+8>>2]=0;d=X+4|0;k[X>>2]=d;b=k[a>>2]|0;q=k[a+4>>2]|0;a:do if((b|0)!=(q|0)){s=K+4|0;t=K+8|0;w=K+12|0;y=K+52|0;z=K+60|0;A=K+68|0;B=K+72|0;C=K+76|0;D=K+80|0;E=K+84|0;R=Q+4|0;F=Q+8|0;L=N+4|0;P=N+8|0;G=N+12|0;M=N+4|0;H=N+12|0;b:while(1){e=k[b>>2]|0;h=k[e+4>>2]|0;f=O;u=e+8|0;v=f+40|0;do{k[f>>2]=k[u>>2];f=f+4|0;u=u+4|0}while((f|0)<(v|0));j=e+48|0;i=k[j>>2]|0;j=k[j+4>>2]|0;m=e+56|0;l=k[m>>2]|0;m=k[m+4>>2]|0;a=k[e+64>>2]|0;n=k[e+68>>2]|0;o=k[e+72>>2]|0;p=k[e+76>>2]|0;g=k[e+80>>2]|0;if(!a){a=n+1403242537^-1640531520;if(o){x=0;e=ua(k[(k[o>>2]|0)+8>>2]|0,o|0)|0;v=x;x=0;if(v&1){S=52;break}a=(a<<6)+-1640531527+(a>>>2)+e^a}if(p){x=0;e=ua(k[(k[p>>2]|0)+8>>2]|0,p|0)|0;v=x;x=0;if(v&1){S=52;break}a=(a<<6)+-1640531527+(a>>>2)+e^a}}f=k[d>>2]|0;do if(!f)S=20;else{e=d;c:do{while(1){if((k[f+16>>2]|0)>>>0>=a>>>0){e=f;break}f=k[f+4>>2]|0;if(!f)break c}f=k[e>>2]|0}while((f|0)!=0);if((e|0)==(d|0))S=20;else if(a>>>0<(k[e+16>>2]|0)>>>0)S=20;else{if(!a){a=n+1403242537^-1640531520;if(o){x=0;e=ua(k[(k[o>>2]|0)+8>>2]|0,o|0)|0;v=x;x=0;if(v&1){S=52;break b}a=(a<<6)+-1640531527+(a>>>2)+e^a}if(p){x=0;e=ua(k[(k[p>>2]|0)+8>>2]|0,p|0)|0;v=x;x=0;if(v&1){S=52;break b}a=(a<<6)+-1640531527+(a>>>2)+e^a}}e=k[d>>2]|0;if(!e){S=79;break b}while(1){f=k[e+16>>2]|0;if(a>>>0>>0){e=k[e>>2]|0;if(!e){S=79;break b}}else{if(f>>>0>=a>>>0)break;e=k[e+4>>2]|0;if(!e){S=79;break b}}}if(!e){S=79;break b}a=e+24|0;f=k[a>>2]|0;if((f|0)==(k[e+28>>2]|0)){x=0;sa(510,e+20|0,b|0);v=x;x=0;if(v&1){S=52;break b}else break}else{p=b;u=k[p+4>>2]|0;v=f;k[v>>2]=k[p>>2];k[v+4>>2]=u;k[a>>2]=(k[a>>2]|0)+8;break}}}while(0);if((S|0)==20){S=0;k[K>>2]=k[T>>2];k[t>>2]=h;f=w;u=O;v=f+40|0;do{k[f>>2]=k[u>>2];f=f+4|0;u=u+4|0}while((f|0)<(v|0));v=y;k[v>>2]=i;k[v+4>>2]=j;v=z;k[v>>2]=l;k[v+4>>2]=m;k[A>>2]=a;k[s>>2]=7696;k[B>>2]=n;k[C>>2]=o;k[D>>2]=p;k[E>>2]=g;x=0;Qa(125,J|0,Y|0,K|0);v=x;x=0;if(v&1){S=54;break}k[Q>>2]=0;k[R>>2]=0;k[F>>2]=0;x=0;sa(510,Q|0,b|0);v=x;x=0;if(v&1){S=55;break}if(!a){a=n+1403242537^-1640531520;if(o){x=0;e=ua(k[(k[o>>2]|0)+8>>2]|0,o|0)|0;v=x;x=0;if(v&1){S=55;break}a=(a<<6)+-1640531527+(a>>>2)+e^a}if(p){x=0;e=ua(k[(k[p>>2]|0)+8>>2]|0,p|0)|0;v=x;x=0;if(v&1){S=55;break}a=(a<<6)+-1640531527+(a>>>2)+e^a}}k[N>>2]=a;k[L>>2]=0;k[P>>2]=0;k[G>>2]=0;a=(k[R>>2]|0)-(k[Q>>2]|0)|0;e=a>>3;if(e|0){if(e>>>0>536870911){x=0;ra(322,L|0);v=x;x=0;if(v&1){S=35;break}}x=0;f=ua(186,a|0)|0;v=x;x=0;if(v&1){S=35;break}k[P>>2]=f;k[L>>2]=f;k[H>>2]=f+(e<<3);a=k[Q>>2]|0;g=k[R>>2]|0;if((a|0)!=(g|0)){e=f;do{k[e>>2]=k[a>>2];k[e+4>>2]=k[a+4>>2];e=e+8|0;k[P>>2]=e;a=a+8|0}while((a|0)!=(g|0))}}x=0;Qa(126,I|0,X|0,N|0);v=x;x=0;if(v&1){S=57;break}a=k[M>>2]|0;e=a;if(a|0){f=k[P>>2]|0;if((f|0)!=(a|0))k[P>>2]=f+(~((f+-8-e|0)>>>3)<<3);uha(a)}a=k[Q>>2]|0;e=a;if(a|0){f=k[R>>2]|0;if((f|0)!=(a|0))k[R>>2]=f+(~((f+-8-e|0)>>>3)<<3);uha(a)}}b=b+8|0;if((b|0)==(q|0)){S=3;break}}do if((S|0)==3){if(!(k[T>>2]|0))break a;i=U+4|0;j=U+8|0;l=U+48|0;m=U+56|0;n=U+68|0;o=U+84|0;p=c+4|0;q=c+8|0;t=U+84|0;w=U+88|0;s=0;d:while(1){b=k[W>>2]|0;if(!b){S=94;break}while(1){a=k[b+16>>2]|0;if(s>>>0>>0){b=k[b>>2]|0;if(!b){S=94;break d}}else{if(a>>>0>=s>>>0)break;b=k[b+4>>2]|0;if(!b){S=94;break d}}}if(!b){S=94;break}f=b+20|0;x=0;f=ua(k[(k[f>>2]|0)+8>>2]|0,f|0)|0;S=x;x=0;if(S&1){S=49;break}a=k[d>>2]|0;if(!a){S=105;break}while(1){e=k[a+16>>2]|0;if(f>>>0>>0){a=k[a>>2]|0;if(!a){S=105;break d}}else{if(e>>>0>=f>>>0)break;a=k[a+4>>2]|0;if(!a){S=105;break d}}}if(!a){S=105;break}a=a+20|0;k[i>>2]=k[b+24>>2];f=j;u=b+28|0;v=f+40|0;do{k[f>>2]=k[u>>2];f=f+4|0;u=u+4|0}while((f|0)<(v|0));Q=b+68|0;R=k[Q+4>>2]|0;S=l;k[S>>2]=k[Q>>2];k[S+4>>2]=R;S=b+76|0;k[m>>2]=k[S>>2];k[m+4>>2]=k[S+4>>2];k[m+8>>2]=k[S+8>>2];k[U>>2]=7696;S=b+88|0;k[n>>2]=k[S>>2];k[n+4>>2]=k[S+4>>2];k[n+8>>2]=k[S+8>>2];k[n+12>>2]=k[S+12>>2];x=0;sa(520,o|0,a|0);S=x;x=0;if(S&1){S=49;break}h=k[p>>2]|0;if((h|0)==(k[q>>2]|0)){x=0;sa(521,c|0,U|0);S=x;x=0;if(S&1){S=128;break}b=k[t>>2]|0}else{k[h+4>>2]=k[i>>2];k[h>>2]=4748;f=h+8|0;u=j;v=f+40|0;do{k[f>>2]=k[u>>2];f=f+4|0;u=u+4|0}while((f|0)<(v|0));k[h>>2]=6736;a=l;g=k[a+4>>2]|0;b=h+48|0;k[b>>2]=k[a>>2];k[b+4>>2]=g;k[h>>2]=6840;b=h+56|0;k[b>>2]=k[m>>2];k[b+4>>2]=k[m+4>>2];k[b+8>>2]=k[m+8>>2];k[h>>2]=7696;b=h+68|0;k[b>>2]=k[n>>2];k[b+4>>2]=k[n+4>>2];k[b+8>>2]=k[n+8>>2];k[b+12>>2]=k[n+12>>2];b=h+84|0;k[b>>2]=0;g=h+88|0;k[g>>2]=0;k[h+92>>2]=0;a=k[o>>2]|0;e=(k[w>>2]|0)-a|0;f=e>>3;if(!f)b=a;else{if(f>>>0>536870911){x=0;ra(322,b|0);S=x;x=0;if(S&1){S=116;break}}x=0;a=ua(186,e|0)|0;S=x;x=0;if(S&1){S=116;break}k[g>>2]=a;k[b>>2]=a;k[h+92>>2]=a+(f<<3);b=k[o>>2]|0;f=k[w>>2]|0;if((b|0)!=(f|0)){e=b;do{k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];a=a+8|0;k[g>>2]=a;e=e+8|0}while((e|0)!=(f|0))}}k[p>>2]=(k[p>>2]|0)+96}a=b;if(b|0){e=k[w>>2]|0;if((e|0)!=(b|0))k[w>>2]=e+(~((e+-8-a|0)>>>3)<<3);uha(b)}s=s+1|0;if(s>>>0>=(k[T>>2]|0)>>>0){b=W;S=86;break}}do if((S|0)==49)b=mb()|0;else if((S|0)==86){W=k[d>>2]|0;Ax(X,W);X=k[b>>2]|0;qC(Y,X);r=V;return}else if((S|0)==94){b=vb(8)|0;x=0;sa(441,b|0,34188);V=x;x=0;if(V&1){V=mb()|0;lb(b|0);b=V;break}else{k[b>>2]=24932;x=0;Qa(77,b|0,4448,308);x=0;S=50;break}}else if((S|0)==105){b=vb(8)|0;x=0;sa(441,b|0,34188);V=x;x=0;if(V&1){V=mb()|0;lb(b|0);b=V;break}else{k[b>>2]=24932;x=0;Qa(77,b|0,4448,308);x=0;S=50;break}}else if((S|0)==116){e=mb()|0;b=k[b>>2]|0;a=b;if(!b)S=129;else{f=k[g>>2]|0;if((f|0)!=(b|0))k[g>>2]=f+(~((f+-8-a|0)>>>3)<<3);uha(b);S=129}}else if((S|0)==128){e=mb()|0;S=129}while(0);if((S|0)==50)b=mb()|0;else if((S|0)==129){b=k[t>>2]|0;if(!b){V=e;c=d;c=k[c>>2]|0;Ax(X,c);X=k[W>>2]|0;qC(Y,X);yb(V|0)}a=k[w>>2]|0;if((a|0)!=(b|0))k[w>>2]=a+(~((a+-8-b|0)>>>3)<<3);uha(b);V=e;c=d;c=k[c>>2]|0;Ax(X,c);X=k[W>>2]|0;qC(Y,X);yb(V|0)}V=b;c=d;c=k[c>>2]|0;Ax(X,c);X=k[W>>2]|0;qC(Y,X);yb(V|0)}else if((S|0)==35){b=mb()|0;a=k[L>>2]|0;e=a;if(!a)S=56;else{f=k[P>>2]|0;if((f|0)!=(a|0))k[P>>2]=f+(~((f+-8-e|0)>>>3)<<3);uha(a);S=56}}else if((S|0)==52){b=mb()|0;S=53}else if((S|0)==54){V=mb()|0;c=d;c=k[c>>2]|0;Ax(X,c);X=k[W>>2]|0;qC(Y,X);yb(V|0)}else if((S|0)==55){b=mb()|0;S=56}else if((S|0)==57){e=mb()|0;b=k[M>>2]|0;a=b;if(b){f=k[P>>2]|0;if((f|0)!=(b|0))k[P>>2]=f+(~((f+-8-a|0)>>>3)<<3);uha(b)}}else if((S|0)==79){b=vb(8)|0;x=0;sa(441,b|0,34188);V=x;x=0;if(V&1){S=mb()|0;lb(b|0);b=S;S=53;break}else{k[b>>2]=24932;x=0;Qa(77,b|0,4448,308);x=0;b=mb()|0;S=53;break}}while(0);if((S|0)==53){V=b;c=d;c=k[c>>2]|0;Ax(X,c);X=k[W>>2]|0;qC(Y,X);yb(V|0)}else if((S|0)==56)e=b;b=k[Q>>2]|0;if(!b){V=e;c=d;c=k[c>>2]|0;Ax(X,c);X=k[W>>2]|0;qC(Y,X);yb(V|0)}a=k[R>>2]|0;if((a|0)!=(b|0))k[R>>2]=a+(~((a+-8-b|0)>>>3)<<3);uha(b);V=e;c=d;c=k[c>>2]|0;Ax(X,c);X=k[W>>2]|0;qC(Y,X);yb(V|0)}while(0);c=d;c=k[c>>2]|0;Ax(X,c);X=k[W>>2]|0;qC(Y,X);r=V;return}function vd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((hc|0)!=2){k[ic+8>>2]=a;k[ic+16>>2]=b;k[ic+24>>2]=c;k[ic+32>>2]=d;if((hc|0)==1)hc=3}Uc(kc+14132|0)}function wd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;Q=0;S=r;r=r+704|0;R=S+664|0;j=S+652|0;l=S+80|0;z=S+640|0;A=S+40|0;w=S+628|0;g=S+616|0;y=S+576|0;H=S+564|0;I=S;G=S+552|0;E=S+540|0;D=S+528|0;F=S+488|0;v=S+476|0;t=S+464|0;s=S+408|0;u=S+368|0;P=S+300|0;L=S+248|0;J=S+424|0;K=S+352|0;B=S+312|0;C=S+288|0;m=S+208|0;n=S+192|0;d=S+180|0;c=S+168|0;b=S+156|0;O=S+144|0;N=S+132|0;M=S+120|0;a:do if(!(go(a,1,0)|0)){if(!(Lp(a,1,0)|0)){if(!($r(a,1,0)|0))break;lE(d,39906,11);x=0;Qa(74,c|0,39918,7);R=x;x=0;if(R&1)b=mb()|0;else{x=0;Qa(74,b|0,39926,45);R=x;x=0;do if(R&1)b=mb()|0;else{x=0;Ua(31,a|0,d|0,c|0,b|0);R=x;x=0;if(R&1){S=mb()|0;P1(b);b=S;break}else{P1(b);P1(c);P1(d);break a}}while(0);P1(c)}P1(d);S=b;yb(S|0)}g=(k[a+40>>2]|0)+36|0;h=lD(g,100)|0;o=m;p=a+108|0;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(n);Q=66}else if(f>>>0<11){i[n>>0]=f<<1;b=n+1|0}else Q=66;if((Q|0)==66){a=f+16&-16;b=GG(a)|0;k[n+8>>2]=b;k[n>>2]=a|1;k[n+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;o=l;p=m;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;sa(430,j|0,n|0);a=x;x=0;do if(a&1)Q=75;else{x=0;o=R;p=l;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));Qa(115,h|0,R|0,j|0);R=x;x=0;if(R&1){b=mb()|0;P1(j);break}P1(j);k[h>>2]=7420;k[h+96>>2]=0;x=0;b=Ka(857,g|0,h|0)|0;R=x;x=0;if(R&1)Q=75;else{P1(n);R=b;r=S;return R|0}}while(0);if((Q|0)==75)b=mb()|0;P1(n);S=b;yb(S|0)}else{l=a+152|0;c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(P);Q=6}else if(f>>>0<11){i[P>>0]=f<<1;b=P+1|0}else Q=6;if((Q|0)==6){Q=f+16&-16;b=GG(Q)|0;k[P+8>>2]=b;k[P>>2]=Q|1;k[P+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;Q=i[P>>0]|0;x=0;xa(51,P|0,((Q&1)==0?(Q&255)>>>1:k[P+4>>2]|0)+-1|0,-1)|0;Q=x;x=0;b:do if(Q&1)Q=40;else{h=a+108|0;o=L;p=h;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));j=a+76|0;x=0;b=ua(230,k[j>>2]|0)|0;Q=x;x=0;if(Q&1)Q=40;else{d=a+80|0;if((b|0)==0?1:b>>>0>(k[d>>2]|0)>>>0)b=k[j>>2]|0;x=0;c=ua(231,b|0)|0;Q=x;x=0;if(Q&1)Q=40;else{c=c|0?c:b;x=0;b=ua(232,c|0)|0;Q=x;x=0;if(Q&1)Q=40;else{if(!b){x=0;b=ua(233,c|0)|0;Q=x;x=0;if(Q&1){Q=40;break}if(!b)Q=44;else Q=19}else Q=19;c:do if((Q|0)==19){x=0;b=ua(231,b|0)|0;q=x;x=0;if(q&1){Q=40;break b}if(!b)Q=44;else{q=(i[b>>0]|0)==41?b+1|0:0;if((q|0)==0?1:q>>>0>(k[d>>2]|0)>>>0)Q=44;else{k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];k[v+8>>2]=k[l+8>>2];c=k[j>>2]|0;f=a+84|0;k[t>>2]=k[f>>2];k[t+4>>2]=k[f+4>>2];k[t+8>>2]=k[f+8>>2];g=a+96|0;k[s>>2]=k[g>>2];k[s+4>>2]=k[g+4>>2];k[s+8>>2]=k[g+8>>2];o=u;p=h;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;xa(64,a|0,1,0)|0;C=x;x=0;if(C&1){Q=40;break b}x=0;b=xa(65,a|0,1,0)|0;C=x;x=0;if(C&1){Q=40;break b}if(!b){o=h;p=u;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));k[l>>2]=k[v>>2];k[l+4>>2]=k[v+4>>2];k[l+8>>2]=k[v+8>>2];k[j>>2]=c;k[g>>2]=k[s>>2];k[g+4>>2]=k[s+4>>2];k[g+8>>2]=k[s+8>>2];k[f>>2]=k[t>>2];k[f+4>>2]=k[t+4>>2];k[f+8>>2]=k[t+8>>2]}d=a+40|0;b=(k[d>>2]|0)+36|0;x=0;c=Ka(856,b|0,76)|0;C=x;x=0;if(C&1){Q=40;break b}x=0;o=R;p=h;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));Qa(137,c|0,R|0,l|0);C=x;x=0;if(C&1){Q=40;break b}x=0;e=Ka(857,b|0,c|0)|0;C=x;x=0;if(C&1){Q=40;break b}if(!e){c=1;b=0;break}k[G>>2]=k[l>>2];k[G+4>>2]=k[l+4>>2];k[G+8>>2]=k[l+8>>2];c=k[j>>2]|0;k[E>>2]=k[f>>2];k[E+4>>2]=k[f+4>>2];k[E+8>>2]=k[f+8>>2];k[D>>2]=k[g>>2];k[D+4>>2]=k[g+4>>2];k[D+8>>2]=k[g+8>>2];o=F;p=h;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;xa(64,a|0,1,0)|0;C=x;x=0;if(C&1){Q=40;break b}x=0;b=xa(63,a|0,1,0)|0;C=x;x=0;if(C&1){Q=40;break b}if(!b){o=h;p=F;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));k[l>>2]=k[G>>2];k[l+4>>2]=k[G+4>>2];k[l+8>>2]=k[G+8>>2];k[j>>2]=c;k[g>>2]=k[D>>2];k[g+4>>2]=k[D+4>>2];k[g+8>>2]=k[D+8>>2];k[f>>2]=k[E>>2];k[f+4>>2]=k[E+4>>2];k[f+8>>2]=k[E+8>>2];c=1;b=0;break}i[e+58>>0]=1;b=(k[d>>2]|0)+36|0;x=0;c=Ka(856,b|0,100)|0;G=x;x=0;if(G&1){Q=40;break b}o=J;p=L;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;sa(430,K|0,P|0);L=x;x=0;if(L&1){Q=40;break b}o=I;p=J;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;sa(430,H|0,K|0);L=x;x=0;do if(L&1)Q=41;else{x=0;o=R;p=I;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));Qa(115,c|0,R|0,H|0);R=x;x=0;if(R&1){b=mb()|0;P1(H);break}P1(H);k[c>>2]=7420;k[c+96>>2]=e;x=0;b=Ka(857,b|0,c|0)|0;R=x;x=0;if(R&1){Q=41;break}P1(K);c=0;break c}while(0);if((Q|0)==41)b=mb()|0;P1(K);break b}}}while(0);d:do if((Q|0)==44){x=0;f=Ka(884,a|0,1)|0;K=x;x=0;if(K&1){Q=40;break b}if(!f){c=1;b=0}else{k[R>>2]=k[l>>2];k[R+4>>2]=k[l+4>>2];k[R+8>>2]=k[l+8>>2];c=k[j>>2]|0;d=a+84|0;k[w>>2]=k[d>>2];k[w+4>>2]=k[d+4>>2];k[w+8>>2]=k[d+8>>2];e=a+96|0;k[g>>2]=k[e>>2];k[g+4>>2]=k[e+4>>2];k[g+8>>2]=k[e+8>>2];o=y;p=h;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;xa(64,a|0,1,0)|0;K=x;x=0;if(K&1){Q=40;break b}x=0;b=xa(63,a|0,1,0)|0;K=x;x=0;if(K&1){Q=40;break b}if(!b){o=h;p=y;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));k[l>>2]=k[R>>2];k[l+4>>2]=k[R+4>>2];k[l+8>>2]=k[R+8>>2];k[j>>2]=c;k[e>>2]=k[g>>2];k[e+4>>2]=k[g+4>>2];k[e+8>>2]=k[g+8>>2];k[d>>2]=k[w>>2];k[d+4>>2]=k[w+4>>2];k[d+8>>2]=k[w+8>>2];c=1;b=0;break}b=(k[a+40>>2]|0)+36|0;x=0;c=Ka(856,b|0,100)|0;K=x;x=0;if(K&1){Q=40;break b}o=B;p=L;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;sa(430,C|0,P|0);L=x;x=0;if(L&1){Q=40;break b}o=A;p=B;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;sa(430,z|0,C|0);L=x;x=0;do if(L&1)Q=56;else{x=0;o=R;p=A;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));Qa(115,c|0,R|0,z|0);R=x;x=0;if(R&1){b=mb()|0;P1(z);break}P1(z);k[c>>2]=7556;k[c+96>>2]=f;x=0;b=Ka(857,b|0,c|0)|0;R=x;x=0;if(R&1){Q=56;break}P1(C);c=0;break d}while(0);if((Q|0)==56)b=mb()|0;P1(C);break b}}while(0);P1(P);if(c)break a;r=S;return b|0}}}}while(0);if((Q|0)==40)b=mb()|0;P1(P);S=b;yb(S|0)}while(0);lE(O,39906,11);x=0;Qa(74,N|0,39918,7);R=x;x=0;if(R&1)b=mb()|0;else{x=0;Qa(74,M|0,39972,20);R=x;x=0;do if(R&1)b=mb()|0;else{x=0;Ua(31,a|0,O|0,N|0,M|0);R=x;x=0;if(R&1){b=mb()|0;P1(M);break}P1(M);P1(N);P1(O);R=0;r=S;return R|0}while(0);P1(N)}P1(O);S=b;yb(S|0);return 0}function xd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0.0,m=0,n=0,o=0.0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;C=0;F=r;r=r+336|0;I=F+96|0;g=F+296|0;h=F+284|0;e=F+248|0;H=F+272|0;G=F+260|0;t=F+208|0;B=F;D=F+192|0;j=c+56|0;z=+p[j>>3];y=d+56|0;l=+p[y>>3];w=(b|0)==11;if(w&l==0.0){e=lD(a,76)|0;if(!f){n=g;q=c+8|0;s=n+40|0;do{k[n>>2]=k[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(s|0))}else{n=g;q=f;s=n+40|0;do{k[n>>2]=k[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(s|0))}n=z!=0.0;lE(h,n?32187:32196,n?8:3);x=0;n=I;q=g;s=n+40|0;do{k[n>>2]=k[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(s|0));qa(5,e|0,I|0,h|0,0,0);I=x;x=0;if(!(I&1)){x=0;e=Ka(857,a|0,e|0)|0;I=x;x=0;if(!(I&1)){P1(h);I=e;r=F;return I|0}}I=mb()|0;P1(h);yb(I|0)}if(!((b|0)!=12|l!=0.0)){e=vb(28)|0;x=0;Qa(111,e|0,c|0,d|0);I=x;x=0;if(!(I&1))Wb(e|0,1344,61);I=mb()|0;lb(e|0);yb(I|0)}g=d+4|0;k[I+4>>2]=k[g>>2];h=d+8|0;n=I+8|0;q=h;s=n+40|0;do{k[n>>2]=k[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(s|0));u=d+48|0;E=u;A=k[E+4>>2]|0;n=I+48|0;k[n>>2]=k[E>>2];k[n+4>>2]=A;k[I>>2]=4624;n=I+56|0;k[n>>2]=k[y>>2];k[n+4>>2]=k[y+4>>2];i[n+8>>0]=i[y+8>>0]|0;n=I+68|0;A=d+68|0;x=0;sa(435,n|0,A|0);E=x;x=0;if(E&1){I=mb()|0;yb(I|0)}E=d+80|0;x=0;sa(435,I+80|0,E|0);v=x;x=0;if(v&1){m=mb()|0;j=M;e=k[n>>2]|0;if(!e){I=m;yb(I|0)}h=I+72|0;g=k[h>>2]|0;if((g|0)!=(e|0)){do{I=g+-12|0;k[h>>2]=I;P1(I);g=k[h>>2]|0}while((g|0)!=(e|0));e=k[n>>2]|0}uha(e);I=m;yb(I|0)}v=d+92|0;k[I+92>>2]=k[v>>2];x=0;sa(436,e|0,c|0);s=x;x=0;do if(s&1)C=46;else{x=0;Qa(73,I|0,e|0,(b&-2|0)!=10|0);s=x;x=0;if(s&1){n=mb()|0;g=M;P1(e);break}P1(e);x=0;sa(437,H|0,c|0);s=x;x=0;if(s&1)C=46;else{x=0;sa(437,G|0,I|0);s=x;x=0;if(s&1){e=mb()|0;g=M}else{x=0;m=Ka(856,a|0,96)|0;s=x;x=0;a:do if(s&1)C=53;else{k[m+4>>2]=k[c+4>>2];k[m>>2]=4748;e=c+8|0;n=m+8|0;q=e;s=n+40|0;do{k[n>>2]=k[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(s|0));k[m>>2]=6736;q=c+48|0;s=k[q+4>>2]|0;n=m+48|0;k[n>>2]=k[q>>2];k[n+4>>2]=s;k[m>>2]=4624;n=m+56|0;k[n>>2]=k[j>>2];k[n+4>>2]=k[j+4>>2];i[n+8>>0]=i[j+8>>0]|0;n=m+68|0;x=0;sa(435,n|0,c+68|0);s=x;x=0;do if(s&1){e=mb()|0;g=M}else{x=0;sa(435,m+80|0,c+80|0);s=x;x=0;if(s&1){e=mb()|0;g=M;h=k[n>>2]|0;if(!h)break;m=m+72|0;j=k[m>>2]|0;if((j|0)!=(h|0)){do{F=j+-12|0;k[m>>2]=F;P1(F);j=k[m>>2]|0}while((j|0)!=(h|0));h=k[n>>2]|0}uha(h);break}k[m+92>>2]=k[c+92>>2];x=0;a=Ka(857,a|0,m|0)|0;s=x;x=0;if(s&1){C=53;break a}if(!f){n=t;q=e;s=n+40|0;do{k[n>>2]=k[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(s|0))}else{n=t;q=f;s=n+40|0;do{k[n>>2]=k[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(s|0))}n=a+8|0;q=t;s=n+40|0;do{k[n>>2]=k[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(s|0));f=i[H>>0]|0;do if(!(((f&1)==0?(f&255)>>>1:k[H+4>>2]|0)|0))if((b|0)==12|(b|1|0)==9){e=a+68|0;if((e|0)!=(A|0)){x=0;Qa(112,e|0,k[A>>2]|0,k[d+72>>2]|0);f=x;x=0;if(f&1){C=53;break a}}e=a+80|0;if((e|0)==(E|0))break;x=0;Qa(112,e|0,k[E>>2]|0,k[d+84>>2]|0);f=x;x=0;if(f&1){C=53;break a}}while(0);b:do if((b|0)==10){x=0;l=+Ca(k[2730]|0,+z,+l);C=x;x=0;if(C&1){C=53;break a}k[a+92>>2]=0;p[a+56>>3]=l;C=k[d+72>>2]|0;e=k[A>>2]|0;j=(C-e|0)/12|0;c:do if((C|0)!=(e|0)){m=a+68|0;n=m+4|0;q=m+8|0;g=0;while(1){e=e+(g*12|0)|0;h=k[n>>2]|0;if((h|0)==(k[q>>2]|0)){x=0;sa(439,m|0,e|0);C=x;x=0;if(C&1)break}else{x=0;sa(430,h|0,e|0);C=x;x=0;if(C&1)break;k[n>>2]=(k[n>>2]|0)+12}g=g+1|0;if(g>>>0>=j>>>0)break c;e=k[A>>2]|0}e=mb()|0;g=M;C=54;break a}while(0);C=k[d+84>>2]|0;e=k[E>>2]|0;j=(C-e|0)/12|0;if((C|0)==(e|0)){C=123;break}m=a+84|0;n=a+88|0;q=a+80|0;g=0;while(1){e=e+(g*12|0)|0;h=k[m>>2]|0;if((h|0)==(k[n>>2]|0)){x=0;sa(439,q|0,e|0);C=x;x=0;if(C&1)break}else{x=0;sa(430,h|0,e|0);C=x;x=0;if(C&1)break;k[m>>2]=(k[m>>2]|0)+12}g=g+1|0;if(g>>>0>=j>>>0){C=123;break b}e=k[E>>2]|0}e=mb()|0;g=M;C=54;break a}else{if(w){x=0;l=+Ca(k[2731]|0,+z,+l);C=x;x=0;if(C&1){C=53;break a}k[a+92>>2]=0;p[a+56>>3]=l;C=k[d+72>>2]|0;e=k[A>>2]|0;j=(C-e|0)/12|0;d:do if((C|0)!=(e|0)){m=a+84|0;n=a+88|0;q=a+80|0;g=0;while(1){e=e+(g*12|0)|0;h=k[m>>2]|0;if((h|0)==(k[n>>2]|0)){x=0;sa(439,q|0,e|0);C=x;x=0;if(C&1)break}else{x=0;sa(430,h|0,e|0);C=x;x=0;if(C&1)break;k[m>>2]=(k[m>>2]|0)+12}g=g+1|0;if(g>>>0>=j>>>0)break d;e=k[A>>2]|0}e=mb()|0;g=M;C=54;break a}while(0);C=k[d+84>>2]|0;e=k[E>>2]|0;j=(C-e|0)/12|0;if((C|0)==(e|0)){C=123;break}m=a+68|0;n=m+4|0;q=m+8|0;g=0;while(1){e=e+(g*12|0)|0;h=k[n>>2]|0;if((h|0)==(k[q>>2]|0)){x=0;sa(439,m|0,e|0);C=x;x=0;if(C&1)break}else{x=0;sa(430,h|0,e|0);C=x;x=0;if(C&1)break;k[n>>2]=(k[n>>2]|0)+12}g=g+1|0;if(g>>>0>=j>>>0){C=123;break b}e=k[E>>2]|0}e=mb()|0;g=M;C=54;break a}k[B+4>>2]=k[g>>2];n=B+8|0;q=h;s=n+40|0;do{k[n>>2]=k[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(s|0));D=u;n=k[D+4>>2]|0;g=B+48|0;k[g>>2]=k[D>>2];k[g+4>>2]=n;k[B>>2]=4624;g=B+56|0;k[g>>2]=k[y>>2];k[g+4>>2]=k[y+4>>2];i[g+8>>0]=i[y+8>>0]|0;n=B+68|0;x=0;sa(435,n|0,A|0);D=x;x=0;do if(D&1){e=mb()|0;g=M}else{x=0;sa(435,B+80|0,E|0);E=x;x=0;if(E&1){e=mb()|0;g=M;h=k[n>>2]|0;if(!h)break;m=B+72|0;j=k[m>>2]|0;if((j|0)!=(h|0)){do{F=j+-12|0;k[m>>2]=F;P1(F);j=k[m>>2]|0}while((j|0)!=(h|0));h=k[n>>2]|0}uha(h);break}k[B+92>>2]=k[v>>2];e=k[10880+(b<<2)>>2]|0;o=+p[g>>3];x=0;l=+Na(1,d|0,c|0);E=x;x=0;do if(!(E&1)){x=0;l=+Ca(e|0,+z,+(o*l));E=x;x=0;if(E&1)break;k[a+92>>2]=0;p[a+56>>3]=l;k[B>>2]=4624;h=B+80|0;e=k[h>>2]|0;if(e|0){j=B+84|0;g=k[j>>2]|0;if((g|0)!=(e|0)){do{E=g+-12|0;k[j>>2]=E;P1(E);g=k[j>>2]|0}while((g|0)!=(e|0));e=k[h>>2]|0}uha(e)}j=B+68|0;e=k[j>>2]|0;if(e|0){h=B+72|0;g=k[h>>2]|0;if((g|0)!=(e|0)){do{E=g+-12|0;k[h>>2]=E;P1(E);g=k[h>>2]|0}while((g|0)!=(e|0));e=k[j>>2]|0}uha(e)}break b}while(0);e=mb()|0;g=M;k[B>>2]=4624;m=B+80|0;h=k[m>>2]|0;if(h|0){n=B+84|0;j=k[n>>2]|0;if((j|0)!=(h|0)){do{F=j+-12|0;k[n>>2]=F;P1(F);j=k[n>>2]|0}while((j|0)!=(h|0));h=k[m>>2]|0}uha(h)}n=B+68|0;h=k[n>>2]|0;if(!h)break a;m=B+72|0;j=k[m>>2]|0;if((j|0)!=(h|0)){do{F=j+-12|0;k[m>>2]=F;P1(F);j=k[m>>2]|0}while((j|0)!=(h|0));h=k[n>>2]|0}uha(h);break a}while(0);C=54;break a}while(0);do if((C|0)==123){x=0;Qa(74,D|0,78097,0);E=x;x=0;if(E&1){C=53;break a}x=0;Qa(73,a|0,D|0,0);E=x;x=0;if(E&1){e=mb()|0;g=M;P1(D);break a}else{P1(D);break}}while(0);P1(G);P1(H);k[I>>2]=4624;h=I+80|0;e=k[h>>2]|0;if(e|0){j=I+84|0;g=k[j>>2]|0;if((g|0)!=(e|0)){do{H=g+-12|0;k[j>>2]=H;P1(H);g=k[j>>2]|0}while((g|0)!=(e|0));e=k[h>>2]|0}uha(e)}j=I+68|0;e=k[j>>2]|0;if(e|0){h=I+72|0;g=k[h>>2]|0;if((g|0)!=(e|0)){do{I=g+-12|0;k[h>>2]=I;P1(I);g=k[h>>2]|0}while((g|0)!=(e|0));e=k[j>>2]|0}uha(e)}I=a;r=F;return I|0}while(0);C=54}while(0);if((C|0)==53){e=mb()|0;g=M;C=54}P1(G)}P1(H);n=e}}while(0);if((C|0)==46){n=mb()|0;g=M}k[I>>2]=4624;j=I+80|0;e=k[j>>2]|0;if(e|0){m=I+84|0;h=k[m>>2]|0;if((h|0)!=(e|0)){do{H=h+-12|0;k[m>>2]=H;P1(H);h=k[m>>2]|0}while((h|0)!=(e|0));e=k[j>>2]|0}uha(e)}m=I+68|0;e=k[m>>2]|0;if(!e){I=n;yb(I|0)}j=I+72|0;h=k[j>>2]|0;if((h|0)!=(e|0)){do{I=h+-12|0;k[j>>2]=I;P1(I);h=k[j>>2]|0}while((h|0)!=(e|0));e=k[m>>2]|0}uha(e);I=n;yb(I|0);return 0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=r;r=r+464|0;aa=ea;ca=ea+404|0;m=ea+416|0;n=ea+392|0;T=ea+352|0;U=ea+340|0;$=ea+328|0;_=ea+316|0;V=ea+304|0;W=ea+136|0;X=ea+120|0;Y=ea+108|0;Z=ea+96|0;ba=ea+56|0;da=ea+40|0;S=b+4|0;d=k[S>>2]|0;R=b+8|0;l=k[R>>2]|0;j=d>>>0>>0;a:do if(c)if(j){b=d;e=0;while(1){h=i[b>>0]|0;if(!(h<<24>>24)){Q=22;break a}do if(e)e=0;else if(h<<24>>24==92)e=1;else{e=i[38919]|0;if(!(e<<24>>24))if(!b){e=0;break}else{Q=23;break a}if(h<<24>>24==e<<24>>24){e=b;g=38919;while(1){e=e+1|0;g=g+1|0;f=i[g>>0]|0;if(!(f<<24>>24)){f=h;Q=24;break a}if((i[e>>0]|0)!=f<<24>>24){e=0;break}}}else e=0}while(0);b=b+1|0;if(b>>>0>=l>>>0){Q=22;break}}}else Q=22;else if(j){b=d;f=0;while(1){e=i[b>>0]|0;if(!(e<<24>>24)){Q=22;break a}b:do if(f)f=0;else if(e<<24>>24==92)f=1;else{e=tx(b)|0;if(!e){f=i[38919]|0;if(!(f<<24>>24))if(!b){b=0;f=0;break}else{Q=23;break a}else{e=b;g=f;h=38919}while(1){if((i[e>>0]|0)!=g<<24>>24){f=0;break b}h=h+1|0;g=i[h>>0]|0;if(!(g<<24>>24)){Q=24;break a}else e=e+1|0}}else{b=e;f=0}}while(0);b=b+1|0;if(b>>>0>=l>>>0){Q=22;break}}}else Q=22;while(0);if((Q|0)==22){g=(k[a+40>>2]|0)+36|0;Q=25}else if((Q|0)==23){g=a+40|0;e=g;f=0;g=(k[g>>2]|0)+36|0}else if((Q|0)==24){e=a+40|0;g=(k[e>>2]|0)+36|0;if(!b)Q=25}if((Q|0)==25){h=lD(g,76)|0;o=m;p=a+108|0;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));f=l-d|0;if(f>>>0>4294967279){dH(n);Q=29}else if(f>>>0<11){i[n>>0]=f<<1;b=n+1|0}else Q=29;if((Q|0)==29){da=f+16&-16;b=GG(da)|0;k[n+8>>2]=b;k[n>>2]=da|1;k[n+4>>2]=f}if((d|0)!=(l|0)){e=b;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(l|0))break;else e=e+1|0}b=b+f|0}i[b>>0]=0;x=0;o=aa;p=m;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));qa(5,h|0,aa|0,n|0,0,0);da=x;x=0;if(!(da&1)){x=0;d=Ka(857,g|0,h|0)|0;da=x;x=0;if(!(da&1)){P1(n);if(!c){b=d+57|0;if(i[b>>0]|0)i[b>>0]=42}i[d+48>>0]=1;da=d;r=ea;return da|0}}ea=mb()|0;P1(n);yb(ea|0)}b=lD(g,84)|0;K=a+108|0;o=aa;p=K;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));k[b+4>>2]=0;o=b+8|0;p=aa;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;i[b+56>>0]=0;k[b+64>>2]=0;k[b+68>>2]=0;k[b+72>>2]=0;k[b>>2]=5788;k[b+60>>2]=5904;k[b+80>>2]=0;k[b+52>>2]=4;b=N4(g,b)|0;i[b+50>>0]=1;if(!j){da=b;r=ea;return da|0}M=b+60|0;u=U+8|0;v=U+4|0;L=M+16|0;N=M+8|0;O=M+12|0;P=M+4|0;w=U+1|0;y=a+80|0;z=Z+8|0;A=Z+4|0;B=Z+1|0;C=X+4|0;D=X+8|0;E=a+72|0;G=W+56|0;H=W+44|0;J=W+48|0;I=W+60|0;F=a+76|0;n=f;c:while(1){d:do if(c){m=d;f=n;h=0;while(1){g=i[m>>0]|0;if(!(g<<24>>24)){Q=133;break c}do if(h)h=0;else if(g<<24>>24==92)h=1;else{if(!(f<<24>>24))if(!m){f=0;h=0;break}else{t=0;s=0;break d}if(g<<24>>24==f<<24>>24){g=m;j=38919;while(1){g=g+1|0;j=j+1|0;h=i[j>>0]|0;if(!(h<<24>>24)){h=m;j=f;Q=61;break d}if((i[g>>0]|0)!=h<<24>>24){h=0;break}}}else h=0}while(0);m=m+1|0;if(m>>>0>=l>>>0){Q=133;break c}}}else{m=d;g=f;h=0;while(1){f=i[m>>0]|0;if(!(f<<24>>24)){Q=133;break c}e:do if(h){f=m;h=0}else if(f<<24>>24==92){f=m;h=1}else{f=tx(m)|0;if(!f){if(!(g<<24>>24))if(!m){f=0;g=0;h=0;break}else{t=0;s=n;break d}else{f=m;h=g;j=38919}while(1){if((i[f>>0]|0)!=h<<24>>24){f=m;h=0;break e}j=j+1|0;h=i[j>>0]|0;if(!(h<<24>>24)){h=m;j=n;f=g;Q=61;break d}else f=f+1|0}}else h=0}while(0);m=f+1|0;if(m>>>0>=l>>>0){Q=133;break c}}}while(0);if((Q|0)==61){Q=0;if(!h){Q=133;break}else{m=h;t=f;s=j}}if(d>>>0>>0){l=(k[e>>2]|0)+36|0;n=lD(l,76)|0;o=T;p=K;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));h=m-d|0;if(h>>>0>4294967279){dH(U);Q=67}else if(h>>>0<11){i[U>>0]=h<<1;f=w}else Q=67;if((Q|0)==67){Q=0;q=h+16&-16;f=GG(q)|0;k[u>>2]=f;k[U>>2]=q|1;k[v>>2]=h}if((d|0)!=(m|0)){g=d;j=f;while(1){i[j>>0]=i[g>>0]|0;g=g+1|0;if((g|0)==(m|0))break;else j=j+1|0}f=f+h|0}i[f>>0]=0;k[n+4>>2]=0;o=n+8|0;p=T;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));i[n+48>>0]=0;i[n+49>>0]=0;i[n+50>>0]=0;i[n+56>>0]=0;k[n+52>>2]=4;k[n>>2]=5932;i[n+57>>0]=0;i[n+58>>0]=0;x=0;sa(477,n+60|0,U|0);q=x;x=0;if(q&1){Q=79;break}k[n+72>>2]=0;x=0;f=Ka(857,l|0,n|0)|0;q=x;x=0;if(q&1){Q=79;break}k[aa>>2]=f;g=f;if(f|0){k[L>>2]=0;h=k[N>>2]|0;if((h|0)==(k[O>>2]|0)){x=0;sa(455,P|0,aa|0);q=x;x=0;if(q&1){Q=79;break}}else{k[h>>2]=g;k[N>>2]=(k[N>>2]|0)+4}x=0;sa(k[k[M>>2]>>2]|0,M|0,f|0);q=x;x=0;if(q&1){Q=79;break}}P1(U)}j=m+2|0;f=bO(j)|0;f=XH(f|0?f:j)|0;if(f|0){g=i[43519]|0;f:do if(!(g<<24>>24))g=0;else{h=43519;while(1){if((i[f>>0]|0)!=g<<24>>24)break f;f=f+1|0;h=h+1|0;g=i[h>>0]|0;if(!(g<<24>>24)){g=0;break}}}while(0);q=g<<24>>24==0?f:0;if(!((q|0)==0?1:q>>>0>(k[y>>2]|0)>>>0)){k[F>>2]=j;lE($,39906,11);x=0;Qa(74,_|0,39918,7);q=x;x=0;if(q&1){Q=89;break}x=0;Qa(74,V|0,40150,44);q=x;x=0;if(q&1){Q=90;break}x=0;Ua(31,a|0,$|0,_|0,V|0);q=x;x=0;if(q&1){Q=91;break}P1(V);P1(_);P1($)}}l=k[R>>2]|0;f=uj(j,l)|0;if(!f){g=k[S>>2]|0;j=l-g|0;if(j>>>0>4294967279){dH(Z);Q=122}else if(j>>>0<11){i[Z>>0]=j<<1;f=B}else Q=122;if((Q|0)==122){Q=0;q=j+16&-16;f=GG(q)|0;k[z>>2]=f;k[Z>>2]=q|1;k[A>>2]=j}if((g|0)!=(l|0)){h=f;while(1){i[h>>0]=i[g>>0]|0;g=g+1|0;if((g|0)==(l|0))break;else h=h+1|0}f=f+j|0}i[f>>0]=0;x=0;f=xa(50,Z|0,0,40497)|0;q=x;x=0;if(q&1){Q=129;break}k[Y>>2]=k[f>>2];k[Y+4>>2]=k[f+4>>2];k[Y+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;x=0;k[aa>>2]=k[K>>2];k[aa+4>>2]=k[K+4>>2];k[aa+8>>2]=k[K+8>>2];Qa(135,a|0,Y|0,aa|0);q=x;x=0;if(q&1){Q=130;break}P1(Y);P1(Z);l=k[R>>2]|0}else{d=f+-1|0;k[X>>2]=j;k[C>>2]=j;k[D>>2]=d;f=k[e>>2]|0;g=k[E>>2]|0;k[ca>>2]=k[X>>2];k[ca+4>>2]=k[X+4>>2];k[ca+8>>2]=k[X+8>>2];o=aa;p=K;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));Xj(W,ca,f,aa,g);x=0;j=ua(234,W|0)|0;q=x;x=0;if(q&1){Q=110;break}f=k[G>>2]|0;g=f;if(f|0){h=k[I>>2]|0;if((h|0)!=(f|0))k[I>>2]=h+(~((h+-4-g|0)>>>2)<<2);uha(f)}f=k[H>>2]|0;g=f;if(f|0){h=k[J>>2]|0;if((h|0)!=(f|0))k[J>>2]=h+(~((h+-4-g|0)>>>2)<<2);uha(f)}i[j+50>>0]=1;k[aa>>2]=j;f=j;if(j|0){k[L>>2]=0;g=k[N>>2]|0;if((g|0)==(k[O>>2]|0))uw(P,aa);else{k[g>>2]=f;k[N>>2]=(k[N>>2]|0)+4}rc[k[k[M>>2]>>2]&1023](M,j)}}d=d+1|0;if(d>>>0>=l>>>0){Q=151;break}else{n=s;f=t}}if((Q|0)==79){ea=mb()|0;P1(U);yb(ea|0)}else if((Q|0)==89)b=mb()|0;else if((Q|0)==90){b=mb()|0;Q=92}else if((Q|0)==91){b=mb()|0;P1(V);Q=92}else if((Q|0)==110){f=mb()|0;b=k[G>>2]|0;d=b;if(b|0){e=k[I>>2]|0;if((e|0)!=(b|0))k[I>>2]=e+(~((e+-4-d|0)>>>2)<<2);uha(b)}b=k[H>>2]|0;if(!b){ea=f;yb(ea|0)}d=k[J>>2]|0;if((d|0)!=(b|0))k[J>>2]=d+(~((d+-4-b|0)>>>2)<<2);uha(b);ea=f;yb(ea|0)}else if((Q|0)==129){b=mb()|0;Q=131}else if((Q|0)==130){b=mb()|0;P1(Y);Q=131}else if((Q|0)==133){if(d>>>0>=l>>>0){da=b;r=ea;return da|0}h=(k[e>>2]|0)+36|0;j=lD(h,76)|0;o=ba;p=K;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));f=l-d|0;if(f>>>0>4294967279){dH(da);Q=138}else if(f>>>0<11){i[da>>0]=f<<1;g=da+1|0}else Q=138;if((Q|0)==138){c=f+16&-16;g=GG(c)|0;k[da+8>>2]=g;k[da>>2]=c|1;k[da+4>>2]=f}if((d|0)==(l|0))d=g;else{e=g;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(l|0))break;else e=e+1|0}d=g+f|0}i[d>>0]=0;k[j+4>>2]=0;o=j+8|0;p=ba;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));i[j+48>>0]=0;i[j+49>>0]=0;i[j+50>>0]=0;i[j+56>>0]=0;k[j+52>>2]=4;k[j>>2]=5932;i[j+57>>0]=0;i[j+58>>0]=0;x=0;sa(477,j+60|0,da|0);ba=x;x=0;do if(!(ba&1)){k[j+72>>2]=0;x=0;e=Ka(857,h|0,j|0)|0;ba=x;x=0;if(!(ba&1)){k[ca>>2]=e;f=e;if(e|0){k[L>>2]=0;d=k[N>>2]|0;if((d|0)==(k[O>>2]|0)){x=0;sa(455,P|0,ca|0);ca=x;x=0;if(ca&1)break}else{k[d>>2]=f;k[N>>2]=(k[N>>2]|0)+4}x=0;sa(k[k[M>>2]>>2]|0,M|0,e|0);ca=x;x=0;if(ca&1)break}P1(da);da=b;r=ea;return da|0}}while(0);ea=mb()|0;P1(da);yb(ea|0)}else if((Q|0)==151){r=ea;return b|0}if((Q|0)==92)P1(_);else if((Q|0)==131){P1(Z);ea=b;yb(ea|0)}P1($);ea=b;yb(ea|0);return 0}function zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0.0,h=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=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;F=0;R=r;r=r+432|0;G=R+384|0;S=R+344|0;h=R+368|0;l=R+356|0;q=R+188|0;s=R+176|0;B=R+200|0;v=R+128|0;w=R+116|0;y=R+104|0;z=R+64|0;O=R+144|0;C=R+60|0;D=R+56|0;H=R+16|0;N=R;_G(S,b+68|0);I=k[b+80>>2]|0;d=a+8|0;x=0;I=Ka(k[(k[I>>2]|0)+40>>2]|0,I|0,d|0)|0;E=x;x=0;a:do if(E&1)F=6;else{if((k[I+52>>2]|0)!=2){e=vb(92)|0;x=0;Qa(74,h|0,33133,7);R=x;x=0;if(R&1)c=mb()|0;else{x=0;Qa(106,e|0,I|0,h|0);R=x;x=0;if(R&1)d=1;else{x=0;Qa(77,e|0,1376,135);x=0;d=0}c=mb()|0;P1(h);if(!d){R=c;P1(S);yb(R|0)}}lb(e|0);R=c;P1(S);yb(R|0)}E=k[b+84>>2]|0;x=0;E=Ka(k[(k[E>>2]|0)+40>>2]|0,E|0,d|0)|0;m=x;x=0;if(m&1)F=6;else{if((k[E+52>>2]|0)!=2){e=vb(92)|0;x=0;Qa(74,l|0,33133,7);R=x;x=0;if(R&1)c=mb()|0;else{x=0;Qa(106,e|0,E|0,l|0);R=x;x=0;if(R&1)d=1;else{x=0;Qa(77,e|0,1376,135);x=0;d=0}c=mb()|0;P1(l);if(!d){R=c;P1(S);yb(R|0)}}lb(e|0);R=c;P1(S);yb(R|0)}x=0;sa(437,q|0,I|0);m=x;x=0;if(m&1)F=6;else{x=0;sa(437,s|0,E|0);m=x;x=0;if(m&1){R=mb()|0;P1(q);P1(S);yb(R|0)}m=j[q>>1]|0;h=(m&1)==0;e=(m&254)>>>1;l=h?e:k[q+4>>2]|0;T=i[s>>0]|0;d=(T&1)==0;m=(m&65535)>>>8&255;b:do if((l|0)==((d?(T&255)>>>1:k[s+4>>2]|0)|0)){d=d?s+1|0:k[s+8>>2]|0;if(!h){T=(tG(k[q+8>>2]|0,d,l)|0)==0;P1(s);P1(q);if(T)break;else{F=31;break}}if(!l){P1(s);P1(q);break}c:do if(m<<24>>24==(i[d>>0]|0)){h=q+1|0;while(1){e=e+-1|0;h=h+1|0;if(!e)break;d=d+1|0;if((i[h>>0]|0)!=(i[d>>0]|0))break c}P1(s);P1(q);break b}while(0);P1(s);P1(q);F=31}else{P1(s);P1(q);F=31}while(0);d:do if((F|0)==31){q=B+64|0;d=B+8|0;k[d>>2]=8236;o=B+12|0;k[B>>2]=8440;k[q>>2]=8460;k[B+4>>2]=0;x=0;sa(452,B+64|0,o|0);T=x;x=0;if(T&1)c=mb()|0;else{k[B+136>>2]=0;k[B+140>>2]=-1;k[B>>2]=8216;k[q>>2]=8256;k[d>>2]=8236;x=0;ra(324,o|0);T=x;x=0;do if(T&1)c=mb()|0;else{k[o>>2]=8272;l=B+44|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[B+60>>2]=24;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;x=0;sa(453,o|0,G|0);T=x;x=0;if(T&1){c=mb()|0;P1(G);P1(l);D2(o);break}P1(G);n=B+8|0;x=0;d=xa(49,n|0,33141,21)|0;T=x;x=0;e:do if(T&1)F=52;else{x=0;sa(437,v|0,I|0);T=x;x=0;if(T&1)F=52;else{T=i[v>>0]|0;s=(T&1)==0;x=0;d=xa(49,d|0,(s?v+1|0:k[v+8>>2]|0)|0,(s?(T&255)>>>1:k[v+4>>2]|0)|0)|0;T=x;x=0;do if(T&1)F=53;else{x=0;d=xa(49,d|0,33163,7)|0;T=x;x=0;if(T&1)F=53;else{x=0;sa(437,w|0,E|0);T=x;x=0;if(T&1){F=53;break}T=i[w>>0]|0;t=(T&1)==0;x=0;d=xa(49,d|0,(t?w+1|0:k[w+8>>2]|0)|0,(t?(T&255)>>>1:k[w+4>>2]|0)|0)|0;T=x;x=0;do if(!(T&1)){x=0;xa(49,d|0,33171,2)|0;T=x;x=0;if(T&1)break;P1(w);P1(v);x=0;sa(454,y|0,o|0);T=x;x=0;if(T&1){F=52;break e}e=z;h=I+8|0;m=e+40|0;do{k[e>>2]=k[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(m|0));d=k[a+100>>2]|0;if((d|0)==(k[a+96>>2]|0))d=0;else d=k[d+-4>>2]|0;x=0;e=G;h=z;m=e+40|0;do{k[e>>2]=k[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(m|0));Qa(100,y|0,G|0,d|0);T=x;x=0;if(T&1){u=mb()|0;P1(y);break e}else{P1(y);k[B>>2]=8216;k[q>>2]=8256;k[n>>2]=8236;k[o>>2]=8272;P1(l);D2(o);P9(q);break d}}while(0);t=mb()|0;P1(w)}}while(0);if((F|0)==53)t=mb()|0;P1(v);u=t}}while(0);if((F|0)==52)u=mb()|0;k[B>>2]=8216;k[q>>2]=8256;k[n>>2]=8236;k[o>>2]=8272;P1(l);D2(o);P9(q);T=u;P1(S);yb(T|0)}while(0)}P9(q);break a}while(0);f=+p[I+56>>3];g=+p[E+56>>3];e=a+24|0;o=a+28|0;d=k[o>>2]|0;if((d|0)==(k[e>>2]|0))d=0;else d=k[d+-4>>2]|0;x=0;Qa(107,O|0,d|0,1);T=x;x=0;if(T&1)F=6;else{k[C>>2]=O;c=k[o>>2]|0;if(c>>>0<(k[a+32>>2]|0)>>>0){k[c>>2]=O;k[o>>2]=(k[o>>2]|0)+4;F=66}else{x=0;sa(488,e|0,C|0);T=x;x=0;if(T&1)F=79;else F=66}do if((F|0)==66){k[D>>2]=b;n=a+52|0;c=k[n>>2]|0;if(c>>>0<(k[a+56>>2]|0)>>>0){k[c>>2]=b;k[n>>2]=(k[n>>2]|0)+4}else{x=0;sa(503,a+48|0,D|0);T=x;x=0;if(T&1){F=79;break}}l=O+20|0;x=0;c=Ka(856,l|0,96)|0;T=x;x=0;if(T&1)F=79;else{e=H;h=I+8|0;m=e+40|0;do{k[e>>2]=k[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(m|0));x=0;sa(437,N|0,E|0);T=x;x=0;if(T&1)F=79;else{x=0;e=G;h=H;m=e+40|0;do{k[e>>2]=k[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(m|0));Fa(1,c|0,G|0,+f,N|0,1);T=x;x=0;if(!(T&1)){x=0;h=Ka(857,l|0,c|0)|0;T=x;x=0;if(!(T&1)){P1(N);x=0;Qa(103,O|0,S|0,h|0);T=x;x=0;if(T&1){F=79;break}e=k[b+64>>2]|0;c=(i[b+88>>0]|0)!=0;if(f>2]|0;T=T+-4|0;k[n>>2]=T;T=k[o>>2]|0;T=T+-4|0;k[o>>2]=T;iB(l);T=O+4|0;T=k[T>>2]|0;az(O,T);P1(S);r=R;return 0}c=h+92|0;d=h+56|0;while(1){k[c>>2]=0;p[d>>3]=f;x=0;Qa(103,O|0,S|0,h|0);T=x;x=0;if(T&1){F=77;break}x=0;sa(502,a|0,e|0);T=x;x=0;if(T&1){F=77;break}f=f+1.0;if(!(f>2]|0;T=T+-4|0;k[n>>2]=T;T=k[o>>2]|0;T=T+-4|0;k[o>>2]=T;iB(l);T=O+4|0;T=k[T>>2]|0;az(O,T);P1(S);r=R;return 0}}else{g=c?g+-1.0:g;if(!(f>g)){T=k[n>>2]|0;T=T+-4|0;k[n>>2]=T;T=k[o>>2]|0;T=T+-4|0;k[o>>2]=T;iB(l);T=O+4|0;T=k[T>>2]|0;az(O,T);P1(S);r=R;return 0}c=h+92|0;d=h+56|0;while(1){k[c>>2]=0;p[d>>3]=f;x=0;Qa(103,O|0,S|0,h|0);T=x;x=0;if(T&1){F=78;break}x=0;sa(502,a|0,e|0);T=x;x=0;if(T&1){F=78;break}f=f+-1.0;if(!(f>g)){F=90;break}}if((F|0)==78){P=mb()|0;M=l;F=80;break}else if((F|0)==90){T=k[n>>2]|0;T=T+-4|0;k[n>>2]=T;T=k[o>>2]|0;T=T+-4|0;k[o>>2]=T;iB(l);T=O+4|0;T=k[T>>2]|0;az(O,T);P1(S);r=R;return 0}}}}J=mb()|0;P1(N);L=l}}}while(0);if((F|0)==79){P=mb()|0;M=O+20|0;F=80}if((F|0)==80){J=P;L=M}iB(L);az(O,k[O+4>>2]|0);T=J;P1(S);yb(T|0)}}}}while(0);if((F|0)==6)c=mb()|0;T=c;P1(S);yb(T|0);return 0}function Ad(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=0;z=r;r=r+320|0;w=z;u=z+312|0;s=z+308|0;B=z+284|0;g=z+296|0;C=z+260|0;h=z+272|0;A=z+248|0;j=z+236|0;l=z+216|0;q=z+176|0;t=z+160|0;v=z+120|0;y=z+108|0;p=z+224|0;m=z+96|0;n=z+56|0;o=z+40|0;lE(B,78097,0);x=0;b=xa(85,a|0,1,0)|0;f=x;x=0;a:do if(!(f&1)){do if(b|0){c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){x=0;ra(331,g|0);D=x;x=0;if(D&1)break a;else D=7}else if(f>>>0<11){i[g>>0]=f<<1;b=g+1|0}else D=7;if((D|0)==7){d=f+16&-16;x=0;b=ua(186,d|0)|0;E=x;x=0;if(E&1)break a;k[g+8>>2]=b;k[g>>2]=d|1;k[g+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;if(!(i[B>>0]&1)){i[B+1>>0]=0;i[B>>0]=0}else{i[k[B+8>>2]>>0]=0;k[B+4>>2]=0}x=0;sa(443,B|0,0);E=x;x=0;if(E&1){E=Eb(0)|0;Nba(E)}else{k[B>>2]=k[g>>2];k[B+4>>2]=k[g+4>>2];k[B+8>>2]=k[g+8>>2];k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;P1(g);break}}while(0);x=0;xa(86,a|0,1,0)|0;E=x;x=0;if(!(E&1)){x=0;g=ua(249,a|0)|0;E=x;x=0;if(!(E&1)){x=0;Qa(74,C|0,78097,0);E=x;x=0;if(!(E&1)){x=0;b=xa(87,a|0,1,0)|0;E=x;x=0;b:do if(E&1)D=39;else{do if(b|0){c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){x=0;ra(331,h|0);E=x;x=0;if(E&1){D=39;break b}else D=28}else if(f>>>0<11){i[h>>0]=f<<1;b=h+1|0}else D=28;if((D|0)==28){d=f+16&-16;x=0;b=ua(186,d|0)|0;E=x;x=0;if(E&1){D=39;break b}k[h+8>>2]=b;k[h>>2]=d|1;k[h+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;if(!(i[C>>0]&1)){i[C+1>>0]=0;i[C>>0]=0}else{i[k[C+8>>2]>>0]=0;k[C+4>>2]=0}x=0;sa(443,C|0,0);E=x;x=0;if(E&1){E=Eb(0)|0;Nba(E)}else{k[C>>2]=k[h>>2];k[C+4>>2]=k[h+4>>2];k[C+8>>2]=k[h+8>>2];k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;P1(h);break}}while(0);x=0;Qa(74,A|0,78097,0);E=x;x=0;if(E&1)D=39;else{c:do if(!g)D=84;else{E=k[(k[g>>2]|0)+20>>2]|0;k[l>>2]=0;k[l+4>>2]=5;x=0;k[w>>2]=k[l>>2];k[w+4>>2]=k[l+4>>2];Qa(E|0,j|0,g|0,w|0);E=x;x=0;d:do if(!(E&1)){if(!(i[A>>0]&1)){i[A+1>>0]=0;i[A>>0]=0}else{i[k[A+8>>2]>>0]=0;k[A+4>>2]=0}x=0;sa(443,A|0,0);E=x;x=0;if(E&1){E=Eb(0)|0;Nba(E)}k[A>>2]=k[j>>2];k[A+4>>2]=k[j+4>>2];k[A+8>>2]=k[j+8>>2];k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;P1(j);g=Ot(g,376,344,0)|0;if(!g){D=84;break c}n=a+40|0;b=(k[n>>2]|0)+36|0;x=0;c=Ka(856,b|0,84)|0;E=x;x=0;if(!(E&1)){o=a+108|0;f=w;d=o;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));k[c+4>>2]=0;f=c+8|0;d=w;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;i[c+56>>0]=0;k[c+64>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;k[c>>2]=5788;k[c+60>>2]=5904;k[c+80>>2]=0;k[c+52>>2]=4;x=0;a=Ka(857,b|0,c|0)|0;E=x;x=0;if(!(E&1)){p=a+60|0;b=(k[n>>2]|0)+36|0;x=0;c=Ka(856,b|0,76)|0;E=x;x=0;if(!(E&1)){f=q;d=o;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));x=0;sa(430,t|0,B|0);E=x;x=0;if(E&1)break;k[c+4>>2]=0;f=c+8|0;d=q;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;i[c+56>>0]=0;k[c+52>>2]=4;k[c>>2]=5932;i[c+57>>0]=0;i[c+58>>0]=0;x=0;sa(477,c+60|0,t|0);E=x;x=0;do if(!(E&1)){k[c+72>>2]=0;x=0;b=Ka(857,b|0,c|0)|0;E=x;x=0;if(E&1)break;k[s>>2]=b;c=b;if(b|0){k[p+16>>2]=0;d=p+8|0;e=k[d>>2]|0;if((e|0)==(k[p+12>>2]|0)){x=0;sa(455,p+4|0,s|0);E=x;x=0;if(E&1)break}else{k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4}x=0;sa(k[k[p>>2]>>2]|0,p|0,b|0);E=x;x=0;if(E&1)break}P1(t);m=g+64|0;b=k[m>>2]|0;f=(k[g+68>>2]|0)-b>>2;e:do if(f|0){g=p+16|0;h=p+8|0;j=p+12|0;l=p+4|0;c=0;while(1){b=k[b+(c<<2)>>2]|0;k[u>>2]=b;d=b;if(b|0){k[g>>2]=0;e=k[h>>2]|0;if((e|0)==(k[j>>2]|0)){x=0;sa(455,l|0,u|0);E=x;x=0;if(E&1)break}else{k[e>>2]=d;k[h>>2]=(k[h>>2]|0)+4}x=0;sa(k[k[p>>2]>>2]|0,p|0,b|0);E=x;x=0;if(E&1)break}c=c+1|0;if((c|0)==(f|0))break e;b=k[m>>2]|0}b=mb()|0;D=50;break c}while(0);b=(k[n>>2]|0)+36|0;x=0;c=Ka(856,b|0,76)|0;E=x;x=0;if(E&1)break d;f=v;d=o;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));x=0;sa(430,y|0,C|0);E=x;x=0;if(E&1)break d;k[c+4>>2]=0;f=c+8|0;d=v;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;i[c+56>>0]=0;k[c+52>>2]=4;k[c>>2]=5932;i[c+57>>0]=0;i[c+58>>0]=0;x=0;sa(477,c+60|0,y|0);E=x;x=0;do if(!(E&1)){k[c+72>>2]=0;x=0;b=Ka(857,b|0,c|0)|0;E=x;x=0;if(E&1)break;k[w>>2]=b;c=b;if(b|0){k[p+16>>2]=0;d=p+8|0;e=k[d>>2]|0;if((e|0)==(k[p+12>>2]|0)){x=0;sa(455,p+4|0,w|0);E=x;x=0;if(E&1)break}else{k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4}x=0;sa(k[k[p>>2]>>2]|0,p|0,b|0);E=x;x=0;if(E&1)break}P1(y);E=a;P1(A);P1(C);P1(B);r=z;return E|0}while(0);b=mb()|0;P1(y);break c}while(0);b=mb()|0;P1(t);break c}}}}while(0);b=mb()|0;D=50}while(0);do if((D|0)==84){k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;E=i[B>>0]|0;y=(E&1)==0;E=y?(E&255)>>>1:k[B+4>>2]|0;b=i[A>>0]|0;b=(b&1)==0?(b&255)>>>1:k[A+4>>2]|0;x=0;Ua(10,m|0,(y?B+1|0:k[B+8>>2]|0)|0,E|0,b+E|0);E=x;x=0;if(!(E&1)){x=0;xa(46,m|0,((i[A>>0]&1)==0?A+1|0:k[A+8>>2]|0)|0,b|0)|0;E=x;x=0;if(!(E&1)){b=i[C>>0]|0;E=(b&1)==0;x=0;b=xa(46,m|0,(E?C+1|0:k[C+8>>2]|0)|0,(E?(b&255)>>>1:k[C+4>>2]|0)|0)|0;E=x;x=0;if(E&1){b=mb()|0;P1(m);break}k[p>>2]=k[b>>2];k[p+4>>2]=k[b+4>>2];k[p+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;P1(m);b=(k[a+40>>2]|0)+36|0;x=0;c=Ka(856,b|0,76)|0;E=x;x=0;if(E&1)D=94;else{f=n;d=a+108|0;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));x=0;sa(430,o|0,p|0);E=x;x=0;if(E&1)D=94;else{k[c+4>>2]=0;f=c+8|0;d=n;e=f+40|0;do{k[f>>2]=k[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;i[c+56>>0]=0;k[c+52>>2]=4;k[c>>2]=5932;i[c+57>>0]=0;i[c+58>>0]=0;x=0;sa(477,c+60|0,o|0);E=x;x=0;do if(!(E&1)){k[c+72>>2]=0;x=0;b=Ka(857,b|0,c|0)|0;E=x;x=0;if(E&1)break;P1(o);P1(p);E=b;P1(A);P1(C);P1(B);r=z;return E|0}while(0);b=mb()|0;P1(o)}}if((D|0)==94)b=mb()|0;P1(p);break}}b=mb()|0;P1(m);D=50}while(0);P1(A)}}while(0);if((D|0)==39)b=mb()|0;P1(C);E=b;P1(B);yb(E|0)}}}}while(0);E=mb()|0;P1(B);yb(E|0);return 0}function Bd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,$=0,aa=0,ba=0,ca=0,da=0;da=0;aa=r;r=r+320|0;I=aa+40|0;J=aa+284|0;K=aa;S=aa+160|0;ca=aa+144|0;O=aa+304|0;ba=aa+92|0;P=aa+296|0;Q=aa+272|0;R=aa+260|0;V=aa+248|0;X=aa+236|0;Z=aa+224|0;_=aa+212|0;$=aa+200|0;L=aa+104|0;T=aa+80|0;M=a+40|0;b=(k[M>>2]|0)+36|0;c=lD(b,104)|0;N=a+108|0;d=I;e=N;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));k[c+4>>2]=0;d=c+8|0;e=I;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;Y=c+56|0;k[Y>>2]=0;k[Y+4>>2]=0;k[Y+8>>2]=0;k[c+52>>2]=7;k[c+72>>2]=0;k[c+76>>2]=0;k[c+80>>2]=0;k[c>>2]=6984;k[c+68>>2]=7116;Y=c+92|0;k[Y>>2]=0;k[c+96>>2]=0;k[c+88>>2]=Y;i[c+100>>0]=0;i[c+101>>0]=0;Y=N4(b,c)|0;k[Y+60>>2]=k[a+68>>2];zt(a,1,0)|0;U=a+76|0;W=a+80|0;j=Y+68|0;l=j+16|0;m=j+8|0;n=j+12|0;o=j+4|0;p=a+156|0;q=a+160|0;s=T+8|0;t=T+4|0;u=T+1|0;v=Y+101|0;w=O+4|0;y=P+4|0;z=ca+4|0;A=ca+8|0;B=ca+1|0;C=ba+8|0;D=ba+1|0;E=ba+4|0;F=Q+8|0;G=Q+4|0;H=Q+1|0;while(1){Mm(a,0,0)|0;if(VM(k[U>>2]|0)|0){b=ze(a)|0;k[I>>2]=b;c=b;if(b|0){k[l>>2]=0;d=k[m>>2]|0;if((d|0)==(k[n>>2]|0))nw(o,I);else{k[d>>2]=c;k[m>>2]=(k[m>>2]|0)+4}rc[k[k[j>>2]>>2]&1023](j,b)}continue}if(br(a,0,0)|0){i[v>>0]=1;b=(k[M>>2]|0)+36|0;c=lD(b,96)|0;d=K;e=N;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));lE(J,40459,1);x=0;d=I;e=K;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));Qa(115,c|0,I|0,J|0);h=x;x=0;if(h&1){da=11;break}P1(J);k[c>>2]=12552;b=N4(b,c)|0;k[I>>2]=b;c=b;if(b|0){k[l>>2]=0;d=k[m>>2]|0;if((d|0)==(k[n>>2]|0))nw(o,I);else{k[d>>2]=c;k[m>>2]=(k[m>>2]|0)+4}rc[k[k[j>>2]>>2]&1023](j,b)}b=k[o>>2]|0;c=(k[m>>2]|0)-b>>2;if(c>>>0<=1)continue;d=S;e=N;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));g=b;h=k[g+(c+-1<<2)>>2]|0;g=k[g+(c+-2<<2)>>2]|0;f=k[(k[g>>2]|0)+20>>2]|0;k[O>>2]=0;k[w>>2]=5;k[I>>2]=k[O>>2];k[I+4>>2]=k[O+4>>2];Pc[f&255](ca,g,I);g=k[(k[h>>2]|0)+20>>2]|0;k[P>>2]=0;k[y>>2]=5;x=0;k[I>>2]=k[P>>2];k[I+4>>2]=k[P+4>>2];Qa(g|0,ba|0,h|0,I|0);h=x;x=0;if(h&1){da=32;break}x=0;b=xa(59,a|0,1,0)|0;h=x;x=0;if(h&1){da=33;break}if(b|0){c=k[p>>2]|0;e=k[q>>2]|0;f=e-c|0;if(f>>>0>4294967279){x=0;ra(331,Q|0);da=x;x=0;if(da&1){da=33;break}else da=25}else if(f>>>0<11){i[Q>>0]=f<<1;b=H}else da=25;if((da|0)==25){da=0;d=f+16&-16;x=0;b=ua(186,d|0)|0;h=x;x=0;if(h&1){da=33;break}k[F>>2]=b;k[Q>>2]=d|1;k[G>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;h=i[Q>>0]|0;g=(h&1)==0;x=0;xa(46,ba|0,(g?H:k[F>>2]|0)|0,(g?(h&255)>>>1:k[G>>2]|0)|0)|0;h=x;x=0;if(h&1){da=35;break}P1(Q)}k[$>>2]=0;k[$+4>>2]=0;k[$+8>>2]=0;b=i[ca>>0]|0;b=(b&1)==0?(b&255)>>>1:k[z>>2]|0;x=0;Ua(10,$|0,40583,19,b+19|0);h=x;x=0;if(h&1){da=38;break}x=0;xa(46,$|0,((i[ca>>0]&1)==0?B:k[A>>2]|0)|0,b|0)|0;h=x;x=0;if(h&1){da=38;break}x=0;b=Ka(866,$|0,40603)|0;h=x;x=0;if(h&1){da=46;break}k[_>>2]=k[b>>2];k[_+4>>2]=k[b+4>>2];k[_+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;b=i[ba>>0]|0;h=(b&1)==0;x=0;b=xa(46,_|0,(h?D:k[C>>2]|0)|0,(h?(b&255)>>>1:k[E>>2]|0)|0)|0;h=x;x=0;if(h&1){da=47;break}k[Z>>2]=k[b>>2];k[Z+4>>2]=k[b+4>>2];k[Z+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,Z|0,40626)|0;h=x;x=0;if(h&1){da=48;break}k[X>>2]=k[b>>2];k[X+4>>2]=k[b+4>>2];k[X+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;b=i[ba>>0]|0;h=(b&1)==0;x=0;b=xa(46,X|0,(h?D:k[C>>2]|0)|0,(h?(b&255)>>>1:k[E>>2]|0)|0)|0;h=x;x=0;if(h&1){da=49;break}k[V>>2]=k[b>>2];k[V+4>>2]=k[b+4>>2];k[V+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,V|0,40631)|0;h=x;x=0;if(h&1){da=50;break}k[R>>2]=k[b>>2];k[R+4>>2]=k[b+4>>2];k[R+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;k[I>>2]=k[S>>2];k[I+4>>2]=k[S+4>>2];k[I+8>>2]=k[S+8>>2];Qa(135,a|0,R|0,I|0);h=x;x=0;if(h&1){da=51;break}P1(R);P1(V);P1(X);P1(Z);P1(_);P1($);P1(ba);P1(ca);continue}if(Rr(a,0,0)|0){g=(k[M>>2]|0)+36|0;h=lD(g,96)|0;d=L;e=N;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));c=k[p>>2]|0;e=k[q>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(T);da=64}else if(f>>>0<11){i[T>>0]=f<<1;b=u}else da=64;if((da|0)==64){da=0;d=f+16&-16;b=GG(d)|0;k[s>>2]=b;k[T>>2]=d|1;k[t>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;d=K;e=L;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));x=0;sa(430,J|0,T|0);f=x;x=0;if(f&1){da=78;break}x=0;d=I;e=K;f=d+40|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));Qa(115,h|0,I|0,J|0);f=x;x=0;if(f&1){da=70;break}P1(J);k[h>>2]=7144;x=0;b=Ka(857,g|0,h|0)|0;h=x;x=0;if(h&1){da=78;break}k[I>>2]=b;c=b;if(b|0){k[l>>2]=0;d=k[m>>2]|0;if((d|0)==(k[n>>2]|0)){x=0;sa(450,o|0,I|0);h=x;x=0;if(h&1){da=78;break}}else{k[d>>2]=c;k[m>>2]=(k[m>>2]|0)+4}x=0;sa(k[k[j>>2]>>2]|0,j|0,b|0);h=x;x=0;if(h&1){da=78;break}}P1(T);continue}h=mI(k[U>>2]|0)|0;if(!((h|0)==0?1:h>>>0>(k[W>>2]|0)>>>0)){da=101;break}h=k[U>>2]|0;g=bO(h)|0;h=Z9(g|0?g:h)|0;if(!((h|0)==0?1:h>>>0>(k[W>>2]|0)>>>0)){da=101;break}b=LD(k[U>>2]|0)|0;if((b|0)==0?1:b>>>0>(k[W>>2]|0)>>>0)b=k[U>>2]|0;e=bO(b)|0;e=e|0?e:b;c=i[29992]|0;a:do if(!(c<<24>>24))b=0;else{b=i[e>>0]|0;d=29992;while(1){if(b<<24>>24==c<<24>>24)break a;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){b=0;break}}}while(0);h=b<<24>>24?e+1|0:0;if(!((h|0)==0?1:h>>>0>(k[W>>2]|0)>>>0)){da=101;break}b=LD(k[U>>2]|0)|0;if((b|0)==0?1:b>>>0>(k[W>>2]|0)>>>0)b=k[U>>2]|0;e=bO(b)|0;e=e|0?e:b;c=i[29985]|0;b:do if(!(c<<24>>24))b=0;else{b=i[e>>0]|0;d=29985;while(1){if(b<<24>>24==c<<24>>24)break b;d=d+1|0;c=i[d>>0]|0;if(!(c<<24>>24)){b=0;break}}}while(0);h=b<<24>>24?e+1|0:0;if(!((h|0)==0?1:h>>>0>(k[W>>2]|0)>>>0)){da=101;break}b=ze(a)|0;if(!b){b=0;da=110;break}k[I>>2]=b;k[l>>2]=0;c=k[m>>2]|0;if((c|0)==(k[n>>2]|0))nw(o,I);else{k[c>>2]=b;k[m>>2]=(k[m>>2]|0)+4}rc[k[k[j>>2]>>2]&1023](j,b)}switch(da|0){case 11:{da=mb()|0;P1(J);yb(da|0)}case 32:{b=mb()|0;break}case 33:{b=mb()|0;da=34;break}case 35:{b=mb()|0;P1(Q);da=57;break}case 38:{b=mb()|0;P1($);da=34;break}case 46:{b=mb()|0;da=56;break}case 47:{b=mb()|0;da=55;break}case 48:{b=mb()|0;da=54;break}case 49:{b=mb()|0;da=53;break}case 50:{b=mb()|0;da=52;break}case 51:{b=mb()|0;P1(R);da=52;break}case 70:{b=mb()|0;P1(J);da=79;break}case 78:{b=mb()|0;da=79;break}case 101:{if(!Y){da=Y;r=aa;return da|0}b=LD(k[U>>2]|0)|0;if((b|0)==0?1:b>>>0>(k[W>>2]|0)>>>0)b=k[U>>2]|0;da=bO(b)|0;da=da|0?da:b;da=(i[da>>0]|0)==123?da+1|0:0;if(!((da|0)==0?1:da>>>0>(k[W>>2]|0)>>>0)){da=Y;r=aa;return da|0}if($l(k[U>>2]|0)|0){b=LD(k[U>>2]|0)|0;if((b|0)==0?1:b>>>0>(k[W>>2]|0)>>>0)b=k[U>>2]|0;da=bO(b)|0;b=da|0?da:b;b=(i[b>>0]|0)==123?b+1|0:0;b=((b|0)==0?1:b>>>0>(k[W>>2]|0)>>>0)&1}else b=0;i[Y+58>>0]=b;da=Y;r=aa;return da|0}case 110:{r=aa;return b|0}}if((da|0)==34)da=57;else if((da|0)==52){P1(V);da=53}else if((da|0)==79){P1(T);da=b;yb(da|0)}if((da|0)==53){P1(X);da=54}if((da|0)==54){P1(Z);da=55}if((da|0)==55){P1(_);da=56}if((da|0)==56){P1($);da=57}if((da|0)==57)P1(ba);P1(ca);da=b;yb(da|0);return 0}function Cd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=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=r;r=r+64|0;B=H+48|0;A=H+40|0;C=H+24|0;y=H+32|0;v=H+16|0;w=H+8|0;x=H;o=k[d+4>>2]|0;t=k[e+4>>2]|0;if((t|0)==(o|0))p=0;else{G=k[e>>2]|0;p=k[d>>2]|0;p=((G-p>>2)*170|0)+((t-(k[G>>2]|0)|0)/24|0)+((o-(k[p>>2]|0)|0)/-24|0)|0}D=b+4|0;h=k[D>>2]|0;E=b+16|0;n=k[E>>2]|0;f=h+(((n>>>0)/170|0)<<2)|0;G=b+8|0;g=k[G>>2]|0;l=g;m=h;if((g|0)==(h|0))j=0;else j=(k[f>>2]|0)+(((n>>>0)%170|0)*24|0)|0;i=k[c+4>>2]|0;if((i|0)==(j|0))F=0;else{F=k[c>>2]|0;F=((F-f>>2)*170|0)+((i-(k[F>>2]|0)|0)/24|0)+((j-(k[f>>2]|0)|0)/-24|0)|0}z=b+20|0;i=k[z>>2]|0;if(F>>>0<(i-F|0)>>>0){if(p>>>0>n>>>0){Of(b,p-n|0);f=k[E>>2]|0;h=k[D>>2]|0;g=k[G>>2]|0}else f=n;s=h+(((f>>>0)/170|0)<<2)|0;if((g|0)==(h|0))q=0;else q=(k[s>>2]|0)+(((f>>>0)%170|0)*24|0)|0;c=s;i=q;h=d;f=k[h>>2]|0;h=k[h+4>>2]|0;if(p>>>0>F>>>0){do if(F>>>0

>>1>>>0){h=e;f=k[h>>2]|0;h=k[h+4>>2]|0;if(!F)u=f;else{g=f;f=((h-(k[f>>2]|0)|0)/24|0)-F|0;if((f|0)>0){h=g+(((f|0)/170|0)<<2)|0;u=h;h=(k[h>>2]|0)+(((f|0)%170|0)*24|0)|0;break}else{h=169-f|0;d=g+(((h|0)/-170|0)<<2)|0;u=d;h=(k[d>>2]|0)+((169-((h|0)%170|0)|0)*24|0)|0;break}}}else if((p|0)==(F|0))u=f;else{g=f;f=((h-(k[f>>2]|0)|0)/24|0)+(p-F)|0;if((f|0)>0){h=g+(((f|0)/170|0)<<2)|0;u=h;h=(k[h>>2]|0)+(((f|0)%170|0)*24|0)|0;break}else{h=169-f|0;d=g+(((h|0)/-170|0)<<2)|0;u=d;h=(k[d>>2]|0)+((169-((h|0)%170|0)|0)*24|0)|0;break}}while(0);f=h;if((f|0)==(o|0)){m=c;b=i;p=F}else{l=c;g=i;n=u;while(1){j=l;if((g|0)==(k[j>>2]|0)){m=j+-4|0;g=(k[m>>2]|0)+4080|0}else m=l;l=g+-24|0;b=l;j=n;if((f|0)==(k[j>>2]|0)){n=j+-4|0;j=(k[n>>2]|0)+4080|0}else j=f;f=j+-24|0;k[l>>2]=k[f>>2];k[l+4>>2]=k[f+4>>2];k[l+8>>2]=k[f+8>>2];k[l+12>>2]=k[f+12>>2];k[g+-8>>2]=k[j+-8>>2];j=k[j+-4>>2]|0;k[g+-4>>2]=j;if(j|0)c3(j);k[E>>2]=(k[E>>2]|0)+-1;k[z>>2]=(k[z>>2]|0)+1;if((f|0)==(o|0)){p=F;break}else{l=m;g=b}}}}else{m=c;b=i;u=f}if(p|0){f=((i-(k[s>>2]|0)|0)/24|0)+p|0;if((f|0)>0){d=s+(((f|0)/170|0)<<2)|0;g=(k[d>>2]|0)+(((f|0)%170|0)*24|0)|0;f=d}else{g=169-f|0;f=s+(((g|0)/-170|0)<<2)|0;g=(k[f>>2]|0)+((169-((g|0)%170|0)|0)*24|0)|0}o=g;if((g|0)!=(q|0)){n=m;m=f;do{j=b;l=n;if((j|0)==(k[l>>2]|0)){n=l+-4|0;j=(k[n>>2]|0)+4080|0}b=j+-24|0;l=m;if((g|0)==(k[l>>2]|0)){m=l+-4|0;l=(k[m>>2]|0)+4080|0}else l=g;g=l+-24|0;k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];k[b+12>>2]=k[g+12>>2];t=l+-8|0;k[j+-8>>2]=k[t>>2];d=l+-4|0;k[j+-4>>2]=k[d>>2];k[t>>2]=0;k[d>>2]=0;k[E>>2]=(k[E>>2]|0)+-1;k[z>>2]=(k[z>>2]|0)+1}while((g|0)!=(q|0))}if(p>>>0>>0){k[v>>2]=f;k[v+4>>2]=o;z=w;k[z>>2]=c;k[z+4>>2]=i;do if(F|0){f=w+4|0;g=((i-(k[s>>2]|0)|0)/24|0)+F|0;if((g|0)>0){z=s+(((g|0)/170|0)<<2)|0;k[w>>2]=z;k[f>>2]=(k[z>>2]|0)+(((g|0)%170|0)*24|0);break}else{z=169-g|0;d=s+(((z|0)/-170|0)<<2)|0;k[w>>2]=d;k[f>>2]=(k[d>>2]|0)+((169-((z|0)%170|0)|0)*24|0);break}}while(0);k[x>>2]=c;k[x+4>>2]=i;k[C>>2]=k[v>>2];k[C+4>>2]=k[v+4>>2];k[A>>2]=k[w>>2];k[A+4>>2]=k[w+4>>2];k[B>>2]=k[x>>2];k[B+4>>2]=k[x+4>>2];pk(y,C,A,B);c=k[y>>2]|0;i=k[y+4>>2]|0}g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;j=h;if((g|0)!=(j|0)){f=((g-(k[f>>2]|0)|0)/24|0)+((f-u>>2)*170|0)+((h-(k[u>>2]|0)|0)/-24|0)|0;if((f|0)>0){g=j;t=f;while(1){o=(k[u>>2]|0)+4080|0;s=(o-g|0)/24|0;C=(s|0)>(t|0);o=C?g+(t*24|0)|0:o;s=C?t:s;if((g|0)!=(o|0)){q=o;p=g;do{b=c;C=((k[b>>2]|0)+4080-i|0)/24|0;n=(q-p|0)/24|0;B=(n|0)>(C|0);n=B?C:n;f=p;p=B?p+(C*24|0)|0:o;if((f|0)!=(p|0)){l=i;while(1){k[l>>2]=k[f>>2];k[l+4>>2]=k[f+4>>2];k[l+8>>2]=k[f+8>>2];k[l+12>>2]=k[f+12>>2];j=k[f+16>>2]|0;m=k[f+20>>2]|0;if(m|0)c3(m);k[l+16>>2]=j;C=l+20|0;j=k[C>>2]|0;k[C>>2]=m;if(j|0)CQ(j);f=f+24|0;if((f|0)==(p|0))break;else l=l+24|0}}do if(n){f=((i-(k[c>>2]|0)|0)/24|0)+n|0;if((f|0)>0){i=b+(((f|0)/170|0)<<2)|0;c=i;i=(k[i>>2]|0)+(((f|0)%170|0)*24|0)|0;break}else{i=169-f|0;C=b+(((i|0)/-170|0)<<2)|0;c=C;i=(k[C>>2]|0)+((169-((i|0)%170|0)|0)*24|0)|0;break}}while(0)}while((p|0)!=(o|0))}t=t-s|0;do if(!s)f=u;else{f=((h-(k[u>>2]|0)|0)/24|0)+s|0;if((f|0)>0){C=u+(((f|0)/170|0)<<2)|0;g=(k[C>>2]|0)+(((f|0)%170|0)*24|0)|0;h=g;f=C;break}else{g=169-f|0;f=u+(((g|0)/-170|0)<<2)|0;g=(k[f>>2]|0)+((169-((g|0)%170|0)|0)*24|0)|0;h=g;break}}while(0);if((t|0)<=0)break;else u=f}}}}}else{f=l-m>>2;f=((f|0)==0?0:(f*170|0)+-1|0)-(i+n)|0;if(p>>>0>f>>>0){Se(b,p-f|0);f=k[E>>2]|0;v=k[z>>2]|0;h=k[D>>2]|0;g=k[G>>2]|0}else{f=n;v=i}f=f+v|0;u=h+(((f>>>0)/170|0)<<2)|0;if((g|0)==(h|0))s=0;else s=(k[u>>2]|0)+(((f>>>0)%170|0)*24|0)|0;g=u;f=s;i=e;h=k[i>>2]|0;i=k[i+4>>2]|0;q=v-F|0;if(q>>>0

>>0){do if(q>>>0

>>1>>>0){i=d;h=k[i>>2]|0;i=k[i+4>>2]|0;if((v|0)==(F|0))n=i;else{j=h;i=((i-(k[h>>2]|0)|0)/24|0)+q|0;if((i|0)>0){n=j+(((i|0)/170|0)<<2)|0;h=n;n=(k[n>>2]|0)+(((i|0)%170|0)*24|0)|0;break}else{n=169-i|0;e=j+(((n|0)/-170|0)<<2)|0;h=e;n=(k[e>>2]|0)+((169-((n|0)%170|0)|0)*24|0)|0;break}}}else if((q|0)==(p|0))n=i;else{j=h;i=((i-(k[h>>2]|0)|0)/24|0)+(q-p)|0;if((i|0)>0){n=j+(((i|0)/170|0)<<2)|0;h=n;n=(k[n>>2]|0)+(((i|0)%170|0)*24|0)|0;break}else{n=169-i|0;e=j+(((n|0)/-170|0)<<2)|0;h=e;n=(k[e>>2]|0)+((169-((n|0)%170|0)|0)*24|0)|0;break}}while(0);i=n;if((i|0)==(t|0)){c=g;j=f;t=h;m=q}else{m=g;j=f;l=h;while(1){k[j>>2]=k[i>>2];k[j+4>>2]=k[i+4>>2];k[j+8>>2]=k[i+8>>2];k[j+12>>2]=k[i+12>>2];k[j+16>>2]=k[i+16>>2];c=k[i+20>>2]|0;k[j+20>>2]=c;if(c|0)c3(c);j=j+24|0;if((j-(k[m>>2]|0)|0)==4080){j=m+4|0;c=j;j=k[j>>2]|0}else c=m;i=i+24|0;if((i-(k[l>>2]|0)|0)==4080){i=l+4|0;l=i;i=k[i>>2]|0}k[z>>2]=(k[z>>2]|0)+1;if((i|0)==(t|0)){t=h;m=q;break}else m=c}}}else{c=g;j=f;t=h;n=i;m=p}if(m|0){h=((f-(k[u>>2]|0)|0)/24|0)-m|0;if((h|0)>0){o=u+(((h|0)/170|0)<<2)|0;h=(k[o>>2]|0)+(((h|0)%170|0)*24|0)|0}else{h=169-h|0;o=u+(((h|0)/-170|0)<<2)|0;h=(k[o>>2]|0)+((169-((h|0)%170|0)|0)*24|0)|0}b=o;if((h|0)!=(s|0)){i=h;l=b;do{k[j>>2]=k[i>>2];k[j+4>>2]=k[i+4>>2];k[j+8>>2]=k[i+8>>2];k[j+12>>2]=k[i+12>>2];y=i+16|0;k[j+16>>2]=k[y>>2];e=i+20|0;k[j+20>>2]=k[e>>2];k[y>>2]=0;k[e>>2]=0;j=j+24|0;if((j-(k[c>>2]|0)|0)==4080){j=c+4|0;c=j;j=k[j>>2]|0}i=i+24|0;if((i-(k[l>>2]|0)|0)==4080){i=l+4|0;l=i;i=k[i>>2]|0}k[z>>2]=(k[z>>2]|0)+1}while((i|0)!=(s|0))}if(m>>>0>>0){do if((v|0)==(F|0)){j=g;i=f}else{i=((f-(k[u>>2]|0)|0)/24|0)-q|0;if((i|0)>0){z=u+(((i|0)/170|0)<<2)|0;j=z;i=(k[z>>2]|0)+(((i|0)%170|0)*24|0)|0;break}else{i=169-i|0;z=u+(((i|0)/-170|0)<<2)|0;j=z;i=(k[z>>2]|0)+((169-((i|0)%170|0)|0)*24|0)|0;break}}while(0);if((h|0)!=(i|0)){c=k[o>>2]|0;l=((h-c|0)/24|0)+((b-j>>2)*170|0)+((i-(k[j>>2]|0)|0)/-24|0)|0;if((l|0)>0){i=c;j=o;while(1){if((h|0)==(i|0)){j=j+-4|0;i=k[j>>2]|0;h=i+4080|0}c=h+-24|0;z=(h-i|0)/24|0;e=(z|0)>(l|0);z=e?l:z;y=C;k[y>>2]=g;k[y+4>>2]=f;k[B>>2]=k[C>>2];k[B+4>>2]=k[C+4>>2];Fm(A,e?h+((0-l|0)*24|0)|0:i,h,B,0);f=A;g=k[f>>2]|0;f=k[f+4>>2]|0;l=l-z|0;h=z+-1|0;do if(!h)h=c;else{h=((c-(k[j>>2]|0)|0)/24|0)-h|0;if((h|0)>0){z=j+(((h|0)/170|0)<<2)|0;j=z;h=(k[z>>2]|0)+(((h|0)%170|0)*24|0)|0;break}else{h=169-h|0;z=j+(((h|0)/-170|0)<<2)|0;j=z;h=(k[z>>2]|0)+((169-((h|0)%170|0)|0)*24|0)|0;break}}while(0);if((l|0)<=0)break;i=k[j>>2]|0}}}}i=d;h=k[i>>2]|0;i=k[i+4>>2]|0;j=n;if((j|0)!=(i|0)){i=((n-(k[t>>2]|0)|0)/24|0)+((t-h>>2)*170|0)+((i-(k[h>>2]|0)|0)/-24|0)|0;if((i|0)>0){h=t;l=g;while(1){g=k[h>>2]|0;if((j|0)==(g|0)){h=h+-4|0;g=k[h>>2]|0;j=g+4080|0}c=j+-24|0;z=(j-g|0)/24|0;d=(z|0)>(i|0);z=d?i:z;e=C;k[e>>2]=l;k[e+4>>2]=f;k[B>>2]=k[C>>2];k[B+4>>2]=k[C+4>>2];Vm(A,d?j+((0-i|0)*24|0)|0:g,j,B,0);g=A;l=k[g>>2]|0;f=k[g+4>>2]|0;i=i-z|0;g=z+-1|0;do if(!g)g=c;else{g=((c-(k[h>>2]|0)|0)/24|0)-g|0;if((g|0)>0){z=h+(((g|0)/170|0)<<2)|0;h=z;g=(k[z>>2]|0)+(((g|0)%170|0)*24|0)|0;break}else{g=169-g|0;z=h+(((g|0)/-170|0)<<2)|0;h=z;g=(k[z>>2]|0)+((169-((g|0)%170|0)|0)*24|0)|0;break}}while(0);if((i|0)<=0)break;else j=g}}}}}D=k[D>>2]|0;f=k[E>>2]|0;h=D+(((f>>>0)/170|0)<<2)|0;if((k[G>>2]|0)==(D|0)){g=0;f=0}else{g=0;f=(k[h>>2]|0)+(((f>>>0)%170|0)*24|0)|0}G=a;k[G>>2]=g|h;k[G+4>>2]=f;if(!F){r=H;return}g=a+4|0;f=((f-(k[h>>2]|0)|0)/24|0)+F|0;if((f|0)>0){G=h+(((f|0)/170|0)<<2)|0;k[a>>2]=G;k[g>>2]=(k[G>>2]|0)+(((f|0)%170|0)*24|0);r=H;return}else{G=169-f|0;F=h+(((G|0)/-170|0)<<2)|0;k[a>>2]=F;k[g>>2]=(k[F>>2]|0)+((169-((G|0)%170|0)|0)*24|0);r=H;return}}function Dd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,j=0.0,l=0,m=0,n=0.0,o=0.0,q=0.0,s=0.0,t=0.0,u=0,v=0,w=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;U=0;Y=r;r=r+368|0;W=Y+328|0;b=Y+312|0;l=Y+300|0;m=Y+288|0;u=Y+276|0;v=Y+264|0;w=Y+252|0;z=Y+240|0;A=Y+228|0;D=Y+216|0;O=Y+176|0;V=Y+160|0;T=Y+148|0;S=Y+136|0;R=Y+124|0;Q=Y+112|0;M=Y+100|0;N=Y+88|0;P=Y+76|0;F=Y+64|0;K=Y+24|0;L=Y+12|0;C=Y;lE(b,36999,6);x=0;H=W;I=e;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));X=wa(24,b|0,a|0,d|0,W|0,f|0)|0;J=x;x=0;if(J&1){Y=mb()|0;P1(b);yb(Y|0)}P1(b);lE(l,36974,4);x=0;b=Ka(867,a|0,l|0)|0;J=x;x=0;if(J&1){Y=mb()|0;P1(l);yb(Y|0)}b=k[b>>2]|0;if(!b)y=0;else y=Ot(b,8,392,0)|0;P1(l);lE(m,36979,6);x=0;b=Ka(867,a|0,m|0)|0;J=x;x=0;if(J&1){Y=mb()|0;P1(m);yb(Y|0)}b=k[b>>2]|0;if(!b)l=0;else l=Ot(b,8,392,0)|0;P1(m);lE(u,36986,5);x=0;b=Ka(867,a|0,u|0)|0;J=x;x=0;if(J&1){Y=mb()|0;P1(u);yb(Y|0)}b=k[b>>2]|0;if(!b)E=0;else E=Ot(b,8,392,0)|0;P1(u);lE(v,37038,4);x=0;b=Ka(867,a|0,v|0)|0;J=x;x=0;if(J&1){Y=mb()|0;P1(v);yb(Y|0)}b=k[b>>2]|0;if(!b)G=0;else G=Ot(b,8,392,0)|0;P1(v);lE(w,37043,11);x=0;b=Ka(867,a|0,w|0)|0;J=x;x=0;if(J&1){Y=mb()|0;P1(w);yb(Y|0)}b=k[b>>2]|0;if(!b)u=0;else u=Ot(b,8,392,0)|0;P1(w);lE(z,37055,10);x=0;b=Ka(867,a|0,z|0)|0;J=x;x=0;if(J&1){Y=mb()|0;P1(z);yb(Y|0)}b=k[b>>2]|0;if(!b)B=0;else B=Ot(b,8,392,0)|0;P1(z);lE(A,36992,6);x=0;b=Ka(867,a|0,A|0)|0;J=x;x=0;if(J&1){Y=mb()|0;P1(A);yb(Y|0)}b=k[b>>2]|0;if(!b)z=0;else z=Ot(b,8,392,0)|0;P1(A);m=(y|0)!=0;w=(l|0)!=0;l=m|w|(E|0)!=0;v=(G|0)!=0;u=(u|0)!=0;b=v|u|(B|0)!=0;do if(l&b){lE(D,37322,57);x=0;H=W;I=e;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));sa(438,D|0,W|0);J=x;x=0;if(!(J&1)){P1(D);break}Y=mb()|0;P1(D);yb(Y|0)}while(0);if(!l){if(!b){if(!z){lE(C,37380,39);x=0;H=W;I=e;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));sa(438,C|0,W|0);e=x;x=0;if(e&1){Y=mb()|0;P1(C);yb(Y|0)}else{P1(C);e=X;r=Y;return e|0}}lE(F,36992,6);x=0;H=W;I=e;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));b=La(1,F|0,a|0,d|0,W|0,0.0,1.0,f|0)|0;W=x;x=0;if(W&1){Y=mb()|0;P1(F);yb(Y|0)}n=+p[b+56>>3];P1(F);l=c+36|0;m=lD(l,104)|0;H=K;I=e;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));h=+p[X+56>>3];j=+p[X+64>>3];g=+p[X+72>>3];lE(L,78097,0);k[m+4>>2]=0;H=m+8|0;I=K;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));i[m+48>>0]=0;i[m+49>>0]=0;i[m+50>>0]=0;b=m+52|0;k[b>>2]=0;k[m>>2]=5580;p[m+56>>3]=h;p[m+64>>3]=j;p[m+72>>3]=g;p[m+80>>3]=n;x=0;sa(430,m+88|0,L|0);e=x;x=0;do if(!(e&1)){k[m+100>>2]=0;k[b>>2]=3;x=0;b=Ka(857,l|0,m|0)|0;e=x;x=0;if(e&1)break;P1(L);e=b;r=Y;return e|0}while(0);Y=mb()|0;P1(L);yb(Y|0)}j=+p[X+56>>3]/255.0;n=+p[X+64>>3]/255.0;o=+p[X+72>>3]/255.0;b=n>3]|0)%360|0)+360|0)%360|0|0)/360.0;else n=j/6.0*360.0;do if(u){lE(M,37043,11);x=0;H=W;I=e;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));b=La(1,M|0,a|0,d|0,W|0,0.0,100.0,f|0)|0;V=x;x=0;if(!(V&1)){j=+p[b+56>>3];P1(M);break}Y=mb()|0;P1(M);yb(Y|0)}else j=g;while(0);do if(B){lE(N,37055,10);x=0;H=W;I=e;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));b=La(1,N|0,a|0,d|0,W|0,0.0,100.0,f|0)|0;V=x;x=0;if(!(V&1)){h=+p[b+56>>3];P1(N);break}Y=mb()|0;P1(N);yb(Y|0)}while(0);do if(!z)g=+p[X+80>>3];else{lE(P,36992,6);x=0;H=W;I=e;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));b=La(1,P|0,a|0,d|0,W|0,0.0,1.0,f|0)|0;X=x;x=0;if(!(X&1)){g=+p[b+56>>3];P1(P);break}Y=mb()|0;P1(P);yb(Y|0)}while(0);H=W;I=e;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));e=lm(n,j,h,g,c,W)|0;r=Y;return e|0}v=c+36|0;u=lD(v,104)|0;H=O;I=e;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));do if(m){lE(V,36974,4);x=0;H=W;I=e;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));b=La(1,V|0,a|0,d|0,W|0,0.0,255.0,f|0)|0;c=x;x=0;if(c&1){b=mb()|0;break}else{y=1;b=b+56|0;U=41;break}}else{y=0;b=X+56|0;U=41}while(0);a:do if((U|0)==41){n=+p[b>>3];do if(w){x=0;Qa(74,T|0,36979,6);c=x;x=0;if(c&1){b=mb()|0;if(y)break a;yb(b|0)}x=0;H=W;I=e;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));b=La(1,T|0,a|0,d|0,W|0,0.0,255.0,f|0)|0;c=x;x=0;if(c&1){b=mb()|0;break}else{w=1;b=b+56|0;U=47;break}}else{w=0;b=X+64|0;U=47}while(0);b:do if((U|0)==47){j=+p[b>>3];do if(!E){m=0;b=X+72|0;U=53}else{x=0;Qa(74,S|0,36986,5);c=x;x=0;if(c&1){b=mb()|0;if(w)break b;else break}x=0;H=W;I=e;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));b=La(1,S|0,a|0,d|0,W|0,0.0,255.0,f|0)|0;U=x;x=0;if(U&1){b=mb()|0;U=77;break}else{m=1;b=b+56|0;U=53;break}}while(0);c:do if((U|0)==53){h=+p[b>>3];do if(!z){l=0;b=X+80|0;U=59}else{x=0;Qa(74,R|0,36992,6);X=x;x=0;if(X&1){b=mb()|0;if(m){U=77;break c}else break}x=0;H=W;I=e;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));b=La(1,R|0,a|0,d|0,W|0,0.0,255.0,f|0)|0;e=x;x=0;if(e&1){b=mb()|0;U=75;break}else{l=1;b=b+56|0;U=59;break}}while(0);do if((U|0)==59){g=+p[b>>3];x=0;Qa(74,Q|0,78097,0);e=x;x=0;if(e&1){b=mb()|0;if(l){U=75;break}}else{k[u+4>>2]=0;H=u+8|0;I=O;J=H+40|0;do{k[H>>2]=k[I>>2];H=H+4|0;I=I+4|0}while((H|0)<(J|0));i[u+48>>0]=0;i[u+49>>0]=0;i[u+50>>0]=0;b=u+52|0;k[b>>2]=0;k[u>>2]=5580;p[u+56>>3]=n;p[u+64>>3]=j;p[u+72>>3]=h;p[u+80>>3]=g;x=0;sa(430,u+88|0,Q|0);e=x;x=0;do if(!(e&1)){k[u+100>>2]=0;k[b>>2]=3;x=0;b=Ka(857,v|0,u|0)|0;e=x;x=0;if(e&1)break;P1(Q);if(l)P1(R);if(m)P1(S);if(w)P1(T);if(!y){e=b;r=Y;return e|0}P1(V);e=b;r=Y;return e|0}while(0);b=mb()|0;P1(Q);if(l){U=75;break}}if(m){U=77;break c}}while(0);if((U|0)==75){P1(R);if(m){U=77;break}}if(w)break b}while(0);if((U|0)==77){P1(S);if(w)break}if(y)break a;yb(b|0)}while(0);P1(T);if(y)break;yb(b|0)}while(0);P1(V);Y=b;yb(Y|0);return 0}function Ed(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0.0,t=0,u=0,v=0,w=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;M=0;O=r;r=r+304|0;N=O;b=O+280|0;g=O+268|0;h=O+256|0;m=O+244|0;o=O+232|0;t=O+220|0;w=O+208|0;C=O+196|0;D=O+184|0;y=O+152|0;l=O+172|0;n=O+160|0;q=O+136|0;u=O+124|0;E=O+112|0;F=O+100|0;G=O+88|0;H=O+76|0;I=O+64|0;J=O+52|0;K=O+40|0;lE(b,37986,2);x=0;z=N;A=e;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));v=wa(23,b|0,a|0,d|0,N|0,f|0)|0;L=x;x=0;if(L&1){O=mb()|0;P1(b);yb(O|0)}P1(b);lE(g,37980,5);x=0;b=Ka(867,a|0,g|0)|0;L=x;x=0;if(L&1){O=mb()|0;P1(g);yb(O|0)}b=k[b>>2]|0;if(!b)L=0;else L=Ot(b,8,496,0)|0;P1(g);lE(h,37980,5);x=0;b=Ka(867,a|0,h|0)|0;B=x;x=0;if(B&1){O=mb()|0;P1(h);yb(O|0)}b=k[b>>2]|0;if(!b)P1(h);else{j=Ot(b,8,160,0)|0;P1(h);if(j|0){if(!L){L=k[j+76>>2]|0;K=k[j+72>>2]|0;b=L-K>>2;if((K|0)==(L|0))M=15}else{K=k[L+84>>2]|0;L=k[L+80>>2]|0;b=K-L>>2;if((L|0)==(K|0))M=15}a:do if((M|0)==15){lE(t,d,OD(d)|0);x=0;g=xa(50,t|0,0,37989)|0;L=x;x=0;if(L&1)b=mb()|0;else{k[o>>2]=k[g>>2];k[o+4>>2]=k[g+4>>2];k[o+8>>2]=k[g+8>>2];k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;x=0;g=Ka(866,o|0,38011)|0;L=x;x=0;do if(L&1)b=mb()|0;else{k[m>>2]=k[g>>2];k[m+4>>2]=k[g+4>>2];k[m+8>>2]=k[g+8>>2];k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;x=0;z=N;A=e;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));sa(438,m|0,N|0);L=x;x=0;if(L&1){b=mb()|0;P1(m);break}else{P1(m);P1(o);P1(t);break a}}while(0);P1(o)}P1(t);O=b;yb(O|0)}while(0);s=+p[v+56>>3];s=+W(+(s+(s<0.0?+(b>>>0):-1.0)));if(s<0.0)M=26;else if(s>+((b+-1|0)>>>0))M=26;b:do if((M|0)==26){lE(D,d,OD(d)|0);x=0;b=xa(50,D|0,0,38031)|0;d=x;x=0;if(d&1)b=mb()|0;else{k[C>>2]=k[b>>2];k[C+4>>2]=k[b+4>>2];k[C+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,C|0,38057)|0;d=x;x=0;do if(d&1)b=mb()|0;else{k[w>>2]=k[b>>2];k[w+4>>2]=k[b+4>>2];k[w+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;z=N;A=e;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));sa(438,w|0,N|0);N=x;x=0;if(N&1){b=mb()|0;P1(w);break}else{P1(w);P1(C);P1(D);break b}}while(0);P1(C)}P1(D);O=b;yb(O|0)}while(0);Z2(y,c+36|0);b=k[(k[j+72>>2]|0)+(~~s<<2)>>2]|0;x=0;b=Ka(k[(k[b>>2]|0)+40>>2]|0,b|0,y|0)|0;N=x;x=0;if(N&1){O=mb()|0;yb(O|0)}else{N=b;r=O;return N|0}}}lE(l,37980,5);x=0;b=Ka(867,a|0,l|0)|0;D=x;x=0;if(D&1){O=mb()|0;P1(l);yb(O|0)}b=k[b>>2]|0;if(!b)m=0;else m=Ot(b,8,256,0)|0;P1(l);o=v+56|0;c:do if(+p[o>>3]==0.0){lE(u,d,OD(d)|0);x=0;b=xa(50,u|0,0,38059)|0;D=x;x=0;if(D&1)b=mb()|0;else{k[q>>2]=k[b>>2];k[q+4>>2]=k[b+4>>2];k[q+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,q|0,38078)|0;D=x;x=0;do if(D&1)b=mb()|0;else{k[n>>2]=k[b>>2];k[n+4>>2]=k[b+4>>2];k[n+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;z=N;A=e;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));sa(438,n|0,N|0);D=x;x=0;if(D&1){b=mb()|0;P1(n);break}else{P1(n);P1(q);P1(u);break c}}while(0);P1(q)}P1(u);O=b;yb(O|0)}while(0);n=(L|0)!=0;d:do if(!(n|(m|0)!=0)){b=c+36|0;g=lD(b,84)|0;z=N;A=e;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));k[g+4>>2]=0;z=g+8|0;A=N;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;m=g+52|0;k[m>>2]=0;k[g>>2]=10312;z=g+56|0;k[z>>2]=5132;y=g+60|0;k[y>>2]=0;D=g+64|0;k[D>>2]=0;A=g+68|0;k[A>>2]=0;B=GG(4)|0;C=B;k[y>>2]=C;k[D>>2]=C;k[A>>2]=B+4;k[g>>2]=4992;k[z>>2]=5104;k[g+76>>2]=1;i[g+80>>0]=0;i[g+81>>0]=0;k[m>>2]=5;m=N4(b,g)|0;lE(E,37980,5);x=0;z=N;A=e;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));b=wa(27,E|0,a|0,d|0,N|0,f|0)|0;a=x;x=0;do if(!(a&1)){g=m+56|0;k[N>>2]=b;h=b;if(b|0){k[m+72>>2]=0;j=m+64|0;l=k[j>>2]|0;if((l|0)==(k[m+68>>2]|0)){x=0;sa(455,m+60|0,N|0);a=x;x=0;if(a&1)break}else{k[l>>2]=h;k[j>>2]=(k[j>>2]|0)+4}x=0;sa(k[k[g>>2]>>2]|0,g|0,b|0);a=x;x=0;if(a&1)break}P1(E);break d}while(0);O=mb()|0;P1(E);yb(O|0)}while(0);if(n){E=k[L+84>>2]|0;a=k[L+80>>2]|0;b=E-a>>2;if((a|0)==(E|0))M=64}else{E=k[m+64>>2]|0;a=k[m+60>>2]|0;b=E-a>>2;if((a|0)==(E|0))M=64}e:do if((M|0)==64){lE(H,d,OD(d)|0);x=0;g=xa(50,H|0,0,37989)|0;E=x;x=0;if(E&1)b=mb()|0;else{k[G>>2]=k[g>>2];k[G+4>>2]=k[g+4>>2];k[G+8>>2]=k[g+8>>2];k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;x=0;g=Ka(866,G|0,38011)|0;E=x;x=0;do if(E&1)b=mb()|0;else{k[F>>2]=k[g>>2];k[F+4>>2]=k[g+4>>2];k[F+8>>2]=k[g+8>>2];k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;x=0;z=N;A=e;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));sa(438,F|0,N|0);E=x;x=0;if(E&1){b=mb()|0;P1(F);break}else{P1(F);P1(G);P1(H);break e}}while(0);P1(G)}P1(H);O=b;yb(O|0)}while(0);s=+p[o>>3];s=+W(+(s+(s<0.0?+(b>>>0):-1.0)));if(s<0.0)M=75;else if(s>+((b+-1|0)>>>0))M=75;f:do if((M|0)==75){lE(K,d,OD(d)|0);x=0;b=xa(50,K|0,0,38031)|0;d=x;x=0;if(d&1)b=mb()|0;else{k[J>>2]=k[b>>2];k[J+4>>2]=k[b+4>>2];k[J+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;b=Ka(866,J|0,38057)|0;d=x;x=0;do if(d&1)b=mb()|0;else{k[I>>2]=k[b>>2];k[I+4>>2]=k[b+4>>2];k[I+8>>2]=k[b+8>>2];k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;z=N;A=e;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));sa(438,I|0,N|0);d=x;x=0;if(d&1){b=mb()|0;P1(I);break}else{P1(I);P1(J);P1(K);break f}}while(0);P1(J)}P1(K);O=b;yb(O|0)}while(0);if(!n){N=GH(m,~~s)|0;r=O;return N|0}b=c+36|0;g=lD(b,84)|0;z=N;A=e;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));k[g+4>>2]=0;z=g+8|0;A=N;B=z+40|0;do{k[z>>2]=k[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));i[g+48>>0]=0;i[g+49>>0]=0;i[g+50>>0]=0;o=g+52|0;k[o>>2]=0;k[g>>2]=10312;q=g+56|0;k[q>>2]=5132;c=g+60|0;k[c>>2]=0;h=g+64|0;k[h>>2]=0;n=g+68|0;k[n>>2]=0;m=GG(4)|0;e=m;k[c>>2]=e;k[h>>2]=e;k[n>>2]=m+4;k[g>>2]=4992;k[q>>2]=5104;k[g+76>>2]=1;i[g+80>>0]=0;i[g+81>>0]=0;k[o>>2]=5;o=N4(b,g)|0;q=o+56|0;n=L+56|0;m=~~s>>>0;b=L+80|0;g=k[(k[b>>2]|0)+(m<<2)>>2]|0;k[N>>2]=g;h=g;if(!g)b=0;else{k[o+72>>2]=0;j=o+64|0;l=k[j>>2]|0;if((l|0)==(k[o+68>>2]|0))uw(o+60|0,N);else{k[l>>2]=h;k[j>>2]=(k[j>>2]|0)+4}rc[k[k[q>>2]>>2]&1023](q,g);b=k[(k[b>>2]|0)+(m<<2)>>2]|0}b=vv(n,b)|0;k[N>>2]=b;g=b;if(b|0){k[o+72>>2]=0;h=o+64|0;j=k[h>>2]|0;if((j|0)==(k[o+68>>2]|0))uw(o+60|0,N);else{k[j>>2]=g;k[h>>2]=(k[h>>2]|0)+4}rc[k[k[q>>2]>>2]&1023](q,b)}N=o;r=O;return N|0}function Fd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,$=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;ma=r;r=r+464|0;la=ma;Z=ma+404|0;h=ma+416|0;j=ma+392|0;_=ma+352|0;$=ma+340|0;ga=ma+328|0;fa=ma+316|0;aa=ma+304|0;ba=ma+136|0;ca=ma+120|0;da=ma+108|0;ea=ma+96|0;ia=ma+56|0;ja=ma+40|0;ns(a,1,0)|0;c=k[a+156>>2]|0;ka=k[a+160>>2]|0;a:do if(c>>>0>>0){g=c;d=0;b:while(1){b=i[g>>0]|0;if(!(b<<24>>24)){ha=12;break a}c:do if(d){b=g;d=0}else if(b<<24>>24==92){b=g;d=1}else{b=tx(g)|0;if(!b){b=i[38919]|0;if(!(b<<24>>24))if(!g){b=0;d=0;break}else{ha=10;break b}else{d=g;e=b;f=38919}while(1){if((i[d>>0]|0)!=e<<24>>24){b=g;d=0;break c}f=f+1|0;e=i[f>>0]|0;if(!(e<<24>>24)){e=g;ha=13;break b}else d=d+1|0}}else d=0}while(0);g=b+1|0;if(g>>>0>=ka>>>0){ha=12;break a}}if((ha|0)==10){f=a+40|0;T=f;e=b;f=(k[f>>2]|0)+36|0}else if((ha|0)==13){d=a+40|0;f=(k[d>>2]|0)+36|0;if(!e)break;else{T=d;e=b}}b=lD(f,84)|0;S=a+108|0;n=la;o=S;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));k[b+4>>2]=0;n=b+8|0;o=la;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[b+48>>0]=0;i[b+49>>0]=0;i[b+50>>0]=0;i[b+56>>0]=0;k[b+64>>2]=0;k[b+68>>2]=0;k[b+72>>2]=0;k[b>>2]=5788;k[b+60>>2]=5904;k[b+80>>2]=0;k[b+52>>2]=4;b=N4(f,b)|0;V=b+60|0;J=$+8|0;K=$+4|0;U=V+16|0;W=V+8|0;X=V+12|0;Y=V+4|0;L=$+1|0;M=a+80|0;O=ka;u=O-c|0;v=u>>>0>4294967279;w=u+16&-16;y=ea+8|0;z=w|1;A=ea+4|0;B=(c|0)==(ka|0);C=u>>>0<11;D=u<<1&255;E=ea+1|0;F=a+76|0;G=ca+4|0;H=ca+8|0;I=a+72|0;N=ba+56|0;P=ba+44|0;R=ba+48|0;Q=ba+60|0;d=c;d:while(1){t=d;h=d;s=e;f=0;e:while(1){q=s<<24>>24==0;g=i[h>>0]|0;if(!(g<<24>>24)){c=t;ha=108;break d}else e=h;f:while(1){if(f){f=s;g=0;break}if(g<<24>>24==92){f=s;g=1;break}f=tx(e)|0;if(f|0){e=f;f=s;g=0;break}if(q){if(!e){e=0;f=0;g=0;break}}else{f=e;g=s;h=38919;while(1){if((i[f>>0]|0)!=g<<24>>24){f=s;g=0;break f}h=h+1|0;g=i[h>>0]|0;if(!(g<<24>>24))break;else f=f+1|0}if(!e){c=t;ha=108;break d}}if(d>>>0>>0){l=(k[T>>2]|0)+36|0;m=lD(l,76)|0;n=_;o=S;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));h=e-t|0;if(h>>>0>4294967279){dH($);ha=43}else if(h>>>0<11){i[$>>0]=h<<1;f=L}else ha=43;if((ha|0)==43){ha=0;p=h+16&-16;f=GG(p)|0;k[J>>2]=f;k[$>>2]=p|1;k[K>>2]=h}if((d|0)!=(e|0)){g=d;j=f;while(1){i[j>>0]=i[g>>0]|0;g=g+1|0;if((g|0)==(e|0))break;else j=j+1|0}f=f+h|0}i[f>>0]=0;k[m+4>>2]=0;n=m+8|0;o=_;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[m+48>>0]=0;i[m+49>>0]=0;i[m+50>>0]=0;i[m+56>>0]=0;k[m+52>>2]=4;k[m>>2]=5932;i[m+57>>0]=0;i[m+58>>0]=0;x=0;sa(477,m+60|0,$|0);p=x;x=0;if(p&1){ha=55;break d}k[m+72>>2]=0;x=0;f=Ka(857,l|0,m|0)|0;p=x;x=0;if(p&1){ha=55;break d}k[Z>>2]=f;g=f;if(f|0){k[U>>2]=0;h=k[W>>2]|0;if((h|0)==(k[X>>2]|0)){x=0;sa(455,Y|0,Z|0);p=x;x=0;if(p&1){ha=55;break d}}else{k[h>>2]=g;k[W>>2]=(k[W>>2]|0)+4}x=0;sa(k[k[V>>2]>>2]|0,V|0,f|0);p=x;x=0;if(p&1){ha=55;break d}}P1($)}e=e+2|0;f=bO(e)|0;f=XH(f|0?f:e)|0;if(f|0){g=i[43519]|0;g:do if(!(g<<24>>24))g=0;else{h=43519;while(1){if((i[f>>0]|0)!=g<<24>>24)break g;f=f+1|0;h=h+1|0;g=i[h>>0]|0;if(!(g<<24>>24)){g=0;break}}}while(0);p=g<<24>>24==0?f:0;if(!((p|0)==0?1:p>>>0>(k[M>>2]|0)>>>0)){k[F>>2]=e;lE(ga,39906,11);x=0;Qa(74,fa|0,39918,7);p=x;x=0;if(p&1){ha=65;break d}x=0;Qa(74,aa|0,40150,44);p=x;x=0;if(p&1){ha=66;break d}x=0;Ua(31,a|0,ga|0,fa|0,aa|0);p=x;x=0;if(p&1){ha=67;break d}P1(aa);P1(fa);P1(ga)}}f=uj(e,ka)|0;if(f|0){d=f;j=s;break e}if(v){dH(ea);ha=98}else if(C){i[ea>>0]=D;e=E}else ha=98;if((ha|0)==98){ha=0;e=GG(w)|0;k[y>>2]=e;k[ea>>2]=z;k[A>>2]=u}if(!B){f=c;g=e;while(1){i[g>>0]=i[f>>0]|0;f=f+1|0;if((f|0)==(ka|0))break;else g=g+1|0}e=e+u|0}i[e>>0]=0;x=0;e=xa(50,ea|0,0,40231)|0;p=x;x=0;if(p&1){ha=105;break d}k[da>>2]=k[e>>2];k[da+4>>2]=k[e+4>>2];k[da+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;x=0;k[la>>2]=k[S>>2];k[la+4>>2]=k[S+4>>2];k[la+8>>2]=k[S+8>>2];Qa(135,a|0,da|0,la|0);p=x;x=0;if(p&1){ha=106;break d}P1(da);P1(ea);g=i[d>>0]|0;if(!(g<<24>>24)){c=t;ha=108;break d}else{e=d;f=0}}h=e+1|0;if(h>>>0>=ka>>>0){c=t;ha=108;break d}else{s=f;f=g}}k[ca>>2]=e;k[G>>2]=e;k[H>>2]=d;e=k[T>>2]|0;f=k[I>>2]|0;k[Z>>2]=k[ca>>2];k[Z+4>>2]=k[ca+4>>2];k[Z+8>>2]=k[ca+8>>2];n=la;o=S;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));Xj(ba,Z,e,la,f);x=0;h=ua(234,ba|0)|0;t=x;x=0;if(t&1){ha=86;break}e=k[N>>2]|0;f=e;if(e|0){g=k[Q>>2]|0;if((g|0)!=(e|0))k[Q>>2]=g+(~((g+-4-f|0)>>>2)<<2);uha(e)}e=k[P>>2]|0;f=e;if(e|0){g=k[R>>2]|0;if((g|0)!=(e|0))k[R>>2]=g+(~((g+-4-f|0)>>>2)<<2);uha(e)}i[h+50>>0]=1;k[la>>2]=h;e=h;if(h|0){k[U>>2]=0;f=k[W>>2]|0;if((f|0)==(k[X>>2]|0))uw(Y,la);else{k[f>>2]=e;k[W>>2]=(k[W>>2]|0)+4}rc[k[k[V>>2]>>2]&1023](V,h)}if(d>>>0>>0)e=j;else{ha=125;break}}if((ha|0)==55){ma=mb()|0;P1($);yb(ma|0)}else if((ha|0)==65)b=mb()|0;else if((ha|0)==66){b=mb()|0;ha=68}else if((ha|0)==67){b=mb()|0;P1(aa);ha=68}else if((ha|0)==86){e=mb()|0;b=k[N>>2]|0;c=b;if(b|0){d=k[Q>>2]|0;if((d|0)!=(b|0))k[Q>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(b)}b=k[P>>2]|0;if(!b){ma=e;yb(ma|0)}c=k[R>>2]|0;if((c|0)!=(b|0))k[R>>2]=c+(~((c+-4-b|0)>>>2)<<2);uha(b);ma=e;yb(ma|0)}else if((ha|0)==105){b=mb()|0;ha=107}else if((ha|0)==106){b=mb()|0;P1(da);ha=107}else if((ha|0)==108){g=(k[T>>2]|0)+36|0;h=lD(g,76)|0;n=ia;o=S;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));f=O-c|0;if(f>>>0>4294967279){dH(ja);ha=112}else if(f>>>0<11){i[ja>>0]=f<<1;c=ja+1|0}else ha=112;if((ha|0)==112){ha=f+16&-16;c=GG(ha)|0;k[ja+8>>2]=c;k[ja>>2]=ha|1;k[ja+4>>2]=f}if((d|0)!=(ka|0)){e=c;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(ka|0))break;else e=e+1|0}c=c+f|0}i[c>>0]=0;k[h+4>>2]=0;n=h+8|0;o=ia;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;i[h+56>>0]=0;k[h+52>>2]=4;k[h>>2]=5932;i[h+57>>0]=0;i[h+58>>0]=0;x=0;sa(477,h+60|0,ja|0);ka=x;x=0;do if(!(ka&1)){k[h+72>>2]=0;x=0;d=Ka(857,g|0,h|0)|0;ka=x;x=0;if(!(ka&1)){k[la>>2]=d;e=d;if(d|0){k[U>>2]=0;c=k[W>>2]|0;if((c|0)==(k[X>>2]|0)){x=0;sa(455,Y|0,la|0);la=x;x=0;if(la&1)break}else{k[c>>2]=e;k[W>>2]=(k[W>>2]|0)+4}x=0;sa(k[k[V>>2]>>2]|0,V|0,d|0);la=x;x=0;if(la&1)break}P1(ja);la=b;r=ma;return la|0}}while(0);ma=mb()|0;P1(ja);yb(ma|0)}else if((ha|0)==125){r=ma;return b|0}if((ha|0)==68)P1(fa);else if((ha|0)==107){P1(ea);ma=b;yb(ma|0)}P1(ga);ma=b;yb(ma|0)}else ha=12;while(0);if((ha|0)==12)f=(k[a+40>>2]|0)+36|0;g=lD(f,76)|0;n=h;o=a+108|0;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));e=ka-c|0;if(e>>>0>4294967279){dH(j);ha=18}else if(e>>>0<11){i[j>>0]=e<<1;b=j+1|0}else ha=18;if((ha|0)==18){ja=e+16&-16;b=GG(ja)|0;k[j+8>>2]=b;k[j>>2]=ja|1;k[j+4>>2]=e}if((c|0)!=(ka|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(ka|0))break;else d=d+1|0}b=b+e|0}i[b>>0]=0;x=0;n=la;o=h;p=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));qa(5,g|0,la|0,j|0,0,0);la=x;x=0;if(!(la&1)){x=0;b=Ka(857,f|0,g|0)|0;la=x;x=0;if(!(la&1)){P1(j);la=b;r=ma;return la|0}}ma=mb()|0;P1(j);yb(ma|0);return 0}function Gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;P=0;M=r;r=r+480|0;H=M;Q=M+432|0;d=M+468|0;e=M+456|0;g=M+444|0;f=M+392|0;h=M+292|0;j=M+280|0;m=M+268|0;n=M+256|0;l=M+216|0;y=M+336|0;t=M+176|0;u=M+160|0;v=M+148|0;z=M+136|0;w=M+132|0;O=M+304|0;A=M+128|0;F=M+88|0;G=M+76|0;J=M+64|0;N=M+52|0;K=M+40|0;B=a+24|0;L=a+28|0;c=k[L>>2]|0;if((c|0)==(k[B>>2]|0))E=0;else E=k[c+-4>>2]|0;I=b+68|0;_G(d,I);x=0;c=Ka(866,d|0,38289)|0;D=x;x=0;if(D&1){Q=mb()|0;P1(d);yb(Q|0)}k[Q>>2]=k[c>>2];k[Q+4>>2]=k[c+4>>2];k[Q+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;P1(d);x=0;c=Ka(881,E|0,Q|0)|0;D=x;x=0;a:do if(D&1)P=13;else{b:do if(!c){x=0;sa(430,g|0,I|0);D=x;x=0;if(D&1){P=13;break a}x=0;c=xa(50,g|0,0,33467)|0;D=x;x=0;do if(D&1)c=mb()|0;else{k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];k[e+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;o=f;p=b+8|0;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));c=k[a+100>>2]|0;if((c|0)==(k[a+96>>2]|0))c=0;else c=k[c+-4>>2]|0;x=0;o=H;p=f;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));Qa(100,e|0,H|0,c|0);D=x;x=0;if(D&1){c=mb()|0;P1(e);break}else{P1(e);P1(g);break b}}while(0);P1(g);break a}while(0);x=0;c=Ka(867,E|0,Q|0)|0;D=x;x=0;if(D&1)P=13;else{f=k[c>>2]|0;C=k[f+64>>2]|0;D=k[f+80>>2]|0;s=b+64|0;c:do if(k[s>>2]|0){x=0;sa(430,h|0,I|0);q=x;x=0;if(q&1){P=13;break a}if(!(KH(h,44273)|0)){P1(h);break}x=0;c=ua(k[(k[C>>2]|0)+76>>2]|0,C|0)|0;q=x;x=0;if(q&1){c=mb()|0;P1(h);break a}P1(h);if(!c){x=0;sa(430,n|0,I|0);q=x;x=0;if(q&1){P=13;break a}x=0;c=xa(50,n|0,0,33483)|0;q=x;x=0;if(q&1)c=mb()|0;else{k[m>>2]=k[c>>2];k[m+4>>2]=k[c+4>>2];k[m+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=Ka(866,m|0,33491)|0;q=x;x=0;do if(q&1)c=mb()|0;else{k[j>>2]=k[c>>2];k[j+4>>2]=k[c+4>>2];k[j+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;o=l;p=b+8|0;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));c=k[a+100>>2]|0;if((c|0)==(k[a+96>>2]|0))c=0;else c=k[c+-4>>2]|0;x=0;o=H;p=l;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));Qa(100,j|0,H|0,c|0);q=x;x=0;if(q&1){c=mb()|0;P1(j);break}else{P1(j);P1(m);P1(n);break c}}while(0);P1(m)}P1(n);break a}}while(0);l=k[b+80>>2]|0;j=a+8|0;x=0;l=Ka(k[(k[l>>2]|0)+40>>2]|0,l|0,j|0)|0;q=x;x=0;if(q&1)P=13;else{e=a+96|0;m=a+100|0;c=k[m>>2]|0;if((c|0)==(k[e>>2]|0))d=0;else d=k[c+-4>>2]|0;g=b+8|0;o=t;p=g;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;sa(430,z|0,I|0);b=x;x=0;if(b&1)P=13;else{x=0;c=xa(50,z|0,0,33526)|0;b=x;x=0;if(b&1)c=mb()|0;else{k[v>>2]=k[c>>2];k[v+4>>2]=k[c+4>>2];k[v+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=Ka(866,v|0,38057)|0;b=x;x=0;do if(b&1)c=mb()|0;else{k[u>>2]=k[c>>2];k[u+4>>2]=k[c+4>>2];k[u+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[y>>2]=d;o=y+4|0;p=t;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));h=y+44|0;x=0;sa(430,h|0,u|0);t=x;x=0;if(t&1){c=mb()|0;P1(u);break}P1(u);P1(v);P1(z);k[w>>2]=y;c=k[m>>2]|0;if(c>>>0<(k[a+104>>2]|0)>>>0){k[c>>2]=y;k[m>>2]=(k[m>>2]|0)+4;P=47}else{x=0;sa(494,e|0,w|0);P=x;x=0;if(P&1)P=71;else P=47}if((P|0)==47){x=0;Qa(107,O|0,k[f+84>>2]|0,0);P=x;x=0;if(P&1)P=71;else{k[A>>2]=O;c=k[L>>2]|0;if(c>>>0<(k[a+32>>2]|0)>>>0){k[c>>2]=O;k[L>>2]=(k[L>>2]|0)+4;P=51}else{x=0;sa(488,B|0,A|0);P=x;x=0;if(P&1)P=72;else P=51}d:do if((P|0)==51){e:do if(k[s>>2]|0){c=a+4|0;e=(k[c>>2]|0)+36|0;x=0;f=Ka(856,e|0,112)|0;B=x;x=0;if(B&1){P=72;break d}o=F;p=g;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));x=0;Qa(74,G|0,44273,8);B=x;x=0;if(B&1){P=72;break d}c=(k[c>>2]|0)+36|0;x=0;d=Ka(856,c|0,72)|0;B=x;x=0;do if(!(B&1)){o=H;p=g;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));k[d+4>>2]=0;o=d+8|0;p=H;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));k[d+52>>2]=0;k[d+56>>2]=0;k[d+60>>2]=0;k[d>>2]=12688;k[d+48>>2]=12760;i[d+68>>0]=0;i[d+69>>0]=0;x=0;d=Ka(857,c|0,d|0)|0;B=x;x=0;if(B&1)break;c=k[s>>2]|0;k[f+4>>2]=0;o=f+8|0;p=F;q=o+40|0;do{k[o>>2]=k[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));k[f+52>>2]=0;k[f+56>>2]=0;i[f+60>>0]=0;k[f+64>>2]=c;k[f>>2]=8640;x=0;sa(430,f+68|0,G|0);F=x;x=0;if(F&1)break;k[f+80>>2]=d;g=f+84|0;k[f+108>>2]=0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+16>>2]=0;i[g+20>>0]=0;x=0;g=Ka(857,e|0,f|0)|0;F=x;x=0;if(F&1)break;P1(G);k[g+84>>2]=E;x=0;f=ua(188,O|0)|0;G=x;x=0;if(G&1){P=72;break d}x=0;Qa(74,J|0,33217,11);G=x;x=0;if(G&1){P=72;break d}e=bu(f,H,J)|0;c=k[e>>2]|0;if(!c){x=0;c=ua(186,32)|0;G=x;x=0;if(G&1){c=mb()|0;P1(J);break d}d=c+16|0;k[d>>2]=k[J>>2];k[d+4>>2]=k[J+4>>2];k[d+8>>2]=k[J+8>>2];k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[c+28>>2]=0;d=k[H>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=d;k[e>>2]=c;d=k[k[f>>2]>>2]|0;if(!d)d=c;else{k[f>>2]=d;d=k[e>>2]|0}hl(k[f+4>>2]|0,d);H=f+8|0;k[H>>2]=(k[H>>2]|0)+1}k[c+28>>2]=g;P1(J);break e}while(0);c=mb()|0;P1(G);break d}while(0);x=0;Qa(74,N|0,33854,5);J=x;x=0;if(J&1){P=72;break}x=0;sa(430,K|0,I|0);J=x;x=0;do if(J&1)c=mb()|0;else{x=0;Ha(1,N|0,K|0,D|0,l|0,k[a+4>>2]|0,O|0,j|0);J=x;x=0;if(J&1){c=mb()|0;P1(K);break}P1(K);P1(N);x=0;sa(502,a|0,C|0);P=x;x=0;if(P&1){P=72;break d}k[m>>2]=(k[m>>2]|0)+-4;k[L>>2]=(k[L>>2]|0)+-4;iB(O+20|0);az(O,k[O+4>>2]|0);P1(h);P1(Q);r=M;return 0}while(0);P1(N)}while(0);if((P|0)==72)c=mb()|0;iB(O+20|0);az(O,k[O+4>>2]|0)}}if((P|0)==71)c=mb()|0;P1(h);break a}while(0);P1(v)}P1(z)}}}}while(0);if((P|0)==13)c=mb()|0;P1(Q);Q=c;yb(Q|0);return 0}function Hd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,j=0.0,l=0.0,m=0,n=0,o=0.0,q=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,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;_=r;r=r+384|0;Y=_+336|0;b=_+320|0;m=_+308|0;n=_+296|0;z=_+284|0;A=_+272|0;C=_+260|0;E=_+248|0;F=_+236|0;I=_+224|0;K=_+212|0;M=_+200|0;O=_+188|0;S=_+176|0;W=_+136|0;X=_+124|0;J=_+112|0;N=_+100|0;P=_+88|0;T=_+76|0;L=_+64|0;U=_+24|0;V=_+12|0;H=_;lE(b,36999,6);x=0;D=Y;Q=e;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));Z=wa(24,b|0,a|0,d|0,Y|0,f|0)|0;R=x;x=0;if(R&1){_=mb()|0;P1(b);yb(_|0)}P1(b);lE(m,36974,4);x=0;b=Ka(867,a|0,m|0)|0;R=x;x=0;if(R&1){_=mb()|0;P1(m);yb(_|0)}b=k[b>>2]|0;if(!b)D=0;else D=Ot(b,8,392,0)|0;P1(m);lE(n,36979,6);x=0;b=Ka(867,a|0,n|0)|0;R=x;x=0;if(R&1){_=mb()|0;P1(n);yb(_|0)}b=k[b>>2]|0;if(!b)B=0;else B=Ot(b,8,392,0)|0;P1(n);lE(z,36986,5);x=0;b=Ka(867,a|0,z|0)|0;R=x;x=0;if(R&1){_=mb()|0;P1(z);yb(_|0)}b=k[b>>2]|0;if(!b)G=0;else G=Ot(b,8,392,0)|0;P1(z);lE(A,37038,4);x=0;b=Ka(867,a|0,A|0)|0;R=x;x=0;if(R&1){_=mb()|0;P1(A);yb(_|0)}b=k[b>>2]|0;if(!b)m=0;else m=Ot(b,8,392,0)|0;P1(A);lE(C,37043,11);x=0;b=Ka(867,a|0,C|0)|0;R=x;x=0;if(R&1){_=mb()|0;P1(C);yb(_|0)}b=k[b>>2]|0;if(!b)z=0;else z=Ot(b,8,392,0)|0;P1(C);lE(E,37055,10);x=0;b=Ka(867,a|0,E|0)|0;R=x;x=0;if(R&1){_=mb()|0;P1(E);yb(_|0)}b=k[b>>2]|0;if(!b)C=0;else C=Ot(b,8,392,0)|0;P1(E);lE(F,36992,6);x=0;b=Ka(867,a|0,F|0)|0;R=x;x=0;if(R&1){_=mb()|0;P1(F);yb(_|0)}b=k[b>>2]|0;if(!b)E=0;else E=Ot(b,8,392,0)|0;P1(F);A=(D|0)!=0;B=(B|0)!=0;n=A|B|(G|0)!=0;m=(m|0)!=0;z=(z|0)!=0;b=m|z|(C|0)!=0;do if(n&b){lE(I,37226,56);x=0;D=Y;Q=e;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));sa(438,I|0,Y|0);R=x;x=0;if(!(R&1)){P1(I);break}_=mb()|0;P1(I);yb(_|0)}while(0);if(n){do if(A){lE(K,36974,4);x=0;D=Y;Q=e;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));b=La(1,K|0,a|0,d|0,Y|0,-100.0,100.0,f|0)|0;V=x;x=0;if(!(V&1)){l=+p[b+56>>3]/100.0;P1(K);break}_=mb()|0;P1(K);yb(_|0)}else l=0.0;while(0);do if(B){lE(M,36979,6);x=0;D=Y;Q=e;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));b=La(1,M|0,a|0,d|0,Y|0,-100.0,100.0,f|0)|0;V=x;x=0;if(!(V&1)){j=+p[b+56>>3]/100.0;P1(M);break}_=mb()|0;P1(M);yb(_|0)}else j=0.0;while(0);do if(!G)h=0.0;else{lE(O,36986,5);x=0;D=Y;Q=e;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));b=La(1,O|0,a|0,d|0,Y|0,-100.0,100.0,f|0)|0;V=x;x=0;if(!(V&1)){h=+p[b+56>>3]/100.0;P1(O);break}_=mb()|0;P1(O);yb(_|0)}while(0);do if(!E)g=0.0;else{lE(S,36992,6);x=0;D=Y;Q=e;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));b=La(1,S|0,a|0,d|0,Y|0,-100.0,100.0,f|0)|0;Y=x;x=0;if(!(Y&1)){g=+p[b+56>>3]/100.0;P1(S);break}_=mb()|0;P1(S);yb(_|0)}while(0);m=c+36|0;n=lD(m,104)|0;D=W;Q=e;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));y=+p[Z+56>>3];l=y+l*(l>0.0?255.0-y:y);y=+p[Z+64>>3];j=y+j*(j>0.0?255.0-y:y);y=+p[Z+72>>3];h=y+h*(h>0.0?255.0-y:y);y=+p[Z+80>>3];g=y+g*(g>0.0?1.0-y:y);lE(X,78097,0);k[n+4>>2]=0;D=n+8|0;Q=W;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));i[n+48>>0]=0;i[n+49>>0]=0;i[n+50>>0]=0;b=n+52|0;k[b>>2]=0;k[n>>2]=5580;p[n+56>>3]=l;p[n+64>>3]=j;p[n+72>>3]=h;p[n+80>>3]=g;x=0;sa(430,n+88|0,X|0);Z=x;x=0;do if(!(Z&1)){k[n+100>>2]=0;k[b>>2]=3;x=0;b=Ka(857,m|0,n|0)|0;Z=x;x=0;if(Z&1)break;P1(X);Z=b;r=_;return Z|0}while(0);_=mb()|0;P1(X);yb(_|0)}if(!b){if(!E){lE(H,37283,38);x=0;D=Y;Q=e;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));sa(438,H|0,Y|0);e=x;x=0;if(e&1){_=mb()|0;P1(H);yb(_|0)}else{P1(H);r=_;return Z|0}}lE(L,36992,6);x=0;D=Y;Q=e;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));b=La(1,L|0,a|0,d|0,Y|0,-100.0,100.0,f|0)|0;Y=x;x=0;if(Y&1){_=mb()|0;P1(L);yb(_|0)}g=+p[b+56>>3]/100.0;P1(L);m=c+36|0;n=lD(m,104)|0;D=U;Q=e;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));h=+p[Z+56>>3];j=+p[Z+64>>3];l=+p[Z+72>>3];y=+p[Z+80>>3];g=y+g*(g>0.0?1.0-y:y);lE(V,78097,0);k[n+4>>2]=0;D=n+8|0;Q=U;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));i[n+48>>0]=0;i[n+49>>0]=0;i[n+50>>0]=0;b=n+52|0;k[b>>2]=0;k[n>>2]=5580;p[n+56>>3]=h;p[n+64>>3]=j;p[n+72>>3]=l;p[n+80>>3]=g;x=0;sa(430,n+88|0,V|0);Z=x;x=0;do if(!(Z&1)){k[n+100>>2]=0;k[b>>2]=3;x=0;b=Ka(857,m|0,n|0)|0;Z=x;x=0;if(Z&1)break;P1(V);Z=b;r=_;return Z|0}while(0);_=mb()|0;P1(V);yb(_|0)}do if(m){lE(J,37038,4);x=0;D=Y;Q=e;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));b=La(1,J|0,a|0,d|0,Y|0,-100.0,100.0,f|0)|0;X=x;x=0;if(!(X&1)){y=+p[b+56>>3]/100.0;P1(J);break}_=mb()|0;P1(J);yb(_|0)}else y=0.0;while(0);do if(z){lE(N,37043,11);x=0;D=Y;Q=e;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));b=La(1,N|0,a|0,d|0,Y|0,-100.0,100.0,f|0)|0;X=x;x=0;if(!(X&1)){w=+p[b+56>>3]/100.0;P1(N);break}_=mb()|0;P1(N);yb(_|0)}else w=0.0;while(0);do if(!C)v=0.0;else{lE(P,37055,10);x=0;D=Y;Q=e;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));b=La(1,P|0,a|0,d|0,Y|0,-100.0,100.0,f|0)|0;X=x;x=0;if(!(X&1)){v=+p[b+56>>3]/100.0;P1(P);break}_=mb()|0;P1(P);yb(_|0)}while(0);do if(!E)u=0.0;else{lE(T,36992,6);x=0;D=Y;Q=e;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));b=La(1,T|0,a|0,d|0,Y|0,-100.0,100.0,f|0)|0;X=x;x=0;if(!(X&1)){u=+p[b+56>>3]/100.0;P1(T);break}_=mb()|0;P1(T);yb(_|0)}while(0);j=+p[Z+56>>3]/255.0;l=+p[Z+64>>3]/255.0;o=+p[Z+72>>3]/255.0;b=l0.0?360.0-l:l);j=j+w*(w>0.0?100.0-j:j);h=h+v*(v>0.0?100.0-h:h);g=+p[Z+80>>3];g=g+u*(u>0.0?1.0-g:g);D=Y;Q=e;R=D+40|0;do{k[D>>2]=k[Q>>2];D=D+4|0;Q=Q+4|0}while((D|0)<(R|0));Z=lm(l,j,h,g,c,Y)|0;r=_;return Z|0}function Id(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;if((hc|0)!=2){k[ic+8>>2]=a;k[ic+16>>2]=b;k[ic+24>>2]=c;k[ic+32>>2]=d;k[ic+40>>2]=e;k[ic+48>>2]=f;k[ic+56>>2]=g;if((hc|0)==1)hc=3}Uc(kc+18820|0);return k[ic>>2]|0}function Jd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=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;Q=r;r=r+144|0;N=Q+128|0;H=Q+104|0;L=Q+88|0;M=Q+8|0;B=Q+80|0;y=Q+72|0;z=Q+64|0;A=Q+56|0;C=Q+40|0;D=Q+32|0;K=Q+120|0;E=Q+16|0;F=Q;q=k[d+8>>2]|0;w=d+12|0;s=k[w>>2]|0;u=k[e+8>>2]|0;x=e+12|0;t=k[x>>2]|0;j=t;v=s;if((s|0)==(t|0))p=0;else p=((v-(k[q>>2]|0)|0)/24|0)+((q-u>>2)*170|0)+((j-(k[u>>2]|0)|0)/-24|0)|0;I=b+4|0;h=k[I>>2]|0;J=b+16|0;o=k[J>>2]|0;f=h+(((o>>>0)/170|0)<<2)|0;P=b+8|0;g=k[P>>2]|0;m=g;n=h;if((g|0)==(h|0))l=0;else l=(k[f>>2]|0)+(((o>>>0)%170|0)*24|0)|0;i=k[c+4>>2]|0;if((i|0)==(l|0))O=0;else{O=k[c>>2]|0;O=((O-f>>2)*170|0)+((i-(k[O>>2]|0)|0)/24|0)+((l-(k[f>>2]|0)|0)/-24|0)|0}G=b+20|0;i=k[G>>2]|0;if(O>>>0<(i-O|0)>>>0){if(p>>>0>o>>>0){Of(b,p-o|0);f=k[J>>2]|0;h=k[I>>2]|0;g=k[P>>2]|0}else f=o;x=h+(((f>>>0)/170|0)<<2)|0;if((g|0)==(h|0))t=0;else t=(k[x>>2]|0)+(((f>>>0)%170|0)*24|0)|0;g=x;f=t;h=d;l=k[h>>2]|0;h=k[h+4>>2]|0;d=M;k[d>>2]=l;k[d+4>>2]=h;if(O>>>0

>>0){do if(O>>>0

>>1>>>0){h=e;l=k[h>>2]|0;h=k[h+4>>2]|0;if(!O){q=u;i=l}else{i=((j-(k[u>>2]|0)|0)/24|0)+O|0;if((i|0)>0){j=u+(((i|0)/170|0)<<2)|0;q=j;j=(k[j>>2]|0)+(((i|0)%170|0)*24|0)|0;i=l;break}else{j=169-i|0;i=u+(((j|0)/-170|0)<<2)|0;q=i;j=(k[i>>2]|0)+((169-((j|0)%170|0)|0)*24|0)|0;i=l;break}}}else if((O|0)==(p|0)){j=v;i=l}else{i=((v-(k[q>>2]|0)|0)/24|0)+(O-p)|0;if((i|0)>0){j=q+(((i|0)/170|0)<<2)|0;q=j;j=(k[j>>2]|0)+(((i|0)%170|0)*24|0)|0;i=l;break}else{j=169-i|0;i=q+(((j|0)/-170|0)<<2)|0;q=i;j=(k[i>>2]|0)+((169-((j|0)%170|0)|0)*24|0)|0;i=l;break}}while(0);d=M;k[d>>2]=i;k[d+4>>2]=h;h=j;if((h|0)==(s|0)){c=g;o=f;p=O}else{c=g;i=f;n=q;while(1){l=c;if((i|0)==(k[l>>2]|0)){c=l+-4|0;i=(k[c>>2]|0)+4080|0}m=i+-24|0;o=m;h=h+24|0;l=k[n>>2]|0;if((h-l|0)==4080){n=n+4|0;h=k[n>>2]|0;l=h}if((h|0)==(l|0))l=(k[n+-4>>2]|0)+4080|0;else l=h;d=l+-24|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[m+12>>2]=k[d+12>>2];k[i+-8>>2]=k[l+-8>>2];l=k[l+-4>>2]|0;k[i+-4>>2]=l;if(l|0)c3(l);k[J>>2]=(k[J>>2]|0)+-1;k[G>>2]=(k[G>>2]|0)+1;if((h|0)==(k[w>>2]|0)){p=O;break}else i=o}}}else{c=g;o=f;j=v}if(p|0){h=((f-(k[x>>2]|0)|0)/24|0)+p|0;if((h|0)>0){d=x+(((h|0)/170|0)<<2)|0;i=(k[d>>2]|0)+(((h|0)%170|0)*24|0)|0;h=d}else{i=169-h|0;h=x+(((i|0)/-170|0)<<2)|0;i=(k[h>>2]|0)+((169-((i|0)%170|0)|0)*24|0)|0}b=i;if((i|0)!=(t|0)){n=c;m=h;do{l=o;c=n;if((l|0)==(k[c>>2]|0)){n=c+-4|0;l=(k[n>>2]|0)+4080|0}o=l+-24|0;c=m;if((i|0)==(k[c>>2]|0)){m=c+-4|0;c=(k[m>>2]|0)+4080|0}else c=i;i=c+-24|0;k[o>>2]=k[i>>2];k[o+4>>2]=k[i+4>>2];k[o+8>>2]=k[i+8>>2];k[o+12>>2]=k[i+12>>2];F=c+-8|0;k[l+-8>>2]=k[F>>2];d=c+-4|0;k[l+-4>>2]=k[d>>2];k[F>>2]=0;k[d>>2]=0;k[J>>2]=(k[J>>2]|0)+-1;k[G>>2]=(k[G>>2]|0)+1}while((i|0)!=(t|0))}if(p>>>0>>0){k[y>>2]=h;k[y+4>>2]=b;G=z;k[G>>2]=g;k[G+4>>2]=f;do if(O|0){h=z+4|0;i=((f-(k[x>>2]|0)|0)/24|0)+O|0;if((i|0)>0){G=x+(((i|0)/170|0)<<2)|0;k[z>>2]=G;k[h>>2]=(k[G>>2]|0)+(((i|0)%170|0)*24|0);break}else{G=169-i|0;d=x+(((G|0)/-170|0)<<2)|0;k[z>>2]=d;k[h>>2]=(k[d>>2]|0)+((169-((G|0)%170|0)|0)*24|0);break}}while(0);k[A>>2]=g;k[A+4>>2]=f;k[L>>2]=k[y>>2];k[L+4>>2]=k[y+4>>2];k[H>>2]=k[z>>2];k[H+4>>2]=k[z+4>>2];k[N>>2]=k[A>>2];k[N+4>>2]=k[A+4>>2];pk(B,L,H,N);g=k[B>>2]|0;f=k[B+4>>2]|0}d=M;G=k[d+4>>2]|0;M=C;k[M>>2]=k[d>>2];k[M+4>>2]=G;k[C+8>>2]=q;k[C+12>>2]=j;k[D>>2]=g;k[D+4>>2]=f;k[L>>2]=k[C>>2];k[L+4>>2]=k[C+4>>2];k[L+8>>2]=k[C+8>>2];k[L+12>>2]=k[C+12>>2];k[H>>2]=k[e>>2];k[H+4>>2]=k[e+4>>2];k[H+8>>2]=k[e+8>>2];k[H+12>>2]=k[e+12>>2];k[N>>2]=k[D>>2];k[N+4>>2]=k[D+4>>2];xj(K,L,H,N,0)}}else{f=m-n>>2;f=((f|0)==0?0:(f*170|0)+-1|0)-(i+o)|0;if(p>>>0>f>>>0){Se(b,p-f|0);f=k[J>>2]|0;y=k[G>>2]|0;h=k[I>>2]|0;g=k[P>>2]|0}else{f=o;y=i}f=f+y|0;w=h+(((f>>>0)/170|0)<<2)|0;if((g|0)==(h|0))s=0;else s=(k[w>>2]|0)+(((f>>>0)%170|0)*24|0)|0;g=w;f=s;l=e;i=k[l>>2]|0;l=k[l+4>>2]|0;b=M;k[b>>2]=i;k[b+4>>2]=l;b=y-O|0;if(p>>>0>b>>>0){do if(b>>>0

>>1>>>0){l=d;i=k[l>>2]|0;l=k[l+4>>2]|0;if((y|0)==(O|0)){j=v;h=l}else{h=((v-(k[q>>2]|0)|0)/24|0)-b|0;if((h|0)>0){j=q+(((h|0)/170|0)<<2)|0;q=j;j=(k[j>>2]|0)+(((h|0)%170|0)*24|0)|0;h=l;break}else{j=169-h|0;h=q+(((j|0)/-170|0)<<2)|0;q=h;j=(k[h>>2]|0)+((169-((j|0)%170|0)|0)*24|0)|0;h=l;break}}}else if((p|0)==(b|0)){q=u;h=l}else{h=((j-(k[u>>2]|0)|0)/24|0)+(p-b)|0;if((h|0)>0){j=u+(((h|0)/170|0)<<2)|0;q=j;j=(k[j>>2]|0)+(((h|0)%170|0)*24|0)|0;h=l;break}else{j=169-h|0;h=u+(((j|0)/-170|0)<<2)|0;q=h;j=(k[h>>2]|0)+((169-((j|0)%170|0)|0)*24|0)|0;h=l;break}}while(0);e=M;k[e>>2]=i;k[e+4>>2]=h;if((j|0)==(t|0)){m=g;l=f;c=b}else{i=k[q>>2]|0;m=g;h=f;c=q;n=j;do{l=h;if((n|0)==(i|0))h=(k[c+-4>>2]|0)+4080|0;else h=n;e=h+-24|0;k[l>>2]=k[e>>2];k[l+4>>2]=k[e+4>>2];k[l+8>>2]=k[e+8>>2];k[l+12>>2]=k[e+12>>2];k[l+16>>2]=k[h+-8>>2];h=k[h+-4>>2]|0;k[l+20>>2]=h;if(h|0)c3(h);h=l+24|0;if((h-(k[m>>2]|0)|0)==4080){h=m+4|0;m=h;h=k[h>>2]|0}i=k[c>>2]|0;if((n|0)==(i|0)){c=c+-4|0;i=k[c>>2]|0;l=i+4080|0}else l=n;n=l+-24|0;k[G>>2]=(k[G>>2]|0)+1}while((n|0)!=(k[x>>2]|0));l=h;t=j;c=b}}else{m=g;l=f;q=u;c=p}if(c|0){h=((f-(k[w>>2]|0)|0)/24|0)-c|0;if((h|0)>0){o=w+(((h|0)/170|0)<<2)|0;h=(k[o>>2]|0)+(((h|0)%170|0)*24|0)|0}else{h=169-h|0;o=w+(((h|0)/-170|0)<<2)|0;h=(k[o>>2]|0)+((169-((h|0)%170|0)|0)*24|0)|0}n=o;if((h|0)!=(s|0)){i=h;j=l;l=n;do{k[j>>2]=k[i>>2];k[j+4>>2]=k[i+4>>2];k[j+8>>2]=k[i+8>>2];k[j+12>>2]=k[i+12>>2];D=i+16|0;k[j+16>>2]=k[D>>2];e=i+20|0;k[j+20>>2]=k[e>>2];k[D>>2]=0;k[e>>2]=0;j=j+24|0;if((j-(k[m>>2]|0)|0)==4080){j=m+4|0;m=j;j=k[j>>2]|0}i=i+24|0;if((i-(k[l>>2]|0)|0)==4080){i=l+4|0;l=i;i=k[i>>2]|0}k[G>>2]=(k[G>>2]|0)+1}while((i|0)!=(s|0))}if(c>>>0>>0){do if((y|0)==(O|0)){j=g;i=f}else{i=((f-(k[w>>2]|0)|0)/24|0)-b|0;if((i|0)>0){G=w+(((i|0)/170|0)<<2)|0;j=G;i=(k[G>>2]|0)+(((i|0)%170|0)*24|0)|0;break}else{i=169-i|0;G=w+(((i|0)/-170|0)<<2)|0;j=G;i=(k[G>>2]|0)+((169-((i|0)%170|0)|0)*24|0)|0;break}}while(0);if((h|0)!=(i|0)){l=k[o>>2]|0;c=((h-l|0)/24|0)+((n-j>>2)*170|0)+((i-(k[j>>2]|0)|0)/-24|0)|0;if((c|0)>0){i=l;j=o;while(1){if((h|0)==(i|0)){j=j+-4|0;i=k[j>>2]|0;h=i+4080|0}l=h+-24|0;G=(h-i|0)/24|0;e=(G|0)>(c|0);G=e?c:G;D=L;k[D>>2]=g;k[D+4>>2]=f;k[N>>2]=k[L>>2];k[N+4>>2]=k[L+4>>2];Fm(H,e?h+((0-c|0)*24|0)|0:i,h,N,0);f=H;g=k[f>>2]|0;f=k[f+4>>2]|0;c=c-G|0;h=G+-1|0;do if(!h)h=l;else{h=((l-(k[j>>2]|0)|0)/24|0)-h|0;if((h|0)>0){G=j+(((h|0)/170|0)<<2)|0;j=G;h=(k[G>>2]|0)+(((h|0)%170|0)*24|0)|0;break}else{h=169-h|0;G=j+(((h|0)/-170|0)<<2)|0;j=G;h=(k[G>>2]|0)+((169-((h|0)%170|0)|0)*24|0)|0;break}}while(0);if((c|0)<=0)break;i=k[j>>2]|0}}}}e=M;G=k[e+4>>2]|0;M=E;k[M>>2]=k[e>>2];k[M+4>>2]=G;k[E+8>>2]=q;k[E+12>>2]=t;k[F>>2]=g;k[F+4>>2]=f;k[L>>2]=k[d>>2];k[L+4>>2]=k[d+4>>2];k[L+8>>2]=k[d+8>>2];k[L+12>>2]=k[d+12>>2];k[H>>2]=k[E>>2];k[H+4>>2]=k[E+4>>2];k[H+8>>2]=k[E+8>>2];k[H+12>>2]=k[E+12>>2];k[N>>2]=k[F>>2];k[N+4>>2]=k[F+4>>2];Ai(K,L,H,N,0)}}N=k[I>>2]|0;f=k[J>>2]|0;h=N+(((f>>>0)/170|0)<<2)|0;if((k[P>>2]|0)==(N|0)){g=0;f=0}else{g=0;f=(k[h>>2]|0)+(((f>>>0)%170|0)*24|0)|0}P=a;k[P>>2]=g|h;k[P+4>>2]=f;if(!O){r=Q;return}g=a+4|0;f=((f-(k[h>>2]|0)|0)/24|0)+O|0;if((f|0)>0){P=h+(((f|0)/170|0)<<2)|0;k[a>>2]=P;k[g>>2]=(k[P>>2]|0)+(((f|0)%170|0)*24|0);r=Q;return}else{P=169-f|0;O=h+(((P|0)/-170|0)<<2)|0;k[a>>2]=O;k[g>>2]=(k[O>>2]|0)+((169-((P|0)%170|0)|0)*24|0);r=Q;return}}function Kd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;D=0;H=r;r=r+160|0;E=H+40|0;y=H+152|0;z=H+148|0;m=H+144|0;f=H;I=H+132|0;e=H+120|0;G=H+88|0;n=H+128|0;o=H+80|0;wq(I,b+68|0);p=k[b+80>>2]|0;F=a+8|0;x=0;p=Ka(k[(k[p>>2]|0)+40>>2]|0,p|0,F|0)|0;C=x;x=0;a:do if(C&1)D=4;else{c=k[p+52>>2]|0;do if((c|0)==6){c=0;f=p}else{d=Ot(p,64,160,0)|0;if(d|0){x=0;sa(451,e|0,(k[a+4>>2]|0)+36|0);C=x;x=0;if(C&1){D=4;break a}x=0;c=Ka(k[(k[d>>2]|0)+40>>2]|0,d|0,e|0)|0;C=x;x=0;if(C&1){f=mb()|0;break a}if(!c)c=0;else c=Ot(c,64,256,0)|0;c=(c|0)==0?0:c+56|0;f=0;break}if((c|0)==5){c=p+56|0;f=0;break}j=(k[a+4>>2]|0)+36|0;x=0;l=Ka(856,j|0,84)|0;D=x;x=0;if(D&1){D=4;break a}u=f;v=p+8|0;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));k[l+4>>2]=0;u=l+8|0;v=f;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));i[l+48>>0]=0;i[l+49>>0]=0;i[l+50>>0]=0;c=l+52|0;k[c>>2]=0;k[l>>2]=10312;d=l+56|0;k[d>>2]=5132;e=l+60|0;k[e>>2]=0;f=l+64|0;k[f>>2]=0;g=l+68|0;k[g>>2]=0;x=0;h=ua(186,4)|0;D=x;x=0;if(D&1){D=4;break a}D=h;k[e>>2]=D;k[f>>2]=D;k[g>>2]=h+4;k[l>>2]=4992;k[d>>2]=5104;k[l+76>>2]=0;i[l+80>>0]=0;i[l+81>>0]=0;k[c>>2]=5;x=0;c=Ka(857,j|0,l|0)|0;D=x;x=0;if(D&1){D=4;break a}c=(c|0)==0?0:c+56|0;k[m>>2]=p;k[c+16>>2]=0;d=c+8|0;e=k[d>>2]|0;if((e|0)==(k[c+12>>2]|0)){x=0;sa(455,c+4|0,m|0);D=x;x=0;if(D&1){D=4;break a}}else{k[e>>2]=p;k[d>>2]=(k[d>>2]|0)+4}x=0;sa(k[k[c>>2]>>2]|0,c|0,p|0);D=x;x=0;if(D&1){D=4;break a}f=0}while(0);e=a+24|0;C=a+28|0;d=k[C>>2]|0;if((d|0)==(k[e>>2]|0))d=0;else d=k[d+-4>>2]|0;x=0;Qa(107,G|0,d|0,1);D=x;x=0;if(D&1)D=4;else{k[n>>2]=G;d=k[C>>2]|0;if(d>>>0<(k[a+32>>2]|0)>>>0){k[d>>2]=G;k[C>>2]=(k[C>>2]|0)+4;D=28}else{x=0;sa(488,e|0,n|0);D=x;x=0;if(D&1)D=38;else D=28}b:do if((D|0)==28){k[o>>2]=b;B=a+52|0;d=k[B>>2]|0;if(d>>>0<(k[a+56>>2]|0)>>>0){k[d>>2]=b;k[B>>2]=(k[B>>2]|0)+4}else{x=0;sa(503,a+48|0,o|0);A=x;x=0;if(A&1){D=38;break}}A=k[b+64>>2]|0;c:do if(!f){d=k[c+4>>2]|0;q=(k[c+8>>2]|0)-d>>2;if(q|0){n=c+4|0;o=I+4|0;b=a+4|0;m=p+8|0;l=0;d:while(1){c=k[d+(l<<2)>>2]|0;do if(!c)D=67;else{d=Ot(c,64,600,0)|0;if(d){c=k[d+56>>2]|0;if(!c){D=67;break}}j=Ot(c,64,256,0)|0;f=k[o>>2]|0;g=k[I>>2]|0;h=f-g|0;e=(h|0)/12|0;d=g;if(!j)D=80;else{if((h|0)==12){x=0;Qa(103,G|0,d|0,j|0);z=x;x=0;if(z&1){D=36;break d}else break}if((f|0)!=(g|0)){h=j+60|0;f=j+64|0;g=0;do{c=k[h>>2]|0;if(g>>>0<(k[f>>2]|0)-c>>2>>>0){c=k[c+(g<<2)>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,F|0)|0;z=x;x=0;if(z&1){D=35;break d}}else{c=(k[b>>2]|0)+36|0;x=0;d=Ka(856,c|0,56)|0;z=x;x=0;if(z&1){D=35;break d}u=E;v=m;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));k[d+4>>2]=0;u=d+8|0;v=E;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d>>2]=6380;k[d+52>>2]=8;x=0;c=Ka(857,c|0,d|0)|0;z=x;x=0;if(z&1){D=35;break d}}x=0;Qa(103,G|0,(k[I>>2]|0)+(g*12|0)|0,c|0);z=x;x=0;if(z&1){D=35;break d}g=g+1|0}while(g>>>0>>0)}}}while(0);if((D|0)==67){d=k[I>>2]|0;e=((k[o>>2]|0)-d|0)/12|0;c=0;D=80}if((D|0)==80){D=0;if(e|0){x=0;Qa(103,G|0,d|0,c|0);z=x;x=0;if(z&1){D=36;break}e=((k[o>>2]|0)-(k[I>>2]|0)|0)/12|0;if(e>>>0>1){f=1;do{c=(k[b>>2]|0)+36|0;x=0;d=Ka(856,c|0,56)|0;z=x;x=0;if(z&1){D=34;break d}u=E;v=m;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));k[d+4>>2]=0;u=d+8|0;v=E;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d>>2]=6380;k[d+52>>2]=8;x=0;c=Ka(857,c|0,d|0)|0;z=x;x=0;if(z&1){D=34;break d}x=0;Qa(103,G|0,(k[I>>2]|0)+(f*12|0)|0,c|0);z=x;x=0;if(z&1){D=34;break d}f=f+1|0}while(f>>>0>>0)}}}x=0;sa(502,a|0,A|0);z=x;x=0;if(z&1){D=36;break}c=l+1|0;if(c>>>0>=q>>>0)break c;d=k[n>>2]|0;l=c}if((D|0)==34){c=mb()|0;break b}else if((D|0)==35){c=mb()|0;break b}else if((D|0)==36){c=mb()|0;break b}}}else{p=f+56|0;c=k[f+80>>2]|0;q=k[f+84>>2]|0;if((c|0)!=(q|0)){s=I+4|0;t=a+4|0;b=f+8|0;while(1){d=k[c>>2]|0;x=0;n=Ka(k[(k[d>>2]|0)+40>>2]|0,d|0,F|0)|0;w=x;x=0;if(w&1)break;x=0;d=Ka(861,p|0,d|0)|0;w=x;x=0;if(w&1)break;x=0;o=Ka(k[(k[d>>2]|0)+40>>2]|0,d|0,F|0)|0;w=x;x=0;if(w&1)break;d=k[I>>2]|0;if(((k[s>>2]|0)-d|0)==12){l=(k[t>>2]|0)+36|0;x=0;m=Ka(856,l|0,84)|0;w=x;x=0;if(w&1)break;u=E;v=b;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));k[m+4>>2]=0;u=m+8|0;v=E;w=u+40|0;do{k[u>>2]=k[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));i[m+48>>0]=0;i[m+49>>0]=0;i[m+50>>0]=0;d=m+52|0;k[d>>2]=0;k[m>>2]=10312;e=m+56|0;k[e>>2]=5132;f=m+60|0;k[f>>2]=0;g=m+64|0;k[g>>2]=0;h=m+68|0;k[h>>2]=0;x=0;j=ua(186,8)|0;w=x;x=0;if(w&1)break;w=j;k[f>>2]=w;k[g>>2]=w;k[h>>2]=j+8;k[m>>2]=4992;k[e>>2]=5104;k[m+76>>2]=1;i[m+80>>0]=0;i[m+81>>0]=0;k[d>>2]=5;x=0;g=Ka(857,l|0,m|0)|0;w=x;x=0;if(w&1)break;h=g+56|0;k[y>>2]=n;d=n;if(n|0){k[g+72>>2]=0;e=g+64|0;f=k[e>>2]|0;if((f|0)==(k[g+68>>2]|0)){x=0;sa(455,g+60|0,y|0);w=x;x=0;if(w&1)break}else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}x=0;sa(k[k[h>>2]>>2]|0,h|0,n|0);w=x;x=0;if(w&1)break}k[z>>2]=o;d=o;if(o|0){k[g+72>>2]=0;e=g+64|0;f=k[e>>2]|0;if((f|0)==(k[g+68>>2]|0)){x=0;sa(455,g+60|0,z|0);w=x;x=0;if(w&1)break}else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}x=0;sa(k[k[h>>2]>>2]|0,h|0,o|0);w=x;x=0;if(w&1)break}x=0;Qa(103,G|0,k[I>>2]|0,g|0);w=x;x=0;if(w&1)break}else{x=0;Qa(103,G|0,d|0,n|0);w=x;x=0;if(w&1)break;x=0;Qa(103,G|0,(k[I>>2]|0)+12|0,o|0);w=x;x=0;if(w&1)break}x=0;sa(502,a|0,A|0);w=x;x=0;if(w&1)break;c=c+4|0;if((c|0)==(q|0))break c}c=mb()|0;break b}}while(0);k[B>>2]=(k[B>>2]|0)+-4;k[C>>2]=(k[C>>2]|0)+-4;iB(G+20|0);az(G,k[G+4>>2]|0);c=k[I>>2]|0;if(!c){r=H;return 0}e=I+4|0;d=k[e>>2]|0;if((d|0)!=(c|0)){do{G=d+-12|0;k[e>>2]=G;P1(G);d=k[e>>2]|0}while((d|0)!=(c|0));c=k[I>>2]|0}uha(c);r=H;return 0}while(0);if((D|0)==38)c=mb()|0;iB(G+20|0);az(G,k[G+4>>2]|0);f=c}}while(0);if((D|0)==4)f=mb()|0;c=k[I>>2]|0;if(!c)yb(f|0);e=I+4|0;d=k[e>>2]|0;if((d|0)!=(c|0)){do{H=d+-12|0;k[e>>2]=H;P1(H);d=k[e>>2]|0}while((d|0)!=(c|0));c=k[I>>2]|0}uha(c);yb(f|0);return 0}function Ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=r;r=r+160|0;D=G+40|0;z=G+144|0;B=G+140|0;m=G+136|0;h=G;H=G+120|0;F=G+88|0;f=G+132|0;g=G+80|0;wq(H,b+68|0);A=k[b+80>>2]|0;x=0;A=Ka(k[(k[A>>2]|0)+40>>2]|0,A|0,a|0)|0;E=x;x=0;if(E&1)C=8;else{E=a+4|0;x=0;c=ua(203,k[E>>2]|0)|0;C=x;x=0;if(C&1)C=8;else{x=0;Qa(107,F|0,c|0,1);C=x;x=0;if(C&1)C=8;else{c=k[E>>2]|0;k[f>>2]=F;d=c+28|0;e=k[d>>2]|0;if(e>>>0<(k[c+32>>2]|0)>>>0){k[e>>2]=F;k[d>>2]=(k[d>>2]|0)+4;C=7}else{x=0;sa(488,c+24|0,f|0);C=x;x=0;if(C&1)C=13;else C=7}a:do if((C|0)==7){d=k[A+52>>2]|0;b:do if((d|0)==6){p=k[b+64>>2]|0;q=A+56|0;s=A+80|0;c=k[s>>2]|0;s=k[s+4>>2]|0;if((c|0)==(s|0))f=0;else{t=H+4|0;u=a+8|0;o=A+8|0;while(1){b=k[c>>2]|0;x=0;n=Ka(861,q|0,b|0)|0;A=x;x=0;if(A&1)break;d=k[H>>2]|0;if(((k[t>>2]|0)-d|0)==12){l=(k[u>>2]|0)+36|0;x=0;m=Ka(856,l|0,84)|0;A=x;x=0;if(A&1)break;v=D;w=o;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));k[m+4>>2]=0;v=m+8|0;w=D;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));i[m+48>>0]=0;i[m+49>>0]=0;i[m+50>>0]=0;d=m+52|0;k[d>>2]=0;k[m>>2]=10312;e=m+56|0;k[e>>2]=5132;f=m+60|0;k[f>>2]=0;g=m+64|0;k[g>>2]=0;h=m+68|0;k[h>>2]=0;x=0;j=ua(186,8)|0;A=x;x=0;if(A&1)break;A=j;k[f>>2]=A;k[g>>2]=A;k[h>>2]=j+8;k[m>>2]=4992;k[e>>2]=5104;k[m+76>>2]=1;i[m+80>>0]=0;i[m+81>>0]=0;k[d>>2]=5;x=0;g=Ka(857,l|0,m|0)|0;A=x;x=0;if(A&1)break;h=g+56|0;k[z>>2]=b;d=b;if(b|0){k[g+72>>2]=0;e=g+64|0;f=k[e>>2]|0;if((f|0)==(k[g+68>>2]|0)){x=0;sa(455,g+60|0,z|0);A=x;x=0;if(A&1)break}else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}x=0;sa(k[k[h>>2]>>2]|0,h|0,b|0);A=x;x=0;if(A&1)break}k[B>>2]=n;d=n;if(n|0){k[g+72>>2]=0;e=g+64|0;f=k[e>>2]|0;if((f|0)==(k[g+68>>2]|0)){x=0;sa(455,g+60|0,B|0);A=x;x=0;if(A&1)break}else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}x=0;sa(k[k[h>>2]>>2]|0,h|0,n|0);A=x;x=0;if(A&1)break}x=0;Qa(103,F|0,k[H>>2]|0,g|0);A=x;x=0;if(A&1)break}else{x=0;Qa(103,F|0,d|0,b|0);A=x;x=0;if(A&1)break;x=0;Qa(103,F|0,(k[H>>2]|0)+12|0,n|0);A=x;x=0;if(A&1)break}x=0;f=Ka(k[(k[p>>2]|0)+40>>2]|0,p|0,a|0)|0;A=x;x=0;if(A&1)break;c=c+4|0;if(f|0)break b;if((c|0)==(s|0)){f=0;break b}}c=mb()|0;break a}}else{c=Ot(A,64,160,0)|0;do if(!c){if((d|0)==5){c=A+56|0;break}j=(k[a+8>>2]|0)+36|0;x=0;l=Ka(856,j|0,84)|0;B=x;x=0;if(B&1){C=13;break a}v=h;w=A+8|0;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));k[l+4>>2]=0;v=l+8|0;w=h;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));i[l+48>>0]=0;i[l+49>>0]=0;i[l+50>>0]=0;c=l+52|0;k[c>>2]=0;k[l>>2]=10312;d=l+56|0;k[d>>2]=5132;e=l+60|0;k[e>>2]=0;f=l+64|0;k[f>>2]=0;g=l+68|0;k[g>>2]=0;x=0;h=ua(186,4)|0;B=x;x=0;if(B&1){C=13;break a}B=h;k[e>>2]=B;k[f>>2]=B;k[g>>2]=h+4;k[l>>2]=4992;k[d>>2]=5104;k[l+76>>2]=0;i[l+80>>0]=0;i[l+81>>0]=0;k[c>>2]=5;x=0;c=Ka(857,j|0,l|0)|0;B=x;x=0;if(B&1){C=13;break a}c=(c|0)==0?0:c+56|0;k[m>>2]=A;k[c+16>>2]=0;d=c+8|0;e=k[d>>2]|0;if((e|0)==(k[c+12>>2]|0)){x=0;sa(455,c+4|0,m|0);B=x;x=0;if(B&1){C=13;break a}}else{k[e>>2]=A;k[d>>2]=(k[d>>2]|0)+4}x=0;sa(k[k[c>>2]>>2]|0,c|0,A|0);B=x;x=0;if(B&1){C=13;break a}}else{x=0;sa(451,g|0,(k[a+8>>2]|0)+36|0);B=x;x=0;if(B&1){C=13;break a}x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,g|0)|0;B=x;x=0;if(B&1){c=mb()|0;break a}if(!c)c=0;else c=Ot(c,64,256,0)|0;c=(c|0)==0?0:c+56|0}while(0);p=k[b+64>>2]|0;d=k[c+4>>2]|0;q=(k[c+8>>2]|0)-d>>2;if(!q)f=0;else{b=c+4|0;n=H+4|0;o=a+8|0;m=A+8|0;l=0;c:while(1){c=k[d+(l<<2)>>2]|0;do if(!c)C=61;else{d=Ot(c,64,600,0)|0;if(d){c=k[d+56>>2]|0;if(!c){C=61;break}}j=Ot(c,64,256,0)|0;f=k[n>>2]|0;g=k[H>>2]|0;h=f-g|0;e=(h|0)/12|0;d=g;if(!j)C=74;else{if((h|0)==12){x=0;Qa(103,F|0,d|0,j|0);B=x;x=0;if(B&1){C=12;break c}else break}if((f|0)!=(g|0)){h=j+60|0;f=j+64|0;g=0;do{c=k[h>>2]|0;if(g>>>0<(k[f>>2]|0)-c>>2>>>0)c=k[c+(g<<2)>>2]|0;else{c=(k[o>>2]|0)+36|0;x=0;d=Ka(856,c|0,56)|0;B=x;x=0;if(B&1){C=11;break c}v=D;w=m;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));k[d+4>>2]=0;v=d+8|0;w=D;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d>>2]=6380;k[d+52>>2]=8;x=0;c=Ka(857,c|0,d|0)|0;B=x;x=0;if(B&1){C=11;break c}}x=0;Qa(103,F|0,(k[H>>2]|0)+(g*12|0)|0,c|0);B=x;x=0;if(B&1){C=11;break c}g=g+1|0}while(g>>>0>>0)}}}while(0);if((C|0)==61){d=k[H>>2]|0;e=((k[n>>2]|0)-d|0)/12|0;c=0;C=74}if((C|0)==74){C=0;if(e|0){x=0;Qa(103,F|0,d|0,c|0);B=x;x=0;if(B&1){C=12;break}e=((k[n>>2]|0)-(k[H>>2]|0)|0)/12|0;if(e>>>0>1){f=1;do{c=(k[o>>2]|0)+36|0;x=0;d=Ka(856,c|0,56)|0;B=x;x=0;if(B&1){C=10;break c}v=D;w=m;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));k[d+4>>2]=0;v=d+8|0;w=D;y=v+40|0;do{k[v>>2]=k[w>>2];v=v+4|0;w=w+4|0}while((v|0)<(y|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d>>2]=6380;k[d+52>>2]=8;x=0;c=Ka(857,c|0,d|0)|0;B=x;x=0;if(B&1){C=10;break c}x=0;Qa(103,F|0,(k[H>>2]|0)+(f*12|0)|0,c|0);B=x;x=0;if(B&1){C=10;break c}f=f+1|0}while(f>>>0>>0)}}}x=0;f=Ka(k[(k[p>>2]|0)+40>>2]|0,p|0,a|0)|0;B=x;x=0;if(B&1){C=12;break}c=l+1|0;if(f|0)break b;if(c>>>0>=q>>>0){f=0;break b}d=k[b>>2]|0;l=c}if((C|0)==10){c=mb()|0;break a}else if((C|0)==11){c=mb()|0;break a}else if((C|0)==12){c=mb()|0;break a}}}while(0);c=(k[E>>2]|0)+28|0;k[c>>2]=(k[c>>2]|0)+-4;iB(F+20|0);az(F,k[F+4>>2]|0);c=k[H>>2]|0;if(!c){r=G;return f|0}e=H+4|0;d=k[e>>2]|0;if((d|0)!=(c|0)){do{F=d+-12|0;k[e>>2]=F;P1(F);d=k[e>>2]|0}while((d|0)!=(c|0));c=k[H>>2]|0}uha(c);r=G;return f|0}while(0);if((C|0)==13)c=mb()|0;iB(F+20|0);az(F,k[F+4>>2]|0);f=c}}}if((C|0)==8)f=mb()|0;c=k[H>>2]|0;if(!c)yb(f|0);e=H+4|0;d=k[e>>2]|0;if((d|0)!=(c|0)){do{G=d+-12|0;k[e>>2]=G;P1(G);d=k[e>>2]|0}while((d|0)!=(c|0));c=k[H>>2]|0}uha(c);yb(f|0);return 0}function Md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=0;u=r;r=r+144|0;o=u;v=u+120|0;f=u+132|0;g=u+108|0;h=u+96|0;m=u+56|0;n=u+40|0;d=b+56|0;_G(v,d);x=0;e=ua(203,k[a+4>>2]|0)|0;s=x;x=0;a:do if(s&1)t=5;else{x=0;c=Ka(881,e|0,v|0)|0;s=x;x=0;if(s&1)t=5;else{b:do if(c){x=0;c=Ka(867,e|0,v|0)|0;s=x;x=0;if(s&1){t=5;break a}c=k[c>>2]|0;if(c|0){if((k[(k[(k[c>>2]|0)+-4>>2]|0)+4>>2]|0)==26714)c=k[c+56>>2]|0;c:do switch(k[c+52>>2]|0){case 2:{d=(k[a+8>>2]|0)+36|0;x=0;e=Ka(856,d|0,96)|0;s=x;x=0;if(s&1){t=5;break a}k[e+4>>2]=k[c+4>>2];k[e>>2]=4748;p=e+8|0;q=c+8|0;s=p+40|0;do{k[p>>2]=k[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(s|0));k[e>>2]=6736;q=c+48|0;s=k[q+4>>2]|0;h=e+48|0;k[h>>2]=k[q>>2];k[h+4>>2]=s;k[e>>2]=4624;h=e+56|0;s=c+56|0;k[h>>2]=k[s>>2];k[h+4>>2]=k[s+4>>2];i[h+8>>0]=i[s+8>>0]|0;h=e+68|0;x=0;sa(435,h|0,c+68|0);s=x;x=0;if(s&1)c=mb()|0;else{x=0;sa(435,e+80|0,c+80|0);s=x;x=0;if(!(s&1)){k[e+92>>2]=k[c+92>>2];x=0;c=Ka(857,d|0,e|0)|0;t=x;x=0;if(t&1){t=5;break a}i[c+64>>0]=1;break c}c=mb()|0;g=M;d=k[h>>2]|0;if(d){f=e+72|0;e=k[f>>2]|0;if((e|0)!=(d|0)){do{b=e+-12|0;k[f>>2]=b;P1(b);e=k[f>>2]|0}while((e|0)!=(d|0));d=k[h>>2]|0}uha(d)}}break a}case 4:{e=Ot(c,64,448,0)|0;if(e|0){c=(k[a+8>>2]|0)+36|0;x=0;d=Ka(856,c|0,76)|0;t=x;x=0;if(t&1){t=5;break a}k[d+4>>2]=k[e+4>>2];k[d>>2]=4748;p=d+8|0;q=e+8|0;s=p+40|0;do{k[p>>2]=k[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(s|0));k[d>>2]=6736;q=e+48|0;s=k[q+4>>2]|0;t=d+48|0;k[t>>2]=k[q>>2];k[t+4>>2]=s;i[d+56>>0]=i[e+56>>0]|0;k[d>>2]=5932;t=d+57|0;s=e+57|0;s=l[s>>0]|l[s+1>>0]<<8;i[t>>0]=s;i[t+1>>0]=s>>8;x=0;sa(430,d+60|0,e+60|0);t=x;x=0;if(t&1){t=5;break a}k[d+72>>2]=k[e+72>>2];k[d>>2]=6048;x=0;c=Ka(857,c|0,d|0)|0;t=x;x=0;if(t&1){t=5;break a}break c}e=Ot(c,64,432,0)|0;if(e){c=(k[a+8>>2]|0)+36|0;x=0;d=Ka(856,c|0,76)|0;t=x;x=0;if(t&1){t=5;break a}p=m;q=e+8|0;s=p+40|0;do{k[p>>2]=k[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(s|0));x=0;sa(430,n|0,e+60|0);t=x;x=0;if(t&1){t=5;break a}x=0;p=o;q=m;s=p+40|0;do{k[p>>2]=k[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(s|0));qa(5,d|0,o|0,n|0,0,0);t=x;x=0;if(!(t&1)){x=0;c=Ka(857,c|0,d|0)|0;t=x;x=0;if(!(t&1)){P1(n);break c}}b=mb()|0;P1(n);P1(v);yb(b|0)}break}case 5:{e=(k[a+8>>2]|0)+36|0;x=0;f=Ka(856,e|0,84)|0;t=x;x=0;if(t&1){t=5;break a}k[f+4>>2]=k[c+4>>2];k[f>>2]=4748;p=f+8|0;q=c+8|0;s=p+40|0;do{k[p>>2]=k[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(s|0));k[f>>2]=6736;s=c+48|0;t=k[s+4>>2]|0;d=f+48|0;k[d>>2]=k[s>>2];k[d+4>>2]=t;k[f>>2]=10312;d=f+56|0;k[d>>2]=5132;x=0;sa(495,f+60|0,c+60|0);t=x;x=0;if(t&1){t=5;break a}k[f+72>>2]=k[c+72>>2];k[f>>2]=4992;k[d>>2]=5104;t=f+76|0;c=c+76|0;k[t>>2]=k[c>>2];j[t+4>>1]=j[c+4>>1]|0;x=0;c=Ka(857,e|0,f|0)|0;t=x;x=0;if(t&1){t=5;break a}break}case 6:{e=(k[a+8>>2]|0)+36|0;x=0;f=Ka(856,e|0,100)|0;s=x;x=0;if(s&1){t=5;break a}k[f+4>>2]=k[c+4>>2];k[f>>2]=4748;p=f+8|0;q=c+8|0;s=p+40|0;do{k[p>>2]=k[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(s|0));k[f>>2]=6736;s=c+48|0;g=k[s+4>>2]|0;d=f+48|0;k[d>>2]=k[s>>2];k[d+4>>2]=g;k[f>>2]=10312;d=f+56|0;k[d>>2]=5288;g=f+60|0;x=0;sa(496,g|0,c+60|0);s=x;x=0;if(s&1){t=5;break a}x=0;sa(495,f+80|0,c+80|0);s=x;x=0;if(!(s&1)){s=c+92|0;t=k[s+4>>2]|0;c=f+92|0;k[c>>2]=k[s>>2];k[c+4>>2]=t;k[f>>2]=5160;k[d>>2]=5268;x=0;c=Ka(857,e|0,f|0)|0;t=x;x=0;if(t&1){t=5;break a}break c}c=mb()|0;e=M;d=k[f+68>>2]|0;if(d|0)do{b=d;d=k[d>>2]|0;uha(b)}while((d|0)!=0);d=k[g>>2]|0;k[g>>2]=0;if(!d)break a;uha(d);break a}case 1:{d=(k[a+8>>2]|0)+36|0;x=0;e=Ka(856,d|0,64)|0;t=x;x=0;if(t&1){t=5;break a}k[e+4>>2]=k[c+4>>2];k[e>>2]=4748;p=e+8|0;q=c+8|0;s=p+40|0;do{k[p>>2]=k[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(s|0));k[e>>2]=6736;q=c+48|0;t=k[q+4>>2]|0;s=e+48|0;k[s>>2]=k[q>>2];k[s+4>>2]=t;k[e>>2]=5684;s=c+56|0;t=k[s+4>>2]|0;c=e+56|0;k[c>>2]=k[s>>2];k[c+4>>2]=t;x=0;c=Ka(857,d|0,e|0)|0;t=x;x=0;if(t&1){t=5;break a}break}case 3:{d=(k[a+8>>2]|0)+36|0;x=0;e=Ka(856,d|0,104)|0;t=x;x=0;if(t&1){t=5;break a}k[e+4>>2]=k[c+4>>2];k[e>>2]=4748;p=e+8|0;q=c+8|0;s=p+40|0;do{k[p>>2]=k[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(s|0));k[e>>2]=6736;q=c+48|0;s=k[q+4>>2]|0;t=e+48|0;k[t>>2]=k[q>>2];k[t+4>>2]=s;k[e>>2]=5580;t=e+56|0;s=c+56|0;k[t>>2]=k[s>>2];k[t+4>>2]=k[s+4>>2];k[t+8>>2]=k[s+8>>2];k[t+12>>2]=k[s+12>>2];k[t+16>>2]=k[s+16>>2];k[t+20>>2]=k[s+20>>2];k[t+24>>2]=k[s+24>>2];k[t+28>>2]=k[s+28>>2];x=0;sa(430,e+88|0,c+88|0);t=x;x=0;if(t&1){t=5;break a}k[e+100>>2]=k[c+100>>2];x=0;c=Ka(857,d|0,e|0)|0;t=x;x=0;if(t&1){t=5;break a}break}case 8:{d=(k[a+8>>2]|0)+36|0;x=0;e=Ka(856,d|0,56)|0;t=x;x=0;if(t&1){t=5;break a}p=o;q=c+8|0;s=p+40|0;do{k[p>>2]=k[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(s|0));k[e+4>>2]=0;p=e+8|0;q=o;s=p+40|0;do{k[p>>2]=k[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(s|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e>>2]=6380;k[e+52>>2]=8;x=0;c=Ka(857,d|0,e|0)|0;t=x;x=0;if(t&1){t=5;break a}break}case 7:{x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a|0)|0;t=x;x=0;if(t&1){t=5;break a}break}default:{}}while(0);i[c+50>>0]=i[b+50>>0]|0;i[c+49>>0]=0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a|0)|0;b=x;x=0;if(b&1){t=5;break a}P1(v);r=u;return c|0}}else{x=0;sa(430,h|0,d|0);u=x;x=0;if(u&1){t=5;break a}x=0;c=xa(50,h|0,0,32532)|0;u=x;x=0;if(u&1)c=mb()|0;else{k[g>>2]=k[c>>2];k[g+4>>2]=k[c+4>>2];k[g+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=Ka(866,g|0,42479)|0;u=x;x=0;do if(u&1)c=mb()|0;else{k[f>>2]=k[c>>2];k[f+4>>2]=k[c+4>>2];k[f+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;p=o;q=b+8|0;s=p+40|0;do{k[p>>2]=k[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(s|0));sa(438,f|0,o|0);b=x;x=0;if(b&1){c=mb()|0;P1(f);break}else{P1(f);P1(g);P1(h);break b}}while(0);P1(g)}P1(h);b=c;P1(v);yb(b|0)}while(0);x=0;pa(5);x=0;t=5}}while(0);if((t|0)==5)c=mb()|0;b=c;P1(v);yb(b|0);return 0}function Nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0.0,h=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=0;E=r;r=r+432|0;y=E+384|0;G=E+348|0;h=E+372|0;l=E+360|0;m=E+336|0;n=E+176|0;v=E+192|0;s=E+128|0;q=E+116|0;t=E+104|0;u=E+64|0;F=E+144|0;w=E+56|0;A=E+16|0;B=E;_G(G,b+68|0);C=k[b+80>>2]|0;x=0;C=Ka(k[(k[C>>2]|0)+40>>2]|0,C|0,a|0)|0;z=x;x=0;a:do if(z&1)D=6;else{if((k[C+52>>2]|0)!=2){e=vb(92)|0;x=0;Qa(74,h|0,33133,7);F=x;x=0;if(F&1)c=mb()|0;else{x=0;Qa(106,e|0,C|0,h|0);F=x;x=0;if(F&1)d=1;else{x=0;Qa(77,e|0,1376,135);x=0;d=0}c=mb()|0;P1(h);if(!d){F=c;P1(G);yb(F|0)}}lb(e|0);F=c;P1(G);yb(F|0)}z=k[b+84>>2]|0;x=0;z=Ka(k[(k[z>>2]|0)+40>>2]|0,z|0,a|0)|0;o=x;x=0;if(o&1)D=6;else{if((k[z+52>>2]|0)!=2){e=vb(92)|0;x=0;Qa(74,l|0,33133,7);F=x;x=0;if(F&1)c=mb()|0;else{x=0;Qa(106,e|0,z|0,l|0);F=x;x=0;if(F&1)d=1;else{x=0;Qa(77,e|0,1376,135);x=0;d=0}c=mb()|0;P1(l);if(!d){F=c;P1(G);yb(F|0)}}lb(e|0);F=c;P1(G);yb(F|0)}x=0;sa(437,m|0,C|0);o=x;x=0;if(o&1)D=6;else{x=0;sa(437,n|0,z|0);o=x;x=0;if(o&1){F=mb()|0;P1(m);P1(G);yb(F|0)}l=j[m>>1]|0;e=(l&1)==0;d=(l&254)>>>1;h=e?d:k[m+4>>2]|0;o=i[n>>0]|0;c=(o&1)==0;l=(l&65535)>>>8&255;b:do if((h|0)==((c?(o&255)>>>1:k[n+4>>2]|0)|0)){c=c?n+1|0:k[n+8>>2]|0;if(!e){o=(tG(k[m+8>>2]|0,c,h)|0)==0;P1(n);P1(m);if(o)break;else{D=31;break}}if(!h){P1(n);P1(m);break}c:do if(l<<24>>24==(i[c>>0]|0)){e=m+1|0;while(1){d=d+-1|0;e=e+1|0;if(!d)break;c=c+1|0;if((i[e>>0]|0)!=(i[c>>0]|0))break c}P1(n);P1(m);break b}while(0);P1(n);P1(m);D=31}else{P1(n);P1(m);D=31}while(0);d:do if((D|0)==31){o=v+64|0;c=v+8|0;k[c>>2]=8236;n=v+12|0;k[v>>2]=8440;k[o>>2]=8460;k[v+4>>2]=0;x=0;sa(452,v+64|0,n|0);m=x;x=0;if(m&1)c=mb()|0;else{k[v+136>>2]=0;k[v+140>>2]=-1;k[v>>2]=8216;k[o>>2]=8256;k[c>>2]=8236;x=0;ra(324,n|0);m=x;x=0;do if(m&1)c=mb()|0;else{k[n>>2]=8272;d=v+44|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[v+60>>2]=24;k[y>>2]=0;k[y+4>>2]=0;k[y+8>>2]=0;x=0;sa(453,n|0,y|0);m=x;x=0;if(m&1){c=mb()|0;P1(y);P1(d);D2(n);break}P1(y);m=v+8|0;x=0;c=xa(49,m|0,33141,21)|0;l=x;x=0;e:do if(l&1)D=51;else{x=0;sa(437,s|0,C|0);l=x;x=0;if(l&1)D=51;else{l=i[s>>0]|0;h=(l&1)==0;x=0;c=xa(49,c|0,(h?s+1|0:k[s+8>>2]|0)|0,(h?(l&255)>>>1:k[s+4>>2]|0)|0)|0;l=x;x=0;do if(l&1)D=52;else{x=0;c=xa(49,c|0,33163,7)|0;l=x;x=0;if(l&1)D=52;else{x=0;sa(437,q|0,z|0);l=x;x=0;if(l&1){D=52;break}l=i[q>>0]|0;h=(l&1)==0;x=0;c=xa(49,c|0,(h?q+1|0:k[q+8>>2]|0)|0,(h?(l&255)>>>1:k[q+4>>2]|0)|0)|0;l=x;x=0;do if(!(l&1)){x=0;xa(49,c|0,33171,2)|0;l=x;x=0;if(l&1)break;P1(q);P1(s);x=0;sa(454,t|0,n|0);s=x;x=0;if(s&1){D=51;break e}e=u;h=C+8|0;l=e+40|0;do{k[e>>2]=k[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(l|0));x=0;c=ua(202,k[a+4>>2]|0)|0;s=x;x=0;do if(!(s&1)){x=0;e=y;h=u;l=e+40|0;do{k[e>>2]=k[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(l|0));Qa(100,t|0,y|0,c|0);u=x;x=0;if(u&1)break;P1(t);k[v>>2]=8216;k[o>>2]=8256;k[m>>2]=8236;k[n>>2]=8272;P1(d);D2(n);P9(o);break d}while(0);c=mb()|0;P1(t);break e}while(0);c=mb()|0;P1(q)}}while(0);if((D|0)==52)c=mb()|0;P1(s)}}while(0);if((D|0)==51)c=mb()|0;k[v>>2]=8216;k[o>>2]=8256;k[m>>2]=8236;k[n>>2]=8272;P1(d);D2(n);P9(o);F=c;P1(G);yb(F|0)}while(0)}P9(o);break a}while(0);f=+p[C+56>>3];g=+p[z+56>>3];n=a+4|0;x=0;c=ua(203,k[n>>2]|0)|0;D=x;x=0;if(D&1)D=6;else{x=0;Qa(107,F|0,c|0,1);D=x;x=0;if(D&1)D=6;else{c=k[n>>2]|0;k[w>>2]=F;d=c+28|0;e=k[d>>2]|0;if(e>>>0<(k[c+32>>2]|0)>>>0){k[e>>2]=F;k[d>>2]=(k[d>>2]|0)+4;D=64}else{x=0;sa(488,c+24|0,w|0);D=x;x=0;if(D&1)D=74;else D=64}f:do if((D|0)==64){c=F+20|0;x=0;d=Ka(856,c|0,96)|0;w=x;x=0;if(w&1)D=74;else{e=A;h=C+8|0;l=e+40|0;do{k[e>>2]=k[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(l|0));x=0;sa(437,B|0,z|0);C=x;x=0;if(C&1)D=74;else{x=0;e=y;h=A;l=e+40|0;do{k[e>>2]=k[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(l|0));Fa(1,d|0,y|0,+f,B|0,1);C=x;x=0;if(!(C&1)){x=0;m=Ka(857,c|0,d|0)|0;C=x;x=0;if(!(C&1)){P1(B);x=0;Qa(103,F|0,G|0,m|0);D=x;x=0;if(D&1){D=74;break}l=k[b+64>>2]|0;d=(i[b+88>>0]|0)!=0;g:do if(f>2]=0;p[h>>3]=f;x=0;Qa(103,F|0,G|0,m|0);D=x;x=0;if(D&1)break;x=0;d=Ka(k[(k[l>>2]|0)+40>>2]|0,l|0,a|0)|0;D=x;x=0;if(D&1)break;if(d|0)break g;f=f+1.0;if(!(fg)){d=0;break}e=m+92|0;h=m+56|0;while(1){k[e>>2]=0;p[h>>3]=f;x=0;Qa(103,F|0,G|0,m|0);D=x;x=0;if(D&1)break;x=0;d=Ka(k[(k[l>>2]|0)+40>>2]|0,l|0,a|0)|0;D=x;x=0;if(D&1)break;if(d|0)break g;f=f+-1.0;if(!(f>g)){d=0;break g}}d=mb()|0;D=75;break f}while(0);a=(k[n>>2]|0)+28|0;k[a>>2]=(k[a>>2]|0)+-4;iB(c);az(F,k[F+4>>2]|0);P1(G);r=E;return d|0}}d=mb()|0;P1(B)}}}while(0);if((D|0)==74){d=mb()|0;c=F+20|0;D=75}iB(c);az(F,k[F+4>>2]|0);F=d;P1(G);yb(F|0)}}}}}while(0);if((D|0)==6)c=mb()|0;F=c;P1(G);yb(F|0);return 0}function Od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;Y=0;Z=r;r=r+160|0;O=Z;P=Z+152|0;Q=Z+148|0;R=Z+144|0;S=Z+140|0;T=Z+136|0;_=Z+80|0;U=Z+96|0;V=Z+40|0;gj(_,a,b);W=a+4|0;d=(k[W>>2]|0)+36|0;x=0;e=Ka(856,d|0,88)|0;X=x;x=0;a:do if(X&1)Y=9;else{l=O;h=b+8|0;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));k[e+4>>2]=0;l=e+8|0;h=O;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));k[e+52>>2]=0;k[e+56>>2]=0;i[e+60>>0]=0;k[e+68>>2]=0;k[e+72>>2]=0;k[e+76>>2]=0;k[e>>2]=9664;k[e+64>>2]=9756;i[e+84>>0]=0;i[e+85>>0]=0;i[e+86>>0]=0;i[e+87>>0]=0;x=0;D=Ka(857,d|0,e|0)|0;X=x;x=0;if(X&1)Y=9;else{X=_+4|0;d=k[_>>2]|0;E=(k[X>>2]|0)-d>>3;b:do if(E|0){F=(c|0)==0;G=D+64|0;H=D+80|0;I=D+72|0;J=D+76|0;K=D+68|0;L=c+56|0;M=c+52|0;N=c+68|0;e=0;f=0;c:while(1){t=k[d+(e<<3)+4>>2]|0;d:do if(!(i[d+(e<<3)>>0]|0)){if(F){k[S>>2]=t;d=t;if(t|0){k[H>>2]=0;g=k[I>>2]|0;if((g|0)==(k[J>>2]|0)){x=0;sa(480,K|0,S|0);C=x;x=0;if(C&1){Y=8;break c}}else{k[g>>2]=d;k[I>>2]=(k[I>>2]|0)+4}x=0;sa(k[k[G>>2]>>2]|0,G|0,t|0);C=x;x=0;if(C&1){Y=8;break c}}break}if(!f){x=0;f=Ka(873,a|0,c|0)|0;C=x;x=0;if(C&1){Y=8;break c}k[f+56>>2]=k[L>>2];x=0;h=Ka(873,a|0,c|0)|0;C=x;x=0;if(C&1){Y=8;break c}k[h+64>>2]=t;k[h+56>>2]=k[L>>2];k[O>>2]=h;d=h;if(h|0){k[H>>2]=0;g=k[I>>2]|0;if((g|0)==(k[J>>2]|0)){x=0;sa(480,K|0,O|0);C=x;x=0;if(C&1){Y=8;break c}}else{k[g>>2]=d;k[I>>2]=(k[I>>2]|0)+4}x=0;sa(k[k[G>>2]>>2]|0,G|0,h|0);C=x;x=0;if(C&1){Y=8;break c}}break}h=k[f+64>>2]|0;s=h+64|0;d=(t|0)==0?0:t+64|0;g=k[d+4>>2]|0;q=(k[d+8>>2]|0)-g>>2;if(q){m=d+4|0;n=h+80|0;o=h+72|0;p=h+76|0;l=h+68|0;d=0;while(1){g=k[g+(d<<2)>>2]|0;k[R>>2]=g;h=g;if(g|0){k[n>>2]=0;j=k[o>>2]|0;if((j|0)==(k[p>>2]|0)){x=0;sa(480,l|0,R|0);C=x;x=0;if(C&1){Y=6;break c}}else{k[j>>2]=h;k[o>>2]=(k[o>>2]|0)+4}x=0;sa(k[k[s>>2]>>2]|0,s|0,g|0);C=x;x=0;if(C&1){Y=6;break c}}d=d+1|0;if((d|0)==(q|0))break d;g=k[m>>2]|0}}}else{p=(k[W>>2]|0)+36|0;x=0;q=Ka(856,p|0,88)|0;C=x;x=0;if(C&1){Y=8;break c}x=0;d=ua(k[(k[b>>2]|0)+72>>2]|0,b|0)|0;C=x;x=0;if(C&1){Y=8;break c}l=U;h=d+8|0;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));x=0;d=ua(k[(k[b>>2]|0)+72>>2]|0,b|0)|0;C=x;x=0;if(C&1){Y=8;break c}m=(k[d+72>>2]|0)-(k[d+68>>2]|0)|0;o=m>>2;x=0;d=ua(k[(k[b>>2]|0)+72>>2]|0,b|0)|0;C=x;x=0;if(C&1){Y=8;break c}n=i[d+84>>0]|0;k[q+4>>2]=0;l=q+8|0;h=U;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));k[q>>2]=9548;k[q+52>>2]=0;k[q+56>>2]=0;i[q+60>>0]=0;g=q+64|0;k[g>>2]=9636;h=q+68|0;k[h>>2]=0;j=q+72|0;k[j>>2]=0;l=q+76|0;k[l>>2]=0;if(o|0){x=0;d=ua(186,m|0)|0;C=x;x=0;if(C&1){Y=8;break c}C=d;k[h>>2]=C;k[j>>2]=C;k[l>>2]=d+(o<<2)}k[q>>2]=9664;k[g>>2]=9756;i[q+84>>0]=n;i[q+85>>0]=0;i[q+86>>0]=0;i[q+87>>0]=0;x=0;C=Ka(857,p|0,q|0)|0;B=x;x=0;if(B&1){Y=8;break c}d=k[t+68>>2]|0;B=(k[t+72>>2]|0)-d>>2;e:do if(B){u=t+68|0;v=C+64|0;w=C+80|0;y=C+72|0;z=C+76|0;A=C+68|0;g=0;while(1){j=k[d+(g<<2)>>2]|0;do if(F)Y=56;else if((k[M>>2]|0)==2){h=j+64|0;d=k[h>>2]|0;if((k[d+52>>2]|0)!=2){Y=56;break}if((k[d+68>>2]|0)==(k[N>>2]|0)){Y=56;break}x=0;d=xa(52,a|0,d|0,c|0)|0;t=x;x=0;if(t&1){Y=7;break c}if((k[d+64>>2]|0)==(k[d+60>>2]|0))break;t=k[h>>2]|0;k[t+68>>2]=d;Y=60}else Y=56;while(0);if((Y|0)==56){t=k[j+64>>2]|0;Y=60}if((Y|0)==60){Y=0;if(t){q=t+56|0;k[q>>2]=(k[j+56>>2]|0)+(k[q>>2]|0);i[t+60>>0]=i[j+68>>0]|0;q=(k[W>>2]|0)+36|0;x=0;s=Ka(856,q|0,88)|0;p=x;x=0;if(p&1){Y=7;break c}x=0;d=ua(k[(k[b>>2]|0)+72>>2]|0,b|0)|0;p=x;x=0;if(p&1){Y=7;break c}l=V;h=d+8|0;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));x=0;d=ua(k[(k[b>>2]|0)+72>>2]|0,b|0)|0;p=x;x=0;if(p&1){Y=7;break c}n=(k[d+72>>2]|0)-(k[d+68>>2]|0)|0;p=n>>2;x=0;d=ua(k[(k[b>>2]|0)+72>>2]|0,b|0)|0;o=x;x=0;if(o&1){Y=7;break c}o=i[d+84>>0]|0;k[s+4>>2]=0;l=s+8|0;h=V;j=l+40|0;do{k[l>>2]=k[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(j|0));k[s>>2]=9548;k[s+52>>2]=0;k[s+56>>2]=0;i[s+60>>0]=0;h=s+64|0;k[h>>2]=9636;j=s+68|0;k[j>>2]=0;l=s+72|0;k[l>>2]=0;m=s+76|0;k[m>>2]=0;if(p|0){x=0;d=ua(186,n|0)|0;n=x;x=0;if(n&1){Y=7;break c}n=d;k[j>>2]=n;k[l>>2]=n;k[m>>2]=d+(p<<2)}k[s>>2]=9664;k[h>>2]=9756;i[s+84>>0]=o;i[s+85>>0]=0;i[s+86>>0]=0;i[s+87>>0]=0;x=0;n=Ka(857,q|0,s|0)|0;s=x;x=0;if(s&1){Y=7;break c}x=0;d=Ka(k[(k[t>>2]|0)+36>>2]|0,t|0,a|0)|0;t=x;x=0;if(t&1){Y=7;break c}h=n+64|0;k[P>>2]=d;j=d;if(d|0){k[n+80>>2]=0;l=n+72|0;m=k[l>>2]|0;if((m|0)==(k[n+76>>2]|0)){x=0;sa(480,n+68|0,P|0);t=x;x=0;if(t&1){Y=7;break c}}else{k[m>>2]=j;k[l>>2]=(k[l>>2]|0)+4}x=0;sa(k[k[h>>2]>>2]|0,h|0,d|0);t=x;x=0;if(t&1){Y=7;break c}}x=0;d=Ka(872,a|0,n|0)|0;t=x;x=0;if(t&1){Y=7;break c}k[Q>>2]=d;h=d;if(d|0){k[w>>2]=0;j=k[y>>2]|0;if((j|0)==(k[z>>2]|0)){x=0;sa(480,A|0,Q|0);t=x;x=0;if(t&1){Y=7;break c}}else{k[j>>2]=h;k[y>>2]=(k[y>>2]|0)+4}x=0;sa(k[k[v>>2]>>2]|0,v|0,d|0);t=x;x=0;if(t&1){Y=7;break c}}x=0;d=ua(k[(k[d>>2]|0)+72>>2]|0,d|0)|0;t=x;x=0;if(t&1){Y=7;break c}f=(k[d+72>>2]|0)==(k[d+68>>2]|0)?f:0}}g=g+1|0;if(g>>>0>=B>>>0)break e;d=k[u>>2]|0}}while(0);if(C){x=0;d=Ka(872,a|0,C|0)|0;C=x;x=0;if(C&1){Y=8;break c}k[T>>2]=d;g=d;if(d|0){k[H>>2]=0;h=k[I>>2]|0;if((h|0)==(k[J>>2]|0)){x=0;sa(480,K|0,T|0);C=x;x=0;if(C&1){Y=8;break c}}else{k[h>>2]=g;k[I>>2]=(k[I>>2]|0)+4}x=0;sa(k[k[G>>2]>>2]|0,G|0,d|0);C=x;x=0;if(C&1){Y=8;break c}}}}while(0);e=e+1|0;if(e>>>0>=E>>>0)break b;d=k[_>>2]|0}if((Y|0)==6){g=mb()|0;d=_;break a}else if((Y|0)==7){g=mb()|0;d=_;break a}else if((Y|0)==8){g=mb()|0;d=_;break a}}while(0);x=0;f=Ka(872,a|0,D|0)|0;Y=x;x=0;if(Y&1)Y=9;else{d=k[_>>2]|0;if(!d){r=Z;return f|0}e=k[X>>2]|0;if((e|0)!=(d|0))k[X>>2]=e+(~((e+-8-d|0)>>>3)<<3);uha(d);r=Z;return f|0}}}while(0);if((Y|0)==9){g=mb()|0;d=_}f=k[d>>2]|0;if(!f)yb(g|0);d=_+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-8-f|0)>>>3)<<3);uha(f);yb(g|0);return 0}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;D=0;J=r;r=r+48|0;G=J;y=k[a+76>>2]|0;F=a+72|0;j=k[F>>2]|0;z=(y|0)!=0;if(z)e=Pd(y,b,c)|0;else e=0;if(j|0){I=j+76|0;d=k[j+72>>2]|0;if((k[I>>2]|0)!=(d|0)){H=j+72|0;d=k[d>>2]|0;a:do if(!d)D=100;else if(!(Ot(d,96,736,0)|0))D=100;else{E=c+36|0;d=lD(E,100)|0;h=G;l=a+8|0;m=h+40|0;do{k[h>>2]=k[l>>2];h=h+4|0;l=l+4|0}while((h|0)<(m|0));k[d+4>>2]=0;h=d+8|0;l=G;m=h+40|0;do{k[h>>2]=k[l>>2];h=h+4|0;l=l+4|0}while((h|0)<(m|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;C=d+56|0;k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;k[d+52>>2]=7;k[d+72>>2]=0;k[d+76>>2]=0;k[d+80>>2]=0;k[d>>2]=7828;k[d+68>>2]=7968;k[d+88>>2]=0;k[d+92>>2]=0;k[d+96>>2]=0;d=N4(E,d)|0;if(b|0){B=b+72|0;C=b+76|0;h=k[C>>2]|0;g=k[B>>2]|0;f=g;if((h|0)!=(g|0)){if(e|0){A=(k[e+76>>2]|0)-(k[e+72>>2]|0)>>2;if(A|0){s=e+72|0;t=b+72|0;u=d+68|0;v=u+16|0;w=u+8|0;y=u+12|0;z=u+4|0;q=0;while(1){p=h-g>>2;b:do if(p|0){e=0;while(1){g=k[(k[s>>2]|0)+(q<<2)>>2]|0;o=Kq(k[f+(e<<2)>>2]|0,c)|0;n=Wu(a,c)|0;if(!g)f=0;else f=Wu(g,c)|0;k[n+76>>2]=f;j=k[F>>2]|0;l=lD(E,104)|0;zk(l,j);l=N4(E,l)|0;i[l+59>>0]=i[j+59>>0]|0;k[l+60>>2]=k[j+60>>2];i[l+100>>0]=i[j+100>>0]|0;j=l+68|0;m=j+4|0;j=j+8|0;f=k[j>>2]|0;g=k[m>>2]|0;h=g;do if((f|0)!=(g|0)){K=h+4|0;f=f-K|0;VH(g|0,K|0,f|0)|0;g=h+(f>>2<<2)|0;f=k[j>>2]|0;if((f|0)==(g|0))break;f=f+(~((f+-4-g|0)>>>2)<<2)|0;k[j>>2]=f}while(0);k[n+72>>2]=(f|0)!=(k[m>>2]|0)?l:0;td(o,c,n);k[G>>2]=o;f=o;if(o|0){k[v>>2]=0;g=k[w>>2]|0;if((g|0)==(k[y>>2]|0))kw(z,G);else{k[g>>2]=f;k[w>>2]=(k[w>>2]|0)+4}rc[k[k[u>>2]>>2]&1023](u,o)}e=e+1|0;if((e|0)==(p|0))break b;f=k[t>>2]|0}}while(0);e=q+1|0;if((e|0)==(A|0))break a;g=k[B>>2]|0;f=g;h=k[C>>2]|0;q=e}}}p=h-g>>2;if(!p)break;q=b+72|0;s=d+68|0;t=s+16|0;u=s+8|0;v=s+12|0;w=s+4|0;e=0;while(1){f=k[f+(e<<2)>>2]|0;o=Kq(f,c)|0;n=Wu(a,c)|0;g=f;while(1){h=k[g+76>>2]|0;if(!h)break;else g=h}if(k[g+68>>2]|0){d=n;break}if(z)f=Wu(y,c)|0;else f=0;k[n+76>>2]=f;j=k[F>>2]|0;l=lD(E,104)|0;zk(l,j);l=N4(E,l)|0;i[l+59>>0]=i[j+59>>0]|0;k[l+60>>2]=k[j+60>>2];i[l+100>>0]=i[j+100>>0]|0;j=l+68|0;m=j+4|0;j=j+8|0;f=k[j>>2]|0;g=k[m>>2]|0;h=g;if((f|0)!=(g|0)){K=h+4|0;f=f-K|0;VH(g|0,K|0,f|0)|0;g=h+(f>>2<<2)|0;f=k[j>>2]|0;if((f|0)!=(g|0)){f=f+(~((f+-4-g|0)>>>2)<<2)|0;k[j>>2]=f}}k[n+72>>2]=(f|0)!=(k[m>>2]|0)?l:0;i[n+57>>0]=0;td(o,c,n);k[G>>2]=o;f=o;if(o|0){k[t>>2]=0;g=k[u>>2]|0;if((g|0)==(k[v>>2]|0))kw(w,G);else{k[g>>2]=f;k[u>>2]=(k[u>>2]|0)+4}rc[k[k[s>>2]>>2]&1023](s,o)}e=e+1|0;if(e>>>0>=p>>>0)break a;f=k[q>>2]|0}e=vb(84)|0;x=0;Qa(82,e|0,f|0,d|0);K=x;x=0;if(K&1){K=mb()|0;lb(e|0);yb(K|0)}else Wb(e|0,784,59)}}if(e|0){A=(k[e+76>>2]|0)-(k[e+72>>2]|0)>>2;if(A|0){z=e+72|0;q=j+8|0;s=d+68|0;t=s+16|0;u=s+8|0;v=s+12|0;w=s+4|0;y=0;while(1){f=Wu(a,c)|0;e=Kq(k[(k[z>>2]|0)+(y<<2)>>2]|0,c)|0;k[f+76>>2]=e;e=lD(E,104)|0;h=G;l=q;m=h+40|0;do{k[h>>2]=k[l>>2];h=h+4|0;l=l+4|0}while((h|0)<(m|0));k[e+4>>2]=0;h=e+8|0;l=G;m=h+40|0;do{k[h>>2]=k[l>>2];h=h+4|0;l=l+4|0}while((h|0)<(m|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;h=e+56|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[e+52>>2]=7;k[e+72>>2]=0;k[e+76>>2]=0;k[e+80>>2]=0;k[e>>2]=6984;k[e+68>>2]=7116;h=e+92|0;k[h>>2]=0;k[e+96>>2]=0;k[e+88>>2]=h;i[e+100>>0]=0;i[e+101>>0]=0;h=N4(E,e)|0;p=f+72|0;k[p>>2]=h;e=k[F>>2]|0;o=(k[e+76>>2]|0)-(k[e+72>>2]|0)>>2;c:do if(o>>>0>1){n=h;j=e;e=h;g=h;h=1;while(1){m=n+68|0;j=k[(k[j+72>>2]|0)+(h<<2)>>2]|0;k[G>>2]=j;l=j;if(j){k[n+84>>2]=0;e=n+76|0;g=k[e>>2]|0;if((g|0)==(k[n+80>>2]|0))nw(n+72|0,G);else{k[g>>2]=l;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[m>>2]>>2]&1023](m,j);g=k[p>>2]|0;e=g}h=h+1|0;if((h|0)==(o|0))break c;n=g;j=k[F>>2]|0}}else{g=h;e=h}while(0);if((k[g+76>>2]|0)==(k[g+72>>2]|0)){k[p>>2]=0;h=0}else h=e;while(1){if(h|0){g=k[h+76>>2]|0;e=k[h+72>>2]|0;if((g|0)!=(e|0)){if((g-e|0)!=4){D=69;break}e=k[e>>2]|0;if(!e){D=69;break}if(!(Ot(e,96,736,0)|0)){D=69;break}}}if(k[f+68>>2]|0){D=69;break}e=k[f+76>>2]|0;if(!e){D=68;break}i[e+57>>0]=i[f+57>>0]|0;h=k[e+72>>2]|0;f=e}if((D|0)==68){D=0;k[G>>2]=0}else if((D|0)==69){D=0;k[G>>2]=f;k[t>>2]=0;e=k[u>>2]|0;if((e|0)==(k[v>>2]|0))kw(w,G);else{k[e>>2]=f;k[u>>2]=(k[u>>2]|0)+4}rc[k[k[s>>2]>>2]&1023](s,f)}y=y+1|0;if((y|0)==(A|0))break a}}}g=Wu(a,c)|0;e=lD(E,104)|0;h=G;l=j+8|0;m=h+40|0;do{k[h>>2]=k[l>>2];h=h+4|0;l=l+4|0}while((h|0)<(m|0));k[e+4>>2]=0;h=e+8|0;l=G;m=h+40|0;do{k[h>>2]=k[l>>2];h=h+4|0;l=l+4|0}while((h|0)<(m|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;h=e+56|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[e+52>>2]=7;k[e+72>>2]=0;k[e+76>>2]=0;k[e+80>>2]=0;k[e>>2]=6984;k[e+68>>2]=7116;h=e+92|0;k[h>>2]=0;k[e+96>>2]=0;k[e+88>>2]=h;i[e+100>>0]=0;i[e+101>>0]=0;h=N4(E,e)|0;p=g+72|0;k[p>>2]=h;e=k[F>>2]|0;o=(k[e+76>>2]|0)-(k[e+72>>2]|0)>>2;d:do if(o>>>0>1){n=h;j=e;e=h;f=h;h=1;while(1){m=n+68|0;j=k[(k[j+72>>2]|0)+(h<<2)>>2]|0;k[G>>2]=j;l=j;if(j){k[n+84>>2]=0;e=n+76|0;f=k[e>>2]|0;if((f|0)==(k[n+80>>2]|0))nw(n+72|0,G);else{k[f>>2]=l;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[m>>2]>>2]&1023](m,j);f=k[p>>2]|0;e=f}h=h+1|0;if((h|0)==(o|0))break d;n=f;j=k[F>>2]|0}}else{f=h;e=h}while(0);if((k[f+76>>2]|0)==(k[f+72>>2]|0)){k[p>>2]=0;e=0}h=d+68|0;while(1){if(e|0){f=k[e+76>>2]|0;e=k[e+72>>2]|0;if((f|0)!=(e|0)){if((f-e|0)!=4){D=95;break}e=k[e>>2]|0;if(!e){D=95;break}if(!(Ot(e,96,736,0)|0)){D=95;break}}}if(k[g+68>>2]|0){D=95;break}f=k[g+76>>2]|0;if(!f){D=94;break}i[f+57>>0]=i[g+57>>0]|0;e=k[f+72>>2]|0;g=f}if((D|0)==94)k[G>>2]=0;else if((D|0)==95){k[G>>2]=g;k[h+16>>2]=0;e=h+8|0;f=k[e>>2]|0;if((f|0)==(k[h+12>>2]|0))kw(h+4|0,G);else{k[f>>2]=g;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[h>>2]>>2]&1023](h,g)}}while(0);if((D|0)==100)d=bn(a,c,e)|0;e=k[H>>2]|0;h=k[I>>2]|0;if((e|0)==(h|0)|(b|0)==0){K=d;r=J;return K|0}do{f=k[e>>2]|0;if(f|0){f=Ot(f,96,144,0)|0;if(f|0){g=f+96|0;f=k[g>>2]|0;if(f|0){f=Ot(f,112,160,0)|0;if(f|0){K=Oi(f,b,c)|0;k[g>>2]=K}}}}e=e+4|0}while((e|0)!=(h|0));r=J;return d|0}}K=bn(a,c,e)|0;r=J;return K|0} -function ad(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;aa=0;ga=r;r=r+1248|0;h=ga+1236|0;_=ga+1232|0;Z=ga+1220|0;da=ga+1216|0;ca=ga+1204|0;T=ga+1200|0;S=ga+1188|0;O=ga+1184|0;N=ga+1172|0;I=ga+1168|0;H=ga+1156|0;c=ga+1144|0;ba=ga+1e3|0;$=ga+984|0;ha=ga+840|0;ea=ga+680|0;fa=ga+376|0;W=ga+696|0;U=ga+216|0;V=ga+192|0;R=ga+536|0;P=ga+144|0;Q=ga+120|0;L=ga+392|0;J=ga+108|0;K=ga+96|0;F=ga+232|0;D=ga+204|0;B=ga+180|0;j=ga+84|0;t=ga+168|0;s=ga+156|0;q=ga+72|0;o=ga+132|0;l=ga+60|0;n=ga+48|0;u=ga+36|0;v=ga+24|0;w=ga+12|0;y=ga;x=0;pa(4);x=0;X=eb(800,4384,4320,952,4584,0)|0;Y=M;if((Y|0)==(tb(800)|0)){A=Bb(X|0)|0;G=F+64|0;b=F+8|0;k[b>>2]=8236;E=F+12|0;k[F>>2]=8440;k[G>>2]=8460;k[F+4>>2]=0;x=0;sa(452,F+64|0,E|0);C=x;x=0;a:do if(C&1){b=mb()|0;aa=210}else{k[F+136>>2]=0;k[F+140>>2]=-1;k[F>>2]=8216;k[G>>2]=8256;k[b>>2]=8236;x=0;ra(324,E|0);C=x;x=0;do if(C&1)b=mb()|0;else{k[E>>2]=8272;C=F+44|0;k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;k[C+12>>2]=0;k[F+60>>2]=24;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;sa(453,E|0,c|0);z=x;x=0;if(z&1){b=mb()|0;P1(c);P1(C);D2(E);break}P1(c);x=0;ra(329,D|0);z=x;x=0;if(z&1)b=mb()|0;else{x=0;b=ua(k[(k[A>>2]|0)+12>>2]|0,A|0)|0;aa=x;x=0;if(aa&1)aa=212;else{aa=OD(b)|0;x=0;Qa(74,B|0,b|0,aa|0);aa=x;x=0;if(aa&1)aa=212;else{z=F+8|0;b=i[B>>0]|0;aa=(b&1)==0;p=B+4|0;x=0;b=xa(49,z|0,(aa?B+1|0:k[B+8>>2]|0)|0,(aa?(b&255)>>>1:k[p>>2]|0)|0)|0;aa=x;x=0;b:do if(aa&1)aa=215;else{x=0;xa(49,b|0,48464,2)|0;aa=x;x=0;if(aa&1)aa=215;else{b=tc[k[(k[A>>2]|0)+8>>2]&511](A)|0;do if(!b)aa=225;else{e=j+8|0;f=j+1|0;g=j+4|0;d=0;c:while(1){c=i[b>>0]|0;switch(c<<24>>24){case 0:{aa=224;break c}case 10:case 13:{d=1;break}default:if(d){aa=i[B>>0]|0;x=0;Qa(114,j|0,((aa&1)==0?(aa&255)>>>1:k[p>>2]|0)+2|0,32);aa=x;x=0;if(aa&1){aa=214;break c}aa=i[j>>0]|0;m=(aa&1)==0;x=0;xa(49,z|0,(m?f:k[e>>2]|0)|0,(m?(aa&255)>>>1:k[g>>2]|0)|0)|0;aa=x;x=0;if(aa&1){aa=221;break c}P1(j);c=i[b>>0]|0;d=0}else d=0}i[h>>0]=c;x=0;xa(49,z|0,h|0,1)|0;aa=x;x=0;if(aa&1){aa=214;break}b=b+1|0}if((aa|0)==214){b=mb()|0;aa=216;break b}else if((aa|0)==221){b=mb()|0;P1(j);break b}else if((aa|0)==224)if(d)break;else{aa=225;break}}while(0);if((aa|0)==225){x=0;xa(49,z|0,43502,1)|0;m=x;x=0;if(m&1){aa=215;break}}m=A+72|0;b=k[m>>2]|0;d:do if(!b){c=A+32|0;s=k[A+44>>2]|0;t=OD(s)|0;x=0;Qa(74,l|0,s|0,t|0);t=x;x=0;if(t&1){aa=215;break b}x=0;Ua(19,o|0,l|0,D|0,D|0);t=x;x=0;if(t&1){b=mb()|0;P1(l);break b}P1(l);t=i[B>>0]|0;x=0;Qa(114,n|0,((t&1)==0?(t&255)>>>1:k[p>>2]|0)+2|0,32);t=x;x=0;do if(t&1)aa=256;else{t=i[n>>0]|0;s=(t&1)==0;x=0;xa(49,z|0,(s?n+1|0:k[n+8>>2]|0)|0,(s?(t&255)>>>1:k[n+4>>2]|0)|0)|0;t=x;x=0;if(t&1){b=mb()|0;P1(n);break}P1(n);x=0;b=xa(49,z|0,43217,9)|0;t=x;x=0;if(t&1){aa=256;break}x=0;b=Ka(860,b|0,(k[c>>2]|0)+1|0)|0;t=x;x=0;if(t&1){aa=256;break}x=0;b=xa(49,b|0,43239,4)|0;t=x;x=0;if(t&1){aa=256;break}t=i[o>>0]|0;s=(t&1)==0;x=0;b=xa(49,b|0,(s?o+1|0:k[o+8>>2]|0)|0,(s?(t&255)>>>1:k[o+4>>2]|0)|0)|0;t=x;x=0;if(t&1){aa=256;break}x=0;xa(49,b|0,43502,1)|0;t=x;x=0;if(t&1){aa=256;break}P1(o);m=c;break d}while(0);if((aa|0)==256)b=mb()|0;P1(o);break b}else{if((((k[b+4>>2]|0)-(k[b>>2]|0)>>2)+-1|0)>>>0<=1){m=A+32|0;break}d=q+8|0;e=q+1|0;f=q+4|0;g=A+32|0;h=s+8|0;j=s+1|0;l=s+4|0;c=1;while(1){n=k[k[(k[b>>2]|0)+(c<<2)>>2]>>2]|0;o=OD(n)|0;x=0;Qa(74,t|0,n|0,o|0);o=x;x=0;if(o&1){aa=213;break}x=0;Ua(19,s|0,t|0,D|0,D|0);o=x;x=0;if(o&1){aa=240;break}o=i[B>>0]|0;x=0;Qa(114,q|0,((o&1)==0?(o&255)>>>1:k[p>>2]|0)+2|0,32);o=x;x=0;if(o&1){aa=241;break}o=i[q>>0]|0;n=(o&1)==0;x=0;xa(49,z|0,(n?e:k[d>>2]|0)|0,(n?(o&255)>>>1:k[f>>2]|0)|0)|0;o=x;x=0;if(o&1){aa=242;break}P1(q);o=(c|0)==1;x=0;xa(49,z|0,(o?43217:43227)|0,(o?9:11)|0)|0;o=x;x=0;if(o&1){aa=241;break}x=0;b=Ka(860,z|0,(k[g>>2]|0)+1|0)|0;o=x;x=0;if(o&1){aa=241;break}x=0;b=xa(49,b|0,43239,4)|0;o=x;x=0;if(o&1){aa=241;break}o=i[s>>0]|0;n=(o&1)==0;x=0;b=xa(49,b|0,(n?j:k[h>>2]|0)|0,(n?(o&255)>>>1:k[l>>2]|0)|0)|0;o=x;x=0;if(o&1){aa=241;break}x=0;xa(49,b|0,43502,1)|0;o=x;x=0;if(o&1){aa=241;break}P1(s);P1(t);c=c+1|0;b=k[m>>2]|0;if(c>>>0>=(((k[b+4>>2]|0)-(k[b>>2]|0)>>2)+-1|0)>>>0){m=g;break d}}if((aa|0)==213){b=mb()|0;aa=216;break b}else if((aa|0)==240)b=mb()|0;else if((aa|0)==241){b=mb()|0;aa=243}else if((aa|0)==242){b=mb()|0;P1(q);aa=243}if((aa|0)==243)P1(s);P1(t);break b}while(0);d=k[m>>2]|0;e:do if((d|0)!=-1){l=A+36|0;e=k[l>>2]|0;if((e|0)!=-1){b=k[A+48>>2]|0;f:do if(!b){b=0;c=0}else{c=i[b>>0]|0;if((d|0)!=0&c<<24>>24!=0)do{d=((c<<24>>24==10)<<31>>31)+d|0;b=b+1|0;c=i[b>>0]|0}while((d|0)!=0&c<<24>>24!=0);if(!b){b=0;c=0;break}else c=b;while(1){switch(i[c>>0]|0){case 13:case 10:case 0:break f;default:{}}c=c+1|0}}while(0);j=e>>>0>42?e+-42|0:0;d=c-b-j|0;x=0;h=xa(49,z|0,43244,3)|0;t=x;x=0;if(t&1){aa=215;break b}e=b+j|0;f=c+(d>>>0>78?78-d|0:0)|0;g=f-e|0;do if(g>>>0>4294967279){x=0;ra(331,u|0);aa=x;x=0;if(aa&1){aa=215;break b}else aa=272}else{if(g>>>0>=11){aa=272;break}i[u>>0]=g<<1;b=u+1|0}while(0);if((aa|0)==272){c=g+16&-16;x=0;b=ua(186,c|0)|0;t=x;x=0;if(t&1){aa=215;break b}k[u+8>>2]=b;k[u>>2]=c|1;k[u+4>>2]=g}if((e|0)!=(f|0)){c=e;d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(f|0))break;else d=d+1|0}b=b+g|0}i[b>>0]=0;b=i[u>>0]|0;t=(b&1)==0;x=0;b=xa(49,h|0,(t?u+1|0:k[u+8>>2]|0)|0,(t?(b&255)>>>1:k[u+4>>2]|0)|0)|0;t=x;x=0;do if(!(t&1)){x=0;xa(49,b|0,43502,1)|0;t=x;x=0;if(t&1)break;P1(u);x=0;b=xa(49,z|0,43248,3)|0;u=x;x=0;if(u&1){aa=215;break b}x=0;Qa(114,v|0,(k[l>>2]|0)-j|0,45);u=x;x=0;if(u&1){aa=215;break b}u=i[v>>0]|0;t=(u&1)==0;x=0;b=xa(49,b|0,(t?v+1|0:k[v+8>>2]|0)|0,(t?(u&255)>>>1:k[v+4>>2]|0)|0)|0;u=x;x=0;do if(!(u&1)){x=0;xa(49,b|0,43252,2)|0;u=x;x=0;if(u&1)break;P1(v);break e}while(0);b=mb()|0;P1(v);break b}while(0);b=mb()|0;P1(u);break b}}while(0);x=0;f=Oa(1)|0;v=x;x=0;if(v&1)aa=215;else{x=0;b=va(2,1.0)|0;v=x;x=0;if(v&1)aa=215;else{x=0;Qa(140,f|0,43144,b|0);v=x;x=0;if(v&1){aa=215;break}e=A+44|0;x=0;b=ua(258,k[e>>2]|0)|0;v=x;x=0;if(v&1){aa=215;break}x=0;Qa(140,f|0,44316,b|0);v=x;x=0;if(v&1){aa=215;break}x=0;b=va(2,+(+(((k[m>>2]|0)+1|0)>>>0)))|0;v=x;x=0;if(v&1){aa=215;break}x=0;Qa(140,f|0,43255,b|0);v=x;x=0;if(v&1){aa=215;break}d=A+36|0;x=0;b=va(2,+(+(((k[d>>2]|0)+1|0)>>>0)))|0;v=x;x=0;if(v&1){aa=215;break}x=0;Qa(140,f|0,43260,b|0);v=x;x=0;if(v&1){aa=215;break}b=tc[k[(k[A>>2]|0)+8>>2]&511](A)|0;x=0;b=ua(258,b|0)|0;v=x;x=0;if(v&1){aa=215;break}x=0;Qa(140,f|0,43151,b|0);v=x;x=0;if(v&1){aa=215;break}x=0;sa(454,w|0,E|0);v=x;x=0;if(v&1){aa=215;break}x=0;b=ua(258,((i[w>>0]&1)==0?w+1|0:k[w+8>>2]|0)|0)|0;v=x;x=0;do if(!(v&1)){x=0;Qa(140,f|0,43159,b|0);v=x;x=0;if(v&1)break;P1(w);x=0;b=Ka(904,f|0,42986)|0;w=x;x=0;if(w&1){w=Eb(0)|0;Bb(w|0)|0;x=0;pa(3);w=x;x=0;if(w&1){aa=215;break b}}else k[a+84>>2]=b;x=0;sa(454,y|0,E|0);w=x;x=0;if(w&1){aa=215;break b}x=0;b=ua(192,((i[y>>0]&1)==0?y+1|0:k[y+8>>2]|0)|0)|0;w=x;x=0;if(w&1){b=mb()|0;P1(y);break b}k[a+92>>2]=b;P1(y);b=tc[k[(k[A>>2]|0)+8>>2]&511](A)|0;x=0;b=ua(192,b|0)|0;aa=x;x=0;if(aa&1){aa=215;break b}k[a+88>>2]=b;c=a+80|0;k[c>>2]=1;x=0;b=ua(192,k[e>>2]|0)|0;aa=x;x=0;if(aa&1){aa=215;break b}k[a+96>>2]=b;k[a+100>>2]=(k[m>>2]|0)+1;k[a+104>>2]=(k[d>>2]|0)+1;k[a+108>>2]=k[A+48>>2];k[a+72>>2]=0;k[a+76>>2]=0;x=0;ra(348,f|0);aa=x;x=0;if(aa&1){aa=215;break b}P1(B);P1(D);k[F>>2]=8216;k[G>>2]=8256;k[z>>2]=8236;k[E>>2]=8272;P1(C);D2(E);P9(G);xb();ha=c;ha=k[ha>>2]|0;r=ga;return ha|0}while(0);b=mb()|0;P1(w)}}}}while(0);if((aa|0)==215){b=mb()|0;aa=216}P1(B)}}if((aa|0)==212)b=mb()|0;P1(D)}k[F>>2]=8216;k[G>>2]=8256;k[F+8>>2]=8236;k[E>>2]=8272;P1(C);D2(E);P9(G);break a}while(0);aa=210}while(0);if((aa|0)==210)P9(G);x=0;pa(3);G=x;x=0;if(G&1){G=Eb(0)|0;Nba(G)}else{ha=b;yb(ha|0)}}if((Y|0)==(tb(4384)|0)){f=Bb(X|0)|0;j=L+64|0;b=L+8|0;k[b>>2]=8236;h=L+12|0;k[L>>2]=8440;k[j>>2]=8460;k[L+4>>2]=0;x=0;sa(452,L+64|0,h|0);G=x;x=0;g:do if(G&1){b=mb()|0;aa=197}else{k[L+136>>2]=0;k[L+140>>2]=-1;k[L>>2]=8216;k[j>>2]=8256;k[b>>2]=8236;x=0;ra(324,h|0);G=x;x=0;do if(G&1)b=mb()|0;else{k[h>>2]=8272;g=L+44|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[L+60>>2]=24;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;x=0;sa(453,h|0,H|0);G=x;x=0;if(G&1){b=mb()|0;P1(H);P1(g);D2(h);break}P1(H);x=0;e=Oa(1)|0;H=x;x=0;h:do if(H&1)aa=198;else{c=L+8|0;x=0;b=xa(49,c|0,43116,27)|0;H=x;x=0;if(H&1)aa=198;else{H=tc[k[(k[f>>2]|0)+8>>2]&511](f)|0;d=OD(H)|0;x=0;d=xa(49,b|0,H|0,d|0)|0;H=x;x=0;if(H&1)aa=198;else{x=0;b=ua(189,d+(k[(k[d>>2]|0)+-12>>2]|0)|0)|0;H=x;x=0;if(H&1)aa=198;else{k[I>>2]=b;x=0;b=Ka(865,I|0,74172)|0;H=x;x=0;if(!(H&1)){x=0;b=Ka(k[(k[b>>2]|0)+28>>2]|0,b|0,10)|0;H=x;x=0;if(!(H&1)){J5(I);x=0;Ka(876,d|0,b|0)|0;I=x;x=0;if(I&1){aa=198;break}x=0;ua(200,d|0)|0;I=x;x=0;if(I&1){aa=198;break}x=0;b=va(2,2.0)|0;I=x;x=0;if(I&1){aa=198;break}x=0;Qa(140,e|0,43144,b|0);I=x;x=0;if(I&1){aa=198;break}b=tc[k[(k[f>>2]|0)+8>>2]&511](f)|0;x=0;b=ua(258,b|0)|0;I=x;x=0;if(I&1){aa=198;break}x=0;Qa(140,e|0,43151,b|0);I=x;x=0;if(I&1){aa=198;break}x=0;sa(454,J|0,h|0);I=x;x=0;if(I&1){aa=198;break}x=0;b=ua(258,((i[J>>0]&1)==0?J+1|0:k[J+8>>2]|0)|0)|0;I=x;x=0;do if(!(I&1)){x=0;Qa(140,e|0,43159,b|0);I=x;x=0;if(I&1)break;P1(J);x=0;b=Ka(904,e|0,42986)|0;J=x;x=0;if(J&1){J=Eb(0)|0;Bb(J|0)|0;x=0;pa(3);J=x;x=0;if(J&1){aa=198;break h}}else k[a+84>>2]=b;x=0;sa(454,K|0,h|0);J=x;x=0;if(J&1){aa=198;break h}x=0;b=ua(192,((i[K>>0]&1)==0?K+1|0:k[K+8>>2]|0)|0)|0;J=x;x=0;if(J&1){b=mb()|0;P1(K);break h}k[a+92>>2]=b;P1(K);b=tc[k[(k[f>>2]|0)+8>>2]&511](f)|0;x=0;b=ua(192,b|0)|0;aa=x;x=0;if(aa&1){aa=198;break h}k[a+88>>2]=b;b=a+80|0;k[b>>2]=2;k[a+72>>2]=0;k[a+76>>2]=0;x=0;ra(348,e|0);aa=x;x=0;if(aa&1){aa=198;break h}k[L>>2]=8216;k[j>>2]=8256;k[c>>2]=8236;k[h>>2]=8272;P1(g);D2(h);P9(j);xb();ha=b;ha=k[ha>>2]|0;r=ga;return ha|0}while(0);b=mb()|0;P1(J);break}}b=mb()|0;J5(I);aa=199}}}}while(0);if((aa|0)==198){b=mb()|0;c=L+8|0;aa=199}k[L>>2]=8216;k[j>>2]=8256;k[c>>2]=8236;k[h>>2]=8272;P1(g);D2(h);P9(j);break g}while(0);aa=197}while(0);if((aa|0)==197)P9(j);x=0;pa(3);L=x;x=0;if(L&1){L=Eb(0)|0;Nba(L)}else{ha=b;yb(ha|0)}}if((Y|0)==(tb(4320)|0)){e=Bb(X|0)|0;j=R+64|0;b=R+8|0;k[b>>2]=8236;h=R+12|0;k[R>>2]=8440;k[j>>2]=8460;k[R+4>>2]=0;x=0;sa(452,R+64|0,h|0);L=x;x=0;i:do if(L&1){b=mb()|0;aa=184}else{k[R+136>>2]=0;k[R+140>>2]=-1;k[R>>2]=8216;k[j>>2]=8256;k[b>>2]=8236;x=0;ra(324,h|0);L=x;x=0;do if(L&1)b=mb()|0;else{k[h>>2]=8272;g=R+44|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[R+60>>2]=24;k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;x=0;sa(453,h|0,N|0);L=x;x=0;if(L&1){b=mb()|0;P1(N);P1(g);D2(h);break}P1(N);x=0;f=Oa(1)|0;N=x;x=0;j:do if(N&1)aa=185;else{c=R+8|0;x=0;b=xa(49,c|0,43169,16)|0;N=x;x=0;if(N&1)aa=185;else{N=tc[k[(k[e>>2]|0)+8>>2]&511](e)|0;d=OD(N)|0;x=0;d=xa(49,b|0,N|0,d|0)|0;N=x;x=0;if(N&1)aa=185;else{x=0;b=ua(189,d+(k[(k[d>>2]|0)+-12>>2]|0)|0)|0;N=x;x=0;if(N&1)aa=185;else{k[O>>2]=b;x=0;b=Ka(865,O|0,74172)|0;N=x;x=0;if(!(N&1)){x=0;b=Ka(k[(k[b>>2]|0)+28>>2]|0,b|0,10)|0;N=x;x=0;if(!(N&1)){J5(O);x=0;Ka(876,d|0,b|0)|0;O=x;x=0;if(O&1){aa=185;break}x=0;ua(200,d|0)|0;O=x;x=0;if(O&1){aa=185;break}x=0;b=va(2,3.0)|0;O=x;x=0;if(O&1){aa=185;break}x=0;Qa(140,f|0,43144,b|0);O=x;x=0;if(O&1){aa=185;break}b=tc[k[(k[e>>2]|0)+8>>2]&511](e)|0;x=0;b=ua(258,b|0)|0;O=x;x=0;if(O&1){aa=185;break}x=0;Qa(140,f|0,43151,b|0);O=x;x=0;if(O&1){aa=185;break}x=0;sa(454,P|0,h|0);O=x;x=0;if(O&1){aa=185;break}x=0;b=ua(258,((i[P>>0]&1)==0?P+1|0:k[P+8>>2]|0)|0)|0;O=x;x=0;do if(!(O&1)){x=0;Qa(140,f|0,43159,b|0);O=x;x=0;if(O&1)break;P1(P);x=0;b=Ka(904,f|0,42986)|0;P=x;x=0;if(P&1){P=Eb(0)|0;Bb(P|0)|0;x=0;pa(3);P=x;x=0;if(P&1){aa=185;break j}}else k[a+84>>2]=b;x=0;sa(454,Q|0,h|0);P=x;x=0;if(P&1){aa=185;break j}x=0;b=ua(192,((i[Q>>0]&1)==0?Q+1|0:k[Q+8>>2]|0)|0)|0;P=x;x=0;if(P&1){b=mb()|0;P1(Q);break j}k[a+92>>2]=b;P1(Q);b=tc[k[(k[e>>2]|0)+8>>2]&511](e)|0;x=0;b=ua(192,b|0)|0;aa=x;x=0;if(aa&1){aa=185;break j}k[a+88>>2]=b;b=a+80|0;k[b>>2]=3;k[a+72>>2]=0;k[a+76>>2]=0;x=0;ra(348,f|0);aa=x;x=0;if(aa&1){aa=185;break j}k[R>>2]=8216;k[j>>2]=8256;k[c>>2]=8236;k[h>>2]=8272;P1(g);D2(h);P9(j);xb();ha=b;ha=k[ha>>2]|0;r=ga;return ha|0}while(0);b=mb()|0;P1(P);break}}b=mb()|0;J5(O);aa=186}}}}while(0);if((aa|0)==185){b=mb()|0;c=R+8|0;aa=186}k[R>>2]=8216;k[j>>2]=8256;k[c>>2]=8236;k[h>>2]=8272;P1(g);D2(h);P9(j);break i}while(0);aa=184}while(0);if((aa|0)==184)P9(j);x=0;pa(3);R=x;x=0;if(R&1){R=Eb(0)|0;Nba(R)}else{ha=b;yb(ha|0)}}if((Y|0)==(tb(952)|0)){g=Bb(X|0)|0;m=W+64|0;b=W+8|0;k[b>>2]=8236;l=W+12|0;k[W>>2]=8440;k[m>>2]=8460;k[W+4>>2]=0;x=0;sa(452,W+64|0,l|0);R=x;x=0;k:do if(R&1){b=mb()|0;aa=169}else{k[W+136>>2]=0;k[W+140>>2]=-1;k[W>>2]=8216;k[m>>2]=8256;k[b>>2]=8236;x=0;ra(324,l|0);R=x;x=0;do if(R&1)b=mb()|0;else{k[l>>2]=8272;j=W+44|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[j+12>>2]=0;k[W+60>>2]=24;k[S>>2]=0;k[S+4>>2]=0;k[S+8>>2]=0;x=0;sa(453,l|0,S|0);R=x;x=0;if(R&1){b=mb()|0;P1(S);P1(j);D2(l);break}P1(S);x=0;h=Oa(1)|0;S=x;x=0;l:do if(S&1)aa=170;else{c=W+8|0;x=0;d=xa(49,c|0,43169,16)|0;S=x;x=0;if(S&1)aa=170;else{e=i[g>>0]|0;S=(e&1)==0;f=g+8|0;b=g+1|0;x=0;e=xa(49,d|0,(S?b:k[f>>2]|0)|0,(S?(e&255)>>>1:k[g+4>>2]|0)|0)|0;S=x;x=0;if(S&1)aa=170;else{x=0;d=ua(189,e+(k[(k[e>>2]|0)+-12>>2]|0)|0)|0;S=x;x=0;if(S&1)aa=170;else{k[T>>2]=d;x=0;d=Ka(865,T|0,74172)|0;S=x;x=0;if(!(S&1)){x=0;d=Ka(k[(k[d>>2]|0)+28>>2]|0,d|0,10)|0;S=x;x=0;if(!(S&1)){J5(T);x=0;Ka(876,e|0,d|0)|0;T=x;x=0;if(T&1){aa=170;break}x=0;ua(200,e|0)|0;T=x;x=0;if(T&1){aa=170;break}x=0;d=va(2,4.0)|0;T=x;x=0;if(T&1){aa=170;break}x=0;Qa(140,h|0,43144,d|0);T=x;x=0;if(T&1){aa=170;break}if(!(i[g>>0]&1))d=b;else d=k[f>>2]|0;x=0;d=ua(258,d|0)|0;T=x;x=0;if(T&1){aa=170;break}x=0;Qa(140,h|0,43151,d|0);T=x;x=0;if(T&1){aa=170;break}x=0;sa(454,U|0,l|0);T=x;x=0;if(T&1){aa=170;break}x=0;d=ua(258,((i[U>>0]&1)==0?U+1|0:k[U+8>>2]|0)|0)|0;T=x;x=0;do if(!(T&1)){x=0;Qa(140,h|0,43159,d|0);T=x;x=0;if(T&1)break;P1(U);x=0;d=Ka(904,h|0,42986)|0;U=x;x=0;if(U&1){U=Eb(0)|0;Bb(U|0)|0;x=0;pa(3);U=x;x=0;if(U&1){aa=170;break l}}else k[a+84>>2]=d;x=0;sa(454,V|0,l|0);U=x;x=0;if(U&1){aa=170;break l}x=0;d=ua(192,((i[V>>0]&1)==0?V+1|0:k[V+8>>2]|0)|0)|0;U=x;x=0;if(U&1){b=mb()|0;P1(V);break l}k[a+92>>2]=d;P1(V);if(i[g>>0]&1)b=k[f>>2]|0;x=0;b=ua(192,b|0)|0;aa=x;x=0;if(aa&1){aa=170;break l}k[a+88>>2]=b;b=a+80|0;k[b>>2]=4;k[a+72>>2]=0;k[a+76>>2]=0;x=0;ra(348,h|0);aa=x;x=0;if(aa&1){aa=170;break l}k[W>>2]=8216;k[m>>2]=8256;k[c>>2]=8236;k[l>>2]=8272;P1(j);D2(l);P9(m);xb();ha=b;ha=k[ha>>2]|0;r=ga;return ha|0}while(0);b=mb()|0;P1(U);break}}b=mb()|0;J5(T);aa=171}}}}while(0);if((aa|0)==170){b=mb()|0;c=W+8|0;aa=171}k[W>>2]=8216;k[m>>2]=8256;k[c>>2]=8236;k[l>>2]=8272;P1(j);D2(l);P9(m);break k}while(0);aa=169}while(0);if((aa|0)==169)P9(m);x=0;pa(3);W=x;x=0;if(W&1){W=Eb(0)|0;Nba(W)}else{ha=b;yb(ha|0)}}Y=(Y|0)==(tb(4584)|0);j=Bb(X|0)|0;if(!Y){h=ba+64|0;b=ba+8|0;k[b>>2]=8236;g=ba+12|0;k[ba>>2]=8440;k[h>>2]=8460;k[ba+4>>2]=0;x=0;sa(452,ba+64|0,g|0);Y=x;x=0;m:do if(Y&1){b=mb()|0;aa=144}else{k[ba+136>>2]=0;k[ba+140>>2]=-1;k[ba>>2]=8216;k[h>>2]=8256;k[b>>2]=8236;x=0;ra(324,g|0);Y=x;x=0;do if(Y&1)b=mb()|0;else{k[g>>2]=8272;f=ba+44|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[ba+60>>2]=24;k[Z>>2]=0;k[Z+4>>2]=0;k[Z+8>>2]=0;x=0;sa(453,g|0,Z|0);Y=x;x=0;if(Y&1){b=mb()|0;P1(Z);P1(f);D2(g);break}P1(Z);x=0;e=Oa(1)|0;Z=x;x=0;do if(Z&1)aa=145;else{c=ba+8|0;x=0;d=xa(49,c|0,43186,22)|0;Z=x;x=0;if(Z&1)aa=145;else{x=0;b=ua(189,d+(k[(k[d>>2]|0)+-12>>2]|0)|0)|0;Z=x;x=0;if(Z&1)aa=145;else{k[_>>2]=b;x=0;b=Ka(865,_|0,74172)|0;Z=x;x=0;if(!(Z&1)){x=0;b=Ka(k[(k[b>>2]|0)+28>>2]|0,b|0,10)|0;Z=x;x=0;if(!(Z&1)){J5(_);x=0;Ka(876,d|0,b|0)|0;_=x;x=0;if(_&1){aa=145;break}x=0;ua(200,d|0)|0;_=x;x=0;if(_&1){aa=145;break}x=0;b=va(2,5.0)|0;_=x;x=0;if(_&1){aa=145;break}x=0;Qa(140,e|0,43144,b|0);_=x;x=0;if(_&1){aa=145;break}x=0;b=ua(258,43209)|0;_=x;x=0;if(_&1){aa=145;break}x=0;Qa(140,e|0,43151,b|0);_=x;x=0;if(_&1){aa=145;break}x=0;b=Ka(904,e|0,42986)|0;_=x;x=0;if(_&1){_=Eb(0)|0;Bb(_|0)|0;x=0;pa(3);_=x;x=0;if(_&1){aa=145;break}}else k[a+84>>2]=b;x=0;sa(454,$|0,g|0);_=x;x=0;if(_&1){aa=145;break}x=0;b=ua(192,((i[$>>0]&1)==0?$+1|0:k[$+8>>2]|0)|0)|0;_=x;x=0;if(_&1){b=mb()|0;P1($);break}k[a+92>>2]=b;P1($);x=0;b=ua(192,43209)|0;aa=x;x=0;if(aa&1){aa=145;break}k[a+88>>2]=b;b=a+80|0;k[b>>2]=5;k[a+72>>2]=0;k[a+76>>2]=0;x=0;ra(348,e|0);aa=x;x=0;if(aa&1){aa=145;break}k[ba>>2]=8216;k[h>>2]=8256;k[c>>2]=8236;k[g>>2]=8272;P1(f);D2(g);P9(h);xb();ha=b;ha=k[ha>>2]|0;r=ga;return ha|0}}b=mb()|0;J5(_);aa=146}}}while(0);if((aa|0)==145){b=mb()|0;c=ba+8|0;aa=146}k[ba>>2]=8216;k[h>>2]=8256;k[c>>2]=8236;k[g>>2]=8272;P1(f);D2(g);P9(h);break m}while(0);aa=144}while(0);if((aa|0)==144)P9(h);x=0;pa(3);ba=x;x=0;if(ba&1){ba=Eb(0)|0;Nba(ba)}else{ha=b;yb(ha|0)}}h=ha+64|0;b=ha+8|0;k[b>>2]=8236;g=ha+12|0;k[ha>>2]=8440;k[h>>2]=8460;k[ha+4>>2]=0;x=0;sa(452,ha+64|0,g|0);ba=x;x=0;n:do if(ba&1){b=mb()|0;aa=156}else{k[ha+136>>2]=0;k[ha+140>>2]=-1;k[ha>>2]=8216;k[h>>2]=8256;k[b>>2]=8236;x=0;ra(324,g|0);ba=x;x=0;do if(ba&1)b=mb()|0;else{k[g>>2]=8272;f=ha+44|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[ha+60>>2]=24;k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;x=0;sa(453,g|0,ca|0);ba=x;x=0;if(ba&1){b=mb()|0;P1(ca);P1(f);D2(g);break}P1(ca);x=0;e=Oa(1)|0;ca=x;x=0;o:do if(ca&1)aa=157;else{c=ha+8|0;x=0;b=xa(49,c|0,43169,16)|0;ca=x;x=0;if(ca&1)aa=157;else{d=OD(j)|0;x=0;d=xa(49,b|0,j|0,d|0)|0;ca=x;x=0;if(ca&1)aa=157;else{x=0;b=ua(189,d+(k[(k[d>>2]|0)+-12>>2]|0)|0)|0;ca=x;x=0;if(ca&1)aa=157;else{k[da>>2]=b;x=0;b=Ka(865,da|0,74172)|0;ca=x;x=0;if(!(ca&1)){x=0;b=Ka(k[(k[b>>2]|0)+28>>2]|0,b|0,10)|0;ca=x;x=0;if(!(ca&1)){J5(da);x=0;Ka(876,d|0,b|0)|0;da=x;x=0;if(da&1){aa=157;break}x=0;ua(200,d|0)|0;da=x;x=0;if(da&1){aa=157;break}x=0;b=va(2,4.0)|0;da=x;x=0;if(da&1){aa=157;break}x=0;Qa(140,e|0,43144,b|0);da=x;x=0;if(da&1){aa=157;break}x=0;b=ua(258,j|0)|0;da=x;x=0;if(da&1){aa=157;break}x=0;Qa(140,e|0,43151,b|0);da=x;x=0;if(da&1){aa=157;break}x=0;sa(454,ea|0,g|0);da=x;x=0;if(da&1){aa=157;break}x=0;b=ua(258,((i[ea>>0]&1)==0?ea+1|0:k[ea+8>>2]|0)|0)|0;da=x;x=0;do if(!(da&1)){x=0;Qa(140,e|0,43159,b|0);da=x;x=0;if(da&1)break;P1(ea);x=0;b=Ka(904,e|0,42986)|0;ea=x;x=0;if(ea&1){ea=Eb(0)|0;Bb(ea|0)|0;x=0;pa(3);ea=x;x=0;if(ea&1){aa=157;break o}}else k[a+84>>2]=b;x=0;sa(454,fa|0,g|0);ea=x;x=0;if(ea&1){aa=157;break o}x=0;b=ua(192,((i[fa>>0]&1)==0?fa+1|0:k[fa+8>>2]|0)|0)|0;ea=x;x=0;if(ea&1){b=mb()|0;P1(fa);break o}k[a+92>>2]=b;P1(fa);x=0;b=ua(192,j|0)|0;fa=x;x=0;if(fa&1){aa=157;break o}k[a+88>>2]=b;b=a+80|0;k[b>>2]=4;k[a+72>>2]=0;k[a+76>>2]=0;x=0;ra(348,e|0);a=x;x=0;if(a&1){aa=157;break o}k[ha>>2]=8216;k[h>>2]=8256;k[c>>2]=8236;k[g>>2]=8272;P1(f);D2(g);P9(h);xb();ha=b;ha=k[ha>>2]|0;r=ga;return ha|0}while(0);b=mb()|0;P1(ea);break}}b=mb()|0;J5(da);aa=158}}}}while(0);if((aa|0)==157){b=mb()|0;c=ha+8|0;aa=158}k[ha>>2]=8216;k[h>>2]=8256;k[c>>2]=8236;k[g>>2]=8272;P1(f);D2(g);P9(h);break n}while(0);aa=156}while(0);if((aa|0)==156)P9(h);xb();ha=b;yb(ha|0);return 0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,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,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,ra=0,ta=0,va=0,wa=0,ya=0;na=0;da=r;r=r+992|0;ca=da+904|0;ya=da+832|0;f=da+892|0;e=da+880|0;m=da+844|0;va=da+820|0;ta=da+808|0;ra=da+796|0;j=da+772|0;g=da+760|0;oa=da+784|0;l=da+724|0;h=da+712|0;n=da+664|0;u=da+628|0;A=da+616|0;v=da+604|0;o=da+592|0;p=da+580|0;w=da+568|0;q=da+556|0;s=da+544|0;y=da+532|0;t=da+520|0;z=da+472|0;C=da+432|0;E=da+420|0;D=da+408|0;B=da+396|0;Y=da+748|0;H=da+384|0;T=da+372|0;I=da+360|0;O=da+348|0;J=da+336|0;P=da+324|0;K=da+312|0;L=da+264|0;U=da+228|0;W=da+216|0;V=da+204|0;Q=da+192|0;ma=da+736|0;Z=da+180|0;fa=da+168|0;_=da+156|0;$=da+144|0;ga=da+132|0;aa=da+120|0;ba=da+72|0;ja=da+36|0;la=da+24|0;ka=da+12|0;ha=da;_G(f,b);x=0;sa(430,e|0,c|0);wa=x;x=0;do if(wa&1)d=mb()|0;else{x=0;Qa(132,ya|0,f|0,e|0);wa=x;x=0;if(wa&1){d=mb()|0;P1(e);break}P1(e);P1(f);x=0;Qa(74,m|0,34245,5);wa=x;x=0;do if(wa&1){e=m;na=40}else{e=m+12|0;x=0;Qa(74,e|0,34251,5);wa=x;x=0;if(wa&1)na=40;else{e=m+24|0;x=0;Qa(74,e|0,34257,4);wa=x;x=0;if(wa&1)na=40;else{x=0;wa=ua(186,36)|0;pa=x;x=0;if(pa&1)d=mb()|0;else{x=0;sa(430,wa|0,m|0);pa=x;x=0;if(pa&1)e=wa;else{e=wa+12|0;x=0;sa(430,e|0,m+12|0);pa=x;x=0;if(!(pa&1)){e=wa+24|0;x=0;sa(430,e|0,m+24|0);pa=x;x=0;if(!(pa&1)){X=wa+36|0;P1(m+24|0);P1(m+12|0);P1(m);e=vD(c,47,-1)|0;if((e|0)==-1){x=0;Qa(74,va|0,78097,0);pa=x;x=0;if(pa&1)na=43;else na=15}else{x=0;qa(4,va|0,c|0,0,e+1|0,c|0);pa=x;x=0;if(pa&1)na=43;else na=15}if((na|0)==15){e=vD(c,47,-1)|0;if((e|0)==-1){x=0;sa(430,ta|0,c|0);pa=x;x=0;if(pa&1)na=44;else na=18}else{x=0;qa(4,ta|0,c|0,e+1|0,-1,c|0);pa=x;x=0;if(pa&1)na=44;else na=18}if((na|0)==18){k[a>>2]=0;pa=a+4|0;k[pa>>2]=0;k[a+8>>2]=0;x=0;sa(430,j|0,va|0);S=x;x=0;a:do if(S&1){d=mb()|0;c=M}else{x=0;sa(430,g|0,ta|0);S=x;x=0;do if(S&1){d=mb()|0;e=M}else{x=0;Qa(132,ra|0,j|0,g|0);S=x;x=0;if(S&1){d=mb()|0;e=M;P1(g);break}P1(g);P1(j);x=0;sa(430,l|0,b|0);S=x;x=0;b:do if(S&1){d=mb()|0;e=M}else{x=0;sa(430,h|0,ra|0);S=x;x=0;do if(S&1){d=mb()|0;e=M}else{x=0;Qa(132,oa|0,l|0,h|0);S=x;x=0;if(S&1){d=mb()|0;e=M;P1(h);break}P1(h);P1(l);R=oa+8|0;S=oa+1|0;c:do if(!(pL((i[oa>>0]&1)==0?S:k[R>>2]|0,ca)|0)){if((k[ca+12>>2]&61440|0)==16384){na=66;break}x=0;sa(430,A|0,ra|0);G=x;x=0;if(G&1){na=55;break}x=0;sa(430,v|0,b|0);G=x;x=0;if(G&1){d=mb()|0;e=M}else{x=0;Qa(93,u|0,A|0,v|0);G=x;x=0;if(G&1){d=mb()|0;e=M}else{x=0;sa(430,o|0,oa|0);G=x;x=0;if(G&1){d=mb()|0;e=M}else{x=0;Qa(94,n|0,u|0,o|0);G=x;x=0;d:do if(G&1){d=mb()|0;e=M}else{e=k[pa>>2]|0;do if(e>>>0<(k[a+8>>2]|0)>>>0){k[e>>2]=k[n>>2];k[e+4>>2]=k[n+4>>2];k[e+8>>2]=k[n+8>>2];k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;na=e+12|0;c=n+12|0;k[na>>2]=k[c>>2];k[na+4>>2]=k[c+4>>2];k[na+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;na=e+24|0;f=n+24|0;k[na>>2]=k[f>>2];k[na+4>>2]=k[f+4>>2];k[na+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;na=e+36|0;e=n+36|0;k[na>>2]=k[e>>2];k[na+4>>2]=k[e+4>>2];k[na+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[pa>>2]=(k[pa>>2]|0)+48}else{x=0;sa(527,a|0,n|0);G=x;x=0;if(G&1){d=mb()|0;e=M;P1(n+36|0);P1(n+24|0);P1(n+12|0);P1(n);break d}else{e=n+36|0;f=n+24|0;c=n+12|0;break}}while(0);P1(e);P1(f);P1(c);P1(n);P1(o);P1(u+24|0);P1(u+12|0);P1(u);P1(v);P1(A);na=66;break c}while(0);P1(o)}P1(u+24|0);P1(u+12|0);P1(u)}P1(v)}P1(A)}else na=66;while(0);e:do if((na|0)==66){x=0;sa(430,w|0,va|0);G=x;x=0;if(G&1){na=55;break}k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;e=i[ta>>0]|0;A=ta+4|0;e=(e&1)==0?(e&255)>>>1:k[A>>2]|0;x=0;Ua(10,q|0,34262,1,e+1|0);G=x;x=0;do if(G&1)na=96;else{F=ta+8|0;G=ta+1|0;x=0;xa(46,q|0,((i[ta>>0]&1)==0?G:k[F>>2]|0)|0,e|0)|0;v=x;x=0;if(v&1){na=96;break}x=0;Qa(132,p|0,w|0,q|0);v=x;x=0;if(v&1){d=mb()|0;e=M;P1(q);break}if(!(i[ra>>0]&1)){i[ra+1>>0]=0;i[ra>>0]=0}else{i[k[ra+8>>2]>>0]=0;k[ra+4>>2]=0}x=0;sa(443,ra|0,0);v=x;x=0;if(v&1){v=Eb(0)|0;Nba(v)}k[ra>>2]=k[p>>2];k[ra+4>>2]=k[p+4>>2];k[ra+8>>2]=k[p+8>>2];k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;P1(p);P1(q);P1(w);x=0;sa(430,y|0,b|0);w=x;x=0;if(w&1){na=55;break e}x=0;sa(430,t|0,ra|0);w=x;x=0;do if(w&1){d=mb()|0;e=M}else{x=0;Qa(132,s|0,y|0,t|0);w=x;x=0;if(w&1){d=mb()|0;e=M;P1(t);break}if(!(i[oa>>0]&1)){i[S>>0]=0;i[oa>>0]=0}else{i[k[R>>2]>>0]=0;k[oa+4>>2]=0}x=0;sa(443,oa|0,0);w=x;x=0;if(w&1){w=Eb(0)|0;Nba(w)}k[oa>>2]=k[s>>2];k[oa+4>>2]=k[s+4>>2];k[oa+8>>2]=k[s+8>>2];k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;P1(s);P1(t);P1(y);f:do if(!(pL((i[oa>>0]&1)==0?S:k[R>>2]|0,ca)|0)){if((k[ca+12>>2]&61440|0)==16384)break;x=0;sa(430,E|0,ra|0);y=x;x=0;if(y&1){na=55;break e}x=0;sa(430,D|0,b|0);y=x;x=0;if(y&1){d=mb()|0;e=M}else{x=0;Qa(93,C|0,E|0,D|0);y=x;x=0;if(y&1){d=mb()|0;e=M}else{x=0;sa(430,B|0,oa|0);y=x;x=0;if(y&1){d=mb()|0;e=M}else{x=0;Qa(94,z|0,C|0,B|0);y=x;x=0;g:do if(y&1){d=mb()|0;e=M}else{e=k[pa>>2]|0;do if(e>>>0<(k[a+8>>2]|0)>>>0){k[e>>2]=k[z>>2];k[e+4>>2]=k[z+4>>2];k[e+8>>2]=k[z+8>>2];k[z>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;c=e+12|0;f=z+12|0;k[c>>2]=k[f>>2];k[c+4>>2]=k[f+4>>2];k[c+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;c=e+24|0;na=z+24|0;k[c>>2]=k[na>>2];k[c+4>>2]=k[na+4>>2];k[c+8>>2]=k[na+8>>2];k[na>>2]=0;k[na+4>>2]=0;k[na+8>>2]=0;e=e+36|0;c=z+36|0;k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];k[e+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[pa>>2]=(k[pa>>2]|0)+48;e=na}else{x=0;sa(527,a|0,z|0);y=x;x=0;if(y&1){d=mb()|0;e=M;P1(z+36|0);P1(z+24|0);P1(z+12|0);P1(z);break g}else{e=z+24|0;f=z+12|0;c=z+36|0;break}}while(0);P1(c);P1(e);P1(f);P1(z);P1(B);P1(C+24|0);P1(C+12|0);P1(C);P1(D);P1(E);break f}while(0);P1(B)}P1(C+24|0);P1(C+12|0);P1(C)}P1(D)}P1(E);break e}while(0);f=Y+8|0;c=Y+1|0;g=Y+4|0;h=ra+1|0;j=ca+12|0;l=a+8|0;q=L+12|0;s=L+24|0;t=L+36|0;u=U+24|0;v=U+12|0;m=oa+4|0;n=ra+8|0;o=ra+4|0;p=wa;h:while(1){x=0;sa(430,Y|0,p|0);na=x;x=0;if(na&1){na=54;break}x=0;sa(430,T|0,va|0);na=x;x=0;if(na&1){na=144;break}k[O>>2]=0;k[O+4>>2]=0;k[O+8>>2]=0;e=i[ta>>0]|0;e=(e&1)==0?(e&255)>>>1:k[A>>2]|0;x=0;Ua(10,O|0,34262,1,e+1|0);na=x;x=0;if(na&1){na=145;break}x=0;xa(46,O|0,((i[ta>>0]&1)==0?G:k[F>>2]|0)|0,e|0)|0;na=x;x=0;if(na&1){na=145;break}e=i[Y>>0]|0;na=(e&1)==0;x=0;e=xa(46,O|0,(na?c:k[f>>2]|0)|0,(na?(e&255)>>>1:k[g>>2]|0)|0)|0;na=x;x=0;if(na&1){na=146;break}k[I>>2]=k[e>>2];k[I+4>>2]=k[e+4>>2];k[I+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;x=0;Qa(132,H|0,T|0,I|0);na=x;x=0;if(na&1){na=147;break}if(!(i[ra>>0]&1)){i[h>>0]=0;i[ra>>0]=0}else{i[k[n>>2]>>0]=0;k[o>>2]=0}x=0;sa(443,ra|0,0);na=x;x=0;if(na&1){na=123;break}k[ra>>2]=k[H>>2];k[ra+4>>2]=k[H+4>>2];k[ra+8>>2]=k[H+8>>2];k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;P1(H);P1(I);P1(O);P1(T);x=0;sa(430,P|0,b|0);na=x;x=0;if(na&1){na=144;break}x=0;sa(430,K|0,ra|0);na=x;x=0;if(na&1){na=150;break}x=0;Qa(132,J|0,P|0,K|0);na=x;x=0;if(na&1){na=151;break}if(!(i[oa>>0]&1)){i[S>>0]=0;i[oa>>0]=0}else{i[k[R>>2]>>0]=0;k[m>>2]=0}x=0;sa(443,oa|0,0);na=x;x=0;if(na&1){na=131;break}k[oa>>2]=k[J>>2];k[oa+4>>2]=k[J+4>>2];k[oa+8>>2]=k[J+8>>2];k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;P1(J);P1(K);P1(P);do if(!(pL((i[oa>>0]&1)==0?S:k[R>>2]|0,ca)|0)){if((k[j>>2]&61440|0)==16384)break;x=0;sa(430,W|0,ra|0);na=x;x=0;if(na&1){na=144;break h}x=0;sa(430,V|0,b|0);na=x;x=0;if(na&1){na=153;break h}x=0;Qa(93,U|0,W|0,V|0);na=x;x=0;if(na&1){na=154;break h}x=0;sa(430,Q|0,oa|0);na=x;x=0;if(na&1){na=155;break h}x=0;Qa(94,L|0,U|0,Q|0);na=x;x=0;if(na&1){na=156;break h}e=k[pa>>2]|0;if(e>>>0<(k[l>>2]|0)>>>0){k[e>>2]=k[L>>2];k[e+4>>2]=k[L+4>>2];k[e+8>>2]=k[L+8>>2];k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;na=e+12|0;k[na>>2]=k[q>>2];k[na+4>>2]=k[q+4>>2];k[na+8>>2]=k[q+8>>2];k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;na=e+24|0;k[na>>2]=k[s>>2];k[na+4>>2]=k[s+4>>2];k[na+8>>2]=k[s+8>>2];k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;na=e+36|0;k[na>>2]=k[t>>2];k[na+4>>2]=k[t+4>>2];k[na+8>>2]=k[t+8>>2];k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;k[pa>>2]=(k[pa>>2]|0)+48}else{x=0;sa(527,a|0,L|0);na=x;x=0;if(na&1){na=157;break h}}P1(t);P1(s);P1(q);P1(L);P1(Q);P1(u);P1(v);P1(U);P1(V);P1(W)}while(0);P1(Y);p=p+12|0;if((p|0)==(X|0)){na=112;break}}switch(na|0){case 54:{d=mb()|0;e=M;na=56;break e}case 112:{e=ma+4|0;f=ma+8|0;c=ma+1|0;g=ra+1|0;h=ca+12|0;j=a+8|0;p=ba+12|0;q=ba+24|0;s=ba+36|0;t=ja+24|0;u=ja+12|0;l=oa+4|0;m=ra+8|0;n=ra+4|0;o=wa;i:while(1){x=0;sa(430,ma|0,o|0);na=x;x=0;if(na&1){na=53;break}x=0;sa(430,fa|0,va|0);na=x;x=0;if(na&1){na=195;break}k[_>>2]=0;k[_+4>>2]=0;k[_+8>>2]=0;na=i[ta>>0]|0;Y=(na&1)==0;na=Y?(na&255)>>>1:k[A>>2]|0;d=i[ma>>0]|0;d=(d&1)==0?(d&255)>>>1:k[e>>2]|0;x=0;Ua(10,_|0,(Y?G:k[F>>2]|0)|0,na|0,d+na|0);na=x;x=0;if(na&1){na=196;break}x=0;xa(46,_|0,((i[ma>>0]&1)==0?c:k[f>>2]|0)|0,d|0)|0;na=x;x=0;if(na&1){na=196;break}x=0;Qa(132,Z|0,fa|0,_|0);na=x;x=0;if(na&1){na=197;break}if(!(i[ra>>0]&1)){i[g>>0]=0;i[ra>>0]=0}else{i[k[m>>2]>>0]=0;k[n>>2]=0}x=0;sa(443,ra|0,0);na=x;x=0;if(na&1){na=174;break}k[ra>>2]=k[Z>>2];k[ra+4>>2]=k[Z+4>>2];k[ra+8>>2]=k[Z+8>>2];k[Z>>2]=0;k[Z+4>>2]=0;k[Z+8>>2]=0;P1(Z);P1(_);P1(fa);x=0;sa(430,ga|0,b|0);na=x;x=0;if(na&1){na=195;break}x=0;sa(430,aa|0,ra|0);na=x;x=0;if(na&1){na=199;break}x=0;Qa(132,$|0,ga|0,aa|0);na=x;x=0;if(na&1){na=200;break}if(!(i[oa>>0]&1)){i[S>>0]=0;i[oa>>0]=0}else{i[k[R>>2]>>0]=0;k[l>>2]=0}x=0;sa(443,oa|0,0);na=x;x=0;if(na&1){na=182;break}k[oa>>2]=k[$>>2];k[oa+4>>2]=k[$+4>>2];k[oa+8>>2]=k[$+8>>2];k[$>>2]=0;k[$+4>>2]=0;k[$+8>>2]=0;P1($);P1(aa);P1(ga);do if(!(pL((i[oa>>0]&1)==0?S:k[R>>2]|0,ca)|0)){if((k[h>>2]&61440|0)==16384)break;x=0;sa(430,la|0,ra|0);na=x;x=0;if(na&1){na=195;break i}x=0;sa(430,ka|0,b|0);na=x;x=0;if(na&1){na=202;break i}x=0;Qa(93,ja|0,la|0,ka|0);na=x;x=0;if(na&1){na=203;break i}x=0;sa(430,ha|0,oa|0);na=x;x=0;if(na&1){na=204;break i}x=0;Qa(94,ba|0,ja|0,ha|0);na=x;x=0;if(na&1){na=205;break i}d=k[pa>>2]|0;if(d>>>0<(k[j>>2]|0)>>>0){k[d>>2]=k[ba>>2];k[d+4>>2]=k[ba+4>>2];k[d+8>>2]=k[ba+8>>2];k[ba>>2]=0;k[ba+4>>2]=0;k[ba+8>>2]=0;na=d+12|0;k[na>>2]=k[p>>2];k[na+4>>2]=k[p+4>>2];k[na+8>>2]=k[p+8>>2];k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;na=d+24|0;k[na>>2]=k[q>>2];k[na+4>>2]=k[q+4>>2];k[na+8>>2]=k[q+8>>2];k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;na=d+36|0;k[na>>2]=k[s>>2];k[na+4>>2]=k[s+4>>2];k[na+8>>2]=k[s+8>>2];k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;k[pa>>2]=(k[pa>>2]|0)+48}else{x=0;sa(527,a|0,ba|0);na=x;x=0;if(na&1){na=206;break i}}P1(s);P1(q);P1(p);P1(ba);P1(ha);P1(t);P1(u);P1(ja);P1(ka);P1(la)}while(0);P1(ma);o=o+12|0;if((o|0)==(X|0)){na=164;break}}switch(na|0){case 53:{d=mb()|0;e=M;na=56;break e}case 164:{P1(oa);P1(ra);P1(ta);P1(va);P1(wa+24|0);P1(wa+12|0);P1(wa);uha(wa);P1(ya);r=da;return}case 174:{Nba(Eb(0)|0);break}case 182:{Nba(Eb(0)|0);break}case 195:{ia=mb()|0;ea=M;break}case 196:{d=mb()|0;e=M;P1(_);na=198;break}case 197:{d=mb()|0;e=M;P1(_);na=198;break}case 199:{d=mb()|0;e=M;na=201;break}case 200:{d=mb()|0;e=M;P1(aa);na=201;break}case 202:{d=mb()|0;e=M;na=210;break}case 203:{d=mb()|0;e=M;na=209;break}case 204:{d=mb()|0;e=M;na=208;break}case 205:{d=mb()|0;e=M;na=207;break}case 206:{d=mb()|0;e=M;P1(s);P1(q);P1(p);P1(ba);na=207;break}}if((na|0)==198){P1(fa);ia=d;ea=e}else if((na|0)==201){P1(ga);ia=d;ea=e}else if((na|0)==207){P1(ha);na=208}if((na|0)==208){P1(t);P1(u);P1(ja);na=209}if((na|0)==209){P1(ka);na=210}if((na|0)==210){P1(la);ia=d;ea=e}P1(ma);d=ia;e=ea;break e}case 123:{ma=Eb(0)|0;Nba(ma);break}case 131:{ma=Eb(0)|0;Nba(ma);break}case 144:{d=mb()|0;N=M;break}case 145:{d=mb()|0;e=M;P1(O);na=149;break}case 146:{d=mb()|0;e=M;na=148;break}case 147:{d=mb()|0;e=M;P1(I);na=148;break}case 150:{d=mb()|0;e=M;na=152;break}case 151:{d=mb()|0;e=M;P1(K);na=152;break}case 153:{d=mb()|0;e=M;na=161;break}case 154:{d=mb()|0;e=M;na=160;break}case 155:{d=mb()|0;e=M;na=159;break}case 156:{d=mb()|0;e=M;na=158;break}case 157:{d=mb()|0;e=M;P1(t);P1(s);P1(q);P1(L);na=158;break}}if((na|0)==148){P1(O);na=149}else if((na|0)==152){P1(P);N=e}else if((na|0)==158){P1(Q);na=159}if((na|0)==149){P1(T);N=e}else if((na|0)==159){P1(u);P1(v);P1(U);na=160}if((na|0)==160){P1(V);na=161}if((na|0)==161){P1(W);N=e}P1(Y);e=N;break e}while(0);P1(y);break e}while(0);if((na|0)==96){d=mb()|0;e=M;P1(q)}P1(w)}while(0);if((na|0)==55){d=mb()|0;e=M;na=56}P1(oa);break b}while(0);P1(l)}while(0);P1(ra);c=e;break a}while(0);P1(j);c=e}while(0);e=k[a>>2]|0;if(e|0){f=k[pa>>2]|0;if((f|0)!=(e|0)){do{ra=f+-48|0;k[pa>>2]=ra;P1(f+-12|0);P1(f+-24|0);P1(f+-36|0);P1(ra);f=k[pa>>2]|0}while((f|0)!=(e|0));e=k[a>>2]|0}uha(e)}P1(ta)}else if((na|0)==44)d=mb()|0;P1(va)}else if((na|0)==43)d=mb()|0;P1(wa+24|0);P1(wa+12|0);P1(wa);uha(wa);break}}}d=mb()|0;f=M;if((e|0)!=(wa|0))do{e=e+-12|0;P1(e)}while((e|0)!=(wa|0));uha(wa)}P1(m+24|0);P1(m+12|0);P1(m)}}}while(0);if((na|0)==40){d=mb()|0;f=M;if((m|0)!=(e|0))do{e=e+-12|0;P1(e)}while((e|0)!=(m|0))}P1(ya);ya=d;yb(ya|0)}while(0);P1(f);ya=d;yb(ya|0)}function cd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ha=0;ja=r;r=r+848|0;ia=ja+64|0;ca=ja+832|0;l=ja+792|0;j=ja+752|0;o=ja+712|0;p=ja+696|0;s=ja+656|0;t=ja+640|0;A=ja+496|0;u=ja+600|0;y=ja+588|0;B=ja+484|0;N=ja+416|0;C=ja+576|0;D=ja+56|0;E=ja+564|0;F=ja+552|0;G=ja+48|0;H=ja+512|0;I=ja+472|0;O=ja+432|0;P=ja+376|0;U=ja+296|0;X=ja+272|0;K=ja+232|0;Q=ja+216|0;L=ja+176|0;R=ja+160|0;S=ja+120|0;V=ja+104|0;_=ja+336|0;T=ja+40|0;W=ja+32|0;Y=ja+24|0;Z=ja+16|0;$=ja+284|0;aa=ja+8|0;ba=ja;da=k[b+56>>2]|0;e=(da|0)==11;if(e)if(i[b+48>>0]|0){ia=b+68|0;ha=k[ia>>2]|0;ha=Jc[k[(k[ha>>2]|0)+40>>2]&1023](ha,a)|0;ga=b+72|0;k[ga>>2]=0;k[ia>>2]=ha;ia=b+64|0;ha=k[ia>>2]|0;ha=Jc[k[(k[ha>>2]|0)+40>>2]&1023](ha,a)|0;k[ga>>2]=0;k[ia>>2]=ha;ia=b;r=ja;return ia|0}ga=b+64|0;c=k[ga>>2]|0;if(c|0){m=Ot(c,64,344,0)|0;if(m|0)if(!(tc[k[(k[m>>2]|0)+84>>2]&511](m)|0))if(!(tc[k[(k[m>>2]|0)+92>>2]&511](m)|0)){e=a+8|0;c=(k[e>>2]|0)+36|0;d=lD(c,84)|0;z=ia;v=m+8|0;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));k[d+4>>2]=0;z=d+8|0;v=ia;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;i[d+56>>0]=0;k[d+64>>2]=0;k[d+68>>2]=0;k[d+72>>2]=0;k[d>>2]=5788;k[d+60>>2]=5904;k[d+80>>2]=0;k[d+52>>2]=4;s=N4(c,d)|0;d=(k[e>>2]|0)+36|0;e=lD(d,76)|0;z=l;v=b+8|0;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));g=b+56|0;f=k[g>>2]|0;g=k[g+4>>2]|0;p=m+60|0;q=m+68|0;h=k[(k[q>>2]|0)+-4>>2]|0;j=b+68|0;c=k[j>>2]|0;k[e+4>>2]=0;z=e+8|0;v=l;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e+52>>2]=0;k[e>>2]=5308;n=e+56|0;k[n>>2]=f;k[n+4>>2]=g;k[e+64>>2]=h;k[e+68>>2]=c;k[e+72>>2]=0;n=N4(d,e)|0;if(!(i[(k[ga>>2]|0)+48>>0]|0))c=i[(k[j>>2]|0)+48>>0]|0;else c=1;i[n+48>>0]=c;c=m+64|0;o=s+60|0;if(((k[q>>2]|0)-(k[c>>2]|0)|0)!=4){d=o+16|0;e=o+8|0;f=o+12|0;g=o+4|0;m=0;do{h=Jc[k[(k[p>>2]|0)+12>>2]&1023](p,m)|0;h=k[h>>2]|0;h=Jc[k[(k[h>>2]|0)+40>>2]&1023](h,a)|0;k[ia>>2]=h;j=h;if(h|0){k[d>>2]=0;l=k[e>>2]|0;if((l|0)==(k[f>>2]|0))uw(g,ia);else{k[l>>2]=j;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,h)}m=m+1|0}while(m>>>0<(((k[q>>2]|0)-(k[c>>2]|0)>>2)+-1|0)>>>0)}c=Jc[k[(k[n>>2]|0)+40>>2]&1023](n,a)|0;k[ia>>2]=c;d=c;if(c|0){k[o+16>>2]=0;e=o+8|0;f=k[e>>2]|0;if((f|0)==(k[o+12>>2]|0))uw(o+4|0,ia);else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,c)}ia=Jc[k[(k[s>>2]|0)+40>>2]&1023](s,a)|0;r=ja;return ia|0}}m=b+68|0;c=k[m>>2]|0;if(c|0){l=Ot(c,64,344,0)|0;if(l|0)if(!(tc[k[(k[l>>2]|0)+84>>2]&511](l)|0))if(e|(tc[k[(k[l>>2]|0)+88>>2]&511](l)|0)^1){e=a+8|0;c=(k[e>>2]|0)+36|0;d=lD(c,84)|0;z=ia;v=l+8|0;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));k[d+4>>2]=0;z=d+8|0;v=ia;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;i[d+56>>0]=0;k[d+64>>2]=0;k[d+68>>2]=0;k[d+72>>2]=0;k[d>>2]=5788;k[d+60>>2]=5904;k[d+80>>2]=0;k[d+52>>2]=4;q=N4(c,d)|0;g=(k[e>>2]|0)+36|0;h=lD(g,76)|0;z=j;v=b+8|0;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));d=b+56|0;c=k[d>>2]|0;d=k[d+4>>2]|0;e=k[ga>>2]|0;o=l+60|0;p=l+64|0;f=k[k[p>>2]>>2]|0;k[h+4>>2]=0;z=h+8|0;v=j;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;k[h+52>>2]=0;k[h>>2]=5308;b=h+56|0;k[b>>2]=c;k[b+4>>2]=d;k[h+64>>2]=e;k[h+68>>2]=f;k[h+72>>2]=0;d=N4(g,h)|0;if(!(i[(k[ga>>2]|0)+48>>0]|0))c=i[(k[m>>2]|0)+48>>0]|0;else c=1;i[d+48>>0]=c;n=q+60|0;c=Jc[k[(k[d>>2]|0)+40>>2]&1023](d,a)|0;k[ia>>2]=c;d=c;if(c|0){k[n+16>>2]=0;e=n+8|0;f=k[e>>2]|0;if((f|0)==(k[n+12>>2]|0))uw(n+4|0,ia);else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[n>>2]>>2]&1023](n,c)}c=l+68|0;if((k[c>>2]|0)-(k[p>>2]|0)>>2>>>0>1){d=n+16|0;e=n+8|0;f=n+12|0;g=n+4|0;m=1;do{h=Jc[k[(k[o>>2]|0)+12>>2]&1023](o,m)|0;h=k[h>>2]|0;h=Jc[k[(k[h>>2]|0)+40>>2]&1023](h,a)|0;k[ia>>2]=h;j=h;if(h|0){k[d>>2]=0;l=k[e>>2]|0;if((l|0)==(k[f>>2]|0))uw(g,ia);else{k[l>>2]=j;k[e>>2]=(k[e>>2]|0)+4}rc[k[k[n>>2]>>2]&1023](n,h)}m=m+1|0}while(m>>>0<(k[c>>2]|0)-(k[p>>2]|0)>>2>>>0)}ia=Jc[k[(k[q>>2]|0)+40>>2]&1023](q,a)|0;r=ja;return ia|0}}if(e)if(i[b+48>>0]|0){ia=k[m>>2]|0;ia=Jc[k[(k[ia>>2]|0)+40>>2]&1023](ia,a)|0;ha=b+72|0;k[ha>>2]=0;k[m>>2]=ia;ia=k[ga>>2]|0;ia=Jc[k[(k[ia>>2]|0)+40>>2]&1023](ia,a)|0;k[ha>>2]=0;k[ga>>2]=ia;ia=b;r=ja;return ia|0}j=k[ga>>2]|0;g=k[m>>2]|0;e=(j|0)==0;if(!e){c=Ot(j,64,344,0)|0;if(c|0)if(tc[k[(k[c>>2]|0)+92>>2]&511](c)|0)i[b+48>>0]=1}h=(g|0)==0;if(!h){c=Ot(g,64,344,0)|0;if(c|0)if(tc[k[(k[c>>2]|0)+88>>2]&511](c)|0)i[b+48>>0]=1}q=(da|0)==2;l=da|1;switch(l|0){case 3:case 5:case 7:{a:do if(!e){c=Ot(j,64,344,0)|0;if(c|0){e=k[c+64>>2]|0;f=k[c+68>>2]|0;if((e|0)!=(f|0)){c=e;while(1){if(i[(k[c>>2]|0)+50>>0]|0)break;c=c+4|0;if((c|0)==(f|0))break a}i[b+48>>0]=1}}}while(0);b:do if(!h){c=Ot(g,64,344,0)|0;if(c|0){e=k[c+64>>2]|0;f=k[c+68>>2]|0;if((e|0)!=(f|0)){c=e;while(1){if(i[(k[c>>2]|0)+50>>0]|0)break;c=c+4|0;if((c|0)==(f|0))break b}i[b+48>>0]=1}}}while(0);i[j+49>>0]=0;rc[k[(k[j>>2]|0)+80>>2]&1023](j,0);c=Jc[k[(k[j>>2]|0)+40>>2]&1023](j,a)|0;i[c+49>>0]=0;rc[k[(k[c>>2]|0)+80>>2]&1023](c,0);c=Jc[k[(k[c>>2]|0)+40>>2]&1023](c,a)|0;i[g+49>>0]=0;rc[k[(k[g>>2]|0)+80>>2]&1023](g,0);g=Jc[k[(k[g>>2]|0)+40>>2]&1023](g,a)|0;i[g+49>>0]=0;rc[k[(k[g>>2]|0)+80>>2]&1023](g,0);J=a;g=Jc[k[(k[g>>2]|0)+40>>2]&1023](g,a)|0;break}default:{J=a;c=j}}c=Jc[k[(k[c>>2]|0)+40>>2]&1023](c,J)|0;i[c+48>>0]=0;if(!c)w3();f=k[155]|0;while(1){e=k[c>>2]|0;if((k[(k[e+-4>>2]|0)+4>>2]|0)!=(f|0)){n=e;d=c;break}if((k[c+56>>2]|0)==11)if(i[c+48>>0]|0){n=e;d=c;break}c=cd(a,c)|0;if(!c){ha=73;break}}if((ha|0)==73)w3();switch(da|0){case 0:{if(!(tc[k[n+60>>2]&511](d)|0)){ia=d;r=ja;return ia|0}ia=k[m>>2]|0;ia=Jc[k[(k[ia>>2]|0)+40>>2]&1023](ia,J)|0;r=ja;return ia|0}case 1:{if(tc[k[n+60>>2]&511](d)|0){ia=d;r=ja;return ia|0}ia=k[m>>2]|0;ia=Jc[k[(k[ia>>2]|0)+40>>2]&1023](ia,J)|0;r=ja;return ia|0}default:{c=Jc[k[(k[g>>2]|0)+40>>2]&1023](g,J)|0;l=(l|0)==11;c:do if(l)if(!c)c=0;else{e=Ot(c,64,432,0)|0;if(e){g=e+60|0;_G(ia,g);x=0;e=ua(204,((i[ia>>0]&1)==0?ia+1|0:k[ia+8>>2]|0)|0)|0;z=x;x=0;d:do if(z&1)ha=93;else{e:do if(e){e=(k[a+8>>2]|0)+36|0;x=0;f=Ka(856,e|0,76)|0;z=x;x=0;if(z&1){ha=93;break d}z=o;v=c+8|0;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));x=0;sa(430,p|0,g|0);z=x;x=0;if(z&1){ha=93;break d}k[f+4>>2]=0;z=f+8|0;v=o;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));i[f+48>>0]=1;i[f+49>>0]=1;i[f+50>>0]=0;k[f+52>>2]=0;k[f>>2]=11224;k[f+56>>2]=2;x=0;sa(430,f+60|0,p|0);z=x;x=0;do if(!(z&1)){k[f+72>>2]=0;x=0;c=Ka(857,e|0,f|0)|0;z=x;x=0;if(z&1)break;P1(p);i[c+48>>0]=0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,J|0)|0;ha=x;x=0;if(ha&1){ha=93;break d}else break e}while(0);c=mb()|0;P1(p);break d}while(0);P1(ia);break c}while(0);if((ha|0)==93)c=mb()|0;P1(ia);ja=c;yb(ja|0)}}while(0);e=k[ga>>2]|0;f=(e|0)==0;if(f)j=0;else j=Ot(e,64,344,0)|0;g=k[m>>2]|0;h=(g|0)==0;if(h)o=0;else o=Ot(g,64,344,0)|0;if(f)f=0;else f=Ot(e,64,616,0)|0;if(h)e=0;else e=Ot(g,64,616,0)|0;n=(o|0)!=0;if(n)if(tc[k[(k[o>>2]|0)+88>>2]&511](o)|0){e=1;ha=113}else ha=107;else ha=107;do if((ha|0)==107){if(j|0)if(tc[k[(k[j>>2]|0)+92>>2]&511](j)|0){e=1;ha=114;break}if(f|0)if(tc[k[(k[f>>2]|0)+92>>2]&511](f)|0){e=1;ha=113;break}if(!e){e=0;ha=113}else{e=tc[k[(k[e>>2]|0)+88>>2]&511](e)|0;ha=113}}while(0);if((ha|0)==113)if(!j)ha=117;else ha=114;f:do if((ha|0)==114){f=k[j+64>>2]|0;g=k[j+68>>2]|0;if((f|0)==(g|0))ha=117;else while(1){if(i[(k[f>>2]|0)+50>>0]|0){m=e;ha=123;break f}f=f+4|0;if((f|0)==(g|0)){ha=117;break}}}while(0);g:do if((ha|0)==117){if(!n)if(e){m=1;ha=123;break}else{l=d;j=c;h=0;break}f=k[o+64>>2]|0;g=k[o+68>>2]|0;if((f|0)!=(g|0))do{if(i[(k[f>>2]|0)+50>>0]|0){m=e;ha=123;break g}f=f+4|0}while((f|0)!=(g|0));if(e){m=1;ha=123}else{l=d;j=c;h=0}}while(0);h:do if((ha|0)==123){i:do if(q|((da|0)==9|((da|4|0)==12|l))){j:do if(!d)d=0;else{e=Ot(d,64,432,0)|0;if(e){g=e+60|0;_G(ca,g);x=0;e=ua(205,((i[ca>>0]&1)==0?ca+1|0:k[ca+8>>2]|0)|0)|0;z=x;x=0;k:do if(z&1)ha=135;else{l:do if(e){x=0;e=ua(206,e|0)|0;z=x;x=0;if(z&1){ha=135;break k}if(!e)break;e=(k[a+8>>2]|0)+36|0;x=0;f=Ka(856,e|0,76)|0;z=x;x=0;if(z&1){ha=135;break k}z=s;v=d+8|0;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));x=0;sa(430,t|0,g|0);z=x;x=0;if(z&1){ha=135;break k}k[f+4>>2]=0;z=f+8|0;v=s;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));i[f+48>>0]=1;i[f+49>>0]=1;i[f+50>>0]=0;k[f+52>>2]=0;k[f>>2]=11224;k[f+56>>2]=2;x=0;sa(430,f+60|0,t|0);z=x;x=0;do if(!(z&1)){k[f+72>>2]=0;x=0;d=Ka(857,e|0,f|0)|0;z=x;x=0;if(z&1)break;P1(t);i[d+48>>0]=0;x=0;d=Ka(k[(k[d>>2]|0)+40>>2]|0,d|0,J|0)|0;z=x;x=0;if(z&1){ha=135;break k}else break l}while(0);c=mb()|0;P1(t);break k}while(0);P1(ca);break j}while(0);if((ha|0)==135)c=mb()|0;P1(ca);ja=c;yb(ja|0)}}while(0);if(!c){l=d;c=0}else{e=Ot(c,64,432,0)|0;if(!e)l=d;else{g=e+60|0;_G(A,g);x=0;e=ua(204,((i[A>>0]&1)==0?A+1|0:k[A+8>>2]|0)|0)|0;z=x;x=0;m:do if(z&1)ha=148;else{n:do if(e){e=(k[a+8>>2]|0)+36|0;x=0;f=Ka(856,e|0,76)|0;z=x;x=0;if(z&1){ha=148;break m}z=u;v=c+8|0;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));x=0;sa(430,y|0,g|0);z=x;x=0;if(z&1){ha=148;break m}k[f+4>>2]=0;z=f+8|0;v=u;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));i[f+48>>0]=1;i[f+49>>0]=1;i[f+50>>0]=0;k[f+52>>2]=0;k[f>>2]=11224;k[f+56>>2]=2;x=0;sa(430,f+60|0,y|0);z=x;x=0;do if(!(z&1)){k[f+72>>2]=0;x=0;c=Ka(857,e|0,f|0)|0;z=x;x=0;if(z&1)break;P1(y);i[c+48>>0]=0;x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,J|0)|0;z=x;x=0;if(z&1){ha=148;break m}else break n}while(0);c=mb()|0;P1(y);break m}while(0);P1(A);l=d;break i}while(0);if((ha|0)==148)c=mb()|0;P1(A);ja=c;yb(ja|0)}}}else l=d;while(0);j=a+8|0;g=k[j>>2]|0;k[B>>2]=16764;k[B+4>>2]=g;k[B+8>>2]=g+36;x=0;g=Ka(k[(k[l>>2]|0)+56>>2]|0,l|0,B|0)|0;A=x;x=0;o:do if(!(A&1)){x=0;h=Ka(k[(k[c>>2]|0)+56>>2]|0,c|0,B|0)|0;B=x;x=0;if(!(B&1)){p:do if(n){d=k[o+64>>2]|0;e=k[o+68>>2]|0;if((d|0)==(e|0)){d=0;break}else f=d;while(1){if(i[(k[f>>2]|0)+50>>0]|0)break;f=f+4|0;if((f|0)==(e|0)){d=0;break p}}if((e|0)==(d|0)){d=0;break}d=k[d>>2]|0;if(!d){d=0;break}d=Ot(d,64,648,0)|0;if(!d){d=0;break}if(i[d+50>>0]|0){d=0;break}x=0;c=Ka(k[(k[d>>2]|0)+40>>2]|0,d|0,J|0)|0;B=x;x=0;if(B&1)break o;else d=1}else d=0;while(0);if(!m){j=c;h=d;break h}x=0;Qa(74,N|0,78097,0);fa=x;x=0;if(fa&1)break;fa=k[(k[g>>2]|0)+20>>2]|0;ca=k[(k[j>>2]|0)+16>>2]|0;da=k[ca+4>>2]|0;ea=D;k[ea>>2]=k[ca>>2];k[ea+4>>2]=da;x=0;k[ia>>2]=k[D>>2];k[ia+4>>2]=k[D+4>>2];Qa(fa|0,C|0,g|0,ia|0);fa=x;x=0;q:do if(fa&1)ha=171;else{fa=i[C>>0]|0;ea=(fa&1)==0;x=0;xa(46,N|0,(ea?C+1|0:k[C+8>>2]|0)|0,(ea?(fa&255)>>>1:k[C+4>>2]|0)|0)|0;fa=x;x=0;if(fa&1){c=mb()|0;P1(C);break}P1(C);c=b+56|0;if((k[c+4>>2]&255)<<24>>24){x=0;Ka(866,N|0,41822)|0;fa=x;x=0;if(fa&1){ha=171;break}}x=0;sa(490,E|0,b|0);b=x;x=0;if(b&1){ha=171;break}b=i[E>>0]|0;fa=(b&1)==0;x=0;xa(46,N|0,(fa?E+1|0:k[E+8>>2]|0)|0,(fa?(b&255)>>>1:k[E+4>>2]|0)|0)|0;b=x;x=0;if(b&1){c=mb()|0;P1(E);break}P1(E);b=c;b=SN(k[b>>2]|0,k[b+4>>2]|0,40)|0;if((b&255)<<24>>24){x=0;Ka(866,N|0,41822)|0;b=x;x=0;if(b&1){ha=171;break}}b=k[(k[h>>2]|0)+20>>2]|0;da=k[(k[j>>2]|0)+16>>2]|0;ea=k[da+4>>2]|0;fa=G;k[fa>>2]=k[da>>2];k[fa+4>>2]=ea;x=0;k[ia>>2]=k[G>>2];k[ia+4>>2]=k[G+4>>2];Qa(b|0,F|0,h|0,ia|0);ia=x;x=0;if(ia&1){ha=171;break}ia=i[F>>0]|0;b=(ia&1)==0;x=0;xa(46,N|0,(b?F+1|0:k[F+8>>2]|0)|0,(b?(ia&255)>>>1:k[F+4>>2]|0)|0)|0;ia=x;x=0;if(ia&1){c=mb()|0;P1(F);break}P1(F);c=(k[j>>2]|0)+36|0;x=0;d=Ka(856,c|0,76)|0;ia=x;x=0;if(ia&1){ha=171;break}z=H;v=l+8|0;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));x=0;sa(430,I|0,N|0);ia=x;x=0;if(ia&1){ha=171;break}k[d+4>>2]=0;z=d+8|0;v=H;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;i[d+56>>0]=0;k[d+52>>2]=4;k[d>>2]=5932;i[d+57>>0]=0;i[d+58>>0]=0;x=0;sa(477,d+60|0,I|0);ia=x;x=0;do if(!(ia&1)){k[d+72>>2]=0;x=0;d=Ka(857,c|0,d|0)|0;ia=x;x=0;if(ia&1)break;P1(I);c=k[ga>>2]|0;x=0;c=ua(k[(k[c>>2]|0)+84>>2]|0,c|0)|0;ia=x;x=0;if(ia&1){ha=171;break q}i[d+50>>0]=c&1;P1(N);ia=d;r=ja;return ia|0}while(0);c=mb()|0;P1(I)}while(0);if((ha|0)==171)c=mb()|0;P1(N);ja=c;yb(ja|0)}}while(0);ja=mb()|0;yb(ja|0)}while(0);r:do switch(da|0){case 2:{d=(k[a+8>>2]|0)+36|0;x=0;e=Ka(856,d|0,64)|0;ha=x;x=0;if(ha&1)ha=195;else{z=O;v=b+8|0;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));if((j|0)!=0&(l|0)!=0){x=0;c=Ka(k[(k[l>>2]|0)+76>>2]|0,l|0,j|0)|0;ha=x;x=0;if(ha&1){ha=195;break r}}else c=0;k[e+4>>2]=0;z=e+8|0;v=O;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e>>2]=5684;i[e+56>>0]=c&1;k[e+60>>2]=0;k[e+52>>2]=1;x=0;c=Ka(857,d|0,e|0)|0;ha=x;x=0;if(ha&1)ha=195;else{ia=c;r=ja;return ia|0}}break}case 3:{d=(k[a+8>>2]|0)+36|0;x=0;e=Ka(856,d|0,64)|0;ha=x;x=0;if(ha&1)ha=195;else{z=P;v=b+8|0;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));if((j|0)!=0&(l|0)!=0){x=0;c=Ka(k[(k[l>>2]|0)+76>>2]|0,l|0,j|0)|0;ha=x;x=0;if(ha&1){ha=195;break r}}else c=0;k[e+4>>2]=0;z=e+8|0;v=P;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e>>2]=5684;i[e+56>>0]=c&1^1;k[e+60>>2]=0;k[e+52>>2]=1;x=0;c=Ka(857,d|0,e|0)|0;ha=x;x=0;if(ha&1)ha=195;else{ia=c;r=ja;return ia|0}}break}case 4:{d=(k[a+8>>2]|0)+36|0;x=0;e=Ka(856,d|0,64)|0;ga=x;x=0;if(ga&1)ha=195;else{z=U;v=b+8|0;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));x=0;Qa(74,X|0,32173,2);ga=x;x=0;if(ga&1)ha=195;else{x=0;c=xa(53,l|0,j|0,X|0)|0;ga=x;x=0;do if(!(ga&1)){if(c)c=0;else{if((j|0)!=0&(l|0)!=0){x=0;c=Ka(k[(k[l>>2]|0)+76>>2]|0,l|0,j|0)|0;ga=x;x=0;if(ga&1)break}else c=0;c=c&1^1}k[e+4>>2]=0;z=e+8|0;v=U;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e>>2]=5684;i[e+56>>0]=c;k[e+60>>2]=0;k[e+52>>2]=1;x=0;c=Ka(857,d|0,e|0)|0;ga=x;x=0;if(ga&1)break;P1(X);ia=c;r=ja;return ia|0}while(0);ea=Eb(832)|0;fa=M;P1(X)}}break}case 5:{d=(k[a+8>>2]|0)+36|0;x=0;e=Ka(856,d|0,64)|0;ga=x;x=0;if(ga&1)ha=195;else{z=K;v=b+8|0;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));x=0;Qa(74,Q|0,32176,3);ga=x;x=0;if(ga&1)ha=195;else{x=0;c=xa(53,l|0,j|0,Q|0)|0;ga=x;x=0;if(!(ga&1)){k[e+4>>2]=0;z=e+8|0;v=K;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e>>2]=5684;i[e+56>>0]=c&1^1;k[e+60>>2]=0;k[e+52>>2]=1;x=0;c=Ka(857,d|0,e|0)|0;ga=x;x=0;if(!(ga&1)){P1(Q);ia=c;r=ja;return ia|0}}ea=Eb(832)|0;fa=M;P1(Q)}}break}case 6:{d=(k[a+8>>2]|0)+36|0;x=0;e=Ka(856,d|0,64)|0;ga=x;x=0;if(ga&1)ha=195;else{z=L;v=b+8|0;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));x=0;Qa(74,R|0,32180,2);ga=x;x=0;if(ga&1)ha=195;else{x=0;c=xa(53,l|0,j|0,R|0)|0;ga=x;x=0;if(!(ga&1)){k[e+4>>2]=0;z=e+8|0;v=L;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e>>2]=5684;i[e+56>>0]=c&1;k[e+60>>2]=0;k[e+52>>2]=1;x=0;c=Ka(857,d|0,e|0)|0;ga=x;x=0;if(!(ga&1)){P1(R);ia=c;r=ja;return ia|0}}ea=Eb(832)|0;fa=M;P1(R)}}break}case 7:{d=(k[a+8>>2]|0)+36|0;x=0;e=Ka(856,d|0,64)|0;ga=x;x=0;if(ga&1)ha=195;else{z=S;v=b+8|0;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));x=0;Qa(74,V|0,32183,3);ga=x;x=0;if(ga&1)ha=195;else{x=0;c=xa(53,l|0,j|0,V|0)|0;ga=x;x=0;s:do if(!(ga&1)){do if(c)c=1;else{if(!((j|0)!=0&(l|0)!=0)){c=0;break}x=0;c=Ka(k[(k[l>>2]|0)+76>>2]|0,l|0,j|0)|0;ga=x;x=0;if(ga&1)break s}while(0);k[e+4>>2]=0;z=e+8|0;v=S;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e>>2]=5684;i[e+56>>0]=c&1;k[e+60>>2]=0;k[e+52>>2]=1;x=0;c=Ka(857,d|0,e|0)|0;ga=x;x=0;if(ga&1)break;P1(V);ia=c;r=ja;return ia|0}while(0);ea=Eb(832)|0;fa=M;P1(V)}}break}default:{f=k[l+52>>2]|0;d=k[j+52>>2]|0;g=b+8|0;z=_;v=g;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));c=(f|0)==2;e=(d|0)==2;t:do if(c&e){ha=Ot(l,64,392,0)|0;c=Ot(j,64,392,0)|0;ga=k[a+8>>2]|0;aa=k[ga+16>>2]|0;ba=k[aa+4>>2]|0;ca=T;k[ca>>2]=k[aa>>2];k[ca+4>>2]=ba;x=0;k[ia>>2]=k[T>>2];k[ia+4>>2]=k[T+4>>2];c=ta(120,ga+36|0,da|0,ha|0,c|0,ia|0,_|0)|0;ha=x;x=0;if(ha&1)ha=238;else ha=269}else{d=(d|0)==3;if(c&d){ha=Ot(l,64,392,0)|0;c=Ot(j,64,480,0)|0;ga=k[a+8>>2]|0;aa=k[ga+16>>2]|0;ba=k[aa+4>>2]|0;ca=W;k[ca>>2]=k[aa>>2];k[ca+4>>2]=ba;x=0;k[ia>>2]=k[W>>2];k[ia+4>>2]=k[W+4>>2];c=ta(121,ga+36|0,da|0,ha|0,c|0,ia|0,_|0)|0;ha=x;x=0;if(ha&1){ha=238;break}ha=269;break}c=(f|0)==3;if(c&e){ha=Ot(l,64,480,0)|0;c=Ot(j,64,392,0)|0;ga=k[a+8>>2]|0;aa=k[ga+16>>2]|0;ba=k[aa+4>>2]|0;ca=Y;k[ca>>2]=k[aa>>2];k[ca+4>>2]=ba;x=0;k[ia>>2]=k[Y>>2];k[ia+4>>2]=k[Y+4>>2];c=ta(122,ga+36|0,da|0,ha|0,c|0,ia|0,_|0)|0;ha=x;x=0;if(ha&1){ha=238;break}ha=269;break}if(c&d){ha=Ot(l,64,480,0)|0;c=Ot(j,64,480,0)|0;ga=k[a+8>>2]|0;aa=k[ga+16>>2]|0;ba=k[aa+4>>2]|0;ca=Z;k[ca>>2]=k[aa>>2];k[ca+4>>2]=ba;x=0;k[ia>>2]=k[Z>>2];k[ia+4>>2]=k[Z+4>>2];c=ta(123,ga+36|0,da|0,ha|0,c|0,ia|0,_|0)|0;ha=x;x=0;if(ha&1){ha=238;break}ha=269;break}e=a+8|0;f=k[e>>2]|0;k[$>>2]=16764;k[$+4>>2]=f;k[$+8>>2]=f+36;x=0;f=Ka(k[(k[l>>2]|0)+56>>2]|0,l|0,$|0)|0;ga=x;x=0;u:do if(!(ga&1)){x=0;d=Ka(k[(k[j>>2]|0)+56>>2]|0,j|0,$|0)|0;ga=x;x=0;if(ga&1)break;x=0;c=ua(k[(k[b>>2]|0)+92>>2]|0,b|0)|0;ga=x;x=0;if(ga&1)break;do if(c)c=1;else{x=0;c=ua(k[(k[b>>2]|0)+88>>2]|0,b|0)|0;ga=x;x=0;if(ga&1)break u;if(c){c=1;break}c=(i[b+50>>0]|0)!=0}while(0);ga=k[e>>2]|0;$=b+56|0;_=k[$+4>>2]|0;Z=aa;k[Z>>2]=k[$>>2];k[Z+4>>2]=_;Z=k[ga+16>>2]|0;_=k[Z+4>>2]|0;$=ba;k[$>>2]=k[Z>>2];k[$+4>>2]=_;x=0;k[ca>>2]=k[aa>>2];k[ca+4>>2]=k[aa+4>>2];k[ia>>2]=k[ba>>2];k[ia+4>>2]=k[ba+4>>2];c=na(8,ga+36|0,ca|0,f|0,d|0,ia|0,0,(da|0)!=9&c^1|0)|0;ga=x;x=0;if(ga&1)break;do if(c|0){e=Ot(c,288,432,0)|0;if(!e)break;if((k[e+52>>2]|0)!=4)break;d=Ot(l,64,432,0)|0;if((da|0)==9)break;ia=Ot(j,64,432,0)|0;d=d|0?d:ia;if(!d)break;i[e+57>>0]=i[d+57>>0]|0}while(0);i[c+50>>0]=i[b+50>>0]|0;ha=269;break t}while(0);c=Eb(832)|0;d=M}while(0);if((ha|0)==238){c=Eb(832)|0;d=M}else if((ha|0)==269){if((c|0)==0|h^1){ia=c;r=ja;return ia|0}k[k[o+64>>2]>>2]=c;ia=Jc[k[(k[o>>2]|0)+40>>2]&1023](o,J)|0;r=ja;return ia|0}if((d|0)!=(tb(832)|0)){ja=c;yb(ja|0)}c=Bb(c|0)|0;d=vb(76)|0;x=0;z=ia;v=g;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));Qa(110,d|0,ia|0,c|0);ja=x;x=0;if(ja&1){c=mb()|0;lb(d|0)}else{x=0;Qa(77,d|0,1424,59);x=0;c=mb()|0}x=0;pa(3);ja=x;x=0;if(ja&1){ja=Eb(0)|0;Nba(ja)}else{ja=c;yb(ja|0)}}}while(0);if((ha|0)==195){ea=Eb(832)|0;fa=M}if((fa|0)!=(tb(832)|0)){ja=ea;yb(ja|0)}c=Bb(ea|0)|0;d=vb(76)|0;x=0;z=ia;v=b+8|0;w=z+40|0;do{k[z>>2]=k[v>>2];z=z+4|0;v=v+4|0}while((z|0)<(w|0));Qa(110,d|0,ia|0,c|0);ja=x;x=0;if(ja&1){c=mb()|0;lb(d|0)}else{x=0;Qa(77,d|0,1424,59);x=0;c=mb()|0}x=0;pa(3);ja=x;x=0;if(ja&1){ja=Eb(0)|0;Nba(ja)}else{ja=c;yb(ja|0)}}}return 0}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,$=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,ra=0,ta=0,va=0,wa=0,ya=0,za=0,Aa=0;pa=r;r=r+416|0;ja=pa+400|0;ia=pa+392|0;ha=pa+384|0;ga=pa+376|0;ka=pa+368|0;la=pa+344|0;ma=pa+316|0;na=pa+304|0;oa=pa;ya=pa+184|0;za=pa+160|0;s=pa+352|0;y=pa+328|0;va=pa+112|0;wa=pa+76|0;C=pa+292|0;D=pa+280|0;F=pa+268|0;G=pa+256|0;P=pa+244|0;Q=pa+232|0;R=pa+220|0;S=pa+208|0;T=pa+196|0;U=pa+172|0;V=pa+148|0;W=pa+136|0;X=pa+124|0;Y=pa+100|0;$=pa+88|0;aa=pa+64|0;ba=pa+52|0;ca=pa+40|0;da=pa+28|0;fa=pa+16|0;ea=pa+4|0;B=a+72|0;E=a+76|0;g=k[E>>2]|0;h=k[B>>2]|0;n=h;if((g|0)==(h|0))A=0;else{d=k[n>>2]|0;if(!d)A=0;else{A=(Ot(d,96,312,0)|0)!=0;A=A?d:0}}Z=b+72|0;_=b+76|0;e=k[_>>2]|0;m=k[Z>>2]|0;f=m;if((e|0)==(m|0))z=0;else{d=k[f>>2]|0;if(!d)z=0;else{z=(Ot(d,96,312,0)|0)!=0;z=z?d:0}}k[ya+4>>2]=0;v=ya+8|0;k[v>>2]=0;ra=ya+4|0;k[ya>>2]=ra;k[za+4>>2]=0;w=za+8|0;k[w>>2]=0;ta=za+4|0;k[za>>2]=ta;q=g-h>>2;do if(!q){d=m;M=10}else{h=a+72|0;m=ma+8|0;o=ma+4|0;p=ma+1|0;e=n;g=0;while(1){d=k[e+(g<<2)>>2]|0;x=0;d=ua(k[(k[d>>2]|0)+116>>2]|0,d|0)|0;O=x;x=0;if(O&1){M=13;break}if(d){O=k[(k[h>>2]|0)+(g<<2)>>2]|0;x=0;sa(k[(k[O>>2]|0)+24>>2]|0,ma|0,O|0);O=x;x=0;if(O&1){M=13;break}d=i[ma>>0]|0;O=(d&1)==0;f=O?p:k[m>>2]|0;d=O?(d&255)>>>1:k[o>>2]|0;a:do if(!d)d=-1;else{e=f+d|0;d=f;while(1){if(!(mw(43523,l[d>>0]|0,1)|0))break;d=d+1|0;if((d|0)==(e|0)){d=-1;break a}}d=d-f|0}while(0);x=0;qa(4,s|0,ma|0,d|0,-1,ma|0);O=x;x=0;if(O&1){M=31;break}if(!(i[ma>>0]&1)){i[p>>0]=0;i[ma>>0]=0}else{i[k[m>>2]>>0]=0;k[o>>2]=0}x=0;sa(443,ma|0,0);O=x;x=0;if(O&1){M=28;break}k[ma>>2]=k[s>>2];k[ma+4>>2]=k[s+4>>2];k[ma+8>>2]=k[s+8>>2];k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;P1(s);x=0;Qa(75,la|0,ya|0,ma|0);O=x;x=0;if(O&1){M=31;break}P1(ma)}d=g+1|0;if(d>>>0>=q>>>0){M=9;break}e=k[h>>2]|0;g=d}if((M|0)==9){f=k[Z>>2]|0;e=k[_>>2]|0;d=f;M=10;break}else if((M|0)==13){u=mb()|0;break}else if((M|0)==28){wa=Eb(0)|0;Nba(wa)}else if((M|0)==31){wa=mb()|0;P1(ma);va=k[ta>>2]|0;sC(za,va);za=k[ra>>2]|0;sC(ya,za);yb(wa|0)}}while(0);b:do if((M|0)==10){h=e-d>>2;c:do if(h|0){m=b+72|0;n=na+8|0;o=na+4|0;p=na+1|0;e=f;g=0;while(1){d=k[e+(g<<2)>>2]|0;x=0;d=ua(k[(k[d>>2]|0)+116>>2]|0,d|0)|0;O=x;x=0;if(O&1){M=12;break}if(d){O=k[(k[m>>2]|0)+(g<<2)>>2]|0;x=0;sa(k[(k[O>>2]|0)+24>>2]|0,na|0,O|0);O=x;x=0;if(O&1){M=12;break}d=i[na>>0]|0;O=(d&1)==0;f=O?p:k[n>>2]|0;d=O?(d&255)>>>1:k[o>>2]|0;d:do if(!d)d=-1;else{e=f+d|0;d=f;while(1){if(!(mw(43523,l[d>>0]|0,1)|0))break;d=d+1|0;if((d|0)==(e|0)){d=-1;break d}}d=d-f|0}while(0);x=0;qa(4,y|0,na|0,d|0,-1,na|0);O=x;x=0;if(O&1){M=68;break}if(!(i[na>>0]&1)){i[p>>0]=0;i[na>>0]=0}else{i[k[n>>2]>>0]=0;k[o>>2]=0}x=0;sa(443,na|0,0);O=x;x=0;if(O&1){M=65;break}k[na>>2]=k[y>>2];k[na+4>>2]=k[y+4>>2];k[na+8>>2]=k[y+8>>2];k[y>>2]=0;k[y+4>>2]=0;k[y+8>>2]=0;P1(y);x=0;Qa(75,ka|0,za|0,na|0);O=x;x=0;if(O&1){M=68;break}P1(na)}d=g+1|0;if(d>>>0>=h>>>0)break c;e=k[m>>2]|0;g=d}if((M|0)==12){u=mb()|0;break b}else if((M|0)==65){O=Eb(0)|0;Nba(O)}else if((M|0)==68){wa=mb()|0;P1(na);va=k[ta>>2]|0;sC(za,va);za=k[ra>>2]|0;sC(ya,za);yb(wa|0)}}while(0);if((k[v>>2]|0)!=(k[w>>2]|0)){wa=0;va=k[ta>>2]|0;sC(za,va);za=k[ra>>2]|0;sC(ya,za);r=pa;return wa|0}d=k[ya>>2]|0;e=k[za>>2]|0;e:do if((d|0)!=(ra|0)){s=d;q=e;f=d;d=e;f:while(1){p=s+16|0;e=q+16|0;o=j[p>>1]|0;m=(o&1)==0;h=(o&254)>>>1;n=m?h:k[s+20>>2]|0;O=i[e>>0]|0;g=(O&1)==0;o=(o&65535)>>>8&255;if((n|0)!=((g?(O&255)>>>1:k[q+20>>2]|0)|0)){d=0;M=234;break}e=g?e+1|0:k[q+24>>2]|0;g:do if(m){if(n|0){if(o<<24>>24!=(i[e>>0]|0)){d=0;M=234;break f}g=p+1|0;while(1){h=h+-1|0;g=g+1|0;if(!h)break g;e=e+1|0;if((i[g>>0]|0)!=(i[e>>0]|0)){d=0;M=234;break f}}}}else if(tG(k[s+24>>2]|0,e,n)|0){d=0;M=234;break f}while(0);e=k[f+4>>2]|0;if(!e)while(1){e=k[f+8>>2]|0;if((k[e>>2]|0)==(f|0))break;else f=e}else while(1){f=k[e>>2]|0;if(!f)break;else e=f}f=k[d+4>>2]|0;if(!f)while(1){f=k[d+8>>2]|0;if((k[f>>2]|0)==(d|0)){d=f;break}else d=f}else{d=f;while(1){f=k[d>>2]|0;if(!f)break;else d=f}}if((e|0)==(ra|0))break e;else{s=e;q=d;f=e}}if((M|0)==234){wa=k[ta>>2]|0;sC(za,wa);za=k[ra>>2]|0;sC(ya,za);r=pa;return d|0}}while(0);k[va+4>>2]=0;L=va+8|0;k[L>>2]=0;N=va+4|0;k[va>>2]=N;k[wa+4>>2]=0;k[wa+8>>2]=0;O=wa+4|0;k[wa>>2]=O;h:do if((A|0)!=0&(z|0)!=0){x=0;sa(k[(k[A>>2]|0)+24>>2]|0,C|0,A|0);fa=x;x=0;if(fa&1)M=92;else{x=0;sa(k[(k[z>>2]|0)+24>>2]|0,D|0,z|0);fa=x;x=0;if(fa&1){d=mb()|0;P1(C);break}h=j[C>>1]|0;f=(h&1)==0;e=(h&254)>>>1;g=f?e:k[C+4>>2]|0;fa=i[D>>0]|0;d=(fa&1)==0;h=(h&65535)>>>8&255;if((g|0)!=((d?(fa&255)>>>1:k[D+4>>2]|0)|0)){P1(D);P1(C);d=0;M=232;break}d=d?D+1|0:k[D+8>>2]|0;i:do if(f){if(!g){P1(D);P1(C);break}j:do if(h<<24>>24==(i[d>>0]|0)){f=C+1|0;while(1){e=e+-1|0;f=f+1|0;if(!e)break;d=d+1|0;if((i[f>>0]|0)!=(i[d>>0]|0))break j}P1(D);P1(C);break i}while(0);P1(D);P1(C);d=0;M=232;break h}else{fa=(tG(k[C+8>>2]|0,d,g)|0)==0;P1(D);P1(C);if(!fa){d=0;M=232;break h}}while(0);d=k[B>>2]|0;g=(k[E>>2]|0)-d>>2;k:do if(g>>>0>1){f=a+72|0;e=d;d=1;while(1){a=k[e+(d<<2)>>2]|0;x=0;sa(k[(k[a>>2]|0)+24>>2]|0,F|0,a|0);a=x;x=0;if(a&1){M=89;break}x=0;Qa(76,ga|0,va|0,F|0);a=x;x=0;if(a&1){M=99;break}P1(F);d=d+1|0;if(d>>>0>=g>>>0)break k;e=k[f>>2]|0}if((M|0)==89){d=mb()|0;M=93;break h}else if((M|0)==99){d=mb()|0;P1(F);break h}}while(0);d=k[Z>>2]|0;g=(k[_>>2]|0)-d>>2;l:do if(g>>>0>1){f=b+72|0;e=d;d=1;while(1){a=k[e+(d<<2)>>2]|0;x=0;sa(k[(k[a>>2]|0)+24>>2]|0,G|0,a|0);a=x;x=0;if(a&1){M=88;break}x=0;Qa(76,ia|0,wa|0,G|0);a=x;x=0;if(a&1){M=105;break}P1(G);d=d+1|0;if(d>>>0>=g>>>0)break l;e=k[f>>2]|0}if((M|0)==88){d=mb()|0;M=93;break h}else if((M|0)==105){d=mb()|0;P1(G);break h}}while(0);d=k[va>>2]|0;k[ka>>2]=k[wa>>2];k[la>>2]=O;k[ma>>2]=d;k[na>>2]=N;k[ga>>2]=k[ka>>2];k[ha>>2]=k[la>>2];k[ia>>2]=k[ma>>2];k[ja>>2]=k[na>>2];d=hp(ga,ha,ia,ja,oa)|0;M=232}}else{d=k[B>>2]|0;s=(k[E>>2]|0)-d>>2;m:do if(s|0){t=a+72|0;u=(b|0)==0;v=c+4|0;w=U+4|0;y=U+8|0;z=U+1|0;A=c+1|0;B=c+8|0;C=T+4|0;D=T+8|0;E=T+1|0;F=W+4|0;G=X+4|0;H=X+8|0;I=X+1|0;J=W+1|0;K=W+8|0;e=0;n:while(1){d=k[d+(e<<2)>>2]|0;q=Ot(d,112,144,0)|0;o:do if(!q)M=179;else{p=q+80|0;x=0;sa(430,P|0,p|0);o=x;x=0;if(o&1){M=91;break n}o=(KH(P,43794)|0)==0;P1(P);if(o){f=k[q+96>>2]|0;if(!f){M=117;break n}f=Ot(f,112,160,0)|0;if(!f){M=117;break n}g=k[(k[f>>2]|0)+112>>2]|0;x=0;sa(430,Q|0,p|0);o=x;x=0;if(o&1){M=91;break n}x=0;f=xa(g|0,f|0,b|0,Q|0)|0;o=x;x=0;if(o&1){M=116;break n}P1(Q);if(f){d=0;M=232;break h}}x=0;sa(430,R|0,p|0);o=x;x=0;if(o&1){M=91;break n}if(!(KH(R,44161)|0)){P1(R);M=125}else{x=0;sa(430,S|0,p|0);o=x;x=0;if(o&1){M=126;break n}o=(KH(S,27334)|0)==0;P1(S);P1(R);if(o)M=125}p:do if((M|0)==125){M=0;d=k[q+96>>2]|0;if(!d)d=0;else{o=Ot(d,112,160,0)|0;if(u|(o|0)==0)break;f=i[c>>0]|0;if(!(f&1))f=(f&255)>>>1;else f=k[v>>2]|0;do if(f|0){x=0;sa(430,T|0,p|0);n=x;x=0;if(n&1){M=91;break n}n=j[c>>1]|0;h=(n&1)==0;g=(n&254)>>>1;m=h?g:k[v>>2]|0;Aa=i[T>>0]|0;f=(Aa&1)==0;n=(n&65535)>>>8&255;if((m|0)!=((f?(Aa&255)>>>1:k[C>>2]|0)|0)){M=139;break n}f=f?E:k[D>>2]|0;if(!h){Aa=(tG(k[B>>2]|0,f,m)|0)==0;P1(T);if(Aa)break;else{d=0;M=232;break h}}q:do if(m|0){if(n<<24>>24==(i[f>>0]|0))h=A;else{M=139;break n}while(1){g=g+-1|0;h=h+1|0;if(!g)break q;f=f+1|0;if((i[h>>0]|0)!=(i[f>>0]|0)){M=139;break n}}}while(0);P1(T)}while(0);f=i[c>>0]|0;if(!(f&1))f=(f&255)>>>1;else f=k[v>>2]|0;r:do if(f|0){x=0;sa(430,U|0,p|0);Aa=x;x=0;if(Aa&1){M=91;break n}n=j[c>>1]|0;h=(n&1)==0;g=(n&254)>>>1;m=h?g:k[v>>2]|0;Aa=i[U>>0]|0;f=(Aa&1)==0;n=(n&65535)>>>8&255;s:do if((m|0)==((f?(Aa&255)>>>1:k[w>>2]|0)|0)){f=f?z:k[y>>2]|0;if(!h){Aa=(tG(k[B>>2]|0,f,m)|0)==0;P1(U);if(Aa)break p;else break r}t:do if(m|0){if(n<<24>>24==(i[f>>0]|0))h=A;else break s;while(1){g=g+-1|0;h=h+1|0;if(!g)break t;f=f+1|0;if((i[h>>0]|0)!=(i[f>>0]|0))break s}}while(0);P1(U);break p}while(0);P1(U)}while(0);f=k[(k[o>>2]|0)+112>>2]|0;x=0;sa(430,V|0,p|0);Aa=x;x=0;if(Aa&1){M=91;break n}x=0;f=xa(f|0,o|0,b|0,V|0)|0;Aa=x;x=0;if(Aa&1){M=159;break n}P1(V);if(f){d=1;M=232;break h}}}while(0);f=k[Z>>2]|0;if((k[_>>2]|0)-f>>2>>>0>e>>>0){f=k[f+(e<<2)>>2]|0;if(!f)M=179;else{o=Ot(f,96,144,0)|0;if(!o){M=179;break}x=0;sa(430,W|0,p|0);Aa=x;x=0;if(Aa&1){M=91;break n}x=0;sa(430,X|0,o+80|0);Aa=x;x=0;if(Aa&1){M=176;break n}n=j[W>>1]|0;h=(n&1)==0;g=(n&254)>>>1;m=h?g:k[F>>2]|0;Aa=i[X>>0]|0;f=(Aa&1)==0;n=(n&65535)>>>8&255;if((m|0)!=((f?(Aa&255)>>>1:k[G>>2]|0)|0)){P1(X);P1(W);M=179;break}f=f?I:k[H>>2]|0;u:do if(h){if(!m){P1(X);P1(W);break}v:do if(n<<24>>24==(i[f>>0]|0)){h=J;while(1){g=g+-1|0;h=h+1|0;if(!g)break;f=f+1|0;if((i[h>>0]|0)!=(i[f>>0]|0))break v}P1(X);P1(W);break u}while(0);P1(X);P1(W);M=179;break o}else{Aa=(tG(k[K>>2]|0,f,m)|0)==0;P1(X);P1(W);if(!Aa){M=179;break o}}while(0);x=0;f=Ka(k[(k[q>>2]|0)+128>>2]|0,q|0,o|0)|0;Aa=x;x=0;if(Aa&1){M=91;break n}if(!f)M=179}}else M=179}while(0);if((M|0)==179){M=0;x=0;sa(k[(k[d>>2]|0)+24>>2]|0,Y|0,d|0);Aa=x;x=0;if(Aa&1){M=91;break}x=0;Qa(76,ja|0,va|0,Y|0);Aa=x;x=0;if(Aa&1){M=184;break}P1(Y)}e=e+1|0;if(e>>>0>=s>>>0)break m;d=k[t>>2]|0}if((M|0)==91){d=mb()|0;M=93;break h}else if((M|0)==116){d=mb()|0;P1(Q);break h}else if((M|0)==117){d=vb(8)|0;x=0;sa(444,d|0,27299);Aa=x;x=0;if(Aa&1){Aa=mb()|0;lb(d|0);d=Aa;break h}else{x=0;Qa(77,d|0,4416,310);x=0;M=92;break h}}else if((M|0)==126){d=mb()|0;P1(R);break h}else if((M|0)==139){P1(T);d=0;M=232;break h}else if((M|0)==159){d=mb()|0;P1(V);break h}else if((M|0)==176){d=mb()|0;P1(W);break h}else if((M|0)==184){d=mb()|0;P1(Y);break h}}while(0);d=k[Z>>2]|0;z=(k[_>>2]|0)-d>>2;w:do if(z|0){q=b+72|0;s=c+4|0;t=da+4|0;u=da+8|0;v=da+1|0;w=c+1|0;y=c+8|0;e=d;p=0;x:while(1){o=k[e+(p<<2)>>2]|0;do if(o|0){n=Ot(o,96,144,0)|0;if(n|0){d=n+80|0;x=0;sa(430,$|0,d|0);Aa=x;x=0;if(Aa&1){M=90;break x}Aa=(KH($,43794)|0)==0;P1($);do if(Aa){e=k[n+96>>2]|0;if(e|0){e=Ot(e,112,160,0)|0;if(!e)break;hv(e);f=k[(k[a>>2]|0)+120>>2]|0;x=0;sa(430,aa|0,d|0);Aa=x;x=0;if(Aa&1){M=90;break x}x=0;e=xa(f|0,a|0,e|0,aa|0)|0;Aa=x;x=0;if(Aa&1){M=196;break x}P1(aa);if(e){d=0;M=232;break h}}}while(0);x=0;sa(430,ba|0,d|0);Aa=x;x=0;if(Aa&1){M=90;break x}if(!(KH(ba,44161)|0))P1(ba);else{x=0;sa(430,ca|0,d|0);Aa=x;x=0;if(Aa&1){M=216;break x}Aa=(KH(ca,27334)|0)==0;P1(ca);P1(ba);if(!Aa)break}e=i[c>>0]|0;if(!(e&1))e=(e&255)>>>1;else e=k[s>>2]|0;do if(e|0){x=0;sa(430,da|0,d|0);Aa=x;x=0;if(Aa&1){M=90;break x}m=j[c>>1]|0;g=(m&1)==0;f=(m&254)>>>1;h=g?f:k[s>>2]|0;Aa=i[da>>0]|0;e=(Aa&1)==0;m=(m&65535)>>>8&255;if((h|0)!=((e?(Aa&255)>>>1:k[t>>2]|0)|0)){M=213;break x}e=e?v:k[u>>2]|0;if(!g){Aa=(tG(k[y>>2]|0,e,h)|0)==0;P1(da);if(Aa)break;else{d=0;M=232;break h}}y:do if(h|0){if(m<<24>>24==(i[e>>0]|0))g=w;else{M=213;break x}while(1){f=f+-1|0;g=g+1|0;if(!f)break y;e=e+1|0;if((i[g>>0]|0)!=(i[e>>0]|0)){M=213;break x}}}while(0);P1(da)}while(0);e=k[n+96>>2]|0;if(!e)break;f=Ot(e,112,160,0)|0;if(f|0){M=219;break x}}}while(0);x=0;sa(k[(k[o>>2]|0)+24>>2]|0,ea|0,o|0);Aa=x;x=0;if(Aa&1){M=90;break}x=0;Qa(76,ha|0,wa|0,ea|0);Aa=x;x=0;if(Aa&1){M=227;break}P1(ea);d=p+1|0;if(d>>>0>=z>>>0)break w;e=k[q>>2]|0;p=d}if((M|0)==90){d=mb()|0;M=93;break h}else if((M|0)==196){d=mb()|0;P1(aa);break h}else if((M|0)==213){P1(da);d=0;M=232;break h}else if((M|0)==216){d=mb()|0;P1(ba);break h}else if((M|0)==219){hv(f);e=k[(k[a>>2]|0)+120>>2]|0;x=0;sa(430,fa|0,d|0);Aa=x;x=0;if(Aa&1){M=92;break h}x=0;d=xa(e|0,a|0,f|0,fa|0)|0;Aa=x;x=0;if(Aa&1){d=mb()|0;P1(fa);break h}else{P1(fa);M=232;break h}}else if((M|0)==227){d=mb()|0;P1(ea);break h}}while(0);if(!(k[L>>2]|0)){d=1;M=232}else{d=k[va>>2]|0;k[ka>>2]=k[wa>>2];k[la>>2]=O;k[ma>>2]=d;k[na>>2]=N;k[ga>>2]=k[ka>>2];k[ha>>2]=k[la>>2];k[ia>>2]=k[ma>>2];k[ja>>2]=k[na>>2];d=hp(ga,ha,ia,ja,oa)|0;M=232}}while(0);if((M|0)==92){d=mb()|0;M=93}else if((M|0)==232){sC(wa,k[O>>2]|0);sC(va,k[N>>2]|0);Aa=d;wa=k[ta>>2]|0;sC(za,wa);za=k[ra>>2]|0;sC(ya,za);r=pa;return Aa|0}sC(wa,k[O>>2]|0);sC(va,k[N>>2]|0);Aa=d;wa=k[ta>>2]|0;sC(za,wa);za=k[ra>>2]|0;sC(ya,za);yb(Aa|0)}while(0);Aa=u;wa=k[ta>>2]|0;sC(za,wa);za=k[ra>>2]|0;sC(ya,za);yb(Aa|0);return 0}function ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,$=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,ra=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ta=0;ya=r;r=r+560|0;wa=ya;R=ya+544|0;S=ya+516|0;aa=ya+512|0;ga=ya+496|0;ha=ya+480|0;ia=ya+452|0;g=ya+532|0;f=ya+520|0;e=ya+500|0;ma=ya+484|0;ja=ya+468|0;T=ya+456|0;ka=ya+276|0;U=ya+440|0;V=ya+400|0;W=ya+384|0;X=ya+344|0;Y=ya+328|0;Z=ya+288|0;_=ya+264|0;$=ya+224|0;ba=ya+208|0;ca=ya+168|0;da=ya+152|0;ea=ya+112|0;fa=ya+96|0;ra=ya+56|0;xa=ya+40|0;la=a+40|0;c=(k[la>>2]|0)+36|0;d=lD(c,84)|0;na=a+108|0;l=wa;m=na;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k[d+4>>2]=0;l=d+8|0;m=wa;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;i[d+56>>0]=0;k[d+64>>2]=0;k[d+68>>2]=0;k[d+72>>2]=0;k[d>>2]=5788;k[d+60>>2]=5904;k[d+80>>2]=0;k[d+52>>2]=4;ua=N4(c,d)|0;va=a+76|0;pa=k[va>>2]|0;Q=bO(pa)|0;pa=Q|0?Q:pa;pa=(i[pa>>0]|0)==125?pa+1|0:0;Q=a+80|0;c=k[Q>>2]|0;a:do if((pa|0)==0|pa>>>0>c>>>0){pa=Q;oa=c}else{lE(g,39906,11);x=0;Qa(74,f|0,39918,7);pa=x;x=0;if(pa&1)c=mb()|0;else{x=0;Qa(74,e|0,40150,44);pa=x;x=0;do if(pa&1)c=mb()|0;else{x=0;Ua(31,a|0,g|0,f|0,e|0);pa=x;x=0;if(pa&1){c=mb()|0;P1(e);break}else{P1(e);P1(f);P1(g);pa=Q;oa=k[Q>>2]|0;break a}}while(0);P1(f)}P1(g);ya=c;yb(ya|0)}while(0);k[Q>>2]=b;c=k[va>>2]|0;b:do if(c>>>0>>0){o=ua+60|0;p=o+16|0;q=o+8|0;s=o+12|0;t=o+4|0;u=a+156|0;v=a+160|0;w=fa+8|0;y=fa+4|0;z=fa+1|0;A=da+8|0;B=da+4|0;C=da+1|0;D=ba+8|0;E=ba+4|0;F=ba+1|0;G=_+8|0;H=_+4|0;I=_+1|0;J=Y+8|0;K=Y+4|0;L=Y+1|0;M=U+8|0;N=U+4|0;O=U+1|0;P=a+152|0;c:while(1){Et(a,1,0)|0;n=k[va>>2]|0;m=bO(n)|0;n=bN(m|0?m:n)|0;n=n>>>0<=(k[Q>>2]|0)>>>0?n:0;d:do if((n|0)!=0&n>>>0>>0){c=Nl(a)|0;k[wa>>2]=c;d=c;if(c|0){k[p>>2]=0;e=k[q>>2]|0;if((e|0)==(k[s>>2]|0))uw(t,wa);else{k[e>>2]=d;k[q>>2]=(k[q>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,c)}}else{if(Do(a,1,0)|0){c=k[va>>2]|0;n=bO(c)|0;c=n|0?n:c;if(c|0){d=i[43519]|0;e:do if(!(d<<24>>24))d=0;else{e=43519;while(1){if((i[c>>0]|0)!=d<<24>>24)break e;c=c+1|0;e=e+1|0;d=i[e>>0]|0;if(!(d<<24>>24)){d=0;break}}}while(0);n=d<<24>>24==0?c:0;if(!((n|0)==0?1:n>>>0>(k[Q>>2]|0)>>>0)){lE(ma,39906,11);x=0;Qa(74,ja|0,39918,7);n=x;x=0;if(n&1){ta=31;break c}x=0;Qa(74,T|0,40150,44);n=x;x=0;if(n&1){ta=32;break c}x=0;Ua(31,a|0,ma|0,ja|0,T|0);n=x;x=0;if(n&1){ta=33;break c}P1(T);P1(ja);P1(ma)}}if(!(Dr(a,1,0)|0))e=Ef(a)|0;else{c=(k[la>>2]|0)+36|0;d=lD(c,76)|0;l=wa;m=na;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));Xp(d,wa,P);e=N4(c,d)|0}i[e+50>>0]=1;k[wa>>2]=e;c=e;if(e|0){k[p>>2]=0;d=k[q>>2]|0;if((d|0)==(k[s>>2]|0))uw(t,wa);else{k[d>>2]=c;k[q>>2]=(k[q>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,e)}Fo(a,1,0)|0;break}if(Ap(a,1,0)|0){c=(k[la>>2]|0)+36|0;d=lD(c,76)|0;l=wa;m=na;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));Xp(d,wa,P);c=N4(c,d)|0;k[wa>>2]=c;d=c;if(c|0){k[p>>2]=0;e=k[q>>2]|0;if((e|0)==(k[s>>2]|0))uw(t,wa);else{k[e>>2]=d;k[q>>2]=(k[q>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,c)}break}if(_r(a,1,0)|0){k[wa>>2]=k[P>>2];k[wa+4>>2]=k[P+4>>2];k[wa+8>>2]=k[P+8>>2];c=yd(a,wa,0)|0;k[wa>>2]=c;d=c;if(c|0){k[p>>2]=0;e=k[q>>2]|0;if((e|0)==(k[s>>2]|0))uw(t,wa);else{k[e>>2]=d;k[q>>2]=(k[q>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,c)}c=k[va>>2]|0;switch(i[c>>0]|0){case 39:case 34:break;default:{bO(c)|0;c=k[va>>2]|0}}n=bO(c)|0;n=n|0?n:c;n=(i[n>>0]|0)==45?n+1|0:0;if((n|0)==0?1:n>>>0>(k[Q>>2]|0)>>>0)break;else{ta=191;break c}}if(or(a,1,0)|0){c=(k[la>>2]|0)+36|0;d=lD(c,76)|0;l=wa;m=na;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));Xp(d,wa,P);c=N4(c,d)|0;k[wa>>2]=c;d=c;if(c|0){k[p>>2]=0;e=k[q>>2]|0;if((e|0)==(k[s>>2]|0))uw(t,wa);else{k[e>>2]=d;k[q>>2]=(k[q>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,c)}c=k[va>>2]|0;switch(i[c>>0]|0){case 39:case 34:break d;default:{}}bO(c)|0;break}if(Gs(a,1,0)|0){d=k[u>>2]|0;f=k[v>>2]|0;g=f-d|0;if(g>>>0>4294967279){dH(U);ta=75}else if(g>>>0<11){i[U>>0]=g<<1;c=O}else ta=75;if((ta|0)==75){ta=0;n=g+16&-16;c=GG(n)|0;k[M>>2]=c;k[U>>2]=n|1;k[N>>2]=g}if((d|0)!=(f|0)){e=c;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(f|0))break;else e=e+1|0}c=c+g|0}i[c>>0]=0;x=0;sa(492,ka|0,U|0);n=x;x=0;if(n&1){ta=90;break c}P1(U);c=(k[la>>2]|0)+36|0;x=0;d=Ka(856,c|0,68)|0;n=x;x=0;if(n&1){ta=91;break c}l=V;m=na;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));x=0;sa(430,W|0,ka|0);n=x;x=0;if(n&1){ta=91;break c}k[d+4>>2]=0;l=d+8|0;m=V;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d>>2]=14848;x=0;sa(430,d+56|0,W|0);n=x;x=0;if(n&1){ta=92;break c}x=0;c=Ka(857,c|0,d|0)|0;n=x;x=0;if(n&1){ta=92;break c}k[ia>>2]=c;d=c;if(c|0){k[p>>2]=0;e=k[q>>2]|0;if((e|0)==(k[s>>2]|0)){x=0;sa(455,t|0,ia|0);n=x;x=0;if(n&1){ta=92;break c}}else{k[e>>2]=d;k[q>>2]=(k[q>>2]|0)+4}x=0;sa(k[k[o>>2]>>2]|0,o|0,c|0);n=x;x=0;if(n&1){ta=92;break c}}P1(W);P1(ka);break}if(rs(a,1,0)|0){h=(k[la>>2]|0)+36|0;j=lD(h,76)|0;l=X;m=na;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));d=k[u>>2]|0;f=k[v>>2]|0;g=f-d|0;if(g>>>0>4294967279){dH(Y);ta=99}else if(g>>>0<11){i[Y>>0]=g<<1;c=L}else ta=99;if((ta|0)==99){ta=0;n=g+16&-16;c=GG(n)|0;k[J>>2]=c;k[Y>>2]=n|1;k[K>>2]=g}if((d|0)!=(f|0)){e=c;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(f|0))break;else e=e+1|0}c=c+g|0}i[c>>0]=0;k[j+4>>2]=0;l=j+8|0;m=X;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[j+48>>0]=1;i[j+49>>0]=1;i[j+50>>0]=0;k[j+52>>2]=0;k[j>>2]=11224;k[j+56>>2]=1;x=0;sa(430,j+60|0,Y|0);n=x;x=0;if(n&1){ta=111;break c}k[j+72>>2]=0;x=0;c=Ka(857,h|0,j|0)|0;n=x;x=0;if(n&1){ta=111;break c}k[ha>>2]=c;d=c;if(c|0){k[p>>2]=0;e=k[q>>2]|0;if((e|0)==(k[s>>2]|0)){x=0;sa(455,t|0,ha|0);n=x;x=0;if(n&1){ta=111;break c}}else{k[e>>2]=d;k[q>>2]=(k[q>>2]|0)+4}x=0;sa(k[k[o>>2]>>2]|0,o|0,c|0);n=x;x=0;if(n&1){ta=111;break c}}P1(Y);break}if(Bs(a,1,0)|0){h=(k[la>>2]|0)+36|0;j=lD(h,76)|0;l=Z;m=na;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));d=k[u>>2]|0;f=k[v>>2]|0;g=f-d|0;if(g>>>0>4294967279){dH(_);ta=117}else if(g>>>0<11){i[_>>0]=g<<1;c=I}else ta=117;if((ta|0)==117){ta=0;n=g+16&-16;c=GG(n)|0;k[G>>2]=c;k[_>>2]=n|1;k[H>>2]=g}if((d|0)!=(f|0)){e=c;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(f|0))break;else e=e+1|0}c=c+g|0}i[c>>0]=0;k[j+4>>2]=0;l=j+8|0;m=Z;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[j+48>>0]=1;i[j+49>>0]=1;i[j+50>>0]=0;k[j+52>>2]=0;k[j>>2]=11224;k[j+56>>2]=2;x=0;sa(430,j+60|0,_|0);n=x;x=0;if(n&1){ta=129;break c}k[j+72>>2]=0;x=0;c=Ka(857,h|0,j|0)|0;n=x;x=0;if(n&1){ta=129;break c}k[ga>>2]=c;d=c;if(c|0){k[p>>2]=0;e=k[q>>2]|0;if((e|0)==(k[s>>2]|0)){x=0;sa(455,t|0,ga|0);n=x;x=0;if(n&1){ta=129;break c}}else{k[e>>2]=d;k[q>>2]=(k[q>>2]|0)+4}x=0;sa(k[k[o>>2]>>2]|0,o|0,c|0);n=x;x=0;if(n&1){ta=129;break c}}P1(_);break}if(Vs(a,1,0)|0){h=(k[la>>2]|0)+36|0;j=lD(h,76)|0;l=$;m=na;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));d=k[u>>2]|0;f=k[v>>2]|0;g=f-d|0;if(g>>>0>4294967279){dH(ba);ta=135}else if(g>>>0<11){i[ba>>0]=g<<1;c=F}else ta=135;if((ta|0)==135){ta=0;n=g+16&-16;c=GG(n)|0;k[D>>2]=c;k[ba>>2]=n|1;k[E>>2]=g}if((d|0)!=(f|0)){e=c;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(f|0))break;else e=e+1|0}c=c+g|0}i[c>>0]=0;k[j+4>>2]=0;l=j+8|0;m=$;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[j+48>>0]=1;i[j+49>>0]=1;i[j+50>>0]=0;k[j+52>>2]=0;k[j>>2]=11224;k[j+56>>2]=0;x=0;sa(430,j+60|0,ba|0);n=x;x=0;if(n&1){ta=147;break c}k[j+72>>2]=0;x=0;c=Ka(857,h|0,j|0)|0;n=x;x=0;if(n&1){ta=147;break c}k[aa>>2]=c;d=c;if(c|0){k[p>>2]=0;e=k[q>>2]|0;if((e|0)==(k[s>>2]|0)){x=0;sa(455,t|0,aa|0);n=x;x=0;if(n&1){ta=147;break c}}else{k[e>>2]=d;k[q>>2]=(k[q>>2]|0)+4}x=0;sa(k[k[o>>2]>>2]|0,o|0,c|0);n=x;x=0;if(n&1){ta=147;break c}}P1(ba);break}if(aq(a,1,0)|0){h=(k[la>>2]|0)+36|0;j=lD(h,76)|0;l=ca;m=na;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));d=k[u>>2]|0;f=k[v>>2]|0;g=f-d|0;if(g>>>0>4294967279){dH(da);ta=153}else if(g>>>0<11){i[da>>0]=g<<1;c=C}else ta=153;if((ta|0)==153){ta=0;n=g+16&-16;c=GG(n)|0;k[A>>2]=c;k[da>>2]=n|1;k[B>>2]=g}if((d|0)!=(f|0)){e=c;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(f|0))break;else e=e+1|0}c=c+g|0}i[c>>0]=0;k[j+4>>2]=0;l=j+8|0;m=ca;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[j+48>>0]=1;i[j+49>>0]=1;i[j+50>>0]=0;k[j+52>>2]=0;k[j>>2]=11224;k[j+56>>2]=3;x=0;sa(430,j+60|0,da|0);n=x;x=0;if(n&1){ta=165;break c}k[j+72>>2]=0;x=0;c=Ka(857,h|0,j|0)|0;n=x;x=0;if(n&1){ta=165;break c}k[S>>2]=c;d=c;if(c|0){k[p>>2]=0;e=k[q>>2]|0;if((e|0)==(k[s>>2]|0)){x=0;sa(455,t|0,S|0);n=x;x=0;if(n&1){ta=165;break c}}else{k[e>>2]=d;k[q>>2]=(k[q>>2]|0)+4}x=0;sa(k[k[o>>2]>>2]|0,o|0,c|0);n=x;x=0;if(n&1){ta=165;break c}}P1(da);break}if(!(Vp(a,1,0)|0)){n=k[va>>2]|0;m=bO(n)|0;n=nx(m|0?m:n)|0;if((n|0)==0?1:n>>>0>(k[Q>>2]|0)>>>0){ta=191;break c}c=me(a)|0;k[wa>>2]=c;d=c;if(c|0){k[p>>2]=0;e=k[q>>2]|0;if((e|0)==(k[s>>2]|0))uw(t,wa);else{k[e>>2]=d;k[q>>2]=(k[q>>2]|0)+4}rc[k[k[o>>2]>>2]&1023](o,c)}break}h=(k[la>>2]|0)+36|0;j=lD(h,76)|0;l=ea;m=na;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));d=k[u>>2]|0;f=k[v>>2]|0;g=f-d|0;if(g>>>0>4294967279){dH(fa);ta=171}else if(g>>>0<11){i[fa>>0]=g<<1;c=z}else ta=171;if((ta|0)==171){ta=0;n=g+16&-16;c=GG(n)|0;k[w>>2]=c;k[fa>>2]=n|1;k[y>>2]=g}if((d|0)!=(f|0)){e=c;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(f|0))break;else e=e+1|0}c=c+g|0}i[c>>0]=0;x=0;l=wa;m=ea;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));qa(5,j|0,wa|0,fa|0,0,0);n=x;x=0;if(n&1){ta=183;break c}x=0;c=Ka(857,h|0,j|0)|0;n=x;x=0;if(n&1){ta=183;break c}k[R>>2]=c;d=c;if(c|0){k[p>>2]=0;e=k[q>>2]|0;if((e|0)==(k[s>>2]|0)){x=0;sa(455,t|0,R|0);n=x;x=0;if(n&1){ta=183;break c}}else{k[e>>2]=d;k[q>>2]=(k[q>>2]|0)+4}x=0;sa(k[k[o>>2]>>2]|0,o|0,c|0);n=x;x=0;if(n&1){ta=183;break c}}P1(fa)}while(0);if((k[va>>2]|0)>>>0>=b>>>0){ta=191;break}}switch(ta|0){case 31:{c=mb()|0;break}case 32:{c=mb()|0;ta=34;break}case 33:{c=mb()|0;P1(T);ta=34;break}case 90:{ya=mb()|0;P1(U);yb(ya|0)}case 91:{c=mb()|0;ta=93;break}case 92:{c=mb()|0;P1(W);ta=93;break}case 111:{ya=mb()|0;P1(Y);yb(ya|0)}case 129:{ya=mb()|0;P1(_);yb(ya|0)}case 147:{ya=mb()|0;P1(ba);yb(ya|0)}case 165:{ya=mb()|0;P1(da);yb(ya|0)}case 183:{ya=mb()|0;P1(fa);yb(ya|0)}case 191:{c=k[va>>2]|0;break b}}if((ta|0)==34)P1(ja);else if((ta|0)==93){P1(ka);ya=c;yb(ya|0)}P1(ma);ya=c;yb(ya|0)}while(0);if((c|0)==(b|0)){k[pa>>2]=oa;r=ya;return ua|0}j=ua+60|0;g=(k[la>>2]|0)+36|0;h=lD(g,76)|0;l=ra;m=na;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));d=k[va>>2]|0;f=b-d|0;if(f>>>0>4294967279){dH(xa);ta=197}else if(f>>>0<11){i[xa>>0]=f<<1;c=xa+1|0}else ta=197;if((ta|0)==197){ta=f+16&-16;c=GG(ta)|0;k[xa+8>>2]=c;k[xa>>2]=ta|1;k[xa+4>>2]=f}if((d|0)!=(b|0)){e=c;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+1|0}c=c+f|0}i[c>>0]=0;k[h+4>>2]=0;l=h+8|0;m=ra;n=l+40|0;do{k[l>>2]=k[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;i[h+56>>0]=0;k[h+52>>2]=4;k[h>>2]=5932;i[h+57>>0]=0;i[h+58>>0]=0;x=0;sa(477,h+60|0,xa|0);ta=x;x=0;do if(!(ta&1)){k[h+72>>2]=0;x=0;c=Ka(857,g|0,h|0)|0;ta=x;x=0;if(!(ta&1)){k[wa>>2]=c;d=c;if(c|0){k[j+16>>2]=0;e=j+8|0;f=k[e>>2]|0;if((f|0)==(k[j+12>>2]|0)){x=0;sa(455,j+4|0,wa|0);wa=x;x=0;if(wa&1)break}else{k[f>>2]=d;k[e>>2]=(k[e>>2]|0)+4}x=0;sa(k[k[j>>2]>>2]|0,j|0,c|0);wa=x;x=0;if(wa&1)break}P1(xa);k[va>>2]=b;k[pa>>2]=oa;r=ya;return ua|0}}while(0);ya=mb()|0;P1(xa);yb(ya|0);return 0}function fd(a,b,c,d,e,f,g,h,j,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;Q=0;X=r;r=r+512|0;J=X+96|0;s=X+104|0;Z=X+88|0;N=X+80|0;M=X+76|0;O=X+504|0;K=X+72|0;P=X+68|0;S=X+56|0;W=X+44|0;U=X+32|0;T=X+20|0;V=X+8|0;L=X+4|0;R=X;k[J>>2]=n;k[Z>>2]=s;Y=Z+4|0;k[Y>>2]=363;k[N>>2]=s;k[M>>2]=s+400;n=0;while(1){if((n|0)==3)break;k[S+(n<<2)>>2]=0;n=n+1|0}n=0;while(1){if((n|0)==3)break;k[W+(n<<2)>>2]=0;n=n+1|0}n=0;while(1){if((n|0)==3)break;k[U+(n<<2)>>2]=0;n=n+1|0}n=0;while(1){if((n|0)==3)break;k[T+(n<<2)>>2]=0;n=n+1|0}n=0;while(1){if((n|0)==3)break;k[V+(n<<2)>>2]=0;n=n+1|0}x=0;Ja(2,c|0,d|0,O|0,K|0,P|0,S|0,W|0,U|0,T|0,L|0);I=x;x=0;a:do if(I&1)c=mb()|0;else{k[m>>2]=k[j>>2];F=U+4|0;G=T+4|0;H=T+8|0;I=U+8|0;y=(e&512|0)!=0;z=W+8|0;A=W+4|0;B=V+4|0;C=V+8|0;D=O+3|0;E=S+4|0;w=0;q=0;b:while(1){if(w>>>0>=4){Q=259;break}n=k[a>>2]|0;do if(!n)d=1;else{c=k[n+12>>2]|0;if((c|0)==(k[n+16>>2]|0)){x=0;n=ua(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;v=x;x=0;if(v&1){Q=40;break b}}else n=k[c>>2]|0;if((n|0)==-1){k[a>>2]=0;d=1;break}else{d=(k[a>>2]|0)==0;break}}while(0);c=k[b>>2]|0;do if(!c)Q=32;else{n=k[c+12>>2]|0;if((n|0)==(k[c+16>>2]|0)){x=0;n=ua(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;v=x;x=0;if(v&1){Q=40;break b}}else n=k[n>>2]|0;if((n|0)==-1){k[b>>2]=0;Q=32;break}else if(d){v=c;break}else{Q=259;break b}}while(0);if((Q|0)==32){Q=0;if(d){Q=259;break}else v=0}c:do switch(i[O+w>>0]|0){case 1:{if((w|0)==3)n=s;else{n=k[a>>2]|0;c=k[n+12>>2]|0;if((c|0)==(k[n+16>>2]|0)){x=0;n=ua(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;Q=x;x=0;if(Q&1){Q=40;break b}}else n=k[c>>2]|0;x=0;n=xa(k[(k[h>>2]|0)+12>>2]|0,h|0,8192,n|0)|0;Q=x;x=0;if(Q&1){Q=40;break b}if(!n){Q=58;break b}n=k[a>>2]|0;c=n+12|0;d=k[c>>2]|0;if((d|0)==(k[n+16>>2]|0)){x=0;n=ua(k[(k[n>>2]|0)+40>>2]|0,n|0)|0;Q=x;x=0;if(Q&1){Q=40;break b}}else{k[c>>2]=d+4;n=k[d>>2]|0}x=0;sa(558,V|0,n|0);Q=x;x=0;if(Q&1){Q=40;break b}else{n=v;e=v;Q=60}}break}case 0:{if((w|0)==3)n=s;else{n=v;e=v;Q=60}break}case 3:{c=i[U>>0]|0;n=(c&1)==0?(c&255)>>>1:k[F>>2]|0;d=i[T>>0]|0;e=(d&1)==0?(d&255)>>>1:k[G>>2]|0;if((n|0)==(0-e|0))n=s;else{if(!n){n=k[a>>2]|0;c=k[n+12>>2]|0;if((c|0)==(k[n+16>>2]|0)){x=0;n=ua(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;v=x;x=0;if(v&1){Q=40;break b}c=i[T>>0]|0}else{n=k[c>>2]|0;c=d}if((n|0)!=(k[((c&1)==0?G:k[H>>2]|0)>>2]|0)){n=s;break c}n=k[a>>2]|0;c=n+12|0;d=k[c>>2]|0;if((d|0)==(k[n+16>>2]|0)){x=0;ua(k[(k[n>>2]|0)+40>>2]|0,n|0)|0;v=x;x=0;if(v&1){Q=40;break b}}else k[c>>2]=d+4;i[g>>0]=1;v=i[T>>0]|0;n=s;q=((v&1)==0?(v&255)>>>1:k[G>>2]|0)>>>0>1?T:q;break c}o=k[a>>2]|0;p=k[o+12>>2]|0;d=k[o+16>>2]|0;n=(p|0)==(d|0);if(!e){if(n){x=0;n=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;v=x;x=0;if(v&1){Q=40;break b}c=i[U>>0]|0}else n=k[p>>2]|0;if((n|0)!=(k[((c&1)==0?F:k[I>>2]|0)>>2]|0)){i[g>>0]=1;n=s;break c}n=k[a>>2]|0;c=n+12|0;d=k[c>>2]|0;if((d|0)==(k[n+16>>2]|0)){x=0;ua(k[(k[n>>2]|0)+40>>2]|0,n|0)|0;v=x;x=0;if(v&1){Q=40;break b}}else k[c>>2]=d+4;v=i[U>>0]|0;n=s;q=((v&1)==0?(v&255)>>>1:k[F>>2]|0)>>>0>1?U:q;break c}if(n){x=0;n=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;v=x;x=0;if(v&1){Q=40;break b}d=k[a>>2]|0;c=i[U>>0]|0;o=d;p=k[d+12>>2]|0;d=k[d+16>>2]|0}else n=k[p>>2]|0;e=o+12|0;d=(p|0)==(d|0);if((n|0)==(k[((c&1)==0?F:k[I>>2]|0)>>2]|0)){if(d){x=0;ua(k[(k[o>>2]|0)+40>>2]|0,o|0)|0;v=x;x=0;if(v&1){Q=40;break b}}else k[e>>2]=p+4;v=i[U>>0]|0;n=s;q=((v&1)==0?(v&255)>>>1:k[F>>2]|0)>>>0>1?U:q;break c}if(d){x=0;n=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;v=x;x=0;if(v&1){Q=40;break b}}else n=k[p>>2]|0;if((n|0)!=(k[((i[T>>0]&1)==0?G:k[H>>2]|0)>>2]|0)){Q=123;break b}n=k[a>>2]|0;c=n+12|0;d=k[c>>2]|0;if((d|0)==(k[n+16>>2]|0)){x=0;ua(k[(k[n>>2]|0)+40>>2]|0,n|0)|0;v=x;x=0;if(v&1){Q=40;break b}}else k[c>>2]=d+4;i[g>>0]=1;v=i[T>>0]|0;n=s;q=((v&1)==0?(v&255)>>>1:k[G>>2]|0)>>>0>1?T:q}break}case 2:{if(!(w>>>0<2|(q|0)!=0))if(!(y|(w|0)==2&(i[D>>0]|0)!=0)){n=s;q=0;break c}n=i[W>>0]|0;d=k[z>>2]|0;c=(n&1)==0?A:d;d:do if(!w){t=v;e=n;o=v}else if((l[O+(w+-1)>>0]|0)<2){e=c;while(1){u=(n&1)==0;c=e;if((c|0)==((u?A:d)+((u?(n&255)>>>1:k[A>>2]|0)<<2)|0)){u=n;n=e;break}x=0;n=xa(k[(k[h>>2]|0)+12>>2]|0,h|0,8192,k[c>>2]|0)|0;u=x;x=0;if(u&1){Q=37;break b}if(!n){n=e;Q=131;break}n=i[W>>0]|0;d=k[z>>2]|0;e=c+4|0}if((Q|0)==131){Q=0;u=i[W>>0]|0;d=k[z>>2]|0}o=(u&1)==0?A:d;c=o;t=n-c>>2;p=i[V>>0]|0;e=(p&1)==0;p=e?(p&255)>>>1:k[B>>2]|0;if(t>>>0>p>>>0){t=v;e=u;o=v}else{p=(e?B:k[C>>2]|0)+(p<<2)|0;e=p+(0-t<<2)|0;while(1){if((e|0)==(p|0)){t=v;e=u;o=v;c=n;break d}if((k[e>>2]|0)!=(k[o>>2]|0)){t=v;e=u;o=v;break d}o=o+4|0;e=e+4|0}}}else{t=v;e=n;o=v}while(0);e:while(1){n=(e&1)==0;n=(n?A:d)+((n?(e&255)>>>1:k[A>>2]|0)<<2)|0;p=c;if((p|0)==(n|0))break;n=k[a>>2]|0;do if(!n)c=1;else{c=k[n+12>>2]|0;if((c|0)==(k[n+16>>2]|0)){x=0;n=ua(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;v=x;x=0;if(v&1){Q=36;break b}}else n=k[c>>2]|0;if((n|0)==-1){k[a>>2]=0;c=1;break}else{c=(k[a>>2]|0)==0;break}}while(0);do if(!o){n=t;Q=152}else{n=k[o+12>>2]|0;if((n|0)==(k[o+16>>2]|0)){x=0;n=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;v=x;x=0;if(v&1){Q=36;break b}}else n=k[n>>2]|0;if((n|0)==-1){k[b>>2]=0;n=0;Q=152;break}else if(c^(t|0)==0){n=t;o=t;break}else{n=p;break e}}while(0);if((Q|0)==152){Q=0;if(c){n=p;break}else o=0}c=k[a>>2]|0;d=k[c+12>>2]|0;if((d|0)==(k[c+16>>2]|0)){x=0;c=ua(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;v=x;x=0;if(v&1){Q=36;break b}}else c=k[d>>2]|0;if((c|0)!=(k[p>>2]|0)){n=p;break}c=k[a>>2]|0;d=c+12|0;e=k[d>>2]|0;if((e|0)==(k[c+16>>2]|0)){x=0;ua(k[(k[c>>2]|0)+40>>2]|0,c|0)|0;v=x;x=0;if(v&1){Q=36;break b}}else k[d>>2]=e+4;t=n;e=i[W>>0]|0;d=k[z>>2]|0;c=p+4|0}if(y){v=i[W>>0]|0;u=(v&1)==0;if((n|0)==((u?A:k[z>>2]|0)+((u?(v&255)>>>1:k[A>>2]|0)<<2)|0))n=s;else{Q=164;break b}}else n=s;break}case 4:{t=k[P>>2]|0;p=v;o=v;n=s;c=0;f:while(1){d=k[a>>2]|0;do if(!d)e=1;else{e=k[d+12>>2]|0;if((e|0)==(k[d+16>>2]|0)){x=0;d=ua(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;v=x;x=0;if(v&1){Q=39;break b}}else d=k[e>>2]|0;if((d|0)==-1){k[a>>2]=0;e=1;break}else{e=(k[a>>2]|0)==0;break}}while(0);do if(!o){d=p;Q=178}else{d=k[o+12>>2]|0;if((d|0)==(k[o+16>>2]|0)){x=0;d=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;v=x;x=0;if(v&1){Q=39;break b}}else d=k[d>>2]|0;if((d|0)==-1){k[b>>2]=0;d=0;Q=178;break}else if(e^(p|0)==0){d=p;s=p;break}else break f}while(0);if((Q|0)==178){Q=0;if(e){p=d;break}else s=0}e=k[a>>2]|0;o=k[e+12>>2]|0;if((o|0)==(k[e+16>>2]|0)){x=0;e=ua(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;v=x;x=0;if(v&1){Q=39;break b}}else e=k[o>>2]|0;x=0;o=xa(k[(k[h>>2]|0)+12>>2]|0,h|0,2048,e|0)|0;v=x;x=0;if(v&1){Q=39;break b}if(o){o=k[m>>2]|0;if((o|0)==(k[J>>2]|0)){x=0;Qa(152,j|0,m|0,J|0);v=x;x=0;if(v&1){Q=39;break b}o=k[m>>2]|0}k[m>>2]=o+4;k[o>>2]=e;c=c+1|0}else{v=i[S>>0]|0;if(!((e|0)==(t|0)&(c|0?(((v&1)==0?(v&255)>>>1:k[E>>2]|0)|0)!=0:0))){p=d;break}if((n|0)==(k[M>>2]|0)){x=0;Qa(151,Z|0,N|0,M|0);v=x;x=0;if(v&1){Q=39;break b}n=k[N>>2]|0}v=n+4|0;k[N>>2]=v;k[n>>2]=c;n=v;c=0}e=k[a>>2]|0;o=e+12|0;p=k[o>>2]|0;if((p|0)==(k[e+16>>2]|0)){x=0;ua(k[(k[e>>2]|0)+40>>2]|0,e|0)|0;v=x;x=0;if(v&1){Q=39;break b}else{p=d;o=s;continue}}else{k[o>>2]=p+4;p=d;o=s;continue}}if(c|0?(k[Z>>2]|0)!=(n|0):0){if((n|0)==(k[M>>2]|0)){x=0;Qa(151,Z|0,N|0,M|0);v=x;x=0;if(v&1){Q=40;break b}n=k[N>>2]|0}v=n+4|0;k[N>>2]=v;k[n>>2]=c;n=v}o=k[L>>2]|0;g:do if((o|0)>0){c=k[a>>2]|0;do if(!c)d=1;else{d=k[c+12>>2]|0;if((d|0)==(k[c+16>>2]|0)){x=0;c=ua(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;v=x;x=0;if(v&1){Q=40;break b}}else c=k[d>>2]|0;if((c|0)==-1){k[a>>2]=0;d=1;break}else{d=(k[a>>2]|0)==0;break}}while(0);do if(!p)Q=216;else{c=k[p+12>>2]|0;if((c|0)==(k[p+16>>2]|0)){x=0;c=ua(k[(k[p>>2]|0)+36>>2]|0,p|0)|0;v=x;x=0;if(v&1){Q=40;break b}}else c=k[c>>2]|0;if((c|0)==-1){k[b>>2]=0;Q=216;break}else if(d)break;else{Q=222;break b}}while(0);if((Q|0)==216){Q=0;if(d){Q=222;break b}else p=0}c=k[a>>2]|0;d=k[c+12>>2]|0;if((d|0)==(k[c+16>>2]|0)){x=0;c=ua(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;v=x;x=0;if(v&1){Q=40;break b}}else c=k[d>>2]|0;if((c|0)!=(k[K>>2]|0)){Q=222;break b}c=k[a>>2]|0;d=c+12|0;e=k[d>>2]|0;if((e|0)==(k[c+16>>2]|0)){x=0;ua(k[(k[c>>2]|0)+40>>2]|0,c|0)|0;v=x;x=0;if(v&1){Q=40;break b}else c=p}else{k[d>>2]=e+4;c=p}while(1){if((o|0)<=0)break g;d=k[a>>2]|0;do if(!d)e=1;else{e=k[d+12>>2]|0;if((e|0)==(k[d+16>>2]|0)){x=0;d=ua(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;v=x;x=0;if(v&1){Q=38;break b}}else d=k[e>>2]|0;if((d|0)==-1){k[a>>2]=0;e=1;break}else{e=(k[a>>2]|0)==0;break}}while(0);do if(!p)Q=240;else{d=k[p+12>>2]|0;if((d|0)==(k[p+16>>2]|0)){x=0;d=ua(k[(k[p>>2]|0)+36>>2]|0,p|0)|0;v=x;x=0;if(v&1){Q=38;break b}}else d=k[d>>2]|0;if((d|0)==-1){k[b>>2]=0;c=0;Q=240;break}else if(e^(c|0)==0){s=c;p=c;break}else{Q=247;break b}}while(0);if((Q|0)==240){Q=0;if(e){Q=247;break b}else{s=c;p=0}}c=k[a>>2]|0;d=k[c+12>>2]|0;if((d|0)==(k[c+16>>2]|0)){x=0;c=ua(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;v=x;x=0;if(v&1){Q=38;break b}}else c=k[d>>2]|0;x=0;c=xa(k[(k[h>>2]|0)+12>>2]|0,h|0,2048,c|0)|0;v=x;x=0;if(v&1){Q=38;break b}if(!c){Q=247;break b}if((k[m>>2]|0)==(k[J>>2]|0)){x=0;Qa(152,j|0,m|0,J|0);v=x;x=0;if(v&1){Q=38;break b}}c=k[a>>2]|0;d=k[c+12>>2]|0;if((d|0)==(k[c+16>>2]|0)){x=0;c=ua(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;v=x;x=0;if(v&1){Q=38;break b}}else c=k[d>>2]|0;d=k[m>>2]|0;k[m>>2]=d+4;k[d>>2]=c;o=o+-1|0;k[L>>2]=o;c=k[a>>2]|0;d=c+12|0;e=k[d>>2]|0;if((e|0)==(k[c+16>>2]|0)){x=0;ua(k[(k[c>>2]|0)+40>>2]|0,c|0)|0;v=x;x=0;if(v&1){Q=38;break b}else{c=s;continue}}else{k[d>>2]=e+4;c=s;continue}}}while(0);if((k[m>>2]|0)==(k[j>>2]|0)){Q=257;break b}break}default:n=s}while(0);h:do if((Q|0)==60)while(1){Q=0;c=k[a>>2]|0;do if(!c)d=1;else{d=k[c+12>>2]|0;if((d|0)==(k[c+16>>2]|0)){x=0;c=ua(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;v=x;x=0;if(v&1){Q=35;break b}}else c=k[d>>2]|0;if((c|0)==-1){k[a>>2]=0;d=1;break}else{d=(k[a>>2]|0)==0;break}}while(0);do if(!e)Q=73;else{c=k[e+12>>2]|0;if((c|0)==(k[e+16>>2]|0)){x=0;c=ua(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;v=x;x=0;if(v&1){Q=35;break b}}else c=k[c>>2]|0;if((c|0)==-1){k[b>>2]=0;n=0;Q=73;break}else if(d^(n|0)==0){o=n;e=n;break}else{n=s;break h}}while(0);if((Q|0)==73){Q=0;if(d){n=s;break h}else{o=n;e=0}}n=k[a>>2]|0;c=k[n+12>>2]|0;if((c|0)==(k[n+16>>2]|0)){x=0;n=ua(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;v=x;x=0;if(v&1){Q=35;break b}}else n=k[c>>2]|0;x=0;n=xa(k[(k[h>>2]|0)+12>>2]|0,h|0,8192,n|0)|0;v=x;x=0;if(v&1){Q=35;break b}if(!n){n=s;break h}n=k[a>>2]|0;c=n+12|0;d=k[c>>2]|0;if((d|0)==(k[n+16>>2]|0)){x=0;n=ua(k[(k[n>>2]|0)+40>>2]|0,n|0)|0;Q=x;x=0;if(Q&1){Q=35;break b}}else{k[c>>2]=d+4;n=k[d>>2]|0}x=0;sa(558,V|0,n|0);Q=x;x=0;if(Q&1){Q=35;break b}else{n=o;Q=60}}while(0);s=n;w=w+1|0}i:switch(Q|0){case 35:{c=mb()|0;break a}case 36:{c=mb()|0;break a}case 37:{c=mb()|0;break a}case 38:{c=mb()|0;break a}case 39:{c=mb()|0;break a}case 40:{c=mb()|0;break a}case 58:{k[f>>2]=k[f>>2]|4;c=0;break}case 123:{k[f>>2]=k[f>>2]|4;c=0;break}case 164:{k[f>>2]=k[f>>2]|4;c=0;break}case 222:{k[f>>2]=k[f>>2]|4;c=0;break}case 247:{k[f>>2]=k[f>>2]|4;c=0;break}case 257:{k[f>>2]=k[f>>2]|4;c=0;break}case 259:{j:do if(q|0){o=q+4|0;p=q+8|0;e=1;k:while(1){n=i[q>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=k[o>>2]|0;if(e>>>0>=n>>>0)break j;n=k[a>>2]|0;do if(!n)d=1;else{c=k[n+12>>2]|0;if((c|0)==(k[n+16>>2]|0)){x=0;n=ua(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;m=x;x=0;if(m&1){Q=34;break k}}else n=k[c>>2]|0;if((n|0)==-1){k[a>>2]=0;d=1;break}else{d=(k[a>>2]|0)==0;break}}while(0);n=k[b>>2]|0;do if(!n)Q=278;else{c=k[n+12>>2]|0;if((c|0)==(k[n+16>>2]|0)){x=0;n=ua(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;m=x;x=0;if(m&1){Q=34;break k}}else n=k[c>>2]|0;if((n|0)==-1){k[b>>2]=0;Q=278;break}else if(d)break;else{Q=286;break k}}while(0);if((Q|0)==278){Q=0;if(d){Q=286;break}}n=k[a>>2]|0;c=k[n+12>>2]|0;if((c|0)==(k[n+16>>2]|0)){x=0;n=ua(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;m=x;x=0;if(m&1){Q=34;break}}else n=k[c>>2]|0;if(!(i[q>>0]&1))c=o;else c=k[p>>2]|0;if((n|0)!=(k[c+(e<<2)>>2]|0)){Q=286;break}n=e+1|0;c=k[a>>2]|0;d=c+12|0;e=k[d>>2]|0;if((e|0)==(k[c+16>>2]|0)){x=0;ua(k[(k[c>>2]|0)+40>>2]|0,c|0)|0;m=x;x=0;if(m&1){Q=34;break}else{e=n;continue}}else{k[d>>2]=e+4;e=n;continue}}if((Q|0)==34){c=mb()|0;break a}else if((Q|0)==286){k[f>>2]=k[f>>2]|4;c=0;break i}}while(0);n=k[Z>>2]|0;if((n|0)==(s|0))c=1;else{k[R>>2]=0;pv(S,n,s,R);if(!(k[R>>2]|0)){c=1;break}else{k[f>>2]=k[f>>2]|4;c=0;break}}break}}O1(V);O1(T);O1(U);O1(W);P1(S);n=k[Z>>2]|0;k[Z>>2]=0;if(n|0){x=0;ra(k[Y>>2]|0,n|0);Z=x;x=0;if(Z&1){Z=Eb(0)|0;Nba(Z)}}r=X;return c|0}while(0);O1(V);O1(T);O1(U);O1(W);P1(S);n=k[Z>>2]|0;k[Z>>2]=0;if(n|0){x=0;ra(k[Y>>2]|0,n|0);Z=x;x=0;if(Z&1){Z=Eb(0)|0;Nba(Z)}}yb(c|0);return 0}function gd(a,b,c,d,e,f,g,h,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=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,$=0,aa=0,ba=0,ca=0;V=0;aa=r;r=r+512|0;O=aa+88|0;t=aa+96|0;ca=aa+80|0;S=aa+72|0;R=aa+68|0;T=aa+500|0;P=aa+497|0;U=aa+496|0;X=aa+56|0;$=aa+44|0;Z=aa+32|0;Y=aa+20|0;_=aa+8|0;Q=aa+4|0;W=aa;k[O>>2]=o;k[ca>>2]=t;ba=ca+4|0;k[ba>>2]=363;k[S>>2]=t;k[R>>2]=t+400;o=0;while(1){if((o|0)==3)break;k[X+(o<<2)>>2]=0;o=o+1|0}o=0;while(1){if((o|0)==3)break;k[$+(o<<2)>>2]=0;o=o+1|0}o=0;while(1){if((o|0)==3)break;k[Z+(o<<2)>>2]=0;o=o+1|0}o=0;while(1){if((o|0)==3)break;k[Y+(o<<2)>>2]=0;o=o+1|0}o=0;while(1){if((o|0)==3)break;k[_+(o<<2)>>2]=0;o=o+1|0}x=0;Ja(1,c|0,d|0,T|0,P|0,U|0,X|0,$|0,Z|0,Y|0,Q|0);N=x;x=0;a:do if(N&1)h=mb()|0;else{k[n>>2]=k[m>>2];H=h+8|0;I=Z+4|0;J=Y+4|0;K=Y+8|0;L=Y+1|0;M=Z+8|0;N=Z+1|0;y=(e&512|0)!=0;z=$+8|0;A=$+1|0;B=$+4|0;C=_+4|0;D=_+8|0;E=_+1|0;F=T+3|0;G=X+4|0;w=0;s=0;b:while(1){if(w>>>0>=4){V=251;break}o=k[a>>2]|0;do if(!o)o=0;else if((k[o+12>>2]|0)==(k[o+16>>2]|0)){x=0;o=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;v=x;x=0;if(v&1){V=38;break b}if((o|0)==-1){k[a>>2]=0;o=0;break}else{o=k[a>>2]|0;break}}while(0);o=(o|0)==0;h=k[b>>2]|0;do if(!h)V=31;else{if((k[h+12>>2]|0)!=(k[h+16>>2]|0))if(o){v=h;break}else{V=251;break b}x=0;c=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;v=x;x=0;if(v&1){V=38;break b}if((c|0)==-1){k[b>>2]=0;V=31;break}else if(o){v=h;break}else{V=251;break b}}while(0);if((V|0)==31){V=0;if(o){V=251;break}else v=0}c:do switch(i[T+w>>0]|0){case 1:{if((w|0)!=3){o=k[a>>2]|0;h=k[o+12>>2]|0;if((h|0)==(k[o+16>>2]|0)){x=0;o=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;V=x;x=0;if(V&1){V=38;break b}}else o=l[h>>0]|0;if((o&255)<<24>>24<=-1){V=56;break b}if(!(j[(k[H>>2]|0)+(o<<24>>24<<1)>>1]&8192)){V=56;break b}o=k[a>>2]|0;h=o+12|0;c=k[h>>2]|0;if((c|0)==(k[o+16>>2]|0)){x=0;o=ua(k[(k[o>>2]|0)+40>>2]|0,o|0)|0;V=x;x=0;if(V&1){V=38;break b}}else{k[h>>2]=c+1;o=l[c>>0]|0}x=0;sa(440,_|0,o&255|0);V=x;x=0;if(V&1){V=38;break b}else{o=v;d=v;V=58}}break}case 0:{if((w|0)!=3){o=v;d=v;V=58}break}case 3:{h=i[Z>>0]|0;o=(h&1)==0?(h&255)>>>1:k[I>>2]|0;c=i[Y>>0]|0;d=(c&1)==0?(c&255)>>>1:k[J>>2]|0;if((o|0)!=(0-d|0)){if(!o){o=k[a>>2]|0;h=k[o+12>>2]|0;if((h|0)==(k[o+16>>2]|0)){x=0;o=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;v=x;x=0;if(v&1){V=38;break b}h=i[Y>>0]|0}else{o=l[h>>0]|0;h=c}if((o&255)<<24>>24!=(i[((h&1)==0?L:k[K>>2]|0)>>0]|0))break c;o=k[a>>2]|0;h=o+12|0;c=k[h>>2]|0;if((c|0)==(k[o+16>>2]|0)){x=0;ua(k[(k[o>>2]|0)+40>>2]|0,o|0)|0;v=x;x=0;if(v&1){V=38;break b}}else k[h>>2]=c+1;i[g>>0]=1;v=i[Y>>0]|0;s=((v&1)==0?(v&255)>>>1:k[J>>2]|0)>>>0>1?Y:s;break c}e=k[a>>2]|0;p=k[e+12>>2]|0;c=k[e+16>>2]|0;o=(p|0)==(c|0);if(!d){if(o){x=0;o=ua(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;v=x;x=0;if(v&1){V=38;break b}h=i[Z>>0]|0}else o=l[p>>0]|0;if((o&255)<<24>>24!=(i[((h&1)==0?N:k[M>>2]|0)>>0]|0)){i[g>>0]=1;break c}o=k[a>>2]|0;h=o+12|0;c=k[h>>2]|0;if((c|0)==(k[o+16>>2]|0)){x=0;ua(k[(k[o>>2]|0)+40>>2]|0,o|0)|0;v=x;x=0;if(v&1){V=38;break b}}else k[h>>2]=c+1;v=i[Z>>0]|0;s=((v&1)==0?(v&255)>>>1:k[I>>2]|0)>>>0>1?Z:s;break c}if(o){x=0;o=ua(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;v=x;x=0;if(v&1){V=38;break b}c=k[a>>2]|0;h=i[Z>>0]|0;e=c;p=k[c+12>>2]|0;c=k[c+16>>2]|0}else o=l[p>>0]|0;d=e+12|0;c=(p|0)==(c|0);if((o&255)<<24>>24==(i[((h&1)==0?N:k[M>>2]|0)>>0]|0)){if(c){x=0;ua(k[(k[e>>2]|0)+40>>2]|0,e|0)|0;v=x;x=0;if(v&1){V=38;break b}}else k[d>>2]=p+1;v=i[Z>>0]|0;s=((v&1)==0?(v&255)>>>1:k[I>>2]|0)>>>0>1?Z:s;break c}if(c){x=0;o=ua(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;v=x;x=0;if(v&1){V=38;break b}}else o=l[p>>0]|0;if((o&255)<<24>>24!=(i[((i[Y>>0]&1)==0?L:k[K>>2]|0)>>0]|0)){V=120;break b}o=k[a>>2]|0;h=o+12|0;c=k[h>>2]|0;if((c|0)==(k[o+16>>2]|0)){x=0;ua(k[(k[o>>2]|0)+40>>2]|0,o|0)|0;v=x;x=0;if(v&1){V=38;break b}}else k[h>>2]=c+1;i[g>>0]=1;v=i[Y>>0]|0;s=((v&1)==0?(v&255)>>>1:k[J>>2]|0)>>>0>1?Y:s}break}case 2:{if(!(w>>>0<2|(s|0)!=0))if(!(y|(w|0)==2&(i[F>>0]|0)!=0)){s=0;break c}q=i[$>>0]|0;o=(q&1)==0;u=k[z>>2]|0;c=o?A:u;h=c;d:do if(!w){d=v;c=q;o=u;e=v}else if((l[T+(w+-1)>>0]|0)<2){o=c+(o?(q&255)>>>1:k[B>>2]|0)|0;p=h;while(1){d=p;if((d|0)==(o|0))break;e=i[d>>0]|0;if(e<<24>>24<=-1)break;if(!(j[(k[H>>2]|0)+(e<<24>>24<<1)>>1]&8192))break;p=d+1|0}e=p-h|0;d=i[_>>0]|0;o=(d&1)==0;d=o?(d&255)>>>1:k[C>>2]|0;if(e>>>0>d>>>0){d=v;c=q;o=u;e=v}else{d=(o?E:k[D>>2]|0)+d|0;o=d+(0-e)|0;while(1){if((o|0)==(d|0)){d=v;c=q;o=u;e=v;h=p;break d}if((i[o>>0]|0)!=(i[c>>0]|0)){d=v;c=q;o=u;e=v;break d}c=c+1|0;o=o+1|0}}}else{d=v;c=q;o=u;e=v}while(0);e:while(1){p=(c&1)==0;o=(p?A:o)+(p?(c&255)>>>1:k[B>>2]|0)|0;p=h;if((p|0)==(o|0))break;o=k[a>>2]|0;do if(!o)o=0;else if((k[o+12>>2]|0)==(k[o+16>>2]|0)){x=0;o=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;v=x;x=0;if(v&1){V=35;break b}if((o|0)==-1){k[a>>2]=0;o=0;break}else{o=k[a>>2]|0;break}}while(0);h=(o|0)==0;do if(!e){o=d;V=148}else{if((k[e+12>>2]|0)!=(k[e+16>>2]|0))if(h){o=d;break}else{o=p;break e}x=0;o=ua(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;v=x;x=0;if(v&1){V=35;break b}if((o|0)==-1){k[b>>2]=0;o=0;V=148;break}else if(h^(d|0)==0){o=d;e=d;break}else{o=p;break e}}while(0);if((V|0)==148){V=0;if(h){o=p;break}else e=0}h=k[a>>2]|0;c=k[h+12>>2]|0;if((c|0)==(k[h+16>>2]|0)){x=0;h=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;v=x;x=0;if(v&1){V=35;break b}}else h=l[c>>0]|0;if((h&255)<<24>>24!=(i[p>>0]|0)){o=p;break}h=k[a>>2]|0;c=h+12|0;d=k[c>>2]|0;if((d|0)==(k[h+16>>2]|0)){x=0;ua(k[(k[h>>2]|0)+40>>2]|0,h|0)|0;v=x;x=0;if(v&1){V=35;break b}}else k[c>>2]=d+1;d=o;c=i[$>>0]|0;o=k[z>>2]|0;h=p+1|0}if(y){v=i[$>>0]|0;u=(v&1)==0;if((o|0)!=((u?A:k[z>>2]|0)+(u?(v&255)>>>1:k[B>>2]|0)|0)){V=160;break b}}break}case 4:{q=i[U>>0]|0;h=v;e=v;o=0;f:while(1){c=k[a>>2]|0;do if(!c)c=0;else if((k[c+12>>2]|0)==(k[c+16>>2]|0)){x=0;c=ua(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;v=x;x=0;if(v&1){V=37;break b}if((c|0)==-1){k[a>>2]=0;c=0;break}else{c=k[a>>2]|0;break}}while(0);d=(c|0)==0;do if(!e)V=173;else{if((k[e+12>>2]|0)!=(k[e+16>>2]|0))if(d){p=h;break}else{c=h;break f}x=0;c=ua(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;v=x;x=0;if(v&1){V=37;break b}if((c|0)==-1){k[b>>2]=0;h=0;V=173;break}else if(d^(h|0)==0){p=h;e=h;break}else{c=h;break f}}while(0);if((V|0)==173){V=0;if(d){c=h;break}else{p=h;e=0}}h=k[a>>2]|0;c=k[h+12>>2]|0;if((c|0)==(k[h+16>>2]|0)){x=0;h=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;v=x;x=0;if(v&1){V=37;break b}}else h=l[c>>0]|0;c=h&255;if(c<<24>>24>-1)if(!(j[(k[H>>2]|0)+(h<<24>>24<<1)>>1]&2048))V=184;else{h=k[n>>2]|0;if((h|0)==(k[O>>2]|0)){x=0;Qa(150,m|0,n|0,O|0);v=x;x=0;if(v&1){V=37;break b}h=k[n>>2]|0}k[n>>2]=h+1;i[h>>0]=c;o=o+1|0}else V=184;if((V|0)==184){V=0;v=i[X>>0]|0;if(!(c<<24>>24==q<<24>>24&(o|0?(((v&1)==0?(v&255)>>>1:k[G>>2]|0)|0)!=0:0))){c=p;break}if((t|0)==(k[R>>2]|0)){x=0;Qa(151,ca|0,S|0,R|0);v=x;x=0;if(v&1){V=37;break b}t=k[S>>2]|0}v=t+4|0;k[S>>2]=v;k[t>>2]=o;t=v;o=0}h=k[a>>2]|0;c=h+12|0;d=k[c>>2]|0;if((d|0)==(k[h+16>>2]|0)){x=0;ua(k[(k[h>>2]|0)+40>>2]|0,h|0)|0;v=x;x=0;if(v&1){V=37;break b}else{h=p;continue}}else{k[c>>2]=d+1;h=p;continue}}if(o|0?(k[ca>>2]|0)!=(t|0):0){if((t|0)==(k[R>>2]|0)){x=0;Qa(151,ca|0,S|0,R|0);v=x;x=0;if(v&1){V=38;break b}t=k[S>>2]|0}v=t+4|0;k[S>>2]=v;k[t>>2]=o;t=v}d=k[Q>>2]|0;g:do if((d|0)>0){o=k[a>>2]|0;do if(!o)o=0;else if((k[o+12>>2]|0)==(k[o+16>>2]|0)){x=0;o=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;v=x;x=0;if(v&1){V=38;break b}if((o|0)==-1){k[a>>2]=0;o=0;break}else{o=k[a>>2]|0;break}}while(0);o=(o|0)==0;do if(!c)V=210;else{if((k[c+12>>2]|0)==(k[c+16>>2]|0)){x=0;h=ua(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;v=x;x=0;if(v&1){V=38;break b}if((h|0)==-1){k[b>>2]=0;V=210;break}}if(o)e=c;else{V=215;break b}}while(0);if((V|0)==210){V=0;if(o){V=215;break b}else e=0}o=k[a>>2]|0;h=k[o+12>>2]|0;if((h|0)==(k[o+16>>2]|0)){x=0;o=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;v=x;x=0;if(v&1){V=38;break b}}else o=l[h>>0]|0;if((o&255)<<24>>24!=(i[P>>0]|0)){V=215;break b}o=k[a>>2]|0;h=o+12|0;c=k[h>>2]|0;if((c|0)==(k[o+16>>2]|0)){x=0;ua(k[(k[o>>2]|0)+40>>2]|0,o|0)|0;v=x;x=0;if(v&1){V=38;break b}else o=e}else{k[h>>2]=c+1;o=e}while(1){if((d|0)<=0)break g;h=k[a>>2]|0;do if(!h)h=0;else if((k[h+12>>2]|0)==(k[h+16>>2]|0)){x=0;h=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;v=x;x=0;if(v&1){V=36;break b}if((h|0)==-1){k[a>>2]=0;h=0;break}else{h=k[a>>2]|0;break}}while(0);c=(h|0)==0;do if(!e)V=232;else{if((k[e+12>>2]|0)!=(k[e+16>>2]|0))if(c){p=o;break}else{V=239;break b}x=0;h=ua(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;v=x;x=0;if(v&1){V=36;break b}if((h|0)==-1){k[b>>2]=0;o=0;V=232;break}else if(c^(o|0)==0){p=o;e=o;break}else{V=239;break b}}while(0);if((V|0)==232){V=0;if(c){V=239;break b}else{p=o;e=0}}o=k[a>>2]|0;h=k[o+12>>2]|0;if((h|0)==(k[o+16>>2]|0)){x=0;o=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;v=x;x=0;if(v&1){V=36;break b}}else o=l[h>>0]|0;if((o&255)<<24>>24<=-1){V=239;break b}if(!(j[(k[H>>2]|0)+(o<<24>>24<<1)>>1]&2048)){V=239;break b}if((k[n>>2]|0)==(k[O>>2]|0)){x=0;Qa(150,m|0,n|0,O|0);v=x;x=0;if(v&1){V=36;break b}}o=k[a>>2]|0;h=k[o+12>>2]|0;if((h|0)==(k[o+16>>2]|0)){x=0;o=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;v=x;x=0;if(v&1){V=36;break b}}else o=l[h>>0]|0;h=k[n>>2]|0;k[n>>2]=h+1;i[h>>0]=o;d=d+-1|0;k[Q>>2]=d;o=k[a>>2]|0;h=o+12|0;c=k[h>>2]|0;if((c|0)==(k[o+16>>2]|0)){x=0;ua(k[(k[o>>2]|0)+40>>2]|0,o|0)|0;v=x;x=0;if(v&1){V=36;break b}else{o=p;continue}}else{k[h>>2]=c+1;o=p;continue}}}while(0);if((k[n>>2]|0)==(k[m>>2]|0)){V=249;break b}break}default:{}}while(0);h:do if((V|0)==58)while(1){V=0;h=k[a>>2]|0;do if(!h)h=0;else if((k[h+12>>2]|0)==(k[h+16>>2]|0)){x=0;h=ua(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;v=x;x=0;if(v&1){V=34;break b}if((h|0)==-1){k[a>>2]=0;h=0;break}else{h=k[a>>2]|0;break}}while(0);c=(h|0)==0;do if(!d)V=70;else{if((k[d+12>>2]|0)!=(k[d+16>>2]|0))if(c){e=o;break}else break h;x=0;h=ua(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;v=x;x=0;if(v&1){V=34;break b}if((h|0)==-1){k[b>>2]=0;o=0;V=70;break}else if(c^(o|0)==0){e=o;d=o;break}else break h}while(0);if((V|0)==70){V=0;if(c)break h;else{e=o;d=0}}o=k[a>>2]|0;h=k[o+12>>2]|0;if((h|0)==(k[o+16>>2]|0)){x=0;o=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;v=x;x=0;if(v&1){V=34;break b}}else o=l[h>>0]|0;if((o&255)<<24>>24<=-1)break h;if(!(j[(k[H>>2]|0)+(o<<24>>24<<1)>>1]&8192))break h;o=k[a>>2]|0;h=o+12|0;c=k[h>>2]|0;if((c|0)==(k[o+16>>2]|0)){x=0;o=ua(k[(k[o>>2]|0)+40>>2]|0,o|0)|0;V=x;x=0;if(V&1){V=34;break b}}else{k[h>>2]=c+1;o=l[c>>0]|0}x=0;sa(440,_|0,o&255|0);V=x;x=0;if(V&1){V=34;break b}else{o=e;V=58}}while(0);w=w+1|0}i:switch(V|0){case 34:{h=mb()|0;break a}case 35:{h=mb()|0;break a}case 36:{h=mb()|0;break a}case 37:{h=mb()|0;break a}case 38:{h=mb()|0;break a}case 56:{k[f>>2]=k[f>>2]|4;h=0;break}case 120:{k[f>>2]=k[f>>2]|4;h=0;break}case 160:{k[f>>2]=k[f>>2]|4;h=0;break}case 215:{k[f>>2]=k[f>>2]|4;h=0;break}case 239:{k[f>>2]=k[f>>2]|4;h=0;break}case 249:{k[f>>2]=k[f>>2]|4;h=0;break}case 251:{j:do if(s|0){e=s+1|0;p=s+8|0;q=s+4|0;c=1;k:while(1){o=i[s>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=k[q>>2]|0;if(c>>>0>=o>>>0)break j;o=k[a>>2]|0;do if(!o)o=0;else if((k[o+12>>2]|0)==(k[o+16>>2]|0)){x=0;o=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;n=x;x=0;if(n&1){V=33;break k}if((o|0)==-1){k[a>>2]=0;o=0;break}else{o=k[a>>2]|0;break}}while(0);h=(o|0)==0;o=k[b>>2]|0;do if(!o)V=269;else{if((k[o+12>>2]|0)==(k[o+16>>2]|0)){x=0;o=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;n=x;x=0;if(n&1){V=33;break k}if((o|0)==-1){k[b>>2]=0;V=269;break}}if(!h){V=276;break k}}while(0);if((V|0)==269){V=0;if(h){V=276;break}}o=k[a>>2]|0;h=k[o+12>>2]|0;if((h|0)==(k[o+16>>2]|0)){x=0;o=ua(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;n=x;x=0;if(n&1){V=33;break}}else o=l[h>>0]|0;if(!(i[s>>0]&1))h=e;else h=k[p>>2]|0;if((o&255)<<24>>24!=(i[h+c>>0]|0)){V=276;break}o=c+1|0;h=k[a>>2]|0;c=h+12|0;d=k[c>>2]|0;if((d|0)==(k[h+16>>2]|0)){x=0;ua(k[(k[h>>2]|0)+40>>2]|0,h|0)|0;n=x;x=0;if(n&1){V=33;break}else{c=o;continue}}else{k[c>>2]=d+1;c=o;continue}}if((V|0)==33){h=mb()|0;break a}else if((V|0)==276){k[f>>2]=k[f>>2]|4;h=0;break i}}while(0);o=k[ca>>2]|0;if((o|0)==(t|0))h=1;else{k[W>>2]=0;pv(X,o,t,W);if(!(k[W>>2]|0)){h=1;break}else{k[f>>2]=k[f>>2]|4;h=0;break}}break}}P1(_);P1(Y);P1(Z);P1($);P1(X);o=k[ca>>2]|0;k[ca>>2]=0;if(o|0){x=0;ra(k[ba>>2]|0,o|0);ca=x;x=0;if(ca&1){ca=Eb(0)|0;Nba(ca)}}r=aa;return h|0}while(0);P1(_);P1(Y);P1(Z);P1($);P1(X);o=k[ca>>2]|0;k[ca>>2]=0;if(o|0){x=0;ra(k[ba>>2]|0,o|0);ca=x;x=0;if(ca&1){ca=Eb(0)|0;Nba(ca)}}yb(h|0);return 0}function hd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=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;w=0;D=r;r=r+16|0;o=D;do if(a>>>0<245){p=a>>>0<11?16:a+11&-8;a=p>>>3;i=k[18135]|0;b=i>>>a;if(b&3|0){b=(b&1^1)+a|0;c=72580+(b<<1<<2)|0;d=c+8|0;e=k[d>>2]|0;f=e+8|0;g=k[f>>2]|0;do if((c|0)==(g|0))k[18135]=i&~(1<>>0<(k[18139]|0)>>>0)bb();a=g+12|0;if((k[a>>2]|0)==(e|0)){k[a>>2]=c;k[d>>2]=g;break}else bb()}while(0);C=b<<3;k[e+4>>2]=C|3;C=e+C+4|0;k[C>>2]=k[C>>2]|1;C=f;r=D;return C|0}g=k[18137]|0;if(p>>>0>g>>>0){if(b|0){c=2<>>12&16;c=c>>>h;e=c>>>5&8;c=c>>>e;f=c>>>2&4;c=c>>>f;d=c>>>1&2;c=c>>>d;b=c>>>1&1;b=(e|h|f|d|b)+(c>>>b)|0;c=72580+(b<<1<<2)|0;d=c+8|0;f=k[d>>2]|0;h=f+8|0;e=k[h>>2]|0;do if((c|0)==(e|0)){k[18135]=i&~(1<>>0<(k[18139]|0)>>>0)bb();a=e+12|0;if((k[a>>2]|0)==(f|0)){k[a>>2]=c;k[d>>2]=e;j=k[18137]|0;break}else bb()}while(0);g=(b<<3)-p|0;k[f+4>>2]=p|3;d=f+p|0;k[d+4>>2]=g|1;k[d+g>>2]=g;if(j|0){e=k[18140]|0;b=j>>>3;c=72580+(b<<1<<2)|0;a=k[18135]|0;b=1<>2]|0;if(b>>>0<(k[18139]|0)>>>0)bb();else{l=a;m=b}}k[l>>2]=e;k[m+12>>2]=e;k[e+8>>2]=m;k[e+12>>2]=c}k[18137]=g;k[18140]=d;C=h;r=D;return C|0}a=k[18136]|0;if(a){c=(a&0-a)+-1|0;B=c>>>12&16;c=c>>>B;A=c>>>5&8;c=c>>>A;C=c>>>2&4;c=c>>>C;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=k[72844+((A|B|C|b|d)+(c>>>d)<<2)>>2]|0;c=(k[d+4>>2]&-8)-p|0;b=d;while(1){a=k[b+16>>2]|0;if(!a){a=k[b+20>>2]|0;if(!a){i=d;break}}b=(k[a+4>>2]&-8)-p|0;C=b>>>0>>0;c=C?b:c;b=a;d=C?a:d}f=k[18139]|0;if(i>>>0>>0)bb();h=i+p|0;if(i>>>0>=h>>>0)bb();g=k[i+24>>2]|0;d=k[i+12>>2]|0;do if((d|0)==(i|0)){b=i+20|0;a=k[b>>2]|0;if(!a){b=i+16|0;a=k[b>>2]|0;if(!a){n=0;break}}while(1){d=a+20|0;e=k[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=k[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0>>0)bb();else{k[b>>2]=0;n=a;break}}else{e=k[i+8>>2]|0;if(e>>>0>>0)bb();a=e+12|0;if((k[a>>2]|0)!=(i|0))bb();b=d+8|0;if((k[b>>2]|0)==(i|0)){k[a>>2]=d;k[b>>2]=e;n=d;break}else bb()}while(0);do if(g|0){a=k[i+28>>2]|0;b=72844+(a<<2)|0;if((i|0)==(k[b>>2]|0)){k[b>>2]=n;if(!n){k[18136]=k[18136]&~(1<>>0<(k[18139]|0)>>>0)bb();a=g+16|0;if((k[a>>2]|0)==(i|0))k[a>>2]=n;else k[g+20>>2]=n;if(!n)break}b=k[18139]|0;if(n>>>0>>0)bb();k[n+24>>2]=g;a=k[i+16>>2]|0;do if(a|0)if(a>>>0>>0)bb();else{k[n+16>>2]=a;k[a+24>>2]=n;break}while(0);a=k[i+20>>2]|0;if(a|0)if(a>>>0<(k[18139]|0)>>>0)bb();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}while(0);if(c>>>0<16){C=c+p|0;k[i+4>>2]=C|3;C=i+C+4|0;k[C>>2]=k[C>>2]|1}else{k[i+4>>2]=p|3;k[h+4>>2]=c|1;k[h+c>>2]=c;a=k[18137]|0;if(a|0){e=k[18140]|0;b=a>>>3;d=72580+(b<<1<<2)|0;a=k[18135]|0;b=1<>2]|0;if(b>>>0<(k[18139]|0)>>>0)bb();else{q=a;s=b}}k[q>>2]=e;k[s+12>>2]=e;k[e+8>>2]=s;k[e+12>>2]=d}k[18137]=c;k[18140]=h}C=i+8|0;r=D;return C|0}}}else if(a>>>0>4294967231)p=-1;else{a=a+11|0;p=a&-8;i=k[18136]|0;if(i){c=0-p|0;a=a>>>8;if(!a)h=0;else if(p>>>0>16777215)h=31;else{s=(a+1048320|0)>>>16&8;w=a<>>16&4;w=w<>>16&2;h=14-(q|s|h)+(w<>>15)|0;h=p>>>(h+7|0)&1|h<<1}b=k[72844+(h<<2)>>2]|0;a:do if(!b){a=0;b=0;w=86}else{e=c;a=0;f=p<<((h|0)==31?0:25-(h>>>1)|0);g=b;b=0;while(1){d=k[g+4>>2]&-8;c=d-p|0;if(c>>>0>>0)if((d|0)==(p|0)){a=g;b=g;w=90;break a}else b=g;else c=e;d=k[g+20>>2]|0;g=k[g+16+(f>>>31<<2)>>2]|0;a=(d|0)==0|(d|0)==(g|0)?a:d;d=(g|0)==0;if(d){w=86;break}else{e=c;f=f<<(d&1^1)}}}while(0);if((w|0)==86){if((a|0)==0&(b|0)==0){a=2<>>12&16;s=s>>>m;l=s>>>5&8;s=s>>>l;n=s>>>2&4;s=s>>>n;q=s>>>1&2;s=s>>>q;a=s>>>1&1;a=k[72844+((l|m|n|q|a)+(s>>>a)<<2)>>2]|0}if(!a){g=c;i=b}else w=90}if((w|0)==90)while(1){w=0;s=(k[a+4>>2]&-8)-p|0;d=s>>>0>>0;c=d?s:c;b=d?a:b;d=k[a+16>>2]|0;if(d|0){a=d;w=90;continue}a=k[a+20>>2]|0;if(!a){g=c;i=b;break}else w=90}if(i)if(g>>>0<((k[18137]|0)-p|0)>>>0){e=k[18139]|0;if(i>>>0>>0)bb();h=i+p|0;if(i>>>0>=h>>>0)bb();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){b=i+20|0;a=k[b>>2]|0;if(!a){b=i+16|0;a=k[b>>2]|0;if(!a){t=0;break}}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)bb();else{k[b>>2]=0;t=a;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)bb();a=d+12|0;if((k[a>>2]|0)!=(i|0))bb();b=c+8|0;if((k[b>>2]|0)==(i|0)){k[a>>2]=c;k[b>>2]=d;t=c;break}else bb()}while(0);do if(f|0){a=k[i+28>>2]|0;b=72844+(a<<2)|0;if((i|0)==(k[b>>2]|0)){k[b>>2]=t;if(!t){k[18136]=k[18136]&~(1<>>0<(k[18139]|0)>>>0)bb();a=f+16|0;if((k[a>>2]|0)==(i|0))k[a>>2]=t;else k[f+20>>2]=t;if(!t)break}b=k[18139]|0;if(t>>>0>>0)bb();k[t+24>>2]=f;a=k[i+16>>2]|0;do if(a|0)if(a>>>0>>0)bb();else{k[t+16>>2]=a;k[a+24>>2]=t;break}while(0);a=k[i+20>>2]|0;if(a|0)if(a>>>0<(k[18139]|0)>>>0)bb();else{k[t+20>>2]=a;k[a+24>>2]=t;break}}while(0);do if(g>>>0<16){C=g+p|0;k[i+4>>2]=C|3;C=i+C+4|0;k[C>>2]=k[C>>2]|1}else{k[i+4>>2]=p|3;k[h+4>>2]=g|1;k[h+g>>2]=g;a=g>>>3;if(g>>>0<256){c=72580+(a<<1<<2)|0;b=k[18135]|0;a=1<>2]|0;if(b>>>0<(k[18139]|0)>>>0)bb();else{u=a;v=b}}k[u>>2]=h;k[v+12>>2]=h;k[h+8>>2]=v;k[h+12>>2]=c;break}a=g>>>8;if(!a)c=0;else if(g>>>0>16777215)c=31;else{B=(a+1048320|0)>>>16&8;C=a<>>16&4;C=C<>>16&2;c=14-(A|B|c)+(C<>>15)|0;c=g>>>(c+7|0)&1|c<<1}d=72844+(c<<2)|0;k[h+28>>2]=c;a=h+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[18136]|0;b=1<>2]=h;k[h+24>>2]=d;k[h+12>>2]=h;k[h+8>>2]=h;break}e=g<<((c|0)==31?0:25-(c>>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(g|0)){c=a;w=148;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){w=145;break}else{e=e<<1;a=c}}if((w|0)==145)if(b>>>0<(k[18139]|0)>>>0)bb();else{k[b>>2]=h;k[h+24>>2]=a;k[h+12>>2]=h;k[h+8>>2]=h;break}else if((w|0)==148){a=c+8|0;b=k[a>>2]|0;C=k[18139]|0;if(b>>>0>=C>>>0&c>>>0>=C>>>0){k[b+12>>2]=h;k[a>>2]=h;k[h+8>>2]=b;k[h+12>>2]=c;k[h+24>>2]=0;break}else bb()}}while(0);C=i+8|0;r=D;return C|0}}}while(0);c=k[18137]|0;if(c>>>0>=p>>>0){a=c-p|0;b=k[18140]|0;if(a>>>0>15){C=b+p|0;k[18140]=C;k[18137]=a;k[C+4>>2]=a|1;k[C+a>>2]=a;k[b+4>>2]=p|3}else{k[18137]=0;k[18140]=0;k[b+4>>2]=c|3;C=b+c+4|0;k[C>>2]=k[C>>2]|1}C=b+8|0;r=D;return C|0}a=k[18138]|0;if(a>>>0>p>>>0){A=a-p|0;k[18138]=A;C=k[18141]|0;B=C+p|0;k[18141]=B;k[B+4>>2]=A|1;k[C+4>>2]=p|3;C=C+8|0;r=D;return C|0}if(!(k[18253]|0)){k[18255]=4096;k[18254]=4096;k[18256]=-1;k[18257]=-1;k[18258]=0;k[18246]=0;v=o&-16^1431655768;k[o>>2]=v;k[18253]=v}g=p+48|0;f=k[18255]|0;h=p+47|0;e=f+h|0;f=0-f|0;i=e&f;if(i>>>0<=p>>>0){C=0;r=D;return C|0}a=k[18245]|0;if(a|0){u=k[18243]|0;v=u+i|0;if(v>>>0<=u>>>0|v>>>0>a>>>0){C=0;r=D;return C|0}}b:do if(!(k[18246]&4)){a=k[18141]|0;c:do if(!a)w=171;else{d=72988;while(1){b=k[d>>2]|0;if(b>>>0<=a>>>0){c=d+4|0;if((b+(k[c>>2]|0)|0)>>>0>a>>>0)break}d=k[d+8>>2]|0;if(!d){w=171;break c}}a=e-(k[18138]|0)&f;if(a>>>0<2147483647){b=ub(a|0)|0;if((b|0)==((k[d>>2]|0)+(k[c>>2]|0)|0)){if((b|0)!=(-1|0)){e=b;g=a;w=191;break b}}else{d=b;w=181}}}while(0);do if((w|0)==171){e=ub(0)|0;if((e|0)!=(-1|0)){a=e;b=k[18254]|0;c=b+-1|0;if(!(c&a))a=i;else a=i-a+(c+a&0-b)|0;b=k[18243]|0;c=b+a|0;if(a>>>0>p>>>0&a>>>0<2147483647){d=k[18245]|0;if(d|0)if(c>>>0<=b>>>0|c>>>0>d>>>0)break;b=ub(a|0)|0;if((b|0)==(e|0)){g=a;w=191;break b}else{d=b;w=181}}}}while(0);d:do if((w|0)==181){c=0-a|0;do if(g>>>0>a>>>0&(a>>>0<2147483647&(d|0)!=(-1|0))){b=k[18255]|0;b=h-a+b&0-b;if(b>>>0<2147483647)if((ub(b|0)|0)==(-1|0)){ub(c|0)|0;break d}else{a=b+a|0;break}}while(0);if((d|0)!=(-1|0)){e=d;g=a;w=191;break b}}while(0);k[18246]=k[18246]|4;w=188}else w=188;while(0);if((w|0)==188)if(i>>>0<2147483647){b=ub(i|0)|0;a=ub(0)|0;if(b>>>0>>0&((b|0)!=(-1|0)&(a|0)!=(-1|0))){a=a-b|0;if(a>>>0>(p+40|0)>>>0){e=b;g=a;w=191}}}if((w|0)==191){a=(k[18243]|0)+g|0;k[18243]=a;if(a>>>0>(k[18244]|0)>>>0)k[18244]=a;h=k[18141]|0;do if(!h){C=k[18139]|0;if((C|0)==0|e>>>0>>0)k[18139]=e;k[18247]=e;k[18248]=g;k[18250]=0;k[18144]=k[18253];k[18143]=-1;a=0;do{C=72580+(a<<1<<2)|0;k[C+12>>2]=C;k[C+8>>2]=C;a=a+1|0}while((a|0)!=32);C=e+8|0;C=(C&7|0)==0?0:0-C&7;B=e+C|0;C=g+-40-C|0;k[18141]=B;k[18138]=C;k[B+4>>2]=C|1;k[B+C+4>>2]=40;k[18142]=k[18257]}else{b=72988;do{a=k[b>>2]|0;d=b+4|0;c=k[d>>2]|0;if((e|0)==(a+c|0)){w=201;break}b=k[b+8>>2]|0}while((b|0)!=0);if((w|0)==201)if(!(k[b+12>>2]&8))if(h>>>0>>0&h>>>0>=a>>>0){k[d>>2]=c+g;C=h+8|0;C=(C&7|0)==0?0:0-C&7;B=h+C|0;C=g-C+(k[18138]|0)|0;k[18141]=B;k[18138]=C;k[B+4>>2]=C|1;k[B+C+4>>2]=40;k[18142]=k[18257];break}a=k[18139]|0;if(e>>>0>>0){k[18139]=e;i=e}else i=a;c=e+g|0;a=72988;while(1){if((k[a>>2]|0)==(c|0)){b=a;w=209;break}a=k[a+8>>2]|0;if(!a){b=72988;break}}if((w|0)==209)if(!(k[a+12>>2]&8)){k[b>>2]=e;l=a+4|0;k[l>>2]=(k[l>>2]|0)+g;l=e+8|0;l=e+((l&7|0)==0?0:0-l&7)|0;a=c+8|0;a=c+((a&7|0)==0?0:0-a&7)|0;j=l+p|0;f=a-l-p|0;k[l+4>>2]=p|3;do if((a|0)==(h|0)){C=(k[18138]|0)+f|0;k[18138]=C;k[18141]=j;k[j+4>>2]=C|1}else{if((a|0)==(k[18140]|0)){C=(k[18137]|0)+f|0;k[18137]=C;k[18140]=j;k[j+4>>2]=C|1;k[j+C>>2]=C;break}b=k[a+4>>2]|0;if((b&3|0)==1){h=b&-8;e=b>>>3;e:do if(b>>>0<256){c=k[a+8>>2]|0;d=k[a+12>>2]|0;b=72580+(e<<1<<2)|0;do if((c|0)!=(b|0)){if(c>>>0>>0)bb();if((k[c+12>>2]|0)==(a|0))break;bb()}while(0);if((d|0)==(c|0)){k[18135]=k[18135]&~(1<>>0>>0)bb();b=d+8|0;if((k[b>>2]|0)==(a|0)){x=b;break}bb()}while(0);k[c+12>>2]=d;k[x>>2]=c}else{g=k[a+24>>2]|0;d=k[a+12>>2]|0;do if((d|0)==(a|0)){c=a+16|0;d=c+4|0;b=k[d>>2]|0;if(!b){b=k[c>>2]|0;if(!b){A=0;break}}else c=d;while(1){d=b+20|0;e=k[d>>2]|0;if(e|0){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0>>0)bb();else{k[c>>2]=0;A=b;break}}else{e=k[a+8>>2]|0;if(e>>>0>>0)bb();b=e+12|0;if((k[b>>2]|0)!=(a|0))bb();c=d+8|0;if((k[c>>2]|0)==(a|0)){k[b>>2]=d;k[c>>2]=e;A=d;break}else bb()}while(0);if(!g)break;b=k[a+28>>2]|0;c=72844+(b<<2)|0;do if((a|0)==(k[c>>2]|0)){k[c>>2]=A;if(A|0)break;k[18136]=k[18136]&~(1<>>0<(k[18139]|0)>>>0)bb();b=g+16|0;if((k[b>>2]|0)==(a|0))k[b>>2]=A;else k[g+20>>2]=A;if(!A)break e}while(0);d=k[18139]|0;if(A>>>0>>0)bb();k[A+24>>2]=g;b=a+16|0;c=k[b>>2]|0;do if(c|0)if(c>>>0>>0)bb();else{k[A+16>>2]=c;k[c+24>>2]=A;break}while(0);b=k[b+4>>2]|0;if(!b)break;if(b>>>0<(k[18139]|0)>>>0)bb();else{k[A+20>>2]=b;k[b+24>>2]=A;break}}while(0);a=a+h|0;f=h+f|0}a=a+4|0;k[a>>2]=k[a>>2]&-2;k[j+4>>2]=f|1;k[j+f>>2]=f;a=f>>>3;if(f>>>0<256){c=72580+(a<<1<<2)|0;b=k[18135]|0;a=1<>2]|0;if(b>>>0>=(k[18139]|0)>>>0){B=a;C=b;break}bb()}while(0);k[B>>2]=j;k[C+12>>2]=j;k[j+8>>2]=C;k[j+12>>2]=c;break}a=f>>>8;do if(!a)c=0;else{if(f>>>0>16777215){c=31;break}B=(a+1048320|0)>>>16&8;C=a<>>16&4;C=C<>>16&2;c=14-(A|B|c)+(C<>>15)|0;c=f>>>(c+7|0)&1|c<<1}while(0);d=72844+(c<<2)|0;k[j+28>>2]=c;a=j+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[18136]|0;b=1<>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}e=f<<((c|0)==31?0:25-(c>>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(f|0)){c=a;w=279;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){w=276;break}else{e=e<<1;a=c}}if((w|0)==276)if(b>>>0<(k[18139]|0)>>>0)bb();else{k[b>>2]=j;k[j+24>>2]=a;k[j+12>>2]=j;k[j+8>>2]=j;break}else if((w|0)==279){a=c+8|0;b=k[a>>2]|0;C=k[18139]|0;if(b>>>0>=C>>>0&c>>>0>=C>>>0){k[b+12>>2]=j;k[a>>2]=j;k[j+8>>2]=b;k[j+12>>2]=c;k[j+24>>2]=0;break}else bb()}}while(0);C=l+8|0;r=D;return C|0}else b=72988;while(1){a=k[b>>2]|0;if(a>>>0<=h>>>0){a=a+(k[b+4>>2]|0)|0;if(a>>>0>h>>>0)break}b=k[b+8>>2]|0}f=a+-47|0;c=f+8|0;c=f+((c&7|0)==0?0:0-c&7)|0;f=h+16|0;c=c>>>0>>0?h:c;b=c+8|0;d=e+8|0;d=(d&7|0)==0?0:0-d&7;C=e+d|0;d=g+-40-d|0;k[18141]=C;k[18138]=d;k[C+4>>2]=d|1;k[C+d+4>>2]=40;k[18142]=k[18257];d=c+4|0;k[d>>2]=27;k[b>>2]=k[18247];k[b+4>>2]=k[18248];k[b+8>>2]=k[18249];k[b+12>>2]=k[18250];k[18247]=e;k[18248]=g;k[18250]=0;k[18249]=b;b=c+24|0;do{b=b+4|0;k[b>>2]=7}while((b+4|0)>>>0>>0);if((c|0)!=(h|0)){g=c-h|0;k[d>>2]=k[d>>2]&-2;k[h+4>>2]=g|1;k[c>>2]=g;a=g>>>3;if(g>>>0<256){c=72580+(a<<1<<2)|0;b=k[18135]|0;a=1<>2]|0;if(b>>>0<(k[18139]|0)>>>0)bb();else{y=a;z=b}}k[y>>2]=h;k[z+12>>2]=h;k[h+8>>2]=z;k[h+12>>2]=c;break}a=g>>>8;if(!a)c=0;else if(g>>>0>16777215)c=31;else{B=(a+1048320|0)>>>16&8;C=a<>>16&4;C=C<>>16&2;c=14-(A|B|c)+(C<>>15)|0;c=g>>>(c+7|0)&1|c<<1}e=72844+(c<<2)|0;k[h+28>>2]=c;k[h+20>>2]=0;k[f>>2]=0;a=k[18136]|0;b=1<>2]=h;k[h+24>>2]=e;k[h+12>>2]=h;k[h+8>>2]=h;break}d=g<<((c|0)==31?0:25-(c>>>1)|0);a=k[e>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(g|0)){c=a;w=305;break}b=a+16+(d>>>31<<2)|0;c=k[b>>2]|0;if(!c){w=302;break}else{d=d<<1;a=c}}if((w|0)==302)if(b>>>0<(k[18139]|0)>>>0)bb();else{k[b>>2]=h;k[h+24>>2]=a;k[h+12>>2]=h;k[h+8>>2]=h;break}else if((w|0)==305){a=c+8|0;b=k[a>>2]|0;C=k[18139]|0;if(b>>>0>=C>>>0&c>>>0>=C>>>0){k[b+12>>2]=h;k[a>>2]=h;k[h+8>>2]=b;k[h+12>>2]=c;k[h+24>>2]=0;break}else bb()}}}while(0);a=k[18138]|0;if(a>>>0>p>>>0){A=a-p|0;k[18138]=A;C=k[18141]|0;B=C+p|0;k[18141]=B;k[B+4>>2]=A|1;k[C+4>>2]=p|3;C=C+8|0;r=D;return C|0}}C=L0()|0;k[C>>2]=12;C=0;r=D;return C|0}function id(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;var h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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;V=0;T=r;r=r+496|0;Q=T+440|0;W=T+428|0;f=T+8|0;X=T+404|0;h=T;n=T+416|0;o=T+380|0;p=T+368|0;q=T+344|0;U=T+392|0;L=T+480|0;S=T+356|0;C=T+332|0;D=T+320|0;K=T+280|0;N=T+268|0;O=T+256|0;M=T+216|0;P=T+204|0;R=T+192|0;s=T+180|0;u=T+168|0;v=T+156|0;w=T+144|0;E=T+104|0;G=T+92|0;I=T+80|0;F=T+40|0;H=T+28|0;J=T+16|0;l=k[c+52>>2]|0;m=k[d+52>>2]|0;B=k[b>>2]|0;y=Ot(c,288,448,0)|0;z=Ot(d,288,448,0)|0;A=(y|0)!=0;if(A)_G(W,y+60|0);else{t=k[(k[c>>2]|0)+20>>2]|0;_=e;Z=k[_+4>>2]|0;Y=f;k[Y>>2]=k[_>>2];k[Y+4>>2]=Z;k[Q>>2]=k[f>>2];k[Q+4>>2]=k[f+4>>2];Pc[t&255](W,c,Q)}t=(z|0)!=0;if(t){x=0;sa(430,X|0,z+60|0);_=x;x=0;if(_&1)V=11}else{_=k[(k[d>>2]|0)+20>>2]|0;Y=k[e+4>>2]|0;Z=h;k[Z>>2]=k[e>>2];k[Z+4>>2]=Y;x=0;k[Q>>2]=k[h>>2];k[Q+4>>2]=k[h+4>>2];Qa(_|0,X|0,d|0,Q|0);_=x;x=0;if(_&1)V=11}if((V|0)==11){_=mb()|0;P1(W);yb(_|0)}a:do if((l|0)==8){l=vb(40)|0;x=0;sa(491,n|0,B|0);_=x;x=0;if(_&1)f=mb()|0;else{x=0;Ua(25,l|0,c|0,d|0,n|0);_=x;x=0;if(_&1)h=1;else{x=0;Qa(77,l|0,1328,130);x=0;h=0}f=mb()|0;P1(n);if(!h)break}lb(l|0)}else{if((m|0)==8){l=vb(40)|0;x=0;sa(491,o|0,B|0);_=x;x=0;if(_&1)f=mb()|0;else{x=0;Ua(25,l|0,c|0,d|0,o|0);_=x;x=0;if(_&1)h=1;else{x=0;Qa(77,l|0,1328,130);x=0;h=0}f=mb()|0;P1(o);if(!h)break}lb(l|0);break}switch(B|0){case 12:{l=vb(40)|0;x=0;sa(491,p|0,12);_=x;x=0;if(_&1)f=mb()|0;else{x=0;Ua(23,l|0,c|0,d|0,p|0);_=x;x=0;if(_&1)h=1;else{x=0;Qa(77,l|0,1312,130);x=0;h=0}f=mb()|0;P1(p);if(!h)break a}lb(l|0);break a}case 10:{l=vb(40)|0;x=0;sa(491,q|0,10);_=x;x=0;if(_&1)f=mb()|0;else{x=0;Ua(23,l|0,c|0,d|0,q|0);_=x;x=0;if(_&1)h=1;else{x=0;Qa(77,l|0,1312,130);x=0;h=0}f=mb()|0;P1(q);if(!h)break a}lb(l|0);break a}default:{k[U>>2]=0;k[U+4>>2]=0;k[U+8>>2]=0;switch(B|0){case 9:{x=0;Ka(874,U|0,38883)|0;_=x;x=0;if(_&1)V=37;else V=46;break}case 11:{x=0;Ka(874,U|0,39370)|0;_=x;x=0;if(_&1)V=37;else V=46;break}case 7:{x=0;Ka(874,U|0,38880)|0;_=x;x=0;if(_&1)V=37;else V=46;break}case 5:{x=0;Ka(874,U|0,38875)|0;_=x;x=0;if(_&1)V=37;else V=46;break}case 2:{x=0;Ka(874,U|0,38869)|0;_=x;x=0;if(_&1)V=37;else V=46;break}case 3:{x=0;Ka(874,U|0,38872)|0;_=x;x=0;if(_&1)V=37;else V=46;break}case 6:{x=0;Ka(874,U|0,38878)|0;_=x;x=0;if(_&1)V=37;else V=46;break}case 4:{x=0;Ka(874,U|0,42839)|0;_=x;x=0;if(_&1)V=37;else V=46;break}default:V=46}b:do if((V|0)==46){if(!(KH(U,78097)|0)){i[L>>0]=0;k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;_=i[W>>0]|0;Z=(_&1)==0;l=W+4|0;_=Z?(_&255)>>>1:k[l>>2]|0;f=i[U>>0]|0;m=U+4|0;f=(f&1)==0?(f&255)>>>1:k[m>>2]|0;n=W+8|0;o=W+1|0;x=0;Ua(10,D|0,(Z?o:k[n>>2]|0)|0,_|0,f+_|0);_=x;x=0;if(!(_&1)){p=U+8|0;q=U+1|0;x=0;xa(46,D|0,((i[U>>0]&1)==0?q:k[p>>2]|0)|0,f|0)|0;_=x;x=0;if(!(_&1)){f=i[X>>0]|0;_=(f&1)==0;g=X+8|0;b=X+1|0;e=X+4|0;x=0;f=xa(46,D|0,(_?b:k[g>>2]|0)|0,(_?(f&255)>>>1:k[e>>2]|0)|0)|0;_=x;x=0;do if(_&1)f=mb()|0;else{k[C>>2]=k[f>>2];k[C+4>>2]=k[f+4>>2];k[C+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;x=0;Ua(11,S|0,C|0,L|0,1);_=x;x=0;if(_&1){f=mb()|0;P1(C);break}P1(C);P1(D);c:do switch(i[L>>0]|0){case 42:case 0:{x=0;h=Ka(856,a|0,76)|0;_=x;x=0;if(_&1)V=64;else{d=M;f=c+8|0;s=d+40|0;do{k[d>>2]=k[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(s|0));k[R>>2]=0;k[R+4>>2]=0;k[R+8>>2]=0;_=i[W>>0]|0;Z=(_&1)==0;_=Z?(_&255)>>>1:k[l>>2]|0;f=i[U>>0]|0;f=(f&1)==0?(f&255)>>>1:k[m>>2]|0;x=0;Ua(10,R|0,(Z?o:k[n>>2]|0)|0,_|0,f+_|0);_=x;x=0;if(!(_&1)){x=0;xa(46,R|0,((i[U>>0]&1)==0?q:k[p>>2]|0)|0,f|0)|0;_=x;x=0;if(!(_&1)){f=i[X>>0]|0;_=(f&1)==0;x=0;f=xa(46,R|0,(_?b:k[g>>2]|0)|0,(_?(f&255)>>>1:k[e>>2]|0)|0)|0;_=x;x=0;if(_&1)f=mb()|0;else{k[P>>2]=k[f>>2];k[P+4>>2]=k[f+4>>2];k[P+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;x=0;d=Q;f=M;s=d+40|0;do{k[d>>2]=k[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(s|0));qa(5,h|0,Q|0,P|0,0,0);_=x;x=0;do if(!(_&1)){x=0;f=Ka(857,a|0,h|0)|0;_=x;x=0;if(_&1)break;P1(P);P1(R);V=80;break c}while(0);f=mb()|0;P1(P)}P1(R);break c}}f=mb()|0;P1(R);V=65}break}default:{x=0;h=Ka(856,a|0,76)|0;_=x;x=0;if(_&1)V=64;else{d=K;f=c+8|0;s=d+40|0;do{k[d>>2]=k[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(s|0));i[Q>>0]=i[L>>0]|0;k[O>>2]=0;k[O+4>>2]=0;k[O+8>>2]=0;f=i[S>>0]|0;f=(f&1)==0?(f&255)>>>1:k[S+4>>2]|0;x=0;Ua(10,O|0,Q|0,1,f+1|0);_=x;x=0;if(!(_&1)){x=0;xa(46,O|0,((i[S>>0]&1)==0?S+1|0:k[S+8>>2]|0)|0,f|0)|0;_=x;x=0;if(!(_&1)){x=0;sa(440,O|0,i[L>>0]|0);_=x;x=0;if(_&1)f=mb()|0;else{k[N>>2]=k[O>>2];k[N+4>>2]=k[O+4>>2];k[N+8>>2]=k[O+8>>2];k[O>>2]=0;k[O+4>>2]=0;k[O+8>>2]=0;k[h+4>>2]=0;d=h+8|0;f=K;s=d+40|0;do{k[d>>2]=k[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(s|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;i[h+56>>0]=0;k[h+52>>2]=4;k[h>>2]=5932;i[h+57>>0]=0;i[h+58>>0]=0;x=0;sa(477,h+60|0,N|0);_=x;x=0;do if(!(_&1)){k[h+72>>2]=0;x=0;f=Ka(857,a|0,h|0)|0;_=x;x=0;if(_&1)break;P1(N);P1(O);V=80;break c}while(0);f=mb()|0;P1(N)}P1(O);break c}}f=mb()|0;P1(O);V=65}}}while(0);if((V|0)==64){f=mb()|0;V=65}else if((V|0)==80){P1(S);_=f;P1(U);P1(X);P1(W);r=T;return _|0}P1(S);break b}while(0);P1(D);break}}f=mb()|0;P1(D);V=38;break}do if(!((KH(U,78097)|0)==0|g)){f=j[b+4>>1]|0;do if((f&255)<<24>>24){k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;l=i[U>>0]|0;h=U+4|0;l=(l&1)==0?(l&255)>>>1:k[h>>2]|0;x=0;Ua(10,s|0,41822,1,l+1|0);_=x;x=0;if(!(_&1)){m=U+8|0;g=U+1|0;x=0;xa(46,s|0,((i[U>>0]&1)==0?g:k[m>>2]|0)|0,l|0)|0;_=x;x=0;if(!(_&1)){if(!(i[U>>0]&1)){i[g>>0]=0;i[U>>0]=0}else{i[k[m>>2]>>0]=0;k[h>>2]=0}x=0;sa(443,U|0,0);_=x;x=0;if(_&1){_=Eb(0)|0;Nba(_)}else{k[U>>2]=k[s>>2];k[U+4>>2]=k[s+4>>2];k[U+8>>2]=k[s+8>>2];k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;P1(s);break}}}f=mb()|0;P1(s);V=38;break b}while(0);if((f&65535)>=256){k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;_=i[U>>0]|0;Z=(_&1)==0;f=U+4|0;_=Z?(_&255)>>>1:k[f>>2]|0;h=U+8|0;l=U+1|0;x=0;Ua(10,u|0,(Z?l:k[h>>2]|0)|0,_|0,_+1|0);_=x;x=0;if(!(_&1)){x=0;xa(46,u|0,41822,1)|0;_=x;x=0;if(!(_&1)){if(!(i[U>>0]&1)){i[l>>0]=0;i[U>>0]=0}else{i[k[h>>2]>>0]=0;k[f>>2]=0}x=0;sa(443,U|0,0);_=x;x=0;if(_&1){_=Eb(0)|0;Nba(_)}else{k[U>>2]=k[u>>2];k[U+4>>2]=k[u+4>>2];k[U+8>>2]=k[u+8>>2];k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;P1(u);break}}}f=mb()|0;P1(u);V=38;break b}}while(0);if((B|2|0)!=11){x=0;h=Ka(856,a|0,76)|0;_=x;x=0;if(_&1){V=37;break}d=F;f=c+8|0;s=d+40|0;do{k[d>>2]=k[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(s|0));k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;_=i[W>>0]|0;Z=(_&1)==0;_=Z?(_&255)>>>1:k[W+4>>2]|0;f=i[U>>0]|0;f=(f&1)==0?(f&255)>>>1:k[U+4>>2]|0;x=0;Ua(10,J|0,(Z?W+1|0:k[W+8>>2]|0)|0,_|0,f+_|0);_=x;x=0;if(!(_&1)){x=0;xa(46,J|0,((i[U>>0]&1)==0?U+1|0:k[U+8>>2]|0)|0,f|0)|0;_=x;x=0;if(!(_&1)){f=i[X>>0]|0;_=(f&1)==0;x=0;f=xa(46,J|0,(_?X+1|0:k[X+8>>2]|0)|0,(_?(f&255)>>>1:k[X+4>>2]|0)|0)|0;_=x;x=0;if(_&1)f=mb()|0;else{k[H>>2]=k[f>>2];k[H+4>>2]=k[f+4>>2];k[H+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[h+4>>2]=0;d=h+8|0;f=F;s=d+40|0;do{k[d>>2]=k[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(s|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;i[h+56>>0]=0;k[h+52>>2]=4;k[h>>2]=5932;i[h+57>>0]=0;i[h+58>>0]=0;x=0;sa(477,h+60|0,H|0);_=x;x=0;if(!(_&1)){k[h+72>>2]=0;x=0;f=Ka(857,a|0,h|0)|0;_=x;x=0;if(!(_&1)){P1(H);P1(J);_=f;P1(U);P1(X);P1(W);r=T;return _|0}}f=mb()|0;P1(H)}P1(J);break}}f=mb()|0;P1(J);V=38;break}do if(A)if(i[y+57>>0]|0){x=0;Qa(113,v|0,W|0,0);_=x;x=0;if(_&1){V=37;break b}if(!(i[W>>0]&1)){i[W+1>>0]=0;i[W>>0]=0}else{i[k[W+8>>2]>>0]=0;k[W+4>>2]=0}x=0;sa(443,W|0,0);_=x;x=0;if(_&1){_=Eb(0)|0;Nba(_)}else{k[W>>2]=k[v>>2];k[W+4>>2]=k[v+4>>2];k[W+8>>2]=k[v+8>>2];k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;P1(v);break}}while(0);do if(t)if(i[z+57>>0]|0){x=0;Qa(113,w|0,X|0,0);_=x;x=0;if(_&1){V=37;break b}if(!(i[X>>0]&1)){i[X+1>>0]=0;i[X>>0]=0}else{i[k[X+8>>2]>>0]=0;k[X+4>>2]=0}x=0;sa(443,X|0,0);_=x;x=0;if(_&1){_=Eb(0)|0;Nba(_)}else{k[X>>2]=k[w>>2];k[X+4>>2]=k[w+4>>2];k[X+8>>2]=k[w+8>>2];k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;P1(w);break}}while(0);x=0;h=Ka(856,a|0,76)|0;_=x;x=0;if(_&1)V=37;else{d=E;f=c+8|0;s=d+40|0;do{k[d>>2]=k[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(s|0));k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;_=i[W>>0]|0;Z=(_&1)==0;_=Z?(_&255)>>>1:k[W+4>>2]|0;f=i[U>>0]|0;f=(f&1)==0?(f&255)>>>1:k[U+4>>2]|0;x=0;Ua(10,I|0,(Z?W+1|0:k[W+8>>2]|0)|0,_|0,f+_|0);_=x;x=0;if(!(_&1)){x=0;xa(46,I|0,((i[U>>0]&1)==0?U+1|0:k[U+8>>2]|0)|0,f|0)|0;_=x;x=0;if(!(_&1)){f=i[X>>0]|0;_=(f&1)==0;x=0;f=xa(46,I|0,(_?X+1|0:k[X+8>>2]|0)|0,(_?(f&255)>>>1:k[X+4>>2]|0)|0)|0;_=x;x=0;if(_&1)f=mb()|0;else{k[G>>2]=k[f>>2];k[G+4>>2]=k[f+4>>2];k[G+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[h+4>>2]=0;d=h+8|0;f=E;s=d+40|0;do{k[d>>2]=k[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(s|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;i[h+56>>0]=0;k[h+52>>2]=4;k[h>>2]=5932;i[h+57>>0]=0;i[h+58>>0]=0;x=0;sa(477,h+60|0,G|0);_=x;x=0;do if(!(_&1)){k[h+72>>2]=0;x=0;f=Ka(857,a|0,h|0)|0;_=x;x=0;if(_&1)break;P1(G);P1(I);_=f;P1(U);P1(X);P1(W);r=T;return _|0}while(0);f=mb()|0;P1(G)}P1(I);break}}f=mb()|0;P1(I);V=38}}while(0);if((V|0)==37){f=mb()|0;V=38}P1(U);break a}}}while(0);P1(X);_=f;P1(W);yb(_|0);return 0}function jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;E=0;A=r;r=r+176|0;w=A+160|0;y=A+156|0;j=A+144|0;f=A+132|0;e=A+120|0;d=A+108|0;g=A+80|0;h=A+68|0;m=A+48|0;o=A+96|0;q=A+36|0;p=A+92|0;t=A+24|0;s=A+64|0;v=A+12|0;u=A+60|0;z=A;k[a>>2]=8608;ia=a+4|0;Zz(ia);n=a+16|0;k[n>>2]=b;ha=a+20|0;x=0;Qa(74,ha|0,78097,0);ga=x;x=0;if(ga&1){ha=mb()|0;P1(ia);yb(ha|0)}k[a+32>>2]=0;ga=a+36|0;x=0;sa(466,ga|0,0);fa=x;x=0;if(fa&1)b=mb()|0;else{fa=a+48|0;x=0;ra(330,fa|0);ea=x;x=0;if(ea&1)b=mb()|0;else{da=a+84|0;x=0;sa(467,da|0,k[n>>2]|0);ea=x;x=0;if(ea&1)b=mb()|0;else{ba=a+212|0;ea=a+216|0;Z=a+224|0;ca=a+228|0;_=a+236|0;k[a+240>>2]=0;k[a+244>>2]=0;$=a+240|0;k[ba>>2]=0;k[ba+4>>2]=0;k[ba+8>>2]=0;k[ba+12>>2]=0;k[ba+16>>2]=0;k[ba+20>>2]=0;k[_>>2]=$;W=a+248|0;aa=a+252|0;X=a+264|0;k[W>>2]=0;k[W+4>>2]=0;k[W+8>>2]=0;k[W+12>>2]=0;k[W+16>>2]=0;k[W+20>>2]=0;k[a+260>>2]=X;V=a+272|0;k[V>>2]=0;Y=a+276|0;k[Y>>2]=0;k[a+280>>2]=0;T=a+288|0;U=a+292|0;R=a+300|0;S=a+304|0;P=a+312|0;Q=a+316|0;N=a+324|0;O=a+328|0;J=a+336|0;L=a+340|0;H=a+348|0;K=a+352|0;G=a+360|0;I=a+364|0;F=a+372|0;b=T;c=b+84|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));x=0;b=Ka(869,k[(k[n>>2]|0)+8>>2]|0,42986)|0;D=x;x=0;if(D&1)E=60;else{D=OD(b)|0;x=0;Qa(74,F|0,b|0,D|0);D=x;x=0;if(D&1)E=60;else{D=a+384|0;x=0;b=Ka(869,k[(k[n>>2]|0)+12>>2]|0,43502)|0;C=x;x=0;if(C&1)E=61;else{C=OD(b)|0;x=0;Qa(74,D|0,b|0,C|0);C=x;x=0;if(C&1)E=61;else{C=a+396|0;c=k[(k[n>>2]|0)+24>>2]|0;c=c|0?c:78097;B=OD(c)|0;x=0;Qa(74,e|0,c|0,B|0);B=x;x=0;do if(B&1){b=mb()|0;c=M;E=63}else{if(!(KH(e,78097)|0)){x=0;Qa(74,d|0,44291,5);B=x;x=0;if(B&1)E=13}else{x=0;sa(430,d|0,e|0);B=x;x=0;if(B&1)E=13}if((E|0)==13){b=mb()|0;c=M;P1(e);E=63;break}P1(e);x=0;sa(463,C|0,d|0);B=x;x=0;if(B&1){b=mb()|0;c=M;P1(d);break}P1(d);B=a+408|0;e=k[(k[n>>2]|0)+28>>2]|0;e=e|0?e:78097;E=OD(e)|0;x=0;Qa(74,j|0,e|0,E|0);E=x;x=0;do if(E&1){b=mb()|0;c=M;E=66}else{a:do if(!(KH(j,78097)|0)){if(!(KH(C,78097)|0)){E=29;break}b=i[C>>0]|0;E=(b&1)==0;c=E?C+1|0:k[a+404>>2]|0;d=c;b=c+(E?(b&255)>>>1:k[a+400>>2]|0)|0;while(1){if((b|0)==(c|0)){E=23;break}b=b+-1|0;if(mw(47947,l[b>>0]|0,1)|0){E=21;break}}do if((E|0)==21){b=b-d|0;if((b|0)<=-1){E=23;break}x=0;qa(4,f|0,C|0,0,b|0,C|0);e=x;x=0;if(e&1){E=27;break a}}while(0);if((E|0)==23){x=0;sa(430,f|0,C|0);e=x;x=0;if(e&1){E=27;break}}k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;e=i[f>>0]|0;d=(e&1)==0;e=d?(e&255)>>>1:k[f+4>>2]|0;x=0;Ua(10,g|0,(d?f+1|0:k[f+8>>2]|0)|0,e|0,e+4|0);e=x;x=0;do if(!(e&1)){x=0;xa(46,g|0,34257,4)|0;e=x;x=0;if(e&1)break;P1(f);E=33;break a}while(0);b=mb()|0;c=M;P1(g);P1(f)}else E=29;while(0);do if((E|0)==29)if(!(KH(j,78097)|0)){x=0;Qa(74,g|0,30556,6);E=x;x=0;if(E&1){E=27;break}else{E=33;break}}else{x=0;sa(430,g|0,j|0);E=x;x=0;if(E&1){E=27;break}else{E=33;break}}while(0);if((E|0)==27){b=mb()|0;c=M}else if((E|0)==33){P1(j);x=0;sa(463,B|0,g|0);j=x;x=0;if(j&1){b=mb()|0;c=M;P1(g);break}P1(g);j=a+420|0;x=0;b=Ka(869,k[(k[n>>2]|0)+48>>2]|0,78097)|0;g=x;x=0;do if(g&1)E=68;else{g=OD(b)|0;x=0;Qa(74,h|0,b|0,g|0);g=x;x=0;if(g&1){E=68;break}x=0;sa(463,j|0,h|0);g=x;x=0;if(g&1){b=mb()|0;c=M;P1(h);break}P1(h);h=a+432|0;x=0;b=Ka(869,k[(k[n>>2]|0)+52>>2]|0,78097)|0;g=x;x=0;do if(g&1)E=70;else{g=OD(b)|0;x=0;Qa(74,m|0,b|0,g|0);g=x;x=0;if(g&1){E=70;break}x=0;sa(463,h|0,m|0);g=x;x=0;if(g&1){b=mb()|0;c=M;P1(m);break}P1(m);b=k[O>>2]|0;do if((b|0)==(k[a+332>>2]|0)){x=0;sa(439,N|0,ia|0);E=x;x=0;if(E&1)E=75;else E=44}else{x=0;sa(430,b|0,ia|0);E=x;x=0;if(E&1){E=75;break}k[O>>2]=(k[O>>2]|0)+12;E=44}while(0);b:do if((E|0)==44){x=0;sa(468,a|0,k[(k[n>>2]|0)+32>>2]|0);m=x;x=0;if(m&1){E=75;break}c=k[n>>2]|0;b=k[c+40>>2]|0;do if(!b)b=c;else{while(1){x=0;sa(468,a|0,k[b+4>>2]|0);E=x;x=0;if(E&1){E=74;break}b=k[b>>2]|0;if(!b){E=48;break}}if((E|0)==48){b=k[n>>2]|0;break}else if((E|0)==74){b=mb()|0;c=M;E=76;break b}}while(0);x=0;sa(469,a|0,k[b+36>>2]|0);m=x;x=0;if(m&1){E=75;break}b=k[(k[n>>2]|0)+44>>2]|0;c:do if(b|0){while(1){x=0;sa(469,a|0,k[b+4>>2]|0);n=x;x=0;if(n&1)break;b=k[b>>2]|0;if(!b)break c}b=mb()|0;c=M;E=76;break b}while(0);b=k[P>>2]|0;c=k[Q>>2]|0;d:do if((b|0)!=(c|0)){while(1){x=0;sa(430,o|0,b|0);n=x;x=0;if(n&1){E=72;break}x=0;Ka(870,fa|0,o|0)|0;n=x;x=0;if(n&1){E=80;break}P1(o);b=b+12|0;if((b|0)==(c|0))break d}if((E|0)==72){b=mb()|0;c=M;E=76;break b}else if((E|0)==80){b=mb()|0;c=M;P1(o);break b}}while(0);x=0;sa(470,q|0,fa|0);o=x;x=0;if(o&1){E=75;break}b=k[q>>2]|0;g=q+4|0;e=k[g>>2]|0;do if((b|0)!=(e|0)){f=a+344|0;while(1){c=k[b>>2]|0;k[p>>2]=c;d=k[L>>2]|0;if((d|0)==(k[f>>2]|0)){x=0;sa(471,J|0,p|0);o=x;x=0;if(o&1)break}else{k[d>>2]=c;k[L>>2]=(k[L>>2]|0)+4}b=b+4|0;if((b|0)==(e|0)){E=83;break}}if((E|0)==83){b=k[q>>2]|0;break}b=mb()|0;c=M;d=k[q>>2]|0;if(!d)break b;e=k[g>>2]|0;if((e|0)!=(d|0))k[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);uha(d);break b}while(0);c=b;if(b|0){d=k[g>>2]|0;if((d|0)!=(b|0))k[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(b)}x=0;sa(470,t|0,a+60|0);q=x;x=0;if(q&1){E=75;break}b=k[t>>2]|0;g=t+4|0;e=k[g>>2]|0;do if((b|0)!=(e|0)){f=a+356|0;while(1){c=k[b>>2]|0;k[s>>2]=c;d=k[K>>2]|0;if((d|0)==(k[f>>2]|0)){x=0;sa(471,H|0,s|0);q=x;x=0;if(q&1)break}else{k[d>>2]=c;k[K>>2]=(k[K>>2]|0)+4}b=b+4|0;if((b|0)==(e|0)){E=99;break}}if((E|0)==99){b=k[t>>2]|0;break}b=mb()|0;c=M;d=k[t>>2]|0;if(!d)break b;e=k[g>>2]|0;if((e|0)!=(d|0))k[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);uha(d);break b}while(0);c=b;if(b|0){d=k[g>>2]|0;if((d|0)!=(b|0))k[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(b)}x=0;sa(472,v|0,a+72|0);t=x;x=0;if(t&1){E=75;break}b=k[v>>2]|0;g=v+4|0;e=k[g>>2]|0;do if((b|0)!=(e|0)){f=a+368|0;while(1){c=k[b>>2]|0;k[u>>2]=c;d=k[I>>2]|0;if((d|0)==(k[f>>2]|0)){x=0;sa(473,G|0,u|0);t=x;x=0;if(t&1)break}else{k[d>>2]=c;k[I>>2]=(k[I>>2]|0)+4}b=b+4|0;if((b|0)==(e|0)){E=115;break}}if((E|0)==115){b=k[v>>2]|0;break}b=mb()|0;c=M;d=k[v>>2]|0;if(!d)break b;e=k[g>>2]|0;if((e|0)!=(d|0))k[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);uha(d);break b}while(0);c=b;if(b|0){d=k[g>>2]|0;if((d|0)!=(b|0))k[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);uha(b)}u=k[J>>2]|0;v=k[L>>2]|0;k[y>>2]=871;x=0;Qa(96,u|0,v|0,y|0);y=x;x=0;if(y&1){E=75;break}v=k[H>>2]|0;y=k[K>>2]|0;k[w>>2]=871;x=0;Qa(96,v|0,y|0,w|0);y=x;x=0;if(y&1){E=75;break}x=0;Ua(19,z|0,B|0,j|0,ia|0);y=x;x=0;if(y&1){E=75;break}x=0;sa(474,a+88|0,z|0);y=x;x=0;if(y&1){b=mb()|0;c=M;P1(z);break}else{P1(z);r=A;return}}while(0);if((E|0)==75){b=mb()|0;c=M;E=76}P1(h)}while(0);if((E|0)==70){b=mb()|0;c=M}P1(j)}while(0);if((E|0)==68){b=mb()|0;c=M}P1(B);break}P1(j);E=66}while(0);P1(C)}while(0);P1(D)}}if((E|0)==61){b=mb()|0;c=M}P1(F);f=c}}if((E|0)==60){b=mb()|0;f=M}c=k[G>>2]|0;d=c;if(c|0){e=k[I>>2]|0;if((e|0)!=(c|0))k[I>>2]=e+(~((e+-4-d|0)>>>2)<<2);uha(c)}c=k[H>>2]|0;d=c;if(c|0){e=k[K>>2]|0;if((e|0)!=(c|0))k[K>>2]=e+(~((e+-4-d|0)>>>2)<<2);uha(c)}c=k[J>>2]|0;d=c;if(c|0){e=k[L>>2]|0;if((e|0)!=(c|0))k[L>>2]=e+(~((e+-4-d|0)>>>2)<<2);uha(c)}c=k[N>>2]|0;if(c|0){d=k[O>>2]|0;if((d|0)!=(c|0)){do{L=d+-12|0;k[O>>2]=L;P1(L);d=k[O>>2]|0}while((d|0)!=(c|0));c=k[N>>2]|0}uha(c)}c=k[P>>2]|0;if(c|0){d=k[Q>>2]|0;if((d|0)!=(c|0)){do{O=d+-12|0;k[Q>>2]=O;P1(O);d=k[Q>>2]|0}while((d|0)!=(c|0));c=k[P>>2]|0}uha(c)}c=k[R>>2]|0;if(c|0){d=k[S>>2]|0;if((d|0)!=(c|0)){do{Q=d+-12|0;k[S>>2]=Q;P1(Q);d=k[S>>2]|0}while((d|0)!=(c|0));c=k[R>>2]|0}uha(c)}c=k[T>>2]|0;if(c|0){d=k[U>>2]|0;if((d|0)!=(c|0)){do{S=d+-12|0;k[U>>2]=S;P1(S);d=k[U>>2]|0}while((d|0)!=(c|0));c=k[T>>2]|0}uha(c)}c=k[V>>2]|0;d=c;if(c|0){e=k[Y>>2]|0;if((e|0)!=(c|0))k[Y>>2]=e+(~((e+-4-d|0)>>>2)<<2);uha(c)}mp(a+260|0,k[X>>2]|0);c=k[W>>2]|0;d=c;if(c|0){e=k[aa>>2]|0;if((e|0)!=(c|0))k[aa>>2]=e+(~((e+-8-d|0)>>>3)<<3);uha(c)}Ry(_,k[$>>2]|0);c=k[Z>>2]|0;d=c;if(c|0){e=k[ca>>2]|0;if((e|0)!=(c|0))k[ca>>2]=e+(~((e+-8-d|0)>>>3)<<3);uha(c)}c=k[ba>>2]|0;d=c;if(c|0){e=k[ea>>2]|0;if((e|0)!=(c|0))k[ea>>2]=e+(~((e+-4-d|0)>>>2)<<2);uha(c)}bG(da)}lB(fa)}iB(ga)}P1(ha);ha=b;P1(ia);yb(ha|0)}function kd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=0;H=r;r=r+624|0;D=H+80|0;g=H+40|0;f=H;j=H+576|0;q=H+560|0;l=H+520|0;s=H+504|0;t=H+464|0;A=H+448|0;u=H+408|0;B=H+392|0;m=H+352|0;v=H+336|0;n=H+296|0;w=H+280|0;o=H+240|0;y=H+224|0;p=H+184|0;z=H+168|0;C=H+156|0;e=H+144|0;d=H+132|0;c=H+120|0;Bt(a,0,0)|0;if(Cs(a,1,0)|0){b=(k[a+40>>2]|0)+36|0;c=lD(b,96)|0;e=f;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));lE(g,40459,1);x=0;e=D;E=f;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));Qa(115,c|0,D|0,g|0);G=x;x=0;if(G&1){H=mb()|0;P1(g);yb(H|0)}P1(g);k[c>>2]=12552;G=N4(b,c)|0;r=H;return G|0}if(bs(a,1,0)|0){b=(k[a+40>>2]|0)+36|0;c=lD(b,76)|0;e=g;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));k[c+4>>2]=0;e=c+8|0;E=g;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;i[c+56>>0]=0;k[c+52>>2]=4;k[c>>2]=5932;i[c+57>>0]=0;i[c+58>>0]=0;x=0;Qa(74,D|0,40461,10);G=x;x=0;if(G&1){H=mb()|0;yb(H|0)}x=0;sa(477,c+60|0,D|0);G=x;x=0;if(G&1){H=mb()|0;P1(D);yb(H|0)}else{P1(D);k[c+72>>2]=0;G=N4(b,c)|0;r=H;return G|0}}if(Tp(a,1,0)|0){g=(k[a+40>>2]|0)+36|0;h=lD(g,76)|0;e=j;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(q);G=17}else if(f>>>0<11){i[q>>0]=f<<1;b=q+1|0}else G=17;if((G|0)==17){G=f+16&-16;b=GG(G)|0;k[q+8>>2]=b;k[q>>2]=G|1;k[q+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;k[h+4>>2]=0;e=h+8|0;E=j;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));i[h+48>>0]=1;i[h+49>>0]=1;i[h+50>>0]=0;k[h+52>>2]=0;k[h>>2]=11224;k[h+56>>2]=1;x=0;sa(430,h+60|0,q|0);G=x;x=0;if(!(G&1)){k[h+72>>2]=0;x=0;b=Ka(857,g|0,h|0)|0;G=x;x=0;if(!(G&1)){P1(q);G=b;r=H;return G|0}}H=mb()|0;P1(q);yb(H|0)}if(np(a,1,0)|0){g=(k[a+40>>2]|0)+36|0;h=lD(g,76)|0;e=l;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(s);G=30}else if(f>>>0<11){i[s>>0]=f<<1;b=s+1|0}else G=30;if((G|0)==30){G=f+16&-16;b=GG(G)|0;k[s+8>>2]=b;k[s>>2]=G|1;k[s+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;k[h+4>>2]=0;e=h+8|0;E=l;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));i[h+48>>0]=1;i[h+49>>0]=1;i[h+50>>0]=0;k[h+52>>2]=0;k[h>>2]=11224;k[h+56>>2]=0;x=0;sa(430,h+60|0,s|0);G=x;x=0;if(!(G&1)){k[h+72>>2]=0;x=0;b=Ka(857,g|0,h|0)|0;G=x;x=0;if(!(G&1)){P1(s);G=b;r=H;return G|0}}H=mb()|0;P1(s);yb(H|0)}if(Wp(a,1,0)|0){G=a+152|0;k[D>>2]=k[G>>2];k[D+4>>2]=k[G+4>>2];k[D+8>>2]=k[G+8>>2];G=yd(a,D,0)|0;r=H;return G|0}b=k[a+76>>2]|0;F=bO(b)|0;b=Bo(F|0?F:b)|0;if(!((b|0)==0?1:b>>>0>(k[a+80>>2]|0)>>>0)){G=ed(a,b)|0;r=H;return G|0}if(_r(a,1,0)|0){G=a+152|0;k[D>>2]=k[G>>2];k[D+4>>2]=k[G+4>>2];k[D+8>>2]=k[G+8>>2];G=yd(a,D,0)|0;r=H;return G|0}if(Is(a,1,0)|0){b=(k[a+40>>2]|0)+36|0;c=lD(b,64)|0;e=D;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));k[c+4>>2]=0;e=c+8|0;E=D;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;k[c>>2]=5684;i[c+56>>0]=1;k[c+60>>2]=0;k[c+52>>2]=1;G=N4(b,c)|0;r=H;return G|0}if(As(a,1,0)|0){b=(k[a+40>>2]|0)+36|0;c=lD(b,64)|0;e=D;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));k[c+4>>2]=0;e=c+8|0;E=D;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;k[c>>2]=5684;i[c+56>>0]=0;k[c+60>>2]=0;k[c+52>>2]=1;G=N4(b,c)|0;r=H;return G|0}if(Ks(a,1,0)|0){b=(k[a+40>>2]|0)+36|0;c=lD(b,56)|0;e=D;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));k[c+4>>2]=0;e=c+8|0;E=D;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));i[c+48>>0]=0;i[c+49>>0]=0;i[c+50>>0]=0;k[c>>2]=6380;k[c+52>>2]=8;G=N4(b,c)|0;r=H;return G|0}if(us(a,1,0)|0){b=(k[a+40>>2]|0)+36|0;c=lD(b,76)|0;d=a+152|0;e=D;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));Xp(c,D,d);G=N4(b,c)|0;r=H;return G|0}if(rs(a,1,0)|0){g=(k[a+40>>2]|0)+36|0;h=lD(g,76)|0;e=t;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(A);G=57}else if(f>>>0<11){i[A>>0]=f<<1;b=A+1|0}else G=57;if((G|0)==57){G=f+16&-16;b=GG(G)|0;k[A+8>>2]=b;k[A>>2]=G|1;k[A+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;k[h+4>>2]=0;e=h+8|0;E=t;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));i[h+48>>0]=1;i[h+49>>0]=1;i[h+50>>0]=0;k[h+52>>2]=0;k[h>>2]=11224;k[h+56>>2]=1;x=0;sa(430,h+60|0,A|0);G=x;x=0;if(!(G&1)){k[h+72>>2]=0;x=0;b=Ka(857,g|0,h|0)|0;G=x;x=0;if(!(G&1)){P1(A);G=b;r=H;return G|0}}H=mb()|0;P1(A);yb(H|0)}if($o(a,1,0)|0){g=(k[a+40>>2]|0)+36|0;h=lD(g,76)|0;e=u;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(B);G=70}else if(f>>>0<11){i[B>>0]=f<<1;b=B+1|0}else G=70;if((G|0)==70){G=f+16&-16;b=GG(G)|0;k[B+8>>2]=b;k[B>>2]=G|1;k[B+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;k[h+4>>2]=0;e=h+8|0;E=u;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));i[h+48>>0]=1;i[h+49>>0]=1;i[h+50>>0]=0;k[h+52>>2]=0;k[h>>2]=11224;k[h+56>>2]=3;x=0;sa(430,h+60|0,B|0);G=x;x=0;if(!(G&1)){k[h+72>>2]=0;x=0;b=Ka(857,g|0,h|0)|0;G=x;x=0;if(!(G&1)){P1(B);G=b;r=H;return G|0}}H=mb()|0;P1(B);yb(H|0)}if(Vp(a,1,0)|0){g=(k[a+40>>2]|0)+36|0;h=lD(g,76)|0;e=m;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(v);G=83}else if(f>>>0<11){i[v>>0]=f<<1;b=v+1|0}else G=83;if((G|0)==83){G=f+16&-16;b=GG(G)|0;k[v+8>>2]=b;k[v>>2]=G|1;k[v+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;x=0;e=D;E=m;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));qa(5,h|0,D|0,v|0,0,0);G=x;x=0;if(!(G&1)){x=0;b=Ka(857,g|0,h|0)|0;G=x;x=0;if(!(G&1)){P1(v);G=b;r=H;return G|0}}H=mb()|0;P1(v);yb(H|0)}if(yo(a,1,0)|0){g=(k[a+40>>2]|0)+36|0;h=lD(g,76)|0;e=n;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(w);G=96}else if(f>>>0<11){i[w>>0]=f<<1;b=w+1|0}else G=96;if((G|0)==96){G=f+16&-16;b=GG(G)|0;k[w+8>>2]=b;k[w>>2]=G|1;k[w+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;k[h+4>>2]=0;e=h+8|0;E=n;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));i[h+48>>0]=1;i[h+49>>0]=1;i[h+50>>0]=0;k[h+52>>2]=0;k[h>>2]=11224;k[h+56>>2]=2;x=0;sa(430,h+60|0,w|0);G=x;x=0;do if(!(G&1)){k[h+72>>2]=0;x=0;b=Ka(857,g|0,h|0)|0;G=x;x=0;if(G&1)break;P1(w);G=b;r=H;return G|0}while(0);H=mb()|0;P1(w);yb(H|0)}if(So(a,1,0)|0){b=(k[a+40>>2]|0)+36|0;c=lD(b,76)|0;d=a+152|0;e=D;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));Xp(c,D,d);G=N4(b,c)|0;r=H;return G|0}if(Vs(a,1,0)|0){g=(k[a+40>>2]|0)+36|0;h=lD(g,76)|0;e=o;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;do if(f>>>0>4294967279){dH(y);G=111}else{if(f>>>0>=11){G=111;break}i[y>>0]=f<<1;b=y+1|0}while(0);if((G|0)==111){G=f+16&-16;b=GG(G)|0;k[y+8>>2]=b;k[y>>2]=G|1;k[y+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;k[h+4>>2]=0;e=h+8|0;E=o;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));i[h+48>>0]=1;i[h+49>>0]=1;i[h+50>>0]=0;k[h+52>>2]=0;k[h>>2]=11224;k[h+56>>2]=0;x=0;sa(430,h+60|0,y|0);G=x;x=0;do if(!(G&1)){k[h+72>>2]=0;x=0;b=Ka(857,g|0,h|0)|0;G=x;x=0;if(G&1)break;P1(y);G=b;r=H;return G|0}while(0);H=mb()|0;P1(y);yb(H|0)}if(!(Gs(a,1,0)|0)){if(up(a,1,0)|0){b=(k[a+40>>2]|0)+36|0;c=lD(b,76)|0;d=a+152|0;e=D;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));Xp(c,D,d);G=N4(b,c)|0;r=H;return G|0}lE(e,39906,11);x=0;Qa(74,d|0,39918,7);G=x;x=0;if(G&1)b=mb()|0;else{x=0;Qa(74,c|0,40150,44);G=x;x=0;do if(G&1)b=mb()|0;else{x=0;Ua(31,a|0,e|0,d|0,c|0);G=x;x=0;if(G&1){b=mb()|0;P1(c);break}P1(c);P1(d);P1(e);G=0;r=H;return G|0}while(0);P1(d)}P1(e);H=b;yb(H|0)}g=(k[a+40>>2]|0)+36|0;h=lD(g,68)|0;e=p;E=a+108|0;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));c=k[a+156>>2]|0;e=k[a+160>>2]|0;f=e-c|0;do if(f>>>0>4294967279){dH(C);G=124}else{if(f>>>0>=11){G=124;break}i[C>>0]=f<<1;b=C+1|0}while(0);if((G|0)==124){G=f+16&-16;b=GG(G)|0;k[C+8>>2]=b;k[C>>2]=G|1;k[C+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;x=0;sa(492,z|0,C|0);G=x;x=0;if(G&1)b=mb()|0;else{k[h+4>>2]=0;e=h+8|0;E=p;F=e+40|0;do{k[e>>2]=k[E>>2];e=e+4|0;E=E+4|0}while((e|0)<(F|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;k[h+52>>2]=0;k[h>>2]=14848;x=0;sa(430,h+56|0,z|0);G=x;x=0;do if(!(G&1)){x=0;b=Ka(857,g|0,h|0)|0;G=x;x=0;if(G&1)break;P1(z);P1(C);G=b;r=H;return G|0}while(0);b=mb()|0;P1(z)}P1(C);H=b;yb(H|0);return 0}function ld(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,$=0,aa=0;aa=0;_=r;r=r+272|0;Q=_+40|0;R=_+256|0;S=_+252|0;V=_+248|0;W=_+244|0;X=_+240|0;Y=_+228|0;Z=_;K=_+224|0;L=_+220|0;P=_+128|0;N=_+104|0;M=_+208|0;J=_+184|0;O=_+80|0;T=_+144|0;$=_+88|0;U=b+36|0;l=lD(U,100)|0;o=a+72|0;p=a+76|0;m=(k[p>>2]|0)-(k[o>>2]|0)|0;n=m>>2;E=Q;C=a+8|0;D=E+40|0;do{k[E>>2]=k[C>>2];E=E+4|0;C=C+4|0}while((E|0)<(D|0));k[l+4>>2]=0;E=l+8|0;C=Q;D=E+40|0;do{k[E>>2]=k[C>>2];E=E+4|0;C=C+4|0}while((E|0)<(D|0));i[l+48>>0]=0;i[l+49>>0]=0;i[l+50>>0]=0;k[l>>2]=6840;f=l+56|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[l+52>>2]=7;f=l+68|0;k[f>>2]=7996;g=l+72|0;k[g>>2]=0;h=l+76|0;k[h>>2]=0;j=l+80|0;k[j>>2]=0;if(n|0){I=GG(m)|0;H=I;k[g>>2]=H;k[h>>2]=H;k[j>>2]=I+(n<<2)}k[l>>2]=7828;k[f>>2]=7968;k[l+88>>2]=0;k[l+92>>2]=0;k[l+96>>2]=0;G=N4(U,l)|0;i[e>>0]=0;f=k[o>>2]|0;E=(k[p>>2]|0)-f>>2;a:do if(E|0){q=a+72|0;s=P+4|0;t=P+8|0;I=P+4|0;u=M+4|0;v=M+8|0;w=M+4|0;F=J+20|0;y=G+68|0;z=y+16|0;A=y+8|0;B=y+12|0;C=y+4|0;D=N+16|0;H=N+20|0;g=f;a=0;b:while(1){h=k[g+(a<<2)>>2]|0;if(be(h,b,c)|0){i[e>>0]=1;k[s>>2]=0;k[t>>2]=0;k[P>>2]=I;k[u>>2]=0;k[v>>2]=0;k[M>>2]=w;x=0;Ha(2,N|0,h|0,b|0,c|0,M|0,d|0,1);p=x;x=0;if(p&1){aa=26;break}ND(M,k[w>>2]|0);if(!(i[h+56>>0]|0)){x=0;Qa(80,J|0,h|0,b|0);p=x;x=0;if(p&1){aa=28;break}x=0;f=xa(54,N|0,J|0,1)|0;p=x;x=0;if(p&1){aa=30;break}g=k[F>>2]|0;if(g|0)CQ(g);if(!f){k[L>>2]=h;f=h;if(h|0){k[z>>2]=0;g=k[A>>2]|0;if((g|0)==(k[B>>2]|0)){x=0;sa(447,C|0,L|0);p=x;x=0;if(p&1){aa=28;break}}else{k[g>>2]=f;k[A>>2]=(k[A>>2]|0)+4}x=0;sa(k[k[y>>2]>>2]|0,y|0,h|0);p=x;x=0;if(p&1){aa=28;break}}}}f=k[D>>2]|0;h=k[H>>2]|0;j=(h|0)==0;if(!j)c3(h);p=k[f+4>>2]|0;g=k[f+16>>2]|0;n=p+(((g>>>0)/170|0)<<2)|0;if((k[f+8>>2]|0)==(p|0))f=0;else f=(k[n>>2]|0)+(((g>>>0)%170|0)*24|0)|0;if(!j)CQ(h);g=k[D>>2]|0;l=k[H>>2]|0;m=(l|0)==0;if(!m)c3(l);h=k[g+4>>2]|0;j=k[g+16>>2]|0;if((k[g+8>>2]|0)==(h|0))o=0;else o=(k[h+(((j>>>0)/170|0)<<2)>>2]|0)+(((j>>>0)%170|0)*24|0)|0;if(!m)CQ(l);g=k[D>>2]|0;l=k[H>>2]|0;m=(l|0)==0;if(!m)c3(l);h=(k[g+16>>2]|0)+(k[g+20>>2]|0)|0;j=k[g+4>>2]|0;if((k[g+8>>2]|0)==(j|0))p=0;else p=(k[j+(((h>>>0)/170|0)<<2)>>2]|0)+(((h>>>0)%170|0)*24|0)|0;if(!m)CQ(l);c:do if(d){l=n;while(1){do{if((f|0)==(p|0))break c;do if((f|0)==(o|0)){g=k[D>>2]|0;h=k[H>>2]|0;if(!h)if((k[g+20>>2]|0)>>>0>1)break;else{aa=57;break}else{c3(h);n=(k[g+20>>2]|0)>>>0>1;CQ(h);if(n)break;else{aa=57;break}}}else aa=57;while(0);if((aa|0)==57){aa=0;x=0;g=Ka(858,f|0,b|0)|0;n=x;x=0;if(n&1){aa=66;break b}k[K>>2]=g;h=g;if(g|0){k[z>>2]=0;j=k[A>>2]|0;if((j|0)==(k[B>>2]|0)){x=0;sa(447,C|0,K|0);n=x;x=0;if(n&1){aa=66;break b}}else{k[j>>2]=h;k[A>>2]=(k[A>>2]|0)+4}x=0;sa(k[k[y>>2]>>2]|0,y|0,g|0);n=x;x=0;if(n&1){aa=66;break b}}}f=f+24|0}while((f-(k[l>>2]|0)|0)!=4080);f=l+4|0;l=f;f=k[f>>2]|0}}else{l=n;while(1){do{if((f|0)==(p|0))break c;x=0;g=Ka(858,f|0,b|0)|0;o=x;x=0;if(o&1){aa=27;break b}k[K>>2]=g;h=g;if(g|0){k[z>>2]=0;j=k[A>>2]|0;if((j|0)==(k[B>>2]|0)){x=0;sa(447,C|0,K|0);o=x;x=0;if(o&1){aa=27;break b}}else{k[j>>2]=h;k[A>>2]=(k[A>>2]|0)+4}x=0;sa(k[k[y>>2]>>2]|0,y|0,g|0);o=x;x=0;if(o&1){aa=27;break b}}f=f+24|0}while((f-(k[l>>2]|0)|0)!=4080);f=l+4|0;l=f;f=k[f>>2]|0}}while(0);f=k[H>>2]|0;if(f|0)CQ(f);ND(P,k[I>>2]|0)}else{k[Q>>2]=h;f=h;if(h|0){k[z>>2]=0;g=k[A>>2]|0;if((g|0)==(k[B>>2]|0))kw(C,Q);else{k[g>>2]=f;k[A>>2]=(k[A>>2]|0)+4}rc[k[k[y>>2]>>2]&1023](y,h)}}f=a+1|0;if(f>>>0>=E>>>0)break a;g=k[q>>2]|0;a=f}if((aa|0)==26){f=mb()|0;ND(M,k[w>>2]|0)}else if((aa|0)==27){f=mb()|0;aa=29}else if((aa|0)==28){f=mb()|0;aa=29}else if((aa|0)==30){f=mb()|0;g=k[F>>2]|0;if(!g)aa=82;else{CQ(g);aa=82}}else if((aa|0)==66){f=mb()|0;aa=29}if((aa|0)==29)aa=82;if((aa|0)==82){g=k[H>>2]|0;if(g)CQ(g)}ND(P,k[I>>2]|0);aa=f;yb(aa|0)}while(0);B2(O,b);x=0;P=Ka(885,O|0,G|0)|0;O=x;x=0;do if(O&1)f=mb()|0;else{f=k[P+72>>2]|0;O=k[P+76>>2]|0;if((f|0)==(O|0)){r=_;return P|0}d=f;d:while(1){f=k[d>>2]|0;if(f|0){e=f;do{N=e+72|0;if(k[N>>2]|0){x=0;f=Ka(856,U|0,104)|0;M=x;x=0;if(M&1){aa=91;break d}E=Q;C=e+8|0;D=E+40|0;do{k[E>>2]=k[C>>2];E=E+4|0;C=C+4|0}while((E|0)<(D|0));k[f+4>>2]=0;E=f+8|0;C=Q;D=E+40|0;do{k[E>>2]=k[C>>2];E=E+4|0;C=C+4|0}while((E|0)<(D|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;G=f+56|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[f+52>>2]=7;k[f+72>>2]=0;k[f+76>>2]=0;k[f+80>>2]=0;k[f>>2]=6984;k[f+68>>2]=7116;G=f+92|0;k[G>>2]=0;k[f+96>>2]=0;k[f+88>>2]=G;i[f+100>>0]=0;i[f+101>>0]=0;x=0;G=Ka(857,U|0,f|0)|0;M=x;x=0;if(M&1){aa=91;break d}H=k[N>>2]|0;f=k[H+72>>2]|0;H=k[H+76>>2]|0;if((f|0)!=(H|0)){I=G+68|0;J=I+16|0;K=I+8|0;L=I+12|0;M=I+4|0;F=f;do{g=k[F>>2]|0;e:do if(!g){k[R>>2]=0;aa=159}else{j=Ot(g,96,144,0)|0;if(!j){k[R>>2]=g;k[J>>2]=0;f=k[K>>2]|0;if((f|0)==(k[L>>2]|0)){x=0;sa(450,M|0,R|0);aa=x;x=0;if(aa&1){aa=90;break d}}else{k[f>>2]=g;k[K>>2]=(k[K>>2]|0)+4}x=0;sa(k[k[I>>2]>>2]|0,I|0,g|0);aa=x;x=0;if(aa&1){aa=90;break d}else{aa=159;break}}B=j+96|0;f=k[B>>2]|0;do if(f|0){h=Ot(f,112,160,0)|0;if(!h)break;if((k[h+72>>2]|0)==(k[h+76>>2]|0)){x=0;f=Ka(856,U|0,96)|0;E=x;x=0;if(E&1){aa=90;break d}E=T;C=g+8|0;D=E+40|0;do{k[E>>2]=k[C>>2];E=E+4|0;C=C+4|0}while((E|0)<(D|0));x=0;sa(430,$|0,j+80|0);E=x;x=0;if(E&1){aa=90;break d}E=Z;C=T;D=E+40|0;do{k[E>>2]=k[C>>2];E=E+4|0;C=C+4|0}while((E|0)<(D|0));x=0;sa(430,Y|0,$|0);E=x;x=0;if(E&1){aa=118;break d}x=0;E=Q;C=Z;D=E+40|0;do{k[E>>2]=k[C>>2];E=E+4|0;C=C+4|0}while((E|0)<(D|0));Qa(115,f|0,Q|0,Y|0);E=x;x=0;if(E&1){aa=110;break d}P1(Y);k[f>>2]=7144;x=0;f=Ka(857,U|0,f|0)|0;E=x;x=0;if(E&1){aa=118;break d}k[X>>2]=f;g=f;if(f|0){k[J>>2]=0;h=k[K>>2]|0;if((h|0)==(k[L>>2]|0)){x=0;sa(450,M|0,X|0);E=x;x=0;if(E&1){aa=118;break d}}else{k[h>>2]=g;k[K>>2]=(k[K>>2]|0)+4}x=0;sa(k[k[I>>2]>>2]|0,I|0,f|0);E=x;x=0;if(E&1){aa=118;break d}}P1($);break e}i[Q>>0]=0;x=0;f=wa(22,h|0,b|0,c|0,0,Q|0)|0;E=x;x=0;if(E&1){aa=90;break d}z=f+68|0;A=f+72|0;q=f+76|0;if((k[q>>2]|0)==(k[A>>2]|0))break e;s=j+4|0;t=j+8|0;u=j+48|0;v=j+56|0;w=j+68|0;y=j+80|0;a=j+92|0;o=h+8|0;p=0;while(1){x=0;f=Ka(k[(k[z>>2]|0)+12>>2]|0,z|0,p|0)|0;E=x;x=0;if(E&1){aa=89;break d}h=k[f>>2]|0;if(h|0){x=0;g=Ka(856,U|0,100)|0;E=x;x=0;if(E&1){aa=89;break d}k[g+4>>2]=k[s>>2];k[g>>2]=4748;E=g+8|0;C=t;D=E+40|0;do{k[E>>2]=k[C>>2];E=E+4|0;C=C+4|0}while((E|0)<(D|0));k[g>>2]=6736;D=u;E=k[D+4>>2]|0;f=g+48|0;k[f>>2]=k[D>>2];k[f+4>>2]=E;k[g>>2]=6840;f=g+56|0;k[f>>2]=k[v>>2];k[f+4>>2]=k[v+4>>2];k[f+8>>2]=k[v+8>>2];k[g>>2]=6600;f=g+68|0;x=0;sa(430,f|0,w|0);E=x;x=0;if(E&1){aa=128;break d}x=0;sa(430,g+80|0,y|0);E=x;x=0;if(E&1){aa=129;break d}i[g+92>>0]=i[a>>0]|0;k[g>>2]=7556;k[g+96>>2]=k[B>>2];x=0;n=Ka(857,U|0,g|0)|0;E=x;x=0;if(E&1){aa=89;break d}x=0;f=Ka(856,U|0,100)|0;E=x;x=0;if(E&1){aa=89;break d}E=Q;C=o;D=E+40|0;do{k[E>>2]=k[C>>2];E=E+4|0;C=C+4|0}while((E|0)<(D|0));k[f+4>>2]=0;E=f+8|0;C=Q;D=E+40|0;do{k[E>>2]=k[C>>2];E=E+4|0;C=C+4|0}while((E|0)<(D|0));i[f+48>>0]=0;i[f+49>>0]=0;i[f+50>>0]=0;m=f+56|0;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[f+52>>2]=7;k[f+72>>2]=0;k[f+76>>2]=0;k[f+80>>2]=0;k[f>>2]=7828;k[f+68>>2]=7968;k[f+88>>2]=0;k[f+92>>2]=0;k[f+96>>2]=0;x=0;m=Ka(857,U|0,f|0)|0;E=x;x=0;if(E&1){aa=89;break d}x=0;f=ua(215,h|0)|0;E=x;x=0;if(E&1){aa=89;break d}if(f|0){x=0;f=ua(215,h|0)|0;E=x;x=0;if(E&1){aa=89;break d}g=m+68|0;k[W>>2]=f;h=f;if(f|0){k[g+16>>2]=0;j=g+8|0;l=k[j>>2]|0;if((l|0)==(k[g+12>>2]|0)){x=0;sa(447,g+4|0,W|0);E=x;x=0;if(E&1){aa=89;break d}}else{k[l>>2]=h;k[j>>2]=(k[j>>2]|0)+4}x=0;sa(k[k[g>>2]>>2]|0,g|0,f|0);E=x;x=0;if(E&1){aa=89;break d}}}k[n+96>>2]=m;k[V>>2]=n;f=n;if(n|0){k[J>>2]=0;g=k[K>>2]|0;if((g|0)==(k[L>>2]|0)){x=0;sa(450,M|0,V|0);E=x;x=0;if(E&1){aa=89;break d}}else{k[g>>2]=f;k[K>>2]=(k[K>>2]|0)+4}x=0;sa(k[k[I>>2]>>2]|0,I|0,n|0);E=x;x=0;if(E&1){aa=89;break d}}}p=p+1|0;if(p>>>0>=(k[q>>2]|0)-(k[A>>2]|0)>>2>>>0)break e}}while(0);k[S>>2]=g;k[J>>2]=0;f=k[K>>2]|0;if((f|0)==(k[L>>2]|0)){x=0;sa(450,M|0,S|0);E=x;x=0;if(E&1){aa=90;break d}}else{k[f>>2]=g;k[K>>2]=(k[K>>2]|0)+4}x=0;sa(k[k[I>>2]>>2]|0,I|0,g|0);E=x;x=0;if(E&1){aa=90;break d}}while(0);if((aa|0)==159)aa=0;F=F+4|0}while((F|0)!=(H|0))}k[N>>2]=G}e=k[e+76>>2]|0}while((e|0)!=0)}d=d+4|0;if((d|0)==(O|0)){aa=88;break}}if((aa|0)==88){r=_;return P|0}else if((aa|0)==89){f=mb()|0;break}else if((aa|0)==90){f=mb()|0;break}else if((aa|0)==91){f=mb()|0;break}else if((aa|0)==110){f=mb()|0;P1(Y)}else if((aa|0)==118)f=mb()|0;else if((aa|0)==128){f=mb()|0;aa=130}else if((aa|0)==129){$=mb()|0;P1(f);f=$;aa=130}if((aa|0)==130)break;P1($);aa=f;yb(aa|0)}while(0);aa=f;yb(aa|0);return 0}function md(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,$=0,aa=0,ba=0;aa=0;_=r;r=r+800|0;W=_+760|0;T=_+744|0;U=_+40|0;P=_+704|0;O=_+688|0;Q=_+648|0;I=_+632|0;G=_+620|0;F=_+608|0;H=_+568|0;E=_+552|0;C=_+540|0;B=_+528|0;D=_+488|0;s=_+472|0;p=_+460|0;o=_+448|0;q=_+408|0;u=_+384|0;v=_;m=_+332|0;j=_+308|0;h=_+284|0;l=_+232|0;X=_+104|0;c=_+396|0;ba=_+92|0;w=_+344|0;A=_+320|0;z=_+296|0;y=_+272|0;$=_+80|0;J=_+220|0;R=_+208|0;V=_+168|0;Z=_+156|0;Y=_+144|0;S=a+108|0;e=X;f=S;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));K=a+152|0;k[W>>2]=k[K>>2];k[W+4>>2]=k[K+4>>2];k[W+8>>2]=k[K+8>>2];L=a+76|0;b=k[L>>2]|0;M=a+84|0;k[T>>2]=k[M>>2];k[T+4>>2]=k[M+4>>2];k[T+8>>2]=k[M+8>>2];N=a+96|0;k[U>>2]=k[N>>2];k[U+4>>2]=k[N+4>>2];k[U+8>>2]=k[N+8>>2];e=P;f=S;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));Bt(a,1,0)|0;do if(!(Zr(a,1,0)|0)){e=S;f=P;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));k[K>>2]=k[W>>2];k[K+4>>2]=k[W+4>>2];k[K+8>>2]=k[W+8>>2];k[L>>2]=b;k[N>>2]=k[U>>2];k[N+4>>2]=k[U+4>>2];k[N+8>>2]=k[U+8>>2];k[M>>2]=k[T>>2];k[M+4>>2]=k[T+4>>2];k[M+8>>2]=k[T+8>>2];lE(c,39993,44);x=0;k[W>>2]=k[S>>2];k[W+4>>2]=k[S+4>>2];k[W+8>>2]=k[S+8>>2];Qa(135,a|0,c|0,W|0);t=x;x=0;if(!(t&1)){P1(c);break}ba=mb()|0;P1(c);yb(ba|0)}while(0);g=a+156|0;c=k[g>>2]|0;n=a+160|0;e=k[n>>2]|0;f=e-c|0;if(f>>>0>4294967279){dH(ba);aa=10}else if(f>>>0<11){i[ba>>0]=f<<1;b=ba+1|0}else aa=10;if((aa|0)==10){t=f+16&-16;b=GG(t)|0;k[ba+8>>2]=b;k[ba>>2]=t|1;k[ba+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;k[m>>2]=k[K>>2];k[m+4>>2]=k[K+4>>2];k[m+8>>2]=k[K+8>>2];c=k[L>>2]|0;k[j>>2]=k[M>>2];k[j+4>>2]=k[M+4>>2];k[j+8>>2]=k[M+8>>2];k[h>>2]=k[N>>2];k[h+4>>2]=k[N+4>>2];k[h+8>>2]=k[N+8>>2];e=l;f=S;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));x=0;xa(64,a|0,1,0)|0;t=x;x=0;a:do if(t&1)aa=29;else{x=0;b=xa(66,a|0,1,0)|0;t=x;x=0;if(t&1)aa=29;else{if(b|0){b=(k[a+40>>2]|0)+36|0;x=0;c=Ka(856,b|0,112)|0;$=x;x=0;if($&1){aa=29;break}e=w;f=X;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));x=0;sa(430,A|0,ba|0);$=x;x=0;if($&1){aa=29;break}x=0;Qa(74,z|0,78097,0);$=x;x=0;if($&1)b=mb()|0;else{e=v;f=w;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));x=0;sa(430,u|0,A|0);$=x;x=0;b:do if($&1)aa=32;else{x=0;e=W;f=v;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));Qa(115,c|0,W|0,u|0);$=x;x=0;do if($&1){b=mb()|0;P1(u)}else{P1(u);k[c>>2]=11868;x=0;sa(430,c+96|0,z|0);$=x;x=0;if($&1){b=mb()|0;k[c>>2]=6600;P1(c+80|0);P1(c+68|0);break}k[c+108>>2]=0;x=0;b=Ka(857,b|0,c|0)|0;aa=x;x=0;if(aa&1){aa=32;break b}P1(z);P1(A);aa=b;P1(ba);r=_;return aa|0}while(0)}while(0);if((aa|0)==32)b=mb()|0;P1(z)}P1(A);break}e=S;f=l;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));k[K>>2]=k[m>>2];k[K+4>>2]=k[m+4>>2];k[K+8>>2]=k[m+8>>2];k[L>>2]=c;k[N>>2]=k[h>>2];k[N+4>>2]=k[h+4>>2];k[N+8>>2]=k[h+8>>2];k[M>>2]=k[j>>2];k[M+4>>2]=k[j+4>>2];k[M+8>>2]=k[j+8>>2];k[s>>2]=k[K>>2];k[s+4>>2]=k[K+4>>2];k[s+8>>2]=k[K+8>>2];k[p>>2]=k[M>>2];k[p+4>>2]=k[M+4>>2];k[p+8>>2]=k[M+8>>2];k[o>>2]=k[N>>2];k[o+4>>2]=k[N+4>>2];k[o+8>>2]=k[N+8>>2];e=q;f=S;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));x=0;xa(64,a|0,1,0)|0;A=x;x=0;if(A&1)aa=29;else{x=0;b=xa(67,a|0,1,0)|0;A=x;x=0;if(A&1)aa=29;else{do if(!b){e=S;f=q;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));k[K>>2]=k[s>>2];k[K+4>>2]=k[s+4>>2];k[K+8>>2]=k[s+8>>2];k[L>>2]=c;k[N>>2]=k[o>>2];k[N+4>>2]=k[o+4>>2];k[N+8>>2]=k[o+8>>2];k[M>>2]=k[p>>2];k[M+4>>2]=k[p+4>>2];k[M+8>>2]=k[p+8>>2];k[y>>2]=0;k[y+4>>2]=0;k[y+8>>2]=0;b=i[ba>>0]|0;b=(b&1)==0?(b&255)>>>1:k[ba+4>>2]|0;x=0;Ua(10,y|0,40038,43,b+43|0);A=x;x=0;if(!(A&1)){x=0;xa(46,y|0,((i[ba>>0]&1)==0?ba+1|0:k[ba+8>>2]|0)|0,b|0)|0;A=x;x=0;if(!(A&1)){x=0;k[W>>2]=k[S>>2];k[W+4>>2]=k[S+4>>2];k[W+8>>2]=k[S+8>>2];Qa(135,a|0,y|0,W|0);A=x;x=0;if(A&1){b=mb()|0;P1(y);break a}else{P1(y);break}}}b=mb()|0;P1(y);aa=30;break a}while(0);c=k[g>>2]|0;e=k[n>>2]|0;f=e-c|0;if(f>>>0>4294967279){x=0;ra(331,$|0);aa=x;x=0;if(aa&1){aa=29;break}else aa=48}else if(f>>>0<11){i[$>>0]=f<<1;b=$+1|0}else aa=48;if((aa|0)==48){d=f+16&-16;x=0;b=ua(186,d|0)|0;A=x;x=0;if(A&1){aa=29;break}k[$+8>>2]=b;k[$>>2]=d|1;k[$+4>>2]=f}if((c|0)!=(e|0)){d=b;while(1){i[d>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(e|0))break;else d=d+1|0}b=b+f|0}i[b>>0]=0;k[E>>2]=k[K>>2];k[E+4>>2]=k[K+4>>2];k[E+8>>2]=k[K+8>>2];c=k[L>>2]|0;k[C>>2]=k[M>>2];k[C+4>>2]=k[M+4>>2];k[C+8>>2]=k[M+8>>2];k[B>>2]=k[N>>2];k[B+4>>2]=k[N+4>>2];k[B+8>>2]=k[N+8>>2];e=D;f=S;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));x=0;xa(64,a|0,1,0)|0;A=x;x=0;c:do if(A&1)aa=61;else{x=0;b=xa(59,a|0,1,0)|0;A=x;x=0;if(A&1)aa=61;else{d:do if(!b){e=S;f=D;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));k[K>>2]=k[E>>2];k[K+4>>2]=k[E+4>>2];k[K+8>>2]=k[E+8>>2];k[L>>2]=c;k[N>>2]=k[B>>2];k[N+4>>2]=k[B+4>>2];k[N+8>>2]=k[B+8>>2];k[M>>2]=k[C>>2];k[M+4>>2]=k[C+4>>2];k[M+8>>2]=k[C+8>>2];k[I>>2]=k[K>>2];k[I+4>>2]=k[K+4>>2];k[I+8>>2]=k[K+8>>2];k[G>>2]=k[M>>2];k[G+4>>2]=k[M+4>>2];k[G+8>>2]=k[M+8>>2];k[F>>2]=k[N>>2];k[F+4>>2]=k[N+4>>2];k[F+8>>2]=k[N+8>>2];e=H;f=S;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));x=0;xa(64,a|0,1,0)|0;E=x;x=0;if(E&1){aa=61;break c}x=0;b=xa(68,a|0,1,0)|0;E=x;x=0;if(E&1){aa=61;break c}if(b|0){x=0;k[W>>2]=k[K>>2];k[W+4>>2]=k[K+4>>2];k[W+8>>2]=k[K+8>>2];b=xa(69,a|0,W|0,1)|0;J=x;x=0;if(J&1){aa=61;break c}else{d=b;break}}e=S;f=H;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));k[K>>2]=k[I>>2];k[K+4>>2]=k[I+4>>2];k[K+8>>2]=k[I+8>>2];k[L>>2]=c;k[N>>2]=k[F>>2];k[N+4>>2]=k[F+4>>2];k[N+8>>2]=k[F+8>>2];k[M>>2]=k[G>>2];k[M+4>>2]=k[G+4>>2];k[M+8>>2]=k[G+8>>2];k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;b=i[ba>>0]|0;b=(b&1)==0?(b&255)>>>1:k[ba+4>>2]|0;x=0;Ua(10,J|0,40082,67,b+67|0);I=x;x=0;do if(!(I&1)){x=0;xa(46,J|0,((i[ba>>0]&1)==0?ba+1|0:k[ba+8>>2]|0)|0,b|0)|0;I=x;x=0;if(I&1)break;x=0;k[W>>2]=k[S>>2];k[W+4>>2]=k[S+4>>2];k[W+8>>2]=k[S+8>>2];Qa(135,a|0,J|0,W|0);I=x;x=0;if(I&1){b=mb()|0;P1(J);break c}else{P1(J);d=0;break d}}while(0);b=mb()|0;P1(J);aa=62;break c}else{b=(k[a+40>>2]|0)+36|0;x=0;c=Ka(856,b|0,76)|0;J=x;x=0;if(J&1){aa=61;break c}x=0;e=W;f=X;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));Qa(137,c|0,W|0,K|0);J=x;x=0;if(J&1){aa=61;break c}x=0;b=Ka(857,b|0,c|0)|0;J=x;x=0;if(J&1){aa=61;break c}d=b}while(0);k[W>>2]=k[K>>2];k[W+4>>2]=k[K+4>>2];k[W+8>>2]=k[K+8>>2];c=k[L>>2]|0;k[P>>2]=k[M>>2];k[P+4>>2]=k[M+4>>2];k[P+8>>2]=k[M+8>>2];k[O>>2]=k[N>>2];k[O+4>>2]=k[N+4>>2];k[O+8>>2]=k[N+8>>2];e=Q;f=S;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));x=0;xa(64,a|0,1,0)|0;J=x;x=0;if(J&1)aa=61;else{x=0;b=xa(66,a|0,1,0)|0;J=x;x=0;if(J&1)aa=61;else{e:do if(!b){e=S;f=Q;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));k[K>>2]=k[W>>2];k[K+4>>2]=k[W+4>>2];k[K+8>>2]=k[W+8>>2];k[L>>2]=c;k[N>>2]=k[O>>2];k[N+4>>2]=k[O+4>>2];k[N+8>>2]=k[O+8>>2];k[M>>2]=k[P>>2];k[M+4>>2]=k[P+4>>2];k[M+8>>2]=k[P+8>>2];k[R>>2]=0;k[R+4>>2]=0;k[R+8>>2]=0;b=i[ba>>0]|0;b=(b&1)==0?(b&255)>>>1:k[ba+4>>2]|0;x=0;Ua(10,R|0,40546,36,b+36|0);Q=x;x=0;do if(!(Q&1)){x=0;xa(46,R|0,((i[ba>>0]&1)==0?ba+1|0:k[ba+8>>2]|0)|0,b|0)|0;Q=x;x=0;if(Q&1)break;x=0;k[W>>2]=k[S>>2];k[W+4>>2]=k[S+4>>2];k[W+8>>2]=k[S+8>>2];Qa(135,a|0,R|0,W|0);S=x;x=0;if(S&1){b=mb()|0;P1(R);break c}else{P1(R);break e}}while(0);b=mb()|0;P1(R);aa=62;break c}while(0);b=(k[a+40>>2]|0)+36|0;x=0;c=Ka(856,b|0,112)|0;a=x;x=0;if(a&1)aa=61;else{e=V;f=X;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));x=0;sa(430,Z|0,ba|0);X=x;x=0;if(X&1){aa=61;break}x=0;sa(430,Y|0,$|0);X=x;x=0;if(X&1)b=mb()|0;else{e=U;f=V;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));x=0;sa(430,T|0,Z|0);X=x;x=0;f:do if(X&1)aa=94;else{x=0;e=W;f=U;t=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(t|0));Qa(115,c|0,W|0,T|0);X=x;x=0;do if(X&1){b=mb()|0;P1(T)}else{P1(T);k[c>>2]=11868;x=0;sa(430,c+96|0,Y|0);X=x;x=0;if(X&1){b=mb()|0;k[c>>2]=6600;P1(c+80|0);P1(c+68|0);break}k[c+108>>2]=d;x=0;b=Ka(857,b|0,c|0)|0;aa=x;x=0;if(aa&1){aa=94;break f}P1(Y);P1(Z);P1($);aa=b;P1(ba);r=_;return aa|0}while(0)}while(0);if((aa|0)==94)b=mb()|0;P1(Y)}P1(Z)}}}}}while(0);if((aa|0)==61){b=mb()|0;aa=62}P1($)}}}}while(0);if((aa|0)==29){b=mb()|0;aa=30}P1(ba);ba=b;yb(ba|0);return 0}function nd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0.0,o=0,q=0,s=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;K=0;ha=r;r=r+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;$=ha+576|0;ba=ha;W=ha+536|0;ga=ha+8|0;fa=ha+528|0;L=(a|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ga+4|0;Y=da;Z=0-Y|0;_=$+12|0;$=$+11|0;aa=_;O=aa-Y|0;P=-2-Y|0;Q=aa+2|0;R=ca+288|0;S=da+9|0;T=S;U=da+8|0;f=0;h=0;g=0;y=b;a:while(1){do if((f|0)>-1)if((h|0)>(2147483647-f|0)){f=L0()|0;k[f>>2]=75;f=-1;break}else{f=h+f|0;break}while(0);b=i[y>>0]|0;if(!(b<<24>>24)){K=244;break}else h=y;b:while(1){switch(b<<24>>24){case 37:{b=h;K=9;break b}case 0:{b=h;break b}default:{}}J=h+1|0;b=i[J>>0]|0;h=J}c:do if((K|0)==9)while(1){K=0;if((i[b+1>>0]|0)!=37)break c;h=h+1|0;b=b+2|0;if((i[b>>0]|0)==37)K=9;else break}while(0);w=h-y|0;if(L)if(!(k[a>>2]&32))zx(y,w,a)|0;if((h|0)!=(y|0)){h=w;y=b;continue}o=b+1|0;h=i[o>>0]|0;m=(h<<24>>24)+-48|0;if(m>>>0<10){J=(i[b+2>>0]|0)==36;o=J?b+3|0:o;h=i[o>>0]|0;u=J?m:-1;g=J?1:g}else u=-1;b=h<<24>>24;d:do if((b&-32|0)==32){m=0;while(1){if(!(1<>24)+-32|m;o=o+1|0;h=i[o>>0]|0;b=h<<24>>24;if((b&-32|0)!=32){q=m;break}}}else q=0;while(0);do if(h<<24>>24==42){h=o+1|0;b=(i[h>>0]|0)+-48|0;if(b>>>0<10)if((i[o+2>>0]|0)==36){k[e+(b<<2)>>2]=10;g=1;o=o+3|0;b=k[d+((i[h>>0]|0)+-48<<3)>>2]|0}else K=24;else K=24;if((K|0)==24){K=0;if(g|0){f=-1;break a}if(!L){v=q;g=0;o=h;J=0;break}g=(k[c>>2]|0)+(4-1)&~(4-1);b=k[g>>2]|0;k[c>>2]=g+4;g=0;o=h}if((b|0)<0){v=q|8192;J=0-b|0}else{v=q;J=b}}else{m=(h<<24>>24)+-48|0;if(m>>>0<10){b=o;h=0;do{h=(h*10|0)+m|0;b=b+1|0;m=(i[b>>0]|0)+-48|0}while(m>>>0<10);if((h|0)<0){f=-1;break a}else{v=q;o=b;J=h}}else{v=q;J=0}}while(0);e:do if((i[o>>0]|0)==46){b=o+1|0;h=i[b>>0]|0;if(h<<24>>24!=42){m=(h<<24>>24)+-48|0;if(m>>>0<10)h=0;else{q=0;break}while(1){h=(h*10|0)+m|0;b=b+1|0;m=(i[b>>0]|0)+-48|0;if(m>>>0>=10){q=h;break e}}}b=o+2|0;h=(i[b>>0]|0)+-48|0;if(h>>>0<10)if((i[o+3>>0]|0)==36){k[e+(h<<2)>>2]=10;q=k[d+((i[b>>0]|0)+-48<<3)>>2]|0;b=o+4|0;break}if(g|0){f=-1;break a}if(L){I=(k[c>>2]|0)+(4-1)&~(4-1);q=k[I>>2]|0;k[c>>2]=I+4}else q=0}else{q=-1;b=o}while(0);s=0;while(1){h=(i[b>>0]|0)+-65|0;if(h>>>0>57){f=-1;break a}m=b+1|0;h=i[45514+(s*58|0)+h>>0]|0;o=h&255;if((o+-1|0)>>>0<8){b=m;s=o}else{I=m;break}}if(!(h<<24>>24)){f=-1;break}m=(u|0)>-1;do if(h<<24>>24==19)if(m){f=-1;break a}else K=52;else{if(m){k[e+(u<<2)>>2]=o;G=d+(u<<3)|0;H=k[G+4>>2]|0;K=ba;k[K>>2]=k[G>>2];k[K+4>>2]=H;K=52;break}if(!L){f=0;break a}Tn(ba,o,c)}while(0);if((K|0)==52){K=0;if(!L){h=w;y=I;continue}}u=i[b>>0]|0;u=(s|0)!=0&(u&15|0)==3?u&-33:u;m=v&-65537;H=(v&8192|0)==0?v:m;f:do switch(u|0){case 110:switch(s|0){case 0:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 1:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 2:{h=k[ba>>2]|0;k[h>>2]=f;k[h+4>>2]=((f|0)<0)<<31>>31;h=w;y=I;continue a}case 3:{j[k[ba>>2]>>1]=f;h=w;y=I;continue a}case 4:{i[k[ba>>2]>>0]=f;h=w;y=I;continue a}case 6:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 7:{h=k[ba>>2]|0;k[h>>2]=f;k[h+4>>2]=((f|0)<0)<<31>>31;h=w;y=I;continue a}default:{h=w;y=I;continue a}}case 112:{s=H|8;q=q>>>0>8?q:8;u=120;K=64;break}case 88:case 120:{s=H;K=64;break}case 111:{m=ba;h=k[m>>2]|0;m=k[m+4>>2]|0;if((h|0)==0&(m|0)==0)b=N;else{b=N;do{b=b+-1|0;i[b>>0]=h&7|48;h=SN(h|0,m|0,3)|0;m=M}while(!((h|0)==0&(m|0)==0))}if(!(H&8)){h=H;s=0;o=45994;K=77}else{s=V-b|0;h=H;q=(q|0)>(s|0)?q:s+1|0;s=0;o=45994;K=77}break}case 105:case 100:{h=ba;b=k[h>>2]|0;h=k[h+4>>2]|0;if((h|0)<0){b=lN(0,0,b|0,h|0)|0;h=M;m=ba;k[m>>2]=b;k[m+4>>2]=h;m=1;o=45994;K=76;break f}if(!(H&2048)){o=H&1;m=o;o=(o|0)==0?45994:45996;K=76}else{m=1;o=45995;K=76}break}case 117:{h=ba;b=k[h>>2]|0;h=k[h+4>>2]|0;m=0;o=45994;K=76;break}case 99:{i[W>>0]=k[ba>>2];b=W;u=1;w=0;v=45994;h=N;break}case 109:{h=L0()|0;h=GE(k[h>>2]|0)|0;K=82;break}case 115:{h=k[ba>>2]|0;h=h|0?h:47896;K=82;break}case 67:{k[ga>>2]=k[ba>>2];k[X>>2]=0;k[ba>>2]=ga;b=ga;q=-1;K=86;break}case 83:{b=k[ba>>2]|0;if(!q){yA(a,32,J,0,H);b=0;K=97}else K=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{n=+p[ba>>3];k[ea>>2]=0;p[t>>3]=n;if((k[t+4>>2]|0)<0){n=-n;F=1;G=47903}else if(!(H&2048)){G=H&1;F=G;G=(G|0)==0?47904:47909}else{F=1;G=47906}p[t>>3]=n;E=k[t+4>>2]&2146435072;do if(E>>>0<2146435072|(E|0)==2146435072&0<0){x=+mfa(n,ea)*2.0;h=x!=0.0;if(h)k[ea>>2]=(k[ea>>2]|0)+-1;C=u|32;if((C|0)==97){v=u&32;y=(v|0)==0?G:G+9|0;w=F|2;b=12-q|0;do if(q>>>0>11|(b|0)==0)n=x;else{n=8.0;do{b=b+-1|0;n=n*16.0}while((b|0)!=0);if((i[y>>0]|0)==45){n=-(n+(-x-n));break}else{n=x+n-n;break}}while(0);h=k[ea>>2]|0;b=(h|0)<0?0-h|0:h;b=DD(b,((b|0)<0)<<31>>31,_)|0;if((b|0)==(_|0)){i[$>>0]=48;b=$}i[b+-1>>0]=(h>>31&2)+43;s=b+-2|0;i[s>>0]=u+15;o=(q|0)<1;m=(H&8|0)==0;h=da;while(1){G=~~n;b=h+1|0;i[h>>0]=l[45978+G>>0]|v;n=(n-+(G|0))*16.0;do if((b-Y|0)==1){if(m&(o&n==0.0))break;i[b>>0]=46;b=h+2|0}while(0);if(!(n!=0.0))break;else h=b}m=s;q=(q|0)!=0&(P+b|0)<(q|0)?Q+q-m|0:O-m+b|0;o=q+w|0;yA(a,32,J,o,H);if(!(k[a>>2]&32))zx(y,w,a)|0;yA(a,48,J,o,H^65536);h=b-Y|0;if(!(k[a>>2]&32))zx(da,h,a)|0;b=aa-m|0;yA(a,48,q-(h+b)|0,0,0);if(!(k[a>>2]&32))zx(s,b,a)|0;yA(a,32,J,o,H^8192);b=(o|0)<(J|0)?J:o;break}b=(q|0)<0?6:q;if(h){h=(k[ea>>2]|0)+-28|0;k[ea>>2]=h;n=x*268435456.0}else{n=x;h=k[ea>>2]|0}E=(h|0)<0?ca:R;D=E;h=E;do{B=~~n>>>0;k[h>>2]=B;h=h+4|0;n=(n-+(B>>>0))*1.0e9}while(n!=0.0);m=h;h=k[ea>>2]|0;if((h|0)>0){q=E;while(1){s=(h|0)>29?29:h;o=m+-4|0;do if(o>>>0>>0)o=q;else{h=0;do{B=GN(k[o>>2]|0,0,s|0)|0;B=TZ(B|0,M|0,h|0,0)|0;h=M;A=iK(B|0,h|0,1e9,0)|0;k[o>>2]=A;h=B4(B|0,h|0,1e9,0)|0;o=o+-4|0}while(o>>>0>=q>>>0);if(!h){o=q;break}o=q+-4|0;k[o>>2]=h}while(0);while(1){if(m>>>0<=o>>>0)break;h=m+-4|0;if(!(k[h>>2]|0))m=h;else break}h=(k[ea>>2]|0)-s|0;k[ea>>2]=h;if((h|0)>0)q=o;else break}}else o=E;if((h|0)<0){y=((b+25|0)/9|0)+1|0;z=(C|0)==102;v=o;while(1){w=0-h|0;w=(w|0)>9?9:w;do if(v>>>0>>0){h=(1<>>w;o=0;s=v;do{B=k[s>>2]|0;k[s>>2]=(B>>>w)+o;o=ia(B&h,q)|0;s=s+4|0}while(s>>>0>>0);h=(k[v>>2]|0)==0?v+4|0:v;if(!o){o=h;break}k[m>>2]=o;o=h;m=m+4|0}else o=(k[v>>2]|0)==0?v+4|0:v;while(0);h=z?E:o;m=(m-h>>2|0)>(y|0)?h+(y<<2)|0:m;h=(k[ea>>2]|0)+w|0;k[ea>>2]=h;if((h|0)>=0){z=o;break}else v=o}}else z=o;do if(z>>>0>>0){h=(D-z>>2)*9|0;q=k[z>>2]|0;if(q>>>0<10)break;else o=10;do{o=o*10|0;h=h+1|0}while(q>>>0>=o>>>0)}else h=0;while(0);A=(C|0)==103;B=(b|0)!=0;o=b-((C|0)!=102?h:0)+((B&A)<<31>>31)|0;if((o|0)<(((m-D>>2)*9|0)+-9|0)){s=o+9216|0;o=E+4+(((s|0)/9|0)+-1024<<2)|0;s=((s|0)%9|0)+1|0;if((s|0)<9){q=10;do{q=q*10|0;s=s+1|0}while((s|0)!=9)}else q=10;w=k[o>>2]|0;y=(w>>>0)%(q>>>0)|0;s=(o+4|0)==(m|0);do if(s&(y|0)==0)q=z;else{x=(((w>>>0)/(q>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(q|0)/2|0;if(y>>>0>>0)n=.5;else n=s&(y|0)==(v|0)?1.0:1.5;do if(F){if((i[G>>0]|0)!=45)break;x=-x;n=-n}while(0);s=w-y|0;k[o>>2]=s;if(!(x+n!=x)){q=z;break}C=s+q|0;k[o>>2]=C;if(C>>>0>999999999){h=z;while(1){q=o+-4|0;k[o>>2]=0;if(q>>>0>>0){h=h+-4|0;k[h>>2]=0}C=(k[q>>2]|0)+1|0;k[q>>2]=C;if(C>>>0>999999999)o=q;else{v=h;o=q;break}}}else v=z;h=(D-v>>2)*9|0;s=k[v>>2]|0;if(s>>>0<10){q=v;break}else q=10;do{q=q*10|0;h=h+1|0}while(s>>>0>=q>>>0);q=v}while(0);C=o+4|0;z=q;m=m>>>0>C>>>0?C:m}w=0-h|0;while(1){if(m>>>0<=z>>>0){y=0;C=m;break}o=m+-4|0;if(!(k[o>>2]|0))m=o;else{y=1;C=m;break}}do if(A){b=(B&1^1)+b|0;if((b|0)>(h|0)&(h|0)>-5){u=u+-1|0;b=b+-1-h|0}else{u=u+-2|0;b=b+-1|0}m=H&8;if(m|0)break;do if(y){m=k[C+-4>>2]|0;if(!m){o=9;break}if(!((m>>>0)%10|0)){q=10;o=0}else{o=0;break}do{q=q*10|0;o=o+1|0}while(!((m>>>0)%(q>>>0)|0|0))}else o=9;while(0);m=((C-D>>2)*9|0)+-9|0;if((u|32|0)==102){m=m-o|0;m=(m|0)<0?0:m;b=(b|0)<(m|0)?b:m;m=0;break}else{m=m+h-o|0;m=(m|0)<0?0:m;b=(b|0)<(m|0)?b:m;m=0;break}}else m=H&8;while(0);v=b|m;q=(v|0)!=0&1;s=(u|32|0)==102;if(s){h=(h|0)>0?h:0;u=0}else{o=(h|0)<0?w:h;o=DD(o,((o|0)<0)<<31>>31,_)|0;if((aa-o|0)<2)do{o=o+-1|0;i[o>>0]=48}while((aa-o|0)<2);i[o+-1>>0]=(h>>31&2)+43;D=o+-2|0;i[D>>0]=u;h=aa-D|0;u=D}w=F+1+b+q+h|0;yA(a,32,J,w,H);if(!(k[a>>2]&32))zx(G,F,a)|0;yA(a,48,J,w,H^65536);do if(s){o=z>>>0>E>>>0?E:z;h=o;do{m=DD(k[h>>2]|0,0,S)|0;do if((h|0)==(o|0)){if((m|0)!=(S|0))break;i[U>>0]=48;m=U}else{if(m>>>0<=da>>>0)break;vE(da|0,48,m-Y|0)|0;do m=m+-1|0;while(m>>>0>da>>>0)}while(0);if(!(k[a>>2]&32))zx(m,T-m|0,a)|0;h=h+4|0}while(h>>>0<=E>>>0);do if(v|0){if(k[a>>2]&32|0)break;zx(47947,1,a)|0}while(0);if((b|0)>0&h>>>0>>0){m=h;while(1){h=DD(k[m>>2]|0,0,S)|0;if(h>>>0>da>>>0){vE(da|0,48,h-Y|0)|0;do h=h+-1|0;while(h>>>0>da>>>0)}if(!(k[a>>2]&32))zx(h,(b|0)>9?9:b,a)|0;m=m+4|0;h=b+-9|0;if(!((b|0)>9&m>>>0>>0)){b=h;break}else b=h}}yA(a,48,b+9|0,9,0)}else{s=y?C:z+4|0;if((b|0)>-1){q=(m|0)==0;o=z;do{h=DD(k[o>>2]|0,0,S)|0;if((h|0)==(S|0)){i[U>>0]=48;h=U}do if((o|0)==(z|0)){m=h+1|0;if(!(k[a>>2]&32))zx(h,1,a)|0;if(q&(b|0)<1){h=m;break}if(k[a>>2]&32|0){h=m;break}zx(47947,1,a)|0;h=m}else{if(h>>>0<=da>>>0)break;vE(da|0,48,h+Z|0)|0;do h=h+-1|0;while(h>>>0>da>>>0)}while(0);m=T-h|0;if(!(k[a>>2]&32))zx(h,(b|0)>(m|0)?m:b,a)|0;b=b-m|0;o=o+4|0}while(o>>>0>>0&(b|0)>-1)}yA(a,48,b+18|0,18,0);if(k[a>>2]&32|0)break;zx(u,aa-u|0,a)|0}while(0);yA(a,32,J,w,H^8192);b=(w|0)<(J|0)?J:w}else{s=(u&32|0)!=0;q=n!=n|0.0!=0.0;h=q?0:F;o=h+3|0;yA(a,32,J,o,m);b=k[a>>2]|0;if(!(b&32)){zx(G,h,a)|0;b=k[a>>2]|0}if(!(b&32))zx(q?(s?47943:47930):s?47922:47926,3,a)|0;yA(a,32,J,o,H^8192);b=(o|0)<(J|0)?J:o}while(0);h=b;y=I;continue a}default:{b=y;m=H;u=q;w=0;v=45994;h=N}}while(0);g:do if((K|0)==64){m=ba;h=k[m>>2]|0;m=k[m+4>>2]|0;o=u&32;if((h|0)==0&(m|0)==0){b=N;h=s;s=0;o=45994;K=77}else{b=N;do{b=b+-1|0;i[b>>0]=l[45978+(h&15)>>0]|o;h=SN(h|0,m|0,4)|0;m=M}while(!((h|0)==0&(m|0)==0));K=ba;if((s&8|0)==0|(k[K>>2]|0)==0&(k[K+4>>2]|0)==0){h=s;s=0;o=45994;K=77}else{h=s;s=2;o=45994+(u>>4)|0;K=77}}}else if((K|0)==76){b=DD(b,h,N)|0;h=H;s=m;K=77}else if((K|0)==82){K=0;H=mw(h,0,q)|0;G=(H|0)==0;b=h;u=G?q:H-h|0;w=0;v=45994;h=G?h+q|0:H}else if((K|0)==86){K=0;m=0;h=0;s=b;while(1){o=k[s>>2]|0;if(!o)break;h=_7(fa,o)|0;if((h|0)<0|h>>>0>(q-m|0)>>>0)break;m=h+m|0;if(q>>>0>m>>>0)s=s+4|0;else break}if((h|0)<0){f=-1;break a}yA(a,32,J,m,H);if(!m){b=0;K=97}else{o=0;while(1){h=k[b>>2]|0;if(!h){b=m;K=97;break g}h=_7(fa,h)|0;o=h+o|0;if((o|0)>(m|0)){b=m;K=97;break g}if(!(k[a>>2]&32))zx(fa,h,a)|0;if(o>>>0>=m>>>0){b=m;K=97;break}else b=b+4|0}}}while(0);if((K|0)==97){K=0;yA(a,32,J,b,H^8192);h=(J|0)>(b|0)?J:b;y=I;continue}if((K|0)==77){K=0;m=(q|0)>-1?h&-65537:h;h=ba;h=(k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0;if((q|0)!=0|h){u=(h&1^1)+(V-b)|0;u=(q|0)>(u|0)?q:u;w=s;v=o;h=N}else{b=N;u=0;w=s;v=o;h=N}}s=h-b|0;o=(u|0)<(s|0)?s:u;q=w+o|0;h=(J|0)<(q|0)?q:J;yA(a,32,h,q,m);if(!(k[a>>2]&32))zx(v,w,a)|0;yA(a,48,h,q,m^65536);yA(a,48,o,s,0);if(!(k[a>>2]&32))zx(b,s,a)|0;yA(a,32,h,q,m^8192);y=I}h:do if((K|0)==244)if(!a)if(!g)f=0;else{f=1;while(1){g=k[e+(f<<2)>>2]|0;if(!g)break;Tn(d+(f<<3)|0,g,c);f=f+1|0;if((f|0)>=10){f=1;break h}}if((f|0)<10)while(1){if(k[e+(f<<2)>>2]|0){f=-1;break h}f=f+1|0;if((f|0)>=10){f=1;break}}else f=1}while(0);r=ha;return f|0} -function Xc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,$=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,ta=0,ua=0,va=0,wa=0,ya=0,za=0,Aa=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;Ha=0;Ga=r;r=r+832|0;Y=Ga+80|0;Z=Ga+64|0;ua=Ga+48|0;Ia=Ga+800|0;Ja=Ga+776|0;j=Ga+824|0;G=Ga+728|0;v=Ga+768|0;w=Ga+752|0;y=Ga+712|0;z=Ga+704|0;B=Ga+696|0;C=Ga+672|0;D=Ga+656|0;E=Ga+688|0;la=Ga+32|0;H=Ga+640|0;I=Ga+600|0;ta=Ga+616|0;W=Ga+576|0;O=Ga+504|0;L=Ga+496|0;S=Ga+472|0;R=Ga+416|0;ja=Ga+552|0;aa=Ga+368|0;$=Ga+360|0;ia=Ga+336|0;ea=Ga+328|0;pa=Ga+528|0;ma=Ga+304|0;oa=Ga+280|0;na=Ga+276|0;N=Ga+16|0;X=Ga;J=Ga+264|0;ka=Ga+448|0;_=Ga+424|0;Q=Ga+240|0;P=Ga+232|0;V=Ga+208|0;T=Ga+200|0;ha=Ga+392|0;ba=Ga+176|0;da=Ga+152|0;ca=Ga+144|0;K=Ga+120|0;A=Ga+108|0;q=Ga+96|0;LC(Ia);x=0;ra(335,Ja|0);Fa=x;x=0;if(Fa&1)g=mb()|0;else{x=0;sa(525,b|0,Ia|0);Fa=x;x=0;a:do if(Fa&1)Ha=16;else{x=0;sa(525,c|0,Ja|0);Fa=x;x=0;if(Fa&1)Ha=16;else{F=Ia+16|0;f=k[F>>2]|0;Fa=Ia+20|0;h=k[Fa>>2]|0;i=(h|0)==0;if(!i)c3(h);do if(!(k[f+20>>2]|0)){f=k[Ja+16>>2]|0;g=k[Ja+20>>2]|0;if(!g){f=(k[f+20>>2]|0)==0;break}else{c3(g);f=(k[f+20>>2]|0)==0;CQ(g);break}}else f=0;while(0);if(!i)CQ(h);b:do if(f){k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[a+16>>2]=k[e+16>>2];f=k[e+20>>2]|0;k[a+20>>2]=f;if(f|0)c3(f)}else{f=k[F>>2]|0;h=k[Fa>>2]|0;i=(h|0)==0;if(!i)c3(h);do if((k[f+20>>2]|0)>>>0>1)f=1;else{f=k[Ja+16>>2]|0;g=k[Ja+20>>2]|0;if(!g){f=(k[f+20>>2]|0)>>>0>1;break}else{c3(g);f=(k[f+20>>2]|0)>>>0>1;CQ(g);break}}while(0);if(!i)CQ(h);if(f){x=0;qa(8,G|0,Ia|0,Ja|0,j|0,d|0);c=x;x=0;if(c&1){Ha=16;break a}x=0;f=Ka(888,G|0,Ia|0)|0;c=x;x=0;c:do if(c&1)Ha=32;else{do if(f)Ha=33;else{x=0;f=Ka(888,G|0,Ja|0)|0;c=x;x=0;if(c&1){Ha=32;break c}if(f){Ha=33;break}x=0;ra(338,a|0);a=x;x=0;if(a&1){Ha=32;break c}}while(0);do if((Ha|0)==33){f=k[F>>2]|0;h=k[Fa>>2]|0;i=(h|0)==0;if(!i)c3(h);j=k[f+20>>2]|0;l=Ja+16|0;f=k[l>>2]|0;m=Ja+20|0;g=k[m>>2]|0;if(!g)f=k[f+20>>2]|0;else{c3(g);f=k[f+20>>2]|0;CQ(g)}if(!i)CQ(h);q=e+16|0;g=k[q>>2]|0;s=e+20|0;t=k[s>>2]|0;u=(t|0)==0;do if(j>>>0>f>>>0){do if(u){f=g;h=0;p=1}else{c3(t);h=k[s>>2]|0;f=k[q>>2]|0;if(!h){h=0;p=1;break}c3(h);p=0}while(0);b=f;c=k[b+4>>2]|0;f=k[b+16>>2]|0;i=c+(((f>>>0)/170|0)<<2)|0;if((k[b+8>>2]|0)==(c|0))f=0;else f=(k[i>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[v>>2]=i;k[v+4>>2]=f;f=k[F>>2]|0;n=k[Fa>>2]|0;o=(n|0)==0;if(!o)c3(n);i=(k[f+16>>2]|0)+(k[f+20>>2]|0)|0;c=k[f+4>>2]|0;j=c+(((i>>>0)/170|0)<<2)|0;if((k[f+8>>2]|0)==(c|0))f=0;else f=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;l=j;k[w>>2]=l;k[w+4>>2]=f;k[w+8>>2]=l;k[w+12>>2]=f;f=k[F>>2]|0;l=k[Fa>>2]|0;m=(l|0)==0;if(!m)c3(l);c=k[f+4>>2]|0;i=k[f+16>>2]|0;j=c+(((i>>>0)/170|0)<<2)|0;if((k[f+8>>2]|0)==(c|0))f=0;else f=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;c=j;k[y>>2]=c;k[y+4>>2]=f;k[y+8>>2]=c;k[y+12>>2]=f;x=0;k[ua>>2]=k[v>>2];k[ua+4>>2]=k[v+4>>2];k[Z>>2]=k[w>>2];k[Z+4>>2]=k[w+4>>2];k[Z+8>>2]=k[w+8>>2];k[Z+12>>2]=k[w+12>>2];k[Y>>2]=k[y>>2];k[Y+4>>2]=k[y+4>>2];k[Y+8>>2]=k[y+8>>2];k[Y+12>>2]=k[y+12>>2];Ba(13,z|0,g|0,ua|0,Z|0,Y|0,0);c=x;x=0;if(c&1){g=mb()|0;if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(u)break c;CQ(t);break c}else{if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(u)break;CQ(t);break}}else{do if(u){f=g;h=0;p=1}else{c3(t);h=k[s>>2]|0;f=k[q>>2]|0;if(!h){h=0;p=1;break}c3(h);p=0}while(0);b=f;c=k[b+4>>2]|0;f=k[b+16>>2]|0;i=c+(((f>>>0)/170|0)<<2)|0;if((k[b+8>>2]|0)==(c|0))f=0;else f=(k[i>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[B>>2]=i;k[B+4>>2]=f;f=k[l>>2]|0;n=k[m>>2]|0;o=(n|0)==0;if(!o)c3(n);i=(k[f+16>>2]|0)+(k[f+20>>2]|0)|0;c=k[f+4>>2]|0;j=c+(((i>>>0)/170|0)<<2)|0;if((k[f+8>>2]|0)==(c|0))f=0;else f=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;i=j;k[C>>2]=i;k[C+4>>2]=f;k[C+8>>2]=i;k[C+12>>2]=f;i=k[l>>2]|0;l=k[m>>2]|0;m=(l|0)==0;if(!m)c3(l);c=k[i+4>>2]|0;f=k[i+16>>2]|0;j=c+(((f>>>0)/170|0)<<2)|0;if((k[i+8>>2]|0)==(c|0))f=0;else f=(k[j>>2]|0)+(((f>>>0)%170|0)*24|0)|0;c=j;k[D>>2]=c;k[D+4>>2]=f;k[D+8>>2]=c;k[D+12>>2]=f;x=0;k[ua>>2]=k[B>>2];k[ua+4>>2]=k[B+4>>2];k[Z>>2]=k[C>>2];k[Z+4>>2]=k[C+4>>2];k[Z+8>>2]=k[C+8>>2];k[Z+12>>2]=k[C+12>>2];k[Y>>2]=k[D>>2];k[Y+4>>2]=k[D+4>>2];k[Y+8>>2]=k[D+8>>2];k[Y+12>>2]=k[D+12>>2];Ba(13,E|0,g|0,ua|0,Z|0,Y|0,0);c=x;x=0;if(c&1){g=mb()|0;if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(u)break c;CQ(t);break c}else{if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(u)break;CQ(t);break}}while(0);k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[a+16>>2]=k[q>>2];f=k[s>>2]|0;k[a+20>>2]=f;if(!f)break;c3(f)}while(0);f=k[G+20>>2]|0;if(f|0)CQ(f);break b}while(0);if((Ha|0)==32)g=mb()|0;f=k[G+20>>2]|0;if(!f)break a;CQ(f);break a}f=k[F>>2]|0;h=k[Fa>>2]|0;i=(h|0)==0;if(!i)c3(h);do if(!(k[f+20>>2]|0))f=0;else{f=k[Ja+16>>2]|0;g=k[Ja+20>>2]|0;if(!g){f=(k[f+20>>2]|0)!=0;break}else{c3(g);f=(k[f+20>>2]|0)!=0;CQ(g);break}}while(0);if(!i)CQ(h);if(!f){f=k[F>>2]|0;g=k[Fa>>2]|0;do if(!g){if(k[f+20>>2]|0){g=0;h=1;Ha=855}}else{c3(g);Ea=(k[f+20>>2]|0)==0;CQ(g);if(Ea)break;f=k[F>>2]|0;g=k[Fa>>2]|0;if(!g){g=0;h=1;Ha=855;break}c3(g);h=0;Ha=855}while(0);if((Ha|0)==855){y=k[f+16>>2]|0;t=k[(k[f+4>>2]|0)+(((y>>>0)/170|0)<<2)>>2]|0;y=(y>>>0)%170|0;y=t+(y*24|0)|0;t=y|0;s=k[t>>2]|0;t=k[t+4>>2]|0;u=k[y+8>>2]|0;v=k[y+12>>2]|0;w=k[y+16>>2]|0;y=k[y+20>>2]|0;z=(y|0)==0;if(!z)c3(y);if(!h)CQ(g);d:do if((u|0)==1){f=c+16|0;g=k[f>>2]|0;n=c+20|0;o=k[n>>2]|0;p=(o|0)==0;if(!p)c3(o);e:do if(!(k[g+20>>2]|0))f=0;else{f=k[f>>2]|0;l=k[n>>2]|0;m=(l|0)==0;if(!m)c3(l);g=(k[f+20>>2]|0)+-1+(k[f+16>>2]|0)|0;g=k[(k[(k[f+4>>2]|0)+(((g>>>0)/170|0)<<2)>>2]|0)+(((g>>>0)%170|0)*24|0)+12>>2]|0;h=k[(k[g>>2]|0)+112>>2]|0;f=k[b+16>>2]|0;i=k[b+20>>2]|0;j=(i|0)==0;if(!j)c3(i);Ea=(k[f+20>>2]|0)+-1+(k[f+16>>2]|0)|0;f=k[(k[(k[f+4>>2]|0)+(((Ea>>>0)/170|0)<<2)>>2]|0)+(((Ea>>>0)%170|0)*24|0)+12>>2]|0;x=0;Qa(74,A|0,78097,0);Ea=x;x=0;do if(Ea&1)g=mb()|0;else{x=0;f=xa(h|0,g|0,f|0,A|0)|0;Ea=x;x=0;if(Ea&1){g=mb()|0;P1(A);break}P1(A);if(!j)CQ(i);if(m)break e;CQ(l);break e}while(0);if(!j)CQ(i);if(!m)CQ(l);if(p)break d;CQ(o);break d}while(0);if(p){if(!f){Ha=894;break}}else{CQ(o);if(!f){Ha=894;break}}o=k[c+16>>2]|0;p=k[n>>2]|0;q=(p|0)==0;if(!q)c3(p);m=o+20|0;f=k[m>>2]|0;l=o+16|0;h=k[l>>2]|0;g=f+-1+h|0;i=o+4|0;j=k[i>>2]|0;g=k[(k[j+(((g>>>0)/170|0)<<2)>>2]|0)+(((g>>>0)%170|0)*24|0)+20>>2]|0;if(!g)n=f;else{CQ(g);n=k[m>>2]|0;j=k[i>>2]|0;h=k[l>>2]|0}k[m>>2]=n+-1;f=o+8|0;g=k[f>>2]|0;Ha=g-j>>2;if((1-n-h+((Ha|0)==0?0:(Ha*170|0)+-1|0)|0)>>>0>339){uha(k[g+-4>>2]|0);k[f>>2]=(k[f>>2]|0)+-4}if(q){Ha=894;break}CQ(p);Ha=894}else Ha=894;while(0);f:do if((Ha|0)==894){i=e+16|0;j=k[i>>2]|0;m=e+20|0;n=k[m>>2]|0;o=(n|0)==0;if(!o)c3(n);l=j+16|0;f=k[l>>2]|0;do if(!f){x=0;ra(337,j|0);Ea=x;x=0;if(!(Ea&1)){f=k[l>>2]|0;break}g=mb()|0;if(o)break f;CQ(n);break f}while(0);Ea=k[j+4>>2]|0;h=Ea+(((f>>>0)/170|0)<<2)|0;g=k[h>>2]|0;if((k[j+8>>2]|0)==(Ea|0))f=0;else f=g+(((f>>>0)%170|0)*24|0)|0;if((f|0)==(g|0))f=(k[h+-4>>2]|0)+4080|0;Ea=f+-24|0;k[Ea>>2]=s;k[Ea+4>>2]=t;k[f+-16>>2]=u;k[f+-12>>2]=v;k[f+-8>>2]=w;k[f+-4>>2]=y;if(!z)c3(y);k[l>>2]=(k[l>>2]|0)+-1;Ea=j+20|0;k[Ea>>2]=(k[Ea>>2]|0)+1;if(!o)CQ(n);o=k[i>>2]|0;p=k[m>>2]|0;q=(p|0)==0;if(!q)c3(p);n=b+16|0;f=k[n>>2]|0;s=b+20|0;t=k[s>>2]|0;u=(t|0)==0;if(!u)c3(t);l=(k[f+20>>2]|0)+-1+(k[f+16>>2]|0)|0;j=k[(k[f+4>>2]|0)+(((l>>>0)/170|0)<<2)>>2]|0;l=(l>>>0)%170|0;m=o+16|0;f=k[m>>2]|0;do if(!f){x=0;ra(337,o|0);Ea=x;x=0;if(!(Ea&1)){f=k[m>>2]|0;break}g=mb()|0;if(!u)CQ(t);if(q)break f;CQ(p);break f}while(0);Ea=k[o+4>>2]|0;i=Ea+(((f>>>0)/170|0)<<2)|0;h=k[i>>2]|0;if((k[o+8>>2]|0)==(Ea|0))g=0;else g=h+(((f>>>0)%170|0)*24|0)|0;if((g|0)==(h|0))g=(k[i+-4>>2]|0)+4080|0;Ea=g+-24|0;f=j+(l*24|0)|0;Da=f|0;k[Ea>>2]=k[Da>>2];k[Ea+4>>2]=k[Da+4>>2];k[Ea+8>>2]=k[Da+8>>2];k[Ea+12>>2]=k[Da+12>>2];k[g+-8>>2]=k[f+16>>2];f=k[f+20>>2]|0;k[g+-4>>2]=f;if(f|0)c3(f);k[m>>2]=(k[m>>2]|0)+-1;Ea=o+20|0;k[Ea>>2]=(k[Ea>>2]|0)+1;if(!u)CQ(t);if(!q)CQ(p);o=k[n>>2]|0;p=k[s>>2]|0;q=(p|0)==0;if(!q)c3(p);m=o+20|0;f=k[m>>2]|0;l=o+16|0;h=k[l>>2]|0;g=f+-1+h|0;i=o+4|0;j=k[i>>2]|0;g=k[(k[j+(((g>>>0)/170|0)<<2)>>2]|0)+(((g>>>0)%170|0)*24|0)+20>>2]|0;if(!g)n=f;else{CQ(g);n=k[m>>2]|0;j=k[i>>2]|0;h=k[l>>2]|0}k[m>>2]=n+-1;f=o+8|0;g=k[f>>2]|0;Ea=g-j>>2;if((1-n-h+((Ea|0)==0?0:(Ea*170|0)+-1|0)|0)>>>0>339){uha(k[g+-4>>2]|0);k[f>>2]=(k[f>>2]|0)+-4}if(!q)CQ(p);x=0;qa(9,a|0,b|0,c|0,d|0,e|0);a=x;x=0;if(a&1){g=mb()|0;break}if(z)break b;CQ(y);break b}while(0);if(z)break a;CQ(y);break a}f=k[Ja+16>>2]|0;g=k[Ja+20>>2]|0;h=(g|0)==0;if(!h)c3(g);y=k[f+16>>2]|0;t=k[(k[f+4>>2]|0)+(((y>>>0)/170|0)<<2)>>2]|0;y=(y>>>0)%170|0;y=t+(y*24|0)|0;t=y|0;s=k[t>>2]|0;t=k[t+4>>2]|0;u=k[y+8>>2]|0;v=k[y+12>>2]|0;w=k[y+16>>2]|0;y=k[y+20>>2]|0;z=(y|0)==0;if(!z)c3(y);if(!h)CQ(g);g:do if((u|0)==1){f=b+16|0;g=k[f>>2]|0;n=b+20|0;o=k[n>>2]|0;p=(o|0)==0;if(!p)c3(o);h:do if(!(k[g+20>>2]|0))f=0;else{f=k[f>>2]|0;l=k[n>>2]|0;m=(l|0)==0;if(!m)c3(l);g=(k[f+20>>2]|0)+-1+(k[f+16>>2]|0)|0;g=k[(k[(k[f+4>>2]|0)+(((g>>>0)/170|0)<<2)>>2]|0)+(((g>>>0)%170|0)*24|0)+12>>2]|0;h=k[(k[g>>2]|0)+112>>2]|0;f=k[c+16>>2]|0;i=k[c+20>>2]|0;j=(i|0)==0;if(!j)c3(i);Ea=(k[f+20>>2]|0)+-1+(k[f+16>>2]|0)|0;f=k[(k[(k[f+4>>2]|0)+(((Ea>>>0)/170|0)<<2)>>2]|0)+(((Ea>>>0)%170|0)*24|0)+12>>2]|0;x=0;Qa(74,q|0,78097,0);Ea=x;x=0;do if(Ea&1)g=mb()|0;else{x=0;f=xa(h|0,g|0,f|0,q|0)|0;Ea=x;x=0;if(Ea&1){g=mb()|0;P1(q);break}P1(q);if(!j)CQ(i);if(m)break h;CQ(l);break h}while(0);if(!j)CQ(i);if(!m)CQ(l);if(p)break g;CQ(o);break g}while(0);if(p){if(!f){Ha=985;break}}else{CQ(o);if(!f){Ha=985;break}}o=k[b+16>>2]|0;p=k[n>>2]|0;q=(p|0)==0;if(!q)c3(p);m=o+20|0;f=k[m>>2]|0;l=o+16|0;h=k[l>>2]|0;g=f+-1+h|0;i=o+4|0;j=k[i>>2]|0;g=k[(k[j+(((g>>>0)/170|0)<<2)>>2]|0)+(((g>>>0)%170|0)*24|0)+20>>2]|0;if(!g)n=f;else{CQ(g);n=k[m>>2]|0;j=k[i>>2]|0;h=k[l>>2]|0}k[m>>2]=n+-1;f=o+8|0;g=k[f>>2]|0;Ha=g-j>>2;if((1-n-h+((Ha|0)==0?0:(Ha*170|0)+-1|0)|0)>>>0>339){uha(k[g+-4>>2]|0);k[f>>2]=(k[f>>2]|0)+-4}if(q){Ha=985;break}CQ(p);Ha=985}else Ha=985;while(0);i:do if((Ha|0)==985){i=e+16|0;j=k[i>>2]|0;m=e+20|0;n=k[m>>2]|0;o=(n|0)==0;if(!o)c3(n);l=j+16|0;f=k[l>>2]|0;do if(!f){x=0;ra(337,j|0);Ea=x;x=0;if(!(Ea&1)){f=k[l>>2]|0;break}g=mb()|0;if(o)break i;CQ(n);break i}while(0);Ea=k[j+4>>2]|0;h=Ea+(((f>>>0)/170|0)<<2)|0;g=k[h>>2]|0;if((k[j+8>>2]|0)==(Ea|0))f=0;else f=g+(((f>>>0)%170|0)*24|0)|0;if((f|0)==(g|0))f=(k[h+-4>>2]|0)+4080|0;Ea=f+-24|0;k[Ea>>2]=s;k[Ea+4>>2]=t;k[f+-16>>2]=u;k[f+-12>>2]=v;k[f+-8>>2]=w;k[f+-4>>2]=y;if(!z)c3(y);k[l>>2]=(k[l>>2]|0)+-1;Ea=j+20|0;k[Ea>>2]=(k[Ea>>2]|0)+1;if(!o)CQ(n);o=k[i>>2]|0;p=k[m>>2]|0;q=(p|0)==0;if(!q)c3(p);n=c+16|0;f=k[n>>2]|0;s=c+20|0;t=k[s>>2]|0;u=(t|0)==0;if(!u)c3(t);l=(k[f+20>>2]|0)+-1+(k[f+16>>2]|0)|0;j=k[(k[f+4>>2]|0)+(((l>>>0)/170|0)<<2)>>2]|0;l=(l>>>0)%170|0;m=o+16|0;f=k[m>>2]|0;do if(!f){x=0;ra(337,o|0);Ea=x;x=0;if(!(Ea&1)){f=k[m>>2]|0;break}g=mb()|0;if(!u)CQ(t);if(q)break i;CQ(p);break i}while(0);Ea=k[o+4>>2]|0;i=Ea+(((f>>>0)/170|0)<<2)|0;h=k[i>>2]|0;if((k[o+8>>2]|0)==(Ea|0))g=0;else g=h+(((f>>>0)%170|0)*24|0)|0;if((g|0)==(h|0))g=(k[i+-4>>2]|0)+4080|0;Ea=g+-24|0;f=j+(l*24|0)|0;Da=f|0;k[Ea>>2]=k[Da>>2];k[Ea+4>>2]=k[Da+4>>2];k[Ea+8>>2]=k[Da+8>>2];k[Ea+12>>2]=k[Da+12>>2];k[g+-8>>2]=k[f+16>>2];f=k[f+20>>2]|0;k[g+-4>>2]=f;if(f|0)c3(f);k[m>>2]=(k[m>>2]|0)+-1;Ea=o+20|0;k[Ea>>2]=(k[Ea>>2]|0)+1;if(!u)CQ(t);if(!q)CQ(p);o=k[n>>2]|0;p=k[s>>2]|0;q=(p|0)==0;if(!q)c3(p);m=o+20|0;f=k[m>>2]|0;l=o+16|0;h=k[l>>2]|0;g=f+-1+h|0;i=o+4|0;j=k[i>>2]|0;g=k[(k[j+(((g>>>0)/170|0)<<2)>>2]|0)+(((g>>>0)%170|0)*24|0)+20>>2]|0;if(!g)n=f;else{CQ(g);n=k[m>>2]|0;j=k[i>>2]|0;h=k[l>>2]|0}k[m>>2]=n+-1;f=o+8|0;g=k[f>>2]|0;Ea=g-j>>2;if((1-n-h+((Ea|0)==0?0:(Ea*170|0)+-1|0)|0)>>>0>339){uha(k[g+-4>>2]|0);k[f>>2]=(k[f>>2]|0)+-4}if(!q)CQ(p);x=0;qa(9,a|0,b|0,c|0,d|0,e|0);a=x;x=0;if(a&1){g=mb()|0;break}if(z)break b;CQ(y);break b}while(0);if(z)break a;CQ(y);break a}f=k[F>>2]|0;g=k[Fa>>2]|0;h=(g|0)==0;if(!h)c3(g);Da=k[f+16>>2]|0;w=k[(k[f+4>>2]|0)+(((Da>>>0)/170|0)<<2)>>2]|0;Da=(Da>>>0)%170|0;Da=w+(Da*24|0)|0;w=Da|0;y=k[w>>2]|0;w=k[w+4>>2]|0;v=Y;k[v>>2]=y;k[v+4>>2]=w;v=k[Da+8>>2]|0;t=k[Da+12>>2]|0;U=k[Da+16>>2]|0;Da=k[Da+20>>2]|0;Ea=(Da|0)==0;if(!Ea)c3(Da);if(!h)CQ(g);f=k[Ja+16>>2]|0;g=k[Ja+20>>2]|0;h=(g|0)==0;if(!h)c3(g);Aa=k[f+16>>2]|0;A=k[(k[f+4>>2]|0)+(((Aa>>>0)/170|0)<<2)>>2]|0;Aa=(Aa>>>0)%170|0;Aa=A+(Aa*24|0)|0;A=Aa|0;z=k[A>>2]|0;A=k[A+4>>2]|0;B=Z;k[B>>2]=z;k[B+4>>2]=A;B=k[Aa+8>>2]|0;G=k[Aa+12>>2]|0;M=k[Aa+16>>2]|0;Aa=k[Aa+20>>2]|0;Ca=(Aa|0)==0;if(!Ca)c3(Aa);if(!h)CQ(g);E=b+16|0;f=k[E>>2]|0;F=b+20|0;g=k[F>>2]|0;h=(g|0)==0;if(!h)c3(g);ya=(k[f+20>>2]|0)+-1+(k[f+16>>2]|0)|0;u=k[(k[f+4>>2]|0)+(((ya>>>0)/170|0)<<2)>>2]|0;ya=(ya>>>0)%170|0;ya=u+(ya*24|0)|0;u=ya|0;k[ua>>2]=k[u>>2];k[ua+4>>2]=k[u+4>>2];k[ua+8>>2]=k[u+8>>2];u=k[ya+12>>2]|0;s=k[ya+16>>2]|0;ya=k[ya+20>>2]|0;za=(ya|0)==0;if(!za)c3(ya);if(!h)CQ(g);m=k[E>>2]|0;p=k[F>>2]|0;q=(p|0)==0;if(!q)c3(p);n=m+20|0;f=k[n>>2]|0;l=m+16|0;h=k[l>>2]|0;g=f+-1+h|0;i=m+4|0;j=k[i>>2]|0;g=k[(k[j+(((g>>>0)/170|0)<<2)>>2]|0)+(((g>>>0)%170|0)*24|0)+20>>2]|0;if(!g)o=f;else{CQ(g);o=k[n>>2]|0;j=k[i>>2]|0;h=k[l>>2]|0}k[n>>2]=o+-1;f=m+8|0;g=k[f>>2]|0;wa=g-j>>2;if((1-o-h+((wa|0)==0?0:(wa*170|0)+-1|0)|0)>>>0>339){uha(k[g+-4>>2]|0);k[f>>2]=(k[f>>2]|0)+-4}if(!q)CQ(p);C=c+16|0;f=k[C>>2]|0;D=c+20|0;g=k[D>>2]|0;h=(g|0)==0;if(!h)c3(g);va=(k[f+20>>2]|0)+-1+(k[f+16>>2]|0)|0;fa=k[(k[f+4>>2]|0)+(((va>>>0)/170|0)<<2)>>2]|0;va=(va>>>0)%170|0;va=fa+(va*24|0)|0;fa=va|0;k[la>>2]=k[fa>>2];k[la+4>>2]=k[fa+4>>2];k[la+8>>2]=k[fa+8>>2];fa=k[va+12>>2]|0;ga=k[va+16>>2]|0;va=k[va+20>>2]|0;wa=(va|0)==0;if(!wa)c3(va);if(!h)CQ(g);m=k[C>>2]|0;p=k[D>>2]|0;q=(p|0)==0;if(!q)c3(p);n=m+20|0;f=k[n>>2]|0;l=m+16|0;h=k[l>>2]|0;g=f+-1+h|0;i=m+4|0;j=k[i>>2]|0;g=k[(k[j+(((g>>>0)/170|0)<<2)>>2]|0)+(((g>>>0)%170|0)*24|0)+20>>2]|0;if(!g)o=f;else{CQ(g);o=k[n>>2]|0;j=k[i>>2]|0;h=k[l>>2]|0}k[n>>2]=o+-1;f=m+8|0;g=k[f>>2]|0;n=g-j>>2;if((1-o-h+((n|0)==0?0:(n*170|0)+-1|0)|0)>>>0>339){uha(k[g+-4>>2]|0);k[f>>2]=(k[f>>2]|0)+-4}if(!q)CQ(p);j=(v|0)==2;j:do if(j){switch(B|0){case 3:{Ha=458;break j}case 2:break;default:{f=0;Ha=739;break j}}f=k[(k[u>>2]|0)+112>>2]|0;x=0;Qa(74,H|0,78097,0);ka=x;x=0;if(ka&1){Ha=192;break}x=0;f=xa(f|0,u|0,fa|0,H|0)|0;ka=x;x=0;if(ka&1){g=mb()|0;P1(H);break}P1(H);if(f){i=e+16|0;j=k[i>>2]|0;m=e+20|0;n=k[m>>2]|0;o=(n|0)==0;if(!o)c3(n);l=j+16|0;f=k[l>>2]|0;do if(!f){x=0;ra(337,j|0);ua=x;x=0;if(!(ua&1)){f=k[l>>2]|0;break}g=mb()|0;if(o)break j;CQ(n);break j}while(0);ua=k[j+4>>2]|0;h=ua+(((f>>>0)/170|0)<<2)|0;g=k[h>>2]|0;if((k[j+8>>2]|0)==(ua|0))f=0;else f=g+(((f>>>0)%170|0)*24|0)|0;if((f|0)==(g|0))f=(k[h+-4>>2]|0)+4080|0;ua=f+-24|0;k[ua>>2]=y;k[ua+4>>2]=w;k[f+-16>>2]=2;k[f+-12>>2]=t;k[f+-8>>2]=U;k[f+-4>>2]=Da;if(!Ea)c3(Da);k[l>>2]=(k[l>>2]|0)+-1;ua=j+20|0;k[ua>>2]=(k[ua>>2]|0)+1;if(!o)CQ(n);j=k[i>>2]|0;l=k[m>>2]|0;m=(l|0)==0;if(!m)c3(l);i=j+16|0;f=k[i>>2]|0;do if(!f){x=0;ra(337,j|0);ua=x;x=0;if(!(ua&1)){f=k[i>>2]|0;break}g=mb()|0;if(m)break j;CQ(l);break j}while(0);Ha=k[j+4>>2]|0;h=Ha+(((f>>>0)/170|0)<<2)|0;g=k[h>>2]|0;if((k[j+8>>2]|0)==(Ha|0))f=0;else f=g+(((f>>>0)%170|0)*24|0)|0;if((f|0)==(g|0))f=(k[h+-4>>2]|0)+4080|0;Ha=f+-24|0;k[Ha>>2]=k[la>>2];k[Ha+4>>2]=k[la+4>>2];k[Ha+8>>2]=k[la+8>>2];k[f+-12>>2]=fa;k[f+-8>>2]=ga;k[f+-4>>2]=va;if(!wa)c3(va);k[i>>2]=(k[i>>2]|0)+-1;Ha=j+20|0;k[Ha>>2]=(k[Ha>>2]|0)+1;if(m){Ha=832;break}CQ(l);Ha=832;break}f=k[(k[fa>>2]|0)+112>>2]|0;x=0;Qa(74,I|0,78097,0);ka=x;x=0;if(ka&1){Ha=192;break}x=0;f=xa(f|0,fa|0,u|0,I|0)|0;ka=x;x=0;if(ka&1){g=mb()|0;P1(I);break}P1(I);if(f){i=e+16|0;j=k[i>>2]|0;m=e+20|0;n=k[m>>2]|0;o=(n|0)==0;if(!o)c3(n);l=j+16|0;f=k[l>>2]|0;do if(!f){x=0;ra(337,j|0);ta=x;x=0;if(!(ta&1)){f=k[l>>2]|0;break}g=mb()|0;if(o)break j;CQ(n);break j}while(0);ta=k[j+4>>2]|0;h=ta+(((f>>>0)/170|0)<<2)|0;g=k[h>>2]|0;if((k[j+8>>2]|0)==(ta|0))f=0;else f=g+(((f>>>0)%170|0)*24|0)|0;if((f|0)==(g|0))f=(k[h+-4>>2]|0)+4080|0;ta=f+-24|0;k[ta>>2]=y;k[ta+4>>2]=w;k[f+-16>>2]=2;k[f+-12>>2]=t;k[f+-8>>2]=U;k[f+-4>>2]=Da;if(!Ea)c3(Da);k[l>>2]=(k[l>>2]|0)+-1;ta=j+20|0;k[ta>>2]=(k[ta>>2]|0)+1;if(!o)CQ(n);j=k[i>>2]|0;l=k[m>>2]|0;m=(l|0)==0;if(!m)c3(l);i=j+16|0;f=k[i>>2]|0;do if(!f){x=0;ra(337,j|0);ta=x;x=0;if(!(ta&1)){f=k[i>>2]|0;break}g=mb()|0;if(m)break j;CQ(l);break j}while(0);Ha=k[j+4>>2]|0;h=Ha+(((f>>>0)/170|0)<<2)|0;g=k[h>>2]|0;if((k[j+8>>2]|0)==(Ha|0))f=0;else f=g+(((f>>>0)%170|0)*24|0)|0;if((f|0)==(g|0))f=(k[h+-4>>2]|0)+4080|0;Ha=f+-24|0;k[Ha>>2]=k[ua>>2];k[Ha+4>>2]=k[ua+4>>2];k[Ha+8>>2]=k[ua+8>>2];k[f+-12>>2]=u;k[f+-8>>2]=s;k[f+-4>>2]=ya;if(!za)c3(ya);k[i>>2]=(k[i>>2]|0)+-1;Ha=j+20|0;k[Ha>>2]=(k[Ha>>2]|0)+1;if(m){Ha=832;break}CQ(l);Ha=832;break}x=0;A=Ka(890,u|0,d|0)|0;ka=x;x=0;if(ka&1){Ha=192;break}x=0;z=xa(57,k[u+72>>2]|0,k[fa+72>>2]|0,d|0)|0;ka=x;x=0;if(ka&1){Ha=192;break}k[A+72>>2]=z;x=0;ra(335,ta|0);ka=x;x=0;if(ka&1){Ha=192;break}x=0;ra(335,W|0);ka=x;x=0;do if(ka&1)g=mb()|0;else{t=W+16|0;f=k[t>>2]|0;B=W+20|0;p=k[B>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;ka=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((ka|0)==0?0:(ka*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);ka=x;x=0;if(!(ka&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;Ha=241;break}g=mb()|0;if(q)break;CQ(p)}else{f=l;Ha=241}while(0);k:do if((Ha|0)==241){f=i+f|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[ua>>2];k[f+4>>2]=k[ua+4>>2];k[f+8>>2]=k[ua+8>>2];k[f+12>>2]=u;k[f+16>>2]=s;k[f+20>>2]=ya;if(!za)c3(ya);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);j=k[t>>2]|0;p=k[B>>2]|0;q=(p|0)==0;if(!q)c3(p);k[L>>2]=2;x=0;sa(526,O|0,L|0);ka=x;x=0;l:do if(ka&1)g=mb()|0;else{m=j+8|0;h=k[m>>2]|0;n=j+4|0;g=k[n>>2]|0;ka=h-g>>2;l=j+16|0;i=k[l>>2]|0;o=j+20|0;f=k[o>>2]|0;do if((((ka|0)==0?0:(ka*170|0)+-1|0)|0)==(f+i|0)){x=0;ra(336,j|0);ka=x;x=0;if(!(ka&1)){f=k[o>>2]|0;i=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;f=k[O+20>>2]|0;if(!f)break l;CQ(f);break l}while(0);f=f+i|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[O>>2];k[f+4>>2]=k[O+4>>2];k[f+8>>2]=k[O+8>>2];k[f+12>>2]=k[O+12>>2];ha=O+16|0;k[f+16>>2]=k[ha>>2];ka=O+20|0;k[f+20>>2]=k[ka>>2];k[ha>>2]=0;k[ka>>2]=0;k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);f=k[t>>2]|0;p=k[B>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;ka=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((ka|0)==0?0:(ka*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);ka=x;x=0;if(!(ka&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;if(q)break k;CQ(p);break k}else f=l;while(0);f=i+f|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[la>>2];k[f+4>>2]=k[la+4>>2];k[f+8>>2]=k[la+8>>2];k[f+12>>2]=fa;k[f+16>>2]=ga;k[f+20>>2]=va;if(!wa)c3(va);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);j=k[t>>2]|0;p=k[B>>2]|0;q=(p|0)==0;if(!q)c3(p);k[R>>2]=2;x=0;sa(526,S|0,R|0);ka=x;x=0;m:do if(ka&1)g=mb()|0;else{m=j+8|0;h=k[m>>2]|0;n=j+4|0;g=k[n>>2]|0;ka=h-g>>2;l=j+16|0;i=k[l>>2]|0;o=j+20|0;f=k[o>>2]|0;do if((((ka|0)==0?0:(ka*170|0)+-1|0)|0)==(f+i|0)){x=0;ra(336,j|0);ka=x;x=0;if(!(ka&1)){f=k[o>>2]|0;i=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;f=k[S+20>>2]|0;if(!f)break m;CQ(f);break m}while(0);f=f+i|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[S>>2];k[f+4>>2]=k[S+4>>2];k[f+8>>2]=k[S+8>>2];k[f+12>>2]=k[S+12>>2];ha=S+16|0;k[f+16>>2]=k[ha>>2];ka=S+20|0;k[f+20>>2]=k[ka>>2];k[ha>>2]=0;k[ka>>2]=0;k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);v=ta+16|0;f=k[v>>2]|0;y=ta+20|0;p=k[y>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;ka=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((ka|0)==0?0:(ka*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);ka=x;x=0;if(!(ka&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;if(q)break k;CQ(p);break k}else f=l;while(0);f=i+f|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[g>>2]=k[W>>2];k[g+4>>2]=k[W+4>>2];k[g+8>>2]=k[W+8>>2];k[g+12>>2]=k[W+12>>2];k[g+16>>2]=k[t>>2];f=k[B>>2]|0;k[g+20>>2]=f;if(f|0)c3(f);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);x=0;ra(335,ja|0);ka=x;x=0;if(ka&1){g=mb()|0;break k}t=ja+16|0;f=k[t>>2]|0;w=ja+20|0;p=k[w>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;ka=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((ka|0)==0?0:(ka*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);ka=x;x=0;if(!(ka&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;Ha=295;break}g=mb()|0;if(q)break;CQ(p)}else{f=l;Ha=295}while(0);n:do if((Ha|0)==295){f=i+f|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[la>>2];k[f+4>>2]=k[la+4>>2];k[f+8>>2]=k[la+8>>2];k[f+12>>2]=fa;k[f+16>>2]=ga;k[f+20>>2]=va;if(!wa)c3(va);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);j=k[t>>2]|0;p=k[w>>2]|0;q=(p|0)==0;if(!q)c3(p);k[$>>2]=2;x=0;sa(526,aa|0,$|0);la=x;x=0;o:do if(la&1)g=mb()|0;else{m=j+8|0;h=k[m>>2]|0;n=j+4|0;g=k[n>>2]|0;la=h-g>>2;l=j+16|0;i=k[l>>2]|0;o=j+20|0;f=k[o>>2]|0;do if((((la|0)==0?0:(la*170|0)+-1|0)|0)==(f+i|0)){x=0;ra(336,j|0);la=x;x=0;if(!(la&1)){f=k[o>>2]|0;i=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;f=k[aa+20>>2]|0;if(!f)break o;CQ(f);break o}while(0);f=f+i|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[aa>>2];k[f+4>>2]=k[aa+4>>2];k[f+8>>2]=k[aa+8>>2];k[f+12>>2]=k[aa+12>>2];ka=aa+16|0;k[f+16>>2]=k[ka>>2];la=aa+20|0;k[f+20>>2]=k[la>>2];k[ka>>2]=0;k[la>>2]=0;k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);h=k[t>>2]|0;p=k[w>>2]|0;q=(p|0)==0;if(!q)c3(p);n=h+8|0;g=k[n>>2]|0;i=h+4|0;j=k[i>>2]|0;la=g-j>>2;m=h+16|0;f=k[m>>2]|0;o=h+20|0;l=k[o>>2]|0;do if((((la|0)==0?0:(la*170|0)+-1|0)|0)==(l+f|0)){x=0;ra(336,h|0);la=x;x=0;if(!(la&1)){j=k[i>>2]|0;h=k[o>>2]|0;f=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;if(q)break n;CQ(p);break n}else h=l;while(0);f=h+f|0;if((g|0)==(j|0))f=0;else f=(k[j+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[ua>>2];k[f+4>>2]=k[ua+4>>2];k[f+8>>2]=k[ua+8>>2];k[f+12>>2]=u;k[f+16>>2]=s;k[f+20>>2]=ya;if(!za)c3(ya);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);j=k[t>>2]|0;p=k[w>>2]|0;q=(p|0)==0;if(!q)c3(p);k[ea>>2]=2;x=0;sa(526,ia|0,ea|0);ua=x;x=0;p:do if(ua&1)g=mb()|0;else{m=j+8|0;h=k[m>>2]|0;n=j+4|0;g=k[n>>2]|0;ua=h-g>>2;l=j+16|0;i=k[l>>2]|0;o=j+20|0;f=k[o>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(f+i|0)){x=0;ra(336,j|0);ua=x;x=0;if(!(ua&1)){f=k[o>>2]|0;i=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;f=k[ia+20>>2]|0;if(!f)break p;CQ(f);break p}while(0);f=f+i|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[ia>>2];k[f+4>>2]=k[ia+4>>2];k[f+8>>2]=k[ia+8>>2];k[f+12>>2]=k[ia+12>>2];la=ia+16|0;k[f+16>>2]=k[la>>2];ua=ia+20|0;k[f+20>>2]=k[ua>>2];k[la>>2]=0;k[ua>>2]=0;k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);f=k[v>>2]|0;p=k[y>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;ua=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);ua=x;x=0;if(!(ua&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;if(q)break n;CQ(p);break n}else f=l;while(0);f=i+f|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[g>>2]=k[ja>>2];k[g+4>>2]=k[ja+4>>2];k[g+8>>2]=k[ja+8>>2];k[g+12>>2]=k[ja+12>>2];k[g+16>>2]=k[t>>2];f=k[w>>2]|0;k[g+20>>2]=f;if(f|0)c3(f);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);q:do if(z|0){x=0;ra(335,pa|0);ua=x;x=0;if(ua&1){g=mb()|0;break n}s=pa+16|0;j=k[s>>2]|0;t=pa+20|0;p=k[t>>2]|0;q=(p|0)==0;if(!q)c3(p);x=0;Qa(131,ma|0,A|0,d|0);ua=x;x=0;r:do if(ua&1){g=mb()|0;Ha=417}else{m=j+8|0;h=k[m>>2]|0;n=j+4|0;g=k[n>>2]|0;ua=h-g>>2;l=j+16|0;i=k[l>>2]|0;o=j+20|0;f=k[o>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(f+i|0)){x=0;ra(336,j|0);ua=x;x=0;if(!(ua&1)){f=k[o>>2]|0;i=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;f=k[ma+20>>2]|0;if(!f){Ha=417;break r}CQ(f);Ha=417;break r}while(0);f=f+i|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[ma>>2];k[f+4>>2]=k[ma+4>>2];k[f+8>>2]=k[ma+8>>2];k[f+12>>2]=k[ma+12>>2];la=ma+16|0;k[f+16>>2]=k[la>>2];ua=ma+20|0;k[f+20>>2]=k[ua>>2];k[la>>2]=0;k[ua>>2]=0;k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);j=k[s>>2]|0;p=k[t>>2]|0;q=(p|0)==0;if(!q)c3(p);k[na>>2]=2;x=0;sa(526,oa|0,na|0);ua=x;x=0;s:do if(ua&1)g=mb()|0;else{m=j+8|0;h=k[m>>2]|0;n=j+4|0;g=k[n>>2]|0;ua=h-g>>2;l=j+16|0;i=k[l>>2]|0;o=j+20|0;f=k[o>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(f+i|0)){x=0;ra(336,j|0);ua=x;x=0;if(!(ua&1)){f=k[o>>2]|0;i=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;f=k[oa+20>>2]|0;if(!f)break s;CQ(f);break s}while(0);f=f+i|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[oa>>2];k[f+4>>2]=k[oa+4>>2];k[f+8>>2]=k[oa+8>>2];k[f+12>>2]=k[oa+12>>2];na=oa+16|0;k[f+16>>2]=k[na>>2];ua=oa+20|0;k[f+20>>2]=k[ua>>2];k[na>>2]=0;k[ua>>2]=0;k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);f=k[v>>2]|0;p=k[y>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;ua=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);ua=x;x=0;if(!(ua&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;if(q)break r;CQ(p);break r}else f=l;while(0);f=i+f|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[g>>2]=k[pa>>2];k[g+4>>2]=k[pa+4>>2];k[g+8>>2]=k[pa+8>>2];k[g+12>>2]=k[pa+12>>2];k[g+16>>2]=k[s>>2];f=k[t>>2]|0;k[g+20>>2]=f;if(f|0)c3(f);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);f=k[t>>2]|0;if(f|0)CQ(f);break q}while(0);if(q)break;CQ(p)}while(0);do if((Ha|0)==417){if(q)break;CQ(p)}while(0);f=k[t>>2]|0;if(!f)break n;CQ(f);break n}while(0);j=k[e+16>>2]|0;m=k[e+20>>2]|0;n=(m|0)==0;if(!n)c3(m);l=j+16|0;f=k[l>>2]|0;do if(!f){x=0;ra(337,j|0);ua=x;x=0;if(!(ua&1)){f=k[l>>2]|0;break}g=mb()|0;if(n)break n;CQ(m);break n}while(0);Ha=k[j+4>>2]|0;i=Ha+(((f>>>0)/170|0)<<2)|0;h=k[i>>2]|0;if((k[j+8>>2]|0)==(Ha|0))g=0;else g=h+(((f>>>0)%170|0)*24|0)|0;if((g|0)==(h|0))g=(k[i+-4>>2]|0)+4080|0;f=g+-24|0;k[f>>2]=k[ta>>2];k[f+4>>2]=k[ta+4>>2];k[f+8>>2]=k[ta+8>>2];k[f+12>>2]=k[ta+12>>2];k[g+-8>>2]=k[v>>2];f=k[y>>2]|0;k[g+-4>>2]=f;if(f|0)c3(f);k[l>>2]=(k[l>>2]|0)+-1;Ha=j+20|0;k[Ha>>2]=(k[Ha>>2]|0)+1;if(!n)CQ(m);f=k[w>>2]|0;if(f|0)CQ(f);f=k[B>>2]|0;if(f|0)CQ(f);f=k[y>>2]|0;if(f|0)CQ(f);Ha=832;break j}while(0);if(q)break n;CQ(p);break n}while(0);if(q)break;CQ(p)}while(0);f=k[w>>2]|0;if(!f)break k;CQ(f);break k}while(0);if(q)break k;CQ(p);break k}while(0);if(q)break;CQ(p)}while(0);f=k[B>>2]|0;if(!f)break;CQ(f)}while(0);f=k[ta+20>>2]|0;if(!f)break;CQ(f)}else{switch(v|0){case 3:if((B|0)==2){Ha=458;break j}else{f=1;Ha=739;break j}case 1:break;default:{f=0;Ha=739;break j}}if((B&-2|0)!=2){f=0;Ha=739;break}i=e+16|0;j=k[i>>2]|0;m=e+20|0;n=k[m>>2]|0;o=(n|0)==0;if(!o)c3(n);l=j+16|0;f=k[l>>2]|0;do if(!f){x=0;ra(337,j|0);ta=x;x=0;if(!(ta&1)){f=k[l>>2]|0;break}g=mb()|0;if(o)break j;CQ(n);break j}while(0);ta=k[j+4>>2]|0;h=ta+(((f>>>0)/170|0)<<2)|0;g=k[h>>2]|0;if((k[j+8>>2]|0)==(ta|0))f=0;else f=g+(((f>>>0)%170|0)*24|0)|0;if((f|0)==(g|0))f=(k[h+-4>>2]|0)+4080|0;ta=f+-24|0;k[ta>>2]=z;k[ta+4>>2]=A;k[f+-16>>2]=B;k[f+-12>>2]=G;k[f+-8>>2]=M;k[f+-4>>2]=Aa;if(!Ca)c3(Aa);k[l>>2]=(k[l>>2]|0)+-1;ta=j+20|0;k[ta>>2]=(k[ta>>2]|0)+1;if(!o)CQ(n);j=k[i>>2]|0;l=k[m>>2]|0;m=(l|0)==0;if(!m)c3(l);i=j+16|0;f=k[i>>2]|0;do if(!f){x=0;ra(337,j|0);ta=x;x=0;if(!(ta&1)){f=k[i>>2]|0;break}g=mb()|0;if(m)break j;CQ(l);break j}while(0);ta=k[j+4>>2]|0;h=ta+(((f>>>0)/170|0)<<2)|0;g=k[h>>2]|0;if((k[j+8>>2]|0)==(ta|0))f=0;else f=g+(((f>>>0)%170|0)*24|0)|0;if((f|0)==(g|0))f=(k[h+-4>>2]|0)+4080|0;ta=f+-24|0;k[ta>>2]=k[la>>2];k[ta+4>>2]=k[la+4>>2];k[ta+8>>2]=k[la+8>>2];k[f+-12>>2]=fa;k[f+-8>>2]=ga;k[f+-4>>2]=va;if(!wa)c3(va);k[i>>2]=(k[i>>2]|0)+-1;ta=j+20|0;k[ta>>2]=(k[ta>>2]|0)+1;if(!m)CQ(l);f=k[E>>2]|0;p=k[F>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;ta=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((ta|0)==0?0:(ta*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);ta=x;x=0;if(!(ta&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;if(q)break j;CQ(p);break j}else f=l;while(0);f=i+f|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[ua>>2];k[f+4>>2]=k[ua+4>>2];k[f+8>>2]=k[ua+8>>2];k[f+12>>2]=u;k[f+16>>2]=s;k[f+20>>2]=ya;if(!za)c3(ya);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);i=k[E>>2]|0;n=k[F>>2]|0;o=(n|0)==0;if(!o)c3(n);l=i+4|0;f=k[l>>2]|0;ua=(k[i+8>>2]|0)-f>>2;j=i+16|0;g=k[j>>2]|0;m=i+20|0;h=k[m>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(h+g|0)){x=0;ra(336,i|0);ua=x;x=0;if(!(ua&1)){h=k[m>>2]|0;g=k[j>>2]|0;f=k[l>>2]|0;break}g=mb()|0;if(o)break j;CQ(n);break j}while(0);Ha=h+g|0;ua=k[f+(((Ha>>>0)/170|0)<<2)>>2]|0;Ha=(Ha>>>0)%170|0;pa=Y;ta=k[pa+4>>2]|0;Ha=ua+(Ha*24|0)|0;ua=Ha|0;k[ua>>2]=k[pa>>2];k[ua+4>>2]=ta;k[Ha+8>>2]=1;k[Ha+12>>2]=t;k[Ha+16>>2]=U;k[Ha+20>>2]=Da;if(!Ea)c3(Da);k[m>>2]=(k[m>>2]|0)+1;if(o){Ha=832;break}CQ(n);Ha=832}while(0);t:do if((Ha|0)==458){k[N>>2]=k[ua>>2];k[N+4>>2]=k[ua+4>>2];k[N+8>>2]=k[ua+8>>2];h=ya;if(!za)c3(ya);f=Da;if(!Ea)c3(Da);k[X>>2]=k[la>>2];k[X+4>>2]=k[la+4>>2];k[X+8>>2]=k[la+8>>2];i=va;if(!wa)c3(va);g=Aa;if(!Ca)c3(Aa);do if(j){y=z;w=A;v=B;t=G;q=M;E=g;F=i;z=fa;A=ga;D=f;C=h}else{k[N>>2]=k[la>>2];k[N+4>>2]=k[la+4>>2];k[N+8>>2]=k[la+8>>2];if(!wa)c3(va);if(!za)CQ(ya);if(!Ca)c3(Aa);if(!Ea)CQ(Da);k[X>>2]=k[ua>>2];k[X+4>>2]=k[ua+4>>2];k[X+8>>2]=k[ua+8>>2];if(!za)c3(ya);if(!wa)CQ(va);if(!Ea)c3(Da);if(Ca){q=U;E=f;F=h;z=u;A=s;D=g;C=i;u=fa;s=ga;break}CQ(Aa);q=U;E=f;F=h;z=u;A=s;D=g;C=i;u=fa;s=ga}while(0);f=k[(k[u>>2]|0)+112>>2]|0;x=0;Qa(74,J|0,78097,0);ua=x;x=0;u:do if(ua&1)Ha=483;else{x=0;f=xa(f|0,u|0,z|0,J|0)|0;ua=x;x=0;if(ua&1){g=mb()|0;P1(J);break}P1(J);v:do if(f){j=e+16|0;l=k[j>>2]|0;n=e+20|0;o=k[n>>2]|0;p=(o|0)==0;if(!p)c3(o);m=l+16|0;f=k[m>>2]|0;do if(!f){x=0;ra(337,l|0);ua=x;x=0;if(!(ua&1)){f=k[m>>2]|0;break}g=mb()|0;if(p)break u;CQ(o);break u}while(0);ua=k[l+4>>2]|0;i=ua+(((f>>>0)/170|0)<<2)|0;h=k[i>>2]|0;if((k[l+8>>2]|0)==(ua|0))g=0;else g=h+(((f>>>0)%170|0)*24|0)|0;if((g|0)==(h|0))g=(k[i+-4>>2]|0)+4080|0;f=g+-24|0;k[f>>2]=y;k[f+4>>2]=w;k[g+-16>>2]=v;k[g+-12>>2]=t;k[g+-8>>2]=q;f=E;k[g+-4>>2]=f;if(E|0)c3(f);k[m>>2]=(k[m>>2]|0)+-1;ua=l+20|0;k[ua>>2]=(k[ua>>2]|0)+1;if(!p)CQ(o);l=k[j>>2]|0;m=k[n>>2]|0;n=(m|0)==0;if(!n)c3(m);j=l+16|0;f=k[j>>2]|0;do if(!f){x=0;ra(337,l|0);ua=x;x=0;if(!(ua&1)){f=k[j>>2]|0;break}g=mb()|0;if(n)break u;CQ(m);break u}while(0);Ha=k[l+4>>2]|0;i=Ha+(((f>>>0)/170|0)<<2)|0;h=k[i>>2]|0;if((k[l+8>>2]|0)==(Ha|0))g=0;else g=h+(((f>>>0)%170|0)*24|0)|0;if((g|0)==(h|0))g=(k[i+-4>>2]|0)+4080|0;f=g+-24|0;k[f>>2]=k[X>>2];k[f+4>>2]=k[X+4>>2];k[f+8>>2]=k[X+8>>2];k[g+-12>>2]=z;k[g+-8>>2]=A;f=F;k[g+-4>>2]=f;if(F|0)c3(f);k[j>>2]=(k[j>>2]|0)+-1;Ha=l+20|0;k[Ha>>2]=(k[Ha>>2]|0)+1;if(n)break;CQ(m)}else{x=0;y=Ka(890,z|0,d|0)|0;ua=x;x=0;if(ua&1){Ha=483;break u}x=0;w=xa(57,k[z+72>>2]|0,k[u+72>>2]|0,d|0)|0;ua=x;x=0;if(ua&1){Ha=483;break u}k[y+72>>2]=w;x=0;ra(335,ka|0);ua=x;x=0;if(ua&1){Ha=483;break u}x=0;ra(335,_|0);ua=x;x=0;do if(ua&1)g=mb()|0;else{t=_+16|0;f=k[t>>2]|0;B=_+20|0;p=k[B>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;ua=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);ua=x;x=0;if(!(ua&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;Ha=527;break}g=mb()|0;if(q)break;CQ(p)}else{f=l;Ha=527}while(0);w:do if((Ha|0)==527){f=i+f|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[g>>2]=k[N>>2];k[g+4>>2]=k[N+4>>2];k[g+8>>2]=k[N+8>>2];k[g+12>>2]=u;k[g+16>>2]=s;f=C;k[g+20>>2]=f;if(C|0)c3(f);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);j=k[t>>2]|0;p=k[B>>2]|0;q=(p|0)==0;if(!q)c3(p);k[P>>2]=2;x=0;sa(526,Q|0,P|0);ua=x;x=0;x:do if(ua&1)g=mb()|0;else{m=j+8|0;h=k[m>>2]|0;n=j+4|0;g=k[n>>2]|0;ua=h-g>>2;l=j+16|0;i=k[l>>2]|0;o=j+20|0;f=k[o>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(f+i|0)){x=0;ra(336,j|0);ua=x;x=0;if(!(ua&1)){f=k[o>>2]|0;i=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;f=k[Q+20>>2]|0;if(!f)break x;CQ(f);break x}while(0);f=f+i|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[Q>>2];k[f+4>>2]=k[Q+4>>2];k[f+8>>2]=k[Q+8>>2];k[f+12>>2]=k[Q+12>>2];ta=Q+16|0;k[f+16>>2]=k[ta>>2];ua=Q+20|0;k[f+20>>2]=k[ua>>2];k[ta>>2]=0;k[ua>>2]=0;k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);f=k[t>>2]|0;p=k[B>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;ua=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);ua=x;x=0;if(!(ua&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;if(q)break w;CQ(p);break w}else f=l;while(0);f=i+f|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[g>>2]=k[X>>2];k[g+4>>2]=k[X+4>>2];k[g+8>>2]=k[X+8>>2];k[g+12>>2]=z;k[g+16>>2]=A;f=F;k[g+20>>2]=f;if(F|0)c3(f);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);j=k[t>>2]|0;p=k[B>>2]|0;q=(p|0)==0;if(!q)c3(p);k[T>>2]=3;x=0;sa(526,V|0,T|0);ua=x;x=0;y:do if(ua&1)g=mb()|0;else{m=j+8|0;h=k[m>>2]|0;n=j+4|0;g=k[n>>2]|0;ua=h-g>>2;l=j+16|0;i=k[l>>2]|0;o=j+20|0;f=k[o>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(f+i|0)){x=0;ra(336,j|0);ua=x;x=0;if(!(ua&1)){f=k[o>>2]|0;i=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;f=k[V+20>>2]|0;if(!f)break y;CQ(f);break y}while(0);f=f+i|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[V>>2];k[f+4>>2]=k[V+4>>2];k[f+8>>2]=k[V+8>>2];k[f+12>>2]=k[V+12>>2];ta=V+16|0;k[f+16>>2]=k[ta>>2];ua=V+20|0;k[f+20>>2]=k[ua>>2];k[ta>>2]=0;k[ua>>2]=0;k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);u=ka+16|0;f=k[u>>2]|0;v=ka+20|0;p=k[v>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;ua=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);ua=x;x=0;if(!(ua&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;if(q)break w;CQ(p);break w}else f=l;while(0);f=i+f|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[g>>2]=k[_>>2];k[g+4>>2]=k[_+4>>2];k[g+8>>2]=k[_+8>>2];k[g+12>>2]=k[_+12>>2];k[g+16>>2]=k[t>>2];f=k[B>>2]|0;k[g+20>>2]=f;if(f|0)c3(f);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);z:do if(w|0){x=0;ra(335,ha|0);ua=x;x=0;if(ua&1){g=mb()|0;break w}s=ha+16|0;j=k[s>>2]|0;t=ha+20|0;p=k[t>>2]|0;q=(p|0)==0;if(!q)c3(p);x=0;Qa(131,ba|0,y|0,d|0);ua=x;x=0;A:do if(ua&1){g=mb()|0;Ha=632}else{m=j+8|0;h=k[m>>2]|0;n=j+4|0;g=k[n>>2]|0;ua=h-g>>2;l=j+16|0;i=k[l>>2]|0;o=j+20|0;f=k[o>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(f+i|0)){x=0;ra(336,j|0);ua=x;x=0;if(!(ua&1)){f=k[o>>2]|0;i=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;f=k[ba+20>>2]|0;if(!f){Ha=632;break A}CQ(f);Ha=632;break A}while(0);f=f+i|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[ba>>2];k[f+4>>2]=k[ba+4>>2];k[f+8>>2]=k[ba+8>>2];k[f+12>>2]=k[ba+12>>2];ta=ba+16|0;k[f+16>>2]=k[ta>>2];ua=ba+20|0;k[f+20>>2]=k[ua>>2];k[ta>>2]=0;k[ua>>2]=0;k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);j=k[s>>2]|0;p=k[t>>2]|0;q=(p|0)==0;if(!q)c3(p);k[ca>>2]=3;x=0;sa(526,da|0,ca|0);ua=x;x=0;B:do if(ua&1)g=mb()|0;else{m=j+8|0;h=k[m>>2]|0;n=j+4|0;g=k[n>>2]|0;ua=h-g>>2;l=j+16|0;i=k[l>>2]|0;o=j+20|0;f=k[o>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(f+i|0)){x=0;ra(336,j|0);ua=x;x=0;if(!(ua&1)){f=k[o>>2]|0;i=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;f=k[da+20>>2]|0;if(!f)break B;CQ(f);break B}while(0);f=f+i|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[da>>2];k[f+4>>2]=k[da+4>>2];k[f+8>>2]=k[da+8>>2];k[f+12>>2]=k[da+12>>2];ta=da+16|0;k[f+16>>2]=k[ta>>2];ua=da+20|0;k[f+20>>2]=k[ua>>2];k[ta>>2]=0;k[ua>>2]=0;k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);f=k[u>>2]|0;p=k[v>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;ua=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);ua=x;x=0;if(!(ua&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;if(q)break A;CQ(p);break A}else f=l;while(0);f=i+f|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[g>>2]=k[ha>>2];k[g+4>>2]=k[ha+4>>2];k[g+8>>2]=k[ha+8>>2];k[g+12>>2]=k[ha+12>>2];k[g+16>>2]=k[s>>2];f=k[t>>2]|0;k[g+20>>2]=f;if(f|0)c3(f);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);f=k[t>>2]|0;if(f|0)CQ(f);break z}while(0);if(q)break;CQ(p)}while(0);do if((Ha|0)==632){if(q)break;CQ(p)}while(0);f=k[t>>2]|0;if(!f)break w;CQ(f);break w}while(0);j=k[e+16>>2]|0;m=k[e+20>>2]|0;n=(m|0)==0;if(!n)c3(m);l=j+16|0;f=k[l>>2]|0;do if(!f){x=0;ra(337,j|0);ua=x;x=0;if(!(ua&1)){f=k[l>>2]|0;break}g=mb()|0;if(n)break w;CQ(m);break w}while(0);Ha=k[j+4>>2]|0;i=Ha+(((f>>>0)/170|0)<<2)|0;h=k[i>>2]|0;if((k[j+8>>2]|0)==(Ha|0))g=0;else g=h+(((f>>>0)%170|0)*24|0)|0;if((g|0)==(h|0))g=(k[i+-4>>2]|0)+4080|0;f=g+-24|0;k[f>>2]=k[ka>>2];k[f+4>>2]=k[ka+4>>2];k[f+8>>2]=k[ka+8>>2];k[f+12>>2]=k[ka+12>>2];k[g+-8>>2]=k[u>>2];f=k[v>>2]|0;k[g+-4>>2]=f;if(f|0)c3(f);k[l>>2]=(k[l>>2]|0)+-1;Ha=j+20|0;k[Ha>>2]=(k[Ha>>2]|0)+1;if(!n)CQ(m);f=k[B>>2]|0;if(f|0)CQ(f);f=k[v>>2]|0;if(f|0)CQ(f);break v}while(0);if(q)break w;CQ(p);break w}while(0);if(q)break;CQ(p)}while(0);f=k[B>>2]|0;if(!f)break;CQ(f)}while(0);f=k[ka+20>>2]|0;if(!f)break u;CQ(f);break u}while(0);if(E|0)CQ(E);if(F|0)CQ(F);if(D|0)CQ(D);if(C|0)CQ(C);Ha=832;break t}while(0);if((Ha|0)==483)g=mb()|0;if(E|0)CQ(E);if(F|0)CQ(F);if(D|0)CQ(D);if(!C)break;CQ(C)}else if((Ha|0)==739){if(!((B|0)==1&(j|f))){if((v|0)!=(B|0)){x=0;ra(338,a|0);Ha=x;x=0;if(Ha&1){Ha=192;break}else{Ha=833;break}}x=0;p=Ka(890,u|0,d|0)|0;ua=x;x=0;if(ua&1){Ha=192;break}x=0;f=xa(57,k[u+72>>2]|0,k[fa+72>>2]|0,d|0)|0;ua=x;x=0;if(ua&1){Ha=192;break}k[p+72>>2]=f;if(!f){x=0;ra(338,a|0);Ha=x;x=0;if(Ha&1){Ha=192;break}else{Ha=833;break}}i=e+16|0;j=k[i>>2]|0;m=e+20|0;n=k[m>>2]|0;o=(n|0)==0;if(!o)c3(n);l=j+16|0;f=k[l>>2]|0;do if(!f){x=0;ra(337,j|0);ua=x;x=0;if(!(ua&1)){f=k[l>>2]|0;break}g=mb()|0;if(o)break t;CQ(n);break t}while(0);ua=k[j+4>>2]|0;h=ua+(((f>>>0)/170|0)<<2)|0;g=k[h>>2]|0;if((k[j+8>>2]|0)==(ua|0))f=0;else f=g+(((f>>>0)%170|0)*24|0)|0;if((f|0)==(g|0))f=(k[h+-4>>2]|0)+4080|0;ua=f+-24|0;k[ua>>2]=y;k[ua+4>>2]=w;k[f+-16>>2]=v;k[f+-12>>2]=t;k[f+-8>>2]=U;k[f+-4>>2]=Da;if(!Ea)c3(Da);k[l>>2]=(k[l>>2]|0)+-1;ua=j+20|0;k[ua>>2]=(k[ua>>2]|0)+1;if(!o)CQ(n);j=k[i>>2]|0;l=k[m>>2]|0;m=(l|0)==0;if(!m)c3(l);x=0;Qa(131,K|0,p|0,d|0);ua=x;x=0;C:do if(ua&1)g=mb()|0;else{i=j+16|0;f=k[i>>2]|0;do if(!f){x=0;ra(337,j|0);ua=x;x=0;if(!(ua&1)){f=k[i>>2]|0;break}g=mb()|0;f=k[K+20>>2]|0;if(!f)break C;CQ(f);break C}while(0);Ha=k[j+4>>2]|0;h=Ha+(((f>>>0)/170|0)<<2)|0;g=k[h>>2]|0;if((k[j+8>>2]|0)==(Ha|0))f=0;else f=g+(((f>>>0)%170|0)*24|0)|0;if((f|0)==(g|0))f=(k[h+-4>>2]|0)+4080|0;ua=f+-24|0;k[ua>>2]=k[K>>2];k[ua+4>>2]=k[K+4>>2];k[ua+8>>2]=k[K+8>>2];k[ua+12>>2]=k[K+12>>2];ua=K+16|0;k[f+-8>>2]=k[ua>>2];Ha=K+20|0;k[f+-4>>2]=k[Ha>>2];k[ua>>2]=0;k[Ha>>2]=0;k[i>>2]=(k[i>>2]|0)+-1;Ha=j+20|0;k[Ha>>2]=(k[Ha>>2]|0)+1;if(m){Ha=832;break t}CQ(l);Ha=832;break t}while(0);if(m)break;CQ(l);break}i=e+16|0;j=k[i>>2]|0;m=e+20|0;n=k[m>>2]|0;o=(n|0)==0;if(!o)c3(n);l=j+16|0;f=k[l>>2]|0;do if(!f){x=0;ra(337,j|0);ta=x;x=0;if(!(ta&1)){f=k[l>>2]|0;break}g=mb()|0;if(o)break t;CQ(n);break t}while(0);ta=k[j+4>>2]|0;h=ta+(((f>>>0)/170|0)<<2)|0;g=k[h>>2]|0;if((k[j+8>>2]|0)==(ta|0))f=0;else f=g+(((f>>>0)%170|0)*24|0)|0;if((f|0)==(g|0))f=(k[h+-4>>2]|0)+4080|0;ta=f+-24|0;k[ta>>2]=y;k[ta+4>>2]=w;k[f+-16>>2]=v;k[f+-12>>2]=t;k[f+-8>>2]=U;k[f+-4>>2]=Da;if(!Ea)c3(Da);k[l>>2]=(k[l>>2]|0)+-1;ta=j+20|0;k[ta>>2]=(k[ta>>2]|0)+1;if(!o)CQ(n);j=k[i>>2]|0;l=k[m>>2]|0;m=(l|0)==0;if(!m)c3(l);i=j+16|0;f=k[i>>2]|0;do if(!f){x=0;ra(337,j|0);ta=x;x=0;if(!(ta&1)){f=k[i>>2]|0;break}g=mb()|0;if(m)break t;CQ(l);break t}while(0);ta=k[j+4>>2]|0;h=ta+(((f>>>0)/170|0)<<2)|0;g=k[h>>2]|0;if((k[j+8>>2]|0)==(ta|0))f=0;else f=g+(((f>>>0)%170|0)*24|0)|0;if((f|0)==(g|0))f=(k[h+-4>>2]|0)+4080|0;ta=f+-24|0;k[ta>>2]=k[ua>>2];k[ta+4>>2]=k[ua+4>>2];k[ta+8>>2]=k[ua+8>>2];k[f+-12>>2]=u;k[f+-8>>2]=s;k[f+-4>>2]=ya;if(!za)c3(ya);k[i>>2]=(k[i>>2]|0)+-1;ua=j+20|0;k[ua>>2]=(k[ua>>2]|0)+1;if(!m)CQ(l);f=k[C>>2]|0;p=k[D>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;ua=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);ua=x;x=0;if(!(ua&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}g=mb()|0;if(q)break t;CQ(p);break t}else f=l;while(0);f=i+f|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[la>>2];k[f+4>>2]=k[la+4>>2];k[f+8>>2]=k[la+8>>2];k[f+12>>2]=fa;k[f+16>>2]=ga;k[f+20>>2]=va;if(!wa)c3(va);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);i=k[C>>2]|0;n=k[D>>2]|0;o=(n|0)==0;if(!o)c3(n);l=i+4|0;f=k[l>>2]|0;ua=(k[i+8>>2]|0)-f>>2;j=i+16|0;g=k[j>>2]|0;m=i+20|0;h=k[m>>2]|0;do if((((ua|0)==0?0:(ua*170|0)+-1|0)|0)==(h+g|0)){x=0;ra(336,i|0);ua=x;x=0;if(!(ua&1)){h=k[m>>2]|0;g=k[j>>2]|0;f=k[l>>2]|0;break}g=mb()|0;if(o)break t;CQ(n);break t}while(0);Ha=h+g|0;ua=k[f+(((Ha>>>0)/170|0)<<2)>>2]|0;Ha=(Ha>>>0)%170|0;pa=Z;ta=k[pa+4>>2]|0;Ha=ua+(Ha*24|0)|0;ua=Ha|0;k[ua>>2]=k[pa>>2];k[ua+4>>2]=ta;k[Ha+8>>2]=1;k[Ha+12>>2]=G;k[Ha+16>>2]=M;k[Ha+20>>2]=Aa;if(!Ca)c3(Aa);k[m>>2]=(k[m>>2]|0)+1;if(o){Ha=832;break}CQ(n);Ha=832}while(0);if((Ha|0)==832){x=0;qa(9,a|0,b|0,c|0,d|0,e|0);Ha=x;x=0;if(Ha&1)Ha=192;else Ha=833}if((Ha|0)==192)g=mb()|0;else if((Ha|0)==833){if(!wa)CQ(va);if(!za)CQ(ya);if(!Ca)CQ(Aa);if(!Ea)CQ(Da);break}if(!wa)CQ(va);if(!za)CQ(ya);if(!Ca)CQ(Aa);if(Ea)break a;CQ(Da);break a}while(0);f=k[Ja+20>>2]|0;if(f|0)CQ(f);f=k[Fa>>2]|0;if(!f){r=Ga;return}CQ(f);r=Ga;return}}while(0);if((Ha|0)==16)g=mb()|0;f=k[Ja+20>>2]|0;if(f)CQ(f)}f=k[Ia+20>>2]|0;if(!f)yb(g|0);CQ(f);yb(g|0)}function Yc(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;var h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,$=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,ta=0,va=0,wa=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,La=0,Ma=0,Na=0,Oa=0,Pa=0,Ra=0,Sa=0,Ta=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,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,wb=0,xb=0,zb=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,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0;bd=r;r=r+2080|0;ad=bd;_c=bd+2076|0;dc=bd+2072|0;Eb=bd+2060|0;Fb=bd+2048|0;cc=bd+2044|0;Gb=bd+2032|0;bc=bd+2028|0;Hb=bd+2016|0;Qb=bd+2004|0;$b=bd+1992|0;Zc=bd+1980|0;Oc=bd+1976|0;xc=bd+1972|0;Lc=bd+1968|0;yc=bd+1964|0;Dc=bd+1948|0;pc=bd+1932|0;Ic=bd+1928|0;Ac=bd+1912|0;Bc=bd+1824|0;mc=bd+1800|0;E=bd+1784|0;ed=bd+1760|0;h=bd+1952|0;dd=bd+1740|0;D=bd+1936|0;vc=bd+1584|0;uc=bd+1916|0;nc=bd+1872|0;Cc=bd+1832|0;Ec=bd+1812|0;Mc=bd+1788|0;qc=bd+1772|0;Jc=bd+1520|0;Fc=bd+1728|0;Gc=bd+1544|0;Hc=bd+1532|0;Kc=bd+1336|0;Nc=bd+1312|0;wc=bd+1272|0;zc=bd+972|0;Pc=bd+960|0;gc=bd+1376|0;Ib=bd+512|0;Jb=bd+472|0;ec=bd+316|0;oc=bd+1324|0;Kb=bd+304|0;fc=bd+292|0;hc=bd+1128|0;Lb=bd+280|0;Mb=bd+268|0;Nb=bd+256|0;ic=bd+984|0;Ob=bd+244|0;Pb=bd+232|0;Rb=bd+220|0;Sb=bd+208|0;jc=bd+816|0;Tb=bd+196|0;Ub=bd+184|0;Vb=bd+172|0;kc=bd+672|0;Wb=bd+160|0;Xb=bd+148|0;Yb=bd+136|0;lc=bd+528|0;Zb=bd+124|0;_b=bd+112|0;ac=bd+100|0;Uc=bd+88|0;Vc=bd+76|0;Wc=bd+64|0;$c=bd+328|0;Xc=bd+52|0;Yc=bd+40|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;cd=i[a>>0]|0;Tc=(cd&1)==0;cd=Tc?(cd&255)>>>1:k[a+4>>2]|0;x=0;Ua(10,h|0,(Tc?a+1|0:k[a+8>>2]|0)|0,cd|0,cd+1|0);cd=x;x=0;if(cd&1){ed=mb()|0;P1(h);yb(ed|0)}x=0;xa(46,h|0,41822,1)|0;cd=x;x=0;if(cd&1){ed=mb()|0;P1(h);yb(ed|0)}a=i[b>>0]|0;cd=(a&1)==0;rc=b+8|0;sc=b+1|0;tc=b+4|0;x=0;a=xa(46,h|0,(cd?sc:k[rc>>2]|0)|0,(cd?(a&255)>>>1:k[tc>>2]|0)|0)|0;cd=x;x=0;if(cd&1){ed=mb()|0;P1(h);yb(ed|0)}k[ed>>2]=k[a>>2];k[ed+4>>2]=k[a+4>>2];k[ed+8>>2]=k[a+8>>2];k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;P1(h);Tc=e+36|0;x=0;sa(451,bd+1752|0,Tc|0);cd=x;x=0;if(cd&1)a=mb()|0;else{Cb=dd+4|0;k[Cb>>2]=0;Db=dd+8|0;k[Db>>2]=0;cd=dd+4|0;k[dd>>2]=cd;C=d+60|0;B=d+64|0;h=k[B>>2]|0;a=k[C>>2]|0;m=h-a>>2;n=a;if(m|0){o=0;do{e=k[(k[n+(o<<2)>>2]|0)+56>>2]|0;if(e|0){e=Ot(e,64,448,0)|0;if(e|0){l=e+57|0;if(i[l>>0]|0){i[l>>0]=42;i[e+48>>0]=1}}}o=o+1|0}while((o|0)!=(m|0))}A=c+52|0;y=c+56|0;l=k[y>>2]|0;e=k[A>>2]|0;z=l-e>>2;do if(!z)Rc=28;else{s=c+52|0;t=cd;u=D+4|0;v=D+8|0;w=D+1|0;a=0;while(1){q=k[e+(a<<2)>>2]|0;x=0;sa(430,D|0,q+48|0);Sc=x;x=0;if(Sc&1){Rc=19;break}h=k[cd>>2]|0;do if(!h){e=cd;l=t;Rc=42}else{o=i[D>>0]|0;p=(o&1)==0;o=p?(o&255)>>>1:k[u>>2]|0;p=p?w:k[v>>2]|0;while(1){l=h+16|0;e=i[l>>0]|0;m=(e&1)==0;e=m?(e&255)>>>1:k[h+20>>2]|0;l=m?l+1|0:k[h+24>>2]|0;m=e>>>0>>0;Sc=tG(p,l,m?e:o)|0;n=o>>>0>>0;if((((Sc|0)==0?(n?-2147483648:0):Sc)|0)<0){e=k[h>>2]|0;if(!e){e=h;Rc=36;break}else h=e}else{Sc=tG(l,p,n?o:e)|0;if((((Sc|0)==0?(m?-2147483648:0):Sc)|0)>=0){l=h;Rc=41;break}e=h+4|0;l=k[e>>2]|0;if(!l){Rc=40;break}else h=l}}if((Rc|0)==36){k[E>>2]=h;Rc=43;break}else if((Rc|0)==40){k[E>>2]=h;Rc=43;break}else if((Rc|0)==41){e=E;h=l;Rc=42;break}}while(0);if((Rc|0)==42){Rc=0;k[E>>2]=l;if(!h){h=l;Rc=43}}if((Rc|0)==43){x=0;l=ua(186,32)|0;Sc=x;x=0;if(Sc&1){Rc=49;break}Sc=l+16|0;k[Sc>>2]=k[D>>2];k[Sc+4>>2]=k[D+4>>2];k[Sc+8>>2]=k[D+8>>2];k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;k[l+28>>2]=0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=h;k[e>>2]=l;h=k[k[dd>>2]>>2]|0;if(!h)h=l;else{k[dd>>2]=h;h=k[e>>2]|0}hl(k[Cb>>2]|0,h);k[Db>>2]=(k[Db>>2]|0)+1;h=l}k[h+28>>2]=q;P1(D);a=a+1|0;if(a>>>0>=z>>>0){Rc=27;break}e=k[s>>2]|0}if((Rc|0)==19){a=mb()|0;Rc=21;break}else if((Rc|0)==27){l=k[y>>2]|0;e=k[A>>2]|0;h=k[B>>2]|0;a=k[C>>2]|0;Rc=28;break}else if((Rc|0)==49){a=mb()|0;P1(D);break}}while(0);a:do if((Rc|0)==28){Sc=l-e>>2;Bb=h-a>>2;b:do if(!Bb)a=0;else{Ab=d+60|0;B=c+52|0;C=c+69|0;D=Bb+-1|0;qb=gc+64|0;E=gc+8|0;Ya=gc+12|0;F=gc+4|0;G=gc+64|0;H=gc+136|0;L=gc+140|0;Za=gc+44|0;M=gc+60|0;_a=gc+8|0;N=ed+8|0;O=ed+1|0;P=ed+4|0;R=(Sc|0)==1;Q=R?27935:27945;R=R?9:10;xb=d+8|0;S=Mb+4|0;rb=jc+64|0;T=jc+8|0;$a=jc+12|0;U=jc+4|0;V=jc+64|0;W=jc+136|0;X=jc+140|0;ab=jc+44|0;Y=jc+60|0;bb=jc+8|0;Z=Tb+8|0;_=Tb+1|0;$=Tb+4|0;aa=cd;sb=lc+64|0;ba=lc+8|0;cb=lc+12|0;ca=lc+4|0;da=lc+64|0;ea=lc+136|0;fa=lc+140|0;db=lc+44|0;ga=lc+60|0;eb=lc+8|0;ha=Zb+8|0;ia=Zb+1|0;ja=Zb+4|0;tb=kc+64|0;ka=kc+8|0;fb=kc+12|0;la=kc+4|0;ma=kc+64|0;na=kc+136|0;oa=kc+140|0;gb=kc+44|0;pa=kc+60|0;hb=kc+8|0;qa=Wb+8|0;ta=Wb+1|0;va=Wb+4|0;wa=Vb+4|0;ya=Vb+8|0;za=Vb+1|0;Aa=Sb+4|0;Ba=Sb+8|0;Ca=Sb+1|0;ub=hc+64|0;Da=hc+8|0;ib=hc+12|0;Ea=hc+4|0;Fa=hc+64|0;Ga=hc+136|0;Ha=hc+140|0;jb=hc+44|0;Ia=hc+60|0;kb=hc+8|0;Ja=oc+8|0;La=oc+1|0;Ma=oc+4|0;wb=ic+64|0;Na=ic+8|0;nb=ic+12|0;Oa=ic+4|0;Pa=ic+64|0;Ra=ic+136|0;Sa=ic+140|0;ob=ic+44|0;Ta=ic+60|0;pb=ic+8|0;Va=Ob+8|0;Wa=Ob+1|0;Xa=Ob+4|0;o=0;a=0;c:while(1){y=Sc>>>0>a>>>0;z=Sc-a|0;Qc=a+1|0;A=(Qc|0)==(Sc|0);d:while(1){n=k[(k[Ab>>2]|0)+(o<<2)>>2]|0;e:do if(y){zb=k[(k[B>>2]|0)+(a<<2)>>2]|0;e=j[n+72>>1]|0;h=(e&255)<<24>>24!=0;e=(e&65535)>>>8&255;if(i[zb+64>>0]|0){Rc=77;break c}do if(h){n=k[n+56>>2]|0;p=n+60|0;l=n+64|0;e=k[p>>2]|0;h=(k[l>>2]|0)-e>>2;if(!h)break b;do if(h>>>0>z>>>0){if(i[C>>0]|0)break;e=D+h|0;k[E>>2]=8236;k[gc>>2]=8440;k[qb>>2]=8460;k[F>>2]=0;x=0;sa(452,G|0,Ya|0);K=x;x=0;if(K&1){Rc=226;break c}k[H>>2]=0;k[L>>2]=-1;k[gc>>2]=8216;k[qb>>2]=8256;k[E>>2]=8236;x=0;ra(324,Ya|0);K=x;x=0;if(K&1){Rc=227;break c}k[Ya>>2]=8272;k[Za>>2]=0;k[Za+4>>2]=0;k[Za+8>>2]=0;k[Za+12>>2]=0;k[M>>2]=24;k[$b>>2]=0;k[$b+4>>2]=0;k[$b+8>>2]=0;x=0;sa(453,Ya|0,$b|0);K=x;x=0;if(K&1){Rc=225;break c}P1($b);h=i[ed>>0]|0;K=(h&1)==0;x=0;h=xa(49,_a|0,(K?O:k[N>>2]|0)|0,(K?(h&255)>>>1:k[P>>2]|0)|0)|0;K=x;x=0;if(K&1){Rc=242;break c}x=0;h=xa(49,h|0,28139,7)|0;K=x;x=0;if(K&1){Rc=242;break c}x=0;Ka(860,h|0,Sc|0)|0;K=x;x=0;if(K&1){Rc=242;break c}x=0;xa(49,_a|0,Q|0,R|0)|0;K=x;x=0;if(K&1){Rc=242;break c}x=0;h=xa(49,_a|0,28147,5)|0;K=x;x=0;if(K&1){Rc=242;break c}x=0;Ka(862,h|0,e|0)|0;K=x;x=0;if(K&1){Rc=242;break c}K=(e|0)==1;x=0;xa(49,_a|0,(K?28153:28165)|0,(K?11:13)|0)|0;K=x;x=0;if(K&1){Rc=242;break c}x=0;sa(454,Ib|0,Ya|0);K=x;x=0;if(K&1){Rc=242;break c}x=0;K=ad;I=xb;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));sa(456,Ib|0,ad|0);K=x;x=0;if(K&1){Rc=243;break c}P1(Ib);h=k[l>>2]|0;l=k[p>>2]|0;if(h-l>>2>>>0>z>>>0){m=p+4|0;e=h;do{h=e+-4|0;e=h}while(e-l>>2>>>0>z>>>0);k[m>>2]=h}k[gc>>2]=8216;k[qb>>2]=8256;k[_a>>2]=8236;k[Ya>>2]=8272;P1(Za);D2(Ya);P9(qb);e=k[p>>2]|0}while(0);h=k[e>>2]|0;if(!h)Rc=249;else{h=Ot(h,64,600,0)|0;if(!h)Rc=249;else m=h}if((Rc|0)==249){Rc=0;h=k[e>>2]|0;x=0;e=Ka(856,Tc|0,80)|0;K=x;x=0;if(K&1){Rc=17;break c}K=Jb;I=h+8|0;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));x=0;Qa(74,ec|0,78097,0);K=x;x=0;if(K&1){Rc=17;break c}k[e+4>>2]=0;K=e+8|0;I=Jb;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e+52>>2]=0;k[e>>2]=8476;k[e+56>>2]=h;x=0;sa(430,e+60|0,ec|0);K=x;x=0;if(K&1){Rc=253;break c}i[e+72>>0]=0;i[e+73>>0]=0;k[e+76>>2]=0;x=0;h=Ka(857,Tc|0,e|0)|0;K=x;x=0;if(K&1){Rc=255;break c}P1(ec);e=k[p>>2]|0;m=h}K=e+4|0;l=p+4|0;h=(k[l>>2]|0)-K|0;VH(e|0,K|0,h|0)|0;e=e+(h>>2<<2)|0;h=k[l>>2]|0;if((h|0)!=(e|0)){h=h+(~((h+-4-e|0)>>>2)<<2)|0;k[l>>2]=h}if((h|0)!=(k[p>>2]|0))if(!(A&(i[n+80>>0]|0)==0)){t=m;break}t=m;o=o+1|0}else{if(!(e<<24>>24)){t=n;o=o+1|0;break}w=k[n+56>>2]|0;v=w+56|0;w=w+80|0;h=k[w>>2]|0;w=k[w+4>>2]|0;if((h|0)!=(w|0)){u=n+8|0;do{t=k[h>>2]|0;x=0;sa(430,fc|0,t+60|0);zb=x;x=0;if(zb&1){Rc=16;break c}x=0;Ua(11,Kb|0,fc|0,0,0);zb=x;x=0;if(zb&1){Rc=291;break c}x=0;e=xa(50,Kb|0,0,38283)|0;zb=x;x=0;if(zb&1){Rc=292;break c}k[oc>>2]=k[e>>2];k[oc+4>>2]=k[e+4>>2];k[oc+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;P1(Kb);P1(fc);e=k[cd>>2]|0;f:do if(!e)Rc=277;else{q=i[oc>>0]|0;s=(q&1)==0;q=s?(q&255)>>>1:k[Ma>>2]|0;s=s?La:k[Ja>>2]|0;while(1){m=e+16|0;l=i[m>>0]|0;n=(l&1)==0;l=n?(l&255)>>>1:k[e+20>>2]|0;m=n?m+1|0:k[e+24>>2]|0;n=l>>>0>>0;zb=tG(s,m,n?l:q)|0;p=q>>>0>>0;if((((zb|0)==0?(p?-2147483648:0):zb)|0)>=0){zb=tG(m,s,p?q:l)|0;if((((zb|0)==0?(n?-2147483648:0):zb)|0)>=0)break f;e=e+4|0}e=k[e>>2]|0;if(!e){Rc=277;break}}}while(0);if((Rc|0)==277){Rc=0;k[Da>>2]=8236;k[hc>>2]=8440;k[ub>>2]=8460;k[Ea>>2]=0;x=0;sa(452,Fa|0,ib|0);zb=x;x=0;if(zb&1){Rc=281;break c}k[Ga>>2]=0;k[Ha>>2]=-1;k[hc>>2]=8216;k[ub>>2]=8256;k[Da>>2]=8236;x=0;ra(324,ib|0);zb=x;x=0;if(zb&1){Rc=282;break c}k[ib>>2]=8272;k[jb>>2]=0;k[jb+4>>2]=0;k[jb+8>>2]=0;k[jb+12>>2]=0;k[Ia>>2]=24;k[Qb>>2]=0;k[Qb+4>>2]=0;k[Qb+8>>2]=0;x=0;sa(453,ib|0,Qb|0);zb=x;x=0;if(zb&1){Rc=280;break c}P1(Qb);e=i[ed>>0]|0;zb=(e&1)==0;x=0;e=xa(49,kb|0,(zb?O:k[N>>2]|0)|0,(zb?(e&255)>>>1:k[P>>2]|0)|0)|0;zb=x;x=0;if(zb&1){Rc=296;break c}x=0;e=xa(49,e|0,28179,24)|0;zb=x;x=0;if(zb&1){Rc=296;break c}zb=i[oc>>0]|0;K=(zb&1)==0;x=0;xa(49,e|0,(K?La:k[Ja>>2]|0)|0,(K?(zb&255)>>>1:k[Ma>>2]|0)|0)|0;zb=x;x=0;if(zb&1){Rc=296;break c}x=0;sa(454,Lb|0,ib|0);zb=x;x=0;if(zb&1){Rc=296;break c}x=0;K=ad;I=u;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));sa(438,Lb|0,ad|0);zb=x;x=0;if(zb&1){Rc=297;break c}P1(Lb);k[hc>>2]=8216;k[ub>>2]=8256;k[kb>>2]=8236;k[ib>>2]=8272;P1(jb);D2(ib);P9(ub)}x=0;l=Ka(861,v|0,t|0)|0;zb=x;x=0;if(zb&1){Rc=294;break c}x=0;e=ua(188,f|0)|0;zb=x;x=0;if(zb&1){Rc=294;break c}x=0;e=Ka(863,e|0,oc|0)|0;zb=x;x=0;if(zb&1){Rc=294;break c}k[e>>2]=l;P1(oc);h=h+4|0}while((h|0)!=(w|0))}o=o+1|0;break e}while(0);s=t+60|0;x=0;sa(430,Mb|0,s|0);K=x;x=0;if(K&1){Rc=17;break c}K=i[Mb>>0]|0;K=(((K&1)==0?(K&255)>>>1:k[S>>2]|0)|0)==0;P1(Mb);if(K){a=zb;e=t;break d}x=0;sa(430,Sb|0,s|0);K=x;x=0;if(K&1){Rc=17;break c}h=k[cd>>2]|0;g:do if(!h)Rc=349;else{p=i[Sb>>0]|0;q=(p&1)==0;p=q?(p&255)>>>1:k[Aa>>2]|0;q=q?Ca:k[Ba>>2]|0;while(1){l=h+16|0;e=i[l>>0]|0;m=(e&1)==0;e=m?(e&255)>>>1:k[h+20>>2]|0;l=m?l+1|0:k[h+24>>2]|0;m=e>>>0

>>0;K=tG(q,l,m?e:p)|0;n=p>>>0>>0;if((((K|0)==0?(n?-2147483648:0):K)|0)>=0){K=tG(l,q,n?p:e)|0;if((((K|0)==0?(m?-2147483648:0):K)|0)>=0)break;h=h+4|0}h=k[h>>2]|0;if(!h){Rc=349;break g}}P1(Sb)}while(0);if((Rc|0)==349){P1(Sb);k[T>>2]=8236;k[jc>>2]=8440;k[rb>>2]=8460;k[U>>2]=0;x=0;sa(452,V|0,$a|0);Rc=x;x=0;if(Rc&1){Rc=353;break c}k[W>>2]=0;k[X>>2]=-1;k[jc>>2]=8216;k[rb>>2]=8256;k[T>>2]=8236;x=0;ra(324,$a|0);Rc=x;x=0;if(Rc&1){Rc=354;break c}k[$a>>2]=8272;k[ab>>2]=0;k[ab+4>>2]=0;k[ab+8>>2]=0;k[ab+12>>2]=0;k[Y>>2]=24;k[Gb>>2]=0;k[Gb+4>>2]=0;k[Gb+8>>2]=0;x=0;sa(453,$a|0,Gb|0);Rc=x;x=0;if(Rc&1){Rc=352;break c}P1(Gb);h=i[ed>>0]|0;Rc=(h&1)==0;x=0;h=xa(49,bb|0,(Rc?O:k[N>>2]|0)|0,(Rc?(h&255)>>>1:k[P>>2]|0)|0)|0;Rc=x;x=0;if(Rc&1){Rc=364;break c}x=0;h=xa(49,h|0,28179,24)|0;Rc=x;x=0;if(Rc&1){Rc=364;break c}x=0;sa(430,Tb|0,s|0);Rc=x;x=0;if(Rc&1){Rc=364;break c}Rc=i[Tb>>0]|0;K=(Rc&1)==0;x=0;xa(49,h|0,(K?_:k[Z>>2]|0)|0,(K?(Rc&255)>>>1:k[$>>2]|0)|0)|0;Rc=x;x=0;if(Rc&1){Rc=365;break c}P1(Tb);x=0;sa(454,Ub|0,$a|0);Rc=x;x=0;if(Rc&1){Rc=364;break c}x=0;K=ad;I=t+8|0;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));sa(438,Ub|0,ad|0);Rc=x;x=0;if(Rc&1){Rc=366;break c}P1(Ub);k[jc>>2]=8216;k[rb>>2]=8256;k[bb>>2]=8236;k[$a>>2]=8272;P1(ab);D2($a);P9(rb)}x=0;sa(430,Vb|0,s|0);Rc=x;x=0;if(Rc&1){Rc=17;break c}h=k[cd>>2]|0;do if(!h){e=cd;l=aa;Rc=379}else{p=i[Vb>>0]|0;q=(p&1)==0;p=q?(p&255)>>>1:k[wa>>2]|0;q=q?za:k[ya>>2]|0;while(1){l=h+16|0;e=i[l>>0]|0;m=(e&1)==0;e=m?(e&255)>>>1:k[h+20>>2]|0;l=m?l+1|0:k[h+24>>2]|0;m=e>>>0

>>0;Rc=tG(q,l,m?e:p)|0;n=p>>>0>>0;if((((Rc|0)==0?(n?-2147483648:0):Rc)|0)<0){e=k[h>>2]|0;if(!e){e=h;Rc=373;break}else h=e}else{Rc=tG(l,q,n?p:e)|0;if((((Rc|0)==0?(m?-2147483648:0):Rc)|0)>=0){l=h;Rc=378;break}e=h+4|0;l=k[e>>2]|0;if(!l){Rc=377;break}else h=l}}if((Rc|0)==373){k[cc>>2]=h;Rc=380;break}else if((Rc|0)==377){k[cc>>2]=h;Rc=380;break}else if((Rc|0)==378){e=cc;h=l;Rc=379;break}}while(0);if((Rc|0)==379){Rc=0;k[cc>>2]=l;if(!h){h=l;Rc=380}}if((Rc|0)==380){Rc=0;x=0;l=ua(186,32)|0;K=x;x=0;if(K&1){Rc=402;break c}K=l+16|0;k[K>>2]=k[Vb>>2];k[K+4>>2]=k[Vb+4>>2];k[K+8>>2]=k[Vb+8>>2];k[Vb>>2]=0;k[Vb+4>>2]=0;k[Vb+8>>2]=0;k[l+28>>2]=0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=h;k[e>>2]=l;h=k[k[dd>>2]>>2]|0;if(!h)h=l;else{k[dd>>2]=h;h=k[e>>2]|0}hl(k[Cb>>2]|0,h);k[Db>>2]=(k[Db>>2]|0)+1;h=l}K=(i[(k[h+28>>2]|0)+64>>0]|0)==0;P1(Vb);if(!K){k[ka>>2]=8236;k[kc>>2]=8440;k[tb>>2]=8460;k[la>>2]=0;x=0;sa(452,ma|0,fb|0);K=x;x=0;if(K&1){Rc=389;break c}k[na>>2]=0;k[oa>>2]=-1;k[kc>>2]=8216;k[tb>>2]=8256;k[ka>>2]=8236;x=0;ra(324,fb|0);K=x;x=0;if(K&1){Rc=390;break c}k[fb>>2]=8272;k[gb>>2]=0;k[gb+4>>2]=0;k[gb+8>>2]=0;k[gb+12>>2]=0;k[pa>>2]=24;k[Fb>>2]=0;k[Fb+4>>2]=0;k[Fb+8>>2]=0;x=0;sa(453,fb|0,Fb|0);K=x;x=0;if(K&1){Rc=388;break c}P1(Fb);x=0;h=xa(49,hb|0,28252,9)|0;K=x;x=0;if(K&1){Rc=403;break c}x=0;sa(430,Wb|0,s|0);K=x;x=0;if(K&1){Rc=403;break c}K=i[Wb>>0]|0;J=(K&1)==0;x=0;h=xa(49,h|0,(J?ta:k[qa>>2]|0)|0,(J?(K&255)>>>1:k[va>>2]|0)|0)|0;K=x;x=0;if(K&1){Rc=404;break c}x=0;h=xa(49,h|0,43239,4)|0;K=x;x=0;if(K&1){Rc=404;break c}K=i[ed>>0]|0;J=(K&1)==0;x=0;h=xa(49,h|0,(J?O:k[N>>2]|0)|0,(J?(K&255)>>>1:k[P>>2]|0)|0)|0;K=x;x=0;if(K&1){Rc=404;break c}x=0;xa(49,h|0,28262,32)|0;K=x;x=0;if(K&1){Rc=404;break c}P1(Wb);x=0;sa(454,Xb|0,fb|0);K=x;x=0;if(K&1){Rc=403;break c}x=0;K=ad;I=t+8|0;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));sa(438,Xb|0,ad|0);K=x;x=0;if(K&1){Rc=405;break c}P1(Xb);k[kc>>2]=8216;k[tb>>2]=8256;k[hb>>2]=8236;k[fb>>2]=8272;P1(gb);D2(fb);P9(tb)}x=0;sa(430,Yb|0,s|0);K=x;x=0;if(K&1){Rc=17;break c}x=0;h=Ka(864,f|0,Yb|0)|0;K=x;x=0;if(K&1){Rc=426;break c}P1(Yb);if(h){k[ba>>2]=8236;k[lc>>2]=8440;k[sb>>2]=8460;k[ca>>2]=0;x=0;sa(452,da|0,cb|0);K=x;x=0;if(K&1){Rc=414;break c}k[ea>>2]=0;k[fa>>2]=-1;k[lc>>2]=8216;k[sb>>2]=8256;k[ba>>2]=8236;x=0;ra(324,cb|0);K=x;x=0;if(K&1){Rc=415;break c}k[cb>>2]=8272;k[db>>2]=0;k[db+4>>2]=0;k[db+8>>2]=0;k[db+12>>2]=0;k[ga>>2]=24;k[Eb>>2]=0;k[Eb+4>>2]=0;k[Eb+8>>2]=0;x=0;sa(453,cb|0,Eb|0);K=x;x=0;if(K&1){Rc=413;break c}P1(Eb);x=0;h=xa(49,eb|0,28204,10)|0;K=x;x=0;if(K&1){Rc=427;break c}x=0;sa(430,Zb|0,zb+48|0);zb=x;x=0;if(zb&1){Rc=427;break c}zb=i[Zb>>0]|0;K=(zb&1)==0;x=0;h=xa(49,h|0,(K?ia:k[ha>>2]|0)|0,(K?(zb&255)>>>1:k[ja>>2]|0)|0)|0;zb=x;x=0;if(zb&1){Rc=428;break c}x=0;h=xa(49,h|0,28295,35)|0;zb=x;x=0;if(zb&1){Rc=428;break c}zb=i[ed>>0]|0;K=(zb&1)==0;x=0;xa(49,h|0,(K?O:k[N>>2]|0)|0,(K?(zb&255)>>>1:k[P>>2]|0)|0)|0;zb=x;x=0;if(zb&1){Rc=428;break c}P1(Zb);x=0;sa(454,_b|0,cb|0);zb=x;x=0;if(zb&1){Rc=427;break c}x=0;K=ad;I=t+8|0;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));sa(438,_b|0,ad|0);zb=x;x=0;if(zb&1){Rc=429;break c}P1(_b);k[lc>>2]=8216;k[sb>>2]=8256;k[eb>>2]=8236;k[cb>>2]=8272;P1(db);D2(cb);P9(sb)}n=k[t+56>>2]|0;x=0;m=ua(188,f|0)|0;zb=x;x=0;if(zb&1){Rc=17;break c}x=0;sa(430,ac|0,s|0);zb=x;x=0;if(zb&1){Rc=17;break c}l=bu(m,dc,ac)|0;h=k[l>>2]|0;if(!h){x=0;h=ua(186,32)|0;zb=x;x=0;if(zb&1){Rc=439;break c}e=h+16|0;k[e>>2]=k[ac>>2];k[e+4>>2]=k[ac+4>>2];k[e+8>>2]=k[ac+8>>2];k[ac>>2]=0;k[ac+4>>2]=0;k[ac+8>>2]=0;k[h+28>>2]=0;e=k[dc>>2]|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=e;k[l>>2]=h;e=k[k[m>>2]>>2]|0;if(!e)e=h;else{k[m>>2]=e;e=k[l>>2]|0}hl(k[m+4>>2]|0,e);zb=m+8|0;k[zb>>2]=(k[zb>>2]|0)+1}k[h+28>>2]=n;P1(ac)}else{if(!(i[n+72>>0]|0)){Rc=55;break c}h=k[n+56>>2]|0;if(!h){Rc=55;break c}h=Ot(h,64,256,0)|0;if(!h){Rc=55;break c}if((k[h+64>>2]|0)==(k[h+60>>2]|0))o=o+1|0;else{Rc=55;break c}}while(0);if(o>>>0>=Bb>>>0)break b}h=a+48|0;x=0;sa(430,Nb|0,h|0);zb=x;x=0;if(zb&1){Rc=18;break}x=0;a=Ka(864,f|0,Nb|0)|0;zb=x;x=0;if(zb&1){Rc=326;break}P1(Nb);if(a){k[Na>>2]=8236;k[ic>>2]=8440;k[wb>>2]=8460;k[Oa>>2]=0;x=0;sa(452,Pa|0,nb|0);zb=x;x=0;if(zb&1){Rc=314;break}k[Ra>>2]=0;k[Sa>>2]=-1;k[ic>>2]=8216;k[wb>>2]=8256;k[Na>>2]=8236;x=0;ra(324,nb|0);zb=x;x=0;if(zb&1){Rc=315;break}k[nb>>2]=8272;k[ob>>2]=0;k[ob+4>>2]=0;k[ob+8>>2]=0;k[ob+12>>2]=0;k[Ta>>2]=24;k[Hb>>2]=0;k[Hb+4>>2]=0;k[Hb+8>>2]=0;x=0;sa(453,nb|0,Hb|0);zb=x;x=0;if(zb&1){Rc=313;break}P1(Hb);x=0;a=xa(49,pb|0,28204,10)|0;zb=x;x=0;if(zb&1){Rc=327;break}x=0;sa(430,Ob|0,h|0);zb=x;x=0;if(zb&1){Rc=327;break}zb=i[Ob>>0]|0;K=(zb&1)==0;x=0;a=xa(49,a|0,(K?Wa:k[Va>>2]|0)|0,(K?(zb&255)>>>1:k[Xa>>2]|0)|0)|0;zb=x;x=0;if(zb&1){Rc=328;break}x=0;a=xa(49,a|0,28215,36)|0;zb=x;x=0;if(zb&1){Rc=328;break}zb=i[ed>>0]|0;K=(zb&1)==0;x=0;xa(49,a|0,(K?O:k[N>>2]|0)|0,(K?(zb&255)>>>1:k[P>>2]|0)|0)|0;zb=x;x=0;if(zb&1){Rc=328;break}P1(Ob);x=0;sa(454,Pb|0,nb|0);zb=x;x=0;if(zb&1){Rc=327;break}x=0;K=ad;I=e+8|0;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));sa(438,Pb|0,ad|0);zb=x;x=0;if(zb&1){Rc=329;break}P1(Pb);k[ic>>2]=8216;k[wb>>2]=8256;k[pb>>2]=8236;k[nb>>2]=8272;P1(ob);D2(nb);P9(wb)}m=k[e+56>>2]|0;x=0;l=ua(188,f|0)|0;zb=x;x=0;if(zb&1){Rc=18;break}x=0;sa(430,Rb|0,h|0);zb=x;x=0;if(zb&1){Rc=18;break}e=bu(l,bc,Rb)|0;a=k[e>>2]|0;if(!a){x=0;a=ua(186,32)|0;zb=x;x=0;if(zb&1){Rc=339;break}h=a+16|0;k[h>>2]=k[Rb>>2];k[h+4>>2]=k[Rb+4>>2];k[h+8>>2]=k[Rb+8>>2];k[Rb>>2]=0;k[Rb+4>>2]=0;k[Rb+8>>2]=0;k[a+28>>2]=0;h=k[bc>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=h;k[e>>2]=a;h=k[k[l>>2]>>2]|0;if(!h)h=a;else{k[l>>2]=h;h=k[e>>2]|0}hl(k[l+4>>2]|0,h);zb=l+8|0;k[zb>>2]=(k[zb>>2]|0)+1}k[a+28>>2]=m;P1(Rb);if(o>>>0>>0)a=Qc;else{a=Qc;break b}}switch(Rc|0){case 16:{a=mb()|0;Rc=21;break a}case 17:{a=mb()|0;Rc=21;break a}case 18:{a=mb()|0;Rc=21;break a}case 55:{m=vc+64|0;a=vc+8|0;k[a>>2]=8236;l=vc+12|0;k[vc>>2]=8440;k[m>>2]=8460;k[vc+4>>2]=0;x=0;sa(452,vc+64|0,l|0);$c=x;x=0;if($c&1)a=mb()|0;else{k[vc+136>>2]=0;k[vc+140>>2]=-1;k[vc>>2]=8216;k[m>>2]=8256;k[a>>2]=8236;x=0;ra(324,l|0);$c=x;x=0;do if($c&1)a=mb()|0;else{k[l>>2]=8272;e=vc+44|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[vc+60>>2]=24;k[mc>>2]=0;k[mc+4>>2]=0;k[mc+8>>2]=0;x=0;sa(453,l|0,mc|0);$c=x;x=0;if($c&1){a=mb()|0;P1(mc);P1(e);D2(l);break}P1(mc);h=vc+8|0;x=0;a=xa(49,h|0,28091,27)|0;$c=x;x=0;do if($c&1)Rc=73;else{x=0;a=Ka(860,a|0,Bb|0)|0;$c=x;x=0;if($c&1)Rc=73;else{x=0;a=xa(49,a|0,28119,5)|0;$c=x;x=0;if($c&1)Rc=73;else{x=0;a=Ka(860,a|0,Sc|0)|0;$c=x;x=0;if($c&1){Rc=73;break}x=0;xa(49,a|0,38861,1)|0;$c=x;x=0;if($c&1){Rc=73;break}x=0;a=xa(49,h|0,31370,6)|0;$c=x;x=0;if($c&1){Rc=73;break}$c=i[b>>0]|0;g=($c&1)==0;x=0;a=xa(49,a|0,(g?sc:k[rc>>2]|0)|0,(g?($c&255)>>>1:k[tc>>2]|0)|0)|0;$c=x;x=0;if($c&1){Rc=73;break}x=0;xa(49,a|0,44759,1)|0;$c=x;x=0;if($c&1){Rc=73;break}x=0;sa(454,uc|0,l|0);$c=x;x=0;if($c&1){Rc=73;break}x=0;K=ad;I=xb;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));sa(438,uc|0,ad|0);ad=x;x=0;if(ad&1){a=mb()|0;P1(uc);break}P1(uc);k[vc>>2]=8216;k[m>>2]=8256;k[h>>2]=8236;k[l>>2]=8272;P1(e);D2(l);P9(m);cd=k[cd>>2]|0;$y(dd,cd);P1(ed);r=bd;return}}}while(0);if((Rc|0)==73)a=mb()|0;k[vc>>2]=8216;k[m>>2]=8256;k[h>>2]=8236;k[l>>2]=8272;P1(e);D2(l);P9(m);break a}while(0)}P9(m);Rc=21;break a}case 77:{h:do if(h){a=k[n+56>>2]|0;if(a|0){e=Ot(a,64,256,0)|0;if(e|0){x=0;a=Ka(856,Tc|0,84)|0;Pc=x;x=0;if(Pc&1)break;K=nc;I=zb+8|0;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));h=k[e+76>>2]|0;k[a+4>>2]=0;K=a+8|0;I=nc;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));i[a+48>>0]=0;i[a+49>>0]=0;i[a+50>>0]=0;k[a+60>>2]=0;k[a+64>>2]=0;k[a+68>>2]=0;k[a>>2]=4992;k[a+56>>2]=5104;k[a+76>>2]=h;i[a+80>>0]=1;i[a+81>>0]=0;k[a+52>>2]=5;x=0;y=Ka(857,Tc|0,a|0)|0;Pc=x;x=0;if(Pc&1)break;a=k[e+60>>2]|0;m=k[e+64>>2]|0;i:do if((a|0)!=(m|0)){n=y+56|0;o=y+72|0;p=y+64|0;q=y+68|0;s=y+60|0;t=y+72|0;u=y+64|0;v=y+68|0;w=y+60|0;j:while(1){e=k[a>>2]|0;do if(!e)Rc=96;else{l=Ot(e,64,600,0)|0;if(!l){Rc=96;break}x=0;h=Ka(856,Tc|0,80)|0;Pc=x;x=0;if(Pc&1){Rc=12;break j}k[h+4>>2]=k[l+4>>2];k[h>>2]=4748;K=h+8|0;I=l+8|0;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));k[h>>2]=6736;Nc=l+48|0;Oc=k[Nc+4>>2]|0;Pc=h+48|0;k[Pc>>2]=k[Nc>>2];k[Pc+4>>2]=Oc;k[h>>2]=8476;k[h+56>>2]=k[l+56>>2];x=0;sa(430,h+60|0,l+60|0);Pc=x;x=0;if(Pc&1){Rc=12;break j}Nc=l+72|0;Oc=k[Nc+4>>2]|0;Pc=h+72|0;k[Pc>>2]=k[Nc>>2];k[Pc+4>>2]=Oc;x=0;h=Ka(857,Tc|0,h|0)|0;Pc=x;x=0;if(Pc&1){Rc=12;break j}k[Bc>>2]=h;e=h;if(h|0){k[o>>2]=0;l=k[p>>2]|0;if((l|0)==(k[q>>2]|0)){x=0;sa(455,s|0,Bc|0);Pc=x;x=0;if(Pc&1){Rc=12;break j}}else{k[l>>2]=e;k[p>>2]=(k[p>>2]|0)+4}x=0;sa(k[k[n>>2]>>2]|0,n|0,h|0);Pc=x;x=0;if(Pc&1){Rc=12;break j}}}while(0);if((Rc|0)==96){Rc=0;x=0;h=Ka(856,Tc|0,80)|0;Pc=x;x=0;if(Pc&1){Rc=12;break}K=Cc;I=e+8|0;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));x=0;Qa(74,Ec|0,78097,0);Pc=x;x=0;if(Pc&1){Rc=12;break}k[h+4>>2]=0;K=h+8|0;I=Cc;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;k[h+52>>2]=0;k[h>>2]=8476;k[h+56>>2]=e;x=0;sa(430,h+60|0,Ec|0);Pc=x;x=0;if(Pc&1){Rc=100;break}i[h+72>>0]=0;i[h+73>>0]=0;k[h+76>>2]=0;x=0;h=Ka(857,Tc|0,h|0)|0;Pc=x;x=0;if(Pc&1){Rc=107;break}k[Ac>>2]=h;e=h;if(h|0){k[t>>2]=0;l=k[u>>2]|0;if((l|0)==(k[v>>2]|0)){x=0;sa(455,w|0,Ac|0);Pc=x;x=0;if(Pc&1){Rc=107;break}}else{k[l>>2]=e;k[u>>2]=(k[u>>2]|0)+4}x=0;sa(k[k[n>>2]>>2]|0,n|0,h|0);Pc=x;x=0;if(Pc&1){Rc=107;break}}P1(Ec)}a=a+4|0;if((a|0)==(m|0))break i}if((Rc|0)==12){a=mb()|0;Rc=21;break a}else if((Rc|0)==100)a=mb()|0;else if((Rc|0)==107)a=mb()|0;P1(Ec);break a}while(0);x=0;l=ua(188,f|0)|0;Pc=x;x=0;if(Pc&1)break;x=0;sa(430,Mc|0,zb+48|0);Pc=x;x=0;if(Pc&1)break;e=bu(l,Ic,Mc)|0;a=k[e>>2]|0;if(!a){x=0;a=ua(186,32)|0;Pc=x;x=0;if(Pc&1){a=mb()|0;P1(Mc);break a}h=a+16|0;k[h>>2]=k[Mc>>2];k[h+4>>2]=k[Mc+4>>2];k[h+8>>2]=k[Mc+8>>2];k[Mc>>2]=0;k[Mc+4>>2]=0;k[Mc+8>>2]=0;k[a+28>>2]=0;h=k[Ic>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=h;k[e>>2]=a;h=k[k[l>>2]>>2]|0;if(!h)h=a;else{k[l>>2]=h;h=k[e>>2]|0}hl(k[l+4>>2]|0,h);Rc=l+8|0;k[Rc>>2]=(k[Rc>>2]|0)+1}k[a+28>>2]=y;P1(Mc);a=Qc;break b}}a=vb(8)|0;x=0;sa(444,a|0,28125);bd=x;x=0;if(bd&1){bd=mb()|0;lb(a|0);a=bd;break a}else{x=0;Qa(77,a|0,4416,310);x=0;break}}else{if(e<<24>>24){x=0;a=Ka(856,Tc|0,84)|0;Pc=x;x=0;if(Pc&1)break;K=ad;I=zb+8|0;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));k[a+4>>2]=0;K=a+8|0;I=ad;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));i[a+48>>0]=0;i[a+49>>0]=0;i[a+50>>0]=0;k[a+60>>2]=0;k[a+64>>2]=0;k[a+68>>2]=0;k[a>>2]=4992;k[a+56>>2]=5104;k[a+76>>2]=0;i[a+80>>0]=1;i[a+81>>0]=0;k[a+52>>2]=5;x=0;m=Ka(857,Tc|0,a|0)|0;Pc=x;x=0;if(Pc&1)break;x=0;l=ua(188,f|0)|0;Pc=x;x=0;if(Pc&1)break;x=0;sa(430,qc|0,zb+48|0);Pc=x;x=0;if(Pc&1)break;e=bu(l,pc,qc)|0;a=k[e>>2]|0;if(!a){x=0;a=ua(186,32)|0;Pc=x;x=0;if(Pc&1){a=mb()|0;P1(qc);break a}h=a+16|0;k[h>>2]=k[qc>>2];k[h+4>>2]=k[qc+4>>2];k[h+8>>2]=k[qc+8>>2];k[qc>>2]=0;k[qc+4>>2]=0;k[qc+8>>2]=0;k[a+28>>2]=0;h=k[pc>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=h;k[e>>2]=a;h=k[k[l>>2]>>2]|0;if(!h)h=a;else{k[l>>2]=h;h=k[e>>2]|0}hl(k[l+4>>2]|0,h);Rc=l+8|0;k[Rc>>2]=(k[Rc>>2]|0)+1}k[a+28>>2]=m;P1(qc);o=k[n+56>>2]|0;n=o+56|0;o=o+80|0;a=k[o>>2]|0;o=k[o+4>>2]|0;if((a|0)==(o|0)){a=Qc;break b}p=m+56|0;q=Jc+4|0;s=Jc+8|0;t=Jc+1|0;u=m+72|0;v=m+64|0;w=m+68|0;m=m+60|0;while(1){h=k[a>>2]|0;x=0;sa(430,Fc|0,h+60|0);Rc=x;x=0;if(Rc&1){Rc=15;break}x=0;Ua(11,Jc|0,Fc|0,0,0);Rc=x;x=0;if(Rc&1){Rc=150;break}P1(Fc);x=0;l=Ka(856,Tc|0,80)|0;Rc=x;x=0;if(Rc&1){Rc=151;break}K=Gc;I=h+8|0;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));x=0;e=Ka(861,n|0,h|0)|0;Rc=x;x=0;if(Rc&1){Rc=151;break}k[Hc>>2]=0;k[Hc+4>>2]=0;k[Hc+8>>2]=0;h=i[Jc>>0]|0;h=(h&1)==0?(h&255)>>>1:k[q>>2]|0;x=0;Ua(10,Hc|0,38283,1,h+1|0);Rc=x;x=0;if(Rc&1){Rc=140;break}x=0;xa(46,Hc|0,((i[Jc>>0]&1)==0?t:k[s>>2]|0)|0,h|0)|0;Rc=x;x=0;if(Rc&1){Rc=140;break}k[l+4>>2]=0;K=l+8|0;I=Gc;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));i[l+48>>0]=0;i[l+49>>0]=0;i[l+50>>0]=0;k[l+52>>2]=0;k[l>>2]=8476;k[l+56>>2]=e;x=0;sa(430,l+60|0,Hc|0);Rc=x;x=0;if(Rc&1){Rc=143;break}i[l+72>>0]=0;i[l+73>>0]=0;k[l+76>>2]=0;x=0;h=Ka(857,Tc|0,l|0)|0;Rc=x;x=0;if(Rc&1){Rc=153;break}k[Dc>>2]=h;e=h;if(h|0){k[u>>2]=0;l=k[v>>2]|0;if((l|0)==(k[w>>2]|0)){x=0;sa(455,m|0,Dc|0);Rc=x;x=0;if(Rc&1){Rc=153;break}}else{k[l>>2]=e;k[v>>2]=(k[v>>2]|0)+4}x=0;sa(k[k[p>>2]>>2]|0,p|0,h|0);Rc=x;x=0;if(Rc&1){Rc=153;break}}P1(Hc);P1(Jc);a=a+4|0;if((a|0)==(o|0)){a=Qc;break b}}if((Rc|0)==15){a=mb()|0;Rc=21;break a}else if((Rc|0)==140){a=mb()|0;P1(Hc);Rc=152}else if((Rc|0)==143){a=mb()|0;Rc=154}else if((Rc|0)==150){a=mb()|0;P1(Fc);break a}else if((Rc|0)==151){a=mb()|0;Rc=152}else if((Rc|0)==153){a=mb()|0;Rc=154}if((Rc|0)!=152)if((Rc|0)==154)P1(Hc);P1(Jc);break a}x=0;a=Ka(856,Tc|0,84)|0;Mc=x;x=0;if(!(Mc&1)){K=ad;I=zb+8|0;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));k[a+4>>2]=0;K=a+8|0;I=ad;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));i[a+48>>0]=0;i[a+49>>0]=0;i[a+50>>0]=0;k[a+60>>2]=0;k[a+64>>2]=0;k[a+68>>2]=0;k[a>>2]=4992;k[a+56>>2]=5104;k[a+76>>2]=0;i[a+80>>0]=1;i[a+81>>0]=0;k[a+52>>2]=5;x=0;v=Ka(857,Tc|0,a|0)|0;Mc=x;x=0;if(!(Mc&1)){k:do if(o>>>0>>0){p=v+56|0;q=v+72|0;s=v+64|0;t=v+68|0;u=v+60|0;l:while(1){n=k[(k[Ab>>2]|0)+(o<<2)>>2]|0;o=o+1|0;m=n+56|0;h=k[m>>2]|0;e=(h|0)==0;m:do if(e)Rc=174;else{a=Ot(h,64,256,0)|0;do if(a|0){if((k[a+60>>2]|0)!=(k[a+64>>2]|0))break;if(i[n+72>>0]|0)break m}while(0);l=Ot(h,64,600,0)|0;if(!l){Rc=174;break}x=0;a=Ka(856,Tc|0,80)|0;Mc=x;x=0;if(Mc&1){Rc=14;break l}k[a+4>>2]=k[l+4>>2];k[a>>2]=4748;K=a+8|0;I=l+8|0;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));k[a>>2]=6736;Ic=l+48|0;Jc=k[Ic+4>>2]|0;Mc=a+48|0;k[Mc>>2]=k[Ic>>2];k[Mc+4>>2]=Jc;k[a>>2]=8476;k[a+56>>2]=k[l+56>>2];x=0;sa(430,a+60|0,l+60|0);Mc=x;x=0;if(Mc&1){Rc=14;break l}Ic=l+72|0;Jc=k[Ic+4>>2]|0;Mc=a+72|0;k[Mc>>2]=k[Ic>>2];k[Mc+4>>2]=Jc;x=0;a=Ka(857,Tc|0,a|0)|0;Mc=x;x=0;if(Mc&1){Rc=14;break l}k[yc>>2]=a;h=a;if(a|0){k[q>>2]=0;e=k[s>>2]|0;if((e|0)==(k[t>>2]|0)){x=0;sa(455,u|0,yc|0);Mc=x;x=0;if(Mc&1){Rc=14;break l}}else{k[e>>2]=h;k[s>>2]=(k[s>>2]|0)+4}x=0;sa(k[k[p>>2]>>2]|0,p|0,a|0);Mc=x;x=0;if(Mc&1){Rc=14;break l}}}while(0);if((Rc|0)==174){Rc=0;if(i[n+72>>0]|0){Rc=175;break}x=0;h=Ka(856,Tc|0,80)|0;Mc=x;x=0;if(Mc&1){Rc=14;break}K=wc;I=n+8|0;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));a=k[m>>2]|0;x=0;sa(430,zc|0,n+60|0);Mc=x;x=0;if(Mc&1){Rc=14;break}k[h+4>>2]=0;K=h+8|0;I=wc;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;k[h+52>>2]=0;k[h>>2]=8476;k[h+56>>2]=a;x=0;sa(430,h+60|0,zc|0);Mc=x;x=0;if(Mc&1){Rc=197;break}i[h+72>>0]=0;i[h+73>>0]=0;k[h+76>>2]=0;x=0;a=Ka(857,Tc|0,h|0)|0;Mc=x;x=0;if(Mc&1){Rc=205;break}k[xc>>2]=a;h=a;if(a|0){k[q>>2]=0;e=k[s>>2]|0;if((e|0)==(k[t>>2]|0)){x=0;sa(455,u|0,xc|0);Mc=x;x=0;if(Mc&1){Rc=205;break}}else{k[e>>2]=h;k[s>>2]=(k[s>>2]|0)+4}x=0;sa(k[k[p>>2]>>2]|0,p|0,a|0);Mc=x;x=0;if(Mc&1){Rc=205;break}}P1(zc)}if(o>>>0>=Bb>>>0)break k}if((Rc|0)==14){a=mb()|0;Rc=21;break a}else if((Rc|0)==175){if(e)break;a=Ot(h,64,256,0)|0;if(!a)break;k[v+76>>2]=k[a+76>>2];x=0;n=ua(k[(k[a>>2]|0)+100>>2]|0,a|0)|0;Mc=x;x=0;if(Mc&1)break h;if(!n)break;l=a+60|0;m=0;while(1){x=0;h=Ka(856,Tc|0,80)|0;Mc=x;x=0;if(Mc&1){Rc=13;break}a=k[(k[l>>2]|0)+(m<<2)>>2]|0;K=Kc;I=a+8|0;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));x=0;Qa(74,Nc|0,78097,0);Mc=x;x=0;if(Mc&1){Rc=13;break}k[h+4>>2]=0;K=h+8|0;I=Kc;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));i[h+48>>0]=0;i[h+49>>0]=0;i[h+50>>0]=0;k[h+52>>2]=0;k[h>>2]=8476;k[h+56>>2]=a;x=0;sa(430,h+60|0,Nc|0);Mc=x;x=0;if(Mc&1){Rc=184;break}i[h+72>>0]=0;i[h+73>>0]=0;k[h+76>>2]=0;x=0;a=Ka(857,Tc|0,h|0)|0;Mc=x;x=0;if(Mc&1){Rc=191;break}k[Lc>>2]=a;h=a;if(a|0){k[q>>2]=0;e=k[s>>2]|0;if((e|0)==(k[t>>2]|0)){x=0;sa(455,u|0,Lc|0);Mc=x;x=0;if(Mc&1){Rc=191;break}}else{k[e>>2]=h;k[s>>2]=(k[s>>2]|0)+4}x=0;sa(k[k[p>>2]>>2]|0,p|0,a|0);Mc=x;x=0;if(Mc&1){Rc=191;break}}P1(Nc);m=m+1|0;if(m>>>0>=n>>>0)break k}if((Rc|0)==13){a=mb()|0;Rc=21;break a}else if((Rc|0)==184)a=mb()|0;else if((Rc|0)==191)a=mb()|0;P1(Nc);break a}else if((Rc|0)==197)a=mb()|0;else if((Rc|0)==205)a=mb()|0;P1(zc);break a}while(0);x=0;l=ua(188,f|0)|0;Nc=x;x=0;if(!(Nc&1)){x=0;sa(430,Pc|0,zb+48|0);Nc=x;x=0;if(!(Nc&1)){e=bu(l,Oc,Pc)|0;a=k[e>>2]|0;if(!a){x=0;a=ua(186,32)|0;Nc=x;x=0;if(Nc&1){a=mb()|0;P1(Pc);break a}h=a+16|0;k[h>>2]=k[Pc>>2];k[h+4>>2]=k[Pc+4>>2];k[h+8>>2]=k[Pc+8>>2];k[Pc>>2]=0;k[Pc+4>>2]=0;k[Pc+8>>2]=0;k[a+28>>2]=0;h=k[Oc>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=h;k[e>>2]=a;h=k[k[l>>2]>>2]|0;if(!h)h=a;else{k[l>>2]=h;h=k[e>>2]|0}hl(k[l+4>>2]|0,h);Rc=l+8|0;k[Rc>>2]=(k[Rc>>2]|0)+1}k[a+28>>2]=v;P1(Pc);a=Qc;break b}}}}}while(0);a=mb()|0;Rc=21;break a}case 225:{a=mb()|0;P1($b);P1(Za);D2(Ya);Rc=228;break}case 226:{a=mb()|0;Rc=229;break}case 227:{a=mb()|0;Rc=228;break}case 242:{a=mb()|0;Rc=246;break}case 243:{a=mb()|0;P1(Ib);Rc=246;break}case 253:{a=mb()|0;Rc=256;break}case 255:{a=mb()|0;Rc=256;break}case 280:{a=mb()|0;P1(Qb);P1(jb);D2(ib);Rc=283;break}case 281:{a=mb()|0;Rc=284;break}case 282:{a=mb()|0;Rc=283;break}case 291:{a=mb()|0;Rc=293;break}case 292:{a=mb()|0;P1(Kb);Rc=293;break}case 294:{a=mb()|0;Rc=295;break}case 296:{a=mb()|0;Rc=298;break}case 297:{a=mb()|0;P1(Lb);Rc=298;break}case 313:{a=mb()|0;P1(Hb);P1(ob);D2(nb);Rc=316;break}case 314:{a=mb()|0;Rc=317;break}case 315:{a=mb()|0;Rc=316;break}case 326:{a=mb()|0;P1(Nb);break a}case 327:{a=mb()|0;Rc=330;break}case 328:{a=mb()|0;P1(Ob);Rc=330;break}case 329:{a=mb()|0;P1(Pb);Rc=330;break}case 339:{a=mb()|0;P1(Rb);break a}case 352:{a=mb()|0;P1(Gb);P1(ab);D2($a);Rc=355;break}case 353:{a=mb()|0;Rc=356;break}case 354:{a=mb()|0;Rc=355;break}case 364:{a=mb()|0;Rc=367;break}case 365:{a=mb()|0;P1(Tb);Rc=367;break}case 366:{a=mb()|0;P1(Ub);Rc=367;break}case 388:{a=mb()|0;P1(Fb);P1(gb);D2(fb);Rc=391;break}case 389:{a=mb()|0;Rc=392;break}case 390:{a=mb()|0;Rc=391;break}case 402:{a=mb()|0;P1(Vb);break a}case 403:{a=mb()|0;Rc=406;break}case 404:{a=mb()|0;P1(Wb);Rc=406;break}case 405:{a=mb()|0;P1(Xb);Rc=406;break}case 413:{a=mb()|0;P1(Eb);P1(db);D2(cb);Rc=416;break}case 414:{a=mb()|0;Rc=417;break}case 415:{a=mb()|0;Rc=416;break}case 426:{a=mb()|0;P1(Yb);break a}case 427:{a=mb()|0;Rc=430;break}case 428:{a=mb()|0;P1(Zb);Rc=430;break}case 429:{a=mb()|0;P1(_b);Rc=430;break}case 439:{a=mb()|0;P1(ac);break a}}switch(Rc|0){case 228:{Rc=229;break}case 246:{k[gc>>2]=8216;k[qb>>2]=8256;k[_a>>2]=8236;k[Ya>>2]=8272;P1(Za);D2(Ya);P9(qb);break a}case 256:{P1(ec);break a}case 283:{Rc=284;break}case 293:{P1(fc);break a}case 298:{k[hc>>2]=8216;k[ub>>2]=8256;k[kb>>2]=8236;k[ib>>2]=8272;P1(jb);D2(ib);P9(ub);break}case 316:{Rc=317;break}case 330:{k[ic>>2]=8216;k[wb>>2]=8256;k[pb>>2]=8236;k[nb>>2]=8272;P1(ob);D2(nb);P9(wb);break a}case 355:{Rc=356;break}case 367:{k[jc>>2]=8216;k[rb>>2]=8256;k[bb>>2]=8236;k[$a>>2]=8272;P1(ab);D2($a);P9(rb);break a}case 391:{Rc=392;break}case 406:{k[kc>>2]=8216;k[tb>>2]=8256;k[hb>>2]=8236;k[fb>>2]=8272;P1(gb);D2(fb);P9(tb);break a}case 416:{Rc=417;break}case 430:{k[lc>>2]=8216;k[sb>>2]=8256;k[eb>>2]=8236;k[cb>>2]=8272;P1(db);D2(cb);P9(sb);break a}}if((Rc|0)==229){P9(qb);Rc=21;break a}else if((Rc|0)==284){P9(ub);Rc=295}else if((Rc|0)==317){P9(wb);Rc=21;break a}else if((Rc|0)==356){P9(rb);Rc=21;break a}else if((Rc|0)==392){P9(tb);Rc=21;break a}else if((Rc|0)==417){P9(sb);Rc=21;break a}P1(oc);break a}while(0);if(a>>>0>=Sc>>>0){cd=k[cd>>2]|0;$y(dd,cd);P1(ed);r=bd;return}p=c+52|0;H=$c+64|0;q=$c+8|0;E=$c+12|0;s=$c+4|0;t=$c+64|0;u=$c+136|0;v=$c+140|0;F=$c+44|0;w=$c+60|0;G=$c+8|0;y=Xc+8|0;z=Xc+1|0;A=Xc+4|0;B=ed+8|0;C=ed+1|0;D=ed+4|0;o=d+8|0;n=a;n:while(1){h=k[(k[p>>2]|0)+(n<<2)>>2]|0;e=h+48|0;x=0;sa(430,Uc|0,e|0);d=x;x=0;if(d&1){Rc=11;break}x=0;a=Ka(864,f|0,Uc|0)|0;d=x;x=0;if(d&1){Rc=455;break}P1(Uc);do if(!a){if(i[h+64>>0]|0){x=0;a=Ka(856,Tc|0,84)|0;d=x;x=0;if(d&1){Rc=11;break n}K=ad;I=h+8|0;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));k[a+4>>2]=0;K=a+8|0;I=ad;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));i[a+48>>0]=0;i[a+49>>0]=0;i[a+50>>0]=0;k[a+60>>2]=0;k[a+64>>2]=0;k[a+68>>2]=0;k[a>>2]=4992;k[a+56>>2]=5104;k[a+76>>2]=0;i[a+80>>0]=1;i[a+81>>0]=0;k[a+52>>2]=5;x=0;m=Ka(857,Tc|0,a|0)|0;d=x;x=0;if(d&1){Rc=11;break n}x=0;l=ua(188,f|0)|0;d=x;x=0;if(d&1){Rc=11;break n}x=0;sa(430,Vc|0,e|0);d=x;x=0;if(d&1){Rc=11;break n}e=bu(l,_c,Vc)|0;a=k[e>>2]|0;if(!a){x=0;a=ua(186,32)|0;d=x;x=0;if(d&1){Rc=456;break n}h=a+16|0;k[h>>2]=k[Vc>>2];k[h+4>>2]=k[Vc+4>>2];k[h+8>>2]=k[Vc+8>>2];k[Vc>>2]=0;k[Vc+4>>2]=0;k[Vc+8>>2]=0;k[a+28>>2]=0;h=k[_c>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=h;k[e>>2]=a;h=k[k[l>>2]>>2]|0;if(!h)h=a;else{k[l>>2]=h;h=k[e>>2]|0}hl(k[l+4>>2]|0,h);d=l+8|0;k[d>>2]=(k[d>>2]|0)+1}k[a+28>>2]=m;P1(Vc);break}a=k[h+60>>2]|0;if(a|0){x=0;m=Ka(k[(k[a>>2]|0)+40>>2]|0,a|0,g|0)|0;d=x;x=0;if(d&1){Rc=11;break n}x=0;l=ua(188,f|0)|0;d=x;x=0;if(d&1){Rc=11;break n}x=0;sa(430,Wc|0,e|0);d=x;x=0;if(d&1){Rc=11;break n}e=bu(l,ad,Wc)|0;a=k[e>>2]|0;if(!a){x=0;a=ua(186,32)|0;d=x;x=0;if(d&1){Rc=467;break n}h=a+16|0;k[h>>2]=k[Wc>>2];k[h+4>>2]=k[Wc+4>>2];k[h+8>>2]=k[Wc+8>>2];k[Wc>>2]=0;k[Wc+4>>2]=0;k[Wc+8>>2]=0;k[a+28>>2]=0;h=k[ad>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=h;k[e>>2]=a;h=k[k[l>>2]>>2]|0;if(!h)h=a;else{k[l>>2]=h;h=k[e>>2]|0}hl(k[l+4>>2]|0,h);d=l+8|0;k[d>>2]=(k[d>>2]|0)+1}k[a+28>>2]=m;P1(Wc);break}k[q>>2]=8236;k[$c>>2]=8440;k[H>>2]=8460;k[s>>2]=0;x=0;sa(452,t|0,E|0);d=x;x=0;if(d&1){Rc=472;break n}k[u>>2]=0;k[v>>2]=-1;k[$c>>2]=8216;k[H>>2]=8256;k[q>>2]=8236;x=0;ra(324,E|0);d=x;x=0;if(d&1){Rc=473;break n}k[E>>2]=8272;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;k[w>>2]=24;k[Zc>>2]=0;k[Zc+4>>2]=0;k[Zc+8>>2]=0;x=0;sa(453,E|0,Zc|0);d=x;x=0;if(d&1){Rc=471;break n}P1(Zc);x=0;a=xa(49,G|0,28331,19)|0;d=x;x=0;if(d&1){Rc=484;break n}x=0;sa(430,Xc|0,e|0);d=x;x=0;if(d&1){Rc=484;break n}d=i[Xc>>0]|0;c=(d&1)==0;x=0;a=xa(49,a|0,(c?z:k[y>>2]|0)|0,(c?(d&255)>>>1:k[A>>2]|0)|0)|0;d=x;x=0;if(d&1){Rc=485;break n}x=0;a=xa(49,a|0,28351,23)|0;d=x;x=0;if(d&1){Rc=485;break n}d=i[ed>>0]|0;c=(d&1)==0;x=0;xa(49,a|0,(c?C:k[B>>2]|0)|0,(c?(d&255)>>>1:k[D>>2]|0)|0)|0;d=x;x=0;if(d&1){Rc=485;break n}P1(Xc);x=0;sa(454,Yc|0,E|0);d=x;x=0;if(d&1){Rc=484;break n}x=0;K=ad;I=o;J=K+40|0;do{k[K>>2]=k[I>>2];K=K+4|0;I=I+4|0}while((K|0)<(J|0));sa(438,Yc|0,ad|0);d=x;x=0;if(d&1){Rc=486;break n}P1(Yc);k[$c>>2]=8216;k[H>>2]=8256;k[G>>2]=8236;k[E>>2]=8272;P1(F);D2(E);P9(H)}while(0);n=n+1|0;if(n>>>0>=Sc>>>0){Rc=489;break}}switch(Rc|0){case 11:{a=mb()|0;Rc=21;break a}case 455:{a=mb()|0;P1(Uc);break a}case 456:{a=mb()|0;P1(Vc);break a}case 467:{a=mb()|0;P1(Wc);break a}case 471:{a=mb()|0;P1(Zc);P1(F);D2(E);Rc=474;break}case 472:{a=mb()|0;break}case 473:{a=mb()|0;Rc=474;break}case 484:{a=mb()|0;Rc=487;break}case 485:{a=mb()|0;P1(Xc);Rc=487;break}case 486:{a=mb()|0;P1(Yc);Rc=487;break}case 489:{cd=k[cd>>2]|0;$y(dd,cd);P1(ed);r=bd;return}}if((Rc|0)!=474)if((Rc|0)==487){k[$c>>2]=8216;k[H>>2]=8256;k[G>>2]=8236;k[E>>2]=8272;P1(F);D2(E);P9(H);break}P9(H);Rc=21}while(0);$y(dd,k[cd>>2]|0)}P1(ed);ed=a;yb(ed|0)}function Zc(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;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,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,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,ta=0,va=0,wa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ia=0,Ja=0,La=0,Ma=0,Na=0,Oa=0,Ra=0,Sa=0,Ta=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,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,zb=0,Ab=0,Bb=0,Cb=0;Bb=0;Ab=r;r=r+768|0;wa=Ab+8|0;ya=Ab+756|0;za=Ab+752|0;Fa=Ab+744|0;Ma=Ab+740|0;Ga=Ab+736|0;Ia=Ab+732|0;gb=Ab+720|0;_a=Ab+708|0;Na=Ab+760|0;eb=Ab+696|0;bb=Ab+684|0;Va=Ab+680|0;Ya=Ab+668|0;Ja=Ab;ab=Ab+656|0;Wa=Ab+632|0;La=Ab+616|0;lb=Ab+592|0;jb=Ab+568|0;kb=Ab+544|0;nb=Ab+520|0;ob=Ab+496|0;qb=Ab+472|0;pb=Ab+448|0;rb=Ab+424|0;vb=Ab+392|0;wb=Ab+368|0;xb=Ab+356|0;ub=Ab+344|0;Aa=Ab+336|0;Ba=Ab+332|0;Ca=Ab+416|0;h=Ab+296|0;Ra=Ab+256|0;Ta=Ab+232|0;Sa=Ab+184|0;Oa=Ab+160|0;ib=Ab+320|0;Xa=Ab+144|0;Da=Ab+280|0;Ea=Ab+208|0;Za=Ab+120|0;tb=Ab+96|0;sb=Ab+72|0;zb=Ab+48|0;k[Ca>>2]=b;Pg(h,b,c);x=0;ra(335,Ra|0);Cb=x;x=0;if(Cb&1){j=mb()|0;b=h+20|0}else{n=h+16|0;j=k[n>>2]|0;b=h+20|0;l=k[b>>2]|0;m=(l|0)==0;if(!m)c3(l);Cb=k[j+4>>2]|0;h=k[j+16>>2]|0;p=Cb+(((h>>>0)/170|0)<<2)|0;if((k[j+8>>2]|0)==(Cb|0))o=0;else o=(k[p>>2]|0)+(((h>>>0)%170|0)*24|0)|0;if(!m)CQ(l);h=k[n>>2]|0;m=k[b>>2]|0;n=(m|0)==0;if(!n)c3(m);j=(k[h+16>>2]|0)+(k[h+20>>2]|0)|0;l=k[h+4>>2]|0;if((k[h+8>>2]|0)==(l|0))ma=0;else ma=(k[l+(((j>>>0)/170|0)<<2)>>2]|0)+(((j>>>0)%170|0)*24|0)|0;if(!n)CQ(m);N=ib+4|0;O=ib+8|0;fb=ib+4|0;P=e+4|0;cb=eb+4|0;Q=eb+8|0;$a=bb+4|0;R=bb+8|0;S=Xa+4|0;T=Xa+8|0;ka=Xa+4|0;U=Oa+16|0;hb=Oa+20|0;V=Ra+16|0;Cb=Ra+20|0;W=Ea+16|0;na=Ea+20|0;db=gb+4|0;X=ab+4|0;Y=ab+8|0;va=ab+4|0;Z=La+4|0;_=La+8|0;$=La+4|0;aa=Wa+16|0;oa=Wa+20|0;ba=Oa+16|0;ca=c+36|0;da=Ya+4|0;ea=Ya+8|0;la=Ya+4|0;fa=Ja+4|0;ga=bb+8|0;ha=la;qa=_a+4|0;ia=Ta+16|0;ta=Ta+20|0;ja=Sa+16|0;pa=Sa+20|0;h=o;a:while(1){do{L=h;if((L|0)==(ma|0)){Bb=17;break a}if(!(k[L+4>>2]|0)){K=L+12|0;J=k[(k[K>>2]|0)+72>>2]|0;k[N>>2]=0;k[O>>2]=0;k[ib>>2]=fb;h=k[e>>2]|0;if((h|0)!=(P|0)){j=h;while(1){k[Ba>>2]=fb;x=0;k[wa>>2]=k[Ba>>2];xa(55,ib|0,wa|0,j+16|0)|0;I=x;x=0;if(I&1){Bb=81;break a}h=k[j+4>>2]|0;if(!h)while(1){h=k[j+8>>2]|0;if((k[h>>2]|0)==(j|0))break;else j=h}else while(1){j=k[h>>2]|0;if(!j)break;else h=j}if((h|0)==(P|0))break;else j=h}}x=0;ra(335,Oa|0);I=x;x=0;if(I&1){Bb=273;break a}x=0;sa(516,_a|0,J|0);I=x;x=0;if(I&1){Bb=94;break a}x=0;Qa(117,gb|0,d|0,_a|0);I=x;x=0;if(I&1){Bb=95;break a}h=k[_a>>2]|0;if(h|0){j=k[qa>>2]|0;if((j|0)!=(h|0)){do{I=j+-12|0;k[qa>>2]=I;P1(I);j=k[qa>>2]|0}while((j|0)!=(h|0));h=k[_a>>2]|0}uha(h)}k[eb>>2]=0;k[cb>>2]=0;k[Q>>2]=0;x=0;Qa(119,gb|0,Na|0,eb|0);I=x;x=0;if(I&1){Bb=100;break a}k[bb>>2]=0;k[$a>>2]=0;k[R>>2]=0;h=k[eb>>2]|0;F=k[cb>>2]|0;do if((h|0)!=(F|0)){G=J+8|0;H=J+88|0;I=J+92|0;do{x=0;j=Ka(856,ca|0,104)|0;E=x;x=0;if(E&1){Bb=109;break a}n=wa;o=G;q=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));k[j+4>>2]=0;n=j+8|0;o=wa;q=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));i[j+48>>0]=0;i[j+49>>0]=0;i[j+50>>0]=0;D=j+56|0;k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;k[j+52>>2]=7;k[j+72>>2]=0;k[j+76>>2]=0;k[j+80>>2]=0;k[j>>2]=6984;k[j+68>>2]=7116;D=j+92|0;k[D>>2]=0;k[j+96>>2]=0;k[j+88>>2]=D;i[j+100>>0]=0;i[j+101>>0]=0;x=0;D=Ka(857,ca|0,j|0)|0;E=x;x=0;if(E&1){Bb=109;break a}E=D;j=k[h+84>>2]|0;w=k[h+88>>2]|0;if((j|0)!=(w|0)){y=D+68|0;z=y+16|0;A=y+8|0;B=y+12|0;C=y+4|0;do{l=k[j+4>>2]|0;u=l+72|0;v=l+76|0;m=k[v>>2]|0;n=k[u>>2]|0;if((m|0)!=(n|0)){t=l+100|0;s=0;do{o=k[n+(s<<2)>>2]|0;k[Ia>>2]=o;q=o;if(o){k[z>>2]=0;l=k[A>>2]|0;if((l|0)==(k[B>>2]|0)){x=0;sa(450,C|0,Ia|0);q=x;x=0;if(q&1){Bb=107;break a}}else{k[l>>2]=q;k[A>>2]=(k[A>>2]|0)+4}x=0;sa(k[k[y>>2]>>2]|0,y|0,o|0);q=x;x=0;if(q&1){Bb=107;break a}m=k[v>>2]|0;n=k[u>>2]|0}i[t>>0]=1;s=s+1|0}while(s>>>0>2>>>0)}j=j+8|0}while((j|0)!=(w|0))}k[Va>>2]=h;x=0;l=xa(56,J|0,D|0,c|0)|0;C=x;x=0;if(C&1){Bb=109;break a}x=0;j=ua(216,h|0)|0;C=x;x=0;if(C&1){Bb=109;break a}j=k[j+72>>2]|0;if(!j){x=0;j=Ka(856,ca|0,104)|0;C=x;x=0;if(C&1){Bb=109;break a}n=wa;o=G;q=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));k[j+4>>2]=0;n=j+8|0;o=wa;q=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));i[j+48>>0]=0;i[j+49>>0]=0;i[j+50>>0]=0;C=j+56|0;k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;k[j+52>>2]=7;k[j+72>>2]=0;k[j+76>>2]=0;k[j+80>>2]=0;k[j>>2]=6984;k[j+68>>2]=7116;C=j+92|0;k[C>>2]=0;k[j+96>>2]=0;k[j+88>>2]=C;i[j+100>>0]=0;i[j+101>>0]=0;x=0;j=Ka(857,ca|0,j|0)|0;C=x;x=0;if(C&1){Bb=109;break a}}x=0;l=xa(57,j|0,l|0,c|0)|0;C=x;x=0;if(C&1){Bb=109;break a}do if(l|0){if((k[l+76>>2]|0)==(k[l+72>>2]|0))break;x=0;s=Ka(886,h|0,c|0)|0;C=x;x=0;if(C&1){Bb=109;break a}t=s;x=0;m=Ka(856,ca|0,84)|0;C=x;x=0;if(C&1){Bb=109;break a}n=wa;o=G;q=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));k[m+4>>2]=0;n=m+8|0;o=wa;q=n+40|0;do{k[n>>2]=k[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));i[m+48>>0]=0;i[m+49>>0]=0;i[m+50>>0]=0;j=m+56|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[m+52>>2]=7;k[m>>2]=7696;k[m+68>>2]=0;k[m+72>>2]=l;k[m+76>>2]=0;k[m+80>>2]=0;if(i[l+56>>0]|0)i[j>>0]=1;x=0;j=Ka(857,ca|0,m|0)|0;C=x;x=0;if(C&1){Bb=109;break a}x=0;l=ua(217,s|0)|0;C=x;x=0;if(C&1){Bb=109;break a}x=0;Qa(120,s|0,j|0,l|0);C=x;x=0;if(C&1){Bb=109;break a}k[da>>2]=0;k[ea>>2]=0;k[Ya>>2]=la;j=k[H>>2]|0;if((j|0)!=(I|0)){m=j;l=j;while(1){m=m+16|0;k[Ga>>2]=ha;x=0;k[wa>>2]=k[Ga>>2];n=Pa(6,Ya|0,wa|0,Ma|0,m|0)|0;C=x;x=0;if(C&1){Bb=148;break a}if(!(k[n>>2]|0)){x=0;j=ua(186,20)|0;C=x;x=0;if(C&1){Bb=148;break a}k[j+16>>2]=k[m>>2];m=k[Ma>>2]|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=m;k[n>>2]=j;m=k[k[Ya>>2]>>2]|0;if(m){k[Ya>>2]=m;j=k[n>>2]|0}hl(k[da>>2]|0,j);k[ea>>2]=(k[ea>>2]|0)+1}j=k[l+4>>2]|0;if(!j)while(1){j=k[l+8>>2]|0;if((k[j>>2]|0)==(l|0))break;else l=j}else while(1){l=k[j>>2]|0;if(!l)break;else j=l}if((j|0)==(I|0))break;else{m=j;l=j}}}x=0;Qa(121,Fa|0,Ya|0,Va|0);C=x;x=0;if(C&1){Bb=157;break a}if(s|0){l=s;do{j=k[l+72>>2]|0;if(j|0){x=0;Qa(122,j|0,Ya|0,c|0);C=x;x=0;if(C&1){Bb=156;break a}}l=k[l+76>>2]|0}while((l|0)!=0)}if(i[D+57>>0]|0)i[s+57>>0]=1;k[Ja>>2]=E;k[fa>>2]=t;j=k[$a>>2]|0;if(j>>>0<(k[ga>>2]|0)>>>0){C=Ja;D=k[C+4>>2]|0;E=j;k[E>>2]=k[C>>2];k[E+4>>2]=D;k[$a>>2]=(k[$a>>2]|0)+8}else{x=0;sa(517,bb|0,Ja|0);E=x;x=0;if(E&1){Bb=157;break a}}ZD(Ya,k[la>>2]|0)}while(0);h=h+96|0}while((h|0)!=(F|0));h=k[bb>>2]|0;B=k[$a>>2]|0;if((h|0)==(B|0))h=B;else{do{n=k[h>>2]|0;o=k[h+4>>2]|0;l=k[fb>>2]|0;do if(!l)Bb=191;else{j=fb;b:do{while(1){x=0;m=Ka(887,l+16|0,n|0)|0;J=x;x=0;if(J&1){Bb=106;break a}if(!m){j=l;break}l=k[l+4>>2]|0;if(!l)break b}l=k[j>>2]|0}while((l|0)!=0);if((j|0)==(fb|0)){Bb=191;break}x=0;j=Ka(887,n|0,j+16|0)|0;J=x;x=0;if(J&1){Bb=108;break a}if(j)Bb=191}while(0);if((Bb|0)==191){Bb=0;k[X>>2]=0;k[Y>>2]=0;k[ab>>2]=va;j=k[ib>>2]|0;if((j|0)!=(fb|0)){l=j;while(1){k[za>>2]=va;x=0;k[wa>>2]=k[za>>2];xa(55,ab|0,wa|0,l+16|0)|0;J=x;x=0;if(J&1){Bb=198;break a}j=k[l+4>>2]|0;if(!j)while(1){j=k[l+8>>2]|0;if((k[j>>2]|0)==(l|0))break;else l=j}else while(1){l=k[j>>2]|0;if(!l)break;else j=l}if((j|0)==(fb|0))break;else l=j}}x=0;Qa(123,wa|0,ab|0,n|0);J=x;x=0;if(J&1){Bb=226;break a}k[Z>>2]=0;k[_>>2]=0;k[La>>2]=$;j=k[ab>>2]|0;if((j|0)!=(va|0)){l=j;while(1){k[ya>>2]=$;x=0;k[wa>>2]=k[ya>>2];xa(55,La|0,wa|0,l+16|0)|0;J=x;x=0;if(J&1){Bb=207;break a}j=k[l+4>>2]|0;if(!j)while(1){j=k[l+8>>2]|0;if((k[j>>2]|0)==(l|0))break;else l=j}else while(1){l=k[j>>2]|0;if(!l)break;else j=l}if((j|0)==(va|0))break;else l=j}}x=0;Ha(2,Wa|0,o|0,c|0,d|0,La|0,f|0,0);J=x;x=0;if(J&1){Bb=228;break a}ND(La,k[$>>2]|0);j=k[aa>>2]|0;m=k[oa>>2]|0;n=(m|0)==0;if(!n)c3(m);J=k[j+4>>2]|0;l=k[j+16>>2]|0;s=J+(((l>>>0)/170|0)<<2)|0;if((k[j+8>>2]|0)==(J|0))j=0;else j=(k[s>>2]|0)+(((l>>>0)%170|0)*24|0)|0;if(!n)CQ(m);l=k[aa>>2]|0;o=k[oa>>2]|0;q=(o|0)==0;if(!q)c3(o);m=(k[l+16>>2]|0)+(k[l+20>>2]|0)|0;n=k[l+4>>2]|0;if((k[l+8>>2]|0)==(n|0))A=0;else A=(k[n+(((m>>>0)/170|0)<<2)>>2]|0)+(((m>>>0)%170|0)*24|0)|0;if(!q)CQ(o);c:while(1){do{if((j|0)==(A|0))break c;x=0;l=xa(54,Oa|0,j|0,0)|0;J=x;x=0;if(J&1){Bb=229;break a}do if(!l){l=k[ba>>2]|0;y=k[hb>>2]|0;z=(y|0)==0;if(!z)c3(y);u=l+8|0;n=k[u>>2]|0;v=l+4|0;m=k[v>>2]|0;J=n-m>>2;q=l+16|0;t=k[q>>2]|0;w=l+20|0;o=k[w>>2]|0;if((((J|0)==0?0:(J*170|0)+-1|0)|0)==(o+t|0)){x=0;ra(336,l|0);J=x;x=0;if(J&1){Bb=243;break a}o=k[w>>2]|0;l=k[q>>2]|0;n=k[u>>2]|0;m=k[v>>2]|0}else l=t;l=o+l|0;if((n|0)==(m|0))l=0;else l=(k[m+(((l>>>0)/170|0)<<2)>>2]|0)+(((l>>>0)%170|0)*24|0)|0;k[l>>2]=k[j>>2];k[l+4>>2]=k[j+4>>2];k[l+8>>2]=k[j+8>>2];k[l+12>>2]=k[j+12>>2];k[l+16>>2]=k[j+16>>2];m=k[j+20>>2]|0;k[l+20>>2]=m;if(m|0)c3(m);k[w>>2]=(k[w>>2]|0)+1;if(z)break;CQ(y)}while(0);j=j+24|0}while((j-(k[s>>2]|0)|0)!=4080);j=s+4|0;s=j;j=k[j>>2]|0}j=k[oa>>2]|0;if(j|0)CQ(j);ND(ab,k[va>>2]|0)}h=h+8|0}while((h|0)!=(B|0));h=k[bb>>2]|0}if(!h)break;j=k[$a>>2]|0;if((j|0)!=(h|0))k[$a>>2]=j+(~((j+-8-h|0)>>>3)<<3);uha(h)}while(0);h=k[eb>>2]|0;if(h|0){j=k[cb>>2]|0;if((j|0)!=(h|0)){do{l=j+-96|0;k[cb>>2]=l;m=k[j+-12>>2]|0;n=m;if(!m)j=l;else{j=j+-8|0;l=k[j>>2]|0;if((l|0)!=(m|0))k[j>>2]=l+(~((l+-8-n|0)>>>3)<<3);uha(m);j=k[cb>>2]|0}}while((j|0)!=(h|0));h=k[eb>>2]|0}uha(h)}h=k[gb>>2]|0;j=h;if(h|0){l=k[db>>2]|0;if((l|0)!=(h|0))k[db>>2]=l+(~((l+-8-j|0)>>>3)<<3);uha(h)}ND(ib,k[fb>>2]|0);if(i[L>>0]|0)i[Oa>>0]=1;t=k[K>>2]|0;do if(g){if(i[(k[Ca>>2]|0)+56>>0]|0)break;k[S>>2]=0;k[T>>2]=0;k[Xa>>2]=ka;x=0;Qa(121,Aa|0,Xa|0,Ca|0);K=x;x=0;if(K&1){Bb=285;break a}if(t|0){j=t;do{h=k[j+72>>2]|0;if(h|0){x=0;Qa(122,h|0,Xa|0,c|0);K=x;x=0;if(K&1){Bb=284;break a}}j=k[j+76>>2]|0}while((j|0)!=0)}ZD(Xa,k[ka>>2]|0)}while(0);h=k[U>>2]|0;l=k[hb>>2]|0;m=(l|0)==0;if(!m)c3(l);K=k[h+4>>2]|0;j=k[h+16>>2]|0;q=K+(((j>>>0)/170|0)<<2)|0;if((k[h+8>>2]|0)==(K|0))h=0;else h=(k[q>>2]|0)+(((j>>>0)%170|0)*24|0)|0;j=h;if(!m)CQ(l);h=k[U>>2]|0;n=k[hb>>2]|0;o=(n|0)==0;if(!o)c3(n);l=(k[h+16>>2]|0)+(k[h+20>>2]|0)|0;m=k[h+4>>2]|0;if((k[h+8>>2]|0)==(m|0))s=0;else s=(k[m+(((l>>>0)/170|0)<<2)>>2]|0)+(((l>>>0)%170|0)*24|0)|0;if(o){h=0;n=q}else{CQ(n);h=0;n=q}d:while(1){do{if((j|0)==(s|0))break d;x=0;l=Ka(858,j|0,c|0)|0;K=x;x=0;if(K&1){Bb=283;break a}m=k[(k[l>>2]|0)+112>>2]|0;x=0;Qa(74,Da|0,78097,0);K=x;x=0;if(K&1){Bb=283;break a}x=0;l=xa(m|0,l|0,t|0,Da|0)|0;K=x;x=0;if(K&1){Bb=305;break a}P1(Da);h=h|l;if(l)break d;j=j+24|0}while((j-(k[n>>2]|0)|0)!=4080);j=n+4|0;n=j;j=k[j>>2]|0}do if(!h){if(i[L>>0]|0)i[t+57>>0]=1;q=k[U>>2]|0;l=k[hb>>2]|0;h=(l|0)==0;if(!h)c3(l);x=0;Qa(80,Ea|0,t|0,c|0);K=x;x=0;if(K&1){Bb=323;break a}o=q+16|0;j=k[o>>2]|0;if(!j){x=0;ra(337,q|0);K=x;x=0;if(K&1){m=l;Bb=324;break a}j=k[o>>2]|0}K=k[q+4>>2]|0;n=K+(((j>>>0)/170|0)<<2)|0;m=k[n>>2]|0;if((k[q+8>>2]|0)==(K|0))j=0;else j=m+(((j>>>0)%170|0)*24|0)|0;if((j|0)==(m|0))j=(k[n+-4>>2]|0)+4080|0;K=j+-24|0;k[K>>2]=k[Ea>>2];k[K+4>>2]=k[Ea+4>>2];k[K+8>>2]=k[Ea+8>>2];k[K+12>>2]=k[Ea+12>>2];k[j+-8>>2]=k[W>>2];k[j+-4>>2]=k[na>>2];k[W>>2]=0;k[na>>2]=0;k[o>>2]=(k[o>>2]|0)+-1;K=q+20|0;k[K>>2]=(k[K>>2]|0)+1;if(h)break;CQ(l)}while(0);h=k[V>>2]|0;u=k[Cb>>2]|0;v=(u|0)==0;if(!v)c3(u);q=h+8|0;l=k[q>>2]|0;s=h+4|0;j=k[s>>2]|0;K=l-j>>2;n=h+16|0;o=k[n>>2]|0;t=h+20|0;m=k[t>>2]|0;if((((K|0)==0?0:(K*170|0)+-1|0)|0)==(m+o|0)){x=0;ra(336,h|0);K=x;x=0;if(K&1){Bb=344;break a}m=k[t>>2]|0;h=k[n>>2]|0;l=k[q>>2]|0;j=k[s>>2]|0}else h=o;h=m+h|0;if((l|0)==(j|0))h=0;else h=(k[j+(((h>>>0)/170|0)<<2)>>2]|0)+(((h>>>0)%170|0)*24|0)|0;k[h>>2]=k[Oa>>2];k[h+4>>2]=k[Oa+4>>2];k[h+8>>2]=k[Oa+8>>2];k[h+12>>2]=k[Oa+12>>2];k[h+16>>2]=k[U>>2];j=k[hb>>2]|0;k[h+20>>2]=j;if(j|0)c3(j);k[t>>2]=(k[t>>2]|0)+1;if(!v)CQ(u);h=k[hb>>2]|0;if(h|0)CQ(h)}else{x=0;ra(335,Ta|0);K=x;x=0;if(K&1){Bb=19;break a}x=0;ra(335,Sa|0);K=x;x=0;if(K&1){Bb=63;break a}h=k[ia>>2]|0;u=k[ta>>2]|0;v=(u|0)==0;if(!v)c3(u);q=h+8|0;l=k[q>>2]|0;s=h+4|0;j=k[s>>2]|0;K=l-j>>2;n=h+16|0;o=k[n>>2]|0;t=h+20|0;m=k[t>>2]|0;if((((K|0)==0?0:(K*170|0)+-1|0)|0)==(m+o|0)){x=0;ra(336,h|0);K=x;x=0;if(K&1){Bb=64;break a}m=k[t>>2]|0;h=k[n>>2]|0;l=k[q>>2]|0;j=k[s>>2]|0}else h=o;h=m+h|0;if((l|0)==(j|0))h=0;else h=(k[j+(((h>>>0)/170|0)<<2)>>2]|0)+(((h>>>0)%170|0)*24|0)|0;k[h>>2]=k[Sa>>2];k[h+4>>2]=k[Sa+4>>2];k[h+8>>2]=k[Sa+8>>2];k[h+12>>2]=k[Sa+12>>2];k[h+16>>2]=k[ja>>2];j=k[pa>>2]|0;k[h+20>>2]=j;if(j|0)c3(j);k[t>>2]=(k[t>>2]|0)+1;if(!v)CQ(u);h=k[ja>>2]|0;u=k[pa>>2]|0;v=(u|0)==0;if(!v)c3(u);q=h+8|0;l=k[q>>2]|0;s=h+4|0;j=k[s>>2]|0;K=l-j>>2;n=h+16|0;o=k[n>>2]|0;t=h+20|0;m=k[t>>2]|0;if((((K|0)==0?0:(K*170|0)+-1|0)|0)==(m+o|0)){x=0;ra(336,h|0);K=x;x=0;if(K&1){Bb=66;break a}m=k[t>>2]|0;h=k[n>>2]|0;l=k[q>>2]|0;j=k[s>>2]|0}else h=o;h=m+h|0;if((l|0)==(j|0))h=0;else h=(k[j+(((h>>>0)/170|0)<<2)>>2]|0)+(((h>>>0)%170|0)*24|0)|0;k[h>>2]=k[L>>2];k[h+4>>2]=k[L+4>>2];k[h+8>>2]=k[L+8>>2];k[h+12>>2]=k[L+12>>2];k[h+16>>2]=k[L+16>>2];j=k[L+20>>2]|0;k[h+20>>2]=j;if(j|0)c3(j);k[t>>2]=(k[t>>2]|0)+1;if(!v)CQ(u);h=k[V>>2]|0;u=k[Cb>>2]|0;v=(u|0)==0;if(!v)c3(u);q=h+8|0;l=k[q>>2]|0;s=h+4|0;j=k[s>>2]|0;K=l-j>>2;n=h+16|0;o=k[n>>2]|0;t=h+20|0;m=k[t>>2]|0;if((((K|0)==0?0:(K*170|0)+-1|0)|0)==(m+o|0)){x=0;ra(336,h|0);K=x;x=0;if(K&1){Bb=68;break a}m=k[t>>2]|0;h=k[n>>2]|0;l=k[q>>2]|0;j=k[s>>2]|0}else h=o;h=m+h|0;if((l|0)==(j|0))h=0;else h=(k[j+(((h>>>0)/170|0)<<2)>>2]|0)+(((h>>>0)%170|0)*24|0)|0;k[h>>2]=k[Ta>>2];k[h+4>>2]=k[Ta+4>>2];k[h+8>>2]=k[Ta+8>>2];k[h+12>>2]=k[Ta+12>>2];k[h+16>>2]=k[ia>>2];j=k[ta>>2]|0;k[h+20>>2]=j;if(j|0)c3(j);k[t>>2]=(k[t>>2]|0)+1;if(!v)CQ(u);h=k[pa>>2]|0;if(h|0)CQ(h);h=k[ta>>2]|0;if(h|0)CQ(h)}h=L+24|0}while((h-(k[p>>2]|0)|0)!=4080);h=p+4|0;p=h;h=k[h>>2]|0}switch(Bb|0){case 17:{x=0;Qa(118,Za|0,Ra|0,c|0);ib=x;x=0;if(ib&1){h=mb()|0;Bb=21;break}x=0;ra(335,tb|0);ib=x;x=0;if(ib&1){j=mb()|0;h=Za+20|0}else{o=Za+16|0;l=k[o>>2]|0;h=Za+20|0;m=k[h>>2]|0;n=(m|0)==0;if(!n)c3(m);ib=k[l+4>>2]|0;j=k[l+16>>2]|0;q=ib+(((j>>>0)/170|0)<<2)|0;if((k[l+8>>2]|0)==(ib|0))p=0;else p=(k[q>>2]|0)+(((j>>>0)%170|0)*24|0)|0;if(!n)CQ(m);m=k[o>>2]|0;n=k[h>>2]|0;o=(n|0)==0;if(!o)c3(n);j=(k[m+16>>2]|0)+(k[m+20>>2]|0)|0;l=k[m+4>>2]|0;if((k[m+8>>2]|0)==(l|0))U=0;else U=(k[l+(((j>>>0)/170|0)<<2)>>2]|0)+(((j>>>0)%170|0)*24|0)|0;if(!o)CQ(n);F=lb+16|0;$=lb+20|0;G=jb+16|0;V=jb+20|0;_=kb+20|0;H=kb+16|0;I=nb+16|0;Z=nb+20|0;J=ob+16|0;Y=ob+20|0;K=pb+4|0;W=pb+20|0;L=pb+16|0;N=qb+16|0;X=qb+20|0;O=rb+16|0;T=rb+20|0;P=qb+16|0;Q=sb+16|0;S=sb+20|0;R=tb+16|0;aa=tb+20|0;E=q;j=p;e:while(1){do{if((j|0)==(U|0)){Bb=364;break e}x=0;ra(335,lb|0);ib=x;x=0;if(ib&1){Bb=502;break e}n=k[F>>2]|0;m=k[$>>2]|0;l=(m|0)==0;if(!l)c3(m);x=0;ra(335,jb|0);ib=x;x=0;if(ib&1){Bb=539;break e}u=n+8|0;p=k[u>>2]|0;v=n+4|0;o=k[v>>2]|0;ib=p-o>>2;s=n+16|0;t=k[s>>2]|0;w=n+20|0;q=k[w>>2]|0;if((((ib|0)==0?0:(ib*170|0)+-1|0)|0)==(q+t|0)){x=0;ra(336,n|0);ib=x;x=0;if(ib&1){n=l;Bb=540;break e}q=k[w>>2]|0;n=k[s>>2]|0;p=k[u>>2]|0;o=k[v>>2]|0}else n=t;n=q+n|0;if((p|0)==(o|0))n=0;else n=(k[o+(((n>>>0)/170|0)<<2)>>2]|0)+(((n>>>0)%170|0)*24|0)|0;k[n>>2]=k[jb>>2];k[n+4>>2]=k[jb+4>>2];k[n+8>>2]=k[jb+8>>2];k[n+12>>2]=k[jb+12>>2];k[n+16>>2]=k[G>>2];k[n+20>>2]=k[V>>2];k[G>>2]=0;k[V>>2]=0;k[w>>2]=(k[w>>2]|0)+1;if(!l)CQ(m);x=0;ra(335,kb|0);ib=x;x=0;if(ib&1){Bb=538;break e}x=0;sa(446,kb|0,j|0);ib=x;x=0;if(ib&1){Bb=544;break e}f:while(1){l=k[H>>2]|0;m=k[_>>2]|0;do if(!m){if(!(k[l+20>>2]|0)){Bb=662;break f}m=0;n=1}else{c3(m);ib=(k[l+20>>2]|0)==0;CQ(m);if(ib){Bb=662;break f}l=k[H>>2]|0;m=k[_>>2]|0;if(!m){m=0;n=1;break}c3(m);n=0}while(0);ib=k[l+16>>2]|0;x=0;Qa(124,nb|0,(k[(k[l+4>>2]|0)+(((ib>>>0)/170|0)<<2)>>2]|0)+(((ib>>>0)%170|0)*24|0)|0,c|0);ib=x;x=0;if(ib&1){Bb=545;break e}if(!n)CQ(m);n=k[H>>2]|0;o=k[_>>2]|0;p=(o|0)==0;if(!p)c3(o);q=n+4|0;s=n+16|0;l=k[s>>2]|0;m=k[(k[(k[q>>2]|0)+(((l>>>0)/170|0)<<2)>>2]|0)+(((l>>>0)%170|0)*24|0)+20>>2]|0;if(m){CQ(m);l=k[s>>2]|0}ib=n+20|0;k[ib>>2]=(k[ib>>2]|0)+-1;ib=l+1|0;k[s>>2]=ib;if(ib>>>0>339){uha(k[k[q>>2]>>2]|0);k[q>>2]=(k[q>>2]|0)+4;k[s>>2]=(k[s>>2]|0)+-170}if(!p)CQ(o);l=k[I>>2]|0;m=k[Z>>2]|0;if(!m)if(!(k[l+20>>2]|0))l=2;else Bb=548;else{c3(m);ib=(k[l+20>>2]|0)==0;CQ(m);if(ib)l=2;else Bb=548}if((Bb|0)==548){Bb=0;x=0;ra(335,ob|0);ib=x;x=0;if(ib&1){Bb=547;break e}p=k[J>>2]|0;y=k[Y>>2]|0;z=(y|0)==0;if(!z)c3(y);l=k[I>>2]|0;A=k[Z>>2]|0;B=(A|0)==0;if(!B)c3(A);v=(k[l+20>>2]|0)+-1+(k[l+16>>2]|0)|0;u=k[(k[l+4>>2]|0)+(((v>>>0)/170|0)<<2)>>2]|0;v=(v>>>0)%170|0;s=p+8|0;n=k[s>>2]|0;t=p+4|0;m=k[t>>2]|0;ib=n-m>>2;q=p+16|0;o=k[q>>2]|0;w=p+20|0;l=k[w>>2]|0;if((((ib|0)==0?0:(ib*170|0)+-1|0)|0)==(l+o|0)){x=0;ra(336,p|0);ib=x;x=0;if(ib&1){Bb=589;break e}l=k[w>>2]|0;o=k[q>>2]|0;n=k[s>>2]|0;m=k[t>>2]|0}l=l+o|0;if((n|0)==(m|0))m=0;else m=(k[m+(((l>>>0)/170|0)<<2)>>2]|0)+(((l>>>0)%170|0)*24|0)|0;l=u+(v*24|0)|0;ib=l|0;k[m>>2]=k[ib>>2];k[m+4>>2]=k[ib+4>>2];k[m+8>>2]=k[ib+8>>2];k[m+12>>2]=k[ib+12>>2];k[m+16>>2]=k[l+16>>2];l=k[l+20>>2]|0;k[m+20>>2]=l;if(l|0)c3(l);k[w>>2]=(k[w>>2]|0)+1;if(!B)CQ(A);if(!z)CQ(y);s=k[I>>2]|0;v=k[Z>>2]|0;w=(v|0)==0;if(!w)c3(v);t=s+20|0;l=k[t>>2]|0;q=s+16|0;n=k[q>>2]|0;m=l+-1+n|0;o=s+4|0;p=k[o>>2]|0;m=k[(k[p+(((m>>>0)/170|0)<<2)>>2]|0)+(((m>>>0)%170|0)*24|0)+20>>2]|0;if(!m)u=l;else{CQ(m);u=k[t>>2]|0;p=k[o>>2]|0;n=k[q>>2]|0}k[t>>2]=u+-1;l=s+8|0;m=k[l>>2]|0;ib=m-p>>2;if((1-n-u+((ib|0)==0?0:(ib*170|0)+-1|0)|0)>>>0>339){uha(k[m+-4>>2]|0);k[l>>2]=(k[l>>2]|0)+-4}if(!w)CQ(v);x=0;ra(335,qb|0);ib=x;x=0;if(ib&1){Bb=588;break e}l=k[F>>2]|0;n=k[$>>2]|0;o=(n|0)==0;if(!o)c3(n);ib=k[l+4>>2]|0;m=k[l+16>>2]|0;s=ib+(((m>>>0)/170|0)<<2)|0;if((k[l+8>>2]|0)==(ib|0))l=0;else l=(k[s>>2]|0)+(((m>>>0)%170|0)*24|0)|0;if(!o)CQ(n);m=k[F>>2]|0;p=k[$>>2]|0;q=(p|0)==0;if(!q)c3(p);n=(k[m+16>>2]|0)+(k[m+20>>2]|0)|0;o=k[m+4>>2]|0;if((k[m+8>>2]|0)==(o|0))D=0;else D=(k[o+(((n>>>0)/170|0)<<2)>>2]|0)+(((n>>>0)%170|0)*24|0)|0;if(q)C=s;else{CQ(p);C=s}g:while(1){do{if((l|0)==(D|0)){Bb=644;break g}x=0;Ua(12,pb|0,l|0,nb|0,c|0);ib=x;x=0;if(ib&1){Bb=593;break e}h:do if((k[K>>2]|0)==3){x=0;ra(335,sb|0);ib=x;x=0;if(ib&1){Bb=598;break e}else m=1}else{m=k[L>>2]|0;o=k[W>>2]|0;p=(o|0)==0;if(!p)c3(o);ib=k[m+4>>2]|0;n=k[m+16>>2]|0;t=ib+(((n>>>0)/170|0)<<2)|0;if((k[m+8>>2]|0)==(ib|0))m=0;else m=(k[t>>2]|0)+(((n>>>0)%170|0)*24|0)|0;if(!p)CQ(o);n=k[L>>2]|0;q=k[W>>2]|0;s=(q|0)==0;if(!s)c3(q);o=(k[n+16>>2]|0)+(k[n+20>>2]|0)|0;p=k[n+4>>2]|0;if((k[n+8>>2]|0)==(p|0))B=0;else B=(k[p+(((o>>>0)/170|0)<<2)>>2]|0)+(((o>>>0)%170|0)*24|0)|0;if(!s)CQ(q);while(1){do{if((m|0)==(B|0)){m=0;break h}x=0;ra(335,rb|0);ib=x;x=0;if(ib&1){Bb=597;break e}x=0;sa(446,rb|0,m|0);ib=x;x=0;if(ib&1){Bb=632;break e}x=0;sa(446,rb|0,ob|0);ib=x;x=0;if(ib&1){Bb=632;break e}n=k[N>>2]|0;z=k[X>>2]|0;A=(z|0)==0;if(!A)c3(z);v=n+8|0;p=k[v>>2]|0;w=n+4|0;o=k[w>>2]|0;ib=p-o>>2;s=n+16|0;u=k[s>>2]|0;y=n+20|0;q=k[y>>2]|0;if((((ib|0)==0?0:(ib*170|0)+-1|0)|0)==(q+u|0)){x=0;ra(336,n|0);ib=x;x=0;if(ib&1){Bb=633;break e}q=k[y>>2]|0;n=k[s>>2]|0;p=k[v>>2]|0;o=k[w>>2]|0}else n=u;n=q+n|0;if((p|0)==(o|0))n=0;else n=(k[o+(((n>>>0)/170|0)<<2)>>2]|0)+(((n>>>0)%170|0)*24|0)|0;k[n>>2]=k[rb>>2];k[n+4>>2]=k[rb+4>>2];k[n+8>>2]=k[rb+8>>2];k[n+12>>2]=k[rb+12>>2];k[n+16>>2]=k[O>>2];o=k[T>>2]|0;k[n+20>>2]=o;if(o|0)c3(o);k[y>>2]=(k[y>>2]|0)+1;if(!A)CQ(z);n=k[T>>2]|0;if(n|0)CQ(n);m=m+24|0}while((m-(k[t>>2]|0)|0)!=4080);m=t+4|0;t=m;m=k[m>>2]|0}}while(0);n=k[W>>2]|0;if(n|0)CQ(n);if(m|0){l=1;break g}l=l+24|0}while((l-(k[C>>2]|0)|0)!=4080);l=C+4|0;C=l;l=k[l>>2]|0}do if((Bb|0)==644){Bb=0;k[lb>>2]=k[qb>>2];k[lb+4>>2]=k[qb+4>>2];k[lb+8>>2]=k[qb+8>>2];k[lb+12>>2]=k[qb+12>>2];l=k[P>>2]|0;m=k[X>>2]|0;if(m|0)c3(m);k[F>>2]=l;l=k[$>>2]|0;k[$>>2]=m;if(!l){l=0;break}CQ(l);l=0}while(0);m=k[X>>2]|0;if(m|0)CQ(m);m=k[Y>>2]|0;if(m|0)CQ(m)}m=k[Z>>2]|0;if(m|0)CQ(m);switch(l|0){case 2:case 0:break;default:break f}}if((Bb|0)==662){Bb=0;k[sb>>2]=k[lb>>2];k[sb+4>>2]=k[lb+4>>2];k[sb+8>>2]=k[lb+8>>2];k[sb+12>>2]=k[lb+12>>2];k[Q>>2]=k[F>>2];k[S>>2]=k[$>>2];k[F>>2]=0;k[$>>2]=0}l=k[_>>2]|0;if(l|0)CQ(l);l=k[$>>2]|0;if(l|0)CQ(l);i[sb>>0]=i[j>>0]|0;l=k[R>>2]|0;v=k[aa>>2]|0;w=(v|0)==0;if(!w)c3(v);s=l+8|0;n=k[s>>2]|0;t=l+4|0;m=k[t>>2]|0;ib=n-m>>2;p=l+16|0;q=k[p>>2]|0;u=l+20|0;o=k[u>>2]|0;if((((ib|0)==0?0:(ib*170|0)+-1|0)|0)==(o+q|0)){x=0;ra(336,l|0);ib=x;x=0;if(ib&1){Bb=687;break e}o=k[u>>2]|0;l=k[p>>2]|0;n=k[s>>2]|0;m=k[t>>2]|0}else l=q;l=o+l|0;if((n|0)==(m|0))l=0;else l=(k[m+(((l>>>0)/170|0)<<2)>>2]|0)+(((l>>>0)%170|0)*24|0)|0;k[l>>2]=k[sb>>2];k[l+4>>2]=k[sb+4>>2];k[l+8>>2]=k[sb+8>>2];k[l+12>>2]=k[sb+12>>2];k[l+16>>2]=k[Q>>2];m=k[S>>2]|0;k[l+20>>2]=m;if(m|0)c3(m);k[u>>2]=(k[u>>2]|0)+1;if(!w)CQ(v);l=k[S>>2]|0;if(l|0)CQ(l);j=j+24|0}while((j-(k[E>>2]|0)|0)!=4080);j=E+4|0;E=j;j=k[j>>2]|0}i:switch(Bb|0){case 364:{o=tb+16|0;j=k[o>>2]|0;l=k[aa>>2]|0;do if(!l)if((k[j+20>>2]|0)>>>0>100){l=0;Bb=368}else Bb=370;else{c3(l);Bb=(k[j+20>>2]|0)>>>0>100;CQ(l);if(!Bb){Bb=370;break}j=k[o>>2]|0;l=k[aa>>2]|0;Bb=368}while(0);j:do if((Bb|0)==368){k[zb>>2]=k[tb>>2];k[zb+4>>2]=k[tb+4>>2];k[zb+8>>2]=k[tb+8>>2];k[zb+12>>2]=k[tb+12>>2];k[zb+16>>2]=j;k[zb+20>>2]=l;if(!l)break;c3(l)}else if((Bb|0)==370){x=0;ra(335,vb|0);sb=x;x=0;if(sb&1){j=mb()|0;Bb=504;break i}x=0;sa(446,vb|0,tb|0);tb=x;x=0;k:do if(tb&1){j=mb()|0;l=vb+20|0;Bb=390}else{j=k[o>>2]|0;m=k[aa>>2]|0;n=(m|0)==0;if(!n)c3(m);tb=k[j+4>>2]|0;l=k[j+16>>2]|0;q=tb+(((l>>>0)/170|0)<<2)|0;if((k[j+8>>2]|0)==(tb|0))p=0;else p=(k[q>>2]|0)+(((l>>>0)%170|0)*24|0)|0;if(!n)CQ(m);j=k[o>>2]|0;n=k[aa>>2]|0;o=(n|0)==0;if(!o)c3(n);l=(k[j+16>>2]|0)+(k[j+20>>2]|0)|0;m=k[j+4>>2]|0;if((k[j+8>>2]|0)==(m|0))N=0;else N=(k[m+(((l>>>0)/170|0)<<2)>>2]|0)+(((l>>>0)%170|0)*24|0)|0;if(!o)CQ(n);O=xb+4|0;I=vb+16|0;l=vb+20|0;J=wb+16|0;P=wb+20|0;K=vb+16|0;L=wb+16|0;H=q;m=p;j=0;l:while(1){do{G=m;if((G|0)==(N|0)){Bb=387;break l}x=0;ra(335,wb|0);tb=x;x=0;if(tb&1){Bb=388;break l}i[wb>>0]=i[G>>0]|0;E=G+16|0;m=k[E>>2]|0;F=G+20|0;o=k[F>>2]|0;p=(o|0)==0;if(!p)c3(o);tb=k[m+4>>2]|0;n=k[m+16>>2]|0;t=tb+(((n>>>0)/170|0)<<2)|0;if((k[m+8>>2]|0)==(tb|0))m=0;else m=(k[t>>2]|0)+(((n>>>0)%170|0)*24|0)|0;if(!p)CQ(o);n=k[E>>2]|0;q=k[F>>2]|0;s=(q|0)==0;if(!s)c3(q);o=(k[n+16>>2]|0)+(k[n+20>>2]|0)|0;p=k[n+4>>2]|0;if((k[n+8>>2]|0)==(p|0))D=0;else D=(k[p+(((o>>>0)/170|0)<<2)>>2]|0)+(((o>>>0)%170|0)*24|0)|0;if(!s)CQ(q);m:while(1){do{if((m|0)==(D|0))break m;x=0;C=Ka(858,m|0,c|0)|0;tb=x;x=0;if(tb&1){Bb=418;break l}if(f){x=0;n=ua(k[(k[C>>2]|0)+120>>2]|0,C|0)|0;tb=x;x=0;if(tb&1){Bb=418;break l}}else n=0;x=0;sa(518,xb|0,C|0);tb=x;x=0;if(tb&1){Bb=418;break l}o=k[xb>>2]|0;if((o|0)!=(O|0))do{p=k[o+16>>2]|0;x=0;p=ua(k[(k[p>>2]|0)+120>>2]|0,p|0)|0;tb=x;x=0;if(tb&1){Bb=437;break l}n=n>>>0

>>0?p:n;p=k[o+4>>2]|0;if(!p)while(1){p=k[o+8>>2]|0;if((k[p>>2]|0)==(o|0)){o=p;break}else o=p}else{o=p;while(1){p=k[o>>2]|0;if(!p)break;else o=p}}}while((o|0)!=(O|0));o=k[I>>2]|0;q=k[l>>2]|0;s=(q|0)==0;if(!s)c3(q);tb=k[o+4>>2]|0;p=k[o+16>>2]|0;w=tb+(((p>>>0)/170|0)<<2)|0;if((k[o+8>>2]|0)==(tb|0))o=0;else o=(k[w>>2]|0)+(((p>>>0)%170|0)*24|0)|0;if(!s)CQ(q);p=k[I>>2]|0;u=k[l>>2]|0;v=(u|0)==0;if(!v)c3(u);q=(k[p+16>>2]|0)+(k[p+20>>2]|0)|0;s=k[p+4>>2]|0;if((k[p+8>>2]|0)==(s|0))B=0;else B=(k[s+(((q>>>0)/170|0)<<2)>>2]|0)+(((q>>>0)%170|0)*24|0)|0;if(v)A=w;else{CQ(u);A=w}n:while(1){do{if((o|0)==(B|0)){Bb=480;break n}p=k[E>>2]|0;u=k[F>>2]|0;v=(u|0)==0;if(!v)c3(u);w=o+16|0;q=k[w>>2]|0;y=o+20|0;s=k[y>>2]|0;if(!s)p=(p|0)==(q|0);else{c3(s);CQ(s);p=(p|0)==(q|0)}if(!v)CQ(u);o:do if(!p){p=k[w>>2]|0;s=k[y>>2]|0;u=(s|0)==0;if(!u)c3(s);tb=k[p+4>>2]|0;q=k[p+16>>2]|0;z=tb+(((q>>>0)/170|0)<<2)|0;if((k[p+8>>2]|0)==(tb|0))p=0;else p=(k[z>>2]|0)+(((q>>>0)%170|0)*24|0)|0;if(!u)CQ(s);u=k[w>>2]|0;v=k[y>>2]|0;w=(v|0)==0;if(!w)c3(v);q=(k[u+16>>2]|0)+(k[u+20>>2]|0)|0;s=k[u+4>>2]|0;if((k[u+8>>2]|0)==(s|0))y=0;else y=(k[s+(((q>>>0)/170|0)<<2)>>2]|0)+(((q>>>0)%170|0)*24|0)|0;if(w)u=z;else{CQ(v);u=z}while(1){do{if((p|0)==(y|0))break o;x=0;s=Ka(858,p|0,c|0)|0;tb=x;x=0;if(tb&1){Bb=436;break l}x=0;q=ua(k[(k[s>>2]|0)+120>>2]|0,s|0)|0;tb=x;x=0;if(tb&1){Bb=436;break l}if(q>>>0>=n>>>0){q=k[(k[s>>2]|0)+112>>2]|0;x=0;Qa(74,ub|0,78097,0);tb=x;x=0;if(tb&1){Bb=436;break l}x=0;q=xa(q|0,s|0,C|0,ub|0)|0;tb=x;x=0;if(tb&1){Bb=474;break l}P1(ub);if(q)break n}p=p+24|0}while((p-(k[u>>2]|0)|0)!=4080);p=u+4|0;u=p;p=k[p>>2]|0}}while(0);o=o+24|0}while((o-(k[A>>2]|0)|0)!=4080);o=A+4|0;A=o;o=k[o>>2]|0}do if((Bb|0)==480){Bb=0;n=k[J>>2]|0;z=k[P>>2]|0;A=(z|0)==0;if(!A)c3(z);v=n+8|0;p=k[v>>2]|0;w=n+4|0;o=k[w>>2]|0;tb=p-o>>2;s=n+16|0;u=k[s>>2]|0;y=n+20|0;q=k[y>>2]|0;if((((tb|0)==0?0:(tb*170|0)+-1|0)|0)==(q+u|0)){x=0;ra(336,n|0);tb=x;x=0;if(tb&1){Bb=491;break l}q=k[y>>2]|0;n=k[s>>2]|0;p=k[v>>2]|0;o=k[w>>2]|0}else n=u;n=q+n|0;if((p|0)==(o|0))n=0;else n=(k[o+(((n>>>0)/170|0)<<2)>>2]|0)+(((n>>>0)%170|0)*24|0)|0;k[n>>2]=k[m>>2];k[n+4>>2]=k[m+4>>2];k[n+8>>2]=k[m+8>>2];k[n+12>>2]=k[m+12>>2];k[n+16>>2]=k[m+16>>2];o=k[m+20>>2]|0;k[n+20>>2]=o;if(o|0)c3(o);k[y>>2]=(k[y>>2]|0)+1;if(A)break;CQ(z)}while(0);ZD(xb,k[O>>2]|0);m=m+24|0}while((m-(k[t>>2]|0)|0)!=4080);m=t+4|0;t=m;m=k[m>>2]|0}m=k[K>>2]|0;q=k[l>>2]|0;s=(q|0)==0;if(!s)c3(q);n=(k[m+16>>2]|0)+j|0;m=k[(k[m+4>>2]|0)+(((n>>>0)/170|0)<<2)>>2]|0;n=(n>>>0)%170|0;o=m+(n*24|0)|0;k[o>>2]=k[wb>>2];k[o+4>>2]=k[wb+4>>2];k[o+8>>2]=k[wb+8>>2];k[o+12>>2]=k[wb+12>>2];o=k[L>>2]|0;p=k[P>>2]|0;if(p|0)c3(p);tb=m+(n*24|0)|0;k[tb+16>>2]=o;tb=tb+20|0;m=k[tb>>2]|0;k[tb>>2]=p;if(m|0)CQ(m);if(!s)CQ(q);j=j+1|0;m=k[P>>2]|0;if(m|0)CQ(m);m=G+24|0}while((m-(k[H>>2]|0)|0)!=4080);m=H+4|0;H=m;m=k[m>>2]|0}do if((Bb|0)==387){k[zb>>2]=k[vb>>2];k[zb+4>>2]=k[vb+4>>2];k[zb+8>>2]=k[vb+8>>2];k[zb+12>>2]=k[vb+12>>2];k[zb+16>>2]=k[I>>2];k[zb+20>>2]=k[l>>2];break j}else if((Bb|0)==388){j=mb()|0;Bb=390;break k}else if((Bb|0)==418)j=mb()|0;else if((Bb|0)==436){j=mb()|0;Bb=438}else if((Bb|0)==437){j=mb()|0;Bb=438}else if((Bb|0)==474){j=mb()|0;P1(ub);Bb=495}else if((Bb|0)==491){j=mb()|0;if(A){Bb=495;break}CQ(z);Bb=495}while(0);if((Bb|0)==438)Bb=495;if((Bb|0)==495)ZD(xb,k[O>>2]|0);m=k[P>>2]|0;if(!m)break;CQ(m)}while(0);l=k[l>>2]|0;if(l|0)CQ(l);Bb=504;break i}while(0);x=0;Ua(26,a|0,zb|0,c|0,1);xb=x;x=0;if(xb&1){j=mb()|0;l=k[zb+20>>2]|0;if(!l)break;CQ(l);break}j=k[zb+20>>2]|0;if(j|0)CQ(j);j=k[aa>>2]|0;if(j|0)CQ(j);h=k[h>>2]|0;if(h|0)CQ(h);h=k[Cb>>2]|0;if(h|0)CQ(h);b=k[b>>2]|0;if(!b){r=Ab;return}CQ(b);r=Ab;return}case 502:{j=mb()|0;Bb=504;break}case 538:{j=mb()|0;Bb=669;break}case 539:{j=mb()|0;Bb=542;break}case 540:{j=mb()|0;l=k[V>>2]|0;if(!l){l=n;Bb=542}else{CQ(l);l=n;Bb=542}break}case 544:{j=mb()|0;Bb=667;break}case 545:{j=mb()|0;if(n)Bb=667;else{CQ(m);Bb=667}break}case 547:{j=mb()|0;Bb=660;break}case 588:{j=mb()|0;Bb=658;break}case 589:{j=mb()|0;if(!B)CQ(A);if(z){Bb=658;break}CQ(y);Bb=658;break}case 593:{j=mb()|0;Bb=656;break}case 597:{j=mb()|0;Bb=599;break}case 598:{j=mb()|0;Bb=599;break}case 632:{j=mb()|0;Bb=635;break}case 633:{j=mb()|0;if(A)Bb=635;else{CQ(z);Bb=635}break}case 687:{j=mb()|0;if(!w)CQ(v);l=k[S>>2]|0;if(!l)break;CQ(l);break}}if((Bb|0)==542)if(l)Bb=669;else{CQ(m);Bb=669}else if((Bb|0)==599)Bb=642;else if((Bb|0)==635){l=k[T>>2]|0;if(!l)Bb=642;else{CQ(l);Bb=642}}if((Bb|0)==642){l=k[W>>2]|0;if(!l)Bb=656;else{CQ(l);Bb=656}}if((Bb|0)==656){l=k[X>>2]|0;if(!l)Bb=658;else{CQ(l);Bb=658}}if((Bb|0)==658){l=k[Y>>2]|0;if(!l)Bb=660;else{CQ(l);Bb=660}}if((Bb|0)==660){l=k[Z>>2]|0;if(!l)Bb=667;else{CQ(l);Bb=667}}if((Bb|0)==667){l=k[_>>2]|0;if(!l)Bb=669;else{CQ(l);Bb=669}}if((Bb|0)==669){l=k[$>>2]|0;if(l|0)CQ(l);Bb=504}l=k[aa>>2]|0;if(l)CQ(l)}h=k[h>>2]|0;if(h)CQ(h);break}case 19:{h=mb()|0;Bb=21;break}case 63:{j=mb()|0;Bb=72;break}case 64:{j=mb()|0;if(v)Bb=70;else{CQ(u);Bb=70}break}case 66:{j=mb()|0;if(v)Bb=70;else{CQ(u);Bb=70}break}case 68:{j=mb()|0;if(v)Bb=70;else{CQ(u);Bb=70}break}case 81:{h=mb()|0;ND(ib,k[fb>>2]|0);Bb=21;break}case 94:{j=mb()|0;Bb=268;break}case 95:{j=mb()|0;m=M;h=k[_a>>2]|0;if(!h)Bb=268;else{l=k[qa>>2]|0;if((l|0)!=(h|0)){do{Bb=l+-12|0;k[qa>>2]=Bb;P1(Bb);l=k[qa>>2]|0}while((l|0)!=(h|0));h=k[_a>>2]|0}uha(h);Bb=268}break}case 100:{j=mb()|0;n=M;Bb=255;break}case 106:{j=mb()|0;h=M;Bb=110;break}case 107:{j=mb()|0;h=M;Bb=110;break}case 108:{j=mb()|0;h=M;Bb=110;break}case 109:{j=mb()|0;h=M;Bb=110;break}case 148:{j=mb()|0;h=M;ZD(Ya,k[la>>2]|0);Bb=110;break}case 156:{j=mb()|0;h=M;Bb=158;break}case 157:{j=mb()|0;h=M;Bb=158;break}case 198:{j=mb()|0;h=M;ND(ab,k[va>>2]|0);Bb=110;break}case 207:{j=mb()|0;h=M;ND(La,k[$>>2]|0);Bb=227;break}case 226:{j=mb()|0;h=M;Bb=227;break}case 228:{j=mb()|0;h=M;ND(La,k[$>>2]|0);Bb=250;break}case 229:{j=mb()|0;l=M;Bb=248;break}case 243:{j=mb()|0;l=M;if(z)Bb=248;else{CQ(y);Bb=248}break}case 273:{j=mb()|0;Bb=274;break}case 283:{j=mb()|0;Bb=346;break}case 284:{j=mb()|0;Bb=286;break}case 285:{j=mb()|0;Bb=286;break}case 305:{j=mb()|0;P1(Da);Bb=346;break}case 323:{j=mb()|0;Bb=326;break}case 324:{j=mb()|0;l=k[na>>2]|0;if(!l){l=m;Bb=326}else{CQ(l);l=m;Bb=326}break}case 344:{j=mb()|0;if(v)Bb=346;else{CQ(u);Bb=346}break}}if((Bb|0)==21)j=h;else if((Bb|0)==70){h=k[pa>>2]|0;if(!h)Bb=72;else{CQ(h);Bb=72}}else if((Bb|0)==110){n=h;Bb=251}else if((Bb|0)==158){ZD(Ya,k[la>>2]|0);n=h;Bb=251}else if((Bb|0)==227)Bb=250;else if((Bb|0)==248){h=k[oa>>2]|0;if(!h){h=l;Bb=250}else{CQ(h);h=l;Bb=250}}else if((Bb|0)==286){ZD(Xa,k[ka>>2]|0);Bb=346}else if((Bb|0)==326)if(h)Bb=346;else{CQ(l);Bb=346}if((Bb|0)==72){h=k[ta>>2]|0;if(h)CQ(h)}else if((Bb|0)==250){ND(ab,k[va>>2]|0);n=h;Bb=251}else if((Bb|0)==346){h=k[hb>>2]|0;if(h)CQ(h)}if((Bb|0)==251){h=k[bb>>2]|0;l=h;if(!h)Bb=255;else{m=k[$a>>2]|0;if((m|0)!=(h|0))k[$a>>2]=m+(~((m+-8-l|0)>>>3)<<3);uha(h);Bb=255}}if((Bb|0)==255){h=k[eb>>2]|0;if(h|0){l=k[cb>>2]|0;if((l|0)!=(h|0)){do{m=l+-96|0;k[cb>>2]=m;o=k[l+-12>>2]|0;p=o;if(!o)l=m;else{l=l+-8|0;m=k[l>>2]|0;if((m|0)!=(o|0))k[l>>2]=m+(~((m+-8-p|0)>>>3)<<3);uha(o);l=k[cb>>2]|0}}while((l|0)!=(h|0));h=k[eb>>2]|0}uha(h)}h=k[gb>>2]|0;l=h;if(!h)Bb=268;else{m=k[db>>2]|0;if((m|0)!=(h|0))k[db>>2]=m+(~((m+-8-l|0)>>>3)<<3);uha(h);Bb=268}}if((Bb|0)==268){h=k[hb>>2]|0;if(h|0)CQ(h);Bb=274}if((Bb|0)==274)ND(ib,k[fb>>2]|0);h=k[Cb>>2]|0;if(h)CQ(h)}b=k[b>>2]|0;if(!b)yb(j|0);CQ(b);yb(j|0)}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,$=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,ta=0,va=0,wa=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,La=0,Ma=0,Na=0;Ja=r;r=r+640|0;Da=Ja+624|0;Ca=Ja+612|0;I=Ja+600|0;y=Ja+588|0;A=Ja+576|0;B=Ja+564|0;G=Ja+540|0;F=Ja+528|0;H=Ja+504|0;Na=Ja+552|0;Ma=Ja+516|0;J=Ja+456|0;K=Ja+444|0;L=Ja+432|0;M=Ja+420|0;Ba=Ja+492|0;ia=Ja+408|0;ka=Ja+396|0;oa=Ja+384|0;pa=Ja+372|0;ja=Ja+360|0;S=Ja+348|0;P=Ja+336|0;N=Ja+324|0;O=Ja+312|0;Q=Ja+300|0;R=Ja+288|0;U=Ja+276|0;W=Ja+264|0;X=Ja+252|0;Y=Ja+240|0;_=Ja+228|0;da=Ja+216|0;ea=Ja+204|0;fa=Ja+192|0;$=Ja+180|0;la=Ja+168|0;ma=Ja+156|0;na=Ja+144|0;va=Ja+132|0;wa=Ja+120|0;za=Ja+108|0;Aa=Ja+96|0;ya=Ja+84|0;ha=Ja+72|0;ga=Ja+60|0;aa=Ja+48|0;ba=Ja+36|0;Ea=Ja+24|0;Ga=Ja+12|0;Ha=Ja;La=Ja+480|0;Ia=Ja+468|0;lE(a,78097,0);a:do if(!(k[c>>2]&64))Fa=49;else{x=0;Qa(74,G|0,78097,0);Fa=x;x=0;if(Fa&1)Fa=47;else{C=b+8|0;D=b+4|0;E=b+1|0;u=y+8|0;v=y+1|0;w=y+4|0;s=0;g=0;p=0;f=0;e=0;q=0;b:while(1){j=i[b>>0]|0;n=(j&1)==0;o=n?E:k[C>>2]|0;j=n?(j&255)>>>1:k[D>>2]|0;n=o+j|0;m=o;if(j>>>0<=p>>>0){Fa=30;break}h=o+p|0;c:do if((j|0)!=(p|0))while(1){switch(i[h>>0]|0){case 42:case 92:case 47:case 39:case 34:break c;default:{}}h=h+1|0;if((h|0)==(n|0)){Fa=30;break b}}while(0);p=h-m|0;if((h|0)==(n|0)|(p|0)==-1){Fa=30;break}x=0;j=Ka(905,b|0,p|0)|0;Fa=x;x=0;if(Fa&1){Fa=12;break}switch(i[j>>0]|0){case 34:{if(s){m=1;h=p;n=f;j=q}else{m=0;h=p;n=f;j=q^(f^1)}break}case 39:{if(q){m=s;h=p;n=f;j=1}else{m=s^(f^1);h=p;n=f;j=0}break}case 47:{if(f&(h|0)!=(o|0)){x=0;f=Ka(905,b|0,p+-1|0)|0;Fa=x;x=0;if(Fa&1){Fa=12;break b}n=(i[f>>0]|0)==42;m=s;g=n?p+1|0:g;h=p;n=n^1;j=q}else{m=s;h=p;n=f;j=q}break}case 92:{m=s;h=p+((q|s)&1)|0;n=f;j=q;break}case 42:{if(q){m=s;h=p;n=f;j=1}else if((h|0)!=(o|0)&(s^1)){j=p+-1|0;x=0;h=Ka(905,b|0,j|0)|0;Fa=x;x=0;if(Fa&1){Fa=12;break b}if((i[h>>0]|0)==47){x=0;qa(4,y|0,b|0,g|0,j-g|0,b|0);Fa=x;x=0;if(Fa&1){Fa=12;break b}Fa=i[y>>0]|0;q=(Fa&1)==0;x=0;xa(46,G|0,(q?v:k[u>>2]|0)|0,(q?(Fa&255)>>>1:k[w>>2]|0)|0)|0;Fa=x;x=0;if(Fa&1){Fa=28;break b}P1(y);m=s;h=p;n=1;e=j;j=0}else{m=s;h=p;n=f;j=0}}else{m=s;h=p;n=f;j=0}break}default:{m=s;h=p;n=f;j=q}}p=h+1|0;if((p|0)==-1){f=n;Fa=30;break}else{s=m;f=n;q=j}}d:do if((Fa|0)==12){d=mb()|0;Fa=14}else if((Fa|0)==28){z=mb()|0;P1(y)}else if((Fa|0)==30){do if(f){x=0;qa(4,A|0,b|0,e|0,-1,b|0);B=x;x=0;if(B&1)Fa=13;else{B=i[A>>0]|0;y=(B&1)==0;x=0;xa(46,G|0,(y?A+1|0:k[A+8>>2]|0)|0,(y?(B&255)>>>1:k[A+4>>2]|0)|0)|0;B=x;x=0;if(B&1){z=mb()|0;P1(A);break d}else{P1(A);break}}}else{x=0;qa(4,B|0,b|0,g|0,-1,b|0);A=x;x=0;if(A&1)Fa=13;else{A=i[B>>0]|0;y=(A&1)==0;x=0;xa(46,G|0,(y?B+1|0:k[B+8>>2]|0)|0,(y?(A&255)>>>1:k[B+4>>2]|0)|0)|0;A=x;x=0;if(A&1){z=mb()|0;P1(B);break d}else{P1(B);break}}}while(0);if((Fa|0)==13){d=mb()|0;Fa=14;break}if(!(i[b>>0]&1)){i[E>>0]=0;i[b>>0]=0}else{i[k[C>>2]>>0]=0;k[D>>2]=0}x=0;sa(443,b|0,0);E=x;x=0;if(E&1){Na=Eb(0)|0;Nba(Na)}else{k[b>>2]=k[G>>2];k[b+4>>2]=k[G+4>>2];k[b+8>>2]=k[G+8>>2];k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;P1(G);Fa=49;break a}}while(0);if((Fa|0)==14)z=d;P1(G);d=z}}while(0);do if((Fa|0)==49){x=0;sa(551,F|0,b|0);G=x;x=0;if(G&1)Fa=47;else{if(!(i[b>>0]&1)){i[b+1>>0]=0;i[b>>0]=0}else{i[k[b+8>>2]>>0]=0;k[b+4>>2]=0}x=0;sa(443,b|0,0);G=x;x=0;if(G&1){G=Eb(0)|0;Nba(G)}k[b>>2]=k[F>>2];k[b+4>>2]=k[F+4>>2];k[b+8>>2]=k[F+8>>2];k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;P1(F);m=i[b>>0]|0;g=(m&1)==0;z=b+8|0;B=b+4|0;A=b+1|0;j=g?A:k[z>>2]|0;m=g?(m&255)>>>1:k[B>>2]|0;g=i[72224]|0;G=(g&1)==0;f=G?72225:k[18058]|0;g=G?(g&255)>>>1:k[18057]|0;e:do if(!m)e=-1;else{h=j+m|0;e=j;while(1){if(!(mw(f,l[e>>0]|0,g)|0))break;e=e+1|0;if((e|0)==(h|0)){e=-1;break e}}e=e-j|0}while(0);w=i[c+20>>0]|0?0:e;if((w|0)==-1){k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;x=0;Ua(10,H|0,j|0,m|0,m+1|0);Na=x;x=0;if(!(Na&1)){x=0;xa(46,H|0,43502,1)|0;Na=x;x=0;if(!(Na&1)){Na=i[H>>0]|0;Ma=(Na&1)==0;x=0;xa(46,c+24|0,(Ma?H+1|0:k[H+8>>2]|0)|0,(Ma?(Na&255)>>>1:k[H+4>>2]|0)|0)|0;Na=x;x=0;if(Na&1){Na=mb()|0;P1(H);P1(a);yb(Na|0)}else{P1(H);r=Ja;return}}}d=mb()|0;P1(H);break}x=0;qa(4,Na|0,b|0,0,w|0,b|0);H=x;x=0;if(H&1)Fa=47;else{x=0;qa(4,Ma|0,b|0,w|0,2,b|0);H=x;x=0;if(H&1)d=mb()|0;else{h=i[Na>>0]|0;q=Na+4|0;t=c+56|0;u=c+52|0;f=(k[t>>2]|0)+-1+(k[u>>2]|0)|0;v=c+40|0;e=k[(k[v>>2]|0)+(((f>>>0)/341|0)<<2)>>2]|0;f=(f>>>0)%341|0;g=i[e+(f*12|0)>>0]|0;if(!(g&1))e=(g&255)>>>1;else e=k[e+(f*12|0)+4>>2]|0;y=c+8|0;f:do if(((h&1)==0?(h&255)>>>1:k[q>>2]|0)>>>0>e>>>0)Fa=93;else{do if(!(KH(y,43504)|0)){e=k[c>>2]|0;Fa=77}else{if(!(KH(y,43507)|0)){e=k[c>>2]|0;if(e&128|0){Fa=77;break}}if(!(KH(y,43507)|0))if(!(k[c>>2]&128))break;if(i[c+6>>0]|0)if(!(i[c+5>>0]|0)){e=k[c+4>>2]|0;if((e&255)<<24>>24){x=0;Ka(866,a|0,43510)|0;H=x;x=0;if(H&1){Fa=82;break f}else break}if(e>>>0>=16777216)break;x=0;Ka(866,a|0,43514)|0;H=x;x=0;if(H&1){Fa=82;break f}}}while(0);if((Fa|0)==77)if(!(e&64)){x=0;Ka(866,a|0,43498)|0;Fa=x;x=0;if(Fa&1){Fa=82;break}}x=0;Ka(874,y|0,78097)|0;Fa=x;x=0;if(Fa&1)Fa=82;else Fa=93}while(0);g:do if((Fa|0)==93){s=c+44|0;m=J+8|0;n=J+1|0;o=J+4|0;h:while(1){h=i[Na>>0]|0;f=(k[t>>2]|0)+-1+(k[u>>2]|0)|0;e=k[(k[v>>2]|0)+(((f>>>0)/341|0)<<2)>>2]|0;f=(f>>>0)%341|0;j=e+(f*12|0)|0;g=i[j>>0]|0;if(!(g&1))e=(g&255)>>>1;else e=k[e+(f*12|0)+4>>2]|0;if(((h&1)==0?(h&255)>>>1:k[q>>2]|0)>>>0>=e>>>0){Fa=116;break}P1(j);H=k[t>>2]|0;k[t>>2]=H+-1;e=k[s>>2]|0;Fa=e-(k[v>>2]|0)>>2;if((1-H-(k[u>>2]|0)+((Fa|0)==0?0:(Fa*341|0)+-1|0)|0)>>>0>681){uha(k[e+-4>>2]|0);k[s>>2]=(k[s>>2]|0)+-4}if(!(KH(y,78097)|0)){e=k[c>>2]&-249;do if(!e){x=0;Qa(74,J|0,43516,2);Fa=x;x=0;if(Fa&1){Fa=81;break h}}else{if((e|0)<2){x=0;Qa(74,J|0,43516,2);Fa=x;x=0;if(Fa&1){Fa=81;break h}else break}f=(k[t>>2]|0)+-1+(k[u>>2]|0)|0;e=k[(k[v>>2]|0)+(((f>>>0)/341|0)<<2)>>2]|0;f=(f>>>0)%341|0;h=e+(f*12|0)|0;g=h|0;k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;Fa=i[g>>0]|0;h=(Fa&1)==0?(Fa&255)>>>1:k[h+4>>2]|0;x=0;Ua(10,I|0,43502,1,h+1|0);Fa=x;x=0;if(Fa&1){Fa=107;break h}x=0;xa(46,I|0,((i[g>>0]&1)==0?g+1|0:k[e+(f*12|0)+8>>2]|0)|0,h|0)|0;Fa=x;x=0;if(Fa&1){Fa=107;break h}x=0;e=Ka(866,I|0,43519)|0;Fa=x;x=0;if(Fa&1){Fa=110;break h}k[J>>2]=k[e>>2];k[J+4>>2]=k[e+4>>2];k[J+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;P1(I)}while(0);Fa=i[J>>0]|0;H=(Fa&1)==0;x=0;xa(46,a|0,(H?n:k[m>>2]|0)|0,(H?(Fa&255)>>>1:k[o>>2]|0)|0)|0;Fa=x;x=0;if(Fa&1){Fa=113;break}P1(J)}else{x=0;Ka(866,a|0,43498)|0;Fa=x;x=0;if(Fa&1){Fa=81;break}}x=0;Ka(874,y|0,78097)|0;Fa=x;x=0;if(Fa&1){Fa=81;break}}if((Fa|0)==81){d=mb()|0;Fa=83;break}else if((Fa|0)==107){d=mb()|0;P1(I);Fa=83;break}else if((Fa|0)==110){d=mb()|0;P1(I);Fa=83;break}else if((Fa|0)==113){d=mb()|0;P1(J);break}else if((Fa|0)==116){o=c+4|0;i[o>>0]=0;x=0;qa(4,K|0,b|0,w|0,1,b|0);J=x;x=0;if(J&1){Fa=82;break}J=(KH(K,43521)|0)==0;P1(K);if(J){i[o>>0]=1;i[((i[b>>0]&1)==0?A:k[z>>2]|0)+w>>0]=32}x=0;qa(4,L|0,b|0,w|0,1,b|0);K=x;x=0;if(K&1){Fa=82;break}i:do if(!(KH(L,43523)|0)){x=0;qa(4,M|0,b|0,w|0,2,b|0);K=x;x=0;if(K&1){d=mb()|0;P1(L);break g}K=(KH(M,43525)|0)==0;P1(M);P1(L);if(K){Fa=242;break}i[o>>0]=1;f=i[b>>0]|0;e=(f&1)==0;j=e?A:k[z>>2]|0;f=e?(f&255)>>>1:k[B>>2]|0;e=i[72224]|0;Aa=(e&1)==0;h=Aa?72225:k[18058]|0;e=Aa?(e&255)>>>1:k[18057]|0;if(f>>>0<=w>>>0|(e|0)==0)break;d=j+w|0;m=j+f|0;g=h+e|0;j:do if((f|0)!=(w|0))while(1){e=i[d>>0]|0;f=h;do{if(e<<24>>24==(i[f>>0]|0))break j;f=f+1|0}while((f|0)!=(g|0));d=d+1|0;if((d|0)==(m|0))break i}while(0);n=d-j|0;if((d|0)==(m|0)|(n|0)==-1)break;m=n-w|0;x=0;qa(4,Ba|0,b|0,w|0,m|0,b|0);Aa=x;x=0;if(Aa&1){Fa=82;break g}d=i[b>>0]|0;f=(d&1)==0;h=f?A:k[z>>2]|0;d=f?(d&255)>>>1:k[B>>2]|0;f=i[72224]|0;Aa=(f&1)==0;e=Aa?72225:k[18058]|0;f=Aa?(f&255)>>>1:k[18057]|0;k:do if(d>>>0>n>>>0){g=h+d|0;if((d|0)==(n|0))break;d=h+n|0;while(1){if(!(mw(e,l[d>>0]|0,f)|0))break;d=d+1|0;if((d|0)==(g|0))break k}d=d-h|0;if((d|0)==-1)break;x=0;d=Ka(905,b|0,d|0)|0;Aa=x;x=0;l:do if(Aa&1)Fa=231;else{if((i[d>>0]|0)==58)break k;h=i[Ba>>0]|0;e=(h&1)==0;j=Ba+4|0;d=k[j>>2]|0;f=e?(h&255)>>>1:d;if(f|0){g=e?Ba+1|0:k[Ba+8>>2]|0;m:do if(f>>>0>1){f=g+f|0;e=g+1|0;while(1){if(!(mw(43528,l[e>>0]|0,53)|0))break;e=e+1|0;if((e|0)==(f|0)){e=h;break m}}e=e-g|0;if((e|0)==-1){e=h;break}x=0;xa(51,Ba|0,e|0,-1)|0;Aa=x;x=0;if(Aa&1){Fa=231;break l}e=i[Ba>>0]|0;d=k[j>>2]|0}else e=h;while(0);d=(e&1)==0?(e&255)>>>1:d;n:do if(d|0){while(1){d=d+-1|0;x=0;e=Ka(905,Ba|0,d|0)|0;Aa=x;x=0;if(Aa&1)break;x=0;e=ua(220,i[e>>0]|0)|0;Aa=x;x=0;if(Aa&1)break;x=0;f=Ka(905,Ba|0,d|0)|0;Aa=x;x=0;if(Aa&1)break;i[f>>0]=e;if(!d)break n}d=mb()|0;Fa=232;break l}while(0);if(!(KH(Ba,43582)|0))break k;if(!(KH(Ba,43588)|0))break k;if(!(KH(Ba,43597)|0))break k;if(!(KH(Ba,43605)|0))break k;if(!(KH(Ba,43611)|0))break k;if(!(KH(Ba,43624)|0))break k;if(!(KH(Ba,43631)|0))break k;if(!(KH(Ba,43638)|0))break k;if(!(KH(Ba,43645)|0))break k;if(!(KH(Ba,43653)|0))break k;if(!(KH(Ba,43659)|0))break k;if(!(KH(Ba,43670)|0))break k;if(!(KH(Ba,43689)|0))break k;if(!(KH(Ba,43702)|0))break k;if(!(KH(Ba,43720)|0))break k;if(!(KH(Ba,43732)|0))break k;if(!(KH(Ba,43747)|0))break k;if(!(KH(Ba,43761)|0))break k;if(!(KH(Ba,43773)|0))break k;if(!(KH(Ba,43787)|0))break k;if(!(KH(Ba,43794)|0))break k;if(!(KH(Ba,43799)|0))break k;if(!(KH(Ba,43808)|0))break k;if(!(KH(Ba,43815)|0))break k;if(!(KH(Ba,43824)|0))break k;if(!(KH(Ba,43834)|0))break k;if(!(KH(Ba,43848)|0))break k;if(!(KH(Ba,43858)|0))break k;if(!(KH(Ba,43868)|0))break k;if(!(KH(Ba,43879)|0))break k;if(!(KH(Ba,43891)|0))break k;if(!(KH(Ba,43896)|0))break k;if(!(KH(Ba,43905)|0))break k;if(!(KH(Ba,43915)|0))break k;if(!(KH(Ba,43924)|0))break k;if(!(KH(Ba,43939)|0))break k;if(!(KH(Ba,43955)|0))break k;if(!(KH(Ba,43965)|0))break k;if(!(KH(Ba,43977)|0))break k;if(!(KH(Ba,43984)|0))break k;if(!(KH(Ba,44004)|0))break k;if(!(KH(Ba,44023)|0))break k;if(!(KH(Ba,44044)|0))break k;if(!(KH(Ba,44053)|0))break k;if(!(KH(Ba,44059)|0))break k;if(!(KH(Ba,44067)|0))break k;if(!(KH(Ba,44086)|0))break k;if(!(KH(Ba,44098)|0))break k;if(!(KH(Ba,44105)|0))break k;if(!(KH(Ba,44116)|0))break k;if(!(KH(Ba,44132)|0))break k;if(!(KH(Ba,44144)|0))break k;if(!(KH(Ba,44161)|0))break k;if(!(KH(Ba,44170)|0))break k}x=0;qa(4,pa|0,b|0,w+1|0,m+-1|0,b|0);Aa=x;x=0;if(Aa&1){Fa=231;break}d=i[Na>>0]|0;Aa=(d&1)==0;x=0;d=Pa(11,pa|0,0,(Aa?Na+1|0:k[Na+8>>2]|0)|0,(Aa?(d&255)>>>1:k[q>>2]|0)|0)|0;Aa=x;x=0;if(Aa&1)d=mb()|0;else{k[oa>>2]=k[d>>2];k[oa+4>>2]=k[d+4>>2];k[oa+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;x=0;d=Ka(866,oa|0,43523)|0;Aa=x;x=0;if(Aa&1)d=mb()|0;else{k[ka>>2]=k[d>>2];k[ka+4>>2]=k[d+4>>2];k[ka+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;x=0;qa(4,ja|0,b|0,n|0,-1,b|0);Aa=x;x=0;do if(Aa&1)d=mb()|0;else{d=i[ja>>0]|0;Aa=(d&1)==0;x=0;d=xa(46,ka|0,(Aa?ja+1|0:k[ja+8>>2]|0)|0,(Aa?(d&255)>>>1:k[ja+4>>2]|0)|0)|0;Aa=x;x=0;if(Aa&1){d=mb()|0;P1(ja);break}k[ia>>2]=k[d>>2];k[ia+4>>2]=k[d+4>>2];k[ia+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;if(!(i[b>>0]&1)){i[A>>0]=0;i[b>>0]=0}else{i[k[z>>2]>>0]=0;k[B>>2]=0}x=0;sa(443,b|0,0);Aa=x;x=0;if(Aa&1){Aa=Eb(0)|0;Nba(Aa)}k[b>>2]=k[ia>>2];k[b+4>>2]=k[ia+4>>2];k[b+8>>2]=k[ia+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;P1(ia);P1(ja);P1(ka);P1(oa);P1(pa);g=i[b>>0]|0;Aa=(g&1)==0;f=Aa?A:k[z>>2]|0;g=Aa?(g&255)>>>1:k[B>>2]|0;if(g>>>0<=w>>>0)break k;j=f+g|0;if((g|0)==(w|0))break k;d=f+w|0;while(1){e=i[d>>0]|0;if(!(mw(43523,e&255,1)|0))break;d=d+1|0;if((d|0)==(j|0))break k}h=f;f=d-h|0;if((f|0)==-1)break k;if(g>>>0>f>>>0){o:do if(!((g|0)==(f|0)|e<<24>>24==58))do{d=d+1|0;if((d|0)==(j|0)){d=j;break o}}while((i[d>>0]|0)!=58);while(0);d=(d|0)==(j|0)?-1:d-h|0}else d=-1;i[o>>0]=(d|0)==-1&1;break k}while(0);P1(ka)}P1(oa)}P1(pa)}while(0);if((Fa|0)==231){d=mb()|0;Fa=232}P1(Ba);break g}while(0);P1(Ba)}else{P1(L);Fa=242}while(0);p:do if((Fa|0)==242){x=0;qa(4,S|0,b|0,w|0,5,b|0);Ba=x;x=0;if(Ba&1){Fa=82;break g}q:do if(!(KH(S,44182)|0))P1(S);else{x=0;qa(4,P|0,b|0,w|0,6,b|0);Ba=x;x=0;if(Ba&1)d=mb()|0;else{if(!(KH(P,44188)|0)){P1(P);P1(S);break}x=0;qa(4,N|0,b|0,w|0,6,b|0);Ba=x;x=0;do if(Ba&1)d=mb()|0;else{if(!(KH(N,44195)|0)){P1(N);P1(P);P1(S);break q}x=0;qa(4,O|0,b|0,w|0,8,b|0);Ba=x;x=0;if(Ba&1){d=mb()|0;P1(N);break}Ba=(KH(O,44202)|0)==0;P1(O);P1(N);P1(P);P1(S);if(Ba)break q;x=0;qa(4,U|0,b|0,w|0,1,b|0);Ba=x;x=0;if(Ba&1){Fa=82;break g}do if(!(KH(U,44211)|0)){g=i[b>>0]|0;f=(g&1)==0;m=f?A:k[z>>2]|0;g=f?(g&255)>>>1:k[B>>2]|0;f=i[72224]|0;Ba=(f&1)==0;j=Ba?72225:k[18058]|0;f=Ba?(f&255)>>>1:k[18057]|0;if(g>>>0<=w>>>0|(f|0)==0)e=-1;else{e=m+w|0;n=m+g|0;h=j+f|0;r:do if((g|0)!=(w|0))while(1){f=i[e>>0]|0;g=j;do{if(f<<24>>24==(i[g>>0]|0))break r;g=g+1|0}while((g|0)!=(h|0));e=e+1|0;if((e|0)==(n|0)){e=n;break}}while(0);e=(e|0)==(n|0)?-1:e-m|0}f=w+1|0;P1(U);if((e|0)==(f|0))break;k[X>>2]=0;k[X+4>>2]=0;k[X+8>>2]=0;Ba=i[Na>>0]|0;Aa=(Ba&1)==0;Ba=Aa?(Ba&255)>>>1:k[q>>2]|0;x=0;Ua(10,X|0,(Aa?Na+1|0:k[Na+8>>2]|0)|0,Ba|0,Ba+7|0);Ba=x;x=0;do if(!(Ba&1)){x=0;xa(46,X|0,44213,7)|0;Ba=x;x=0;if(Ba&1)break;x=0;qa(4,Y|0,b|0,f|0,-1,b|0);Ba=x;x=0;do if(Ba&1)V=mb()|0;else{d=i[Y>>0]|0;Ba=(d&1)==0;x=0;d=xa(46,X|0,(Ba?Y+1|0:k[Y+8>>2]|0)|0,(Ba?(d&255)>>>1:k[Y+4>>2]|0)|0)|0;Ba=x;x=0;if(Ba&1){V=mb()|0;P1(Y);break}k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;if(!(i[b>>0]&1)){i[A>>0]=0;i[b>>0]=0}else{i[k[z>>2]>>0]=0;k[B>>2]=0}x=0;sa(443,b|0,0);Ba=x;x=0;if(Ba&1){La=Eb(0)|0;Nba(La)}else{k[b>>2]=k[W>>2];k[b+4>>2]=k[W+4>>2];k[b+8>>2]=k[W+8>>2];k[W>>2]=0;k[W+4>>2]=0;k[W+8>>2]=0;P1(W);P1(Y);P1(X);break p}}while(0);P1(X);d=V;break g}while(0);d=mb()|0;P1(X);Fa=83;break g}else P1(U);while(0);x=0;qa(4,_|0,b|0,w|0,1,b|0);Ba=x;x=0;if(Ba&1){Fa=82;break g}do if(!(KH(_,44221)|0)){g=i[b>>0]|0;f=(g&1)==0;m=f?A:k[z>>2]|0;g=f?(g&255)>>>1:k[B>>2]|0;f=i[72224]|0;Ba=(f&1)==0;j=Ba?72225:k[18058]|0;f=Ba?(f&255)>>>1:k[18057]|0;if(g>>>0<=w>>>0|(f|0)==0)e=-1;else{e=m+w|0;n=m+g|0;h=j+f|0;s:do if((g|0)!=(w|0))while(1){f=i[e>>0]|0;g=j;do{if(f<<24>>24==(i[g>>0]|0))break s;g=g+1|0}while((g|0)!=(h|0));e=e+1|0;if((e|0)==(n|0)){e=n;break}}while(0);e=(e|0)==(n|0)?-1:e-m|0}f=w+1|0;P1(_);if((e|0)==(f|0))break;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;Ba=i[Na>>0]|0;Aa=(Ba&1)==0;Ba=Aa?(Ba&255)>>>1:k[q>>2]|0;x=0;Ua(10,ea|0,(Aa?Na+1|0:k[Na+8>>2]|0)|0,Ba|0,Ba+9|0);Ba=x;x=0;do if(!(Ba&1)){x=0;xa(46,ea|0,44223,9)|0;Ba=x;x=0;if(Ba&1)break;x=0;qa(4,fa|0,b|0,f|0,-1,b|0);Ba=x;x=0;do if(Ba&1)ca=mb()|0;else{d=i[fa>>0]|0;Ba=(d&1)==0;x=0;d=xa(46,ea|0,(Ba?fa+1|0:k[fa+8>>2]|0)|0,(Ba?(d&255)>>>1:k[fa+4>>2]|0)|0)|0;Ba=x;x=0;if(Ba&1){ca=mb()|0;P1(fa);break}k[da>>2]=k[d>>2];k[da+4>>2]=k[d+4>>2];k[da+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;if(!(i[b>>0]&1)){i[A>>0]=0;i[b>>0]=0}else{i[k[z>>2]>>0]=0;k[B>>2]=0}x=0;sa(443,b|0,0);Ba=x;x=0;if(Ba&1){La=Eb(0)|0;Nba(La)}else{k[b>>2]=k[da>>2];k[b+4>>2]=k[da+4>>2];k[b+8>>2]=k[da+8>>2];k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;P1(da);P1(fa);P1(ea);break p}}while(0);P1(ea);d=ca;break g}while(0);d=mb()|0;P1(ea);Fa=83;break g}else P1(_);while(0);x=0;qa(4,$|0,b|0,w|0,7,b|0);Ba=x;x=0;if(Ba&1){Fa=82;break g}Ba=(KH($,44233)|0)==0;P1($);if(!Ba){x=0;qa(4,ha|0,b|0,w|0,7,b|0);Ba=x;x=0;if(Ba&1){Fa=82;break g}if(!(KH(ha,44248)|0)){P1(ha);break p}x=0;qa(4,ga|0,b|0,w|0,7,b|0);Ba=x;x=0;if(Ba&1)d=mb()|0;else{if(!(KH(ga,44256)|0)){P1(ga);P1(ha);break p}x=0;qa(4,aa|0,b|0,w|0,8,b|0);Ba=x;x=0;do if(Ba&1)d=mb()|0;else{if(!(KH(aa,44264)|0)){P1(aa);P1(ga);P1(ha);break p}x=0;qa(4,ba|0,b|0,w|0,8,b|0);Ba=x;x=0;if(Ba&1){d=mb()|0;P1(aa);break}Ba=(KH(ba,44273)|0)==0;P1(ba);P1(aa);P1(ga);P1(ha);if(Ba)break p;i[o>>0]=1;d=i[b>>0]|0;f=(d&1)==0;j=k[z>>2]|0;h=f?A:j;f=f?(d&255)>>>1:k[B>>2]|0;if(f>>>0<=w>>>0)break p;e=h+w|0;g=h+f|0;t:do if((f|0)!=(w|0))while(1){if((i[e>>0]|0)==58)break t;e=e+1|0;if((e|0)==(g|0))break p}while(0);f=e-h|0;if((e|0)==(g|0)|(f|0)==-1)break p;e=f+1|0;if((i[h+e>>0]|0)==32){i[o>>0]=0;d=i[b>>0]|0}if((i[((d&1)==0?A:j)+e>>0]|0)!=9)break p;i[o>>0]=0;break p}while(0);P1(ga)}P1(ha);break g}f=w+7|0;m=i[b>>0]|0;o=(m&1)==0;p=o?A:k[z>>2]|0;m=o?(m&255)>>>1:k[B>>2]|0;o=i[72224]|0;Ba=(o&1)==0;n=Ba?72225:k[18058]|0;o=Ba?(o&255)>>>1:k[18057]|0;if(m>>>0<=f>>>0|(o|0)==0)e=-1;else{e=p+f|0;j=p+m|0;h=n+o|0;u:do if((m|0)!=(f|0))while(1){f=i[e>>0]|0;g=n;do{if(f<<24>>24==(i[g>>0]|0))break u;g=g+1|0}while((g|0)!=(h|0));e=e+1|0;if((e|0)==(j|0)){e=j;break}}while(0);e=(e|0)==(j|0)?-1:e-p|0}v:do if(m>>>0>e>>>0){f=p+m|0;if((m|0)==(e|0)){j=-1;break}e=p+e|0;while(1){if(!(mw(n,l[e>>0]|0,o)|0))break;e=e+1|0;if((e|0)==(f|0)){j=-1;break v}}j=e-p|0}else j=-1;while(0);x=0;qa(4,la|0,b|0,j|0,4,b|0);Ba=x;x=0;if(Ba&1){Fa=82;break g}Ba=(KH(la,44241)|0)==0;P1(la);if(Ba)break p;x=0;qa(4,ma|0,b|0,j|0,1,b|0);Ba=x;x=0;if(Ba&1){Fa=82;break g}if(!(KH(ma,44246)|0)){P1(ma);break p}x=0;qa(4,na|0,b|0,j|0,1,b|0);Ba=x;x=0;if(Ba&1){d=mb()|0;P1(ma);break g}Ba=(KH(na,44759)|0)==0;P1(na);P1(ma);if(Ba)break p;e=i[b>>0]|0;Ba=(e&1)==0;h=Ba?A:k[z>>2]|0;g=i[72224]|0;pa=(g&1)==0;f=pa?72225:k[18058]|0;g=pa?(g&255)>>>1:k[18057]|0;e=h+(Ba?(e&255)>>>1:k[B>>2]|0)|0;do{if((e|0)==(h|0))break p;e=e+-1|0}while((mw(f,l[e>>0]|0,g)|0)!=0);e=e-h|0;if((e|0)==-1)break p;x=0;qa(4,Aa|0,b|0,0,j|0,b|0);Ba=x;x=0;if(Ba&1){Fa=82;break g}x=0;f=Ka(866,Aa|0,44246)|0;Ba=x;x=0;if(Ba&1)d=mb()|0;else{k[za>>2]=k[f>>2];k[za+4>>2]=k[f+4>>2];k[za+8>>2]=k[f+8>>2];k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;x=0;qa(4,ya|0,b|0,j|0,1-j+e|0,b|0);Ba=x;x=0;if(Ba&1)d=mb()|0;else{e=i[ya>>0]|0;Ba=(e&1)==0;x=0;e=xa(46,za|0,(Ba?ya+1|0:k[ya+8>>2]|0)|0,(Ba?(e&255)>>>1:k[ya+4>>2]|0)|0)|0;Ba=x;x=0;do if(Ba&1)d=mb()|0;else{k[wa>>2]=k[e>>2];k[wa+4>>2]=k[e+4>>2];k[wa+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;x=0;e=Ka(866,wa|0,44246)|0;Ba=x;x=0;if(Ba&1){d=mb()|0;P1(wa);break}k[va>>2]=k[e>>2];k[va+4>>2]=k[e+4>>2];k[va+8>>2]=k[e+8>>2];k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;if(!(i[b>>0]&1)){i[A>>0]=0;i[b>>0]=0}else{i[k[z>>2]>>0]=0;k[B>>2]=0}x=0;sa(443,b|0,0);Ba=x;x=0;if(Ba&1){La=Eb(0)|0;Nba(La)}else{k[b>>2]=k[va>>2];k[b+4>>2]=k[va+4>>2];k[b+8>>2]=k[va+8>>2];k[va>>2]=0;k[va+4>>2]=0;k[va+8>>2]=0;P1(va);P1(wa);P1(ya);P1(za);P1(Aa);break p}}while(0);P1(ya)}P1(za)}P1(Aa);break g}while(0);P1(P)}P1(S);break g}while(0);x=0;qa(4,R|0,b|0,w|0,-1,b|0);Ba=x;x=0;if(Ba&1){Fa=82;break g}d=i[Na>>0]|0;Ba=(d&1)==0;x=0;d=Pa(11,R|0,0,(Ba?Na+1|0:k[Na+8>>2]|0)|0,(Ba?(d&255)>>>1:k[q>>2]|0)|0)|0;Ba=x;x=0;if(Ba&1){d=mb()|0;P1(R);break g}k[Q>>2]=k[d>>2];k[Q+4>>2]=k[d+4>>2];k[Q+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;if(!(i[b>>0]&1)){i[A>>0]=0;i[b>>0]=0}else{i[k[z>>2]>>0]=0;k[B>>2]=0}x=0;sa(443,b|0,0);Ba=x;x=0;if(Ba&1){Ba=Eb(0)|0;Nba(Ba)}else{k[b>>2]=k[Q>>2];k[b+4>>2]=k[Q+4>>2];k[b+8>>2]=k[Q+8>>2];k[Q>>2]=0;k[Q+4>>2]=0;k[Q+8>>2]=0;P1(Q);P1(R);break}}while(0);g=i[Na>>0]|0;e=(k[t>>2]|0)+-1+(k[u>>2]|0)|0;d=k[(k[v>>2]|0)+(((e>>>0)/341|0)<<2)>>2]|0;e=(e>>>0)%341|0;f=i[d+(e*12|0)>>0]|0;if(!(f&1))d=(f&255)>>>1;else d=k[d+(e*12|0)+4>>2]|0;w:do if(((g&1)==0?(g&255)>>>1:k[q>>2]|0)>>>0>=d>>>0){if(KH(y,78097)|0)break;e=i[b>>0]|0;d=(e&1)==0;e=d?(e&255)>>>1:k[B>>2]|0;x:do if(e|0){m=d?A:k[z>>2]|0;g=0;while(1){f=m+e|0;if((e|0)==(g|0))break x;d=m+g|0;while(1){if(!(mw(44768,l[d>>0]|0,6)|0))break;d=d+1|0;if((d|0)==(f|0))break x}d=d-m|0;if((d|0)==-1)break x;x=0;qa(4,Ca|0,b|0,d|0,2,b|0);Ba=x;x=0;if(Ba&1){Fa=80;break}Ba=(KH(Ca,43504)|0)==0;P1(Ca);if(!Ba){Fa=410;break}e=i[b>>0]|0;Ba=(e&1)==0;m=Ba?A:k[z>>2]|0;e=Ba?(e&255)>>>1:k[B>>2]|0;if(e>>>0>>0|(e-d|0)>>>0<2)break x;d=m+d|0;j=m+e|0;if((j-d|0)<2)break x;h=j+-1|0;if((h|0)==(d|0))break x;y:while(1){if((i[d>>0]|0)==42){f=d;g=44840;do{g=g+1|0;if((g|0)==44842)break y;f=f+1|0}while((i[f>>0]|0)==(i[g>>0]|0))}d=d+1|0;if((d|0)==(h|0))break x}Ba=d-m|0;g=Ba+2|0;if(!((d|0)!=(j|0)&(Ba|0)!=-1&e>>>0>g>>>0))break x}if((Fa|0)==80){d=mb()|0;Fa=83;break g}else if((Fa|0)==410){i[c+6>>0]=1;break w}}while(0)}while(0);g=i[Na>>0]|0;e=(k[t>>2]|0)+-1+(k[u>>2]|0)|0;d=k[(k[v>>2]|0)+(((e>>>0)/341|0)<<2)>>2]|0;e=(e>>>0)%341|0;f=i[d+(e*12|0)>>0]|0;if(!(f&1))d=(f&255)>>>1;else d=k[d+(e*12|0)+4>>2]|0;do if(((g&1)==0?(g&255)>>>1:k[q>>2]|0)>>>0>d>>>0){if(KH(y,78097)|0){if(!(KH(y,43504)|0))break;if(!(KH(y,43507)|0))if(k[c>>2]&128|0)break;e=(k[t>>2]|0)+-1+(k[u>>2]|0)|0;d=k[(k[v>>2]|0)+(((e>>>0)/341|0)<<2)>>2]|0;e=(e>>>0)%341|0;f=i[d+(e*12|0)>>0]|0;if(!(f&1))d=(f&255)>>>1;else d=k[d+(e*12|0)+4>>2]|0;x=0;d=Ka(905,b|0,d|0)|0;Ga=x;x=0;if(Ga&1){Fa=82;break g}i[d>>0]=47;e=(k[t>>2]|0)+-1+(k[u>>2]|0)|0;d=k[(k[v>>2]|0)+(((e>>>0)/341|0)<<2)>>2]|0;e=(e>>>0)%341|0;f=i[d+(e*12|0)>>0]|0;if(!(f&1))d=(f&255)>>>1;else d=k[d+(e*12|0)+4>>2]|0;x=0;d=Ka(905,b|0,d+1|0)|0;Ga=x;x=0;if(Ga&1){Fa=82;break g}i[d>>0]=47;break}if(!(i[c+6>>0]|0))break;d=k[c>>2]&-249;z:do if(!d){x=0;Qa(74,Ea|0,44282,3);Da=x;x=0;if(Da&1){Fa=82;break g}}else{if((d|0)<3){x=0;Qa(74,Ea|0,44286,2);Da=x;x=0;if(Da&1){Fa=82;break g}else break}e=(k[t>>2]|0)+-1+(k[u>>2]|0)|0;d=k[(k[v>>2]|0)+(((e>>>0)/341|0)<<2)>>2]|0;e=(e>>>0)%341|0;g=d+(e*12|0)|0;f=g|0;k[Da>>2]=0;k[Da+4>>2]=0;k[Da+8>>2]=0;Ca=i[f>>0]|0;g=(Ca&1)==0?(Ca&255)>>>1:k[g+4>>2]|0;x=0;Ua(10,Da|0,43502,1,g+1|0);Ca=x;x=0;do if(!(Ca&1)){x=0;xa(46,Da|0,((i[f>>0]&1)==0?f+1|0:k[d+(e*12|0)+8>>2]|0)|0,g|0)|0;Ca=x;x=0;if(Ca&1)break;x=0;d=Ka(866,Da|0,44289)|0;Ca=x;x=0;if(Ca&1){d=mb()|0;P1(Da);Fa=83;break g}else{k[Ea>>2]=k[d>>2];k[Ea+4>>2]=k[d+4>>2];k[Ea+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;P1(Da);break z}}while(0);d=mb()|0;P1(Da);Fa=83;break g}while(0);Da=i[Ea>>0]|0;Ca=(Da&1)==0;x=0;xa(46,a|0,(Ca?Ea+1|0:k[Ea+8>>2]|0)|0,(Ca?(Da&255)>>>1:k[Ea+4>>2]|0)|0)|0;Da=x;x=0;if(Da&1){d=mb()|0;P1(Ea);break g}P1(Ea);x=0;Qa(74,Ga|0,78097,0);Ea=x;x=0;if(Ea&1){Fa=82;break g}g=k[s>>2]|0;e=k[v>>2]|0;Ea=g-e>>2;f=k[u>>2]|0;d=k[t>>2]|0;do if((((Ea|0)==0?0:(Ea*341|0)+-1|0)|0)==(d+f|0)){x=0;ra(349,c+36|0);Ea=x;x=0;if(Ea&1){d=mb()|0;P1(Ga);break g}else{d=k[t>>2]|0;f=k[u>>2]|0;g=k[s>>2]|0;e=k[v>>2]|0;break}}while(0);d=d+f|0;if((g|0)==(e|0))d=0;else d=(k[e+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=k[Ga>>2];k[d+4>>2]=k[Ga+4>>2];k[d+8>>2]=k[Ga+8>>2];k[Ga>>2]=0;k[Ga+4>>2]=0;k[Ga+8>>2]=0;k[t>>2]=(k[t>>2]|0)+1;P1(Ga);Ga=(k[t>>2]|0)+-1+(k[u>>2]|0)|0;x=0;Ka(854,(k[(k[v>>2]|0)+(((Ga>>>0)/341|0)<<2)>>2]|0)+(((Ga>>>0)%341|0)*12|0)|0,Na|0)|0;Ga=x;x=0;if(Ga&1){Fa=82;break g}}while(0);if(!(KH(Ma,43504)|0))Fa=451;else if(!(KH(Ma,43507)|0))Fa=451;if((Fa|0)==451){i[c+6>>0]=0;do if(!(KH(y,43504)|0))Fa=454;else{if(KH(y,43507)|0)break;if(k[c>>2]&128|0)Fa=454}while(0);do if((Fa|0)==454){if(!(KH(Ma,78097)|0))break;if(k[c>>2]&192|0)break;x=0;Ka(866,a|0,43498)|0;Ga=x;x=0;if(Ga&1){Fa=82;break g}}while(0);do if(k[c>>2]&128|0){if(KH(y,78097)|0)break;x=0;d=Ka(905,b|0,w+1|0)|0;Ga=x;x=0;if(Ga&1){Fa=82;break g}i[d>>0]=42}while(0);x=0;Ka(854,y|0,Ma|0)|0;Ga=x;x=0;if(Ga&1){Fa=82;break}}if(!(KH(y,78097)|0))Fa=464;else if(!(k[c>>2]&64))Fa=464;do if((Fa|0)==464){if(!(KH(y,43507)|0))if(!(k[c>>2]&160))break;x=0;Qa(141,Ha|0,b|0,c|0);Ga=x;x=0;if(Ga&1){Fa=82;break g}Ga=i[Ha>>0]|0;Ea=(Ga&1)==0;x=0;xa(46,a|0,(Ea?Ha+1|0:k[Ha+8>>2]|0)|0,(Ea?(Ga&255)>>>1:k[Ha+4>>2]|0)|0)|0;Ga=x;x=0;if(Ga&1){d=mb()|0;P1(Ha);break g}else{P1(Ha);break}}while(0);d=i[b>>0]|0;Ha=(d&1)==0;g=Ha?A:k[z>>2]|0;f=i[72224]|0;Ga=(f&1)==0;e=Ga?72225:k[18058]|0;f=Ga?(f&255)>>>1:k[18057]|0;d=g+(Ha?(d&255)>>>1:k[B>>2]|0)|0;while(1){if((d|0)==(g|0))break;d=d+-1|0;if(!(mw(e,l[d>>0]|0,f)|0)){Fa=473;break}}do if((Fa|0)==473){f=d-g|0;if((f|0)==-1)break;x=0;qa(4,La|0,b|0,f|0,1,b|0);Ha=x;x=0;if(Ha&1){Fa=82;break g}if(!(KH(y,78097)|0))e=(KH(La,44344)|0)==0&1;else e=0;i[c+5>>0]=e;if(!(KH(y,78097)|0))e=(KH(La,43514)|0)==0&1;else e=0;i[c+7>>0]=e;A:do if((d|0)!=(g|0)){x=0;qa(4,Ia|0,b|0,f+-1|0,2,b|0);b=x;x=0;B:do if(b&1)d=mb()|0;else{do if(!(KH(Ia,44840)|0)){x=0;Ka(874,y|0,78097)|0;b=x;x=0;if(!(b&1))break;d=mb()|0;P1(Ia);break B}while(0);P1(Ia);break A}while(0);P1(La);break g}while(0);P1(La)}while(0);P1(Ma);P1(Na);r=Ja;return}}while(0);if((Fa|0)==82){d=mb()|0;Fa=83}P1(Ma)}P1(Na);Na=d;P1(a);yb(Na|0)}}}while(0);if((Fa|0)==47)d=mb()|0;Na=d;P1(a);yb(Na|0)}function $c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,$=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,va=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ia=0,Ja=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Ra=0;Oa=0;Na=r;r=r+1504|0;La=Na+8|0;_=Na+1352|0;t=Na+1300|0;n=Na+1128|0;h=Na+1488|0;l=Na+1448|0;Ra=Na+1104|0;m=Na+1432|0;Pa=Na+1052|0;p=Na+1392|0;q=Na+1380|0;s=Na+1368|0;o=Na+1356|0;u=Na+1312|0;v=Na+1288|0;y=Na+1276|0;z=Na+1264|0;B=Na+1116|0;C=Na+1064|0;F=Na+1040|0;D=Na;I=Na+896|0;w=Na+832|0;H=Na+880|0;A=Na+752|0;E=Na+680|0;G=Na+664|0;Ma=Na+848|0;J=Na+648|0;L=Na+636|0;K=Na+624|0;T=Na+776|0;M=Na+584|0;O=Na+568|0;Q=Na+556|0;R=Na+544|0;S=Na+540|0;U=Na+528|0;Z=Na+488|0;aa=Na+476|0;ba=Na+464|0;da=Na+452|0;ca=Na+440|0;N=Na+400|0;P=Na+384|0;V=Na+344|0;$=Na+328|0;Ga=Na+764|0;fa=Na+316|0;ea=Na+304|0;la=Na+696|0;ga=Na+264|0;ha=Na+252|0;ia=Na+240|0;ja=Na+228|0;ka=Na+224|0;na=Na+676|0;ma=Na+652|0;oa=Na+212|0;va=Na+200|0;Aa=Na+188|0;Ca=Na+176|0;pa=Na+136|0;ya=Na+124|0;Ba=Na+112|0;Da=Na+100|0;Ea=Na+88|0;za=Na+48|0;Ja=a+4|0;Ia=PN(k[Ja>>2]|0)|0;a:do if(k[Ia>>2]|0){c=0;d=PN(k[Ja>>2]|0)|0;while(1){d=k[d>>2]|0;if(!d)break;else c=c+1|0}d=k[2143]|0;if((c+-1|0)>>>0>d>>>0){g=n+56|0;e=n+4|0;k[n>>2]=8828;k[g>>2]=8848;x=0;sa(452,n+56|0,e|0);Ia=x;x=0;if(Ia&1){Ra=mb()|0;P9(g);yb(Ra|0)}k[n+128>>2]=0;k[n+132>>2]=-1;k[n>>2]=8868;k[g>>2]=8888;x=0;ra(324,e|0);Ia=x;x=0;do if(Ia&1)c=mb()|0;else{k[e>>2]=8272;f=n+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[n+52>>2]=16;k[La>>2]=0;k[La+4>>2]=0;k[La+8>>2]=0;x=0;sa(453,e|0,La|0);Ia=x;x=0;if(Ia&1){c=mb()|0;P1(La);P1(f);D2(e);break}P1(La);x=0;c=xa(49,n|0,32247,28)|0;Ia=x;x=0;if(Ia&1)Oa=19;else{x=0;Ka(883,c|0,d|0)|0;Ia=x;x=0;if(Ia&1)Oa=19;else{x=0;sa(454,h|0,e|0);Ia=x;x=0;if(Ia&1)Oa=19;else{W=l;X=b+8|0;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;c=ua(202,k[Ja>>2]|0)|0;Ia=x;x=0;if(!(Ia&1)){x=0;W=La;X=l;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Qa(100,h|0,La|0,c|0);Ia=x;x=0;if(!(Ia&1)){P1(h);k[n>>2]=8868;k[g>>2]=8888;k[e>>2]=8272;P1(f);D2(e);P9(g);break a}}c=mb()|0;P1(h)}}}if((Oa|0)==19)c=mb()|0;k[n>>2]=8868;k[g>>2]=8888;k[e>>2]=8272;P1(f);D2(e);P9(g);Ra=c;yb(Ra|0)}while(0);Ra=c;P9(g);yb(Ra|0)}}while(0);Fa=b+56|0;_G(m,Fa);x=0;sa(492,Ra|0,m|0);Ia=x;x=0;if(Ia&1){Ra=mb()|0;P1(m);yb(Ra|0)}P1(m);k[Pa>>2]=0;k[Pa+4>>2]=0;k[Pa+8>>2]=0;Ia=i[Ra>>0]|0;Y=(Ia&1)==0;Ia=Y?(Ia&255)>>>1:k[Ra+4>>2]|0;x=0;Ua(10,Pa|0,(Y?Ra+1|0:k[Ra+8>>2]|0)|0,Ia|0,Ia+3|0);Ia=x;x=0;if(Ia&1)Oa=41;else{x=0;xa(46,Pa|0,38285,3)|0;Ia=x;x=0;if(Ia&1)Oa=41;else{Ia=a+8|0;d=(k[Ia>>2]|0)+36|0;x=0;e=Ka(856,d|0,80)|0;Y=x;x=0;b:do if(Y&1)Oa=43;else{f=k[b+68>>2]|0;k[e+4>>2]=k[f+4>>2];k[e>>2]=4748;W=e+8|0;X=f+8|0;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));k[e>>2]=6736;X=f+48|0;Y=k[X+4>>2]|0;c=e+48|0;k[c>>2]=k[X>>2];k[c+4>>2]=Y;c=e+56|0;k[c>>2]=5552;x=0;sa(493,e+60|0,f+60|0);Y=x;x=0;if(Y&1)Oa=43;else{k[e+72>>2]=k[f+72>>2];k[e>>2]=5416;k[c>>2]=5524;g=e+76|0;Y=f+76|0;j[g>>1]=j[Y>>1]|0;i[g+2>>0]=i[Y+2>>0]|0;x=0;g=Ka(857,d|0,e|0)|0;Y=x;x=0;if(Y&1)Oa=43;else{if(!(KH(Ra,32276)|0)){c=g+56|0;d=g+60|0;e=g+64|0;if((k[e>>2]|0)!=(k[d>>2]|0)){x=0;c=Ka(k[(k[c>>2]|0)+12>>2]|0,c|0,0)|0;Ma=x;x=0;if(Ma&1){Oa=43;break}f=k[c>>2]|0;x=0;f=Ka(k[(k[f>>2]|0)+40>>2]|0,f|0,a|0)|0;Ma=x;x=0;if(Ma&1){Oa=43;break}d=k[d>>2]|0;Ma=d+4|0;c=(k[e>>2]|0)-Ma|0;VH(d|0,Ma|0,c|0)|0;c=d+(c>>2<<2)|0;d=k[e>>2]|0;if((d|0)!=(c|0))k[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);d=(k[Ia>>2]|0)+36|0;x=0;e=Ka(856,d|0,80)|0;Ma=x;x=0;if(Ma&1){Oa=43;break}W=p;X=b+8|0;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;sa(k[(k[f>>2]|0)+24>>2]|0,s|0,f|0);b=x;x=0;if(b&1){Oa=43;break}x=0;Ua(11,q|0,s|0,0,0);b=x;x=0;if(b&1)c=mb()|0;else{k[e+4>>2]=0;W=e+8|0;X=p;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;c=e+52|0;k[c>>2]=0;k[e>>2]=8984;x=0;sa(430,e+56|0,q|0);b=x;x=0;do if(!(b&1)){k[e+68>>2]=g;k[e+72>>2]=0;k[e+76>>2]=0;k[c>>2]=4;x=0;c=Ka(857,d|0,e|0)|0;b=x;x=0;if(b&1)break;P1(q);P1(s);x=0;c=Ka(k[(k[a>>2]|0)+132>>2]|0,a|0,c|0)|0;Oa=x;x=0;if(Oa&1){Oa=43;break b}P1(Pa);P1(Ra);r=Na;return c|0}while(0);c=mb()|0;P1(q)}P1(s);break}}x=0;q=ua(203,k[Ja>>2]|0)|0;Y=x;x=0;if(Y&1)Oa=43;else{x=0;c=Ka(881,q|0,Pa|0)|0;Y=x;x=0;if(Y&1)Oa=43;else{do if(!c){x=0;Qa(74,o|0,32281,4);Y=x;x=0;if(Y&1){Oa=43;break b}x=0;c=Ka(881,q|0,o|0)|0;Y=x;x=0;if(Y&1){c=mb()|0;P1(o);break b}P1(o);if(c){x=0;Ka(874,Pa|0,32281)|0;Y=x;x=0;if(Y&1){Oa=43;break b}else break}c=k[g+60>>2]|0;f=k[g+64>>2]|0;c:do if((c|0)!=(f|0)){d:while(1){e=k[c>>2]|0;d=k[e+56>>2]|0;do if(d|0){d=Ot(d,64,616,0)|0;if(!d)break;i[d+60>>0]=0;i[d+61>>0]=0;x=0;d=ua(k[(k[d>>2]|0)+96>>2]|0,d|0)|0;Ma=x;x=0;if(Ma&1)break d;i[e+48>>0]=d&1}while(0);c=c+4|0;if((c|0)==(f|0))break c}c=mb()|0;Oa=44;break b}while(0);x=0;f=Ka(k[(k[g>>2]|0)+40>>2]|0,g|0,a|0)|0;Ma=x;x=0;if(Ma&1){Oa=43;break b}d=(k[Ia>>2]|0)+36|0;x=0;e=Ka(856,d|0,80)|0;Ma=x;x=0;if(Ma&1){Oa=43;break b}g=b+8|0;W=u;X=g;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;sa(430,v|0,Fa|0);Ma=x;x=0;if(Ma&1){Oa=43;break b}k[e+4>>2]=0;W=e+8|0;X=u;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;c=e+52|0;k[c>>2]=0;k[e>>2]=8984;x=0;sa(430,e+56|0,v|0);Ma=x;x=0;do if(!(Ma&1)){k[e+68>>2]=f;k[e+72>>2]=0;k[e+76>>2]=0;k[c>>2]=4;x=0;e=Ka(857,d|0,e|0)|0;Ma=x;x=0;if(Ma&1)break;P1(v);e:do if(i[f+76>>0]|0){x=0;sa(430,B|0,Fa|0);Ma=x;x=0;if(Ma&1){Oa=43;break b}x=0;c=xa(50,B|0,0,32286)|0;Ma=x;x=0;if(Ma&1)c=mb()|0;else{k[z>>2]=k[c>>2];k[z+4>>2]=k[c+4>>2];k[z+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=Ka(866,z|0,32296)|0;Ma=x;x=0;do if(Ma&1)c=mb()|0;else{k[y>>2]=k[c>>2];k[y+4>>2]=k[c+4>>2];k[y+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;W=La;X=g;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));sa(438,y|0,La|0);Ma=x;x=0;if(Ma&1){c=mb()|0;P1(y);break}else{P1(y);P1(z);P1(B);break e}}while(0);P1(z)}P1(B);break b}while(0);c=(k[Ia>>2]|0)+36|0;x=0;d=Ka(856,c|0,76)|0;Ma=x;x=0;if(Ma&1){Oa=43;break b}W=C;X=g;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Ma=k[(k[e>>2]|0)+20>>2]|0;Ia=k[(k[Ia>>2]|0)+16>>2]|0;Ja=k[Ia+4>>2]|0;a=D;k[a>>2]=k[Ia>>2];k[a+4>>2]=Ja;x=0;k[La>>2]=k[D>>2];k[La+4>>2]=k[D+4>>2];Qa(Ma|0,F|0,e|0,La|0);Ma=x;x=0;if(Ma&1){Oa=43;break b}x=0;W=La;X=C;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));qa(5,d|0,La|0,F|0,0,0);Ma=x;x=0;do if(!(Ma&1)){x=0;c=Ka(857,c|0,d|0)|0;Ma=x;x=0;if(Ma&1)break;P1(F);i[c+50>>0]=i[b+50>>0]|0;Oa=c;P1(Pa);P1(Ra);r=Na;return Oa|0}while(0);c=mb()|0;P1(F);break b}while(0);c=mb()|0;P1(v);break b}while(0);if(!(KH(Pa,32331)|0))p=g;else{x=0;c=Ka(k[(k[g>>2]|0)+40>>2]|0,g|0,a|0)|0;Y=x;x=0;if(Y&1){Oa=43;break}p=c}x=0;c=Ka(867,q|0,Pa|0)|0;Y=x;x=0;if(Y&1)Oa=43;else{c=k[c>>2]|0;f:do if(!(i[c+104>>0]|0))n=c;else{m=I+64|0;c=I+8|0;k[c>>2]=8236;l=I+12|0;k[I>>2]=8440;k[m>>2]=8460;k[I+4>>2]=0;x=0;sa(452,I+64|0,l|0);Y=x;x=0;if(Y&1)c=mb()|0;else{k[I+136>>2]=0;k[I+140>>2]=-1;k[I>>2]=8216;k[m>>2]=8256;k[c>>2]=8236;x=0;ra(324,l|0);Y=x;x=0;do if(Y&1)c=mb()|0;else{k[l>>2]=8272;h=I+44|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;k[I+60>>2]=24;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;x=0;sa(453,l|0,t|0);Y=x;x=0;if(Y&1){c=mb()|0;P1(t);P1(h);D2(l);break}P1(t);g=I+8|0;f=i[Pa>>0]|0;Y=(f&1)==0;c=Pa+8|0;d=Pa+1|0;e=Pa+4|0;x=0;f=xa(49,g|0,(Y?d:k[c>>2]|0)|0,(Y?(f&255)>>>1:k[e>>2]|0)|0)|0;Y=x;x=0;do if(Y&1)Oa=114;else{x=0;Ka(860,f|0,(k[p+64>>2]|0)-(k[p+60>>2]|0)>>2|0)|0;Y=x;x=0;if(Y&1){Oa=114;break}x=0;sa(454,w|0,l|0);Y=x;x=0;if(Y&1){Oa=114;break}if(!(i[Pa>>0]&1)){i[d>>0]=0;i[Pa>>0]=0}else{i[k[c>>2]>>0]=0;k[e>>2]=0}x=0;sa(443,Pa|0,0);Y=x;x=0;if(Y&1){Y=Eb(0)|0;Nba(Y)}k[Pa>>2]=k[w>>2];k[Pa+4>>2]=k[w+4>>2];k[Pa+8>>2]=k[w+8>>2];k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;P1(w);x=0;sa(430,H|0,Pa|0);Y=x;x=0;if(Y&1){Oa=114;break}x=0;c=Ka(881,q|0,H|0)|0;Y=x;x=0;g:do if(Y&1)Oa=115;else{h:do if(!c){x=0;sa(430,G|0,Fa|0);Y=x;x=0;if(Y&1){Oa=115;break g}x=0;c=xa(50,G|0,0,32337)|0;Y=x;x=0;if(Y&1)c=mb()|0;else{k[E>>2]=k[c>>2];k[E+4>>2]=k[c+4>>2];k[E+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=Ka(866,E|0,32359)|0;Y=x;x=0;do if(Y&1)c=mb()|0;else{k[A>>2]=k[c>>2];k[A+4>>2]=k[c+4>>2];k[A+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;W=La;X=b+8|0;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));sa(438,A|0,La|0);Y=x;x=0;if(Y&1){c=mb()|0;P1(A);break}else{P1(A);P1(E);P1(G);break h}}while(0);P1(E)}P1(G);break g}while(0);x=0;c=Ka(867,q|0,H|0)|0;Oa=x;x=0;if(Oa&1){Oa=115;break}n=k[c>>2]|0;P1(H);k[I>>2]=8216;k[m>>2]=8256;k[g>>2]=8236;k[l>>2]=8272;P1(h);D2(l);P9(m);break f}while(0);if((Oa|0)==115)c=mb()|0;P1(H)}while(0);if((Oa|0)==114)c=mb()|0;k[I>>2]=8216;k[m>>2]=8256;k[g>>2]=8236;k[l>>2]=8272;P1(h);D2(l);P9(m);break b}while(0)}P9(m);Oa=44;break b}while(0);m=k[n+64>>2]|0;o=k[n+92>>2]|0;u=k[n+96>>2]|0;t=k[n+80>>2]|0;x=0;Qa(107,Ma|0,k[n+84>>2]|0,0);Oa=x;x=0;if(Oa&1)Oa=43;else{c=k[Ja>>2]|0;k[J>>2]=Ma;d=c+28|0;e=k[d>>2]|0;if(e>>>0<(k[c+32>>2]|0)>>>0){k[e>>2]=Ma;k[d>>2]=(k[d>>2]|0)+4;Oa=129}else{x=0;sa(488,c+24|0,J|0);Oa=x;x=0;if(Oa&1)Oa=147;else Oa=129}i:do if((Oa|0)==129){l=(o|0)!=0;h=(m|0)!=0;j:do if(h|l){x=0;Qa(74,L|0,32393,8);Ga=x;x=0;if(Ga&1){Oa=147;break i}x=0;sa(430,K|0,Fa|0);Ga=x;x=0;do if(Ga&1)c=mb()|0;else{x=0;Ha(1,L|0,K|0,t|0,p|0,k[Ia>>2]|0,Ma|0,a|0);Ga=x;x=0;if(Ga&1){c=mb()|0;P1(K);break}P1(K);P1(L);x=0;d=ua(202,k[Ja>>2]|0)|0;Ga=x;x=0;if(Ga&1){Oa=147;break i}f=b+8|0;W=M;X=f;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;sa(430,R|0,Fa|0);Ga=x;x=0;if(Ga&1){Oa=147;break i}x=0;c=xa(50,R|0,0,32402)|0;Ga=x;x=0;if(Ga&1)c=mb()|0;else{k[Q>>2]=k[c>>2];k[Q+4>>2]=k[c+4>>2];k[Q+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=Ka(866,Q|0,38057)|0;Ga=x;x=0;do if(Ga&1)c=mb()|0;else{k[O>>2]=k[c>>2];k[O+4>>2]=k[c+4>>2];k[O+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[T>>2]=d;W=T+4|0;X=M;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));g=T+44|0;x=0;sa(430,g|0,O|0);Ga=x;x=0;if(Ga&1){c=mb()|0;P1(O);break}P1(O);P1(Q);P1(R);c=k[Ja>>2]|0;k[S>>2]=T;d=c+100|0;e=k[d>>2]|0;if(e>>>0<(k[c+104>>2]|0)>>>0){k[e>>2]=T;k[d>>2]=(k[d>>2]|0)+4;Oa=141}else{x=0;sa(494,c+96|0,S|0);Oa=x;x=0;if(Oa&1)Oa=157;else Oa=141}k:do if((Oa|0)==141){do if(h){x=0;sa(430,U|0,Fa|0);Ga=x;x=0;if(Ga&1){Oa=157;break k}x=0;c=ua(207,((i[U>>0]&1)==0?U+1|0:k[U+8>>2]|0)|0)|0;Ga=x;x=0;if(Ga&1){c=mb()|0;P1(U);break k}P1(U);if(c|0){Oa=159;break}x=0;c=Ka(k[(k[m>>2]|0)+40>>2]|0,m|0,a|0)|0;Oa=x;x=0;if(Oa&1){Oa=157;break k}else Oa=162}else Oa=159;while(0);do if((Oa|0)==159){if(!l){c=b;break}e=k[Ia>>2]|0;c=k[n+108>>2]|0;W=Z;X=f;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;d=ua(202,k[Ja>>2]|0)|0;Oa=x;x=0;if(Oa&1){Oa=157;break k}x=0;W=La;X=Z;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));c=ta(o|0,Ma|0,q|0,e|0,c|0,La|0,d|0)|0;Oa=x;x=0;if(Oa&1){Oa=157;break k}else Oa=162}while(0);l:do if((Oa|0)==162){if(c|0)break;x=0;Qa(74,da|0,32286,9);Ia=x;x=0;if(Ia&1){Oa=157;break k}x=0;sa(430,ca|0,Fa|0);Ia=x;x=0;if(Ia&1)c=mb()|0;else{c=i[ca>>0]|0;Ia=(c&1)==0;x=0;c=xa(46,da|0,(Ia?ca+1|0:k[ca+8>>2]|0)|0,(Ia?(c&255)>>>1:k[ca+4>>2]|0)|0)|0;Ia=x;x=0;if(Ia&1)c=mb()|0;else{k[ba>>2]=k[c>>2];k[ba+4>>2]=k[c+4>>2];k[ba+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=Ka(866,ba|0,32418)|0;Ia=x;x=0;do if(Ia&1)c=mb()|0;else{k[aa>>2]=k[c>>2];k[aa+4>>2]=k[c+4>>2];k[aa+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;W=La;X=f;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));sa(438,aa|0,La|0);La=x;x=0;if(La&1){c=mb()|0;P1(aa);break}else{P1(aa);P1(ba);P1(ca);P1(da);c=0;break l}}while(0);P1(ba)}P1(ca)}P1(da);break k}while(0);Oa=(k[Ja>>2]|0)+100|0;k[Oa>>2]=(k[Oa>>2]|0)+-4;P1(g);break j}while(0);if((Oa|0)==157)c=mb()|0;P1(g);break i}while(0);P1(Q)}P1(R);break i}while(0);P1(L);break i}else{if(!u){c=b;break}x=0;s=ua(208,u|0)|0;da=x;x=0;if(da&1){Oa=147;break i}m:do if(!(KH(Pa,32281)|0)){c=(k[Ia>>2]|0)+36|0;x=0;d=Ka(856,c|0,76)|0;da=x;x=0;if(da&1){Oa=147;break i}g=b+8|0;W=N;X=g;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;sa(430,P|0,Fa|0);da=x;x=0;if(da&1){Oa=147;break i}x=0;W=La;X=N;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));qa(5,d|0,La|0,P|0,0,0);da=x;x=0;do if(!(da&1)){x=0;f=Ka(857,c|0,d|0)|0;da=x;x=0;if(da&1)break;P1(P);c=(k[Ia>>2]|0)+36|0;x=0;d=Ka(856,c|0,80)|0;da=x;x=0;if(da&1){Oa=147;break i}W=La;X=g;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));k[d+4>>2]=0;W=d+8|0;X=La;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));i[d+48>>0]=0;i[d+49>>0]=0;i[d+50>>0]=0;k[d+52>>2]=0;k[d+60>>2]=0;k[d+64>>2]=0;k[d+68>>2]=0;k[d>>2]=5416;k[d+56>>2]=5524;i[d+76>>0]=0;i[d+77>>0]=0;i[d+78>>0]=0;x=0;c=Ka(857,c|0,d|0)|0;da=x;x=0;if(da&1){Oa=147;break i}q=c+56|0;d=(k[Ia>>2]|0)+36|0;x=0;e=Ka(856,d|0,80)|0;da=x;x=0;if(da&1){Oa=147;break i}W=V;X=g;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;Qa(74,$|0,78097,0);da=x;x=0;if(da&1){Oa=147;break i}k[e+4>>2]=0;W=e+8|0;X=V;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));i[e+48>>0]=0;i[e+49>>0]=0;i[e+50>>0]=0;k[e+52>>2]=0;k[e>>2]=8476;k[e+56>>2]=f;x=0;sa(430,e+60|0,$|0);da=x;x=0;if(da&1)c=mb()|0;else{i[e+72>>0]=0;i[e+73>>0]=0;k[e+76>>2]=0;x=0;d=Ka(857,d|0,e|0)|0;da=x;x=0;do if(!(da&1)){k[_>>2]=d;e=d;if(d|0){k[c+72>>2]=0;f=c+64|0;g=k[f>>2]|0;if((g|0)==(k[c+68>>2]|0)){x=0;sa(478,c+60|0,_|0);da=x;x=0;if(da&1)break}else{k[g>>2]=e;k[f>>2]=(k[f>>2]|0)+4}x=0;sa(k[k[q>>2]>>2]|0,q|0,d|0);da=x;x=0;if(da&1)break}P1($);d=(p|0)==0?0:p+56|0;e=k[d+4>>2]|0;p=(k[d+8>>2]|0)-e>>2;if(!p)break m;h=d+4|0;l=c+72|0;m=c+64|0;n=c+68|0;o=c+60|0;d=0;while(1){e=k[e+(d<<2)>>2]|0;k[La>>2]=e;f=e;if(e|0){k[l>>2]=0;g=k[m>>2]|0;if((g|0)==(k[n>>2]|0)){x=0;sa(478,o|0,La|0);da=x;x=0;if(da&1)break}else{k[g>>2]=f;k[m>>2]=(k[m>>2]|0)+4}x=0;sa(k[k[q>>2]>>2]|0,q|0,e|0);da=x;x=0;if(da&1)break}d=d+1|0;if((d|0)==(p|0))break m;e=k[h>>2]|0}c=mb()|0;Oa=148;break i}while(0);c=mb()|0}P1($);break i}while(0);c=mb()|0;P1(P);break i}else c=p;while(0);x=0;sa(430,Ga|0,Fa|0);da=x;x=0;if(da&1){Oa=147;break i}x=0;Qa(74,fa|0,32393,8);da=x;x=0;n:do if(da&1)Oa=225;else{x=0;sa(430,ea|0,Fa|0);da=x;x=0;do if(da&1)c=mb()|0;else{x=0;Ha(1,fa|0,ea|0,t|0,c|0,k[Ia>>2]|0,Ma|0,a|0);da=x;x=0;if(da&1){c=mb()|0;P1(ea);break}P1(ea);P1(fa);x=0;d=ua(202,k[Ja>>2]|0)|0;fa=x;x=0;if(fa&1){Oa=225;break n}h=b+8|0;W=ga;X=h;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;sa(430,ja|0,Fa|0);fa=x;x=0;if(fa&1){Oa=225;break n}x=0;c=xa(50,ja|0,0,32402)|0;fa=x;x=0;if(fa&1)c=mb()|0;else{k[ia>>2]=k[c>>2];k[ia+4>>2]=k[c+4>>2];k[ia+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=Ka(866,ia|0,38057)|0;fa=x;x=0;do if(fa&1)c=mb()|0;else{k[ha>>2]=k[c>>2];k[ha+4>>2]=k[c+4>>2];k[ha+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[la>>2]=d;W=la+4|0;X=ga;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));l=la+44|0;x=0;sa(430,l|0,ha|0);ga=x;x=0;if(ga&1){c=mb()|0;P1(ha);break}P1(ha);P1(ia);P1(ja);c=k[Ja>>2]|0;k[ka>>2]=la;d=c+100|0;e=k[d>>2]|0;do if(e>>>0<(k[c+104>>2]|0)>>>0){k[e>>2]=la;k[d>>2]=(k[d>>2]|0)+4;Oa=221}else{x=0;sa(494,c+96|0,ka|0);la=x;x=0;if(!(la&1)){Oa=221;break}c=mb()|0}while(0);o:do if((Oa|0)==221){k[na>>2]=16480;f=t+52|0;e=t+56|0;x=0;g=Ka(882,(k[e>>2]|0)-(k[f>>2]|0)>>2|0,0)|0;la=x;x=0;p:do if(la&1)Oa=236;else{c=k[f>>2]|0;q:do if((k[e>>2]|0)!=(c|0)){d=0;while(1){x=0;sa(430,ma|0,(k[c+(d<<2)>>2]|0)+48|0);la=x;x=0;if(la&1){Oa=235;break}x=0;c=Ka(880,Ma|0,ma|0)|0;la=x;x=0;if(la&1){Oa=243;break}c=k[c>>2]|0;x=0;c=Ka(k[(k[c>>2]|0)+52>>2]|0,c|0,na|0)|0;la=x;x=0;if(la&1){Oa=243;break}x=0;Qa(105,g|0,d|0,c|0);la=x;x=0;if(la&1){Oa=243;break}P1(ma);d=d+1|0;c=k[f>>2]|0;if(d>>>0>=(k[e>>2]|0)-c>>2>>>0)break q}if((Oa|0)==235){c=mb()|0;break p}else if((Oa|0)==243){c=mb()|0;P1(ma);break o}}while(0);x=0;f=xa(s|0,g|0,u|0,k[(k[Ia>>2]|0)+284>>2]|0)|0;na=x;x=0;if(na&1){Oa=236;break}x=0;c=ua(209,f|0)|0;na=x;x=0;if(na&1){Oa=236;break}r:do if((c|0)==7){x=0;sa(430,Ca|0,Fa|0);Fa=x;x=0;if(Fa&1){Oa=236;break p}x=0;c=xa(50,Ca|0,0,32442)|0;Fa=x;x=0;if(Fa&1)c=mb()|0;else{k[Aa>>2]=k[c>>2];k[Aa+4>>2]=k[c+4>>2];k[Aa+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=Ka(866,Aa|0,48464)|0;Fa=x;x=0;if(Fa&1)c=mb()|0;else{k[va>>2]=k[c>>2];k[va+4>>2]=k[c+4>>2];k[va+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=ua(210,f|0)|0;Fa=x;x=0;do if(Fa&1)Oa=256;else{x=0;c=Ka(866,va|0,c|0)|0;Fa=x;x=0;if(Fa&1){Oa=256;break}k[oa>>2]=k[c>>2];k[oa+4>>2]=k[c+4>>2];k[oa+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;W=pa;X=h;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;c=ua(202,k[Ja>>2]|0)|0;Fa=x;x=0;do if(!(Fa&1)){x=0;W=La;X=pa;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Qa(100,oa|0,La|0,c|0);Fa=x;x=0;if(Fa&1)break;P1(oa);P1(va);P1(Aa);P1(Ca);break r}while(0);c=mb()|0;P1(oa)}while(0);if((Oa|0)==256)c=mb()|0;P1(va)}P1(Aa)}P1(Ca);break o}else{x=0;c=ua(209,f|0)|0;Ca=x;x=0;if(Ca&1){Oa=236;break p}if((c|0)!=8)break;x=0;sa(430,Ea|0,Fa|0);Fa=x;x=0;if(Fa&1){Oa=236;break p}x=0;c=xa(50,Ea|0,0,32463)|0;Fa=x;x=0;if(Fa&1)c=mb()|0;else{k[Da>>2]=k[c>>2];k[Da+4>>2]=k[c+4>>2];k[Da+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=Ka(866,Da|0,48464)|0;Fa=x;x=0;if(Fa&1)c=mb()|0;else{k[Ba>>2]=k[c>>2];k[Ba+4>>2]=k[c+4>>2];k[Ba+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;c=ua(211,f|0)|0;Fa=x;x=0;do if(Fa&1)Oa=273;else{x=0;c=Ka(866,Ba|0,c|0)|0;Fa=x;x=0;if(Fa&1){Oa=273;break}k[ya>>2]=k[c>>2];k[ya+4>>2]=k[c+4>>2];k[ya+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;W=za;X=h;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));x=0;c=ua(202,k[Ja>>2]|0)|0;Fa=x;x=0;do if(!(Fa&1)){x=0;W=La;X=za;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));Qa(100,ya|0,La|0,c|0);Fa=x;x=0;if(Fa&1)break;P1(ya);P1(Ba);P1(Da);P1(Ea);break r}while(0);c=mb()|0;P1(ya)}while(0);if((Oa|0)==273)c=mb()|0;P1(Ba)}P1(Da)}P1(Ea);break o}while(0);c=k[Ia>>2]|0;x=0;d=ua(202,k[Ja>>2]|0)|0;Oa=x;x=0;if(Oa&1){Oa=236;break}e=c+36|0;x=0;W=La;X=h;Y=W+40|0;do{k[W>>2]=k[X>>2];W=W+4|0;X=X+4|0}while((W|0)<(Y|0));c=wa(21,e|0,f|0,c|0,d|0,La|0)|0;Oa=x;x=0;if(Oa&1){Oa=236;break}Oa=(k[Ja>>2]|0)+100|0;k[Oa>>2]=(k[Oa>>2]|0)+-4;x=0;ra(333,g|0);Oa=x;x=0;if(Oa&1){Oa=236;break}if((f|0)!=(g|0)){x=0;ra(333,f|0);Oa=x;x=0;if(Oa&1){Oa=236;break}}P1(l);P1(Ga);break j}while(0);if((Oa|0)==236)c=mb()|0}while(0);P1(l);break n}while(0);P1(ia)}P1(ja);break n}while(0);P1(fa)}while(0);if((Oa|0)==225)c=mb()|0;P1(Ga);break i}while(0);if((k[c+16>>2]|0)==-1)VH(c+8|0,b+8|0,40)|0;Oa=(k[c+52>>2]|0)==4;i[c+48>>0]=Oa&1;if(!Oa){x=0;c=Ka(k[(k[c>>2]|0)+40>>2]|0,c|0,a|0)|0;Oa=x;x=0;if(Oa&1){Oa=147;break}}i[c+50>>0]=i[b+50>>0]|0;Oa=(k[Ja>>2]|0)+28|0;k[Oa>>2]=(k[Oa>>2]|0)+-4;iB(Ma+20|0);az(Ma,k[Ma+4>>2]|0);Oa=c;P1(Pa);P1(Ra);r=Na;return Oa|0}while(0);if((Oa|0)==147){c=mb()|0;Oa=148}iB(Ma+20|0);az(Ma,k[Ma+4>>2]|0)}}}}}}}while(0);if((Oa|0)==43){c=mb()|0;Oa=44}P1(Pa)}}if((Oa|0)==41){c=mb()|0;P1(Pa)}P1(Ra);Ra=c;yb(Ra|0);return 0} -function Uc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0.0;k[ic>>2]=a;b=ic+8|0;d=m[a+2>>1]|0;ic=ic+(d+1<<3)|0;if((hc|0)!=2){}else{a=(k[b-4>>2]|0)-8|0}a=a+4|0;while(1){a=a+4|0;c=k[a>>2]|0;d=c>>8&255;e=c>>16&255;f=c>>>24;switch(c&255){case 0:k[b+(d<<3)>>2]=k[b+(e<<3)>>2]|0;break;case 1:k[b+(d<<3)>>2]=c>>16;break;case 2:a=a+4|0;k[b+(d<<3)>>2]=k[a>>2]|0;break;case 3:k[b+(d<<3)>>2]=(k[b+(e<<3)>>2]|0)+(k[b+(f<<3)>>2]|0)|0;break;case 4:k[b+(d<<3)>>2]=(k[b+(e<<3)>>2]|0)-(k[b+(f<<3)>>2]|0)|0;break;case 11:k[b+(d<<3)>>2]=~(k[b+(e<<3)>>2]|0);break;case 16:k[b+(d<<3)>>2]=k[b+(e<<3)>>2]>>>0>2]>>>0|0;break;case 19:k[b+(d<<3)>>2]=(k[b+(e<<3)>>2]|0)&(k[b+(f<<3)>>2]|0);break;case 20:k[b+(d<<3)>>2]=k[b+(e<<3)>>2]|0|(k[b+(f<<3)>>2]|0);break;case 25:k[b+(d<<3)>>2]=(k[b+(e<<3)>>2]|0)+(c>>24)|0;break;case 26:k[b+(d<<3)>>2]=(k[b+(e<<3)>>2]|0)-(c>>24)|0;break;case 27:e=ia(k[b+(e<<3)>>2]|0,c>>24)|0;k[b+(d<<3)>>2]=e;break;case 28:k[b+(d<<3)>>2]=(k[b+(e<<3)>>2]|0)/(c>>24)|0;break;case 32:k[b+(d<<3)>>2]=(k[b+(e<<3)>>2]|0)==c>>24|0;break;case 33:k[b+(d<<3)>>2]=(k[b+(e<<3)>>2]|0)!=c>>24|0;break;case 35:k[b+(d<<3)>>2]=k[b+(e<<3)>>2]>>>0>>0|0;break;case 38:k[b+(d<<3)>>2]=(k[b+(e<<3)>>2]|0)&c>>24;break;case 39:k[b+(d<<3)>>2]=k[b+(e<<3)>>2]|0|c>>24;break;case 40:k[b+(d<<3)>>2]=(k[b+(e<<3)>>2]|0)^c>>24;break;case 41:k[b+(d<<3)>>2]=(k[b+(e<<3)>>2]|0)<>2]=(k[b+(e<<3)>>2]|0)>>f;break;case 43:k[b+(d<<3)>>2]=(k[b+(e<<3)>>2]|0)>>>f;break;case 45:if((k[b+(e<<3)>>2]|0)==(k[b+(f<<3)>>2]|0)){a=a+4|0}else{a=k[a+4>>2]|0;a=a-4|0;continue}break;case 46:if((k[b+(e<<3)>>2]|0)!=(k[b+(f<<3)>>2]|0)){a=a+4|0}else{a=k[a+4>>2]|0;a=a-4|0;continue}break;case 47:if((k[b+(e<<3)>>2]|0)<(k[b+(f<<3)>>2]|0)){a=a+4|0}else{a=k[a+4>>2]|0;a=a-4|0;continue}break;case 48:if(k[b+(e<<3)>>2]>>>0>2]>>>0){a=a+4|0}else{a=k[a+4>>2]|0;a=a-4|0;continue}break;case 49:if((k[b+(e<<3)>>2]|0)<=(k[b+(f<<3)>>2]|0)){a=a+4|0}else{a=k[a+4>>2]|0;a=a-4|0;continue}break;case 50:if(k[b+(e<<3)>>2]>>>0<=k[b+(f<<3)>>2]>>>0){a=a+4|0}else{a=k[a+4>>2]|0;a=a-4|0;continue}break;case 52:if((k[b+(e<<3)>>2]|0)==(k[b+(f<<3)>>2]|0)){a=k[a+4>>2]|0;a=a-4|0;continue}else{a=a+4|0}break;case 53:if((k[b+(e<<3)>>2]|0)!=(k[b+(f<<3)>>2]|0)){a=k[a+4>>2]|0;a=a-4|0;continue}else{a=a+4|0}break;case 54:if((k[b+(e<<3)>>2]|0)<(k[b+(f<<3)>>2]|0)){a=k[a+4>>2]|0;a=a-4|0;continue}else{a=a+4|0}break;case 55:if(k[b+(e<<3)>>2]>>>0>2]>>>0){a=k[a+4>>2]|0;a=a-4|0;continue}else{a=a+4|0}break;case 56:if((k[b+(e<<3)>>2]|0)<=(k[b+(f<<3)>>2]|0)){a=k[a+4>>2]|0;a=a-4|0;continue}else{a=a+4|0}break;case 57:if(k[b+(e<<3)>>2]>>>0<=k[b+(f<<3)>>2]>>>0){a=k[a+4>>2]|0;a=a-4|0;continue}else{a=a+4|0}break;case 59:p[b+(d<<3)>>3]=+(c>>16);break;case 78:k[b+(d<<3)>>2]=i[k[b+(e<<3)>>2]>>0];break;case 82:k[b+(d<<3)>>2]=k[k[b+(e<<3)>>2]>>2];break;case 83:i[k[b+(d<<3)>>2]>>0]=k[b+(e<<3)>>2]|0;break;case 85:k[k[b+(d<<3)>>2]>>2]=k[b+(e<<3)>>2]|0;break;case 94:k[b+(d<<3)>>2]=k[(k[b+(e<<3)>>2]|0)+(k[b+(f<<3)>>2]|0)>>2];break;case 97:k[(k[b+(d<<3)>>2]|0)+(k[b+(e<<3)>>2]|0)>>2]=k[b+(f<<3)>>2]|0;break;case 102:k[b+(d<<3)>>2]=i[(k[b+(e<<3)>>2]|0)+(c>>24)>>0];break;case 106:k[b+(d<<3)>>2]=k[(k[b+(e<<3)>>2]|0)+(c>>24)>>2];break;case 107:i[(k[b+(d<<3)>>2]|0)+(e<<24>>24)>>0]=k[b+(f<<3)>>2]|0;break;case 109:k[(k[b+(d<<3)>>2]|0)+(e<<24>>24)>>2]=k[b+(f<<3)>>2]|0;break;case 116:k[k[b+(d<<3)>>2]>>2]=k[k[b+(e<<3)>>2]>>2]|0;break;case 119:a=a+(c>>16<<2)|0;a=a-4|0;continue;break;case 120:if(k[b+(d<<3)>>2]|0){a=a+(c>>16<<2)|0;a=a-4|0;continue}break;case 121:if(!(k[b+(d<<3)>>2]|0)){a=a+(c>>16<<2)|0;a=a-4|0;continue}break;case 125:a=a+4|0;k[b+(d<<3)>>2]=k[b+(e<<3)>>2]|0?k[b+(f<<3)>>2]|0:k[b+((l[a>>0]|0)<<3)>>2]|0;break;case 130:switch(e|0){case 0:{k[b+(d<<3)>>2]=x;continue}default:}break;case 132:switch(c>>8&255){case 0:{x=k[b+(f<<3)>>2]|0;continue}default:}break;case 134:f=l[(k[a+4>>2]|0)+1|0]|0;e=0;if((hc|0)!=2){while((e|0)<(f|0)){k[ic+(e<<3)+8>>2]=k[b+(l[a+8+e>>0]<<3)>>2]|0;k[ic+(e<<3)+12>>2]=k[b+(l[a+8+e>>0]<<3)+4>>2]|0;e=e+1|0}}k[b-4>>2]=a;Uc(k[a+4>>2]|0);if((hc|0)==1){ic=b-8|0;return}k[b+(d<<3)>>2]=k[ic>>2]|0;k[b+(d<<3)+4>>2]=k[ic+4>>2]|0;a=a+(4+f+3>>2<<2)|0;break;case 135:switch(c>>>16|0){case 0:{k[b-4>>2]=a;zo(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 1:{k[b-4>>2]=a;f=zt(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 2:{k[b-4>>2]=a;f=Gs(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 3:{k[b-4>>2]=a;f=mg(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 4:{k[b-4>>2]=a;xw(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 5:{k[b-4>>2]=a;rc[k[b+(l[a+4>>0]<<3)>>2]&1023](k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 6:{k[b-4>>2]=a;f=Ss(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 7:{k[b-4>>2]=a;f=mr(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 8:{k[b-4>>2]=a;f=Ts(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 9:{k[b-4>>2]=a;f=nr(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 10:{k[b-4>>2]=a;f=Hs(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 11:{k[b-4>>2]=a;f=jr(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 12:{k[b-4>>2]=a;f=Sr(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 13:{k[b-4>>2]=a;f=Tg(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 14:{k[b-4>>2]=a;f=Nr(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 15:{k[b-4>>2]=a;f=Ng(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 16:{k[b-4>>2]=a;f=Lr(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 17:{k[b-4>>2]=a;f=Ie(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 18:{k[b-4>>2]=a;f=Hr(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 19:{k[b-4>>2]=a;f=ws(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 20:{k[b-4>>2]=a;f=Fr(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 21:{k[b-4>>2]=a;f=Im(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 22:{k[b-4>>2]=a;lE(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 23:{k[b-4>>2]=a;Qa(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0,k[b+(l[a+7>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 24:{k[b-4>>2]=a;f=mb()|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;continue}case 25:{k[b-4>>2]=a;P1(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 26:{k[b-4>>2]=a;yb(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 27:{k[b-4>>2]=a;f=ss(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 28:{k[b-4>>2]=a;f=LD(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 29:{k[b-4>>2]=a;f=bO(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 30:{k[b-4>>2]=a;f=Ux(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 31:{k[b-4>>2]=a;f=lD(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 32:{k[b-4>>2]=a;Zv(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 33:{k[b-4>>2]=a;sa(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 34:{k[b-4>>2]=a;f=Ka(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 35:{k[b-4>>2]=a;f=ts(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 36:{k[b-4>>2]=a;$p(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 37:{k[b-4>>2]=a;Ua(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0,k[b+(l[a+7>>0]<<3)>>2]|0,k[b+(l[a+8>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+8|0;continue}case 38:{k[b-4>>2]=a;f=yg(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 39:{k[b-4>>2]=a;f=oe(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 40:{k[b-4>>2]=a;f=N4(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 41:{k[b-4>>2]=a;f=Co(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 42:{k[b-4>>2]=a;f=zs(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 43:{k[b-4>>2]=a;f=hu(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 44:{k[b-4>>2]=a;f=ls(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 45:{k[b-4>>2]=a;f=_f(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 46:{k[b-4>>2]=a;f=Ar(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 47:{k[b-4>>2]=a;f=Dj(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 48:{k[b-4>>2]=a;f=Br(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 49:{k[b-4>>2]=a;f=Mq(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 50:{k[b-4>>2]=a;f=vr(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 51:{k[b-4>>2]=a;f=yn(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 52:{k[b-4>>2]=a;f=ys(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 53:{k[b-4>>2]=a;f=Ae(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 54:{k[b-4>>2]=a;f=gs(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 55:{k[b-4>>2]=a;f=Cr(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 56:{k[b-4>>2]=a;f=qp(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 57:{k[b-4>>2]=a;f=Er(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 58:{k[b-4>>2]=a;f=Yf(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 59:{k[b-4>>2]=a;f=zr(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 60:{k[b-4>>2]=a;f=Xf(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 61:{k[b-4>>2]=a;f=vs(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 62:{k[b-4>>2]=a;f=lj(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 63:{k[b-4>>2]=a;f=Rd(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 64:{k[b-4>>2]=a;Bw(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 65:{k[b-4>>2]=a;f=xa(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0,k[b+(l[a+7>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 66:{k[b-4>>2]=a;f=ua(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 67:{k[b-4>>2]=a;ra(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 68:{k[b-4>>2]=a;f=na(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0,k[b+(l[a+7>>0]<<3)>>2]|0,k[b+(l[a+8>>0]<<3)>>2]|0,k[b+(l[a+9>>0]<<3)>>2]|0,k[b+(l[a+10>>0]<<3)>>2]|0,k[b+(l[a+11>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+8|0;continue}case 69:{k[b-4>>2]=a;uha(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 70:{k[b-4>>2]=a;f=OD(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 71:{k[b-4>>2]=a;ph(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0,k[b+(l[a+7>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 72:{k[b-4>>2]=a;f=Eb(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 73:{k[b-4>>2]=a;Nba(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 74:{k[b-4>>2]=a;f=KH(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 75:{k[b-4>>2]=a;qa(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0,k[b+(l[a+7>>0]<<3)>>2]|0,k[b+(l[a+8>>0]<<3)>>2]|0,k[b+(l[a+9>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+8|0;continue}case 76:{k[b-4>>2]=a;f=uea(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 77:{k[b-4>>2]=a;f=wc[k[b+(l[a+4>>0]<<3)>>2]&127](k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0,k[b+(l[a+7>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 78:{k[b-4>>2]=a;_G(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 79:{k[b-4>>2]=a;D2(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 80:{k[b-4>>2]=a;P9(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 81:{k[b-4>>2]=a;KG(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 82:{k[b-4>>2]=a;aF(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 83:{k[b-4>>2]=a;Rv(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 84:{k[b-4>>2]=a;op(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 85:{k[b-4>>2]=a;Re(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0,k[b+(l[a+7>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 86:{k[b-4>>2]=a;f=OF(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0,k[b+(l[a+7>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 87:{k[b-4>>2]=a;Kw(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 88:{k[b-4>>2]=a;f=HI(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 89:{k[b-4>>2]=a;Sw(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 90:{k[b-4>>2]=a;CH(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0,k[b+(l[a+7>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 91:{k[b-4>>2]=a;f=OG(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 92:{k[b-4>>2]=a;f=vb(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 93:{k[b-4>>2]=a;lb(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 94:{k[b-4>>2]=a;ck(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0,k[b+(l[a+7>>0]<<3)>>2]|0,k[b+(l[a+8>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+8|0;continue}case 95:{k[b-4>>2]=a;hi(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 96:{k[b-4>>2]=a;f=tG(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 97:{k[b-4>>2]=a;cf(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 98:{k[b-4>>2]=a;f=Pa(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0,k[b+(l[a+7>>0]<<3)>>2]|0,k[b+(l[a+8>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+8|0;continue}case 99:{k[b-4>>2]=a;Fea(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 100:{k[b-4>>2]=a;f=Bb(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 101:{k[b-4>>2]=a;pa(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 102:{k[b-4>>2]=a;Hb(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 103:{k[b-4>>2]=a;zf(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 104:{k[b-4>>2]=a;Yh(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0,k[b+(l[a+7>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 105:{k[b-4>>2]=a;Jw(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 106:{k[b-4>>2]=a;YH(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 107:{k[b-4>>2]=a;f=GG(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 108:{k[b-4>>2]=a;xb();if((hc|0)==1){ic=b-8|0;return};continue}case 109:{k[b-4>>2]=a;f=SX(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 110:{k[b-4>>2]=a;f=fl(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 111:{k[b-4>>2]=a;f=Kfa(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 112:{k[b-4>>2]=a;f=El(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 113:{k[b-4>>2]=a;f=Lfa(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 114:{k[b-4>>2]=a;f=Aga(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 115:{k[b-4>>2]=a;gba(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 116:{k[b-4>>2]=a;rba(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 117:{k[b-4>>2]=a;a9(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 118:{k[b-4>>2]=a;L8(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 119:{k[b-4>>2]=a;$7(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 120:{k[b-4>>2]=a;a8(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 121:{k[b-4>>2]=a;l7(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 122:{k[b-4>>2]=a;Kba(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 123:{k[b-4>>2]=a;hba(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 124:{k[b-4>>2]=a;ZM(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 125:{k[b-4>>2]=a;YM(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 126:{k[b-4>>2]=a;UM(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 127:{k[b-4>>2]=a;SM(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 128:{k[b-4>>2]=a;RM(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 129:{k[b-4>>2]=a;f=Qda(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 130:{k[b-4>>2]=a;f=DL(k[b+(l[a+4>>0]<<3)>>2]|0,+p[b+(l[a+5>>0]<<3)>>3],k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 131:{k[b-4>>2]=a;O4(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 132:{k[b-4>>2]=a;qaa(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 133:{k[b-4>>2]=a;f=rn(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 134:{k[b-4>>2]=a;f=bda(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 135:{k[b-4>>2]=a;f=Cca(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 136:{k[b-4>>2]=a;f=Qca(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 137:{k[b-4>>2]=a;f=Vb(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0,k[b+(l[a+7>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 138:{k[b-4>>2]=a;f=Dda(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 139:{k[b-4>>2]=a;f=cda(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 140:{k[b-4>>2]=a;f=dc(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 141:{k[b-4>>2]=a;M8(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 142:{k[b-4>>2]=a;zY(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 143:{k[b-4>>2]=a;f=mm(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 144:{k[b-4>>2]=a;qc[k[b+(l[a+4>>0]<<3)>>2]&511](k[b+(l[a+5>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 145:{k[b-4>>2]=a;f=Vq(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 146:{k[b-4>>2]=a;f=Z9(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 147:{k[b-4>>2]=a;f=k4(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 148:{k[b-4>>2]=a;f=fea(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 149:{k[b-4>>2]=a;f=pb(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 150:{k[b-4>>2]=a;Tb(k[b+(l[a+4>>0]<<3)>>2]|0);if((hc|0)==1){ic=b-8|0;return};a=a+4|0;continue}case 151:{k[b-4>>2]=a;f=eea(k[b+(l[a+4>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 152:{k[b-4>>2]=a;f=lG(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}case 153:{k[b-4>>2]=a;f=WG(k[b+(l[a+4>>0]<<3)>>2]|0,k[b+(l[a+5>>0]<<3)>>2]|0,k[b+(l[a+6>>0]<<3)>>2]|0,k[b+(l[a+7>>0]<<3)>>2]|0)|0;if((hc|0)==1){ic=b-8|0;return}else k[b+(d<<3)>>2]=f;a=a+4|0;continue}default:}break;case 136:k[b+(d<<3)>>2]=r;break;case 137:r=k[b+(d<<3)>>2]|0;break;case 138:f=k[b+(f<<3)>>2]|0;d=(k[b+(d<<3)>>2]|0)-(k[b+(e<<3)>>2]|0)>>>0;if(d>>>0>=f>>>0){a=a+(f<<2)|0;continue}a=k[a+4+(d<<2)>>2]|0;a=a-4|0;continue;break;case 139:ic=b-8|0;k[ic>>2]=k[b+(d<<3)>>2]|0;k[ic+4>>2]=k[b+(d<<3)+4>>2]|0;return;break;default:}}}function Vc(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;g=0;m=r;r=r+1248|0;h=m+1208|0;l=m+1196|0;j=m+1192|0;d=m;p[8459]=3.141592653589793;lE(68712,44768,6);Ub(323,68712,w|0)|0;lE(68724,44775,21);Ub(323,68724,w|0)|0;lE(68736,44797,19);Ub(323,68736,w|0)|0;lE(68748,44817,22);Ub(323,68748,w|0)|0;CH(68760,29845,0,-1);a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13045]=0;a=52184;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[52224]=0;i[52225]=0;i[52226]=0;k[13057]=0;k[13044]=5580;p[6529]=240.0;p[6530]=248.0;p[6531]=255.0;p[6532]=1.0;x=0;sa(430,52264,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13069]=0;k[13057]=3;P1(l);Ub(23,52176,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13071]=0;a=52288;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[52328]=0;i[52329]=0;i[52330]=0;k[13083]=0;k[13070]=5580;p[6542]=250.0;p[6543]=235.0;p[6544]=215.0;p[6545]=1.0;x=0;sa(430,52368,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13095]=0;k[13083]=3;P1(l);Ub(23,52280,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13097]=0;a=52392;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[52432]=0;i[52433]=0;i[52434]=0;k[13109]=0;k[13096]=5580;p[6555]=0.0;p[6556]=255.0;p[6557]=255.0;p[6558]=1.0;x=0;sa(430,52472,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13121]=0;k[13109]=3;P1(l);Ub(23,52384,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13123]=0;a=52496;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[52536]=0;i[52537]=0;i[52538]=0;k[13135]=0;k[13122]=5580;p[6568]=0.0;p[6569]=255.0;p[6570]=255.0;p[6571]=1.0;x=0;sa(430,52576,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13147]=0;k[13135]=3;P1(l);Ub(23,52488,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13149]=0;a=52600;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[52640]=0;i[52641]=0;i[52642]=0;k[13161]=0;k[13148]=5580;p[6581]=127.0;p[6582]=255.0;p[6583]=212.0;p[6584]=1.0;x=0;sa(430,52680,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13173]=0;k[13161]=3;P1(l);Ub(23,52592,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13175]=0;a=52704;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[52744]=0;i[52745]=0;i[52746]=0;k[13187]=0;k[13174]=5580;p[6594]=240.0;p[6595]=255.0;p[6596]=255.0;p[6597]=1.0;x=0;sa(430,52784,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13199]=0;k[13187]=3;P1(l);Ub(23,52696,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13201]=0;a=52808;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[52848]=0;i[52849]=0;i[52850]=0;k[13213]=0;k[13200]=5580;p[6607]=245.0;p[6608]=245.0;p[6609]=220.0;p[6610]=1.0;x=0;sa(430,52888,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13225]=0;k[13213]=3;P1(l);Ub(23,52800,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13227]=0;a=52912;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[52952]=0;i[52953]=0;i[52954]=0;k[13239]=0;k[13226]=5580;p[6620]=255.0;p[6621]=228.0;p[6622]=196.0;p[6623]=1.0;x=0;sa(430,52992,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13251]=0;k[13239]=3;P1(l);Ub(23,52904,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13253]=0;a=53016;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[53056]=0;i[53057]=0;i[53058]=0;k[13265]=0;k[13252]=5580;k[13266]=0;k[13267]=0;k[13268]=0;k[13269]=0;k[13270]=0;k[13271]=0;p[6636]=1.0;x=0;sa(430,53096,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13277]=0;k[13265]=3;P1(l);Ub(23,53008,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13279]=0;a=53120;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[53160]=0;i[53161]=0;i[53162]=0;k[13291]=0;k[13278]=5580;p[6646]=255.0;p[6647]=235.0;p[6648]=205.0;p[6649]=1.0;x=0;sa(430,53200,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13303]=0;k[13291]=3;P1(l);Ub(23,53112,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13305]=0;a=53224;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[53264]=0;i[53265]=0;i[53266]=0;k[13317]=0;k[13304]=5580;k[13318]=0;k[13319]=0;k[13320]=0;k[13321]=0;p[6661]=255.0;p[6662]=1.0;x=0;sa(430,53304,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13329]=0;k[13317]=3;P1(l);Ub(23,53216,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13331]=0;a=53328;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[53368]=0;i[53369]=0;i[53370]=0;k[13343]=0;k[13330]=5580;p[6672]=138.0;p[6673]=43.0;p[6674]=226.0;p[6675]=1.0;x=0;sa(430,53408,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13355]=0;k[13343]=3;P1(l);Ub(23,53320,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13357]=0;a=53432;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[53472]=0;i[53473]=0;i[53474]=0;k[13369]=0;k[13356]=5580;p[6685]=165.0;p[6686]=42.0;p[6687]=42.0;p[6688]=1.0;x=0;sa(430,53512,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13381]=0;k[13369]=3;P1(l);Ub(23,53424,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13383]=0;a=53536;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[53576]=0;i[53577]=0;i[53578]=0;k[13395]=0;k[13382]=5580;p[6698]=222.0;p[6699]=184.0;p[6700]=135.0;p[6701]=1.0;x=0;sa(430,53616,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13407]=0;k[13395]=3;P1(l);Ub(23,53528,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13409]=0;a=53640;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[53680]=0;i[53681]=0;i[53682]=0;k[13421]=0;k[13408]=5580;p[6711]=95.0;p[6712]=158.0;p[6713]=160.0;p[6714]=1.0;x=0;sa(430,53720,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13433]=0;k[13421]=3;P1(l);Ub(23,53632,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13435]=0;a=53744;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[53784]=0;i[53785]=0;i[53786]=0;k[13447]=0;k[13434]=5580;p[6724]=127.0;p[6725]=255.0;p[6726]=0.0;p[6727]=1.0;x=0;sa(430,53824,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13459]=0;k[13447]=3;P1(l);Ub(23,53736,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13461]=0;a=53848;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[53888]=0;i[53889]=0;i[53890]=0;k[13473]=0;k[13460]=5580;p[6737]=210.0;p[6738]=105.0;p[6739]=30.0;p[6740]=1.0;x=0;sa(430,53928,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13485]=0;k[13473]=3;P1(l);Ub(23,53840,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13487]=0;a=53952;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[53992]=0;i[53993]=0;i[53994]=0;k[13499]=0;k[13486]=5580;p[6750]=255.0;p[6751]=127.0;p[6752]=80.0;p[6753]=1.0;x=0;sa(430,54032,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13511]=0;k[13499]=3;P1(l);Ub(23,53944,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13513]=0;a=54056;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[54096]=0;i[54097]=0;i[54098]=0;k[13525]=0;k[13512]=5580;p[6763]=100.0;p[6764]=149.0;p[6765]=237.0;p[6766]=1.0;x=0;sa(430,54136,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13537]=0;k[13525]=3;P1(l);Ub(23,54048,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13539]=0;a=54160;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[54200]=0;i[54201]=0;i[54202]=0;k[13551]=0;k[13538]=5580;p[6776]=255.0;p[6777]=248.0;p[6778]=220.0;p[6779]=1.0;x=0;sa(430,54240,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13563]=0;k[13551]=3;P1(l);Ub(23,54152,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13565]=0;a=54264;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[54304]=0;i[54305]=0;i[54306]=0;k[13577]=0;k[13564]=5580;p[6789]=220.0;p[6790]=20.0;p[6791]=60.0;p[6792]=1.0;x=0;sa(430,54344,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13589]=0;k[13577]=3;P1(l);Ub(23,54256,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13591]=0;a=54368;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[54408]=0;i[54409]=0;i[54410]=0;k[13603]=0;k[13590]=5580;k[13604]=0;k[13605]=0;k[13606]=0;k[13607]=0;p[6804]=139.0;p[6805]=1.0;x=0;sa(430,54448,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13615]=0;k[13603]=3;P1(l);Ub(23,54360,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13617]=0;a=54472;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[54512]=0;i[54513]=0;i[54514]=0;k[13629]=0;k[13616]=5580;p[6815]=0.0;p[6816]=139.0;p[6817]=139.0;p[6818]=1.0;x=0;sa(430,54552,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13641]=0;k[13629]=3;P1(l);Ub(23,54464,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13643]=0;a=54576;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[54616]=0;i[54617]=0;i[54618]=0;k[13655]=0;k[13642]=5580;p[6828]=184.0;p[6829]=134.0;p[6830]=11.0;p[6831]=1.0;x=0;sa(430,54656,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13667]=0;k[13655]=3;P1(l);Ub(23,54568,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13669]=0;a=54680;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[54720]=0;i[54721]=0;i[54722]=0;k[13681]=0;k[13668]=5580;p[6841]=169.0;p[6842]=169.0;p[6843]=169.0;p[6844]=1.0;x=0;sa(430,54760,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13693]=0;k[13681]=3;P1(l);Ub(23,54672,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13695]=0;a=54784;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[54824]=0;i[54825]=0;i[54826]=0;k[13707]=0;k[13694]=5580;p[6854]=169.0;p[6855]=169.0;p[6856]=169.0;p[6857]=1.0;x=0;sa(430,54864,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13719]=0;k[13707]=3;P1(l);Ub(23,54776,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13721]=0;a=54888;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[54928]=0;i[54929]=0;i[54930]=0;k[13733]=0;k[13720]=5580;p[6867]=0.0;p[6868]=100.0;p[6869]=0.0;p[6870]=1.0;x=0;sa(430,54968,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13745]=0;k[13733]=3;P1(l);Ub(23,54880,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13747]=0;a=54992;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[55032]=0;i[55033]=0;i[55034]=0;k[13759]=0;k[13746]=5580;p[6880]=189.0;p[6881]=183.0;p[6882]=107.0;p[6883]=1.0;x=0;sa(430,55072,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13771]=0;k[13759]=3;P1(l);Ub(23,54984,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13773]=0;a=55096;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[55136]=0;i[55137]=0;i[55138]=0;k[13785]=0;k[13772]=5580;p[6893]=139.0;p[6894]=0.0;p[6895]=139.0;p[6896]=1.0;x=0;sa(430,55176,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13797]=0;k[13785]=3;P1(l);Ub(23,55088,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13799]=0;a=55200;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[55240]=0;i[55241]=0;i[55242]=0;k[13811]=0;k[13798]=5580;p[6906]=85.0;p[6907]=107.0;p[6908]=47.0;p[6909]=1.0;x=0;sa(430,55280,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13823]=0;k[13811]=3;P1(l);Ub(23,55192,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13825]=0;a=55304;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[55344]=0;i[55345]=0;i[55346]=0;k[13837]=0;k[13824]=5580;p[6919]=255.0;p[6920]=140.0;p[6921]=0.0;p[6922]=1.0;x=0;sa(430,55384,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13849]=0;k[13837]=3;P1(l);Ub(23,55296,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13851]=0;a=55408;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[55448]=0;i[55449]=0;i[55450]=0;k[13863]=0;k[13850]=5580;p[6932]=153.0;p[6933]=50.0;p[6934]=204.0;p[6935]=1.0;x=0;sa(430,55488,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13875]=0;k[13863]=3;P1(l);Ub(23,55400,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13877]=0;a=55512;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[55552]=0;i[55553]=0;i[55554]=0;k[13889]=0;k[13876]=5580;p[6945]=139.0;k[13892]=0;k[13893]=0;k[13894]=0;k[13895]=0;p[6948]=1.0;x=0;sa(430,55592,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13901]=0;k[13889]=3;P1(l);Ub(23,55504,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13903]=0;a=55616;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[55656]=0;i[55657]=0;i[55658]=0;k[13915]=0;k[13902]=5580;p[6958]=233.0;p[6959]=150.0;p[6960]=122.0;p[6961]=1.0;x=0;sa(430,55696,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13927]=0;k[13915]=3;P1(l);Ub(23,55608,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13929]=0;a=55720;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[55760]=0;i[55761]=0;i[55762]=0;k[13941]=0;k[13928]=5580;p[6971]=143.0;p[6972]=188.0;p[6973]=143.0;p[6974]=1.0;x=0;sa(430,55800,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13953]=0;k[13941]=3;P1(l);Ub(23,55712,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13955]=0;a=55824;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[55864]=0;i[55865]=0;i[55866]=0;k[13967]=0;k[13954]=5580;p[6984]=72.0;p[6985]=61.0;p[6986]=139.0;p[6987]=1.0;x=0;sa(430,55904,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[13979]=0;k[13967]=3;P1(l);Ub(23,55816,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[13981]=0;a=55928;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[55968]=0;i[55969]=0;i[55970]=0;k[13993]=0;k[13980]=5580;p[6997]=47.0;p[6998]=79.0;p[6999]=79.0;p[7e3]=1.0;x=0;sa(430,56008,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14005]=0;k[13993]=3;P1(l);Ub(23,55920,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14007]=0;a=56032;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[56072]=0;i[56073]=0;i[56074]=0;k[14019]=0;k[14006]=5580;p[7010]=47.0;p[7011]=79.0;p[7012]=79.0;p[7013]=1.0;x=0;sa(430,56112,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14031]=0;k[14019]=3;P1(l);Ub(23,56024,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14033]=0;a=56136;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[56176]=0;i[56177]=0;i[56178]=0;k[14045]=0;k[14032]=5580;p[7023]=0.0;p[7024]=206.0;p[7025]=209.0;p[7026]=1.0;x=0;sa(430,56216,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14057]=0;k[14045]=3;P1(l);Ub(23,56128,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14059]=0;a=56240;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[56280]=0;i[56281]=0;i[56282]=0;k[14071]=0;k[14058]=5580;p[7036]=148.0;p[7037]=0.0;p[7038]=211.0;p[7039]=1.0;x=0;sa(430,56320,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14083]=0;k[14071]=3;P1(l);Ub(23,56232,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14085]=0;a=56344;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[56384]=0;i[56385]=0;i[56386]=0;k[14097]=0;k[14084]=5580;p[7049]=255.0;p[7050]=20.0;p[7051]=147.0;p[7052]=1.0;x=0;sa(430,56424,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14109]=0;k[14097]=3;P1(l);Ub(23,56336,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14111]=0;a=56448;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[56488]=0;i[56489]=0;i[56490]=0;k[14123]=0;k[14110]=5580;p[7062]=0.0;p[7063]=191.0;p[7064]=255.0;p[7065]=1.0;x=0;sa(430,56528,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14135]=0;k[14123]=3;P1(l);Ub(23,56440,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14137]=0;a=56552;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[56592]=0;i[56593]=0;i[56594]=0;k[14149]=0;k[14136]=5580;p[7075]=105.0;p[7076]=105.0;p[7077]=105.0;p[7078]=1.0;x=0;sa(430,56632,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14161]=0;k[14149]=3;P1(l);Ub(23,56544,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14163]=0;a=56656;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[56696]=0;i[56697]=0;i[56698]=0;k[14175]=0;k[14162]=5580;p[7088]=105.0;p[7089]=105.0;p[7090]=105.0;p[7091]=1.0;x=0;sa(430,56736,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14187]=0;k[14175]=3;P1(l);Ub(23,56648,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14189]=0;a=56760;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[56800]=0;i[56801]=0;i[56802]=0;k[14201]=0;k[14188]=5580;p[7101]=30.0;p[7102]=144.0;p[7103]=255.0;p[7104]=1.0;x=0;sa(430,56840,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14213]=0;k[14201]=3;P1(l);Ub(23,56752,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14215]=0;a=56864;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[56904]=0;i[56905]=0;i[56906]=0;k[14227]=0;k[14214]=5580;p[7114]=178.0;p[7115]=34.0;p[7116]=34.0;p[7117]=1.0;x=0;sa(430,56944,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14239]=0;k[14227]=3;P1(l);Ub(23,56856,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14241]=0;a=56968;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[57008]=0;i[57009]=0;i[57010]=0;k[14253]=0;k[14240]=5580;p[7127]=255.0;p[7128]=250.0;p[7129]=240.0;p[7130]=1.0;x=0;sa(430,57048,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14265]=0;k[14253]=3;P1(l);Ub(23,56960,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14267]=0;a=57072;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[57112]=0;i[57113]=0;i[57114]=0;k[14279]=0;k[14266]=5580;p[7140]=34.0;p[7141]=139.0;p[7142]=34.0;p[7143]=1.0;x=0;sa(430,57152,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14291]=0;k[14279]=3;P1(l);Ub(23,57064,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14293]=0;a=57176;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[57216]=0;i[57217]=0;i[57218]=0;k[14305]=0;k[14292]=5580;p[7153]=255.0;p[7154]=0.0;p[7155]=255.0;p[7156]=1.0;x=0;sa(430,57256,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14317]=0;k[14305]=3;P1(l);Ub(23,57168,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14319]=0;a=57280;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[57320]=0;i[57321]=0;i[57322]=0;k[14331]=0;k[14318]=5580;p[7166]=255.0;p[7167]=0.0;p[7168]=255.0;p[7169]=1.0;x=0;sa(430,57360,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14343]=0;k[14331]=3;P1(l);Ub(23,57272,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14345]=0;a=57384;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[57424]=0;i[57425]=0;i[57426]=0;k[14357]=0;k[14344]=5580;p[7179]=220.0;p[7180]=220.0;p[7181]=220.0;p[7182]=1.0;x=0;sa(430,57464,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14369]=0;k[14357]=3;P1(l);Ub(23,57376,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14371]=0;a=57488;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[57528]=0;i[57529]=0;i[57530]=0;k[14383]=0;k[14370]=5580;p[7192]=248.0;p[7193]=248.0;p[7194]=255.0;p[7195]=1.0;x=0;sa(430,57568,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14395]=0;k[14383]=3;P1(l);Ub(23,57480,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14397]=0;a=57592;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[57632]=0;i[57633]=0;i[57634]=0;k[14409]=0;k[14396]=5580;p[7205]=255.0;p[7206]=215.0;p[7207]=0.0;p[7208]=1.0;x=0;sa(430,57672,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14421]=0;k[14409]=3;P1(l);Ub(23,57584,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14423]=0;a=57696;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[57736]=0;i[57737]=0;i[57738]=0;k[14435]=0;k[14422]=5580;p[7218]=218.0;p[7219]=165.0;p[7220]=32.0;p[7221]=1.0;x=0;sa(430,57776,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14447]=0;k[14435]=3;P1(l);Ub(23,57688,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14449]=0;a=57800;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[57840]=0;i[57841]=0;i[57842]=0;k[14461]=0;k[14448]=5580;p[7231]=128.0;p[7232]=128.0;p[7233]=128.0;p[7234]=1.0;x=0;sa(430,57880,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14473]=0;k[14461]=3;P1(l);Ub(23,57792,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14475]=0;a=57904;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[57944]=0;i[57945]=0;i[57946]=0;k[14487]=0;k[14474]=5580;p[7244]=128.0;p[7245]=128.0;p[7246]=128.0;p[7247]=1.0;x=0;sa(430,57984,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14499]=0;k[14487]=3;P1(l);Ub(23,57896,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14501]=0;a=58008;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[58048]=0;i[58049]=0;i[58050]=0;k[14513]=0;k[14500]=5580;p[7257]=0.0;p[7258]=128.0;p[7259]=0.0;p[7260]=1.0;x=0;sa(430,58088,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14525]=0;k[14513]=3;P1(l);Ub(23,58e3,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14527]=0;a=58112;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[58152]=0;i[58153]=0;i[58154]=0;k[14539]=0;k[14526]=5580;p[7270]=173.0;p[7271]=255.0;p[7272]=47.0;p[7273]=1.0;x=0;sa(430,58192,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14551]=0;k[14539]=3;P1(l);Ub(23,58104,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14553]=0;a=58216;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[58256]=0;i[58257]=0;i[58258]=0;k[14565]=0;k[14552]=5580;p[7283]=240.0;p[7284]=255.0;p[7285]=240.0;p[7286]=1.0;x=0;sa(430,58296,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14577]=0;k[14565]=3;P1(l);Ub(23,58208,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14579]=0;a=58320;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[58360]=0;i[58361]=0;i[58362]=0;k[14591]=0;k[14578]=5580;p[7296]=255.0;p[7297]=105.0;p[7298]=180.0;p[7299]=1.0;x=0;sa(430,58400,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14603]=0;k[14591]=3;P1(l);Ub(23,58312,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14605]=0;a=58424;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[58464]=0;i[58465]=0;i[58466]=0;k[14617]=0;k[14604]=5580;p[7309]=205.0;p[7310]=92.0;p[7311]=92.0;p[7312]=1.0;x=0;sa(430,58504,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14629]=0;k[14617]=3;P1(l);Ub(23,58416,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14631]=0;a=58528;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[58568]=0;i[58569]=0;i[58570]=0;k[14643]=0;k[14630]=5580;p[7322]=75.0;p[7323]=0.0;p[7324]=130.0;p[7325]=1.0;x=0;sa(430,58608,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14655]=0;k[14643]=3;P1(l);Ub(23,58520,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14657]=0;a=58632;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[58672]=0;i[58673]=0;i[58674]=0;k[14669]=0;k[14656]=5580;p[7335]=255.0;p[7336]=255.0;p[7337]=240.0;p[7338]=1.0;x=0;sa(430,58712,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14681]=0;k[14669]=3;P1(l);Ub(23,58624,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14683]=0;a=58736;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[58776]=0;i[58777]=0;i[58778]=0;k[14695]=0;k[14682]=5580;p[7348]=240.0;p[7349]=230.0;p[7350]=140.0;p[7351]=1.0;x=0;sa(430,58816,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14707]=0;k[14695]=3;P1(l);Ub(23,58728,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14709]=0;a=58840;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[58880]=0;i[58881]=0;i[58882]=0;k[14721]=0;k[14708]=5580;p[7361]=230.0;p[7362]=230.0;p[7363]=250.0;p[7364]=1.0;x=0;sa(430,58920,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14733]=0;k[14721]=3;P1(l);Ub(23,58832,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14735]=0;a=58944;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[58984]=0;i[58985]=0;i[58986]=0;k[14747]=0;k[14734]=5580;p[7374]=255.0;p[7375]=240.0;p[7376]=245.0;p[7377]=1.0;x=0;sa(430,59024,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14759]=0;k[14747]=3;P1(l);Ub(23,58936,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14761]=0;a=59048;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[59088]=0;i[59089]=0;i[59090]=0;k[14773]=0;k[14760]=5580;p[7387]=124.0;p[7388]=252.0;p[7389]=0.0;p[7390]=1.0;x=0;sa(430,59128,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14785]=0;k[14773]=3;P1(l);Ub(23,59040,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14787]=0;a=59152;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[59192]=0;i[59193]=0;i[59194]=0;k[14799]=0;k[14786]=5580;p[7400]=255.0;p[7401]=250.0;p[7402]=205.0;p[7403]=1.0;x=0;sa(430,59232,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14811]=0;k[14799]=3;P1(l);Ub(23,59144,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14813]=0;a=59256;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[59296]=0;i[59297]=0;i[59298]=0;k[14825]=0;k[14812]=5580;p[7413]=173.0;p[7414]=216.0;p[7415]=230.0;p[7416]=1.0;x=0;sa(430,59336,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14837]=0;k[14825]=3;P1(l);Ub(23,59248,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14839]=0;a=59360;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[59400]=0;i[59401]=0;i[59402]=0;k[14851]=0;k[14838]=5580;p[7426]=240.0;p[7427]=128.0;p[7428]=128.0;p[7429]=1.0;x=0;sa(430,59440,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14863]=0;k[14851]=3;P1(l);Ub(23,59352,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14865]=0;a=59464;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[59504]=0;i[59505]=0;i[59506]=0;k[14877]=0;k[14864]=5580;p[7439]=224.0;p[7440]=255.0;p[7441]=255.0;p[7442]=1.0;x=0;sa(430,59544,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14889]=0;k[14877]=3;P1(l);Ub(23,59456,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14891]=0;a=59568;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[59608]=0;i[59609]=0;i[59610]=0;k[14903]=0;k[14890]=5580;p[7452]=250.0;p[7453]=250.0;p[7454]=210.0;p[7455]=1.0;x=0;sa(430,59648,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14915]=0;k[14903]=3;P1(l);Ub(23,59560,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14917]=0;a=59672;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[59712]=0;i[59713]=0;i[59714]=0;k[14929]=0;k[14916]=5580;p[7465]=211.0;p[7466]=211.0;p[7467]=211.0;p[7468]=1.0;x=0;sa(430,59752,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14941]=0;k[14929]=3;P1(l);Ub(23,59664,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14943]=0;a=59776;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[59816]=0;i[59817]=0;i[59818]=0;k[14955]=0;k[14942]=5580;p[7478]=211.0;p[7479]=211.0;p[7480]=211.0;p[7481]=1.0;x=0;sa(430,59856,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14967]=0;k[14955]=3;P1(l);Ub(23,59768,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14969]=0;a=59880;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[59920]=0;i[59921]=0;i[59922]=0;k[14981]=0;k[14968]=5580;p[7491]=144.0;p[7492]=238.0;p[7493]=144.0;p[7494]=1.0;x=0;sa(430,59960,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[14993]=0;k[14981]=3;P1(l);Ub(23,59872,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[14995]=0;a=59984;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[60024]=0;i[60025]=0;i[60026]=0;k[15007]=0;k[14994]=5580;p[7504]=255.0;p[7505]=182.0;p[7506]=193.0;p[7507]=1.0;x=0;sa(430,60064,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15019]=0;k[15007]=3;P1(l);Ub(23,59976,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15021]=0;a=60088;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[60128]=0;i[60129]=0;i[60130]=0;k[15033]=0;k[15020]=5580;p[7517]=255.0;p[7518]=160.0;p[7519]=122.0;p[7520]=1.0;x=0;sa(430,60168,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15045]=0;k[15033]=3;P1(l);Ub(23,60080,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15047]=0;a=60192;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[60232]=0;i[60233]=0;i[60234]=0;k[15059]=0;k[15046]=5580;p[7530]=32.0;p[7531]=178.0;p[7532]=170.0;p[7533]=1.0;x=0;sa(430,60272,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15071]=0;k[15059]=3;P1(l);Ub(23,60184,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15073]=0;a=60296;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[60336]=0;i[60337]=0;i[60338]=0;k[15085]=0;k[15072]=5580;p[7543]=135.0;p[7544]=206.0;p[7545]=250.0;p[7546]=1.0;x=0;sa(430,60376,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15097]=0;k[15085]=3;P1(l);Ub(23,60288,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15099]=0;a=60400;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[60440]=0;i[60441]=0;i[60442]=0;k[15111]=0;k[15098]=5580;p[7556]=119.0;p[7557]=136.0;p[7558]=153.0;p[7559]=1.0;x=0;sa(430,60480,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15123]=0;k[15111]=3;P1(l);Ub(23,60392,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15125]=0;a=60504;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[60544]=0;i[60545]=0;i[60546]=0;k[15137]=0;k[15124]=5580;p[7569]=119.0;p[7570]=136.0;p[7571]=153.0;p[7572]=1.0;x=0;sa(430,60584,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15149]=0;k[15137]=3;P1(l);Ub(23,60496,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15151]=0;a=60608;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[60648]=0;i[60649]=0;i[60650]=0;k[15163]=0;k[15150]=5580;p[7582]=176.0;p[7583]=196.0;p[7584]=222.0;p[7585]=1.0;x=0;sa(430,60688,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15175]=0;k[15163]=3;P1(l);Ub(23,60600,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15177]=0;a=60712;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[60752]=0;i[60753]=0;i[60754]=0;k[15189]=0;k[15176]=5580;p[7595]=255.0;p[7596]=255.0;p[7597]=224.0;p[7598]=1.0;x=0;sa(430,60792,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15201]=0;k[15189]=3;P1(l);Ub(23,60704,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15203]=0;a=60816;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[60856]=0;i[60857]=0;i[60858]=0;k[15215]=0;k[15202]=5580;p[7608]=0.0;p[7609]=255.0;p[7610]=0.0;p[7611]=1.0;x=0;sa(430,60896,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15227]=0;k[15215]=3;P1(l);Ub(23,60808,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15229]=0;a=60920;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[60960]=0;i[60961]=0;i[60962]=0;k[15241]=0;k[15228]=5580;p[7621]=50.0;p[7622]=205.0;p[7623]=50.0;p[7624]=1.0;x=0;sa(430,61e3,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15253]=0;k[15241]=3;P1(l);Ub(23,60912,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15255]=0;a=61024;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[61064]=0;i[61065]=0;i[61066]=0;k[15267]=0;k[15254]=5580;p[7634]=250.0;p[7635]=240.0;p[7636]=230.0;p[7637]=1.0;x=0;sa(430,61104,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15279]=0;k[15267]=3;P1(l);Ub(23,61016,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15281]=0;a=61128;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[61168]=0;i[61169]=0;i[61170]=0;k[15293]=0;k[15280]=5580;p[7647]=128.0;k[15296]=0;k[15297]=0;k[15298]=0;k[15299]=0;p[7650]=1.0;x=0;sa(430,61208,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15305]=0;k[15293]=3;P1(l);Ub(23,61120,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15307]=0;a=61232;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[61272]=0;i[61273]=0;i[61274]=0;k[15319]=0;k[15306]=5580;p[7660]=102.0;p[7661]=205.0;p[7662]=170.0;p[7663]=1.0;x=0;sa(430,61312,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15331]=0;k[15319]=3;P1(l);Ub(23,61224,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15333]=0;a=61336;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[61376]=0;i[61377]=0;i[61378]=0;k[15345]=0;k[15332]=5580;k[15346]=0;k[15347]=0;k[15348]=0;k[15349]=0;p[7675]=205.0;p[7676]=1.0;x=0;sa(430,61416,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15357]=0;k[15345]=3;P1(l);Ub(23,61328,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15359]=0;a=61440;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[61480]=0;i[61481]=0;i[61482]=0;k[15371]=0;k[15358]=5580;p[7686]=186.0;p[7687]=85.0;p[7688]=211.0;p[7689]=1.0;x=0;sa(430,61520,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15383]=0;k[15371]=3;P1(l);Ub(23,61432,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15385]=0;a=61544;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[61584]=0;i[61585]=0;i[61586]=0;k[15397]=0;k[15384]=5580;p[7699]=147.0;p[7700]=112.0;p[7701]=219.0;p[7702]=1.0;x=0;sa(430,61624,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15409]=0;k[15397]=3;P1(l);Ub(23,61536,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15411]=0;a=61648;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[61688]=0;i[61689]=0;i[61690]=0;k[15423]=0;k[15410]=5580;p[7712]=60.0;p[7713]=179.0;p[7714]=113.0;p[7715]=1.0;x=0;sa(430,61728,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15435]=0;k[15423]=3;P1(l);Ub(23,61640,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15437]=0;a=61752;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[61792]=0;i[61793]=0;i[61794]=0;k[15449]=0;k[15436]=5580;p[7725]=123.0;p[7726]=104.0;p[7727]=238.0;p[7728]=1.0;x=0;sa(430,61832,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15461]=0;k[15449]=3;P1(l);Ub(23,61744,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15463]=0;a=61856;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[61896]=0;i[61897]=0;i[61898]=0;k[15475]=0;k[15462]=5580;p[7738]=0.0;p[7739]=250.0;p[7740]=154.0;p[7741]=1.0;x=0;sa(430,61936,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15487]=0;k[15475]=3;P1(l);Ub(23,61848,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15489]=0;a=61960;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[62e3]=0;i[62001]=0;i[62002]=0;k[15501]=0;k[15488]=5580;p[7751]=72.0;p[7752]=209.0;p[7753]=204.0;p[7754]=1.0;x=0;sa(430,62040,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15513]=0;k[15501]=3;P1(l);Ub(23,61952,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15515]=0;a=62064;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[62104]=0;i[62105]=0;i[62106]=0;k[15527]=0;k[15514]=5580;p[7764]=199.0;p[7765]=21.0;p[7766]=133.0;p[7767]=1.0;x=0;sa(430,62144,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15539]=0;k[15527]=3;P1(l);Ub(23,62056,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15541]=0;a=62168;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[62208]=0;i[62209]=0;i[62210]=0;k[15553]=0;k[15540]=5580;p[7777]=25.0;p[7778]=25.0;p[7779]=112.0;p[7780]=1.0;x=0;sa(430,62248,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15565]=0;k[15553]=3;P1(l);Ub(23,62160,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15567]=0;a=62272;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[62312]=0;i[62313]=0;i[62314]=0;k[15579]=0;k[15566]=5580;p[7790]=245.0;p[7791]=255.0;p[7792]=250.0;p[7793]=1.0;x=0;sa(430,62352,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15591]=0;k[15579]=3;P1(l);Ub(23,62264,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15593]=0;a=62376;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[62416]=0;i[62417]=0;i[62418]=0;k[15605]=0;k[15592]=5580;p[7803]=255.0;p[7804]=228.0;p[7805]=225.0;p[7806]=1.0;x=0;sa(430,62456,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15617]=0;k[15605]=3;P1(l);Ub(23,62368,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15619]=0;a=62480;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[62520]=0;i[62521]=0;i[62522]=0;k[15631]=0;k[15618]=5580;p[7816]=255.0;p[7817]=228.0;p[7818]=181.0;p[7819]=1.0;x=0;sa(430,62560,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15643]=0;k[15631]=3;P1(l);Ub(23,62472,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15645]=0;a=62584;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[62624]=0;i[62625]=0;i[62626]=0;k[15657]=0;k[15644]=5580;p[7829]=255.0;p[7830]=222.0;p[7831]=173.0;p[7832]=1.0;x=0;sa(430,62664,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15669]=0;k[15657]=3;P1(l);Ub(23,62576,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15671]=0;a=62688;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[62728]=0;i[62729]=0;i[62730]=0;k[15683]=0;k[15670]=5580;k[15684]=0;k[15685]=0;k[15686]=0;k[15687]=0;p[7844]=128.0;p[7845]=1.0;x=0;sa(430,62768,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15695]=0;k[15683]=3;P1(l);Ub(23,62680,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15697]=0;a=62792;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[62832]=0;i[62833]=0;i[62834]=0;k[15709]=0;k[15696]=5580;p[7855]=253.0;p[7856]=245.0;p[7857]=230.0;p[7858]=1.0;x=0;sa(430,62872,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15721]=0;k[15709]=3;P1(l);Ub(23,62784,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15723]=0;a=62896;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[62936]=0;i[62937]=0;i[62938]=0;k[15735]=0;k[15722]=5580;p[7868]=128.0;p[7869]=128.0;p[7870]=0.0;p[7871]=1.0;x=0;sa(430,62976,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15747]=0;k[15735]=3;P1(l);Ub(23,62888,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15749]=0;a=63e3;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[63040]=0;i[63041]=0;i[63042]=0;k[15761]=0;k[15748]=5580;p[7881]=107.0;p[7882]=142.0;p[7883]=35.0;p[7884]=1.0;x=0;sa(430,63080,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15773]=0;k[15761]=3;P1(l);Ub(23,62992,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15775]=0;a=63104;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[63144]=0;i[63145]=0;i[63146]=0;k[15787]=0;k[15774]=5580;p[7894]=255.0;p[7895]=165.0;p[7896]=0.0;p[7897]=1.0;x=0;sa(430,63184,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15799]=0;k[15787]=3;P1(l);Ub(23,63096,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15801]=0;a=63208;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[63248]=0;i[63249]=0;i[63250]=0;k[15813]=0;k[15800]=5580;p[7907]=255.0;p[7908]=69.0;p[7909]=0.0;p[7910]=1.0;x=0;sa(430,63288,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15825]=0;k[15813]=3;P1(l);Ub(23,63200,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15827]=0;a=63312;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[63352]=0;i[63353]=0;i[63354]=0;k[15839]=0;k[15826]=5580;p[7920]=218.0;p[7921]=112.0;p[7922]=214.0;p[7923]=1.0;x=0;sa(430,63392,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15851]=0;k[15839]=3;P1(l);Ub(23,63304,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15853]=0;a=63416;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[63456]=0;i[63457]=0;i[63458]=0;k[15865]=0;k[15852]=5580;p[7933]=238.0;p[7934]=232.0;p[7935]=170.0;p[7936]=1.0;x=0;sa(430,63496,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15877]=0;k[15865]=3;P1(l);Ub(23,63408,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15879]=0;a=63520;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[63560]=0;i[63561]=0;i[63562]=0;k[15891]=0;k[15878]=5580;p[7946]=152.0;p[7947]=251.0;p[7948]=152.0;p[7949]=1.0;x=0;sa(430,63600,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15903]=0;k[15891]=3;P1(l);Ub(23,63512,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15905]=0;a=63624;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[63664]=0;i[63665]=0;i[63666]=0;k[15917]=0;k[15904]=5580;p[7959]=175.0;p[7960]=238.0;p[7961]=238.0;p[7962]=1.0;x=0;sa(430,63704,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15929]=0;k[15917]=3;P1(l);Ub(23,63616,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15931]=0;a=63728;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[63768]=0;i[63769]=0;i[63770]=0;k[15943]=0;k[15930]=5580;p[7972]=219.0;p[7973]=112.0;p[7974]=147.0;p[7975]=1.0;x=0;sa(430,63808,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15955]=0;k[15943]=3;P1(l);Ub(23,63720,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15957]=0;a=63832;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[63872]=0;i[63873]=0;i[63874]=0;k[15969]=0;k[15956]=5580;p[7985]=255.0;p[7986]=239.0;p[7987]=213.0;p[7988]=1.0;x=0;sa(430,63912,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[15981]=0;k[15969]=3;P1(l);Ub(23,63824,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[15983]=0;a=63936;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[63976]=0;i[63977]=0;i[63978]=0;k[15995]=0;k[15982]=5580;p[7998]=255.0;p[7999]=218.0;p[8e3]=185.0;p[8001]=1.0;x=0;sa(430,64016,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16007]=0;k[15995]=3;P1(l);Ub(23,63928,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16009]=0;a=64040;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[64080]=0;i[64081]=0;i[64082]=0;k[16021]=0;k[16008]=5580;p[8011]=205.0;p[8012]=133.0;p[8013]=63.0;p[8014]=1.0;x=0;sa(430,64120,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16033]=0;k[16021]=3;P1(l);Ub(23,64032,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16035]=0;a=64144;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[64184]=0;i[64185]=0;i[64186]=0;k[16047]=0;k[16034]=5580;p[8024]=255.0;p[8025]=192.0;p[8026]=203.0;p[8027]=1.0;x=0;sa(430,64224,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16059]=0;k[16047]=3;P1(l);Ub(23,64136,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16061]=0;a=64248;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[64288]=0;i[64289]=0;i[64290]=0;k[16073]=0;k[16060]=5580;p[8037]=221.0;p[8038]=160.0;p[8039]=221.0;p[8040]=1.0;x=0;sa(430,64328,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16085]=0;k[16073]=3;P1(l);Ub(23,64240,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16087]=0;a=64352;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[64392]=0;i[64393]=0;i[64394]=0;k[16099]=0;k[16086]=5580;p[8050]=176.0;p[8051]=224.0;p[8052]=230.0;p[8053]=1.0;x=0;sa(430,64432,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16111]=0;k[16099]=3;P1(l);Ub(23,64344,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16113]=0;a=64456;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[64496]=0;i[64497]=0;i[64498]=0;k[16125]=0;k[16112]=5580;p[8063]=128.0;p[8064]=0.0;p[8065]=128.0;p[8066]=1.0;x=0;sa(430,64536,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16137]=0;k[16125]=3;P1(l);Ub(23,64448,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16139]=0;a=64560;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[64600]=0;i[64601]=0;i[64602]=0;k[16151]=0;k[16138]=5580;p[8076]=255.0;k[16154]=0;k[16155]=0;k[16156]=0;k[16157]=0;p[8079]=1.0;x=0;sa(430,64640,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16163]=0;k[16151]=3;P1(l);Ub(23,64552,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16165]=0;a=64664;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[64704]=0;i[64705]=0;i[64706]=0;k[16177]=0;k[16164]=5580;p[8089]=188.0;p[8090]=143.0;p[8091]=143.0;p[8092]=1.0;x=0;sa(430,64744,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16189]=0;k[16177]=3;P1(l);Ub(23,64656,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16191]=0;a=64768;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[64808]=0;i[64809]=0;i[64810]=0;k[16203]=0;k[16190]=5580;p[8102]=65.0;p[8103]=105.0;p[8104]=225.0;p[8105]=1.0;x=0;sa(430,64848,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16215]=0;k[16203]=3;P1(l);Ub(23,64760,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16217]=0;a=64872;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[64912]=0;i[64913]=0;i[64914]=0;k[16229]=0;k[16216]=5580;p[8115]=139.0;p[8116]=69.0;p[8117]=19.0;p[8118]=1.0;x=0;sa(430,64952,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16241]=0;k[16229]=3;P1(l);Ub(23,64864,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16243]=0;a=64976;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[65016]=0;i[65017]=0;i[65018]=0;k[16255]=0;k[16242]=5580;p[8128]=250.0;p[8129]=128.0;p[8130]=114.0;p[8131]=1.0;x=0;sa(430,65056,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16267]=0;k[16255]=3;P1(l);Ub(23,64968,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16269]=0;a=65080;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[65120]=0;i[65121]=0;i[65122]=0;k[16281]=0;k[16268]=5580;p[8141]=244.0;p[8142]=164.0;p[8143]=96.0;p[8144]=1.0;x=0;sa(430,65160,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16293]=0;k[16281]=3;P1(l);Ub(23,65072,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16295]=0;a=65184;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[65224]=0;i[65225]=0;i[65226]=0;k[16307]=0;k[16294]=5580;p[8154]=46.0;p[8155]=139.0;p[8156]=87.0;p[8157]=1.0;x=0;sa(430,65264,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16319]=0;k[16307]=3;P1(l);Ub(23,65176,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16321]=0;a=65288;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[65328]=0;i[65329]=0;i[65330]=0;k[16333]=0;k[16320]=5580;p[8167]=255.0;p[8168]=245.0;p[8169]=238.0;p[8170]=1.0;x=0;sa(430,65368,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16345]=0;k[16333]=3;P1(l);Ub(23,65280,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16347]=0;a=65392;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[65432]=0;i[65433]=0;i[65434]=0;k[16359]=0;k[16346]=5580;p[8180]=160.0;p[8181]=82.0;p[8182]=45.0;p[8183]=1.0;x=0;sa(430,65472,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16371]=0;k[16359]=3;P1(l);Ub(23,65384,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16373]=0;a=65496;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[65536]=0;i[65537]=0;i[65538]=0;k[16385]=0;k[16372]=5580;p[8193]=192.0;p[8194]=192.0;p[8195]=192.0;p[8196]=1.0;x=0;sa(430,65576,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16397]=0;k[16385]=3;P1(l);Ub(23,65488,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16399]=0;a=65600;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[65640]=0;i[65641]=0;i[65642]=0;k[16411]=0;k[16398]=5580;p[8206]=135.0;p[8207]=206.0;p[8208]=235.0;p[8209]=1.0;x=0;sa(430,65680,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16423]=0;k[16411]=3;P1(l);Ub(23,65592,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16425]=0;a=65704;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[65744]=0;i[65745]=0;i[65746]=0;k[16437]=0;k[16424]=5580;p[8219]=106.0;p[8220]=90.0;p[8221]=205.0;p[8222]=1.0;x=0;sa(430,65784,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16449]=0;k[16437]=3;P1(l);Ub(23,65696,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16451]=0;a=65808;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[65848]=0;i[65849]=0;i[65850]=0;k[16463]=0;k[16450]=5580;p[8232]=112.0;p[8233]=128.0;p[8234]=144.0;p[8235]=1.0;x=0;sa(430,65888,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16475]=0;k[16463]=3;P1(l);Ub(23,65800,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16477]=0;a=65912;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[65952]=0;i[65953]=0;i[65954]=0;k[16489]=0;k[16476]=5580;p[8245]=112.0;p[8246]=128.0;p[8247]=144.0;p[8248]=1.0;x=0;sa(430,65992,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16501]=0;k[16489]=3;P1(l);Ub(23,65904,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16503]=0;a=66016;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[66056]=0;i[66057]=0;i[66058]=0;k[16515]=0;k[16502]=5580;p[8258]=255.0;p[8259]=250.0;p[8260]=250.0;p[8261]=1.0;x=0;sa(430,66096,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16527]=0;k[16515]=3;P1(l);Ub(23,66008,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16529]=0;a=66120;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[66160]=0;i[66161]=0;i[66162]=0;k[16541]=0;k[16528]=5580;p[8271]=0.0;p[8272]=255.0;p[8273]=127.0;p[8274]=1.0;x=0;sa(430,66200,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16553]=0;k[16541]=3;P1(l);Ub(23,66112,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16555]=0;a=66224;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[66264]=0;i[66265]=0;i[66266]=0;k[16567]=0;k[16554]=5580;p[8284]=70.0;p[8285]=130.0;p[8286]=180.0;p[8287]=1.0;x=0;sa(430,66304,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16579]=0;k[16567]=3;P1(l);Ub(23,66216,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16581]=0;a=66328;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[66368]=0;i[66369]=0;i[66370]=0;k[16593]=0;k[16580]=5580;p[8297]=210.0;p[8298]=180.0;p[8299]=140.0;p[8300]=1.0;x=0;sa(430,66408,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16605]=0;k[16593]=3;P1(l);Ub(23,66320,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16607]=0;a=66432;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[66472]=0;i[66473]=0;i[66474]=0;k[16619]=0;k[16606]=5580;p[8310]=0.0;p[8311]=128.0;p[8312]=128.0;p[8313]=1.0;x=0;sa(430,66512,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16631]=0;k[16619]=3;P1(l);Ub(23,66424,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16633]=0;a=66536;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[66576]=0;i[66577]=0;i[66578]=0;k[16645]=0;k[16632]=5580;p[8323]=216.0;p[8324]=191.0;p[8325]=216.0;p[8326]=1.0;x=0;sa(430,66616,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16657]=0;k[16645]=3;P1(l);Ub(23,66528,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16659]=0;a=66640;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[66680]=0;i[66681]=0;i[66682]=0;k[16671]=0;k[16658]=5580;p[8336]=255.0;p[8337]=99.0;p[8338]=71.0;p[8339]=1.0;x=0;sa(430,66720,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16683]=0;k[16671]=3;P1(l);Ub(23,66632,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16685]=0;a=66744;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[66784]=0;i[66785]=0;i[66786]=0;k[16697]=0;k[16684]=5580;p[8349]=64.0;p[8350]=224.0;p[8351]=208.0;p[8352]=1.0;x=0;sa(430,66824,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16709]=0;k[16697]=3;P1(l);Ub(23,66736,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16711]=0;a=66848;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[66888]=0;i[66889]=0;i[66890]=0;k[16723]=0;k[16710]=5580;p[8362]=238.0;p[8363]=130.0;p[8364]=238.0;p[8365]=1.0;x=0;sa(430,66928,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16735]=0;k[16723]=3;P1(l);Ub(23,66840,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16737]=0;a=66952;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[66992]=0;i[66993]=0;i[66994]=0;k[16749]=0;k[16736]=5580;p[8375]=245.0;p[8376]=222.0;p[8377]=179.0;p[8378]=1.0;x=0;sa(430,67032,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16761]=0;k[16749]=3;P1(l);Ub(23,66944,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16763]=0;a=67056;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[67096]=0;i[67097]=0;i[67098]=0;k[16775]=0;k[16762]=5580;p[8388]=255.0;p[8389]=255.0;p[8390]=255.0;p[8391]=1.0;x=0;sa(430,67136,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16787]=0;k[16775]=3;P1(l);Ub(23,67048,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16789]=0;a=67160;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[67200]=0;i[67201]=0;i[67202]=0;k[16801]=0;k[16788]=5580;p[8401]=245.0;p[8402]=245.0;p[8403]=245.0;p[8404]=1.0;x=0;sa(430,67240,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16813]=0;k[16801]=3;P1(l);Ub(23,67152,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16815]=0;a=67264;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[67304]=0;i[67305]=0;i[67306]=0;k[16827]=0;k[16814]=5580;p[8414]=255.0;p[8415]=255.0;p[8416]=0.0;p[8417]=1.0;x=0;sa(430,67344,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16839]=0;k[16827]=3;P1(l);Ub(23,67256,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16841]=0;a=67368;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[67408]=0;i[67409]=0;i[67410]=0;k[16853]=0;k[16840]=5580;p[8427]=154.0;p[8428]=205.0;p[8429]=50.0;p[8430]=1.0;x=0;sa(430,67448,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16865]=0;k[16853]=3;P1(l);Ub(23,67360,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16867]=0;a=67472;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[67512]=0;i[67513]=0;i[67514]=0;k[16879]=0;k[16866]=5580;p[8440]=102.0;p[8441]=51.0;p[8442]=153.0;p[8443]=1.0;x=0;sa(430,67552,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16891]=0;k[16879]=3;P1(l);Ub(23,67464,w|0)|0;a=h;b=68760;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));lE(l,78097,0);k[16893]=0;a=67576;b=h;c=a+40|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));i[67616]=0;i[67617]=0;i[67618]=0;k[16905]=0;k[16892]=5580;k[16906]=0;k[16907]=0;k[16908]=0;k[16909]=0;k[16910]=0;k[16911]=0;k[16912]=0;k[16913]=0;x=0;sa(430,67656,l|0);f=x;x=0;if(f&1){m=mb()|0;P1(l);yb(m|0)}k[16917]=0;k[16905]=3;P1(l);Ub(23,67568,w|0)|0;k[d>>2]=15792383;k[d+4>>2]=28375;k[d+8>>2]=16444375;k[d+12>>2]=28385;k[d+16>>2]=65535;k[d+20>>2]=28398;k[d+24>>2]=8388564;k[d+28>>2]=28408;k[d+32>>2]=15794175;k[d+36>>2]=28419;k[d+40>>2]=16119260;k[d+44>>2]=28425;k[d+48>>2]=16770244;k[d+52>>2]=28431;k[d+56>>2]=0;k[d+60>>2]=28438;k[d+64>>2]=16772045;k[d+68>>2]=28444;k[d+72>>2]=255;k[d+76>>2]=28459;k[d+80>>2]=9055202;k[d+84>>2]=28464;k[d+88>>2]=10824234;k[d+92>>2]=28475;k[d+96>>2]=14596231;k[d+100>>2]=28481;k[d+104>>2]=6266528;k[d+108>>2]=28491;k[d+112>>2]=8388352;k[d+116>>2]=28501;k[d+120>>2]=13789470;k[d+124>>2]=28512;k[d+128>>2]=16744272;k[d+132>>2]=28522;k[d+136>>2]=6591981;k[d+140>>2]=28528;k[d+144>>2]=16775388;k[d+148>>2]=28543;k[d+152>>2]=14423100;k[d+156>>2]=28552;k[d+160>>2]=139;k[d+164>>2]=28560;k[d+168>>2]=35723;k[d+172>>2]=28569;k[d+176>>2]=12092939;k[d+180>>2]=28578;k[d+184>>2]=11119017;k[d+188>>2]=28592;k[d+192>>2]=25600;k[d+196>>2]=28610;k[d+200>>2]=12433259;k[d+204>>2]=28620;k[d+208>>2]=9109643;k[d+212>>2]=28630;k[d+216>>2]=5597999;k[d+220>>2]=28642;k[d+224>>2]=16747520;k[d+228>>2]=28657;k[d+232>>2]=10040012;k[d+236>>2]=28668;k[d+240>>2]=9109504;k[d+244>>2]=28679;k[d+248>>2]=15308410;k[d+252>>2]=28687;k[d+256>>2]=9419919;k[d+260>>2]=28698;k[d+264>>2]=4734347;k[d+268>>2]=28711;k[d+272>>2]=3100495;k[d+276>>2]=28725;k[d+280>>2]=52945;k[d+284>>2]=28753;k[d+288>>2]=9699539;k[d+292>>2]=28767;k[d+296>>2]=16716947;k[d+300>>2]=28778;k[d+304>>2]=49151;k[d+308>>2]=28787;k[d+312>>2]=6908265;k[d+316>>2]=28799;k[d+320>>2]=2003199;k[d+324>>2]=28815;k[d+328>>2]=11674146;k[d+332>>2]=28826;k[d+336>>2]=16775920;k[d+340>>2]=28836;k[d+344>>2]=2263842;k[d+348>>2]=28848;k[d+352>>2]=16711935;k[d+356>>2]=28860;k[d+360>>2]=14474460;k[d+364>>2]=28876;k[d+368>>2]=16316671;k[d+372>>2]=28886;k[d+376>>2]=16766720;k[d+380>>2]=28897;k[d+384>>2]=14329120;k[d+388>>2]=28902;k[d+392>>2]=8421504;k[d+396>>2]=28912;k[d+400>>2]=32768;k[d+404>>2]=28922;k[d+408>>2]=11403055;k[d+412>>2]=28928;k[d+416>>2]=15794160;k[d+420>>2]=28940;k[d+424>>2]=16738740;k[d+428>>2]=28949;k[d+432>>2]=13458524;k[d+436>>2]=28957;k[d+440>>2]=4915330;k[d+444>>2]=28967;k[d+448>>2]=16777200;k[d+452>>2]=28974;k[d+456>>2]=15787660;k[d+460>>2]=28980;k[d+464>>2]=15132410;k[d+468>>2]=28986;k[d+472>>2]=16773365;k[d+476>>2]=28995;k[d+480>>2]=8190976;k[d+484>>2]=29009;k[d+488>>2]=16775885;k[d+492>>2]=29019;k[d+496>>2]=11393254;k[d+500>>2]=29032;k[d+504>>2]=15761536;k[d+508>>2]=29042;k[d+512>>2]=14745599;k[d+516>>2]=29053;k[d+520>>2]=16448210;k[d+524>>2]=29063;k[d+528>>2]=13882323;k[d+532>>2]=29084;k[d+536>>2]=9498256;k[d+540>>2]=29104;k[d+544>>2]=16758465;k[d+548>>2]=29115;k[d+552>>2]=16752762;k[d+556>>2]=29125;k[d+560>>2]=2142890;k[d+564>>2]=29137;k[d+568>>2]=8900346;k[d+572>>2]=29151;k[d+576>>2]=7833753;k[d+580>>2]=29164;k[d+584>>2]=11584734;k[d+588>>2]=29194;k[d+592>>2]=16777184;k[d+596>>2]=29209;k[d+600>>2]=65280;k[d+604>>2]=29221;k[d+608>>2]=3329330;k[d+612>>2]=29226;k[d+616>>2]=16445670;k[d+620>>2]=29236;k[d+624>>2]=8388608;k[d+628>>2]=29242;k[d+632>>2]=6737322;k[d+636>>2]=29249;k[d+640>>2]=205;k[d+644>>2]=29266;k[d+648>>2]=12211667;k[d+652>>2]=29277;k[d+656>>2]=9662683;k[d+660>>2]=29290;k[d+664>>2]=3978097;k[d+668>>2]=29303;k[d+672>>2]=8087790;k[d+676>>2]=29318;k[d+680>>2]=64154;k[d+684>>2]=29334;k[d+688>>2]=4772300;k[d+692>>2]=29352;k[d+696>>2]=13047173;k[d+700>>2]=29368;k[d+704>>2]=1644912;k[d+708>>2]=29384;k[d+712>>2]=16121850;k[d+716>>2]=29397;k[d+720>>2]=16770273;k[d+724>>2]=29407;k[d+728>>2]=16770229;k[d+732>>2]=29417;k[d+736>>2]=16768685;k[d+740>>2]=29426;k[d+744>>2]=128;k[d+748>>2]=29438;k[d+752>>2]=16643558;k[d+756>>2]=29443;k[d+760>>2]=8421376;k[d+764>>2]=29451;k[d+768>>2]=7048739;k[d+772>>2]=29457;k[d+776>>2]=16753920;k[d+780>>2]=29467;k[d+784>>2]=16729344;k[d+788>>2]=29474;k[d+792>>2]=14315734;k[d+796>>2]=29484;k[d+800>>2]=15657130;k[d+804>>2]=29491;k[d+808>>2]=10025880;k[d+812>>2]=29505;k[d+816>>2]=11529966;k[d+820>>2]=29515;k[d+824>>2]=14381203;k[d+828>>2]=29529;k[d+832>>2]=16773077;k[d+836>>2]=29543;k[d+840>>2]=16767673;k[d+844>>2]=29554;k[d+848>>2]=13468991;k[d+852>>2]=29564;k[d+856>>2]=16761035;k[d+860>>2]=29569;k[d+864>>2]=14524637;k[d+868>>2]=29574;k[d+872>>2]=11591910;k[d+876>>2]=29579;k[d+880>>2]=8388736;k[d+884>>2]=29590;k[d+888>>2]=16711680;k[d+892>>2]=29597;k[d+896>>2]=12357519;k[d+900>>2]=29601;k[d+904>>2]=4286945;k[d+908>>2]=29611;k[d+912>>2]=9127187;k[d+916>>2]=29621;k[d+920>>2]=16416882;k[d+924>>2]=29633;k[d+928>>2]=16032864;k[d+932>>2]=29640;k[d+936>>2]=3050327;k[d+940>>2]=29651;k[d+944>>2]=16774638;k[d+948>>2]=29660;k[d+952>>2]=10506797;k[d+956>>2]=29669;k[d+960>>2]=12632256;k[d+964>>2]=29676;k[d+968>>2]=8900331;k[d+972>>2]=29683;k[d+976>>2]=6970061;k[d+980>>2]=29691;k[d+984>>2]=7372944;k[d+988>>2]=29701;k[d+992>>2]=16775930;k[d+996>>2]=29721;k[d+1e3>>2]=65407;k[d+1004>>2]=29726;k[d+1008>>2]=4620980;k[d+1012>>2]=29738;k[d+1016>>2]=13808780;k[d+1020>>2]=29748;k[d+1024>>2]=32896;k[d+1028>>2]=29752;k[d+1032>>2]=14204888;k[d+1036>>2]=29757;k[d+1040>>2]=16737095;k[d+1044>>2]=29765;k[d+1048>>2]=4251856;k[d+1052>>2]=29772;k[d+1056>>2]=15631086;k[d+1060>>2]=29782;k[d+1064>>2]=16113331;k[d+1068>>2]=29789;k[d+1072>>2]=16777215;k[d+1076>>2]=29795;k[d+1080>>2]=16119285;k[d+1084>>2]=29801;k[d+1088>>2]=16776960;k[d+1092>>2]=29812;k[d+1096>>2]=10145074;k[d+1100>>2]=29819;k[d+1104>>2]=6697881;k[d+1108>>2]=29831;k[17173]=0;k[17174]=0;k[17172]=68692;f=d+1112|0;e=d;do{x=0;a=ua(186,24)|0;c=x;x=0;if(c&1){g=308;break}c=a+16|0;o=e;n=k[o+4>>2]|0;b=c;k[b>>2]=k[o>>2];k[b+4>>2]=n;k[j>>2]=68692;k[h>>2]=k[j>>2];c=Mk(68688,h,l,c)|0;b=k[c>>2]|0;do if(!b){b=k[l>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=b;k[c>>2]=a;b=k[k[17172]>>2]|0;if(b){k[17172]=b;a=k[c>>2]|0}hl(k[17173]|0,a);k[17174]=(k[17174]|0)+1}else{if((b|0)==(a|0))break;uha(a)}while(0);e=e+8|0}while((e|0)!=(f|0));if((g|0)==308){o=mb()|0;sD(68688,k[17173]|0);yb(o|0)}Ub(326,68688,w|0)|0;k[d>>2]=28375;k[d+4>>2]=52176;k[d+8>>2]=28385;k[d+12>>2]=52280;k[d+16>>2]=28398;k[d+20>>2]=52384;k[d+24>>2]=28403;k[d+28>>2]=52488;k[d+32>>2]=28408;k[d+36>>2]=52592;k[d+40>>2]=28419;k[d+44>>2]=52696;k[d+48>>2]=28425;k[d+52>>2]=52800;k[d+56>>2]=28431;k[d+60>>2]=52904;k[d+64>>2]=28438;k[d+68>>2]=53008;k[d+72>>2]=28444;k[d+76>>2]=53112;k[d+80>>2]=28459;k[d+84>>2]=53216;k[d+88>>2]=28464;k[d+92>>2]=53320;k[d+96>>2]=28475;k[d+100>>2]=53424;k[d+104>>2]=28481;k[d+108>>2]=53528;k[d+112>>2]=28491;k[d+116>>2]=53632;k[d+120>>2]=28501;k[d+124>>2]=53736;k[d+128>>2]=28512;k[d+132>>2]=53840;k[d+136>>2]=28522;k[d+140>>2]=53944;k[d+144>>2]=28528;k[d+148>>2]=54048;k[d+152>>2]=28543;k[d+156>>2]=54152;k[d+160>>2]=28552;k[d+164>>2]=54256;k[d+168>>2]=28560;k[d+172>>2]=54360;k[d+176>>2]=28569;k[d+180>>2]=54464;k[d+184>>2]=28578;k[d+188>>2]=54568;k[d+192>>2]=28592;k[d+196>>2]=54672;k[d+200>>2]=28601;k[d+204>>2]=54776;k[d+208>>2]=28610;k[d+212>>2]=54880;k[d+216>>2]=28620;k[d+220>>2]=54984;k[d+224>>2]=28630;k[d+228>>2]=55088;k[d+232>>2]=28642;k[d+236>>2]=55192;k[d+240>>2]=28657;k[d+244>>2]=55296;k[d+248>>2]=28668;k[d+252>>2]=55400;k[d+256>>2]=28679;k[d+260>>2]=55504;k[d+264>>2]=28687;k[d+268>>2]=55608;k[d+272>>2]=28698;k[d+276>>2]=55712;k[d+280>>2]=28711;k[d+284>>2]=55816;k[d+288>>2]=28725;k[d+292>>2]=55920;k[d+296>>2]=28739;k[d+300>>2]=56024;k[d+304>>2]=28753;k[d+308>>2]=56128;k[d+312>>2]=28767;k[d+316>>2]=56232;k[d+320>>2]=28778;k[d+324>>2]=56336;k[d+328>>2]=28787;k[d+332>>2]=56440;k[d+336>>2]=28799;k[d+340>>2]=56544;k[d+344>>2]=28807;k[d+348>>2]=56648;k[d+352>>2]=28815;k[d+356>>2]=56752;k[d+360>>2]=28826;k[d+364>>2]=56856;k[d+368>>2]=28836;k[d+372>>2]=56960;k[d+376>>2]=28848;k[d+380>>2]=57064;k[d+384>>2]=28860;k[d+388>>2]=57168;k[d+392>>2]=28868;k[d+396>>2]=57272;k[d+400>>2]=28876;k[d+404>>2]=57376;k[d+408>>2]=28886;k[d+412>>2]=57480;k[d+416>>2]=28897;k[d+420>>2]=57584;k[d+424>>2]=28902;k[d+428>>2]=57688;k[d+432>>2]=28912;k[d+436>>2]=57792;k[d+440>>2]=28917;k[d+444>>2]=57896;k[d+448>>2]=28922;k[d+452>>2]=58e3;k[d+456>>2]=28928;k[d+460>>2]=58104;k[d+464>>2]=28940;k[d+468>>2]=58208;k[d+472>>2]=28949;k[d+476>>2]=58312;k[d+480>>2]=28957;k[d+484>>2]=58416;k[d+488>>2]=28967;k[d+492>>2]=58520;k[d+496>>2]=28974;k[d+500>>2]=58624;k[d+504>>2]=28980;k[d+508>>2]=58728;k[d+512>>2]=28986;k[d+516>>2]=58832;k[d+520>>2]=28995;k[d+524>>2]=58936;k[d+528>>2]=29009;k[d+532>>2]=59040;k[d+536>>2]=29019;k[d+540>>2]=59144;k[d+544>>2]=29032;k[d+548>>2]=59248;k[d+552>>2]=29042;k[d+556>>2]=59352;k[d+560>>2]=29053;k[d+564>>2]=59456;k[d+568>>2]=29063;k[d+572>>2]=59560;k[d+576>>2]=29084;k[d+580>>2]=59664;k[d+584>>2]=29094;k[d+588>>2]=59768;k[d+592>>2]=29104;k[d+596>>2]=59872;k[d+600>>2]=29115;k[d+604>>2]=59976;k[d+608>>2]=29125;k[d+612>>2]=60080;k[d+616>>2]=29137;k[d+620>>2]=60184;k[d+624>>2]=29151;k[d+628>>2]=60288;k[d+632>>2]=29164;k[d+636>>2]=60392;k[d+640>>2]=29179;k[d+644>>2]=60496;k[d+648>>2]=29194;k[d+652>>2]=60600;k[d+656>>2]=29209;k[d+660>>2]=60704;k[d+664>>2]=29221;k[d+668>>2]=60808;k[d+672>>2]=29226;k[d+676>>2]=60912;k[d+680>>2]=29236;k[d+684>>2]=61016;k[d+688>>2]=29242;k[d+692>>2]=61120;k[d+696>>2]=29249;k[d+700>>2]=61224;k[d+704>>2]=29266;k[d+708>>2]=61328;k[d+712>>2]=29277;k[d+716>>2]=61432;k[d+720>>2]=29290;k[d+724>>2]=61536;k[d+728>>2]=29303;k[d+732>>2]=61640;k[d+736>>2]=29318;k[d+740>>2]=61744;k[d+744>>2]=29334;k[d+748>>2]=61848;k[d+752>>2]=29352;k[d+756>>2]=61952;k[d+760>>2]=29368;k[d+764>>2]=62056;k[d+768>>2]=29384;k[d+772>>2]=62160;k[d+776>>2]=29397;k[d+780>>2]=62264;k[d+784>>2]=29407;k[d+788>>2]=62368;k[d+792>>2]=29417;k[d+796>>2]=62472;k[d+800>>2]=29426;k[d+804>>2]=62576;k[d+808>>2]=29438;k[d+812>>2]=62680;k[d+816>>2]=29443;k[d+820>>2]=62784;k[d+824>>2]=29451;k[d+828>>2]=62888;k[d+832>>2]=29457;k[d+836>>2]=62992;k[d+840>>2]=29467;k[d+844>>2]=63096;k[d+848>>2]=29474;k[d+852>>2]=63200;k[d+856>>2]=29484;k[d+860>>2]=63304;k[d+864>>2]=29491;k[d+868>>2]=63408;k[d+872>>2]=29505;k[d+876>>2]=63512;k[d+880>>2]=29515;k[d+884>>2]=63616;k[d+888>>2]=29529;k[d+892>>2]=63720;k[d+896>>2]=29543;k[d+900>>2]=63824;k[d+904>>2]=29554;k[d+908>>2]=63928;k[d+912>>2]=29564;k[d+916>>2]=64032;k[d+920>>2]=29569;k[d+924>>2]=64136;k[d+928>>2]=29574;k[d+932>>2]=64240;k[d+936>>2]=29579;k[d+940>>2]=64344;k[d+944>>2]=29590;k[d+948>>2]=64448;k[d+952>>2]=29597;k[d+956>>2]=64552;k[d+960>>2]=29601;k[d+964>>2]=64656;k[d+968>>2]=29611;k[d+972>>2]=64760;k[d+976>>2]=29621;k[d+980>>2]=64864;k[d+984>>2]=29633;k[d+988>>2]=64968;k[d+992>>2]=29640;k[d+996>>2]=65072;k[d+1e3>>2]=29651;k[d+1004>>2]=65176;k[d+1008>>2]=29660;k[d+1012>>2]=65280;k[d+1016>>2]=29669;k[d+1020>>2]=65384;k[d+1024>>2]=29676;k[d+1028>>2]=65488;k[d+1032>>2]=29683;k[d+1036>>2]=65592;k[d+1040>>2]=29691;k[d+1044>>2]=65696;k[d+1048>>2]=29701;k[d+1052>>2]=65800;k[d+1056>>2]=29711;k[d+1060>>2]=65904;k[d+1064>>2]=29721;k[d+1068>>2]=66008;k[d+1072>>2]=29726;k[d+1076>>2]=66112;k[d+1080>>2]=29738;k[d+1084>>2]=66216;k[d+1088>>2]=29748;k[d+1092>>2]=66320;k[d+1096>>2]=29752;k[d+1100>>2]=66424;k[d+1104>>2]=29757;k[d+1108>>2]=66528;k[d+1112>>2]=29765;k[d+1116>>2]=66632;k[d+1120>>2]=29772;k[d+1124>>2]=66736;k[d+1128>>2]=29782;k[d+1132>>2]=66840;k[d+1136>>2]=29789;k[d+1140>>2]=66944;k[d+1144>>2]=29795;k[d+1148>>2]=67048;k[d+1152>>2]=29801;k[d+1156>>2]=67152;k[d+1160>>2]=29812;k[d+1164>>2]=67256;k[d+1168>>2]=29819;k[d+1172>>2]=67360;k[d+1176>>2]=29831;k[d+1180>>2]=67464;k[d+1184>>2]=38901;k[d+1188>>2]=67568;k[17176]=0;k[17177]=0;k[17175]=68704;e=d+1192|0;while(1){x=0;a=ua(186,24)|0;o=x;x=0;if(o&1){g=318;break}c=a+16|0;n=d;o=k[n+4>>2]|0;b=c;k[b>>2]=k[n>>2];k[b+4>>2]=o;k[j>>2]=68704;k[h>>2]=k[j>>2];c=Ik(68700,h,l,c)|0;b=k[c>>2]|0;do if(!b){b=k[l>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=b;k[c>>2]=a;b=k[k[17175]>>2]|0;if(b){k[17175]=b;a=k[c>>2]|0}hl(k[17176]|0,a);k[17177]=(k[17177]|0)+1}else{if((b|0)==(a|0))break;uha(a)}while(0);d=d+8|0;if((d|0)==(e|0)){g=319;break}}if((g|0)==318){o=mb()|0;rC(68700,k[17176]|0);yb(o|0)}else if((g|0)==319){Ub(327,68700,w|0)|0;r=m;return}}function Wc(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=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,$=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,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Ra=0,Sa=0,Ta=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,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0;fb=0;vb=r;r=r+1104|0;nb=vb+1080|0;lb=vb+1056|0;gb=vb+1048|0;Fa=vb+1024|0;Ea=vb+1e3|0;$a=vb+976|0;Pa=vb+952|0;Ga=vb+944|0;Ha=vb+936|0;Ia=vb+928|0;Ja=vb+920|0;La=vb+912|0;Ma=vb+904|0;Na=vb+896|0;Oa=vb+888|0;_a=vb+864|0;Ta=vb+856|0;Va=vb+848|0;Ra=vb+840|0;Sa=vb+832|0;Wa=vb+824|0;Xa=vb+816|0;Ya=vb+808|0;Za=vb+800|0;va=vb+776|0;wa=vb+752|0;Aa=vb+728|0;ya=vb+704|0;ca=vb+696|0;da=vb+688|0;ea=vb+680|0;fa=vb+672|0;ga=vb+664|0;ha=vb+656|0;ia=vb+648|0;ja=vb+640|0;Ca=vb+616|0;ka=vb+608|0;la=vb+600|0;ma=vb+592|0;na=vb+584|0;oa=vb+568|0;pa=vb+560|0;ta=vb+544|0;ua=vb+528|0;l=vb+480|0;Gb=vb+456|0;Fb=vb+432|0;Eb=vb+408|0;Db=vb+384|0;w=vb+360|0;y=vb+336|0;zb=vb+312|0;xb=vb+288|0;Cb=vb+264|0;Bb=vb+240|0;Ab=vb+216|0;v=vb+208|0;wb=vb+184|0;z=vb+160|0;pb=vb+136|0;Da=vb+128|0;xa=vb+104|0;za=vb+80|0;ub=vb+56|0;hb=vb+576|0;ib=vb+552|0;jb=vb+536|0;kb=vb+48|0;ob=vb+24|0;sb=vb;rb=vb+504|0;s=b+16|0;e=k[s>>2]|0;t=b+20|0;f=k[t>>2]|0;if(!f){if(!(k[e+20>>2]|0))fb=4}else{c3(f);tb=(k[e+20>>2]|0)==0;CQ(f);if(tb)fb=4}if((fb|0)==4){LC(a);i=k[a+16>>2]|0;j=a+20|0;p=k[j>>2]|0;q=(p|0)==0;if(!q)c3(p);m=i+8|0;g=k[m>>2]|0;n=i+4|0;f=k[n>>2]|0;Gb=g-f>>2;l=i+16|0;e=k[l>>2]|0;o=i+20|0;h=k[o>>2]|0;do if((((Gb|0)==0?0:(Gb*170|0)+-1|0)|0)==(h+e|0)){x=0;ra(336,i|0);Gb=x;x=0;if(!(Gb&1)){h=k[o>>2]|0;e=k[l>>2]|0;g=k[m>>2]|0;f=k[n>>2]|0;break}f=mb()|0;if(!q)CQ(p);e=k[j>>2]|0;if(!e){Gb=f;yb(Gb|0)}CQ(e);Gb=f;yb(Gb|0)}while(0);e=h+e|0;if((g|0)==(f|0))f=0;else f=(k[f+(((e>>>0)/170|0)<<2)>>2]|0)+(((e>>>0)%170|0)*24|0)|0;k[f>>2]=k[c>>2];k[f+4>>2]=k[c+4>>2];k[f+8>>2]=k[c+8>>2];k[f+12>>2]=k[c+12>>2];k[f+16>>2]=k[c+16>>2];e=k[c+20>>2]|0;k[f+20>>2]=e;if(e|0)c3(e);k[o>>2]=(k[o>>2]|0)+1;if(q){r=vb;return}CQ(p);r=vb;return}e=k[c+16>>2]|0;f=k[c+20>>2]|0;if(!f){if(!(k[e+20>>2]|0))fb=22}else{c3(f);tb=(k[e+20>>2]|0)==0;CQ(f);if(tb)fb=22}if((fb|0)==22){LC(a);i=k[a+16>>2]|0;j=a+20|0;p=k[j>>2]|0;q=(p|0)==0;if(!q)c3(p);m=i+8|0;g=k[m>>2]|0;n=i+4|0;f=k[n>>2]|0;Gb=g-f>>2;l=i+16|0;e=k[l>>2]|0;o=i+20|0;h=k[o>>2]|0;do if((((Gb|0)==0?0:(Gb*170|0)+-1|0)|0)==(h+e|0)){x=0;ra(336,i|0);Gb=x;x=0;if(!(Gb&1)){h=k[o>>2]|0;e=k[l>>2]|0;g=k[m>>2]|0;f=k[n>>2]|0;break}f=mb()|0;if(!q)CQ(p);e=k[j>>2]|0;if(!e){Gb=f;yb(Gb|0)}CQ(e);Gb=f;yb(Gb|0)}while(0);e=h+e|0;if((g|0)==(f|0))f=0;else f=(k[f+(((e>>>0)/170|0)<<2)>>2]|0)+(((e>>>0)%170|0)*24|0)|0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];k[f+12>>2]=k[b+12>>2];k[f+16>>2]=k[s>>2];e=k[t>>2]|0;k[f+20>>2]=e;if(e|0)c3(e);k[o>>2]=(k[o>>2]|0)+1;if(q){r=vb;return}CQ(p);r=vb;return}LC(Gb);x=0;sa(446,Gb|0,b|0);tb=x;x=0;if(tb&1)fb=77;else{x=0;ra(335,Fb|0);tb=x;x=0;if(tb&1)fb=77;else{x=0;sa(446,Fb|0,c|0);tb=x;x=0;a:do if(tb&1)fb=78;else{x=0;ra(335,nb|0);tb=x;x=0;if(tb&1)fb=78;else{x=0;ra(335,lb|0);tb=x;x=0;if(tb&1)f=mb()|0;else{x=0;sa(522,Gb|0,nb|0);tb=x;x=0;if(tb&1)fb=51;else{x=0;sa(522,Fb|0,lb|0);tb=x;x=0;if(tb&1)fb=51;else{x=0;qa(8,l|0,nb|0,lb|0,gb|0,d|0);tb=x;x=0;if(tb&1)fb=51;else{x=0;e=Ka(888,l|0,nb|0)|0;tb=x;x=0;do if(!(tb&1)){if(e)fb=54;else{x=0;e=Ka(888,l|0,lb|0)|0;tb=x;x=0;if(tb&1)break;if(e)fb=54;else{x=0;ra(338,Eb|0);tb=x;x=0;if(tb&1)break}}do if((fb|0)==54){e=k[nb+16>>2]|0;i=k[nb+20>>2]|0;j=(i|0)==0;if(!j)c3(i);e=k[e+20>>2]|0;f=k[lb+16>>2]|0;g=k[lb+20>>2]|0;h=(g|0)==0;if(!h)c3(g);e=e>>>0>(k[f+20>>2]|0)>>>0?nb:lb;k[Eb>>2]=k[e>>2];k[Eb+4>>2]=k[e+4>>2];k[Eb+8>>2]=k[e+8>>2];k[Eb+12>>2]=k[e+12>>2];k[Eb+16>>2]=k[e+16>>2];e=k[e+20>>2]|0;k[Eb+20>>2]=e;if(e|0)c3(e);if(!h)CQ(g);if(j)break;CQ(i)}while(0);e=k[l+20>>2]|0;if(e|0)CQ(e);e=k[lb+20>>2]|0;if(e|0)CQ(e);e=k[nb+20>>2]|0;if(e|0)CQ(e);b:do if((k[Eb+4>>2]|0)==3){x=0;ra(338,a|0);Db=x;x=0;if(Db&1)fb=80;else fb=1017}else{x=0;ra(335,Db|0);tb=x;x=0;if(tb&1){fb=80;break}x=0;qa(9,w|0,Gb|0,Fb|0,d|0,Db|0);tb=x;x=0;do if(tb&1)f=mb()|0;else{c:do if((k[w+4>>2]|0)==3){x=0;ra(338,a|0);Cb=x;x=0;if(Cb&1){fb=88;break}e=w+20|0;fb=1008}else{eb=w+16|0;f=k[eb>>2]|0;e=w+20|0;h=k[e>>2]|0;i=(h|0)==0;if(!i)c3(h);tb=k[f+4>>2]|0;g=k[f+16>>2]|0;m=tb+(((g>>>0)/170|0)<<2)|0;if((k[f+8>>2]|0)==(tb|0))f=0;else f=(k[m>>2]|0)+(((g>>>0)%170|0)*24|0)|0;if(!i)CQ(h);g=k[eb>>2]|0;j=k[e>>2]|0;l=(j|0)==0;if(!l)c3(j);h=(k[g+16>>2]|0)+(k[g+20>>2]|0)|0;i=k[g+4>>2]|0;if((k[g+8>>2]|0)==(i|0))u=0;else u=(k[i+(((h>>>0)/170|0)<<2)>>2]|0)+(((h>>>0)%170|0)*24|0)|0;if(!l)CQ(j);b=y+16|0;c=y+20|0;d:while(1){do{if((f|0)==(u|0)){fb=105;break d}if((k[f+4>>2]|0)!=2){x=0;ra(335,y|0);tb=x;x=0;if(tb&1){fb=87;break d}g=k[b>>2]|0;s=k[c>>2]|0;t=(s|0)==0;if(!t)c3(s);o=g+8|0;i=k[o>>2]|0;p=g+4|0;h=k[p>>2]|0;tb=i-h>>2;l=g+16|0;n=k[l>>2]|0;q=g+20|0;j=k[q>>2]|0;if((((tb|0)==0?0:(tb*170|0)+-1|0)|0)==(j+n|0)){x=0;ra(336,g|0);tb=x;x=0;if(tb&1){fb=126;break d}j=k[q>>2]|0;g=k[l>>2]|0;i=k[o>>2]|0;h=k[p>>2]|0}else g=n;g=j+g|0;if((i|0)==(h|0))g=0;else g=(k[h+(((g>>>0)/170|0)<<2)>>2]|0)+(((g>>>0)%170|0)*24|0)|0;k[g>>2]=k[f>>2];k[g+4>>2]=k[f+4>>2];k[g+8>>2]=k[f+8>>2];k[g+12>>2]=k[f+12>>2];i=f+16|0;k[g+16>>2]=k[i>>2];j=f+20|0;h=k[j>>2]|0;k[g+20>>2]=h;if(h|0)c3(h);k[q>>2]=(k[q>>2]|0)+1;if(!t)CQ(s);k[f>>2]=k[y>>2];k[f+4>>2]=k[y+4>>2];k[f+8>>2]=k[y+8>>2];k[f+12>>2]=k[y+12>>2];g=k[b>>2]|0;h=k[c>>2]|0;if(h|0)c3(h);k[i>>2]=g;g=k[j>>2]|0;k[j>>2]=h;if(g|0)CQ(g);g=k[c>>2]|0;if(g|0)CQ(g)}f=f+24|0}while((f-(k[m>>2]|0)|0)!=4080);f=m+4|0;m=f;f=k[f>>2]|0}if((fb|0)==87){f=mb()|0;fb=89;break}else if((fb|0)==105){x=0;sa(523,zb|0,Gb|0);tb=x;x=0;if(tb&1){fb=88;break}x=0;sa(523,xb|0,Fb|0);tb=x;x=0;do if(tb&1)f=mb()|0;else{k[Cb>>2]=0;k[Cb+4>>2]=0;k[Cb+8>>2]=0;k[Cb+12>>2]=0;k[Cb+16>>2]=0;k[Cb+20>>2]=0;x=0;Qa(127,zb|0,Cb|0,d|0);tb=x;x=0;if(tb&1)f=mb()|0;else{k[Bb>>2]=0;k[Bb+4>>2]=0;k[Bb+8>>2]=0;k[Bb+12>>2]=0;k[Bb+16>>2]=0;k[Bb+20>>2]=0;x=0;Qa(127,xb|0,Bb|0,d|0);tb=x;x=0;if(tb&1)f=mb()|0;else{k[Ab>>2]=0;k[Ab+4>>2]=0;k[Ab+8>>2]=0;k[Ab+12>>2]=0;k[Ab+16>>2]=0;k[Ab+20>>2]=0;k[v>>2]=d;x=0;qa(10,Bb|0,Cb|0,v|0,0,Ab|0);tb=x;x=0;do if(tb&1)fb=523;else{x=0;Qa(128,wb|0,Ab|0,d|0);tb=x;x=0;if(tb&1){fb=523;break}x=0;ra(335,z|0);tb=x;x=0;do if(tb&1)f=mb()|0;else{s=z+16|0;f=k[s>>2]|0;tb=z+20|0;p=k[tb>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;qb=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((qb|0)==0?0:(qb*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);qb=x;x=0;if(!(qb&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;fb=143;break}f=mb()|0;if(q)break;CQ(p)}else{f=l;fb=143}while(0);do if((fb|0)==143){f=i+f|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[Eb>>2];k[f+4>>2]=k[Eb+4>>2];k[f+8>>2]=k[Eb+8>>2];k[f+12>>2]=k[Eb+12>>2];k[f+16>>2]=k[Eb+16>>2];g=k[Eb+20>>2]|0;k[f+20>>2]=g;if(g|0)c3(g);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);x=0;ra(335,pb|0);qb=x;x=0;if(qb&1){f=mb()|0;break}ab=pb+16|0;f=k[ab>>2]|0;qb=pb+20|0;p=k[qb>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;db=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((db|0)==0?0:(db*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);db=x;x=0;if(!(db&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;fb=155;break}f=mb()|0;if(q)break;CQ(p)}else{f=l;fb=155}while(0);e:do if((fb|0)==155){f=i+f|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[g>>2]=k[z>>2];k[g+4>>2]=k[z+4>>2];k[g+8>>2]=k[z+8>>2];k[g+12>>2]=k[z+12>>2];k[g+16>>2]=k[s>>2];f=k[tb>>2]|0;k[g+20>>2]=f;if(f|0)c3(f);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);u=wb+16|0;bb=wb+20|0;v=Da+4|0;w=zb+16|0;db=zb+20|0;y=va+16|0;$=va+20|0;z=wa+16|0;_=wa+20|0;A=xb+16|0;cb=xb+20|0;B=va+16|0;C=wa+16|0;D=xa+16|0;X=xa+20|0;E=za+16|0;V=za+20|0;aa=zb+16|0;ba=xb+16|0;F=xa+16|0;G=ya+16|0;Y=ya+20|0;H=ca+4|0;I=da+4|0;J=ea+4|0;K=ga+4|0;L=ha+4|0;M=ia+4|0;N=Aa+16|0;Z=Aa+20|0;O=Ca+16|0;W=Ca+20|0;P=ka+4|0;Q=la+4|0;R=ma+4|0;S=oa+4|0;T=pa+4|0;U=ta+4|0;f:while(1){f=k[u>>2]|0;g=k[bb>>2]|0;if(!g){if(!(k[f+20>>2]|0)){fb=562;break}}else{c3(g);c=(k[f+20>>2]|0)==0;CQ(g);if(c){fb=562;break}}k[Da>>2]=wb;k[v>>2]=d;x=0;ra(335,va|0);c=x;x=0;if(c&1){fb=528;break}while(1){f=k[w>>2]|0;g=k[db>>2]|0;h=(g|0)==0;if(!h)c3(g);if(!(k[f+20>>2]|0)){fb=203;break}x=0;f=Ka(889,Da|0,zb|0)|0;c=x;x=0;if(c&1){fb=197;break f}if(!h)CQ(g);if(f)break;j=k[y>>2]|0;s=k[$>>2]|0;t=(s|0)==0;if(!t)c3(s);f=k[w>>2]|0;b=k[db>>2]|0;c=(b|0)==0;if(!c)c3(b);p=k[f+16>>2]|0;o=k[(k[f+4>>2]|0)+(((p>>>0)/170|0)<<2)>>2]|0;p=(p>>>0)%170|0;m=j+8|0;h=k[m>>2]|0;n=j+4|0;g=k[n>>2]|0;Hb=h-g>>2;l=j+16|0;i=k[l>>2]|0;q=j+20|0;f=k[q>>2]|0;if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(f+i|0)){x=0;ra(336,j|0);Hb=x;x=0;if(Hb&1){fb=199;break f}f=k[q>>2]|0;i=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0}f=f+i|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;f=o+(p*24|0)|0;Hb=f|0;k[g>>2]=k[Hb>>2];k[g+4>>2]=k[Hb+4>>2];k[g+8>>2]=k[Hb+8>>2];k[g+12>>2]=k[Hb+12>>2];k[g+16>>2]=k[f+16>>2];f=k[f+20>>2]|0;k[g+20>>2]=f;if(f|0)c3(f);k[q>>2]=(k[q>>2]|0)+1;if(!c)CQ(b);if(!t)CQ(s);h=k[w>>2]|0;i=k[db>>2]|0;j=(i|0)==0;if(!j)c3(i);l=h+4|0;m=h+16|0;f=k[m>>2]|0;g=k[(k[(k[l>>2]|0)+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)+20>>2]|0;if(g){CQ(g);f=k[m>>2]|0}Hb=h+20|0;k[Hb>>2]=(k[Hb>>2]|0)+-1;Hb=f+1|0;k[m>>2]=Hb;if(Hb>>>0>339){uha(k[k[l>>2]>>2]|0);k[l>>2]=(k[l>>2]|0)+4;k[m>>2]=(k[m>>2]|0)+-170}if(j)continue;CQ(i)}do if((fb|0)==203){fb=0;if(h)break;CQ(g)}while(0);x=0;ra(335,wa|0);Hb=x;x=0;if(Hb&1){fb=196;break}while(1){x=0;f=Ka(889,Da|0,xb|0)|0;Hb=x;x=0;if(Hb&1){fb=231;break f}if(f)break;j=k[z>>2]|0;s=k[_>>2]|0;t=(s|0)==0;if(!t)c3(s);f=k[A>>2]|0;b=k[cb>>2]|0;c=(b|0)==0;if(!c)c3(b);p=k[f+16>>2]|0;o=k[(k[f+4>>2]|0)+(((p>>>0)/170|0)<<2)>>2]|0;p=(p>>>0)%170|0;m=j+8|0;h=k[m>>2]|0;n=j+4|0;g=k[n>>2]|0;Hb=h-g>>2;l=j+16|0;i=k[l>>2]|0;q=j+20|0;f=k[q>>2]|0;if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(f+i|0)){x=0;ra(336,j|0);Hb=x;x=0;if(Hb&1){fb=234;break f}f=k[q>>2]|0;i=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0}f=f+i|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;f=o+(p*24|0)|0;Hb=f|0;k[g>>2]=k[Hb>>2];k[g+4>>2]=k[Hb+4>>2];k[g+8>>2]=k[Hb+8>>2];k[g+12>>2]=k[Hb+12>>2];k[g+16>>2]=k[f+16>>2];f=k[f+20>>2]|0;k[g+20>>2]=f;if(f|0)c3(f);k[q>>2]=(k[q>>2]|0)+1;if(!c)CQ(b);if(!t)CQ(s);h=k[A>>2]|0;i=k[cb>>2]|0;j=(i|0)==0;if(!j)c3(i);l=h+4|0;m=h+16|0;f=k[m>>2]|0;g=k[(k[(k[l>>2]|0)+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)+20>>2]|0;if(g){CQ(g);f=k[m>>2]|0}Hb=h+20|0;k[Hb>>2]=(k[Hb>>2]|0)+-1;Hb=f+1|0;k[m>>2]=Hb;if(Hb>>>0>339){uha(k[k[l>>2]>>2]|0);k[l>>2]=(k[l>>2]|0)+4;k[m>>2]=(k[m>>2]|0)+-170}if(j)continue;CQ(i)}f=k[B>>2]|0;h=k[$>>2]|0;i=(h|0)==0;if(!i)c3(h);do if(!(k[f+20>>2]|0)){f=k[C>>2]|0;g=k[_>>2]|0;if(!g){f=(k[f+20>>2]|0)==0;break}else{c3(g);f=(k[f+20>>2]|0)==0;CQ(g);break}}else f=0;while(0);if(!i)CQ(h);do if(f){x=0;ra(335,xa|0);Hb=x;x=0;if(Hb&1){fb=232;break f}}else{f=k[B>>2]|0;g=k[$>>2]|0;if(!g){if(!(k[f+20>>2]|0))fb=251}else{c3(g);Hb=(k[f+20>>2]|0)==0;CQ(g);if(Hb)fb=251}if((fb|0)==251){fb=0;x=0;ra(335,xa|0);Hb=x;x=0;if(Hb&1){fb=232;break f}f=k[F>>2]|0;p=k[X>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;Hb=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);Hb=x;x=0;if(Hb&1){fb=263;break f}i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0}else f=l;f=i+f|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[wa>>2];k[f+4>>2]=k[wa+4>>2];k[f+8>>2]=k[wa+8>>2];k[f+12>>2]=k[wa+12>>2];k[f+16>>2]=k[C>>2];g=k[_>>2]|0;k[f+20>>2]=g;if(g|0)c3(g);k[o>>2]=(k[o>>2]|0)+1;if(q)break;CQ(p);break}f=k[C>>2]|0;g=k[_>>2]|0;if(!g){if(!(k[f+20>>2]|0))fb=270}else{c3(g);Hb=(k[f+20>>2]|0)==0;CQ(g);if(Hb)fb=270}if((fb|0)==270){fb=0;x=0;ra(335,xa|0);Hb=x;x=0;if(Hb&1){fb=232;break f}f=k[F>>2]|0;p=k[X>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;Hb=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);Hb=x;x=0;if(Hb&1){fb=282;break f}i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0}else f=l;f=i+f|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[va>>2];k[f+4>>2]=k[va+4>>2];k[f+8>>2]=k[va+8>>2];k[f+12>>2]=k[va+12>>2];k[f+16>>2]=k[B>>2];g=k[$>>2]|0;k[f+20>>2]=g;if(g|0)c3(g);k[o>>2]=(k[o>>2]|0)+1;if(q)break;CQ(p);break}x=0;ra(335,Aa|0);Hb=x;x=0;if(Hb&1){fb=232;break f}x=0;ra(335,ya|0);Hb=x;x=0;if(Hb&1){fb=410;break f}f=k[G>>2]|0;q=k[Y>>2]|0;s=(q|0)==0;do if(s){p=1;g=f;o=0}else{c3(q);h=k[Y>>2]|0;g=k[G>>2]|0;if(!h){p=1;o=0;break}c3(h);p=0;o=h}while(0);c=g;g=(k[c+16>>2]|0)+(k[c+20>>2]|0)|0;Hb=k[c+4>>2]|0;h=Hb+(((g>>>0)/170|0)<<2)|0;if((k[c+8>>2]|0)==(Hb|0))g=0;else g=(k[h>>2]|0)+(((g>>>0)%170|0)*24|0)|0;k[ca>>2]=h;k[H>>2]=g;g=k[B>>2]|0;m=k[$>>2]|0;n=(m|0)==0;if(!n)c3(m);Hb=k[g+4>>2]|0;h=k[g+16>>2]|0;i=Hb+(((h>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[i>>2]|0)+(((h>>>0)%170|0)*24|0)|0;k[da>>2]=i;k[I>>2]=g;g=k[B>>2]|0;j=k[$>>2]|0;l=(j|0)==0;if(!l)c3(j);h=(k[g+16>>2]|0)+(k[g+20>>2]|0)|0;Hb=k[g+4>>2]|0;i=Hb+(((h>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[i>>2]|0)+(((h>>>0)%170|0)*24|0)|0;k[ea>>2]=i;k[J>>2]=g;x=0;k[gb>>2]=k[ca>>2];k[gb+4>>2]=k[ca+4>>2];k[lb>>2]=k[da>>2];k[lb+4>>2]=k[da+4>>2];k[nb>>2]=k[ea>>2];k[nb+4>>2]=k[ea+4>>2];Ba(12,fa|0,f|0,gb|0,lb|0,nb|0,0);Hb=x;x=0;if(Hb&1){fb=412;break f}if(!l)CQ(j);if(!n)CQ(m);if(!p)CQ(o);if(!s)CQ(q);f=k[G>>2]|0;q=k[Y>>2]|0;s=(q|0)==0;do if(s){p=1;g=f;o=0}else{c3(q);h=k[Y>>2]|0;g=k[G>>2]|0;if(!h){p=1;o=0;break}c3(h);p=0;o=h}while(0);c=g;g=(k[c+16>>2]|0)+(k[c+20>>2]|0)|0;Hb=k[c+4>>2]|0;h=Hb+(((g>>>0)/170|0)<<2)|0;if((k[c+8>>2]|0)==(Hb|0))g=0;else g=(k[h>>2]|0)+(((g>>>0)%170|0)*24|0)|0;k[ga>>2]=h;k[K>>2]=g;g=k[C>>2]|0;m=k[_>>2]|0;n=(m|0)==0;if(!n)c3(m);Hb=k[g+4>>2]|0;h=k[g+16>>2]|0;i=Hb+(((h>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[i>>2]|0)+(((h>>>0)%170|0)*24|0)|0;k[ha>>2]=i;k[L>>2]=g;g=k[C>>2]|0;j=k[_>>2]|0;l=(j|0)==0;if(!l)c3(j);h=(k[g+16>>2]|0)+(k[g+20>>2]|0)|0;Hb=k[g+4>>2]|0;i=Hb+(((h>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[i>>2]|0)+(((h>>>0)%170|0)*24|0)|0;k[ia>>2]=i;k[M>>2]=g;x=0;k[gb>>2]=k[ga>>2];k[gb+4>>2]=k[ga+4>>2];k[lb>>2]=k[ha>>2];k[lb+4>>2]=k[ha+4>>2];k[nb>>2]=k[ia>>2];k[nb+4>>2]=k[ia+4>>2];Ba(12,ja|0,f|0,gb|0,lb|0,nb|0,0);Hb=x;x=0;if(Hb&1){fb=420;break f}if(!l)CQ(j);if(!n)CQ(m);if(!p)CQ(o);if(!s)CQ(q);i=k[N>>2]|0;p=k[Z>>2]|0;q=(p|0)==0;if(!q)c3(p);m=i+8|0;h=k[m>>2]|0;n=i+4|0;g=k[n>>2]|0;Hb=h-g>>2;l=i+16|0;f=k[l>>2]|0;o=i+20|0;j=k[o>>2]|0;if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(j+f|0)){x=0;ra(336,i|0);Hb=x;x=0;if(Hb&1){fb=428;break f}j=k[o>>2]|0;f=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0}f=j+f|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[ya>>2];k[f+4>>2]=k[ya+4>>2];k[f+8>>2]=k[ya+8>>2];k[f+12>>2]=k[ya+12>>2];k[f+16>>2]=k[G>>2];g=k[Y>>2]|0;k[f+20>>2]=g;if(g|0)c3(g);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);x=0;ra(335,Ca|0);Hb=x;x=0;if(Hb&1){fb=411;break f}f=k[O>>2]|0;q=k[W>>2]|0;s=(q|0)==0;do if(s){g=f;h=0;p=1}else{c3(q);h=k[W>>2]|0;g=k[O>>2]|0;if(!h){h=0;p=1;break}c3(h);p=0}while(0);c=g;g=(k[c+16>>2]|0)+(k[c+20>>2]|0)|0;Hb=k[c+4>>2]|0;i=Hb+(((g>>>0)/170|0)<<2)|0;if((k[c+8>>2]|0)==(Hb|0))g=0;else g=(k[i>>2]|0)+(((g>>>0)%170|0)*24|0)|0;k[ka>>2]=i;k[P>>2]=g;g=k[C>>2]|0;n=k[_>>2]|0;o=(n|0)==0;if(!o)c3(n);Hb=k[g+4>>2]|0;i=k[g+16>>2]|0;j=Hb+(((i>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;k[la>>2]=j;k[Q>>2]=g;g=k[C>>2]|0;l=k[_>>2]|0;m=(l|0)==0;if(!m)c3(l);i=(k[g+16>>2]|0)+(k[g+20>>2]|0)|0;Hb=k[g+4>>2]|0;j=Hb+(((i>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;k[ma>>2]=j;k[R>>2]=g;x=0;k[gb>>2]=k[ka>>2];k[gb+4>>2]=k[ka+4>>2];k[lb>>2]=k[la>>2];k[lb+4>>2]=k[la+4>>2];k[nb>>2]=k[ma>>2];k[nb+4>>2]=k[ma+4>>2];Ba(12,na|0,f|0,gb|0,lb|0,nb|0,0);Hb=x;x=0;if(Hb&1){fb=430;break f}if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(!s)CQ(q);f=k[O>>2]|0;q=k[W>>2]|0;s=(q|0)==0;do if(s){g=f;h=0;p=1}else{c3(q);h=k[W>>2]|0;g=k[O>>2]|0;if(!h){h=0;p=1;break}c3(h);p=0}while(0);c=g;g=(k[c+16>>2]|0)+(k[c+20>>2]|0)|0;Hb=k[c+4>>2]|0;i=Hb+(((g>>>0)/170|0)<<2)|0;if((k[c+8>>2]|0)==(Hb|0))g=0;else g=(k[i>>2]|0)+(((g>>>0)%170|0)*24|0)|0;k[oa>>2]=i;k[S>>2]=g;g=k[B>>2]|0;n=k[$>>2]|0;o=(n|0)==0;if(!o)c3(n);Hb=k[g+4>>2]|0;i=k[g+16>>2]|0;j=Hb+(((i>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;k[pa>>2]=j;k[T>>2]=g;g=k[B>>2]|0;l=k[$>>2]|0;m=(l|0)==0;if(!m)c3(l);i=(k[g+16>>2]|0)+(k[g+20>>2]|0)|0;Hb=k[g+4>>2]|0;j=Hb+(((i>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;k[ta>>2]=j;k[U>>2]=g;x=0;k[gb>>2]=k[oa>>2];k[gb+4>>2]=k[oa+4>>2];k[lb>>2]=k[pa>>2];k[lb+4>>2]=k[pa+4>>2];k[nb>>2]=k[ta>>2];k[nb+4>>2]=k[ta+4>>2];Ba(12,ua|0,f|0,gb|0,lb|0,nb|0,0);Hb=x;x=0;if(Hb&1){fb=438;break f}if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(!s)CQ(q);f=k[N>>2]|0;p=k[Z>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;Hb=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);Hb=x;x=0;if(Hb&1){fb=446;break f}i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0}else f=l;f=i+f|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[Ca>>2];k[f+4>>2]=k[Ca+4>>2];k[f+8>>2]=k[Ca+8>>2];k[f+12>>2]=k[Ca+12>>2];k[f+16>>2]=k[O>>2];g=k[W>>2]|0;k[f+20>>2]=g;if(g|0)c3(g);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);k[xa>>2]=k[Aa>>2];k[xa+4>>2]=k[Aa+4>>2];k[xa+8>>2]=k[Aa+8>>2];k[xa+12>>2]=k[Aa+12>>2];k[D>>2]=k[N>>2];k[X>>2]=k[Z>>2];k[N>>2]=0;k[Z>>2]=0;f=k[W>>2]|0;if(f|0)CQ(f);f=k[Y>>2]|0;if(f|0)CQ(f);f=k[Z>>2]|0;if(f|0)CQ(f)}while(0);f=k[_>>2]|0;if(f|0)CQ(f);f=k[$>>2]|0;if(f|0)CQ(f);f=k[ab>>2]|0;p=k[qb>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;Hb=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);Hb=x;x=0;if(Hb&1){fb=534;break}i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0}else f=l;f=i+f|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[xa>>2];k[f+4>>2]=k[xa+4>>2];k[f+8>>2]=k[xa+8>>2];k[f+12>>2]=k[xa+12>>2];k[f+16>>2]=k[D>>2];g=k[X>>2]|0;k[f+20>>2]=g;if(g|0)c3(g);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);x=0;ra(335,za|0);Hb=x;x=0;if(Hb&1){fb=533;break}j=k[E>>2]|0;s=k[V>>2]|0;t=(s|0)==0;if(!t)c3(s);f=k[u>>2]|0;b=k[bb>>2]|0;c=(b|0)==0;if(!c)c3(b);p=k[f+16>>2]|0;o=k[(k[f+4>>2]|0)+(((p>>>0)/170|0)<<2)>>2]|0;p=(p>>>0)%170|0;m=j+8|0;h=k[m>>2]|0;n=j+4|0;g=k[n>>2]|0;Hb=h-g>>2;l=j+16|0;i=k[l>>2]|0;q=j+20|0;f=k[q>>2]|0;if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(f+i|0)){x=0;ra(336,j|0);Hb=x;x=0;if(Hb&1){fb=536;break}f=k[q>>2]|0;i=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0}f=f+i|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;f=o+(p*24|0)|0;Hb=f|0;k[g>>2]=k[Hb>>2];k[g+4>>2]=k[Hb+4>>2];k[g+8>>2]=k[Hb+8>>2];k[g+12>>2]=k[Hb+12>>2];k[g+16>>2]=k[f+16>>2];f=k[f+20>>2]|0;k[g+20>>2]=f;if(f|0)c3(f);k[q>>2]=(k[q>>2]|0)+1;if(!c)CQ(b);if(!t)CQ(s);h=k[u>>2]|0;i=k[bb>>2]|0;j=(i|0)==0;if(!j)c3(i);l=h+4|0;m=h+16|0;f=k[m>>2]|0;g=k[(k[(k[l>>2]|0)+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)+20>>2]|0;if(g){CQ(g);f=k[m>>2]|0}Hb=h+20|0;k[Hb>>2]=(k[Hb>>2]|0)+-1;Hb=f+1|0;k[m>>2]=Hb;if(Hb>>>0>339){uha(k[k[l>>2]>>2]|0);k[l>>2]=(k[l>>2]|0)+4;k[m>>2]=(k[m>>2]|0)+-170}if(!j)CQ(i);f=k[ab>>2]|0;p=k[qb>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;Hb=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);Hb=x;x=0;if(Hb&1){fb=540;break}i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0}else f=l;f=i+f|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[za>>2];k[f+4>>2]=k[za+4>>2];k[f+8>>2]=k[za+8>>2];k[f+12>>2]=k[za+12>>2];k[f+16>>2]=k[E>>2];g=k[V>>2]|0;k[f+20>>2]=g;if(g|0)c3(g);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);f=k[aa>>2]|0;g=k[db>>2]|0;do if(!g){if(k[f+20>>2]|0){g=0;m=1;fb=514}}else{c3(g);Hb=(k[f+20>>2]|0)==0;CQ(g);if(Hb)break;f=k[aa>>2]|0;g=k[db>>2]|0;if(!g){g=0;m=1;fb=514;break}c3(g);m=0;fb=514}while(0);do if((fb|0)==514){fb=0;j=f+4|0;l=f+16|0;h=k[l>>2]|0;i=k[(k[(k[j>>2]|0)+(((h>>>0)/170|0)<<2)>>2]|0)+(((h>>>0)%170|0)*24|0)+20>>2]|0;if(i){CQ(i);h=k[l>>2]|0}Hb=f+20|0;k[Hb>>2]=(k[Hb>>2]|0)+-1;Hb=h+1|0;k[l>>2]=Hb;if(Hb>>>0>339){uha(k[k[j>>2]>>2]|0);k[j>>2]=(k[j>>2]|0)+4;k[l>>2]=(k[l>>2]|0)+-170}if(m)break;CQ(g)}while(0);f=k[ba>>2]|0;g=k[cb>>2]|0;do if(!g){if(k[f+20>>2]|0){g=0;m=1;fb=547}}else{c3(g);Hb=(k[f+20>>2]|0)==0;CQ(g);if(Hb)break;f=k[ba>>2]|0;g=k[cb>>2]|0;if(!g){g=0;m=1;fb=547;break}c3(g);m=0;fb=547}while(0);do if((fb|0)==547){fb=0;j=f+4|0;l=f+16|0;h=k[l>>2]|0;i=k[(k[(k[j>>2]|0)+(((h>>>0)/170|0)<<2)>>2]|0)+(((h>>>0)%170|0)*24|0)+20>>2]|0;if(i){CQ(i);h=k[l>>2]|0}Hb=f+20|0;k[Hb>>2]=(k[Hb>>2]|0)+-1;Hb=h+1|0;k[l>>2]=Hb;if(Hb>>>0>339){uha(k[k[j>>2]>>2]|0);k[j>>2]=(k[j>>2]|0)+4;k[l>>2]=(k[l>>2]|0)+-170}if(m)break;CQ(g)}while(0);f=k[V>>2]|0;if(f|0)CQ(f);f=k[X>>2]|0;if(f|0)CQ(f)}switch(fb|0){case 196:{f=mb()|0;fb=460;break}case 197:{f=mb()|0;if(h){fb=460;break}CQ(g);fb=460;break}case 199:{f=mb()|0;if(!c)CQ(b);if(t){fb=460;break}CQ(s);fb=460;break}case 231:{f=mb()|0;fb=233;break}case 232:{f=mb()|0;fb=233;break}case 234:{f=mb()|0;if(!c)CQ(b);if(t){fb=458;break}CQ(s);fb=458;break}case 263:{f=mb()|0;if(!q)CQ(p);g=k[X>>2]|0;if(!g){fb=458;break}CQ(g);fb=458;break}case 282:{f=mb()|0;if(!q)CQ(p);g=k[X>>2]|0;if(!g){fb=458;break}CQ(g);fb=458;break}case 410:{f=mb()|0;fb=452;break}case 411:{f=mb()|0;fb=450;break}case 412:{f=mb()|0;if(!l)CQ(j);if(!n)CQ(m);if(!p)CQ(o);if(s){fb=450;break}CQ(q);fb=450;break}case 420:{f=mb()|0;if(!l)CQ(j);if(!n)CQ(m);if(!p)CQ(o);if(s){fb=450;break}CQ(q);fb=450;break}case 428:{f=mb()|0;if(q){fb=450;break}CQ(p);fb=450;break}case 430:{f=mb()|0;if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(s){fb=448;break}CQ(q);fb=448;break}case 438:{f=mb()|0;if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(s){fb=448;break}CQ(q);fb=448;break}case 446:{f=mb()|0;if(q){fb=448;break}CQ(p);fb=448;break}case 528:{f=mb()|0;break}case 533:{f=mb()|0;fb=560;break}case 534:{f=mb()|0;if(q){fb=560;break}CQ(p);fb=560;break}case 536:{f=mb()|0;if(!c)CQ(b);if(t){fb=558;break}CQ(s);fb=558;break}case 540:{f=mb()|0;if(q){fb=558;break}CQ(p);fb=558;break}case 562:{x=0;ra(335,Fa|0);Hb=x;x=0;if(Hb&1){f=mb()|0;break}u=Fa+16|0;A=Fa+20|0;while(1){f=k[aa>>2]|0;h=k[db>>2]|0;i=(h|0)==0;if(!i)c3(h);if(!(k[f+20>>2]|0)){fb=601;break}f=k[aa>>2]|0;g=k[db>>2]|0;if(!g)f=k[f+20>>2]|0;else{c3(g);f=k[f+20>>2]|0;CQ(g)}if(!i)CQ(h);if(!f){fb=603;break}j=k[u>>2]|0;s=k[A>>2]|0;t=(s|0)==0;if(!t)c3(s);f=k[aa>>2]|0;b=k[db>>2]|0;c=(b|0)==0;if(!c)c3(b);p=k[f+16>>2]|0;o=k[(k[f+4>>2]|0)+(((p>>>0)/170|0)<<2)>>2]|0;p=(p>>>0)%170|0;m=j+8|0;h=k[m>>2]|0;n=j+4|0;g=k[n>>2]|0;Hb=h-g>>2;l=j+16|0;i=k[l>>2]|0;q=j+20|0;f=k[q>>2]|0;if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(f+i|0)){x=0;ra(336,j|0);Hb=x;x=0;if(Hb&1){fb=597;break}f=k[q>>2]|0;i=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0}f=f+i|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;f=o+(p*24|0)|0;Hb=f|0;k[g>>2]=k[Hb>>2];k[g+4>>2]=k[Hb+4>>2];k[g+8>>2]=k[Hb+8>>2];k[g+12>>2]=k[Hb+12>>2];k[g+16>>2]=k[f+16>>2];f=k[f+20>>2]|0;k[g+20>>2]=f;if(f|0)c3(f);k[q>>2]=(k[q>>2]|0)+1;if(!c)CQ(b);if(!t)CQ(s);h=k[aa>>2]|0;i=k[db>>2]|0;j=(i|0)==0;if(!j)c3(i);l=h+4|0;m=h+16|0;f=k[m>>2]|0;g=k[(k[(k[l>>2]|0)+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)+20>>2]|0;if(g){CQ(g);f=k[m>>2]|0}Hb=h+20|0;k[Hb>>2]=(k[Hb>>2]|0)+-1;Hb=f+1|0;k[m>>2]=Hb;if(Hb>>>0>339){uha(k[k[l>>2]>>2]|0);k[l>>2]=(k[l>>2]|0)+4;k[m>>2]=(k[m>>2]|0)+-170}if(j)continue;CQ(i)}do if((fb|0)==597){f=mb()|0;if(!c)CQ(b);if(t)break;CQ(s)}else if((fb|0)==601){if(i){fb=603;break}CQ(h);fb=603}while(0);do if((fb|0)==603){x=0;ra(335,Ea|0);Hb=x;x=0;if(Hb&1){f=mb()|0;break}u=Ea+16|0;z=Ea+20|0;while(1){f=k[ba>>2]|0;g=k[cb>>2]|0;if(!g)f=k[f+20>>2]|0;else{c3(g);f=k[f+20>>2]|0;CQ(g)}if(!f){fb=637;break}j=k[u>>2]|0;s=k[z>>2]|0;t=(s|0)==0;if(!t)c3(s);f=k[ba>>2]|0;b=k[cb>>2]|0;c=(b|0)==0;if(!c)c3(b);p=k[f+16>>2]|0;o=k[(k[f+4>>2]|0)+(((p>>>0)/170|0)<<2)>>2]|0;p=(p>>>0)%170|0;m=j+8|0;h=k[m>>2]|0;n=j+4|0;g=k[n>>2]|0;Hb=h-g>>2;l=j+16|0;i=k[l>>2]|0;q=j+20|0;f=k[q>>2]|0;if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(f+i|0)){x=0;ra(336,j|0);Hb=x;x=0;if(Hb&1){fb=633;break}f=k[q>>2]|0;i=k[l>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0}f=f+i|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;f=o+(p*24|0)|0;Hb=f|0;k[g>>2]=k[Hb>>2];k[g+4>>2]=k[Hb+4>>2];k[g+8>>2]=k[Hb+8>>2];k[g+12>>2]=k[Hb+12>>2];k[g+16>>2]=k[f+16>>2];f=k[f+20>>2]|0;k[g+20>>2]=f;if(f|0)c3(f);k[q>>2]=(k[q>>2]|0)+1;if(!c)CQ(b);if(!t)CQ(s);h=k[ba>>2]|0;i=k[cb>>2]|0;j=(i|0)==0;if(!j)c3(i);l=h+4|0;m=h+16|0;f=k[m>>2]|0;g=k[(k[(k[l>>2]|0)+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)+20>>2]|0;if(g){CQ(g);f=k[m>>2]|0}Hb=h+20|0;k[Hb>>2]=(k[Hb>>2]|0)+-1;Hb=f+1|0;k[m>>2]=Hb;if(Hb>>>0>339){uha(k[k[l>>2]>>2]|0);k[l>>2]=(k[l>>2]|0)+4;k[m>>2]=(k[m>>2]|0)+-170}if(j)continue;CQ(i)}g:do if((fb|0)==633){f=mb()|0;if(!c)CQ(b);if(t)break;CQ(s)}else if((fb|0)==637){w=Fa+16|0;f=k[w>>2]|0;h=k[A>>2]|0;i=(h|0)==0;if(!i)c3(h);do if(!(k[f+20>>2]|0)){f=k[Ea+16>>2]|0;g=k[z>>2]|0;if(!g){f=(k[f+20>>2]|0)==0;break}else{c3(g);f=(k[f+20>>2]|0)==0;CQ(g);break}}else f=0;while(0);if(!i)CQ(h);h:do if(f){x=0;ra(335,ub|0);Hb=x;x=0;if(Hb&1)fb=632}else{f=k[w>>2]|0;g=k[A>>2]|0;if(!g){if(!(k[f+20>>2]|0))fb=650}else{c3(g);Hb=(k[f+20>>2]|0)==0;CQ(g);if(Hb)fb=650}if((fb|0)==650){x=0;ra(335,ub|0);Hb=x;x=0;if(Hb&1){fb=632;break}i=k[ub+16>>2]|0;l=ub+20|0;q=k[l>>2]|0;s=(q|0)==0;if(!s)c3(q);n=i+8|0;h=k[n>>2]|0;o=i+4|0;g=k[o>>2]|0;Hb=h-g>>2;m=i+16|0;f=k[m>>2]|0;p=i+20|0;j=k[p>>2]|0;do if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(j+f|0)){x=0;ra(336,i|0);Hb=x;x=0;if(!(Hb&1)){j=k[p>>2]|0;f=k[m>>2]|0;h=k[n>>2]|0;g=k[o>>2]|0;break}f=mb()|0;if(!s)CQ(q);g=k[l>>2]|0;if(!g)break g;CQ(g);break g}while(0);f=j+f|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[g>>2]=k[Ea>>2];k[g+4>>2]=k[Ea+4>>2];k[g+8>>2]=k[Ea+8>>2];k[g+12>>2]=k[Ea+12>>2];k[g+16>>2]=k[Ea+16>>2];f=k[z>>2]|0;k[g+20>>2]=f;if(f|0)c3(f);k[p>>2]=(k[p>>2]|0)+1;if(s)break;CQ(q);break}v=Ea+16|0;f=k[v>>2]|0;g=k[z>>2]|0;if(!g){if(!(k[f+20>>2]|0))fb=669}else{c3(g);Hb=(k[f+20>>2]|0)==0;CQ(g);if(Hb)fb=669}if((fb|0)==669){x=0;ra(335,ub|0);Hb=x;x=0;if(Hb&1){fb=632;break}i=k[ub+16>>2]|0;l=ub+20|0;q=k[l>>2]|0;s=(q|0)==0;if(!s)c3(q);n=i+8|0;h=k[n>>2]|0;o=i+4|0;g=k[o>>2]|0;Hb=h-g>>2;m=i+16|0;f=k[m>>2]|0;p=i+20|0;j=k[p>>2]|0;do if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(j+f|0)){x=0;ra(336,i|0);Hb=x;x=0;if(!(Hb&1)){j=k[p>>2]|0;f=k[m>>2]|0;h=k[n>>2]|0;g=k[o>>2]|0;break}f=mb()|0;if(!s)CQ(q);g=k[l>>2]|0;if(!g)break g;CQ(g);break g}while(0);f=j+f|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[g>>2]=k[Fa>>2];k[g+4>>2]=k[Fa+4>>2];k[g+8>>2]=k[Fa+8>>2];k[g+12>>2]=k[Fa+12>>2];k[g+16>>2]=k[w>>2];f=k[A>>2]|0;k[g+20>>2]=f;if(f|0)c3(f);k[p>>2]=(k[p>>2]|0)+1;if(s)break;CQ(q);break}x=0;ra(335,$a|0);Hb=x;x=0;if(Hb&1){fb=632;break}x=0;ra(335,Pa|0);Hb=x;x=0;do if(Hb&1)f=mb()|0;else{t=Pa+16|0;f=k[t>>2]|0;y=Pa+20|0;q=k[y>>2]|0;s=(q|0)==0;do if(s){g=f;h=0;p=1}else{c3(q);h=k[y>>2]|0;g=k[t>>2]|0;if(!h){h=0;p=1;break}c3(h);p=0}while(0);Fa=g;g=(k[Fa+16>>2]|0)+(k[Fa+20>>2]|0)|0;Hb=k[Fa+4>>2]|0;i=Hb+(((g>>>0)/170|0)<<2)|0;if((k[Fa+8>>2]|0)==(Hb|0))g=0;else g=(k[i>>2]|0)+(((g>>>0)%170|0)*24|0)|0;k[Ga>>2]=i;k[Ga+4>>2]=g;g=k[w>>2]|0;n=k[A>>2]|0;o=(n|0)==0;if(!o)c3(n);Hb=k[g+4>>2]|0;i=k[g+16>>2]|0;j=Hb+(((i>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;k[Ha>>2]=j;k[Ha+4>>2]=g;g=k[w>>2]|0;l=k[A>>2]|0;m=(l|0)==0;if(!m)c3(l);i=(k[g+16>>2]|0)+(k[g+20>>2]|0)|0;Hb=k[g+4>>2]|0;j=Hb+(((i>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;k[Ia>>2]=j;k[Ia+4>>2]=g;x=0;k[gb>>2]=k[Ga>>2];k[gb+4>>2]=k[Ga+4>>2];k[lb>>2]=k[Ha>>2];k[lb+4>>2]=k[Ha+4>>2];k[nb>>2]=k[Ia>>2];k[nb+4>>2]=k[Ia+4>>2];Ba(12,Ja|0,f|0,gb|0,lb|0,nb|0,0);Hb=x;x=0;i:do if(Hb&1){f=mb()|0;if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(s)break;CQ(q)}else{if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(!s)CQ(q);f=k[t>>2]|0;q=k[y>>2]|0;s=(q|0)==0;do if(s){g=f;h=0;p=1}else{c3(q);h=k[y>>2]|0;g=k[t>>2]|0;if(!h){h=0;p=1;break}c3(h);p=0}while(0);Ja=g;g=(k[Ja+16>>2]|0)+(k[Ja+20>>2]|0)|0;Hb=k[Ja+4>>2]|0;i=Hb+(((g>>>0)/170|0)<<2)|0;if((k[Ja+8>>2]|0)==(Hb|0))g=0;else g=(k[i>>2]|0)+(((g>>>0)%170|0)*24|0)|0;k[La>>2]=i;k[La+4>>2]=g;g=k[v>>2]|0;n=k[z>>2]|0;o=(n|0)==0;if(!o)c3(n);Hb=k[g+4>>2]|0;i=k[g+16>>2]|0;j=Hb+(((i>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;k[Ma>>2]=j;k[Ma+4>>2]=g;g=k[v>>2]|0;l=k[z>>2]|0;m=(l|0)==0;if(!m)c3(l);i=(k[g+16>>2]|0)+(k[g+20>>2]|0)|0;Hb=k[g+4>>2]|0;j=Hb+(((i>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;k[Na>>2]=j;k[Na+4>>2]=g;x=0;k[gb>>2]=k[La>>2];k[gb+4>>2]=k[La+4>>2];k[lb>>2]=k[Ma>>2];k[lb+4>>2]=k[Ma+4>>2];k[nb>>2]=k[Na>>2];k[nb+4>>2]=k[Na+4>>2];Ba(12,Oa|0,f|0,gb|0,lb|0,nb|0,0);Hb=x;x=0;if(Hb&1){f=mb()|0;if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(s)break;CQ(q);break}if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(!s)CQ(q);c=$a+16|0;f=k[c>>2]|0;u=$a+20|0;p=k[u>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;Hb=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);Hb=x;x=0;if(!(Hb&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}f=mb()|0;if(q)break i;CQ(p);break i}else f=l;while(0);f=i+f|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[g>>2]=k[Pa>>2];k[g+4>>2]=k[Pa+4>>2];k[g+8>>2]=k[Pa+8>>2];k[g+12>>2]=k[Pa+12>>2];k[g+16>>2]=k[t>>2];f=k[y>>2]|0;k[g+20>>2]=f;if(f|0)c3(f);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);x=0;ra(335,_a|0);Hb=x;x=0;if(Hb&1){f=mb()|0;break}t=_a+16|0;f=k[t>>2]|0;b=_a+20|0;q=k[b>>2]|0;s=(q|0)==0;do if(s){g=f;h=0;p=1}else{c3(q);h=k[b>>2]|0;g=k[t>>2]|0;if(!h){h=0;p=1;break}c3(h);p=0}while(0);Pa=g;g=(k[Pa+16>>2]|0)+(k[Pa+20>>2]|0)|0;Hb=k[Pa+4>>2]|0;i=Hb+(((g>>>0)/170|0)<<2)|0;if((k[Pa+8>>2]|0)==(Hb|0))g=0;else g=(k[i>>2]|0)+(((g>>>0)%170|0)*24|0)|0;k[Ta>>2]=i;k[Ta+4>>2]=g;g=k[v>>2]|0;n=k[z>>2]|0;o=(n|0)==0;if(!o)c3(n);Hb=k[g+4>>2]|0;i=k[g+16>>2]|0;j=Hb+(((i>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;k[Va>>2]=j;k[Va+4>>2]=g;g=k[v>>2]|0;l=k[z>>2]|0;m=(l|0)==0;if(!m)c3(l);i=(k[g+16>>2]|0)+(k[g+20>>2]|0)|0;Hb=k[g+4>>2]|0;j=Hb+(((i>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;k[Ra>>2]=j;k[Ra+4>>2]=g;x=0;k[gb>>2]=k[Ta>>2];k[gb+4>>2]=k[Ta+4>>2];k[lb>>2]=k[Va>>2];k[lb+4>>2]=k[Va+4>>2];k[nb>>2]=k[Ra>>2];k[nb+4>>2]=k[Ra+4>>2];Ba(12,Sa|0,f|0,gb|0,lb|0,nb|0,0);Hb=x;x=0;j:do if(Hb&1){f=mb()|0;if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(s)break;CQ(q)}else{if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(!s)CQ(q);f=k[t>>2]|0;q=k[b>>2]|0;s=(q|0)==0;do if(s){g=f;h=0;p=1}else{c3(q);h=k[b>>2]|0;g=k[t>>2]|0;if(!h){h=0;p=1;break}c3(h);p=0}while(0);Va=g;g=(k[Va+16>>2]|0)+(k[Va+20>>2]|0)|0;Hb=k[Va+4>>2]|0;i=Hb+(((g>>>0)/170|0)<<2)|0;if((k[Va+8>>2]|0)==(Hb|0))g=0;else g=(k[i>>2]|0)+(((g>>>0)%170|0)*24|0)|0;k[Wa>>2]=i;k[Wa+4>>2]=g;g=k[w>>2]|0;n=k[A>>2]|0;o=(n|0)==0;if(!o)c3(n);Hb=k[g+4>>2]|0;i=k[g+16>>2]|0;j=Hb+(((i>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;k[Xa>>2]=j;k[Xa+4>>2]=g;g=k[w>>2]|0;l=k[A>>2]|0;m=(l|0)==0;if(!m)c3(l);i=(k[g+16>>2]|0)+(k[g+20>>2]|0)|0;Hb=k[g+4>>2]|0;j=Hb+(((i>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;k[Ya>>2]=j;k[Ya+4>>2]=g;x=0;k[gb>>2]=k[Wa>>2];k[gb+4>>2]=k[Wa+4>>2];k[lb>>2]=k[Xa>>2];k[lb+4>>2]=k[Xa+4>>2];k[nb>>2]=k[Ya>>2];k[nb+4>>2]=k[Ya+4>>2];Ba(12,Za|0,f|0,gb|0,lb|0,nb|0,0);Hb=x;x=0;if(Hb&1){f=mb()|0;if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(s)break;CQ(q);break}if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(!s)CQ(q);f=k[c>>2]|0;p=k[u>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;Hb=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);Hb=x;x=0;if(!(Hb&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;break}f=mb()|0;if(q)break j;CQ(p);break j}else f=l;while(0);f=i+f|0;if((h|0)==(g|0))g=0;else g=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[g>>2]=k[_a>>2];k[g+4>>2]=k[_a+4>>2];k[g+8>>2]=k[_a+8>>2];k[g+12>>2]=k[_a+12>>2];k[g+16>>2]=k[t>>2];f=k[b>>2]|0;k[g+20>>2]=f;if(f|0)c3(f);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);k[ub>>2]=k[$a>>2];k[ub+4>>2]=k[$a+4>>2];k[ub+8>>2]=k[$a+8>>2];k[ub+12>>2]=k[$a+12>>2];k[ub+16>>2]=k[c>>2];k[ub+20>>2]=k[u>>2];k[c>>2]=0;k[u>>2]=0;f=k[b>>2]|0;if(f|0)CQ(f);f=k[y>>2]|0;if(f|0)CQ(f);f=k[u>>2]|0;if(f|0)CQ(f);break h}while(0);g=k[b>>2]|0;if(!g)break;CQ(g)}while(0);g=k[y>>2]|0;if(!g)break;CQ(g)}while(0);g=k[$a+20>>2]|0;if(!g)break g;CQ(g);break g}while(0);if((fb|0)==632){f=mb()|0;break}f=k[z>>2]|0;if(f|0)CQ(f);f=k[A>>2]|0;if(f|0)CQ(f);f=k[ab>>2]|0;p=k[qb>>2]|0;q=(p|0)==0;if(!q)c3(p);m=f+8|0;h=k[m>>2]|0;n=f+4|0;g=k[n>>2]|0;Hb=h-g>>2;j=f+16|0;l=k[j>>2]|0;o=f+20|0;i=k[o>>2]|0;do if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(i+l|0)){x=0;ra(336,f|0);Hb=x;x=0;if(!(Hb&1)){i=k[o>>2]|0;f=k[j>>2]|0;h=k[m>>2]|0;g=k[n>>2]|0;fb=867;break}f=mb()|0;if(q)break;CQ(p)}else{f=l;fb=867}while(0);do if((fb|0)==867){f=i+f|0;if((h|0)==(g|0))f=0;else f=(k[g+(((f>>>0)/170|0)<<2)>>2]|0)+(((f>>>0)%170|0)*24|0)|0;k[f>>2]=k[ub>>2];k[f+4>>2]=k[ub+4>>2];k[f+8>>2]=k[ub+8>>2];k[f+12>>2]=k[ub+12>>2];k[f+16>>2]=k[ub+16>>2];y=ub+20|0;g=k[y>>2]|0;k[f+20>>2]=g;if(g|0)c3(g);k[o>>2]=(k[o>>2]|0)+1;if(!q)CQ(p);f=k[ab>>2]|0;q=k[qb>>2]|0;s=(q|0)==0;do if(s){g=f;h=0;p=1}else{c3(q);h=k[qb>>2]|0;g=k[ab>>2]|0;if(!h){h=0;p=1;break}c3(h);p=0}while(0);$a=g;g=(k[$a+16>>2]|0)+(k[$a+20>>2]|0)|0;Hb=k[$a+4>>2]|0;i=Hb+(((g>>>0)/170|0)<<2)|0;if((k[$a+8>>2]|0)==(Hb|0))g=0;else g=(k[i>>2]|0)+(((g>>>0)%170|0)*24|0)|0;k[hb>>2]=i;k[hb+4>>2]=g;g=k[eb>>2]|0;n=k[e>>2]|0;o=(n|0)==0;if(!o)c3(n);Hb=k[g+4>>2]|0;i=k[g+16>>2]|0;j=Hb+(((i>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;k[ib>>2]=j;k[ib+4>>2]=g;g=k[eb>>2]|0;l=k[e>>2]|0;m=(l|0)==0;if(!m)c3(l);i=(k[g+16>>2]|0)+(k[g+20>>2]|0)|0;Hb=k[g+4>>2]|0;j=Hb+(((i>>>0)/170|0)<<2)|0;if((k[g+8>>2]|0)==(Hb|0))g=0;else g=(k[j>>2]|0)+(((i>>>0)%170|0)*24|0)|0;k[jb>>2]=j;k[jb+4>>2]=g;x=0;k[gb>>2]=k[hb>>2];k[gb+4>>2]=k[hb+4>>2];k[lb>>2]=k[ib>>2];k[lb+4>>2]=k[ib+4>>2];k[nb>>2]=k[jb>>2];k[nb+4>>2]=k[jb+4>>2];Ba(12,kb|0,f|0,gb|0,lb|0,nb|0,0);Hb=x;x=0;if(Hb&1){f=mb()|0;if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(s)break;CQ(q);break}if(!m)CQ(l);if(!o)CQ(n);if(!p)CQ(h);if(!s)CQ(q);x=0;ra(335,ob|0);Hb=x;x=0;if(Hb&1){f=mb()|0;break}f=k[ab>>2]|0;h=k[qb>>2]|0;i=(h|0)==0;if(!i)c3(h);Hb=k[f+4>>2]|0;g=k[f+16>>2]|0;m=Hb+(((g>>>0)/170|0)<<2)|0;if((k[f+8>>2]|0)==(Hb|0))f=0;else f=(k[m>>2]|0)+(((g>>>0)%170|0)*24|0)|0;if(!i)CQ(h);g=k[ab>>2]|0;j=k[qb>>2]|0;l=(j|0)==0;if(!l)c3(j);h=(k[g+16>>2]|0)+(k[g+20>>2]|0)|0;i=k[g+4>>2]|0;if((k[g+8>>2]|0)==(i|0))v=0;else v=(k[i+(((h>>>0)/170|0)<<2)>>2]|0)+(((h>>>0)%170|0)*24|0)|0;if(!l)CQ(j);u=ob+16|0;w=ob+20|0;k:while(1){do{if((f|0)==(v|0)){fb=912;break k}b=f+16|0;g=k[b>>2]|0;c=f+20|0;i=k[c>>2]|0;j=(i|0)==0;if(!j)c3(i);do if(!g)g=0;else{g=k[b>>2]|0;h=k[c>>2]|0;if(!h){g=(k[g+20>>2]|0)!=0;break}else{c3(h);g=(k[g+20>>2]|0)!=0;CQ(h);break}}while(0);if(!j)CQ(i);do if(g){g=k[u>>2]|0;s=k[w>>2]|0;t=(s|0)==0;if(!t)c3(s);o=g+8|0;i=k[o>>2]|0;p=g+4|0;h=k[p>>2]|0;Hb=i-h>>2;l=g+16|0;n=k[l>>2]|0;q=g+20|0;j=k[q>>2]|0;if((((Hb|0)==0?0:(Hb*170|0)+-1|0)|0)==(j+n|0)){x=0;ra(336,g|0);Hb=x;x=0;if(Hb&1){fb=949;break k}j=k[q>>2]|0;g=k[l>>2]|0;i=k[o>>2]|0;h=k[p>>2]|0}else g=n;g=j+g|0;if((i|0)==(h|0))h=0;else h=(k[h+(((g>>>0)/170|0)<<2)>>2]|0)+(((g>>>0)%170|0)*24|0)|0;k[h>>2]=k[f>>2];k[h+4>>2]=k[f+4>>2];k[h+8>>2]=k[f+8>>2];k[h+12>>2]=k[f+12>>2];k[h+16>>2]=k[b>>2];g=k[c>>2]|0;k[h+20>>2]=g;if(g|0)c3(g);k[q>>2]=(k[q>>2]|0)+1;if(t)break;CQ(s)}while(0);f=f+24|0}while((f-(k[m>>2]|0)|0)!=4080);f=m+4|0;m=f;f=k[f>>2]|0}do if((fb|0)==912){k[pb>>2]=k[ob>>2];k[pb+4>>2]=k[ob+4>>2];k[pb+8>>2]=k[ob+8>>2];k[pb+12>>2]=k[ob+12>>2];f=k[ob+16>>2]|0;g=k[w>>2]|0;if(g|0)c3(g);k[ab>>2]=f;f=k[qb>>2]|0;k[qb>>2]=g;if(f|0)CQ(f);x=0;Qa(118,sb|0,pb|0,d|0);Hb=x;x=0;if(Hb&1){f=mb()|0;break}o=sb+16|0;f=k[o>>2]|0;p=sb+20|0;h=k[p>>2]|0;i=(h|0)==0;if(!i)c3(h);Hb=k[f+4>>2]|0;g=k[f+16>>2]|0;n=Hb+(((g>>>0)/170|0)<<2)|0;if((k[f+8>>2]|0)==(Hb|0))f=0;else f=(k[n>>2]|0)+(((g>>>0)%170|0)*24|0)|0;if(!i)CQ(h);g=k[o>>2]|0;j=k[p>>2]|0;l=(j|0)==0;if(!l)c3(j);h=(k[g+16>>2]|0)+(k[g+20>>2]|0)|0;i=k[g+4>>2]|0;if((k[g+8>>2]|0)==(i|0))m=0;else m=(k[i+(((h>>>0)/170|0)<<2)>>2]|0)+(((h>>>0)%170|0)*24|0)|0;if(!l)CQ(j);i=rb+16|0;j=rb+20|0;h=n;l:while(1){do{if((f|0)==(m|0))break l;x=0;Ua(26,rb|0,f|0,d|0,-1);Hb=x;x=0;if(Hb&1){fb=983;break l}k[f>>2]=k[rb>>2];k[f+4>>2]=k[rb+4>>2];k[f+8>>2]=k[rb+8>>2];k[f+12>>2]=k[rb+12>>2];Hb=k[i>>2]|0;pb=k[j>>2]|0;k[i>>2]=0;k[j>>2]=0;k[f+16>>2]=Hb;Hb=f+20|0;g=k[Hb>>2]|0;k[Hb>>2]=pb;if(g|0)CQ(g);g=k[j>>2]|0;if(g|0)CQ(g);f=f+24|0}while((f-(k[h>>2]|0)|0)!=4080);f=h+4|0;h=f;f=k[f>>2]|0}if((fb|0)==983){f=mb()|0;g=k[p>>2]|0;if(!g)break;CQ(g);break}k[a>>2]=k[sb>>2];k[a+4>>2]=k[sb+4>>2];k[a+8>>2]=k[sb+8>>2];k[a+12>>2]=k[sb+12>>2];k[a+16>>2]=k[o>>2];k[a+20>>2]=k[p>>2];f=k[w>>2]|0;if(f|0)CQ(f);f=k[y>>2]|0;if(f|0)CQ(f);f=k[qb>>2]|0;if(f|0)CQ(f);f=k[tb>>2]|0;if(f|0)CQ(f);f=k[bb>>2]|0;if(f|0)CQ(f);st(Ab);st(Bb);st(Cb);f=k[cb>>2]|0;if(f|0)CQ(f);f=k[db>>2]|0;if(f|0)CQ(f);fb=1008;break c}else if((fb|0)==949){f=mb()|0;if(t)break;CQ(s)}while(0);g=k[w>>2]|0;if(!g)break;CQ(g)}while(0);g=k[ub+20>>2]|0;if(!g)break e;CQ(g);break e}while(0);g=k[z>>2]|0;if(!g)break;CQ(g)}while(0);g=k[A>>2]|0;if(g|0)CQ(g);break}}do if((fb|0)==233)fb=458;else if((fb|0)==448){g=k[W>>2]|0;if(!g){fb=450;break}CQ(g);fb=450}else if((fb|0)==558){g=k[V>>2]|0;if(!g){fb=560;break}CQ(g);fb=560}while(0);do if((fb|0)==450){g=k[Y>>2]|0;if(!g){fb=452;break}CQ(g);fb=452}else if((fb|0)==560){g=k[X>>2]|0;if(!g)break e;CQ(g);break e}while(0);do if((fb|0)==452){g=k[Z>>2]|0;if(!g){fb=458;break}CQ(g);fb=458}while(0);do if((fb|0)==458){g=k[_>>2]|0;if(!g){fb=460;break}CQ(g);fb=460}while(0);if((fb|0)==460){g=k[$>>2]|0;if(g|0)CQ(g)}}while(0);g=k[qb>>2]|0;if(!g)break;CQ(g)}while(0);g=k[tb>>2]|0;if(!g)break;CQ(g)}while(0);g=k[wb+20>>2]|0;if(!g)break;CQ(g)}while(0);if((fb|0)==523)f=mb()|0;st(Ab)}st(Bb)}st(Cb);g=k[xb+20>>2]|0;if(!g)break;CQ(g)}while(0);g=k[zb+20>>2]|0;if(!g)break;CQ(g);break}else if((fb|0)==126){f=mb()|0;if(!t)CQ(s);g=k[c>>2]|0;if(!g)break;CQ(g);break}}while(0);if((fb|0)==88){f=mb()|0;e=w+20|0;fb=89}else if((fb|0)==1008){e=k[e>>2]|0;if(e|0)CQ(e);e=k[Db+20>>2]|0;if(e|0)CQ(e);fb=1017;break b}e=k[e>>2]|0;if(!e)break;CQ(e)}while(0);e=k[Db+20>>2]|0;if(!e)break;CQ(e)}while(0);if((fb|0)==80)f=mb()|0;else if((fb|0)==1017){e=k[Eb+20>>2]|0;if(e|0)CQ(e);e=k[Fb+20>>2]|0;if(e|0)CQ(e);e=k[Gb+20>>2]|0;if(e|0)CQ(e);r=vb;return}e=k[Eb+20>>2]|0;if(!e)break a;CQ(e);break a}while(0);f=mb()|0;e=k[l+20>>2]|0;if(e)CQ(e)}}}if((fb|0)==51)f=mb()|0;e=k[lb+20>>2]|0;if(e)CQ(e)}e=k[nb+20>>2]|0;if(e|0)CQ(e);fb=79}}while(0);if((fb|0)==78){f=mb()|0;fb=79}e=k[Fb+20>>2]|0;if(e)CQ(e)}}if((fb|0)==77)f=mb()|0;e=k[Gb+20>>2]|0;if(!e){Hb=f;yb(Hb|0)}CQ(e);Hb=f;yb(Hb|0)} - -// EMSCRIPTEN_END_FUNCS -var mc=[$1,_x,ny,Xh,Zi,Qh,Si,Id,id,Vg,Hg,$1,$1,$1,$1,$1];var nc=[t4,oh,mh,t4];var oc=[Sha,Tga,Qv,lha,Aha,w3,S2,VN];var pc=[V9,Zy,is,lk,wD,fo,uE,ck,Tf,Xc,Ul,V9,V9,V9,V9,V9];var qc=[Nha,My,ry,Hz,vz,Rga,_fa,tfa,hK,MI,lJ,fI,dE,zD,FD,aD,hE,BD,Jea,$J,GI,cJ,$H,L1,V$,ega,UJ,BI,II,NI,RO,XI,QH,C0,qY,yL,dy,AO,CZ,Hea,Iea,Dga,Vea,Dfa,fE,uD,GD,YC,lM,jL,SK,_K,WK,Qea,Sz,yz,Fz,hz,LK,AK,fK,pO,EN,cG,KF,kF,SE,wE,gE,NK,uK,r6,E3,v4,M1,UZ,KO,Q6,c4,D_,cP,D1,e$,Fe,qca,u1,z_,EG,sG,OE,IE,O6,a4,B_,aP,DG,rG,NE,HE,Hba,Iba,Z0,DZ,fy,Sx,ZG,JG,zA,hA,gK,KI,hJ,cI,iga,z1,V_,cfa,jfa,hfa,Zfa,vga,WJ,DI,YI,UH,VJ,RJ,HD,xD,QJ,gJ,OI,LI,xN,KJ,tH,hH,TJ,yN,dJ,JI,NJ,zha,Ega,E1,g$,kea,Tda,Uda,ifa,eI,OH,ht,yca,vfa,dga,n1,l_,$K,ZJ,EI,ZI,WH,_ga,hga,oK,YJ,oI,TH,$v,W1,rha,Bea,Uea,ofa,Ez,rz,wz,pca,Vca,gfa,bga,Yz,Gz,dB,U1,bG,FF,gF,PE,A1,W_,lea,Pea,o1,m_,wga,xga,Lga,R1,i0,mF,BE,uga,gga,Pfa,cga,v1,E_,aga,sea,Hfa,Cga,Vfa,Wfa,Gea,D2,e4,R3,C2,d4,Q3,Eca,taa,Hga,tda,Fda,oG,Vba,H1,G1,P6,b4,C_,bP,N6,$3,A_,$O,aca,o9,hea,cha,yfa,V1,bha,xfa,Kaa,D7,Jaa,C7,Iaa,B7,Haa,A7,saa,o7,raa,n7,L2,J1,K2,I1,rga,Aea,qga,zea,pga,yea,oga,xea,iaa,b7,haa,a7,gaa,$6,faa,_6,Zga,qfa,Yga,pfa,Uga,Gda,uda,UE,T4,ID,jaa,n_,Wba,$0,Gaa,_0,Faa,nfa,Mfa,Eda,rda,sda,Jfa,Jda,afa,$ea,hda,sha,fga,w4,Xba,f4,jba,Pba,Oba,Waa,vha,nga,jha,Tfa,Pca,oda,_ca,fH,P1,sJ,_N,yK,wJ,CN,Zz,x1,dH,Vx,ox,hv,LC,Ig,cj,JN,rq,aK,yD,Tu,AI,vba,EF,dx,AU,By,Eg,eca,fca,iE,a2,SI,Zw,Sp,Qp,Xw,Rp,Pp,O1,gha,Vga,tI,cf,TL,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha,Nha];var rc=[iha,MG,LG,NG,z0,s1,n8,RG,QG,K1,v0,y$,X0,KN,oD,b5,j3,z8,f1,F1,M2,N1,u6,zZ,D0,vI,N$,ji,FV,m9,K0,y1,o0,k1,P_,X$,HS,g_,v$,UT,Q_,wZ,xZ,W0,C1,i_,P4,Y0,Wm,i7,yZ,fV,BP,O_,YY,j_,OZ,QZ,sH,R_,Y$,VG,x7,R5,Y6,LX,q7,e0,D$,S_,I0,z$,_8,V0,BL,rK,J0,_$,K_,c$,b$,u0,G5,k$,l0,Q1,KX,vW,wW,T_,ZY,A$,x0,C$,k_,w$,B$,jl,pS,$8,Eaa,Ve,_u,Saa,eba,EQ,XR,y9,rO,v9,M9,T9,dba,L9,Qaa,oba,pba,Uaa,Tba,Gba,Aba,nba,bba,Taa,oaa,S9,R9,zba,Fba,v8,H8,w9,G7,l9,E9,Caa,Raa,cba,qba,Vaa,s9,t9,V8,g8,s8,t8,E7,c7,K9,d7,x9,yba,Y8,naa,Q9,Daa,paa,W8,F7,r9,h8,i8,X8,G8,u8,I8,u9,rt,maa,Sv,FJ,aI,py,by,Ex,iy,Nu,zI,sn,zu,sm,_v,Ey,Iy,Jy,kL,et,wn,Ni,hy,Hy,BA,Cy,sp,ut,tf,kn,$e,Yt,qA,eJ,NC,SC,ZC,$C,ke,sd,uB,tq,Ct,KC,S7,mj,tp,gr,zO,tn,lp,Pu,dD,gD,Su,it,cq,Po,TP,Ty,hD,ez,en,Qr,jq,eA,yh,xi,aba,xaa,yaa,Paa,T8,B9,k9,aaa,h9,D9,J9,Oaa,C9,vaa,Zaa,_aa,Aaa,Eba,xba,mba,Yaa,Maa,zaa,$9,I9,H9,lba,wba,f8,q8,i9,t7,U8,q9,kaa,waa,Naa,$aa,Baa,e9,f9,C8,c8,d8,r7,U6,A9,V6,j9,kba,F8,_9,G9,laa,baa,D8,s7,d9,T7,U7,E8,p8,e8,r8,g9,of,kk,jn,cg,tt,yE,Sm,Hp,ju,nn,Qk,$$,MX,PZ,J$,T0,U0,t1,l1,e1,S0,H0,M$,n0,L$,w0,w7,KD,kr,J7,Y7,xP,qQ,$5,FN,Y5,y6,J6,X7,x6,H7,k8,l8,L7,Z8,K8,y8,j8,V7,K7,f7,I6,H6,x8,J8,f5,s5,Z5,E4,L5,k6,u7,I7,W7,m8,M7,V5,W5,w5,U4,c5,d5,C4,n4,w6,o4,_5,w8,z5,e7,G6,v7,g7,x5,D4,U5,V4,W4,y5,r5,e5,t5,X5,cE,_H,bE,ZH,p7,FP,VO,JO,eW,wT,xT,EP,UO,IO,dW,uT,vT,DP,TO,HO,cW,sT,tT,CP,SO,GO,bW,qT,rT,Nda,Mda,p_,VZ,EZ,o_,$Q,DQ,_G,hx,Ox,m0,Dt,wq,sq,On,Yv,op,Pz,BK,Hv,Qt,xK,Gv,Dk,kw,vp,Zj,nw,Z2,IG,_t,uq,uw,Rf,zH,oB,Yd,B2,bg,Kw,yi,VE,Rw,kI,Xo,ml,ol,Lv,Fw,Mv,Gw,WM,Zv,Aw,wu,Cw,Sl,xw,Dv,jw,rw,Ip,nz,Y2,kH,gw,jv,yp,Gp,tA,Kv,Ew,Jv,so,Uu,Ol,Nn,ix,Jw,fr,Hw,u$,fw,Mw,Lw,ww,zw,tv,Hn,Pm,qm,Wl,Wo,Dn,uv,Ji,zk,ev,vj,Rm,Sf,ov,rm,bK,gk,eu,Zx,Pf,Vh,qw,pw,ow,Ow,Yo,$n,jI,eq,jp,Bw,Tv,Ut,Gk,Ro,yw,jE,xA,wA,jd,jx,EE,vh,DC,qJ,nH,yH,Kz,Xt,NA,jQ,iQ,ZQ,YQ,eO,pI,dO,$N,aO,QP,PP,PM,OM,NM,MM,yO,xO,wO,vO,FM,EM,DM,CM,KM,JM,IM,HM,SP,RP,TF,JD,MN,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha,iha];var sc=[N3,_k,_A,ZA,VA,PA,WA,UA,KA,MA,LA,ug,Yk,YA,XA,SA,OA,TA,RA,HA,JA,IA,fg,Ms,Fs,Es,Ds,EA,Tx,Ix,Hx,Lx,DA,Jx,Gx,Fx,Kx,Ci,Di,iq,dg,Ze,Ui,po,mo,oo,ej,Rl,Ej,Cn,qo,Jo,Lm,Em,Dm,Bg,Am,_h,dp,Jh,Df,Ql,Pl,Sd,Hd,Dd,ef,nh,nl,ik,Wd,Af,xe,qh,rh,Aj,fm,om,nm,pm,Mj,Nj,Qd,Te,Ed,Me,Hh,he,ie,df,Wi,ql,Xm,bl,wm,gm,gn,Ch,xq,hn,Np,kf,ai,$h,bi,ci,mk,_d,Dp,Vj,pf,zh,ee,rd,Ri,Qi,_o,Cm,vi,Av,xd,we,fn,xk,gp,Uf,Qf,pq];var tc=[Bha,dj,Sga,sfa,kga,Y9,p9,b9,Wga,$fa,lF,Fga,Pga,GK,ufa,fA,jga,wo,s6,Ov,Uba,MC,Vo,F6,cC,HK,SJ,PJ,vA,Mga,UC,Zn,sN,Zca,rca,fD,AJ,mJ,zC,bv,zK,eha,oha,sga,Xga,pH,MD,bea,Fl,Kea,mea,Cea,Ifa,IC,oy,KE,BC,$x,xF,Qy,TC,cQ,ly,jy,PC,dN,gN,Tz,oH,qH,Vy,LE,kC,Dy,GC,DN,uN,fN,Oda,Lca,mca,pD,vJ,vq,Cf,Qz,Ofa,Gfa,Bf,eg,Oo,uba,QC,Kga,mB,Qga,ex,dfa,Qfa,kfa,Xfa,AC,kda,lda,_da,$da,Iu,xo,zca,Ufa,Lea,bfa,RC,Al,ok,_ea,rfa,Nfa,gt,xG,nG,Fca,_M,R7,Q8,cz,hca,Kca,lca,Q7,P8,bz,gca,uJ,Ida,Vda,iea,Oea,S6,Hm,Fi,lz,gH,YG,$G,aH,R6,Gm,Ei,pz,sE,rE,qE,tE,Ada,zda,Zda,yda,xda,Yda,xca,wca,Xda,vca,uca,Wda,wda,Nca,eda,vu,Sca,CD,cca,bca,Yba,Qba,Hda,Tca,jda,vda,Mca,dda,Jga,Sda,Oga,Bga,GG,Fn,Hca,TN,b3,X2,HI,tg,Fk,SH,Lda,qda,fea,ida,ct,WO,PN,IN,wy,lI,Z9,gv,Rda,wfa,vea,dea,bB,Nh,CA,SF,m1,wI,c9,b2,X9,nA,He,gea,W9,rea,vN,Xaa,xL,Jca,LD,bO,cv,Xy,Ef,hk,Eh,kG,eG,gG,jG,fG,iG,Ke,gg,me,De,qe,ki,jg,_n,iH,fB,hB,ff,Cp,sh,ad,EH,uo,GJ,LJ,QI,HJ,l4,AN,bt,BM,kca,Dca,Lba,p0,I2,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha,Bha];var uc=[Fha,$D,QM,Fha];var vc=[y7,AD,TD,qn,Dq,Cq,lr,xn,Bq,Aq,er,TT,zM,av,Mu,yJ,wH,uU,ZN,ST,wM,ce,ld,Vk,Wk,Sk,Xk,Tk,hf,QA,ot,Eq];var wc=[Cda,xf,dd,Ly,aw,pe,Dg,ii,ak,px,xg,xv,yv,wv,Nv,_3,_C,kD,qu,rp,jF,Vu,qG,zJ,HF,Z3,nD,iD,GF,AG,oO,MJ,JJ,dK,cK,AH,BH,S3,KL,BG,CG,G3,gz,Z$,Eu,Ee,xz,bf,Du,vm,fM,Wz,kl,pA,ky,Ou,Oh,oA,Oq,us,gl,lA,Oi,$q,Bt,lq,fq,Vn,_r,yd,Xs,Us,$s,Ps,Rs,Qs,_s,Ys,_q,Yp,Zo,ar,tm,Zq,Wq,ps,yt,Wr,Yr,hs,os,Ls,ks,Ws,Gs,Zs,cs,Co,_p,mq,Eo,Vr,ep,my,eaa,DH,JC,Iw,lw,qz,lv,m7,Cda,Cda,Cda,Cda,Cda,Cda,Cda,Cda,Cda,Cda,Cda,Cda,Cda,Cda,Cda,Cda];var xc=[lga,RI];var yc=[OJ,Zh,Wh,OJ];var zc=[H5,lm];var Ac=[u5,jm,Wt,$I,_I,pp,Cj,RH,JE,Tt,ne,Fp,Cd,Jd,nf,u5];var Bc=[Gga,Cfa,zfa,Afa,Bfa,Gca,Gga,Gga];var Cc=[xha,PH];var Dc=[Rea,Uy];var Ec=[caa,Mi];var Fc=[zga,Jl];var Gc=[R2,Yc,Zc,ni,Bn,Vi,Gg,Li,Ag,R2,R2,R2,R2,R2,R2,R2];var Hc=[hN,gd,fd,hN];var Ic=[sP,Wf,ag,vf,Hf,sP,sP,sP];var Jc=[Yfa,EX,ZW,TV,DX,cY,kZ,$k,Ff,r1,f$,I_,s$,F$,f0,uX,SW,QV,tX,ZX,hZ,OU,nU,jT,NU,wV,FW,UY,oY,dX,TY,qZ,c_,Ev,jJ,uZ,WY,JX,tZ,KZ,u_,Lk,oR,MQ,bQ,nR,AR,uS,zG,MV,aV,XT,LV,jW,pX,aea,tJ,lY,HX,uW,kY,OY,IZ,TE,YW,qW,dV,XW,BX,EY,_L,_S,BS,RR,ZS,HT,HU,dw,cS,HR,NQ,bS,vS,yT,vl,aT,CS,SR,$S,IT,IU,yl,iR,JQ,_P,hR,xR,rS,IH,kR,KQ,$P,jR,yR,sS,pK,SY,nY,cX,RY,pZ,b_,T6,eS,IR,OQ,dS,wS,zT,$Y,rY,eX,_Y,AZ,h_,v6,bJ,mR,LQ,aQ,lR,zR,tS,YS,AS,QR,XS,GT,GU,GQ,rQ,LP,FQ,fR,YR,gS,JR,PQ,fS,xS,AT,CR,pR,tQ,BR,_R,IS,mi,GR,rR,vQ,FR,aS,KS,cT,DS,TR,bT,JT,JU,PG,lC,wl,aJ,XP,JP,gP,WP,oQ,dR,uz,on,nW,OV,zU,mW,OW,XX,dl,aj,YU,sU,oT,XU,BV,KW,fT,ES,UR,eT,MT,KU,nk,eY,FX,sW,dY,GY,GZ,QU,oU,kT,PU,xV,GW,O5,Qo,Ye,c6,o6,io,bm,Cl,te,Ft,Z4,j5,n6,Y4,a6,A6,B6,e6,h7,X6,L6,z6,l6,d6,B5,i5,h5,K6,W6,W3,h4,J4,z3,x4,R4,M5,b6,m6,C6,f6,G4,H4,p4,I3,T3,U3,x3,k3,X4,l3,K4,jea,s4,A5,g5,N5,C5,q4,y3,F4,J3,K3,r4,g4,V3,i4,I4,nJ,QY,mY,bX,PY,oZ,a_,gY,GX,tW,fY,HY,HZ,iW,KV,wU,hW,LW,TX,MS,zS,LR,LS,CT,BU,PT,iT,oS,OT,kU,vV,LT,dT,nS,KT,jU,uV,rX,PW,PV,qX,YX,gZ,UI,mU,QT,GS,lU,MU,$V,P5,uA,g6,h6,q6,y4,_4,M4,F5,L4,a5,kg,p6,$4,Jf,zj,sf,cea,Kn,Nd,Ld,sl,eV,i6,E5,m5,l5,fi,Ym,cd,eh,$c,Jm,z4,S4,Md,pd,Bda,D6,nda,ye,No,al,L3,Vv,Qx,Nw,Px,Tl,_j,bw,Pda,lt,D5,k5,Ok,ve,Rh,Dba,sca,$ba,RE,nca,jca,X3,IK,Gi,RW,oW,bV,QW,sX,CY,Ln,U$,G$,h$,T$,g0,y0,VP,IP,fP,UP,nQ,cR,t6,uP,dP,LO,tP,GP,lQ,T5,wP,eP,MO,vP,HP,mQ,hT,FS,VR,gT,NT,LU,IQ,sQ,MP,HQ,gR,ZR,N_,Bi,Oe,Mg,j$,Uv,Ph,ip,Wj,wY,Ht,Mf,ro,_i,h0,A0,B0,Yw,Zm,zd,Kd,Zl,cx,Hj,mt,rf,Gd,I$,W$,XV,yW,xY,$T,NX,aZ,L_,$_,i$,x$,a$,tY,uY,fX,gV,UV,VV,ZT,NS,BZ,OS,yY,H$,iX,w_,RZ,M_,x_,gX,_T,sY,hV,iV,hX,xW,WV,zW,vY,SU,pU,lT,RU,yV,HW,AX,WW,SV,zX,$X,jZ,WU,rU,nT,VU,AV,JW,iS,KR,QQ,hS,yS,BT,UU,qU,mT,TU,zV,IW,oJ,NB,wj,FT,tV,eU,fU,FU,AQ,NR,XQ,VS,UQ,PR,mS,EU,OR,cU,qV,rV,hU,jX,EW,_V,pV,CU,gU,US,lS,kS,ZV,DW,AP,OP,VQ,QO,BQ,wR,DT,dU,DU,sV,iU,SQ,TQ,dQ,oP,yP,zP,OO,EO,MR,FO,WQ,YV,gQ,TS,jS,ET,WS,eQ,PO,RQ,pP,qP,fQ,NP,Jk,Ud,Rk,R8,lW,NV,xU,kW,MW,UX,lo,ZP,KP,hP,YP,pQ,eR,ER,qR,uQ,DR,$R,JS,yI,DV,ZU,RT,CV,aW,kX,LY,iY,$W,KY,mZ,_Z,NY,jY,aX,MY,nZ,$Z,f_,NZ,XY,e_,v_,__,MZ,vZ,pY,LZ,d_,J_,sZ,VY,IX,rZ,JZ,t_,JY,hY,_W,IY,lZ,ZZ,bY,CX,rW,aY,FY,FZ,JV,$U,WT,IV,gW,oX,VW,pW,cV,UW,yX,DY,HV,_U,VT,GV,fW,nX,wX,TW,RV,vX,_X,iZ,$2,u3,f3,g3,o3,s2,F2,z2,W2,w2,H2,Q2,n3,G2,d3,s3,t3,i3,M3,C3,A3,r3,m3,h3,V2,P2,O2,Xz,gA,i2,k2,x2,Z1,pB,tB,_2,e3,UB,qS,m4,u2,qB,dv,c2,f2,g2,X1,S1,E2,T1,y2,_ba,o2,U2,N2,YT,cA,m2,Y1,t2,d2,e2,n2,j2,h2,l2,v2,bU,RX,lV,mV,CW,NO,xQ,nP,RS,kP,zQ,vR,BW,yQ,jV,PX,QX,oV,y_,SZ,bZ,OX,AW,nV,QS,uR,tR,im,mda,xs,tO,lP,YN,Zba,ica,aU,kV,Uca,Yca,Oca,jP,dca,Sba,fO,jO,kO,WN,QN,wQ,RN,mP,gda,DO,PS,sR,xC,SS,BO,XN,iP,gO,hO,CO,sO,lO,uO,Ns,Lu,O8,B8,St,Ku,N8,A8,Rt,eN,$M,fda,NN,ON,Rba,Iv,hj,lH,ln,lD,N4,ue,ou,Hl,vv,Il,mv,uG,aR,rN,sy,Vd,Laa,Bj,BN,Ml,Ue,qN,If,zp,Uz,hw,jA,EJ,mC,CI,Gl,yg,Go,Kq,Ru,S5,lf,Wu,Pj,vg,eE,bR,gx,Nx,Uj,Qn,GH,sg,ed,em,rg,bA,TG,Py,jz,wea,Rca,pN,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa,Yfa];var Kc=[q2,wh];var Lc=[pda,zn,tC,vC,uC,pda,pda,pda];var Mc=[Rfa,ae];var Nc=[Pha,ZO,rP,xH,Iha,Jha,Oha,j6,nO,bI,XK,Pha,Pha,Pha,Pha,Pha];var Oc=[fba,ML,MF,vH,rH,ZL,ek,OF,qf,vt,pt,Pw,Bl,fx,fz,qy,Gy,Fy,Oy,ME,xy,Xi,Cba,Vt,fba,fba,fba,fba,fba,fba,fba,fba];var Pc=[efa,si,dM,TM,aM,EL,sM,vM,eL,PL,kM,XL,sL,lL,tL,bL,cL,rM,mL,tM,dL,rL,YK,nL,gL,iL,uL,UK,SL,JL,vL,iM,FL,qM,jM,QL,qL,AL,zL,$L,CL,VL,XM,TK,PK,QK,wL,ZK,GL,cM,IL,oL,HL,RL,VK,hL,LL,oM,pM,AM,yM,uM,nM,hM,OL,WL,NL,bM,k0,CK,iJ,FK,nK,Ce,lE,Yu,pu,z7,Cg,zg,Pg,og,Ii,bh,qq,Vl,rD,Bu,$u,pJ,cm,kq,Ky,Nt,qv,zq,Lf,bd,d1,B3,jk,Ne,DE,hI,iw,J2,Gj,nB,ij,Kk,mn,kv,Nm,Mh,nE,Dl,Pe,rl,Ge,ud,eK,Ep,Fv,Mp,pj,dn,Pn,Ao,xl,Xr,zl,FE,Ug,Ko,jC,qr,Mr,Xp,cp,$p,AA,fe,Um,_c,rA,Og,Fu,vw,zE,mE,cy,Xx,Wx,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa,efa];var Qc=[yga,uI];var Rc=[E$,af,_e,WD,_D,ri,oi,OK,RK,UD,VD,E$,E$,E$,E$,E$];var Sc=[P7,Ij,Kj,Fj,Jj,P7,P7,P7];var Tc=[Bca,TI,ey,kK,jK,wK,vK,WI,hG,Yy,kE,ph,Wc,fp,CH,Sh,ho,Be,Nq,Re,Qe,vd,nt,qg,uh,Lg,Vf,Jg,xh,NW,Ak,je,rj,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca,Bca];return{___cxa_can_catch:rI,_pthread_self:Rha,_fflush:sA,_memset:vE,___cxa_is_pointer_type:v3,_sass_compile_emscripten:kp,_memmove:VH,_round:Ica,_i64Subtract:lN,_pthread_mutex_unlock:fha,_malloc:hd,_i64Add:TZ,_pthread_mutex_lock:kha,_memcpy:WC,_bitshift64Lshr:SN,_free:cf,_pthread_cond_broadcast:aha,___errno_location:L0,_bitshift64Shl:GN,__GLOBAL__I_000101:N7,__GLOBAL__sub_I_bind_cpp:hC,__GLOBAL__sub_I_color_maps_cpp:Vc,__GLOBAL__sub_I_context_cpp:XB,__GLOBAL__sub_I_cssize_cpp:bC,__GLOBAL__sub_I_emitter_cpp:EV,__GLOBAL__sub_I_environment_cpp:PB,__GLOBAL__sub_I_error_handling_cpp:MB,__GLOBAL__sub_I_eval_cpp:gC,__GLOBAL__sub_I_expand_cpp:aC,__GLOBAL__sub_I_extend_cpp:$B,__GLOBAL__sub_I_file_cpp:mX,__GLOBAL__sub_I_functions_cpp:Tj,__GLOBAL__sub_I_inspect_cpp:WB,__GLOBAL__sub_I_listize_cpp:VB,__GLOBAL__sub_I_memory_manager_cpp:LB,__GLOBAL__sub_I_node_cpp:fC,__GLOBAL__sub_I_output_cpp:_B,__GLOBAL__sub_I_parser_cpp:ZB,__GLOBAL__sub_I_remove_placeholders_cpp:BB,__GLOBAL__sub_I_sass_cpp:lX,__GLOBAL__sub_I_sass_util_cpp:SB,__GLOBAL__sub_I_sass_values_cpp:OB,__GLOBAL__sub_I_sass_context_cpp:CC,__GLOBAL__sub_I_sass_functions_cpp:WR,__GLOBAL__sub_I_sass2scss_cpp:tU,__GLOBAL__sub_I_source_map_cpp:QB,__GLOBAL__sub_I_to_c_cpp:eC,__GLOBAL__sub_I_to_value_cpp:TB,__GLOBAL__sub_I_values_cpp:YB,__GLOBAL__sub_I_util_cpp:dC,__GLOBAL__sub_I_ast_cpp:rx,__GLOBAL__sub_I_iostream_cpp:Gha,runPostSets:kN,_emscripten_replace_memory:lc,stackAlloc:p3,stackSave:Lha,stackRestore:tha,establishStackSpace:tca,setThrew:U9,setTempRet0:wha,getTempRet0:Kha,emterpret:Uc,setAsyncState:hha,emtStackSave:Eha,emtStackRestore:$ga,dynCall_iiiiiiii:fL,dynCall_iiiiiid:mN,dynCall_v:Nga,dynCall_viiiii:hQ,dynCall_vi:Wca,dynCall_vii:O7,dynCall_iiiiiii:aN,dynCall_ii:Jba,dynCall_id:Aca,dynCall_iiiiii:mO,dynCall_iiii:_1,dynCall_ddi:Z7,dynCall_viiiiiiiiiiiiiii:QE,dynCall_iddddii:cO,dynCall_viiiiii:wN,dynCall_ddd:z9,dynCall_di:oca,dynCall_iddd:Y3,dynCall_viidii:pT,dynCall_iid:j7,dynCall_viiiiiii:YL,dynCall_iiiiiiiiiiii:HH,dynCall_viiiiiiiiii:FI,dynCall_iii:n5,dynCall_iiiiiddi:mM,dynCall_diii:p2,dynCall_dii:E6,dynCall_i:lfa,dynCall_iiiii:cZ,dynCall_viii:T2,dynCall_idi:k7,dynCall_iiiiiiiii:lK,dynCall_iiiiid:_O,dynCall_viiii:j0}}) - - -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var __GLOBAL__sub_I_error_handling_cpp=Module["__GLOBAL__sub_I_error_handling_cpp"]=asm["__GLOBAL__sub_I_error_handling_cpp"];var __GLOBAL__sub_I_sass2scss_cpp=Module["__GLOBAL__sub_I_sass2scss_cpp"]=asm["__GLOBAL__sub_I_sass2scss_cpp"];var __GLOBAL__sub_I_color_maps_cpp=Module["__GLOBAL__sub_I_color_maps_cpp"]=asm["__GLOBAL__sub_I_color_maps_cpp"];var __GLOBAL__sub_I_remove_placeholders_cpp=Module["__GLOBAL__sub_I_remove_placeholders_cpp"]=asm["__GLOBAL__sub_I_remove_placeholders_cpp"];var __GLOBAL__sub_I_memory_manager_cpp=Module["__GLOBAL__sub_I_memory_manager_cpp"]=asm["__GLOBAL__sub_I_memory_manager_cpp"];var __GLOBAL__sub_I_eval_cpp=Module["__GLOBAL__sub_I_eval_cpp"]=asm["__GLOBAL__sub_I_eval_cpp"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var __GLOBAL__sub_I_node_cpp=Module["__GLOBAL__sub_I_node_cpp"]=asm["__GLOBAL__sub_I_node_cpp"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var __GLOBAL__sub_I_parser_cpp=Module["__GLOBAL__sub_I_parser_cpp"]=asm["__GLOBAL__sub_I_parser_cpp"];var __GLOBAL__sub_I_emitter_cpp=Module["__GLOBAL__sub_I_emitter_cpp"]=asm["__GLOBAL__sub_I_emitter_cpp"];var _fflush=Module["_fflush"]=asm["_fflush"];var __GLOBAL__sub_I_environment_cpp=Module["__GLOBAL__sub_I_environment_cpp"]=asm["__GLOBAL__sub_I_environment_cpp"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var __GLOBAL__sub_I_to_c_cpp=Module["__GLOBAL__sub_I_to_c_cpp"]=asm["__GLOBAL__sub_I_to_c_cpp"];var __GLOBAL__sub_I_util_cpp=Module["__GLOBAL__sub_I_util_cpp"]=asm["__GLOBAL__sub_I_util_cpp"];var __GLOBAL__sub_I_sass_functions_cpp=Module["__GLOBAL__sub_I_sass_functions_cpp"]=asm["__GLOBAL__sub_I_sass_functions_cpp"];var _memset=Module["_memset"]=asm["_memset"];var __GLOBAL__sub_I_listize_cpp=Module["__GLOBAL__sub_I_listize_cpp"]=asm["__GLOBAL__sub_I_listize_cpp"];var __GLOBAL__sub_I_source_map_cpp=Module["__GLOBAL__sub_I_source_map_cpp"]=asm["__GLOBAL__sub_I_source_map_cpp"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var __GLOBAL__sub_I_functions_cpp=Module["__GLOBAL__sub_I_functions_cpp"]=asm["__GLOBAL__sub_I_functions_cpp"];var __GLOBAL__sub_I_cssize_cpp=Module["__GLOBAL__sub_I_cssize_cpp"]=asm["__GLOBAL__sub_I_cssize_cpp"];var __GLOBAL__sub_I_sass_util_cpp=Module["__GLOBAL__sub_I_sass_util_cpp"]=asm["__GLOBAL__sub_I_sass_util_cpp"];var __GLOBAL__sub_I_sass_cpp=Module["__GLOBAL__sub_I_sass_cpp"]=asm["__GLOBAL__sub_I_sass_cpp"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var __GLOBAL__sub_I_sass_values_cpp=Module["__GLOBAL__sub_I_sass_values_cpp"]=asm["__GLOBAL__sub_I_sass_values_cpp"];var _sass_compile_emscripten=Module["_sass_compile_emscripten"]=asm["_sass_compile_emscripten"];var __GLOBAL__sub_I_sass_context_cpp=Module["__GLOBAL__sub_I_sass_context_cpp"]=asm["__GLOBAL__sub_I_sass_context_cpp"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var __GLOBAL__sub_I_context_cpp=Module["__GLOBAL__sub_I_context_cpp"]=asm["__GLOBAL__sub_I_context_cpp"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var __GLOBAL__sub_I_inspect_cpp=Module["__GLOBAL__sub_I_inspect_cpp"]=asm["__GLOBAL__sub_I_inspect_cpp"];var __GLOBAL__sub_I_to_value_cpp=Module["__GLOBAL__sub_I_to_value_cpp"]=asm["__GLOBAL__sub_I_to_value_cpp"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=asm["_pthread_cond_broadcast"];var __GLOBAL__sub_I_extend_cpp=Module["__GLOBAL__sub_I_extend_cpp"]=asm["__GLOBAL__sub_I_extend_cpp"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var __GLOBAL__sub_I_ast_cpp=Module["__GLOBAL__sub_I_ast_cpp"]=asm["__GLOBAL__sub_I_ast_cpp"];var _round=Module["_round"]=asm["_round"];var __GLOBAL__sub_I_file_cpp=Module["__GLOBAL__sub_I_file_cpp"]=asm["__GLOBAL__sub_I_file_cpp"];var _memmove=Module["_memmove"]=asm["_memmove"];var __GLOBAL__sub_I_output_cpp=Module["__GLOBAL__sub_I_output_cpp"]=asm["__GLOBAL__sub_I_output_cpp"];var _malloc=Module["_malloc"]=asm["_malloc"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var __GLOBAL__sub_I_expand_cpp=Module["__GLOBAL__sub_I_expand_cpp"]=asm["__GLOBAL__sub_I_expand_cpp"];var __GLOBAL__sub_I_values_cpp=Module["__GLOBAL__sub_I_values_cpp"]=asm["__GLOBAL__sub_I_values_cpp"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_id=Module["dynCall_id"]=asm["dynCall_id"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_ddi=Module["dynCall_ddi"]=asm["dynCall_ddi"];var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiii"];var dynCall_iddddii=Module["dynCall_iddddii"]=asm["dynCall_iddddii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_ddd=Module["dynCall_ddd"]=asm["dynCall_ddd"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_iddd=Module["dynCall_iddd"]=asm["dynCall_iddd"];var dynCall_viidii=Module["dynCall_viidii"]=asm["dynCall_viidii"];var dynCall_iid=Module["dynCall_iid"]=asm["dynCall_iid"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiiddi=Module["dynCall_iiiiiddi"]=asm["dynCall_iiiiiddi"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_idi=Module["dynCall_idi"]=asm["dynCall_idi"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];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() - - - - - -/*global Module*/ -/*jshint strict:false, unused:false*/ - -function noop(){} - - -function stripLeadingSlash(text) { - return text.slice(0, 1) === '/' ? text.slice(1) : text; -} - -function addLeadingSlash(text) { - return text.slice(0, 1) !== '/' ? ('/' + text) : text; -} - -function stripTrailingSlash(text) { - return text.slice(-1) === '/' ? text.slice(0, -1) : text; -} - -function addTrailingSlash(text) { - return text.slice(-1) !== '/' ? (text + '/') : text; -} - - -function pointerToString(pointer) { - /*jshint camelcase:false*/ - return pointer && Module.Pointer_stringify(pointer) || null; -} - -function stringToPointer(text) { - var buffer = Module._malloc(text.length + 1); - Module.writeStringToMemory(text, buffer); - return buffer; -} - -function pointerToJson(pointer) { - var test = pointerToString(pointer); - return test && JSON.parse(test) || null; -} - -function pointerToStringArray(pointer) { - var list = []; - if (!pointer) { - return list; - } - - // TODO: are we limited to 32bit? - for (var i=0; true; i+=4) { - var _pointer = Module.getValue(pointer + i, '*'); - if (!_pointer) { - break; - } - - var _item = pointerToString(_pointer); - _item && list.push(_item); - } - - return list; -} - -/*jshint strict:false, unused:false*/ - -var BooleanNumber = function(input) { - // in emscripten you pass booleans as integer 0 and 1 - return Number(Boolean(input)); -}; - -// map of arguments required by the emscripten wrapper (order relevant!) -// to not have to touch various different spots in this file, -// everything is defined here and registered in the appropriate places. -var options = [ - { - // int output_style, - type: 'number', - // Output style for the generated css code - // using Sass.style.* - key: 'style', - initial: 0, - coerce: Number, - }, - { - // int precision, - type: 'number', - // Precision for outputting fractional numbers - // 0: use libsass default - key: 'precision', - initial: -1, - coerce: Number, - }, - { - // bool source_comments, - type: 'number', - // If you want inline source comments - key: 'comments', - initial: 0, - coerce: BooleanNumber, - }, - { - // bool is_indented_syntax_src, - type: 'number', - // Treat source_string as SASS (as opposed to SCSS) - key: 'indentedSyntax', - initial: 0, - coerce: BooleanNumber, - }, - { - // bool source_map_contents, - type: 'number', - // embed include contents in maps - key: 'sourceMapContents', - initial: 1, - coerce: BooleanNumber, - }, - { - // bool source_map_embed, - type: 'number', - // embed sourceMappingUrl as data uri - key: 'sourceMapEmbed', - initial: 0, - coerce: BooleanNumber, - }, - { - // bool omit_source_map_url, - type: 'number', - // Disable sourceMappingUrl in css output - key: 'sourceMapOmitUrl', - initial: 1, - coerce: BooleanNumber, - }, - { - // char *source_map_root, - type: 'string', - // Pass-through as sourceRoot property - key: 'sourceMapRoot', - initial: 'root', - coerce: String, - }, - { - // char *source_map_file, - type: 'string', - // Path to source map file - // Enables the source map generating - // Used to create sourceMappingUrl - key: 'sourceMapFile', - initial: 'file', - coerce: String, - }, - { - // char *input_path, - type: 'string', - // The input path is used for source map generation. - // It can be used to define something with string - // compilation or to overload the input file path. - // It is set to "stdin" for data contexts - // and to the input file on file contexts. - key: 'inputPath', - initial: 'stdin', - coerce: String, - }, - { - // char *output_path, - type: 'string', - // The output path is used for source map generation. - // Libsass will not write to this file, it is just - // used to create information in source-maps etc. - key: 'outputPath', - initial: 'stdout', - coerce: String, - }, - { - // char *indent, - type: 'string', - // String to be used for indentation - key: 'indent', - initial: ' ', - coerce: String, - }, - { - // char *linefeed, - type: 'string', - // String to be used to for line feeds - key: 'linefeed', - initial: '\n', - coerce: String, - }, -]; - -/*global FS, PATH, Sass, stringToPointer*/ -/*jshint strict:false*/ - -var Importer = { - _running: false, - _result: null, - - find: function(current, previous) { - if (!Sass._importer) { - Importer._running = false; - return; - } - - Importer._running = true; - Importer._result = null; - - var resolved = PATH.resolve(previous === 'stdin' ? Sass._path : PATH.dirname(previous), current); - var found = Importer._resolvePath(resolved); - var done = function done(result) { - Importer._result = result; - Importer._running = false; - }; - - try { - Sass._importer({ - current: current, - previous: previous, - resolved: resolved, - path: found, - options: Sass._options.importer || null, - }, done); - } catch(e) { - // allow emscripten to resume libsass, - // if only to have it stop gracefully - done({ error: e.message }); - // but don't just swallow the JS error - console.error(e.stack); - } - }, - - finished: function() { - return !Importer._running; - }, - - path: function() { - return Importer._resultPointer('path'); - }, - - content: function() { - return Importer._resultPointer('content'); - }, - - error: function() { - return Importer._resultPointer('error'); - }, - - _resultPointer: function(key) { - return Importer._result && Importer._result[key] && stringToPointer(Importer._result[key]) || 0; - }, - - _libsassPathVariations: function(path) { - // [importer,include_path] this is where we would add the ability to - // examine the include_path (if we ever use that in Sass.js) - path = PATH.normalize(path); - var directory = PATH.dirname(path); - var basename = PATH.basename(path); - var extensions = ['.scss', '.sass', '.css']; - // basically what is done by resolve_and_load() in file.cpp - // Resolution order for ambiguous imports: - return [ - // (1) filename as given - path, - // (2) underscore + given - PATH.resolve(directory, '_' + basename) - ].concat(extensions.map(function(extension) { - // (3) underscore + given + extension - return PATH.resolve(directory, '_' + basename + extension); - })).concat(extensions.map(function(extension) { - // (4) given + extension - return PATH.resolve(directory, basename + extension); - })); - }, - - _resolvePath: function(path) { - return Importer._libsassPathVariations(path).reduce(function(found, path) { - if (found) { - return found; - } - - try { - FS.stat(path); - return path; - } catch(e) { - return null; - } - }, null); - }, - -}; -/*global Module, FS, PATH, stripLeadingSlash, addTrailingSlash, XMLHttpRequest, noop, options*/ -/*jshint strict:false*/ - -var Sass = { - style: { - nested: 0, - expanded: 1, - compact: 2, - compressed: 3, - }, - comments: { - 'none': 0, - 'default': 1, - }, - - _options: { - // filled by sass.options.js - }, - _defaultOptions: { - // filled by sass.options.js - }, - _optionTypes: { - // filled by sass.options.js - }, - - _files: {}, - _path: '/sass/', - - FS: FS, - PATH: PATH, - Module: Module, - - // track if emscripten is initialized - _initialized: false, - // allow calling .compile() before emscripten is ready by "buffering" the call - // (i.e. have the client not care about its asynchronous init) - _ready: function() { - Sass._initialized = true; - // we may have buffered compile() calls during execution, - Sass._compileNext(); - }, - - _compileNext: function() { - if (!Sass._compileQueue.length) { - return; - } - // first in first out - var args = Sass._compileQueue.shift(); - Sass.compile.apply(Sass, args); - }, - - options: function(options, callback) { - if (options === 'defaults') { - Sass.options(Sass._defaultOptions, callback); - return; - } - - if (typeof options !== 'object') { - return; - } - - Object.keys(options).forEach(function(key) { - var _type = Sass._optionTypes[key]; - - if (key === 'importer') { - // allow passing compile() time options - // to the importer callback - Sass._options[key] = options[key]; - return; - } - - // no need to import crap - if (!_type) { - throw new Error('Unknown option "' + key + '"'); - } - - // force expected data type - Sass._options[key] = _type(options[key]); - }); - - callback && callback(); - }, - - _cloneOptions: function() { - var o = {}; - Object.keys(Sass._options).forEach(function(key) { - o[key] = Sass._options[key]; - }); - - return o; - }, - - importer: function(importerCallback, callback) { - if (typeof importerCallback !== 'function' && importerCallback !== null) { - throw new Error('importer callback must either be a function or null'); - } - - Sass._importer = importerCallback; - callback && callback(); - }, - - _absolutePath: function(filename) { - return Sass._path + stripLeadingSlash(filename); - }, - - _createPath: function(parts) { - var base = []; - - while (parts.length) { - var directory = parts.shift(); - try { - FS.createFolder(base.join('/'), directory, true, true); - } catch(e) { - // IGNORE file exists errors - } - - base.push(directory); - } - }, - - _ensurePath: function(filename) { - var parts = filename.split('/'); - parts.pop(); - - if (!parts.length) { - return; - } - - try { - FS.stat(parts.join('/')); - return; - } catch(e) { - Sass._createPath(parts); - } - }, - - writeFile: function(filename, text, callback) { - if (typeof filename === 'object') { - callback = text; - text = null; - - var map = {}; - Object.keys(filename).forEach(function(file) { - Sass.writeFile(file, filename[file], function(result) { - map[file] = result; - }); - }); - - callback && callback(map); - return; - } - - var _absolute = filename.slice(0, 1) === '/'; - var path = Sass._absolutePath(filename); - try { - Sass._ensurePath(path); - FS.writeFile(path, text); - Sass._files[path] = filename; - // create symlink for absolute path resolution - if (_absolute) { - Sass._ensurePath(filename); - FS.symlink(path, filename); - } - callback && callback(true); - } catch(e) { - callback && callback(false); - } - }, - - readFile: function(filename, callback) { - if (Array.isArray(filename)) { - var map = {}; - filename.forEach(function(file) { - Sass.readFile(file, function(result) { - map[file] = result; - }); - }); - - callback && callback(map); - return; - } - - var path = Sass._absolutePath(filename); - var result; - try { - result = FS.readFile(path, {encoding: 'utf8'}); - } catch(e) {} - - callback && callback(result); - }, - - listFiles: function(callback) { - var list = Object.keys(Sass._files).map(function(path) { - return Sass._files[path]; - }); - - callback && callback(list); - }, - - removeFile: function(filename, callback) { - if (Array.isArray(filename)) { - var map = {}; - filename.forEach(function(file) { - Sass.removeFile(file, function(result) { - map[file] = result; - }); - }); - - callback && callback(map); - return; - } - - var _absolute = filename.slice(0, 1) === '/'; - var path = Sass._absolutePath(filename); - try { - FS.unlink(path); - delete Sass._files[path]; - - // undo symlink for absolute path resolution - if (_absolute && FS.lstat(filename)) { - FS.unlink(filename); - } - - callback && callback(true); - } catch(e) { - callback && callback(false); - } - }, - - clearFiles: function(callback) { - Sass.listFiles(function(list) { - list.forEach(function(file) { - Sass.removeFile(file); - }); - - callback && callback(); - }); - }, - - _handleFiles: function(base, directory, files, callback) { - var _root = Sass._absolutePath(directory || ''); - _root = addTrailingSlash(_root); - base = addTrailingSlash(base); - - return files.map(function(file) { - file = stripLeadingSlash(file); - - var parts = file.split('/'); - var _file = parts.pop(); - var _path = _root + parts.join('/'); - _path = addTrailingSlash(_path); - - return callback(_path, _file, base + file); - }, Sass); - }, - - _handleLazyFile: function(path, file, url) { - Sass._ensurePath(path + file); - FS.createLazyFile(path, file, url, true, false); - }, - - _preloadingFiles: 0, - _preloadingFilesCallback: null, - _handlePreloadFile: function(path, file, url) { - Sass._ensurePath(path + file); - - Sass._preloadingFiles++; - var request = new XMLHttpRequest(); - request.onload = function() { - Sass.writeFile(path.slice(Sass._path.length) + file, this.responseText); - - Sass._preloadingFiles--; - if (!Sass._preloadingFiles) { - Sass._preloadingFilesCallback(); - Sass._preloadingFilesCallback = null; - } - }; - - request.open('get', url, true); - request.send(); - }, - - lazyFiles: function(base, directory, files, callback) { - Sass._handleFiles(base, directory, files, Sass._handleLazyFile); - callback && callback(); - }, - - preloadFiles: function(base, directory, files, callback) { - Sass._preloadingFilesCallback = callback || noop; - Sass._handleFiles(base, directory, files, Sass._handlePreloadFile); - }, - - - // allow concurrent task registration, even though we can only execute them in sequence - _compileQueue: [], - compile: function(text, _options, callback, _compileFile) { - if (typeof _options === 'function') { - callback = _options; - _options = null; - } - - if (!callback) { - throw new Error('Sass.compile() requires callback function as second (or third) parameter!'); - } - - if (_options !== null && typeof _options !== 'object') { - throw new Error('Sass.compile() requires second argument to be an object (options) or a function (callback)'); - } - - var done = function done(result) { - var _cleanup = function() { - // we're done, the next invocation may come - Sass._sassCompileEmscriptenSuccess = null; - Sass._sassCompileEmscriptenError = null; - // we may have buffered compile() calls during execution, - Sass._compileNext(); - }; - var _done = function() { - // reset options to what they were before they got temporarily overwritten - _previousOptions && Sass.options(_previousOptions); - // make sure we cleanup regardless of what happenes in the callback - (typeof setImmediate !== 'undefined' ? setImmediate : setTimeout)(_cleanup); - // announce we're done while still buffering incoming compile() calls - callback(result); - }; - - // give emscripten a chance to finish the C function and clean up - // before we resume our JavaScript duties - (typeof setImmediate !== 'undefined' ? setImmediate : setTimeout)(_done); - }; - - // only one Sass.compile() can run concurrently, wait for the currently running task to finish! - // Also we need to delay .compile() to when emscripten is ready (if not already the case) - // doing this *after* the initial sanity checks to maintain API behavior - // in respect to when/how exceptions are thrown - if (Sass._sassCompileEmscriptenSuccess || !Sass._initialized) { - Sass._compileQueue.push([text, _options, callback, _compileFile]); - return; - } - - try { - // temporarily - for the duration of this .compile() - overwrite options - var _previousOptions = null; - if (_options) { - _previousOptions = Sass._cloneOptions(); - Sass.options(_options); - } - - Sass._sassCompileEmscriptenSuccess = function(result, map, files) { - done({ - status: 0, - text: result, - map: map, - files: files, - }); - }; - - Sass._sassCompileEmscriptenError = function(error, message) { - var result = error || {}; - result.formatted = message; - done(result); - }; - - Module.ccall( - // C function to call - 'sass_compile_emscripten', - // return type - null, - // parameter types - [ - 'string', - 'string', - 'bool', - 'bool', - ].concat(options.map(function(option) { - return option.type; - })), - // arguments for invocation - [ - text, - Sass._path, - Number(Boolean(_compileFile)), - Number(Boolean(Sass._importer)), - ].concat(options.map(function(option) { - return Sass._options[option.key]; - })), - // we're not expecting synchronous return value - { async: true } - ); - } catch(e) { - done({ - status: 99, - line: null, - message: e.message, - error: e - }); - } - }, - compileFile: function(filename, _options, callback) { - var path = Sass._absolutePath(filename); - if (typeof _options === 'function') { - callback = _options; - _options = {}; - } - - _options.sourceMapRoot = path; - _options.inputPath = path; - - return Sass.compile(path, _options, callback, true); - }, -}; - -// register options maintained in sass.options.js -options.forEach(function(option) { - Sass._options[option.key] = Sass._defaultOptions[option.key] = option.initial; - Sass._optionTypes[option.key] = option.coerce; -}); - -// until 0.9.6 we used a weird hacky way to get informed by Module.onRuntimeInitialized -// when emscripten was fully loaded. But since 0.9.5 we're not using a separate .mem file -// anymore and emscripten doesn't preload any files for us, so this became irrelevant. - -// initialize after emscripten is loaded and the event loop cleared -setTimeout(Sass._ready); - -'use strict'; -/*global Sass, postMessage, onmessage:true, importScripts*/ - - -var _importerDone; -var _importerInit = function(request, done) { - _importerDone = done; - postMessage({ - command: '_importerInit', - args: [request] - }); -}; - -var methods = { - _importerFinish: function(result) { - _importerDone && _importerDone(result); - _importerDone = null; - }, - - importer: function(callback) { - // an importer was un/set - // we need to register a callback that will pipe - // things through the worker - Sass.importer(callback ? _importerInit : null); - }, -}; - -onmessage = function (event) { - - function done(result) { - try { - // may throw DataCloneError: Failed to execute 'postMessage' on 'WorkerGlobalScope': An object could not be cloned. - // because of Error instances not being clonable (wtf?) - postMessage({ - id: event.data.id, - result: result - }); - } catch (e) { - if (!result.error) { - // unless we're dealing with a DataCloneError because of an Error instance, - // we have no idea what is going on, so give up. - throw e; - } else { - // for whatever reason Error instances may not always be serializable, - // in which case we simply return the error data as a plain object - result.error = { - code: result.error.code, - message: result.error.message, - stack: result.error.stack, - }; - } - - postMessage({ - id: event.data.id, - result: result - }); - } - } - - var method = methods[event.data.command] || Sass[event.data.command]; - - if (!method) { - return done({ - line: 0, - message: 'Unknown command ' + event.action - }); - } - - method.apply(Sass, (event.data.args || []).concat([done])); -}; diff --git a/app/lib/split.js b/app/lib/split.js deleted file mode 100644 index 4c0809d..0000000 --- a/app/lib/split.js +++ /dev/null @@ -1,569 +0,0 @@ -// The programming goals of Split.js are to deliver readable, understandable and -// maintainable code, while at the same time manually optimizing for tiny minified file size, -// browser compatibility without additional requirements, graceful fallback (IE8 is supported) -// and very few assumptions about the user's page layout. -// -// Make sure all browsers handle this JS library correctly with ES5. -// More information here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode -'use strict'; - -// A wrapper function that does a couple things: -// -// 1. Doesn't pollute the global namespace. This is important for a library. -// 2. Allows us to mount the library in different module systems, as well as -// directly in the browser. -(function() { - -// Save the global `this` for use later. In this case, since the library only -// runs in the browser, it will refer to `window`. Also, figure out if we're in IE8 -// or not. IE8 will still render correctly, but will be static instead of draggable. -// -// Save a couple long function names that are used frequently. -// This optimization saves around 400 bytes. -var global = this - , isIE8 = global.attachEvent && !global[addEventListener] - , document = global.document - , addEventListener = 'addEventListener' - , removeEventListener = 'removeEventListener' - , getBoundingClientRect = 'getBoundingClientRect' - - // This library only needs two helper functions: - // - // The first determines which prefixes of CSS calc we need. - // We only need to do this once on startup, when this anonymous function is called. - // - // Tests -webkit, -moz and -o prefixes. Modified from StackOverflow: - // http://stackoverflow.com/questions/16625140/js-feature-detection-to-detect-the-usage-of-webkit-calc-over-calc/16625167#16625167 - , calc = (function () { - var el - , prefixes = ["", "-webkit-", "-moz-", "-o-"] - - for (var i = 0; i < prefixes.length; i++) { - el = document.createElement('div') - el.style.cssText = "width:" + prefixes[i] + "calc(9px)" - - if (el.style.length) { - return prefixes[i] + "calc" - } - } - })() - - // The second helper function allows elements and string selectors to be used - // interchangeably. In either case an element is returned. This allows us to - // do `Split(elem1, elem2)` as well as `Split('#id1', '#id2')`. - , elementOrSelector = function (el) { - if (typeof el === 'string' || el instanceof String) { - return document.querySelector(el) - } else { - return el - } - } - - // The main function to initialize a split. Split.js thinks about each pair - // of elements as an independant pair. Dragging the gutter between two elements - // only changes the dimensions of elements in that pair. This is key to understanding - // how the following functions operate, since each function is bound to a pair. - // - // A pair object is shaped like this: - // - // { - // a: DOM element, - // b: DOM element, - // aMin: Number, - // bMin: Number, - // dragging: Boolean, - // parent: DOM element, - // isFirst: Boolean, - // isLast: Boolean, - // direction: 'horizontal' | 'vertical' - // } - // - // The basic sequence: - // - // 1. Set defaults to something sane. `options` doesn't have to be passed at all. - // 2. Initialize a bunch of strings based on the direction we're splitting. - // A lot of the behavior in the rest of the library is paramatized down to - // rely on CSS strings and classes. - // 3. Define the dragging helper functions, and a few helpers to go with them. - // 4. Define a few more functions that "balance" the entire split instance. - // Split.js tries it's best to cope with min sizes that don't add up. - // 5. Loop through the elements while pairing them off. Every pair gets an - // `pair` object, a gutter, and special isFirst/isLast properties. - // 6. Actually size the pair elements, insert gutters and attach event listeners. - // 7. Balance all of the pairs to accomodate min sizes as best as possible. - , Split = function (ids, options) { - var dimension - , i - , clientDimension - , clientAxis - , position - , gutterClass - , paddingA - , paddingB - , pairs = [] - - // 1. Set defaults to something sane. `options` doesn't have to be passed at all, - // so create an options object if none exists. Pixel values 10, 100 and 30 are - // arbitrary but feel natural. - options = typeof options !== 'undefined' ? options : {} - - if (typeof options.gutterSize === 'undefined') options.gutterSize = 10 - if (typeof options.minSize === 'undefined') options.minSize = 100 - if (typeof options.snapOffset === 'undefined') options.snapOffset = 30 - if (typeof options.direction === 'undefined') options.direction = 'horizontal' - - // 2. Initialize a bunch of strings based on the direction we're splitting. - // A lot of the behavior in the rest of the library is paramatized down to - // rely on CSS strings and classes. - if (options.direction == 'horizontal') { - dimension = 'width' - clientDimension = 'clientWidth' - clientAxis = 'clientX' - position = 'left' - gutterClass = 'gutter gutter-horizontal' - paddingA = 'paddingLeft' - paddingB = 'paddingRight' - if (!options.cursor) options.cursor = 'ew-resize' - } else if (options.direction == 'vertical') { - dimension = 'height' - clientDimension = 'clientHeight' - clientAxis = 'clientY' - position = 'top' - gutterClass = 'gutter gutter-vertical' - paddingA = 'paddingTop' - paddingB = 'paddingBottom' - if (!options.cursor) options.cursor = 'ns-resize' - } - - // 3. Define the dragging helper functions, and a few helpers to go with them. - // Each helper is bound to a pair object that contains it's metadata. This - // also makes it easy to store references to listeners that that will be - // added and removed. - // - // Even though there are no other functions contained in them, aliasing - // this to self saves 50 bytes or so since it's used so frequently. - // - // The pair object saves metadata like dragging state, position and - // event listener references. - // - // startDragging calls `calculateSizes` to store the inital size in the pair object. - // It also adds event listeners for mouse/touch events, - // and prevents selection while dragging so avoid the selecting text. - var startDragging = function (e) { - // Alias frequently used variables to save space. 200 bytes. - var self = this - , a = self.a - , b = self.b - - // Call the onDragStart callback. - if (!self.dragging && options.onDragStart) { - options.onDragStart() - } - - // Don't actually drag the element. We emulate that in the drag function. - e.preventDefault() - - // Set the dragging property of the pair object. - self.dragging = true - - // Create two event listeners bound to the same pair object and store - // them in the pair object. - self.move = drag.bind(self) - self.stop = stopDragging.bind(self) - - // All the binding. `window` gets the stop events in case we drag out of the elements. - global[addEventListener]('mouseup', self.stop) - global[addEventListener]('touchend', self.stop) - global[addEventListener]('touchcancel', self.stop) - - self.parent[addEventListener]('mousemove', self.move) - self.parent[addEventListener]('touchmove', self.move) - - // Disable selection. Disable! - a[addEventListener]('selectstart', noop) - a[addEventListener]('dragstart', noop) - b[addEventListener]('selectstart', noop) - b[addEventListener]('dragstart', noop) - - a.style.userSelect = 'none' - a.style.webkitUserSelect = 'none' - a.style.MozUserSelect = 'none' - a.style.pointerEvents = 'none' - - b.style.userSelect = 'none' - b.style.webkitUserSelect = 'none' - b.style.MozUserSelect = 'none' - b.style.pointerEvents = 'none' - - // Set the cursor, both on the gutter and the parent element. - // Doing only a, b and gutter causes flickering. - self.gutter.style.cursor = options.cursor - self.parent.style.cursor = options.cursor - - // Cache the initial sizes of the pair. - calculateSizes.call(self) - } - - // stopDragging is very similar to startDragging in reverse. - , stopDragging = function () { - var self = this - , a = self.a - , b = self.b - - if (self.dragging && options.onDragEnd) { - options.onDragEnd() - } - - self.dragging = false - - // Remove the stored event listeners. This is why we store them. - global[removeEventListener]('mouseup', self.stop) - global[removeEventListener]('touchend', self.stop) - global[removeEventListener]('touchcancel', self.stop) - - self.parent[removeEventListener]('mousemove', self.move) - self.parent[removeEventListener]('touchmove', self.move) - - // Delete them once they are removed. I think this makes a difference - // in memory usage with a lot of splits on one page. But I don't know for sure. - delete self.stop - delete self.move - - a[removeEventListener]('selectstart', noop) - a[removeEventListener]('dragstart', noop) - b[removeEventListener]('selectstart', noop) - b[removeEventListener]('dragstart', noop) - - a.style.userSelect = '' - a.style.webkitUserSelect = '' - a.style.MozUserSelect = '' - a.style.pointerEvents = '' - - b.style.userSelect = '' - b.style.webkitUserSelect = '' - b.style.MozUserSelect = '' - b.style.pointerEvents = '' - - self.gutter.style.cursor = '' - self.parent.style.cursor = '' - } - - // drag, where all the magic happens. The logic is really quite simple: - // - // 1. Ignore if the pair is not dragging. - // 2. Get the offset of the event. - // 3. Snap offset to min if within snappable range (within min + snapOffset). - // 4. Actually adjust each element in the pair to offset. - // - // --------------------------------------------------------------------- - // | | <- this.aMin || this.bMin -> | | - // | | | <- this.snapOffset || this.snapOffset -> | | | - // | | | || | | | - // | | | || | | | - // --------------------------------------------------------------------- - // | <- this.start this.size -> | - , drag = function (e) { - var offset - - if (!this.dragging) return - - // Get the offset of the event from the first side of the - // pair `this.start`. Supports touch events, but not multitouch, so only the first - // finger `touches[0]` is counted. - if ('touches' in e) { - offset = e.touches[0][clientAxis] - this.start - } else { - offset = e[clientAxis] - this.start - } - - // If within snapOffset of min or max, set offset to min or max. - // snapOffset buffers aMin and bMin, so logic is opposite for both. - // Include the appropriate gutter sizes to prevent overflows. - if (offset <= this.aMin + options.snapOffset + this.aGutterSize) { - offset = this.aMin + this.aGutterSize - } else if (offset >= this.size - (this.bMin + options.snapOffset + this.bGutterSize)) { - offset = this.size - (this.bMin + this.bGutterSize) - } - - // Actually adjust the size. - adjust.call(this, offset) - - // Call the drag callback continously. Don't do anything too intensive - // in this callback. - if (options.onDrag) { - options.onDrag() - } - } - - // Cache some important sizes when drag starts, so we don't have to do that - // continously: - // - // `size`: The total size of the pair. First element + second element + first gutter + second gutter. - // `percentage`: The percentage between 0-100 that the pair occupies in the parent. - // `start`: The leading side of the first element. - // - // ------------------------------------------------ - - - - - - - - - - - - // | aGutterSize -> ||| | | - // | ||| | | - // | ||| | | - // | ||| <- bGutterSize | | - // ------------------------------------------------ - - - - - - - - - - - - // | <- start size -> | parentSize -> | - , calculateSizes = function () { - // Figure out the parent size minus padding. - var computedStyle = global.getComputedStyle(this.parent) - , parentSize = this.parent[clientDimension] - parseFloat(computedStyle[paddingA]) - parseFloat(computedStyle[paddingB]) - - this.size = this.a[getBoundingClientRect]()[dimension] + this.b[getBoundingClientRect]()[dimension] + this.aGutterSize + this.bGutterSize - this.percentage = Math.min(this.size / parentSize * 100, 100) - this.start = this.a[getBoundingClientRect]()[position] - } - - // Actually adjust the size of elements `a` and `b` to `offset` while dragging. - // calc is used to allow calc(percentage + gutterpx) on the whole split instance, - // which allows the viewport to be resized without additional logic. - // Element a's size is the same as offset. b's size is total size - a size. - // Both sizes are calculated from the initial parent percentage, then the gutter size is subtracted. - , adjust = function (offset) { - this.a.style[dimension] = calc + '(' + (offset / this.size * this.percentage) + '% - ' + this.aGutterSize + 'px)' - this.b.style[dimension] = calc + '(' + (this.percentage - (offset / this.size * this.percentage)) + '% - ' + this.bGutterSize + 'px)' - } - - // 4. Define a few more functions that "balance" the entire split instance. - // Split.js tries it's best to cope with min sizes that don't add up. - // At some point this should go away since it breaks out of the calc(% - px) model. - // Maybe it's a user error if you pass uncomputable minSizes. - , fitMin = function () { - var self = this - , a = self.a - , b = self.b - - if (a[getBoundingClientRect]()[dimension] < self.aMin) { - a.style[dimension] = (self.aMin - self.aGutterSize) + 'px' - b.style[dimension] = (self.size - self.aMin - self.aGutterSize) + 'px' - } else if (b[getBoundingClientRect]()[dimension] < self.bMin) { - a.style[dimension] = (self.size - self.bMin - self.bGutterSize) + 'px' - b.style[dimension] = (self.bMin - self.bGutterSize) + 'px' - } - } - , fitMinReverse = function () { - var self = this - , a = self.a - , b = self.b - - if (b[getBoundingClientRect]()[dimension] < self.bMin) { - a.style[dimension] = (self.size - self.bMin - self.bGutterSize) + 'px' - b.style[dimension] = (self.bMin - self.bGutterSize) + 'px' - } else if (a[getBoundingClientRect]()[dimension] < self.aMin) { - a.style[dimension] = (self.aMin - self.aGutterSize) + 'px' - b.style[dimension] = (self.size - self.aMin - self.aGutterSize) + 'px' - } - } - , balancePairs = function (pairs) { - for (var i = 0; i < pairs.length; i++) { - calculateSizes.call(pairs[i]) - fitMin.call(pairs[i]) - } - - for (i = pairs.length - 1; i >= 0; i--) { - calculateSizes.call(pairs[i]) - fitMinReverse.call(pairs[i]) - } - } - , setElementSize = function (el, size, gutterSize) { - // Split.js allows setting sizes via numbers (ideally), or if you must, - // by string, like '300px'. This is less than ideal, because it breaks - // the fluid layout that `calc(% - px)` provides. You're on your own if you do that, - // make sure you calculate the gutter size by hand. - if (typeof size !== 'string' && !(size instanceof String)) { - if (!isIE8) { - size = calc + '(' + size + '% - ' + gutterSize + 'px)' - } else { - size = options.sizes[i] + '%' - } - } - - el.style[dimension] = size - } - - // No-op function to prevent default. Used to prevent selection. - , noop = function () { return false } - - // All DOM elements in the split should have a common parent. We can grab - // the first elements parent and hope users read the docs because the - // behavior will be whacky otherwise. - , parent = elementOrSelector(ids[0]).parentNode - - // Set default options.sizes to equal percentages of the parent element. - if (!options.sizes) { - var percent = 100 / ids.length - - options.sizes = [] - - for (i = 0; i < ids.length; i++) { - options.sizes.push(percent) - } - } - - // Standardize minSize to an array if it isn't already. This allows minSize - // to be passed as a number. - if (!Array.isArray(options.minSize)) { - var minSizes = [] - - for (i = 0; i < ids.length; i++) { - minSizes.push(options.minSize) - } - - options.minSize = minSizes - } - - // 5. Loop through the elements while pairing them off. Every pair gets a - // `pair` object, a gutter, and isFirst/isLast properties. - // - // Basic logic: - // - // - Starting with the second element `i > 0`, create `pair` objects with - // `a = ids[i - 1]` and `b = ids[i]` - // - Set gutter sizes based on the _pair_ being first/last. The first and last - // pair have gutterSize / 2, since they only have one half gutter, and not two. - // - Create gutter elements and add event listeners. - // - Set the size of the elements, minus the gutter sizes. - // - // ----------------------------------------------------------------------- - // | i=0 | i=1 | i=2 | i=3 | - // | | isFirst | | isLast | - // | pair 0 pair 1 pair 2 | - // | | | | | - // ----------------------------------------------------------------------- - for (i = 0; i < ids.length; i++) { - var el = elementOrSelector(ids[i]) - , isFirstPair = (i == 1) - , isLastPair = (i == ids.length - 1) - , size = options.sizes[i] - , gutterSize = options.gutterSize - , pair - , parentFlexDirection = window.getComputedStyle(parent).flexDirection - , temp - - if (i > 0) { - // Create the pair object with it's metadata. - pair = { - a: elementOrSelector(ids[i - 1]), - b: el, - aMin: options.minSize[i - 1], - bMin: options.minSize[i], - dragging: false, - parent: parent, - isFirst: isFirstPair, - isLast: isLastPair, - direction: options.direction - } - - // For first and last pairs, first and last gutter width is half. - pair.aGutterSize = options.gutterSize - pair.bGutterSize = options.gutterSize - - if (isFirstPair) { - pair.aGutterSize = options.gutterSize / 2 - } - - if (isLastPair) { - pair.bGutterSize = options.gutterSize / 2 - } - - // if the parent has a reverse flex-direction, switch the pair elements. - if (parentFlexDirection === 'row-reverse' || parentFlexDirection === 'column-reverse') { - temp = pair.a; - pair.a = pair.b; - pair.b = temp; - } - } - - // Determine the size of the current element. IE8 is supported by - // staticly assigning sizes without draggable gutters. Assigns a string - // to `size`. - // - // IE9 and above - if (!isIE8) { - // Create gutter elements for each pair. - if (i > 0) { - var gutter = document.createElement('div') - - gutter.className = gutterClass - gutter.style[dimension] = options.gutterSize + 'px' - - gutter[addEventListener]('mousedown', startDragging.bind(pair)) - gutter[addEventListener]('touchstart', startDragging.bind(pair)) - - parent.insertBefore(gutter, el) - - pair.gutter = gutter - } - - // Half-size gutters for first and last elements. - if (i === 0 || i == ids.length - 1) { - gutterSize = options.gutterSize / 2 - } - } - - // Set the element size to our determined size. - setElementSize(el, size, gutterSize) - - // After the first iteration, and we have a pair object, append it to the - // list of pairs. - if (i > 0) { - pairs.push(pair) - } - } - - // Balance the pairs to try to accomodate min sizes. - balancePairs(pairs) - - return { - setSizes: function (sizes) { - for (var i = 0; i < sizes.length; i++) { - if (i > 0) { - var pair = pairs[i - 1] - - setElementSize(pair.a, sizes[i - 1], pair.aGutterSize) - setElementSize(pair.b, sizes[i], pair.bGutterSize) - } - } - }, - collapse: function (i) { - var pair - - if (i === pairs.length) { - pair = pairs[i - 1] - - calculateSizes.call(pair) - adjust.call(pair, pair.size - Math.max(pair.bGutterSize, pair.aMin)) - } else { - pair = pairs[i] - - calculateSizes.call(pair) - adjust.call(pair, Math.max(pair.aGutterSize, pair.aMin)) - } - }, - destroy: function () { - for (var i = 0; i < pairs.length; i++) { - pairs[i].parent.removeChild(pairs[i].gutter) - pairs[i].a.style[dimension] = '' - pairs[i].b.style[dimension] = '' - } - } - } -} - -// Play nicely with module systems, and the browser too if you include it raw. -if (typeof exports !== 'undefined') { - if (typeof module !== 'undefined' && module.exports) { - exports = module.exports = Split - } - exports.Split = Split -} else { - global.Split = Split -} - -// Call our wrapper function with the current global. In this case, `window`. -}).call(window); diff --git a/app/lib/stylus.min.js b/app/lib/stylus.min.js deleted file mode 100644 index dae9a1a..0000000 --- a/app/lib/stylus.min.js +++ /dev/null @@ -1,6 +0,0 @@ -if(Function.prototype.name===undefined&&Object.defineProperty!==undefined){Object.defineProperty(Function.prototype,"name",{get:function(){var regex=/function\s([^(]{1,})\(/,match=regex.exec(this.toString());return match&&match.length>1?match[1].trim():""}})}if(String.prototype.trimRight===undefined){String.prototype.trimRight=function(){return String(this).replace(/\s+$/,"")}}var stylus=function(){function require(p){var path=require.resolve(p),mod=require.modules[path];if(!mod)throw new Error('failed to require "'+p+'"');if(!mod.exports){mod.exports={};mod.call(mod.exports,mod,mod.exports,require.relative(path))}return mod.exports}var bifs="called-from = ()\n\nvendors = moz webkit o ms official\n\n// stringify the given arg\n\n-string(arg)\n type(arg) + ' ' + arg\n\n// require a color\n\nrequire-color(color)\n unless color is a 'color'\n error('RGB or HSL value expected, got a ' + -string(color))\n\n// require a unit\n\nrequire-unit(n)\n unless n is a 'unit'\n error('unit expected, got a ' + -string(n))\n\n// require a string\n\nrequire-string(str)\n unless str is a 'string' or str is a 'ident'\n error('string expected, got a ' + -string(str))\n\n// Math functions\n\nabs(n) { math(n, 'abs') }\nmin(a, b) { a < b ? a : b }\nmax(a, b) { a > b ? a : b }\n\n// Trigonometrics\nPI = -math-prop('PI')\n\nradians-to-degrees(angle)\n angle * (180 / PI)\n\ndegrees-to-radians(angle)\n unit(angle * (PI / 180),'')\n\nsin(n)\n n = degrees-to-radians(n) if unit(n) == 'deg'\n round(math(n, 'sin'), 9)\n\ncos(n)\n n = degrees-to-radians(n) if unit(n) == 'deg'\n round(math(n, 'cos'), 9)\n\n// Rounding Math functions\n\nceil(n, precision = 0)\n multiplier = 10 ** precision\n math(n * multiplier, 'ceil') / multiplier\n\nfloor(n, precision = 0)\n multiplier = 10 ** precision\n math(n * multiplier, 'floor') / multiplier\n\nround(n, precision = 0)\n multiplier = 10 ** precision\n math(n * multiplier, 'round') / multiplier\n\n// return the sum of the given numbers\n\nsum(nums)\n sum = 0\n sum += n for n in nums\n\n// return the average of the given numbers\n\navg(nums)\n sum(nums) / length(nums)\n\n// return a unitless number, or pass through\n\nremove-unit(n)\n if typeof(n) is 'unit'\n unit(n, '')\n else\n n\n\n// convert a percent to a decimal, or pass through\n\npercent-to-decimal(n)\n if unit(n) is '%'\n remove-unit(n) / 100\n else\n n\n\n// check if n is an odd number\n\nodd(n)\n 1 == n % 2\n\n// check if n is an even number\n\neven(n)\n 0 == n % 2\n\n// check if color is light\n\nlight(color)\n lightness(color) >= 50%\n\n// check if color is dark\n\ndark(color)\n lightness(color) < 50%\n\n// desaturate color by amount\n\ndesaturate(color, amount)\n adjust(color, 'saturation', - amount)\n\n// saturate color by amount\n\nsaturate(color = '', amount = 100%)\n if color is a 'color'\n adjust(color, 'saturation', amount)\n else\n unquote( 'saturate(' + color + ')' )\n\n// darken by the given amount\n\ndarken(color, amount)\n adjust(color, 'lightness', - amount)\n\n// lighten by the given amount\n\nlighten(color, amount)\n adjust(color, 'lightness', amount)\n\n// decrease opacity by amount\n\nfade-out(color, amount)\n color - rgba(black, percent-to-decimal(amount))\n\n// increase opacity by amount\n\nfade-in(color, amount)\n color + rgba(black, percent-to-decimal(amount))\n\n// spin hue by a given amount\n\nspin(color, amount)\n color + unit(amount, deg)\n\n// mix two colors by a given amount\n\nmix(color1, color2, weight = 50%)\n unless weight in 0..100\n error('Weight must be between 0% and 100%')\n\n if length(color1) == 2\n weight = color1[0]\n color1 = color1[1]\n\n else if length(color2) == 2\n weight = 100 - color2[0]\n color2 = color2[1]\n\n require-color(color1)\n require-color(color2)\n\n p = unit(weight / 100, '')\n w = p * 2 - 1\n\n a = alpha(color1) - alpha(color2)\n\n w1 = (((w * a == -1) ? w : (w + a) / (1 + w * a)) + 1) / 2\n w2 = 1 - w1\n\n channels = (red(color1) red(color2)) (green(color1) green(color2)) (blue(color1) blue(color2))\n rgb = ()\n\n for pair in channels\n push(rgb, floor(pair[0] * w1 + pair[1] * w2))\n\n a1 = alpha(color1) * p\n a2 = alpha(color2) * (1 - p)\n alpha = a1 + a2\n\n rgba(rgb[0], rgb[1], rgb[2], alpha)\n\n// invert colors, leave alpha intact\n\ninvert(color = '')\n if color is a 'color'\n rgba(#fff - color, alpha(color))\n else\n unquote( 'invert(' + color + ')' )\n\n// give complement of the given color\n\ncomplement( color )\n spin( color, 180 )\n\n// give grayscale of the given color\n\ngrayscale( color = '' )\n if color is a 'color'\n desaturate( color, 100% )\n else\n unquote( 'grayscale(' + color + ')' )\n\n// mix the given color with white\n\ntint( color, percent )\n mix( white, color, percent )\n\n// mix the given color with black\n\nshade( color, percent )\n mix( black, color, percent )\n\n// return the last value in the given expr\n\nlast(expr)\n expr[length(expr) - 1]\n\n// return keys in the given pairs or object\n\nkeys(pairs)\n ret = ()\n if type(pairs) == 'object'\n for key in pairs\n push(ret, key)\n else\n for pair in pairs\n push(ret, pair[0]);\n ret\n\n// return values in the given pairs or object\n\nvalues(pairs)\n ret = ()\n if type(pairs) == 'object'\n for key, val in pairs\n push(ret, val)\n else\n for pair in pairs\n push(ret, pair[1]);\n ret\n\n// join values with the given delimiter\n\njoin(delim, vals...)\n buf = ''\n vals = vals[0] if length(vals) == 1\n for val, i in vals\n buf += i ? delim + val : val\n\n// add a CSS rule to the containing block\n\n// - This definition allows add-property to be used as a mixin\n// - It has the same effect as interpolation but allows users\n// to opt for a functional style\n\nadd-property-function = add-property\nadd-property(name, expr)\n if mixin\n {name} expr\n else\n add-property-function(name, expr)\n\nprefix-classes(prefix)\n -prefix-classes(prefix, block)\n\n// Caching mixin, use inside your functions to enable caching by extending.\n\n$stylus_mixin_cache = {}\ncache()\n $key = (current-media() or 'no-media') + '__' + called-from[0] + '__' + arguments\n if $key in $stylus_mixin_cache\n @extend {'$cache_placeholder_for_' + $stylus_mixin_cache[$key]}\n else if 'cache' in called-from\n {block}\n else\n $id = length($stylus_mixin_cache)\n\n &,\n /$cache_placeholder_for_{$id}\n $stylus_mixin_cache[$key] = $id\n {block}\n\n// Percentage function to convert a number, e.g. '.45', into a percentage, e.g. '45%'\n\npercentage(num)\n return unit(num * 100, '%')\n\n// Returns the position of a `value` within a `list`\n\nindex(list, value)\n for val, i in list\n return i if val == value\n";require.modules={};require.resolve=function(path){var orig=path,reg=path+".js",index=path+"/index.js";return require.modules[reg]&®||require.modules[index]&&index||orig};require.register=function(path,fn){require.modules[path]=fn};require.relative=function(parent){return function(p){if("."!=p[0])return require(p);var path=parent.split("/"),segs=p.split("/");path.pop();for(var i=0;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(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}var splitPathRe=/^([\s\S]+\/(?!$)|\/)?((?:[\s\S]+?)?(\.[^.]*)?)$/;exports.normalize=function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.slice(-1)==="/";path=normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path};exports.join=function(){var paths=Array.prototype.slice.call(arguments,0);return exports.normalize(paths.filter(function(p,index){return p&&typeof p==="string"}).join("/"))};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=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;isizeLimit)return literal;if(enc&&"utf8"==enc.first.val.toLowerCase()){encoding=encodingTypes.UTF8;result=buf.toString("utf8").replace(/\s+/g," ").replace(/[{}\|\\\^~\[\]`"<>#%]/g,function(match){return"%"+match[0].charCodeAt(0).toString(16).toUpperCase()}).trim()}else{result=buf.toString(encoding)+hash}return new nodes.Literal('url("data:'+mime+";"+encoding+","+result+'")')}fn.raw=true;return fn};module.exports.mimes=defaultMimes});require.register("functions/add-property.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");(module.exports=function addProperty(name,expr){utils.assertType(name,"expression","name");name=utils.unwrap(name).first;utils.assertString(name,"name");utils.assertType(expr,"expression","expr");var prop=new nodes.Property([name],expr);var block=this.closestBlock;var len=block.nodes.length,head=block.nodes.slice(0,block.index),tail=block.nodes.slice(block.index++,len);head.push(prop);block.nodes=head.concat(tail);return prop}).raw=true});require.register("functions/adjust.js",function(module,exports,require){var utils=require("../utils");module.exports=function adjust(color,prop,amount){utils.assertColor(color,"color");utils.assertString(prop,"prop");utils.assertType(amount,"unit","amount");var hsl=color.hsla.clone();prop={hue:"h",saturation:"s",lightness:"l"}[prop.string];if(!prop)throw new Error("invalid adjustment property");var val=amount.val;if("%"==amount.type){val="l"==prop&&val>0?(100-hsl[prop])*val/100:hsl[prop]*(val/100)}hsl[prop]+=val;return hsl.rgba}});require.register("functions/alpha.js",function(module,exports,require){var nodes=require("../nodes"),rgba=require("./rgba");module.exports=function alpha(color,value){color=color.rgba;if(value){return rgba(new nodes.Unit(color.r),new nodes.Unit(color.g),new nodes.Unit(color.b),value)}return new nodes.Unit(color.a,"")}});require.register("functions/base-convert.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");(module.exports=function(num,base,width){utils.assertPresent(num,"number");utils.assertPresent(base,"base");num=utils.unwrap(num).nodes[0].val;base=utils.unwrap(base).nodes[0].val;width=width&&utils.unwrap(width).nodes[0].val||2;var result=Number(num).toString(base);while(result.lengthtop.a){top=blend(top,bottom)}var l1=luminosity(bottom).val+.05,l2=luminosity(top).val+.05,ratio=l1/l2;if(l2>l1){ratio=1/ratio}return Math.round(ratio*10)/10}if(1<=bottom.a){var resultRatio=new nodes.Unit(contrast(top,bottom));result.set("ratio",resultRatio);result.set("error",new nodes.Unit(0));result.set("min",resultRatio);result.set("max",resultRatio)}else{var onBlack=contrast(top,blend(bottom,new nodes.RGBA(0,0,0,1))),onWhite=contrast(top,blend(bottom,new nodes.RGBA(255,255,255,1))),max=Math.max(onBlack,onWhite);function processChannel(topChannel,bottomChannel){return Math.min(Math.max(0,(topChannel-bottomChannel*bottom.a)/(1-bottom.a)),255)}var closest=new nodes.RGBA(processChannel(top.r,bottom.r),processChannel(top.g,bottom.g),processChannel(top.b,bottom.b),1);var min=contrast(top,blend(bottom,closest));result.set("ratio",new nodes.Unit(Math.round((min+max)*50)/100));result.set("error",new nodes.Unit(Math.round((max-min)*50)/100));result.set("min",new nodes.Unit(min));result.set("max",new nodes.Unit(max))}return result}});require.register("functions/convert.js",function(module,exports,require){var utils=require("../utils");module.exports=function convert(str){utils.assertString(str,"str");return utils.parseString(str.string)}});require.register("functions/current-media.js",function(module,exports,require){var nodes=require("../nodes");module.exports=function currentMedia(){var self=this;return new nodes.String(lookForMedia(this.closestBlock.node)||"");function lookForMedia(node){if("media"==node.nodeName){node.val=self.visit(node.val);return node.toString()}else if(node.block.parent.node){return lookForMedia(node.block.parent.node)}}}});require.register("functions/define.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function define(name,expr,global){utils.assertType(name,"string","name");expr=utils.unwrap(expr);var scope=this.currentScope;if(global&&global.toBoolean().isTrue){scope=this.global.scope}var node=new nodes.Ident(name.val,expr);scope.add(node);return nodes.nil}});require.register("functions/dirname.js",function(module,exports,require){var utils=require("../utils"),path=require("../path");module.exports=function dirname(p){utils.assertString(p,"path");return path.dirname(p.val).replace(/\\/g,"/")}});require.register("functions/error.js",function(module,exports,require){var utils=require("../utils");module.exports=function error(msg){utils.assertType(msg,"string","msg");var err=new Error(msg.val);err.fromStylus=true;throw err}});require.register("functions/extname.js",function(module,exports,require){var utils=require("../utils"),path=require("../path");module.exports=function extname(p){utils.assertString(p,"path");return path.extname(p.val)}});require.register("functions/green.js",function(module,exports,require){var nodes=require("../nodes"),rgba=require("./rgba");module.exports=function green(color,value){color=color.rgba;if(value){return rgba(new nodes.Unit(color.r),value,new nodes.Unit(color.b),new nodes.Unit(color.a))}return new nodes.Unit(color.g,"")}});require.register("functions/hsl.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes"),hsla=require("./hsla");module.exports=function hsl(hue,saturation,lightness){if(1==arguments.length){utils.assertColor(hue,"color");return hue.hsla}else{return hsla(hue,saturation,lightness,new nodes.Unit(1))}}});require.register("functions/hsla.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function hsla(hue,saturation,lightness,alpha){switch(arguments.length){case 1:utils.assertColor(hue);return hue.hsla;case 2:utils.assertColor(hue);var color=hue.hsla;utils.assertType(saturation,"unit","alpha");var alpha=saturation.clone();if("%"==alpha.type)alpha.val/=100;return new nodes.HSLA(color.h,color.s,color.l,alpha.val);default:utils.assertType(hue,"unit","hue");utils.assertType(saturation,"unit","saturation");utils.assertType(lightness,"unit","lightness");utils.assertType(alpha,"unit","alpha");var alpha=alpha.clone();if(alpha&&"%"==alpha.type)alpha.val/=100;return new nodes.HSLA(hue.val,saturation.val,lightness.val,alpha.val)}}});require.register("functions/hue.js",function(module,exports,require){var nodes=require("../nodes"),hsla=require("./hsla"),component=require("./component");module.exports=function hue(color,value){if(value){var hslaColor=color.hsla;return hsla(value,new nodes.Unit(hslaColor.s),new nodes.Unit(hslaColor.l),new nodes.Unit(hslaColor.a))}return component(color,new nodes.String("hue"))}});require.register("functions/length.js",function(module,exports,require){var utils=require("../utils");(module.exports=function length(expr){if(expr){if(expr.nodes){var nodes=utils.unwrap(expr).nodes;if(1==nodes.length&&"object"==nodes[0].nodeName){return nodes[0].length}else{return nodes.length}}else{return 1}}return 0}).raw=true});require.register("functions/lightness.js",function(module,exports,require){var nodes=require("../nodes"),hsla=require("./hsla"),component=require("./component");module.exports=function lightness(color,value){if(value){var hslaColor=color.hsla;return hsla(new nodes.Unit(hslaColor.h),new nodes.Unit(hslaColor.s),value,new nodes.Unit(hslaColor.a))}return component(color,new nodes.String("lightness"))}});require.register("functions/list-separator.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");(module.exports=function listSeparator(list){list=utils.unwrap(list);return new nodes.String(list.isList?",":" ")}).raw=true});require.register("functions/lookup.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function lookup(name){utils.assertType(name,"string","name");var node=this.lookup(name.val);if(!node)return nodes.nil;return this.visit(node)}});require.register("functions/luminosity.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function luminosity(color){utils.assertColor(color);color=color.rgba;function processChannel(channel){channel=channel/255;return.03928>channel?channel/12.92:Math.pow((channel+.055)/1.055,2.4)}return new nodes.Unit(.2126*processChannel(color.r)+.7152*processChannel(color.g)+.0722*processChannel(color.b))}});require.register("functions/match.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");var VALID_FLAGS="igm";module.exports=function match(pattern,val,flags){utils.assertType(pattern,"string","pattern");utils.assertString(val,"val");var re=new RegExp(pattern.val,validateFlags(flags)?flags.string:"");return val.string.match(re)};function validateFlags(flags){flags=flags&&flags.string;if(flags){return flags.split("").every(function(flag){return~VALID_FLAGS.indexOf(flag)})}return false}});require.register("functions/math-prop.js",function(module,exports,require){var nodes=require("../nodes");module.exports=function math(prop){return new nodes.Unit(Math[prop.string])}});require.register("functions/math.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function math(n,fn){utils.assertType(n,"unit","n");utils.assertString(fn,"fn");return new nodes.Unit(Math[fn.string](n.val),n.type)}});require.register("functions/merge.js",function(module,exports,require){var utils=require("../utils");(module.exports=function merge(dest){utils.assertPresent(dest,"dest");dest=utils.unwrap(dest).first;utils.assertType(dest,"object","dest");var last=utils.unwrap(arguments[arguments.length-1]).first,deep=true===last.val;for(var i=1,len=arguments.length-deep;i1){if(expr.isList){pushToStack(expr.nodes,stack)}else{stack.push(parse(expr.nodes.map(function(node){utils.assertString(node,"selector");return node.string}).join(" ")))}}}else if(args.length>1){pushToStack(args,stack)}return stack.length?utils.compileSelectors(stack).join(","):"&"}).raw=true;function pushToStack(selectors,stack){selectors.forEach(function(sel){sel=sel.first;utils.assertString(sel,"selector");stack.push(parse(sel.string))})}function parse(selector){var Parser=new require("../parser"),parser=new Parser(selector),nodes;parser.state.push("selector-parts");nodes=parser.selector();nodes.forEach(function(node){node.val=node.segments.map(function(seg){return seg.toString()}).join("")});return nodes}});require.register("functions/selectors.js",function(module,exports,require){var nodes=require("../nodes"),Parser=require("../selector-parser");module.exports=function selectors(){var stack=this.selectorStack,expr=new nodes.Expression(true);if(stack.length){for(var i=0;i1){expr.push(new nodes.String(group.map(function(selector){nested=new Parser(selector.val).parse().nested;return(nested&&i?"& ":"")+selector.val}).join(",")))}else{var selector=group[0].val;nested=new Parser(selector).parse().nested;expr.push(new nodes.String((nested&&i?"& ":"")+selector))}}}else{expr.push(new nodes.String("&"))}return expr}});require.register("functions/shift.js",function(module,exports,require){var utils=require("../utils");(module.exports=function(expr){expr=utils.unwrap(expr);return expr.nodes.shift()}).raw=true});require.register("functions/split.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function split(delim,val){utils.assertString(delim,"delimiter");utils.assertString(val,"val");var splitted=val.string.split(delim.string);var expr=new nodes.Expression;var ItemNode=val instanceof nodes.Ident?nodes.Ident:nodes.String;for(var i=0,len=splitted.length;i1){return utils.coerce(val.slice(start,end),true)}var result=val[0].string.slice(start,end);return val[0]instanceof nodes.Ident?new nodes.Ident(result):new nodes.String(result)}).raw=true});require.register("functions/substr.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function substr(val,start,length){utils.assertString(val,"val");utils.assertType(start,"unit","start");length=length&&length.val;var res=val.string.substr(start.val,length);return val instanceof nodes.Ident?new nodes.Ident(res):new nodes.String(res)}});require.register("functions/tan.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function tan(angle){utils.assertType(angle,"unit","angle");var radians=angle.val;if(angle.type==="deg"){radians*=Math.PI/180}var m=Math.pow(10,9);var sin=Math.round(Math.sin(radians)*m)/m,cos=Math.round(Math.cos(radians)*m)/m,tan=Math.round(m*sin/cos)/m;return new nodes.Unit(tan,"")}});require.register("functions/trace.js",function(module,exports,require){var nodes=require("../nodes");module.exports=function trace(){console.log(this.stack);return nodes.nil}});require.register("functions/transparentify.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function transparentify(top,bottom,alpha){utils.assertColor(top);top=top.rgba;bottom=bottom||new nodes.RGBA(255,255,255,1);if(!alpha&&bottom&&!bottom.rgba){alpha=bottom;bottom=new nodes.RGBA(255,255,255,1)}utils.assertColor(bottom);bottom=bottom.rgba;var bestAlpha=["r","g","b"].map(function(channel){return(top[channel]-bottom[channel])/((0s.lastIndexOf("*/",offset),commentIdx=s.lastIndexOf("//",offset),i=s.lastIndexOf("\n",offset),double=0,single=0;if(~commentIdx&&commentIdx>i){while(i!=offset){if("'"==s[i])single?single--:single++;if('"'==s[i])double?double--:double++;if("/"==s[i]&&"/"==s[i+1]){inComment=!single&&!double;break}++i}}return inComment?str:val+"\r"}if("\ufeff"==str.charAt(0))str=str.slice(1);this.str=str.replace(/\s+$/,"\n").replace(/\r\n?/g,"\n").replace(/\\ *\n/g,"\r").replace(/([,(:](?!\/\/[^ ])) *(?:\/\/[^\n]*|\/\*.*?\*\/)?\n\s*/g,comment).replace(/\s*\n[ \t]*([,)])/g,comment)}Lexer.prototype={inspect:function(){var tok,tmp=this.str,buf=[];while("eos"!=(tok=this.next()).type){buf.push(tok.inspect())}this.str=tmp;return buf.concat(tok.inspect()).join("\n")},lookahead:function(n){var fetch=n-this.stash.length;while(fetch-- >0)this.stash.push(this.advance());return this.stash[--n]},skip:function(len){var chunk=len[0];len=chunk?chunk.length:len;this.str=this.str.substr(len);if(chunk){this.move(chunk)}else{this.column+=len}},move:function(str){var lines=str.match(/\n/g),idx=str.lastIndexOf("\n");if(lines)this.lineno+=lines.length;this.column=~idx?str.length-idx:this.column+str.length},next:function(){var tok=this.stashed()||this.advance();this.prev=tok;return tok},isPartOfSelector:function(){var tok=this.stash[this.stash.length-1]||this.prev;switch(tok&&tok.type){case"color":return 2==tok.val.raw.length;case".":case"[":return true}return false},advance:function(){var column=this.column,line=this.lineno,tok=this.eos()||this.nil()||this.sep()||this.keyword()||this.urlchars()||this.comment()||this.newline()||this.escaped()||this.important()||this.literal()||this.fun()||this.anonFunc()||this.atrule()||this.brace()||this.paren()||this.color()||this.string()||this.unit()||this.namedop()||this.boolean()||this.unicode()||this.ident()||this.op()||this.eol()||this.space()||this.selector();tok.lineno=line;tok.column=column;return tok},peek:function(){return this.lookahead(1)},stashed:function(){return this.stash.shift()},eos:function(){if(this.str.length)return;if(this.indentStack.length){this.indentStack.shift();return new Token("outdent")}else{return new Token("eos")}},urlchars:function(){var captures;if(!this.isURL)return;if(captures=/^[\/:@.;?&=*!,<>#%0-9]+/.exec(this.str)){this.skip(captures);return new Token("literal",new nodes.Literal(captures[0]))}},sep:function(){var captures;if(captures=/^;[ \t]*/.exec(this.str)){this.skip(captures);return new Token(";")}},eol:function(){if("\r"==this.str[0]){++this.lineno;this.skip(1);return this.advance()}},space:function(){var captures;if(captures=/^([ \t]+)/.exec(this.str)){this.skip(captures);return new Token("space")}},escaped:function(){var captures;if(captures=/^\\(.)[ \t]*/.exec(this.str)){var c=captures[1];this.skip(captures);return new Token("ident",new nodes.Literal(c))}},literal:function(){var captures;if(captures=/^@css[ \t]*\{/.exec(this.str)){this.skip(captures);var c,braces=1,css="",node;while(c=this.str[0]){this.str=this.str.substr(1);switch(c){case"{":++braces;break;case"}":--braces;break;case"\n":case"\r":++this.lineno;break}css+=c;if(!braces)break}css=css.replace(/\s*}$/,"");node=new nodes.Literal(css);node.css=true;return new Token("literal",node)}},important:function(){var captures;if(captures=/^!important[ \t]*/.exec(this.str)){this.skip(captures);return new Token("ident",new nodes.Literal("!important"))}},brace:function(){var captures;if(captures=/^([{}])/.exec(this.str)){this.skip(1);var brace=captures[1];return new Token(brace,brace)}},paren:function(){var captures;if(captures=/^([()])([ \t]*)/.exec(this.str)){var paren=captures[1];this.skip(captures);if(")"==paren)this.isURL=false;var tok=new Token(paren,paren);tok.space=captures[2];return tok}},nil:function(){var captures,tok;if(captures=/^(null)\b[ \t]*/.exec(this.str)){this.skip(captures);if(this.isPartOfSelector()){tok=new Token("ident",new nodes.Ident(captures[0]))}else{tok=new Token("null",nodes.nil)}return tok}},keyword:function(){var captures,tok;if(captures=/^(return|if|else|unless|for|in)\b[ \t]*/.exec(this.str)){var keyword=captures[1];this.skip(captures);if(this.isPartOfSelector()){tok=new Token("ident",new nodes.Ident(captures[0]))}else{tok=new Token(keyword,keyword)}return tok}},namedop:function(){var captures,tok;if(captures=/^(not|and|or|is a|is defined|isnt|is not|is)(?!-)\b([ \t]*)/.exec(this.str)){var op=captures[1];this.skip(captures);if(this.isPartOfSelector()){tok=new Token("ident",new nodes.Ident(captures[0]))}else{op=alias[op]||op;tok=new Token(op,op)}tok.space=captures[2];return tok}},op:function(){var captures;if(captures=/^([.]{1,3}|&&|\|\||[!<>=?:]=|\*\*|[-+*\/%]=?|[,=?:!~<>&\[\]])([ \t]*)/.exec(this.str)){var op=captures[1];this.skip(captures);op=alias[op]||op;var tok=new Token(op,op);tok.space=captures[2];this.isURL=false;return tok}},anonFunc:function(){var tok;if("@"==this.str[0]&&"("==this.str[1]){this.skip(2);tok=new Token("function",new nodes.Ident("anonymous"));tok.anonymous=true;return tok}},atrule:function(){var captures;if(captures=/^@(?:-(\w+)-)?([a-zA-Z0-9-_]+)[ \t]*/.exec(this.str)){this.skip(captures);var vendor=captures[1],type=captures[2],tok;switch(type){case"require":case"import":case"charset":case"namespace":case"media":case"scope":case"supports":return new Token(type);case"document":return new Token("-moz-document");case"block":return new Token("atblock");case"extend":case"extends":return new Token("extend");case"keyframes":return new Token(type,vendor);default:return new Token("atrule",vendor?"-"+vendor+"-"+type:type)}}},comment:function(){if("/"==this.str[0]&&"/"==this.str[1]){var end=this.str.indexOf("\n");if(-1==end)end=this.str.length;this.skip(end);return this.advance()}if("/"==this.str[0]&&"*"==this.str[1]){var end=this.str.indexOf("*/");if(-1==end)end=this.str.length;var str=this.str.substr(0,end+2),lines=str.split(/\n|\r/).length-1,suppress=true,inline=false;this.lineno+=lines;this.skip(end+2);if("!"==str[2]){str=str.replace("*!","*");suppress=false}if(this.prev&&";"==this.prev.type)inline=true;return new Token("comment",new nodes.Comment(str,suppress,inline))}},"boolean":function(){var captures;if(captures=/^(true|false)\b([ \t]*)/.exec(this.str)){var val=nodes.Boolean("true"==captures[1]);this.skip(captures);var tok=new Token("boolean",val);tok.space=captures[2];return tok}},unicode:function(){var captures;if(captures=/^u\+[0-9a-f?]{1,6}(?:-[0-9a-f]{1,6})?/i.exec(this.str)){this.skip(captures);return new Token("literal",new nodes.Literal(captures[0]))}},fun:function(){var captures;if(captures=/^(-*[_a-zA-Z$][-\w\d$]*)\(([ \t]*)/.exec(this.str)){var name=captures[1];this.skip(captures);this.isURL="url"==name;var tok=new Token("function",new nodes.Ident(name));tok.space=captures[2];return tok}},ident:function(){var captures;if(captures=/^-*[_a-zA-Z$][-\w\d$]*/.exec(this.str)){this.skip(captures);return new Token("ident",new nodes.Ident(captures[0]))}},newline:function(){var captures,re;if(this.indentRe){captures=this.indentRe.exec(this.str)}else{re=/^\n([\t]*)[ \t]*/;captures=re.exec(this.str);if(captures&&!captures[1].length){re=/^\n([ \t]*)/;captures=re.exec(this.str)}if(captures&&captures[1].length)this.indentRe=re}if(captures){var tok,indents=captures[1].length;this.skip(captures);if(this.str[0]===" "||this.str[0]===" "){throw new errors.SyntaxError("Invalid indentation. You can use tabs or spaces to indent, but not both.")}if("\n"==this.str[0])return this.advance();if(this.indentStack.length&&indentsindents){this.stash.push(new Token("outdent"));this.indentStack.shift()}tok=this.stash.pop()}else if(indents&&indents!=this.indentStack[0]){this.indentStack.unshift(indents);tok=new Token("indent")}else{tok=new Token("newline")}return tok}},unit:function(){var captures;if(captures=/^(-)?(\d+\.\d+|\d+|\.\d+)(%|[a-zA-Z]+)?[ \t]*/.exec(this.str)){this.skip(captures);var n=parseFloat(captures[2]);if("-"==captures[1])n=-n;var node=new nodes.Unit(n,captures[3]);node.raw=captures[0];return new Token("unit",node)}},string:function(){var captures;if(captures=/^("[^"]*"|'[^']*')[ \t]*/.exec(this.str)){var str=captures[1],quote=captures[0][0];this.skip(captures);str=str.slice(1,-1).replace(/\\n/g,"\n");return new Token("string",new nodes.String(str,quote))}},color:function(){return this.rrggbbaa()||this.rrggbb()||this.rgba()||this.rgb()||this.nn()||this.n()},n:function(){var captures;if(captures=/^#([a-fA-F0-9]{1})[ \t]*/.exec(this.str)){this.skip(captures);var n=parseInt(captures[1]+captures[1],16),color=new nodes.RGBA(n,n,n,1);color.raw=captures[0];return new Token("color",color)}},nn:function(){var captures;if(captures=/^#([a-fA-F0-9]{2})[ \t]*/.exec(this.str)){this.skip(captures);var n=parseInt(captures[1],16),color=new nodes.RGBA(n,n,n,1);color.raw=captures[0];return new Token("color",color)}},rgb:function(){var captures;if(captures=/^#([a-fA-F0-9]{3})[ \t]*/.exec(this.str)){this.skip(captures);var rgb=captures[1],r=parseInt(rgb[0]+rgb[0],16),g=parseInt(rgb[1]+rgb[1],16),b=parseInt(rgb[2]+rgb[2],16),color=new nodes.RGBA(r,g,b,1);color.raw=captures[0];return new Token("color",color)}},rgba:function(){var captures;if(captures=/^#([a-fA-F0-9]{4})[ \t]*/.exec(this.str)){this.skip(captures);var rgb=captures[1],r=parseInt(rgb[0]+rgb[0],16),g=parseInt(rgb[1]+rgb[1],16),b=parseInt(rgb[2]+rgb[2],16),a=parseInt(rgb[3]+rgb[3],16),color=new nodes.RGBA(r,g,b,a/255);color.raw=captures[0];return new Token("color",color)}},rrggbb:function(){var captures;if(captures=/^#([a-fA-F0-9]{6})[ \t]*/.exec(this.str)){this.skip(captures);var rgb=captures[1],r=parseInt(rgb.substr(0,2),16),g=parseInt(rgb.substr(2,2),16),b=parseInt(rgb.substr(4,2),16),color=new nodes.RGBA(r,g,b,1);color.raw=captures[0];return new Token("color",color)}},rrggbbaa:function(){var captures;if(captures=/^#([a-fA-F0-9]{8})[ \t]*/.exec(this.str)){this.skip(captures);var rgb=captures[1],r=parseInt(rgb.substr(0,2),16),g=parseInt(rgb.substr(2,2),16),b=parseInt(rgb.substr(4,2),16),a=parseInt(rgb.substr(6,2),16),color=new nodes.RGBA(r,g,b,a/255);color.raw=captures[0];return new Token("color",color)}},selector:function(){var captures;if(captures=/^\^|.*?(?=\/\/(?![^\[]*\])|[,\n{])/.exec(this.str)){var selector=captures[0];this.skip(captures);return new Token("selector",selector)}}}});require.register("nodes/arguments.js",function(module,exports,require){var Node=require("./node"),nodes=require("../nodes"),utils=require("../utils");var Arguments=module.exports=function Arguments(){nodes.Expression.call(this);this.map={}};Arguments.prototype.__proto__=nodes.Expression.prototype;Arguments.fromExpression=function(expr){var args=new Arguments,len=expr.nodes.length;args.lineno=expr.lineno;args.column=expr.column;args.isList=expr.isList;for(var i=0;ilen)self.nodes[i]=nodes.nil;self.nodes[n]=val}else if(unit.string){node=self.nodes[0];if(node&&"object"==node.nodeName)node.set(unit.string,val.clone())}});return val;case"[]":var expr=new nodes.Expression,vals=utils.unwrap(this).nodes,range=utils.unwrap(right).nodes,node;range.forEach(function(unit){if("unit"==unit.nodeName){node=vals[unit.val<0?vals.length+unit.val:unit.val]}else if("object"==vals[0].nodeName){node=vals[0].get(unit.string)}if(node)expr.push(node)});return expr.isEmpty?nodes.nil:utils.unwrap(expr);case"||":return this.toBoolean().isTrue?this:right;case"in":return Node.prototype.operate.call(this,op,right);case"!=":return this.operate("==",right,val).negate();case"==":var len=this.nodes.length,right=right.toExpression(),a,b;if(len!=right.nodes.length)return nodes.no;for(var i=0;i1)return nodes.yes;return this.first.toBoolean()};Expression.prototype.toString=function(){return"("+this.nodes.map(function(node){return node.toString()}).join(this.isList?", ":" ")+")"};Expression.prototype.toJSON=function(){return{__type:"Expression",isList:this.isList,preserve:this.preserve,lineno:this.lineno,column:this.column,filename:this.filename,nodes:this.nodes}}});require.register("nodes/function.js",function(module,exports,require){var Node=require("./node");var Function=module.exports=function Function(name,params,body){Node.call(this);this.name=name;this.params=params;this.block=body;if("function"==typeof params)this.fn=params};Function.prototype.__defineGetter__("arity",function(){return this.params.length});Function.prototype.__proto__=Node.prototype;Function.prototype.__defineGetter__("hash",function(){return"function "+this.name});Function.prototype.clone=function(parent){ -if(this.fn){var clone=new Function(this.name,this.fn)}else{var clone=new Function(this.name);clone.params=this.params.clone(parent,clone);clone.block=this.block.clone(parent,clone)}clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Function.prototype.toString=function(){if(this.fn){return this.name+"("+this.fn.toString().match(/^function *\w*\((.*?)\)/).slice(1).join(", ")+")"}else{return this.name+"("+this.params.nodes.join(", ")+")"}};Function.prototype.toJSON=function(){var json={__type:"Function",name:this.name,lineno:this.lineno,column:this.column,filename:this.filename};if(this.fn){json.fn=this.fn}else{json.params=this.params;json.block=this.block}return json}});require.register("nodes/group.js",function(module,exports,require){var Node=require("./node");var Group=module.exports=function Group(){Node.call(this);this.nodes=[];this.extends=[]};Group.prototype.__proto__=Node.prototype;Group.prototype.push=function(selector){this.nodes.push(selector)};Group.prototype.__defineGetter__("block",function(){return this.nodes[0].block});Group.prototype.__defineSetter__("block",function(block){for(var i=0,len=this.nodes.length;i=":case"<":case">":case"is a":case"||":case"&&":return this.rgba.operate(op,right);default:return this.rgba.operate(op,right).hsla}};exports.fromRGBA=function(rgba){var r=rgba.r/255,g=rgba.g/255,b=rgba.b/255,a=rgba.a;var min=Math.min(r,g,b),max=Math.max(r,g,b),l=(max+min)/2,d=max-min,h,s;switch(max){case min:h=0;break;case r:h=60*(g-b)/d;break;case g:h=60*(b-r)/d+120;break;case b:h=60*(r-g)/d+240;break}if(max==min){s=0}else if(l<.5){s=d/(2*l)}else{s=d/(2-2*l)}h%=360;s*=100;l*=100;return new HSLA(h,s,l,a)};HSLA.prototype.adjustLightness=function(percent){this.l=clampPercentage(this.l+this.l*(percent/100));return this};HSLA.prototype.adjustHue=function(deg){this.h=clampDegrees(this.h+deg);return this};function clampDegrees(n){n=n%360;return n>=0?n:360+n}function clampPercentage(n){return Math.max(0,Math.min(n,100))}function clampAlpha(n){return Math.max(0,Math.min(n,1))}});require.register("nodes/ident.js",function(module,exports,require){var Node=require("./node"),nodes=require("./index");var Ident=module.exports=function Ident(name,val,mixin){Node.call(this);this.name=name;this.string=name;this.val=val||nodes.nil;this.mixin=!!mixin};Ident.prototype.__defineGetter__("isEmpty",function(){return undefined==this.val});Ident.prototype.__defineGetter__("hash",function(){return this.name});Ident.prototype.__proto__=Node.prototype;Ident.prototype.clone=function(parent){var clone=new Ident(this.name);clone.val=this.val.clone(parent,clone);clone.mixin=this.mixin;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;clone.property=this.property;clone.rest=this.rest;return clone};Ident.prototype.toJSON=function(){return{__type:"Ident",name:this.name,val:this.val,mixin:this.mixin,property:this.property,rest:this.rest,lineno:this.lineno,column:this.column,filename:this.filename}};Ident.prototype.toString=function(){return this.name};Ident.prototype.coerce=function(other){switch(other.nodeName){case"ident":case"string":case"literal":return new Ident(other.string);case"unit":return new Ident(other.toString());default:return Node.prototype.coerce.call(this,other)}};Ident.prototype.operate=function(op,right){var val=right.first;switch(op){case"-":if("unit"==val.nodeName){var expr=new nodes.Expression;val=val.clone();val.val=-val.val;expr.push(this);expr.push(val);return expr}case"+":return new nodes.Ident(this.string+this.coerce(val).string)}return Node.prototype.operate.call(this,op,right)}});require.register("nodes/if.js",function(module,exports,require){var Node=require("./node");var If=module.exports=function If(cond,negate){Node.call(this);this.cond=cond;this.elses=[];if(negate&&negate.nodeName){this.block=negate}else{this.negate=negate}};If.prototype.__proto__=Node.prototype;If.prototype.clone=function(parent){var clone=new If;clone.cond=this.cond.clone(parent,clone);clone.block=this.block.clone(parent,clone);clone.elses=this.elses.map(function(node){return node.clone(parent,clone)});clone.negate=this.negate;clone.postfix=this.postfix;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};If.prototype.toJSON=function(){return{__type:"If",cond:this.cond,block:this.block,elses:this.elses,negate:this.negate,postfix:this.postfix,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/import.js",function(module,exports,require){var Node=require("./node");var Import=module.exports=function Import(expr,once){Node.call(this);this.path=expr;this.once=once||false};Import.prototype.__proto__=Node.prototype;Import.prototype.clone=function(parent){var clone=new Import;clone.path=this.path.nodeName?this.path.clone(parent,clone):this.path;clone.once=this.once;clone.mtime=this.mtime;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Import.prototype.toJSON=function(){return{__type:"Import",path:this.path,once:this.once,mtime:this.mtime,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/extend.js",function(module,exports,require){var Node=require("./node");var Extend=module.exports=function Extend(selectors){Node.call(this);this.selectors=selectors};Extend.prototype.__proto__=Node.prototype;Extend.prototype.clone=function(){return new Extend(this.selectors)};Extend.prototype.toString=function(){return"@extend "+this.selectors.join(", ")};Extend.prototype.toJSON=function(){return{__type:"Extend",selectors:this.selectors,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/index.js",function(module,exports,require){exports.Node=require("./node");exports.Root=require("./root");exports.Null=require("./null");exports.Each=require("./each");exports.If=require("./if");exports.Call=require("./call");exports.UnaryOp=require("./unaryop");exports.BinOp=require("./binop");exports.Ternary=require("./ternary");exports.Block=require("./block");exports.Unit=require("./unit");exports.String=require("./string");exports.HSLA=require("./hsla");exports.RGBA=require("./rgba");exports.Ident=require("./ident");exports.Group=require("./group");exports.Literal=require("./literal");exports.Boolean=require("./boolean");exports.Return=require("./return");exports.Media=require("./media");exports.QueryList=require("./query-list");exports.Query=require("./query");exports.Feature=require("./feature");exports.Params=require("./params");exports.Comment=require("./comment");exports.Keyframes=require("./keyframes");exports.Member=require("./member");exports.Charset=require("./charset");exports.Namespace=require("./namespace");exports.Import=require("./import");exports.Extend=require("./extend");exports.Object=require("./object");exports.Function=require("./function");exports.Property=require("./property");exports.Selector=require("./selector");exports.Expression=require("./expression");exports.Arguments=require("./arguments");exports.Atblock=require("./atblock");exports.Atrule=require("./atrule");exports.Supports=require("./supports");exports.yes=new exports.Boolean(true);exports.no=new exports.Boolean(false);exports.nil=new exports.Null});require.register("nodes/keyframes.js",function(module,exports,require){var Atrule=require("./atrule");var Keyframes=module.exports=function Keyframes(segs,prefix){Atrule.call(this,"keyframes");this.segments=segs;this.prefix=prefix||"official"};Keyframes.prototype.__proto__=Atrule.prototype;Keyframes.prototype.clone=function(parent){var clone=new Keyframes;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;clone.segments=this.segments.map(function(node){return node.clone(parent,clone)});clone.prefix=this.prefix;clone.block=this.block.clone(parent,clone);return clone};Keyframes.prototype.toJSON=function(){return{__type:"Keyframes",segments:this.segments,prefix:this.prefix,block:this.block,lineno:this.lineno,column:this.column,filename:this.filename}};Keyframes.prototype.toString=function(){return"@keyframes "+this.segments.join("")}});require.register("nodes/literal.js",function(module,exports,require){var Node=require("./node"),nodes=require("./index");var Literal=module.exports=function Literal(str){Node.call(this);this.val=str;this.string=str;this.prefixed=false};Literal.prototype.__proto__=Node.prototype;Literal.prototype.__defineGetter__("hash",function(){return this.val});Literal.prototype.toString=function(){return this.val};Literal.prototype.coerce=function(other){switch(other.nodeName){case"ident":case"string":case"literal":return new Literal(other.string);default:return Node.prototype.coerce.call(this,other)}};Literal.prototype.operate=function(op,right){var val=right.first;switch(op){case"+":return new nodes.Literal(this.string+this.coerce(val).string);default:return Node.prototype.operate.call(this,op,right)}};Literal.prototype.toJSON=function(){return{__type:"Literal",val:this.val,string:this.string,prefixed:this.prefixed,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/media.js",function(module,exports,require){var Atrule=require("./atrule");var Media=module.exports=function Media(val){Atrule.call(this,"media");this.val=val};Media.prototype.__proto__=Atrule.prototype;Media.prototype.clone=function(parent){var clone=new Media;clone.val=this.val.clone(parent,clone);clone.block=this.block.clone(parent,clone);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Media.prototype.toJSON=function(){return{__type:"Media",val:this.val,block:this.block,lineno:this.lineno,column:this.column,filename:this.filename}};Media.prototype.toString=function(){return"@media "+this.val}});require.register("nodes/query-list.js",function(module,exports,require){var Node=require("./node");var QueryList=module.exports=function QueryList(){Node.call(this);this.nodes=[]};QueryList.prototype.__proto__=Node.prototype;QueryList.prototype.clone=function(parent){var clone=new QueryList;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;for(var i=0;i=":return nodes.Boolean(this.hash>=right.hash);case"<=":return nodes.Boolean(this.hash<=right.hash);case">":return nodes.Boolean(this.hash>right.hash);case"<":return nodes.Boolean(this.hash1)--h;if(h*6<1)return m1+(m2-m1)*h*6;if(h*2<1)return m2;if(h*3<2)return m1+(m2-m1)*(2/3-h)*6;return m1}return new RGBA(r,g,b,a)};function clamp(n){return Math.max(0,Math.min(n.toFixed(0),255))}function clampAlpha(n){return Math.max(0,Math.min(n,1))}});require.register("nodes/root.js",function(module,exports,require){var Node=require("./node");var Root=module.exports=function Root(){this.nodes=[]};Root.prototype.__proto__=Node.prototype;Root.prototype.push=function(node){this.nodes.push(node)};Root.prototype.unshift=function(node){this.nodes.unshift(node)};Root.prototype.clone=function(){var clone=new Root;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;this.nodes.forEach(function(node){clone.push(node.clone(clone,clone))});return clone};Root.prototype.toString=function(){return"[Root]"};Root.prototype.toJSON=function(){return{__type:"Root",nodes:this.nodes,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/selector.js",function(module,exports,require){var Block=require("./block"),Node=require("./node");var Selector=module.exports=function Selector(segs){Node.call(this);this.inherits=true;this.segments=segs;this.optional=false};Selector.prototype.__proto__=Node.prototype;Selector.prototype.toString=function(){return this.segments.join("")+(this.optional?" !optional":"")};Selector.prototype.__defineGetter__("isPlaceholder",function(){return this.val&&~this.val.substr(0,2).indexOf("$")});Selector.prototype.clone=function(parent){var clone=new Selector;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;clone.inherits=this.inherits;clone.val=this.val;clone.segments=this.segments.map(function(node){return node.clone(parent,clone)});clone.optional=this.optional;return clone};Selector.prototype.toJSON=function(){return{__type:"Selector",inherits:this.inherits,segments:this.segments,optional:this.optional,val:this.val,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/string.js",function(module,exports,require){var Node=require("./node"),sprintf=require("../functions").s,utils=require("../utils"),nodes=require("./index");var String=module.exports=function String(val,quote){Node.call(this);this.val=val;this.string=val;this.prefixed=false;if(typeof quote!=="string"){this.quote="'"}else{this.quote=quote}};String.prototype.__proto__=Node.prototype;String.prototype.toString=function(){return this.quote+this.val+this.quote};String.prototype.clone=function(){var clone=new String(this.val,this.quote);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};String.prototype.toJSON=function(){return{__type:"String",val:this.val,quote:this.quote,lineno:this.lineno,column:this.column,filename:this.filename}};String.prototype.toBoolean=function(){return nodes.Boolean(this.val.length)};String.prototype.coerce=function(other){switch(other.nodeName){case"string":return other;case"expression":return new String(other.nodes.map(function(node){return this.coerce(node).val},this).join(" "));default:return new String(other.toString())}};String.prototype.operate=function(op,right){switch(op){case"%":var expr=new nodes.Expression;expr.push(this);var args="expression"==right.nodeName?utils.unwrap(right).nodes:[right];return sprintf.apply(null,[expr].concat(args));case"+":var expr=new nodes.Expression;expr.push(new String(this.val+this.coerce(right).val));return expr;default:return Node.prototype.operate.call(this,op,right)}}});require.register("nodes/ternary.js",function(module,exports,require){var Node=require("./node");var Ternary=module.exports=function Ternary(cond,trueExpr,falseExpr){Node.call(this);this.cond=cond;this.trueExpr=trueExpr;this.falseExpr=falseExpr};Ternary.prototype.__proto__=Node.prototype;Ternary.prototype.clone=function(parent){var clone=new Ternary;clone.cond=this.cond.clone(parent,clone);clone.trueExpr=this.trueExpr.clone(parent,clone);clone.falseExpr=this.falseExpr.clone(parent,clone);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Ternary.prototype.toJSON=function(){return{__type:"Ternary",cond:this.cond,trueExpr:this.trueExpr,falseExpr:this.falseExpr,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/unaryop.js",function(module,exports,require){var Node=require("./node");var UnaryOp=module.exports=function UnaryOp(op,expr){Node.call(this);this.op=op;this.expr=expr};UnaryOp.prototype.__proto__=Node.prototype;UnaryOp.prototype.clone=function(parent){var clone=new UnaryOp(this.op);clone.expr=this.expr.clone(parent,clone);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};UnaryOp.prototype.toJSON=function(){return{__type:"UnaryOp",op:this.op,expr:this.expr,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/unit.js",function(module,exports,require){var Node=require("./node"),nodes=require("./index");var FACTOR_TABLE={mm:{val:1,label:"mm"},cm:{val:10,label:"mm"},"in":{val:25.4,label:"mm"},pt:{val:25.4/72,label:"mm"},ms:{val:1,label:"ms"},s:{val:1e3,label:"ms"},Hz:{val:1,label:"Hz"},kHz:{val:1e3,label:"Hz"}};var Unit=module.exports=function Unit(val,type){Node.call(this);this.val=val;this.type=type};Unit.prototype.__proto__=Node.prototype;Unit.prototype.toBoolean=function(){return nodes.Boolean(this.type?true:this.val)};Unit.prototype.toString=function(){return this.val+(this.type||"")};Unit.prototype.clone=function(){var clone=new Unit(this.val,this.type);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Unit.prototype.toJSON=function(){return{__type:"Unit",val:this.val,type:this.type,lineno:this.lineno,column:this.column,filename:this.filename}};Unit.prototype.operate=function(op,right){var type=this.type||right.first.type;if("rgba"==right.nodeName||"hsla"==right.nodeName){return right.operate(op,this)}if(this.shouldCoerce(op)){right=right.first;if("%"!=this.type&&("-"==op||"+"==op)&&"%"==right.type){right=new Unit(this.val*(right.val/100),"%")}else{right=this.coerce(right)}switch(op){case"-":return new Unit(this.val-right.val,type);case"+":type=type||right.type=="%"&&right.type;return new Unit(this.val+right.val,type);case"/":return new Unit(this.val/right.val,type);case"*":return new Unit(this.val*right.val,type);case"%":return new Unit(this.val%right.val,type);case"**":return new Unit(Math.pow(this.val,right.val),type);case"..":case"...":var start=this.val,end=right.val,expr=new nodes.Expression,inclusive=".."==op;if(start=end:--start>end)}return expr}}return Node.prototype.operate.call(this,op,right)};Unit.prototype.coerce=function(other){if("unit"==other.nodeName){var a=this,b=other,factorA=FACTOR_TABLE[a.type],factorB=FACTOR_TABLE[b.type];if(factorA&&factorB&&factorA.label==factorB.label){var bVal=b.val*(factorB.val/factorA.val);return new nodes.Unit(bVal,a.type)}else{return new nodes.Unit(b.val,a.type)}}else if("string"==other.nodeName){if("%"==other.val)return new nodes.Unit(0,"%");var val=parseFloat(other.val);if(isNaN(val))Node.prototype.coerce.call(this,other);return new nodes.Unit(val)}else{return Node.prototype.coerce.call(this,other)}}});require.register("nodes/object.js",function(module,exports,require){var Node=require("./node"),nodes=require("./index"),nativeObj={}.constructor;var Object=module.exports=function Object(){Node.call(this);this.vals={}};Object.prototype.__proto__=Node.prototype;Object.prototype.set=function(key,val){this.vals[key]=val;return this};Object.prototype.__defineGetter__("length",function(){return nativeObj.keys(this.vals).length});Object.prototype.get=function(key){return this.vals[key]||nodes.nil};Object.prototype.has=function(key){return key in this.vals};Object.prototype.operate=function(op,right){switch(op){case".":case"[]":return this.get(right.hash);case"==":var vals=this.vals,a,b;if("object"!=right.nodeName||this.length!=right.length)return nodes.no;for(var key in vals){a=vals[key];b=right.vals[key];if(a.operate(op,b).isFalse)return nodes.no; -}return nodes.yes;case"!=":return this.operate("==",right).negate();default:return Node.prototype.operate.call(this,op,right)}};Object.prototype.toBoolean=function(){return nodes.Boolean(this.length)};Object.prototype.toBlock=function(){var str="{",key,val;for(key in this.vals){val=this.get(key);if("object"==val.first.nodeName){str+=key+" "+val.first.toBlock()}else{switch(key){case"@charset":str+=key+" "+val.first.toString()+";";break;default:str+=key+":"+toString(val)+";"}}}str+="}";return str;function toString(node){if(node.nodes){return node.nodes.map(toString).join(node.isList?",":" ")}else if("literal"==node.nodeName&&","==node.val){return"\\,"}return node.toString()}};Object.prototype.clone=function(parent){var clone=new Object;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;for(var key in this.vals){clone.vals[key]=this.vals[key].clone(parent,clone)}return clone};Object.prototype.toJSON=function(){return{__type:"Object",vals:this.vals,lineno:this.lineno,column:this.column,filename:this.filename}};Object.prototype.toString=function(){var obj={};for(var prop in this.vals){obj[prop]=this.vals[prop].toString()}return JSON.stringify(obj)}});require.register("nodes/supports.js",function(module,exports,require){var Atrule=require("./atrule");var Supports=module.exports=function Supports(condition){Atrule.call(this,"supports");this.condition=condition};Supports.prototype.__proto__=Atrule.prototype;Supports.prototype.clone=function(parent){var clone=new Supports;clone.condition=this.condition.clone(parent,clone);clone.block=this.block.clone(parent,clone);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Supports.prototype.toJSON=function(){return{__type:"Supports",condition:this.condition,block:this.block,lineno:this.lineno,column:this.column,filename:this.filename}};Supports.prototype.toString=function(){return"@supports "+this.condition}});require.register("nodes/member.js",function(module,exports,require){var Node=require("./node");var Member=module.exports=function Member(left,right){Node.call(this);this.left=left;this.right=right};Member.prototype.__proto__=Node.prototype;Member.prototype.clone=function(parent){var clone=new Member;clone.left=this.left.clone(parent,clone);clone.right=this.right.clone(parent,clone);if(this.val)clone.val=this.val.clone(parent,clone);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Member.prototype.toJSON=function(){var json={__type:"Member",left:this.left,right:this.right,lineno:this.lineno,column:this.column,filename:this.filename};if(this.val)json.val=this.val;return json};Member.prototype.toString=function(){return this.left.toString()+"."+this.right.toString()}});require.register("nodes/atblock.js",function(module,exports,require){var Node=require("./node");var Atblock=module.exports=function Atblock(){Node.call(this)};Atblock.prototype.__defineGetter__("nodes",function(){return this.block.nodes});Atblock.prototype.__proto__=Node.prototype;Atblock.prototype.clone=function(parent){var clone=new Atblock;clone.block=this.block.clone(parent,clone);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Atblock.prototype.toString=function(){return"@block"};Atblock.prototype.toJSON=function(){return{__type:"Atblock",block:this.block,lineno:this.lineno,column:this.column,fileno:this.fileno}}});require.register("nodes/atrule.js",function(module,exports,require){var Node=require("./node");var Atrule=module.exports=function Atrule(type){Node.call(this);this.type=type};Atrule.prototype.__proto__=Node.prototype;Atrule.prototype.__defineGetter__("hasOnlyProperties",function(){if(!this.block)return false;var nodes=this.block.nodes;for(var i=0,len=nodes.length;i","=",":","&","&&","~","{","}",".","..","/"];var pseudoSelectors=["matches","not","dir","lang","any-link","link","visited","local-link","target","scope","hover","active","focus","drop","current","past","future","enabled","disabled","read-only","read-write","placeholder-shown","checked","indeterminate","valid","invalid","in-range","out-of-range","required","optional","user-error","root","empty","blank","nth-child","nth-last-child","first-child","last-child","only-child","nth-of-type","nth-last-of-type","first-of-type","last-of-type","only-of-type","nth-match","nth-last-match","nth-column","nth-last-column","first-line","first-letter","before","after","selection"];var Parser=module.exports=function Parser(str,options){var self=this;options=options||{};this.lexer=new Lexer(str,options);this.prefix=options.prefix||"";this.root=options.root||new nodes.Root;this.state=["root"];this.stash=[];this.parens=0;this.css=0;this.state.pop=function(){self.prevState=[].pop.call(this)}};Parser.prototype={constructor:Parser,currentState:function(){return this.state[this.state.length-1]},previousState:function(){return this.state[this.state.length-2]},parse:function(){var block=this.parent=this.root;while("eos"!=this.peek().type){this.skipWhitespace();if("eos"==this.peek().type)break;var stmt=this.statement();this.accept(";");if(!stmt)this.error("unexpected token {peek}, not allowed at the root level");block.push(stmt)}return block},error:function(msg){var type=this.peek().type,val=undefined==this.peek().val?"":" "+this.peek().toString();if(val.trim()==type.trim())val="";throw new errors.ParseError(msg.replace("{peek}",'"'+type+val+'"'))},accept:function(type){if(type==this.peek().type){return this.next()}},expect:function(type){if(type!=this.peek().type){this.error('expected "'+type+'", got {peek}')}return this.next()},next:function(){var tok=this.stash.length?this.stash.pop():this.lexer.next(),line=tok.lineno,column=tok.column||1;if(tok.val&&tok.val.nodeName){tok.val.lineno=line;tok.val.column=column}nodes.lineno=line;nodes.column=column;return tok},peek:function(){return this.lexer.peek()},lookahead:function(n){return this.lexer.lookahead(n)},isSelectorToken:function(n){var la=this.lookahead(n).type;switch(la){case"for":return this.bracketed;case"[":this.bracketed=true;return true;case"]":this.bracketed=false;return true;default:return~selectorTokens.indexOf(la)}},isPseudoSelector:function(n){var val=this.lookahead(n).val;return val&&~pseudoSelectors.indexOf(val.name)},lineContains:function(type){var i=1,la;while(la=this.lookahead(i++)){if(~["indent","outdent","newline","eos"].indexOf(la.type))return;if(type==la.type)return true}},selectorToken:function(){if(this.isSelectorToken(1)){if("{"==this.peek().type){if(!this.lineContains("}"))return;var i=0,la;while(la=this.lookahead(++i)){if("}"==la.type){if(i==2||i==3&&this.lookahead(i-1).type=="space")return;break}if(":"==la.type)return}}return this.next()}},skip:function(tokens){while(~tokens.indexOf(this.peek().type))this.next()},skipWhitespace:function(){this.skip(["space","indent","outdent","newline"])},skipNewlines:function(){while("newline"==this.peek().type)this.next()},skipSpaces:function(){while("space"==this.peek().type)this.next()},skipSpacesAndComments:function(){while("space"==this.peek().type||"comment"==this.peek().type)this.next()},looksLikeFunctionDefinition:function(i){return"indent"==this.lookahead(i).type||"{"==this.lookahead(i).type},looksLikeSelector:function(fromProperty){var i=1,brace;if(fromProperty&&":"==this.lookahead(i+1).type&&(this.lookahead(i+1).space||"indent"==this.lookahead(i+2).type))return false;while("ident"==this.lookahead(i).type&&("newline"==this.lookahead(i+1).type||","==this.lookahead(i+1).type))i+=2;while(this.isSelectorToken(i)||","==this.lookahead(i).type){if("selector"==this.lookahead(i).type)return true;if("&"==this.lookahead(i+1).type)return true;if("."==this.lookahead(i).type&&"ident"==this.lookahead(i+1).type)return true;if("*"==this.lookahead(i).type&&"newline"==this.lookahead(i+1).type)return true;if(":"==this.lookahead(i).type&&":"==this.lookahead(i+1).type)return true;if("color"==this.lookahead(i).type&&"newline"==this.lookahead(i-1).type)return true;if(this.looksLikeAttributeSelector(i))return true;if(("="==this.lookahead(i).type||"function"==this.lookahead(i).type)&&"{"==this.lookahead(i+1).type)return false;if(":"==this.lookahead(i).type&&!this.isPseudoSelector(i+1)&&this.lineContains("."))return false;if("{"==this.lookahead(i).type)brace=true;else if("}"==this.lookahead(i).type)brace=false;if(brace&&":"==this.lookahead(i).type)return true;if("space"==this.lookahead(i).type&&"{"==this.lookahead(i+1).type)return true;if(":"==this.lookahead(i++).type&&!this.lookahead(i-1).space&&this.isPseudoSelector(i))return true;if("space"==this.lookahead(i).type&&"newline"==this.lookahead(i+1).type&&"{"==this.lookahead(i+2).type)return true;if(","==this.lookahead(i).type&&"newline"==this.lookahead(i+1).type)return true}if(","==this.lookahead(i).type&&"newline"==this.lookahead(i+1).type)return true;if("{"==this.lookahead(i).type&&"newline"==this.lookahead(i+1).type)return true;if(this.css){if(";"==this.lookahead(i).type||"}"==this.lookahead(i-1).type)return false}while(!~["indent","outdent","newline","for","if",";","}","eos"].indexOf(this.lookahead(i).type))++i;if("indent"==this.lookahead(i).type)return true},looksLikeAttributeSelector:function(n){var type=this.lookahead(n).type;if("="==type&&this.bracketed)return true;return("ident"==type||"string"==type)&&"]"==this.lookahead(n+1).type&&("newline"==this.lookahead(n+2).type||this.isSelectorToken(n+2))&&!this.lineContains(":")&&!this.lineContains("=")},looksLikeKeyframe:function(){var i=2,type;switch(this.lookahead(i).type){case"{":case"indent":case",":return true;case"newline":while("unit"==this.lookahead(++i).type||"newline"==this.lookahead(i).type);type=this.lookahead(i).type;return"indent"==type||"{"==type}},stateAllowsSelector:function(){switch(this.currentState()){case"root":case"atblock":case"selector":case"conditional":case"function":case"atrule":case"for":return true}},assignAtblock:function(expr){try{expr.push(this.atblock(expr))}catch(err){this.error("invalid right-hand side operand in assignment, got {peek}")}},statement:function(){var stmt=this.stmt(),state=this.prevState,block,op;if(this.allowPostfix){this.allowPostfix=false;state="expression"}switch(state){case"assignment":case"expression":case"function arguments":while(op=this.accept("if")||this.accept("unless")||this.accept("for")){switch(op.type){case"if":case"unless":stmt=new nodes.If(this.expression(),stmt);stmt.postfix=true;stmt.negate="unless"==op.type;this.accept(";");break;case"for":var key,val=this.id().name;if(this.accept(","))key=this.id().name;this.expect("in");var each=new nodes.Each(val,key,this.expression());block=new nodes.Block(this.parent,each);block.push(stmt);each.block=block;stmt=each}}}return stmt},stmt:function(){var type=this.peek().type;switch(type){case"keyframes":return this.keyframes();case"-moz-document":return this.mozdocument();case"comment":case"selector":case"extend":case"literal":case"charset":case"namespace":case"require":case"extend":case"media":case"atrule":case"ident":case"scope":case"supports":case"unless":return this[type]();case"function":return this.fun();case"import":return this.atimport();case"if":return this.ifstmt();case"for":return this.forin();case"return":return this.ret();case"{":return this.property();default:if(this.stateAllowsSelector()){switch(type){case"color":case"~":case">":case"<":case":":case"&":case"&&":case"[":case".":case"/":return this.selector();case"..":if("/"==this.lookahead(2).type)return this.selector();case"+":return"function"==this.lookahead(2).type?this.functionCall():this.selector();case"*":return this.property();case"unit":if(this.looksLikeKeyframe())return this.selector();case"-":if("{"==this.lookahead(2).type)return this.property()}}var expr=this.expression();if(expr.isEmpty)this.error("unexpected {peek}");return expr}},block:function(node,scope){var delim,stmt,next,block=this.parent=new nodes.Block(this.parent,node);if(false===scope)block.scope=false;this.accept("newline");if(this.accept("{")){this.css++;delim="}";this.skipWhitespace()}else{delim="outdent";this.expect("indent")}while(delim!=this.peek().type){if(this.css){if(this.accept("newline")||this.accept("indent"))continue;stmt=this.statement();this.accept(";");this.skipWhitespace()}else{if(this.accept("newline"))continue;next=this.lookahead(2).type;if("indent"==this.peek().type&&~["outdent","newline","comment"].indexOf(next)){this.skip(["indent","outdent"]);continue}if("eos"==this.peek().type)return block;stmt=this.statement();this.accept(";")}if(!stmt)this.error("unexpected token {peek} in block");block.push(stmt)}if(this.css){this.skipWhitespace();this.expect("}");this.skipSpaces();this.css--}else{this.expect("outdent")}this.parent=block.parent;return block},comment:function(){var node=this.next().val;this.skipSpaces();return node},forin:function(){this.expect("for");var key,val=this.id().name;if(this.accept(","))key=this.id().name;this.expect("in");this.state.push("for");this.cond=true;var each=new nodes.Each(val,key,this.expression());this.cond=false;each.block=this.block(each,false);this.state.pop();return each},ret:function(){this.expect("return");var expr=this.expression();return expr.isEmpty?new nodes.Return:new nodes.Return(expr)},unless:function(){this.expect("unless");this.state.push("conditional");this.cond=true;var node=new nodes.If(this.expression(),true);this.cond=false;node.block=this.block(node,false);this.state.pop();return node},ifstmt:function(){this.expect("if");this.state.push("conditional");this.cond=true;var node=new nodes.If(this.expression()),cond,block;this.cond=false;node.block=this.block(node,false);this.skip(["newline","comment"]);while(this.accept("else")){if(this.accept("if")){this.cond=true;cond=this.expression();this.cond=false;block=this.block(node,false);node.elses.push(new nodes.If(cond,block))}else{node.elses.push(this.block(node,false));break}this.skip(["newline","comment"])}this.state.pop();return node},atblock:function(node){if(!node)this.expect("atblock");node=new nodes.Atblock;this.state.push("atblock");node.block=this.block(node,false);this.state.pop();return node},atrule:function(){var type=this.expect("atrule").val,node=new nodes.Atrule(type),tok;this.skipSpacesAndComments();node.segments=this.selectorParts();this.skipSpacesAndComments();tok=this.peek().type;if("indent"==tok||"{"==tok||"newline"==tok&&"{"==this.lookahead(2).type){this.state.push("atrule");node.block=this.block(node);this.state.pop()}return node},scope:function(){this.expect("scope");var selector=this.selectorParts().map(function(selector){return selector.val}).join("");this.selectorScope=selector.trim();return nodes.nil},supports:function(){this.expect("supports");var node=new nodes.Supports(this.supportsCondition());this.state.push("atrule");node.block=this.block(node);this.state.pop();return node},supportsCondition:function(){var node=this.supportsNegation()||this.supportsOp();if(!node){this.cond=true;node=this.expression();this.cond=false}return node},supportsNegation:function(){if(this.accept("not")){var node=new nodes.Expression;node.push(new nodes.Literal("not"));node.push(this.supportsFeature());return node}},supportsOp:function(){var feature=this.supportsFeature(),op,expr;if(feature){expr=new nodes.Expression;expr.push(feature);while(op=this.accept("&&")||this.accept("||")){expr.push(new nodes.Literal("&&"==op.val?"and":"or"));expr.push(this.supportsFeature())}return expr}},supportsFeature:function(){this.skipSpacesAndComments();if("("==this.peek().type){var la=this.lookahead(2).type;if("ident"==la||"{"==la){return this.feature()}else{this.expect("(");var node=new nodes.Expression;node.push(new nodes.Literal("("));node.push(this.supportsCondition());this.expect(")");node.push(new nodes.Literal(")"));this.skipSpacesAndComments();return node}}},extend:function(){var tok=this.expect("extend"),selectors=[],sel,node,arr;do{arr=this.selectorParts();if(!arr.length)continue;sel=new nodes.Selector(arr);selectors.push(sel);if("!"!==this.peek().type)continue;tok=this.lookahead(2);if("ident"!==tok.type||"optional"!==tok.val.name)continue;this.skip(["!","ident"]);sel.optional=true}while(this.accept(","));node=new nodes.Extend(selectors);node.lineno=tok.lineno;node.column=tok.column;return node},media:function(){this.expect("media");this.state.push("atrule");var media=new nodes.Media(this.queries());media.block=this.block(media);this.state.pop();return media},queries:function(){var queries=new nodes.QueryList,skip=["comment","newline","space"];do{this.skip(skip);queries.push(this.query());this.skip(skip)}while(this.accept(","));return queries},query:function(){var query=new nodes.Query,expr,pred,id;if("ident"==this.peek().type&&("."==this.lookahead(2).type||"["==this.lookahead(2).type)){this.cond=true;expr=this.expression();this.cond=false;query.push(new nodes.Feature(expr.nodes));return query}if(pred=this.accept("ident")||this.accept("not")){pred=new nodes.Literal(pred.val.string||pred.val);this.skipSpacesAndComments();if(id=this.accept("ident")){query.type=id.val;query.predicate=pred}else{query.type=pred}this.skipSpacesAndComments();if(!this.accept("&&"))return query}do{query.push(this.feature())}while(this.accept("&&"));return query},feature:function(){this.skipSpacesAndComments();this.expect("(");this.skipSpacesAndComments();var node=new nodes.Feature(this.interpolate());this.skipSpacesAndComments();this.accept(":");this.skipSpacesAndComments();this.inProperty=true;node.expr=this.list();this.inProperty=false;this.skipSpacesAndComments();this.expect(")");this.skipSpacesAndComments();return node},mozdocument:function(){this.expect("-moz-document");var mozdocument=new nodes.Atrule("-moz-document"),calls=[];do{this.skipSpacesAndComments();calls.push(this.functionCall());this.skipSpacesAndComments()}while(this.accept(","));mozdocument.segments=[new nodes.Literal(calls.join(", "))];this.state.push("atrule");mozdocument.block=this.block(mozdocument,false);this.state.pop();return mozdocument},atimport:function(){this.expect("import");this.allowPostfix=true;return new nodes.Import(this.expression(),false)},require:function(){this.expect("require");this.allowPostfix=true;return new nodes.Import(this.expression(),true)},charset:function(){this.expect("charset");var str=this.expect("string").val;this.allowPostfix=true;return new nodes.Charset(str)},namespace:function(){var str,prefix;this.expect("namespace");this.skipSpacesAndComments();if(prefix=this.accept("ident")){prefix=prefix.val}this.skipSpacesAndComments();str=this.accept("string")||this.url();this.allowPostfix=true;return new nodes.Namespace(str,prefix)},keyframes:function(){var tok=this.expect("keyframes"),keyframes;this.skipSpacesAndComments();keyframes=new nodes.Keyframes(this.selectorParts(),tok.val);this.skipSpacesAndComments();this.state.push("atrule");keyframes.block=this.block(keyframes);this.state.pop();return keyframes},literal:function(){return this.expect("literal").val},id:function(){var tok=this.expect("ident");this.accept("space");return tok.val},ident:function(){var i=2,la=this.lookahead(i).type;while("space"==la)la=this.lookahead(++i).type;switch(la){case"=":case"?=":case"-=":case"+=":case"*=":case"/=":case"%=":return this.assignment();case".":if("space"==this.lookahead(i-1).type)return this.selector();if(this._ident==this.peek())return this.id();while("="!=this.lookahead(++i).type&&!~["[",",","newline","indent","eos"].indexOf(this.lookahead(i).type));if("="==this.lookahead(i).type){this._ident=this.peek();return this.expression()}else if(this.looksLikeSelector()&&this.stateAllowsSelector()){return this.selector()}case"[":if(this._ident==this.peek())return this.id();while("]"!=this.lookahead(i++).type&&"selector"!=this.lookahead(i).type&&"eos"!=this.lookahead(i).type);if("="==this.lookahead(i).type){this._ident=this.peek();return this.expression()}else if(this.looksLikeSelector()&&this.stateAllowsSelector()){return this.selector()}case"-":case"+":case"/":case"*":case"%":case"**":case"&&":case"||":case">":case"<":case">=":case"<=":case"!=":case"==":case"?":case"in":case"is a":case"is defined":if(this._ident==this.peek()){return this.id()}else{this._ident=this.peek();switch(this.currentState()){case"for":case"selector":return this.property();case"root":case"atblock":case"atrule":return"["==la?this.subscript():this.selector();case"function":case"conditional":return this.looksLikeSelector()?this.selector():this.expression();default:return this.operand?this.id():this.expression()}}default:switch(this.currentState()){case"root":return this.selector();case"for":case"selector":case"function":case"conditional":case"atblock":case"atrule":return this.property();default:var id=this.id();if("interpolation"==this.previousState())id.mixin=true;return id}}},interpolate:function(){var node,segs=[],star;star=this.accept("*");if(star)segs.push(new nodes.Literal("*"));while(true){if(this.accept("{")){this.state.push("interpolation");segs.push(this.expression());this.expect("}");this.state.pop()}else if(node=this.accept("-")){segs.push(new nodes.Literal("-"))}else if(node=this.accept("ident")){segs.push(node.val)}else{break}}if(!segs.length)this.expect("ident");return segs},property:function(){if(this.looksLikeSelector(true))return this.selector();var ident=this.interpolate(),prop=new nodes.Property(ident),ret=prop;this.accept("space");if(this.accept(":"))this.accept("space");this.state.push("property");this.inProperty=true;prop.expr=this.list();if(prop.expr.isEmpty)ret=ident[0];this.inProperty=false;this.allowPostfix=true;this.state.pop();this.accept(";");return ret},selector:function(){var arr,group=new nodes.Group,scope=this.selectorScope,isRoot="root"==this.currentState(),selector;do{this.accept("newline");arr=this.selectorParts();if(isRoot&&scope)arr.unshift(new nodes.Literal(scope+" "));if(arr.length){selector=new nodes.Selector(arr);selector.lineno=arr[0].lineno;selector.column=arr[0].column;group.push(selector)}}while(this.accept(",")||this.accept("newline"));if("selector-parts"==this.currentState())return group.nodes;this.state.push("selector");group.block=this.block(group);this.state.pop();return group},selectorParts:function(){var tok,arr=[];while(tok=this.selectorToken()){switch(tok.type){case"{":this.skipSpaces();var expr=this.expression();this.skipSpaces();this.expect("}");arr.push(expr);break;case this.prefix&&".":var literal=new nodes.Literal(tok.val+this.prefix);literal.prefixed=true;arr.push(literal);break;case"comment":break;case"color":case"unit":arr.push(new nodes.Literal(tok.val.raw));break;case"space":arr.push(new nodes.Literal(" "));break;case"function":arr.push(new nodes.Literal(tok.val.name+"("));break;case"ident":arr.push(new nodes.Literal(tok.val.name||tok.val.string));break;default:arr.push(new nodes.Literal(tok.val));if(tok.space)arr.push(new nodes.Literal(" "))}}return arr},assignment:function(){var op,node,name=this.id().name;if(op=this.accept("=")||this.accept("?=")||this.accept("+=")||this.accept("-=")||this.accept("*=")||this.accept("/=")||this.accept("%=")){this.state.push("assignment");var expr=this.list();if(expr.isEmpty)this.assignAtblock(expr);node=new nodes.Ident(name,expr);this.state.pop();switch(op.type){case"?=":var defined=new nodes.BinOp("is defined",node),lookup=new nodes.Expression;lookup.push(new nodes.Ident(name));node=new nodes.Ternary(defined,lookup,node);break;case"+=":case"-=":case"*=":case"/=":case"%=":node.val=new nodes.BinOp(op.type[0],new nodes.Ident(name),expr);break}}return node},fun:function(){var parens=1,i=2,tok;out:while(tok=this.lookahead(i++)){switch(tok.type){case"function":case"(":++parens;break;case")":if(!--parens)break out;break;case"eos":this.error('failed to find closing paren ")"')}}switch(this.currentState()){case"expression":return this.functionCall();default:return this.looksLikeFunctionDefinition(i)?this.functionDefinition():this.expression()}},url:function(){this.expect("function");this.state.push("function arguments");var args=this.args();this.expect(")");this.state.pop();return new nodes.Call("url",args)},functionCall:function(){var withBlock=this.accept("+");if("url"==this.peek().val.name)return this.url();var name=this.expect("function").val.name;this.state.push("function arguments");this.parens++;var args=this.args();this.expect(")");this.parens--;this.state.pop();var call=new nodes.Call(name,args);if(withBlock){this.state.push("function");call.block=this.block(call);this.state.pop()}return call},functionDefinition:function(){var name=this.expect("function").val.name;this.state.push("function params");this.skipWhitespace();var params=this.params();this.skipWhitespace();this.expect(")");this.state.pop();this.state.push("function");var fn=new nodes.Function(name,params);fn.block=this.block(fn);this.state.pop();return new nodes.Ident(name,fn)},params:function(){var tok,node,params=new nodes.Params;while(tok=this.accept("ident")){this.accept("space");params.push(node=tok.val);if(this.accept("...")){node.rest=true}else if(this.accept("=")){node.val=this.expression()}this.skipWhitespace();this.accept(",");this.skipWhitespace()}return params},args:function(){var args=new nodes.Arguments,keyword;do{if("ident"==this.peek().type&&":"==this.lookahead(2).type){keyword=this.next().val.string;this.expect(":");args.map[keyword]=this.expression()}else{args.push(this.expression())}}while(this.accept(","));return args},list:function(){var node=this.expression();while(this.accept(",")){if(node.isList){list.push(this.expression())}else{var list=new nodes.Expression(true);list.push(node);list.push(this.expression());node=list}}return node},expression:function(){var node,expr=new nodes.Expression;this.state.push("expression");while(node=this.negation()){if(!node)this.error("unexpected token {peek} in expression");expr.push(node)}this.state.pop();if(expr.nodes.length){expr.lineno=expr.nodes[0].lineno;expr.column=expr.nodes[0].column}return expr},negation:function(){if(this.accept("not")){return new nodes.UnaryOp("!",this.negation())}return this.ternary()},ternary:function(){var node=this.logical();if(this.accept("?")){var trueExpr=this.expression();this.expect(":");var falseExpr=this.expression();node=new nodes.Ternary(node,trueExpr,falseExpr)}return node},logical:function(){var op,node=this.typecheck();while(op=this.accept("&&")||this.accept("||")){node=new nodes.BinOp(op.type,node,this.typecheck())}return node},typecheck:function(){var op,node=this.equality();while(op=this.accept("is a")){this.operand=true;if(!node)this.error('illegal unary "'+op+'", missing left-hand operand');node=new nodes.BinOp(op.type,node,this.equality());this.operand=false}return node},equality:function(){var op,node=this.inop();while(op=this.accept("==")||this.accept("!=")){this.operand=true;if(!node)this.error('illegal unary "'+op+'", missing left-hand operand');node=new nodes.BinOp(op.type,node,this.inop());this.operand=false}return node},inop:function(){var node=this.relational();while(this.accept("in")){this.operand=true;if(!node)this.error('illegal unary "in", missing left-hand operand');node=new nodes.BinOp("in",node,this.relational());this.operand=false}return node},relational:function(){var op,node=this.range();while(op=this.accept(">=")||this.accept("<=")||this.accept("<")||this.accept(">")){this.operand=true;if(!node)this.error('illegal unary "'+op+'", missing left-hand operand');node=new nodes.BinOp(op.type,node,this.range());this.operand=false}return node},range:function(){var op,node=this.additive();if(op=this.accept("...")||this.accept("..")){this.operand=true;if(!node)this.error('illegal unary "'+op+'", missing left-hand operand');node=new nodes.BinOp(op.val,node,this.additive());this.operand=false}return node},additive:function(){var op,node=this.multiplicative();while(op=this.accept("+")||this.accept("-")){this.operand=true;node=new nodes.BinOp(op.type,node,this.multiplicative());this.operand=false}return node},multiplicative:function(){var op,node=this.defined();while(op=this.accept("**")||this.accept("*")||this.accept("/")||this.accept("%")){this.operand=true;if("/"==op&&this.inProperty&&!this.parens){this.stash.push(new Token("literal",new nodes.Literal("/")));this.operand=false;return node}else{if(!node)this.error('illegal unary "'+op+'", missing left-hand operand');node=new nodes.BinOp(op.type,node,this.defined());this.operand=false}}return node},defined:function(){var node=this.unary();if(this.accept("is defined")){if(!node)this.error('illegal unary "is defined", missing left-hand operand');node=new nodes.BinOp("is defined",node)}return node},unary:function(){var op,node;if(op=this.accept("!")||this.accept("~")||this.accept("+")||this.accept("-")){this.operand=true;node=this.unary();if(!node)this.error('illegal unary "'+op+'"');node=new nodes.UnaryOp(op.type,node);this.operand=false;return node}return this.subscript()},subscript:function(){var node=this.member(),id;while(this.accept("[")){node=new nodes.BinOp("[]",node,this.expression());this.expect("]")}if(this.accept("=")){node.op+="=";node.val=this.list();if(node.val.isEmpty)this.assignAtblock(node.val)}return node},member:function(){var node=this.primary();if(node){while(this.accept(".")){var id=new nodes.Ident(this.expect("ident").val.string);node=new nodes.Member(node,id)}this.skipSpaces();if(this.accept("=")){node.val=this.list();if(node.val.isEmpty)this.assignAtblock(node.val)}}return node},object:function(){var obj=new nodes.Object,id,val,comma;this.expect("{");this.skipWhitespace();while(!this.accept("}")){if(this.accept("comment")||this.accept("newline"))continue;if(!comma)this.accept(",");id=this.accept("ident")||this.accept("string");if(!id)this.error('expected "ident" or "string", got {peek}');id=id.val.hash;this.skipSpacesAndComments();this.expect(":");val=this.expression();obj.set(id,val);comma=this.accept(",");this.skipWhitespace()}return obj},primary:function(){var tok;this.skipSpaces();if(this.accept("(")){++this.parens;var expr=this.expression(),paren=this.expect(")");--this.parens;if(this.accept("%"))expr.push(new nodes.Ident("%"));tok=this.peek();if(!paren.space&&"ident"==tok.type&&~units.indexOf(tok.val.string)){expr.push(new nodes.Ident(tok.val.string));this.next()}return expr}tok=this.peek();switch(tok.type){case"null":case"unit":case"color":case"string":case"literal":case"boolean":case"comment":return this.next().val;case!this.cond&&"{":return this.object();case"atblock":return this.atblock();case"atrule":var id=new nodes.Ident(this.next().val);id.property=true; -return id;case"ident":return this.ident();case"function":return tok.anonymous?this.functionDefinition():this.functionCall()}}}});require.register("renderer.js",function(module,exports,require){var Parser=require("./parser"),Evaluator=require("./visitor/evaluator"),Normalizer=require("./visitor/normalizer"),utils=require("./utils"),nodes=require("./nodes"),join=require("./path").join;module.exports=Renderer;function Renderer(str,options){options=options||{};options.globals=options.globals||{};options.functions=options.functions||{};options.use=options.use||[];options.use=Array.isArray(options.use)?options.use:[options.use];options.imports=[];options.paths=options.paths||[];options.filename=options.filename||"stylus";options.Evaluator=options.Evaluator||Evaluator;this.options=options;this.str=str}Renderer.prototype.render=function(fn){var parser=this.parser=new Parser(this.str,this.options);for(var i=0,len=this.options.use.length;i","+","~"];var SelectorParser=module.exports=function SelectorParser(str,stack,parts){this.str=str;this.stack=stack||[];this.parts=parts||[];this.pos=0;this.level=2;this.nested=true;this.ignore=false};SelectorParser.prototype.skip=function(len){this.str=this.str.substr(len);this.pos+=len};SelectorParser.prototype.skipSpaces=function(){while(" "==this.str[0])this.skip(1)};SelectorParser.prototype.advance=function(){return this.root()||this.relative()||this.initial()||this.escaped()||this.parent()||this.partial()||this.char()};SelectorParser.prototype.root=function(){if(!this.pos&&"/"==this.str[0]&&"deep"!=this.str.slice(1,5)){this.nested=false;this.skip(1)}};SelectorParser.prototype.relative=function(multi){if((!this.pos||multi)&&"../"==this.str.slice(0,3)){this.nested=false;this.skip(3);while(this.relative(true))this.level++;if(!this.raw){var ret=this.stack[this.stack.length-this.level];if(ret){return ret}else{this.ignore=true}}}};SelectorParser.prototype.initial=function(){if(!this.pos&&"~"==this.str[0]&&"/"==this.str[1]){this.nested=false;this.skip(2);return this.stack[0]}};SelectorParser.prototype.escaped=function(){if("\\"==this.str[0]){var char=this.str[1];if("&"==char||"^"==char){this.skip(2);return char}}};SelectorParser.prototype.parent=function(){if("&"==this.str[0]){this.nested=false;if(!this.pos&&(!this.stack.length||this.raw)){var i=0;while(" "==this.str[++i]);if(~COMBINATORS.indexOf(this.str[i])){this.skip(i+1);return}}this.skip(1);if(!this.raw)return this.stack[this.stack.length-1]}};SelectorParser.prototype.partial=function(){if("^"==this.str[0]&&"["==this.str[1]){this.skip(2);this.skipSpaces();var ret=this.range();this.skipSpaces();if("]"!=this.str[0])return"^[";this.nested=false;this.skip(1);if(ret){return ret}else{this.ignore=true}}};SelectorParser.prototype.number=function(){var i=0,ret="";if("-"==this.str[i])ret+=this.str[i++];while(this.str.charCodeAt(i)>=48&&this.str.charCodeAt(i)<=57)ret+=this.str[i++];if(ret){this.skip(i);return Number(ret)}};SelectorParser.prototype.range=function(){var start=this.number(),ret;if(".."==this.str.slice(0,2)){this.skip(2);var end=this.number(),len=this.parts.length;if(start<0)start=len+start-1;if(end<0)end=len+end-1;if(start>end){var tmp=start;start=end;end=tmp}if(end-1){return n.toString().replace("0.",".")+type}}return(float?parseFloat(n.toFixed(15)):n).toString()+type};Compiler.prototype.visitGroup=function(group){var stack=this.keyframe?[]:this.stack,comma=this.compress?",":",\n";stack.push(group.nodes);if(group.block.hasProperties){var selectors=utils.compileSelectors.call(this,stack),len=selectors.length;if(len){if(this.keyframe)comma=this.compress?",":", ";for(var i=0;i200){throw new RangeError("Maximum stylus call stack size exceeded")}if("expression"==fn.nodeName)fn=fn.first;this.ret++;var args=this.visit(call.args);for(var key in args.map){args.map[key]=this.visit(args.map[key].clone())}this.ret--;if(fn.fn){ret=this.invokeBuiltin(fn.fn,args)}else if("function"==fn.nodeName){if(call.block)call.block=this.visit(call.block);ret=this.invokeFunction(fn,args,call.block)}this.calling.pop();this.ignoreColors=false;return ret};Evaluator.prototype.visitIdent=function(ident){var prop;if(ident.property){if(prop=this.lookupProperty(ident.name)){return this.visit(prop.expr.clone())}return nodes.nil}else if(ident.val.isNull){var val=this.lookup(ident.name);if(val&&ident.mixin)this.mixinNode(val);return val?this.visit(val):ident}else{this.ret++;ident.val=this.visit(ident.val);this.ret--;this.currentScope.add(ident);return ident.val}};Evaluator.prototype.visitBinOp=function(binop){if("is defined"==binop.op)return this.isDefined(binop.left); -this.ret++;var op=binop.op,left=this.visit(binop.left),right="||"==op||"&&"==op?binop.right:this.visit(binop.right);var val=binop.val?this.visit(binop.val):null;this.ret--;try{return this.visit(left.operate(op,right,val))}catch(err){if("CoercionError"==err.name){switch(op){case"==":return nodes.no;case"!=":return nodes.yes}}throw err}};Evaluator.prototype.visitUnaryOp=function(unary){var op=unary.op,node=this.visit(unary.expr);if("!"!=op){node=node.first.clone();utils.assertType(node,"unit")}switch(op){case"-":node.val=-node.val;break;case"+":node.val=+node.val;break;case"~":node.val=~node.val;break;case"!":return node.toBoolean().negate()}return node};Evaluator.prototype.visitTernary=function(ternary){var ok=this.visit(ternary.cond).toBoolean();return ok.isTrue?this.visit(ternary.trueExpr):this.visit(ternary.falseExpr)};Evaluator.prototype.visitExpression=function(expr){for(var i=0,len=expr.nodes.length;i1){for(var i=0;i0&&!~part.indexOf("&")){part="/"+part}s=new nodes.Selector([new nodes.Literal(part)]);s.val=part;s.block=group.block;group.nodes[i++]=s}});stack.push(group.nodes);var selectors=utils.compileSelectors(stack,true);selectors.forEach(function(selector){map[selector]=map[selector]||[];map[selector].push(group)});this.extend(group,selectors);stack.pop();return group};Normalizer.prototype.visitFunction=function(){return nodes.nil};Normalizer.prototype.visitMedia=function(media){var medias=[],group=this.closestGroup(media.block),parent;function mergeQueries(block){block.nodes.forEach(function(node,i){switch(node.nodeName){case"media":node.val=media.val.merge(node.val);medias.push(node);block.nodes[i]=nodes.nil;break;case"block":mergeQueries(node);break;default:if(node.block&&node.block.nodes)mergeQueries(node.block)}})}mergeQueries(media.block);this.bubble(media);if(medias.length){medias.forEach(function(node){if(group){group.block.push(node)}else{this.root.nodes.splice(++this.rootIndex,0,node)}node=this.visit(node);parent=node.block.parent;if(node.bubbled&&(!group||"group"==parent.node.nodeName)){node.group.block=node.block.nodes[0].block;node.block.nodes[0]=node.group}},this)}return media};Normalizer.prototype.visitSupports=function(node){this.bubble(node);return node};Normalizer.prototype.visitAtrule=function(node){if(node.block)node.block=this.visit(node.block);return node};Normalizer.prototype.visitKeyframes=function(node){var frames=node.block.nodes.filter(function(frame){return frame.block&&frame.block.hasProperties});node.frames=frames.length;return node};Normalizer.prototype.visitImport=function(node){this.imports.push(node);return this.hoist?nodes.nil:node};Normalizer.prototype.visitCharset=function(node){this.charset=node;return this.hoist?nodes.nil:node};Normalizer.prototype.extend=function(group,selectors){var map=this.map,self=this,parent=this.closestGroup(group.block);group.extends.forEach(function(extend){var groups=map[extend.selector];if(!groups){if(extend.optional)return;var err=new Error('Failed to @extend "'+extend.selector+'"');err.lineno=extend.lineno;err.column=extend.column;throw err}selectors.forEach(function(selector){var node=new nodes.Selector;node.val=selector;node.inherits=false;groups.forEach(function(group){if(!parent||parent!=group)self.extend(group,selectors);group.push(node)})})});group.block=this.visit(group.block)}});return require("stylus")}(); \ No newline at end of file diff --git a/app/lib/typescript.js b/app/lib/typescript.js deleted file mode 100644 index ee6f756..0000000 --- a/app/lib/typescript.js +++ /dev/null @@ -1,40 +0,0 @@ -var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},ts;!function(e){var t;!function(e){e[e.Unknown=0]="Unknown",e[e.EndOfFileToken=1]="EndOfFileToken",e[e.SingleLineCommentTrivia=2]="SingleLineCommentTrivia",e[e.MultiLineCommentTrivia=3]="MultiLineCommentTrivia",e[e.NewLineTrivia=4]="NewLineTrivia",e[e.WhitespaceTrivia=5]="WhitespaceTrivia",e[e.ShebangTrivia=6]="ShebangTrivia",e[e.ConflictMarkerTrivia=7]="ConflictMarkerTrivia",e[e.NumericLiteral=8]="NumericLiteral",e[e.StringLiteral=9]="StringLiteral",e[e.JsxText=10]="JsxText",e[e.RegularExpressionLiteral=11]="RegularExpressionLiteral",e[e.NoSubstitutionTemplateLiteral=12]="NoSubstitutionTemplateLiteral",e[e.TemplateHead=13]="TemplateHead",e[e.TemplateMiddle=14]="TemplateMiddle",e[e.TemplateTail=15]="TemplateTail",e[e.OpenBraceToken=16]="OpenBraceToken",e[e.CloseBraceToken=17]="CloseBraceToken",e[e.OpenParenToken=18]="OpenParenToken",e[e.CloseParenToken=19]="CloseParenToken",e[e.OpenBracketToken=20]="OpenBracketToken",e[e.CloseBracketToken=21]="CloseBracketToken",e[e.DotToken=22]="DotToken",e[e.DotDotDotToken=23]="DotDotDotToken",e[e.SemicolonToken=24]="SemicolonToken",e[e.CommaToken=25]="CommaToken",e[e.LessThanToken=26]="LessThanToken",e[e.LessThanSlashToken=27]="LessThanSlashToken",e[e.GreaterThanToken=28]="GreaterThanToken",e[e.LessThanEqualsToken=29]="LessThanEqualsToken",e[e.GreaterThanEqualsToken=30]="GreaterThanEqualsToken",e[e.EqualsEqualsToken=31]="EqualsEqualsToken",e[e.ExclamationEqualsToken=32]="ExclamationEqualsToken",e[e.EqualsEqualsEqualsToken=33]="EqualsEqualsEqualsToken",e[e.ExclamationEqualsEqualsToken=34]="ExclamationEqualsEqualsToken",e[e.EqualsGreaterThanToken=35]="EqualsGreaterThanToken",e[e.PlusToken=36]="PlusToken",e[e.MinusToken=37]="MinusToken",e[e.AsteriskToken=38]="AsteriskToken",e[e.AsteriskAsteriskToken=39]="AsteriskAsteriskToken",e[e.SlashToken=40]="SlashToken",e[e.PercentToken=41]="PercentToken",e[e.PlusPlusToken=42]="PlusPlusToken",e[e.MinusMinusToken=43]="MinusMinusToken",e[e.LessThanLessThanToken=44]="LessThanLessThanToken",e[e.GreaterThanGreaterThanToken=45]="GreaterThanGreaterThanToken",e[e.GreaterThanGreaterThanGreaterThanToken=46]="GreaterThanGreaterThanGreaterThanToken",e[e.AmpersandToken=47]="AmpersandToken",e[e.BarToken=48]="BarToken",e[e.CaretToken=49]="CaretToken",e[e.ExclamationToken=50]="ExclamationToken",e[e.TildeToken=51]="TildeToken",e[e.AmpersandAmpersandToken=52]="AmpersandAmpersandToken",e[e.BarBarToken=53]="BarBarToken",e[e.QuestionToken=54]="QuestionToken",e[e.ColonToken=55]="ColonToken",e[e.AtToken=56]="AtToken",e[e.EqualsToken=57]="EqualsToken",e[e.PlusEqualsToken=58]="PlusEqualsToken",e[e.MinusEqualsToken=59]="MinusEqualsToken",e[e.AsteriskEqualsToken=60]="AsteriskEqualsToken",e[e.AsteriskAsteriskEqualsToken=61]="AsteriskAsteriskEqualsToken",e[e.SlashEqualsToken=62]="SlashEqualsToken",e[e.PercentEqualsToken=63]="PercentEqualsToken",e[e.LessThanLessThanEqualsToken=64]="LessThanLessThanEqualsToken",e[e.GreaterThanGreaterThanEqualsToken=65]="GreaterThanGreaterThanEqualsToken",e[e.GreaterThanGreaterThanGreaterThanEqualsToken=66]="GreaterThanGreaterThanGreaterThanEqualsToken",e[e.AmpersandEqualsToken=67]="AmpersandEqualsToken",e[e.BarEqualsToken=68]="BarEqualsToken",e[e.CaretEqualsToken=69]="CaretEqualsToken",e[e.Identifier=70]="Identifier",e[e.BreakKeyword=71]="BreakKeyword",e[e.CaseKeyword=72]="CaseKeyword",e[e.CatchKeyword=73]="CatchKeyword",e[e.ClassKeyword=74]="ClassKeyword",e[e.ConstKeyword=75]="ConstKeyword",e[e.ContinueKeyword=76]="ContinueKeyword",e[e.DebuggerKeyword=77]="DebuggerKeyword",e[e.DefaultKeyword=78]="DefaultKeyword",e[e.DeleteKeyword=79]="DeleteKeyword",e[e.DoKeyword=80]="DoKeyword",e[e.ElseKeyword=81]="ElseKeyword",e[e.EnumKeyword=82]="EnumKeyword",e[e.ExportKeyword=83]="ExportKeyword",e[e.ExtendsKeyword=84]="ExtendsKeyword",e[e.FalseKeyword=85]="FalseKeyword",e[e.FinallyKeyword=86]="FinallyKeyword",e[e.ForKeyword=87]="ForKeyword",e[e.FunctionKeyword=88]="FunctionKeyword",e[e.IfKeyword=89]="IfKeyword",e[e.ImportKeyword=90]="ImportKeyword",e[e.InKeyword=91]="InKeyword",e[e.InstanceOfKeyword=92]="InstanceOfKeyword",e[e.NewKeyword=93]="NewKeyword",e[e.NullKeyword=94]="NullKeyword",e[e.ReturnKeyword=95]="ReturnKeyword",e[e.SuperKeyword=96]="SuperKeyword",e[e.SwitchKeyword=97]="SwitchKeyword",e[e.ThisKeyword=98]="ThisKeyword",e[e.ThrowKeyword=99]="ThrowKeyword",e[e.TrueKeyword=100]="TrueKeyword",e[e.TryKeyword=101]="TryKeyword",e[e.TypeOfKeyword=102]="TypeOfKeyword",e[e.VarKeyword=103]="VarKeyword",e[e.VoidKeyword=104]="VoidKeyword",e[e.WhileKeyword=105]="WhileKeyword",e[e.WithKeyword=106]="WithKeyword",e[e.ImplementsKeyword=107]="ImplementsKeyword",e[e.InterfaceKeyword=108]="InterfaceKeyword",e[e.LetKeyword=109]="LetKeyword",e[e.PackageKeyword=110]="PackageKeyword",e[e.PrivateKeyword=111]="PrivateKeyword",e[e.ProtectedKeyword=112]="ProtectedKeyword",e[e.PublicKeyword=113]="PublicKeyword",e[e.StaticKeyword=114]="StaticKeyword",e[e.YieldKeyword=115]="YieldKeyword",e[e.AbstractKeyword=116]="AbstractKeyword",e[e.AsKeyword=117]="AsKeyword",e[e.AnyKeyword=118]="AnyKeyword",e[e.AsyncKeyword=119]="AsyncKeyword",e[e.AwaitKeyword=120]="AwaitKeyword",e[e.BooleanKeyword=121]="BooleanKeyword",e[e.ConstructorKeyword=122]="ConstructorKeyword",e[e.DeclareKeyword=123]="DeclareKeyword",e[e.GetKeyword=124]="GetKeyword",e[e.IsKeyword=125]="IsKeyword",e[e.KeyOfKeyword=126]="KeyOfKeyword",e[e.ModuleKeyword=127]="ModuleKeyword",e[e.NamespaceKeyword=128]="NamespaceKeyword",e[e.NeverKeyword=129]="NeverKeyword",e[e.ReadonlyKeyword=130]="ReadonlyKeyword",e[e.RequireKeyword=131]="RequireKeyword",e[e.NumberKeyword=132]="NumberKeyword",e[e.SetKeyword=133]="SetKeyword",e[e.StringKeyword=134]="StringKeyword",e[e.SymbolKeyword=135]="SymbolKeyword",e[e.TypeKeyword=136]="TypeKeyword",e[e.UndefinedKeyword=137]="UndefinedKeyword",e[e.FromKeyword=138]="FromKeyword",e[e.GlobalKeyword=139]="GlobalKeyword",e[e.OfKeyword=140]="OfKeyword",e[e.QualifiedName=141]="QualifiedName",e[e.ComputedPropertyName=142]="ComputedPropertyName",e[e.TypeParameter=143]="TypeParameter",e[e.Parameter=144]="Parameter",e[e.Decorator=145]="Decorator",e[e.PropertySignature=146]="PropertySignature",e[e.PropertyDeclaration=147]="PropertyDeclaration",e[e.MethodSignature=148]="MethodSignature",e[e.MethodDeclaration=149]="MethodDeclaration",e[e.Constructor=150]="Constructor",e[e.GetAccessor=151]="GetAccessor",e[e.SetAccessor=152]="SetAccessor",e[e.CallSignature=153]="CallSignature",e[e.ConstructSignature=154]="ConstructSignature",e[e.IndexSignature=155]="IndexSignature",e[e.TypePredicate=156]="TypePredicate",e[e.TypeReference=157]="TypeReference",e[e.FunctionType=158]="FunctionType",e[e.ConstructorType=159]="ConstructorType",e[e.TypeQuery=160]="TypeQuery",e[e.TypeLiteral=161]="TypeLiteral",e[e.ArrayType=162]="ArrayType",e[e.TupleType=163]="TupleType",e[e.UnionType=164]="UnionType",e[e.IntersectionType=165]="IntersectionType",e[e.ParenthesizedType=166]="ParenthesizedType",e[e.ThisType=167]="ThisType",e[e.TypeOperator=168]="TypeOperator",e[e.IndexedAccessType=169]="IndexedAccessType",e[e.MappedType=170]="MappedType",e[e.LiteralType=171]="LiteralType",e[e.ObjectBindingPattern=172]="ObjectBindingPattern",e[e.ArrayBindingPattern=173]="ArrayBindingPattern",e[e.BindingElement=174]="BindingElement",e[e.ArrayLiteralExpression=175]="ArrayLiteralExpression",e[e.ObjectLiteralExpression=176]="ObjectLiteralExpression",e[e.PropertyAccessExpression=177]="PropertyAccessExpression",e[e.ElementAccessExpression=178]="ElementAccessExpression",e[e.CallExpression=179]="CallExpression",e[e.NewExpression=180]="NewExpression",e[e.TaggedTemplateExpression=181]="TaggedTemplateExpression",e[e.TypeAssertionExpression=182]="TypeAssertionExpression",e[e.ParenthesizedExpression=183]="ParenthesizedExpression",e[e.FunctionExpression=184]="FunctionExpression",e[e.ArrowFunction=185]="ArrowFunction",e[e.DeleteExpression=186]="DeleteExpression",e[e.TypeOfExpression=187]="TypeOfExpression",e[e.VoidExpression=188]="VoidExpression",e[e.AwaitExpression=189]="AwaitExpression",e[e.PrefixUnaryExpression=190]="PrefixUnaryExpression",e[e.PostfixUnaryExpression=191]="PostfixUnaryExpression",e[e.BinaryExpression=192]="BinaryExpression",e[e.ConditionalExpression=193]="ConditionalExpression",e[e.TemplateExpression=194]="TemplateExpression",e[e.YieldExpression=195]="YieldExpression",e[e.SpreadElement=196]="SpreadElement",e[e.ClassExpression=197]="ClassExpression",e[e.OmittedExpression=198]="OmittedExpression",e[e.ExpressionWithTypeArguments=199]="ExpressionWithTypeArguments";e[e.AsExpression=200]="AsExpression";e[e.NonNullExpression=201]="NonNullExpression",e[e.TemplateSpan=202]="TemplateSpan",e[e.SemicolonClassElement=203]="SemicolonClassElement",e[e.Block=204]="Block",e[e.VariableStatement=205]="VariableStatement",e[e.EmptyStatement=206]="EmptyStatement",e[e.ExpressionStatement=207]="ExpressionStatement",e[e.IfStatement=208]="IfStatement",e[e.DoStatement=209]="DoStatement",e[e.WhileStatement=210]="WhileStatement",e[e.ForStatement=211]="ForStatement",e[e.ForInStatement=212]="ForInStatement",e[e.ForOfStatement=213]="ForOfStatement",e[e.ContinueStatement=214]="ContinueStatement",e[e.BreakStatement=215]="BreakStatement",e[e.ReturnStatement=216]="ReturnStatement",e[e.WithStatement=217]="WithStatement",e[e.SwitchStatement=218]="SwitchStatement",e[e.LabeledStatement=219]="LabeledStatement",e[e.ThrowStatement=220]="ThrowStatement",e[e.TryStatement=221]="TryStatement",e[e.DebuggerStatement=222]="DebuggerStatement",e[e.VariableDeclaration=223]="VariableDeclaration",e[e.VariableDeclarationList=224]="VariableDeclarationList",e[e.FunctionDeclaration=225]="FunctionDeclaration",e[e.ClassDeclaration=226]="ClassDeclaration",e[e.InterfaceDeclaration=227]="InterfaceDeclaration",e[e.TypeAliasDeclaration=228]="TypeAliasDeclaration",e[e.EnumDeclaration=229]="EnumDeclaration",e[e.ModuleDeclaration=230]="ModuleDeclaration",e[e.ModuleBlock=231]="ModuleBlock",e[e.CaseBlock=232]="CaseBlock",e[e.NamespaceExportDeclaration=233]="NamespaceExportDeclaration",e[e.ImportEqualsDeclaration=234]="ImportEqualsDeclaration",e[e.ImportDeclaration=235]="ImportDeclaration",e[e.ImportClause=236]="ImportClause",e[e.NamespaceImport=237]="NamespaceImport",e[e.NamedImports=238]="NamedImports",e[e.ImportSpecifier=239]="ImportSpecifier",e[e.ExportAssignment=240]="ExportAssignment",e[e.ExportDeclaration=241]="ExportDeclaration",e[e.NamedExports=242]="NamedExports",e[e.ExportSpecifier=243]="ExportSpecifier",e[e.MissingDeclaration=244]="MissingDeclaration",e[e.ExternalModuleReference=245]="ExternalModuleReference",e[e.JsxElement=246]="JsxElement",e[e.JsxSelfClosingElement=247]="JsxSelfClosingElement",e[e.JsxOpeningElement=248]="JsxOpeningElement",e[e.JsxClosingElement=249]="JsxClosingElement",e[e.JsxAttribute=250]="JsxAttribute",e[e.JsxSpreadAttribute=251]="JsxSpreadAttribute",e[e.JsxExpression=252]="JsxExpression",e[e.CaseClause=253]="CaseClause",e[e.DefaultClause=254]="DefaultClause",e[e.HeritageClause=255]="HeritageClause",e[e.CatchClause=256]="CatchClause",e[e.PropertyAssignment=257]="PropertyAssignment",e[e.ShorthandPropertyAssignment=258]="ShorthandPropertyAssignment",e[e.SpreadAssignment=259]="SpreadAssignment",e[e.EnumMember=260]="EnumMember",e[e.SourceFile=261]="SourceFile",e[e.JSDocTypeExpression=262]="JSDocTypeExpression",e[e.JSDocAllType=263]="JSDocAllType",e[e.JSDocUnknownType=264]="JSDocUnknownType",e[e.JSDocArrayType=265]="JSDocArrayType",e[e.JSDocUnionType=266]="JSDocUnionType",e[e.JSDocTupleType=267]="JSDocTupleType",e[e.JSDocNullableType=268]="JSDocNullableType",e[e.JSDocNonNullableType=269]="JSDocNonNullableType",e[e.JSDocRecordType=270]="JSDocRecordType",e[e.JSDocRecordMember=271]="JSDocRecordMember",e[e.JSDocTypeReference=272]="JSDocTypeReference",e[e.JSDocOptionalType=273]="JSDocOptionalType",e[e.JSDocFunctionType=274]="JSDocFunctionType",e[e.JSDocVariadicType=275]="JSDocVariadicType",e[e.JSDocConstructorType=276]="JSDocConstructorType",e[e.JSDocThisType=277]="JSDocThisType",e[e.JSDocComment=278]="JSDocComment",e[e.JSDocTag=279]="JSDocTag",e[e.JSDocAugmentsTag=280]="JSDocAugmentsTag",e[e.JSDocParameterTag=281]="JSDocParameterTag",e[e.JSDocReturnTag=282]="JSDocReturnTag",e[e.JSDocTypeTag=283]="JSDocTypeTag",e[e.JSDocTemplateTag=284]="JSDocTemplateTag",e[e.JSDocTypedefTag=285]="JSDocTypedefTag",e[e.JSDocPropertyTag=286]="JSDocPropertyTag",e[e.JSDocTypeLiteral=287]="JSDocTypeLiteral",e[e.JSDocLiteralType=288]="JSDocLiteralType",e[e.JSDocNullKeyword=289]="JSDocNullKeyword",e[e.JSDocUndefinedKeyword=290]="JSDocUndefinedKeyword",e[e.JSDocNeverKeyword=291]="JSDocNeverKeyword",e[e.SyntaxList=292]="SyntaxList",e[e.NotEmittedStatement=293]="NotEmittedStatement",e[e.PartiallyEmittedExpression=294]="PartiallyEmittedExpression",e[e.MergeDeclarationMarker=295]="MergeDeclarationMarker",e[e.EndOfDeclarationMarker=296]="EndOfDeclarationMarker",e[e.RawExpression=297]="RawExpression",e[e.Count=298]="Count",e[e.FirstAssignment=57]="FirstAssignment",e[e.LastAssignment=69]="LastAssignment",e[e.FirstCompoundAssignment=58]="FirstCompoundAssignment",e[e.LastCompoundAssignment=69]="LastCompoundAssignment",e[e.FirstReservedWord=71]="FirstReservedWord",e[e.LastReservedWord=106]="LastReservedWord",e[e.FirstKeyword=71]="FirstKeyword",e[e.LastKeyword=140]="LastKeyword",e[e.FirstFutureReservedWord=107]="FirstFutureReservedWord",e[e.LastFutureReservedWord=115]="LastFutureReservedWord",e[e.FirstTypeNode=156]="FirstTypeNode",e[e.LastTypeNode=171]="LastTypeNode",e[e.FirstPunctuation=16]="FirstPunctuation",e[e.LastPunctuation=69]="LastPunctuation",e[e.FirstToken=0]="FirstToken",e[e.LastToken=140]="LastToken",e[e.FirstTriviaToken=2]="FirstTriviaToken",e[e.LastTriviaToken=7]="LastTriviaToken",e[e.FirstLiteralToken=8]="FirstLiteralToken",e[e.LastLiteralToken=12]="LastLiteralToken",e[e.FirstTemplateToken=12]="FirstTemplateToken",e[e.LastTemplateToken=15]="LastTemplateToken",e[e.FirstBinaryOperator=26]="FirstBinaryOperator",e[e.LastBinaryOperator=69]="LastBinaryOperator",e[e.FirstNode=141]="FirstNode",e[e.FirstJSDocNode=262]="FirstJSDocNode",e[e.LastJSDocNode=288]="LastJSDocNode",e[e.FirstJSDocTagNode=278]="FirstJSDocTagNode",e[e.LastJSDocTagNode=291]="LastJSDocTagNode"}(t=e.SyntaxKind||(e.SyntaxKind={}));var n;!function(e){e[e.None=0]="None",e[e.Let=1]="Let",e[e.Const=2]="Const",e[e.NestedNamespace=4]="NestedNamespace",e[e.Synthesized=8]="Synthesized",e[e.Namespace=16]="Namespace",e[e.ExportContext=32]="ExportContext",e[e.ContainsThis=64]="ContainsThis",e[e.HasImplicitReturn=128]="HasImplicitReturn",e[e.HasExplicitReturn=256]="HasExplicitReturn",e[e.GlobalAugmentation=512]="GlobalAugmentation",e[e.HasAsyncFunctions=1024]="HasAsyncFunctions",e[e.DisallowInContext=2048]="DisallowInContext",e[e.YieldContext=4096]="YieldContext",e[e.DecoratorContext=8192]="DecoratorContext",e[e.AwaitContext=16384]="AwaitContext",e[e.ThisNodeHasError=32768]="ThisNodeHasError",e[e.JavaScriptFile=65536]="JavaScriptFile",e[e.ThisNodeOrAnySubNodesHasError=131072]="ThisNodeOrAnySubNodesHasError",e[e.HasAggregatedChildData=262144]="HasAggregatedChildData",e[e.BlockScoped=3]="BlockScoped",e[e.ReachabilityCheckFlags=384]="ReachabilityCheckFlags",e[e.ReachabilityAndEmitFlags=1408]="ReachabilityAndEmitFlags",e[e.ContextFlags=96256]="ContextFlags",e[e.TypeExcludesFlags=20480]="TypeExcludesFlags"}(n=e.NodeFlags||(e.NodeFlags={}));var r;!function(e){e[e.None=0]="None",e[e.Export=1]="Export",e[e.Ambient=2]="Ambient",e[e.Public=4]="Public",e[e.Private=8]="Private",e[e.Protected=16]="Protected",e[e.Static=32]="Static",e[e.Readonly=64]="Readonly",e[e.Abstract=128]="Abstract",e[e.Async=256]="Async",e[e.Default=512]="Default",e[e.Const=2048]="Const",e[e.HasComputedFlags=536870912]="HasComputedFlags",e[e.AccessibilityModifier=28]="AccessibilityModifier",e[e.ParameterPropertyModifier=92]="ParameterPropertyModifier",e[e.NonPublicAccessibilityModifier=24]="NonPublicAccessibilityModifier",e[e.TypeScriptModifier=2270]="TypeScriptModifier",e[e.ExportDefault=513]="ExportDefault"}(r=e.ModifierFlags||(e.ModifierFlags={}));var a;!function(e){e[e.None=0]="None",e[e.IntrinsicNamedElement=1]="IntrinsicNamedElement",e[e.IntrinsicIndexedElement=2]="IntrinsicIndexedElement",e[e.IntrinsicElement=3]="IntrinsicElement"}(a=e.JsxFlags||(e.JsxFlags={}));var i;!function(e){e[e.Succeeded=1]="Succeeded",e[e.Failed=2]="Failed",e[e.FailedAndReported=3]="FailedAndReported"}(i=e.RelationComparisonResult||(e.RelationComparisonResult={}));var o;!function(e){e[e.None=0]="None",e[e.Auto=1]="Auto",e[e.Loop=2]="Loop",e[e.Unique=3]="Unique",e[e.Node=4]="Node"}(o=e.GeneratedIdentifierKind||(e.GeneratedIdentifierKind={}));var s;!function(e){e[e.Unreachable=1]="Unreachable",e[e.Start=2]="Start",e[e.BranchLabel=4]="BranchLabel",e[e.LoopLabel=8]="LoopLabel",e[e.Assignment=16]="Assignment",e[e.TrueCondition=32]="TrueCondition",e[e.FalseCondition=64]="FalseCondition",e[e.SwitchClause=128]="SwitchClause",e[e.ArrayMutation=256]="ArrayMutation",e[e.Referenced=512]="Referenced",e[e.Shared=1024]="Shared",e[e.Label=12]="Label",e[e.Condition=96]="Condition"}(s=e.FlowFlags||(e.FlowFlags={}));var c=function(){function e(){}return e}();e.OperationCanceledException=c;var u;!function(e){e[e.Success=0]="Success",e[e.DiagnosticsPresent_OutputsSkipped=1]="DiagnosticsPresent_OutputsSkipped",e[e.DiagnosticsPresent_OutputsGenerated=2]="DiagnosticsPresent_OutputsGenerated"}(u=e.ExitStatus||(e.ExitStatus={}));var _;!function(e){e[e.None=0]="None",e[e.WriteArrayAsGenericType=1]="WriteArrayAsGenericType",e[e.UseTypeOfFunction=2]="UseTypeOfFunction",e[e.NoTruncation=4]="NoTruncation",e[e.WriteArrowStyleSignature=8]="WriteArrowStyleSignature",e[e.WriteOwnNameForAnyLike=16]="WriteOwnNameForAnyLike",e[e.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",e[e.InElementType=64]="InElementType",e[e.UseFullyQualifiedType=128]="UseFullyQualifiedType",e[e.InFirstTypeArgument=256]="InFirstTypeArgument",e[e.InTypeAlias=512]="InTypeAlias",e[e.UseTypeAliasValue=1024]="UseTypeAliasValue"}(_=e.TypeFormatFlags||(e.TypeFormatFlags={}));var l;!function(e){e[e.None=0]="None",e[e.WriteTypeParametersOrArguments=1]="WriteTypeParametersOrArguments",e[e.UseOnlyExternalAliasing=2]="UseOnlyExternalAliasing"}(l=e.SymbolFormatFlags||(e.SymbolFormatFlags={}));var d;!function(e){e[e.Accessible=0]="Accessible",e[e.NotAccessible=1]="NotAccessible",e[e.CannotBeNamed=2]="CannotBeNamed"}(d=e.SymbolAccessibility||(e.SymbolAccessibility={}));var p;!function(e){e[e.UnionOrIntersection=0]="UnionOrIntersection",e[e.Spread=1]="Spread"}(p=e.SyntheticSymbolKind||(e.SyntheticSymbolKind={}));var f;!function(e){e[e.This=0]="This",e[e.Identifier=1]="Identifier"}(f=e.TypePredicateKind||(e.TypePredicateKind={}));var m;!function(e){e[e.Unknown=0]="Unknown",e[e.TypeWithConstructSignatureAndValue=1]="TypeWithConstructSignatureAndValue",e[e.VoidNullableOrNeverType=2]="VoidNullableOrNeverType",e[e.NumberLikeType=3]="NumberLikeType",e[e.StringLikeType=4]="StringLikeType",e[e.BooleanType=5]="BooleanType",e[e.ArrayLikeType=6]="ArrayLikeType",e[e.ESSymbolType=7]="ESSymbolType",e[e.Promise=8]="Promise",e[e.TypeWithCallSignature=9]="TypeWithCallSignature",e[e.ObjectType=10]="ObjectType"}(m=e.TypeReferenceSerializationKind||(e.TypeReferenceSerializationKind={}));var g;!function(e){e[e.None=0]="None",e[e.FunctionScopedVariable=1]="FunctionScopedVariable",e[e.BlockScopedVariable=2]="BlockScopedVariable",e[e.Property=4]="Property",e[e.EnumMember=8]="EnumMember",e[e.Function=16]="Function",e[e.Class=32]="Class",e[e.Interface=64]="Interface",e[e.ConstEnum=128]="ConstEnum",e[e.RegularEnum=256]="RegularEnum",e[e.ValueModule=512]="ValueModule",e[e.NamespaceModule=1024]="NamespaceModule",e[e.TypeLiteral=2048]="TypeLiteral",e[e.ObjectLiteral=4096]="ObjectLiteral",e[e.Method=8192]="Method",e[e.Constructor=16384]="Constructor",e[e.GetAccessor=32768]="GetAccessor",e[e.SetAccessor=65536]="SetAccessor",e[e.Signature=131072]="Signature",e[e.TypeParameter=262144]="TypeParameter",e[e.TypeAlias=524288]="TypeAlias",e[e.ExportValue=1048576]="ExportValue",e[e.ExportType=2097152]="ExportType",e[e.ExportNamespace=4194304]="ExportNamespace",e[e.Alias=8388608]="Alias",e[e.Instantiated=16777216]="Instantiated",e[e.Merged=33554432]="Merged",e[e.Transient=67108864]="Transient",e[e.Prototype=134217728]="Prototype",e[e.SyntheticProperty=268435456]="SyntheticProperty",e[e.Optional=536870912]="Optional",e[e.ExportStar=1073741824]="ExportStar",e[e.Enum=384]="Enum",e[e.Variable=3]="Variable",e[e.Value=107455]="Value",e[e.Type=793064]="Type",e[e.Namespace=1920]="Namespace",e[e.Module=1536]="Module",e[e.Accessor=98304]="Accessor",e[e.FunctionScopedVariableExcludes=107454]="FunctionScopedVariableExcludes",e[e.BlockScopedVariableExcludes=107455]="BlockScopedVariableExcludes",e[e.ParameterExcludes=107455]="ParameterExcludes",e[e.PropertyExcludes=0]="PropertyExcludes",e[e.EnumMemberExcludes=900095]="EnumMemberExcludes",e[e.FunctionExcludes=106927]="FunctionExcludes",e[e.ClassExcludes=899519]="ClassExcludes",e[e.InterfaceExcludes=792968]="InterfaceExcludes",e[e.RegularEnumExcludes=899327]="RegularEnumExcludes",e[e.ConstEnumExcludes=899967]="ConstEnumExcludes",e[e.ValueModuleExcludes=106639]="ValueModuleExcludes",e[e.NamespaceModuleExcludes=0]="NamespaceModuleExcludes",e[e.MethodExcludes=99263]="MethodExcludes",e[e.GetAccessorExcludes=41919]="GetAccessorExcludes",e[e.SetAccessorExcludes=74687]="SetAccessorExcludes",e[e.TypeParameterExcludes=530920]="TypeParameterExcludes",e[e.TypeAliasExcludes=793064]="TypeAliasExcludes",e[e.AliasExcludes=8388608]="AliasExcludes",e[e.ModuleMember=8914931]="ModuleMember",e[e.ExportHasLocal=944]="ExportHasLocal",e[e.HasExports=1952]="HasExports",e[e.HasMembers=6240]="HasMembers",e[e.BlockScoped=418]="BlockScoped",e[e.PropertyOrAccessor=98308]="PropertyOrAccessor",e[e.Export=7340032]="Export",e[e.ClassMember=106500]="ClassMember",e[e.Classifiable=788448]="Classifiable"}(g=e.SymbolFlags||(e.SymbolFlags={}));var y;!function(e){e[e.TypeChecked=1]="TypeChecked",e[e.LexicalThis=2]="LexicalThis",e[e.CaptureThis=4]="CaptureThis",e[e.SuperInstance=256]="SuperInstance",e[e.SuperStatic=512]="SuperStatic",e[e.ContextChecked=1024]="ContextChecked",e[e.AsyncMethodWithSuper=2048]="AsyncMethodWithSuper",e[e.AsyncMethodWithSuperBinding=4096]="AsyncMethodWithSuperBinding",e[e.CaptureArguments=8192]="CaptureArguments",e[e.EnumValuesComputed=16384]="EnumValuesComputed",e[e.LexicalModuleMergesWithClass=32768]="LexicalModuleMergesWithClass",e[e.LoopWithCapturedBlockScopedBinding=65536]="LoopWithCapturedBlockScopedBinding",e[e.CapturedBlockScopedBinding=131072]="CapturedBlockScopedBinding",e[e.BlockScopedBindingInLoop=262144]="BlockScopedBindingInLoop",e[e.ClassWithBodyScopedClassBinding=524288]="ClassWithBodyScopedClassBinding",e[e.BodyScopedClassBinding=1048576]="BodyScopedClassBinding",e[e.NeedsLoopOutParameter=2097152]="NeedsLoopOutParameter",e[e.AssignmentsMarked=4194304]="AssignmentsMarked",e[e.ClassWithConstructorReference=8388608]="ClassWithConstructorReference",e[e.ConstructorReferenceInClass=16777216]="ConstructorReferenceInClass"}(y=e.NodeCheckFlags||(e.NodeCheckFlags={}));var v;!function(e){e[e.Any=1]="Any",e[e.String=2]="String",e[e.Number=4]="Number",e[e.Boolean=8]="Boolean",e[e.Enum=16]="Enum",e[e.StringLiteral=32]="StringLiteral",e[e.NumberLiteral=64]="NumberLiteral",e[e.BooleanLiteral=128]="BooleanLiteral",e[e.EnumLiteral=256]="EnumLiteral",e[e.ESSymbol=512]="ESSymbol",e[e.Void=1024]="Void",e[e.Undefined=2048]="Undefined",e[e.Null=4096]="Null",e[e.Never=8192]="Never",e[e.TypeParameter=16384]="TypeParameter",e[e.Object=32768]="Object",e[e.Union=65536]="Union",e[e.Intersection=131072]="Intersection",e[e.Index=262144]="Index",e[e.IndexedAccess=524288]="IndexedAccess",e[e.FreshLiteral=1048576]="FreshLiteral",e[e.ContainsWideningType=2097152]="ContainsWideningType",e[e.ContainsObjectLiteral=4194304]="ContainsObjectLiteral",e[e.ContainsAnyFunctionType=8388608]="ContainsAnyFunctionType",e[e.Nullable=6144]="Nullable",e[e.Literal=480]="Literal",e[e.StringOrNumberLiteral=96]="StringOrNumberLiteral",e[e.DefinitelyFalsy=7392]="DefinitelyFalsy",e[e.PossiblyFalsy=7406]="PossiblyFalsy",e[e.Intrinsic=16015]="Intrinsic",e[e.Primitive=8190]="Primitive",e[e.StringLike=262178]="StringLike",e[e.NumberLike=340]="NumberLike",e[e.BooleanLike=136]="BooleanLike",e[e.EnumLike=272]="EnumLike",e[e.UnionOrIntersection=196608]="UnionOrIntersection",e[e.StructuredType=229376]="StructuredType",e[e.StructuredOrTypeParameter=507904]="StructuredOrTypeParameter",e[e.TypeVariable=540672]="TypeVariable",e[e.Narrowable=1033215]="Narrowable",e[e.NotUnionOrUnit=33281]="NotUnionOrUnit",e[e.RequiresWidening=6291456]="RequiresWidening",e[e.PropagatingFlags=14680064]="PropagatingFlags"}(v=e.TypeFlags||(e.TypeFlags={}));var h;!function(e){e[e.Class=1]="Class",e[e.Interface=2]="Interface",e[e.Reference=4]="Reference",e[e.Tuple=8]="Tuple",e[e.Anonymous=16]="Anonymous",e[e.Mapped=32]="Mapped",e[e.Instantiated=64]="Instantiated",e[e.ObjectLiteral=128]="ObjectLiteral",e[e.EvolvingArray=256]="EvolvingArray",e[e.ObjectLiteralPatternWithComputedProperties=512]="ObjectLiteralPatternWithComputedProperties",e[e.ClassOrInterface=3]="ClassOrInterface"}(h=e.ObjectFlags||(e.ObjectFlags={}));var b;!function(e){e[e.Call=0]="Call",e[e.Construct=1]="Construct"}(b=e.SignatureKind||(e.SignatureKind={}));var k;!function(e){e[e.String=0]="String",e[e.Number=1]="Number"}(k=e.IndexKind||(e.IndexKind={}));var x;!function(e){e[e.None=0]="None",e[e.ExportsProperty=1]="ExportsProperty",e[e.ModuleExports=2]="ModuleExports",e[e.PrototypeProperty=3]="PrototypeProperty",e[e.ThisProperty=4]="ThisProperty"}(x=e.SpecialPropertyAssignmentKind||(e.SpecialPropertyAssignmentKind={}));var D;!function(e){e[e.Warning=0]="Warning",e[e.Error=1]="Error",e[e.Message=2]="Message"}(D=e.DiagnosticCategory||(e.DiagnosticCategory={}));var S;!function(e){e[e.Classic=1]="Classic",e[e.NodeJs=2]="NodeJs"}(S=e.ModuleResolutionKind||(e.ModuleResolutionKind={}));var C;!function(e){e[e.None=0]="None",e[e.CommonJS=1]="CommonJS",e[e.AMD=2]="AMD",e[e.UMD=3]="UMD",e[e.System=4]="System",e[e.ES2015=5]="ES2015"}(C=e.ModuleKind||(e.ModuleKind={}));var E;!function(e){e[e.None=0]="None",e[e.Preserve=1]="Preserve",e[e.React=2]="React"}(E=e.JsxEmit||(e.JsxEmit={}));var T;!function(e){e[e.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",e[e.LineFeed=1]="LineFeed"}(T=e.NewLineKind||(e.NewLineKind={}));var N;!function(e){e[e.Unknown=0]="Unknown",e[e.JS=1]="JS",e[e.JSX=2]="JSX",e[e.TS=3]="TS",e[e.TSX=4]="TSX"}(N=e.ScriptKind||(e.ScriptKind={}));var A;!function(e){e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ESNext=5]="ESNext",e[e.Latest=5]="Latest"}(A=e.ScriptTarget||(e.ScriptTarget={}));var w;!function(e){e[e.Standard=0]="Standard",e[e.JSX=1]="JSX"}(w=e.LanguageVariant||(e.LanguageVariant={}));var P;!function(e){e[e.Simple=0]="Simple",e[e.Pretty=1]="Pretty"}(P=e.DiagnosticStyle||(e.DiagnosticStyle={}));var F;!function(e){e[e.None=0]="None",e[e.Recursive=1]="Recursive"}(F=e.WatchDirectoryFlags||(e.WatchDirectoryFlags={}));var O;!function(e){e[e.nullCharacter=0]="nullCharacter",e[e.maxAsciiCharacter=127]="maxAsciiCharacter",e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.lineSeparator=8232]="lineSeparator",e[e.paragraphSeparator=8233]="paragraphSeparator",e[e.nextLine=133]="nextLine",e[e.space=32]="space",e[e.nonBreakingSpace=160]="nonBreakingSpace",e[e.enQuad=8192]="enQuad",e[e.emQuad=8193]="emQuad",e[e.enSpace=8194]="enSpace",e[e.emSpace=8195]="emSpace",e[e.threePerEmSpace=8196]="threePerEmSpace",e[e.fourPerEmSpace=8197]="fourPerEmSpace",e[e.sixPerEmSpace=8198]="sixPerEmSpace",e[e.figureSpace=8199]="figureSpace",e[e.punctuationSpace=8200]="punctuationSpace",e[e.thinSpace=8201]="thinSpace",e[e.hairSpace=8202]="hairSpace",e[e.zeroWidthSpace=8203]="zeroWidthSpace",e[e.narrowNoBreakSpace=8239]="narrowNoBreakSpace",e[e.ideographicSpace=12288]="ideographicSpace",e[e.mathematicalSpace=8287]="mathematicalSpace",e[e.ogham=5760]="ogham",e[e._=95]="_",e[e.$=36]="$",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.ampersand=38]="ampersand",e[e.asterisk=42]="asterisk",e[e.at=64]="at",e[e.backslash=92]="backslash",e[e.backtick=96]="backtick",e[e.bar=124]="bar",e[e.caret=94]="caret",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.closeParen=41]="closeParen",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.equals=61]="equals",e[e.exclamation=33]="exclamation",e[e.greaterThan=62]="greaterThan",e[e.hash=35]="hash",e[e.lessThan=60]="lessThan",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.openParen=40]="openParen",e[e.percent=37]="percent",e[e.plus=43]="plus",e[e.question=63]="question",e[e.semicolon=59]="semicolon",e[e.singleQuote=39]="singleQuote",e[e.slash=47]="slash",e[e.tilde=126]="tilde",e[e.backspace=8]="backspace",e[e.formFeed=12]="formFeed",e[e.byteOrderMark=65279]="byteOrderMark",e[e.tab=9]="tab",e[e.verticalTab=11]="verticalTab"}(O=e.CharacterCodes||(e.CharacterCodes={}));var R;!function(e){e[e.Ts=0]="Ts",e[e.Tsx=1]="Tsx",e[e.Dts=2]="Dts",e[e.Js=3]="Js",e[e.Jsx=4]="Jsx",e[e.LastTypeScriptExtension=2]="LastTypeScriptExtension"}(R=e.Extension||(e.Extension={}));var I;!function(e){e[e.None=0]="None",e[e.TypeScript=1]="TypeScript",e[e.ContainsTypeScript=2]="ContainsTypeScript",e[e.ContainsJsx=4]="ContainsJsx",e[e.ContainsESNext=8]="ContainsESNext",e[e.ContainsES2017=16]="ContainsES2017",e[e.ContainsES2016=32]="ContainsES2016",e[e.ES2015=64]="ES2015",e[e.ContainsES2015=128]="ContainsES2015",e[e.Generator=256]="Generator",e[e.ContainsGenerator=512]="ContainsGenerator",e[e.DestructuringAssignment=1024]="DestructuringAssignment",e[e.ContainsDestructuringAssignment=2048]="ContainsDestructuringAssignment",e[e.ContainsDecorators=4096]="ContainsDecorators",e[e.ContainsPropertyInitializer=8192]="ContainsPropertyInitializer",e[e.ContainsLexicalThis=16384]="ContainsLexicalThis",e[e.ContainsCapturedLexicalThis=32768]="ContainsCapturedLexicalThis",e[e.ContainsLexicalThisInComputedPropertyName=65536]="ContainsLexicalThisInComputedPropertyName",e[e.ContainsDefaultValueAssignments=131072]="ContainsDefaultValueAssignments",e[e.ContainsParameterPropertyAssignments=262144]="ContainsParameterPropertyAssignments",e[e.ContainsSpread=524288]="ContainsSpread",e[e.ContainsObjectSpread=1048576]="ContainsObjectSpread",e[e.ContainsRest=524288]="ContainsRest",e[e.ContainsObjectRest=1048576]="ContainsObjectRest",e[e.ContainsComputedPropertyName=2097152]="ContainsComputedPropertyName",e[e.ContainsBlockScopedBinding=4194304]="ContainsBlockScopedBinding",e[e.ContainsBindingPattern=8388608]="ContainsBindingPattern",e[e.ContainsYield=16777216]="ContainsYield",e[e.ContainsHoistedDeclarationOrCompletion=33554432]="ContainsHoistedDeclarationOrCompletion",e[e.HasComputedFlags=536870912]="HasComputedFlags",e[e.AssertTypeScript=3]="AssertTypeScript",e[e.AssertJsx=4]="AssertJsx",e[e.AssertESNext=8]="AssertESNext", -e[e.AssertES2017=16]="AssertES2017",e[e.AssertES2016=32]="AssertES2016",e[e.AssertES2015=192]="AssertES2015",e[e.AssertGenerator=768]="AssertGenerator",e[e.AssertDestructuringAssignment=3072]="AssertDestructuringAssignment",e[e.NodeExcludes=536872257]="NodeExcludes",e[e.ArrowFunctionExcludes=601249089]="ArrowFunctionExcludes",e[e.FunctionExcludes=601281857]="FunctionExcludes",e[e.ConstructorExcludes=601015617]="ConstructorExcludes",e[e.MethodOrAccessorExcludes=601015617]="MethodOrAccessorExcludes",e[e.ClassExcludes=539358529]="ClassExcludes",e[e.ModuleExcludes=574674241]="ModuleExcludes",e[e.TypeExcludes=-3]="TypeExcludes",e[e.ObjectLiteralExcludes=540087617]="ObjectLiteralExcludes",e[e.ArrayLiteralOrCallOrNewExcludes=537396545]="ArrayLiteralOrCallOrNewExcludes",e[e.VariableDeclarationListExcludes=546309441]="VariableDeclarationListExcludes",e[e.ParameterExcludes=536872257]="ParameterExcludes",e[e.CatchClauseExcludes=537920833]="CatchClauseExcludes",e[e.BindingPatternExcludes=537396545]="BindingPatternExcludes",e[e.TypeScriptClassSyntaxMask=274432]="TypeScriptClassSyntaxMask",e[e.ES2015FunctionSyntaxMask=163840]="ES2015FunctionSyntaxMask"}(I=e.TransformFlags||(e.TransformFlags={}));var L;!function(e){e[e.SingleLine=1]="SingleLine",e[e.AdviseOnEmitNode=2]="AdviseOnEmitNode",e[e.NoSubstitution=4]="NoSubstitution",e[e.CapturesThis=8]="CapturesThis",e[e.NoLeadingSourceMap=16]="NoLeadingSourceMap",e[e.NoTrailingSourceMap=32]="NoTrailingSourceMap",e[e.NoSourceMap=48]="NoSourceMap",e[e.NoNestedSourceMaps=64]="NoNestedSourceMaps",e[e.NoTokenLeadingSourceMaps=128]="NoTokenLeadingSourceMaps",e[e.NoTokenTrailingSourceMaps=256]="NoTokenTrailingSourceMaps",e[e.NoTokenSourceMaps=384]="NoTokenSourceMaps",e[e.NoLeadingComments=512]="NoLeadingComments",e[e.NoTrailingComments=1024]="NoTrailingComments",e[e.NoComments=1536]="NoComments",e[e.NoNestedComments=2048]="NoNestedComments",e[e.HelperName=4096]="HelperName",e[e.ExportName=8192]="ExportName",e[e.LocalName=16384]="LocalName",e[e.Indented=32768]="Indented",e[e.NoIndentation=65536]="NoIndentation",e[e.AsyncFunctionBody=131072]="AsyncFunctionBody",e[e.ReuseTempVariableScope=262144]="ReuseTempVariableScope",e[e.CustomPrologue=524288]="CustomPrologue",e[e.NoHoisting=1048576]="NoHoisting",e[e.HasEndOfDeclarationMarker=2097152]="HasEndOfDeclarationMarker"}(L=e.EmitFlags||(e.EmitFlags={}));var M;!function(e){e[e.Extends=1]="Extends",e[e.Assign=2]="Assign",e[e.Rest=4]="Rest",e[e.Decorate=8]="Decorate",e[e.Metadata=16]="Metadata",e[e.Param=32]="Param",e[e.Awaiter=64]="Awaiter",e[e.Generator=128]="Generator",e[e.FirstEmitHelper=1]="FirstEmitHelper",e[e.LastEmitHelper=128]="LastEmitHelper"}(M=e.ExternalEmitHelpers||(e.ExternalEmitHelpers={}));var B;!function(e){e[e.SourceFile=0]="SourceFile",e[e.Expression=1]="Expression",e[e.IdentifierName=2]="IdentifierName",e[e.Unspecified=3]="Unspecified"}(B=e.EmitContext||(e.EmitContext={}))}(ts||(ts={}));var ts;!function(e){e.timestamp="undefined"!=typeof performance&&performance.now?function(){return performance.now()}:Date.now?Date.now:function(){return+new Date}}(ts||(ts={})),function(e){var t;!function(t){function n(t){p&&(_[t]=e.timestamp(),u[t]=(u[t]||0)+1,d(t))}function r(t,n,r){if(p){var a=r&&_[r]||e.timestamp(),i=n&&_[n]||f;l[t]=(l[t]||0)+(a-i)}}function a(e){return u&&u[e]||0}function i(e){return l&&l[e]||0}function o(e){for(var t in l)e(t,l[t])}function s(){u=e.createMap(),_=e.createMap(),l=e.createMap(),p=!0,f=e.timestamp()}function c(){p=!1}var u,_,l,d="function"==typeof onProfilerEvent&&onProfilerEvent.profiler===!0?onProfilerEvent:function(e){},p=!1,f=0;t.mark=n,t.measure=r,t.getCount=a,t.getDuration=i,t.forEachMeasure=o,t.enable=s,t.disable=c}(t=e.performance||(e.performance={}))}(ts||(ts={}));var ts;!function(e){e.version="2.1.4"}(ts||(ts={})),function(e){function t(e){var t=Yt(null);t.__=void 0,delete t.__;for(var n in e)$t.call(e,n)&&(t[n]=e[n]);return t}function n(e){function n(e){for(var t in _)e(t,_[t])}function r(){var e=[];for(var t in _)e.push(t);return e}function a(e){return _[u(e)]}function i(e,t){_[u(e)]=t}function o(e){return u(e)in _}function s(e){var t=u(e);delete _[t]}function c(){_=t()}function u(t){return e?e(t):t}var _=t();return{get:a,set:i,contains:o,remove:s,forEachValue:n,getKeys:r,clear:c}}function r(e,t,n){var r=ze(e)?Fe(e):qe(e,t);return n(r)}function a(e,t){if(e)for(var n=0,r=e.length;n0;for(var n=0,r=e;n0?e[0]:void 0}function L(e){return e&&e.length>0?e[e.length-1]:void 0}function M(e){return e&&1===e.length?e[0]:void 0}function B(e){return e&&1===e.length?e[0]:e}function K(e,t,n){var r=e.slice(0);return r[t]=n,r}function J(e,t,n,r){if(!e||0===e.length)return-1;var a=r||0,i=e.length-1;for(n=void 0!==n?n:function(e,t){return et?1:0};a<=i;){var o=a+(i-a>>1),s=e[o];if(0===n(s,t))return o;n(s,t)>0?i=o-1:a=o+1}return~a}function z(e,t,n,r,a){if(e&&e.length>0){var i=e.length;if(i>0){var o=void 0===r||r<0?0:r,s=void 0===a||o+a>i-1?i-1:o+a,c=void 0;for(arguments.length<=2?(c=e[o],o++):c=n;o<=s;)c=t(c,e[o],o),o++;return c}}return n}function j(e,t,n,r,a){if(e){var i=e.length;if(i>0){var o=void 0===r||r>i-1?i-1:r,s=void 0===a||o-a<0?0:o-a,c=void 0;for(arguments.length<=2?(c=e[o],o--):c=n;o>=s;)c=t(c,e[o],o),o--;return c}}return n}function V(e,t){return $t.call(e,t)}function U(e,t){return $t.call(e,t)?e[t]:void 0}function q(e){var t=[];for(var n in e)$t.call(e,n)&&t.push(n);return t}function W(e,t){var n;for(var r in e)if(n=t(e[r],r))break;return n}function H(e,t){for(var n in e)if(!t||t(e[n],n))return!0;return!1}function G(e,t){for(var n in e)t[n]=e[n]}function X(e,n,r){return void 0===n||void 0===r?e:(void 0===e&&(e=t()),e[n]=r,e)}function Q(e){for(var t=[],n=1;n=0,"start must be non-negative, is "+t),_n.assert(n>=0,"length must be non-negative, is "+n),e&&(_n.assert(t<=e.text.length,"start must be within the bounds of the file. "+t+" > "+e.text.length),_n.assert(a<=e.text.length,"end must be the bounds of the file. "+a+" > "+e.text.length));var i=fe(r);return arguments.length>4&&(i=pe(i,arguments,4)),{file:e,start:t,length:n,messageText:i,category:r.category,code:r.code}}function ge(e,t){var n=fe(t);return arguments.length>2&&(n=pe(n,arguments,2)),n}function ye(e){var t=fe(e);return arguments.length>1&&(t=pe(t,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:t,category:e.category,code:e.code}}function ve(e){return{file:void 0,start:void 0,length:void 0,code:e.code,category:e.category,messageText:e.next?e:e.messageText}}function he(e,t){var n=fe(t);return arguments.length>2&&(n=pe(n,arguments,2)),{messageText:n,category:t.category,code:t.code,next:e}}function be(e,t){for(var n=e;n.next;)n=n.next;return n.next=t,e}function ke(e,t){return e===t?0:void 0===e?-1:void 0===t?1:e0?1:0}if(t=t.toUpperCase(),n=n.toUpperCase(),t===n)return 0}return t0&&".."!==L(a)?a.pop():s&&a.push(s))}return a}function Fe(t){t=Ae(t);var n=we(t),r=t.substr(0,n),a=Pe(t,n);if(a.length){var i=r+a.join(e.directorySeparator);return Oe(t)?i+e.directorySeparator:i}return r}function Oe(e){return e.charCodeAt(e.length-1)===en}function Re(t){return t.substr(0,Math.max(we(t),t.lastIndexOf(e.directorySeparator)))}function Ie(e){return e&&!ze(e)&&e.indexOf("://")!==-1}function Le(e){return/^\.\.?($|[\\/])/.test(e)}function Me(e){return e.target||0}function Be(t){return"number"==typeof t.module?t.module:Me(t)>=2?e.ModuleKind.ES2015:e.ModuleKind.CommonJS}function Ke(t){var n=t.moduleResolution;return void 0===n&&(n=Be(t)===e.ModuleKind.CommonJS?e.ModuleResolutionKind.NodeJs:e.ModuleResolutionKind.Classic),n}function Je(e){for(var t=!1,n=0;n1&&""===L(s)&&s.length--;var c;for(c=0;c=0&&e.indexOf(t,n)===n}function at(e){return Qe(e).indexOf(".")>=0}function it(e,t){return e.length>t.length&&rt(e,t)}function ot(e,t){for(var n=0,r=t;n0;)s+=")?",d--;return s}}function _t(e){return dt(e,rn)}function lt(e){return dt(e,an)}function dt(e,t){return"*"===e?t:"?"===e?"[^/]":"\\"+e}function pt(e,t,n,r,a){e=Fe(e),a=Fe(a);var i=Ye(a,e);return{includeFilePattern:st(n,i,"files"),includeDirectoryPattern:st(n,i,"directories"),excludePattern:st(t,i,"exclude"),basePaths:mt(e,n,r)}}function ft(e,t,n,r,a,i,o){function s(e,n){for(var r=o(e),a=r.files,i=r.directories,c=0,u=a;c=0;n--)if(it(e,t[n]))return St(n);return 0}function St(e){return e<2?0:e<5?2:5}function Ct(e){return e<2?2:5}function Et(e){for(var t=0,n=cn;ta&&(a=c.prefix.length,r=s)}return r}function Ut(e,t){var n=e.prefix,r=e.suffix;return t.length>=n.length+r.length&&nt(t,n)&&rt(t,r)}function qt(e){_n.assert(Je(e));var t=e.indexOf("*");return t===-1?void 0:{prefix:e.substr(0,t),suffix:e.substr(t+1)}}function Wt(e){return!(e>=0)}function Ht(t){return t<=e.Extension.LastTypeScriptExtension}function Gt(e){var t=Xt(e);return void 0!==t?t:void _n.fail("File "+e+" has unknown extension.")}function Xt(t){return it(t,".d.ts")?e.Extension.Dts:it(t,".ts")?e.Extension.Ts:it(t,".tsx")?e.Extension.Tsx:it(t,".js")?e.Extension.Js:it(t,".jsx")?e.Extension.Jsx:void 0}var Qt;!function(e){e[e.False=0]="False",e[e.Maybe=1]="Maybe",e[e.True=-1]="True"}(Qt=e.Ternary||(e.Ternary={}));var Yt=Object.create;e.collator="object"==typeof Intl&&"function"==typeof Intl.Collator?new Intl.Collator:void 0,e.createMap=t,e.createFileMap=n,e.toPath=r;var Zt;!function(e){e[e.LessThan=-1]="LessThan",e[e.EqualTo=0]="EqualTo",e[e.GreaterThan=1]="GreaterThan"}(Zt=e.Comparison||(e.Comparison={})),e.forEach=a,e.zipWith=i,e.every=o,e.find=s,e.findMap=c,e.contains=u,e.indexOf=_,e.indexOfAnyCharCode=l,e.countWhere=d,e.filter=p,e.removeWhere=f,e.filterMutate=m,e.map=g,e.sameMap=y,e.flatten=v,e.flatMap=h,e.span=b,e.spanMap=k,e.mapObject=x,e.some=D,e.concatenate=S,e.deduplicate=C,e.arrayIsEqualTo=E,e.changesAffectModuleResolution=T,e.compact=N,e.relativeComplement=A,e.sum=w,e.append=P,e.addRange=F,e.stableSort=O,e.rangeEquals=R,e.firstOrUndefined=I,e.lastOrUndefined=L,e.singleOrUndefined=M,e.singleOrMany=B,e.replaceElement=K,e.binarySearch=J,e.reduceLeft=z,e.reduceRight=j;var $t=Object.prototype.hasOwnProperty;e.hasProperty=V,e.getProperty=U,e.getOwnKeys=q,e.forEachProperty=W,e.someProperties=H,e.copyProperties=G,e.appendProperty=X,e.assign=Q,e.reduceProperties=Y,e.reduceOwnProperties=Z,e.equalOwnProperties=$,e.arrayToMap=ee,e.isEmpty=te,e.cloneMap=ne,e.clone=re,e.extend=ae,e.multiMapAdd=ie,e.multiMapRemove=oe,e.isArray=se,e.noop=ce,e.notImplemented=ue,e.memoize=_e,e.chain=le,e.compose=de,e.localizedDiagnosticMessages=void 0,e.getLocaleSpecificMessage=fe,e.createFileDiagnostic=me,e.formatMessage=ge,e.createCompilerDiagnostic=ye,e.createCompilerDiagnosticFromMessageChain=ve,e.chainDiagnosticMessages=he,e.concatenateDiagnosticMessageChains=be,e.compareValues=ke,e.compareStrings=xe,e.compareStringsCaseInsensitive=De,e.compareDiagnostics=Ce,e.sortAndDeduplicateDiagnostics=Te,e.deduplicateSortedDiagnostics=Ne,e.normalizeSlashes=Ae,e.getRootLength=we,e.directorySeparator="/";var en=47;e.normalizePath=Fe,e.pathEndsWithDirectorySeparator=Oe,e.getDirectoryPath=Re,e.isUrl=Ie,e.isExternalModuleNameRelative=Le,e.getEmitScriptTarget=Me,e.getEmitModuleKind=Be,e.getEmitModuleResolutionKind=Ke,e.hasZeroOrOneAsteriskCharacter=Je,e.isRootedDiskPath=ze,e.convertToRelativePath=je,e.getNormalizedPathComponents=Ue,e.getNormalizedAbsolutePath=qe,e.getNormalizedPathFromPathComponents=We,e.getRelativePathToDirectoryOrUrl=Xe,e.getBaseFileName=Qe,e.combinePaths=Ye,e.removeTrailingDirectorySeparator=Ze,e.ensureTrailingDirectorySeparator=$e,e.comparePaths=et,e.containsPath=tt,e.startsWith=nt,e.endsWith=rt,e.hasExtension=at,e.fileExtensionIs=it,e.fileExtensionIsAny=ot;var tn=/[^\w\s\/]/g,nn=[42,63],rn="([^./]|(\\.(?!min\\.js$))?)*",an="[^/]*";e.getRegularExpressionForWildcard=st,e.isImplicitGlob=ct,e.getFileMatcherPatterns=pt,e.matchFiles=ft,e.ensureScriptKind=yt,e.getScriptKindFromFileName=vt,e.supportedTypeScriptExtensions=[".ts",".tsx",".d.ts"],e.supportedTypescriptExtensionsForExtractExtension=[".d.ts",".ts",".tsx"],e.supportedJavascriptExtensions=[".js",".jsx"];var on=e.supportedTypeScriptExtensions.concat(e.supportedJavascriptExtensions);e.getSupportedExtensions=ht,e.hasJavaScriptFileExtension=bt,e.hasTypeScriptFileExtension=kt,e.isSupportedSourceFileName=xt;var sn;!function(e){e[e.TypeScriptFiles=0]="TypeScriptFiles",e[e.DeclarationAndJavaScriptFiles=2]="DeclarationAndJavaScriptFiles",e[e.Limit=5]="Limit",e[e.Highest=0]="Highest",e[e.Lowest=2]="Lowest"}(sn=e.ExtensionPriority||(e.ExtensionPriority={})),e.getExtensionPriority=Dt,e.adjustExtensionPriority=St,e.getNextLowestExtensionPriority=Ct;var cn=[".d.ts",".ts",".js",".tsx",".jsx"];e.removeFileExtension=Et,e.tryRemoveExtension=Tt,e.removeExtension=Nt,e.changeExtension=At,e.objectAllocator={getNodeConstructor:function(){return Ot},getTokenConstructor:function(){return Ot},getIdentifierConstructor:function(){return Ot},getSourceFileConstructor:function(){return Ot},getSymbolConstructor:function(){return wt},getTypeConstructor:function(){return Pt},getSignatureConstructor:function(){return Ft}};var un;!function(e){e[e.None=0]="None",e[e.Normal=1]="Normal",e[e.Aggressive=2]="Aggressive",e[e.VeryAggressive=3]="VeryAggressive"}(un=e.AssertionLevel||(e.AssertionLevel={}));var _n;!function(e){function t(t){return e.currentAssertionLevel>=t}function n(e,t,n){if(!e){var r="";throw n&&(r="\r\nVerbose Debug Information: "+n()),new Error("Debug Failure. False expression: "+(t||"")+r)}}function r(t){e.assert(!1,t)}e.currentAssertionLevel=0,e.shouldAssert=t,e.assert=n,e.fail=r}(_n=e.Debug||(e.Debug={})),e.orderedRemoveItem=Rt,e.orderedRemoveItemAt=It,e.unorderedRemoveItemAt=Lt,e.unorderedRemoveItem=Mt,e.createGetCanonicalFileName=Kt,e.matchPatternOrExact=Jt,e.patternText=zt,e.matchedText=jt,e.findBestPatternMatch=Vt,e.tryParsePattern=qt,e.positionIsSynthesized=Wt,e.extensionIsTypeScript=Ht,e.extensionFromPath=Gt,e.tryGetExtensionFromPath=Xt}(ts||(ts={}));var ts;!function(e){e.sys=function(){function t(){function t(e,t){if(s.FileExists(e)){u.Open();try{if(t)u.Charset=t,u.LoadFromFile(e);else{u.Charset="x-ansi",u.LoadFromFile(e);var n=u.ReadText(2)||"";u.Position=0,u.Charset=n.length>=2&&(255===n.charCodeAt(0)&&254===n.charCodeAt(1)||254===n.charCodeAt(0)&&255===n.charCodeAt(1))?"unicode":"utf-8"}return u.ReadText()}catch(e){throw e}finally{u.Close()}}}function n(e,t,n){u.Open(),_.Open();try{u.Charset="utf-8",u.WriteText(t),n?u.Position=0:u.Position=3,u.CopyTo(_),_.SaveToFile(e,2)}finally{_.Close(),u.Close()}}function r(e){for(var t=[],n=new Enumerator(e);!n.atEnd();n.moveNext())t.push(n.item().Name);return t.sort()}function a(e){var t=s.GetFolder(e);return r(t.subfolders)}function i(e){try{var t=s.GetFolder(e||"."),n=r(t.files),a=r(t.subfolders);return{files:n,directories:a}}catch(e){return{files:[],directories:[]}}}function o(t,n,r,a){return e.matchFiles(t,n,r,a,!1,c.CurrentDirectory,i)}var s=new ActiveXObject("Scripting.FileSystemObject"),c=new ActiveXObject("WScript.Shell"),u=new ActiveXObject("ADODB.Stream");u.Type=2;var _=new ActiveXObject("ADODB.Stream");_.Type=1;for(var l=[],d=0;d=4}function r(){return"win32"!==h&&"win64"!==h&&(!u(__filename.toUpperCase())||!u(__filename.toLowerCase()))}function a(e,t){if(u(e)){var n=p.readFileSync(e),r=n.length;if(r>=2&&254===n[0]&&255===n[1]){r&=-2;for(var a=0;a=2&&255===n[0]&&254===n[1]?n.toString("utf16le",2):r>=3&&239===n[0]&&187===n[1]&&191===n[2]?n.toString("utf8",3):n.toString("utf8")}}function i(e,t,n){n&&(t="\ufeff"+t);var r;try{r=p.openSync(e,"w"),p.writeSync(r,t,void 0,"utf8")}finally{void 0!==r&&p.closeSync(r)}}function o(t){try{for(var n=p.readdirSync(t||".").sort(),r=[],a=[],i=0,o=n;i type."},In_ambient_enum_declarations_member_initializer_must_be_constant_expression:{code:1066,category:e.DiagnosticCategory.Error,key:"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066",message:"In ambient enum declarations member initializer must be constant expression."},Unexpected_token_A_constructor_method_accessor_or_property_was_expected:{code:1068,category:e.DiagnosticCategory.Error,key:"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068",message:"Unexpected token. A constructor, method, accessor, or property was expected."},_0_modifier_cannot_appear_on_a_type_member:{code:1070,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_type_member_1070",message:"'{0}' modifier cannot appear on a type member."},_0_modifier_cannot_appear_on_an_index_signature:{code:1071,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_an_index_signature_1071",message:"'{0}' modifier cannot appear on an index signature."},A_0_modifier_cannot_be_used_with_an_import_declaration:{code:1079,category:e.DiagnosticCategory.Error,key:"A_0_modifier_cannot_be_used_with_an_import_declaration_1079",message:"A '{0}' modifier cannot be used with an import declaration."},Invalid_reference_directive_syntax:{code:1084,category:e.DiagnosticCategory.Error,key:"Invalid_reference_directive_syntax_1084",message:"Invalid 'reference' directive syntax."},Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher:{code:1085,category:e.DiagnosticCategory.Error,key:"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_1085",message:"Octal literals are not available when targeting ECMAScript 5 and higher."},An_accessor_cannot_be_declared_in_an_ambient_context:{code:1086,category:e.DiagnosticCategory.Error,key:"An_accessor_cannot_be_declared_in_an_ambient_context_1086",message:"An accessor cannot be declared in an ambient context."},_0_modifier_cannot_appear_on_a_constructor_declaration:{code:1089,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_constructor_declaration_1089",message:"'{0}' modifier cannot appear on a constructor declaration."},_0_modifier_cannot_appear_on_a_parameter:{code:1090,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_parameter_1090",message:"'{0}' modifier cannot appear on a parameter."},Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:{code:1091,category:e.DiagnosticCategory.Error,key:"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091",message:"Only a single variable declaration is allowed in a 'for...in' statement."},Type_parameters_cannot_appear_on_a_constructor_declaration:{code:1092,category:e.DiagnosticCategory.Error,key:"Type_parameters_cannot_appear_on_a_constructor_declaration_1092",message:"Type parameters cannot appear on a constructor declaration."},Type_annotation_cannot_appear_on_a_constructor_declaration:{code:1093,category:e.DiagnosticCategory.Error,key:"Type_annotation_cannot_appear_on_a_constructor_declaration_1093",message:"Type annotation cannot appear on a constructor declaration."},An_accessor_cannot_have_type_parameters:{code:1094,category:e.DiagnosticCategory.Error,key:"An_accessor_cannot_have_type_parameters_1094",message:"An accessor cannot have type parameters."},A_set_accessor_cannot_have_a_return_type_annotation:{code:1095,category:e.DiagnosticCategory.Error,key:"A_set_accessor_cannot_have_a_return_type_annotation_1095",message:"A 'set' accessor cannot have a return type annotation."},An_index_signature_must_have_exactly_one_parameter:{code:1096,category:e.DiagnosticCategory.Error,key:"An_index_signature_must_have_exactly_one_parameter_1096",message:"An index signature must have exactly one parameter."},_0_list_cannot_be_empty:{code:1097,category:e.DiagnosticCategory.Error,key:"_0_list_cannot_be_empty_1097",message:"'{0}' list cannot be empty."},Type_parameter_list_cannot_be_empty:{code:1098,category:e.DiagnosticCategory.Error,key:"Type_parameter_list_cannot_be_empty_1098",message:"Type parameter list cannot be empty."},Type_argument_list_cannot_be_empty:{code:1099,category:e.DiagnosticCategory.Error,key:"Type_argument_list_cannot_be_empty_1099",message:"Type argument list cannot be empty."},Invalid_use_of_0_in_strict_mode:{code:1100,category:e.DiagnosticCategory.Error,key:"Invalid_use_of_0_in_strict_mode_1100",message:"Invalid use of '{0}' in strict mode."},with_statements_are_not_allowed_in_strict_mode:{code:1101,category:e.DiagnosticCategory.Error,key:"with_statements_are_not_allowed_in_strict_mode_1101",message:"'with' statements are not allowed in strict mode."},delete_cannot_be_called_on_an_identifier_in_strict_mode:{code:1102,category:e.DiagnosticCategory.Error,key:"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102",message:"'delete' cannot be called on an identifier in strict mode."},A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:{code:1104,category:e.DiagnosticCategory.Error,key:"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104",message:"A 'continue' statement can only be used within an enclosing iteration statement."},A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:{code:1105,category:e.DiagnosticCategory.Error,key:"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105",message:"A 'break' statement can only be used within an enclosing iteration or switch statement."},Jump_target_cannot_cross_function_boundary:{code:1107,category:e.DiagnosticCategory.Error,key:"Jump_target_cannot_cross_function_boundary_1107",message:"Jump target cannot cross function boundary."},A_return_statement_can_only_be_used_within_a_function_body:{code:1108,category:e.DiagnosticCategory.Error,key:"A_return_statement_can_only_be_used_within_a_function_body_1108",message:"A 'return' statement can only be used within a function body."},Expression_expected:{code:1109,category:e.DiagnosticCategory.Error,key:"Expression_expected_1109",message:"Expression expected."},Type_expected:{code:1110,category:e.DiagnosticCategory.Error,key:"Type_expected_1110",message:"Type expected."},A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:{code:1113,category:e.DiagnosticCategory.Error,key:"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113",message:"A 'default' clause cannot appear more than once in a 'switch' statement."},Duplicate_label_0:{code:1114,category:e.DiagnosticCategory.Error,key:"Duplicate_label_0_1114",message:"Duplicate label '{0}'"},A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:{code:1115,category:e.DiagnosticCategory.Error,key:"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115",message:"A 'continue' statement can only jump to a label of an enclosing iteration statement."},A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:{code:1116,category:e.DiagnosticCategory.Error,key:"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116",message:"A 'break' statement can only jump to a label of an enclosing statement."},An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode:{code:1117,category:e.DiagnosticCategory.Error,key:"An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117",message:"An object literal cannot have multiple properties with the same name in strict mode."},An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:{code:1118,category:e.DiagnosticCategory.Error,key:"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118",message:"An object literal cannot have multiple get/set accessors with the same name."},An_object_literal_cannot_have_property_and_accessor_with_the_same_name:{code:1119,category:e.DiagnosticCategory.Error,key:"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119",message:"An object literal cannot have property and accessor with the same name."},An_export_assignment_cannot_have_modifiers:{code:1120,category:e.DiagnosticCategory.Error,key:"An_export_assignment_cannot_have_modifiers_1120",message:"An export assignment cannot have modifiers."},Octal_literals_are_not_allowed_in_strict_mode:{code:1121,category:e.DiagnosticCategory.Error,key:"Octal_literals_are_not_allowed_in_strict_mode_1121",message:"Octal literals are not allowed in strict mode."},A_tuple_type_element_list_cannot_be_empty:{code:1122,category:e.DiagnosticCategory.Error,key:"A_tuple_type_element_list_cannot_be_empty_1122",message:"A tuple type element list cannot be empty."},Variable_declaration_list_cannot_be_empty:{code:1123,category:e.DiagnosticCategory.Error,key:"Variable_declaration_list_cannot_be_empty_1123",message:"Variable declaration list cannot be empty."},Digit_expected:{code:1124,category:e.DiagnosticCategory.Error,key:"Digit_expected_1124",message:"Digit expected."},Hexadecimal_digit_expected:{code:1125,category:e.DiagnosticCategory.Error,key:"Hexadecimal_digit_expected_1125",message:"Hexadecimal digit expected."},Unexpected_end_of_text:{code:1126,category:e.DiagnosticCategory.Error,key:"Unexpected_end_of_text_1126",message:"Unexpected end of text."},Invalid_character:{code:1127,category:e.DiagnosticCategory.Error,key:"Invalid_character_1127",message:"Invalid character."},Declaration_or_statement_expected:{code:1128,category:e.DiagnosticCategory.Error,key:"Declaration_or_statement_expected_1128",message:"Declaration or statement expected."},Statement_expected:{code:1129,category:e.DiagnosticCategory.Error,key:"Statement_expected_1129",message:"Statement expected."},case_or_default_expected:{code:1130,category:e.DiagnosticCategory.Error,key:"case_or_default_expected_1130",message:"'case' or 'default' expected."},Property_or_signature_expected:{code:1131,category:e.DiagnosticCategory.Error,key:"Property_or_signature_expected_1131",message:"Property or signature expected."},Enum_member_expected:{code:1132,category:e.DiagnosticCategory.Error,key:"Enum_member_expected_1132",message:"Enum member expected."},Variable_declaration_expected:{code:1134,category:e.DiagnosticCategory.Error,key:"Variable_declaration_expected_1134",message:"Variable declaration expected."},Argument_expression_expected:{code:1135,category:e.DiagnosticCategory.Error,key:"Argument_expression_expected_1135",message:"Argument expression expected."},Property_assignment_expected:{code:1136,category:e.DiagnosticCategory.Error,key:"Property_assignment_expected_1136",message:"Property assignment expected."},Expression_or_comma_expected:{code:1137,category:e.DiagnosticCategory.Error,key:"Expression_or_comma_expected_1137",message:"Expression or comma expected."},Parameter_declaration_expected:{code:1138,category:e.DiagnosticCategory.Error,key:"Parameter_declaration_expected_1138",message:"Parameter declaration expected."},Type_parameter_declaration_expected:{code:1139,category:e.DiagnosticCategory.Error,key:"Type_parameter_declaration_expected_1139",message:"Type parameter declaration expected."},Type_argument_expected:{code:1140,category:e.DiagnosticCategory.Error,key:"Type_argument_expected_1140",message:"Type argument expected."},String_literal_expected:{code:1141,category:e.DiagnosticCategory.Error,key:"String_literal_expected_1141",message:"String literal expected."},Line_break_not_permitted_here:{code:1142,category:e.DiagnosticCategory.Error,key:"Line_break_not_permitted_here_1142",message:"Line break not permitted here."},or_expected:{code:1144,category:e.DiagnosticCategory.Error,key:"or_expected_1144",message:"'{' or ';' expected."},Declaration_expected:{code:1146,category:e.DiagnosticCategory.Error,key:"Declaration_expected_1146",message:"Declaration expected."},Import_declarations_in_a_namespace_cannot_reference_a_module:{code:1147,category:e.DiagnosticCategory.Error,key:"Import_declarations_in_a_namespace_cannot_reference_a_module_1147",message:"Import declarations in a namespace cannot reference a module."},Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:{code:1148,category:e.DiagnosticCategory.Error,key:"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148",message:"Cannot use imports, exports, or module augmentations when '--module' is 'none'."},File_name_0_differs_from_already_included_file_name_1_only_in_casing:{code:1149,category:e.DiagnosticCategory.Error,key:"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149",message:"File name '{0}' differs from already included file name '{1}' only in casing"},new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead:{code:1150,category:e.DiagnosticCategory.Error,key:"new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead_1150",message:"'new T[]' cannot be used to create an array. Use 'new Array()' instead."},const_declarations_must_be_initialized:{code:1155,category:e.DiagnosticCategory.Error,key:"const_declarations_must_be_initialized_1155",message:"'const' declarations must be initialized"},const_declarations_can_only_be_declared_inside_a_block:{code:1156,category:e.DiagnosticCategory.Error,key:"const_declarations_can_only_be_declared_inside_a_block_1156",message:"'const' declarations can only be declared inside a block."},let_declarations_can_only_be_declared_inside_a_block:{code:1157,category:e.DiagnosticCategory.Error,key:"let_declarations_can_only_be_declared_inside_a_block_1157",message:"'let' declarations can only be declared inside a block."},Unterminated_template_literal:{code:1160,category:e.DiagnosticCategory.Error,key:"Unterminated_template_literal_1160",message:"Unterminated template literal."},Unterminated_regular_expression_literal:{code:1161,category:e.DiagnosticCategory.Error,key:"Unterminated_regular_expression_literal_1161",message:"Unterminated regular expression literal."},An_object_member_cannot_be_declared_optional:{code:1162,category:e.DiagnosticCategory.Error,key:"An_object_member_cannot_be_declared_optional_1162",message:"An object member cannot be declared optional."},A_yield_expression_is_only_allowed_in_a_generator_body:{code:1163,category:e.DiagnosticCategory.Error,key:"A_yield_expression_is_only_allowed_in_a_generator_body_1163",message:"A 'yield' expression is only allowed in a generator body."},Computed_property_names_are_not_allowed_in_enums:{code:1164,category:e.DiagnosticCategory.Error,key:"Computed_property_names_are_not_allowed_in_enums_1164",message:"Computed property names are not allowed in enums."},A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol:{code:1165,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol_1165",message:"A computed property name in an ambient context must directly refer to a built-in symbol."},A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol:{code:1166,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol_1166",message:"A computed property name in a class property declaration must directly refer to a built-in symbol."},A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol:{code:1168,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol_1168",message:"A computed property name in a method overload must directly refer to a built-in symbol."},A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol:{code:1169,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol_1169",message:"A computed property name in an interface must directly refer to a built-in symbol."},A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol:{code:1170,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol_1170",message:"A computed property name in a type literal must directly refer to a built-in symbol."},A_comma_expression_is_not_allowed_in_a_computed_property_name:{code:1171,category:e.DiagnosticCategory.Error,key:"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171",message:"A comma expression is not allowed in a computed property name."},extends_clause_already_seen:{code:1172,category:e.DiagnosticCategory.Error,key:"extends_clause_already_seen_1172",message:"'extends' clause already seen."},extends_clause_must_precede_implements_clause:{code:1173,category:e.DiagnosticCategory.Error,key:"extends_clause_must_precede_implements_clause_1173",message:"'extends' clause must precede 'implements' clause."},Classes_can_only_extend_a_single_class:{code:1174,category:e.DiagnosticCategory.Error,key:"Classes_can_only_extend_a_single_class_1174",message:"Classes can only extend a single class."},implements_clause_already_seen:{code:1175,category:e.DiagnosticCategory.Error,key:"implements_clause_already_seen_1175",message:"'implements' clause already seen."},Interface_declaration_cannot_have_implements_clause:{code:1176,category:e.DiagnosticCategory.Error,key:"Interface_declaration_cannot_have_implements_clause_1176",message:"Interface declaration cannot have 'implements' clause."},Binary_digit_expected:{code:1177,category:e.DiagnosticCategory.Error,key:"Binary_digit_expected_1177",message:"Binary digit expected."},Octal_digit_expected:{code:1178,category:e.DiagnosticCategory.Error,key:"Octal_digit_expected_1178",message:"Octal digit expected."},Unexpected_token_expected:{code:1179,category:e.DiagnosticCategory.Error,key:"Unexpected_token_expected_1179",message:"Unexpected token. '{' expected."},Property_destructuring_pattern_expected:{code:1180,category:e.DiagnosticCategory.Error,key:"Property_destructuring_pattern_expected_1180",message:"Property destructuring pattern expected."},Array_element_destructuring_pattern_expected:{code:1181,category:e.DiagnosticCategory.Error,key:"Array_element_destructuring_pattern_expected_1181",message:"Array element destructuring pattern expected."},A_destructuring_declaration_must_have_an_initializer:{code:1182,category:e.DiagnosticCategory.Error, -key:"A_destructuring_declaration_must_have_an_initializer_1182",message:"A destructuring declaration must have an initializer."},An_implementation_cannot_be_declared_in_ambient_contexts:{code:1183,category:e.DiagnosticCategory.Error,key:"An_implementation_cannot_be_declared_in_ambient_contexts_1183",message:"An implementation cannot be declared in ambient contexts."},Modifiers_cannot_appear_here:{code:1184,category:e.DiagnosticCategory.Error,key:"Modifiers_cannot_appear_here_1184",message:"Modifiers cannot appear here."},Merge_conflict_marker_encountered:{code:1185,category:e.DiagnosticCategory.Error,key:"Merge_conflict_marker_encountered_1185",message:"Merge conflict marker encountered."},A_rest_element_cannot_have_an_initializer:{code:1186,category:e.DiagnosticCategory.Error,key:"A_rest_element_cannot_have_an_initializer_1186",message:"A rest element cannot have an initializer."},A_parameter_property_may_not_be_declared_using_a_binding_pattern:{code:1187,category:e.DiagnosticCategory.Error,key:"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187",message:"A parameter property may not be declared using a binding pattern."},Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:{code:1188,category:e.DiagnosticCategory.Error,key:"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188",message:"Only a single variable declaration is allowed in a 'for...of' statement."},The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:{code:1189,category:e.DiagnosticCategory.Error,key:"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189",message:"The variable declaration of a 'for...in' statement cannot have an initializer."},The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:{code:1190,category:e.DiagnosticCategory.Error,key:"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190",message:"The variable declaration of a 'for...of' statement cannot have an initializer."},An_import_declaration_cannot_have_modifiers:{code:1191,category:e.DiagnosticCategory.Error,key:"An_import_declaration_cannot_have_modifiers_1191",message:"An import declaration cannot have modifiers."},Module_0_has_no_default_export:{code:1192,category:e.DiagnosticCategory.Error,key:"Module_0_has_no_default_export_1192",message:"Module '{0}' has no default export."},An_export_declaration_cannot_have_modifiers:{code:1193,category:e.DiagnosticCategory.Error,key:"An_export_declaration_cannot_have_modifiers_1193",message:"An export declaration cannot have modifiers."},Export_declarations_are_not_permitted_in_a_namespace:{code:1194,category:e.DiagnosticCategory.Error,key:"Export_declarations_are_not_permitted_in_a_namespace_1194",message:"Export declarations are not permitted in a namespace."},Catch_clause_variable_cannot_have_a_type_annotation:{code:1196,category:e.DiagnosticCategory.Error,key:"Catch_clause_variable_cannot_have_a_type_annotation_1196",message:"Catch clause variable cannot have a type annotation."},Catch_clause_variable_cannot_have_an_initializer:{code:1197,category:e.DiagnosticCategory.Error,key:"Catch_clause_variable_cannot_have_an_initializer_1197",message:"Catch clause variable cannot have an initializer."},An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:{code:1198,category:e.DiagnosticCategory.Error,key:"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198",message:"An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."},Unterminated_Unicode_escape_sequence:{code:1199,category:e.DiagnosticCategory.Error,key:"Unterminated_Unicode_escape_sequence_1199",message:"Unterminated Unicode escape sequence."},Line_terminator_not_permitted_before_arrow:{code:1200,category:e.DiagnosticCategory.Error,key:"Line_terminator_not_permitted_before_arrow_1200",message:"Line terminator not permitted before arrow."},Import_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:{code:1202,category:e.DiagnosticCategory.Error,key:"Import_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_import_Asteri_1202",message:"Import assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead."},Export_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_export_default_or_another_module_format_instead:{code:1203,category:e.DiagnosticCategory.Error,key:"Export_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_export_defaul_1203",message:"Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead."},Decorators_are_not_valid_here:{code:1206,category:e.DiagnosticCategory.Error,key:"Decorators_are_not_valid_here_1206",message:"Decorators are not valid here."},Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:{code:1207,category:e.DiagnosticCategory.Error,key:"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207",message:"Decorators cannot be applied to multiple get/set accessors of the same name."},Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided:{code:1208,category:e.DiagnosticCategory.Error,key:"Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided_1208",message:"Cannot compile namespaces when the '--isolatedModules' flag is provided."},Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided:{code:1209,category:e.DiagnosticCategory.Error,key:"Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209",message:"Ambient const enums are not allowed when the '--isolatedModules' flag is provided."},Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:{code:1210,category:e.DiagnosticCategory.Error,key:"Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210",message:"Invalid use of '{0}'. Class definitions are automatically in strict mode."},A_class_declaration_without_the_default_modifier_must_have_a_name:{code:1211,category:e.DiagnosticCategory.Error,key:"A_class_declaration_without_the_default_modifier_must_have_a_name_1211",message:"A class declaration without the 'default' modifier must have a name"},Identifier_expected_0_is_a_reserved_word_in_strict_mode:{code:1212,category:e.DiagnosticCategory.Error,key:"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212",message:"Identifier expected. '{0}' is a reserved word in strict mode"},Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:{code:1213,category:e.DiagnosticCategory.Error,key:"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213",message:"Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."},Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:{code:1214,category:e.DiagnosticCategory.Error,key:"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214",message:"Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."},Invalid_use_of_0_Modules_are_automatically_in_strict_mode:{code:1215,category:e.DiagnosticCategory.Error,key:"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215",message:"Invalid use of '{0}'. Modules are automatically in strict mode."},Export_assignment_is_not_supported_when_module_flag_is_system:{code:1218,category:e.DiagnosticCategory.Error,key:"Export_assignment_is_not_supported_when_module_flag_is_system_1218",message:"Export assignment is not supported when '--module' flag is 'system'."},Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning:{code:1219,category:e.DiagnosticCategory.Error,key:"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219",message:"Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning."},Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher:{code:1220,category:e.DiagnosticCategory.Error,key:"Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220",message:"Generators are only available when targeting ECMAScript 2015 or higher."},Generators_are_not_allowed_in_an_ambient_context:{code:1221,category:e.DiagnosticCategory.Error,key:"Generators_are_not_allowed_in_an_ambient_context_1221",message:"Generators are not allowed in an ambient context."},An_overload_signature_cannot_be_declared_as_a_generator:{code:1222,category:e.DiagnosticCategory.Error,key:"An_overload_signature_cannot_be_declared_as_a_generator_1222",message:"An overload signature cannot be declared as a generator."},_0_tag_already_specified:{code:1223,category:e.DiagnosticCategory.Error,key:"_0_tag_already_specified_1223",message:"'{0}' tag already specified."},Signature_0_must_have_a_type_predicate:{code:1224,category:e.DiagnosticCategory.Error,key:"Signature_0_must_have_a_type_predicate_1224",message:"Signature '{0}' must have a type predicate."},Cannot_find_parameter_0:{code:1225,category:e.DiagnosticCategory.Error,key:"Cannot_find_parameter_0_1225",message:"Cannot find parameter '{0}'."},Type_predicate_0_is_not_assignable_to_1:{code:1226,category:e.DiagnosticCategory.Error,key:"Type_predicate_0_is_not_assignable_to_1_1226",message:"Type predicate '{0}' is not assignable to '{1}'."},Parameter_0_is_not_in_the_same_position_as_parameter_1:{code:1227,category:e.DiagnosticCategory.Error,key:"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227",message:"Parameter '{0}' is not in the same position as parameter '{1}'."},A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:{code:1228,category:e.DiagnosticCategory.Error,key:"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228",message:"A type predicate is only allowed in return type position for functions and methods."},A_type_predicate_cannot_reference_a_rest_parameter:{code:1229,category:e.DiagnosticCategory.Error,key:"A_type_predicate_cannot_reference_a_rest_parameter_1229",message:"A type predicate cannot reference a rest parameter."},A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:{code:1230,category:e.DiagnosticCategory.Error,key:"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230",message:"A type predicate cannot reference element '{0}' in a binding pattern."},An_export_assignment_can_only_be_used_in_a_module:{code:1231,category:e.DiagnosticCategory.Error,key:"An_export_assignment_can_only_be_used_in_a_module_1231",message:"An export assignment can only be used in a module."},An_import_declaration_can_only_be_used_in_a_namespace_or_module:{code:1232,category:e.DiagnosticCategory.Error,key:"An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232",message:"An import declaration can only be used in a namespace or module."},An_export_declaration_can_only_be_used_in_a_module:{code:1233,category:e.DiagnosticCategory.Error,key:"An_export_declaration_can_only_be_used_in_a_module_1233",message:"An export declaration can only be used in a module."},An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:{code:1234,category:e.DiagnosticCategory.Error,key:"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234",message:"An ambient module declaration is only allowed at the top level in a file."},A_namespace_declaration_is_only_allowed_in_a_namespace_or_module:{code:1235,category:e.DiagnosticCategory.Error,key:"A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235",message:"A namespace declaration is only allowed in a namespace or module."},The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:{code:1236,category:e.DiagnosticCategory.Error,key:"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236",message:"The return type of a property decorator function must be either 'void' or 'any'."},The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:{code:1237,category:e.DiagnosticCategory.Error,key:"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237",message:"The return type of a parameter decorator function must be either 'void' or 'any'."},Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:{code:1238,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238",message:"Unable to resolve signature of class decorator when called as an expression."},Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:{code:1239,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239",message:"Unable to resolve signature of parameter decorator when called as an expression."},Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:{code:1240,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240",message:"Unable to resolve signature of property decorator when called as an expression."},Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:{code:1241,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241",message:"Unable to resolve signature of method decorator when called as an expression."},abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:{code:1242,category:e.DiagnosticCategory.Error,key:"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242",message:"'abstract' modifier can only appear on a class, method, or property declaration."},_0_modifier_cannot_be_used_with_1_modifier:{code:1243,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_be_used_with_1_modifier_1243",message:"'{0}' modifier cannot be used with '{1}' modifier."},Abstract_methods_can_only_appear_within_an_abstract_class:{code:1244,category:e.DiagnosticCategory.Error,key:"Abstract_methods_can_only_appear_within_an_abstract_class_1244",message:"Abstract methods can only appear within an abstract class."},Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:{code:1245,category:e.DiagnosticCategory.Error,key:"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245",message:"Method '{0}' cannot have an implementation because it is marked abstract."},An_interface_property_cannot_have_an_initializer:{code:1246,category:e.DiagnosticCategory.Error,key:"An_interface_property_cannot_have_an_initializer_1246",message:"An interface property cannot have an initializer."},A_type_literal_property_cannot_have_an_initializer:{code:1247,category:e.DiagnosticCategory.Error,key:"A_type_literal_property_cannot_have_an_initializer_1247",message:"A type literal property cannot have an initializer."},A_class_member_cannot_have_the_0_keyword:{code:1248,category:e.DiagnosticCategory.Error,key:"A_class_member_cannot_have_the_0_keyword_1248",message:"A class member cannot have the '{0}' keyword."},A_decorator_can_only_decorate_a_method_implementation_not_an_overload:{code:1249,category:e.DiagnosticCategory.Error,key:"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249",message:"A decorator can only decorate a method implementation, not an overload."},Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:{code:1250,category:e.DiagnosticCategory.Error,key:"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250",message:"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."},Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:{code:1251,category:e.DiagnosticCategory.Error,key:"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251",message:"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."},Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:{code:1252,category:e.DiagnosticCategory.Error,key:"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252",message:"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."},_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag:{code:1253,category:e.DiagnosticCategory.Error,key:"_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253",message:"'{0}' tag cannot be used independently as a top level JSDoc tag."},A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal:{code:1254,category:e.DiagnosticCategory.Error,key:"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_1254",message:"A 'const' initializer in an ambient context must be a string or numeric literal."},with_statements_are_not_allowed_in_an_async_function_block:{code:1300,category:e.DiagnosticCategory.Error,key:"with_statements_are_not_allowed_in_an_async_function_block_1300",message:"'with' statements are not allowed in an async function block."},await_expression_is_only_allowed_within_an_async_function:{code:1308,category:e.DiagnosticCategory.Error,key:"await_expression_is_only_allowed_within_an_async_function_1308",message:"'await' expression is only allowed within an async function."},can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment:{code:1312,category:e.DiagnosticCategory.Error,key:"can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment_1312",message:"'=' can only be used in an object literal property inside a destructuring assignment."},The_body_of_an_if_statement_cannot_be_the_empty_statement:{code:1313,category:e.DiagnosticCategory.Error,key:"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313",message:"The body of an 'if' statement cannot be the empty statement."},Global_module_exports_may_only_appear_in_module_files:{code:1314,category:e.DiagnosticCategory.Error,key:"Global_module_exports_may_only_appear_in_module_files_1314",message:"Global module exports may only appear in module files."},Global_module_exports_may_only_appear_in_declaration_files:{code:1315,category:e.DiagnosticCategory.Error,key:"Global_module_exports_may_only_appear_in_declaration_files_1315",message:"Global module exports may only appear in declaration files."},Global_module_exports_may_only_appear_at_top_level:{code:1316,category:e.DiagnosticCategory.Error,key:"Global_module_exports_may_only_appear_at_top_level_1316",message:"Global module exports may only appear at top level."},A_parameter_property_cannot_be_declared_using_a_rest_parameter:{code:1317,category:e.DiagnosticCategory.Error,key:"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317",message:"A parameter property cannot be declared using a rest parameter."},An_abstract_accessor_cannot_have_an_implementation:{code:1318,category:e.DiagnosticCategory.Error,key:"An_abstract_accessor_cannot_have_an_implementation_1318",message:"An abstract accessor cannot have an implementation."},Duplicate_identifier_0:{code:2300,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_2300",message:"Duplicate identifier '{0}'."},Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:{code:2301,category:e.DiagnosticCategory.Error,key:"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301",message:"Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."},Static_members_cannot_reference_class_type_parameters:{code:2302,category:e.DiagnosticCategory.Error,key:"Static_members_cannot_reference_class_type_parameters_2302",message:"Static members cannot reference class type parameters."},Circular_definition_of_import_alias_0:{code:2303,category:e.DiagnosticCategory.Error,key:"Circular_definition_of_import_alias_0_2303",message:"Circular definition of import alias '{0}'."},Cannot_find_name_0:{code:2304,category:e.DiagnosticCategory.Error,key:"Cannot_find_name_0_2304",message:"Cannot find name '{0}'."},Module_0_has_no_exported_member_1:{code:2305,category:e.DiagnosticCategory.Error,key:"Module_0_has_no_exported_member_1_2305",message:"Module '{0}' has no exported member '{1}'."},File_0_is_not_a_module:{code:2306,category:e.DiagnosticCategory.Error,key:"File_0_is_not_a_module_2306",message:"File '{0}' is not a module."},Cannot_find_module_0:{code:2307,category:e.DiagnosticCategory.Error,key:"Cannot_find_module_0_2307",message:"Cannot find module '{0}'."},Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:{code:2308,category:e.DiagnosticCategory.Error,key:"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308",message:"Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."},An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:{code:2309,category:e.DiagnosticCategory.Error,key:"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309",message:"An export assignment cannot be used in a module with other exported elements."},Type_0_recursively_references_itself_as_a_base_type:{code:2310,category:e.DiagnosticCategory.Error,key:"Type_0_recursively_references_itself_as_a_base_type_2310",message:"Type '{0}' recursively references itself as a base type."},A_class_may_only_extend_another_class:{code:2311,category:e.DiagnosticCategory.Error,key:"A_class_may_only_extend_another_class_2311",message:"A class may only extend another class."},An_interface_may_only_extend_a_class_or_another_interface:{code:2312,category:e.DiagnosticCategory.Error,key:"An_interface_may_only_extend_a_class_or_another_interface_2312",message:"An interface may only extend a class or another interface."},Type_parameter_0_has_a_circular_constraint:{code:2313,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_has_a_circular_constraint_2313",message:"Type parameter '{0}' has a circular constraint."},Generic_type_0_requires_1_type_argument_s:{code:2314,category:e.DiagnosticCategory.Error,key:"Generic_type_0_requires_1_type_argument_s_2314",message:"Generic type '{0}' requires {1} type argument(s)."},Type_0_is_not_generic:{code:2315,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_generic_2315",message:"Type '{0}' is not generic."},Global_type_0_must_be_a_class_or_interface_type:{code:2316,category:e.DiagnosticCategory.Error,key:"Global_type_0_must_be_a_class_or_interface_type_2316",message:"Global type '{0}' must be a class or interface type."},Global_type_0_must_have_1_type_parameter_s:{code:2317,category:e.DiagnosticCategory.Error,key:"Global_type_0_must_have_1_type_parameter_s_2317",message:"Global type '{0}' must have {1} type parameter(s)."},Cannot_find_global_type_0:{code:2318,category:e.DiagnosticCategory.Error,key:"Cannot_find_global_type_0_2318",message:"Cannot find global type '{0}'."},Named_property_0_of_types_1_and_2_are_not_identical:{code:2319,category:e.DiagnosticCategory.Error,key:"Named_property_0_of_types_1_and_2_are_not_identical_2319",message:"Named property '{0}' of types '{1}' and '{2}' are not identical."},Interface_0_cannot_simultaneously_extend_types_1_and_2:{code:2320,category:e.DiagnosticCategory.Error,key:"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320",message:"Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."},Excessive_stack_depth_comparing_types_0_and_1:{code:2321,category:e.DiagnosticCategory.Error,key:"Excessive_stack_depth_comparing_types_0_and_1_2321",message:"Excessive stack depth comparing types '{0}' and '{1}'."},Type_0_is_not_assignable_to_type_1:{code:2322,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_assignable_to_type_1_2322",message:"Type '{0}' is not assignable to type '{1}'."},Cannot_redeclare_exported_variable_0:{code:2323,category:e.DiagnosticCategory.Error,key:"Cannot_redeclare_exported_variable_0_2323",message:"Cannot redeclare exported variable '{0}'."},Property_0_is_missing_in_type_1:{code:2324,category:e.DiagnosticCategory.Error,key:"Property_0_is_missing_in_type_1_2324",message:"Property '{0}' is missing in type '{1}'."},Property_0_is_private_in_type_1_but_not_in_type_2:{code:2325,category:e.DiagnosticCategory.Error,key:"Property_0_is_private_in_type_1_but_not_in_type_2_2325",message:"Property '{0}' is private in type '{1}' but not in type '{2}'."},Types_of_property_0_are_incompatible:{code:2326,category:e.DiagnosticCategory.Error,key:"Types_of_property_0_are_incompatible_2326",message:"Types of property '{0}' are incompatible."},Property_0_is_optional_in_type_1_but_required_in_type_2:{code:2327,category:e.DiagnosticCategory.Error,key:"Property_0_is_optional_in_type_1_but_required_in_type_2_2327",message:"Property '{0}' is optional in type '{1}' but required in type '{2}'."},Types_of_parameters_0_and_1_are_incompatible:{code:2328,category:e.DiagnosticCategory.Error,key:"Types_of_parameters_0_and_1_are_incompatible_2328",message:"Types of parameters '{0}' and '{1}' are incompatible."},Index_signature_is_missing_in_type_0:{code:2329,category:e.DiagnosticCategory.Error,key:"Index_signature_is_missing_in_type_0_2329",message:"Index signature is missing in type '{0}'."},Index_signatures_are_incompatible:{code:2330,category:e.DiagnosticCategory.Error,key:"Index_signatures_are_incompatible_2330",message:"Index signatures are incompatible."},this_cannot_be_referenced_in_a_module_or_namespace_body:{code:2331,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_a_module_or_namespace_body_2331",message:"'this' cannot be referenced in a module or namespace body."},this_cannot_be_referenced_in_current_location:{code:2332,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_current_location_2332",message:"'this' cannot be referenced in current location."},this_cannot_be_referenced_in_constructor_arguments:{code:2333,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_constructor_arguments_2333",message:"'this' cannot be referenced in constructor arguments."},this_cannot_be_referenced_in_a_static_property_initializer:{code:2334,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_a_static_property_initializer_2334",message:"'this' cannot be referenced in a static property initializer."},super_can_only_be_referenced_in_a_derived_class:{code:2335,category:e.DiagnosticCategory.Error,key:"super_can_only_be_referenced_in_a_derived_class_2335",message:"'super' can only be referenced in a derived class."},super_cannot_be_referenced_in_constructor_arguments:{code:2336,category:e.DiagnosticCategory.Error,key:"super_cannot_be_referenced_in_constructor_arguments_2336",message:"'super' cannot be referenced in constructor arguments."},Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:{code:2337,category:e.DiagnosticCategory.Error,key:"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337",message:"Super calls are not permitted outside constructors or in nested functions inside constructors."},super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:{code:2338,category:e.DiagnosticCategory.Error,key:"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338",message:"'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."},Property_0_does_not_exist_on_type_1:{code:2339,category:e.DiagnosticCategory.Error,key:"Property_0_does_not_exist_on_type_1_2339",message:"Property '{0}' does not exist on type '{1}'."},Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:{code:2340,category:e.DiagnosticCategory.Error,key:"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340",message:"Only public and protected methods of the base class are accessible via the 'super' keyword."},Property_0_is_private_and_only_accessible_within_class_1:{code:2341,category:e.DiagnosticCategory.Error,key:"Property_0_is_private_and_only_accessible_within_class_1_2341",message:"Property '{0}' is private and only accessible within class '{1}'."},An_index_expression_argument_must_be_of_type_string_number_symbol_or_any:{code:2342,category:e.DiagnosticCategory.Error,key:"An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342",message:"An index expression argument must be of type 'string', 'number', 'symbol', or 'any'."},This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1:{code:2343,category:e.DiagnosticCategory.Error,key:"This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1_2343",message:"This syntax requires an imported helper named '{1}', but module '{0}' has no exported member '{1}'."},Type_0_does_not_satisfy_the_constraint_1:{code:2344,category:e.DiagnosticCategory.Error,key:"Type_0_does_not_satisfy_the_constraint_1_2344",message:"Type '{0}' does not satisfy the constraint '{1}'."},Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:{code:2345,category:e.DiagnosticCategory.Error,key:"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345",message:"Argument of type '{0}' is not assignable to parameter of type '{1}'."},Supplied_parameters_do_not_match_any_signature_of_call_target:{code:2346,category:e.DiagnosticCategory.Error,key:"Supplied_parameters_do_not_match_any_signature_of_call_target_2346",message:"Supplied parameters do not match any signature of call target."},Untyped_function_calls_may_not_accept_type_arguments:{code:2347,category:e.DiagnosticCategory.Error,key:"Untyped_function_calls_may_not_accept_type_arguments_2347",message:"Untyped function calls may not accept type arguments."},Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:{code:2348,category:e.DiagnosticCategory.Error,key:"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348",message:"Value of type '{0}' is not callable. Did you mean to include 'new'?"},Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures:{code:2349,category:e.DiagnosticCategory.Error,key:"Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatur_2349",message:"Cannot invoke an expression whose type lacks a call signature. Type '{0}' has no compatible call signatures."},Only_a_void_function_can_be_called_with_the_new_keyword:{code:2350,category:e.DiagnosticCategory.Error,key:"Only_a_void_function_can_be_called_with_the_new_keyword_2350",message:"Only a void function can be called with the 'new' keyword."},Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature:{ -code:2351,category:e.DiagnosticCategory.Error,key:"Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature_2351",message:"Cannot use 'new' with an expression whose type lacks a call or construct signature."},Type_0_cannot_be_converted_to_type_1:{code:2352,category:e.DiagnosticCategory.Error,key:"Type_0_cannot_be_converted_to_type_1_2352",message:"Type '{0}' cannot be converted to type '{1}'."},Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:{code:2353,category:e.DiagnosticCategory.Error,key:"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353",message:"Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."},This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:{code:2354,category:e.DiagnosticCategory.Error,key:"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354",message:"This syntax requires an imported helper but module '{0}' cannot be found."},A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:{code:2355,category:e.DiagnosticCategory.Error,key:"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355",message:"A function whose declared type is neither 'void' nor 'any' must return a value."},An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type:{code:2356,category:e.DiagnosticCategory.Error,key:"An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type_2356",message:"An arithmetic operand must be of type 'any', 'number' or an enum type."},The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:{code:2357,category:e.DiagnosticCategory.Error,key:"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357",message:"The operand of an increment or decrement operator must be a variable or a property access."},The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:{code:2358,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358",message:"The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."},The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:{code:2359,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359",message:"The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."},The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol:{code:2360,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360",message:"The left-hand side of an 'in' expression must be of type 'any', 'string', 'number', or 'symbol'."},The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:{code:2361,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter_2361",message:"The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter"},The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type:{code:2362,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type_2362",message:"The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type."},The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type:{code:2363,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type_2363",message:"The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type."},The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:{code:2364,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364",message:"The left-hand side of an assignment expression must be a variable or a property access."},Operator_0_cannot_be_applied_to_types_1_and_2:{code:2365,category:e.DiagnosticCategory.Error,key:"Operator_0_cannot_be_applied_to_types_1_and_2_2365",message:"Operator '{0}' cannot be applied to types '{1}' and '{2}'."},Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:{code:2366,category:e.DiagnosticCategory.Error,key:"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366",message:"Function lacks ending return statement and return type does not include 'undefined'."},Type_parameter_name_cannot_be_0:{code:2368,category:e.DiagnosticCategory.Error,key:"Type_parameter_name_cannot_be_0_2368",message:"Type parameter name cannot be '{0}'"},A_parameter_property_is_only_allowed_in_a_constructor_implementation:{code:2369,category:e.DiagnosticCategory.Error,key:"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369",message:"A parameter property is only allowed in a constructor implementation."},A_rest_parameter_must_be_of_an_array_type:{code:2370,category:e.DiagnosticCategory.Error,key:"A_rest_parameter_must_be_of_an_array_type_2370",message:"A rest parameter must be of an array type."},A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:{code:2371,category:e.DiagnosticCategory.Error,key:"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371",message:"A parameter initializer is only allowed in a function or constructor implementation."},Parameter_0_cannot_be_referenced_in_its_initializer:{code:2372,category:e.DiagnosticCategory.Error,key:"Parameter_0_cannot_be_referenced_in_its_initializer_2372",message:"Parameter '{0}' cannot be referenced in its initializer."},Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it:{code:2373,category:e.DiagnosticCategory.Error,key:"Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it_2373",message:"Initializer of parameter '{0}' cannot reference identifier '{1}' declared after it."},Duplicate_string_index_signature:{code:2374,category:e.DiagnosticCategory.Error,key:"Duplicate_string_index_signature_2374",message:"Duplicate string index signature."},Duplicate_number_index_signature:{code:2375,category:e.DiagnosticCategory.Error,key:"Duplicate_number_index_signature_2375",message:"Duplicate number index signature."},A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties:{code:2376,category:e.DiagnosticCategory.Error,key:"A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376",message:"A 'super' call must be the first statement in the constructor when a class contains initialized properties or has parameter properties."},Constructors_for_derived_classes_must_contain_a_super_call:{code:2377,category:e.DiagnosticCategory.Error,key:"Constructors_for_derived_classes_must_contain_a_super_call_2377",message:"Constructors for derived classes must contain a 'super' call."},A_get_accessor_must_return_a_value:{code:2378,category:e.DiagnosticCategory.Error,key:"A_get_accessor_must_return_a_value_2378",message:"A 'get' accessor must return a value."},Getter_and_setter_accessors_do_not_agree_in_visibility:{code:2379,category:e.DiagnosticCategory.Error,key:"Getter_and_setter_accessors_do_not_agree_in_visibility_2379",message:"Getter and setter accessors do not agree in visibility."},get_and_set_accessor_must_have_the_same_type:{code:2380,category:e.DiagnosticCategory.Error,key:"get_and_set_accessor_must_have_the_same_type_2380",message:"'get' and 'set' accessor must have the same type."},A_signature_with_an_implementation_cannot_use_a_string_literal_type:{code:2381,category:e.DiagnosticCategory.Error,key:"A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381",message:"A signature with an implementation cannot use a string literal type."},Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature:{code:2382,category:e.DiagnosticCategory.Error,key:"Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382",message:"Specialized overload signature is not assignable to any non-specialized signature."},Overload_signatures_must_all_be_exported_or_non_exported:{code:2383,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_exported_or_non_exported_2383",message:"Overload signatures must all be exported or non-exported."},Overload_signatures_must_all_be_ambient_or_non_ambient:{code:2384,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_ambient_or_non_ambient_2384",message:"Overload signatures must all be ambient or non-ambient."},Overload_signatures_must_all_be_public_private_or_protected:{code:2385,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_public_private_or_protected_2385",message:"Overload signatures must all be public, private or protected."},Overload_signatures_must_all_be_optional_or_required:{code:2386,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_optional_or_required_2386",message:"Overload signatures must all be optional or required."},Function_overload_must_be_static:{code:2387,category:e.DiagnosticCategory.Error,key:"Function_overload_must_be_static_2387",message:"Function overload must be static."},Function_overload_must_not_be_static:{code:2388,category:e.DiagnosticCategory.Error,key:"Function_overload_must_not_be_static_2388",message:"Function overload must not be static."},Function_implementation_name_must_be_0:{code:2389,category:e.DiagnosticCategory.Error,key:"Function_implementation_name_must_be_0_2389",message:"Function implementation name must be '{0}'."},Constructor_implementation_is_missing:{code:2390,category:e.DiagnosticCategory.Error,key:"Constructor_implementation_is_missing_2390",message:"Constructor implementation is missing."},Function_implementation_is_missing_or_not_immediately_following_the_declaration:{code:2391,category:e.DiagnosticCategory.Error,key:"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391",message:"Function implementation is missing or not immediately following the declaration."},Multiple_constructor_implementations_are_not_allowed:{code:2392,category:e.DiagnosticCategory.Error,key:"Multiple_constructor_implementations_are_not_allowed_2392",message:"Multiple constructor implementations are not allowed."},Duplicate_function_implementation:{code:2393,category:e.DiagnosticCategory.Error,key:"Duplicate_function_implementation_2393",message:"Duplicate function implementation."},Overload_signature_is_not_compatible_with_function_implementation:{code:2394,category:e.DiagnosticCategory.Error,key:"Overload_signature_is_not_compatible_with_function_implementation_2394",message:"Overload signature is not compatible with function implementation."},Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:{code:2395,category:e.DiagnosticCategory.Error,key:"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395",message:"Individual declarations in merged declaration '{0}' must be all exported or all local."},Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:{code:2396,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396",message:"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."},Declaration_name_conflicts_with_built_in_global_identifier_0:{code:2397,category:e.DiagnosticCategory.Error,key:"Declaration_name_conflicts_with_built_in_global_identifier_0_2397",message:"Declaration name conflicts with built-in global identifier '{0}'."},Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:{code:2399,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399",message:"Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."},Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:{code:2400,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400",message:"Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."},Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference:{code:2401,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401",message:"Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference."},Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:{code:2402,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402",message:"Expression resolves to '_super' that compiler uses to capture base class reference."},Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:{code:2403,category:e.DiagnosticCategory.Error,key:"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403",message:"Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."},The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:{code:2404,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404",message:"The left-hand side of a 'for...in' statement cannot use a type annotation."},The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:{code:2405,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405",message:"The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."},The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:{code:2406,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406",message:"The left-hand side of a 'for...in' statement must be a variable or a property access."},The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter:{code:2407,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_2407",message:"The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter."},Setters_cannot_return_a_value:{code:2408,category:e.DiagnosticCategory.Error,key:"Setters_cannot_return_a_value_2408",message:"Setters cannot return a value."},Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:{code:2409,category:e.DiagnosticCategory.Error,key:"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409",message:"Return type of constructor signature must be assignable to the instance type of the class"},The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:{code:2410,category:e.DiagnosticCategory.Error,key:"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410",message:"The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."},Property_0_of_type_1_is_not_assignable_to_string_index_type_2:{code:2411,category:e.DiagnosticCategory.Error,key:"Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411",message:"Property '{0}' of type '{1}' is not assignable to string index type '{2}'."},Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2:{code:2412,category:e.DiagnosticCategory.Error,key:"Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412",message:"Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'."},Numeric_index_type_0_is_not_assignable_to_string_index_type_1:{code:2413,category:e.DiagnosticCategory.Error,key:"Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413",message:"Numeric index type '{0}' is not assignable to string index type '{1}'."},Class_name_cannot_be_0:{code:2414,category:e.DiagnosticCategory.Error,key:"Class_name_cannot_be_0_2414",message:"Class name cannot be '{0}'"},Class_0_incorrectly_extends_base_class_1:{code:2415,category:e.DiagnosticCategory.Error,key:"Class_0_incorrectly_extends_base_class_1_2415",message:"Class '{0}' incorrectly extends base class '{1}'."},Class_static_side_0_incorrectly_extends_base_class_static_side_1:{code:2417,category:e.DiagnosticCategory.Error,key:"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417",message:"Class static side '{0}' incorrectly extends base class static side '{1}'."},Class_0_incorrectly_implements_interface_1:{code:2420,category:e.DiagnosticCategory.Error,key:"Class_0_incorrectly_implements_interface_1_2420",message:"Class '{0}' incorrectly implements interface '{1}'."},A_class_may_only_implement_another_class_or_interface:{code:2422,category:e.DiagnosticCategory.Error,key:"A_class_may_only_implement_another_class_or_interface_2422",message:"A class may only implement another class or interface."},Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:{code:2423,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423",message:"Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."},Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property:{code:2424,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_proper_2424",message:"Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property."},Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:{code:2425,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425",message:"Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."},Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:{code:2426,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426",message:"Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."},Interface_name_cannot_be_0:{code:2427,category:e.DiagnosticCategory.Error,key:"Interface_name_cannot_be_0_2427",message:"Interface name cannot be '{0}'"},All_declarations_of_0_must_have_identical_type_parameters:{code:2428,category:e.DiagnosticCategory.Error,key:"All_declarations_of_0_must_have_identical_type_parameters_2428",message:"All declarations of '{0}' must have identical type parameters."},Interface_0_incorrectly_extends_interface_1:{code:2430,category:e.DiagnosticCategory.Error,key:"Interface_0_incorrectly_extends_interface_1_2430",message:"Interface '{0}' incorrectly extends interface '{1}'."},Enum_name_cannot_be_0:{code:2431,category:e.DiagnosticCategory.Error,key:"Enum_name_cannot_be_0_2431",message:"Enum name cannot be '{0}'"},In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:{code:2432,category:e.DiagnosticCategory.Error,key:"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432",message:"In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."},A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:{code:2433,category:e.DiagnosticCategory.Error,key:"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433",message:"A namespace declaration cannot be in a different file from a class or function with which it is merged"},A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:{code:2434,category:e.DiagnosticCategory.Error,key:"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434",message:"A namespace declaration cannot be located prior to a class or function with which it is merged"},Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:{code:2435,category:e.DiagnosticCategory.Error,key:"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435",message:"Ambient modules cannot be nested in other modules or namespaces."},Ambient_module_declaration_cannot_specify_relative_module_name:{code:2436,category:e.DiagnosticCategory.Error,key:"Ambient_module_declaration_cannot_specify_relative_module_name_2436",message:"Ambient module declaration cannot specify relative module name."},Module_0_is_hidden_by_a_local_declaration_with_the_same_name:{code:2437,category:e.DiagnosticCategory.Error,key:"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437",message:"Module '{0}' is hidden by a local declaration with the same name"},Import_name_cannot_be_0:{code:2438,category:e.DiagnosticCategory.Error,key:"Import_name_cannot_be_0_2438",message:"Import name cannot be '{0}'"},Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:{code:2439,category:e.DiagnosticCategory.Error,key:"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439",message:"Import or export declaration in an ambient module declaration cannot reference module through relative module name."},Import_declaration_conflicts_with_local_declaration_of_0:{code:2440,category:e.DiagnosticCategory.Error,key:"Import_declaration_conflicts_with_local_declaration_of_0_2440",message:"Import declaration conflicts with local declaration of '{0}'"},Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:{code:2441,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441",message:"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."},Types_have_separate_declarations_of_a_private_property_0:{code:2442,category:e.DiagnosticCategory.Error,key:"Types_have_separate_declarations_of_a_private_property_0_2442",message:"Types have separate declarations of a private property '{0}'."},Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:{code:2443,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443",message:"Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."},Property_0_is_protected_in_type_1_but_public_in_type_2:{code:2444,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_in_type_1_but_public_in_type_2_2444",message:"Property '{0}' is protected in type '{1}' but public in type '{2}'."},Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:{code:2445,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445",message:"Property '{0}' is protected and only accessible within class '{1}' and its subclasses."},Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1:{code:2446,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_2446",message:"Property '{0}' is protected and only accessible through an instance of class '{1}'."},The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:{code:2447,category:e.DiagnosticCategory.Error,key:"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447",message:"The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."},Block_scoped_variable_0_used_before_its_declaration:{code:2448,category:e.DiagnosticCategory.Error,key:"Block_scoped_variable_0_used_before_its_declaration_2448",message:"Block-scoped variable '{0}' used before its declaration."},Cannot_redeclare_block_scoped_variable_0:{code:2451,category:e.DiagnosticCategory.Error,key:"Cannot_redeclare_block_scoped_variable_0_2451",message:"Cannot redeclare block-scoped variable '{0}'."},An_enum_member_cannot_have_a_numeric_name:{code:2452,category:e.DiagnosticCategory.Error,key:"An_enum_member_cannot_have_a_numeric_name_2452",message:"An enum member cannot have a numeric name."},The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly:{code:2453,category:e.DiagnosticCategory.Error,key:"The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453",message:"The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly."},Variable_0_is_used_before_being_assigned:{code:2454,category:e.DiagnosticCategory.Error,key:"Variable_0_is_used_before_being_assigned_2454",message:"Variable '{0}' is used before being assigned."},Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0:{code:2455,category:e.DiagnosticCategory.Error,key:"Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455",message:"Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'."},Type_alias_0_circularly_references_itself:{code:2456,category:e.DiagnosticCategory.Error,key:"Type_alias_0_circularly_references_itself_2456",message:"Type alias '{0}' circularly references itself."},Type_alias_name_cannot_be_0:{code:2457,category:e.DiagnosticCategory.Error,key:"Type_alias_name_cannot_be_0_2457",message:"Type alias name cannot be '{0}'"},An_AMD_module_cannot_have_multiple_name_assignments:{code:2458,category:e.DiagnosticCategory.Error,key:"An_AMD_module_cannot_have_multiple_name_assignments_2458",message:"An AMD module cannot have multiple name assignments."},Type_0_has_no_property_1_and_no_string_index_signature:{code:2459,category:e.DiagnosticCategory.Error,key:"Type_0_has_no_property_1_and_no_string_index_signature_2459",message:"Type '{0}' has no property '{1}' and no string index signature."},Type_0_has_no_property_1:{code:2460,category:e.DiagnosticCategory.Error,key:"Type_0_has_no_property_1_2460",message:"Type '{0}' has no property '{1}'."},Type_0_is_not_an_array_type:{code:2461,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_an_array_type_2461",message:"Type '{0}' is not an array type."},A_rest_element_must_be_last_in_a_destructuring_pattern:{code:2462,category:e.DiagnosticCategory.Error,key:"A_rest_element_must_be_last_in_a_destructuring_pattern_2462",message:"A rest element must be last in a destructuring pattern"},A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:{code:2463,category:e.DiagnosticCategory.Error,key:"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463",message:"A binding pattern parameter cannot be optional in an implementation signature."},A_computed_property_name_must_be_of_type_string_number_symbol_or_any:{code:2464,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464",message:"A computed property name must be of type 'string', 'number', 'symbol', or 'any'."},this_cannot_be_referenced_in_a_computed_property_name:{code:2465,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_a_computed_property_name_2465",message:"'this' cannot be referenced in a computed property name."},super_cannot_be_referenced_in_a_computed_property_name:{code:2466,category:e.DiagnosticCategory.Error,key:"super_cannot_be_referenced_in_a_computed_property_name_2466",message:"'super' cannot be referenced in a computed property name."},A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:{code:2467,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467",message:"A computed property name cannot reference a type parameter from its containing type."},Cannot_find_global_value_0:{code:2468,category:e.DiagnosticCategory.Error,key:"Cannot_find_global_value_0_2468",message:"Cannot find global value '{0}'."},The_0_operator_cannot_be_applied_to_type_symbol:{code:2469,category:e.DiagnosticCategory.Error,key:"The_0_operator_cannot_be_applied_to_type_symbol_2469",message:"The '{0}' operator cannot be applied to type 'symbol'."},Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object:{code:2470,category:e.DiagnosticCategory.Error,key:"Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470",message:"'Symbol' reference does not refer to the global Symbol constructor object."},A_computed_property_name_of_the_form_0_must_be_of_type_symbol:{code:2471,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471",message:"A computed property name of the form '{0}' must be of type 'symbol'."},Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:{code:2472,category:e.DiagnosticCategory.Error,key:"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472",message:"Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."},Enum_declarations_must_all_be_const_or_non_const:{code:2473,category:e.DiagnosticCategory.Error,key:"Enum_declarations_must_all_be_const_or_non_const_2473",message:"Enum declarations must all be const or non-const."},In_const_enum_declarations_member_initializer_must_be_constant_expression:{code:2474,category:e.DiagnosticCategory.Error,key:"In_const_enum_declarations_member_initializer_must_be_constant_expression_2474",message:"In 'const' enum declarations member initializer must be constant expression."},const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment:{code:2475,category:e.DiagnosticCategory.Error,key:"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475",message:"'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment."},A_const_enum_member_can_only_be_accessed_using_a_string_literal:{code:2476,category:e.DiagnosticCategory.Error,key:"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476",message:"A const enum member can only be accessed using a string literal."},const_enum_member_initializer_was_evaluated_to_a_non_finite_value:{code:2477,category:e.DiagnosticCategory.Error,key:"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477", -message:"'const' enum member initializer was evaluated to a non-finite value."},const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:{code:2478,category:e.DiagnosticCategory.Error,key:"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478",message:"'const' enum member initializer was evaluated to disallowed value 'NaN'."},Property_0_does_not_exist_on_const_enum_1:{code:2479,category:e.DiagnosticCategory.Error,key:"Property_0_does_not_exist_on_const_enum_1_2479",message:"Property '{0}' does not exist on 'const' enum '{1}'."},let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:{code:2480,category:e.DiagnosticCategory.Error,key:"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480",message:"'let' is not allowed to be used as a name in 'let' or 'const' declarations."},Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:{code:2481,category:e.DiagnosticCategory.Error,key:"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481",message:"Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."},The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:{code:2483,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483",message:"The left-hand side of a 'for...of' statement cannot use a type annotation."},Export_declaration_conflicts_with_exported_declaration_of_0:{code:2484,category:e.DiagnosticCategory.Error,key:"Export_declaration_conflicts_with_exported_declaration_of_0_2484",message:"Export declaration conflicts with exported declaration of '{0}'"},The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:{code:2487,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487",message:"The left-hand side of a 'for...of' statement must be a variable or a property access."},Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator:{code:2488,category:e.DiagnosticCategory.Error,key:"Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488",message:"Type must have a '[Symbol.iterator]()' method that returns an iterator."},An_iterator_must_have_a_next_method:{code:2489,category:e.DiagnosticCategory.Error,key:"An_iterator_must_have_a_next_method_2489",message:"An iterator must have a 'next()' method."},The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property:{code:2490,category:e.DiagnosticCategory.Error,key:"The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property_2490",message:"The type returned by the 'next()' method of an iterator must have a 'value' property."},The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:{code:2491,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491",message:"The left-hand side of a 'for...in' statement cannot be a destructuring pattern."},Cannot_redeclare_identifier_0_in_catch_clause:{code:2492,category:e.DiagnosticCategory.Error,key:"Cannot_redeclare_identifier_0_in_catch_clause_2492",message:"Cannot redeclare identifier '{0}' in catch clause"},Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2:{code:2493,category:e.DiagnosticCategory.Error,key:"Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2_2493",message:"Tuple type '{0}' with length '{1}' cannot be assigned to tuple with length '{2}'."},Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:{code:2494,category:e.DiagnosticCategory.Error,key:"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494",message:"Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."},Type_0_is_not_an_array_type_or_a_string_type:{code:2495,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_an_array_type_or_a_string_type_2495",message:"Type '{0}' is not an array type or a string type."},The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:{code:2496,category:e.DiagnosticCategory.Error,key:"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496",message:"The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."},Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct:{code:2497,category:e.DiagnosticCategory.Error,key:"Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct_2497",message:"Module '{0}' resolves to a non-module entity and cannot be imported using this construct."},Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:{code:2498,category:e.DiagnosticCategory.Error,key:"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498",message:"Module '{0}' uses 'export =' and cannot be used with 'export *'."},An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:{code:2499,category:e.DiagnosticCategory.Error,key:"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499",message:"An interface can only extend an identifier/qualified-name with optional type arguments."},A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:{code:2500,category:e.DiagnosticCategory.Error,key:"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500",message:"A class can only implement an identifier/qualified-name with optional type arguments."},A_rest_element_cannot_contain_a_binding_pattern:{code:2501,category:e.DiagnosticCategory.Error,key:"A_rest_element_cannot_contain_a_binding_pattern_2501",message:"A rest element cannot contain a binding pattern."},_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:{code:2502,category:e.DiagnosticCategory.Error,key:"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502",message:"'{0}' is referenced directly or indirectly in its own type annotation."},Cannot_find_namespace_0:{code:2503,category:e.DiagnosticCategory.Error,key:"Cannot_find_namespace_0_2503",message:"Cannot find namespace '{0}'."},A_generator_cannot_have_a_void_type_annotation:{code:2505,category:e.DiagnosticCategory.Error,key:"A_generator_cannot_have_a_void_type_annotation_2505",message:"A generator cannot have a 'void' type annotation."},_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:{code:2506,category:e.DiagnosticCategory.Error,key:"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506",message:"'{0}' is referenced directly or indirectly in its own base expression."},Type_0_is_not_a_constructor_function_type:{code:2507,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_a_constructor_function_type_2507",message:"Type '{0}' is not a constructor function type."},No_base_constructor_has_the_specified_number_of_type_arguments:{code:2508,category:e.DiagnosticCategory.Error,key:"No_base_constructor_has_the_specified_number_of_type_arguments_2508",message:"No base constructor has the specified number of type arguments."},Base_constructor_return_type_0_is_not_a_class_or_interface_type:{code:2509,category:e.DiagnosticCategory.Error,key:"Base_constructor_return_type_0_is_not_a_class_or_interface_type_2509",message:"Base constructor return type '{0}' is not a class or interface type."},Base_constructors_must_all_have_the_same_return_type:{code:2510,category:e.DiagnosticCategory.Error,key:"Base_constructors_must_all_have_the_same_return_type_2510",message:"Base constructors must all have the same return type."},Cannot_create_an_instance_of_the_abstract_class_0:{code:2511,category:e.DiagnosticCategory.Error,key:"Cannot_create_an_instance_of_the_abstract_class_0_2511",message:"Cannot create an instance of the abstract class '{0}'."},Overload_signatures_must_all_be_abstract_or_non_abstract:{code:2512,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_abstract_or_non_abstract_2512",message:"Overload signatures must all be abstract or non-abstract."},Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:{code:2513,category:e.DiagnosticCategory.Error,key:"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513",message:"Abstract method '{0}' in class '{1}' cannot be accessed via super expression."},Classes_containing_abstract_methods_must_be_marked_abstract:{code:2514,category:e.DiagnosticCategory.Error,key:"Classes_containing_abstract_methods_must_be_marked_abstract_2514",message:"Classes containing abstract methods must be marked abstract."},Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:{code:2515,category:e.DiagnosticCategory.Error,key:"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515",message:"Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."},All_declarations_of_an_abstract_method_must_be_consecutive:{code:2516,category:e.DiagnosticCategory.Error,key:"All_declarations_of_an_abstract_method_must_be_consecutive_2516",message:"All declarations of an abstract method must be consecutive."},Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:{code:2517,category:e.DiagnosticCategory.Error,key:"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517",message:"Cannot assign an abstract constructor type to a non-abstract constructor type."},A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:{code:2518,category:e.DiagnosticCategory.Error,key:"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518",message:"A 'this'-based type guard is not compatible with a parameter-based type guard."},Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:{code:2520,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520",message:"Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."},Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions:{code:2521,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521",message:"Expression resolves to variable declaration '{0}' that compiler uses to support async functions."},The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:{code:2522,category:e.DiagnosticCategory.Error,key:"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522",message:"The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."},yield_expressions_cannot_be_used_in_a_parameter_initializer:{code:2523,category:e.DiagnosticCategory.Error,key:"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523",message:"'yield' expressions cannot be used in a parameter initializer."},await_expressions_cannot_be_used_in_a_parameter_initializer:{code:2524,category:e.DiagnosticCategory.Error,key:"await_expressions_cannot_be_used_in_a_parameter_initializer_2524",message:"'await' expressions cannot be used in a parameter initializer."},Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:{code:2525,category:e.DiagnosticCategory.Error,key:"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525",message:"Initializer provides no value for this binding element and the binding element has no default value."},A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:{code:2526,category:e.DiagnosticCategory.Error,key:"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526",message:"A 'this' type is available only in a non-static member of a class or interface."},The_inferred_type_of_0_references_an_inaccessible_this_type_A_type_annotation_is_necessary:{code:2527,category:e.DiagnosticCategory.Error,key:"The_inferred_type_of_0_references_an_inaccessible_this_type_A_type_annotation_is_necessary_2527",message:"The inferred type of '{0}' references an inaccessible 'this' type. A type annotation is necessary."},A_module_cannot_have_multiple_default_exports:{code:2528,category:e.DiagnosticCategory.Error,key:"A_module_cannot_have_multiple_default_exports_2528",message:"A module cannot have multiple default exports."},Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:{code:2529,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529",message:"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."},Property_0_is_incompatible_with_index_signature:{code:2530,category:e.DiagnosticCategory.Error,key:"Property_0_is_incompatible_with_index_signature_2530",message:"Property '{0}' is incompatible with index signature."},Object_is_possibly_null:{code:2531,category:e.DiagnosticCategory.Error,key:"Object_is_possibly_null_2531",message:"Object is possibly 'null'."},Object_is_possibly_undefined:{code:2532,category:e.DiagnosticCategory.Error,key:"Object_is_possibly_undefined_2532",message:"Object is possibly 'undefined'."},Object_is_possibly_null_or_undefined:{code:2533,category:e.DiagnosticCategory.Error,key:"Object_is_possibly_null_or_undefined_2533",message:"Object is possibly 'null' or 'undefined'."},A_function_returning_never_cannot_have_a_reachable_end_point:{code:2534,category:e.DiagnosticCategory.Error,key:"A_function_returning_never_cannot_have_a_reachable_end_point_2534",message:"A function returning 'never' cannot have a reachable end point."},Enum_type_0_has_members_with_initializers_that_are_not_literals:{code:2535,category:e.DiagnosticCategory.Error,key:"Enum_type_0_has_members_with_initializers_that_are_not_literals_2535",message:"Enum type '{0}' has members with initializers that are not literals."},Type_0_cannot_be_used_to_index_type_1:{code:2536,category:e.DiagnosticCategory.Error,key:"Type_0_cannot_be_used_to_index_type_1_2536",message:"Type '{0}' cannot be used to index type '{1}'."},Type_0_has_no_matching_index_signature_for_type_1:{code:2537,category:e.DiagnosticCategory.Error,key:"Type_0_has_no_matching_index_signature_for_type_1_2537",message:"Type '{0}' has no matching index signature for type '{1}'."},Type_0_cannot_be_used_as_an_index_type:{code:2538,category:e.DiagnosticCategory.Error,key:"Type_0_cannot_be_used_as_an_index_type_2538",message:"Type '{0}' cannot be used as an index type."},Cannot_assign_to_0_because_it_is_not_a_variable:{code:2539,category:e.DiagnosticCategory.Error,key:"Cannot_assign_to_0_because_it_is_not_a_variable_2539",message:"Cannot assign to '{0}' because it is not a variable."},Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property:{code:2540,category:e.DiagnosticCategory.Error,key:"Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property_2540",message:"Cannot assign to '{0}' because it is a constant or a read-only property."},The_target_of_an_assignment_must_be_a_variable_or_a_property_access:{code:2541,category:e.DiagnosticCategory.Error,key:"The_target_of_an_assignment_must_be_a_variable_or_a_property_access_2541",message:"The target of an assignment must be a variable or a property access."},Index_signature_in_type_0_only_permits_reading:{code:2542,category:e.DiagnosticCategory.Error,key:"Index_signature_in_type_0_only_permits_reading_2542",message:"Index signature in type '{0}' only permits reading."},JSX_element_attributes_type_0_may_not_be_a_union_type:{code:2600,category:e.DiagnosticCategory.Error,key:"JSX_element_attributes_type_0_may_not_be_a_union_type_2600",message:"JSX element attributes type '{0}' may not be a union type."},The_return_type_of_a_JSX_element_constructor_must_return_an_object_type:{code:2601,category:e.DiagnosticCategory.Error,key:"The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601",message:"The return type of a JSX element constructor must return an object type."},JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:{code:2602,category:e.DiagnosticCategory.Error,key:"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602",message:"JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."},Property_0_in_type_1_is_not_assignable_to_type_2:{code:2603,category:e.DiagnosticCategory.Error,key:"Property_0_in_type_1_is_not_assignable_to_type_2_2603",message:"Property '{0}' in type '{1}' is not assignable to type '{2}'"},JSX_element_type_0_does_not_have_any_construct_or_call_signatures:{code:2604,category:e.DiagnosticCategory.Error,key:"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604",message:"JSX element type '{0}' does not have any construct or call signatures."},JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements:{code:2605,category:e.DiagnosticCategory.Error,key:"JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605",message:"JSX element type '{0}' is not a constructor function for JSX elements."},Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:{code:2606,category:e.DiagnosticCategory.Error,key:"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606",message:"Property '{0}' of JSX spread attribute is not assignable to target property."},JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:{code:2607,category:e.DiagnosticCategory.Error,key:"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607",message:"JSX element class does not support attributes because it does not have a '{0}' property"},The_global_type_JSX_0_may_not_have_more_than_one_property:{code:2608,category:e.DiagnosticCategory.Error,key:"The_global_type_JSX_0_may_not_have_more_than_one_property_2608",message:"The global type 'JSX.{0}' may not have more than one property"},Cannot_emit_namespaced_JSX_elements_in_React:{code:2650,category:e.DiagnosticCategory.Error,key:"Cannot_emit_namespaced_JSX_elements_in_React_2650",message:"Cannot emit namespaced JSX elements in React"},A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:{code:2651,category:e.DiagnosticCategory.Error,key:"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651",message:"A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."},Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:{code:2652,category:e.DiagnosticCategory.Error,key:"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652",message:"Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."},Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:{code:2653,category:e.DiagnosticCategory.Error,key:"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653",message:"Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."},Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition:{code:2654,category:e.DiagnosticCategory.Error,key:"Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654",message:"Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition."},Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition:{code:2656,category:e.DiagnosticCategory.Error,key:"Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656",message:"Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition."},JSX_expressions_must_have_one_parent_element:{code:2657,category:e.DiagnosticCategory.Error,key:"JSX_expressions_must_have_one_parent_element_2657",message:"JSX expressions must have one parent element"},Type_0_provides_no_match_for_the_signature_1:{code:2658,category:e.DiagnosticCategory.Error,key:"Type_0_provides_no_match_for_the_signature_1_2658",message:"Type '{0}' provides no match for the signature '{1}'"},super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:{code:2659,category:e.DiagnosticCategory.Error,key:"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659",message:"'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."},super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:{code:2660,category:e.DiagnosticCategory.Error,key:"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660",message:"'super' can only be referenced in members of derived classes or object literal expressions."},Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:{code:2661,category:e.DiagnosticCategory.Error,key:"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661",message:"Cannot export '{0}'. Only local declarations can be exported from a module."},Cannot_find_name_0_Did_you_mean_the_static_member_1_0:{code:2662,category:e.DiagnosticCategory.Error,key:"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662",message:"Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"},Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:{code:2663,category:e.DiagnosticCategory.Error,key:"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663",message:"Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"},Invalid_module_name_in_augmentation_module_0_cannot_be_found:{code:2664,category:e.DiagnosticCategory.Error,key:"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664",message:"Invalid module name in augmentation, module '{0}' cannot be found."},Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:{code:2665,category:e.DiagnosticCategory.Error,key:"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665",message:"Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."},Exports_and_export_assignments_are_not_permitted_in_module_augmentations:{code:2666,category:e.DiagnosticCategory.Error,key:"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666",message:"Exports and export assignments are not permitted in module augmentations."},Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:{code:2667,category:e.DiagnosticCategory.Error,key:"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667",message:"Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."},export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:{code:2668,category:e.DiagnosticCategory.Error,key:"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668",message:"'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."},Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:{code:2669,category:e.DiagnosticCategory.Error,key:"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669",message:"Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."},Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:{code:2670,category:e.DiagnosticCategory.Error,key:"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670",message:"Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."},Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:{code:2671,category:e.DiagnosticCategory.Error,key:"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671",message:"Cannot augment module '{0}' because it resolves to a non-module entity."},Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:{code:2672,category:e.DiagnosticCategory.Error,key:"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672",message:"Cannot assign a '{0}' constructor type to a '{1}' constructor type."},Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:{code:2673,category:e.DiagnosticCategory.Error,key:"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673",message:"Constructor of class '{0}' is private and only accessible within the class declaration."},Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:{code:2674,category:e.DiagnosticCategory.Error,key:"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674",message:"Constructor of class '{0}' is protected and only accessible within the class declaration."},Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:{code:2675,category:e.DiagnosticCategory.Error,key:"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675",message:"Cannot extend a class '{0}'. Class constructor is marked as private."},Accessors_must_both_be_abstract_or_non_abstract:{code:2676,category:e.DiagnosticCategory.Error,key:"Accessors_must_both_be_abstract_or_non_abstract_2676",message:"Accessors must both be abstract or non-abstract."},A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:{code:2677,category:e.DiagnosticCategory.Error,key:"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677",message:"A type predicate's type must be assignable to its parameter's type."},Type_0_is_not_comparable_to_type_1:{code:2678,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_comparable_to_type_1_2678",message:"Type '{0}' is not comparable to type '{1}'."},A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:{code:2679,category:e.DiagnosticCategory.Error,key:"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679",message:"A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."},A_this_parameter_must_be_the_first_parameter:{code:2680,category:e.DiagnosticCategory.Error,key:"A_this_parameter_must_be_the_first_parameter_2680",message:"A 'this' parameter must be the first parameter."},A_constructor_cannot_have_a_this_parameter:{code:2681,category:e.DiagnosticCategory.Error,key:"A_constructor_cannot_have_a_this_parameter_2681",message:"A constructor cannot have a 'this' parameter."},get_and_set_accessor_must_have_the_same_this_type:{code:2682,category:e.DiagnosticCategory.Error,key:"get_and_set_accessor_must_have_the_same_this_type_2682",message:"'get' and 'set' accessor must have the same 'this' type."},this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:{code:2683,category:e.DiagnosticCategory.Error,key:"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683",message:"'this' implicitly has type 'any' because it does not have a type annotation."},The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:{code:2684,category:e.DiagnosticCategory.Error,key:"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684",message:"The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."},The_this_types_of_each_signature_are_incompatible:{code:2685,category:e.DiagnosticCategory.Error,key:"The_this_types_of_each_signature_are_incompatible_2685",message:"The 'this' types of each signature are incompatible."},_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:{code:2686,category:e.DiagnosticCategory.Error,key:"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686",message:"'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."},All_declarations_of_0_must_have_identical_modifiers:{code:2687,category:e.DiagnosticCategory.Error,key:"All_declarations_of_0_must_have_identical_modifiers_2687",message:"All declarations of '{0}' must have identical modifiers."},Cannot_find_type_definition_file_for_0:{code:2688,category:e.DiagnosticCategory.Error,key:"Cannot_find_type_definition_file_for_0_2688",message:"Cannot find type definition file for '{0}'."},Cannot_extend_an_interface_0_Did_you_mean_implements:{code:2689,category:e.DiagnosticCategory.Error,key:"Cannot_extend_an_interface_0_Did_you_mean_implements_2689",message:"Cannot extend an interface '{0}'. Did you mean 'implements'?"},A_class_must_be_declared_after_its_base_class:{code:2690,category:e.DiagnosticCategory.Error,key:"A_class_must_be_declared_after_its_base_class_2690",message:"A class must be declared after its base class."},An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead:{code:2691,category:e.DiagnosticCategory.Error,key:"An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691",message:"An import path cannot end with a '{0}' extension. Consider importing '{1}' instead."},_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:{code:2692,category:e.DiagnosticCategory.Error,key:"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692",message:"'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."},_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:{code:2693,category:e.DiagnosticCategory.Error,key:"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693",message:"'{0}' only refers to a type, but is being used as a value here."},Namespace_0_has_no_exported_member_1:{code:2694,category:e.DiagnosticCategory.Error,key:"Namespace_0_has_no_exported_member_1_2694",message:"Namespace '{0}' has no exported member '{1}'."},Left_side_of_comma_operator_is_unused_and_has_no_side_effects:{code:2695,category:e.DiagnosticCategory.Error,key:"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695",message:"Left side of comma operator is unused and has no side effects."},The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:{code:2696,category:e.DiagnosticCategory.Error,key:"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696",message:"The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?" -},An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:{code:2697,category:e.DiagnosticCategory.Error,key:"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697",message:"An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."},Spread_types_may_only_be_created_from_object_types:{code:2698,category:e.DiagnosticCategory.Error,key:"Spread_types_may_only_be_created_from_object_types_2698",message:"Spread types may only be created from object types."},Rest_types_may_only_be_created_from_object_types:{code:2700,category:e.DiagnosticCategory.Error,key:"Rest_types_may_only_be_created_from_object_types_2700",message:"Rest types may only be created from object types."},The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:{code:2701,category:e.DiagnosticCategory.Error,key:"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701",message:"The target of an object rest assignment must be a variable or a property access."},_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:{code:2702,category:e.DiagnosticCategory.Error,key:"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702",message:"'{0}' only refers to a type, but is being used as a namespace here."},Import_declaration_0_is_using_private_name_1:{code:4e3,category:e.DiagnosticCategory.Error,key:"Import_declaration_0_is_using_private_name_1_4000",message:"Import declaration '{0}' is using private name '{1}'."},Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:{code:4002,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002",message:"Type parameter '{0}' of exported class has or is using private name '{1}'."},Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:{code:4004,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004",message:"Type parameter '{0}' of exported interface has or is using private name '{1}'."},Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4006,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006",message:"Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."},Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4008,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008",message:"Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."},Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:{code:4010,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010",message:"Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."},Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:{code:4012,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012",message:"Type parameter '{0}' of public method from exported class has or is using private name '{1}'."},Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:{code:4014,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014",message:"Type parameter '{0}' of method from exported interface has or is using private name '{1}'."},Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:{code:4016,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016",message:"Type parameter '{0}' of exported function has or is using private name '{1}'."},Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:{code:4019,category:e.DiagnosticCategory.Error,key:"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019",message:"Implements clause of exported class '{0}' has or is using private name '{1}'."},Extends_clause_of_exported_class_0_has_or_is_using_private_name_1:{code:4020,category:e.DiagnosticCategory.Error,key:"Extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020",message:"Extends clause of exported class '{0}' has or is using private name '{1}'."},Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:{code:4022,category:e.DiagnosticCategory.Error,key:"Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022",message:"Extends clause of exported interface '{0}' has or is using private name '{1}'."},Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4023,category:e.DiagnosticCategory.Error,key:"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023",message:"Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."},Exported_variable_0_has_or_is_using_name_1_from_private_module_2:{code:4024,category:e.DiagnosticCategory.Error,key:"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024",message:"Exported variable '{0}' has or is using name '{1}' from private module '{2}'."},Exported_variable_0_has_or_is_using_private_name_1:{code:4025,category:e.DiagnosticCategory.Error,key:"Exported_variable_0_has_or_is_using_private_name_1_4025",message:"Exported variable '{0}' has or is using private name '{1}'."},Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4026,category:e.DiagnosticCategory.Error,key:"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026",message:"Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."},Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4027,category:e.DiagnosticCategory.Error,key:"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027",message:"Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."},Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:{code:4028,category:e.DiagnosticCategory.Error,key:"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028",message:"Public static property '{0}' of exported class has or is using private name '{1}'."},Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4029,category:e.DiagnosticCategory.Error,key:"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029",message:"Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."},Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4030,category:e.DiagnosticCategory.Error,key:"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030",message:"Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."},Public_property_0_of_exported_class_has_or_is_using_private_name_1:{code:4031,category:e.DiagnosticCategory.Error,key:"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031",message:"Public property '{0}' of exported class has or is using private name '{1}'."},Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4032,category:e.DiagnosticCategory.Error,key:"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032",message:"Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."},Property_0_of_exported_interface_has_or_is_using_private_name_1:{code:4033,category:e.DiagnosticCategory.Error,key:"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033",message:"Property '{0}' of exported interface has or is using private name '{1}'."},Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4034,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_4034",message:"Parameter '{0}' of public static property setter from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1:{code:4035,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1_4035",message:"Parameter '{0}' of public static property setter from exported class has or is using private name '{1}'."},Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4036,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_4036",message:"Parameter '{0}' of public property setter from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1:{code:4037,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1_4037",message:"Parameter '{0}' of public property setter from exported class has or is using private name '{1}'."},Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4038,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_externa_4038",message:"Return type of public static property getter from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4039,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_4039",message:"Return type of public static property getter from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0:{code:4040,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0_4040",message:"Return type of public static property getter from exported class has or is using private name '{0}'."},Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4041,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_modul_4041",message:"Return type of public property getter from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4042,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_4042",message:"Return type of public property getter from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0:{code:4043,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0_4043",message:"Return type of public property getter from exported class has or is using private name '{0}'."},Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4044,category:e.DiagnosticCategory.Error,key:"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044",message:"Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:{code:4045,category:e.DiagnosticCategory.Error,key:"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045",message:"Return type of constructor signature from exported interface has or is using private name '{0}'."},Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4046,category:e.DiagnosticCategory.Error,key:"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046",message:"Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:{code:4047,category:e.DiagnosticCategory.Error,key:"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047",message:"Return type of call signature from exported interface has or is using private name '{0}'."},Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4048,category:e.DiagnosticCategory.Error,key:"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048",message:"Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:{code:4049,category:e.DiagnosticCategory.Error,key:"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049",message:"Return type of index signature from exported interface has or is using private name '{0}'."},Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4050,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050",message:"Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4051,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051",message:"Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:{code:4052,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052",message:"Return type of public static method from exported class has or is using private name '{0}'."},Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4053,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053",message:"Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4054,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054",message:"Return type of public method from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:{code:4055,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055",message:"Return type of public method from exported class has or is using private name '{0}'."},Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4056,category:e.DiagnosticCategory.Error,key:"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056",message:"Return type of method from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:{code:4057,category:e.DiagnosticCategory.Error,key:"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057",message:"Return type of method from exported interface has or is using private name '{0}'."},Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4058,category:e.DiagnosticCategory.Error,key:"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058",message:"Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:{code:4059,category:e.DiagnosticCategory.Error,key:"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059",message:"Return type of exported function has or is using name '{0}' from private module '{1}'."},Return_type_of_exported_function_has_or_is_using_private_name_0:{code:4060,category:e.DiagnosticCategory.Error,key:"Return_type_of_exported_function_has_or_is_using_private_name_0_4060",message:"Return type of exported function has or is using private name '{0}'."},Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4061,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061",message:"Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4062,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062",message:"Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:{code:4063,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063",message:"Parameter '{0}' of constructor from exported class has or is using private name '{1}'."},Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4064,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064",message:"Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4065,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065",message:"Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."},Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4066,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066",message:"Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4067,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067",message:"Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."},Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4068,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068",message:"Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4069,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069",message:"Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:{code:4070,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070",message:"Parameter '{0}' of public static method from exported class has or is using private name '{1}'."},Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4071,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071",message:"Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4072,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072",message:"Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:{code:4073,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073",message:"Parameter '{0}' of public method from exported class has or is using private name '{1}'."},Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4074,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074",message:"Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:{code:4075,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075",message:"Parameter '{0}' of method from exported interface has or is using private name '{1}'."},Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4076,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076",message:"Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:{code:4077,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077",message:"Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."},Parameter_0_of_exported_function_has_or_is_using_private_name_1:{code:4078,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078",message:"Parameter '{0}' of exported function has or is using private name '{1}'."},Exported_type_alias_0_has_or_is_using_private_name_1:{code:4081,category:e.DiagnosticCategory.Error,key:"Exported_type_alias_0_has_or_is_using_private_name_1_4081",message:"Exported type alias '{0}' has or is using private name '{1}'."},Default_export_of_the_module_has_or_is_using_private_name_0:{code:4082,category:e.DiagnosticCategory.Error,key:"Default_export_of_the_module_has_or_is_using_private_name_0_4082",message:"Default export of the module has or is using private name '{0}'."},Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:{code:4083,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083",message:"Type parameter '{0}' of exported type alias has or is using private name '{1}'."},Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:{code:4090,category:e.DiagnosticCategory.Message,key:"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090",message:"Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."},Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4091,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091",message:"Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4092,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092",message:"Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."},The_current_host_does_not_support_the_0_option:{code:5001,category:e.DiagnosticCategory.Error,key:"The_current_host_does_not_support_the_0_option_5001",message:"The current host does not support the '{0}' option."},Cannot_find_the_common_subdirectory_path_for_the_input_files:{code:5009,category:e.DiagnosticCategory.Error,key:"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009",message:"Cannot find the common subdirectory path for the input files."},File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:{code:5010,category:e.DiagnosticCategory.Error,key:"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010",message:"File specification cannot end in a recursive directory wildcard ('**'): '{0}'."},File_specification_cannot_contain_multiple_recursive_directory_wildcards_Asterisk_Asterisk_Colon_0:{code:5011,category:e.DiagnosticCategory.Error,key:"File_specification_cannot_contain_multiple_recursive_directory_wildcards_Asterisk_Asterisk_Colon_0_5011",message:"File specification cannot contain multiple recursive directory wildcards ('**'): '{0}'."},Cannot_read_file_0_Colon_1:{code:5012,category:e.DiagnosticCategory.Error,key:"Cannot_read_file_0_Colon_1_5012",message:"Cannot read file '{0}': {1}"},Unsupported_file_encoding:{code:5013,category:e.DiagnosticCategory.Error,key:"Unsupported_file_encoding_5013",message:"Unsupported file encoding."},Failed_to_parse_file_0_Colon_1:{code:5014,category:e.DiagnosticCategory.Error,key:"Failed_to_parse_file_0_Colon_1_5014",message:"Failed to parse file '{0}': {1}."},Unknown_compiler_option_0:{code:5023,category:e.DiagnosticCategory.Error,key:"Unknown_compiler_option_0_5023",message:"Unknown compiler option '{0}'."},Compiler_option_0_requires_a_value_of_type_1:{code:5024,category:e.DiagnosticCategory.Error,key:"Compiler_option_0_requires_a_value_of_type_1_5024",message:"Compiler option '{0}' requires a value of type {1}."},Could_not_write_file_0_Colon_1:{code:5033,category:e.DiagnosticCategory.Error,key:"Could_not_write_file_0_Colon_1_5033",message:"Could not write file '{0}': {1}"},Option_project_cannot_be_mixed_with_source_files_on_a_command_line:{code:5042,category:e.DiagnosticCategory.Error,key:"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042",message:"Option 'project' cannot be mixed with source files on a command line."},Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:{code:5047,category:e.DiagnosticCategory.Error,key:"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047",message:"Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."},Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:{code:5051,category:e.DiagnosticCategory.Error,key:"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051",message:"Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."},Option_0_cannot_be_specified_without_specifying_option_1:{code:5052,category:e.DiagnosticCategory.Error,key:"Option_0_cannot_be_specified_without_specifying_option_1_5052",message:"Option '{0}' cannot be specified without specifying option '{1}'."},Option_0_cannot_be_specified_with_option_1:{code:5053,category:e.DiagnosticCategory.Error,key:"Option_0_cannot_be_specified_with_option_1_5053",message:"Option '{0}' cannot be specified with option '{1}'."},A_tsconfig_json_file_is_already_defined_at_Colon_0:{code:5054,category:e.DiagnosticCategory.Error,key:"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054",message:"A 'tsconfig.json' file is already defined at: '{0}'."},Cannot_write_file_0_because_it_would_overwrite_input_file:{code:5055,category:e.DiagnosticCategory.Error,key:"Cannot_write_file_0_because_it_would_overwrite_input_file_5055",message:"Cannot write file '{0}' because it would overwrite input file."},Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:{code:5056,category:e.DiagnosticCategory.Error,key:"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056",message:"Cannot write file '{0}' because it would be overwritten by multiple input files."},Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:{code:5057,category:e.DiagnosticCategory.Error,key:"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057",message:"Cannot find a tsconfig.json file at the specified directory: '{0}'"},The_specified_path_does_not_exist_Colon_0:{code:5058,category:e.DiagnosticCategory.Error,key:"The_specified_path_does_not_exist_Colon_0_5058",message:"The specified path does not exist: '{0}'"},Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:{code:5059,category:e.DiagnosticCategory.Error,key:"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059",message:"Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."},Option_paths_cannot_be_used_without_specifying_baseUrl_option:{code:5060,category:e.DiagnosticCategory.Error,key:"Option_paths_cannot_be_used_without_specifying_baseUrl_option_5060", -message:"Option 'paths' cannot be used without specifying '--baseUrl' option."},Pattern_0_can_have_at_most_one_Asterisk_character:{code:5061,category:e.DiagnosticCategory.Error,key:"Pattern_0_can_have_at_most_one_Asterisk_character_5061",message:"Pattern '{0}' can have at most one '*' character"},Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character:{code:5062,category:e.DiagnosticCategory.Error,key:"Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character_5062",message:"Substitution '{0}' in pattern '{1}' in can have at most one '*' character"},Substitutions_for_pattern_0_should_be_an_array:{code:5063,category:e.DiagnosticCategory.Error,key:"Substitutions_for_pattern_0_should_be_an_array_5063",message:"Substitutions for pattern '{0}' should be an array."},Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:{code:5064,category:e.DiagnosticCategory.Error,key:"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064",message:"Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."},File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:{code:5065,category:e.DiagnosticCategory.Error,key:"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065",message:"File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."},Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:{code:5066,category:e.DiagnosticCategory.Error,key:"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066",message:"Substitutions for pattern '{0}' shouldn't be an empty array."},Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:{code:5067,category:e.DiagnosticCategory.Error,key:"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067",message:"Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."},Concatenate_and_emit_output_to_single_file:{code:6001,category:e.DiagnosticCategory.Message,key:"Concatenate_and_emit_output_to_single_file_6001",message:"Concatenate and emit output to single file."},Generates_corresponding_d_ts_file:{code:6002,category:e.DiagnosticCategory.Message,key:"Generates_corresponding_d_ts_file_6002",message:"Generates corresponding '.d.ts' file."},Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:{code:6003,category:e.DiagnosticCategory.Message,key:"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003",message:"Specify the location where debugger should locate map files instead of generated locations."},Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:{code:6004,category:e.DiagnosticCategory.Message,key:"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004",message:"Specify the location where debugger should locate TypeScript files instead of source locations."},Watch_input_files:{code:6005,category:e.DiagnosticCategory.Message,key:"Watch_input_files_6005",message:"Watch input files."},Redirect_output_structure_to_the_directory:{code:6006,category:e.DiagnosticCategory.Message,key:"Redirect_output_structure_to_the_directory_6006",message:"Redirect output structure to the directory."},Do_not_erase_const_enum_declarations_in_generated_code:{code:6007,category:e.DiagnosticCategory.Message,key:"Do_not_erase_const_enum_declarations_in_generated_code_6007",message:"Do not erase const enum declarations in generated code."},Do_not_emit_outputs_if_any_errors_were_reported:{code:6008,category:e.DiagnosticCategory.Message,key:"Do_not_emit_outputs_if_any_errors_were_reported_6008",message:"Do not emit outputs if any errors were reported."},Do_not_emit_comments_to_output:{code:6009,category:e.DiagnosticCategory.Message,key:"Do_not_emit_comments_to_output_6009",message:"Do not emit comments to output."},Do_not_emit_outputs:{code:6010,category:e.DiagnosticCategory.Message,key:"Do_not_emit_outputs_6010",message:"Do not emit outputs."},Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:{code:6011,category:e.DiagnosticCategory.Message,key:"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011",message:"Allow default imports from modules with no default export. This does not affect code emit, just typechecking."},Skip_type_checking_of_declaration_files:{code:6012,category:e.DiagnosticCategory.Message,key:"Skip_type_checking_of_declaration_files_6012",message:"Skip type checking of declaration files."},Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_or_ESNEXT:{code:6015,category:e.DiagnosticCategory.Message,key:"Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_or_ESNEXT_6015",message:"Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'"},Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015:{code:6016,category:e.DiagnosticCategory.Message,key:"Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015_6016",message:"Specify module code generation: 'commonjs', 'amd', 'system', 'umd' or 'es2015'"},Print_this_message:{code:6017,category:e.DiagnosticCategory.Message,key:"Print_this_message_6017",message:"Print this message."},Print_the_compiler_s_version:{code:6019,category:e.DiagnosticCategory.Message,key:"Print_the_compiler_s_version_6019",message:"Print the compiler's version."},Compile_the_project_in_the_given_directory:{code:6020,category:e.DiagnosticCategory.Message,key:"Compile_the_project_in_the_given_directory_6020",message:"Compile the project in the given directory."},Syntax_Colon_0:{code:6023,category:e.DiagnosticCategory.Message,key:"Syntax_Colon_0_6023",message:"Syntax: {0}"},options:{code:6024,category:e.DiagnosticCategory.Message,key:"options_6024",message:"options"},file:{code:6025,category:e.DiagnosticCategory.Message,key:"file_6025",message:"file"},Examples_Colon_0:{code:6026,category:e.DiagnosticCategory.Message,key:"Examples_Colon_0_6026",message:"Examples: {0}"},Options_Colon:{code:6027,category:e.DiagnosticCategory.Message,key:"Options_Colon_6027",message:"Options:"},Version_0:{code:6029,category:e.DiagnosticCategory.Message,key:"Version_0_6029",message:"Version {0}"},Insert_command_line_options_and_files_from_a_file:{code:6030,category:e.DiagnosticCategory.Message,key:"Insert_command_line_options_and_files_from_a_file_6030",message:"Insert command line options and files from a file."},File_change_detected_Starting_incremental_compilation:{code:6032,category:e.DiagnosticCategory.Message,key:"File_change_detected_Starting_incremental_compilation_6032",message:"File change detected. Starting incremental compilation..."},KIND:{code:6034,category:e.DiagnosticCategory.Message,key:"KIND_6034",message:"KIND"},FILE:{code:6035,category:e.DiagnosticCategory.Message,key:"FILE_6035",message:"FILE"},VERSION:{code:6036,category:e.DiagnosticCategory.Message,key:"VERSION_6036",message:"VERSION"},LOCATION:{code:6037,category:e.DiagnosticCategory.Message,key:"LOCATION_6037",message:"LOCATION"},DIRECTORY:{code:6038,category:e.DiagnosticCategory.Message,key:"DIRECTORY_6038",message:"DIRECTORY"},STRATEGY:{code:6039,category:e.DiagnosticCategory.Message,key:"STRATEGY_6039",message:"STRATEGY"},Compilation_complete_Watching_for_file_changes:{code:6042,category:e.DiagnosticCategory.Message,key:"Compilation_complete_Watching_for_file_changes_6042",message:"Compilation complete. Watching for file changes."},Generates_corresponding_map_file:{code:6043,category:e.DiagnosticCategory.Message,key:"Generates_corresponding_map_file_6043",message:"Generates corresponding '.map' file."},Compiler_option_0_expects_an_argument:{code:6044,category:e.DiagnosticCategory.Error,key:"Compiler_option_0_expects_an_argument_6044",message:"Compiler option '{0}' expects an argument."},Unterminated_quoted_string_in_response_file_0:{code:6045,category:e.DiagnosticCategory.Error,key:"Unterminated_quoted_string_in_response_file_0_6045",message:"Unterminated quoted string in response file '{0}'."},Argument_for_0_option_must_be_Colon_1:{code:6046,category:e.DiagnosticCategory.Error,key:"Argument_for_0_option_must_be_Colon_1_6046",message:"Argument for '{0}' option must be: {1}"},Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:{code:6048,category:e.DiagnosticCategory.Error,key:"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048",message:"Locale must be of the form or -. For example '{0}' or '{1}'."},Unsupported_locale_0:{code:6049,category:e.DiagnosticCategory.Error,key:"Unsupported_locale_0_6049",message:"Unsupported locale '{0}'."},Unable_to_open_file_0:{code:6050,category:e.DiagnosticCategory.Error,key:"Unable_to_open_file_0_6050",message:"Unable to open file '{0}'."},Corrupted_locale_file_0:{code:6051,category:e.DiagnosticCategory.Error,key:"Corrupted_locale_file_0_6051",message:"Corrupted locale file {0}."},Raise_error_on_expressions_and_declarations_with_an_implied_any_type:{code:6052,category:e.DiagnosticCategory.Message,key:"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052",message:"Raise error on expressions and declarations with an implied 'any' type."},File_0_not_found:{code:6053,category:e.DiagnosticCategory.Error,key:"File_0_not_found_6053",message:"File '{0}' not found."},File_0_has_unsupported_extension_The_only_supported_extensions_are_1:{code:6054,category:e.DiagnosticCategory.Error,key:"File_0_has_unsupported_extension_The_only_supported_extensions_are_1_6054",message:"File '{0}' has unsupported extension. The only supported extensions are {1}."},Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:{code:6055,category:e.DiagnosticCategory.Message,key:"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055",message:"Suppress noImplicitAny errors for indexing objects lacking index signatures."},Do_not_emit_declarations_for_code_that_has_an_internal_annotation:{code:6056,category:e.DiagnosticCategory.Message,key:"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056",message:"Do not emit declarations for code that has an '@internal' annotation."},Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:{code:6058,category:e.DiagnosticCategory.Message,key:"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058",message:"Specify the root directory of input files. Use to control the output directory structure with --outDir."},File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:{code:6059,category:e.DiagnosticCategory.Error,key:"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059",message:"File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."},Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:{code:6060,category:e.DiagnosticCategory.Message,key:"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060",message:"Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."},NEWLINE:{code:6061,category:e.DiagnosticCategory.Message,key:"NEWLINE_6061",message:"NEWLINE"},Option_0_can_only_be_specified_in_tsconfig_json_file:{code:6064,category:e.DiagnosticCategory.Error,key:"Option_0_can_only_be_specified_in_tsconfig_json_file_6064",message:"Option '{0}' can only be specified in 'tsconfig.json' file."},Enables_experimental_support_for_ES7_decorators:{code:6065,category:e.DiagnosticCategory.Message,key:"Enables_experimental_support_for_ES7_decorators_6065",message:"Enables experimental support for ES7 decorators."},Enables_experimental_support_for_emitting_type_metadata_for_decorators:{code:6066,category:e.DiagnosticCategory.Message,key:"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066",message:"Enables experimental support for emitting type metadata for decorators."},Enables_experimental_support_for_ES7_async_functions:{code:6068,category:e.DiagnosticCategory.Message,key:"Enables_experimental_support_for_ES7_async_functions_6068",message:"Enables experimental support for ES7 async functions."},Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:{code:6069,category:e.DiagnosticCategory.Message,key:"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069",message:"Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)."},Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:{code:6070,category:e.DiagnosticCategory.Message,key:"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070",message:"Initializes a TypeScript project and creates a tsconfig.json file."},Successfully_created_a_tsconfig_json_file:{code:6071,category:e.DiagnosticCategory.Message,key:"Successfully_created_a_tsconfig_json_file_6071",message:"Successfully created a tsconfig.json file."},Suppress_excess_property_checks_for_object_literals:{code:6072,category:e.DiagnosticCategory.Message,key:"Suppress_excess_property_checks_for_object_literals_6072",message:"Suppress excess property checks for object literals."},Stylize_errors_and_messages_using_color_and_context_experimental:{code:6073,category:e.DiagnosticCategory.Message,key:"Stylize_errors_and_messages_using_color_and_context_experimental_6073",message:"Stylize errors and messages using color and context. (experimental)"},Do_not_report_errors_on_unused_labels:{code:6074,category:e.DiagnosticCategory.Message,key:"Do_not_report_errors_on_unused_labels_6074",message:"Do not report errors on unused labels."},Report_error_when_not_all_code_paths_in_function_return_a_value:{code:6075,category:e.DiagnosticCategory.Message,key:"Report_error_when_not_all_code_paths_in_function_return_a_value_6075",message:"Report error when not all code paths in function return a value."},Report_errors_for_fallthrough_cases_in_switch_statement:{code:6076,category:e.DiagnosticCategory.Message,key:"Report_errors_for_fallthrough_cases_in_switch_statement_6076",message:"Report errors for fallthrough cases in switch statement."},Do_not_report_errors_on_unreachable_code:{code:6077,category:e.DiagnosticCategory.Message,key:"Do_not_report_errors_on_unreachable_code_6077",message:"Do not report errors on unreachable code."},Disallow_inconsistently_cased_references_to_the_same_file:{code:6078,category:e.DiagnosticCategory.Message,key:"Disallow_inconsistently_cased_references_to_the_same_file_6078",message:"Disallow inconsistently-cased references to the same file."},Specify_library_files_to_be_included_in_the_compilation_Colon:{code:6079,category:e.DiagnosticCategory.Message,key:"Specify_library_files_to_be_included_in_the_compilation_Colon_6079",message:"Specify library files to be included in the compilation: "},Specify_JSX_code_generation_Colon_preserve_or_react:{code:6080,category:e.DiagnosticCategory.Message,key:"Specify_JSX_code_generation_Colon_preserve_or_react_6080",message:"Specify JSX code generation: 'preserve' or 'react'"},Only_amd_and_system_modules_are_supported_alongside_0:{code:6082,category:e.DiagnosticCategory.Error,key:"Only_amd_and_system_modules_are_supported_alongside_0_6082",message:"Only 'amd' and 'system' modules are supported alongside --{0}."},Base_directory_to_resolve_non_absolute_module_names:{code:6083,category:e.DiagnosticCategory.Message,key:"Base_directory_to_resolve_non_absolute_module_names_6083",message:"Base directory to resolve non-absolute module names."},Specify_the_object_invoked_for_createElement_and_spread_when_targeting_react_JSX_emit:{code:6084,category:e.DiagnosticCategory.Message,key:"Specify_the_object_invoked_for_createElement_and_spread_when_targeting_react_JSX_emit_6084",message:"Specify the object invoked for createElement and __spread when targeting 'react' JSX emit"},Enable_tracing_of_the_name_resolution_process:{code:6085,category:e.DiagnosticCategory.Message,key:"Enable_tracing_of_the_name_resolution_process_6085",message:"Enable tracing of the name resolution process."},Resolving_module_0_from_1:{code:6086,category:e.DiagnosticCategory.Message,key:"Resolving_module_0_from_1_6086",message:"======== Resolving module '{0}' from '{1}'. ========"},Explicitly_specified_module_resolution_kind_Colon_0:{code:6087,category:e.DiagnosticCategory.Message,key:"Explicitly_specified_module_resolution_kind_Colon_0_6087",message:"Explicitly specified module resolution kind: '{0}'."},Module_resolution_kind_is_not_specified_using_0:{code:6088,category:e.DiagnosticCategory.Message,key:"Module_resolution_kind_is_not_specified_using_0_6088",message:"Module resolution kind is not specified, using '{0}'."},Module_name_0_was_successfully_resolved_to_1:{code:6089,category:e.DiagnosticCategory.Message,key:"Module_name_0_was_successfully_resolved_to_1_6089",message:"======== Module name '{0}' was successfully resolved to '{1}'. ========"},Module_name_0_was_not_resolved:{code:6090,category:e.DiagnosticCategory.Message,key:"Module_name_0_was_not_resolved_6090",message:"======== Module name '{0}' was not resolved. ========"},paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:{code:6091,category:e.DiagnosticCategory.Message,key:"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091",message:"'paths' option is specified, looking for a pattern to match module name '{0}'."},Module_name_0_matched_pattern_1:{code:6092,category:e.DiagnosticCategory.Message,key:"Module_name_0_matched_pattern_1_6092",message:"Module name '{0}', matched pattern '{1}'."},Trying_substitution_0_candidate_module_location_Colon_1:{code:6093,category:e.DiagnosticCategory.Message,key:"Trying_substitution_0_candidate_module_location_Colon_1_6093",message:"Trying substitution '{0}', candidate module location: '{1}'."},Resolving_module_name_0_relative_to_base_url_1_2:{code:6094,category:e.DiagnosticCategory.Message,key:"Resolving_module_name_0_relative_to_base_url_1_2_6094",message:"Resolving module name '{0}' relative to base url '{1}' - '{2}'."},Loading_module_as_file_Slash_folder_candidate_module_location_0:{code:6095,category:e.DiagnosticCategory.Message,key:"Loading_module_as_file_Slash_folder_candidate_module_location_0_6095",message:"Loading module as file / folder, candidate module location '{0}'."},File_0_does_not_exist:{code:6096,category:e.DiagnosticCategory.Message,key:"File_0_does_not_exist_6096",message:"File '{0}' does not exist."},File_0_exist_use_it_as_a_name_resolution_result:{code:6097,category:e.DiagnosticCategory.Message,key:"File_0_exist_use_it_as_a_name_resolution_result_6097",message:"File '{0}' exist - use it as a name resolution result."},Loading_module_0_from_node_modules_folder:{code:6098,category:e.DiagnosticCategory.Message,key:"Loading_module_0_from_node_modules_folder_6098",message:"Loading module '{0}' from 'node_modules' folder."},Found_package_json_at_0:{code:6099,category:e.DiagnosticCategory.Message,key:"Found_package_json_at_0_6099",message:"Found 'package.json' at '{0}'."},package_json_does_not_have_a_types_or_main_field:{code:6100,category:e.DiagnosticCategory.Message,key:"package_json_does_not_have_a_types_or_main_field_6100",message:"'package.json' does not have a 'types' or 'main' field."},package_json_has_0_field_1_that_references_2:{code:6101,category:e.DiagnosticCategory.Message,key:"package_json_has_0_field_1_that_references_2_6101",message:"'package.json' has '{0}' field '{1}' that references '{2}'."},Allow_javascript_files_to_be_compiled:{code:6102,category:e.DiagnosticCategory.Message,key:"Allow_javascript_files_to_be_compiled_6102",message:"Allow javascript files to be compiled."},Option_0_should_have_array_of_strings_as_a_value:{code:6103,category:e.DiagnosticCategory.Error,key:"Option_0_should_have_array_of_strings_as_a_value_6103",message:"Option '{0}' should have array of strings as a value."},Checking_if_0_is_the_longest_matching_prefix_for_1_2:{code:6104,category:e.DiagnosticCategory.Message,key:"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104",message:"Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."},Expected_type_of_0_field_in_package_json_to_be_string_got_1:{code:6105,category:e.DiagnosticCategory.Message,key:"Expected_type_of_0_field_in_package_json_to_be_string_got_1_6105",message:"Expected type of '{0}' field in 'package.json' to be 'string', got '{1}'."},baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:{code:6106,category:e.DiagnosticCategory.Message,key:"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106",message:"'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'"},rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:{code:6107,category:e.DiagnosticCategory.Message,key:"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107",message:"'rootDirs' option is set, using it to resolve relative module name '{0}'"},Longest_matching_prefix_for_0_is_1:{code:6108,category:e.DiagnosticCategory.Message,key:"Longest_matching_prefix_for_0_is_1_6108",message:"Longest matching prefix for '{0}' is '{1}'"},Loading_0_from_the_root_dir_1_candidate_location_2:{code:6109,category:e.DiagnosticCategory.Message,key:"Loading_0_from_the_root_dir_1_candidate_location_2_6109",message:"Loading '{0}' from the root dir '{1}', candidate location '{2}'"},Trying_other_entries_in_rootDirs:{code:6110,category:e.DiagnosticCategory.Message,key:"Trying_other_entries_in_rootDirs_6110",message:"Trying other entries in 'rootDirs'"},Module_resolution_using_rootDirs_has_failed:{code:6111,category:e.DiagnosticCategory.Message,key:"Module_resolution_using_rootDirs_has_failed_6111",message:"Module resolution using 'rootDirs' has failed"},Do_not_emit_use_strict_directives_in_module_output:{code:6112,category:e.DiagnosticCategory.Message,key:"Do_not_emit_use_strict_directives_in_module_output_6112",message:"Do not emit 'use strict' directives in module output."},Enable_strict_null_checks:{code:6113,category:e.DiagnosticCategory.Message,key:"Enable_strict_null_checks_6113",message:"Enable strict null checks."},Unknown_option_excludes_Did_you_mean_exclude:{code:6114,category:e.DiagnosticCategory.Error,key:"Unknown_option_excludes_Did_you_mean_exclude_6114",message:"Unknown option 'excludes'. Did you mean 'exclude'?"},Raise_error_on_this_expressions_with_an_implied_any_type:{code:6115,category:e.DiagnosticCategory.Message,key:"Raise_error_on_this_expressions_with_an_implied_any_type_6115",message:"Raise error on 'this' expressions with an implied 'any' type."},Resolving_type_reference_directive_0_containing_file_1_root_directory_2:{code:6116,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116",message:"======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"},Resolving_using_primary_search_paths:{code:6117,category:e.DiagnosticCategory.Message,key:"Resolving_using_primary_search_paths_6117",message:"Resolving using primary search paths..."},Resolving_from_node_modules_folder:{code:6118,category:e.DiagnosticCategory.Message,key:"Resolving_from_node_modules_folder_6118",message:"Resolving from node_modules folder..."},Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:{code:6119,category:e.DiagnosticCategory.Message,key:"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119",message:"======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"},Type_reference_directive_0_was_not_resolved:{code:6120,category:e.DiagnosticCategory.Message,key:"Type_reference_directive_0_was_not_resolved_6120",message:"======== Type reference directive '{0}' was not resolved. ========"},Resolving_with_primary_search_path_0:{code:6121,category:e.DiagnosticCategory.Message,key:"Resolving_with_primary_search_path_0_6121",message:"Resolving with primary search path '{0}'"},Root_directory_cannot_be_determined_skipping_primary_search_paths:{code:6122,category:e.DiagnosticCategory.Message,key:"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122",message:"Root directory cannot be determined, skipping primary search paths."},Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:{code:6123,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123",message:"======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"},Type_declaration_files_to_be_included_in_compilation:{code:6124,category:e.DiagnosticCategory.Message,key:"Type_declaration_files_to_be_included_in_compilation_6124",message:"Type declaration files to be included in compilation."},Looking_up_in_node_modules_folder_initial_location_0:{code:6125,category:e.DiagnosticCategory.Message,key:"Looking_up_in_node_modules_folder_initial_location_0_6125",message:"Looking up in 'node_modules' folder, initial location '{0}'"},Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:{code:6126,category:e.DiagnosticCategory.Message,key:"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126",message:"Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."},Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:{code:6127,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127",message:"======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"},Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:{code:6128,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128",message:"======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"},The_config_file_0_found_doesn_t_contain_any_source_files:{code:6129,category:e.DiagnosticCategory.Error,key:"The_config_file_0_found_doesn_t_contain_any_source_files_6129",message:"The config file '{0}' found doesn't contain any source files."},Resolving_real_path_for_0_result_1:{code:6130,category:e.DiagnosticCategory.Message,key:"Resolving_real_path_for_0_result_1_6130",message:"Resolving real path for '{0}', result '{1}'"},Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:{code:6131,category:e.DiagnosticCategory.Error,key:"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131",message:"Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."},File_name_0_has_a_1_extension_stripping_it:{code:6132,category:e.DiagnosticCategory.Message,key:"File_name_0_has_a_1_extension_stripping_it_6132",message:"File name '{0}' has a '{1}' extension - stripping it"},_0_is_declared_but_never_used:{code:6133,category:e.DiagnosticCategory.Error,key:"_0_is_declared_but_never_used_6133",message:"'{0}' is declared but never used."},Report_errors_on_unused_locals:{code:6134,category:e.DiagnosticCategory.Message,key:"Report_errors_on_unused_locals_6134",message:"Report errors on unused locals."},Report_errors_on_unused_parameters:{code:6135,category:e.DiagnosticCategory.Message,key:"Report_errors_on_unused_parameters_6135",message:"Report errors on unused parameters."},The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:{code:6136,category:e.DiagnosticCategory.Message,key:"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136",message:"The maximum dependency depth to search under node_modules and load JavaScript files"},No_types_specified_in_package_json_so_returning_main_value_of_0:{code:6137,category:e.DiagnosticCategory.Message,key:"No_types_specified_in_package_json_so_returning_main_value_of_0_6137",message:"No types specified in 'package.json', so returning 'main' value of '{0}'"},Property_0_is_declared_but_never_used:{code:6138,category:e.DiagnosticCategory.Error,key:"Property_0_is_declared_but_never_used_6138",message:"Property '{0}' is declared but never used."},Import_emit_helpers_from_tslib:{code:6139,category:e.DiagnosticCategory.Message,key:"Import_emit_helpers_from_tslib_6139",message:"Import emit helpers from 'tslib'."},Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:{code:6140,category:e.DiagnosticCategory.Error,key:"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140",message:"Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."},Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:{code:6141,category:e.DiagnosticCategory.Message,key:"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",message:'Parse in strict mode and emit "use strict" for each source file'},Module_0_was_resolved_to_1_but_jsx_is_not_set:{code:6142,category:e.DiagnosticCategory.Error,key:"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142",message:"Module '{0}' was resolved to '{1}', but '--jsx' is not set."},Module_0_was_resolved_to_1_but_allowJs_is_not_set:{code:6143,category:e.DiagnosticCategory.Error,key:"Module_0_was_resolved_to_1_but_allowJs_is_not_set_6143",message:"Module '{0}' was resolved to '{1}', but '--allowJs' is not set."},Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:{code:6144,category:e.DiagnosticCategory.Message,key:"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144",message:"Module '{0}' was resolved as locally declared ambient module in file '{1}'."},Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:{code:6145,category:e.DiagnosticCategory.Message,key:"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145",message:"Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."},Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:{code:6146,category:e.DiagnosticCategory.Message,key:"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146",message:"Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."},Variable_0_implicitly_has_an_1_type:{code:7005,category:e.DiagnosticCategory.Error,key:"Variable_0_implicitly_has_an_1_type_7005",message:"Variable '{0}' implicitly has an '{1}' type."},Parameter_0_implicitly_has_an_1_type:{code:7006,category:e.DiagnosticCategory.Error,key:"Parameter_0_implicitly_has_an_1_type_7006",message:"Parameter '{0}' implicitly has an '{1}' type."},Member_0_implicitly_has_an_1_type:{code:7008,category:e.DiagnosticCategory.Error,key:"Member_0_implicitly_has_an_1_type_7008",message:"Member '{0}' implicitly has an '{1}' type."},new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:{code:7009,category:e.DiagnosticCategory.Error,key:"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009", -message:"'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."},_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:{code:7010,category:e.DiagnosticCategory.Error,key:"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010",message:"'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."},Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:{code:7011,category:e.DiagnosticCategory.Error,key:"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011",message:"Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."},Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:{code:7013,category:e.DiagnosticCategory.Error,key:"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013",message:"Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."},Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:{code:7015,category:e.DiagnosticCategory.Error,key:"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015",message:"Element implicitly has an 'any' type because index expression is not of type 'number'."},Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:{code:7016,category:e.DiagnosticCategory.Error,key:"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016",message:"Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."},Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:{code:7017,category:e.DiagnosticCategory.Error,key:"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017",message:"Element implicitly has an 'any' type because type '{0}' has no index signature."},Object_literal_s_property_0_implicitly_has_an_1_type:{code:7018,category:e.DiagnosticCategory.Error,key:"Object_literal_s_property_0_implicitly_has_an_1_type_7018",message:"Object literal's property '{0}' implicitly has an '{1}' type."},Rest_parameter_0_implicitly_has_an_any_type:{code:7019,category:e.DiagnosticCategory.Error,key:"Rest_parameter_0_implicitly_has_an_any_type_7019",message:"Rest parameter '{0}' implicitly has an 'any[]' type."},Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:{code:7020,category:e.DiagnosticCategory.Error,key:"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020",message:"Call signature, which lacks return-type annotation, implicitly has an 'any' return type."},_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:{code:7022,category:e.DiagnosticCategory.Error,key:"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022",message:"'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."},_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:{code:7023,category:e.DiagnosticCategory.Error,key:"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023",message:"'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."},Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:{code:7024,category:e.DiagnosticCategory.Error,key:"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024",message:"Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."},Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type:{code:7025,category:e.DiagnosticCategory.Error,key:"Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025",message:"Generator implicitly has type '{0}' because it does not yield any values. Consider supplying a return type."},JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:{code:7026,category:e.DiagnosticCategory.Error,key:"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026",message:"JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists"},Unreachable_code_detected:{code:7027,category:e.DiagnosticCategory.Error,key:"Unreachable_code_detected_7027",message:"Unreachable code detected."},Unused_label:{code:7028,category:e.DiagnosticCategory.Error,key:"Unused_label_7028",message:"Unused label."},Fallthrough_case_in_switch:{code:7029,category:e.DiagnosticCategory.Error,key:"Fallthrough_case_in_switch_7029",message:"Fallthrough case in switch."},Not_all_code_paths_return_a_value:{code:7030,category:e.DiagnosticCategory.Error,key:"Not_all_code_paths_return_a_value_7030",message:"Not all code paths return a value."},Binding_element_0_implicitly_has_an_1_type:{code:7031,category:e.DiagnosticCategory.Error,key:"Binding_element_0_implicitly_has_an_1_type_7031",message:"Binding element '{0}' implicitly has an '{1}' type."},Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:{code:7032,category:e.DiagnosticCategory.Error,key:"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032",message:"Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."},Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:{code:7033,category:e.DiagnosticCategory.Error,key:"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033",message:"Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."},Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:{code:7034,category:e.DiagnosticCategory.Error,key:"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034",message:"Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."},You_cannot_rename_this_element:{code:8e3,category:e.DiagnosticCategory.Error,key:"You_cannot_rename_this_element_8000",message:"You cannot rename this element."},You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:{code:8001,category:e.DiagnosticCategory.Error,key:"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001",message:"You cannot rename elements that are defined in the standard TypeScript library."},import_can_only_be_used_in_a_ts_file:{code:8002,category:e.DiagnosticCategory.Error,key:"import_can_only_be_used_in_a_ts_file_8002",message:"'import ... =' can only be used in a .ts file."},export_can_only_be_used_in_a_ts_file:{code:8003,category:e.DiagnosticCategory.Error,key:"export_can_only_be_used_in_a_ts_file_8003",message:"'export=' can only be used in a .ts file."},type_parameter_declarations_can_only_be_used_in_a_ts_file:{code:8004,category:e.DiagnosticCategory.Error,key:"type_parameter_declarations_can_only_be_used_in_a_ts_file_8004",message:"'type parameter declarations' can only be used in a .ts file."},implements_clauses_can_only_be_used_in_a_ts_file:{code:8005,category:e.DiagnosticCategory.Error,key:"implements_clauses_can_only_be_used_in_a_ts_file_8005",message:"'implements clauses' can only be used in a .ts file."},interface_declarations_can_only_be_used_in_a_ts_file:{code:8006,category:e.DiagnosticCategory.Error,key:"interface_declarations_can_only_be_used_in_a_ts_file_8006",message:"'interface declarations' can only be used in a .ts file."},module_declarations_can_only_be_used_in_a_ts_file:{code:8007,category:e.DiagnosticCategory.Error,key:"module_declarations_can_only_be_used_in_a_ts_file_8007",message:"'module declarations' can only be used in a .ts file."},type_aliases_can_only_be_used_in_a_ts_file:{code:8008,category:e.DiagnosticCategory.Error,key:"type_aliases_can_only_be_used_in_a_ts_file_8008",message:"'type aliases' can only be used in a .ts file."},_0_can_only_be_used_in_a_ts_file:{code:8009,category:e.DiagnosticCategory.Error,key:"_0_can_only_be_used_in_a_ts_file_8009",message:"'{0}' can only be used in a .ts file."},types_can_only_be_used_in_a_ts_file:{code:8010,category:e.DiagnosticCategory.Error,key:"types_can_only_be_used_in_a_ts_file_8010",message:"'types' can only be used in a .ts file."},type_arguments_can_only_be_used_in_a_ts_file:{code:8011,category:e.DiagnosticCategory.Error,key:"type_arguments_can_only_be_used_in_a_ts_file_8011",message:"'type arguments' can only be used in a .ts file."},parameter_modifiers_can_only_be_used_in_a_ts_file:{code:8012,category:e.DiagnosticCategory.Error,key:"parameter_modifiers_can_only_be_used_in_a_ts_file_8012",message:"'parameter modifiers' can only be used in a .ts file."},enum_declarations_can_only_be_used_in_a_ts_file:{code:8015,category:e.DiagnosticCategory.Error,key:"enum_declarations_can_only_be_used_in_a_ts_file_8015",message:"'enum declarations' can only be used in a .ts file."},type_assertion_expressions_can_only_be_used_in_a_ts_file:{code:8016,category:e.DiagnosticCategory.Error,key:"type_assertion_expressions_can_only_be_used_in_a_ts_file_8016",message:"'type assertion expressions' can only be used in a .ts file."},Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clauses:{code:9002,category:e.DiagnosticCategory.Error,key:"Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002",message:"Only identifiers/qualified-names with optional type arguments are currently supported in a class 'extends' clauses."},class_expressions_are_not_currently_supported:{code:9003,category:e.DiagnosticCategory.Error,key:"class_expressions_are_not_currently_supported_9003",message:"'class' expressions are not currently supported."},Language_service_is_disabled:{code:9004,category:e.DiagnosticCategory.Error,key:"Language_service_is_disabled_9004",message:"Language service is disabled."},JSX_attributes_must_only_be_assigned_a_non_empty_expression:{code:17e3,category:e.DiagnosticCategory.Error,key:"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000",message:"JSX attributes must only be assigned a non-empty 'expression'."},JSX_elements_cannot_have_multiple_attributes_with_the_same_name:{code:17001,category:e.DiagnosticCategory.Error,key:"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001",message:"JSX elements cannot have multiple attributes with the same name."},Expected_corresponding_JSX_closing_tag_for_0:{code:17002,category:e.DiagnosticCategory.Error,key:"Expected_corresponding_JSX_closing_tag_for_0_17002",message:"Expected corresponding JSX closing tag for '{0}'."},JSX_attribute_expected:{code:17003,category:e.DiagnosticCategory.Error,key:"JSX_attribute_expected_17003",message:"JSX attribute expected."},Cannot_use_JSX_unless_the_jsx_flag_is_provided:{code:17004,category:e.DiagnosticCategory.Error,key:"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004",message:"Cannot use JSX unless the '--jsx' flag is provided."},A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:{code:17005,category:e.DiagnosticCategory.Error,key:"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005",message:"A constructor cannot contain a 'super' call when its class extends 'null'"},An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:{code:17006,category:e.DiagnosticCategory.Error,key:"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006",message:"An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."},A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:{code:17007,category:e.DiagnosticCategory.Error,key:"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007",message:"A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."},JSX_element_0_has_no_corresponding_closing_tag:{code:17008,category:e.DiagnosticCategory.Error,key:"JSX_element_0_has_no_corresponding_closing_tag_17008",message:"JSX element '{0}' has no corresponding closing tag."},super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:{code:17009,category:e.DiagnosticCategory.Error,key:"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009",message:"'super' must be called before accessing 'this' in the constructor of a derived class."},Unknown_type_acquisition_option_0:{code:17010,category:e.DiagnosticCategory.Error,key:"Unknown_type_acquisition_option_0_17010",message:"Unknown type acquisition option '{0}'."},Circularity_detected_while_resolving_configuration_Colon_0:{code:18e3,category:e.DiagnosticCategory.Error,key:"Circularity_detected_while_resolving_configuration_Colon_0_18000",message:"Circularity detected while resolving configuration: {0}"},A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not:{code:18001,category:e.DiagnosticCategory.Error,key:"A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not_18001",message:"A path in an 'extends' option must be relative or rooted, but '{0}' is not."},The_files_list_in_config_file_0_is_empty:{code:18002,category:e.DiagnosticCategory.Error,key:"The_files_list_in_config_file_0_is_empty_18002",message:"The 'files' list in config file '{0}' is empty."},No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:{code:18003,category:e.DiagnosticCategory.Error,key:"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003",message:"No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."},Add_missing_super_call:{code:90001,category:e.DiagnosticCategory.Message,key:"Add_missing_super_call_90001",message:"Add missing 'super()' call."},Make_super_call_the_first_statement_in_the_constructor:{code:90002,category:e.DiagnosticCategory.Message,key:"Make_super_call_the_first_statement_in_the_constructor_90002",message:"Make 'super()' call the first statement in the constructor."},Change_extends_to_implements:{code:90003,category:e.DiagnosticCategory.Message,key:"Change_extends_to_implements_90003",message:"Change 'extends' to 'implements'"},Remove_unused_identifiers:{code:90004,category:e.DiagnosticCategory.Message,key:"Remove_unused_identifiers_90004",message:"Remove unused identifiers"},Implement_interface_on_reference:{code:90005,category:e.DiagnosticCategory.Message,key:"Implement_interface_on_reference_90005",message:"Implement interface on reference"},Implement_interface_on_class:{code:90006,category:e.DiagnosticCategory.Message,key:"Implement_interface_on_class_90006",message:"Implement interface on class"},Implement_inherited_abstract_class:{code:90007,category:e.DiagnosticCategory.Message,key:"Implement_inherited_abstract_class_90007",message:"Implement inherited abstract class"},Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:{code:90009,category:e.DiagnosticCategory.Error,key:"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__90009",message:"Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig"},Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:{code:90010,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_90010",message:"Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."},Import_0_from_1:{code:90013,category:e.DiagnosticCategory.Message,key:"Import_0_from_1_90013",message:"Import {0} from {1}"},Change_0_to_1:{code:90014,category:e.DiagnosticCategory.Message,key:"Change_0_to_1_90014",message:"Change {0} to {1}"},Add_0_to_existing_import_declaration_from_1:{code:90015,category:e.DiagnosticCategory.Message,key:"Add_0_to_existing_import_declaration_from_1_90015",message:"Add {0} to existing import declaration from {1}"}}}(ts||(ts={}));var ts;!function(e){function t(e){return e>=70}function n(e,t){if(e=1?n(e,z):n(e,K)}function a(e,t){return t>=1?n(e,j):n(e,J)}function i(e){var t=[];for(var n in e)t[e[n]]=n;return t}function o(e){return V[e]}function s(e){return B[e]}function c(e){for(var t=new Array,n=0,r=0;n127&&g(a)&&(t.push(r),r=n)}}return t.push(r),t}function u(e,t,n){return _(l(e),t,n)}function _(t,n,r){return e.Debug.assert(n>=0&&n=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function g(e){return 10===e||13===e||8232===e||8233===e}function y(e){return e>=48&&e<=57}function v(e){return e>=48&&e<=55}function h(e,t){var n=e.charCodeAt(t);switch(n){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 61:case 62:return!0;case 35:return 0===t;default:return n>127}}function b(t,n,r,a){if(void 0===a&&(a=!1),e.positionIsSynthesized(n))return n;for(;;){var i=t.charCodeAt(n);switch(i){case 13:10===t.charCodeAt(n+1)&&n++;case 10:if(n++,r)return n;continue;case 9:case 11:case 12:case 32:n++;continue;case 47:if(a)break;if(47===t.charCodeAt(n+1)){for(n+=2;n127&&f(i)){n++;continue}}return n}}function k(t,n){if(e.Debug.assert(n>=0),0===n||g(t.charCodeAt(n-1))){var r=t.charCodeAt(n);if(n+q=0&&n127&&f(m)){l&&g(m)&&(_=!0),n++;continue}break e}}return l&&(p=a(s,c,u,_,i,p)),p}function E(e,t,n,r){return C(!1,e,t,!1,n,r)}function T(e,t,n,r){return C(!1,e,t,!0,n,r)}function N(e,t,n,r,a){return C(!0,e,t,!1,n,r,a)}function A(e,t,n,r,a){return C(!0,e,t,!0,n,r,a)}function w(e,t,n,r,a,i){return i||(i=[]),i.push({pos:e,end:t,hasTrailingNewLine:r,kind:n}),i}function P(e,t){return N(e,t,w,void 0,void 0)}function F(e,t){return A(e,t,w,void 0,void 0)}function O(e){return W.test(e)?W.exec(e)[0]:void 0}function R(e,t){return e>=65&&e<=90||e>=97&&e<=122||36===e||95===e||e>127&&r(e,t)}function I(e,t){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||36===e||95===e||e>127&&a(e,t)}function L(e,t){if(!R(e.charCodeAt(0),t))return!1;for(var n=1,r=e.length;n=48&&a<=57)r=16*r+a-48;else if(a>=65&&a<=70)r=16*r+a-65+10;else{if(!(a>=97&&a<=102))break;r=16*r+a-97+10}ne++,n++}return n=re){r+=i.substring(a,ne),_e=!0,u(e.Diagnostics.Unterminated_string_literal);break}var o=i.charCodeAt(ne);if(o===n){r+=i.substring(a,ne),ne++;break}if(92===o&&t)r+=i.substring(a,ne),r+=C(),a=ne;else{if(g(o)){r+=i.substring(a,ne),_e=!0,u(e.Diagnostics.Unterminated_string_literal);break}ne++}}return r}function b(){var t=96===i.charCodeAt(ne);ne++;for(var n,r=ne,a="";;){if(ne>=re){a+=i.substring(r,ne),_e=!0,u(e.Diagnostics.Unterminated_template_literal),n=t?12:15;break}var o=i.charCodeAt(ne);if(96===o){a+=i.substring(r,ne),ne++,n=t?12:15;break}if(36===o&&ne+1=re)return u(e.Diagnostics.Unexpected_end_of_text),"";var t=i.charCodeAt(ne);switch(ne++,t){case 48:return"\0";case 98:return"\b";case 116:return"\t";case 110:return"\n";case 118:return"\v";case 102:return"\f";case 114:return"\r";case 39:return"'";case 34:return'"';case 117:return ne=0?String.fromCharCode(n):(u(e.Diagnostics.Hexadecimal_digit_expected),"")}function T(){var t=p(1),n=!1;return t<0?(u(e.Diagnostics.Hexadecimal_digit_expected),n=!0):t>1114111&&(u(e.Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),n=!0),ne>=re?(u(e.Diagnostics.Unexpected_end_of_text),n=!0):125===i.charCodeAt(ne)?ne++:(u(e.Diagnostics.Unterminated_Unicode_escape_sequence),n=!0),n?"":N(t)}function N(t){if(e.Debug.assert(0<=t&&t<=1114111),t<=65535)return String.fromCharCode(t);var n=Math.floor((t-65536)/1024)+55296,r=(t-65536)%1024+56320;return String.fromCharCode(n,r)}function A(){if(ne+5=0&&I(r,n)))break;e+=i.substring(t,ne),e+=String.fromCharCode(r),ne+=6,t=ne}}return e+=i.substring(t,ne)}function P(){var e=se.length;if(e>=2&&e<=11){var t=se.charCodeAt(0);if(t>=97&&t<=122&&U.call(B,se))return oe=B[se]}return oe=70}function F(t){e.Debug.assert(2===t||8===t,"Expected either base 2 or base 8");for(var n=0,r=0;;){var a=i.charCodeAt(ne),o=a-48;if(!y(a)||o>=t)break;n=n*t+o,ne++,r++}return 0===r?-1:n}function O(){for(ae=ne,ue=!1,ce=!1,_e=!1;;){if(ie=ne,ne>=re)return oe=1;var t=i.charCodeAt(ne);if(35===t&&0===ne&&D(i,ne)){if(ne=S(i,ne),r)continue;return oe=6}switch(t){case 10:case 13:if(ce=!0,r){ne++;continue}return 13===t&&ne+1=0&&R(d,n)?(ne+=6,se=String.fromCharCode(d)+w(),oe=P()):(u(e.Diagnostics.Invalid_character),ne++,oe=0);default:if(R(t,n)){for(ne++;ne=re){_e=!0,u(e.Diagnostics.Unterminated_regular_expression_literal);break}var o=i.charCodeAt(t);if(g(o)){_e=!0,u(e.Diagnostics.Unterminated_regular_expression_literal);break}if(r)r=!1;else{if(47===o&&!a){t++;break}91===o?a=!0:92===o?r=!0:93===o&&(a=!1)}t++}for(;t=re)return oe=1;var e=i.charCodeAt(ne);if(60===e)return 47===i.charCodeAt(ne+1)?(ne+=2,oe=27):(ne++,oe=26);if(123===e)return ne++,oe=16;for(;ne=re)return oe=1;ae=ne,ie=ne;var e=i.charCodeAt(ne);switch(e){case 9:case 11:case 12:case 32:for(;ne=0),ne=t,ae=t,ie=t,oe=0,ce=!1,se=void 0,ue=!1,_e=!1}void 0===a&&(a=0);var ne,re,ae,ie,oe,se,ce,ue,_e;return Y(i,s,c),{getStartPos:function(){return ae},getTextPos:function(){return ne},getToken:function(){return oe},getTokenPos:function(){return ie},getTokenText:function(){return i.substring(ie,ne)},getTokenValue:function(){return se},hasExtendedUnicodeEscape:function(){return ue},hasPrecedingLineBreak:function(){return ce},isIdentifier:function(){return 70===oe||oe>106},isReservedWord:function(){return oe>=71&&oe<=106},isUnterminated:function(){return _e},reScanGreaterToken:L,reScanSlashToken:M,reScanTemplateToken:K,scanJsxIdentifier:j,scanJsxAttributeValue:V,reScanJsxToken:J,scanJsxToken:z,scanJSDocToken:q,scan:O,getText:Q,setText:Y,setScriptTarget:$,setLanguageVariant:ee,setOnError:Z,setTextPos:te,tryScan:X,lookAhead:G,scanRange:H}}e.tokenIsIdentifierOrKeyword=t;var B=e.createMap({abstract:116,any:118,as:117,boolean:121,break:71,case:72,catch:73,class:74,continue:76,const:75,constructor:122,debugger:77,declare:123,default:78,delete:79,do:80,else:81,enum:82,export:83,extends:84,false:85,finally:86,for:87,from:138,function:88,get:124,if:89,implements:107,import:90,in:91,instanceof:92,interface:108,is:125,keyof:126,let:109,module:127,namespace:128,never:129,new:93,null:94,number:132,package:110,private:111,protected:112,public:113,readonly:130,require:131,global:139, -return:95,set:133,static:114,string:134,super:96,switch:97,symbol:135,this:98,throw:99,true:100,try:101,type:136,typeof:102,undefined:137,var:103,void:104,while:105,with:106,yield:115,async:119,await:120,of:140,"{":16,"}":17,"(":18,")":19,"[":20,"]":21,".":22,"...":23,";":24,",":25,"<":26,">":28,"<=":29,">=":30,"==":31,"!=":32,"===":33,"!==":34,"=>":35,"+":36,"-":37,"**":39,"*":38,"/":40,"%":41,"++":42,"--":43,"<<":44,">":45,">>>":46,"&":47,"|":48,"^":49,"!":50,"~":51,"&&":52,"||":53,"?":54,":":55,"=":57,"+=":58,"-=":59,"*=":60,"**=":61,"/=":62,"%=":63,"<<=":64,">>=":65,">>>=":66,"&=":67,"|=":68,"^=":69,"@":56}),K=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],J=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],z=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],j=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];e.isUnicodeIdentifierStart=r;var V=i(B);e.tokenToString=o,e.stringToToken=s,e.computeLineStarts=c,e.getPositionOfLineAndCharacter=u,e.computePositionOfLineAndCharacter=_,e.getLineStarts=l,e.computeLineAndCharacterOfPosition=d,e.getLineAndCharacterOfPosition=p;var U=Object.prototype.hasOwnProperty;e.isWhiteSpace=f,e.isWhiteSpaceSingleLine=m,e.isLineBreak=g,e.isOctalDigit=v,e.couldStartTrivia=h,e.skipTrivia=b;var q="<<<<<<<".length,W=/^#!.*/;e.forEachLeadingCommentRange=E,e.forEachTrailingCommentRange=T,e.reduceEachLeadingCommentRange=N,e.reduceEachTrailingCommentRange=A,e.getLeadingCommentRanges=P,e.getTrailingCommentRanges=F,e.getShebang=O,e.isIdentifierStart=R,e.isIdentifierPart=I,e.isIdentifierText=L,e.createScanner=M}(ts||(ts={}));var ts;!function(e){function t(e,t){var n=e.declarations;if(n)for(var r=0,a=n;r=0),e.getLineStarts(n)[t]}function y(t){var n=f(t),r=e.getLineAndCharacterOfPosition(n,t.pos);return n.fileName+"("+(r.line+1)+","+(r.character+1)+")"}function v(e){return e.pos}function h(e){return void 0!==e}function b(t,n){e.Debug.assert(t>=0);var r=e.getLineStarts(n),a=t,i=n.text;if(a+1===r.length)return i.length-1;var o=r[a],s=r[a+1]-1;for(e.Debug.assert(e.isLineBreak(i.charCodeAt(s)));o<=s&&e.isLineBreak(i.charCodeAt(s));)s--;return s}function k(e){return void 0===e||e.pos===e.end&&e.pos>=0&&1!==e.kind}function x(e){return!k(e)}function D(t,n,r){return k(t)?t.pos:S(t)?e.skipTrivia((n||f(t)).text,t.pos,!1,!0):r&&t.jsDoc&&t.jsDoc.length>0?D(t.jsDoc[0]):292===t.kind&&t._children.length>0?D(t._children[0],n,r):e.skipTrivia((n||f(t)).text,t.pos)}function S(e){return e.kind>=262&&e.kind<=288}function C(e){return e.kind>=278&&e.kind<=291}function E(t,n){return k(t)||!t.decorators?D(t,n):e.skipTrivia((n||f(t)).text,t.decorators.end)}function T(t,n,r){if(void 0===r&&(r=!1),k(n))return"";var a=t.text;return a.substring(r?n.pos:e.skipTrivia(a,n.pos),n.end)}function N(t,n){return k(n)?"":t.substring(e.skipTrivia(t,n.pos),n.end)}function A(e,t){return void 0===t&&(t=!1),T(f(e),e,t)}function w(t,n,r){if(r<2&&(Gr(t.kind)||t.hasExtendedUnicodeEscape))return F('"',t.text,'"');if(!Ht(t)&&t.parent){var a=T(n,t);return r<2&&P(t,a)?t.text:a}switch(t.kind){case 9:return F('"',t.text,'"');case 12:return F("`",t.text,"`");case 13:return F("`",t.text,"${");case 14:return F("}",t.text,"${");case 15:return F("}",t.text,"`");case 8:return t.text}e.Debug.fail("Literal kind '"+t.kind+"' not accounted for.")}function P(e,t){if(8===e.kind&&t.length>1)switch(t.charCodeAt(1)){case 98:case 66:case 111:case 79:return!0}return!1}function F(e,t,n){return e+un(on(t))+n}function O(e){return e.length>=2&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)?"_"+e:e}function R(e){return e.length>=3&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)&&95===e.charCodeAt(2)?e.substr(1):e}function I(t){return e.getBaseFileName(t).replace(/^(\d)/,"_$1").replace(/\W/g,"_")}function L(t){return 0!==(3&e.getCombinedNodeFlags(t))||M(t)}function M(e){var t=qt(e);return 223===t.kind&&256===t.parent.kind}function B(e){return e&&230===e.kind&&(9===e.name.kind||j(e))}function K(e){return J(e.valueDeclaration)}function J(e){return 230===e.kind&&!e.body}function z(e){return 261===e.kind||230===e.kind||ve(e)}function j(e){return!!(512&e.flags)}function V(t){if(!t||!B(t))return!1;switch(t.parent.kind){case 261:return e.isExternalModule(t.parent);case 231:return B(t.parent.parent)&&!e.isExternalModule(t.parent.parent.parent)}return!1}function U(t,n){return e.isExternalModule(t)||n.isolatedModules}function q(e,t){switch(e.kind){case 261:case 232:case 256:case 230:case 211:case 212:case 213:case 150:case 149:case 151:case 152:case 225:case 184:case 185:return!0;case 204:return t&&!ve(t)}return!1}function W(e){for(var t=e.parent;t;){if(q(t,t.parent))return t;t=t.parent}}function H(e){return 0===a(e)?"(Missing)":A(e)}function G(e){switch(e.kind){case 70:return e.text;case 9:case 8:return e.text;case 142:if(It(e.expression))return e.expression.text}}function X(e){switch(e.kind){case 70:return 0===a(e)?R(e.text):A(e);case 141:return X(e.left)+"."+X(e.right);case 177:return X(e.expression)+"."+X(e.name)}}function Q(e,t,n,r,a){var i=f(e);return Y(i,e,t,n,r,a)}function Y(t,n,r,a,i,o){var s=te(t,n);return e.createFileDiagnostic(t,s.start,s.length,r,a,i,o)}function Z(e,t){var n=f(e),r=te(n,e);return{file:n,start:r.start,length:r.length,code:t.code,category:t.category,messageText:t.next?t:t.messageText}}function $(t,n){var r=e.createScanner(t.languageVersion,!0,t.languageVariant,t.text,void 0,n);r.scan();var a=r.getTokenPos();return e.createTextSpanFromBounds(a,r.getTextPos())}function ee(t,n){var r=e.skipTrivia(t.text,n.pos);if(n.body&&204===n.body.kind){var a=e.getLineAndCharacterOfPosition(t,n.body.pos).line,i=e.getLineAndCharacterOfPosition(t,n.body.end).line;if(a=0;case 181:return!1}}return!1}function pe(t,n){function r(t){switch(t.kind){case 216:return n(t);case 232:case 204:case 208:case 209:case 210:case 211:case 212:case 213:case 217:case 218:case 253:case 254:case 219:case 221:case 256:return e.forEachChild(t,r)}}return r(t)}function fe(t,n){function r(t){switch(t.kind){case 195:n(t);var a=t.expression;a&&r(a);case 229:case 227:case 230:case 228:case 226:case 197:return;default:if(ve(t)){var i=t.name;if(i&&142===i.kind)return void r(i.expression)}else de(t)||e.forEachChild(t,r)}}return r(t)}function me(e){if(e)switch(e.kind){case 174:case 260:case 144:case 257:case 147:case 146:case 258:case 223:return!0}return!1}function ge(e){return e&&(151===e.kind||152===e.kind)}function ye(e){return e&&(226===e.kind||197===e.kind)}function ve(e){return e&&he(e.kind)}function he(e){switch(e){case 150:case 184:case 225:case 185:case 149:case 148:case 151:case 152:case 153:case 154:case 155:case 158:case 159:return!0}return!1}function be(e){switch(e.kind){case 149:case 148:case 150:case 151:case 152:case 225:case 184:return!0}return!1}function ke(e,t){switch(e.kind){case 211:case 212:case 213:case 209:case 210:return!0;case 219:return t&&ke(e.statement,t)}return!1}function xe(e){return e&&204===e.kind&&ve(e.parent)}function De(e){return e&&149===e.kind&&176===e.parent.kind}function Se(e){return 149===e.kind&&(176===e.parent.kind||197===e.parent.kind)}function Ce(e){return e&&1===e.kind}function Ee(e){return e&&0===e.kind}function Te(e){for(;;)if(e=e.parent,!e||ve(e))return e}function Ne(e){for(;;)if(e=e.parent,!e||ye(e))return e}function Ae(e,t){for(;;){if(e=e.parent,!e)return;switch(e.kind){case 142:if(ye(e.parent.parent))return e;e=e.parent;break;case 145:144===e.parent.kind&&_a(e.parent.parent)?e=e.parent.parent:_a(e.parent)&&(e=e.parent);break;case 185:if(!t)continue;case 225:case 184:case 230:case 147:case 146:case 149:case 148:case 150:case 151:case 152:case 153:case 154:case 155:case 229:case 261:return e}}}function we(e,t){for(;;){if(e=e.parent,!e)return e;switch(e.kind){case 142:e=e.parent;break;case 225:case 184:case 185:if(!t)continue;case 147:case 146:case 149:case 148:case 150:case 151:case 152:return e;case 145:144===e.parent.kind&&_a(e.parent.parent)?e=e.parent.parent:_a(e.parent)&&(e=e.parent)}}}function Pe(e){if(184===e.kind||185===e.kind){for(var t=e,n=e.parent;183===n.kind;)t=n,n=n.parent;if(179===n.kind&&n.expression===t)return n}}function Fe(e){var t=e.kind;return(177===t||178===t)&&96===e.expression.kind}function Oe(e){switch(e.kind){case 157:case 272:return e.typeName;case 199:return rr(e.expression)?e.expression:void 0;case 70:case 141:return e}}function Re(e){switch(e.kind){case 179:case 180:case 181:case 145:return!0;default:return!1}}function Ie(e){return 181===e.kind?e.tag:e.expression}function Le(e){switch(e.kind){case 226:return!0;case 147:return 226===e.parent.kind;case 151:case 152:case 149:return void 0!==e.body&&226===e.parent.kind;case 144:return void 0!==e.parent.body&&(150===e.parent.kind||149===e.parent.kind||152===e.parent.kind)&&226===e.parent.parent.kind}return!1}function Me(e){return void 0!==e.decorators&&Le(e)}function Be(e){return Me(e)||Ke(e)}function Ke(t){switch(t.kind){case 226:return e.forEach(t.members,Be);case 149:case 152:return e.forEach(t.parameters,Me)}}function Je(e){var t=e.parent;return(248===t.kind||247===t.kind||249===t.kind)&&t.tagName===e}function ze(e){switch(e.kind){case 98:case 96:case 94:case 100:case 85:case 11:case 175:case 176:case 177:case 178:case 179:case 180:case 181:case 200:case 182:case 201:case 183:case 184:case 197:case 185:case 188:case 186:case 187:case 190:case 191:case 192:case 193:case 196:case 194:case 12:case 198:case 246:case 247:case 195:case 189:return!0;case 141:for(;141===e.parent.kind;)e=e.parent;return 160===e.parent.kind||Je(e);case 70:if(160===e.parent.kind||Je(e))return!0;case 8:case 9:case 98:var t=e.parent;switch(t.kind){case 223:case 144:case 147:case 146:case 260:case 257:case 174:return t.initializer===e;case 207:case 208:case 209:case 210:case 216:case 217:case 218:case 253:case 220:case 218:return t.expression===e;case 211:var n=t;return n.initializer===e&&224!==n.initializer.kind||n.condition===e||n.incrementor===e;case 212:case 213:var r=t;return r.initializer===e&&224!==r.initializer.kind||r.expression===e;case 182:case 200:return e===t.expression;case 202:return e===t.expression;case 142:return e===t.expression;case 145:case 252:case 251:case 259:return!0;case 199:return t.expression===e&&nr(t);default:if(ze(t))return!0}}return!1}function je(t,n){var r=e.getModuleInstanceState(t);return 1===r||n&&2===r}function Ve(e){return 234===e.kind&&245===e.moduleReference.kind}function Ue(t){return e.Debug.assert(Ve(t)),t.moduleReference.expression}function qe(e){return 234===e.kind&&245!==e.moduleReference.kind}function We(e){return He(e)}function He(e){return e&&!!(65536&e.flags)}function Ge(e,t){var n=179===e.kind&&70===e.expression.kind&&"require"===e.expression.text&&1===e.arguments.length;return n&&(!t||9===e.arguments[0].kind)}function Xe(e){return 39===e||34===e}function Qe(e){if(e.valueDeclaration&&223===e.valueDeclaration.kind){var t=e.valueDeclaration;return t.initializer&&184===t.initializer.kind}return!1}function Ye(e){if(!He(e))return 0;if(192!==e.kind)return 0;var t=e;if(57!==t.operatorToken.kind||177!==t.left.kind)return 0;var n=t.left;if(70===n.expression.kind){var r=n.expression;if("exports"===r.text)return 1;if("module"===r.text&&"exports"===n.name.text)return 2}else{if(98===n.expression.kind)return 4;if(177===n.expression.kind){var a=n.expression;if(70===a.expression.kind){var i=a.expression;if("module"===i.text&&"exports"===a.name.text)return 1;if("prototype"===a.name.text)return 3}}}return 0}function Ze(e){if(235===e.kind)return e.moduleSpecifier;if(234===e.kind){var t=e.moduleReference;if(245===t.kind)return t.expression}return 241===e.kind?e.moduleSpecifier:230===e.kind&&9===e.name.kind?e.name:void 0}function $e(e){if(234===e.kind)return e;var t=e.importClause;return t&&t.namedBindings&&237===t.namedBindings.kind?t.namedBindings:void 0}function et(e){return 235===e.kind&&e.importClause&&!!e.importClause.name}function tt(e){if(e)switch(e.kind){case 144:case 149:case 148:case 258:case 257:case 147:case 146:return void 0!==e.questionToken}return!1}function nt(e){return 274===e.kind&&e.parameters.length>0&&276===e.parameters[0].type.kind}function rt(t){return e.map(ot(t),function(e){return e.comment})}function at(t,n){var r=ot(t);if(r){for(var a=[],i=0,o=r;i0?t.types[0]:void 0}function Et(e){var t=Nt(e.heritageClauses,107);return t?t.types:void 0}function Tt(e){var t=Nt(e.heritageClauses,84);return t?t.types:void 0}function Nt(e,t){if(e)for(var n=0,r=e;n/gim;if(r.test(t)){if(a.test(t))return{isNoDefaultLib:!0};var i=e.fullTripleSlashReferencePathRegEx.exec(t),o=!i&&e.fullTripleSlashReferenceTypeReferenceDirectiveRegEx.exec(t);if(i||o){var s=n.pos,c=n.end;return{fileReference:{pos:s,end:c,fileName:(i||o)[3]},isNoDefaultLib:!1,isTypeReferenceDirective:!!o}}return{diagnosticMessage:e.Diagnostics.Invalid_reference_directive_syntax,isNoDefaultLib:!1}}}function Ft(e){return 71<=e&&e<=140}function Ot(e){return 2<=e&&e<=7}function Rt(e){return ve(e)&&Wn(e,256)&&!ge(e)}function It(e){var t=e.kind;return 9===t||8===t}function Lt(e){return e.name&&Mt(e.name)}function Mt(e){return 142===e.kind&&!It(e.expression)&&!Bt(e.expression)}function Bt(e){return Ea(e)&&zt(e.expression)}function Kt(e){if(70===e.kind||9===e.kind||8===e.kind||144===e.kind)return e.text;if(142===e.kind){var t=e.expression;if(Bt(t)){var n=t.name.text;return Jt(n)}if(9===t.kind||8===t.kind)return t.text}}function Jt(e){return"__@"+e}function zt(e){return 70===e.kind&&"Symbol"===e.text}function jt(e){return"push"===e.text||"unshift"===e.text}function Vt(e){switch(e){case 116:case 119:case 75:case 123:case 78:case 83:case 113:case 111:case 112:case 130:case 114:return!0}return!1}function Ut(e){var t=qt(e);return 144===t.kind}function qt(e){for(;174===e.kind;)e=e.parent.parent;return e}function Wt(e){var t=e.kind;return 150===t||184===t||225===t||185===t||149===t||151===t||152===t||230===t||261===t}function Ht(t){return e.positionIsSynthesized(t.pos)||e.positionIsSynthesized(t.end)}function Gt(e,t){if(e)for(;void 0!==e.original;)e=e.original;return!t||t(e)?e:void 0}function Xt(e){return 0===(8&e.flags)}function Qt(e,t){return Xt(e)?e:(e=Gt(e),!Xt(e)||t&&!t(e)?void 0:e)}function Yt(e){for(var t=[],n=0,r=e;n1&&(l=l+r.length-1,d=c.length-t.length+e.lastOrUndefined(r))}}function o(){_||(c+=t,l++,d=c.length,_=!0)}function s(e,t){n(N(e,t))}var c,u,_,l,d;return r(),{write:n,rawWrite:a,writeTextOfNode:s,writeLiteral:i,writeLine:o,increaseIndent:function(){u++},decreaseIndent:function(){u--},getIndent:function(){return u},getTextPos:function(){return c.length},getLine:function(){return l+1},getColumn:function(){return _?u*ln()+1:c.length-d+1},getText:function(){return c},isAtStartOfLine:function(){return _},reset:r}}function pn(e,t){return t.moduleName||mn(e,t.fileName)}function fn(e,t,n){var r=t.getExternalModuleFileFromDeclaration(n);if(r&&!re(r))return pn(e,r)}function mn(t,n){var r=function(e){return t.getCanonicalFileName(e)},a=e.toPath(t.getCommonSourceDirectory(),t.getCurrentDirectory(),r),i=e.getNormalizedAbsolutePath(n,t.getCurrentDirectory()),o=e.getRelativePathToDirectoryOrUrl(a,i,a,r,!1);return e.removeFileExtension(o)}function gn(t,n,r){var a,i=n.getCompilerOptions();return a=i.outDir?e.removeFileExtension(En(t,n,i.outDir)):e.removeFileExtension(t.fileName),a+r}function yn(t,n){var r=n.getCompilerOptions(),a=r.declarationDir||r.outDir,i=a?En(t,n,a):t.fileName;return e.removeFileExtension(i)+".d.ts"}function vn(t,n){function r(){return a.noEmitForJsFiles?e.filter(t.getSourceFiles(),function(e){return!We(e)}):t.getSourceFiles()}var a=t.getCompilerOptions();if(a.outFile||a.out){var i=e.getEmitModuleKind(a),o=i===e.ModuleKind.AMD||i===e.ModuleKind.System,s=r();return e.filter(s,o?bn:xn)}var s=void 0===n?r():[n];return hn(s,function(e){return t.isSourceFileFromExternalLibrary(e)})}function hn(t,n){return e.filter(t,function(e){return kn(e,n)})}function bn(e){return!re(e)}function kn(e,t){return bn(e)&&!t(e)}function xn(t){return bn(t)&&!e.isExternalModule(t)}function Dn(t,n,r,a){function i(t,n){var i=".js";1===s.jsx&&(We(n)?e.fileExtensionIs(n.fileName,".jsx")&&(i=".jsx"):1===n.languageVariant&&(i=".jsx"));var o=gn(n,t,i),c=Sn(o,s),u=We(n)||!s.declaration&&!a?void 0:yn(n,t);r(o,c,u,[n],!1)}function o(t){if(t.length){var n=s.outFile||s.out,a=Sn(n,s),i=s.declaration?e.removeFileExtension(n)+".d.ts":void 0;r(n,a,i,t,!0)}}var s=t.getCompilerOptions();if(s.outFile||s.out)o(n);else for(var c=0,u=n;c0){var t=2===e.parameters.length&&On(e.parameters[0]);return e.parameters[t?1:0].type}}function Fn(e){if(e.parameters.length){var t=e.parameters[0];if(On(t))return t}}function On(e){return Rn(e.name)}function Rn(e){return e&&70===e.kind&&In(e)}function In(e){return 98===e.originalKeywordKind}function Ln(t,n){var r,a,i,o;return Lt(n)?(r=n,151===n.kind?i=n:152===n.kind?o=n:e.Debug.fail("Accessor has wrong kind")):e.forEach(t,function(e){if((151===e.kind||152===e.kind)&&Wn(e,32)===Wn(n,32)){var t=Kt(e.name),s=Kt(n.name);t===s&&(r?a||(a=e):r=e,151!==e.kind||i||(i=e),152!==e.kind||o||(o=e))}}),{firstAccessor:r,secondAccessor:a,getAccessor:i,setAccessor:o}}function Mn(e,t,n,r){Bn(e,t,n.pos,r)}function Bn(e,t,n,r){r&&r.length&&n!==r[0].pos&&An(e,n)!==An(e,r[0].pos)&&t.writeLine()}function Kn(e,t,n,r){n!==r&&An(e,n)!==An(e,r)&&t.writeLine()}function Jn(e,t,n,r,a,i,o,s){if(r&&r.length>0){a&&n.write(" ");for(var c=!1,u=0,_=r;u<_.length;u++){var l=_[u];c&&(n.write(" "),c=!1),s(e,t,n,l.pos,l.end,o),l.hasTrailingNewLine?n.writeLine():c=!0}c&&i&&n.write(" ")}}function zn(t,n,r,a,i,o,s){function c(e){return 42===t.charCodeAt(e.pos+1)&&33===t.charCodeAt(e.pos+2)}var u,_;if(s?0===i.pos&&(u=e.filter(e.getLeadingCommentRanges(t,i.pos),c)):u=e.getLeadingCommentRanges(t,i.pos),u){for(var l=[],d=void 0,p=0,f=u;p=g+2)break}l.push(m),d=m}if(l.length){var g=An(n,e.lastOrUndefined(l).end),v=An(n,e.skipTrivia(t,i.pos));v>=g+2&&(Mn(n,r,i,u),Jn(t,n,r,l,!1,!0,o,a),_={nodePos:i.pos,detachedCommentEndPos:e.lastOrUndefined(l).end})}}return _}function jn(t,n,r,a,i,o){if(42===t.charCodeAt(a+1))for(var s=e.computeLineAndCharacterOfPosition(n,a),c=n.length,u=void 0,_=a,l=s.line;_0){var m=f%ln(),g=_n((f-m)/ln());for(r.rawWrite(g);m;)r.rawWrite(" "),m--}else r.rawWrite("")}Vn(t,i,r,o,_,d),_=d}else r.write(t.substring(a,i))}function Vn(e,t,n,r,a,i){var o=Math.min(t,i-1),s=e.substring(a,o).replace(/^\s+|\s+$/g,"");s?(n.write(s),o!==t&&n.writeLine()):n.writeLiteral(r)}function Un(t,n,r){for(var a=0;n=57&&e<=69}function Yn(e){if(199===e.kind&&84===e.parent.token&&ye(e.parent.parent))return e.parent.parent}function Zn(e,t){return Na(e)&&(t?57===e.operatorToken.kind:Qn(e.operatorToken.kind))&&Ia(e.left)}function $n(e){if(Zn(e,!0)){var t=e.left.kind;return 176===t||175===t}return!1}function er(e){return tr(e.expression)}function tr(e){return 70===e.kind||!!Ea(e)&&tr(e.expression)}function nr(e){return void 0!==Yn(e)}function rr(e){return 70===e.kind||177===e.kind&&rr(e.expression)}function ar(e){return 141===e.parent.kind&&e.parent.right===e||177===e.parent.kind&&e.parent.name===e}function ir(e){var t=e.kind;return 176===t?0===e.properties.length:175===t&&0===e.elements.length}function or(e){return e&&e.valueDeclaration&&Wn(e.valueDeclaration,512)?e.valueDeclaration.localSymbol:void 0}function sr(t){return e.find(e.supportedTypescriptExtensionsForExtractExtension,function(n){return e.fileExtensionIs(t,n)})}function cr(t){for(var n=[],r=t.length,a=0;a>6|192),n.push(63&i|128)):i<65536?(n.push(i>>12|224),n.push(i>>6&63|128),n.push(63&i|128)):i<131072?(n.push(i>>18|240),n.push(i>>12&63|128),n.push(i>>6&63|128),n.push(63&i|128)):e.Debug.assert(!1,"Unexpected code point")}return n}function ur(e){return void 0===e?void 0:_r(e)}function _r(t){return"string"==typeof t?'"'+on(t)+'"':"number"==typeof t?isFinite(t)?String(t):"null":"boolean"==typeof t?t?"true":"false":"object"==typeof t&&t?e.isArray(t)?lr(dr,t):lr(fr,t):"null"}function lr(t,n){e.Debug.assert(!n.hasOwnProperty("__cycle"),"Converting circular structure to JSON"),n.__cycle=!0;var r=t(n);return delete n.__cycle,r}function dr(t){return"["+e.reduceLeft(t,pr,"")+"]"}function pr(e,t){return(e?e+",":e)+_r(t)}function fr(t){return"{"+e.reduceOwnProperties(t,mr,"")+"}"}function mr(e,t,n){return void 0===t||"function"==typeof t||"__cycle"===n?e:(e?e+",":e)+('"'+on(n)+'":'+_r(t))}function gr(e){for(var t,n,r,a,i="",o=cr(e),s=0,c=o.length;s>2,n=(3&o[s])<<4|o[s+1]>>4,r=(15&o[s+1])<<2|o[s+2]>>6,a=63&o[s+2],s+1>=c?r=a=64:s+2>=c&&(a=64),i+=Bi.charAt(t)+Bi.charAt(n)+Bi.charAt(r)+Bi.charAt(a),s+=3;return i}function yr(t){return 0===t.newLine?Ki:1===t.newLine?Ji:e.sys?e.sys.newLine:Ki}function vr(e){return hr(e,0)}function hr(e,t){if(t<=5){var n=e.kind;if(9===n||8===n||11===n||12===n||70===n||98===n||96===n||100===n||85===n||94===n)return!0;if(177===n)return hr(e.expression,t+1);if(178===n)return hr(e.expression,t+1)&&hr(e.argumentExpression,t+1);if(190===n||191===n)return hr(e.operand,t+1);if(192===n)return 39!==e.operatorToken.kind&&hr(e.left,t+1)&&hr(e.right,t+1);if(193===n)return hr(e.condition,t+1)&&hr(e.whenTrue,t+1)&&hr(e.whenFalse,t+1);if(188===n||187===n||186===n)return hr(e.expression,t+1);if(175===n)return 0===e.elements.length;if(176===n)return 0===e.properties.length;if(179===n){if(!hr(e.expression,t+1))return!1;for(var r=0,a=e.arguments;r0?Sr(e,e.decorators.end):e}function Er(e){return e.modifiers&&e.modifiers.length>0?Sr(e,e.modifiers.end):Cr(e)}function Tr(e){return e.pos===e.end}function Nr(e){return Tr(e)?e:Dr(e,e.pos)}function Ar(e){return Tr(e)?e:Sr(e,e.end)}function wr(t,n){return xr(t,t+e.tokenToString(n).length)}function Pr(e,t){return Rr(e,e,t)}function Fr(e,t,n){return Lr(Mr(e,n),Mr(t,n),n)}function Or(e,t,n){return Lr(e.end,t.end,n)}function Rr(e,t,n){return Lr(Mr(e,n),t.end,n)}function Ir(e,t,n){return Lr(e.end,Mr(t,n),n)}function Lr(e,t,n){return e===t||Nn(n,e)===Nn(n,t)}function Mr(t,n){return e.positionIsSynthesized(t.pos)?-1:e.skipTrivia(n.text,t.pos)}function Br(e){var t=Qt(e);if(t)switch(t.parent.kind){case 229:case 230:return t===t.parent.name}return!1}function Kr(t){return e.filter(t.declarations,Jr)}function Jr(e){return void 0!==e.initializer}function zr(e){if(e.symbol)for(var t=0,n=e.symbol.declarations;t0}function $r(e){return Vt(e.kind)}function ea(e){return 141===e.kind}function ta(e){return 142===e.kind}function na(e){var t=e.kind;return 141===t||70===t}function ra(e){var t=e.kind;return 70===t||9===t||8===t||142===t}function aa(e){var t=e.kind;return 70===t||9===t}function ia(e){var t=e.kind;return 70===t||172===t||173===t}function oa(e){return 143===e.kind}function sa(e){return 144===e.kind}function ca(e){return 145===e.kind}function ua(e){return 149===e.kind}function _a(e){var t=e.kind;return 150===t||147===t||149===t||151===t||152===t||155===t||203===t}function la(e){var t=e.kind;return 257===t||258===t||259===t||149===t||151===t||152===t||244===t}function da(e){return e>=156&&e<=171||118===e||132===e||121===e||134===e||135===e||104===e||129===e||199===e}function pa(e){return da(e.kind)}function fa(e){return 173===e.kind}function ma(e){return 172===e.kind}function ga(e){if(e){var t=e.kind;return 173===t||172===t}return!1}function ya(e){var t=e.kind;return 175===t||176===t}function va(e){return 174===e.kind}function ha(e){var t=e.kind;return 174===t||198===t}function ba(e){switch(e.kind){case 223:case 144:case 174:return!0}return!1}function ka(e){return xa(e)||Da(e)}function xa(e){switch(e.kind){case 172:case 176:return!0}return!1}function Da(e){switch(e.kind){case 173:case 175:return!0}return!1}function Sa(e){return 175===e.kind}function Ca(e){return 176===e.kind}function Ea(e){return 177===e.kind}function Ta(e){return 178===e.kind}function Na(e){return 192===e.kind}function Aa(e){return 193===e.kind}function wa(e){return 179===e.kind}function Pa(e){var t=e.kind;return 194===t||12===t}function Fa(e){return 196===e.kind}function Oa(e){return 199===e.kind}function Ra(e){return 177===e||178===e||180===e||179===e||246===e||247===e||181===e||175===e||183===e||176===e||197===e||184===e||70===e||11===e||8===e||9===e||12===e||194===e||85===e||94===e||98===e||100===e||96===e||201===e||297===e}function Ia(t){return Ra(e.skipPartiallyEmittedExpressions(t).kind)}function La(e){return 190===e||191===e||186===e||187===e||188===e||189===e||182===e||Ra(e)}function Ma(t){return La(e.skipPartiallyEmittedExpressions(t).kind)}function Ba(e){return 193===e||195===e||185===e||192===e||196===e||200===e||198===e||297===e||La(e)}function Ka(t){return Ba(e.skipPartiallyEmittedExpressions(t).kind)}function Ja(e){var t=e.kind;return 182===t||200===t}function za(e){return 294===e.kind}function ja(e){return 293===e.kind}function Va(e){return ja(e)||za(e)}function Ua(e){return 198===e.kind}function qa(e){return 202===e.kind}function Wa(e){return 204===e.kind}function Ha(e){return Wa(e)||Ka(e)}function Ga(e){return Wa(e)}function Xa(e){return Ya(e)||Ka(e)}function Qa(e){return 223===e.kind}function Ya(e){return 224===e.kind}function Za(e){return 232===e.kind}function $a(e){var t=e.kind;return 231===t||230===t}function ei(e){return 234===e.kind}function ti(e){return 236===e.kind}function ni(e){var t=e.kind;return 238===t||237===t}function ri(e){return 239===e.kind}function ai(e){return 242===e.kind}function ii(e){return 243===e.kind}function oi(e){return 230===e.kind||229===e.kind}function si(e){return 185===e||174===e||226===e||197===e||150===e||229===e||260===e||243===e||225===e||184===e||151===e||236===e||234===e||239===e||227===e||149===e||148===e||230===e||233===e||237===e||144===e||257===e||147===e||146===e||152===e||258===e||228===e||143===e||223===e||285===e}function ci(e){return 225===e||244===e||226===e||227===e||228===e||229===e||230===e||235===e||234===e||241===e||240===e||233===e}function ui(e){return 215===e||214===e||222===e||209===e||207===e||206===e||212===e||213===e||211===e||208===e||219===e||216===e||218===e||220===e||221===e||205===e||210===e||217===e||293===e||296===e||295===e}function _i(e){return si(e.kind)}function li(e){return ci(e.kind)}function di(e){return ui(e.kind)}function pi(e){var t=e.kind;return ui(t)||ci(t)||204===t}function fi(e){var t=e.kind;return 245===t||141===t||70===t}function mi(e){return 248===e.kind}function gi(e){return 249===e.kind}function yi(e){var t=e.kind;return 98===t||70===t||177===t}function vi(e){var t=e.kind;return 246===t||252===t||247===t||10===t}function hi(e){var t=e.kind;return 250===t||251===t}function bi(e){return 251===e.kind}function ki(e){return 250===e.kind}function xi(e){var t=e.kind;return 9===t||252===t}function Di(e){var t=e.kind;return 253===t||254===t}function Si(e){return 255===e.kind}function Ci(e){return 256===e.kind}function Ei(e){return 257===e.kind}function Ti(e){return 258===e.kind}function Ni(e){return 260===e.kind}function Ai(e){return 261===e.kind}function wi(e){return e.watch&&e.hasOwnProperty("watch")}e.externalHelpersModuleNameText="tslib",e.getDeclarationOfKind=t;var Pi=[];e.getSingleLineStringWriter=n,e.releaseStringWriter=r,e.getFullWidth=a,e.hasResolvedModule=i,e.getResolvedModule=o,e.setResolvedModule=s,e.setResolvedTypeReferenceDirective=c,e.moduleResolutionIsEqualTo=u,e.typeDirectiveIsEqualTo=_,e.hasChangesInResolutions=l,e.containsParseError=d,e.getSourceFileOfNode=f,e.isStatementWithLocals=m,e.getStartPositionOfLine=g,e.nodePosToString=y,e.getStartPosOfNode=v,e.isDefined=h,e.getEndLinePosition=b,e.nodeIsMissing=k,e.nodeIsPresent=x,e.getTokenPosOfNode=D,e.isJSDocNode=S,e.isJSDocTag=C,e.getNonDecoratorTokenPosOfNode=E,e.getSourceTextOfNodeFromSourceFile=T,e.getTextOfNodeFromSourceText=N,e.getTextOfNode=A,e.getLiteralText=w,e.isBinaryOrOctalIntegerLiteral=P,e.escapeIdentifier=O,e.unescapeIdentifier=R,e.makeIdentifierFromModuleName=I,e.isBlockOrCatchScoped=L,e.isCatchClauseVariableDeclarationOrBindingElement=M,e.isAmbientModule=B,e.isShorthandAmbientModuleSymbol=K,e.isBlockScopedContainerTopLevel=z,e.isGlobalScopeAugmentation=j,e.isExternalModuleAugmentation=V,e.isEffectiveExternalModule=U,e.isBlockScope=q,e.getEnclosingBlockScopeContainer=W,e.declarationNameToString=H,e.getTextOfPropertyName=G,e.entityNameToString=X,e.createDiagnosticForNode=Q,e.createDiagnosticForNodeInSourceFile=Y,e.createDiagnosticForNodeFromMessageChain=Z,e.getSpanOfTokenAtPosition=$,e.getErrorSpanForNode=te,e.isExternalOrCommonJsModule=ne,e.isDeclarationFile=re,e.isConstEnumDeclaration=ae,e.isConst=ie,e.isLet=oe,e.isSuperCall=se,e.isPrologueDirective=ce,e.getLeadingCommentRangesOfNode=ue,e.getLeadingCommentRangesOfNodeFromText=_e,e.getJSDocCommentRanges=le,e.fullTripleSlashReferencePathRegEx=/^(\/\/\/\s*/,e.fullTripleSlashReferenceTypeReferenceDirectiveRegEx=/^(\/\/\/\s*/,e.fullTripleSlashAMDReferencePathRegEx=/^(\/\/\/\s*/,e.isPartOfTypeNode=de,e.forEachReturnStatement=pe,e.forEachYieldExpression=fe,e.isVariableLike=me,e.isAccessor=ge,e.isClassLike=ye,e.isFunctionLike=ve,e.isFunctionLikeKind=he,e.introducesArgumentsExoticObject=be,e.isIterationStatement=ke,e.isFunctionBlock=xe,e.isObjectLiteralMethod=De,e.isObjectLiteralOrClassExpressionMethod=Se,e.isIdentifierTypePredicate=Ce,e.isThisTypePredicate=Ee,e.getContainingFunction=Te,e.getContainingClass=Ne,e.getThisContainer=Ae,e.getSuperContainer=we,e.getImmediatelyInvokedFunctionExpression=Pe,e.isSuperProperty=Fe,e.getEntityNameFromTypeNode=Oe,e.isCallLikeExpression=Re,e.getInvokedExpression=Ie,e.nodeCanBeDecorated=Le,e.nodeIsDecorated=Me,e.nodeOrChildIsDecorated=Be,e.childIsDecorated=Ke,e.isJSXTagName=Je,e.isPartOfExpression=ze,e.isInstantiatedModule=je,e.isExternalModuleImportEqualsDeclaration=Ve,e.getExternalModuleImportEqualsDeclarationExpression=Ue,e.isInternalModuleImportEqualsDeclaration=qe,e.isSourceFileJavaScript=We,e.isInJavaScriptFile=He,e.isRequireCall=Ge,e.isSingleOrDoubleQuote=Xe,e.isDeclarationOfFunctionExpression=Qe,e.getSpecialPropertyAssignmentKind=Ye,e.getExternalModuleName=Ze,e.getNamespaceDeclarationNode=$e,e.isDefaultImport=et,e.hasQuestionToken=tt,e.isJSDocConstructSignature=nt,e.getCommentsFromJSDoc=rt,e.getJSDocParameterTags=st,e.getJSDocType=ct,e.getJSDocAugmentsTag=ut,e.getJSDocReturnTag=_t,e.getJSDocTemplateTag=lt,e.hasRestParameter=dt,e.hasDeclaredRestParameter=pt,e.isRestParameter=ft,e.isDeclaredRestParam=mt;var Fi;!function(e){e[e.None=0]="None",e[e.Definite=1]="Definite",e[e.Compound=2]="Compound"}(Fi=e.AssignmentKind||(e.AssignmentKind={})),e.getAssignmentTargetKind=gt,e.isAssignmentTarget=yt,e.isNodeDescendantOf=vt,e.isInAmbientContext=ht,e.isDeclarationName=bt,e.isLiteralComputedPropertyDeclarationName=kt,e.isIdentifierName=xt,e.isAliasSymbolDeclaration=Dt,e.exportAssignmentIsAlias=St,e.getClassExtendsHeritageClauseElement=Ct,e.getClassImplementsHeritageClauseElements=Et,e.getInterfaceBaseTypeNodes=Tt,e.getHeritageClause=Nt,e.tryResolveScriptReference=At,e.getAncestor=wt,e.getFileReferenceFromReferencePath=Pt,e.isKeyword=Ft,e.isTrivia=Ot,e.isAsyncFunctionLike=Rt,e.isStringOrNumericLiteral=It,e.hasDynamicName=Lt,e.isDynamicName=Mt,e.isWellKnownSymbolSyntactically=Bt,e.getPropertyNameForPropertyNameNode=Kt,e.getPropertyNameForKnownSymbolName=Jt,e.isESSymbolIdentifier=zt,e.isPushOrUnshiftIdentifier=jt,e.isModifierKind=Vt,e.isParameterDeclaration=Ut,e.getRootDeclaration=qt,e.nodeStartsNewLexicalEnvironment=Wt,e.nodeIsSynthesized=Ht,e.getOriginalNode=Gt,e.isParseTreeNode=Xt,e.getParseTreeNode=Qt,e.getOriginalSourceFiles=Yt,e.getOriginalNodeId=Zt;var Oi;!function(e){e[e.Left=0]="Left",e[e.Right=1]="Right"}(Oi=e.Associativity||(e.Associativity={})),e.getExpressionAssociativity=$t,e.getOperatorAssociativity=en,e.getExpressionPrecedence=tn,e.getOperator=nn,e.getOperatorPrecedence=rn,e.createDiagnosticCollection=an;var Ri=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,Ii=e.createMap({"\0":"\\0","\t":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"\u2028":"\\u2028","\u2029":"\\u2029","…":"\\u0085"});e.escapeString=on,e.isIntrinsicJsxName=sn;var Li=/[^\u0000-\u007F]/g;e.escapeNonAsciiCharacters=un;var Mi=[""," "];e.getIndentString=_n,e.getIndentSize=ln,e.createTextWriter=dn,e.getResolvedExternalModuleName=pn,e.getExternalModuleNameFromDeclaration=fn,e.getExternalModuleNameFromPath=mn,e.getOwnEmitOutputFilePath=gn,e.getDeclarationEmitOutputFilePath=yn,e.getSourceFilesToEmit=vn,e.filterSourceFilesInDirectory=hn,e.forEachTransformedEmitFile=Dn,e.forEachExpectedEmitFile=Cn,e.getSourceFilePathInNewDir=En,e.writeFile=Tn,e.getLineOfLocalPosition=Nn,e.getLineOfLocalPositionFromLineMap=An,e.getFirstConstructorWithBody=wn,e.getSetAccessorTypeAnnotationNode=Pn,e.getThisParameter=Fn,e.parameterIsThisKeyword=On,e.isThisIdentifier=Rn,e.identifierIsThisKeyword=In,e.getAllAccessorDeclarations=Ln,e.emitNewLineBeforeLeadingComments=Mn,e.emitNewLineBeforeLeadingCommentsOfPosition=Bn,e.emitNewLineBeforeLeadingCommentOfPosition=Kn,e.emitComments=Jn,e.emitDetachedComments=zn,e.writeCommentRange=jn,e.hasModifiers=qn,e.hasModifier=Wn,e.getModifierFlags=Hn,e.modifierToFlag=Gn,e.isLogicalOperator=Xn,e.isAssignmentOperator=Qn,e.tryGetClassExtendingExpressionWithTypeArguments=Yn,e.isAssignmentExpression=Zn,e.isDestructuringAssignment=$n,e.isSupportedExpressionWithTypeArguments=er,e.isExpressionWithTypeArgumentsInClassExtendsClause=nr,e.isEntityNameExpression=rr,e.isRightSideOfQualifiedNameOrPropertyAccess=ar,e.isEmptyObjectLiteralOrArrayLiteral=ir,e.getLocalSymbolForExportDefault=or,e.tryExtractTypeScriptExtension=sr,e.stringify="undefined"!=typeof JSON&&JSON.stringify?JSON.stringify:ur;var Bi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.convertToBase64=gr;var Ki="\r\n",Ji="\n";e.getNewLineCharacter=yr,e.isSimpleExpression=vr;var zi=e.createMap();e.formatSyntaxKind=br,e.movePos=kr,e.createRange=xr,e.moveRangeEnd=Dr,e.moveRangePos=Sr,e.moveRangePastDecorators=Cr,e.moveRangePastModifiers=Er,e.isCollapsedRange=Tr,e.collapseRangeToStart=Nr,e.collapseRangeToEnd=Ar,e.createTokenRange=wr,e.rangeIsOnSingleLine=Pr,e.rangeStartPositionsAreOnSameLine=Fr,e.rangeEndPositionsAreOnSameLine=Or,e.rangeStartIsOnSameLineAsRangeEnd=Rr,e.rangeEndIsOnSameLineAsRangeStart=Ir,e.positionsAreOnSameLine=Lr,e.getStartPositionOfRange=Mr,e.isDeclarationNameOfEnumOrNamespace=Br,e.getInitializedVariables=Kr,e.isMergedWithClass=zr,e.isFirstDeclarationOfKind=jr,e.isNodeArray=Vr,e.isNoSubstitutionTemplateLiteral=Ur,e.isLiteralKind=qr,e.isTextualLiteralKind=Wr,e.isLiteralExpression=Hr,e.isTemplateLiteralKind=Gr,e.isTemplateHead=Xr,e.isTemplateMiddleOrTemplateTail=Qr,e.isIdentifier=Yr,e.isGeneratedIdentifier=Zr,e.isModifier=$r,e.isQualifiedName=ea,e.isComputedPropertyName=ta,e.isEntityName=na,e.isPropertyName=ra,e.isModuleName=aa,e.isBindingName=ia,e.isTypeParameter=oa,e.isParameter=sa,e.isDecorator=ca,e.isMethodDeclaration=ua,e.isClassElement=_a,e.isObjectLiteralElementLike=la,e.isTypeNode=pa,e.isArrayBindingPattern=fa,e.isObjectBindingPattern=ma,e.isBindingPattern=ga,e.isAssignmentPattern=ya,e.isBindingElement=va,e.isArrayBindingElement=ha,e.isDeclarationBindingElement=ba,e.isBindingOrAssignmentPattern=ka,e.isObjectBindingOrAssignmentPattern=xa,e.isArrayBindingOrAssignmentPattern=Da,e.isArrayLiteralExpression=Sa,e.isObjectLiteralExpression=Ca,e.isPropertyAccessExpression=Ea,e.isElementAccessExpression=Ta,e.isBinaryExpression=Na,e.isConditionalExpression=Aa,e.isCallExpression=wa,e.isTemplateLiteral=Pa,e.isSpreadExpression=Fa,e.isExpressionWithTypeArguments=Oa,e.isLeftHandSideExpression=Ia,e.isUnaryExpression=Ma,e.isExpression=Ka,e.isAssertionExpression=Ja,e.isPartiallyEmittedExpression=za,e.isNotEmittedStatement=ja,e.isNotEmittedOrPartiallyEmittedNode=Va,e.isOmittedExpression=Ua,e.isTemplateSpan=qa,e.isBlock=Wa,e.isConciseBody=Ha,e.isFunctionBody=Ga,e.isForInitializer=Xa,e.isVariableDeclaration=Qa,e.isVariableDeclarationList=Ya,e.isCaseBlock=Za,e.isModuleBody=$a,e.isImportEqualsDeclaration=ei,e.isImportClause=ti,e.isNamedImportBindings=ni,e.isImportSpecifier=ri,e.isNamedExports=ai,e.isExportSpecifier=ii,e.isModuleOrEnumDeclaration=oi,e.isDeclaration=_i,e.isDeclarationStatement=li,e.isStatementButNotDeclaration=di,e.isStatement=pi,e.isModuleReference=fi,e.isJsxOpeningElement=mi, -e.isJsxClosingElement=gi,e.isJsxTagNameExpression=yi,e.isJsxChild=vi,e.isJsxAttributeLike=hi,e.isJsxSpreadAttribute=bi,e.isJsxAttribute=ki,e.isStringLiteralOrJsxExpression=xi,e.isCaseOrDefaultClause=Di,e.isHeritageClause=Si,e.isCatchClause=Ci,e.isPropertyAssignment=Ei,e.isShorthandPropertyAssignment=Ti,e.isEnumMember=Ni,e.isSourceFile=Ai,e.isWatchSet=wi}(ts||(ts={})),function(e){function t(e){switch(e.target){case 5:case 4:return"lib.es2017.d.ts";case 3:return"lib.es2016.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}}function n(e){return e.start+e.length}function r(e){return 0===e.length}function a(e,t){return t>=e.start&&t=e.start&&n(t)<=n(e)}function o(e,t){var r=Math.max(e.start,t.start),a=Math.min(n(e),n(t));return r=e.start}function u(e,t,r){var a=t+r;return t<=n(e)&&a>=e.start}function _(e,t,n,r){var a=e+t,i=n+r;return n<=a&&i>=e}function l(e,t){return t<=n(e)&&t>=e.start}function d(e,t){var r=Math.max(e.start,t.start),a=Math.min(n(e),n(t));if(r<=a)return f(r,a)}function p(e,t){if(e<0)throw new Error("start < 0");if(t<0)throw new Error("length < 0");return{start:e,length:t}}function f(e,t){return p(e,t-e)}function m(e){return p(e.span.start,e.newLength)}function g(e){return r(e.span)&&0===e.newLength}function y(e,t){if(t<0)throw new Error("newLength < 0");return{span:e,newLength:t}}function v(t){if(0===t.length)return e.unchangedTextChangeRange;if(1===t.length)return t[0];for(var r=t[0],a=r.span.start,i=n(r.span),o=a+r.newLength,s=1;s0)if(r||s.push(y()),a.length>1)for(var c=0,u=a;c0;default:return!0}}function er(t,n,r,a){var i,o,s=Br(t,7);if(e.isSuperProperty(s))i=g(),o=s;else if(96===s.kind)i=g(),o=r<2?u("_super",s):s;else switch(s.kind){case 177:$n(s.expression,a)?(i=_(n),o=j(En(i,s.expression,s.expression),s.name,s)):(i=s.expression,o=s);break;case 178:$n(s.expression,a)?(i=_(n),o=U(En(i,s.expression,s.expression),s.argumentExpression,s)):(i=s.expression,o=s);break;default:i=In(),o=Ar(t)}return{target:o,thisArg:i}}function tr(t){return e.reduceLeft(t,Sn)}function nr(t){if(e.isQualifiedName(t)){var n=nr(t.left),r=s(t.right);return j(n,r,t)}return s(t)}function rr(t){return e.isIdentifier(t)?c(t,void 0):s(e.isComputedPropertyName(t)?t.expression:t)}function ar(e,t,n){switch(t.kind){case 151:case 152:return ir(e.properties,t,n,e.multiLine);case 257:return or(t,n);case 258:return sr(t,n);case 149:return cr(t,n)}}function ir(t,n,r,a){var i=e.getAllAccessorDeclarations(t,n),o=i.firstAccessor,s=i.getAccessor,_=i.setAccessor;if(n===o){var l=[];if(s){var d=ee(s.modifiers,void 0,void 0,void 0,s.parameters,void 0,s.body,s);Vr(d,s);var p=ln("get",d);l.push(p)}if(_){var f=ee(_.modifiers,void 0,void 0,void 0,_.parameters,void 0,_.body,_);Vr(f,_);var m=ln("set",f);l.push(m)}l.push(ln("enumerable",c(!0))),l.push(ln("configurable",c(!0)));var g=W(j(u("Object"),"defineProperty"),void 0,[r,rr(n.name),J(l,void 0,a)],o);return e.aggregateTransformFlags(g)}}function or(t,n){return e.aggregateTransformFlags(Vr(En(Mn(n,t.name,t.name),t.initializer,t),t))}function sr(t,n){return e.aggregateTransformFlags(Vr(En(Mn(n,t.name,t.name),o(t.name),t),t))}function cr(t,n){return e.aggregateTransformFlags(Vr(En(Mn(n,t.name,t.name),Vr(ee(t.modifiers,t.asteriskToken,void 0,void 0,t.parameters,void 0,t.body,t),t),t),t))}function ur(e,t,n){return fr(e,t,n,16384)}function _r(e){return 0!==(16384&Gr(e))}function lr(e,t,n){return fr(e,t,n,8192)}function dr(e){return 0!==(8192&Gr(e))}function pr(e,t,n){return fr(e,t,n)}function fr(t,n,r,a){if(t.name&&e.isIdentifier(t.name)&&!e.isGeneratedIdentifier(t.name)){var i=s(t.name);return a|=Gr(t.name),r||(a|=48),n||(a|=1536),a&&Xr(i,a),i}return p(t)}function mr(t,n,r,a){return t&&e.hasModifier(n,1)?gr(t,fr(n),r,a):lr(n,r,a)}function gr(t,n,r,a){var i,s=j(t,e.nodeIsSynthesized(n)?n:o(n),n);return a||(i|=48),r||(i|=1536),i&&Xr(s,i),s}function yr(t,n){return e.isBlock(t)?t:Oe([ot(t,t)],t,n)}function vr(e){return"use strict"===e.expression.text}function hr(t,n,r,a){e.Debug.assert(0===t.length,"Prologue directives should be at the first statement in the target statements array");for(var i=!1,o=0,s=n.length;oa?t:Z(t,t)}function Rr(t){var n=zr(t);if(e.isCallExpression(n)){var r=n.expression,a=zr(r).kind;if(184===a||185===a){var i=s(n);return i.expression=Z(r,r),Ir(t,i)}}else{var o=Lr(n).kind;if(176===o||184===o)return Z(t,t)}return t}function Ir(t,n){if(e.isPartiallyEmittedExpression(t)){var r=s(t);return r.expression=Ir(r.expression,n),r}return n}function Lr(e){for(;;){switch(e.kind){case 191:e=e.operand;continue;case 192:e=e.left;continue;case 193:e=e.condition;continue;case 179:case 178:case 177:e=e.expression;continue;case 294:e=e.expression;continue}return e}}function Mr(e){var t=zr(e);return 176===t.kind?Z(e,e):e}function Br(e,t){void 0===t&&(t=7);var n;do n=e,1&t&&(e=Kr(e)),2&t&&(e=Jr(e)),4&t&&(e=zr(e));while(n!==e);return e}function Kr(e){for(;183===e.kind;)e=e.expression;return e}function Jr(t){for(;e.isAssertionExpression(t);)t=t.expression;return t}function zr(e){for(;294===e.kind;)e=e.expression;return e}function jr(e){return e.startsOnNewLine=!0,e}function Vr(e,t){if(e.original=t,t){var n=t.emitNode;n&&(e.emitNode=Ur(n,e.emitNode))}return e}function Ur(t,n){var r=t.flags,a=t.commentRange,i=t.sourceMapRange,o=t.tokenSourceMapRanges,s=t.constantValue,c=t.helpers;return n||(n={}),r&&(n.flags=r),a&&(n.commentRange=a),i&&(n.sourceMapRange=i),o&&(n.tokenSourceMapRanges=qr(o,n.tokenSourceMapRanges)),void 0!==s&&(n.constantValue=s),c&&(n.helpers=e.addRange(n.helpers,c)),n}function qr(t,n){return n||(n=e.createMap()),e.copyProperties(t,n),n}function Wr(t){t=e.getSourceFileOfNode(e.getParseTreeNode(t));var n=t&&t.emitNode,r=n&&n.annotatedNodes;if(r)for(var a=0,i=r;a0&&(i[c-s]=u)}s>0&&(i.length-=s)}}function la(t,n){return t===n?0:t.priority===n.priority?0:void 0===t.priority?1:void 0===n.priority?-1:e.compareValues(t.priority,n.priority)}function da(e,t){return t&&(e.pos=t.pos,e.end=t.end),e}function pa(e,t){return e.flags=t,e}function fa(e,t){return e.multiLine=t,e}function ma(e,t){return e.hasTrailingComma=t,e}function ga(t,n){var r=e.getNamespaceDeclarationNode(t);if(r&&!e.isDefaultImport(t)){var a=r.name;return e.isGeneratedIdentifier(a)?a:u(e.getSourceTextOfNodeFromSourceFile(n,r.name))}return 235===t.kind&&t.importClause?p(t):241===t.kind&&t.moduleSpecifier?p(t):void 0}function ya(t,n,r,a,i){var s=e.getExternalModuleName(t);if(9===s.kind)return ba(t,r,a,i)||va(s,n)||o(s)}function va(t,n){if(n.renamedDependencies&&e.hasProperty(n.renamedDependencies,t.text))return c(n.renamedDependencies[t.text])}function ha(t,n,r){if(t)return t.moduleName?c(t.moduleName):e.isDeclarationFile(t)||!r.out&&!r.outFile?void 0:c(e.getExternalModuleNameFromPath(n,t.fileName))}function ba(e,t,n,r){return ha(n.getExternalModuleFileFromDeclaration(e),t,r)}function ka(t){return e.isDeclarationBindingElement(t)?t.initializer:e.isPropertyAssignment(t)?e.isAssignmentExpression(t.initializer,!0)?t.initializer.right:void 0:e.isShorthandPropertyAssignment(t)?t.objectAssignmentInitializer:e.isAssignmentExpression(t,!0)?t.right:e.isSpreadExpression(t)?ka(t.expression):void 0}function xa(t){if(e.isDeclarationBindingElement(t))return t.name;{if(!e.isObjectLiteralElementLike(t))return e.isAssignmentExpression(t,!0)?xa(t.left):e.isSpreadExpression(t)?xa(t.expression):t;switch(t.kind){case 257:return xa(t.initializer);case 258:return t.name;case 259:return xa(t.expression)}}}function Da(e){switch(e.kind){case 144:case 174:return e.dotDotDotToken;case 196:case 259:return e}}function Sa(t){switch(t.kind){case 174:if(t.propertyName){var n=t.propertyName;return e.isComputedPropertyName(n)&&e.isStringOrNumericLiteral(n.expression)?n.expression:n}break;case 257:if(t.name){var n=t.name;return e.isComputedPropertyName(n)&&e.isStringOrNumericLiteral(n.expression)?n.expression:n}break;case 259:return t.name}var r=xa(t);return r&&e.isPropertyName(r)?e.isComputedPropertyName(r)&&e.isStringOrNumericLiteral(r.expression)?r.expression:r:void e.Debug.fail("Invalid property name for binding element.")}function Ca(e){switch(e.kind){case 172:case 173:case 175:return e.elements;case 176:return e.properties}}function Ea(t){if(e.isBindingElement(t)){if(t.dotDotDotToken)return e.Debug.assertNode(t.name,e.isIdentifier),Vr(Se(t.name,t),t);var n=Pa(t.name);return t.initializer?Vr(En(n,t.initializer,t),t):n}return e.Debug.assertNode(t,e.isExpression),t}function Ta(t){if(e.isBindingElement(t)){if(t.dotDotDotToken)return e.Debug.assertNode(t.name,e.isIdentifier),Vr(fn(t.name,t),t);if(t.propertyName){var n=Pa(t.name);return Vr(ln(t.propertyName,t.initializer?En(n,t.initializer):n,t),t)}return e.Debug.assertNode(t.name,e.isIdentifier),Vr(pn(t.name,t.initializer,t),t)}return e.Debug.assertNode(t,e.isObjectLiteralElementLike),t}function Na(e){switch(e.kind){case 173:case 175:return wa(e);case 172:case 176:return Aa(e)}}function Aa(t){return e.isObjectBindingPattern(t)?Vr(J(e.map(t.elements,Ta),t),t):(e.Debug.assertNode(t,e.isObjectLiteralExpression),t)}function wa(t){return e.isArrayBindingPattern(t)?Vr(B(e.map(t.elements,Ea),t),t):(e.Debug.assertNode(t,e.isArrayLiteralExpression),t)}function Pa(t){return e.isBindingPattern(t)?Na(t):(e.Debug.assertNode(t,e.isExpression),t)}function Fa(t,n,r){var a,i=[],o=e.createMap(),s=e.createMap(),u=e.createMap(),_=!1,l=void 0,d=!1,p=ia(t,r),f=p&&St(void 0,void 0,Et(void 0,Nt(p)),c(e.externalHelpersModuleNameText));f&&i.push(f);for(var m=0,g=t.statements;m106)}function G(t,n,r){return void 0===r&&(r=!0),L()===t?(r&&M(),!0):(n?P(n):P(e.Diagnostics._0_expected,e.tokenToString(t)),!1)}function X(e){return L()===e&&(M(),!0)}function Q(e){if(L()===e)return Z()}function Y(e,t,n,r){return Q(e)||ae(e,t,n,r)}function Z(){var e=te(L());return M(),re(e)}function $(){return 24===L()||(17===L()||1===L()||ci.hasPrecedingLineBreak())}function ee(){return $()?(24===L()&&M(),!0):G(24)}function te(e,t){return ri++,t>=0||(t=ci.getStartPos()),e>=141?new Ga(e,t,t):70===e?new Qa(e,t,t):new Xa(e,t,t)}function ne(e,t){var n=e||[];return t>=0||(t=R()),n.pos=t,n.end=t,n}function re(e,t){return e.end=void 0===t?ci.getStartPos():t,si&&(e.flags|=si),_i&&(_i=!1,e.flags|=32768),e}function ae(e,t,n,r){t?F(ci.getStartPos(),0,n,r):P(n,r);var a=te(e,ci.getStartPos());return a.text="",re(a)}function ie(t){return t=e.escapeIdentifier(t),ai[t]||(ai[t]=t)}function oe(t,n){if(ii++,t){var r=te(70);return 70!==L()&&(r.originalKeywordKind=L()),r.text=ie(ci.getTokenValue()),M(),re(r)}return ae(70,!1,n||e.Diagnostics.Identifier_expected)}function se(e){return oe(H(),e)}function ce(){return oe(e.tokenIsIdentifierOrKeyword(L()))}function ue(){return e.tokenIsIdentifierOrKeyword(L())||9===L()||8===L()}function _e(e){return 9===L()||8===L()?Ye(!0):e&&20===L()?fe():ce()}function le(){return _e(!0)}function de(){return _e(!1)}function pe(){return 9===L()||8===L()||e.tokenIsIdentifierOrKeyword(L())}function fe(){var e=te(142);return G(20),e.expression=h(en),G(21),re(e)}function me(e){return L()===e&&W(ye)}function ge(){return M(),!ci.hasPrecedingLineBreak()&&he()}function ye(){return 75===L()?82===M():83===L()?(M(),78===L()?q(be):38!==L()&&117!==L()&&16!==L()&&he()):78===L()?be():114===L()?(M(),he()):ge()}function ve(){return e.isModifierKind(L())&&W(ye)}function he(){return 20===L()||16===L()||38===L()||23===L()||ue()}function be(){return M(),74===L()||88===L()||119===L()&&q(Fr)}function ke(t,n){var r=Fe(t);if(r)return!0;switch(t){case 0:case 1:case 3:return!(24===L()&&n)&&Lr();case 2:return 72===L()||78===L();case 4:return q(bt);case 5:return q(sa)||24===L()&&!n;case 6:return 20===L()||ue();case 12:return 20===L()||38===L()||23===L()||ue();case 17:return ue();case 9:return 20===L()||23===L()||ue();case 7:return 16===L()?q(xe):n?H()&&!Ce():Yt()&&!Ce();case 8:return Hr();case 10:return 25===L()||23===L()||Hr();case 18:return H();case 11:case 15:return 25===L()||23===L()||Zt();case 16:return ct();case 19:case 20:return 25===L()||It();case 21:return ba();case 22:return e.tokenIsIdentifierOrKeyword(L());case 13:return e.tokenIsIdentifierOrKeyword(L())||16===L();case 14:return!0;case 23:case 24:case 26:return pi.isJSDocType();case 25:return pe()}e.Debug.fail("Non-exhaustive case in 'isListElement'.")}function xe(){if(e.Debug.assert(16===L()),17===M()){var t=M();return 25===t||16===t||84===t||107===t}return!0}function De(){return M(),H()}function Se(){return M(),e.tokenIsIdentifierOrKeyword(L())}function Ce(){return(107===L()||84===L())&&q(Ee)}function Ee(){return M(),Zt()}function Te(e){if(1===L())return!0;switch(e){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 22:return 17===L();case 3:return 17===L()||72===L()||78===L();case 7:return 16===L()||84===L()||107===L();case 8:return Ne();case 18:return 28===L()||18===L()||16===L()||84===L()||107===L();case 11:return 19===L()||24===L();case 15:case 20:case 10:return 21===L();case 16:case 17:return 19===L()||21===L();case 19:return 25!==L();case 21:return 16===L()||17===L();case 13:return 28===L()||40===L();case 14:return 26===L()&&q(Fa);case 23:return 19===L()||55===L()||17===L();case 24:return 28===L()||17===L();case 26:return 21===L()||17===L();case 25:return 17===L()}}function Ne(){return!!$()||(!!vn(L())||35===L())}function Ae(){for(var e=0;e<27;e++)if(oi&1<=0&&(a.hasTrailingComma=!0),a.end=I(),oi=r,a}function qe(){return ne()}function We(e,t,n,r){if(G(n)){var a=Ue(e,t);return G(r),a}return qe()}function He(e,t){for(var n=se(t);X(22);){var r=te(141,n.pos);r.left=n,r.right=Ge(e),n=re(r)}return n}function Ge(t){if(ci.hasPrecedingLineBreak()&&e.tokenIsIdentifierOrKeyword(L())){var n=q(Pr);if(n)return ae(70,!0,e.Diagnostics.Identifier_expected)}return t?ce():se()}function Xe(){var t=te(194);t.head=Ze(),e.Debug.assert(13===t.head.kind,"Template head has wrong token kind");var n=ne();do n.push(Qe());while(14===e.lastOrUndefined(n).literal.kind);return n.end=I(),t.templateSpans=n,re(t)}function Qe(){var t=te(202);t.expression=h(en);var n; -return 17===L()?(J(),n=$e()):n=Y(15,!1,e.Diagnostics._0_expected,e.tokenToString(17)),t.literal=n,re(t)}function Ye(e){return et(L(),e)}function Ze(){var t=et(L(),!1);return e.Debug.assert(13===t.kind,"Template head has wrong token kind"),t}function $e(){var t=et(L(),!1);return e.Debug.assert(14===t.kind||15===t.kind,"Template fragment has wrong token kind"),t}function et(t,n){var r=te(t),a=ci.getTokenValue();r.text=n?ie(a):a,ci.hasExtendedUnicodeEscape()&&(r.hasExtendedUnicodeEscape=!0),ci.isUnterminated()&&(r.isUnterminated=!0);var i=ci.getTokenPos();return M(),re(r),8===r.kind&&48===ni.charCodeAt(i)&&e.isOctalDigit(ni.charCodeAt(i+1))&&(r.isOctalLiteral=!0),r}function tt(){var t=He(!1,e.Diagnostics.Type_expected),n=te(157,t.pos);return n.typeName=t,ci.hasPrecedingLineBreak()||26!==L()||(n.typeArguments=We(19,Gt,26,28)),re(n)}function nt(e){M();var t=te(156,e.pos);return t.parameterName=e,t.type=Gt(),re(t)}function rt(){var e=te(167);return M(),re(e)}function at(){var e=te(160);return G(102),e.exprName=He(!0),re(e)}function it(){var e=te(143);return e.name=se(),X(84)&&(It()||!Zt()?e.constraint=Gt():e.expression=wn()),re(e)}function ot(){if(26===L())return We(18,it,26,28)}function st(){if(X(55))return Gt()}function ct(){return 23===L()||Hr()||e.isModifierKind(L())||56===L()||98===L()}function ut(){var t=te(144);return 98===L()?(t.name=oe(!0,void 0),t.type=st(),re(t)):(t.decorators=ca(),t.modifiers=ua(),t.dotDotDotToken=Q(23),t.name=Gr(),0===e.getFullWidth(t.name)&&!e.hasModifiers(t)&&e.isModifierKind(L())&&M(),t.questionToken=Q(54),t.type=st(),t.initializer=_t(!0),u(re(t)))}function _t(e){return e?lt():aa()}function lt(){return tn(!0)}function dt(e,t,n,r,a){var i=35===e;a.typeParameters=ot(),a.parameters=pt(t,n,r),i?(G(e),a.type=Wt()):X(e)&&(a.type=Wt())}function pt(e,t,n){if(G(18)){var r=T(),a=w();f(e),g(t);var i=Ue(16,ut);if(f(r),g(a),!G(19)&&n)return;return i}return n?void 0:qe()}function ft(){X(25)||ee()}function mt(e){var t=te(e);return 154===e&&G(93),dt(55,!1,!1,!1,t),ft(),u(re(t))}function gt(){return 20===L()&&q(yt)}function yt(){if(M(),23===L()||21===L())return!0;if(e.isModifierKind(L())){if(M(),H())return!0}else{if(!H())return!1;M()}return 55===L()||25===L()||54===L()&&(M(),55===L()||25===L()||21===L())}function vt(e,t,n){var r=te(155,e);return r.decorators=t,r.modifiers=n,r.parameters=We(16,ut,20,21),r.type=Qt(),ft(),re(r)}function ht(e,t){var n=le(),r=Q(54);if(18===L()||26===L()){var a=te(148,e);return a.modifiers=t,a.name=n,a.questionToken=r,dt(55,!1,!1,!1,a),ft(),u(re(a))}var i=te(146,e);return i.modifiers=t,i.name=n,i.questionToken=r,i.type=Qt(),57===L()&&(i.initializer=aa()),ft(),u(re(i))}function bt(){var t;if(18===L()||26===L())return!0;for(;e.isModifierKind(L());)t=L(),M();return 20===L()||(ue()&&(t=L(),M()),!!t&&(18===L()||26===L()||54===L()||55===L()||25===L()||$()))}function kt(){if(18===L()||26===L())return mt(153);if(93===L()&&q(xt))return mt(154);var e=R(),t=ua();return gt()?vt(e,void 0,t):ht(e,t)}function xt(){return M(),18===L()||26===L()}function Dt(){var e=te(161);return e.members=St(),re(e)}function St(){var e;return G(16)?(e=we(4,kt),G(17)):e=qe(),e}function Ct(){return M(),130===L()&&M(),20===L()&&De()&&91===M()}function Et(){var e=te(143);return e.name=se(),G(91),e.constraint=Gt(),re(e)}function Tt(){var e=te(170);return G(16),e.readonlyToken=Q(130),G(20),e.typeParameter=Et(),G(21),e.questionToken=Q(54),e.type=Qt(),ee(),G(17),re(e)}function Nt(){var e=te(163);return e.elementTypes=We(20,Gt,20,21),re(e)}function At(){var e=te(166);return G(18),e.type=Gt(),G(19),re(e)}function wt(e){var t=te(e);return 159===e&&G(93),dt(35,!1,!1,!1,t),re(t)}function Pt(){var e=Z();return 22===L()?void 0:e}function Ft(){var e=te(171);return e.literal=Pn(),re(e),e}function Ot(){return 8===M()}function Rt(){switch(L()){case 118:case 134:case 132:case 121:case 135:case 137:case 129:var e=W(Pt);return e||tt();case 9:case 8:case 100:case 85:return Ft();case 37:return q(Ot)?Ft():tt();case 104:case 94:return Z();case 98:var t=rt();return 125!==L()||ci.hasPrecedingLineBreak()?t:nt(t);case 102:return at();case 16:return q(Ct)?Tt():Dt();case 20:return Nt();case 18:return At();default:return tt()}}function It(){switch(L()){case 118:case 134:case 132:case 121:case 135:case 104:case 137:case 94:case 98:case 102:case 129:case 16:case 20:case 26:case 48:case 47:case 93:case 9:case 8:case 100:case 85:return!0;case 37:return q(Ot);case 18:return q(Lt);default:return H()}}function Lt(){return M(),19===L()||ct()||It()}function Mt(){for(var e=Rt();!ci.hasPrecedingLineBreak()&&X(20);)if(It()){var t=te(169,e.pos);t.objectType=e,t.indexType=Gt(),G(21),e=re(t)}else{var t=te(162,e.pos);t.elementType=e,G(21),e=re(t)}return e}function Bt(e){var t=te(168);return G(e),t.operator=e,t.type=Kt(),re(t)}function Kt(){switch(L()){case 126:return Bt(126)}return Mt()}function Jt(e,t,n){X(n);var r=t();if(L()===n){for(var a=ne([r],r.pos);X(n);)a.push(t());a.end=I();var i=te(e,r.pos);i.types=a,r=re(i)}return r}function zt(){return Jt(165,Kt,47)}function jt(){return Jt(164,zt,48)}function Vt(){return 26===L()||18===L()&&q(qt)}function Ut(){if(e.isModifierKind(L())&&ua(),H()||98===L())return M(),!0;if(20===L()||16===L()){var t=$a.length;return Gr(),t===$a.length}return!1}function qt(){if(M(),19===L()||23===L())return!0;if(Ut()){if(55===L()||25===L()||54===L()||57===L())return!0;if(19===L()&&(M(),35===L()))return!0}return!1}function Wt(){var e=H()&&W(Ht),t=Gt();if(e){var n=te(156,e.pos);return n.parameterName=e,n.type=t,re(n)}return t}function Ht(){var e=se();if(125===L()&&!ci.hasPrecedingLineBreak())return M(),e}function Gt(){return y(20480,Xt)}function Xt(){return Vt()?wt(158):93===L()?wt(159):jt()}function Qt(){return X(55)?Gt():void 0}function Yt(){switch(L()){case 98:case 96:case 94:case 100:case 85:case 8:case 9:case 12:case 13:case 18:case 20:case 16:case 88:case 74:case 93:case 40:case 62:case 70:return!0;default:return H()}}function Zt(){if(Yt())return!0;switch(L()){case 36:case 37:case 51:case 50:case 79:case 102:case 104:case 42:case 43:case 26:case 120:case 115:return!0;default:return!!bn()||H()}}function $t(){return 16!==L()&&88!==L()&&74!==L()&&56!==L()&&Zt()}function en(){var e=A();e&&m(!1);for(var t,n=nn();t=Q(25);)n=xn(n,t,nn());return e&&m(!0),n}function tn(e){if(57===L()||!(ci.hasPrecedingLineBreak()||e&&16===L())&&Zt())return G(57),nn()}function nn(){if(rn())return on();var t=cn()||dn();if(t)return t;var n=yn(0);return 70===n.kind&&35===L()?sn(n):e.isLeftHandSideExpression(n)&&e.isAssignmentOperator(B())?xn(n,Z(),nn()):gn(n)}function rn(){return 115===L()&&(!!T()||q(Or))}function an(){return M(),!ci.hasPrecedingLineBreak()&&H()}function on(){var e=te(195);return M(),ci.hasPrecedingLineBreak()||38!==L()&&!Zt()?re(e):(e.asteriskToken=Q(38),e.expression=nn(),re(e))}function sn(t,n){e.Debug.assert(35===L(),"parseSimpleArrowFunctionExpression should only have been called if we had a =>");var r;n?(r=te(185,n.pos),r.modifiers=n):r=te(185,t.pos);var a=te(144,t.pos);return a.name=t,re(a),r.parameters=ne([a],a.pos),r.parameters.end=a.end,r.equalsGreaterThanToken=Y(35,!1,e.Diagnostics._0_expected,"=>"),r.body=mn(!!n),u(re(r))}function cn(){var t=un();if(0!==t){var n=1===t?fn(!0):W(ln);if(n){var r=!!(256&e.getModifierFlags(n)),a=L();return n.equalsGreaterThanToken=Y(35,!1,e.Diagnostics._0_expected,"=>"),n.body=35===a||16===a?mn(r):se(),u(re(n))}}}function un(){return 18===L()||26===L()||119===L()?q(_n):35===L()?1:0}function _n(){if(119===L()){if(M(),ci.hasPrecedingLineBreak())return 0;if(18!==L()&&26!==L())return 0}var t=L(),n=M();if(18===t){if(19===n){var r=M();switch(r){case 35:case 55:case 16:return 1;default:return 0}}return 20===n||16===n?2:23===n?1:H()?55===M()?1:2:0}if(e.Debug.assert(26===t),!H())return 0;if(1===Za.languageVariant){var a=q(function(){var e=M();if(84===e){var t=M();switch(t){case 57:case 28:return!1;default:return!0}}else if(25===e)return!0;return!1});return a?1:0}return 2}function ln(){return fn(!1)}function dn(){if(119===L()){var e=q(pn);if(1===e){var t=_a(),n=yn(0);return sn(n,t)}}}function pn(){if(119===L()){if(M(),ci.hasPrecedingLineBreak()||35===L())return 0;var e=yn(0);if(!ci.hasPrecedingLineBreak()&&70===e.kind&&35===L())return 1}return 0}function fn(t){var n=te(185);n.modifiers=_a();var r=!!(256&e.getModifierFlags(n));if(dt(55,!1,r,!t,n),n.parameters&&(t||35===L()||16===L()))return n}function mn(e){return 16===L()?pr(!1,e,!1):24!==L()&&88!==L()&&74!==L()&&Lr()&&!$t()?pr(!1,e,!0):e?D(nn):S(nn)}function gn(t){var n=Q(54);if(!n)return t;var r=te(193,t.pos);return r.condition=t,r.questionToken=n,r.whenTrue=y(ui,nn),r.colonToken=Y(55,!1,e.Diagnostics._0_expected,e.tokenToString(55)),r.whenFalse=nn(),re(r)}function yn(e){var t=wn();return hn(e,t)}function vn(e){return 91===e||140===e}function hn(e,t){for(;;){B();var n=kn(),r=39===L()?n>=e:n>e;if(!r)break;if(91===L()&&N())break;if(117===L()){if(ci.hasPrecedingLineBreak())break;M(),t=Dn(t,Gt())}else t=xn(t,Z(),yn(n))}return t}function bn(){return(!N()||91!==L())&&kn()>0}function kn(){switch(L()){case 53:return 1;case 52:return 2;case 48:return 3;case 49:return 4;case 47:return 5;case 31:case 32:case 33:case 34:return 6;case 26:case 28:case 29:case 30:case 92:case 91:case 117:return 7;case 44:case 45:case 46:return 8;case 36:case 37:return 9;case 38:case 40:case 41:return 10;case 39:return 11}return-1}function xn(e,t,n){var r=te(192,e.pos);return r.left=e,r.operatorToken=t,r.right=n,re(r)}function Dn(e,t){var n=te(200,e.pos);return n.expression=e,n.type=t,re(n)}function Sn(){var e=te(190);return e.operator=L(),M(),e.operand=Pn(),re(e)}function Cn(){var e=te(186);return M(),e.expression=Pn(),re(e)}function En(){var e=te(187);return M(),e.expression=Pn(),re(e)}function Tn(){var e=te(188);return M(),e.expression=Pn(),re(e)}function Nn(){return 120===L()&&(!!w()||q(an))}function An(){var e=te(189);return M(),e.expression=Pn(),re(e)}function wn(){if(Fn()){var t=On();return 39===L()?hn(kn(),t):t}var n=L(),r=Pn();if(39===L()){var a=e.skipTrivia(ni,r.pos);182===r.kind?F(a,r.end-a,e.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):F(a,r.end-a,e.Diagnostics.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,e.tokenToString(n))}return r}function Pn(){switch(L()){case 36:case 37:case 51:case 50:return Sn();case 79:return Cn();case 102:return En();case 104:return Tn();case 26:return Gn();case 120:if(Nn())return An();default:return On()}}function Fn(){switch(L()){case 36:case 37:case 51:case 50:case 79:case 102:case 104:case 120:return!1;case 26:if(1!==Za.languageVariant)return!1;default:return!0}}function On(){if(42===L()||43===L()){var t=te(190);return t.operator=L(),M(),t.operand=Rn(),re(t)}if(1===Za.languageVariant&&26===L()&&q(Se))return Bn(!0);var n=Rn();if(e.Debug.assert(e.isLeftHandSideExpression(n)),(42===L()||43===L())&&!ci.hasPrecedingLineBreak()){var t=te(191,n.pos);return t.operand=n,t.operator=L(),M(),re(t)}return n}function Rn(){var e=96===L()?Ln():In();return Qn(e)}function In(){var e=er();return Xn(e)}function Ln(){var t=Z();if(18===L()||22===L()||20===L())return t;var n=te(177,t.pos);return n.expression=t,Y(22,!1,e.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access),n.name=Ge(!0),re(n)}function Mn(e,t){return e.kind===t.kind&&(70===e.kind?e.text===t.text:98===e.kind||e.name.text===t.name.text&&Mn(e.expression,t.expression))}function Bn(t){var n,r=jn(t);if(248===r.kind){var a=te(246,r.pos);a.openingElement=r,a.children=zn(a.openingElement.tagName),a.closingElement=Hn(t),Mn(a.openingElement.tagName,a.closingElement.tagName)||F(a.closingElement.pos,a.closingElement.end-a.closingElement.pos,e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,e.getTextOfNodeFromSourceText(ni,a.openingElement.tagName)),n=re(a)}else e.Debug.assert(247===r.kind),n=r;if(t&&26===L()){var i=W(function(){return Bn(!0)});if(i){P(e.Diagnostics.JSX_expressions_must_have_one_parent_element);var o=te(192,n.pos);return o.end=i.end,o.left=n,o.right=i,o.operatorToken=ae(25,!1,void 0),o.operatorToken.pos=o.operatorToken.end=o.right.pos,o}}return n}function Kn(){var e=te(10,ci.getStartPos());return ti=ci.scanJsxToken(),re(e)}function Jn(){switch(L()){case 10:return Kn();case 16:return Un(!1);case 26:return Bn(!1)}e.Debug.fail("Unknown JSX child kind "+L())}function zn(t){var n=ne(),r=oi;for(oi|=16384;;){if(ti=ci.reScanJsxToken(),27===L())break;if(1===L()){F(t.pos,t.end-t.pos,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(ni,t));break}n.push(Jn())}return n.end=ci.getTokenPos(),oi=r,n}function jn(e){var t=ci.getStartPos();G(26);var n,r=Vn(),a=we(13,qn);return 28===L()?(n=te(248,t),j()):(G(40),e?G(28):(G(28,void 0,!1),j()),n=te(247,t)),n.tagName=r,n.attributes=a,re(n)}function Vn(){z();for(var e=98===L()?Z():ce();X(22);){var t=te(177,e.pos);t.expression=e,t.name=Ge(!0),e=re(t)}return e}function Un(e){var t=te(252);return G(16),17!==L()&&(t.expression=nn()),e?G(17):(G(17,void 0,!1),j()),re(t)}function qn(){if(16===L())return Wn();z();var e=te(250);if(e.name=ce(),57===L())switch(V()){case 9:e.initializer=Ye();break;default:e.initializer=Un(!0)}return re(e)}function Wn(){var e=te(251);return G(16),G(23),e.expression=en(),G(17),re(e)}function Hn(e){var t=te(249);return G(27),t.tagName=Vn(),e?G(28):(G(28,void 0,!1),j()),re(t)}function Gn(){var e=te(182);return G(26),e.type=Gt(),G(28),e.expression=Pn(),re(e)}function Xn(e){for(;;){var t=Q(22);if(t){var n=te(177,e.pos);n.expression=e,n.name=Ge(!0),e=re(n)}else if(50!==L()||ci.hasPrecedingLineBreak())if(A()||!X(20)){if(12!==L()&&13!==L())return e;var r=te(181,e.pos);r.tag=e,r.template=12===L()?Ye():Xe(),e=re(r)}else{var a=te(178,e.pos);if(a.expression=e,21!==L()&&(a.argumentExpression=h(en),9===a.argumentExpression.kind||8===a.argumentExpression.kind)){var i=a.argumentExpression;i.text=ie(i.text)}G(21),e=re(a)}else{M();var o=te(201,e.pos);o.expression=e,e=re(o)}}}function Qn(e){for(;;)if(e=Xn(e),26!==L()){if(18!==L())return e;var t=te(179,e.pos);t.expression=e,t.arguments=Yn(),e=re(t)}else{var n=W(Zn);if(!n)return e;var t=te(179,e.pos);t.expression=e,t.typeArguments=n,t.arguments=Yn(),e=re(t)}}function Yn(){G(18);var e=Ue(11,ar);return G(19),e}function Zn(){if(X(26)){var e=Ue(19,Gt);if(G(28))return e&&$n()?e:void 0}}function $n(){switch(L()){case 18:case 22:case 19:case 21:case 55:case 24:case 54:case 31:case 33:case 32:case 34:case 52:case 53:case 49:case 47:case 48:case 17:case 1:return!0;case 25:case 16:default:return!1}}function er(){switch(L()){case 8:case 9:case 12:return Ye();case 98:case 96:case 94:case 100:case 85:return Z();case 18:return tr();case 20:return ir();case 16:return cr();case 119:if(!q(Fr))break;return ur();case 74:return da();case 88:return ur();case 93:return lr();case 40:case 62:if(11===K())return Ye();break;case 13:return Xe()}return se(e.Diagnostics.Expression_expected)}function tr(){var e=te(183);return G(18),e.expression=h(en),G(19),re(e)}function nr(){var e=te(196);return G(23),e.expression=nn(),re(e)}function rr(){return 23===L()?nr():25===L()?te(198):nn()}function ar(){return y(ui,rr)}function ir(){var e=te(175);return G(20),ci.hasPrecedingLineBreak()&&(e.multiLine=!0),e.elements=Ue(15,rr),G(21),re(e)}function or(e,t,n){return me(124)?ia(151,e,t,n):me(133)?ia(152,e,t,n):void 0}function sr(){var e=ci.getStartPos(),t=Q(23);if(t){var n=te(259,e);return n.expression=nn(),u(re(n))}var r=ca(),a=ua(),i=or(e,r,a);if(i)return i;var o=Q(38),s=H(),c=le(),_=Q(54);if(o||18===L()||26===L())return ta(e,r,a,o,c,_);var l=s&&(25===L()||17===L()||57===L());if(l){var d=te(258,e);d.name=c,d.questionToken=_;var p=Q(57);return p&&(d.equalsToken=p,d.objectAssignmentInitializer=h(nn)),u(re(d))}var f=te(257,e);return f.modifiers=a,f.name=c,f.questionToken=_,G(55),f.initializer=h(nn),u(re(f))}function cr(){var e=te(176);return G(16),ci.hasPrecedingLineBreak()&&(e.multiLine=!0),e.properties=Ue(12,sr,!0),G(17),re(e)}function ur(){var t=A();t&&m(!1);var n=te(184);n.modifiers=ua(),G(88),n.asteriskToken=Q(38);var r=!!n.asteriskToken,a=!!(256&e.getModifierFlags(n));return n.name=r&&a?C(_r):r?k(_r):a?D(_r):_r(),dt(55,r,a,!1,n),n.body=pr(r,a,!1),t&&m(!0),u(re(n))}function _r(){return H()?se():void 0}function lr(){var e=te(180);return G(93),e.expression=In(),e.typeArguments=W(Zn),(e.typeArguments||18===L())&&(e.arguments=Yn()),re(e)}function dr(e,t){var n=te(204);return G(16,t)||e?(ci.hasPrecedingLineBreak()&&(n.multiLine=!0),n.statements=we(1,Kr),G(17)):n.statements=qe(),re(n)}function pr(e,t,n,r){var a=T();f(e);var i=w();g(t);var o=A();o&&m(!1);var s=dr(n,r);return o&&m(!0),f(a),g(i),s}function fr(){var e=te(206);return G(24),re(e)}function mr(){var e=te(208);return G(89),G(18),e.expression=h(en),G(19),e.thenStatement=Kr(),e.elseStatement=X(81)?Kr():void 0,re(e)}function gr(){var e=te(209);return G(80),e.statement=Kr(),G(105),G(18),e.expression=h(en),G(19),X(24),re(e)}function yr(){var e=te(210);return G(105),G(18),e.expression=h(en),G(19),e.statement=Kr(),re(e)}function vr(){var e=R();G(87),G(18);var t=void 0;24!==L()&&(t=103===L()||109===L()||75===L()?Qr(!0):b(en));var n;if(X(91)){var r=te(212,e);r.initializer=t,r.expression=h(en),G(19),n=r}else if(X(140)){var a=te(213,e);a.initializer=t,a.expression=h(nn),G(19),n=a}else{var i=te(211,e);i.initializer=t,G(24),24!==L()&&19!==L()&&(i.condition=h(en)),G(24),19!==L()&&(i.incrementor=h(en)),G(19),n=i}return n.statement=Kr(),re(n)}function hr(e){var t=te(e);return G(215===e?71:76),$()||(t.label=se()),ee(),re(t)}function br(){var e=te(216);return G(95),$()||(e.expression=h(en)),ee(),re(e)}function kr(){var e=te(217);return G(106),G(18),e.expression=h(en),G(19),e.statement=Kr(),re(e)}function xr(){var e=te(253);return G(72),e.expression=h(en),G(55),e.statements=we(3,Kr),re(e)}function Dr(){var e=te(254);return G(78),G(55),e.statements=we(3,Kr),re(e)}function Sr(){return 72===L()?xr():Dr()}function Cr(){var e=te(218);G(97),G(18),e.expression=h(en),G(19);var t=te(232,ci.getStartPos());return G(16),t.clauses=we(2,Sr),G(17),e.caseBlock=re(t),re(e)}function Er(){var e=te(220);return G(99),e.expression=ci.hasPrecedingLineBreak()?void 0:h(en),ee(),re(e)}function Tr(){var e=te(221);return G(101),e.tryBlock=dr(!1),e.catchClause=73===L()?Nr():void 0,e.catchClause&&86!==L()||(G(86),e.finallyBlock=dr(!1)),re(e)}function Nr(){var e=te(256);return G(73),G(18)&&(e.variableDeclaration=Xr()),G(19),e.block=dr(!1),re(e)}function Ar(){var e=te(222);return G(77),ee(),re(e)}function wr(){var e=ci.getStartPos(),t=h(en);if(70===t.kind&&X(55)){var n=te(219,e);return n.label=t,n.statement=Kr(),u(re(n))}var r=te(207,e);return r.expression=t,ee(),u(re(r))}function Pr(){return M(),e.tokenIsIdentifierOrKeyword(L())&&!ci.hasPrecedingLineBreak()}function Fr(){return M(),88===L()&&!ci.hasPrecedingLineBreak()}function Or(){return M(),(e.tokenIsIdentifierOrKeyword(L())||8===L())&&!ci.hasPrecedingLineBreak()}function Rr(){for(;;)switch(L()){case 103:case 109:case 75:case 88:case 74:case 82:return!0;case 108:case 136:return an();case 127:case 128:return zr();case 116:case 119:case 123:case 111:case 112:case 113:case 130:if(M(),ci.hasPrecedingLineBreak())return!1;continue;case 139:return M(),16===L()||70===L()||83===L();case 90:return M(),9===L()||38===L()||16===L()||e.tokenIsIdentifierOrKeyword(L());case 83:if(M(),57===L()||38===L()||16===L()||78===L()||117===L())return!0;continue;case 114:M();continue;default:return!1}}function Ir(){return q(Rr)}function Lr(){switch(L()){case 56:case 24:case 16:case 103:case 109:case 88:case 74:case 82:case 89:case 80:case 105:case 87:case 76:case 71:case 95:case 106:case 97:case 99:case 101:case 77:case 73:case 86:return!0;case 75:case 83:case 90:return Ir();case 119:case 123:case 108:case 127:case 128:case 136:case 139:return!0;case 113:case 111:case 112:case 114:case 130:return Ir()||!q(Pr);default:return Zt()}}function Mr(){return M(),H()||16===L()||20===L()}function Br(){return q(Mr)}function Kr(){switch(L()){case 24:return fr();case 16:return dr(!1);case 103:return Zr(ci.getStartPos(),void 0,void 0);case 109:if(Br())return Zr(ci.getStartPos(),void 0,void 0);break;case 88:return $r(ci.getStartPos(),void 0,void 0);case 74:return pa(ci.getStartPos(),void 0,void 0);case 89:return mr();case 80:return gr();case 105:return yr();case 87:return vr();case 76:return hr(214);case 71:return hr(215);case 95:return br();case 106:return kr();case 97:return Cr();case 99:return Er();case 101:case 73:case 86:return Tr();case 77:return Ar();case 56:return Jr();case 119:case 108:case 136:case 127:case 128:case 123:case 75:case 82:case 83:case 90:case 111:case 112:case 113:case 116:case 114:case 130:case 139:if(Ir())return Jr()}return wr()}function Jr(){var t=R(),n=ca(),r=ua();switch(L()){case 103:case 109:case 75:return Zr(t,n,r);case 88:return $r(t,n,r);case 74:return pa(t,n,r);case 108:return xa(t,n,r);case 136:return Da(t,n,r);case 82:return Ca(t,n,r);case 139:case 127:case 128:return Aa(t,n,r);case 90:return Ra(t,n,r);case 83:switch(M(),L()){case 78:case 57:return qa(t,n,r);case 117:return Oa(t,n,r);default:return Ua(t,n,r)}default:if(n||r){var a=ae(244,!0,e.Diagnostics.Declaration_expected);return a.pos=t,a.decorators=n,a.modifiers=r,re(a)}}}function zr(){return M(),!ci.hasPrecedingLineBreak()&&(H()||9===L())}function jr(e,t,n){return 16!==L()&&$()?void ee():pr(e,t,!1,n)}function Vr(){if(25===L())return te(198);var e=te(174);return e.dotDotDotToken=Q(23),e.name=Gr(),e.initializer=_t(!1),re(e)}function Ur(){var e=te(174);e.dotDotDotToken=Q(23);var t=H(),n=le();return t&&55!==L()?e.name=n:(G(55),e.propertyName=n,e.name=Gr()),e.initializer=_t(!1),re(e)}function qr(){var e=te(172);return G(16),e.elements=Ue(9,Ur),G(17),re(e)}function Wr(){var e=te(173);return G(20),e.elements=Ue(10,Vr),G(21),re(e)}function Hr(){return 16===L()||20===L()||H()}function Gr(){return 20===L()?Wr():16===L()?qr():se()}function Xr(){var e=te(223);return e.name=Gr(),e.type=Qt(),vn(L())||(e.initializer=tn(!1)),re(e)}function Qr(t){var n=te(224);switch(L()){case 103:break;case 109:n.flags|=1;break;case 75:n.flags|=2;break;default:e.Debug.fail()}if(M(),140===L()&&q(Yr))n.declarations=qe();else{var r=N();p(t),n.declarations=Ue(8,Xr),p(r)}return re(n)}function Yr(){return De()&&19===M()}function Zr(e,t,n){var r=te(205,e);return r.decorators=t,r.modifiers=n,r.declarationList=Qr(!1),ee(),u(re(r))}function $r(t,n,r){var a=te(225,t);a.decorators=n,a.modifiers=r,G(88),a.asteriskToken=Q(38),a.name=e.hasModifier(a,512)?_r():se();var i=!!a.asteriskToken,o=e.hasModifier(a,256);return dt(55,i,o,!1,a),a.body=jr(i,o,e.Diagnostics.or_expected),u(re(a))}function ea(t,n,r){var a=te(150,t);return a.decorators=n,a.modifiers=r,G(122),dt(55,!1,!1,!1,a),a.body=jr(!1,!1,e.Diagnostics.or_expected),u(re(a))}function ta(t,n,r,a,i,o,s){var c=te(149,t);c.decorators=n,c.modifiers=r,c.asteriskToken=a,c.name=i,c.questionToken=o;var _=!!a,l=e.hasModifier(c,256);return dt(55,_,l,!1,c),c.body=jr(_,l,s),u(re(c))}function na(t,n,r,a,i){var o=te(147,t);return o.decorators=n,o.modifiers=r,o.name=a,o.questionToken=i,o.type=Qt(),o.initializer=e.hasModifier(o,32)?h(aa):y(6144,aa),ee(),u(re(o))}function ra(t,n,r){var a=Q(38),i=le(),o=Q(54);return a||18===L()||26===L()?ta(t,n,r,a,i,o,e.Diagnostics.or_expected):na(t,n,r,i,o)}function aa(){return tn(!1)}function ia(e,t,n,r){var a=te(e,t);return a.decorators=n,a.modifiers=r,a.name=le(),dt(55,!1,!1,!1,a),a.body=jr(!1,!1),u(re(a))}function oa(e){switch(e){case 113:case 111:case 112:case 114:case 130:return!0;default:return!1}}function sa(){var t;if(56===L())return!0;for(;e.isModifierKind(L());){if(t=L(),oa(t))return!0;M()}if(38===L())return!0;if(ue()&&(t=L(),M()),20===L())return!0;if(void 0!==t){if(!e.isKeyword(t)||133===t||124===t)return!0;switch(L()){case 18:case 26:case 55:case 57:case 54:return!0;default:return $()}}return!1}function ca(){for(var e;;){var t=R();if(!X(56))break;var n=te(145,t);n.expression=x(Rn),re(n),e?e.push(n):e=ne([n],t)}return e&&(e.end=I()),e}function ua(e){for(var t;;){var n=ci.getStartPos(),r=L();if(75===L()&&e){if(!W(ge))break}else if(!ve())break;var a=re(te(r,n));t?t.push(a):t=ne([a],n)}return t&&(t.end=ci.getStartPos()),t}function _a(){var e;if(119===L()){var t=ci.getStartPos(),n=L();M();var r=re(te(n,t));e=ne([r],t),e.end=ci.getStartPos()}return e}function la(){if(24===L()){var t=te(203);return M(),re(t)}var n=R(),r=ca(),a=ua(!0),i=or(n,r,a);if(i)return i;if(122===L())return ea(n,r,a);if(gt())return vt(n,r,a);if(e.tokenIsIdentifierOrKeyword(L())||9===L()||8===L()||38===L()||20===L())return ra(n,r,a);if(r||a){var o=ae(70,!0,e.Diagnostics.Declaration_expected);return na(n,r,a,o,void 0)}e.Debug.fail("Should not have attempted to parse class member declaration.")}function da(){return fa(ci.getStartPos(),void 0,void 0,197)}function pa(e,t,n){return fa(e,t,n,226)}function fa(e,t,n,r){var a=te(r,e);return a.decorators=t,a.modifiers=n,G(74),a.name=ma(),a.typeParameters=ot(),a.heritageClauses=ya(),G(16)?(a.members=ka(),G(17)):a.members=qe(),u(re(a))}function ma(){return H()&&!ga()?se():void 0}function ga(){return 107===L()&&q(Se)}function ya(){if(ba())return we(21,va)}function va(){if(84===L()||107===L()){var e=te(255);return e.token=L(),M(),e.types=Ue(7,ha),re(e)}}function ha(){var e=te(199);return e.expression=Rn(),26===L()&&(e.typeArguments=We(19,Gt,26,28)),re(e)}function ba(){return 84===L()||107===L()}function ka(){return we(5,la)}function xa(e,t,n){var r=te(227,e);return r.decorators=t,r.modifiers=n,G(108),r.name=se(),r.typeParameters=ot(),r.heritageClauses=ya(),r.members=St(),u(re(r))}function Da(e,t,n){var r=te(228,e);return r.decorators=t,r.modifiers=n,G(136),r.name=se(),r.typeParameters=ot(),G(57),r.type=Gt(),ee(),u(re(r))}function Sa(){var e=te(260,ci.getStartPos());return e.name=le(),e.initializer=h(aa),u(re(e))}function Ca(e,t,n){var r=te(229,e);return r.decorators=t,r.modifiers=n,G(82),r.name=se(),G(16)?(r.members=Ue(6,Sa),G(17)):r.members=qe(),u(re(r))}function Ea(){var e=te(231,ci.getStartPos());return G(16)?(e.statements=we(1,Kr),G(17)):e.statements=qe(),re(e)}function Ta(e,t,n,r){var a=te(230,e),i=16&r;return a.decorators=t,a.modifiers=n,a.flags|=r,a.name=se(),a.body=X(22)?Ta(R(),void 0,void 0,4|i):Ea(),u(re(a))}function Na(e,t,n){var r=te(230,e);return r.decorators=t,r.modifiers=n,139===L()?(r.name=se(),r.flags|=512):r.name=Ye(!0),16===L()?r.body=Ea():ee(),re(r)}function Aa(e,t,n){var r=0;if(139===L())return Na(e,t,n);if(X(128))r|=16;else if(G(127),9===L())return Na(e,t,n);return Ta(e,t,n,r)}function wa(){return 131===L()&&q(Pa)}function Pa(){return 18===M()}function Fa(){return 40===M()}function Oa(e,t,n){var r=te(233,e);return r.decorators=t,r.modifiers=n,G(117),G(128),r.name=se(),ee(),re(r)}function Ra(e,t,n){G(90);var r,a=ci.getStartPos();if(H()&&(r=se(),25!==L()&&138!==L())){var i=te(234,e);return i.decorators=t,i.modifiers=n,i.name=r,G(57),i.moduleReference=La(),ee(),u(re(i))}var o=te(235,e);return o.decorators=t,o.modifiers=n,(r||38===L()||16===L())&&(o.importClause=Ia(r,a),G(138)),o.moduleSpecifier=Ba(),ee(),re(o)}function Ia(e,t){var n=te(236,t);return e&&(n.name=e),n.name&&!X(25)||(n.namedBindings=38===L()?Ka():Ja(238)),re(n)}function La(){return wa()?Ma():He(!1)}function Ma(){var e=te(245);return G(131),G(18),e.expression=Ba(),G(19),re(e)}function Ba(){if(9===L()){var e=Ye();return ie(e.text),e}return en()}function Ka(){var e=te(237);return G(38),G(117),e.name=se(),re(e)}function Ja(e){var t=te(e);return t.elements=We(22,238===e?ja:za,16,17),re(t)}function za(){return Va(243)}function ja(){return Va(239)}function Va(t){var n=te(t),r=e.isKeyword(L())&&!H(),a=ci.getTokenPos(),i=ci.getTextPos(),o=ce();return 117===L()?(n.propertyName=o,G(117),r=e.isKeyword(L())&&!H(),a=ci.getTokenPos(),i=ci.getTextPos(),n.name=ce()):n.name=o,239===t&&r&&F(a,i-a,e.Diagnostics.Identifier_expected),re(n)}function Ua(e,t,n){var r=te(241,e);return r.decorators=t,r.modifiers=n,X(38)?(G(138),r.moduleSpecifier=Ba()):(r.exportClause=Ja(242),(138===L()||9===L()&&!ci.hasPrecedingLineBreak())&&(G(138),r.moduleSpecifier=Ba())),ee(),re(r)}function qa(e,t,n){var r=te(240,e);return r.decorators=t,r.modifiers=n,X(57)?r.isExportEquals=!0:G(78),r.expression=nn(),ee(),re(r)}function Wa(t){for(var n,r=e.createScanner(t.languageVersion,!1,0,ni),a=[],i=[],o=[];;){var s=r.scan();if(2!==s){if(e.isTrivia(s))continue;break}var c={pos:r.getTokenPos(),end:r.getTextPos(),kind:r.getToken()},u=ni.substring(c.pos,c.end),_=e.getFileReferenceFromReferencePath(u,c);if(_){var l=_.fileReference;t.hasNoDefaultLib=_.isNoDefaultLib;var d=_.diagnosticMessage;l&&(_.isTypeReferenceDirective?i.push(l):a.push(l)),d&&$a.push(e.createFileDiagnostic(t,c.pos,c.end-c.pos,d))}else{var p=/^\/\/\/\s*".length;return F(n,r-n,e.Diagnostics.Type_argument_list_cannot_be_empty)}}function b(e){var t=te(141,e.pos);return t.left=e,t.right=ce(),re(t)}function k(){var e=te(270);return e.literal=Dt(),re(e)}function x(){var e=te(269);return M(),e.type=c(),re(e)}function D(){var e=te(267);return M(),e.types=Ue(26,c),S(e.types),G(21),re(e)}function S(t){if(0===$a.length&&t.hasTrailingComma){var n=t.end-",".length;F(n,",".length,e.Diagnostics.Trailing_comma_not_allowed)}}function C(){var e=te(266);return M(),e.types=E(c()),G(19),re(e)}function E(t){e.Debug.assert(!!t);for(var n=ne([t],t.pos);X(48);)n.push(c());return n.end=ci.getStartPos(),n}function T(){var e=te(263);return M(),re(e)}function N(){var e=te(288);return e.literal=Ft(),re(e)}function A(){var e=ci.getStartPos();if(M(),25===L()||17===L()||19===L()||28===L()||57===L()||48===L()){var t=te(264,e);return re(t)}var t=te(268,e);return t.type=c(),re(t)}function w(e,t,n){o(e,5,void 0,1),Za={languageVariant:0,text:e};var r=R(t,n),a=$a;return s(),r?{jsDoc:r,diagnostics:a}:void 0}function O(e,t,n){var r=ti,a=$a.length,i=_i,o=R(t,n);return o&&(o.parent=e),ti=r,$a.length=a,_i=i,o}function R(t,n){function r(e){for(;e.length&&("\n"===e[0]||"\r"===e[0]);)e.shift()}function i(e){for(;e.length&&("\n"===e[e.length-1]||"\r"===e[e.length-1]);)e.pop()}function o(e,t){return 47===e.charCodeAt(t)&&42===e.charCodeAt(t+1)&&42===e.charCodeAt(t+2)&&42!==e.charCodeAt(t+3)}function s(){var e=te(278,t);return e.tags=T,e.comment=A.length?A.join(""):void 0,re(e,E)}function c(){for(;5===L()||4===L();)x()}function u(t){e.Debug.assert(56===L());var n=te(56,ci.getTokenPos());n.end=ci.getTextPos(),x();var r=D();if(c(),r){var a;if(r)switch(r.text){case"augments":a=v(n,r);break;case"param":a=f(n,r);break;case"return":case"returns":a=m(n,r);break;case"template":a=k(n,r);break;case"type":a=g(n,r);break;case"typedef":a=h(n,r);break;default:a=l(n,r)}else a=l(n,r);a&&d(a,_(t+a.end-a.pos))}}function _(e){function t(t){n||(n=e),a.push(t),e+=t.length}for(var n,a=[],o=1;56!==L()&&1!==L();){switch(L()){case 4:o>=1&&(o=0,a.push(ci.getTokenText())),e=0;break;case 56:break;case 5:if(2===o)t(ci.getTokenText());else{var s=ci.getTokenText();void 0!==n&&e+s.length>n&&a.push(s.slice(n-e-1)),e+=s.length}break;case 38:if(0===o){o=1,e+=ci.getTokenText().length;break}default:o=2,t(ci.getTokenText())}if(56===L())break;x()}return r(a),i(a),a}function l(e,t){var n=te(279,e.pos);return n.atToken=e,n.tagName=t,re(n)}function d(e,t){e.comment=t.join(""),T?T.push(e):T=ne([e],e.pos),T.end=e.end}function p(){return W(function(){if(c(),16===L())return a()})}function f(t,n){var r=p();c();var a,i;if(Q(20)?(a=D(),c(),i=!0,Q(57)&&en(),G(21)):e.tokenIsIdentifierOrKeyword(L())&&(a=D()),!a)return void F(ci.getStartPos(),0,e.Diagnostics.Identifier_expected);var o,s;r?s=a:o=a,r||(r=p());var u=te(281,t.pos);return u.atToken=t,u.tagName=n,u.preParameterName=o,u.typeExpression=r,u.postParameterName=s,u.parameterName=s||o,u.isBracketed=i,re(u)}function m(t,n){e.forEach(T,function(e){return 282===e.kind})&&F(n.pos,ci.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.text);var r=te(282,t.pos);return r.atToken=t,r.tagName=n,r.typeExpression=p(),re(r)}function g(t,n){e.forEach(T,function(e){return 283===e.kind})&&F(n.pos,ci.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.text);var r=te(283,t.pos);return r.atToken=t,r.tagName=n,r.typeExpression=p(),re(r)}function y(t,n){var r=p();c();var a=D();if(c(),!a)return void F(ci.getStartPos(),0,e.Diagnostics.Identifier_expected);var i=te(286,t.pos);return i.atToken=t,i.tagName=n,i.name=a,i.typeExpression=r,re(i)}function v(e,t){var n=p(),r=te(280,e.pos);return r.atToken=e,r.tagName=t,r.typeExpression=n,re(r)}function h(e,t){function n(){for(var e=te(287,ci.getStartPos()),t=ci.getStartPos(),n=!0,r=!1,a=!1;1!==L()&&!a;)switch(x(),L()){case 56:n&&(a=!b(e),a||(t=ci.getStartPos())),r=!1;break;case 4:t=ci.getStartPos()-1,n=!0,r=!1;break;case 38:r&&(n=!1),r=!0;break;case 70:n=!1;case 1:}return ci.setTextPos(t),re(e)}function r(e){var t=ci.getTokenPos(),n=D();if(n&&X(22)){var a=te(230,t);return a.flags|=e,a.name=n,a.body=r(4),a}return n&&4&e&&(n.isInJSDocNamespace=!0),n}var a=p();c();var i=te(285,e.pos);if(i.atToken=e,i.tagName=t,i.fullName=r(0),i.fullName){for(var o=i.fullName;70!==o.kind;)o=o.body;i.name=o}if(i.typeExpression=a,c(),a){if(272===a.type.kind){var s=a.type;if(70===s.name.kind){var u=s.name;"Object"===u.text&&(i.jsDocTypeLiteral=n())}}i.jsDocTypeLiteral||(i.jsDocTypeLiteral=a.type)}else i.jsDocTypeLiteral=n();return re(i)}function b(t){e.Debug.assert(56===L());var n=te(56,ci.getStartPos());n.end=ci.getTextPos(),x();var r=D();if(c(),!r)return!1;switch(r.text){case"type":return!t.jsDocTypeTag&&(t.jsDocTypeTag=g(n,r),!0);case"prop":case"property":var a=y(n,r);return!!a&&(t.jsDocPropertyTags||(t.jsDocPropertyTags=[]),t.jsDocPropertyTags.push(a),!0)}return!1}function k(t,n){e.forEach(T,function(e){return 284===e.kind})&&F(n.pos,ci.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.text);for(var r=ne();;){var a=D();if(c(),!a)return void F(ci.getStartPos(),0,e.Diagnostics.Identifier_expected);var i=te(143,a.pos);if(i.name=a,re(i),r.push(i),25!==L())break;x(),c()}var o=te(284,t.pos);return o.atToken=t,o.tagName=n,o.typeParameters=r,re(o),r.end=o.end,o}function x(){return ti=ci.scanJSDocToken()}function D(){return S(e.tokenIsIdentifierOrKeyword(L()))}function S(t){if(!t)return void P(e.Diagnostics.Identifier_expected);var n=ci.getTokenPos(),r=ci.getTextPos(),a=te(70,n);return a.text=C.substring(n,r),re(a,r),x(),a}var C=ni;t=t||0;var E=void 0===n?C.length:t+n;n=E-t,e.Debug.assert(t>=0),e.Debug.assert(t<=E),e.Debug.assert(E<=C.length);var T,N,A=[];return o(C,t)?(ci.scanRange(t+3,n-5,function(){function e(e){o||(o=c),A.push(e),c+=e.length}var n=!0,a=1,o=void 0,c=t-Math.max(C.lastIndexOf("\n",t),0)+4;for(x();5===L();)x();for(4===L()&&(a=0,c=0,x());1!==L();){switch(L()){case 56:0===a||1===a?(i(A),u(c),a=0,n=!1,o=void 0,c++):e(ci.getTokenText());break;case 4:A.push(ci.getTokenText()),a=0,c=0;break;case 38:var _=ci.getTokenText();1===a?(a=2,e(_)):(a=1,c+=_.length);break;case 70:e(ci.getTokenText()),a=2;break;case 5:var l=ci.getTokenText();(2===a||void 0!==o&&c+l.length>o)&&A.push(l.slice(o-c-1)),c+=l.length;break;case 1:break;default:e(ci.getTokenText())}n?x():n=!0}r(A),i(A),N=s()}),N):N}t.isJSDocType=n,t.parseJSDocTypeExpressionForTests=r,t.parseJSDocTypeExpression=a,t.parseIsolatedJSDocComment=w,t.parseJSDocComment=O;var I;!function(e){e[e.BeginningOfLine=0]="BeginningOfLine",e[e.SawAsterisk=1]="SawAsterisk",e[e.SavingComments=2]="SavingComments"}(I||(I={})),t.parseJSDocCommentWorker=R}(pi=t.JSDocParser||(t.JSDocParser={}))}(g||(g={}));var y;!function(t){function n(t,n,r,a){if(a=a||e.Debug.shouldAssert(2),l(t,n,r,a),e.textChangeRangeIsUnchanged(r))return t;if(0===t.statements.length)return g.parseSourceFile(t.fileName,n,t.languageVersion,void 0,!0,t.scriptKind);var i=t;e.Debug.assert(!i.hasBeenIncrementallyParsed),i.hasBeenIncrementallyParsed=!0;var o=t.text,s=d(t),_=u(t,r);l(t,n,_,a),e.Debug.assert(_.span.start<=r.span.start),e.Debug.assert(e.textSpanEnd(_.span)===e.textSpanEnd(r.span)),e.Debug.assert(e.textSpanEnd(e.textChangeRangeNewSpan(_))===e.textSpanEnd(e.textChangeRangeNewSpan(r)));var p=e.textChangeRangeNewSpan(_).length-_.span.length;c(i,_.span.start,e.textSpanEnd(_.span),e.textSpanEnd(e.textChangeRangeNewSpan(_)),p,o,n,a);var f=g.parseSourceFile(t.fileName,n,t.languageVersion,s,!0,t.scriptKind);return f}function r(t,n,r,o,c,u){function _(t){var n="";if(u&&a(t)&&(n=o.substring(t.pos,t.end)),t._children&&(t._children=void 0),t.pos+=r,t.end+=r,u&&a(t)&&e.Debug.assert(n===c.substring(t.pos,t.end)),i(t,_,l),t.jsDoc)for(var d=0,p=t.jsDoc;d=n,"Adjusting an element that was entirely before the change range"),e.Debug.assert(t.pos<=r,"Adjusting an element that was entirely after the change range"),e.Debug.assert(t.pos<=t.end),t.pos=Math.min(t.pos,a),t.end>=r?t.end+=i:t.end=Math.min(t.end,a),e.Debug.assert(t.pos<=t.end),t.parent&&(e.Debug.assert(t.pos>=t.parent.pos),e.Debug.assert(t.end<=t.parent.end))}function s(t,n){if(n){var r=t.pos;i(t,function(t){e.Debug.assert(t.pos>=r),r=t.end}),e.Debug.assert(r<=t.end)}}function c(t,n,a,c,u,_,l,d){function p(t){if(e.Debug.assert(t.pos<=t.end),t.pos>a)return void r(t,!1,u,_,l,d);var m=t.end;return m>=n?(t.intersectsChange=!0,t._children=void 0,o(t,n,a,c,u),i(t,p,f),void s(t,d)):void e.Debug.assert(ma)return void r(t,!0,u,_,l,d);var i=t.end;if(i>=n){t.intersectsChange=!0,t._children=void 0,o(t,n,a,c,u);for(var s=0,f=t;s0&&i<=r;i++){var o=_(t,a);e.Debug.assert(o.pos<=a);var s=o.pos;a=Math.max(0,s-1)}var c=e.createTextSpanFromBounds(a,e.textSpanEnd(n.span)),u=n.newLength+(n.span.start-a);return e.createTextChangeRange(c,u)}function _(t,n){function r(e){for(;;){var t=a(e);if(!t)return e;e=t}}function a(t){var n=void 0;return i(t,function(t){e.nodeIsPresent(t)&&(n=t)}),n}function o(t){if(!e.nodeIsMissing(t))return t.pos<=n?(t.pos>=c.pos&&(c=t),nn),!0)}var s,c=t;if(i(t,o),s){var u=r(s);u.pos>c.pos&&(c=u)}return c}function l(t,n,r,a){var i=t.text;if(r&&(e.Debug.assert(i.length-r.span.length+r.newLength===n.length),a||e.Debug.shouldAssert(3))){var o=i.substr(0,r.span.start),s=n.substr(0,r.span.start);e.Debug.assert(o===s);var c=i.substring(e.textSpanEnd(r.span),i.length),u=n.substring(e.textSpanEnd(e.textChangeRangeNewSpan(r)),n.length);e.Debug.assert(c===u)}}function d(t){function n(e){function n(t){return e>=t.pos&&e=t.pos&&e0){var s=i.declarationList.declarations[0].name;70===s.kind&&(o=s.text)}return o}}function c(t){return t.name?e.declarationNameToString(t.name):s(t)}function u(t,n,r,a,u){e.Debug.assert(!e.hasDynamicName(r));var _,l=e.hasModifier(r,512),d=l&&n?"default":s(r);if(void 0===d)_=i(0,"__missing");else if(_=t[d]||(t[d]=i(0,d)),d&&788448&a&&(Rt[d]=d),_.flags&u)if(_.isReplaceableByMethod)_=t[d]=i(0,d);else{r.name&&(r.name.parent=r);var p=2&_.flags?e.Diagnostics.Cannot_redeclare_block_scoped_variable_0:e.Diagnostics.Duplicate_identifier_0;_.declarations&&_.declarations.length&&(l?p=e.Diagnostics.A_module_cannot_have_multiple_default_exports:_.declarations&&_.declarations.length&&(l||240===r.kind&&!r.isExportEquals)&&(p=e.Diagnostics.A_module_cannot_have_multiple_default_exports)),e.forEach(_.declarations,function(t){ft.bindDiagnostics.push(e.createDiagnosticForNode(t.name||t,p,c(t)))}),ft.bindDiagnostics.push(e.createDiagnosticForNode(r.name||r,p,c(r))),_=i(0,d)}return o(_,r,a),_.parent=n,_}function _(t,n,r){var a=1&e.getCombinedModifierFlags(t);if(8388608&n)return 243===t.kind||234===t.kind&&a?u(vt.symbol.exports,vt.symbol,t,n,r):u(vt.locals,void 0,t,n,r);var i=285===t.kind&&t.name&&70===t.name.kind&&t.name.isInJSDocNamespace;if(!e.isAmbientModule(t)&&(a||32&vt.flags)||i){var o=(107455&n?1048576:0)|(793064&n?2097152:0)|(1920&n?4194304:0),s=u(vt.locals,void 0,t,o,r);return s.exportSymbol=u(vt.symbol.exports,vt.symbol,t,n,r),t.localSymbol=s,s}return u(vt.locals,void 0,t,n,r)}function l(t,n){var r=vt,a=ht;if(1&n?(vt=ht=t,32&n&&(vt.locals=e.createMap()),le(vt)):2&n&&(ht=t,ht.locals=void 0),4&n){var i=xt,o=Dt,s=St,c=Ct,u=At,_=wt,l=16&n&&!e.hasModifier(t,256)&&!!e.getImmediatelyInvokedFunctionExpression(t);l?Ct=x():(xt={flags:2},144&n&&(xt.container=t),Ct=void 0),Dt=void 0,St=void 0,At=void 0,wt=!1,d(t),t.flags&=-1409,!(1&xt.flags)&&8&n&&e.nodeIsPresent(t.body)&&(t.flags|=128,wt&&(t.flags|=256)),261===t.kind&&(t.flags|=Pt),l?(C(Ct,xt),xt=w(Ct)):xt=i,Dt=o,St=s,Ct=c,At=u,wt=_}else 64&n?(kt=!1,d(t),t.flags=kt?64|t.flags:t.flags&-65):d(t);vt=r,ht=a}function d(e){if(It)m(e);else if(536870912&e.transformFlags)It=!0,m(e),It=!1,Kt|=e.transformFlags&~F(e.kind);else{var t=Kt;Kt=0,m(e),Kt=t|a(e,Kt)}}function p(t){if(void 0!==t)if(It)e.forEach(t,ze);else{var n=Kt;Kt=0;for(var r=0,a=0,i=t;a=107&&t.originalKeywordKind<=115&&!e.isIdentifierName(t)&&!e.isInAmbientContext(t)&&(ft.parseDiagnostics.length||ft.bindDiagnostics.push(e.createDiagnosticForNode(t,Ce(t),e.declarationNameToString(t))))}function Ce(t){return e.getContainingClass(t)?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:ft.externalModuleIndicator?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode}function Ee(t){Ft&&e.isLeftHandSideExpression(t.left)&&e.isAssignmentOperator(t.operatorToken.kind)&&we(t,t.left)}function Te(e){Ft&&e.variableDeclaration&&we(e,e.variableDeclaration.name)}function Ne(t){if(Ft&&70===t.expression.kind){var n=e.getErrorSpanForNode(ft,t.expression);ft.bindDiagnostics.push(e.createFileDiagnostic(ft,n.start,n.length,e.Diagnostics.delete_cannot_be_called_on_an_identifier_in_strict_mode))}}function Ae(e){return 70===e.kind&&("eval"===e.text||"arguments"===e.text)}function we(t,n){if(n&&70===n.kind){var r=n;if(Ae(r)){var a=e.getErrorSpanForNode(ft,n);ft.bindDiagnostics.push(e.createFileDiagnostic(ft,a.start,a.length,Pe(t),r.text))}}}function Pe(t){return e.getContainingClass(t)?e.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:ft.externalModuleIndicator?e.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode:e.Diagnostics.Invalid_use_of_0_in_strict_mode}function Fe(e){Ft&&we(e,e.name)}function Oe(t){return e.getContainingClass(t)?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:ft.externalModuleIndicator?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}function Re(t){if(gt<2&&261!==ht.kind&&230!==ht.kind&&!e.isFunctionLike(ht)){var n=e.getErrorSpanForNode(ft,t);ft.bindDiagnostics.push(e.createFileDiagnostic(ft,n.start,n.length,Oe(t)))}}function Ie(t){Ft&&t.isOctalLiteral&&ft.bindDiagnostics.push(e.createDiagnosticForNode(t,e.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode))}function Le(e){Ft&&we(e,e.operand)}function Me(e){Ft&&(42!==e.operator&&43!==e.operator||we(e,e.operand))}function Be(t){Ft&&Ke(t,e.Diagnostics.with_statements_are_not_allowed_in_strict_mode)}function Ke(t,n,r,a,i){var o=e.getSpanOfTokenAtPosition(ft,t.pos);ft.bindDiagnostics.push(e.createFileDiagnostic(ft,o.start,o.length,n,r,a,i))}function Je(t){return"__"+e.indexOf(t.parent.parameters,t)}function ze(e){if(e){e.parent=yt;var t=Ft;if(Ue(e),e.kind>140){var n=yt;yt=e;var r=_e(e);0===r?d(e):l(e,r),yt=n}else It||0!==(536870912&e.transformFlags)||(Kt|=a(e,0));Ft=t}}function je(t){if(!Ft)for(var n=0,r=t;n=156&&e<=171)return-3;switch(e){case 179:case 180:case 175:return 537396545;case 230:return 574674241;case 144:return 536872257;case 185:return 601249089;case 184:case 225:return 601281857;case 224:return 546309441;case 226:case 197:return 539358529;case 150:return 601015617;case 149:case 151:case 152:return 601015617;case 118:case 132:case 129:case 134:case 121:case 135:case 104:case 143:case 146:case 148:case 153:case 154:case 155:case 227:case 228:return-3;case 176:return 540087617;case 256:return 537920833;case 172:case 173:return 537396545;default:return 536872257}}var O;!function(e){e[e.NonInstantiated=0]="NonInstantiated",e[e.Instantiated=1]="Instantiated",e[e.ConstEnumOnly=2]="ConstEnumOnly"}(O=e.ModuleInstanceState||(e.ModuleInstanceState={})),e.getModuleInstanceState=t;var R;!function(e){e[e.None=0]="None",e[e.IsContainer=1]="IsContainer",e[e.IsBlockScopedContainer=2]="IsBlockScopedContainer",e[e.IsControlFlowContainer=4]="IsControlFlowContainer",e[e.IsFunctionLike=8]="IsFunctionLike",e[e.IsFunctionExpression=16]="IsFunctionExpression",e[e.HasLocals=32]="HasLocals",e[e.IsInterface=64]="IsInterface",e[e.IsObjectLiteralOrClassExpressionMethod=128]="IsObjectLiteralOrClassExpressionMethod"}(R||(R={}));var I=r();e.bindSourceFile=n,e.computeTransformFlagsForNode=a,e.getTransformFlagsSubtreeExclusions=F}(ts||(ts={}));var ts;!function(e){function t(t){t.trace(e.formatMessage.apply(void 0,arguments))}function n(e,t){return e.traceResolution&&void 0!==t.trace}function r(t){if(t)return e.Debug.assert(e.extensionIsTypeScript(t.extension)),t.path}function a(t){return{path:t,extension:e.extensionFromPath(t)}}function i(e,t){var n=e.path,r=e.extension;return{resolvedFileName:n,extension:r,isExternalLibraryImport:t}}function o(e,t,n){return{resolvedModule:e&&i(e,t),failedLookupLocations:n}}function s(t){return!(e.isRootedDiskPath(t)||e.isExternalModuleNameRelative(t))}function c(n,r,a,i){function o(n){if(e.hasProperty(s,n)){var r=s[n];if("string"==typeof r){var o=e.normalizePath(e.combinePaths(a,r));return i.traceEnabled&&t(i.host,e.Diagnostics.package_json_has_0_field_1_that_references_2,n,r,o),o}i.traceEnabled&&t(i.host,e.Diagnostics.Expected_type_of_0_field_in_package_json_to_be_string_got_1,n,typeof r)}}var s=u(r,i.host);switch(n){case 2:case 0:return o("typings")||o("types");case 1:if("string"==typeof s.main)return i.traceEnabled&&t(i.host,e.Diagnostics.No_types_specified_in_package_json_so_returning_main_value_of_0,s.main),e.normalizePath(e.combinePaths(a,s.main));return}}function u(e,t){try{var n=t.readFile(e);return n?JSON.parse(n):{}}catch(e){return{}}}function _(t,n){if(t.typeRoots)return t.typeRoots;var r;return t.configFilePath?r=e.getDirectoryPath(t.configFilePath):n.getCurrentDirectory&&(r=n.getCurrentDirectory()),void 0!==r?l(r,n):void 0}function l(t,n){if(!n.directoryExists)return[e.combinePaths(t,L)];var r;return R(t,function(t){var a=e.combinePaths(t,L);n.directoryExists(a)&&(r||(r=[])).push(a)}),r}function d(a,i,o,s){function c(){return p&&p.length?(l&&t(s,e.Diagnostics.Resolving_with_primary_search_path_0,p.join(", ")),e.forEach(p,function(t){var n=e.combinePaths(t,a),i=e.getDirectoryPath(n);return r(C(2,n,f,!k(i,s),d))})):void(l&&t(s,e.Diagnostics.Root_directory_cannot_be_determined_skipping_primary_search_paths))}function u(){var n,o=i&&e.getDirectoryPath(i);return void 0!==o?(l&&t(s,e.Diagnostics.Looking_up_in_node_modules_folder_initial_location_0,o),n=r(N(2,a,o,f,d)),!n&&l&&t(s,e.Diagnostics.Type_reference_directive_0_was_not_resolved,a),n):void(l&&t(s,e.Diagnostics.Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder))}var l=n(o,s),d={compilerOptions:o,host:s,traceEnabled:l},p=_(o,s);l&&(void 0===i?void 0===p?t(s,e.Diagnostics.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set,a):t(s,e.Diagnostics.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1,a,p):void 0===p?t(s,e.Diagnostics.Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set,a,i):t(s,e.Diagnostics.Resolving_type_reference_directive_0_containing_file_1_root_directory_2,a,i,p));var f=[],m=c(),g=!0;m||(m=u(),g=!1);var y;return m&&(m=h(m,s,l),l&&t(s,e.Diagnostics.Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2,a,m,g),y={primary:g,resolvedFileName:m}),{resolvedTypeReferenceDirective:y,failedLookupLocations:f}}function p(t,n){if(t.types)return t.types;var r=[];if(n.directoryExists&&n.getDirectories){var a=_(t,n);if(a)for(var i=0,o=a;i1);if(e.isGlobalScopeAugmentation(n))g(Iy,n.symbol.exports);else{var r=e.isInAmbientContext(t.parent.parent)?void 0:e.Diagnostics.Invalid_module_name_in_augmentation_module_0_cannot_be_found,a=ne(t,t,r,!0);if(!a)return;a=ae(a),1920&a.flags?(a=33554432&a.flags?a:f(a),m(a,n.symbol)):_(t,e.Diagnostics.Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity,t.text)}}function v(t,n,r){function a(t,n){return function(r){return tv.add(e.createDiagnosticForNode(r,n,t))}}for(var i in n)t[i]?e.forEach(t[i].declarations,a(i,r)):t[i]=n[i]}function h(e){if(67108864&e.flags)return e;var t=n(e);return qy[t]||(qy[t]={})}function b(e){var n=t(e);return Wy[n]||(Wy[n]={flags:0})}function k(e){return 32768&e.flags?e.objectFlags:0}function x(t){return 261===t.kind&&!e.isExternalOrCommonJsModule(t)}function D(t,n,r){if(r){var a=t[n];if(a){if(e.Debug.assert(0===(16777216&a.flags),"Should never get an instantiated symbol here."),a.flags&r)return a;if(8388608&a.flags){var i=X(a);if(i===Cg||i.flags&r)return a}}}}function S(t,n){var r=t.parent,a=t.parent.parent,i=D(r.locals,n,107455),o=D(a.symbol.members,n,107455);return i&&o?[i,o]:void e.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration")}function C(t,n){function a(t,n){var r=e.getEnclosingBlockScopeContainer(t);switch(t.parent.parent.kind){case 205:case 211:case 213:if(O(n,t,r))return!0}switch(t.parent.parent.kind){case 212:case 213:if(O(n,t.parent.parent.expression,r))return!0}return!1}function i(t,n){for(var r=t;r;){if(r===n)return!1;if(e.isFunctionLike(r))return!0;var a=r.parent&&147===r.parent.kind&&0===(32&e.getModifierFlags(r.parent))&&r.parent.initializer===r;if(a)return!0;r=r.parent}return!1}var o=e.getSourceFileOfNode(t),s=e.getSourceFileOfNode(n);if(o!==s){if(_g&&(o.externalModuleIndicator||s.externalModuleIndicator)||!cg.outFile&&!cg.out)return!0;if(i(n))return!0;var c=r.getSourceFiles();return e.indexOf(c,o)<=e.indexOf(c,s)}if(t.pos<=n.pos)return 223!==t.kind||!a(t,n);var u=e.getEnclosingBlockScopeContainer(t);return i(n,u)}function E(t,n,r,a,i){var o,s,c,u,l=t,d=!1;e:for(;t;){if(t.locals&&!x(t)&&(o=D(t.locals,n,r))){var p=!0;if(e.isFunctionLike(t)&&s&&s!==t.body&&(r&o.flags&793064&&278!==s.kind&&(p=!!(262144&o.flags)&&(s===t.type||144===s.kind||143===s.kind)),107455&r&&1&o.flags&&(p=144===s.kind||s===t.type&&144===o.valueDeclaration.kind)),p)break e;o=void 0}switch(t.kind){case 261:if(!e.isExternalOrCommonJsModule(t))break;d=!0;case 230:var f=fe(t).exports;if(261===t.kind||e.isAmbientModule(t)){if(o=f.default){var m=e.getLocalSymbolForExportDefault(o);if(m&&o.flags&r&&m.name===n)break e;o=void 0}if(f[n]&&8388608===f[n].flags&&e.getDeclarationOfKind(f[n],243))break}if(o=D(f,n,8914931&r))break e;break;case 229:if(o=D(fe(t).exports,n,8&r))break e;break;case 147:case 146:if(e.isClassLike(t.parent)&&!(32&e.getModifierFlags(t))){var g=ve(t.parent);g&&g.locals&&D(g.locals,n,107455&r)&&(c=t)}break;case 226:case 197:case 227:if(o=D(fe(t).members,n,793064&r)){if(s&&32&e.getModifierFlags(s))return void _(l,e.Diagnostics.Static_members_cannot_reference_class_type_parameters);break e}if(197===t.kind&&32&r){var y=t.name;if(y&&n===y.text){o=t.symbol;break e}}break;case 142:if(u=t.parent.parent,(e.isClassLike(u)||227===u.kind)&&(o=D(fe(u).members,n,793064&r)))return void _(l,e.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);break;case 149:case 148:case 150:case 151:case 152:case 225:case 185:if(3&r&&"arguments"===n){o=gg;break e}break;case 184:if(3&r&&"arguments"===n){o=gg;break e}if(16&r){var v=t.name;if(v&&n===v.text){o=t.symbol;break e}}break;case 145:t.parent&&144===t.parent.kind&&(t=t.parent),t.parent&&e.isClassElement(t.parent)&&(t=t.parent)}s=t,t=t.parent}if(o&&a&&lg&&(o.isReferenced=!0),o||(o=D(Iy,n,r)),!o)return void(a&&(l&&(T(l,n,i)||N(l)||w(l,n,r)||P(l,n,r))||_(l,a,"string"==typeof i?i:e.declarationNameToString(i))));if(a){if(c){var h=c.name;return void _(l,e.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,e.declarationNameToString(h),"string"==typeof i?i:e.declarationNameToString(i))}if(2&r){var b=ge(o);2&b.flags&&F(b,l)}if(o&&d&&107455===(107455&r)){var k=o.declarations;k&&1===k.length&&233===k[0].kind&&_(l,e.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead,n)}}return o}function T(t,n,r){if(70===t.kind&&$p(t)||zo(t))return!1;for(var a=e.getThisContainer(t,!0),i=a;i;){if(e.isClassLike(i.parent)){var o=fe(i.parent);if(!o)break;var s=wt(o);if(Xn(s,n))return _(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0,"string"==typeof r?r:e.declarationNameToString(r),Ke(o)),!0;if(i===a&&!(32&e.getModifierFlags(i))){var c=rn(o).thisType;if(Xn(c,n))return _(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0,"string"==typeof r?r:e.declarationNameToString(r)),!0}}i=i.parent}return!1}function N(t){var n=A(t),r=!(!n||!ee(n,64,!0));return r&&_(t,e.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements,e.getTextOfNode(n)),r}function A(t){switch(t.kind){case 70:case 177:return t.parent?A(t.parent):void 0;case 199:return e.Debug.assert(e.isEntityNameExpression(t.expression)),t.expression;default:return}}function w(t,n,r){if(1920===r){var a=G(E(t,n,792640,void 0,void 0));if(a)return _(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here,n),!0}return!1}function P(t,n,r){if(107455&r){var a=G(E(t,n,792640,void 0,void 0));if(a&&!(1024&a.flags))return _(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,n),!0}return!1}function F(t,n){e.Debug.assert(0!==(2&t.flags));var r=e.forEach(t.declarations,function(t){return e.isBlockOrCatchScoped(t)?t:void 0});e.Debug.assert(void 0!==r,"Block-scoped variable declaration is undefined"),e.isInAmbientContext(r)||C(e.getAncestor(r,223),n)||_(n,e.Diagnostics.Block_scoped_variable_0_used_before_its_declaration,e.declarationNameToString(r.name))}function O(t,n,r){if(!n)return!1;for(var a=t;a&&a!==r&&!e.isFunctionLike(a);a=a.parent)if(a===n)return!0;return!1}function R(t){if(e.isAliasSymbolDeclaration(t)){if(234===t.kind)return t;for(;t&&235!==t.kind;)t=t.parent;return t}}function I(t){return e.forEach(t.declarations,function(t){return e.isAliasSymbolDeclaration(t)?t:void 0})}function L(t){return 245===t.moduleReference.kind?ae(te(t,e.getExternalModuleImportEqualsDeclarationExpression(t))):Z(t.moduleReference)}function M(t){var n=te(t,t.parent.moduleSpecifier);if(n){var r=e.isShorthandAmbientModuleSymbol(n)?n:n.exports["export="]?Xn(wt(n.exports["export="]),"default"):G(n.exports.default);if(r||dg){if(!r&&dg)return ae(n)||G(n)}else _(t.name,e.Diagnostics.Module_0_has_no_default_export,Ke(n));return r}}function B(e){var t=e.parent.parent.moduleSpecifier;return ie(te(e,t),t)}function K(t,n){if(794600&t.flags)return t;var r=l(t.flags|n.flags,t.name);return r.declarations=e.concatenate(t.declarations,n.declarations),r.parent=t.parent||n.parent,t.valueDeclaration&&(r.valueDeclaration=t.valueDeclaration),n.members&&(r.members=n.members),t.exports&&(r.exports=t.exports),r}function J(e,t){if(1536&e.flags){var n=ue(e)[t];if(n)return G(n)}}function z(e,t){if(3&e.flags){var n=e.valueDeclaration.type;if(n)return G(Xn(Wa(n),t))}}function j(t,n){var r=te(t,t.moduleSpecifier),a=ie(r,t.moduleSpecifier);if(a){var i=n.propertyName||n.name;if(i.text){if(e.isShorthandAmbientModuleSymbol(r))return r;var o=void 0;o=r&&r.exports&&r.exports["export="]?Xn(wt(a),i.text):z(a,i.text),o=G(o);var s=J(a,i.text);!s&&dg&&"default"===i.text&&(s=ae(r)||G(r));var c=s&&o?K(o,s):s||o;return c||_(i,e.Diagnostics.Module_0_has_no_exported_member_1,$(r),e.declarationNameToString(i)), -c}}}function V(e){return j(e.parent.parent.parent,e)}function U(e){return ae(e.parent.symbol)}function q(e){return e.parent.parent.moduleSpecifier?j(e.parent.parent,e):ee(e.propertyName||e.name,901119)}function W(e){return ee(e.expression,901119)}function H(e){switch(e.kind){case 234:return L(e);case 236:return M(e);case 237:return B(e);case 239:return V(e);case 243:return q(e);case 240:return W(e);case 233:return U(e)}}function G(e){return e&&8388608&e.flags&&!(901119&e.flags)?X(e):e}function X(t){e.Debug.assert(0!==(8388608&t.flags),"Should only get Alias here.");var n=h(t);if(n.target)n.target===Eg&&(n.target=Cg);else{n.target=Eg;var r=I(t);e.Debug.assert(!!r);var a=H(r);n.target===Eg?n.target=a||Cg:_(r,e.Diagnostics.Circular_definition_of_import_alias_0,Ke(t))}return n.target}function Q(e){var t=fe(e),n=X(t);if(n){var r=n===Cg||107455&n.flags&&!Nf(n);r&&Y(t)}}function Y(t){var n=h(t);if(!n.referenced){n.referenced=!0;var r=I(t);e.Debug.assert(!!r),240===r.kind?_l(r.expression):243===r.kind?_l(r.propertyName||r.name):e.isInternalModuleImportEqualsDeclaration(r)&&_l(r.moduleReference)}}function Z(t,n){return 70===t.kind&&e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),70===t.kind||141===t.parent.kind?ee(t,1920,!1,n):(e.Debug.assert(234===t.parent.kind),ee(t,901119,!1,n))}function $(e){return e.parent?$(e.parent)+"."+Ke(e):Ke(e)}function ee(t,n,r,a,i){if(!e.nodeIsMissing(t)){var o;if(70===t.kind){var s=1920===n?e.Diagnostics.Cannot_find_namespace_0:e.Diagnostics.Cannot_find_name_0;if(o=E(i||t,t.text,n,r?void 0:s,t),!o)return}else if(141===t.kind||177===t.kind){var c=141===t.kind?t.left:t.expression,u=141===t.kind?t.right:t.name,l=ee(c,1920,r,!1,i);if(!l||e.nodeIsMissing(u))return;if(l===Cg)return l;if(o=D(ue(l),u.text,n),!o)return void(r||_(u,e.Diagnostics.Namespace_0_has_no_exported_member_1,$(l),e.declarationNameToString(u)))}else e.Debug.fail("Unknown entity name kind.");return e.Debug.assert(0===(16777216&o.flags),"Should never get an instantiated symbol here."),o.flags&n||a?o:X(o)}}function te(t,n){return ne(t,n,e.Diagnostics.Cannot_find_module_0)}function ne(e,t,n,r){if(void 0===r&&(r=!1),9===t.kind){var a=t;return re(e,a.text,n,a,r)}}function re(t,n,a,i,o){void 0===o&&(o=!1);var s=e.escapeIdentifier(n);if(void 0!==s){var c=sr(s,!0);if(c)return c;var u=e.isExternalModuleNameRelative(s),l=e.getResolvedModule(e.getSourceFileOfNode(t),n),d=l&&e.getResolutionDiagnostic(cg,l),p=l&&!d&&r.getSourceFile(l.resolvedFileName);if(p)return p.symbol?pe(p.symbol):void(a&&_(i,e.Diagnostics.File_0_is_not_a_module,p.fileName));if(Gg){var f=e.findBestPatternMatch(Gg,function(e){return e.pattern},s);if(f)return pe(f.symbol)}if(u||!l||e.extensionIsTypeScript(l.extension)){if(a)if(d)_(i,d,s,l.resolvedFileName);else{var m=e.tryExtractTypeScriptExtension(s);if(m){var g=e.Diagnostics.An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead;_(i,g,m,e.removeExtension(s,m))}else _(i,a,s)}}else if(o){e.Debug.assert(!!a);var g=e.Diagnostics.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented;_(i,g,s,l.resolvedFileName)}else cg.noImplicitAny&&a&&_(i,e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,n,l.resolvedFileName)}}function ae(e){return e&&pe(G(e.exports["export="]))||e}function ie(t,n){var r=ae(t);return!r||1539&r.flags||(_(n,e.Diagnostics.Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct,Ke(t)),r=void 0),r}function oe(e){return void 0!==e.exports["export="]}function se(e){return ir(_e(e))}function ce(e,t){var n=_e(t);if(n)return n[e]}function ue(e){return 1536&e.flags?_e(e):e.exports||sg}function _e(e){var t=h(e);return t.resolvedExports||(t.resolvedExports=de(e))}function le(t,n,r,a){for(var i in n)"default"===i||t[i]?r&&a&&"default"!==i&&t[i]&&G(t[i])!==G(n[i])&&(r[i].exportsWithDuplicate?r[i].exportsWithDuplicate.push(a):r[i].exportsWithDuplicate=[a]):(t[i]=n[i],r&&a&&(r[i]={specifierText:e.getTextOfNode(a.moduleSpecifier)}))}function de(t){function n(t){if(t&&1952&t.flags&&!e.contains(r,t)){r.push(t);var a=e.cloneMap(t.exports),i=t.exports.__export;if(i){for(var o=e.createMap(),s=e.createMap(),c=0,u=i.declarations;c=o&&(i=i.substr(0,o-"...".length)+"..."),i}function je(t,n,r){var a=e.getSingleLineStringWriter();Ge().buildTypePredicateDisplay(t,a,n,r);var i=a.string();return e.releaseStringWriter(a),i}function Ve(e){for(var t=[],n=0,r=0;r0&&(25!==t&&Be(r),Me(r,t),Be(r)),c(e[n],25===t?0:64)}function _(e,t,n,o,s){if((32&e.flags||!De(e.name))&&a(e,r,i,793064,0,s),n0&&(Me(t,25),Be(t)),n(e[r])}function p(e,t,n,r){if(e&&e.length){Me(n,26);for(var a=256,o=0;o0&&(Me(n,25),Be(n),a=0),i(t(e[o]),n,r,a);Me(n,28)}}function f(e,t,n,r,a,i){Me(n,18),e&&c(e,n,r,a,i);for(var o=0;o0||e)&&(Me(n,25),Be(n)),c(t[o],n,r,a,i);Me(n,19)}function m(t,n,r,a,o){e.isIdentifierTypePredicate(t)?n.writeParameter(t.parameterName):Le(n,98),Be(n),Le(n,125),Be(n),i(t.type,n,r,a,o)}function g(e,t,n,r,a){if(8&r?(Be(t),Me(t,35)):Me(t,55),Be(t),e.typePredicate)m(e.typePredicate,t,n,r,a);else{var o=mr(e);i(o,t,n,r,a)}}function y(e,t,n,r,a,i){1===a&&(Le(t,93),Be(t)),e.target&&32&r?p(e.target.typeParameters,e.mapper,t,n):l(e.typeParameters,t,n,r,i),f(e.thisParameter,e.parameters,t,n,r,i),g(e,t,n,r,i)}return iv||(iv={buildSymbolDisplay:a,buildTypeDisplay:i,buildTypeParameterDisplay:s,buildTypePredicateDisplay:m,buildParameterDisplay:c,buildDisplayForParametersAndDelimiters:f,buildDisplayForTypeParametersAndDelimiters:l,buildTypeParameterDisplayFromSymbol:o,buildSignatureDisplay:y,buildReturnTypeDisplay:g})}function Xe(t){function n(){switch(t.kind){case 174:return Xe(t.parent.parent);case 223:if(e.isBindingPattern(t.name)&&!t.name.elements.length)return!1;case 230:case 226:case 227:case 228:case 225:case 229:case 234:if(e.isExternalModuleAugmentation(t))return!0;var n=tt(t);return 1&e.getCombinedModifierFlags(t)||234!==t.kind&&261!==n.kind&&e.isInAmbientContext(n)?Xe(n):x(n);case 147:case 146:case 151:case 152:case 149:case 148:if(24&e.getModifierFlags(t))return!1;case 150:case 154:case 153:case 155:case 144:case 231:case 158:case 159:case 161:case 157:case 162:case 163:case 164:case 165:case 166:return Xe(t.parent);case 236:case 237:case 239:return!1;case 143:case 261:case 233:return!0;case 240:return!1;default:return!1}}if(t){var r=b(t);return void 0===r.isVisible&&(r.isVisible=!!n()),r.isVisible}return!1}function Qe(t){function n(t){e.forEach(t,function(t){b(t).isVisible=!0;var r=R(t)||t;if(e.contains(i,r)||i.push(r),e.isInternalModuleImportEqualsDeclaration(t)){var a=t.moduleReference,o=Np(a),s=E(t,o.text,901119,void 0,void 0);s&&n(s.declarations)}})}var r;if(t.parent&&240===t.parent.kind)r=E(t.parent,t.text,9289727,e.Diagnostics.Cannot_find_name_0,t);else if(243===t.parent.kind){var a=t.parent;r=a.parent.parent.moduleSpecifier?j(a.parent.parent,a):ee(a.propertyName||a.name,9289727)}var i=[];return r&&n(r.declarations),i}function Ye(e,t){var n=Ze(e,t);if(n>=0){for(var r=zy.length,a=n;a=0;n--){if($e(zy[n],Vy[n]))return-1;if(zy[n]===e&&Vy[n]===t)return n}return-1}function $e(t,n){return 0===n?h(t).type:2===n?h(t).declaredType:1===n?t.resolvedBaseConstructorType:3===n?t.resolvedReturnType:void e.Debug.fail("Unhandled TypeSystemPropertyName "+n)}function et(){return zy.pop(),Vy.pop(),jy.pop()}function tt(t){for(t=e.getRootDeclaration(t);t;)switch(t.kind){case 223:case 224:case 239:case 238:case 237:case 236:t=t.parent;break;default:return t.parent}}function nt(t){var n=rn(me(t));return n.typeParameters?Pr(n,e.map(n.typeParameters,function(e){return Tg})):n}function rt(e,t){var n=Xn(e,t);return n?wt(n):void 0}function at(e){return e&&0!==(1&e.flags)}function it(e){return e&&0!==(8192&e.flags)}function ot(e){var t=fe(e);return t&&h(t).type||ft(e,!1)}function st(t){return 142===t.kind&&!e.isStringOrNumericLiteral(t.expression)}function ct(t,n,r){if(t=Ts(t,function(e){return!(6144&e.flags)}),8192&t.flags)return Vg;if(65536&t.flags)return Ns(t,function(e){return ct(e,n,r)});for(var a=e.createMap(),i=e.createMap(),o=0,s=n;o=2?Yr(Tg):oy;var o=e.map(a,function(t){return e.isOmittedExpression(t)?Tg:mt(t,n,r)}),s=ra(o);return n&&(s=Fr(s),s.pattern=t),s}function vt(e,t,n){return 172===e.kind?gt(e,t,n):yt(e,t,n)}function ht(e,t){var n=ft(e,!0);return n?(t&&So(e,n),257===e.kind?n:ko(n)):(n=e.dotDotDotToken?oy:Tg,t&&cg.noImplicitAny&&(bt(e)||Do(e,n)),n)}function bt(t){var n=e.getRootDeclaration(t),r=144===n.kind?n.parent:n;return Gl(r)}function kt(t){var n=h(t);if(!n.type){if(134217728&t.flags)return n.type=nt(t);var r=t.valueDeclaration;if(e.isCatchClauseVariableDeclarationOrBindingElement(r))return n.type=Tg;if(240===r.kind)return n.type=hl(r.expression);if(65536&r.flags&&286===r.kind&&r.typeExpression)return n.type=Wa(r.typeExpression.type);if(!Ye(t,0))return Ag;var a=void 0;if(192===r.kind||177===r.kind&&192===r.parent.kind){if(65536&r.flags){var i=e.getJSDocType(r.parent);if(i)return n.type=Wa(i)}var o=e.map(t.declarations,function(e){return _l(192===e.kind?e.right:e.parent.right)});a=fa(o,!0)}else a=ht(r,!0);et()||(t.valueDeclaration.type?(a=Ag,_(t.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,Ke(t))):(a=Tg,cg.noImplicitAny&&_(t.valueDeclaration,e.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,Ke(t)))),n.type=a}return n.type}function xt(t){if(t){if(151===t.kind)return t.type&&Wa(t.type);var n=e.getSetAccessorTypeAnnotationNode(t);return n&&Wa(n)}}function Dt(e){var t=Tm(e);return t&&t.symbol}function St(e){return fr(_r(e))}function Ct(t){var n=h(t);if(!n.type){var r=e.getDeclarationOfKind(t,151),a=e.getDeclarationOfKind(t,152);if(r&&65536&r.flags){var i=_t(r);if(i)return n.type=i}if(!Ye(t,0))return Ag;var o=void 0,s=xt(r);if(s)o=s;else{var c=xt(a);c?o=c:r&&r.body?o=x_(r):(cg.noImplicitAny&&(a?_(a,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,Ke(t)):(e.Debug.assert(!!r,"there must existed getter as we are current checking either setter or getter in this function"),_(r,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,Ke(t)))),o=Tg)}if(!et()&&(o=Tg,cg.noImplicitAny)){var u=e.getDeclarationOfKind(t,151);_(u,e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,Ke(t))}n.type=o}return n.type}function Et(t){var n=h(t);if(!n.type)if(1536&t.flags&&e.isShorthandAmbientModuleSymbol(t))n.type=Tg;else{var r=xe(16,t);n.type=pg&&536870912&t.flags?lo(r,2048):r}return n.type}function Tt(e){var t=h(e);return t.type||(t.type=en(e)),t.type}function Nt(e){var t=h(e);if(!t.type){var n=X(e);t.type=107455&n.flags?wt(n):Ag}return t.type}function At(e){var t=h(e);return t.type||(t.type=mi(wt(t.target),t.mapper)),t.type}function wt(e){return 16777216&e.flags?At(e):7&e.flags?kt(e):9136&e.flags?Et(e):8&e.flags?Tt(e):98304&e.flags?Ct(e):8388608&e.flags?Nt(e):Ag}function Pt(e){return 4&k(e)?e.target:e}function Ft(t,n){function r(t){var a=Pt(t);return a===n||e.forEach(Vt(a),r)}return r(t)}function Ot(t,n){for(var r=0,a=n;r0}function Kt(t){return e.getClassExtendsHeritageClauseElement(t.symbol.valueDeclaration)}function Jt(t,n){var r=n?n.length:0;return e.filter(Yn(t,1),function(e){return(e.typeParameters?e.typeParameters.length:0)===r})}function zt(t,n){var r=Jt(t,n);if(n){var a=e.map(n,Wa);r=e.map(r,function(e){return yr(e,a)})}return r}function jt(t){if(!t.resolvedBaseConstructorType){var n=Kt(t);if(!n)return t.resolvedBaseConstructorType=wg;if(!Ye(t,1))return Ag;var r=hl(n.expression);if(32768&r.flags&&Bn(r),!et())return _(t.symbol.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,Ke(t.symbol)),t.resolvedBaseConstructorType=Ag;if(r!==Ag&&r!==Og&&!Bt(r))return _(n.expression,e.Diagnostics.Type_0_is_not_a_constructor_function_type,ze(r)),t.resolvedBaseConstructorType=Ag;t.resolvedBaseConstructorType=r}return t.resolvedBaseConstructorType}function Vt(t){return t.resolvedBaseTypes||(8&t.objectFlags?t.resolvedBaseTypes=[$r(fa(t.typeParameters))]:96&t.symbol.flags?(32&t.symbol.flags&&Ut(t),64&t.symbol.flags&&Wt(t)):e.Debug.fail("type must be class or interface")),t.resolvedBaseTypes}function Ut(t){t.resolvedBaseTypes=t.resolvedBaseTypes||og;var n=jt(t);if(32768&n.flags){var r,a=Kt(t),i=n&&n.symbol?rn(n.symbol):void 0;if(n.symbol&&32&n.symbol.flags&&qt(i))r=Rr(a,n.symbol);else{var o=zt(n,a.typeArguments);if(!o.length)return void _(a.expression,e.Diagnostics.No_base_constructor_has_the_specified_number_of_type_arguments);r=mr(o[0])}var s=t.symbol.valueDeclaration;if(s&&e.isInJavaScriptFile(s)){var c=e.getJSDocAugmentsTag(t.symbol.valueDeclaration);c&&(r=Wa(c.typeExpression.type))}if(r!==Ag)return 3&k(Pt(r))?t===r||Ft(r,t)?void _(s,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,ze(t,void 0,1)):void(t.resolvedBaseTypes===og?t.resolvedBaseTypes=[r]:t.resolvedBaseTypes.push(r)):void _(a.expression,e.Diagnostics.Base_constructor_return_type_0_is_not_a_class_or_interface_type,ze(r))}}function qt(e){var t=e.outerTypeParameters;if(t){var n=t.length-1,r=e.typeArguments;return t[n].symbol!==r[n].symbol}return!0}function Wt(t){t.resolvedBaseTypes=t.resolvedBaseTypes||og;for(var n=0,r=t.symbol.declarations;n1&&(r.flags|=65536,r.types=a,hg[Ar(a)]=r)}}return n.declaredType}function en(e){var t=h(e);if(!t.declaredType){var n=$t(me(e));t.declaredType=65536&n.flags?n.memberTypes[Ff(e.valueDeclaration)]:n}return t.declaredType}function tn(t){var n=h(t);if(!n.declaredType){var r=he(16384);r.symbol=t,e.getDeclarationOfKind(t,143).constraint||(r.constraint=Ay),n.declaredType=r}return n.declaredType}function nn(e){var t=h(e);return t.declaredType||(t.declaredType=rn(X(e))),t.declaredType}function rn(t){return e.Debug.assert(0===(16777216&t.flags)),96&t.flags?Gt(t):524288&t.flags?Xt(t):262144&t.flags?tn(t):384&t.flags?$t(t):8&t.flags?en(t):8388608&t.flags?nn(t):Ag}function an(e){if(e.typeArguments)for(var t=0,n=e.typeArguments;t0)return;for(var a=1;a1){if(_=hn(c),e.forEach(u,function(e){return e.thisParameter})){var l=fa(e.map(u,function(e){return wt(e.thisParameter)||Tg}),!0);_.thisParameter=go(c.thisParameter,l)}_.resolvedReturnType=void 0,_.unionSignatures=u}(a||(a=[])).push(_)}}}return a||og}function Sn(e,t){for(var n=[],r=!1,a=0,i=e;a=0),a>=r.minArgumentCount}return!1}function ur(e){if(70===e.parameterName.kind){var t=e.parameterName;return{kind:1,parameterName:t?t.text:void 0,parameterIndex:t?Sl(e.parent.parameters,t):void 0,type:Wa(e.type)}}return{kind:0,type:Wa(e.type)}}function _r(t){var n=b(t);if(!n.resolvedSignature){for(var r=[],a=!1,i=-1,o=void 0,s=void 0,c=e.isJSDocConstructSignature(t),u=c?1:0,_=t.parameters.length;u<_;u++){var l=t.parameters[u],d=l.symbol;if(d&&4&d.flags&&!e.isBindingPattern(l.name)){var p=E(l,d.name,107455,void 0,void 0);d=p}0===u&&"this"===d.name?(s=!0,o=l.symbol):r.push(d),l.type&&171===l.type.kind&&(a=!0),l.initializer||l.questionToken||l.dotDotDotToken||or(l)?i<0&&(i=u-(s?1:0)):i=-1}if(!(151!==t.kind&&152!==t.kind||e.hasDynamicName(t)||s&&o)){var f=151===t.kind?152:151,m=e.getDeclarationOfKind(t.symbol,f);m&&(o=Dt(m))}i<0&&(i=t.parameters.length-(s?1:0)),c&&i--;var g=150===t.kind?Gt(pe(t.parent.symbol)):void 0,y=g?g.localTypeParameters:t.typeParameters?ar(t.typeParameters):rr(t),v=lr(t,c,g),h=t.type&&156===t.type.kind?ur(t.type):void 0;n.resolvedSignature=vn(t,y,o,r,v,h,i,e.hasRestParameter(t),a)}return n.resolvedSignature}function lr(t,n,r){if(n)return Wa(t.parameters[0].type);if(r)return r;if(t.type)return Wa(t.type);if(65536&t.flags){var a=h_(t);if(a&&a!==Ag)return a}if(151===t.kind&&!e.hasDynamicName(t)){var i=e.getDeclarationOfKind(t.symbol,152);return xt(i)}return e.nodeIsMissing(t.body)?Tg:void 0}function dr(e){if(!e)return og;for(var t=[],n=0,r=e.declarations.length;n0&&a.body){var i=e.declarations[n-1];if(a.parent===i.parent&&a.kind===i.kind&&a.pos===i.end)break}t.push(_r(a))}}return t}function pr(e){var t=te(e,e);if(t){var n=ae(t);if(n)return wt(n)}return Tg}function fr(e){if(e.thisParameter)return wt(e.thisParameter)}function mr(t){if(!t.resolvedReturnType){if(!Ye(t,3))return Ag;var n=void 0;if(n=t.target?mi(mr(t.target),t.mapper):t.unionSignatures?fa(e.map(t.unionSignatures,mr),!0):x_(t.declaration),!et()&&(n=Tg,cg.noImplicitAny)){var r=t.declaration;r.name?_(r.name,e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,e.declarationNameToString(r.name)):_(r,e.Diagnostics.Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions)}t.resolvedReturnType=n}return t.resolvedReturnType}function gr(t){if(t.hasRestParameter){var n=wt(e.lastOrUndefined(t.parameters));if(4&k(n)&&n.target===ey)return n.typeArguments[0]}return Tg}function yr(t,n){var r=t.instantiations||(t.instantiations=e.createMap()),a=Ar(n);return r[a]||(r[a]=vr(t,n))}function vr(e,t){return si(e,ei(e.typeParameters,t),!0)}function hr(e){return e.typeParameters?(e.erasedSignatureCache||(e.erasedSignatureCache=si(e,ti(e.typeParameters),!0)),e.erasedSignatureCache):e}function br(e){if(!e.isolatedSignatureType){var t=150===e.declaration.kind||154===e.declaration.kind,n=xe(16);n.members=sg,n.properties=og,n.callSignatures=t?og:[e],n.constructSignatures=t?[e]:og,e.isolatedSignatureType=n}return e.isolatedSignatureType}function kr(e){return e.members.__index}function xr(e,t){var n=1===t?132:134,r=kr(e);if(r)for(var a=0,i=r.declarations;a1&&(t+=":"+i),r+=i}return t}function wr(e,t){for(var n=0,r=0,a=e;r>1),o=e[i].id;if(o===a)return i;o>a?r=i-1:n=i+1}return~n}function oa(e,t){return ia(e,t)>=0}function sa(e,t){var n=t.flags;if(65536&n)ca(e,t.types);else if(1&n)e.containsAny=!0;else if(!pg&&6144&n)2048&n&&(e.containsUndefined=!0),4096&n&&(e.containsNull=!0),2097152&n||(e.containsNonWideningType=!0);else if(!(8192&n)){2&n&&(e.containsString=!0),4&n&&(e.containsNumber=!0),96&n&&(e.containsStringOrNumberLiteral=!0);var r=e.length,a=r&&t.id>e[r-1].id?~r:ia(e,t);a<0&&(32768&n&&16&t.objectFlags&&t.symbol&&8208&t.symbol.flags&&ua(e,t)||e.splice(~a,0,t))}}function ca(e,t){for(var n=0,r=t;n0;)n--,_a(t[n],t)&&e.orderedRemoveItemAt(t,n)}function pa(t){for(var n=t.length;n>0;){n--;var r=t[n],a=32&r.flags&&t.containsString||64&r.flags&&t.containsNumber||96&r.flags&&1048576&r.flags&&oa(t,r.regularType);a&&e.orderedRemoveItemAt(t,n)}}function fa(e,t,n,r){if(0===e.length)return zg;if(1===e.length)return e[0];var a=[];return ca(a,e),a.containsAny?Tg:(t?da(a):a.containsStringOrNumberLiteral&&pa(a),0===a.length?a.containsNull?a.containsNonWideningType?Fg:Og:a.containsUndefined?a.containsNonWideningType?wg:Pg:zg:ma(a,n,r))}function ma(e,t,n){if(0===e.length)return zg;if(1===e.length)return e[0];var r=Ar(e),a=hg[r];if(!a){var i=wr(e,6144);a=hg[r]=he(65536|i),a.types=e,a.aliasSymbol=t,a.aliasTypeArguments=n}return a}function ga(t){var n=b(t);return n.resolvedType||(n.resolvedType=fa(e.map(t.types,Wa),!1,Ra(t),Ia(t))),n.resolvedType}function ya(t,n){131072&n.flags?va(t,n.types):1&n.flags?t.containsAny=!0:8192&n.flags||!pg&&6144&n.flags||e.contains(t,n)||(65536&n.flags&&void 0===t.unionIndex&&(t.unionIndex=t.length),t.push(n))}function va(e,t){for(var n=0,r=t;nn.parameters.length)return 0;t=hr(t),n=hr(n);var s=-1,c=fr(t);if(c&&c!==Jg){var u=fr(n);if(u){var _=o(c,u,!1)||o(u,c,a);if(!_)return a&&i(e.Diagnostics.The_this_types_of_each_signature_are_incompatible),0;s&=_}}for(var l=Mi(t),d=Mi(n),p=Bi(t,l,n,d),f=t.parameters,m=n.parameters,g=0;g0){for(var c=0;c=5)for(var r=e.symbol,a=0,i=0;i=5))return!0}return!1}function qi(e,t){return 0!==Wi(e,t,Di)}function Wi(e,t,n){if(e===t)return-1;var r=24&gu(e),a=24&gu(t);if(r!==a)return 0;if(r){if(fp(e)!==fp(t))return 0}else if((536870912&e.flags)!==(536870912&t.flags))return 0;return P_(e)!==P_(t)?0:n(wt(e),wt(t))}function Hi(e,t,n){if(e.parameters.length===t.parameters.length&&e.minArgumentCount===t.minArgumentCount&&e.hasRestParameter===t.hasRestParameter)return!0;var r=e.hasRestParameter?1:0,a=t.hasRestParameter?1:0;return!!(n&&e.minArgumentCount<=t.minArgumentCount&&(r>a||r===a&&e.parameters.length>=t.parameters.length))}function Gi(e,t,n,r,a,i){if(e===t)return-1;if(!Hi(e,t,n))return 0;if((e.typeParameters?e.typeParameters.length:0)!==(t.typeParameters?t.typeParameters.length:0))return 0;e=hr(e),t=hr(t);var o=-1;if(!r){var s=fr(e);if(s){var c=fr(t);if(c){var u=i(s,c);if(!u)return 0;o&=u}}}for(var _=t.parameters.length,l=0;l<_;l++){var d=Xi(e,l)?gr(e):f_(e.parameters[l]),p=Xi(t,l)?gr(t):f_(t.parameters[l]),u=i(d,p);if(!u)return 0;o&=u}return a||(o&=i(mr(e),mr(t))),o}function Xi(e,t){return e.hasRestParameter&&t>=e.parameters.length-1}function Qi(e,t){for(var n=0,r=t;no&&(a=t[s],i=u,o=c),o===t.length-1)break}wi(i,a,n,e.Diagnostics.Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0,r)}function to(e){return 4&k(e)&&e.target===ey}function no(e){return 4&k(e)&&(e.target===ey||e.target===ty)||!(6144&e.flags)&&Ei(e,cy)}function ro(e){return!!Xn(e,"0")}function ao(e){return 0!==(6624&e.flags)}function io(t){return!!(8&t.flags)||(65536&t.flags?!!(16&t.flags)||!e.forEach(t.types,function(e){return!ao(e)}):ao(t))}function oo(t){return 32&t.flags?Rg:64&t.flags?Ig:128&t.flags?Bg:256&t.flags?t.baseType:65536&t.flags&&!(16&t.flags)?fa(e.sameMap(t.types,oo)):t}function so(t){return 32&t.flags&&1048576&t.flags?Rg:64&t.flags&&1048576&t.flags?Ig:128&t.flags?Bg:256&t.flags?t.baseType:65536&t.flags&&!(16&t.flags)?fa(e.sameMap(t.types,so)):t}function co(e){return!!(4&k(e)&&8&e.target.objectFlags)}function uo(e){for(var t=0,n=0,r=e;n=0&&!n[s].isFixed){var _=Po(r,a);_&&(g++,o(_,t[s]),g--)}return}if(16384&i.flags)return o(Sa(r),i),void o(fa(e.map(jn(r),wt)),Rn(a))}c(r,a),u(r,a,0),u(r,a,1),d(r,a)}function c(e,t){for(var n=Kn(t),r=0,a=n;rn)&&(t.failedTypeParameterIndex=n)}return a}function Ko(e){for(var t=0;t=2||0===(34&n.flags)||256===n.valueDeclaration.parent.kind)){for(var r=e.getEnclosingBlockScopeContainer(n.valueDeclaration),a=ec(t.parent,r),i=r,o=!1;i&&!e.nodeStartsNewLexicalEnvironment(i);){if(e.isIterationStatement(i,!1)){o=!0;break}i=i.parent}o&&(a&&(b(i).flags|=65536),211===r.kind&&e.getAncestor(n.valueDeclaration,224).parent===r&&nc(t,r)&&(b(n.valueDeclaration).flags|=2097152),b(n.valueDeclaration).flags|=262144),a&&(b(n.valueDeclaration).flags|=131072)}}function nc(t,n){for(var r=t;183===r.parent.kind;)r=r.parent;var a=!1;if(e.isAssignmentTarget(r))a=!0;else if(190===r.parent.kind||191===r.parent.kind){var i=r.parent;a=42===i.operator||43===i.operator}if(!a)return!1;for(;r!==n;){if(r===n.statement)return!0;r=r.parent}return!1}function rc(e,t){if(b(e).flags|=2,147===t.kind||150===t.kind){var n=t.parent;b(n).flags|=4}else b(t).flags|=4}function ac(t){if(e.isSuperCall(t))return t;if(!e.isFunctionLike(t))return e.forEachChild(t,ac)}function ic(e){var t=b(e);return void 0===t.hasSuperCall&&(t.superCall=ac(e.body),t.hasSuperCall=!!t.superCall),t.superCall}function oc(e){var t=fe(e),n=rn(t),r=jt(n);return r===Og}function sc(t){var n=e.getThisContainer(t,!0),r=!1;if(150===n.kind){var a=n.parent,i=e.getClassExtendsHeritageClauseElement(a);if(i&&!oc(a)){var o=ic(n);(!o||o.end>t.pos)&&_(t,e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class)}}switch(185===n.kind&&(n=e.getThisContainer(n,!1),r=ug<2),n.kind){case 230:_(t,e.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 229:_(t,e.Diagnostics.this_cannot_be_referenced_in_current_location);break;case 150:uc(t,n)&&_(t,e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments);break;case 147:case 146:32&e.getModifierFlags(n)&&_(t,e.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer);break;case 142:_(t,e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name)}if(r&&rc(t,n),e.isFunctionLike(n)&&(!gc(t)||e.getThisParameter(n))){if(184===n.kind&&e.isInJavaScriptFile(n.parent)&&3===e.getSpecialPropertyAssignmentKind(n.parent)){var s=n.parent.left.expression.expression,c=hl(s).symbol;if(c&&c.members&&16&c.flags)return c_(c)}var u=St(n)||lc(n);if(u)return u}if(e.isClassLike(n.parent)){var l=fe(n.parent),d=e.hasModifier(n,32)?wt(l):rn(l).thisType;return Ws(t,d,!0,void 0)}if(e.isInJavaScriptFile(t)){var d=cc(n);if(d&&d!==Ag)return d}return cg.noImplicitThis&&_(t,e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation),Tg}function cc(t){var n=e.getJSDocType(t);if(n&&274===n.kind){var r=n;if(r.parameters.length>0&&277===r.parameters[0].type.kind)return Wa(r.parameters[0].type)}}function uc(e,t){for(var n=e;n&&n!==t;n=n.parent)if(144===n.kind)return!0;return!1}function _c(t){function n(t){return!!t&&(r?150===t.kind:!(!e.isClassLike(t.parent)&&176!==t.parent.kind)&&(32&e.getModifierFlags(t)?149===t.kind||148===t.kind||151===t.kind||152===t.kind:149===t.kind||148===t.kind||151===t.kind||152===t.kind||147===t.kind||146===t.kind||150===t.kind))}var r=179===t.parent.kind&&t.parent.expression===t,a=e.getSuperContainer(t,!0),i=!1;if(!r)for(;a&&185===a.kind;)a=e.getSuperContainer(a,!0),i=ug<2;var o=n(a),s=0;if(!o){for(var c=t;c&&c!==a&&142!==c.kind;)c=c.parent;return c&&142===c.kind?_(t,e.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name):r?_(t,e.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):a&&a.parent&&(e.isClassLike(a.parent)||176===a.parent.kind)?_(t,e.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class):_(t,e.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions),Ag}if(s=32&e.getModifierFlags(a)||r?512:256,b(t).flags|=s,149===a.kind&&256&e.getModifierFlags(a)&&(e.isSuperProperty(t.parent)&&e.isAssignmentTarget(t.parent)?b(a).flags|=4096:b(a).flags|=2048),i&&rc(t.parent,a),176===a.parent.kind)return ug<2?(_(t,e.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher),Ag):Tg;var u=a.parent,l=rn(fe(u)),d=l&&Vt(l)[0];return d?150===a.kind&&uc(t,a)?(_(t,e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments),Ag):512===s?jt(l):fn(d,l.thisType):(e.getClassExtendsHeritageClauseElement(u)||_(t,e.Diagnostics.super_can_only_be_referenced_in_a_derived_class),Ag)}function lc(e){if(bi(e)&&185!==e.kind){var t=Mc(e);if(t){var n=t.thisParameter;if(n)return wt(n)}}}function dc(t){var n=t.parent;if(bi(n)){var r=e.getImmediatelyInvokedFunctionExpression(n);if(r){var a=e.indexOf(n.parameters,t);if(r.arguments&&a=0){var i=s_(t);return m_(i,a)}}function hc(e,t){if(181===e.parent.kind)return vc(e.parent,t)}function bc(t){var n=t.parent,r=n.operatorToken.kind;if(r>=57&&r<=69){if(0!==e.getSpecialPropertyAssignmentKind(n))return;if(t===n.right)return vl(n.left)}else{if(53===r){var a=Pc(n);return a||t!==n.right||(a=vl(n.left)),a}if((52===r||25===r)&&t===n.right)return Pc(n)}}function kc(e,t){if(!(65536&e.flags))return t(e);for(var n,r,a=e.types,i=0,o=a;i=2?Wd(r,void 0):void 0)}}function Nc(e){var t=e.parent;return e===t.whenTrue||e===t.whenFalse?Pc(t):void 0}function Ac(t){var n=t.kind,r=t.parent,a=cu(r);if(250===t.kind){if(!a||at(a))return;return rt(a,t.name.text)}return 251===t.kind?a:void e.Debug.fail("Expected JsxAttribute or JsxSpreadAttribute, got ts.SyntaxKind["+n+"]")}function wc(e){var t=Pc(e);return t&&qn(t)}function Pc(t){if(!Xp(t)){if(t.contextualType)return t.contextualType;var n=t.parent;switch(n.kind){case 223:case 144:case 147:case 146:case 174:return pc(t);case 185:case 216:return fc(t);case 195:return mc(n);case 179:case 180:return vc(n,t);case 182:case 200:return Wa(n.type);case 192:return bc(t);case 257:case 258:return Ec(n);case 175:return Tc(t);case 193:return Nc(t);case 202:return e.Debug.assert(194===n.parent.kind),hc(n.parent,t);case 183:return Pc(n);case 252:return Pc(n);case 250:case 251:return Ac(n)}}}function Fc(e,t){var n=Qn(e,0);if(1===n.length){var r=n[0];if(!r.typeParameters&&!Oc(r,t))return r}}function Oc(t,n){for(var r=0;r=2?Wd(l,void 0):void 0);d&&i.push(d)}else{var p=fl(u,n);i.push(p)}a=a||196===u.kind}if(!a){if(o&&i.length){var p=Fr(ra(i));return p.pattern=t,p}var f=wc(t);if(f&&Sc(f)){var m=f.pattern;if(m&&(173===m.kind||175===m.kind))for(var g=m.elements,y=i.length;y0&&(s=La(s,r(),!0),o=[],i=e.createMap(),m=!1,g=!1,p=0);var x=hl(h.expression);if(!Qc(x))return _(h,e.Diagnostics.Spread_types_may_only_be_created_from_object_types),Ag;s=La(s,x,!1),y=v+1;continue}e.Debug.assert(151===h.kind||152===h.kind),Il(h)}e.hasDynamicName(h)?jc(h.name)?g=!0:m=!0:i[b.name]=b,o.push(b)}if(d)for(var E=0,T=jn(u);E0&&(s=La(s,r(),!0)),s.flags|=c,s.symbol=t.symbol,s):r()}function Qc(t){return!!(6145&t.flags||32768&t.flags&&!Mn(t)||196608&t.flags&&!e.forEach(t.types,function(e){return!Qc(e)}))}function Yc(e){return pu(e),nv||Tg}function Zc(e){pu(e.openingElement),eu(e.closingElement.tagName)?au(e.closingElement):hl(e.closingElement.tagName);for(var t=0,n=e.children;t0&&l[0],p=d&&mr(d),f=p&&(0===d.parameters.length?Vg:wt(d.parameters[0]));if(p&&Ei(p,nv)){var m=ru(lv.IntrinsicAttributes);return m!==Ag&&(f=En(m,f)),f}}if(r&&ji(u,r,pv,t,e.Diagnostics.JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements),at(u))return u;var g=ou();if(void 0===g)return Tg;if(""===g)return u;var y=rt(u,g);if(y){if(at(y)||y===Ag)return y;if(65536&y.flags)return _(t.tagName,e.Diagnostics.JSX_element_attributes_type_0_may_not_be_a_union_type,ze(y)),Tg;var v=y,h=ru(lv.IntrinsicClassAttributes);if(h!==Ag){var b=Lt(h.symbol);b?1===b.length&&(v=En(Pr(h,[u]),v)):v=En(y,h)}var k=ru(lv.IntrinsicAttributes);return k!==Ag&&(v=En(k,v)),v}return Vg}function cu(e){var t=b(e);if(!t.resolvedJsxType){if(eu(e.tagName)){var n=au(e);return 1&t.jsxFlags?t.resolvedJsxType=wt(n):2&t.jsxFlags?t.resolvedJsxType=Sr(n,0).type:t.resolvedJsxType=Ag}var r=_u();return t.resolvedJsxType=su(e,void 0,r)}return t.resolvedJsxType}function uu(e){var t=cu(e.parent),n=Xn(t,e.name.text);return n||Cg}function _u(){return Cy||(Cy=Gr(lv.JSX,lv.ElementClass)),Cy}function lu(){var e=ru(lv.IntrinsicElements);return e?jn(e):og}function du(t){0===(cg.jsx||0)&&_(t,e.Diagnostics.Cannot_use_JSX_unless_the_jsx_flag_is_provided),void 0===nv&&cg.noImplicitAny&&_(t,e.Diagnostics.JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist)}function pu(t){Dm(t),du(t);var n=2===cg.jsx?e.Diagnostics.Cannot_find_name_0:void 0,r=o(),a=E(t.tagName,r,107455,n,r);a&&(a.isReferenced=!0,8388608&a.flags&&!Nf(X(a))&&Y(a));for(var i=cu(t),s=e.createMap(),c=!1,u=t.attributes.length-1;u>=0;u--)if(250===t.attributes[u].kind)tu(t.attributes[u],i,s);else{e.Debug.assert(251===t.attributes[u].kind);var l=nu(t.attributes[u],i,s);at(l)&&(c=!0)}if(i&&!c)for(var d=jn(i),u=0;u=0)return Xi(r,u);if(!r.hasRestParameter&&i>r.parameters.length)return!1;var g=i>=r.minArgumentCount;return s||g}function Lu(e){if(32768&e.flags){var t=Bn(e);if(1===t.callSignatures.length&&0===t.constructSignatures.length&&0===t.properties.length&&!t.stringIndexInfo&&!t.numberIndexInfo)return t.callSignatures[0]}}function Mu(e,t,n){var r=Eo(e,!0);return Co(t,e,function(e,t){Fo(r,mi(e,n),t)}),yr(e,Ko(r))}function Bu(e,t,n,r,a){for(var i=t.typeParameters,o=ni(a),s=0;s=3?3:2;case 144:return 3}}function Uu(t){if(226===t.kind){var n=fe(t);return wt(n)}if(144===t.kind&&(t=t.parent,150===t.kind)){var n=fe(t);return wt(n)}return 147===t.kind||149===t.kind||151===t.kind||152===t.kind?ff(t):(e.Debug.fail("Unsupported decorator target."),Ag)}function qu(t){if(226===t.kind)return e.Debug.fail("Class decorators should not have a second synthetic argument."),Ag;if(144===t.kind&&(t=t.parent,150===t.kind))return Tg;if(147===t.kind||149===t.kind||151===t.kind||152===t.kind){var n=t;switch(n.name.kind){case 70:case 8:case 9:return Ja(32,n.name.text);case 142:var r=Hc(n.name);return j_(r,512)?r:Rg;default:return e.Debug.fail("Unsupported property name."),Ag}}return e.Debug.fail("Unsupported decorator target."),Ag}function Wu(t){if(226===t.kind)return e.Debug.fail("Class decorators should not have a third synthetic argument."),Ag;if(144===t.kind)return Ig;if(147===t.kind)return e.Debug.fail("Property decorators should not have a third synthetic argument."),Ag;if(149===t.kind||151===t.kind||152===t.kind){var n=_f(t);return Xr(n)}return e.Debug.fail("Unsupported decorator target."),Ag}function Hu(t,n){return 0===n?Uu(t.parent):1===n?qu(t.parent):2===n?Wu(t.parent):(e.Debug.fail("Decorators should not have a fourth synthetic argument."),Ag)}function Gu(e,t){return 145===e.kind?Hu(e,t):0===t&&181===e.kind?uy():void 0}function Xu(e,t,n){if(145!==e.kind&&(0!==n||181!==e.kind))return t[n]}function Qu(e,t,n){return 145===e.kind?e.expression:0===t&&181===e.kind?e.template:n}function Yu(t,n,r,a){function o(n,r,i,o){var s;s=e.chainDiagnosticMessages(s,n,r,i,o),a&&(s=e.chainDiagnosticMessages(s,a)),tv.add(e.createDiagnosticForNodeFromMessageChain(t,s))}function s(n,r,a){void 0===a&&(a=!1);for(var i=0,o=n;i1&&(v=s(l,dv,h)),v||(m=void 0,g=void 0,y=void 0,v=s(l,pv,h)),v)return v;if(m)Ju(t,p,m,pv,void 0,!0);else if(g)if(u||_||!c){e.Debug.assert(y.failedTypeParameterIndex>=0);var b=g.typeParameters[y.failedTypeParameterIndex],k=Lo(y,y.failedTypeParameterIndex),x=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly,ze(b));a&&(x=e.chainDiagnosticMessages(x,a)),eo(k,t.expression||t.tag,x)}else{var D=t.typeArguments;Ku(g,D,e.map(D,Wa),!0,a)}else o(e.Diagnostics.Supplied_parameters_do_not_match_any_signature_of_call_target);if(!i)for(var S=0,C=l;S=0&&_(t.arguments[r],e.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher)}var a=hu(t.expression);if(a===jg)return Oy;if(a=qn(a),a===Ag)return Fu(t);var i=a.symbol&&mp(a.symbol);if(i&&128&e.getModifierFlags(i))return _(t,e.Diagnostics.Cannot_create_an_instance_of_the_abstract_class_0,e.declarationNameToString(i.name)),Fu(t);if(at(a))return t.typeArguments&&_(t,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments),Pu(t);var o=Yn(a,1);if(o.length)return t_(t,o[0])?Yu(t,o,n):Fu(t);var s=Yn(a,0);if(s.length){var c=Yu(t,s,n);return mr(c)!==Jg&&_(t,e.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword),fr(c)===Jg&&_(t,e.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void),c}return _(t,e.Diagnostics.Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature),Fu(t)}function t_(t,n){if(!n||!n.declaration)return!0;var r=n.declaration,a=e.getModifierFlags(r);if(!(24&a))return!0;var i=mp(r.parent.symbol),o=rn(r.parent.symbol);if(!nf(t,i)){var s=e.getContainingClass(t);if(s){var c=_f(s),u=Vt(c);if(u.length){var l=u[0];if(16&a&&l.symbol===r.parent.symbol)return!0}}return 8&a&&_(t,e.Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,ze(o)),16&a&&_(t,e.Diagnostics.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,ze(o)),!1}return!0}function n_(t,n){var r=hl(t.tag),a=qn(r);if(a===Ag)return Fu(t);var i=Yn(a,0),o=Yn(a,1);return $u(r,a,i.length,o.length)?Pu(t):i.length?Yu(t,i,n):(_(t,e.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures,ze(a)),Fu(t))}function r_(t){switch(t.parent.kind){case 226:case 197:return e.Diagnostics.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression;case 144:return e.Diagnostics.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression;case 147:return e.Diagnostics.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression;case 149:case 151:case 152:return e.Diagnostics.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression}}function a_(t,n){var r=hl(t.expression),a=qn(r);if(a===Ag)return Fu(t);var i=Yn(a,0),o=Yn(a,1);if($u(r,a,i.length,o.length))return Pu(t);var s=r_(t);if(!i.length){var c=void 0;return c=e.chainDiagnosticMessages(c,e.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures,ze(a)),c=e.chainDiagnosticMessages(c,s),tv.add(e.createDiagnosticForNodeFromMessageChain(t,c)),Fu(t)}return Yu(t,i,n,s)}function i_(t,n){switch(t.kind){case 179:return Zu(t,n);case 180:return e_(t,n);case 181:return n_(t,n);case 145:return a_(t,n)}e.Debug.fail("Branch in 'resolveSignature' should be unreachable.")}function o_(e,t){var n=b(e),r=n.resolvedSignature;if(r&&r!==Fy&&!t)return r;n.resolvedSignature=Fy;var a=i_(e,t);return n.resolvedSignature=Ly===My?a:r,a}function s_(e){return b(e).resolvedSignature===Fy?Fy:o_(e)}function c_(e){var t=h(e);return t.inferredClassType||(t.inferredClassType=Ee(e,e.members,og,og,void 0,void 0)),t.inferredClassType}function u_(t){pm(t,t.typeArguments)||mm(t,t.arguments);var n=o_(t);if(96===t.expression.kind)return Jg;if(180===t.kind){var r=n.declaration;if(r&&150!==r.kind&&154!==r.kind&&159!==r.kind&&!e.isJSDocConstructSignature(r)){var a=70===t.expression.kind?Jo(t.expression):hl(t.expression).symbol;return a&&a.members&&(16&a.flags||e.isDeclarationOfFunctionExpression(a))?c_(a):(cg.noImplicitAny&&_(t,e.Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type),Tg)}}return e.isInJavaScriptFile(t)&&__(t)?pr(t.arguments[0]):mr(n)}function __(t){if(!e.isRequireCall(t,!0))return!1;var n=E(t.expression,t.expression.text,107455,void 0,void 0);if(!n)return!0;if(8388608&n.flags)return!1;var r=16&n.flags?225:3&n.flags?223:0;if(0!==r){var a=e.getDeclarationOfKind(n,r);return e.isInAmbientContext(a)}return!1}function l_(e){return mr(o_(e))}function d_(t){var n=vo(oo(hl(t.expression)));Jp(t.type);var r=Wa(t.type);if(i&&r!==Ag){var a=ko(n);Ni(r,a)||Fi(n,r,t,e.Diagnostics.Type_0_cannot_be_converted_to_type_1)}return r}function p_(e){return fo(hl(e.expression))}function f_(e){var t=wt(e);if(pg){var n=e.valueDeclaration;if(n&&n.initializer)return lo(t,2048)}return t}function m_(e,t){return e.hasRestParameter?t=57&&d<=69&&R_(t,e.Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access)&&Pi(n,p,t,void 0)}function l(){_(o||n,e.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2,e.tokenToString(n.kind),ze(p),ze(f))}var d=n.kind;if(57===d&&(176===t.kind||175===t.kind))return Y_(t,hl(r,a),a);var p=hl(t,a),f=hl(r,a);switch(d){case 38:case 39:case 60:case 61:case 40:case 62:case 41:case 63:case 37:case 59:case 44:case 64:case 45:case 65:case 46:case 66:case 48:case 68:case 49:case 69:case 47:case 67:if(p===jg||f===jg)return jg;6144&p.flags&&(p=f),6144&f.flags&&(f=p),p=fo(p),f=fo(f);var m=void 0;if(136&p.flags&&136&f.flags&&void 0!==(m=c(n.kind)))_(o||n,e.Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead,e.tokenToString(n.kind),e.tokenToString(m));else{var g=w_(t,p,e.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type),y=w_(r,f,e.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type);g&&y&&u(Ig)}return Ig;case 36:case 58:if(p===jg||f===jg)return jg;6144&p.flags&&(p=f),6144&f.flags&&(f=p),p=fo(p),f=fo(f);var v=void 0;if(j_(p,340)&&j_(f,340))v=Ig;else if(j_(p,262178)||j_(f,262178)?v=Rg:(at(p)||at(f))&&(v=p===Ag||f===Ag?Ag:Tg),v&&!s(d))return v;return v?(58===d&&u(v),v):(l(),Tg);case 26:case 28:case 29:case 30:return s(d)&&(p=oo(p),f=oo(f),Ni(p,f)||Ni(f,p)||l()),Bg;case 31:case 32:case 33:case 34:var h=io(p),b=io(f);return h&&b||(p=h?oo(p):p,f=b?oo(f):f),el(p,f)||el(f,p)||l(),Bg;case 92:return q_(t,r,p,f);case 91:return W_(t,r,p,f);case 52:return 1048576&ts(p)?lo(f,_o(pg?p:oo(f))):p;case 53:return 2097152&ts(p)?tl(po(p),f):p;case 57:return u(f),vo(f);case 25:return!cg.allowUnreachableCode&&$_(t)&&_(t,e.Diagnostics.Left_side_of_comma_operator_is_unused_and_has_no_side_effects),f}}function al(t){for(var n=t,r=t.parent;r;){if(e.isFunctionLike(r)&&n===r.body)return!1;if(e.isClassLike(n))return!0;n=r,r=r.parent}return!1}function il(t){if(i&&(4096&t.flags&&!al(t)||Km(t,e.Diagnostics.A_yield_expression_is_only_allowed_in_a_generator_body),gc(t)&&_(t,e.Diagnostics.yield_expressions_cannot_be_used_in_a_parameter_initializer)),t.expression){var n=e.getContainingFunction(t);if(n&&n.asteriskToken){var r=_l(t.expression,void 0),a=void 0,o=!!t.asteriskToken;if(o&&(a=qd(r,t.expression)),n.type){var s=Gd(Wa(n.type))||Tg;o?Pi(a,s,t.expression,void 0):Pi(r,s,t.expression,void 0)}}}return Tg}function ol(e,t){hl(e.condition);var n=hl(e.whenTrue,t),r=hl(e.whenFalse,t);return tl(n,r)}function sl(e){switch(8===e.kind&&Xm(e),e.kind){case 9:return Ba(Ja(32,e.text));case 8:return Ba(Ja(64,e.text));case 100:return Lg;case 85:return Mg}}function cl(t){return e.forEach(t.templateSpans,function(e){hl(e.expression)}),Rg}function ul(e,t,n){var r=e.contextualType;e.contextualType=t;var a=hl(e,n);return e.contextualType=r,a}function _l(e,t){var n=b(e);if(!n.resolvedType){var r=Ly;Ly=My,n.resolvedType=hl(e,t),Ly=r}return n.resolvedType}function ll(t){return t=e.skipParentheses(t),182===t.kind||200===t.kind}function dl(t){var n=_l(t.initializer);return 2&e.getCombinedNodeFlags(t)||64&e.getCombinedModifierFlags(t)&&!e.isParameterPropertyDeclaration(t)||ll(t.initializer)?n:so(n)}function pl(e){if(e){if(16384&e.flags){var t=Vn(e);if(30&t.flags)return!0;e=t}return z_(e,262624)}return!1}function fl(e,t){var n=hl(e,t);return ll(e)||pl(Pc(e))?n:so(n)}function ml(e,t){return 142===e.name.kind&&Hc(e.name),fl(e.initializer,t)}function gl(e,t){Am(e),142===e.name.kind&&Hc(e.name);var n=N_(e,t);return yl(e,n,t)}function yl(e,t,n){if(Bc(n)){var r=Lu(t);if(r&&r.typeParameters){var a=wc(e);if(a){var i=Lu(a);if(i&&!i.typeParameters)return br(Mu(r,i,n))}}}return t}function vl(e){if(179===e.kind&&96!==e.expression.kind){var t=hu(e.expression),n=Lu(t);if(n&&!n.typeParameters)return mr(n)}return hl(e)}function hl(t,n){var r;if(141===t.kind)r=ku(t);else{var a=bl(t,n);r=yl(t,a,n)}if(V_(r)){var i=177===t.parent.kind&&t.parent.expression===t||178===t.parent.kind&&t.parent.expression===t||(70===t.kind||141===t.kind)&&af(t);i||_(t,e.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment)}return r}function bl(t,n){switch(t.kind){case 70:return $s(t);case 98:return sc(t);case 96:return _c(t);case 94:return Og;case 9:case 8:case 100:case 85:return sl(t);case 194:return cl(t);case 12:return Rg;case 11:return iy;case 175:return zc(t,n);case 176:return Xc(t,n);case 177:return bu(t);case 178:return Au(t);case 179:case 180:return u_(t);case 181:return l_(t);case 183:return hl(t.expression,n);case 197:return up(t);case 184:case 185:return N_(t,n);case 187:return L_(t);case 182:case 200:return d_(t);case 201:return p_(t);case 186:return I_(t);case 188:return M_(t);case 189:return B_(t);case 190:return K_(t);case 191:return J_(t);case 192:return nl(t,n);case 193:return ol(t,n);case 196:return Kc(t,n);case 198:return Pg;case 195:return il(t);case 252:return fu(t);case 246:return Zc(t);case 247:return Yc(t);case 248:e.Debug.fail("Shouldn't ever directly check a JsxOpeningElement")}return Ag}function kl(t){t.expression&&Km(t.expression,e.Diagnostics.Type_expected),Jp(t.constraint),Tr(tn(fe(t))),i&&op(t.name,e.Diagnostics.Type_parameter_name_cannot_be_0)}function xl(t){$f(t)||em(t),Ad(t);var n=e.getContainingFunction(t);92&e.getModifierFlags(t)&&(n=e.getContainingFunction(t),150===n.kind&&e.nodeIsPresent(n.body)||_(t,e.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation)),t.questionToken&&e.isBindingPattern(t.name)&&n.body&&_(t,e.Diagnostics.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature),"this"===t.name.text&&(0!==e.indexOf(n.parameters,t)&&_(t,e.Diagnostics.A_this_parameter_must_be_the_first_parameter),150!==n.kind&&154!==n.kind&&159!==n.kind||_(t,e.Diagnostics.A_constructor_cannot_have_a_this_parameter)),!t.dotDotDotToken||e.isBindingPattern(t.name)||to(wt(t.symbol))||_(t,e.Diagnostics.A_rest_parameter_must_be_of_an_array_type)}function Dl(e){return!(!e.asteriskToken||!e.body)&&(149===e.kind||225===e.kind||184===e.kind)}function Sl(e,t){if(e)for(var n=0;n=0)if(n.parameters[r.parameterIndex].dotDotDotToken)_(a,e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter);else{var i=e.chainDiagnosticMessages(void 0,e.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type);Pi(r.type,_f(n.parameters[r.parameterIndex]),t.type,void 0,i)}else if(a){for(var o=!1,s=0,c=n.parameters;s=2&&Dl(t)){var n=Wa(t.type);if(n===Jg)_(t.type,e.Diagnostics.A_generator_cannot_have_a_void_type_annotation);else{var r=Gd(n)||Tg,a=Zr(r);Pi(a,n,t.type)}}else e.isAsyncFunctionLike(t)&&rd(t);lg&&!t.body&&gd(t)}}function Al(t){function n(t,n,r,a){var i=t[r];i?i&a?_(n,e.Diagnostics.Duplicate_identifier_0,e.getTextOfNode(n)):t[r]=i|a:t[r]=a}var r;!function(e){e[e.Getter=1]="Getter",e[e.Setter=2]="Setter",e[e.Property=3]="Property"}(r||(r={}));for(var a=e.createMap(),i=e.createMap(),o=0,s=t.members;o0&&n.declarations[0]!==t)return}var r=kr(fe(t));if(r)for(var a=!1,i=!1,o=0,s=r.declarations;o0?m_(e,0):zg}function td(e){return nd(e,void 0,void 0)}function nd(t,n,r){function a(t){if(65536&t.flags){for(var i=[],o=0,s=t.types;o=0)return n&&_(n,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method,Ke(t.symbol)),Ag;ev.push(t.id);var l=a(u);return ev.pop(),l}return a(t)}function rd(t){var n=Wa(t.type);if(ug>=2){if(n===Ag)return Ag;var r=hy();if(r!==Wg&&r!==Pt(n))return _(t.type,e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type),Ag}else{if(id(t.type),n===Ag)return Ag;var a=e.getEntityNameFromTypeNode(t.type);if(void 0===a)return _(t.type,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,ze(n)),Ag;var i=ee(a,107455,!0),o=i?wt(i):Ag;if(o===Ag)return _(t.type,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a)),Ag;var s=Dy();if(s===Vg)return _(t.type,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a)),Ag;if(!Pi(o,s,t.type,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value))return Ag;var c=a&&Np(a),u=D(t.locals,c.text,107455);if(u)return _(u.valueDeclaration,e.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,c.text,e.entityNameToString(a)),Ag}return nd(n,t,e.Diagnostics.An_async_function_or_method_must_have_a_valid_awaitable_return_type)}function ad(t){var n=o_(t),r=mr(n);if(!(1&r.flags)){var a,i,o=r_(t);switch(t.parent.kind){case 226:var s=fe(t.parent),c=wt(s);a=fa([c,Jg]);break;case 144:a=Jg,i=e.chainDiagnosticMessages(i,e.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any);break;case 147:a=Jg,i=e.chainDiagnosticMessages(i,e.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any);break;case 149:case 151:case 152:var u=_f(t.parent),_=Xr(u);a=fa([_,Jg])}Pi(r,a,t,o,i)}}function id(t){var n=t&&e.getEntityNameFromTypeNode(t),r=n&&Np(n),a=r&&E(r,r.text,8388608|(70===n.kind?793064:1920),void 0,void 0);a&&8388608&a.flags&&ye(a)&&!Nf(X(a))&&Y(a)}function od(t){if(t.decorators&&e.nodeCanBeDecorated(t)){cg.experimentalDecorators||_(t,e.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning);var n=t.decorators[0];if(Gf(n,8),144===t.kind&&Gf(n,32),cg.emitDecoratorMetadata)switch(Gf(n,16),t.kind){case 226:var r=e.getFirstConstructorWithBody(t);if(r)for(var a=0,i=r.parameters;a=e.ModuleKind.ES2015)&&(bd(t,n,"require")||bd(t,n,"exports"))&&(230!==t.kind||1===e.getModuleInstanceState(t))){var r=tt(t);261===r.kind&&e.isExternalOrCommonJsModule(r)&&_(n,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,e.declarationNameToString(n),e.declarationNameToString(n))}}function Cd(t,n){if(!(ug>=4)&&bd(t,n,"Promise")&&(230!==t.kind||1===e.getModuleInstanceState(t))){var r=tt(t);261===r.kind&&e.isExternalOrCommonJsModule(r)&&1024&r.flags&&_(n,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,e.declarationNameToString(n),e.declarationNameToString(n))}}function Ed(t){if(0===(3&e.getCombinedNodeFlags(t))&&!e.isParameterDeclaration(t)&&(223!==t.kind||t.initializer)){var n=fe(t);if(1&n.flags){var r=E(t,t.name.text,3,void 0,void 0);if(r&&r!==n&&2&r.flags&&3&yu(r)){var a=e.getAncestor(r.valueDeclaration,224),i=205===a.parent.kind&&a.parent.parent?a.parent.parent:void 0,o=i&&(204===i.kind&&e.isFunctionLike(i.parent)||231===i.kind||230===i.kind||261===i.kind);if(!o){var s=Ke(r);_(t,e.Diagnostics.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,s,s)}}}}}function Td(t){function n(a){if(!e.isTypeNode(a)&&!e.isDeclarationName(a)){if(177===a.kind)return n(a.expression);if(70!==a.kind)return e.forEachChild(a,n);var i=E(a,a.text,8496063,void 0,void 0);if(i&&i!==Cg&&i.valueDeclaration){if(i.valueDeclaration===t)return void _(a,e.Diagnostics.Parameter_0_cannot_be_referenced_in_its_initializer,e.declarationNameToString(t.name));var o=e.getEnclosingBlockScopeContainer(i.valueDeclaration);if(o===r){if(144===i.valueDeclaration.kind){if(i.valueDeclaration.pos1)return Km(t,e.Diagnostics.Modifiers_cannot_appear_here)}}function Id(e){Gm(e),hl(e.expression)}function Ld(t){Gm(t),hl(t.expression),Jp(t.thenStatement),206===t.thenStatement.kind&&_(t.thenStatement,e.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement),Jp(t.elseStatement)}function Md(e){Gm(e),Jp(e.statement),hl(e.expression)}function Bd(e){Gm(e),hl(e.expression),Jp(e.statement)}function Kd(t){Gm(t)||t.initializer&&224===t.initializer.kind&&Im(t.initializer),t.initializer&&(224===t.initializer.kind?e.forEach(t.initializer.declarations,Pd):hl(t.initializer)),t.condition&&hl(t.condition),t.incrementor&&hl(t.incrementor),Jp(t.statement),t.locals&&ud(t)}function Jd(t){if(Sm(t),224===t.initializer.kind)jd(t);else{var n=t.initializer,r=Vd(t.expression);if(175===n.kind||176===n.kind)Y_(n,r||Ag);else{var a=hl(n);R_(n,e.Diagnostics.The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access),r&&Pi(r,a,n,void 0)}}Jp(t.statement),t.locals&&ud(t)}function zd(t){Sm(t);var n=hu(t.expression);if(224===t.initializer.kind){var r=t.initializer.declarations[0];r&&e.isBindingPattern(r.name)&&_(r.name,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern),jd(t)}else{var a=t.initializer,i=hl(a);175===a.kind||176===a.kind?_(a,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern):Ei(Ca(n),i)?R_(a,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access):_(a,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any)}Uc(n,573440)||_(t.expression,e.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter),Jp(t.statement),t.locals&&ud(t)}function jd(e){var t=e.initializer;if(t.declarations.length>=1){var n=t.declarations[0];Pd(n)}}function Vd(e){var t=hu(e);return Ud(t,e,!0)}function Ud(t,n,r){if(at(t))return t;if(ug>=2)return qd(t,n);if(r)return Xd(t,n);if(no(t)){var a=tr(t,1);if(a)return a}return n&&_(n,e.Diagnostics.Type_0_is_not_an_array_type,ze(t)),Ag}function qd(e,t){var n=Wd(e,t);return t&&n&&Pi(e,Yr(n),t),n||Tg}function Wd(t,n){if(!at(t)){var r=t;if(!r.iterableElementType)if(4&k(t)&&t.target===ly())r.iterableElementType=t.typeArguments[0];else{var a=rt(t,e.getPropertyNameForKnownSymbolName("iterator"));if(at(a))return;var i=a?Yn(a,0):og;if(0===i.length)return void(n&&_(n,e.Diagnostics.Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator));r.iterableElementType=Hd(fa(e.map(i,mr),!0),n)}return r.iterableElementType}}function Hd(t,n){if(!at(t)){var r=t;if(!r.iteratorElementType)if(4&k(t)&&t.target===dy())r.iteratorElementType=t.typeArguments[0];else{var a=rt(t,"next");if(at(a))return;var i=a?Yn(a,0):og;if(0===i.length)return void(n&&_(n,e.Diagnostics.An_iterator_must_have_a_next_method));var o=fa(e.map(i,mr),!0);if(at(o))return;var s=rt(o,"value");if(!s)return void(n&&_(n,e.Diagnostics.The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property));r.iteratorElementType=s}return r.iteratorElementType}}function Gd(e){if(!at(e))return 4&k(e)&&e.target===py()?e.typeArguments[0]:Wd(e,void 0)||Hd(e,void 0)}function Xd(t,n){e.Debug.assert(ug<2);var r=t;if(65536&t.flags){var a=t.types,i=e.filter(a,function(e){return!(262178&e.flags)});i!==a&&(r=fa(i,!0))}else 262178&t.flags&&(r=zg);var o=t!==r,s=!1;if(o&&(ug<1&&(_(n,e.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher),s=!0),8192&r.flags))return Rg;if(!no(r)){if(!s){var c=o?e.Diagnostics.Type_0_is_not_an_array_type:e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type;_(n,c,ze(r))}return o?Rg:Ag}var u=tr(r,1)||Ag;return o?262178&u.flags?Rg:fa([u,Rg],!0):u}function Qd(e){Gm(e)||wm(e)}function Yd(t){return!(151!==t.kind||!e.getSetAccessorTypeAnnotationNode(e.getDeclarationOfKind(t.symbol,152)))}function Zd(t,n){var r=e.isAsyncFunctionLike(t)?$l(n):n;return r&&z_(r,1025)}function $d(t){if(!Gm(t)){var n=e.getContainingFunction(t);n||Km(t,e.Diagnostics.A_return_statement_can_only_be_used_within_a_function_body)}var r=e.getContainingFunction(t);if(r){var a=_r(r),i=mr(a);if(pg||t.expression||8192&i.flags){var o=t.expression?_l(t.expression):wg;if(r.asteriskToken)return;if(152===r.kind)t.expression&&_(t.expression,e.Diagnostics.Setters_cannot_return_a_value);else if(150===r.kind)t.expression&&!Pi(o,i,t.expression)&&_(t.expression,e.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class);else if(r.type||Yd(r))if(e.isAsyncFunctionLike(r)){var s=$l(i),c=nd(o,t.expression||t,e.Diagnostics.Return_expression_in_async_function_does_not_have_a_valid_callable_then_member);s&&Pi(c,s,t.expression||t)}else Pi(o,i,t.expression||t)}else 150!==r.kind&&cg.noImplicitReturns&&!Zd(r,i)&&_(t,e.Diagnostics.Not_all_code_paths_return_a_value)}}function ep(t){Gm(t)||16384&t.flags&&Km(t,e.Diagnostics.with_statements_are_not_allowed_in_an_async_function_block),hl(t.expression);var n=e.getSourceFileOfNode(t);if(!Bm(n)){var r=e.getSpanOfTokenAtPosition(n,t.pos).start,a=t.statement.pos;Jm(n,r,a-r,e.Diagnostics.The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any)}}function tp(t){Gm(t);var n,r=!1,a=hl(t.expression),o=io(a);e.forEach(t.caseBlock.clauses,function(s){if(254===s.kind&&!r)if(void 0===n)n=s;else{var c=e.getSourceFileOfNode(t),u=e.skipTrivia(c.text,s.pos),_=s.statements.length>0?s.statements[0].pos:s.end;Jm(c,u,_-u,e.Diagnostics.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement),r=!0}if(i&&253===s.kind){var l=s,d=hl(l.expression),p=io(d),f=a;p&&o||(d=p?oo(d):d,f=oo(a)),el(f,d)||Fi(d,f,l.expression,void 0)}e.forEach(s.statements,Jp)}),t.caseBlock.locals&&ud(t.caseBlock)}function np(t){if(!Gm(t))for(var n=t.parent;n&&!e.isFunctionLike(n);){if(219===n.kind&&n.label.text===t.label.text){var r=e.getSourceFileOfNode(t);zm(t.label,e.Diagnostics.Duplicate_label_0,e.getTextOfNodeFromSourceText(r.text,t.label));break}n=n.parent}Jp(t.statement)}function rp(t){Gm(t)||void 0===t.expression&&Qm(t,e.Diagnostics.Line_break_not_permitted_here),t.expression&&hl(t.expression)}function ap(t){Gm(t),vd(t.tryBlock);var n=t.catchClause;if(n){if(n.variableDeclaration)if(n.variableDeclaration.type)Km(n.variableDeclaration.type,e.Diagnostics.Catch_clause_variable_cannot_have_a_type_annotation);else if(n.variableDeclaration.initializer)Km(n.variableDeclaration.initializer,e.Diagnostics.Catch_clause_variable_cannot_have_an_initializer);else{var r=n.block.locals;if(r)for(var a in n.locals){var i=r[a];i&&0!==(2&i.flags)&&zm(i.valueDeclaration,e.Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause,a)}}vd(n.block)}t.finallyBlock&&vd(t.finallyBlock)}function ip(t){function n(t,n,r,a,i,o){if(i&&(1!==o||jc(t.valueDeclaration.name))){var s;if(142===t.valueDeclaration.name.kind||t.parent===r.symbol)s=t.valueDeclaration;else if(a)s=a;else if(2&k(r)){var c=e.forEach(Vt(r),function(e){return Jn(e,t.name)&&tr(e,o)});s=c?void 0:r.symbol.declarations[0]}if(s&&!Ei(n,i)){var u=0===o?e.Diagnostics.Property_0_of_type_1_is_not_assignable_to_string_index_type_2:e.Diagnostics.Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2;_(s,u,Ke(t),ze(n),ze(i))}}}var r=xr(t.symbol,1),a=xr(t.symbol,0),i=tr(t,0),o=tr(t,1);if((i||o)&&(e.forEach(Kn(t),function(e){var s=wt(e);n(e,s,t,a,i,0),n(e,s,t,r,o,1)}),1&k(t)&&e.isClassLike(t.symbol.valueDeclaration)))for(var s=t.symbol.valueDeclaration,c=0,u=s.members;c>s;case 46:return a>>>s;case 44:return a<1&&e.forEach(r.declarations,function(t){e.isConstEnumDeclaration(t)!==n&&_(t.name,e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const)});var o=!1;e.forEach(r.declarations,function(t){if(229!==t.kind)return!1;var n=t;if(!n.members.length)return!1;var r=n.members[0];r.initializer||(o?_(r.name,e.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):o=!0)})}}}function Sp(t){for(var n=t.declarations,r=0,a=n;r1&&!r&&e.isInstantiatedModule(t,cg.preserveConstEnums||cg.isolatedModules)){var c=Sp(s);c&&(e.getSourceFileOfNode(t)!==e.getSourceFileOfNode(c)?_(t.name,e.Diagnostics.A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged):t.pos1)for(var f=0,m=l;f0?e.concatenate(o,i):i}return e.forEach(r.getSourceFiles(),Vp),tv.getDiagnostics()}function Hp(){return Gp(),tv.getGlobalDiagnostics()}function Gp(){if(!i)throw new Error("Trying to get diagnostics from a type checker that does not produce them.")}function Xp(e){if(e)for(;e.parent;){if(217===e.parent.kind&&e.parent.statement===e)return!0;e=e.parent}return!1}function Qp(t,n){function r(){for(;t;){switch(t.locals&&!x(t)&&i(t.locals,n),t.kind){case 261:if(!e.isExternalOrCommonJsModule(t))break;case 230:i(fe(t).exports,8914931&n);break;case 229:i(fe(t).exports,8&n);break;case 197:var r=t.name;r&&a(t.symbol,n);case 226:case 227:32&s||i(fe(t).members,793064&n);break;case 184:var o=t.name;o&&a(t.symbol,n)}e.introducesArgumentsExoticObject(t)&&a(gg,n),s=e.getModifierFlags(t),t=t.parent}i(Iy,n)}function a(e,t){if(e.flags&t){var n=e.name;o[n]||(o[n]=e)}}function i(e,t){if(t)for(var n in e){var r=e[n];a(r,t)}}var o=e.createMap(),s=0;return Xp(t)?[]:(r(),ir(o))}function Yp(e){return 70===e.kind&&Zp(e.parent)&&e.parent.name===e}function Zp(e){switch(e.kind){case 143:case 226:case 227:case 228:case 229:return!0}}function $p(e){for(var t=e;t.parent&&141===t.parent.kind;)t=t.parent;return t.parent&&(157===t.parent.kind||272===t.parent.kind)}function ef(e){for(var t=e;t.parent&&177===t.parent.kind;)t=t.parent;return t.parent&&199===t.parent.kind}function tf(t,n){for(var r;;){if(t=e.getContainingClass(t),!t)break;if(r=n(t))break}return r}function nf(e,t){return!!tf(e,function(e){return e===t})}function rf(e){for(;141===e.parent.kind;)e=e.parent;return 234===e.parent.kind?e.parent.moduleReference===e&&e.parent:240===e.parent.kind?e.parent.expression===e&&e.parent:void 0}function af(e){return void 0!==rf(e)}function of(t){if(e.isDeclarationName(t))return fe(t.parent);if(e.isInJavaScriptFile(t)&&177===t.parent.kind){var n=e.getSpecialPropertyAssignmentKind(t.parent.parent);switch(n){case 1:case 3:return fe(t.parent);case 4:case 2:return fe(t.parent.parent)}}if(240===t.parent.kind&&e.isEntityNameExpression(t))return ee(t,9289727);if(177!==t.kind&&af(t)){var r=e.getAncestor(t,234);return e.Debug.assert(void 0!==r),Z(t,!0)}if(e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),ef(t)){var a=0;return 199===t.parent.kind?(a=793064,e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)&&(a|=107455)):a=1920,a|=8388608,ee(t,a)}if(e.isPartOfExpression(t)){if(e.nodeIsMissing(t))return;if(70===t.kind)return e.isJSXTagName(t)&&eu(t)?au(t.parent):ee(t,107455,!1,!0);if(177===t.kind){var i=b(t).resolvedSymbol;return i||bu(t),b(t).resolvedSymbol}if(141===t.kind){var i=b(t).resolvedSymbol;return i||ku(t),b(t).resolvedSymbol}}else{if($p(t)){var a=157===t.parent.kind||272===t.parent.kind?793064:1920;return ee(t,a,!1,!0)}if(250===t.parent.kind)return uu(t.parent)}return 156===t.parent.kind?ee(t,1):void 0}function sf(t){if(261===t.kind)return e.isExternalModule(t)?pe(t.symbol):void 0;if(!Xp(t)){if(e.isDeclarationName(t))return fe(t.parent);if(e.isLiteralComputedPropertyDeclarationName(t))return fe(t.parent.parent);if(70===t.kind){if(af(t))return of(t);if(174===t.parent.kind&&172===t.parent.parent.kind&&t===t.parent.propertyName){var n=_f(t.parent.parent),r=n&&Xn(n,t.text);if(r)return r}}switch(t.kind){case 70:case 177:case 141:return of(t);case 98:var a=e.getThisContainer(t,!1);if(e.isFunctionLike(a)){var i=_r(a);if(i.thisParameter)return i.thisParameter}case 96:var o=e.isPartOfExpression(t)?vl(t):Wa(t);return o.symbol;case 167:return Wa(t).symbol;case 122:var s=t.parent;if(s&&150===s.kind)return s.parent.symbol;return;case 9:if(e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t||(235===t.parent.kind||241===t.parent.kind)&&t.parent.moduleSpecifier===t)return te(t,t);if(e.isInJavaScriptFile(t)&&e.isRequireCall(t.parent,!1))return te(t,t);case 8:if(178===t.parent.kind&&t.parent.argumentExpression===t){var c=vl(t.parent.expression);if(c===Ag)return;var u=qn(c);if(u===Ag)return;return Xn(u,t.text)}}}}function cf(e){if(e&&258===e.kind)return ee(e.name,8496063)}function uf(e){return e.parent.parent.moduleSpecifier?j(e.parent.parent,e):ee(e.propertyName||e.name,9289727)}function _f(t){if(Xp(t))return Ag;if(e.isPartOfTypeNode(t))return Wa(t);if(e.isPartOfExpression(t))return pf(t);if(e.isExpressionWithTypeArgumentsInClassExtendsClause(t))return Vt(rn(fe(t.parent.parent)))[0];if(Zp(t)){var n=fe(t);return rn(n)}if(Yp(t)){var n=sf(t);return n&&rn(n)}if(e.isDeclaration(t)){var n=fe(t);return wt(n)}if(e.isDeclarationName(t)){var n=sf(t);return n&&wt(n)}if(e.isBindingPattern(t))return ft(t.parent,!0);if(af(t)){var n=sf(t),r=n&&rn(n);return r!==Ag?r:wt(n)}return Ag}function lf(t){if(e.Debug.assert(176===t.kind||175===t.kind),213===t.parent.kind){var n=Vd(t.parent.expression);return Y_(t,n||Ag)}if(192===t.parent.kind){var n=vl(t.parent.right);return Y_(t,n||Ag)}if(257===t.parent.kind){var r=lf(t.parent.parent);return G_(r||Ag,t.parent)}e.Debug.assert(175===t.parent.kind);var a=lf(t.parent),i=Ud(a||Ag,t.parent,!1)||Ag;return Q_(t.parent,a,e.indexOf(t.parent.elements,t),i||Ag)}function df(e){var t=lf(e.parent.parent);return t&&Xn(t,e.text)}function pf(t){return e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),Ka(vl(t))}function ff(t){var n=fe(t.parent);return 32&e.getModifierFlags(t)?wt(n):rn(n)}function mf(t){t=qn(t);var n=_n(jn(t));return(Yn(t,0).length||Yn(t,1).length)&&e.forEach(jn($g),function(e){n[e.name]||(n[e.name]=e)}),Se(n)}function gf(t){if(268435456&t.flags){var n=[],r=t.name;return e.forEach(h(t).containingType.types,function(e){var t=Xn(e,r);t&&n.push(t)}),n}if(67108864&t.flags){if(t.leftSpread){var a=t;return[a.leftSpread,a.rightSpread]}for(var i=void 0,o=t;o=h(o).target;)i=o;if(i)return[i]}return[t]}function yf(t){return!(e.isGeneratedIdentifier(t)||!(t=e.getParseTreeNode(t,e.isIdentifier)))&&zf(t)===gg}function vf(t){function n(e){return e=G(e),e&&!!(107455&e.flags)}var r=te(t.parent,t);if(!r||e.isShorthandAmbientModuleSymbol(r))return!0;var a=oe(r);r=ae(r);var i=h(r);return void 0===i.exportsSomeValue&&(i.exportsSomeValue=a?!!(107455&r.flags):e.forEachProperty(_e(r),n)),i.exportsSomeValue}function hf(t){var n=t.parent;return n&&e.isModuleOrEnumDeclaration(n)&&t===n.name}function bf(t,n){if(t=e.getParseTreeNode(t,e.isIdentifier)){var r=zf(t,hf(t));if(r){if(1048576&r.flags){var a=pe(r.exportSymbol);if(!n&&944&a.flags)return;r=a}var i=me(r);if(i){if(512&i.flags&&261===i.valueDeclaration.kind){var o=i.valueDeclaration,s=e.getSourceFileOfNode(t),c=o!==s;return c?void 0:o}for(var u=t.parent;u;u=u.parent)if(e.isModuleOrEnumDeclaration(u)&&fe(u)===i)return u}}}}function kf(t){if(t=e.getParseTreeNode(t,e.isIdentifier)){var n=zf(t);if(n&&8388608&n.flags)return I(n)}}function xf(t){if(418&t.flags){var n=h(t);if(void 0===n.isDeclarationWithCollidingName){var r=e.getEnclosingBlockScopeContainer(t.valueDeclaration);if(e.isStatementWithLocals(r)){var a=b(t.valueDeclaration);if(E(r.parent,t.name,107455,void 0,void 0))n.isDeclarationWithCollidingName=!0;else if(131072&a.flags){var i=262144&a.flags,o=e.isIterationStatement(r,!1),s=204===r.kind&&e.isIterationStatement(r.parent,!1);n.isDeclarationWithCollidingName=!(e.isBlockScopedContainerTopLevel(r)||i&&(o||s))}else n.isDeclarationWithCollidingName=!1}}return n.isDeclarationWithCollidingName}return!1}function Df(t){if(!e.isGeneratedIdentifier(t)&&(t=e.getParseTreeNode(t,e.isIdentifier))){var n=zf(t);if(n&&xf(n))return n.valueDeclaration}}function Sf(t){if(t=e.getParseTreeNode(t,e.isDeclaration)){var n=fe(t);if(n)return xf(n)}return!1}function Cf(t){if(t=e.getParseTreeNode(t),void 0===t)return!0;switch(t.kind){case 234:case 236:case 237:case 239:case 243:return Tf(fe(t)||Cg);case 241:var n=t.exportClause;return n&&e.forEach(n.elements,Cf);case 240:return!t.expression||70!==t.expression.kind||Tf(fe(t)||Cg)}return!1}function Ef(t){if(t=e.getParseTreeNode(t,e.isImportEqualsDeclaration),void 0===t||261!==t.parent.kind||!e.isInternalModuleImportEqualsDeclaration(t))return!1;var n=Tf(fe(t));return n&&t.moduleReference&&!e.nodeIsMissing(t.moduleReference)}function Tf(e){var t=X(e);return t===Cg||107455&t.flags&&(cg.preserveConstEnums||!Nf(t))}function Nf(e){return U_(e)||e.constEnumOnlyModule}function Af(t,n){if(t=e.getParseTreeNode(t),void 0===t)return!0;if(e.isAliasSymbolDeclaration(t)){var r=fe(t);if(r&&h(r).referenced)return!0}return!!n&&e.forEachChild(t,function(e){return Af(e,n)})}function wf(t){if(e.nodeIsPresent(t.body)){var n=fe(t),r=dr(n);return r.length>1||1===r.length&&r[0].declaration!==t}return!1}function Pf(t){return t=e.getParseTreeNode(t),t?b(t).flags:void 0}function Ff(e){return xp(e.parent),b(e).enumMemberValue}function Of(t){if(260===t.kind)return Ff(t);var n=b(t).resolvedSymbol;return n&&8&n.flags&&e.isConstEnumDeclaration(n.valueDeclaration.parent)?Ff(n.valueDeclaration):void 0}function Rf(e){return 32768&e.flags&&Yn(e,0).length>0}function If(t,n){var r=ee(t,107455,!0,!1,n),a=Yg();if(a&&r===a)return e.TypeReferenceSerializationKind.Promise;var i=r?wt(r):void 0;if(i&&Bt(i))return e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue;var o=ee(t,793064,!0,!1,n);if(!o)return e.TypeReferenceSerializationKind.ObjectType;var s=rn(o);return s===Ag?e.TypeReferenceSerializationKind.Unknown:1&s.flags?e.TypeReferenceSerializationKind.ObjectType:j_(s,15360)?e.TypeReferenceSerializationKind.VoidNullableOrNeverType:j_(s,136)?e.TypeReferenceSerializationKind.BooleanType:j_(s,340)?e.TypeReferenceSerializationKind.NumberLikeType:j_(s,262178)?e.TypeReferenceSerializationKind.StringLikeType:co(s)?e.TypeReferenceSerializationKind.ArrayLikeType:j_(s,512)?e.TypeReferenceSerializationKind.ESSymbolType:Rf(s)?e.TypeReferenceSerializationKind.TypeWithCallSignature:to(s)?e.TypeReferenceSerializationKind.ArrayLikeType:e.TypeReferenceSerializationKind.ObjectType}function Lf(e,t,n,r){var a=fe(e),i=!a||133120&a.flags?Ag:so(wt(a));Ge().buildTypeDisplay(i,r,t,n)}function Mf(e,t,n,r){var a=_r(e);Ge().buildTypeDisplay(mr(a),r,t,n)}function Bf(e,t,n,r){var a=ko(pf(e));Ge().buildTypeDisplay(a,r,t,n)}function Kf(e,t,n,r){var a=rn(fe(e));Ut(a);var i=a.resolvedBaseTypes.length?a.resolvedBaseTypes[0]:Ag;Ge().buildTypeDisplay(i,r,t,n)}function Jf(e){return!!Iy[e]}function zf(t,n){var r=b(t).resolvedSymbol;if(r)return r;var a=t;if(n){var i=t.parent;e.isDeclaration(i)&&t===i.name&&(a=tt(i))}return E(a,t.text,9544639,void 0,void 0)}function jf(t){if(!e.isGeneratedIdentifier(t)&&(t=e.getParseTreeNode(t,e.isIdentifier))){var n=zf(t);if(n)return ge(n).valueDeclaration}}function Vf(t){if(e.isConst(t)){var n=wt(fe(t));return!!(96&n.flags&&1048576&n.flags)}return!1}function Uf(e,t){var n=wt(fe(e));t.writeStringLiteral(He(n))}function qf(){function t(e){if(i){var t=177===e.kind||70===e.kind&&zo(e)?1156031:794600,r=ee(e,t,!0);return r&&r!==Cg?n(r,t):void 0}}function n(t,n){if(i&&a(t)){for(var r,o=0,s=t.declarations;o=2?(_y=e.memoize(function(){return Hr("Symbol")}),ly=e.memoize(function(){return Hr("Iterable",1)}),dy=e.memoize(function(){return Hr("Iterator",1)}),py=e.memoize(function(){return Hr("IterableIterator",1)})):(_y=e.memoize(function(){return Vg}),ly=e.memoize(function(){return Wg}),dy=e.memoize(function(){return Wg}),py=e.memoize(function(){return Wg})),oy=$r(Tg),sy=$r(Ng);var b=Wr("ReadonlyArray",793064,void 0);ty=b&&Vr(b,1),cy=ty?Qr(ty,[Tg]):oy}function Gf(t,n){if(($m&n)!==n&&cg.importHelpers){var r=e.getSourceFileOfNode(t);if(e.isEffectiveExternalModule(r,cg)){var a=Qf(r,t);if(a!==Cg)for(var i=n&~$m,o=1;o<=128;o<<=1)if(i&o){var s=Xf(o),c=D(a.exports,e.escapeIdentifier(s),107455);c||_(t,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1,e.externalHelpersModuleNameText,s)}$m|=n}}}function Xf(e){switch(e){case 1:return"__extends";case 2:return"__assign";case 4:return"__rest";case 8:return"__decorate";case 16:return"__metadata";case 32:return"__param";case 64:return"__awaiter";case 128:return"__generator"}}function Qf(t,n){return eg||(eg=re(t,e.externalHelpersModuleNameText,e.Diagnostics.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found,n)||Cg),eg}function Yf(){var e=ky();return e!==Wg?Pr(e,[Tg]):Vg}function Zf(){var e=l(67108868,"then");h(e).type=$g;var t=xe(16);return t.properties=[e],t.members=_n(t.properties),t.callSignatures=[],t.constructSignatures=[],t}function $f(t){if(!t.decorators)return!1;if(!e.nodeCanBeDecorated(t))return 149!==t.kind||e.nodeIsPresent(t.body)?Km(t,e.Diagnostics.Decorators_are_not_valid_here):Km(t,e.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload);if(151===t.kind||152===t.kind){var n=e.getAllAccessorDeclarations(t.parent.members,t);if(n.firstAccessor.decorators&&t===n.secondAccessor)return Km(t,e.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}return!1}function em(t){var n=tm(t);if(void 0!==n)return n;for(var r,a,i,o,s,c,u=0,_=0,l=t.modifiers;_1||e.modifiers[0].kind!==t}function am(t,n){switch(t.kind){case 149:case 225:case 184:case 185:if(!t.asteriskToken)return!1}return zm(n,e.Diagnostics._0_modifier_cannot_be_used_here,"async")}function im(t){if(t&&t.hasTrailingComma){var n=t.end-",".length,r=t.end,a=e.getSourceFileOfNode(t[0]);return Jm(a,n,r-n,e.Diagnostics.Trailing_comma_not_allowed)}}function om(t,n){if(im(t))return!0;if(t&&0===t.length){var r=t.pos-"<".length,a=e.skipTrivia(n.text,t.end)+">".length;return Jm(n,r,a-r,e.Diagnostics.Type_parameter_list_cannot_be_empty)}}function sm(t){for(var n=!1,r=t.length,a=0;a".length;return Jm(r,a,i-a,e.Diagnostics.Type_argument_list_cannot_be_empty)}}function pm(e,t){return im(t)||dm(e,t)}function fm(t,n){if(n)for(var r=e.getSourceFileOfNode(t),a=0,i=n;a1)return Km(o.types[1],e.Diagnostics.Classes_can_only_extend_a_single_class);n=!0}else{if(e.Debug.assert(107===o.token),r)return Km(o,e.Diagnostics.implements_clause_already_seen);r=!0}gm(o)}}function vm(t){var n=!1;if(t.heritageClauses)for(var r=0,a=t.heritageClauses;r1){var a=212===t.kind?e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return Km(n.declarations[1],a)}var i=r[0];if(i.initializer){var a=212===t.kind?e.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:e.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return zm(i.name,a)}if(i.type){var a=212===t.kind?e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation;return zm(i,a)}}}return!1}function Cm(t){var n=t.kind;if(ug<1)return zm(t.name,e.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher);if(e.isInAmbientContext(t))return zm(t.name,e.Diagnostics.An_accessor_cannot_be_declared_in_an_ambient_context);if(!(void 0!==t.body||128&e.getModifierFlags(t)))return Jm(e.getSourceFileOfNode(t),t.end-1,";".length,e.Diagnostics._0_expected,"{");if(t.body&&128&e.getModifierFlags(t))return zm(t,e.Diagnostics.An_abstract_accessor_cannot_have_an_implementation);if(t.typeParameters)return zm(t.name,e.Diagnostics.An_accessor_cannot_have_type_parameters);if(!Em(t))return zm(t.name,151===n?e.Diagnostics.A_get_accessor_cannot_have_parameters:e.Diagnostics.A_set_accessor_must_have_exactly_one_parameter);if(152===n){if(t.type)return zm(t.name,e.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation);var r=t.parameters[0];if(r.dotDotDotToken)return zm(r.dotDotDotToken,e.Diagnostics.A_set_accessor_cannot_have_rest_parameter);if(r.questionToken)return zm(r.questionToken,e.Diagnostics.A_set_accessor_cannot_have_an_optional_parameter);if(r.initializer)return zm(t.name,e.Diagnostics.A_set_accessor_parameter_cannot_have_an_initializer)}}function Em(e){return Tm(e)||e.parameters.length===(151===e.kind?0:1)}function Tm(t){if(t.parameters.length===(151===t.kind?1:2))return e.getThisParameter(t)}function Nm(t,n){if(e.isDynamicName(t))return zm(t,n)}function Am(t){if(Rd(t)||cm(t)||bm(t))return!0;if(176===t.parent.kind){if(km(t.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional))return!0;if(void 0===t.body)return Jm(e.getSourceFileOfNode(t),t.end-1,";".length,e.Diagnostics._0_expected,"{")}if(e.isClassLike(t.parent)){if(e.isInAmbientContext(t))return Nm(t.name,e.Diagnostics.A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol);if(!t.body)return Nm(t.name,e.Diagnostics.A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol)}else{if(227===t.parent.kind)return Nm(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol);if(161===t.parent.kind)return Nm(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol)}}function wm(t){for(var n=t;n;){if(e.isFunctionLike(n))return zm(t,e.Diagnostics.Jump_target_cannot_cross_function_boundary);switch(n.kind){case 219:if(t.label&&n.label.text===t.label.text){var r=214===t.kind&&!e.isIterationStatement(n.statement,!0);return!!r&&zm(t,e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement)}break;case 218:if(215===t.kind&&!t.label)return!1;break;default:if(e.isIterationStatement(n,!1)&&!t.label)return!1}n=n.parent}if(t.label){var a=215===t.kind?e.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement;return zm(t,a)}var a=215===t.kind?e.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:e.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement;return zm(t,a)}function Pm(t){if(t.dotDotDotToken){var n=t.parent.elements;if(t!==e.lastOrUndefined(n))return zm(t,e.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern);if(173===t.name.kind||172===t.name.kind)return zm(t.name,e.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern);if(t.initializer)return Jm(e.getSourceFileOfNode(t),t.initializer.pos-1,1,e.Diagnostics.A_rest_element_cannot_have_an_initializer)}}function Fm(e){return 9===e.kind||8===e.kind||190===e.kind&&37===e.operator&&8===e.operand.kind}function Om(t){if(212!==t.parent.parent.kind&&213!==t.parent.parent.kind)if(e.isInAmbientContext(t)){if(t.initializer){if(!e.isConst(t)||t.type){var n="=".length;return Jm(e.getSourceFileOfNode(t),t.initializer.pos-n,n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}if(!Fm(t.initializer))return zm(t.initializer,e.Diagnostics.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal)}if(t.initializer&&(!e.isConst(t)||!Fm(t.initializer))){var n="=".length;return Jm(e.getSourceFileOfNode(t),t.initializer.pos-n,n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}}else if(!t.initializer){if(e.isBindingPattern(t.name)&&!e.isBindingPattern(t.parent))return zm(t,e.Diagnostics.A_destructuring_declaration_must_have_an_initializer);if(e.isConst(t))return zm(t,e.Diagnostics.const_declarations_must_be_initialized)}var r=e.isLet(t)||e.isConst(t);return r&&Rm(t.name)}function Rm(t){if(70===t.kind){if(109===t.originalKeywordKind)return zm(t,e.Diagnostics.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations)}else for(var n=t.elements,r=0,a=n;r0}function Km(t,n,r,a,i){var o=e.getSourceFileOfNode(t);if(!Bm(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);return tv.add(e.createFileDiagnostic(o,s.start,s.length,n,r,a,i)),!0}}function Jm(t,n,r,a,i,o,s){if(!Bm(t))return tv.add(e.createFileDiagnostic(t,n,r,a,i,o,s)),!0}function zm(t,n,r,a,i){var o=e.getSourceFileOfNode(t);if(!Bm(o))return tv.add(e.createDiagnosticForNode(t,n,r,a,i)),!0}function jm(t){if(t.typeParameters)return Jm(e.getSourceFileOfNode(t),t.typeParameters.pos,t.typeParameters.end-t.typeParameters.pos,e.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration)}function Vm(t){if(t.type)return zm(t.type,e.Diagnostics.Type_annotation_cannot_appear_on_a_constructor_declaration)}function Um(t){if(e.isClassLike(t.parent)){if(Nm(t.name,e.Diagnostics.A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol))return!0}else if(227===t.parent.kind){if(Nm(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol))return!0;if(t.initializer)return zm(t.initializer,e.Diagnostics.An_interface_property_cannot_have_an_initializer)}else if(161===t.parent.kind){if(Nm(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol))return!0;if(t.initializer)return zm(t.initializer,e.Diagnostics.A_type_literal_property_cannot_have_an_initializer)}if(e.isInAmbientContext(t)&&t.initializer)return Km(t.initializer,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}function qm(t){return!(227===t.kind||228===t.kind||235===t.kind||234===t.kind||241===t.kind||240===t.kind||233===t.kind||515&e.getModifierFlags(t))&&Km(t,e.Diagnostics.A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file)}function Wm(t){for(var n=0,r=t.statements;n=1)return zm(t,e.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher)}function Qm(t,n,r,a,i){var o=e.getSourceFileOfNode(t);if(!Bm(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);return tv.add(e.createFileDiagnostic(o,e.textSpanEnd(s),0,n,r,a,i)),!0}}function Ym(){var e=[];for(var t in Iy)a.test(t)&&e.push(Iy[t]);return e}var Zm,$m,eg,tg=e.objectAllocator.getSymbolConstructor(),ng=e.objectAllocator.getTypeConstructor(),rg=e.objectAllocator.getSignatureConstructor(),ag=0,ig=0,og=[],sg=e.createMap(),cg=r.getCompilerOptions(),ug=cg.target||0,_g=e.getEmitModuleKind(cg),lg=!!cg.noUnusedLocals||!!cg.noUnusedParameters,dg="undefined"!=typeof cg.allowSyntheticDefaultImports?cg.allowSyntheticDefaultImports:_g===e.ModuleKind.System,pg=cg.strictNullChecks,fg=qf(),mg=l(67108868,"undefined");mg.declarations=[];var gg=l(67108868,"arguments"),yg={getNodeCount:function(){return e.sum(r.getSourceFiles(),"nodeCount")},getIdentifierCount:function(){return e.sum(r.getSourceFiles(),"identifierCount")},getSymbolCount:function(){return e.sum(r.getSourceFiles(),"symbolCount")+ig},getTypeCount:function(){return ag},isUndefinedSymbol:function(e){return e===mg},isArgumentsSymbol:function(e){return e===gg},isUnknownSymbol:function(e){return e===Cg},getDiagnostics:qp,getGlobalDiagnostics:Hp,getTypeOfSymbolAtLocation:Hs,getSymbolsOfParameterPropertyDeclaration:S,getDeclaredTypeOfSymbol:rn,getPropertiesOfType:jn,getPropertyOfType:Xn,getSignaturesOfType:Yn,getIndexTypeOfType:tr,getBaseTypes:Vt,getReturnTypeOfSignature:mr,getNonNullableType:fo,getSymbolsInScope:Qp,getSymbolAtLocation:sf,getShorthandAssignmentValueSymbol:cf,getExportSpecifierLocalTargetSymbol:uf,getTypeAtLocation:_f,getPropertySymbolOfDestructuringAssignment:df,typeToString:ze,getSymbolDisplayBuilder:Ge,symbolToString:Ke,getAugmentedPropertiesOfType:mf,getRootSymbols:gf,getContextualType:Pc,getFullyQualifiedName:$,getResolvedSignature:o_,getConstantValue:Of,isValidPropertyAccess:Cu,getSignatureFromDeclaration:_r,isImplementationOfOverload:wf,getAliasedSymbol:X,getEmitResolver:u,getExportsOfModule:se,getAmbientModules:Ym,getJsxElementAttributesType:cu,getJsxIntrinsicTagNames:lu,isOptionalParameter:cr,tryGetMemberInModuleExports:ce,tryFindAmbientModuleWithoutAugmentations:function(e){return sr(e,!1)}},vg=[],hg=e.createMap(),bg=e.createMap(),kg=e.createMap(),xg=e.createMap(),Dg=e.createMap(),Sg=[],Cg=l(67108868,"unknown"),Eg=l(67108864,"__resolving__"),Tg=be(1,"any"),Ng=be(1,"any"),Ag=be(1,"unknown"),wg=be(2048,"undefined"),Pg=pg?wg:be(2099200,"undefined"),Fg=be(4096,"null"),Og=pg?Fg:be(2101248,"null"),Rg=be(2,"string"),Ig=be(4,"number"),Lg=be(128,"true"),Mg=be(128,"false"),Bg=ke([Lg,Mg]),Kg=be(512,"symbol"),Jg=be(1024,"void"),zg=be(8192,"never"),jg=be(8192,"never"),Vg=Ee(void 0,sg,og,og,void 0,void 0),Ug=l(67110912,"__type");Ug.members=e.createMap();var qg=Ee(Ug,sg,og,og,void 0,void 0),Wg=Ee(void 0,sg,og,og,void 0,void 0);Wg.instantiations=e.createMap();var Hg=Ee(void 0,sg,og,og,void 0,void 0);Hg.flags|=8388608;var Gg,Xg,Qg,Yg,Zg,$g,ey,ty,ny,ry,ay,iy,oy,sy,cy,uy,_y,ly,dy,py,fy,my,gy,yy,vy,hy,by,ky,xy,Dy,Sy,Cy,Ey,Ty,Ny,Ay=Ee(void 0,sg,og,og,void 0,void 0),wy=vn(void 0,void 0,void 0,og,Tg,void 0,0,!1,!1),Py=vn(void 0,void 0,void 0,og,Ag,void 0,0,!1,!1),Fy=vn(void 0,void 0,void 0,og,Tg,void 0,0,!1,!1),Oy=vn(void 0,void 0,void 0,og,jg,void 0,0,!1,!1),Ry=Dr(Rg,!0),Iy=e.createMap(),Ly=0,My=0,By=0,Ky=Ja(32,""),Jy=Ja(64,"0"),zy=[],jy=[],Vy=[],Uy=[],qy=[],Wy=[],Hy=[],Gy=[],Xy=[],Qy=[],Yy=[],Zy=[],$y=[],ev=[],tv=e.createDiagnosticCollection();!function(e){e[e.None=0]="None",e[e.TypeofEQString=1]="TypeofEQString",e[e.TypeofEQNumber=2]="TypeofEQNumber",e[e.TypeofEQBoolean=4]="TypeofEQBoolean",e[e.TypeofEQSymbol=8]="TypeofEQSymbol",e[e.TypeofEQObject=16]="TypeofEQObject",e[e.TypeofEQFunction=32]="TypeofEQFunction",e[e.TypeofEQHostObject=64]="TypeofEQHostObject",e[e.TypeofNEString=128]="TypeofNEString",e[e.TypeofNENumber=256]="TypeofNENumber",e[e.TypeofNEBoolean=512]="TypeofNEBoolean",e[e.TypeofNESymbol=1024]="TypeofNESymbol",e[e.TypeofNEObject=2048]="TypeofNEObject",e[e.TypeofNEFunction=4096]="TypeofNEFunction",e[e.TypeofNEHostObject=8192]="TypeofNEHostObject",e[e.EQUndefined=16384]="EQUndefined",e[e.EQNull=32768]="EQNull",e[e.EQUndefinedOrNull=65536]="EQUndefinedOrNull",e[e.NEUndefined=131072]="NEUndefined",e[e.NENull=262144]="NENull",e[e.NEUndefinedOrNull=524288]="NEUndefinedOrNull",e[e.Truthy=1048576]="Truthy",e[e.Falsy=2097152]="Falsy",e[e.Discriminatable=4194304]="Discriminatable",e[e.All=8388607]="All",e[e.BaseStringStrictFacts=933633]="BaseStringStrictFacts",e[e.BaseStringFacts=3145473]="BaseStringFacts",e[e.StringStrictFacts=4079361]="StringStrictFacts",e[e.StringFacts=4194049]="StringFacts",e[e.EmptyStringStrictFacts=3030785]="EmptyStringStrictFacts",e[e.EmptyStringFacts=3145473]="EmptyStringFacts",e[e.NonEmptyStringStrictFacts=1982209]="NonEmptyStringStrictFacts",e[e.NonEmptyStringFacts=4194049]="NonEmptyStringFacts",e[e.BaseNumberStrictFacts=933506]="BaseNumberStrictFacts",e[e.BaseNumberFacts=3145346]="BaseNumberFacts",e[e.NumberStrictFacts=4079234]="NumberStrictFacts",e[e.NumberFacts=4193922]="NumberFacts",e[e.ZeroStrictFacts=3030658]="ZeroStrictFacts",e[e.ZeroFacts=3145346]="ZeroFacts",e[e.NonZeroStrictFacts=1982082]="NonZeroStrictFacts",e[e.NonZeroFacts=4193922]="NonZeroFacts",e[e.BaseBooleanStrictFacts=933252]="BaseBooleanStrictFacts",e[e.BaseBooleanFacts=3145092]="BaseBooleanFacts",e[e.BooleanStrictFacts=4078980]="BooleanStrictFacts",e[e.BooleanFacts=4193668]="BooleanFacts",e[e.FalseStrictFacts=3030404]="FalseStrictFacts",e[e.FalseFacts=3145092]="FalseFacts",e[e.TrueStrictFacts=1981828]="TrueStrictFacts",e[e.TrueFacts=4193668]="TrueFacts",e[e.SymbolStrictFacts=1981320]="SymbolStrictFacts",e[e.SymbolFacts=4193160]="SymbolFacts",e[e.ObjectStrictFacts=6166480]="ObjectStrictFacts",e[e.ObjectFacts=8378320]="ObjectFacts",e[e.FunctionStrictFacts=6164448]="FunctionStrictFacts",e[e.FunctionFacts=8376288]="FunctionFacts",e[e.UndefinedFacts=2457472]="UndefinedFacts",e[e.NullFacts=2340752]="NullFacts"}(Ny||(Ny={}));var nv,rv,av,iv,ov,sv=e.createMap({string:1,number:2,boolean:4,symbol:8,undefined:16384,object:16,function:32}),cv=e.createMap({string:128,number:256,boolean:512,symbol:1024,undefined:131072,object:2048,function:4096}),uv=e.createMap({string:Rg,number:Ig,boolean:Bg,symbol:Kg,undefined:wg}),_v=e.createMap(),lv={JSX:"JSX",IntrinsicElements:"IntrinsicElements",ElementClass:"ElementClass",ElementAttributesPropertyNameContainer:"ElementAttributesProperty",Element:"Element",IntrinsicAttributes:"IntrinsicAttributes",IntrinsicClassAttributes:"IntrinsicClassAttributes"},dv=e.createMap(),pv=e.createMap(),fv=e.createMap(),mv=e.createMap(),gv=e.createMap();!function(e){e[e.Type=0]="Type",e[e.ResolvedBaseConstructorType=1]="ResolvedBaseConstructorType",e[e.DeclaredType=2]="DeclaredType",e[e.ResolvedReturnType=3]="ResolvedReturnType"}(ov||(ov={}));var yv=e.createMap();return yv[mg.name]=mg,Hf(),yg}var a=/^".+"$/,i=1,o=1,s=1,c=1;e.getNodeId=t,e.getSymbolId=n,e.createTypeChecker=r}(ts||(ts={}));var ts;!function(e){function t(e,t,n){return e?t(n,e):n}function n(e,t,n){return e?t(n,e):n}function r(r,a,i,o){if(void 0===r)return a;var s=o?n:e.reduceLeft,c=o||i,u=r.kind;if(u>0&&u<=140)return a;if(u>=156&&u<=171)return a;var _=a;switch(r.kind){case 203:case 206:case 198:case 222:case 293:break;case 142:_=t(r.expression,i,_);break;case 144:_=s(r.decorators,c,_),_=s(r.modifiers,c,_),_=t(r.name,i,_),_=t(r.type,i,_),_=t(r.initializer,i,_);break;case 145:_=t(r.expression,i,_);break;case 147:_=s(r.decorators,c,_),_=s(r.modifiers,c,_),_=t(r.name,i,_),_=t(r.type,i,_),_=t(r.initializer,i,_);break;case 149:_=s(r.decorators,c,_),_=s(r.modifiers,c,_),_=t(r.name,i,_),_=s(r.typeParameters,c,_),_=s(r.parameters,c,_),_=t(r.type,i,_),_=t(r.body,i,_);break;case 150:_=s(r.modifiers,c,_),_=s(r.parameters,c,_),_=t(r.body,i,_);break;case 151:_=s(r.decorators,c,_),_=s(r.modifiers,c,_),_=t(r.name,i,_),_=s(r.parameters,c,_),_=t(r.type,i,_),_=t(r.body,i,_);break;case 152:_=s(r.decorators,c,_),_=s(r.modifiers,c,_),_=t(r.name,i,_),_=s(r.parameters,c,_),_=t(r.body,i,_);break;case 172:case 173:_=s(r.elements,c,_);break;case 174:_=t(r.propertyName,i,_),_=t(r.name,i,_),_=t(r.initializer,i,_);break;case 175:_=s(r.elements,c,_);break;case 176:_=s(r.properties,c,_);break;case 177:_=t(r.expression,i,_),_=t(r.name,i,_);break;case 178:_=t(r.expression,i,_),_=t(r.argumentExpression,i,_);break;case 179:_=t(r.expression,i,_),_=s(r.typeArguments,c,_),_=s(r.arguments,c,_);break;case 180:_=t(r.expression,i,_),_=s(r.typeArguments,c,_),_=s(r.arguments,c,_);break;case 181:_=t(r.tag,i,_),_=t(r.template,i,_);break;case 184:_=s(r.modifiers,c,_),_=t(r.name,i,_),_=s(r.typeParameters,c,_),_=s(r.parameters,c,_),_=t(r.type,i,_),_=t(r.body,i,_);break;case 185:_=s(r.modifiers,c,_),_=s(r.typeParameters,c,_),_=s(r.parameters,c,_),_=t(r.type,i,_),_=t(r.body,i,_);break;case 183:case 186:case 187:case 188:case 189:case 195:case 196:case 201:_=t(r.expression,i,_);break;case 190:case 191:_=t(r.operand,i,_);break;case 192:_=t(r.left,i,_),_=t(r.right,i,_);break;case 193:_=t(r.condition,i,_),_=t(r.whenTrue,i,_),_=t(r.whenFalse,i,_);break;case 194:_=t(r.head,i,_),_=s(r.templateSpans,c,_);break;case 197:_=s(r.modifiers,c,_),_=t(r.name,i,_),_=s(r.typeParameters,c,_),_=s(r.heritageClauses,c,_),_=s(r.members,c,_);break;case 199:_=t(r.expression,i,_),_=s(r.typeArguments,c,_);break;case 202:_=t(r.expression,i,_),_=t(r.literal,i,_);break;case 204:_=s(r.statements,c,_);break;case 205:_=s(r.modifiers,c,_),_=t(r.declarationList,i,_);break;case 207:_=t(r.expression,i,_);break;case 208:_=t(r.expression,i,_),_=t(r.thenStatement,i,_),_=t(r.elseStatement,i,_);break;case 209:_=t(r.statement,i,_),_=t(r.expression,i,_);break;case 210:case 217:_=t(r.expression,i,_),_=t(r.statement,i,_);break;case 211:_=t(r.initializer,i,_),_=t(r.condition,i,_),_=t(r.incrementor,i,_),_=t(r.statement,i,_);break;case 212:case 213:_=t(r.initializer,i,_),_=t(r.expression,i,_),_=t(r.statement,i,_);break;case 216:case 220:_=t(r.expression,i,_);break;case 218:_=t(r.expression,i,_),_=t(r.caseBlock,i,_);break;case 219:_=t(r.label,i,_),_=t(r.statement,i,_);break;case 221:_=t(r.tryBlock,i,_),_=t(r.catchClause,i,_),_=t(r.finallyBlock,i,_);break;case 223:_=t(r.name,i,_),_=t(r.type,i,_),_=t(r.initializer,i,_);break;case 224:_=s(r.declarations,c,_);break;case 225:_=s(r.decorators,c,_),_=s(r.modifiers,c,_),_=t(r.name,i,_),_=s(r.typeParameters,c,_),_=s(r.parameters,c,_),_=t(r.type,i,_),_=t(r.body,i,_);break;case 226:_=s(r.decorators,c,_),_=s(r.modifiers,c,_),_=t(r.name,i,_),_=s(r.typeParameters,c,_),_=s(r.heritageClauses,c,_),_=s(r.members,c,_);break;case 232:_=s(r.clauses,c,_);break;case 235:_=s(r.decorators,c,_),_=s(r.modifiers,c,_),_=t(r.importClause,i,_),_=t(r.moduleSpecifier,i,_);break;case 236:_=t(r.name,i,_),_=t(r.namedBindings,i,_);break;case 237:_=t(r.name,i,_);break;case 238:case 242:_=s(r.elements,c,_);break;case 239:case 243:_=t(r.propertyName,i,_),_=t(r.name,i,_);break;case 240:_=e.reduceLeft(r.decorators,i,_),_=e.reduceLeft(r.modifiers,i,_),_=t(r.expression,i,_);break;case 241:_=e.reduceLeft(r.decorators,i,_),_=e.reduceLeft(r.modifiers,i,_),_=t(r.exportClause,i,_),_=t(r.moduleSpecifier,i,_);break;case 246:_=t(r.openingElement,i,_),_=e.reduceLeft(r.children,i,_),_=t(r.closingElement,i,_);break;case 247:case 248:_=t(r.tagName,i,_),_=s(r.attributes,c,_);break;case 249:_=t(r.tagName,i,_);break;case 250:_=t(r.name,i,_),_=t(r.initializer,i,_);break;case 251:_=t(r.expression,i,_);break;case 252:_=t(r.expression,i,_);break;case 253:_=t(r.expression,i,_);case 254:_=s(r.statements,c,_);break;case 255:_=s(r.types,c,_);break;case 256:_=t(r.variableDeclaration,i,_),_=t(r.block,i,_);break;case 257:_=t(r.name,i,_),_=t(r.initializer,i,_);break;case 258:_=t(r.name,i,_),_=t(r.objectAssignmentInitializer,i,_);break;case 259:_=t(r.expression,i,_);break;case 261:_=s(r.statements,c,_);break;case 294:_=t(r.expression,i,_);break;default:var l=b[u];if(l)for(var d=0,p=l;du-a)&&(i=u-a),(a>0||i0&&u<=140)return t;if(u>=156&&u<=171)return t;switch(t.kind){case 203:case 206:case 198:case 222:return t;case 142:return e.updateComputedPropertyName(t,a(t.expression,n,e.isExpression));case 144:return e.updateParameter(t,i(t.decorators,n,e.isDecorator),i(t.modifiers,n,e.isModifier),t.dotDotDotToken,a(t.name,n,e.isBindingName),a(t.type,n,e.isTypeNode,!0),a(t.initializer,n,e.isExpression,!0));case 147:return e.updateProperty(t,i(t.decorators,n,e.isDecorator),i(t.modifiers,n,e.isModifier),a(t.name,n,e.isPropertyName),a(t.type,n,e.isTypeNode,!0),a(t.initializer,n,e.isExpression,!0));case 149:return e.updateMethod(t,i(t.decorators,n,e.isDecorator),i(t.modifiers,n,e.isModifier),a(t.name,n,e.isPropertyName),i(t.typeParameters,n,e.isTypeParameter),s(t.parameters,n,r),a(t.type,n,e.isTypeNode,!0),c(t.body,n,r));case 150:return e.updateConstructor(t,i(t.decorators,n,e.isDecorator),i(t.modifiers,n,e.isModifier),s(t.parameters,n,r),c(t.body,n,r));case 151:return e.updateGetAccessor(t,i(t.decorators,n,e.isDecorator),i(t.modifiers,n,e.isModifier),a(t.name,n,e.isPropertyName),s(t.parameters,n,r),a(t.type,n,e.isTypeNode,!0),c(t.body,n,r));case 152:return e.updateSetAccessor(t,i(t.decorators,n,e.isDecorator),i(t.modifiers,n,e.isModifier),a(t.name,n,e.isPropertyName),s(t.parameters,n,r),c(t.body,n,r));case 172:return e.updateObjectBindingPattern(t,i(t.elements,n,e.isBindingElement));case 173:return e.updateArrayBindingPattern(t,i(t.elements,n,e.isArrayBindingElement));case 174:return e.updateBindingElement(t,t.dotDotDotToken,a(t.propertyName,n,e.isPropertyName,!0),a(t.name,n,e.isBindingName),a(t.initializer,n,e.isExpression,!0));case 175:return e.updateArrayLiteral(t,i(t.elements,n,e.isExpression));case 176:return e.updateObjectLiteral(t,i(t.properties,n,e.isObjectLiteralElementLike));case 177:return e.updatePropertyAccess(t,a(t.expression,n,e.isExpression),a(t.name,n,e.isIdentifier));case 178:return e.updateElementAccess(t,a(t.expression,n,e.isExpression),a(t.argumentExpression,n,e.isExpression));case 179:return e.updateCall(t,a(t.expression,n,e.isExpression),i(t.typeArguments,n,e.isTypeNode),i(t.arguments,n,e.isExpression));case 180:return e.updateNew(t,a(t.expression,n,e.isExpression),i(t.typeArguments,n,e.isTypeNode),i(t.arguments,n,e.isExpression));case 181:return e.updateTaggedTemplate(t,a(t.tag,n,e.isExpression),a(t.template,n,e.isTemplateLiteral));case 183:return e.updateParen(t,a(t.expression,n,e.isExpression));case 184:return e.updateFunctionExpression(t,i(t.modifiers,n,e.isModifier),a(t.name,n,e.isPropertyName),i(t.typeParameters,n,e.isTypeParameter),s(t.parameters,n,r),a(t.type,n,e.isTypeNode,!0),c(t.body,n,r));case 185:return e.updateArrowFunction(t,i(t.modifiers,n,e.isModifier),i(t.typeParameters,n,e.isTypeParameter),s(t.parameters,n,r),a(t.type,n,e.isTypeNode,!0),c(t.body,n,r));case 186:return e.updateDelete(t,a(t.expression,n,e.isExpression));case 187:return e.updateTypeOf(t,a(t.expression,n,e.isExpression));case 188:return e.updateVoid(t,a(t.expression,n,e.isExpression));case 189:return e.updateAwait(t,a(t.expression,n,e.isExpression));case 192:return e.updateBinary(t,a(t.left,n,e.isExpression),a(t.right,n,e.isExpression));case 190:return e.updatePrefix(t,a(t.operand,n,e.isExpression));case 191:return e.updatePostfix(t,a(t.operand,n,e.isExpression));case 193:return e.updateConditional(t,a(t.condition,n,e.isExpression),a(t.whenTrue,n,e.isExpression),a(t.whenFalse,n,e.isExpression));case 194:return e.updateTemplateExpression(t,a(t.head,n,e.isTemplateHead),i(t.templateSpans,n,e.isTemplateSpan));case 195:return e.updateYield(t,a(t.expression,n,e.isExpression));case 196:return e.updateSpread(t,a(t.expression,n,e.isExpression));case 197:return e.updateClassExpression(t,i(t.modifiers,n,e.isModifier),a(t.name,n,e.isIdentifier,!0),i(t.typeParameters,n,e.isTypeParameter),i(t.heritageClauses,n,e.isHeritageClause),i(t.members,n,e.isClassElement));case 199:return e.updateExpressionWithTypeArguments(t,i(t.typeArguments,n,e.isTypeNode),a(t.expression,n,e.isExpression));case 202:return e.updateTemplateSpan(t,a(t.expression,n,e.isExpression),a(t.literal,n,e.isTemplateMiddleOrTemplateTail));case 204:return e.updateBlock(t,i(t.statements,n,e.isStatement));case 205:return e.updateVariableStatement(t,i(t.modifiers,n,e.isModifier),a(t.declarationList,n,e.isVariableDeclarationList));case 207:return e.updateStatement(t,a(t.expression,n,e.isExpression));case 208:return e.updateIf(t,a(t.expression,n,e.isExpression),a(t.thenStatement,n,e.isStatement,!1,d),a(t.elseStatement,n,e.isStatement,!0,d));case 209:return e.updateDo(t,a(t.statement,n,e.isStatement,!1,d),a(t.expression,n,e.isExpression));case 210:return e.updateWhile(t,a(t.expression,n,e.isExpression),a(t.statement,n,e.isStatement,!1,d));case 211:return e.updateFor(t,a(t.initializer,n,e.isForInitializer),a(t.condition,n,e.isExpression),a(t.incrementor,n,e.isExpression),a(t.statement,n,e.isStatement,!1,d));case 212:return e.updateForIn(t,a(t.initializer,n,e.isForInitializer),a(t.expression,n,e.isExpression),a(t.statement,n,e.isStatement,!1,d));case 213:return e.updateForOf(t,a(t.initializer,n,e.isForInitializer),a(t.expression,n,e.isExpression),a(t.statement,n,e.isStatement,!1,d));case 214:return e.updateContinue(t,a(t.label,n,e.isIdentifier,!0));case 215:return e.updateBreak(t,a(t.label,n,e.isIdentifier,!0));case 216:return e.updateReturn(t,a(t.expression,n,e.isExpression,!0));case 217:return e.updateWith(t,a(t.expression,n,e.isExpression),a(t.statement,n,e.isStatement,!1,d));case 218:return e.updateSwitch(t,a(t.expression,n,e.isExpression),a(t.caseBlock,n,e.isCaseBlock));case 219:return e.updateLabel(t,a(t.label,n,e.isIdentifier),a(t.statement,n,e.isStatement,!1,d));case 220:return e.updateThrow(t,a(t.expression,n,e.isExpression));case 221:return e.updateTry(t,a(t.tryBlock,n,e.isBlock),a(t.catchClause,n,e.isCatchClause,!0),a(t.finallyBlock,n,e.isBlock,!0)); -case 223:return e.updateVariableDeclaration(t,a(t.name,n,e.isBindingName),a(t.type,n,e.isTypeNode,!0),a(t.initializer,n,e.isExpression,!0));case 224:return e.updateVariableDeclarationList(t,i(t.declarations,n,e.isVariableDeclaration));case 225:return e.updateFunctionDeclaration(t,i(t.decorators,n,e.isDecorator),i(t.modifiers,n,e.isModifier),a(t.name,n,e.isPropertyName),i(t.typeParameters,n,e.isTypeParameter),s(t.parameters,n,r),a(t.type,n,e.isTypeNode,!0),c(t.body,n,r));case 226:return e.updateClassDeclaration(t,i(t.decorators,n,e.isDecorator),i(t.modifiers,n,e.isModifier),a(t.name,n,e.isIdentifier,!0),i(t.typeParameters,n,e.isTypeParameter),i(t.heritageClauses,n,e.isHeritageClause),i(t.members,n,e.isClassElement));case 232:return e.updateCaseBlock(t,i(t.clauses,n,e.isCaseOrDefaultClause));case 235:return e.updateImportDeclaration(t,i(t.decorators,n,e.isDecorator),i(t.modifiers,n,e.isModifier),a(t.importClause,n,e.isImportClause,!0),a(t.moduleSpecifier,n,e.isExpression));case 236:return e.updateImportClause(t,a(t.name,n,e.isIdentifier,!0),a(t.namedBindings,n,e.isNamedImportBindings,!0));case 237:return e.updateNamespaceImport(t,a(t.name,n,e.isIdentifier));case 238:return e.updateNamedImports(t,i(t.elements,n,e.isImportSpecifier));case 239:return e.updateImportSpecifier(t,a(t.propertyName,n,e.isIdentifier,!0),a(t.name,n,e.isIdentifier));case 240:return e.updateExportAssignment(t,i(t.decorators,n,e.isDecorator),i(t.modifiers,n,e.isModifier),a(t.expression,n,e.isExpression));case 241:return e.updateExportDeclaration(t,i(t.decorators,n,e.isDecorator),i(t.modifiers,n,e.isModifier),a(t.exportClause,n,e.isNamedExports,!0),a(t.moduleSpecifier,n,e.isExpression,!0));case 242:return e.updateNamedExports(t,i(t.elements,n,e.isExportSpecifier));case 243:return e.updateExportSpecifier(t,a(t.propertyName,n,e.isIdentifier,!0),a(t.name,n,e.isIdentifier));case 246:return e.updateJsxElement(t,a(t.openingElement,n,e.isJsxOpeningElement),i(t.children,n,e.isJsxChild),a(t.closingElement,n,e.isJsxClosingElement));case 247:return e.updateJsxSelfClosingElement(t,a(t.tagName,n,e.isJsxTagNameExpression),i(t.attributes,n,e.isJsxAttributeLike));case 248:return e.updateJsxOpeningElement(t,a(t.tagName,n,e.isJsxTagNameExpression),i(t.attributes,n,e.isJsxAttributeLike));case 249:return e.updateJsxClosingElement(t,a(t.tagName,n,e.isJsxTagNameExpression));case 250:return e.updateJsxAttribute(t,a(t.name,n,e.isIdentifier),a(t.initializer,n,e.isStringLiteralOrJsxExpression));case 251:return e.updateJsxSpreadAttribute(t,a(t.expression,n,e.isExpression));case 252:return e.updateJsxExpression(t,a(t.expression,n,e.isExpression));case 253:return e.updateCaseClause(t,a(t.expression,n,e.isExpression),i(t.statements,n,e.isStatement));case 254:return e.updateDefaultClause(t,i(t.statements,n,e.isStatement));case 255:return e.updateHeritageClause(t,i(t.types,n,e.isExpressionWithTypeArguments));case 256:return e.updateCatchClause(t,a(t.variableDeclaration,n,e.isVariableDeclaration),a(t.block,n,e.isBlock));case 257:return e.updatePropertyAssignment(t,a(t.name,n,e.isPropertyName),a(t.initializer,n,e.isExpression));case 258:return e.updateShorthandPropertyAssignment(t,a(t.name,n,e.isIdentifier),a(t.objectAssignmentInitializer,n,e.isExpression));case 259:return e.updateSpreadAssignment(t,a(t.expression,n,e.isExpression));case 261:return e.updateSourceFileNode(t,o(t.statements,n,r));case 294:return e.updatePartiallyEmittedExpression(t,a(t.expression,n,e.isExpression));default:var _=void 0,l=b[u];if(l)for(var p=0,f=l;p0?e.isBlock(t)?e.updateBlock(t,e.createNodeArray(e.concatenate(t.statements,n),t.statements)):e.createBlock(e.createNodeArray([e.createReturn(t,t)].concat(n),t),t,!0):t}function d(t){return k.assert(e.every(t,e.isStatement),"Cannot lift nodes to a Block."),e.singleOrUndefined(t)||e.createBlock(t)}function p(t){return k.assert(t.length<=1,"Too many nodes written to output."),e.singleOrUndefined(t)}function f(e){return m(e),e}function m(t){if(void 0===t)return 0;if(536870912&t.transformFlags)return t.transformFlags&~e.getTransformFlagsSubtreeExclusions(t.kind);var n=y(t);return e.computeTransformFlagsForNode(t,n)}function g(e){if(void 0===e)return 0;for(var t=0,n=0,r=0,a=e;r=1)||1572864&g.transformFlags||1572864&e.getTargetOfBindingOrAssignmentElement(g).transformFlags||e.isComputedPropertyName(v)){d&&(t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(d),i,o,a),d=void 0);var y=s(t,i,v);e.isComputedPropertyName(v)&&(p=e.append(p,y.argumentExpression)),r(t,g,y,g)}else d=e.append(d,g)}}d&&t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(d),i,o,a)}function i(t,n,a,i,o){var s=e.getElementsOfBindingOrAssignmentPattern(a),u=s.length;if(1!==u&&(t.level<1||0===u)){var _=!e.isDeclarationBindingElement(n)||0!==u;i=c(t,i,_,o)}for(var l,d,p=0;p=1)if(1048576&f.transformFlags){var m=e.createTempVariable(void 0);t.hoistTempVariables&&t.context.hoistVariableDeclaration(m),d=e.append(d,[m,f]),l=e.append(l,t.createArrayBindingOrAssignmentElement(m))}else l=e.append(l,f);else{if(e.isOmittedExpression(f))continue;if(e.getRestIndicatorOfBindingOrAssignmentElement(f)){if(p===u-1){var g=e.createArraySlice(i,p);r(t,f,g,f)}}else{var g=e.createElementAccess(i,p);r(t,f,g,f)}}}if(l&&t.emitBindingOrAssignment(t.createArrayBindingOrAssignmentPattern(l),i,o,a),d)for(var y=0,v=d;y0)return!0;var n=e.getFirstConstructorWithBody(t);return!!n&&e.forEach(n.parameters,k)}function k(e){return void 0!==e.decorators&&e.decorators.length>0}function x(t){var n=R(t,!0),r=void 0!==e.getClassExtendsHeritageClauseElement(t),a=b(t),i=t.name;!i&&n.length>0&&(i=e.getGeneratedNameForNode(t));var o=a?S(t,i,r):D(t,i,r,n.length>0),s=[o];return n.length&&B(s,n,e.getLocalName(t)),Z(s,t,!1),Z(s,t,!0),te(s,t),lt(t)?gt(s,t):a&&(ft(t)?s.push(e.createExportDefault(e.getLocalName(t,!1,!0))):pt(t)&&s.push(e.createExternalModuleExport(e.getLocalName(t,!1,!0)))),s.length>1&&(s.push(e.createEndOfDeclarationMarker(t)),e.setEmitFlags(o,2097152|e.getEmitFlags(o))),e.singleOrMany(s)}function D(t,n,r,a){var i=e.createClassDeclaration(void 0,e.visitNodes(t.modifiers,y,e.isModifier),n,void 0,e.visitNodes(t.heritageClauses,u,e.isHeritageClause),E(t,r),t),o=e.getEmitFlags(t);return a&&(o|=32),e.setOriginalNode(i,t),e.setEmitFlags(i,o),i}function S(t,n,r){var a=e.moveRangePastDecorators(t),i=xt(t),o=e.getLocalName(t,!1,!0),s=e.visitNodes(t.heritageClauses,u,e.isHeritageClause),c=E(t,r),_=e.createClassExpression(void 0,n,void 0,s,c,a);e.setOriginalNode(_,t);var l=e.createLetStatement(o,i?e.createAssignment(i,_):_,a);return e.setOriginalNode(l,t),e.setCommentRange(l,t),l}function C(t){var n=R(t,!0),r=e.visitNodes(t.heritageClauses,u,e.isHeritageClause),a=E(t,e.some(r,function(e){return 84===e.token})),i=e.setOriginalNode(e.createClassExpression(void 0,t.name,void 0,r,a,t),t);if(n.length>0){var o=[],s=e.createTempVariable(Ut);return 8388608&qt.getNodeCheckFlags(t)&&(Et(),rn[e.getOriginalNodeId(t)]=e.getSynthesizedClone(s)),e.setEmitFlags(i,32768|e.getEmitFlags(i)),o.push(e.startOnNewLine(e.createAssignment(s,i))),e.addRange(o,K(n,s)),o.push(e.startOnNewLine(s)),e.inlineExpressions(o)}return i}function E(t,n){var r=[],a=T(t,n);return a&&r.push(a),e.addRange(r,e.visitNodes(t.members,m,e.isClassElement)),e.createNodeArray(r,t.members)}function T(n,r){var a=e.forEach(n.members,L),i=262144&n.transformFlags,o=e.getFirstConstructorWithBody(n);if(!a&&!i)return e.visitEachChild(o,u,t);var s=N(o),c=A(n,o,r);return e.startOnNewLine(e.setOriginalNode(e.createConstructor(void 0,void 0,s,c,o||n),o))}function N(n){return e.visitParameterList(n&&n.parameters,u,t)||[]}function A(t,n,r){var a=[],i=0;if(jt(),n){i=w(n,a);var o=P(n);e.addRange(a,e.map(o,O))}else r&&a.push(e.createStatement(e.createCall(e.createSuper(),void 0,[e.createSpread(e.createIdentifier("arguments"))])));var s=R(t,!1);return B(a,s,e.createThis()),n&&e.addRange(a,e.visitNodes(n.body.statements,u,e.isStatement,i)),e.addRange(a,Vt()),e.createBlock(e.createNodeArray(a,n?n.body.statements:t.members),n?n.body:void 0,!0)}function w(t,n){if(t.body){var r=t.body.statements,a=e.addPrologueDirectives(n,r,!1,u);if(a===r.length)return a;var i=r[a];return 207===i.kind&&e.isSuperCall(i.expression)?(n.push(e.visitNode(i,u,e.isStatement)),a+1):a}return 0}function P(t){return e.filter(t.parameters,F)}function F(t){return e.hasModifier(t,92)&&e.isIdentifier(t.name)}function O(t){e.Debug.assert(e.isIdentifier(t.name));var n=t.name,r=e.getMutableClone(n);e.setEmitFlags(r,1584);var a=e.getMutableClone(n);return e.setEmitFlags(a,1536),e.startOnNewLine(e.createStatement(e.createAssignment(e.createPropertyAccess(e.createThis(),r,t.name),a),e.moveRangePos(t,-1)))}function R(t,n){return e.filter(t.members,n?I:L)}function I(e){return M(e,!0)}function L(e){return M(e,!1)}function M(t,n){return 147===t.kind&&n===e.hasModifier(t,32)&&void 0!==t.initializer}function B(t,n,r){for(var a=0,i=n;a0?147===r.kind?e.createVoidZero():e.createNull():void 0,_=a(t,o,s,c,u,e.moveRangePastDecorators(r));return e.setEmitFlags(_,1536),_}}function te(t,n){var r=ne(n);r&&t.push(e.setOriginalNode(e.createStatement(r),n))}function ne(n){var r=W(n),i=Y(n,r);if(i){var o=rn&&rn[e.getOriginalNodeId(n)],s=e.getLocalName(n,!1,!0),c=a(t,i,s),u=e.createAssignment(s,o?e.createAssignment(o,c):c);return e.setEmitFlags(u,1536),e.setSourceMapRange(u,e.moveRangePastDecorators(n)),u}}function re(t){return e.visitNode(t.expression,u,e.isExpression)}function ae(r,a){var i;if(r){i=[];for(var o=0,s=r;o= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n };'}}(ts||(ts={}));var ts;!function(e){function t(t){function r(n){if(e.isDeclarationFile(n))return n;var r=e.visitEachChild(n,a,t);return e.addEmitHelpers(r,t.readEmitHelpers()),r}function a(e){return o(e,!1)}function i(e){return o(e,!0)}function o(n,r){if(0===(8&n.transformFlags))return n;switch(n.kind){case 176:return c(n);case 192:return l(n,r);case 223:return d(n);case 213:return m(n);case 211:return p(n);case 188:return f(n);case 150:return y(n);case 149:return b(n);case 151:return v(n);case 152:return h(n);case 225:return k(n);case 184:return D(n);case 185:return x(n);case 144:return g(n);case 207:return u(n);case 183:return _(n,r);default:return e.visitEachChild(n,a,t)}}function s(t){for(var n,r=[],i=0,o=t;i0){var c=r.substr(a,i-a+1);n||(n=[]),n.push(e.createLiteral(m(c)))}a=-1}else e.isWhiteSpace(s)||(i=o,a===-1&&(a=o))}if(a!==-1){var c=r.substr(a);n||(n=[]),n.push(e.createLiteral(m(c)))}if(n)return e.reduceLeft(n,f)}function f(t,n){return e.createAdd(e.createAdd(t,e.createLiteral(" ")),n)}function m(e){return e.replace(/&((#((\d+)|x([\da-fA-F]+)))|(\w+));/g,function(e,t,r,a,i,o,s){if(i)return String.fromCharCode(parseInt(i,10));if(o)return String.fromCharCode(parseInt(o,16));var c=n[s];return c?String.fromCharCode(c):e})}function g(e){var t=m(e);return t===e?void 0:t}function y(t){if(246===t.kind)return y(t.openingElement);var n=t.tagName;return e.isIdentifier(n)&&e.isIntrinsicJsxName(n.text)?e.createLiteral(n.text):e.createExpressionFromEntityName(n)}function v(t){var n=t.name;return/^[A-Za-z_]\w*$/.test(n.text)?n:e.createLiteral(n.text)}function h(t){return e.visitNode(t.expression,a,e.isExpression)}var b,k=t.getCompilerOptions();return r}e.transformJsx=t;var n=e.createMap({quot:34,amp:38,apos:39,lt:60,gt:62,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830})}(ts||(ts={}));var ts;!function(e){function t(t){function r(n){if(e.isDeclarationFile(n))return n;C=n;var r=e.visitEachChild(n,a,t);return e.addEmitHelpers(r,t.readEmitHelpers()),C=void 0,r}function a(n){if(0===(16&n.transformFlags))return n;switch(n.kind){case 119:return;case 189:return s(n);case 149:return c(n);case 225:return u(n);case 184:return _(n);case 185:return l(n);default:return e.visitEachChild(n,a,t)}}function s(t){return e.setOriginalNode(e.createYield(void 0,e.visitNode(t.expression,a,e.isExpression),t),t)}function c(n){return e.updateMethod(n,void 0,e.visitNodes(n.modifiers,a,e.isModifier),n.name,void 0,e.visitParameterList(n.parameters,a,t),void 0,e.isAsyncFunctionLike(n)?d(n):e.visitFunctionBody(n.body,a,t))}function u(n){return e.updateFunctionDeclaration(n,void 0,e.visitNodes(n.modifiers,a,e.isModifier),n.name,void 0,e.visitParameterList(n.parameters,a,t),void 0,e.isAsyncFunctionLike(n)?d(n):e.visitFunctionBody(n.body,a,t))}function _(n){return e.nodeIsMissing(n.body)?e.createOmittedExpression():e.updateFunctionExpression(n,void 0,n.name,void 0,e.visitParameterList(n.parameters,a,t),void 0,e.isAsyncFunctionLike(n)?d(n):e.visitFunctionBody(n.body,a,t))}function l(n){return e.updateArrowFunction(n,e.visitNodes(n.modifiers,a,e.isModifier),void 0,e.visitParameterList(n.parameters,a,t),void 0,e.isAsyncFunctionLike(n)?d(n):e.visitFunctionBody(n.body,a,t))}function d(r){A();var s=e.getOriginalNode(r,e.isFunctionLike),c=s.type,u=O<2?f(c):void 0,_=185===r.kind,l=0!==(8192&P.getNodeCheckFlags(r));if(_){var d=n(t,l,u,p(r.body)),g=w();if(e.some(g)){var y=e.convertToFunctionBody(d);return e.updateBlock(y,e.createNodeArray(e.concatenate(y.statements,g),y.statements))}return d}var v=[],h=e.addPrologueDirectives(v,r.body.statements,!1,a);v.push(e.createReturn(n(t,l,u,p(r.body,h)))),e.addRange(v,w());var y=e.createBlock(v,r.body,!0);return O>=2&&(4096&P.getNodeCheckFlags(r)?(m(),e.addEmitHelper(y,o)):2048&P.getNodeCheckFlags(r)&&(m(),e.addEmitHelper(y,i))),y}function p(n,r){if(e.isBlock(n))return e.updateBlock(n,e.visitLexicalEnvironment(n.statements,a,t,r));N();var i=e.convertToFunctionBody(e.visitNode(n,a,e.isConciseBody)),o=w();return e.updateBlock(i,e.createNodeArray(e.concatenate(i.statements,o),i.statements))}function f(t){var n=t&&e.getEntityNameFromTypeNode(t);if(n&&e.isEntityName(n)){var r=P.getTypeReferenceSerializationKind(n);if(r===e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue||r===e.TypeReferenceSerializationKind.Unknown)return n}}function m(){0===(1&E)&&(E|=1,t.enableSubstitution(179),t.enableSubstitution(177),t.enableSubstitution(178),t.enableEmitNotification(226),t.enableEmitNotification(149),t.enableEmitNotification(151),t.enableEmitNotification(152),t.enableEmitNotification(150))}function g(e){switch(e.kind){case 177:return y(e);case 178:return v(e);case 179:if(1&E)return h(e)}return e}function y(t){if(1&E&&96===t.expression.kind){var n=S();if(n)return D(e.createLiteral(t.name.text),n,t)}return t}function v(e){if(1&E&&96===e.expression.kind){var t=S();if(t)return D(e.argumentExpression,t,e)}return e}function h(t){var n=t.expression;if(e.isSuperProperty(n)){var r=S();if(r){var a=e.isPropertyAccessExpression(n)?y(n):v(n);return e.createCall(e.createPropertyAccess(a,"call"),void 0,[e.createThis()].concat(t.arguments))}}return t}function b(e){var t=e.kind;return 226===t||150===t||149===t||151===t||152===t}function k(e,t,n){if(1&E&&b(t)){var r=T;T=t,R(e,t,n),T=r}else R(e,t,n)}function x(e,t){return t=I(e,t),1===e?g(t):t}function D(t,n,r){return 4096&n?e.createPropertyAccess(e.createCall(e.createIdentifier("_super"),void 0,[t]),"value",r):e.createCall(e.createIdentifier("_super"),void 0,[t],r)}function S(){return void 0!==T&&6144&P.getNodeCheckFlags(T)}var C,E,T,N=t.startLexicalEnvironment,A=t.resumeLexicalEnvironment,w=t.endLexicalEnvironment,P=t.getEmitResolver(),F=t.getCompilerOptions(),O=e.getEmitScriptTarget(F),R=t.onEmitNode,I=t.onSubstituteNode;return t.onEmitNode=k,t.onSubstituteNode=x,r}function n(t,n,r,i){t.requestEmitHelper(a);var o=e.createFunctionExpression(void 0,e.createToken(38),void 0,void 0,[],void 0,i);return(o.emitNode||(o.emitNode={})).flags|=131072,e.createCall(e.getHelperName("__awaiter"),void 0,[e.createThis(),n?e.createIdentifier("arguments"):e.createVoidZero(),r?e.createExpressionFromEntityName(r):e.createVoidZero(),o])}var r;!function(e){e[e.AsyncMethodsWithSuper=1]="AsyncMethodsWithSuper"}(r||(r={})),e.transformES2017=t;var a={name:"typescript:awaiter",scoped:!1,priority:5,text:'\n var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments)).next());\n });\n };'},i={name:"typescript:async-super",scoped:!0,text:"\n const _super = name => super[name];"},o={name:"typescript:advanced-async-super",scoped:!0,text:"\n const _super = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n })(name => super[name], (name, value) => super[name] = value);"}}(ts||(ts={}));var ts;!function(e){function t(t){function n(n){return e.isDeclarationFile(n)?n:e.visitEachChild(n,r,t)}function r(n){if(0===(32&n.transformFlags))return n;switch(n.kind){case 192:return a(n);default:return e.visitEachChild(n,r,t)}}function a(n){switch(n.operatorToken.kind){case 61:return i(n);case 39:return o(n);default:return e.visitEachChild(n,r,t)}}function i(t){var n,a,i=e.visitNode(t.left,r,e.isExpression),o=e.visitNode(t.right,r,e.isExpression);if(e.isElementAccessExpression(i)){var c=e.createTempVariable(s),u=e.createTempVariable(s);n=e.createElementAccess(e.createAssignment(c,i.expression,i.expression),e.createAssignment(u,i.argumentExpression,i.argumentExpression),i),a=e.createElementAccess(c,u,i)}else if(e.isPropertyAccessExpression(i)){var c=e.createTempVariable(s);n=e.createPropertyAccess(e.createAssignment(c,i.expression,i.expression),i.name,i),a=e.createPropertyAccess(c,i.name,i)}else n=i,a=i;return e.createAssignment(n,e.createMathPow(a,o,t),t)}function o(t){var n=e.visitNode(t.left,r,e.isExpression),a=e.visitNode(t.right,r,e.isExpression);return e.createMathPow(n,a,t)}var s=t.hoistVariableDeclaration;return n}e.transformES2016=t}(ts||(ts={}));var ts;!function(e){function t(t){function r(n){if(e.isDeclarationFile(n))return n;ft=n,mt=n.text;var r=o(n,m);return e.addEmitHelpers(r,t.readEmitHelpers()),ft=void 0,mt=void 0,r}function a(e){return o(e,i)}function i(e){return Ct?d(e):l(e)}function o(t,n){var r=kt,a=xt,i=Dt,o=ht,c=bt,u=vt,_=gt,l=yt,d=Ct,p=St;e.nodeStartsNewLexicalEnvironment(t)&&(St=!1,Ct=void 0),s(t);var f=n(t);return St=p,Ct=d,kt=r,xt=a,Dt=i,ht=o,bt=c,vt=u,gt=_,yt=l,f}function s(t){if(yt)switch(e.isBlockScope(yt,gt)&&(ht=yt,bt=gt),e.isFunctionLike(yt)&&(kt=yt,185!==yt.kind&&(xt=yt,131072&e.getEmitFlags(yt)||(Dt=yt))),yt.kind){case 205:vt=yt;break;case 224:case 223:case 174:case 172:case 173:break;default:vt=void 0}gt=yt,yt=t}function c(t){return e.setOriginalNode(e.createReturn(e.createIdentifier("_this")),t)}function u(e){return St&&216===e.kind&&!e.expression}function _(t){return 0!==(64&t.transformFlags)||219===t.kind||e.isIterationStatement(t,!1)&&pe(t)}function l(n){return u(n)?c(n):_(n)?f(n):128&n.transformFlags||St&&!e.isExpression(n)?e.visitEachChild(n,a,t):n}function d(e){var t;return t=_(e)?f(e):p(e)}function p(n){switch(n.kind){case 216:return n=u(n)?c(n):n,y(n);case 205:return ee(n);case 218:return g(n);case 215:case 214:return b(n);case 98:return v(n);case 70:return h(n);default:return e.visitEachChild(n,a,t)}}function f(n){switch(n.kind){case 114:return;case 226:return k(n);case 197:return x(n);case 144:return F(n);case 225:return G(n);case 185:return W(n);case 184:return H(n);case 223:return ae(n);case 70:return h(n);case 224:return te(n);case 219:return ie(n);case 209:return oe(n);case 210:return se(n);case 211:return ce(n);case 212:return ue(n);case 213:return _e(n);case 207:return Y(n);case 176:return de(n);case 256:return Ee(n);case 258:return Ae(n);case 175:return Pe(n);case 179:return Fe(n);case 180:return Ie(n);case 183:return Z(n,!0);case 192:return $(n,!0);case 12:case 13:case 14:case 15:return je(n);case 181:return Ve(n);case 194:return qe(n);case 195:return we(n);case 196:return Je(n);case 96:return Xe();case 195:return e.visitEachChild(n,a,t);case 149:return Ne(n);case 205:return ee(n);default:return e.Debug.failBadSyntaxKind(n),e.visitEachChild(n,a,t)}}function m(t){var n=[];st();var r=e.addPrologueDirectives(n,t.statements,!1,a);return K(n,t),e.addRange(n,e.visitNodes(t.statements,a,e.isStatement,r)),e.addRange(n,ut()),e.updateSourceFileNode(t,e.createNodeArray(n,t.statements))}function g(n){e.Debug.assert(void 0!==Ct);var r=Ct.allowedNonLabeledJumps;Ct.allowedNonLabeledJumps|=2;var i=e.visitEachChild(n,a,t);return Ct.allowedNonLabeledJumps=r,i}function y(t){return e.Debug.assert(void 0!==Ct),Ct.nonLocalJumps|=8,e.createReturn(e.createObjectLiteral([e.createPropertyAssignment(e.createIdentifier("value"),t.expression?e.visitNode(t.expression,a,e.isExpression):e.createVoidZero())]))}function v(t){return e.Debug.assert(void 0!==Ct),kt&&185===kt.kind?(Ct.containsLexicalThis=!0,t):Ct.thisName||(Ct.thisName=e.createUniqueName("this"))}function h(t){return Ct?e.isGeneratedIdentifier(t)?t:"arguments"===t.text||lt.isArgumentsLocalBinding(t)?Ct.argumentsName||(Ct.argumentsName=e.createUniqueName("arguments")):t:t}function b(n){if(Ct){var r=215===n.kind?2:4,i=n.label&&Ct.labels&&Ct.labels[n.label.text]||!n.label&&Ct.allowedNonLabeledJumps&r;if(!i){var o=void 0;n.label?215===n.kind?(o="break-"+n.label.text,he(Ct,!0,n.label.text,o)):(o="continue-"+n.label.text,he(Ct,!1,n.label.text,o)):215===n.kind?(Ct.nonLocalJumps|=2,o="break"):(Ct.nonLocalJumps|=4,o="continue");var s=e.createLiteral(o);if(Ct.loopOutParameters.length){for(var c=Ct.loopOutParameters,u=void 0,_=0;_=0,"statementOffset not initialized correctly!"));var u=w(s,t,!!r,i,c);if(1!==u&&2!==u||c++,t){var _=o(t,function(t){return St=1===u,e.visitNodes(t.body.statements,a,e.isStatement,c)});e.addRange(s,_)}!r||2===u||t&&A(t.body)||s.push(e.createReturn(e.createIdentifier("_this"))),e.addRange(s,ut());var l=e.createBlock(e.createNodeArray(s,t?t.body.statements:n.members),t?t.body:n,!0);return t||e.setEmitFlags(l,1536),l}function A(t){if(216===t.kind)return!0;if(208===t.kind){var n=t;if(n.elseStatement)return A(n.thenStatement)&&A(n.elseStatement)}else if(204===t.kind){var r=e.lastOrUndefined(t.statements);if(r&&A(r))return!0}return!1}function w(t,n,r,a,i){if(!r)return n&&K(t,n),0;if(!n)return t.push(e.createReturn(P())),2;if(a)return J(t,n,P()),Ze(),1;var s,c,u=n.body.statements;if(i0?n.push(e.setEmitFlags(e.createVariableStatement(void 0,e.createVariableDeclarationList(e.flattenDestructuringBinding(r,a,t,0,s))),524288)):o&&n.push(e.setEmitFlags(e.createStatement(e.createAssignment(s,e.visitNode(o,a,e.isExpression))),524288))}function L(t,n,r,i){i=e.visitNode(i,a,e.isExpression);var o=e.createIf(e.createTypeCheck(e.getSynthesizedClone(r),"undefined"),e.setEmitFlags(e.createBlock([e.createStatement(e.createAssignment(e.setEmitFlags(e.getMutableClone(r),48),e.setEmitFlags(i,48|e.getEmitFlags(i)),n))],n),417),void 0,n);o.startsOnNewLine=!0,e.setEmitFlags(o,524704),t.push(o)}function M(e,t){return e&&e.dotDotDotToken&&70===e.name.kind&&!t}function B(t,n,r){var a=e.lastOrUndefined(n.parameters);if(M(a,r)){var i=e.getMutableClone(a.name);e.setEmitFlags(i,48);var o=e.getSynthesizedClone(a.name),s=n.parameters.length-1,c=e.createLoopVariable();t.push(e.setEmitFlags(e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(i,void 0,e.createArrayLiteral([]))]),a),524288));var u=e.createFor(e.createVariableDeclarationList([e.createVariableDeclaration(c,void 0,e.createLiteral(s))],a),e.createLessThan(c,e.createPropertyAccess(e.createIdentifier("arguments"),"length"),a),e.createPostfixIncrement(c,a),e.createBlock([e.startOnNewLine(e.createStatement(e.createAssignment(e.createElementAccess(o,0===s?c:e.createSubtract(c,e.createLiteral(s))),e.createElementAccess(e.createIdentifier("arguments"),c)),a))]));e.setEmitFlags(u,524288),e.startOnNewLine(u),t.push(u)}}function K(t,n){32768&n.transformFlags&&185!==n.kind&&J(t,n,e.createThis())}function J(t,n,r,a){Ze();var i=e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration("_this",void 0,r)]),a);e.setEmitFlags(i,525824),e.setSourceMapRange(i,n),t.push(i)}function z(t,n){for(var r=0,a=n.members;r0&&(s=!0),e.isBlock(_))r=_.statements,e.addRange(u,e.visitNodes(_.statements,a,e.isStatement,o)),!s&&_.multiLine&&(s=!0);else{e.Debug.assert(185===n.kind),r=e.moveRangeEnd(_,-1);var l=n.equalsGreaterThanToken;e.nodeIsSynthesized(l)||e.nodeIsSynthesized(_)||(e.rangeEndIsOnSameLineAsRangeStart(l,_,ft)?c=!0:s=!0);var d=e.visitNode(_,a,e.isExpression),p=e.createReturn(d,_);e.setEmitFlags(p,1440),u.push(p),i=_}var f=t.endLexicalEnvironment();e.addRange(u,f),!s&&f&&f.length&&(s=!0);var m=e.createBlock(e.createNodeArray(u,r),n.body,s);return!s&&c&&e.setEmitFlags(m,1),i&&e.setTokenSourceMapRange(m,17,i),e.setOriginalNode(m,n.body),m}function Y(n){switch(n.expression.kind){case 183:return e.updateStatement(n,Z(n.expression,!1));case 192:return e.updateStatement(n,$(n.expression,!1))}return e.visitEachChild(n,a,t)}function Z(n,r){if(!r)switch(n.expression.kind){case 183:return e.updateParen(n,Z(n.expression,!1));case 192:return e.updateParen(n,$(n.expression,!1))}return e.visitEachChild(n,a,t)}function $(n,r){if(e.isDestructuringAssignment(n))return e.flattenDestructuringAssignment(n,a,t,0,r)}function ee(n){if(Ct&&0==(3&e.getCombinedNodeFlags(n.declarationList))){for(var r=void 0,i=0,o=n.declarationList.declarations;i=58&&e<=69}function y(e){switch(e){case 58:return 36;case 59:return 37;case 60:return 38;case 61:return 39;case 62:return 40;case 63:return 41;case 64:return 44;case 65:return 45;case 66:return 46;case 67:return 47;case 68:return 48;case 69:return 49}}function v(n){var r=n.left,i=n.right;if(oe(i)){var o=void 0;switch(r.kind){case 177:o=e.updatePropertyAccess(r,le(e.visitNode(r.expression,a,e.isLeftHandSideExpression)),r.name);break;case 178:o=e.updateElementAccess(r,le(e.visitNode(r.expression,a,e.isLeftHandSideExpression)),le(e.visitNode(r.argumentExpression,a,e.isExpression)));break;default:o=e.visitNode(r,a,e.isExpression)}var s=n.operatorToken.kind;return g(s)?e.createBinary(o,57,e.createBinary(le(o),y(s),e.visitNode(i,a,e.isExpression),n),n):e.updateBinary(n,o,e.visitNode(i,a,e.isExpression))}return e.visitEachChild(n,a,t)}function h(n){if(oe(n.right)){if(e.isLogicalOperator(n.operatorToken.kind))return b(n);if(25===n.operatorToken.kind)return k(n);var r=e.getMutableClone(n);return r.left=le(e.visitNode(n.left,a,e.isExpression)),r.right=e.visitNode(n.right,a,e.isExpression),r}return e.visitEachChild(n,a,t)}function b(t){var n=pe(),r=de();return Xe(r,e.visitNode(t.left,a,e.isExpression),t.left),52===t.operatorToken.kind?Ze(n,r,t.left):Ye(n,r,t.left),Xe(r,e.visitNode(t.right,a,e.isExpression),t.right),fe(n),r}function k(t){function n(t){e.isBinaryExpression(t)&&25===t.operatorToken.kind?(n(t.left),n(t.right)):(oe(t)&&r.length>0&&(at(1,[e.createStatement(e.inlineExpressions(r))]),r=[]),r.push(e.visitNode(t,a,e.isExpression)))}var r=[];return n(t.left),n(t.right),e.inlineExpressions(r)}function x(n){if(oe(n.whenTrue)||oe(n.whenFalse)){var r=pe(),i=pe(),o=de();return Ze(r,e.visitNode(n.condition,a,e.isExpression),n.condition),Xe(o,e.visitNode(n.whenTrue,a,e.isExpression),n.whenTrue),Qe(i),fe(r),Xe(o,e.visitNode(n.whenFalse,a,e.isExpression),n.whenFalse),fe(i),o}return e.visitEachChild(n,a,t)}function D(t){var n=pe(),r=e.visitNode(t.expression,a,e.isExpression);return t.asteriskToken?$e(r,t):et(r,t),fe(n),We()}function S(e){return C(e.elements,void 0,void 0,e.multiLine)}function C(t,n,r,i){function o(t,r){return oe(r)&&t.length>0&&(Xe(c,u?e.createArrayConcat(c,[e.createArrayLiteral(t,void 0,i)]):e.createArrayLiteral(n?[n].concat(t):t,void 0,i)),u=!0,n=void 0,t=[]),t.push(e.visitNode(r,a,e.isExpression)),t}var s=se(t),c=de(),u=!1;if(s>0){var _=e.visitNodes(t,a,e.isExpression,0,s);Xe(c,e.createArrayLiteral(n?[n].concat(_):_)),n=void 0,u=!0}var l=e.reduceLeft(t,o,[],s);return u?e.createArrayConcat(c,[e.createArrayLiteral(l,void 0,i)]):e.createArrayLiteral(n?[n].concat(l):l,r,i)}function E(t){function n(n,r){oe(r)&&n.length>0&&(Ge(e.createStatement(e.inlineExpressions(n))),n=[]);var o=e.createExpressionForObjectLiteralElementLike(t,r,s),c=e.visitNode(o,a,e.isExpression);return c&&(i&&(c.startsOnNewLine=!0),n.push(c)),n}var r=t.properties,i=t.multiLine,o=se(r),s=de();Xe(s,e.createObjectLiteral(e.visitNodes(r,a,e.isObjectLiteralElementLike,0,o),void 0,i));var c=e.reduceLeft(r,n,[],o);return c.push(i?e.startOnNewLine(e.getMutableClone(s)):s),e.inlineExpressions(c)}function T(n){if(oe(n.argumentExpression)){var r=e.getMutableClone(n);return r.expression=le(e.visitNode(n.expression,a,e.isLeftHandSideExpression)),r.argumentExpression=e.visitNode(n.argumentExpression,a,e.isExpression),r}return e.visitEachChild(n,a,t)}function N(n){if(e.forEach(n.arguments,oe)){var r=e.createCallBinding(n.expression,Nt,wt,!0),i=r.target,o=r.thisArg;return e.setOriginalNode(e.createFunctionApply(le(e.visitNode(i,a,e.isLeftHandSideExpression)),o,C(n.arguments),n),n)}return e.visitEachChild(n,a,t)}function A(n){if(e.forEach(n.arguments,oe)){var r=e.createCallBinding(e.createPropertyAccess(n.expression,"bind"),Nt),i=r.target,o=r.thisArg;return e.setOriginalNode(e.createNew(e.createFunctionApply(le(e.visitNode(i,a,e.isExpression)),o,C(n.arguments,e.createVoidZero())),void 0,[],n),n)}return e.visitEachChild(n,a,t)}function w(e,t){void 0===t&&(t=0);for(var n=e.length,r=t;r0)break;c.push(M(a))}c.length&&(Ge(e.createStatement(e.inlineExpressions(c))),s+=c.length,c=[])}}function M(t){return e.createAssignment(e.getSynthesizedClone(t.name),e.visitNode(t.initializer,a,e.isExpression))}function B(t){if(oe(t))if(oe(t.thenStatement)||oe(t.elseStatement)){var n=pe(),r=t.elseStatement?pe():void 0;Ze(t.elseStatement?r:n,e.visitNode(t.expression,a,e.isExpression)),P(t.thenStatement),t.elseStatement&&(Qe(n),fe(r),P(t.elseStatement)),fe(n)}else Ge(e.visitNode(t,a,e.isStatement));else Ge(e.visitNode(t,a,e.isStatement))}function K(t){if(oe(t)){var n=pe(),r=pe();Ne(n),fe(r),P(t.statement),fe(n),Ye(r,e.visitNode(t.expression,a,e.isExpression)),Ae()}else Ge(e.visitNode(t,a,e.isStatement))}function J(n){return Mt?(Te(),n=e.visitEachChild(n,a,t),Ae(),n):e.visitEachChild(n,a,t)}function z(t){if(oe(t)){var n=pe(),r=Ne(n);fe(n),Ze(r,e.visitNode(t.expression,a,e.isExpression)),P(t.statement),Qe(n),Ae()}else Ge(e.visitNode(t,a,e.isStatement))}function j(n){return Mt?(Te(),n=e.visitEachChild(n,a,t),Ae(),n):e.visitEachChild(n,a,t)}function V(t){if(oe(t)){var n=pe(),r=pe(),i=Ne(r);if(t.initializer){var o=t.initializer;e.isVariableDeclarationList(o)?L(o):Ge(e.createStatement(e.visitNode(o,a,e.isExpression),o))}fe(n),t.condition&&Ze(i,e.visitNode(t.condition,a,e.isExpression)),P(t.statement),fe(r),t.incrementor&&Ge(e.createStatement(e.visitNode(t.incrementor,a,e.isExpression),t.incrementor)),Qe(n),Ae()}else Ge(e.visitNode(t,a,e.isStatement))}function U(n){Mt&&Te();var r=n.initializer;if(e.isVariableDeclarationList(r)){for(var i=0,o=r.declarations;i0?e.inlineExpressions(e.map(c,M)):void 0,e.visitNode(n.condition,a,e.isExpression,!0),e.visitNode(n.incrementor,a,e.isExpression,!0),e.visitNode(n.statement,a,e.isStatement,!1,e.liftToBlock))}else n=e.visitEachChild(n,a,t);return Mt&&Ae(),n}function q(t){if(oe(t)){var n=de(),r=de(),i=e.createLoopVariable(),o=t.initializer;Nt(i),Xe(n,e.createArrayLiteral()),Ge(e.createForIn(r,e.visitNode(t.expression,a,e.isExpression),e.createStatement(e.createCall(e.createPropertyAccess(n,"push"),void 0,[r])))),Xe(i,e.createLiteral(0));var s=pe(),c=pe(),u=Ne(c);fe(s),Ze(u,e.createLessThan(i,e.createPropertyAccess(n,"length")));var _=void 0;if(e.isVariableDeclarationList(o)){for(var l=0,d=o.declarations;l0,"Expected continue statment to point to a valid Label."),Qe(n,t)}function G(n){if(Mt){var r=ze(n.label&&n.label.text);if(r>0)return Ue(r,n)}return e.visitEachChild(n,a,t)}function X(t){var n=Je(t.label?t.label.text:void 0);e.Debug.assert(n>0,"Expected break statment to point to a valid Label."),Qe(n,t)}function Q(n){if(Mt){var r=Je(n.label&&n.label.text);if(r>0)return Ue(r,n)}return e.visitEachChild(n,a,t)}function Y(t){tt(e.visitNode(t.expression,a,e.isExpression,!0),t)}function Z(t){return qe(e.visitNode(t.expression,a,e.isExpression,!0),t)}function $(t){oe(t)?(he(le(e.visitNode(t.expression,a,e.isExpression))),P(t.statement),be()):Ge(e.visitNode(t,a,e.isStatement))}function ee(t){if(oe(t.caseBlock)){for(var n=t.caseBlock,r=n.clauses.length,i=Pe(),o=le(e.visitNode(t.expression,a,e.isExpression)),s=[],c=-1,u=0;u0)break;d.push(e.createCaseClause(e.visitNode(f.expression,a,e.isExpression),[Ue(s[u],f.expression)]))}else p++}d.length&&(Ge(e.createSwitch(o,e.createCaseBlock(d))),l+=d.length,d=[]),p>0&&(l+=p,p=0)}Qe(c>=0?s[c]:i);for(var u=0;u=0;n--){var r=zt[n];if(!Me(r))break;if(r.labelText===e)return!0}return!1}function Je(t){if(e.Debug.assert(void 0!==Bt),t)for(var n=zt.length-1;n>=0;n--){var r=zt[n];if(Me(r)&&r.labelText===t)return r.breakLabel;if(Le(r)&&Ke(t,n-1))return r.breakLabel}else for(var n=zt.length-1;n>=0;n--){var r=zt[n];if(Le(r))return r.breakLabel}return 0}function ze(t){if(e.Debug.assert(void 0!==Bt),t)for(var n=zt.length-1;n>=0;n--){var r=zt[n];if(Be(r)&&Ke(t,n-1))return r.continueLabel}else for(var n=zt.length-1;n>=0;n--){var r=zt[n];if(Be(r))return r.continueLabel}return 0}function je(t){if(t>0){void 0===Vt&&(Vt=[]);var n=e.createLiteral(-1);return void 0===Vt[t]?Vt[t]=[n]:Vt[t].push(n),n}return e.createOmittedExpression()}function Ve(t){var n=e.createLiteral(t);return n.trailingComment=c[t],n}function Ue(t,n){return e.Debug.assert(t>0,"Invalid label: "+t),e.createReturn(e.createArrayLiteral([Ve(3),je(t)]),n)}function qe(t,n){return e.createReturn(e.createArrayLiteral(t?[Ve(2),t]:[Ve(2)]),n)}function We(t){return e.createCall(e.createPropertyAccess(Ht,"sent"),void 0,[],t)}function He(){at(0)}function Ge(e){e?at(1,[e]):He()}function Xe(e,t,n){at(2,[e,t],n)}function Qe(e,t){at(3,[e],t)}function Ye(e,t,n){at(4,[e,t],n)}function Ze(e,t,n){at(5,[e,t],n)}function $e(e,t){at(7,[e],t)}function et(e,t){at(6,[e],t)}function tt(e,t){at(8,[e],t)}function nt(e,t){at(9,[e],t)}function rt(){at(10)}function at(e,t,n){void 0===Ut&&(Ut=[],qt=[],Wt=[]),void 0===jt&&fe(pe());var r=Ut.length;Ut[r]=e,qt[r]=t,Wt[r]=n}function it(){rn=0,an=0,Gt=void 0,Xt=!1,Qt=!1,Yt=void 0,Zt=void 0,$t=void 0,en=void 0,tn=void 0;var r=ot();return n(t,e.setEmitFlags(e.createFunctionExpression(void 0,void 0,void 0,void 0,[e.createParameter(void 0,void 0,void 0,Ht)],void 0,e.createBlock(r,void 0,r.length>0)),262144))}function ot(){if(Ut){for(var t=0;t=0;n--){var r=tn[n];Zt=[e.createWith(r.expression,e.createBlock(Zt))]}if(en){var a=en.startLabel,i=en.catchLabel,o=en.finallyLabel,s=en.endLabel;Zt.unshift(e.createStatement(e.createCall(e.createPropertyAccess(e.createPropertyAccess(Ht,"trys"),"push"),void 0,[e.createArrayLiteral([je(a),je(i),je(o),je(s)])]))),en=void 0}t&&Zt.push(e.createStatement(e.createAssignment(e.createPropertyAccess(Ht,"label"),e.createLiteral(an+1))))}Yt.push(e.createCaseClause(e.createLiteral(an),Zt||[])),Zt=void 0}function lt(e){if(jt)for(var t=0;t 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };'}}(ts||(ts={}));var ts;!function(e){function t(t){function n(e){return e}function r(t,n){return n=s(t,n),e.isPropertyAccessExpression(n)?a(n):e.isPropertyAssignment(n)?i(n):n}function a(t){var n=o(t.name);return n?e.createElementAccess(t.expression,n,t):t}function i(t){var n=e.isIdentifier(t.name)&&o(t.name);return n?e.updatePropertyAssignment(t,n,t.initializer):t}function o(t){var n=t.originalKeywordKind||(e.nodeIsSynthesized(t)?e.stringToToken(t.text):void 0);if(n>=71&&n<=106)return e.createLiteral(t,t)}var s=t.onSubstituteNode;return t.onSubstituteNode=r,t.enableSubstitution(177),t.enableSubstitution(257),n}e.transformES5=t}(ts||(ts={}));var ts;!function(e){function t(t){function n(n){if(e.isDeclarationFile(n))return n;if(e.isExternalModule(n)||c.isolatedModules){var a=e.getOrCreateExternalHelpersModuleNameIfNeeded(n,c);if(a){var i=[],o=e.addPrologueDirectives(i,n.statements);return e.append(i,e.createImportDeclaration(void 0,void 0,e.createImportClause(void 0,e.createNamespaceImport(a)),e.createLiteral(e.externalHelpersModuleNameText))),e.addRange(i,e.visitNodes(n.statements,r,e.isStatement,o)),e.updateSourceFileNode(n,e.createNodeArray(i,n.statements))}return e.visitEachChild(n,r,t)}return n}function r(e){switch(e.kind){case 234:return;case 240:return a(e)}return e}function a(e){return e.isExportEquals?void 0:e}function i(t,n,r){e.isSourceFile(n)?(l=n,u(t,n,r),l=void 0):u(t,n,r)}function o(t,n){return n=_(t,n),e.isIdentifier(n)&&1===t?s(n):n}function s(t){if(4096&e.getEmitFlags(t)){var n=e.getExternalHelpersModuleName(l);if(n)return e.createPropertyAccess(n,t)}return t}var c=t.getCompilerOptions(),u=t.onEmitNode,_=t.onSubstituteNode;t.onEmitNode=i,t.onSubstituteNode=o,t.enableEmitNotification(261),t.enableSubstitution(70);var l;return n}e.transformES2015Module=t}(ts||(ts={}));var ts;!function(e){function t(t){function n(t){if(e.isDeclarationFile(t)||!e.isExternalModule(t)&&!de.isolatedModules)return t;var n=e.getOriginalNodeId(t);ye=t,xe=t,ve=Se[n]=e.collectExternalModuleInfo(t,pe,de),he=Ee[n]=e.createUniqueName("exports"),be=e.createUniqueName("context");var i=r(ve.externalImports),o=a(t,i),s=e.createFunctionExpression(void 0,void 0,void 0,void 0,[e.createParameter(void 0,void 0,void 0,he),e.createParameter(void 0,void 0,void 0,be)],void 0,o),c=e.tryGetModuleNameFromFile(t,fe,de),u=e.createArrayLiteral(e.map(i,function(e){return e.name})),_=e.updateSourceFileNode(t,e.createNodeArray([e.createStatement(e.createCall(e.createPropertyAccess(e.createIdentifier("System"),"register"),void 0,c?[c,u,s]:[u,s]))],t.statements));return de.outFile||de.out||e.moveEmitHelpers(_,o,function(e){return!e.scoped}),De&&(Te[n]=De,De=void 0),ye=void 0,ve=void 0,he=void 0,be=void 0,ke=void 0,xe=void 0,e.aggregateTransformFlags(_)}function r(t){for(var n=e.createMap(),r=[],a=0;a=2?2:0),t))}else r&&e.isDefaultImport(t)&&(n=e.append(n,e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(e.getSynthesizedClone(r.name),void 0,e.getGeneratedNameForNode(t),t)],void 0,X>=2?2:0))));if(D(t)){var i=e.getOriginalNodeId(t);re[i]=C(re[i],t)}else n=C(n,t);return e.singleOrMany(n)}function f(t){var n=e.getExternalModuleNameLiteral(t,$,G,H,W),r=[];return n&&r.push(n),e.createCall(e.createIdentifier("require"),void 0,r)}function m(t){e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(t),"import= for internal module references should be handled in an earlier transformer.");var n;if(Q!==e.ModuleKind.AMD?n=e.hasModifier(t,1)?e.append(n,e.createStatement(O(t.name,f(t)),t)):e.append(n,e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(e.getSynthesizedClone(t.name),void 0,f(t))],void 0,X>=2?2:0),t)):e.hasModifier(t,1)&&(n=e.append(n,e.createStatement(O(e.getExportName(t),e.getLocalName(t)),t))),D(t)){var r=e.getOriginalNodeId(t);re[r]=E(re[r],t)}else n=E(n,t);return e.singleOrMany(n)}function g(t){if(t.moduleSpecifier){var n=e.getGeneratedNameForNode(t);if(t.exportClause){var r=[];Q!==e.ModuleKind.AMD&&r.push(e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(n,void 0,f(t))]),t));for(var a=0,i=t.exportClause.elements;a=0&&(e.Debug.assert(!1,"We do not support name index right now, Make sure to update updateLastEncodedAndRecordedSpans when we start using this"),k.sourceMapMappings+=r(v.nameIndex-b),b=v.nameIndex),h=v,k.sourceMapDecodedMappings.push(h)}}function c(t){if(!S&&!e.positionIsSynthesized(t)){D&&e.performance.mark("beforeSourcemap");var r=e.getLineAndCharacterOfPosition(f,t);r.line++,r.character++;var a=n.getLine(),i=n.getColumn();!v||v.emittedLine!==a||v.emittedColumn!==i||v.sourceIndex===y&&(v.sourceLine>r.line||v.sourceLine===r.line&&v.sourceColumn>r.character)?(s(),v={emittedLine:a,emittedColumn:i,sourceLine:r.line,sourceColumn:r.character,sourceIndex:y}):(v.sourceLine=r.line,v.sourceColumn=r.character,v.sourceIndex=y),D&&(e.performance.mark("afterSourcemap"),e.performance.measure("Source Map","beforeSourcemap","afterSourcemap"))}}function u(t,n,r){if(S)return r(t,n);if(n){var a=n.emitNode,i=a&&a.flags,o=a&&a.sourceMapRange||n,s=o.pos,u=o.end;293!==n.kind&&0===(16&i)&&s>=0&&c(e.skipTrivia(m,s)),64&i?(S=!0,r(t,n),S=!1):r(t,n),293!==n.kind&&0===(32&i)&&u>=0&&c(u)}}function _(t,n,r,a){if(S)return a(n,r);var i=t&&t.emitNode,o=i&&i.flags,s=i&&i.tokenSourceMapRanges&&i.tokenSourceMapRanges[n];return r=e.skipTrivia(m,s?s.pos:r),0===(128&o)&&r>=0&&c(r),r=a(n,r),s&&(r=s.end),0===(256&o)&&r>=0&&c(r),r}function l(n){if(!S){f=n,m=f.text;var r=x.sourceRoot?t.getCommonSourceDirectory():g,a=e.getRelativePathToDirectoryOrUrl(r,f.fileName,t.getCurrentDirectory(),t.getCanonicalFileName,!0);y=e.indexOf(k.sourceMapSources,a),y===-1&&(y=k.sourceMapSources.length,k.sourceMapSources.push(a),k.inputSourceFileNames.push(f.fileName),x.inlineSources&&k.sourceMapSourcesContent.push(f.text))}}function d(){if(!S)return s(),e.stringify({version:3,file:k.sourceMapFile,sourceRoot:k.sourceMapSourceRoot,sources:k.sourceMapSources,names:k.sourceMapNames,mappings:k.sourceMapMappings,sourcesContent:k.sourceMapSourcesContent})}function p(){if(!S){if(x.inlineSourceMap){var t=e.convertToBase64(d());return k.jsSourceMappingURL="data:application/json;base64,"+t}return k.jsSourceMappingURL}}var f,m,g,y,v,h,b,k,x=t.getCompilerOptions(),D=x.extendedDiagnostics,S=!(x.sourceMap||x.inlineSourceMap);return{initialize:i,reset:o,getSourceMapData:function(){return k},setSourceFile:l,emitPos:c,emitNodeWithSourceMap:u,emitTokenWithSourceMap:_,getText:d,getSourceMappingURL:p}}function n(e){if(e<64)return i.charAt(e);throw TypeError(e+": not a 64 based value")}function r(e){e<0?e=(-e<<1)+1:e<<=1;var t="";do{var r=31&e;e>>=5,e>0&&(r|=32),t+=n(r)}while(e>0);return t}var a={emittedLine:1,emittedColumn:1,sourceLine:1,sourceColumn:1,sourceIndex:0};e.createSourceMapWriter=t;var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"}(ts||(ts={}));var ts;!function(e){function t(t,n,r){function a(t,n,r){if(R)return void r(t,n);if(n){var a=e.getCommentRange(n),i=a.pos,s=a.end,c=e.getEmitFlags(n);if(i<0&&s<0||i===s)2048&c?(R=!0,r(t,n),R=!1):r(t,n);else{T&&e.performance.mark("preEmitNodeWithComment");var _=293!==n.kind,l=i<0||0!==(512&c),d=s<0||0!==(1024&c);l||o(i,_);var p=w,f=P,m=F;l||(w=i),d||(P=s,224===n.kind&&(F=s)),T&&e.performance.measure("commentTime","preEmitNodeWithComment"),2048&c?(R=!0,r(t,n),R=!1):r(t,n),T&&e.performance.mark("beginEmitNodeWithComment"),w=p,P=f,F=m,!d&&_&&u(s),T&&e.performance.measure("commentTime","beginEmitNodeWithComment")}}}function i(t,n,r){T&&e.performance.mark("preEmitBodyWithDetachedComments");var a=n.pos,i=n.end,s=e.getEmitFlags(t),c=a<0||0!==(512&s),u=R||i<0||0!==(1024&s);c||h(n),T&&e.performance.measure("commentTime","preEmitBodyWithDetachedComments"),2048&s&&!R?(R=!0,r(t),R=!1):r(t),T&&e.performance.mark("beginEmitBodyWithDetachedCommetns"),u||o(n.end,!0),T&&e.performance.measure("commentTime","beginEmitBodyWithDetachedCommetns")}function o(e,t){O=!1,t?p(e,c):0===e&&p(e,s)}function s(e,t,n,r,a){k(e,t)&&c(e,t,n,r,a)}function c(t,r,a,i,o){O||(e.emitNewLineBeforeLeadingCommentOfPosition(S,n,o,t),O=!0),A(t),e.writeCommentRange(D,S,n,t,r,N),A(r),i?n.writeLine():n.write(" ")}function u(e){f(e,_)}function _(t,r,a,i){n.isAtStartOfLine()||n.write(" "),A(t),e.writeCommentRange(D,S,n,t,r,N),A(r),i&&n.writeLine()}function l(t){R||(T&&e.performance.mark("beforeEmitTrailingCommentsOfPosition"),f(t,d),T&&e.performance.measure("commentTime","beforeEmitTrailingCommentsOfPosition"))}function d(t,r,a,i){A(t),e.writeCommentRange(D,S,n,t,r,N),A(r),i?n.writeLine():n.write(" ")}function p(t,n){w!==-1&&t===w||(y(t)?v(n):e.forEachLeadingCommentRange(D,t,n,t))}function f(t,n){(P===-1||t!==P&&t!==F)&&e.forEachTrailingCommentRange(D,t,n)}function m(){x=void 0,D=void 0,S=void 0,C=void 0}function g(t){x=t,D=x.text,S=e.getLineStarts(x),C=void 0}function y(t){return void 0!==C&&e.lastOrUndefined(C).nodePos===t}function v(t){var n=e.lastOrUndefined(C).detachedCommentEndPos;C.length-1?C.pop():C=void 0,e.forEachLeadingCommentRange(D,n,t,n)}function h(t){var r=e.emitDetachedComments(D,S,n,b,t,N,R);r&&(C?C.push(r):C=[r])}function b(t,n,r,a,i,o){A(a),e.writeCommentRange(t,n,r,a,i,o),A(i)}function k(t,n){if(47===D.charCodeAt(t+1)&&t+2=0}function u(t){if(t){var n=e.getLeadingCommentRanges(ye,t.pos);if(e.forEach(n,c))return;ie(t)}}function _(){var t=e.createTextWriter(pe);t.trackSymbol=m,t.reportInaccessibleThisError=g,t.writeKeyword=t.write,t.writeOperator=t.write,t.writePunctuation=t.write,t.writeSpace=t.write,t.writeStringLiteral=t.writeLiteral,t.writeParameter=t.write,t.writeSymbol=t.write,l(t)}function l(e){de=e,se=e.write,le=e.writeTextOfNode,ce=e.writeLine,ue=e.increaseIndent,_e=e.decreaseIndent}function d(t){var n=de;e.forEach(t,function(t){var n;223===t.kind?n=t.parent.parent:238===t.kind||239===t.kind||236===t.kind?e.Debug.fail("We should be getting ImportDeclaration instead to write"):n=t;var r=e.forEach(Ne,function(e){return e.node===n?e:void 0});if(!r&&De&&(r=e.forEach(De,function(e){return e.node===n?e:void 0})),r)if(235===r.node.kind)r.isVisible=!0;else{_();for(var a=r.indent;a;a--)ue();230===n.kind&&(e.Debug.assert(void 0===De),De=[]),w(n),230===n.kind&&(r.subModuleElementDeclarationEmitInfo=De,De=void 0),r.asynchronousOutput=de.getText()}}),l(n)}function p(t){if(t){Se||(Se=e.createMap());for(var n=0,r=t;n")))}function o(e){a(e.typeName),e.typeArguments&&(se("<"),k(e.typeArguments,S),se(">"))}function s(e){le(ye,e.parameterName),se(" is "),S(e.type)}function c(e){se("typeof "),a(e.exprName)}function u(e){S(e.elementType),se("[]")}function _(e){se("["),k(e.elementTypes,S),se("]")}function l(e){b(e.types," | ",S)}function d(e){b(e.types," & ",S)}function m(e){se("("),S(e.type),se(")")}function g(t){se(e.tokenToString(t.operator)),se(" "),S(t.type)}function y(e){S(e.objectType),se("["),S(e.indexType),se("]")}function v(e){var t=me;me=e,se("{"),ce(),ue(),e.readonlyToken&&se("readonly "),se("["),r(e.typeParameter.name),se(" in "),S(e.typeParameter.constraint),se("]"),e.questionToken&&se("?"),se(": "),S(e.type),se(";"),ce(),_e(),se("}"),me=t}function x(e){se("{"),e.members.length&&(ce(),ue(),h(e.members),_e()),se("}")}switch(t.kind){case 118:case 134:case 132:case 121:case 135:case 104:case 137:case 94:case 129:case 167:case 171:return le(ye,t);case 199:return i(t);case 157:return o(t);case 160:return c(t);case 162:return u(t);case 163:return _(t);case 164:return l(t);case 165:return d(t);case 166:return m(t);case 168:return g(t);case 169:return y(t);case 170:return v(t);case 158:case 159:return ne(t);case 161:return x(t);case 70:return a(t);case 141:return a(t);case 156:return s(t)}}function C(t){ye=t.text,ve=e.getLineStarts(t),he=t.identifiers,be=e.isExternalModule(t),me=t,e.emitDetachedComments(ye,ve,de,e.writeCommentRange,t,pe,!0),h(t.statements)}function E(){var e="_default";if(!(e in he))return e;for(var t=0;;){t++;var n=e+"_"+t;if(!(n in he))return n}}function T(t){function r(){return{diagnosticMessage:e.Diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0,errorNode:t}}if(70===t.expression.kind)se(t.isExportEquals?"export = ":"export default "),le(ye,t.expression);else{var a=E();xe||se("declare "),se("var "),se(a),se(": "),de.getSymbolAccessibilityDiagnostic=r,n.writeTypeOfExpression(t.expression,me,1026,de),se(";"),ce(),se(t.isExportEquals?"export = ":"export default "),se(a)}if(se(";"),ce(),70===t.expression.kind){var i=n.collectLinkedAliases(t.expression);d(i)}}function N(e){return n.isDeclarationVisible(e)}function A(e,t){if(t)w(e);else if(234===e.kind||261===e.parent.kind&&be){var r=void 0;if(De&&261!==e.parent.kind)De.push({node:e,outputPos:de.getTextPos(),indent:de.getIndent(),isVisible:r});else{if(235===e.kind){var a=e;a.importClause&&(r=a.importClause.name&&n.isDeclarationVisible(a.importClause)||R(a.importClause.namedBindings))}Ne.push({node:e,outputPos:de.getTextPos(),indent:de.getIndent(),isVisible:r})}}}function w(t){switch(t.kind){case 225:return te(t);case 205:return $(t);case 227:return G(t);case 226:return H(t);case 228:return z(t);case 229:return j(t);case 230:return J(t);case 234:return O(t);case 235:return I(t);default:e.Debug.fail("Unknown symbol kind")}}function P(t){if(261===t.parent.kind){var n=e.getModifierFlags(t);1&n&&se("export "),512&n?se("default "):227===t.kind||xe||se("declare ")}}function F(e){8&e?se("private "):16&e&&se("protected "),32&e&&se("static "),64&e&&se("readonly "),128&e&&se("abstract ")}function O(t){function n(){return{diagnosticMessage:e.Diagnostics.Import_declaration_0_is_using_private_name_1,errorNode:t,typeName:t.name}}Ee(t),e.hasModifier(t,1)&&se("export "),se("import "),le(ye,t.name),se(" = "),e.isInternalModuleImportEqualsDeclaration(t)?(D(t.moduleReference,n),se(";")):(se("require("),L(t),se(");")),de.writeLine()}function R(t){if(t)return 237===t.kind?n.isDeclarationVisible(t):e.forEach(t.elements,function(e){return n.isDeclarationVisible(e)})}function I(t){if(Ee(t),e.hasModifier(t,1)&&se("export "),se("import "),t.importClause){var r=de.getTextPos();t.importClause.name&&n.isDeclarationVisible(t.importClause)&&le(ye,t.importClause.name),t.importClause.namedBindings&&R(t.importClause.namedBindings)&&(r!==de.getTextPos()&&se(", "),237===t.importClause.namedBindings.kind?(se("* as "),le(ye,t.importClause.namedBindings.name)):(se("{ "),k(t.importClause.namedBindings.elements,M,n.isDeclarationVisible),se(" }"))),se(" from ")}L(t),se(";"),de.writeLine()}function L(r){ge=ge||230!==r.kind;var a;if(234===r.kind){var i=r;a=e.getExternalModuleImportEqualsDeclarationExpression(i)}else if(230===r.kind)a=r.name;else{var i=r;a=i.moduleSpecifier}if(9===a.kind&&o&&(fe.out||fe.outFile)){var s=e.getExternalModuleNameFromDeclaration(t,n,r);if(s)return se('"'),se(s),void se('"')}le(ye,a)}function M(e){e.propertyName&&(le(ye,e.propertyName),se(" as ")),le(ye,e.name)}function B(e){M(e);var t=n.collectLinkedAliases(e.propertyName||e.name);d(t)}function K(e){Ee(e),se("export "),e.exportClause?(se("{ "),k(e.exportClause.elements,B),se(" }")):se("*"),e.moduleSpecifier&&(se(" from "),L(e)),se(";"),de.writeLine()}function J(t){for(Ee(t),P(t),e.isGlobalScopeAugmentation(t)?se("global "):(se(16&t.flags?"namespace ":"module "),e.isExternalModuleAugmentation(t)?L(t):le(ye,t.name));t.body&&231!==t.body.kind;)t=t.body,se("."),le(ye,t.name);var n=me;t.body?(me=t,se(" {"),ce(),ue(),h(t.body.statements),_e(),se("}"),ce(),me=n):se(";")}function z(t){function n(){return{diagnosticMessage:e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1, -errorNode:t.type,typeName:t.name}}var r=me;me=t,Ee(t),P(t),se("type "),le(ye,t.name),q(t.typeParameters),se(" = "),D(t.type,n),se(";"),ce(),me=r}function j(t){Ee(t),P(t),e.isConst(t)&&se("const "),se("enum "),le(ye,t.name),se(" {"),ce(),ue(),h(t.members),_e(),se("}"),ce()}function V(e){Ee(e),le(ye,e.name);var t=n.getConstantValue(e);void 0!==t&&(se(" = "),se(t.toString())),se(","),ce()}function U(t){return 149===t.parent.kind&&e.hasModifier(t.parent,8)}function q(t){function n(t){function n(){var n;switch(t.parent.kind){case 226:n=e.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 227:n=e.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 154:n=e.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 153:n=e.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 149:case 148:n=e.hasModifier(t.parent,32)?e.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:226===t.parent.parent.kind?e.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:e.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 225:n=e.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;case 228:n=e.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;break;default:e.Debug.fail("This is unknown parent for type parameter: "+t.parent.kind)}return{diagnosticMessage:n,errorNode:t,typeName:t.name}}ue(),Ee(t),_e(),le(ye,t.name),t.constraint&&!U(t)&&(se(" extends "),158===t.parent.kind||159===t.parent.kind||t.parent.parent&&161===t.parent.parent.kind?(e.Debug.assert(149===t.parent.kind||148===t.parent.kind||158===t.parent.kind||159===t.parent.kind||153===t.parent.kind||154===t.parent.kind),S(t.constraint)):D(t.constraint,n))}t&&(se("<"),k(t,n),se(">"))}function W(t,r){function a(t){function a(){var n;return n=226===t.parent.parent.kind?r?e.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.Extends_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1,{diagnosticMessage:n,errorNode:t,typeName:t.parent.parent.name}}e.isEntityNameExpression(t.expression)?D(t,a):r||94!==t.expression.kind?(de.getSymbolAccessibilityDiagnostic=a,n.writeBaseConstructorTypeOfClass(me,me,1026,de)):se("null")}t&&(se(r?" implements ":" extends "),k(t,a))}function H(t){function n(t){t&&e.forEach(t.parameters,function(t){e.hasModifier(t,92)&&X(t)})}Ee(t),P(t),e.hasModifier(t,128)&&se("abstract "),se("class "),le(ye,t.name);var r=me;me=t,q(t.typeParameters);var a=e.getClassExtendsHeritageClauseElement(t);a&&W([a],!1),W(e.getClassImplementsHeritageClauseElements(t),!0),se(" {"),ce(),ue(),n(e.getFirstConstructorWithBody(t)),h(t.members),_e(),se("}"),ce(),me=r}function G(t){Ee(t),P(t),se("interface "),le(ye,t.name);var n=me;me=t,q(t.typeParameters);var r=e.filter(e.getInterfaceBaseTypeNodes(t),function(t){return e.isEntityNameExpression(t.expression)});r&&r.length&&W(r,!1),se(" {"),ce(),ue(),h(t.members),_e(),se("}"),ce(),me=n}function X(t){e.hasDynamicName(t)||(Ee(t),F(e.getModifierFlags(t)),Q(t),se(";"),ce())}function Q(t){function r(n){return 223===t.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1:147===t.kind||146===t.kind?e.hasModifier(t,32)?n.errorModuleName?2===n.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:226===t.parent.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:n.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1:void 0}function a(e){var n=r(e);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}function i(e){for(var t=[],n=0,r=e.elements;n0?e.parameters[0].type:void 0}function r(t){var n;return 152===a.kind?(n=e.hasModifier(a.parent,32)?t.errorModuleName?e.Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1,{diagnosticMessage:n,errorNode:a.parameters[0],typeName:a.name}):(n=e.hasModifier(a,32)?t.errorModuleName?2===t.accessibility?e.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0:t.errorModuleName?2===t.accessibility?e.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0,{diagnosticMessage:n,errorNode:a.name,typeName:void 0})}if(!e.hasDynamicName(t)){var a,i=e.getAllAccessorDeclarations(t.parent.members,t);if(t===i.firstAccessor){if(Ee(i.getAccessor),Ee(i.setAccessor),F(e.getModifierFlags(t)|(i.setAccessor?0:64)),le(ye,t.name),!e.hasModifier(t,8)){a=t;var o=n(t);if(!o){var s=151===t.kind?i.setAccessor:i.getAccessor;o=n(s),o&&(a=s)}y(t,o,r)}se(";"),ce()}}}function te(t){e.hasDynamicName(t)||n.isImplementationOfOverload(t)||(Ee(t),225===t.kind?P(t):149!==t.kind&&150!==t.kind||F(e.getModifierFlags(t)),225===t.kind?(se("function "),le(ye,t.name)):150===t.kind?se("constructor"):(le(ye,t.name),e.hasQuestionToken(t)&&se("?")),re(t))}function ne(e){Ee(e),re(e)}function re(t){function n(n){var r;switch(t.kind){case 154:r=n.errorModuleName?e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 153:r=n.errorModuleName?e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 155:r=n.errorModuleName?e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 149:case 148:r=e.hasModifier(t,32)?n.errorModuleName?2===n.accessibility?e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:226===t.parent.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:n.errorModuleName?e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 225:r=n.errorModuleName?2===n.accessibility?e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:e.Debug.fail("This is unknown kind for signature: "+t.kind)}return{diagnosticMessage:r,errorNode:t.name||t}}var r=me;me=t;var a=!1;if(155===t.kind)F(e.getModifierFlags(t)),se("[");else{if(154===t.kind||159===t.kind)se("new ");else if(158===t.kind){var i=de.getText();t.typeParameters&&"<"===i.charAt(i.length-1)&&(a=!0,se("("))}q(t.typeParameters),se("(")}k(t.parameters,ae),se(155===t.kind?"]":")");var o=158===t.kind||159===t.kind;o||161===t.parent.kind?t.type&&(se(o?" => ":": "),S(t.type)):150===t.kind||e.hasModifier(t,8)||v(t,n),me=r,o?a&&se(")"):(se(";"),ce())}function ae(t){function r(e){var n=a(e);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}function a(n){switch(t.parent.kind){case 150:return n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 154:return n.errorModuleName?e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 153:return n.errorModuleName?e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 155:return n.errorModuleName?e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;case 149:case 148:return e.hasModifier(t.parent,32)?n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:226===t.parent.parent.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:n.errorModuleName?e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 225:return n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1;default:e.Debug.fail("This is unknown parent for parameter: "+t.parent.kind)}}function i(e){if(172===e.kind)se("{"),k(e.elements,o),se("}");else if(173===e.kind){se("[");var t=e.elements;k(t,o),t&&t.hasTrailingComma&&se(", "),se("]")}}function o(t){198===t.kind?se(" "):174===t.kind&&(t.propertyName&&(le(ye,t.propertyName),se(": ")),t.name&&(e.isBindingPattern(t.name)?i(t.name):(e.Debug.assert(70===t.name.kind),t.dotDotDotToken&&se("..."),le(ye,t.name))))}ue(),Ee(t),t.dotDotDotToken&&se("..."),e.isBindingPattern(t.name)?i(t.name):le(ye,t.name),n.isOptionalParameter(t)&&se("?"),_e(),158===t.parent.kind||159===t.parent.kind||161===t.parent.parent.kind?Y(t):e.hasModifier(t.parent,8)||y(t,t.type,r)}function ie(e){switch(e.kind){case 225:case 230:case 234:case 227:case 226:case 228:case 229:return A(e,N(e));case 205:return A(e,Z(e));case 235:return A(e,!e.importClause);case 241:return K(e);case 150:case 149:case 148:return te(e);case 154:case 153:case 155:return ne(e);case 151:case 152:return ee(e);case 147:case 146:return X(e);case 260:return V(e);case 240:return T(e);case 261:return C(e)}}function oe(n,r,i){function o(t,a,i){i&&!r||(e.Debug.assert(!!t.declarationFilePath||e.isSourceFileJavaScript(n),"Declaration file is not present only for javascript files"),s=t.declarationFilePath||t.jsFilePath,c=i)}var s,c=!1;return e.isDeclarationFile(n)?s=n.fileName:e.forEachExpectedEmitFile(t,o,n,i),s&&(s=e.getRelativePathToDirectoryOrUrl(e.getDirectoryPath(e.normalizeSlashes(a)),s,t.getCurrentDirectory(),t.getCanonicalFileName,!1),Ae+='/// '+pe),c}var se,ce,ue,_e,le,de,pe=t.getNewLine(),fe=t.getCompilerOptions();_();var me,ge,ye,ve,he,be,ke,xe,De,Se,Ce=!1,Ee=fe.removeComments?e.noop:x,Te=fe.stripInternal?u:ie,Ne=[],Ae="",we=[],Pe=!1,Fe=[];if(e.forEach(i,function(n){if(!e.isSourceFileJavaScript(n)){if(fe.noResolve||e.forEach(n.referencedFiles,function(r){var a=e.tryResolveScriptReference(t,n,r);a&&!e.contains(we,a)&&(oe(a,!o&&!Pe,s)&&(Pe=!0),we.push(a))}),ge=!1,o&&e.isExternalModule(n)?e.isExternalModule(n)&&(xe=!0,se('declare module "'+e.getResolvedExternalModuleName(t,n)+'" {'),ce(),ue(),C(n),_e(),se("}"),ce()):(xe=!1,C(n)),Ne.length){var r=de;e.forEach(Ne,function(t){if(t.isVisible&&!t.asynchronousOutput){e.Debug.assert(235===t.node.kind),_(),e.Debug.assert(0===t.indent||1===t.indent&&o);for(var n=0;n'+pe;return{reportedDeclarationError:Ce,moduleElementDeclarationEmitInfo:Fe,synchronousDeclarationOutput:de.getText(),referencesOutput:Ae}}function r(t,r,a,i,o,s,c){function u(t,n){var r=0,a="";return e.forEach(n,function(e){e.asynchronousOutput&&(a+=t.substring(r,e.outputPos),a+=u(e.asynchronousOutput,e.subModuleElementDeclarationEmitInfo),r=e.outputPos)}),a+=t.substring(r)}var _=n(i,o,s,t,r,a,c),l=_.reportedDeclarationError||i.isEmitBlocked(t)||i.getCompilerOptions().noEmit;if(!l){var d=_.referencesOutput+u(_.synchronousDeclarationOutput,_.moduleElementDeclarationEmitInfo);e.writeFile(i,s,t,d,i.getCompilerOptions().emitBOM,r)}return l}e.getDeclarationDiagnostics=t,e.writeDeclarationFile=r}(ts||(ts={}));var ts;!function(e){function t(t,n,r,i){function o(r,a,o,c,u){n.isEmitBlocked(r)||dr.noEmit?Fr=!0:i||s(r,a,c,u),o&&(Fr=e.writeDeclarationFile(o,e.getOriginalSourceFiles(c),u,n,t,yr,i)||Fr),!Fr&&gr&&(i||gr.push(r),a&&gr.push(a),o&&gr.push(o))}function s(t,r,a,i){if(Cr.initialize(t,r,a,i),tr=[],nr=[],rr=e.createMap(),cr=i?e.createMap():void 0,ur=!i,i&&fr)for(var o=0,s=a;o "),u(e.type)}function V(e){kr("new "),mn(e,e.typeParameters),yn(e,e.parameters),kr(" => "),u(e.type)}function U(e){kr("typeof "),u(e.exprName)}function q(e){kr("{"),hn(e,e.members,65),kr("}")}function W(e){u(e.elementType),kr("[]")}function H(e){kr("["),hn(e,e.elementTypes,336),kr("]")}function G(e){hn(e,e.types,260)}function X(e){hn(e,e.types,264)}function Q(e){kr("("),u(e.type),kr(")")}function Y(){kr("this")}function Z(e){Cn(e.operator),kr(" "),u(e.type)}function $(e){u(e.objectType),kr("["),u(e.indexType),kr("]")}function ee(e){kr("{"),xr(),Dr(),e.readonlyToken&&kr("readonly "),kr("["),u(e.typeParameter.name),kr(" in "),u(e.typeParameter.constraint),kr("]"),e.questionToken&&kr("?"),kr(": "),u(e.type),kr(";"),xr(),Sr(),kr("}")}function te(e){l(e.literal)}function ne(e){var t=e.elements;0===t.length?kr("{}"):(kr("{"),hn(e,t,432),kr("}"))}function re(e){var t=e.elements;0===t.length?kr("[]"):(kr("["),hn(e,e.elements,304),kr("]"))}function ae(e){ln(e.propertyName,": "),Dn(e.dotDotDotToken,"..."),u(e.name),un(" = ",e.initializer)}function ie(e){var t=e.elements;if(0===t.length)kr("[]");else{var n=e.multiLine?32768:0;bn(e,t,4466|n)}}function oe(t){var n=t.properties;if(0===n.length)kr("{}");else{var r=32768&e.getEmitFlags(t);r&&Dr();var a=t.multiLine?32768:0,i=pr>=1?32:0;hn(t,n,978|i|a),r&&Sr()}}function se(t){var n=!1,r=!1;if(!(65536&e.getEmitFlags(t))){var a=t.expression.end,i=e.skipTrivia(or,t.expression.end)+1,o={kind:22,pos:a,end:i};n=Fn(t,t.expression,o),r=Fn(t,o,t.name)}l(t.expression),En(n);var s=!n&&ce(t.expression);kr(s?"..":"."),En(r),u(t.name),Tn(n,r)}function ce(t){if(8===t.kind){var n=In(t);return n.indexOf(e.tokenToString(22))<0}if(e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t)){var r=e.getConstantValue(t);return isFinite(r)&&Math.floor(r)===r&&dr.removeComments}}function ue(e){l(e.expression),kr("["),l(e.argumentExpression),kr("]")}function _e(e){l(e.expression),fn(e,e.typeArguments),bn(e,e.arguments,1296)}function le(e){kr("new "),l(e.expression),fn(e,e.typeArguments),bn(e,e.arguments,9488)}function de(e){l(e.tag),kr(" "),l(e.template)}function pe(e){e.type&&(kr("<"),u(e.type),kr(">")),l(e.expression)}function fe(e){kr("("),l(e.expression),kr(")")}function me(e){it(e)}function ge(e){pn(e,e.decorators),sn(e,e.modifiers),ot(e,ye)}function ye(e){mn(e,e.typeParameters),yn(e,e.parameters),cn(": ",e.type),kr(" =>")}function ve(e){kr("delete "),l(e.expression)}function he(e){kr("typeof "),l(e.expression)}function be(e){kr("void "),l(e.expression)}function ke(e){kr("await "),l(e.expression)}function xe(e){Cn(e.operator),De(e)&&kr(" "),l(e.operand)}function De(e){var t=e.operand;return 190===t.kind&&(36===e.operator&&(36===t.operator||42===t.operator)||37===e.operator&&(37===t.operator||43===t.operator))}function Se(e){l(e.operand),Cn(e.operator)}function Ce(e){var t=25!==e.operatorToken.kind,n=Fn(e,e.left,e.operatorToken),r=Fn(e,e.operatorToken,e.right);l(e.left),En(n,t?" ":void 0),Cn(e.operatorToken.kind),En(r," "),l(e.right),Tn(n,r)}function Ee(e){var t=Fn(e,e.condition,e.questionToken),n=Fn(e,e.questionToken,e.whenTrue),r=Fn(e,e.whenTrue,e.colonToken),a=Fn(e,e.colonToken,e.whenFalse);l(e.condition),En(t," "),kr("?"),En(n," "),l(e.whenTrue),Tn(t,n),En(r," "),kr(":"),En(a," "),l(e.whenFalse),Tn(r,a)}function Te(e){u(e.head),hn(e,e.templateSpans,131072)}function Ne(e){kr(e.asteriskToken?"yield*":"yield"),un(" ",e.expression)}function Ae(e){kr("..."),l(e.expression)}function we(e){pt(e)}function Pe(e){l(e.expression),fn(e,e.typeArguments)}function Fe(e){l(e.expression),e.type&&(kr(" as "),u(e.type))}function Oe(e){l(e.expression),kr("!")}function Re(e){l(e.expression),u(e.literal)}function Ie(e){Ln(e)?(Sn(16,e.pos,e),kr(" "),Sn(17,e.statements.end,e)):(Sn(16,e.pos,e),Le(e),Sn(17,e.statements.end,e))}function Le(t){1&e.getEmitFlags(t)?hn(t,t.statements,384):hn(t,t.statements,65)}function Me(e){sn(e,e.modifiers),u(e.declarationList),kr(";")}function Be(){kr(";")}function Ke(e){l(e.expression),kr(";")}function Je(e){var t=Sn(89,e.pos,e);kr(" "),Sn(18,t,e),l(e.expression),Sn(19,e.expression.end,e),dn(e.thenStatement),e.elseStatement&&(xr(),Sn(81,e.thenStatement.end,e),208===e.elseStatement.kind?(kr(" "),u(e.elseStatement)):dn(e.elseStatement))}function ze(t){kr("do"),dn(t.statement),e.isBlock(t.statement)?kr(" "):xr(),kr("while ("),l(t.expression),kr(");")}function je(e){kr("while ("),l(e.expression),kr(")"),dn(e.statement)}function Ve(e){var t=Sn(87,e.pos);kr(" "),Sn(18,t,e),We(e.initializer),kr(";"),un(" ",e.condition),kr(";"),un(" ",e.incrementor),kr(")"),dn(e.statement)}function Ue(e){var t=Sn(87,e.pos);kr(" "),Sn(18,t),We(e.initializer),kr(" in "),l(e.expression),Sn(19,e.expression.end),dn(e.statement)}function qe(e){var t=Sn(87,e.pos);kr(" "),Sn(18,t),We(e.initializer),kr(" of "),l(e.expression),Sn(19,e.expression.end),dn(e.statement)}function We(e){void 0!==e&&(224===e.kind?u(e):l(e))}function He(e){Sn(76,e.pos),cn(" ",e.label),kr(";")}function Ge(e){Sn(71,e.pos),cn(" ",e.label),kr(";")}function Xe(e){Sn(95,e.pos,e),un(" ",e.expression),kr(";")}function Qe(e){kr("with ("),l(e.expression),kr(")"),dn(e.statement)}function Ye(e){var t=Sn(97,e.pos);kr(" "),Sn(18,t),l(e.expression),Sn(19,e.expression.end),kr(" "),u(e.caseBlock)}function Ze(e){u(e.label),kr(": "),u(e.statement)}function $e(e){kr("throw"),un(" ",e.expression),kr(";")}function et(e){kr("try "),u(e.tryBlock),u(e.catchClause),e.finallyBlock&&(xr(),kr("finally "),u(e.finallyBlock))}function tt(e){Sn(77,e.pos),kr(";")}function nt(e){u(e.name),cn(": ",e.type),un(" = ",e.initializer)}function rt(t){kr(e.isLet(t)?"let ":e.isConst(t)?"const ":"var "),hn(t,t.declarations,272)}function at(e){it(e)}function it(e){pn(e,e.decorators),sn(e,e.modifiers),kr(e.asteriskToken?"function* ":"function "),_(e.name),ot(e,st)}function ot(t,n){var r=t.body;if(r)if(e.isBlock(r)){var a=32768&e.getEmitFlags(t);if(a&&Dr(),262144&e.getEmitFlags(t))n(t),ut(r);else{var i=ar;ar=0,n(t),ut(r),ar=i}a&&Sr()}else n(t),kr(" "),l(r);else n(t),kr(";")}function st(e){mn(e,e.typeParameters),gn(e,e.parameters),cn(": ",e.type)}function ct(t){if(1&e.getEmitFlags(t))return!0;if(t.multiLine)return!1;if(!e.nodeIsSynthesized(t)&&!e.rangeIsOnSingleLine(t,ir))return!1;if(Nn(t,t.statements,2)||wn(t,t.statements,2))return!1;for(var n,r=0,a=t.statements;r")}function Lt(e){kr("<"),jt(e.tagName),xn(e.attributes," "),hn(e,e.attributes,131328),kr(">")}function Mt(e){br.writeLiteral(Rn(e,!0))}function Bt(e){kr("")}function Kt(e){u(e.name),cn("=",e.initializer)}function Jt(e){kr("{..."),l(e.expression),kr("}")}function zt(e){e.expression&&(kr("{"),l(e.expression),kr("}")); -}function jt(e){70===e.kind?l(e):u(e)}function Vt(e){kr("case "),l(e.expression),kr(":"),qt(e,e.statements)}function Ut(e){kr("default:"),qt(e,e.statements)}function qt(t,n){var r=1===n.length&&(e.nodeIsSynthesized(t)||e.nodeIsSynthesized(n[0])||e.rangeStartPositionsAreOnSameLine(t,n[0],ir));r?(kr(" "),u(n[0])):hn(t,n,81985)}function Wt(e){kr(" "),Cn(e.token),kr(" "),hn(e,e.types,272)}function Ht(e){xr();var t=Sn(73,e.pos);kr(" "),Sn(18,t),u(e.variableDeclaration),Sn(19,e.variableDeclaration?e.variableDeclaration.end:t),kr(" "),u(e.block)}function Gt(t){u(t.name),kr(": ");var n=t.initializer;if(0===(512&e.getEmitFlags(n))){var r=e.getCommentRange(n);Pr(r.pos)}l(n)}function Xt(e){u(e.name),e.objectAssignmentInitializer&&(kr(" = "),l(e.objectAssignmentInitializer))}function Qt(e){e.expression&&(kr("..."),l(e.expression))}function Yt(e){u(e.name),un(" = ",e.initializer)}function Zt(e){xr(),on(),wr(e,e.statements,$t)}function $t(e){var t=e.statements,n=tn(t),r=ar;ar=0,nn(e),hn(e,t,1,n),ar=r}function en(e){l(e.expression)}function tn(t,n){for(var r=0;r0)&&xr(),u(t[r])}return t.length}function nn(t,n){var r=e.isSourceFile(t)?t:ir,a=dr.noEmitHelpers||r&&void 0!==e.getExternalHelpersModuleName(r),i=e.isSourceFile(t)&&!ur,o=!1,s=e.getEmitHelpers(t);if(s)for(var c=0,u=e.stableSort(s,e.compareEmitHelpers);c0&&xr(),kr(a))}}function an(t){for(var n,r=0,a=t;r=r.length||0===o;if(!(c&&16384&a)){if(7680&a&&kr($n(a)),c)1&a?xr():128&a&&kr(" ");else{var u=0===(131072&a),_=u;Nn(n,r,a)?(xr(),_=!1):128&a&&kr(" "),64&a&&Dr();for(var l=void 0,d=void 0,p=Yn(a),f=0;f0&&kr(t)}function Dn(e,t){void 0!==e&&kr(t)}function Sn(e,t,n){return Tr(n,e,t,Cn)}function Cn(t,n){var r=e.tokenToString(t);return kr(r),n<0?n:n+r.length}function En(e,t){e?(Dr(),xr()):t&&kr(t)}function Tn(e,t){e&&Sr(),t&&Sr()}function Nn(t,n,r){if(1&r)return!0;if(2&r){if(32768&r)return!0;var a=n[0];return void 0===a?!e.rangeIsOnSingleLine(t,ir):e.positionIsSynthesized(t.pos)||e.nodeIsSynthesized(a)?Pn(a,r):!e.rangeStartPositionsAreOnSameLine(t,a,ir)}return!1}function An(t,n,r){return!!(1&r)||(2&r?void 0!==t&&void 0!==n&&(e.nodeIsSynthesized(t)||e.nodeIsSynthesized(n)?Pn(t,r)||Pn(n,r):!e.rangeEndIsOnSameLineAsRangeStart(t,n,ir)):n.startsOnNewLine)}function wn(t,n,r){if(1&r)return 0===(65536&r);if(2&r){if(32768&r)return!0;var a=e.lastOrUndefined(n);return void 0===a?!e.rangeIsOnSingleLine(t,ir):e.positionIsSynthesized(t.pos)||e.nodeIsSynthesized(a)?Pn(a,r):!e.rangeEndPositionsAreOnSameLine(t,a,ir)}return!1}function Pn(t,n){if(e.nodeIsSynthesized(t)){var r=t.startsOnNewLine;return void 0===r?0!==(32768&n):r}return 0!==(32768&n)}function Fn(t,n,r){return t=On(t),n=On(n),r=On(r),!!r.startsOnNewLine||!(e.nodeIsSynthesized(t)||e.nodeIsSynthesized(n)||e.nodeIsSynthesized(r)||e.rangeEndIsOnSameLineAsRangeStart(n,r,ir))}function On(t){for(;183===t.kind&&e.nodeIsSynthesized(t);)t=t.expression;return t}function Rn(t,n){return e.isGeneratedIdentifier(t)?Xn(t):!e.isIdentifier(t)||!e.nodeIsSynthesized(t)&&t.parent?9===t.kind&&t.textSourceNode?Rn(t.textSourceNode,n):!e.isLiteralExpression(t)||!e.nodeIsSynthesized(t)&&t.parent?e.getSourceTextOfNodeFromSourceFile(ir,t,n):t.text:e.unescapeIdentifier(t.text)}function In(t){if(9===t.kind&&t.textSourceNode){var n=t.textSourceNode;return e.isIdentifier(n)?'"'+e.escapeNonAsciiCharacters(e.escapeString(Rn(n)))+'"':In(n)}return e.getLiteralText(t,ir,pr)}function Ln(e){return!e.multiLine&&Mn(e)}function Mn(t){return 0===t.statements.length&&e.rangeEndIsOnSameLineAsRangeStart(t,t,ir)}function Bn(n){return!t.hasGlobalName(n)&&!e.hasProperty(sr,n)&&!e.hasProperty(rr,n)}function Kn(t,n){for(var r=n;e.isNodeDescendantOf(r,n);r=r.nextContainer)if(r.locals&&e.hasProperty(r.locals,t)&&9544639&r.locals[t].flags)return!1;return!0}function Jn(e){if(e&&!(ar&e)){var t=268435456===e?"_i":"_n";if(Bn(t))return ar|=e,t}for(;;){var n=268435455&ar;if(ar++,8!==n&&13!==n){var r=n<26?"_"+String.fromCharCode(97+n):"_"+(n-26);if(Bn(r))return r}}}function zn(e){95!==e.charCodeAt(e.length-1)&&(e+="_");for(var t=1;;){var n=e+t;if(Bn(n))return rr[n]=n;t++}}function jn(e){var t=Rn(e.name);return Kn(t,e)?t:zn(t)}function Vn(t){var n=e.getExternalModuleName(t),r=9===n.kind?e.escapeIdentifier(e.makeIdentifierFromModuleName(n.text)):"module";return zn(r)}function Un(){return zn("default")}function qn(){return zn("class")}function Wn(e){switch(e.kind){case 70:return zn(Rn(e));case 230:case 229:return jn(e);case 235:case 241:return Vn(e);case 225:case 226:case 240:return Un();case 197:return qn();default:return Jn(0)}}function Hn(t){switch(t.autoGenerateKind){case 1:return Jn(0);case 2:return Jn(268435456);case 3:return zn(t.text)}e.Debug.fail("Unsupported GeneratedIdentifierKind.")}function Gn(t){for(var n=t.autoGenerateId,r=t,a=r.original;a&&(r=a,!e.isIdentifier(r)||4!==r.autoGenerateKind||r.autoGenerateId===n);)a=r.original;return r}function Xn(t){if(4===t.autoGenerateKind){var n=Gn(t),r=e.getNodeId(n);return tr[r]||(tr[r]=e.unescapeIdentifier(Wn(n)))}var a=t.autoGenerateId;return nr[a]||(nr[a]=e.unescapeIdentifier(Hn(t)))}function Qn(){var e=[];return e[0]="",e[16]=",",e[4]=" |",e[8]=" &",e}function Yn(e){return _r[28&e]}function Zn(){var e=[];return e[512]=["{","}"],e[1024]=["(",")"],e[2048]=["<",">"],e[4096]=["[","]"],e}function $n(e){return lr[7680&e][0]}function er(e){return lr[7680&e][1]}var tr,nr,rr,ar,ir,or,sr,cr,ur,_r=Qn(),lr=Zn(),dr=n.getCompilerOptions(),pr=e.getEmitScriptTarget(dr),fr=e.getEmitModuleKind(dr),mr=dr.sourceMap||dr.inlineSourceMap?[]:void 0,gr=dr.listEmittedFiles?[]:void 0,yr=e.createDiagnosticCollection(),vr=n.getNewLine(),hr=i?a:e.getTransformers(dr),br=e.createTextWriter(vr),kr=br.write,xr=br.writeLine,Dr=br.increaseIndent,Sr=br.decreaseIndent,Cr=e.createSourceMapWriter(n,br),Er=Cr.emitNodeWithSourceMap,Tr=Cr.emitTokenWithSourceMap,Nr=e.createCommentWriter(n,br,Cr),Ar=Nr.emitNodeWithComments,wr=Nr.emitBodyWithDetachedComments,Pr=Nr.emitTrailingCommentsOfPosition,Fr=!1,Or=e.getSourceFilesToEmit(n,r);e.performance.mark("beforeTransform");var Rr=e.transformFiles(t,n,Or,hr),Ir=Rr.transformed,Lr=Rr.emitNodeWithSubstitution,Mr=Rr.emitNodeWithNotification;e.performance.measure("transformTime","beforeTransform"),e.performance.mark("beforePrint"),e.forEachTransformedEmitFile(n,Ir,o,i),e.performance.measure("printTime","beforePrint");for(var Br=0,Kr=Or;Bre.getRootLength(t)&&!i(t)){var n=e.getDirectoryPath(t);o(n),e.sys.createDirectory(t)}}function s(t,n,r){_||(_=e.createMap());var a=e.sys.createHash(n),i=e.sys.getModifiedTime(t);if(i&&t in _){var o=_[t];if(o.byteOrderMark===r&&o.hash===a&&o.mtime.getTime()===i.getTime())return}e.sys.writeFile(t,n,r);var s=e.sys.getModifiedTime(t);_[t]={hash:a,byteOrderMark:r,mtime:s}}function c(n,r,a,i){try{e.performance.mark("beforeIOWrite"),o(e.getDirectoryPath(e.normalizePath(n))),e.isWatchSet(t)&&e.sys.createHash&&e.sys.getModifiedTime?s(n,r,a):e.sys.writeFile(n,r,a),e.performance.mark("afterIOWrite"),e.performance.measure("I/O Write","beforeIOWrite","afterIOWrite")}catch(e){i&&i(e.message)}}function u(){return e.getDirectoryPath(e.normalizePath(e.sys.getExecutingFilePath()))}var _,l=e.createMap(),d=-2147024809,p=e.getNewLineCharacter(t),f=e.sys.realpath&&function(t){return e.sys.realpath(t)};return{getSourceFile:a,getDefaultLibLocation:u,getDefaultLibFileName:function(t){return e.combinePaths(u(),e.getDefaultLibFileName(t))},writeFile:c,getCurrentDirectory:e.memoize(function(){return e.sys.getCurrentDirectory()}),useCaseSensitiveFileNames:function(){return e.sys.useCaseSensitiveFileNames},getCanonicalFileName:r,getNewLine:function(){return p},fileExists:function(t){return e.sys.fileExists(t)},readFile:function(t){return e.sys.readFile(t)},trace:function(t){return e.sys.write(t+p)},directoryExists:function(t){return e.sys.directoryExists(t)},getEnvironmentVariable:function(t){return e.sys.getEnvironmentVariable?e.sys.getEnvironmentVariable(t):""},getDirectories:function(t){return e.sys.getDirectories(t)},realpath:f}}function i(t,n,r){var a=t.getOptionsDiagnostics(r).concat(t.getSyntacticDiagnostics(n,r),t.getGlobalDiagnostics(r),t.getSemanticDiagnostics(n,r));return t.getCompilerOptions().declaration&&(a=a.concat(t.getDeclarationDiagnostics(n,r))),e.sortAndDeduplicateDiagnostics(a)}function o(t,n){for(var r="",a=0,i=t;a0||s.length>0)return{diagnostics:e.concatenate(c,s),sourceMaps:void 0,emittedFiles:void 0,emitSkipped:!0}}var u=y().getEmitResolver(i.outFile||i.out?void 0:n);e.performance.mark("beforeEmit");var _=e.emitFiles(u,m(r),n,o);return e.performance.mark("afterEmit"),e.performance.measure("Emit","beforeEmit","afterEmit"),_}function D(t){return S(e.toPath(t,ge,X))}function S(e){return xe.get(e)}function C(t,n,r){if(t)return n(t,r);var a=[];return e.forEach(te.getSourceFiles(),function(t){r&&r.throwIfCancellationRequested(),e.addRange(a,n(t,r))}),e.sortAndDeduplicateDiagnostics(a)}function E(e,t){return C(e,A,t)}function T(e,t){return C(e,P,t)}function N(e,t){var n=te.getCompilerOptions();return!e||n.out||n.outFile?O(e,t):C(e,R,t)}function A(t){return e.isSourceFileJavaScript(t)?(t.additionalSyntacticDiagnostics||(t.additionalSyntacticDiagnostics=F(t)),e.concatenate(t.additionalSyntacticDiagnostics,t.parseDiagnostics)):t.parseDiagnostics}function w(t){try{return t()}catch(t){throw t instanceof e.OperationCanceledException&&(ae=void 0,re=void 0),t}}function P(t,n){return w(function(){var r=y();e.Debug.assert(!!t.bindDiagnostics);var a=t.bindDiagnostics,i=e.isSourceFileJavaScript(t)?[]:r.getDiagnostics(t,n),o=ce.getDiagnostics(t.fileName),s=me.getDiagnostics(t.fileName);return a.concat(i,o,s)})}function F(t){return w(function(){function n(t){switch(u.kind){case 144:case 147:if(u.questionToken===t)return void c.push(s(t,e.Diagnostics._0_can_only_be_used_in_a_ts_file,"?"));case 149:case 148:case 150:case 151:case 152:case 184:case 225:case 185:case 225:case 223:if(u.type===t)return void c.push(s(t,e.Diagnostics.types_can_only_be_used_in_a_ts_file))}switch(t.kind){case 234:return void c.push(s(t,e.Diagnostics.import_can_only_be_used_in_a_ts_file));case 240:if(t.isExportEquals)return void c.push(s(t,e.Diagnostics.export_can_only_be_used_in_a_ts_file));break;case 255:var a=t;if(107===a.token)return void c.push(s(t,e.Diagnostics.implements_clauses_can_only_be_used_in_a_ts_file));break;case 227:return void c.push(s(t,e.Diagnostics.interface_declarations_can_only_be_used_in_a_ts_file));case 230:return void c.push(s(t,e.Diagnostics.module_declarations_can_only_be_used_in_a_ts_file));case 228:return void c.push(s(t,e.Diagnostics.type_aliases_can_only_be_used_in_a_ts_file));case 229:return void c.push(s(t,e.Diagnostics.enum_declarations_can_only_be_used_in_a_ts_file));case 182:var i=t;return void c.push(s(i.type,e.Diagnostics.type_assertion_expressions_can_only_be_used_in_a_ts_file))}var o=u;u=t,e.forEachChild(t,n,r),u=o}function r(t){switch(u.decorators!==t||i.experimentalDecorators||c.push(s(u,e.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning)),u.kind){case 226:case 149:case 148:case 150:case 151:case 152:case 184:case 225:case 185:case 225:if(t===u.typeParameters)return void c.push(o(t,e.Diagnostics.type_parameter_declarations_can_only_be_used_in_a_ts_file));case 205:if(t===u.modifiers)return a(t,205===u.kind);break;case 147:if(t===u.modifiers){for(var r=0,_=t;r<_.length;r++){var l=_[r];114!==l.kind&&c.push(s(l,e.Diagnostics._0_can_only_be_used_in_a_ts_file,e.tokenToString(l.kind)))}return}break;case 144:if(t===u.modifiers)return void c.push(o(t,e.Diagnostics.parameter_modifiers_can_only_be_used_in_a_ts_file));break;case 179:case 180:case 199:if(t===u.typeArguments)return void c.push(o(t,e.Diagnostics.type_arguments_can_only_be_used_in_a_ts_file))}for(var d=0,p=t;d0,_.path=n,o.useCaseSensitiveFileNames()){var l=De.get(n);l?V(t,l.fileName,a,s,c):De.set(n,_)}fe=fe||_.hasNoDefaultLib,i.noResolve||(q(_,r),W(_)),Q(_),r?oe.unshift(_):oe.push(_)}return _}function q(t,r){e.forEach(t.referencedFiles,function(e){var a=n(e.fileName,t.fileName);j(a,r,t,e.pos,e.end)})}function W(t){for(var n=e.map(t.typeReferenceDirectives,function(e){return e.fileName.toLocaleLowerCase()}),r=be(n,t.fileName),a=0;aue,f=l&&!_(i,s)&&!i.noResolve&&o1})&&me.add(e.createCompilerDiagnostic(e.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files))}if(!i.noEmit&&i.allowJs&&i.declaration&&me.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"allowJs","declaration")),i.emitDecoratorMetadata&&!i.experimentalDecorators&&me.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"emitDecoratorMetadata","experimentalDecorators")),i.jsxFactory?(i.reactNamespace&&me.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"reactNamespace","jsxFactory")),e.parseIsolatedEntityName(i.jsxFactory,_)||me.add(e.createCompilerDiagnostic(e.Diagnostics.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,i.jsxFactory))):i.reactNamespace&&!e.isIdentifierText(i.reactNamespace,_)&&me.add(e.createCompilerDiagnostic(e.Diagnostics.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,i.reactNamespace)),!i.noEmit&&!i.suppressOutputPathCheck){var h=m(),b=e.createFileMap(o.useCaseSensitiveFileNames()?void 0:function(e){return e.toLocaleLowerCase()});e.forEachExpectedEmitFile(h,function(e){t(e.jsFilePath,b),t(e.declarationFilePath,b)})}}function ee(t,n){ve.set(e.toPath(t,ge,X),!0),me.add(n)}var te,ne,re,ae,ie,oe=[],se=e.createMap(),ce=e.createDiagnosticCollection(),ue="number"==typeof i.maxNodeModuleJsDepth?i.maxNodeModuleJsDepth:0,_e=0,le=e.createMap(),de=e.createMap();e.performance.mark("beforeProgram"),o=o||a(i);var pe,fe=i.noLib,me=e.createDiagnosticCollection(),ge=o.getCurrentDirectory(),ye=e.getSupportedExtensions(i),ve=e.createFileMap(X);if(o.resolveModuleNames)pe=function(t,n){return o.resolveModuleNames(t,n).map(function(t){if(!t||void 0!==t.extension)return t;var n=e.clone(t);return n.extension=e.extensionFromPath(t.resolvedFileName),n})};else{var he=function(t,n){return e.resolveModuleName(t,n,i,o).resolvedModule};pe=function(e,t){return c(e,t,he)}}var be;if(o.resolveTypeReferenceDirectives)be=function(e,t){return o.resolveTypeReferenceDirectives(e,t)};else{var ke=function(t,n){return e.resolveTypeReferenceDirective(t,n,i,o).resolvedTypeReferenceDirective};be=function(e,t){return c(e,t,ke)}}var xe=e.createFileMap(),De=o.useCaseSensitiveFileNames()?e.createFileMap(function(e){return e.toLowerCase()}):void 0;if(!f()){e.forEach(t,function(e){return M(e,!1)});var Se=e.getAutomaticTypeDirectiveNames(i,o);if(Se.length)for(var Ce=i.configFilePath?e.getDirectoryPath(i.configFilePath):o.getCurrentDirectory(),Ee=e.combinePaths(Ce,"__inferred type names__.ts"),Te=be(Se,Ee),Ne=0;Ne=n.length)break;var s=i;if(34===n.charCodeAt(s)){for(i++;i32;)i++;a.push(n.substring(s,i))}}o(a)}var c={},u=[],_=[],l=n(),d=l.optionNameMap,p=l.shortOptionNames;return o(t),{options:c,fileNames:u,errors:_}}function s(t,n){var r="";try{r=n(t)}catch(n){return{error:e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0_Colon_1,t,n.message)}}return c(t,r)}function c(t,n,r){void 0===r&&(r=!0);try{var a=r?_(n):n;return{config:/\S/.test(a)?JSON.parse(a):{}}}catch(n){return{error:e.createCompilerDiagnostic(e.Diagnostics.Failed_to_parse_file_0_Colon_1,t,n.message)}}}function u(t,r){function a(e){return"string"===e.type||"number"===e.type||"boolean"===e.type?void 0:"list"===e.type?a(e.element):e.type}function i(e,t){for(var n in t)if(t[n]===e)return n}function o(t){var r=e.createMap(),o=n().optionNameMap;for(var s in t)if(e.hasProperty(t,s))switch(s){case"init":case"watch":case"version":case"help":case"project":break;default:var c=t[s],u=o[s.toLowerCase()];if(u){var _=a(u);if(_)if("list"===u.type){for(var l=[],d=0,p=c;d=0)return{options:{},fileNames:[],typeAcquisition:{},raw:t,errors:[e.createCompilerDiagnostic(e.Diagnostics.Circularity_detected_while_resolving_configuration_Colon_0,o.concat([f]).join(" -> "))],wildcardDirectories:{}};var y=m(t.compilerOptions,r,_,i),v=t.typeAcquisition||t.typingOptions,h=g(v,r,_,i);if(t.extends){var b=[void 0,void 0,void 0,{}],k=b[0],D=b[1],S=b[2],C=b[3];"string"==typeof t.extends?(w=c(t.extends)||[k,D,S,C],k=w[0],D=w[1],S=w[2],C=w[3]):_.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"extends","string")),k&&!t.include&&(t.include=k),D&&!t.exclude&&(t.exclude=D),S&&!t.files&&(t.files=S),y=e.assign({},C,y)}y=e.extend(a,y),y.configFilePath=i;var E=u(_),T=E.fileNames,N=E.wildcardDirectories,A=d(t,r,_);return{options:y,fileNames:T,typeAcquisition:h,raw:t,errors:_,wildcardDirectories:N,compileOnSave:A};var w}function d(t,n,r){if(!e.hasProperty(t,e.compileOnSaveCommandLineOption.name))return!1;var a=v(e.compileOnSaveCommandLineOption,t.compileOnSave,n,r);return!("boolean"!=typeof a||!a)&&a}function p(e,t,n){var r=[],a=m(e,t,r,n);return{options:a,errors:r}}function f(e,t,n){var r=[],a=g(e,t,r,n);return{options:a,errors:r}}function m(t,n,r,a){var i="jsconfig.json"===e.getBaseFileName(a)?{allowJs:!0,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:!0,skipLibCheck:!0}:{};return y(e.optionDeclarations,t,n,i,e.Diagnostics.Unknown_compiler_option_0,r),i}function g(n,r,a,i){var o={enable:"jsconfig.json"===e.getBaseFileName(i),include:[],exclude:[]},s=t(n);return y(e.typeAcquisitionDeclarations,s,r,o,e.Diagnostics.Unknown_type_acquisition_option_0,a),o}function y(t,n,r,a,i,o){if(n){var s=e.arrayToMap(t,function(e){return e.name});for(var c in n)if(c in s){var u=s[c];a[u.name]=v(u,n[c],r,o)}else o.push(e.createCompilerDiagnostic(i,c))}}function v(t,n,r,a){var i=t.type,o="string"==typeof i?i:"string";return"list"===i&&e.isArray(n)?b(t,n,r,a):typeof n===o?"string"!=typeof i?h(t,n,a):(t.isFilePath&&(n=e.normalizePath(e.combinePaths(r,n)),""===n&&(n=".")),n):void a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,t.name,o))}function h(e,t,n){var a=t.toLowerCase();return a in e.type?e.type[a]:void n.push(r(e))}function b(t,n,r,a){return e.filter(e.map(n,function(e){return v(t.element,e,r,a)}),function(e){return!!e})}function k(e){return"function"==typeof e.trim?e.trim():e.replace(/^[\s]+|[\s]+$/g,"")}function x(t,n,r,a,i,o,s){a=e.normalizePath(a);var c=o.useCaseSensitiveFileNames?A:w,u=e.createMap(),_=e.createMap();n&&(n=D(n,s,!1)),r&&(r=D(r,s,!0));var l=S(n,r,a,o.useCaseSensitiveFileNames),d=e.getSupportedExtensions(i);if(t)for(var p=0,f=t;p0)for(var y=0,v=o.readDirectory(a,d,r,n);y=n.end}function P(e,t,n){return e.pos<=t&&e.end>=n}function F(e,t,n){return O(e.pos,e.end,t,n)}function O(e,t,n,r){var a=Math.max(e,n),i=Math.min(t,r);return at||!I(e,n)}function I(t,n){if(e.nodeIsMissing(t))return!1;switch(t.kind){case 226:case 227:case 229:case 176:case 172:case 161:case 204:case 231:case 232:case 238:case 242:return L(t,17,n);case 256:return I(t.block,n);case 180:if(!t.arguments)return!0;case 179:case 183:case 166:return L(t,19,n);case 158:case 159:return I(t.type,n);case 150:case 151:case 152:case 225:case 184:case 149:case 148:case 154:case 153:case 185:return t.body?I(t.body,n):t.type?I(t.type,n):B(t,19,n);case 230:return t.body&&I(t.body,n);case 208:return t.elseStatement?I(t.elseStatement,n):I(t.thenStatement,n);case 207:return I(t.expression,n)||B(t,24);case 175:case 173:case 178:case 142:case 163:return L(t,21,n);case 155:return t.type?I(t.type,n):B(t,21,n);case 253:case 254:return!1;case 211:case 212:case 213:case 210:return I(t.statement,n);case 209:var r=K(t,105,n);return r?L(t,19,n):I(t.statement,n);case 160:return I(t.exprName,n);case 187:case 186:case 188:case 195:case 196:var a=t;return I(a.expression,n);case 181:return I(t.template,n);case 194:var i=e.lastOrUndefined(t.templateSpans);return I(i,n);case 202:return e.nodeIsPresent(t.literal);case 241:case 235:return e.nodeIsPresent(t.moduleSpecifier);case 190:return I(t.operand,n);case 192:return I(t.right,n);case 193:return I(t.whenFalse,n);default:return!0}}function L(t,n,r){var a=t.getChildren(r);if(a.length){var i=e.lastOrUndefined(a);if(i.kind===n)return!0;if(24===i.kind&&1!==a.length)return a[a.length-2].kind===n}return!1}function M(t){var n=J(t);if(n){var r=n.getChildren(),a=e.indexOf(r,t);return{listItemIndex:a,list:n}}}function B(e,t,n){return!!K(e,t,n)}function K(t,n,r){return e.forEach(t.getChildren(r),function(e){return e.kind===n&&e})}function J(t){var n=e.forEach(t.parent.getChildren(),function(e){if(292===e.kind&&e.pos<=t.pos&&e.end>=t.end)return e});return e.Debug.assert(!n||e.contains(n.getChildren(),t)),n}function z(e,t,n){return void 0===n&&(n=!1),V(e,t,function(e){return oe(e.kind)},n)}function j(e,t,n){return void 0===n&&(n=!1),V(e,t,function(e){return se(e.kind)},n)}function V(e,t,n,r){return void 0===r&&(r=!1),q(e,t,!1,n,r)}function U(e,t,n){return void 0===n&&(n=!1),q(e,t,!0,void 0,n)}function q(t,n,r,a,i){void 0===i&&(i=!1);var o=t;e:for(;;){if(ie(o))return o;if(i)for(var s=e.filter(o.getChildren(),e.isJSDocNode),c=0,u=s;cn.getStart(e)&&te.end||o.pos===e.end;if(s&&ne(o))return n(o)}}return n(t)}function G(t,n,r){function a(e){if(ie(e))return e;var t=e.getChildren(),n=o(t,t.length);return n&&a(n)}function i(s){if(ie(s))return s;for(var c=s.getChildren(),u=0,_=c.length;u<_;u++){var l=c[u];if(t=t||10===l.kind&&d===l.end;if(p){var f=o(c,u);return f&&a(f)}return i(l)}}if(e.Debug.assert(void 0!==r||261===s.kind),c.length){var f=o(c,c.length);return f&&a(f)}}function o(e,t){for(var n=t-1;n>=0;n--)if(ne(e[n]))return e[n]}return i(r||n)}function X(e,t){var n=G(t,e);if(n&&9===n.kind){var r=n.getStart(),a=n.getEnd();if(rr.getStart(t)}function $(t,n,r){var a=U(t,n);if(a&&n<=a.getStart(t)){var i=e.getLeadingCommentRanges(t.text,a.pos);return r?e.forEach(i,function(e){return e.pos=e.pos+3&&"/"===n[e.pos]&&"*"===n[e.pos+1]&&"*"===n[e.pos+2]}var a=U(t,n),i=e.getLeadingCommentRanges(t.text,a.pos);return e.forEach(i,r)}function te(t,n){var r=e.getTokenAtPosition(t,n);if(ie(r))switch(r.kind){case 103:case 109:case 75:r=void 0===r.parent?void 0:r.parent.parent;break;default:r=r.parent}if(r&&r.jsDoc)for(var a=0,i=r.jsDoc;a0?r.join(","):e.ScriptElementKindModifier.none}function ae(t){return 157===t.kind||179===t.kind?t.typeArguments:e.isFunctionLike(t)||226===t.kind||227===t.kind?t.typeParameters:void 0}function ie(e){return e.kind>=0&&e.kind<=140}function oe(t){return 70===t||e.isKeyword(t)}function se(e){return 9===e||8===e||oe(e)}function ce(e){return 2===e||3===e}function ue(t){return!(9!==t&&11!==t&&!e.isTemplateLiteralKind(t))}function _e(e){return 16<=e&&e<=69}function le(t,n){return e.isTemplateLiteralKind(t.kind)&&t.getStart()0&&144===e.declarations[0].kind}function n(){function t(){if(u){var t=e.getIndentString(_);t&&c.push(a(t,e.SymbolDisplayPartKind.space)),u=!1}}function n(e,n){t(),c.push(a(e,n))}function i(e,n){t(),c.push(r(e,n))}function o(){c.push(d()),u=!0}function s(){c=[],u=!0,_=0}var c,u,_;return s(),{displayParts:function(){return c},writeKeyword:function(t){return n(t,e.SymbolDisplayPartKind.keyword)},writeOperator:function(t){return n(t,e.SymbolDisplayPartKind.operator)},writePunctuation:function(t){return n(t,e.SymbolDisplayPartKind.punctuation)},writeSpace:function(t){return n(t,e.SymbolDisplayPartKind.space)},writeStringLiteral:function(t){return n(t,e.SymbolDisplayPartKind.stringLiteral)},writeParameter:function(t){return n(t,e.SymbolDisplayPartKind.parameterName)},writeSymbol:i,writeLine:o,increaseIndent:function(){_++},decreaseIndent:function(){_--},clear:s,trackSymbol:e.noop,reportInaccessibleThisError:e.noop}}function r(n,r){function i(n){var r=n.flags;return 3&r?t(n)?e.SymbolDisplayPartKind.parameterName:e.SymbolDisplayPartKind.localName:4&r?e.SymbolDisplayPartKind.propertyName:32768&r?e.SymbolDisplayPartKind.propertyName:65536&r?e.SymbolDisplayPartKind.propertyName:8&r?e.SymbolDisplayPartKind.enumMemberName:16&r?e.SymbolDisplayPartKind.functionName:32&r?e.SymbolDisplayPartKind.className:64&r?e.SymbolDisplayPartKind.interfaceName:384&r?e.SymbolDisplayPartKind.enumName:1536&r?e.SymbolDisplayPartKind.moduleName:8192&r?e.SymbolDisplayPartKind.methodName:262144&r?e.SymbolDisplayPartKind.typeParameterName:524288&r?e.SymbolDisplayPartKind.aliasName:8388608&r?e.SymbolDisplayPartKind.aliasName:e.SymbolDisplayPartKind.text}return a(n,i(r))}function a(t,n){return{text:t,kind:e.SymbolDisplayPartKind[n]}}function i(){return a(" ",e.SymbolDisplayPartKind.space)}function o(t){return a(e.tokenToString(t),e.SymbolDisplayPartKind.keyword)}function s(t){return a(e.tokenToString(t),e.SymbolDisplayPartKind.punctuation)}function c(t){return a(e.tokenToString(t),e.SymbolDisplayPartKind.operator)}function u(t){var n=e.stringToToken(t);return void 0===n?_(t):o(n)}function _(t){return a(t,e.SymbolDisplayPartKind.text)}function l(e){return e.getNewLine?e.getNewLine():S}function d(){return a("\n",e.SymbolDisplayPartKind.lineBreak)}function p(e){e(D);var t=D.displayParts();return D.clear(),t}function f(e,t,n,r){return p(function(a){e.getSymbolDisplayBuilder().buildTypeDisplay(t,a,n,r)})}function m(e,t,n,r,a){return p(function(i){e.getSymbolDisplayBuilder().buildSymbolDisplay(t,i,n,r,a)})}function g(e,t,n,r){return p(function(a){e.getSymbolDisplayBuilder().buildSignatureDisplay(t,a,n,r)})}function y(t,n,r){if(v(r))return r.getText();if(e.isStringOrNumericLiteral(r)&&142===r.parent.kind)return r.text;var a=e.getLocalSymbolForExportDefault(n),i=t.symbolToString(a||n);return i}function v(e){return e.parent&&(239===e.parent.kind||243===e.parent.kind)&&e.parent.propertyName===e}function h(e){var t=e.length;return t>=2&&e.charCodeAt(0)===e.charCodeAt(t-1)&&(34===e.charCodeAt(0)||39===e.charCodeAt(0))?e.substring(1,t-1):e}function b(t,n){for(var r=[],a=2;a=0){var d=u-o;d>0&&a.push({length:d,classification:e.TokenClass.Whitespace})}a.push({length:_,classification:r(l)}),o=u+_}var p=n.length-o;return p>0&&a.push({length:p,classification:e.TokenClass.Whitespace}),{entries:a,finalLexState:t.endOfLineState}}function r(t){switch(t){case 1:return e.TokenClass.Comment;case 3:return e.TokenClass.Keyword;case 4:return e.TokenClass.NumberLiteral;case 5:return e.TokenClass.Operator;case 6:return e.TokenClass.StringLiteral;case 8:return e.TokenClass.Whitespace;case 10:return e.TokenClass.Punctuation;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:default:return e.TokenClass.Identifier}}function a(e,t,r){return n(i(e,t,r),e)}function i(n,r,a){function i(){var t=_.getTokenPos(),r=_.getTextPos();if(o(t,r,u(p)),r>=n.length)if(9===p){var a=_.getTokenText();if(_.isUnterminated()){for(var i=a.length-1,s=0;92===a.charCodeAt(i-s);)s++;if(1&s){var c=a.charCodeAt(0);m.endOfLineState=34===c?3:2}}}else 3===p?_.isUnterminated()&&(m.endOfLineState=1):e.isTemplateLiteralKind(p)?_.isUnterminated()&&(15===p?m.endOfLineState=5:12===p?m.endOfLineState=4:e.Debug.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #"+p)):d.length>0&&13===e.lastOrUndefined(d)&&(m.endOfLineState=6)}function o(e,t,n){if(8!==n){0===e&&s>0&&(e+=s),e-=s,t-=s;var r=t-e;r>0&&(m.spans.push(e),m.spans.push(r),m.spans.push(n))}}for(var s=0,p=0,f=0;d.length>0;)d.pop();switch(r){case 3:n='"\\\n'+n,s=3;break;case 2:n="'\\\n"+n,s=3;break;case 1:n="/*\n"+n,s=3;break;case 4:n="`\n"+n,s=2;break;case 5:n="}\n"+n,s=2;case 6:d.push(13)}_.setText(n);var m={endOfLineState:0,spans:[]},g=0;do{if(p=_.scan(),!e.isTrivia(p)){if(40!==p&&62!==p||l[f]){if(22===f&&c(p))p=70;else if(c(f)&&c(p)&&!t(f,p))p=70;else if(70===f&&26===p)g++;else if(28===p&&g>0)g--;else if(118===p||134===p||132===p||121===p||135===p)g>0&&!a&&(p=70);else if(13===p)d.push(p);else if(16===p)d.length>0&&d.push(p);else if(17===p&&d.length>0){var y=e.lastOrUndefined(d);13===y?(p=_.reScanTemplateToken(),15===p?d.pop():e.Debug.assert(14===p,"Should have been a template middle. Was "+p)):(e.Debug.assert(16===y,"Should have been an open brace. Was: "+p),d.pop())}}else 11===_.reScanSlashToken()&&(p=11);f=p}i()}while(1!==p);return m}function o(e){switch(e){case 38:case 40:case 41:case 36:case 37:case 44:case 45:case 46:case 26:case 28:case 29:case 30:case 92:case 91:case 117:case 31:case 32:case 33:case 34:case 47:case 49:case 48:case 52:case 53:case 68:case 67:case 69:case 64:case 65:case 66:case 58:case 59:case 60:case 62:case 63:case 57:case 25:return!0;default:return!1}}function s(e){switch(e){case 36:case 37:case 51:case 50:case 42:case 43:return!0;default:return!1}}function c(e){return e>=71&&e<=140}function u(t){if(c(t))return 3;if(o(t)||s(t))return 5;if(t>=16&&t<=69)return 10;switch(t){case 8:return 4;case 9:return 6;case 11:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 70:default:return e.isTemplateLiteralKind(t)?6:2}}var _=e.createScanner(5,!1),l=[];l[70]=!0,l[9]=!0,l[8]=!0,l[11]=!0,l[98]=!0,l[42]=!0,l[43]=!0,l[19]=!0,l[21]=!0,l[17]=!0,l[100]=!0,l[85]=!0;var d=[];return{getClassificationsForLine:a,getEncodedLexicalClassifications:i}}function n(e,t,n,r,i){return o(a(e,t,n,r,i))}function r(e,t){switch(t){case 230:case 226:case 227:case 225:e.throwIfCancellationRequested()}}function a(t,n,a,i,o){function s(e,t,n){_.push(e),_.push(t),_.push(n)}function c(t,n){function r(t){return e.forEach(t.declarations,function(t){return 230===t.kind&&1===e.getModuleInstanceState(t)})}var a=t.getFlags();if(0!==(788448&a)){if(32&a)return 11;if(384&a)return 12;if(524288&a)return 16;if(2&n){if(64&a)return 13;if(262144&a)return 15}else if(1536&a&&(4&n||1&n&&r(t)))return 14}}function u(a){if(a&&e.textSpanIntersectsWith(o,a.getFullStart(),a.getFullWidth())){var _=a.kind;if(r(n,_),70===_&&!e.nodeIsMissing(a)){var l=a;if(i[l.text]){var d=t.getSymbolAtLocation(a);if(d){var p=c(d,e.getMeaningFromLocation(a));p&&s(a.getStart(),a.getWidth(),p)}}}e.forEachChild(a,u)}}var _=[];return u(a),{spans:_,endOfLineState:0}}function i(t){switch(t){case 1:return e.ClassificationTypeNames.comment;case 2:return e.ClassificationTypeNames.identifier;case 3:return e.ClassificationTypeNames.keyword;case 4:return e.ClassificationTypeNames.numericLiteral;case 5:return e.ClassificationTypeNames.operator;case 6:return e.ClassificationTypeNames.stringLiteral;case 8:return e.ClassificationTypeNames.whiteSpace;case 9:return e.ClassificationTypeNames.text;case 10:return e.ClassificationTypeNames.punctuation;case 11:return e.ClassificationTypeNames.className;case 12:return e.ClassificationTypeNames.enumName;case 13:return e.ClassificationTypeNames.interfaceName;case 14:return e.ClassificationTypeNames.moduleName;case 15:return e.ClassificationTypeNames.typeParameterName;case 16:return e.ClassificationTypeNames.typeAliasName;case 17:return e.ClassificationTypeNames.parameterName;case 18:return e.ClassificationTypeNames.docCommentTagName;case 19:return e.ClassificationTypeNames.jsxOpenTagName;case 20:return e.ClassificationTypeNames.jsxCloseTagName;case 21:return e.ClassificationTypeNames.jsxSelfClosingTagName;case 22:return e.ClassificationTypeNames.jsxAttribute;case 23:return e.ClassificationTypeNames.jsxText;case 24:return e.ClassificationTypeNames.jsxAttributeStringLiteralValue}}function o(t){e.Debug.assert(t.spans.length%3===0);for(var n=t.spans,r=[],a=0,o=n.length;a=0),a>0){var s=n||m(t.kind,t);s&&i(r,a,s)}return!0}function f(e){switch(e.parent&&e.parent.kind){case 248:if(e.parent.tagName===e)return 19;break;case 249:if(e.parent.tagName===e)return 20;break;case 247:if(e.parent.tagName===e)return 21;break;case 250:if(e.parent.name===e)return 22}}function m(t,n){if(e.isKeyword(t))return 3;if((26===t||28===t)&&n&&e.getTypeArgumentOrTypeParameterList(n.parent))return 10;if(e.isPunctuation(t)){if(n){if(57===t&&(223===n.parent.kind||147===n.parent.kind||144===n.parent.kind||250===n.parent.kind))return 5;if(192===n.parent.kind||190===n.parent.kind||191===n.parent.kind||193===n.parent.kind)return 5}return 10}if(8===t)return 4;if(9===t)return 250===n.parent.kind?24:6;if(11===t)return 6;if(e.isTemplateLiteralKind(t))return 6;if(10===t)return 23;if(70===t){if(n)switch(n.parent.kind){case 226:if(n.parent.name===n)return 11;return;case 143:if(n.parent.name===n)return 15;return;case 227:if(n.parent.name===n)return 13;return;case 229:if(n.parent.name===n)return 12;return;case 230:if(n.parent.name===n)return 14;return;case 144:if(n.parent.name===n)return e.isThisIdentifier(n)?3:17;return}return 2}}function g(a){if(a&&e.decodedTextSpanIntersectsWith(y,v,a.pos,a.getFullWidth())){r(t,a.kind);for(var i=a.getChildren(n),o=0,s=i.length;oe.argumentIndex){var s=o.parameters[e.argumentIndex];E(n.getTypeAtLocation(s.valueDeclaration),r)}}if(r.length)return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!0,entries:r}}function S(e){var t=n.getTypeAtLocation(e.expression),r=[];if(t&&(b(t.getApparentProperties(),r,e,!1),r.length))return{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:!0,entries:r}}function C(e){var t=n.getContextualType(e);if(t){var r=[];if(E(t,r),r.length)return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!1,entries:r}}}function E(t,n){t&&(65536&t.flags?e.forEach(t.types,function(e){return E(e,n)}):32&t.flags&&n.push({name:t.text,kindModifiers:e.ScriptElementKindModifier.none,kind:e.ScriptElementKind.variableElement,sortText:"0"}))}function T(t){var n,r=e.normalizeSlashes(t.text),i=t.getSourceFile().path,o=e.getDirectoryPath(i),s=J(t.text,t.getStart()+1);return n=z(r)||e.isRootedDiskPath(r)?a.rootDirs?A(a.rootDirs,r,o,e.getSupportedExtensions(a),!1,s,i):w(r,o,e.getSupportedExtensions(a),!1,s,i):P(r,o,s),{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!0,entries:n}}function N(t,n,r,a){t=e.map(t,function(t){return e.normalizePath(e.isRootedDiskPath(t)?t:e.combinePaths(n,t))});for(var i,o=0,s=t;o=e.pos&&r<=e.end&&e});if(s){var c={isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!0,entries:[]},u=n.text.substr(s.pos,r-s.pos),_=g.exec(u);if(_){var l=_[1],d=_[2],p=_[3],f=e.getDirectoryPath(n.path);if("path"===d){var m=J(p,s.pos+l.length);c.entries=w(p,f,e.getSupportedExtensions(a),!0,m,n.path)}else{var y={start:s.pos+l.length,length:_[0].length-l.length};c.entries=I(t,a,f,y)}}return c}}}}function I(t,n,r,a,i){if(void 0===i&&(i=[]),n.types)for(var o=0,s=n.types;o=2&&46===e.charCodeAt(0)){var t=e.length>=3&&46===e.charCodeAt(1)?2:1,n=e.charCodeAt(t);return 47===n||92===n}return!1}function j(t){return e.hasTrailingDirectorySeparator(t)?e.ensureTrailingDirectorySeparator(e.normalizePath(t)):e.normalizePath(t)}if(e.isInReferenceComment(p,m))return R(p,m);if(e.isInString(p,m))return k(p,m);var V=i(n,r,p,m);if(V){var U=V.symbols,q=V.isGlobalCompletion,W=V.isMemberCompletion,H=V.isNewIdentifierLocation,G=V.location,X=V.isJsDocTagName;if(X)return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!1,entries:e.JsDoc.getAllJsDocCompletionEntries()};var Q=[];if(e.isSourceFileJavaScript(p)){var Y=b(U,Q,G,!0);e.addRange(Q,v(p,G.pos,Y))}else{if(!U||0===U.length){if(1!==p.languageVariant||!G.parent||249!==G.parent.kind)return;var Z=G.parent.parent.openingElement.tagName;Q.push({name:Z.text,kind:void 0,kindModifiers:void 0,sortText:"0"})}b(U,Q,G,!0)}return W||X||e.addRange(Q,f),{isGlobalCompletion:q,isMemberCompletion:W,isNewIdentifierLocation:H,entries:Q}}}function r(t,n,r,a,s,c){var u=i(t,n,a,s);if(u){var _=u.symbols,l=u.location,d=e.forEach(_,function(e){return o(t,e,r.target,!1,l)===c?e:void 0});if(d){var p=e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(t,d,a,l,l,7),m=p.displayParts,g=p.documentation,y=p.symbolKind;return{name:c,kindModifiers:e.SymbolDisplay.getSymbolModifiers(d),kind:y,displayParts:m,documentation:g}}}var v=e.forEach(f,function(e){return e.name===c});if(v)return{name:c,kind:e.ScriptElementKind.keyword,kindModifiers:e.ScriptElementKindModifier.none,displayParts:[e.displayPart(c,e.SymbolDisplayPartKind.keyword)],documentation:void 0}}function a(t,n,r,a,s,c){var u=i(t,n,a,s);if(u){var _=u.symbols,l=u.location;return e.forEach(_,function(e){return o(t,e,r.target,!1,l)===c?e:void 0})}}function i(t,n,r,a){function i(){if(q=!1,j=!0,V=!1,70===I.kind||141===I.kind||177===I.kind){var n=t.getSymbolAtLocation(I);if(n&&8388608&n.flags&&(n=t.getAliasedSymbol(n)),n&&1952&n.flags){var r=t.getExportsOfModule(n);e.forEach(r,function(e){t.isValidPropertyAccess(I.parent,e.name)&&W.push(e)})}}var a=t.getTypeAtLocation(I);o(a)}function o(e){if(e){for(var n=0,r=e.getApparentProperties();n0&&(W=x(s,a)),!0}function f(n){var r=238===n.kind?235:241,a=e.getAncestor(n,r),i=a.moduleSpecifier;if(!i)return!1;j=!0,V=!1;var o,s=t.getSymbolAtLocation(a.moduleSpecifier);return s&&(o=t.getExportsOfModule(s)),W=o?k(o,n.elements):e.emptyArray,!0}function m(e){if(e)switch(e.kind){case 16:case 25:var t=e.parent;if(t&&(176===t.kind||172===t.kind))return t}}function g(e){if(e)switch(e.kind){case 16:case 25:switch(e.parent.kind){case 238:case 242:return e.parent}}}function y(e){if(e){var t=e.parent;switch(e.kind){case 27:case 40:case 70:case 250:case 251:if(t&&(247===t.kind||248===t.kind))return t;if(250===t.kind)return t.parent;break;case 9:if(t&&(250===t.kind||251===t.kind))return t.parent;break;case 17:if(t&&252===t.kind&&t.parent&&250===t.parent.kind)return t.parent.parent;if(t&&251===t.kind)return t.parent}}}function v(e){switch(e){case 184:case 185:case 225:case 149:case 148:case 151:case 152:case 153:case 154:case 155:return!0}return!1}function h(e){var t=e.parent.kind;switch(e.kind){case 25:return 223===t||224===t||205===t||229===t||v(t)||226===t||197===t||227===t||173===t||228===t;case 22:return 173===t;case 55:return 174===t;case 20:return 173===t;case 18:return 256===t||v(t);case 16:return 229===t||227===t||161===t;case 24:return 146===t&&e.parent&&e.parent.parent&&(227===e.parent.parent.kind||161===e.parent.parent.kind);case 26:return 226===t||197===t||227===t||228===t||v(t);case 114:return 147===t;case 23:return 144===t||e.parent&&e.parent.parent&&173===e.parent.parent.kind;case 113:case 111:case 112:return 144===t;case 117:return 239===t||243===t||237===t;case 74:case 82:case 108:case 88:case 103:case 124:case 133:case 90:case 109:case 75:case 115:case 136:return!0}switch(e.getText()){case"abstract":case"async":case"class":case"const":case"declare":case"enum":case"function":case"interface":case"let":case"private":case"protected":case"public":case"static":case"var":case"yield":return!0}return!1}function b(e){if(8===e.kind){var t=e.getFullText();return"."===t.charAt(t.length-1)}return!1}function k(t,n){for(var r=e.createMap(),i=0,o=n;i=0&&!f(n,r[a],105);a--);var i=_(t.statement);return e.forEach(i,function(e){l(t,e)&&f(n,e.getFirstToken(),71,76)}),e.map(n,s)}function v(e){var t=d(e);if(t)switch(t.kind){case 211:case 212:case 213:case 209:case 210:return y(t);case 218:return h(t)}}function h(t){var n=[];return f(n,t.getFirstToken(),97),e.forEach(t.caseBlock.clauses,function(r){f(n,r.getFirstToken(),72,78);var a=_(r);e.forEach(a,function(e){l(t,e)&&f(n,e.getFirstToken(),71)})}),e.map(n,s)}function b(t){var n=[];if(f(n,t.getFirstToken(),101),t.catchClause&&f(n,t.catchClause.getFirstToken(),73),t.finallyBlock){var r=e.findChildOfKind(t,86,a);f(n,r,86)}return e.map(n,s)}function k(t){var n=u(t);if(n){var r=[];return e.forEach(c(n),function(e){f(r,e.getFirstToken(),99)}),e.isFunctionBlock(n)&&e.forEachReturnStatement(n,function(e){f(r,e.getFirstToken(),95)}),e.map(r,s)}}function x(t){var r=e.getContainingFunction(t);if(r&&n(r.body,204)){var a=[];return e.forEachReturnStatement(r.body,function(e){f(a,e.getFirstToken(),95)}),e.forEach(c(r.body),function(e){f(a,e.getFirstToken(),99)}),e.map(a,s)}}function D(t){for(var r=[];n(t.parent,208)&&t.parent.elseStatement===t;)t=t.parent;for(;t;){var i=t.getChildren();f(r,i[0],89);for(var o=i.length-1;o>=0&&!f(r,i[o],81);o--);if(!n(t.elseStatement,208))break;t=t.elseStatement}for(var c=[],o=0;o=u.end;d--)if(!e.isWhiteSpaceSingleLine(a.text.charCodeAt(d))){l=!1;break}if(l){c.push({fileName:S,textSpan:e.createTextSpanFromBounds(u.getStart(),_.end),kind:e.HighlightSpanKind.reference}),o++;continue}}c.push(s(r[o]))}return c}var S=a.fileName,C=o(t);if(C&&0!==C.length)return[{fileName:S,highlightSpans:C}]}var _=e.getTouchingWord(a,i);if(_)return c(_)||u(_)}function r(e,t){for(var n=e.parent;219===n.kind;n=n.parent)if(n.label.text===t)return!0;return!1}t.getDocumentHighlights=n}(t=e.DocumentHighlights||(e.DocumentHighlights={}))}(ts||(ts={}));var ts;!function(e){function t(t,n){function r(e){return"_"+e.target+"|"+e.module+"|"+e.noResolve+"|"+e.jsx+"|"+e.allowJs+"|"+e.baseUrl+"|"+JSON.stringify(e.typeRoots)+"|"+JSON.stringify(e.rootDirs)+"|"+JSON.stringify(e.paths)}function a(t,n){var r=p[t];return!r&&n&&(p[t]=r=e.createFileMap()),r}function i(){var e=Object.keys(p).filter(function(e){return e&&"_"===e.charAt(0)}).map(function(e){var t=p[e],n=[];return t.forEachValue(function(e,t){n.push({name:e,refCount:t.languageServiceRefCount,references:t.owners.slice(0)})}),n.sort(function(e,t){return t.refCount-e.refCount}),{bucket:e,sourceFiles:n}});return JSON.stringify(e,void 0,2)}function o(t,a,i,o,c){var u=e.toPath(t,n,f),_=r(a);return s(t,u,a,_,i,o,c)}function s(e,t,n,r,a,i,o){return _(e,t,n,r,a,i,!0,o)}function c(t,a,i,o,s){var c=e.toPath(t,n,f),_=r(a);return u(t,c,a,_,i,o,s)}function u(e,t,n,r,a,i,o){return _(e,t,n,r,a,i,!1,o)}function _(t,n,r,i,o,s,c,u){var _=a(i,!0),l=_.get(n);if(l)l.sourceFile.version!==s&&(l.sourceFile=e.updateLanguageServiceSourceFile(l.sourceFile,o,s,o.getChangeRange(l.sourceFile.scriptSnapshot)));else{e.Debug.assert(c,"How could we be trying to update a document that the registry doesn't have?");var d=e.createLanguageServiceSourceFile(t,o,r.target,s,!1,u);l={sourceFile:d,languageServiceRefCount:0,owners:[]},_.set(n,l)}return c&&l.languageServiceRefCount++,l.sourceFile}function l(t,a){var i=e.toPath(t,n,f),o=r(a);return d(i,o)}function d(t,n){var r=a(n,!1);e.Debug.assert(void 0!==r);var i=r.get(t);i.languageServiceRefCount--,e.Debug.assert(i.languageServiceRefCount>=0),0===i.languageServiceRefCount&&r.remove(t)}void 0===n&&(n="");var p=e.createMap(),f=e.createGetCanonicalFileName(!!t);return{acquireDocument:o,acquireDocumentWithKey:s,updateDocument:c,updateDocumentWithKey:u,releaseDocument:l,releaseDocumentWithKey:d,reportStats:i,getKeyForCompilationSettings:r}}e.createDocumentRegistry=t}(ts||(ts={}));var ts;!function(e){var t;!function(t){function n(t,n,a,i,o,s,c){var u=e.getTouchingPropertyName(i,o,!0);if(u!==i)switch(u.kind){case 8:if(!e.isLiteralNameOfPropertyDeclarationOrIndexAccess(u))break;case 70:case 98:case 122:case 9:return r(t,n,u,a,s,c,!1)}}function r(t,n,r,a,o,u,d){function m(n){var a=e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(t,n,r.getSourceFile(),e.getContainerNode(r),r),i=e.map(a.displayParts,function(e){return e.text}).join(""),o=n.declarations;if(o&&0!==o.length)return{containerKind:"",containerName:"",name:i,kind:a.symbolKind,fileName:o[0].getSourceFile().fileName,textSpan:e.createTextSpan(o[0].getStart(),0),displayParts:a.displayParts}}function g(n,r){if(8388608&n.flags){var a=e.getDeclarationOfKind(n,236);if(a)return t.getAliasedSymbol(n);var i=e.forEach(n.declarations,function(e){return 239===e.kind||243===e.kind?e:void 0});if(i&&(!i.propertyName||i.propertyName===r))return 239===i.kind?t.getAliasedSymbol(n):t.getExportSpecifierLocalTargetSymbol(i)}}function y(e,t){return g(e,t)||e}function v(n){return e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.parent.parent)&&t.getPropertySymbolOfDestructuringAssignment(n)}function h(t){var n=e.getDeclarationOfKind(t,174);return n&&172===n.parent.kind&&!n.propertyName}function b(n){if(h(n)){var r=e.getDeclarationOfKind(n,174),a=t.getTypeAtLocation(r.parent);return a&&t.getPropertyOfType(a,r.name.text)}}function k(t,n){if(e.isImportOrExportSpecifierName(n))return n.getText();var r=e.getLocalSymbolForExportDefault(t);return t=r||t,e.stripQuotes(t.name)}function x(t){var n=t.valueDeclaration;if(n&&(184===n.kind||197===n.kind))return n;if(8196&t.flags){var r=e.forEach(t.getDeclarations(),function(t){return 8&e.getModifierFlags(t)?t:void 0});if(r)return e.getAncestor(r,226)}if(!(8388608&t.flags||h(t)||t.parent||268435456&t.flags)){var a,i=t.getDeclarations();if(i)for(var o=0,s=i;o=0&&(n.throwIfCancellationRequested(),!(_>i));){var l=_+u;0!==_&&e.isIdentifierPart(s.charCodeAt(_-1),5)||l!==c&&e.isIdentifierPart(s.charCodeAt(l),5)||o.push(_),_=s.indexOf(r,_+u+1)}return o}function S(t,r){var a=[],i=t.getSourceFile(),o=r.text,s=D(i,o,t.getStart(),t.getEnd());e.forEach(s,function(t){n.throwIfCancellationRequested();var s=e.getTouchingWord(i,t);s&&s.getWidth()===o.length&&(s===r||e.isJumpStatementTarget(s)&&e.getTargetLabel(s,o)===r)&&a.push(c(s))});var u={containerKind:"",containerName:"",fileName:r.getSourceFile().fileName,kind:e.ScriptElementKind.label,name:o,textSpan:e.createTextSpanFromBounds(r.getStart(),r.getEnd()),displayParts:[e.displayPart(o,e.SymbolDisplayPartKind.text)]};return[{definition:u,references:a}]}function C(t,n){if(t)switch(t.kind){case 70:return t.getWidth()===n.length;case 9:if(e.isLiteralNameOfPropertyDeclarationOrIndexAccess(t)||f(t))return t.getWidth()===n.length+2;break;case 8:if(e.isLiteralNameOfPropertyDeclarationOrIndexAccess(t))return t.getWidth()===n.length}return!1}function E(r,a,i,o,s,u,l,f,g){function v(){if(d){var e=h(o);if(e){var n=t.getTypeAtLocation(e.expression);if(n){if(n.symbol&&96&n.symbol.flags&&n.symbol!==a.parent)return[n.symbol];if(196608&n.flags)return N(n)}}}}function h(t){return e.isRightSideOfPropertyAccess(t)&&t.parent}function b(t,n){e.Debug.assert(e.isClassLike(a.valueDeclaration));var r=n.parent;if(t===a&&e.isClassLike(r))e.Debug.assert(r.name===n),k(x(a));else{var i=p(n);i&&e.isClassLike(i)&&y(t,n)===a&&k(S(i))}}function k(t){if(t.length){var n=E(a);e.addRange(n.references,e.map(t,c))}}function x(t){for(var n=[],r=0,a=t.members.__constructor.declarations;r=0?A(_.name,p):122===o.kind&&b(c,a)}}})}}function T(n,r){function a(t){e.forEach(r,function(e){return t.fileName===e.fileName&&t.textSpan.start===e.textSpan.start&&t.textSpan.length===e.textSpan.length})||r.push(t)}if(e.isDeclarationName(n)&&i(n.parent))r.push(c(n.parent));else if(70===n.kind){258===n.parent.kind&&s(n,t,r);var o=w(n);if(o)return void r.push(c(o));var u=A(n);if(u){var _=u.parent;e.isVariableLike(_)&&_.type===u&&_.initializer&&P(_.initializer)?a(c(_.initializer)):e.isFunctionLike(_)&&_.type===u&&_.body?204===_.body.kind?e.forEachReturnStatement(_.body,function(e){e.expression&&P(e.expression)&&a(c(e.expression))}):P(_.body)&&a(c(_.body)):e.isAssertionExpression(_)&&P(_.expression)&&a(c(_.expression))}}}function N(e,t){void 0===t&&(t=[]);for(var n=0,r=e.types;n=0?e:void 0})});if(_)return _;var d=v(a);if(d&&n.indexOf(d)>=0)return d}var p=b(r);return p&&n.indexOf(p)>=0?p:e.forEach(t.getRootSymbols(r),function(t){if(n.indexOf(t)>=0)return t;if(t.parent&&96&t.parent.flags){if(o&&!e.forEach(o,function(e){return F(t.parent,e,s)}))return;var r=[];return M(t.parent,t.getName(),r,e.createMap()),e.forEach(r,function(e){return n.indexOf(e)>=0?e:void 0})}})}function K(t){if(142!==t.name.kind)return t.name.text;var n=t.name.expression;return e.isStringOrNumericLiteral(n)?n.text:void 0}function J(n){var r=n.parent,a=t.getContextualType(r),i=K(n);if(i&&a){var o=[],s=a.getProperty(i);return s&&o.push(s),65536&a.flags&&e.forEach(a.types,function(e){var t=e.getProperty(i);t&&o.push(t)}),o}}function z(t,n){if(n){var r=void 0;do{r=t;for(var a=0,i=n;a0?i:void 0}if(96===a.kind||e.isSuperProperty(a.parent)){var o=t.getSymbolAtLocation(a);return o.valueDeclaration&&[e.FindAllReferences.getReferenceEntryFromNode(o.valueDeclaration)]}var s=e.FindAllReferences.getReferencedSymbolsForNode(t,n,a,r,!1,!1,!0),i=e.flatMap(s,function(t){return e.map(t.references,function(e){var t=e.textSpan,n=e.fileName;return{textSpan:t,fileName:n}})});return i&&i.length>0?i:void 0}t.getImplementationAtPosition=n}(t=e.GoToImplementation||(e.GoToImplementation={}))}(ts||(ts={}));var ts;!function(e){var t;!function(t){function n(t){var n=[];return r(t,function(t){var r=e.getCommentsFromJSDoc(t);if(r)for(var a=0,i=r;a0);for(var n=0,r=t;n0);for(var n=e.PatternMatchKind.camelCase,r=0,a=t;r0)return r}switch(t.kind){case 261:var i=t;return e.isExternalModule(i)?'"'+e.escapeString(e.getBaseFileName(e.removeFileExtension(e.normalizePath(i.fileName))))+'"':"";case 185:case 225:case 184:case 226:case 197:return 512&e.getModifierFlags(t)?"default":N(t);case 150:return"constructor";case 154:return"new()";case 153:return"()";case 155:return"[]";case 285:return h(t);default:return""}}function h(e){if(e.name)return e.name.text;var t=e.parent&&e.parent.parent;if(t&&205===t.kind&&t.declarationList.declarations.length>0){var n=t.declarationList.declarations[0].name;if(70===n.kind)return n.text}return""}function b(t){function n(e){if(r(e)&&(a.push(e),e.children))for(var t=0,i=e.children;t0?e.declarationNameToString(t.name):223===t.parent.kind?e.declarationNameToString(t.parent.name):192===t.parent.kind&&57===t.parent.operatorToken.kind?a(t.parent.left).replace(L,""):257===t.parent.kind&&t.parent.name?a(t.parent.name):512&e.getModifierFlags(t)?"default":e.isClassLike(t)?"":""}function A(e){return 184===e.kind||185===e.kind||197===e.kind}t.getNavigationBarItems=n,t.getNavigationTree=r;var w,P,F=[],O=e.collator&&e.collator.compare("a","B")<0,R=O?e.collator.compare:function(t,n){for(var r=0;r1){var a={pos:t,end:n,kind:2};r(a,!1)}}function o(t){return e.isFunctionBlock(t)&&185!==t.parent.kind}function s(r){if(!(_>l)){switch(e.isDeclaration(r)&&a(r),r.kind){case 204:if(!e.isFunctionBlock(r)){var i=r.parent,d=e.findChildOfKind(r,16,t),p=e.findChildOfKind(r,17,t);if(209===i.kind||212===i.kind||213===i.kind||211===i.kind||208===i.kind||210===i.kind||217===i.kind||256===i.kind){n(i,d,p,o(r));break}if(221===i.kind){var f=i;if(f.tryBlock===r){n(i,d,p,o(r));break}if(f.finallyBlock===r){var m=e.findChildOfKind(f,86,t);if(m){n(m,d,p,o(r));break}}}var g=e.createTextSpanFromBounds(r.getStart(),r.end);c.push({textSpan:g,hintSpan:g,bannerText:u,autoCollapse:o(r)});break}case 231:var d=e.findChildOfKind(r,16,t),p=e.findChildOfKind(r,17,t);n(r.parent,d,p,o(r));break;case 226:case 227:case 229:case 176:case 232:var d=e.findChildOfKind(r,16,t),p=e.findChildOfKind(r,17,t);n(r,d,p,o(r));break;case 175:var y=e.findChildOfKind(r,20,t),v=e.findChildOfKind(r,21,t);n(r,y,v,o(r))}_++,e.forEachChild(r,s),_--}}var c=[],u="...",_=0,l=20;return s(t),c}t.collectElements=n}(t=e.OutliningElementsCollector||(e.OutliningElementsCollector={}))}(ts||(ts={}));var ts;!function(e){function t(e,t,n,r){return{kind:e,punctuationStripped:t,isCaseSensitive:n,camelCaseWeight:r}}function n(n){function o(e){return b||!e}function c(t){if(!o(t))return f(t,e.lastOrUndefined(h))}function _(t,n){if(!o(n)){var r=f(n,e.lastOrUndefined(h));if(r&&(t=t||[],!(h.length-1>t.length))){for(var a=r,i=h.length-2,s=t.length-1;i>=0;i-=1,s-=1){var c=h[i],u=t[s],_=f(u,c);if(!_)return;e.addRange(a,_)}return a}}}function l(e){return e in v||(v[e]=m(e)),v[e]}function d(n,r,a){var o=s(n,r.textLowerCase);if(0===o)return r.text.length===n.length?t(k.exact,a,n===r.text):t(k.prefix,a,e.startsWith(n,r.text));var c=r.isLowerCase;if(c){if(o>0)for(var u=l(n),_=0,d=u;_0)return t(k.substring,a,!0);if(!c&&r.characterSpans.length>0){var f=l(n),m=y(n,f,r,!1);if(void 0!==m)return t(k.camelCase,a,!0,m);if(m=y(n,f,r,!0),void 0!==m)return t(k.camelCase,a,!1,m)}return c&&r.text.length0&&i(n.charCodeAt(o))?t(k.substring,a,!1):void 0}function p(e){for(var t=0;tt.length)return!1;if(r)for(var s=0;s1}}function r(e){return{totalTextChunk:p(e),subWordTextChunks:d(e)}}function a(e){return 0===e.subWordTextChunks.length}function i(t){if(t>=65&&t<=90)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,5))return!1;var n=String.fromCharCode(t);return n===n.toUpperCase()}function o(t){if(t>=97&&t<=122)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,5))return!1;var n=String.fromCharCode(t);return n===n.toLowerCase()}function s(e,t){for(var n=0,r=e.length-t.length;n<=r;n++)if(c(e,t,n))return n;return-1}function c(e,t,n){for(var r=0,a=t.length;r=65&&e<=90?97+(e-65):e<127?e:String.fromCharCode(e).toLowerCase().charCodeAt(0)}function _(e){return e>=48&&e<=57}function l(e){return i(e)||o(e)||_(e)||95===e||36===e}function d(e){for(var t=[],n=0,r=0,a=0;a0&&(t.push(p(e.substr(n,r))),r=0)}return r>0&&t.push(p(e.substr(n,r))),t}function p(e){var t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:f(e)}}function f(e){return g(e,!1)}function m(e){return g(e,!0)}function g(t,n){for(var r=[],a=0,i=1,o=t.length;i0){if(e.forEach(d,s))return o(e.getLocaleSpecificMessage(e.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library));var p=e.stripQuotes(e.getDeclaredName(t,l,_)),f=e.SymbolDisplay.getSymbolKind(t,l,_);if(f)return{canRename:!0,kind:f,displayName:p,localizedErrorMessage:void 0,fullDisplayName:t.getFullyQualifiedName(l),kindModifiers:e.SymbolDisplay.getSymbolModifiers(l),triggerSpan:c(_,a)}}}else if(9===_.kind){var m=e.getStringLiteralTypeForNode(_,t);if(m){if(s(_))return o(e.getLocaleSpecificMessage(e.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library));var p=e.stripQuotes(m.text);return{canRename:!0,kind:e.ScriptElementKind.variableElement,displayName:p,localizedErrorMessage:void 0,fullDisplayName:p,kindModifiers:e.ScriptElementKindModifier.none,triggerSpan:c(_,a)}}}}return o(e.getLocaleSpecificMessage(e.Diagnostics.You_cannot_rename_this_element))}t.getRenameInfo=n}(t=e.Rename||(e.Rename={}))}(ts||(ts={}));var ts;!function(e){var t;!function(t){function n(t,n,a,i){var o=t.getTypeChecker(),s=e.findTokenOnLeftOfPosition(n,a);if(s){var c=l(s,a,n);if(i.throwIfCancellationRequested(),c){var u=c.invocation,_=[],d=o.getResolvedSignature(u,_);if(i.throwIfCancellationRequested(),_.length)return f(_,d,c,o);if(e.isSourceFileJavaScript(n))return r(c,t)}}}function r(e,t){if(179===e.invocation.kind){var n=e.invocation,r=n.expression,a=70===r.kind?r:177===r.kind?r.name:void 0;if(a&&a.text)for(var i=t.getTypeChecker(),o=0,s=t.getSourceFiles();o0&&25===e.lastOrUndefined(n).kind&&r++,r}function s(t,n,r){return e.Debug.assert(r>=n.getStart(),"Assumed 'position' could not occur before node."),e.isTemplateLiteralKind(n.kind)?e.isInsideTemplateLiteral(n,r)?0:t+2:t+1}function c(t,n,r){var a=12===t.template.kind?1:t.template.templateSpans.length+1;return e.Debug.assert(0===n||ni.parent.end)&&e.Debug.fail("Node of kind "+i.kind+" is not a subspan of its parent of kind "+i.parent.kind);var o=a(i,n,r);if(o)return o}}function d(t,n,r){var a=t.getChildren(r),i=a.indexOf(n);return e.Debug.assert(i>=0&&a.length>i+1),a[i+1]}function p(e,t){for(var n=-1,r=-1,a=0;a=t)return a;i.parameters.length>r&&(r=i.parameters.length,n=a)}return n}function f(t,n,r,a){function i(t){var n=e.mapToDisplayParts(function(e){return a.getSymbolDisplayBuilder().buildParameterDisplay(t,e,u)});return{name:t.name,documentation:t.getDocumentationComment(),displayParts:n,isOptional:a.isOptionalParameter(t.valueDeclaration)}}function o(t){var n=e.mapToDisplayParts(function(e){return a.getSymbolDisplayBuilder().buildTypeParameterDisplay(t,e,u)});return{name:t.symbol.name,documentation:g,displayParts:n,isOptional:!1}}var s=r.argumentsSpan,c=0===r.kind,u=r.invocation,_=e.getInvokedExpression(u),l=a.getSymbolAtLocation(_),d=l&&e.symbolToDisplayParts(a,l,void 0,void 0),f=e.map(t,function(t){var n,r=[],s=[];d&&e.addRange(r,d);var _;if(c){_=!1,r.push(e.punctuationPart(26));var l=t.typeParameters;n=l&&l.length>0?e.map(l,o):g,s.push(e.punctuationPart(28));var p=e.mapToDisplayParts(function(e){return a.getSymbolDisplayBuilder().buildDisplayForParametersAndDelimiters(t.thisParameter,t.parameters,e,u)});e.addRange(s,p)}else{_=t.hasRestParameter;var f=e.mapToDisplayParts(function(e){return a.getSymbolDisplayBuilder().buildDisplayForTypeParametersAndDelimiters(t.typeParameters,e,u)});e.addRange(r,f),r.push(e.punctuationPart(18));var m=t.parameters;n=m.length>0?e.map(m,i):g,s.push(e.punctuationPart(19))}var y=e.mapToDisplayParts(function(e){return a.getSymbolDisplayBuilder().buildReturnTypeDisplay(t,e,u)});return e.addRange(s,y),{isVariadic:_,prefixDisplayParts:r,suffixDisplayParts:s,separatorDisplayParts:[e.punctuationPart(25),e.spacePart()],parameters:n,documentation:t.getDocumentationComment()}}),m=r.argumentIndex,y=r.argumentCount,v=t.indexOf(n);return v<0&&(v=p(t,y)),e.Debug.assert(0===m||m0?e.getNodeModifiers(t.declarations[0]):e.ScriptElementKindModifier.none}function i(t,a,i,o,s,c){function u(){h.length&&h.push(e.lineBreakPart())}function _(){h.push(e.spacePart()),h.push(e.keywordPart(91)),h.push(e.spacePart())}function l(n,r){var a=e.symbolToDisplayParts(t,n,r||i,void 0,3);e.addRange(h,a)}function d(t,n){u(),n&&(p(n),h.push(e.spacePart()),l(t))}function p(t){switch(t){case e.ScriptElementKind.variableElement:case e.ScriptElementKind.functionElement:case e.ScriptElementKind.letElement:case e.ScriptElementKind.constElement:case e.ScriptElementKind.constructorImplementationElement:return void h.push(e.textOrKeywordPart(t));default:return h.push(e.punctuationPart(18)),h.push(e.textOrKeywordPart(t)),void h.push(e.punctuationPart(19))}}function f(n,r,a){e.addRange(h,e.signatureToDisplayParts(t,n,o,32|a)),r.length>1&&(h.push(e.spacePart()),h.push(e.punctuationPart(18)),h.push(e.operatorPart(36)),h.push(e.displayPart((r.length-1).toString(),e.SymbolDisplayPartKind.numericLiteral)),h.push(e.spacePart()),h.push(e.textPart(2===r.length?"overload":"overloads")),h.push(e.punctuationPart(19))),g=n.getDocumentationComment()}function m(n,r){var a=e.mapToDisplayParts(function(e){t.getSymbolDisplayBuilder().buildTypeParameterDisplayFromSymbol(n,e,r)});e.addRange(h,a)}void 0===c&&(c=e.getMeaningFromLocation(s));var g,y,v,h=[],b=a.flags,k=r(t,a,b,s),x=98===s.kind&&e.isExpression(s);if(k!==e.ScriptElementKind.unknown||32&b||8388608&b){k!==e.ScriptElementKind.memberGetAccessorElement&&k!==e.ScriptElementKind.memberSetAccessorElement||(k=e.ScriptElementKind.memberVariableElement);var D=void 0;if(v=x?t.getTypeAtLocation(s):t.getTypeOfSymbolAtLocation(a,s)){if(s.parent&&177===s.parent.kind){var S=s.parent.name;(S===s||S&&0===S.getFullWidth())&&(s=s.parent)}var C=void 0;if(179===s.kind||180===s.kind?C=s:(e.isCallExpressionTarget(s)||e.isNewExpressionTarget(s))&&(C=s.parent),C){var E=[];D=t.getResolvedSignature(C,E),!D&&E.length&&(D=E[0]);var T=180===C.kind||96===C.expression.kind,N=T?v.getConstructSignatures():v.getCallSignatures();if(e.contains(N,D.target)||e.contains(N,D)||(D=N.length?N[0]:void 0),D){switch(T&&32&b?(k=e.ScriptElementKind.constructorImplementationElement,d(v.symbol,k)):8388608&b?(k=e.ScriptElementKind.alias,p(k),h.push(e.spacePart()),T&&(h.push(e.keywordPart(93)),h.push(e.spacePart())),l(a)):d(a,k),k){case e.ScriptElementKind.memberVariableElement:case e.ScriptElementKind.variableElement:case e.ScriptElementKind.constElement:case e.ScriptElementKind.letElement:case e.ScriptElementKind.parameterElement:case e.ScriptElementKind.localVariableElement:h.push(e.punctuationPart(55)),h.push(e.spacePart()),T&&(h.push(e.keywordPart(93)),h.push(e.spacePart())),32768&v.flags&&16&v.objectFlags||!v.symbol||e.addRange(h,e.symbolToDisplayParts(t,v.symbol,o,void 0,1)),f(D,N,8);break;default:f(D,N)}y=!0}}else if(e.isNameOfFunctionDeclaration(s)&&!(98304&a.flags)||122===s.kind&&150===s.parent.kind){var A=s.parent,N=150===A.kind?v.getNonNullableType().getConstructSignatures():v.getNonNullableType().getCallSignatures();D=t.isImplementationOfOverload(A)?N[0]:t.getSignatureFromDeclaration(A),150===A.kind?(k=e.ScriptElementKind.constructorImplementationElement,d(v.symbol,k)):d(153!==A.kind||2048&v.symbol.flags||4096&v.symbol.flags?a:v.symbol,k),f(D,N),y=!0}}}if(32&b&&!y&&!x&&(e.getDeclarationOfKind(a,197)?p(e.ScriptElementKind.localClassElement):h.push(e.keywordPart(74)),h.push(e.spacePart()),l(a),m(a,i)),64&b&&2&c&&(u(),h.push(e.keywordPart(108)),h.push(e.spacePart()),l(a),m(a,i)),524288&b&&(u(),h.push(e.keywordPart(136)),h.push(e.spacePart()),l(a),m(a,i),h.push(e.spacePart()),h.push(e.operatorPart(57)),h.push(e.spacePart()),e.addRange(h,e.typeToDisplayParts(t,t.getDeclaredTypeOfSymbol(a),o,512))),384&b&&(u(),e.forEach(a.declarations,e.isConstEnumDeclaration)&&(h.push(e.keywordPart(75)),h.push(e.spacePart())),h.push(e.keywordPart(82)),h.push(e.spacePart()),l(a)),1536&b){u();var w=e.getDeclarationOfKind(a,230),P=w&&w.name&&70===w.name.kind;h.push(e.keywordPart(P?128:127)),h.push(e.spacePart()),l(a)}if(262144&b&&2&c)if(u(),h.push(e.punctuationPart(18)),h.push(e.textPart("type parameter")),h.push(e.punctuationPart(19)),h.push(e.spacePart()),l(a),a.parent)_(),l(a.parent,o),m(a.parent,o);else{var w=e.getDeclarationOfKind(a,143);if(e.Debug.assert(void 0!==w),w=w.parent)if(e.isFunctionLikeKind(w.kind)){_();var D=t.getSignatureFromDeclaration(w);154===w.kind?(h.push(e.keywordPart(93)),h.push(e.spacePart())):153!==w.kind&&w.name&&l(w.symbol),e.addRange(h,e.signatureToDisplayParts(t,D,i,32))}else 228===w.kind&&(_(),h.push(e.keywordPart(136)),h.push(e.spacePart()),l(w.symbol),m(w.symbol,i))}if(8&b){d(a,"enum member");var w=a.declarations[0];if(260===w.kind){var F=t.getConstantValue(w);void 0!==F&&(h.push(e.spacePart()),h.push(e.operatorPart(57)),h.push(e.spacePart()),h.push(e.displayPart(F.toString(),e.SymbolDisplayPartKind.numericLiteral)))}}if(8388608&b&&(u(),233===a.declarations[0].kind?(h.push(e.keywordPart(83)),h.push(e.spacePart()),h.push(e.keywordPart(128))):h.push(e.keywordPart(90)),h.push(e.spacePart()),l(a),e.forEach(a.declarations,function(n){if(234===n.kind){var r=n;if(e.isExternalModuleImportEqualsDeclaration(r))h.push(e.spacePart()),h.push(e.operatorPart(57)),h.push(e.spacePart()),h.push(e.keywordPart(131)),h.push(e.punctuationPart(18)),h.push(e.displayPart(e.getTextOfNode(e.getExternalModuleImportEqualsDeclarationExpression(r)),e.SymbolDisplayPartKind.stringLiteral)),h.push(e.punctuationPart(19));else{var a=t.getSymbolAtLocation(r.moduleReference);a&&(h.push(e.spacePart()),h.push(e.operatorPart(57)),h.push(e.spacePart()),l(a,o))}return!0}})),!y)if(k!==e.ScriptElementKind.unknown){if(v)if(x?(u(),h.push(e.keywordPart(98))):d(a,k),k===e.ScriptElementKind.memberVariableElement||3&b||k===e.ScriptElementKind.localVariableElement||x)if(h.push(e.punctuationPart(55)),h.push(e.spacePart()),v.symbol&&262144&v.symbol.flags){var O=e.mapToDisplayParts(function(e){t.getSymbolDisplayBuilder().buildTypeParameterDisplay(v,e,o)});e.addRange(h,O)}else e.addRange(h,e.typeToDisplayParts(t,v,o));else if(16&b||8192&b||16384&b||131072&b||98304&b||k===e.ScriptElementKind.memberFunctionElement){var N=v.getNonNullableType().getCallSignatures();f(N[0],N)}}else k=n(t,a,s);if(!g&&(g=a.getDocumentationComment(),0===g.length&&4&a.flags&&a.parent&&e.forEach(a.parent.declarations,function(e){return 261===e.kind})))for(var R=0,I=a.declarations;R0))break}}return{displayParts:h,documentation:g,symbolKind:k}}function o(t){return!t.parent&&e.forEach(t.declarations,function(t){if(184===t.kind)return!0;if(223!==t.kind&&225!==t.kind)return!1;for(var n=t.parent;!e.isFunctionBlock(n);n=n.parent)if(261===n.kind||231===n.kind)return!1;return!0})}t.getSymbolKind=n,t.getSymbolModifiers=a,t.getSymbolDisplayPartsDocumentationAndSymbolKind=i}(t=e.SymbolDisplay||(e.SymbolDisplay={}))}(ts||(ts={}));var ts;!function(e){function t(t,n){var a=[],i=n.compilerOptions?r(n.compilerOptions,a):e.getDefaultCompilerOptions();i.isolatedModules=!0,i.suppressOutputPathCheck=!0,i.allowNonTsExtensions=!0,i.noLib=!0,i.lib=void 0,i.types=void 0,i.noEmit=void 0,i.noEmitOnError=void 0,i.paths=void 0,i.rootDirs=void 0,i.declaration=void 0,i.declarationDir=void 0,i.out=void 0,i.outFile=void 0,i.noResolve=!0;var o=n.fileName||(i.jsx?"module.tsx":"module.ts"),s=e.createSourceFile(o,t,i.target);n.moduleName&&(s.moduleName=n.moduleName),n.renamedDependencies&&(s.renamedDependencies=e.createMap(n.renamedDependencies));var c,u,_=e.getNewLineCharacter(i),l={getSourceFile:function(t){return t===e.normalizePath(o)?s:void 0},writeFile:function(t,n){e.fileExtensionIs(t,".map")?(e.Debug.assert(void 0===u,"Unexpected multiple source map outputs for the file '"+t+"'"),u=n):(e.Debug.assert(void 0===c,"Unexpected multiple outputs for the file: '"+t+"'"),c=n)},getDefaultLibFileName:function(){return"lib.d.ts"},useCaseSensitiveFileNames:function(){return!1},getCanonicalFileName:function(e){return e},getCurrentDirectory:function(){return""},getNewLine:function(){return _},fileExists:function(e){return e===o},readFile:function(){return""},directoryExists:function(){return!0},getDirectories:function(){return[]}},d=e.createProgram([o],i,l);return n.reportDiagnostics&&(e.addRange(a,d.getSyntacticDiagnostics(s)),e.addRange(a,d.getOptionsDiagnostics())),d.emit(),e.Debug.assert(void 0!==c,"Output generation failed"),{outputText:c,diagnostics:a,sourceMapText:u}}function n(n,r,a,i,o){var s=t(n,{compilerOptions:r,fileName:a,reportDiagnostics:!!i,moduleName:o});return e.addRange(i,s.diagnostics),s.outputText}function r(t,n){a=a||e.filter(e.optionDeclarations,function(t){return"object"==typeof t.type&&!e.forEachProperty(t.type,function(e){return"number"!=typeof e})}),t=e.clone(t);for(var r=function(r){if(!e.hasProperty(t,r.name))return"continue";var a=t[r.name];"string"==typeof a?t[r.name]=e.parseCustomTypeOption(r,a,n):e.forEachProperty(r.type,function(e){return e===a})||n.push(e.createCompilerDiagnosticForInvalidCustomType(r))},i=0,o=a;i>=a,n+=a;return t},t.prototype.IncreaseInsertionIndex=function(t){var n=this.rulesInsertionIndexBitmap>>t&i;n++,e.Debug.assert((n&i)===n,"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules.");var r=this.rulesInsertionIndexBitmap&~(i<=0},t}();t.TokenRangeAccess=n;var r=function(){function e(e){this.tokens=e&&e.length?e:[]}return e.prototype.GetTokens=function(){return this.tokens},e.prototype.Contains=function(e){return this.tokens.indexOf(e)>=0},e}();t.TokenValuesAccess=r;var a=function(){function e(e){this.token=e}return e.prototype.GetTokens=function(){return[this.token]},e.prototype.Contains=function(e){return e===this.token},e}();t.TokenSingleValueAccess=a;var i=function(){function e(){}return e.prototype.GetTokens=function(){for(var e=[],t=0;t<=140;t++)e.push(t);return e},e.prototype.Contains=function(){return!0},e.prototype.toString=function(){return"[allTokens]"},e}();t.TokenAllAccess=i;var o=function(){function e(e){this.tokenAccess=e}return e.FromToken=function(t){return new e(new a(t))},e.FromTokens=function(t){return new e(new r(t))},e.FromRange=function(t,r,a){return void 0===a&&(a=[]),new e(new n(t,r,a))},e.AllTokens=function(){return new e(new i)},e.prototype.GetTokens=function(){return this.tokenAccess.GetTokens()},e.prototype.Contains=function(e){return this.tokenAccess.Contains(e)},e.prototype.toString=function(){return this.tokenAccess.toString()},e}();o.Any=o.AllTokens(),o.AnyIncludingMultilineComments=o.FromTokens(o.Any.GetTokens().concat([3])),o.Keywords=o.FromRange(71,140),o.BinaryOperators=o.FromRange(26,69),o.BinaryKeywordOperators=o.FromTokens([91,92,140,117,125]),o.UnaryPrefixOperators=o.FromTokens([42,43,51,50]),o.UnaryPrefixExpressions=o.FromTokens([8,70,18,20,16,98,93]),o.UnaryPreincrementExpressions=o.FromTokens([70,18,98,93]),o.UnaryPostincrementExpressions=o.FromTokens([70,19,21,93]),o.UnaryPredecrementExpressions=o.FromTokens([70,18,98,93]),o.UnaryPostdecrementExpressions=o.FromTokens([70,19,21,93]),o.Comments=o.FromTokens([2,3]),o.TypeNames=o.FromTokens([70,132,134,121,135,104,118]),t.TokenRange=o}(n=t.Shared||(t.Shared={}))}(t=e.formatting||(e.formatting={}))}(ts||(ts={}));var ts;!function(e){var t;!function(t){var n=function(){function n(){this.globalRules=new t.Rules}return n.prototype.getRuleName=function(e){return this.globalRules.getRuleName(e)},n.prototype.getRuleByName=function(e){return this.globalRules[e]},n.prototype.getRulesMap=function(){return this.rulesMap},n.prototype.ensureUpToDate=function(n){if(!this.options||!e.compareDataObjects(this.options,n)){var r=this.createActiveRules(n),a=t.RulesMap.create(r);this.activeRules=r,this.rulesMap=a,this.options=e.clone(n)}},n.prototype.createActiveRules=function(e){var t=this.globalRules.HighPriorityCommonRules.slice(0);return e.insertSpaceAfterCommaDelimiter?t.push(this.globalRules.SpaceAfterComma):t.push(this.globalRules.NoSpaceAfterComma),e.insertSpaceAfterFunctionKeywordForAnonymousFunctions?t.push(this.globalRules.SpaceAfterAnonymousFunctionKeyword):t.push(this.globalRules.NoSpaceAfterAnonymousFunctionKeyword),e.insertSpaceAfterKeywordsInControlFlowStatements?t.push(this.globalRules.SpaceAfterKeywordInControl):t.push(this.globalRules.NoSpaceAfterKeywordInControl),e.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?(t.push(this.globalRules.SpaceAfterOpenParen),t.push(this.globalRules.SpaceBeforeCloseParen),t.push(this.globalRules.NoSpaceBetweenParens)):(t.push(this.globalRules.NoSpaceAfterOpenParen),t.push(this.globalRules.NoSpaceBeforeCloseParen),t.push(this.globalRules.NoSpaceBetweenParens)),e.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?(t.push(this.globalRules.SpaceAfterOpenBracket),t.push(this.globalRules.SpaceBeforeCloseBracket),t.push(this.globalRules.NoSpaceBetweenBrackets)):(t.push(this.globalRules.NoSpaceAfterOpenBracket), -t.push(this.globalRules.NoSpaceBeforeCloseBracket),t.push(this.globalRules.NoSpaceBetweenBrackets)),e.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces!==!1?(t.push(this.globalRules.SpaceAfterOpenBrace),t.push(this.globalRules.SpaceBeforeCloseBrace),t.push(this.globalRules.NoSpaceBetweenEmptyBraceBrackets)):(t.push(this.globalRules.NoSpaceAfterOpenBrace),t.push(this.globalRules.NoSpaceBeforeCloseBrace),t.push(this.globalRules.NoSpaceBetweenEmptyBraceBrackets)),e.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?(t.push(this.globalRules.SpaceAfterTemplateHeadAndMiddle),t.push(this.globalRules.SpaceBeforeTemplateMiddleAndTail)):(t.push(this.globalRules.NoSpaceAfterTemplateHeadAndMiddle),t.push(this.globalRules.NoSpaceBeforeTemplateMiddleAndTail)),e.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?(t.push(this.globalRules.SpaceAfterOpenBraceInJsxExpression),t.push(this.globalRules.SpaceBeforeCloseBraceInJsxExpression)):(t.push(this.globalRules.NoSpaceAfterOpenBraceInJsxExpression),t.push(this.globalRules.NoSpaceBeforeCloseBraceInJsxExpression)),e.insertSpaceAfterSemicolonInForStatements?t.push(this.globalRules.SpaceAfterSemicolonInFor):t.push(this.globalRules.NoSpaceAfterSemicolonInFor),e.insertSpaceBeforeAndAfterBinaryOperators?(t.push(this.globalRules.SpaceBeforeBinaryOperator),t.push(this.globalRules.SpaceAfterBinaryOperator)):(t.push(this.globalRules.NoSpaceBeforeBinaryOperator),t.push(this.globalRules.NoSpaceAfterBinaryOperator)),e.placeOpenBraceOnNewLineForControlBlocks&&t.push(this.globalRules.NewLineBeforeOpenBraceInControl),e.placeOpenBraceOnNewLineForFunctions&&(t.push(this.globalRules.NewLineBeforeOpenBraceInFunction),t.push(this.globalRules.NewLineBeforeOpenBraceInTypeScriptDeclWithBlock)),e.insertSpaceAfterTypeAssertion?t.push(this.globalRules.SpaceAfterTypeAssertion):t.push(this.globalRules.NoSpaceAfterTypeAssertion),t=t.concat(this.globalRules.LowPriorityCommonRules)},n}();t.RulesProvider=n}(t=e.formatting||(e.formatting={}))}(ts||(ts={}));var ts;!function(e){var t;!function(t){function n(t,n,r,a){var i=n.getLineAndCharacterOfPosition(t).line;if(0===i)return[];for(var o=e.getEndLinePosition(i,n);e.isWhiteSpaceSingleLine(n.text.charCodeAt(o));)o--;e.isLineBreak(n.text.charCodeAt(o))&&o--;var s={pos:e.getStartPositionOfLine(i-1,n),end:o+1};return f(s,n,a,r,2)}function r(e,t,n,r){return s(e,24,t,r,n,3)}function a(e,t,n,r){return s(e,17,t,r,n,4)}function i(e,t,n){var r={pos:0,end:e.text.length};return f(r,e,n,t,0)}function o(t,n,r,a,i){var o={pos:e.getLineStartPositionForPosition(t,r),end:n};return f(o,r,i,a,1)}function s(t,n,r,a,i,o){var s=c(t,n,r);if(!s)return[];var u={pos:e.getLineStartPositionForPosition(s.getStart(r),r),end:s.end};return f(u,r,a,i,o)}function c(t,n,r){var a=e.findPrecedingToken(t,r);if(a&&a.kind===n&&t===a.getEnd()){for(var i=a;i&&i.parent&&i.parent.end===a.end&&!u(i.parent,i);)i=i.parent;return i}}function u(t,n){switch(t.kind){case 226:case 227:return e.rangeContainsRange(t.members,n);case 230:var r=t.body;return r&&231===r.kind&&e.rangeContainsRange(r.statements,n);case 261:case 204:case 231:return e.rangeContainsRange(t.statements,n);case 256:return e.rangeContainsRange(t.block.statements,n)}return!1}function _(t,n){function r(a){var i=e.forEachChild(a,function(r){return e.startEndContainsRange(r.getStart(n),r.end,t)&&r});if(i){var o=r(i);if(o)return o}return a}return r(n)}function l(t,n){function r(){return!1}if(!t.length)return r;var a=t.filter(function(t){return e.rangeOverlapsWithStartEnd(n,t.start,t.start+t.length)}).sort(function(e,t){return e.start-t.start});if(!a.length)return r;var i=0;return function(t){for(;;){if(i>=a.length)return!1;var n=a[i];if(t.end<=n.start)return!1;if(e.startEndOverlapsWithStartEnd(t.pos,t.end,n.start,n.start+n.length))return!0;i++}}}function d(t,n,r){var a=t.getStart(r);if(a===n.pos&&t.end===n.end)return a;var i=e.findPrecedingToken(n.pos,r);return i?i.end>=n.pos?t.pos:i.end:t.pos}function p(e,n,r){for(var a,i=-1;e;){var o=r.getLineAndCharacterOfPosition(e.getStart(r)).line;if(i!==-1&&o!==i)break;if(t.SmartIndenter.shouldIndentChildNode(e,a))return n.indentSize;i=o,a=e,e=e.parent}return 0}function f(n,r,a,i,o){function s(n,i,o,s,c){if(e.rangeOverlapsWithStartEnd(s,n,i)||e.rangeContainsStartEnd(s,n,i)){if(c!==-1)return c}else{var u=r.getLineAndCharacterOfPosition(n).line,_=e.getLineStartPositionForPosition(n,r),l=t.SmartIndenter.findFirstNonWhitespaceColumn(_,n,r,a);if(u!==o||n===l){var d=t.SmartIndenter.getBaseIndentation(a);return d>l?d:l}}return-1}function c(e,n,i,o,s,c){var u=i,_=t.SmartIndenter.shouldIndentChildNode(e)?a.indentSize:0;return c===n?(u=n===M?B:s.getIndentation(),_=Math.min(a.indentSize,s.getDelta(e)+_)):u===-1&&(u=t.SmartIndenter.childStartsOnTheSameLineWithElseInIfStatement(o,e,n,r)?s.getIndentation():s.getIndentation()+s.getDelta(e)),{indentation:u,delta:_}}function u(e){if(e.modifiers&&e.modifiers.length)return e.modifiers[0].kind;switch(e.kind){case 226:return 74;case 227:return 108;case 225:return 88;case 229:return 229;case 151:return 124;case 152:return 133;case 149:if(e.asteriskToken)return 38;case 147:case 144:return e.name.kind}}function f(e,n,r,i){function o(n,r){return t.SmartIndenter.nodeWillIndentChild(e,r,!0)?n:0}return{getIndentationForComment:function(e,t,n){switch(e){case 17:case 21:case 19:return r+o(i,n)}return t!==-1?t:r},getIndentationForToken:function(t,a,s){if(n!==t&&e.decorators&&a===u(e))return r;switch(a){case 16:case 17:case 20:case 21:case 18:case 19:case 81:case 105:case 56:return r;default:return n!==t?r+o(i,s):r}},getIndentation:function(){return r},getDelta:function(e){return o(i,e)},recomputeIndentation:function(n){e.parent&&t.SmartIndenter.shouldIndentChildNode(e.parent,e)&&(n?r+=a.indentSize:r-=a.indentSize,i=t.SmartIndenter.shouldIndentChildNode(e)?a.indentSize:0)}}}function v(t,a,i,o,u,_){function l(a,i,o,u,_,l,d,f){var m=a.getStart(r),g=r.getLineAndCharacterOfPosition(m).line,y=g;a.decorators&&(y=r.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(a,r)).line);var h=-1;if(d&&(h=s(m,a.end,_,n,i),h!==-1&&(i=h)),!e.rangeOverlapsWithStartEnd(n,a.pos,a.end))return a.endm)break;p(b,t,u)}if(!j.isOnToken())return i;if(e.isToken(a)&&10!==a.kind){var b=j.readTokenInfo(a);return e.Debug.assert(b.token.end===a.end,"Token end is child end"),p(b,t,u,a),i}var x=145===a.kind?g:l,D=c(a,g,h,t,u,x);return v(a,k,g,y,D.indentation,D.delta),k=t,f&&175===o.kind&&i===-1&&(i=D.indentation),i}function d(n,a,i,o){var s=m(a,n),u=g(s),_=o,d=i;if(0!==s)for(;j.isOnToken();){var y=j.readTokenInfo(a);if(y.token.end>n.pos)break;if(y.token.kind===s){d=r.getLineAndCharacterOfPosition(y.token.pos).line;var v=c(y.token,d,-1,a,o,i);_=f(a,i,v.indentation,v.delta),p(y,a,_)}else p(y,a,o)}for(var h=-1,b=0;bt.end)break;p(D,t,y)}}}function h(t,a,i,o){for(var s=0,c=t;s0){var S=y(D,a);P(b,k.character,S)}else w(b,k.character)}}}function E(t,n,a){for(var i=t;is)){var c=T(o,s);c!==-1&&(e.Debug.assert(c===o||!e.isWhiteSpaceSingleLine(r.text.charCodeAt(c-1))),w(c,s+1-c))}}}function T(t,n){for(var a=n;a>=t&&e.isWhiteSpaceSingleLine(r.text.charCodeAt(a));)a--;return a!==n?a+1:-1}function N(){var e=R?R.end:n.pos,t=r.getLineAndCharacterOfPosition(e).line,a=r.getLineAndCharacterOfPosition(n.end).line;E(t,a+1,R)}function A(t,n,r){return{span:e.createTextSpan(t,n),newText:r}}function w(e,t){t&&U.push(A(e,t,""))}function P(e,t,n){(t||n)&&U.push(A(e,t,n))}function F(e,t,n,i,o){switch(e.Operation.Action){case 1:return;case 8:t.end!==i.pos&&w(t.end,i.pos-t.end);break;case 4:if(1!==e.Flag&&n!==o)return;var s=o-n;1!==s&&P(t.end,i.pos-t.end,a.newLineCharacter);break;case 2:if(1!==e.Flag&&n!==o)return;var c=i.pos-t.end;1===c&&32===r.text.charCodeAt(t.end)||P(t.end,i.pos-t.end," ")}}var O,R,I,L,M,B,K=l(r.parseDiagnostics,n),J=new t.FormattingContext(r,o),z=_(n,r),j=t.getFormattingScanner(r,d(z,n,r),n.end),V=t.SmartIndenter.getIndentationForNode(z,n,r,a),U=[];if(j.advance(),j.isOnToken()){var q=r.getLineAndCharacterOfPosition(z.getStart(r)).line,W=q;z.decorators&&(W=r.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(z,r)).line);var H=p(z,a,r);v(z,z,q,W,V,H)}if(!j.isOnToken()){var G=j.getCurrentLeadingTrivia();G&&(h(G,z,z,void 0),N())}return j.close(),U}function m(e,t){switch(e.kind){case 150:case 225:case 184:case 149:case 148:case 185:if(e.typeParameters===t)return 26;if(e.parameters===t)return 18;break;case 179:case 180:if(e.typeArguments===t)return 26;if(e.arguments===t)return 18;break;case 157:if(e.typeArguments===t)return 26}return 0}function g(e){switch(e){case 18:return 19;case 26:return 28}return 0}function y(e,t){function n(e,t){for(var n="",r=0;rr.text.length)return a(o);if(o.indentStyle===e.IndentStyle.None)return 0;var c=e.findPrecedingToken(n,r);if(!c)return a(o);var l=e.isStringOrRegularExpressionOrTemplateLiteral(c.kind);if(l&&c.getStart(r)<=n&&c.end>n)return 0;var d=r.getLineAndCharacterOfPosition(n).line;if(o.indentStyle===e.IndentStyle.Block){for(var m=n;m>0;){var g=r.text.charCodeAt(m);if(!e.isWhiteSpace(g))break;m--}var y=e.getLineStartPositionForPosition(m,r);return t.findFirstNonWhitespaceColumn(y,m,r,o)}if(25===c.kind&&192!==c.parent.kind){var v=s(c,r,o);if(v!==-1)return v}for(var h,b,x,D=c;D;){if(e.positionBelongsToNode(D,n,r)&&k(D,h)){b=_(D,r),x=u(c,D,d,r)?0:d!==b.line?o.indentSize:0;break}var v=p(D,r,o);if(v!==-1)return v;if(v=f(D,r,o),v!==-1)return v+o.indentSize;h=D,D=D.parent}return D?i(D,b,void 0,x,r,o):a(o)}function r(e,t,n,r){var a=n.getLineAndCharacterOfPosition(e.getStart(n));return i(e,a,t,0,n,r)}function a(e){return e.baseIndentSize||0}function i(e,t,n,r,i,s){for(var u,_=e.parent;_;){var d=!0;if(n){var m=e.getStart(i);d=mn.end}if(d){var g=p(e,i,s);if(g!==-1)return g+r}u=o(_,e,i);var y=u.line===t.line||l(_,e,t.line,i);if(d){var g=c(e,_,t,y,i,s);if(g!==-1)return g+r;if(g=f(e,i,s),g!==-1)return g+r}k(_,e)&&!y&&(r+=s.indentSize),e=_,t=u,_=e.parent}return r+a(s)}function o(e,t,n){var r=d(t,n);return r?n.getLineAndCharacterOfPosition(r.pos):n.getLineAndCharacterOfPosition(e.getStart(n))}function s(t,n,r){var a=e.findListItemInfo(t);return a&&a.listItemIndex>0?m(a.list.getChildren(),a.listItemIndex-1,n,r):-1}function c(t,n,r,a,i,o){var s=(e.isDeclaration(t)||e.isStatementButNotDeclaration(t))&&(261===n.kind||!a);return s?g(r,i,o):-1}function u(t,n,r,a){var i=e.findNextToken(t,n);if(!i)return!1;if(16===i.kind)return!0;if(17===i.kind){var o=_(i,a).line;return r===o}return!1}function _(e,t){return t.getLineAndCharacterOfPosition(e.getStart(t))}function l(t,n,r,a){if(208===t.kind&&t.elseStatement===n){var i=e.findChildOfKind(t,81,a);e.Debug.assert(void 0!==i);var o=_(i,a).line;return o===r}return!1}function d(t,n){if(t.parent)switch(t.parent.kind){case 157:if(t.parent.typeArguments&&e.rangeContainsStartEnd(t.parent.typeArguments,t.getStart(n),t.getEnd()))return t.parent.typeArguments;break;case 176:return t.parent.properties;case 175:return t.parent.elements;case 225:case 184:case 185:case 149:case 148:case 153:case 154:var r=t.getStart(n);if(t.parent.typeParameters&&e.rangeContainsStartEnd(t.parent.typeParameters,r,t.getEnd()))return t.parent.typeParameters;if(e.rangeContainsStartEnd(t.parent.parameters,r,t.getEnd()))return t.parent.parameters;break;case 180:case 179:var r=t.getStart(n);if(t.parent.typeArguments&&e.rangeContainsStartEnd(t.parent.typeArguments,r,t.getEnd()))return t.parent.typeArguments;if(t.parent.arguments&&e.rangeContainsStartEnd(t.parent.arguments,r,t.getEnd()))return t.parent.arguments}}function p(t,n,r){function a(a){var i=e.indexOf(a,t);return i!==-1?m(a,i,n,r):-1}var i=d(t,n);return i?a(i):-1}function f(e,t,n){function r(e){for(;;)switch(e.kind){case 179:case 180:case 177:case 178:e=e.expression;break;default:return e}}if(19===e.kind)return-1;if(e.parent&&(179===e.parent.kind||180===e.parent.kind)&&e.parent.expression!==e){var a=e.parent.expression,i=r(a);if(a===i)return-1;var o=t.getLineAndCharacterOfPosition(a.end),s=t.getLineAndCharacterOfPosition(i.end);return o.line===s.line?-1:g(o,t,n)}return-1}function m(t,n,r,a){e.Debug.assert(n>=0&&n=0;s--)if(25!==t[s].kind){var c=r.getLineAndCharacterOfPosition(t[s].end).line;if(c!==o.line)return g(o,r,a);o=_(t[s],r)}return-1}function g(e,t,n){var r=t.getPositionOfLineAndCharacter(e.line,0);return v(r,r+e.character,t,n)}function y(t,n,r,a){for(var i=0,o=0,s=t;s0&&(r=r.concat(n))}),r}var i=e.createMap();t.registerCodeFix=n,t.getSupportedErrorCodes=r,t.getFixes=a}(t=e.codefix||(e.codefix={}))}(ts||(ts={}));var ts;!function(e){var t;!function(t){function n(e,t){return e.body.getFirstToken(t).getEnd()}t.registerCodeFix({errorCodes:[e.Diagnostics.Constructors_for_derived_classes_must_contain_a_super_call.code],getCodeActions:function(t){var r=t.sourceFile,a=e.getTokenAtPosition(r,t.span.start);if(122===a.kind){var i=n(a.parent,r);return[{description:e.getLocaleSpecificMessage(e.Diagnostics.Add_missing_super_call),changes:[{fileName:r.fileName,textChanges:[{newText:"super();",span:{start:i,length:0}}]}]}]}}}),t.registerCodeFix({errorCodes:[e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class.code],getCodeActions:function(t){function r(t){if(207===t.kind&&e.isSuperCall(t.expression))return t;if(!e.isFunctionLike(t))return e.forEachChild(t,r)}var a=t.sourceFile,i=e.getTokenAtPosition(a,t.span.start);if(98===i.kind){var o=e.getContainingFunction(i),s=r(o.body);if(s){if(s.expression&&179==s.expression.kind)for(var c=s.expression.arguments,u=0;u=141?new y(e,t,n):70===e?new k(70,t,n):new b(e,t,n);return a.parent=r,a}function n(){return{getNodeConstructor:function(){return y},getTokenConstructor:function(){return b},getIdentifierConstructor:function(){return k},getSourceFileConstructor:function(){return S},getSymbolConstructor:function(){return h},getTypeConstructor:function(){return x},getSignatureConstructor:function(){return D}}}function r(t){var n=!0;for(var r in t)if(e.hasProperty(t,r)&&!a(r)){n=!1;break}if(n)return t;var i={};for(var r in t)if(e.hasProperty(t,r)){var o=a(r)?r:r.charAt(0).toLowerCase()+r.substr(1);i[o]=t[r]}return i}function a(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function i(t){return t?e.map(t,function(e){return e.text}).join(""):""}function o(){return{target:1,jsx:1}}function s(){return e.codefix.getSupportedErrorCodes()}function c(e,t,n){e.version=n,e.scriptSnapshot=t}function u(t,n,r,a,i,o){var s=n.getText(0,n.getLength()),u=e.createSourceFile(t,s,r,i,o);return c(u,n,a),u}function _(t,n,r,a,i){if(a&&r!==t.version&&!e.disableIncrementalParsing){var o=void 0,s=0!==a.span.start?t.text.substr(0,a.span.start):"",_=e.textSpanEnd(a.span)!==t.text.length?t.text.substr(e.textSpanEnd(a.span)):"";if(0===a.newLength)o=s&&_?s+_:s||_;else{var l=n.getText(a.span.start,a.span.start+a.newLength);o=s&&_?s+l+_:s?s+l:l+_}var d=e.updateSourceFile(t,o,a,i);return c(d,n,r),d.nameTable=void 0,t!==d&&t.scriptSnapshot&&(t.scriptSnapshot.dispose&&t.scriptSnapshot.dispose(),t.scriptSnapshot=void 0),d}return u(t.fileName,n,t.languageVersion,r,!0,t.scriptKind)}function l(t,n){function a(e){t.log&&t.log(e)}function i(e){var t=re.getSourceFile(e);if(!t)throw new Error("Could not find file: '"+e+"'.");return t}function o(t){return ne||(ne=new e.formatting.RulesProvider),ne.ensureUpToDate(t),ne}function s(){function r(t){return i(t,e.toPath(t,ue,_e))}function i(t,r){e.Debug.assert(void 0!==_);var a=_.getOrCreateEntryByPath(t,r);if(a){if(!p){var i=re&&re.getSourceFileByPath(r);if(i)return e.Debug.assert(a.scriptKind===i.scriptKind,"Registered script kind ("+i.scriptKind+") should match new script kind ("+a.scriptKind+") for file: "+r),n.updateDocumentWithKey(t,r,d,m,a.scriptSnapshot,a.version,a.scriptKind)}return n.acquireDocumentWithKey(t,r,d,m,a.scriptSnapshot,a.version,a.scriptKind)}}function o(t){if(!t)return!1;var n=t.path||e.toPath(t.fileName,ue,_e);return t.version===_.getVersion(n)}function s(){if(!re)return!1;var t=_.getRootFileNames();if(re.getSourceFiles().length!==t.length)return!1;for(var n=0,r=t;n=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}s();var c=i(t);ce.throwIfCancellationRequested();var u=c.text,_=[];if(n.length>0)for(var l=a(),d=void 0;d=l.exec(u);){ce.throwIfCancellationRequested();var p=3;e.Debug.assert(d.length===n.length+p);var f=d[1],m=d.index+f.length,g=e.getTokenAtPosition(c,m);if(e.isInsideComment(c,g,m)){for(var y=void 0,v=0,h=n.length;v=141){e.scanner.setText((t||this.getSourceFile()).text),n=[];var a=this.pos,i=this.kind>=278&&this.kind<=291,o=function(t){var o=e.isJSDocTag(t);!o&&a=r.length&&(t=this.getEnd()),t||(t=r[n+1]-1);var a=this.getFullText();return"\n"===a[t]&&"\r"===a[t-1]?t-1:t},n.prototype.getNamedDeclarations=function(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations},n.prototype.computeNamedDeclarations=function(){function t(t){var n=r(t);n&&e.multiMapAdd(o,n,t)}function n(e){return o[e]||(o[e]=[])}function r(e){if(e.name){var t=a(e.name);if(void 0!==t)return t;if(142===e.name.kind){var n=e.name.expression;return 177===n.kind?n.name.text:a(n)}}}function a(e){if(e&&(70===e.kind||9===e.kind||8===e.kind))return e.text}function i(a){switch(a.kind){case 225:case 184:case 149:case 148:var o=a,s=r(o);if(s){var c=n(s),u=e.lastOrUndefined(c);u&&o.parent===u.parent&&o.symbol===u.symbol?o.body&&!u.body&&(c[c.length-1]=o):c.push(o),e.forEachChild(a,i)}break;case 226:case 197:case 227:case 228:case 229:case 230:case 234:case 243:case 239:case 234:case 236:case 237:case 151:case 152:case 161:t(a),e.forEachChild(a,i);break;case 144:if(!e.hasModifier(a,92))break;case 223:case 174:var _=a;if(e.isBindingPattern(_.name)){e.forEachChild(_.name,i);break}_.initializer&&i(_.initializer);case 260:case 147:case 146:t(a);break;case 241:a.exportClause&&e.forEach(a.exportClause.elements,i);break;case 235:var l=a.importClause;l&&(l.name&&t(l),l.namedBindings&&(237===l.namedBindings.kind?t(l.namedBindings):e.forEach(l.namedBindings.elements,i)));break;default:e.forEachChild(a,i)}}var o=e.createMap();return e.forEachChild(this,i),o},n}(y);e.toEditorSettings=r,e.displayPartsToString=i,e.getDefaultCompilerOptions=o,e.getSupportedCodeFixes=s;var C=function(){function t(t,n){this.host=t,this.getCanonicalFileName=n,this.currentDirectory=t.getCurrentDirectory(),this.fileNameToEntry=e.createFileMap();for(var r=t.getScriptFileNames(),a=0,i=r;a0?u(t.declarations[0]):void 0}function h(e){return e.initializer?v(e):e.condition?r(e.condition):e.incrementor?r(e.incrementor):void 0}function b(t){var n=e.forEach(t.elements,function(e){return 198!==e.kind?e:void 0});return n?u(n):174===t.parent.kind?r(t.parent):_(t.parent)}function k(t){e.Debug.assert(173!==t.kind&&172!==t.kind);var n=175===t.kind?t.elements:t.properties,a=e.forEach(n,function(e){return 198!==e.kind?e:void 0});return a?u(a):r(192===t.parent.kind?t.parent:t)}function x(n){switch(n.parent.kind){case 229:var r=n.parent;return i(e.findPrecedingToken(n.pos,t,n.parent),r.members.length?r.members[0]:r.getLastToken(t));case 226:var a=n.parent;return i(e.findPrecedingToken(n.pos,t,n.parent),a.members.length?a.members[0]:a.getLastToken(t));case 232:return i(n.parent.parent,n.parent.clauses[0])}return u(n.parent)}function D(t){switch(t.parent.kind){case 231:if(1!==e.getModuleInstanceState(t.parent.parent))return;case 229:case 226:return r(t);case 204:if(e.isFunctionBlock(t.parent))return r(t);case 256:return u(e.lastOrUndefined(t.parent.statements));case 232:var n=t.parent,a=e.lastOrUndefined(n.clauses);if(a)return u(e.lastOrUndefined(a.statements));return;case 172:var i=t.parent;return u(e.lastOrUndefined(i.elements)||i);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var o=t.parent;return r(e.lastOrUndefined(o.properties)||o)}return u(t.parent)}}function S(t){switch(t.parent.kind){case 173:var n=t.parent;return r(e.lastOrUndefined(n.elements)||n);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var a=t.parent;return r(e.lastOrUndefined(a.elements)||a)}return u(t.parent)}}function C(e){return 209===e.parent.kind||179===e.parent.kind||180===e.parent.kind?s(e):183===e.parent.kind?c(e):u(e.parent)}function E(e){switch(e.parent.kind){case 184:case 225:case 185:case 149:case 148:case 151:case 152:case 150:case 210:case 209:case 211:case 213:case 179:case 180:case 183:return s(e);default:return u(e.parent)}}function T(t){return e.isFunctionLike(t.parent)||257===t.parent.kind||144===t.parent.kind?s(t):u(t.parent)}function N(e){return 182===e.parent.kind?c(e):u(e.parent)}function A(e){return 209===e.parent.kind?a(e,e.parent.expression):u(e.parent)}function w(e){return 213===e.parent.kind?c(e):u(e.parent)}if(n)switch(n.kind){case 205:return l(n.declarationList.declarations[0]);case 223:case 147:case 146:return l(n);case 144:return p(n);case 225:case 149:case 148:case 151:case 152:case 150:case 184:case 185:return m(n);case 204:if(e.isFunctionBlock(n))return g(n);case 231:return y(n);case 256:return y(n.block);case 207:return r(n.expression);case 216:return r(n.getChildAt(0),n.expression);case 210:return a(n,n.expression);case 209:return u(n.statement);case 222:return r(n.getChildAt(0));case 208:return a(n,n.expression);case 219:return u(n.statement);case 215:case 214:return r(n.getChildAt(0),n.label);case 211:return h(n);case 212:return a(n,n.expression);case 213:return v(n);case 218:return a(n,n.expression);case 253:case 254:return u(n.statements[0]);case 221:return y(n.tryBlock);case 220:return r(n,n.expression);case 240:return r(n,n.expression);case 234:return r(n,n.moduleReference);case 235:return r(n,n.moduleSpecifier);case 241:return r(n,n.moduleSpecifier);case 230:if(1!==e.getModuleInstanceState(n))return;case 226:case 229:case 260:case 174:return r(n);case 217:return u(n.statement);case 145:return o(n.parent.decorators);case 172:case 173:return b(n);case 227:case 228:return;case 24:case 1:return i(e.findPrecedingToken(n.pos,t));case 25:return s(n);case 16:return x(n);case 17:return D(n);case 21:return S(n);case 18:return C(n);case 19:return E(n);case 55:return T(n);case 28:case 26:return N(n);case 105:return A(n);case 81:case 73:case 86:return c(n);case 140:return w(n);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(n))return k(n);if((70===n.kind||196==n.kind||257===n.kind||258===n.kind)&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.parent))return r(n);if(192===n.kind){var P=n;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(P.left))return k(P.left);if(57===P.operatorToken.kind&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(P.parent))return r(n);if(25===P.operatorToken.kind)return u(P.left)}if(e.isPartOfExpression(n))switch(n.parent.kind){case 209:return s(n);case 145:return u(n.parent);case 211:case 213:return r(n);case 192:if(25===n.parent.operatorToken.kind)return r(n);break;case 185:if(n.parent.body===n)return r(n)}if(257===n.parent.kind&&n.parent.name===n&&!e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.parent.parent))return u(n.parent.initializer);if(182===n.parent.kind&&n.parent.type===n)return c(n.parent.type);if(e.isFunctionLike(n.parent)&&n.parent.type===n)return s(n);if(223===n.parent.kind||144===n.parent.kind){var F=n.parent;if(F.initializer===n||F.type===n||e.isAssignmentOperator(n.kind))return s(n)}if(192===n.parent.kind){var P=n.parent;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(P.left)&&(P.right===n||P.operatorToken===n))return s(n)}return u(n.parent)}}if(!t.isDeclarationFile){var _=e.getTokenAtPosition(t,n),l=t.getLineAndCharacterOfPosition(n).line;if((!(t.getLineAndCharacterOfPosition(_.getStart(t)).line>l)||(_=e.findPrecedingToken(_.pos,t),_&&t.getLineAndCharacterOfPosition(_.getEnd()).line===l))&&!e.isInAmbientContext(_))return u(_)}}t.spanInSourceFileAtLocation=n}(t=e.BreakpointResolver||(e.BreakpointResolver={}))}(ts||(ts={}));var debugObjectHost=function(){return this}(),ts;!function(e){function t(e,t){e&&e.log("*INTERNAL ERROR* - Exception in typescript services: "+t.message)}function n(t,n,r,a){var i;a&&(t.log(n),i=e.timestamp());var o=r();if(a){var s=e.timestamp();if(t.log(n+" completed in "+(s-i)+" msec"),"string"==typeof o){var c=o;c.length>128&&(c=c.substring(0,128)+"..."),t.log(" result.length="+c.length+", result='"+JSON.stringify(c)+"'")}}return o}function r(e,t,n,r){return a(e,t,!0,n,r)}function a(r,a,i,o,s){try{var c=n(r,a,o,s);return i?JSON.stringify({result:c}):c}catch(n){return n instanceof e.OperationCanceledException?JSON.stringify({canceled:!0}):(t(r,n),n.description=a,JSON.stringify({error:n}))}}function i(e,t){return e.map(function(e){return o(e,t)})}function o(t,n){return{message:e.flattenDiagnosticMessageText(t.messageText,n),start:t.start,length:t.length,category:e.DiagnosticCategory[t.category].toLowerCase(),code:t.code}}function s(e){return{spans:e.spans.join(","),endOfLineState:e.endOfLineState}}var c=function(){function t(e){this.scriptSnapshotShim=e}return t.prototype.getText=function(e,t){return this.scriptSnapshotShim.getText(e,t)},t.prototype.getLength=function(){return this.scriptSnapshotShim.getLength()},t.prototype.getChangeRange=function(t){var n=t,r=this.scriptSnapshotShim.getChangeRange(n.scriptSnapshotShim);if(null==r)return null;var a=JSON.parse(r);return e.createTextChangeRange(e.createTextSpan(a.span.start,a.span.length),a.newLength)},t.prototype.dispose=function(){"dispose"in this.scriptSnapshotShim&&this.scriptSnapshotShim.dispose()},t}(),u=function(){function t(t){var n=this;this.shimHost=t,this.loggingEnabled=!1,this.tracingEnabled=!1,"getModuleResolutionsForFile"in this.shimHost&&(this.resolveModuleNames=function(t,r){var a=JSON.parse(n.shimHost.getModuleResolutionsForFile(r));return e.map(t,function(t){var n=e.getProperty(a,t);return n?{resolvedFileName:n,extension:e.extensionFromPath(n),isExternalLibraryImport:!1}:void 0})}),"directoryExists"in this.shimHost&&(this.directoryExists=function(e){return n.shimHost.directoryExists(e)}),"getTypeReferenceDirectiveResolutionsForFile"in this.shimHost&&(this.resolveTypeReferenceDirectives=function(t,r){var a=JSON.parse(n.shimHost.getTypeReferenceDirectiveResolutionsForFile(r));return e.map(t,function(t){return e.getProperty(a,t)})})}return t.prototype.log=function(e){this.loggingEnabled&&this.shimHost.log(e)},t.prototype.trace=function(e){this.tracingEnabled&&this.shimHost.trace(e)},t.prototype.error=function(e){this.shimHost.error(e)},t.prototype.getProjectVersion=function(){if(this.shimHost.getProjectVersion)return this.shimHost.getProjectVersion()},t.prototype.getTypeRootsVersion=function(){return this.shimHost.getTypeRootsVersion?this.shimHost.getTypeRootsVersion():0},t.prototype.useCaseSensitiveFileNames=function(){return!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames()},t.prototype.getCompilationSettings=function(){var e=this.shimHost.getCompilationSettings();if(null==e||""==e)throw Error("LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings");return JSON.parse(e)},t.prototype.getScriptFileNames=function(){var e=this.shimHost.getScriptFileNames();return this.files=JSON.parse(e)},t.prototype.getScriptSnapshot=function(e){var t=this.shimHost.getScriptSnapshot(e);return t&&new c(t)},t.prototype.getScriptKind=function(e){return"getScriptKind"in this.shimHost?this.shimHost.getScriptKind(e):0},t.prototype.getScriptVersion=function(e){return this.shimHost.getScriptVersion(e)},t.prototype.getLocalizedDiagnosticMessages=function(){var e=this.shimHost.getLocalizedDiagnosticMessages();if(null==e||""==e)return null;try{return JSON.parse(e)}catch(e){return this.log(e.description||"diagnosticMessages.generated.json has invalid JSON format"),null}},t.prototype.getCancellationToken=function(){var e=this.shimHost.getCancellationToken();return new _(e)},t.prototype.getCurrentDirectory=function(){return this.shimHost.getCurrentDirectory()},t.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))},t.prototype.getDefaultLibFileName=function(e){return this.shimHost.getDefaultLibFileName(JSON.stringify(e))},t.prototype.readDirectory=function(t,n,r,a,i){var o=e.getFileMatcherPatterns(t,r,a,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(t,JSON.stringify(n),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,i))},t.prototype.readFile=function(e,t){return this.shimHost.readFile(e,t)},t.prototype.fileExists=function(e){return this.shimHost.fileExists(e)},t}();e.LanguageServiceShimHostAdapter=u;var _=function(){function t(e){this.hostCancellationToken=e,this.lastCancellationCheckTime=0}return t.prototype.isCancellationRequested=function(){var t=e.timestamp(),n=Math.abs(t-this.lastCancellationCheckTime);return n>10&&(this.lastCancellationCheckTime=t,this.hostCancellationToken.isCancellationRequested())},t}(),l=function(){function t(e){var t=this;this.shimHost=e,this.useCaseSensitiveFileNames=!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames(),"directoryExists"in this.shimHost&&(this.directoryExists=function(e){return t.shimHost.directoryExists(e)}),"realpath"in this.shimHost&&(this.realpath=function(e){return t.shimHost.realpath(e)})}return t.prototype.readDirectory=function(t,n,r,a,i){try{var o=e.getFileMatcherPatterns(t,r,a,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(t,JSON.stringify(n),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,i))}catch(a){for(var s=[],c=0,u=n;c