/* Minification failed. Returning unminified contents.
(29,16942-16949): run-time error JS1019: Can't have 'break' outside of loop: break t
(7,162520-162527): run-time error JS1019: Can't have 'break' outside of loop: break n
*/
/**
* @version : 16.6.1 - Bridge.NET
* @author : Object.NET, Inc. http://bridge.net/
* @copyright : Copyright 2008-2018 Object.NET, Inc. http://object.net/
* @license : See license.txt and https://github.com/bridgedotnet/Bridge/blob/master/LICENSE.md
*/
(function (n) { "use strict"; var nt, at, e, h, vt, k, yt, t; typeof module != "undefined" && module.exports && (n = global); nt = { global: n, isNode: Object.prototype.toString.call(typeof process != "undefined" ? process : 0) === "[object process]", emptyFn: function () { }, identity: function (n) { return n }, geti: function (n, t, i) { if (Bridge.hasValue(n[t])) return t; if (i && Bridge.hasValue(n[i])) return i; var r = i || t, u = r.lastIndexOf("$"); return /\$\d+$/g.test(r) && (u = r.lastIndexOf("$", u - 1)), r.substr(u + 1) }, box: function (n, t, i, r) { return n && n.$boxed ? n : n == null ? n : (n.$clone && (n = n.$clone()), { $boxed: !0, fn: { toString: i, getHashCode: r }, v: n, type: t, constructor: t, getHashCode: function () { return this.fn.getHashCode ? this.fn.getHashCode(this.v) : Bridge.getHashCode(this.v) }, equals: function (n) { var i = this.equals, t; return this.equals = null, t = Bridge.equals(this.v, n), this.equals = i, t }, valueOf: function () { return this.v }, toString: function () { return this.fn.toString ? this.fn.toString(this.v) : this.v.toString() } }) }, unbox: function (n, t) { var r, u, i; if (n && n.$boxed) return r = n.v, !t && r && r.$clone && (r = r.$clone()), r; if (Bridge.isArray(n)) for (u = 0; u < n.length; u++)i = n[u], i && i.$boxed ? (i = i.v, i.$clone && (i = i.$clone())) : !t && i && i.$clone && (i = i.$clone()), n[u] = i; return n && !t && n.$clone && (n = n.$clone()), n }, virtualc: function (n) { return Bridge.virtual(n, !0) }, virtual: function (n, t) { var i = Bridge.unroll(n), r; return i && Bridge.isFunction(i) || (r = Bridge.Class.staticInitAllow, i = t ? Bridge.define(n) : Bridge.definei(n), Bridge.Class.staticInitAllow = !0, i.$staticInit && i.$staticInit(), Bridge.Class.staticInitAllow = r), i }, safe: function (n) { try { return n() } catch (t) { } return !1 }, literal: function (n, t) { return t.$getType = function () { return n }, t }, isJSObject: function (n) { return Object.prototype.toString.call(n) === "[object Object]" }, isPlainObject: function (n) { if (typeof n == "object" && n !== null) { if (typeof Object.getPrototypeOf == "function") { var t = Object.getPrototypeOf(n); return t === Object.prototype || t === null } return Object.prototype.toString.call(n) === "[object Object]" } return !1 }, toPlain: function (n) { var i, t, r, u, f; if (!n || Bridge.isPlainObject(n) || typeof n != "object") return n; if (typeof n.toJSON == "function") return n.toJSON(); if (Bridge.isArray(n)) { for (i = [], t = 0; t < n.length; t++)i.push(Bridge.toPlain(n[t])); return i } r = {}; for (f in n) u = n[f], Bridge.isFunction(u) || (r[f] = u); return r }, ref: function (n, t) { Bridge.isArray(t) && (t = System.Array.toIndex(n, t)); var i = {}; return Object.defineProperty(i, "v", { get: function () { return t == null ? n : n[t] }, set: function (i) { t == null && (i && i.$clone ? i.$clone(n) : n = i); n[t] = i } }), i }, ensureBaseProperty: function (n, t) { var f = Bridge.getType(n), e = f.$descriptors || [], r, i, u, o; if (n.$propMap = n.$propMap || {}, n.$propMap[t]) return n; for (r = 0; r < e.length; r++)i = e[r], i.name === t && (u = {}, o = "$" + Bridge.getTypeAlias(i.cls) + "$" + t, i.get && (u.get = i.get), i.set && (u.set = i.set), Bridge.property(n, o, u, !1, f, !0)); return n.$propMap[t] = !0, n }, property: function (n, t, i, r, u, f) { var e = { enumerable: f ? !1 : !0, configurable: !0 }, o; return i && i.get && (e.get = i.get), i && i.set && (e.set = i.set), i && (i.get || i.set) || (o = Bridge.getTypeAlias(u) + "$" + t, u.$init = u.$init || {}, r && (u.$init[o] = i), function (n, t, i, r) { n.get = function () { var n = this.$init[i]; return n === undefined ? r : n }; n.set = function (n) { this.$init[i] = n } }(e, n, o, i)), Object.defineProperty(n, t, e), e }, event: function (n, t, i, r) { n[t] = i; var s = t.charAt(0) === "$", f = s ? t.slice(1) : t, e = "add" + f, o = "remove" + f, u = t.lastIndexOf("$"), h = u > 0 && t.length - u - 1 > 0 && !isNaN(parseInt(t.substr(u + 1))); h && (u = t.substring(0, u - 1).lastIndexOf("$")); u > 0 && u !== t.length - 1 && (e = t.substring(0, u) + "add" + t.substr(u + 1), o = t.substring(0, u) + "remove" + t.substr(u + 1)); n[e] = function (n, t, i) { return i ? function (i) { t[n] = Bridge.fn.combine(t[n], i) } : function (t) { this[n] = Bridge.fn.combine(this[n], t) } }(t, n, r); n[o] = function (n, t, i) { return i ? function (i) { t[n] = Bridge.fn.remove(t[n], i) } : function (t) { this[n] = Bridge.fn.remove(this[n], t) } }(t, n, r) }, createInstance: function (n, t) { return n === System.Decimal ? System.Decimal.Zero : n === System.Int64 ? System.Int64.Zero : n === System.UInt64 ? System.UInt64.Zero : n === System.Double || n === System.Single || n === System.Byte || n === System.SByte || n === System.Int16 || n === System.UInt16 || n === System.Int32 || n === System.UInt32 || n === Bridge.Int ? 0 : typeof n.createInstance == "function" ? n.createInstance() : typeof n.getDefaultValue == "function" ? n.getDefaultValue() : n === Boolean || n === System.Boolean ? !1 : n === System.DateTime ? System.DateTime.getDefaultValue() : n === Date ? new Date : n === Number ? 0 : n === String || n === System.String ? "" : n && n.$literal ? n.ctor() : t && t.length > 0 ? Bridge.Reflection.applyConstructor(n, t) : new n }, clone: function (n) { if (n == null) return n; if (Bridge.isArray(n)) return System.Array.clone(n); if (Bridge.isString(n)) return n; var t; return Bridge.isFunction(Bridge.getProperty(n, t = "System$ICloneable$clone")) ? n[t]() : Bridge.is(n, System.ICloneable) ? n.clone() : Bridge.isFunction(n.$clone) ? n.$clone() : null }, copy: function (n, t, i, r) { typeof i == "string" && (i = i.split(/[,;\s]+/)); for (var u, f = 0, e = i ? i.length : 0; f < e; f++)u = i[f], (r !== !0 || n[u] == undefined) && (n[u] = Bridge.is(t[u], System.ICloneable) ? Bridge.clone(t[u]) : t[u]); return n }, get: function (n) { return n && n.$staticInit !== null && n.$staticInit(), n }, ns: function (n, t) { var r = n.split("."), i = 0; for (t || (t = Bridge.global), i = 0; i < r.length; i++)typeof t[r[i]] == "undefined" && (t[r[i]] = {}), t = t[r[i]]; return t }, ready: function (n, t) { var i = function () { t ? n.apply(t) : n() }; if (typeof Bridge.global.jQuery != "undefined") Bridge.global.jQuery(i); else if (typeof Bridge.global.document == "undefined" || Bridge.global.document.readyState === "complete" || Bridge.global.document.readyState === "loaded" || Bridge.global.document.readyState === "interactive") i(); else Bridge.on("DOMContentLoaded", Bridge.global.document, i) }, on: function (n, t, i, r) { var u = function (n) { var t = i.apply(r || this, arguments); return t === !1 && (n.stopPropagation(), n.preventDefault()), t }, f = function () { var n = i.call(r || t, Bridge.global.event); return n === !1 && (Bridge.global.event.returnValue = !1, Bridge.global.event.cancelBubble = !0), n }; t.addEventListener ? t.addEventListener(n, u, !1) : t.attachEvent("on" + n, f) }, addHash: function (n, t, i) { if (isNaN(t) && (t = 17), isNaN(i) && (i = 23), Bridge.isArray(n)) { for (var r = 0; r < n.length; r++)t = t + ((t * i | 0) + (n[r] == null ? 0 : Bridge.getHashCode(n[r]))) | 0; return t } return t + ((t * i | 0) + (n == null ? 0 : Bridge.getHashCode(n))) | 0 }, getHashCode: function (n, t, i) { var o, u, f, r, s, e; if (n && n.$boxed && n.type.getHashCode) return n.type.getHashCode(Bridge.unbox(n, !0)); if (n = Bridge.unbox(n, !0), Bridge.isEmpty(n, !0)) { if (t) return 0; throw new System.InvalidOperationException("HashCode cannot be calculated for empty value"); } if (i !== !1 && n.hasOwnProperty("item1") && Bridge.isPlainObject(n) && (i = !0), n.getHashCode && Bridge.isFunction(n.getHashCode) && !n.__insideHashCode && n.getHashCode.length === 0) return n.__insideHashCode = !0, o = n.getHashCode(), delete n.__insideHashCode, o; if (Bridge.isBoolean(n)) return n ? 1 : 0; if (Bridge.isDate(n)) return n.valueOf() & 4294967295; if (n === Number.POSITIVE_INFINITY) return 2146435072; if (n === Number.NEGATIVE_INFINITY) return 4293918720; if (Bridge.isNumber(n)) { if (Math.floor(n) === n) return n; n = n.toExponential() } if (Bridge.isString(n)) { for (u = 0, f = 0; f < n.length; f++)u = (u << 5) - u + n.charCodeAt(f) & 4294967295; return u } if (n.$$hashCode) return n.$$hashCode; if (i && typeof n == "object") { r = 0; for (e in n) n.hasOwnProperty(e) && (s = Bridge.isEmpty(n[e], !0) ? 0 : Bridge.getHashCode(n[e]), r = 29 * r + s); if (r !== 0) return n.$$hashCode = r, r } return n.$$hashCode = Math.random() * 4294967296 | 0, n.$$hashCode }, getDefaultValue: function (n) { if (n == null) throw new System.ArgumentNullException("type"); else { if (n.getDefaultValue && n.getDefaultValue.length === 0) return n.getDefaultValue(); if (Bridge.Reflection.isEnum(n)) return System.Enum.parse(n, 0); if (n === Boolean || n === System.Boolean) return !1; if (n === System.DateTime) return System.DateTime.getDefaultValue(); if (n === Date) return new Date; if (n === Number) return 0 } return null }, $$aliasCache: [], getTypeAlias: function (n) { var t, i, r, u; return n.$$alias ? n.$$alias : (t = n.$$name || typeof n == "function" ? n : Bridge.getType(n), t.$$alias) ? t.$$alias : (i = Bridge.$$aliasCache[t], i) ? i : t.$isArray ? (r = Bridge.getTypeAlias(t.$elementType), i = r + "$Array" + (t.$rank > 1 ? "$" + t.$rank : ""), t.$$name ? t.$$alias = i : Bridge.$$aliasCache[t] = i, i) : (u = n.$$name || Bridge.getTypeName(n), i = u.replace(/[\.\(\)\,]/g, "$"), t.$$name ? t.$$alias = i : Bridge.$$aliasCache[t] = i, i) }, getTypeName: function (n) { return Bridge.Reflection.getTypeFullName(n) }, hasValue: function (n) { return Bridge.unbox(n, !0) != null }, hasValue$1: function () { if (arguments.length === 0) return !1; var n = 0; for (n; n < arguments.length; n++)if (Bridge.unbox(arguments[n], !0) == null) return !1; return !0 }, isObject: function (n) { return n === Object || n === System.Object }, is: function (n, t, i, r) { var f, u, e, o, s; if (n == null) return !!r; if (t === System.Object && (t = Object), f = typeof t, f === "boolean") return t; if (n.$boxed) { if (n.type.$kind === "enum" && (n.type.prototype.$utype === t || t === System.Enum || t === System.IFormattable || t === System.IComparable)) return !0; if (t.$kind !== "interface" && !t.$nullable) return n.type === t || Bridge.isObject(t); if (i !== !0 && t.$is) return t.$is(Bridge.unbox(n, !0)); if (Bridge.Reflection.isAssignableFrom(t, n.type)) return !0; n = Bridge.unbox(n, !0) } if (u = n.constructor === Object && n.$getType ? n.$getType() : Bridge.Reflection.convertType(n.constructor), t.constructor === Function && n instanceof t || u === t || Bridge.isObject(t)) return !0; if (e = u.$kind || u.$$inherits, o = t.$kind, e || o) { if (s = t.$isInterface, s) { if (e) return u.$isArrayEnumerator ? System.Array.is(n, t) : t.isAssignableFrom ? t.isAssignableFrom(u) : Bridge.Reflection.getInterfaces(u).indexOf(t) >= 0; if (Bridge.isArray(n, u)) return System.Array.is(n, t) } return i !== !0 && t.$is ? t.$is(n) : t.$literal && Bridge.isPlainObject(n) ? n.$getType ? Bridge.Reflection.isAssignableFrom(t, n.$getType()) : !0 : !1 } if (f === "string" && (t = Bridge.unroll(t)), f === "function" && Bridge.getType(n).prototype instanceof t) return !0; if (i !== !0) { if (typeof t.$is == "function") return t.$is(n); if (typeof t.isAssignableFrom == "function") return t.isAssignableFrom(Bridge.getType(n)) } return Bridge.isArray(n) ? System.Array.is(n, t) : f === "object" && (u === t || n instanceof t) }, as: function (n, t, i) { return Bridge.is(n, t, !1, i) ? n != null && n.$boxed && t !== Object && t !== System.Object ? n.v : n : null }, cast: function (n, t, i) { if (n == null) return n; var r = Bridge.is(n, t, !1, i) ? n : null; if (r === null) throw new System.InvalidCastException("Unable to cast type " + (n ? Bridge.getTypeName(n) : "'null'") + " to type " + Bridge.getTypeName(t)); return n.$boxed && t !== Object && t !== System.Object ? n.v : r }, apply: function (n, t, i) { for (var f = Bridge.getPropertyNames(t, !0), r, u = 0; u < f.length; u++)r = f[u], typeof n[r] == "function" && typeof t[r] != "function" ? n[r](t[r]) : n[r] = t[r]; return i && i.call(n, n), n }, copyProperties: function (n, t) { for (var u = Bridge.getPropertyNames(t, !1), r = 0; r < u.length; r++) { var i = u[r], e = t.hasOwnProperty(i), f = i.split("$").length; e && (f === 1 || f === 2 && i.match("$d+$")) && (n[i] = t[i]) } return n }, merge: function (n, t, i, r) { var u, f, p, w, o, y, h, a, e, c, l, s, v; if (n == null) return t; if (n instanceof System.Decimal && typeof t == "number") return new System.Decimal(t); if (n instanceof System.Int64 && Bridge.isNumber(t)) return new System.Int64(t); if (n instanceof System.UInt64 && Bridge.isNumber(t)) return new System.UInt64(t); if (n instanceof Boolean || Bridge.isBoolean(n) || typeof n == "number" || n instanceof String || Bridge.isString(n) || n instanceof Function || Bridge.isFunction(n) || n instanceof Date || Bridge.isDate(n) || Bridge.getType(n).$number) return t; if (Bridge.isArray(t) && Bridge.isFunction(n.add || n.push)) for (w = Bridge.isArray(n) ? n.push : n.add, e = 0; e < t.length; e++)o = t[e], Bridge.isArray(o) || (o = [typeof r == "undefined" ? o : Bridge.merge(r(), o)]), w.apply(n, o); else if (y = Bridge.getType(n), h = y && y.$descriptors, t) for (u in t) { if (f = t[u], a = null, h) for (e = h.length - 1; e >= 0; e--)if (h[e].name === u) { a = h[e]; break } if (a != null) a.set ? n[u] = Bridge.merge(n[u], f) : Bridge.merge(n[u], f); else if (typeof n[u] == "function") u.match(/^\s*get[A-Z]/) ? Bridge.merge(n[u](), f) : n[u](f); else if (c = "set" + u.charAt(0).toUpperCase() + u.slice(1), l = "set" + u, typeof n[c] == "function" && typeof f != "function") s = "g" + c.slice(1), typeof n[s] == "function" ? n[c](Bridge.merge(n[s](), f)) : n[c](f); else if (typeof n[l] == "function" && typeof f != "function") s = "g" + l.slice(1), typeof n[s] == "function" ? n[l](Bridge.merge(n[s](), f)) : n[l](f); else if (f && f.constructor === Object && n[u]) p = n[u], Bridge.merge(p, f); else { if (v = Bridge.isNumber(t), n[u] instanceof System.Decimal && v) return new System.Decimal(t); if (n[u] instanceof System.Int64 && v) return new System.Int64(t); if (n[u] instanceof System.UInt64 && v) return new System.UInt64(t); n[u] = f } } else return i && i.call(n, n), t; return i && i.call(n, n), n }, getEnumerator: function (n, t, i) { if (typeof n == "string" && (n = System.String.toCharArray(n)), arguments.length === 2 && Bridge.isFunction(t) && (i = t, t = null), t && n && n[t]) return n[t].call(n); if (!i && n && n.getEnumerator) return n.getEnumerator(); var r; if (i && Bridge.isFunction(Bridge.getProperty(n, r = "System$Collections$Generic$IEnumerable$1$" + Bridge.getTypeAlias(i) + "$getEnumerator")) || i && Bridge.isFunction(Bridge.getProperty(n, r = "System$Collections$Generic$IEnumerable$1$getEnumerator")) || Bridge.isFunction(Bridge.getProperty(n, r = "System$Collections$IEnumerable$getEnumerator"))) return n[r](); if (i && n && n.getEnumerator) return n.getEnumerator(); if (Object.prototype.toString.call(n) === "[object Array]" || n && Bridge.isDefined(n.length)) return new Bridge.ArrayEnumerator(n, i); throw new System.InvalidOperationException("Cannot create enumerator"); }, getPropertyNames: function (n, t) { var i = []; for (var r in n) (t || typeof n[r] != "function") && i.push(r); return i }, getProperty: function (n, t) { return Bridge.isHtmlAttributeCollection(n) && !this.isValidHtmlAttributeName(t) ? undefined : n[t] }, isValidHtmlAttributeName: function (n) { if (!n || !n.length) return !1; return /^[a-zA-Z_][\w\-]*$/.test(n) }, isHtmlAttributeCollection: function (n) { return typeof n != "undefined" && Object.prototype.toString.call(n) === "[object NamedNodeMap]" }, isDefined: function (n, t) { return typeof n != "undefined" && (t ? n !== null : !0) }, isEmpty: function (n, t) { return typeof n == "undefined" || n === null || (t ? !1 : n === "") || (!t && Bridge.isArray(n) ? n.length === 0 : !1) }, toArray: function (n) { var t, r, u, i = []; if (Bridge.isArray(n)) for (t = 0, u = n.length; t < u; ++t)i.push(n[t]); else for (t = Bridge.getEnumerator(n); t.moveNext();)r = t.Current, i.push(r); return i }, toList: function (n, t) { return new (System.Collections.Generic.List$1(t || System.Object).$ctor1)(n) }, arrayTypes: [n.Array, n.Uint8Array, n.Int8Array, n.Int16Array, n.Uint16Array, n.Int32Array, n.Uint32Array, n.Float32Array, n.Float64Array, n.Uint8ClampedArray], isArray: function (n, t) { var i = t || (n != null ? n.constructor : null); return i ? Bridge.arrayTypes.indexOf(i) >= 0 || i.$isArray || Array.isArray(n) : !1 }, isFunction: function (n) { return typeof n == "function" }, isDate: function (n) { return n instanceof Date }, isNull: function (n) { return n === null || n === undefined }, isBoolean: function (n) { return typeof n == "boolean" }, isNumber: function (n) { return typeof n == "number" && isFinite(n) }, isString: function (n) { return typeof n == "string" }, unroll: function (n) { var r = n.split("."), t = Bridge.global[r[0]], i = 1; for (i; i < r.length; i++) { if (!t) return null; t = t[r[i]] } return t }, referenceEquals: function (n, t) { return Bridge.hasValue(n) ? n === t : !Bridge.hasValue(t) }, staticEquals: function (n, t) { return Bridge.hasValue(n) ? Bridge.hasValue(t) ? Bridge.equals(n, t) : !1 : !Bridge.hasValue(t) }, equals: function (n, t) { var i, r, u; return n == null && t == null ? !0 : (i = Bridge.$equalsGuard[Bridge.$equalsGuard.length - 1], i && i.a === n && i.b === t) ? n === t : (Bridge.$equalsGuard.push({ a: n, b: t }), r = function (n, t) { if (n && n.$boxed && n.type.equals && n.type.equals.length === 2) return n.type.equals(n, t); if (t && t.$boxed && t.type.equals && t.type.equals.length === 2) return t.type.equals(t, n); if (n && Bridge.isFunction(n.equals) && n.equals.length === 1) return n.equals(t); if (t && Bridge.isFunction(t.equals) && t.equals.length === 1) return t.equals(n); if (Bridge.isFunction(n) && Bridge.isFunction(t)) return Bridge.fn.equals.call(n, t); if (Bridge.isDate(n) && Bridge.isDate(t)) return n.kind !== undefined && n.ticks !== undefined && t.kind !== undefined && t.ticks !== undefined ? n.ticks.equals(t.ticks) : n.valueOf() === t.valueOf(); if (Bridge.isNull(n) && Bridge.isNull(t)) return !0; if (Bridge.isNull(n) !== Bridge.isNull(t)) return !1; var i = n === t; return !i && typeof n == "object" && typeof t == "object" && n !== null && t !== null && n.$kind === "struct" && t.$kind === "struct" && n.$$name === t.$$name ? Bridge.getHashCode(n) === Bridge.getHashCode(t) && Bridge.objectEquals(n, t) : !i && n && t && n.hasOwnProperty("item1") && Bridge.isPlainObject(n) && t.hasOwnProperty("item1") && Bridge.isPlainObject(t) ? Bridge.objectEquals(n, t) : i }, u = r(n, t), Bridge.$equalsGuard.pop(), u) }, objectEquals: function (n, t) { Bridge.$$leftChain = []; Bridge.$$rightChain = []; var i = Bridge.deepEquals(n, t); return delete Bridge.$$leftChain, delete Bridge.$$rightChain, i }, deepEquals: function (n, t) { if (typeof n == "object" && typeof t == "object") { if (n === t) return !0; if (Bridge.$$leftChain.indexOf(n) > -1 || Bridge.$$rightChain.indexOf(t) > -1) return !1; for (var i in t) if (t.hasOwnProperty(i) !== n.hasOwnProperty(i) || typeof t[i] != typeof n[i]) return !1; for (i in n) { if (t.hasOwnProperty(i) !== n.hasOwnProperty(i) || typeof n[i] != typeof t[i]) return !1; if (n[i] === t[i]) continue; else if (typeof n[i] == "object") { if (Bridge.$$leftChain.push(n), Bridge.$$rightChain.push(t), !Bridge.deepEquals(n[i], t[i])) return !1; Bridge.$$leftChain.pop(); Bridge.$$rightChain.pop() } else if (!Bridge.equals(n[i], t[i])) return !1 } return !0 } return Bridge.equals(n, t) }, numberCompare: function (n, t) { return n < t ? -1 : n > t ? 1 : n == t ? 0 : isNaN(n) ? isNaN(t) ? 0 : -1 : 1 }, compare: function (n, t, i, r) { if (n && n.$boxed && (n = Bridge.unbox(n, !0)), t && t.$boxed && (t = Bridge.unbox(t, !0)), typeof n == "number" && typeof t == "number") return Bridge.numberCompare(n, t); if (Bridge.isDefined(n, !0)) { if (Bridge.isNumber(n) || Bridge.isString(n) || Bridge.isBoolean(n)) return Bridge.isString(n) && !Bridge.hasValue(t) ? 1 : n < t ? -1 : n > t ? 1 : 0; if (Bridge.isDate(n)) return n.kind !== undefined && n.ticks !== undefined ? Bridge.compare(n.ticks, t.ticks) : Bridge.compare(n.valueOf(), t.valueOf()) } else { if (i) return 0; throw new System.NullReferenceException; } var u; if (r && Bridge.isFunction(Bridge.getProperty(n, u = "System$IComparable$1$" + Bridge.getTypeAlias(r) + "$compareTo")) || r && Bridge.isFunction(Bridge.getProperty(n, u = "System$IComparable$1$compareTo")) || Bridge.isFunction(Bridge.getProperty(n, u = "System$IComparable$compareTo"))) return n[u](t); if (Bridge.isFunction(n.compareTo)) return n.compareTo(t); if (r && Bridge.isFunction(Bridge.getProperty(t, u = "System$IComparable$1$" + Bridge.getTypeAlias(r) + "$compareTo")) || r && Bridge.isFunction(Bridge.getProperty(t, u = "System$IComparable$1$compareTo")) || Bridge.isFunction(Bridge.getProperty(t, u = "System$IComparable$compareTo"))) return -t[u](n); if (Bridge.isFunction(t.compareTo)) return -t.compareTo(n); if (i) return 0; throw new System.Exception("Cannot compare items"); }, equalsT: function (n, t, i) { if (n && n.$boxed && n.type.equalsT && n.type.equalsT.length === 2) return n.type.equalsT(n, t); if (t && t.$boxed && t.type.equalsT && t.type.equalsT.length === 2) return t.type.equalsT(t, n); if (Bridge.isDefined(n, !0)) { if (Bridge.isNumber(n) || Bridge.isString(n) || Bridge.isBoolean(n)) return n === t; if (Bridge.isDate(n)) return n.kind !== undefined && n.ticks !== undefined ? n.ticks.equals(t.ticks) : n.valueOf() === t.valueOf() } else throw new System.NullReferenceException; var r; return i && n != null && Bridge.isFunction(Bridge.getProperty(n, r = "System$IEquatable$1$" + Bridge.getTypeAlias(i) + "$equalsT")) ? n[r](t) : i && t != null && Bridge.isFunction(Bridge.getProperty(t, r = "System$IEquatable$1$" + Bridge.getTypeAlias(i) + "$equalsT")) ? t[r](n) : Bridge.isFunction(n) && Bridge.isFunction(t) ? Bridge.fn.equals.call(n, t) : n.equalsT ? n.equalsT(t) : t.equalsT(n) }, format: function (n, t, i) { if (n && n.$boxed) { if (n.type.$kind === "enum") return System.Enum.format(n.type, n.v, t); if (n.type === System.Char) return System.Char.format(Bridge.unbox(n, !0), t, i); if (n.type.format) return n.type.format(Bridge.unbox(n, !0), t, i) } if (Bridge.isNumber(n)) return Bridge.Int.format(n, t, i); if (Bridge.isDate(n)) return System.DateTime.format(n, t, i); var r; return Bridge.isFunction(Bridge.getProperty(n, r = "System$IFormattable$format")) ? n[r](t, i) : n.format(t, i) }, getType: function (n, t) { var r, i; if (n && n.$boxed) return n.type; if (n == null) throw new System.NullReferenceException("instance is null"); if (t) return r = Bridge.getType(n), Bridge.Reflection.isAssignableFrom(t, r) ? r : t; if (typeof n == "number") return !isNaN(n) && isFinite(n) && Math.floor(n, 0) === n ? System.Int32 : System.Double; if (n.$type) return n.$type; if (n.$getType) return n.$getType(); i = null; try { i = n.constructor } catch (u) { i = Object } return Bridge.Reflection.convertType(i) }, isLower: function (n) { var t = String.fromCharCode(n); return t === t.toLowerCase() && t !== t.toUpperCase() }, isUpper: function (n) { var t = String.fromCharCode(n); return t !== t.toLowerCase() && t === t.toUpperCase() }, coalesce: function (n, t) { return Bridge.hasValue(n) ? n : t }, fn: { equals: function (n) { return this === n ? !0 : n == null || this.constructor !== n.constructor ? !1 : this.equals && this.equals === n.equals && this.$method && this.$method === n.$method && this.$scope && this.$scope === n.$scope }, call: function (n, t) { var i = Array.prototype.slice.call(arguments, 2); return n = n || Bridge.global, n[t].apply(n, i) }, makeFn: function (n, t) { switch (t) { case 0: return function () { return n.apply(this, arguments) }; case 1: return function () { return n.apply(this, arguments) }; case 2: return function () { return n.apply(this, arguments) }; case 3: return function () { return n.apply(this, arguments) }; case 4: return function () { return n.apply(this, arguments) }; case 5: return function () { return n.apply(this, arguments) }; case 6: return function () { return n.apply(this, arguments) }; case 7: return function () { return n.apply(this, arguments) }; case 8: return function () { return n.apply(this, arguments) }; case 9: return function () { return n.apply(this, arguments) }; case 10: return function () { return n.apply(this, arguments) }; case 11: return function () { return n.apply(this, arguments) }; case 12: return function () { return n.apply(this, arguments) }; case 13: return function () { return n.apply(this, arguments) }; case 14: return function () { return n.apply(this, arguments) }; case 15: return function () { return n.apply(this, arguments) }; case 16: return function () { return n.apply(this, arguments) }; case 17: return function () { return n.apply(this, arguments) }; case 18: return function () { return n.apply(this, arguments) }; case 19: return function () { return n.apply(this, arguments) }; default: return function () { return n.apply(this, arguments) } } }, cacheBind: function (n, t, i, r) { return Bridge.fn.bind(n, t, i, r, !0) }, bind: function (n, t, i, r, u) { var e, f; if (t && t.$method === t && t.$scope === n) return t; if (n && u && n.$$bind) for (e = 0; e < n.$$bind.length; e++)if (n.$$bind[e].$method === t) return n.$$bind[e]; return f = arguments.length === 2 ? Bridge.fn.makeFn(function () { Bridge.caller.unshift(this); var i = null; try { i = t.apply(n, arguments) } finally { Bridge.caller.shift(this) } return i }, t.length) : Bridge.fn.makeFn(function () { var u = i || arguments, f; r === !0 ? (u = Array.prototype.slice.call(arguments, 0), u = u.concat(i)) : typeof r == "number" && (u = Array.prototype.slice.call(arguments, 0), r === 0 ? u.unshift.apply(u, i) : r < u.length ? u.splice.apply(u, [r, 0].concat(i)) : u.push.apply(u, i)); Bridge.caller.unshift(this); f = null; try { f = t.apply(n, u) } finally { Bridge.caller.shift(this) } return f }, t.length), n && u && (n.$$bind = n.$$bind || [], n.$$bind.push(f)), f.$method = t, f.$scope = n, f.equals = Bridge.fn.equals, f }, bindScope: function (n, t) { var i = Bridge.fn.makeFn(function () { var i = Array.prototype.slice.call(arguments, 0), r; i.unshift.apply(i, [n]); Bridge.caller.unshift(this); r = null; try { r = t.apply(n, i) } finally { Bridge.caller.shift(this) } return r }, t.length); return i.$method = t, i.$scope = n, i.equals = Bridge.fn.equals, i }, $build: function (n) { if (!n || n.length === 0) return null; var t = function () { for (var i = null, r, t = 0; t < n.length; t++)r = n[t], i = r.apply(null, arguments); return i }; return t.$invocationList = n ? Array.prototype.slice.call(n, 0) : [], n = t.$invocationList.slice(), t }, combine: function (n, t) { var i, r, u; return !n || !t ? (i = n || t, i ? Bridge.fn.$build([i]) : i) : (r = n.$invocationList ? n.$invocationList : [n], u = t.$invocationList ? t.$invocationList : [t], Bridge.fn.$build(r.concat(u))) }, getInvocationList: function (n) { if (n == null) throw new System.ArgumentNullException; return n.$invocationList || (n.$invocationList = [n]), n.$invocationList }, remove: function (n, t) { if (!n || !t) return n || null; for (var r = n.$invocationList ? n.$invocationList : [n], f = t.$invocationList ? t.$invocationList : [t], e, i, u = 0; u < f.length; u++) { for (e = -1, i = r.length - 1; i >= 0; i--)if (r[i] === f[u] || r[i].$method && r[i].$method === f[u].$method && r[i].$scope && r[i].$scope === f[u].$scope) { e = i; break } e > -1 && r.splice(e, 1) } return Bridge.fn.$build(r) } }, sleep: function (n, t) { if (Bridge.hasValue(t) && (n = t.getTotalMilliseconds()), isNaN(n) || n < -1 || n > 2147483647) throw new System.ArgumentOutOfRangeException("timeout", "Number must be either non-negative and less than or equal to Int32.MaxValue or -1"); n == -1 && (n = 2147483647); for (var i = (new Date).getTime(); (new Date).getTime() - i < n;)if ((new Date).getTime() - i > 2147483647) break }, getMetadata: function (n) { return n.$getMetadata ? n.$getMetadata() : n.$metadata }, loadModule: function (n, t) { var f = n.amd, i = n.cjs, h = n.fn, s = new System.Threading.Tasks.TaskCompletionSource, e = Bridge.global[h || "require"], o, u, r; if (f && f.length > 0) e(f, function () { var r = Array.prototype.slice.call(arguments, 0), n; if (i && i.length > 0) for (n = 0; n < i.length; n++)r.push(e(i[n])); t.apply(Bridge.global, r); s.setResult() }); else { if (i && i.length > 0) { for (r = new System.Threading.Tasks.Task, r.status = System.Threading.Tasks.TaskStatus.ranToCompletion, o = [], u = 0; u < i.length; u++)o.push(e(i[u])); return t.apply(Bridge.global, o), r } return r = new System.Threading.Tasks.Task, r.status = System.Threading.Tasks.TaskStatus.ranToCompletion, r } return s.task } }; n.Bridge = nt; n.Bridge.caller = []; n.Bridge.$equalsGuard = []; n.console && (n.Bridge.Console = n.console); n.System = {}; n.System.Diagnostics = {}; n.System.Diagnostics.Contracts = {}; n.System.Threading = {}; var i = function (n) { return Bridge.global.navigator && n.test(Bridge.global.navigator.userAgent.toLowerCase()) }, tt = Bridge.global.document && Bridge.global.document.compatMode === "CSS1Compat", v = function (n, t) { var i; return Bridge.global.navigator && n && (i = t.exec(navigator.userAgent.toLowerCase())) ? parseFloat(i[1]) : 0 }, r = Bridge.global.document ? Bridge.global.document.documentMode : null, p = i(/opera/), pt = p && i(/version\/10\.5/), it = i(/\bchrome\b/), d = i(/webkit/), c = !it && i(/safari/), wt = c && i(/applewebkit\/4/), bt = c && i(/version\/3/), kt = c && i(/version\/4/), dt = c && i(/version\/5\.0/), gt = c && i(/version\/5/), u = !p && (i(/msie/) || i(/trident/)), o = u && (i(/msie 7/) && r !== 8 && r !== 9 && r !== 10 || r === 7), s = u && (i(/msie 8/) && r !== 7 && r !== 9 && r !== 10 || r === 8), l = u && (i(/msie 9/) && r !== 7 && r !== 8 && r !== 10 || r === 9), w = u && (i(/msie 10/) && r !== 7 && r !== 8 && r !== 9 || r === 10), rt = u && (i(/trident\/7\.0/) && r !== 7 && r !== 8 && r !== 9 && r !== 10 || r === 11), f = u && i(/msie 6/), y = !d && !u && i(/gecko/), b = y && i(/rv:1\.9/), ni = y && i(/rv:2\.0/), ti = y && i(/rv:5\./), ii = y && i(/rv:10\./), ri = b && i(/rv:1\.9\.0/), ui = b && i(/rv:1\.9\.1/), fi = b && i(/rv:1\.9\.2/), ut = i(/windows|win32/), ft = i(/macintosh|mac os x/), et = i(/linux/), ei = v(!0, /\bchrome\/(\d+\.\d+)/), a = v(!0, /\bfirefox\/(\d+\.\d+)/), oi = v(u, /msie (\d+\.\d+)/), si = v(p, /version\/(\d+\.\d+)/), hi = v(c, /version\/(\d+\.\d+)/), ci = v(d, /webkit\/(\d+\.\d+)/), li = Bridge.global.location ? /^https/i.test(Bridge.global.location.protocol) : !1, ot = Bridge.global.navigator && /iPhone/i.test(Bridge.global.navigator.platform), st = Bridge.global.navigator && /iPod/i.test(Bridge.global.navigator.platform), g = Bridge.global.navigator && /iPad/i.test(Bridge.global.navigator.userAgent), ai = Bridge.global.navigator && /Blackberry/i.test(Bridge.global.navigator.userAgent), ht = Bridge.global.navigator && /Android/i.test(Bridge.global.navigator.userAgent), ct = ft || ut || et && !ht, lt = g, vi = !ct && !lt, yi = { isStrict: tt, isIEQuirks: u && !tt && (f || o || s || l), isOpera: p, isOpera10_5: pt, isWebKit: d, isChrome: it, isSafari: c, isSafari3: bt, isSafari4: kt, isSafari5: gt, isSafari5_0: dt, isSafari2: wt, isIE: u, isIE6: f, isIE7: o, isIE7m: f || o, isIE7p: u && !f, isIE8: s, isIE8m: f || o || s, isIE8p: u && !(f || o), isIE9: l, isIE9m: f || o || s || l, isIE9p: u && !(f || o || s), isIE10: w, isIE10m: f || o || s || l || w, isIE10p: u && !(f || o || s || l), isIE11: rt, isIE11m: f || o || s || l || w || rt, isIE11p: u && !(f || o || s || l || w), isGecko: y, isGecko3: b, isGecko4: ni, isGecko5: ti, isGecko10: ii, isFF3_0: ri, isFF3_5: ui, isFF3_6: fi, isFF4: 4 <= a && a < 5, isFF5: 5 <= a && a < 6, isFF10: 10 <= a && a < 11, isLinux: et, isWindows: ut, isMac: ft, chromeVersion: ei, firefoxVersion: a, ieVersion: oi, operaVersion: si, safariVersion: hi, webKitVersion: ci, isSecure: li, isiPhone: ot, isiPod: st, isiPad: g, isBlackberry: ai, isAndroid: ht, isDesktop: ct, isTablet: lt, isPhone: vi, iOS: ot || g || st, standalone: Bridge.global.navigator ? !!Bridge.global.navigator.standalone : !1 }; Bridge.Browser = yi; at = { _initialize: function () { this.$init || (this.$init = {}, this.$staticInit && this.$staticInit(), this.$initMembers && this.$initMembers()) }, initConfig: function (n, t, i, r, u, f) { var v, e, l = r ? u : u.ctor, s = l.$descriptors, w = l.$aliases, y, o, h, p, a, c; if (i.fields) for (e in i.fields) u[e] = i.fields[e]; if (y = i.properties, y) for (e in y) { if (o = y[e], o != null && Bridge.isPlainObject(o) && (!o.get || !o.set)) { for (a = 0; a < s.length; a++)s[a].name === e && (h = s[a]); h && h.get && !o.get && (o.get = h.get); h && h.set && !o.set && (o.set = h.set) } p = Bridge.property(r ? u : f, e, o, r, l); p.name = e; p.cls = l; s.push(p) } if (i.events) for (e in i.events) Bridge.event(u, e, i.events[e], r); if (i.alias) for (c = 0; c < i.alias.length; c++)(function (n, t, i) { for (var c, h, e, r = null, o = s.length - 1; o >= 0; o--)if (s[o].name === t) { r = s[o]; break } for (c = Array.isArray(i) ? i : [i], h = 0; h < c.length; h++)i = c[h], r != null ? (Object.defineProperty(n, i, r), w.push({ alias: i, descriptor: r })) : (e = u[t], e === undefined && f && (e = f[t]), Bridge.isFunction(e) ? (u[i] = e, w.push({ fn: t, alias: i })) : (r = { get: function () { return this[t] }, set: function (n) { this[t] = n } }, Object.defineProperty(n, i, r), w.push({ alias: i, descriptor: r }))) })(r ? u : f, i.alias[c], i.alias[c + 1], l), c++; i.init && (v = i.init); (v || n && !r && t.$initMembers) && (u.$initMembers = function () { n && !r && t.$initMembers && t.$initMembers.call(this); v && v.call(this) }) }, convertScheme: function (n) { var t = {}, i = function (n, t) { for (var u, i, r, o = ["fields", "methods", "events", "props", "properties", "alias", "ctors"], e = Object.keys(n), f = 0; f < e.length; f++)u = e[f], o.indexOf(u) === -1 && (t[u] = n[u]); n.fields && Bridge.apply(t, n.fields); n.methods && Bridge.apply(t, n.methods); i = {}; r = !1; n.props ? (i.properties = n.props, r = !0) : n.properties && (i.properties = n.properties, r = !0); n.events && (i.events = n.events, r = !0); n.alias && (i.alias = n.alias, r = !0); n.ctors && (n.ctors.init && (i.init = n.ctors.init, r = !0, delete n.ctors.init), Bridge.apply(t, n.ctors)); r && (t.$config = i) }; return n.main && (t.$main = n.main, delete n.main), i(n, t), (n.statics || n.$statics) && (t.$statics = {}, i(n.statics || n.$statics, t.$statics)), t }, definei: function (n, t, i) { (i === !0 || !i) && t ? t.$kind = "interface" : i ? i.$kind = "interface" : t = { $kind: "interface" }; var r = Bridge.define(n, t, i); return r.$kind = "interface", r.$isInterface = !0, r }, define: function (n, t, i, r) { var a = !1, l, u, rt, k, ct, d, g, nt, c, ut; if (i === !0 ? (a = !0, i = t, t = Bridge.global) : i || (i = t, t = Bridge.global), Bridge.isFunction(i)) return l = function () { var t, r, f, u; return (r = Bridge.Class.getCachedType(l, arguments), r) ? r.type : (t = Array.prototype.slice.call(arguments), f = i.apply(null, t), u = Bridge.define(Bridge.Class.genericName(n, t), f, !0, { fn: l, args: t }), Bridge.Class.staticInitAllow || Bridge.Class.queueIsBlocked || Bridge.Class.$queue.push(u), Bridge.get(u)) }, l.$cache = [], Bridge.Class.generic(n, t, l, i); a || (Bridge.Class.staticInitAllow = !1); i = i || {}; i.$kind !== "enum" || i.inherits || (i.inherits = [System.IComparable, System.IFormattable]); var tt = ["fields", "events", "props", "ctors", "methods"], ft = Bridge.isFunction(i.main) ? 0 : 1, et = function (n) { if (n.config && Bridge.isPlainObject(n.config) || n.$main && Bridge.isFunction(n.$main) || n.hasOwnProperty("ctor") && Bridge.isFunction(n.ctor)) return ft = 1, !1; if (n.alias && Bridge.isArray(n.alias) && n.alias.length > 0 && n.alias.length % 2 == 0) return !0; for (var t = 0; t < tt.length; t++)if (n[tt[t]] && Bridge.isPlainObject(n[tt[t]])) return !0; return !1 }, p = et(i); !p && i.statics && (p = et(i.statics)); p || (p = ft == 0); p && (i = Bridge.Class.convertScheme(i)); var f = i.$inherits || i.inherits, o = i.$statics || i.statics, ot = i.$entryPoint, v, s, st = i.$scope || t || Bridge.global, w = Bridge.global.System && Bridge.global.System.Object || Object, h, ht, b, y, e, it = !0; if (i.$kind = i.$kind || "class", i.$kind === "enum" && (f = [System.Enum]), i.$noRegister === !0 && (it = !1, delete i.$noRegister), i.$inherits ? delete i.$inherits : delete i.inherits, ot && delete i.$entryPoint, Bridge.isFunction(o) ? o = null : i.$statics ? delete i.$statics : delete i.statics, rt = i.hasOwnProperty("ctor") && i.ctor, rt ? u = rt : (u = i.$literal ? function (n) { return n = n || {}, n.$getType = function () { return u }, n } : function () { this.$initialize(); u.$base && (u.$$inherits && u.$$inherits.length > 0 && u.$$inherits[0].$staticInit && u.$$inherits[0].$staticInit(), u.$base.ctor && u.$base.ctor.call(this)) }, i.ctor = u), i.$literal && (o && o.createInstance || (u.createInstance = function () { var n = {}; return n.$getType = function () { return u }, n }), u.$literal = !0, delete i.$literal), !a && it && (st = Bridge.Class.set(st, n, u)), r && r.fn.$cache.push({ type: u, args: r.args }), u.$$name = n, u.$kind = i.$kind, r && a) { for (u.$genericTypeDefinition = r.fn, u.$typeArguments = r.args, u.$assembly = r.fn.$assembly || Bridge.$currentAssembly, k = Bridge.Reflection.getTypeFullName(r.fn), h = 0; h < r.args.length; h++)k += (h === 0 ? "[" : ",") + "[" + Bridge.Reflection.getTypeQName(r.args[h]) + "]"; k += "]"; u.$$fullname = k } else u.$$fullname = u.$$name; f && Bridge.isFunction(f) && (f = f()); Bridge.Class.createInheritors(u, f); ct = f ? f[0].$kind === "interface" : !0; ct && (f = null); v = f ? f[0].prototype : this.prototype; u.$base = v; s = f ? f[0].$$initCtor ? new f[0].$$initCtor : new f[0] : w.$$initCtor ? new w.$$initCtor : new w; u.$$initCtor = function () { }; u.$$initCtor.prototype = s; u.$$initCtor.prototype.constructor = u; u.$$initCtor.prototype.$$fullname = r && a ? u.$$fullname : u.$$name; o && (d = o.$config || o.config, d && !Bridge.isFunction(d) && (Bridge.Class.initConfig(f, v, d, !0, u), o.$config ? delete o.$config : delete o.config)); g = i.$config || i.config; g && !Bridge.isFunction(g) ? (Bridge.Class.initConfig(f, v, g, !1, i, s), i.$config ? delete i.$config : delete i.config) : f && v.$initMembers && (i.$initMembers = function () { v.$initMembers.call(this) }); i.$initialize = Bridge.Class._initialize; nt = []; for (e in i) nt.push(e); for (h = 0; h < nt.length; h++)e = nt[h], ht = i[e], b = e === "ctor", y = e, Bridge.isFunction(ht) && (b || e.match("^\\$ctor") !== null) && (b = !0), c = i[e], b ? (u[y] = c, u[y].prototype = s, u[y].prototype.constructor = u, s[y] = c) : s[y] = c; if (s.$$name = n, s.toJSON || (s.toJSON = Bridge.Class.toJSON), o) { for (e in o) c = o[e], e === "ctor" ? u.$ctor = c : (i.$kind !== "enum" || Bridge.isFunction(c) || e.charAt(0) === "$" || (u.$names = u.$names || [], u.$names.push({ name: e, value: c })), u[e] = c); i.$kind === "enum" && u.$names && (u.$names = u.$names.sort(function (n, t) { return Bridge.isFunction(n.value.eq) ? n.value.sub(t.value).sign() : n.value - t.value }).map(function (n) { return n.name })) } return f || (f = [w].concat(u.$interfaces)), Bridge.Class.setInheritors(u, f), l = function () { Bridge.Class.staticInitAllow && !u.$isGenericTypeDefinition && (u.$staticInit = null, u.$initMembers && u.$initMembers(), u.$ctor && u.$ctor()) }, (ot || Bridge.isFunction(s.$main)) && (s.$main && (ut = s.$main.name || "Main", u[ut] || (u[ut] = s.$main)), Bridge.Class.$queueEntry.push(u)), u.$staticInit = l, !a && it && Bridge.Class.registerType(n, u), Bridge.Reflection && (u.$getMetadata = Bridge.Reflection.getMetadata), u.$kind === "enum" && (u.prototype.$utype || (u.prototype.$utype = System.Int32), u.$is = function (n) { var t = u.prototype.$utype; return t === String ? typeof n == "string" : t && t.$is ? t.$is(n) : typeof n == "number" }, u.getDefaultValue = function () { var n = u.prototype.$utype; return n === String || n === System.String ? null : 0 }), u.$kind === "interface" && (u.prototype.$variance && (u.isAssignableFrom = Bridge.Class.varianceAssignable), u.$isInterface = !0), u }, toCtorString: function () { return Bridge.Reflection.getTypeName(this) }, createInheritors: function (n, t) { var c = [], f = [], l = [], a = [], e, i, u; if (t) for (e = 0; e < t.length; e++) { var r = t[e], o = (r.$interfaces || []).concat(r.$baseInterfaces || []), s = r.$descriptors, h = r.$aliases; if (s && s.length > 0) for (i = 0; i < s.length; i++)l.push(s[i]); if (h && h.length > 0) for (i = 0; i < h.length; i++)a.push(h[i]); if (o.length > 0) for (u = 0; u < o.length; u++)f.indexOf(o[u]) < 0 && f.push(o[u]); r.$kind === "interface" && c.push(r) } n.$descriptors = l; n.$aliases = a; n.$baseInterfaces = f; n.$interfaces = c; n.$allInterfaces = c.concat(f) }, toJSON: function () { var e = {}, o = Bridge.getType(this), i = o.$descriptors || [], n, r, u, t, f; for (n in this) { if (r = this.hasOwnProperty(n), u = null, !r) for (t = i.length - 1; t >= 0; t--)if (i[t].name === n) { u = i[t]; break } f = n.split("$").length; (r || u != null) && (f === 1 || f === 2 && n.match("$d+$")) && (e[n] = this[n]) } return e }, setInheritors: function (n, t) { var i, r; for (n.$$inherits = t, i = 0; i < t.length; i++)r = t[i], r.$$inheritors || (r.$$inheritors = []), r.$$inheritors.push(n) }, varianceAssignable: function (n) { var r = function (n, t) { var i; if (t.$genericTypeDefinition === n.$genericTypeDefinition && t.$typeArguments.length === n.$typeArguments.length) { for (i = 0; i < n.$typeArguments.length; i++) { var f = n.prototype.$variance[i], r = n.$typeArguments[i], u = t.$typeArguments[i]; switch (f) { case 1: if (!Bridge.Reflection.isAssignableFrom(r, u)) return !1; break; case 2: if (!Bridge.Reflection.isAssignableFrom(u, r)) return !1; break; default: if (u !== r) return !1 } } return !0 } return !1 }, i, t; if (n.$kind === "interface" && r(this, n)) return !0; for (i = Bridge.Reflection.getInterfaces(n), t = 0; t < i.length; t++)if (i[t] === this || r(this, i[t])) return !0; return !1 }, registerType: function (n, t) { Bridge.$currentAssembly && (Bridge.$currentAssembly.$types[n] = t, t.$assembly = Bridge.$currentAssembly) }, addExtend: function (n, t) { var f, i, r, u; for (Array.prototype.push.apply(n.$$inherits, t), n.$interfaces = n.$interfaces || [], n.$baseInterfaces = n.$baseInterfaces || [], f = 0; f < t.length; f++) { if (i = t[f], i.$$inheritors || (i.$$inheritors = []), i.$$inheritors.push(n), r = (i.$interfaces || []).concat(i.$baseInterfaces || []), r.length > 0) for (u = 0; u < r.length; u++)n.$baseInterfaces.indexOf(r[u]) < 0 && n.$baseInterfaces.push(r[u]); i.$kind === "interface" && n.$interfaces.push(i) } n.$allInterfaces = n.$interfaces.concat(n.$baseInterfaces) }, set: function (n, t, i, r) { for (var u = t.split("."), o, h, e, s, f = 0; f < u.length - 1; f++)typeof n[u[f]] == "undefined" && (n[u[f]] = {}), n = n[u[f]]; if (o = u[u.length - 1], e = n[o], e) { if (e.$$name === t) throw "Class '" + t + "' is already defined"; for (h in e) s = e[h], typeof s == "function" && s.$$name && function (n, t, i) { Object.defineProperty(n, t, { get: function () { return Bridge.Class.staticInitAllow && (i.$staticInit && i.$staticInit(), Bridge.Class.defineProperty(n, t, i)), i }, set: function (n) { i = n }, enumerable: !0, configurable: !0 }) }(i, h, s) } return r !== !0 ? function (n, t, i) { Object.defineProperty(n, t, { get: function () { return Bridge.Class.staticInitAllow && (i.$staticInit && i.$staticInit(), Bridge.Class.defineProperty(n, t, i)), i }, set: function (n) { i = n }, enumerable: !0, configurable: !0 }) }(n, o, i) : n[o] = i, n }, defineProperty: function (n, t, i) { Object.defineProperty(n, t, { value: i, enumerable: !0, configurable: !0 }) }, genericName: function (n, t) { for (var r, u = n, i = 0; i < t.length; i++)r = t[i], u += "$" + (r.$$name || Bridge.getTypeName(r)); return u }, getCachedType: function (n, t) { for (var e = n.$cache, o = e.length, i, f, r, u = 0; u < o; u++)if (i = e[u], i.args.length === t.length) { for (f = !0, r = 0; r < i.args.length; r++)if (i.args[r] !== t[r]) { f = !1; break } if (f) return i } return null }, generic: function (n, t, i, r) { return i.$$name = n, i.$kind = "class", Bridge.Class.set(t, n, i, !0), Bridge.Class.registerType(n, i), i.$typeArgumentCount = r.length, i.$isGenericTypeDefinition = !0, i.$getMetadata = Bridge.Reflection.getMetadata, i.$staticInit = function () { var f, e, t, n, u, o; i.$typeArguments = Bridge.Reflection.createTypeParams(r); f = Bridge.Class.staticInitAllow; e = Bridge.Class.queueIsBlocked; Bridge.Class.staticInitAllow = !1; Bridge.Class.queueIsBlocked = !0; t = r.apply(null, i.$typeArguments); n = t.$inherits || t.inherits; Bridge.Class.staticInitAllow = f; Bridge.Class.queueIsBlocked = e; n && Bridge.isFunction(n) && (n = n()); Bridge.Class.createInheritors(i, n); u = Bridge.global.System && Bridge.global.System.Object || Object; n || (n = [u].concat(i.$interfaces)); Bridge.Class.setInheritors(i, n); o = n ? n[0].$$initCtor ? new n[0].$$initCtor : new n[0] : new u; i.prototype = o; i.prototype.constructor = i }, Bridge.Class.$queue.push(i), i }, init: function (n) { var u, r, i, t; if (n) { u = Bridge.Class.staticInitAllow; Bridge.Class.staticInitAllow = !0; n(); Bridge.Class.staticInitAllow = u; return } for (Bridge.Class.staticInitAllow = !0, r = Bridge.Class.$queue.concat(Bridge.Class.$queueEntry), Bridge.Class.$queue.length = 0, Bridge.Class.$queueEntry.length = 0, i = 0; i < r.length; i++)t = r[i], t.$staticInit && t.$staticInit(), t.prototype.$main && (function (n, t) { Bridge.ready(function () { n[t]() }) }(t, t.prototype.$main.name || "Main"), t.prototype.$main = null) } }; Bridge.Class = at; Bridge.Class.$queue = []; Bridge.Class.$queueEntry = []; Bridge.define = Bridge.Class.define; Bridge.definei = Bridge.Class.definei; Bridge.init = Bridge.Class.init; Bridge.assembly = function (n, t, i, r) { var u, f, e; i || (i = t, t = {}); n = n || "Bridge.$Unknown"; u = System.Reflection.Assembly.assemblies[n]; u ? Bridge.apply(u.res, t || {}) : u = new System.Reflection.Assembly(n, t); f = Bridge.$currentAssembly; Bridge.$currentAssembly = u; i && (e = Bridge.Class.staticInitAllow, Bridge.Class.staticInitAllow = !1, i.call(Bridge.global, u, Bridge.global), Bridge.Class.staticInitAllow = e); Bridge.init(); r && (Bridge.$currentAssembly = f) }; Bridge.define("System.Reflection.Assembly", { statics: { assemblies: {} }, ctor: function (n, t) { this.$initialize(); this.name = n; this.res = t || {}; this.$types = {}; this.$ = {}; System.Reflection.Assembly.assemblies[n] = this }, toString: function () { return this.name }, getManifestResourceNames: function () { return Object.keys(this.res) }, getManifestResourceDataAsBase64: function (n, t) { return arguments.length === 1 && (t = n, n = null), n && (t = Bridge.Reflection.getTypeNamespace(n) + "." + t), this.res[t] || null }, getManifestResourceData: function (n, t) { arguments.length === 1 && (t = n, n = null); n && (t = Bridge.Reflection.getTypeNamespace(n) + "." + t); var i = this.res[t]; return i ? System.Convert.fromBase64String(i) : null }, getCustomAttributes: function (n) { return this.attr && n && !Bridge.isBoolean(n) ? this.attr.filter(function (t) { return Bridge.is(t, n) }) : this.attr || [] } }); Bridge.$currentAssembly = new System.Reflection.Assembly("mscorlib"); Bridge.SystemAssembly = Bridge.$currentAssembly; Bridge.SystemAssembly.$types["System.Reflection.Assembly"] = System.Reflection.Assembly; System.Reflection.Assembly.$assembly = Bridge.SystemAssembly; e = Bridge.$currentAssembly; Bridge.define("System.Object", {}); Bridge.define("System.Void", { $kind: "struct" }); Bridge.init(function () { Bridge.SystemAssembly.version = "16.6.1"; Bridge.SystemAssembly.compiler = "16.6.1" }); Bridge.define("Bridge.Utils.SystemAssemblyVersion"); Bridge.Reflection = { setMetadata: function (n, t) { n.$getMetadata = Bridge.Reflection.getMetadata; n.$metadata = t }, initMetaData: function (n, t) { var u, i, r; if (t.m) for (u = 0; u < t.m.length; u++)if (i = t.m[u], i.td = n, i.ad && (i.ad.td = n), i.r && (i.r.td = n), i.g && (i.g.td = n), i.s && (i.s.td = n), i.tprm && Bridge.isArray(i.tprm)) for (r = 0; r < i.tprm.length; r++)i.tprm[r] = Bridge.Reflection.createTypeParam(i.tprm[r], n); n.$metadata = t; n.$initMetaData = !0 }, getMetadata: function () { var n, t; return !this.$metadata && this.$genericTypeDefinition && (this.$metadata = this.$genericTypeDefinition.$factoryMetadata || this.$genericTypeDefinition.$metadata), n = this.$metadata, typeof n == "function" && (this.$isGenericTypeDefinition && !this.$factoryMetadata && (this.$factoryMetadata = this.$metadata), this.$typeArguments ? n = this.$metadata.apply(null, this.$typeArguments) : this.$isGenericTypeDefinition ? (t = Bridge.Reflection.createTypeParams(this.$metadata), this.$typeArguments = t, n = this.$metadata.apply(null, t)) : n = this.$metadata()), !this.$initMetaData && n && Bridge.Reflection.initMetaData(this, n), n }, createTypeParams: function (n, t) { for (var f = [], u = n.toString(), r = u.slice(u.indexOf("(") + 1, u.indexOf(")")).match(/([^\s,]+)/g) || [], i = 0; i < r.length; i++)f.push(Bridge.Reflection.createTypeParam(r[i], t)); return f }, createTypeParam: function (n, t) { var i = function () { }; return i.$$name = n, i.$isTypeParameter = !0, t && (i.td = t), i }, load: function (n) { return System.Reflection.Assembly.assemblies[n] || require(n) }, getGenericTypeDefinition: function (n) { if (n.$isGenericTypeDefinition) return n; if (!n.$genericTypeDefinition) throw new System.InvalidOperationException("This operation is only valid on generic types."); return n.$genericTypeDefinition }, getGenericParameterCount: function (n) { return n.$typeArgumentCount || 0 }, getGenericArguments: function (n) { return n.$typeArguments || [] }, getMethodGenericArguments: function (n) { return n.tprm || [] }, isGenericTypeDefinition: function (n) { return n.$isGenericTypeDefinition || !1 }, isGenericType: function (n) { return n.$genericTypeDefinition != null || Bridge.Reflection.isGenericTypeDefinition(n) }, convertType: function (n) { return n === Boolean ? System.Boolean : n === String ? System.String : n === Object ? System.Object : n === Date ? System.DateTime : n }, getBaseType: function (n) { var t, i; if (Bridge.isObject(n) || n.$kind === "interface" || n.prototype == null) return null; if (Object.getPrototypeOf) return Bridge.Reflection.convertType(Object.getPrototypeOf(n.prototype).constructor); if (t = n.prototype, Object.prototype.hasOwnProperty.call(t, "constructor")) try { return i = t.constructor, delete t.constructor, Bridge.Reflection.convertType(t.constructor) } finally { t.constructor = i } return Bridge.Reflection.convertType(t.constructor) }, getTypeFullName: function (n) { var t, r, i, e, u, f; return (n.$$fullname ? t = n.$$fullname : n.$$name && (t = n.$$name), t) ? (r = Bridge.Reflection.getTypeNamespace(n, t), r && (i = t.indexOf("["), e = t.substring(r.length + 1, i === -1 ? t.length : i), new RegExp(/[\.\$]/).test(e) && (t = r + "." + e.replace(/\.|\$/g, function (n) { return n === "." ? "+" : "`" }) + (i === -1 ? "" : t.substring(i)))), t) : n.constructor === Object ? (t = n.toString(), u = /\[object (.{1,})\]/.exec(t), u && u.length > 1 ? u[1] : "Object") : (t = n.constructor === Function ? n.toString() : n.constructor.toString(), f = /function (.{1,})\(/.exec(t), f && f.length > 1 ? f[1] : "System.Object") }, _makeQName: function (n, t) { return n + (t ? ", " + t.name : "") }, getTypeQName: function (n) { return Bridge.Reflection._makeQName(Bridge.Reflection.getTypeFullName(n), n.$assembly) }, getTypeName: function (n) { var t = Bridge.Reflection.getTypeFullName(n), i = t.indexOf("["), u = t.lastIndexOf("+", i >= 0 ? i : t.length), r = u > -1 ? u : t.lastIndexOf(".", i >= 0 ? i : t.length), f = r > 0 ? i >= 0 ? t.substring(r + 1, i) : t.substr(r + 1) : t; return n.$isArray ? f + "[]" : f }, getTypeNamespace: function (n, t) { var i = t || Bridge.Reflection.getTypeFullName(n), f = i.indexOf("["), e = i.lastIndexOf(".", f >= 0 ? f : i.length), r = e > 0 ? i.substr(0, e) : "", u; return n.$assembly && (u = Bridge.Reflection._getAssemblyType(n.$assembly, r), u && (r = Bridge.Reflection.getTypeNamespace(u))), r }, getTypeAssembly: function (n) { return System.Array.contains([Date, Number, Boolean, String, Function, Array], n) || n.$isArray ? Bridge.SystemAssembly : n.$assembly || Bridge.SystemAssembly }, _extractArrayRank: function (n) { var i = -1, t = /<(\d+)>$/g.exec(n); return t && (n = n.substring(0, t.index), i = parseInt(t[1])), t = /\[(,*)\]$/g.exec(n), t && (n = n.substring(0, t.index), i = t[1].length + 1), { rank: i, name: n } }, _getAssemblyType: function (n, t) { var s = !1, r = -1, e, u, o, i, f; if (new RegExp(/[\+\`]/).test(t) && (t = t.replace(/\+|\`/g, function (n) { return n === "+" ? "." : "$" })), n || (n = Bridge.SystemAssembly, s = !0), e = Bridge.Reflection._extractArrayRank(t), r = e.rank, t = e.name, n.$types) { if (u = n.$types[t] || null, u) return r > -1 ? System.Array.type(u, r) : u; if (n.name === "mscorlib") n = Bridge.global; else return null } for (o = t.split("."), i = n, f = 0; f < o.length; f++)if (i = i[o[f]], !i) return null; return typeof i != "function" || !s && i.$assembly && n.name !== i.$assembly.name ? null : r > -1 ? System.Array.type(i, r) : i }, getAssemblyTypes: function (n) { var t = [], i, r; if (n.$types) for (i in n.$types) n.$types.hasOwnProperty(i) && t.push(n.$types[i]); else r = function (n, i) { for (var u in n) n.hasOwnProperty(u) && r(n[u], u); typeof n == "function" && Bridge.isUpper(i.charCodeAt(0)) && t.push(n) }, r(n, ""); return t }, createAssemblyInstance: function (n, t) { var i = Bridge.Reflection.getType(t, n); return i ? Bridge.createInstance(i) : null }, getInterfaces: function (n) { var t; return n.$allInterfaces ? n.$allInterfaces : n === Date ? [System.IComparable$1(Date), System.IEquatable$1(Date), System.IComparable, System.IFormattable] : n === Number ? [System.IComparable$1(Bridge.Int), System.IEquatable$1(Bridge.Int), System.IComparable, System.IFormattable] : n === Boolean ? [System.IComparable$1(Boolean), System.IEquatable$1(Boolean), System.IComparable] : n === String ? [System.IComparable$1(String), System.IEquatable$1(String), System.IComparable, System.ICloneable, System.Collections.IEnumerable, System.Collections.Generic.IEnumerable$1(System.Char)] : n === Array || n.$isArray || (t = System.Array._typedArrays[Bridge.getTypeName(n)]) ? (t = t || n.$elementType || System.Object, [System.Collections.IEnumerable, System.Collections.ICollection, System.ICloneable, System.Collections.IList, System.Collections.Generic.IEnumerable$1(t), System.Collections.Generic.ICollection$1(t), System.Collections.Generic.IList$1(t)]) : [] }, isInstanceOfType: function (n, t) { return Bridge.is(n, t) }, isAssignableFrom: function (n, t) { if (n == null) throw new System.NullReferenceException; if (t == null) return !1; if (n === t || Bridge.isObject(n)) return !0; if (Bridge.isFunction(n.isAssignableFrom)) return n.isAssignableFrom(t); if (t === Array) return System.Array.is([], n); if (Bridge.Reflection.isInterface(n) && System.Array.contains(Bridge.Reflection.getInterfaces(t), n)) return !0; var r = t.$$inherits, i, u; if (r) for (i = 0; i < r.length; i++)if (u = Bridge.Reflection.isAssignableFrom(n, r[i]), u) return !0; return !1 }, isClass: function (n) { return n.$kind === "class" || n === Array || n === Function || n === RegExp || n === String || n === Error || n === Object }, isEnum: function (n) { return n.$kind === "enum" }, isFlags: function (n) { return !!(n.prototype && n.prototype.$flags) }, isInterface: function (n) { return n.$kind === "interface" }, _getType: function (n, t, i, r) { var v = !i, o, c, l, a, s; v && (n = n.replace(/\[(,*)\]/g, function (n, t) { return "<" + (t.length + 1) + ">" })); o = function () { for (; ;) { var t = i.exec(n); if ((!t || t[0] != "[" || n[t.index + 1] !== "]" && n[t.index + 1] !== ",") && (!t || t[0] != "]" || n[t.index - 1] !== "[" && n[t.index - 1] !== ",") && (!t || t[0] != "," || n[t.index + 1] !== "]" && n[t.index + 1] !== ",")) return t } }; i = i || /[[,\]]/g; var y = i.lastIndex, f = o(), e, h = [], u, p = !t; if (f) { e = n.substring(y, f.index); switch (f[0]) { case "[": if (n[f.index + 1] !== "[") return null; for (; ;) { if (o(), u = Bridge.Reflection._getType(n, null, i), !u) return null; if (h.push(u), f = o(), f[0] === "]") break; else if (f[0] !== ",") return null } if (c = /^\s*<(\d+)>/g.exec(n.substring(f.index + 1)), c && (e = e + "<" + parseInt(c[1]) + ">"), f = o(), f && f[0] === "," && (o(), !(t = System.Reflection.Assembly.assemblies[(i.lastIndex > 0 ? n.substring(f.index + 1, i.lastIndex - 1) : n.substring(f.index + 1)).trim()]))) return null; break; case ",": if (o(), !(t = System.Reflection.Assembly.assemblies[(i.lastIndex > 0 ? n.substring(f.index + 1, i.lastIndex - 1) : n.substring(f.index + 1)).trim()])) return null } } else e = n.substring(y); if (v && i.lastIndex) return null; if (e = e.trim(), l = Bridge.Reflection._extractArrayRank(e), a = l.rank, e = l.name, u = Bridge.Reflection._getAssemblyType(t, e), r) return u; if (!u && p) for (s in System.Reflection.Assembly.assemblies) if (System.Reflection.Assembly.assemblies.hasOwnProperty(s) && System.Reflection.Assembly.assemblies[s] !== t && (u = Bridge.Reflection._getType(n, System.Reflection.Assembly.assemblies[s], null, !0), u)) break; return u = h.length ? u.apply(null, h) : u, u && u.$staticInit && u.$staticInit(), a > -1 && (u = System.Array.type(u, a)), u }, getType: function (n, t) { if (n == null) throw new System.ArgumentNullException("typeName"); return n ? Bridge.Reflection._getType(n, t) : null }, canAcceptNull: function (n) { return n.$kind === "struct" || n === System.Decimal || n === System.Int64 || n === System.UInt64 || n === System.Double || n === System.Single || n === System.Byte || n === System.SByte || n === System.Int16 || n === System.UInt16 || n === System.Int32 || n === System.UInt32 || n === Bridge.Int || n === Boolean || n === Date || n === Number ? !1 : !0 }, applyConstructor: function (n, t) { var a, f, s, h, e, i, r, c, o, u, l; if (!t || t.length === 0) return new n; if (n.$$initCtor && n.$kind !== "anonymous") { if (a = Bridge.getMetadata(n), f = 0, a) { for (s = Bridge.Reflection.getMembers(n, 1, 28), e = 0; e < s.length; e++)if (i = s[e], i.p && i.p.length === t.length) { for (h = !0, r = 0; r < i.p.length; r++)if (c = i.p[r], !Bridge.is(t[r], c) || t[r] == null && !Bridge.Reflection.canAcceptNull(c)) { h = !1; break } h && (n = n[i.sn], f++) } } else if (Bridge.isFunction(n.ctor) && n.ctor.length === t.length) n = n.ctor; else for (o = "$ctor", u = 1; Bridge.isFunction(n[o + u]);)n[o + u].length === t.length && (n = n[o + u], f++), u++; if (f > 1) throw new System.Exception("The ambiguous constructor call"); } return l = function () { n.apply(this, t) }, l.prototype = n.prototype, new l }, getAttributes: function (n, t, i) { var f = [], r, o, u, e, s, c, h; if (i && (c = Bridge.Reflection.getBaseType(n), c)) for (u = Bridge.Reflection.getAttributes(c, t, !0), r = 0; r < u.length; r++)o = Bridge.getType(u[r]), e = Bridge.getMetadata(o), e && e.ni || f.push(u[r]); if (s = Bridge.getMetadata(n), s && s.at) for (r = 0; r < s.at.length; r++)if (u = s.at[r], t == null || Bridge.Reflection.isInstanceOfType(u, t)) { if (o = Bridge.getType(u), e = Bridge.getMetadata(o), !e || !e.am) for (h = f.length - 1; h >= 0; h--)Bridge.Reflection.isInstanceOfType(f[h], o) && f.splice(h, 1); f.push(u) } return f }, getMembers: function (n, t, i, r, u) { var e = [], l, a, o, y, h, c, v, s, f; if (((i & 72) == 72 || (i & 6) == 4) && (l = Bridge.Reflection.getBaseType(n), l && (e = Bridge.Reflection.getMembers(l, t & -2, i & (i & 64 ? 255 : 247) & (i & 2 ? 251 : 255), r, u))), a = function (n) { if (t & n.t && (i & 4 && !n.is || i & 8 && n.is) && (!r || ((i & 1) == 1 ? n.n.toUpperCase() === r.toUpperCase() : n.n === r)) && ((i & 16) == 16 && n.a === 2 || (i & 32) == 32 && n.a !== 2)) { if (u) { if ((n.p || []).length !== u.length) return; for (var f = 0; f < u.length; f++)if (u[f] !== n.p[f]) return } e.push(n) } }, o = Bridge.getMetadata(n), o && o.m) for (y = ["g", "s", "ad", "r"], f = 0; f < o.m.length; f++)for (h = o.m[f], a(h), c = 0; c < 4; c++)v = y[c], h[v] && a(h[v]); if (i & 256) { while (n) { for (s = [], f = 0; f < e.length; f++)e[f].td === n && s.push(e[f]); if (s.length > 1) throw new System.Reflection.AmbiguousMatchException("Ambiguous match"); else if (s.length === 1) return s[0]; n = Bridge.Reflection.getBaseType(n) } return null } return e }, createDelegate: function (n, t) { var r = n.is || n.sm, u = t != null && !r, i = Bridge.Reflection.midel(n, t, null, u); return u ? i : r ? function () { var r = t != null ? [t] : []; return i.apply(n.td, r.concat(Array.prototype.slice.call(arguments, 0))) } : function (n) { return i.apply(n, Array.prototype.slice.call(arguments, 1)) } }, midel: function (n, t, i, r) { var u, f, e, o, s; if (r !== !1) if (n.is && !!t) throw new System.ArgumentException("Cannot specify target for static method"); else if (!n.is && !t) throw new System.ArgumentException("Must specify target for instance method"); if (n.fg) u = function () { return (n.is ? n.td : this)[n.fg] }; else if (n.fs) u = function (t) { (n.is ? n.td : this)[n.fs] = t }; else { if (u = n.def || (n.is || n.sm ? n.td[n.sn] : t ? t[n.sn] : n.td.prototype[n.sn]), n.tpc) { if (!i || i.length !== n.tpc) throw new System.ArgumentException("Wrong number of type arguments"); f = u; u = function () { return f.apply(this, i.concat(Array.prototype.slice.call(arguments))) } } else if (i && i.length) throw new System.ArgumentException("Cannot specify type arguments for non-generic method"); n.exp && (e = u, u = function () { return e.apply(this, Array.prototype.slice.call(arguments, 0, arguments.length - 1).concat(arguments[arguments.length - 1])) }); n.sm && (o = u, u = function () { return o.apply(null, [this].concat(Array.prototype.slice.call(arguments))) }) } return n.box && (s = u, u = function () { var t = s.apply(this, arguments); return t != null ? n.box(t) : t }), r !== !1 ? Bridge.fn.bind(t, u) : u }, invokeCI: function (n, t) { return n.exp && (t = t.slice(0, t.length - 1).concat(t[t.length - 1])), n.def ? n.def.apply(null, t) : n.sm ? n.td[n.sn].apply(null, t) : n.td.$literal ? (n.sn ? n.td[n.sn] : n.td).apply(n.td, t) : Bridge.Reflection.applyConstructor(n.sn ? n.td[n.sn] : n.td, t) }, fieldAccess: function (n, t) { if (n.is && !!t) throw new System.ArgumentException("Cannot specify target for static field"); else if (!n.is && !t) throw new System.ArgumentException("Must specify target for instance field"); if (t = n.is ? n.td : t, arguments.length === 3) t[n.sn] = arguments[2]; else return n.box ? n.box(t[n.sn]) : t[n.sn] }, getMetaValue: function (n, t, i) { var r = n.$isTypeParameter ? n : Bridge.getMetadata(n); return r ? r[t] || i : i }, isArray: function (n) { return Bridge.arrayTypes.indexOf(n) >= 0 }, hasGenericParameters: function (n) { if (n.$typeArguments) for (var t = 0; t < n.$typeArguments.length; t++)if (n.$typeArguments[t].$isTypeParameter) return !0; return !1 } }; Bridge.setMetadata = Bridge.Reflection.setMetadata; System.Reflection.ConstructorInfo = { $is: function (n) { return n != null && n.t === 1 } }; System.Reflection.EventInfo = { $is: function (n) { return n != null && n.t === 2 } }; System.Reflection.FieldInfo = { $is: function (n) { return n != null && n.t === 4 } }; System.Reflection.MethodBase = { $is: function (n) { return n != null && (n.t === 1 || n.t === 8) } }; System.Reflection.MethodInfo = { $is: function (n) { return n != null && n.t === 8 } }; System.Reflection.PropertyInfo = { $is: function (n) { return n != null && n.t === 16 } }; System.AppDomain = { getAssemblies: function () { return Object.keys(System.Reflection.Assembly.assemblies).map(function (n) { return System.Reflection.Assembly.assemblies[n] }) } }; Bridge.define("System.IFormattable", { $kind: "interface", statics: { $is: function (n) { return Bridge.isNumber(n) || Bridge.isDate(n) ? !0 : Bridge.is(n, System.IFormattable, !0) } } }); Bridge.define("System.IComparable", { $kind: "interface", statics: { $is: function (n) { return Bridge.isNumber(n) || Bridge.isDate(n) || Bridge.isBoolean(n) || Bridge.isString(n) ? !0 : Bridge.is(n, System.IComparable, !0) } } }); Bridge.define("System.IFormatProvider", { $kind: "interface" }); Bridge.define("System.ICloneable", { $kind: "interface" }); Bridge.define("System.IComparable$1", function (n) { return { $kind: "interface", statics: { $is: function (t) { return Bridge.isNumber(t) && n.$number && n.$is(t) || Bridge.isDate(t) && (n === Date || n === System.DateTime) || Bridge.isBoolean(t) && (n === Boolean || n === System.Boolean) || Bridge.isString(t) && (n === String || n === System.String) ? !0 : Bridge.is(t, System.IComparable$1(n), !0) }, isAssignableFrom: function (t) { return t === System.DateTime && n === Date ? !0 : Bridge.Reflection.getInterfaces(t).indexOf(System.IComparable$1(n)) >= 0 } } } }); Bridge.define("System.IEquatable$1", function (n) { return { $kind: "interface", statics: { $is: function (t) { return Bridge.isNumber(t) && n.$number && n.$is(t) || Bridge.isDate(t) && (n === Date || n === System.DateTime) || Bridge.isBoolean(t) && (n === Boolean || n === System.Boolean) || Bridge.isString(t) && (n === String || n === System.String) ? !0 : Bridge.is(t, System.IEquatable$1(n), !0) }, isAssignableFrom: function (t) { return t === System.DateTime && n === Date ? !0 : Bridge.Reflection.getInterfaces(t).indexOf(System.IEquatable$1(n)) >= 0 } } } }); Bridge.define("Bridge.IPromise", { $kind: "interface" }); Bridge.define("System.IDisposable", { $kind: "interface" }); Bridge.define("System.IAsyncResult", { $kind: "interface" }); h = { nameEquals: function (n, t, i) { return i ? n.toLowerCase() === t.toLowerCase() : n.charAt(0).toLowerCase() + n.slice(1) === t.charAt(0).toLowerCase() + t.slice(1) }, checkEnumType: function (n) { if (!n) throw new System.ArgumentNullException("enumType"); if (n.prototype && n.$kind !== "enum") throw new System.ArgumentException("", "enumType"); }, getUnderlyingType: function (n) { return System.Enum.checkEnumType(n), n.prototype.$utype || System.Int32 }, toName: function (n) { return n }, parse: function (n, t, i, r) { var s, e, c, u, p, l, o, f; if (System.Enum.checkEnumType(n), t != null) { if (n === Number || n === System.String || n.$number) return t; if (s = {}, System.Int32.tryParse(t, s)) return Bridge.box(s.v, n, function (t) { return System.Enum.toString(n, t) }); if (e = System.Enum.getNames(n), c = n, n.prototype && n.prototype.$flags) { var a = t.split(","), v = 0, y = !0; for (u = a.length - 1; u >= 0; u--) { for (p = a[u].trim(), l = !1, o = 0; o < e.length; o++)if (f = e[o], h.nameEquals(f, p, i)) { v |= c[f]; l = !0; break } if (!l) { y = !1; break } } if (y) return Bridge.box(v, n, function (t) { return System.Enum.toString(n, t) }) } else for (u = 0; u < e.length; u++)if (f = e[u], h.nameEquals(f, t, i)) return Bridge.box(c[f], n, function (t) { return System.Enum.toString(n, t) }) } if (r !== !0) throw new System.ArgumentException("Invalid Enumeration Value"); return null }, toStringFn: function (n) { return function (t) { return System.Enum.toString(n, t) } }, toString: function (n, t, i) { var e, u, s, r; if (arguments.length === 0) return "System.Enum"; if (t && t.$boxed && n === System.Enum && (n = t.type), t = Bridge.unbox(t, !0), n === Number || n === System.String || n.$number) return t.toString(); System.Enum.checkEnumType(n); var c = n, v = System.Enum.getNames(n), f = System.Int64.is64Bit(t); if ((n.prototype && n.prototype.$flags || i === !0) && t !== 0) { for (var y = [], l = System.Enum.getValuesAndNames(n), o = l.length - 1, a = t; o >= 0;) { if (r = l[o], s = f && System.Int64.is64Bit(r.value), o == 0 && (s ? r.value.isZero() : r.value == 0)) break; (s ? t.and(r.value).eq(r.value) : (t & r.value) == r.value) && (s ? t = t.sub(r.value) : t -= r.value, y.unshift(r.name)); o-- } return (f ? !t.isZero() : t !== 0) ? a.toString() : (f ? a.isZero() : a === 0) ? (r = l[0], r && (System.Int64.is64Bit(r.value) ? r.value.isZero() : r.value == 0)) ? r.name : "0" : y.join(", ") } for (e = 0; e < v.length; e++)if (u = v[e], f && System.Int64.is64Bit(c[u]) ? c[u].eq(t) : c[u] === t) return h.toName(u); return t.toString() }, getValuesAndNames: function (n) { var t; System.Enum.checkEnumType(n); var r = [], i = System.Enum.getNames(n), u = n; for (t = 0; t < i.length; t++)r.push({ name: i[t], value: u[i[t]] }); return r.sort(function (n, t) { return System.Int64.is64Bit(n.value) ? n.value.sub(t.value).sign() : n.value - t.value }) }, getValues: function (n) { var t; System.Enum.checkEnumType(n); var i = [], r = System.Enum.getNames(n), u = n; for (t = 0; t < r.length; t++)i.push(u[r[t]]); return i.sort(function (n, t) { return System.Int64.is64Bit(n) ? n.sub(t).sign() : n - t }) }, format: function (n, t, i) { System.Enum.checkEnumType(n); var r; if (!Bridge.hasValue(t) && (r = "value") || !Bridge.hasValue(i) && (r = "format")) throw new System.ArgumentNullException(r); t = Bridge.unbox(t, !0); switch (i) { case "G": case "g": return System.Enum.toString(n, t); case "x": case "X": return t.toString(16); case "d": case "D": return t.toString(); case "f": case "F": return System.Enum.toString(n, t, !0); default: throw new System.FormatException; } }, getNames: function (n) { var r, i, t; if (System.Enum.checkEnumType(n), r = [], i = n, n.$names) return n.$names.slice(0); for (t in i) i.hasOwnProperty(t) && t.indexOf("$") < 0 && typeof i[t] != "function" && r.push([h.toName(t), i[t]]); return r.sort(function (n, t) { return System.Int64.is64Bit(n[1]) ? n[1].sub(t[1]).sign() : n[1] - t[1] }).map(function (n) { return n[0] }) }, getName: function (n, t) { var u, f, e, i, r; if (t = Bridge.unbox(t, !0), t == null) throw new System.ArgumentNullException("value"); if (u = System.Int64.is64Bit(t), !u && !(typeof t == "number" && Math.floor(t, 0) === t)) throw new System.ArgumentException("Argument must be integer", "value"); for (System.Enum.checkEnumType(n), f = System.Enum.getNames(n), e = n, i = 0; i < f.length; i++)if (r = f[i], u ? t.eq(e[r]) : e[r] === t) return r; return null }, hasFlag: function (n, t) { t = Bridge.unbox(t, !0); var i = System.Int64.is64Bit(n); return t === 0 || (i ? !n.and(t).isZero() : !!(n & t)) }, isDefined: function (n, t) { var i, r; t = Bridge.unbox(t, !0); System.Enum.checkEnumType(n); var u = n, f = System.Enum.getNames(n), e = Bridge.isString(t), o = System.Int64.is64Bit(t); for (i = 0; i < f.length; i++)if (r = f[i], e ? h.nameEquals(r, t, !1) : o ? t.eq(u[r]) : u[r] === t) return !0; return !1 }, tryParse: function (n, t, i, r) { return (i.v = 0, i.v = Bridge.unbox(h.parse(n, t, r, !0), !0), i.v == null) ? !1 : !0 }, equals: function (n, t, i) { return t && t.$boxed && (n && n.$boxed || i) && t.type !== (n.type || i) ? !1 : System.Enum.equalsT(n, t) }, equalsT: function (n, t) { return Bridge.equals(Bridge.unbox(n, !0), Bridge.unbox(t, !0)) } }; Bridge.define("System.Enum", { inherits: [System.IComparable, System.IFormattable], statics: { methods: h } }); vt = { hasValue: Bridge.hasValue, getValue: function (n) { if (n = Bridge.unbox(n, !0), !Bridge.hasValue(n)) throw new System.InvalidOperationException("Nullable instance doesn't have a value."); return n }, getValueOrDefault: function (n, t) { return Bridge.hasValue(n) ? n : t }, add: function (n, t) { return Bridge.hasValue$1(n, t) ? n + t : null }, band: function (n, t) { return Bridge.hasValue$1(n, t) ? n & t : null }, bor: function (n, t) { return Bridge.hasValue$1(n, t) ? n | t : null }, and: function (n, t) { return n === !0 && t === !0 ? !0 : n === !1 || t === !1 ? !1 : null }, or: function (n, t) { return n === !0 || t === !0 ? !0 : n === !1 && t === !1 ? !1 : null }, div: function (n, t) { return Bridge.hasValue$1(n, t) ? n / t : null }, eq: function (n, t) { return Bridge.hasValue(n) ? n === t : !Bridge.hasValue(t) }, equals: function (n, t, i) { return Bridge.hasValue(n) ? i ? i(n, t) : Bridge.equals(n, t) : !Bridge.hasValue(t) }, toString: function (n, t) { return Bridge.hasValue(n) ? t ? t(n) : n.toString() : "" }, toStringFn: function (n) { return function (t) { return System.Nullable.toString(t, n) } }, getHashCode: function (n, t) { return Bridge.hasValue(n) ? t ? t(n) : Bridge.getHashCode(n) : 0 }, getHashCodeFn: function (n) { return function (t) { return System.Nullable.getHashCode(t, n) } }, xor: function (n, t) { return Bridge.hasValue$1(n, t) ? n ^ t : null }, gt: function (n, t) { return Bridge.hasValue$1(n, t) && n > t }, gte: function (n, t) { return Bridge.hasValue$1(n, t) && n >= t }, neq: function (n, t) { return Bridge.hasValue(n) ? n !== t : Bridge.hasValue(t) }, lt: function (n, t) { return Bridge.hasValue$1(n, t) && n < t }, lte: function (n, t) { return Bridge.hasValue$1(n, t) && n <= t }, mod: function (n, t) { return Bridge.hasValue$1(n, t) ? n % t : null }, mul: function (n, t) { return Bridge.hasValue$1(n, t) ? n * t : null }, imul: function (n, t) { return Bridge.hasValue$1(n, t) ? Bridge.Int.mul(n, t) : null }, sl: function (n, t) { return Bridge.hasValue$1(n, t) ? n << t : null }, sr: function (n, t) { return Bridge.hasValue$1(n, t) ? n >> t : null }, srr: function (n, t) { return Bridge.hasValue$1(n, t) ? n >>> t : null }, sub: function (n, t) { return Bridge.hasValue$1(n, t) ? n - t : null }, bnot: function (n) { return Bridge.hasValue(n) ? ~n : null }, neg: function (n) { return Bridge.hasValue(n) ? -n : null }, not: function (n) { return Bridge.hasValue(n) ? !n : null }, pos: function (n) { return Bridge.hasValue(n) ? +n : null }, lift: function () { for (var n = 1; n < arguments.length; n++)if (!Bridge.hasValue(arguments[n])) return null; return arguments[0] == null ? null : arguments[0].apply == undefined ? arguments[0] : arguments[0].apply(null, Array.prototype.slice.call(arguments, 1)) }, lift1: function (n, t) { return Bridge.hasValue(t) ? typeof n == "function" ? n.apply(null, Array.prototype.slice.call(arguments, 1)) : t[n].apply(t, Array.prototype.slice.call(arguments, 2)) : null }, lift2: function (n, t, i) { return Bridge.hasValue$1(t, i) ? typeof n == "function" ? n.apply(null, Array.prototype.slice.call(arguments, 1)) : t[n].apply(t, Array.prototype.slice.call(arguments, 2)) : null }, liftcmp: function (n, t, i) { return Bridge.hasValue$1(t, i) ? typeof n == "function" ? n.apply(null, Array.prototype.slice.call(arguments, 1)) : t[n].apply(t, Array.prototype.slice.call(arguments, 2)) : !1 }, lifteq: function (n, t, i) { var r = Bridge.hasValue(t), u = Bridge.hasValue(i); return !r && !u || r && u && (typeof n == "function" ? n.apply(null, Array.prototype.slice.call(arguments, 1)) : t[n].apply(t, Array.prototype.slice.call(arguments, 2))) }, liftne: function (n, t, i) { var r = Bridge.hasValue(t), u = Bridge.hasValue(i); return r !== u || r && (typeof n == "function" ? n.apply(null, Array.prototype.slice.call(arguments, 1)) : t[n].apply(t, Array.prototype.slice.call(arguments, 2))) }, getUnderlyingType: function (n) { if (!n) throw new System.ArgumentNullException("nullableType"); if (Bridge.Reflection.isGenericType(n) && !Bridge.Reflection.isGenericTypeDefinition(n)) { var t = Bridge.Reflection.getGenericTypeDefinition(n); if (t === System.Nullable$1) return Bridge.Reflection.getGenericArguments(n)[0] } return null }, compare: function (n, t) { return System.Collections.Generic.Comparer$1.$default.compare(n, t) } }; System.Nullable = vt; Bridge.define("System.Nullable$1", function (n) { return { $kind: "struct", statics: { $nullable: !0, $nullableType: n, getDefaultValue: function () { return null }, $is: function (t) { return Bridge.is(t, n) } } } }); Bridge.define("System.Char", { inherits: [System.IComparable, System.IFormattable], $kind: "struct", statics: { min: 0, max: 65535, $is: function (n) { return typeof n == "number" && Math.round(n, 0) == n && n >= System.Char.min && n <= System.Char.max }, getDefaultValue: function () { return 0 }, parse: function (n) { if (!Bridge.hasValue(n)) throw new System.ArgumentNullException("s"); if (n.length !== 1) throw new System.FormatException; return n.charCodeAt(0) }, tryParse: function (n, t) { var i = n && n.length === 1; return t.v = i ? n.charCodeAt(0) : 0, i }, format: function (n, t, i) { return Bridge.Int.format(n, t, i) }, charCodeAt: function (n, t) { if (n == null) throw new System.ArgumentNullException; if (n.length != 1) throw new System.FormatException("String must be exactly one character long"); return n.charCodeAt(t) }, isWhiteSpace: function (n) { return !/[^\s\x09-\x0D\x85\xA0]/.test(n) }, isDigit: function (n) { return n < 256 ? n >= 48 && n <= 57 : new RegExp(/[0-9\u0030-\u0039\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]/).test(String.fromCharCode(n)) }, isLetter: function (n) { return n < 256 ? n >= 65 && n <= 90 || n >= 97 && n <= 122 : new RegExp(/[A-Za-z\u0061-\u007A\u00B5\u00DF-\u00F6\u00F8-\u00FF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0561-\u0587\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7FA\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A\u0041-\u005A\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA\uFF21-\uFF3A\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5\u06E6\u07F4\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA717-\uA71F\uA770\uA788\uA7F8\uA7F9\uA9CF\uAA70\uAADD\uAAF3\uAAF4\uFF70\uFF9E\uFF9F\u00AA\u00BA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E45\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A\uA62B\uA66E\uA6A0-\uA6E5\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/).test(String.fromCharCode(n)) }, isHighSurrogate: function (n) { return new RegExp(/[\uD800-\uDBFF]/).test(String.fromCharCode(n)) }, isLowSurrogate: function (n) { return new RegExp(/[\uDC00-\uDFFF]/).test(String.fromCharCode(n)) }, isSurrogate: function (n) { return new RegExp(/[\uD800-\uDFFF]/).test(String.fromCharCode(n)) }, isNull: function (n) { return new RegExp("\x00").test(String.fromCharCode(n)) }, isSymbol: function (n) { return n < 256 ? [36, 43, 60, 61, 62, 94, 96, 124, 126, 162, 163, 164, 165, 166, 167, 168, 169, 172, 174, 175, 176, 177, 180, 182, 184, 215, 247].indexOf(n) != -1 : new RegExp(/[\u20A0-\u20CF\u20D0-\u20FF\u2100-\u214F\u2150-\u218F\u2190-\u21FF\u2200-\u22FF\u2300-\u23FF\u25A0-\u25FF\u2600-\u26FF\u2700-\u27BF\u27C0-\u27EF\u27F0-\u27FF\u2800-\u28FF\u2900-\u297F\u2980-\u29FF\u2A00-\u2AFF\u2B00-\u2BFF]/).test(String.fromCharCode(n)) }, isSeparator: function (n) { return n < 256 ? n == 32 || n == 160 : new RegExp(/[\u2028\u2029\u0020\u00A0\u1680\u180E\u2000-\u200A\u202F\u205F\u3000]/).test(String.fromCharCode(n)) }, isPunctuation: function (n) { return n < 256 ? [33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 58, 59, 63, 64, 91, 92, 93, 95, 123, 125, 161, 171, 173, 183, 187, 191].indexOf(n) != -1 : new RegExp(/[\u0021-\u0023\u0025-\u002A\u002C-\u002F\u003A\u003B\u003F\u0040\u005B-\u005D\u005F\u007B\u007D\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E3B\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65\u002D\u058A\u05BE\u1400\u1806\u2010-\u2015\u2E17\u2E1A\u2E3A\u2E3B\u301C\u3030\u30A0\uFE31\uFE32\uFE58\uFE63\uFF0D\u0028\u005B\u007B\u0F3A\u0F3C\u169B\u201A\u201E\u2045\u207D\u208D\u2329\u2768\u276A\u276C\u276E\u2770\u2772\u2774\u27C5\u27E6\u27E8\u27EA\u27EC\u27EE\u2983\u2985\u2987\u2989\u298B\u298D\u298F\u2991\u2993\u2995\u2997\u29D8\u29DA\u29FC\u2E22\u2E24\u2E26\u2E28\u3008\u300A\u300C\u300E\u3010\u3014\u3016\u3018\u301A\u301D\uFD3E\uFE17\uFE35\uFE37\uFE39\uFE3B\uFE3D\uFE3F\uFE41\uFE43\uFE47\uFE59\uFE5B\uFE5D\uFF08\uFF3B\uFF5B\uFF5F\uFF62\u0029\u005D\u007D\u0F3B\u0F3D\u169C\u2046\u207E\u208E\u232A\u2769\u276B\u276D\u276F\u2771\u2773\u2775\u27C6\u27E7\u27E9\u27EB\u27ED\u27EF\u2984\u2986\u2988\u298A\u298C\u298E\u2990\u2992\u2994\u2996\u2998\u29D9\u29DB\u29FD\u2E23\u2E25\u2E27\u2E29\u3009\u300B\u300D\u300F\u3011\u3015\u3017\u3019\u301B\u301E\u301F\uFD3F\uFE18\uFE36\uFE38\uFE3A\uFE3C\uFE3E\uFE40\uFE42\uFE44\uFE48\uFE5A\uFE5C\uFE5E\uFF09\uFF3D\uFF5D\uFF60\uFF63\u00AB\u2018\u201B\u201C\u201F\u2039\u2E02\u2E04\u2E09\u2E0C\u2E1C\u2E20\u00BB\u2019\u201D\u203A\u2E03\u2E05\u2E0A\u2E0D\u2E1D\u2E21\u005F\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F\u0021-\u0023\u0025-\u0027\u002A\u002C\u002E\u002F\u003A\u003B\u003F\u0040\u005C\u00A1\u00A7\u00B6\u00B7\u00BF\u037E\u0387\u055A-\u055F\u0589\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u166D\u166E\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u1805\u1807-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2016\u2017\u2020-\u2027\u2030-\u2038\u203B-\u203E\u2041-\u2043\u2047-\u2051\u2053\u2055-\u205E\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00\u2E01\u2E06-\u2E08\u2E0B\u2E0E-\u2E16\u2E18\u2E19\u2E1B\u2E1E\u2E1F\u2E2A-\u2E2E\u2E30-\u2E39\u3001-\u3003\u303D\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFE10-\uFE16\uFE19\uFE30\uFE45\uFE46\uFE49-\uFE4C\uFE50-\uFE52\uFE54-\uFE57\uFE5F-\uFE61\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF07\uFF0A\uFF0C\uFF0E\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3C\uFF61\uFF64\uFF65]/).test(String.fromCharCode(n)) }, isNumber: function (n) { return n < 256 ? [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 178, 179, 185, 188, 189, 190].indexOf(n) != -1 : new RegExp(/[\u0030-\u0039\u00B2\u00B3\u00B9\u00BC-\u00BE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D66-\u0D75\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19\u0030-\u0039\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF\u00B2\u00B3\u00B9\u00BC-\u00BE\u09F4-\u09F9\u0B72-\u0B77\u0BF0-\u0BF2\u0C78-\u0C7E\u0D70-\u0D75\u0F2A-\u0F33\u1369-\u137C\u17F0-\u17F9\u19DA\u2070\u2074-\u2079\u2080-\u2089\u2150-\u215F\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA830-\uA835]/).test(String.fromCharCode(n)) }, isControl: function (n) { return n < 256 ? n >= 0 && n <= 31 || n >= 127 && n <= 159 : new RegExp(/[\u0000-\u001F\u007F\u0080-\u009F]/).test(String.fromCharCode(n)) }, isLatin1: function (n) { return n <= 255 }, isAscii: function (n) { return n <= 127 }, isUpper: function (n, t) { if (n == null) throw new System.ArgumentNullException("s"); if (t >>> 0 >= n.length >>> 0) throw new System.ArgumentOutOfRangeException("index"); var i = n.charCodeAt(t); return System.Char.isLatin1(i) && System.Char.isAscii(i) ? i >= 65 && i <= 90 : Bridge.isUpper(i) }, equals: function (n, t) { return Bridge.is(n, System.Char) && Bridge.is(t, System.Char) ? Bridge.unbox(n, !0) === Bridge.unbox(t, !0) : !1 }, equalsT: function (n, t) { return Bridge.unbox(n, !0) === Bridge.unbox(t, !0) }, getHashCode: function (n) { return n | n << 16 } } }); Bridge.Class.addExtend(System.Char, [System.IComparable$1(System.Char), System.IEquatable$1(System.Char)]); Bridge.define("System.FormattableString", { inherits: [System.IFormattable], statics: { methods: { invariant: function (n) { return n.toString$1(System.Globalization.CultureInfo.invariantCulture) } } }, methods: { toString: function () { return this.toString$1(System.Globalization.CultureInfo.getCurrentCulture()) }, System$IFormattable$format: function (n, t) { return this.toString$1(t) } } }); Bridge.define("System.FormattableStringImpl", { inherits: [System.FormattableString], fields: { args: null, format: null }, props: { ArgumentCount: { get: function () { return this.args.length } }, Format: { get: function () { return this.format } } }, ctors: { ctor: function (n, t) { t === void 0 && (t = []); this.$initialize(); System.FormattableString.ctor.call(this); this.format = n; this.args = t } }, methods: { getArgument: function (n) { return this.args[System.Array.index(n, this.args)] }, getArguments: function () { return this.args }, toString$1: function (n) { return System.String.formatProvider.apply(System.String, [n, this.format].concat(this.args)) } } }); Bridge.define("System.Runtime.CompilerServices.FormattableStringFactory", { statics: { methods: { create: function (n, t) { return t === void 0 && (t = []), new System.FormattableStringImpl(n, t) } } } }); Bridge.define("System.Exception", { config: { properties: { Message: { get: function () { return this.message } }, InnerException: { get: function () { return this.innerException } }, StackTrace: { get: function () { return this.errorStack.stack } }, Data: { get: function () { return this.data } } } }, ctor: function (n, t) { this.$initialize(); this.message = n ? n : "Exception of type '" + Bridge.getTypeName(this) + "' was thrown."; this.innerException = t ? t : null; this.errorStack = new Error(this.message); this.data = new (System.Collections.Generic.Dictionary$2(System.Object, System.Object)) }, getBaseException: function () { for (var n = this.innerException, t = this; n != null;)t = n, n = n.innerException; return t }, toString: function () { var n = Bridge.getTypeName(this); return n += this.Message != null ? ": " + this.Message + "\n" : "\n", this.StackTrace != null && (n += this.StackTrace + "\n"), n }, statics: { create: function (n) { if (Bridge.is(n, System.Exception)) return n; var t; if (n instanceof TypeError) t = new System.NullReferenceException(n.message, new Bridge.ErrorException(n)); else if (n instanceof RangeError) t = new System.ArgumentOutOfRangeException(null, n.message, new Bridge.ErrorException(n)); else { if (n instanceof Error) return new Bridge.ErrorException(n); t = n && n.error && n.error.stack ? new System.Exception(n.error.stack) : new System.Exception(n ? n.message ? n.message : n.toString() : null) } return t.errorStack = n, t } } }); Bridge.define("System.SystemException", { inherits: [System.Exception], ctor: function (n, t) { this.$initialize(); System.Exception.ctor.call(this, n || "System error.", t) } }); Bridge.define("System.OutOfMemoryException", { inherits: [System.SystemException], ctor: function (n, t) { this.$initialize(); n || (n = "Insufficient memory to continue the execution of the program."); System.SystemException.ctor.call(this, n, t) } }); Bridge.define("System.IndexOutOfRangeException", { inherits: [System.SystemException], ctor: function (n, t) { this.$initialize(); n || (n = "Index was outside the bounds of the array."); System.SystemException.ctor.call(this, n, t) } }); Bridge.define("System.TimeoutException", { inherits: [System.SystemException], ctor: function (n, t) { this.$initialize(); n || (n = "The operation has timed out."); System.SystemException.ctor.call(this, n, t) } }); Bridge.define("System.RegexMatchTimeoutException", { inherits: [System.TimeoutException], _regexInput: "", _regexPattern: "", _matchTimeout: null, config: { init: function () { this._matchTimeout = System.TimeSpan.fromTicks(-1) } }, ctor: function (n, t, i) { this.$initialize(); arguments.length == 3 && (this._regexInput = n, this._regexPattern = t, this._matchTimeout = i, n = "The RegEx engine has timed out while trying to match a pattern to an input string. This can occur for many reasons, including very large inputs or excessive backtracking caused by nested quantifiers, back-references and other factors.", t = null); System.TimeoutException.ctor.call(this, n, t) }, getPattern: function () { return this._regexPattern }, getInput: function () { return this._regexInput }, getMatchTimeout: function () { return this._matchTimeout } }); Bridge.define("Bridge.ErrorException", { inherits: [System.Exception], ctor: function (n) { this.$initialize(); System.Exception.ctor.call(this, n.message); this.errorStack = n; this.error = n }, getError: function () { return this.error } }); Bridge.define("System.ArgumentException", { inherits: [System.Exception], config: { properties: { ParamName: { get: function () { return this.paramName } } } }, ctor: function (n, t, i) { this.$initialize(); System.Exception.ctor.call(this, n || "Value does not fall within the expected range.", i); this.paramName = t ? t : null } }); Bridge.define("System.ArgumentNullException", { inherits: [System.ArgumentException], ctor: function (n, t, i) { this.$initialize(); t || (t = "Value cannot be null.", n && (t += "\nParameter name: " + n)); System.ArgumentException.ctor.call(this, t, n, i) } }); Bridge.define("System.ArgumentOutOfRangeException", { inherits: [System.ArgumentException], config: { properties: { ActualValue: { get: function () { return this.actualValue } } } }, ctor: function (n, t, i, r) { this.$initialize(); t || (t = "Value is out of range.", n && (t += "\nParameter name: " + n)); System.ArgumentException.ctor.call(this, t, n, i); this.actualValue = r ? r : null } }); Bridge.define("System.Globalization.CultureNotFoundException", { inherits: [System.ArgumentException], ctor: function (n, t, i, r, u) { this.$initialize(); i || (i = "Culture is not supported.", n && (i += "\nParameter name: " + n), t && (i += "\n" + t + " is an invalid culture identifier.")); System.ArgumentException.ctor.call(this, i, n, r); this.invalidCultureName = t ? t : null; this.invalidCultureId = u ? u : null }, getInvalidCultureName: function () { return this.invalidCultureName }, getInvalidCultureId: function () { return this.invalidCultureId } }); Bridge.define("System.Collections.Generic.KeyNotFoundException", { inherits: [System.Exception], ctor: function (n, t) { this.$initialize(); System.Exception.ctor.call(this, n || "Key not found.", t) } }); Bridge.define("System.ArithmeticException", { inherits: [System.Exception], ctor: function (n, t) { this.$initialize(); System.Exception.ctor.call(this, n || "Overflow or underflow in the arithmetic operation.", t) } }); Bridge.define("System.DivideByZeroException", { inherits: [System.ArithmeticException], ctor: function (n, t) { this.$initialize(); System.ArithmeticException.ctor.call(this, n || "Attempted to divide by zero.", t) } }); Bridge.define("System.OverflowException", { inherits: [System.ArithmeticException], ctor: function (n, t) { this.$initialize(); System.ArithmeticException.ctor.call(this, n || "Arithmetic operation resulted in an overflow.", t) } }); Bridge.define("System.FormatException", { inherits: [System.Exception], ctor: function (n, t) { this.$initialize(); System.Exception.ctor.call(this, n || "Invalid format.", t) } }); Bridge.define("System.InvalidCastException", { inherits: [System.Exception], ctor: function (n, t) { this.$initialize(); System.Exception.ctor.call(this, n || "The cast is not valid.", t) } }); Bridge.define("System.InvalidOperationException", { inherits: [System.Exception], ctor: function (n, t) { this.$initialize(); System.Exception.ctor.call(this, n || "Operation is not valid due to the current state of the object.", t) } }); Bridge.define("System.NotImplementedException", { inherits: [System.Exception], ctor: function (n, t) { this.$initialize(); System.Exception.ctor.call(this, n || "The method or operation is not implemented.", t) } }); Bridge.define("System.NotSupportedException", { inherits: [System.Exception], ctor: function (n, t) { this.$initialize(); System.Exception.ctor.call(this, n || "Specified method is not supported.", t) } }); Bridge.define("System.NullReferenceException", { inherits: [System.Exception], ctor: function (n, t) { this.$initialize(); System.Exception.ctor.call(this, n || "Object is null.", t) } }); Bridge.define("System.RankException", { inherits: [System.Exception], ctor: function (n, t) { this.$initialize(); System.Exception.ctor.call(this, n || "Attempted to operate on an array with the incorrect number of dimensions.", t) } }); Bridge.define("Bridge.PromiseException", { inherits: [System.Exception], ctor: function (n, t, i) { this.$initialize(); this.arguments = System.Array.clone(n); t == null && (t = "Promise exception: [", t += this.arguments.map(function (n) { return n == null ? "null" : n.toString() }).join(", "), t += "]"); System.Exception.ctor.call(this, t, i) }, getArguments: function () { return this.arguments } }); Bridge.define("System.OperationCanceledException", { inherits: [System.Exception], ctor: function (n, t, i) { this.$initialize(); System.Exception.ctor.call(this, n || "Operation was canceled.", i); this.cancellationToken = t || System.Threading.CancellationToken.none } }); Bridge.define("System.Threading.Tasks.TaskCanceledException", { inherits: [System.OperationCanceledException], ctor: function (n, t, i) { this.$initialize(); System.OperationCanceledException.ctor.call(this, n || "A task was canceled.", null, i); this.task = t || null } }); Bridge.define("System.AggregateException", { inherits: [System.Exception], ctor: function (n, t) { this.$initialize(); this.innerExceptions = new (System.Collections.ObjectModel.ReadOnlyCollection$1(System.Exception))(Bridge.hasValue(t) ? Bridge.toArray(t) : []); System.Exception.ctor.call(this, n || "One or more errors occurred.", this.innerExceptions.Count > 0 ? this.innerExceptions.getItem(0) : null) }, handle: function (n) { var r, i, t; if (!Bridge.hasValue(n)) throw new System.ArgumentNullException("predicate"); for (r = this.innerExceptions.Count, i = [], t = 0; t < r; t++)n(this.innerExceptions.get(t)) || i.push(this.innerExceptions.getItem(t)); if (i.length > 0) throw new System.AggregateException(this.Message, i); }, getBaseException: function () { for (var n = this, t = this; t != null && t.innerExceptions.Count === 1;)n = n.InnerException, t = Bridge.as(n, System.AggregateException); return n }, flatten: function () { var e = new (System.Collections.Generic.List$1(System.Exception)), n = new (System.Collections.Generic.List$1(System.AggregateException)), r, u, o, t, i, f; for (n.add(this), r = 0; n.Count > r;)for (u = n.getItem(r++).innerExceptions, o = u.Count, t = 0; t < o; t++)(i = u.getItem(t), Bridge.hasValue(i)) && (f = Bridge.as(i, System.AggregateException), Bridge.hasValue(f) ? n.add(f) : e.add(i)); return new System.AggregateException(this.Message, e) } }); Bridge.define("System.Reflection.AmbiguousMatchException", { inherits: [System.Exception], ctor: function (n, t) { this.$initialize(); System.Exception.ctor.call(this, n || "Ambiguous match.", t) } }); Bridge.define("System.Globalization.TextInfo", { inherits: [System.ICloneable, System.Object], fields: { listSeparator: null }, props: { ANSICodePage: 0, CultureName: null, EBCDICCodePage: 0, IsReadOnly: !1, IsRightToLeft: !1, LCID: 0, ListSeparator: { get: function () { return this.listSeparator }, set: function (n) { this.verifyWritable(); this.listSeparator = n } }, MacCodePage: 0, OEMCodePage: 0 }, alias: ["clone", "System$ICloneable$clone"], methods: { clone: function () { return Bridge.copy(new System.Globalization.TextInfo, this, System.Array.init(["ANSICodePage", "CultureName", "EBCDICCodePage", "IsRightToLeft", "LCID", "listSeparator", "MacCodePage", "OEMCodePage", "IsReadOnly"], System.String)) }, verifyWritable: function () { if (this.IsReadOnly) throw new System.InvalidOperationException("Instance is read-only."); } } }); Bridge.define("System.Globalization.DateTimeFormatInfo", { inherits: [System.IFormatProvider, System.ICloneable], config: { alias: ["getFormat", "System$IFormatProvider$getFormat"] }, statics: { $allStandardFormats: { d: "shortDatePattern", D: "longDatePattern", f: "longDatePattern shortTimePattern", F: "longDatePattern longTimePattern", g: "shortDatePattern shortTimePattern", G: "shortDatePattern longTimePattern", m: "monthDayPattern", M: "monthDayPattern", o: "roundtripFormat", O: "roundtripFormat", r: "rfc1123", R: "rfc1123", s: "sortableDateTimePattern", S: "sortableDateTimePattern1", t: "shortTimePattern", T: "longTimePattern", u: "universalSortableDateTimePattern", U: "longDatePattern longTimePattern", y: "yearMonthPattern", Y: "yearMonthPattern" }, ctor: function () { this.invariantInfo = Bridge.merge(new System.Globalization.DateTimeFormatInfo, { abbreviatedDayNames: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], abbreviatedMonthGenitiveNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", ""], abbreviatedMonthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", ""], amDesignator: "AM", dateSeparator: "/", dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], firstDayOfWeek: 0, fullDateTimePattern: "dddd, dd MMMM yyyy HH:mm:ss", longDatePattern: "dddd, dd MMMM yyyy", longTimePattern: "HH:mm:ss", monthDayPattern: "MMMM dd", monthGenitiveNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", ""], monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", ""], pmDesignator: "PM", rfc1123: "ddd, dd MMM yyyy HH':'mm':'ss 'GMT'", shortDatePattern: "MM/dd/yyyy", shortestDayNames: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], shortTimePattern: "HH:mm", sortableDateTimePattern: "yyyy'-'MM'-'dd'T'HH':'mm':'ss", sortableDateTimePattern1: "yyyy'-'MM'-'dd", timeSeparator: ":", universalSortableDateTimePattern: "yyyy'-'MM'-'dd HH':'mm':'ss'Z'", yearMonthPattern: "yyyy MMMM", roundtripFormat: "yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffzzz" }) } }, getFormat: function (n) { switch (n) { case System.Globalization.DateTimeFormatInfo: return this; default: return null } }, getAbbreviatedDayName: function (n) { if (n < 0 || n > 6) throw new System.ArgumentOutOfRangeException("dayofweek"); return this.abbreviatedDayNames[n] }, getAbbreviatedMonthName: function (n) { if (n < 1 || n > 13) throw new System.ArgumentOutOfRangeException("month"); return this.abbreviatedMonthNames[n - 1] }, getAllDateTimePatterns: function (n, t) { var i = System.Globalization.DateTimeFormatInfo.$allStandardFormats, r, e, f, u, o = []; if (n) { if (!i[n]) { if (t) return null; throw new System.ArgumentException(null, "format"); } r = {}; r[n] = i[n] } else r = i; for (i in r) { for (e = r[i].split(" "), f = "", u = 0; u < e.length; u++)f = (u === 0 ? "" : f + " ") + this[e[u]]; o.push(f) } return o }, getDayName: function (n) { if (n < 0 || n > 6) throw new System.ArgumentOutOfRangeException("dayofweek"); return this.dayNames[n] }, getMonthName: function (n) { if (n < 1 || n > 13) throw new System.ArgumentOutOfRangeException("month"); return this.monthNames[n - 1] }, getShortestDayName: function (n) { if (n < 0 || n > 6) throw new System.ArgumentOutOfRangeException("dayOfWeek"); return this.shortestDayNames[n] }, clone: function () { return Bridge.copy(new System.Globalization.DateTimeFormatInfo, this, ["abbreviatedDayNames", "abbreviatedMonthGenitiveNames", "abbreviatedMonthNames", "amDesignator", "dateSeparator", "dayNames", "firstDayOfWeek", "fullDateTimePattern", "longDatePattern", "longTimePattern", "monthDayPattern", "monthGenitiveNames", "monthNames", "pmDesignator", "rfc1123", "shortDatePattern", "shortestDayNames", "shortTimePattern", "sortableDateTimePattern", "timeSeparator", "universalSortableDateTimePattern", "yearMonthPattern", "roundtripFormat"]) } }); Bridge.define("System.Globalization.NumberFormatInfo", { inherits: [System.IFormatProvider, System.ICloneable], config: { alias: ["getFormat", "System$IFormatProvider$getFormat"] }, statics: { ctor: function () { this.numberNegativePatterns = ["(n)", "-n", "- n", "n-", "n -"]; this.currencyNegativePatterns = ["($n)", "-$n", "$-n", "$n-", "(n$)", "-n$", "n-$", "n$-", "-n $", "-$ n", "n $-", "$ n-", "$ -n", "n- $", "($ n)", "(n $)"]; this.currencyPositivePatterns = ["$n", "n$", "$ n", "n $"]; this.percentNegativePatterns = ["-n %", "-n%", "-%n", "%-n", "%n-", "n-%", "n%-", "-% n", "n %-", "% n-", "% -n", "n- %"]; this.percentPositivePatterns = ["n %", "n%", "%n", "% n"]; this.invariantInfo = Bridge.merge(new System.Globalization.NumberFormatInfo, { nanSymbol: "NaN", negativeSign: "-", positiveSign: "+", negativeInfinitySymbol: "-Infinity", positiveInfinitySymbol: "Infinity", percentSymbol: "%", percentGroupSizes: [3], percentDecimalDigits: 2, percentDecimalSeparator: ".", percentGroupSeparator: ",", percentPositivePattern: 0, percentNegativePattern: 0, currencySymbol: "¤", currencyGroupSizes: [3], currencyDecimalDigits: 2, currencyDecimalSeparator: ".", currencyGroupSeparator: ",", currencyNegativePattern: 0, currencyPositivePattern: 0, numberGroupSizes: [3], numberDecimalDigits: 2, numberDecimalSeparator: ".", numberGroupSeparator: ",", numberNegativePattern: 1 }) } }, getFormat: function (n) { switch (n) { case System.Globalization.NumberFormatInfo: return this; default: return null } }, clone: function () { return Bridge.copy(new System.Globalization.NumberFormatInfo, this, ["nanSymbol", "negativeSign", "positiveSign", "negativeInfinitySymbol", "positiveInfinitySymbol", "percentSymbol", "percentGroupSizes", "percentDecimalDigits", "percentDecimalSeparator", "percentGroupSeparator", "percentPositivePattern", "percentNegativePattern", "currencySymbol", "currencyGroupSizes", "currencyDecimalDigits", "currencyDecimalSeparator", "currencyGroupSeparator", "currencyNegativePattern", "currencyPositivePattern", "numberGroupSizes", "numberDecimalDigits", "numberDecimalSeparator", "numberGroupSeparator", "numberNegativePattern"]) } }); Bridge.define("System.Globalization.CultureInfo", { inherits: [System.IFormatProvider, System.ICloneable], config: { alias: ["getFormat", "System$IFormatProvider$getFormat"] }, $entryPoint: !0, statics: { ctor: function () { this.cultures = this.cultures || {}; this.invariantCulture = Bridge.merge(new System.Globalization.CultureInfo("iv", !0), { englishName: "Invariant Language (Invariant Country)", nativeName: "Invariant Language (Invariant Country)", numberFormat: System.Globalization.NumberFormatInfo.invariantInfo, dateTimeFormat: System.Globalization.DateTimeFormatInfo.invariantInfo, TextInfo: Bridge.merge(new System.Globalization.TextInfo, { ANSICodePage: 1252, CultureName: "", EBCDICCodePage: 37, listSeparator: ",", IsRightToLeft: !1, LCID: 127, MacCodePage: 1e4, OEMCodePage: 437, IsReadOnly: !0 }) }); this.setCurrentCulture(System.Globalization.CultureInfo.invariantCulture) }, getCurrentCulture: function () { return this.currentCulture }, setCurrentCulture: function (n) { this.currentCulture = n; System.Globalization.DateTimeFormatInfo.currentInfo = n.dateTimeFormat; System.Globalization.NumberFormatInfo.currentInfo = n.numberFormat }, getCultureInfo: function (n) { if (n == null) throw new System.ArgumentNullException("name"); else if (n === "") return System.Globalization.CultureInfo.invariantCulture; var t = this.cultures[n]; if (t == null) throw new System.Globalization.CultureNotFoundException("name", n); return t }, getCultures: function () { for (var t = Bridge.getPropertyNames(this.cultures), i = [], n = 0; n < t.length; n++)i.push(this.cultures[t[n]]); return i } }, ctor: function (n, t) { if (this.$initialize(), this.name = n, System.Globalization.CultureInfo.cultures || (System.Globalization.CultureInfo.cultures = {}), n == null) throw new System.ArgumentNullException("name"); var i; if (i = n === "" ? System.Globalization.CultureInfo.invariantCulture : System.Globalization.CultureInfo.cultures[n], i == null) { if (!t) throw new System.Globalization.CultureNotFoundException("name", n); System.Globalization.CultureInfo.cultures[n] = this } else Bridge.copy(this, i, ["englishName", "nativeName", "numberFormat", "dateTimeFormat", "TextInfo"]), this.TextInfo.IsReadOnly = !1 }, getFormat: function (n) { switch (n) { case System.Globalization.NumberFormatInfo: return this.numberFormat; case System.Globalization.DateTimeFormatInfo: return this.dateTimeFormat; default: return null } }, clone: function () { return new System.Globalization.CultureInfo(this.name) } }); Bridge.Math = { divRem: function (n, t, i) { var r = n % t; return i.v = r, (n - r) / t }, round: function (n, t, i) { var u = Math.pow(10, t || 0), r, f; return (n *= u, r = n > 0 | -(n < 0), n % 1 == .5 * r) ? (f = Math.floor(n), (f + (i === 4 ? r > 0 : f % 2 * r)) / u) : Math.round(n) / u }, log10: Math.log10 || function (n) { return Math.log(n) / Math.LN10 }, logWithBase: function (n, t) { return isNaN(n) ? n : isNaN(t) ? t : t === 1 ? NaN : n !== 1 && (t === 0 || t === Number.POSITIVE_INFINITY) ? NaN : Bridge.Math.log10(n) / Bridge.Math.log10(t) }, log: function (n) { return n === 0 ? Number.NEGATIVE_INFINITY : n < 0 || isNaN(n) ? NaN : n === Number.POSITIVE_INFINITY ? Number.POSITIVE_INFINITY : n === Number.NEGATIVE_INFINITY ? NaN : Math.log(n) }, sinh: Math.sinh || function (n) { return (Math.exp(n) - Math.exp(-n)) / 2 }, cosh: Math.cosh || function (n) { return (Math.exp(n) + Math.exp(-n)) / 2 }, tanh: Math.tanh || function (n) { if (n === Infinity) return 1; if (n === -Infinity) return -1; var t = Math.exp(2 * n); return (t - 1) / (t + 1) } }; Bridge.define("System.Boolean", { inherits: [System.IComparable], statics: { trueString: "True", falseString: "False", $is: function (n) { return typeof n == "boolean" }, getDefaultValue: function () { return !1 }, createInstance: function () { return !1 }, toString: function (n) { return n ? System.Boolean.trueString : System.Boolean.falseString }, parse: function (n) { if (!Bridge.hasValue(n)) throw new System.ArgumentNullException("value"); var t = { v: !1 }; if (!System.Boolean.tryParse(n, t)) throw new System.FormatException("Bad format for Boolean value"); return t.v }, tryParse: function (n, t) { if (t.v = !1, !Bridge.hasValue(n)) return !1; if (System.String.equals(System.Boolean.trueString, n, 5)) return t.v = !0, !0; if (System.String.equals(System.Boolean.falseString, n, 5)) return t.v = !1, !0; for (var i = 0, r = n.length - 1; i < n.length;) { if (!System.Char.isWhiteSpace(n[i]) && !System.Char.isNull(n.charCodeAt(i))) break; i++ } while (r >= i) { if (!System.Char.isWhiteSpace(n[r]) && !System.Char.isNull(n.charCodeAt(r))) break; r-- } return (n = n.substr(i, r - i + 1), System.String.equals(System.Boolean.trueString, n, 5)) ? (t.v = !0, !0) : System.String.equals(System.Boolean.falseString, n, 5) ? (t.v = !1, !0) : !1 } } }); System.Boolean.$kind = ""; Bridge.Class.addExtend(System.Boolean, [System.IComparable$1(System.Boolean), System.IEquatable$1(System.Boolean)]), function () { var n = function (n, t, i, r) { var u = Bridge.define(n, { inherits: [System.IComparable, System.IFormattable], statics: { $number: !0, min: t, max: i, precision: r, $is: function (n) { return typeof n == "number" && Math.floor(n, 0) === n && n >= t && n <= i }, getDefaultValue: function () { return 0 }, parse: function (n, r) { return Bridge.Int.parseInt(n, t, i, r) }, tryParse: function (n, r, u) { return Bridge.Int.tryParseInt(n, r, t, i, u) }, format: function (n, t, i) { return Bridge.Int.format(n, t, i, u) }, equals: function (n, t) { return Bridge.is(n, u) && Bridge.is(t, u) ? Bridge.unbox(n, !0) === Bridge.unbox(t, !0) : !1 }, equalsT: function (n, t) { return Bridge.unbox(n, !0) === Bridge.unbox(t, !0) } } }); u.$kind = ""; Bridge.Class.addExtend(u, [System.IComparable$1(u), System.IEquatable$1(u)]) }; n("System.Byte", 0, 255, 3); n("System.SByte", -128, 127, 3); n("System.Int16", -32768, 32767, 5); n("System.UInt16", 0, 65535, 5); n("System.Int32", -2147483648, 2147483647, 10); n("System.UInt32", 0, 4294967295, 10) }(); Bridge.define("Bridge.Int", { inherits: [System.IComparable, System.IFormattable], statics: { $number: !0, $is: function (n) { return typeof n == "number" && isFinite(n) && Math.floor(n, 0) === n }, getDefaultValue: function () { return 0 }, format: function (n, t, i, r) { var e = (i || System.Globalization.CultureInfo.getCurrentCulture()).getFormat(System.Globalization.NumberFormatInfo), nt = e.numberDecimalSeparator, rt = e.numberGroupSeparator, f = n instanceof System.Decimal, o = n instanceof System.Int64 || n instanceof System.UInt64, tt = f || o ? n.isZero() ? !1 : n.isNegative() : n < 0, l, u, v, b, g, c, k, d, a; if (!o && (f ? !n.isFinite() : !isFinite(n))) return Number.NEGATIVE_INFINITY === n || f && tt ? e.negativeInfinitySymbol : isNaN(n) ? e.nanSymbol : e.positiveInfinitySymbol; if (t || (t = "G"), l = t.match(/^([a-zA-Z])(\d*)$/), l) { b = l[1].toUpperCase(); u = parseInt(l[2], 10); switch (b) { case "D": return this.defaultFormat(n, isNaN(u) ? 1 : u, 0, 0, e, !0); case "F": case "N": return isNaN(u) && (u = e.numberDecimalDigits), this.defaultFormat(n, 1, u, u, e, b === "F"); case "G": case "E": for (var h = 0, s = f || o ? o && n.eq(System.Int64.MinValue) ? System.Int64(n.value.toUnsigned()) : n.abs() : Math.abs(n), y = l[1], it = 3, p, w; f || o ? s.gte(10) : s >= 10;)f || o ? s = s.div(10) : s /= 10, h++; while (f || o ? s.ne(0) && s.lt(1) : s !== 0 && s < 1) f || o ? s = s.mul(10) : s *= 10, h--; if (b === "G") { if (g = isNaN(u), g && (u = f ? 29 : o ? n instanceof System.Int64 ? 19 : 20 : r && r.precision ? r.precision : 15), h > -5 && h < u || f && g) return p = 0, w = u - (h > 0 ? h + 1 : 1), this.defaultFormat(n, 1, p, w, e, !0); y = y === "G" ? "E" : "e"; it = 2; p = 0; w = (u || 15) - 1 } else p = w = isNaN(u) ? 6 : u; return h >= 0 ? y += e.positiveSign : (y += e.negativeSign, h = -h), tt && (f || o ? s = s.mul(-1) : s *= -1), this.defaultFormat(s, 1, p, w, e) + y + this.defaultFormat(h, it, 0, 0, e, !0); case "P": return isNaN(u) && (u = e.percentDecimalDigits), this.defaultFormat(n * 100, 1, u, u, e, !1, "percent"); case "X": for (c = f ? n.round().value.toHex().substr(2) : o ? n.toString(16) : Math.round(n).toString(16), l[1] === "X" && (c = c.toUpperCase()), u -= c.length; u-- > 0;)c = "0" + c; return c; case "C": return isNaN(u) && (u = e.currencyDecimalDigits), this.defaultFormat(n, 1, u, u, e, !1, "currency"); case "R": return k = f || o ? n.toString() : "" + n, nt !== "." && (k = k.replace(".", nt)), k.replace("e", "E") } } if (t.indexOf(",.") !== -1 || System.String.endsWith(t, ",")) { for (d = 0, a = t.indexOf(",."), a === -1 && (a = t.length - 1); a > -1 && t.charAt(a) === ",";)d++, a--; f || o ? n = n.div(Math.pow(1e3, d)) : n /= Math.pow(1e3, d) } return t.indexOf("%") !== -1 && (f || o ? n = n.mul(100) : n *= 100), t.indexOf("‰") !== -1 && (f || o ? n = n.mul(1e3) : n *= 1e3), v = t.split(";"), (f || o ? n.lt(0) : n < 0) && v.length > 1 ? (f || o ? n = n.mul(-1) : n *= -1, t = v[1]) : t = v[(f || o ? n.ne(0) : !n) && v.length > 2 ? 2 : 0], this.customFormat(n, t, e, !t.match(/^[^\.]*[0#],[0#]/)) }, defaultFormat: function (n, t, i, r, u, f, e) { e = e || "number"; var h = (u || System.Globalization.CultureInfo.getCurrentCulture()).getFormat(System.Globalization.NumberFormatInfo), o, p, w, ut, v, y, b = h[e + "GroupSizes"], s, k, d, l, a, g, nt, c = "", tt = n instanceof System.Decimal, it = n instanceof System.Int64 || n instanceof System.UInt64, ft = tt || it ? n.isZero() ? !1 : n.isNegative() : n < 0, rt = !1; if (ut = Math.pow(10, r), o = tt ? n.abs().toDecimalPlaces(r).toFixed() : it ? n.eq(System.Int64.MinValue) ? n.value.toUnsigned().toString() : n.abs().toString() : "" + +Math.abs(n).toFixed(r), rt = o.split("").every(function (n) { return n === "0" || n === "." }), p = o.indexOf("."), p > 0 && (s = h[e + "DecimalSeparator"] + o.substr(p + 1), o = o.substr(0, p)), o.length < t && (o = Array(t - o.length + 1).join("0") + o), s ? (s.length - 1 < i && (s += Array(i - s.length + 2).join("0")), r === 0 ? s = null : s.length - 1 > r && (s = s.substr(0, r + 1))) : i > 0 && (s = h[e + "DecimalSeparator"] + Array(i + 1).join("0")), v = 0, y = b[v], o.length < y) c = o, s && (c += s); else { for (k = o.length, d = !1, nt = f ? "" : h[e + "GroupSeparator"]; !d;) { if (a = y, l = k - a, l < 0 && (y += l, a += l, l = 0, d = !0), !a) break; g = o.substr(l, a); c = c.length ? g + nt + c : g; k -= a; v < b.length - 1 && (v++, y = b[v]) } s && (c += s) } return ft && !rt ? (w = System.Globalization.NumberFormatInfo[e + "NegativePatterns"][h[e + "NegativePattern"]], w.replace("-", h.negativeSign).replace("%", h.percentSymbol).replace("$", h.currencySymbol).replace("n", c)) : System.Globalization.NumberFormatInfo[e + "PositivePatterns"] ? (w = System.Globalization.NumberFormatInfo[e + "PositivePatterns"][h[e + "PositivePattern"]], w.replace("%", h.percentSymbol).replace("$", h.currencySymbol).replace("n", c)) : c }, customFormat: function (n, t, i, r) { var p = 0, s = -1, h = -1, w = 0, b = -1, a = 0, nt = 1, u, f, o, v, c, k, tt = !1, it = !1, y, l, e = "", d = !1, rt = !1, g = !1, ut = n instanceof System.Decimal, ft = n instanceof System.Int64 || n instanceof System.UInt64, et = ut || ft ? n.isZero() ? !1 : n.isNegative() : n < 0; for (y = "number", t.indexOf("%") !== -1 ? y = "percent" : t.indexOf("$") !== -1 && (y = "currency"), f = 0; f < t.length; f++)if (u = t.charAt(f), u === "'" || u === '"') { if (f = t.indexOf(u, f + 1), f < 0) break } else u === "\\" ? f++ : ((u === "0" || u === "#") && (w += a, u === "0" && (a ? b = w : s < 0 && (s = p)), p += !a), a = a || u === "."); for (s = s < 0 ? 1 : p - s, et && (tt = !0), c = Math.pow(10, w), n = ut ? System.Decimal.round(n.abs().mul(c), 4).div(c).toString() : ft ? (n.eq(System.Int64.MinValue) ? System.Int64(n.value.toUnsigned()) : n.abs()).mul(c).div(c).toString() : "" + Math.round(Math.abs(n) * c) / c, it = n.split("").every(function (n) { return n === "0" || n === "." }), k = n.indexOf("."), h = k < 0 ? n.length : k, f = h - p, l = { groupIndex: Math.max(h, s), sep: r ? "" : i[y + "GroupSeparator"] }, h === 1 && n.charAt(0) === "0" && (d = !0), o = 0; o < t.length; o++)if (u = t.charAt(o), u === "'" || u === '"') { if (v = t.indexOf(u, o + 1), e += t.substring(o + 1, v < 0 ? t.length : v), v < 0) break; o = v } else u === "\\" ? (e += t.charAt(o + 1), o++) : u === "#" || u === "0" ? (g = !0, !rt && d && u === "#" ? f++ : (l.buffer = e, f < h ? (f >= 0 ? (nt && this.addGroup(n.substr(0, f), l), this.addGroup(n.charAt(f), l)) : f >= h - s && this.addGroup("0", l), nt = 0) : (b-- > 0 || f < n.length) && this.addGroup(f >= n.length ? "0" : n.charAt(f), l), e = l.buffer, f++)) : u === "." ? (g || d || (e += n.substr(0, h), g = !0), (n.length > ++f || b > 0) && (rt = !0, e += i[y + "DecimalSeparator"])) : u !== "," && (e += u); return tt && !it && (e = "-" + e), e }, addGroup: function (n, t) { for (var i = t.buffer, f = t.sep, r = t.groupIndex, u = 0, e = n.length; u < e; u++)i += n.charAt(u), f && r > 1 && r-- % 3 == 1 && (i += f); t.buffer = i; t.groupIndex = r }, parseFloat: function (n, t) { var i = {}; return Bridge.Int.tryParseFloat(n, t, i, !1), i.v }, tryParseFloat: function (n, t, i, r) { var l, a, u, v; if (i.v = 0, r == null && (r = !0), n == null) { if (r) return !1; throw new System.ArgumentNullException("s"); } n = n.trim(); var f = (t || System.Globalization.CultureInfo.getCurrentCulture()).getFormat(System.Globalization.NumberFormatInfo), h = f.numberDecimalSeparator, e = f.numberGroupSeparator, o = "Input string was not in a correct format.", s = n.indexOf(h), c = e ? n.indexOf(e) : -1; if (s > -1 && (s < c || c > -1 && s < n.indexOf(e, s) || n.indexOf(h, s + 1) > -1)) { if (r) return !1; throw new System.FormatException(o); } if (h !== "." && e !== "." && n.indexOf(".") > -1) { if (r) return !1; throw new System.FormatException(o); } if (c > -1) { for (l = "", u = 0; u < n.length; u++)n[u] !== e && (l += n[u]); n = l } if (n === f.negativeInfinitySymbol) return i.v = Number.NEGATIVE_INFINITY, !0; if (n === f.positiveInfinitySymbol) return i.v = Number.POSITIVE_INFINITY, !0; if (n === f.nanSymbol) return i.v = Number.NaN, !0; for (a = 0, u = 0; u < n.length; u++)if (System.Char.isLetter(n[u].charCodeAt(0))) if (n[u].toLowerCase() === "e") { if (a++, a > 1) { if (r) return !1; throw new System.FormatException(o); } } else { if (r) return !1; throw new System.FormatException(o); } if (v = parseFloat(n.replace(h, ".")), isNaN(v)) { if (r) return !1; throw new System.FormatException(o); } return i.v = v, !0 }, parseInt: function (n, t, i, r) { if (r = r || 10, n == null) throw new System.ArgumentNullException("str"); if (r <= 10 && !/^[+-]?[0-9]+$/.test(n) || r == 16 && !/^[+-]?[0-9A-F]+$/gi.test(n)) throw new System.FormatException("Input string was not in a correct format."); var u = parseInt(n, r); if (isNaN(u)) throw new System.FormatException("Input string was not in a correct format."); if (u < t || u > i) throw new System.OverflowException; return u }, tryParseInt: function (n, t, i, r, u) { return (t.v = 0, u = u || 10, u <= 10 && !/^[+-]?[0-9]+$/.test(n) || u == 16 && !/^[+-]?[0-9A-F]+$/gi.test(n)) ? !1 : (t.v = parseInt(n, u), t.v < i || t.v > r) ? (t.v = 0, !1) : !0 }, isInfinite: function (n) { return n === Number.POSITIVE_INFINITY || n === Number.NEGATIVE_INFINITY }, trunc: function (n) { return Bridge.isNumber(n) ? n > 0 ? Math.floor(n) : Math.ceil(n) : Bridge.Int.isInfinite(n) ? n : null }, div: function (n, t) { if (n == null || t == null) return null; if (t === 0) throw new System.DivideByZeroException; return this.trunc(n / t) }, mod: function (n, t) { if (n == null || t == null) return null; if (t === 0) throw new System.DivideByZeroException; return n % t }, check: function (n, t) { if (System.Int64.is64Bit(n)) return System.Int64.check(n, t); if (n instanceof System.Decimal) return System.Decimal.toInt(n, t); if (Bridge.isNumber(n)) { if (System.Int64.is64BitType(t)) { if (t === System.UInt64 && n < 0) throw new System.OverflowException; return t === System.Int64 ? System.Int64(n) : System.UInt64(n) } if (!t.$is(n)) throw new System.OverflowException; } return Bridge.Int.isInfinite(n) ? System.Int64.is64BitType(t) ? t.MinValue : t.min : n }, sxb: function (n) { return Bridge.isNumber(n) ? n | (n & 128 ? 4294967040 : 0) : Bridge.Int.isInfinite(n) ? System.SByte.min : null }, sxs: function (n) { return Bridge.isNumber(n) ? n | (n & 32768 ? 4294901760 : 0) : Bridge.Int.isInfinite(n) ? System.Int16.min : null }, clip8: function (n) { return Bridge.isNumber(n) ? Bridge.Int.sxb(n & 255) : Bridge.Int.isInfinite(n) ? System.SByte.min : null }, clipu8: function (n) { return Bridge.isNumber(n) ? n & 255 : Bridge.Int.isInfinite(n) ? System.Byte.min : null }, clip16: function (n) { return Bridge.isNumber(n) ? Bridge.Int.sxs(n & 65535) : Bridge.Int.isInfinite(n) ? System.Int16.min : null }, clipu16: function (n) { return Bridge.isNumber(n) ? n & 65535 : Bridge.Int.isInfinite(n) ? System.UInt16.min : null }, clip32: function (n) { return Bridge.isNumber(n) ? n | 0 : Bridge.Int.isInfinite(n) ? System.Int32.min : null }, clipu32: function (n) { return Bridge.isNumber(n) ? n >>> 0 : Bridge.Int.isInfinite(n) ? System.UInt32.min : null }, clip64: function (n) { return Bridge.isNumber(n) ? System.Int64(Bridge.Int.trunc(n)) : Bridge.Int.isInfinite(n) ? System.Int64.MinValue : null }, clipu64: function (n) { return Bridge.isNumber(n) ? System.UInt64(Bridge.Int.trunc(n)) : Bridge.Int.isInfinite(n) ? System.UInt64.MinValue : null }, sign: function (n) { return Bridge.isNumber(n) ? n === 0 ? 0 : n < 0 ? -1 : 1 : null }, $mul: Math.imul || function (n, t) { var u = n >>> 16 & 65535, i = n & 65535, f = t >>> 16 & 65535, r = t & 65535; return i * r + (u * r + i * f << 16 >>> 0) | 0 }, mul: function (n, t, i) { return n == null || t == null ? null : (i && Bridge.Int.check(n * t, System.Int32), Bridge.Int.$mul(n, t)) }, umul: function (n, t, i) { return n == null || t == null ? null : (i && Bridge.Int.check(n * t, System.UInt32), Bridge.Int.$mul(n, t) >>> 0) } } }); Bridge.Int.$kind = ""; Bridge.Class.addExtend(Bridge.Int, [System.IComparable$1(Bridge.Int), System.IEquatable$1(Bridge.Int)]); Bridge.define("System.Double", { inherits: [System.IComparable, System.IFormattable], statics: { min: -Number.MAX_VALUE, max: Number.MAX_VALUE, precision: 15, $number: !0, $is: function (n) { return typeof n == "number" }, getDefaultValue: function () { return 0 }, parse: function (n, t) { return Bridge.Int.parseFloat(n, t) }, tryParse: function (n, t, i) { return Bridge.Int.tryParseFloat(n, t, i) }, format: function (n, t, i) { return Bridge.Int.format(n, t || "G", i, System.Double) }, equals: function (n, t) { return Bridge.is(n, System.Double) && Bridge.is(t, System.Double) ? Bridge.unbox(n, !0) === Bridge.unbox(t, !0) : !1 }, equalsT: function (n, t) { return Bridge.unbox(n, !0) === Bridge.unbox(t, !0) }, getHashCode: function (n) { var t = Bridge.unbox(n, !0); return t === 0 ? 0 : t === Number.POSITIVE_INFINITY ? 2146435072 : t === Number.NEGATIVE_INFINITY ? 4293918720 : Bridge.getHashCode(t.toExponential()) } } }); System.Double.$kind = ""; Bridge.Class.addExtend(System.Double, [System.IComparable$1(System.Double), System.IEquatable$1(System.Double)]); Bridge.define("System.Single", { inherits: [System.IComparable, System.IFormattable], statics: { min: -34028234663852886e22, max: 34028234663852886e22, precision: 7, $number: !0, $is: System.Double.$is, getDefaultValue: System.Double.getDefaultValue, parse: System.Double.parse, tryParse: System.Double.tryParse, format: function (n, t, i) { return Bridge.Int.format(n, t || "G", i, System.Single) }, equals: function (n, t) { return Bridge.is(n, System.Single) && Bridge.is(t, System.Single) ? Bridge.unbox(n, !0) === Bridge.unbox(t, !0) : !1 }, equalsT: function (n, t) { return Bridge.unbox(n, !0) === Bridge.unbox(t, !0) }, getHashCode: System.Double.getHashCode } }); System.Single.$kind = ""; Bridge.Class.addExtend(System.Single, [System.IComparable$1(System.Single), System.IEquatable$1(System.Single)]), function (n) { function i(n, t, i) { this.low = n | 0; this.high = t | 0; this.unsigned = !!i } function u(n) { return !0 === (n && n.__isLong__) } function h(n, i) { var r, u; if (i) { if (n >>>= 0, (u = 0 <= n && 256 > n) && (r = p[n])) return r; r = t(n, 0 > (n | 0) ? -1 : 0, !0); u && (p[n] = r) } else { if (n |= 0, (u = -128 <= n && 128 > n) && (r = y[n])) return r; r = t(n, 0 > n ? -1 : 0, !1); u && (y[n] = r) } return r } function f(n, i) { if (isNaN(n) || !isFinite(n)) return i ? s : e; if (i) { if (0 > n) return s; if (n >= d) return k } else { if (n <= -g) return r; if (n + 1 >= g) return b } return 0 > n ? f(-n, i).neg() : t(n % 4294967296 | 0, n / 4294967296 | 0, i) } function t(n, t, r) { return new i(n, t, r) } function v(n, t, i) { var s, r, u, o, h; if (0 === n.length) throw Error("empty string"); if ("NaN" === n || "Infinity" === n || "+Infinity" === n || "-Infinity" === n) return e; if ("number" == typeof t ? (i = t, t = !1) : t = !!t, i = i || 10, 2 > i || 36 < i) throw RangeError("radix"); if (0 < (s = n.indexOf("-"))) throw Error("interior hyphen"); if (0 === s) return v(n.substring(1), t, i).neg(); for (s = f(l(i, 8)), r = e, u = 0; u < n.length; u += 8)o = Math.min(8, n.length - u), h = parseInt(n.substring(u, u + o), i), 8 > o ? (o = f(l(i, o)), r = r.mul(o).add(f(h))) : (r = r.mul(s), r = r.add(f(h))); return r.unsigned = t, r } function o(n) { return n instanceof i ? n : "number" == typeof n ? f(n) : "string" == typeof n ? v(n) : t(n.low, n.high, n.unsigned) } var y, p, l, s, c, w, a, b, k, r; n.Bridge.$Long = i; i.__isLong__; Object.defineProperty(i.prototype, "__isLong__", { value: !0, enumerable: !1, configurable: !1 }); i.isLong = u; y = {}; p = {}; i.fromInt = h; i.fromNumber = f; i.fromBits = t; l = Math.pow; i.fromString = v; i.fromValue = o; var d = 4294967296 * 4294967296, g = d / 2, nt = h(16777216), e = h(0); i.ZERO = e; s = h(0, !0); i.UZERO = s; c = h(1); i.ONE = c; w = h(1, !0); i.UONE = w; a = h(-1); i.NEG_ONE = a; b = t(-1, 2147483647, !1); i.MAX_VALUE = b; k = t(-1, -1, !0); i.MAX_UNSIGNED_VALUE = k; r = t(0, -2147483648, !1); i.MIN_VALUE = r; n = i.prototype; n.toInt = function () { return this.unsigned ? this.low >>> 0 : this.low }; n.toNumber = function () { return this.unsigned ? 4294967296 * (this.high >>> 0) + (this.low >>> 0) : 4294967296 * this.high + (this.low >>> 0) }; n.toString = function (n) { if (n = n || 10, 2 > n || 36 < n) throw RangeError("radix"); if (this.isZero()) return "0"; if (this.isNegative()) { if (this.eq(r)) { var t = f(n), u = this.div(t), t = u.mul(t).sub(this); return u.toString(n) + t.toInt().toString(n) } return ("undefined" == typeof n || 10 === n ? "-" : "") + this.neg().toString(n) } for (var u = f(l(n, 6), this.unsigned), t = this, e = ""; ;) { var o = t.div(u), i = (t.sub(o.mul(u)).toInt() >>> 0).toString(n), t = o; if (t.isZero()) return i + e; for (; 6 > i.length;)i = "0" + i; e = "" + i + e } }; n.getHighBits = function () { return this.high }; n.getHighBitsUnsigned = function () { return this.high >>> 0 }; n.getLowBits = function () { return this.low }; n.getLowBitsUnsigned = function () { return this.low >>> 0 }; n.getNumBitsAbs = function () { if (this.isNegative()) return this.eq(r) ? 64 : this.neg().getNumBitsAbs(); for (var t = 0 != this.high ? this.high : this.low, n = 31; 0 < n && 0 == (t & 1 << n); n--); return 0 != this.high ? n + 33 : n + 1 }; n.isZero = function () { return 0 === this.high && 0 === this.low }; n.isNegative = function () { return !this.unsigned && 0 > this.high }; n.isPositive = function () { return this.unsigned || 0 <= this.high }; n.isOdd = function () { return 1 == (this.low & 1) }; n.isEven = function () { return 0 == (this.low & 1) }; n.equals = function (n) { return u(n) || (n = o(n)), this.unsigned !== n.unsigned && 1 == this.high >>> 31 && 1 == n.high >>> 31 ? !1 : this.high === n.high && this.low === n.low }; n.eq = n.equals; n.notEquals = function (n) { return !this.eq(n) }; n.neq = n.notEquals; n.lessThan = function (n) { return 0 > this.comp(n) }; n.lt = n.lessThan; n.lessThanOrEqual = function (n) { return 0 >= this.comp(n) }; n.lte = n.lessThanOrEqual; n.greaterThan = function (n) { return 0 < this.comp(n) }; n.gt = n.greaterThan; n.greaterThanOrEqual = function (n) { return 0 <= this.comp(n) }; n.gte = n.greaterThanOrEqual; n.compare = function (n) { if (u(n) || (n = o(n)), this.eq(n)) return 0; var t = this.isNegative(), i = n.isNegative(); return t && !i ? -1 : !t && i ? 1 : this.unsigned ? n.high >>> 0 > this.high >>> 0 || n.high === this.high && n.low >>> 0 > this.low >>> 0 ? -1 : 1 : this.sub(n).isNegative() ? -1 : 1 }; n.comp = n.compare; n.negate = function () { return !this.unsigned && this.eq(r) ? r : this.not().add(c) }; n.neg = n.negate; n.add = function (n) { u(n) || (n = o(n)); var e = this.high >>> 16, i = this.high & 65535, r = this.low >>> 16, s = n.high >>> 16, h = n.high & 65535, c = n.low >>> 16, f; return f = 0 + ((this.low & 65535) + (n.low & 65535)), n = 0 + (f >>> 16), n += r + c, r = 0 + (n >>> 16), r += i + h, i = 0 + (r >>> 16), i = i + (e + s) & 65535, t((n & 65535) << 16 | f & 65535, i << 16 | r & 65535, this.unsigned) }; n.subtract = function (n) { return u(n) || (n = o(n)), this.add(n.neg()) }; n.sub = n.subtract; n.multiply = function (n) { var h, i, s, v; if (this.isZero() || (u(n) || (n = o(n)), n.isZero())) return e; if (this.eq(r)) return n.isOdd() ? r : e; if (n.eq(r)) return this.isOdd() ? r : e; if (this.isNegative()) return n.isNegative() ? this.neg().mul(n.neg()) : this.neg().mul(n).neg(); if (n.isNegative()) return this.mul(n.neg()).neg(); if (this.lt(nt) && n.lt(nt)) return f(this.toNumber() * n.toNumber(), this.unsigned); var w = this.high >>> 16, y = this.high & 65535, l = this.low >>> 16, c = this.low & 65535, b = n.high >>> 16, p = n.high & 65535, a = n.low >>> 16; return n = n.low & 65535, v = 0 + c * n, s = 0 + (v >>> 16), s += l * n, i = 0 + (s >>> 16), s = (s & 65535) + c * a, i += s >>> 16, s &= 65535, i += y * n, h = 0 + (i >>> 16), i = (i & 65535) + l * a, h += i >>> 16, i &= 65535, i += c * p, h += i >>> 16, i &= 65535, h = h + (w * n + y * a + l * p + c * b) & 65535, t(s << 16 | v & 65535, h << 16 | i, this.unsigned) }; n.mul = n.multiply; n.divide = function (n) { var t, i, v; if (u(n) || (n = o(n)), n.isZero()) throw Error("division by zero"); if (this.isZero()) return this.unsigned ? s : e; if (this.unsigned) n.unsigned || (n = n.toUnsigned()); else { if (this.eq(r)) return n.eq(c) || n.eq(a) ? r : n.eq(r) ? c : (t = this.shr(1).div(n).shl(1), t.eq(e)) ? n.isNegative() ? c : a : (i = this.sub(n.mul(t)), t.add(i.div(n))); if (n.eq(r)) return this.unsigned ? s : e; if (this.isNegative()) return n.isNegative() ? this.neg().div(n.neg()) : this.neg().div(n).neg(); if (n.isNegative()) return this.div(n.neg()).neg() } if (this.unsigned) { if (n.gt(this)) return s; if (n.gt(this.shru(1))) return w; v = s } else v = e; for (i = this; i.gte(n);) { t = Math.max(1, Math.floor(i.toNumber() / n.toNumber())); for (var p = Math.ceil(Math.log(t) / Math.LN2), p = 48 >= p ? 1 : l(2, p - 48), h = f(t), y = h.mul(n); y.isNegative() || y.gt(i);)t -= p, h = f(t, this.unsigned), y = h.mul(n); h.isZero() && (h = c); v = v.add(h); i = i.sub(y) } return v }; n.div = n.divide; n.modulo = function (n) { return u(n) || (n = o(n)), this.sub(this.div(n).mul(n)) }; n.mod = n.modulo; n.not = function () { return t(~this.low, ~this.high, this.unsigned) }; n.and = function (n) { return u(n) || (n = o(n)), t(this.low & n.low, this.high & n.high, this.unsigned) }; n.or = function (n) { return u(n) || (n = o(n)), t(this.low | n.low, this.high | n.high, this.unsigned) }; n.xor = function (n) { return u(n) || (n = o(n)), t(this.low ^ n.low, this.high ^ n.high, this.unsigned) }; n.shiftLeft = function (n) { return u(n) && (n = n.toInt()), 0 == (n &= 63) ? this : 32 > n ? t(this.low << n, this.high << n | this.low >>> 32 - n, this.unsigned) : t(0, this.low << n - 32, this.unsigned) }; n.shl = n.shiftLeft; n.shiftRight = function (n) { return u(n) && (n = n.toInt()), 0 == (n &= 63) ? this : 32 > n ? t(this.low >>> n | this.high << 32 - n, this.high >> n, this.unsigned) : t(this.high >> n - 32, 0 <= this.high ? 0 : -1, this.unsigned) }; n.shr = n.shiftRight; n.shiftRightUnsigned = function (n) { if (u(n) && (n = n.toInt()), n &= 63, 0 === n) return this; var i = this.high; return 32 > n ? t(this.low >>> n | i << 32 - n, i >>> n, this.unsigned) : 32 === n ? t(i, 0, this.unsigned) : t(i >>> n - 32, 0, this.unsigned) }; n.shru = n.shiftRightUnsigned; n.toSigned = function () { return this.unsigned ? t(this.low, this.high, !1) : this }; n.toUnsigned = function () { return this.unsigned ? this : t(this.low, this.high, !0) } }(Bridge.global); System.Int64 = function (n) { if (this.constructor !== System.Int64) return new System.Int64(n); Bridge.hasValue(n) || (n = 0); this.T = System.Int64; this.unsigned = !1; this.value = System.Int64.getValue(n) }; System.Int64.$number = !0; System.Int64.TWO_PWR_16_DBL = 65536; System.Int64.TWO_PWR_32_DBL = System.Int64.TWO_PWR_16_DBL * System.Int64.TWO_PWR_16_DBL; System.Int64.TWO_PWR_64_DBL = System.Int64.TWO_PWR_32_DBL * System.Int64.TWO_PWR_32_DBL; System.Int64.TWO_PWR_63_DBL = System.Int64.TWO_PWR_64_DBL / 2; System.Int64.$$name = "System.Int64"; System.Int64.prototype.$$name = "System.Int64"; System.Int64.$kind = "struct"; System.Int64.prototype.$kind = "struct"; System.Int64.$$inherits = []; Bridge.Class.addExtend(System.Int64, [System.IComparable, System.IFormattable, System.IComparable$1(System.Int64), System.IEquatable$1(System.Int64)]); System.Int64.$is = function (n) { return n instanceof System.Int64 }; System.Int64.is64Bit = function (n) { return n instanceof System.Int64 || n instanceof System.UInt64 }; System.Int64.is64BitType = function (n) { return n === System.Int64 || n === System.UInt64 }; System.Int64.getDefaultValue = function () { return System.Int64.Zero }; System.Int64.getValue = function (n) { return Bridge.hasValue(n) ? n instanceof Bridge.$Long ? n : n instanceof System.Int64 ? n.value : n instanceof System.UInt64 ? n.value.toSigned() : Bridge.isArray(n) ? new Bridge.$Long(n[0], n[1]) : Bridge.isString(n) ? Bridge.$Long.fromString(n) : Bridge.isNumber(n) ? n + 1 >= System.Int64.TWO_PWR_63_DBL ? new System.UInt64(n).value.toSigned() : Bridge.$Long.fromNumber(n) : n instanceof System.Decimal ? Bridge.$Long.fromString(n.toString()) : Bridge.$Long.fromValue(n) : null }; System.Int64.create = function (n) { return Bridge.hasValue(n) ? n instanceof System.Int64 ? n : new System.Int64(n) : null }; System.Int64.lift = function (n) { return Bridge.hasValue(n) ? System.Int64.create(n) : null }; System.Int64.toNumber = function (n) { return n ? n.toNumber() : null }; System.Int64.prototype.toNumberDivided = function (n) { var t = this.div(n), i = this.mod(n), r = i.toNumber() / n; return t.toNumber() + r }; System.Int64.prototype.toJSON = function () { return this.toNumber() }; System.Int64.prototype.toString = function (n, t) { return !n && !t ? this.value.toString() : Bridge.isNumber(n) && !t ? this.value.toString(n) : Bridge.Int.format(this, n, t) }; System.Int64.prototype.format = function (n, t) { return Bridge.Int.format(this, n, t) }; System.Int64.prototype.isNegative = function () { return this.value.isNegative() }; System.Int64.prototype.abs = function () { if (this.T === System.Int64 && this.eq(System.Int64.MinValue)) throw new System.OverflowException; return new this.T(this.value.isNegative() ? this.value.neg() : this.value) }; System.Int64.prototype.compareTo = function (n) { return this.value.compare(this.T.getValue(n)) }; System.Int64.prototype.add = function (n, t) { var i = this.T.getValue(n), r = new this.T(this.value.add(i)); if (t) { var u = this.value.isNegative(), f = i.isNegative(), e = r.value.isNegative(); if (u && f && !e || !u && !f && e || this.T === System.UInt64 && r.lt(System.UInt64.max(this, i))) throw new System.OverflowException; } return r }; System.Int64.prototype.sub = function (n, t) { var i = this.T.getValue(n), r = new this.T(this.value.sub(i)); if (t) { var u = this.value.isNegative(), f = i.isNegative(), e = r.value.isNegative(); if (u && !f && !e || !u && f && e || this.T === System.UInt64 && this.value.lt(i)) throw new System.OverflowException; } return r }; System.Int64.prototype.isZero = function () { return this.value.isZero() }; System.Int64.prototype.mul = function (n, t) { var i = this.T.getValue(n), r = new this.T(this.value.mul(i)), u; if (t) { var f = this.sign(), e = i.isZero() ? 0 : i.isNegative() ? -1 : 1, o = r.sign(); if (this.T === System.Int64) { if (this.eq(System.Int64.MinValue) || this.eq(System.Int64.MaxValue)) { if (i.neq(1) && i.neq(0)) throw new System.OverflowException; return r } if (i.eq(Bridge.$Long.MIN_VALUE) || i.eq(Bridge.$Long.MAX_VALUE)) { if (this.neq(1) && this.neq(0)) throw new System.OverflowException; return r } if (f === -1 && e === -1 && o !== 1 || f === 1 && e === 1 && o !== 1 || f === -1 && e === 1 && o !== -1 || f === 1 && e === -1 && o !== -1) throw new System.OverflowException; if (u = r.abs(), u.lt(this.abs()) || u.lt(System.Int64(i).abs())) throw new System.OverflowException; } else { if (this.eq(System.UInt64.MaxValue)) { if (i.neq(1) && i.neq(0)) throw new System.OverflowException; return r } if (i.eq(Bridge.$Long.MAX_UNSIGNED_VALUE)) { if (this.neq(1) && this.neq(0)) throw new System.OverflowException; return r } if (u = r.abs(), u.lt(this.abs()) || u.lt(System.Int64(i).abs())) throw new System.OverflowException; } } return r }; System.Int64.prototype.div = function (n) { return new this.T(this.value.div(this.T.getValue(n))) }; System.Int64.prototype.mod = function (n) { return new this.T(this.value.mod(this.T.getValue(n))) }; System.Int64.prototype.neg = function (n) { if (n && this.T === System.Int64 && this.eq(System.Int64.MinValue)) throw new System.OverflowException; return new this.T(this.value.neg()) }; System.Int64.prototype.inc = function (n) { return this.add(1, n) }; System.Int64.prototype.dec = function (n) { return this.sub(1, n) }; System.Int64.prototype.sign = function () { return this.value.isZero() ? 0 : this.value.isNegative() ? -1 : 1 }; System.Int64.prototype.clone = function () { return new this.T(this) }; System.Int64.prototype.ne = function (n) { return this.value.neq(this.T.getValue(n)) }; System.Int64.prototype.neq = function (n) { return this.value.neq(this.T.getValue(n)) }; System.Int64.prototype.eq = function (n) { return this.value.eq(this.T.getValue(n)) }; System.Int64.prototype.lt = function (n) { return this.value.lt(this.T.getValue(n)) }; System.Int64.prototype.lte = function (n) { return this.value.lte(this.T.getValue(n)) }; System.Int64.prototype.gt = function (n) { return this.value.gt(this.T.getValue(n)) }; System.Int64.prototype.gte = function (n) { return this.value.gte(this.T.getValue(n)) }; System.Int64.prototype.equals = function (n) { return this.value.eq(this.T.getValue(n)) }; System.Int64.prototype.equalsT = function (n) { return this.equals(n) }; System.Int64.prototype.getHashCode = function () { var n = this.sign() * 397 + this.value.high | 0; return n * 397 + this.value.low | 0 }; System.Int64.prototype.toNumber = function () { return this.value.toNumber() }; System.Int64.parse = function (n) { if (n == null) throw new System.ArgumentNullException("str"); if (!/^[+-]?[0-9]+$/.test(n)) throw new System.FormatException("Input string was not in a correct format."); var t = new System.Int64(n); if (System.String.trimStartZeros(n) !== t.toString()) throw new System.OverflowException; return t }; System.Int64.tryParse = function (n, t) { try { return n == null || !/^[+-]?[0-9]+$/.test(n) ? (t.v = System.Int64(Bridge.$Long.ZERO), !1) : (t.v = new System.Int64(n), System.String.trimStartZeros(n) !== t.v.toString()) ? (t.v = System.Int64(Bridge.$Long.ZERO), !1) : !0 } catch (i) { return t.v = System.Int64(Bridge.$Long.ZERO), !1 } }; System.Int64.divRem = function (n, t, i) { n = System.Int64(n); t = System.Int64(t); var r = n.mod(t); return i.v = r, n.sub(r).div(t) }; System.Int64.min = function () { for (var t = [], i, n = 0, r = arguments.length; n < r; n++)t.push(System.Int64.getValue(arguments[n])); for (n = 0, i = t[0]; ++n < t.length;)t[n].lt(i) && (i = t[n]); return new System.Int64(i) }; System.Int64.max = function () { for (var t = [], i, n = 0, r = arguments.length; n < r; n++)t.push(System.Int64.getValue(arguments[n])); for (n = 0, i = t[0]; ++n < t.length;)t[n].gt(i) && (i = t[n]); return new System.Int64(i) }; System.Int64.prototype.and = function (n) { return new this.T(this.value.and(this.T.getValue(n))) }; System.Int64.prototype.not = function () { return new this.T(this.value.not()) }; System.Int64.prototype.or = function (n) { return new this.T(this.value.or(this.T.getValue(n))) }; System.Int64.prototype.shl = function (n) { return new this.T(this.value.shl(n)) }; System.Int64.prototype.shr = function (n) { return new this.T(this.value.shr(n)) }; System.Int64.prototype.shru = function (n) { return new this.T(this.value.shru(n)) }; System.Int64.prototype.xor = function (n) { return new this.T(this.value.xor(this.T.getValue(n))) }; System.Int64.check = function (n, t) { if (Bridge.Int.isInfinite(n)) return t === System.Int64 || t === System.UInt64 ? t.MinValue : t.min; if (!n) return null; var i, r; if (t === System.Int64) { if (n instanceof System.Int64) return n; if (i = n.value.toString(), r = new System.Int64(i), i !== r.value.toString()) throw new System.OverflowException; return r } if (t === System.UInt64) { if (n instanceof System.UInt64) return n; if (n.value.isNegative()) throw new System.OverflowException; if (i = n.value.toString(), r = new System.UInt64(i), i !== r.value.toString()) throw new System.OverflowException; return r } return Bridge.Int.check(n.toNumber(), t) }; System.Int64.clip8 = function (n) { return n ? Bridge.Int.sxb(n.value.low & 255) : Bridge.Int.isInfinite(n) ? System.SByte.min : null }; System.Int64.clipu8 = function (n) { return n ? n.value.low & 255 : Bridge.Int.isInfinite(n) ? System.Byte.min : null }; System.Int64.clip16 = function (n) { return n ? Bridge.Int.sxs(n.value.low & 65535) : Bridge.Int.isInfinite(n) ? System.Int16.min : null }; System.Int64.clipu16 = function (n) { return n ? n.value.low & 65535 : Bridge.Int.isInfinite(n) ? System.UInt16.min : null }; System.Int64.clip32 = function (n) { return n ? n.value.low | 0 : Bridge.Int.isInfinite(n) ? System.Int32.min : null }; System.Int64.clipu32 = function (n) { return n ? n.value.low >>> 0 : Bridge.Int.isInfinite(n) ? System.UInt32.min : null }; System.Int64.clip64 = function (n) { return n ? new System.Int64(n.value.toSigned()) : Bridge.Int.isInfinite(n) ? System.Int64.MinValue : null }; System.Int64.clipu64 = function (n) { return n ? new System.UInt64(n.value.toUnsigned()) : Bridge.Int.isInfinite(n) ? System.UInt64.MinValue : null }; System.Int64.Zero = System.Int64(Bridge.$Long.ZERO); System.Int64.MinValue = System.Int64(Bridge.$Long.MIN_VALUE); System.Int64.MaxValue = System.Int64(Bridge.$Long.MAX_VALUE); System.Int64.precision = 19; System.UInt64 = function (n) { if (this.constructor !== System.UInt64) return new System.UInt64(n); Bridge.hasValue(n) || (n = 0); this.T = System.UInt64; this.unsigned = !0; this.value = System.UInt64.getValue(n, !0) }; System.UInt64.$number = !0; System.UInt64.$$name = "System.UInt64"; System.UInt64.prototype.$$name = "System.UInt64"; System.UInt64.$kind = "struct"; System.UInt64.prototype.$kind = "struct"; System.UInt64.$$inherits = []; Bridge.Class.addExtend(System.UInt64, [System.IComparable, System.IFormattable, System.IComparable$1(System.UInt64), System.IEquatable$1(System.UInt64)]); System.UInt64.$is = function (n) { return n instanceof System.UInt64 }; System.UInt64.getDefaultValue = function () { return System.UInt64.Zero }; System.UInt64.getValue = function (n) { return Bridge.hasValue(n) ? n instanceof Bridge.$Long ? n : n instanceof System.UInt64 ? n.value : n instanceof System.Int64 ? n.value.toUnsigned() : Bridge.isArray(n) ? new Bridge.$Long(n[0], n[1], !0) : Bridge.isString(n) ? Bridge.$Long.fromString(n, !0) : Bridge.isNumber(n) ? n < 0 ? new System.Int64(n).value.toUnsigned() : Bridge.$Long.fromNumber(n, !0) : n instanceof System.Decimal ? Bridge.$Long.fromString(n.toString(), !0) : Bridge.$Long.fromValue(n) : null }; System.UInt64.create = function (n) { return Bridge.hasValue(n) ? n instanceof System.UInt64 ? n : new System.UInt64(n) : null }; System.UInt64.lift = function (n) { return Bridge.hasValue(n) ? System.UInt64.create(n) : null }; System.UInt64.prototype.toJSON = System.Int64.prototype.toJSON; System.UInt64.prototype.toString = System.Int64.prototype.toString; System.UInt64.prototype.format = System.Int64.prototype.format; System.UInt64.prototype.isNegative = System.Int64.prototype.isNegative; System.UInt64.prototype.abs = System.Int64.prototype.abs; System.UInt64.prototype.compareTo = System.Int64.prototype.compareTo; System.UInt64.prototype.add = System.Int64.prototype.add; System.UInt64.prototype.sub = System.Int64.prototype.sub; System.UInt64.prototype.isZero = System.Int64.prototype.isZero; System.UInt64.prototype.mul = System.Int64.prototype.mul; System.UInt64.prototype.div = System.Int64.prototype.div; System.UInt64.prototype.toNumberDivided = System.Int64.prototype.toNumberDivided; System.UInt64.prototype.mod = System.Int64.prototype.mod; System.UInt64.prototype.neg = System.Int64.prototype.neg; System.UInt64.prototype.inc = System.Int64.prototype.inc; System.UInt64.prototype.dec = System.Int64.prototype.dec; System.UInt64.prototype.sign = System.Int64.prototype.sign; System.UInt64.prototype.clone = System.Int64.prototype.clone; System.UInt64.prototype.ne = System.Int64.prototype.ne; System.UInt64.prototype.neq = System.Int64.prototype.neq; System.UInt64.prototype.eq = System.Int64.prototype.eq; System.UInt64.prototype.lt = System.Int64.prototype.lt; System.UInt64.prototype.lte = System.Int64.prototype.lte; System.UInt64.prototype.gt = System.Int64.prototype.gt; System.UInt64.prototype.gte = System.Int64.prototype.gte; System.UInt64.prototype.equals = System.Int64.prototype.equals; System.UInt64.prototype.equalsT = System.Int64.prototype.equalsT; System.UInt64.prototype.getHashCode = System.Int64.prototype.getHashCode; System.UInt64.prototype.toNumber = System.Int64.prototype.toNumber; System.UInt64.parse = function (n) { if (n == null) throw new System.ArgumentNullException("str"); if (!/^[+-]?[0-9]+$/.test(n)) throw new System.FormatException("Input string was not in a correct format."); var t = new System.UInt64(n); if (t.value.isNegative()) throw new System.OverflowException; if (System.String.trimStartZeros(n) !== t.toString()) throw new System.OverflowException; return t }; System.UInt64.tryParse = function (n, t) { try { return n == null || !/^[+-]?[0-9]+$/.test(n) ? (t.v = System.UInt64(Bridge.$Long.UZERO), !1) : (t.v = new System.UInt64(n), t.v.isNegative()) ? (t.v = System.UInt64(Bridge.$Long.UZERO), !1) : System.String.trimStartZeros(n) !== t.v.toString() ? (t.v = System.UInt64(Bridge.$Long.UZERO), !1) : !0 } catch (i) { return t.v = System.UInt64(Bridge.$Long.UZERO), !1 } }; System.UInt64.min = function () { for (var t = [], i, n = 0, r = arguments.length; n < r; n++)t.push(System.UInt64.getValue(arguments[n])); for (n = 0, i = t[0]; ++n < t.length;)t[n].lt(i) && (i = t[n]); return new System.UInt64(i) }; System.UInt64.max = function () { for (var t = [], i, n = 0, r = arguments.length; n < r; n++)t.push(System.UInt64.getValue(arguments[n])); for (n = 0, i = t[0]; ++n < t.length;)t[n].gt(i) && (i = t[n]); return new System.UInt64(i) }; System.UInt64.divRem = function (n, t, i) { n = System.UInt64(n); t = System.UInt64(t); var r = n.mod(t); return i.v = r, n.sub(r).div(t) }; System.UInt64.prototype.and = System.Int64.prototype.and; System.UInt64.prototype.not = System.Int64.prototype.not; System.UInt64.prototype.or = System.Int64.prototype.or; System.UInt64.prototype.shl = System.Int64.prototype.shl; System.UInt64.prototype.shr = System.Int64.prototype.shr; System.UInt64.prototype.shru = System.Int64.prototype.shru; System.UInt64.prototype.xor = System.Int64.prototype.xor; System.UInt64.Zero = System.UInt64(Bridge.$Long.UZERO); System.UInt64.MinValue = System.UInt64.Zero; System.UInt64.MaxValue = System.UInt64(Bridge.$Long.MAX_UNSIGNED_VALUE); System.UInt64.precision = 20; !function (n) { function e(n) { var u, i, f, o = n.length - 1, e = "", t = n[0]; if (o > 0) { for (e += t, u = 1; o > u; u++)f = n[u] + "", i = r - f.length, i && (e += p(i)), e += f; t = n[u]; f = t + ""; i = r - f.length; i && (e += p(i)) } else if (0 === t) return "0"; for (; t % 10 == 0;)t /= 10; return e + t } function h(n, t, i) { if (n !== ~~n || t > n || n > i) throw Error(k + n); } function nt(n, t, i, u) { for (var o, h, f, e = n[0]; e >= 10; e /= 10)--t; return --t < 0 ? (t += r, o = 0) : (o = Math.ceil((t + 1) / r), t %= r), e = s(10, r - t), f = n[o] % e | 0, null == u ? 3 > t ? (0 == t ? f = f / 100 | 0 : 1 == t && (f = f / 10 | 0), h = 4 > i && 99999 == f || i > 3 && 49999 == f || 5e4 == f || 0 == f) : h = (4 > i && f + 1 == e || i > 3 && f + 1 == e / 2) && (n[o + 1] / e / 100 | 0) == s(10, t - 2) - 1 || (f == e / 2 || 0 == f) && 0 == (n[o + 1] / e / 100 | 0) : 4 > t ? (0 == t ? f = f / 1e3 | 0 : 1 == t ? f = f / 100 | 0 : 2 == t && (f = f / 10 | 0), h = (u || 4 > i) && 9999 == f || !u && i > 3 && 4999 == f) : h = ((u || 4 > i) && f + 1 == e || !u && i > 3 && f + 1 == e / 2) && (n[o + 1] / e / 1e3 | 0) == s(10, t - 3) - 1, h } function tt(n, t, i) { for (var u, f, r = [0], e = 0, o = n.length; o > e;) { for (f = r.length; f--;)r[f] *= t; for (r[0] += ht.indexOf(n.charAt(e++)), u = 0; u < r.length; u++)r[u] > i - 1 && (void 0 === r[u + 1] && (r[u + 1] = 0), r[u + 1] += r[u] / i | 0, r[u] %= i) } return r.reverse() } function ri(n, t) { var i, u, f = t.d.length, e, r; for (32 > f ? (i = Math.ceil(f / 3), u = Math.pow(4, -i).toString()) : (i = 16, u = "2.3283064365386962890625e-10"), n.precision += i, t = d(n, 1, t.times(u), new n(1)), e = i; e--;)r = t.times(t), t = r.times(r).minus(r).times(8).plus(1); return n.precision -= i, t } function i(n, t, i, f) { var v, c, o, h, p, w, y, e, l, b = n.constructor; n: if (null != t) { if (e = n.d, !e) return n; for (v = 1, h = e[0]; h >= 10; h /= 10)v++; if (c = t - v, 0 > c) c += r, o = t, y = e[l = 0], p = y / s(10, v - o - 1) % 10 | 0; else if (l = Math.ceil((c + 1) / r), h = e.length, l >= h) { if (!f) break n; for (; h++ <= l;)e.push(0); y = p = 0; v = 1; c %= r; o = c - r + 1 } else { for (y = h = e[l], v = 1; h >= 10; h /= 10)v++; c %= r; o = c - r + v; p = 0 > o ? 0 : y / s(10, v - o - 1) % 10 | 0 } if (f = f || 0 > t || void 0 !== e[l + 1] || (0 > o ? y : y % s(10, v - o - 1)), w = 4 > i ? (p || f) && (0 == i || i == (n.s < 0 ? 3 : 2)) : p > 5 || 5 == p && (4 == i || f || 6 == i && (c > 0 ? o > 0 ? y / s(10, v - o) : 0 : e[l - 1]) % 10 & 1 || i == (n.s < 0 ? 8 : 7)), 1 > t || !e[0]) return e.length = 0, w ? (t -= n.e + 1, e[0] = s(10, (r - t % r) % r), n.e = -t || 0) : e[0] = n.e = 0, n; if (0 == c ? (e.length = l, h = 1, l--) : (e.length = l + 1, h = s(10, r - c), e[l] = o > 0 ? (y / s(10, v - o) % s(10, o) | 0) * h : 0), w) for (; ;) { if (0 == l) { for (c = 1, o = e[0]; o >= 10; o /= 10)c++; for (o = e[0] += h, h = 1; o >= 10; o /= 10)h++; c != h && (n.e++, e[0] == a && (e[0] = 1)); break } if (e[l] += h, e[l] != a) break; e[l--] = 0; h = 1 } for (c = e.length; 0 === e[--c];)e.pop() } return u && (n.e > b.maxE ? (n.d = null, n.e = NaN) : n.e < b.minE && (n.e = 0, n.d = [0])), n } function v(n, t, i) { if (!n.isFinite()) return pt(n); var u, o = n.e, r = e(n.d), f = r.length; return t ? (i && (u = i - f) > 0 ? r = r.charAt(0) + "." + r.slice(1) + p(u) : f > 1 && (r = r.charAt(0) + "." + r.slice(1)), r = r + (n.e < 0 ? "e" : "e+") + n.e) : 0 > o ? (r = "0." + p(-o - 1) + r, i && (u = i - f) > 0 && (r += p(u))) : o >= f ? (r += p(o + 1 - f), i && (u = i - o - 1) > 0 && (r = r + "." + p(u))) : ((u = o + 1) < f && (r = r.slice(0, u) + "." + r.slice(u)), i && (u = i - f) > 0 && (o + 1 === f && (r += "."), r += p(u))), r } function it(n, t) { for (var i = 1, u = n[0]; u >= 10; u /= 10)i++; return i + t * r - 1 } function rt(n, t, r) { if (t > eu) throw u = !0, r && (n.precision = r), Error(ti); return i(new n(ut), t, 1, !0) } function l(n, t, r) { if (t > ct) throw Error(ti); return i(new n(ft), t, r, !0) } function lt(n) { var t = n.length - 1, i = t * r + 1; if (t = n[t]) { for (; t % 10 == 0; t /= 10)i--; for (t = n[0]; t >= 10; t /= 10)i++ } return i } function p(n) { for (var t = ""; n--;)t += "0"; return t } function at(n, t, i, f) { var s, e = new n(1), h = Math.ceil(f / r + 4); for (u = !1; ;) { if (i % 2 && (e = e.times(t), kt(e.d, h) && (s = !0)), i = o(i / 2), 0 === i) { i = e.d.length - 1; s && 0 === e.d[i] && ++e.d[i]; break } t = t.times(t); kt(t.d, h) } return u = !0, e } function vt(n) { return 1 & n.d[n.d.length - 1] } function yt(n, t, i) { for (var r, u = new n(t[0]), f = 0; ++f < t.length;) { if (r = new n(t[f]), !r.s) { u = r; break } u[i](r) && (u = r) } return u } function ot(n, t) { var l, v, b, a, o, c, r, y = 0, k = 0, p = 0, h = n.constructor, d = h.rounding, w = h.precision; if (!n.d || !n.d[0] || n.e > 17) return new h(n.d ? n.d[0] ? n.s < 0 ? 0 : 1 / 0 : 1 : n.s ? n.s < 0 ? 0 : n : NaN); for (null == t ? (u = !1, r = w) : r = t, c = new h(.03125); n.e > -2;)n = n.times(c), p += 5; for (v = Math.log(s(2, p)) / Math.LN10 * 2 + 5 | 0, r += v, l = a = o = new h(1), h.precision = r; ;) { if (a = i(a.times(n), r, 1), l = l.times(++k), c = o.plus(f(a, l, r, 1)), e(c.d).slice(0, r) === e(o.d).slice(0, r)) { for (b = p; b--;)o = i(o.times(o), r, 1); if (null != t) return h.precision = w, o; if (!(3 > y && nt(o.d, r - v, d, y))) return i(o, h.precision = w, d, u = !0); h.precision = r += 10; l = a = c = new h(1); k = 0; y++ } o = c } } function w(n, t) { var c, l, k, y, b, ut, h, p, o, g, tt, ft = 1, d = 10, r = n, a = r.d, s = r.constructor, it = s.rounding, v = s.precision; if (r.s < 0 || !a || !a[0] || !r.e && 1 == a[0] && 1 == a.length) return new s(a && !a[0] ? -1 / 0 : 1 != r.s ? NaN : a ? 0 : r); if (null == t ? (u = !1, o = v) : o = t, s.precision = o += d, c = e(a), l = c.charAt(0), !(Math.abs(y = r.e) < 15e14)) return p = rt(s, o + 2, v).times(y + ""), r = w(new s(l + "." + c.slice(1)), o - d).plus(p), s.precision = v, null == t ? i(r, v, it, u = !0) : r; for (; 7 > l && 1 != l || 1 == l && c.charAt(1) > 3;)r = r.times(n), c = e(r.d), l = c.charAt(0), ft++; for (y = r.e, l > 1 ? (r = new s("0." + c), y++) : r = new s(l + "." + c.slice(1)), g = r, h = b = r = f(r.minus(1), r.plus(1), o, 1), tt = i(r.times(r), o, 1), k = 3; ;) { if (b = i(b.times(tt), o, 1), p = h.plus(f(b, new s(k), o, 1)), e(p.d).slice(0, o) === e(h.d).slice(0, o)) { if (h = h.times(2), 0 !== y && (h = h.plus(rt(s, o + 2, v).times(y + ""))), h = f(h, new s(ft), o, 1), null != t) return s.precision = v, h; if (!nt(h.d, o - d, it, ut)) return i(h, s.precision = v, it, u = !0); s.precision = o += d; p = b = r = f(g.minus(1), g.plus(1), o, 1); tt = i(r.times(r), o, 1); k = ut = 1 } h = p; k += 2 } } function pt(n) { return String(n.s * n.s / 0) } function wt(n, t) { var f, i, e; for ((f = t.indexOf(".")) > -1 && (t = t.replace(".", "")), (i = t.search(/e/i)) > 0 ? (0 > f && (f = i), f += +t.slice(i + 1), t = t.substring(0, i)) : 0 > f && (f = t.length), i = 0; 48 === t.charCodeAt(i); i++); for (e = t.length; 48 === t.charCodeAt(e - 1); --e); if (t = t.slice(i, e)) { if (e -= i, n.e = f = f - i - 1, n.d = [], i = (f + 1) % r, 0 > f && (i += r), e > i) { for (i && n.d.push(+t.slice(0, i)), e -= r; e > i;)n.d.push(+t.slice(i, i += r)); t = t.slice(i); i = r - t.length } else i -= e; for (; i--;)t += "0"; n.d.push(+t); u && (n.e > n.constructor.maxE ? (n.d = null, n.e = NaN) : n.e < n.constructor.minE && (n.e = 0, n.d = [0])) } else n.e = 0, n.d = [0]; return n } function ui(n, t) { var e, s, y, i, h, l, o, r, v; if ("Infinity" === t || "NaN" === t) return +t || (n.s = NaN), n.e = NaN, n.d = null, n; if (iu.test(t)) e = 16, t = t.toLowerCase(); else if (tu.test(t)) e = 2; else { if (!ru.test(t)) throw Error(k + t); e = 8 } for (i = t.search(/p/i), i > 0 ? (o = +t.slice(i + 1), t = t.substring(2, i)) : t = t.slice(2), i = t.indexOf("."), h = i >= 0, s = n.constructor, h && (t = t.replace(".", ""), l = t.length, i = l - i, y = at(s, new s(e), i, 2 * i)), r = tt(t, e, a), v = r.length - 1, i = v; 0 === r[i]; --i)r.pop(); return 0 > i ? new s(0 * n.s) : (n.e = it(r, v), n.d = r, u = !1, h && (n = f(n, y, 4 * l)), o && (n = n.times(Math.abs(o) < 54 ? Math.pow(2, o) : c.pow(2, o))), u = !0, n) } function fi(n, t) { var i, u = t.d.length; if (3 > u) return d(n, 2, t, t); i = 1.4 * Math.sqrt(u); i = i > 16 ? 16 : 0 | i; t = t.times(Math.pow(5, -i)); t = d(n, 2, t, t); for (var r, f = new n(5), e = new n(16), o = new n(20); i--;)r = t.times(t), t = t.times(f.plus(r.times(e.times(r).minus(o)))); return t } function d(n, t, i, e, o) { var h, s, c, l, y = 1, a = n.precision, v = Math.ceil(a / r); for (u = !1, l = i.times(i), c = new n(e); ;) { if (s = f(c.times(l), new n(t++ * t++), a, 1), c = o ? e.plus(s) : e.minus(s), e = f(s.times(l), new n(t++ * t++), a, 1), s = c.plus(e), void 0 !== s.d[v]) { for (h = v; s.d[h] === c.d[h] && h--;); if (-1 == h) break } h = c; c = e; e = s; s = h; y++ } return u = !0, s.d.length = v + 1, s } function bt(n, t) { var r, i = t.s < 0, u = l(n, n.precision, 1), f = u.times(.5); if (t = t.abs(), t.lte(f)) return y = i ? 4 : 1, t; if (r = t.divToInt(u), r.isZero()) y = i ? 3 : 2; else { if (t = t.minus(r.times(u)), t.lte(f)) return y = vt(r) ? i ? 2 : 3 : i ? 4 : 1, t; y = vt(r) ? i ? 1 : 4 : i ? 3 : 2 } return t.minus(u).abs() } function st(n, t, i, r) { var l, c, o, k, s, a, u, e, y, p = n.constructor, w = void 0 !== i; if (w ? (h(i, 1, b), void 0 === r ? r = p.rounding : h(r, 0, 8)) : (i = p.precision, r = p.rounding), n.isFinite()) { for (u = v(n), o = u.indexOf("."), w ? (l = 2, 16 == t ? i = 4 * i - 3 : 8 == t && (i = 3 * i - 2)) : l = t, o >= 0 && (u = u.replace(".", ""), y = new p(1), y.e = u.length - o, y.d = tt(v(y), 10, l), y.e = y.d.length), e = tt(u, 10, l), c = s = e.length; 0 == e[--s];)e.pop(); if (e[0]) { if (0 > o ? c-- : (n = new p(n), n.d = e, n.e = c, n = f(n, y, i, r, 0, l), e = n.d, c = n.e, a = gt), o = e[i], k = l / 2, a = a || void 0 !== e[i + 1], a = 4 > r ? (void 0 !== o || a) && (0 === r || r === (n.s < 0 ? 3 : 2)) : o > k || o === k && (4 === r || a || 6 === r && 1 & e[i - 1] || r === (n.s < 0 ? 8 : 7)), e.length = i, a) for (; ++e[--i] > l - 1;)e[i] = 0, i || (++c, e.unshift(1)); for (s = e.length; !e[s - 1]; --s); for (o = 0, u = ""; s > o; o++)u += ht.charAt(e[o]); if (w) { if (s > 1) if (16 == t || 8 == t) { for (o = 16 == t ? 4 : 3, --s; s % o; s++)u += "0"; for (e = tt(u, l, t), s = e.length; !e[s - 1]; --s); for (o = 1, u = "1."; s > o; o++)u += ht.charAt(e[o]) } else u = u.charAt(0) + "." + u.slice(1); u = u + (0 > c ? "p" : "p+") + c } else if (0 > c) { for (; ++c;)u = "0" + u; u = "0." + u } else if (++c > s) for (c -= s; c--;)u += "0"; else s > c && (u = u.slice(0, c) + "." + u.slice(c)) } else u = w ? "0p+0" : "0"; u = (16 == t ? "0x" : 2 == t ? "0b" : 8 == t ? "0o" : "") + u } else u = pt(n); return n.s < 0 ? "-" + u : u } function kt(n, t) { if (n.length > t) return (n.length = t, !0) } function ei(n) { return new this(n).abs() } function oi(n) { return new this(n).acos() } function si(n) { return new this(n).acosh() } function hi(n, t) { return new this(n).plus(t) } function ci(n) { return new this(n).asin() } function li(n) { return new this(n).asinh() } function ai(n) { return new this(n).atan() } function vi(n) { return new this(n).atanh() } function yi(n, t) { n = new this(n); t = new this(t); var i, u = this.precision, e = this.rounding, r = u + 4; return n.s && t.s ? n.d || t.d ? !t.d || n.isZero() ? (i = t.s < 0 ? l(this, u, e) : new this(0), i.s = n.s) : !n.d || t.isZero() ? (i = l(this, r, 1).times(.5), i.s = n.s) : t.s < 0 ? (this.precision = r, this.rounding = 1, i = this.atan(f(n, t, r, 1)), t = l(this, r, 1), this.precision = u, this.rounding = e, i = n.s < 0 ? i.minus(t) : i.plus(t)) : i = this.atan(f(n, t, r, 1)) : (i = l(this, r, 1).times(t.s > 0 ? .25 : .75), i.s = n.s) : i = new this(NaN), i } function pi(n) { return new this(n).cbrt() } function wi(n) { return i(n = new this(n), n.e + 1, 2) } function bi(n) { if (!n || "object" != typeof n) throw Error(et + "Object expected"); for (var i, t, u = ["precision", 1, b, "rounding", 0, 8, "toExpNeg", -g, 0, "toExpPos", 0, g, "maxE", 0, g, "minE", -g, 0, "modulo", 0, 9], r = 0; r < u.length; r += 3)if (void 0 !== (t = n[i = u[r]])) { if (!(o(t) === t && t >= u[r + 1] && t <= u[r + 2])) throw Error(k + i + ": " + t); this[i] = t } if (void 0 !== (t = n[i = "crypto"])) { if (t !== !0 && t !== !1 && 0 !== t && 1 !== t) throw Error(k + i + ": " + t); if (t) { if ("undefined" == typeof crypto || !crypto || !crypto.getRandomValues && !crypto.randomBytes) throw Error(ii); this[i] = !0 } else this[i] = !1 } return this } function ki(n) { return new this(n).cos() } function di(n) { return new this(n).cosh() } function dt(n) { function i(n) { var r, u, f, t = this; if (!(t instanceof i)) return new i(n); if (t.constructor = i, n instanceof i) return t.s = n.s, t.e = n.e, void (t.d = (n = n.d) ? n.slice() : n); if (f = typeof n, "number" === f) { if (0 === n) return t.s = 0 > 1 / n ? -1 : 1, t.e = 0, void (t.d = [0]); if (0 > n ? (n = -n, t.s = -1) : t.s = 1, n === ~~n && 1e7 > n) { for (r = 0, u = n; u >= 10; u /= 10)r++; return t.e = r, void (t.d = [n]) } return 0 * n != 0 ? (n || (t.s = NaN), t.e = NaN, void (t.d = null)) : wt(t, n.toString()) } if ("string" !== f) throw Error(k + n); return 45 === n.charCodeAt(0) ? (n = n.slice(1), t.s = -1) : t.s = 1, uu.test(n) ? wt(t, n) : ui(t, n) } var r, u, f; if (i.prototype = t, i.ROUND_UP = 0, i.ROUND_DOWN = 1, i.ROUND_CEIL = 2, i.ROUND_FLOOR = 3, i.ROUND_HALF_UP = 4, i.ROUND_HALF_DOWN = 5, i.ROUND_HALF_EVEN = 6, i.ROUND_HALF_CEIL = 7, i.ROUND_HALF_FLOOR = 8, i.EUCLID = 9, i.config = i.set = bi, i.clone = dt, i.abs = ei, i.acos = oi, i.acosh = si, i.add = hi, i.asin = ci, i.asinh = li, i.atan = ai, i.atanh = vi, i.atan2 = yi, i.cbrt = pi, i.ceil = wi, i.cos = ki, i.cosh = di, i.div = gi, i.exp = nr, i.floor = tr, i.hypot = ir, i.ln = rr, i.log = ur, i.log10 = er, i.log2 = fr, i.max = or, i.min = sr, i.mod = hr, i.mul = cr, i.pow = lr, i.random = ar, i.round = vr, i.sign = yr, i.sin = pr, i.sinh = wr, i.sqrt = br, i.sub = kr, i.tan = dr, i.tanh = gr, i.trunc = nu, void 0 === n && (n = {}), n) for (f = ["precision", "rounding", "toExpNeg", "toExpPos", "maxE", "minE", "modulo", "crypto"], r = 0; r < f.length;)n.hasOwnProperty(u = f[r++]) || (n[u] = this[u]); return i.config(n), i } function gi(n, t) { return new this(n).div(t) } function nr(n) { return new this(n).exp() } function tr(n) { return i(n = new this(n), n.e + 1, 3) } function ir() { var i, n, t = new this(0); for (u = !1, i = 0; i < arguments.length;)if (n = new this(arguments[i++]), n.d) t.d && (t = t.plus(n.times(n))); else { if (n.s) return u = !0, new this(1 / 0); t = n } return u = !0, t.sqrt() } function rr(n) { return new this(n).ln() } function ur(n, t) { return new this(n).log(t) } function fr(n) { return new this(n).log(2) } function er(n) { return new this(n).log(10) } function or() { return yt(this, arguments, "lt") } function sr() { return yt(this, arguments, "gt") } function hr(n, t) { return new this(n).mod(t) } function cr(n, t) { return new this(n).mul(t) } function lr(n, t) { return new this(n).pow(t) } function ar(n) { var e, o, i, u, t = 0, c = new this(1), f = []; if (void 0 === n ? n = this.precision : h(n, 1, b), i = Math.ceil(n / r), this.crypto) if (crypto.getRandomValues) for (e = crypto.getRandomValues(new Uint32Array(i)); i > t;)u = e[t], u >= 429e7 ? e[t] = crypto.getRandomValues(new Uint32Array(1))[0] : f[t++] = u % 1e7; else { if (!crypto.randomBytes) throw Error(ii); for (e = crypto.randomBytes(i *= 4); i > t;)u = e[t] + (e[t + 1] << 8) + (e[t + 2] << 16) + ((127 & e[t + 3]) << 24), u >= 214e7 ? crypto.randomBytes(4).copy(e, t) : (f.push(u % 1e7), t += 4); t = i / 4 } else for (; i > t;)f[t++] = 1e7 * Math.random() | 0; for (i = f[--t], n %= r, i && n && (u = s(10, r - n), f[t] = (i / u | 0) * u); 0 === f[t]; t--)f.pop(); if (0 > t) o = 0, f = [0]; else { for (o = -1; 0 === f[0]; o -= r)f.shift(); for (i = 1, u = f[0]; u >= 10; u /= 10)i++; r > i && (o -= r - i) } return c.e = o, c.d = f, c } function vr(n) { return i(n = new this(n), n.e + 1, this.rounding) } function yr(n) { return n = new this(n), n.d ? n.d[0] ? n.s : 0 * n.s : n.s || NaN } function pr(n) { return new this(n).sin() } function wr(n) { return new this(n).sinh() } function br(n) { return new this(n).sqrt() } function kr(n, t) { return new this(n).sub(t) } function dr(n) { return new this(n).tan() } function gr(n) { return new this(n).tanh() } function nu(n) { return i(n = new this(n), n.e + 1, 1) } var gt, ni, y, g = 9e15, b = 1e9, ht = "0123456789abcdef", ut = "2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058", ft = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789", c = { precision: 20, rounding: 4, modulo: 1, toExpNeg: -7, toExpPos: 21, minE: -g, maxE: g, crypto: !1 }, u = !0, et = "[DecimalError] ", k = et + "Invalid argument: ", ti = et + "Precision limit exceeded", ii = et + "crypto unavailable", o = Math.floor, s = Math.pow, tu = /^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i, iu = /^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i, ru = /^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i, uu = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i, a = 1e7, r = 7, fu = 9007199254740991, eu = ut.length - 1, ct = ft.length - 1, t = {}, f; t.absoluteValue = t.abs = function () { var n = new this.constructor(this); return n.s < 0 && (n.s = 1), i(n) }; t.ceil = function () { return i(new this.constructor(this), this.e + 1, 2) }; t.comparedTo = t.cmp = function (n) { var r, h, f, e, o = this, i = o.d, u = (n = new o.constructor(n)).d, t = o.s, s = n.s; if (!i || !u) return t && s ? t !== s ? t : i === u ? 0 : !i ^ 0 > t ? 1 : -1 : NaN; if (!i[0] || !u[0]) return i[0] ? t : u[0] ? -s : 0; if (t !== s) return t; if (o.e !== n.e) return o.e > n.e ^ 0 > t ? 1 : -1; for (f = i.length, e = u.length, r = 0, h = e > f ? f : e; h > r; ++r)if (i[r] !== u[r]) return i[r] > u[r] ^ 0 > t ? 1 : -1; return f === e ? 0 : f > e ^ 0 > t ? 1 : -1 }; t.cosine = t.cos = function () { var u, f, t = this, n = t.constructor; return t.d ? t.d[0] ? (u = n.precision, f = n.rounding, n.precision = u + Math.max(t.e, t.sd()) + r, n.rounding = 1, t = ri(n, bt(n, t)), n.precision = u, n.rounding = f, i(2 == y || 3 == y ? t.neg() : t, u, f, !0)) : new n(1) : new n(NaN) }; t.cubeRoot = t.cbrt = function () { var r, w, n, s, v, c, l, h, y, p, t = this, a = t.constructor; if (!t.isFinite() || t.isZero()) return new a(t); for (u = !1, c = t.s * Math.pow(t.s * t, 1 / 3), c && Math.abs(c) != 1 / 0 ? s = new a(c.toString()) : (n = e(t.d), r = t.e, (c = (r - n.length + 1) % 3) && (n += 1 == c || -2 == c ? "0" : "00"), c = Math.pow(n, 1 / 3), r = o((r + 1) / 3) - (r % 3 == (0 > r ? -1 : 2)), c == 1 / 0 ? n = "5e" + r : (n = c.toExponential(), n = n.slice(0, n.indexOf("e") + 1) + r), s = new a(n), s.s = t.s), l = (r = a.precision) + 3; ;)if (h = s, y = h.times(h).times(h), p = y.plus(t), s = f(p.plus(t).times(h), p.plus(y), l + 2, 1), e(h.d).slice(0, l) === (n = e(s.d)).slice(0, l)) { if (n = n.slice(l - 3, l + 1), "9999" != n && (v || "4999" != n)) { +n && (+n.slice(1) || "5" != n.charAt(0)) || (i(s, r + 1, 1), w = !s.times(s).times(s).eq(t)); break } if (!v && (i(h, r + 1, 0), h.times(h).times(h).eq(t))) { s = h; break } l += 4; v = 1 } return u = !0, i(s, r, a.rounding, w) }; t.decimalPlaces = t.dp = function () { var n, i = this.d, t = NaN; if (i) { if (n = i.length - 1, t = (n - o(this.e / r)) * r, n = i[n]) for (; n % 10 == 0; n /= 10)t--; 0 > t && (t = 0) } return t }; t.dividedBy = t.div = function (n) { return f(this, new this.constructor(n)) }; t.dividedToIntegerBy = t.divToInt = function (n) { var r = this, t = r.constructor; return i(f(r, new t(n), 0, 1, 1), t.precision, t.rounding) }; t.equals = t.eq = function (n) { return 0 === this.cmp(n) }; t.floor = function () { return i(new this.constructor(this), this.e + 1, 3) }; t.greaterThan = t.gt = function (n) { return this.cmp(n) > 0 }; t.greaterThanOrEqualTo = t.gte = function (n) { var t = this.cmp(n); return 1 == t || 0 === t }; t.hyperbolicCosine = t.cosh = function () { var r, u, f, h, e, n = this, t = n.constructor, c = new t(1), o, l, s; if (!n.isFinite()) return new t(n.s ? 1 / 0 : NaN); if (n.isZero()) return c; for (f = t.precision, h = t.rounding, t.precision = f + Math.max(n.e, n.sd()) + 4, t.rounding = 1, e = n.d.length, 32 > e ? (r = Math.ceil(e / 3), u = Math.pow(4, -r).toString()) : (r = 16, u = "2.3283064365386962890625e-10"), n = d(t, 1, n.times(u), new t(1), !0), l = r, s = new t(8); l--;)o = n.times(n), n = c.minus(o.times(s.minus(o.times(s)))); return i(n, t.precision = f, t.rounding = h, !0) }; t.hyperbolicSine = t.sinh = function () { var r, u, f, e, n = this, t = n.constructor; if (!n.isFinite() || n.isZero()) return new t(n); if (u = t.precision, f = t.rounding, t.precision = u + Math.max(n.e, n.sd()) + 4, t.rounding = 1, e = n.d.length, 3 > e) n = d(t, 2, n, n, !0); else { r = 1.4 * Math.sqrt(e); r = r > 16 ? 16 : 0 | r; n = n.times(Math.pow(5, -r)); n = d(t, 2, n, n, !0); for (var o, s = new t(5), h = new t(16), c = new t(20); r--;)o = n.times(n), n = n.times(s.plus(o.times(h.times(o).plus(c)))) } return t.precision = u, t.rounding = f, i(n, u, f, !0) }; t.hyperbolicTangent = t.tanh = function () { var i, r, t = this, n = t.constructor; return t.isFinite() ? t.isZero() ? new n(t) : (i = n.precision, r = n.rounding, n.precision = i + 7, n.rounding = 1, f(t.sinh(), t.cosh(), n.precision = i, n.rounding = r)) : new n(t.s) }; t.inverseCosine = t.acos = function () { var u, t = this, n = t.constructor, f = t.abs().cmp(1), i = n.precision, r = n.rounding; return -1 !== f ? 0 === f ? t.isNeg() ? l(n, i, r) : new n(0) : new n(NaN) : t.isZero() ? l(n, i + 4, r).times(.5) : (n.precision = i + 6, n.rounding = 1, t = t.asin(), u = l(n, i + 4, r).times(.5), n.precision = i, n.rounding = r, u.minus(t)) }; t.inverseHyperbolicCosine = t.acosh = function () { var i, r, n = this, t = n.constructor; return n.lte(1) ? new t(n.eq(1) ? 0 : NaN) : n.isFinite() ? (i = t.precision, r = t.rounding, t.precision = i + Math.max(Math.abs(n.e), n.sd()) + 4, t.rounding = 1, u = !1, n = n.times(n).minus(1).sqrt().plus(n), u = !0, t.precision = i, t.rounding = r, n.ln()) : new t(n) }; t.inverseHyperbolicSine = t.asinh = function () { var i, r, n = this, t = n.constructor; return !n.isFinite() || n.isZero() ? new t(n) : (i = t.precision, r = t.rounding, t.precision = i + 2 * Math.max(Math.abs(n.e), n.sd()) + 6, t.rounding = 1, u = !1, n = n.times(n).plus(1).sqrt().plus(n), u = !0, t.precision = i, t.rounding = r, n.ln()) }; t.inverseHyperbolicTangent = t.atanh = function () { var r, u, o, e, n = this, t = n.constructor; return n.isFinite() ? n.e >= 0 ? new t(n.abs().eq(1) ? n.s / 0 : n.isZero() ? n : NaN) : (r = t.precision, u = t.rounding, e = n.sd(), Math.max(e, r) < 2 * -n.e - 1 ? i(new t(n), r, u, !0) : (t.precision = o = e - n.e, n = f(n.plus(1), new t(1).minus(n), o + r, 1), t.precision = r + 4, t.rounding = 1, n = n.ln(), t.precision = r, t.rounding = u, n.times(.5))) : new t(NaN) }; t.inverseSine = t.asin = function () { var r, u, i, f, n = this, t = n.constructor; return n.isZero() ? new t(n) : (u = n.abs().cmp(1), i = t.precision, f = t.rounding, -1 !== u ? 0 === u ? (r = l(t, i + 4, f).times(.5), r.s = n.s, r) : new t(NaN) : (t.precision = i + 6, t.rounding = 1, n = n.div(new t(1).minus(n.times(n)).sqrt().plus(1)).atan(), t.precision = i, t.rounding = f, n.times(2))) }; t.inverseTangent = t.atan = function () { var e, c, h, a, o, v, t, y, p, n = this, f = n.constructor, s = f.precision, w = f.rounding; if (n.isFinite()) { if (n.isZero()) return new f(n); if (n.abs().eq(1) && ct >= s + 4) return t = l(f, s + 4, w).times(.25), t.s = n.s, t } else { if (!n.s) return new f(NaN); if (ct >= s + 4) return t = l(f, s + 4, w).times(.5), t.s = n.s, t } for (f.precision = y = s + 10, f.rounding = 1, h = Math.min(28, y / r + 2 | 0), e = h; e; --e)n = n.div(n.times(n).plus(1).sqrt().plus(1)); for (u = !1, c = Math.ceil(y / r), a = 1, p = n.times(n), t = new f(n), o = n; -1 !== e;)if (o = o.times(p), v = t.minus(o.div(a += 2)), o = o.times(p), t = v.plus(o.div(a += 2)), void 0 !== t.d[c]) for (e = c; t.d[e] === v.d[e] && e--;); return h && (t = t.times(2 << h - 1)), u = !0, i(t, f.precision = s, f.rounding = w, !0) }; t.isFinite = function () { return !!this.d }; t.isInteger = t.isInt = function () { return !!this.d && o(this.e / r) > this.d.length - 2 }; t.isNaN = function () { return !this.s }; t.isNegative = t.isNeg = function () { return this.s < 0 }; t.isPositive = t.isPos = function () { return this.s > 0 }; t.isZero = function () { return !!this.d && 0 === this.d[0] }; t.lessThan = t.lt = function (n) { return this.cmp(n) < 0 }; t.lessThanOrEqualTo = t.lte = function (n) { return this.cmp(n) < 1 }; t.logarithm = t.log = function (n) { var l, t, a, o, p, v, r, s, c = this, h = c.constructor, y = h.precision, b = h.rounding; if (null == n) n = new h(10), l = !0; else { if (n = new h(n), t = n.d, n.s < 0 || !t || !t[0] || n.eq(1)) return new h(NaN); l = n.eq(10) } if (t = c.d, c.s < 0 || !t || !t[0] || c.eq(1)) return new h(t && !t[0] ? -1 / 0 : 1 != c.s ? NaN : t ? 0 : 1 / 0); if (l) if (t.length > 1) p = !0; else { for (o = t[0]; o % 10 == 0;)o /= 10; p = 1 !== o } if (u = !1, r = y + 5, v = w(c, r), a = l ? rt(h, r + 10) : w(n, r), s = f(v, a, r, 1), nt(s.d, o = y, b)) do if (r += 10, v = w(c, r), a = l ? rt(h, r + 10) : w(n, r), s = f(v, a, r, 1), !p) { +e(s.d).slice(o + 1, o + 15) + 1 == 1e14 && (s = i(s, y + 1, 0)); break } while (nt(s.d, o += 10, b)); return u = !0, i(s, y, b) }; t.minus = t.sub = function (n) { var l, p, f, w, c, s, k, b, t, d, y, e, h = this, v = h.constructor; if (n = new v(n), !h.d || !n.d) return h.s && n.s ? h.d ? n.s = -n.s : n = new v(n.d || h.s !== n.s ? h : NaN) : n = new v(NaN), n; if (h.s != n.s) return n.s = -n.s, h.plus(n); if (t = h.d, e = n.d, k = v.precision, b = v.rounding, !t[0] || !e[0]) { if (e[0]) n.s = -n.s; else { if (!t[0]) return new v(3 === b ? -0 : 0); n = new v(h) } return u ? i(n, k, b) : n } if (p = o(n.e / r), d = o(h.e / r), t = t.slice(), c = d - p) { for (y = 0 > c, y ? (l = t, c = -c, s = e.length) : (l = e, p = d, s = t.length), f = Math.max(Math.ceil(k / r), s) + 2, c > f && (c = f, l.length = 1), l.reverse(), f = c; f--;)l.push(0); l.reverse() } else { for (f = t.length, s = e.length, y = s > f, y && (s = f), f = 0; s > f; f++)if (t[f] != e[f]) { y = t[f] < e[f]; break } c = 0 } for (y && (l = t, t = e, e = l, n.s = -n.s), s = t.length, f = e.length - s; f > 0; --f)t[s++] = 0; for (f = e.length; f > c;) { if (t[--f] < e[f]) { for (w = f; w && 0 === t[--w];)t[w] = a - 1; --t[w]; t[f] += a } t[f] -= e[f] } for (; 0 === t[--s];)t.pop(); for (; 0 === t[0]; t.shift())--p; return t[0] ? (n.d = t, n.e = it(t, p), u ? i(n, k, b) : n) : new v(3 === b ? -0 : 0) }; t.modulo = t.mod = function (n) { var e, t = this, r = t.constructor; return n = new r(n), !t.d || !n.s || n.d && !n.d[0] ? new r(NaN) : !n.d || t.d && !t.d[0] ? i(new r(t), r.precision, r.rounding) : (u = !1, 9 == r.modulo ? (e = f(t, n.abs(), 0, 3, 1), e.s *= n.s) : e = f(t, n, 0, r.modulo, 1), e = e.times(n), u = !0, t.minus(e)) }; t.naturalExponential = t.exp = function () { return ot(this) }; t.naturalLogarithm = t.ln = function () { return w(this) }; t.negated = t.neg = function () { var n = new this.constructor(this); return n.s = -n.s, i(n) }; t.plus = t.add = function (n) { var y, c, p, f, l, e, w, b, t, h, s = this, v = s.constructor; if (n = new v(n), !s.d || !n.d) return s.s && n.s ? s.d || (n = new v(n.d || s.s === n.s ? s : NaN)) : n = new v(NaN), n; if (s.s != n.s) return n.s = -n.s, s.minus(n); if (t = s.d, h = n.d, w = v.precision, b = v.rounding, !t[0] || !h[0]) return h[0] || (n = new v(s)), u ? i(n, w, b) : n; if (l = o(s.e / r), p = o(n.e / r), t = t.slice(), f = l - p) { for (0 > f ? (c = t, f = -f, e = h.length) : (c = h, p = l, e = t.length), l = Math.ceil(w / r), e = l > e ? l + 1 : e + 1, f > e && (f = e, c.length = 1), c.reverse(); f--;)c.push(0); c.reverse() } for (e = t.length, f = h.length, 0 > e - f && (f = e, c = h, h = t, t = c), y = 0; f;)y = (t[--f] = t[f] + h[f] + y) / a | 0, t[f] %= a; for (y && (t.unshift(y), ++p), e = t.length; 0 == t[--e];)t.pop(); return n.d = t, n.e = it(t, p), u ? i(n, w, b) : n }; t.precision = t.sd = function (n) { var t, i = this; if (void 0 !== n && n !== !!n && 1 !== n && 0 !== n) throw Error(k + n); return i.d ? (t = lt(i.d), n && i.e + 1 > t && (t = i.e + 1)) : t = NaN, t }; t.round = function () { var n = this, t = n.constructor; return i(new t(n), n.e + 1, t.rounding) }; t.sine = t.sin = function () { var u, f, n = this, t = n.constructor; return n.isFinite() ? n.isZero() ? new t(n) : (u = t.precision, f = t.rounding, t.precision = u + Math.max(n.e, n.sd()) + r, t.rounding = 1, n = fi(t, bt(t, n)), t.precision = u, t.rounding = f, i(y > 2 ? n.neg() : n, u, f, !0)) : new t(NaN) }; t.squareRoot = t.sqrt = function () { var p, n, l, r, y, c, h = this, a = h.d, t = h.e, s = h.s, v = h.constructor; if (1 !== s || !a || !a[0]) return new v(!s || 0 > s && (!a || a[0]) ? NaN : a ? h : 1 / 0); for (u = !1, s = Math.sqrt(+h), 0 == s || s == 1 / 0 ? (n = e(a), (n.length + t) % 2 == 0 && (n += "0"), s = Math.sqrt(n), t = o((t + 1) / 2) - (0 > t || t % 2), s == 1 / 0 ? n = "1e" + t : (n = s.toExponential(), n = n.slice(0, n.indexOf("e") + 1) + t), r = new v(n)) : r = new v(s.toString()), l = (t = v.precision) + 3; ;)if (c = r, r = c.plus(f(h, c, l + 2, 1)).times(.5), e(c.d).slice(0, l) === (n = e(r.d)).slice(0, l)) { if (n = n.slice(l - 3, l + 1), "9999" != n && (y || "4999" != n)) { +n && (+n.slice(1) || "5" != n.charAt(0)) || (i(r, t + 1, 1), p = !r.times(r).eq(h)); break } if (!y && (i(c, t + 1, 0), c.times(c).eq(h))) { r = c; break } l += 4; y = 1 } return u = !0, i(r, t, v.rounding, p) }; t.tangent = t.tan = function () { var r, u, n = this, t = n.constructor; return n.isFinite() ? n.isZero() ? new t(n) : (r = t.precision, u = t.rounding, t.precision = r + 10, t.rounding = 1, n = n.sin(), n.s = 1, n = f(n, new t(1).minus(n.times(n)).sqrt(), r + 10, 0), t.precision = r, t.rounding = u, i(2 == y || 4 == y ? n.neg() : n, r, u, !0)) : new t(NaN) }; t.times = t.mul = function (n) { var v, b, f, h, t, y, k, c, l, p = this, w = p.constructor, e = p.d, s = (n = new w(n)).d; if (n.s *= p.s, !(e && e[0] && s && s[0])) return new w(!n.s || e && !e[0] && !s || s && !s[0] && !e ? NaN : e && s ? 0 * n.s : n.s / 0); for (b = o(p.e / r) + o(n.e / r), c = e.length, l = s.length, l > c && (t = e, e = s, s = t, y = c, c = l, l = y), t = [], y = c + l, f = y; f--;)t.push(0); for (f = l; --f >= 0;) { for (v = 0, h = c + f; h > f;)k = t[h] + s[f] * e[h - f - 1] + v, t[h--] = k % a | 0, v = k / a | 0; t[h] = (t[h] + v) % a | 0 } for (; !t[--y];)t.pop(); for (v ? ++b : t.shift(), f = t.length; !t[--f];)t.pop(); return n.d = t, n.e = it(t, b), u ? i(n, w.precision, w.rounding) : n }; t.toBinary = function (n, t) { return st(this, 2, n, t) }; t.toDecimalPlaces = t.toDP = function (n, t) { var r = this, u = r.constructor; return r = new u(r), void 0 === n ? r : (h(n, 0, b), void 0 === t ? t = u.rounding : h(t, 0, 8), i(r, n + r.e + 1, t)) }; t.toExponential = function (n, t) { var u, r = this, f = r.constructor; return void 0 === n ? u = v(r, !0) : (h(n, 0, b), void 0 === t ? t = f.rounding : h(t, 0, 8), r = i(new f(r), n + 1, t), u = v(r, !0, n + 1)), r.isNeg() && !r.isZero() ? "-" + u : u }; t.toFixed = function (n, t) { var u, f, r = this, e = r.constructor; return void 0 === n ? u = v(r) : (h(n, 0, b), void 0 === t ? t = e.rounding : h(t, 0, 8), f = i(new e(r), n + r.e + 1, t), u = v(f, !1, n + f.e + 1)), r.isNeg() && !r.isZero() ? "-" + u : u }; t.toFraction = function (n) { var h, a, c, t, y, w, i, v, o, g, b, nt, p = this, d = p.d, l = p.constructor; if (!d) return new l(p); if (o = a = new l(1), c = v = new l(0), h = new l(c), y = h.e = lt(d) - p.e - 1, w = y % r, h.d[0] = s(10, 0 > w ? r + w : w), null == n) n = y > 0 ? h : o; else { if (i = new l(n), !i.isInt() || i.lt(o)) throw Error(k + i); n = i.gt(h) ? y > 0 ? h : o : i } for (u = !1, i = new l(e(d)), g = l.precision, l.precision = y = d.length * r * 2; b = f(i, h, 0, 1, 1), t = a.plus(b.times(c)), 1 != t.cmp(n);)a = c, c = t, t = o, o = v.plus(b.times(t)), v = t, t = h, h = i.minus(b.times(t)), i = t; return t = f(n.minus(a), c, 0, 1, 1), v = v.plus(t.times(o)), a = a.plus(t.times(c)), v.s = o.s = p.s, nt = f(o, c, y, 1).minus(p).abs().cmp(f(v, a, y, 1).minus(p).abs()) < 1 ? [o, c] : [v, a], l.precision = g, u = !0, nt }; t.toHexadecimal = t.toHex = function (n, t) { return st(this, 16, n, t) }; t.toNearest = function (n, t) { var r = this, e = r.constructor; if (r = new e(r), null == n) { if (!r.d) return r; n = new e(1); t = e.rounding } else { if (n = new e(n), void 0 !== t && h(t, 0, 8), !r.d) return n.s ? r : n; if (!n.d) return n.s && (n.s = r.s), n } return n.d[0] ? (u = !1, 4 > t && (t = [4, 5, 7, 8][t]), r = f(r, n, 0, t, 1).times(n), u = !0, i(r)) : (n.s = r.s, r = n), r }; t.toNumber = function () { return +this }; t.toOctal = function (n, t) { return st(this, 8, n, t) }; t.toPower = t.pow = function (n) { var l, a, h, c, v, y, b, t = this, f = t.constructor, p = +(n = new f(n)); if (!(t.d && n.d && t.d[0] && n.d[0])) return new f(s(+t, p)); if (t = new f(t), t.eq(1)) return t; if (h = f.precision, v = f.rounding, n.eq(1)) return i(t, h, v); if (l = o(n.e / r), a = n.d.length - 1, b = l >= a, y = t.s, b) { if ((a = 0 > p ? -p : p) <= fu) return c = at(f, t, a, h), n.s < 0 ? new f(1).div(c) : i(c, h, v) } else if (0 > y) return new f(NaN); return y = 0 > y && 1 & n.d[Math.max(l, a)] ? -1 : 1, a = s(+t, p), l = 0 != a && isFinite(a) ? new f(a + "").e : o(p * (Math.log("0." + e(t.d)) / Math.LN10 + t.e + 1)), l > f.maxE + 1 || l < f.minE - 1 ? new f(l > 0 ? y / 0 : 0) : (u = !1, f.rounding = t.s = 1, a = Math.min(12, (l + "").length), c = ot(n.times(w(t, h + a)), h), c = i(c, h + 5, 1), nt(c.d, h, v) && (l = h + 10, c = i(ot(n.times(w(t, l + a)), l), l + 5, 1), +e(c.d).slice(h + 1, h + 15) + 1 == 1e14 && (c = i(c, h + 1, 0))), c.s = y, u = !0, f.rounding = v, i(c, h, v)) }; t.toPrecision = function (n, t) { var f, r = this, u = r.constructor; return void 0 === n ? f = v(r, r.e <= u.toExpNeg || r.e >= u.toExpPos) : (h(n, 1, b), void 0 === t ? t = u.rounding : h(t, 0, 8), r = i(new u(r), n, t), f = v(r, n <= r.e || r.e <= u.toExpNeg, n)), r.isNeg() && !r.isZero() ? "-" + f : f }; t.toSignificantDigits = t.toSD = function (n, t) { var u = this, r = u.constructor; return void 0 === n ? (n = r.precision, t = r.rounding) : (h(n, 1, b), void 0 === t ? t = r.rounding : h(t, 0, 8)), i(new r(u), n, t) }; t.toString = function () { var n = this, t = n.constructor, i = v(n, n.e <= t.toExpNeg || n.e >= t.toExpPos); return n.isNeg() && !n.isZero() ? "-" + i : i }; t.truncated = t.trunc = function () { return i(new this.constructor(this), this.e + 1, 1) }; t.valueOf = t.toJSON = function () { var n = this, t = n.constructor, i = v(n, n.e <= t.toExpNeg || n.e >= t.toExpPos); return n.isNeg() ? "-" + i : i }; f = function () { function n(n, t, i) { var u, r = 0, f = n.length; for (n = n.slice(); f--;)u = n[f] * t + r, n[f] = u % i | 0, r = u / i | 0; return r && n.unshift(r), n } function t(n, t, i, r) { var u, f; if (i != r) f = i > r ? 1 : -1; else for (u = f = 0; i > u; u++)if (n[u] != t[u]) { f = n[u] > t[u] ? 1 : -1; break } return f } function u(n, t, i, r) { for (var u = 0; i--;)n[i] -= u, u = n[i] < t[i] ? 1 : 0, n[i] = u * r + n[i] - t[i]; for (; !n[0] && n.length > 1;)n.shift() } return function (f, e, s, h, c, l) { var g, et, w, y, it, ot, nt, ft, rt, ut, p, b, ht, tt, vt, ct, st, yt, d, lt, at = f.constructor, pt = f.s == e.s ? 1 : -1, k = f.d, v = e.d; if (!(k && k[0] && v && v[0])) return new at(f.s && e.s && (k ? !v || k[0] != v[0] : v) ? k && 0 == k[0] || !v ? 0 * pt : pt / 0 : NaN); for (l ? (it = 1, et = f.e - e.e) : (l = a, it = r, et = o(f.e / it) - o(e.e / it)), d = v.length, st = k.length, rt = new at(pt), ut = rt.d = [], w = 0; v[w] == (k[w] || 0); w++); if (v[w] > (k[w] || 0) && et--, null == s ? (tt = s = at.precision, h = at.rounding) : tt = c ? s + (f.e - e.e) + 1 : s, 0 > tt) ut.push(1), ot = !0; else { if (tt = tt / it + 2 | 0, w = 0, 1 == d) { for (y = 0, v = v[0], tt++; (st > w || y) && tt--; w++)vt = y * l + (k[w] || 0), ut[w] = vt / v | 0, y = vt % v | 0; ot = y || st > w } else { for (y = l / (v[0] + 1) | 0, y > 1 && (v = n(v, y, l), k = n(k, y, l), d = v.length, st = k.length), ct = d, p = k.slice(0, d), b = p.length; d > b;)p[b++] = 0; lt = v.slice(); lt.unshift(0); yt = v[0]; v[1] >= l / 2 && ++yt; do y = 0, g = t(v, p, d, b), 0 > g ? (ht = p[0], d != b && (ht = ht * l + (p[1] || 0)), y = ht / yt | 0, y > 1 ? (y >= l && (y = l - 1), nt = n(v, y, l), ft = nt.length, b = p.length, g = t(nt, p, ft, b), 1 == g && (y--, u(nt, ft > d ? lt : v, ft, l))) : (0 == y && (g = y = 1), nt = v.slice()), ft = nt.length, b > ft && nt.unshift(0), u(p, nt, b, l), -1 == g && (b = p.length, g = t(v, p, d, b), 1 > g && (y++, u(p, b > d ? lt : v, b, l))), b = p.length) : 0 === g && (y++, p = [0]), ut[w++] = y, g && p[0] ? p[b++] = k[ct] || 0 : (p = [k[ct]], b = 1); while ((ct++ < st || void 0 !== p[0]) && tt--); ot = void 0 !== p[0] } ut[0] || ut.shift() } if (1 == it) rt.e = et, gt = ot; else { for (w = 1, y = ut[0]; y >= 10; y /= 10)w++; rt.e = w + et * it - 1; i(rt, c ? s + rt.e + 1 : s, h, ot) } return rt } }(); c = dt(c); ut = new c(ut); ft = new c(ft); Bridge.$Decimal = c; "function" == typeof define && define.amd ? define(function () { return c }) : "undefined" != typeof module && module.exports ? module.exports = c["default"] = c.Decimal = c : (n || (n = "undefined" != typeof self && self && self.self == self ? self : Function("return this")()), ni = n.Decimal, c.noConflict = function () { return n.Decimal = ni, c }) }(Bridge.global); System.Decimal = function (n, t, i) { var r; if (this.constructor !== System.Decimal) return new System.Decimal(n, t, i); if (n == null && (n = 0), typeof n == "string") { if (t = t || System.Globalization.CultureInfo.getCurrentCulture(), r = t && t.getFormat(System.Globalization.NumberFormatInfo), r && r.numberDecimalSeparator !== "." && (n = n.replace(r.numberDecimalSeparator, ".")), !/^\s*[+-]?(\d+|\d+.|\d*\.\d+)((e|E)[+-]?\d+)?\s*$/.test(n)) throw new System.FormatException; n = n.replace(/\s/g, "") } if (i && i.precision && typeof n == "number") { var f = Bridge.Int.trunc(n), e = (f + "").length, u = i.precision - e; u < 0 && (u = 0); n = n.toFixed(u) } this.value = System.Decimal.getValue(n) }; System.Decimal.$number = !0; System.Decimal.$$name = "System.Decimal"; System.Decimal.prototype.$$name = "System.Decimal"; System.Decimal.$kind = "struct"; System.Decimal.prototype.$kind = "struct"; System.Decimal.$$inherits = []; Bridge.Class.addExtend(System.Decimal, [System.IComparable, System.IFormattable, System.IComparable$1(System.Decimal), System.IEquatable$1(System.Decimal)]); System.Decimal.$is = function (n) { return n instanceof System.Decimal }; System.Decimal.getDefaultValue = function () { return new System.Decimal(0) }; System.Decimal.getValue = function (n) { return Bridge.hasValue(n) ? n instanceof System.Decimal ? n.value : n instanceof System.Int64 || n instanceof System.UInt64 ? new Bridge.$Decimal(n.toString()) : new Bridge.$Decimal(n) : this.getDefaultValue() }; System.Decimal.create = function (n) { return Bridge.hasValue(n) ? n instanceof System.Decimal ? n : new System.Decimal(n) : null }; System.Decimal.lift = function (n) { return n == null ? null : System.Decimal.create(n) }; System.Decimal.prototype.toString = function (n, t) { return Bridge.Int.format(this, n || "G", t) }; System.Decimal.prototype.toFloat = function () { return this.value.toNumber() }; System.Decimal.prototype.toJSON = function () { return this.value.toNumber() }; System.Decimal.prototype.format = function (n, t) { return Bridge.Int.format(this, n, t) }; System.Decimal.prototype.decimalPlaces = function () { return this.value.decimalPlaces() }; System.Decimal.prototype.dividedToIntegerBy = function (n) { return new System.Decimal(this.value.dividedToIntegerBy(System.Decimal.getValue(n))) }; System.Decimal.prototype.exponential = function () { return new System.Decimal(this.value.exponential()) }; System.Decimal.prototype.abs = function () { return new System.Decimal(this.value.abs()) }; System.Decimal.prototype.floor = function () { return new System.Decimal(this.value.floor()) }; System.Decimal.prototype.ceil = function () { return new System.Decimal(this.value.ceil()) }; System.Decimal.prototype.trunc = function () { return new System.Decimal(this.value.trunc()) }; System.Decimal.round = function (n, t) { var i, r; return n = System.Decimal.create(n), i = Bridge.$Decimal.rounding, Bridge.$Decimal.rounding = t, r = new System.Decimal(n.value.round()), Bridge.$Decimal.rounding = i, r }; System.Decimal.toDecimalPlaces = function (n, t, i) { n = System.Decimal.create(n); return new System.Decimal(n.value.toDecimalPlaces(t, i)) }; System.Decimal.prototype.compareTo = function (n) { return this.value.comparedTo(System.Decimal.getValue(n)) }; System.Decimal.prototype.add = function (n) { return new System.Decimal(this.value.plus(System.Decimal.getValue(n))) }; System.Decimal.prototype.sub = function (n) { return new System.Decimal(this.value.minus(System.Decimal.getValue(n))) }; System.Decimal.prototype.isZero = function () { return this.value.isZero }; System.Decimal.prototype.mul = function (n) { return new System.Decimal(this.value.times(System.Decimal.getValue(n))) }; System.Decimal.prototype.div = function (n) { return new System.Decimal(this.value.dividedBy(System.Decimal.getValue(n))) }; System.Decimal.prototype.mod = function (n) { return new System.Decimal(this.value.modulo(System.Decimal.getValue(n))) }; System.Decimal.prototype.neg = function () { return new System.Decimal(this.value.negated()) }; System.Decimal.prototype.inc = function () { return new System.Decimal(this.value.plus(System.Decimal.getValue(1))) }; System.Decimal.prototype.dec = function () { return new System.Decimal(this.value.minus(System.Decimal.getValue(1))) }; System.Decimal.prototype.sign = function () { return this.value.isZero() ? 0 : this.value.isNegative() ? -1 : 1 }; System.Decimal.prototype.clone = function () { return new System.Decimal(this) }; System.Decimal.prototype.ne = function (n) { return !!this.compareTo(n) }; System.Decimal.prototype.lt = function (n) { return this.compareTo(n) < 0 }; System.Decimal.prototype.lte = function (n) { return this.compareTo(n) <= 0 }; System.Decimal.prototype.gt = function (n) { return this.compareTo(n) > 0 }; System.Decimal.prototype.gte = function (n) { return this.compareTo(n) >= 0 }; System.Decimal.prototype.equals = function (n) { return n instanceof System.Decimal || typeof n == "number" ? !this.compareTo(n) : !1 }; System.Decimal.prototype.equalsT = function (n) { return !this.compareTo(n) }; System.Decimal.prototype.getHashCode = function () { for (var n = this.sign() * 397 + this.value.e | 0, t = 0; t < this.value.d.length; t++)n = n * 397 + this.value.d[t] | 0; return n }; System.Decimal.toInt = function (n, t) { var i, r, u; if (!n) return null; if (t) { if (t === System.Int64) { if (i = n.value.trunc().toString(), r = new System.Int64(i), i !== r.value.toString()) throw new System.OverflowException; return r } if (t === System.UInt64) { if (n.value.isNegative()) throw new System.OverflowException; if (i = n.value.trunc().toString(), r = new System.UInt64(i), i !== r.value.toString()) throw new System.OverflowException; return r } return Bridge.Int.check(Bridge.Int.trunc(n.value.toNumber()), t) } if (u = Bridge.Int.trunc(System.Decimal.getValue(n).toNumber()), !Bridge.Int.$is(u)) throw new System.OverflowException; return u }; System.Decimal.tryParse = function (n, t, i) { try { return i.v = new System.Decimal(n, t), !0 } catch (r) { return i.v = new System.Decimal(0), !1 } }; System.Decimal.toFloat = function (n) { return n ? System.Decimal.getValue(n).toNumber() : null }; System.Decimal.setConfig = function (n) { Bridge.$Decimal.config(n) }; System.Decimal.min = function () { for (var t = [], n = 0, i = arguments.length; n < i; n++)t.push(System.Decimal.getValue(arguments[n])); return new System.Decimal(Bridge.$Decimal.min.apply(Bridge.$Decimal, t)) }; System.Decimal.max = function () { for (var t = [], n = 0, i = arguments.length; n < i; n++)t.push(System.Decimal.getValue(arguments[n])); return new System.Decimal(Bridge.$Decimal.max.apply(Bridge.$Decimal, t)) }; System.Decimal.random = function (n) { return new System.Decimal(Bridge.$Decimal.random(n)) }; System.Decimal.exp = function (n) { return new System.Decimal(System.Decimal.getValue(n).exp()) }; System.Decimal.exp = function (n) { return new System.Decimal(System.Decimal.getValue(n).exp()) }; System.Decimal.ln = function (n) { return new System.Decimal(System.Decimal.getValue(n).ln()) }; System.Decimal.log = function (n, t) { return new System.Decimal(System.Decimal.getValue(n).log(t)) }; System.Decimal.pow = function (n, t) { return new System.Decimal(System.Decimal.getValue(n).pow(t)) }; System.Decimal.sqrt = function (n) { return new System.Decimal(System.Decimal.getValue(n).sqrt()) }; System.Decimal.prototype.isFinite = function () { return this.value.isFinite() }; System.Decimal.prototype.isInteger = function () { return this.value.isInteger() }; System.Decimal.prototype.isNaN = function () { return this.value.isNaN() }; System.Decimal.prototype.isNegative = function () { return this.value.isNegative() }; System.Decimal.prototype.isZero = function () { return this.value.isZero() }; System.Decimal.prototype.log = function (n) { return new System.Decimal(this.value.log(n)) }; System.Decimal.prototype.ln = function () { return new System.Decimal(this.value.ln()) }; System.Decimal.prototype.precision = function () { return this.value.precision() }; System.Decimal.prototype.round = function () { var t = Bridge.$Decimal.rounding, n; return Bridge.$Decimal.rounding = 6, n = new System.Decimal(this.value.round()), Bridge.$Decimal.rounding = t, n }; System.Decimal.prototype.sqrt = function () { return new System.Decimal(this.value.sqrt()) }; System.Decimal.prototype.toDecimalPlaces = function (n, t) { return new System.Decimal(this.value.toDecimalPlaces(n, t)) }; System.Decimal.prototype.toExponential = function (n, t) { return this.value.toExponential(n, t) }; System.Decimal.prototype.toFixed = function (n, t) { return this.value.toFixed(n, t) }; System.Decimal.prototype.pow = function (n) { return new System.Decimal(this.value.pow(n)) }; System.Decimal.prototype.toPrecision = function (n, t) { return this.value.toPrecision(n, t) }; System.Decimal.prototype.toSignificantDigits = function (n, t) { return new System.Decimal(this.value.toSignificantDigits(n, t)) }; System.Decimal.prototype.valueOf = function () { return this.value.valueOf() }; System.Decimal.prototype._toFormat = function (n, t, i) { var o = this.value; if (!o.isFinite()) return o.toString(); var u, l = o.isNeg(), a = i.groupSeparator, f = +i.groupSize, e = +i.secondaryGroupSize, v = o.toFixed(n, t).split("."), r = v[0], c = v[1], s = l ? r.slice(1) : r, h = s.length; if (e && (h -= (u = f, f = e, e = u)), f > 0 && h > 0) { for (u = h % f || f, r = s.substr(0, u); u < h; u += f)r += a + s.substr(u, f); e > 0 && (r += a + s.slice(u)); l && (r = "-" + r) } return c ? r + i.decimalSeparator + ((e = +i.fractionGroupSize) ? c.replace(new RegExp("\\d{" + e + "}\\B", "g"), "$&" + i.fractionGroupSeparator) : c) : r }; System.Decimal.prototype.toFormat = function (n, t, i) { var r = { decimalSeparator: ".", groupSeparator: ",", groupSize: 3, secondaryGroupSize: 0, fractionGroupSeparator: " ", fractionGroupSize: 0 }, f, u; return i && !i.getFormat ? (r = Bridge.merge(r, i), f = this._toFormat(n, t, r)) : (i = i || System.Globalization.CultureInfo.getCurrentCulture(), u = i && i.getFormat(System.Globalization.NumberFormatInfo), u && (r.decimalSeparator = u.numberDecimalSeparator, r.groupSeparator = u.numberGroupSeparator, r.groupSize = u.numberGroupSizes[0]), f = this._toFormat(n, t, r)), f }; System.Decimal.prototype.getBytes = function () { var r = this.value.s, u = this.value.e, i = this.value.d, t = System.Array.init(23, 0, System.Byte), n; if (t[0] = r & 255, t[1] = u, i && i.length > 0) for (t[2] = i.length * 4, n = 0; n < i.length; n++)t[n * 4 + 3] = i[n] & 255, t[n * 4 + 4] = i[n] >> 8 & 255, t[n * 4 + 5] = i[n] >> 16 & 255, t[n * 4 + 6] = i[n] >> 24 & 255; else t[2] = 0; return t }; System.Decimal.fromBytes = function (n) { var i = new System.Decimal(0), f = Bridge.Int.sxb(n[0] & 255), e = n[1], r = n[2], u = [], t; if (i.value.s = f, i.value.e = e, r > 0) for (t = 3; t < r + 3;)u.push(n[t] | n[t + 1] << 8 | n[t + 2] << 16 | n[t + 3] << 24), t = t + 4; return i.value.d = u, i }; Bridge.$Decimal.config({ precision: 29 }); System.Decimal.Zero = System.Decimal(0); System.Decimal.One = System.Decimal(1); System.Decimal.MinusOne = System.Decimal(-1); System.Decimal.MinValue = System.Decimal("-79228162514264337593543950335"); System.Decimal.MaxValue = System.Decimal("79228162514264337593543950335"); System.Decimal.precision = 29; Bridge.define("System.DayOfWeek", { $kind: "enum", statics: { fields: { Sunday: 0, Monday: 1, Tuesday: 2, Wednesday: 3, Thursday: 4, Friday: 5, Saturday: 6 } } }); Bridge.define("System.DateTimeKind", { $kind: "enum", statics: { fields: { Unspecified: 0, Utc: 1, Local: 2 } } }); Bridge.define("System.DateTime", { inherits: function () { return [System.IComparable, System.IComparable$1(System.DateTime), System.IEquatable$1(System.DateTime), System.IFormattable] }, $kind: "struct", fields: { kind: 0 }, methods: { $clone: function () { return this } }, statics: { minOffset: System.Int64("621355968000000000"), maxTicks: System.Int64("3155378975999999999"), $is: function (n) { return Bridge.isDate(n) }, getMinValue: function () { return System.DateTime.create$2(0) }, getMaxValue: function () { var n = System.DateTime.create$2(System.DateTime.maxTicks); return n.ticks = System.DateTime.maxTicks, n }, getTicks: function (n) { return n.kind = n.kind !== undefined ? n.kind : 0, n.ticks === undefined && (n.ticks = n.kind === 1 ? System.Int64(n.getTime()).mul(1e4).add(System.DateTime.minOffset) : System.Int64(n.getTime() - n.getTimezoneOffset() * 6e4).mul(1e4).add(System.DateTime.minOffset)), n.ticks }, toLocalTime: function (n) { var i, t = System.DateTime.getTicks(n); return n.kind !== 2 && (t = n.ticks.sub(System.Int64(n.getTimezoneOffset() * 6e4).mul(1e4))), i = System.DateTime.create$2(t, 2), (t.gt(System.DateTime.maxTicks) || t.lt(0)) && (t = t.add(System.Int64(i.getTimezoneOffset() * 6e4).mul(1e4)), i = System.DateTime.create$2(t, 2)), i }, toUniversalTime: function (n) { var t = System.DateTime.getTicks(n), i; return n.kind !== 1 && (t = t.add(System.Int64(n.getTimezoneOffset() * 6e4).mul(1e4))), i = System.DateTime.create$2(t, 1), (t.gt(System.DateTime.maxTicks) || t.lt(0)) && (t = t.sub(System.Int64(i.getTimezoneOffset() * 6e4).mul(1e4)), i = System.DateTime.create$2(t, 1)), i }, getDefaultValue: function () { return System.DateTime.getMinValue() }, create: function (n, t, i, r, u, f, e, o) { n = n !== undefined ? n : (new Date).getFullYear(); t = t !== undefined ? t : (new Date).getMonth() + 1; i = i !== undefined ? i : 1; r = r !== undefined ? r : 0; u = u !== undefined ? u : 0; f = f !== undefined ? f : 0; e = e !== undefined ? e : 0; o = o !== undefined ? o : 0; var s, h; return s = new Date(n, t - 1, i, r, u, f, e), s.setFullYear(n), h = System.DateTime.getTicks(s), o === 1 && (s = new Date(s.getTime() - s.getTimezoneOffset() * 6e4)), s.kind = o, s.ticks = h, s }, create$1: function (n, t) { t = t !== undefined ? t : 0; var i; return i = t === 1 ? System.DateTime.create(n.getUTCFullYear(), n.getUTCMonth() + 1, n.getUTCDate(), n.getUTCHours(), n.getUTCMinutes(), n.getUTCSeconds(), n.getUTCMilliseconds(), t) : System.DateTime.create(n.getFullYear(), n.getMonth() + 1, n.getDate(), n.getHours(), n.getMinutes(), n.getSeconds(), n.getMilliseconds(), t), i.ticks = System.DateTime.getTicks(i), i }, create$2: function (n, t) { n = System.Int64.is64Bit(n) ? n : System.Int64(n); t = t !== undefined ? t : 0; var i = new Date(n.sub(System.DateTime.minOffset).div(1e4).toNumber()); return t !== 1 && (i = System.DateTime.addMilliseconds(i, i.getTimezoneOffset() * 6e4)), i.ticks = n, i.kind = t, i }, getToday: function () { var n = new Date; return System.DateTime.create(n.getFullYear(), n.getMonth() + 1, n.getDate(), 0, 0, 0, 0, 2) }, getNow: function () { return System.DateTime.create$1(new Date, 2) }, getUtcNow: function () { return System.DateTime.create$1(new Date, 1) }, getTimeOfDay: function (n) { var t = System.DateTime.getDate(n); return new System.TimeSpan((n - t) * 1e4) }, getKind: function (n) { return n.kind = n.kind !== undefined ? n.kind : 0, n.kind }, specifyKind: function (n, t) { return System.DateTime.create$2(System.DateTime.getTicks(n), t) }, isUseGenitiveForm: function (n, t, i, r) { for (var f = 0, u = t - 1; u >= 0 && n[u] !== r; u--); if (u >= 0) { while (--u >= 0 && n[u] === r) f++; if (f <= 1) return !0 } for (u = t + i; u < n.length && n[u] !== r; u++); if (u < n.length) { for (f = 0; ++u < n.length && n[u] === r;)f++; if (f <= 1) return !0 } return !1 }, format: function (n, t, i) { var v = this, e = n.kind || 0, u = e === 1, r = (i || System.Globalization.CultureInfo.getCurrentCulture()).getFormat(System.Globalization.DateTimeFormatInfo), o = u ? n.getUTCFullYear() : n.getFullYear(), f = u ? n.getUTCMonth() : n.getMonth(), s = u ? n.getUTCDate() : n.getDate(), y = u ? n.getUTCDay() : n.getDay(), h = u ? n.getUTCHours() : n.getHours(), p = u ? n.getUTCMinutes() : n.getMinutes(), w = u ? n.getUTCSeconds() : n.getSeconds(), b = u ? n.getUTCMilliseconds() : n.getMilliseconds(), c = n.getTimezoneOffset(), l, a; return t = t || "G", t.length === 1 ? (l = r.getAllDateTimePatterns(t, !0), t = l ? l[0] : t) : t.length === 2 && t.charAt(0) === "%" && (t = t.charAt(1)), a = !1, t = t.replace(/(\\.|'[^']*'|"[^"]*"|d{1,4}|M{1,4}|yyyy|yy|y|HH?|hh?|mm?|ss?|tt?|u|f{1,7}|F{1,7}|K|z{1,3}|\:|\/)/g, function (n, i, u) { var l = n, g, k, d; switch (n) { case "dddd": l = r.dayNames[y]; break; case "ddd": l = r.abbreviatedDayNames[y]; break; case "dd": l = s < 10 ? "0" + s : s; break; case "d": l = s; break; case "MMMM": l = v.isUseGenitiveForm(t, u, 4, "d") ? r.monthGenitiveNames[f] : r.monthNames[f]; break; case "MMM": l = v.isUseGenitiveForm(t, u, 3, "d") ? r.abbreviatedMonthGenitiveNames[f] : r.abbreviatedMonthNames[f]; break; case "MM": l = f + 1 < 10 ? "0" + (f + 1) : f + 1; break; case "M": l = f + 1; break; case "yyyy": l = ("0000" + o).substring(o.toString().length); break; case "yy": l = (o % 100).toString(); l.length === 1 && (l = "0" + l); break; case "y": l = o % 100; break; case "h": case "hh": l = h % 12; l ? n === "hh" && l.length === 1 && (l = "0" + l) : l = "12"; break; case "HH": l = h.toString(); l.length === 1 && (l = "0" + l); break; case "H": l = h; break; case "mm": l = p.toString(); l.length === 1 && (l = "0" + l); break; case "m": l = p; break; case "ss": l = w.toString(); l.length === 1 && (l = "0" + l); break; case "s": l = w; break; case "t": case "tt": l = h < 12 ? r.amDesignator : r.pmDesignator; n === "t" && (l = l.charAt(0)); break; case "F": case "FF": case "FFF": case "FFFF": case "FFFFF": case "FFFFFF": case "FFFFFFF": for (l = b.toString(), l.length < 3 && (l = Array(4 - l.length).join("0") + l), l = l.substr(0, n.length), g = "0", k = l.length - 1; k >= 0 && l.charAt(k) === g; k--); l = l.substring(0, k + 1); a = l.length == 0; break; case "f": case "ff": case "fff": case "ffff": case "fffff": case "ffffff": case "fffffff": l = b.toString(); l.length < 3 && (l = Array(4 - l.length).join("0") + l); d = n === "u" ? 7 : n.length; l.length < d && (l = l + Array(8 - l.length).join("0")); l = l.substr(0, d); break; case "z": l = c / 60; l = (l >= 0 ? "-" : "+") + Math.floor(Math.abs(l)); break; case "K": case "zz": case "zzz": e === 0 ? l = "" : e === 1 ? l = "Z" : (l = c / 60, l = (l > 0 ? "-" : "+") + System.String.alignString(Math.floor(Math.abs(l)).toString(), 2, "0", 2), (n === "zzz" || n === "K") && (l += r.timeSeparator + System.String.alignString(Math.floor(Math.abs(c % 60)).toString(), 2, "0", 2))); break; case ":": l = r.timeSeparator; break; case "/": l = r.dateSeparator; break; default: l = n.substr(1, n.length - 1 - (n.charAt(0) !== "\\")) }return l }), a && (System.String.endsWith(t, ".") ? t = t.substring(0, t.length - 1) : System.String.endsWith(t, ".Z") ? t = t.substring(0, t.length - 2) + "Z" : e === 2 && t.match(/\.([+-])/g) !== null && (t = t.replace(/\.([+-])/g, "$1"))), t }, parse: function (n, t, i, r) { var u = this.parseExact(n, null, t, i, !0); if (u !== null) return u; if (u = Date.parse(n), isNaN(u)) { if (!r) throw new System.FormatException("String does not contain a valid string representation of a date and time."); } else return new Date(u) }, parseExact: function (n, t, i, r, u) { var ht, at, bt, l; if (t || (t = ["G", "g", "F", "f", "D", "d", "R", "r", "s", "S", "U", "u", "O", "o", "Y", "y", "M", "m", "T", "t"]), Bridge.isArray(t)) { for (ht = 0, ht; ht < t.length; ht++)if (l = System.DateTime.parseExact(n, t[ht], i, r, !0), l != null) return l; if (u) return null; throw new System.FormatException("String does not contain a valid string representation of a date and time."); } else t = t.replace("'Z'", "Z"); var vt = new Date, y = (i || System.Globalization.CultureInfo.getCurrentCulture()).getFormat(System.Globalization.DateTimeFormatInfo), ct = y.amDesignator, lt = y.pmDesignator, e = 0, b = 0, k = 0, tt, f, a = vt.getFullYear(), v = vt.getMonth() + 1, d = vt.getDate(), c = 0, rt = 0, ut = 0, h = 0, it = "", w = 0, yt = 0, ft, et, ot, st, s, o = !1, p = !1, pt, wt, g = 0, kt = !1, nt = 0; if (n == null) throw new System.ArgumentNullException("str"); for (t = t || "G", t.length === 1 ? (wt = y.getAllDateTimePatterns(t, !0), t = wt ? wt[0] : t) : t.length === 2 && t.charAt(0) === "%" && (t = t.charAt(1)); b < t.length;) { if (tt = t.charAt(b), f = "", p === "\\") f += tt, b++; else for (at = t.charAt(b + 1), tt === "." && n.charAt(e) !== tt && (at === "F" || at === "f") && (b++, tt = at); t.charAt(b) === tt && b < t.length;)f += tt, b++; if (pt = !0, !p) if (f === "yyyy" || f === "yy" || f === "y") { if (f === "yyyy" ? a = this.subparseInt(n, e, 4, 4) : f === "yy" ? a = this.subparseInt(n, e, 2, 2) : f === "y" && (a = this.subparseInt(n, e, 2, 4)), a == null) { o = !0; break } e += a.length; a.length === 2 && (a = ~~a, a = (a > 30 ? 1900 : 2e3) + a) } else if (f === "MMM" || f === "MMMM") { for (v = 0, st = f === "MMM" ? this.isUseGenitiveForm(t, b, 3, "d") ? y.abbreviatedMonthGenitiveNames : y.abbreviatedMonthNames : this.isUseGenitiveForm(t, b, 4, "d") ? y.monthGenitiveNames : y.monthNames, k = 0; k < st.length; k++)if (s = st[k], n.substring(e, e + s.length).toLowerCase() === s.toLowerCase()) { v = k % 12 + 1; e += s.length; break } if (v < 1 || v > 12) { o = !0; break } } else if (f === "MM" || f === "M") { if (v = this.subparseInt(n, e, f.length, 2), v == null || v < 1 || v > 12) { o = !0; break } e += v.length } else if (f === "dddd" || f === "ddd") { for (st = f === "ddd" ? y.abbreviatedDayNames : y.dayNames, k = 0; k < st.length; k++)if (s = st[k], n.substring(e, e + s.length).toLowerCase() === s.toLowerCase()) { e += s.length; break } } else if (f === "dd" || f === "d") { if (d = this.subparseInt(n, e, f.length, 2), d == null || d < 1 || d > 31) { o = !0; break } e += d.length } else if (f === "hh" || f === "h") { if (c = this.subparseInt(n, e, f.length, 2), c == null || c < 1 || c > 12) { o = !0; break } e += c.length } else if (f === "HH" || f === "H") { if (c = this.subparseInt(n, e, f.length, 2), c == null || c < 0 || c > 23) { o = !0; break } e += c.length } else if (f === "mm" || f === "m") { if (rt = this.subparseInt(n, e, f.length, 2), rt == null || rt < 0 || rt > 59) return null; e += rt.length } else if (f === "ss" || f === "s") { if (ut = this.subparseInt(n, e, f.length, 2), ut == null || ut < 0 || ut > 59) { o = !0; break } e += ut.length } else if (f === "u") { if (h = this.subparseInt(n, e, 1, 7), h == null) { o = !0; break } e += h.length; h.length > 3 && (h = h.substring(0, 3)) } else if (f.match(/f{1,7}/) !== null) { if (h = this.subparseInt(n, e, f.length, 7), h == null) { o = !0; break } e += h.length; h.length > 3 && (h = h.substring(0, 3)) } else if (f.match(/F{1,7}/) !== null) h = this.subparseInt(n, e, 0, 7), h !== null && (e += h.length, h.length > 3 && (h = h.substring(0, 3))); else if (f === "t") { if (n.substring(e, e + 1).toLowerCase() === ct.charAt(0).toLowerCase()) it = ct; else if (n.substring(e, e + 1).toLowerCase() === lt.charAt(0).toLowerCase()) it = lt; else { o = !0; break } e += 1 } else if (f === "tt") { if (n.substring(e, e + 2).toLowerCase() === ct.toLowerCase()) it = ct; else if (n.substring(e, e + 2).toLowerCase() === lt.toLowerCase()) it = lt; else { o = !0; break } e += 2 } else if (f === "z" || f === "zz") { if (et = n.charAt(e), et === "-") ot = !0; else if (et === "+") ot = !1; else { o = !0; break } if (e++, w = this.subparseInt(n, e, 1, 2), w == null || w > 14) { o = !0; break } e += w.length; nt = w * 36e5; ot && (nt = -nt) } else if (f === "Z") { bt = n.substring(e, e + 1); bt === "Z" || bt === "z" ? (g = 1, e += 1) : o = !0; break } else if (f === "zzz" || f === "K") { if (n.substring(e, e + 1) === "Z") { g = 2; kt = !0; e += 1; break } if (s = n.substring(e, e + 6), s === "") { g = 0; break } if (e += s.length, s.length !== 6 && s.length !== 5) { o = !0; break } if (et = s.charAt(0), et === "-") ot = !0; else if (et === "+") ot = !1; else { o = !0; break } if (ft = 1, w = this.subparseInt(s, ft, 1, s.length === 6 ? 2 : 1), w == null || w > 14) { o = !0; break } if (ft += w.length, s.charAt(ft) !== y.timeSeparator) { o = !0; break } if (ft++, yt = this.subparseInt(s, ft, 1, 2), yt == null || w > 59) { o = !0; break } nt = w * 36e5 + yt * 6e4; ot && (nt = -nt); g = 2 } else pt = !1; if (p || !pt) { if (s = n.substring(e, e + f.length), (p || s !== ":" || f !== y.timeSeparator && f !== ":") && (!p && (f === ":" && s !== y.timeSeparator || f === "/" && s !== y.dateSeparator) || s !== f && f !== "'" && f !== '"' && f !== "\\")) { o = !0; break } if (p === "\\" && (p = !1), f !== "'" && f !== '"' && f !== "\\") e += f.length; else if (p === !1) p = f; else { if (p !== f) { o = !0; break } p = !1 } } } if (p && (o = !0), o || (e !== n.length ? o = !0 : v === 2 ? a % 4 == 0 && a % 100 != 0 || a % 400 == 0 ? d > 29 && (o = !0) : d > 28 && (o = !0) : (v === 4 || v === 6 || v === 9 || v === 11) && d > 30 && (o = !0)), o) { if (u) return null; throw new System.FormatException("String does not contain a valid string representation of a date and time."); } return it && (c < 12 && it === lt ? c = +c + 12 : c > 11 && it === ct && (c -= 12)), l = System.DateTime.create(a, v, d, c, rt, ut, h, g), g === 2 && (kt === !0 ? (l = new Date(l.getTime() - l.getTimezoneOffset() * 6e4), l.kind = g) : nt !== 0 && (l = new Date(l.getTime() - l.getTimezoneOffset() * 6e4), l = System.DateTime.addMilliseconds(l, -nt), l.kind = g)), l }, subparseInt: function (n, t, i, r) { for (var f, u = r; u >= i; u--) { if (f = n.substring(t, t + u), f.length < i) return null; if (/^\d+$/.test(f)) return f } return null }, tryParse: function (n, t, i, r) { return (i.v = this.parse(n, t, r, !0), i.v == null) ? (i.v = System.DateTime.getMinValue(), !1) : !0 }, tryParseExact: function (n, t, i, r, u) { return (r.v = this.parseExact(n, t, i, u, !0), r.v == null) ? (r.v = System.DateTime.getMinValue(), !1) : !0 }, isDaylightSavingTime: function (n) { var t = System.DateTime.getToday(); return t.setMonth(0), t.setDate(1), t.getTimezoneOffset() !== n.getTimezoneOffset() }, dateAddSubTimespan: function (n, t, i) { var r = new Date(n.getTime()); return r.setDate(r.getDate() + i * t.getDays()), r.setHours(r.getHours() + i * t.getHours()), r.setMinutes(r.getMinutes() + i * t.getMinutes()), r.setSeconds(r.getSeconds() + i * t.getSeconds()), r.setMilliseconds(r.getMilliseconds() + i * t.getMilliseconds()), r }, subdt: function (n, t) { return Bridge.hasValue$1(n, t) ? this.dateAddSubTimespan(n, t, -1) : null }, adddt: function (n, t) { return Bridge.hasValue$1(n, t) ? this.dateAddSubTimespan(n, t, 1) : null }, subdd: function (n, t) { return Bridge.hasValue$1(n, t) ? new System.TimeSpan((n - t) * 1e4) : null }, addYears: function (n, t) { return System.DateTime.addMonths(n, t * 12) }, addMonths: function (n, t) { n.kind = n.kind !== undefined ? n.kind : 0; var i = new Date(n.getTime()), r = i.getDate(); return i.setMonth(i.getMonth() + t), i.getDate() != r && i.setDate(0), i.kind = n.kind, i }, addDays: function (n, t) { n.kind = n.kind !== undefined ? n.kind : 0; var i = new Date(n.getTime()); return i.setDate(n.getDate() + Math.floor(t)), i.kind = n.kind, System.DateTime.addMilliseconds(i, Math.round(t % 1 * 864e5)) }, addHours: function (n, t) { return System.DateTime.addMilliseconds(n, Math.round(t * 36e5)) }, addMinutes: function (n, t) { return System.DateTime.addMilliseconds(n, Math.round(t * 6e4)) }, addSeconds: function (n, t) { return System.DateTime.addMilliseconds(n, Math.round(t * 1e3)) }, addMilliseconds: function (n, t) { n.kind = n.kind !== undefined ? n.kind : 0; var i = new Date(n.getTime() + Math.round(t)); return i.kind = n.kind, i.ticks = System.DateTime.getTicks(i), i }, addTicks: function (n, t) { return System.DateTime.addMilliseconds(n, t / 1e4) }, add: function (n, t) { n.kind = n.kind !== undefined ? n.kind : 0; var i = new Date(n.getTime() + t.ticks.div(1e4).toNumber()); return i.kind = n.kind, i.ticks = System.DateTime.getTicks(i), i }, subtract: function (n, t) { n.kind = n.kind !== undefined ? n.kind : 0; var i = new Date(n.getTime() - t.ticks.div(1e4).toNumber()); return i.kind = n.kind, i.ticks = System.DateTime.getTicks(i), i }, getIsLeapYear: function (n) { return new Date(n, 2, -1).getDate() === 28 }, getDaysInMonth: function (n, t) { return new Date(n, t, -1).getDate() + 1 }, getDayOfYear: function (n) { var t = new Date(n.getTime()); return n.kind !== 1 ? (t.setMonth(0), t.setDate(1), t.setHours(0), t.setMinutes(0), t.setMilliseconds(0)) : (t.setUTCMonth(0), t.setUTCDate(1), t.setUTCHours(0), t.setUTCMinutes(0), t.setUTCMilliseconds(0)), Math.ceil((n - t) / 864e5) }, getDate: function (n) { n.kind = n.kind !== undefined ? n.kind : 0; var t = new Date(n.getTime()); return n.kind !== 1 ? (t.setHours(0), t.setMinutes(0), t.setSeconds(0), t.setMilliseconds(0)) : (t.setUTCHours(0), t.setUTCMinutes(0), t.setUTCSeconds(0), t.setUTCMilliseconds(0)), t.kind = n.kind, t.ticks = System.DateTime.getTicks(t), t }, getDayOfWeek: function (n) { return System.DateTime.getKind(n) === 1 ? n.getUTCDay() : n.getDay() }, getYear: function (n) { return System.DateTime.getKind(n) === 1 ? n.getUTCFullYear() : n.getFullYear() }, getMonth: function (n) { return (System.DateTime.getKind(n) === 1 ? n.getUTCMonth() : n.getMonth()) + 1 }, getDay: function (n) { return System.DateTime.getKind(n) === 1 ? n.getUTCDate() : n.getDate() }, getHour: function (n) { return System.DateTime.getKind(n) === 1 ? n.getUTCHours() : n.getHours() }, getMinute: function (n) { return System.DateTime.getKind(n) === 1 ? n.getUTCMinutes() : n.getMinutes() }, getSecond: function (n) { return System.DateTime.getKind(n) === 1 ? n.getUTCSeconds() : n.getSeconds() }, getMillisecond: function (n) { return System.DateTime.getKind(n) === 1 ? n.getUTCMilliseconds() : n.getMilliseconds() }, gt: function (n, t) { return n != null && t != null ? System.DateTime.getTicks(n).gt(System.DateTime.getTicks(t)) : !1 }, gte: function (n, t) { return n != null && t != null ? System.DateTime.getTicks(n).gte(System.DateTime.getTicks(t)) : !1 }, lt: function (n, t) { return n != null && t != null ? System.DateTime.getTicks(n).lt(System.DateTime.getTicks(t)) : !1 }, lte: function (n, t) { return n != null && t != null ? System.DateTime.getTicks(n).lte(System.DateTime.getTicks(t)) : !1 } } }); Bridge.define("System.TimeSpan", { inherits: [System.IComparable], config: { alias: ["compareTo", ["System$IComparable$compareTo", "System$IComparable$1$compareTo", "System$IComparable$1System$TimeSpan$compareTo"]] }, $kind: "struct", statics: { fromDays: function (n) { return new System.TimeSpan(n * 864e9) }, fromHours: function (n) { return new System.TimeSpan(n * 36e9) }, fromMilliseconds: function (n) { return new System.TimeSpan(n * 1e4) }, fromMinutes: function (n) { return new System.TimeSpan(n * 6e8) }, fromSeconds: function (n) { return new System.TimeSpan(n * 1e7) }, fromTicks: function (n) { return new System.TimeSpan(n) }, ctor: function () { this.zero = new System.TimeSpan(System.Int64.Zero); this.maxValue = new System.TimeSpan(System.Int64.MaxValue); this.minValue = new System.TimeSpan(System.Int64.MinValue) }, getDefaultValue: function () { return new System.TimeSpan(System.Int64.Zero) }, neg: function (n) { return Bridge.hasValue(n) ? new System.TimeSpan(n.ticks.neg()) : null }, sub: function (n, t) { return Bridge.hasValue$1(n, t) ? new System.TimeSpan(n.ticks.sub(t.ticks)) : null }, eq: function (n, t) { return Bridge.hasValue$1(n, t) ? n.ticks.eq(t.ticks) : null }, neq: function (n, t) { return Bridge.hasValue$1(n, t) ? n.ticks.ne(t.ticks) : null }, plus: function (n) { return Bridge.hasValue(n) ? new System.TimeSpan(n.ticks) : null }, add: function (n, t) { return Bridge.hasValue$1(n, t) ? new System.TimeSpan(n.ticks.add(t.ticks)) : null }, gt: function (n, t) { return Bridge.hasValue$1(n, t) ? n.ticks.gt(t.ticks) : !1 }, gte: function (n, t) { return Bridge.hasValue$1(n, t) ? n.ticks.gte(t.ticks) : !1 }, lt: function (n, t) { return Bridge.hasValue$1(n, t) ? n.ticks.lt(t.ticks) : !1 }, lte: function (n, t) { return Bridge.hasValue$1(n, t) ? n.ticks.lte(t.ticks) : !1 } }, ctor: function () { this.$initialize(); this.ticks = System.Int64.Zero; arguments.length === 1 ? this.ticks = arguments[0] instanceof System.Int64 ? arguments[0] : new System.Int64(arguments[0]) : arguments.length === 3 ? this.ticks = new System.Int64(arguments[0]).mul(60).add(arguments[1]).mul(60).add(arguments[2]).mul(1e7) : arguments.length === 4 ? this.ticks = new System.Int64(arguments[0]).mul(24).add(arguments[1]).mul(60).add(arguments[2]).mul(60).add(arguments[3]).mul(1e7) : arguments.length === 5 && (this.ticks = new System.Int64(arguments[0]).mul(24).add(arguments[1]).mul(60).add(arguments[2]).mul(60).add(arguments[3]).mul(1e3).add(arguments[4]).mul(1e4)) }, getTicks: function () { return this.ticks }, getDays: function () { return this.ticks.div(864e9).toNumber() }, getHours: function () { return this.ticks.div(36e9).mod(24).toNumber() }, getMilliseconds: function () { return this.ticks.div(1e4).mod(1e3).toNumber() }, getMinutes: function () { return this.ticks.div(6e8).mod(60).toNumber() }, getSeconds: function () { return this.ticks.div(1e7).mod(60).toNumber() }, getTotalDays: function () { return this.ticks.toNumberDivided(864e9) }, getTotalHours: function () { return this.ticks.toNumberDivided(36e9) }, getTotalMilliseconds: function () { return this.ticks.toNumberDivided(1e4) }, getTotalMinutes: function () { return this.ticks.toNumberDivided(6e8) }, getTotalSeconds: function () { return this.ticks.toNumberDivided(1e7) }, get12HourHour: function () { return this.getHours() > 12 ? this.getHours() - 12 : this.getHours() === 0 ? 12 : this.getHours() }, add: function (n) { return new System.TimeSpan(this.ticks.add(n.ticks)) }, subtract: function (n) { return new System.TimeSpan(this.ticks.sub(n.ticks)) }, duration: function () { return new System.TimeSpan(this.ticks.abs()) }, negate: function () { return new System.TimeSpan(this.ticks.neg()) }, compareTo: function (n) { return this.ticks.compareTo(n.ticks) }, equals: function (n) { return Bridge.is(n, System.TimeSpan) ? n.ticks.eq(this.ticks) : !1 }, equalsT: function (n) { return n.ticks.eq(this.ticks) }, format: function (n, t) { return this.toString(n, t) }, getHashCode: function () { return this.ticks.getHashCode() }, toString: function (n, t) { var i = this.ticks, f = "", r = this, e = (t || System.Globalization.CultureInfo.getCurrentCulture()).getFormat(System.Globalization.DateTimeFormatInfo), u = function (n, t, i, r) { return System.String.alignString((n | 0).toString(), t || 2, "0", i || 2, r || !1) }; return n ? n.replace(/(\\.|'[^']*'|"[^"]*"|dd?|HH?|hh?|mm?|ss?|tt?|f{1,7}|\:|\/)/g, function (n) { var t = n; switch (n) { case "d": return r.getDays(); case "dd": return u(r.getDays()); case "H": return r.getHours(); case "HH": return u(r.getHours()); case "h": return r.get12HourHour(); case "hh": return u(r.get12HourHour()); case "m": return r.getMinutes(); case "mm": return u(r.getMinutes()); case "s": return r.getSeconds(); case "ss": return u(r.getSeconds()); case "t": return (r.getHours() < 12 ? e.amDesignator : e.pmDesignator).substring(0, 1); case "tt": return r.getHours() < 12 ? e.amDesignator : e.pmDesignator; case "f": case "ff": case "fff": case "ffff": case "fffff": case "ffffff": case "fffffff": return u(r.getMilliseconds(), n.length, 1, !0); default: return n.substr(1, n.length - 1 - (n.charAt(0) !== "\\")) } }) : (i.abs().gte(864e9) && (f += u(i.toNumberDivided(864e9)) + ".", i = i.mod(864e9)), f += u(i.toNumberDivided(36e9)) + ":", i = i.mod(36e9), f += u(i.toNumberDivided(6e8) | 0) + ":", i = i.mod(6e8), f += u(i.toNumberDivided(1e7)), i = i.mod(1e7), i.gt(0) && (f += "." + u(i.toNumber(), 7)), f) } }); Bridge.Class.addExtend(System.TimeSpan, [System.IComparable$1(System.TimeSpan), System.IEquatable$1(System.TimeSpan)]); Bridge.define("System.Text.StringBuilder", { ctor: function () { this.$initialize(); this.buffer = []; this.capacity = 16; arguments.length === 1 ? this.append(arguments[0]) : arguments.length === 2 ? (this.append(arguments[0]), this.setCapacity(arguments[1])) : arguments.length >= 3 && (this.append(arguments[0], arguments[1], arguments[2]), arguments.length === 4 && this.setCapacity(arguments[3])) }, getLength: function () { if (this.buffer.length < 2) return this.buffer[0] ? this.buffer[0].length : 0; var n = this.getString(); return n.length }, setLength: function (n) { var i, t; if (n === 0) this.clear(); else if (n < 0) throw new System.ArgumentOutOfRangeException("value", "Length cannot be less than zero"); else { if (i = this.getLength(), n === i) return; t = n - i; t > 0 ? this.append('\0', t) : this.remove(i + t, -t) } }, getCapacity: function () { var n = this.getLength(); return this.capacity > n ? this.capacity : n }, setCapacity: function (n) { var t = this.getLength(); n > t && (this.capacity = n) }, toString: function () { var n = this.getString(), t, i; return arguments.length === 2 ? (t = arguments[0], i = arguments[1], this.checkLimits(n, t, i), n.substr(t, i)) : n }, append: function (n) { var i, t; if (n == null) return this; if (arguments.length === 2) { if (t = arguments[1], t === 0) return this; if (t < 0) throw new System.ArgumentOutOfRangeException("count", "cannot be less than zero"); n = Array(t + 1).join(n).toString() } else if (arguments.length === 3) { if (i = arguments[1], t = arguments[2], t === 0) return this; this.checkLimits(n, i, t); n = n.substr(i, t) } return this.buffer[this.buffer.length] = n, this.clearString(), this }, appendFormat: function () { return this.append(System.String.format.apply(System.String, arguments)) }, clear: function () { return this.buffer = [], this.clearString(), this }, appendLine: function () { return arguments.length === 1 && this.append(arguments[0]), this.append("\r\n") }, equals: function (n) { return n == null ? !1 : n === this ? !0 : this.toString() === n.toString() }, remove: function (n, t) { var i = this.getString(); return (this.checkLimits(i, n, t), i.length === t && n === 0) ? this.clear() : (t > 0 && (this.buffer = [], this.buffer[0] = i.substring(0, n), this.buffer[1] = i.substring(n + t, i.length), this.clearString()), this) }, insert: function (n, t) { var r, i; if (t == null) return this; if (arguments.length === 3) { if (r = arguments[2], r === 0) return this; if (r < 0) throw new System.ArgumentOutOfRangeException("count", "cannot be less than zero"); t = Array(r + 1).join(t).toString() } return i = this.getString(), this.buffer = [], n < 1 ? (this.buffer[0] = t, this.buffer[1] = i) : n >= i.length ? (this.buffer[0] = i, this.buffer[1] = t) : (this.buffer[0] = i.substring(0, n), this.buffer[1] = t, this.buffer[2] = i.substring(n, i.length)), this.clearString(), this }, replace: function (n, t) { var f = new RegExp(n, "g"), i = this.buffer.join(""); if (this.buffer = [], arguments.length === 4) { var r = arguments[2], u = arguments[3], e = i.substr(r, u); this.checkLimits(i, r, u); this.buffer[0] = i.substring(0, r); this.buffer[1] = e.replace(f, t); this.buffer[2] = i.substring(r + u, i.length) } else this.buffer[0] = i.replace(f, t); return this.clearString(), this }, checkLimits: function (n, t, i) { if (i < 0) throw new System.ArgumentOutOfRangeException("length", "must be non-negative"); if (t < 0) throw new System.ArgumentOutOfRangeException("startIndex", "startIndex cannot be less than zero"); if (i > n.length - t) throw new System.ArgumentOutOfRangeException("Index and length must refer to a location within the string"); }, clearString: function () { this.$str = null }, getString: function () { return this.$str || (this.$str = this.buffer.join(""), this.buffer = [], this.buffer[0] = this.$str), this.$str }, getChar: function (n) { var t = this.getString(); if (n < 0 || n >= t.length) throw new System.IndexOutOfRangeException; return t.charCodeAt(n) }, setChar: function (n, t) { var i = this.getString(); if (n < 0 || n >= i.length) throw new System.ArgumentOutOfRangeException; t = String.fromCharCode(t); this.buffer = []; this.buffer[0] = i.substring(0, n); this.buffer[1] = t; this.buffer[2] = i.substring(n + 1, i.length); this.clearString() } }), function () { var n = RegExp("[-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]", "g"), t = function (t) { return t.replace(n, "\\$&") }; Bridge.regexpEscape = t }(); System.Diagnostics.Debug = { writeln: function (n) { Bridge.global.console && Bridge.global.console.debug && Bridge.global.console.debug(n) }, _fail: function (n) { System.Diagnostics.Debug.writeln(n) }, assert: function (n, t) { n || (t = "Assert failed: " + t, confirm(t + "\r\n\r\nBreak into debugger?") && System.Diagnostics.Debug._fail(t)) }, fail: function (n) { System.Diagnostics.Debug._fail(n) } }; Bridge.define("System.Diagnostics.Stopwatch", { ctor: function () { this.$initialize(); this.reset() }, start: function () { this.isRunning || (this._startTime = System.Diagnostics.Stopwatch.getTimestamp(), this.isRunning = !0) }, stop: function () { if (this.isRunning) { var n = System.Diagnostics.Stopwatch.getTimestamp(), t = n.sub(this._startTime); this._elapsed = this._elapsed.add(t); this.isRunning = !1 } }, reset: function () { this._startTime = System.Int64.Zero; this._elapsed = System.Int64.Zero; this.isRunning = !1 }, restart: function () { this.isRunning = !1; this._elapsed = System.Int64.Zero; this._startTime = System.Diagnostics.Stopwatch.getTimestamp(); this.start() }, ticks: function () { var n = this._elapsed, t, i; return this.isRunning && (t = System.Diagnostics.Stopwatch.getTimestamp(), i = t.sub(this._startTime), n = n.add(i)), n }, milliseconds: function () { return this.ticks().mul(1e3).div(System.Diagnostics.Stopwatch.frequency) }, timeSpan: function () { return new System.TimeSpan(this.milliseconds().mul(1e4)) }, statics: { startNew: function () { var n = new System.Diagnostics.Stopwatch; return n.start(), n } } }); typeof window != "undefined" && window.performance && window.performance.now ? (System.Diagnostics.Stopwatch.frequency = new System.Int64(1e6), System.Diagnostics.Stopwatch.isHighResolution = !0, System.Diagnostics.Stopwatch.getTimestamp = function () { return new System.Int64(Math.round(window.performance.now() * 1e3)) }) : typeof process != "undefined" && process.hrtime ? (System.Diagnostics.Stopwatch.frequency = new System.Int64(1e9), System.Diagnostics.Stopwatch.isHighResolution = !0, System.Diagnostics.Stopwatch.getTimestamp = function () { var n = process.hrtime(); return new System.Int64(n[0]).mul(1e9).add(n[1]) }) : (System.Diagnostics.Stopwatch.frequency = new System.Int64(1e3), System.Diagnostics.Stopwatch.isHighResolution = !1, System.Diagnostics.Stopwatch.getTimestamp = function () { return new System.Int64((new Date).valueOf()) }); System.Diagnostics.Contracts.Contract = { reportFailure: function (n, t, i, r, u) { var f = i.toString(), e, o; if (f = f.substring(f.indexOf("return") + 7), f = f.substr(0, f.lastIndexOf(";")), e = f ? "Contract '" + f + "' failed" : "Contract failed", o = t ? e + ": " + t : e, u) throw new u(f, t); else throw new System.Diagnostics.Contracts.ContractException(n, o, t, f, r); }, assert: function (n, t, i, r) { i.call(t) || System.Diagnostics.Contracts.Contract.reportFailure(n, r, i, null) }, requires: function (n, t, i, r) { i.call(t) || System.Diagnostics.Contracts.Contract.reportFailure(0, r, i, null, n) }, forAll: function (n, t, i) { if (!i) throw new System.ArgumentNullException("predicate"); for (; n < t; n++)if (!i(n)) return !1; return !0 }, forAll$1: function (n, t) { if (!n) throw new System.ArgumentNullException("collection"); if (!t) throw new System.ArgumentNullException("predicate"); var i = Bridge.getEnumerator(n); try { while (i.moveNext()) if (!t(i.Current)) return !1; return !0 } finally { i.dispose() } }, exists: function (n, t, i) { if (!i) throw new System.ArgumentNullException("predicate"); for (; n < t; n++)if (i(n)) return !0; return !1 }, exists$1: function (n, t) { if (!n) throw new System.ArgumentNullException("collection"); if (!t) throw new System.ArgumentNullException("predicate"); var i = Bridge.getEnumerator(n); try { while (i.moveNext()) if (t(i.Current)) return !0; return !1 } finally { i.dispose() } } }; Bridge.define("System.Diagnostics.Contracts.ContractFailureKind", { $kind: "enum", $statics: { precondition: 0, postcondition: 1, postconditionOnException: 2, invarian: 3, assert: 4, assume: 5 } }); Bridge.define("System.Diagnostics.Contracts.ContractException", { inherits: [System.Exception], config: { properties: { Kind: { get: function () { return this._kind } }, Failure: { get: function () { return this._failureMessage } }, UserMessage: { get: function () { return this._userMessage } }, Condition: { get: function () { return this._condition } } } }, ctor: function (n, t, i, r, u) { this.$initialize(); System.Exception.ctor.call(this, t, u); this._kind = n; this._failureMessage = t || null; this._userMessage = i || null; this._condition = r || null } }); k = { toIndex: function (n, t) { if (t.length !== (n.$s ? n.$s.length : 1)) throw new System.ArgumentException("Invalid number of indices"); if (t[0] < 0 || t[0] >= (n.$s ? n.$s[0] : n.length)) throw new System.IndexOutOfRangeException("Index 0 out of range"); var r = t[0], i; if (n.$s) for (i = 1; i < n.$s.length; i++) { if (t[i] < 0 || t[i] >= n.$s[i]) throw new System.IndexOutOfRangeException("Index " + i + " out of range"); r = r * n.$s[i] + t[i] } return r }, index: function (n, t) { if (n < 0 || n >= t.length) throw new System.IndexOutOfRangeException; return n }, $get: function (n) { var t = this[System.Array.toIndex(this, n)]; return typeof t != "undefined" ? t : this.$v }, get: function (n) { var t, i, r; if (arguments.length < 2) throw new System.ArgumentNullException("indices"); for (t = Array.prototype.slice.call(arguments, 1), i = 0; i < t.length; i++)if (!Bridge.hasValue(t[i])) throw new System.ArgumentNullException("indices"); return r = n[System.Array.toIndex(n, t)], typeof r != "undefined" ? r : n.$v }, $set: function (n, t) { this[System.Array.toIndex(this, n)] = t }, set: function (n, t) { var i = Array.prototype.slice.call(arguments, 2); n[System.Array.toIndex(n, i)] = t }, getLength: function (n, t) { if (t < 0 || t >= (n.$s ? n.$s.length : 1)) throw new System.IndexOutOfRangeException; return n.$s ? n.$s[t] : n.length }, getRank: function (n) { return n.$s ? n.$s.length : 1 }, getLower: function (n, t) { return System.Array.getLength(n, t), 0 }, create: function (n, t, i, r) { var u, s, f, h, c, e, o, l, a, v; if (r === null) throw new System.ArgumentNullException("length"); if (u = [], s = arguments.length > 3 ? 1 : 0, u.$v = n, u.$s = [], u.get = System.Array.$get, u.set = System.Array.$set, r && Bridge.isArray(r)) for (f = 0; f < r.length; f++) { if (e = r[f], isNaN(e) || e < 0) throw new System.ArgumentOutOfRangeException("length"); s *= e; u.$s[f] = e } else for (f = 3; f < arguments.length; f++) { if (e = arguments[f], isNaN(e) || e < 0) throw new System.ArgumentOutOfRangeException("length"); s *= e; u.$s[f - 3] = e } for (u.length = s, v = 0; v < s; v++)u[v] = n; if (t) for (f = 0; f < u.length; f++) { for (l = [], a = f, h = u.$s.length - 1; h >= 0; h--)o = a % u.$s[h], l.unshift(o), a = Bridge.Int.div(a - o, u.$s[h]); for (c = t, o = 0; o < l.length; o++)c = c[l[o]]; u[f] = c } return System.Array.init(u, i, u.$s.length), u }, init: function (n, t, i, r) { var e, o, f, s, u; if (n == null) throw new System.ArgumentNullException("length"); if (Bridge.isArray(n)) return e = t, o = i || 1, System.Array.type(e, o, n), n; if (isNaN(n) || n < 0) throw new System.ArgumentOutOfRangeException("length"); for (f = new Array(n), s = r !== !0 && Bridge.isFunction(t), u = 0; u < n; u++)f[u] = s ? t() : t; return System.Array.init(f, i, 1) }, toEnumerable: function (n) { return new Bridge.ArrayEnumerable(n) }, toEnumerator: function (n, t) { return new Bridge.ArrayEnumerator(n, t) }, _typedArrays: { Float32Array: System.Single, Float64Array: System.Double, Int8Array: System.SByte, Int16Array: System.Int16, Int32Array: System.Int32, Uint8Array: System.Byte, Uint8ClampedArray: System.Byte, Uint16Array: System.UInt16, Uint32Array: System.UInt32 }, is: function (n, t) { if (n instanceof Bridge.ArrayEnumerator) return n.constructor === t || n instanceof t || t === Bridge.ArrayEnumerator || t.$$name && System.String.startsWith(t.$$name, "System.Collections.IEnumerator") || t.$$name && System.String.startsWith(t.$$name, "System.Collections.Generic.IEnumerator") ? !0 : !1; if (!Bridge.isArray(n)) return !1; if (t.$elementType && t.$isArray) { var i = Bridge.getType(n).$elementType; if (i) return System.Array.getRank(n) === t.$rank && Bridge.Reflection.isAssignableFrom(t.$elementType, i); t = Array } return n.constructor === t || n instanceof t ? !0 : t === System.Collections.IEnumerable || t === System.Collections.ICollection || t === System.ICloneable || t === System.Collections.IList || t.$$name && System.String.startsWith(t.$$name, "System.Collections.Generic.IEnumerable$1") || t.$$name && System.String.startsWith(t.$$name, "System.Collections.Generic.ICollection$1") || t.$$name && System.String.startsWith(t.$$name, "System.Collections.Generic.IList$1") || t.$$name && System.String.startsWith(t.$$name, "System.Collections.Generic.IReadOnlyCollection$1") || t.$$name && System.String.startsWith(t.$$name, "System.Collections.Generic.IReadOnlyList$1") ? !0 : !!System.Array._typedArrays[String.prototype.slice.call(Object.prototype.toString.call(n), 8, -1)] }, clone: function (n) { var t; return t = n.length === 1 ? [n[0]] : n.slice(0), t.$type = n.$type, t }, getCount: function (n, t) { var r, i; return Bridge.isArray(n) ? n.length : t && Bridge.isFunction(n[r = "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(t) + "$getCount"]) || Bridge.isFunction(n[r = "System$Collections$ICollection$getCount"]) ? n[r]() : t && (i = n["System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(t) + "$Count"]) !== undefined || (i = n.System$Collections$ICollection$Count) !== undefined || (i = n.Count) !== undefined ? i : Bridge.isFunction(n.getCount) ? n.getCount() : 0 }, getIsReadOnly: function (n, t) { var r, i; return Bridge.isArray(n) ? t ? !0 : !1 : t && Bridge.isFunction(n[r = "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(t) + "$getIsReadOnly"]) ? n[r]() : t && (i = n["System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(t) + "$IsReadOnly"]) !== undefined ? i : Bridge.isFunction(n[r = "System$Collections$IList$getIsReadOnly"]) ? n[r]() : (i = n.System$Collections$IList$IsReadOnly) !== undefined || (i = n.IsReadOnly) !== undefined ? i : Bridge.isFunction(n.getIsReadOnly) ? n.getIsReadOnly() : !1 }, checkReadOnly: function (n, t, i) { if (System.Array.getIsReadOnly(n, t)) throw new System.NotSupportedException(i || "Collection was of a fixed size."); }, add: function (n, t, i) { var r; return (System.Array.checkReadOnly(n, i), i && (t = System.Array.checkNewElementType(t, i)), i && Bridge.isFunction(n[r = "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(i) + "$add"])) ? n[r](t) : Bridge.isFunction(n[r = "System$Collections$IList$add"]) ? n[r](t) : Bridge.isFunction(n.add) ? n.add(t) : -1 }, checkNewElementType: function (n, t) { var i = Bridge.unbox(n, !0), r; if (Bridge.isNumber(i)) { if (t === System.Decimal) return new System.Decimal(i); if (t === System.Int64) return new System.Int64(i); if (t === System.UInt64) return new System.UInt64(i) } if (r = Bridge.is(n, t), !r) { if (n == null && Bridge.getDefaultValue(t) == null) return null; throw new System.ArgumentException("The value " + i + "is not of type " + Bridge.getTypeName(t) + " and cannot be used in this generic collection."); } return i }, clear: function (n, t) { var i; System.Array.checkReadOnly(n, t, "Collection is read-only."); Bridge.isArray(n) ? System.Array.fill(n, t ? t.getDefaultValue || Bridge.getDefaultValue(t) : null, 0, n.length) : t && Bridge.isFunction(n[i = "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(t) + "$clear"]) ? n[i]() : Bridge.isFunction(n[i = "System$Collections$IList$clear"]) ? n[i]() : Bridge.isFunction(n.clear) && n.clear() }, fill: function (n, t, i, r) { if (!Bridge.hasValue(n)) throw new System.ArgumentNullException("dst"); if (i < 0 || r < 0 || i + r > n.length) throw new System.IndexOutOfRangeException; for (var u = Bridge.isFunction(t); --r >= 0;)n[i + r] = u ? t() : t }, copy: function (n, t, i, r, u) { if (!i) throw new System.ArgumentNullException("dest", "Value cannot be null"); if (!n) throw new System.ArgumentNullException("src", "Value cannot be null"); if (t < 0 || r < 0 || u < 0) throw new System.ArgumentOutOfRangeException("Number was less than the array's lower bound in the first dimension"); if (u > n.length - t || u > i.length - r) throw new System.ArgumentException("Destination array was not long enough. Check destIndex and length, and the array's lower bounds"); if (t < r && n === i) while (--u >= 0) i[r + u] = n[t + u]; else for (var f = 0; f < u; f++)i[r + f] = n[t + f] }, copyTo: function (n, t, i, r) { var u; if (Bridge.isArray(n)) System.Array.copy(n, 0, t, i, n ? n.length : 0); else if (Bridge.isFunction(n.copyTo)) n.copyTo(t, i); else if (r && Bridge.isFunction(n[u = "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(r) + "$copyTo"])) n[u](t, i); else if (Bridge.isFunction(n[u = "System$Collections$ICollection$copyTo"])) n[u](t, i); else throw new System.NotImplementedException("copyTo"); }, indexOf: function (n, t, i, r, u) { var e, f, o, s; if (Bridge.isArray(n)) { for (i = i || 0, r = Bridge.isNumber(r) ? r : n.length, s = i + r, f = i; f < s; f++)if (o = n[f], o === t || System.Collections.Generic.EqualityComparer$1.$default.equals2(o, t)) return f } else { if (u && Bridge.isFunction(n[e = "System$Collections$Generic$IList$1$" + Bridge.getTypeAlias(u) + "$indexOf"]) || Bridge.isFunction(n[e = "System$Collections$IList$indexOf"])) return n[e](t); if (Bridge.isFunction(n.indexOf)) return n.indexOf(t) } return -1 }, contains: function (n, t, i) { var r; return Bridge.isArray(n) ? System.Array.indexOf(n, t) > -1 : i && Bridge.isFunction(n[r = "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(i) + "$contains"]) || Bridge.isFunction(n[r = "System$Collections$IList$contains"]) ? n[r](t) : Bridge.isFunction(n.contains) ? n.contains(t) : !1 }, remove: function (n, t, i) { var r, u; if (System.Array.checkReadOnly(n, i), Bridge.isArray(n)) { if (u = System.Array.indexOf(n, t), u > -1) return n.splice(u, 1), !0 } else { if (i && Bridge.isFunction(n[r = "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(i) + "$remove"]) || Bridge.isFunction(n[r = "System$Collections$IList$remove"])) return n[r](t); if (Bridge.isFunction(n.remove)) return n.remove(t) } return !1 }, insert: function (n, t, i, r) { var u; System.Array.checkReadOnly(n, r); r && (i = System.Array.checkNewElementType(i, r)); r && Bridge.isFunction(n[u = "System$Collections$Generic$IList$1$" + Bridge.getTypeAlias(r) + "$insert"]) ? n[u](t, i) : Bridge.isFunction(n[u = "System$Collections$IList$insert"]) ? n[u](t, i) : Bridge.isFunction(n.insert) && n.insert(t, i) }, removeAt: function (n, t, i) { var r; System.Array.checkReadOnly(n, i); Bridge.isArray(n) ? n.splice(t, 1) : i && Bridge.isFunction(n[r = "System$Collections$Generic$IList$1$" + Bridge.getTypeAlias(i) + "$removeAt"]) ? n[r](t) : Bridge.isFunction(n[r = "System$Collections$IList$removeAt"]) ? n[r](t) : Bridge.isFunction(n.removeAt) && n.removeAt(t) }, getItem: function (n, t, i) { var u, r; return Bridge.isArray(n) ? n.$type && Bridge.getDefaultValue(n.$type.$elementType) != null ? Bridge.box(n[t], n.$type.$elementType) : n[t] : i && Bridge.isFunction(n[u = "System$Collections$Generic$IList$1$" + Bridge.getTypeAlias(i) + "$getItem"]) ? n[u](t) : (Bridge.isFunction(n.get) ? r = n.get(t) : Bridge.isFunction(n.getItem) ? r = n.getItem(t) : Bridge.isFunction(n[u = "System$Collections$IList$$getItem"]) ? r = n[u](t) : Bridge.isFunction(n.get_Item) && (r = n.get_Item(t)), i && Bridge.getDefaultValue(i) != null ? Bridge.box(r, i) : r) }, setItem: function (n, t, i, r) { var u; if (Bridge.isArray(n)) n.$type && (i = System.Array.checkElementType(i, n.$type.$elementType)), n[t] = i; else if (r && (i = System.Array.checkElementType(i, r)), Bridge.isFunction(n.set)) n.set(t, i); else if (Bridge.isFunction(n.setItem)) n.setItem(t, i); else { if (r && Bridge.isFunction(n[u = "System$Collections$Generic$IList$1$" + Bridge.getTypeAlias(r) + "$setItem"]) || r && Bridge.isFunction(n[u = "System$Collections$IList$setItem"])) return n[u](t, i); Bridge.isFunction(n.set_Item) && n.set_Item(t, i) } }, checkElementType: function (n, t) { var i = Bridge.unbox(n, !0), r; if (Bridge.isNumber(i)) { if (t === System.Decimal) return new System.Decimal(i); if (t === System.Int64) return new System.Int64(i); if (t === System.UInt64) return new System.UInt64(i) } if (r = Bridge.is(n, t), !r) { if (n == null) return Bridge.getDefaultValue(t); throw new System.ArgumentException("Cannot widen from source type to target type either because the source type is a not a primitive type or the conversion cannot be accomplished."); } return i }, resize: function (n, t, i) { var u; if (t < 0) throw new System.ArgumentOutOfRangeException("newSize", null, null, t); var f = 0, e = Bridge.isFunction(i), r = n.v; for (r ? (f = r.length, r.length = t) : r = new Array(t), u = f; u < t; u++)r[u] = e ? i() : i; n.v = r }, reverse: function (n, t, i) { var r, u, f; if (!k) throw new System.ArgumentNullException("arr"); if (t || t === 0 || (t = 0, i = n.length), t < 0 || i < 0) throw new System.ArgumentOutOfRangeException(t < 0 ? "index" : "length", "Non-negative number required."); if (k.length - t < i) throw new System.ArgumentException("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection."); if (System.Array.getRank(n) !== 1) throw new System.Exception("Only single dimension arrays are supported here."); for (r = t, u = t + i - 1; r < u;)f = n[r], n[r] = n[u], n[u] = f, r++, u-- }, binarySearch: function (n, t, i, r, u) { var o, f, s, e, h; if (!n) throw new System.ArgumentNullException("array"); if (o = 0, t < o || i < 0) throw new System.ArgumentOutOfRangeException(t < o ? "index" : "length", "Non-negative number required."); if (n.length - (t - o) < i) throw new System.ArgumentException("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection."); if (System.Array.getRank(n) !== 1) throw new System.RankException("Only single dimensional arrays are supported for the requested action."); for (u || (u = System.Collections.Generic.Comparer$1.$default), f = t, s = t + i - 1; f <= s;) { e = f + (s - f >> 1); try { h = u.compare(n[e], r) } catch (c) { throw new System.InvalidOperationException("Failed to compare two elements in the array.", c); } if (h === 0) return e; h < 0 ? f = e + 1 : s = e - 1 } return ~f }, sort: function (n, t, i, r) { var f, u; if (!n) throw new System.ArgumentNullException("array"); if (arguments.length === 2 && typeof t == "function") { n.sort(t); return } if (arguments.length === 2 && typeof t == "object" && (r = t, t = null), Bridge.isNumber(t) || (t = 0), Bridge.isNumber(i) || (i = n.length), r || (r = System.Collections.Generic.Comparer$1.$default), t === 0 && i === n.length) n.sort(Bridge.fn.bind(r, r.compare)); else for (f = n.slice(t, t + i), f.sort(Bridge.fn.bind(r, r.compare)), u = t; u < t + i; u++)n[u] = f[u - t] }, min: function (n, t) { for (var r = n[0], u = n.length, i = 0; i < u; i++)!(n[i] < r || r < t) || n[i] < t || (r = n[i]); return r }, max: function (n, t) { for (var r = n[0], u = n.length, i = 0; i < u; i++)!(n[i] > r || r > t) || n[i] > t || (r = n[i]); return r }, addRange: function (n, t) { if (Bridge.isArray(t)) n.push.apply(n, t); else { var i = Bridge.getEnumerator(t); try { while (i.moveNext()) n.push(i.Current) } finally { Bridge.is(i, System.IDisposable) && i.dispose() } } }, convertAll: function (n, t) { if (!Bridge.hasValue(n)) throw new System.ArgumentNullException("array"); if (!Bridge.hasValue(t)) throw new System.ArgumentNullException("converter"); return n.map(t) }, find: function (n, t, i) { if (!Bridge.hasValue(t)) throw new System.ArgumentNullException("array"); if (!Bridge.hasValue(i)) throw new System.ArgumentNullException("match"); for (var r = 0; r < t.length; r++)if (i(t[r])) return t[r]; return Bridge.getDefaultValue(n) }, findAll: function (n, t) { var r, i; if (!Bridge.hasValue(n)) throw new System.ArgumentNullException("array"); if (!Bridge.hasValue(t)) throw new System.ArgumentNullException("match"); for (r = [], i = 0; i < n.length; i++)t(n[i]) && r.push(n[i]); return r }, findIndex: function (n, t, i, r) { var f, u; if (!Bridge.hasValue(n)) throw new System.ArgumentNullException("array"); if (arguments.length === 2 ? (r = t, t = 0, i = n.length) : arguments.length === 3 && (r = i, i = n.length - t), t < 0 || t > n.length) throw new System.ArgumentOutOfRangeException("startIndex"); if (i < 0 || t > n.length - i) throw new System.ArgumentOutOfRangeException("count"); if (!Bridge.hasValue(r)) throw new System.ArgumentNullException("match"); for (f = t + i, u = t; u < f; u++)if (r(n[u])) return u; return -1 }, findLast: function (n, t, i) { if (!Bridge.hasValue(t)) throw new System.ArgumentNullException("array"); if (!Bridge.hasValue(i)) throw new System.ArgumentNullException("match"); for (var r = t.length - 1; r >= 0; r--)if (i(t[r])) return t[r]; return Bridge.getDefaultValue(n) }, findLastIndex: function (n, t, i, r) { var f, u; if (!Bridge.hasValue(n)) throw new System.ArgumentNullException("array"); if (arguments.length === 2 ? (r = t, t = n.length - 1, i = n.length) : arguments.length === 3 && (r = i, i = t + 1), !Bridge.hasValue(r)) throw new System.ArgumentNullException("match"); if (n.length === 0) { if (t !== -1) throw new System.ArgumentOutOfRangeException("startIndex"); } else if (t < 0 || t >= n.length) throw new System.ArgumentOutOfRangeException("startIndex"); if (i < 0 || t - i + 1 < 0) throw new System.ArgumentOutOfRangeException("count"); for (f = t - i, u = t; u > f; u--)if (r(n[u])) return u; return -1 }, forEach: function (n, t) { if (!Bridge.hasValue(n)) throw new System.ArgumentNullException("array"); if (!Bridge.hasValue(t)) throw new System.ArgumentNullException("action"); for (var i = 0; i < n.length; i++)t(n[i], i, n) }, indexOfT: function (n, t, i, r) { if (!Bridge.hasValue(n)) throw new System.ArgumentNullException("array"); if (arguments.length === 2 ? (i = 0, r = n.length) : arguments.length === 3 && (r = n.length - i), i < 0 || i >= n.length && n.length > 0) throw new System.ArgumentOutOfRangeException("startIndex", "out of range"); if (r < 0 || r > n.length - i) throw new System.ArgumentOutOfRangeException("count", "out of range"); return System.Array.indexOf(n, t, i, r) }, lastIndexOfT: function (n, t, i, r) { var e, u, f; if (!Bridge.hasValue(n)) throw new System.ArgumentNullException("array"); if (arguments.length === 2 ? (i = n.length - 1, r = n.length) : arguments.length === 3 && (r = n.length === 0 ? 0 : i + 1), i < 0 || i >= n.length && n.length > 0) throw new System.ArgumentOutOfRangeException("startIndex", "out of range"); if (r < 0 || i - r + 1 < 0) throw new System.ArgumentOutOfRangeException("count", "out of range"); for (e = i - r + 1, u = i; u >= e; u--)if (f = n[u], f === t || System.Collections.Generic.EqualityComparer$1.$default.equals2(f, t)) return u; return -1 }, trueForAll: function (n, t) { if (!Bridge.hasValue(n)) throw new System.ArgumentNullException("array"); if (!Bridge.hasValue(t)) throw new System.ArgumentNullException("match"); for (var i = 0; i < n.length; i++)if (!t(n[i])) return !1; return !0 }, type: function (n, t, i) { var r, u, e, f, o; for (t = t || 1, r = System.Array.$cache[t], r || (r = [], System.Array.$cache[t] = r), f = 0; f < r.length; f++)if (r[f].$elementType === n) { u = r[f]; break } return u || (e = Bridge.getTypeName(n) + "[" + System.String.fromCharCount(",".charCodeAt(0), t - 1) + "]", o = Bridge.Class.staticInitAllow, u = Bridge.define(e, { $inherits: [Array, System.Collections.ICollection, System.ICloneable, System.Collections.Generic.IList$1(n), System.Collections.Generic.IReadOnlyCollection$1(n)], $noRegister: !0, statics: { $elementType: n, $rank: t, $isArray: !0, $is: function (n) { return System.Array.is(n, this) }, getDefaultValue: function () { return null }, createInstance: function () { var n, t, i; if (this.$rank === 1) n = []; else { for (t = [Bridge.getDefaultValue(this.$elementType), null, this.$elementType], i = 0; i < this.$rank; i++)t.push(0); n = System.Array.create.apply(System.Array, t) } return n.$type = this, n } } }), r.push(u), Bridge.Class.staticInitAllow = !0, u.$staticInit && u.$staticInit(), Bridge.Class.staticInitAllow = o), i && (i.$type = u), i || u } }; System.Array = k; System.Array.$cache = {}; Bridge.define("System.ArraySegment", { $kind: "struct", statics: { getDefaultValue: function () { return new System.ArraySegment } }, ctor: function (n, t, i) { if (this.$initialize(), arguments.length === 0) { this.array = null; this.offset = 0; this.count = 0; return } if (n == null) throw new System.ArgumentNullException("array"); if (this.array = n, Bridge.isNumber(t)) { if (t < 0) throw new System.ArgumentOutOfRangeException("offset"); this.offset = t } else this.offset = 0; if (Bridge.isNumber(i)) { if (i < 0) throw new System.ArgumentOutOfRangeException("count"); this.count = i } else this.count = n.length; if (n.length - this.offset < this.count) throw new ArgumentException; }, getArray: function () { return this.array }, getCount: function () { return this.count }, getOffset: function () { return this.offset }, getHashCode: function () { return Bridge.addHash([5322976039, this.array, this.count, this.offset]) }, equals: function (n) { return Bridge.is(n, System.ArraySegment) ? Bridge.equals(this.array, n.array) && Bridge.equals(this.count, n.count) && Bridge.equals(this.offset, n.offset) : !1 }, $clone: function () { return this } }); Bridge.define("System.Collections.Generic.KeyValuePair$2", function (n, t) { return { $kind: "struct", statics: { getDefaultValue: function () { return new (System.Collections.Generic.KeyValuePair$2(n, t))(Bridge.getDefaultValue(n), Bridge.getDefaultValue(t)) } }, ctor: function (i, r) { i === undefined && (i = Bridge.getDefaultValue(n)); r === undefined && (r = Bridge.getDefaultValue(t)); this.$initialize(); this.key = i; this.value = r }, toString: function () { var n = "["; return this.key != null && (n += this.key.toString()), n += ", ", this.value != null && (n += this.value.toString()), n + "]" } } }); Bridge.define("System.Collections.IEnumerable", { $kind: "interface" }); Bridge.define("System.Collections.IEnumerator", { $kind: "interface" }); Bridge.define("System.Collections.IEqualityComparer", { $kind: "interface" }); Bridge.define("System.Collections.ICollection", { inherits: [System.Collections.IEnumerable], $kind: "interface" }); Bridge.define("System.Collections.IList", { inherits: [System.Collections.ICollection], $kind: "interface" }); Bridge.define("System.Collections.IDictionary", { inherits: [System.Collections.ICollection], $kind: "interface" }); Bridge.define("System.Collections.Generic.IEnumerator$1", function () { return { inherits: [System.Collections.IEnumerator], $kind: "interface", $variance: [1] } }); Bridge.define("System.Collections.Generic.IEnumerable$1", function () { return { inherits: [System.Collections.IEnumerable], $kind: "interface", $variance: [1] } }); Bridge.define("System.Collections.Generic.ICollection$1", function (n) { return { inherits: [System.Collections.Generic.IEnumerable$1(n)], $kind: "interface" } }); Bridge.define("System.Collections.Generic.IEqualityComparer$1", function () { return { $kind: "interface", $variance: [2] } }); Bridge.define("System.Collections.Generic.IDictionary$2", function (n, t) { return { inherits: [System.Collections.Generic.ICollection$1(System.Collections.Generic.KeyValuePair$2(n, t))], $kind: "interface" } }); Bridge.define("System.Collections.Generic.IList$1", function (n) { return { inherits: [System.Collections.Generic.ICollection$1(n)], $kind: "interface" } }); Bridge.define("System.Collections.Generic.IComparer$1", function () { return { $kind: "interface", $variance: [2] } }); Bridge.define("System.Collections.Generic.ISet$1", function (n) { return { inherits: [System.Collections.Generic.ICollection$1(n)], $kind: "interface" } }); Bridge.define("System.Collections.Generic.IReadOnlyCollection$1", function (n) { return { inherits: [System.Collections.Generic.IEnumerable$1(n)], $kind: "interface" } }); Bridge.define("System.Collections.Generic.IReadOnlyList$1", function (n) { return { inherits: [System.Collections.Generic.IReadOnlyCollection$1(n)], $kind: "interface" } }); Bridge.define("System.Collections.Generic.IReadOnlyDictionary$2", function (n, t) { return { inherits: [System.Collections.Generic.IReadOnlyCollection$1(System.Collections.Generic.KeyValuePair$2(n, t))], $kind: "interface" } }); Bridge.define("Bridge.CustomEnumerator", { inherits: [System.Collections.IEnumerator, System.IDisposable], config: { properties: { Current: { get: function () { return this.getCurrent() } }, Current$1: { get: function () { return this.getCurrent() } } }, alias: ["getCurrent", "System$Collections$IEnumerator$getCurrent", "moveNext", "System$Collections$IEnumerator$moveNext", "reset", "System$Collections$IEnumerator$reset", "dispose", "System$IDisposable$dispose", "Current", "System$Collections$IEnumerator$Current"] }, ctor: function (n, t, i, r, u, f) { this.$initialize(); this.$moveNext = n; this.$getCurrent = t; this.$dispose = r; this.$reset = i; this.scope = u; f && (this["System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(f) + "$getCurrent$1"] = this.getCurrent, this.System$Collections$Generic$IEnumerator$1$getCurrent$1 = this.getCurrent, Object.defineProperty(this, "System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(f) + "$Current$1", { get: this.getCurrent, enumerable: !0 }), Object.defineProperty(this, "System$Collections$Generic$IEnumerator$1$Current$1", { get: this.getCurrent, enumerable: !0 })) }, moveNext: function () { try { return this.$moveNext.call(this.scope) } catch (n) { this.dispose.call(this.scope); throw n; } }, getCurrent: function () { return this.$getCurrent.call(this.scope) }, getCurrent$1: function () { return this.$getCurrent.call(this.scope) }, reset: function () { this.$reset && this.$reset.call(this.scope) }, dispose: function () { this.$dispose && this.$dispose.call(this.scope) } }); Bridge.define("Bridge.ArrayEnumerator", { inherits: [System.Collections.IEnumerator, System.IDisposable], statics: { $isArrayEnumerator: !0 }, config: { properties: { Current: { get: function () { return this.getCurrent() } }, Current$1: { get: function () { return this.getCurrent() } } }, alias: ["getCurrent", "System$Collections$IEnumerator$getCurrent", "moveNext", "System$Collections$IEnumerator$moveNext", "reset", "System$Collections$IEnumerator$reset", "dispose", "System$IDisposable$dispose", "Current", "System$Collections$IEnumerator$Current"] }, ctor: function (n, t) { this.$initialize(); this.array = n; this.reset(); t && (this["System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(t) + "$getCurrent$1"] = this.getCurrent, this.System$Collections$Generic$IEnumerator$1$getCurrent$1 = this.getCurrent, Object.defineProperty(this, "System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(t) + "$Current$1", { get: this.getCurrent, enumerable: !0 }), Object.defineProperty(this, "System$Collections$Generic$IEnumerator$1$Current$1", { get: this.getCurrent, enumerable: !0 })) }, moveNext: function () { return this.index++, this.index < this.array.length }, getCurrent: function () { return this.array[this.index] }, getCurrent$1: function () { return this.array[this.index] }, reset: function () { this.index = -1 }, dispose: Bridge.emptyFn }); Bridge.define("Bridge.ArrayEnumerable", { inherits: [System.Collections.IEnumerable], config: { alias: ["getEnumerator", "System$Collections$IEnumerable$getEnumerator"] }, ctor: function (n) { this.$initialize(); this.array = n }, getEnumerator: function () { return new Bridge.ArrayEnumerator(this.array) } }); Bridge.define("System.Collections.Generic.EqualityComparer$1", function (n) { return { inherits: [System.Collections.Generic.IEqualityComparer$1(n)], statics: { config: { init: function () { this.def = new (System.Collections.Generic.EqualityComparer$1(n)) } } }, config: { alias: ["equals2", ["System$Collections$Generic$IEqualityComparer$1$" + Bridge.getTypeAlias(n) + "$equals2", "System$Collections$Generic$IEqualityComparer$1$equals2"], "getHashCode2", ["System$Collections$Generic$IEqualityComparer$1$" + Bridge.getTypeAlias(n) + "$getHashCode2", "System$Collections$Generic$IEqualityComparer$1$getHashCode2"]] }, equals2: function (n, t) { if (Bridge.isDefined(n, !0)) { if (Bridge.isDefined(t, !0)) { var i = n && n.$$name; return Bridge.isFunction(n) && Bridge.isFunction(t) ? Bridge.fn.equals.call(n, t) : !i || n && n.$boxed || t && t.$boxed ? Bridge.equals(n, t) : Bridge.isFunction(n.equalsT) ? Bridge.equalsT(n, t) : Bridge.isFunction(n.equals) ? Bridge.equals(n, t) : n === t } } else return !Bridge.isDefined(t, !0); return !1 }, getHashCode2: function (n) { return Bridge.isDefined(n, !0) ? Bridge.getHashCode(n) : 0 } } }); System.Collections.Generic.EqualityComparer$1.$default = new (System.Collections.Generic.EqualityComparer$1(System.Object)); Bridge.define("System.Collections.Generic.Comparer$1", function (n) { return { inherits: [System.Collections.Generic.IComparer$1(n)], ctor: function (t) { this.$initialize(); this.fn = t; this.compare = t; this["System$Collections$Generic$IComparer$1$" + Bridge.getTypeAlias(n) + "$compare"] = t; this.System$Collections$Generic$IComparer$1$compare = t } } }); System.Collections.Generic.Comparer$1.$default = new (System.Collections.Generic.Comparer$1(System.Object))(function (n, t) { if (Bridge.hasValue(n)) { if (!Bridge.hasValue(t)) return 1 } else return Bridge.hasValue(t) ? -1 : 0; return Bridge.compare(n, t) }); Bridge.define("System.Collections.Generic.Dictionary$2", function (n, t) { return { inherits: [System.Collections.Generic.IDictionary$2(n, t), System.Collections.IDictionary, System.Collections.Generic.IReadOnlyDictionary$2(n, t)], config: { properties: { Keys: { get: function () { return this.getKeys() } }, Values: { get: function () { return this.getValues() } }, IsReadOnly: { get: function () { return this.getIsReadOnly() } } }, alias: ["getCount", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(System.Collections.Generic.KeyValuePair$2(n, t)) + "$getCount", "getKeys", "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$getKeys", "getValues", "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$getValues", "Keys", "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$Keys", "Values", "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$Values", "get", "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$getItem", "set", "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$setItem", "add", "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$add", "containsKey", "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$containsKey", "getEnumerator", ["System$Collections$Generic$IEnumerable$1$System$Collections$Generic$KeyValuePair$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$getEnumerator", "System$Collections$Generic$IEnumerable$1$getEnumerator"], "remove", "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$remove", "tryGetValue", "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$tryGetValue", "getIsReadOnly", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(System.Collections.Generic.KeyValuePair$2(n, t)) + "$getIsReadOnly", "IsReadOnly", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(System.Collections.Generic.KeyValuePair$2(n, t)) + "$IsReadOnly", "addPair", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(System.Collections.Generic.KeyValuePair$2(n, t)) + "$add", "copyTo", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(System.Collections.Generic.KeyValuePair$2(n, t)) + "$copyTo", "clear", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(System.Collections.Generic.KeyValuePair$2(n, t)) + "$clear", "containsPair", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(System.Collections.Generic.KeyValuePair$2(n, t)) + "$contains", "removePair", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(System.Collections.Generic.KeyValuePair$2(n, t)) + "$remove", "copyTo", "System$Collections$ICollection$copyTo", "get", "System$Collections$IDictionary$getItem", "set", "System$Collections$IDictionary$setItem", "containsKey", "System$Collections$IDictionary$containsKey", "add", "System$Collections$IDictionary$add", "remove", "System$Collections$IDictionary$remove", "getIsReadOnly", "System$Collections$IDictionary$getIsReadOnly", "getKeys", "System$Collections$IDictionary$getKeys", "getValues", "System$Collections$IDictionary$getValues", "IsReadOnly", "System$Collections$IDictionary$IsReadOnly", "Keys", "System$Collections$IDictionary$Keys", "Values", "System$Collections$IDictionary$Values", "get", "System$Collections$Generic$IReadOnlyDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$getItem", "Keys", "System$Collections$Generic$IReadOnlyDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$Keys", "getKeys", "System$Collections$Generic$IReadOnlyDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$getKeys", "getValues", "System$Collections$Generic$IReadOnlyDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$getValues", "Values", "System$Collections$Generic$IReadOnlyDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$Values", "containsKey", "System$Collections$Generic$IReadOnlyDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$containsKey", "tryGetValue", "System$Collections$Generic$IReadOnlyDictionary$2$" + Bridge.getTypeAlias(n) + "$" + Bridge.getTypeAlias(t) + "$tryGetValue"] }, noKeyCheck: !1, ctor: function (i, r) { var f, e, o, s, u; if (this.$initialize(), this.comparer = r || System.Collections.Generic.EqualityComparer$1(n).def, this.clear(), this.isSimpleKey = (n === System.String || n.$number === !0 && n !== System.Int64 && n !== System.UInt64 || n === System.Char) && this.comparer === System.Collections.Generic.EqualityComparer$1(n).def, Bridge.is(i, System.Collections.Generic.Dictionary$2(n, t))) for (f = Bridge.getEnumerator(i); f.moveNext();)e = f.Current, this.add(e.key, e.value); else if (Object.prototype.toString.call(i) === "[object Object]") for (o = Object.keys(i), u = 0; u < o.length; u++)s = o[u], this.add(s, i[s]) }, containsPair: function (n) { var t = this.findEntry(n.key); return t && this.comparer.equals2(t.value, n.value) }, removePair: function (n) { var t = this.findEntry(n.key); return t && this.comparer.equals2(t.value, n.value) ? (this.remove(n.key), !0) : !1 }, copyTo: function (n, t) { var i = System.Linq.Enumerable.from(this).toArray(); System.Array.copy(i, 0, n, t, i.length) }, getIsReadOnly: function () { return !!this.readOnly }, getKeys: function () { return this.isSimpleKey ? System.Array.init(this.keys, n) : new (System.Collections.Generic.DictionaryCollection$1(n))(this, !0) }, getValues: function () { var i, n; if (this.isSimpleKey) { for (i = [], n = 0; n < this.keys.length; n++)i.push(this.entries[this.keys[n]].value); return System.Array.init(i, t) } return new (System.Collections.Generic.DictionaryCollection$1(t))(this, !1) }, clear: function () { this.entries = {}; this.keys = []; this.count = 0 }, findEntry: function (n) { var r, i, t; if (this.isSimpleKey) return this.entries.hasOwnProperty(n) ? this.entries[n] : void 0; if (r = this.comparer.getHashCode2(n), Bridge.isDefined(this.entries[r])) for (i = this.entries[r], t = 0; t < i.length; t++)if (this.comparer.equals2(i[t].key, n)) return i[t] }, containsKey: function (n) { return !!this.findEntry(n) }, containsValue: function (n) { var t, i, r; for (t in this.entries) if (this.entries.hasOwnProperty(t)) for (r = this.isSimpleKey ? [this.entries[t]] : this.entries[t], i = 0; i < r.length; i++)if (this.comparer.equals2(r[i].value, n)) return !0; return !1 }, get: function (n) { var i = this.findEntry(n); if (!i) { if (this.noKeyCheck) return Bridge.getDefaultValue(t); throw new System.Collections.Generic.KeyNotFoundException("Key " + n + " does not exist."); } return i.value }, getItem: function (n) { return this.get(n) }, set: function (i, r, u) { var f = this.findEntry(i), e; if (f) { if (u) throw new System.ArgumentException("Key " + i + " already exists."); f.value = r; return } f = new (System.Collections.Generic.KeyValuePair$2(n, t))(i, r); this.isSimpleKey ? (this.entries[i] = f, this.keys.push(i)) : (e = this.comparer.getHashCode2(i), this.entries[e] ? this.entries[e].push(f) : (this.entries[e] = [f], this.keys.push(e))); this.count++ }, setItem: function (n, t, i) { this.set(n, t, i) }, add: function (n, t) { this.set(n, t, !0) }, addPair: function (n) { this.set(n.key, n.value, !0) }, remove: function (n) { var t, i, r; if (this.isSimpleKey) return this.entries.hasOwnProperty(n) ? (delete this.entries[n], this.keys.splice(this.keys.indexOf(n), 1), this.count--, !0) : !1; if (t = this.comparer.getHashCode2(n), !this.entries[t]) return !1; for (i = this.entries[t], r = 0; r < i.length; r++)if (this.comparer.equals2(i[r].key, n)) return i.splice(r, 1), i.length == 0 && (delete this.entries[t], this.keys.splice(this.keys.indexOf(t), 1)), this.count--, !0; return !1 }, getCount: function () { return this.count }, getComparer: function () { return this.comparer }, tryGetValue: function (n, i) { var r = this.findEntry(n); return i.v = r ? r.value : Bridge.getDefaultValue(t), !!r }, getCustomEnumerator: function (i) { var u = this.keys, r = -1, f; return new Bridge.CustomEnumerator(function () { return ((r < 0 || this.isSimpleKey || f >= this.entries[u[r]].length - 1) && (f = -1, r++), r >= u.length) ? !1 : (f++, !0) }, function () { return r < 0 || r >= u.length ? new (System.Collections.Generic.KeyValuePair$2(n, t)) : i(this.isSimpleKey ? this.entries[u[r]] : this.entries[u[r]][f]) }, function () { r = -1 }, null, this, System.Collections.Generic.KeyValuePair$2(n, t)) }, getEnumerator: function () { return this.getCustomEnumerator(function (n) { return n }) } } }); System.Collections.Generic.Dictionary$2.getTypeParameters = function (n) { var i, r, t; if (System.String.startsWith(n.$$name, "System.Collections.Generic.IDictionary")) i = n; else for (r = Bridge.Reflection.getInterfaces(n), t = 0; t < r.length; t++)if (System.String.startsWith(r[t].$$name, "System.Collections.Generic.IDictionary")) { i = r[t]; break } var u = i ? Bridge.Reflection.getGenericArguments(i) : null, f = u ? u[0] : null, e = u ? u[1] : null; return [f, e] }; Bridge.define("System.Collections.Generic.DictionaryCollection$1", function (n) { return { inherits: [System.Collections.Generic.ICollection$1(n)], config: { alias: ["getEnumerator", ["System$Collections$Generic$IEnumerable$1$" + Bridge.getTypeAlias(n) + "$getEnumerator", "System$Collections$Generic$IEnumerable$1$getEnumerator"], "getCount", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$getCount", "add", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$add", "clear", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$clear", "contains", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$contains", "remove", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$remove"] }, ctor: function (n, t) { this.$initialize(); this.dictionary = n; this.keys = t }, getCount: function () { return this.dictionary.getCount() }, getEnumerator: function () { return this.dictionary.getCustomEnumerator(this.keys ? function (n) { return n.key } : function (n) { return n.value }) }, contains: function (n) { return this.keys ? this.dictionary.containsKey(n) : this.dictionary.containsValue(n) }, add: function () { throw new System.NotSupportedException; }, clear: function () { throw new System.NotSupportedException; }, remove: function () { throw new System.NotSupportedException; } } }); Bridge.define("System.Collections.Generic.List$1.Enumerator", function (n) { return { inherits: [System.Collections.Generic.IEnumerator$1(n), System.Collections.IEnumerator], $kind: "struct", statics: { methods: { getDefaultValue: function () { return new (System.Collections.Generic.List$1.Enumerator(n)) } } }, fields: { list: null, index: 0, version: 0, current: Bridge.getDefaultValue(n) }, props: { Current: { get: function () { return this.current } }, System$Collections$IEnumerator$Current: { get: function () { if (this.index === 0 || this.index === (this.list._size + 1 | 0)) throw new System.InvalidOperationException; return this.Current } } }, alias: ["dispose", "System$IDisposable$dispose", "moveNext", "System$Collections$IEnumerator$moveNext", "Current", ["System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(n) + "$Current$1", "System$Collections$Generic$IEnumerator$1$Current$1"]], ctors: { $ctor1: function (t) { this.$initialize(); this.list = t; this.index = 0; this.version = t._version; this.current = Bridge.getDefaultValue(n) }, ctor: function () { this.$initialize() } }, methods: { dispose: function () { }, moveNext: function () { var n = this.list; return this.version === n._version && this.index >>> 0 < n._size >>> 0 ? (this.current = n._items[System.Array.index(this.index, n._items)], this.index = this.index + 1 | 0, !0) : this.moveNextRare() }, moveNextRare: function () { if (this.version !== this.list._version) throw new System.InvalidOperationException; return this.index = this.list._size + 1 | 0, this.current = Bridge.getDefaultValue(n), !1 }, System$Collections$IEnumerator$reset: function () { if (this.version !== this.list._version) throw new System.InvalidOperationException; this.index = 0; this.current = Bridge.getDefaultValue(n) }, getHashCode: function () { return Bridge.addHash([3788985113, this.list, this.index, this.version, this.current]) }, equals: function (t) { return Bridge.is(t, System.Collections.Generic.List$1.Enumerator(n)) ? Bridge.equals(this.list, t.list) && Bridge.equals(this.index, t.index) && Bridge.equals(this.version, t.version) && Bridge.equals(this.current, t.current) : !1 }, $clone: function (t) { var i = t || new (System.Collections.Generic.List$1.Enumerator(n)); return i.list = this.list, i.index = this.index, i.version = this.version, i.current = this.current, i } } } }); Bridge.define("System.Collections.Generic.List$1", function (n) { return { inherits: [System.Collections.Generic.IList$1(n), System.Collections.IList, System.Collections.Generic.IReadOnlyList$1(n)], statics: { fields: { _defaultCapacity: 0, _emptyArray: null }, ctors: { init: function () { this._defaultCapacity = 4; this._emptyArray = System.Array.init(0, function () { return Bridge.getDefaultValue(n) }, n) } }, methods: { isCompatibleObject: function (t) { return Bridge.is(t, n) || t == null && Bridge.getDefaultValue(n) == null } } }, fields: { _items: null, _size: 0, _version: 0 }, props: { Capacity: { get: function () { return this._items.length }, set: function (t) { if (t < this._size) throw new System.ArgumentOutOfRangeException("value"); if (t !== this._items.length) if (t > 0) { var i = System.Array.init(t, function () { return Bridge.getDefaultValue(n) }, n); this._size > 0 && System.Array.copy(this._items, 0, i, 0, this._size); this._items = i } else this._items = System.Collections.Generic.List$1(n)._emptyArray } }, Count: { get: function () { return this._size } }, System$Collections$Generic$ICollection$1$IsReadOnly: { get: function () { return !1 } }, System$Collections$IList$IsReadOnly: { get: function () { return !1 } } }, alias: ["Count", "System$Collections$Generic$IReadOnlyCollection$1$" + Bridge.getTypeAlias(n) + "$Count", "Count", "System$Collections$ICollection$Count", "Count", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$Count", "System$Collections$Generic$ICollection$1$IsReadOnly", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$IsReadOnly", "getItem", "System$Collections$Generic$IReadOnlyList$1$" + Bridge.getTypeAlias(n) + "$getItem", "setItem", "System$Collections$Generic$IReadOnlyList$1$" + Bridge.getTypeAlias(n) + "$setItem", "getItem", "System$Collections$Generic$IList$1$" + Bridge.getTypeAlias(n) + "$getItem", "setItem", "System$Collections$Generic$IList$1$" + Bridge.getTypeAlias(n) + "$setItem", "add", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$add", "clear", "System$Collections$IList$clear", "clear", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$clear", "contains", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$contains", "copyTo", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$copyTo", "System$Collections$Generic$IEnumerable$1$getEnumerator", "System$Collections$Generic$IEnumerable$1$" + Bridge.getTypeAlias(n) + "$getEnumerator", "indexOf", "System$Collections$Generic$IList$1$" + Bridge.getTypeAlias(n) + "$indexOf", "insert", "System$Collections$Generic$IList$1$" + Bridge.getTypeAlias(n) + "$insert", "remove", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$remove", "removeAt", "System$Collections$IList$removeAt", "removeAt", "System$Collections$Generic$IList$1$" + Bridge.getTypeAlias(n) + "$removeAt"], ctors: { ctor: function () { this.$initialize(); this._items = System.Collections.Generic.List$1(n)._emptyArray }, $ctor2: function (t) { if (this.$initialize(), t < 0) throw new System.ArgumentOutOfRangeException("capacity"); this._items = t === 0 ? System.Collections.Generic.List$1(n)._emptyArray : System.Array.init(t, function () { return Bridge.getDefaultValue(n) }, n) }, $ctor1: function (t) { var r, u, i; if (this.$initialize(), t == null) throw new System.ArgumentNullException("collection"); if (r = Bridge.as(t, System.Collections.Generic.ICollection$1(n)), r != null) u = System.Array.getCount(r, n), u === 0 ? this._items = System.Collections.Generic.List$1(n)._emptyArray : (this._items = System.Array.init(u, function () { return Bridge.getDefaultValue(n) }, n), System.Array.copyTo(r, this._items, 0, n), this._size = u); else { this._size = 0; this._items = System.Collections.Generic.List$1(n)._emptyArray; i = Bridge.getEnumerator(t, n); try { while (i.System$Collections$IEnumerator$moveNext()) this.add(i[Bridge.geti(i, "System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(n) + "$Current$1", "System$Collections$Generic$IEnumerator$1$Current$1")]) } finally { Bridge.hasValue(i) && i.System$IDisposable$dispose() } } } }, methods: { getItem: function (n) { if (n >>> 0 >= this._size >>> 0) throw new System.ArgumentOutOfRangeException; return this._items[System.Array.index(n, this._items)] }, setItem: function (n, t) { if (n >>> 0 >= this._size >>> 0) throw new System.ArgumentOutOfRangeException; this._items[System.Array.index(n, this._items)] = t; this._version = this._version + 1 | 0 }, System$Collections$IList$getItem: function (n) { return this.getItem(n) }, System$Collections$IList$setItem: function (t, i) { if (i == null && !(Bridge.getDefaultValue(n) == null)) throw new System.ArgumentNullException("value"); try { this.setItem(t, Bridge.cast(Bridge.unbox(i), n)) } catch (r) { if (r = System.Exception.create(r), Bridge.is(r, System.InvalidCastException)) throw new System.ArgumentException("value"); else throw r; } }, add: function (n) { this._size === this._items.length && this.ensureCapacity(this._size + 1 | 0); this._items[System.Array.index(Bridge.identity(this._size, this._size = this._size + 1 | 0), this._items)] = n; this._version = this._version + 1 | 0 }, System$Collections$IList$add: function (t) { if (t == null && !(Bridge.getDefaultValue(n) == null)) throw new System.ArgumentNullException("item"); try { this.add(Bridge.cast(Bridge.unbox(t), n)) } catch (i) { if (i = System.Exception.create(i), Bridge.is(i, System.InvalidCastException)) throw new System.ArgumentException("item"); else throw i; } return this.Count - 1 | 0 }, addRange: function (n) { this.insertRange(this._size, n) }, asReadOnly: function () { return new (System.Collections.ObjectModel.ReadOnlyCollection$1(n))(this) }, binarySearch$2: function (n, t, i, r) { if (n < 0) throw new System.ArgumentOutOfRangeException("index"); if (t < 0) throw new System.ArgumentOutOfRangeException("count"); if ((this._size - n | 0) < t) throw new System.ArgumentException; return System.Array.binarySearch(this._items, n, t, i, r) }, binarySearch: function (n) { return this.binarySearch$2(0, this.Count, n, null) }, binarySearch$1: function (n, t) { return this.binarySearch$2(0, this.Count, n, t) }, clear: function () { this._size > 0 && (System.Array.fill(this._items, Bridge.getDefaultValue(n), 0, this._size), this._size = 0); this._version = this._version + 1 | 0 }, contains: function (t) { var i, u, r; if (t == null) { for (i = 0; i < this._size; i = i + 1 | 0)if (this._items[System.Array.index(i, this._items)] == null) return !0; return !1 } for (u = System.Collections.Generic.EqualityComparer$1(n).def, r = 0; r < this._size; r = r + 1 | 0)if (u.equals2(this._items[System.Array.index(r, this._items)], t)) return !0; return !1 }, System$Collections$IList$contains: function (t) { return System.Collections.Generic.List$1(n).isCompatibleObject(t) ? this.contains(Bridge.cast(Bridge.unbox(t), n)) : !1 }, convertAll: function (n, t) { var r, i; if (Bridge.staticEquals(t, null)) throw new System.ArgumentNullException("converter"); for (r = new (System.Collections.Generic.List$1(n).$ctor2)(this._size), i = 0; i < this._size; i = i + 1 | 0)r._items[System.Array.index(i, r._items)] = t(this._items[System.Array.index(i, this._items)]); return r._size = this._size, r }, copyTo$1: function (n) { this.copyTo(n, 0) }, System$Collections$ICollection$copyTo: function (n, t) { if (n != null && System.Array.getRank(n) !== 1) throw new System.ArgumentException("array"); System.Array.copy(this._items, 0, n, t, this._size) }, copyTo$2: function (n, t, i, r) { if ((this._size - n | 0) < r) throw new System.ArgumentException; System.Array.copy(this._items, n, t, i, r) }, copyTo: function (n, t) { System.Array.copy(this._items, 0, n, t, this._size) }, ensureCapacity: function (t) { if (this._items.length < t) { var i = this._items.length === 0 ? System.Collections.Generic.List$1(n)._defaultCapacity : Bridge.Int.mul(this._items.length, 2); i >>> 0 > 2146435071 && (i = 2146435071); i < t && (i = t); this.Capacity = i } }, exists: function (n) { return this.findIndex$2(n) !== -1 }, find: function (t) { if (Bridge.staticEquals(t, null)) throw new System.ArgumentNullException("match"); for (var i = 0; i < this._size; i = i + 1 | 0)if (t(this._items[System.Array.index(i, this._items)])) return this._items[System.Array.index(i, this._items)]; return Bridge.getDefaultValue(n) }, findAll: function (t) { var r, i; if (Bridge.staticEquals(t, null)) throw new System.ArgumentNullException("match"); for (r = new (System.Collections.Generic.List$1(n).ctor), i = 0; i < this._size; i = i + 1 | 0)t(this._items[System.Array.index(i, this._items)]) && r.add(this._items[System.Array.index(i, this._items)]); return r }, findIndex$2: function (n) { return this.findIndex(0, this._size, n) }, findIndex$1: function (n, t) { return this.findIndex(n, this._size - n | 0, t) }, findIndex: function (n, t, i) { var u, r; if (n >>> 0 > this._size >>> 0) throw new System.ArgumentOutOfRangeException("startIndex"); if (t < 0 || n > (this._size - t | 0)) throw new System.ArgumentOutOfRangeException("count"); if (Bridge.staticEquals(i, null)) throw new System.ArgumentNullException("match"); for (u = n + t | 0, r = n; r < u; r = r + 1 | 0)if (i(this._items[System.Array.index(r, this._items)])) return r; return -1 }, findLast: function (t) { if (Bridge.staticEquals(t, null)) throw new System.ArgumentNullException("match"); for (var i = this._size - 1 | 0; i >= 0; i = i - 1 | 0)if (t(this._items[System.Array.index(i, this._items)])) return this._items[System.Array.index(i, this._items)]; return Bridge.getDefaultValue(n) }, findLastIndex$2: function (n) { return this.findLastIndex(this._size - 1 | 0, this._size, n) }, findLastIndex$1: function (n, t) { return this.findLastIndex(n, n + 1 | 0, t) }, findLastIndex: function (n, t, i) { var u, r; if (Bridge.staticEquals(i, null)) throw new System.ArgumentNullException("match"); if (this._size === 0) { if (n !== -1) throw new System.ArgumentOutOfRangeException("startIndex"); } else if (n >>> 0 >= this._size >>> 0) throw new System.ArgumentOutOfRangeException("startIndex"); if (t < 0 || ((n - t | 0) + 1 | 0) < 0) throw new System.ArgumentOutOfRangeException("count"); for (u = n - t | 0, r = n; r > u; r = r - 1 | 0)if (i(this._items[System.Array.index(r, this._items)])) return r; return -1 }, forEach: function (n) { var i, t; if (Bridge.staticEquals(n, null)) throw new System.ArgumentNullException("match"); for (i = this._version, t = 0; t < this._size; t = t + 1 | 0) { if (i !== this._version) break; n(this._items[System.Array.index(t, this._items)]) } if (i !== this._version) throw new System.InvalidOperationException; }, getEnumerator: function () { return new (System.Collections.Generic.List$1.Enumerator(n).$ctor1)(this) }, System$Collections$Generic$IEnumerable$1$getEnumerator: function () { return new (System.Collections.Generic.List$1.Enumerator(n).$ctor1)(this).$clone() }, System$Collections$IEnumerable$getEnumerator: function () { return new (System.Collections.Generic.List$1.Enumerator(n).$ctor1)(this).$clone() }, getRange: function (t, i) { if (t < 0) throw new System.ArgumentOutOfRangeException("index"); if (i < 0) throw new System.ArgumentOutOfRangeException("count"); if ((this._size - t | 0) < i) throw new System.ArgumentException; var r = new (System.Collections.Generic.List$1(n).$ctor2)(i); return System.Array.copy(this._items, t, r._items, 0, i), r._size = i, r }, indexOf: function (n) { return System.Array.indexOfT(this._items, n, 0, this._size) }, System$Collections$IList$indexOf: function (t) { return System.Collections.Generic.List$1(n).isCompatibleObject(t) ? this.indexOf(Bridge.cast(Bridge.unbox(t), n)) : -1 }, indexOf$1: function (n, t) { if (t > this._size) throw new System.ArgumentOutOfRangeException("index"); return System.Array.indexOfT(this._items, n, t, this._size - t | 0) }, indexOf$2: function (n, t, i) { if (t > this._size) throw new System.ArgumentOutOfRangeException("index"); if (i < 0 || t > (this._size - i | 0)) throw new System.ArgumentOutOfRangeException("count"); return System.Array.indexOfT(this._items, n, t, i) }, insert: function (n, t) { if (n >>> 0 > this._size >>> 0) throw new System.ArgumentOutOfRangeException("index"); this._size === this._items.length && this.ensureCapacity(this._size + 1 | 0); n < this._size && System.Array.copy(this._items, n, this._items, n + 1 | 0, this._size - n | 0); this._items[System.Array.index(n, this._items)] = t; this._size = this._size + 1 | 0; this._version = this._version + 1 | 0 }, System$Collections$IList$insert: function (t, i) { if (i == null && !(Bridge.getDefaultValue(n) == null)) throw new System.ArgumentNullException("item"); try { this.insert(t, Bridge.cast(Bridge.unbox(i), n)) } catch (r) { if (r = System.Exception.create(r), Bridge.is(r, System.InvalidCastException)) throw new System.ArgumentException("item"); else throw r; } }, insertRange: function (t, i) { var f, r, e, u; if (i == null) throw new System.ArgumentNullException("collection"); if (t >>> 0 > this._size >>> 0) throw new System.ArgumentOutOfRangeException("index"); if (f = Bridge.as(i, System.Collections.Generic.ICollection$1(n)), f != null) r = System.Array.getCount(f, n), r > 0 && (this.ensureCapacity(this._size + r | 0), t < this._size && System.Array.copy(this._items, t, this._items, t + r | 0, this._size - t | 0), Bridge.referenceEquals(this, f) ? (System.Array.copy(this._items, 0, this._items, t, t), System.Array.copy(this._items, t + r | 0, this._items, Bridge.Int.mul(t, 2), this._size - t | 0)) : (e = System.Array.init(r, function () { return Bridge.getDefaultValue(n) }, n), System.Array.copyTo(f, e, 0, n), System.Array.copy(e, 0, this._items, t, e.length)), this._size = this._size + r | 0); else { u = Bridge.getEnumerator(i, n); try { while (u.System$Collections$IEnumerator$moveNext()) this.insert(Bridge.identity(t, t = t + 1 | 0), u[Bridge.geti(u, "System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(n) + "$Current$1", "System$Collections$Generic$IEnumerator$1$Current$1")]) } finally { Bridge.hasValue(u) && u.System$IDisposable$dispose() } } this._version = this._version + 1 | 0 }, lastIndexOf: function (n) { return this._size === 0 ? -1 : this.lastIndexOf$2(n, this._size - 1 | 0, this._size) }, lastIndexOf$1: function (n, t) { if (t >= this._size) throw new System.ArgumentOutOfRangeException("index"); return this.lastIndexOf$2(n, t, t + 1 | 0) }, lastIndexOf$2: function (n, t, i) { if (this.Count !== 0 && t < 0) throw new System.ArgumentOutOfRangeException("index"); if (this.Count !== 0 && i < 0) throw new System.ArgumentOutOfRangeException("count"); if (this._size === 0) return -1; if (t >= this._size) throw new System.ArgumentOutOfRangeException("index"); if (i > (t + 1 | 0)) throw new System.ArgumentOutOfRangeException("count"); return System.Array.lastIndexOfT(this._items, n, t, i) }, remove: function (n) { var t = this.indexOf(n); return t >= 0 ? (this.removeAt(t), !0) : !1 }, System$Collections$IList$remove: function (t) { System.Collections.Generic.List$1(n).isCompatibleObject(t) && this.remove(Bridge.cast(Bridge.unbox(t), n)) }, removeAll: function (t) { var i, r, u; if (Bridge.staticEquals(t, null)) throw new System.ArgumentNullException("match"); for (i = 0; i < this._size && !t(this._items[System.Array.index(i, this._items)]);)i = i + 1 | 0; if (i >= this._size) return 0; for (r = i + 1 | 0; r < this._size;) { while (r < this._size && t(this._items[System.Array.index(r, this._items)])) r = r + 1 | 0; r < this._size && (this._items[System.Array.index(Bridge.identity(i, i = i + 1 | 0), this._items)] = this._items[System.Array.index(Bridge.identity(r, r = r + 1 | 0), this._items)]) } return System.Array.fill(this._items, Bridge.getDefaultValue(n), i, this._size - i | 0), u = this._size - i | 0, this._size = i, this._version = this._version + 1 | 0, u }, removeAt: function (t) { if (t >>> 0 >= this._size >>> 0) throw new System.ArgumentOutOfRangeException; this._size = this._size - 1 | 0; t < this._size && System.Array.copy(this._items, t + 1 | 0, this._items, t, this._size - t | 0); this._items[System.Array.index(this._size, this._items)] = Bridge.getDefaultValue(n); this._version = this._version + 1 | 0 }, removeRange: function (t, i) { if (t < 0) throw new System.ArgumentOutOfRangeException("index"); if (i < 0) throw new System.ArgumentOutOfRangeException("count"); if ((this._size - t | 0) < i) throw new System.ArgumentException; if (i > 0) { var r = this._size; this._size = this._size - i | 0; t < this._size && System.Array.copy(this._items, t + i | 0, this._items, t, this._size - t | 0); System.Array.fill(this._items, Bridge.getDefaultValue(n), this._size, i); this._version = this._version + 1 | 0 } }, reverse: function () { this.reverse$1(0, this.Count) }, reverse$1: function (n, t) { if (n < 0) throw new System.ArgumentOutOfRangeException("index"); if (t < 0) throw new System.ArgumentOutOfRangeException("count"); if ((this._size - n | 0) < t) throw new System.ArgumentException; System.Array.reverse(this._items, n, t); this._version = this._version + 1 | 0 }, sort: function () { this.sort$3(0, this.Count, null) }, sort$1: function (n) { this.sort$3(0, this.Count, n) }, sort$3: function (n, t, i) { if (n < 0) throw new System.ArgumentOutOfRangeException("index"); if (t < 0) throw new System.ArgumentOutOfRangeException("count"); if ((this._size - n | 0) < t) throw new System.ArgumentException; System.Array.sort(this._items, n, t, i); this._version = this._version + 1 | 0 }, sort$2: function (t) { if (Bridge.staticEquals(t, null)) throw new System.ArgumentNullException("comparison"); if (this._size > 0) if (this._items.length === this._size) System.Array.sort(this._items, t); else { var i = System.Array.init(this._size, function () { return Bridge.getDefaultValue(n) }, n); System.Array.copy(this._items, 0, i, 0, this._size); System.Array.sort(i, t); System.Array.copy(i, 0, this._items, 0, this._size) } }, toArray: function () { var t = System.Array.init(this._size, function () { return Bridge.getDefaultValue(n) }, n); return System.Array.copy(this._items, 0, t, 0, this._size), t }, trimExcess: function () { var n = Bridge.Int.clip32(this._items.length * .9); this._size < n && (this.Capacity = this._size) }, trueForAll: function (n) { if (Bridge.staticEquals(n, null)) throw new System.ArgumentNullException("match"); for (var t = 0; t < this._size; t = t + 1 | 0)if (!n(this._items[System.Array.index(t, this._items)])) return !1; return !0 }, toJSON: function () { var t = System.Array.init(this._size, function () { return Bridge.getDefaultValue(n) }, n); return this._size > 0 && System.Array.copy(this._items, 0, t, 0, this._size), t } } } }); System.Collections.Generic.List$1.getElementType = function (n) { var i, r, t; if (System.String.startsWith(n.$$name, "System.Collections.Generic.IList")) i = n; else for (r = Bridge.Reflection.getInterfaces(n), t = 0; t < r.length; t++)if (System.String.startsWith(r[t].$$name, "System.Collections.Generic.IList")) { i = r[t]; break } return i ? Bridge.Reflection.getGenericArguments(i)[0] : null }; Bridge.define("System.Collections.ObjectModel.ReadOnlyCollection$1", function (n) { return { inherits: [System.Collections.Generic.IList$1(n), System.Collections.IList, System.Collections.Generic.IReadOnlyList$1(n)], statics: { methods: { isCompatibleObject: function (t) { return Bridge.is(t, n) || t == null && Bridge.getDefaultValue(n) == null } } }, fields: { list: null }, props: { Count: { get: function () { return System.Array.getCount(this.list, n) } }, Items: { get: function () { return this.list } }, System$Collections$Generic$ICollection$1$IsReadOnly: { get: function () { return !0 } }, System$Collections$IList$IsReadOnly: { get: function () { return !0 } } }, alias: ["Count", "System$Collections$Generic$IReadOnlyCollection$1$" + Bridge.getTypeAlias(n) + "$Count", "Count", "System$Collections$ICollection$Count", "Count", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$Count", "getItem", "System$Collections$Generic$IReadOnlyList$1$" + Bridge.getTypeAlias(n) + "$getItem", "contains", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$contains", "copyTo", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$copyTo", "getEnumerator", ["System$Collections$Generic$IEnumerable$1$" + Bridge.getTypeAlias(n) + "$getEnumerator", "System$Collections$Generic$IEnumerable$1$getEnumerator"], "indexOf", "System$Collections$Generic$IList$1$" + Bridge.getTypeAlias(n) + "$indexOf", "System$Collections$Generic$ICollection$1$IsReadOnly", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$IsReadOnly", "System$Collections$Generic$IList$1$getItem", "System$Collections$Generic$IList$1$" + Bridge.getTypeAlias(n) + "$getItem", "System$Collections$Generic$IList$1$setItem", "System$Collections$Generic$IList$1$" + Bridge.getTypeAlias(n) + "$setItem", "System$Collections$Generic$ICollection$1$add", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$add", "System$Collections$Generic$ICollection$1$clear", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$clear", "System$Collections$Generic$IList$1$insert", "System$Collections$Generic$IList$1$" + Bridge.getTypeAlias(n) + "$insert", "System$Collections$Generic$ICollection$1$remove", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$remove", "System$Collections$Generic$IList$1$removeAt", "System$Collections$Generic$IList$1$" + Bridge.getTypeAlias(n) + "$removeAt"], ctors: { ctor: function (n) { if (this.$initialize(), n == null) throw new System.ArgumentNullException("list"); this.list = n } }, methods: { getItem: function (t) { return System.Array.getItem(this.list, t, n) }, System$Collections$Generic$IList$1$getItem: function (t) { return System.Array.getItem(this.list, t, n) }, System$Collections$Generic$IList$1$setItem: function () { throw new System.NotSupportedException; }, System$Collections$IList$getItem: function (t) { return System.Array.getItem(this.list, t, n) }, System$Collections$IList$setItem: function () { throw new System.NotSupportedException; }, contains: function (t) { return System.Array.contains(this.list, t, n) }, System$Collections$IList$contains: function (t) { return System.Collections.ObjectModel.ReadOnlyCollection$1(n).isCompatibleObject(t) ? this.contains(Bridge.cast(Bridge.unbox(t), n)) : !1 }, copyTo: function (t, i) { System.Array.copyTo(this.list, t, i, n) }, System$Collections$ICollection$copyTo: function (t, i) { var f, e, o, u, s, r; if (t == null) throw new System.ArgumentNullException("array"); if (System.Array.getRank(t) !== 1) throw new System.ArgumentException("array"); if (System.Array.getLower(t, 0) !== 0) throw new System.ArgumentException("array"); if (i < 0) throw new System.ArgumentOutOfRangeException("index"); if ((t.length - i | 0) < this.Count) throw new System.ArgumentException; if (f = Bridge.as(t, System.Array.type(n)), f != null) System.Array.copyTo(this.list, f, i, n); else { if (e = Bridge.getType(t).$elementType || null, o = n, !(Bridge.Reflection.isAssignableFrom(e, o) || Bridge.Reflection.isAssignableFrom(o, e))) throw new System.ArgumentException; if (u = Bridge.as(t, System.Array.type(System.Object)), u == null) throw new System.ArgumentException; for (s = System.Array.getCount(this.list, n), r = 0; r < s; r = r + 1 | 0)u[System.Array.index(Bridge.identity(i, i = i + 1 | 0), u)] = System.Array.getItem(this.list, r, n) } }, getEnumerator: function () { return Bridge.getEnumerator(this.list, n) }, System$Collections$IEnumerable$getEnumerator: function () { return Bridge.getEnumerator(Bridge.cast(this.list, System.Collections.IEnumerable)) }, indexOf: function (t) { return System.Array.indexOf(this.list, t, 0, null, n) }, System$Collections$IList$indexOf: function (t) { return System.Collections.ObjectModel.ReadOnlyCollection$1(n).isCompatibleObject(t) ? this.indexOf(Bridge.cast(Bridge.unbox(t), n)) : -1 }, System$Collections$Generic$ICollection$1$add: function () { throw new System.NotSupportedException; }, System$Collections$IList$add: function () { throw new System.NotSupportedException; }, System$Collections$Generic$ICollection$1$clear: function () { throw new System.NotSupportedException; }, System$Collections$IList$clear: function () { throw new System.NotSupportedException; }, System$Collections$Generic$IList$1$insert: function () { throw new System.NotSupportedException; }, System$Collections$IList$insert: function () { throw new System.NotSupportedException; }, System$Collections$Generic$ICollection$1$remove: function () { throw new System.NotSupportedException; }, System$Collections$IList$remove: function () { throw new System.NotSupportedException; }, System$Collections$Generic$IList$1$removeAt: function () { throw new System.NotSupportedException; }, System$Collections$IList$removeAt: function () { throw new System.NotSupportedException; } } } }); Bridge.define("System.String", { inherits: [System.IComparable, System.ICloneable, System.Collections.IEnumerable, System.Collections.Generic.IEnumerable$1(System.Char)], statics: { $is: function (n) { return typeof n == "string" }, charCodeAt: function (n, t) { t = t || 0; var i = n.charCodeAt(t), u, r; if (55296 <= i && i <= 56319) { if (u = i, r = n.charCodeAt(t + 1), isNaN(r)) throw new System.Exception("High surrogate not followed by low surrogate"); return (u - 55296) * 1024 + (r - 56320) + 65536 } return 56320 <= i && i <= 57343 ? !1 : i }, fromCharCode: function (n) { return n > 65535 ? (n -= 65536, String.fromCharCode(55296 + (n >> 10), 56320 + (n & 1023))) : String.fromCharCode(n) }, fromCharArray: function (n, t, i) { var u, r, f; if (n == null) throw new System.ArgumentNullException("chars"); if (t < 0) throw new System.ArgumentOutOfRangeException("startIndex"); if (i < 0) throw new System.ArgumentOutOfRangeException("length"); if (n.length - t < i) throw new System.ArgumentOutOfRangeException("startIndex"); for (u = "", t = t || 0, i = Bridge.isNumber(i) ? i : n.length, t + i > n.length && (i = n.length - t), r = 0; r < i; r++)f = n[r + t] | 0, u += String.fromCharCode(f); return u }, lastIndexOf: function (n, t, i, r) { var u = n.lastIndexOf(t, i); return u < i - r + 1 ? -1 : u }, lastIndexOfAny: function (n, t, i, r) { var e = n.length, f, u; if (!e) return -1; for (t = String.fromCharCode.apply(null, t), i = i || e - 1, r = r || e, f = i - r + 1, f < 0 && (f = 0), u = i; u >= f; u--)if (t.indexOf(n.charAt(u)) >= 0) return u; return -1 }, isNullOrWhiteSpace: function (n) { return n ? System.Char.isWhiteSpace(n) : !0 }, isNullOrEmpty: function (n) { return !n }, fromCharCount: function (n, t) { if (t >= 0) return String(Array(t + 1).join(String.fromCharCode(n))); throw new System.ArgumentOutOfRangeException("count", "cannot be less than zero"); }, format: function (n, t) { return System.String._format(System.Globalization.CultureInfo.getCurrentCulture(), n, Array.isArray(t) && arguments.length == 2 ? t : Array.prototype.slice.call(arguments, 1)) }, formatProvider: function (n, t, i) { return System.String._format(n, t, Array.isArray(i) && arguments.length == 3 ? i : Array.prototype.slice.call(arguments, 2)) }, _format: function (n, t, i) { if (t == null) throw new System.ArgumentNullException("format"); var u = this, r = this.decodeBraceSequence; return t.replace(/(\{+)((\d+|[a-zA-Z_$]\w+(?:\.[a-zA-Z_$]\w+|\[\d+\])*)(?:\,(-?\d*))?(?:\:([^\}]*))?)(\}+)|(\{+)|(\}+)/g, function (t, f, e, o, s, h, c, l, a) { return l ? r(l) : a ? r(a) : f.length % 2 == 0 || c.length % 2 == 0 ? r(f) + e + r(c) : r(f, !0) + u.handleElement(n, o, s, h, i) + r(c, !0) }) }, handleElement: function (n, t, i, r, u) { var f; if (t = parseInt(t, 10), t > u.length - 1) throw new System.FormatException("Input string was not in a correct format."); return f = u[t], f == null && (f = ""), r && f.$boxed && f.type.$kind === "enum" ? f = System.Enum.format(f.type, f.v, r) : r && f.$boxed && f.type.format ? f = f.type.format(Bridge.unbox(f, !0), r, n) : r && Bridge.is(f, System.IFormattable) && (f = Bridge.format(Bridge.unbox(f, !0), r, n)), f = Bridge.isNumber(f) ? Bridge.Int.format(f, r, n) : Bridge.isDate(f) ? System.DateTime.format(f, r, n) : "" + f.toString(), i && (i = parseInt(i, 10), Bridge.isNumber(i) || (i = null)), System.String.alignString(f.toString(), i) }, decodeBraceSequence: function (n, t) { return n.substr(0, (n.length + (t ? 0 : 1)) / 2) }, alignString: function (n, t, i, r, u) { if (n == null || !t) return n; if (i || (i = " "), Bridge.isNumber(i) && (i = String.fromCharCode(i)), r || (r = t < 0 ? 1 : 2), t = Math.abs(t), u && n.length > t && (n = n.substring(0, t)), t + 1 >= n.length) switch (r) { case 2: n = Array(t + 1 - n.length).join(i) + n; break; case 3: var f = t - n.length, e = Math.ceil(f / 2), o = f - e; n = Array(o + 1).join(i) + n + Array(e + 1).join(i); break; case 1: default: n = n + Array(t + 1 - n.length).join(i) }return n }, startsWith: function (n, t) { return t.length ? t.length > n.length ? !1 : (t = System.String.escape(t), n.match("^" + t) !== null) : !0 }, endsWith: function (n, t) { return t.length ? t.length > n.length ? !1 : (t = System.String.escape(t), n.match(t + "$") !== null) : !0 }, contains: function (n, t) { if (t == null) throw new System.ArgumentNullException; return n == null ? !1 : n.indexOf(t) > -1 }, indexOfAny: function (n, t) { var i, r, e, u, o, f; if (t == null) throw new System.ArgumentNullException; if (n == null || n === "") return -1; if (i = arguments.length > 2 ? arguments[2] : 0, i < 0) throw new System.ArgumentOutOfRangeException("startIndex", "startIndex cannot be less than zero"); if (r = arguments.length > 3 ? arguments[3] : n.length - i, r < 0) throw new System.ArgumentOutOfRangeException("length", "must be non-negative"); if (r > n.length - i) throw new System.ArgumentOutOfRangeException("Index and length must refer to a location within the string"); for (e = n.substr(i, r), u = 0; u < t.length; u++)if (o = String.fromCharCode(t[u]), f = e.indexOf(o), f > -1) return f + i; return -1 }, indexOf: function (n, t) { var i, u, f, r; if (t == null) throw new System.ArgumentNullException; if (n == null || n === "") return -1; if (i = arguments.length > 2 ? arguments[2] : 0, i < 0 || i > n.length) throw new System.ArgumentOutOfRangeException("startIndex", "startIndex cannot be less than zero and must refer to a location within the string"); if (t === "") return arguments.length > 2 ? i : 0; if (u = arguments.length > 3 ? arguments[3] : n.length - i, u < 0) throw new System.ArgumentOutOfRangeException("length", "must be non-negative"); if (u > n.length - i) throw new System.ArgumentOutOfRangeException("Index and length must refer to a location within the string"); return (f = n.substr(i, u), r = arguments.length === 5 && arguments[4] % 2 != 0 ? f.toLocaleUpperCase().indexOf(t.toLocaleUpperCase()) : f.indexOf(t), r > -1) ? arguments.length === 5 ? System.String.compare(t, f.substr(r, t.length), arguments[4]) === 0 ? r + i : -1 : r + i : -1 }, equals: function () { return System.String.compare.apply(this, arguments) === 0 }, compare: function (n, t) { if (n == null) return t == null ? 0 : -1; if (t == null) return 1; if (arguments.length >= 3) if (Bridge.isBoolean(arguments[2])) { if (arguments[2] && (n = n.toLocaleUpperCase(), t = t.toLocaleUpperCase()), arguments.length === 4) return n.localeCompare(t, arguments[3].name) } else switch (arguments[2]) { case 1: return n.localeCompare(t, System.Globalization.CultureInfo.getCurrentCulture().name, { sensitivity: "accent" }); case 2: return n.localeCompare(t, System.Globalization.CultureInfo.invariantCulture.name); case 3: return n.localeCompare(t, System.Globalization.CultureInfo.invariantCulture.name, { sensitivity: "accent" }); case 4: return n === t ? 0 : n > t ? 1 : -1; case 5: return n.toUpperCase() === t.toUpperCase() ? 0 : n.toUpperCase() > t.toUpperCase() ? 1 : -1 }return n.localeCompare(t) }, toCharArray: function (n, t, i) { var u, r; if (t < 0 || t > n.length || t > n.length - i) throw new System.ArgumentOutOfRangeException("startIndex", "startIndex cannot be less than zero and must refer to a location within the string"); if (i < 0) throw new System.ArgumentOutOfRangeException("length", "must be non-negative"); for (Bridge.hasValue(t) || (t = 0), Bridge.hasValue(i) || (i = n.length), u = [], r = t; r < t + i; r++)u.push(n.charCodeAt(r)); return u }, escape: function (n) { return n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&") }, replaceAll: function (n, t, i) { var r = new RegExp(System.String.escape(t), "g"); return n.replace(r, i) }, insert: function (n, t, i) { return n > 0 ? t.substring(0, n) + i + t.substring(n, t.length) : i + t }, remove: function (n, t, i) { if (n == null) throw new System.NullReferenceException; if (t < 0) throw new System.ArgumentOutOfRangeException("startIndex", "StartIndex cannot be less than zero"); if (i != null) { if (i < 0) throw new System.ArgumentOutOfRangeException("count", "Count cannot be less than zero"); if (i > n.length - t) throw new System.ArgumentOutOfRangeException("count", "Index and count must refer to a location within the string"); } else if (t >= n.length) throw new System.ArgumentOutOfRangeException("startIndex", "startIndex must be less than length of string"); return i == null || t + i > n.length ? n.substr(0, t) : n.substr(0, t) + n.substr(t + i) }, split: function (n, t, i, r) { for (var o = !Bridge.hasValue(t) || t.length === 0 ? new RegExp("\\s", "g") : new RegExp(t.map(System.String.escape).join("|"), "g"), f = [], e, u = 0; ; u = o.lastIndex)if (e = o.exec(n)) { if (r !== 1 || e.index > u) { if (f.length === i - 1) return f.push(n.substr(u)), f; f.push(n.substring(u, e.index)) } } else return (r !== 1 || u !== n.length) && f.push(n.substr(u)), f }, trimEnd: function (n, t) { return n.replace(t ? new RegExp("[" + System.String.escape(String.fromCharCode.apply(null, t)) + "]+$") : /\s*$/, "") }, trimStart: function (n, t) { return n.replace(t ? new RegExp("^[" + System.String.escape(String.fromCharCode.apply(null, t)) + "]+") : /^\s*/, "") }, trim: function (n, t) { return System.String.trimStart(System.String.trimEnd(n, t), t) }, trimStartZeros: function (n) { return n.replace(new RegExp("^[ 0+]+(?=.)"), "") }, concat: function (n) { for (var i = arguments.length == 1 && Array.isArray(n) ? n : [].slice.call(arguments), r = "", t = 0; t < i.length; t++)r += i[t] == null ? "" : i[t].toString(); return r }, copyTo: function (n, t, i, r, u) { if (i == null) throw new System.ArgumentNullException("destination"); if (n == null) throw new System.ArgumentNullException("str"); if (u < 0) throw new System.ArgumentOutOfRangeException("count"); if (t < 0) throw new System.ArgumentOutOfRangeException("sourceIndex"); if (u > n.length - t) throw new System.ArgumentOutOfRangeException("sourceIndex"); if (r > i.length - u || r < 0) throw new System.ArgumentOutOfRangeException("destinationIndex"); if (u > 0) for (var f = 0; f < u; f++)i[r + f] = n.charCodeAt(t + f) } } }); Bridge.Class.addExtend(System.String, [System.IComparable$1(System.String), System.IEquatable$1(System.String)]); Bridge.define("System.Threading.Tasks.Task", { inherits: [System.IDisposable], config: { alias: ["dispose", "System$IDisposable$dispose"] }, ctor: function (n, t) { this.$initialize(); this.action = n; this.state = t; this.exception = null; this.status = System.Threading.Tasks.TaskStatus.created; this.callbacks = []; this.result = null }, statics: { delay: function (n, t) { var i = new System.Threading.Tasks.TaskCompletionSource; return setTimeout(function () { i.setResult(t) }, n), i.task }, fromResult: function (n) { var t = new System.Threading.Tasks.Task; return t.status = System.Threading.Tasks.TaskStatus.ranToCompletion, t.result = n, t }, run: function (n) { var t = new System.Threading.Tasks.TaskCompletionSource; return setTimeout(function () { try { t.setResult(n()) } catch (i) { t.setException(System.Exception.create(i)) } }, 0), t.task }, whenAll: function (n) { var t = new System.Threading.Tasks.TaskCompletionSource, r, f, e = !1, u = [], i; if (Bridge.is(n, System.Collections.IEnumerable) ? n = Bridge.toArray(n) : Bridge.isArray(n) || (n = Array.prototype.slice.call(arguments, 0)), n.length === 0) return t.setResult([]), t.task; for (f = n.length, r = new Array(n.length), i = 0; i < n.length; i++)(function (i) { n[i].continueWith(function (n) { switch (n.status) { case System.Threading.Tasks.TaskStatus.ranToCompletion: r[i] = n.getResult(); break; case System.Threading.Tasks.TaskStatus.canceled: e = !0; break; case System.Threading.Tasks.TaskStatus.faulted: System.Array.addRange(u, n.exception.innerExceptions); break; default: throw new System.InvalidOperationException("Invalid task status: " + n.status); }--f == 0 && (u.length > 0 ? t.setException(u) : e ? t.setCanceled() : t.setResult(r)) }) })(i); return t.task }, whenAny: function (n) { if (Bridge.is(n, System.Collections.IEnumerable) ? n = Bridge.toArray(n) : Bridge.isArray(n) || (n = Array.prototype.slice.call(arguments, 0)), !n.length) throw new System.ArgumentException("At least one task is required"); for (var t = new System.Threading.Tasks.TaskCompletionSource, i = 0; i < n.length; i++)n[i].continueWith(function (n) { switch (n.status) { case System.Threading.Tasks.TaskStatus.ranToCompletion: t.trySetResult(n); break; case System.Threading.Tasks.TaskStatus.canceled: t.trySetCanceled(); break; case System.Threading.Tasks.TaskStatus.faulted: t.trySetException(n.exception.innerExceptions); break; default: throw new System.InvalidOperationException("Invalid task status: " + n.status); } }); return t.task }, fromCallback: function (n, t) { var i = new System.Threading.Tasks.TaskCompletionSource, r = Array.prototype.slice.call(arguments, 2), u; return u = function (n) { i.setResult(n) }, r.push(u), n[t].apply(n, r), i.task }, fromCallbackResult: function (n, t, i) { var r = new System.Threading.Tasks.TaskCompletionSource, u = Array.prototype.slice.call(arguments, 3), f; return f = function (n) { r.setResult(n) }, i(u, f), n[t].apply(n, u), r.task }, fromCallbackOptions: function (n, t, i) { var u = new System.Threading.Tasks.TaskCompletionSource, r = Array.prototype.slice.call(arguments, 3), f; return f = function (n) { u.setResult(n) }, r[0] = r[0] || {}, r[0][i] = f, n[t].apply(n, r), u.task }, fromPromise: function (n, t, i, r) { var u = new System.Threading.Tasks.TaskCompletionSource; return n.then || (n = n.promise()), typeof t == "number" ? t = function (n) { return function () { return arguments[n >= 0 ? n : arguments.length + n] } }(t) : typeof t != "function" && (t = function () { return Array.prototype.slice.call(arguments, 0) }), n.then(function () { u.setResult(t ? t.apply(null, arguments) : Array.prototype.slice.call(arguments, 0)) }, function () { u.setException(i ? i.apply(null, arguments) : new Bridge.PromiseException(Array.prototype.slice.call(arguments, 0))) }, r), u.task } }, continueWith: function (n, t) { var i = new System.Threading.Tasks.TaskCompletionSource, r = this, u = t ? function () { i.setResult(n(r)) } : function () { try { i.setResult(n(r)) } catch (t) { i.setException(System.Exception.create(t)) } }; return this.isCompleted() ? setTimeout(u, 0) : this.callbacks.push(u), i.task }, start: function () { if (this.status !== System.Threading.Tasks.TaskStatus.created) throw new System.InvalidOperationException("Task was already started."); var n = this; this.status = System.Threading.Tasks.TaskStatus.running; setTimeout(function () { try { var t = n.action(n.state); delete n.action; delete n.state; n.complete(t) } catch (i) { n.fail(new System.AggregateException(null, [System.Exception.create(i)])) } }, 0) }, runCallbacks: function () { var n = this; setTimeout(function () { for (var t = 0; t < n.callbacks.length; t++)n.callbacks[t](n); delete n.callbacks }, 0) }, complete: function (n) { return this.isCompleted() ? !1 : (this.result = n, this.status = System.Threading.Tasks.TaskStatus.ranToCompletion, this.runCallbacks(), !0) }, fail: function (n) { return this.isCompleted() ? !1 : (this.exception = n, this.status = System.Threading.Tasks.TaskStatus.faulted, this.runCallbacks(), !0) }, cancel: function () { return this.isCompleted() ? !1 : (this.status = System.Threading.Tasks.TaskStatus.canceled, this.runCallbacks(), !0) }, isCanceled: function () { return this.status === System.Threading.Tasks.TaskStatus.canceled }, isCompleted: function () { return this.status === System.Threading.Tasks.TaskStatus.ranToCompletion || this.status === System.Threading.Tasks.TaskStatus.canceled || this.status === System.Threading.Tasks.TaskStatus.faulted }, isFaulted: function () { return this.status === System.Threading.Tasks.TaskStatus.faulted }, _getResult: function (n) { switch (this.status) { case System.Threading.Tasks.TaskStatus.ranToCompletion: return this.result; case System.Threading.Tasks.TaskStatus.canceled: var t = new System.Threading.Tasks.TaskCanceledException(null, this); throw n ? t : new System.AggregateException(null, [t]); case System.Threading.Tasks.TaskStatus.faulted: throw n ? this.exception.innerExceptions.Count > 0 ? this.exception.innerExceptions.getItem(0) : null : this.exception; default: throw new System.InvalidOperationException("Task is not yet completed."); } }, getResult: function () { return this._getResult(!1) }, dispose: function () { }, getAwaiter: function () { return this }, getAwaitedResult: function () { return this._getResult(!0) } }); Bridge.define("System.Threading.Tasks.Task$1", function () { return { inherits: [System.Threading.Tasks.Task], ctor: function (n, t) { this.$initialize(); System.Threading.Tasks.Task.ctor.call(this, n, t) } } }); Bridge.define("System.Threading.Tasks.TaskStatus", { $kind: "enum", $statics: { created: 0, waitingForActivation: 1, waitingToRun: 2, running: 3, waitingForChildrenToComplete: 4, ranToCompletion: 5, canceled: 6, faulted: 7 } }); Bridge.define("System.Threading.Tasks.TaskCompletionSource", { ctor: function () { this.$initialize(); this.task = new System.Threading.Tasks.Task; this.task.status = System.Threading.Tasks.TaskStatus.running }, setCanceled: function () { if (!this.task.cancel()) throw new System.InvalidOperationException("Task was already completed."); }, setResult: function (n) { if (!this.task.complete(n)) throw new System.InvalidOperationException("Task was already completed."); }, setException: function (n) { if (!this.trySetException(n)) throw new System.InvalidOperationException("Task was already completed."); }, trySetCanceled: function () { return this.task.cancel() }, trySetResult: function (n) { return this.task.complete(n) }, trySetException: function (n) { return Bridge.is(n, System.Exception) && (n = [n]), this.task.fail(new System.AggregateException(null, n)) } }); Bridge.define("System.Threading.CancellationTokenSource", { inherits: [System.IDisposable], config: { alias: ["dispose", "System$IDisposable$dispose"] }, ctor: function (n) { this.$initialize(); this.timeout = typeof n == "number" && n >= 0 ? setTimeout(Bridge.fn.bind(this, this.cancel), n, -1) : null; this.isCancellationRequested = !1; this.token = new System.Threading.CancellationToken(this); this.handlers = [] }, cancel: function (n) { var i, r, t; if (!this.isCancellationRequested) { for (this.isCancellationRequested = !0, i = [], r = this.handlers, this.clean(), t = 0; t < r.length; t++)try { r[t].f(r[t].s) } catch (u) { if (n && n !== -1) throw u; i.push(u) } if (i.length > 0 && n !== -1) throw new System.AggregateException(null, i); } }, cancelAfter: function (n) { this.isCancellationRequested || (this.timeout && clearTimeout(this.timeout), this.timeout = setTimeout(Bridge.fn.bind(this, this.cancel), n, -1)) }, register: function (n, t) { if (this.isCancellationRequested) return n(t), new System.Threading.CancellationTokenRegistration; var i = { f: n, s: t }; return this.handlers.push(i), new System.Threading.CancellationTokenRegistration(this, i) }, deregister: function (n) { var t = this.handlers.indexOf(n); t >= 0 && this.handlers.splice(t, 1) }, dispose: function () { this.clean() }, clean: function () { if (this.timeout && clearTimeout(this.timeout), this.timeout = null, this.handlers = [], this.links) { for (var n = 0; n < this.links.length; n++)this.links[n].dispose(); this.links = null } }, statics: { createLinked: function () { var n = new System.Threading.CancellationTokenSource, i, t; for (n.links = [], i = Bridge.fn.bind(n, n.cancel), t = 0; t < arguments.length; t++)n.links.push(arguments[t].register(i)); return n } } }); Bridge.define("System.Threading.CancellationToken", { $kind: "struct", ctor: function (n) { this.$initialize(); Bridge.is(n, System.Threading.CancellationTokenSource) || (n = n ? System.Threading.CancellationToken.sourceTrue : System.Threading.CancellationToken.sourceFalse); this.source = n }, getCanBeCanceled: function () { return !this.source.uncancellable }, getIsCancellationRequested: function () { return this.source.isCancellationRequested }, throwIfCancellationRequested: function () { if (this.source.isCancellationRequested) throw new System.OperationCanceledException(this); }, register: function (n, t) { return this.source.register(n, t) }, getHashCode: function () { return Bridge.getHashCode(this.source) }, equals: function (n) { return n.source === this.source }, equalsT: function (n) { return n.source === this.source }, statics: { sourceTrue: { isCancellationRequested: !0, register: function (n, t) { return n(t), new System.Threading.CancellationTokenRegistration } }, sourceFalse: { uncancellable: !0, isCancellationRequested: !1, register: function () { return new System.Threading.CancellationTokenRegistration } }, getDefaultValue: function () { return new System.Threading.CancellationToken } } }); System.Threading.CancellationToken.none = new System.Threading.CancellationToken; Bridge.define("System.Threading.CancellationTokenRegistration", { inherits: function () { return [System.IDisposable, System.IEquatable$1(System.Threading.CancellationTokenRegistration)] }, $kind: "struct", config: { alias: ["dispose", "System$IDisposable$dispose"] }, ctor: function (n, t) { this.$initialize(); this.cts = n; this.o = t }, dispose: function () { this.cts && (this.cts.deregister(this.o), this.cts = this.o = null) }, equalsT: function (n) { return this === n }, equals: function (n) { return this === n }, statics: { getDefaultValue: function () { return new System.Threading.CancellationTokenRegistration } } }); yt = { isNull: function (n) { return !Bridge.isDefined(n, !0) }, isEmpty: function (n) { return n == null || n.length === 0 || Bridge.is(n, System.Collections.ICollection) ? n.getCount() === 0 : !1 }, isNotEmptyOrWhitespace: function (n) { return Bridge.isDefined(n, !0) && !/^$|\s+/.test(n) }, isNotNull: function (n) { return Bridge.isDefined(n, !0) }, isNotEmpty: function (n) { return !Bridge.Validation.isEmpty(n) }, email: function (n) { return /^(")?(?:[^\."])(?:(?:[\.])?(?:[\w\-!#$%&'*+/=?^_`{|}~]))*\1@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/.test(n) }, url: function (n) { return /(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:\.\d{1,3}){3})(?!(?:\.\d{1,3}){2})(?!\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))\.?)(?::\d{2,5})?(?:[/?#]\S*)?$/.test(n) }, alpha: function (n) { return /^[a-zA-Z_]+$/.test(n) }, alphaNum: function (n) { return /^[a-zA-Z_]+$/.test(n) }, creditCard: function (n, t) { var r, u, i, f, e = !1; if (t === "Visa") r = /^4\d{3}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}$/; else if (t === "MasterCard") r = /^5[1-5]\d{2}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}$/; else if (t === "Discover") r = /^6011[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}$/; else if (t === "AmericanExpress") r = /^3[4,7]\d{13}$/; else if (t === "DinersClub") r = /^(3[0,6,8]\d{12})|(5[45]\d{14})$/; else { if (!n || n.length < 13 || n.length > 19) return !1; r = /[^0-9 \-]+/; e = !0 } if (!r.test(n)) return !1; for (n = n.split(e ? "-" : /[- ]/).join(""), u = 0, i = 2 - n.length % 2; i <= n.length; i += 2)u += parseInt(n.charAt(i - 1)); for (i = n.length % 2 + 1; i < n.length; i += 2)f = parseInt(n.charAt(i - 1)) * 2, u += f < 10 ? f : f - 9; return u % 10 == 0 } }; Bridge.Validation = yt; Bridge.define("System.Version", { inherits: function () { return [System.ICloneable, System.IComparable$1(System.Version), System.IEquatable$1(System.Version)] }, statics: { fields: { separatorsArray: 0, ZERO_CHAR_VALUE: 0 }, ctors: { init: function () { this.separatorsArray = 46; this.ZERO_CHAR_VALUE = 48 } }, methods: { appendPositiveNumber: function (n, t) { var r = t.getLength(), i; do i = n % 10, n = Bridge.Int.div(n, 10) | 0, t.insert(r, String.fromCharCode((System.Version.ZERO_CHAR_VALUE + i | 0) & 65535)); while (n > 0) }, parse: function (n) { if (n == null) throw new System.ArgumentNullException("input"); var t = { v: new System.Version.VersionResult }; if (t.v.init("input", !0), !System.Version.tryParseVersion(n, t)) throw t.v.getVersionParseException(); return t.v.m_parsedVersion }, tryParse: function (n, t) { var i = { v: new System.Version.VersionResult }, r; return i.v.init("input", !1), r = System.Version.tryParseVersion(n, i), t.v = i.v.m_parsedVersion, r }, tryParseVersion: function (n, t) { var u = {}, f = {}, e = {}, o = {}, i, r; if (n == null) return t.v.setFailure(System.Version.ParseFailureKind.ArgumentNullException), !1; if (i = System.String.split(n, [System.Version.separatorsArray].map(function (n) { return String.fromCharCode(n) })), r = i.length, r < 2 || r > 4) return t.v.setFailure(System.Version.ParseFailureKind.ArgumentException), !1; if (!System.Version.tryParseComponent(i[System.Array.index(0, i)], "version", t, u) || !System.Version.tryParseComponent(i[System.Array.index(1, i)], "version", t, f)) return !1; if (r = r - 2 | 0, r > 0) { if (!System.Version.tryParseComponent(i[System.Array.index(2, i)], "build", t, e)) return !1; if (r = r - 1 | 0, r > 0) if (System.Version.tryParseComponent(i[System.Array.index(3, i)], "revision", t, o)) t.v.m_parsedVersion = new System.Version.$ctor3(u.v, f.v, e.v, o.v); else return !1; else t.v.m_parsedVersion = new System.Version.$ctor2(u.v, f.v, e.v) } else t.v.m_parsedVersion = new System.Version.$ctor1(u.v, f.v); return !0 }, tryParseComponent: function (n, t, i, r) { return System.Int32.tryParse(n, r) ? r.v < 0 ? (i.v.setFailure$1(System.Version.ParseFailureKind.ArgumentOutOfRangeException, t), !1) : !0 : (i.v.setFailure$1(System.Version.ParseFailureKind.FormatException, n), !1) }, op_Equality: function (n, t) { return Bridge.referenceEquals(n, null) ? Bridge.referenceEquals(t, null) : n.equalsT(t) }, op_Inequality: function (n, t) { return !System.Version.op_Equality(n, t) }, op_LessThan: function (n, t) { if (n == null) throw new System.ArgumentNullException("v1"); return n.compareTo(t) < 0 }, op_LessThanOrEqual: function (n, t) { if (n == null) throw new System.ArgumentNullException("v1"); return n.compareTo(t) <= 0 }, op_GreaterThan: function (n, t) { return System.Version.op_LessThan(t, n) }, op_GreaterThanOrEqual: function (n, t) { return System.Version.op_LessThanOrEqual(t, n) } } }, fields: { _Major: 0, _Minor: 0, _Build: 0, _Revision: 0 }, props: { Major: { get: function () { return this._Major } }, Minor: { get: function () { return this._Minor } }, Build: { get: function () { return this._Build } }, Revision: { get: function () { return this._Revision } }, MajorRevision: { get: function () { return Bridge.Int.sxs(this._Revision >> 16 & 65535) } }, MinorRevision: { get: function () { return Bridge.Int.sxs(this._Revision & 65535) } } }, alias: ["clone", "System$ICloneable$clone", "compareTo", ["System$IComparable$1$System$Version$compareTo", "System$IComparable$1$compareTo"], "equalsT", "System$IEquatable$1$System$Version$equalsT"], ctors: { init: function () { this._Build = -1; this._Revision = -1 }, $ctor3: function (n, t, i, r) { if (this.$initialize(), n < 0) throw new System.ArgumentOutOfRangeException("major", "Cannot be < 0"); if (t < 0) throw new System.ArgumentOutOfRangeException("minor", "Cannot be < 0"); if (i < 0) throw new System.ArgumentOutOfRangeException("build", "Cannot be < 0"); if (r < 0) throw new System.ArgumentOutOfRangeException("revision", "Cannot be < 0"); this._Major = n; this._Minor = t; this._Build = i; this._Revision = r }, $ctor2: function (n, t, i) { if (this.$initialize(), n < 0) throw new System.ArgumentOutOfRangeException("major", "Cannot be < 0"); if (t < 0) throw new System.ArgumentOutOfRangeException("minor", "Cannot be < 0"); if (i < 0) throw new System.ArgumentOutOfRangeException("build", "Cannot be < 0"); this._Major = n; this._Minor = t; this._Build = i }, $ctor1: function (n, t) { if (this.$initialize(), n < 0) throw new System.ArgumentOutOfRangeException("major", "Cannot be < 0"); if (t < 0) throw new System.ArgumentOutOfRangeException("minor", "Cannot be < 0"); this._Major = n; this._Minor = t }, $ctor4: function (n) { this.$initialize(); var t = System.Version.parse(n); this._Major = t.Major; this._Minor = t.Minor; this._Build = t.Build; this._Revision = t.Revision }, ctor: function () { this.$initialize(); this._Major = 0; this._Minor = 0 } }, methods: { clone: function () { var n = new System.Version.ctor; return n._Major = this._Major, n._Minor = this._Minor, n._Build = this._Build, n._Revision = this._Revision, n }, compareTo$1: function (n) { if (n == null) return 1; var t = Bridge.as(n, System.Version); if (System.Version.op_Equality(t, null)) throw new System.ArgumentException("version should be of System.Version type"); return this._Major !== t._Major ? this._Major > t._Major ? 1 : -1 : this._Minor !== t._Minor ? this._Minor > t._Minor ? 1 : -1 : this._Build !== t._Build ? this._Build > t._Build ? 1 : -1 : this._Revision !== t._Revision ? this._Revision > t._Revision ? 1 : -1 : 0 }, compareTo: function (n) { return System.Version.op_Equality(n, null) ? 1 : this._Major !== n._Major ? this._Major > n._Major ? 1 : -1 : this._Minor !== n._Minor ? this._Minor > n._Minor ? 1 : -1 : this._Build !== n._Build ? this._Build > n._Build ? 1 : -1 : this._Revision !== n._Revision ? this._Revision > n._Revision ? 1 : -1 : 0 }, equals: function (n) { return this.equalsT(Bridge.as(n, System.Version)) }, equalsT: function (n) { return System.Version.op_Equality(n, null) ? !1 : this._Major !== n._Major || this._Minor !== n._Minor || this._Build !== n._Build || this._Revision !== n._Revision ? !1 : !0 }, getHashCode: function () { var n = 0; return n = n | (this._Major & 15) << 28, n = n | (this._Minor & 255) << 20, n = n | (this._Build & 255) << 12, n | this._Revision & 4095 }, toString: function () { return this._Build === -1 ? this.toString$1(2) : this._Revision === -1 ? this.toString$1(3) : this.toString$1(4) }, toString$1: function (n) { var t; switch (n) { case 0: return ""; case 1: return this._Major.toString(); case 2: return t = new System.Text.StringBuilder, System.Version.appendPositiveNumber(this._Major, t), t.append(String.fromCharCode(46)), System.Version.appendPositiveNumber(this._Minor, t), t.toString(); default: if (this._Build === -1) throw new System.ArgumentException("Build should be > 0 if fieldCount > 2", "fieldCount"); if (n === 3) return t = new System.Text.StringBuilder, System.Version.appendPositiveNumber(this._Major, t), t.append(String.fromCharCode(46)), System.Version.appendPositiveNumber(this._Minor, t), t.append(String.fromCharCode(46)), System.Version.appendPositiveNumber(this._Build, t), t.toString(); if (this._Revision === -1) throw new System.ArgumentException("Revision should be > 0 if fieldCount > 3", "fieldCount"); if (n === 4) return t = new System.Text.StringBuilder, System.Version.appendPositiveNumber(this._Major, t), t.append(String.fromCharCode(46)), System.Version.appendPositiveNumber(this._Minor, t), t.append(String.fromCharCode(46)), System.Version.appendPositiveNumber(this._Build, t), t.append(String.fromCharCode(46)), System.Version.appendPositiveNumber(this._Revision, t), t.toString(); throw new System.ArgumentException("Should be < 5", "fieldCount"); } } } }); Bridge.define("System.Version.ParseFailureKind", { $kind: "enum", statics: { fields: { ArgumentNullException: 0, ArgumentException: 1, ArgumentOutOfRangeException: 2, FormatException: 3 } } }); Bridge.define("System.Version.VersionResult", { $kind: "struct", statics: { methods: { getDefaultValue: function () { return new System.Version.VersionResult } } }, fields: { m_parsedVersion: null, m_failure: 0, m_exceptionArgument: null, m_argumentName: null, m_canThrow: !1 }, ctors: { ctor: function () { this.$initialize() } }, methods: { init: function (n, t) { this.m_canThrow = t; this.m_argumentName = n }, setFailure: function (n) { this.setFailure$1(n, "") }, setFailure$1: function (n, t) { if (this.m_failure = n, this.m_exceptionArgument = t, this.m_canThrow) throw this.getVersionParseException(); }, getVersionParseException: function () { switch (this.m_failure) { case System.Version.ParseFailureKind.ArgumentNullException: return new System.ArgumentNullException(this.m_argumentName); case System.Version.ParseFailureKind.ArgumentException: return new System.ArgumentException("VersionString"); case System.Version.ParseFailureKind.ArgumentOutOfRangeException: return new System.ArgumentOutOfRangeException(this.m_exceptionArgument, "Cannot be < 0"); case System.Version.ParseFailureKind.FormatException: try { System.Int32.parse(this.m_exceptionArgument) } catch (n) { n = System.Exception.create(n); var t; if (Bridge.is(n, System.FormatException) || Bridge.is(n, System.OverflowException)) return t = n; throw n; } return new System.FormatException("InvalidString"); default: return new System.ArgumentException("VersionString") } }, getHashCode: function () { return Bridge.addHash([5139482776, this.m_parsedVersion, this.m_failure, this.m_exceptionArgument, this.m_argumentName, this.m_canThrow]) }, equals: function (n) { return Bridge.is(n, System.Version.VersionResult) ? Bridge.equals(this.m_parsedVersion, n.m_parsedVersion) && Bridge.equals(this.m_failure, n.m_failure) && Bridge.equals(this.m_exceptionArgument, n.m_exceptionArgument) && Bridge.equals(this.m_argumentName, n.m_argumentName) && Bridge.equals(this.m_canThrow, n.m_canThrow) : !1 }, $clone: function (n) { var t = n || new System.Version.VersionResult; return t.m_parsedVersion = this.m_parsedVersion, t.m_failure = this.m_failure, t.m_exceptionArgument = this.m_exceptionArgument, t.m_argumentName = this.m_argumentName, t.m_canThrow = this.m_canThrow, t } } }); Bridge.define("System.Attribute", { statics: { getCustomAttributes: function (n, t) { if (n == null) throw new System.ArgumentNullException("element"); if (t == null) throw new System.ArgumentNullException("attributeType"); var i = n.at || []; return t ? i.filter(function (n) { return Bridge.is(n, t) }) : i }, getCustomAttributes$1: function (n, t, i) { if (n == null) throw new System.ArgumentNullException("element"); if (t == null) throw new System.ArgumentNullException("attributeType"); return n.getCustomAttributes(t || i) } } }); Bridge.define("System.ComponentModel.INotifyPropertyChanged", { $kind: "interface" }); Bridge.define("System.ComponentModel.PropertyChangedEventArgs", { ctor: function (n, t, i) { this.$initialize(); this.propertyName = n; this.newValue = t; this.oldValue = i } }); t = {}; t.convert = { typeCodes: { Empty: 0, Object: 1, DBNull: 2, Boolean: 3, Char: 4, SByte: 5, Byte: 6, Int16: 7, UInt16: 8, Int32: 9, UInt32: 10, Int64: 11, UInt64: 12, Single: 13, Double: 14, Decimal: 15, DateTime: 16, String: 18 }, toBoolean: function (n, i) { var r, u; n = Bridge.unbox(n, !0); switch (typeof n) { case "boolean": return n; case "number": return n !== 0; case "string": if (r = n.toLowerCase().trim(), r === "true") return !0; if (r === "false") return !1; throw new System.FormatException("String was not recognized as a valid Boolean."); case "object": if (n == null) return !1; if (n instanceof System.Decimal) return !n.isZero(); if (System.Int64.is64Bit(n)) return n.ne(0) }return u = t.internal.suggestTypeCode(n), t.internal.throwInvalidCastEx(u, t.convert.typeCodes.Boolean), t.convert.convertToType(t.convert.typeCodes.Boolean, n, i || null) }, toChar: function (n, i, r) { var u = t.convert.typeCodes, f, e; if (n = Bridge.unbox(n, !0), n instanceof System.Decimal && (n = n.toFloat()), (n instanceof System.Int64 || n instanceof System.UInt64) && (n = n.toNumber()), f = typeof n, r = r || t.internal.suggestTypeCode(n), r === u.String && n == null && (f = "string"), r !== u.Object) switch (f) { case "boolean": t.internal.throwInvalidCastEx(u.Boolean, u.Char); case "number": return e = t.internal.isFloatingType(r), (e || n % 1 != 0) && t.internal.throwInvalidCastEx(r, u.Char), t.internal.validateNumberRange(n, u.Char, !0), n; case "string": if (n == null) throw new System.ArgumentNullException("value"); if (n.length !== 1) throw new System.FormatException("String must be exactly one character long."); return n.charCodeAt(0) }if (r === u.Object || f === "object") { if (n == null) return 0; Bridge.isDate(n) && t.internal.throwInvalidCastEx(u.DateTime, u.Char) } return t.internal.throwInvalidCastEx(r, t.convert.typeCodes.Char), t.convert.convertToType(u.Char, n, i || null) }, toSByte: function (n, i, r) { return t.internal.toNumber(n, i || null, t.convert.typeCodes.SByte, r || null) }, toByte: function (n, i) { return t.internal.toNumber(n, i || null, t.convert.typeCodes.Byte) }, toInt16: function (n, i) { return t.internal.toNumber(n, i || null, t.convert.typeCodes.Int16) }, toUInt16: function (n, i) { return t.internal.toNumber(n, i || null, t.convert.typeCodes.UInt16) }, toInt32: function (n, i) { return t.internal.toNumber(n, i || null, t.convert.typeCodes.Int32) }, toUInt32: function (n, i) { return t.internal.toNumber(n, i || null, t.convert.typeCodes.UInt32) }, toInt64: function (n, i) { var r = t.internal.toNumber(n, i || null, t.convert.typeCodes.Int64); return new System.Int64(r) }, toUInt64: function (n, i) { var r = t.internal.toNumber(n, i || null, t.convert.typeCodes.UInt64); return new System.UInt64(r) }, toSingle: function (n, i) { return t.internal.toNumber(n, i || null, t.convert.typeCodes.Single) }, toDouble: function (n, i) { return t.internal.toNumber(n, i || null, t.convert.typeCodes.Double) }, toDecimal: function (n, i) { return n instanceof System.Decimal ? n : new System.Decimal(t.internal.toNumber(n, i || null, t.convert.typeCodes.Decimal)) }, toDateTime: function (n, i) { var r = t.convert.typeCodes, u, f; n = Bridge.unbox(n, !0); switch (typeof n) { case "boolean": t.internal.throwInvalidCastEx(r.Boolean, r.DateTime); case "number": u = t.internal.suggestTypeCode(n); t.internal.throwInvalidCastEx(u, r.DateTime); case "string": return System.DateTime.parse(n, i || null); case "object": if (n == null) return t.internal.getMinValue(r.DateTime); if (Bridge.isDate(n)) return n; n instanceof System.Decimal && t.internal.throwInvalidCastEx(r.Decimal, r.DateTime); n instanceof System.Int64 && t.internal.throwInvalidCastEx(r.Int64, r.DateTime); n instanceof System.UInt64 && t.internal.throwInvalidCastEx(r.UInt64, r.DateTime) }return f = t.internal.suggestTypeCode(n), t.internal.throwInvalidCastEx(f, t.convert.typeCodes.DateTime), t.convert.convertToType(r.DateTime, n, i || null) }, toString: function (n, i, r) { var u, f; if (n && n.$boxed) return n.toString(); u = t.convert.typeCodes; f = typeof n; switch (f) { case "boolean": return n ? "True" : "False"; case "number": return (r || null) === u.Char ? String.fromCharCode(n) : isNaN(n) ? "NaN" : (n % 1 != 0 && (n = parseFloat(n.toPrecision(15))), n.toString()); case "string": return n; case "object": return n == null ? "" : Bridge.isDate(n) ? System.DateTime.format(n, null, i || null) : n instanceof System.Decimal ? n.isInteger() ? n.toFixed(0, 4) : n.toPrecision(n.precision()) : System.Int64.is64Bit(n) ? n.toString() : n.format ? n.format(null, i || null) : Bridge.getTypeName(n) }return t.convert.convertToType(t.convert.typeCodes.String, n, i || null) }, toNumberInBase: function (n, i, r) { var h, o, v, c, b, y, p, u, k, s, e, d; if (i !== 2 && i !== 8 && i !== 10 && i !== 16) throw new System.ArgumentException("Invalid Base."); if (h = t.convert.typeCodes, n == null) return r === h.Int64 ? System.Int64.Zero : r === h.UInt64 ? System.UInt64.Zero : 0; if (n.length === 0) throw new System.ArgumentOutOfRangeException("Index was out of range. Must be non-negative and less than the size of the collection."); n = n.toLowerCase(); var l = t.internal.getMinValue(r), a = t.internal.getMaxValue(r), w = !1, f = 0; if (n[f] === "-") { if (i !== 10) throw new System.ArgumentException("String cannot contain a minus sign if the base is not 10."); if (l >= 0) throw new System.OverflowException("The string was being parsed as an unsigned number and could not have a negative sign."); w = !0; ++f } else n[f] === "+" && ++f; if (i === 16 && n.length >= 2 && n[f] === "0" && n[f + 1] === "x" && (f += 2), i === 2) o = t.internal.charsToCodes("01"); else if (i === 8) o = t.internal.charsToCodes("01234567"); else if (i === 10) o = t.internal.charsToCodes("0123456789"); else if (i === 16) o = t.internal.charsToCodes("0123456789abcdef"); else throw new System.ArgumentException("Invalid Base."); for (v = {}, c = 0; c < o.length; c++)b = o[c], v[b] = c; if (y = o[0], p = o[o.length - 1], r === h.Int64 || r === h.UInt64) { for (e = f; e < n.length; e++)if (s = n[e].charCodeAt(0), !(s >= y && s <= p)) if (e === f) throw new System.FormatException("Could not find any recognizable digits."); else throw new System.FormatException("Additional non-parsable characters are at the end of the string."); if (d = r === h.Int64, u = d ? new System.Int64(Bridge.$Long.fromString(n, !1, i)) : new System.UInt64(Bridge.$Long.fromString(n, !0, i)), u.toString(i) !== System.String.trimStartZeros(n)) throw new System.OverflowException("Value was either too large or too small."); return u } for (u = 0, k = a - l + 1, e = f; e < n.length; e++)if (s = n[e].charCodeAt(0), s >= y && s <= p) { if (u *= i, u += v[s], u > t.internal.typeRanges.Int64_MaxValue) throw new System.OverflowException("Value was either too large or too small."); } else if (e === f) throw new System.FormatException("Could not find any recognizable digits."); else throw new System.FormatException("Additional non-parsable characters are at the end of the string."); if (w && (u *= -1), u > a && i !== 10 && l < 0 && (u = u - k), u < l || u > a) throw new System.OverflowException("Value was either too large or too small."); return u }, toStringInBase: function (n, i, r) { var w = t.convert.typeCodes, v, e, h, y, p, o, u, f, c; if (n = Bridge.unbox(n, !0), i !== 2 && i !== 8 && i !== 10 && i !== 16) throw new System.ArgumentException("Invalid Base."); var l = t.internal.getMinValue(r), a = t.internal.getMaxValue(r), s = System.Int64.is64Bit(n); if (s) { if (n.lt(l) || n.gt(a)) throw new System.OverflowException("Value was either too large or too small for an unsigned byte."); } else if (n < l || n > a) throw new System.OverflowException("Value was either too large or too small for an unsigned byte."); if (v = !1, s) return i === 10 ? n.toString() : n.value.toUnsigned().toString(i); if (n < 0 && (i === 10 ? (v = !0, n *= -1) : n = a + 1 - l + n), i === 2) e = "01"; else if (i === 8) e = "01234567"; else if (i === 10) e = "0123456789"; else if (i === 16) e = "0123456789abcdef"; else throw new System.ArgumentException("Invalid Base."); for (h = {}, y = e.split(""), o = 0; o < y.length; o++)p = y[o], h[o] = p; if (u = "", n === 0 || s && n.eq(0)) u = "0"; else if (s) while (n.gt(0)) f = n.mod(i), n = n.sub(f).div(i), c = h[f.toNumber()], u += c; else while (n > 0) f = n % i, n = (n - f) / i, c = h[f], u += c; return v && (u += "-"), u.split("").reverse().join("") }, toBase64String: function (n, i, r, u) { var f; if (n == null) throw new System.ArgumentNullException("inArray"); if (i = i || 0, r = r != null ? r : n.length, u = u || 0, r < 0) throw new System.ArgumentOutOfRangeException("length", "Index was out of range. Must be non-negative and less than the size of the collection."); if (i < 0) throw new System.ArgumentOutOfRangeException("offset", "Value must be positive."); if (u < 0 || u > 1) throw new System.ArgumentException("Illegal enum value."); if (f = n.length, i > f - r) throw new System.ArgumentOutOfRangeException("offset", "Offset and length must refer to a position in the string."); if (f === 0) return ""; var o = u === 1, s = t.internal.toBase64_CalculateAndValidateOutputLength(r, o), e = []; return e.length = s, t.internal.convertToBase64Array(e, n, i, r, o), e.join("") }, toBase64CharArray: function (n, i, r, u, f, e) { var o, s, c; if (n == null) throw new System.ArgumentNullException("inArray"); if (u == null) throw new System.ArgumentNullException("outArray"); if (r < 0) throw new System.ArgumentOutOfRangeException("length", "Index was out of range. Must be non-negative and less than the size of the collection."); if (i < 0) throw new System.ArgumentOutOfRangeException("offsetIn", "Value must be positive."); if (f < 0) throw new System.ArgumentOutOfRangeException("offsetOut", "Value must be positive."); if (e = e || 0, e < 0 || e > 1) throw new System.ArgumentException("Illegal enum value."); if (o = n.length, i > o - r) throw new System.ArgumentOutOfRangeException("offsetIn", "Offset and length must refer to a position in the string."); if (o === 0) return 0; var h = e === 1, l = u.length, a = t.internal.toBase64_CalculateAndValidateOutputLength(r, h); if (f > l - a) throw new System.ArgumentOutOfRangeException("offsetOut", "Either offset did not refer to a position in the string, or there is an insufficient length of destination character array."); return s = [], c = t.internal.convertToBase64Array(s, n, i, r, h), t.internal.charsToCodes(s, u, f), c }, fromBase64String: function (n) { if (n == null) throw new System.ArgumentNullException("s"); var i = n.split(""); return t.internal.fromBase64CharPtr(i, 0, i.length) }, fromBase64CharArray: function (n, i, r) { if (n == null) throw new System.ArgumentNullException("inArray"); if (r < 0) throw new System.ArgumentOutOfRangeException("length", "Index was out of range. Must be non-negative and less than the size of the collection."); if (i < 0) throw new System.ArgumentOutOfRangeException("offset", "Value must be positive."); if (i > n.length - r) throw new System.ArgumentOutOfRangeException("offset", "Offset and length must refer to a position in the string."); var u = t.internal.codesToChars(n); return t.internal.fromBase64CharPtr(u, i, r) }, convertToType: function () { throw new System.NotSupportedException("IConvertible interface is not supported."); } }; t.internal = { base64Table: ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "/", "="], typeRanges: { Char_MinValue: 0, Char_MaxValue: 65535, Byte_MinValue: 0, Byte_MaxValue: 255, SByte_MinValue: -128, SByte_MaxValue: 127, Int16_MinValue: -32768, Int16_MaxValue: 32767, UInt16_MinValue: 0, UInt16_MaxValue: 65535, Int32_MinValue: -2147483648, Int32_MaxValue: 2147483647, UInt32_MinValue: 0, UInt32_MaxValue: 4294967295, Int64_MinValue: System.Int64.MinValue, Int64_MaxValue: System.Int64.MaxValue, UInt64_MinValue: System.UInt64.MinValue, UInt64_MaxValue: System.UInt64.MaxValue, Single_MinValue: -340282347e30, Single_MaxValue: 340282347e30, Double_MinValue: -17976931348623157e292, Double_MaxValue: 17976931348623157e292, Decimal_MinValue: System.Decimal.MinValue, Decimal_MaxValue: System.Decimal.MaxValue }, base64LineBreakPosition: 76, getTypeCodeName: function (n) { var r = t.convert.typeCodes, u, i, e, f; if (t.internal.typeCodeNames == null) { u = {}; for (i in r) r.hasOwnProperty(i) && (e = r[i], u[e] = i); t.internal.typeCodeNames = u } if (f = t.internal.typeCodeNames[n], f == null) throw System.ArgumentOutOfRangeException("typeCode", "The specified typeCode is undefined."); return f }, suggestTypeCode: function (n) { var i = t.convert.typeCodes, r = typeof n; switch (r) { case "boolean": return i.Boolean; case "number": return n % 1 != 0 ? i.Double : i.Int32; case "string": return i.String; case "object": if (Bridge.isDate(n)) return i.DateTime; if (n != null) return i.Object }return null }, getMinValue: function (n) { var i = t.convert.typeCodes; switch (n) { case i.Char: return t.internal.typeRanges.Char_MinValue; case i.SByte: return t.internal.typeRanges.SByte_MinValue; case i.Byte: return t.internal.typeRanges.Byte_MinValue; case i.Int16: return t.internal.typeRanges.Int16_MinValue; case i.UInt16: return t.internal.typeRanges.UInt16_MinValue; case i.Int32: return t.internal.typeRanges.Int32_MinValue; case i.UInt32: return t.internal.typeRanges.UInt32_MinValue; case i.Int64: return t.internal.typeRanges.Int64_MinValue; case i.UInt64: return t.internal.typeRanges.UInt64_MinValue; case i.Single: return t.internal.typeRanges.Single_MinValue; case i.Double: return t.internal.typeRanges.Double_MinValue; case i.Decimal: return t.internal.typeRanges.Decimal_MinValue; case i.DateTime: return System.DateTime.getMinValue(); default: return null } }, getMaxValue: function (n) { var i = t.convert.typeCodes; switch (n) { case i.Char: return t.internal.typeRanges.Char_MaxValue; case i.SByte: return t.internal.typeRanges.SByte_MaxValue; case i.Byte: return t.internal.typeRanges.Byte_MaxValue; case i.Int16: return t.internal.typeRanges.Int16_MaxValue; case i.UInt16: return t.internal.typeRanges.UInt16_MaxValue; case i.Int32: return t.internal.typeRanges.Int32_MaxValue; case i.UInt32: return t.internal.typeRanges.UInt32_MaxValue; case i.Int64: return t.internal.typeRanges.Int64_MaxValue; case i.UInt64: return t.internal.typeRanges.UInt64_MaxValue; case i.Single: return t.internal.typeRanges.Single_MaxValue; case i.Double: return t.internal.typeRanges.Double_MaxValue; case i.Decimal: return t.internal.typeRanges.Decimal_MaxValue; case i.DateTime: return System.DateTime.getMaxValue(); default: throw new System.ArgumentOutOfRangeException("typeCode", "The specified typeCode is undefined."); } }, isFloatingType: function (n) { var i = t.convert.typeCodes; return n === i.Single || n === i.Double || n === i.Decimal }, toNumber: function (n, i, r, u) { var h, c, s; n = Bridge.unbox(n, !0); var f = t.convert.typeCodes, e = typeof n, o = t.internal.isFloatingType(r); u === f.String && (e = "string"); (System.Int64.is64Bit(n) || n instanceof System.Decimal) && (e = "number"); switch (e) { case "boolean": return n ? 1 : 0; case "number": return r === f.Decimal ? (t.internal.validateNumberRange(n, r, !0), new System.Decimal(n, i)) : r === f.Int64 ? (t.internal.validateNumberRange(n, r, !0), new System.Int64(n)) : r === f.UInt64 ? (t.internal.validateNumberRange(n, r, !0), new System.UInt64(n)) : (System.Int64.is64Bit(n) ? n = n.toNumber() : n instanceof System.Decimal && (n = n.toFloat()), o || n % 1 == 0 || (n = t.internal.roundToInt(n, r)), o && (h = t.internal.getMinValue(r), c = t.internal.getMaxValue(r), n > c ? n = Infinity : n < h && (n = -Infinity)), t.internal.validateNumberRange(n, r, !1), n); case "string": if (n == null) { if (i != null) throw new System.ArgumentNullException("String", "Value cannot be null."); return 0 } if (o) if (r === f.Decimal) { if (!/^[+-]?(\d+|\d+.|\d*\.\d+)$/.test(n) && !/^[+-]?[0-9]+$/.test(n)) throw new System.FormatException("Input string was not in a correct format."); n = System.Decimal(n, i) } else { if (!/^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/.test(n)) throw new System.FormatException("Input string was not in a correct format."); n = parseFloat(n) } else { if (!/^[+-]?[0-9]+$/.test(n)) throw new System.FormatException("Input string was not in a correct format."); s = n; r === f.Int64 ? (n = new System.Int64(n), System.String.trimStartZeros(s) !== n.toString() && this.throwOverflow(t.internal.getTypeCodeName(r))) : r === f.UInt64 ? (n = new System.UInt64(n), System.String.trimStartZeros(s) !== n.toString() && this.throwOverflow(t.internal.getTypeCodeName(r))) : n = parseInt(n, 10) } if (isNaN(n)) throw new System.FormatException("Input string was not in a correct format."); return t.internal.validateNumberRange(n, r, !0), n; case "object": if (n == null) return 0; Bridge.isDate(n) && t.internal.throwInvalidCastEx(t.convert.typeCodes.DateTime, r) }return u = u || t.internal.suggestTypeCode(n), t.internal.throwInvalidCastEx(u, r), t.convert.convertToType(r, n, i) }, validateNumberRange: function (n, i, r) { var u = t.convert.typeCodes, e = t.internal.getMinValue(i), o = t.internal.getMaxValue(i), f = t.internal.getTypeCodeName(i); (i !== u.Single && i !== u.Double || r || n !== Infinity && n !== -Infinity) && (i === u.Decimal || i === u.Int64 || i === u.UInt64 ? i === u.Decimal ? (System.Int64.is64Bit(n) || (e.gt(n) || o.lt(n)) && this.throwOverflow(f), n = new System.Decimal(n)) : i === u.Int64 ? (n instanceof System.UInt64 ? n.gt(System.Int64.MaxValue) && this.throwOverflow(f) : n instanceof System.Decimal ? (n.gt(new System.Decimal(o)) || n.lt(new System.Decimal(e))) && this.throwOverflow(f) : n instanceof System.Int64 || (e.toNumber() > n || o.toNumber() < n) && this.throwOverflow(f), n = new System.Int64(n)) : i === u.UInt64 && (n instanceof System.Int64 ? n.isNegative() && this.throwOverflow(f) : n instanceof System.Decimal ? (n.gt(new System.Decimal(o)) || n.lt(new System.Decimal(e))) && this.throwOverflow(f) : n instanceof System.UInt64 || (e.toNumber() > n || o.toNumber() < n) && this.throwOverflow(f), n = new System.UInt64(n)) : (n < e || n > o) && this.throwOverflow(f)) }, throwOverflow: function (n) { throw new System.OverflowException("Value was either too large or too small for '" + n + "'."); }, roundToInt: function (n, i) { var r, f; if (n % 1 == 0) return n; r = n >= 0 ? Math.floor(n) : -1 * Math.floor(-n); var u = n - r, e = t.internal.getMinValue(i), o = t.internal.getMaxValue(i); if (n >= 0) { if (n < o + .5) return (u > .5 || u === .5 && (r & 1) != 0) && ++r, r } else if (n >= e - .5) return (u < -.5 || u === -.5 && (r & 1) != 0) && --r, r; f = t.internal.getTypeCodeName(i); throw new System.OverflowException("Value was either too large or too small for an '" + f + "'."); }, toBase64_CalculateAndValidateOutputLength: function (n, i) { var f = t.internal.base64LineBreakPosition, r = ~~(n / 3) * 4, u; if (r += n % 3 != 0 ? 4 : 0, r === 0) return 0; if (i && (u = ~~(r / f), r % f == 0 && --u, r += u * 2), r > 2147483647) throw new System.OutOfMemoryException; return r }, convertToBase64Array: function (n, i, r, u, f) { for (var s = t.internal.base64Table, a = t.internal.base64LineBreakPosition, c = u % 3, l = r + (u - c), h = 0, e = 0, o = r; o < l; o += 3)f && (h === a && (n[e++] = "\r", n[e++] = "\n", h = 0), h += 4), n[e] = s[(i[o] & 252) >> 2], n[e + 1] = s[(i[o] & 3) << 4 | (i[o + 1] & 240) >> 4], n[e + 2] = s[(i[o + 1] & 15) << 2 | (i[o + 2] & 192) >> 6], n[e + 3] = s[i[o + 2] & 63], e += 4; o = l; f && c !== 0 && h === t.internal.base64LineBreakPosition && (n[e++] = "\r", n[e++] = "\n"); switch (c) { case 2: n[e] = s[(i[o] & 252) >> 2]; n[e + 1] = s[(i[o] & 3) << 4 | (i[o + 1] & 240) >> 4]; n[e + 2] = s[(i[o + 1] & 15) << 2]; n[e + 3] = s[64]; e += 4; break; case 1: n[e] = s[(i[o] & 252) >> 2]; n[e + 1] = s[(i[o] & 3) << 4]; n[e + 2] = s[64]; n[e + 3] = s[64]; e += 4 }return e }, fromBase64CharPtr: function (n, i, r) { var u, f, e; if (r < 0) throw new System.ArgumentOutOfRangeException("inputLength", "Index was out of range. Must be non-negative and less than the size of the collection."); if (i < 0) throw new System.ArgumentOutOfRangeException("offset", "Value must be positive."); while (r > 0) { if (u = n[i + r - 1], u !== " " && u !== "\n" && u !== "\r" && u !== "\t") break; r-- } if (f = t.internal.fromBase64_ComputeResultLength(n, i, r), 0 > f) throw new System.InvalidOperationException("Contract voilation: 0 <= resultLength."); return e = [], e.length = f, t.internal.fromBase64_Decode(n, i, r, e, 0, f), e }, fromBase64_Decode: function (n, t, i, r, u, f) { for (var k = u, a = "A".charCodeAt(0), v = "a".charCodeAt(0), y = "0".charCodeAt(0), p = "=".charCodeAt(0), d = "+".charCodeAt(0), g = "/".charCodeAt(0), nt = " ".charCodeAt(0), tt = "\t".charCodeAt(0), it = "\n".charCodeAt(0), rt = "\r".charCodeAt(0), w = "Z".charCodeAt(0) - "A".charCodeAt(0), ut = "9".charCodeAt(0) - "0".charCodeAt(0), h = t + i, l = u + f, o, e = 255, b = !1, c = !1, s; ;) { if (t >= h) { b = !0; break } if (o = n[t].charCodeAt(0), t++, o - a >>> 0 <= w) o -= a; else if (o - v >>> 0 <= w) o -= v - 26; else if (o - y >>> 0 <= ut) o -= y - 52; else switch (o) { case d: o = 62; break; case g: o = 63; break; case rt: case it: case nt: case tt: continue; case p: c = !0; break; default: throw new System.FormatException("The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters."); }if (c) break; if (e = e << 6 | o, (e & 2147483648) != 0) { if (l - u < 3) return -1; r[u] = 255 & e >> 16; r[u + 1] = 255 & e >> 8; r[u + 2] = 255 & e; u += 3; e = 255 } } if (!b && !c) throw new System.InvalidOperationException("Contract violation: should never get here."); if (c) { if (o !== p) throw new System.InvalidOperationException("Contract violation: currCode == intEq."); if (t === h) { if (e <<= 6, (e & 2147483648) == 0) throw new System.FormatException("Invalid length for a Base-64 char array or string."); if (l - u < 2) return -1; r[u] = 255 & e >> 16; r[u + 1] = 255 & e >> 8; u += 2; e = 255 } else { while (t < h - 1) { if (s = n[t], s !== " " && s !== "\n" && s !== "\r" && s !== "\t") break; t++ } if (t === h - 1 && n[t] === "=") { if (e <<= 12, (e & 2147483648) == 0) throw new System.FormatException("Invalid length for a Base-64 char array or string."); if (l - u < 1) return -1; r[u] = 255 & e >> 16; u++; e = 255 } else throw new System.FormatException("The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters."); } } if (e !== 255) throw new System.FormatException("Invalid length for a Base-64 char array or string."); return u - k }, fromBase64_ComputeResultLength: function (n, t, i) { var f; if (i < 0) throw new System.ArgumentOutOfRangeException("inputLength", "Index was out of range. Must be non-negative and less than the size of the collection."); for (var e = t + i, u = i, r = 0; t < e;)f = n[t], t++, f <= " " ? u-- : f === "=" && (u--, r++); if (0 > u) throw new System.InvalidOperationException("Contract violation: 0 <= usefulInputLength."); if (0 > r) throw new System.InvalidOperationException("Contract violation: 0 <= padding."); if (r !== 0) if (r === 1) r = 2; else if (r === 2) r = 1; else throw new System.FormatException("The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters."); return ~~(u / 4) * 3 + r }, charsToCodes: function (n, t, i) { if (n == null) return null; i = i || 0; t == null && (t = [], t.length = n.length); for (var r = 0; r < n.length; r++)t[r + i] = n[r].charCodeAt(0); return t }, codesToChars: function (n, t) { var i, r; if (n == null) return null; for (t = t || [], i = 0; i < n.length; i++)r = n[i], t[i] = String.fromCharCode(r); return t }, throwInvalidCastEx: function (n, i) { var r = t.internal.getTypeCodeName(n), u = t.internal.getTypeCodeName(i); throw new System.InvalidCastException("Invalid cast from '" + r + "' to '" + u + "'."); } }; System.Convert = t.convert; Bridge.define("System.Net.WebSockets.ClientWebSocket", { inherits: [System.IDisposable], ctor: function () { this.$initialize(); this.messageBuffer = []; this.state = "none"; this.options = new System.Net.WebSockets.ClientWebSocketOptions; this.disposed = !1; this.closeStatus = null; this.closeStatusDescription = null }, getCloseStatus: function () { return this.closeStatus }, getState: function () { return this.state }, getCloseStatusDescription: function () { return this.closeStatusDescription }, getSubProtocol: function () { return this.socket ? this.socket.protocol : null }, connectAsync: function (n) { if (this.state !== "none") throw new System.InvalidOperationException("Socket is not in initial state"); this.options.setToReadOnly(); this.state = "connecting"; var i = new System.Threading.Tasks.TaskCompletionSource, t = this; try { this.socket = new WebSocket(n.getAbsoluteUri(), this.options.requestedSubProtocols); this.socket.binaryType = "arraybuffer"; this.socket.onopen = function () { t.state = "open"; i.setResult(null) }; this.socket.onmessage = function (n) { var u = n.data, r = {}, i, f; if (r.bytes = [], typeof u == "string") { for (i = 0; i < u.length; ++i)r.bytes.push(u.charCodeAt(i)); r.messageType = "text"; t.messageBuffer.push(r); return } if (u instanceof ArrayBuffer) { for (f = new Uint8Array(u), i = 0; i < f.length; i++)r.bytes.push(f[i]); r.messageType = "binary"; t.messageBuffer.push(r); return } throw new System.ArgumentException("Invalid message type."); }; this.socket.onclose = function (n) { t.state = "closed"; t.closeStatus = n.code; t.closeStatusDescription = n.reason } } catch (r) { i.setException(System.Exception.create(r)) } return i.task }, sendAsync: function (n, t) { var r, i; this.throwIfNotConnected(); r = new System.Threading.Tasks.TaskCompletionSource; try { if (t === "close") this.socket.close(); else { var e = n.getArray(), f = n.getCount(), o = n.getOffset(), u = new Uint8Array(f); for (i = 0; i < f; i++)u[i] = e[i + o]; t === "text" && (u = String.fromCharCode.apply(null, u)); this.socket.send(u) } r.setResult(null) } catch (s) { r.setException(System.Exception.create(s)) } return r.task }, receiveAsync: function (n, t) { this.throwIfNotConnected(); var u, i = new System.Threading.Tasks.TaskCompletionSource, r = this, f = Bridge.fn.bind(this, function () { var e, o, s, c, h; try { if (t.getIsCancellationRequested()) { i.setException(new System.Threading.Tasks.TaskCanceledException("Receive has been cancelled.", i.task)); return } if (r.messageBuffer.length === 0) { u = System.Threading.Tasks.Task.delay(0); u.continueWith(f); return } for (e = r.messageBuffer[0], o = n.getArray(), e.bytes.length <= o.length ? (r.messageBuffer.shift(), s = e.bytes, c = !0) : (s = e.bytes.slice(0, o.length), e.bytes = e.bytes.slice(o.length, e.bytes.length), c = !1), h = 0; h < s.length; h++)o[h] = s[h]; i.setResult(new System.Net.WebSockets.WebSocketReceiveResult(s.length, e.messageType, c)) } catch (l) { i.setException(System.Exception.create(l)) } }, arguments); return f(), i.task }, closeAsync: function (n, t, i) { if (this.throwIfNotConnected(), this.state !== "open") throw new System.InvalidOperationException("Socket is not in connected state"); var r = new System.Threading.Tasks.TaskCompletionSource, e = this, u, f = function () { if (e.state === "closed") { r.setResult(null); return } if (i.getIsCancellationRequested()) { r.setException(new System.Threading.Tasks.TaskCanceledException("Closing has been cancelled.", r.task)); return } u = System.Threading.Tasks.Task.delay(0); u.continueWith(f) }; try { this.state = "closesent"; this.socket.close(n, t) } catch (o) { r.setException(System.Exception.create(o)) } return f(), r.task }, closeOutputAsync: function (n, t) { if (this.throwIfNotConnected(), this.state !== "open") throw new System.InvalidOperationException("Socket is not in connected state"); var i = new System.Threading.Tasks.TaskCompletionSource; try { this.state = "closesent"; this.socket.close(n, t); i.setResult(null) } catch (r) { i.setException(System.Exception.create(r)) } return i.task }, abort: function () { this.dispose() }, dispose: function () { this.disposed || (this.disposed = !0, this.messageBuffer = [], state === "open" && (this.state = "closesent", this.socket.close())) }, throwIfNotConnected: function () { if (this.disposed) throw new System.InvalidOperationException("Socket is disposed."); if (this.socket.readyState !== 1) throw new System.InvalidOperationException("Socket is not connected."); } }); Bridge.define("System.Net.WebSockets.ClientWebSocketOptions", { ctor: function () { this.$initialize(); this.isReadOnly = !1; this.requestedSubProtocols = [] }, setToReadOnly: function () { if (this.isReadOnly) throw new System.InvalidOperationException("Options are already readonly."); this.isReadOnly = !0 }, addSubProtocol: function (n) { if (this.isReadOnly) throw new System.InvalidOperationException("Socket already started."); if (this.requestedSubProtocols.indexOf(n) > -1) throw new System.ArgumentException("Socket cannot have duplicate sub-protocols.", "subProtocol"); this.requestedSubProtocols.push(n) } }); Bridge.define("System.Net.WebSockets.WebSocketReceiveResult", { ctor: function (n, t, i, r, u) { this.$initialize(); this.count = n; this.messageType = t; this.endOfMessage = i; this.closeStatus = r; this.closeStatusDescription = u }, getCount: function () { return this.count }, getMessageType: function () { return this.messageType }, getEndOfMessage: function () { return this.endOfMessage }, getCloseStatus: function () { return this.closeStatus }, getCloseStatusDescription: function () { return this.closeStatusDescription } }); Bridge.assembly("System", {}, function () { Bridge.define("System.Uri", { ctor: function (n) { this.$initialize(); this.absoluteUri = n }, getAbsoluteUri: function () { return this.absoluteUri }, toJSON: function () { return this.absoluteUri } }) }, !0); Bridge.define("Bridge.GeneratorEnumerable", { inherits: [System.Collections.IEnumerable], config: { alias: ["getEnumerator", "System$Collections$IEnumerable$getEnumerator"] }, ctor: function (n) { this.$initialize(); this.getEnumerator = n; this.System$Collections$IEnumerable$getEnumerator = n } }); Bridge.define("Bridge.GeneratorEnumerable$1", function (n) { return { inherits: [System.Collections.Generic.IEnumerable$1(n)], config: { alias: ["getEnumerator", ["System$Collections$Generic$IEnumerable$1$" + Bridge.getTypeAlias(n) + "$getEnumerator", "System$Collections$Generic$IEnumerable$1$getEnumerator"]] }, ctor: function (t) { this.$initialize(); this.getEnumerator = t; this["System$Collections$Generic$IEnumerable$1$" + Bridge.getTypeAlias(n) + "$getEnumerator"] = t; this.System$Collections$Generic$IEnumerable$1$getEnumerator = t } } }); Bridge.define("Bridge.GeneratorEnumerator", { inherits: [System.Collections.IEnumerator], current: null, config: { properties: { Current: { get: function () { return this.getCurrent() } } }, alias: ["getCurrent", "System$Collections$IEnumerator$getCurrent", "moveNext", "System$Collections$IEnumerator$moveNext", "reset", "System$Collections$IEnumerator$reset", "Current", "System$Collections$IEnumerator$Current"] }, ctor: function (n) { this.$initialize(); this.moveNext = n; this.System$Collections$IEnumerator$moveNext = n }, getCurrent: function () { return this.current }, getCurrent$1: function () { return this.current }, reset: function () { throw new System.NotSupportedException; } }); Bridge.define("Bridge.GeneratorEnumerator$1", function (n) { return { inherits: [System.Collections.Generic.IEnumerator$1(n), System.IDisposable], current: null, config: { properties: { Current: { get: function () { return this.getCurrent() } }, Current$1: { get: function () { return this.getCurrent() } } }, alias: ["getCurrent", ["System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(n) + "$getCurrent$1", "System$Collections$Generic$IEnumerator$1$getCurrent$1"], "Current", ["System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(n) + "$Current$1", "System$Collections$Generic$IEnumerator$1$Current$1"], "Current", "System$Collections$IEnumerator$Current", "dispose", "System$IDisposable$dispose", "moveNext", "System$Collections$IEnumerator$moveNext", "reset", "System$Collections$IEnumerator$reset"] }, ctor: function (n, t) { this.$initialize(); this.moveNext = n; this.System$Collections$IEnumerator$moveNext = n; this.final = t }, getCurrent: function () { return this.current }, getCurrent$1: function () { return this.current }, System$Collections$IEnumerator$getCurrent: function () { return this.current }, dispose: function () { this.final && this.final() }, reset: function () { throw new System.NotSupportedException; } } }), function (n, t) { var f = { Identity: function (n) { return n }, True: function () { return !0 }, Blank: function () { } }, o = { Boolean: "boolean", Number: "number", String: "string", Object: "object", Undefined: typeof t, Function: typeof function () { } }, w = { "": f.Identity }, r = { createLambda: function (n) { var t, l, i, a, u, e, r, s, h, v, c; if (n == null) return f.Identity; if (typeof n === o.String) { if (t = w[n], t != null) return t; if (n.indexOf("=>") === -1) { for (l = new RegExp("[$]+", "g"), i = 0; (a = l.exec(n)) != null;)u = a[0].length, u > i && (i = u); for (e = [], r = 1; r <= i; r++) { for (s = "", h = 0; h < r; h++)s += "$"; e.push(s) } return v = Array.prototype.join.call(e, ","), t = new Function(v, "return " + n), w[n] = t, t } return c = n.match(/^[(\s]*([^()]*?)[)\s]*=>(.*)/), t = new Function(c[1], "return " + c[2]), w[n] = t, t } return n }, isIEnumerable: function (n) { if (typeof Enumerator !== o.Undefined) try { return new Enumerator(n), !0 } catch (t) { } return !1 }, defineProperty: Object.defineProperties != null ? function (n, t, i) { Object.defineProperty(n, t, { enumerable: !1, configurable: !0, writable: !0, value: i }) } : function (n, t, i) { n[t] = i }, compare: function (n, t) { return n === t ? 0 : n > t ? 1 : -1 }, dispose: function (n) { n != null && n.dispose() } }, a = { Before: 0, Running: 1, After: 2 }, u = function (n, t, i) { var u = new b, r = a.Before; this.getCurrent = u.getCurrent; this.reset = function () { throw new Error("Reset is not supported"); }; this.moveNext = function () { try { switch (r) { case a.Before: r = a.Running; n(); case a.Running: return t.apply(u) ? !0 : (this.dispose(), !1); case a.After: return !1 } } catch (i) { this.dispose(); throw i; } }; this.dispose = function () { if (r == a.Running) try { i() } finally { r = a.After } }; this.System$IDisposable$dispose = this.dispose; this.getCurrent$1 = this.getCurrent; this.System$Collections$IEnumerator$getCurrent = this.getCurrent; this.System$Collections$IEnumerator$moveNext = this.moveNext; this.System$Collections$IEnumerator$reset = this.reset; Object.defineProperties(this, { Current$1: { get: this.getCurrent, enumerable: !0 }, Current: { get: this.getCurrent, enumerable: !0 }, System$Collections$IEnumerator$Current: { get: this.getCurrent, enumerable: !0 } }) }, b, i, k, s, v, p, e, c, l, y, h; u.$$inherits = []; Bridge.Class.addExtend(u, [System.IDisposable, System.Collections.IEnumerator]); b = function () { var n = null; this.getCurrent = function () { return n }; this.yieldReturn = function (t) { return n = t, !0 }; this.yieldBreak = function () { return !1 } }; i = function (n) { this.getEnumerator = n }; i.$$inherits = []; Bridge.Class.addExtend(i, [System.Collections.IEnumerable]); i.Utils = {}; i.Utils.createLambda = function (n) { return r.createLambda(n) }; i.Utils.createEnumerable = function (n) { return new i(n) }; i.Utils.createEnumerator = function (n, t, i) { return new u(n, t, i) }; i.Utils.extendTo = function (n) { var u = n.prototype, o, t, f; n === Array ? (o = e.prototype, r.defineProperty(u, "getSource", function () { return this })) : (o = i.prototype, r.defineProperty(u, "getEnumerator", function () { return i.from(this).getEnumerator() })); for (t in o) (f = o[t], u[t] != f) && (u[t] == null || (t = t + "ByLinq", u[t] != f)) && f instanceof Function && r.defineProperty(u, t, f) }; i.choice = function () { var n = arguments; return new i(function () { return new u(function () { n = n[0] instanceof Array ? n[0] : n[0].getEnumerator != null ? n[0].toArray() : n }, function () { return this.yieldReturn(n[Math.floor(Math.random() * n.length)]) }, f.Blank) }) }; i.cycle = function () { var n = arguments; return new i(function () { var t = 0; return new u(function () { n = n[0] instanceof Array ? n[0] : n[0].getEnumerator != null ? n[0].toArray() : n }, function () { return t >= n.length && (t = 0), this.yieldReturn(n[t++]) }, f.Blank) }) }; k = new i(function () { return new u(f.Blank, function () { return !1 }, f.Blank) }); i.empty = function () { return k }; i.from = function (n) { if (n == null) return i.empty(); if (n instanceof i) return n; if (typeof n == o.Number || typeof n == o.Boolean) return i.repeat(n, 1); if (typeof n == o.String) return new i(function () { var t = 0; return new u(f.Blank, function () { return t < n.length ? this.yieldReturn(n.charCodeAt(t++)) : !1 }, f.Blank) }); var t = Bridge.as(n, System.Collections.IEnumerable); if (t) return new i(function () { var n; return new u(function () { n = Bridge.getEnumerator(t) }, function () { var t = n.moveNext(); return t ? this.yieldReturn(n.Current) : !1 }, function () { var t = Bridge.as(n, System.IDisposable); t && t.dispose() }) }); if (typeof n != o.Function) { if (typeof n.length == o.Number) return new e(n); if (!(n instanceof Object) && r.isIEnumerable(n)) return new i(function () { var i = !0, t; return new u(function () { t = new Enumerator(n) }, function () { return i ? i = !1 : t.moveNext(), t.atEnd() ? !1 : this.yieldReturn(t.item()) }, f.Blank) }); if (typeof Windows === o.Object && typeof n.first === o.Function) return new i(function () { var i = !0, t; return new u(function () { t = n.first() }, function () { return i ? i = !1 : t.moveNext(), t.hasCurrent ? this.yieldReturn(t.current) : this.yieldBreak() }, f.Blank) }) } return new i(function () { var t = [], i = 0; return new u(function () { var i, r; for (i in n) r = n[i], r instanceof Function || !Object.prototype.hasOwnProperty.call(n, i) || t.push({ key: i, value: r }) }, function () { return i < t.length ? this.yieldReturn(t[i++]) : !1 }, f.Blank) }) }; i.make = function (n) { return i.repeat(n, 1) }; i.matches = function (n, t, r) { return r == null && (r = ""), t instanceof RegExp && (r += t.ignoreCase ? "i" : "", r += t.multiline ? "m" : "", t = t.source), r.indexOf("g") === -1 && (r += "g"), new i(function () { var i; return new u(function () { i = new RegExp(t, r) }, function () { var t = i.exec(n); return t ? this.yieldReturn(t) : !1 }, f.Blank) }) }; i.range = function (n, t, r) { return r == null && (r = 1), new i(function () { var i, e = 0; return new u(function () { i = n - r }, function () { return e++ < t ? this.yieldReturn(i += r) : this.yieldBreak() }, f.Blank) }) }; i.rangeDown = function (n, t, r) { return r == null && (r = 1), new i(function () { var i, e = 0; return new u(function () { i = n + r }, function () { return e++ < t ? this.yieldReturn(i -= r) : this.yieldBreak() }, f.Blank) }) }; i.rangeTo = function (n, t, r) { return r == null && (r = 1), n < t ? new i(function () { var i; return new u(function () { i = n - r }, function () { var n = i += r; return n <= t ? this.yieldReturn(n) : this.yieldBreak() }, f.Blank) }) : new i(function () { var i; return new u(function () { i = n + r }, function () { var n = i -= r; return n >= t ? this.yieldReturn(n) : this.yieldBreak() }, f.Blank) }) }; i.repeat = function (n, t) { return t != null ? i.repeat(n).take(t) : new i(function () { return new u(f.Blank, function () { return this.yieldReturn(n) }, f.Blank) }) }; i.repeatWithFinalize = function (n, t) { return n = r.createLambda(n), t = r.createLambda(t), new i(function () { var i; return new u(function () { i = n() }, function () { return this.yieldReturn(i) }, function () { i != null && (t(i), i = null) }) }) }; i.generate = function (n, t) { return t != null ? i.generate(n).take(t) : (n = r.createLambda(n), new i(function () { return new u(f.Blank, function () { return this.yieldReturn(n()) }, f.Blank) })) }; i.toInfinity = function (n, t) { return n == null && (n = 0), t == null && (t = 1), new i(function () { var i; return new u(function () { i = n - t }, function () { return this.yieldReturn(i += t) }, f.Blank) }) }; i.toNegativeInfinity = function (n, t) { return n == null && (n = 0), t == null && (t = 1), new i(function () { var i; return new u(function () { i = n + t }, function () { return this.yieldReturn(i -= t) }, f.Blank) }) }; i.unfold = function (n, t) { return t = r.createLambda(t), new i(function () { var r = !0, i; return new u(f.Blank, function () { return r ? (r = !1, i = n, this.yieldReturn(i)) : (i = t(i), this.yieldReturn(i)) }, f.Blank) }) }; i.defer = function (n) { return new i(function () { var t; return new u(function () { t = i.from(n()).getEnumerator() }, function () { return t.moveNext() ? this.yieldReturn(t.Current) : this.yieldBreak() }, function () { r.dispose(t) }) }) }; i.prototype.traverseBreadthFirst = function (n, t) { var f = this; return n = r.createLambda(n), t = r.createLambda(t), new i(function () { var e, s = 0, o = []; return new u(function () { e = f.getEnumerator() }, function () { for (; ;) { if (e.moveNext()) return o.push(e.Current), this.yieldReturn(t(e.Current, s)); var u = i.from(o).selectMany(function (t) { return n(t) }); if (u.any()) s++, o = [], r.dispose(e), e = u.getEnumerator(); else return !1 } }, function () { r.dispose(e) }) }) }; i.prototype.traverseDepthFirst = function (n, t) { var f = this; return n = r.createLambda(n), t = r.createLambda(t), new i(function () { var o = [], e; return new u(function () { e = f.getEnumerator() }, function () { for (; ;) { if (e.moveNext()) { var u = t(e.Current, o.length); return o.push(e), e = i.from(n(e.Current)).getEnumerator(), this.yieldReturn(u) } if (o.length <= 0) return !1; r.dispose(e); e = o.pop() } }, function () { try { r.dispose(e) } finally { i.from(o).forEach(function (n) { n.dispose() }) } }) }) }; i.prototype.flatten = function () { var n = this; return new i(function () { var e, t = null; return new u(function () { e = n.getEnumerator() }, function () { for (; ;) { if (t != null) { if (t.moveNext()) return this.yieldReturn(t.Current); t = null } if (e.moveNext()) if (e.Current instanceof Array) { r.dispose(t); t = i.from(e.Current).selectMany(f.Identity).flatten().getEnumerator(); continue } else return this.yieldReturn(e.Current); return !1 } }, function () { try { r.dispose(e) } finally { r.dispose(t) } }) }) }; i.prototype.pairwise = function (n) { var t = this; return n = r.createLambda(n), new i(function () { var i; return new u(function () { i = t.getEnumerator(); i.moveNext() }, function () { var t = i.Current; return i.moveNext() ? this.yieldReturn(n(t, i.Current)) : !1 }, function () { r.dispose(i) }) }) }; i.prototype.scan = function (n, t) { var f, e; return t == null ? (t = r.createLambda(n), f = !1) : (t = r.createLambda(t), f = !0), e = this, new i(function () { var i, o, s = !0; return new u(function () { i = e.getEnumerator() }, function () { if (s) { if (s = !1, f) return this.yieldReturn(o = n); if (i.moveNext()) return this.yieldReturn(o = i.Current) } return i.moveNext() ? this.yieldReturn(o = t(o, i.Current)) : !1 }, function () { r.dispose(i) }) }) }; i.prototype.select = function (n) { if (n = r.createLambda(n), n.length <= 1) return new l(this, null, n); var t = this; return new i(function () { var i, f = 0; return new u(function () { i = t.getEnumerator() }, function () { return i.moveNext() ? this.yieldReturn(n(i.Current, f++)) : !1 }, function () { r.dispose(i) }) }) }; i.prototype.selectMany = function (n, f) { var e = this; return n = r.createLambda(n), f == null && (f = function (n, t) { return t }), f = r.createLambda(f), new i(function () { var s, o = t, h = 0; return new u(function () { s = e.getEnumerator() }, function () { if (o === t && !s.moveNext()) return !1; do { if (o == null) { var u = n(s.Current, h++); o = i.from(u).getEnumerator() } if (o.moveNext()) return this.yieldReturn(f(s.Current, o.Current)); r.dispose(o); o = null } while (s.moveNext()); return !1 }, function () { try { r.dispose(s) } finally { r.dispose(o) } }) }) }; i.prototype.where = function (n) { if (n = r.createLambda(n), n.length <= 1) return new c(this, n); var t = this; return new i(function () { var i, f = 0; return new u(function () { i = t.getEnumerator() }, function () { while (i.moveNext()) if (n(i.Current, f++)) return this.yieldReturn(i.Current); return !1 }, function () { r.dispose(i) }) }) }; i.prototype.choose = function (n) { n = r.createLambda(n); var t = this; return new i(function () { var i, f = 0; return new u(function () { i = t.getEnumerator() }, function () { while (i.moveNext()) { var t = n(i.Current, f++); if (t != null) return this.yieldReturn(t) } return this.yieldBreak() }, function () { r.dispose(i) }) }) }; i.prototype.ofType = function (n) { var t = this; return new i(function () { var i; return new u(function () { i = Bridge.getEnumerator(t) }, function () { while (i.moveNext()) { var t = Bridge.as(i.Current, n); if (Bridge.hasValue(t)) return this.yieldReturn(t) } return !1 }, function () { r.dispose(i) }) }) }; i.prototype.zip = function () { var e = arguments, n = r.createLambda(arguments[arguments.length - 1]), t = this, f; return arguments.length == 2 ? (f = arguments[0], new i(function () { var e, o, s = 0; return new u(function () { e = t.getEnumerator(); o = i.from(f).getEnumerator() }, function () { return e.moveNext() && o.moveNext() ? this.yieldReturn(n(e.Current, o.Current, s++)) : !1 }, function () { try { r.dispose(e) } finally { r.dispose(o) } }) })) : new i(function () { var f, o = 0; return new u(function () { var n = i.make(t).concat(i.from(e).takeExceptLast().select(i.from)).select(function (n) { return n.getEnumerator() }).toArray(); f = i.from(n) }, function () { if (f.all(function (n) { return n.moveNext() })) { var t = f.select(function (n) { return n.Current }).toArray(); return t.push(o++), this.yieldReturn(n.apply(null, t)) } return this.yieldBreak() }, function () { i.from(f).forEach(r.dispose) }) }) }; i.prototype.merge = function () { var n = arguments, t = this; return new i(function () { var f, e = -1; return new u(function () { f = i.make(t).concat(i.from(n).select(i.from)).select(function (n) { return n.getEnumerator() }).toArray() }, function () { while (f.length > 0) { e = e >= f.length - 1 ? 0 : e + 1; var n = f[e]; if (n.moveNext()) return this.yieldReturn(n.Current); n.dispose(); f.splice(e--, 1) } return this.yieldBreak() }, function () { i.from(f).forEach(r.dispose) }) }) }; i.prototype.join = function (n, e, o, s, h) { e = r.createLambda(e); o = r.createLambda(o); s = r.createLambda(s); var c = this; return new i(function () { var l, v, a = null, y = 0; return new u(function () { l = c.getEnumerator(); v = i.from(n).toLookup(o, f.Identity, h) }, function () { for (var n, i; ;) { if (a != null) { if (n = a[y++], n !== t) return this.yieldReturn(s(l.Current, n)); n = null; y = 0 } if (l.moveNext()) i = e(l.Current), a = v.get(i).toArray(); else return !1 } }, function () { r.dispose(l) }) }) }; i.prototype.groupJoin = function (n, t, e, o, s) { t = r.createLambda(t); e = r.createLambda(e); o = r.createLambda(o); var h = this; return new i(function () { var c = h.getEnumerator(), l = null; return new u(function () { c = h.getEnumerator(); l = i.from(n).toLookup(e, f.Identity, s) }, function () { if (c.moveNext()) { var n = l.get(t(c.Current)); return this.yieldReturn(o(c.Current, n)) } return !1 }, function () { r.dispose(c) }) }) }; i.prototype.all = function (n) { n = r.createLambda(n); var t = !0; return this.forEach(function (i) { if (!n(i)) return t = !1, !1 }), t }; i.prototype.any = function (n) { n = r.createLambda(n); var t = this.getEnumerator(); try { if (arguments.length == 0) return t.moveNext(); while (t.moveNext()) if (n(t.Current)) return !0; return !1 } finally { r.dispose(t) } }; i.prototype.isEmpty = function () { return !this.any() }; i.prototype.concat = function () { var n = this, t, f; return arguments.length == 1 ? (t = arguments[0], new i(function () { var e, f; return new u(function () { e = n.getEnumerator() }, function () { if (f == null) { if (e.moveNext()) return this.yieldReturn(e.Current); f = i.from(t).getEnumerator() } return f.moveNext() ? this.yieldReturn(f.Current) : !1 }, function () { try { r.dispose(e) } finally { r.dispose(f) } }) })) : (f = arguments, new i(function () { var t; return new u(function () { t = i.make(n).concat(i.from(f).select(i.from)).select(function (n) { return n.getEnumerator() }).toArray() }, function () { while (t.length > 0) { var n = t[0]; if (n.moveNext()) return this.yieldReturn(n.Current); n.dispose(); t.splice(0, 1) } return this.yieldBreak() }, function () { i.from(t).forEach(r.dispose) }) })) }; i.prototype.insert = function (n, t) { var f = this; return new i(function () { var o, e, s = 0, h = !1; return new u(function () { o = f.getEnumerator(); e = i.from(t).getEnumerator() }, function () { return s == n && e.moveNext() ? (h = !0, this.yieldReturn(e.Current)) : o.moveNext() ? (s++, this.yieldReturn(o.Current)) : !h && e.moveNext() ? this.yieldReturn(e.Current) : !1 }, function () { try { r.dispose(o) } finally { r.dispose(e) } }) }) }; i.prototype.alternate = function (n) { var t = this; return new i(function () { var f, e, s, o; return new u(function () { s = n instanceof Array || n.getEnumerator != null ? i.from(i.from(n).toArray()) : i.make(n); e = t.getEnumerator(); e.moveNext() && (f = e.Current) }, function () { for (; ;) { if (o != null) { if (o.moveNext()) return this.yieldReturn(o.Current); o = null } if (f == null && e.moveNext()) { f = e.Current; o = s.getEnumerator(); continue } else if (f != null) { var n = f; return f = null, this.yieldReturn(n) } return this.yieldBreak() } }, function () { try { r.dispose(e) } finally { r.dispose(o) } }) }) }; i.prototype.contains = function (n, t) { t = t || System.Collections.Generic.EqualityComparer$1.$default; var i = this.getEnumerator(); try { while (i.moveNext()) if (t.equals2(i.Current, n)) return !0; return !1 } finally { r.dispose(i) } }; i.prototype.defaultIfEmpty = function (n) { var f = this; return n === t && (n = null), new i(function () { var t, i = !0; return new u(function () { t = f.getEnumerator() }, function () { return t.moveNext() ? (i = !1, this.yieldReturn(t.Current)) : i ? (i = !1, this.yieldReturn(n)) : !1 }, function () { r.dispose(t) }) }) }; i.prototype.distinct = function (n) { return this.except(i.empty(), n) }; i.prototype.distinctUntilChanged = function (n) { n = r.createLambda(n); var t = this; return new i(function () { var i, f, e; return new u(function () { i = t.getEnumerator() }, function () { while (i.moveNext()) { var t = n(i.Current); if (e) return e = !1, f = t, this.yieldReturn(i.Current); if (f !== t) return f = t, this.yieldReturn(i.Current) } return this.yieldBreak() }, function () { r.dispose(i) }) }) }; i.prototype.except = function (n, t) { var f = this; return new i(function () { var o, e; return new u(function () { o = f.getEnumerator(); e = new (System.Collections.Generic.Dictionary$2(System.Object, System.Object))(null, t); i.from(n).forEach(function (n) { e.containsKey(n) || e.add(n) }) }, function () { while (o.moveNext()) { var n = o.Current; if (!e.containsKey(n)) return e.add(n), this.yieldReturn(n) } return !1 }, function () { r.dispose(o) }) }) }; i.prototype.intersect = function (n, t) { var f = this; return new i(function () { var e, o, s; return new u(function () { e = f.getEnumerator(); o = new (System.Collections.Generic.Dictionary$2(System.Object, System.Object))(null, t); i.from(n).forEach(function (n) { o.containsKey(n) || o.add(n) }); s = new (System.Collections.Generic.Dictionary$2(System.Object, System.Object))(null, t) }, function () { while (e.moveNext()) { var n = e.Current; if (!s.containsKey(n) && o.containsKey(n)) return s.add(n), this.yieldReturn(n) } return !1 }, function () { r.dispose(e) }) }) }; i.prototype.sequenceEqual = function (n, t) { var f, u; t = t || System.Collections.Generic.EqualityComparer$1.$default; f = this.getEnumerator(); try { u = i.from(n).getEnumerator(); try { while (f.moveNext()) if (!u.moveNext() || !t.equals2(f.Current, u.Current)) return !1; return u.moveNext() ? !1 : !0 } finally { r.dispose(u) } } finally { r.dispose(f) } }; i.prototype.union = function (n, f) { var e = this; return new i(function () { var h, o, s; return new u(function () { h = e.getEnumerator(); s = new (System.Collections.Generic.Dictionary$2(System.Object, System.Object))(null, f) }, function () { var r; if (o === t) { while (h.moveNext()) if (r = h.Current, !s.containsKey(r)) return s.add(r), this.yieldReturn(r); o = i.from(n).getEnumerator() } while (o.moveNext()) if (r = o.Current, !s.containsKey(r)) return s.add(r), this.yieldReturn(r); return !1 }, function () { try { r.dispose(h) } finally { r.dispose(o) } }) }) }; i.prototype.orderBy = function (n, t) { return new s(this, n, t, !1) }; i.prototype.orderByDescending = function (n, t) { return new s(this, n, t, !0) }; i.prototype.reverse = function () { var n = this; return new i(function () { var t, i; return new u(function () { t = n.toArray(); i = t.length }, function () { return i > 0 ? this.yieldReturn(t[--i]) : !1 }, f.Blank) }) }; i.prototype.shuffle = function () { var n = this; return new i(function () { var t; return new u(function () { t = n.toArray() }, function () { if (t.length > 0) { var n = Math.floor(Math.random() * t.length); return this.yieldReturn(t.splice(n, 1)[0]) } return !1 }, f.Blank) }) }; i.prototype.weightedSample = function (n) { n = r.createLambda(n); var t = this; return new i(function () { var i, r = 0; return new u(function () { i = t.choose(function (t) { var i = n(t); return i <= 0 ? null : (r += i, { value: t, bound: r }) }).toArray() }, function () { var t; if (i.length > 0) { for (var f = Math.floor(Math.random() * r) + 1, u = -1, n = i.length; n - u > 1;)t = Math.floor((u + n) / 2), i[t].bound >= f ? n = t : u = t; return this.yieldReturn(i[n].value) } return this.yieldBreak() }, f.Blank) }) }; i.prototype.groupBy = function (n, t, f, e) { var o = this; return n = r.createLambda(n), t = r.createLambda(t), f != null && (f = r.createLambda(f)), new i(function () { var i; return new u(function () { i = o.toLookup(n, t, e).toEnumerable().getEnumerator() }, function () { while (i.moveNext()) return f == null ? this.yieldReturn(i.Current) : this.yieldReturn(f(i.Current.key(), i.Current)); return !1 }, function () { r.dispose(i) }) }) }; i.prototype.partitionBy = function (n, t, f, e) { var s = this, o; return n = r.createLambda(n), t = r.createLambda(t), e = e || System.Collections.Generic.EqualityComparer$1.$default, f == null ? (o = !1, f = function (n, t) { return new h(n, t) }) : (o = !0, f = r.createLambda(f)), new i(function () { var h, l, c = []; return new u(function () { h = s.getEnumerator(); h.moveNext() && (l = n(h.Current), c.push(t(h.Current))) }, function () { for (var r, u; (r = h.moveNext()) == !0;)if (e.equals2(l, n(h.Current))) c.push(t(h.Current)); else break; return c.length > 0 ? (u = o ? f(l, i.from(c)) : f(l, c), r ? (l = n(h.Current), c = [t(h.Current)]) : c = [], this.yieldReturn(u)) : !1 }, function () { r.dispose(h) }) }) }; i.prototype.buffer = function (n) { var t = this; return new i(function () { var i; return new u(function () { i = t.getEnumerator() }, function () { for (var t = [], r = 0; i.moveNext();)if (t.push(i.Current), ++r >= n) return this.yieldReturn(t); return t.length > 0 ? this.yieldReturn(t) : !1 }, function () { r.dispose(i) }) }) }; i.prototype.aggregate = function (n, t, i) { return i = r.createLambda(i), i(this.scan(n, t, i).last()) }; i.prototype.average = function (n, t) { !n || t || Bridge.isFunction(n) || (t = n, n = null); n = r.createLambda(n); var i = t || 0, u = 0; if (this.forEach(function (t) { t = n(t); t instanceof System.Decimal || System.Int64.is64Bit(t) ? i = t.add(i) : i instanceof System.Decimal || System.Int64.is64Bit(i) ? i = i.add(t) : i += t; ++u }), u === 0) throw new System.InvalidOperationException("Sequence contains no elements"); return i instanceof System.Decimal || System.Int64.is64Bit(i) ? i.div(u) : i / u }; i.prototype.nullableAverage = function (n, t) { return this.any(Bridge.isNull) ? null : this.average(n, t) }; i.prototype.count = function (n) { n = n == null ? f.True : r.createLambda(n); var t = 0; return this.forEach(function (i, r) { n(i, r) && ++t }), t }; i.prototype.max = function (n) { return n == null && (n = f.Identity), this.select(n).aggregate(function (n, t) { return Bridge.compare(n, t, !0) === 1 ? n : t }) }; i.prototype.nullableMax = function (n) { return this.any(Bridge.isNull) ? null : this.max(n) }; i.prototype.min = function (n) { return n == null && (n = f.Identity), this.select(n).aggregate(function (n, t) { return Bridge.compare(n, t, !0) === -1 ? n : t }) }; i.prototype.nullableMin = function (n) { return this.any(Bridge.isNull) ? null : this.min(n) }; i.prototype.maxBy = function (n) { return n = r.createLambda(n), this.aggregate(function (t, i) { return Bridge.compare(n(t), n(i), !0) === 1 ? t : i }) }; i.prototype.minBy = function (n) { return n = r.createLambda(n), this.aggregate(function (t, i) { return Bridge.compare(n(t), n(i), !0) === -1 ? t : i }) }; i.prototype.sum = function (n, t) { !n || t || Bridge.isFunction(n) || (t = n, n = null); n == null && (n = f.Identity); var i = this.select(n).aggregate(0, function (n, t) { return n instanceof System.Decimal || System.Int64.is64Bit(n) ? n.add(t) : t instanceof System.Decimal || System.Int64.is64Bit(t) ? t.add(n) : n + t }); return i === 0 && t ? t : i }; i.prototype.nullableSum = function (n, t) { return this.any(Bridge.isNull) ? null : this.sum(n, t) }; i.prototype.elementAt = function (n) { var t, i = !1; if (this.forEach(function (r, u) { if (u == n) return t = r, i = !0, !1 }), !i) throw new Error("index is less than 0 or greater than or equal to the number of elements in source."); return t }; i.prototype.elementAtOrDefault = function (n, i) { i === t && (i = null); var r, u = !1; return this.forEach(function (t, i) { if (i == n) return r = t, u = !0, !1 }), u ? r : i }; i.prototype.first = function (n) { if (n != null) return this.where(n).first(); var t, i = !1; if (this.forEach(function (n) { return t = n, i = !0, !1 }), !i) throw new Error("first:No element satisfies the condition."); return t }; i.prototype.firstOrDefault = function (n, i) { if (i === t && (i = null), n != null) return this.where(n).firstOrDefault(null, i); var r, u = !1; return this.forEach(function (n) { return r = n, u = !0, !1 }), u ? r : i }; i.prototype.last = function (n) { if (n != null) return this.where(n).last(); var t, i = !1; if (this.forEach(function (n) { i = !0; t = n }), !i) throw new Error("last:No element satisfies the condition."); return t }; i.prototype.lastOrDefault = function (n, i) { if (i === t && (i = null), n != null) return this.where(n).lastOrDefault(null, i); var r, u = !1; return this.forEach(function (n) { u = !0; r = n }), u ? r : i }; i.prototype.single = function (n) { if (n != null) return this.where(n).single(); var i, t = !1; if (this.forEach(function (n) { if (t) throw new Error("single:sequence contains more than one element."); else t = !0, i = n }), !t) throw new Error("single:No element satisfies the condition."); return i }; i.prototype.singleOrDefault = function (n, i) { if (i === t && (i = null), n != null) return this.where(n).singleOrDefault(null, i); var u, r = !1; return this.forEach(function (n) { if (r) throw new Error("single:sequence contains more than one element."); else r = !0, u = n }), r ? u : i }; i.prototype.skip = function (n) { var t = this; return new i(function () { var i, f = 0; return new u(function () { for (i = t.getEnumerator(); f++ < n && i.moveNext();); }, function () { return i.moveNext() ? this.yieldReturn(i.Current) : !1 }, function () { r.dispose(i) }) }) }; i.prototype.skipWhile = function (n) { n = r.createLambda(n); var t = this; return new i(function () { var i, e = 0, f = !1; return new u(function () { i = t.getEnumerator() }, function () { while (!f) if (i.moveNext()) { if (!n(i.Current, e++)) return f = !0, this.yieldReturn(i.Current); continue } else return !1; return i.moveNext() ? this.yieldReturn(i.Current) : !1 }, function () { r.dispose(i) }) }) }; i.prototype.take = function (n) { var t = this; return new i(function () { var i, f = 0; return new u(function () { i = t.getEnumerator() }, function () { return f++ < n && i.moveNext() ? this.yieldReturn(i.Current) : !1 }, function () { r.dispose(i) }) }) }; i.prototype.takeWhile = function (n) { n = r.createLambda(n); var t = this; return new i(function () { var i, f = 0; return new u(function () { i = t.getEnumerator() }, function () { return i.moveNext() && n(i.Current, f++) ? this.yieldReturn(i.Current) : !1 }, function () { r.dispose(i) }) }) }; i.prototype.takeExceptLast = function (n) { n == null && (n = 1); var t = this; return new i(function () { if (n <= 0) return t.getEnumerator(); var i, f = []; return new u(function () { i = t.getEnumerator() }, function () { while (i.moveNext()) { if (f.length == n) return f.push(i.Current), this.yieldReturn(f.shift()); f.push(i.Current) } return !1 }, function () { r.dispose(i) }) }) }; i.prototype.takeFromLast = function (n) { if (n <= 0 || n == null) return i.empty(); var t = this; return new i(function () { var o, f, e = []; return new u(function () { o = t.getEnumerator() }, function () { if (f == null) { while (o.moveNext()) e.length == n && e.shift(), e.push(o.Current); f = i.from(e).getEnumerator() } return f.moveNext() ? this.yieldReturn(f.Current) : !1 }, function () { r.dispose(f) }) }) }; i.prototype.indexOf = function (n, t) { var i = null; return typeof n === o.Function ? this.forEach(function (t, r) { if (n(t, r)) return i = r, !1 }) : (t = t || System.Collections.Generic.EqualityComparer$1.$default, this.forEach(function (r, u) { if (t.equals2(r, n)) return i = u, !1 })), i !== null ? i : -1 }; i.prototype.lastIndexOf = function (n, t) { var i = -1; return typeof n === o.Function ? this.forEach(function (t, r) { n(t, r) && (i = r) }) : (t = t || System.Collections.Generic.EqualityComparer$1.$default, this.forEach(function (r, u) { t.equals2(r, n) && (i = u) })), i }; i.prototype.asEnumerable = function () { return i.from(this) }; i.prototype.toArray = function (n) { var t = System.Array.init([], n || System.Object); return this.forEach(function (n) { t.push(n) }), t }; i.prototype.toList = function (n) { var t = []; return this.forEach(function (n) { t.push(n) }), new (System.Collections.Generic.List$1(n || System.Object).$ctor1)(t) }; i.prototype.toLookup = function (n, t, i) { n = r.createLambda(n); t = r.createLambda(t); var u = new (System.Collections.Generic.Dictionary$2(System.Object, System.Object))(null, i), f = []; return this.forEach(function (i) { var r = n(i), e = t(i), o = { v: null }; u.tryGetValue(r, o) ? o.v.push(e) : (f.push(r), u.add(r, [e])) }), new y(u, f) }; i.prototype.toObject = function (n, t) { n = r.createLambda(n); t = r.createLambda(t); var i = {}; return this.forEach(function (r) { i[n(r)] = t(r) }), i }; i.prototype.toDictionary = function (n, t, i, u, f) { n = r.createLambda(n); t = r.createLambda(t); var e = new (System.Collections.Generic.Dictionary$2(i, u))(null, f); return this.forEach(function (i) { e.add(n(i), t(i)) }), e }; i.prototype.toJSONString = function (n, t) { if (typeof JSON === o.Undefined || JSON.stringify == null) throw new Error("toJSONString can't find JSON.stringify. This works native JSON support Browser or include json2.js"); return JSON.stringify(this.toArray(), n, t) }; i.prototype.toJoinedString = function (n, t) { return n == null && (n = ""), t == null && (t = f.Identity), this.select(t).toArray().join(n) }; i.prototype.doAction = function (n) { var t = this; return n = r.createLambda(n), new i(function () { var i, f = 0; return new u(function () { i = t.getEnumerator() }, function () { return i.moveNext() ? (n(i.Current, f++), this.yieldReturn(i.Current)) : !1 }, function () { r.dispose(i) }) }) }; i.prototype.forEach = function (n) { n = r.createLambda(n); var i = 0, t = this.getEnumerator(); try { while (t.moveNext()) if (n(t.Current, i++) === !1) break } finally { r.dispose(t) } }; i.prototype.write = function (n, t) { n == null && (n = ""); t = r.createLambda(t); var i = !0; this.forEach(function (r) { i ? i = !1 : document.write(n); document.write(t(r)) }) }; i.prototype.writeLine = function (n) { n = r.createLambda(n); this.forEach(function (t) { document.writeln(n(t) + " ") }) }; i.prototype.force = function () { var n = this.getEnumerator(); try { while (n.moveNext()); } finally { r.dispose(n) } }; i.prototype.letBind = function (n) { n = r.createLambda(n); var t = this; return new i(function () { var f; return new u(function () { f = i.from(n(t)).getEnumerator() }, function () { return f.moveNext() ? this.yieldReturn(f.Current) : !1 }, function () { r.dispose(f) }) }) }; i.prototype.share = function () { var i = this, n, t = !1; return new p(function () { return new u(function () { n == null && (n = i.getEnumerator()) }, function () { if (t) throw new Error("enumerator is disposed"); return n.moveNext() ? this.yieldReturn(n.Current) : !1 }, f.Blank) }, function () { t = !0; r.dispose(n) }) }; i.prototype.memoize = function () { var e = this, n, t, i = !1; return new p(function () { var r = -1; return new u(function () { t == null && (t = e.getEnumerator(), n = []) }, function () { if (i) throw new Error("enumerator is disposed"); return (r++, n.length <= r) ? t.moveNext() ? this.yieldReturn(n[r] = t.Current) : !1 : this.yieldReturn(n[r]) }, f.Blank) }, function () { i = !0; r.dispose(t); n = null }) }; i.prototype.catchError = function (n) { n = r.createLambda(n); var t = this; return new i(function () { var i; return new u(function () { i = t.getEnumerator() }, function () { try { return i.moveNext() ? this.yieldReturn(i.Current) : !1 } catch (t) { return n(t), !1 } }, function () { r.dispose(i) }) }) }; i.prototype.finallyAction = function (n) { n = r.createLambda(n); var t = this; return new i(function () { var i; return new u(function () { i = t.getEnumerator() }, function () { return i.moveNext() ? this.yieldReturn(i.Current) : !1 }, function () { try { r.dispose(i) } finally { n() } }) }) }; i.prototype.log = function (n) { return n = r.createLambda(n), this.doAction(function (t) { typeof console !== o.Undefined && console.log(n(t)) }) }; i.prototype.trace = function (n, t) { return n == null && (n = "Trace"), t = r.createLambda(t), this.doAction(function (i) { typeof console !== o.Undefined && console.log(n, t(i)) }) }; s = function (n, t, i, u, f) { this.source = n; this.keySelector = r.createLambda(t); this.comparer = i || System.Collections.Generic.Comparer$1.$default; this.descending = u; this.parent = f }; s.prototype = new i; s.prototype.constructor = s; Bridge.definei("System.Linq.IOrderedEnumerable$1"); s.$$inherits = []; Bridge.Class.addExtend(s, [System.Collections.IEnumerable, System.Linq.IOrderedEnumerable$1]); s.prototype.createOrderedEnumerable = function (n, t, i) { return new s(this.source, n, t, i, this) }; s.prototype.thenBy = function (n, t) { return this.createOrderedEnumerable(n, t, !1) }; s.prototype.thenByDescending = function (n, t) { return this.createOrderedEnumerable(n, t, !0) }; s.prototype.getEnumerator = function () { var i = this, t, n, r = 0; return new u(function () { t = []; n = []; i.source.forEach(function (i, r) { t.push(i); n.push(r) }); var r = v.create(i, null); r.GenerateKeys(t); n.sort(function (n, t) { return r.compare(n, t) }) }, function () { return r < n.length ? this.yieldReturn(t[n[r++]]) : !1 }, f.Blank) }; v = function (n, t, i, r) { this.keySelector = n; this.comparer = t; this.descending = i; this.child = r; this.keys = null }; v.create = function (n, t) { var i = new v(n.keySelector, n.comparer, n.descending, t); return n.parent != null ? v.create(n.parent, i) : i }; v.prototype.GenerateKeys = function (n) { for (var i = n.length, u = this.keySelector, r = new Array(i), t = 0; t < i; t++)r[t] = u(n[t]); this.keys = r; this.child != null && this.child.GenerateKeys(n) }; v.prototype.compare = function (n, t) { var i = this.comparer.compare(this.keys[n], this.keys[t]); return i == 0 ? this.child != null ? this.child.compare(n, t) : r.compare(n, t) : this.descending ? -i : i }; p = function (n, t) { this.dispose = t; i.call(this, n) }; p.prototype = new i; e = function (n) { this.getSource = function () { return n } }; e.prototype = new i; e.prototype.any = function (n) { return n == null ? this.getSource().length > 0 : i.prototype.any.apply(this, arguments) }; e.prototype.count = function (n) { return n == null ? this.getSource().length : i.prototype.count.apply(this, arguments) }; e.prototype.elementAt = function (n) { var t = this.getSource(); return 0 <= n && n < t.length ? t[n] : i.prototype.elementAt.apply(this, arguments) }; e.prototype.elementAtOrDefault = function (n, i) { i === t && (i = null); var r = this.getSource(); return 0 <= n && n < r.length ? r[n] : i }; e.prototype.first = function (n) { var t = this.getSource(); return n == null && t.length > 0 ? t[0] : i.prototype.first.apply(this, arguments) }; e.prototype.firstOrDefault = function (n, r) { if (r === t && (r = null), n != null) return i.prototype.firstOrDefault.apply(this, arguments); var u = this.getSource(); return u.length > 0 ? u[0] : r }; e.prototype.last = function (n) { var t = this.getSource(); return n == null && t.length > 0 ? t[t.length - 1] : i.prototype.last.apply(this, arguments) }; e.prototype.lastOrDefault = function (n, r) { if (r === t && (r = null), n != null) return i.prototype.lastOrDefault.apply(this, arguments); var u = this.getSource(); return u.length > 0 ? u[u.length - 1] : r }; e.prototype.skip = function (n) { var t = this.getSource(); return new i(function () { var i; return new u(function () { i = n < 0 ? 0 : n }, function () { return i < t.length ? this.yieldReturn(t[i++]) : !1 }, f.Blank) }) }; e.prototype.takeExceptLast = function (n) { return n == null && (n = 1), this.take(this.getSource().length - n) }; e.prototype.takeFromLast = function (n) { return this.skip(this.getSource().length - n) }; e.prototype.reverse = function () { var n = this.getSource(); return new i(function () { var t; return new u(function () { t = n.length }, function () { return t > 0 ? this.yieldReturn(n[--t]) : !1 }, f.Blank) }) }; e.prototype.sequenceEqual = function (n, t) { return (n instanceof e || n instanceof Array) && t == null && i.from(n).count() != this.count() ? !1 : i.prototype.sequenceEqual.apply(this, arguments) }; e.prototype.toJoinedString = function (n, t) { var r = this.getSource(); return t != null || !(r instanceof Array) ? i.prototype.toJoinedString.apply(this, arguments) : (n == null && (n = ""), r.join(n)) }; e.prototype.getEnumerator = function () { return new Bridge.ArrayEnumerator(this.getSource()) }; c = function (n, t) { this.prevSource = n; this.prevPredicate = t }; c.prototype = new i; c.prototype.where = function (n) { if (n = r.createLambda(n), n.length <= 1) { var t = this.prevPredicate, u = function (i) { return t(i) && n(i) }; return new c(this.prevSource, u) } return i.prototype.where.call(this, n) }; c.prototype.select = function (n) { return n = r.createLambda(n), n.length <= 1 ? new l(this.prevSource, this.prevPredicate, n) : i.prototype.select.call(this, n) }; c.prototype.getEnumerator = function () { var t = this.prevPredicate, i = this.prevSource, n; return new u(function () { n = i.getEnumerator() }, function () { while (n.moveNext()) if (t(n.Current)) return this.yieldReturn(n.Current); return !1 }, function () { r.dispose(n) }) }; l = function (n, t, i) { this.prevSource = n; this.prevPredicate = t; this.prevSelector = i }; l.prototype = new i; l.prototype.where = function (n) { return n = r.createLambda(n), n.length <= 1 ? new c(this, n) : i.prototype.where.call(this, n) }; l.prototype.select = function (n) { if (n = r.createLambda(n), n.length <= 1) { var t = this.prevSelector, u = function (i) { return n(t(i)) }; return new l(this.prevSource, this.prevPredicate, u) } return i.prototype.select.call(this, n) }; l.prototype.getEnumerator = function () { var t = this.prevPredicate, i = this.prevSelector, f = this.prevSource, n; return new u(function () { n = f.getEnumerator() }, function () { while (n.moveNext()) if (t == null || t(n.Current)) return this.yieldReturn(i(n.Current)); return !1 }, function () { r.dispose(n) }) }; y = function (n, t) { this.count = function () { return n.getCount() }; this.get = function (t) { var r = { v: null }, u = n.tryGetValue(t, r); return i.from(u ? r.v : []) }; this.contains = function (t) { return n.containsKey(t) }; this.toEnumerable = function () { return i.from(t).select(function (t) { return new h(t, n.get(t)) }) }; this.getEnumerator = function () { return this.toEnumerable().getEnumerator() } }; Bridge.definei("System.Linq.ILookup$2"); y.$$inherits = []; Bridge.Class.addExtend(y, [System.Collections.IEnumerable, System.Linq.ILookup$2]); h = function (n, t) { this.key = function () { return n }; e.call(this, t) }; h.prototype = new e; Bridge.definei("System.Linq.IGrouping$2"); h.prototype.constructor = h; h.$$inherits = []; Bridge.Class.addExtend(h, [System.Collections.IEnumerable, System.Linq.IGrouping$2]); Bridge.Linq = {}; Bridge.Linq.Enumerable = i; System.Linq = System.Linq || {}; System.Linq.Enumerable = i; System.Linq.Grouping$2 = h; System.Linq.Lookup$2 = y; System.Linq.OrderedEnumerable$1 = s }(Bridge.global); Bridge.define("System.Guid", { inherits: function () { return [System.IEquatable$1(System.Guid), System.IComparable$1(System.Guid), System.IFormattable] }, $kind: "struct", statics: { fields: { error1: null, valid: null, split: null, nonFormat: null, replace: null, rnd: null, empty: null }, ctors: { init: function () { this.empty = new System.Guid; this.error1 = "Byte array for GUID must be exactly {0} bytes long"; this.valid = new System.Text.RegularExpressions.Regex.ctor("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", 1); this.split = new System.Text.RegularExpressions.Regex.ctor("^(.{8})(.{4})(.{4})(.{4})(.{12})$"); this.nonFormat = new System.Text.RegularExpressions.Regex.ctor("^[{(]?([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})[)}]?$", 1); this.replace = new System.Text.RegularExpressions.Regex.ctor("-"); this.rnd = new System.Random.ctor } }, methods: { parse: function (n) { return System.Guid.parseExact(n, null) }, parseExact: function (n, t) { var i = new System.Guid.ctor; return i.parseInternal(n, t, !0), i }, tryParse: function (n, t) { return System.Guid.tryParseExact(n, null, t) }, tryParseExact: function (n, t, i) { return i.v = new System.Guid.ctor, i.v.parseInternal(n, t, !1) }, newGuid: function () { var n = System.Array.init(16, 0, System.Byte); return System.Guid.rnd.nextBytes(n), n[System.Array.index(7, n)] = (n[System.Array.index(7, n)] & 15 | 64) & 255, n[System.Array.index(8, n)] = (n[System.Array.index(8, n)] & 191 | 128) & 255, new System.Guid.$ctor1(n) }, makeBinary: function (n) { return System.Int32.format(n & 255, "x2") }, op_Equality: function (n, t) { return Bridge.referenceEquals(n, null) ? Bridge.referenceEquals(t, null) : n.equalsT(t) }, op_Inequality: function (n, t) { return !System.Guid.op_Equality(n, t) }, getDefaultValue: function () { return new System.Guid } } }, fields: { _a: 0, _b: 0, _c: 0, _d: 0, _e: 0, _f: 0, _g: 0, _h: 0, _i: 0, _j: 0, _k: 0 }, alias: ["equalsT", "System$IEquatable$1$System$Guid$equalsT", "compareTo", ["System$IComparable$1$System$Guid$compareTo", "System$IComparable$1$compareTo"], "format", "System$IFormattable$format"], ctors: { $ctor4: function (n) { this.$initialize(); (new System.Guid.ctor).$clone(this); this.parseInternal(n, null, !0) }, $ctor1: function (n) { if (this.$initialize(), n == null) throw new System.ArgumentNullException("b"); if (n.length !== 16) throw new System.ArgumentException(System.String.format(System.Guid.error1, [Bridge.box(16, System.Int32)])); this._a = n[System.Array.index(3, n)] << 24 | n[System.Array.index(2, n)] << 16 | n[System.Array.index(1, n)] << 8 | n[System.Array.index(0, n)]; this._b = Bridge.Int.sxs((n[System.Array.index(5, n)] << 8 | n[System.Array.index(4, n)]) & 65535); this._c = Bridge.Int.sxs((n[System.Array.index(7, n)] << 8 | n[System.Array.index(6, n)]) & 65535); this._d = n[System.Array.index(8, n)]; this._e = n[System.Array.index(9, n)]; this._f = n[System.Array.index(10, n)]; this._g = n[System.Array.index(11, n)]; this._h = n[System.Array.index(12, n)]; this._i = n[System.Array.index(13, n)]; this._j = n[System.Array.index(14, n)]; this._k = n[System.Array.index(15, n)] }, $ctor5: function (n, t, i, r, u, f, e, o, s, h, c) { this.$initialize(); this._a = n | 0; this._b = Bridge.Int.sxs(t & 65535); this._c = Bridge.Int.sxs(i & 65535); this._d = r; this._e = u; this._f = f; this._g = e; this._h = o; this._i = s; this._j = h; this._k = c }, $ctor3: function (n, t, i, r) { if (this.$initialize(), r == null) throw new System.ArgumentNullException("d"); if (r.length !== 8) throw new System.ArgumentException(System.String.format(System.Guid.error1, [Bridge.box(8, System.Int32)])); this._a = n; this._b = t; this._c = i; this._d = r[System.Array.index(0, r)]; this._e = r[System.Array.index(1, r)]; this._f = r[System.Array.index(2, r)]; this._g = r[System.Array.index(3, r)]; this._h = r[System.Array.index(4, r)]; this._i = r[System.Array.index(5, r)]; this._j = r[System.Array.index(6, r)]; this._k = r[System.Array.index(7, r)] }, $ctor2: function (n, t, i, r, u, f, e, o, s, h, c) { this.$initialize(); this._a = n; this._b = t; this._c = i; this._d = r; this._e = u; this._f = f; this._g = e; this._h = o; this._i = s; this._j = h; this._k = c }, ctor: function () { this.$initialize() } }, methods: { getHashCode: function () { return this._a ^ (this._b << 16 | this._c & 65535) ^ (this._f << 24 | this._k) }, equals: function (n) { return Bridge.is(n, System.Guid) ? this.equalsT(System.Nullable.getValue(Bridge.cast(Bridge.unbox(n), System.Guid))) : !1 }, equalsT: function (n) { return this._a !== n._a || this._b !== n._b || this._c !== n._c || this._d !== n._d || this._e !== n._e || this._f !== n._f || this._g !== n._g || this._h !== n._h || this._i !== n._i || this._j !== n._j || this._k !== n._k ? !1 : !0 }, compareTo: function (n) { return System.String.compare(this.toString(), n.toString()) }, toString: function () { return this.format$1(null) }, toString$1: function (n) { return this.format$1(n) }, format: function (n) { return this.format$1(n) }, toByteArray: function () { var n = System.Array.init(16, 0, System.Byte); return n[System.Array.index(0, n)] = this._a & 255, n[System.Array.index(1, n)] = this._a >> 8 & 255, n[System.Array.index(2, n)] = this._a >> 16 & 255, n[System.Array.index(3, n)] = this._a >> 24 & 255, n[System.Array.index(4, n)] = this._b & 255, n[System.Array.index(5, n)] = this._b >> 8 & 255, n[System.Array.index(6, n)] = this._c & 255, n[System.Array.index(7, n)] = this._c >> 8 & 255, n[System.Array.index(8, n)] = this._d, n[System.Array.index(9, n)] = this._e, n[System.Array.index(10, n)] = this._f, n[System.Array.index(11, n)] = this._g, n[System.Array.index(12, n)] = this._h, n[System.Array.index(13, n)] = this._i, n[System.Array.index(14, n)] = this._j, n[System.Array.index(15, n)] = this._k, n }, parseInternal: function (n, t, i) { var h = null, f, c, r, e, o, l, u, s; if (System.String.isNullOrEmpty(n)) { if (i) throw new System.ArgumentNullException("input"); return !1 } if (System.String.isNullOrEmpty(t)) { if (f = System.Guid.nonFormat.match(n), f.getSuccess()) { for (c = new (System.Collections.Generic.List$1(System.String).ctor), r = 1; r <= f.getGroups().getCount(); r = r + 1 | 0)f.getGroups().get(r).getSuccess() && c.add(f.getGroups().get(r).getValue()); h = c.toArray().join("-").toLowerCase() } } else { if (t = t.toUpperCase(), e = !1, Bridge.referenceEquals(t, "N")) { if (o = System.Guid.split.match(n), o.getSuccess()) { for (l = new (System.Collections.Generic.List$1(System.String).ctor), u = 1; u <= o.getGroups().getCount(); u = u + 1 | 0)o.getGroups().get(u).getSuccess() && l.add(o.getGroups().get(u).getValue()); e = !0; n = l.toArray().join("-") } } else Bridge.referenceEquals(t, "B") || Bridge.referenceEquals(t, "P") ? (s = Bridge.referenceEquals(t, "B") ? System.Array.init([123, 125], System.Char) : System.Array.init([40, 41], System.Char), n.charCodeAt(0) === s[System.Array.index(0, s)] && n.charCodeAt(n.length - 1 | 0) === s[System.Array.index(1, s)] && (e = !0, n = n.substr(1, n.length - 2 | 0))) : e = !0; e && System.Guid.valid.isMatch(n) && (h = n.toLowerCase()) } if (h != null) return this.fromString(h), !0; if (i) throw new System.FormatException("input is not in a recognized format"); return !1 }, format$1: function (n) { var t = (System.UInt32.format(this._a >>> 0, "x8") || "") + (System.UInt16.format(this._b & 65535, "x4") || "") + (System.UInt16.format(this._c & 65535, "x4") || ""), r, u, i; for (t = (t || "") + (System.Array.init([this._d, this._e, this._f, this._g, this._h, this._i, this._j, this._k], System.Byte).map(System.Guid.makeBinary).join("") || ""), r = System.Guid.split.match(t), u = new (System.Collections.Generic.List$1(System.String).ctor), i = 1; i <= r.getGroups().getCount(); i = i + 1 | 0)r.getGroups().get(i).getSuccess() && u.add(r.getGroups().get(i).getValue()); t = u.toArray().join("-"); switch (n) { case "n": case "N": return System.Guid.replace.replace(t, ""); case "b": case "B": return String.fromCharCode(123) + (t || "") + String.fromCharCode(125); case "p": case "P": return String.fromCharCode(40) + (t || "") + String.fromCharCode(41); default: return t } }, fromString: function (n) { var t, i; if (!System.String.isNullOrEmpty(n)) { for (n = System.Guid.replace.replace(n, ""), t = System.Array.init(8, 0, System.Byte), this._a = System.UInt32.parse(n.substr(0, 8), 16) | 0, this._b = Bridge.Int.sxs(System.UInt16.parse(n.substr(8, 4), 16) & 65535), this._c = Bridge.Int.sxs(System.UInt16.parse(n.substr(12, 4), 16) & 65535), i = 8; i < 16; i = i + 1 | 0)t[System.Array.index(i - 8 | 0, t)] = System.Byte.parse(n.substr(Bridge.Int.mul(i, 2), 2), 16); this._d = t[System.Array.index(0, t)]; this._e = t[System.Array.index(1, t)]; this._f = t[System.Array.index(2, t)]; this._g = t[System.Array.index(3, t)]; this._h = t[System.Array.index(4, t)]; this._i = t[System.Array.index(5, t)]; this._j = t[System.Array.index(6, t)]; this._k = t[System.Array.index(7, t)] } }, toJSON: function () { return this.toString() }, $clone: function () { return this } } }); Bridge.define("System.Environment", { statics: { fields: { variables: null }, props: { Location: { get: function () { var n = Bridge.global; return n && n.location ? n.location : null } }, CommandLine: { get: function () { return System.Environment.getCommandLineArgs().join(" ") } }, CurrentDirectory: { get: function () { var n = System.Environment.Location; return n ? n.pathname : "" }, set: function (n) { var t = System.Environment.Location; t && (t.pathname = n) } }, ExitCode: 0, Is64BitOperatingSystem: { get: function () { var n = Bridge.global ? Bridge.global.navigator : null; return n && (!Bridge.referenceEquals(n.userAgent.indexOf("WOW64"), -1) || !Bridge.referenceEquals(n.userAgent.indexOf("Win64"), -1)) ? !0 : !1 } }, ProcessorCount: { get: function () { var n = Bridge.global ? Bridge.global.navigator : null; return n && n.hardwareConcurrency ? n.hardwareConcurrency : 1 } }, StackTrace: { get: function () { var t = new Error, n = t.stack; return !System.String.isNullOrEmpty(n) && System.String.indexOf(n, "at") >= 0 ? n.substr(System.String.indexOf(n, "at")) : "" } }, Version: { get: function () { var t = Bridge.SystemAssembly.compiler, n = {}; return System.Version.tryParse(t, n) ? n.v : new System.Version.ctor } } }, ctors: { init: function () { this.ExitCode = 0 }, ctor: function () { System.Environment.variables = new (System.Collections.Generic.Dictionary$2(System.String, System.String)); System.Environment.patchDictionary(System.Environment.variables) } }, methods: { patchDictionary: function (n) { return n.noKeyCheck = !0, n }, exit: function (n) { System.Environment.ExitCode = n }, expandEnvironmentVariables: function (n) { var t, i; if (n == null) throw new System.ArgumentNullException(n); t = Bridge.getEnumerator(System.Environment.variables); try { while (t.moveNext()) i = t.Current, n = System.String.replaceAll(n, "%" + (i.key || "") + "%", i.value) } finally { Bridge.is(t, System.IDisposable) && t.System$IDisposable$dispose() } return n }, failFast: function (n) { throw new System.Exception(n); }, failFast$1: function (n, t) { throw new System.Exception(n, t); }, getCommandLineArgs: function () { var e = System.Environment.Location, i, o, r, u, n, f, t; if (e) { if (i = new (System.Collections.Generic.List$1(System.String).ctor), o = e.pathname, System.String.isNullOrEmpty(o) || i.add(o), r = e.search, !System.String.isNullOrEmpty(r) && r.length > 1) for (u = System.String.split(r.substr(1), [38].map(function (n) { return String.fromCharCode(n) })), n = 0; n < u.length; n = n + 1 | 0)for (f = System.String.split(u[System.Array.index(n, u)], [61].map(function (n) { return String.fromCharCode(n) })), t = 0; t < f.length; t = t + 1 | 0)i.add(f[System.Array.index(t, f)]); return i.toArray() } return System.Array.init(0, null, System.String) }, getEnvironmentVariable: function (n) { if (n == null) throw new System.ArgumentNullException("variable"); var t = {}; return System.Environment.variables.tryGetValue(n.toLowerCase(), t) ? t.v : null }, getEnvironmentVariable$1: function (n) { return System.Environment.getEnvironmentVariable(n) }, getEnvironmentVariables: function () { return System.Environment.patchDictionary(new (System.Collections.Generic.Dictionary$2(System.String, System.String))(System.Environment.variables)) }, getEnvironmentVariables$1: function () { return System.Environment.getEnvironmentVariables() }, getLogicalDrives: function () { return System.Array.init(0, null, System.String) }, setEnvironmentVariable: function (n, t) { if (n == null) throw new System.ArgumentNullException("variable"); if (System.String.isNullOrEmpty(n) || System.String.startsWith(n, String.fromCharCode(0)) || System.String.contains(n, "=") || n.length > 32767) throw new System.ArgumentException("Incorrect variable (cannot be empty, contain zero character nor equal sign, be longer than 32767)."); n = n.toLowerCase(); System.String.isNullOrEmpty(t) ? System.Environment.variables.containsKey(n) && System.Environment.variables.remove(n) : System.Environment.variables.set(n, t) }, setEnvironmentVariable$1: function (n, t) { System.Environment.setEnvironmentVariable(n, t) } } } }); Bridge.define("System.Text.RegularExpressions.Regex", { statics: { _cacheSize: 15, _defaultMatchTimeout: System.TimeSpan.fromMilliseconds(-1), getCacheSize: function () { return System.Text.RegularExpressions.Regex._cacheSize }, setCacheSize: function (n) { if (n < 0) throw new System.ArgumentOutOfRangeException("value"); System.Text.RegularExpressions.Regex._cacheSize = n }, escape: function (n) { if (n == null) throw new System.ArgumentNullException("str"); return System.Text.RegularExpressions.RegexParser.escape(n) }, unescape: function (n) { if (n == null) throw new System.ArgumentNullException("str"); return System.Text.RegularExpressions.RegexParser.unescape(n) }, isMatch: function (n, t, i, r) { var u = System.Text.RegularExpressions, f; return Bridge.isDefined(i) || (i = u.RegexOptions.None), Bridge.isDefined(r) || (r = u.Regex._defaultMatchTimeout), f = new System.Text.RegularExpressions.Regex.ctor(t, i, r, !0), f.isMatch(n) }, match: function (n, t, i, r) { var u = System.Text.RegularExpressions, f; return Bridge.isDefined(i) || (i = u.RegexOptions.None), Bridge.isDefined(r) || (r = u.Regex._defaultMatchTimeout), f = new System.Text.RegularExpressions.Regex.ctor(t, i, r, !0), f.match(n) }, matches: function (n, t, i, r) { var u = System.Text.RegularExpressions, f; return Bridge.isDefined(i) || (i = u.RegexOptions.None), Bridge.isDefined(r) || (r = u.Regex._defaultMatchTimeout), f = new System.Text.RegularExpressions.Regex.ctor(t, i, r, !0), f.matches(n) }, replace: function (n, t, i, r, u) { var f = System.Text.RegularExpressions, e; return Bridge.isDefined(r) || (r = f.RegexOptions.None), Bridge.isDefined(u) || (u = f.Regex._defaultMatchTimeout), e = new System.Text.RegularExpressions.Regex.ctor(t, r, u, !0), e.replace(n, i) }, split: function (n, t, i, r) { var u = System.Text.RegularExpressions, f; return Bridge.isDefined(i) || (i = u.RegexOptions.None), Bridge.isDefined(r) || (r = u.Regex._defaultMatchTimeout), f = new System.Text.RegularExpressions.Regex.ctor(t, i, r, !0), f.split(n) } }, _pattern: "", _matchTimeout: System.TimeSpan.fromMilliseconds(-1), _runner: null, _caps: null, _capsize: 0, _capnames: null, _capslist: null, config: { init: function () { this._options = System.Text.RegularExpressions.RegexOptions.None } }, ctor: function (n, t, i, r) { var u, f, e; if (this.$initialize(), Bridge.isDefined(t) || (t = System.Text.RegularExpressions.RegexOptions.None), Bridge.isDefined(i) || (i = System.TimeSpan.fromMilliseconds(-1)), Bridge.isDefined(r) || (r = !1), u = System.Text.RegularExpressions, n == null) throw new System.ArgumentNullException("pattern"); if (t < u.RegexOptions.None || t >> 10 != 0) throw new System.ArgumentOutOfRangeException("options"); if ((t & u.RegexOptions.ECMAScript) != 0 && (t & ~(u.RegexOptions.ECMAScript | u.RegexOptions.IgnoreCase | u.RegexOptions.Multiline | u.RegexOptions.CultureInvariant)) != 0) throw new System.ArgumentOutOfRangeException("options"); if (f = System.Text.RegularExpressions.RegexOptions.IgnoreCase | System.Text.RegularExpressions.RegexOptions.Multiline | System.Text.RegularExpressions.RegexOptions.Singleline | System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace | System.Text.RegularExpressions.RegexOptions.ExplicitCapture, (t | f) !== f) throw new System.NotSupportedException("Specified Regex options are not supported."); this._validateMatchTimeout(i); this._pattern = n; this._options = t; this._matchTimeout = i; this._runner = new u.RegexRunner(this); e = this._runner.parsePattern(); this._capnames = e.sparseSettings.sparseSlotNameMap; this._capslist = e.sparseSettings.sparseSlotNameMap.keys; this._capsize = this._capslist.length }, getMatchTimeout: function () { return this._matchTimeout }, getOptions: function () { return this._options }, getRightToLeft: function () { return (this._options & System.Text.RegularExpressions.RegexOptions.RightToLeft) != 0 }, isMatch: function (n, t) { if (n == null) throw new System.ArgumentNullException("input"); Bridge.isDefined(t) || (t = this.getRightToLeft() ? n.length : 0); var i = this._runner.run(!0, -1, n, 0, n.length, t); return i == null }, match: function (n, t, i) { if (n == null) throw new System.ArgumentNullException("input"); var r = n.length, u = 0; return arguments.length === 3 ? (u = t, r = i, t = this.getRightToLeft() ? u + r : u) : Bridge.isDefined(t) || (t = this.getRightToLeft() ? r : 0), this._runner.run(!1, -1, n, u, r, t) }, matches: function (n, t) { if (n == null) throw new System.ArgumentNullException("input"); return Bridge.isDefined(t) || (t = this.getRightToLeft() ? n.length : 0), new System.Text.RegularExpressions.MatchCollection(this, n, 0, n.length, t) }, getGroupNames: function () { if (this._capslist == null) { for (var i = System.Globalization.CultureInfo.invariantCulture, t = [], r = this._capsize, n = 0; n < r; n++)t[n] = System.Convert.toString(n, i, System.Convert.typeCodes.Int32); return t } return this._capslist.slice() }, getGroupNumbers: function () { var t = this._caps, n, i, u, r; if (t == null) for (n = [], u = this._capsize, r = 0; r < u; r++)n.push(r); else { n = []; for (i in t) t.hasOwnProperty(i) && (n[t[i]] = i) } return n }, groupNameFromNumber: function (n) { var i, t; return this._capslist == null ? n >= 0 && n < this._capsize ? (i = System.Globalization.CultureInfo.invariantCulture, System.Convert.toString(n, i, System.Convert.typeCodes.Int32)) : "" : this._caps != null ? (t = this._caps[n], t == null) ? "" : parseInt(t) : n >= 0 && n < this._capslist.length ? this._capslist[n] : "" }, groupNumberFromName: function (n) { var u, t, i, r; if (n == null) throw new System.ArgumentNullException("name"); if (this._capnames != null) return (u = this._capnames[n], u == null) ? -1 : parseInt(u); for (t = 0, r = 0; r < n.Length; r++) { if (i = n[r], i > "9" || i < "0") return -1; t *= 10; t += i - "0" } return t >= 0 && t < this._capsize ? t : -1 }, replace: function (n, t, i, r) { if (n == null) throw new System.ArgumentNullException("input"); if (Bridge.isDefined(i) || (i = -1), Bridge.isDefined(r) || (r = this.getRightToLeft() ? n.length : 0), t == null) throw new System.ArgumentNullException("evaluator"); if (Bridge.isFunction(t)) return System.Text.RegularExpressions.RegexReplacement.replace(t, this, n, i, r); var u = System.Text.RegularExpressions.RegexParser.parseReplacement(t, this._caps, this._capsize, this._capnames, this._options); return u.replace(this, n, i, r) }, split: function (n, t, i) { if (n == null) throw new System.ArgumentNullException("input"); return Bridge.isDefined(t) || (t = 0), Bridge.isDefined(i) || (i = this.getRightToLeft() ? n.length : 0), System.Text.RegularExpressions.RegexReplacement.split(this, n, t, i) }, _validateMatchTimeout: function (n) { var t = n.getTotalMilliseconds(); if (-1 !== t && (!(t > 0) || !(t <= 2147483646))) throw new System.ArgumentOutOfRangeException("matchTimeout"); } }); Bridge.define("System.Text.RegularExpressions.Capture", { _text: "", _index: 0, _length: 0, ctor: function (n, t, i) { this.$initialize(); this._text = n; this._index = t; this._length = i }, getIndex: function () { return this._index }, getLength: function () { return this._length }, getValue: function () { return this._text.substr(this._index, this._length) }, toString: function () { return this.getValue() }, _getOriginalString: function () { return this._text }, _getLeftSubstring: function () { return this._text.slice(0, _index) }, _getRightSubstring: function () { return this._text.slice(this._index + this._length, this._text.length) } }); Bridge.define("System.Text.RegularExpressions.CaptureCollection", { inherits: function () { return [System.Collections.ICollection] }, config: { properties: { Count: { get: function () { return this._capcount } } }, alias: ["getEnumerator", "System$Collections$IEnumerable$getEnumerator", "getCount", "System$Collections$ICollection$getCount", "Count", "System$Collections$ICollection$Count", "copyTo", "System$Collections$ICollection$copyTo"] }, _group: null, _capcount: 0, _captures: null, ctor: function (n) { this.$initialize(); this._group = n; this._capcount = n._capcount }, getSyncRoot: function () { return this._group }, getIsSynchronized: function () { return !1 }, getIsReadOnly: function () { return !0 }, getCount: function () { return this._capcount }, get: function (n) { if (n === this._capcount - 1 && n >= 0) return this._group; if (n >= this._capcount || n < 0) throw new System.ArgumentOutOfRangeException("i"); return this._ensureCapturesInited(), this._captures[n] }, copyTo: function (n, t) { if (n == null) throw new System.ArgumentNullException("array"); if (n.length < t + this._capcount) throw new System.IndexOutOfRangeException; for (var u, r = t, i = 0; i < this._capcount; r++, i++)u = this.get(i), System.Array.set(n, u, [r]) }, getEnumerator: function () { return new System.Text.RegularExpressions.CaptureEnumerator(this) }, _ensureCapturesInited: function () { var t, n, i, r; if (this._captures == null) { for (t = [], t.length = this._capcount, n = 0; n < this._capcount - 1; n++)i = this._group._caps[n * 2], r = this._group._caps[n * 2 + 1], t[n] = new System.Text.RegularExpressions.Capture(this._group._text, i, r); this._capcount > 0 && (t[this._capcount - 1] = this._group); this._captures = t } } }); Bridge.define("System.Text.RegularExpressions.CaptureEnumerator", { inherits: function () { return [System.Collections.IEnumerator] }, config: { properties: { Current: { get: function () { return this.getCurrent() } } }, alias: ["getCurrent", "System$Collections$IEnumerator$getCurrent", "moveNext", "System$Collections$IEnumerator$moveNext", "reset", "System$Collections$IEnumerator$reset", "Current", "System$Collections$IEnumerator$Current"] }, _captureColl: null, _curindex: 0, ctor: function (n) { this.$initialize(); this._curindex = -1; this._captureColl = n }, moveNext: function () { var n = this._captureColl.getCount(); return this._curindex >= n ? !1 : (this._curindex++, this._curindex < n) }, getCurrent: function () { return this.getCapture() }, getCapture: function () { if (this._curindex < 0 || this._curindex >= this._captureColl.getCount()) throw new System.InvalidOperationException("Enumeration has either not started or has already finished."); return this._captureColl.get(this._curindex) }, reset: function () { this._curindex = -1 } }); Bridge.define("System.Text.RegularExpressions.Group", { inherits: function () { return [System.Text.RegularExpressions.Capture] }, statics: { config: { init: function () { var n = new System.Text.RegularExpressions.Group("", [], 0); this.getEmpty = function () { return n } } }, synchronized: function (n) { if (n == null) throw new System.ArgumentNullException("group"); var t = n.getCaptures(); return t.getCount() > 0 && t.get(0), n } }, _caps: null, _capcount: 0, _capColl: null, ctor: function (n, t, i) { this.$initialize(); var r = System.Text.RegularExpressions, u = i === 0 ? 0 : t[(i - 1) * 2], f = i === 0 ? 0 : t[i * 2 - 1]; r.Capture.ctor.call(this, n, u, f); this._caps = t; this._capcount = i }, getSuccess: function () { return this._capcount !== 0 }, getCaptures: function () { return this._capColl == null && (this._capColl = new System.Text.RegularExpressions.CaptureCollection(this)), this._capColl } }); Bridge.define("System.Text.RegularExpressions.GroupCollection", { inherits: function () { return [System.Collections.ICollection] }, config: { properties: { Count: { get: function () { return this._match._matchcount.length } } }, alias: ["getEnumerator", "System$Collections$IEnumerable$getEnumerator", "getCount", "System$Collections$ICollection$getCount", "Count", "System$Collections$ICollection$Count", "copyTo", "System$Collections$ICollection$copyTo"] }, _match: null, _captureMap: null, _groups: null, ctor: function (n, t) { this.$initialize(); this._match = n; this._captureMap = t }, getSyncRoot: function () { return this._match }, getIsSynchronized: function () { return !1 }, getIsReadOnly: function () { return !0 }, getCount: function () { return this._match._matchcount.length }, get: function (n) { return this._getGroup(n) }, getByName: function (n) { if (this._match._regex == null) return System.Text.RegularExpressions.Group.getEmpty(); var t = this._match._regex.groupNumberFromName(n); return this._getGroup(t) }, copyTo: function (n, t) { var r, f, u, i; if (n == null) throw new System.ArgumentNullException("array"); if (r = this.getCount(), n.length < t + r) throw new System.IndexOutOfRangeException; for (u = t, i = 0; i < r; u++, i++)f = this._getGroup(i), System.Array.set(n, f, [u]) }, getEnumerator: function () { return new System.Text.RegularExpressions.GroupEnumerator(this) }, _getGroup: function (n) { var t, i; return this._captureMap != null ? (i = this._captureMap[n], t = i == null ? System.Text.RegularExpressions.Group.getEmpty() : this._getGroupImpl(i)) : t = n >= this._match._matchcount.length || n < 0 ? System.Text.RegularExpressions.Group.getEmpty() : this._getGroupImpl(n), t }, _getGroupImpl: function (n) { return n === 0 ? this._match : (this._ensureGroupsInited(), this._groups[n]) }, _ensureGroupsInited: function () { var n, i, r, u, t; if (this._groups == null) { for (n = [], n.length = this._match._matchcount.length, n.length > 0 && (n[0] = this._match), t = 0; t < n.length - 1; t++)i = this._match._text, r = this._match._matches[t + 1], u = this._match._matchcount[t + 1], n[t + 1] = new System.Text.RegularExpressions.Group(i, r, u); this._groups = n } } }); Bridge.define("System.Text.RegularExpressions.GroupEnumerator", { inherits: function () { return [System.Collections.IEnumerator] }, config: { properties: { Current: { get: function () { return this.getCurrent() } } }, alias: ["getCurrent", "System$Collections$IEnumerator$getCurrent", "moveNext", "System$Collections$IEnumerator$moveNext", "reset", "System$Collections$IEnumerator$reset", "Current", "System$Collections$IEnumerator$Current"] }, _groupColl: null, _curindex: 0, ctor: function (n) { this.$initialize(); this._curindex = -1; this._groupColl = n }, moveNext: function () { var n = this._groupColl.getCount(); return this._curindex >= n ? !1 : (this._curindex++, this._curindex < n) }, getCurrent: function () { return this.getCapture() }, getCapture: function () { if (this._curindex < 0 || this._curindex >= this._groupColl.getCount()) throw new System.InvalidOperationException("Enumeration has either not started or has already finished."); return this._groupColl.get(this._curindex) }, reset: function () { this._curindex = -1 } }); Bridge.define("System.Text.RegularExpressions.Match", { inherits: function () { return [System.Text.RegularExpressions.Group] }, statics: { config: { init: function () { var n = new System.Text.RegularExpressions.Match(null, 1, "", 0, 0, 0); this.getEmpty = function () { return n } } }, synchronized: function (n) { if (n == null) throw new System.ArgumentNullException("match"); for (var i = n.getGroups(), u = i.getCount(), r, t = 0; t < u; t++)r = i.get(t), System.Text.RegularExpressions.Group.synchronized(r); return n } }, _regex: null, _matchcount: null, _matches: null, _textbeg: 0, _textend: 0, _textstart: 0, _groupColl: null, _textpos: 0, ctor: function (n, t, i, r, u, f) { var s, o, e; for (this.$initialize(), s = System.Text.RegularExpressions, o = [0, 0], s.Group.ctor.call(this, i, o, 0), this._regex = n, this._matchcount = [], this._matchcount.length = t, e = 0; e < t; e++)this._matchcount[e] = 0; this._matches = []; this._matches.length = t; this._matches[0] = o; this._textbeg = r; this._textend = r + u; this._textstart = f }, getGroups: function () { return this._groupColl == null && (this._groupColl = new System.Text.RegularExpressions.GroupCollection(this, null)), this._groupColl }, nextMatch: function () { return this._regex == null ? this : this._regex._runner.run(!1, this._length, this._text, this._textbeg, this._textend - this._textbeg, this._textpos) }, result: function (n) { if (n == null) throw new System.ArgumentNullException("replacement"); if (this._regex == null) throw new System.NotSupportedException("Result cannot be called on a failed Match."); var t = System.Text.RegularExpressions.RegexParser.parseReplacement(n, this._regex._caps, this._regex._capsize, this._regex._capnames, this._regex._options); return t.replacement(this) }, _isMatched: function (n) { return n < this._matchcount.length && this._matchcount[n] > 0 && this._matches[n][this._matchcount[n] * 2 - 1] !== -2 }, _addMatch: function (n, t, i) { var r, e, f, u; if (this._matches[n] == null && (this._matches[n] = new Array(2)), r = this._matchcount[n], r * 2 + 2 > this._matches[n].length) { for (e = this._matches[n], f = new Array(r * 8), u = 0; u < r * 2; u++)f[u] = e[u]; this._matches[n] = f } this._matches[n][r * 2] = t; this._matches[n][r * 2 + 1] = i; this._matchcount[n] = r + 1 }, _tidy: function (n) { var t = this._matches[0]; this._index = t[0]; this._length = t[1]; this._textpos = n; this._capcount = this._matchcount[0] }, _groupToStringImpl: function (n) { var t = this._matchcount[n]; if (t === 0) return ""; var i = this._matches[n], r = i[(t - 1) * 2], u = i[t * 2 - 1]; return this._text.slice(r, r + u) }, _lastGroupToStringImpl: function () { return this._groupToStringImpl(this._matchcount.length - 1) } }); Bridge.define("System.Text.RegularExpressions.MatchSparse", { inherits: function () { return [System.Text.RegularExpressions.Match] }, _caps: null, ctor: function (n, t, i, r, u, f, e) { this.$initialize(); var o = System.Text.RegularExpressions; o.Match.ctor.call(this, n, i, r, u, f, e); this._caps = t }, getGroups: function () { return this._groupColl == null && (this._groupColl = new System.Text.RegularExpressions.GroupCollection(this, this._caps)), this._groupColl } }); Bridge.define("System.Text.RegularExpressions.MatchCollection", { inherits: function () { return [System.Collections.ICollection] }, config: { properties: { Count: { get: function () { return this.getCount() } } }, alias: ["getEnumerator", "System$Collections$IEnumerable$getEnumerator", "getCount", "System$Collections$ICollection$getCount", "Count", "System$Collections$ICollection$Count", "copyTo", "System$Collections$ICollection$copyTo"] }, _regex: null, _input: null, _beginning: 0, _length: 0, _startat: 0, _prevlen: 0, _matches: null, _done: !1, ctor: function (n, t, i, r, u) { if (this.$initialize(), u < 0 || u > t.Length) throw new System.ArgumentOutOfRangeException("startat"); this._regex = n; this._input = t; this._beginning = i; this._length = r; this._startat = u; this._prevlen = -1; this._matches = [] }, getCount: function () { return this._done || this._getMatch(2147483647), this._matches.length }, getSyncRoot: function () { return this }, getIsSynchronized: function () { return !1 }, getIsReadOnly: function () { return !0 }, get: function (n) { var t = this._getMatch(n); if (t == null) throw new System.ArgumentOutOfRangeException("i"); return t }, copyTo: function (n, t) { var r, f, u, i; if (n == null) throw new System.ArgumentNullException("array"); if (r = this.getCount(), n.length < t + r) throw new System.IndexOutOfRangeException; for (u = t, i = 0; i < r; u++, i++)f = this._getMatch(i), System.Array.set(n, f, [u]) }, getEnumerator: function () { return new System.Text.RegularExpressions.MatchEnumerator(this) }, _getMatch: function (n) { if (n < 0) return null; if (this._matches.length > n) return this._matches[n]; if (this._done) return null; var t; do { if (t = this._regex._runner.run(!1, this._prevLen, this._input, this._beginning, this._length, this._startat), !t.getSuccess()) return this._done = !0, null; this._matches.push(t); this._prevLen = t._length; this._startat = t._textpos } while (this._matches.length <= n); return t } }); Bridge.define("System.Text.RegularExpressions.MatchEnumerator", { inherits: function () { return [System.Collections.IEnumerator] }, config: { properties: { Current: { get: function () { return this.getCurrent() } } }, alias: ["getCurrent", "System$Collections$IEnumerator$getCurrent", "moveNext", "System$Collections$IEnumerator$moveNext", "reset", "System$Collections$IEnumerator$reset", "Current", "System$Collections$IEnumerator$Current"] }, _matchcoll: null, _match: null, _curindex: 0, _done: !1, ctor: function (n) { this.$initialize(); this._matchcoll = n }, moveNext: function () { return this._done ? !1 : (this._match = this._matchcoll._getMatch(this._curindex), this._curindex++, this._match == null) ? (this._done = !0, !1) : !0 }, getCurrent: function () { if (this._match == null) throw new System.InvalidOperationException("Enumeration has either not started or has already finished."); return this._match }, reset: function () { this._curindex = 0; this._done = !1; this._match = null } }); Bridge.define("System.Text.RegularExpressions.RegexOptions", { statics: { None: 0, IgnoreCase: 1, Multiline: 2, ExplicitCapture: 4, Compiled: 8, Singleline: 16, IgnorePatternWhitespace: 32, RightToLeft: 64, ECMAScript: 256, CultureInvariant: 512 }, $kind: "enum", $flags: !0 }); Bridge.define("System.Text.RegularExpressions.RegexRunner", { statics: {}, _runregex: null, _netEngine: null, _runtext: "", _runtextpos: 0, _runtextbeg: 0, _runtextend: 0, _runtextstart: 0, _quick: !1, _prevlen: 0, ctor: function (n) { if (this.$initialize(), n == null) throw new System.ArgumentNullException("regex"); this._runregex = n; var i = n.getOptions(), t = System.Text.RegularExpressions.RegexOptions, r = (i & t.IgnoreCase) === t.IgnoreCase, u = (i & t.Multiline) === t.Multiline, f = (i & t.Singleline) === t.Singleline, e = (i & t.IgnorePatternWhitespace) === t.IgnorePatternWhitespace, o = (i & t.ExplicitCapture) === t.ExplicitCapture, s = n._matchTimeout.getTotalMilliseconds(); this._netEngine = new System.Text.RegularExpressions.RegexEngine(n._pattern, r, u, f, e, o, s) }, run: function (n, t, i, r, u, f) { var e, o, s, h; if (f < 0 || f > i.Length) throw new System.ArgumentOutOfRangeException("start", "Start index cannot be less than 0 or greater than input length."); if (u < 0 || u > i.Length) throw new ArgumentOutOfRangeException("length", "Length cannot be less than 0 or exceed input length."); if (this._runtext = i, this._runtextbeg = r, this._runtextend = r + u, this._runtextstart = f, this._quick = n, this._prevlen = t, this._runregex.getRightToLeft() ? (e = this._runtextbeg, o = -1) : (e = this._runtextend, o = 1), this._prevlen === 0) { if (this._runtextstart === e) return System.Text.RegularExpressions.Match.getEmpty(); this._runtextstart += o } return s = this._netEngine.match(this._runtext, this._runtextstart), h = this._convertNetEngineResults(s), h }, parsePattern: function () { return this._netEngine.parsePattern() }, _convertNetEngineResults: function (n) { var f, i, t, e, o, r, u, s; if (n.success && this._quick) return null; if (!n.success) return System.Text.RegularExpressions.Match.getEmpty(); for (f = this.parsePattern(), i = f.sparseSettings.isSparse ? new System.Text.RegularExpressions.MatchSparse(this._runregex, f.sparseSettings.sparseSlotMap, n.groups.length, this._runtext, 0, this._runtext.length, this._runtextstart) : new System.Text.RegularExpressions.Match(this._runregex, n.groups.length, this._runtext, 0, this._runtext.length, this._runtextstart), r = 0; r < n.groups.length; r++)for (t = n.groups[r], o = 0, t.descriptor != null && (o = this._runregex.groupNumberFromName(t.descriptor.name)), u = 0; u < t.captures.length; u++)e = t.captures[u], i._addMatch(o, e.capIndex, e.capLength); return s = n.capIndex + n.capLength, i._tidy(s), i } }); Bridge.define("System.Text.RegularExpressions.RegexParser", { statics: { _Q: 5, _S: 4, _Z: 3, _X: 2, _E: 1, _category: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 3, 4, 0, 0, 0, 4, 4, 5, 5, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 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, 0, 0, 5, 4, 0, 0, 0], escape: function (n) { for (var r, i, u, t = 0; t < n.length; t++)if (System.Text.RegularExpressions.RegexParser._isMetachar(n[t])) { r = ""; i = n[t]; r += n.slice(0, t); do { r += "\\"; switch (i) { case "\n": i = "n"; break; case "\r": i = "r"; break; case "\t": i = "t"; break; case "\f": i = "f" }for (r += i, t++, u = t; t < n.length;) { if (i = n[t], System.Text.RegularExpressions.RegexParser._isMetachar(i)) break; t++ } r += n.slice(u, t) } while (t < n.length); return r } return n }, unescape: function (n) { for (var f = System.Globalization.CultureInfo.invariantCulture, i, u, r, t = 0; t < n.length; t++)if (n[t] === "\\") { i = ""; r = new System.Text.RegularExpressions.RegexParser(f); r._setPattern(n); i += n.slice(0, t); do { for (t++, r._textto(t), t < n.length && (i += r._scanCharEscape()), t = r._textpos(), u = t; t < n.length && n[t] !== "\\";)t++; i += n.slice(u, t) } while (t < n.length); return i } return n }, parseReplacement: function (n, t, i, r, u) { var o = System.Globalization.CultureInfo.getCurrentCulture(), f = new System.Text.RegularExpressions.RegexParser(o), e; return f._options = u, f._noteCaptures(t, i, r), f._setPattern(n), e = f._scanReplacement(), new System.Text.RegularExpressions.RegexReplacement(n, e, t) }, _isMetachar: function (n) { var t = n.charCodeAt(0); return t <= "|".charCodeAt(0) && System.Text.RegularExpressions.RegexParser._category[t] >= System.Text.RegularExpressions.RegexParser._E } }, _caps: null, _capsize: 0, _capnames: null, _pattern: "", _currentPos: 0, _concatenation: null, _culture: null, config: { init: function () { this._options = System.Text.RegularExpressions.RegexOptions.None } }, ctor: function (n) { this.$initialize(); this._culture = n; this._caps = {} }, _noteCaptures: function (n, t, i) { this._caps = n; this._capsize = t; this._capnames = i }, _setPattern: function (n) { n == null && (n = ""); this._pattern = n || ""; this._currentPos = 0 }, _scanReplacement: function () { this._concatenation = new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.Concatenate, this._options); for (var n, t, i; ;) { if (n = this._charsRight(), n === 0) break; for (t = this._textpos(); n > 0 && this._rightChar() !== "$";)this._moveRight(), n--; this._addConcatenate(t, this._textpos() - t); n > 0 && this._moveRightGetChar() === "$" && (i = this._scanDollar(), this._concatenation.addChild(i)) } return this._concatenation }, _addConcatenate: function (n, t) { var i, r, u; t !== 0 && (t > 1 ? (r = this._pattern.slice(n, n + t), i = new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.Multi, this._options, r)) : (u = this._pattern[n], i = new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.One, this._options, u)), this._concatenation.addChild(i)) }, _useOptionE: function () { return (this._options & System.Text.RegularExpressions.RegexOptions.ECMAScript) != 0 }, _makeException: function (n) { return new System.ArgumentException("Incorrect pattern. " + n) }, _scanDollar: function () { var o = 214748364, n, f, i, e, h; if (this._charsRight() === 0) return new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.One, this._options, "$"); var t = this._rightChar(), r, s = this._textpos(), u = s; if (t === "{" && this._charsRight() > 1 ? (r = !0, this._moveRight(), t = this._rightChar()) : r = !1, t >= "0" && t <= "9") { if (!r && this._useOptionE()) { for (n = -1, i = t - "0", this._moveRight(), this._isCaptureSlot(i) && (n = i, u = this._textpos()); this._charsRight() > 0 && (t = this._rightChar()) >= "0" && t <= "9";) { if (f = t - "0", i > o || i === o && f > 7) throw this._makeException("Capture group is out of range."); i = i * 10 + f; this._moveRight(); this._isCaptureSlot(i) && (n = i, u = this._textpos()) } if (this._textto(u), n >= 0) return new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.Ref, this._options, n) } else if (n = this._scanDecimal(), (!r || this._charsRight() > 0 && this._moveRightGetChar() === "}") && this._isCaptureSlot(n)) return new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.Ref, this._options, n) } else if (r && this._isWordChar(t)) { if (e = this._scanCapname(), this._charsRight() > 0 && this._moveRightGetChar() === "}" && this._isCaptureName(e)) return h = this._captureSlotFromName(e), new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.Ref, this._options, h) } else if (!r) { n = 1; switch (t) { case "$": return this._moveRight(), new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.One, this._options, "$"); case "&": n = 0; break; case "`": n = System.Text.RegularExpressions.RegexReplacement.LeftPortion; break; case "'": n = System.Text.RegularExpressions.RegexReplacement.RightPortion; break; case "+": n = System.Text.RegularExpressions.RegexReplacement.LastGroup; break; case "_": n = System.Text.RegularExpressions.RegexReplacement.WholeString }if (n !== 1) return this._moveRight(), new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.Ref, this._options, n) } return this._textto(s), new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.One, this._options, "$") }, _scanDecimal: function () { for (var r = 214748364, n = 0, t, i; this._charsRight() > 0;) { if (t = this._rightChar(), t < "0" || t > "9") break; if (i = t - "0", this._moveRight(), n > r || n === r && i > 7) throw this._makeException("Capture group is out of range."); n *= 10; n += i } return n }, _scanOctal: function () { var i, n, t; for (t = 3, t > this._charsRight() && (t = this._charsRight()), n = 0; t > 0 && (i = this._rightChar() - "0") <= 7; t -= 1)if (this._moveRight(), n *= 8, n += i, this._useOptionE() && n >= 32) break; return n &= 255, String.fromCharCode(n) }, _scanHex: function (n) { var t, i; if (t = 0, this._charsRight() >= n) for (; n > 0 && (i = this._hexDigit(this._moveRightGetChar())) >= 0; n -= 1)t *= 16, t += i; if (n > 0) throw this._makeException("Insufficient hexadecimal digits."); return t }, _hexDigit: function (n) { var t, i = n.charCodeAt(0); return (t = i - "0".charCodeAt(0)) <= 9 ? t : (t = i - "a".charCodeAt(0)) <= 5 ? t + 10 : (t = i - "A".charCodeAt(0)) <= 5 ? t + 10 : -1 }, _scanControl: function () { if (this._charsRight() <= 0) throw this._makeException("Missing control character."); var t = this._moveRightGetChar(), n = t.charCodeAt(0); if (n >= "a".charCodeAt(0) && n <= "z".charCodeAt(0) && (n = n - ("a".charCodeAt(0) - "A".charCodeAt(0))), (n = n - "@".charCodeAt(0)) < " ".charCodeAt(0)) return String.fromCharCode(n); throw this._makeException("Unrecognized control character."); }, _scanCapname: function () { for (var n = this._textpos(); this._charsRight() > 0;)if (!this._isWordChar(this._moveRightGetChar())) { this._moveLeft(); break } return _pattern.slice(n, this._textpos()) }, _scanCharEscape: function () { var n = this._moveRightGetChar(), t; if (n >= "0" && n <= "7") return this._moveLeft(), this._scanOctal(); switch (n) { case "x": return this._scanHex(2); case "u": return this._scanHex(4); case "a": return "\x07"; case "b": return "\b"; case "e": return "\x1b"; case "f": return "\f"; case "n": return "\n"; case "r": return "\r"; case "t": return "\t"; case "v": return "\x0b"; case "c": return this._scanControl(); default: if (t = n === "8" || n === "9" || n === "_", t || !this._useOptionE() && this._isWordChar(n)) throw this._makeException("Unrecognized escape sequence \\" + n + "."); return n } }, _captureSlotFromName: function (n) { return this._capnames[n] }, _isCaptureSlot: function (n) { return this._caps != null ? this._caps[n] != null : n >= 0 && n < this._capsize }, _isCaptureName: function (n) { return this._capnames == null ? !1 : _capnames[n] != null }, _isWordChar: function (n) { return System.Char.isLetter(n.charCodeAt(0)) }, _charsRight: function () { return this._pattern.length - this._currentPos }, _rightChar: function () { return this._pattern[this._currentPos] }, _moveRightGetChar: function () { return this._pattern[this._currentPos++] }, _moveRight: function () { this._currentPos++ }, _textpos: function () { return this._currentPos }, _textto: function (n) { this._currentPos = n }, _moveLeft: function () { this._currentPos-- } }); Bridge.define("System.Text.RegularExpressions.RegexNode", { statics: { One: 9, Multi: 12, Ref: 13, Empty: 23, Concatenate: 25 }, _type: 0, _str: null, _children: null, _next: null, _m: 0, config: { init: function () { this._options = System.Text.RegularExpressions.RegexOptions.None } }, ctor: function (n, t, i) { this.$initialize(); this._type = n; this._options = t; n === System.Text.RegularExpressions.RegexNode.Ref ? this._m = i : this._str = i || null }, addChild: function (n) { this._children == null && (this._children = []); var t = n._reduce(); this._children.push(t); t._next = this }, childCount: function () { return this._children == null ? 0 : this._children.length }, child: function (n) { return this._children[n] }, _reduce: function () { var n; switch (this._type) { case System.Text.RegularExpressions.RegexNode.Concatenate: n = this._reduceConcatenation(); break; default: n = this }return n }, _reduceConcatenation: function () { var e = !1, o = 0, u, n, i, r, t, f; if (this._children == null) return new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.Empty, this._options); for (r = 0, t = 0; r < this._children.length; r++, t++)if (n = this._children[r], t < r && (this._children[t] = n), n._type === System.Text.RegularExpressions.RegexNode.Concatenate && n._isRightToLeft()) { for (f = 0; f < n._children.length; f++)n._children[f]._next = this; this._children.splice.apply(this._children, [r + 1, 0].concat(n._children)); t-- } else if (n._type === System.Text.RegularExpressions.RegexNode.Multi || n._type === System.Text.RegularExpressions.RegexNode.One) { if (u = n._options & (System.Text.RegularExpressions.RegexOptions.RightToLeft | System.Text.RegularExpressions.RegexOptions.IgnoreCase), !e || o !== u) { e = !0; o = u; continue } i = this._children[--t]; i._type === System.Text.RegularExpressions.RegexNode.One && (i._type = System.Text.RegularExpressions.RegexNode.Multi, i._str = i._str); (u & System.Text.RegularExpressions.RegexOptions.RightToLeft) == 0 ? i._str += n._str : i._str = n._str + i._str } else n._type === System.Text.RegularExpressions.RegexNode.Empty ? t-- : e = !1; return t < r && this._children.splice(t, r - t), this._stripEnation(System.Text.RegularExpressions.RegexNode.Empty) }, _stripEnation: function (n) { switch (this.childCount()) { case 0: return new t.RegexNode(n, this._options); case 1: return this.child(0); default: return this } }, _isRightToLeft: function () { return (this._options & System.Text.RegularExpressions.RegexOptions.RightToLeft) > 0 ? !0 : !1 } }); Bridge.define("System.Text.RegularExpressions.RegexReplacement", { statics: { replace: function (n, t, i, r, u) { var f, o, e, s, h, c, l; if (n == null) throw new System.ArgumentNullException("evaluator"); if (r < -1) throw new System.ArgumentOutOfRangeException("count", "Count cannot be less than -1."); if (u < 0 || u > i.length) throw new System.ArgumentOutOfRangeException("startat", "Start index cannot be less than 0 or greater than input length."); if (r === 0) return i; if (f = t.match(i, u), f.getSuccess()) { if (o = "", t.getRightToLeft()) { c = []; e = i.length; do { if (s = f.getIndex(), h = f.getLength(), s + h !== e && c.push(i.slice(s + h, e)), e = s, c.push(n(f)), --r == 0) break; f = f.nextMatch() } while (f.getSuccess()); for (o = new StringBuilder, e > 0 && (o += o.slice(0, e)), l = c.length - 1; l >= 0; l--)o += c[l] } else { e = 0; do { if (s = f.getIndex(), h = f.getLength(), s !== e && (o += i.slice(e, s)), e = s + h, o += n(f), --r == 0) break; f = f.nextMatch() } while (f.getSuccess()); e < i.length && (o += i.slice(e, i.length)) } return o } return i }, split: function (n, t, i, r) { var f, u, e, o, s, c, h, l; if (i < 0) throw new System.ArgumentOutOfRangeException("count", "Count can't be less than 0."); if (r < 0 || r > t.length) throw new System.ArgumentOutOfRangeException("startat", "Start index cannot be less than 0 or greater than input length."); if (f = [], i === 1) return f.push(t), f; if (--i, u = n.match(t, r), u.getSuccess()) if (n.getRightToLeft()) { for (o = t.length; ;) { for (s = u.getIndex(), c = u.getLength(), h = u.getGroups(), l = h.getCount(), f.push(t.slice(s + c, o)), o = s, e = 1; e < l; e++)u._isMatched(e) && f.push(h.get(e).toString()); if (--i, i === 0) break; if (u = u.nextMatch(), !u.getSuccess()) break } f.push(t.slice(0, o)); f.reverse() } else { for (o = 0; ;) { for (s = u.getIndex(), c = u.getLength(), h = u.getGroups(), l = h.getCount(), f.push(t.slice(o, s)), o = s + c, e = 1; e < l; e++)u._isMatched(e) && f.push(h.get(e).toString()); if (--i, i === 0) break; if (u = u.nextMatch(), !u.getSuccess()) break } f.push(t.slice(o, t.length)) } else f.push(t); return f }, Specials: 4, LeftPortion: -1, RightPortion: -2, LastGroup: -3, WholeString: -4 }, _rep: "", _strings: [], _rules: [], ctor: function (n, t, i) { if (this.$initialize(), this._rep = n, t._type !== System.Text.RegularExpressions.RegexNode.Concatenate) throw new System.ArgumentException("Replacement error."); for (var r = "", u = [], e = [], f, o, s = 0; s < t.childCount(); s++) { o = t.child(s); switch (o._type) { case System.Text.RegularExpressions.RegexNode.Multi: case System.Text.RegularExpressions.RegexNode.One: r += o._str; break; case System.Text.RegularExpressions.RegexNode.Ref: r.length > 0 && (e.push(u.length), u.push(r), r = ""); f = o._m; i != null && f >= 0 && (f = i[f]); e.push(-System.Text.RegularExpressions.RegexReplacement.Specials - 1 - f); break; default: throw new System.ArgumentException("Replacement error."); } } r.length > 0 && (e.push(u.length), u.push(r)); this._strings = u; this._rules = e }, getPattern: function () { return _rep }, replacement: function (n) { return this._replacementImpl("", n) }, replace: function (n, t, i, r) { var u, e, f, o, s, h, c; if (i < -1) throw new System.ArgumentOutOfRangeException("count", "Count cannot be less than -1."); if (r < 0 || r > t.length) throw new System.ArgumentOutOfRangeException("startat", "Start index cannot be less than 0 or greater than input length."); if (i === 0) return t; if (u = n.match(t, r), u.getSuccess()) { if (e = "", n.getRightToLeft()) { h = []; f = t.length; do { if (o = u.getIndex(), s = u.getLength(), o + s !== f && h.push(t.slice(o + s, f)), f = o, this._replacementImplRTL(h, u), --i == 0) break; u = u.nextMatch() } while (u.getSuccess()); for (f > 0 && (e += e.slice(0, f)), c = h.length - 1; c >= 0; c--)e += h[c] } else { f = 0; do { if (o = u.getIndex(), s = u.getLength(), o !== f && (e += t.slice(f, o)), f = o + s, e = this._replacementImpl(e, u), --i == 0) break; u = u.nextMatch() } while (u.getSuccess()); f < t.length && (e += t.slice(f, t.length)) } return e } return t }, _replacementImpl: function (n, t) { for (var u = System.Text.RegularExpressions.RegexReplacement.Specials, i, r = 0; r < this._rules.length; r++)if (i = this._rules[r], i >= 0) n += this._strings[i]; else if (i < -u) n += t._groupToStringImpl(-u - 1 - i); else switch (-u - 1 - i) { case System.Text.RegularExpressions.RegexReplacement.LeftPortion: n += t._getLeftSubstring(); break; case System.Text.RegularExpressions.RegexReplacement.RightPortion: n += t._getRightSubstring(); break; case System.Text.RegularExpressions.RegexReplacement.LastGroup: n += t._lastGroupToStringImpl(); break; case System.Text.RegularExpressions.RegexReplacement.WholeString: n += t._getOriginalString() }return n }, _replacementImplRTL: function (n, t) { for (var u = System.Text.RegularExpressions.RegexReplacement.Specials, i, r = _rules.length - 1; r >= 0; r--)if (i = this._rules[r], i >= 0) n.push(this._strings[i]); else if (i < -u) n.push(t._groupToStringImpl(-u - 1 - i)); else switch (-u - 1 - i) { case System.Text.RegularExpressions.RegexReplacement.LeftPortion: n.push(t._getLeftSubstring()); break; case System.Text.RegularExpressions.RegexReplacement.RightPortion: n.push(t._getRightSubstring()); break; case System.Text.RegularExpressions.RegexReplacement.LastGroup: n.push(t._lastGroupToStringImpl()); break; case System.Text.RegularExpressions.RegexReplacement.WholeString: n.push(t._getOriginalString()) } } }); Bridge.define("System.Text.RegularExpressions.RegexEngine", { _pattern: "", _patternInfo: null, _text: "", _textStart: 0, _timeoutMs: -1, _timeoutTime: -1, _settings: null, _branchType: { base: 0, offset: 1, lazy: 2, greedy: 3, or: 4 }, _branchResultKind: { ok: 1, endPass: 2, nextPass: 3, nextBranch: 4 }, ctor: function (n, t, i, r, u, f, e) { if (this.$initialize(), n == null) throw new System.ArgumentNullException("pattern"); this._pattern = n; this._timeoutMs = e; this._settings = { ignoreCase: t, multiline: i, singleline: r, ignoreWhitespace: u, explicitCapture: f } }, match: function (n, t) { var i; if (n == null) throw new System.ArgumentNullException("text"); if (t != null && (t < 0 || t > n.length)) throw new System.ArgumentOutOfRangeException("textStart", "Start index cannot be less than 0 or greater than input length."); return (this._text = n, this._textStart = t, this._timeoutTime = this._timeoutMs > 0 ? (new Date).getTime() + System.Convert.toInt32(this._timeoutMs + .5) : -1, i = this.parsePattern(), i.shouldFail) ? this._getEmptyMatch() : (this._checkTimeout(), this._scanAndTransformResult(t, i.tokens, !1, null)) }, parsePattern: function () { if (this._patternInfo == null) { var n = System.Text.RegularExpressions.RegexEngineParser, t = n.parsePattern(this._pattern, this._cloneSettings(this._settings)); this._patternInfo = t } return this._patternInfo }, _scanAndTransformResult: function (n, t, i, r) { var u = this._scan(n, this._text.length, t, i, r); return this._collectScanResults(u, n) }, _scan: function (n, t, i, r, u) { var c = this._branchResultKind, f = [], e, h, o; if (f.grCaptureCache = {}, e = null, h = null, i.length === 0) return o = new System.Text.RegularExpressions.RegexEngineState, o.capIndex = n, o.txtIndex = n, o.capLength = 0, o; var l = r ? this._branchType.base : this._branchType.offset, a = this._patternInfo.isContiguous ? n : t, s = new System.Text.RegularExpressions.RegexEngineBranch(l, n, n, a); for (s.pushPass(0, i, this._cloneSettings(this._settings)), s.started = !0, s.state.txtIndex = n, f.push(s); f.length;) { if (e = f[f.length - 1], h = this._scanBranch(t, f, e), h === c.ok && (u == null || e.state.capLength === u)) return e.state; this._advanceToNextBranch(f, e); this._checkTimeout() } return null }, _scanBranch: function (n, t, i) { var r = this._branchResultKind, u, f; if (i.mustFail) return i.mustFail = !1, r.nextBranch; while (i.hasPass()) { if (u = i.peekPass(), u.tokens == null || u.tokens.length === 0) f = r.endPass; else { if (this._addAlternationBranches(t, i, u) === r.nextBranch) return r.nextBranch; f = this._scanPass(n, t, i, u) } switch (f) { case r.nextBranch: return f; case r.nextPass: continue; case r.endPass: case r.ok: i.popPass(); break; default: throw new System.InvalidOperationException("Unexpected branch result."); } } return r.ok }, _scanPass: function (n, t, i, r) { for (var f = this._branchResultKind, s = r.tokens.length, o, u, e; r.index < s;) { if (o = r.tokens[r.index], u = r.probe, u == null) { if (this._addBranchBeforeProbing(t, i, r, o)) return f.nextBranch } else { if (u.value < u.min || u.forced) { if (e = this._scanToken(n, t, i, r, o), e !== f.ok) return e; u.value += 1; u.forced = !1; continue } if (this._addBranchAfterProbing(t, i, r, u), u.forced) continue; r.probe = null; r.index++; continue } e = this._scanToken(n, t, i, r, o); switch (e) { case f.nextBranch: case f.nextPass: case f.endPass: return e; case f.ok: r.index++; break; default: throw new System.InvalidOperationException("Unexpected branch-pass result."); } } return f.ok }, _addAlternationBranches: function (n, t, i) { var h = System.Text.RegularExpressions.RegexEngineParser.tokenTypes, c = this._branchType, l = i.tokens.length, o = this._branchResultKind, u, f, e, s, r; if (!i.alternationHandled && !i.tokens.noAlternation) { for (u = [-1], r = 0; r < l; r++)s = i.tokens[r], s.type === h.alternation && u.push(r); if (u.length > 1) { for (r = 0; r < u.length; r++)f = new System.Text.RegularExpressions.RegexEngineBranch(c.or, r, 0, u.length, t.state), f.isNotFailing = !0, e = f.peekPass(), e.alternationHandled = !0, e.index = u[r] + 1, n.splice(n.length - r, 0, f); return n[n.length - u.length].isNotFailing = !1, t.mustFail = !0, i.alternationHandled = !0, o.nextBranch } i.tokens.noAlternation = !0 } return o.ok }, _addBranchBeforeProbing: function (n, t, i, r) { var u = this._tryGetTokenProbe(r), f, e; return u == null ? !1 : (i.probe = u, f = u.isLazy ? this._branchType.lazy : this._branchType.greedy, e = new System.Text.RegularExpressions.RegexEngineBranch(f, u.value, u.min, u.max, t.state), n.push(e), !0) }, _addBranchAfterProbing: function (n, t, i, r) { var f, e, u; r.isLazy ? r.value + 1 <= r.max && (f = t.clone(), e = f.peekPass().probe, f.value += 1, e.forced = !0, n.splice(n.length - 1, 0, f), t.isNotFailing = !0) : r.value + 1 <= r.max && (u = t.clone(), u.started = !0, u.peekPass().probe = null, u.peekPass().index++, n.splice(n.length - 1, 0, u), r.forced = !0, t.value += 1, t.isNotFailing = !0) }, _tryGetTokenProbe: function (n) { var t = n.qtoken, u, i, r; if (t == null) return null; if (u = System.Text.RegularExpressions.RegexEngineParser.tokenTypes, t.type === u.quantifier) switch (t.value) { case "*": case "*?": i = 0; r = 2147483647; break; case "+": case "+?": i = 1; r = 2147483647; break; case "?": case "??": i = 0; r = 1; break; default: throw new System.InvalidOperationException("Unexpected quantifier value."); } else if (t.type === u.quantifierN) i = t.data.n, r = t.data.n; else if (t.type === u.quantifierNM) i = t.data.n, r = t.data.m != null ? t.data.m : 2147483647; else return null; return new System.Text.RegularExpressions.RegexEngineProbe(i, r, 0, t.data.isLazy) }, _advanceToNextBranch: function (n, t) { if (n.length !== 0) { var i = n[n.length - 1]; if (!i.started) { i.started = !0; return } if (t !== i) throw new System.InvalidOperationException("Current branch is supposed to be the last one."); if (n.length === 1 && t.type === this._branchType.offset) t.value++, t.state.txtIndex = t.value, t.mustFail = !1, t.state.capIndex = null, t.state.capLength = 0, t.state.groups.length = 0, t.state.passes.length = 1, t.state.passes[0].clearState(this._cloneSettings(this._settings)), t.value > t.max && n.pop(); else if (n.pop(), !t.isNotFailing) { i = n[n.length - 1]; this._advanceToNextBranch(n, i); return } } }, _collectScanResults: function (n, t) { var o = this._patternInfo.groups, a = this._text, l = {}, s, f, h = {}, r, e, i, u, c = this._getEmptyMatch(); if (n != null) { for (s = n.groups, this._fillMatch(c, n.capIndex, n.capLength, t), u = 0; u < s.length; u++)(f = s[u], r = o[f.rawIndex - 1], r.constructs.skipCapture) || (e = { capIndex: f.capIndex, capLength: f.capLength, value: a.slice(f.capIndex, f.capIndex + f.capLength) }, i = h[r.name], i == null ? (i = { capIndex: 0, capLength: 0, value: "", success: !1, captures: [e] }, h[r.name] = i) : i.captures.push(e)); for (u = 0; u < o.length; u++)(r = o[u], r.constructs.skipCapture) || l[r.name] !== !0 && (i = h[r.name], i == null ? i = { capIndex: 0, capLength: 0, value: "", success: !1, captures: [] } : i.captures.length > 0 && (e = i.captures[i.captures.length - 1], i.capIndex = e.capIndex, i.capLength = e.capLength, i.value = e.value, i.success = !0), l[r.name] = !0, i.descriptor = r, c.groups.push(i)) } return c }, _scanToken: function (n, t, i, r, u) { var f = System.Text.RegularExpressions.RegexEngineParser.tokenTypes, e = this._branchResultKind; switch (u.type) { case f.group: case f.groupImnsx: case f.alternationGroup: return this._scanGroupToken(n, t, i, r, u); case f.groupImnsxMisc: return this._scanGroupImnsxToken(u.group.constructs, r.settings); case f.charGroup: return this._scanCharGroupToken(t, i, r, u, !1); case f.charNegativeGroup: return this._scanCharNegativeGroupToken(t, i, r, u, !1); case f.escChar: case f.escCharOctal: case f.escCharHex: case f.escCharUnicode: case f.escCharCtrl: return this._scanLiteral(n, t, i, r, u.data.ch); case f.escCharOther: case f.escCharClass: return this._scanEscapeToken(t, i, r, u); case f.escCharClassCategory: throw new System.NotSupportedException("Unicode Category constructions are not supported."); case f.escCharClassBlock: throw new System.NotSupportedException("Unicode Named block constructions are not supported."); case f.escCharClassDot: return this._scanDotToken(n, t, i, r); case f.escBackrefNumber: return this._scanBackrefNumberToken(n, t, i, r, u); case f.escBackrefName: return this._scanBackrefNameToken(n, t, i, r, u); case f.anchor: case f.escAnchor: return this._scanAnchorToken(n, t, i, r, u); case f.groupConstruct: case f.groupConstructName: case f.groupConstructImnsx: case f.groupConstructImnsxMisc: return e.ok; case f.alternationGroupCondition: case f.alternationGroupRefNameCondition: case f.alternationGroupRefNumberCondition: return this._scanAlternationConditionToken(n, t, i, r, u); case f.alternation: return e.endPass; case f.commentInline: case f.commentXMode: return e.ok; default: return this._scanLiteral(n, t, i, r, u.value) } }, _scanGroupToken: function (n, t, i, r, u) { var h = System.Text.RegularExpressions.RegexEngineParser.tokenTypes, c = this._branchResultKind, o = i.state.txtIndex, l, f; if (r.onHold) { if (u.type === h.group) { var a = u.group.rawIndex, s = r.onHoldTextIndex, v = o - s, e = t.grCaptureCache[a]; if (e == null && (e = {}, t.grCaptureCache[a] = e), l = s.toString() + "_" + v.toString(), e[l] == null) e[l] = !0; else return c.nextBranch; u.group.constructs.emptyCapture || (u.group.isBalancing ? i.state.logCaptureGroupBalancing(u.group, s) : i.state.logCaptureGroup(u.group, s, v)) } return r.onHold = !1, r.onHoldTextIndex = -1, c.ok } if (u.type === h.group || u.type === h.groupImnsx) { if (f = u.group.constructs, this._scanGroupImnsxToken(f, r.settings), f.isPositiveLookahead || f.isNegativeLookahead || f.isPositiveLookbehind || f.isNegativeLookbehind) return this._scanLook(i, o, n, u); if (f.isNonbacktracking) return this._scanNonBacktracking(i, o, n, u) } return r.onHoldTextIndex = o, r.onHold = !0, i.pushPass(0, u.children, this._cloneSettings(r.settings)), c.nextPass }, _scanGroupImnsxToken: function (n, t) { var i = this._branchResultKind; return n.isIgnoreCase != null && (t.ignoreCase = n.isIgnoreCase), n.isMultiline != null && (t.multiline = n.isMultiline), n.isSingleLine != null && (t.singleline = n.isSingleLine), n.isIgnoreWhitespace != null && (t.ignoreWhitespace = n.isIgnoreWhitespace), n.isExplicitCapture != null && (t.explicitCapture = n.isExplicitCapture), i.ok }, _scanAlternationConditionToken: function (n, t, i, r, u) { var o = System.Text.RegularExpressions.RegexEngineParser.tokenTypes, f = this._branchResultKind, c = u.children, l = i.state.txtIndex, e = f.nextBranch, s, h; return u.type === o.alternationGroupRefNameCondition || u.type === o.alternationGroupRefNumberCondition ? (s = i.state.resolveBackref(u.data.packedSlotId), e = s != null ? f.ok : f.nextBranch) : (h = this._scan(l, n, c, !0, null), this._combineScanResults(i, h) && (e = f.ok)), e === f.nextBranch && r.tokens.noAlternation && (e = f.endPass), e }, _scanLook: function (n, t, i, r) { var u = r.group.constructs, e = this._branchResultKind, f = r.children, o, s, h = u.isPositiveLookahead || u.isNegativeLookahead, c = u.isPositiveLookbehind || u.isNegativeLookbehind; return h || c ? (f = f.slice(1, f.length), o = u.isPositiveLookahead || u.isPositiveLookbehind, s = h ? this._scanLookAhead(n, t, i, f) : this._scanLookBehind(n, t, i, f), o === s ? e.ok : e.nextBranch) : null }, _scanLookAhead: function (n, t, i, r) { var u = this._scan(t, i, r, !0, null); return this._combineScanResults(n, u) }, _scanLookBehind: function (n, t, i, r) { for (var u = t, f, e; u >= 0;) { if (f = t - u, e = this._scan(u, i, r, !0, f), this._combineScanResults(n, e)) return !0; --u } return !1 }, _scanNonBacktracking: function (n, t, i, r) { var e = this._branchResultKind, u = r.children, f; return (u = u.slice(1, u.length), f = this._scan(t, i, u, !0, null), !f) ? e.nextBranch : (n.state.logCapture(f.capLength), e.ok) }, _scanLiteral: function (n, t, i, r, u) { var e = this._branchResultKind, o = i.state.txtIndex, f; if (o + u.length > n) return e.nextBranch; if (r.settings.ignoreCase) { for (f = 0; f < u.length; f++)if (this._text[o + f].toLowerCase() !== u[f].toLowerCase()) return e.nextBranch } else for (f = 0; f < u.length; f++)if (this._text[o + f] !== u[f]) return e.nextBranch; return i.state.logCapture(u.length), e.ok }, _scanWithJsRegex: function (n, t, i, r, u) { var o = this._branchResultKind, h = t.state.txtIndex, e = this._text[h], s, f; return (e == null && (e = ""), s = i.settings.ignoreCase ? "i" : "", f = r.rgx, f == null && (u == null && (u = r.value), f = new RegExp(u, s), r.rgx = f), f.test(e)) ? (t.state.logCapture(e.length), o.ok) : o.nextBranch }, _scanWithJsRegex2: function (n, t) { var r = this._branchResultKind, i = this._text[n], u; return (i == null && (i = ""), u = new RegExp(t, ""), u.test(i)) ? r.ok : r.nextBranch }, _scanCharGroupToken: function (n, t, i, r, u) { var l = System.Text.RegularExpressions.RegexEngineParser.tokenTypes, f = this._branchResultKind, w = t.state.txtIndex, e = this._text[w], s, a, h, o, v, c, y, p; if (e == null) return f.nextBranch; if (h = e.charCodeAt(0), o = r.data.ranges, r.data.substractToken != null) { if (r.data.substractToken.type === l.charGroup) y = this._scanCharGroupToken(n, t, i, r.data.substractToken, !0); else if (r.data.substractToken.type === l.charNegativeGroup) y = this._scanCharNegativeGroupToken(n, t, i, r.data.substractToken, !0); else throw new System.InvalidOperationException("Unexpected substuct group token."); if (y === f.ok) return r.type === l.charGroup ? f.nextBranch : f.ok } if (o.charClassToken != null && (p = this._scanWithJsRegex(n, t, i, o.charClassToken), p === f.ok)) return f.ok; for (a = 0; a < 2; a++) { for (s = 0; s < o.length; s++) { if (v = o[s], v.n > h) break; if (h <= v.m) return u || t.state.logCapture(1), f.ok } c == null && i.settings.ignoreCase && (c = e.toUpperCase(), e = e === c ? e.toLowerCase() : c, h = e.charCodeAt(0)) } return f.nextBranch }, _scanCharNegativeGroupToken: function (n, t, i, r, u) { var f = this._branchResultKind, o = t.state.txtIndex, s = this._text[o], e; return s == null ? f.nextBranch : (e = this._scanCharGroupToken(n, t, i, r, !0), e === f.ok) ? f.nextBranch : (u || t.state.logCapture(1), f.ok) }, _scanEscapeToken: function (n, t, i, r) { return this._scanWithJsRegex(n, t, i, r) }, _scanDotToken: function (n, t, i, r) { var u = this._branchResultKind, f = i.state.txtIndex; if (r.settings.singleline) { if (f < n) return i.state.logCapture(1), u.ok } else if (f < n && this._text[f] !== "\n") return i.state.logCapture(1), u.ok; return u.nextBranch }, _scanBackrefNumberToken: function (n, t, i, r, u) { var o = this._branchResultKind, f = i.state.resolveBackref(u.data.slotId), e; return f == null ? o.nextBranch : (e = this._text.slice(f.capIndex, f.capIndex + f.capLength), this._scanLiteral(n, t, i, r, e)) }, _scanBackrefNameToken: function (n, t, i, r, u) { var o = this._branchResultKind, f = i.state.resolveBackref(u.data.slotId), e; return f == null ? o.nextBranch : (e = this._text.slice(f.capIndex, f.capIndex + f.capLength), this._scanLiteral(n, t, i, r, e)) }, _scanAnchorToken: function (n, t, i, r, u) { var e = this._branchResultKind, f = i.state.txtIndex, o, s; if (u.value === "\\b" || u.value === "\\B") { if (o = f > 0 && this._scanWithJsRegex2(f - 1, "\\w") === e.ok, s = this._scanWithJsRegex2(f, "\\w") === e.ok, o === s == (u.value === "\\B")) return e.ok } else if (u.value === "^") { if (f === 0 || r.settings.multiline && this._text[f - 1] === "\n") return e.ok } else if (u.value === "$") { if (f === n || r.settings.multiline && this._text[f] === "\n") return e.ok } else if (u.value === "\\A") { if (f === 0) return e.ok } else if (u.value === "\\z") { if (f === n) return e.ok } else if (u.value === "\\Z") { if (f === n || f === n - 1 && this._text[f] === "\n") return e.ok } else if (u.value === "\\G") return e.ok; return e.nextBranch }, _cloneSettings: function (n) { return { ignoreCase: n.ignoreCase, multiline: n.multiline, singleline: n.singleline, ignoreWhitespace: n.ignoreWhitespace, explicitCapture: n.explicitCapture } }, _combineScanResults: function (n, t) { if (t != null) { for (var u = n.state.groups, r = t.groups, f = r.length, i = 0; i < f; ++i)u.push(r[i]); return !0 } return !1 }, _getEmptyMatch: function () { return { capIndex: 0, capLength: 0, success: !1, value: "", groups: [], captures: [] } }, _fillMatch: function (n, t, i, r) { t == null && (t = r); n.capIndex = t; n.capLength = i; n.success = !0; n.value = this._text.slice(t, t + i); n.groups.push({ capIndex: t, capLength: i, value: n.value, success: !0, captures: [{ capIndex: t, capLength: i, value: n.value }] }); n.captures.push(n.groups[0].captures[0]) }, _checkTimeout: function () { if (!(this._timeoutTime < 0)) { var n = (new Date).getTime(); if (n >= this._timeoutTime) throw new System.RegexMatchTimeoutException(this._text, this._pattern, System.TimeSpan.fromMilliseconds(this._timeoutMs)); } } }); Bridge.define("System.Text.RegularExpressions.RegexEngineBranch", { type: 0, value: 0, min: 0, max: 0, isStarted: !1, isNotFailing: !1, state: null, ctor: function (n, t, i, r, u) { this.$initialize(); this.type = n; this.value = t; this.min = i; this.max = r; this.state = u != null ? u.clone() : new System.Text.RegularExpressions.RegexEngineState }, pushPass: function (n, t, i) { var r = new System.Text.RegularExpressions.RegexEnginePass(n, t, i); this.state.passes.push(r) }, peekPass: function () { return this.state.passes[this.state.passes.length - 1] }, popPass: function () { return this.state.passes.pop() }, hasPass: function () { return this.state.passes.length > 0 }, clone: function () { var n = new System.Text.RegularExpressions.RegexEngineBranch(this.type, this.value, this.min, this.max, this.state); return n.isNotFailing = this.isNotFailing, n } }); Bridge.define("System.Text.RegularExpressions.RegexEngineState", { txtIndex: 0, capIndex: null, capLength: 0, passes: null, groups: null, ctor: function () { this.$initialize(); this.passes = []; this.groups = [] }, logCapture: function (n) { this.capIndex == null && (this.capIndex = this.txtIndex); this.txtIndex += n; this.capLength += n }, logCaptureGroup: function (n, t, i) { this.groups.push({ rawIndex: n.rawIndex, slotId: n.packedSlotId, capIndex: t, capLength: i }) }, logCaptureGroupBalancing: function (n, t) { for (var s = n.balancingSlotId, r = this.groups, i = r.length - 1, u, f, e, o; i >= 0;) { if (r[i].slotId === s) { u = r[i]; f = i; break } --i } return u != null && f != null ? (r.splice(f, 1), n.constructs.name1 != null && (e = u.capIndex + u.capLength, o = t - e, this.logCaptureGroup(n, e, o)), !0) : !1 }, resolveBackref: function (n) { for (var i = this.groups, t = i.length - 1; t >= 0;) { if (i[t].slotId === n) return i[t]; --t } return null }, clone: function () { var t = new System.Text.RegularExpressions.RegexEngineState, e, u; t.txtIndex = this.txtIndex; t.capIndex = this.capIndex; t.capLength = this.capLength; for (var o = t.passes, f = this.passes, r = f.length, i, n = 0; n < r; n++)i = f[n].clone(), o.push(i); for (e = t.groups, u = this.groups, r = u.length, n = 0; n < r; n++)i = u[n], e.push(i); return t } }); Bridge.define("System.Text.RegularExpressions.RegexEnginePass", { index: 0, tokens: null, probe: null, onHold: !1, onHoldTextIndex: -1, alternationHandled: !1, settings: null, ctor: function (n, t, i) { this.$initialize(); this.index = n; this.tokens = t; this.settings = i }, clearState: function (n) { this.index = 0; this.probe = null; this.onHold = !1; this.onHoldTextIndex = -1; this.alternationHandled = !1; this.settings = n }, clone: function () { var n = new System.Text.RegularExpressions.RegexEnginePass(this.index, this.tokens, this.settings); return n.onHold = this.onHold, n.onHoldTextIndex = this.onHoldTextIndex, n.alternationHandled = this.alternationHandled, n.probe = this.probe != null ? this.probe.clone() : null, n } }); Bridge.define("System.Text.RegularExpressions.RegexEngineProbe", { min: 0, max: 0, value: 0, isLazy: !1, forced: !1, ctor: function (n, t, i, r) { this.$initialize(); this.min = n; this.max = t; this.value = i; this.isLazy = r; this.forced = !1 }, clone: function () { var n = new System.Text.RegularExpressions.RegexEngineProbe(this.min, this.max, this.value, this.isLazy); return n.forced = this.forced, n } }); Bridge.define("System.Text.RegularExpressions.RegexEngineParser", { statics: { _hexSymbols: "0123456789abcdefABCDEF", _octSymbols: "01234567", _decSymbols: "0123456789", _escapedChars: "abtrvfnexcu", _escapedCharClasses: "pPwWsSdD", _escapedAnchors: "AZzGbB", _escapedSpecialSymbols: " .,$^{}[]()|*+-=?\\|/\"':;~!@#%&", _whiteSpaceChars: " \r\n\t\v\f\u00A0\uFEFF", _unicodeCategories: ["Lu", "Ll", "Lt", "Lm", "Lo", "L", "Mn", "Mc", "Me", "M", "Nd", "Nl", "No", "N", "Pc", "Pd", "Ps", "Pe", "Pi", "Pf", "Po", "P", "Sm", "Sc", "Sk", "So", "S", "Zs", "Zl", "Zp", "Z", "Cc", "Cf", "Cs", "Co", "Cn", "C"], _namedCharBlocks: ["IsBasicLatin", "IsLatin-1Supplement", "IsLatinExtended-A", "IsLatinExtended-B", "IsIPAExtensions", "IsSpacingModifierLetters", "IsCombiningDiacriticalMarks", "IsGreek", "IsGreekandCoptic", "IsCyrillic", "IsCyrillicSupplement", "IsArmenian", "IsHebrew", "IsArabic", "IsSyriac", "IsThaana", "IsDevanagari", "IsBengali", "IsGurmukhi", "IsGujarati", "IsOriya", "IsTamil", "IsTelugu", "IsKannada", "IsMalayalam", "IsSinhala", "IsThai", "IsLao", "IsTibetan", "IsMyanmar", "IsGeorgian", "IsHangulJamo", "IsEthiopic", "IsCherokee", "IsUnifiedCanadianAboriginalSyllabics", "IsOgham", "IsRunic", "IsTagalog", "IsHanunoo", "IsBuhid", "IsTagbanwa", "IsKhmer", "IsMongolian", "IsLimbu", "IsTaiLe", "IsKhmerSymbols", "IsPhoneticExtensions", "IsLatinExtendedAdditional", "IsGreekExtended", "IsGeneralPunctuation", "IsSuperscriptsandSubscripts", "IsCurrencySymbols", "IsCombiningDiacriticalMarksforSymbols", "IsCombiningMarksforSymbols", "IsLetterlikeSymbols", "IsNumberForms", "IsArrows", "IsMathematicalOperators", "IsMiscellaneousTechnical", "IsControlPictures", "IsOpticalCharacterRecognition", "IsEnclosedAlphanumerics", "IsBoxDrawing", "IsBlockElements", "IsGeometricShapes", "IsMiscellaneousSymbols", "IsDingbats", "IsMiscellaneousMathematicalSymbols-A", "IsSupplementalArrows-A", "IsBraillePatterns", "IsSupplementalArrows-B", "IsMiscellaneousMathematicalSymbols-B", "IsSupplementalMathematicalOperators", "IsMiscellaneousSymbolsandArrows", "IsCJKRadicalsSupplement", "IsKangxiRadicals", "IsIdeographicDescriptionCharacters", "IsCJKSymbolsandPunctuation", "IsHiragana", "IsKatakana", "IsBopomofo", "IsHangulCompatibilityJamo", "IsKanbun", "IsBopomofoExtended", "IsKatakanaPhoneticExtensions", "IsEnclosedCJKLettersandMonths", "IsCJKCompatibility", "IsCJKUnifiedIdeographsExtensionA", "IsYijingHexagramSymbols", "IsCJKUnifiedIdeographs", "IsYiSyllables", "IsYiRadicals", "IsHangulSyllables", "IsHighSurrogates", "IsHighPrivateUseSurrogates", "IsLowSurrogates", "IsPrivateUse or IsPrivateUseArea", "IsCJKCompatibilityIdeographs", "IsAlphabeticPresentationForms", "IsArabicPresentationForms-A", "IsVariationSelectors", "IsCombiningHalfMarks", "IsCJKCompatibilityForms", "IsSmallFormVariants", "IsArabicPresentationForms-B", "IsHalfwidthandFullwidthForms", "IsSpecials"], _controlChars: ["@", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "[", "\\", "]", "^", "_"], tokenTypes: { literal: 0, escChar: 110, escCharOctal: 111, escCharHex: 112, escCharCtrl: 113, escCharUnicode: 114, escCharOther: 115, escCharClass: 120, escCharClassCategory: 121, escCharClassBlock: 122, escCharClassDot: 123, escAnchor: 130, escBackrefNumber: 140, escBackrefName: 141, charGroup: 200, charNegativeGroup: 201, charInterval: 202, anchor: 300, group: 400, groupImnsx: 401, groupImnsxMisc: 402, groupConstruct: 403, groupConstructName: 404, groupConstructImnsx: 405, groupConstructImnsxMisc: 406, quantifier: 500, quantifierN: 501, quantifierNM: 502, alternation: 600, alternationGroup: 601, alternationGroupCondition: 602, alternationGroupRefNumberCondition: 603, alternationGroupRefNameCondition: 604, commentInline: 700, commentXMode: 701 }, parsePattern: function (n, t) { var i = System.Text.RegularExpressions.RegexEngineParser, r = i._parsePatternImpl(n, t, 0, n.length), f = [], u; return i._fillGroupDescriptors(r, f), u = i._getGroupSparseInfo(f), i._fillBalancingGroupInfo(f, u), i._preTransformBackrefTokens(n, r, u), i._transformRawTokens(t, r, u, [], [], 0), i._updateGroupDescriptors(r), { groups: f, sparseSettings: u, isContiguous: t.isContiguous || !1, shouldFail: t.shouldFail || !1, tokens: r } }, _transformRawTokens: function (n, t, i, r, u, f) { for (var l = System.Text.RegularExpressions.RegexEngineParser, s = l.tokenTypes, a, e, c, h, p, b, v, y, w, o = 0; o < t.length; o++) { if (e = t[o], o < t.length - 1) { w = t[o + 1]; switch (w.type) { case s.quantifier: case s.quantifierN: case s.quantifierNM: e.qtoken = w; t.splice(o + 1, 1); --o } } if (e.type === s.escBackrefNumber) { if (p = e.data.number, h = i.getPackedSlotIdBySlotNumber(p), h == null) throw new System.ArgumentException("Reference to undefined group number " + p.toString() + "."); if (r.indexOf(h) < 0) { n.shouldFail = !0; continue } e.data.slotId = h } else if (e.type === s.escBackrefName) { if (c = e.data.name, h = i.getPackedSlotIdBySlotName(c), h == null) { if (b = l._matchChars(c, 0, c.length, l._decSymbols), b.matchLength === c.length) { c = "\\" + c; l._updatePatternToken(e, s.escBackrefNumber, e.index, c.length, c); --o; continue } throw new System.ArgumentException("Reference to undefined group name '" + c + "'."); } if (r.indexOf(h) < 0) { n.shouldFail = !0; continue } e.data.slotId = h } else if (e.type === s.anchor || e.type === s.escAnchor) { if (e.value === "\\G") { f === 0 && o === 0 ? n.isContiguous = !0 : n.shouldFail = !0; t.splice(o, 1); --o; continue } } else if (e.type === s.commentInline || e.type === s.commentXMode) { t.splice(o, 1); --o; continue } else if (e.type === s.literal) { if (o > 0 && !e.qtoken && (a = t[o - 1], a.type === s.literal && !a.qtoken)) { a.value += e.value; a.length += e.length; t.splice(o, 1); --o; continue } } else if (e.type === s.alternationGroupCondition && e.data != null) if (e.data.number != null) { if (h = i.getPackedSlotIdBySlotNumber(e.data.number), h == null) throw new System.ArgumentException("Reference to undefined group number " + c + "."); e.data.packedSlotId = h; l._updatePatternToken(e, s.alternationGroupRefNumberCondition, e.index, e.length, e.value) } else h = i.getPackedSlotIdBySlotName(e.data.name), h != null ? (e.data.packedSlotId = h, l._updatePatternToken(e, s.alternationGroupRefNameCondition, e.index, e.length, e.value)) : delete e.data; e.children && e.children.length && (v = e.type === s.group ? [e.group.rawIndex] : [], v = v.concat(u), y = e.localSettings || n, l._transformRawTokens(y, e.children, i, r, v, f + 1), n.shouldFail = n.shouldFail || y.shouldFail, n.isContiguous = n.isContiguous || y.isContiguous); e.type === s.group && r.push(e.group.packedSlotId) } }, _fillGroupDescriptors: function (n, t) { var f = System.Text.RegularExpressions.RegexEngineParser, i, r, u; for (f._fillGroupStructure(t, n, null), u = 1, r = 0; r < t.length; r++)i = t[r], i.constructs.name1 != null ? (i.name = i.constructs.name1, i.hasName = !0) : (i.hasName = !1, i.name = u.toString(), ++u) }, _fillGroupStructure: function (n, t, i) { for (var s = System.Text.RegularExpressions.RegexEngineParser, e = s.tokenTypes, f, r, u, c, h, o = 0; o < t.length; o++)r = t[o], h = r.children && r.children.length, (r.type === e.group || r.type === e.groupImnsx || r.type === e.groupImnsxMisc) && (f = { rawIndex: n.length + 1, number: -1, parentGroup: null, innerGroups: [], name: null, hasName: !1, constructs: null, quantifier: null, exprIndex: -1, exprLength: 0, expr: null, exprFull: null }, r.group = f, r.type === e.group && (n.push(f), i != null && (r.group.parentGroup = i, i.innerGroups.push(f))), c = h ? r.children[0] : null, f.constructs = s._fillGroupConstructs(c), u = f.constructs, r.isNonCapturingExplicit && (delete r.isNonCapturingExplicit, u.isNonCapturingExplicit = !0), r.isEmptyCapturing && (delete r.isEmptyCapturing, u.emptyCapture = !0), u.skipCapture = u.isNonCapturing || u.isNonCapturingExplicit || u.isNonbacktracking || u.isPositiveLookahead || u.isNegativeLookahead || u.isPositiveLookbehind || u.isNegativeLookbehind || u.name1 == null && u.name2 != null), h && s._fillGroupStructure(n, r.children, r.group) }, _getGroupSparseInfo: function (n) { var h = System.Text.RegularExpressions.RegexEngineParser, f = {}, l = [], c = {}, r, a, t, s, i, u, v, o = { 0: 0 }, e, p, y; for (o.lastSlot = 0, e = { "0": 0 }, e.keys = ["0"], u = 0; u < n.length; u++)(i = n[u], i.constructs.skipCapture) || (i.constructs.isNumberName1 ? (t = parseInt(i.constructs.name1), l.push(t), f[t] ? f[t].push(i) : f[t] = [i]) : (s = i.constructs.name1, c[s] ? c[s].push(i) : c[s] = [i])); for (p = function (n, t) { return n - t }, l.sort(p), y = !1, v = 0; v < 2; v++) { for (u = 0; u < n.length; u++)(i = n[u], i.constructs.skipCapture) || i.constructs.emptyCapture === !0 === y && (t = e.keys.length, i.hasName || (a = [i], r = f[t], r != null && (a = a.concat(r), f[t] = null), h._addSparseSlotForSameNamedGroups(a, t, o, e))); y = !0 } for (u = 0; u < n.length; u++)if ((i = n[u], !i.constructs.skipCapture) && i.hasName && !i.constructs.isNumberName1) { for (t = e.keys.length, r = f[t]; r != null;)h._addSparseSlotForSameNamedGroups(r, t, o, e), f[t] = null, t = e.keys.length, r = f[t]; if (!i.constructs.isNumberName1) for (t = e.keys.length, r = f[t]; r != null;)h._addSparseSlotForSameNamedGroups(r, t, o, e), f[t] = null, t = e.keys.length, r = f[t]; s = i.constructs.name1; r = c[s]; r != null && (h._addSparseSlotForSameNamedGroups(r, t, o, e), c[s] = null) } for (u = 0; u < l.length; u++)t = l[u], r = f[t], r != null && (h._addSparseSlotForSameNamedGroups(r, t, o, e), f[t] = null); return { isSparse: o.isSparse || !1, sparseSlotMap: o, sparseSlotNameMap: e, getPackedSlotIdBySlotNumber: function (n) { return this.sparseSlotMap[n] }, getPackedSlotIdBySlotName: function (n) { return this.sparseSlotNameMap[n] } } }, _addSparseSlot: function (n, t, i, r) { var u = r.keys.length; n.packedSlotId = u; i[t] = u; r[n.name] = u; r.keys.push(n.name); !i.isSparse && t - i.lastSlot > 1 && (i.isSparse = !0); i.lastSlot = t }, _addSparseSlotForSameNamedGroups: function (n, t, i, r) { var o = System.Text.RegularExpressions.RegexEngineParser, u, f, e; if (o._addSparseSlot(n[0], t, i, r), f = n[0].sparseSlotId, e = n[0].packedSlotId, n.length > 1) for (u = 1; u < n.length; u++)n[u].sparseSlotId = f, n[u].packedSlotId = e }, _fillGroupConstructs: function (n) { var o = System.Text.RegularExpressions.RegexEngineParser, f = o.tokenTypes, t = { name1: null, name2: null, isNumberName1: !1, isNumberName2: !1, isNonCapturing: !1, isNonCapturingExplicit: !1, isIgnoreCase: null, isMultiline: null, isExplicitCapture: null, isSingleLine: null, isIgnoreWhitespace: null, isPositiveLookahead: !1, isNegativeLookahead: !1, isPositiveLookbehind: !1, isNegativeLookbehind: !1, isNonbacktracking: !1 }, s, i, h, c; if (n == null) return t; if (n.type === f.groupConstruct) switch (n.value) { case "?:": t.isNonCapturing = !0; break; case "?=": t.isPositiveLookahead = !0; break; case "?!": t.isNegativeLookahead = !0; break; case "?>": t.isNonbacktracking = !0; break; case "?<=": t.isPositiveLookbehind = !0; break; case "? 2) throw new System.ArgumentException("Invalid group name."); i[0].length && (t.name1 = i[0], h = o._validateGroupName(i[0]), t.isNumberName1 = h.isNumberName); i.length === 2 && (t.name2 = i[1], c = o._validateGroupName(i[1]), t.isNumberName2 = c.isNumberName) } else if (n.type === f.groupConstructImnsx || n.type === f.groupConstructImnsxMisc) for (var l = n.type === f.groupConstructImnsx ? 1 : 0, a = n.length - 1 - l, u = !0, r, e = 1; e <= a; e++)r = n.value[e], r === "-" ? u = !1 : r === "i" ? t.isIgnoreCase = u : r === "m" ? t.isMultiline = u : r === "n" ? t.isExplicitCapture = u : r === "s" ? t.isSingleLine = u : r === "x" && (t.isIgnoreWhitespace = u); return t }, _validateGroupName: function (n) { var t, i, r; if (!n || !n.length) throw new System.ArgumentException("Invalid group name: Group names must begin with a word character."); if (t = n[0] >= "0" && n[0] <= "9", t && (i = System.Text.RegularExpressions.RegexEngineParser, r = i._matchChars(n, 0, n.length, i._decSymbols), r.matchLength !== n.length)) throw new System.ArgumentException("Invalid group name: Group names must begin with a word character."); return { isNumberName: t } }, _fillBalancingGroupInfo: function (n, t) { for (var i, r = 0; r < n.length; r++)if (i = n[r], i.constructs.name2 != null && (i.isBalancing = !0, i.balancingSlotId = t.getPackedSlotIdBySlotName(i.constructs.name2), i.balancingSlotId == null)) throw new System.ArgumentException("Reference to undefined group name '" + i.constructs.name2 + "'."); }, _preTransformBackrefTokens: function (n, t, i) { for (var u = System.Text.RegularExpressions.RegexEngineParser, s = u.tokenTypes, f, e, h, c, r, o = 0; o < t.length; o++) { if (r = t[o], r.type === s.escBackrefNumber) { if (f = r.data.number, f >= 1 && i.getPackedSlotIdBySlotNumber(f) != null) continue; if (f <= 9) throw new System.ArgumentException("Reference to undefined group number " + f.toString() + "."); if (e = u._parseOctalCharToken(r.value, 0, r.length), e == null) throw new System.ArgumentException("Unrecognized escape sequence " + r.value.slice(0, 2) + "."); h = r.length - e.length; u._modifyPatternToken(r, n, s.escCharOctal, null, e.length); r.data = e.data; h > 0 && (c = u._createPatternToken(n, s.literal, r.index + r.length, h), t.splice(o + 1, 0, c)) } r.children && r.children.length && u._preTransformBackrefTokens(n, r.children, i) } }, _updateGroupDescriptors: function (n, t) { for (var o = System.Text.RegularExpressions.RegexEngineParser, e = o.tokenTypes, r, i, f, h, c, s = t || 0, u = 0; u < n.length; u++)i = n[u], i.index = s, i.children && (c = i.childrenPostfix.length, o._updateGroupDescriptors(i.children, s + c), h = o._constructPattern(i.children), i.value = i.childrenPrefix + h + i.childrenPostfix, i.length = i.value.length), i.type === e.group && i.group && (r = i.group, r.exprIndex = i.index, r.exprLength = i.length, u + 1 < n.length && (f = n[u + 1], (f.type === e.quantifier || f.type === e.quantifierN || f.type === e.quantifierNM) && (r.quantifier = f.value)), r.expr = i.value, r.exprFull = r.expr + (r.quantifier != null ? r.quantifier : "")), s += i.length }, _constructPattern: function (n) { for (var i = "", r, t = 0; t < n.length; t++)r = n[t], i += r.value; return i }, _parsePatternImpl: function (n, t, i, r) { if (n == null) throw new System.ArgumentNullException("pattern"); if (i < 0 || i > n.length) throw new System.ArgumentOutOfRangeException("startIndex"); if (r < i || r > n.length) throw new System.ArgumentOutOfRangeException("endIndex"); for (var f = System.Text.RegularExpressions.RegexEngineParser, h = f.tokenTypes, s = [], o, e, u = i; u < r;) { if (e = n[u], t.ignoreWhitespace && f._whiteSpaceChars.indexOf(e) >= 0) { ++u; continue } o = e === "." ? f._parseDotToken(n, u, r) : e === "\\" ? f._parseEscapeToken(n, u, r) : e === "[" ? f._parseCharRangeToken(n, u, r) : e === "^" || e === "$" ? f._parseAnchorToken(n, u) : e === "(" ? f._parseGroupToken(n, t, u, r) : e === "|" ? f._parseAlternationToken(n, u) : e === "#" && t.ignoreWhitespace ? f._parseXModeCommentToken(n, u, r) : f._parseQuantifierToken(n, u, r); o == null && (o = f._createPatternToken(n, h.literal, u, 1)); o != null && (s.push(o), u += o.length) } return s }, _parseEscapeToken: function (n, t, i) { var u = System.Text.RegularExpressions.RegexEngineParser, o = u.tokenTypes, f = n[t], h, c, l, s, y, e, a, r, v; if (f !== "\\") return null; if (t + 1 >= i) throw new System.ArgumentException("Illegal \\ at end of pattern."); if (f = n[t + 1], f >= "1" && f <= "9") return h = u._matchChars(n, t + 1, i, u._decSymbols, 3), c = u._createPatternToken(n, o.escBackrefNumber, t, 1 + h.matchLength), c.data = { number: parseInt(h.match, 10) }, c; if (u._escapedAnchors.indexOf(f) >= 0) return u._createPatternToken(n, o.escAnchor, t, 2); if (l = u._parseEscapedChar(n, t, i), l != null) return l; if (f === "k") { if (t + 2 < i && (s = n[t + 2], (s === "'" || s === "<") && (y = s === "<" ? ">" : "'", e = u._matchUntil(n, t + 3, i, y), e.unmatchLength === 1 && e.matchLength > 0))) return a = u._createPatternToken(n, o.escBackrefName, t, 3 + e.matchLength + 1), a.data = { name: e.match }, a; throw new System.ArgumentException("Malformed \\k<...> named back reference."); } if (r = f.charCodeAt(0), r >= 0 && r < 48 || r > 57 && r < 65 || r > 90 && r < 95 || r === 96 || r > 122 && r < 128) return v = u._createPatternToken(n, o.escChar, t, 2), v.data = { n: r, ch: f }, v; throw new System.ArgumentException("Unrecognized escape sequence \\" + f + "."); }, _parseOctalCharToken: function (n, t, i) { var r = System.Text.RegularExpressions.RegexEngineParser, s = r.tokenTypes, u = n[t]; if (u === "\\" && t + 1 < i && (u = n[t + 1], u >= "0" && u <= "7")) { var f = r._matchChars(n, t + 1, i, r._octSymbols, 3), e = parseInt(f.match, 8), o = r._createPatternToken(n, s.escCharOctal, t, 1 + f.matchLength); return o.data = { n: e, ch: String.fromCharCode(e) }, o } return null }, _parseEscapedChar: function (n, t, i) { var r = System.Text.RegularExpressions.RegexEngineParser, o = r.tokenTypes, f, u = n[t], a, v, h, c, y, p, e, s, l; if (u !== "\\" || t + 1 >= i) return null; if (u = n[t + 1], r._escapedChars.indexOf(u) >= 0) { if (u === "x") { if (a = r._matchChars(n, t + 2, i, r._hexSymbols, 2), a.matchLength !== 2) throw new System.ArgumentException("Insufficient hexadecimal digits."); return v = parseInt(a.match, 16), f = r._createPatternToken(n, o.escCharHex, t, 4), f.data = { n: v, ch: String.fromCharCode(v) }, f } if (u === "c") { if (t + 2 >= i) throw new System.ArgumentException("Missing control character."); if (h = n[t + 2], h = h.toUpperCase(), c = this._controlChars.indexOf(h), c >= 0) return f = r._createPatternToken(n, o.escCharCtrl, t, 3), f.data = { n: c, ch: String.fromCharCode(c) }, f; throw new System.ArgumentException("Unrecognized control character."); } else if (u === "u") { if (y = r._matchChars(n, t + 2, i, r._hexSymbols, 4), y.matchLength !== 4) throw new System.ArgumentException("Insufficient hexadecimal digits."); return p = parseInt(y.match, 16), f = r._createPatternToken(n, o.escCharUnicode, t, 6), f.data = { n: p, ch: String.fromCharCode(p) }, f } f = r._createPatternToken(n, o.escChar, t, 2); switch (u) { case "a": e = 7; break; case "b": e = 8; break; case "t": e = 9; break; case "r": e = 13; break; case "v": e = 11; break; case "f": e = 12; break; case "n": e = 10; break; case "e": e = 27; break; default: throw new System.ArgumentException("Unexpected escaped char: '" + u + "'."); }return f.data = { n: e, ch: String.fromCharCode(e) }, f } if (u >= "0" && u <= "7") return r._parseOctalCharToken(n, t, i); if (r._escapedCharClasses.indexOf(u) >= 0) { if (u === "p" || u === "P") { if (s = r._matchUntil(n, t + 2, i, "}"), s.matchLength < 2 || s.match[0] !== "{" || s.unmatchLength !== 1) throw new System.ArgumentException("Incomplete p{X} character escape."); if (l = s.match.slice(1), r._unicodeCategories.indexOf(l) >= 0) return r._createPatternToken(n, o.escCharClassCategory, t, 2 + s.matchLength + 1); if (r._namedCharBlocks.indexOf(l) >= 0) return r._createPatternToken(n, o.escCharClassBlock, t, 2 + s.matchLength + 1); throw new System.ArgumentException("Unknown property '" + l + "'."); } return r._createPatternToken(n, o.escCharClass, t, 2) } return r._escapedSpecialSymbols.indexOf(u) >= 0 ? (f = r._createPatternToken(n, o.escCharOther, t, 2), f.data = { n: u.charCodeAt(0), ch: u }, f) : null }, _parseCharRangeToken: function (n, t, i) { var e = System.Text.RegularExpressions.RegexEngineParser, a = e.tokenTypes, u = [], v, o, f, y = !1, p = !1, w = !1, s = n[t], r, h, c, b, l, k; if (s !== "[") return null; for (r = t + 1, h = -1, r < i && n[r] === "^" && (y = !0, r++), b = r; r < i;) { if (s = n[r], p = w, s === "-" && r + 1 < i && n[r + 1] === "[") o = e._parseCharRangeToken(n, r + 1, i), o.childrenPrefix = "-" + o.childrenPrefix, o.length++, f = o, c = o.length, w = !0; else if (s === "\\") { if (f = e._parseEscapedChar(n, r, i), f == null) throw new System.ArgumentException("Unrecognized escape sequence \\" + s + "."); c = f.length } else if (s === "]" && r > b) { h = r; break } else f = e._createPatternToken(n, a.literal, r, 1), c = 1; if (p) throw new System.ArgumentException("A subtraction must be the last element in a character class."); u.length > 1 && (v = e._parseCharIntervalToken(n, u[u.length - 2], u[u.length - 1], f), v != null && (u.pop(), u.pop(), f = v)); f != null && (u.push(f), r += c) } if (h < 0 || u.length < 1) throw new System.ArgumentException("Unterminated [] set."); return l = y ? e._createPatternToken(n, a.charNegativeGroup, t, 1 + h - t, u, "[^", "]") : e._createPatternToken(n, a.charGroup, t, 1 + h - t, u, "[", "]"), k = e._tidyCharRange(u), l.data = { ranges: k }, o != null && (l.data.substractToken = o), l }, _parseCharIntervalToken: function (n, t, i, r) { var h = System.Text.RegularExpressions.RegexEngineParser, u = h.tokenTypes, f, o, e, s; if (i.type !== u.literal || i.value !== "-" || t.type !== u.literal && t.type !== u.escChar && t.type !== u.escCharOctal && t.type !== u.escCharHex && t.type !== u.escCharCtrl && t.type !== u.escCharUnicode && t.type !== u.escCharOther || r.type !== u.literal && r.type !== u.escChar && r.type !== u.escCharOctal && r.type !== u.escCharHex && r.type !== u.escCharCtrl && r.type !== u.escCharUnicode && r.type !== u.escCharOther) return null; if (t.type === u.literal ? (f = t.value.charCodeAt(0), o = t.value) : (f = t.data.n, o = t.data.ch), r.type === u.literal ? (e = r.value.charCodeAt(0), s = r.value) : (e = r.data.n, s = r.data.ch), f > e) throw new System.NotSupportedException("[x-y] range in reverse order."); var l = t.index, a = t.length + i.length + r.length, c = h._createPatternToken(n, u.charInterval, l, a, [t, i, r], "", ""); return c.data = { startN: f, startCh: o, endN: e, endCh: s }, c }, _tidyCharRange: function (n) { for (var l = System.Text.RegularExpressions.RegexEngineParser, i = l.tokenTypes, f, e, o, t, r = [], a = [], s, h, c, v, u = 0; u < n.length; u++) { if (t = n[u], t.type === i.literal) e = t.value.charCodeAt(0), o = e; else if (t.type === i.charInterval) e = t.data.startN, o = t.data.endN; else if (t.type === i.literal || t.type === i.escChar || t.type === i.escCharOctal || t.type === i.escCharHex || t.type === i.escCharCtrl || t.type === i.escCharUnicode || t.type === i.escCharOther) e = t.data.n, o = e; else if (t.type === i.charGroup || t.type === i.charNegativeGroup) continue; else { a.push(t); continue } if (r.length === 0) { r.push({ n: e, m: o }); continue } for (f = 0; f < r.length; f++)if (r[f].n > e) break; r.splice(f, 0, { n: e, m: o }) } for (u = 0; u < r.length; u++) { for (s = r[u], c = 0, f = u + 1; f < r.length; f++) { if (h = r[f], h.n > 1 + s.m) break; c++; h.m > s.m && (s.m = h.m) } c > 0 && r.splice(u + 1, c) } return a.length > 0 && (v = "[" + l._constructPattern(a) + "]", r.charClassToken = l._createPatternToken(v, i.charGroup, 0, v.length, n, "[", "]")), r }, _parseDotToken: function (n, t) { var i = System.Text.RegularExpressions.RegexEngineParser, r = i.tokenTypes, u = n[t]; return u !== "." ? null : i._createPatternToken(n, r.escCharClassDot, t, 1) }, _parseAnchorToken: function (n, t) { var i = System.Text.RegularExpressions.RegexEngineParser, u = i.tokenTypes, r = n[t]; return r !== "^" && r !== "$" ? null : i._createPatternToken(n, u.anchor, t, 1) }, _updateSettingsFromConstructs: function (n, t) { t.isIgnoreWhitespace != null && (n.ignoreWhitespace = t.isIgnoreWhitespace); t.isExplicitCapture != null && (n.explicitCapture = t.isExplicitCapture) }, _parseGroupToken: function (n, t, i, r) { var s = System.Text.RegularExpressions.RegexEngineParser, u = s.tokenTypes, a = { ignoreWhitespace: t.ignoreWhitespace, explicitCapture: t.explicitCapture }, e = n[i], h, c, l, ft, et, p, w, ot, b, nt; if (e !== "(") return null; var k = 1, y = !1, d = i + 1, o = -1, g = !1, tt = !1, it = !1, rt = !1, ut = !1, v = null, f = s._parseGroupConstructToken(n, a, i + 1, r); for (f != null && (v = this._fillGroupConstructs(f), d += f.length, f.type === u.commentInline ? g = !0 : f.type === u.alternationGroupCondition ? tt = !0 : f.type === u.groupConstructImnsx ? (this._updateSettingsFromConstructs(a, v), rt = !0) : f.type === u.groupConstructImnsxMisc && (this._updateSettingsFromConstructs(t, v), it = !0)), a.explicitCapture && (v == null || v.name1 == null) && (ut = !0), h = d; h < r;) { if (e = n[h], e === "\\") h++; else if (e === "[") y = !0; else if (e === "]" && y) y = !1; else if (!y) if (e !== "(" || g) { if (e === ")" && (--k, k === 0)) { o = h; break } } else ++k; ++h } if (c = null, g) { if (o < 0) throw new System.ArgumentException("Unterminated (?#...) comment."); c = s._createPatternToken(n, u.commentInline, i, 1 + o - i) } else { if (o < 0) throw new System.ArgumentException("Not enough )'s."); if (l = s._parsePatternImpl(n, a, d, o), f != null && l.splice(0, 0, f), tt) { for (ft = l.length, w = 0, p = 0; p < ft; p++)if (et = l[p], et.type === u.alternation && (++w, w > 1)) throw new System.ArgumentException("Too many | in (?()|)."); if (w === 0) throw new System.NotSupportedException("Alternation group without | is not supported."); ot = s._createPatternToken(n, u.alternationGroup, i, 1 + o - i, l, "(", ")"); c = ot } else b = u.group, it ? b = u.groupImnsxMisc : rt && (b = u.groupImnsx), nt = s._createPatternToken(n, b, i, 1 + o - i, l, "(", ")"), nt.localSettings = a, c = nt } return ut && (c.isNonCapturingExplicit = !0), c }, _parseGroupConstructToken: function (n, t, i, r) { var f = System.Text.RegularExpressions.RegexEngineParser, o = f.tokenTypes, u = n[i], h, c, s, l, e, a, v; if (u !== "?" || i + 1 >= r) return null; if (u = n[i + 1], u === ":" || u === "=" || u === "!" || u === ">") return f._createPatternToken(n, o.groupConstruct, i, 2); if (u === "#") return f._createPatternToken(n, o.commentInline, i, 2); if (u === "(") return f._parseAlternationGroupConditionToken(n, t, i, r); if (u === "<" && i + 2 < r && (h = n[i + 2], h === "=" || h === "!")) return f._createPatternToken(n, o.groupConstruct, i, 3); if (u === "<" || u === "'") { if (c = u === "<" ? ">" : u, s = f._matchUntil(n, i + 2, r, c), s.unmatchLength !== 1 || s.matchLength === 0) throw new System.ArgumentException("Unrecognized grouping construct."); if (l = s.match.slice(0, 1), "`~@#$%^&*()+{}[]|\\/|'\";:,.?".indexOf(l) >= 0) throw new System.ArgumentException("Invalid group name: Group names must begin with a word character."); return f._createPatternToken(n, o.groupConstructName, i, 2 + s.matchLength + 1) } if (e = f._matchChars(n, i + 1, r, "imnsx-"), e.matchLength > 0 && (e.unmatchCh === ":" || e.unmatchCh === ")")) return a = e.unmatchCh === ":" ? o.groupConstructImnsx : o.groupConstructImnsxMisc, v = e.unmatchCh === ":" ? 1 : 0, f._createPatternToken(n, a, i, 1 + e.matchLength + v); throw new System.ArgumentException("Unrecognized grouping construct."); }, _parseQuantifierToken: function (n, t, i) { var f = System.Text.RegularExpressions.RegexEngineParser, s = f.tokenTypes, r = null, e = n[t], u, o, h, c; if (e === "*" || e === "+" || e === "?") r = f._createPatternToken(n, s.quantifier, t, 1), r.data = { val: e }; else if (e === "{" && (u = f._matchChars(n, t + 1, i, f._decSymbols), u.matchLength !== 0)) if (u.unmatchCh === "}") r = f._createPatternToken(n, s.quantifierN, t, 1 + u.matchLength + 1), r.data = { n: parseInt(u.match, 10) }; else if (u.unmatchCh === "," && (o = f._matchChars(n, u.unmatchIndex + 1, i, f._decSymbols), o.unmatchCh === "}" && (r = f._createPatternToken(n, s.quantifierNM, t, 1 + u.matchLength + 1 + o.matchLength + 1), r.data = { n: parseInt(u.match, 10), m: null }, o.matchLength !== 0 && (r.data.m = parseInt(o.match, 10), r.data.n > r.data.m)))) throw new System.ArgumentException("Illegal {x,y} with x > y."); return r != null && (h = t + r.length, h < i && (c = n[h], c === "?" && (this._modifyPatternToken(r, n, r.type, r.index, r.length + 1), r.data.isLazy = !0))), r }, _parseAlternationToken: function (n, t) { var i = System.Text.RegularExpressions.RegexEngineParser, r = i.tokenTypes, u = n[t]; return u !== "|" ? null : i._createPatternToken(n, r.alternation, t, 1) }, _parseAlternationGroupConditionToken: function (n, t, i, r) { var s = System.Text.RegularExpressions.RegexEngineParser, u = s.tokenTypes, h, l, c = null, w = n[i], f, e, o, v, y, p, a; if (w !== "?" || i + 1 >= r || n[i + 1] !== "(" || (f = s._parseGroupToken(n, t, i + 1, r), f == null)) return null; if (f.type === u.commentInline) throw new System.ArgumentException("Alternation conditions cannot be comments."); if (e = f.children, e && e.length) { if (h = e[0], h.type === u.groupConstructName) throw new System.ArgumentException("Alternation conditions do not capture and cannot be named."); if ((h.type === u.groupConstruct || h.type === u.groupConstructImnsx) && (l = s._findFirstGroupWithoutConstructs(e), l != null && (l.isEmptyCapturing = !0)), h.type === u.literal) if (o = f.value.slice(1, f.value.length - 1), v = o[0] >= "0" && o[0] <= "9", v) { if (y = s._matchChars(o, 0, o.length, s._decSymbols), y.matchLength !== o.length) throw new System.ArgumentException("Malformed Alternation group number: " + o + "."); p = parseInt(o, 10); c = { number: p } } else c = { name: o } } return e.length && (e[0].type === u.groupConstruct || e[0].type === u.groupConstructImnsx) || (h = s._createPatternToken("?:", u.groupConstruct, 0, 2), e.splice(0, 0, h)), a = s._createPatternToken(n, u.alternationGroupCondition, f.index - 1, 1 + f.length, [f], "?", ""), c != null && (a.data = c), a }, _findFirstGroupWithoutConstructs: function (n) { for (var f = System.Text.RegularExpressions.RegexEngineParser, u = f.tokenTypes, i = null, t, r = 0; r < n.length; ++r)if (t = n[r], t.type === u.group && t.children && t.children.length) { if (t.children[0].type !== u.groupConstruct && t.children[0].type !== u.groupConstructImnsx) { i = t; break } if (t.children && t.children.length && (i = f._findFirstGroupWithoutConstructs(t.children), i != null)) break } return i }, _parseXModeCommentToken: function (n, t, i) { var f = System.Text.RegularExpressions.RegexEngineParser, e = f.tokenTypes, u = n[t], r; if (u !== "#") return null; for (r = t + 1; r < i;)if (u = n[r], ++r, u === "\n") break; return f._createPatternToken(n, e.commentXMode, t, r - t) }, _createLiteralToken: function (n) { var t = System.Text.RegularExpressions.RegexEngineParser; return t._createPatternToken(n, t.tokenTypes.literal, 0, n.length) }, _createPositiveLookaheadToken: function (n, t) { var r = System.Text.RegularExpressions.RegexEngineParser, i = "(?=" + n + ")"; return r._parseGroupToken(i, t, 0, i.length) }, _createPatternToken: function (n, t, i, r, u, f, e) { var o = { type: t, index: i, length: r, value: n.slice(i, i + r) }; return u != null && u.length > 0 && (o.children = u, o.childrenPrefix = f, o.childrenPostfix = e), o }, _modifyPatternToken: function (n, t, i, r, u) { i != null && (n.type = i); (r != null || u != null) && (r != null && (n.index = r), u != null && (n.length = u), n.value = t.slice(n.index, n.index + n.length)) }, _updatePatternToken: function (n, t, i, r, u) { n.type = t; n.index = i; n.length = r; n.value = u }, _matchChars: function (n, t, i, r, u) { var f = { match: "", matchIndex: -1, matchLength: 0, unmatchCh: "", unmatchIndex: -1, unmatchLength: 0 }, e = t, o; for (u != null && u >= 0 && (i = t + u); e < i;) { if (o = n[e], r.indexOf(o) < 0) { f.unmatchCh = o; f.unmatchIndex = e; f.unmatchLength = 1; break } e++ } return e > t && (f.match = n.slice(t, e), f.matchIndex = t, f.matchLength = e - t), f }, _matchUntil: function (n, t, i, r, u) { var f = { match: "", matchIndex: -1, matchLength: 0, unmatchCh: "", unmatchIndex: -1, unmatchLength: 0 }, e = t, o; for (u != null && u >= 0 && (i = t + u); e < i;) { if (o = n[e], r.indexOf(o) >= 0) { f.unmatchCh = o; f.unmatchIndex = e; f.unmatchLength = 1; break } e++ } return e > t && (f.match = n.slice(t, e), f.matchIndex = t, f.matchLength = e - t), f } } }); Bridge.define("System.Text.Encoding", { statics: { fields: { _encodings: null }, props: { Default: null, Unicode: null, ASCII: null, BigEndianUnicode: null, UTF7: null, UTF8: null, UTF32: null }, ctors: { init: function () { this.Default = new System.Text.UnicodeEncoding.$ctor1(!1, !0); this.Unicode = new System.Text.UnicodeEncoding.$ctor1(!1, !0); this.ASCII = new System.Text.ASCIIEncoding; this.BigEndianUnicode = new System.Text.UnicodeEncoding.$ctor1(!0, !0); this.UTF7 = new System.Text.UTF7Encoding.ctor; this.UTF8 = new System.Text.UTF8Encoding.ctor; this.UTF32 = new System.Text.UTF32Encoding.$ctor1(!1, !0) } }, methods: { Convert: function (n, t, i) { return System.Text.Encoding.Convert$1(n, t, i, 0, i.length) }, Convert$1: function (n, t, i, r, u) { if (n == null || t == null) throw new System.ArgumentNullException(n == null ? "srcEncoding" : "dstEncoding"); if (i == null) throw new System.ArgumentNullException("bytes"); return t.GetBytes(n.GetChars$1(i, r, u)) }, GetEncoding: function (n) { switch (n) { case 1200: return System.Text.Encoding.Unicode; case 20127: return System.Text.Encoding.ASCII; case 1201: return System.Text.Encoding.BigEndianUnicode; case 65e3: return System.Text.Encoding.UTF7; case 65001: return System.Text.Encoding.UTF8; case 12e3: return System.Text.Encoding.UTF32 }throw new System.NotSupportedException; }, GetEncoding$1: function (n) { switch (n) { case "utf-16": return System.Text.Encoding.Unicode; case "us-ascii": return System.Text.Encoding.ASCII; case "utf-16BE": return System.Text.Encoding.BigEndianUnicode; case "utf-7": return System.Text.Encoding.UTF7; case "utf-8": return System.Text.Encoding.UTF8; case "utf-32": return System.Text.Encoding.UTF32 }throw new System.NotSupportedException; }, GetEncodings: function () { if (System.Text.Encoding._encodings != null) return System.Text.Encoding._encodings; System.Text.Encoding._encodings = System.Array.init(6, null, System.Text.EncodingInfo); var n = System.Text.Encoding._encodings; return n[System.Array.index(0, n)] = new System.Text.EncodingInfo(20127, "us-ascii", "US-ASCII"), n[System.Array.index(1, n)] = new System.Text.EncodingInfo(1200, "utf-16", "Unicode"), n[System.Array.index(2, n)] = new System.Text.EncodingInfo(1201, "utf-16BE", "Unicode (Big-Endian)"), n[System.Array.index(3, n)] = new System.Text.EncodingInfo(65e3, "utf-7", "Unicode (UTF-7)"), n[System.Array.index(4, n)] = new System.Text.EncodingInfo(65001, "utf-8", "Unicode (UTF-8)"), n[System.Array.index(5, n)] = new System.Text.EncodingInfo(1200, "utf-32", "Unicode (UTF-32)"), n } } }, fields: { _hasError: !1, fallbackCharacter: 0 }, props: { CodePage: { get: function () { return 0 } }, EncodingName: { get: function () { return null } } }, ctors: { init: function () { this.fallbackCharacter = 63 } }, methods: { Encode$1: function (n, t, i) { return this.Encode$3(System.String.fromCharArray(n, t, i), null, 0, {}) }, Encode$5: function (n, t, i, r, u) { var f = {}; return this.Encode$3(n.substr(t, i), r, u, f), f.v }, Encode$4: function (n, t, i, r, u) { var f = {}; return this.Encode$3(System.String.fromCharArray(n, t, i), r, u, f), f.v }, Encode: function (n) { return this.Encode$3(System.String.fromCharArray(n), null, 0, {}) }, Encode$2: function (n) { return this.Encode$3(n, null, 0, {}) }, Decode$1: function (n, t, i) { return this.Decode$2(n, t, i, null, 0) }, Decode: function (n) { return this.Decode$2(n, 0, n.length, null, 0) }, GetByteCount: function (n) { return this.GetByteCount$1(n, 0, n.length) }, GetByteCount$2: function (n) { return this.Encode$2(n).length }, GetByteCount$1: function (n, t, i) { return this.Encode$1(n, t, i).length }, GetBytes: function (n) { return this.GetBytes$1(n, 0, n.length) }, GetBytes$1: function (n, t, i) { return this.Encode$2(System.String.fromCharArray(n, t, i)) }, GetBytes$3: function (n, t, i, r, u) { return this.Encode$4(n, t, i, r, u) }, GetBytes$2: function (n) { return this.Encode$2(n) }, GetBytes$4: function (n, t, i, r, u) { return this.Encode$5(n, t, i, r, u) }, GetCharCount: function (n) { return this.Decode(n).length }, GetCharCount$1: function (n, t, i) { return this.Decode$1(n, t, i).length }, GetChars: function (n) { var t; return t = this.Decode(n), System.String.toCharArray(t, 0, t.length) }, GetChars$1: function (n, t, i) { var r; return r = this.Decode$1(n, t, i), System.String.toCharArray(r, 0, r.length) }, GetChars$2: function (n, t, i, r, u) { var o = this.Decode$1(n, t, i), e = System.String.toCharArray(o, 0, o.length), f; if (r.length < (e.length + u | 0)) throw new System.ArgumentException(null, "chars"); for (f = 0; f < e.length; f = f + 1 | 0)r[System.Array.index(u + f | 0, r)] = e[System.Array.index(f, e)]; return e.length }, GetString: function (n) { return this.Decode(n) }, GetString$1: function (n, t, i) { return this.Decode$1(n, t, i) } } }); Bridge.define("System.Text.EncodingInfo", { props: { CodePage: 0, Name: null, DisplayName: null }, ctors: { ctor: function (n, t, i) { var r; this.$initialize(); this.CodePage = n; this.Name = t; this.DisplayName = (r = i, r != null ? r : t) } }, methods: { GetEncoding: function () { return System.Text.Encoding.GetEncoding(this.CodePage) }, GetHashCode: function () { return this.CodePage }, Equals: function (n) { var t = Bridge.as(n, System.Text.EncodingInfo); return System.Nullable.eq(this.CodePage, t != null ? t.CodePage : null) } } }); Bridge.define("System.Text.ASCIIEncoding", { inherits: [System.Text.Encoding], props: { CodePage: { get: function () { return 20127 } }, EncodingName: { get: function () { return "US-ASCII" } } }, methods: { Encode$3: function (n, t, i, r) { var e = t != null, f, u, o, s; for (e || (t = System.Array.init(0, 0, System.Byte)), f = 0, u = 0; u < n.length; u = u + 1 | 0) { if (o = n.charCodeAt(u), s = (o <= 127 ? o : this.fallbackCharacter) & 255, e) { if ((u + i | 0) >= t.length) throw new System.ArgumentException("bytes"); t[System.Array.index(u + i | 0, t)] = s } else t.push(s); f = f + 1 | 0 } return (r.v = f, e) ? null : t }, Decode$2: function (n, t, i) { for (var r = t, u = "", e = r + i | 0, f; r < e; r = r + 1 | 0)f = n[System.Array.index(r, n)], u = f > 127 ? (u || "") + String.fromCharCode(this.fallbackCharacter) : (u || "") + (String.fromCharCode(f) || ""); return u }, GetMaxByteCount: function (n) { if (n < 0) throw new System.ArgumentOutOfRangeException("charCount"); var t = System.Int64(n).add(System.Int64(1)); if (t.gt(System.Int64(2147483647))) throw new System.ArgumentOutOfRangeException("charCount"); return System.Int64.clip32(t) }, GetMaxCharCount: function (n) { if (n < 0) throw new System.ArgumentOutOfRangeException("byteCount"); var t = System.Int64(n); if (t.gt(System.Int64(2147483647))) throw new System.ArgumentOutOfRangeException("byteCount"); return System.Int64.clip32(t) } } }); Bridge.define("System.Text.UnicodeEncoding", { inherits: [System.Text.Encoding], fields: { bigEndian: !1, byteOrderMark: !1, throwOnInvalid: !1 }, props: { CodePage: { get: function () { return this.bigEndian ? 1201 : 1200 } }, EncodingName: { get: function () { return this.bigEndian ? "Unicode (Big-Endian)" : "Unicode" } } }, ctors: { ctor: function () { System.Text.UnicodeEncoding.$ctor1.call(this, !1, !0) }, $ctor1: function (n, t) { System.Text.UnicodeEncoding.$ctor2.call(this, n, t, !1) }, $ctor2: function (n, t, i) { this.$initialize(); System.Text.Encoding.ctor.call(this); this.bigEndian = n; this.byteOrderMark = t; this.throwOnInvalid = i; this.fallbackCharacter = 65533 } }, methods: { Encode$3: function (n, t, i, r) { var y = t != null, p = 0, f = 0, a = this.fallbackCharacter, w = function (n) { if (y) { if (i >= t.length) throw new System.ArgumentException("bytes"); t[System.Array.index(Bridge.identity(i, i = i + 1 | 0), t)] = n } else t.push(n); p = p + 1 | 0 }, o = function (n, t) { w(n); w(t) }, s = e.$.System.Text.UnicodeEncoding.f1, v = Bridge.fn.bind(this, function () { if (this.throwOnInvalid) throw new System.Exception("Invalid character in UTF16 text"); o(a & 255, a >> 8 & 255) }), h, u, c, l; for (y || (t = System.Array.init(0, 0, System.Byte)), this.bigEndian && (a = s(a)), h = 0; h < n.length; h = h + 1 | 0) { if (u = n.charCodeAt(h), f !== 0) { if (u >= 56320 && u <= 57343) { this.bigEndian && (f = s(f), u = s(u)); o(f & 255, f >> 8 & 255); o(u & 255, u >> 8 & 255); f = 0; continue } v(); f = 0 } if (55296 <= u && u <= 56319) { f = u; continue } else if (56320 <= u && u <= 57343) { v(); f = 0; continue } u < 65536 ? (this.bigEndian && (u = s(u)), o(u & 255, u >> 8 & 255)) : u <= 1114111 ? (u = u - 65536, c = (u & 1023 | 56320) & 65535, l = (u >> 10 & 1023 | 55296) & 65535, this.bigEndian && (l = s(l), c = s(c)), o(l & 255, l >> 8 & 255), o(c & 255, c >> 8 & 255)) : v() } return (f !== 0 && v(), r.v = p, y) ? null : t }, Decode$2: function (n, t, i) { var r = t, f = "", h = r + i | 0, u, l, s; this._hasError = !1; for (var o = Bridge.fn.bind(this, function () { if (this.throwOnInvalid) throw new System.Exception("Invalid character in UTF16 text"); f = (f || "") + String.fromCharCode(this.fallbackCharacter) }), a = e.$.System.Text.UnicodeEncoding.f2, c = Bridge.fn.bind(this, function () { if ((r + 2 | 0) > h) return r = r + 2 | 0, null; var i = n[System.Array.index(Bridge.identity(r, r = r + 1 | 0), n)], u = n[System.Array.index(Bridge.identity(r, r = r + 1 | 0), n)], t = (i << 8 | u) & 65535; return this.bigEndian || (t = a(t)), t }); r < h;)if (u = c(), System.Nullable.hasValue(u)) if (System.Nullable.lt(u, 55296) || System.Nullable.gt(u, 57343)) f = (f || "") + (System.String.fromCharCode(System.Nullable.getValue(u)) || ""); else if (System.Nullable.gte(u, 55296) && System.Nullable.lte(u, 56319)) if (l = r >= h, s = c(), l) o(), this._hasError = !0; else if (System.Nullable.hasValue(s)) if (System.Nullable.gte(s, 56320) && System.Nullable.lte(s, 57343)) { var v = System.Nullable.band(u, 1023), y = System.Nullable.band(s, 1023), p = Bridge.Int.clip32(System.Nullable.add(System.Nullable.bor(System.Nullable.sl(v, 10), y), 65536)); f = (f || "") + (System.String.fromCharCode(System.Nullable.getValue(p)) || "") } else o(), r = r - 2 | 0; else o(), o(); else o(); else o(), this._hasError = !0; return f }, GetMaxByteCount: function (n) { if (n < 0) throw new System.ArgumentOutOfRangeException("charCount"); var t = System.Int64(n).add(System.Int64(1)); if (t = t.shl(1), t.gt(System.Int64(2147483647))) throw new System.ArgumentOutOfRangeException("charCount"); return System.Int64.clip32(t) }, GetMaxCharCount: function (n) { if (n < 0) throw new System.ArgumentOutOfRangeException("byteCount"); var t = System.Int64(n >> 1).add(System.Int64(n & 1)).add(System.Int64(1)); if (t.gt(System.Int64(2147483647))) throw new System.ArgumentOutOfRangeException("byteCount"); return System.Int64.clip32(t) } } }); Bridge.ns("System.Text.UnicodeEncoding", e.$); Bridge.apply(e.$.System.Text.UnicodeEncoding, { f1: function (n) { return ((n & 255) << 8 | n >> 8 & 255) & 65535 }, f2: function (n) { return ((n & 255) << 8 | n >> 8 & 255) & 65535 } }); Bridge.define("System.Text.UTF32Encoding", { inherits: [System.Text.Encoding], fields: { bigEndian: !1, byteOrderMark: !1, throwOnInvalid: !1 }, props: { CodePage: { get: function () { return this.bigEndian ? 1201 : 1200 } }, EncodingName: { get: function () { return this.bigEndian ? "Unicode (UTF-32 Big-Endian)" : "Unicode (UTF-32)" } } }, ctors: { ctor: function () { System.Text.UTF32Encoding.$ctor2.call(this, !1, !0, !1) }, $ctor1: function (n, t) { System.Text.UTF32Encoding.$ctor2.call(this, n, t, !1) }, $ctor2: function (n, t, i) { this.$initialize(); System.Text.Encoding.ctor.call(this); this.bigEndian = n; this.byteOrderMark = t; this.throwOnInvalid = i; this.fallbackCharacter = 65533 } }, methods: { ToCodePoints: function (n) { for (var t, e, o, r = 0, u = System.Array.init(0, 0, System.Char), f = Bridge.fn.bind(this, function () { if (this.throwOnInvalid) throw new System.Exception("Invalid character in UTF32 text"); u.push(this.fallbackCharacter) }), i = 0; i < n.length; i = i + 1 | 0)t = n.charCodeAt(i), r !== 0 ? (t >= 56320 && t <= 57343 ? (e = t, o = (Bridge.Int.mul(r - 55296 | 0, 1024) + 65536 | 0) + (e - 56320 | 0) | 0, u.push(o)) : (f(), i = i - 1 | 0), r = 0) : t >= 55296 && t <= 56319 ? r = t : t >= 56320 && t <= 57343 ? f() : u.push(t); return r !== 0 && f(), u }, Encode$3: function (n, t, i, r) { var o = t != null, s = 0, f = function (n) { if (o) { if (i >= t.length) throw new System.ArgumentException("bytes"); t[System.Array.index(Bridge.identity(i, i = i + 1 | 0), t)] = n } else t.push(n); s = s + 1 | 0 }, h = Bridge.fn.bind(this, function (n) { var t = System.Array.init(4, 0, System.Byte); t[System.Array.index(0, t)] = (n & 255) >>> 0; t[System.Array.index(1, t)] = (n & 65280) >>> 0 >>> 8; t[System.Array.index(2, t)] = (n & 16711680) >>> 0 >>> 16; t[System.Array.index(3, t)] = (n & 4278190080) >>> 0 >>> 24; this.bigEndian && t.reverse(); f(t[System.Array.index(0, t)]); f(t[System.Array.index(1, t)]); f(t[System.Array.index(2, t)]); f(t[System.Array.index(3, t)]) }), e, u; for (o || (t = System.Array.init(0, 0, System.Byte)), e = this.ToCodePoints(n), u = 0; u < e.length; u = u + 1 | 0)h(e[System.Array.index(u, e)]); return (r.v = s, o) ? null : t }, Decode$2: function (n, t, i) { var r = t, f = "", o = r + i | 0, e, s, u; for (this._hasError = !1, e = Bridge.fn.bind(this, function () { if (this.throwOnInvalid) throw new System.Exception("Invalid character in UTF32 text"); f = (f || "") + (String.fromCharCode(this.fallbackCharacter) || "") }), s = Bridge.fn.bind(this, function () { var t; if ((r + 4 | 0) > o) return r = r + 4 | 0, null; var i = n[System.Array.index(Bridge.identity(r, r = r + 1 | 0), n)], u = n[System.Array.index(Bridge.identity(r, r = r + 1 | 0), n)], f = n[System.Array.index(Bridge.identity(r, r = r + 1 | 0), n)], e = n[System.Array.index(Bridge.identity(r, r = r + 1 | 0), n)]; return this.bigEndian && (t = u, u = f, f = t, t = i, i = e, e = t), e << 24 | f << 16 | u << 8 | i }); r < o;) { if (u = s(), u == null) { e(); this._hasError = !0; continue } System.Nullable.lt(u, 65536) || System.Nullable.gt(u, 1114111) ? System.Nullable.lt(u, 0) || System.Nullable.gt(u, 1114111) || System.Nullable.gte(u, 55296) && System.Nullable.lte(u, 57343) ? e() : f = (f || "") + (String.fromCharCode(u) || "") : (f = (f || "") + (String.fromCharCode(Bridge.Int.clipu32(System.Nullable.add(Bridge.Int.clipu32(Bridge.Int.div(Bridge.Int.clipu32(System.Nullable.sub(u, 65536)), 1024)), 55296))) || ""), f = (f || "") + (String.fromCharCode(Bridge.Int.clipu32(System.Nullable.add(System.Nullable.mod(u, 1024), 56320))) || "")) } return f }, GetMaxByteCount: function (n) { if (n < 0) throw new System.ArgumentOutOfRangeException("charCount"); var t = System.Int64(n).add(System.Int64(1)); if (t = t.mul(System.Int64(4)), t.gt(System.Int64(2147483647))) throw new System.ArgumentOutOfRangeException("charCount"); return System.Int64.clip32(t) }, GetMaxCharCount: function (n) { if (n < 0) throw new System.ArgumentOutOfRangeException("byteCount"); var t = (Bridge.Int.div(n, 2) | 0) + 2 | 0; if (t > 2147483647) throw new System.ArgumentOutOfRangeException("byteCount"); return t } } }); Bridge.define("System.Text.UTF7Encoding", { inherits: [System.Text.Encoding], statics: { methods: { Escape: function (n) { return n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&") } } }, fields: { allowOptionals: !1 }, props: { CodePage: { get: function () { return 65e3 } }, EncodingName: { get: function () { return "Unicode (UTF-7)" } } }, ctors: { ctor: function () { System.Text.UTF7Encoding.$ctor1.call(this, !1) }, $ctor1: function (n) { this.$initialize(); System.Text.Encoding.ctor.call(this); this.allowOptionals = n; this.fallbackCharacter = 65533 } }, methods: { Encode$3: function (n, t, i, r) { var s = "A-Za-z0-9" + (System.Text.UTF7Encoding.Escape("'(),-./:?") || ""), h = e.$.System.Text.UTF7Encoding.f1, c = System.Text.UTF7Encoding.Escape('!"#$%&*;<=>@[]^_`{|}'), l = System.Text.UTF7Encoding.Escape(" \r\n\t"), u, o, f; if (n = n.replace(new RegExp("[^" + l + s + (this.allowOptionals ? c : "") + "]+", "g"), function (n) { return "+" + (n === "+" ? "" : h(n)) + "-" }), u = System.String.toCharArray(n, 0, n.length), t != null) { if (o = 0, u.length > (t.length - i | 0)) throw new System.ArgumentException("bytes"); for (f = 0; f < u.length; f = f + 1 | 0)t[System.Array.index(f + i | 0, t)] = u[System.Array.index(f, u)], o = o + 1 | 0; return r.v = o, null } return r.v = u.length, u }, Decode$2: function (n, t, i) { var r = e.$.System.Text.UTF7Encoding.f2, u = function (n) { for (var i = r(n), u = System.Array.init(0, 0, System.Char), t = 0; t < i.length;)u.push((i[System.Array.index(Bridge.identity(t, t = t + 1 | 0), i)] << 8 | i[System.Array.index(Bridge.identity(t, t = t + 1 | 0), i)]) & 65535); return System.String.fromCharArray(u) }, f = System.String.fromCharArray(n, t, i); return f.replace(/\+([A-Za-z0-9\/]*)-?/gi, function (n, t) { return t === "" ? n == "+-" ? "+" : "" : u(t) }) }, GetMaxByteCount: function (n) { if (n < 0) throw new System.ArgumentOutOfRangeException("charCount"); var t = System.Int64(n).mul(System.Int64(3)).add(System.Int64(2)); if (t.gt(System.Int64(2147483647))) throw new System.ArgumentOutOfRangeException("charCount"); return System.Int64.clip32(t) }, GetMaxCharCount: function (n) { if (n < 0) throw new System.ArgumentOutOfRangeException("byteCount"); var t = n; return t === 0 && (t = 1), t | 0 } } }); Bridge.ns("System.Text.UTF7Encoding", e.$); Bridge.apply(e.$.System.Text.UTF7Encoding, { f1: function (n) { for (var u, f, i = System.Array.init(Bridge.Int.mul(n.length, 2), 0, System.Byte), t = 0, r = 0; r < n.length; r = r + 1 | 0)u = n.charCodeAt(r), i[System.Array.index(Bridge.identity(t, t = t + 1 | 0), i)] = u >> 8, i[System.Array.index(Bridge.identity(t, t = t + 1 | 0), i)] = u & 255; return f = System.Convert.toBase64String(i, null, null, null), f.replace(/=+$/, "") }, f2: function (n) { var t; try { var i = window.atob(n), r = i.length, u = System.Array.init(r, 0, System.Char); if (r === 1 && i.charCodeAt(0) === 0) return System.Array.init(0, 0, System.Char); for (t = 0; t < r; t = t + 1 | 0)u[System.Array.index(t, u)] = i.charCodeAt(t); return u } catch (f) { return f = System.Exception.create(f), System.Array.init(0, 0, System.Char) } } }); Bridge.define("System.Text.UTF8Encoding", { inherits: [System.Text.Encoding], fields: { encoderShouldEmitUTF8Identifier: !1, throwOnInvalid: !1 }, props: { CodePage: { get: function () { return 65001 } }, EncodingName: { get: function () { return "Unicode (UTF-8)" } } }, ctors: { ctor: function () { System.Text.UTF8Encoding.$ctor1.call(this, !1) }, $ctor1: function (n) { System.Text.UTF8Encoding.$ctor2.call(this, n, !1) }, $ctor2: function (n, t) { this.$initialize(); System.Text.Encoding.ctor.call(this); this.encoderShouldEmitUTF8Identifier = n; this.throwOnInvalid = t; this.fallbackCharacter = 65533 } }, methods: { Encode$3: function (n, t, i, r) { var h = t != null, c = 0, s = function (n) { for (var u, f = n.length, r = 0; r < f; r = r + 1 | 0) { if (u = n[System.Array.index(r, n)], h) { if (i >= t.length) throw new System.ArgumentException("bytes"); t[System.Array.index(Bridge.identity(i, i = i + 1 | 0), t)] = u } else t.push(u); c = c + 1 | 0 } }, a = Bridge.fn.bind(this, e.$.System.Text.UTF8Encoding.f1), f, u, l, o; for (h || (t = System.Array.init(0, 0, System.Byte)), f = 0; f < n.length; f = f + 1 | 0)u = n.charCodeAt(f), u >= 55296 && u <= 56319 ? (l = n.charCodeAt(f + 1 | 0), l >= 56320 && l <= 57343 || (u = a())) : u >= 56320 && u <= 57343 && (u = a()), u < 128 ? s(System.Array.init([u], System.Byte)) : u < 2048 ? s(System.Array.init([192 | u >> 6, 128 | u & 63], System.Byte)) : u < 55296 || u >= 57344 ? s(System.Array.init([224 | u >> 12, 128 | u >> 6 & 63, 128 | u & 63], System.Byte)) : (f = f + 1 | 0, o = 65536 + ((u & 1023) << 10 | n.charCodeAt(f) & 1023) | 0, s(System.Array.init([240 | o >> 18, 128 | o >> 12 & 63, 128 | o >> 6 & 63, 128 | o & 63], System.Byte))); return (r.v = c, h) ? null : t }, Decode$2: function (n, t, i) { var l, a; this._hasError = !1; for (var f = t, e = "", h = 0, c = !1, v = f + i | 0; f < v; f = f + 1 | 0) { var r = 0, s = 0, o = !1, u = n[System.Array.index(f, n)]; for (u <= 127 ? r = u : (u & 64) == 0 ? o = !0 : (u & 224) == 192 ? (r = u & 31, s = 1) : (u & 240) == 224 ? (r = u & 15, s = 2) : (u & 248) == 240 ? (r = u & 7, s = 3) : (u & 252) == 248 ? (r = u & 3, s = 4, o = !0) : (u & 254) == 252 ? (r = u & 3, s = 5, o = !0) : (r = u, o = !1); s > 0;) { if (f = f + 1 | 0, f >= v) { o = !0; break } if (l = n[System.Array.index(f, n)], s = s - 1 | 0, (l & 192) != 128) { f = f - 1 | 0; o = !0; break } r = r << 6 | l & 63 } if (a = null, c = !1, o || (h > 0 && !(r >= 56320 && r <= 57343) ? (o = !0, h = 0) : r >= 55296 && r <= 56319 ? h = r & 65535 : r >= 56320 && r <= 57343 ? (o = !0, c = !0, h = 0) : (a = System.String.fromCharCode(r), h = 0)), o) { if (this.throwOnInvalid) throw new System.Exception("Invalid character in UTF8 text"); e = (e || "") + String.fromCharCode(this.fallbackCharacter); this._hasError = !0 } else h === 0 && (e = (e || "") + (a || "")) } if (h > 0 || c) { if (this.throwOnInvalid) throw new System.Exception("Invalid character in UTF8 text"); e = e.length > 0 && e.charCodeAt(e.length - 1 | 0) === this.fallbackCharacter ? (e || "") + String.fromCharCode(this.fallbackCharacter) : (e || "") + (this.fallbackCharacter + this.fallbackCharacter | 0); this._hasError = !0 } return e }, GetMaxByteCount: function (n) { if (n < 0) throw new System.ArgumentOutOfRangeException("charCount"); var t = System.Int64(n).add(System.Int64(1)); if (t = t.mul(System.Int64(3)), t.gt(System.Int64(2147483647))) throw new System.ArgumentOutOfRangeException("charCount"); return System.Int64.clip32(t) }, GetMaxCharCount: function (n) { if (n < 0) throw new System.ArgumentOutOfRangeException("byteCount"); var t = System.Int64(n).add(System.Int64(1)); if (t.gt(System.Int64(2147483647))) throw new System.ArgumentOutOfRangeException("byteCount"); return System.Int64.clip32(t) } } }); Bridge.ns("System.Text.UTF8Encoding", e.$); Bridge.apply(e.$.System.Text.UTF8Encoding, { f1: function () { if (this.throwOnInvalid) throw new System.Exception("Invalid character in UTF8 text"); return this.fallbackCharacter } }); Bridge.define("System.IO.__Error", { statics: { methods: { EndOfFile: function () { throw new System.IO.EndOfStreamException.$ctor1("IO.EOF_ReadBeyondEOF"); }, FileNotOpen: function () { throw new System.Exception("ObjectDisposed_FileClosed"); }, StreamIsClosed: function () { throw new System.Exception("ObjectDisposed_StreamClosed"); }, MemoryStreamNotExpandable: function () { throw new System.NotSupportedException("NotSupported_MemStreamNotExpandable"); }, ReaderClosed: function () { throw new System.Exception("ObjectDisposed_ReaderClosed"); }, ReadNotSupported: function () { throw new System.NotSupportedException("NotSupported_UnreadableStream"); }, SeekNotSupported: function () { throw new System.NotSupportedException("NotSupported_UnseekableStream"); }, WrongAsyncResult: function () { throw new System.ArgumentException("Arg_WrongAsyncResult"); }, EndReadCalledTwice: function () { throw new System.ArgumentException("InvalidOperation_EndReadCalledMultiple"); }, EndWriteCalledTwice: function () { throw new System.ArgumentException("InvalidOperation_EndWriteCalledMultiple"); }, WriteNotSupported: function () { throw new System.NotSupportedException("NotSupported_UnwritableStream"); }, WriterClosed: function () { throw new System.Exception("ObjectDisposed_WriterClosed"); } } } }); Bridge.define("System.IO.BinaryReader", { inherits: [System.IDisposable], statics: { fields: { MaxCharBytesSize: 0 }, ctors: { init: function () { this.MaxCharBytesSize = 128 } } }, fields: { m_stream: null, m_buffer: null, m_encoding: null, m_charBytes: null, m_singleChar: null, m_charBuffer: null, m_maxCharsSize: 0, m_2BytesPerChar: !1, m_isMemoryStream: !1, m_leaveOpen: !1, lastCharsRead: 0 }, props: { BaseStream: { get: function () { return this.m_stream } } }, alias: ["Dispose", "System$IDisposable$dispose"], ctors: { init: function () { this.lastCharsRead = 0 }, ctor: function (n) { System.IO.BinaryReader.$ctor2.call(this, n, new System.Text.UTF8Encoding.ctor, !1) }, $ctor1: function (n, t) { System.IO.BinaryReader.$ctor2.call(this, n, t, !1) }, $ctor2: function (n, t, i) { if (this.$initialize(), n == null) throw new System.ArgumentNullException("input"); if (t == null) throw new System.ArgumentNullException("encoding"); if (!n.CanRead) throw new System.ArgumentException("Argument_StreamNotReadable"); this.m_stream = n; this.m_encoding = t; this.m_maxCharsSize = t.GetMaxCharCount(System.IO.BinaryReader.MaxCharBytesSize); var r = t.GetMaxByteCount(1); r < 23 && (r = 23); this.m_buffer = System.Array.init(r, 0, System.Byte); this.m_2BytesPerChar = Bridge.is(t, System.Text.UnicodeEncoding); this.m_isMemoryStream = Bridge.referenceEquals(Bridge.getType(this.m_stream), System.IO.MemoryStream); this.m_leaveOpen = i } }, methods: { Close: function () { this.Dispose$1(!0) }, Dispose$1: function (n) { if (n) { var t = this.m_stream; this.m_stream = null; t == null || this.m_leaveOpen || t.Close() } this.m_stream = null; this.m_buffer = null; this.m_encoding = null; this.m_charBytes = null; this.m_singleChar = null; this.m_charBuffer = null }, Dispose: function () { this.Dispose$1(!0) }, PeekChar: function () { if (this.m_stream == null && System.IO.__Error.FileNotOpen(), !this.m_stream.CanSeek) return -1; var n = this.m_stream.Position, t = this.Read(); return this.m_stream.Position = n, t }, Read: function () { return this.m_stream == null && System.IO.__Error.FileNotOpen(), this.InternalReadOneChar() }, Read$2: function (n, t, i) { if (n == null) throw new System.ArgumentNullException("buffer", "ArgumentNull_Buffer"); if (t < 0) throw new System.ArgumentOutOfRangeException("index", "ArgumentOutOfRange_NeedNonNegNum"); if (i < 0) throw new System.ArgumentOutOfRangeException("count", "ArgumentOutOfRange_NeedNonNegNum"); if ((n.length - t | 0) < i) throw new System.ArgumentException("Argument_InvalidOffLen"); return this.m_stream == null && System.IO.__Error.FileNotOpen(), this.InternalReadChars(n, t, i) }, Read$1: function (n, t, i) { if (n == null) throw new System.ArgumentNullException("buffer", "ArgumentNull_Buffer"); if (t < 0) throw new System.ArgumentOutOfRangeException("index", "ArgumentOutOfRange_NeedNonNegNum"); if (i < 0) throw new System.ArgumentOutOfRangeException("count", "ArgumentOutOfRange_NeedNonNegNum"); if ((n.length - t | 0) < i) throw new System.ArgumentException("Argument_InvalidOffLen"); return this.m_stream == null && System.IO.__Error.FileNotOpen(), this.m_stream.Read(n, t, i) }, ReadBoolean: function () { return this.FillBuffer(1), this.m_buffer[System.Array.index(0, this.m_buffer)] !== 0 }, ReadByte: function () { this.m_stream == null && System.IO.__Error.FileNotOpen(); var n = this.m_stream.ReadByte(); return n === -1 && System.IO.__Error.EndOfFile(), n & 255 }, ReadSByte: function () { return this.FillBuffer(1), Bridge.Int.sxb(this.m_buffer[System.Array.index(0, this.m_buffer)] & 255) }, ReadChar: function () { var n = this.Read(); return n === -1 && System.IO.__Error.EndOfFile(), n & 65535 }, ReadInt16: function () { return this.FillBuffer(2), Bridge.Int.sxs((this.m_buffer[System.Array.index(0, this.m_buffer)] | this.m_buffer[System.Array.index(1, this.m_buffer)] << 8) & 65535) }, ReadUInt16: function () { return this.FillBuffer(2), (this.m_buffer[System.Array.index(0, this.m_buffer)] | this.m_buffer[System.Array.index(1, this.m_buffer)] << 8) & 65535 }, ReadInt32: function () { if (this.m_isMemoryStream) { this.m_stream == null && System.IO.__Error.FileNotOpen(); var n = Bridge.as(this.m_stream, System.IO.MemoryStream); return n.InternalReadInt32() } return this.FillBuffer(4), this.m_buffer[System.Array.index(0, this.m_buffer)] | this.m_buffer[System.Array.index(1, this.m_buffer)] << 8 | this.m_buffer[System.Array.index(2, this.m_buffer)] << 16 | this.m_buffer[System.Array.index(3, this.m_buffer)] << 24 }, ReadUInt32: function () { return this.FillBuffer(4), (this.m_buffer[System.Array.index(0, this.m_buffer)] | this.m_buffer[System.Array.index(1, this.m_buffer)] << 8 | this.m_buffer[System.Array.index(2, this.m_buffer)] << 16 | this.m_buffer[System.Array.index(3, this.m_buffer)] << 24) >>> 0 }, ReadInt64: function () { this.FillBuffer(8); var n = (this.m_buffer[System.Array.index(0, this.m_buffer)] | this.m_buffer[System.Array.index(1, this.m_buffer)] << 8 | this.m_buffer[System.Array.index(2, this.m_buffer)] << 16 | this.m_buffer[System.Array.index(3, this.m_buffer)] << 24) >>> 0, t = (this.m_buffer[System.Array.index(4, this.m_buffer)] | this.m_buffer[System.Array.index(5, this.m_buffer)] << 8 | this.m_buffer[System.Array.index(6, this.m_buffer)] << 16 | this.m_buffer[System.Array.index(7, this.m_buffer)] << 24) >>> 0; return System.Int64.clip64(System.UInt64(t)).shl(32).or(System.Int64(n)) }, ReadUInt64: function () { this.FillBuffer(8); var n = (this.m_buffer[System.Array.index(0, this.m_buffer)] | this.m_buffer[System.Array.index(1, this.m_buffer)] << 8 | this.m_buffer[System.Array.index(2, this.m_buffer)] << 16 | this.m_buffer[System.Array.index(3, this.m_buffer)] << 24) >>> 0, t = (this.m_buffer[System.Array.index(4, this.m_buffer)] | this.m_buffer[System.Array.index(5, this.m_buffer)] << 8 | this.m_buffer[System.Array.index(6, this.m_buffer)] << 16 | this.m_buffer[System.Array.index(7, this.m_buffer)] << 24) >>> 0; return System.UInt64(t).shl(32).or(System.UInt64(n)) }, ReadSingle: function () { this.FillBuffer(4); var n = (this.m_buffer[System.Array.index(0, this.m_buffer)] | this.m_buffer[System.Array.index(1, this.m_buffer)] << 8 | this.m_buffer[System.Array.index(2, this.m_buffer)] << 16 | this.m_buffer[System.Array.index(3, this.m_buffer)] << 24) >>> 0; return System.BitConverter.toSingle(System.BitConverter.getBytes$8(n), 0) }, ReadDouble: function () { this.FillBuffer(8); var n = (this.m_buffer[System.Array.index(0, this.m_buffer)] | this.m_buffer[System.Array.index(1, this.m_buffer)] << 8 | this.m_buffer[System.Array.index(2, this.m_buffer)] << 16 | this.m_buffer[System.Array.index(3, this.m_buffer)] << 24) >>> 0, t = (this.m_buffer[System.Array.index(4, this.m_buffer)] | this.m_buffer[System.Array.index(5, this.m_buffer)] << 8 | this.m_buffer[System.Array.index(6, this.m_buffer)] << 16 | this.m_buffer[System.Array.index(7, this.m_buffer)] << 24) >>> 0, i = System.UInt64(t).shl(32).or(System.UInt64(n)); return System.BitConverter.toDouble(System.BitConverter.getBytes$9(i), 0) }, ReadDecimal: function () { this.FillBuffer(23); try { return System.Decimal.fromBytes(this.m_buffer) } catch (n) { n = System.Exception.create(n); var t; if (Bridge.is(n, System.ArgumentException)) { t = n; throw new System.IO.IOException.$ctor2("Arg_DecBitCtor", t); } else throw n; } }, ReadString: function () { var t, i, n, e, f, r, u; if (this.m_stream == null && System.IO.__Error.FileNotOpen(), t = 0, n = this.Read7BitEncodedInt(), n < 0) throw new System.IO.IOException.$ctor1("IO.IO_InvalidStringLen_Len"); if (n === 0) return ""; this.m_charBytes == null && (this.m_charBytes = System.Array.init(System.IO.BinaryReader.MaxCharBytesSize, 0, System.Byte)); this.m_charBuffer == null && (this.m_charBuffer = System.Array.init(this.m_maxCharsSize, 0, System.Char)); r = null; do { if (e = (n - t | 0) > System.IO.BinaryReader.MaxCharBytesSize ? System.IO.BinaryReader.MaxCharBytesSize : n - t | 0, i = this.m_stream.Read(this.m_charBytes, 0, e), i === 0 && System.IO.__Error.EndOfFile(), f = this.m_encoding.GetChars$2(this.m_charBytes, 0, i, this.m_charBuffer, 0), t === 0 && i === n) return System.String.fromCharArray(this.m_charBuffer, 0, f); for (r == null && (r = new System.Text.StringBuilder("", n)), u = 0; u < f; u = u + 1 | 0)r.append(String.fromCharCode(this.m_charBuffer[System.Array.index(u, this.m_charBuffer)])); t = t + i | 0 } while (t < n); return r.toString() }, InternalReadChars: function (n, t, i) { var r = i, u; if (this.m_charBytes == null && (this.m_charBytes = System.Array.init(System.IO.BinaryReader.MaxCharBytesSize, 0, System.Byte)), t < 0 || r < 0 || (t + r | 0) > n.length) throw new System.ArgumentOutOfRangeException("charsRemaining"); while (r > 0) { if (u = this.InternalReadOneChar(!0), u === -1) break; n[System.Array.index(t, n)] = u & 65535; this.lastCharsRead === 2 && (n[System.Array.index(t = t + 1 | 0, n)] = this.m_singleChar[System.Array.index(1, this.m_singleChar)], r = r - 1 | 0); r = r - 1 | 0; t = t + 1 | 0 } return i - r | 0 }, InternalReadOneChar: function (n) { var e, r, f, t; n === void 0 && (n = !1); var u = 0, i = 0, s = System.Int64(0); for (this.m_stream.CanSeek && (s = this.m_stream.Position), this.m_charBytes == null && (this.m_charBytes = System.Array.init(System.IO.BinaryReader.MaxCharBytesSize, 0, System.Byte)), this.m_singleChar == null && (this.m_singleChar = System.Array.init(2, 0, System.Char)), e = !1, r = 0; u === 0;) { if (i = this.m_2BytesPerChar ? 2 : 1, Bridge.is(this.m_encoding, System.Text.UTF32Encoding) && (i = 4), e) f = this.m_stream.ReadByte(), this.m_charBytes[System.Array.index(r = r + 1 | 0, this.m_charBytes)] = f & 255, f === -1 && (i = 0), i === 2 && (f = this.m_stream.ReadByte(), this.m_charBytes[System.Array.index(r = r + 1 | 0, this.m_charBytes)] = f & 255, f === -1 && (i = 1)); else if (t = this.m_stream.ReadByte(), this.m_charBytes[System.Array.index(0, this.m_charBytes)] = t & 255, r = 0, t === -1 && (i = 0), i === 2) t = this.m_stream.ReadByte(), this.m_charBytes[System.Array.index(1, this.m_charBytes)] = t & 255, t === -1 && (i = 1), r = 1; else if (i === 4) { if ((t = this.m_stream.ReadByte(), this.m_charBytes[System.Array.index(1, this.m_charBytes)] = t & 255, t === -1) || (t = this.m_stream.ReadByte(), this.m_charBytes[System.Array.index(2, this.m_charBytes)] = t & 255, t === -1) || (t = this.m_stream.ReadByte(), this.m_charBytes[System.Array.index(3, this.m_charBytes)] = t & 255, t === -1)) return -1; r = 3 } if (i === 0) return -1; e = !1; try { if (u = this.m_encoding.GetChars$2(this.m_charBytes, 0, r + 1 | 0, this.m_singleChar, 0), !n && u === 2) throw new System.ArgumentException; } catch (o) { o = System.Exception.create(o); this.m_stream.CanSeek && this.m_stream.Seek(s.sub(this.m_stream.Position), System.IO.SeekOrigin.Current); throw o; } this.m_encoding._hasError && (u = 0, e = !0); !n } return (this.lastCharsRead = u, u === 0) ? -1 : this.m_singleChar[System.Array.index(0, this.m_singleChar)] }, ReadChars: function (n) { var t, i, r; if (n < 0) throw new System.ArgumentOutOfRangeException("count", "ArgumentOutOfRange_NeedNonNegNum"); return (this.m_stream == null && System.IO.__Error.FileNotOpen(), n === 0) ? System.Array.init(0, 0, System.Char) : (t = System.Array.init(n, 0, System.Char), i = this.InternalReadChars(t, 0, n), i !== n && (r = System.Array.init(i, 0, System.Char), System.Array.copy(t, 0, r, 0, Bridge.Int.mul(2, i)), t = r), t) }, ReadBytes: function (n) { var i, t, r, u; if (n < 0) throw new System.ArgumentOutOfRangeException("count", "ArgumentOutOfRange_NeedNonNegNum"); if (this.m_stream == null && System.IO.__Error.FileNotOpen(), n === 0) return System.Array.init(0, 0, System.Byte); i = System.Array.init(n, 0, System.Byte); t = 0; do { if (r = this.m_stream.Read(i, t, n), r === 0) break; t = t + r | 0; n = n - r | 0 } while (n > 0); return t !== i.length && (u = System.Array.init(t, 0, System.Byte), System.Array.copy(i, 0, u, 0, t), i = u), i }, FillBuffer: function (n) { if (this.m_buffer != null && (n < 0 || n > this.m_buffer.length)) throw new System.ArgumentOutOfRangeException("numBytes", "ArgumentOutOfRange_BinaryReaderFillBuffer"); var i = 0, t = 0; if (this.m_stream == null && System.IO.__Error.FileNotOpen(), n === 1) { t = this.m_stream.ReadByte(); t === -1 && System.IO.__Error.EndOfFile(); this.m_buffer[System.Array.index(0, this.m_buffer)] = t & 255; return } do t = this.m_stream.Read(this.m_buffer, i, n - i | 0), t === 0 && System.IO.__Error.EndOfFile(), i = i + t | 0; while (i < n) }, Read7BitEncodedInt: function () { var t = 0, n = 0, i; do { if (n === 35) throw new System.FormatException("Format_Bad7BitInt32"); i = this.ReadByte(); t = t | (i & 127) << n; n = n + 7 | 0 } while ((i & 128) != 0); return t } } }); Bridge.define("System.IO.BinaryWriter", { inherits: [System.IDisposable], statics: { fields: { Null: null, LargeByteBufferSize: 0 }, ctors: { init: function () { this.Null = new System.IO.BinaryWriter.ctor; this.LargeByteBufferSize = 256 } } }, fields: { OutStream: null, _buffer: null, _encoding: null, _leaveOpen: !1, _tmpOneCharBuffer: null }, props: { BaseStream: { get: function () { return this.Flush(), this.OutStream } } }, alias: ["Dispose", "System$IDisposable$dispose"], ctors: { ctor: function () { this.$initialize(); this.OutStream = System.IO.Stream.Null; this._buffer = System.Array.init(16, 0, System.Byte); this._encoding = new System.Text.UTF8Encoding.$ctor2(!1, !0) }, $ctor1: function (n) { System.IO.BinaryWriter.$ctor3.call(this, n, new System.Text.UTF8Encoding.$ctor2(!1, !0), !1) }, $ctor2: function (n, t) { System.IO.BinaryWriter.$ctor3.call(this, n, t, !1) }, $ctor3: function (n, t, i) { if (this.$initialize(), n == null) throw new System.ArgumentNullException("output"); if (t == null) throw new System.ArgumentNullException("encoding"); if (!n.CanWrite) throw new System.ArgumentException("Argument_StreamNotWritable"); this.OutStream = n; this._buffer = System.Array.init(16, 0, System.Byte); this._encoding = t; this._leaveOpen = i } }, methods: { Close: function () { this.Dispose$1(!0) }, Dispose$1: function (n) { n && (this._leaveOpen ? this.OutStream.Flush() : this.OutStream.Close()) }, Dispose: function () { this.Dispose$1(!0) }, Flush: function () { this.OutStream.Flush() }, Seek: function (n, t) { return this.OutStream.Seek(System.Int64(n), t) }, Write: function (n) { this._buffer[System.Array.index(0, this._buffer)] = (n ? 1 : 0) & 255; this.OutStream.Write(this._buffer, 0, 1) }, Write$1: function (n) { this.OutStream.WriteByte(n) }, Write$12: function (n) { this.OutStream.WriteByte(n & 255) }, Write$2: function (n) { if (n == null) throw new System.ArgumentNullException("buffer"); this.OutStream.Write(n, 0, n.length) }, Write$3: function (n, t, i) { this.OutStream.Write(n, t, i) }, Write$4: function (n) { if (System.Char.isSurrogate(n)) throw new System.ArgumentException("Arg_SurrogatesNotAllowedAsSingleChar"); var t = 0; t = this._encoding.GetBytes$3(System.Array.init([n], System.Char), 0, 1, this._buffer, 0); this.OutStream.Write(this._buffer, 0, t) }, Write$5: function (n) { if (n == null) throw new System.ArgumentNullException("chars"); var t = this._encoding.GetBytes$1(n, 0, n.length); this.OutStream.Write(t, 0, t.length) }, Write$6: function (n, t, i) { var r = this._encoding.GetBytes$1(n, t, i); this.OutStream.Write(r, 0, r.length) }, Write$8: function (n) { var t = System.Int64.clipu64(System.BitConverter.doubleToInt64Bits(n)); this._buffer[System.Array.index(0, this._buffer)] = System.Int64.clipu8(t); this._buffer[System.Array.index(1, this._buffer)] = System.Int64.clipu8(t.shru(8)); this._buffer[System.Array.index(2, this._buffer)] = System.Int64.clipu8(t.shru(16)); this._buffer[System.Array.index(3, this._buffer)] = System.Int64.clipu8(t.shru(24)); this._buffer[System.Array.index(4, this._buffer)] = System.Int64.clipu8(t.shru(32)); this._buffer[System.Array.index(5, this._buffer)] = System.Int64.clipu8(t.shru(40)); this._buffer[System.Array.index(6, this._buffer)] = System.Int64.clipu8(t.shru(48)); this._buffer[System.Array.index(7, this._buffer)] = System.Int64.clipu8(t.shru(56)); this.OutStream.Write(this._buffer, 0, 8) }, Write$7: function (n) { var t = n.getBytes(); this.OutStream.Write(t, 0, 23) }, Write$9: function (n) { this._buffer[System.Array.index(0, this._buffer)] = n & 255; this._buffer[System.Array.index(1, this._buffer)] = n >> 8 & 255; this.OutStream.Write(this._buffer, 0, 2) }, Write$15: function (n) { this._buffer[System.Array.index(0, this._buffer)] = n & 255; this._buffer[System.Array.index(1, this._buffer)] = n >> 8 & 255; this.OutStream.Write(this._buffer, 0, 2) }, Write$10: function (n) { this._buffer[System.Array.index(0, this._buffer)] = n & 255; this._buffer[System.Array.index(1, this._buffer)] = n >> 8 & 255; this._buffer[System.Array.index(2, this._buffer)] = n >> 16 & 255; this._buffer[System.Array.index(3, this._buffer)] = n >> 24 & 255; this.OutStream.Write(this._buffer, 0, 4) }, Write$16: function (n) { this._buffer[System.Array.index(0, this._buffer)] = n & 255; this._buffer[System.Array.index(1, this._buffer)] = n >>> 8 & 255; this._buffer[System.Array.index(2, this._buffer)] = n >>> 16 & 255; this._buffer[System.Array.index(3, this._buffer)] = n >>> 24 & 255; this.OutStream.Write(this._buffer, 0, 4) }, Write$11: function (n) { this._buffer[System.Array.index(0, this._buffer)] = System.Int64.clipu8(n); this._buffer[System.Array.index(1, this._buffer)] = System.Int64.clipu8(n.shr(8)); this._buffer[System.Array.index(2, this._buffer)] = System.Int64.clipu8(n.shr(16)); this._buffer[System.Array.index(3, this._buffer)] = System.Int64.clipu8(n.shr(24)); this._buffer[System.Array.index(4, this._buffer)] = System.Int64.clipu8(n.shr(32)); this._buffer[System.Array.index(5, this._buffer)] = System.Int64.clipu8(n.shr(40)); this._buffer[System.Array.index(6, this._buffer)] = System.Int64.clipu8(n.shr(48)); this._buffer[System.Array.index(7, this._buffer)] = System.Int64.clipu8(n.shr(56)); this.OutStream.Write(this._buffer, 0, 8) }, Write$17: function (n) { this._buffer[System.Array.index(0, this._buffer)] = System.Int64.clipu8(n); this._buffer[System.Array.index(1, this._buffer)] = System.Int64.clipu8(n.shru(8)); this._buffer[System.Array.index(2, this._buffer)] = System.Int64.clipu8(n.shru(16)); this._buffer[System.Array.index(3, this._buffer)] = System.Int64.clipu8(n.shru(24)); this._buffer[System.Array.index(4, this._buffer)] = System.Int64.clipu8(n.shru(32)); this._buffer[System.Array.index(5, this._buffer)] = System.Int64.clipu8(n.shru(40)); this._buffer[System.Array.index(6, this._buffer)] = System.Int64.clipu8(n.shru(48)); this._buffer[System.Array.index(7, this._buffer)] = System.Int64.clipu8(n.shru(56)); this.OutStream.Write(this._buffer, 0, 8) }, Write$13: function (n) { var t = System.BitConverter.toUInt32(System.BitConverter.getBytes$6(n), 0); this._buffer[System.Array.index(0, this._buffer)] = t & 255; this._buffer[System.Array.index(1, this._buffer)] = t >>> 8 & 255; this._buffer[System.Array.index(2, this._buffer)] = t >>> 16 & 255; this._buffer[System.Array.index(3, this._buffer)] = t >>> 24 & 255; this.OutStream.Write(this._buffer, 0, 4) }, Write$14: function (n) { if (n == null) throw new System.ArgumentNullException("value"); var t = this._encoding.GetBytes$2(n), i = t.length; this.Write7BitEncodedInt(i); this.OutStream.Write(t, 0, i) }, Write7BitEncodedInt: function (n) { for (var t = n >>> 0; t >= 128;)this.Write$1((t | 128) >>> 0 & 255), t = t >>> 7; this.Write$1(t & 255) } } }); Bridge.define("System.IO.Stream", { inherits: [System.IDisposable], statics: { fields: { Null: null, _DefaultCopyBufferSize: 0 }, ctors: { init: function () { this.Null = new System.IO.Stream.NullStream; this._DefaultCopyBufferSize = 81920 } }, methods: { Synchronized: function (n) { if (n == null) throw new System.ArgumentNullException("stream"); return n }, BlockingEndRead: function (n) { return System.IO.Stream.SynchronousAsyncResult.EndRead(n) }, BlockingEndWrite: function (n) { System.IO.Stream.SynchronousAsyncResult.EndWrite(n) } } }, props: { CanTimeout: { get: function () { return !1 } }, ReadTimeout: { get: function () { throw new System.InvalidOperationException; }, set: function () { throw new System.InvalidOperationException; } }, WriteTimeout: { get: function () { throw new System.InvalidOperationException; }, set: function () { throw new System.InvalidOperationException; } } }, alias: ["Dispose", "System$IDisposable$dispose"], methods: { CopyTo: function (n) { if (n == null) throw new System.ArgumentNullException("destination"); if (!this.CanRead && !this.CanWrite) throw new System.Exception; if (!n.CanRead && !n.CanWrite) throw new System.Exception("destination"); if (!this.CanRead) throw new System.NotSupportedException; if (!n.CanWrite) throw new System.NotSupportedException; this.InternalCopyTo(n, System.IO.Stream._DefaultCopyBufferSize) }, CopyTo$1: function (n, t) { if (n == null) throw new System.ArgumentNullException("destination"); if (t <= 0) throw new System.ArgumentOutOfRangeException("bufferSize"); if (!this.CanRead && !this.CanWrite) throw new System.Exception; if (!n.CanRead && !n.CanWrite) throw new System.Exception("destination"); if (!this.CanRead) throw new System.NotSupportedException; if (!n.CanWrite) throw new System.NotSupportedException; this.InternalCopyTo(n, t) }, InternalCopyTo: function (n, t) { for (var i = System.Array.init(t, 0, System.Byte), r; (r = this.Read(i, 0, i.length)) !== 0;)n.Write(i, 0, r) }, Close: function () { this.Dispose$1(!0) }, Dispose: function () { this.Close() }, Dispose$1: function () { }, BeginRead: function (n, t, i, r, u) { return this.BeginReadInternal(n, t, i, r, u, !1) }, BeginReadInternal: function (n, t, i, r, u) { return this.CanRead || System.IO.__Error.ReadNotSupported(), this.BlockingBeginRead(n, t, i, r, u) }, EndRead: function (n) { if (n == null) throw new System.ArgumentNullException("asyncResult"); return System.IO.Stream.BlockingEndRead(n) }, BeginWrite: function (n, t, i, r, u) { return this.BeginWriteInternal(n, t, i, r, u, !1) }, BeginWriteInternal: function (n, t, i, r, u) { return this.CanWrite || System.IO.__Error.WriteNotSupported(), this.BlockingBeginWrite(n, t, i, r, u) }, EndWrite: function (n) { if (n == null) throw new System.ArgumentNullException("asyncResult"); System.IO.Stream.BlockingEndWrite(n) }, ReadByte: function () { var n = System.Array.init(1, 0, System.Byte), t = this.Read(n, 0, 1); return t === 0 ? -1 : n[System.Array.index(0, n)] }, WriteByte: function (n) { var t = System.Array.init(1, 0, System.Byte); t[System.Array.index(0, t)] = n; this.Write(t, 0, 1) }, BlockingBeginRead: function (n, t, i, r, u) { var e, o, s; try { o = this.Read(n, t, i); e = new System.IO.Stream.SynchronousAsyncResult.$ctor1(o, u) } catch (f) { if (f = System.Exception.create(f), Bridge.is(f, System.IO.IOException)) s = f, e = new System.IO.Stream.SynchronousAsyncResult.ctor(s, u, !1); else throw f; } return Bridge.staticEquals(r, null) || r(e), e }, BlockingBeginWrite: function (n, t, i, r, u) { var e, o; try { this.Write(n, t, i); e = new System.IO.Stream.SynchronousAsyncResult.$ctor2(u) } catch (f) { if (f = System.Exception.create(f), Bridge.is(f, System.IO.IOException)) o = f, e = new System.IO.Stream.SynchronousAsyncResult.ctor(o, u, !0); else throw f; } return Bridge.staticEquals(r, null) || r(e), e } } }); Bridge.define("System.IO.IOException", { inherits: [System.Exception], fields: { _maybeFullPath: null }, ctors: { ctor: function () { this.$initialize(); System.Exception.ctor.call(this, "Arg_IOException") }, $ctor1: function (n) { this.$initialize(); System.Exception.ctor.call(this, n) }, $ctor3: function (n) { this.$initialize(); System.Exception.ctor.call(this, n) }, $ctor4: function (n, t, i) { this.$initialize(); System.Exception.ctor.call(this, n); this._maybeFullPath = i }, $ctor2: function (n, t) { this.$initialize(); System.Exception.ctor.call(this, n, t) } } }); Bridge.define("System.IO.File", { statics: { methods: { OpenText: function (n) { if (n == null) throw new System.ArgumentNullException("path"); return new System.IO.StreamReader.$ctor7(n) }, OpenRead: function (n) { return new System.IO.FileStream.$ctor1(n, System.IO.FileMode.Open) }, ReadAllText: function (n) { if (n == null) throw new System.ArgumentNullException("path"); if (n.length === 0) throw new System.ArgumentException("Argument_EmptyPath"); return System.IO.File.InternalReadAllText(n, System.Text.Encoding.UTF8, !0) }, ReadAllText$1: function (n, t) { if (n == null) throw new System.ArgumentNullException("path"); if (t == null) throw new System.ArgumentNullException("encoding"); if (n.length === 0) throw new System.ArgumentException("Argument_EmptyPath"); return System.IO.File.InternalReadAllText(n, t, !0) }, InternalReadAllText: function (n, t, i) { var r = new System.IO.StreamReader.$ctor12(n, t, !0, System.IO.StreamReader.DefaultBufferSize, i); try { return r.ReadToEnd() } finally { Bridge.hasValue(r) && r.System$IDisposable$dispose() } }, ReadAllBytes: function (n) { return System.IO.File.InternalReadAllBytes(n, !0) }, InternalReadAllBytes: function (n) { var f, i = new System.IO.FileStream.$ctor1(n, System.IO.FileMode.Open), r, e, t, u; try { if (r = 0, e = i.Length, e.gt(System.Int64(2147483647))) throw new System.IO.IOException.$ctor1("IO.IO_FileTooLong2GB"); for (t = System.Int64.clip32(e), f = System.Array.init(t, 0, System.Byte); t > 0;)u = i.Read(f, r, t), u === 0 && System.IO.__Error.EndOfFile(), r = r + u | 0, t = t - u | 0 } finally { Bridge.hasValue(i) && i.System$IDisposable$dispose() } return f }, ReadAllLines: function (n) { if (n == null) throw new System.ArgumentNullException("path"); if (n.length === 0) throw new System.ArgumentException("Argument_EmptyPath"); return System.IO.File.InternalReadAllLines(n, System.Text.Encoding.UTF8) }, ReadAllLines$1: function (n, t) { if (n == null) throw new System.ArgumentNullException("path"); if (t == null) throw new System.ArgumentNullException("encoding"); if (n.length === 0) throw new System.ArgumentException("Argument_EmptyPath"); return System.IO.File.InternalReadAllLines(n, t) }, InternalReadAllLines: function (n, t) { var r, u = new (System.Collections.Generic.List$1(System.String).ctor), i = new System.IO.StreamReader.$ctor9(n, t); try { while ((r = i.ReadLine()) != null) u.add(r) } finally { Bridge.hasValue(i) && i.System$IDisposable$dispose() } return u.toArray() }, ReadLines: function (n) { if (n == null) throw new System.ArgumentNullException("path"); if (n.length === 0) throw new System.ArgumentException("Argument_EmptyPath", "path"); return System.IO.ReadLinesIterator.CreateIterator(n, System.Text.Encoding.UTF8) }, ReadLines$1: function (n, t) { if (n == null) throw new System.ArgumentNullException("path"); if (t == null) throw new System.ArgumentNullException("encoding"); if (n.length === 0) throw new System.ArgumentException("Argument_EmptyPath", "path"); return System.IO.ReadLinesIterator.CreateIterator(n, t) } } } }); Bridge.define("System.IO.FileMode", { $kind: "enum", statics: { fields: { CreateNew: 1, Create: 2, Open: 3, OpenOrCreate: 4, Truncate: 5, Append: 6 } } }); Bridge.define("System.IO.Iterator$1", function (n) { return { inherits: [System.Collections.Generic.IEnumerable$1(n), System.Collections.Generic.IEnumerator$1(n)], fields: { state: 0, current: Bridge.getDefaultValue(n) }, props: { Current: { get: function () { return this.current } }, System$Collections$IEnumerator$Current: { get: function () { return this.Current } } }, alias: ["Current", ["System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(n) + "$Current$1", "System$Collections$Generic$IEnumerator$1$Current$1"], "Dispose", "System$IDisposable$dispose", "GetEnumerator", ["System$Collections$Generic$IEnumerable$1$" + Bridge.getTypeAlias(n) + "$getEnumerator", "System$Collections$Generic$IEnumerable$1$getEnumerator"]], ctors: { ctor: function () { this.$initialize() } }, methods: { Dispose: function () { this.Dispose$1(!0) }, Dispose$1: function () { this.current = Bridge.getDefaultValue(n); this.state = -1 }, GetEnumerator: function () { if (this.state === 0) return this.state = 1, this; var n = this.Clone(); return n.state = 1, n }, System$Collections$IEnumerable$getEnumerator: function () { return this.GetEnumerator() }, System$Collections$IEnumerator$reset: function () { throw new System.NotSupportedException; } } } }); Bridge.define("System.IO.SeekOrigin", { $kind: "enum", statics: { fields: { Begin: 0, Current: 1, End: 2 } } }); Bridge.define("System.IO.Stream.SynchronousAsyncResult", { inherits: [System.IAsyncResult], statics: { methods: { EndRead: function (n) { var t = Bridge.as(n, System.IO.Stream.SynchronousAsyncResult); return (t == null || t._isWrite) && System.IO.__Error.WrongAsyncResult(), t._endXxxCalled && System.IO.__Error.EndReadCalledTwice(), t._endXxxCalled = !0, t.ThrowIfError(), t._bytesRead }, EndWrite: function (n) { var t = Bridge.as(n, System.IO.Stream.SynchronousAsyncResult); t != null && t._isWrite || System.IO.__Error.WrongAsyncResult(); t._endXxxCalled && System.IO.__Error.EndWriteCalledTwice(); t._endXxxCalled = !0; t.ThrowIfError() } } }, fields: { _stateObject: null, _isWrite: !1, _exceptionInfo: null, _endXxxCalled: !1, _bytesRead: 0 }, props: { IsCompleted: { get: function () { return !0 } }, AsyncState: { get: function () { return this._stateObject } }, CompletedSynchronously: { get: function () { return !0 } } }, alias: ["IsCompleted", "System$IAsyncResult$IsCompleted", "AsyncState", "System$IAsyncResult$AsyncState", "CompletedSynchronously", "System$IAsyncResult$CompletedSynchronously"], ctors: { $ctor1: function (n, t) { this.$initialize(); this._bytesRead = n; this._stateObject = t }, $ctor2: function (n) { this.$initialize(); this._stateObject = n; this._isWrite = !0 }, ctor: function (n, t, i) { this.$initialize(); this._exceptionInfo = n; this._stateObject = t; this._isWrite = i } }, methods: { ThrowIfError: function () { if (this._exceptionInfo != null) throw this._exceptionInfo; } } }); Bridge.define("System.IO.TextReader", { inherits: [System.IDisposable], statics: { fields: { Null: null }, ctors: { init: function () { this.Null = new System.IO.TextReader.NullTextReader } }, methods: { Synchronized: function (n) { if (n == null) throw new System.ArgumentNullException("reader"); return n } } }, alias: ["Dispose", "System$IDisposable$dispose"], ctors: { ctor: function () { this.$initialize() } }, methods: { Close: function () { this.Dispose$1(!0) }, Dispose: function () { this.Dispose$1(!0) }, Dispose$1: function () { }, Peek: function () { return -1 }, Read: function () { return -1 }, Read$1: function (n, t, i) { var r, u; if (n == null) throw new System.ArgumentNullException("buffer"); if (t < 0) throw new System.ArgumentOutOfRangeException("index"); if (i < 0) throw new System.ArgumentOutOfRangeException("count"); if ((n.length - t | 0) < i) throw new System.ArgumentException; r = 0; do { if (u = this.Read(), u === -1) break; n[System.Array.index(t + Bridge.identity(r, r = r + 1 | 0) | 0, n)] = u & 65535 } while (r < i); return r }, ReadToEndAsync: function () { return System.Threading.Tasks.Task.fromResult(this.ReadToEnd()) }, ReadToEnd: function () { for (var n = System.Array.init(4096, 0, System.Char), t, i = new System.Text.StringBuilder("", 4096); (t = this.Read$1(n, 0, n.length)) !== 0;)i.append(System.String.fromCharArray(n, 0, t)); return i.toString() }, ReadBlock: function (n, t, i) { var u, r = 0; do r = r + (u = this.Read$1(n, t + r | 0, i - r | 0)) | 0; while (u > 0 && r < i); return r }, ReadLine: function () { for (var t = new System.Text.StringBuilder, n; ;) { if (n = this.Read(), n === -1) break; if (n === 13 || n === 10) return n === 13 && this.Peek() === 10 && this.Read(), t.toString(); t.append(String.fromCharCode(n & 65535)) } return t.getLength() > 0 ? t.toString() : null } } }); Bridge.define("System.IO.TextWriter", { inherits: [System.IDisposable], statics: { fields: { Null: null, InitialNewLine: null }, ctors: { init: function () { this.Null = new System.IO.TextWriter.NullTextWriter; this.InitialNewLine = "\r\n" } }, methods: { Synchronized: function (n) { if (n == null) throw new System.ArgumentNullException("writer"); return n } } }, fields: { CoreNewLine: null, InternalFormatProvider: null }, props: { FormatProvider: { get: function () { return this.InternalFormatProvider == null ? System.Globalization.CultureInfo.getCurrentCulture() : this.InternalFormatProvider } }, NewLine: { get: function () { return System.String.fromCharArray(this.CoreNewLine) }, set: function (n) { n == null && (n = System.IO.TextWriter.InitialNewLine); this.CoreNewLine = System.String.toCharArray(n, 0, n.length) } } }, alias: ["Dispose", "System$IDisposable$dispose"], ctors: { init: function () { this.CoreNewLine = System.Array.init([13, 10], System.Char) }, ctor: function () { this.$initialize(); this.InternalFormatProvider = null }, $ctor1: function (n) { this.$initialize(); this.InternalFormatProvider = n } }, methods: { Close: function () { this.Dispose$1(!0) }, Dispose$1: function () { }, Dispose: function () { this.Dispose$1(!0) }, Flush: function () { }, Write$1: function () { }, Write$2: function (n) { n != null && this.Write$3(n, 0, n.length) }, Write$3: function (n, t, i) { if (n == null) throw new System.ArgumentNullException("buffer"); if (t < 0) throw new System.ArgumentOutOfRangeException("index"); if (i < 0) throw new System.ArgumentOutOfRangeException("count"); if ((n.length - t | 0) < i) throw new System.ArgumentException; for (var r = 0; r < i; r = r + 1 | 0)this.Write$1(n[System.Array.index(t + r | 0, n)]) }, Write: function (n) { this.Write$10(n ? System.Boolean.trueString : System.Boolean.falseString) }, Write$6: function (n) { this.Write$10(System.Int32.format(n, "G", this.FormatProvider)) }, Write$15: function (n) { this.Write$10(System.UInt32.format(n, "G", this.FormatProvider)) }, Write$7: function (n) { this.Write$10(n.format("G", this.FormatProvider)) }, Write$16: function (n) { this.Write$10(n.format("G", this.FormatProvider)) }, Write$9: function (n) { this.Write$10(System.Single.format(n, "G", this.FormatProvider)) }, Write$5: function (n) { this.Write$10(System.Double.format(n, "G", this.FormatProvider)) }, Write$4: function (n) { this.Write$10(Bridge.Int.format(n, "G", this.FormatProvider)) }, Write$10: function (n) { n != null && this.Write$2(System.String.toCharArray(n, 0, n.length)) }, Write$8: function (n) { if (n != null) { var t = Bridge.as(n, System.IFormattable); t != null ? this.Write$10(Bridge.format(t, null, this.FormatProvider)) : this.Write$10(n.toString()) } }, Write$11: function (n, t) { this.Write$10(System.String.formatProvider(this.FormatProvider, n, [t])) }, Write$12: function (n, t, i) { this.Write$10(System.String.formatProvider(this.FormatProvider, n, t, i)) }, Write$13: function (n, t, i, r) { this.Write$10(System.String.formatProvider(this.FormatProvider, n, t, i, r)) }, Write$14: function (n, t) { t === void 0 && (t = []); this.Write$10(System.String.formatProvider.apply(System.String, [this.FormatProvider, n].concat(t))) }, WriteLine: function () { this.Write$2(this.CoreNewLine) }, WriteLine$2: function (n) { this.Write$1(n); this.WriteLine() }, WriteLine$3: function (n) { this.Write$2(n); this.WriteLine() }, WriteLine$4: function (n, t, i) { this.Write$3(n, t, i); this.WriteLine() }, WriteLine$1: function (n) { this.Write(n); this.WriteLine() }, WriteLine$7: function (n) { this.Write$6(n); this.WriteLine() }, WriteLine$16: function (n) { this.Write$15(n); this.WriteLine() }, WriteLine$8: function (n) { this.Write$7(n); this.WriteLine() }, WriteLine$17: function (n) { this.Write$16(n); this.WriteLine() }, WriteLine$10: function (n) { this.Write$9(n); this.WriteLine() }, WriteLine$6: function (n) { this.Write$5(n); this.WriteLine() }, WriteLine$5: function (n) { this.Write$4(n); this.WriteLine() }, WriteLine$11: function (n) { if (n == null) this.WriteLine(); else { var i = n.length, r = this.CoreNewLine.length, t = System.Array.init(i + r | 0, 0, System.Char); System.String.copyTo(n, 0, t, 0, i); r === 2 ? (t[System.Array.index(i, t)] = this.CoreNewLine[System.Array.index(0, this.CoreNewLine)], t[System.Array.index(i + 1 | 0, t)] = this.CoreNewLine[System.Array.index(1, this.CoreNewLine)]) : r === 1 ? t[System.Array.index(i, t)] = this.CoreNewLine[System.Array.index(0, this.CoreNewLine)] : System.Array.copy(this.CoreNewLine, 0, t, Bridge.Int.mul(i, 2), Bridge.Int.mul(r, 2)); this.Write$3(t, 0, i + r | 0) } }, WriteLine$9: function (n) { if (n == null) this.WriteLine(); else { var t = Bridge.as(n, System.IFormattable); t != null ? this.WriteLine$11(Bridge.format(t, null, this.FormatProvider)) : this.WriteLine$11(n.toString()) } }, WriteLine$12: function (n, t) { this.WriteLine$11(System.String.formatProvider(this.FormatProvider, n, [t])) }, WriteLine$13: function (n, t, i) { this.WriteLine$11(System.String.formatProvider(this.FormatProvider, n, t, i)) }, WriteLine$14: function (n, t, i, r) { this.WriteLine$11(System.String.formatProvider(this.FormatProvider, n, t, i, r)) }, WriteLine$15: function (n, t) { t === void 0 && (t = []); this.WriteLine$11(System.String.formatProvider.apply(System.String, [this.FormatProvider, n].concat(t))) } } }); Bridge.define("System.IO.BufferedStream", { inherits: [System.IO.Stream], statics: { fields: { _DefaultBufferSize: 0, MaxShadowBufferSize: 0 }, ctors: { init: function () { this._DefaultBufferSize = 4096; this.MaxShadowBufferSize = 81920 } } }, fields: { _stream: null, _buffer: null, _bufferSize: 0, _readPos: 0, _readLen: 0, _writePos: 0 }, props: { UnderlyingStream: { get: function () { return this._stream } }, BufferSize: { get: function () { return this._bufferSize } }, CanRead: { get: function () { return this._stream != null && this._stream.CanRead } }, CanWrite: { get: function () { return this._stream != null && this._stream.CanWrite } }, CanSeek: { get: function () { return this._stream != null && this._stream.CanSeek } }, Length: { get: function () { return this.EnsureNotClosed(), this._writePos > 0 && this.FlushWrite(), this._stream.Length } }, Position: { get: function () { return this.EnsureNotClosed(), this.EnsureCanSeek(), this._stream.Position.add(System.Int64((this._readPos - this._readLen | 0) + this._writePos | 0)) }, set: function (n) { if (n.lt(System.Int64(0))) throw new System.ArgumentOutOfRangeException("value"); this.EnsureNotClosed(); this.EnsureCanSeek(); this._writePos > 0 && this.FlushWrite(); this._readPos = 0; this._readLen = 0; this._stream.Seek(n, System.IO.SeekOrigin.Begin) } } }, ctors: { ctor: function () { this.$initialize(); System.IO.Stream.ctor.call(this) }, $ctor1: function (n) { System.IO.BufferedStream.$ctor2.call(this, n, System.IO.BufferedStream._DefaultBufferSize) }, $ctor2: function (n, t) { if (this.$initialize(), System.IO.Stream.ctor.call(this), n == null) throw new System.ArgumentNullException("stream"); if (t <= 0) throw new System.ArgumentOutOfRangeException("bufferSize"); this._stream = n; this._bufferSize = t; this._stream.CanRead || this._stream.CanWrite || System.IO.__Error.StreamIsClosed() } }, methods: { EnsureNotClosed: function () { this._stream == null && System.IO.__Error.StreamIsClosed() }, EnsureCanSeek: function () { this._stream.CanSeek || System.IO.__Error.SeekNotSupported() }, EnsureCanRead: function () { this._stream.CanRead || System.IO.__Error.ReadNotSupported() }, EnsureCanWrite: function () { this._stream.CanWrite || System.IO.__Error.WriteNotSupported() }, EnsureShadowBufferAllocated: function () { if (this._buffer.length === this._bufferSize && !(this._bufferSize >= System.IO.BufferedStream.MaxShadowBufferSize)) { var n = System.Array.init(Math.min(this._bufferSize + this._bufferSize | 0, System.IO.BufferedStream.MaxShadowBufferSize), 0, System.Byte); System.Array.copy(this._buffer, 0, n, 0, this._writePos); this._buffer = n } }, EnsureBufferAllocated: function () { this._buffer == null && (this._buffer = System.Array.init(this._bufferSize, 0, System.Byte)) }, Dispose$1: function (n) { try { if (n && this._stream != null) try { this.Flush() } finally { this._stream.Close() } } finally { this._stream = null; this._buffer = null; System.IO.Stream.prototype.Dispose$1.call(this, n) } }, Flush: function () { if (this.EnsureNotClosed(), this._writePos > 0) { this.FlushWrite(); return } if (this._readPos < this._readLen) { if (!this._stream.CanSeek) return; this.FlushRead(); (this._stream.CanWrite || Bridge.is(this._stream, System.IO.BufferedStream)) && this._stream.Flush(); return } (this._stream.CanWrite || Bridge.is(this._stream, System.IO.BufferedStream)) && this._stream.Flush(); this._writePos = this._readPos = this._readLen = 0 }, FlushRead: function () { (this._readPos - this._readLen | 0) != 0 && this._stream.Seek(System.Int64(this._readPos - this._readLen), System.IO.SeekOrigin.Current); this._readPos = 0; this._readLen = 0 }, ClearReadBufferBeforeWrite: function () { if (this._readPos === this._readLen) { this._readPos = this._readLen = 0; return } if (!this._stream.CanSeek) throw new System.NotSupportedException; this.FlushRead() }, FlushWrite: function () { this._stream.Write(this._buffer, 0, this._writePos); this._writePos = 0; this._stream.Flush() }, ReadFromBuffer: function (n, t, i) { var r = this._readLen - this._readPos | 0; return r === 0 ? 0 : (r > i && (r = i), System.Array.copy(this._buffer, this._readPos, n, t, r), this._readPos = this._readPos + r | 0, r) }, ReadFromBuffer$1: function (n, t, i, r) { try { return r.v = null, this.ReadFromBuffer(n, t, i) } catch (u) { return u = System.Exception.create(u), r.v = u, 0 } }, Read: function (n, t, i) { var r, u; if (n == null) throw new System.ArgumentNullException("array"); if (t < 0) throw new System.ArgumentOutOfRangeException("offset"); if (i < 0) throw new System.ArgumentOutOfRangeException("count"); if ((n.length - t | 0) < i) throw new System.ArgumentException; return (this.EnsureNotClosed(), this.EnsureCanRead(), r = this.ReadFromBuffer(n, t, i), r === i) ? r : (u = r, r > 0 && (i = i - r | 0, t = t + r | 0), this._readPos = this._readLen = 0, this._writePos > 0 && this.FlushWrite(), i >= this._bufferSize) ? this._stream.Read(n, t, i) + u | 0 : (this.EnsureBufferAllocated(), this._readLen = this._stream.Read(this._buffer, 0, this._bufferSize), r = this.ReadFromBuffer(n, t, i), r + u | 0) }, ReadByte: function () { if (this.EnsureNotClosed(), this.EnsureCanRead(), this._readPos === this._readLen && (this._writePos > 0 && this.FlushWrite(), this.EnsureBufferAllocated(), this._readLen = this._stream.Read(this._buffer, 0, this._bufferSize), this._readPos = 0), this._readPos === this._readLen) return -1; return this._buffer[System.Array.index(Bridge.identity(this._readPos, this._readPos = this._readPos + 1 | 0), this._buffer)] }, WriteToBuffer: function (n, t, i) { var r = Math.min(this._bufferSize - this._writePos | 0, i.v); r <= 0 || (this.EnsureBufferAllocated(), System.Array.copy(n, t.v, this._buffer, this._writePos, r), this._writePos = this._writePos + r | 0, i.v = i.v - r | 0, t.v = t.v + r | 0) }, WriteToBuffer$1: function (n, t, i, r) { try { r.v = null; this.WriteToBuffer(n, t, i) } catch (u) { u = System.Exception.create(u); r.v = u } }, Write: function (n, t, i) { if (t = { v: t }, i = { v: i }, n == null) throw new System.ArgumentNullException("array"); if (t.v < 0) throw new System.ArgumentOutOfRangeException("offset"); if (i.v < 0) throw new System.ArgumentOutOfRangeException("count"); if ((n.length - t.v | 0) < i.v) throw new System.ArgumentException; this.EnsureNotClosed(); this.EnsureCanWrite(); this._writePos === 0 && this.ClearReadBufferBeforeWrite(); var r, u; if (r = Bridge.Int.check(this._writePos + i.v, System.Int32), u = Bridge.Int.check(r + i.v, System.Int32) < Bridge.Int.check(this._bufferSize + this._bufferSize, System.Int32), u) { if (this.WriteToBuffer(n, t, i), this._writePos < this._bufferSize) return; this._stream.Write(this._buffer, 0, this._writePos); this._writePos = 0; this.WriteToBuffer(n, t, i) } else { if (this._writePos > 0) { if (r <= (this._bufferSize + this._bufferSize | 0) && r <= System.IO.BufferedStream.MaxShadowBufferSize) { this.EnsureShadowBufferAllocated(); System.Array.copy(n, t.v, this._buffer, this._writePos, i.v); this._stream.Write(this._buffer, 0, r); this._writePos = 0; return } this._stream.Write(this._buffer, 0, this._writePos); this._writePos = 0 } this._stream.Write(n, t.v, i.v) } }, WriteByte: function (n) { this.EnsureNotClosed(); this._writePos === 0 && (this.EnsureCanWrite(), this.ClearReadBufferBeforeWrite(), this.EnsureBufferAllocated()); this._writePos >= (this._bufferSize - 1 | 0) && this.FlushWrite(); this._buffer[System.Array.index(Bridge.identity(this._writePos, this._writePos = this._writePos + 1 | 0), this._buffer)] = n }, Seek: function (n, t) { if (this.EnsureNotClosed(), this.EnsureCanSeek(), this._writePos > 0) return this.FlushWrite(), this._stream.Seek(n, t); (this._readLen - this._readPos | 0) > 0 && t === System.IO.SeekOrigin.Current && (n = n.sub(System.Int64(this._readLen - this._readPos | 0))); var r = this.Position, i = this._stream.Seek(n, t); return this._readPos = System.Int64.clip32(i.sub(r.sub(System.Int64(this._readPos)))), 0 <= this._readPos && this._readPos < this._readLen ? this._stream.Seek(System.Int64(this._readLen - this._readPos), System.IO.SeekOrigin.Current) : this._readPos = this._readLen = 0, i }, SetLength: function (n) { if (n.lt(System.Int64(0))) throw new System.ArgumentOutOfRangeException("value"); this.EnsureNotClosed(); this.EnsureCanSeek(); this.EnsureCanWrite(); this.Flush(); this._stream.SetLength(n) } } }); Bridge.define("System.IO.EndOfStreamException", { inherits: [System.IO.IOException], ctors: { ctor: function () { this.$initialize(); System.IO.IOException.$ctor1.call(this, "Arg_EndOfStreamException") }, $ctor1: function (n) { this.$initialize(); System.IO.IOException.$ctor1.call(this, n) }, $ctor2: function (n, t) { this.$initialize(); System.IO.IOException.$ctor2.call(this, n, t) } } }); Bridge.define("System.IO.FileStream", { inherits: [System.IO.Stream], statics: { methods: { FromFile: function (n) { var i = new System.Threading.Tasks.TaskCompletionSource, t = new FileReader; return t.onload = function () { i.setResult(new System.IO.FileStream.ctor(t.result, n.name)) }, t.onerror = function (n) { i.setException(new Bridge.ErrorException(Bridge.unbox(n).target.error.As())) }, t.readAsArrayBuffer(n), i.task }, ReadBytes: function (n) { var u, t, i, r; if (Bridge.isNode) return u = require("fs"), Bridge.cast(u.readFileSync(n), ArrayBuffer); if (t = new XMLHttpRequest, t.open("GET", n, !1), t.overrideMimeType("text/plain; charset=binary-data"), t.send(null), t.status !== 200) throw new System.IO.IOException.$ctor1(System.String.format("Status of request to {0} returned status: {1}", n, Bridge.box(t.status, System.UInt16))); return i = t.responseText, r = new Uint8Array(i.length), System.String.toCharArray(i, 0, i.length).forEach(function (n, t) { var i; return i = n & 255, r[t] = i, i }), r.buffer }, ReadBytesAsync: function (n) { var i = new System.Threading.Tasks.TaskCompletionSource, r, t; return Bridge.isNode ? (r = require("fs"), r.readFile(n, function (n, t) { if (n != null) throw new System.IO.IOException.ctor; i.setResult(t) })) : (t = new XMLHttpRequest, t.open("GET", n, !0), t.overrideMimeType("text/plain; charset=binary-data"), t.send(null), t.onreadystatechange = function () { if (t.readyState === 4) { if (t.status !== 200) throw new System.IO.IOException.$ctor1(System.String.format("Status of request to {0} returned status: {1}", n, Bridge.box(t.status, System.UInt16))); var r = t.responseText, u = new Uint8Array(r.length); System.String.toCharArray(r, 0, r.length).forEach(function (n, t) { var i; return i = n & 255, u[t] = i, i }); i.setResult(u.buffer) } }), i.task } } }, fields: { name: null, _buffer: null }, props: { CanRead: { get: function () { return !0 } }, CanWrite: { get: function () { return !1 } }, CanSeek: { get: function () { return !1 } }, IsAsync: { get: function () { return !1 } }, Name: { get: function () { return this.name } }, Length: { get: function () { return System.Int64(this.GetInternalBuffer().byteLength) } }, Position: System.Int64(0) }, ctors: { $ctor1: function (n) { this.$initialize(); System.IO.Stream.ctor.call(this); this.name = n }, ctor: function (n, t) { this.$initialize(); System.IO.Stream.ctor.call(this); this._buffer = n; this.name = t } }, methods: { Flush: function () { }, Seek: function () { throw new System.NotImplementedException; }, SetLength: function () { throw new System.NotImplementedException; }, Write: function () { throw new System.NotImplementedException; }, GetInternalBuffer: function () { return this._buffer == null && (this._buffer = System.IO.FileStream.ReadBytes(this.name)), this._buffer }, EnsureBufferAsync: function () { var n = 0, i, r, t = new System.Threading.Tasks.TaskCompletionSource, u, f = Bridge.fn.bind(this, function () { try { for (; ;) { n = System.Array.min([0, 1, 2, 3], n); switch (n) { case 0: if (this._buffer == null) { n = 1; continue } n = 3; continue; case 1: i = System.IO.FileStream.ReadBytesAsync(this.name); n = 2; i.continueWith(f); return; case 2: r = i.getAwaitedResult(); this._buffer = r; n = 3; continue; case 3: t.setResult(null); return; default: t.setResult(null); return } } } catch (e) { u = System.Exception.create(e); t.setException(u) } }, arguments); return f(), t.task }, Read: function (n, t, i) { var r, e, u, f, o; if (n == null) throw new System.ArgumentNullException("buffer"); if (t < 0) throw new System.ArgumentOutOfRangeException("offset"); if (i < 0) throw new System.ArgumentOutOfRangeException("count"); if ((n.length - t | 0) < i) throw new System.ArgumentException; if (r = this.Length.sub(this.Position), r.gt(System.Int64(i)) && (r = System.Int64(i)), r.lte(System.Int64(0))) return 0; if (e = new Uint8Array(this.GetInternalBuffer()), r.gt(System.Int64(8))) for (u = 0; System.Int64(u).lt(r); u = u + 1 | 0)n[System.Array.index(u + t | 0, n)] = e[this.Position.add(System.Int64(u))]; else for (f = r; ;) { if (o = f.sub(System.Int64(1)), f = o, o.lt(System.Int64(0))) break; n[System.Array.index(System.Int64.toNumber(System.Int64(t).add(f)), n)] = e[this.Position.add(f)] } return this.Position = this.Position.add(r), System.Int64.clip32(r) } } }); Bridge.define("System.IO.MemoryStream", { inherits: [System.IO.Stream], statics: { fields: { MemStreamMaxLength: 0 }, ctors: { init: function () { this.MemStreamMaxLength = 2147483647 } } }, fields: { _buffer: null, _origin: 0, _position: 0, _length: 0, _capacity: 0, _expandable: !1, _writable: !1, _exposable: !1, _isOpen: !1 }, props: { CanRead: { get: function () { return this._isOpen } }, CanSeek: { get: function () { return this._isOpen } }, CanWrite: { get: function () { return this._writable } }, Capacity: { get: function () { return this._isOpen || System.IO.__Error.StreamIsClosed(), this._capacity - this._origin | 0 }, set: function (n) { if (System.Int64(n).lt(this.Length)) throw new System.ArgumentOutOfRangeException("value", "ArgumentOutOfRange_SmallCapacity"); if (this._isOpen || System.IO.__Error.StreamIsClosed(), this._expandable || n === this.Capacity || System.IO.__Error.MemoryStreamNotExpandable(), this._expandable && n !== this._capacity) { if (n > 0) { var t = System.Array.init(n, 0, System.Byte); this._length > 0 && System.Array.copy(this._buffer, 0, t, 0, this._length); this._buffer = t } else this._buffer = null; this._capacity = n } } }, Length: { get: function () { return this._isOpen || System.IO.__Error.StreamIsClosed(), System.Int64(this._length - this._origin) } }, Position: { get: function () { return this._isOpen || System.IO.__Error.StreamIsClosed(), System.Int64(this._position - this._origin) }, set: function (n) { if (n.lt(System.Int64(0))) throw new System.ArgumentOutOfRangeException("value", "ArgumentOutOfRange_NeedNonNegNum"); if (this._isOpen || System.IO.__Error.StreamIsClosed(), n.gt(System.Int64(System.IO.MemoryStream.MemStreamMaxLength))) throw new System.ArgumentOutOfRangeException("value", "ArgumentOutOfRange_StreamLength"); this._position = this._origin + System.Int64.clip32(n) | 0 } } }, ctors: { ctor: function () { System.IO.MemoryStream.$ctor6.call(this, 0) }, $ctor6: function (n) { if (this.$initialize(), System.IO.Stream.ctor.call(this), n < 0) throw new System.ArgumentOutOfRangeException("capacity", "ArgumentOutOfRange_NegativeCapacity"); this._buffer = System.Array.init(n, 0, System.Byte); this._capacity = n; this._expandable = !0; this._writable = !0; this._exposable = !0; this._origin = 0; this._isOpen = !0 }, $ctor1: function (n) { System.IO.MemoryStream.$ctor2.call(this, n, !0) }, $ctor2: function (n, t) { if (this.$initialize(), System.IO.Stream.ctor.call(this), n == null) throw new System.ArgumentNullException("buffer", "ArgumentNull_Buffer"); this._buffer = n; this._length = this._capacity = n.length; this._writable = t; this._exposable = !1; this._origin = 0; this._isOpen = !0 }, $ctor3: function (n, t, i) { System.IO.MemoryStream.$ctor5.call(this, n, t, i, !0, !1) }, $ctor4: function (n, t, i, r) { System.IO.MemoryStream.$ctor5.call(this, n, t, i, r, !1) }, $ctor5: function (n, t, i, r, u) { if (this.$initialize(), System.IO.Stream.ctor.call(this), n == null) throw new System.ArgumentNullException("buffer", "ArgumentNull_Buffer"); if (t < 0) throw new System.ArgumentOutOfRangeException("index", "ArgumentOutOfRange_NeedNonNegNum"); if (i < 0) throw new System.ArgumentOutOfRangeException("count", "ArgumentOutOfRange_NeedNonNegNum"); if ((n.length - t | 0) < i) throw new System.ArgumentException("Argument_InvalidOffLen"); this._buffer = n; this._origin = this._position = t; this._length = this._capacity = t + i | 0; this._writable = r; this._exposable = u; this._expandable = !1; this._isOpen = !0 } }, methods: { EnsureWriteable: function () { this.CanWrite || System.IO.__Error.WriteNotSupported() }, Dispose$1: function (n) { try { n && (this._isOpen = !1, this._writable = !1, this._expandable = !1) } finally { System.IO.Stream.prototype.Dispose$1.call(this, n) } }, EnsureCapacity: function (n) { if (n < 0) throw new System.IO.IOException.$ctor1("IO.IO_StreamTooLong"); if (n > this._capacity) { var t = n; return t < 256 && (t = 256), t < Bridge.Int.mul(this._capacity, 2) && (t = Bridge.Int.mul(this._capacity, 2)), Bridge.Int.mul(this._capacity, 2) >>> 0 > 2147483591 && (t = n > 2147483591 ? n : 2147483591), this.Capacity = t, !0 } return !1 }, Flush: function () { }, GetBuffer: function () { if (!this._exposable) throw new System.Exception("UnauthorizedAccess_MemStreamBuffer"); return this._buffer }, TryGetBuffer: function (n) { return this._exposable ? (n.v = new System.ArraySegment(this._buffer, this._origin, this._length - this._origin | 0), !0) : (n.v = Bridge.getDefaultValue(System.ArraySegment), !1) }, InternalGetBuffer: function () { return this._buffer }, InternalGetPosition: function () { return this._isOpen || System.IO.__Error.StreamIsClosed(), this._position }, InternalReadInt32: function () { this._isOpen || System.IO.__Error.StreamIsClosed(); var n = this._position = this._position + 4 | 0; return n > this._length && (this._position = this._length, System.IO.__Error.EndOfFile()), this._buffer[System.Array.index(n - 4 | 0, this._buffer)] | this._buffer[System.Array.index(n - 3 | 0, this._buffer)] << 8 | this._buffer[System.Array.index(n - 2 | 0, this._buffer)] << 16 | this._buffer[System.Array.index(n - 1 | 0, this._buffer)] << 24 }, InternalEmulateRead: function (n) { this._isOpen || System.IO.__Error.StreamIsClosed(); var t = this._length - this._position | 0; return t > n && (t = n), t < 0 && (t = 0), this._position = this._position + t | 0, t }, Read: function (n, t, i) { var r, u; if (n == null) throw new System.ArgumentNullException("buffer", "ArgumentNull_Buffer"); if (t < 0) throw new System.ArgumentOutOfRangeException("offset", "ArgumentOutOfRange_NeedNonNegNum"); if (i < 0) throw new System.ArgumentOutOfRangeException("count", "ArgumentOutOfRange_NeedNonNegNum"); if ((n.length - t | 0) < i) throw new System.ArgumentException("Argument_InvalidOffLen"); if (this._isOpen || System.IO.__Error.StreamIsClosed(), r = this._length - this._position | 0, r > i && (r = i), r <= 0) return 0; if (r <= 8) for (u = r; (u = u - 1 | 0) >= 0;)n[System.Array.index(t + u | 0, n)] = this._buffer[System.Array.index(this._position + u | 0, this._buffer)]; else System.Array.copy(this._buffer, this._position, n, t, r); return this._position = this._position + r | 0, r }, ReadByte: function () { return (this._isOpen || System.IO.__Error.StreamIsClosed(), this._position >= this._length) ? -1 : this._buffer[System.Array.index(Bridge.identity(this._position, this._position = this._position + 1 | 0), this._buffer)] }, Seek: function (n, t) { var i, r, u; if (this._isOpen || System.IO.__Error.StreamIsClosed(), n.gt(System.Int64(System.IO.MemoryStream.MemStreamMaxLength))) throw new System.ArgumentOutOfRangeException("offset", "ArgumentOutOfRange_StreamLength"); switch (t) { case System.IO.SeekOrigin.Begin: if (i = this._origin + System.Int64.clip32(n) | 0, n.lt(System.Int64(0)) || i < this._origin) throw new System.IO.IOException.$ctor1("IO.IO_SeekBeforeBegin"); this._position = i; break; case System.IO.SeekOrigin.Current: if (r = this._position + System.Int64.clip32(n) | 0, System.Int64(this._position).add(n).lt(System.Int64(this._origin)) || r < this._origin) throw new System.IO.IOException.$ctor1("IO.IO_SeekBeforeBegin"); this._position = r; break; case System.IO.SeekOrigin.End: if (u = this._length + System.Int64.clip32(n) | 0, System.Int64(this._length).add(n).lt(System.Int64(this._origin)) || u < this._origin) throw new System.IO.IOException.$ctor1("IO.IO_SeekBeforeBegin"); this._position = u; break; default: throw new System.ArgumentException("Argument_InvalidSeekOrigin"); }return System.Int64(this._position) }, SetLength: function (n) { if (n.lt(System.Int64(0)) || n.gt(System.Int64(2147483647))) throw new System.ArgumentOutOfRangeException("value", "ArgumentOutOfRange_StreamLength"); if (this.EnsureWriteable(), n.gt(System.Int64(2147483647 - this._origin | 0))) throw new System.ArgumentOutOfRangeException("value", "ArgumentOutOfRange_StreamLength"); var t = this._origin + System.Int64.clip32(n) | 0, i = this.EnsureCapacity(t); !i && t > this._length && System.Array.fill(this._buffer, 0, this._length, t - this._length | 0); this._length = t; this._position > t && (this._position = t) }, ToArray: function () { var n = System.Array.init(this._length - this._origin | 0, 0, System.Byte); return System.Array.copy(this._buffer, this._origin, n, 0, this._length - this._origin | 0), n }, Write: function (n, t, i) { var r, f, e, u; if (n == null) throw new System.ArgumentNullException("buffer", "ArgumentNull_Buffer"); if (t < 0) throw new System.ArgumentOutOfRangeException("offset", "ArgumentOutOfRange_NeedNonNegNum"); if (i < 0) throw new System.ArgumentOutOfRangeException("count", "ArgumentOutOfRange_NeedNonNegNum"); if ((n.length - t | 0) < i) throw new System.ArgumentException("Argument_InvalidOffLen"); if (this._isOpen || System.IO.__Error.StreamIsClosed(), this.EnsureWriteable(), r = this._position + i | 0, r < 0) throw new System.IO.IOException.$ctor1("IO.IO_StreamTooLong"); if (r > this._length && (f = this._position > this._length, r > this._capacity && (e = this.EnsureCapacity(r), e && (f = !1)), f && System.Array.fill(this._buffer, 0, this._length, r - this._length | 0), this._length = r), i <= 8 && !Bridge.referenceEquals(n, this._buffer)) for (u = i; (u = u - 1 | 0) >= 0;)this._buffer[System.Array.index(this._position + u | 0, this._buffer)] = n[System.Array.index(t + u | 0, n)]; else System.Array.copy(n, t, this._buffer, this._position, i); this._position = r }, WriteByte: function (n) { var t, i, r; this._isOpen || System.IO.__Error.StreamIsClosed(); this.EnsureWriteable(); this._position >= this._length && (t = this._position + 1 | 0, i = this._position > this._length, t >= this._capacity && (r = this.EnsureCapacity(t), r && (i = !1)), i && System.Array.fill(this._buffer, 0, this._length, this._position - this._length | 0), this._length = t); this._buffer[System.Array.index(Bridge.identity(this._position, this._position = this._position + 1 | 0), this._buffer)] = n }, WriteTo: function (n) { if (n == null) throw new System.ArgumentNullException("stream", "ArgumentNull_Stream"); this._isOpen || System.IO.__Error.StreamIsClosed(); n.Write(this._buffer, this._origin, this._length - this._origin | 0) } } }); Bridge.define("System.IO.ReadLinesIterator", { inherits: [System.IO.Iterator$1(System.String)], statics: { methods: { CreateIterator: function (n, t) { return System.IO.ReadLinesIterator.CreateIterator$1(n, t, null) }, CreateIterator$1: function (n, t, i) { return new System.IO.ReadLinesIterator(n, t, i || new System.IO.StreamReader.$ctor9(n, t)) } } }, fields: { _path: null, _encoding: null, _reader: null }, alias: ["MoveNext", "System$Collections$IEnumerator$moveNext"], ctors: { ctor: function (n, t, i) { this.$initialize(); System.IO.Iterator$1(System.String).ctor.call(this); this._path = n; this._encoding = t; this._reader = i } }, methods: { MoveNext: function () { if (this._reader != null) { if (this.current = this._reader.ReadLine(), this.current != null) return !0; this.Dispose() } return !1 }, Clone: function () { return System.IO.ReadLinesIterator.CreateIterator$1(this._path, this._encoding, this._reader) }, Dispose$1: function (n) { try { n && this._reader != null && this._reader.Dispose() } finally { this._reader = null; System.IO.Iterator$1(System.String).prototype.Dispose$1.call(this, n) } } } }); Bridge.define("System.IO.Stream.NullStream", { inherits: [System.IO.Stream], props: { CanRead: { get: function () { return !0 } }, CanWrite: { get: function () { return !0 } }, CanSeek: { get: function () { return !0 } }, Length: { get: function () { return System.Int64(0) } }, Position: { get: function () { return System.Int64(0) }, set: function () { } } }, ctors: { ctor: function () { this.$initialize(); System.IO.Stream.ctor.call(this) } }, methods: { Dispose$1: function () { }, Flush: function () { }, BeginRead: function (n, t, i, r, u) { return this.CanRead || System.IO.__Error.ReadNotSupported(), this.BlockingBeginRead(n, t, i, r, u) }, EndRead: function (n) { if (n == null) throw new System.ArgumentNullException("asyncResult"); return System.IO.Stream.BlockingEndRead(n) }, BeginWrite: function (n, t, i, r, u) { return this.CanWrite || System.IO.__Error.WriteNotSupported(), this.BlockingBeginWrite(n, t, i, r, u) }, EndWrite: function (n) { if (n == null) throw new System.ArgumentNullException("asyncResult"); System.IO.Stream.BlockingEndWrite(n) }, Read: function () { return 0 }, ReadByte: function () { return -1 }, Write: function () { }, WriteByte: function () { }, Seek: function () { return System.Int64(0) }, SetLength: function () { } } }); Bridge.define("System.IO.StreamReader", { inherits: [System.IO.TextReader], statics: { fields: { Null: null, DefaultFileStreamBufferSize: 0, MinBufferSize: 0 }, props: { DefaultBufferSize: { get: function () { return 1024 } } }, ctors: { init: function () { this.Null = new System.IO.StreamReader.NullStreamReader; this.DefaultFileStreamBufferSize = 4096; this.MinBufferSize = 128 } } }, fields: { stream: null, encoding: null, byteBuffer: null, charBuffer: null, charPos: 0, charLen: 0, byteLen: 0, bytePos: 0, _maxCharsPerBuffer: 0, _detectEncoding: !1, _isBlocked: !1, _closable: !1 }, props: { CurrentEncoding: { get: function () { return this.encoding } }, BaseStream: { get: function () { return this.stream } }, LeaveOpen: { get: function () { return !this._closable } }, EndOfStream: { get: function () { if (this.stream == null && System.IO.__Error.ReaderClosed(), this.charPos < this.charLen) return !1; var n = this.ReadBuffer(); return n === 0 } } }, ctors: { ctor: function () { this.$initialize(); System.IO.TextReader.ctor.call(this) }, $ctor1: function (n) { System.IO.StreamReader.$ctor2.call(this, n, !0) }, $ctor2: function (n, t) { System.IO.StreamReader.$ctor6.call(this, n, System.Text.Encoding.UTF8, t, System.IO.StreamReader.DefaultBufferSize, !1) }, $ctor3: function (n, t) { System.IO.StreamReader.$ctor6.call(this, n, t, !0, System.IO.StreamReader.DefaultBufferSize, !1) }, $ctor4: function (n, t, i) { System.IO.StreamReader.$ctor6.call(this, n, t, i, System.IO.StreamReader.DefaultBufferSize, !1) }, $ctor5: function (n, t, i, r) { System.IO.StreamReader.$ctor6.call(this, n, t, i, r, !1) }, $ctor6: function (n, t, i, r, u) { if (this.$initialize(), System.IO.TextReader.ctor.call(this), n == null || t == null) throw new System.ArgumentNullException(n == null ? "stream" : "encoding"); if (!n.CanRead) throw new System.ArgumentException; if (r <= 0) throw new System.ArgumentOutOfRangeException("bufferSize"); this.Init$1(n, t, i, r, u) }, $ctor7: function (n) { System.IO.StreamReader.$ctor8.call(this, n, !0) }, $ctor8: function (n, t) { System.IO.StreamReader.$ctor11.call(this, n, System.Text.Encoding.UTF8, t, System.IO.StreamReader.DefaultBufferSize) }, $ctor9: function (n, t) { System.IO.StreamReader.$ctor11.call(this, n, t, !0, System.IO.StreamReader.DefaultBufferSize) }, $ctor10: function (n, t, i) { System.IO.StreamReader.$ctor11.call(this, n, t, i, System.IO.StreamReader.DefaultBufferSize) }, $ctor11: function (n, t, i, r) { System.IO.StreamReader.$ctor12.call(this, n, t, i, r, !0) }, $ctor12: function (n, t, i, r) { if (this.$initialize(), System.IO.TextReader.ctor.call(this), n == null || t == null) throw new System.ArgumentNullException(n == null ? "path" : "encoding"); if (n.length === 0) throw new System.ArgumentException; if (r <= 0) throw new System.ArgumentOutOfRangeException("bufferSize"); var u = new System.IO.FileStream.$ctor1(n, System.IO.FileMode.Open); this.Init$1(u, t, i, r, !1) } }, methods: { Init$1: function (n, t, i, r, u) { this.stream = n; this.encoding = t; r < System.IO.StreamReader.MinBufferSize && (r = System.IO.StreamReader.MinBufferSize); this.byteBuffer = System.Array.init(r, 0, System.Byte); this._maxCharsPerBuffer = t.GetMaxCharCount(r); this.charBuffer = System.Array.init(this._maxCharsPerBuffer, 0, System.Char); this.byteLen = 0; this.bytePos = 0; this._detectEncoding = i; this._isBlocked = !1; this._closable = !u }, Init: function (n) { this.stream = n; this._closable = !0 }, Close: function () { this.Dispose$1(!0) }, Dispose$1: function (n) { try { !this.LeaveOpen && n && this.stream != null && this.stream.Close() } finally { this.LeaveOpen || this.stream == null || (this.stream = null, this.encoding = null, this.byteBuffer = null, this.charBuffer = null, this.charPos = 0, this.charLen = 0, System.IO.TextReader.prototype.Dispose$1.call(this, n)) } }, DiscardBufferedData: function () { this.byteLen = 0; this.charLen = 0; this.charPos = 0; this._isBlocked = !1 }, Peek: function () { return (this.stream == null && System.IO.__Error.ReaderClosed(), this.charPos === this.charLen && (this._isBlocked || this.ReadBuffer() === 0)) ? -1 : this.charBuffer[System.Array.index(this.charPos, this.charBuffer)] }, Read: function () { if (this.stream == null && System.IO.__Error.ReaderClosed(), this.charPos === this.charLen && this.ReadBuffer() === 0) return -1; var n = this.charBuffer[System.Array.index(this.charPos, this.charBuffer)]; return this.charPos = this.charPos + 1 | 0, n }, Read$1: function (n, t, i) { var u, f, r; if (n == null) throw new System.ArgumentNullException("buffer"); if (t < 0 || i < 0) throw new System.ArgumentOutOfRangeException(t < 0 ? "index" : "count"); if ((n.length - t | 0) < i) throw new System.ArgumentException; for (this.stream == null && System.IO.__Error.ReaderClosed(), u = 0, f = { v: !1 }; i > 0;) { if (r = this.charLen - this.charPos | 0, r === 0 && (r = this.ReadBuffer$1(n, t + u | 0, i, f)), r === 0) break; if (r > i && (r = i), f.v || (System.Array.copy(this.charBuffer, this.charPos, n, t + u | 0, r), this.charPos = this.charPos + r | 0), u = u + r | 0, i = i - r | 0, this._isBlocked) break } return u }, ReadToEndAsync: function () { var n = 0, i, r, f, t = new System.Threading.Tasks.TaskCompletionSource, e, u = Bridge.fn.bind(this, function () { try { for (; ;) { n = System.Array.min([0, 1, 2, 3, 4], n); switch (n) { case 0: if (Bridge.is(this.stream, System.IO.FileStream)) { n = 1; continue } n = 3; continue; case 1: i = this.stream.EnsureBufferAsync(); n = 2; i.continueWith(u); return; case 2: i.getAwaitedResult(); n = 3; continue; case 3: r = System.IO.TextReader.prototype.ReadToEndAsync.call(this); n = 4; r.continueWith(u); return; case 4: f = r.getAwaitedResult(); t.setResult(f); return; default: t.setResult(null); return } } } catch (o) { e = System.Exception.create(o); t.setException(e) } }, arguments); return u(), t.task }, ReadToEnd: function () { this.stream == null && System.IO.__Error.ReaderClosed(); var n = new System.Text.StringBuilder("", this.charLen - this.charPos | 0); do n.append(System.String.fromCharArray(this.charBuffer, this.charPos, this.charLen - this.charPos | 0)), this.charPos = this.charLen, this.ReadBuffer(); while (this.charLen > 0); return n.toString() }, ReadBlock: function (n, t, i) { if (n == null) throw new System.ArgumentNullException("buffer"); if (t < 0 || i < 0) throw new System.ArgumentOutOfRangeException(t < 0 ? "index" : "count"); if ((n.length - t | 0) < i) throw new System.ArgumentException; return this.stream == null && System.IO.__Error.ReaderClosed(), System.IO.TextReader.prototype.ReadBlock.call(this, n, t, i) }, CompressBuffer: function (n) { System.Array.copy(this.byteBuffer, n, this.byteBuffer, 0, this.byteLen - n | 0); this.byteLen = this.byteLen - n | 0 }, DetectEncoding: function () { if (!(this.byteLen < 2)) { this._detectEncoding = !1; var n = !1; this.byteBuffer[System.Array.index(0, this.byteBuffer)] === 254 && this.byteBuffer[System.Array.index(1, this.byteBuffer)] === 255 ? (this.encoding = new System.Text.UnicodeEncoding.$ctor1(!0, !0), this.CompressBuffer(2), n = !0) : this.byteBuffer[System.Array.index(0, this.byteBuffer)] === 255 && this.byteBuffer[System.Array.index(1, this.byteBuffer)] === 254 ? this.byteLen < 4 || this.byteBuffer[System.Array.index(2, this.byteBuffer)] !== 0 || this.byteBuffer[System.Array.index(3, this.byteBuffer)] !== 0 ? (this.encoding = new System.Text.UnicodeEncoding.$ctor1(!1, !0), this.CompressBuffer(2), n = !0) : (this.encoding = new System.Text.UTF32Encoding.$ctor1(!1, !0), this.CompressBuffer(4), n = !0) : this.byteLen >= 3 && this.byteBuffer[System.Array.index(0, this.byteBuffer)] === 239 && this.byteBuffer[System.Array.index(1, this.byteBuffer)] === 187 && this.byteBuffer[System.Array.index(2, this.byteBuffer)] === 191 ? (this.encoding = System.Text.Encoding.UTF8, this.CompressBuffer(3), n = !0) : this.byteLen >= 4 && this.byteBuffer[System.Array.index(0, this.byteBuffer)] === 0 && this.byteBuffer[System.Array.index(1, this.byteBuffer)] === 0 && this.byteBuffer[System.Array.index(2, this.byteBuffer)] === 254 && this.byteBuffer[System.Array.index(3, this.byteBuffer)] === 255 ? (this.encoding = new System.Text.UTF32Encoding.$ctor1(!0, !0), this.CompressBuffer(4), n = !0) : this.byteLen === 2 && (this._detectEncoding = !0); n && (this._maxCharsPerBuffer = this.encoding.GetMaxCharCount(this.byteBuffer.length), this.charBuffer = System.Array.init(this._maxCharsPerBuffer, 0, System.Char)) } }, IsPreamble: function () { return !1 }, ReadBuffer: function () { this.charLen = 0; this.charPos = 0; this.byteLen = 0; do { if (this.byteLen = this.stream.Read(this.byteBuffer, 0, this.byteBuffer.length), this.byteLen === 0) return this.charLen; (this._isBlocked = this.byteLen < this.byteBuffer.length, this.IsPreamble()) || (this._detectEncoding && this.byteLen >= 2 && this.DetectEncoding(), this.charLen = this.charLen + this.encoding.GetChars$2(this.byteBuffer, 0, this.byteLen, this.charBuffer, this.charLen) | 0) } while (this.charLen === 0); return this.charLen }, ReadBuffer$1: function (n, t, i, r) { this.charLen = 0; this.charPos = 0; this.byteLen = 0; var u = 0; r.v = i >= this._maxCharsPerBuffer; do { if (this.byteLen = this.stream.Read(this.byteBuffer, 0, this.byteBuffer.length), this.byteLen === 0) break; (this._isBlocked = this.byteLen < this.byteBuffer.length, this.IsPreamble()) || (this._detectEncoding && this.byteLen >= 2 && (this.DetectEncoding(), r.v = i >= this._maxCharsPerBuffer), this.charPos = 0, r.v ? (u = u + this.encoding.GetChars$2(this.byteBuffer, 0, this.byteLen, n, t + u | 0) | 0, this.charLen = 0) : (u = this.encoding.GetChars$2(this.byteBuffer, 0, this.byteLen, this.charBuffer, u), this.charLen = this.charLen + u | 0)) } while (u === 0); return this._isBlocked = !!(this._isBlocked & u < i), u }, ReadLine: function () { var t, n, i, r; if (this.stream == null && System.IO.__Error.ReaderClosed(), this.charPos === this.charLen && this.ReadBuffer() === 0) return null; t = null; do { n = this.charPos; do { if (i = this.charBuffer[System.Array.index(n, this.charBuffer)], i === 13 || i === 10) return t != null ? (t.append(System.String.fromCharArray(this.charBuffer, this.charPos, n - this.charPos | 0)), r = t.toString()) : r = System.String.fromCharArray(this.charBuffer, this.charPos, n - this.charPos | 0), this.charPos = n + 1 | 0, i === 13 && (this.charPos < this.charLen || this.ReadBuffer() > 0) && this.charBuffer[System.Array.index(this.charPos, this.charBuffer)] === 10 && (this.charPos = this.charPos + 1 | 0), r; n = n + 1 | 0 } while (n < this.charLen); n = this.charLen - this.charPos | 0; t == null && (t = new System.Text.StringBuilder("", n + 80 | 0)); t.append(System.String.fromCharArray(this.charBuffer, this.charPos, n)) } while (this.ReadBuffer() > 0); return t.toString() } } }); Bridge.define("System.IO.StreamWriter", { inherits: [System.IO.TextWriter], statics: { fields: { DefaultBufferSize: 0, DefaultFileStreamBufferSize: 0, MinBufferSize: 0, Null: null, _UTF8NoBOM: null }, props: { UTF8NoBOM: { get: function () { if (System.IO.StreamWriter._UTF8NoBOM == null) { var n = new System.Text.UTF8Encoding.$ctor2(!1, !0); System.IO.StreamWriter._UTF8NoBOM = n } return System.IO.StreamWriter._UTF8NoBOM } } }, ctors: { init: function () { this.DefaultBufferSize = 1024; this.DefaultFileStreamBufferSize = 4096; this.MinBufferSize = 128; this.Null = new System.IO.StreamWriter.$ctor4(System.IO.Stream.Null, new System.Text.UTF8Encoding.$ctor2(!1, !0), System.IO.StreamWriter.MinBufferSize, !0) } } }, fields: { stream: null, encoding: null, byteBuffer: null, charBuffer: null, charPos: 0, charLen: 0, autoFlush: !1, haveWrittenPreamble: !1, closable: !1 }, props: { AutoFlush: { get: function () { return this.autoFlush }, set: function (n) { this.autoFlush = n; n && this.Flush$1(!0, !1) } }, BaseStream: { get: function () { return this.stream } }, LeaveOpen: { get: function () { return !this.closable } }, HaveWrittenPreamble: { set: function (n) { this.haveWrittenPreamble = n } }, Encoding: { get: function () { return this.encoding } } }, ctors: { ctor: function () { this.$initialize(); System.IO.TextWriter.$ctor1.call(this, null) }, $ctor1: function (n) { System.IO.StreamWriter.$ctor4.call(this, n, System.IO.StreamWriter.UTF8NoBOM, System.IO.StreamWriter.DefaultBufferSize, !1) }, $ctor2: function (n, t) { System.IO.StreamWriter.$ctor4.call(this, n, t, System.IO.StreamWriter.DefaultBufferSize, !1) }, $ctor3: function (n, t, i) { System.IO.StreamWriter.$ctor4.call(this, n, t, i, !1) }, $ctor4: function (n, t, i, r) { if (this.$initialize(), System.IO.TextWriter.$ctor1.call(this, null), n == null || t == null) throw new System.ArgumentNullException(n == null ? "stream" : "encoding"); if (!n.CanWrite) throw new System.ArgumentException("Argument_StreamNotWritable"); if (i <= 0) throw new System.ArgumentOutOfRangeException("bufferSize", "ArgumentOutOfRange_NeedPosNum"); this.Init(n, t, i, r) }, $ctor5: function (n) { System.IO.StreamWriter.$ctor8.call(this, n, !1, System.IO.StreamWriter.UTF8NoBOM, System.IO.StreamWriter.DefaultBufferSize) }, $ctor6: function (n, t) { System.IO.StreamWriter.$ctor8.call(this, n, t, System.IO.StreamWriter.UTF8NoBOM, System.IO.StreamWriter.DefaultBufferSize) }, $ctor7: function (n, t, i) { System.IO.StreamWriter.$ctor8.call(this, n, t, i, System.IO.StreamWriter.DefaultBufferSize) }, $ctor8: function (n, t, i, r) { System.IO.StreamWriter.$ctor9.call(this, n, t, i, r, !0) }, $ctor9: function () { this.$initialize(); System.IO.TextWriter.$ctor1.call(this, null); throw new System.NotSupportedException; } }, methods: { Init: function (n, t, i, r) { this.stream = n; this.encoding = t; i < System.IO.StreamWriter.MinBufferSize && (i = System.IO.StreamWriter.MinBufferSize); this.charBuffer = System.Array.init(i, 0, System.Char); this.byteBuffer = System.Array.init(this.encoding.GetMaxByteCount(i), 0, System.Byte); this.charLen = i; this.stream.CanSeek && this.stream.Position.gt(System.Int64(0)) && (this.haveWrittenPreamble = !0); this.closable = !r }, Close: function () { this.Dispose$1(!0) }, Dispose$1: function (n) { try { this.stream != null && n && this.Flush$1(!0, !0) } finally { if (!this.LeaveOpen && this.stream != null) try { n && this.stream.Close() } finally { this.stream = null; this.byteBuffer = null; this.charBuffer = null; this.encoding = null; this.charLen = 0; System.IO.TextWriter.prototype.Dispose$1.call(this, n) } } }, Flush: function () { this.Flush$1(!0, !0) }, Flush$1: function (n, t) { if (this.stream == null && System.IO.__Error.WriterClosed(), this.charPos !== 0 || n || t) { var i = this.encoding.GetBytes$3(this.charBuffer, 0, this.charPos, this.byteBuffer, 0); this.charPos = 0; i > 0 && this.stream.Write(this.byteBuffer, 0, i); n && this.stream.Flush() } }, Write$1: function (n) { this.charPos === this.charLen && this.Flush$1(!1, !1); this.charBuffer[System.Array.index(this.charPos, this.charBuffer)] = n; this.charPos = this.charPos + 1 | 0; this.autoFlush && this.Flush$1(!0, !1) }, Write$2: function (n) { var r, i, t; if (n != null) { for (r = 0, i = n.length; i > 0;)this.charPos === this.charLen && this.Flush$1(!1, !1), t = this.charLen - this.charPos | 0, t > i && (t = i), System.Array.copy(n, r, this.charBuffer, this.charPos, t), this.charPos = this.charPos + t | 0, r = r + t | 0, i = i - t | 0; this.autoFlush && this.Flush$1(!0, !1) } }, Write$3: function (n, t, i) { if (n == null) throw new System.ArgumentNullException("buffer", "ArgumentNull_Buffer"); if (t < 0) throw new System.ArgumentOutOfRangeException("index", "ArgumentOutOfRange_NeedNonNegNum"); if (i < 0) throw new System.ArgumentOutOfRangeException("count", "ArgumentOutOfRange_NeedNonNegNum"); if ((n.length - t | 0) < i) throw new System.ArgumentException("Argument_InvalidOffLen"); while (i > 0) { this.charPos === this.charLen && this.Flush$1(!1, !1); var r = this.charLen - this.charPos | 0; r > i && (r = i); System.Array.copy(n, t, this.charBuffer, this.charPos, r); this.charPos = this.charPos + r | 0; t = t + r | 0; i = i - r | 0 } this.autoFlush && this.Flush$1(!0, !1) }, Write$10: function (n) { var i, r, t; if (n != null) { for (i = n.length, r = 0; i > 0;)this.charPos === this.charLen && this.Flush$1(!1, !1), t = this.charLen - this.charPos | 0, t > i && (t = i), System.String.copyTo(n, r, this.charBuffer, this.charPos, t), this.charPos = this.charPos + t | 0, r = r + t | 0, i = i - t | 0; this.autoFlush && this.Flush$1(!0, !1) } } } }); Bridge.define("System.IO.StringReader", { inherits: [System.IO.TextReader], fields: { _s: null, _pos: 0, _length: 0 }, ctors: { ctor: function (n) { if (this.$initialize(), System.IO.TextReader.ctor.call(this), n == null) throw new System.ArgumentNullException("s"); this._s = n; this._length = n == null ? 0 : n.length } }, methods: { Close: function () { this.Dispose$1(!0) }, Dispose$1: function (n) { this._s = null; this._pos = 0; this._length = 0; System.IO.TextReader.prototype.Dispose$1.call(this, n) }, Peek: function () { return (this._s == null && System.IO.__Error.ReaderClosed(), this._pos === this._length) ? -1 : this._s.charCodeAt(this._pos) }, Read: function () { return (this._s == null && System.IO.__Error.ReaderClosed(), this._pos === this._length) ? -1 : this._s.charCodeAt(Bridge.identity(this._pos, this._pos = this._pos + 1 | 0)) }, Read$1: function (n, t, i) { if (n == null) throw new System.ArgumentNullException("buffer"); if (t < 0) throw new System.ArgumentOutOfRangeException("index"); if (i < 0) throw new System.ArgumentOutOfRangeException("count"); if ((n.length - t | 0) < i) throw new System.ArgumentException; this._s == null && System.IO.__Error.ReaderClosed(); var r = this._length - this._pos | 0; return r > 0 && (r > i && (r = i), System.String.copyTo(this._s, this._pos, n, t, r), this._pos = this._pos + r | 0), r }, ReadToEnd: function () { this._s == null && System.IO.__Error.ReaderClosed(); var n; return n = this._pos === 0 ? this._s : this._s.substr(this._pos, this._length - this._pos | 0), this._pos = this._length, n }, ReadLine: function () { var n, t, i, r; for (this._s == null && System.IO.__Error.ReaderClosed(), n = this._pos; n < this._length;) { if (t = this._s.charCodeAt(n), t === 13 || t === 10) return i = this._s.substr(this._pos, n - this._pos | 0), this._pos = n + 1 | 0, t === 13 && this._pos < this._length && this._s.charCodeAt(this._pos) === 10 && (this._pos = this._pos + 1 | 0), i; n = n + 1 | 0 } return n > this._pos ? (r = this._s.substr(this._pos, n - this._pos | 0), this._pos = n, r) : null } } }); Bridge.define("System.IO.StringWriter", { inherits: [System.IO.TextWriter], statics: { fields: { m_encoding: null } }, fields: { _sb: null, _isOpen: !1 }, props: { Encoding: { get: function () { return System.IO.StringWriter.m_encoding == null && (System.IO.StringWriter.m_encoding = new System.Text.UnicodeEncoding.$ctor1(!1, !1)), System.IO.StringWriter.m_encoding } } }, ctors: { ctor: function () { System.IO.StringWriter.$ctor3.call(this, new System.Text.StringBuilder, System.Globalization.CultureInfo.getCurrentCulture()) }, $ctor1: function (n) { System.IO.StringWriter.$ctor3.call(this, new System.Text.StringBuilder, n) }, $ctor2: function (n) { System.IO.StringWriter.$ctor3.call(this, n, System.Globalization.CultureInfo.getCurrentCulture()) }, $ctor3: function (n, t) { if (this.$initialize(), System.IO.TextWriter.$ctor1.call(this, t), n == null) throw new System.ArgumentNullException("sb"); this._sb = n; this._isOpen = !0 } }, methods: { Close: function () { this.Dispose$1(!0) }, Dispose$1: function (n) { this._isOpen = !1; System.IO.TextWriter.prototype.Dispose$1.call(this, n) }, GetStringBuilder: function () { return this._sb }, Write$1: function (n) { this._isOpen || System.IO.__Error.WriterClosed(); this._sb.append(String.fromCharCode(n)) }, Write$3: function (n, t, i) { if (n == null) throw new System.ArgumentNullException("buffer"); if (t < 0) throw new System.ArgumentOutOfRangeException("index"); if (i < 0) throw new System.ArgumentOutOfRangeException("count"); if ((n.length - t | 0) < i) throw new System.ArgumentException; this._isOpen || System.IO.__Error.WriterClosed(); this._sb.append(System.String.fromCharArray(n, t, i)) }, Write$10: function (n) { this._isOpen || System.IO.__Error.WriterClosed(); n != null && this._sb.append(n) }, toString: function () { return this._sb.toString() } } }); Bridge.define("System.IO.TextReader.NullTextReader", { inherits: [System.IO.TextReader], ctors: { ctor: function () { this.$initialize(); System.IO.TextReader.ctor.call(this) } }, methods: { Read$1: function () { return 0 }, ReadLine: function () { return null } } }); Bridge.define("System.IO.TextWriter.NullTextWriter", { inherits: [System.IO.TextWriter], props: { Encoding: { get: function () { return System.Text.Encoding.Default } } }, ctors: { ctor: function () { this.$initialize(); System.IO.TextWriter.$ctor1.call(this, System.Globalization.CultureInfo.invariantCulture) } }, methods: { Write$3: function () { }, Write$10: function () { }, WriteLine: function () { }, WriteLine$11: function () { }, WriteLine$9: function () { } } }); Bridge.define("System.IO.StreamReader.NullStreamReader", { inherits: [System.IO.StreamReader], props: { BaseStream: { get: function () { return System.IO.Stream.Null } }, CurrentEncoding: { get: function () { return System.Text.Encoding.Unicode } } }, ctors: { ctor: function () { this.$initialize(); System.IO.StreamReader.ctor.call(this); this.Init(System.IO.Stream.Null) } }, methods: { Dispose$1: function () { }, Peek: function () { return -1 }, Read: function () { return -1 }, Read$1: function () { return 0 }, ReadLine: function () { return null }, ReadToEnd: function () { return "" }, ReadBuffer: function () { return 0 } } }); Bridge.define("System.Random", { statics: { fields: { MBIG: 0, MSEED: 0, MZ: 0 }, ctors: { init: function () { this.MBIG = 2147483647; this.MSEED = 161803398; this.MZ = 0 } } }, fields: { inext: 0, inextp: 0, seedArray: null }, ctors: { init: function () { this.seedArray = System.Array.init(56, 0, System.Int32) }, ctor: function () { System.Random.$ctor1.call(this, System.Int64.clip32(System.DateTime.getTicks(System.DateTime.getNow()))) }, $ctor1: function (n) { var e, u, i, o, r, f, t; for (this.$initialize(), o = n === -2147483648 ? 2147483647 : Math.abs(n), u = System.Random.MSEED - o | 0, this.seedArray[System.Array.index(55, this.seedArray)] = u, i = 1, r = 1; r < 55; r = r + 1 | 0)e = Bridge.Int.mul(21, r) % 55, this.seedArray[System.Array.index(e, this.seedArray)] = i, i = u - i | 0, i < 0 && (i = i + System.Random.MBIG | 0), u = this.seedArray[System.Array.index(e, this.seedArray)]; for (f = 1; f < 5; f = f + 1 | 0)for (t = 1; t < 56; t = t + 1 | 0)this.seedArray[System.Array.index(t, this.seedArray)] = this.seedArray[System.Array.index(t, this.seedArray)] - this.seedArray[System.Array.index(1 + (t + 30 | 0) % 55 | 0, this.seedArray)] | 0, this.seedArray[System.Array.index(t, this.seedArray)] < 0 && (this.seedArray[System.Array.index(t, this.seedArray)] = this.seedArray[System.Array.index(t, this.seedArray)] + System.Random.MBIG | 0); this.inext = 0; this.inextp = 21; n = 1 } }, methods: { sample: function () { return this.internalSample() * 46566128752457969e-26 }, internalSample: function () { var n, t = this.inext, i = this.inextp; return (t = t + 1 | 0) >= 56 && (t = 1), (i = i + 1 | 0) >= 56 && (i = 1), n = this.seedArray[System.Array.index(t, this.seedArray)] - this.seedArray[System.Array.index(i, this.seedArray)] | 0, n === System.Random.MBIG && (n = n - 1 | 0), n < 0 && (n = n + System.Random.MBIG | 0), this.seedArray[System.Array.index(t, this.seedArray)] = n, this.inext = t, this.inextp = i, n }, next: function () { return this.internalSample() }, next$2: function (n, t) { if (n > t) throw new System.ArgumentOutOfRangeException("minValue", "'minValue' cannot be greater than maxValue."); var i = System.Int64(t).sub(System.Int64(n)); return i.lte(System.Int64(2147483647)) ? Bridge.Int.clip32(this.sample() * System.Int64.toNumber(i)) + n | 0 : System.Int64.clip32(Bridge.Int.clip64(this.getSampleForLargeRange() * System.Int64.toNumber(i)).add(System.Int64(n))) }, next$1: function (n) { if (n < 0) throw new System.ArgumentOutOfRangeException("maxValue", "'maxValue' must be greater than zero."); return Bridge.Int.clip32(this.sample() * n) }, getSampleForLargeRange: function () { var n = this.internalSample(), i = this.internalSample() % 2 == 0 ? !0 : !1, t; return i && (n = -n | 0), t = n, t += 2147483646, t / 4294967293 }, nextDouble: function () { return this.sample() }, nextBytes: function (n) { if (n == null) throw new System.ArgumentNullException("buffer"); for (var t = 0; t < n.length; t = t + 1 | 0)n[System.Array.index(t, n)] = this.internalSample() % 256 & 255 } } }); Bridge.define("System.BitConverter", { statics: { fields: { isLittleEndian: !1, arg_ArrayPlusOffTooSmall: null }, ctors: { init: function () { this.isLittleEndian = System.BitConverter.getIsLittleEndian(); this.arg_ArrayPlusOffTooSmall = "Destination array is not long enough to copy all the items in the collection. Check array index and length." } }, methods: { getBytes: function (n) { return n ? System.Array.init([1], System.Byte) : System.Array.init([0], System.Byte) }, getBytes$1: function (n) { return System.BitConverter.getBytes$3(Bridge.Int.sxs(n & 65535)) }, getBytes$3: function (n) { var t = System.BitConverter.view(2); return t.setInt16(0, n), System.BitConverter.getViewBytes(t) }, getBytes$4: function (n) { var t = System.BitConverter.view(4); return t.setInt32(0, n), System.BitConverter.getViewBytes(t) }, getBytes$5: function (n) { var t = System.BitConverter.getView(n); return System.BitConverter.getViewBytes(t) }, getBytes$7: function (n) { var t = System.BitConverter.view(2); return t.setUint16(0, n), System.BitConverter.getViewBytes(t) }, getBytes$8: function (n) { var t = System.BitConverter.view(4); return t.setUint32(0, n), System.BitConverter.getViewBytes(t) }, getBytes$9: function (n) { var t = System.BitConverter.getView(System.Int64.clip64(n)); return System.BitConverter.getViewBytes(t) }, getBytes$6: function (n) { var t = System.BitConverter.view(4); return t.setFloat32(0, n), System.BitConverter.getViewBytes(t) }, getBytes$2: function (n) { if (isNaN(n)) return System.BitConverter.isLittleEndian ? System.Array.init([0, 0, 0, 0, 0, 0, 248, 255], System.Byte) : System.Array.init([255, 248, 0, 0, 0, 0, 0, 0], System.Byte); var t = System.BitConverter.view(8); return t.setFloat64(0, n), System.BitConverter.getViewBytes(t) }, toChar: function (n, t) { return System.BitConverter.toInt16(n, t) & 65535 }, toInt16: function (n, t) { System.BitConverter.checkArguments(n, t, 2); var i = System.BitConverter.view(2); return System.BitConverter.setViewBytes(i, n, -1, t), i.getInt16(0) }, toInt32: function (n, t) { System.BitConverter.checkArguments(n, t, 4); var i = System.BitConverter.view(4); return System.BitConverter.setViewBytes(i, n, -1, t), i.getInt32(0) }, toInt64: function (n, t) { System.BitConverter.checkArguments(n, t, 8); var i = System.BitConverter.toInt32(n, t), r = System.BitConverter.toInt32(n, t + 4 | 0); return System.BitConverter.isLittleEndian ? System.Int64([i, r]) : System.Int64([r, i]) }, toUInt16: function (n, t) { return System.BitConverter.toInt16(n, t) & 65535 }, toUInt32: function (n, t) { return System.BitConverter.toInt32(n, t) >>> 0 }, toUInt64: function (n, t) { var i = System.BitConverter.toInt64(n, t); return System.UInt64([i.value.low, i.value.high]) }, toSingle: function (n, t) { System.BitConverter.checkArguments(n, t, 4); var i = System.BitConverter.view(4); return System.BitConverter.setViewBytes(i, n, -1, t), i.getFloat32(0) }, toDouble: function (n, t) { System.BitConverter.checkArguments(n, t, 8); var i = System.BitConverter.view(8); return System.BitConverter.setViewBytes(i, n, -1, t), i.getFloat64(0) }, toString$2: function (n, t, i) { var e; if (n == null) throw new System.ArgumentNullException("value"); if (t < 0 || t >= n.length && t > 0) throw new System.ArgumentOutOfRangeException("startIndex"); if (i < 0) throw new System.ArgumentOutOfRangeException("length"); if (t > (n.length - i | 0)) throw new System.ArgumentException(System.BitConverter.arg_ArrayPlusOffTooSmall); if (i === 0) return ""; if (i > 715827882) throw new System.ArgumentOutOfRangeException("length", 715827882..toString()); for (var o = Bridge.Int.mul(i, 3), r = System.Array.init(o, 0, System.Char), u = 0, f = t, u = 0; u < o; u = u + 3 | 0)e = n[System.Array.index(Bridge.identity(f, f = f + 1 | 0), n)], r[System.Array.index(u, r)] = System.BitConverter.getHexValue(Bridge.Int.div(e, 16) | 0), r[System.Array.index(u + 1 | 0, r)] = System.BitConverter.getHexValue(e % 16), r[System.Array.index(u + 2 | 0, r)] = 45; return System.String.fromCharArray(r, 0, r.length - 1 | 0) }, toString: function (n) { if (n == null) throw new System.ArgumentNullException("value"); return System.BitConverter.toString$2(n, 0, n.length) }, toString$1: function (n, t) { if (n == null) throw new System.ArgumentNullException("value"); return System.BitConverter.toString$2(n, t, n.length - t | 0) }, toBoolean: function (n, t) { return System.BitConverter.checkArguments(n, t, 1), n[System.Array.index(t, n)] === 0 ? !1 : !0 }, doubleToInt64Bits: function (n) { var t = System.BitConverter.view(8); return t.setFloat64(0, n), System.Int64([t.getInt32(4), t.getInt32(0)]) }, int64BitsToDouble: function (n) { var t = System.BitConverter.getView(n); return t.getFloat64(0) }, getHexValue: function (n) { return n < 10 ? (n + 48 | 0) & 65535 : ((n - 10 | 0) + 65 | 0) & 65535 }, getViewBytes: function (n, t, i) { var r, u, f; if (t === void 0 && (t = -1), i === void 0 && (i = 0), t === -1 && (t = n.byteLength), r = System.Array.init(t, 0, System.Byte), System.BitConverter.isLittleEndian) for (u = t - 1 | 0; u >= 0; u = u - 1 | 0)r[System.Array.index(u, r)] = n.getUint8(Bridge.identity(i, i = i + 1 | 0)); else for (f = 0; f < t; f = f + 1 | 0)r[System.Array.index(f, r)] = n.getUint8(Bridge.identity(i, i = i + 1 | 0)); return r }, setViewBytes: function (n, t, i, r) { var u, f; if (i === void 0 && (i = -1), r === void 0 && (r = 0), i === -1 && (i = n.byteLength), System.BitConverter.isLittleEndian) for (u = i - 1 | 0; u >= 0; u = u - 1 | 0)n.setUint8(u, t[System.Array.index(Bridge.identity(r, r = r + 1 | 0), t)]); else for (f = 0; f < i; f = f + 1 | 0)n.setUint8(f, t[System.Array.index(Bridge.identity(r, r = r + 1 | 0), t)]) }, view: function (n) { var t = new ArrayBuffer(n); return new DataView(t) }, getView: function (n) { var t = System.BitConverter.view(8); return t.setInt32(4, n.value.low), t.setInt32(0, n.value.high), t }, getIsLittleEndian: function () { var n = System.BitConverter.view(2); return (n.setUint8(0, 170), n.setUint8(1, 187), n.getUint16(0) === 43707) ? !0 : !1 }, checkArguments: function (n, t, i) { if (n == null) throw new System.ArgumentNullException("null"); if (System.Int64(t >>> 0).gte(System.Int64(n.length))) throw new System.ArgumentOutOfRangeException("startIndex"); if (t > (n.length - i | 0)) throw new System.ArgumentException(System.BitConverter.arg_ArrayPlusOffTooSmall); } } } }); Bridge.define("System.Threading.Timer", { inherits: [System.IDisposable], statics: { fields: { MAX_SUPPORTED_TIMEOUT: 0, EXC_LESS: null, EXC_MORE: null, EXC_DISPOSED: null }, ctors: { init: function () { this.MAX_SUPPORTED_TIMEOUT = 4294967294; this.EXC_LESS = "Number must be either non-negative and less than or equal to Int32.MaxValue or -1."; this.EXC_MORE = "Time-out interval must be less than 2^32-2."; this.EXC_DISPOSED = "The timer has been already disposed." } } }, fields: { dueTime: System.Int64(0), period: System.Int64(0), timerCallback: null, state: null, id: null, disposed: !1 }, alias: ["dispose", "System$IDisposable$dispose"], ctors: { $ctor1: function (n, t, i, r) { this.$initialize(); this.timerSetup(n, t, System.Int64(i), System.Int64(r)) }, $ctor3: function (n, t, i, r) { this.$initialize(); var u = Bridge.Int.clip64(i.getTotalMilliseconds()), f = Bridge.Int.clip64(r.getTotalMilliseconds()); this.timerSetup(n, t, u, f) }, $ctor4: function (n, t, i, r) { this.$initialize(); this.timerSetup(n, t, System.Int64(i), System.Int64(r)) }, $ctor2: function (n, t, i, r) { this.$initialize(); this.timerSetup(n, t, i, r) }, ctor: function (n) { this.$initialize(); this.timerSetup(n, this, System.Int64(-1), System.Int64(-1)) } }, methods: { timerSetup: function (n, t, i, r) { if (this.disposed) throw new System.InvalidOperationException(System.Threading.Timer.EXC_DISPOSED); if (Bridge.staticEquals(n, null)) throw new System.ArgumentNullException("TimerCallback"); if (i.lt(System.Int64(-1))) throw new System.ArgumentOutOfRangeException("dueTime", System.Threading.Timer.EXC_LESS); if (r.lt(System.Int64(-1))) throw new System.ArgumentOutOfRangeException("period", System.Threading.Timer.EXC_LESS); if (i.gt(System.Int64(System.Threading.Timer.MAX_SUPPORTED_TIMEOUT))) throw new System.ArgumentOutOfRangeException("dueTime", System.Threading.Timer.EXC_MORE); if (r.gt(System.Int64(System.Threading.Timer.MAX_SUPPORTED_TIMEOUT))) throw new System.ArgumentOutOfRangeException("period", System.Threading.Timer.EXC_MORE); return this.dueTime = i, this.period = r, this.state = t, this.timerCallback = n, this.runTimer(this.dueTime) }, handleCallback: function () { if (!this.disposed && !Bridge.staticEquals(this.timerCallback, null)) { var n = this.id; this.timerCallback(this.state); System.Nullable.eq(this.id, n) && this.runTimer(this.period, !1) } }, runTimer: function (n, t) { if (t === void 0 && (t = !0), t && this.disposed) throw new System.InvalidOperationException(System.Threading.Timer.EXC_DISPOSED); if (n.ne(System.Int64(-1)) && !this.disposed) { var i = n.toNumber(); return this.id = Bridge.global.setTimeout(Bridge.fn.cacheBind(this, this.handleCallback), i), !0 } return !1 }, change: function (n, t) { return this.changeTimer(System.Int64(n), System.Int64(t)) }, change$2: function (n, t) { return this.changeTimer(Bridge.Int.clip64(n.getTotalMilliseconds()), Bridge.Int.clip64(t.getTotalMilliseconds())) }, change$3: function (n, t) { return this.changeTimer(System.Int64(n), System.Int64(t)) }, change$1: function (n, t) { return this.changeTimer(n, t) }, changeTimer: function (n, t) { return this.clearTimeout(), this.timerSetup(this.timerCallback, this.state, n, t) }, clearTimeout: function () { System.Nullable.hasValue(this.id) && (Bridge.global.clearTimeout(System.Nullable.getValue(this.id)), this.id = null) }, dispose: function () { this.clearTimeout(); this.disposed = !0 } } }); Bridge.define("System.Console", { statics: { methods: { Write: function (n) { var t = Bridge.global.console; t && t.log && t.log(Bridge.isDefined(Bridge.unbox(n)) ? Bridge.unbox(n) : "") }, WriteLine: function (n) { var t = Bridge.global.console; t && t.log && t.log(Bridge.isDefined(Bridge.unbox(n)) ? Bridge.unbox(n) : "") }, TransformChars: function (n, t, i, r) { var f, u; if (t !== 1) { if (n == null) throw new System.ArgumentNullException("buffer"); if (i < 0) throw new System.ArgumentOutOfRangeException("index", "less than zero"); if (r < 0) throw new System.ArgumentOutOfRangeException("count", "less than zero"); if ((i + r | 0) > n.length) throw new System.ArgumentException("index plus count specify a position that is not within buffer."); } if (f = "", n != null) for (t === 1 && (i = 0, r = n.length), u = i; u < (i + r | 0); u = u + 1 | 0)f = (f || "") + String.fromCharCode(n[System.Array.index(u, n)]); return f }, Clear: function () { var n = Bridge.global.console; n && n.clear && n.clear() } } } }); Bridge.define("System.Collections.BitArray", { inherits: [System.Collections.ICollection, System.ICloneable], statics: { fields: { BitsPerInt32: 0, BytesPerInt32: 0, BitsPerByte: 0, _ShrinkThreshold: 0 }, ctors: { init: function () { this.BitsPerInt32 = 32; this.BytesPerInt32 = 4; this.BitsPerByte = 8; this._ShrinkThreshold = 256 } }, methods: { getArrayLength: function (n, t) { return n > 0 ? (Bridge.Int.div(n - 1 | 0, t) | 0) + 1 | 0 : 0 } } }, fields: { m_array: null, m_length: 0, _version: 0 }, props: { Length: { get: function () { return this.m_length }, set: function (n) { var t, r, i, u; if (n < 0) throw new System.ArgumentOutOfRangeException("value", "Non-negative number required."); t = System.Collections.BitArray.getArrayLength(n, System.Collections.BitArray.BitsPerInt32); (t > this.m_array.length || (t + System.Collections.BitArray._ShrinkThreshold | 0) < this.m_array.length) && (r = System.Array.init(t, 0, System.Int32), System.Array.copy(this.m_array, 0, r, 0, t > this.m_array.length ? this.m_array.length : t), this.m_array = r); n > this.m_length && (i = System.Collections.BitArray.getArrayLength(this.m_length, System.Collections.BitArray.BitsPerInt32) - 1 | 0, u = this.m_length % 32, u > 0 && (this.m_array[System.Array.index(i, this.m_array)] = this.m_array[System.Array.index(i, this.m_array)] & ((1 << u) - 1 | 0)), System.Array.fill(this.m_array, 0, i + 1 | 0, (t - i | 0) - 1 | 0)); this.m_length = n; this._version = this._version + 1 | 0 } }, Count: { get: function () { return this.m_length } }, IsReadOnly: { get: function () { return !1 } }, IsSynchronized: { get: function () { return !1 } } }, alias: ["copyTo", "System$Collections$ICollection$copyTo", "Count", "System$Collections$ICollection$Count", "clone", "System$ICloneable$clone", "getEnumerator", "System$Collections$IEnumerable$getEnumerator"], ctors: { $ctor3: function (n) { System.Collections.BitArray.$ctor4.call(this, n, !1) }, $ctor4: function (n, t) { var r, i; if (this.$initialize(), n < 0) throw new System.ArgumentOutOfRangeException("length", "Index is less than zero."); for (this.m_array = System.Array.init(System.Collections.BitArray.getArrayLength(n, System.Collections.BitArray.BitsPerInt32), 0, System.Int32), this.m_length = n, r = t ? -1 : 0, i = 0; i < this.m_array.length; i = i + 1 | 0)this.m_array[System.Array.index(i, this.m_array)] = r; this._version = 0 }, $ctor1: function (n) { var i, t, r; if (this.$initialize(), n == null) throw new System.ArgumentNullException("bytes"); if (n.length > 268435455) throw new System.ArgumentException(System.String.format("The input array length must not exceed Int32.MaxValue / {0}. Otherwise BitArray.Length would exceed Int32.MaxValue.", [Bridge.box(System.Collections.BitArray.BitsPerByte, System.Int32)]), "bytes"); for (this.m_array = System.Array.init(System.Collections.BitArray.getArrayLength(n.length, System.Collections.BitArray.BytesPerInt32), 0, System.Int32), this.m_length = Bridge.Int.mul(n.length, System.Collections.BitArray.BitsPerByte), i = 0, t = 0; (n.length - t | 0) >= 4;)this.m_array[System.Array.index(Bridge.identity(i, i = i + 1 | 0), this.m_array)] = n[System.Array.index(t, n)] & 255 | (n[System.Array.index(t + 1 | 0, n)] & 255) << 8 | (n[System.Array.index(t + 2 | 0, n)] & 255) << 16 | (n[System.Array.index(t + 3 | 0, n)] & 255) << 24, t = t + 4 | 0; r = n.length - t | 0; r === 3 && (this.m_array[System.Array.index(i, this.m_array)] = (n[System.Array.index(t + 2 | 0, n)] & 255) << 16, r = 2); r === 2 && (this.m_array[System.Array.index(i, this.m_array)] = this.m_array[System.Array.index(i, this.m_array)] | (n[System.Array.index(t + 1 | 0, n)] & 255) << 8, r = 1); r === 1 && (this.m_array[System.Array.index(i, this.m_array)] = this.m_array[System.Array.index(i, this.m_array)] | n[System.Array.index(t, n)] & 255); this._version = 0 }, ctor: function (n) { var i, t; if (this.$initialize(), n == null) throw new System.ArgumentNullException("values"); for (this.m_array = System.Array.init(System.Collections.BitArray.getArrayLength(n.length, System.Collections.BitArray.BitsPerInt32), 0, System.Int32), this.m_length = n.length, t = 0; t < n.length; t = t + 1 | 0)n[System.Array.index(t, n)] && (this.m_array[System.Array.index(i = Bridge.Int.div(t, 32) | 0, this.m_array)] = this.m_array[System.Array.index(i, this.m_array)] | 1 << t % 32); this._version = 0 }, $ctor5: function (n) { if (this.$initialize(), n == null) throw new System.ArgumentNullException("values"); if (n.length > 67108863) throw new System.ArgumentException(System.String.format("The input array length must not exceed Int32.MaxValue / {0}. Otherwise BitArray.Length would exceed Int32.MaxValue.", [Bridge.box(System.Collections.BitArray.BitsPerInt32, System.Int32)]), "values"); this.m_array = System.Array.init(n.length, 0, System.Int32); this.m_length = Bridge.Int.mul(n.length, System.Collections.BitArray.BitsPerInt32); System.Array.copy(n, 0, this.m_array, 0, n.length); this._version = 0 }, $ctor2: function (n) { if (this.$initialize(), n == null) throw new System.ArgumentNullException("bits"); var t = System.Collections.BitArray.getArrayLength(n.m_length, System.Collections.BitArray.BitsPerInt32); this.m_array = System.Array.init(t, 0, System.Int32); this.m_length = n.m_length; System.Array.copy(n.m_array, 0, this.m_array, 0, t); this._version = n._version } }, methods: { getItem: function (n) { return this.get(n) }, setItem: function (n, t) { this.set(n, t) }, copyTo: function (n, t) { var u, f, i, e, r; if (n == null) throw new System.ArgumentNullException("array"); if (t < 0) throw new System.ArgumentOutOfRangeException("index"); if (System.Array.getRank(n) !== 1) throw new System.ArgumentException("Only single dimensional arrays are supported for the requested action."); if (Bridge.is(n, System.Array.type(System.Int32))) System.Array.copy(this.m_array, 0, n, t, System.Collections.BitArray.getArrayLength(this.m_length, System.Collections.BitArray.BitsPerInt32)); else if (Bridge.is(n, System.Array.type(System.Byte))) { if (u = System.Collections.BitArray.getArrayLength(this.m_length, System.Collections.BitArray.BitsPerByte), (n.length - t | 0) < u) throw new System.ArgumentException("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection."); for (f = Bridge.cast(n, System.Array.type(System.Byte)), i = 0; i < u; i = i + 1 | 0)f[System.Array.index(t + i | 0, f)] = this.m_array[System.Array.index(Bridge.Int.div(i, 4) | 0, this.m_array)] >> Bridge.Int.mul(i % 4, 8) & 255 } else if (Bridge.is(n, System.Array.type(System.Boolean))) { if ((n.length - t | 0) < this.m_length) throw new System.ArgumentException("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection."); for (e = Bridge.cast(n, System.Array.type(System.Boolean)), r = 0; r < this.m_length; r = r + 1 | 0)e[System.Array.index(t + r | 0, e)] = (this.m_array[System.Array.index(Bridge.Int.div(r, 32) | 0, this.m_array)] >> r % 32 & 1) != 0 } else throw new System.ArgumentException("Only supported array types for CopyTo on BitArrays are Boolean[], Int32[] and Byte[]."); }, get: function (n) { if (n < 0 || n >= this.Length) throw new System.ArgumentOutOfRangeException("index", "Index was out of range. Must be non-negative and less than the size of the collection."); return (this.m_array[System.Array.index(Bridge.Int.div(n, 32) | 0, this.m_array)] & 1 << n % 32) != 0 }, set: function (n, t) { var i, r; if (n < 0 || n >= this.Length) throw new System.ArgumentOutOfRangeException("index", "Index was out of range. Must be non-negative and less than the size of the collection."); t ? this.m_array[System.Array.index(i = Bridge.Int.div(n, 32) | 0, this.m_array)] = this.m_array[System.Array.index(i, this.m_array)] | 1 << n % 32 : this.m_array[System.Array.index(r = Bridge.Int.div(n, 32) | 0, this.m_array)] = this.m_array[System.Array.index(r, this.m_array)] & ~(1 << n % 32); this._version = this._version + 1 | 0 }, setAll: function (n) { for (var i = n ? -1 : 0, r = System.Collections.BitArray.getArrayLength(this.m_length, System.Collections.BitArray.BitsPerInt32), t = 0; t < r; t = t + 1 | 0)this.m_array[System.Array.index(t, this.m_array)] = i; this._version = this._version + 1 | 0 }, and: function (n) { var i, t; if (n == null) throw new System.ArgumentNullException("value"); if (this.Length !== n.Length) throw new System.ArgumentException("Array lengths must be the same."); for (i = System.Collections.BitArray.getArrayLength(this.m_length, System.Collections.BitArray.BitsPerInt32), t = 0; t < i; t = t + 1 | 0)this.m_array[System.Array.index(t, this.m_array)] = this.m_array[System.Array.index(t, this.m_array)] & n.m_array[System.Array.index(t, n.m_array)]; return this._version = this._version + 1 | 0, this }, or: function (n) { var i, t; if (n == null) throw new System.ArgumentNullException("value"); if (this.Length !== n.Length) throw new System.ArgumentException("Array lengths must be the same."); for (i = System.Collections.BitArray.getArrayLength(this.m_length, System.Collections.BitArray.BitsPerInt32), t = 0; t < i; t = t + 1 | 0)this.m_array[System.Array.index(t, this.m_array)] = this.m_array[System.Array.index(t, this.m_array)] | n.m_array[System.Array.index(t, n.m_array)]; return this._version = this._version + 1 | 0, this }, xor: function (n) { var i, t; if (n == null) throw new System.ArgumentNullException("value"); if (this.Length !== n.Length) throw new System.ArgumentException("Array lengths must be the same."); for (i = System.Collections.BitArray.getArrayLength(this.m_length, System.Collections.BitArray.BitsPerInt32), t = 0; t < i; t = t + 1 | 0)this.m_array[System.Array.index(t, this.m_array)] = this.m_array[System.Array.index(t, this.m_array)] ^ n.m_array[System.Array.index(t, n.m_array)]; return this._version = this._version + 1 | 0, this }, not: function () { for (var t = System.Collections.BitArray.getArrayLength(this.m_length, System.Collections.BitArray.BitsPerInt32), n = 0; n < t; n = n + 1 | 0)this.m_array[System.Array.index(n, this.m_array)] = ~this.m_array[System.Array.index(n, this.m_array)]; return this._version = this._version + 1 | 0, this }, clone: function () { var n = new System.Collections.BitArray.$ctor5(this.m_array); return n._version = this._version, n.m_length = this.m_length, n }, getEnumerator: function () { return new System.Collections.BitArray.BitArrayEnumeratorSimple(this) } } }); Bridge.define("System.Collections.BitArray.BitArrayEnumeratorSimple", { inherits: [System.Collections.IEnumerator], fields: { bitarray: null, index: 0, version: 0, currentElement: !1 }, props: { Current: { get: function () { if (this.index === -1) throw new System.InvalidOperationException("Enumeration has not started. Call MoveNext."); if (this.index >= this.bitarray.Count) throw new System.InvalidOperationException("Enumeration already finished."); return Bridge.box(this.currentElement, System.Boolean, System.Boolean.toString) } } }, alias: ["moveNext", "System$Collections$IEnumerator$moveNext", "Current", "System$Collections$IEnumerator$Current", "reset", "System$Collections$IEnumerator$reset"], ctors: { ctor: function (n) { this.$initialize(); this.bitarray = n; this.index = -1; this.version = n._version } }, methods: { moveNext: function () { if (this.version !== this.bitarray._version) throw new System.InvalidOperationException("Collection was modified; enumeration operation may not execute."); return this.index < (this.bitarray.Count - 1 | 0) ? (this.index = this.index + 1 | 0, this.currentElement = this.bitarray.get(this.index), !0) : (this.index = this.bitarray.Count, !1) }, reset: function () { if (this.version !== this.bitarray._version) throw new System.InvalidOperationException("Collection was modified; enumeration operation may not execute."); this.index = -1 } } }); Bridge.define("System.Collections.Generic.BitHelper", { statics: { fields: { MarkedBitFlag: 0, IntSize: 0 }, ctors: { init: function () { this.MarkedBitFlag = 1; this.IntSize = 32 } }, methods: { toIntArrayLength: function (n) { return n > 0 ? (Bridge.Int.div(n - 1 | 0, System.Collections.Generic.BitHelper.IntSize) | 0) + 1 | 0 : 0 } } }, fields: { _length: 0, _array: null }, ctors: { ctor: function (n, t) { this.$initialize(); this._array = n; this._length = t } }, methods: { markBit: function (n) { var t = Bridge.Int.div(n, System.Collections.Generic.BitHelper.IntSize) | 0, i; t < this._length && t >= 0 && (i = System.Collections.Generic.BitHelper.MarkedBitFlag << n % System.Collections.Generic.BitHelper.IntSize, this._array[System.Array.index(t, this._array)] = this._array[System.Array.index(t, this._array)] | i) }, isMarked: function (n) { var t = Bridge.Int.div(n, System.Collections.Generic.BitHelper.IntSize) | 0, i; return t < this._length && t >= 0 ? (i = System.Collections.Generic.BitHelper.MarkedBitFlag << n % System.Collections.Generic.BitHelper.IntSize, (this._array[System.Array.index(t, this._array)] & i) != 0) : !1 } } }); Bridge.define("Bridge.Collections.EnumerableHelpers", { statics: { methods: { toArray: function (n, t) { var i = {}, r = { v: Bridge.Collections.EnumerableHelpers.toArray$1(n, t, i) }; return System.Array.resize(r, i.v, Bridge.getDefaultValue(n)), r.v }, toArray$1: function (n, t, i) { var u = Bridge.getEnumerator(t, n), s, f, r, e, o; try { if (u.System$Collections$IEnumerator$moveNext()) { for (s = 4, f = { v: System.Array.init(s, function () { return Bridge.getDefaultValue(n) }, n) }, f.v[System.Array.index(0, f.v)] = u[Bridge.geti(u, "System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(n) + "$Current$1", "System$Collections$Generic$IEnumerator$1$Current$1")], r = 1; u.System$Collections$IEnumerator$moveNext();)r === f.v.length && (e = 2146435071, o = r << 1, o >>> 0 > e && (o = e <= r ? r + 1 | 0 : e), System.Array.resize(f, o, Bridge.getDefaultValue(n))), f.v[System.Array.index(Bridge.identity(r, r = r + 1 | 0), f.v)] = u[Bridge.geti(u, "System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(n) + "$Current$1", "System$Collections$Generic$IEnumerator$1$Current$1")]; return i.v = r, f.v } } finally { Bridge.hasValue(u) && u.System$IDisposable$dispose() } return i.v = 0, System.Array.init(0, function () { return Bridge.getDefaultValue(n) }, n) } } } }); Bridge.define("System.Collections.Generic.HashSet$1", function (n) { return { inherits: [System.Collections.Generic.ICollection$1(n), System.Collections.Generic.ISet$1(n)], statics: { fields: { Lower31BitMask: 0, ShrinkThreshold: 0 }, ctors: { init: function () { this.Lower31BitMask = 2147483647; this.ShrinkThreshold = 3 } }, methods: { hashSetEquals: function (t, i, r) { var u, f, e, s, h, o, c; if (t == null) return i == null; if (i == null) return !1; if (System.Collections.Generic.HashSet$1(n).areEqualityComparersEqual(t, i)) { if (t.Count !== i.Count) return !1; u = Bridge.getEnumerator(i); try { while (u.moveNext()) if (s = u.Current, !t.contains(s)) return !1 } finally { Bridge.is(u, System.IDisposable) && u.System$IDisposable$dispose() } return !0 } f = Bridge.getEnumerator(i); try { while (f.moveNext()) { h = f.Current; o = !1; e = Bridge.getEnumerator(t); try { while (e.moveNext()) if (c = e.Current, r[Bridge.geti(r, "System$Collections$Generic$IEqualityComparer$1$" + Bridge.getTypeAlias(n) + "$equals2", "System$Collections$Generic$IEqualityComparer$1$equals2")](h, c)) { o = !0; break } } finally { Bridge.is(e, System.IDisposable) && e.System$IDisposable$dispose() } if (!o) return !1 } } finally { Bridge.is(f, System.IDisposable) && f.System$IDisposable$dispose() } return !0 }, areEqualityComparersEqual: function (n, t) { return Bridge.equals(n.Comparer, t.Comparer) } } }, fields: { _buckets: null, _slots: null, _count: 0, _lastIndex: 0, _freeList: 0, _comparer: null, _version: 0 }, props: { Count: { get: function () { return this._count } }, IsReadOnly: { get: function () { return !1 } }, Comparer: { get: function () { return this._comparer } } }, alias: ["System$Collections$Generic$ICollection$1$add", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$add", "clear", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$clear", "contains", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$contains", "copyTo", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$copyTo", "remove", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$remove", "Count", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$Count", "IsReadOnly", "System$Collections$Generic$ICollection$1$" + Bridge.getTypeAlias(n) + "$IsReadOnly", "System$Collections$Generic$IEnumerable$1$getEnumerator", "System$Collections$Generic$IEnumerable$1$" + Bridge.getTypeAlias(n) + "$getEnumerator", "add", "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(n) + "$add", "unionWith", "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(n) + "$unionWith", "intersectWith", "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(n) + "$intersectWith", "exceptWith", "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(n) + "$exceptWith", "symmetricExceptWith", "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(n) + "$symmetricExceptWith", "isSubsetOf", "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(n) + "$isSubsetOf", "isProperSubsetOf", "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(n) + "$isProperSubsetOf", "isSupersetOf", "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(n) + "$isSupersetOf", "isProperSupersetOf", "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(n) + "$isProperSupersetOf", "overlaps", "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(n) + "$overlaps", "setEquals", "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(n) + "$setEquals"], ctors: { ctor: function () { System.Collections.Generic.HashSet$1(n).$ctor3.call(this, System.Collections.Generic.EqualityComparer$1(n).def) }, $ctor3: function (t) { this.$initialize(); t == null && (t = System.Collections.Generic.EqualityComparer$1(n).def); this._comparer = t; this._lastIndex = 0; this._count = 0; this._freeList = -1; this._version = 0 }, $ctor1: function (t) { System.Collections.Generic.HashSet$1(n).$ctor2.call(this, t, System.Collections.Generic.EqualityComparer$1(n).def) }, $ctor2: function (t, i) { if (System.Collections.Generic.HashSet$1(n).$ctor3.call(this, i), t == null) throw new System.ArgumentNullException("collection"); var r = 0, u = Bridge.as(t, System.Collections.Generic.ICollection$1(n)); u != null && (r = System.Array.getCount(u, n)); this.initialize(r); this.unionWith(t); (this._count === 0 && this._slots.length > System.Collections.HashHelpers.getMinPrime() || this._count > 0 && (Bridge.Int.div(this._slots.length, this._count) | 0) > System.Collections.Generic.HashSet$1(n).ShrinkThreshold) && this.trimExcess() } }, methods: { System$Collections$Generic$ICollection$1$add: function (n) { this.addIfNotPresent(n) }, add: function (n) { return this.addIfNotPresent(n) }, clear: function () { var t, i; if (this._lastIndex > 0) { for (t = 0; t < this._lastIndex; t = t + 1 | 0)this._slots[System.Array.index(t, this._slots)] = new (System.Collections.Generic.HashSet$1.Slot(n)); for (i = 0; i < this._buckets.length; i = i + 1 | 0)this._buckets[System.Array.index(i, this._buckets)] = 0; this._lastIndex = 0; this._count = 0; this._freeList = -1 } this._version = this._version + 1 | 0 }, arrayClear: function () { }, contains: function (t) { var r, i; if (this._buckets != null) for (r = this.internalGetHashCode(t), i = this._buckets[System.Array.index(r % this._buckets.length, this._buckets)] - 1 | 0; i >= 0; i = this._slots[System.Array.index(i, this._slots)].next)if (this._slots[System.Array.index(i, this._slots)].hashCode === r && this._comparer[Bridge.geti(this._comparer, "System$Collections$Generic$IEqualityComparer$1$" + Bridge.getTypeAlias(n) + "$equals2", "System$Collections$Generic$IEqualityComparer$1$equals2")](this._slots[System.Array.index(i, this._slots)].value, t)) return !0; return !1 }, copyTo: function (n, t) { this.copyTo$2(n, t, this._count) }, copyTo$1: function (n) { this.copyTo$2(n, 0, this._count) }, copyTo$2: function (n, t, i) { var u, r; if (n == null) throw new System.ArgumentNullException("array"); if (t < 0) throw new System.ArgumentOutOfRangeException("arrayIndex"); if (i < 0) throw new System.ArgumentOutOfRangeException("count"); if (t > n.length || i > (n.length - t | 0)) throw new System.ArgumentException("Destination array is not long enough to copy all the items in the collection. Check array index and length."); for (u = 0, r = 0; r < this._lastIndex && u < i; r = r + 1 | 0)this._slots[System.Array.index(r, this._slots)].hashCode >= 0 && (n[System.Array.index(t + u | 0, n)] = this._slots[System.Array.index(r, this._slots)].value, u = u + 1 | 0) }, remove: function (t) { var i; if (this._buckets != null) { var u = this.internalGetHashCode(t), f = u % this._buckets.length, r = -1; for (i = this._buckets[System.Array.index(f, this._buckets)] - 1 | 0; i >= 0; r = i, i = this._slots[System.Array.index(i, this._slots)].next)if (this._slots[System.Array.index(i, this._slots)].hashCode === u && this._comparer[Bridge.geti(this._comparer, "System$Collections$Generic$IEqualityComparer$1$" + Bridge.getTypeAlias(n) + "$equals2", "System$Collections$Generic$IEqualityComparer$1$equals2")](this._slots[System.Array.index(i, this._slots)].value, t)) return r < 0 ? this._buckets[System.Array.index(f, this._buckets)] = this._slots[System.Array.index(i, this._slots)].next + 1 | 0 : this._slots[System.Array.index(r, this._slots)].next = this._slots[System.Array.index(i, this._slots)].next, this._slots[System.Array.index(i, this._slots)].hashCode = -1, this._slots[System.Array.index(i, this._slots)].value = Bridge.getDefaultValue(n), this._slots[System.Array.index(i, this._slots)].next = this._freeList, this._count = this._count - 1 | 0, this._version = this._version + 1 | 0, this._count === 0 ? (this._lastIndex = 0, this._freeList = -1) : this._freeList = i, !0 } return !1 }, getEnumerator: function () { return new (System.Collections.Generic.HashSet$1.Enumerator(n).$ctor1)(this) }, System$Collections$Generic$IEnumerable$1$getEnumerator: function () { return new (System.Collections.Generic.HashSet$1.Enumerator(n).$ctor1)(this).$clone() }, System$Collections$IEnumerable$getEnumerator: function () { return new (System.Collections.Generic.HashSet$1.Enumerator(n).$ctor1)(this).$clone() }, unionWith: function (t) { var i, r; if (t == null) throw new System.ArgumentNullException("other"); i = Bridge.getEnumerator(t, n); try { while (i.moveNext()) r = i.Current, this.addIfNotPresent(r) } finally { Bridge.is(i, System.IDisposable) && i.System$IDisposable$dispose() } }, intersectWith: function (t) { var r, i; if (t == null) throw new System.ArgumentNullException("other"); if (this._count !== 0) { if (r = Bridge.as(t, System.Collections.Generic.ICollection$1(n)), r != null) { if (System.Array.getCount(r, n) === 0) { this.clear(); return } if (i = Bridge.as(t, System.Collections.Generic.HashSet$1(n)), i != null && System.Collections.Generic.HashSet$1(n).areEqualityComparersEqual(this, i)) { this.intersectWithHashSetWithSameEC(i); return } } this.intersectWithEnumerable(t) } }, exceptWith: function (t) { var i, r; if (t == null) throw new System.ArgumentNullException("other"); if (this._count !== 0) { if (Bridge.referenceEquals(t, this)) { this.clear(); return } i = Bridge.getEnumerator(t, n); try { while (i.moveNext()) r = i.Current, this.remove(r) } finally { Bridge.is(i, System.IDisposable) && i.System$IDisposable$dispose() } } }, symmetricExceptWith: function (t) { if (t == null) throw new System.ArgumentNullException("other"); if (this._count === 0) { this.unionWith(t); return } if (Bridge.referenceEquals(t, this)) { this.clear(); return } var i = Bridge.as(t, System.Collections.Generic.HashSet$1(n)); i != null && System.Collections.Generic.HashSet$1(n).areEqualityComparersEqual(this, i) ? this.symmetricExceptWithUniqueHashSet(i) : this.symmetricExceptWithEnumerable(t) }, isSubsetOf: function (t) { var i, r; if (t == null) throw new System.ArgumentNullException("other"); return this._count === 0 ? !0 : (i = Bridge.as(t, System.Collections.Generic.HashSet$1(n)), i != null && System.Collections.Generic.HashSet$1(n).areEqualityComparersEqual(this, i) ? this._count > i.Count ? !1 : this.isSubsetOfHashSetWithSameEC(i) : (r = this.checkUniqueAndUnfoundElements(t, !1), r.uniqueCount === this._count && r.unfoundCount >= 0)) }, isProperSubsetOf: function (t) { var r, i, u; if (t == null) throw new System.ArgumentNullException("other"); if (r = Bridge.as(t, System.Collections.Generic.ICollection$1(n)), r != null) { if (this._count === 0) return System.Array.getCount(r, n) > 0; if (i = Bridge.as(t, System.Collections.Generic.HashSet$1(n)), i != null && System.Collections.Generic.HashSet$1(n).areEqualityComparersEqual(this, i)) return this._count >= i.Count ? !1 : this.isSubsetOfHashSetWithSameEC(i) } return u = this.checkUniqueAndUnfoundElements(t, !1), u.uniqueCount === this._count && u.unfoundCount > 0 }, isSupersetOf: function (t) { var r, i; if (t == null) throw new System.ArgumentNullException("other"); if (r = Bridge.as(t, System.Collections.Generic.ICollection$1(n)), r != null) { if (System.Array.getCount(r, n) === 0) return !0; if (i = Bridge.as(t, System.Collections.Generic.HashSet$1(n)), i != null && System.Collections.Generic.HashSet$1(n).areEqualityComparersEqual(this, i) && i.Count > this._count) return !1 } return this.containsAllElements(t) }, isProperSupersetOf: function (t) { var r, i, u; if (t == null) throw new System.ArgumentNullException("other"); if (this._count === 0) return !1; if (r = Bridge.as(t, System.Collections.Generic.ICollection$1(n)), r != null) { if (System.Array.getCount(r, n) === 0) return !0; if (i = Bridge.as(t, System.Collections.Generic.HashSet$1(n)), i != null && System.Collections.Generic.HashSet$1(n).areEqualityComparersEqual(this, i)) return i.Count >= this._count ? !1 : this.containsAllElements(i) } return u = this.checkUniqueAndUnfoundElements(t, !0), u.uniqueCount < this._count && u.unfoundCount === 0 }, overlaps: function (t) { var i, r; if (t == null) throw new System.ArgumentNullException("other"); if (this._count === 0) return !1; i = Bridge.getEnumerator(t, n); try { while (i.moveNext()) if (r = i.Current, this.contains(r)) return !0 } finally { Bridge.is(i, System.IDisposable) && i.System$IDisposable$dispose() } return !1 }, setEquals: function (t) { var i, r, u; if (t == null) throw new System.ArgumentNullException("other"); return i = Bridge.as(t, System.Collections.Generic.HashSet$1(n)), i != null && System.Collections.Generic.HashSet$1(n).areEqualityComparersEqual(this, i) ? this._count !== i.Count ? !1 : this.containsAllElements(i) : (r = Bridge.as(t, System.Collections.Generic.ICollection$1(n)), r != null && this._count === 0 && System.Array.getCount(r, n) > 0) ? !1 : (u = this.checkUniqueAndUnfoundElements(t, !0), u.uniqueCount === this._count && u.unfoundCount === 0) }, removeWhere: function (n) { var i, t, r; if (Bridge.staticEquals(n, null)) throw new System.ArgumentNullException("match"); for (i = 0, t = 0; t < this._lastIndex; t = t + 1 | 0)this._slots[System.Array.index(t, this._slots)].hashCode >= 0 && (r = this._slots[System.Array.index(t, this._slots)].value, n(r) && this.remove(r) && (i = i + 1 | 0)); return i }, trimExcess: function () { var r, e; if (this._count === 0) this._buckets = null, this._slots = null, this._version = this._version + 1 | 0; else { var f = System.Collections.HashHelpers.getPrime(this._count), t = System.Array.init(f, function () { return new (System.Collections.Generic.HashSet$1.Slot(n)) }, System.Collections.Generic.HashSet$1.Slot(n)), u = System.Array.init(f, 0, System.Int32), i = 0; for (r = 0; r < this._lastIndex; r = r + 1 | 0)this._slots[System.Array.index(r, this._slots)].hashCode >= 0 && (t[System.Array.index(i, t)] = this._slots[System.Array.index(r, this._slots)].$clone(), e = t[System.Array.index(i, t)].hashCode % f, t[System.Array.index(i, t)].next = u[System.Array.index(e, u)] - 1 | 0, u[System.Array.index(e, u)] = i + 1 | 0, i = i + 1 | 0); this._lastIndex = i; this._slots = t; this._buckets = u; this._freeList = -1 } }, initialize: function (t) { var i = System.Collections.HashHelpers.getPrime(t); this._buckets = System.Array.init(i, 0, System.Int32); this._slots = System.Array.init(i, function () { return new (System.Collections.Generic.HashSet$1.Slot(n)) }, System.Collections.Generic.HashSet$1.Slot(n)) }, increaseCapacity: function () { var n = System.Collections.HashHelpers.expandPrime(this._count); if (n <= this._count) throw new System.ArgumentException("HashSet capacity is too big."); this.setCapacity(n, !1) }, setCapacity: function (t, i) { var r = System.Array.init(t, function () { return new (System.Collections.Generic.HashSet$1.Slot(n)) }, System.Collections.Generic.HashSet$1.Slot(n)), e, u, o, f, s; if (this._slots != null) for (e = 0; e < this._lastIndex; e = e + 1 | 0)r[System.Array.index(e, r)] = this._slots[System.Array.index(e, this._slots)].$clone(); if (i) for (u = 0; u < this._lastIndex; u = u + 1 | 0)r[System.Array.index(u, r)].hashCode !== -1 && (r[System.Array.index(u, r)].hashCode = this.internalGetHashCode(r[System.Array.index(u, r)].value)); for (o = System.Array.init(t, 0, System.Int32), f = 0; f < this._lastIndex; f = f + 1 | 0)s = r[System.Array.index(f, r)].hashCode % t, r[System.Array.index(f, r)].next = o[System.Array.index(s, o)] - 1 | 0, o[System.Array.index(s, o)] = f + 1 | 0; this._slots = r; this._buckets = o }, addIfNotPresent: function (t) { var u, f, r, i; for (this._buckets == null && this.initialize(0), u = this.internalGetHashCode(t), f = u % this._buckets.length, r = this._buckets[System.Array.index(f, this._buckets)] - 1 | 0; r >= 0; r = this._slots[System.Array.index(r, this._slots)].next)if (this._slots[System.Array.index(r, this._slots)].hashCode === u && this._comparer[Bridge.geti(this._comparer, "System$Collections$Generic$IEqualityComparer$1$" + Bridge.getTypeAlias(n) + "$equals2", "System$Collections$Generic$IEqualityComparer$1$equals2")](this._slots[System.Array.index(r, this._slots)].value, t)) return !1; return this._freeList >= 0 ? (i = this._freeList, this._freeList = this._slots[System.Array.index(i, this._slots)].next) : (this._lastIndex === this._slots.length && (this.increaseCapacity(), f = u % this._buckets.length), i = this._lastIndex, this._lastIndex = this._lastIndex + 1 | 0), this._slots[System.Array.index(i, this._slots)].hashCode = u, this._slots[System.Array.index(i, this._slots)].value = t, this._slots[System.Array.index(i, this._slots)].next = this._buckets[System.Array.index(f, this._buckets)] - 1 | 0, this._buckets[System.Array.index(f, this._buckets)] = i + 1 | 0, this._count = this._count + 1 | 0, this._version = this._version + 1 | 0, !0 }, containsAllElements: function (t) { var i, r; i = Bridge.getEnumerator(t, n); try { while (i.moveNext()) if (r = i.Current, !this.contains(r)) return !1 } finally { Bridge.is(i, System.IDisposable) && i.System$IDisposable$dispose() } return !0 }, isSubsetOfHashSetWithSameEC: function (n) { var t, i; t = Bridge.getEnumerator(this); try { while (t.moveNext()) if (i = t.Current, !n.contains(i)) return !1 } finally { Bridge.is(t, System.IDisposable) && t.System$IDisposable$dispose() } return !0 }, intersectWithHashSetWithSameEC: function (n) { for (var i, t = 0; t < this._lastIndex; t = t + 1 | 0)this._slots[System.Array.index(t, this._slots)].hashCode >= 0 && (i = this._slots[System.Array.index(t, this._slots)].value, n.contains(i) || this.remove(i)) }, intersectWithEnumerable: function (t) { var r, e = this._lastIndex, o = System.Collections.Generic.BitHelper.toIntArrayLength(e), u, h = System.Array.init(o, 0, System.Int32), s, f, i; u = new System.Collections.Generic.BitHelper(h, o); r = Bridge.getEnumerator(t, n); try { while (r.moveNext()) s = r.Current, f = this.internalIndexOf(s), f >= 0 && u.markBit(f) } finally { Bridge.is(r, System.IDisposable) && r.System$IDisposable$dispose() } for (i = 0; i < e; i = i + 1 | 0)this._slots[System.Array.index(i, this._slots)].hashCode >= 0 && !u.isMarked(i) && this.remove(this._slots[System.Array.index(i, this._slots)].value) }, internalIndexOf: function (t) { for (var r = this.internalGetHashCode(t), i = this._buckets[System.Array.index(r % this._buckets.length, this._buckets)] - 1 | 0; i >= 0; i = this._slots[System.Array.index(i, this._slots)].next)if (this._slots[System.Array.index(i, this._slots)].hashCode === r && this._comparer[Bridge.geti(this._comparer, "System$Collections$Generic$IEqualityComparer$1$" + Bridge.getTypeAlias(n) + "$equals2", "System$Collections$Generic$IEqualityComparer$1$equals2")](this._slots[System.Array.index(i, this._slots)].value, t)) return i; return -1 }, symmetricExceptWithUniqueHashSet: function (n) { var t, i; t = Bridge.getEnumerator(n); try { while (t.moveNext()) i = t.Current, this.remove(i) || this.addIfNotPresent(i) } finally { Bridge.is(t, System.IDisposable) && t.System$IDisposable$dispose() } }, symmetricExceptWithEnumerable: function (t) { var r, e = this._lastIndex, f = System.Collections.Generic.BitHelper.toIntArrayLength(e), o, s, c = System.Array.init(f, 0, System.Int32), h, i; o = new System.Collections.Generic.BitHelper(c, f); h = System.Array.init(f, 0, System.Int32); s = new System.Collections.Generic.BitHelper(h, f); r = Bridge.getEnumerator(t, n); try { while (r.moveNext()) { var l = r.Current, u = { v: 0 }, a = this.addOrGetLocation(l, u); a ? s.markBit(u.v) : u.v < e && !s.isMarked(u.v) && o.markBit(u.v) } } finally { Bridge.is(r, System.IDisposable) && r.System$IDisposable$dispose() } for (i = 0; i < e; i = i + 1 | 0)o.isMarked(i) && this.remove(this._slots[System.Array.index(i, this._slots)].value) }, addOrGetLocation: function (t, i) { for (var r, f = this.internalGetHashCode(t), e = f % this._buckets.length, u = this._buckets[System.Array.index(e, this._buckets)] - 1 | 0; u >= 0; u = this._slots[System.Array.index(u, this._slots)].next)if (this._slots[System.Array.index(u, this._slots)].hashCode === f && this._comparer[Bridge.geti(this._comparer, "System$Collections$Generic$IEqualityComparer$1$" + Bridge.getTypeAlias(n) + "$equals2", "System$Collections$Generic$IEqualityComparer$1$equals2")](this._slots[System.Array.index(u, this._slots)].value, t)) return i.v = u, !1; return this._freeList >= 0 ? (r = this._freeList, this._freeList = this._slots[System.Array.index(r, this._slots)].next) : (this._lastIndex === this._slots.length && (this.increaseCapacity(), e = f % this._buckets.length), r = this._lastIndex, this._lastIndex = this._lastIndex + 1 | 0), this._slots[System.Array.index(r, this._slots)].hashCode = f, this._slots[System.Array.index(r, this._slots)].value = t, this._slots[System.Array.index(r, this._slots)].next = this._buckets[System.Array.index(e, this._buckets)] - 1 | 0, this._buckets[System.Array.index(e, this._buckets)] = r + 1 | 0, this._count = this._count + 1 | 0, this._version = this._version + 1 | 0, i.v = r, !0 }, checkUniqueAndUnfoundElements: function (t, i) { var u, f, r = new (System.Collections.Generic.HashSet$1.ElementCount(n)), e, v, o, s, a, h; if (this._count === 0) { e = 0; u = Bridge.getEnumerator(t, n); try { while (u.moveNext()) { v = u.Current; e = e + 1 | 0; break } } finally { Bridge.is(u, System.IDisposable) && u.System$IDisposable$dispose() } return r.uniqueCount = 0, r.unfoundCount = e, r.$clone() } var y = this._lastIndex, l = System.Collections.Generic.BitHelper.toIntArrayLength(y), c, p = System.Array.init(l, 0, System.Int32); c = new System.Collections.Generic.BitHelper(p, l); o = 0; s = 0; f = Bridge.getEnumerator(t, n); try { while (f.moveNext()) if (a = f.Current, h = this.internalIndexOf(a), h >= 0) c.isMarked(h) || (c.markBit(h), s = s + 1 | 0); else if (o = o + 1 | 0, i) break } finally { Bridge.is(f, System.IDisposable) && f.System$IDisposable$dispose() } return r.uniqueCount = s, r.unfoundCount = o, r.$clone() }, toArray: function () { var t = System.Array.init(this.Count, function () { return Bridge.getDefaultValue(n) }, n); return this.copyTo$1(t), t }, internalGetHashCode: function (t) { return t == null ? 0 : this._comparer[Bridge.geti(this._comparer, "System$Collections$Generic$IEqualityComparer$1$" + Bridge.getTypeAlias(n) + "$getHashCode2", "System$Collections$Generic$IEqualityComparer$1$getHashCode2")](t) & System.Collections.Generic.HashSet$1(n).Lower31BitMask } } } }); Bridge.define("System.Collections.Generic.HashSet$1.ElementCount", function (n) { return { $kind: "struct", statics: { methods: { getDefaultValue: function () { return new (System.Collections.Generic.HashSet$1.ElementCount(n)) } } }, fields: { uniqueCount: 0, unfoundCount: 0 }, ctors: { ctor: function () { this.$initialize() } }, methods: { getHashCode: function () { return Bridge.addHash([4920463385, this.uniqueCount, this.unfoundCount]) }, equals: function (t) { return Bridge.is(t, System.Collections.Generic.HashSet$1.ElementCount(n)) ? Bridge.equals(this.uniqueCount, t.uniqueCount) && Bridge.equals(this.unfoundCount, t.unfoundCount) : !1 }, $clone: function (t) { var i = t || new (System.Collections.Generic.HashSet$1.ElementCount(n)); return i.uniqueCount = this.uniqueCount, i.unfoundCount = this.unfoundCount, i } } } }); Bridge.define("System.Collections.Generic.HashSet$1.Enumerator", function (n) { return { inherits: [System.Collections.Generic.IEnumerator$1(n)], $kind: "struct", statics: { methods: { getDefaultValue: function () { return new (System.Collections.Generic.HashSet$1.Enumerator(n)) } } }, fields: { _set: null, _index: 0, _version: 0, _current: Bridge.getDefaultValue(n) }, props: { Current: { get: function () { return this._current } }, System$Collections$IEnumerator$Current: { get: function () { if (this._index === 0 || this._index === (this._set._lastIndex + 1 | 0)) throw new System.InvalidOperationException("Enumeration has either not started or has already finished."); return this.Current } } }, alias: ["dispose", "System$IDisposable$dispose", "moveNext", "System$Collections$IEnumerator$moveNext", "Current", ["System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(n) + "$Current$1", "System$Collections$Generic$IEnumerator$1$Current$1"]], ctors: { $ctor1: function (t) { this.$initialize(); this._set = t; this._index = 0; this._version = t._version; this._current = Bridge.getDefaultValue(n) }, ctor: function () { this.$initialize() } }, methods: { dispose: function () { }, moveNext: function () { var t, i; if (this._version !== this._set._version) throw new System.InvalidOperationException("Collection was modified; enumeration operation may not execute."); while (this._index < this._set._lastIndex) { if ((t = this._set._slots)[System.Array.index(this._index, t)].hashCode >= 0) return this._current = (i = this._set._slots)[System.Array.index(this._index, i)].value, this._index = this._index + 1 | 0, !0; this._index = this._index + 1 | 0 } return this._index = this._set._lastIndex + 1 | 0, this._current = Bridge.getDefaultValue(n), !1 }, System$Collections$IEnumerator$reset: function () { if (this._version !== this._set._version) throw new System.InvalidOperationException("Collection was modified; enumeration operation may not execute."); this._index = 0; this._current = Bridge.getDefaultValue(n) }, getHashCode: function () { return Bridge.addHash([3788985113, this._set, this._index, this._version, this._current]) }, equals: function (t) { return Bridge.is(t, System.Collections.Generic.HashSet$1.Enumerator(n)) ? Bridge.equals(this._set, t._set) && Bridge.equals(this._index, t._index) && Bridge.equals(this._version, t._version) && Bridge.equals(this._current, t._current) : !1 }, $clone: function (t) { var i = t || new (System.Collections.Generic.HashSet$1.Enumerator(n)); return i._set = this._set, i._index = this._index, i._version = this._version, i._current = this._current, i } } } }); Bridge.define("System.Collections.Generic.HashSet$1.Slot", function (n) { return { $kind: "struct", statics: { methods: { getDefaultValue: function () { return new (System.Collections.Generic.HashSet$1.Slot(n)) } } }, fields: { hashCode: 0, value: Bridge.getDefaultValue(n), next: 0 }, ctors: { ctor: function () { this.$initialize() } }, methods: { getHashCode: function () { return Bridge.addHash([1953459283, this.hashCode, this.value, this.next]) }, equals: function (t) { return Bridge.is(t, System.Collections.Generic.HashSet$1.Slot(n)) ? Bridge.equals(this.hashCode, t.hashCode) && Bridge.equals(this.value, t.value) && Bridge.equals(this.next, t.next) : !1 }, $clone: function (t) { var i = t || new (System.Collections.Generic.HashSet$1.Slot(n)); return i.hashCode = this.hashCode, i.value = this.value, i.next = this.next, i } } } }); Bridge.define("System.Collections.Generic.Queue$1", function (n) { return { inherits: [System.Collections.Generic.IEnumerable$1(n), System.Collections.ICollection], statics: { fields: { MinimumGrow: 0, GrowFactor: 0, DefaultCapacity: 0 }, ctors: { init: function () { this.MinimumGrow = 4; this.GrowFactor = 200; this.DefaultCapacity = 4 } } }, fields: { _array: null, _head: 0, _tail: 0, _size: 0, _version: 0 }, props: { Count: { get: function () { return this._size } }, IsReadOnly: { get: function () { return !1 } } }, alias: ["Count", "System$Collections$ICollection$Count", "copyTo", "System$Collections$ICollection$copyTo", "System$Collections$Generic$IEnumerable$1$getEnumerator", "System$Collections$Generic$IEnumerable$1$" + Bridge.getTypeAlias(n) + "$getEnumerator"], ctors: { ctor: function () { this.$initialize(); this._array = System.Array.init(0, function () { return Bridge.getDefaultValue(n) }, n) }, $ctor2: function (t) { if (this.$initialize(), t < 0) throw new System.ArgumentOutOfRangeException("capacity", "Non-negative number required."); this._array = System.Array.init(t, function () { return Bridge.getDefaultValue(n) }, n) }, $ctor1: function (t) { if (this.$initialize(), t == null) throw new System.ArgumentNullException("collection"); this._array = System.Array.init(System.Collections.Generic.Queue$1(n).DefaultCapacity, function () { return Bridge.getDefaultValue(n) }, n); var i = Bridge.getEnumerator(t, n); try { while (i.System$Collections$IEnumerator$moveNext()) this.enqueue(i[Bridge.geti(i, "System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(n) + "$Current$1", "System$Collections$Generic$IEnumerator$1$Current$1")]) } finally { Bridge.hasValue(i) && i.System$IDisposable$dispose() } } }, methods: { copyTo: function (n, t) { var u, i, r; if (n == null) throw new System.ArgumentNullException("array"); if (System.Array.getRank(n) !== 1) throw new System.ArgumentException("Only single dimensional arrays are supported for the requested action."); if (t < 0) throw new System.ArgumentOutOfRangeException("index"); if (u = n.length, (u - t | 0) < this._size) throw new System.ArgumentException("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection."); (i = this._size, i !== 0) && (r = (this._array.length - this._head | 0) < i ? this._array.length - this._head | 0 : i, System.Array.copy(this._array, this._head, n, t, r), i = i - r | 0, i > 0 && System.Array.copy(this._array, 0, n, (t + this._array.length | 0) - this._head | 0, i)) }, copyTo$1: function (n, t) { var r, i, u; if (n == null) throw new System.ArgumentNullException("array"); if (t < 0 || t > n.length) throw new System.ArgumentOutOfRangeException("arrayIndex", "Index was out of range. Must be non-negative and less than the size of the collection."); if (r = n.length, (r - t | 0) < this._size) throw new System.ArgumentException("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection."); (i = (r - t | 0) < this._size ? r - t | 0 : this._size, i !== 0) && (u = (this._array.length - this._head | 0) < i ? this._array.length - this._head | 0 : i, System.Array.copy(this._array, this._head, n, t, u), i = i - u | 0, i > 0 && System.Array.copy(this._array, 0, n, (t + this._array.length | 0) - this._head | 0, i)) }, clear: function () { this._head < this._tail ? System.Array.fill(this._array, Bridge.getDefaultValue(n), this._head, this._size) : (System.Array.fill(this._array, Bridge.getDefaultValue(n), this._head, this._array.length - this._head | 0), System.Array.fill(this._array, Bridge.getDefaultValue(n), 0, this._tail)); this._head = 0; this._tail = 0; this._size = 0; this._version = this._version + 1 | 0 }, enqueue: function (t) { if (this._size === this._array.length) { var i = Bridge.Int.div(Bridge.Int.mul(this._array.length, System.Collections.Generic.Queue$1(n).GrowFactor), 100) | 0; i < (this._array.length + System.Collections.Generic.Queue$1(n).MinimumGrow | 0) && (i = this._array.length + System.Collections.Generic.Queue$1(n).MinimumGrow | 0); this.setCapacity(i) } this._array[System.Array.index(this._tail, this._array)] = t; this._tail = this.moveNext(this._tail); this._size = this._size + 1 | 0; this._version = this._version + 1 | 0 }, getEnumerator: function () { return new (System.Collections.Generic.Queue$1.Enumerator(n).$ctor1)(this) }, System$Collections$Generic$IEnumerable$1$getEnumerator: function () { return new (System.Collections.Generic.Queue$1.Enumerator(n).$ctor1)(this).$clone() }, System$Collections$IEnumerable$getEnumerator: function () { return new (System.Collections.Generic.Queue$1.Enumerator(n).$ctor1)(this).$clone() }, dequeue: function () { if (this._size === 0) throw new System.InvalidOperationException("Queue empty."); var t = this._array[System.Array.index(this._head, this._array)]; return this._array[System.Array.index(this._head, this._array)] = Bridge.getDefaultValue(n), this._head = this.moveNext(this._head), this._size = this._size - 1 | 0, this._version = this._version + 1 | 0, t }, peek: function () { if (this._size === 0) throw new System.InvalidOperationException("Queue empty."); return this._array[System.Array.index(this._head, this._array)] }, contains: function (t) { for (var i = this._head, r = this._size, u = System.Collections.Generic.EqualityComparer$1(n).def; Bridge.identity(r, r = r - 1 | 0) > 0;) { if (t == null) { if (this._array[System.Array.index(i, this._array)] == null) return !0 } else if (this._array[System.Array.index(i, this._array)] != null && u.equals2(this._array[System.Array.index(i, this._array)], t)) return !0; i = this.moveNext(i) } return !1 }, getElement: function (n) { return this._array[System.Array.index((this._head + n | 0) % this._array.length, this._array)] }, toArray: function () { var t = System.Array.init(this._size, function () { return Bridge.getDefaultValue(n) }, n); return this._size === 0 ? t : (this._head < this._tail ? System.Array.copy(this._array, this._head, t, 0, this._size) : (System.Array.copy(this._array, this._head, t, 0, this._array.length - this._head | 0), System.Array.copy(this._array, 0, t, this._array.length - this._head | 0, this._tail)), t) }, setCapacity: function (t) { var i = System.Array.init(t, function () { return Bridge.getDefaultValue(n) }, n); this._size > 0 && (this._head < this._tail ? System.Array.copy(this._array, this._head, i, 0, this._size) : (System.Array.copy(this._array, this._head, i, 0, this._array.length - this._head | 0), System.Array.copy(this._array, 0, i, this._array.length - this._head | 0, this._tail))); this._array = i; this._head = 0; this._tail = this._size === t ? 0 : this._size; this._version = this._version + 1 | 0 }, moveNext: function (n) { var t = n + 1 | 0; return t === this._array.length ? 0 : t }, trimExcess: function () { var n = Bridge.Int.clip32(this._array.length * .9); this._size < n && this.setCapacity(this._size) } } } }); Bridge.define("System.Collections.Generic.Queue$1.Enumerator", function (n) { return { inherits: [System.Collections.Generic.IEnumerator$1(n), System.Collections.IEnumerator], $kind: "struct", statics: { methods: { getDefaultValue: function () { return new (System.Collections.Generic.Queue$1.Enumerator(n)) } } }, fields: { _q: null, _index: 0, _version: 0, _currentElement: Bridge.getDefaultValue(n) }, props: { Current: { get: function () { if (this._index < 0) if (this._index === -1) throw new System.InvalidOperationException("Enumeration has not started. Call MoveNext."); else throw new System.InvalidOperationException("Enumeration already finished."); return this._currentElement } }, System$Collections$IEnumerator$Current: { get: function () { return this.Current } } }, alias: ["dispose", "System$IDisposable$dispose", "moveNext", "System$Collections$IEnumerator$moveNext", "Current", ["System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(n) + "$Current$1", "System$Collections$Generic$IEnumerator$1$Current$1"]], ctors: { $ctor1: function (t) { this.$initialize(); this._q = t; this._version = this._q._version; this._index = -1; this._currentElement = Bridge.getDefaultValue(n) }, ctor: function () { this.$initialize() } }, methods: { dispose: function () { this._index = -2; this._currentElement = Bridge.getDefaultValue(n) }, moveNext: function () { if (this._version !== this._q._version) throw new System.InvalidOperationException("Collection was modified; enumeration operation may not execute."); return this._index === -2 ? !1 : (this._index = this._index + 1 | 0, this._index === this._q._size) ? (this._index = -2, this._currentElement = Bridge.getDefaultValue(n), !1) : (this._currentElement = this._q.getElement(this._index), !0) }, System$Collections$IEnumerator$reset: function () { if (this._version !== this._q._version) throw new System.InvalidOperationException("Collection was modified; enumeration operation may not execute."); this._index = -1; this._currentElement = Bridge.getDefaultValue(n) }, getHashCode: function () { return Bridge.addHash([3788985113, this._q, this._index, this._version, this._currentElement]) }, equals: function (t) { return Bridge.is(t, System.Collections.Generic.Queue$1.Enumerator(n)) ? Bridge.equals(this._q, t._q) && Bridge.equals(this._index, t._index) && Bridge.equals(this._version, t._version) && Bridge.equals(this._currentElement, t._currentElement) : !1 }, $clone: function (t) { var i = t || new (System.Collections.Generic.Queue$1.Enumerator(n)); return i._q = this._q, i._index = this._index, i._version = this._version, i._currentElement = this._currentElement, i } } } }); Bridge.define("System.Collections.Generic.Stack$1", function (n) { return { inherits: [System.Collections.Generic.IEnumerable$1(n), System.Collections.ICollection], statics: { fields: { DefaultCapacity: 0 }, ctors: { init: function () { this.DefaultCapacity = 4 } } }, fields: { _array: null, _size: 0, _version: 0 }, props: { Count: { get: function () { return this._size } }, IsReadOnly: { get: function () { return !1 } } }, alias: ["Count", "System$Collections$ICollection$Count", "copyTo", "System$Collections$ICollection$copyTo", "System$Collections$Generic$IEnumerable$1$getEnumerator", "System$Collections$Generic$IEnumerable$1$" + Bridge.getTypeAlias(n) + "$getEnumerator"], ctors: { ctor: function () { this.$initialize(); this._array = System.Array.init(0, function () { return Bridge.getDefaultValue(n) }, n) }, $ctor2: function (t) { if (this.$initialize(), t < 0) throw new System.ArgumentOutOfRangeException("capacity", "Non-negative number required."); this._array = System.Array.init(t, function () { return Bridge.getDefaultValue(n) }, n) }, $ctor1: function (t) { if (this.$initialize(), t == null) throw new System.ArgumentNullException("collection"); var i = {}; this._array = Bridge.Collections.EnumerableHelpers.toArray$1(n, t, i); this._size = i.v } }, methods: { clear: function () { System.Array.fill(this._array, Bridge.getDefaultValue(n), 0, this._size); this._size = 0; this._version = this._version + 1 | 0 }, contains: function (t) { for (var i = this._size, r = System.Collections.Generic.EqualityComparer$1(n).def; Bridge.identity(i, i = i - 1 | 0) > 0;)if (t == null) { if (this._array[System.Array.index(i, this._array)] == null) return !0 } else if (this._array[System.Array.index(i, this._array)] != null && r.equals2(this._array[System.Array.index(i, this._array)], t)) return !0; return !1 }, copyTo$1: function (n, t) { var i, u, r; if (n == null) throw new System.ArgumentNullException("array"); if (t < 0 || t > n.length) throw new System.ArgumentOutOfRangeException("arrayIndex", "Non-negative number required."); if ((n.length - t | 0) < this._size) throw new System.ArgumentException("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection."); if (Bridge.referenceEquals(n, this._array)) System.Array.copy(this._array, 0, n, t, this._size), System.Array.reverse(n, t, this._size); else for (i = 0, u = t + this._size | 0, r = 0; r < this._size; r = r + 1 | 0)n[System.Array.index(u = u - 1 | 0, n)] = this._array[System.Array.index(Bridge.identity(i, i = i + 1 | 0), this._array)] }, copyTo: function (n, t) { if (n == null) throw new System.ArgumentNullException("array"); if (System.Array.getRank(n) !== 1) throw new System.ArgumentException("Only single dimensional arrays are supported for the requested action."); if (System.Array.getLower(n, 0) !== 0) throw new System.ArgumentException("The lower bound of target array must be zero."); if (t < 0 || t > n.length) throw new System.ArgumentOutOfRangeException("arrayIndex", "Non-negative number required."); if ((n.length - t | 0) < this._size) throw new System.ArgumentException("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection."); try { System.Array.copy(this._array, 0, n, t, this._size); System.Array.reverse(n, t, this._size) } catch (i) { i = System.Exception.create(i); throw new System.ArgumentException("Target array type is not compatible with the type of items in the collection."); } }, getEnumerator: function () { return new (System.Collections.Generic.Stack$1.Enumerator(n).$ctor1)(this) }, System$Collections$Generic$IEnumerable$1$getEnumerator: function () { return new (System.Collections.Generic.Stack$1.Enumerator(n).$ctor1)(this).$clone() }, System$Collections$IEnumerable$getEnumerator: function () { return new (System.Collections.Generic.Stack$1.Enumerator(n).$ctor1)(this).$clone() }, trimExcess: function () { var i = Bridge.Int.clip32(this._array.length * .9), t; this._size < i && (t = { v: this._array }, System.Array.resize(t, this._size, Bridge.getDefaultValue(n)), this._array = t.v, this._version = this._version + 1 | 0) }, peek: function () { if (this._size === 0) throw new System.InvalidOperationException("Stack empty."); return this._array[System.Array.index(this._size - 1 | 0, this._array)] }, pop: function () { if (this._size === 0) throw new System.InvalidOperationException("Stack empty."); this._version = this._version + 1 | 0; var t = this._array[System.Array.index(this._size = this._size - 1 | 0, this._array)]; return this._array[System.Array.index(this._size, this._array)] = Bridge.getDefaultValue(n), t }, push: function (t) { if (this._size === this._array.length) { var i = { v: this._array }; System.Array.resize(i, this._array.length === 0 ? System.Collections.Generic.Stack$1(n).DefaultCapacity : Bridge.Int.mul(2, this._array.length), Bridge.getDefaultValue(n)); this._array = i.v } this._array[System.Array.index(Bridge.identity(this._size, this._size = this._size + 1 | 0), this._array)] = t; this._version = this._version + 1 | 0 }, toArray: function () { for (var i = System.Array.init(this._size, function () { return Bridge.getDefaultValue(n) }, n), t = 0; t < this._size;)i[System.Array.index(t, i)] = this._array[System.Array.index((this._size - t | 0) - 1 | 0, this._array)], t = t + 1 | 0; return i } } } }); Bridge.define("System.Collections.Generic.Stack$1.Enumerator", function (n) { return { inherits: [System.Collections.Generic.IEnumerator$1(n), System.Collections.IEnumerator], $kind: "struct", statics: { methods: { getDefaultValue: function () { return new (System.Collections.Generic.Stack$1.Enumerator(n)) } } }, fields: { _stack: null, _index: 0, _version: 0, _currentElement: Bridge.getDefaultValue(n) }, props: { Current: { get: function () { if (this._index === -2) throw new System.InvalidOperationException("Enumeration has not started. Call MoveNext."); if (this._index === -1) throw new System.InvalidOperationException("Enumeration already finished."); return this._currentElement } }, System$Collections$IEnumerator$Current: { get: function () { if (this._index === -2) throw new System.InvalidOperationException("Enumeration has not started. Call MoveNext."); if (this._index === -1) throw new System.InvalidOperationException("Enumeration already finished."); return this._currentElement } } }, alias: ["dispose", "System$IDisposable$dispose", "moveNext", "System$Collections$IEnumerator$moveNext", "Current", ["System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(n) + "$Current$1", "System$Collections$Generic$IEnumerator$1$Current$1"]], ctors: { $ctor1: function (t) { this.$initialize(); this._stack = t; this._version = this._stack._version; this._index = -2; this._currentElement = Bridge.getDefaultValue(n) }, ctor: function () { this.$initialize() } }, methods: { dispose: function () { this._index = -1 }, moveNext: function () { var i, r, t; if (this._version !== this._stack._version) throw new System.InvalidOperationException("Collection was modified; enumeration operation may not execute."); return this._index === -2 ? (this._index = this._stack._size - 1 | 0, t = this._index >= 0, t && (this._currentElement = (i = this._stack._array)[System.Array.index(this._index, i)]), t) : this._index === -1 ? !1 : (t = (this._index = this._index - 1 | 0) >= 0, this._currentElement = t ? (r = this._stack._array)[System.Array.index(this._index, r)] : Bridge.getDefaultValue(n), t) }, System$Collections$IEnumerator$reset: function () { if (this._version !== this._stack._version) throw new System.InvalidOperationException("Collection was modified; enumeration operation may not execute."); this._index = -2; this._currentElement = Bridge.getDefaultValue(n) }, getHashCode: function () { return Bridge.addHash([3788985113, this._stack, this._index, this._version, this._currentElement]) }, equals: function (t) { return Bridge.is(t, System.Collections.Generic.Stack$1.Enumerator(n)) ? Bridge.equals(this._stack, t._stack) && Bridge.equals(this._index, t._index) && Bridge.equals(this._version, t._version) && Bridge.equals(this._currentElement, t._currentElement) : !1 }, $clone: function (t) { var i = t || new (System.Collections.Generic.Stack$1.Enumerator(n)); return i._stack = this._stack, i._index = this._index, i._version = this._version, i._currentElement = this._currentElement, i } } } }); Bridge.define("System.Collections.HashHelpers", { statics: { fields: { HashPrime: 0, primes: null, MaxPrimeArrayLength: 0 }, ctors: { init: function () { this.HashPrime = 101; this.primes = System.Array.init([3, 7, 11, 17, 23, 29, 37, 47, 59, 71, 89, 107, 131, 163, 197, 239, 293, 353, 431, 521, 631, 761, 919, 1103, 1327, 1597, 1931, 2333, 2801, 3371, 4049, 4861, 5839, 7013, 8419, 10103, 12143, 14591, 17519, 21023, 25229, 30293, 36353, 43627, 52361, 62851, 75431, 90523, 108631, 130363, 156437, 187751, 225307, 270371, 324449, 389357, 467237, 560689, 672827, 807403, 968897, 1162687, 1395263, 1674319, 2009191, 2411033, 2893249, 3471899, 4166287, 4999559, 5999471, 7199369], System.Int32); this.MaxPrimeArrayLength = 2146435069 } }, methods: { isPrime: function (n) { var i, t; if ((n & 1) != 0) { for (i = Bridge.Int.clip32(Math.sqrt(n)), t = 3; t <= i; t = t + 2 | 0)if (n % t == 0) return !1; return !0 } return n === 2 }, getPrime: function (n) { var i, r, t; if (n < 0) throw new System.ArgumentException("Hashtable's capacity overflowed and went negative. Check load factor, capacity and the current size of the table."); for (i = 0; i < System.Collections.HashHelpers.primes.length; i = i + 1 | 0)if (r = System.Collections.HashHelpers.primes[System.Array.index(i, System.Collections.HashHelpers.primes)], r >= n) return r; for (t = n | 1; t < 2147483647; t = t + 2 | 0)if (System.Collections.HashHelpers.isPrime(t) && (t - 1 | 0) % System.Collections.HashHelpers.HashPrime != 0) return t; return n }, getMinPrime: function () { return System.Collections.HashHelpers.primes[System.Array.index(0, System.Collections.HashHelpers.primes)] }, expandPrime: function (n) { var t = Bridge.Int.mul(2, n); return t >>> 0 > System.Collections.HashHelpers.MaxPrimeArrayLength && System.Collections.HashHelpers.MaxPrimeArrayLength > n ? System.Collections.HashHelpers.MaxPrimeArrayLength : System.Collections.HashHelpers.getPrime(t) } } } }); Bridge.define("System.ComponentModel.BrowsableAttribute", { inherits: [System.Attribute], statics: { fields: { yes: null, no: null, "default": null }, ctors: { init: function () { this.yes = new System.ComponentModel.BrowsableAttribute(!0); this.no = new System.ComponentModel.BrowsableAttribute(!1); this.default = System.ComponentModel.BrowsableAttribute.yes } } }, fields: { browsable: !1 }, props: { Browsable: { get: function () { return this.browsable } } }, ctors: { init: function () { this.browsable = !0 }, ctor: function (n) { this.$initialize(); System.Attribute.ctor.call(this); this.browsable = n } }, methods: { equals: function (n) { if (Bridge.referenceEquals(n, this)) return !0; var t = Bridge.as(n, System.ComponentModel.BrowsableAttribute); return t != null && t.Browsable === this.browsable }, getHashCode: function () { return Bridge.getHashCode(this.browsable) } } }); Bridge.define("System.ComponentModel.DefaultValueAttribute", { inherits: [System.Attribute], fields: { value: null }, props: { Value: { get: function () { return this.value } } }, ctors: { ctor: function (n) { this.$initialize(); System.Attribute.ctor.call(this); this.value = n } }, methods: { equals: function (n) { if (Bridge.referenceEquals(n, this)) return !0; var t = Bridge.as(n, System.ComponentModel.DefaultValueAttribute); return t != null ? this.Value != null ? Bridge.equals(this.Value, t.Value) : t.Value == null : !1 }, getHashCode: function () { return Bridge.getHashCode(this) }, setValue: function (n) { this.value = n } } }); typeof define == "function" && define.amd ? define("bridge", [], function () { return Bridge }) : typeof module != "undefined" && module.exports && (module.exports = Bridge) })(this);/**
* @version : 16.6.1 - Bridge.NET
* @author : Object.NET, Inc. http://bridge.net/
* @copyright : Copyright 2008-2018 Object.NET, Inc. http://object.net/
* @license : See license.txt and https://github.com/bridgedotnet/Bridge/blob/master/LICENSE.md
*/
var $m = Bridge.setMetadata, $n = [System, System.Text.RegularExpressions, System.Collections, System.Collections.Generic, System.Collections.ObjectModel, System.Threading, System.Text, System.Globalization, System.Threading.Tasks, System.Net.WebSockets, System.IO, System.ComponentModel, System.Runtime.CompilerServices, Bridge.Utils]; $m($n[0].BitConverter, function () { return { att: 1048961, a: 2, s: !0, m: [{ a: 1, n: "CheckArguments", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }, { n: "size", pt: $n[0].Int32, ps: 2 }], sn: "checkArguments", rt: $n[0].Void, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { a: 1, n: "CreateLong", is: !0, t: 8, pi: [{ n: "low", pt: $n[0].Int32, ps: 0 }, { n: "high", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (low, high) { return System.Int64([low, high]) }, rt: $n[0].Int64, p: [$n[0].Int32, $n[0].Int32] }, { a: 1, n: "CreateULong", is: !0, t: 8, pi: [{ n: "low", pt: $n[0].Int32, ps: 0 }, { n: "high", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (low, high) { return System.UInt64([low, high]) }, rt: $n[0].UInt64, p: [$n[0].Int32, $n[0].Int32] }, { a: 2, n: "DoubleToInt64Bits", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], sn: "doubleToInt64Bits", rt: $n[0].Int64, p: [$n[0].Double] }, { a: 2, n: "GetBytes", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Boolean, ps: 0 }], sn: "getBytes", rt: $n[0].Array.type(System.Byte), p: [$n[0].Boolean] }, { a: 2, n: "GetBytes", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }], sn: "getBytes$1", rt: $n[0].Array.type(System.Byte), p: [$n[0].Char] }, { a: 2, n: "GetBytes", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], sn: "getBytes$2", rt: $n[0].Array.type(System.Byte), p: [$n[0].Double] }, { a: 2, n: "GetBytes", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int16, ps: 0 }], sn: "getBytes$3", rt: $n[0].Array.type(System.Byte), p: [$n[0].Int16] }, { a: 2, n: "GetBytes", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int32, ps: 0 }], sn: "getBytes$4", rt: $n[0].Array.type(System.Byte), p: [$n[0].Int32] }, { a: 2, n: "GetBytes", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "getBytes$5", rt: $n[0].Array.type(System.Byte), p: [$n[0].Int64] }, { a: 2, n: "GetBytes", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Single, ps: 0 }], sn: "getBytes$6", rt: $n[0].Array.type(System.Byte), p: [$n[0].Single] }, { a: 2, n: "GetBytes", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt16, ps: 0 }], sn: "getBytes$7", rt: $n[0].Array.type(System.Byte), p: [$n[0].UInt16] }, { a: 2, n: "GetBytes", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt32, ps: 0 }], sn: "getBytes$8", rt: $n[0].Array.type(System.Byte), p: [$n[0].UInt32] }, { a: 2, n: "GetBytes", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "getBytes$9", rt: $n[0].Array.type(System.Byte), p: [$n[0].UInt64] }, { a: 1, n: "GetHexValue", is: !0, t: 8, pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], sn: "getHexValue", rt: $n[0].Char, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } }, { a: 1, n: "GetIsLittleEndian", is: !0, t: 8, sn: "getIsLittleEndian", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "GetLongHigh", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], tpc: 0, def: function (value) { return value.value.high }, rt: $n[0].Int32, p: [$n[0].Int64], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "GetLongLow", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], tpc: 0, def: function (value) { return value.value.low }, rt: $n[0].Int32, p: [$n[0].Int64], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "GetView", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "getView", rt: DataView, p: [$n[0].Int64] }, { a: 1, n: "GetViewBytes", is: !0, t: 8, pi: [{ n: "view", pt: DataView, ps: 0 }, { n: "count", dv: -1, o: !0, pt: $n[0].Int32, ps: 1 }, { n: "startIndex", dv: 0, o: !0, pt: $n[0].Int32, ps: 2 }], sn: "getViewBytes", rt: $n[0].Array.type(System.Byte), p: [DataView, $n[0].Int32, $n[0].Int32] }, { a: 2, n: "Int64BitsToDouble", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "int64BitsToDouble", rt: $n[0].Double, p: [$n[0].Int64], box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { a: 1, n: "SetViewBytes", is: !0, t: 8, pi: [{ n: "view", pt: DataView, ps: 0 }, { n: "value", pt: $n[0].Array.type(System.Byte), ps: 1 }, { n: "count", dv: -1, o: !0, pt: $n[0].Int32, ps: 2 }, { n: "startIndex", dv: 0, o: !0, pt: $n[0].Int32, ps: 3 }], sn: "setViewBytes", rt: $n[0].Void, p: [DataView, $n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { a: 2, n: "ToBoolean", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], sn: "toBoolean", rt: $n[0].Boolean, p: [$n[0].Array.type(System.Byte), $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "ToChar", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], sn: "toChar", rt: $n[0].Char, p: [$n[0].Array.type(System.Byte), $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } }, { a: 2, n: "ToDouble", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], sn: "toDouble", rt: $n[0].Double, p: [$n[0].Array.type(System.Byte), $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { a: 2, n: "ToInt16", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], sn: "toInt16", rt: $n[0].Int16, p: [$n[0].Array.type(System.Byte), $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int16) } }, { a: 2, n: "ToInt32", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], sn: "toInt32", rt: $n[0].Int32, p: [$n[0].Array.type(System.Byte), $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "ToInt64", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], sn: "toInt64", rt: $n[0].Int64, p: [$n[0].Array.type(System.Byte), $n[0].Int32] }, { a: 2, n: "ToSingle", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], sn: "toSingle", rt: $n[0].Single, p: [$n[0].Array.type(System.Byte), $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Single, System.Single.format, System.Single.getHashCode) } }, { a: 2, n: "ToString", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Array.type(System.Byte), ps: 0 }], sn: "toString", rt: $n[0].String, p: [$n[0].Array.type(System.Byte)] }, { a: 2, n: "ToString", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], sn: "toString$1", rt: $n[0].String, p: [$n[0].Array.type(System.Byte), $n[0].Int32] }, { a: 2, n: "ToString", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }, { n: "length", pt: $n[0].Int32, ps: 2 }], sn: "toString$2", rt: $n[0].String, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { a: 2, n: "ToUInt16", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], sn: "toUInt16", rt: $n[0].UInt16, p: [$n[0].Array.type(System.Byte), $n[0].Int32], box: function ($v) { return Bridge.box($v, System.UInt16) } }, { a: 2, n: "ToUInt32", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], sn: "toUInt32", rt: $n[0].UInt32, p: [$n[0].Array.type(System.Byte), $n[0].Int32], box: function ($v) { return Bridge.box($v, System.UInt32) } }, { a: 2, n: "ToUInt64", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], sn: "toUInt64", rt: $n[0].UInt64, p: [$n[0].Array.type(System.Byte), $n[0].Int32] }, { a: 1, n: "View", is: !0, t: 8, pi: [{ n: "length", pt: $n[0].Int32, ps: 0 }], sn: "view", rt: DataView, p: [$n[0].Int32] }, { a: 1, n: "Arg_ArrayPlusOffTooSmall", is: !0, t: 4, rt: $n[0].String, sn: "arg_ArrayPlusOffTooSmall" }, { a: 2, n: "IsLittleEndian", is: !0, t: 4, rt: $n[0].Boolean, sn: "isLittleEndian", ro: !0, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }] } }); $m($n[0].IAsyncResult, function () { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "AsyncState", t: 16, rt: $n[0].Object, g: { ab: !0, a: 2, n: "get_AsyncState", t: 8, rt: $n[0].Object, fg: "System$IAsyncResult$AsyncState" }, fn: "System$IAsyncResult$AsyncState" }, { ab: !0, a: 2, n: "CompletedSynchronously", t: 16, rt: $n[0].Boolean, g: { ab: !0, a: 2, n: "get_CompletedSynchronously", t: 8, rt: $n[0].Boolean, fg: "System$IAsyncResult$CompletedSynchronously", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "System$IAsyncResult$CompletedSynchronously" }, { ab: !0, a: 2, n: "IsCompleted", t: 16, rt: $n[0].Boolean, g: { ab: !0, a: 2, n: "get_IsCompleted", t: 8, rt: $n[0].Boolean, fg: "System$IAsyncResult$IsCompleted", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "System$IAsyncResult$IsCompleted" }] } }); $m($n[0].DateTimeKind, function () { return { att: 8449, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "Local", is: !0, t: 4, rt: $n[0].DateTimeKind, sn: "Local", box: function ($v) { return Bridge.box($v, System.DateTimeKind, System.Enum.toStringFn(System.DateTimeKind)) } }, { a: 2, n: "Unspecified", is: !0, t: 4, rt: $n[0].DateTimeKind, sn: "Unspecified", box: function ($v) { return Bridge.box($v, System.DateTimeKind, System.Enum.toStringFn(System.DateTimeKind)) } }, { a: 2, n: "Utc", is: !0, t: 4, rt: $n[0].DateTimeKind, sn: "Utc", box: function ($v) { return Bridge.box($v, System.DateTimeKind, System.Enum.toStringFn(System.DateTimeKind)) } }] } }); $m($n[0].FormattableString, function () { return { att: 1048705, a: 2, m: [{ a: 3, n: ".ctor", t: 1, sn: "ctor" }, { ab: !0, a: 2, n: "GetArgument", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], sn: "getArgument", rt: $n[0].Object, p: [$n[0].Int32] }, { ab: !0, a: 2, n: "GetArguments", t: 8, sn: "getArguments", rt: $n[0].Array.type(System.Object) }, { a: 2, n: "Invariant", is: !0, t: 8, pi: [{ n: "formattable", pt: $n[0].FormattableString, ps: 0 }], sn: "invariant", rt: $n[0].String, p: [$n[0].FormattableString] }, { ov: !0, a: 2, n: "ToString", t: 8, sn: "toString", rt: $n[0].String }, { ab: !0, a: 2, n: "ToString", t: 8, pi: [{ n: "formatProvider", pt: $n[0].IFormatProvider, ps: 0 }], sn: "toString$1", rt: $n[0].String, p: [$n[0].IFormatProvider] }, { ab: !0, a: 2, n: "ArgumentCount", t: 16, rt: $n[0].Int32, g: { ab: !0, a: 2, n: "get_ArgumentCount", t: 8, rt: $n[0].Int32, fg: "ArgumentCount", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "ArgumentCount" }, { ab: !0, a: 2, n: "Format", t: 16, rt: $n[0].String, g: { ab: !0, a: 2, n: "get_Format", t: 8, rt: $n[0].String, fg: "Format" }, fn: "Format" }] } }); $m($n[0].FormattableStringImpl, function () { return { att: 1048576, a: 4, m: [{ a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Array.type(System.Object)], pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "args", ip: !0, pt: $n[0].Array.type(System.Object), ps: 1 }], sn: "ctor" }, { ov: !0, a: 2, n: "GetArgument", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], sn: "getArgument", rt: $n[0].Object, p: [$n[0].Int32] }, { ov: !0, a: 2, n: "GetArguments", t: 8, sn: "getArguments", rt: $n[0].Array.type(System.Object) }, { ov: !0, a: 2, n: "ToString", t: 8, pi: [{ n: "formatProvider", pt: $n[0].IFormatProvider, ps: 0 }], sn: "toString$1", rt: $n[0].String, p: [$n[0].IFormatProvider] }, { ov: !0, a: 2, n: "ArgumentCount", t: 16, rt: $n[0].Int32, g: { ov: !0, a: 2, n: "get_ArgumentCount", t: 8, rt: $n[0].Int32, fg: "ArgumentCount", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "ArgumentCount" }, { ov: !0, a: 2, n: "Format", t: 16, rt: $n[0].String, g: { ov: !0, a: 2, n: "get_Format", t: 8, rt: $n[0].String, fg: "Format" }, fn: "Format" }, { a: 1, n: "args", t: 4, rt: $n[0].Array.type(System.Object), sn: "args" }, { a: 1, n: "format", t: 4, rt: $n[0].String, sn: "format" }] } }); $m($n[0].Guid, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Array.type(System.Byte)], pi: [{ n: "b", pt: $n[0].Array.type(System.Byte), ps: 0 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "uuid", pt: $n[0].String, ps: 0 }], sn: "$ctor4" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Int16, $n[0].Int16, $n[0].Array.type(System.Byte)], pi: [{ n: "a", pt: $n[0].Int32, ps: 0 }, { n: "b", pt: $n[0].Int16, ps: 1 }, { n: "c", pt: $n[0].Int16, ps: 2 }, { n: "d", pt: $n[0].Array.type(System.Byte), ps: 3 }], sn: "$ctor3" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Int16, $n[0].Int16, $n[0].Byte, $n[0].Byte, $n[0].Byte, $n[0].Byte, $n[0].Byte, $n[0].Byte, $n[0].Byte, $n[0].Byte], pi: [{ n: "a", pt: $n[0].Int32, ps: 0 }, { n: "b", pt: $n[0].Int16, ps: 1 }, { n: "c", pt: $n[0].Int16, ps: 2 }, { n: "d", pt: $n[0].Byte, ps: 3 }, { n: "e", pt: $n[0].Byte, ps: 4 }, { n: "f", pt: $n[0].Byte, ps: 5 }, { n: "g", pt: $n[0].Byte, ps: 6 }, { n: "h", pt: $n[0].Byte, ps: 7 }, { n: "i", pt: $n[0].Byte, ps: 8 }, { n: "j", pt: $n[0].Byte, ps: 9 }, { n: "k", pt: $n[0].Byte, ps: 10 }], sn: "$ctor2" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].UInt32, $n[0].UInt16, $n[0].UInt16, $n[0].Byte, $n[0].Byte, $n[0].Byte, $n[0].Byte, $n[0].Byte, $n[0].Byte, $n[0].Byte, $n[0].Byte], pi: [{ n: "a", pt: $n[0].UInt32, ps: 0 }, { n: "b", pt: $n[0].UInt16, ps: 1 }, { n: "c", pt: $n[0].UInt16, ps: 2 }, { n: "d", pt: $n[0].Byte, ps: 3 }, { n: "e", pt: $n[0].Byte, ps: 4 }, { n: "f", pt: $n[0].Byte, ps: 5 }, { n: "g", pt: $n[0].Byte, ps: 6 }, { n: "h", pt: $n[0].Byte, ps: 7 }, { n: "i", pt: $n[0].Byte, ps: 8 }, { n: "j", pt: $n[0].Byte, ps: 9 }, { n: "k", pt: $n[0].Byte, ps: 10 }], sn: "$ctor5" }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "value", pt: $n[0].Guid, ps: 0 }], sn: "compareTo", rt: $n[0].Int32, p: [$n[0].Guid], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "o", pt: $n[0].Guid, ps: 0 }], sn: "equalsT", rt: $n[0].Boolean, p: [$n[0].Guid], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "o", pt: $n[0].Object, ps: 0 }], sn: "equals", rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], sn: "format$1", rt: $n[0].String, p: [$n[0].String] }, { a: 1, n: "FromString", t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], sn: "fromString", rt: $n[0].Void, p: [$n[0].String] }, { ov: !0, a: 2, n: "GetHashCode", t: 8, sn: "getHashCode", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "MakeBinary", is: !0, t: 8, pi: [{ n: "x", pt: $n[0].Byte, ps: 0 }], sn: "makeBinary", rt: $n[0].String, p: [$n[0].Byte] }, { a: 2, n: "NewGuid", is: !0, t: 8, sn: "newGuid", rt: $n[0].Guid }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }], sn: "parse", rt: $n[0].Guid, p: [$n[0].String] }, { a: 2, n: "ParseExact", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "format", pt: $n[0].String, ps: 1 }], sn: "parseExact", rt: $n[0].Guid, p: [$n[0].String, $n[0].String] }, { a: 1, n: "ParseInternal", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "format", pt: $n[0].String, ps: 1 }, { n: "check", pt: $n[0].Boolean, ps: 2 }], sn: "parseInternal", rt: $n[0].Boolean, p: [$n[0].String, $n[0].String, $n[0].Boolean], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "ToByteArray", t: 8, sn: "toByteArray", rt: $n[0].Array.type(System.Byte) }, { ov: !0, a: 2, n: "ToString", t: 8, sn: "toString", rt: $n[0].String }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], sn: "toString$1", rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "formatProvider", pt: $n[0].IFormatProvider, ps: 1 }], sn: "format", rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].Guid, ps: 1 }], sn: "tryParse", rt: $n[0].Boolean, p: [$n[0].String, $n[0].Guid], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "TryParseExact", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "format", pt: $n[0].String, ps: 1 }, { n: "result", out: !0, pt: $n[0].Guid, ps: 2 }], sn: "tryParseExact", rt: $n[0].Boolean, p: [$n[0].String, $n[0].String, $n[0].Guid], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Equality", is: !0, t: 8, pi: [{ n: "a", pt: $n[0].Guid, ps: 0 }, { n: "b", pt: $n[0].Guid, ps: 1 }], sn: "op_Equality", rt: $n[0].Boolean, p: [$n[0].Guid, $n[0].Guid], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Inequality", is: !0, t: 8, pi: [{ n: "a", pt: $n[0].Guid, ps: 0 }, { n: "b", pt: $n[0].Guid, ps: 1 }], sn: "op_Inequality", rt: $n[0].Boolean, p: [$n[0].Guid, $n[0].Guid], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "toJSON", t: 8, sn: "toJSON", rt: $n[0].String }, { a: 2, n: "Empty", is: !0, t: 4, rt: $n[0].Guid, sn: "empty", ro: !0 }, { a: 1, n: "NonFormat", is: !0, t: 4, rt: $n[1].Regex, sn: "nonFormat", ro: !0 }, { a: 1, n: "Replace", is: !0, t: 4, rt: $n[1].Regex, sn: "replace", ro: !0 }, { a: 1, n: "Rnd", is: !0, t: 4, rt: $n[0].Random, sn: "rnd", ro: !0 }, { a: 1, n: "Split", is: !0, t: 4, rt: $n[1].Regex, sn: "split", ro: !0 }, { a: 1, n: "Valid", is: !0, t: 4, rt: $n[1].Regex, sn: "valid", ro: !0 }, { a: 1, n: "_a", t: 4, rt: $n[0].Int32, sn: "_a", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_b", t: 4, rt: $n[0].Int16, sn: "_b", box: function ($v) { return Bridge.box($v, System.Int16) } }, { a: 1, n: "_c", t: 4, rt: $n[0].Int16, sn: "_c", box: function ($v) { return Bridge.box($v, System.Int16) } }, { a: 1, n: "_d", t: 4, rt: $n[0].Byte, sn: "_d", box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 1, n: "_e", t: 4, rt: $n[0].Byte, sn: "_e", box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 1, n: "_f", t: 4, rt: $n[0].Byte, sn: "_f", box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 1, n: "_g", t: 4, rt: $n[0].Byte, sn: "_g", box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 1, n: "_h", t: 4, rt: $n[0].Byte, sn: "_h", box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 1, n: "_i", t: 4, rt: $n[0].Byte, sn: "_i", box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 1, n: "_j", t: 4, rt: $n[0].Byte, sn: "_j", box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 1, n: "_k", t: 4, rt: $n[0].Byte, sn: "_k", box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 1, n: "error1", is: !0, t: 4, rt: $n[0].String, sn: "error1" }] } }); $m($n[0].Random, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "seed", pt: $n[0].Int32, ps: 0 }], sn: "$ctor1" }, { a: 1, n: "GetSampleForLargeRange", t: 8, sn: "getSampleForLargeRange", rt: $n[0].Double, box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { a: 1, n: "InternalSample", t: 8, sn: "internalSample", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "Next", t: 8, sn: "next", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "Next", t: 8, pi: [{ n: "maxValue", pt: $n[0].Int32, ps: 0 }], sn: "next$1", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "Next", t: 8, pi: [{ n: "minValue", pt: $n[0].Int32, ps: 0 }, { n: "maxValue", pt: $n[0].Int32, ps: 1 }], sn: "next$2", rt: $n[0].Int32, p: [$n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "NextBytes", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }], sn: "nextBytes", rt: $n[0].Void, p: [$n[0].Array.type(System.Byte)] }, { v: !0, a: 2, n: "NextDouble", t: 8, sn: "nextDouble", rt: $n[0].Double, box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { v: !0, a: 3, n: "Sample", t: 8, sn: "sample", rt: $n[0].Double, box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { a: 1, n: "MBIG", is: !0, t: 4, rt: $n[0].Int32, sn: "MBIG", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "MSEED", is: !0, t: 4, rt: $n[0].Int32, sn: "MSEED", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "MZ", is: !0, t: 4, rt: $n[0].Int32, sn: "MZ", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "SeedArray", t: 4, rt: $n[0].Array.type(System.Int32), sn: "seedArray" }, { a: 1, n: "inext", t: 4, rt: $n[0].Int32, sn: "inext", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "inextp", t: 4, rt: $n[0].Int32, sn: "inextp", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[0].IndexOutOfRangeException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], sn: "ctor" }] } }); $m($n[0].ArgumentNullException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "paramName", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], def: function (message, innerException) { return new System.ArgumentNullException(null, message, innerException) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].String], pi: [{ n: "paramName", pt: $n[0].String, ps: 0 }, { n: "message", pt: $n[0].String, ps: 1 }], sn: "ctor" }] } }); $m($n[0].ArgumentException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], def: function (message, innerException) { return new System.ArgumentException(message, null, innerException) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "paramName", pt: $n[0].String, ps: 1 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "paramName", pt: $n[0].String, ps: 1 }, { n: "innerException", pt: $n[0].Exception, ps: 2 }], sn: "ctor" }, { a: 2, n: "ParamName", t: 16, rt: $n[0].String, g: { a: 2, n: "get_ParamName", t: 8, rt: $n[0].String, fg: "ParamName" }, fn: "ParamName" }] } }); $m($n[0].ArithmeticException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], sn: "ctor" }] } }); $m($n[0].Console, function () { return { att: 1048833, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "Clear", is: !0, t: 8, sn: "Clear", rt: $n[0].Void }, { a: 2, n: "Read", is: !0, t: 8, tpc: 0, def: function () { return prompt() }, rt: $n[0].String }, { a: 2, n: "ReadLine", is: !0, t: 8, tpc: 0, def: function () { return prompt() }, rt: $n[0].String }, { a: 2, n: "ReadLine", is: !0, t: 8, pi: [{ n: "text", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (text) { return prompt(text) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ReadLine", is: !0, t: 8, pi: [{ n: "text", pt: $n[0].String, ps: 0 }, { n: "value", pt: $n[0].String, ps: 1 }], tpc: 0, def: function (text, value) { return prompt(text, value) }, rt: $n[0].String, p: [$n[0].String, $n[0].String] }, { a: 1, n: "TransformChars", is: !0, t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "all", pt: $n[0].Int32, ps: 1 }, { n: "index", pt: $n[0].Int32, ps: 2 }, { n: "count", pt: $n[0].Int32, ps: 3 }], sn: "TransformChars", rt: $n[0].String, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32, $n[0].Int32] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Boolean, ps: 0 }], tpc: 0, def: function (value) { return System.Console.Write(System.Boolean.toString(value)) }, rt: $n[0].Void, p: [$n[0].Boolean] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }], tpc: 0, def: function (value) { return System.Console.Write(String.fromCharCode(value)) }, rt: $n[0].Void, p: [$n[0].Char] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }], tpc: 0, def: function (buffer) { return System.Console.Write(System.Console.TransformChars(buffer, 1)) }, rt: $n[0].Void, p: [$n[0].Array.type(System.Char)] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (value) { return System.Console.Write(value.toString("G")) }, rt: $n[0].Void, p: [$n[0].Decimal] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], tpc: 0, def: function (value) { return System.Console.Write(System.Double.format(value)) }, rt: $n[0].Void, p: [$n[0].Double] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int32, ps: 0 }], sn: "Write", rt: $n[0].Void, p: [$n[0].Int32] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "Write", rt: $n[0].Void, p: [$n[0].Int64] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Object, ps: 0 }], sn: "Write", rt: $n[0].Void, p: [$n[0].Object] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Single, ps: 0 }], sn: "Write", rt: $n[0].Void, p: [$n[0].Single] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], sn: "Write", rt: $n[0].Void, p: [$n[0].String] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt32, ps: 0 }], sn: "Write", rt: $n[0].Void, p: [$n[0].UInt32] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "Write", rt: $n[0].Void, p: [$n[0].UInt64] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }], tpc: 0, def: function (format, arg0) { return System.Console.Write(System.String.format(format, arg0)) }, rt: $n[0].Void, p: [$n[0].String, $n[0].Object] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg", ip: !0, pt: $n[0].Array.type(System.Object), ps: 1 }], tpc: 0, def: function (format, arg) { return System.Console.Write(System.String.format(format, arg)) }, rt: $n[0].Void, p: [$n[0].String, $n[0].Array.type(System.Object)] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], tpc: 0, def: function (buffer, index, count) { return System.Console.Write(System.Console.TransformChars(buffer, 0, index, count)) }, rt: $n[0].Void, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }, { n: "arg1", pt: $n[0].Object, ps: 2 }], tpc: 0, def: function (format, arg0, arg1) { return System.Console.Write(System.String.format(format, arg0, arg1)) }, rt: $n[0].Void, p: [$n[0].String, $n[0].Object, $n[0].Object] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }, { n: "arg1", pt: $n[0].Object, ps: 2 }, { n: "arg2", pt: $n[0].Object, ps: 3 }], tpc: 0, def: function (format, arg0, arg1, arg2) { return System.Console.Write(System.String.format(format, arg0, arg1, arg2)) }, rt: $n[0].Void, p: [$n[0].String, $n[0].Object, $n[0].Object, $n[0].Object] }, { a: 2, n: "Write", is: !0, t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }, { n: "arg1", pt: $n[0].Object, ps: 2 }, { n: "arg2", pt: $n[0].Object, ps: 3 }, { n: "arg3", pt: $n[0].Object, ps: 4 }], tpc: 0, def: function (format, arg0, arg1, arg2, arg3) { return System.Console.Write(System.String.format(format, [arg0, arg1, arg2, arg3])) }, rt: $n[0].Void, p: [$n[0].String, $n[0].Object, $n[0].Object, $n[0].Object, $n[0].Object] }, { a: 2, n: "WriteLine", is: !0, t: 8, sn: "WriteLine", rt: $n[0].Void }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Boolean, ps: 0 }], tpc: 0, def: function (value) { return System.Console.WriteLine(System.Boolean.toString(value)) }, rt: $n[0].Void, p: [$n[0].Boolean] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }], tpc: 0, def: function (value) { return System.Console.WriteLine(String.fromCharCode(value)) }, rt: $n[0].Void, p: [$n[0].Char] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }], tpc: 0, def: function (buffer) { return System.Console.WriteLine(System.Console.TransformChars(buffer, 1)) }, rt: $n[0].Void, p: [$n[0].Array.type(System.Char)] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (value) { return System.Console.WriteLine(value.toString("G")) }, rt: $n[0].Void, p: [$n[0].Decimal] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], tpc: 0, def: function (value) { return System.Console.WriteLine(System.Double.format(value)) }, rt: $n[0].Void, p: [$n[0].Double] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int32, ps: 0 }], sn: "WriteLine", rt: $n[0].Void, p: [$n[0].Int32] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "WriteLine", rt: $n[0].Void, p: [$n[0].Int64] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Nullable$1(System.Decimal), ps: 0 }], tpc: 0, def: function (value) { return System.Console.WriteLine(value && value.toString("G")) }, rt: $n[0].Void, p: [$n[0].Nullable$1(System.Decimal)] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Object, ps: 0 }], sn: "WriteLine", rt: $n[0].Void, p: [$n[0].Object] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Single, ps: 0 }], tpc: 0, def: function (value) { return System.Console.WriteLine(System.Single.format(value)) }, rt: $n[0].Void, p: [$n[0].Single] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], sn: "WriteLine", rt: $n[0].Void, p: [$n[0].String] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "value", pt: Function, ps: 0 }], tpc: 0, def: function (value) { return System.Console.WriteLine(Bridge.getTypeName(value)) }, rt: $n[0].Void, p: [Function] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt32, ps: 0 }], sn: "WriteLine", rt: $n[0].Void, p: [$n[0].UInt32] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "WriteLine", rt: $n[0].Void, p: [$n[0].UInt64] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }], tpc: 0, def: function (format, arg0) { return System.Console.WriteLine(System.String.format(format, arg0)) }, rt: $n[0].Void, p: [$n[0].String, $n[0].Object] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg", ip: !0, pt: $n[0].Array.type(System.Object), ps: 1 }], tpc: 0, def: function (format, arg) { return System.Console.WriteLine(System.String.format(format, arg)) }, rt: $n[0].Void, p: [$n[0].String, $n[0].Array.type(System.Object)] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], tpc: 0, def: function (buffer, index, count) { return System.Console.WriteLine(System.Console.TransformChars(buffer, 0, index, count)) }, rt: $n[0].Void, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }, { n: "arg1", pt: $n[0].Object, ps: 2 }], tpc: 0, def: function (format, arg0, arg1) { return System.Console.WriteLine(System.String.format(format, arg0, arg1)) }, rt: $n[0].Void, p: [$n[0].String, $n[0].Object, $n[0].Object] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }, { n: "arg1", pt: $n[0].Object, ps: 2 }, { n: "arg2", pt: $n[0].Object, ps: 3 }], tpc: 0, def: function (format, arg0, arg1, arg2) { return System.Console.WriteLine(System.String.format(format, arg0, arg1, arg2)) }, rt: $n[0].Void, p: [$n[0].String, $n[0].Object, $n[0].Object, $n[0].Object] }, { a: 2, n: "WriteLine", is: !0, t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }, { n: "arg1", pt: $n[0].Object, ps: 2 }, { n: "arg2", pt: $n[0].Object, ps: 3 }, { n: "arg3", pt: $n[0].Object, ps: 4 }], tpc: 0, def: function (format, arg0, arg1, arg2, arg3) { return System.Console.WriteLine(System.String.format(format, [arg0, arg1, arg2, arg3])) }, rt: $n[0].Void, p: [$n[0].String, $n[0].Object, $n[0].Object, $n[0].Object, $n[0].Object] }] } }); $m($n[0].ArraySegment, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [System.Array.type(System.Object)], pi: [{ n: "array", pt: System.Array.type(System.Object), ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [System.Array.type(System.Object), $n[0].Int32, $n[0].Int32], pi: [{ n: "array", pt: System.Array.type(System.Object), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "ctor" }, { a: 2, n: "Array", t: 16, rt: System.Array.type(System.Object), g: { a: 2, n: "get_Array", t: 8, tpc: 0, def: function () { return this.getArray() }, rt: System.Array.type(System.Object) } }, { a: 2, n: "Count", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Count", t: 8, tpc: 0, def: function () { return this.getCount() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "Offset", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Offset", t: 8, tpc: 0, def: function () { return this.getOffset() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }] } }); $m($n[0].Enum, function () { return { att: 1048705, a: 2, m: [{ a: 3, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "target", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (target) { return Bridge.compare(this, target) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (other) { return System.Enum.equals(this, other, Bridge.getType(this)) }, rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Format", is: !0, t: 8, pi: [{ n: "enumType", pt: Function, ps: 0 }, { n: "value", pt: $n[0].Object, ps: 1 }, { n: "format", pt: $n[0].String, ps: 2 }], sn: "format", rt: $n[0].String, p: [Function, $n[0].Object, $n[0].String] }, { a: 2, n: "GetName", is: !0, t: 8, pi: [{ n: "enumType", pt: Function, ps: 0 }, { n: "value", pt: $n[0].Object, ps: 1 }], sn: "getName", rt: $n[0].String, p: [Function, $n[0].Object] }, { a: 2, n: "GetNames", is: !0, t: 8, pi: [{ n: "enumType", pt: Function, ps: 0 }], sn: "getNames", rt: $n[0].Array.type(System.String), p: [Function] }, { a: 2, n: "GetValues", is: !0, t: 8, pi: [{ n: "enumType", pt: Function, ps: 0 }], sn: "getValues", rt: Array, p: [Function] }, { a: 2, n: "HasFlag", t: 8, pi: [{ n: "flag", pt: $n[0].Enum, ps: 0 }], tpc: 0, def: function (flag) { return System.Enum.hasFlag(this, flag) }, rt: $n[0].Boolean, p: [$n[0].Enum], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsDefined", is: !0, t: 8, pi: [{ n: "enumType", pt: Function, ps: 0 }, { n: "value", pt: $n[0].Object, ps: 1 }], sn: "isDefined", rt: $n[0].Boolean, p: [Function, $n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "enumType", pt: Function, ps: 0 }, { n: "value", pt: $n[0].String, ps: 1 }], sn: "parse", rt: $n[0].Object, p: [Function, $n[0].String] }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "enumType", pt: Function, ps: 0 }, { n: "value", pt: $n[0].String, ps: 1 }, { n: "ignoreCase", pt: $n[0].Boolean, ps: 2 }], sn: "parse", rt: $n[0].Object, p: [Function, $n[0].String, $n[0].Boolean] }, { ov: !0, a: 2, n: "ToString", t: 8, tpc: 0, def: function () { return System.Enum.toString(Bridge.getType(this), this) }, rt: $n[0].String }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.Enum.format(Bridge.getType(this), this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "formatProvider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format) { return System.Enum.format(Bridge.getType(this), this, format) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "ToString", is: !0, t: 8, pi: [{ n: "enumType", pt: Function, ps: 0 }, { n: "value", pt: $n[0].Enum, ps: 1 }], sn: "toString", rt: $n[0].String, p: [Function, $n[0].Enum] }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: System.Object, ps: 1 }], tpc: 1, def: function (TEnum, value, result) { return System.Enum.tryParse(TEnum, value, result) }, rt: $n[0].Boolean, p: [$n[0].String, System.Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }, { n: "ignoreCase", pt: $n[0].Boolean, ps: 1 }, { n: "result", out: !0, pt: System.Object, ps: 2 }], tpc: 1, def: function (TEnum, value, ignoreCase, result) { return System.Enum.tryParse(TEnum, value, result, ignoreCase) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Boolean, System.Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }] } }); $m($n[0].Environment, function () { return { att: 385, a: 2, s: !0, m: [{ n: ".cctor", t: 1, sn: "ctor", sm: !0 }, { a: 2, n: "Exit", is: !0, t: 8, pi: [{ n: "exitCode", pt: $n[0].Int32, ps: 0 }], sn: "exit", rt: $n[0].Void, p: [$n[0].Int32] }, { a: 2, n: "ExpandEnvironmentVariables", is: !0, t: 8, pi: [{ n: "name", pt: $n[0].String, ps: 0 }], sn: "expandEnvironmentVariables", rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "FailFast", is: !0, t: 8, pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "failFast", rt: $n[0].Void, p: [$n[0].String] }, { a: 2, n: "FailFast", is: !0, t: 8, pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "exception", pt: $n[0].Exception, ps: 1 }], sn: "failFast$1", rt: $n[0].Void, p: [$n[0].String, $n[0].Exception] }, { a: 2, n: "GetCommandLineArgs", is: !0, t: 8, sn: "getCommandLineArgs", rt: $n[0].Array.type(System.String) }, { a: 2, n: "GetEnvironmentVariable", is: !0, t: 8, pi: [{ n: "variable", pt: $n[0].String, ps: 0 }], sn: "getEnvironmentVariable", rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "GetEnvironmentVariable", is: !0, t: 8, pi: [{ n: "variable", pt: $n[0].String, ps: 0 }, { n: "target", pt: $n[0].EnvironmentVariableTarget, ps: 1 }], sn: "getEnvironmentVariable$1", rt: $n[0].String, p: [$n[0].String, $n[0].EnvironmentVariableTarget] }, { a: 2, n: "GetEnvironmentVariables", is: !0, t: 8, sn: "getEnvironmentVariables", rt: $n[2].IDictionary }, { a: 2, n: "GetEnvironmentVariables", is: !0, t: 8, pi: [{ n: "target", pt: $n[0].EnvironmentVariableTarget, ps: 0 }], sn: "getEnvironmentVariables$1", rt: $n[2].IDictionary, p: [$n[0].EnvironmentVariableTarget] }, { a: 2, n: "GetFolderPath", is: !0, t: 8, pi: [{ n: "folder", pt: $n[0].Environment.SpecialFolder, ps: 0 }], tpc: 0, def: function () { return "" }, rt: $n[0].String, p: [$n[0].Environment.SpecialFolder] }, { a: 2, n: "GetFolderPath", is: !0, t: 8, pi: [{ n: "folder", pt: $n[0].Environment.SpecialFolder, ps: 0 }, { n: "option", pt: $n[0].Environment.SpecialFolderOption, ps: 1 }], tpc: 0, def: function () { return "" }, rt: $n[0].String, p: [$n[0].Environment.SpecialFolder, $n[0].Environment.SpecialFolderOption] }, { a: 2, n: "GetLogicalDrives", is: !0, t: 8, sn: "getLogicalDrives", rt: $n[0].Array.type(System.String) }, { a: 1, n: "PatchDictionary", is: !0, t: 8, pi: [{ n: "d", pt: $n[3].Dictionary$2(System.String, System.String), ps: 0 }], sn: "patchDictionary", rt: $n[3].Dictionary$2(System.String, System.String), p: [$n[3].Dictionary$2(System.String, System.String)] }, { a: 2, n: "SetEnvironmentVariable", is: !0, t: 8, pi: [{ n: "variable", pt: $n[0].String, ps: 0 }, { n: "value", pt: $n[0].String, ps: 1 }], sn: "setEnvironmentVariable", rt: $n[0].Void, p: [$n[0].String, $n[0].String] }, { a: 2, n: "SetEnvironmentVariable", is: !0, t: 8, pi: [{ n: "variable", pt: $n[0].String, ps: 0 }, { n: "value", pt: $n[0].String, ps: 1 }, { n: "target", pt: $n[0].EnvironmentVariableTarget, ps: 2 }], sn: "setEnvironmentVariable$1", rt: $n[0].Void, p: [$n[0].String, $n[0].String, $n[0].EnvironmentVariableTarget] }, { a: 2, n: "CommandLine", is: !0, t: 16, rt: $n[0].String, g: { a: 2, n: "get_CommandLine", t: 8, rt: $n[0].String, fg: "CommandLine", is: !0 }, fn: "CommandLine" }, { a: 2, n: "CurrentDirectory", is: !0, t: 16, rt: $n[0].String, g: { a: 2, n: "get_CurrentDirectory", t: 8, rt: $n[0].String, fg: "CurrentDirectory", is: !0 }, s: { a: 2, n: "set_CurrentDirectory", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "CurrentDirectory", is: !0 }, fn: "CurrentDirectory" }, { a: 2, n: "CurrentManagedThreadId", is: !0, t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_CurrentManagedThreadId", is: !0, t: 8, tpc: 0, def: function () { return 0 }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "ExitCode", is: !0, t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_ExitCode", t: 8, rt: $n[0].Int32, fg: "ExitCode", is: !0, box: function ($v) { return Bridge.box($v, System.Int32) } }, s: { a: 2, n: "set_ExitCode", t: 8, p: [$n[0].Int32], rt: $n[0].Void, fs: "ExitCode", is: !0 }, fn: "ExitCode" }, { a: 1, n: "Global", is: !0, t: 16, rt: System.Object, g: { a: 1, n: "get_Global", is: !0, t: 8, tpc: 0, def: function () { return Bridge.global }, rt: System.Object } }, { a: 2, n: "HasShutdownStarted", is: !0, t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_HasShutdownStarted", is: !0, t: 8, tpc: 0, def: function () { return !1 }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 2, n: "Is64BitOperatingSystem", is: !0, t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_Is64BitOperatingSystem", t: 8, rt: $n[0].Boolean, fg: "Is64BitOperatingSystem", is: !0, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "Is64BitOperatingSystem" }, { a: 2, n: "Is64BitProcess", is: !0, t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_Is64BitProcess", is: !0, t: 8, tpc: 0, def: function () { return !1 }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 1, n: "Location", is: !0, t: 16, rt: System.Object, g: { a: 1, n: "get_Location", t: 8, rt: System.Object, fg: "Location", is: !0 }, fn: "Location" }, { a: 2, n: "MachineName", is: !0, t: 16, rt: $n[0].String, g: { a: 2, n: "get_MachineName", is: !0, t: 8, tpc: 0, def: function () { return "" }, rt: $n[0].String } }, { a: 2, n: "NewLine", is: !0, t: 16, rt: $n[0].String, g: { a: 2, n: "get_NewLine", is: !0, t: 8, tpc: 0, def: function () { return "\n" }, rt: $n[0].String } }, { a: 2, n: "OSVersion", is: !0, t: 16, rt: $n[0].Object, g: { a: 2, n: "get_OSVersion", is: !0, t: 8, tpc: 0, def: function () { return null }, rt: $n[0].Object } }, { a: 2, n: "ProcessorCount", is: !0, t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_ProcessorCount", t: 8, rt: $n[0].Int32, fg: "ProcessorCount", is: !0, box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "ProcessorCount" }, { a: 2, n: "StackTrace", is: !0, t: 16, rt: $n[0].String, g: { a: 2, n: "get_StackTrace", t: 8, rt: $n[0].String, fg: "StackTrace", is: !0 }, fn: "StackTrace" }, { a: 2, n: "SystemDirectory", is: !0, t: 16, rt: $n[0].String, g: { a: 2, n: "get_SystemDirectory", is: !0, t: 8, tpc: 0, def: function () { return "" }, rt: $n[0].String } }, { a: 2, n: "SystemPageSize", is: !0, t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_SystemPageSize", is: !0, t: 8, tpc: 0, def: function () { return 1 }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "TickCount", is: !0, t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_TickCount", is: !0, t: 8, tpc: 0, def: function () { return Date.now() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "UserDomainName", is: !0, t: 16, rt: $n[0].String, g: { a: 2, n: "get_UserDomainName", is: !0, t: 8, tpc: 0, def: function () { return "" }, rt: $n[0].String } }, { a: 2, n: "UserInteractive", is: !0, t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_UserInteractive", is: !0, t: 8, tpc: 0, def: function () { return !0 }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 2, n: "UserName", is: !0, t: 16, rt: $n[0].String, g: { a: 2, n: "get_UserName", is: !0, t: 8, tpc: 0, def: function () { return "" }, rt: $n[0].String } }, { a: 2, n: "Version", is: !0, t: 16, rt: $n[0].Version, g: { a: 2, n: "get_Version", t: 8, rt: $n[0].Version, fg: "Version", is: !0 }, fn: "Version" }, { a: 2, n: "WorkingSet", is: !0, t: 16, rt: $n[0].Int64, g: { a: 2, n: "get_WorkingSet", is: !0, t: 8, tpc: 0, def: function () { return System.Int64(0) }, rt: $n[0].Int64 } }, { a: 1, n: "Variables", is: !0, t: 4, rt: $n[3].Dictionary$2(System.String, System.String), sn: "variables" }, { a: 1, n: "__Property__Initializer__ExitCode", is: !0, t: 4, rt: $n[0].Int32, sn: "__Property__Initializer__ExitCode", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[0].IDisposable, function () { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "Dispose", t: 8, sn: "System$IDisposable$dispose", rt: $n[0].Void }] } }); $m($n[0].OutOfMemoryException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], def: function (message, innerException) { return new System.OutOfMemoryException(message, innerException) } }] } }); $m($n[0].RankException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], sn: "ctor" }] } }); $m($n[0].AggregateException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[3].IEnumerable$1(System.Exception)], pi: [{ n: "innerExceptions", pt: $n[3].IEnumerable$1(System.Exception), ps: 0 }], def: function (innerExceptions) { return new System.AggregateException(null, innerExceptions) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Array.type(System.Exception)], pi: [{ n: "innerExceptions", ip: !0, pt: $n[0].Array.type(System.Exception), ps: 0 }], def: function () { return new System.AggregateException(null, Array.prototype.slice.call((arguments, 0))) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[3].IEnumerable$1(System.Exception)], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerExceptions", pt: $n[3].IEnumerable$1(System.Exception), ps: 1 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Array.type(System.Exception)], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerExceptions", ip: !0, pt: $n[0].Array.type(System.Exception), ps: 1 }], def: function (message) { return new System.AggregateException(message, Array.prototype.slice.call((arguments, 1))) } }, { a: 2, n: "Flatten", t: 8, sn: "flatten", rt: $n[0].AggregateException }, { a: 2, n: "Handle", t: 8, pi: [{ n: "predicate", pt: Function, ps: 0 }], sn: "handle", rt: $n[0].Void, p: [Function] }, { a: 2, n: "InnerExceptions", t: 16, rt: $n[4].ReadOnlyCollection$1(System.Exception), g: { a: 2, n: "get_InnerExceptions", t: 8, rt: $n[4].ReadOnlyCollection$1(System.Exception), fg: "innerExceptions" }, fn: "innerExceptions" }] } }); $m($n[0].OperationCanceledException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], def: function (message) { return new System.OperationCanceledException(message, System.Threading.CancellationToken.none) } }, { a: 2, n: ".ctor", t: 1, p: [$n[5].CancellationToken], pi: [{ n: "token", pt: $n[5].CancellationToken, ps: 0 }], def: function (token) { return new System.OperationCanceledException(null, token) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], def: function (message, innerException) { return new System.OperationCanceledException(message, System.Threading.CancellationToken.none, innerException) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[5].CancellationToken], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "token", pt: $n[5].CancellationToken, ps: 1 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception, $n[5].CancellationToken], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }, { n: "token", pt: $n[5].CancellationToken, ps: 2 }], def: function (message, innerException, token) { return new System.OperationCanceledException(message, token, innerException) } }, { a: 2, n: "CancellationToken", t: 16, rt: $n[5].CancellationToken, g: { a: 2, n: "get_CancellationToken", t: 8, rt: $n[5].CancellationToken, fg: "cancellationToken" }, s: { a: 1, n: "set_CancellationToken", t: 8, p: [$n[5].CancellationToken], rt: $n[0].Void, fs: "cancellationToken" }, fn: "cancellationToken" }] } }); $m($n[0].SystemException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], def: function (message, innerException) { return new System.SystemException(message, innerException) } }] } }); $m($n[0].TimeoutException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], def: function (message, innerException) { return new System.TimeoutException(message, innerException) } }] } }); $m($n[0].Uri, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "uriString", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: "AbsoluteUri", t: 16, rt: $n[0].String, g: { a: 2, n: "get_AbsoluteUri", t: 8, tpc: 0, def: function () { return this.getAbsoluteUri() }, rt: $n[0].String } }] } }); $m($n[0].Version, function () { return { att: 1048833, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "version", pt: $n[0].String, ps: 0 }], sn: "$ctor4" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Int32], pi: [{ n: "major", pt: $n[0].Int32, ps: 0 }, { n: "minor", pt: $n[0].Int32, ps: 1 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Int32, $n[0].Int32], pi: [{ n: "major", pt: $n[0].Int32, ps: 0 }, { n: "minor", pt: $n[0].Int32, ps: 1 }, { n: "build", pt: $n[0].Int32, ps: 2 }], sn: "$ctor2" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32], pi: [{ n: "major", pt: $n[0].Int32, ps: 0 }, { n: "minor", pt: $n[0].Int32, ps: 1 }, { n: "build", pt: $n[0].Int32, ps: 2 }, { n: "revision", pt: $n[0].Int32, ps: 3 }], sn: "$ctor3" }, { a: 1, n: "AppendPositiveNumber", is: !0, t: 8, pi: [{ n: "num", pt: $n[0].Int32, ps: 0 }, { n: "sb", pt: $n[6].StringBuilder, ps: 1 }], sn: "appendPositiveNumber", rt: $n[0].Void, p: [$n[0].Int32, $n[6].StringBuilder] }, { a: 2, n: "Clone", t: 8, sn: "clone", rt: $n[0].Object }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "version", pt: $n[0].Object, ps: 0 }], sn: "compareTo$1", rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "value", pt: $n[0].Version, ps: 0 }], sn: "compareTo", rt: $n[0].Int32, p: [$n[0].Version], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], sn: "equals", rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "obj", pt: $n[0].Version, ps: 0 }], sn: "equalsT", rt: $n[0].Boolean, p: [$n[0].Version], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ov: !0, a: 2, n: "GetHashCode", t: 8, sn: "getHashCode", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }], sn: "parse", rt: $n[0].Version, p: [$n[0].String] }, { ov: !0, a: 2, n: "ToString", t: 8, sn: "toString", rt: $n[0].String }, { a: 2, n: "ToString", t: 8, pi: [{ n: "fieldCount", pt: $n[0].Int32, ps: 0 }], sn: "toString$1", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].Version, ps: 1 }], sn: "tryParse", rt: $n[0].Boolean, p: [$n[0].String, $n[0].Version], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "TryParseComponent", is: !0, t: 8, pi: [{ n: "component", pt: $n[0].String, ps: 0 }, { n: "componentName", pt: $n[0].String, ps: 1 }, { n: "result", ref: !0, pt: $n[0].Version.VersionResult, ps: 2 }, { n: "parsedComponent", out: !0, pt: $n[0].Int32, ps: 3 }], sn: "tryParseComponent", rt: $n[0].Boolean, p: [$n[0].String, $n[0].String, $n[0].Version.VersionResult, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "TryParseVersion", is: !0, t: 8, pi: [{ n: "version", pt: $n[0].String, ps: 0 }, { n: "result", ref: !0, pt: $n[0].Version.VersionResult, ps: 1 }], sn: "tryParseVersion", rt: $n[0].Boolean, p: [$n[0].String, $n[0].Version.VersionResult], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Equality", is: !0, t: 8, pi: [{ n: "v1", pt: $n[0].Version, ps: 0 }, { n: "v2", pt: $n[0].Version, ps: 1 }], sn: "op_Equality", rt: $n[0].Boolean, p: [$n[0].Version, $n[0].Version], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_GreaterThan", is: !0, t: 8, pi: [{ n: "v1", pt: $n[0].Version, ps: 0 }, { n: "v2", pt: $n[0].Version, ps: 1 }], sn: "op_GreaterThan", rt: $n[0].Boolean, p: [$n[0].Version, $n[0].Version], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_GreaterThanOrEqual", is: !0, t: 8, pi: [{ n: "v1", pt: $n[0].Version, ps: 0 }, { n: "v2", pt: $n[0].Version, ps: 1 }], sn: "op_GreaterThanOrEqual", rt: $n[0].Boolean, p: [$n[0].Version, $n[0].Version], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Inequality", is: !0, t: 8, pi: [{ n: "v1", pt: $n[0].Version, ps: 0 }, { n: "v2", pt: $n[0].Version, ps: 1 }], sn: "op_Inequality", rt: $n[0].Boolean, p: [$n[0].Version, $n[0].Version], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_LessThan", is: !0, t: 8, pi: [{ n: "v1", pt: $n[0].Version, ps: 0 }, { n: "v2", pt: $n[0].Version, ps: 1 }], sn: "op_LessThan", rt: $n[0].Boolean, p: [$n[0].Version, $n[0].Version], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_LessThanOrEqual", is: !0, t: 8, pi: [{ n: "v1", pt: $n[0].Version, ps: 0 }, { n: "v2", pt: $n[0].Version, ps: 1 }], sn: "op_LessThanOrEqual", rt: $n[0].Boolean, p: [$n[0].Version, $n[0].Version], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Build", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Build", t: 8, rt: $n[0].Int32, fg: "Build", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "Build" }, { a: 2, n: "Major", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Major", t: 8, rt: $n[0].Int32, fg: "Major", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "Major" }, { a: 2, n: "MajorRevision", t: 16, rt: $n[0].Int16, g: { a: 2, n: "get_MajorRevision", t: 8, rt: $n[0].Int16, fg: "MajorRevision", box: function ($v) { return Bridge.box($v, System.Int16) } }, fn: "MajorRevision" }, { a: 2, n: "Minor", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Minor", t: 8, rt: $n[0].Int32, fg: "Minor", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "Minor" }, { a: 2, n: "MinorRevision", t: 16, rt: $n[0].Int16, g: { a: 2, n: "get_MinorRevision", t: 8, rt: $n[0].Int16, fg: "MinorRevision", box: function ($v) { return Bridge.box($v, System.Int16) } }, fn: "MinorRevision" }, { a: 2, n: "Revision", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Revision", t: 8, rt: $n[0].Int32, fg: "Revision", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "Revision" }, { a: 1, n: "SeparatorsArray", is: !0, t: 4, rt: $n[0].Char, sn: "separatorsArray", ro: !0, box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } }, { a: 1, n: "ZERO_CHAR_VALUE", is: !0, t: 4, rt: $n[0].Int32, sn: "ZERO_CHAR_VALUE", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_Build", t: 4, rt: $n[0].Int32, sn: "_Build", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_Major", t: 4, rt: $n[0].Int32, sn: "_Major", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_Minor", t: 4, rt: $n[0].Int32, sn: "_Minor", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_Revision", t: 4, rt: $n[0].Int32, sn: "_Revision", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[0].Version.ParseFailureKind, function () { return { td: $n[0].Version, att: 261, a: 4, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "ArgumentException", is: !0, t: 4, rt: $n[0].Version.ParseFailureKind, sn: "ArgumentException", box: function ($v) { return Bridge.box($v, System.Version.ParseFailureKind, System.Enum.toStringFn(System.Version.ParseFailureKind)) } }, { a: 2, n: "ArgumentNullException", is: !0, t: 4, rt: $n[0].Version.ParseFailureKind, sn: "ArgumentNullException", box: function ($v) { return Bridge.box($v, System.Version.ParseFailureKind, System.Enum.toStringFn(System.Version.ParseFailureKind)) } }, { a: 2, n: "ArgumentOutOfRangeException", is: !0, t: 4, rt: $n[0].Version.ParseFailureKind, sn: "ArgumentOutOfRangeException", box: function ($v) { return Bridge.box($v, System.Version.ParseFailureKind, System.Enum.toStringFn(System.Version.ParseFailureKind)) } }, { a: 2, n: "FormatException", is: !0, t: 4, rt: $n[0].Version.ParseFailureKind, sn: "FormatException", box: function ($v) { return Bridge.box($v, System.Version.ParseFailureKind, System.Enum.toStringFn(System.Version.ParseFailureKind)) } }] } }); $m($n[0].Version.VersionResult, function () { return { td: $n[0].Version, att: 1048845, a: 4, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 4, n: "GetVersionParseException", t: 8, sn: "getVersionParseException", rt: $n[0].Exception }, { a: 4, n: "Init", t: 8, pi: [{ n: "argumentName", pt: $n[0].String, ps: 0 }, { n: "canThrow", pt: $n[0].Boolean, ps: 1 }], sn: "init", rt: $n[0].Void, p: [$n[0].String, $n[0].Boolean] }, { a: 4, n: "SetFailure", t: 8, pi: [{ n: "failure", pt: $n[0].Version.ParseFailureKind, ps: 0 }], sn: "setFailure", rt: $n[0].Void, p: [$n[0].Version.ParseFailureKind] }, { a: 4, n: "SetFailure", t: 8, pi: [{ n: "failure", pt: $n[0].Version.ParseFailureKind, ps: 0 }, { n: "argument", pt: $n[0].String, ps: 1 }], sn: "setFailure$1", rt: $n[0].Void, p: [$n[0].Version.ParseFailureKind, $n[0].String] }, { a: 4, n: "m_argumentName", t: 4, rt: $n[0].String, sn: "m_argumentName" }, { a: 4, n: "m_canThrow", t: 4, rt: $n[0].Boolean, sn: "m_canThrow", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 4, n: "m_exceptionArgument", t: 4, rt: $n[0].String, sn: "m_exceptionArgument" }, { a: 4, n: "m_failure", t: 4, rt: $n[0].Version.ParseFailureKind, sn: "m_failure", box: function ($v) { return Bridge.box($v, System.Version.ParseFailureKind, System.Enum.toStringFn(System.Version.ParseFailureKind)) } }, { a: 4, n: "m_parsedVersion", t: 4, rt: $n[0].Version, sn: "m_parsedVersion" }] } }); $m($n[0].OverflowException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], sn: "ctor" }] } }); $m($n[0].ArgumentOutOfRangeException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "paramName", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], def: function (message, innerException) { return new System.ArgumentOutOfRangeException(null, message, innerException) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].String], pi: [{ n: "paramName", pt: $n[0].String, ps: 0 }, { n: "message", pt: $n[0].String, ps: 1 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Object, $n[0].String], pi: [{ n: "paramName", pt: $n[0].String, ps: 0 }, { n: "actualValue", pt: $n[0].Object, ps: 1 }, { n: "message", pt: $n[0].String, ps: 2 }], def: function (paramName, actualValue, message) { return new System.ArgumentOutOfRangeException(paramName, message, null, actualValue) } }, { a: 2, n: "ActualValue", t: 16, rt: $n[0].Object, g: { a: 2, n: "get_ActualValue", t: 8, rt: $n[0].Object, fg: "ActualValue" }, fn: "ActualValue" }] } }); $m($n[0].Boolean, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 1, n: ".ctor", t: 1, p: [System.Object], pi: [{ n: "_", pt: System.Object, ps: 0 }], def: function () { return !1 } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "other", pt: $n[0].Boolean, ps: 0 }], tpc: 0, def: function (other) { return Bridge.compare(this, other) }, rt: $n[0].Int32, p: [$n[0].Boolean], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function () { return Bridge.compare(this, other) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Boolean, ps: 0 }], tpc: 0, def: function (other) { return this === other }, rt: $n[0].Boolean, p: [$n[0].Boolean], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (value) { return System.Boolean.parse(value) }, rt: $n[0].Boolean, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ov: !0, a: 2, n: "ToString", t: 8, tpc: 0, def: function () { return System.Boolean.toString(this) }, rt: $n[0].String }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].Boolean, ps: 1 }], tpc: 0, def: function (value, result) { return System.Boolean.tryParse(value, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Boolean], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 4, n: "False", is: !0, t: 4, rt: $n[0].Int32, sn: "False", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "FalseString", is: !0, t: 4, rt: $n[0].String, sn: "falseString", ro: !0 }, { a: 4, n: "True", is: !0, t: 4, rt: $n[0].Int32, sn: "True", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "TrueString", is: !0, t: 4, rt: $n[0].String, sn: "trueString", ro: !0 }] } }); $m($n[0].Char, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, def: function () { return Number } }, { a: 1, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], def: function () { return Number } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }], tpc: 0, def: function (value) { return Bridge.compare(this, value) }, rt: $n[0].Int32, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "value", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (value) { return Bridge.compare(this, value) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "obj", pt: $n[0].Char, ps: 0 }], tpc: 0, def: function (obj) { return this === obj }, rt: $n[0].Boolean, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (obj) { return System.Char.equals(this, obj) }, rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.Char.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.Char.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { ov: !0, a: 2, n: "GetHashCode", t: 8, tpc: 0, def: function () { return System.Char.getHashCode(this) }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IsControl", is: !0, t: 8, pi: [{ n: "c", pt: $n[0].Char, ps: 0 }], sn: "isControl", rt: $n[0].Boolean, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsControl", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, index) { return System.Char.isControl(s.charCodeAt(index)) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsDigit", is: !0, t: 8, pi: [{ n: "c", pt: $n[0].Char, ps: 0 }], sn: "isDigit", rt: $n[0].Boolean, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsDigit", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, index) { return System.Char.isDigit(s.charCodeAt(index)) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsHighSurrogate", is: !0, t: 8, pi: [{ n: "c", pt: $n[0].Char, ps: 0 }], sn: "isHighSurrogate", rt: $n[0].Boolean, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsHighSurrogate", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, index) { return System.Char.isHighSurrogate(s.charCodeAt(index)) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsLetter", is: !0, t: 8, pi: [{ n: "c", pt: $n[0].Char, ps: 0 }], sn: "isLetter", rt: $n[0].Boolean, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsLetter", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, index) { return System.Char.isLetter(s.charCodeAt(index)) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsLetterOrDigit", is: !0, t: 8, pi: [{ n: "c", pt: $n[0].Char, ps: 0 }], tpc: 0, def: function (c) { return System.Char.isDigit(c) || System.Char.isLetter(c) }, rt: $n[0].Boolean, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsLetterOrDigit", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, index) { return System.Char.isDigit(s.charCodeAt(index)) || System.Char.isLetter(s.charCodeAt(index)) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsLowSurrogate", is: !0, t: 8, pi: [{ n: "c", pt: $n[0].Char, ps: 0 }], sn: "isLowSurrogate", rt: $n[0].Boolean, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsLowSurrogate", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, index) { return System.Char.isLowSurrogate(s.charCodeAt(index)) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsLower", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].Char, ps: 0 }], tpc: 0, def: function (s) { return Bridge.isLower(s) }, rt: $n[0].Boolean, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsNumber", is: !0, t: 8, pi: [{ n: "c", pt: $n[0].Char, ps: 0 }], sn: "isNumber", rt: $n[0].Boolean, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsNumber", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, index) { return System.Char.isNumber(s.charCodeAt(index)) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsPunctuation", is: !0, t: 8, pi: [{ n: "c", pt: $n[0].Char, ps: 0 }], sn: "isPunctuation", rt: $n[0].Boolean, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsPunctuation", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, index) { return System.Char.isPunctuation(s.charCodeAt(index)) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsSeparator", is: !0, t: 8, pi: [{ n: "c", pt: $n[0].Char, ps: 0 }], sn: "isSeparator", rt: $n[0].Boolean, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsSeparator", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, index) { return System.Char.isSeparator(s.charCodeAt(index)) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsSurrogate", is: !0, t: 8, pi: [{ n: "c", pt: $n[0].Char, ps: 0 }], sn: "isSurrogate", rt: $n[0].Boolean, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsSurrogate", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, index) { return System.Char.isSurrogate(s.charCodeAt(index)) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsSurrogatePair", is: !0, t: 8, pi: [{ n: "highSurrogate", pt: $n[0].Char, ps: 0 }, { n: "lowSurrogate", pt: $n[0].Char, ps: 1 }], tpc: 0, def: function (highSurrogate, lowSurrogate) { return System.Char.isHighSurrogate(highSurrogate) && System.Char.isLowSurrogate(lowSurrogate) }, rt: $n[0].Boolean, p: [$n[0].Char, $n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsSurrogatePair", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, index) { return System.Char.isHighSurrogate(s.charCodeAt(index)) && System.Char.isLowSurrogate(s.charCodeAt(index + 1)) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsSymbol", is: !0, t: 8, pi: [{ n: "c", pt: $n[0].Char, ps: 0 }], sn: "isSymbol", rt: $n[0].Boolean, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsSymbol", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, index) { return System.Char.isSymbol(s.charCodeAt(index)) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsUpper", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].Char, ps: 0 }], tpc: 0, def: function (s) { return Bridge.isUpper(s) }, rt: $n[0].Boolean, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsUpper", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], sn: "isUpper", rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsWhiteSpace", is: !0, t: 8, pi: [{ n: "c", pt: $n[0].Char, ps: 0 }], tpc: 0, def: function (c) { return System.Char.isWhiteSpace(String.fromCharCode(c)) }, rt: $n[0].Boolean, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsWhiteSpace", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, index) { return System.Char.isWhiteSpace(s.charAt(index)) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (s) { return System.Char.charCodeAt(s, 0) }, rt: $n[0].Char, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } }, { a: 2, n: "ToLower", is: !0, t: 8, pi: [{ n: "c", pt: $n[0].Char, ps: 0 }], tpc: 0, def: function (c) { return String.fromCharCode(c).toLowerCase().charCodeAt(0) }, rt: $n[0].Char, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } }, { ov: !0, a: 2, n: "ToString", t: 8, tpc: 0, def: function () { return String.fromCharCode(this) }, rt: $n[0].String }, { a: 2, n: "ToString", is: !0, t: 8, pi: [{ n: "c", pt: $n[0].Char, ps: 0 }], tpc: 0, def: function (c) { return String.fromCharCode(c) }, rt: $n[0].String, p: [$n[0].Char] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.Char.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.Char.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "ToUpper", is: !0, t: 8, pi: [{ n: "c", pt: $n[0].Char, ps: 0 }], tpc: 0, def: function (c) { return String.fromCharCode(c).toUpperCase().charCodeAt(0) }, rt: $n[0].Char, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } }, { a: 2, n: "MaxValue", is: !0, t: 4, rt: $n[0].Char, sn: "MaxValue", box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } }, { a: 2, n: "MinValue", is: !0, t: 4, rt: $n[0].Char, sn: "MinValue", box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } }] } }); $m($n[0].DateTime, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int64], pi: [{ n: "ticks", pt: $n[0].Int64, ps: 0 }], def: function (ticks) { return System.DateTime.create$2(ticks) } }, { a: 1, n: ".ctor", t: 1, p: [System.Object], pi: [{ n: "_", pt: System.Object, ps: 0 }], def: function () { return System.DateTime.getDefaultValue() } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int64, $n[0].DateTimeKind], pi: [{ n: "ticks", pt: $n[0].Int64, ps: 0 }, { n: "kind", pt: $n[0].DateTimeKind, ps: 1 }], def: function (ticks, kind) { return System.DateTime.create$2(ticks, kind) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Int32, $n[0].Int32], pi: [{ n: "year", pt: $n[0].Int32, ps: 0 }, { n: "month", pt: $n[0].Int32, ps: 1 }, { n: "day", pt: $n[0].Int32, ps: 2 }], def: function (year, month, day) { return System.DateTime.create(year, month, day) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32], pi: [{ n: "year", pt: $n[0].Int32, ps: 0 }, { n: "month", pt: $n[0].Int32, ps: 1 }, { n: "day", pt: $n[0].Int32, ps: 2 }, { n: "hour", pt: $n[0].Int32, ps: 3 }, { n: "minute", pt: $n[0].Int32, ps: 4 }, { n: "second", pt: $n[0].Int32, ps: 5 }], def: function (year, month, day, hour, minute, second) { return System.DateTime.create(year, month, day, hour, minute, second) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].DateTimeKind], pi: [{ n: "year", pt: $n[0].Int32, ps: 0 }, { n: "month", pt: $n[0].Int32, ps: 1 }, { n: "day", pt: $n[0].Int32, ps: 2 }, { n: "hour", pt: $n[0].Int32, ps: 3 }, { n: "minute", pt: $n[0].Int32, ps: 4 }, { n: "second", pt: $n[0].Int32, ps: 5 }, { n: "kind", pt: $n[0].DateTimeKind, ps: 6 }], def: function (year, month, day, hour, minute, second, kind) { return System.DateTime.create(year, month, day, hour, minute, second, 0, kind) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32], pi: [{ n: "year", pt: $n[0].Int32, ps: 0 }, { n: "month", pt: $n[0].Int32, ps: 1 }, { n: "day", pt: $n[0].Int32, ps: 2 }, { n: "hour", pt: $n[0].Int32, ps: 3 }, { n: "minute", pt: $n[0].Int32, ps: 4 }, { n: "second", pt: $n[0].Int32, ps: 5 }, { n: "millisecond", pt: $n[0].Int32, ps: 6 }], def: function (year, month, day, hour, minute, second, millisecond) { return System.DateTime.create(year, month, day, hour, minute, second, millisecond) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].DateTimeKind], pi: [{ n: "year", pt: $n[0].Int32, ps: 0 }, { n: "month", pt: $n[0].Int32, ps: 1 }, { n: "day", pt: $n[0].Int32, ps: 2 }, { n: "hour", pt: $n[0].Int32, ps: 3 }, { n: "minute", pt: $n[0].Int32, ps: 4 }, { n: "second", pt: $n[0].Int32, ps: 5 }, { n: "millisecond", pt: $n[0].Int32, ps: 6 }, { n: "kind", pt: $n[0].DateTimeKind, ps: 7 }], def: function (year, month, day, hour, minute, second, millisecond, kind) { return System.DateTime.create(year, month, day, hour, minute, second, millisecond, kind) } }, { a: 2, n: "Add", t: 8, pi: [{ n: "value", pt: $n[0].TimeSpan, ps: 0 }], tpc: 0, def: function (value) { return System.DateTime.add(this, value) }, rt: $n[0].DateTime, p: [$n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "AddDays", t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], tpc: 0, def: function (value) { return System.DateTime.addDays(this, value) }, rt: $n[0].DateTime, p: [$n[0].Double], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "AddHours", t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], tpc: 0, def: function (value) { return System.DateTime.addHours(this, value) }, rt: $n[0].DateTime, p: [$n[0].Double], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "AddMilliseconds", t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], tpc: 0, def: function (value) { return System.DateTime.addMilliseconds(this, value) }, rt: $n[0].DateTime, p: [$n[0].Double], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "AddMinutes", t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], tpc: 0, def: function (value) { return System.DateTime.addMinutes(this, value) }, rt: $n[0].DateTime, p: [$n[0].Double], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "AddMonths", t: 8, pi: [{ n: "months", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (months) { return System.DateTime.addMonths(this, months) }, rt: $n[0].DateTime, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "AddSeconds", t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], tpc: 0, def: function (value) { return System.DateTime.addSeconds(this, value) }, rt: $n[0].DateTime, p: [$n[0].Double], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "AddTicks", t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], tpc: 0, def: function (value) { return System.DateTime.addTicks(this, value) }, rt: $n[0].DateTime, p: [$n[0].Int64], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "AddYears", t: 8, pi: [{ n: "value", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (value) { return System.DateTime.addYears(this, value) }, rt: $n[0].DateTime, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "Compare", is: !0, t: 8, pi: [{ n: "t1", pt: $n[0].DateTime, ps: 0 }, { n: "t2", pt: $n[0].DateTime, ps: 1 }], tpc: 0, def: function (t1, t2) { return Bridge.compare(t1, t2) }, rt: $n[0].Int32, p: [$n[0].DateTime, $n[0].DateTime], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "other", pt: $n[0].DateTime, ps: 0 }], tpc: 0, def: function (other) { return Bridge.compare(this, other) }, rt: $n[0].Int32, p: [$n[0].DateTime], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "other", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (other) { return Bridge.compare(this, other) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "DaysInMonth", is: !0, t: 8, pi: [{ n: "year", pt: $n[0].Int32, ps: 0 }, { n: "month", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (year, month) { return System.DateTime.getDaysInMonth(year, month) }, rt: $n[0].Int32, p: [$n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].DateTime, ps: 0 }], tpc: 0, def: function (other) { return Bridge.equalsT(this, other) }, rt: $n[0].Boolean, p: [$n[0].DateTime], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Equals", is: !0, t: 8, pi: [{ n: "t1", pt: $n[0].DateTime, ps: 0 }, { n: "t2", pt: $n[0].DateTime, ps: 1 }], tpc: 0, def: function (t1, t2) { return Bridge.equalsT(t1, t2) }, rt: $n[0].Boolean, p: [$n[0].DateTime, $n[0].DateTime], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsDaylightSavingTime", t: 8, tpc: 0, def: function () { return System.DateTime.isDaylightSavingTime(this) }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsLeapYear", is: !0, t: 8, pi: [{ n: "year", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (year) { return System.DateTime.getIsLeapYear(year) }, rt: $n[0].Boolean, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (s) { return System.DateTime.parse(s) }, rt: $n[0].DateTime, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (s, provider) { return System.DateTime.parse(s, provider) }, rt: $n[0].DateTime, p: [$n[0].String, $n[0].IFormatProvider], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "ParseExact", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "format", pt: $n[0].String, ps: 1 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 2 }], tpc: 0, def: function (s, format, provider) { return System.DateTime.parseExact(s, format, provider) }, rt: $n[0].DateTime, p: [$n[0].String, $n[0].String, $n[0].IFormatProvider], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "SpecifyKind", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].DateTime, ps: 0 }, { n: "kind", pt: $n[0].DateTimeKind, ps: 1 }], tpc: 0, def: function (value, kind) { return System.DateTime.specifyKind(value, kind) }, rt: $n[0].DateTime, p: [$n[0].DateTime, $n[0].DateTimeKind], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "Subtract", t: 8, pi: [{ n: "value", pt: $n[0].DateTime, ps: 0 }], tpc: 0, def: function (value) { return System.DateTime.subdd(this, value) }, rt: $n[0].TimeSpan, p: [$n[0].DateTime] }, { a: 2, n: "Subtract", t: 8, pi: [{ n: "value", pt: $n[0].TimeSpan, ps: 0 }], tpc: 0, def: function (value) { return System.DateTime.subtract(this, value) }, rt: $n[0].DateTime, p: [$n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "ToLocalTime", t: 8, tpc: 0, def: function () { return System.DateTime.toLocalTime(this) }, rt: $n[0].DateTime, box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "ToShortDateString", t: 8, tpc: 0, def: function () { return System.DateTime.format(this, "d") }, rt: $n[0].String }, { a: 2, n: "ToShortTimeString", t: 8, tpc: 0, def: function () { return System.DateTime.format(this, "t") }, rt: $n[0].String }, { ov: !0, a: 2, n: "ToString", t: 8, tpc: 0, def: function () { return System.DateTime.format(this) }, rt: $n[0].String }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.DateTime.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.DateTime.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "ToUniversalTime", t: 8, tpc: 0, def: function () { return System.DateTime.toUniversalTime(this) }, rt: $n[0].DateTime, box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].DateTime, ps: 1 }], tpc: 0, def: function (s, result) { return System.DateTime.tryParse(s, null, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].DateTime], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "TryParseExact", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "format", pt: $n[0].String, ps: 1 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 2 }, { n: "result", out: !0, pt: $n[0].DateTime, ps: 3 }], tpc: 0, def: function (s, format, provider, result) { return System.DateTime.tryParseExact(s, format, provider, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].String, $n[0].IFormatProvider, $n[0].DateTime], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Addition", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].DateTime, ps: 0 }, { n: "t", pt: $n[0].TimeSpan, ps: 1 }], tpc: 0, def: function (d, t) { return System.DateTime.adddt(d, t) }, rt: $n[0].DateTime, p: [$n[0].DateTime, $n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "op_Equality", is: !0, t: 8, pi: [{ n: "a", pt: $n[0].DateTime, ps: 0 }, { n: "b", pt: $n[0].DateTime, ps: 1 }], tpc: 0, def: function (a, b) { return Bridge.equals(a, b) }, rt: $n[0].Boolean, p: [$n[0].DateTime, $n[0].DateTime], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_GreaterThan", is: !0, t: 8, pi: [{ n: "a", pt: $n[0].DateTime, ps: 0 }, { n: "b", pt: $n[0].DateTime, ps: 1 }], tpc: 0, def: function (a, b) { return System.DateTime.gt(a, b) }, rt: $n[0].Boolean, p: [$n[0].DateTime, $n[0].DateTime], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_GreaterThanOrEqual", is: !0, t: 8, pi: [{ n: "a", pt: $n[0].DateTime, ps: 0 }, { n: "b", pt: $n[0].DateTime, ps: 1 }], tpc: 0, def: function (a, b) { return System.DateTime.gte(a, b) }, rt: $n[0].Boolean, p: [$n[0].DateTime, $n[0].DateTime], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Inequality", is: !0, t: 8, pi: [{ n: "a", pt: $n[0].DateTime, ps: 0 }, { n: "b", pt: $n[0].DateTime, ps: 1 }], tpc: 0, def: function (a, b) { return !Bridge.equals(a, b) }, rt: $n[0].Boolean, p: [$n[0].DateTime, $n[0].DateTime], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_LessThan", is: !0, t: 8, pi: [{ n: "a", pt: $n[0].DateTime, ps: 0 }, { n: "b", pt: $n[0].DateTime, ps: 1 }], tpc: 0, def: function (a, b) { return System.DateTime.lt(a, b) }, rt: $n[0].Boolean, p: [$n[0].DateTime, $n[0].DateTime], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_LessThanOrEqual", is: !0, t: 8, pi: [{ n: "a", pt: $n[0].DateTime, ps: 0 }, { n: "b", pt: $n[0].DateTime, ps: 1 }], tpc: 0, def: function (a, b) { return System.DateTime.lte(a, b) }, rt: $n[0].Boolean, p: [$n[0].DateTime, $n[0].DateTime], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Subtraction", is: !0, t: 8, pi: [{ n: "a", pt: $n[0].DateTime, ps: 0 }, { n: "b", pt: $n[0].DateTime, ps: 1 }], tpc: 0, def: function (a, b) { return System.DateTime.subdd(a, b) }, rt: $n[0].TimeSpan, p: [$n[0].DateTime, $n[0].DateTime] }, { a: 2, n: "op_Subtraction", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].DateTime, ps: 0 }, { n: "t", pt: $n[0].TimeSpan, ps: 1 }], tpc: 0, def: function (d, t) { return System.DateTime.subdt(d, t) }, rt: $n[0].DateTime, p: [$n[0].DateTime, $n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "Date", t: 16, rt: $n[0].DateTime, g: { a: 2, n: "get_Date", t: 8, tpc: 0, def: function () { return System.DateTime.getDate(this) }, rt: $n[0].DateTime, box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } } }, { a: 2, n: "Day", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Day", t: 8, tpc: 0, def: function () { return System.DateTime.getDay(this) }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "DayOfWeek", t: 16, rt: $n[0].DayOfWeek, g: { a: 2, n: "get_DayOfWeek", t: 8, tpc: 0, def: function () { return System.DateTime.getDayOfWeek(this) }, rt: $n[0].DayOfWeek, box: function ($v) { return Bridge.box($v, System.DayOfWeek, System.Enum.toStringFn(System.DayOfWeek)) } } }, { a: 2, n: "DayOfYear", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_DayOfYear", t: 8, tpc: 0, def: function () { return System.DateTime.getDayOfYear(this) }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "Hour", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Hour", t: 8, tpc: 0, def: function () { return System.DateTime.getHour(this) }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "Kind", t: 16, rt: $n[0].DateTimeKind, g: { a: 2, n: "get_Kind", t: 8, tpc: 0, def: function () { return System.DateTime.getKind(this) }, rt: $n[0].DateTimeKind, box: function ($v) { return Bridge.box($v, System.DateTimeKind, System.Enum.toStringFn(System.DateTimeKind)) } } }, { a: 2, n: "Millisecond", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Millisecond", t: 8, tpc: 0, def: function () { return System.DateTime.getMillisecond(this) }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "Minute", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Minute", t: 8, tpc: 0, def: function () { return System.DateTime.getMinute(this) }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "Month", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Month", t: 8, tpc: 0, def: function () { return System.DateTime.getMonth(this) }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "Now", is: !0, t: 16, rt: $n[0].DateTime, g: { a: 2, n: "get_Now", is: !0, t: 8, tpc: 0, def: function () { return System.DateTime.getNow() }, rt: $n[0].DateTime, box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } } }, { a: 2, n: "Second", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Second", t: 8, tpc: 0, def: function () { return System.DateTime.getSecond(this) }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "Ticks", t: 16, rt: $n[0].Int64, g: { a: 2, n: "get_Ticks", t: 8, tpc: 0, def: function () { return System.DateTime.getTicks(this) }, rt: $n[0].Int64 } }, { a: 2, n: "TimeOfDay", t: 16, rt: $n[0].TimeSpan, g: { a: 2, n: "get_TimeOfDay", t: 8, tpc: 0, def: function () { return System.DateTime.getTimeOfDay(this) }, rt: $n[0].TimeSpan } }, { a: 2, n: "Today", is: !0, t: 16, rt: $n[0].DateTime, g: { a: 2, n: "get_Today", is: !0, t: 8, tpc: 0, def: function () { return System.DateTime.getToday() }, rt: $n[0].DateTime, box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } } }, { a: 2, n: "UtcNow", is: !0, t: 16, rt: $n[0].DateTime, g: { a: 2, n: "get_UtcNow", is: !0, t: 8, tpc: 0, def: function () { return System.DateTime.getUtcNow() }, rt: $n[0].DateTime, box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } } }, { a: 2, n: "Year", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Year", t: 8, tpc: 0, def: function () { return System.DateTime.getYear(this) }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "MaxValue", is: !0, t: 4, rt: $n[0].DateTime, sn: "maxValue", ro: !0, box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }, { a: 2, n: "MinValue", is: !0, t: 4, rt: $n[0].DateTime, sn: "minValue", ro: !0, box: function ($v) { return Bridge.box($v, System.DateTime, System.DateTime.format) } }] } }); $m($n[0].DayOfWeek, function () { return { att: 8449, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "Friday", is: !0, t: 4, rt: $n[0].DayOfWeek, sn: "Friday", box: function ($v) { return Bridge.box($v, System.DayOfWeek, System.Enum.toStringFn(System.DayOfWeek)) } }, { a: 2, n: "Monday", is: !0, t: 4, rt: $n[0].DayOfWeek, sn: "Monday", box: function ($v) { return Bridge.box($v, System.DayOfWeek, System.Enum.toStringFn(System.DayOfWeek)) } }, { a: 2, n: "Saturday", is: !0, t: 4, rt: $n[0].DayOfWeek, sn: "Saturday", box: function ($v) { return Bridge.box($v, System.DayOfWeek, System.Enum.toStringFn(System.DayOfWeek)) } }, { a: 2, n: "Sunday", is: !0, t: 4, rt: $n[0].DayOfWeek, sn: "Sunday", box: function ($v) { return Bridge.box($v, System.DayOfWeek, System.Enum.toStringFn(System.DayOfWeek)) } }, { a: 2, n: "Thursday", is: !0, t: 4, rt: $n[0].DayOfWeek, sn: "Thursday", box: function ($v) { return Bridge.box($v, System.DayOfWeek, System.Enum.toStringFn(System.DayOfWeek)) } }, { a: 2, n: "Tuesday", is: !0, t: 4, rt: $n[0].DayOfWeek, sn: "Tuesday", box: function ($v) { return Bridge.box($v, System.DayOfWeek, System.Enum.toStringFn(System.DayOfWeek)) } }, { a: 2, n: "Wednesday", is: !0, t: 4, rt: $n[0].DayOfWeek, sn: "Wednesday", box: function ($v) { return Bridge.box($v, System.DayOfWeek, System.Enum.toStringFn(System.DayOfWeek)) } }] } }); $m($n[0].Double, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, def: function () { return Number } }, { a: 1, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], def: function () { return Number } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "other", pt: $n[0].Double, ps: 0 }], tpc: 0, def: function (other) { return Bridge.compare(this, other) }, rt: $n[0].Int32, p: [$n[0].Double], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (obj) { return Bridge.compare(this, obj) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Double, ps: 0 }], tpc: 0, def: function (other) { return this === other }, rt: $n[0].Boolean, p: [$n[0].Double], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (other) { return System.Double.equals(this, other) }, rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.Double.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.Double.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { ov: !0, a: 2, n: "GetHashCode", t: 8, tpc: 0, def: function () { return System.Double.getHashCode(this) }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IsFinite", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Double, ps: 0 }], tpc: 0, def: function (d) { return isFinite(d) }, rt: $n[0].Boolean, p: [$n[0].Double], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsInfinity", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Double, ps: 0 }], tpc: 0, def: function (d) { return Math.abs(d) === Number.POSITIVE_INFINITY }, rt: $n[0].Boolean, p: [$n[0].Double], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsNaN", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Double, ps: 0 }], tpc: 0, def: function (d) { return isNaN(d) }, rt: $n[0].Boolean, p: [$n[0].Double], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsNegativeInfinity", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Double, ps: 0 }], tpc: 0, def: function (d) { return d === Number.NEGATIVE_INFINITY }, rt: $n[0].Boolean, p: [$n[0].Double], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsPositiveInfinity", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Double, ps: 0 }], tpc: 0, def: function (d) { return d === Number.POSITIVE_INFINITY }, rt: $n[0].Boolean, p: [$n[0].Double], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (s) { return System.Double.parse(s) }, rt: $n[0].Double, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (s, provider) { return Bridge.Int.parseFloat(s, provider) }, rt: $n[0].Double, p: [$n[0].String, $n[0].IFormatProvider], box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { a: 2, n: "ToExponential", t: 8, sn: "toExponential", rt: $n[0].String }, { a: 2, n: "ToExponential", t: 8, pi: [{ n: "fractionDigits", pt: $n[0].Int32, ps: 0 }], sn: "toExponential", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "ToFixed", t: 8, sn: "toFixed", rt: $n[0].String }, { a: 2, n: "ToFixed", t: 8, pi: [{ n: "fractionDigits", pt: $n[0].Int32, ps: 0 }], sn: "toFixed", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "ToPrecision", t: 8, sn: "toPrecision", rt: $n[0].String }, { a: 2, n: "ToPrecision", t: 8, pi: [{ n: "precision", pt: $n[0].Int32, ps: 0 }], sn: "toPrecision", rt: $n[0].String, p: [$n[0].Int32] }, { ov: !0, a: 2, n: "ToString", t: 8, tpc: 0, def: function () { return System.Double.format(this) }, rt: $n[0].String }, { a: 2, n: "ToString", t: 8, pi: [{ n: "provider", pt: $n[0].IFormatProvider, ps: 0 }], tpc: 0, def: function (provider) { return System.Double.format(this, "G", provider) }, rt: $n[0].String, p: [$n[0].IFormatProvider] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "radix", pt: $n[0].Int32, ps: 0 }], sn: "toString", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.Double.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.Double.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].Double, ps: 1 }], tpc: 0, def: function (s, result) { return System.Double.tryParse(s, null, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Double], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }, { n: "result", out: !0, pt: $n[0].Double, ps: 2 }], tpc: 0, def: function (s, provider, result) { return System.Double.tryParse(s, provider, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].IFormatProvider, $n[0].Double], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Epsilon", is: !0, t: 4, rt: $n[0].Double, sn: "Epsilon", box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { a: 2, n: "MaxValue", is: !0, t: 4, rt: $n[0].Double, sn: "MaxValue", box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { a: 2, n: "MinValue", is: !0, t: 4, rt: $n[0].Double, sn: "MinValue", box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { a: 2, n: "NaN", is: !0, t: 4, rt: $n[0].Double, sn: "naN", ro: !0, box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { a: 2, n: "NegativeInfinity", is: !0, t: 4, rt: $n[0].Double, sn: "negativeInfinity", ro: !0, box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { a: 2, n: "PositiveInfinity", is: !0, t: 4, rt: $n[0].Double, sn: "positiveInfinity", ro: !0, box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }] } }); $m($n[0].ICloneable, function () { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "Clone", t: 8, tpc: 0, def: function () { return Bridge.clone(this) }, rt: $n[0].Object }] } }); $m($n[0].IFormatProvider, function () { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "GetFormat", t: 8, pi: [{ n: "formatType", pt: Function, ps: 0 }], sn: "System$IFormatProvider$getFormat", rt: $n[0].Object, p: [Function] }] } }); $m($n[0].SByte, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, def: function () { return Number } }, { a: 1, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], def: function () { return Number } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (obj) { return Bridge.compare(this, obj) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "other", pt: $n[0].SByte, ps: 0 }], tpc: 0, def: function (other) { return Bridge.compare(this, other) }, rt: $n[0].Int32, p: [$n[0].SByte], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (other) { return System.SByte.equals(this, other) }, rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].SByte, ps: 0 }], tpc: 0, def: function (other) { return this === other }, rt: $n[0].Boolean, p: [$n[0].SByte], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.SByte.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.SByte.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (s) { return System.SByte.parse(s) }, rt: $n[0].SByte, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.SByte) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "radix", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, radix) { return System.SByte.parse(s, radix) }, rt: $n[0].SByte, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.SByte) } }, { a: 2, n: "ToString", t: 8, pi: [{ n: "radix", pt: $n[0].Int32, ps: 0 }], sn: "toString", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.SByte.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.SByte.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].SByte, ps: 1 }], tpc: 0, def: function (s, result) { return System.SByte.tryParse(s, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].SByte], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].SByte, ps: 1 }, { n: "radix", pt: $n[0].Int32, ps: 2 }], tpc: 0, def: function (s, result, radix) { return System.SByte.tryParse(s, result, radix) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].SByte, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "MaxValue", is: !0, t: 4, rt: $n[0].SByte, sn: "MaxValue", box: function ($v) { return Bridge.box($v, System.SByte) } }, { a: 2, n: "MinValue", is: !0, t: 4, rt: $n[0].SByte, sn: "MinValue", box: function ($v) { return Bridge.box($v, System.SByte) } }] } }); $m($n[0].Byte, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, def: function () { return Number } }, { a: 1, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], def: function () { return Number } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "other", pt: $n[0].Byte, ps: 0 }], tpc: 0, def: function (other) { return Bridge.compare(this, other) }, rt: $n[0].Int32, p: [$n[0].Byte], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (obj) { return Bridge.compare(this, obj) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Byte, ps: 0 }], tpc: 0, def: function (other) { return this === other }, rt: $n[0].Boolean, p: [$n[0].Byte], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (other) { return System.Byte.equals(this, other) }, rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.Byte.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.Byte.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (s) { return System.Byte.parse(s) }, rt: $n[0].Byte, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "radix", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, radix) { return System.Byte.parse(s, radix) }, rt: $n[0].Byte, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 2, n: "ToString", t: 8, pi: [{ n: "radix", pt: $n[0].Int32, ps: 0 }], sn: "toString", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.Byte.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.Byte.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].Byte, ps: 1 }], tpc: 0, def: function (s, result) { return System.Byte.tryParse(s, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Byte], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].Byte, ps: 1 }, { n: "radix", pt: $n[0].Int32, ps: 2 }], tpc: 0, def: function (s, result, radix) { return System.Byte.tryParse(s, result, radix) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Byte, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "MaxValue", is: !0, t: 4, rt: $n[0].Byte, sn: "MaxValue", box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 2, n: "MinValue", is: !0, t: 4, rt: $n[0].Byte, sn: "MinValue", box: function ($v) { return Bridge.box($v, System.Byte) } }] } }); $m($n[0].Int16, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, def: function () { return Number } }, { a: 1, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], def: function () { return Number } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "other", pt: $n[0].Int16, ps: 0 }], tpc: 0, def: function (other) { return Bridge.compare(this, other) }, rt: $n[0].Int32, p: [$n[0].Int16], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (obj) { return Bridge.compare(this, obj) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Int16, ps: 0 }], tpc: 0, def: function (other) { return this === other }, rt: $n[0].Boolean, p: [$n[0].Int16], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (other) { return System.Int16.equals(this, other) }, rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.Int16.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.Int16.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (s) { return System.Int16.parse(s) }, rt: $n[0].Int16, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Int16) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "radix", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, radix) { return System.Int16.parse(s, radix) }, rt: $n[0].Int16, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int16) } }, { a: 2, n: "ToString", t: 8, pi: [{ n: "radix", pt: $n[0].Int32, ps: 0 }], sn: "toString", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.Int16.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.Int16.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].Int16, ps: 1 }], tpc: 0, def: function (s, result) { return System.Int16.tryParse(s, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int16], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].Int16, ps: 1 }, { n: "radix", pt: $n[0].Int32, ps: 2 }], tpc: 0, def: function (s, result, radix) { return System.Int16.tryParse(s, result, radix) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int16, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "MaxValue", is: !0, t: 4, rt: $n[0].Int16, sn: "MaxValue", box: function ($v) { return Bridge.box($v, System.Int16) } }, { a: 2, n: "MinValue", is: !0, t: 4, rt: $n[0].Int16, sn: "MinValue", box: function ($v) { return Bridge.box($v, System.Int16) } }] } }); $m($n[0].Single, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, def: function () { return Number } }, { a: 1, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], def: function () { return Number } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (obj) { return Bridge.compare(this, obj) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "other", pt: $n[0].Single, ps: 0 }], tpc: 0, def: function (other) { return Bridge.compare(this, other) }, rt: $n[0].Int32, p: [$n[0].Single], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (other) { return System.Single.equals(this, other) }, rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Single, ps: 0 }], tpc: 0, def: function (other) { return this === other }, rt: $n[0].Boolean, p: [$n[0].Single], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.Single.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.Single.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { ov: !0, a: 2, n: "GetHashCode", t: 8, tpc: 0, def: function () { return System.Single.getHashCode(this) }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IsFinite", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Single, ps: 0 }], tpc: 0, def: function (d) { return isFinite(d) }, rt: $n[0].Boolean, p: [$n[0].Single], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsInfinity", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Single, ps: 0 }], tpc: 0, def: function (d) { return Math.abs(d) === Number.POSITIVE_INFINITY }, rt: $n[0].Boolean, p: [$n[0].Single], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsNaN", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Single, ps: 0 }], tpc: 0, def: function (d) { return isNaN(d) }, rt: $n[0].Boolean, p: [$n[0].Single], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsNegativeInfinity", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Single, ps: 0 }], tpc: 0, def: function (d) { return d === Number.NEGATIVE_INFINITY }, rt: $n[0].Boolean, p: [$n[0].Single], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsPositiveInfinity", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Single, ps: 0 }], tpc: 0, def: function (d) { return d === Number.POSITIVE_INFINITY }, rt: $n[0].Boolean, p: [$n[0].Single], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (s) { return System.Single.parse(s) }, rt: $n[0].Single, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Single, System.Single.format, System.Single.getHashCode) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (s, provider) { return System.Single.parse(s, provider) }, rt: $n[0].Single, p: [$n[0].String, $n[0].IFormatProvider], box: function ($v) { return Bridge.box($v, System.Single, System.Single.format, System.Single.getHashCode) } }, { a: 2, n: "ToExponential", t: 8, sn: "toExponential", rt: $n[0].String }, { a: 2, n: "ToExponential", t: 8, pi: [{ n: "fractionDigits", pt: $n[0].Int32, ps: 0 }], sn: "toExponential", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "ToFixed", t: 8, sn: "toFixed", rt: $n[0].String }, { a: 2, n: "ToFixed", t: 8, pi: [{ n: "fractionDigits", pt: $n[0].Int32, ps: 0 }], sn: "toFixed", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "ToPrecision", t: 8, sn: "toPrecision", rt: $n[0].String }, { a: 2, n: "ToPrecision", t: 8, pi: [{ n: "precision", pt: $n[0].Int32, ps: 0 }], sn: "toPrecision", rt: $n[0].String, p: [$n[0].Int32] }, { ov: !0, a: 2, n: "ToString", t: 8, tpc: 0, def: function () { return System.Single.format(this) }, rt: $n[0].String }, { a: 2, n: "ToString", t: 8, pi: [{ n: "provider", pt: $n[0].IFormatProvider, ps: 0 }], tpc: 0, def: function (provider) { return System.Single.format(this, "G", provider) }, rt: $n[0].String, p: [$n[0].IFormatProvider] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "radix", pt: $n[0].Int32, ps: 0 }], sn: "toString", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.Single.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.Single.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].Single, ps: 1 }], tpc: 0, def: function (s, result) { return System.Single.tryParse(s, null, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Single], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }, { n: "result", out: !0, pt: $n[0].Single, ps: 2 }], tpc: 0, def: function (s, provider, result) { return System.Single.tryParse(s, provider, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].IFormatProvider, $n[0].Single], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Epsilon", is: !0, t: 4, rt: $n[0].Single, sn: "Epsilon", box: function ($v) { return Bridge.box($v, System.Single, System.Single.format, System.Single.getHashCode) } }, { a: 2, n: "MaxValue", is: !0, t: 4, rt: $n[0].Single, sn: "MaxValue", box: function ($v) { return Bridge.box($v, System.Single, System.Single.format, System.Single.getHashCode) } }, { a: 2, n: "MinValue", is: !0, t: 4, rt: $n[0].Single, sn: "MinValue", box: function ($v) { return Bridge.box($v, System.Single, System.Single.format, System.Single.getHashCode) } }, { a: 2, n: "NaN", is: !0, t: 4, rt: $n[0].Single, sn: "naN", ro: !0, box: function ($v) { return Bridge.box($v, System.Single, System.Single.format, System.Single.getHashCode) } }, { a: 2, n: "NegativeInfinity", is: !0, t: 4, rt: $n[0].Single, sn: "negativeInfinity", ro: !0, box: function ($v) { return Bridge.box($v, System.Single, System.Single.format, System.Single.getHashCode) } }, { a: 2, n: "PositiveInfinity", is: !0, t: 4, rt: $n[0].Single, sn: "positiveInfinity", ro: !0, box: function ($v) { return Bridge.box($v, System.Single, System.Single.format, System.Single.getHashCode) } }] } }); $m($n[0].UInt16, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, def: function () { return Number } }, { a: 1, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], def: function () { return Number } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (obj) { return Bridge.compare(this, obj) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "other", pt: $n[0].UInt16, ps: 0 }], tpc: 0, def: function (other) { return Bridge.compare(this, other) }, rt: $n[0].Int32, p: [$n[0].UInt16], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (other) { return System.UInt16.equals(this, other) }, rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].UInt16, ps: 0 }], tpc: 0, def: function (other) { return this === other }, rt: $n[0].Boolean, p: [$n[0].UInt16], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.UInt16.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.UInt16.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (s) { return System.UInt16.parse(s) }, rt: $n[0].UInt16, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.UInt16) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "radix", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, radix) { return System.UInt16.parse(s, radix) }, rt: $n[0].UInt16, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.UInt16) } }, { a: 2, n: "ToString", t: 8, pi: [{ n: "radix", pt: $n[0].Int32, ps: 0 }], sn: "toString", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.UInt16.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.UInt16.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].UInt16, ps: 1 }], tpc: 0, def: function (s, result) { return System.UInt16.tryParse(s, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].UInt16], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].UInt16, ps: 1 }, { n: "radix", pt: $n[0].Int32, ps: 2 }], tpc: 0, def: function (s, result, radix) { return System.UInt16.tryParse(s, result, radix) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].UInt16, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "MaxValue", is: !0, t: 4, rt: $n[0].UInt16, sn: "MaxValue", box: function ($v) { return Bridge.box($v, System.UInt16) } }, { a: 2, n: "MinValue", is: !0, t: 4, rt: $n[0].UInt16, sn: "MinValue", box: function ($v) { return Bridge.box($v, System.UInt16) } }] } }); $m($n[0].Int32, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, def: function () { return Number } }, { a: 1, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], def: function () { return Number } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "other", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (other) { return Bridge.compare(this, other) }, rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (obj) { return Bridge.compare(this, obj) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (other) { return this === other }, rt: $n[0].Boolean, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (other) { return System.Int32.equals(this, other) }, rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.Int32.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.Int32.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (s) { return System.Int32.parse(s) }, rt: $n[0].Int32, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "radix", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, radix) { return System.Int32.parse(s, radix) }, rt: $n[0].Int32, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "ToString", t: 8, pi: [{ n: "radix", pt: $n[0].Int32, ps: 0 }], sn: "toString", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.Int32.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.Int32.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, result) { return System.Int32.tryParse(s, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].Int32, ps: 1 }, { n: "radix", pt: $n[0].Int32, ps: 2 }], tpc: 0, def: function (s, result, radix) { return System.Int32.tryParse(s, result, radix) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "MaxValue", is: !0, t: 4, rt: $n[0].Int32, sn: "MaxValue", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "MinValue", is: !0, t: 4, rt: $n[0].Int32, sn: "MinValue", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[0].Int64, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 1, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], sn: "ctor" }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "other", pt: $n[0].Int64, ps: 0 }], sn: "compareTo", rt: $n[0].Int32, p: [$n[0].Int64], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], sn: "compareTo", rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Int64, ps: 0 }], sn: "equalsT", rt: $n[0].Boolean, p: [$n[0].Int64], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], sn: "format", rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], sn: "format", rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (s) { return System.Int64.parse(s) }, rt: $n[0].Int64, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "radix", pt: $n[0].Int32, ps: 0 }], sn: "toString", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], sn: "toString", rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], sn: "format", rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].Int64, ps: 1 }], tpc: 0, def: function (s, result) { return System.Int64.tryParse(s, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int64], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], sn: "op_Explicit", rt: $n[0].Int64, p: [$n[0].Double] }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "op_Explicit", rt: $n[0].Byte, p: [$n[0].Int64], box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "op_Explicit", rt: $n[0].Char, p: [$n[0].Int64], box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "op_Explicit", rt: $n[0].Double, p: [$n[0].Int64], box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "op_Explicit", rt: $n[0].Int16, p: [$n[0].Int64], box: function ($v) { return Bridge.box($v, System.Int16) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "op_Explicit", rt: $n[0].Int32, p: [$n[0].Int64], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "op_Explicit", rt: $n[0].SByte, p: [$n[0].Int64], box: function ($v) { return Bridge.box($v, System.SByte) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "op_Explicit", rt: $n[0].Single, p: [$n[0].Int64], box: function ($v) { return Bridge.box($v, System.Single, System.Single.format, System.Single.getHashCode) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "op_Explicit", rt: $n[0].UInt16, p: [$n[0].Int64], box: function ($v) { return Bridge.box($v, System.UInt16) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "op_Explicit", rt: $n[0].UInt32, p: [$n[0].Int64], box: function ($v) { return Bridge.box($v, System.UInt32) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "op_Explicit", rt: $n[0].UInt64, p: [$n[0].Int64] }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Single, ps: 0 }], sn: "op_Explicit", rt: $n[0].Int64, p: [$n[0].Single] }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "op_Explicit", rt: $n[0].Int64, p: [$n[0].UInt64] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Byte, ps: 0 }], sn: "op_Implicit", rt: $n[0].Int64, p: [$n[0].Byte] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }], sn: "op_Implicit", rt: $n[0].Int64, p: [$n[0].Char] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int16, ps: 0 }], sn: "op_Implicit", rt: $n[0].Int64, p: [$n[0].Int16] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int32, ps: 0 }], sn: "op_Implicit", rt: $n[0].Int64, p: [$n[0].Int32] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].SByte, ps: 0 }], sn: "op_Implicit", rt: $n[0].Int64, p: [$n[0].SByte] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt16, ps: 0 }], sn: "op_Implicit", rt: $n[0].Int64, p: [$n[0].UInt16] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt32, ps: 0 }], sn: "op_Implicit", rt: $n[0].Int64, p: [$n[0].UInt32] }, { a: 2, n: "MaxValue", is: !0, t: 4, rt: $n[0].Int64, sn: "MaxValue" }, { a: 2, n: "MinValue", is: !0, t: 4, rt: $n[0].Int64, sn: "MinValue" }] } }); $m($n[0].UInt64, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 1, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], sn: "ctor" }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], sn: "compareTo", rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "other", pt: $n[0].UInt64, ps: 0 }], sn: "compareTo", rt: $n[0].Int32, p: [$n[0].UInt64], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].UInt64, ps: 0 }], sn: "equalsT", rt: $n[0].Boolean, p: [$n[0].UInt64], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], sn: "format", rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], sn: "format", rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (s) { return System.UInt64.parse(s) }, rt: $n[0].UInt64, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "radix", pt: $n[0].Int32, ps: 0 }], sn: "toString", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], sn: "toString", rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], sn: "format", rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].UInt64, ps: 1 }], tpc: 0, def: function (s, result) { return System.UInt64.tryParse(s, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].UInt64], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], sn: "op_Explicit", rt: $n[0].UInt64, p: [$n[0].Double] }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Single, ps: 0 }], sn: "op_Explicit", rt: $n[0].UInt64, p: [$n[0].Single] }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "op_Explicit", rt: $n[0].Byte, p: [$n[0].UInt64], box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "op_Explicit", rt: $n[0].Char, p: [$n[0].UInt64], box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "op_Explicit", rt: $n[0].Double, p: [$n[0].UInt64], box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "op_Explicit", rt: $n[0].Int16, p: [$n[0].UInt64], box: function ($v) { return Bridge.box($v, System.Int16) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "op_Explicit", rt: $n[0].Int32, p: [$n[0].UInt64], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "op_Explicit", rt: $n[0].SByte, p: [$n[0].UInt64], box: function ($v) { return Bridge.box($v, System.SByte) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "op_Explicit", rt: $n[0].Single, p: [$n[0].UInt64], box: function ($v) { return Bridge.box($v, System.Single, System.Single.format, System.Single.getHashCode) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "op_Explicit", rt: $n[0].UInt16, p: [$n[0].UInt64], box: function ($v) { return Bridge.box($v, System.UInt16) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "op_Explicit", rt: $n[0].UInt32, p: [$n[0].UInt64], box: function ($v) { return Bridge.box($v, System.UInt32) } }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Byte, ps: 0 }], sn: "op_Implicit", rt: $n[0].UInt64, p: [$n[0].Byte] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }], sn: "op_Implicit", rt: $n[0].UInt64, p: [$n[0].Char] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int16, ps: 0 }], sn: "op_Implicit", rt: $n[0].UInt64, p: [$n[0].Int16] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int32, ps: 0 }], sn: "op_Implicit", rt: $n[0].UInt64, p: [$n[0].Int32] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].SByte, ps: 0 }], sn: "op_Implicit", rt: $n[0].UInt64, p: [$n[0].SByte] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt16, ps: 0 }], sn: "op_Implicit", rt: $n[0].UInt64, p: [$n[0].UInt16] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt32, ps: 0 }], sn: "op_Implicit", rt: $n[0].UInt64, p: [$n[0].UInt32] }, { a: 2, n: "MaxValue", is: !0, t: 4, rt: $n[0].UInt64, sn: "MaxValue" }, { a: 2, n: "MinValue", is: !0, t: 4, rt: $n[0].UInt64, sn: "MinValue" }] } }); $m($n[0].UInt32, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, def: function () { return Number } }, { a: 1, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], def: function () { return Number } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (obj) { return Bridge.compare(this, obj) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "other", pt: $n[0].UInt32, ps: 0 }], tpc: 0, def: function (other) { return Bridge.compare(this, other) }, rt: $n[0].Int32, p: [$n[0].UInt32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (other) { return System.UInt32.equals(this, other) }, rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].UInt32, ps: 0 }], tpc: 0, def: function (other) { return this === other }, rt: $n[0].Boolean, p: [$n[0].UInt32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.UInt32.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.UInt32.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (s) { return System.UInt32.parse(s) }, rt: $n[0].UInt32, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.UInt32) } }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "radix", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (s, radix) { return System.UInt32.parse(s, radix) }, rt: $n[0].UInt32, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.UInt32) } }, { a: 2, n: "ToString", t: 8, pi: [{ n: "radix", pt: $n[0].Int32, ps: 0 }], sn: "toString", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return System.UInt32.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return System.UInt32.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].UInt32, ps: 1 }], tpc: 0, def: function (s, result) { return System.UInt32.tryParse(s, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].UInt32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].UInt32, ps: 1 }, { n: "radix", pt: $n[0].Int32, ps: 2 }], tpc: 0, def: function (s, result, radix) { return System.UInt32.tryParse(s, result, radix) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].UInt32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "MaxValue", is: !0, t: 4, rt: $n[0].UInt32, sn: "MaxValue", box: function ($v) { return Bridge.box($v, System.UInt32) } }, { a: 2, n: "MinValue", is: !0, t: 4, rt: $n[0].UInt32, sn: "MinValue", box: function ($v) { return Bridge.box($v, System.UInt32) } }] } }); $m($n[0].DivideByZeroException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], sn: "ctor" }] } }); $m($n[0].FormatException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], sn: "ctor" }] } }); $m($n[0].IFormattable, function () { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "formatProvider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, formatProvider) { return Bridge.format(this, format, formatProvider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }] } }); $m($n[0].Decimal, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, def: function () { return System.Decimal } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Double], pi: [{ n: "d", pt: $n[0].Double, ps: 0 }], def: function (d) { return System.Decimal(d) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], def: function (i) { return System.Decimal(i) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int64], pi: [{ n: "n", pt: $n[0].Int64, ps: 0 }], def: function (n) { return System.Decimal(n) } }, { a: 1, n: ".ctor", t: 1, p: [System.Object], pi: [{ n: "_", pt: System.Object, ps: 0 }], def: function () { return System.Decimal(0) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Single], pi: [{ n: "f", pt: $n[0].Single, ps: 0 }], def: function (f) { return System.Decimal(f) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].UInt32], pi: [{ n: "i", pt: $n[0].UInt32, ps: 0 }], def: function (i) { return System.Decimal(i) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].UInt64], pi: [{ n: "n", pt: $n[0].UInt64, ps: 0 }], def: function (n) { return System.Decimal(n) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Boolean, $n[0].Byte], pi: [{ n: "lo", pt: $n[0].Int32, ps: 0 }, { n: "mid", pt: $n[0].Int32, ps: 1 }, { n: "hi", pt: $n[0].Int32, ps: 2 }, { n: "isNegative", pt: $n[0].Boolean, ps: 3 }, { n: "scale", pt: $n[0].Byte, ps: 4 }], def: function () { return System.Decimal } }, { a: 2, n: "Abs", t: 8, sn: "abs", rt: $n[0].Decimal }, { a: 2, n: "Add", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.add(d2) }, rt: $n[0].Decimal, p: [$n[0].Decimal, $n[0].Decimal] }, { a: 2, n: "Ceiling", t: 8, sn: "ceil", rt: $n[0].Decimal }, { a: 2, n: "Ceiling", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (d) { return d.ceil() }, rt: $n[0].Decimal, p: [$n[0].Decimal] }, { a: 2, n: "Compare", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.compareTo(d2) }, rt: $n[0].Int32, p: [$n[0].Decimal, $n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "other", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (other) { return this.compareTo(other) }, rt: $n[0].Int32, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (obj) { return this.compareTo(obj) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "ComparedTo", t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }], sn: "comparedTo", rt: $n[0].Int32, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "DecimalPlaces", t: 8, sn: "decimalPlaces", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Divide", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.div(d2) }, rt: $n[0].Decimal, p: [$n[0].Decimal, $n[0].Decimal] }, { a: 2, n: "DividedToIntegerBy", t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }], sn: "dividedToIntegerBy", rt: $n[0].Decimal, p: [$n[0].Decimal] }, { a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Decimal, ps: 0 }], sn: "equalsT", rt: $n[0].Boolean, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "o", pt: $n[0].Object, ps: 0 }], sn: "equals", rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Equals", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.equals(d2) }, rt: $n[0].Boolean, p: [$n[0].Decimal, $n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Exp", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (d) { return System.Decimal.exp(d) }, rt: $n[0].Decimal, p: [$n[0].Decimal] }, { a: 2, n: "Exponential", t: 8, sn: "exponential", rt: $n[0].Decimal }, { a: 2, n: "Floor", t: 8, sn: "floor", rt: $n[0].Decimal }, { a: 2, n: "Floor", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (d) { return d.floor() }, rt: $n[0].Decimal, p: [$n[0].Decimal] }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return Bridge.Int.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return Bridge.Int.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 4, n: "FromBytes", is: !0, t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }], tpc: 0, def: function (bytes) { return System.Decimal.fromBytes(bytes) }, rt: $n[0].Decimal, p: [$n[0].Array.type(System.Byte)] }, { a: 4, n: "GetBytes", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (value) { return value.getBytes() }, rt: $n[0].Array.type(System.Byte), p: [$n[0].Decimal] }, { ov: !0, a: 2, n: "GetHashCode", t: 8, sn: "getHashCode", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IsFinite", t: 8, sn: "isFinite", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsInteger", t: 8, sn: "isInteger", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsNaN", t: 8, sn: "isNaN", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsNegative", t: 8, sn: "isNegative", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsZero", t: 8, sn: "isZero", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Ln", t: 8, sn: "ln", rt: $n[0].Decimal }, { a: 2, n: "Ln", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (d) { return System.Decimal.ln(d) }, rt: $n[0].Decimal, p: [$n[0].Decimal] }, { a: 2, n: "Log", t: 8, pi: [{ n: "logBase", pt: $n[0].Decimal, ps: 0 }], sn: "log", rt: $n[0].Decimal, p: [$n[0].Decimal] }, { a: 2, n: "Log", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }, { n: "logBase", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d, logBase) { return System.Decimal.log(d, logBase) }, rt: $n[0].Decimal, p: [$n[0].Decimal, $n[0].Decimal] }, { a: 2, n: "Max", is: !0, t: 8, pi: [{ n: "values", ip: !0, pt: $n[0].Array.type(System.Decimal), ps: 0 }], sn: "max", rt: $n[0].Decimal, p: [$n[0].Array.type(System.Decimal)] }, { a: 2, n: "Min", is: !0, t: 8, pi: [{ n: "values", ip: !0, pt: $n[0].Array.type(System.Decimal), ps: 0 }], sn: "min", rt: $n[0].Decimal, p: [$n[0].Array.type(System.Decimal)] }, { a: 2, n: "Multiply", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.mul(d2) }, rt: $n[0].Decimal, p: [$n[0].Decimal, $n[0].Decimal] }, { a: 2, n: "Negate", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (d) { return System.Decimal(0).sub(d) }, rt: $n[0].Decimal, p: [$n[0].Decimal] }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (s) { return System.Decimal(s) }, rt: $n[0].Decimal, p: [$n[0].String] }, { a: 2, n: "Parse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (s, provider) { return System.Decimal(s, provider) }, rt: $n[0].Decimal, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "Pow", t: 8, pi: [{ n: "n", pt: $n[0].Double, ps: 0 }], sn: "pow", rt: $n[0].Decimal, p: [$n[0].Double] }, { a: 2, n: "Pow", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }, { n: "exponent", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d, exponent) { return System.Decimal.pow(d, exponent) }, rt: $n[0].Decimal, p: [$n[0].Decimal, $n[0].Decimal] }, { a: 2, n: "Precision", t: 8, sn: "precision", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Random", is: !0, t: 8, pi: [{ n: "dp", pt: $n[0].Int32, ps: 0 }], sn: "random", rt: $n[0].Decimal, p: [$n[0].Int32] }, { a: 2, n: "Remainder", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.mod(d2) }, rt: $n[0].Decimal, p: [$n[0].Decimal, $n[0].Decimal] }, { a: 2, n: "Round", t: 8, sn: "round", rt: $n[0].Decimal }, { a: 2, n: "Round", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (d) { return System.Decimal.round(d, 6) }, rt: $n[0].Decimal, p: [$n[0].Decimal] }, { a: 2, n: "Round", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }, { n: "decimals", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (d, decimals) { return System.Decimal.toDecimalPlaces(d, decimals, 6) }, rt: $n[0].Decimal, p: [$n[0].Decimal, $n[0].Int32] }, { a: 2, n: "Round", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }, { n: "mode", pt: Number, ps: 1 }], tpc: 0, def: function (d, mode) { return System.Decimal.round(d, mode) }, rt: $n[0].Decimal, p: [$n[0].Decimal, Number] }, { a: 2, n: "Round", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }, { n: "decimals", pt: $n[0].Int32, ps: 1 }, { n: "mode", pt: Number, ps: 2 }], tpc: 0, def: function (d, decimals, mode) { return System.Decimal.toDecimalPlaces(d, decimals, mode) }, rt: $n[0].Decimal, p: [$n[0].Decimal, $n[0].Int32, Number] }, { a: 2, n: "SetConfig", is: !0, t: 8, pi: [{ n: "config", pt: $n[0].Object, ps: 0 }], sn: "setConfig", rt: $n[0].Void, p: [$n[0].Object] }, { a: 2, n: "Sqrt", t: 8, sn: "sqrt", rt: $n[0].Decimal }, { a: 2, n: "Sqrt", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (d) { return System.Decimal.sqrt(d) }, rt: $n[0].Decimal, p: [$n[0].Decimal] }, { a: 2, n: "Subtract", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.sub(d2) }, rt: $n[0].Decimal, p: [$n[0].Decimal, $n[0].Decimal] }, { a: 2, n: "ToByte", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (value) { return System.Decimal.toInt(value) }, rt: $n[0].Byte, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 2, n: "ToChar", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (value) { return System.Decimal.toInt(value) }, rt: $n[0].Char, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } }, { a: 2, n: "ToDecimalPlaces", t: 8, pi: [{ n: "dp", pt: $n[0].Int32, ps: 0 }, { n: "rm", pt: Number, ps: 1 }], sn: "toDecimalPlaces", rt: $n[0].Decimal, p: [$n[0].Int32, Number] }, { a: 2, n: "ToDouble", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (value) { return System.Decimal.toFloat(value) }, rt: $n[0].Double, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { a: 2, n: "ToExponential", t: 8, pi: [{ n: "dp", pt: $n[0].Int32, ps: 0 }, { n: "rm", pt: Number, ps: 1 }], sn: "toExponential", rt: $n[0].String, p: [$n[0].Int32, Number] }, { a: 2, n: "ToFixed", t: 8, pi: [{ n: "dp", pt: $n[0].Int32, ps: 0 }, { n: "rm", pt: Number, ps: 1 }], sn: "toFixed", rt: $n[0].String, p: [$n[0].Int32, Number] }, { a: 2, n: "ToFormat", t: 8, sn: "toFormat", rt: $n[0].String }, { a: 2, n: "ToFormat", t: 8, pi: [{ n: "config", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (config) { return this.toFormat(null, null, config) }, rt: $n[0].String, p: [$n[0].Object] }, { a: 2, n: "ToFormat", t: 8, pi: [{ n: "dp", pt: $n[0].Int32, ps: 0 }], sn: "toFormat", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "ToFormat", t: 8, pi: [{ n: "dp", pt: $n[0].Int32, ps: 0 }, { n: "rm", pt: Number, ps: 1 }], sn: "toFormat", rt: $n[0].String, p: [$n[0].Int32, Number] }, { a: 2, n: "ToFormat", t: 8, pi: [{ n: "dp", pt: $n[0].Int32, ps: 0 }, { n: "rm", pt: Number, ps: 1 }, { n: "config", pt: $n[0].Object, ps: 2 }], sn: "toFormat", rt: $n[0].String, p: [$n[0].Int32, Number, $n[0].Object] }, { a: 2, n: "ToFormat", t: 8, pi: [{ n: "dp", pt: $n[0].Int32, ps: 0 }, { n: "rm", pt: Number, ps: 1 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 2 }], sn: "toFormat", rt: $n[0].String, p: [$n[0].Int32, Number, $n[0].IFormatProvider] }, { a: 2, n: "ToInt16", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (value) { return System.Decimal.toInt(value) }, rt: $n[0].Int16, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Int16) } }, { a: 2, n: "ToInt32", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (value) { return System.Decimal.toInt(value) }, rt: $n[0].Int32, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "ToInt64", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (value) { return System.Decimal.toInt(value) }, rt: $n[0].Int64, p: [$n[0].Decimal] }, { a: 2, n: "ToPrecision", t: 8, pi: [{ n: "sd", pt: $n[0].Int32, ps: 0 }, { n: "rm", pt: Number, ps: 1 }], sn: "toPrecision", rt: $n[0].String, p: [$n[0].Int32, Number] }, { a: 2, n: "ToSByte", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (value) { return System.Decimal.toInt(value) }, rt: $n[0].SByte, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.SByte) } }, { a: 2, n: "ToSignificantDigits", t: 8, pi: [{ n: "sd", pt: $n[0].Int32, ps: 0 }, { n: "rm", pt: Number, ps: 1 }], sn: "toSignificantDigits", rt: $n[0].Decimal, p: [$n[0].Int32, Number] }, { a: 2, n: "ToSingle", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (value) { return System.Decimal.toFloat(value) }, rt: $n[0].Single, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Single, System.Single.format, System.Single.getHashCode) } }, { ov: !0, a: 2, n: "ToString", t: 8, sn: "toString", rt: $n[0].String }, { a: 2, n: "ToString", t: 8, pi: [{ n: "provider", pt: $n[0].IFormatProvider, ps: 0 }], tpc: 0, def: function (provider) { return Bridge.Int.format(this, "G", provider) }, rt: $n[0].String, p: [$n[0].IFormatProvider] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (format) { return Bridge.Int.format(this, format) }, rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], tpc: 0, def: function (format, provider) { return Bridge.Int.format(this, format, provider) }, rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "ToUInt16", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (value) { return System.Decimal.toInt(value) }, rt: $n[0].UInt16, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.UInt16) } }, { a: 2, n: "ToUInt32", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (value) { return System.Decimal.toInt(value) }, rt: $n[0].UInt32, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.UInt32) } }, { a: 2, n: "ToUInt64", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (value) { return System.Decimal.toInt(value) }, rt: $n[0].UInt64, p: [$n[0].Decimal] }, { a: 2, n: "Truncate", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (d) { return d.trunc() }, rt: $n[0].Decimal, p: [$n[0].Decimal] }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "result", out: !0, pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (s, result) { return System.Decimal.tryParse(s, null, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "TryParse", is: !0, t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }, { n: "result", out: !0, pt: $n[0].Decimal, ps: 2 }], tpc: 0, def: function (s, provider, result) { return System.Decimal.tryParse(s, provider, result) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].IFormatProvider, $n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Addition", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.add(d2) }, rt: $n[0].Decimal, p: [$n[0].Decimal, $n[0].Decimal] }, { a: 2, n: "op_Decrement", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (d) { return d.dec() }, rt: $n[0].Decimal, p: [$n[0].Decimal] }, { a: 2, n: "op_Division", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.div(d2) }, rt: $n[0].Decimal, p: [$n[0].Decimal, $n[0].Decimal] }, { a: 2, n: "op_Equality", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.equalsT(d2) }, rt: $n[0].Boolean, p: [$n[0].Decimal, $n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], sn: "op_Explicit", rt: $n[0].Byte, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], sn: "op_Explicit", rt: $n[0].Char, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], sn: "op_Explicit", rt: $n[0].Double, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], sn: "op_Explicit", rt: $n[0].Int16, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Int16) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], sn: "op_Explicit", rt: $n[0].Int32, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], sn: "op_Explicit", rt: $n[0].Int64, p: [$n[0].Decimal] }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], sn: "op_Explicit", rt: $n[0].SByte, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.SByte) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], sn: "op_Explicit", rt: $n[0].Single, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Single, System.Single.format, System.Single.getHashCode) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], sn: "op_Explicit", rt: $n[0].UInt16, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.UInt16) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], sn: "op_Explicit", rt: $n[0].UInt32, p: [$n[0].Decimal], box: function ($v) { return Bridge.box($v, System.UInt32) } }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], sn: "op_Explicit", rt: $n[0].UInt64, p: [$n[0].Decimal] }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], sn: "op_Explicit", rt: $n[0].Decimal, p: [$n[0].Double] }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Single, ps: 0 }], sn: "op_Explicit", rt: $n[0].Decimal, p: [$n[0].Single] }, { a: 2, n: "op_GreaterThan", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.gt(d2) }, rt: $n[0].Boolean, p: [$n[0].Decimal, $n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_GreaterThanOrEqual", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.gte(d2) }, rt: $n[0].Boolean, p: [$n[0].Decimal, $n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Byte, ps: 0 }], sn: "op_Implicit", rt: $n[0].Decimal, p: [$n[0].Byte] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }], sn: "op_Implicit", rt: $n[0].Decimal, p: [$n[0].Char] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int16, ps: 0 }], sn: "op_Implicit", rt: $n[0].Decimal, p: [$n[0].Int16] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int32, ps: 0 }], sn: "op_Implicit", rt: $n[0].Decimal, p: [$n[0].Int32] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "op_Implicit", rt: $n[0].Decimal, p: [$n[0].Int64] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].SByte, ps: 0 }], sn: "op_Implicit", rt: $n[0].Decimal, p: [$n[0].SByte] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt16, ps: 0 }], sn: "op_Implicit", rt: $n[0].Decimal, p: [$n[0].UInt16] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt32, ps: 0 }], sn: "op_Implicit", rt: $n[0].Decimal, p: [$n[0].UInt32] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "op_Implicit", rt: $n[0].Decimal, p: [$n[0].UInt64] }, { a: 2, n: "op_Increment", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (d) { return d.inc() }, rt: $n[0].Decimal, p: [$n[0].Decimal] }, { a: 2, n: "op_Inequality", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.ne(d2) }, rt: $n[0].Boolean, p: [$n[0].Decimal, $n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_LessThan", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.lt(d2) }, rt: $n[0].Boolean, p: [$n[0].Decimal, $n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_LessThanOrEqual", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.lte(d2) }, rt: $n[0].Boolean, p: [$n[0].Decimal, $n[0].Decimal], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Modulus", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.mod(d2) }, rt: $n[0].Decimal, p: [$n[0].Decimal, $n[0].Decimal] }, { a: 2, n: "op_Multiply", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.mul(d2) }, rt: $n[0].Decimal, p: [$n[0].Decimal, $n[0].Decimal] }, { a: 2, n: "op_Subtraction", is: !0, t: 8, pi: [{ n: "d1", pt: $n[0].Decimal, ps: 0 }, { n: "d2", pt: $n[0].Decimal, ps: 1 }], tpc: 0, def: function (d1, d2) { return d1.sub(d2) }, rt: $n[0].Decimal, p: [$n[0].Decimal, $n[0].Decimal] }, { a: 2, n: "op_UnaryNegation", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (d) { return d.neg() }, rt: $n[0].Decimal, p: [$n[0].Decimal] }, { a: 2, n: "op_UnaryPlus", is: !0, t: 8, pi: [{ n: "d", pt: $n[0].Decimal, ps: 0 }], tpc: 0, def: function (d) { return d.clone() }, rt: $n[0].Decimal, p: [$n[0].Decimal] }, { a: 2, n: "MaxValue", is: !0, t: 4, rt: $n[0].Decimal, sn: "MaxValue" }, { a: 2, n: "MinValue", is: !0, t: 4, rt: $n[0].Decimal, sn: "MinValue" }, { a: 2, n: "MinusOne", is: !0, t: 4, rt: $n[0].Decimal, sn: "MinusOne" }, { a: 2, n: "One", is: !0, t: 4, rt: $n[0].Decimal, sn: "One" }, { a: 2, n: "Zero", is: !0, t: 4, rt: $n[0].Decimal, sn: "Zero" }] } }); $m($n[0].IComparable, function () { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "CompareTo", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (obj) { return Bridge.compare(this, obj) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[0].IComparable$1, function (T) { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "CompareTo", t: 8, pi: [{ n: "other", pt: T, ps: 0 }], tpc: 0, def: function (other) { return Bridge.compare(this, other, !1, T) }, rt: $n[0].Int32, p: [T], box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[0].IEquatable$1, function (T) { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: T, ps: 0 }], tpc: 0, def: function (other) { return Bridge.equalsT(this, other, T) }, rt: $n[0].Boolean, p: [T], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }] } }); $m($n[0].InvalidCastException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], sn: "ctor" }] } }); $m($n[0].InvalidOperationException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], sn: "ctor" }] } }); $m($n[0].Exception, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], sn: "ctor" }, { v: !0, a: 2, n: "GetBaseException", t: 8, sn: "getBaseException", rt: $n[0].Exception }, { v: !0, a: 2, n: "Data", t: 16, rt: $n[3].IDictionary$2(System.Object, System.Object), g: { v: !0, a: 2, n: "get_Data", t: 8, rt: $n[3].IDictionary$2(System.Object, System.Object), fg: "Data" }, fn: "Data" }, { v: !0, a: 2, n: "InnerException", t: 16, rt: $n[0].Exception, g: { v: !0, a: 2, n: "get_InnerException", t: 8, rt: $n[0].Exception, fg: "InnerException" }, fn: "InnerException" }, { v: !0, a: 2, n: "Message", t: 16, rt: $n[0].String, g: { v: !0, a: 2, n: "get_Message", t: 8, rt: $n[0].String, fg: "Message" }, fn: "Message" }, { v: !0, a: 2, n: "StackTrace", t: 16, rt: $n[0].String, g: { v: !0, a: 2, n: "get_StackTrace", t: 8, rt: $n[0].String, fg: "StackTrace" }, fn: "StackTrace" }] } }); $m($n[0].NotImplementedException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], sn: "ctor" }] } }); $m($n[0].NotSupportedException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], sn: "ctor" }] } }); $m($n[0].Nullable$1, function (T) { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [T], pi: [{ n: "value", pt: T, ps: 0 }], def: function (value) { return value } }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (other) { return System.Nullable.equalsT(this, other) }, rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ov: !0, a: 2, n: "GetHashCode", t: 8, tpc: 0, def: function () { return System.Nullable.getHashCode(this, T) }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "GetValueOrDefault", t: 8, tpc: 0, def: function () { return System.Nullable.getValueOrDefault(this, T) }, rt: T }, { a: 2, n: "GetValueOrDefault", t: 8, pi: [{ n: "defaultValue", pt: T, ps: 0 }], tpc: 0, def: function (defaultValue) { return System.Nullable.getValueOrDefault(this, defaultValue) }, rt: T, p: [T] }, { ov: !0, a: 2, n: "ToString", t: 8, tpc: 0, def: function () { return System.Nullable.toString(this, T) }, rt: $n[0].String }, { a: 2, n: "op_Explicit", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Nullable$1(T), ps: 0 }], tpc: 0, def: function () { return System.Nullable.getValue(this) }, rt: T, p: [$n[0].Nullable$1(T)] }, { a: 2, n: "op_Implicit", is: !0, t: 8, pi: [{ n: "value", pt: T, ps: 0 }], sn: "op_Implicit", rt: $n[0].Nullable$1(T), p: [T] }, { a: 2, n: "HasValue", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_HasValue", t: 8, tpc: 0, def: function () { return System.Nullable.hasValue(this) }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 2, n: "Value", t: 16, rt: T, g: { a: 2, n: "get_Value", t: 8, tpc: 0, def: function () { return System.Nullable.getValue(this) }, rt: T } }] } }); $m($n[0].NullReferenceException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], sn: "ctor" }] } }); $m($n[0].String, function () { return { att: 1048833, a: 2, m: [{ a: 2, n: ".ctor", t: 1, def: function () { return "" } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Array.type(System.Char)], pi: [{ n: "value", pt: $n[0].Array.type(System.Char), ps: 0 }], def: function (value) { return System.String.fromCharArray(value) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Char, $n[0].Int32], pi: [{ n: "c", pt: $n[0].Char, ps: 0 }, { n: "count", pt: $n[0].Int32, ps: 1 }], def: function (c, count) { return System.String.fromCharCount(c, count) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32], pi: [{ n: "value", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }, { n: "length", pt: $n[0].Int32, ps: 2 }], def: function (value, startIndex, length) { return System.String.fromCharArray(value, startIndex, length) } }, { a: 2, n: "Clone", t: 8, tpc: 0, def: function () { return this }, rt: $n[0].Object }, { a: 2, n: "Compare", is: !0, t: 8, pi: [{ n: "strA", pt: $n[0].String, ps: 0 }, { n: "strB", pt: $n[0].String, ps: 1 }], tpc: 0, def: function (strA, strB) { return System.String.compare(strA, strB) }, rt: $n[0].Int32, p: [$n[0].String, $n[0].String], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Compare", is: !0, t: 8, pi: [{ n: "strA", pt: $n[0].String, ps: 0 }, { n: "strB", pt: $n[0].String, ps: 1 }, { n: "ignoreCase", pt: $n[0].Boolean, ps: 2 }], tpc: 0, def: function (strA, strB, ignoreCase) { return System.String.compare(strA, strB, ignoreCase) }, rt: $n[0].Int32, p: [$n[0].String, $n[0].String, $n[0].Boolean], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Compare", is: !0, t: 8, pi: [{ n: "strA", pt: $n[0].String, ps: 0 }, { n: "strB", pt: $n[0].String, ps: 1 }, { n: "comparisonType", pt: Number, ps: 2 }], tpc: 0, def: function (strA, strB, comparisonType) { return System.String.compare(strA, strB, comparisonType) }, rt: $n[0].Int32, p: [$n[0].String, $n[0].String, Number], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Compare", is: !0, t: 8, pi: [{ n: "strA", pt: $n[0].String, ps: 0 }, { n: "strB", pt: $n[0].String, ps: 1 }, { n: "ignoreCase", pt: $n[0].Boolean, ps: 2 }, { n: "culture", pt: $n[7].CultureInfo, ps: 3 }], tpc: 0, def: function (strA, strB, ignoreCase, culture) { return System.String.compare(strA, strB, ignoreCase, culture) }, rt: $n[0].Int32, p: [$n[0].String, $n[0].String, $n[0].Boolean, $n[7].CultureInfo], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Compare", is: !0, t: 8, pi: [{ n: "strA", pt: $n[0].String, ps: 0 }, { n: "indexA", pt: $n[0].Int32, ps: 1 }, { n: "strB", pt: $n[0].String, ps: 2 }, { n: "indexB", pt: $n[0].Int32, ps: 3 }, { n: "length", pt: $n[0].Int32, ps: 4 }], tpc: 0, def: function (strA, indexA, strB, indexB, length) { return System.String.compare(strA.substr(indexA, length), strB.substr(indexB, length)) }, rt: $n[0].Int32, p: [$n[0].String, $n[0].Int32, $n[0].String, $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Compare", is: !0, t: 8, pi: [{ n: "strA", pt: $n[0].String, ps: 0 }, { n: "indexA", pt: $n[0].Int32, ps: 1 }, { n: "strB", pt: $n[0].String, ps: 2 }, { n: "indexB", pt: $n[0].Int32, ps: 3 }, { n: "length", pt: $n[0].Int32, ps: 4 }, { n: "ignoreCase", pt: $n[0].Boolean, ps: 5 }], tpc: 0, def: function (strA, indexA, strB, indexB, length, ignoreCase) { return System.String.compare(strA.substr(indexA, length), strB.substr(indexB, length), ignoreCase) }, rt: $n[0].Int32, p: [$n[0].String, $n[0].Int32, $n[0].String, $n[0].Int32, $n[0].Int32, $n[0].Boolean], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Compare", is: !0, t: 8, pi: [{ n: "strA", pt: $n[0].String, ps: 0 }, { n: "indexA", pt: $n[0].Int32, ps: 1 }, { n: "strB", pt: $n[0].String, ps: 2 }, { n: "indexB", pt: $n[0].Int32, ps: 3 }, { n: "length", pt: $n[0].Int32, ps: 4 }, { n: "comparisonType", pt: Number, ps: 5 }], tpc: 0, def: function (strA, indexA, strB, indexB, length, comparisonType) { return System.String.compare(strA.substr(indexA, length), strB.substr(indexB, length), comparisonType) }, rt: $n[0].Int32, p: [$n[0].String, $n[0].Int32, $n[0].String, $n[0].Int32, $n[0].Int32, Number], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Compare", is: !0, t: 8, pi: [{ n: "strA", pt: $n[0].String, ps: 0 }, { n: "indexA", pt: $n[0].Int32, ps: 1 }, { n: "strB", pt: $n[0].String, ps: 2 }, { n: "indexB", pt: $n[0].Int32, ps: 3 }, { n: "length", pt: $n[0].Int32, ps: 4 }, { n: "ignoreCase", pt: $n[0].Boolean, ps: 5 }, { n: "culture", pt: $n[7].CultureInfo, ps: 6 }], tpc: 0, def: function (strA, indexA, strB, indexB, length, ignoreCase, culture) { return System.String.compare(strA.substr(indexA, length), strB.substr(indexB, length), ignoreCase, culture) }, rt: $n[0].Int32, p: [$n[0].String, $n[0].Int32, $n[0].String, $n[0].Int32, $n[0].Int32, $n[0].Boolean, $n[7].CultureInfo], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "value", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (value) { return System.String.compare(this, value.toString()) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "strB", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (strB) { return System.String.compare(this, strB) }, rt: $n[0].Int32, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Concat", is: !0, t: 8, pi: [{ n: "values", pt: $n[3].IEnumerable$1(System.String), ps: 0 }], tpc: 0, def: function (values) { return System.String.concat(Bridge.toArray(values)) }, rt: $n[0].String, p: [$n[3].IEnumerable$1(System.String)] }, { a: 2, n: "Concat", is: !0, t: 8, pi: [{ n: "values", pt: $n[3].IEnumerable$1(System.Object), ps: 0 }], tpc: 1, def: function (T, values) { return System.String.concat(Bridge.toArray(values)) }, rt: $n[0].String, p: [$n[3].IEnumerable$1(System.Object)] }, { a: 2, n: "Concat", is: !0, t: 8, pi: [{ n: "arg0", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (arg0) { return System.String.concat(arg0) }, rt: $n[0].String, p: [$n[0].Object] }, { a: 2, n: "Concat", is: !0, t: 8, pi: [{ n: "args", ip: !0, pt: $n[0].Array.type(System.Object), ps: 0 }], tpc: 0, def: function () { return System.String.concat(Array.prototype.slice.call((arguments, 0))) }, rt: $n[0].String, p: [$n[0].Array.type(System.Object)] }, { a: 2, n: "Concat", is: !0, t: 8, pi: [{ n: "values", ip: !0, pt: $n[0].Array.type(System.String), ps: 0 }], tpc: 0, def: function () { return System.String.concat(Array.prototype.slice.call((arguments, 0))) }, rt: $n[0].String, p: [$n[0].Array.type(System.String)] }, { a: 2, n: "Concat", is: !0, t: 8, pi: [{ n: "arg0", pt: $n[0].Object, ps: 0 }, { n: "arg1", pt: $n[0].Object, ps: 1 }], tpc: 0, def: function (arg0, arg1) { return System.String.concat(arg0, arg1) }, rt: $n[0].String, p: [$n[0].Object, $n[0].Object] }, { a: 2, n: "Concat", is: !0, t: 8, pi: [{ n: "str0", pt: $n[0].String, ps: 0 }, { n: "str1", pt: $n[0].String, ps: 1 }], tpc: 0, def: function (str0, str1) { return System.String.concat(str0, str1) }, rt: $n[0].String, p: [$n[0].String, $n[0].String] }, { a: 2, n: "Concat", is: !0, t: 8, pi: [{ n: "arg0", pt: $n[0].Object, ps: 0 }, { n: "arg1", pt: $n[0].Object, ps: 1 }, { n: "arg2", pt: $n[0].Object, ps: 2 }], tpc: 0, def: function (arg0, arg1, arg2) { return System.String.concat(arg0, arg1, arg2) }, rt: $n[0].String, p: [$n[0].Object, $n[0].Object, $n[0].Object] }, { a: 2, n: "Concat", is: !0, t: 8, pi: [{ n: "str0", pt: $n[0].String, ps: 0 }, { n: "str1", pt: $n[0].String, ps: 1 }, { n: "str2", pt: $n[0].String, ps: 2 }], tpc: 0, def: function (str0, str1, str2) { return System.String.concat(str0, str1, str2) }, rt: $n[0].String, p: [$n[0].String, $n[0].String, $n[0].String] }, { a: 2, n: "Concat", is: !0, t: 8, pi: [{ n: "arg0", pt: $n[0].Object, ps: 0 }, { n: "arg1", pt: $n[0].Object, ps: 1 }, { n: "arg2", pt: $n[0].Object, ps: 2 }, { n: "arg3", pt: $n[0].Object, ps: 3 }], tpc: 0, def: function (arg0, arg1, arg2, arg3) { return System.String.concat(arg0, arg1, arg2, arg3) }, rt: $n[0].String, p: [$n[0].Object, $n[0].Object, $n[0].Object, $n[0].Object] }, { a: 2, n: "Concat", is: !0, t: 8, pi: [{ n: "str0", pt: $n[0].String, ps: 0 }, { n: "str1", pt: $n[0].String, ps: 1 }, { n: "str2", pt: $n[0].String, ps: 2 }, { n: "str3", pt: $n[0].String, ps: 3 }], tpc: 0, def: function (str0, str1, str2, str3) { return System.String.concat(str0, str1, str2, str3) }, rt: $n[0].String, p: [$n[0].String, $n[0].String, $n[0].String, $n[0].String] }, { a: 2, n: "Concat", is: !0, t: 8, pi: [{ n: "arg0", pt: $n[0].Object, ps: 0 }, { n: "arg1", pt: $n[0].Object, ps: 1 }, { n: "arg2", pt: $n[0].Object, ps: 2 }, { n: "arg3", pt: $n[0].Object, ps: 3 }, { n: "args", ip: !0, pt: $n[0].Array.type(System.Object), ps: 4 }], tpc: 0, def: function (arg0, arg1, arg2, arg3, args) { return System.String.concat(arg0, arg1, arg2, arg3, args) }, rt: $n[0].String, p: [$n[0].Object, $n[0].Object, $n[0].Object, $n[0].Object, $n[0].Array.type(System.Object)] }, { a: 2, n: "Contains", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (value) { return System.String.contains(this, value) }, rt: $n[0].Boolean, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "sourceIndex", pt: $n[0].Int32, ps: 0 }, { n: "destination", pt: $n[0].Array.type(System.Char), ps: 1 }, { n: "destinationIndex", pt: $n[0].Int32, ps: 2 }, { n: "count", pt: $n[0].Int32, ps: 3 }], tpc: 0, def: function (sourceIndex, destination, destinationIndex, count) { return System.String.copyTo(this, sourceIndex, destination, destinationIndex, count) }, rt: $n[0].Void, p: [$n[0].Int32, $n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32] }, { a: 2, n: "EndsWith", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (value) { return System.String.endsWith(this, value) }, rt: $n[0].Boolean, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (value) { return System.String.equals(this, value) }, rt: $n[0].Boolean, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Equals", is: !0, t: 8, pi: [{ n: "a", pt: $n[0].String, ps: 0 }, { n: "b", pt: $n[0].String, ps: 1 }], tpc: 0, def: function (a, b) { return System.String.equals(a, b) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].String], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Equals", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }, { n: "comparisonType", pt: Number, ps: 1 }], tpc: 0, def: function (value, comparisonType) { return System.String.equals(this, value, comparisonType) }, rt: $n[0].Boolean, p: [$n[0].String, Number], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Equals", is: !0, t: 8, pi: [{ n: "a", pt: $n[0].String, ps: 0 }, { n: "b", pt: $n[0].String, ps: 1 }, { n: "comparisonType", pt: Number, ps: 2 }], tpc: 0, def: function (a, b, comparisonType) { return System.String.equals(a, b, comparisonType) }, rt: $n[0].Boolean, p: [$n[0].String, $n[0].String, Number], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Format", is: !0, t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }], tpc: 0, def: function (format, arg0) { return System.String.format(format, [arg0]) }, rt: $n[0].String, p: [$n[0].String, $n[0].Object] }, { a: 2, n: "Format", is: !0, t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "args", ip: !0, pt: $n[0].Array.type(System.Object), ps: 1 }], tpc: 0, def: function (format, args) { return System.String.format(format, args) }, rt: $n[0].String, p: [$n[0].String, $n[0].Array.type(System.Object)] }, { a: 2, n: "Format", is: !0, t: 8, pi: [{ n: "provider", pt: $n[0].IFormatProvider, ps: 0 }, { n: "format", pt: $n[0].String, ps: 1 }, { n: "arg0", pt: $n[0].Object, ps: 2 }], tpc: 0, def: function (provider, format, arg0) { return System.String.formatProvider(provider, format, [arg0]) }, rt: $n[0].String, p: [$n[0].IFormatProvider, $n[0].String, $n[0].Object] }, { a: 2, n: "Format", is: !0, t: 8, pi: [{ n: "provider", pt: $n[0].IFormatProvider, ps: 0 }, { n: "format", pt: $n[0].String, ps: 1 }, { n: "args", ip: !0, pt: $n[0].Array.type(System.Object), ps: 2 }], tpc: 0, def: function (provider, format, args) { return System.String.formatProvider(provider, format, args) }, rt: $n[0].String, p: [$n[0].IFormatProvider, $n[0].String, $n[0].Array.type(System.Object)] }, { a: 2, n: "Format", is: !0, t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }, { n: "arg1", pt: $n[0].Object, ps: 2 }], tpc: 0, def: function (format, arg0, arg1) { return System.String.format(format, arg0, arg1) }, rt: $n[0].String, p: [$n[0].String, $n[0].Object, $n[0].Object] }, { a: 2, n: "Format", is: !0, t: 8, pi: [{ n: "provider", pt: $n[0].IFormatProvider, ps: 0 }, { n: "format", pt: $n[0].String, ps: 1 }, { n: "arg0", pt: $n[0].Object, ps: 2 }, { n: "arg1", pt: $n[0].Object, ps: 3 }], tpc: 0, def: function (provider, format, arg0, arg1) { return System.String.formatProvider(provider, format, arg0, arg1) }, rt: $n[0].String, p: [$n[0].IFormatProvider, $n[0].String, $n[0].Object, $n[0].Object] }, { a: 2, n: "Format", is: !0, t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }, { n: "arg1", pt: $n[0].Object, ps: 2 }, { n: "arg2", pt: $n[0].Object, ps: 3 }], tpc: 0, def: function (format, arg0, arg1, arg2) { return System.String.format(format, arg0, arg1, arg2) }, rt: $n[0].String, p: [$n[0].String, $n[0].Object, $n[0].Object, $n[0].Object] }, { a: 2, n: "Format", is: !0, t: 8, pi: [{ n: "provider", pt: $n[0].IFormatProvider, ps: 0 }, { n: "format", pt: $n[0].String, ps: 1 }, { n: "arg0", pt: $n[0].Object, ps: 2 }, { n: "arg1", pt: $n[0].Object, ps: 3 }, { n: "arg2", pt: $n[0].Object, ps: 4 }], tpc: 0, def: function (provider, format, arg0, arg1, arg2) { return System.String.formatProvider(provider, format, arg0, arg1, arg2) }, rt: $n[0].String, p: [$n[0].IFormatProvider, $n[0].String, $n[0].Object, $n[0].Object, $n[0].Object] }, { a: 2, n: "GetEnumerator", t: 8, tpc: 0, def: function () { return Bridge.getEnumerator(this) }, rt: $n[0].CharEnumerator }, { a: 2, n: "IndexOf", t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }], tpc: 0, def: function (value) { return System.String.indexOf(this, String.fromCharCode(value)) }, rt: $n[0].Int32, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IndexOf", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (value) { return System.String.indexOf(this, value) }, rt: $n[0].Int32, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IndexOf", t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (value, startIndex) { return System.String.indexOf(this, String.fromCharCode(value), startIndex) }, rt: $n[0].Int32, p: [$n[0].Char, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IndexOf", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (value, startIndex) { return System.String.indexOf(this, value, startIndex) }, rt: $n[0].Int32, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IndexOf", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }, { n: "comparisonType", pt: Number, ps: 1 }], tpc: 0, def: function (value, comparisonType) { return $t = this, System.String.indexOf($t, value, 0, $t.length, comparisonType) }, rt: $n[0].Int32, p: [$n[0].String, Number], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IndexOf", t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], tpc: 0, def: function (value, startIndex, count) { return System.String.indexOf(this, String.fromCharCode(value), startIndex, count) }, rt: $n[0].Int32, p: [$n[0].Char, $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IndexOf", t: 8, pi: [{ n: "searchValue", pt: $n[0].String, ps: 0 }, { n: "fromIndex", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], tpc: 0, def: function (searchValue, fromIndex, count) { return System.String.indexOf(this, searchValue, fromIndex, count) }, rt: $n[0].Int32, p: [$n[0].String, $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IndexOf", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }, { n: "comparisonType", pt: Number, ps: 2 }], tpc: 0, def: function (value, startIndex, comparisonType) { return $t1 = this, System.String.indexOf($t1, value, startIndex, $t1.length, comparisonType) }, rt: $n[0].Int32, p: [$n[0].String, $n[0].Int32, Number], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IndexOf", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "comparisonType", pt: Number, ps: 3 }], tpc: 0, def: function (value, startIndex, count, comparisonType) { return System.String.indexOf(this, value, startIndex, count, comparisonType) }, rt: $n[0].Int32, p: [$n[0].String, $n[0].Int32, $n[0].Int32, Number], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IndexOfAny", t: 8, pi: [{ n: "anyOf", pt: $n[0].Array.type(System.Char), ps: 0 }], tpc: 0, def: function (anyOf) { return System.String.indexOfAny(this, anyOf) }, rt: $n[0].Int32, p: [$n[0].Array.type(System.Char)], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IndexOfAny", t: 8, pi: [{ n: "anyOf", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (anyOf, startIndex) { return System.String.indexOfAny(this, anyOf, startIndex) }, rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IndexOfAny", t: 8, pi: [{ n: "anyOf", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], tpc: 0, def: function (anyOf, startIndex, count) { return System.String.indexOfAny(this, anyOf, startIndex, count) }, rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Insert", t: 8, pi: [{ n: "startIndex", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].String, ps: 1 }], tpc: 0, def: function (startIndex, value) { return System.String.insert(startIndex, this, value) }, rt: $n[0].String, p: [$n[0].Int32, $n[0].String] }, { a: 2, n: "IsNullOrEmpty", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (value) { return System.String.isNullOrEmpty(value) }, rt: $n[0].Boolean, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsNullOrWhiteSpace", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (value) { return System.String.isNullOrWhiteSpace(value) }, rt: $n[0].Boolean, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Join", is: !0, t: 8, pi: [{ n: "separator", pt: $n[0].String, ps: 0 }, { n: "values", pt: $n[3].IEnumerable$1(System.String), ps: 1 }], tpc: 0, def: function (separator, values) { return Bridge.toArray(values).join(separator) }, rt: $n[0].String, p: [$n[0].String, $n[3].IEnumerable$1(System.String)] }, { a: 2, n: "Join", is: !0, t: 8, pi: [{ n: "separator", pt: $n[0].String, ps: 0 }, { n: "values", pt: $n[3].IEnumerable$1(System.Object), ps: 1 }], tpc: 1, def: function (T, separator, values) { return Bridge.toArray(values).join(separator) }, rt: $n[0].String, p: [$n[0].String, $n[3].IEnumerable$1(System.Object)] }, { a: 2, n: "Join", is: !0, t: 8, pi: [{ n: "separator", pt: $n[0].String, ps: 0 }, { n: "values", ip: !0, pt: $n[0].Array.type(System.Object), ps: 1 }], tpc: 0, def: function (separator) { return Array.prototype.slice.call((arguments, 1)).join(separator) }, rt: $n[0].String, p: [$n[0].String, $n[0].Array.type(System.Object)] }, { a: 2, n: "Join", is: !0, t: 8, pi: [{ n: "separator", pt: $n[0].String, ps: 0 }, { n: "value", ip: !0, pt: $n[0].Array.type(System.String), ps: 1 }], tpc: 0, def: function (separator) { return Array.prototype.slice.call((arguments, 1)).join(separator) }, rt: $n[0].String, p: [$n[0].String, $n[0].Array.type(System.String)] }, { a: 2, n: "Join", is: !0, t: 8, pi: [{ n: "separator", pt: $n[0].String, ps: 0 }, { n: "value", pt: $n[0].Array.type(System.String), ps: 1 }, { n: "startIndex", pt: $n[0].Int32, ps: 2 }, { n: "count", pt: $n[0].Int32, ps: 3 }], tpc: 0, def: function (separator, value, startIndex, count) { return value.slice(startIndex, startIndex + count).join(separator) }, rt: $n[0].String, p: [$n[0].String, $n[0].Array.type(System.String), $n[0].Int32, $n[0].Int32] }, { a: 2, n: "LastIndexOf", t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }], tpc: 0, def: function (value) { return this.lastIndexOf(String.fromCharCode(value)) }, rt: $n[0].Int32, p: [$n[0].Char], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "LastIndexOf", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], sn: "lastIndexOf", rt: $n[0].Int32, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "LastIndexOf", t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (value, startIndex) { return this.lastIndexOf(String.fromCharCode(value), startIndex) }, rt: $n[0].Int32, p: [$n[0].Char, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "LastIndexOf", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], sn: "lastIndexOf", rt: $n[0].Int32, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "LastIndexOf", t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], tpc: 0, def: function (value, startIndex, count) { return System.String.lastIndexOf(this, String.fromCharCode(value), startIndex, count) }, rt: $n[0].Int32, p: [$n[0].Char, $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "LastIndexOf", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], tpc: 0, def: function (value, startIndex, count) { return System.String.lastIndexOf(this, value, startIndex, count) }, rt: $n[0].Int32, p: [$n[0].String, $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "LastIndexOfAny", t: 8, pi: [{ n: "anyOf", ip: !0, pt: $n[0].Array.type(System.Char), ps: 0 }], tpc: 0, def: function () { return System.String.lastIndexOfAny(this, Array.prototype.slice.call((arguments, 0))) }, rt: $n[0].Int32, p: [$n[0].Array.type(System.Char)], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "LastIndexOfAny", t: 8, pi: [{ n: "anyOf", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (anyOf, startIndex) { return System.String.lastIndexOfAny(this, anyOf, startIndex) }, rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "LastIndexOfAny", t: 8, pi: [{ n: "anyOf", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], tpc: 0, def: function (anyOf, startIndex, count) { return System.String.lastIndexOfAny(this, anyOf, startIndex, count) }, rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "PadLeft", t: 8, pi: [{ n: "totalWidth", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (totalWidth) { return System.String.alignString(this, totalWidth) }, rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "PadLeft", t: 8, pi: [{ n: "totalWidth", pt: $n[0].Int32, ps: 0 }, { n: "paddingChar", pt: $n[0].Char, ps: 1 }], tpc: 0, def: function (totalWidth, paddingChar) { return System.String.alignString(this, totalWidth, paddingChar) }, rt: $n[0].String, p: [$n[0].Int32, $n[0].Char] }, { a: 2, n: "PadRight", t: 8, pi: [{ n: "totalWidth", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (totalWidth) { return System.String.alignString(this, -totalWidth) }, rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "PadRight", t: 8, pi: [{ n: "totalWidth", pt: $n[0].Int32, ps: 0 }, { n: "paddingChar", pt: $n[0].Char, ps: 1 }], tpc: 0, def: function (totalWidth, paddingChar) { return System.String.alignString(this, -totalWidth, paddingChar) }, rt: $n[0].String, p: [$n[0].Int32, $n[0].Char] }, { a: 2, n: "Remove", t: 8, pi: [{ n: "startIndex", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (startIndex) { return System.String.remove(this, startIndex) }, rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "Remove", t: 8, pi: [{ n: "startIndex", pt: $n[0].Int32, ps: 0 }, { n: "count", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (startIndex, count) { return System.String.remove(this, startIndex, count) }, rt: $n[0].String, p: [$n[0].Int32, $n[0].Int32] }, { a: 2, n: "Replace", t: 8, pi: [{ n: "oldChar", pt: $n[0].Char, ps: 0 }, { n: "newChar", pt: $n[0].Char, ps: 1 }], tpc: 0, def: function (oldChar, newChar) { return System.String.replaceAll(this, String.fromCharCode(oldChar), String.fromCharCode(newChar)) }, rt: $n[0].String, p: [$n[0].Char, $n[0].Char] }, { a: 2, n: "Replace", t: 8, pi: [{ n: "oldValue", pt: $n[0].String, ps: 0 }, { n: "newValue", pt: $n[0].String, ps: 1 }], tpc: 0, def: function (oldValue, newValue) { return System.String.replaceAll(this, oldValue, newValue) }, rt: $n[0].String, p: [$n[0].String, $n[0].String] }, { a: 2, n: "Split", t: 8, pi: [{ n: "separator", ip: !0, pt: $n[0].Array.type(System.Char), ps: 0 }], tpc: 0, def: function () { return System.String.split(this, Array.prototype.slice.call((arguments, 0)).map(function (i) { return String.fromCharCode(i) })) }, rt: $n[0].Array.type(System.String), p: [$n[0].Array.type(System.Char)] }, { a: 2, n: "Split", t: 8, pi: [{ n: "separator", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "count", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (separator, count) { return System.String.split(this, separator.map(function (i) { return String.fromCharCode(i) }), count) }, rt: $n[0].Array.type(System.String), p: [$n[0].Array.type(System.Char), $n[0].Int32] }, { a: 2, n: "Split", t: 8, pi: [{ n: "separator", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "options", pt: Number, ps: 1 }], tpc: 0, def: function (separator, options) { return System.String.split(this, separator.map(function (i) { return String.fromCharCode(i) }), null, options) }, rt: $n[0].Array.type(System.String), p: [$n[0].Array.type(System.Char), Number] }, { a: 2, n: "Split", t: 8, pi: [{ n: "separator", pt: $n[0].Array.type(System.String), ps: 0 }, { n: "options", pt: Number, ps: 1 }], tpc: 0, def: function (separator, options) { return System.String.split(this, separator, null, options) }, rt: $n[0].Array.type(System.String), p: [$n[0].Array.type(System.String), Number] }, { a: 2, n: "Split", t: 8, pi: [{ n: "separator", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "count", pt: $n[0].Int32, ps: 1 }, { n: "options", pt: Number, ps: 2 }], tpc: 0, def: function (separator, count, options) { return System.String.split(this, separator.map(function (i) { return String.fromCharCode(i) }), count, options) }, rt: $n[0].Array.type(System.String), p: [$n[0].Array.type(System.Char), $n[0].Int32, Number] }, { a: 2, n: "Split", t: 8, pi: [{ n: "separator", pt: $n[0].Array.type(System.String), ps: 0 }, { n: "count", pt: $n[0].Int32, ps: 1 }, { n: "options", pt: Number, ps: 2 }], tpc: 0, def: function (separator, count, options) { return System.String.split(this, separator, count, options) }, rt: $n[0].Array.type(System.String), p: [$n[0].Array.type(System.String), $n[0].Int32, Number] }, { a: 2, n: "StartsWith", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (value) { return System.String.startsWith(this, value) }, rt: $n[0].Boolean, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Substring", t: 8, pi: [{ n: "startIndex", pt: $n[0].Int32, ps: 0 }], sn: "substr", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "Substring", t: 8, pi: [{ n: "startIndex", pt: $n[0].Int32, ps: 0 }, { n: "length", pt: $n[0].Int32, ps: 1 }], sn: "substr", rt: $n[0].String, p: [$n[0].Int32, $n[0].Int32] }, { a: 2, n: "ToCharArray", t: 8, tpc: 0, def: function () { return $t2 = this, System.String.toCharArray($t2, 0, $t2.length) }, rt: $n[0].Array.type(System.Char) }, { a: 2, n: "ToCharArray", t: 8, pi: [{ n: "startIndex", pt: $n[0].Int32, ps: 0 }, { n: "length", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (startIndex, length) { return System.String.toCharArray(this, startIndex, length) }, rt: $n[0].Array.type(System.Char), p: [$n[0].Int32, $n[0].Int32] }, { a: 2, n: "ToLower", t: 8, tpc: 0, def: function () { return this.toLowerCase() }, rt: $n[0].String }, { a: 2, n: "ToUpper", t: 8, tpc: 0, def: function () { return this.toUpperCase() }, rt: $n[0].String }, { a: 2, n: "Trim", t: 8, sn: "trim", rt: $n[0].String }, { a: 2, n: "Trim", t: 8, pi: [{ n: "trimChars", ip: !0, pt: $n[0].Array.type(System.Char), ps: 0 }], tpc: 0, def: function () { return System.String.trim(this, Array.prototype.slice.call((arguments, 0))) }, rt: $n[0].String, p: [$n[0].Array.type(System.Char)] }, { a: 2, n: "TrimEnd", t: 8, tpc: 0, def: function () { return System.String.trimEnd(this) }, rt: $n[0].String }, { a: 2, n: "TrimEnd", t: 8, pi: [{ n: "trimChars", ip: !0, pt: $n[0].Array.type(System.Char), ps: 0 }], tpc: 0, def: function () { return System.String.trimEnd(this, Array.prototype.slice.call((arguments, 0))) }, rt: $n[0].String, p: [$n[0].Array.type(System.Char)] }, { a: 2, n: "TrimStart", t: 8, tpc: 0, def: function () { return System.String.trimStart(this) }, rt: $n[0].String }, { a: 2, n: "TrimStart", t: 8, pi: [{ n: "trimChars", ip: !0, pt: $n[0].Array.type(System.Char), ps: 0 }], tpc: 0, def: function () { return System.String.trimStart(this, Array.prototype.slice.call((arguments, 0))) }, rt: $n[0].String, p: [$n[0].Array.type(System.Char)] }, { a: 2, n: "op_Equality", is: !0, t: 8, pi: [{ n: "s1", pt: $n[0].String, ps: 0 }, { n: "s2", pt: $n[0].String, ps: 1 }], sn: "op_Equality", rt: $n[0].Boolean, p: [$n[0].String, $n[0].String], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Inequality", is: !0, t: 8, pi: [{ n: "s1", pt: $n[0].String, ps: 0 }, { n: "s2", pt: $n[0].String, ps: 1 }], sn: "op_Inequality", rt: $n[0].Boolean, p: [$n[0].String, $n[0].String], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Item", t: 16, rt: $n[0].Char, p: [$n[0].Int32], i: !0, ipi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], g: { a: 2, n: "get_Item", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (index) { return this.charCodeAt(index) }, rt: $n[0].Char, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } } }, { a: 2, n: "Length", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Length", t: 8, rt: $n[0].Int32, fg: "length", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "length" }, { a: 2, n: "Empty", is: !0, t: 4, rt: $n[0].String, sn: "Empty" }] } }); $m($n[0].TimeSpan, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int64], pi: [{ n: "ticks", pt: $n[0].Int64, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Int32, $n[0].Int32], pi: [{ n: "hours", pt: $n[0].Int32, ps: 0 }, { n: "minutes", pt: $n[0].Int32, ps: 1 }, { n: "seconds", pt: $n[0].Int32, ps: 2 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32], pi: [{ n: "days", pt: $n[0].Int32, ps: 0 }, { n: "hours", pt: $n[0].Int32, ps: 1 }, { n: "minutes", pt: $n[0].Int32, ps: 2 }, { n: "seconds", pt: $n[0].Int32, ps: 3 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32, $n[0].Int32], pi: [{ n: "days", pt: $n[0].Int32, ps: 0 }, { n: "hours", pt: $n[0].Int32, ps: 1 }, { n: "minutes", pt: $n[0].Int32, ps: 2 }, { n: "seconds", pt: $n[0].Int32, ps: 3 }, { n: "milliseconds", pt: $n[0].Int32, ps: 4 }], sn: "ctor" }, { a: 2, n: "Add", t: 8, pi: [{ n: "ts", pt: $n[0].TimeSpan, ps: 0 }], sn: "add", rt: $n[0].TimeSpan, p: [$n[0].TimeSpan] }, { a: 2, n: "Compare", is: !0, t: 8, pi: [{ n: "t1", pt: $n[0].TimeSpan, ps: 0 }, { n: "t2", pt: $n[0].TimeSpan, ps: 1 }], tpc: 0, def: function (t1, t2) { return t1.compareTo(t2) }, rt: $n[0].Int32, p: [$n[0].TimeSpan, $n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "value", pt: $n[0].Object, ps: 0 }], sn: "compareTo", rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CompareTo", t: 8, pi: [{ n: "value", pt: $n[0].TimeSpan, ps: 0 }], sn: "compareTo", rt: $n[0].Int32, p: [$n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Duration", t: 8, sn: "duration", rt: $n[0].TimeSpan }, { a: 2, n: "Equals", t: 8, pi: [{ n: "obj", pt: $n[0].TimeSpan, ps: 0 }], sn: "equalsT", rt: $n[0].Boolean, p: [$n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Equals", is: !0, t: 8, pi: [{ n: "t1", pt: $n[0].TimeSpan, ps: 0 }, { n: "t2", pt: $n[0].TimeSpan, ps: 1 }], tpc: 0, def: function (t1, t2) { return t1.ticks.eq(t2.ticks) }, rt: $n[0].Boolean, p: [$n[0].TimeSpan, $n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], sn: "toString", rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "Format", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], sn: "toString", rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "FromDays", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], sn: "fromDays", rt: $n[0].TimeSpan, p: [$n[0].Double] }, { a: 2, n: "FromHours", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], sn: "fromHours", rt: $n[0].TimeSpan, p: [$n[0].Double] }, { a: 2, n: "FromMilliseconds", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], sn: "fromMilliseconds", rt: $n[0].TimeSpan, p: [$n[0].Double] }, { a: 2, n: "FromMinutes", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], sn: "fromMinutes", rt: $n[0].TimeSpan, p: [$n[0].Double] }, { a: 2, n: "FromSeconds", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], sn: "fromSeconds", rt: $n[0].TimeSpan, p: [$n[0].Double] }, { a: 2, n: "FromTicks", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "fromTicks", rt: $n[0].TimeSpan, p: [$n[0].Int64] }, { a: 2, n: "Negate", t: 8, sn: "negate", rt: $n[0].TimeSpan }, { a: 2, n: "Subtract", t: 8, pi: [{ n: "ts", pt: $n[0].TimeSpan, ps: 0 }], sn: "subtract", rt: $n[0].TimeSpan, p: [$n[0].TimeSpan] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], sn: "toString", rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ToString", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "provider", pt: $n[0].IFormatProvider, ps: 1 }], sn: "format", rt: $n[0].String, p: [$n[0].String, $n[0].IFormatProvider] }, { a: 2, n: "op_Addition", is: !0, t: 8, pi: [{ n: "t1", pt: $n[0].TimeSpan, ps: 0 }, { n: "t2", pt: $n[0].TimeSpan, ps: 1 }], tpc: 0, def: function (t1, t2) { return System.TimeSpan.add(t1, t2) }, rt: $n[0].TimeSpan, p: [$n[0].TimeSpan, $n[0].TimeSpan] }, { a: 2, n: "op_Equality", is: !0, t: 8, pi: [{ n: "t1", pt: $n[0].TimeSpan, ps: 0 }, { n: "t2", pt: $n[0].TimeSpan, ps: 1 }], tpc: 0, def: function (t1, t2) { return System.TimeSpan.eq(t1, t2) }, rt: $n[0].Boolean, p: [$n[0].TimeSpan, $n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_GreaterThan", is: !0, t: 8, pi: [{ n: "t1", pt: $n[0].TimeSpan, ps: 0 }, { n: "t2", pt: $n[0].TimeSpan, ps: 1 }], tpc: 0, def: function (t1, t2) { return System.TimeSpan.gt(t1, t2) }, rt: $n[0].Boolean, p: [$n[0].TimeSpan, $n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_GreaterThanOrEqual", is: !0, t: 8, pi: [{ n: "t1", pt: $n[0].TimeSpan, ps: 0 }, { n: "t2", pt: $n[0].TimeSpan, ps: 1 }], tpc: 0, def: function (t1, t2) { return System.TimeSpan.gte(t1, t2) }, rt: $n[0].Boolean, p: [$n[0].TimeSpan, $n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Inequality", is: !0, t: 8, pi: [{ n: "t1", pt: $n[0].TimeSpan, ps: 0 }, { n: "t2", pt: $n[0].TimeSpan, ps: 1 }], tpc: 0, def: function (t1, t2) { return System.TimeSpan.neq(t1, t2) }, rt: $n[0].Boolean, p: [$n[0].TimeSpan, $n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_LessThan", is: !0, t: 8, pi: [{ n: "t1", pt: $n[0].TimeSpan, ps: 0 }, { n: "t2", pt: $n[0].TimeSpan, ps: 1 }], tpc: 0, def: function (t1, t2) { return System.TimeSpan.lt(t1, t2) }, rt: $n[0].Boolean, p: [$n[0].TimeSpan, $n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_LessThanOrEqual", is: !0, t: 8, pi: [{ n: "t1", pt: $n[0].TimeSpan, ps: 0 }, { n: "t2", pt: $n[0].TimeSpan, ps: 1 }], tpc: 0, def: function (t1, t2) { return System.TimeSpan.lte(t1, t2) }, rt: $n[0].Boolean, p: [$n[0].TimeSpan, $n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Subtraction", is: !0, t: 8, pi: [{ n: "t1", pt: $n[0].TimeSpan, ps: 0 }, { n: "t2", pt: $n[0].TimeSpan, ps: 1 }], tpc: 0, def: function (t1, t2) { return System.TimeSpan.sub(t1, t2) }, rt: $n[0].TimeSpan, p: [$n[0].TimeSpan, $n[0].TimeSpan] }, { a: 2, n: "op_UnaryNegation", is: !0, t: 8, pi: [{ n: "t", pt: $n[0].TimeSpan, ps: 0 }], tpc: 0, def: function (t) { return System.TimeSpan.neg(t) }, rt: $n[0].TimeSpan, p: [$n[0].TimeSpan] }, { a: 2, n: "op_UnaryPlus", is: !0, t: 8, pi: [{ n: "t", pt: $n[0].TimeSpan, ps: 0 }], tpc: 0, def: function (t) { return System.TimeSpan.plus(t) }, rt: $n[0].TimeSpan, p: [$n[0].TimeSpan] }, { a: 2, n: "Days", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Days", t: 8, tpc: 0, def: function () { return this.getDays() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "Hours", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Hours", t: 8, tpc: 0, def: function () { return this.getHours() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "Milliseconds", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Milliseconds", t: 8, tpc: 0, def: function () { return this.getMilliseconds() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "Minutes", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Minutes", t: 8, tpc: 0, def: function () { return this.getMinutes() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "Seconds", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Seconds", t: 8, tpc: 0, def: function () { return this.getSeconds() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "Ticks", t: 16, rt: $n[0].Int64, g: { a: 2, n: "get_Ticks", t: 8, tpc: 0, def: function () { return this.getTicks() }, rt: $n[0].Int64 } }, { a: 2, n: "TotalDays", t: 16, rt: $n[0].Double, g: { a: 2, n: "get_TotalDays", t: 8, tpc: 0, def: function () { return this.getTotalDays() }, rt: $n[0].Double, box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } } }, { a: 2, n: "TotalHours", t: 16, rt: $n[0].Double, g: { a: 2, n: "get_TotalHours", t: 8, tpc: 0, def: function () { return this.getTotalHours() }, rt: $n[0].Double, box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } } }, { a: 2, n: "TotalMilliseconds", t: 16, rt: $n[0].Double, g: { a: 2, n: "get_TotalMilliseconds", t: 8, tpc: 0, def: function () { return this.getTotalMilliseconds() }, rt: $n[0].Double, box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } } }, { a: 2, n: "TotalMinutes", t: 16, rt: $n[0].Double, g: { a: 2, n: "get_TotalMinutes", t: 8, tpc: 0, def: function () { return this.getTotalMinutes() }, rt: $n[0].Double, box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } } }, { a: 2, n: "TotalSeconds", t: 16, rt: $n[0].Double, g: { a: 2, n: "get_TotalSeconds", t: 8, tpc: 0, def: function () { return this.getTotalSeconds() }, rt: $n[0].Double, box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } } }, { a: 2, n: "MaxValue", is: !0, t: 4, rt: $n[0].TimeSpan, sn: "maxValue", ro: !0 }, { a: 2, n: "MinValue", is: !0, t: 4, rt: $n[0].TimeSpan, sn: "minValue", ro: !0 }, { a: 2, n: "TicksPerDay", is: !0, t: 4, rt: $n[0].Int64, sn: "TicksPerDay" }, { a: 2, n: "TicksPerHour", is: !0, t: 4, rt: $n[0].Int64, sn: "TicksPerHour" }, { a: 2, n: "TicksPerMillisecond", is: !0, t: 4, rt: $n[0].Int64, sn: "TicksPerMillisecond" }, { a: 2, n: "TicksPerMinute", is: !0, t: 4, rt: $n[0].Int64, sn: "TicksPerMinute" }, { a: 2, n: "TicksPerSecond", is: !0, t: 4, rt: $n[0].Int64, sn: "TicksPerSecond" }, { a: 2, n: "Zero", is: !0, t: 4, rt: $n[0].TimeSpan, sn: "zero", ro: !0 }] } }); $m($n[0].Void, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }] } }); $m($n[5].Timer, function () { return { att: 1048833, a: 2, m: [{ a: 2, n: ".ctor", t: 1, p: [Function], pi: [{ n: "callback", pt: Function, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [Function, $n[0].Object, $n[0].Int32, $n[0].Int32], pi: [{ n: "callback", pt: Function, ps: 0 }, { n: "state", pt: $n[0].Object, ps: 1 }, { n: "dueTime", pt: $n[0].Int32, ps: 2 }, { n: "period", pt: $n[0].Int32, ps: 3 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [Function, $n[0].Object, $n[0].Int64, $n[0].Int64], pi: [{ n: "callback", pt: Function, ps: 0 }, { n: "state", pt: $n[0].Object, ps: 1 }, { n: "dueTime", pt: $n[0].Int64, ps: 2 }, { n: "period", pt: $n[0].Int64, ps: 3 }], sn: "$ctor2" }, { a: 2, n: ".ctor", t: 1, p: [Function, $n[0].Object, $n[0].TimeSpan, $n[0].TimeSpan], pi: [{ n: "callback", pt: Function, ps: 0 }, { n: "state", pt: $n[0].Object, ps: 1 }, { n: "dueTime", pt: $n[0].TimeSpan, ps: 2 }, { n: "period", pt: $n[0].TimeSpan, ps: 3 }], sn: "$ctor3" }, { a: 2, n: ".ctor", t: 1, p: [Function, $n[0].Object, $n[0].UInt32, $n[0].UInt32], pi: [{ n: "callback", pt: Function, ps: 0 }, { n: "state", pt: $n[0].Object, ps: 1 }, { n: "dueTime", pt: $n[0].UInt32, ps: 2 }, { n: "period", pt: $n[0].UInt32, ps: 3 }], sn: "$ctor4" }, { a: 2, n: "Change", t: 8, pi: [{ n: "dueTime", pt: $n[0].Int32, ps: 0 }, { n: "period", pt: $n[0].Int32, ps: 1 }], sn: "change", rt: $n[0].Boolean, p: [$n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Change", t: 8, pi: [{ n: "dueTime", pt: $n[0].Int64, ps: 0 }, { n: "period", pt: $n[0].Int64, ps: 1 }], sn: "change$1", rt: $n[0].Boolean, p: [$n[0].Int64, $n[0].Int64], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Change", t: 8, pi: [{ n: "dueTime", pt: $n[0].TimeSpan, ps: 0 }, { n: "period", pt: $n[0].TimeSpan, ps: 1 }], sn: "change$2", rt: $n[0].Boolean, p: [$n[0].TimeSpan, $n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Change", t: 8, pi: [{ n: "dueTime", pt: $n[0].UInt32, ps: 0 }, { n: "period", pt: $n[0].UInt32, ps: 1 }], sn: "change$3", rt: $n[0].Boolean, p: [$n[0].UInt32, $n[0].UInt32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "ChangeTimer", t: 8, pi: [{ n: "dueTime", pt: $n[0].Int64, ps: 0 }, { n: "period", pt: $n[0].Int64, ps: 1 }], sn: "changeTimer", rt: $n[0].Boolean, p: [$n[0].Int64, $n[0].Int64], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "ClearTimeout", t: 8, sn: "clearTimeout", rt: $n[0].Void }, { a: 2, n: "Dispose", t: 8, sn: "dispose", rt: $n[0].Void }, { a: 1, n: "HandleCallback", t: 8, sn: "handleCallback", rt: $n[0].Void }, { a: 1, n: "RunTimer", t: 8, pi: [{ n: "period", pt: $n[0].Int64, ps: 0 }, { n: "checkDispose", dv: !0, o: !0, pt: $n[0].Boolean, ps: 1 }], sn: "runTimer", rt: $n[0].Boolean, p: [$n[0].Int64, $n[0].Boolean], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "TimerSetup", t: 8, pi: [{ n: "callback", pt: Function, ps: 0 }, { n: "state", pt: $n[0].Object, ps: 1 }, { n: "dueTime", pt: $n[0].Int64, ps: 2 }, { n: "period", pt: $n[0].Int64, ps: 3 }], sn: "timerSetup", rt: $n[0].Boolean, p: [Function, $n[0].Object, $n[0].Int64, $n[0].Int64], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "EXC_DISPOSED", is: !0, t: 4, rt: $n[0].String, sn: "EXC_DISPOSED" }, { a: 1, n: "EXC_LESS", is: !0, t: 4, rt: $n[0].String, sn: "EXC_LESS" }, { a: 1, n: "EXC_MORE", is: !0, t: 4, rt: $n[0].String, sn: "EXC_MORE" }, { a: 1, n: "MAX_SUPPORTED_TIMEOUT", is: !0, t: 4, rt: $n[0].UInt32, sn: "MAX_SUPPORTED_TIMEOUT", box: function ($v) { return Bridge.box($v, System.UInt32) } }, { a: 1, n: "disposed", t: 4, rt: $n[0].Boolean, sn: "disposed", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 4, n: "dueTime", t: 4, rt: $n[0].Int64, sn: "dueTime" }, { a: 1, n: "id", t: 4, rt: $n[0].Nullable$1(System.Int32), sn: "id", box: function ($v) { return Bridge.box($v, System.Int32, System.Nullable.toString, System.Nullable.getHashCode) } }, { a: 4, n: "period", t: 4, rt: $n[0].Int64, sn: "period" }, { a: 1, n: "state", t: 4, rt: $n[0].Object, sn: "state" }, { a: 1, n: "timerCallback", t: 4, rt: Function, sn: "timerCallback" }] } }); $m($n[5].CancellationToken, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Boolean], pi: [{ n: "canceled", pt: $n[0].Boolean, ps: 0 }], sn: "ctor" }, { a: 2, n: "Register", t: 8, pi: [{ n: "callback", pt: Function, ps: 0 }], sn: "register", rt: $n[5].CancellationTokenRegistration, p: [Function] }, { a: 2, n: "Register", t: 8, pi: [{ n: "callback", pt: Function, ps: 0 }, { n: "useSynchronizationContext", pt: $n[0].Boolean, ps: 1 }], tpc: 0, def: function (callback) { return this.register(callback) }, rt: $n[5].CancellationTokenRegistration, p: [Function, $n[0].Boolean] }, { a: 2, n: "Register", t: 8, pi: [{ n: "callback", pt: Function, ps: 0 }, { n: "state", pt: $n[0].Object, ps: 1 }], sn: "register", rt: $n[5].CancellationTokenRegistration, p: [Function, $n[0].Object] }, { a: 2, n: "Register", t: 8, pi: [{ n: "callback", pt: Function, ps: 0 }, { n: "state", pt: $n[0].Object, ps: 1 }, { n: "useSynchronizationContext", pt: $n[0].Boolean, ps: 2 }], tpc: 0, def: function (callback, state) { return this.register(callback, state) }, rt: $n[5].CancellationTokenRegistration, p: [Function, $n[0].Object, $n[0].Boolean] }, { a: 2, n: "ThrowIfCancellationRequested", t: 8, sn: "throwIfCancellationRequested", rt: $n[0].Void }, { a: 2, n: "CanBeCanceled", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_CanBeCanceled", t: 8, tpc: 0, def: function () { return this.getCanBeCanceled() }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 2, n: "IsCancellationRequested", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsCancellationRequested", t: 8, tpc: 0, def: function () { return this.getIsCancellationRequested() }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 2, n: "None", is: !0, t: 16, rt: $n[5].CancellationToken, g: { a: 2, n: "get_None", t: 8, rt: $n[5].CancellationToken, fg: "none", is: !0 }, fn: "none" }] } }); $m($n[5].CancellationTokenRegistration, function () { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "Dispose", t: 8, sn: "dispose", rt: $n[0].Void }, { a: 2, n: "Equals", t: 8, pi: [{ n: "other", pt: $n[5].CancellationTokenRegistration, ps: 0 }], sn: "equalsT", rt: $n[0].Boolean, p: [$n[5].CancellationTokenRegistration], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Equality", is: !0, t: 8, pi: [{ n: "left", pt: $n[5].CancellationTokenRegistration, ps: 0 }, { n: "right", pt: $n[5].CancellationTokenRegistration, ps: 1 }], tpc: 0, def: function (left, right) { return Bridge.equals(left, right) }, rt: $n[0].Boolean, p: [$n[5].CancellationTokenRegistration, $n[5].CancellationTokenRegistration], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "op_Inequality", is: !0, t: 8, pi: [{ n: "left", pt: $n[5].CancellationTokenRegistration, ps: 0 }, { n: "right", pt: $n[5].CancellationTokenRegistration, ps: 1 }], tpc: 0, def: function (left, right) { return !Bridge.equals(left, right) }, rt: $n[0].Boolean, p: [$n[5].CancellationTokenRegistration, $n[5].CancellationTokenRegistration], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }] } }); $m($n[5].CancellationTokenSource, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "millisecondsDelay", pt: $n[0].Int32, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].TimeSpan], pi: [{ n: "delay", pt: $n[0].TimeSpan, ps: 0 }], def: function (delay) { return new System.Threading.CancellationTokenSource(delay.ticks / 1e4) } }, { a: 2, n: "Cancel", t: 8, sn: "cancel", rt: $n[0].Void }, { a: 2, n: "Cancel", t: 8, pi: [{ n: "throwOnFirstException", pt: $n[0].Boolean, ps: 0 }], sn: "cancel", rt: $n[0].Void, p: [$n[0].Boolean] }, { a: 2, n: "CancelAfter", t: 8, pi: [{ n: "millisecondsDelay", pt: $n[0].Int32, ps: 0 }], sn: "cancelAfter", rt: $n[0].Void, p: [$n[0].Int32] }, { a: 2, n: "CancelAfter", t: 8, pi: [{ n: "delay", pt: $n[0].TimeSpan, ps: 0 }], tpc: 0, def: function (delay) { return this.cancelAfter(delay.ticks / 1e4) }, rt: $n[0].Void, p: [$n[0].TimeSpan] }, { a: 2, n: "CreateLinkedTokenSource", is: !0, t: 8, pi: [{ n: "tokens", ip: !0, pt: System.Array.type(System.Threading.CancellationToken), ps: 0 }], tpc: 0, def: function (tokens) { return System.Threading.CancellationTokenSource.createLinked(tokens) }, rt: $n[5].CancellationTokenSource, p: [System.Array.type(System.Threading.CancellationToken)] }, { a: 2, n: "CreateLinkedTokenSource", is: !0, t: 8, pi: [{ n: "token1", pt: $n[5].CancellationToken, ps: 0 }, { n: "token2", pt: $n[5].CancellationToken, ps: 1 }], sn: "createLinked", rt: $n[5].CancellationTokenSource, p: [$n[5].CancellationToken, $n[5].CancellationToken] }, { a: 2, n: "Dispose", t: 8, sn: "dispose", rt: $n[0].Void }, { a: 2, n: "IsCancellationRequested", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsCancellationRequested", t: 8, rt: $n[0].Boolean, fg: "isCancellationRequested", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, s: { a: 1, n: "set_IsCancellationRequested", t: 8, p: [$n[0].Boolean], rt: $n[0].Void, fs: "isCancellationRequested" }, fn: "isCancellationRequested" }, { a: 2, n: "Token", t: 16, rt: $n[5].CancellationToken, g: { a: 2, n: "get_Token", t: 8, rt: $n[5].CancellationToken, fg: "token" }, s: { a: 1, n: "set_Token", t: 8, p: [$n[5].CancellationToken], rt: $n[0].Void, fs: "token" }, fn: "token" }] } }); $m($n[8].Task, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, p: [Function], pi: [{ n: "action", pt: Function, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [Function, $n[0].Object], pi: [{ n: "action", pt: Function, ps: 0 }, { n: "state", pt: $n[0].Object, ps: 1 }], sn: "ctor" }, { a: 2, n: "Complete", t: 8, pi: [{ n: "result", dv: null, o: !0, pt: $n[0].Object, ps: 0 }], sn: "complete", rt: $n[0].Void, p: [$n[0].Object] }, { a: 2, n: "ContinueWith", t: 8, pi: [{ n: "continuationAction", pt: Function, ps: 0 }], sn: "continueWith", rt: $n[8].Task, p: [Function] }, { a: 2, n: "ContinueWith", t: 8, pi: [{ n: "continuationFunction", pt: Function, ps: 0 }], tpc: 1, tprm: ["TResult"], sn: "continueWith", rt: $n[8].Task$1(System.Object), p: [Function] }, { a: 2, n: "Delay", is: !0, t: 8, pi: [{ n: "millisecondDelay", pt: $n[0].Int32, ps: 0 }], sn: "delay", rt: $n[8].Task, p: [$n[0].Int32] }, { a: 2, n: "Dispose", t: 8, sn: "dispose", rt: $n[0].Void }, { a: 2, n: "FromCallback", is: !0, t: 8, pi: [{ n: "target", pt: $n[0].Object, ps: 0 }, { n: "method", pt: $n[0].String, ps: 1 }, { n: "otherArguments", ip: !0, pt: $n[0].Array.type(System.Object), ps: 2 }], sn: "fromCallback", rt: $n[8].Task, p: [$n[0].Object, $n[0].String, $n[0].Array.type(System.Object)] }, { a: 2, n: "FromCallback", is: !0, t: 8, pi: [{ n: "target", pt: $n[0].Object, ps: 0 }, { n: "method", pt: $n[0].String, ps: 1 }, { n: "otherArguments", ip: !0, pt: $n[0].Array.type(System.Object), ps: 2 }], tpc: 1, tprm: ["TResult"], sn: "fromCallback", rt: $n[8].Task$1(System.Object), p: [$n[0].Object, $n[0].String, $n[0].Array.type(System.Object)] }, { a: 2, n: "FromCallbackResult", is: !0, t: 8, pi: [{ n: "target", pt: $n[0].Object, ps: 0 }, { n: "method", pt: $n[0].String, ps: 1 }, { n: "resultHandler", pt: Function, ps: 2 }, { n: "otherArguments", ip: !0, pt: $n[0].Array.type(System.Object), ps: 3 }], sn: "fromCallbackResult", rt: $n[8].Task, p: [$n[0].Object, $n[0].String, Function, $n[0].Array.type(System.Object)] }, { a: 2, n: "FromCallbackResult", is: !0, t: 8, pi: [{ n: "target", pt: $n[0].Object, ps: 0 }, { n: "method", pt: $n[0].String, ps: 1 }, { n: "resultHandler", pt: Function, ps: 2 }, { n: "otherArguments", ip: !0, pt: $n[0].Array.type(System.Object), ps: 3 }], tpc: 1, tprm: ["TResult"], sn: "fromCallbackResult", rt: $n[8].Task$1(System.Object), p: [$n[0].Object, $n[0].String, Function, $n[0].Array.type(System.Object)] }, { a: 2, n: "FromPromise", is: !0, t: 8, pi: [{ n: "promise", pt: Bridge.IPromise, ps: 0 }], sn: "fromPromise", rt: $n[8].Task$1(System.Array.type(System.Object)), p: [Bridge.IPromise] }, { a: 2, n: "FromPromise", is: !0, t: 8, pi: [{ n: "promise", pt: Bridge.IPromise, ps: 0 }, { n: "resultHandler", pt: Function, ps: 1 }], tpc: 1, tprm: ["TResult"], sn: "fromPromise", rt: $n[8].Task$1(System.Object), p: [Bridge.IPromise, Function] }, { a: 2, n: "FromPromise", is: !0, t: 8, pi: [{ n: "promise", pt: Bridge.IPromise, ps: 0 }, { n: "resultHandler", pt: Function, ps: 1 }, { n: "errorHandler", pt: Function, ps: 2 }], tpc: 1, tprm: ["TResult"], sn: "fromPromise", rt: $n[8].Task$1(System.Object), p: [Bridge.IPromise, Function, Function] }, { a: 2, n: "FromPromise", is: !0, t: 8, pi: [{ n: "promise", pt: Bridge.IPromise, ps: 0 }, { n: "resultHandler", pt: Function, ps: 1 }, { n: "errorHandler", pt: Function, ps: 2 }, { n: "progressHandler", pt: Function, ps: 3 }], tpc: 1, tprm: ["TResult"], sn: "fromPromise", rt: $n[8].Task$1(System.Object), p: [Bridge.IPromise, Function, Function, Function] }, { a: 2, n: "FromResult", is: !0, t: 8, pi: [{ n: "result", pt: System.Object, ps: 0 }], tpc: 1, tprm: ["TResult"], sn: "fromResult", rt: $n[8].Task$1(System.Object), p: [System.Object] }, { a: 2, n: "GetAwaiter", t: 8, sn: "getAwaiter", rt: $n[8].TaskAwaiter }, { a: 2, n: "Run", is: !0, t: 8, pi: [{ n: "action", pt: Function, ps: 0 }], sn: "run", rt: $n[8].Task, p: [Function] }, { a: 2, n: "Run", is: !0, t: 8, pi: [{ n: "function", pt: Function, ps: 0 }], tpc: 1, tprm: ["TResult"], sn: "run", rt: $n[8].Task$1(System.Object), p: [Function] }, { a: 2, n: "Start", t: 8, sn: "start", rt: $n[0].Void }, { a: 2, n: "WhenAll", is: !0, t: 8, pi: [{ n: "tasks", pt: $n[3].IEnumerable$1(System.Threading.Tasks.Task), ps: 0 }], sn: "whenAll", rt: $n[8].Task, p: [$n[3].IEnumerable$1(System.Threading.Tasks.Task)] }, { a: 2, n: "WhenAll", is: !0, t: 8, pi: [{ n: "tasks", pt: $n[3].IEnumerable$1(System.Threading.Tasks.Task$1(System.Object)), ps: 0 }], tpc: 1, tprm: ["TResult"], sn: "whenAll", rt: $n[8].Task$1(System.Array.type(System.Object)), p: [$n[3].IEnumerable$1(System.Threading.Tasks.Task$1(System.Object))] }, { a: 2, n: "WhenAll", is: !0, t: 8, pi: [{ n: "tasks", ip: !0, pt: System.Array.type(System.Threading.Tasks.Task), ps: 0 }], sn: "whenAll", rt: $n[8].Task, p: [System.Array.type(System.Threading.Tasks.Task)] }, { a: 2, n: "WhenAll", is: !0, t: 8, pi: [{ n: "tasks", ip: !0, pt: System.Array.type(System.Threading.Tasks.Task$1(System.Object)), ps: 0 }], tpc: 1, tprm: ["TResult"], sn: "whenAll", rt: $n[8].Task$1(System.Array.type(System.Object)), p: [System.Array.type(System.Threading.Tasks.Task$1(System.Object))] }, { a: 2, n: "WhenAny", is: !0, t: 8, pi: [{ n: "tasks", pt: $n[3].IEnumerable$1(System.Threading.Tasks.Task), ps: 0 }], sn: "whenAny", rt: $n[8].Task$1(System.Threading.Tasks.Task), p: [$n[3].IEnumerable$1(System.Threading.Tasks.Task)] }, { a: 2, n: "WhenAny", is: !0, t: 8, pi: [{ n: "tasks", pt: $n[3].IEnumerable$1(System.Threading.Tasks.Task$1(System.Object)), ps: 0 }], tpc: 1, tprm: ["TResult"], sn: "whenAny", rt: $n[8].Task$1(System.Threading.Tasks.Task$1(System.Object)), p: [$n[3].IEnumerable$1(System.Threading.Tasks.Task$1(System.Object))] }, { a: 2, n: "WhenAny", is: !0, t: 8, pi: [{ n: "tasks", ip: !0, pt: System.Array.type(System.Threading.Tasks.Task), ps: 0 }], sn: "whenAny", rt: $n[8].Task$1(System.Threading.Tasks.Task), p: [System.Array.type(System.Threading.Tasks.Task)] }, { a: 2, n: "WhenAny", is: !0, t: 8, pi: [{ n: "tasks", ip: !0, pt: System.Array.type(System.Threading.Tasks.Task$1(System.Object)), ps: 0 }], tpc: 1, tprm: ["TResult"], sn: "whenAny", rt: $n[8].Task$1(System.Threading.Tasks.Task$1(System.Object)), p: [System.Array.type(System.Threading.Tasks.Task$1(System.Object))] }, { a: 2, n: "Exception", t: 16, rt: $n[0].AggregateException, g: { a: 2, n: "get_Exception", t: 8, rt: $n[0].AggregateException, fg: "exception" }, fn: "exception" }, { a: 2, n: "IsCanceled", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsCanceled", t: 8, tpc: 0, def: function () { return this.isCanceled() }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 2, n: "IsCompleted", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsCompleted", t: 8, tpc: 0, def: function () { return this.isCompleted() }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 2, n: "IsFaulted", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsFaulted", t: 8, tpc: 0, def: function () { return this.isFaulted() }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 2, n: "Status", t: 16, rt: $n[8].TaskStatus, g: { a: 2, n: "get_Status", t: 8, rt: $n[8].TaskStatus, fg: "status", box: function ($v) { return Bridge.box($v, System.Threading.Tasks.TaskStatus, System.Enum.toStringFn(System.Threading.Tasks.TaskStatus)) } }, fn: "status" }] } }); $m($n[8].Task$1, function (TResult) { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, p: [Function], pi: [{ n: "function", pt: Function, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [Function, $n[0].Object], pi: [{ n: "function", pt: Function, ps: 0 }, { n: "state", pt: $n[0].Object, ps: 1 }], sn: "ctor" }, { a: 2, n: "ContinueWith", t: 8, pi: [{ n: "continuationAction", pt: Function, ps: 0 }], sn: "continueWith", rt: $n[8].Task, p: [Function] }, { a: 2, n: "ContinueWith", t: 8, pi: [{ n: "continuationFunction", pt: Function, ps: 0 }], sn: "continueWith", rt: $n[8].Task$1(System.Object), p: [Function] }, { a: 2, n: "GetAwaiter", t: 8, sn: "getAwaiter", rt: $n[8].Task(TResult) }, { a: 2, n: "SetResult", t: 8, pi: [{ n: "result", pt: TResult, ps: 0 }], sn: "setResult", rt: $n[0].Void, p: [TResult] }, { a: 2, n: "Result", t: 16, rt: TResult, g: { a: 2, n: "get_Result", t: 8, tpc: 0, def: function () { return this.getResult() }, rt: TResult } }] } }); $m($n[8].TaskCanceledException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[8].Task], pi: [{ n: "task", pt: $n[8].Task, ps: 0 }], def: function (task) { return new System.Threading.Tasks.TaskCanceledException(null, task) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], def: function (message, innerException) { return new System.Threading.Tasks.TaskCanceledException(message, null, innerException) } }, { a: 2, n: "Task", t: 16, rt: $n[8].Task, g: { a: 2, n: "get_Task", t: 8, rt: $n[8].Task, fg: "task" }, s: { a: 1, n: "set_Task", t: 8, p: [$n[8].Task], rt: $n[0].Void, fs: "task" }, fn: "task" }] } }); $m($n[8].TaskCompletionSource, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "SetCanceled", t: 8, sn: "setCanceled", rt: $n[0].Void }, { a: 2, n: "SetException", t: 8, pi: [{ n: "exceptions", pt: $n[3].IEnumerable$1(System.Exception), ps: 0 }], sn: "setException", rt: $n[0].Void, p: [$n[3].IEnumerable$1(System.Exception)] }, { a: 2, n: "SetException", t: 8, pi: [{ n: "exception", pt: $n[0].Exception, ps: 0 }], sn: "setException", rt: $n[0].Void, p: [$n[0].Exception] }, { a: 2, n: "SetResult", t: 8, pi: [{ n: "result", pt: System.Object, ps: 0 }], sn: "setResult", rt: $n[0].Void, p: [System.Object] }, { a: 2, n: "TrySetCanceled", t: 8, sn: "trySetCanceled", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "TrySetException", t: 8, pi: [{ n: "exceptions", pt: $n[3].IEnumerable$1(System.Exception), ps: 0 }], sn: "trySetException", rt: $n[0].Boolean, p: [$n[3].IEnumerable$1(System.Exception)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "TrySetException", t: 8, pi: [{ n: "exception", pt: $n[0].Exception, ps: 0 }], sn: "trySetException", rt: $n[0].Boolean, p: [$n[0].Exception], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "TrySetResult", t: 8, pi: [{ n: "result", pt: System.Object, ps: 0 }], sn: "trySetResult", rt: $n[0].Boolean, p: [System.Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Task", t: 16, rt: $n[8].Task$1(System.Object), g: { a: 2, n: "get_Task", t: 8, rt: $n[8].Task$1(System.Object), fg: "task" }, fn: "task" }] } }); $m($n[6].UTF32Encoding, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Boolean, $n[0].Boolean], pi: [{ n: "bigEndian", pt: $n[0].Boolean, ps: 0 }, { n: "byteOrderMark", pt: $n[0].Boolean, ps: 1 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Boolean, $n[0].Boolean, $n[0].Boolean], pi: [{ n: "bigEndian", pt: $n[0].Boolean, ps: 0 }, { n: "byteOrderMark", pt: $n[0].Boolean, ps: 1 }, { n: "throwOnInvalidBytes", pt: $n[0].Boolean, ps: 2 }], sn: "$ctor2" }, { ov: !0, a: 3, n: "Decode", t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "chars", pt: $n[0].Array.type(System.Char), ps: 3 }, { n: "charIndex", pt: $n[0].Int32, ps: 4 }], sn: "Decode$2", rt: $n[0].String, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, $n[0].Array.type(System.Char), $n[0].Int32] }, { ov: !0, a: 3, n: "Encode", t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "outputBytes", pt: $n[0].Array.type(System.Byte), ps: 1 }, { n: "outputIndex", pt: $n[0].Int32, ps: 2 }, { n: "writtenBytes", out: !0, pt: $n[0].Int32, ps: 3 }], sn: "Encode$3", rt: $n[0].Array.type(System.Byte), p: [$n[0].String, $n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { ov: !0, a: 2, n: "GetMaxByteCount", t: 8, pi: [{ n: "charCount", pt: $n[0].Int32, ps: 0 }], sn: "GetMaxByteCount", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "GetMaxCharCount", t: 8, pi: [{ n: "byteCount", pt: $n[0].Int32, ps: 0 }], sn: "GetMaxCharCount", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "ToCodePoints", t: 8, pi: [{ n: "str", pt: $n[0].String, ps: 0 }], sn: "ToCodePoints", rt: $n[0].Array.type(System.Char), p: [$n[0].String] }, { ov: !0, a: 2, n: "CodePage", t: 16, rt: $n[0].Int32, g: { ov: !0, a: 2, n: "get_CodePage", t: 8, rt: $n[0].Int32, fg: "CodePage", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "CodePage" }, { ov: !0, a: 2, n: "EncodingName", t: 16, rt: $n[0].String, g: { ov: !0, a: 2, n: "get_EncodingName", t: 8, rt: $n[0].String, fg: "EncodingName" }, fn: "EncodingName" }, { a: 1, n: "bigEndian", t: 4, rt: $n[0].Boolean, sn: "bigEndian", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "byteOrderMark", t: 4, rt: $n[0].Boolean, sn: "byteOrderMark", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "throwOnInvalid", t: 4, rt: $n[0].Boolean, sn: "throwOnInvalid", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }] } }); $m($n[6].UTF7Encoding, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Boolean], pi: [{ n: "allowOptionals", pt: $n[0].Boolean, ps: 0 }], sn: "$ctor1" }, { ov: !0, a: 3, n: "Decode", t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "chars", pt: $n[0].Array.type(System.Char), ps: 3 }, { n: "charIndex", pt: $n[0].Int32, ps: 4 }], sn: "Decode$2", rt: $n[0].String, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, $n[0].Array.type(System.Char), $n[0].Int32] }, { ov: !0, a: 3, n: "Encode", t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "outputBytes", pt: $n[0].Array.type(System.Byte), ps: 1 }, { n: "outputIndex", pt: $n[0].Int32, ps: 2 }, { n: "writtenBytes", out: !0, pt: $n[0].Int32, ps: 3 }], sn: "Encode$3", rt: $n[0].Array.type(System.Byte), p: [$n[0].String, $n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { a: 1, n: "Escape", is: !0, t: 8, pi: [{ n: "chars", pt: $n[0].String, ps: 0 }], sn: "Escape", rt: $n[0].String, p: [$n[0].String] }, { ov: !0, a: 2, n: "GetMaxByteCount", t: 8, pi: [{ n: "charCount", pt: $n[0].Int32, ps: 0 }], sn: "GetMaxByteCount", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "GetMaxCharCount", t: 8, pi: [{ n: "byteCount", pt: $n[0].Int32, ps: 0 }], sn: "GetMaxCharCount", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "CodePage", t: 16, rt: $n[0].Int32, g: { ov: !0, a: 2, n: "get_CodePage", t: 8, rt: $n[0].Int32, fg: "CodePage", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "CodePage" }, { ov: !0, a: 2, n: "EncodingName", t: 16, rt: $n[0].String, g: { ov: !0, a: 2, n: "get_EncodingName", t: 8, rt: $n[0].String, fg: "EncodingName" }, fn: "EncodingName" }, { a: 1, n: "allowOptionals", t: 4, rt: $n[0].Boolean, sn: "allowOptionals", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }] } }); $m($n[6].UTF8Encoding, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Boolean], pi: [{ n: "encoderShouldEmitUTF8Identifier", pt: $n[0].Boolean, ps: 0 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Boolean, $n[0].Boolean], pi: [{ n: "encoderShouldEmitUTF8Identifier", pt: $n[0].Boolean, ps: 0 }, { n: "throwOnInvalidBytes", pt: $n[0].Boolean, ps: 1 }], sn: "$ctor2" }, { ov: !0, a: 3, n: "Decode", t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "chars", pt: $n[0].Array.type(System.Char), ps: 3 }, { n: "charIndex", pt: $n[0].Int32, ps: 4 }], sn: "Decode$2", rt: $n[0].String, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, $n[0].Array.type(System.Char), $n[0].Int32] }, { ov: !0, a: 3, n: "Encode", t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "outputBytes", pt: $n[0].Array.type(System.Byte), ps: 1 }, { n: "outputIndex", pt: $n[0].Int32, ps: 2 }, { n: "writtenBytes", out: !0, pt: $n[0].Int32, ps: 3 }], sn: "Encode$3", rt: $n[0].Array.type(System.Byte), p: [$n[0].String, $n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { ov: !0, a: 2, n: "GetMaxByteCount", t: 8, pi: [{ n: "charCount", pt: $n[0].Int32, ps: 0 }], sn: "GetMaxByteCount", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "GetMaxCharCount", t: 8, pi: [{ n: "byteCount", pt: $n[0].Int32, ps: 0 }], sn: "GetMaxCharCount", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "CodePage", t: 16, rt: $n[0].Int32, g: { ov: !0, a: 2, n: "get_CodePage", t: 8, rt: $n[0].Int32, fg: "CodePage", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "CodePage" }, { ov: !0, a: 2, n: "EncodingName", t: 16, rt: $n[0].String, g: { ov: !0, a: 2, n: "get_EncodingName", t: 8, rt: $n[0].String, fg: "EncodingName" }, fn: "EncodingName" }, { a: 1, n: "encoderShouldEmitUTF8Identifier", t: 4, rt: $n[0].Boolean, sn: "encoderShouldEmitUTF8Identifier", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "throwOnInvalid", t: 4, rt: $n[0].Boolean, sn: "throwOnInvalid", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }] } }); $m($n[6].UnicodeEncoding, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Boolean, $n[0].Boolean], pi: [{ n: "bigEndian", pt: $n[0].Boolean, ps: 0 }, { n: "byteOrderMark", pt: $n[0].Boolean, ps: 1 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Boolean, $n[0].Boolean, $n[0].Boolean], pi: [{ n: "bigEndian", pt: $n[0].Boolean, ps: 0 }, { n: "byteOrderMark", pt: $n[0].Boolean, ps: 1 }, { n: "throwOnInvalidBytes", pt: $n[0].Boolean, ps: 2 }], sn: "$ctor2" }, { ov: !0, a: 3, n: "Decode", t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "chars", pt: $n[0].Array.type(System.Char), ps: 3 }, { n: "charIndex", pt: $n[0].Int32, ps: 4 }], sn: "Decode$2", rt: $n[0].String, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, $n[0].Array.type(System.Char), $n[0].Int32] }, { ov: !0, a: 3, n: "Encode", t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "outputBytes", pt: $n[0].Array.type(System.Byte), ps: 1 }, { n: "outputIndex", pt: $n[0].Int32, ps: 2 }, { n: "writtenBytes", out: !0, pt: $n[0].Int32, ps: 3 }], sn: "Encode$3", rt: $n[0].Array.type(System.Byte), p: [$n[0].String, $n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { ov: !0, a: 2, n: "GetMaxByteCount", t: 8, pi: [{ n: "charCount", pt: $n[0].Int32, ps: 0 }], sn: "GetMaxByteCount", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "GetMaxCharCount", t: 8, pi: [{ n: "byteCount", pt: $n[0].Int32, ps: 0 }], sn: "GetMaxCharCount", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "CodePage", t: 16, rt: $n[0].Int32, g: { ov: !0, a: 2, n: "get_CodePage", t: 8, rt: $n[0].Int32, fg: "CodePage", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "CodePage" }, { ov: !0, a: 2, n: "EncodingName", t: 16, rt: $n[0].String, g: { ov: !0, a: 2, n: "get_EncodingName", t: 8, rt: $n[0].String, fg: "EncodingName" }, fn: "EncodingName" }, { a: 1, n: "bigEndian", t: 4, rt: $n[0].Boolean, sn: "bigEndian", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "byteOrderMark", t: 4, rt: $n[0].Boolean, sn: "byteOrderMark", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "throwOnInvalid", t: 4, rt: $n[0].Boolean, sn: "throwOnInvalid", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }] } }); $m($n[6].ASCIIEncoding, function () { return { att: 1048577, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { ov: !0, a: 3, n: "Decode", t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "chars", pt: $n[0].Array.type(System.Char), ps: 3 }, { n: "charIndex", pt: $n[0].Int32, ps: 4 }], sn: "Decode$2", rt: $n[0].String, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, $n[0].Array.type(System.Char), $n[0].Int32] }, { ov: !0, a: 3, n: "Encode", t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "outputBytes", pt: $n[0].Array.type(System.Byte), ps: 1 }, { n: "outputIndex", pt: $n[0].Int32, ps: 2 }, { n: "writtenBytes", out: !0, pt: $n[0].Int32, ps: 3 }], sn: "Encode$3", rt: $n[0].Array.type(System.Byte), p: [$n[0].String, $n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { ov: !0, a: 2, n: "GetMaxByteCount", t: 8, pi: [{ n: "charCount", pt: $n[0].Int32, ps: 0 }], sn: "GetMaxByteCount", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "GetMaxCharCount", t: 8, pi: [{ n: "byteCount", pt: $n[0].Int32, ps: 0 }], sn: "GetMaxCharCount", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "CodePage", t: 16, rt: $n[0].Int32, g: { ov: !0, a: 2, n: "get_CodePage", t: 8, rt: $n[0].Int32, fg: "CodePage", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "CodePage" }, { ov: !0, a: 2, n: "EncodingName", t: 16, rt: $n[0].String, g: { ov: !0, a: 2, n: "get_EncodingName", t: 8, rt: $n[0].String, fg: "EncodingName" }, fn: "EncodingName" }] } }); $m($n[6].EncodingInfo, function () { return { att: 1048833, a: 2, m: [{ a: 4, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].String, $n[0].String], pi: [{ n: "codePage", pt: $n[0].Int32, ps: 0 }, { n: "name", pt: $n[0].String, ps: 1 }, { n: "displayName", pt: $n[0].String, ps: 2 }], sn: "ctor" }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "o", pt: $n[0].Object, ps: 0 }], sn: "Equals", rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "GetEncoding", t: 8, sn: "GetEncoding", rt: $n[6].Encoding }, { ov: !0, a: 2, n: "GetHashCode", t: 8, sn: "GetHashCode", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "CodePage", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_CodePage", t: 8, rt: $n[0].Int32, fg: "CodePage", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "CodePage" }, { a: 2, n: "DisplayName", t: 16, rt: $n[0].String, g: { a: 2, n: "get_DisplayName", t: 8, rt: $n[0].String, fg: "DisplayName" }, fn: "DisplayName" }, { a: 2, n: "Name", t: 16, rt: $n[0].String, g: { a: 2, n: "get_Name", t: 8, rt: $n[0].String, fg: "Name" }, fn: "Name" }] } }); $m($n[6].Encoding, function () { return { att: 1048705, a: 2, m: [{ a: 3, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "Convert", is: !0, t: 8, pi: [{ n: "srcEncoding", pt: $n[6].Encoding, ps: 0 }, { n: "dstEncoding", pt: $n[6].Encoding, ps: 1 }, { n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 2 }], sn: "Convert", rt: $n[0].Array.type(System.Byte), p: [$n[6].Encoding, $n[6].Encoding, $n[0].Array.type(System.Byte)] }, { a: 2, n: "Convert", is: !0, t: 8, pi: [{ n: "srcEncoding", pt: $n[6].Encoding, ps: 0 }, { n: "dstEncoding", pt: $n[6].Encoding, ps: 1 }, { n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 2 }, { n: "index", pt: $n[0].Int32, ps: 3 }, { n: "count", pt: $n[0].Int32, ps: 4 }], sn: "Convert$1", rt: $n[0].Array.type(System.Byte), p: [$n[6].Encoding, $n[6].Encoding, $n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { a: 3, n: "Decode", t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }], sn: "Decode", rt: $n[0].String, p: [$n[0].Array.type(System.Byte)] }, { a: 3, n: "Decode", t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Decode$1", rt: $n[0].String, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { ab: !0, a: 3, n: "Decode", t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "chars", pt: $n[0].Array.type(System.Char), ps: 3 }, { n: "charIndex", pt: $n[0].Int32, ps: 4 }], sn: "Decode$2", rt: $n[0].String, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, $n[0].Array.type(System.Char), $n[0].Int32] }, { a: 3, n: "Encode", t: 8, pi: [{ n: "chars", pt: $n[0].Array.type(System.Char), ps: 0 }], sn: "Encode", rt: $n[0].Array.type(System.Byte), p: [$n[0].Array.type(System.Char)] }, { a: 3, n: "Encode", t: 8, pi: [{ n: "str", pt: $n[0].String, ps: 0 }], sn: "Encode$2", rt: $n[0].Array.type(System.Byte), p: [$n[0].String] }, { a: 3, n: "Encode", t: 8, pi: [{ n: "chars", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Encode$1", rt: $n[0].Array.type(System.Byte), p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32] }, { ab: !0, a: 3, n: "Encode", t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "outputBytes", pt: $n[0].Array.type(System.Byte), ps: 1 }, { n: "outputIndex", pt: $n[0].Int32, ps: 2 }, { n: "writtenBytes", out: !0, pt: $n[0].Int32, ps: 3 }], sn: "Encode$3", rt: $n[0].Array.type(System.Byte), p: [$n[0].String, $n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { a: 3, n: "Encode", t: 8, pi: [{ n: "chars", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "outputBytes", pt: $n[0].Array.type(System.Byte), ps: 3 }, { n: "outputIndex", pt: $n[0].Int32, ps: 4 }], sn: "Encode$4", rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32, $n[0].Array.type(System.Byte), $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 3, n: "Encode", t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "outputBytes", pt: $n[0].Array.type(System.Byte), ps: 3 }, { n: "outputIndex", pt: $n[0].Int32, ps: 4 }], sn: "Encode$5", rt: $n[0].Int32, p: [$n[0].String, $n[0].Int32, $n[0].Int32, $n[0].Array.type(System.Byte), $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 4, n: "FromCharCode", is: !0, t: 8, pi: [{ n: "code", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (code) { return System.String.fromCharCode(code) }, rt: $n[0].String, p: [$n[0].Int32] }, { v: !0, a: 2, n: "GetByteCount", t: 8, pi: [{ n: "chars", pt: $n[0].Array.type(System.Char), ps: 0 }], sn: "GetByteCount", rt: $n[0].Int32, p: [$n[0].Array.type(System.Char)], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "GetByteCount", t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], sn: "GetByteCount$2", rt: $n[0].Int32, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "GetByteCount", t: 8, pi: [{ n: "chars", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "GetByteCount$1", rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "GetBytes", t: 8, pi: [{ n: "chars", pt: $n[0].Array.type(System.Char), ps: 0 }], sn: "GetBytes", rt: $n[0].Array.type(System.Byte), p: [$n[0].Array.type(System.Char)] }, { v: !0, a: 2, n: "GetBytes", t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }], sn: "GetBytes$2", rt: $n[0].Array.type(System.Byte), p: [$n[0].String] }, { v: !0, a: 2, n: "GetBytes", t: 8, pi: [{ n: "chars", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "GetBytes$1", rt: $n[0].Array.type(System.Byte), p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32] }, { v: !0, a: 2, n: "GetBytes", t: 8, pi: [{ n: "chars", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "charIndex", pt: $n[0].Int32, ps: 1 }, { n: "charCount", pt: $n[0].Int32, ps: 2 }, { n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 3 }, { n: "byteIndex", pt: $n[0].Int32, ps: 4 }], sn: "GetBytes$3", rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32, $n[0].Array.type(System.Byte), $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "GetBytes", t: 8, pi: [{ n: "s", pt: $n[0].String, ps: 0 }, { n: "charIndex", pt: $n[0].Int32, ps: 1 }, { n: "charCount", pt: $n[0].Int32, ps: 2 }, { n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 3 }, { n: "byteIndex", pt: $n[0].Int32, ps: 4 }], sn: "GetBytes$4", rt: $n[0].Int32, p: [$n[0].String, $n[0].Int32, $n[0].Int32, $n[0].Array.type(System.Byte), $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "GetCharCount", t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }], sn: "GetCharCount", rt: $n[0].Int32, p: [$n[0].Array.type(System.Byte)], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "GetCharCount", t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "GetCharCount$1", rt: $n[0].Int32, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "GetChars", t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }], sn: "GetChars", rt: $n[0].Array.type(System.Char), p: [$n[0].Array.type(System.Byte)] }, { v: !0, a: 2, n: "GetChars", t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "GetChars$1", rt: $n[0].Array.type(System.Char), p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { a: 2, n: "GetChars", t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "byteIndex", pt: $n[0].Int32, ps: 1 }, { n: "byteCount", pt: $n[0].Int32, ps: 2 }, { n: "chars", pt: $n[0].Array.type(System.Char), ps: 3 }, { n: "charIndex", pt: $n[0].Int32, ps: 4 }], sn: "GetChars$2", rt: $n[0].Int32, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, $n[0].Array.type(System.Char), $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "GetEncoding", is: !0, t: 8, pi: [{ n: "codepage", pt: $n[0].Int32, ps: 0 }], sn: "GetEncoding", rt: $n[6].Encoding, p: [$n[0].Int32] }, { a: 2, n: "GetEncoding", is: !0, t: 8, pi: [{ n: "codepage", pt: $n[0].String, ps: 0 }], sn: "GetEncoding$1", rt: $n[6].Encoding, p: [$n[0].String] }, { a: 2, n: "GetEncodings", is: !0, t: 8, sn: "GetEncodings", rt: System.Array.type(System.Text.EncodingInfo) }, { ab: !0, a: 2, n: "GetMaxByteCount", t: 8, pi: [{ n: "charCount", pt: $n[0].Int32, ps: 0 }], sn: "GetMaxByteCount", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ab: !0, a: 2, n: "GetMaxCharCount", t: 8, pi: [{ n: "byteCount", pt: $n[0].Int32, ps: 0 }], sn: "GetMaxCharCount", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "GetString", t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }], sn: "GetString", rt: $n[0].String, p: [$n[0].Array.type(System.Byte)] }, { v: !0, a: 2, n: "GetString", t: 8, pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "GetString$1", rt: $n[0].String, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { a: 2, n: "ASCII", is: !0, t: 16, rt: $n[6].Encoding, g: { a: 2, n: "get_ASCII", t: 8, rt: $n[6].Encoding, fg: "ASCII", is: !0 }, fn: "ASCII" }, { a: 2, n: "BigEndianUnicode", is: !0, t: 16, rt: $n[6].Encoding, g: { a: 2, n: "get_BigEndianUnicode", t: 8, rt: $n[6].Encoding, fg: "BigEndianUnicode", is: !0 }, fn: "BigEndianUnicode" }, { v: !0, a: 2, n: "CodePage", t: 16, rt: $n[0].Int32, g: { v: !0, a: 2, n: "get_CodePage", t: 8, rt: $n[0].Int32, fg: "CodePage", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "CodePage" }, { a: 2, n: "Default", is: !0, t: 16, rt: $n[6].Encoding, g: { a: 2, n: "get_Default", t: 8, rt: $n[6].Encoding, fg: "Default", is: !0 }, fn: "Default" }, { v: !0, a: 2, n: "EncodingName", t: 16, rt: $n[0].String, g: { v: !0, a: 2, n: "get_EncodingName", t: 8, rt: $n[0].String, fg: "EncodingName" }, fn: "EncodingName" }, { a: 2, n: "UTF32", is: !0, t: 16, rt: $n[6].Encoding, g: { a: 2, n: "get_UTF32", t: 8, rt: $n[6].Encoding, fg: "UTF32", is: !0 }, fn: "UTF32" }, { a: 2, n: "UTF7", is: !0, t: 16, rt: $n[6].Encoding, g: { a: 2, n: "get_UTF7", t: 8, rt: $n[6].Encoding, fg: "UTF7", is: !0 }, fn: "UTF7" }, { a: 2, n: "UTF8", is: !0, t: 16, rt: $n[6].Encoding, g: { a: 2, n: "get_UTF8", t: 8, rt: $n[6].Encoding, fg: "UTF8", is: !0 }, fn: "UTF8" }, { a: 2, n: "Unicode", is: !0, t: 16, rt: $n[6].Encoding, g: { a: 2, n: "get_Unicode", t: 8, rt: $n[6].Encoding, fg: "Unicode", is: !0 }, fn: "Unicode" }, { a: 1, n: "__Property__Initializer__ASCII", is: !0, t: 4, rt: $n[6].Encoding, sn: "__Property__Initializer__ASCII" }, { a: 1, n: "__Property__Initializer__BigEndianUnicode", is: !0, t: 4, rt: $n[6].Encoding, sn: "__Property__Initializer__BigEndianUnicode" }, { a: 1, n: "__Property__Initializer__Default", is: !0, t: 4, rt: $n[6].Encoding, sn: "__Property__Initializer__Default" }, { a: 1, n: "__Property__Initializer__UTF32", is: !0, t: 4, rt: $n[6].Encoding, sn: "__Property__Initializer__UTF32" }, { a: 1, n: "__Property__Initializer__UTF7", is: !0, t: 4, rt: $n[6].Encoding, sn: "__Property__Initializer__UTF7" }, { a: 1, n: "__Property__Initializer__UTF8", is: !0, t: 4, rt: $n[6].Encoding, sn: "__Property__Initializer__UTF8" }, { a: 1, n: "__Property__Initializer__Unicode", is: !0, t: 4, rt: $n[6].Encoding, sn: "__Property__Initializer__Unicode" }, { a: 1, n: "_encodings", is: !0, t: 4, rt: System.Array.type(System.Text.EncodingInfo), sn: "_encodings" }, { a: 4, n: "_hasError", t: 4, rt: $n[0].Boolean, sn: "_hasError", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 3, n: "fallbackCharacter", t: 4, rt: $n[0].Char, sn: "fallbackCharacter", box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } }] } }); $m($n[6].StringBuilder, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "capacity", pt: $n[0].Int32, ps: 0 }], def: function (capacity) { return new System.Text.StringBuilder("", capacity) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "value", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Int32], pi: [{ n: "value", pt: $n[0].String, ps: 0 }, { n: "capacity", pt: $n[0].Int32, ps: 1 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Int32, $n[0].Int32], pi: [{ n: "value", pt: $n[0].String, ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }, { n: "length", pt: $n[0].Int32, ps: 2 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Int32, $n[0].Int32, $n[0].Int32], pi: [{ n: "value", pt: $n[0].String, ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }, { n: "length", pt: $n[0].Int32, ps: 2 }, { n: "capacity", pt: $n[0].Int32, ps: 3 }], sn: "ctor" }, { a: 2, n: "Append", t: 8, pi: [{ n: "value", pt: $n[0].Boolean, ps: 0 }], sn: "append", rt: $n[6].StringBuilder, p: [$n[0].Boolean] }, { a: 2, n: "Append", t: 8, pi: [{ n: "value", pt: $n[0].Byte, ps: 0 }], sn: "append", rt: $n[6].StringBuilder, p: [$n[0].Byte] }, { a: 2, n: "Append", t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }], tpc: 0, def: function (value) { return this.append(String.fromCharCode(value)) }, rt: $n[6].StringBuilder, p: [$n[0].Char] }, { a: 2, n: "Append", t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], sn: "append", rt: $n[6].StringBuilder, p: [$n[0].Decimal] }, { a: 2, n: "Append", t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], sn: "append", rt: $n[6].StringBuilder, p: [$n[0].Double] }, { a: 2, n: "Append", t: 8, pi: [{ n: "value", pt: $n[0].Int32, ps: 0 }], sn: "append", rt: $n[6].StringBuilder, p: [$n[0].Int32] }, { a: 2, n: "Append", t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], tpc: 0, def: function (value) { return this.append(value.toString()) }, rt: $n[6].StringBuilder, p: [$n[0].Int64] }, { a: 2, n: "Append", t: 8, pi: [{ n: "value", pt: $n[0].Object, ps: 0 }], sn: "append", rt: $n[6].StringBuilder, p: [$n[0].Object] }, { a: 2, n: "Append", t: 8, pi: [{ n: "value", pt: $n[0].Single, ps: 0 }], sn: "append", rt: $n[6].StringBuilder, p: [$n[0].Single] }, { a: 2, n: "Append", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], sn: "append", rt: $n[6].StringBuilder, p: [$n[0].String] }, { a: 2, n: "Append", t: 8, pi: [{ n: "value", pt: $n[0].UInt32, ps: 0 }], sn: "append", rt: $n[6].StringBuilder, p: [$n[0].UInt32] }, { a: 2, n: "Append", t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], tpc: 0, def: function (value) { return this.append(value.toString()) }, rt: $n[6].StringBuilder, p: [$n[0].UInt64] }, { a: 2, n: "Append", t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }, { n: "repeatCount", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (value, repeatCount) { return this.append(String.fromCharCode(value), repeatCount) }, rt: $n[6].StringBuilder, p: [$n[0].Char, $n[0].Int32] }, { a: 2, n: "Append", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }, { n: "startIndex", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "append", rt: $n[6].StringBuilder, p: [$n[0].String, $n[0].Int32, $n[0].Int32] }, { a: 2, n: "AppendFormat", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "args", ip: !0, pt: $n[0].Array.type(System.Object), ps: 1 }], sn: "appendFormat", rt: $n[6].StringBuilder, p: [$n[0].String, $n[0].Array.type(System.Object)] }, { a: 2, n: "AppendLine", t: 8, sn: "appendLine", rt: $n[6].StringBuilder }, { a: 2, n: "AppendLine", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], sn: "appendLine", rt: $n[6].StringBuilder, p: [$n[0].String] }, { a: 2, n: "Clear", t: 8, sn: "clear", rt: $n[6].StringBuilder }, { a: 2, n: "Equals", t: 8, pi: [{ n: "sb", pt: $n[6].StringBuilder, ps: 0 }], sn: "equals", rt: $n[0].Boolean, p: [$n[6].StringBuilder], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Insert", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].Boolean, ps: 1 }], sn: "insert", rt: $n[6].StringBuilder, p: [$n[0].Int32, $n[0].Boolean] }, { a: 2, n: "Insert", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].Char, ps: 1 }], tpc: 0, def: function (index, value) { return this.insert(index, String.fromCharCode(value)) }, rt: $n[6].StringBuilder, p: [$n[0].Int32, $n[0].Char] }, { a: 2, n: "Insert", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].Decimal, ps: 1 }], sn: "insert", rt: $n[6].StringBuilder, p: [$n[0].Int32, $n[0].Decimal] }, { a: 2, n: "Insert", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].Double, ps: 1 }], sn: "insert", rt: $n[6].StringBuilder, p: [$n[0].Int32, $n[0].Double] }, { a: 2, n: "Insert", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].Int32, ps: 1 }], sn: "insert", rt: $n[6].StringBuilder, p: [$n[0].Int32, $n[0].Int32] }, { a: 2, n: "Insert", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].Int64, ps: 1 }], tpc: 0, def: function (index, value) { return this.insert(index, value.toString()) }, rt: $n[6].StringBuilder, p: [$n[0].Int32, $n[0].Int64] }, { a: 2, n: "Insert", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].Object, ps: 1 }], sn: "insert", rt: $n[6].StringBuilder, p: [$n[0].Int32, $n[0].Object] }, { a: 2, n: "Insert", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].Single, ps: 1 }], sn: "insert", rt: $n[6].StringBuilder, p: [$n[0].Int32, $n[0].Single] }, { a: 2, n: "Insert", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].String, ps: 1 }], sn: "insert", rt: $n[6].StringBuilder, p: [$n[0].Int32, $n[0].String] }, { a: 2, n: "Insert", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].UInt32, ps: 1 }], sn: "insert", rt: $n[6].StringBuilder, p: [$n[0].Int32, $n[0].UInt32] }, { a: 2, n: "Insert", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].UInt64, ps: 1 }], tpc: 0, def: function (index, value) { return this.insert(index, value.toString()) }, rt: $n[6].StringBuilder, p: [$n[0].Int32, $n[0].UInt64] }, { a: 2, n: "Insert", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].String, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "insert", rt: $n[6].StringBuilder, p: [$n[0].Int32, $n[0].String, $n[0].Int32] }, { a: 2, n: "Remove", t: 8, pi: [{ n: "startIndex", pt: $n[0].Int32, ps: 0 }, { n: "length", pt: $n[0].Int32, ps: 1 }], sn: "remove", rt: $n[6].StringBuilder, p: [$n[0].Int32, $n[0].Int32] }, { a: 2, n: "Replace", t: 8, pi: [{ n: "oldChar", pt: $n[0].Char, ps: 0 }, { n: "newChar", pt: $n[0].Char, ps: 1 }], tpc: 0, def: function (oldChar, newChar) { return this.replace(String.fromCharCode(oldChar), String.fromCharCode(newChar)) }, rt: $n[6].StringBuilder, p: [$n[0].Char, $n[0].Char] }, { a: 2, n: "Replace", t: 8, pi: [{ n: "oldValue", pt: $n[0].String, ps: 0 }, { n: "newValue", pt: $n[0].String, ps: 1 }], sn: "replace", rt: $n[6].StringBuilder, p: [$n[0].String, $n[0].String] }, { a: 2, n: "Replace", t: 8, pi: [{ n: "oldChar", pt: $n[0].Char, ps: 0 }, { n: "newChar", pt: $n[0].Char, ps: 1 }, { n: "startIndex", pt: $n[0].Int32, ps: 2 }, { n: "count", pt: $n[0].Int32, ps: 3 }], tpc: 0, def: function (oldChar, newChar, startIndex, count) { return this.replace(String.fromCharCode(oldChar), String.fromCharCode(newChar), startIndex, count) }, rt: $n[6].StringBuilder, p: [$n[0].Char, $n[0].Char, $n[0].Int32, $n[0].Int32] }, { a: 2, n: "Replace", t: 8, pi: [{ n: "oldValue", pt: $n[0].String, ps: 0 }, { n: "newValue", pt: $n[0].String, ps: 1 }, { n: "startIndex", pt: $n[0].Int32, ps: 2 }, { n: "count", pt: $n[0].Int32, ps: 3 }], sn: "replace", rt: $n[6].StringBuilder, p: [$n[0].String, $n[0].String, $n[0].Int32, $n[0].Int32] }, { ov: !0, a: 2, n: "ToString", t: 8, sn: "toString", rt: $n[0].String }, { a: 2, n: "ToString", t: 8, pi: [{ n: "startIndex", pt: $n[0].Int32, ps: 0 }, { n: "length", pt: $n[0].Int32, ps: 1 }], sn: "toString", rt: $n[0].String, p: [$n[0].Int32, $n[0].Int32] }, { a: 2, n: "Capacity", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Capacity", t: 8, tpc: 0, def: function () { return this.getCapacity() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, s: { a: 2, n: "set_Capacity", t: 8, pi: [{ n: "value", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (value) { return this.setCapacity(value) }, rt: $n[0].Void, p: [$n[0].Int32] } }, { a: 2, n: "Item", t: 16, rt: $n[0].Char, p: [$n[0].Int32], i: !0, ipi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], g: { a: 2, n: "get_Item", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], sn: "getChar", rt: $n[0].Char, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } }, s: { a: 2, n: "set_Item", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].Char, ps: 1 }], sn: "setChar", rt: $n[0].Void, p: [$n[0].Int32, $n[0].Char] } }, { a: 2, n: "Length", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Length", t: 8, tpc: 0, def: function () { return this.getLength() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, s: { a: 2, n: "set_Length", t: 8, pi: [{ n: "value", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (value) { return this.setLength(value) }, rt: $n[0].Void, p: [$n[0].Int32] } }] } }); $m($n[1].Capture, function () { return { att: 1048577, a: 2, m: [{ a: 4, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Int32, $n[0].Int32], pi: [{ n: "text", pt: $n[0].String, ps: 0 }, { n: "i", pt: $n[0].Int32, ps: 1 }, { n: "l", pt: $n[0].Int32, ps: 2 }], sn: "ctor" }, { ov: !0, a: 2, n: "ToString", t: 8, sn: "toString", rt: $n[0].String }, { a: 2, n: "Index", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Index", t: 8, tpc: 0, def: function () { return this.getIndex() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "Length", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Length", t: 8, tpc: 0, def: function () { return this.getLength() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "Value", t: 16, rt: $n[0].String, g: { a: 2, n: "get_Value", t: 8, tpc: 0, def: function () { return this.getValue() }, rt: $n[0].String } }] } }); $m($n[1].CaptureCollection, function () { return { att: 1048577, a: 2, m: [{ a: 4, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: Array, ps: 0 }, { n: "arrayIndex", pt: $n[0].Int32, ps: 1 }], sn: "copyTo", rt: $n[0].Void, p: [Array, $n[0].Int32] }, { a: 2, n: "GetEnumerator", t: 8, sn: "getEnumerator", rt: $n[2].IEnumerator }, { a: 2, n: "Count", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Count", t: 8, tpc: 0, def: function () { return this.getCount() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "IsReadOnly", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsReadOnly", t: 8, tpc: 0, def: function () { return this.getIsReadOnly() }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 2, n: "IsSynchronized", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsSynchronized", t: 8, tpc: 0, def: function () { return this.getIsSynchronized() }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 2, n: "Item", t: 16, rt: $n[1].Capture, p: [$n[0].Int32], i: !0, ipi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], g: { a: 2, n: "get_Item", t: 8, pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (i) { return this.get(i) }, rt: $n[1].Capture, p: [$n[0].Int32] } }, { a: 2, n: "SyncRoot", t: 16, rt: $n[0].Object, g: { a: 2, n: "get_SyncRoot", t: 8, tpc: 0, def: function () { return this.getSyncRoot() }, rt: $n[0].Object } }] } }); $m($n[1].Group, function () { return { att: 1048577, a: 2, m: [{ a: 4, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Array.type(System.Int32), $n[0].Int32], pi: [{ n: "text", pt: $n[0].String, ps: 0 }, { n: "caps", pt: $n[0].Array.type(System.Int32), ps: 1 }, { n: "capcount", pt: $n[0].Int32, ps: 2 }], sn: "ctor" }, { a: 2, n: "Synchronized", is: !0, t: 8, pi: [{ n: "inner", pt: $n[1].Group, ps: 0 }], sn: "synchronized", rt: $n[1].Group, p: [$n[1].Group] }, { a: 2, n: "Captures", t: 16, rt: $n[1].CaptureCollection, g: { a: 2, n: "get_Captures", t: 8, tpc: 0, def: function () { return this.getCaptures() }, rt: $n[1].CaptureCollection } }, { a: 2, n: "Success", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_Success", t: 8, tpc: 0, def: function () { return this.getSuccess() }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }] } }); $m($n[1].GroupCollection, function () { return { att: 1048577, a: 2, m: [{ a: 4, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: Array, ps: 0 }, { n: "arrayIndex", pt: $n[0].Int32, ps: 1 }], sn: "copyTo", rt: $n[0].Void, p: [Array, $n[0].Int32] }, { a: 2, n: "GetEnumerator", t: 8, sn: "getEnumerator", rt: $n[2].IEnumerator }, { a: 2, n: "Count", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Count", t: 8, tpc: 0, def: function () { return this.getCount() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "IsReadOnly", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsReadOnly", t: 8, tpc: 0, def: function () { return this.getIsReadOnly() }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 2, n: "IsSynchronized", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsSynchronized", t: 8, tpc: 0, def: function () { return this.getIsSynchronized() }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 2, n: "Item", t: 16, rt: $n[1].Group, p: [$n[0].Int32], i: !0, ipi: [{ n: "groupnum", pt: $n[0].Int32, ps: 0 }], g: { a: 2, n: "get_Item", t: 8, pi: [{ n: "groupnum", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (groupnum) { return this.get(groupnum) }, rt: $n[1].Group, p: [$n[0].Int32] } }, { a: 2, n: "Item", t: 16, rt: $n[1].Group, p: [$n[0].String], i: !0, ipi: [{ n: "groupname", pt: $n[0].String, ps: 0 }], g: { a: 2, n: "get_Item", t: 8, pi: [{ n: "groupname", pt: $n[0].String, ps: 0 }], tpc: 0, def: function (groupname) { return this.getByName(groupname) }, rt: $n[1].Group, p: [$n[0].String] } }, { a: 2, n: "SyncRoot", t: 16, rt: $n[0].Object, g: { a: 2, n: "get_SyncRoot", t: 8, tpc: 0, def: function () { return this.getSyncRoot() }, rt: $n[0].Object } }] } }); $m($n[1].Match, function () { return { att: 1048577, a: 2, m: [{ a: 4, n: ".ctor", t: 1, p: [$n[1].Regex, $n[0].Int32, $n[0].String, $n[0].Int32, $n[0].Int32, $n[0].Int32], pi: [{ n: "regex", pt: $n[1].Regex, ps: 0 }, { n: "capcount", pt: $n[0].Int32, ps: 1 }, { n: "text", pt: $n[0].String, ps: 2 }, { n: "begpos", pt: $n[0].Int32, ps: 3 }, { n: "len", pt: $n[0].Int32, ps: 4 }, { n: "startpos", pt: $n[0].Int32, ps: 5 }], sn: "ctor" }, { a: 2, n: "NextMatch", t: 8, sn: "nextMatch", rt: $n[1].Match }, { v: !0, a: 2, n: "Result", t: 8, pi: [{ n: "replacement", pt: $n[0].String, ps: 0 }], sn: "result", rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "Synchronized", is: !0, t: 8, pi: [{ n: "inner", pt: $n[1].Match, ps: 0 }], sn: "synchronized", rt: $n[1].Match, p: [$n[1].Match] }, { a: 2, n: "Empty", is: !0, t: 16, rt: $n[1].Match, g: { a: 2, n: "get_Empty", is: !0, t: 8, tpc: 0, def: function () { return this.getEmpty() }, rt: $n[1].Match } }, { v: !0, a: 2, n: "Groups", t: 16, rt: $n[1].GroupCollection, g: { v: !0, a: 2, n: "get_Groups", t: 8, tpc: 0, def: function () { return this.getGroups() }, rt: $n[1].GroupCollection } }] } }); $m($n[1].MatchCollection, function () { return { att: 1048577, a: 2, m: [{ a: 4, n: ".ctor", t: 1, p: [$n[1].Regex, $n[0].String, $n[0].Int32, $n[0].Int32, $n[0].Int32], pi: [{ n: "regex", pt: $n[1].Regex, ps: 0 }, { n: "input", pt: $n[0].String, ps: 1 }, { n: "beginning", pt: $n[0].Int32, ps: 2 }, { n: "length", pt: $n[0].Int32, ps: 3 }, { n: "startat", pt: $n[0].Int32, ps: 4 }], sn: "ctor" }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: Array, ps: 0 }, { n: "arrayIndex", pt: $n[0].Int32, ps: 1 }], sn: "copyTo", rt: $n[0].Void, p: [Array, $n[0].Int32] }, { a: 2, n: "GetEnumerator", t: 8, sn: "getEnumerator", rt: $n[2].IEnumerator }, { a: 2, n: "Count", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Count", t: 8, tpc: 0, def: function () { return this.getCount() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "IsReadOnly", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsReadOnly", t: 8, tpc: 0, def: function () { return this.getIsReadOnly() }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 2, n: "IsSynchronized", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsSynchronized", t: 8, tpc: 0, def: function () { return this.getIsSynchronized() }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { v: !0, a: 2, n: "Item", t: 16, rt: $n[1].Match, p: [$n[0].Int32], i: !0, ipi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], g: { v: !0, a: 2, n: "get_Item", t: 8, pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (i) { return this.get(i) }, rt: $n[1].Match, p: [$n[0].Int32] } }, { a: 2, n: "SyncRoot", t: 16, rt: $n[0].Object, g: { a: 2, n: "get_SyncRoot", t: 8, tpc: 0, def: function () { return this.getSyncRoot() }, rt: $n[0].Object } }] } }); $m($n[1].Regex, function () { return { att: 1048833, a: 2, m: [{ a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "pattern", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[1].RegexOptions], pi: [{ n: "pattern", pt: $n[0].String, ps: 0 }, { n: "options", pt: $n[1].RegexOptions, ps: 1 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[1].RegexOptions, $n[0].TimeSpan], pi: [{ n: "pattern", pt: $n[0].String, ps: 0 }, { n: "options", pt: $n[1].RegexOptions, ps: 1 }, { n: "matchTimeout", pt: $n[0].TimeSpan, ps: 2 }], sn: "ctor" }, { a: 2, n: "Escape", is: !0, t: 8, pi: [{ n: "str", pt: $n[0].String, ps: 0 }], sn: "escape", rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "GetGroupNames", t: 8, sn: "getGroupNames", rt: $n[0].Array.type(System.String) }, { a: 2, n: "GetGroupNumbers", t: 8, sn: "getGroupNumbers", rt: $n[0].Array.type(System.Int32) }, { a: 2, n: "GroupNameFromNumber", t: 8, pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], sn: "groupNameFromNumber", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "GroupNumberFromName", t: 8, pi: [{ n: "name", pt: $n[0].String, ps: 0 }], sn: "groupNumberFromName", rt: $n[0].Int32, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IsMatch", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }], sn: "isMatch", rt: $n[0].Boolean, p: [$n[0].String], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsMatch", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "startat", pt: $n[0].Int32, ps: 1 }], sn: "isMatch", rt: $n[0].Boolean, p: [$n[0].String, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsMatch", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }], sn: "isMatch", rt: $n[0].Boolean, p: [$n[0].String, $n[0].String], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsMatch", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }, { n: "options", pt: $n[1].RegexOptions, ps: 2 }], sn: "isMatch", rt: $n[0].Boolean, p: [$n[0].String, $n[0].String, $n[1].RegexOptions], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsMatch", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }, { n: "options", pt: $n[1].RegexOptions, ps: 2 }, { n: "matchTimeout", pt: $n[0].TimeSpan, ps: 3 }], sn: "isMatch", rt: $n[0].Boolean, p: [$n[0].String, $n[0].String, $n[1].RegexOptions, $n[0].TimeSpan], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Match", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }], sn: "match", rt: $n[1].Match, p: [$n[0].String] }, { a: 2, n: "Match", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "startat", pt: $n[0].Int32, ps: 1 }], sn: "match", rt: $n[1].Match, p: [$n[0].String, $n[0].Int32] }, { a: 2, n: "Match", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }], sn: "match", rt: $n[1].Match, p: [$n[0].String, $n[0].String] }, { a: 2, n: "Match", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "beginning", pt: $n[0].Int32, ps: 1 }, { n: "length", pt: $n[0].Int32, ps: 2 }], sn: "match", rt: $n[1].Match, p: [$n[0].String, $n[0].Int32, $n[0].Int32] }, { a: 2, n: "Match", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }, { n: "options", pt: $n[1].RegexOptions, ps: 2 }], sn: "match", rt: $n[1].Match, p: [$n[0].String, $n[0].String, $n[1].RegexOptions] }, { a: 2, n: "Match", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }, { n: "options", pt: $n[1].RegexOptions, ps: 2 }, { n: "matchTimeout", pt: $n[0].TimeSpan, ps: 3 }], sn: "match", rt: $n[1].Match, p: [$n[0].String, $n[0].String, $n[1].RegexOptions, $n[0].TimeSpan] }, { a: 2, n: "Matches", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }], sn: "matches", rt: $n[1].MatchCollection, p: [$n[0].String] }, { a: 2, n: "Matches", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "startat", pt: $n[0].Int32, ps: 1 }], sn: "matches", rt: $n[1].MatchCollection, p: [$n[0].String, $n[0].Int32] }, { a: 2, n: "Matches", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }], sn: "matches", rt: $n[1].MatchCollection, p: [$n[0].String, $n[0].String] }, { a: 2, n: "Matches", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }, { n: "options", pt: $n[1].RegexOptions, ps: 2 }], sn: "matches", rt: $n[1].MatchCollection, p: [$n[0].String, $n[0].String, $n[1].RegexOptions] }, { a: 2, n: "Matches", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }, { n: "options", pt: $n[1].RegexOptions, ps: 2 }, { n: "matchTimeout", pt: $n[0].TimeSpan, ps: 3 }], sn: "matches", rt: $n[1].MatchCollection, p: [$n[0].String, $n[0].String, $n[1].RegexOptions, $n[0].TimeSpan] }, { a: 2, n: "Replace", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "replacement", pt: $n[0].String, ps: 1 }], sn: "replace", rt: $n[0].String, p: [$n[0].String, $n[0].String] }, { a: 2, n: "Replace", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "evaluator", pt: Function, ps: 1 }], sn: "replace", rt: $n[0].String, p: [$n[0].String, Function] }, { a: 2, n: "Replace", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "replacement", pt: $n[0].String, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "replace", rt: $n[0].String, p: [$n[0].String, $n[0].String, $n[0].Int32] }, { a: 2, n: "Replace", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }, { n: "replacement", pt: $n[0].String, ps: 2 }], sn: "replace", rt: $n[0].String, p: [$n[0].String, $n[0].String, $n[0].String] }, { a: 2, n: "Replace", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }, { n: "evaluator", pt: Function, ps: 2 }], sn: "replace", rt: $n[0].String, p: [$n[0].String, $n[0].String, Function] }, { a: 2, n: "Replace", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "evaluator", pt: Function, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "replace", rt: $n[0].String, p: [$n[0].String, Function, $n[0].Int32] }, { a: 2, n: "Replace", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "replacement", pt: $n[0].String, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "startat", pt: $n[0].Int32, ps: 3 }], sn: "replace", rt: $n[0].String, p: [$n[0].String, $n[0].String, $n[0].Int32, $n[0].Int32] }, { a: 2, n: "Replace", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }, { n: "replacement", pt: $n[0].String, ps: 2 }, { n: "options", pt: $n[1].RegexOptions, ps: 3 }], sn: "replace", rt: $n[0].String, p: [$n[0].String, $n[0].String, $n[0].String, $n[1].RegexOptions] }, { a: 2, n: "Replace", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }, { n: "evaluator", pt: Function, ps: 2 }, { n: "options", pt: $n[1].RegexOptions, ps: 3 }], sn: "replace", rt: $n[0].String, p: [$n[0].String, $n[0].String, Function, $n[1].RegexOptions] }, { a: 2, n: "Replace", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "evaluator", pt: Function, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "startat", pt: $n[0].Int32, ps: 3 }], sn: "replace", rt: $n[0].String, p: [$n[0].String, Function, $n[0].Int32, $n[0].Int32] }, { a: 2, n: "Replace", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }, { n: "replacement", pt: $n[0].String, ps: 2 }, { n: "options", pt: $n[1].RegexOptions, ps: 3 }, { n: "matchTimeout", pt: $n[0].TimeSpan, ps: 4 }], sn: "replace", rt: $n[0].String, p: [$n[0].String, $n[0].String, $n[0].String, $n[1].RegexOptions, $n[0].TimeSpan] }, { a: 2, n: "Replace", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }, { n: "evaluator", pt: Function, ps: 2 }, { n: "options", pt: $n[1].RegexOptions, ps: 3 }, { n: "matchTimeout", pt: $n[0].TimeSpan, ps: 4 }], sn: "replace", rt: $n[0].String, p: [$n[0].String, $n[0].String, Function, $n[1].RegexOptions, $n[0].TimeSpan] }, { a: 2, n: "Split", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }], sn: "split", rt: $n[0].Array.type(System.String), p: [$n[0].String] }, { a: 2, n: "Split", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "count", pt: $n[0].Int32, ps: 1 }], sn: "split", rt: $n[0].Array.type(System.String), p: [$n[0].String, $n[0].Int32] }, { a: 2, n: "Split", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }], sn: "split", rt: $n[0].Array.type(System.String), p: [$n[0].String, $n[0].String] }, { a: 2, n: "Split", t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "count", pt: $n[0].Int32, ps: 1 }, { n: "startat", pt: $n[0].Int32, ps: 2 }], sn: "split", rt: $n[0].Array.type(System.String), p: [$n[0].String, $n[0].Int32, $n[0].Int32] }, { a: 2, n: "Split", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }, { n: "options", pt: $n[1].RegexOptions, ps: 2 }], sn: "split", rt: $n[0].Array.type(System.String), p: [$n[0].String, $n[0].String, $n[1].RegexOptions] }, { a: 2, n: "Split", is: !0, t: 8, pi: [{ n: "input", pt: $n[0].String, ps: 0 }, { n: "pattern", pt: $n[0].String, ps: 1 }, { n: "options", pt: $n[1].RegexOptions, ps: 2 }, { n: "matchTimeout", pt: $n[0].TimeSpan, ps: 3 }], sn: "split", rt: $n[0].Array.type(System.String), p: [$n[0].String, $n[0].String, $n[1].RegexOptions, $n[0].TimeSpan] }, { a: 2, n: "Unescape", is: !0, t: 8, pi: [{ n: "str", pt: $n[0].String, ps: 0 }], sn: "unescape", rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "MatchTimeout", t: 16, rt: $n[0].TimeSpan, g: { a: 2, n: "get_MatchTimeout", t: 8, tpc: 0, def: function () { return this.getMatchTimeout() }, rt: $n[0].TimeSpan } }, { a: 2, n: "Options", t: 16, rt: $n[1].RegexOptions, g: { a: 2, n: "get_Options", t: 8, tpc: 0, def: function () { return this.getOptions() }, rt: $n[1].RegexOptions } }, { a: 2, n: "RightToLeft", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_RightToLeft", t: 8, tpc: 0, def: function () { return this.getRightToLeft() }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }] } }); $m($n[9].ClientWebSocket, function () { return { att: 1048577, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "Abort", t: 8, sn: "abort", rt: $n[0].Void }, { a: 2, n: "CloseAsync", t: 8, pi: [{ n: "closeStatus", pt: $n[9].WebSocketCloseStatus, ps: 0 }, { n: "statusDescription", pt: $n[0].String, ps: 1 }, { n: "cancellationToken", pt: $n[5].CancellationToken, ps: 2 }], sn: "closeAsync", rt: $n[8].Task, p: [$n[9].WebSocketCloseStatus, $n[0].String, $n[5].CancellationToken] }, { a: 2, n: "CloseOutputAsync", t: 8, pi: [{ n: "closeStatus", pt: $n[9].WebSocketCloseStatus, ps: 0 }, { n: "statusDescription", pt: $n[0].String, ps: 1 }, { n: "cancellationToken", pt: $n[5].CancellationToken, ps: 2 }], sn: "closeOutputAsync", rt: $n[8].Task, p: [$n[9].WebSocketCloseStatus, $n[0].String, $n[5].CancellationToken] }, { a: 2, n: "ConnectAsync", t: 8, pi: [{ n: "uri", pt: $n[0].Uri, ps: 0 }, { n: "cancellationToken", pt: $n[5].CancellationToken, ps: 1 }], sn: "connectAsync", rt: $n[8].Task, p: [$n[0].Uri, $n[5].CancellationToken] }, { a: 2, n: "Dispose", t: 8, sn: "dispose", rt: $n[0].Void }, { a: 2, n: "ReceiveAsync", t: 8, pi: [{ n: "buffer", pt: $n[0].ArraySegment, ps: 0 }, { n: "cancellationToken", pt: $n[5].CancellationToken, ps: 1 }], sn: "receiveAsync", rt: $n[8].Task$1(System.Net.WebSockets.WebSocketReceiveResult), p: [$n[0].ArraySegment, $n[5].CancellationToken] }, { a: 2, n: "SendAsync", t: 8, pi: [{ n: "buffer", pt: $n[0].ArraySegment, ps: 0 }, { n: "messageType", pt: $n[9].WebSocketMessageType, ps: 1 }, { n: "endOfMessage", dv: !0, o: !0, pt: $n[0].Boolean, ps: 2 }, { n: "cancellationToken", dv: null, o: !0, pt: $n[5].CancellationToken, ps: 3 }], sn: "sendAsync", rt: $n[8].Task, p: [$n[0].ArraySegment, $n[9].WebSocketMessageType, $n[0].Boolean, $n[5].CancellationToken] }, { a: 2, n: "CloseStatus", t: 16, rt: $n[0].Nullable$1(System.Net.WebSockets.WebSocketCloseStatus), g: { a: 2, n: "get_CloseStatus", t: 8, tpc: 0, def: function () { return this.getCloseStatus() }, rt: $n[0].Nullable$1(System.Net.WebSockets.WebSocketCloseStatus) } }, { a: 2, n: "CloseStatusDescription", t: 16, rt: $n[0].String, g: { a: 2, n: "get_CloseStatusDescription", t: 8, tpc: 0, def: function () { return this.getCloseStatusDescription() }, rt: $n[0].String } }, { a: 2, n: "Options", t: 16, rt: $n[9].ClientWebSocketOptions, g: { a: 2, n: "get_Options", t: 8, tpc: 0, def: function () { return this.getOptions() }, rt: $n[9].ClientWebSocketOptions } }, { a: 2, n: "State", t: 16, rt: $n[9].WebSocketState, g: { a: 2, n: "get_State", t: 8, tpc: 0, def: function () { return this.getState() }, rt: $n[9].WebSocketState } }, { a: 2, n: "SubProtocol", t: 16, rt: $n[0].String, g: { a: 2, n: "get_SubProtocol", t: 8, tpc: 0, def: function () { return this.getSubProtocol() }, rt: $n[0].String } }] } }); $m($n[9].ClientWebSocketOptions, function () { return { att: 1048577, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "AddSubProtocol", t: 8, pi: [{ n: "subProtocol", pt: $n[0].String, ps: 0 }], sn: "addSubProtocol", rt: $n[0].Void, p: [$n[0].String] }] } }); $m($n[9].WebSocketReceiveResult, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[9].WebSocketMessageType, $n[0].Boolean], pi: [{ n: "count", pt: $n[0].Int32, ps: 0 }, { n: "messageType", pt: $n[9].WebSocketMessageType, ps: 1 }, { n: "endOfMessage", pt: $n[0].Boolean, ps: 2 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[9].WebSocketMessageType, $n[0].Boolean, $n[0].Nullable$1(System.Net.WebSockets.WebSocketCloseStatus), $n[0].String], pi: [{ n: "count", pt: $n[0].Int32, ps: 0 }, { n: "messageType", pt: $n[9].WebSocketMessageType, ps: 1 }, { n: "endOfMessage", pt: $n[0].Boolean, ps: 2 }, { n: "closeStatus", pt: $n[0].Nullable$1(System.Net.WebSockets.WebSocketCloseStatus), ps: 3 }, { n: "closeStatusDescription", pt: $n[0].String, ps: 4 }], sn: "ctor" }, { a: 2, n: "CloseStatus", t: 16, rt: $n[0].Nullable$1(System.Net.WebSockets.WebSocketCloseStatus), g: { a: 2, n: "get_CloseStatus", t: 8, tpc: 0, def: function () { return this.getCloseStatus() }, rt: $n[0].Nullable$1(System.Net.WebSockets.WebSocketCloseStatus) } }, { a: 2, n: "CloseStatusDescription", t: 16, rt: $n[0].String, g: { a: 2, n: "get_CloseStatusDescription", t: 8, tpc: 0, def: function () { return this.getCloseStatusDescription() }, rt: $n[0].String } }, { a: 2, n: "Count", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Count", t: 8, tpc: 0, def: function () { return this.getCount() }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { a: 2, n: "EndOfMessage", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_EndOfMessage", t: 8, tpc: 0, def: function () { return this.getEndOfMessage() }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 2, n: "MessageType", t: 16, rt: $n[9].WebSocketMessageType, g: { a: 2, n: "get_MessageType", t: 8, tpc: 0, def: function () { return this.getMessageType() }, rt: $n[9].WebSocketMessageType } }] } }); $m($n[10].BinaryReader, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, p: [$n[10].Stream], pi: [{ n: "input", pt: $n[10].Stream, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream, $n[6].Encoding], pi: [{ n: "input", pt: $n[10].Stream, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream, $n[6].Encoding, $n[0].Boolean], pi: [{ n: "input", pt: $n[10].Stream, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }, { n: "leaveOpen", pt: $n[0].Boolean, ps: 2 }], sn: "$ctor2" }, { v: !0, a: 2, n: "Close", t: 8, sn: "Close", rt: $n[0].Void }, { a: 2, n: "Dispose", t: 8, sn: "Dispose", rt: $n[0].Void }, { v: !0, a: 3, n: "Dispose", t: 8, pi: [{ n: "disposing", pt: $n[0].Boolean, ps: 0 }], sn: "Dispose$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { v: !0, a: 3, n: "FillBuffer", t: 8, pi: [{ n: "numBytes", pt: $n[0].Int32, ps: 0 }], sn: "FillBuffer", rt: $n[0].Void, p: [$n[0].Int32] }, { a: 1, n: "InternalReadChars", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "InternalReadChars", rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "InternalReadOneChar", t: 8, pi: [{ n: "allowSurrogate", dv: !1, o: !0, pt: $n[0].Boolean, ps: 0 }], sn: "InternalReadOneChar", rt: $n[0].Int32, p: [$n[0].Boolean], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "PeekChar", t: 8, sn: "PeekChar", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "Read", t: 8, sn: "Read", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "Read", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Read$1", rt: $n[0].Int32, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "Read", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Read$2", rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 5, n: "Read7BitEncodedInt", t: 8, sn: "Read7BitEncodedInt", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "ReadBoolean", t: 8, sn: "ReadBoolean", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { v: !0, a: 2, n: "ReadByte", t: 8, sn: "ReadByte", rt: $n[0].Byte, box: function ($v) { return Bridge.box($v, System.Byte) } }, { v: !0, a: 2, n: "ReadBytes", t: 8, pi: [{ n: "count", pt: $n[0].Int32, ps: 0 }], sn: "ReadBytes", rt: $n[0].Array.type(System.Byte), p: [$n[0].Int32] }, { v: !0, a: 2, n: "ReadChar", t: 8, sn: "ReadChar", rt: $n[0].Char, box: function ($v) { return Bridge.box($v, System.Char, String.fromCharCode, System.Char.getHashCode) } }, { v: !0, a: 2, n: "ReadChars", t: 8, pi: [{ n: "count", pt: $n[0].Int32, ps: 0 }], sn: "ReadChars", rt: $n[0].Array.type(System.Char), p: [$n[0].Int32] }, { v: !0, a: 2, n: "ReadDecimal", t: 8, sn: "ReadDecimal", rt: $n[0].Decimal }, { v: !0, a: 2, n: "ReadDouble", t: 8, sn: "ReadDouble", rt: $n[0].Double, box: function ($v) { return Bridge.box($v, System.Double, System.Double.format, System.Double.getHashCode) } }, { v: !0, a: 2, n: "ReadInt16", t: 8, sn: "ReadInt16", rt: $n[0].Int16, box: function ($v) { return Bridge.box($v, System.Int16) } }, { v: !0, a: 2, n: "ReadInt32", t: 8, sn: "ReadInt32", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "ReadInt64", t: 8, sn: "ReadInt64", rt: $n[0].Int64 }, { v: !0, a: 2, n: "ReadSByte", t: 8, sn: "ReadSByte", rt: $n[0].SByte, box: function ($v) { return Bridge.box($v, System.SByte) } }, { v: !0, a: 2, n: "ReadSingle", t: 8, sn: "ReadSingle", rt: $n[0].Single, box: function ($v) { return Bridge.box($v, System.Single, System.Single.format, System.Single.getHashCode) } }, { v: !0, a: 2, n: "ReadString", t: 8, sn: "ReadString", rt: $n[0].String }, { v: !0, a: 2, n: "ReadUInt16", t: 8, sn: "ReadUInt16", rt: $n[0].UInt16, box: function ($v) { return Bridge.box($v, System.UInt16) } }, { v: !0, a: 2, n: "ReadUInt32", t: 8, sn: "ReadUInt32", rt: $n[0].UInt32, box: function ($v) { return Bridge.box($v, System.UInt32) } }, { v: !0, a: 2, n: "ReadUInt64", t: 8, sn: "ReadUInt64", rt: $n[0].UInt64 }, { v: !0, a: 2, n: "BaseStream", t: 16, rt: $n[10].Stream, g: { v: !0, a: 2, n: "get_BaseStream", t: 8, rt: $n[10].Stream, fg: "BaseStream" }, fn: "BaseStream" }, { a: 1, n: "MaxCharBytesSize", is: !0, t: 4, rt: $n[0].Int32, sn: "MaxCharBytesSize", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "lastCharsRead", t: 4, rt: $n[0].Int32, sn: "lastCharsRead", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "m_2BytesPerChar", t: 4, rt: $n[0].Boolean, sn: "m_2BytesPerChar", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "m_buffer", t: 4, rt: $n[0].Array.type(System.Byte), sn: "m_buffer" }, { a: 1, n: "m_charBuffer", t: 4, rt: $n[0].Array.type(System.Char), sn: "m_charBuffer" }, { a: 1, n: "m_charBytes", t: 4, rt: $n[0].Array.type(System.Byte), sn: "m_charBytes" }, { a: 1, n: "m_encoding", t: 4, rt: $n[6].Encoding, sn: "m_encoding" }, { a: 1, n: "m_isMemoryStream", t: 4, rt: $n[0].Boolean, sn: "m_isMemoryStream", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "m_leaveOpen", t: 4, rt: $n[0].Boolean, sn: "m_leaveOpen", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "m_maxCharsSize", t: 4, rt: $n[0].Int32, sn: "m_maxCharsSize", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "m_singleChar", t: 4, rt: $n[0].Array.type(System.Char), sn: "m_singleChar" }, { a: 1, n: "m_stream", t: 4, rt: $n[10].Stream, sn: "m_stream" }] } }); $m($n[10].BinaryWriter, function () { return { att: 1048577, a: 2, m: [{ a: 3, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream], pi: [{ n: "output", pt: $n[10].Stream, ps: 0 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream, $n[6].Encoding], pi: [{ n: "output", pt: $n[10].Stream, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }], sn: "$ctor2" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream, $n[6].Encoding, $n[0].Boolean], pi: [{ n: "output", pt: $n[10].Stream, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }, { n: "leaveOpen", pt: $n[0].Boolean, ps: 2 }], sn: "$ctor3" }, { v: !0, a: 2, n: "Close", t: 8, sn: "Close", rt: $n[0].Void }, { a: 2, n: "Dispose", t: 8, sn: "Dispose", rt: $n[0].Void }, { v: !0, a: 3, n: "Dispose", t: 8, pi: [{ n: "disposing", pt: $n[0].Boolean, ps: 0 }], sn: "Dispose$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { v: !0, a: 2, n: "Flush", t: 8, sn: "Flush", rt: $n[0].Void }, { v: !0, a: 2, n: "Seek", t: 8, pi: [{ n: "offset", pt: $n[0].Int32, ps: 0 }, { n: "origin", pt: $n[10].SeekOrigin, ps: 1 }], sn: "Seek", rt: $n[0].Int64, p: [$n[0].Int32, $n[10].SeekOrigin] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Boolean, ps: 0 }], sn: "Write", rt: $n[0].Void, p: [$n[0].Boolean] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Byte, ps: 0 }], sn: "Write$1", rt: $n[0].Void, p: [$n[0].Byte] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }], sn: "Write$2", rt: $n[0].Void, p: [$n[0].Array.type(System.Byte)] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "ch", pt: $n[0].Char, ps: 0 }], sn: "Write$4", rt: $n[0].Void, p: [$n[0].Char] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "chars", pt: $n[0].Array.type(System.Char), ps: 0 }], sn: "Write$5", rt: $n[0].Void, p: [$n[0].Array.type(System.Char)] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], sn: "Write$7", rt: $n[0].Void, p: [$n[0].Decimal] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], sn: "Write$8", rt: $n[0].Void, p: [$n[0].Double] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Int16, ps: 0 }], sn: "Write$9", rt: $n[0].Void, p: [$n[0].Int16] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Int32, ps: 0 }], sn: "Write$10", rt: $n[0].Void, p: [$n[0].Int32] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "Write$11", rt: $n[0].Void, p: [$n[0].Int64] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].SByte, ps: 0 }], sn: "Write$12", rt: $n[0].Void, p: [$n[0].SByte] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Single, ps: 0 }], sn: "Write$13", rt: $n[0].Void, p: [$n[0].Single] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], sn: "Write$14", rt: $n[0].Void, p: [$n[0].String] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].UInt16, ps: 0 }], sn: "Write$15", rt: $n[0].Void, p: [$n[0].UInt16] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].UInt32, ps: 0 }], sn: "Write$16", rt: $n[0].Void, p: [$n[0].UInt32] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "Write$17", rt: $n[0].Void, p: [$n[0].UInt64] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Write$3", rt: $n[0].Void, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "chars", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Write$6", rt: $n[0].Void, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32] }, { a: 3, n: "Write7BitEncodedInt", t: 8, pi: [{ n: "value", pt: $n[0].Int32, ps: 0 }], sn: "Write7BitEncodedInt", rt: $n[0].Void, p: [$n[0].Int32] }, { v: !0, a: 2, n: "BaseStream", t: 16, rt: $n[10].Stream, g: { v: !0, a: 2, n: "get_BaseStream", t: 8, rt: $n[10].Stream, fg: "BaseStream" }, fn: "BaseStream" }, { a: 1, n: "LargeByteBufferSize", is: !0, t: 4, rt: $n[0].Int32, sn: "LargeByteBufferSize", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Null", is: !0, t: 4, rt: $n[10].BinaryWriter, sn: "Null", ro: !0 }, { a: 3, n: "OutStream", t: 4, rt: $n[10].Stream, sn: "OutStream" }, { a: 1, n: "_buffer", t: 4, rt: $n[0].Array.type(System.Byte), sn: "_buffer" }, { a: 1, n: "_encoding", t: 4, rt: $n[6].Encoding, sn: "_encoding" }, { a: 1, n: "_leaveOpen", t: 4, rt: $n[0].Boolean, sn: "_leaveOpen", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "_tmpOneCharBuffer", t: 4, rt: $n[0].Array.type(System.Char), sn: "_tmpOneCharBuffer" }] } }); $m($n[10].BufferedStream, function () { return { att: 1048833, a: 2, m: [{ a: 1, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream], pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream, $n[0].Int32], pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }, { n: "bufferSize", pt: $n[0].Int32, ps: 1 }], sn: "$ctor2" }, { a: 1, n: "ClearReadBufferBeforeWrite", t: 8, sn: "ClearReadBufferBeforeWrite", rt: $n[0].Void }, { ov: !0, a: 3, n: "Dispose", t: 8, pi: [{ n: "disposing", pt: $n[0].Boolean, ps: 0 }], sn: "Dispose$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { a: 1, n: "EnsureBufferAllocated", t: 8, sn: "EnsureBufferAllocated", rt: $n[0].Void }, { a: 1, n: "EnsureCanRead", t: 8, sn: "EnsureCanRead", rt: $n[0].Void }, { a: 1, n: "EnsureCanSeek", t: 8, sn: "EnsureCanSeek", rt: $n[0].Void }, { a: 1, n: "EnsureCanWrite", t: 8, sn: "EnsureCanWrite", rt: $n[0].Void }, { a: 1, n: "EnsureNotClosed", t: 8, sn: "EnsureNotClosed", rt: $n[0].Void }, { a: 1, n: "EnsureShadowBufferAllocated", t: 8, sn: "EnsureShadowBufferAllocated", rt: $n[0].Void }, { ov: !0, a: 2, n: "Flush", t: 8, sn: "Flush", rt: $n[0].Void }, { a: 1, n: "FlushRead", t: 8, sn: "FlushRead", rt: $n[0].Void }, { a: 1, n: "FlushWrite", t: 8, sn: "FlushWrite", rt: $n[0].Void }, { ov: !0, a: 2, n: "Read", t: 8, pi: [{ n: "array", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Read", rt: $n[0].Int32, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "ReadByte", t: 8, sn: "ReadByte", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "ReadFromBuffer", t: 8, pi: [{ n: "array", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "ReadFromBuffer", rt: $n[0].Int32, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "ReadFromBuffer", t: 8, pi: [{ n: "array", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "error", out: !0, pt: $n[0].Exception, ps: 3 }], sn: "ReadFromBuffer$1", rt: $n[0].Int32, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, $n[0].Exception], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Seek", t: 8, pi: [{ n: "offset", pt: $n[0].Int64, ps: 0 }, { n: "origin", pt: $n[10].SeekOrigin, ps: 1 }], sn: "Seek", rt: $n[0].Int64, p: [$n[0].Int64, $n[10].SeekOrigin] }, { ov: !0, a: 2, n: "SetLength", t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "SetLength", rt: $n[0].Void, p: [$n[0].Int64] }, { ov: !0, a: 2, n: "Write", t: 8, pi: [{ n: "array", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Write", rt: $n[0].Void, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { ov: !0, a: 2, n: "WriteByte", t: 8, pi: [{ n: "value", pt: $n[0].Byte, ps: 0 }], sn: "WriteByte", rt: $n[0].Void, p: [$n[0].Byte] }, { a: 1, n: "WriteToBuffer", t: 8, pi: [{ n: "array", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", ref: !0, pt: $n[0].Int32, ps: 1 }, { n: "count", ref: !0, pt: $n[0].Int32, ps: 2 }], sn: "WriteToBuffer", rt: $n[0].Void, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { a: 1, n: "WriteToBuffer", t: 8, pi: [{ n: "array", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", ref: !0, pt: $n[0].Int32, ps: 1 }, { n: "count", ref: !0, pt: $n[0].Int32, ps: 2 }, { n: "error", out: !0, pt: $n[0].Exception, ps: 3 }], sn: "WriteToBuffer$1", rt: $n[0].Void, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, $n[0].Exception] }, { a: 4, n: "BufferSize", t: 16, rt: $n[0].Int32, g: { a: 4, n: "get_BufferSize", t: 8, rt: $n[0].Int32, fg: "BufferSize", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "BufferSize" }, { ov: !0, a: 2, n: "CanRead", t: 16, rt: $n[0].Boolean, g: { ov: !0, a: 2, n: "get_CanRead", t: 8, rt: $n[0].Boolean, fg: "CanRead", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanRead" }, { ov: !0, a: 2, n: "CanSeek", t: 16, rt: $n[0].Boolean, g: { ov: !0, a: 2, n: "get_CanSeek", t: 8, rt: $n[0].Boolean, fg: "CanSeek", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanSeek" }, { ov: !0, a: 2, n: "CanWrite", t: 16, rt: $n[0].Boolean, g: { ov: !0, a: 2, n: "get_CanWrite", t: 8, rt: $n[0].Boolean, fg: "CanWrite", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanWrite" }, { ov: !0, a: 2, n: "Length", t: 16, rt: $n[0].Int64, g: { ov: !0, a: 2, n: "get_Length", t: 8, rt: $n[0].Int64, fg: "Length" }, fn: "Length" }, { ov: !0, a: 2, n: "Position", t: 16, rt: $n[0].Int64, g: { ov: !0, a: 2, n: "get_Position", t: 8, rt: $n[0].Int64, fg: "Position" }, s: { ov: !0, a: 2, n: "set_Position", t: 8, p: [$n[0].Int64], rt: $n[0].Void, fs: "Position" }, fn: "Position" }, { a: 4, n: "UnderlyingStream", t: 16, rt: $n[10].Stream, g: { a: 4, n: "get_UnderlyingStream", t: 8, rt: $n[10].Stream, fg: "UnderlyingStream" }, fn: "UnderlyingStream" }, { a: 1, n: "MaxShadowBufferSize", is: !0, t: 4, rt: $n[0].Int32, sn: "MaxShadowBufferSize", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_DefaultBufferSize", is: !0, t: 4, rt: $n[0].Int32, sn: "_DefaultBufferSize", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_buffer", t: 4, rt: $n[0].Array.type(System.Byte), sn: "_buffer" }, { a: 1, n: "_bufferSize", t: 4, rt: $n[0].Int32, sn: "_bufferSize", ro: !0, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_readLen", t: 4, rt: $n[0].Int32, sn: "_readLen", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_readPos", t: 4, rt: $n[0].Int32, sn: "_readPos", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_stream", t: 4, rt: $n[10].Stream, sn: "_stream" }, { a: 1, n: "_writePos", t: 4, rt: $n[0].Int32, sn: "_writePos", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[10].EndOfStreamException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], sn: "$ctor2" }] } }); $m($n[10].File, function () { return { att: 1048961, a: 2, s: !0, m: [{ a: 1, n: "InternalReadAllBytes", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "checkHost", pt: $n[0].Boolean, ps: 1 }], sn: "InternalReadAllBytes", rt: $n[0].Array.type(System.Byte), p: [$n[0].String, $n[0].Boolean] }, { a: 1, n: "InternalReadAllLines", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }], sn: "InternalReadAllLines", rt: $n[0].Array.type(System.String), p: [$n[0].String, $n[6].Encoding] }, { a: 1, n: "InternalReadAllText", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }, { n: "checkHost", pt: $n[0].Boolean, ps: 2 }], sn: "InternalReadAllText", rt: $n[0].String, p: [$n[0].String, $n[6].Encoding, $n[0].Boolean] }, { a: 2, n: "OpenRead", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }], sn: "OpenRead", rt: $n[10].FileStream, p: [$n[0].String] }, { a: 2, n: "OpenText", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }], sn: "OpenText", rt: $n[10].StreamReader, p: [$n[0].String] }, { a: 2, n: "ReadAllBytes", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }], sn: "ReadAllBytes", rt: $n[0].Array.type(System.Byte), p: [$n[0].String] }, { a: 2, n: "ReadAllLines", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }], sn: "ReadAllLines", rt: $n[0].Array.type(System.String), p: [$n[0].String] }, { a: 2, n: "ReadAllLines", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }], sn: "ReadAllLines$1", rt: $n[0].Array.type(System.String), p: [$n[0].String, $n[6].Encoding] }, { a: 2, n: "ReadAllText", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }], sn: "ReadAllText", rt: $n[0].String, p: [$n[0].String] }, { a: 2, n: "ReadAllText", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }], sn: "ReadAllText$1", rt: $n[0].String, p: [$n[0].String, $n[6].Encoding] }, { a: 2, n: "ReadLines", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }], sn: "ReadLines", rt: $n[3].IEnumerable$1(System.String), p: [$n[0].String] }, { a: 2, n: "ReadLines", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }], sn: "ReadLines$1", rt: $n[3].IEnumerable$1(System.String), p: [$n[0].String, $n[6].Encoding] }] } }); $m($n[10].FileMode, function () { return { att: 257, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "Append", is: !0, t: 4, rt: $n[10].FileMode, sn: "Append", box: function ($v) { return Bridge.box($v, System.IO.FileMode, System.Enum.toStringFn(System.IO.FileMode)) } }, { a: 2, n: "Create", is: !0, t: 4, rt: $n[10].FileMode, sn: "Create", box: function ($v) { return Bridge.box($v, System.IO.FileMode, System.Enum.toStringFn(System.IO.FileMode)) } }, { a: 2, n: "CreateNew", is: !0, t: 4, rt: $n[10].FileMode, sn: "CreateNew", box: function ($v) { return Bridge.box($v, System.IO.FileMode, System.Enum.toStringFn(System.IO.FileMode)) } }, { a: 2, n: "Open", is: !0, t: 4, rt: $n[10].FileMode, sn: "Open", box: function ($v) { return Bridge.box($v, System.IO.FileMode, System.Enum.toStringFn(System.IO.FileMode)) } }, { a: 2, n: "OpenOrCreate", is: !0, t: 4, rt: $n[10].FileMode, sn: "OpenOrCreate", box: function ($v) { return Bridge.box($v, System.IO.FileMode, System.Enum.toStringFn(System.IO.FileMode)) } }, { a: 2, n: "Truncate", is: !0, t: 4, rt: $n[10].FileMode, sn: "Truncate", box: function ($v) { return Bridge.box($v, System.IO.FileMode, System.Enum.toStringFn(System.IO.FileMode)) } }] } }); $m($n[10].FileStream, function () { return { att: 1048577, a: 2, m: [{ a: 4, n: ".ctor", t: 1, p: [ArrayBuffer, $n[0].String], pi: [{ n: "buffer", pt: ArrayBuffer, ps: 0 }, { n: "name", pt: $n[0].String, ps: 1 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[10].FileMode], pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "mode", pt: $n[10].FileMode, ps: 1 }], sn: "$ctor1" }, { a: 4, n: "EnsureBufferAsync", t: 8, sn: "EnsureBufferAsync", rt: $n[8].Task }, { ov: !0, a: 2, n: "Flush", t: 8, sn: "Flush", rt: $n[0].Void }, { a: 4, n: "FromFile", is: !0, t: 8, pi: [{ n: "file", pt: File, ps: 0 }], sn: "FromFile", rt: $n[8].Task$1(System.IO.FileStream), p: [File] }, { a: 1, n: "GetInternalBuffer", t: 8, sn: "GetInternalBuffer", rt: ArrayBuffer }, { ov: !0, a: 2, n: "Read", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Read", rt: $n[0].Int32, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 4, n: "ReadBytes", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }], sn: "ReadBytes", rt: ArrayBuffer, p: [$n[0].String] }, { a: 4, n: "ReadBytesAsync", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }], sn: "ReadBytesAsync", rt: $n[8].Task$1(ArrayBuffer), p: [$n[0].String] }, { ov: !0, a: 2, n: "Seek", t: 8, pi: [{ n: "offset", pt: $n[0].Int64, ps: 0 }, { n: "origin", pt: $n[10].SeekOrigin, ps: 1 }], sn: "Seek", rt: $n[0].Int64, p: [$n[0].Int64, $n[10].SeekOrigin] }, { ov: !0, a: 2, n: "SetLength", t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "SetLength", rt: $n[0].Void, p: [$n[0].Int64] }, { ov: !0, a: 2, n: "Write", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Write", rt: $n[0].Void, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { ov: !0, a: 2, n: "CanRead", t: 16, rt: $n[0].Boolean, g: { ov: !0, a: 2, n: "get_CanRead", t: 8, rt: $n[0].Boolean, fg: "CanRead", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanRead" }, { ov: !0, a: 2, n: "CanSeek", t: 16, rt: $n[0].Boolean, g: { ov: !0, a: 2, n: "get_CanSeek", t: 8, rt: $n[0].Boolean, fg: "CanSeek", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanSeek" }, { ov: !0, a: 2, n: "CanWrite", t: 16, rt: $n[0].Boolean, g: { ov: !0, a: 2, n: "get_CanWrite", t: 8, rt: $n[0].Boolean, fg: "CanWrite", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanWrite" }, { v: !0, a: 2, n: "IsAsync", t: 16, rt: $n[0].Boolean, g: { v: !0, a: 2, n: "get_IsAsync", t: 8, rt: $n[0].Boolean, fg: "IsAsync", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "IsAsync" }, { ov: !0, a: 2, n: "Length", t: 16, rt: $n[0].Int64, g: { ov: !0, a: 2, n: "get_Length", t: 8, rt: $n[0].Int64, fg: "Length" }, fn: "Length" }, { a: 2, n: "Name", t: 16, rt: $n[0].String, g: { a: 2, n: "get_Name", t: 8, rt: $n[0].String, fg: "Name" }, fn: "Name" }, { ov: !0, a: 2, n: "Position", t: 16, rt: $n[0].Int64, g: { ov: !0, a: 2, n: "get_Position", t: 8, rt: $n[0].Int64, fg: "Position" }, s: { ov: !0, a: 2, n: "set_Position", t: 8, p: [$n[0].Int64], rt: $n[0].Void, fs: "Position" }, fn: "Position" }, { a: 1, n: "_buffer", t: 4, rt: ArrayBuffer, sn: "_buffer" }, { a: 1, n: "name", t: 4, rt: $n[0].String, sn: "name" }] } }); $m($n[10].IOException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], sn: "$ctor2" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Int32], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "hresult", pt: $n[0].Int32, ps: 1 }], sn: "$ctor3" }, { a: 4, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Int32, $n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "hresult", pt: $n[0].Int32, ps: 1 }, { n: "maybeFullPath", pt: $n[0].String, ps: 2 }], sn: "$ctor4" }, { a: 1, n: "_maybeFullPath", t: 4, rt: $n[0].String, sn: "_maybeFullPath" }] } }); $m($n[10].MemoryStream, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Array.type(System.Byte)], pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "capacity", pt: $n[0].Int32, ps: 0 }], sn: "$ctor6" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Array.type(System.Byte), $n[0].Boolean], pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "writable", pt: $n[0].Boolean, ps: 1 }], sn: "$ctor2" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32], pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "$ctor3" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, $n[0].Boolean], pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "writable", pt: $n[0].Boolean, ps: 3 }], sn: "$ctor4" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, $n[0].Boolean, $n[0].Boolean], pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "writable", pt: $n[0].Boolean, ps: 3 }, { n: "publiclyVisible", pt: $n[0].Boolean, ps: 4 }], sn: "$ctor5" }, { ov: !0, a: 3, n: "Dispose", t: 8, pi: [{ n: "disposing", pt: $n[0].Boolean, ps: 0 }], sn: "Dispose$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { a: 1, n: "EnsureCapacity", t: 8, pi: [{ n: "value", pt: $n[0].Int32, ps: 0 }], sn: "EnsureCapacity", rt: $n[0].Boolean, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "EnsureWriteable", t: 8, sn: "EnsureWriteable", rt: $n[0].Void }, { ov: !0, a: 2, n: "Flush", t: 8, sn: "Flush", rt: $n[0].Void }, { v: !0, a: 2, n: "GetBuffer", t: 8, sn: "GetBuffer", rt: $n[0].Array.type(System.Byte) }, { a: 4, n: "InternalEmulateRead", t: 8, pi: [{ n: "count", pt: $n[0].Int32, ps: 0 }], sn: "InternalEmulateRead", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 4, n: "InternalGetBuffer", t: 8, sn: "InternalGetBuffer", rt: $n[0].Array.type(System.Byte) }, { a: 4, n: "InternalGetPosition", t: 8, sn: "InternalGetPosition", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 4, n: "InternalReadInt32", t: 8, sn: "InternalReadInt32", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Read", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Read", rt: $n[0].Int32, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "ReadByte", t: 8, sn: "ReadByte", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Seek", t: 8, pi: [{ n: "offset", pt: $n[0].Int64, ps: 0 }, { n: "loc", pt: $n[10].SeekOrigin, ps: 1 }], sn: "Seek", rt: $n[0].Int64, p: [$n[0].Int64, $n[10].SeekOrigin] }, { ov: !0, a: 2, n: "SetLength", t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "SetLength", rt: $n[0].Void, p: [$n[0].Int64] }, { v: !0, a: 2, n: "ToArray", t: 8, sn: "ToArray", rt: $n[0].Array.type(System.Byte) }, { v: !0, a: 2, n: "TryGetBuffer", t: 8, pi: [{ n: "buffer", out: !0, pt: $n[0].ArraySegment, ps: 0 }], sn: "TryGetBuffer", rt: $n[0].Boolean, p: [$n[0].ArraySegment], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ov: !0, a: 2, n: "Write", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Write", rt: $n[0].Void, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { ov: !0, a: 2, n: "WriteByte", t: 8, pi: [{ n: "value", pt: $n[0].Byte, ps: 0 }], sn: "WriteByte", rt: $n[0].Void, p: [$n[0].Byte] }, { v: !0, a: 2, n: "WriteTo", t: 8, pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }], sn: "WriteTo", rt: $n[0].Void, p: [$n[10].Stream] }, { ov: !0, a: 2, n: "CanRead", t: 16, rt: $n[0].Boolean, g: { ov: !0, a: 2, n: "get_CanRead", t: 8, rt: $n[0].Boolean, fg: "CanRead", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanRead" }, { ov: !0, a: 2, n: "CanSeek", t: 16, rt: $n[0].Boolean, g: { ov: !0, a: 2, n: "get_CanSeek", t: 8, rt: $n[0].Boolean, fg: "CanSeek", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanSeek" }, { ov: !0, a: 2, n: "CanWrite", t: 16, rt: $n[0].Boolean, g: { ov: !0, a: 2, n: "get_CanWrite", t: 8, rt: $n[0].Boolean, fg: "CanWrite", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanWrite" }, { v: !0, a: 2, n: "Capacity", t: 16, rt: $n[0].Int32, g: { v: !0, a: 2, n: "get_Capacity", t: 8, rt: $n[0].Int32, fg: "Capacity", box: function ($v) { return Bridge.box($v, System.Int32) } }, s: { v: !0, a: 2, n: "set_Capacity", t: 8, p: [$n[0].Int32], rt: $n[0].Void, fs: "Capacity" }, fn: "Capacity" }, { ov: !0, a: 2, n: "Length", t: 16, rt: $n[0].Int64, g: { ov: !0, a: 2, n: "get_Length", t: 8, rt: $n[0].Int64, fg: "Length" }, fn: "Length" }, { ov: !0, a: 2, n: "Position", t: 16, rt: $n[0].Int64, g: { ov: !0, a: 2, n: "get_Position", t: 8, rt: $n[0].Int64, fg: "Position" }, s: { ov: !0, a: 2, n: "set_Position", t: 8, p: [$n[0].Int64], rt: $n[0].Void, fs: "Position" }, fn: "Position" }, { a: 1, n: "MemStreamMaxLength", is: !0, t: 4, rt: $n[0].Int32, sn: "MemStreamMaxLength", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_buffer", t: 4, rt: $n[0].Array.type(System.Byte), sn: "_buffer" }, { a: 1, n: "_capacity", t: 4, rt: $n[0].Int32, sn: "_capacity", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_expandable", t: 4, rt: $n[0].Boolean, sn: "_expandable", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "_exposable", t: 4, rt: $n[0].Boolean, sn: "_exposable", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "_isOpen", t: 4, rt: $n[0].Boolean, sn: "_isOpen", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "_length", t: 4, rt: $n[0].Int32, sn: "_length", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_origin", t: 4, rt: $n[0].Int32, sn: "_origin", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_position", t: 4, rt: $n[0].Int32, sn: "_position", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_writable", t: 4, rt: $n[0].Boolean, sn: "_writable", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }] } }); $m($n[10].Iterator$1, function (TSource) { return { att: 1048704, a: 4, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { ab: !0, a: 3, n: "Clone", t: 8, sn: "Clone", rt: $n[10].Iterator$1(TSource) }, { a: 2, n: "Dispose", t: 8, sn: "Dispose", rt: $n[0].Void }, { v: !0, a: 3, n: "Dispose", t: 8, pi: [{ n: "disposing", pt: $n[0].Boolean, ps: 0 }], sn: "Dispose$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { a: 2, n: "GetEnumerator", t: 8, sn: "GetEnumerator", rt: $n[3].IEnumerator$1(TSource) }, { ab: !0, a: 2, n: "MoveNext", t: 8, sn: "MoveNext", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Current", t: 16, rt: TSource, g: { a: 2, n: "get_Current", t: 8, rt: TSource, fg: "Current" }, fn: "Current" }, { a: 4, n: "current", t: 4, rt: TSource, sn: "current" }, { a: 4, n: "state", t: 4, rt: $n[0].Int32, sn: "state", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[10].ReadLinesIterator, function () { return { att: 1048576, a: 4, m: [{ a: 1, n: ".ctor", t: 1, p: [$n[0].String, $n[6].Encoding, $n[10].StreamReader], pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }, { n: "reader", pt: $n[10].StreamReader, ps: 2 }], sn: "ctor" }, { ov: !0, a: 3, n: "Clone", t: 8, sn: "Clone", rt: $n[10].Iterator$1(System.String) }, { a: 4, n: "CreateIterator", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }], sn: "CreateIterator", rt: $n[10].ReadLinesIterator, p: [$n[0].String, $n[6].Encoding] }, { a: 1, n: "CreateIterator", is: !0, t: 8, pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }, { n: "reader", pt: $n[10].StreamReader, ps: 2 }], sn: "CreateIterator$1", rt: $n[10].ReadLinesIterator, p: [$n[0].String, $n[6].Encoding, $n[10].StreamReader] }, { ov: !0, a: 3, n: "Dispose", t: 8, pi: [{ n: "disposing", pt: $n[0].Boolean, ps: 0 }], sn: "Dispose$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { ov: !0, a: 2, n: "MoveNext", t: 8, sn: "MoveNext", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "_encoding", t: 4, rt: $n[6].Encoding, sn: "_encoding", ro: !0 }, { a: 1, n: "_path", t: 4, rt: $n[0].String, sn: "_path", ro: !0 }, { a: 1, n: "_reader", t: 4, rt: $n[10].StreamReader, sn: "_reader" }] } }); $m($n[10].SeekOrigin, function () { return { att: 257, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "Begin", is: !0, t: 4, rt: $n[10].SeekOrigin, sn: "Begin", box: function ($v) { return Bridge.box($v, System.IO.SeekOrigin, System.Enum.toStringFn(System.IO.SeekOrigin)) } }, { a: 2, n: "Current", is: !0, t: 4, rt: $n[10].SeekOrigin, sn: "Current", box: function ($v) { return Bridge.box($v, System.IO.SeekOrigin, System.Enum.toStringFn(System.IO.SeekOrigin)) } }, { a: 2, n: "End", is: !0, t: 4, rt: $n[10].SeekOrigin, sn: "End", box: function ($v) { return Bridge.box($v, System.IO.SeekOrigin, System.Enum.toStringFn(System.IO.SeekOrigin)) } }] } }); $m($n[10].Stream, function () { return { att: 1048705, a: 2, m: [{ a: 3, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { v: !0, a: 2, n: "BeginRead", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "callback", pt: Function, ps: 3 }, { n: "state", pt: $n[0].Object, ps: 4 }], sn: "BeginRead", rt: $n[0].IAsyncResult, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, Function, $n[0].Object] }, { a: 4, n: "BeginReadInternal", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "callback", pt: Function, ps: 3 }, { n: "state", pt: $n[0].Object, ps: 4 }, { n: "serializeAsynchronously", pt: $n[0].Boolean, ps: 5 }], sn: "BeginReadInternal", rt: $n[0].IAsyncResult, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, Function, $n[0].Object, $n[0].Boolean] }, { v: !0, a: 2, n: "BeginWrite", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "callback", pt: Function, ps: 3 }, { n: "state", pt: $n[0].Object, ps: 4 }], sn: "BeginWrite", rt: $n[0].IAsyncResult, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, Function, $n[0].Object] }, { a: 4, n: "BeginWriteInternal", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "callback", pt: Function, ps: 3 }, { n: "state", pt: $n[0].Object, ps: 4 }, { n: "serializeAsynchronously", pt: $n[0].Boolean, ps: 5 }], sn: "BeginWriteInternal", rt: $n[0].IAsyncResult, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, Function, $n[0].Object, $n[0].Boolean] }, { a: 4, n: "BlockingBeginRead", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "callback", pt: Function, ps: 3 }, { n: "state", pt: $n[0].Object, ps: 4 }], sn: "BlockingBeginRead", rt: $n[0].IAsyncResult, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, Function, $n[0].Object] }, { a: 4, n: "BlockingBeginWrite", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "callback", pt: Function, ps: 3 }, { n: "state", pt: $n[0].Object, ps: 4 }], sn: "BlockingBeginWrite", rt: $n[0].IAsyncResult, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, Function, $n[0].Object] }, { a: 4, n: "BlockingEndRead", is: !0, t: 8, pi: [{ n: "asyncResult", pt: $n[0].IAsyncResult, ps: 0 }], sn: "BlockingEndRead", rt: $n[0].Int32, p: [$n[0].IAsyncResult], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 4, n: "BlockingEndWrite", is: !0, t: 8, pi: [{ n: "asyncResult", pt: $n[0].IAsyncResult, ps: 0 }], sn: "BlockingEndWrite", rt: $n[0].Void, p: [$n[0].IAsyncResult] }, { v: !0, a: 2, n: "Close", t: 8, sn: "Close", rt: $n[0].Void }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "destination", pt: $n[10].Stream, ps: 0 }], sn: "CopyTo", rt: $n[0].Void, p: [$n[10].Stream] }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "destination", pt: $n[10].Stream, ps: 0 }, { n: "bufferSize", pt: $n[0].Int32, ps: 1 }], sn: "CopyTo$1", rt: $n[0].Void, p: [$n[10].Stream, $n[0].Int32] }, { a: 2, n: "Dispose", t: 8, sn: "Dispose", rt: $n[0].Void }, { v: !0, a: 3, n: "Dispose", t: 8, pi: [{ n: "disposing", pt: $n[0].Boolean, ps: 0 }], sn: "Dispose$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { v: !0, a: 2, n: "EndRead", t: 8, pi: [{ n: "asyncResult", pt: $n[0].IAsyncResult, ps: 0 }], sn: "EndRead", rt: $n[0].Int32, p: [$n[0].IAsyncResult], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "EndWrite", t: 8, pi: [{ n: "asyncResult", pt: $n[0].IAsyncResult, ps: 0 }], sn: "EndWrite", rt: $n[0].Void, p: [$n[0].IAsyncResult] }, { ab: !0, a: 2, n: "Flush", t: 8, sn: "Flush", rt: $n[0].Void }, { a: 1, n: "InternalCopyTo", t: 8, pi: [{ n: "destination", pt: $n[10].Stream, ps: 0 }, { n: "bufferSize", pt: $n[0].Int32, ps: 1 }], sn: "InternalCopyTo", rt: $n[0].Void, p: [$n[10].Stream, $n[0].Int32] }, { ab: !0, a: 2, n: "Read", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Read", rt: $n[0].Int32, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "ReadByte", t: 8, sn: "ReadByte", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { ab: !0, a: 2, n: "Seek", t: 8, pi: [{ n: "offset", pt: $n[0].Int64, ps: 0 }, { n: "origin", pt: $n[10].SeekOrigin, ps: 1 }], sn: "Seek", rt: $n[0].Int64, p: [$n[0].Int64, $n[10].SeekOrigin] }, { ab: !0, a: 2, n: "SetLength", t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "SetLength", rt: $n[0].Void, p: [$n[0].Int64] }, { a: 2, n: "Synchronized", is: !0, t: 8, pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }], sn: "Synchronized", rt: $n[10].Stream, p: [$n[10].Stream] }, { ab: !0, a: 2, n: "Write", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Write", rt: $n[0].Void, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { v: !0, a: 2, n: "WriteByte", t: 8, pi: [{ n: "value", pt: $n[0].Byte, ps: 0 }], sn: "WriteByte", rt: $n[0].Void, p: [$n[0].Byte] }, { ab: !0, a: 2, n: "CanRead", t: 16, rt: $n[0].Boolean, g: { ab: !0, a: 2, n: "get_CanRead", t: 8, rt: $n[0].Boolean, fg: "CanRead", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanRead" }, { ab: !0, a: 2, n: "CanSeek", t: 16, rt: $n[0].Boolean, g: { ab: !0, a: 2, n: "get_CanSeek", t: 8, rt: $n[0].Boolean, fg: "CanSeek", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanSeek" }, { v: !0, a: 2, n: "CanTimeout", t: 16, rt: $n[0].Boolean, g: { v: !0, a: 2, n: "get_CanTimeout", t: 8, rt: $n[0].Boolean, fg: "CanTimeout", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanTimeout" }, { ab: !0, a: 2, n: "CanWrite", t: 16, rt: $n[0].Boolean, g: { ab: !0, a: 2, n: "get_CanWrite", t: 8, rt: $n[0].Boolean, fg: "CanWrite", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanWrite" }, { ab: !0, a: 2, n: "Length", t: 16, rt: $n[0].Int64, g: { ab: !0, a: 2, n: "get_Length", t: 8, rt: $n[0].Int64, fg: "Length" }, fn: "Length" }, { ab: !0, a: 2, n: "Position", t: 16, rt: $n[0].Int64, g: { ab: !0, a: 2, n: "get_Position", t: 8, rt: $n[0].Int64, fg: "Position" }, s: { ab: !0, a: 2, n: "set_Position", t: 8, p: [$n[0].Int64], rt: $n[0].Void, fs: "Position" }, fn: "Position" }, { v: !0, a: 2, n: "ReadTimeout", t: 16, rt: $n[0].Int32, g: { v: !0, a: 2, n: "get_ReadTimeout", t: 8, rt: $n[0].Int32, fg: "ReadTimeout", box: function ($v) { return Bridge.box($v, System.Int32) } }, s: { v: !0, a: 2, n: "set_ReadTimeout", t: 8, p: [$n[0].Int32], rt: $n[0].Void, fs: "ReadTimeout" }, fn: "ReadTimeout" }, { v: !0, a: 2, n: "WriteTimeout", t: 16, rt: $n[0].Int32, g: { v: !0, a: 2, n: "get_WriteTimeout", t: 8, rt: $n[0].Int32, fg: "WriteTimeout", box: function ($v) { return Bridge.box($v, System.Int32) } }, s: { v: !0, a: 2, n: "set_WriteTimeout", t: 8, p: [$n[0].Int32], rt: $n[0].Void, fs: "WriteTimeout" }, fn: "WriteTimeout" }, { a: 2, n: "Null", is: !0, t: 4, rt: $n[10].Stream, sn: "Null", ro: !0 }, { a: 1, n: "_DefaultCopyBufferSize", is: !0, t: 4, rt: $n[0].Int32, sn: "_DefaultCopyBufferSize", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[10].Stream.NullStream, function () { return { td: $n[10].Stream, att: 1057027, a: 1, m: [{ a: 4, n: ".ctor", t: 1, sn: "ctor" }, { ov: !0, a: 2, n: "BeginRead", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "callback", pt: Function, ps: 3 }, { n: "state", pt: $n[0].Object, ps: 4 }], sn: "BeginRead", rt: $n[0].IAsyncResult, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, Function, $n[0].Object] }, { ov: !0, a: 2, n: "BeginWrite", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }, { n: "callback", pt: Function, ps: 3 }, { n: "state", pt: $n[0].Object, ps: 4 }], sn: "BeginWrite", rt: $n[0].IAsyncResult, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32, Function, $n[0].Object] }, { ov: !0, a: 3, n: "Dispose", t: 8, pi: [{ n: "disposing", pt: $n[0].Boolean, ps: 0 }], sn: "Dispose$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { ov: !0, a: 2, n: "EndRead", t: 8, pi: [{ n: "asyncResult", pt: $n[0].IAsyncResult, ps: 0 }], sn: "EndRead", rt: $n[0].Int32, p: [$n[0].IAsyncResult], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "EndWrite", t: 8, pi: [{ n: "asyncResult", pt: $n[0].IAsyncResult, ps: 0 }], sn: "EndWrite", rt: $n[0].Void, p: [$n[0].IAsyncResult] }, { ov: !0, a: 2, n: "Flush", t: 8, sn: "Flush", rt: $n[0].Void }, { ov: !0, a: 2, n: "Read", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Read", rt: $n[0].Int32, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "ReadByte", t: 8, sn: "ReadByte", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Seek", t: 8, pi: [{ n: "offset", pt: $n[0].Int64, ps: 0 }, { n: "origin", pt: $n[10].SeekOrigin, ps: 1 }], sn: "Seek", rt: $n[0].Int64, p: [$n[0].Int64, $n[10].SeekOrigin] }, { ov: !0, a: 2, n: "SetLength", t: 8, pi: [{ n: "length", pt: $n[0].Int64, ps: 0 }], sn: "SetLength", rt: $n[0].Void, p: [$n[0].Int64] }, { ov: !0, a: 2, n: "Write", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Byte), ps: 0 }, { n: "offset", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Write", rt: $n[0].Void, p: [$n[0].Array.type(System.Byte), $n[0].Int32, $n[0].Int32] }, { ov: !0, a: 2, n: "WriteByte", t: 8, pi: [{ n: "value", pt: $n[0].Byte, ps: 0 }], sn: "WriteByte", rt: $n[0].Void, p: [$n[0].Byte] }, { ov: !0, a: 2, n: "CanRead", t: 16, rt: $n[0].Boolean, g: { ov: !0, a: 2, n: "get_CanRead", t: 8, rt: $n[0].Boolean, fg: "CanRead", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanRead" }, { ov: !0, a: 2, n: "CanSeek", t: 16, rt: $n[0].Boolean, g: { ov: !0, a: 2, n: "get_CanSeek", t: 8, rt: $n[0].Boolean, fg: "CanSeek", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanSeek" }, { ov: !0, a: 2, n: "CanWrite", t: 16, rt: $n[0].Boolean, g: { ov: !0, a: 2, n: "get_CanWrite", t: 8, rt: $n[0].Boolean, fg: "CanWrite", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CanWrite" }, { ov: !0, a: 2, n: "Length", t: 16, rt: $n[0].Int64, g: { ov: !0, a: 2, n: "get_Length", t: 8, rt: $n[0].Int64, fg: "Length" }, fn: "Length" }, { ov: !0, a: 2, n: "Position", t: 16, rt: $n[0].Int64, g: { ov: !0, a: 2, n: "get_Position", t: 8, rt: $n[0].Int64, fg: "Position" }, s: { ov: !0, a: 2, n: "set_Position", t: 8, p: [$n[0].Int64], rt: $n[0].Void, fs: "Position" }, fn: "Position" }] } }); $m($n[10].Stream.SynchronousAsyncResult, function () { return { td: $n[10].Stream, att: 1048837, a: 4, m: [{ a: 4, n: ".ctor", t: 1, p: [$n[0].Object], pi: [{ n: "asyncStateObject", pt: $n[0].Object, ps: 0 }], sn: "$ctor2" }, { a: 4, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Object], pi: [{ n: "bytesRead", pt: $n[0].Int32, ps: 0 }, { n: "asyncStateObject", pt: $n[0].Object, ps: 1 }], sn: "$ctor1" }, { a: 4, n: ".ctor", t: 1, p: [$n[0].Exception, $n[0].Object, $n[0].Boolean], pi: [{ n: "ex", pt: $n[0].Exception, ps: 0 }, { n: "asyncStateObject", pt: $n[0].Object, ps: 1 }, { n: "isWrite", pt: $n[0].Boolean, ps: 2 }], sn: "ctor" }, { a: 4, n: "EndRead", is: !0, t: 8, pi: [{ n: "asyncResult", pt: $n[0].IAsyncResult, ps: 0 }], sn: "EndRead", rt: $n[0].Int32, p: [$n[0].IAsyncResult], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 4, n: "EndWrite", is: !0, t: 8, pi: [{ n: "asyncResult", pt: $n[0].IAsyncResult, ps: 0 }], sn: "EndWrite", rt: $n[0].Void, p: [$n[0].IAsyncResult] }, { a: 4, n: "ThrowIfError", t: 8, sn: "ThrowIfError", rt: $n[0].Void }, { a: 2, n: "AsyncState", t: 16, rt: $n[0].Object, g: { a: 2, n: "get_AsyncState", t: 8, rt: $n[0].Object, fg: "AsyncState" }, fn: "AsyncState" }, { a: 2, n: "CompletedSynchronously", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_CompletedSynchronously", t: 8, rt: $n[0].Boolean, fg: "CompletedSynchronously", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "CompletedSynchronously" }, { a: 2, n: "IsCompleted", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsCompleted", t: 8, rt: $n[0].Boolean, fg: "IsCompleted", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "IsCompleted" }, { a: 1, n: "_bytesRead", t: 4, rt: $n[0].Int32, sn: "_bytesRead", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_endXxxCalled", t: 4, rt: $n[0].Boolean, sn: "_endXxxCalled", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "_exceptionInfo", t: 4, rt: $n[0].Exception, sn: "_exceptionInfo" }, { a: 1, n: "_isWrite", t: 4, rt: $n[0].Boolean, sn: "_isWrite", ro: !0, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "_stateObject", t: 4, rt: $n[0].Object, sn: "_stateObject", ro: !0 }] } }); $m($n[10].StreamReader, function () { return { att: 1048577, a: 2, m: [{ a: 4, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream], pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "path", pt: $n[0].String, ps: 0 }], sn: "$ctor7" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream, $n[0].Boolean], pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }, { n: "detectEncodingFromByteOrderMarks", pt: $n[0].Boolean, ps: 1 }], sn: "$ctor2" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream, $n[6].Encoding], pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }], sn: "$ctor3" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Boolean], pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "detectEncodingFromByteOrderMarks", pt: $n[0].Boolean, ps: 1 }], sn: "$ctor8" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[6].Encoding], pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }], sn: "$ctor9" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream, $n[6].Encoding, $n[0].Boolean], pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }, { n: "detectEncodingFromByteOrderMarks", pt: $n[0].Boolean, ps: 2 }], sn: "$ctor4" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[6].Encoding, $n[0].Boolean], pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }, { n: "detectEncodingFromByteOrderMarks", pt: $n[0].Boolean, ps: 2 }], sn: "$ctor10" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream, $n[6].Encoding, $n[0].Boolean, $n[0].Int32], pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }, { n: "detectEncodingFromByteOrderMarks", pt: $n[0].Boolean, ps: 2 }, { n: "bufferSize", pt: $n[0].Int32, ps: 3 }], sn: "$ctor5" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[6].Encoding, $n[0].Boolean, $n[0].Int32], pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }, { n: "detectEncodingFromByteOrderMarks", pt: $n[0].Boolean, ps: 2 }, { n: "bufferSize", pt: $n[0].Int32, ps: 3 }], sn: "$ctor11" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream, $n[6].Encoding, $n[0].Boolean, $n[0].Int32, $n[0].Boolean], pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }, { n: "detectEncodingFromByteOrderMarks", pt: $n[0].Boolean, ps: 2 }, { n: "bufferSize", pt: $n[0].Int32, ps: 3 }, { n: "leaveOpen", pt: $n[0].Boolean, ps: 4 }], sn: "$ctor6" }, { a: 4, n: ".ctor", t: 1, p: [$n[0].String, $n[6].Encoding, $n[0].Boolean, $n[0].Int32, $n[0].Boolean], pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }, { n: "detectEncodingFromByteOrderMarks", pt: $n[0].Boolean, ps: 2 }, { n: "bufferSize", pt: $n[0].Int32, ps: 3 }, { n: "checkHost", pt: $n[0].Boolean, ps: 4 }], sn: "$ctor12" }, { ov: !0, a: 2, n: "Close", t: 8, sn: "Close", rt: $n[0].Void }, { a: 1, n: "CompressBuffer", t: 8, pi: [{ n: "n", pt: $n[0].Int32, ps: 0 }], sn: "CompressBuffer", rt: $n[0].Void, p: [$n[0].Int32] }, { a: 1, n: "DetectEncoding", t: 8, sn: "DetectEncoding", rt: $n[0].Void }, { a: 2, n: "DiscardBufferedData", t: 8, sn: "DiscardBufferedData", rt: $n[0].Void }, { ov: !0, a: 3, n: "Dispose", t: 8, pi: [{ n: "disposing", pt: $n[0].Boolean, ps: 0 }], sn: "Dispose$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { a: 4, n: "Init", t: 8, pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }], sn: "Init", rt: $n[0].Void, p: [$n[10].Stream] }, { a: 1, n: "Init", t: 8, pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }, { n: "detectEncodingFromByteOrderMarks", pt: $n[0].Boolean, ps: 2 }, { n: "bufferSize", pt: $n[0].Int32, ps: 3 }, { n: "leaveOpen", pt: $n[0].Boolean, ps: 4 }], sn: "Init$1", rt: $n[0].Void, p: [$n[10].Stream, $n[6].Encoding, $n[0].Boolean, $n[0].Int32, $n[0].Boolean] }, { a: 1, n: "IsPreamble", t: 8, sn: "IsPreamble", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ov: !0, a: 2, n: "Peek", t: 8, sn: "Peek", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Read", t: 8, sn: "Read", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Read", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Read$1", rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "ReadBlock", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "ReadBlock", rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 4, n: "ReadBuffer", t: 8, sn: "ReadBuffer", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "ReadBuffer", t: 8, pi: [{ n: "userBuffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "userOffset", pt: $n[0].Int32, ps: 1 }, { n: "desiredChars", pt: $n[0].Int32, ps: 2 }, { n: "readToUserBuffer", out: !0, pt: $n[0].Boolean, ps: 3 }], sn: "ReadBuffer$1", rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32, $n[0].Boolean], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "ReadLine", t: 8, sn: "ReadLine", rt: $n[0].String }, { ov: !0, a: 2, n: "ReadToEnd", t: 8, sn: "ReadToEnd", rt: $n[0].String }, { ov: !0, a: 2, n: "ReadToEndAsync", t: 8, sn: "ReadToEndAsync", rt: $n[8].Task$1(System.String) }, { v: !0, a: 2, n: "BaseStream", t: 16, rt: $n[10].Stream, g: { v: !0, a: 2, n: "get_BaseStream", t: 8, rt: $n[10].Stream, fg: "BaseStream" }, fn: "BaseStream" }, { v: !0, a: 2, n: "CurrentEncoding", t: 16, rt: $n[6].Encoding, g: { v: !0, a: 2, n: "get_CurrentEncoding", t: 8, rt: $n[6].Encoding, fg: "CurrentEncoding" }, fn: "CurrentEncoding" }, { a: 4, n: "DefaultBufferSize", is: !0, t: 16, rt: $n[0].Int32, g: { a: 4, n: "get_DefaultBufferSize", t: 8, rt: $n[0].Int32, fg: "DefaultBufferSize", is: !0, box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "DefaultBufferSize" }, { a: 2, n: "EndOfStream", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_EndOfStream", t: 8, rt: $n[0].Boolean, fg: "EndOfStream", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "EndOfStream" }, { a: 4, n: "LeaveOpen", t: 16, rt: $n[0].Boolean, g: { a: 4, n: "get_LeaveOpen", t: 8, rt: $n[0].Boolean, fg: "LeaveOpen", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "LeaveOpen" }, { a: 1, n: "DefaultFileStreamBufferSize", is: !0, t: 4, rt: $n[0].Int32, sn: "DefaultFileStreamBufferSize", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "MinBufferSize", is: !0, t: 4, rt: $n[0].Int32, sn: "MinBufferSize", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Null", is: !0, t: 4, rt: $n[10].StreamReader, sn: "Null", ro: !0 }, { a: 1, n: "_closable", t: 4, rt: $n[0].Boolean, sn: "_closable", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "_detectEncoding", t: 4, rt: $n[0].Boolean, sn: "_detectEncoding", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "_isBlocked", t: 4, rt: $n[0].Boolean, sn: "_isBlocked", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "_maxCharsPerBuffer", t: 4, rt: $n[0].Int32, sn: "_maxCharsPerBuffer", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "byteBuffer", t: 4, rt: $n[0].Array.type(System.Byte), sn: "byteBuffer" }, { a: 1, n: "byteLen", t: 4, rt: $n[0].Int32, sn: "byteLen", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "bytePos", t: 4, rt: $n[0].Int32, sn: "bytePos", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "charBuffer", t: 4, rt: $n[0].Array.type(System.Char), sn: "charBuffer" }, { a: 1, n: "charLen", t: 4, rt: $n[0].Int32, sn: "charLen", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "charPos", t: 4, rt: $n[0].Int32, sn: "charPos", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "encoding", t: 4, rt: $n[6].Encoding, sn: "encoding" }, { a: 1, n: "stream", t: 4, rt: $n[10].Stream, sn: "stream" }] } }); $m($n[10].StreamReader.NullStreamReader, function () { return { td: $n[10].StreamReader, att: 1048579, a: 1, m: [{ a: 4, n: ".ctor", t: 1, sn: "ctor" }, { ov: !0, a: 3, n: "Dispose", t: 8, pi: [{ n: "disposing", pt: $n[0].Boolean, ps: 0 }], sn: "Dispose$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { ov: !0, a: 2, n: "Peek", t: 8, sn: "Peek", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Read", t: 8, sn: "Read", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Read", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Read$1", rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 4, n: "ReadBuffer", t: 8, sn: "ReadBuffer", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "ReadLine", t: 8, sn: "ReadLine", rt: $n[0].String }, { ov: !0, a: 2, n: "ReadToEnd", t: 8, sn: "ReadToEnd", rt: $n[0].String }, { ov: !0, a: 2, n: "BaseStream", t: 16, rt: $n[10].Stream, g: { ov: !0, a: 2, n: "get_BaseStream", t: 8, rt: $n[10].Stream, fg: "BaseStream" }, fn: "BaseStream" }, { ov: !0, a: 2, n: "CurrentEncoding", t: 16, rt: $n[6].Encoding, g: { ov: !0, a: 2, n: "get_CurrentEncoding", t: 8, rt: $n[6].Encoding, fg: "CurrentEncoding" }, fn: "CurrentEncoding" }] } }); $m($n[10].StreamWriter, function () { return { att: 1048577, a: 2, m: [{ a: 4, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream], pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "path", pt: $n[0].String, ps: 0 }], sn: "$ctor5" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream, $n[6].Encoding], pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }], sn: "$ctor2" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Boolean], pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "append", pt: $n[0].Boolean, ps: 1 }], sn: "$ctor6" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream, $n[6].Encoding, $n[0].Int32], pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }, { n: "bufferSize", pt: $n[0].Int32, ps: 2 }], sn: "$ctor3" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Boolean, $n[6].Encoding], pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "append", pt: $n[0].Boolean, ps: 1 }, { n: "encoding", pt: $n[6].Encoding, ps: 2 }], sn: "$ctor7" }, { a: 2, n: ".ctor", t: 1, p: [$n[10].Stream, $n[6].Encoding, $n[0].Int32, $n[0].Boolean], pi: [{ n: "stream", pt: $n[10].Stream, ps: 0 }, { n: "encoding", pt: $n[6].Encoding, ps: 1 }, { n: "bufferSize", pt: $n[0].Int32, ps: 2 }, { n: "leaveOpen", pt: $n[0].Boolean, ps: 3 }], sn: "$ctor4" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Boolean, $n[6].Encoding, $n[0].Int32], pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "append", pt: $n[0].Boolean, ps: 1 }, { n: "encoding", pt: $n[6].Encoding, ps: 2 }, { n: "bufferSize", pt: $n[0].Int32, ps: 3 }], sn: "$ctor8" }, { a: 4, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Boolean, $n[6].Encoding, $n[0].Int32, $n[0].Boolean], pi: [{ n: "path", pt: $n[0].String, ps: 0 }, { n: "append", pt: $n[0].Boolean, ps: 1 }, { n: "encoding", pt: $n[6].Encoding, ps: 2 }, { n: "bufferSize", pt: $n[0].Int32, ps: 3 }, { n: "checkHost", pt: $n[0].Boolean, ps: 4 }], sn: "$ctor9" }, { ov: !0, a: 2, n: "Close", t: 8, sn: "Close", rt: $n[0].Void }, { ov: !0, a: 3, n: "Dispose", t: 8, pi: [{ n: "disposing", pt: $n[0].Boolean, ps: 0 }], sn: "Dispose$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { ov: !0, a: 2, n: "Flush", t: 8, sn: "Flush", rt: $n[0].Void }, { a: 1, n: "Flush", t: 8, pi: [{ n: "flushStream", pt: $n[0].Boolean, ps: 0 }, { n: "flushEncoder", pt: $n[0].Boolean, ps: 1 }], sn: "Flush$1", rt: $n[0].Void, p: [$n[0].Boolean, $n[0].Boolean] }, { a: 1, n: "Init", t: 8, pi: [{ n: "streamArg", pt: $n[10].Stream, ps: 0 }, { n: "encodingArg", pt: $n[6].Encoding, ps: 1 }, { n: "bufferSize", pt: $n[0].Int32, ps: 2 }, { n: "shouldLeaveOpen", pt: $n[0].Boolean, ps: 3 }], sn: "Init", rt: $n[0].Void, p: [$n[10].Stream, $n[6].Encoding, $n[0].Int32, $n[0].Boolean] }, { ov: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }], sn: "Write$1", rt: $n[0].Void, p: [$n[0].Char] }, { ov: !0, a: 2, n: "Write", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }], sn: "Write$2", rt: $n[0].Void, p: [$n[0].Array.type(System.Char)] }, { ov: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], sn: "Write$10", rt: $n[0].Void, p: [$n[0].String] }, { ov: !0, a: 2, n: "Write", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Write$3", rt: $n[0].Void, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32] }, { v: !0, a: 2, n: "AutoFlush", t: 16, rt: $n[0].Boolean, g: { v: !0, a: 2, n: "get_AutoFlush", t: 8, rt: $n[0].Boolean, fg: "AutoFlush", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, s: { v: !0, a: 2, n: "set_AutoFlush", t: 8, p: [$n[0].Boolean], rt: $n[0].Void, fs: "AutoFlush" }, fn: "AutoFlush" }, { v: !0, a: 2, n: "BaseStream", t: 16, rt: $n[10].Stream, g: { v: !0, a: 2, n: "get_BaseStream", t: 8, rt: $n[10].Stream, fg: "BaseStream" }, fn: "BaseStream" }, { ov: !0, a: 2, n: "Encoding", t: 16, rt: $n[6].Encoding, g: { ov: !0, a: 2, n: "get_Encoding", t: 8, rt: $n[6].Encoding, fg: "Encoding" }, fn: "Encoding" }, { a: 4, n: "HaveWrittenPreamble", t: 16, rt: $n[0].Boolean, s: { a: 4, n: "set_HaveWrittenPreamble", t: 8, p: [$n[0].Boolean], rt: $n[0].Void, fs: "HaveWrittenPreamble" }, fn: "HaveWrittenPreamble" }, { a: 4, n: "LeaveOpen", t: 16, rt: $n[0].Boolean, g: { a: 4, n: "get_LeaveOpen", t: 8, rt: $n[0].Boolean, fg: "LeaveOpen", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "LeaveOpen" }, { a: 4, n: "UTF8NoBOM", is: !0, t: 16, rt: $n[6].Encoding, g: { a: 4, n: "get_UTF8NoBOM", t: 8, rt: $n[6].Encoding, fg: "UTF8NoBOM", is: !0 }, fn: "UTF8NoBOM" }, { a: 4, n: "DefaultBufferSize", is: !0, t: 4, rt: $n[0].Int32, sn: "DefaultBufferSize", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "DefaultFileStreamBufferSize", is: !0, t: 4, rt: $n[0].Int32, sn: "DefaultFileStreamBufferSize", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "MinBufferSize", is: !0, t: 4, rt: $n[0].Int32, sn: "MinBufferSize", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Null", is: !0, t: 4, rt: $n[10].StreamWriter, sn: "Null", ro: !0 }, { a: 1, n: "_UTF8NoBOM", is: !0, t: 4, rt: $n[6].Encoding, sn: "_UTF8NoBOM" }, { a: 1, n: "autoFlush", t: 4, rt: $n[0].Boolean, sn: "autoFlush", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "byteBuffer", t: 4, rt: $n[0].Array.type(System.Byte), sn: "byteBuffer" }, { a: 1, n: "charBuffer", t: 4, rt: $n[0].Array.type(System.Char), sn: "charBuffer" }, { a: 1, n: "charLen", t: 4, rt: $n[0].Int32, sn: "charLen", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "charPos", t: 4, rt: $n[0].Int32, sn: "charPos", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "closable", t: 4, rt: $n[0].Boolean, sn: "closable", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "encoding", t: 4, rt: $n[6].Encoding, sn: "encoding" }, { a: 1, n: "haveWrittenPreamble", t: 4, rt: $n[0].Boolean, sn: "haveWrittenPreamble", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "stream", t: 4, rt: $n[10].Stream, sn: "stream" }] } }); $m($n[10].StringReader, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "s", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { ov: !0, a: 2, n: "Close", t: 8, sn: "Close", rt: $n[0].Void }, { ov: !0, a: 3, n: "Dispose", t: 8, pi: [{ n: "disposing", pt: $n[0].Boolean, ps: 0 }], sn: "Dispose$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { ov: !0, a: 2, n: "Peek", t: 8, sn: "Peek", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Read", t: 8, sn: "Read", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "Read", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Read$1", rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "ReadLine", t: 8, sn: "ReadLine", rt: $n[0].String }, { ov: !0, a: 2, n: "ReadToEnd", t: 8, sn: "ReadToEnd", rt: $n[0].String }, { a: 1, n: "_length", t: 4, rt: $n[0].Int32, sn: "_length", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_pos", t: 4, rt: $n[0].Int32, sn: "_pos", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_s", t: 4, rt: $n[0].String, sn: "_s" }] } }); $m($n[10].StringWriter, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].IFormatProvider], pi: [{ n: "formatProvider", pt: $n[0].IFormatProvider, ps: 0 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[6].StringBuilder], pi: [{ n: "sb", pt: $n[6].StringBuilder, ps: 0 }], sn: "$ctor2" }, { a: 2, n: ".ctor", t: 1, p: [$n[6].StringBuilder, $n[0].IFormatProvider], pi: [{ n: "sb", pt: $n[6].StringBuilder, ps: 0 }, { n: "formatProvider", pt: $n[0].IFormatProvider, ps: 1 }], sn: "$ctor3" }, { ov: !0, a: 2, n: "Close", t: 8, sn: "Close", rt: $n[0].Void }, { ov: !0, a: 3, n: "Dispose", t: 8, pi: [{ n: "disposing", pt: $n[0].Boolean, ps: 0 }], sn: "Dispose$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { v: !0, a: 2, n: "GetStringBuilder", t: 8, sn: "GetStringBuilder", rt: $n[6].StringBuilder }, { ov: !0, a: 2, n: "ToString", t: 8, sn: "toString", rt: $n[0].String }, { ov: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }], sn: "Write$1", rt: $n[0].Void, p: [$n[0].Char] }, { ov: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], sn: "Write$10", rt: $n[0].Void, p: [$n[0].String] }, { ov: !0, a: 2, n: "Write", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Write$3", rt: $n[0].Void, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32] }, { ov: !0, a: 2, n: "Encoding", t: 16, rt: $n[6].Encoding, g: { ov: !0, a: 2, n: "get_Encoding", t: 8, rt: $n[6].Encoding, fg: "Encoding" }, fn: "Encoding" }, { a: 1, n: "_isOpen", t: 4, rt: $n[0].Boolean, sn: "_isOpen", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "_sb", t: 4, rt: $n[6].StringBuilder, sn: "_sb" }, { a: 1, n: "m_encoding", is: !0, t: 4, rt: $n[6].UnicodeEncoding, sn: "m_encoding" }] } }); $m($n[10].TextReader, function () { return { att: 1048705, a: 2, m: [{ a: 3, n: ".ctor", t: 1, sn: "ctor" }, { v: !0, a: 2, n: "Close", t: 8, sn: "Close", rt: $n[0].Void }, { a: 2, n: "Dispose", t: 8, sn: "Dispose", rt: $n[0].Void }, { v: !0, a: 3, n: "Dispose", t: 8, pi: [{ n: "disposing", pt: $n[0].Boolean, ps: 0 }], sn: "Dispose$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { v: !0, a: 2, n: "Peek", t: 8, sn: "Peek", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "Read", t: 8, sn: "Read", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "Read", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Read$1", rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "ReadBlock", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "ReadBlock", rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { v: !0, a: 2, n: "ReadLine", t: 8, sn: "ReadLine", rt: $n[0].String }, { v: !0, a: 2, n: "ReadToEnd", t: 8, sn: "ReadToEnd", rt: $n[0].String }, { v: !0, a: 2, n: "ReadToEndAsync", t: 8, sn: "ReadToEndAsync", rt: $n[8].Task$1(System.String) }, { a: 2, n: "Synchronized", is: !0, t: 8, pi: [{ n: "reader", pt: $n[10].TextReader, ps: 0 }], sn: "Synchronized", rt: $n[10].TextReader, p: [$n[10].TextReader] }, { a: 2, n: "Null", is: !0, t: 4, rt: $n[10].TextReader, sn: "Null", ro: !0 }] } }); $m($n[10].TextReader.NullTextReader, function () { return { td: $n[10].TextReader, att: 1057027, a: 1, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { ov: !0, a: 2, n: "Read", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Read$1", rt: $n[0].Int32, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ov: !0, a: 2, n: "ReadLine", t: 8, sn: "ReadLine", rt: $n[0].String }] } }); $m($n[10].TextWriter, function () { return { att: 1048705, a: 2, m: [{ a: 3, n: ".ctor", t: 1, sn: "ctor" }, { a: 3, n: ".ctor", t: 1, p: [$n[0].IFormatProvider], pi: [{ n: "formatProvider", pt: $n[0].IFormatProvider, ps: 0 }], sn: "$ctor1" }, { v: !0, a: 2, n: "Close", t: 8, sn: "Close", rt: $n[0].Void }, { a: 2, n: "Dispose", t: 8, sn: "Dispose", rt: $n[0].Void }, { v: !0, a: 3, n: "Dispose", t: 8, pi: [{ n: "disposing", pt: $n[0].Boolean, ps: 0 }], sn: "Dispose$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { v: !0, a: 2, n: "Flush", t: 8, sn: "Flush", rt: $n[0].Void }, { a: 2, n: "Synchronized", is: !0, t: 8, pi: [{ n: "writer", pt: $n[10].TextWriter, ps: 0 }], sn: "Synchronized", rt: $n[10].TextWriter, p: [$n[10].TextWriter] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Boolean, ps: 0 }], sn: "Write", rt: $n[0].Void, p: [$n[0].Boolean] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }], sn: "Write$1", rt: $n[0].Void, p: [$n[0].Char] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }], sn: "Write$2", rt: $n[0].Void, p: [$n[0].Array.type(System.Char)] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], sn: "Write$4", rt: $n[0].Void, p: [$n[0].Decimal] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], sn: "Write$5", rt: $n[0].Void, p: [$n[0].Double] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Int32, ps: 0 }], sn: "Write$6", rt: $n[0].Void, p: [$n[0].Int32] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "Write$7", rt: $n[0].Void, p: [$n[0].Int64] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Object, ps: 0 }], sn: "Write$8", rt: $n[0].Void, p: [$n[0].Object] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].Single, ps: 0 }], sn: "Write$9", rt: $n[0].Void, p: [$n[0].Single] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], sn: "Write$10", rt: $n[0].Void, p: [$n[0].String] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].UInt32, ps: 0 }], sn: "Write$15", rt: $n[0].Void, p: [$n[0].UInt32] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "Write$16", rt: $n[0].Void, p: [$n[0].UInt64] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }], sn: "Write$11", rt: $n[0].Void, p: [$n[0].String, $n[0].Object] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg", ip: !0, pt: $n[0].Array.type(System.Object), ps: 1 }], sn: "Write$14", rt: $n[0].Void, p: [$n[0].String, $n[0].Array.type(System.Object)] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Write$3", rt: $n[0].Void, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }, { n: "arg1", pt: $n[0].Object, ps: 2 }], sn: "Write$12", rt: $n[0].Void, p: [$n[0].String, $n[0].Object, $n[0].Object] }, { v: !0, a: 2, n: "Write", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }, { n: "arg1", pt: $n[0].Object, ps: 2 }, { n: "arg2", pt: $n[0].Object, ps: 3 }], sn: "Write$13", rt: $n[0].Void, p: [$n[0].String, $n[0].Object, $n[0].Object, $n[0].Object] }, { v: !0, a: 2, n: "WriteLine", t: 8, sn: "WriteLine", rt: $n[0].Void }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "value", pt: $n[0].Boolean, ps: 0 }], sn: "WriteLine$1", rt: $n[0].Void, p: [$n[0].Boolean] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "value", pt: $n[0].Char, ps: 0 }], sn: "WriteLine$2", rt: $n[0].Void, p: [$n[0].Char] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }], sn: "WriteLine$3", rt: $n[0].Void, p: [$n[0].Array.type(System.Char)] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "value", pt: $n[0].Decimal, ps: 0 }], sn: "WriteLine$5", rt: $n[0].Void, p: [$n[0].Decimal] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "value", pt: $n[0].Double, ps: 0 }], sn: "WriteLine$6", rt: $n[0].Void, p: [$n[0].Double] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "value", pt: $n[0].Int32, ps: 0 }], sn: "WriteLine$7", rt: $n[0].Void, p: [$n[0].Int32] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "value", pt: $n[0].Int64, ps: 0 }], sn: "WriteLine$8", rt: $n[0].Void, p: [$n[0].Int64] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "value", pt: $n[0].Object, ps: 0 }], sn: "WriteLine$9", rt: $n[0].Void, p: [$n[0].Object] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "value", pt: $n[0].Single, ps: 0 }], sn: "WriteLine$10", rt: $n[0].Void, p: [$n[0].Single] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], sn: "WriteLine$11", rt: $n[0].Void, p: [$n[0].String] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "value", pt: $n[0].UInt32, ps: 0 }], sn: "WriteLine$16", rt: $n[0].Void, p: [$n[0].UInt32] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "value", pt: $n[0].UInt64, ps: 0 }], sn: "WriteLine$17", rt: $n[0].Void, p: [$n[0].UInt64] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }], sn: "WriteLine$12", rt: $n[0].Void, p: [$n[0].String, $n[0].Object] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg", ip: !0, pt: $n[0].Array.type(System.Object), ps: 1 }], sn: "WriteLine$15", rt: $n[0].Void, p: [$n[0].String, $n[0].Array.type(System.Object)] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "WriteLine$4", rt: $n[0].Void, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }, { n: "arg1", pt: $n[0].Object, ps: 2 }], sn: "WriteLine$13", rt: $n[0].Void, p: [$n[0].String, $n[0].Object, $n[0].Object] }, { v: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "arg0", pt: $n[0].Object, ps: 1 }, { n: "arg1", pt: $n[0].Object, ps: 2 }, { n: "arg2", pt: $n[0].Object, ps: 3 }], sn: "WriteLine$14", rt: $n[0].Void, p: [$n[0].String, $n[0].Object, $n[0].Object, $n[0].Object] }, { ab: !0, a: 2, n: "Encoding", t: 16, rt: $n[6].Encoding, g: { ab: !0, a: 2, n: "get_Encoding", t: 8, rt: $n[6].Encoding, fg: "Encoding" }, fn: "Encoding" }, { v: !0, a: 2, n: "FormatProvider", t: 16, rt: $n[0].IFormatProvider, g: { v: !0, a: 2, n: "get_FormatProvider", t: 8, rt: $n[0].IFormatProvider, fg: "FormatProvider" }, fn: "FormatProvider" }, { v: !0, a: 2, n: "NewLine", t: 16, rt: $n[0].String, g: { v: !0, a: 2, n: "get_NewLine", t: 8, rt: $n[0].String, fg: "NewLine" }, s: { v: !0, a: 2, n: "set_NewLine", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "NewLine" }, fn: "NewLine" }, { a: 3, n: "CoreNewLine", t: 4, rt: $n[0].Array.type(System.Char), sn: "CoreNewLine" }, { a: 1, n: "InitialNewLine", is: !0, t: 4, rt: $n[0].String, sn: "InitialNewLine" }, { a: 1, n: "InternalFormatProvider", t: 4, rt: $n[0].IFormatProvider, sn: "InternalFormatProvider" }, { a: 2, n: "Null", is: !0, t: 4, rt: $n[10].TextWriter, sn: "Null", ro: !0 }] } }); $m($n[10].TextWriter.NullTextWriter, function () { return { td: $n[10].TextWriter, att: 1057027, a: 1, m: [{ a: 4, n: ".ctor", t: 1, sn: "ctor" }, { ov: !0, a: 2, n: "Write", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], sn: "Write$10", rt: $n[0].Void, p: [$n[0].String] }, { ov: !0, a: 2, n: "Write", t: 8, pi: [{ n: "buffer", pt: $n[0].Array.type(System.Char), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "Write$3", rt: $n[0].Void, p: [$n[0].Array.type(System.Char), $n[0].Int32, $n[0].Int32] }, { ov: !0, a: 2, n: "WriteLine", t: 8, sn: "WriteLine", rt: $n[0].Void }, { ov: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "value", pt: $n[0].Object, ps: 0 }], sn: "WriteLine$9", rt: $n[0].Void, p: [$n[0].Object] }, { ov: !0, a: 2, n: "WriteLine", t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], sn: "WriteLine$11", rt: $n[0].Void, p: [$n[0].String] }, { ov: !0, a: 2, n: "Encoding", t: 16, rt: $n[6].Encoding, g: { ov: !0, a: 2, n: "get_Encoding", t: 8, rt: $n[6].Encoding, fg: "Encoding" }, fn: "Encoding" }] } }); $m($n[10].__Error, function () { return { att: 1048960, a: 4, s: !0, m: [{ a: 4, n: "EndOfFile", is: !0, t: 8, sn: "EndOfFile", rt: $n[0].Void }, { a: 4, n: "EndReadCalledTwice", is: !0, t: 8, sn: "EndReadCalledTwice", rt: $n[0].Void }, { a: 4, n: "EndWriteCalledTwice", is: !0, t: 8, sn: "EndWriteCalledTwice", rt: $n[0].Void }, { a: 4, n: "FileNotOpen", is: !0, t: 8, sn: "FileNotOpen", rt: $n[0].Void }, { a: 4, n: "MemoryStreamNotExpandable", is: !0, t: 8, sn: "MemoryStreamNotExpandable", rt: $n[0].Void }, { a: 4, n: "ReadNotSupported", is: !0, t: 8, sn: "ReadNotSupported", rt: $n[0].Void }, { a: 4, n: "ReaderClosed", is: !0, t: 8, sn: "ReaderClosed", rt: $n[0].Void }, { a: 4, n: "SeekNotSupported", is: !0, t: 8, sn: "SeekNotSupported", rt: $n[0].Void }, { a: 4, n: "StreamIsClosed", is: !0, t: 8, sn: "StreamIsClosed", rt: $n[0].Void }, { a: 4, n: "WriteNotSupported", is: !0, t: 8, sn: "WriteNotSupported", rt: $n[0].Void }, { a: 4, n: "WriterClosed", is: !0, t: 8, sn: "WriterClosed", rt: $n[0].Void }, { a: 4, n: "WrongAsyncResult", is: !0, t: 8, sn: "WrongAsyncResult", rt: $n[0].Void }] } }); $m($n[7].TextInfo, function () { return { att: 1048577, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { v: !0, a: 2, n: "Clone", t: 8, sn: "clone", rt: $n[0].Object }, { a: 1, n: "VerifyWritable", t: 8, sn: "verifyWritable", rt: $n[0].Void }, { v: !0, a: 2, n: "ANSICodePage", t: 16, rt: $n[0].Int32, g: { v: !0, a: 2, n: "get_ANSICodePage", t: 8, rt: $n[0].Int32, fg: "ANSICodePage", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "ANSICodePage" }, { a: 2, n: "CultureName", t: 16, rt: $n[0].String, g: { a: 2, n: "get_CultureName", t: 8, rt: $n[0].String, fg: "CultureName" }, fn: "CultureName" }, { v: !0, a: 2, n: "EBCDICCodePage", t: 16, rt: $n[0].Int32, g: { v: !0, a: 2, n: "get_EBCDICCodePage", t: 8, rt: $n[0].Int32, fg: "EBCDICCodePage", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "EBCDICCodePage" }, { a: 2, n: "IsReadOnly", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsReadOnly", t: 8, rt: $n[0].Boolean, fg: "IsReadOnly", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "IsReadOnly" }, { a: 2, n: "IsRightToLeft", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsRightToLeft", t: 8, rt: $n[0].Boolean, fg: "IsRightToLeft", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "IsRightToLeft" }, { a: 2, n: "LCID", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_LCID", t: 8, rt: $n[0].Int32, fg: "LCID", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "LCID" }, { v: !0, a: 2, n: "ListSeparator", t: 16, rt: $n[0].String, g: { v: !0, a: 2, n: "get_ListSeparator", t: 8, rt: $n[0].String, fg: "ListSeparator" }, s: { v: !0, a: 2, n: "set_ListSeparator", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "ListSeparator" }, fn: "ListSeparator" }, { v: !0, a: 2, n: "MacCodePage", t: 16, rt: $n[0].Int32, g: { v: !0, a: 2, n: "get_MacCodePage", t: 8, rt: $n[0].Int32, fg: "MacCodePage", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "MacCodePage" }, { v: !0, a: 2, n: "OEMCodePage", t: 16, rt: $n[0].Int32, g: { v: !0, a: 2, n: "get_OEMCodePage", t: 8, rt: $n[0].Int32, fg: "OEMCodePage", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "OEMCodePage" }, { a: 1, n: "listSeparator", t: 4, rt: $n[0].String, sn: "listSeparator" }] } }); $m($n[7].CultureNotFoundException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], def: function (message) { return new System.Globalization.CultureNotFoundException(null, null, message) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], def: function (message, innerException) { return new System.Globalization.CultureNotFoundException(null, null, message, innerException) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].String], pi: [{ n: "paramName", pt: $n[0].String, ps: 0 }, { n: "message", pt: $n[0].String, ps: 1 }], def: function (paramName, message) { return new System.Globalization.CultureNotFoundException(paramName, null, message) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Int32, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "invalidCultureId", pt: $n[0].Int32, ps: 1 }, { n: "innerException", pt: $n[0].Exception, ps: 2 }], def: function (message, invalidCultureId, innerException) { return new System.Globalization.CultureNotFoundException(null, null, message, innerException, invalidCultureId) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Int32, $n[0].String], pi: [{ n: "paramName", pt: $n[0].String, ps: 0 }, { n: "invalidCultureId", pt: $n[0].Int32, ps: 1 }, { n: "message", pt: $n[0].String, ps: 2 }], def: function (paramName, invalidCultureId, message) { return new System.Globalization.CultureNotFoundException(paramName, null, message, null, invalidCultureId) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "invalidCultureName", pt: $n[0].String, ps: 1 }, { n: "innerException", pt: $n[0].Exception, ps: 2 }], def: function (message, invalidCultureName, innerException) { return new System.Globalization.CultureNotFoundException(null, invalidCultureName, message, innerException) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].String, $n[0].String], pi: [{ n: "paramName", pt: $n[0].String, ps: 0 }, { n: "invalidCultureName", pt: $n[0].String, ps: 1 }, { n: "message", pt: $n[0].String, ps: 2 }], def: function (paramName, invalidCultureName, message) { return new System.Globalization.CultureNotFoundException(paramName, invalidCultureName, message) } }, { a: 2, n: "InvalidCultureId", t: 16, rt: $n[0].Nullable$1(System.Int32), g: { a: 2, n: "get_InvalidCultureId", t: 8, tpc: 0, def: function () { return this.getInvalidCultureId() }, rt: $n[0].Nullable$1(System.Int32), box: function ($v) { return Bridge.box($v, System.Int32, System.Nullable.toString, System.Nullable.getHashCode) } } }, { a: 2, n: "InvalidCultureName", t: 16, rt: $n[0].String, g: { a: 2, n: "get_InvalidCultureName", t: 8, tpc: 0, def: function () { return this.getInvalidCultureName() }, rt: $n[0].String } }] } }); $m($n[7].CultureInfo, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "name", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: "Clone", t: 8, sn: "clone", rt: $n[0].Object }, { a: 2, n: "CreateSpecificCulture", is: !0, t: 8, pi: [{ n: "name", pt: $n[0].String, ps: 0 }], sn: "getCultureInfo", rt: $n[7].CultureInfo, p: [$n[0].String] }, { a: 2, n: "GetCultureInfo", is: !0, t: 8, pi: [{ n: "name", pt: $n[0].String, ps: 0 }], sn: "getCultureInfo", rt: $n[7].CultureInfo, p: [$n[0].String] }, { a: 2, n: "GetCultures", is: !0, t: 8, sn: "getCultures", rt: System.Array.type(System.Globalization.CultureInfo) }, { a: 2, n: "GetFormat", t: 8, pi: [{ n: "formatType", pt: Function, ps: 0 }], sn: "getFormat", rt: $n[0].Object, p: [Function] }, { a: 2, n: "CurrentCulture", is: !0, t: 16, rt: $n[7].CultureInfo, g: { a: 2, n: "get_CurrentCulture", is: !0, t: 8, tpc: 0, def: function () { return this.getCurrentCulture() }, rt: $n[7].CultureInfo }, s: { a: 2, n: "set_CurrentCulture", is: !0, t: 8, pi: [{ n: "value", pt: $n[7].CultureInfo, ps: 0 }], tpc: 0, def: function (value) { return this.setCurrentCulture(value) }, rt: $n[0].Void, p: [$n[7].CultureInfo] } }, { a: 2, n: "DateTimeFormat", t: 16, rt: $n[7].DateTimeFormatInfo, g: { a: 2, n: "get_DateTimeFormat", t: 8, rt: $n[7].DateTimeFormatInfo, fg: "dateTimeFormat" }, s: { a: 2, n: "set_DateTimeFormat", t: 8, p: [$n[7].DateTimeFormatInfo], rt: $n[0].Void, fs: "dateTimeFormat" }, fn: "dateTimeFormat" }, { a: 2, n: "EnglishName", t: 16, rt: $n[0].String, g: { a: 2, n: "get_EnglishName", t: 8, rt: $n[0].String, fg: "englishName" }, s: { a: 2, n: "set_EnglishName", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "englishName" }, fn: "englishName" }, { a: 2, n: "InvariantCulture", is: !0, t: 16, rt: $n[7].CultureInfo, g: { a: 2, n: "get_InvariantCulture", t: 8, rt: $n[7].CultureInfo, fg: "invariantCulture", is: !0 }, fn: "invariantCulture" }, { a: 2, n: "Name", t: 16, rt: $n[0].String, g: { a: 2, n: "get_Name", t: 8, rt: $n[0].String, fg: "name" }, fn: "name" }, { a: 2, n: "NativeName", t: 16, rt: $n[0].String, g: { a: 2, n: "get_NativeName", t: 8, rt: $n[0].String, fg: "nativeName" }, s: { a: 2, n: "set_NativeName", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "nativeName" }, fn: "nativeName" }, { a: 2, n: "NumberFormat", t: 16, rt: $n[7].NumberFormatInfo, g: { a: 2, n: "get_NumberFormat", t: 8, rt: $n[7].NumberFormatInfo, fg: "numberFormat" }, s: { a: 2, n: "set_NumberFormat", t: 8, p: [$n[7].NumberFormatInfo], rt: $n[0].Void, fs: "numberFormat" }, fn: "numberFormat" }, { v: !0, a: 2, n: "TextInfo", t: 16, rt: $n[7].TextInfo, g: { v: !0, a: 2, n: "get_TextInfo", t: 8, rt: $n[7].TextInfo, fg: "TextInfo" }, fn: "TextInfo" }] } }); $m($n[7].DateTimeFormatInfo, function () { return { att: 1048833, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "Clone", t: 8, sn: "clone", rt: $n[0].Object }, { a: 2, n: "GetAbbreviatedDayName", t: 8, pi: [{ n: "dayofweek", pt: $n[0].DayOfWeek, ps: 0 }], sn: "getAbbreviatedDayName", rt: $n[0].String, p: [$n[0].DayOfWeek] }, { a: 2, n: "GetAbbreviatedMonthName", t: 8, pi: [{ n: "month", pt: $n[0].Int32, ps: 0 }], sn: "getAbbreviatedMonthName", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "GetAllDateTimePatterns", t: 8, sn: "getAllDateTimePatterns", rt: $n[0].Array.type(System.String) }, { a: 2, n: "GetAllDateTimePatterns", t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }], sn: "getAllDateTimePatterns", rt: $n[0].Array.type(System.String), p: [$n[0].String] }, { a: 2, n: "GetDayName", t: 8, pi: [{ n: "dayofweek", pt: $n[0].DayOfWeek, ps: 0 }], sn: "getDayName", rt: $n[0].String, p: [$n[0].DayOfWeek] }, { a: 2, n: "GetFormat", t: 8, pi: [{ n: "formatType", pt: Function, ps: 0 }], sn: "getFormat", rt: $n[0].Object, p: [Function] }, { a: 2, n: "GetMonthName", t: 8, pi: [{ n: "month", pt: $n[0].Int32, ps: 0 }], sn: "getMonthName", rt: $n[0].String, p: [$n[0].Int32] }, { a: 2, n: "GetShortestDayName", t: 8, pi: [{ n: "dayOfWeek", pt: $n[0].DayOfWeek, ps: 0 }], sn: "getShortestDayName", rt: $n[0].String, p: [$n[0].DayOfWeek] }, { a: 2, n: "AMDesignator", t: 16, rt: $n[0].String, g: { a: 2, n: "get_AMDesignator", t: 8, rt: $n[0].String, fg: "amDesignator" }, s: { a: 2, n: "set_AMDesignator", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "amDesignator" }, fn: "amDesignator" }, { a: 2, n: "AbbreviatedDayNames", t: 16, rt: $n[0].Array.type(System.String), g: { a: 2, n: "get_AbbreviatedDayNames", t: 8, rt: $n[0].Array.type(System.String), fg: "abbreviatedDayNames" }, s: { a: 2, n: "set_AbbreviatedDayNames", t: 8, p: [$n[0].Array.type(System.String)], rt: $n[0].Void, fs: "abbreviatedDayNames" }, fn: "abbreviatedDayNames" }, { a: 2, n: "AbbreviatedMonthGenitiveNames", t: 16, rt: $n[0].Array.type(System.String), g: { a: 2, n: "get_AbbreviatedMonthGenitiveNames", t: 8, rt: $n[0].Array.type(System.String), fg: "abbreviatedMonthGenitiveNames" }, s: { a: 2, n: "set_AbbreviatedMonthGenitiveNames", t: 8, p: [$n[0].Array.type(System.String)], rt: $n[0].Void, fs: "abbreviatedMonthGenitiveNames" }, fn: "abbreviatedMonthGenitiveNames" }, { a: 2, n: "AbbreviatedMonthNames", t: 16, rt: $n[0].Array.type(System.String), g: { a: 2, n: "get_AbbreviatedMonthNames", t: 8, rt: $n[0].Array.type(System.String), fg: "abbreviatedMonthNames" }, s: { a: 2, n: "set_AbbreviatedMonthNames", t: 8, p: [$n[0].Array.type(System.String)], rt: $n[0].Void, fs: "abbreviatedMonthNames" }, fn: "abbreviatedMonthNames" }, { a: 2, n: "CurrentInfo", is: !0, t: 16, rt: $n[7].DateTimeFormatInfo, g: { a: 2, n: "get_CurrentInfo", t: 8, rt: $n[7].DateTimeFormatInfo, fg: "currentInfo", is: !0 }, fn: "currentInfo" }, { a: 2, n: "DateSeparator", t: 16, rt: $n[0].String, g: { a: 2, n: "get_DateSeparator", t: 8, rt: $n[0].String, fg: "dateSeparator" }, s: { a: 2, n: "set_DateSeparator", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "dateSeparator" }, fn: "dateSeparator" }, { a: 2, n: "DayNames", t: 16, rt: $n[0].Array.type(System.String), g: { a: 2, n: "get_DayNames", t: 8, rt: $n[0].Array.type(System.String), fg: "dayNames" }, s: { a: 2, n: "set_DayNames", t: 8, p: [$n[0].Array.type(System.String)], rt: $n[0].Void, fs: "dayNames" }, fn: "dayNames" }, { a: 2, n: "FirstDayOfWeek", t: 16, rt: $n[0].DayOfWeek, g: { a: 2, n: "get_FirstDayOfWeek", t: 8, rt: $n[0].DayOfWeek, fg: "firstDayOfWeek", box: function ($v) { return Bridge.box($v, System.DayOfWeek, System.Enum.toStringFn(System.DayOfWeek)) } }, s: { a: 2, n: "set_FirstDayOfWeek", t: 8, p: [$n[0].DayOfWeek], rt: $n[0].Void, fs: "firstDayOfWeek" }, fn: "firstDayOfWeek" }, { a: 2, n: "FullDateTimePattern", t: 16, rt: $n[0].String, g: { a: 2, n: "get_FullDateTimePattern", t: 8, rt: $n[0].String, fg: "fullDateTimePattern" }, s: { a: 2, n: "set_FullDateTimePattern", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "fullDateTimePattern" }, fn: "fullDateTimePattern" }, { a: 2, n: "InvariantInfo", is: !0, t: 16, rt: $n[7].DateTimeFormatInfo, g: { a: 2, n: "get_InvariantInfo", t: 8, rt: $n[7].DateTimeFormatInfo, fg: "invariantInfo", is: !0 }, fn: "invariantInfo" }, { a: 2, n: "LongDatePattern", t: 16, rt: $n[0].String, g: { a: 2, n: "get_LongDatePattern", t: 8, rt: $n[0].String, fg: "longDatePattern" }, s: { a: 2, n: "set_LongDatePattern", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "longDatePattern" }, fn: "longDatePattern" }, { a: 2, n: "LongTimePattern", t: 16, rt: $n[0].String, g: { a: 2, n: "get_LongTimePattern", t: 8, rt: $n[0].String, fg: "longTimePattern" }, s: { a: 2, n: "set_LongTimePattern", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "longTimePattern" }, fn: "longTimePattern" }, { a: 2, n: "MonthDayPattern", t: 16, rt: $n[0].String, g: { a: 2, n: "get_MonthDayPattern", t: 8, rt: $n[0].String, fg: "monthDayPattern" }, s: { a: 2, n: "set_MonthDayPattern", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "monthDayPattern" }, fn: "monthDayPattern" }, { a: 2, n: "MonthGenitiveNames", t: 16, rt: $n[0].Array.type(System.String), g: { a: 2, n: "get_MonthGenitiveNames", t: 8, rt: $n[0].Array.type(System.String), fg: "monthGenitiveNames" }, s: { a: 2, n: "set_MonthGenitiveNames", t: 8, p: [$n[0].Array.type(System.String)], rt: $n[0].Void, fs: "monthGenitiveNames" }, fn: "monthGenitiveNames" }, { a: 2, n: "MonthNames", t: 16, rt: $n[0].Array.type(System.String), g: { a: 2, n: "get_MonthNames", t: 8, rt: $n[0].Array.type(System.String), fg: "monthNames" }, s: { a: 2, n: "set_MonthNames", t: 8, p: [$n[0].Array.type(System.String)], rt: $n[0].Void, fs: "monthNames" }, fn: "monthNames" }, { a: 2, n: "PMDesignator", t: 16, rt: $n[0].String, g: { a: 2, n: "get_PMDesignator", t: 8, rt: $n[0].String, fg: "pmDesignator" }, s: { a: 2, n: "set_PMDesignator", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "pmDesignator" }, fn: "pmDesignator" }, { a: 2, n: "RFC1123Pattern", t: 16, rt: $n[0].String, g: { a: 2, n: "get_RFC1123Pattern", t: 8, rt: $n[0].String, fg: "rfc1123Pattern" }, s: { a: 2, n: "set_RFC1123Pattern", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "rfc1123Pattern" }, fn: "rfc1123Pattern" }, { a: 2, n: "RoundtripFormat", t: 16, rt: $n[0].String, g: { a: 2, n: "get_RoundtripFormat", t: 8, rt: $n[0].String, fg: "roundtripFormat" }, s: { a: 2, n: "set_RoundtripFormat", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "roundtripFormat" }, fn: "roundtripFormat" }, { a: 2, n: "ShortDatePattern", t: 16, rt: $n[0].String, g: { a: 2, n: "get_ShortDatePattern", t: 8, rt: $n[0].String, fg: "shortDatePattern" }, s: { a: 2, n: "set_ShortDatePattern", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "shortDatePattern" }, fn: "shortDatePattern" }, { a: 2, n: "ShortTimePattern", t: 16, rt: $n[0].String, g: { a: 2, n: "get_ShortTimePattern", t: 8, rt: $n[0].String, fg: "shortTimePattern" }, s: { a: 2, n: "set_ShortTimePattern", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "shortTimePattern" }, fn: "shortTimePattern" }, { a: 2, n: "ShortestDayNames", t: 16, rt: $n[0].Array.type(System.String), g: { a: 2, n: "get_ShortestDayNames", t: 8, rt: $n[0].Array.type(System.String), fg: "shortestDayNames" }, s: { a: 2, n: "set_ShortestDayNames", t: 8, p: [$n[0].Array.type(System.String)], rt: $n[0].Void, fs: "shortestDayNames" }, fn: "shortestDayNames" }, { a: 2, n: "SortableDateTimePattern", t: 16, rt: $n[0].String, g: { a: 2, n: "get_SortableDateTimePattern", t: 8, rt: $n[0].String, fg: "sortableDateTimePattern" }, s: { a: 2, n: "set_SortableDateTimePattern", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "sortableDateTimePattern" }, fn: "sortableDateTimePattern" }, { a: 2, n: "TimeSeparator", t: 16, rt: $n[0].String, g: { a: 2, n: "get_TimeSeparator", t: 8, rt: $n[0].String, fg: "timeSeparator" }, s: { a: 2, n: "set_TimeSeparator", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "timeSeparator" }, fn: "timeSeparator" }, { a: 2, n: "UniversalSortableDateTimePattern", t: 16, rt: $n[0].String, g: { a: 2, n: "get_UniversalSortableDateTimePattern", t: 8, rt: $n[0].String, fg: "universalSortableDateTimePattern" }, s: { a: 2, n: "set_UniversalSortableDateTimePattern", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "universalSortableDateTimePattern" }, fn: "universalSortableDateTimePattern" }, { a: 2, n: "YearMonthPattern", t: 16, rt: $n[0].String, g: { a: 2, n: "get_YearMonthPattern", t: 8, rt: $n[0].String, fg: "yearMonthPattern" }, s: { a: 2, n: "set_YearMonthPattern", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "yearMonthPattern" }, fn: "yearMonthPattern" }] } }); $m($n[7].NumberFormatInfo, function () { return { att: 1048833, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "Clone", t: 8, sn: "clone", rt: $n[0].Object }, { a: 2, n: "GetFormat", t: 8, pi: [{ n: "formatType", pt: Function, ps: 0 }], sn: "getFormat", rt: $n[0].Object, p: [Function] }, { a: 2, n: "CurrencyDecimalDigits", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_CurrencyDecimalDigits", t: 8, rt: $n[0].Int32, fg: "currencyDecimalDigits", box: function ($v) { return Bridge.box($v, System.Int32) } }, s: { a: 2, n: "set_CurrencyDecimalDigits", t: 8, p: [$n[0].Int32], rt: $n[0].Void, fs: "currencyDecimalDigits" }, fn: "currencyDecimalDigits" }, { a: 2, n: "CurrencyDecimalSeparator", t: 16, rt: $n[0].String, g: { a: 2, n: "get_CurrencyDecimalSeparator", t: 8, rt: $n[0].String, fg: "currencyDecimalSeparator" }, s: { a: 2, n: "set_CurrencyDecimalSeparator", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "currencyDecimalSeparator" }, fn: "currencyDecimalSeparator" }, { a: 2, n: "CurrencyGroupSeparator", t: 16, rt: $n[0].String, g: { a: 2, n: "get_CurrencyGroupSeparator", t: 8, rt: $n[0].String, fg: "currencyGroupSeparator" }, s: { a: 2, n: "set_CurrencyGroupSeparator", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "currencyGroupSeparator" }, fn: "currencyGroupSeparator" }, { a: 2, n: "CurrencyGroupSizes", t: 16, rt: $n[0].Array.type(System.Int32), g: { a: 2, n: "get_CurrencyGroupSizes", t: 8, rt: $n[0].Array.type(System.Int32), fg: "currencyGroupSizes" }, s: { a: 2, n: "set_CurrencyGroupSizes", t: 8, p: [$n[0].Array.type(System.Int32)], rt: $n[0].Void, fs: "currencyGroupSizes" }, fn: "currencyGroupSizes" }, { a: 2, n: "CurrencyNegativePattern", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_CurrencyNegativePattern", t: 8, rt: $n[0].Int32, fg: "currencyNegativePattern", box: function ($v) { return Bridge.box($v, System.Int32) } }, s: { a: 2, n: "set_CurrencyNegativePattern", t: 8, p: [$n[0].Int32], rt: $n[0].Void, fs: "currencyNegativePattern" }, fn: "currencyNegativePattern" }, { a: 2, n: "CurrencyPositivePattern", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_CurrencyPositivePattern", t: 8, rt: $n[0].Int32, fg: "currencyPositivePattern", box: function ($v) { return Bridge.box($v, System.Int32) } }, s: { a: 2, n: "set_CurrencyPositivePattern", t: 8, p: [$n[0].Int32], rt: $n[0].Void, fs: "currencyPositivePattern" }, fn: "currencyPositivePattern" }, { a: 2, n: "CurrencySymbol", t: 16, rt: $n[0].String, g: { a: 2, n: "get_CurrencySymbol", t: 8, rt: $n[0].String, fg: "currencySymbol" }, s: { a: 2, n: "set_CurrencySymbol", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "currencySymbol" }, fn: "currencySymbol" }, { a: 2, n: "CurrentInfo", is: !0, t: 16, rt: $n[7].NumberFormatInfo, g: { a: 2, n: "get_CurrentInfo", t: 8, rt: $n[7].NumberFormatInfo, fg: "currentInfo", is: !0 }, fn: "currentInfo" }, { a: 2, n: "InvariantInfo", is: !0, t: 16, rt: $n[7].NumberFormatInfo, g: { a: 2, n: "get_InvariantInfo", t: 8, rt: $n[7].NumberFormatInfo, fg: "invariantInfo", is: !0 }, fn: "invariantInfo" }, { a: 2, n: "NaNSymbol", t: 16, rt: $n[0].String, g: { a: 2, n: "get_NaNSymbol", t: 8, rt: $n[0].String, fg: "nanSymbol" }, s: { a: 2, n: "set_NaNSymbol", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "nanSymbol" }, fn: "nanSymbol" }, { a: 2, n: "NegativeInfinitySymbol", t: 16, rt: $n[0].String, g: { a: 2, n: "get_NegativeInfinitySymbol", t: 8, rt: $n[0].String, fg: "negativeInfinitySymbol" }, s: { a: 2, n: "set_NegativeInfinitySymbol", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "negativeInfinitySymbol" }, fn: "negativeInfinitySymbol" }, { a: 2, n: "NegativeSign", t: 16, rt: $n[0].String, g: { a: 2, n: "get_NegativeSign", t: 8, rt: $n[0].String, fg: "negativeSign" }, s: { a: 2, n: "set_NegativeSign", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "negativeSign" }, fn: "negativeSign" }, { a: 2, n: "NumberDecimalDigits", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_NumberDecimalDigits", t: 8, rt: $n[0].Int32, fg: "numberDecimalDigits", box: function ($v) { return Bridge.box($v, System.Int32) } }, s: { a: 2, n: "set_NumberDecimalDigits", t: 8, p: [$n[0].Int32], rt: $n[0].Void, fs: "numberDecimalDigits" }, fn: "numberDecimalDigits" }, { a: 2, n: "NumberDecimalSeparator", t: 16, rt: $n[0].String, g: { a: 2, n: "get_NumberDecimalSeparator", t: 8, rt: $n[0].String, fg: "numberDecimalSeparator" }, s: { a: 2, n: "set_NumberDecimalSeparator", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "numberDecimalSeparator" }, fn: "numberDecimalSeparator" }, { a: 2, n: "NumberGroupSeparator", t: 16, rt: $n[0].String, g: { a: 2, n: "get_NumberGroupSeparator", t: 8, rt: $n[0].String, fg: "numberGroupSeparator" }, s: { a: 2, n: "set_NumberGroupSeparator", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "numberGroupSeparator" }, fn: "numberGroupSeparator" }, { a: 2, n: "NumberGroupSizes", t: 16, rt: $n[0].Array.type(System.Int32), g: { a: 2, n: "get_NumberGroupSizes", t: 8, rt: $n[0].Array.type(System.Int32), fg: "numberGroupSizes" }, s: { a: 2, n: "set_NumberGroupSizes", t: 8, p: [$n[0].Array.type(System.Int32)], rt: $n[0].Void, fs: "numberGroupSizes" }, fn: "numberGroupSizes" }, { a: 2, n: "PercentDecimalDigits", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_PercentDecimalDigits", t: 8, rt: $n[0].Int32, fg: "percentDecimalDigits", box: function ($v) { return Bridge.box($v, System.Int32) } }, s: { a: 2, n: "set_PercentDecimalDigits", t: 8, p: [$n[0].Int32], rt: $n[0].Void, fs: "percentDecimalDigits" }, fn: "percentDecimalDigits" }, { a: 2, n: "PercentDecimalSeparator", t: 16, rt: $n[0].String, g: { a: 2, n: "get_PercentDecimalSeparator", t: 8, rt: $n[0].String, fg: "percentDecimalSeparator" }, s: { a: 2, n: "set_PercentDecimalSeparator", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "percentDecimalSeparator" }, fn: "percentDecimalSeparator" }, { a: 2, n: "PercentGroupSeparator", t: 16, rt: $n[0].String, g: { a: 2, n: "get_PercentGroupSeparator", t: 8, rt: $n[0].String, fg: "percentGroupSeparator" }, s: { a: 2, n: "set_PercentGroupSeparator", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "percentGroupSeparator" }, fn: "percentGroupSeparator" }, { a: 2, n: "PercentGroupSizes", t: 16, rt: $n[0].Array.type(System.Int32), g: { a: 2, n: "get_PercentGroupSizes", t: 8, rt: $n[0].Array.type(System.Int32), fg: "percentGroupSizes" }, s: { a: 2, n: "set_PercentGroupSizes", t: 8, p: [$n[0].Array.type(System.Int32)], rt: $n[0].Void, fs: "percentGroupSizes" }, fn: "percentGroupSizes" }, { a: 2, n: "PercentNegativePattern", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_PercentNegativePattern", t: 8, rt: $n[0].Int32, fg: "percentNegativePattern", box: function ($v) { return Bridge.box($v, System.Int32) } }, s: { a: 2, n: "set_PercentNegativePattern", t: 8, p: [$n[0].Int32], rt: $n[0].Void, fs: "percentNegativePattern" }, fn: "percentNegativePattern" }, { a: 2, n: "PercentPositivePattern", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_PercentPositivePattern", t: 8, rt: $n[0].Int32, fg: "percentPositivePattern", box: function ($v) { return Bridge.box($v, System.Int32) } }, s: { a: 2, n: "set_PercentPositivePattern", t: 8, p: [$n[0].Int32], rt: $n[0].Void, fs: "percentPositivePattern" }, fn: "percentPositivePattern" }, { a: 2, n: "PercentSymbol", t: 16, rt: $n[0].String, g: { a: 2, n: "get_PercentSymbol", t: 8, rt: $n[0].String, fg: "percentSymbol" }, s: { a: 2, n: "set_PercentSymbol", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "percentSymbol" }, fn: "percentSymbol" }, { a: 2, n: "PositiveInfinitySymbol", t: 16, rt: $n[0].String, g: { a: 2, n: "get_PositiveInfinitySymbol", t: 8, rt: $n[0].String, fg: "positiveInfinitySymbol" }, s: { a: 2, n: "set_PositiveInfinitySymbol", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "positiveInfinitySymbol" }, fn: "positiveInfinitySymbol" }, { a: 2, n: "PositiveSign", t: 16, rt: $n[0].String, g: { a: 2, n: "get_PositiveSign", t: 8, rt: $n[0].String, fg: "positiveSign" }, s: { a: 2, n: "set_PositiveSign", t: 8, p: [$n[0].String], rt: $n[0].Void, fs: "positiveSign" }, fn: "positiveSign" }] } }); $m($n[11].DefaultValueAttribute, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, p: [$n[0].Object], pi: [{ n: "value", pt: $n[0].Object, ps: 0 }], sn: "ctor" }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], sn: "equals", rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ov: !0, a: 2, n: "GetHashCode", t: 8, sn: "getHashCode", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 3, n: "SetValue", t: 8, pi: [{ n: "value", pt: $n[0].Object, ps: 0 }], sn: "setValue", rt: $n[0].Void, p: [$n[0].Object] }, { v: !0, a: 2, n: "Value", t: 16, rt: $n[0].Object, g: { v: !0, a: 2, n: "get_Value", t: 8, rt: $n[0].Object, fg: "Value" }, fn: "Value" }, { a: 1, n: "value", t: 4, rt: $n[0].Object, sn: "value" }] } }); $m($n[11].BrowsableAttribute, function () { return { att: 1048833, a: 2, m: [{ a: 2, n: ".ctor", t: 1, p: [$n[0].Boolean], pi: [{ n: "browsable", pt: $n[0].Boolean, ps: 0 }], sn: "ctor" }, { ov: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], sn: "equals", rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ov: !0, a: 2, n: "GetHashCode", t: 8, sn: "getHashCode", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Browsable", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_Browsable", t: 8, rt: $n[0].Boolean, fg: "Browsable", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "Browsable" }, { a: 2, n: "Default", is: !0, t: 4, rt: $n[11].BrowsableAttribute, sn: "default", ro: !0 }, { a: 2, n: "No", is: !0, t: 4, rt: $n[11].BrowsableAttribute, sn: "no", ro: !0 }, { a: 2, n: "Yes", is: !0, t: 4, rt: $n[11].BrowsableAttribute, sn: "yes", ro: !0 }, { a: 1, n: "browsable", t: 4, rt: $n[0].Boolean, sn: "browsable", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }] } }); $m($n[2].BitArray, function () { return { att: 1048833, a: 2, m: [{ a: 2, n: ".ctor", t: 1, p: [$n[0].Array.type(System.Boolean)], pi: [{ n: "values", pt: $n[0].Array.type(System.Boolean), ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Array.type(System.Byte)], pi: [{ n: "bytes", pt: $n[0].Array.type(System.Byte), ps: 0 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[2].BitArray], pi: [{ n: "bits", pt: $n[2].BitArray, ps: 0 }], sn: "$ctor2" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "length", pt: $n[0].Int32, ps: 0 }], sn: "$ctor3" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Array.type(System.Int32)], pi: [{ n: "values", pt: $n[0].Array.type(System.Int32), ps: 0 }], sn: "$ctor5" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[0].Boolean], pi: [{ n: "length", pt: $n[0].Int32, ps: 0 }, { n: "defaultValue", pt: $n[0].Boolean, ps: 1 }], sn: "$ctor4" }, { a: 2, n: "And", t: 8, pi: [{ n: "value", pt: $n[2].BitArray, ps: 0 }], sn: "and", rt: $n[2].BitArray, p: [$n[2].BitArray] }, { a: 2, n: "Clone", t: 8, sn: "clone", rt: $n[0].Object }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: Array, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], sn: "copyTo", rt: $n[0].Void, p: [Array, $n[0].Int32] }, { a: 2, n: "Get", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], sn: "get", rt: $n[0].Boolean, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "GetArrayLength", is: !0, t: 8, pi: [{ n: "n", pt: $n[0].Int32, ps: 0 }, { n: "div", pt: $n[0].Int32, ps: 1 }], sn: "getArrayLength", rt: $n[0].Int32, p: [$n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "GetEnumerator", t: 8, sn: "getEnumerator", rt: $n[2].IEnumerator }, { a: 2, n: "Not", t: 8, sn: "not", rt: $n[2].BitArray }, { a: 2, n: "Or", t: 8, pi: [{ n: "value", pt: $n[2].BitArray, ps: 0 }], sn: "or", rt: $n[2].BitArray, p: [$n[2].BitArray] }, { a: 2, n: "Set", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].Boolean, ps: 1 }], sn: "set", rt: $n[0].Void, p: [$n[0].Int32, $n[0].Boolean] }, { a: 2, n: "SetAll", t: 8, pi: [{ n: "value", pt: $n[0].Boolean, ps: 0 }], sn: "setAll", rt: $n[0].Void, p: [$n[0].Boolean] }, { a: 2, n: "Xor", t: 8, pi: [{ n: "value", pt: $n[2].BitArray, ps: 0 }], sn: "xor", rt: $n[2].BitArray, p: [$n[2].BitArray] }, { a: 2, n: "Count", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Count", t: 8, rt: $n[0].Int32, fg: "Count", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "Count" }, { a: 2, n: "IsReadOnly", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsReadOnly", t: 8, rt: $n[0].Boolean, fg: "IsReadOnly", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "IsReadOnly" }, { a: 2, n: "IsSynchronized", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsSynchronized", t: 8, rt: $n[0].Boolean, fg: "IsSynchronized", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "IsSynchronized" }, { a: 2, n: "Item", t: 16, rt: $n[0].Boolean, p: [$n[0].Int32], i: !0, ipi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], g: { a: 2, n: "get_Item", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], sn: "getItem", rt: $n[0].Boolean, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, s: { a: 2, n: "set_Item", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].Boolean, ps: 1 }], sn: "setItem", rt: $n[0].Void, p: [$n[0].Int32, $n[0].Boolean] } }, { a: 2, n: "Length", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Length", t: 8, rt: $n[0].Int32, fg: "Length", box: function ($v) { return Bridge.box($v, System.Int32) } }, s: { a: 2, n: "set_Length", t: 8, p: [$n[0].Int32], rt: $n[0].Void, fs: "Length" }, fn: "Length" }, { a: 1, n: "BitsPerByte", is: !0, t: 4, rt: $n[0].Int32, sn: "BitsPerByte", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "BitsPerInt32", is: !0, t: 4, rt: $n[0].Int32, sn: "BitsPerInt32", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "BytesPerInt32", is: !0, t: 4, rt: $n[0].Int32, sn: "BytesPerInt32", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_ShrinkThreshold", is: !0, t: 4, rt: $n[0].Int32, sn: "_ShrinkThreshold", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_version", t: 4, rt: $n[0].Int32, sn: "_version", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "m_array", t: 4, rt: $n[0].Array.type(System.Int32), sn: "m_array" }, { a: 1, n: "m_length", t: 4, rt: $n[0].Int32, sn: "m_length", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[2].BitArray.BitArrayEnumeratorSimple, function () { return { td: $n[2].BitArray, att: 1048579, a: 1, m: [{ a: 4, n: ".ctor", t: 1, p: [$n[2].BitArray], pi: [{ n: "bitarray", pt: $n[2].BitArray, ps: 0 }], sn: "ctor" }, { v: !0, a: 2, n: "MoveNext", t: 8, sn: "moveNext", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Reset", t: 8, sn: "reset", rt: $n[0].Void }, { v: !0, a: 2, n: "Current", t: 16, rt: $n[0].Object, g: { v: !0, a: 2, n: "get_Current", t: 8, rt: $n[0].Object, fg: "Current" }, fn: "Current" }, { a: 1, n: "bitarray", t: 4, rt: $n[2].BitArray, sn: "bitarray" }, { a: 1, n: "currentElement", t: 4, rt: $n[0].Boolean, sn: "currentElement", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "index", t: 4, rt: $n[0].Int32, sn: "index", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "version", t: 4, rt: $n[0].Int32, sn: "version", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[2].HashHelpers, function () { return { att: 1048960, a: 4, s: !0, m: [{ a: 2, n: "ExpandPrime", is: !0, t: 8, pi: [{ n: "oldSize", pt: $n[0].Int32, ps: 0 }], sn: "expandPrime", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "GetMinPrime", is: !0, t: 8, sn: "getMinPrime", rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "GetPrime", is: !0, t: 8, pi: [{ n: "min", pt: $n[0].Int32, ps: 0 }], sn: "getPrime", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IsPrime", is: !0, t: 8, pi: [{ n: "candidate", pt: $n[0].Int32, ps: 0 }], sn: "isPrime", rt: $n[0].Boolean, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "HashPrime", is: !0, t: 4, rt: $n[0].Int32, sn: "HashPrime", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "MaxPrimeArrayLength", is: !0, t: 4, rt: $n[0].Int32, sn: "MaxPrimeArrayLength", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "primes", is: !0, t: 4, rt: $n[0].Array.type(System.Int32), sn: "primes", ro: !0 }] } }); $m($n[2].IDictionary, function () { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "Add", t: 8, pi: [{ n: "key", pt: $n[0].Object, ps: 0 }, { n: "value", pt: $n[0].Object, ps: 1 }], sn: "System$Collections$IDictionary$add", rt: $n[0].Void, p: [$n[0].Object, $n[0].Object] }, { ab: !0, a: 2, n: "ContainsKey", t: 8, pi: [{ n: "key", pt: $n[0].Object, ps: 0 }], sn: "System$Collections$IDictionary$containsKey", rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "Remove", t: 8, pi: [{ n: "key", pt: $n[0].Object, ps: 0 }], sn: "System$Collections$IDictionary$remove", rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "IsReadOnly", t: 16, rt: $n[0].Boolean, g: { ab: !0, a: 2, n: "get_IsReadOnly", t: 8, rt: $n[0].Boolean, fg: "System$Collections$IDictionary$IsReadOnly", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "System$Collections$IDictionary$IsReadOnly" }, { ab: !0, a: 2, n: "Item", t: 16, rt: $n[0].Object, p: [$n[0].Object], i: !0, ipi: [{ n: "key", pt: $n[0].Object, ps: 0 }], g: { ab: !0, a: 2, n: "get_Item", t: 8, pi: [{ n: "key", pt: $n[0].Object, ps: 0 }], sn: "System$Collections$IDictionary$getItem", rt: $n[0].Object, p: [$n[0].Object] }, s: { ab: !0, a: 2, n: "set_Item", t: 8, pi: [{ n: "key", pt: $n[0].Object, ps: 0 }, { n: "value", pt: $n[0].Object, ps: 1 }], sn: "System$Collections$IDictionary$setItem", rt: $n[0].Void, p: [$n[0].Object, $n[0].Object] } }, { ab: !0, a: 2, n: "Keys", t: 16, rt: $n[2].ICollection, g: { ab: !0, a: 2, n: "get_Keys", t: 8, rt: $n[2].ICollection, fg: "System$Collections$IDictionary$Keys" }, fn: "System$Collections$IDictionary$Keys" }, { ab: !0, a: 2, n: "Values", t: 16, rt: $n[2].ICollection, g: { ab: !0, a: 2, n: "get_Values", t: 8, rt: $n[2].ICollection, fg: "System$Collections$IDictionary$Values" }, fn: "System$Collections$IDictionary$Values" }] } }); $m($n[2].IList, function () { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "Add", t: 8, pi: [{ n: "item", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (item) { return System.Array.add(this, item) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ab: !0, a: 2, n: "Clear", t: 8, tpc: 0, def: function () { return System.Array.clear(this) }, rt: $n[0].Void }, { ab: !0, a: 2, n: "Contains", t: 8, pi: [{ n: "item", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (item) { return System.Array.contains(this, item) }, rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "IndexOf", t: 8, pi: [{ n: "item", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (item) { return System.Array.indexOf(this, item, 0, null) }, rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ab: !0, a: 2, n: "Insert", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "item", pt: $n[0].Object, ps: 1 }], tpc: 0, def: function (index, item) { return System.Array.insert(this, index, item) }, rt: $n[0].Void, p: [$n[0].Int32, $n[0].Object] }, { ab: !0, a: 2, n: "Remove", t: 8, pi: [{ n: "item", pt: $n[0].Object, ps: 0 }], tpc: 0, def: function (item) { return System.Array.remove(this, item) }, rt: $n[0].Void, p: [$n[0].Object] }, { ab: !0, a: 2, n: "RemoveAt", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (index) { return System.Array.removeAt(this, index) }, rt: $n[0].Void, p: [$n[0].Int32] }, { ab: !0, a: 2, n: "IsReadOnly", t: 16, rt: $n[0].Boolean, g: { ab: !0, a: 2, n: "get_IsReadOnly", t: 8, tpc: 0, def: function () { return System.Array.getIsReadOnly(this) }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { ab: !0, a: 2, n: "Item", t: 16, rt: $n[0].Object, p: [$n[0].Int32], i: !0, ipi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], g: { ab: !0, a: 2, n: "get_Item", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (index) { return System.Array.getItem(this, index) }, rt: $n[0].Object, p: [$n[0].Int32] }, s: { ab: !0, a: 2, n: "set_Item", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: $n[0].Object, ps: 1 }], tpc: 0, def: function (index) { return System.Array.setItem(this, index) }, rt: $n[0].Void, p: [$n[0].Int32, $n[0].Object] } }] } }); $m($n[2].ICollection, function () { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: Array, ps: 0 }, { n: "arrayIndex", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (array, arrayIndex) { return System.Array.copyTo(this, array, arrayIndex) }, rt: $n[0].Void, p: [Array, $n[0].Int32] }, { ab: !0, a: 2, n: "Count", t: 16, rt: $n[0].Int32, g: { ab: !0, a: 2, n: "get_Count", t: 8, tpc: 0, def: function () { return System.Array.getCount(this) }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }] } }); $m($n[2].IEnumerable, function () { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "GetEnumerator", t: 8, tpc: 0, def: function () { return Bridge.getEnumerator(this) }, rt: $n[2].IEnumerator }] } }); $m($n[2].IEnumerator, function () { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "MoveNext", t: 8, sn: "System$Collections$IEnumerator$moveNext", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "Reset", t: 8, sn: "System$Collections$IEnumerator$reset", rt: $n[0].Void }, { ab: !0, a: 2, n: "Current", t: 16, rt: $n[0].Object, g: { ab: !0, a: 2, n: "get_Current", t: 8, rt: $n[0].Object, fg: "System$Collections$IEnumerator$Current" }, fn: "System$Collections$IEnumerator$Current" }] } }); $m($n[2].IEqualityComparer, function () { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "x", pt: $n[0].Object, ps: 0 }, { n: "y", pt: $n[0].Object, ps: 1 }], sn: "System$Collections$IEqualityComparer$equals", rt: $n[0].Boolean, p: [$n[0].Object, $n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "GetHashCode", t: 8, pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], sn: "System$Collections$IEqualityComparer$getHashCode", rt: $n[0].Int32, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[4].ReadOnlyCollection$1, function (T) { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, p: [$n[3].IList$1(T)], pi: [{ n: "list", pt: $n[3].IList$1(T), ps: 0 }], sn: "ctor" }, { a: 2, n: "Contains", t: 8, pi: [{ n: "value", pt: T, ps: 0 }], sn: "contains", rt: $n[0].Boolean, p: [T], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: System.Array.type(T), ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], sn: "copyTo", rt: $n[0].Void, p: [System.Array.type(T), $n[0].Int32] }, { a: 2, n: "GetEnumerator", t: 8, sn: "getEnumerator", rt: $n[3].IEnumerator$1(T) }, { a: 2, n: "IndexOf", t: 8, pi: [{ n: "value", pt: T, ps: 0 }], sn: "indexOf", rt: $n[0].Int32, p: [T], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "IsCompatibleObject", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Object, ps: 0 }], sn: "isCompatibleObject", rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Count", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Count", t: 8, rt: $n[0].Int32, fg: "Count", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "Count" }, { a: 2, n: "Item", t: 16, rt: T, p: [$n[0].Int32], i: !0, ipi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], g: { a: 2, n: "get_Item", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], sn: "getItem", rt: T, p: [$n[0].Int32] } }, { a: 3, n: "Items", t: 16, rt: $n[3].IList$1(T), g: { a: 3, n: "get_Items", t: 8, rt: $n[3].IList$1(T), fg: "Items" }, fn: "Items" }, { a: 1, n: "list", t: 4, rt: $n[3].IList$1(T), sn: "list" }] } }); $m($n[3].BitHelper, function () { return { att: 1048832, a: 4, m: [{ a: 4, n: ".ctor", t: 1, p: [$n[0].Array.type(System.Int32), $n[0].Int32], pi: [{ n: "bitArray", pt: $n[0].Array.type(System.Int32), ps: 0 }, { n: "length", pt: $n[0].Int32, ps: 1 }], sn: "ctor" }, { a: 4, n: "IsMarked", t: 8, pi: [{ n: "bitPosition", pt: $n[0].Int32, ps: 0 }], sn: "isMarked", rt: $n[0].Boolean, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 4, n: "MarkBit", t: 8, pi: [{ n: "bitPosition", pt: $n[0].Int32, ps: 0 }], sn: "markBit", rt: $n[0].Void, p: [$n[0].Int32] }, { a: 4, n: "ToIntArrayLength", is: !0, t: 8, pi: [{ n: "n", pt: $n[0].Int32, ps: 0 }], sn: "toIntArrayLength", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "IntSize", is: !0, t: 4, rt: $n[0].Byte, sn: "IntSize", box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 1, n: "MarkedBitFlag", is: !0, t: 4, rt: $n[0].Byte, sn: "MarkedBitFlag", box: function ($v) { return Bridge.box($v, System.Byte) } }, { a: 1, n: "_array", t: 4, rt: $n[0].Array.type(System.Int32), sn: "_array", ro: !0 }, { a: 1, n: "_length", t: 4, rt: $n[0].Int32, sn: "_length", ro: !0, box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m(Bridge.Collections.EnumerableHelpers, function () { return { att: 1048960, a: 4, s: !0, m: [{ a: 4, n: "ToArray", is: !0, t: 8, pi: [{ n: "source", pt: $n[3].IEnumerable$1(System.Object), ps: 0 }], tpc: 1, tprm: ["T"], sn: "toArray", rt: System.Array.type(System.Object), p: [$n[3].IEnumerable$1(System.Object)] }, { a: 4, n: "ToArray", is: !0, t: 8, pi: [{ n: "source", pt: $n[3].IEnumerable$1(System.Object), ps: 0 }, { n: "length", out: !0, pt: $n[0].Int32, ps: 1 }], tpc: 1, tprm: ["T"], sn: "toArray$1", rt: System.Array.type(System.Object), p: [$n[3].IEnumerable$1(System.Object), $n[0].Int32] }] } }); $m($n[3].HashSet$1, function (T) { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[3].IEnumerable$1(T)], pi: [{ n: "collection", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[3].IEqualityComparer$1(T)], pi: [{ n: "comparer", pt: $n[3].IEqualityComparer$1(T), ps: 0 }], sn: "$ctor3" }, { a: 2, n: ".ctor", t: 1, p: [$n[3].IEnumerable$1(T), $n[3].IEqualityComparer$1(T)], pi: [{ n: "collection", pt: $n[3].IEnumerable$1(T), ps: 0 }, { n: "comparer", pt: $n[3].IEqualityComparer$1(T), ps: 1 }], sn: "$ctor2" }, { a: 2, n: "Add", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "add", rt: $n[0].Boolean, p: [T], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "AddIfNotPresent", t: 8, pi: [{ n: "value", pt: T, ps: 0 }], sn: "addIfNotPresent", rt: $n[0].Boolean, p: [T], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "AddOrGetLocation", t: 8, pi: [{ n: "value", pt: T, ps: 0 }, { n: "location", out: !0, pt: $n[0].Int32, ps: 1 }], sn: "addOrGetLocation", rt: $n[0].Boolean, p: [T, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "AreEqualityComparersEqual", is: !0, t: 8, pi: [{ n: "set1", pt: $n[3].HashSet$1(T), ps: 0 }, { n: "set2", pt: $n[3].HashSet$1(T), ps: 1 }], sn: "areEqualityComparersEqual", rt: $n[0].Boolean, p: [$n[3].HashSet$1(T), $n[3].HashSet$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "ArrayClear", t: 8, pi: [{ n: "array", pt: Array, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "length", pt: $n[0].Int32, ps: 2 }], sn: "arrayClear", rt: $n[0].Void, p: [Array, $n[0].Int32, $n[0].Int32] }, { a: 1, n: "CheckUniqueAndUnfoundElements", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }, { n: "returnIfUnfound", pt: $n[0].Boolean, ps: 1 }], sn: "checkUniqueAndUnfoundElements", rt: $n[3].HashSet$1.ElementCount(T), p: [$n[3].IEnumerable$1(T), $n[0].Boolean] }, { a: 2, n: "Clear", t: 8, sn: "clear", rt: $n[0].Void }, { a: 2, n: "Contains", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "contains", rt: $n[0].Boolean, p: [T], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "ContainsAllElements", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "containsAllElements", rt: $n[0].Boolean, p: [$n[3].IEnumerable$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: System.Array.type(T), ps: 0 }], sn: "copyTo$1", rt: $n[0].Void, p: [System.Array.type(T)] }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: System.Array.type(T), ps: 0 }, { n: "arrayIndex", pt: $n[0].Int32, ps: 1 }], sn: "copyTo", rt: $n[0].Void, p: [System.Array.type(T), $n[0].Int32] }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: System.Array.type(T), ps: 0 }, { n: "arrayIndex", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "copyTo$2", rt: $n[0].Void, p: [System.Array.type(T), $n[0].Int32, $n[0].Int32] }, { a: 2, n: "ExceptWith", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "exceptWith", rt: $n[0].Void, p: [$n[3].IEnumerable$1(T)] }, { a: 2, n: "GetEnumerator", t: 8, sn: "getEnumerator", rt: $n[3].HashSet$1.Enumerator(T) }, { a: 4, n: "HashSetEquals", is: !0, t: 8, pi: [{ n: "set1", pt: $n[3].HashSet$1(T), ps: 0 }, { n: "set2", pt: $n[3].HashSet$1(T), ps: 1 }, { n: "comparer", pt: $n[3].IEqualityComparer$1(T), ps: 2 }], sn: "hashSetEquals", rt: $n[0].Boolean, p: [$n[3].HashSet$1(T), $n[3].HashSet$1(T), $n[3].IEqualityComparer$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "IncreaseCapacity", t: 8, sn: "increaseCapacity", rt: $n[0].Void }, { a: 1, n: "Initialize", t: 8, pi: [{ n: "capacity", pt: $n[0].Int32, ps: 0 }], sn: "initialize", rt: $n[0].Void, p: [$n[0].Int32] }, { a: 1, n: "InternalGetHashCode", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "internalGetHashCode", rt: $n[0].Int32, p: [T], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "InternalIndexOf", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "internalIndexOf", rt: $n[0].Int32, p: [T], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IntersectWith", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "intersectWith", rt: $n[0].Void, p: [$n[3].IEnumerable$1(T)] }, { a: 1, n: "IntersectWithEnumerable", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "intersectWithEnumerable", rt: $n[0].Void, p: [$n[3].IEnumerable$1(T)] }, { a: 1, n: "IntersectWithHashSetWithSameEC", t: 8, pi: [{ n: "other", pt: $n[3].HashSet$1(T), ps: 0 }], sn: "intersectWithHashSetWithSameEC", rt: $n[0].Void, p: [$n[3].HashSet$1(T)] }, { a: 2, n: "IsProperSubsetOf", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "isProperSubsetOf", rt: $n[0].Boolean, p: [$n[3].IEnumerable$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsProperSupersetOf", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "isProperSupersetOf", rt: $n[0].Boolean, p: [$n[3].IEnumerable$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsSubsetOf", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "isSubsetOf", rt: $n[0].Boolean, p: [$n[3].IEnumerable$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "IsSubsetOfHashSetWithSameEC", t: 8, pi: [{ n: "other", pt: $n[3].HashSet$1(T), ps: 0 }], sn: "isSubsetOfHashSetWithSameEC", rt: $n[0].Boolean, p: [$n[3].HashSet$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "IsSupersetOf", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "isSupersetOf", rt: $n[0].Boolean, p: [$n[3].IEnumerable$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Overlaps", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "overlaps", rt: $n[0].Boolean, p: [$n[3].IEnumerable$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Remove", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "remove", rt: $n[0].Boolean, p: [T], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "RemoveWhere", t: 8, pi: [{ n: "match", pt: Function, ps: 0 }], sn: "removeWhere", rt: $n[0].Int32, p: [Function], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "SetCapacity", t: 8, pi: [{ n: "newSize", pt: $n[0].Int32, ps: 0 }, { n: "forceNewHashCodes", pt: $n[0].Boolean, ps: 1 }], sn: "setCapacity", rt: $n[0].Void, p: [$n[0].Int32, $n[0].Boolean] }, { a: 2, n: "SetEquals", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "setEquals", rt: $n[0].Boolean, p: [$n[3].IEnumerable$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "SymmetricExceptWith", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "symmetricExceptWith", rt: $n[0].Void, p: [$n[3].IEnumerable$1(T)] }, { a: 1, n: "SymmetricExceptWithEnumerable", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "symmetricExceptWithEnumerable", rt: $n[0].Void, p: [$n[3].IEnumerable$1(T)] }, { a: 1, n: "SymmetricExceptWithUniqueHashSet", t: 8, pi: [{ n: "other", pt: $n[3].HashSet$1(T), ps: 0 }], sn: "symmetricExceptWithUniqueHashSet", rt: $n[0].Void, p: [$n[3].HashSet$1(T)] }, { a: 4, n: "ToArray", t: 8, sn: "toArray", rt: System.Array.type(T) }, { a: 2, n: "TrimExcess", t: 8, sn: "trimExcess", rt: $n[0].Void }, { a: 2, n: "UnionWith", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "unionWith", rt: $n[0].Void, p: [$n[3].IEnumerable$1(T)] }, { a: 2, n: "Comparer", t: 16, rt: $n[3].IEqualityComparer$1(T), g: { a: 2, n: "get_Comparer", t: 8, rt: $n[3].IEqualityComparer$1(T), fg: "Comparer" }, fn: "Comparer" }, { a: 2, n: "Count", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Count", t: 8, rt: $n[0].Int32, fg: "Count", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "Count" }, { a: 2, n: "IsReadOnly", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsReadOnly", t: 8, rt: $n[0].Boolean, fg: "IsReadOnly", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "IsReadOnly" }, { a: 1, n: "Lower31BitMask", is: !0, t: 4, rt: $n[0].Int32, sn: "Lower31BitMask", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "ShrinkThreshold", is: !0, t: 4, rt: $n[0].Int32, sn: "ShrinkThreshold", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_buckets", t: 4, rt: $n[0].Array.type(System.Int32), sn: "_buckets" }, { a: 1, n: "_comparer", t: 4, rt: $n[3].IEqualityComparer$1(T), sn: "_comparer" }, { a: 1, n: "_count", t: 4, rt: $n[0].Int32, sn: "_count", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_freeList", t: 4, rt: $n[0].Int32, sn: "_freeList", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_lastIndex", t: 4, rt: $n[0].Int32, sn: "_lastIndex", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_slots", t: 4, rt: System.Array.type(System.Collections.Generic.HashSet$1.Slot(T)), sn: "_slots" }, { a: 1, n: "_version", t: 4, rt: $n[0].Int32, sn: "_version", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[3].HashSet$1.ElementCount, function (T) { return { td: $n[3].HashSet$1(T), att: 1048845, a: 4, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 4, n: "unfoundCount", t: 4, rt: $n[0].Int32, sn: "unfoundCount", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 4, n: "uniqueCount", t: 4, rt: $n[0].Int32, sn: "uniqueCount", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[3].HashSet$1.Slot, function (T) { return { td: $n[3].HashSet$1(T), att: 1048845, a: 4, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 4, n: "hashCode", t: 4, rt: $n[0].Int32, sn: "hashCode", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 4, n: "next", t: 4, rt: $n[0].Int32, sn: "next", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 4, n: "value", t: 4, rt: T, sn: "value" }] } }); $m($n[3].HashSet$1.Enumerator, function (T) { return { td: $n[3].HashSet$1(T), att: 1048842, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 4, n: ".ctor", t: 1, p: [$n[3].HashSet$1(T)], pi: [{ n: "set", pt: $n[3].HashSet$1(T), ps: 0 }], sn: "$ctor1" }, { a: 2, n: "Dispose", t: 8, sn: "dispose", rt: $n[0].Void }, { a: 2, n: "MoveNext", t: 8, sn: "moveNext", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Current", t: 16, rt: T, g: { a: 2, n: "get_Current", t: 8, rt: T, fg: "Current" }, fn: "Current" }, { a: 1, n: "_current", t: 4, rt: T, sn: "_current" }, { a: 1, n: "_index", t: 4, rt: $n[0].Int32, sn: "_index", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_set", t: 4, rt: $n[3].HashSet$1(T), sn: "_set" }, { a: 1, n: "_version", t: 4, rt: $n[0].Int32, sn: "_version", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[3].IReadOnlyDictionary$2, function (TKey, TValue) { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "ContainsKey", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }], sn: "System$Collections$Generic$IReadOnlyDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$containsKey", rt: $n[0].Boolean, p: [TKey], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "TryGetValue", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }, { n: "value", out: !0, pt: TValue, ps: 1 }], sn: "System$Collections$Generic$IReadOnlyDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$tryGetValue", rt: $n[0].Boolean, p: [TKey, TValue], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "Item", t: 16, rt: TValue, p: [TKey], i: !0, ipi: [{ n: "key", pt: TKey, ps: 0 }], g: { ab: !0, a: 2, n: "get_Item", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }], sn: "System$Collections$Generic$IReadOnlyDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$getItem", rt: TValue, p: [TKey] } }, { ab: !0, a: 2, n: "Keys", t: 16, rt: $n[3].IEnumerable$1(TKey), g: { ab: !0, a: 2, n: "get_Keys", t: 8, rt: $n[3].IEnumerable$1(TKey), fg: '"System$Collections$Generic$IReadOnlyDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$Keys"' }, fn: '"System$Collections$Generic$IReadOnlyDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$Keys"' }, { ab: !0, a: 2, n: "Values", t: 16, rt: $n[3].IEnumerable$1(TValue), g: { ab: !0, a: 2, n: "get_Values", t: 8, rt: $n[3].IEnumerable$1(TValue), fg: '"System$Collections$Generic$IReadOnlyDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$Values"' }, fn: '"System$Collections$Generic$IReadOnlyDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$Values"' }] } }); $m($n[3].Queue$1, function (T) { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[3].IEnumerable$1(T)], pi: [{ n: "collection", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "capacity", pt: $n[0].Int32, ps: 0 }], sn: "$ctor2" }, { a: 2, n: "Clear", t: 8, sn: "clear", rt: $n[0].Void }, { a: 2, n: "Contains", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "contains", rt: $n[0].Boolean, p: [T], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { v: !0, a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: Array, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], sn: "copyTo", rt: $n[0].Void, p: [Array, $n[0].Int32] }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: System.Array.type(T), ps: 0 }, { n: "arrayIndex", pt: $n[0].Int32, ps: 1 }], sn: "copyTo$1", rt: $n[0].Void, p: [System.Array.type(T), $n[0].Int32] }, { a: 2, n: "Dequeue", t: 8, sn: "dequeue", rt: T }, { a: 2, n: "Enqueue", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "enqueue", rt: $n[0].Void, p: [T] }, { a: 1, n: "GetElement", t: 8, pi: [{ n: "i", pt: $n[0].Int32, ps: 0 }], sn: "getElement", rt: T, p: [$n[0].Int32] }, { a: 2, n: "GetEnumerator", t: 8, sn: "getEnumerator", rt: $n[3].Queue$1.Enumerator(T) }, { a: 1, n: "MoveNext", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], sn: "moveNext", rt: $n[0].Int32, p: [$n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Peek", t: 8, sn: "peek", rt: T }, { a: 1, n: "SetCapacity", t: 8, pi: [{ n: "capacity", pt: $n[0].Int32, ps: 0 }], sn: "setCapacity", rt: $n[0].Void, p: [$n[0].Int32] }, { a: 2, n: "ToArray", t: 8, sn: "toArray", rt: System.Array.type(T) }, { a: 2, n: "TrimExcess", t: 8, sn: "trimExcess", rt: $n[0].Void }, { a: 2, n: "Count", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Count", t: 8, rt: $n[0].Int32, fg: "Count", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "Count" }, { a: 2, n: "IsReadOnly", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsReadOnly", t: 8, rt: $n[0].Boolean, fg: "IsReadOnly", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "IsReadOnly" }, { a: 1, n: "DefaultCapacity", is: !0, t: 4, rt: $n[0].Int32, sn: "DefaultCapacity", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "GrowFactor", is: !0, t: 4, rt: $n[0].Int32, sn: "GrowFactor", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "MinimumGrow", is: !0, t: 4, rt: $n[0].Int32, sn: "MinimumGrow", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_array", t: 4, rt: System.Array.type(T), sn: "_array" }, { a: 1, n: "_head", t: 4, rt: $n[0].Int32, sn: "_head", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_size", t: 4, rt: $n[0].Int32, sn: "_size", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_tail", t: 4, rt: $n[0].Int32, sn: "_tail", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_version", t: 4, rt: $n[0].Int32, sn: "_version", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[3].Queue$1.Enumerator, function (T) { return { td: $n[3].Queue$1(T), att: 1048842, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 4, n: ".ctor", t: 1, p: [$n[3].Queue$1(T)], pi: [{ n: "q", pt: $n[3].Queue$1(T), ps: 0 }], sn: "$ctor1" }, { a: 2, n: "Dispose", t: 8, sn: "dispose", rt: $n[0].Void }, { a: 2, n: "MoveNext", t: 8, sn: "moveNext", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Current", t: 16, rt: T, g: { a: 2, n: "get_Current", t: 8, rt: T, fg: "Current" }, fn: "Current" }, { a: 1, n: "_currentElement", t: 4, rt: T, sn: "_currentElement" }, { a: 1, n: "_index", t: 4, rt: $n[0].Int32, sn: "_index", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_q", t: 4, rt: $n[3].Queue$1(T), sn: "_q" }, { a: 1, n: "_version", t: 4, rt: $n[0].Int32, sn: "_version", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[3].Stack$1, function (T) { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[3].IEnumerable$1(T)], pi: [{ n: "collection", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "capacity", pt: $n[0].Int32, ps: 0 }], sn: "$ctor2" }, { a: 2, n: "Clear", t: 8, sn: "clear", rt: $n[0].Void }, { a: 2, n: "Contains", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "contains", rt: $n[0].Boolean, p: [T], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: Array, ps: 0 }, { n: "arrayIndex", pt: $n[0].Int32, ps: 1 }], sn: "copyTo", rt: $n[0].Void, p: [Array, $n[0].Int32] }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: System.Array.type(T), ps: 0 }, { n: "arrayIndex", pt: $n[0].Int32, ps: 1 }], sn: "copyTo$1", rt: $n[0].Void, p: [System.Array.type(T), $n[0].Int32] }, { a: 2, n: "GetEnumerator", t: 8, sn: "getEnumerator", rt: $n[3].Stack$1.Enumerator(T) }, { a: 2, n: "Peek", t: 8, sn: "peek", rt: T }, { a: 2, n: "Pop", t: 8, sn: "pop", rt: T }, { a: 2, n: "Push", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "push", rt: $n[0].Void, p: [T] }, { a: 2, n: "ToArray", t: 8, sn: "toArray", rt: System.Array.type(T) }, { a: 2, n: "TrimExcess", t: 8, sn: "trimExcess", rt: $n[0].Void }, { a: 2, n: "Count", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Count", t: 8, rt: $n[0].Int32, fg: "Count", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "Count" }, { a: 2, n: "IsReadOnly", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsReadOnly", t: 8, rt: $n[0].Boolean, fg: "IsReadOnly", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, fn: "IsReadOnly" }, { a: 1, n: "DefaultCapacity", is: !0, t: 4, rt: $n[0].Int32, sn: "DefaultCapacity", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_array", t: 4, rt: System.Array.type(T), sn: "_array" }, { a: 1, n: "_size", t: 4, rt: $n[0].Int32, sn: "_size", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_version", t: 4, rt: $n[0].Int32, sn: "_version", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[3].Stack$1.Enumerator, function (T) { return { td: $n[3].Stack$1(T), att: 1048842, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 4, n: ".ctor", t: 1, p: [$n[3].Stack$1(T)], pi: [{ n: "stack", pt: $n[3].Stack$1(T), ps: 0 }], sn: "$ctor1" }, { a: 2, n: "Dispose", t: 8, sn: "dispose", rt: $n[0].Void }, { a: 2, n: "MoveNext", t: 8, sn: "moveNext", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Current", t: 16, rt: T, g: { a: 2, n: "get_Current", t: 8, rt: T, fg: "Current" }, fn: "Current" }, { a: 1, n: "_currentElement", t: 4, rt: T, sn: "_currentElement" }, { a: 1, n: "_index", t: 4, rt: $n[0].Int32, sn: "_index", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_stack", t: 4, rt: $n[3].Stack$1(T), sn: "_stack" }, { a: 1, n: "_version", t: 4, rt: $n[0].Int32, sn: "_version", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[3].IReadOnlyCollection$1, function (T) { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "Count", t: 16, rt: $n[0].Int32, g: { ab: !0, a: 2, n: "get_Count", t: 8, tpc: 0, def: function () { return System.Array.getCount(this, T) }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }] } }); $m($n[3].IReadOnlyList$1, function (T) { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "Item", t: 16, rt: T, p: [$n[0].Int32], i: !0, ipi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], g: { ab: !0, a: 2, n: "get_Item", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (index) { return System.Array.getItem(this, index, T) }, rt: T, p: [$n[0].Int32] } }] } }); $m($n[3].IComparer$1, function (T) { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "Compare", t: 8, pi: [{ n: "x", pt: T, ps: 0 }, { n: "y", pt: T, ps: 1 }], sn: "System$Collections$Generic$IComparer$1$" + Bridge.getTypeAlias(T) + "$compare", rt: $n[0].Int32, p: [T, T], box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[3].IList$1, function (T) { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "IndexOf", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], tpc: 0, def: function (item) { return System.Array.indexOf(this, item, 0, null, T) }, rt: $n[0].Int32, p: [T], box: function ($v) { return Bridge.box($v, System.Int32) } }, { ab: !0, a: 2, n: "Insert", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "item", pt: T, ps: 1 }], tpc: 0, def: function (index, item) { return System.Array.insert(this, index, item, T) }, rt: $n[0].Void, p: [$n[0].Int32, T] }, { ab: !0, a: 2, n: "RemoveAt", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (index) { return System.Array.removeAt(this, index, T) }, rt: $n[0].Void, p: [$n[0].Int32] }, { ab: !0, a: 2, n: "Item", t: 16, rt: T, p: [$n[0].Int32], i: !0, ipi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], g: { ab: !0, a: 2, n: "get_Item", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], tpc: 0, def: function (index) { return System.Array.getItem(this, index, T) }, rt: T, p: [$n[0].Int32] }, s: { ab: !0, a: 2, n: "set_Item", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: T, ps: 1 }], tpc: 0, def: function (index) { return System.Array.setItem(this, index, T) }, rt: $n[0].Void, p: [$n[0].Int32, T] } }] } }); $m($n[3].ISet$1, function (T) { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "Add", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(T) + "$add", rt: $n[0].Boolean, p: [T], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "ExceptWith", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(T) + "$exceptWith", rt: $n[0].Void, p: [$n[3].IEnumerable$1(T)] }, { ab: !0, a: 2, n: "IntersectWith", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(T) + "$intersectWith", rt: $n[0].Void, p: [$n[3].IEnumerable$1(T)] }, { ab: !0, a: 2, n: "IsProperSubsetOf", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(T) + "$isProperSubsetOf", rt: $n[0].Boolean, p: [$n[3].IEnumerable$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "IsProperSupersetOf", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(T) + "$isProperSupersetOf", rt: $n[0].Boolean, p: [$n[3].IEnumerable$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "IsSubsetOf", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(T) + "$isSubsetOf", rt: $n[0].Boolean, p: [$n[3].IEnumerable$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "IsSupersetOf", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(T) + "$isSupersetOf", rt: $n[0].Boolean, p: [$n[3].IEnumerable$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "Overlaps", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(T) + "$overlaps", rt: $n[0].Boolean, p: [$n[3].IEnumerable$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "SetEquals", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(T) + "$setEquals", rt: $n[0].Boolean, p: [$n[3].IEnumerable$1(T)], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "SymmetricExceptWith", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(T) + "$symmetricExceptWith", rt: $n[0].Void, p: [$n[3].IEnumerable$1(T)] }, { ab: !0, a: 2, n: "UnionWith", t: 8, pi: [{ n: "other", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "System$Collections$Generic$ISet$1$" + Bridge.getTypeAlias(T) + "$unionWith", rt: $n[0].Void, p: [$n[3].IEnumerable$1(T)] }] } }); $m($n[3].Dictionary$2, function (TKey, TValue) { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[3].IDictionary$2(TKey, TValue)], pi: [{ n: "dictionary", pt: $n[3].IDictionary$2(TKey, TValue), ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[3].IEqualityComparer$1(TKey)], pi: [{ n: "comparer", pt: $n[3].IEqualityComparer$1(TKey), ps: 0 }], def: function (comparer) { return new (System.Collections.Generic.Dictionary$2(TKey, TValue))(null, comparer) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "capacity", pt: $n[0].Int32, ps: 0 }], def: function () { return new (System.Collections.Generic.Dictionary$2(TKey, TValue)) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Object], pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[3].IDictionary$2(TKey, TValue), $n[3].IEqualityComparer$1(TKey)], pi: [{ n: "dictionary", pt: $n[3].IDictionary$2(TKey, TValue), ps: 0 }, { n: "comparer", pt: $n[3].IEqualityComparer$1(TKey), ps: 1 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32, $n[3].IEqualityComparer$1(TKey)], pi: [{ n: "capacity", pt: $n[0].Int32, ps: 0 }, { n: "comparer", pt: $n[3].IEqualityComparer$1(TKey), ps: 1 }], def: function (capacity, comparer) { return new (System.Collections.Generic.Dictionary$2(TKey, TValue))(null, comparer) } }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Object, $n[3].IEqualityComparer$1(TKey)], pi: [{ n: "obj", pt: $n[0].Object, ps: 0 }, { n: "comparer", pt: $n[3].IEqualityComparer$1(TKey), ps: 1 }], sn: "ctor" }, { a: 2, n: "Add", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }, { n: "value", pt: TValue, ps: 1 }], sn: "add", rt: $n[0].Void, p: [TKey, TValue] }, { a: 2, n: "Clear", t: 8, sn: "clear", rt: $n[0].Void }, { a: 2, n: "ContainsKey", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }], sn: "containsKey", rt: $n[0].Boolean, p: [TKey], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "ContainsValue", t: 8, pi: [{ n: "value", pt: TValue, ps: 0 }], sn: "containsValue", rt: $n[0].Boolean, p: [TValue], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Get", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }], sn: "get", rt: TValue, p: [TKey] }, { a: 2, n: "GetEnumerator", t: 8, sn: "getEnumerator", rt: $n[3].IEnumerator$1(System.Collections.Generic.KeyValuePair$2(TKey, TValue)) }, { a: 1, n: "Items", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }], sn: "items", rt: TValue, p: [TKey] }, { a: 2, n: "Remove", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }], sn: "remove", rt: $n[0].Boolean, p: [TKey], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Set", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }, { n: "value", pt: TValue, ps: 1 }], sn: "set", rt: $n[0].Void, p: [TKey, TValue] }, { a: 2, n: "TryGetValue", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }, { n: "value", out: !0, pt: TValue, ps: 1 }], sn: "tryGetValue", rt: $n[0].Boolean, p: [TKey, TValue], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Comparer", t: 16, rt: $n[3].IEqualityComparer$1(TKey), g: { a: 2, n: "get_Comparer", t: 8, rt: $n[3].IEqualityComparer$1(TKey), fg: "comparer" }, fn: "comparer" }, { a: 2, n: "Count", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Count", t: 8, rt: $n[0].Int32, fg: "count", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "count" }, { a: 2, n: "IsReadOnly", t: 16, rt: $n[0].Boolean, g: { a: 2, n: "get_IsReadOnly", t: 8, tpc: 0, def: function () { return this.getIsReadOnly() }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }, { a: 2, n: "Item", t: 16, rt: TValue, p: [TKey], i: !0, ipi: [{ n: "key", pt: TKey, ps: 0 }], g: { a: 2, n: "get_Item", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }], sn: "get", rt: TValue, p: [TKey] }, s: { a: 2, n: "set_Item", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }, { n: "value", pt: TValue, ps: 1 }], sn: "set", rt: $n[0].Void, p: [TKey, TValue] } }, { a: 2, n: "Keys", t: 16, rt: $n[3].ICollection$1(TKey), g: { a: 2, n: "get_Keys", t: 8, tpc: 0, def: function () { return this.getKeys() }, rt: $n[3].ICollection$1(TKey) } }, { a: 2, n: "Values", t: 16, rt: $n[3].ICollection$1(TValue), g: { a: 2, n: "get_Values", t: 8, tpc: 0, def: function () { return this.getValues() }, rt: $n[3].ICollection$1(TValue) } }] } }); $m($n[3].ICollection$1, function (T) { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "Add", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], tpc: 0, def: function (item) { return System.Array.add(this, item, T) }, rt: $n[0].Void, p: [T] }, { ab: !0, a: 2, n: "Clear", t: 8, tpc: 0, def: function () { return System.Array.clear(this, T) }, rt: $n[0].Void }, { ab: !0, a: 2, n: "Contains", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], tpc: 0, def: function (item) { return System.Array.contains(this, item, T) }, rt: $n[0].Boolean, p: [T], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: System.Array.type(T), ps: 0 }, { n: "arrayIndex", pt: $n[0].Int32, ps: 1 }], tpc: 0, def: function (array, arrayIndex) { return System.Array.copyTo(this, array, arrayIndex, T) }, rt: $n[0].Void, p: [System.Array.type(T), $n[0].Int32] }, { ab: !0, a: 2, n: "Remove", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], tpc: 0, def: function (item) { return System.Array.remove(this, item, T) }, rt: $n[0].Boolean, p: [T], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "Count", t: 16, rt: $n[0].Int32, g: { ab: !0, a: 2, n: "get_Count", t: 8, tpc: 0, def: function () { return System.Array.getCount(this, T) }, rt: $n[0].Int32, box: function ($v) { return Bridge.box($v, System.Int32) } } }, { ab: !0, a: 2, n: "IsReadOnly", t: 16, rt: $n[0].Boolean, g: { ab: !0, a: 2, n: "get_IsReadOnly", t: 8, tpc: 0, def: function () { return System.Array.getIsReadOnly(this, T) }, rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } } }] } }); $m($n[3].IDictionary$2, function (TKey, TValue) { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "Add", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }, { n: "value", pt: TValue, ps: 1 }], sn: "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$add", rt: $n[0].Void, p: [TKey, TValue] }, { ab: !0, a: 2, n: "ContainsKey", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }], sn: "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$containsKey", rt: $n[0].Boolean, p: [TKey], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "Remove", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }], sn: "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$remove", rt: $n[0].Boolean, p: [TKey], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "TryGetValue", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }, { n: "value", out: !0, pt: TValue, ps: 1 }], sn: "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$tryGetValue", rt: $n[0].Boolean, p: [TKey, TValue], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "Item", t: 16, rt: TValue, p: [TKey], i: !0, ipi: [{ n: "key", pt: TKey, ps: 0 }], g: { ab: !0, a: 2, n: "get_Item", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }], sn: "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$getItem", rt: TValue, p: [TKey] }, s: { ab: !0, a: 2, n: "set_Item", t: 8, pi: [{ n: "key", pt: TKey, ps: 0 }, { n: "value", pt: TValue, ps: 1 }], sn: "System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$setItem", rt: $n[0].Void, p: [TKey, TValue] } }, { ab: !0, a: 2, n: "Keys", t: 16, rt: $n[3].ICollection$1(TKey), g: { ab: !0, a: 2, n: "get_Keys", t: 8, rt: $n[3].ICollection$1(TKey), fg: '"System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$Keys"' }, fn: '"System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$Keys"' }, { ab: !0, a: 2, n: "Values", t: 16, rt: $n[3].ICollection$1(TValue), g: { ab: !0, a: 2, n: "get_Values", t: 8, rt: $n[3].ICollection$1(TValue), fg: '"System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$Values"' }, fn: '"System$Collections$Generic$IDictionary$2$" + Bridge.getTypeAlias(TKey) + "$" + Bridge.getTypeAlias(TValue) + "$Values"' }] } }); $m($n[3].IEnumerable$1, function (T) { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "GetEnumerator", t: 8, tpc: 0, def: function () { return Bridge.getEnumerator(this, T) }, rt: $n[3].IEnumerator$1(T) }] } }); $m($n[3].IEnumerator$1, function (T) { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "Current", t: 16, rt: T, g: { ab: !0, a: 2, n: "get_Current", t: 8, rt: T, fg: '"System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(T) + "$Current$1"' }, fn: '"System$Collections$Generic$IEnumerator$1$" + Bridge.getTypeAlias(T) + "$Current$1"' }] } }); $m($n[3].IEqualityComparer$1, function (T) { return { att: 161, a: 2, m: [{ ab: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "x", pt: T, ps: 0 }, { n: "y", pt: T, ps: 1 }], sn: "System$Collections$Generic$IEqualityComparer$1$" + Bridge.getTypeAlias(T) + "$equals2", rt: $n[0].Boolean, p: [T, T], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { ab: !0, a: 2, n: "GetHashCode", t: 8, pi: [{ n: "obj", pt: T, ps: 0 }], sn: "System$Collections$Generic$IEqualityComparer$1$" + Bridge.getTypeAlias(T) + "$getHashCode2", rt: $n[0].Int32, p: [T], box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[3].EqualityComparer$1, function (T) { return { att: 1048705, a: 2, m: [{ a: 3, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { v: !0, a: 2, n: "Equals", t: 8, pi: [{ n: "x", pt: T, ps: 0 }, { n: "y", pt: T, ps: 1 }], sn: "equals2", rt: $n[0].Boolean, p: [T, T], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { v: !0, a: 2, n: "GetHashCode", t: 8, pi: [{ n: "obj", pt: T, ps: 0 }], sn: "getHashCode2", rt: $n[0].Int32, p: [T], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Default", is: !0, t: 16, rt: $n[3].EqualityComparer$1(T), g: { a: 2, n: "get_Default", is: !0, t: 8, tpc: 0, def: function () { return System.Collections.Generic.EqualityComparer$1(T).def }, rt: $n[3].EqualityComparer$1(T) } }] } }); $m($n[3].KeyValuePair$2, function (TKey, TValue) { return { att: 1048841, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [TKey, TValue], pi: [{ n: "key", pt: TKey, ps: 0 }, { n: "value", pt: TValue, ps: 1 }], sn: "ctor" }, { a: 2, n: "Key", t: 16, rt: TKey, g: { a: 2, n: "get_Key", t: 8, rt: TKey, fg: "key" }, fn: "key" }, { a: 2, n: "Value", t: 16, rt: TValue, g: { a: 2, n: "get_Value", t: 8, rt: TValue, fg: "value" }, fn: "value" }] } }); $m($n[3].List$1, function (T) { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[3].IEnumerable$1(T)], pi: [{ n: "collection", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "$ctor1" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].Int32], pi: [{ n: "capacity", pt: $n[0].Int32, ps: 0 }], sn: "$ctor2" }, { a: 2, n: "Add", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "add", rt: $n[0].Void, p: [T] }, { a: 2, n: "AddRange", t: 8, pi: [{ n: "collection", pt: $n[3].IEnumerable$1(T), ps: 0 }], sn: "addRange", rt: $n[0].Void, p: [$n[3].IEnumerable$1(T)] }, { a: 2, n: "AsReadOnly", t: 8, sn: "asReadOnly", rt: $n[4].ReadOnlyCollection$1(T) }, { a: 2, n: "BinarySearch", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "binarySearch", rt: $n[0].Int32, p: [T], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "BinarySearch", t: 8, pi: [{ n: "item", pt: T, ps: 0 }, { n: "comparer", pt: $n[3].IComparer$1(T), ps: 1 }], sn: "binarySearch$1", rt: $n[0].Int32, p: [T, $n[3].IComparer$1(T)], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "BinarySearch", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "count", pt: $n[0].Int32, ps: 1 }, { n: "item", pt: T, ps: 2 }, { n: "comparer", pt: $n[3].IComparer$1(T), ps: 3 }], sn: "binarySearch$2", rt: $n[0].Int32, p: [$n[0].Int32, $n[0].Int32, T, $n[3].IComparer$1(T)], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Clear", t: 8, sn: "clear", rt: $n[0].Void }, { a: 2, n: "Contains", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "contains", rt: $n[0].Boolean, p: [T], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "ConvertAll", t: 8, pi: [{ n: "converter", pt: Function, ps: 0 }], tpc: 1, tprm: ["TOutput"], sn: "convertAll", rt: $n[3].List$1(System.Object), p: [Function] }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: System.Array.type(T), ps: 0 }], sn: "copyTo$1", rt: $n[0].Void, p: [System.Array.type(T)] }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "array", pt: System.Array.type(T), ps: 0 }, { n: "arrayIndex", pt: $n[0].Int32, ps: 1 }], sn: "copyTo", rt: $n[0].Void, p: [System.Array.type(T), $n[0].Int32] }, { a: 2, n: "CopyTo", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "array", pt: System.Array.type(T), ps: 1 }, { n: "arrayIndex", pt: $n[0].Int32, ps: 2 }, { n: "count", pt: $n[0].Int32, ps: 3 }], sn: "copyTo$2", rt: $n[0].Void, p: [$n[0].Int32, System.Array.type(T), $n[0].Int32, $n[0].Int32] }, { a: 1, n: "EnsureCapacity", t: 8, pi: [{ n: "min", pt: $n[0].Int32, ps: 0 }], sn: "ensureCapacity", rt: $n[0].Void, p: [$n[0].Int32] }, { a: 2, n: "Exists", t: 8, pi: [{ n: "match", pt: Function, ps: 0 }], sn: "exists", rt: $n[0].Boolean, p: [Function], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Find", t: 8, pi: [{ n: "match", pt: Function, ps: 0 }], sn: "find", rt: T, p: [Function] }, { a: 2, n: "FindAll", t: 8, pi: [{ n: "match", pt: Function, ps: 0 }], sn: "findAll", rt: $n[3].List$1(T), p: [Function] }, { a: 2, n: "FindIndex", t: 8, pi: [{ n: "match", pt: Function, ps: 0 }], sn: "findIndex$2", rt: $n[0].Int32, p: [Function], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "FindIndex", t: 8, pi: [{ n: "startIndex", pt: $n[0].Int32, ps: 0 }, { n: "match", pt: Function, ps: 1 }], sn: "findIndex$1", rt: $n[0].Int32, p: [$n[0].Int32, Function], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "FindIndex", t: 8, pi: [{ n: "startIndex", pt: $n[0].Int32, ps: 0 }, { n: "count", pt: $n[0].Int32, ps: 1 }, { n: "match", pt: Function, ps: 2 }], sn: "findIndex", rt: $n[0].Int32, p: [$n[0].Int32, $n[0].Int32, Function], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "FindLast", t: 8, pi: [{ n: "match", pt: Function, ps: 0 }], sn: "findLast", rt: T, p: [Function] }, { a: 2, n: "FindLastIndex", t: 8, pi: [{ n: "match", pt: Function, ps: 0 }], sn: "findLastIndex$2", rt: $n[0].Int32, p: [Function], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "FindLastIndex", t: 8, pi: [{ n: "startIndex", pt: $n[0].Int32, ps: 0 }, { n: "match", pt: Function, ps: 1 }], sn: "findLastIndex$1", rt: $n[0].Int32, p: [$n[0].Int32, Function], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "FindLastIndex", t: 8, pi: [{ n: "startIndex", pt: $n[0].Int32, ps: 0 }, { n: "count", pt: $n[0].Int32, ps: 1 }, { n: "match", pt: Function, ps: 2 }], sn: "findLastIndex", rt: $n[0].Int32, p: [$n[0].Int32, $n[0].Int32, Function], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "ForEach", t: 8, pi: [{ n: "action", pt: Function, ps: 0 }], sn: "forEach", rt: $n[0].Void, p: [Function] }, { a: 2, n: "GetEnumerator", t: 8, sn: "getEnumerator", rt: $n[3].List$1.Enumerator(T) }, { a: 2, n: "GetRange", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "count", pt: $n[0].Int32, ps: 1 }], sn: "getRange", rt: $n[3].List$1(T), p: [$n[0].Int32, $n[0].Int32] }, { a: 2, n: "IndexOf", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "indexOf", rt: $n[0].Int32, p: [T], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IndexOf", t: 8, pi: [{ n: "item", pt: T, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], sn: "indexOf$1", rt: $n[0].Int32, p: [T, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "IndexOf", t: 8, pi: [{ n: "item", pt: T, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "indexOf$2", rt: $n[0].Int32, p: [T, $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Insert", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "item", pt: T, ps: 1 }], sn: "insert", rt: $n[0].Void, p: [$n[0].Int32, T] }, { a: 2, n: "InsertRange", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "collection", pt: $n[3].IEnumerable$1(T), ps: 1 }], sn: "insertRange", rt: $n[0].Void, p: [$n[0].Int32, $n[3].IEnumerable$1(T)] }, { a: 1, n: "IsCompatibleObject", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Object, ps: 0 }], sn: "isCompatibleObject", rt: $n[0].Boolean, p: [$n[0].Object], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "LastIndexOf", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "lastIndexOf", rt: $n[0].Int32, p: [T], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "LastIndexOf", t: 8, pi: [{ n: "item", pt: T, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }], sn: "lastIndexOf$1", rt: $n[0].Int32, p: [T, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "LastIndexOf", t: 8, pi: [{ n: "item", pt: T, ps: 0 }, { n: "index", pt: $n[0].Int32, ps: 1 }, { n: "count", pt: $n[0].Int32, ps: 2 }], sn: "lastIndexOf$2", rt: $n[0].Int32, p: [T, $n[0].Int32, $n[0].Int32], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "Remove", t: 8, pi: [{ n: "item", pt: T, ps: 0 }], sn: "remove", rt: $n[0].Boolean, p: [T], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "RemoveAll", t: 8, pi: [{ n: "match", pt: Function, ps: 0 }], sn: "removeAll", rt: $n[0].Int32, p: [Function], box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 2, n: "RemoveAt", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], sn: "removeAt", rt: $n[0].Void, p: [$n[0].Int32] }, { a: 2, n: "RemoveRange", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "count", pt: $n[0].Int32, ps: 1 }], sn: "removeRange", rt: $n[0].Void, p: [$n[0].Int32, $n[0].Int32] }, { a: 2, n: "Reverse", t: 8, sn: "reverse", rt: $n[0].Void }, { a: 2, n: "Reverse", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "count", pt: $n[0].Int32, ps: 1 }], sn: "reverse$1", rt: $n[0].Void, p: [$n[0].Int32, $n[0].Int32] }, { a: 2, n: "Sort", t: 8, sn: "sort", rt: $n[0].Void }, { a: 2, n: "Sort", t: 8, pi: [{ n: "comparer", pt: $n[3].IComparer$1(T), ps: 0 }], sn: "sort$1", rt: $n[0].Void, p: [$n[3].IComparer$1(T)] }, { a: 2, n: "Sort", t: 8, pi: [{ n: "comparison", pt: Function, ps: 0 }], sn: "sort$2", rt: $n[0].Void, p: [Function] }, { a: 2, n: "Sort", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "count", pt: $n[0].Int32, ps: 1 }, { n: "comparer", pt: $n[3].IComparer$1(T), ps: 2 }], sn: "sort$3", rt: $n[0].Void, p: [$n[0].Int32, $n[0].Int32, $n[3].IComparer$1(T)] }, { a: 2, n: "ToArray", t: 8, sn: "toArray", rt: System.Array.type(T) }, { a: 2, n: "TrimExcess", t: 8, sn: "trimExcess", rt: $n[0].Void }, { a: 2, n: "TrueForAll", t: 8, pi: [{ n: "match", pt: Function, ps: 0 }], sn: "trueForAll", rt: $n[0].Boolean, p: [Function], box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "toJSON", t: 8, sn: "toJSON", rt: $n[0].Object }, { a: 2, n: "Capacity", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Capacity", t: 8, rt: $n[0].Int32, fg: "Capacity", box: function ($v) { return Bridge.box($v, System.Int32) } }, s: { a: 2, n: "set_Capacity", t: 8, p: [$n[0].Int32], rt: $n[0].Void, fs: "Capacity" }, fn: "Capacity" }, { a: 2, n: "Count", t: 16, rt: $n[0].Int32, g: { a: 2, n: "get_Count", t: 8, rt: $n[0].Int32, fg: "Count", box: function ($v) { return Bridge.box($v, System.Int32) } }, fn: "Count" }, { a: 2, n: "Item", t: 16, rt: T, p: [$n[0].Int32], i: !0, ipi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], g: { a: 2, n: "get_Item", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }], sn: "getItem", rt: T, p: [$n[0].Int32] }, s: { a: 2, n: "set_Item", t: 8, pi: [{ n: "index", pt: $n[0].Int32, ps: 0 }, { n: "value", pt: T, ps: 1 }], sn: "setItem", rt: $n[0].Void, p: [$n[0].Int32, T] } }, { a: 1, n: "_defaultCapacity", is: !0, t: 4, rt: $n[0].Int32, sn: "_defaultCapacity", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_emptyArray", is: !0, t: 4, rt: System.Array.type(T), sn: "_emptyArray", ro: !0 }, { a: 1, n: "_items", t: 4, rt: System.Array.type(T), sn: "_items" }, { a: 1, n: "_size", t: 4, rt: $n[0].Int32, sn: "_size", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "_version", t: 4, rt: $n[0].Int32, sn: "_version", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[3].List$1.Enumerator, function (T) { return { td: $n[3].List$1(T), att: 1057034, a: 2, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 4, n: ".ctor", t: 1, p: [$n[3].List$1(T)], pi: [{ n: "list", pt: $n[3].List$1(T), ps: 0 }], sn: "$ctor1" }, { a: 2, n: "Dispose", t: 8, sn: "dispose", rt: $n[0].Void }, { a: 2, n: "MoveNext", t: 8, sn: "moveNext", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "MoveNextRare", t: 8, sn: "moveNextRare", rt: $n[0].Boolean, box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 2, n: "Current", t: 16, rt: T, g: { a: 2, n: "get_Current", t: 8, rt: T, fg: "Current" }, fn: "Current" }, { a: 1, n: "current", t: 4, rt: T, sn: "current" }, { a: 1, n: "index", t: 4, rt: $n[0].Int32, sn: "index", box: function ($v) { return Bridge.box($v, System.Int32) } }, { a: 1, n: "list", t: 4, rt: $n[3].List$1(T), sn: "list" }, { a: 1, n: "version", t: 4, rt: $n[0].Int32, sn: "version", box: function ($v) { return Bridge.box($v, System.Int32) } }] } }); $m($n[3].KeyNotFoundException, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String], pi: [{ n: "message", pt: $n[0].String, ps: 0 }], sn: "ctor" }, { a: 2, n: ".ctor", t: 1, p: [$n[0].String, $n[0].Exception], pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "innerException", pt: $n[0].Exception, ps: 1 }], sn: "ctor" }] } }); $m($n[12].FormattableStringFactory, function () { return { att: 1048961, a: 2, s: !0, m: [{ a: 2, n: "Create", is: !0, t: 8, pi: [{ n: "format", pt: $n[0].String, ps: 0 }, { n: "args", ip: !0, pt: $n[0].Array.type(System.Object), ps: 1 }], sn: "create", rt: $n[0].FormattableString, p: [$n[0].String, $n[0].Array.type(System.Object)] }] } }); $m(Bridge.Console, function () { return { att: 1048577, a: 2, m: [{ a: 1, n: ".ctor", t: 1, sn: "ctor" }, { a: 1, n: "BuildConsoleMessage", t: 8, pi: [{ n: "message", pt: $n[0].String, ps: 0 }, { n: "messageType", pt: Bridge.Console.MessageType, ps: 1 }], sn: "buildConsoleMessage", rt: Bridge.Console.Element, p: [$n[0].String, Bridge.Console.MessageType] }, { a: 2, n: "Clear", is: !0, t: 8, sn: "clear", rt: $n[0].Void }, { a: 2, n: "Close", t: 8, sn: "close", rt: $n[0].Void }, { a: 2, n: "Debug", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], sn: "debug", rt: $n[0].Void, p: [$n[0].String] }, { a: 2, n: "Error", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].String, ps: 0 }], sn: "error", rt: $n[0].Void, p: [$n[0].String] }, { a: 2, n: "Hide", is: !0, t: 8, sn: "hide", rt: $n[0].Void }, { a: 2, n: "HideTooltip", t: 8, sn: "hideTooltip", rt: $n[0].Void }, { a: 1, n: "Init", t: 8, pi: [{ n: "reinit", dv: !1, o: !0, pt: $n[0].Boolean, ps: 0 }], sn: "init", rt: $n[0].Void, p: [$n[0].Boolean] }, { a: 2, n: "InitConsoleFunctions", is: !0, t: 8, sn: "initConsoleFunctions", rt: $n[0].Void }, { a: 2, n: "Log", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Object, ps: 0 }, { n: "newLine", dv: !0, o: !0, pt: $n[0].Boolean, ps: 1 }], sn: "log", rt: $n[0].Void, p: [$n[0].Object, $n[0].Boolean] }, { a: 1, n: "LogBase", is: !0, t: 8, pi: [{ n: "value", pt: $n[0].Object, ps: 0 }, { n: "newLine", dv: !0, o: !0, pt: $n[0].Boolean, ps: 1 }, { n: "messageType", dv: 0, o: !0, pt: Bridge.Console.MessageType, ps: 2 }], sn: "logBase", rt: $n[0].Void, p: [$n[0].Object, $n[0].Boolean, Bridge.Console.MessageType] }, { a: 1, n: "Obj2Css", t: 8, pi: [{ n: "obj", pt: $n[3].Dictionary$2(System.String, System.String), ps: 0 }], sn: "obj2Css", rt: $n[0].String, p: [$n[3].Dictionary$2(System.String, System.String)] }, { a: 1, n: "SetAttributes", t: 8, pi: [{ n: "el", pt: Bridge.Console.Element, ps: 0 }, { n: "attrs", pt: $n[3].Dictionary$2(System.String, System.String), ps: 1 }], sn: "setAttributes", rt: $n[0].Void, p: [Bridge.Console.Element, $n[3].Dictionary$2(System.String, System.String)] }, { a: 2, n: "Show", is: !0, t: 8, sn: "show", rt: $n[0].Void }, { a: 2, n: "ShowTooltip", t: 8, sn: "showTooltip", rt: $n[0].Void }, { a: 2, n: "Toggle", is: !0, t: 8, sn: "toggle", rt: $n[0].Void }, { a: 1, n: "UnwrapBodyContent", t: 8, sn: "unwrapBodyContent", rt: $n[0].Void }, { a: 1, n: "WrapBodyContent", t: 8, sn: "wrapBodyContent", rt: $n[0].Void }, { a: 2, n: "Instance", is: !0, t: 16, rt: Bridge.Console, g: { a: 2, n: "get_Instance", t: 8, rt: Bridge.Console, fg: "instance", is: !0 }, fn: "instance" }, { a: 1, n: "BODY_WRAPPER_ID", is: !0, t: 4, rt: $n[0].String, sn: "BODY_WRAPPER_ID" }, { a: 1, n: "BridgeConsoleLabel", t: 4, rt: Bridge.Console.Element, sn: "bridgeConsoleLabel" }, { a: 1, n: "BridgeIcon", t: 4, rt: Bridge.Console.Element, sn: "bridgeIcon" }, { a: 1, n: "BridgeIconPath", t: 4, rt: Bridge.Console.Element, sn: "bridgeIconPath" }, { a: 2, n: "BufferedOutput", t: 4, rt: $n[0].String, sn: "bufferedOutput" }, { a: 1, n: "CONSOLE_MESSAGES_ID", is: !0, t: 4, rt: $n[0].String, sn: "CONSOLE_MESSAGES_ID" }, { a: 1, n: "CloseBtn", t: 4, rt: Bridge.Console.Element, sn: "closeBtn" }, { a: 1, n: "CloseIcon", t: 4, rt: Bridge.Console.Element, sn: "closeIcon" }, { a: 1, n: "CloseIconPath", t: 4, rt: Bridge.Console.Element, sn: "closeIconPath" }, { a: 1, n: "ConsoleBody", t: 4, rt: Bridge.Console.Element, sn: "consoleBody" }, { a: 1, n: "ConsoleHeader", t: 4, rt: Bridge.Console.Element, sn: "consoleHeader" }, { a: 1, n: "ConsoleMessages", t: 4, rt: Bridge.Console.Element, sn: "consoleMessages" }, { a: 1, n: "ConsoleWrap", t: 4, rt: Bridge.Console.Element, sn: "consoleWrap" }, { a: 2, n: "CurrentMessageElement", t: 4, rt: $n[0].Object, sn: "currentMessageElement" }, { a: 1, n: "Hidden", t: 4, rt: $n[0].Boolean, sn: "hidden", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "IsNewLine", t: 4, rt: $n[0].Boolean, sn: "isNewLine", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, { a: 1, n: "Position", is: !0, t: 4, rt: $n[0].String, sn: "position" }, { a: 1, n: "Tooltip", t: 4, rt: Bridge.Console.Element, sn: "tooltip" }, { a: 1, n: "consoleHeaderHeight", t: 4, rt: $n[0].String, sn: "consoleHeaderHeight" }, { a: 1, n: "consoleHeight", t: 4, rt: $n[0].String, sn: "consoleHeight" }, { a: 1, n: "instance", is: !0, t: 4, rt: Bridge.Console, sn: "instance$1" }, { a: 1, n: "svgNS", t: 4, rt: $n[0].String, sn: "svgNS" }] } }); $m($n[13].SystemAssemblyVersion, function () { return { att: 1048576, a: 4, m: [{ a: 2, isSynthetic: !0, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "Version", is: !0, t: 8, sn: "version", rt: $n[0].Void }] } }); Bridge.assembly("ContributionsCalculator_Engine", function () { "use strict"; Bridge.define("ContributionsCalculator_Engine.Calculator", { statics: { methods: { GetScenario: function (ThisPerson, ThisContributionsInput) { var TotalVoluntaryContributions, ConcessionalContributions, NonConcessionalContributions, RemainingConcessionalContributionsAvailable = System.Decimal.max(ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.ConcessionalContributionsThreshold.sub(ThisPerson.GrossAnnualSalary.mul(ThisPerson.EmployerContributionRate)), System.Decimal(0)), MaximumEligiblePersonalContribution = ContributionsCalculator_Engine.CoContributionBasis.MaximumAssessablePersonalContribution(ThisPerson.GrossAnnualSalary), ThisScenario; return TotalVoluntaryContributions = ThisContributionsInput.TotalContributions, NonConcessionalContributions = System.Decimal.min(TotalVoluntaryContributions, MaximumEligiblePersonalContribution), ConcessionalContributions = System.Decimal.min(RemainingConcessionalContributionsAvailable, TotalVoluntaryContributions.sub(NonConcessionalContributions)), NonConcessionalContributions = TotalVoluntaryContributions.sub(ConcessionalContributions), ThisScenario = new ContributionsCalculator_Engine.ContributionScenario, ThisScenario.VoluntaryContributions = ThisContributionsInput.TotalContributions, ThisScenario.OneOffContributionScenario = ThisContributionsInput.OneOffContributionScenario, ThisScenario.GrossAnnualSalary = ThisPerson.GrossAnnualSalary, ThisScenario.IncomeTaxWithNoContributions = ContributionsCalculator_Engine.PAYGIncomeTaxBasis.TaxPayable(ThisPerson.GrossAnnualSalary), ThisScenario.EmployerSuperannuationContributions = ThisPerson.GrossAnnualSalary.mul(ThisPerson.EmployerContributionRate), ThisScenario.ContributionsTaxOnEmployerContributions = ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.ConcessionalContributionTax(ThisPerson.GrossAnnualSalary, ThisScenario.EmployerSuperannuationContributions, System.Decimal(0)), ThisScenario.VoluntaryConcessionalContributions = ConcessionalContributions, ThisScenario.ContributionsTaxOnTotalConcessionalContributions = ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.ConcessionalContributionTax(ThisPerson.GrossAnnualSalary.sub(ConcessionalContributions), ThisScenario.EmployerSuperannuationContributions, ConcessionalContributions), ThisScenario.IncomeTaxAfterVoluntaryConcessionalContributions = ContributionsCalculator_Engine.PAYGIncomeTaxBasis.TaxPayable(ThisPerson.GrossAnnualSalary.sub(ConcessionalContributions)), ThisScenario.VoluntaryNonConcessionalContributions = NonConcessionalContributions, ThisScenario.CoContributions = ContributionsCalculator_Engine.CoContributionBasis.CoContributions(ThisPerson.GrossAnnualSalary, NonConcessionalContributions), ThisContributionsInput.TotalContributions.add(ThisScenario.EmployerSuperannuationContributions).gt(ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.ConcessionalContributionsThreshold) ? ThisScenario.PreTaxScenario_PermittedWithinConcessionalContributionLimits = !1 : (ThisScenario.PreTaxScenario_PermittedWithinConcessionalContributionLimits = !0, ThisScenario.PreTaxScenario_ContributionsTaxOnTotalConcessionalContributions = ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.ConcessionalContributionTax(ThisPerson.GrossAnnualSalary.sub(TotalVoluntaryContributions), ThisScenario.EmployerSuperannuationContributions, TotalVoluntaryContributions), ThisScenario.PreTaxScenario_IncomeTaxAfterVoluntaryContributions = ContributionsCalculator_Engine.PAYGIncomeTaxBasis.TaxPayable(ThisPerson.GrossAnnualSalary.sub(TotalVoluntaryContributions))), ThisScenario.PostTaxScenario_CoContributions = ContributionsCalculator_Engine.CoContributionBasis.CoContributions(ThisPerson.GrossAnnualSalary, ThisContributionsInput.TotalContributions), ThisScenario } } } }); Bridge.define("ContributionsCalculator_Engine.CoContributionBasis", { statics: { fields: { c_LowerIncomeThreshold: System.Decimal(0), c_UpperIncomeThreshold: System.Decimal(0), c_UpperContributionCap: System.Decimal(0), c_CoContributionRate: System.Decimal(0) }, props: { LowerIncomeThreshold: { get: function () { return ContributionsCalculator_Engine.CoContributionBasis.c_LowerIncomeThreshold } }, UpperIncomeThreshold: { get: function () { return ContributionsCalculator_Engine.CoContributionBasis.c_UpperIncomeThreshold } } }, ctors: { init: function () { this.c_LowerIncomeThreshold = System.Decimal(45400); this.c_UpperIncomeThreshold = System.Decimal(60400); this.c_UpperContributionCap = System.Decimal(1e3); this.c_CoContributionRate = System.Decimal(.5) } }, methods: { CoContributions: function (Salary, NonConcessionalContributions) { var MaximumAssessableContribution; return MaximumAssessableContribution = ContributionsCalculator_Engine.CoContributionBasis.MaximumAssessablePersonalContribution(Salary), System.Decimal.min(NonConcessionalContributions, MaximumAssessableContribution).mul(ContributionsCalculator_Engine.CoContributionBasis.c_CoContributionRate) }, MaximumAssessablePersonalContribution: function (Salary) { var IncomeTest; return IncomeTest = System.Decimal(1).sub(System.Decimal.min(System.Decimal.max(Salary.sub(ContributionsCalculator_Engine.CoContributionBasis.c_LowerIncomeThreshold).div(ContributionsCalculator_Engine.CoContributionBasis.c_UpperIncomeThreshold.sub(ContributionsCalculator_Engine.CoContributionBasis.c_LowerIncomeThreshold)), System.Decimal(0)), System.Decimal(1))), ContributionsCalculator_Engine.CoContributionBasis.c_UpperContributionCap.mul(IncomeTest) } } } }); Bridge.define("ContributionsCalculator_Engine.ContributionScenario", { fields: { GrossAnnualSalary: System.Decimal(0), IncomeTaxWithNoContributions: System.Decimal(0), EmployerSuperannuationContributions: System.Decimal(0), ContributionsTaxOnEmployerContributions: System.Decimal(0), OneOffContributionScenario: !1, VoluntaryContributions: System.Decimal(0), VoluntaryConcessionalContributions: System.Decimal(0), ContributionsTaxOnTotalConcessionalContributions: System.Decimal(0), IncomeTaxAfterVoluntaryConcessionalContributions: System.Decimal(0), VoluntaryNonConcessionalContributions: System.Decimal(0), CoContributions: System.Decimal(0), PreTaxScenario_PermittedWithinConcessionalContributionLimits: !1, PreTaxScenario_IncomeTaxAfterVoluntaryContributions: System.Decimal(0), PreTaxScenario_ContributionsTaxOnTotalConcessionalContributions: System.Decimal(0), PostTaxScenario_CoContributions: System.Decimal(0) }, ctors: { ctor: function () { this.$initialize(); this.GrossAnnualSalary = System.Decimal(0); this.IncomeTaxWithNoContributions = System.Decimal(0); this.EmployerSuperannuationContributions = System.Decimal(0); this.ContributionsTaxOnEmployerContributions = System.Decimal(0); this.VoluntaryContributions = System.Decimal(0); this.VoluntaryConcessionalContributions = System.Decimal(0); this.ContributionsTaxOnTotalConcessionalContributions = System.Decimal(0); this.IncomeTaxAfterVoluntaryConcessionalContributions = System.Decimal(0); this.VoluntaryNonConcessionalContributions = System.Decimal(0); this.CoContributions = System.Decimal(0); this.PostTaxScenario_CoContributions = System.Decimal(0) } }, methods: { TakeHomePayWithNoVoluntaryContributions: function () { return this.GrossAnnualSalary.sub(this.IncomeTaxWithNoContributions) }, GrossSuperannuationContributionsWithNoVoluntaryContributions: function () { return this.EmployerSuperannuationContributions }, NetSuperannuationContributionsWithNoVoluntaryContributions: function () { return this.EmployerSuperannuationContributions.sub(this.ContributionsTaxOnEmployerContributions) }, GrossSalaryAfterVoluntaryContributions: function () { return this.GrossAnnualSalary.sub(this.VoluntaryConcessionalContributions) }, TakeHomePayWithVoluntaryContributions: function () { return this.GrossAnnualSalary.sub(this.VoluntaryConcessionalContributions).sub(this.IncomeTaxAfterVoluntaryConcessionalContributions).sub(this.VoluntaryNonConcessionalContributions) }, ReductionInTakeHomePayDueToContributions: function () { return this.TakeHomePayWithNoVoluntaryContributions().sub(this.TakeHomePayWithVoluntaryContributions()) }, IncomeAndContributionsTaxSavings: function () { return this.IncomeTaxWithNoContributions.sub(this.IncomeTaxAfterVoluntaryConcessionalContributions).sub(this.ContributionsTaxOnVoluntaryContributions()) }, GrossSuperannuationContributionsWithVoluntaryContributions: function () { return this.EmployerSuperannuationContributions.add(this.VoluntaryConcessionalContributions).add(this.VoluntaryNonConcessionalContributions).add(this.CoContributions) }, NetSuperannuationContributionsWithVoluntaryContributions: function () { return this.EmployerSuperannuationContributions.add(this.VoluntaryContributions).sub(this.ContributionsTaxOnTotalConcessionalContributions).add(this.CoContributions) }, ContributionsTaxOnVoluntaryContributions: function () { return this.ContributionsTaxOnTotalConcessionalContributions.sub(this.ContributionsTaxOnEmployerContributions) }, NetVoluntaryEmployeeSuperannuationContributions: function () { return this.VoluntaryContributions.sub(this.ContributionsTaxOnVoluntaryContributions()) }, PostTaxScenario_TakeHomePay: function () { return this.GrossAnnualSalary.sub(this.IncomeTaxWithNoContributions).sub(this.VoluntaryContributions) }, PostTaxScenario_ReductionInTakeHomePay: function () { return this.VoluntaryContributions }, PreTaxScenario_ContributionsTaxOnVoluntaryContributions: function () { return this.PreTaxScenario_ContributionsTaxOnTotalConcessionalContributions.sub(this.ContributionsTaxOnEmployerContributions) }, PreTaxScenario_TakeHomePay: function () { return this.GrossAnnualSalary.sub(this.VoluntaryContributions).sub(this.PreTaxScenario_IncomeTaxAfterVoluntaryContributions) }, PreTaxScenario_ReductionInTakeHomePay: function () { return this.TakeHomePayWithNoVoluntaryContributions().sub(this.PreTaxScenario_TakeHomePay()) } } }); Bridge.define("ContributionsCalculator_Engine.ContributionsInput", { fields: { TotalContributions: System.Decimal(0), OneOffContributionScenario: !1 }, ctors: { ctor: function (Contributions, OneOffContribution) { this.$initialize(); this.TotalContributions = Contributions; this.OneOffContributionScenario = OneOffContribution } } }); Bridge.define("ContributionsCalculator_Engine.PAYGIncomeTaxBasis", { statics: { fields: { IncomeTaxBands: null, IncomeTaxRates: null, IncomeTaxToStartOfBand: null, MedicareLevy_LowerThreshold: System.Decimal(0), MedicareLevy_UpperThreshold: System.Decimal(0), MedicareLevy_PhaseInRate: System.Decimal(0), MedicareLevy_Rate: System.Decimal(0), MaximumMarginalTaxRateIncludingMedicareLevy: System.Decimal(0), LowIncomeOffset_LowPaymentRate: System.Decimal(0), LowIncomeOffset_MaxPaymentRate: System.Decimal(0), LowIncomeOffset_LowIncomeThreshold: System.Decimal(0), LowIncomeOffset_MiddleIncomeThreshold: System.Decimal(0), LowIncomeOffset_HighIncomeThreshold: System.Decimal(0), LowIncomeOffset_InitialPhaseOutRate: System.Decimal(0), LowIncomeOffset_SubsequentPhaseOutRate: System.Decimal(0) }, ctors: { init: function () { this.IncomeTaxBands = System.Array.init([System.Decimal(0), System.Decimal(18200), System.Decimal(45e3), System.Decimal(135e3), System.Decimal(19e4)], System.Decimal); this.IncomeTaxRates = System.Array.init([System.Decimal(0), System.Decimal(.16), System.Decimal(.3), System.Decimal(.37), System.Decimal(.45)], System.Decimal); this.IncomeTaxToStartOfBand = System.Array.init(5, System.Decimal(0), System.Decimal); this.MedicareLevy_LowerThreshold = System.Decimal(24276); this.MedicareLevy_UpperThreshold = System.Decimal(30345); this.MedicareLevy_PhaseInRate = System.Decimal(.1); this.MedicareLevy_Rate = System.Decimal(.02); this.MaximumMarginalTaxRateIncludingMedicareLevy = System.Decimal(.47); this.LowIncomeOffset_LowPaymentRate = System.Decimal(325); this.LowIncomeOffset_MaxPaymentRate = System.Decimal(700); this.LowIncomeOffset_LowIncomeThreshold = System.Decimal(37500); this.LowIncomeOffset_MiddleIncomeThreshold = System.Decimal(45e3); this.LowIncomeOffset_HighIncomeThreshold = System.Decimal(66667); this.LowIncomeOffset_InitialPhaseOutRate = System.Decimal(.05); this.LowIncomeOffset_SubsequentPhaseOutRate = System.Decimal(.015) } }, methods: { TaxPayable: function (TaxableSalary) { var IncomeTaxPayable, MedicareLevyPayable, LITOReceivable; return ContributionsCalculator_Engine.PAYGIncomeTaxBasis.GenerateTaxToStartOfBandThresholds(), IncomeTaxPayable = ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTax(TaxableSalary), MedicareLevyPayable = ContributionsCalculator_Engine.PAYGIncomeTaxBasis.MedicareLevy(TaxableSalary), LITOReceivable = ContributionsCalculator_Engine.PAYGIncomeTaxBasis.LowIncomeOffset(TaxableSalary), System.Decimal.max(System.Decimal(0), IncomeTaxPayable.add(MedicareLevyPayable).sub(LITOReceivable)) }, GrossEquivalentSalary: function (NetAnnualSalary, WhileCounter) { var MinimumGrossSalary, MaximumGrossSalary, MidPointGrossSalary, MidPointNetSalary, Tolerance = System.Decimal(.5), FoundAcceptableSolution = !1, MaximumSearchDepth; for (WhileCounter.v = 0, MaximumSearchDepth = 200, ContributionsCalculator_Engine.PAYGIncomeTaxBasis.GenerateTaxToStartOfBandThresholds(), MinimumGrossSalary = NetAnnualSalary, MaximumGrossSalary = NetAnnualSalary.div(System.Decimal(1).sub(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.MaximumMarginalTaxRateIncludingMedicareLevy)), MidPointGrossSalary = MinimumGrossSalary.add(MaximumGrossSalary).div(System.Decimal(2)); FoundAcceptableSolution === !1 && WhileCounter.v <= MaximumSearchDepth;)MidPointGrossSalary = MinimumGrossSalary.add(MaximumGrossSalary).div(System.Decimal(2)), MidPointNetSalary = MidPointGrossSalary.sub(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.TaxPayable(MidPointGrossSalary)), MidPointNetSalary.sub(Tolerance).gt(NetAnnualSalary) ? MaximumGrossSalary = MidPointGrossSalary : MidPointNetSalary.add(Tolerance).lt(NetAnnualSalary) ? MinimumGrossSalary = MidPointGrossSalary : FoundAcceptableSolution = !0, WhileCounter.v = WhileCounter.v + 1 | 0; return MidPointGrossSalary }, IncomeTax: function (TaxableIncome) { return TaxableIncome.lte(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxBands[1]) ? System.Decimal(0) : TaxableIncome.lte(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxBands[2]) ? ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxToStartOfBand[1].add(TaxableIncome.sub(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxBands[1]).mul(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxRates[1])) : TaxableIncome.lte(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxBands[3]) ? ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxToStartOfBand[2].add(TaxableIncome.sub(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxBands[2]).mul(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxRates[2])) : TaxableIncome.lte(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxBands[4]) ? ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxToStartOfBand[3].add(TaxableIncome.sub(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxBands[3]).mul(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxRates[3])) : ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxToStartOfBand[4].add(TaxableIncome.sub(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxBands[4]).mul(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxRates[4])) }, GenerateTaxToStartOfBandThresholds: function () { var TaxToStartOfBand, counter; for (TaxToStartOfBand = System.Decimal(0), ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxToStartOfBand[0] = TaxToStartOfBand, ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxToStartOfBand[1] = TaxToStartOfBand, counter = 2; counter <= 4; counter = counter + 1 | 0)TaxToStartOfBand = TaxToStartOfBand.add(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxBands[counter].sub(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxBands[counter - 1 | 0]).mul(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxRates[counter - 1 | 0])), ContributionsCalculator_Engine.PAYGIncomeTaxBasis.IncomeTaxToStartOfBand[counter] = TaxToStartOfBand }, MedicareLevy: function (TaxableIncome) { return TaxableIncome.gt(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.MedicareLevy_UpperThreshold) ? TaxableIncome.mul(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.MedicareLevy_Rate) : TaxableIncome.gt(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.MedicareLevy_LowerThreshold) ? TaxableIncome.sub(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.MedicareLevy_LowerThreshold).mul(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.MedicareLevy_PhaseInRate) : System.Decimal(0) }, LowIncomeOffset: function (TaxableIncome) { return TaxableIncome.lte(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.LowIncomeOffset_LowIncomeThreshold) ? ContributionsCalculator_Engine.PAYGIncomeTaxBasis.LowIncomeOffset_MaxPaymentRate : TaxableIncome.lte(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.LowIncomeOffset_MiddleIncomeThreshold) ? ContributionsCalculator_Engine.PAYGIncomeTaxBasis.LowIncomeOffset_MaxPaymentRate.sub(TaxableIncome.sub(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.LowIncomeOffset_LowIncomeThreshold).mul(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.LowIncomeOffset_InitialPhaseOutRate)) : TaxableIncome.lte(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.LowIncomeOffset_HighIncomeThreshold) ? ContributionsCalculator_Engine.PAYGIncomeTaxBasis.LowIncomeOffset_LowPaymentRate.sub(TaxableIncome.sub(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.LowIncomeOffset_MiddleIncomeThreshold).mul(ContributionsCalculator_Engine.PAYGIncomeTaxBasis.LowIncomeOffset_SubsequentPhaseOutRate)) : System.Decimal(0) } } } }); Bridge.define("ContributionsCalculator_Engine.Person", { fields: { GrossAnnualSalary: System.Decimal(0), EmployerContributionRate: System.Decimal(0), Age: System.Decimal(0) }, ctors: { ctor: function (Salary, SalaryBeforeTax, ThisEmployerContributionRate, ThisAge) { this.$initialize(); this.GrossAnnualSalary = SalaryBeforeTax ? Salary : ContributionsCalculator_Engine.PAYGIncomeTaxBasis.GrossEquivalentSalary(Salary, { v: 0 }); this.EmployerContributionRate = ThisEmployerContributionRate; this.Age = ThisAge } } }); Bridge.define("ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis", { statics: { fields: { c_ConcessionalContributionsStandardTaxRate: System.Decimal(0), c_ConcessionalContributionsHighEarnerTaxRate: System.Decimal(0), c_Div293IncomeThreshold: System.Decimal(0), c_LISTOSalaryThreshold: System.Decimal(0), c_LISTOMaximumOffset: System.Decimal(0), c_ConcessionalContributionThreshold: System.Decimal(0) }, props: { ConcessionalContributionsThreshold: { get: function () { return ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.c_ConcessionalContributionThreshold } } }, ctors: { init: function () { this.c_ConcessionalContributionsStandardTaxRate = System.Decimal(.15); this.c_ConcessionalContributionsHighEarnerTaxRate = System.Decimal(.3); this.c_Div293IncomeThreshold = System.Decimal(25e4); this.c_LISTOSalaryThreshold = System.Decimal(37e3); this.c_LISTOMaximumOffset = System.Decimal(500); this.c_ConcessionalContributionThreshold = System.Decimal(3e4) } }, methods: { ConcessionalContributionTax: function (Salary, EmployerConcessionalContributions, VoluntaryMemberConcessionalContributions) { var ContributionsTax, ConcessionalContributions = EmployerConcessionalContributions.add(VoluntaryMemberConcessionalContributions); return Salary.add(ConcessionalContributions).lt(ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.c_Div293IncomeThreshold) ? (ContributionsTax = ConcessionalContributions.mul(ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.c_ConcessionalContributionsStandardTaxRate), Salary.add(VoluntaryMemberConcessionalContributions).lt(ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.c_LISTOSalaryThreshold) && (ContributionsTax = System.Decimal.max(ContributionsTax.sub(ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.c_LISTOMaximumOffset), System.Decimal(0)))) : ContributionsTax = Salary.gt(ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.c_Div293IncomeThreshold) ? ConcessionalContributions.mul(ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.c_ConcessionalContributionsHighEarnerTaxRate) : ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.c_Div293IncomeThreshold.sub(Salary).mul(ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.c_ConcessionalContributionsStandardTaxRate).add(Salary.add(ConcessionalContributions).sub(ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.c_Div293IncomeThreshold).mul(ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.c_ConcessionalContributionsHighEarnerTaxRate)), ContributionsTax }, ConcessionalContributionTaxOnVoluntaryContributions: function (Salary, EmployerConcessionalContributions, VoluntaryConcessionalContribution) { var ContributionsTaxOnTotalContributions, ContributionsTaxOnEmployerContributions; return ContributionsTaxOnEmployerContributions = ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.ConcessionalContributionTax(Salary, EmployerConcessionalContributions, System.Decimal(0)), ContributionsTaxOnTotalContributions = ContributionsCalculator_Engine.SuperannuationContributionsTaxBasis.ConcessionalContributionTax(Salary.sub(VoluntaryConcessionalContribution), EmployerConcessionalContributions, VoluntaryConcessionalContribution), ContributionsTaxOnTotalContributions.sub(ContributionsTaxOnEmployerContributions) } } } }) }); Bridge.assembly("ContributionsCalculator_Engine", function () { "use strict"; var $m = Bridge.setMetadata, $n = [ContributionsCalculator_Engine, System]; $m($n[0].Calculator, function () { return { att: 1048961, a: 2, s: !0, m: [{ a: 2, n: "GetScenario", is: !0, t: 8, pi: [{ n: "ThisPerson", pt: $n[0].Person, ps: 0 }, { n: "ThisContributionsInput", pt: $n[0].ContributionsInput, ps: 1 }], sn: "GetScenario", rt: $n[0].ContributionScenario, p: [$n[0].Person, $n[0].ContributionsInput] }] } }); $m($n[0].CoContributionBasis, function () { return { att: 1048961, a: 2, s: !0, m: [{ a: 2, n: "CoContributions", is: !0, t: 8, pi: [{ n: "Salary", pt: $n[1].Decimal, ps: 0 }, { n: "NonConcessionalContributions", pt: $n[1].Decimal, ps: 1 }], sn: "CoContributions", rt: $n[1].Decimal, p: [$n[1].Decimal, $n[1].Decimal] }, { a: 2, n: "MaximumAssessablePersonalContribution", is: !0, t: 8, pi: [{ n: "Salary", pt: $n[1].Decimal, ps: 0 }], sn: "MaximumAssessablePersonalContribution", rt: $n[1].Decimal, p: [$n[1].Decimal] }, { a: 2, n: "LowerIncomeThreshold", is: !0, t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_LowerIncomeThreshold", t: 8, rt: $n[1].Decimal, fg: "LowerIncomeThreshold", is: !0 }, fn: "LowerIncomeThreshold" }, { a: 2, n: "UpperIncomeThreshold", is: !0, t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_UpperIncomeThreshold", t: 8, rt: $n[1].Decimal, fg: "UpperIncomeThreshold", is: !0 }, fn: "UpperIncomeThreshold" }, { a: 1, n: "c_CoContributionRate", is: !0, t: 4, rt: $n[1].Decimal, sn: "c_CoContributionRate" }, { a: 1, n: "c_LowerIncomeThreshold", is: !0, t: 4, rt: $n[1].Decimal, sn: "c_LowerIncomeThreshold" }, { a: 1, n: "c_UpperContributionCap", is: !0, t: 4, rt: $n[1].Decimal, sn: "c_UpperContributionCap" }, { a: 1, n: "c_UpperIncomeThreshold", is: !0, t: 4, rt: $n[1].Decimal, sn: "c_UpperIncomeThreshold" }] } }); $m($n[0].ContributionScenario, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, sn: "ctor" }, { a: 2, n: "ContributionsTaxOnVoluntaryContributions", t: 8, sn: "ContributionsTaxOnVoluntaryContributions", rt: $n[1].Decimal }, { a: 2, n: "GrossSalaryAfterVoluntaryContributions", t: 8, sn: "GrossSalaryAfterVoluntaryContributions", rt: $n[1].Decimal }, { a: 2, n: "GrossSuperannuationContributionsWithNoVoluntaryContributions", t: 8, sn: "GrossSuperannuationContributionsWithNoVoluntaryContributions", rt: $n[1].Decimal }, { a: 2, n: "GrossSuperannuationContributionsWithVoluntaryContributions", t: 8, sn: "GrossSuperannuationContributionsWithVoluntaryContributions", rt: $n[1].Decimal }, { a: 2, n: "IncomeAndContributionsTaxSavings", t: 8, sn: "IncomeAndContributionsTaxSavings", rt: $n[1].Decimal }, { a: 2, n: "NetSuperannuationContributionsWithNoVoluntaryContributions", t: 8, sn: "NetSuperannuationContributionsWithNoVoluntaryContributions", rt: $n[1].Decimal }, { a: 2, n: "NetSuperannuationContributionsWithVoluntaryContributions", t: 8, sn: "NetSuperannuationContributionsWithVoluntaryContributions", rt: $n[1].Decimal }, { a: 2, n: "NetVoluntaryEmployeeSuperannuationContributions", t: 8, sn: "NetVoluntaryEmployeeSuperannuationContributions", rt: $n[1].Decimal }, { a: 2, n: "PostTaxScenario_ReductionInTakeHomePay", t: 8, sn: "PostTaxScenario_ReductionInTakeHomePay", rt: $n[1].Decimal }, { a: 2, n: "PostTaxScenario_TakeHomePay", t: 8, sn: "PostTaxScenario_TakeHomePay", rt: $n[1].Decimal }, { a: 2, n: "PreTaxScenario_ContributionsTaxOnVoluntaryContributions", t: 8, sn: "PreTaxScenario_ContributionsTaxOnVoluntaryContributions", rt: $n[1].Decimal }, { a: 2, n: "PreTaxScenario_ReductionInTakeHomePay", t: 8, sn: "PreTaxScenario_ReductionInTakeHomePay", rt: $n[1].Decimal }, { a: 2, n: "PreTaxScenario_TakeHomePay", t: 8, sn: "PreTaxScenario_TakeHomePay", rt: $n[1].Decimal }, { a: 2, n: "ReductionInTakeHomePayDueToContributions", t: 8, sn: "ReductionInTakeHomePayDueToContributions", rt: $n[1].Decimal }, { a: 2, n: "TakeHomePayWithNoVoluntaryContributions", t: 8, sn: "TakeHomePayWithNoVoluntaryContributions", rt: $n[1].Decimal }, { a: 2, n: "TakeHomePayWithVoluntaryContributions", t: 8, sn: "TakeHomePayWithVoluntaryContributions", rt: $n[1].Decimal }, { a: 2, n: "CoContributions", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_CoContributions", t: 8, rt: $n[1].Decimal, fg: "CoContributions" }, s: { a: 2, n: "set_CoContributions", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "CoContributions" }, fn: "CoContributions" }, { a: 2, n: "ContributionsTaxOnEmployerContributions", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_ContributionsTaxOnEmployerContributions", t: 8, rt: $n[1].Decimal, fg: "ContributionsTaxOnEmployerContributions" }, s: { a: 2, n: "set_ContributionsTaxOnEmployerContributions", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "ContributionsTaxOnEmployerContributions" }, fn: "ContributionsTaxOnEmployerContributions" }, { a: 2, n: "ContributionsTaxOnTotalConcessionalContributions", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_ContributionsTaxOnTotalConcessionalContributions", t: 8, rt: $n[1].Decimal, fg: "ContributionsTaxOnTotalConcessionalContributions" }, s: { a: 2, n: "set_ContributionsTaxOnTotalConcessionalContributions", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "ContributionsTaxOnTotalConcessionalContributions" }, fn: "ContributionsTaxOnTotalConcessionalContributions" }, { a: 2, n: "EmployerSuperannuationContributions", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_EmployerSuperannuationContributions", t: 8, rt: $n[1].Decimal, fg: "EmployerSuperannuationContributions" }, s: { a: 2, n: "set_EmployerSuperannuationContributions", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "EmployerSuperannuationContributions" }, fn: "EmployerSuperannuationContributions" }, { a: 2, n: "GrossAnnualSalary", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_GrossAnnualSalary", t: 8, rt: $n[1].Decimal, fg: "GrossAnnualSalary" }, s: { a: 2, n: "set_GrossAnnualSalary", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "GrossAnnualSalary" }, fn: "GrossAnnualSalary" }, { a: 2, n: "IncomeTaxAfterVoluntaryConcessionalContributions", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_IncomeTaxAfterVoluntaryConcessionalContributions", t: 8, rt: $n[1].Decimal, fg: "IncomeTaxAfterVoluntaryConcessionalContributions" }, s: { a: 2, n: "set_IncomeTaxAfterVoluntaryConcessionalContributions", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "IncomeTaxAfterVoluntaryConcessionalContributions" }, fn: "IncomeTaxAfterVoluntaryConcessionalContributions" }, { a: 2, n: "IncomeTaxWithNoContributions", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_IncomeTaxWithNoContributions", t: 8, rt: $n[1].Decimal, fg: "IncomeTaxWithNoContributions" }, s: { a: 2, n: "set_IncomeTaxWithNoContributions", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "IncomeTaxWithNoContributions" }, fn: "IncomeTaxWithNoContributions" }, { a: 2, n: "OneOffContributionScenario", t: 16, rt: $n[1].Boolean, g: { a: 2, n: "get_OneOffContributionScenario", t: 8, rt: $n[1].Boolean, fg: "OneOffContributionScenario", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, s: { a: 2, n: "set_OneOffContributionScenario", t: 8, p: [$n[1].Boolean], rt: $n[1].Void, fs: "OneOffContributionScenario" }, fn: "OneOffContributionScenario" }, { a: 2, n: "PostTaxScenario_CoContributions", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_PostTaxScenario_CoContributions", t: 8, rt: $n[1].Decimal, fg: "PostTaxScenario_CoContributions" }, s: { a: 2, n: "set_PostTaxScenario_CoContributions", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "PostTaxScenario_CoContributions" }, fn: "PostTaxScenario_CoContributions" }, { a: 2, n: "PreTaxScenario_ContributionsTaxOnTotalConcessionalContributions", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_PreTaxScenario_ContributionsTaxOnTotalConcessionalContributions", t: 8, rt: $n[1].Decimal, fg: "PreTaxScenario_ContributionsTaxOnTotalConcessionalContributions" }, s: { a: 2, n: "set_PreTaxScenario_ContributionsTaxOnTotalConcessionalContributions", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "PreTaxScenario_ContributionsTaxOnTotalConcessionalContributions" }, fn: "PreTaxScenario_ContributionsTaxOnTotalConcessionalContributions" }, { a: 2, n: "PreTaxScenario_IncomeTaxAfterVoluntaryContributions", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_PreTaxScenario_IncomeTaxAfterVoluntaryContributions", t: 8, rt: $n[1].Decimal, fg: "PreTaxScenario_IncomeTaxAfterVoluntaryContributions" }, s: { a: 2, n: "set_PreTaxScenario_IncomeTaxAfterVoluntaryContributions", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "PreTaxScenario_IncomeTaxAfterVoluntaryContributions" }, fn: "PreTaxScenario_IncomeTaxAfterVoluntaryContributions" }, { a: 2, n: "PreTaxScenario_PermittedWithinConcessionalContributionLimits", t: 16, rt: $n[1].Boolean, g: { a: 2, n: "get_PreTaxScenario_PermittedWithinConcessionalContributionLimits", t: 8, rt: $n[1].Boolean, fg: "PreTaxScenario_PermittedWithinConcessionalContributionLimits", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, s: { a: 2, n: "set_PreTaxScenario_PermittedWithinConcessionalContributionLimits", t: 8, p: [$n[1].Boolean], rt: $n[1].Void, fs: "PreTaxScenario_PermittedWithinConcessionalContributionLimits" }, fn: "PreTaxScenario_PermittedWithinConcessionalContributionLimits" }, { a: 2, n: "VoluntaryConcessionalContributions", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_VoluntaryConcessionalContributions", t: 8, rt: $n[1].Decimal, fg: "VoluntaryConcessionalContributions" }, s: { a: 2, n: "set_VoluntaryConcessionalContributions", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "VoluntaryConcessionalContributions" }, fn: "VoluntaryConcessionalContributions" }, { a: 2, n: "VoluntaryContributions", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_VoluntaryContributions", t: 8, rt: $n[1].Decimal, fg: "VoluntaryContributions" }, s: { a: 2, n: "set_VoluntaryContributions", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "VoluntaryContributions" }, fn: "VoluntaryContributions" }, { a: 2, n: "VoluntaryNonConcessionalContributions", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_VoluntaryNonConcessionalContributions", t: 8, rt: $n[1].Decimal, fg: "VoluntaryNonConcessionalContributions" }, s: { a: 2, n: "set_VoluntaryNonConcessionalContributions", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "VoluntaryNonConcessionalContributions" }, fn: "VoluntaryNonConcessionalContributions" }] } }); $m($n[0].ContributionsInput, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, p: [$n[1].Decimal, $n[1].Boolean], pi: [{ n: "Contributions", pt: $n[1].Decimal, ps: 0 }, { n: "OneOffContribution", pt: $n[1].Boolean, ps: 1 }], sn: "ctor" }, { a: 2, n: "OneOffContributionScenario", t: 16, rt: $n[1].Boolean, g: { a: 2, n: "get_OneOffContributionScenario", t: 8, rt: $n[1].Boolean, fg: "OneOffContributionScenario", box: function ($v) { return Bridge.box($v, System.Boolean, System.Boolean.toString) } }, s: { a: 1, n: "set_OneOffContributionScenario", t: 8, p: [$n[1].Boolean], rt: $n[1].Void, fs: "OneOffContributionScenario" }, fn: "OneOffContributionScenario" }, { a: 2, n: "TotalContributions", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_TotalContributions", t: 8, rt: $n[1].Decimal, fg: "TotalContributions" }, s: { a: 1, n: "set_TotalContributions", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "TotalContributions" }, fn: "TotalContributions" }] } }); $m($n[0].PAYGIncomeTaxBasis, function () { return { att: 1048961, a: 2, s: !0, m: [{ a: 1, n: "GenerateTaxToStartOfBandThresholds", is: !0, t: 8, sn: "GenerateTaxToStartOfBandThresholds", rt: $n[1].Void }, { a: 2, n: "GrossEquivalentSalary", is: !0, t: 8, pi: [{ n: "NetAnnualSalary", pt: $n[1].Decimal, ps: 0 }, { n: "WhileCounter", out: !0, pt: $n[1].Int32, ps: 1 }], sn: "GrossEquivalentSalary", rt: $n[1].Decimal, p: [$n[1].Decimal, $n[1].Int32] }, { a: 1, n: "IncomeTax", is: !0, t: 8, pi: [{ n: "TaxableIncome", pt: $n[1].Decimal, ps: 0 }], sn: "IncomeTax", rt: $n[1].Decimal, p: [$n[1].Decimal] }, { a: 1, n: "LowIncomeOffset", is: !0, t: 8, pi: [{ n: "TaxableIncome", pt: $n[1].Decimal, ps: 0 }], sn: "LowIncomeOffset", rt: $n[1].Decimal, p: [$n[1].Decimal] }, { a: 1, n: "MedicareLevy", is: !0, t: 8, pi: [{ n: "TaxableIncome", pt: $n[1].Decimal, ps: 0 }], sn: "MedicareLevy", rt: $n[1].Decimal, p: [$n[1].Decimal] }, { a: 2, n: "TaxPayable", is: !0, t: 8, pi: [{ n: "TaxableSalary", pt: $n[1].Decimal, ps: 0 }], sn: "TaxPayable", rt: $n[1].Decimal, p: [$n[1].Decimal] }, { a: 1, n: "IncomeTaxBands", is: !0, t: 4, rt: $n[1].Array.type(System.Decimal), sn: "IncomeTaxBands" }, { a: 1, n: "IncomeTaxRates", is: !0, t: 4, rt: $n[1].Array.type(System.Decimal), sn: "IncomeTaxRates" }, { a: 1, n: "IncomeTaxToStartOfBand", is: !0, t: 4, rt: $n[1].Array.type(System.Decimal), sn: "IncomeTaxToStartOfBand" }, { a: 1, n: "LowIncomeOffset_HighIncomeThreshold", is: !0, t: 4, rt: $n[1].Decimal, sn: "LowIncomeOffset_HighIncomeThreshold" }, { a: 1, n: "LowIncomeOffset_InitialPhaseOutRate", is: !0, t: 4, rt: $n[1].Decimal, sn: "LowIncomeOffset_InitialPhaseOutRate" }, { a: 1, n: "LowIncomeOffset_LowIncomeThreshold", is: !0, t: 4, rt: $n[1].Decimal, sn: "LowIncomeOffset_LowIncomeThreshold" }, { a: 1, n: "LowIncomeOffset_LowPaymentRate", is: !0, t: 4, rt: $n[1].Decimal, sn: "LowIncomeOffset_LowPaymentRate" }, { a: 1, n: "LowIncomeOffset_MaxPaymentRate", is: !0, t: 4, rt: $n[1].Decimal, sn: "LowIncomeOffset_MaxPaymentRate" }, { a: 1, n: "LowIncomeOffset_MiddleIncomeThreshold", is: !0, t: 4, rt: $n[1].Decimal, sn: "LowIncomeOffset_MiddleIncomeThreshold" }, { a: 1, n: "LowIncomeOffset_SubsequentPhaseOutRate", is: !0, t: 4, rt: $n[1].Decimal, sn: "LowIncomeOffset_SubsequentPhaseOutRate" }, { a: 1, n: "MaximumMarginalTaxRateIncludingMedicareLevy", is: !0, t: 4, rt: $n[1].Decimal, sn: "MaximumMarginalTaxRateIncludingMedicareLevy" }, { a: 1, n: "MedicareLevy_LowerThreshold", is: !0, t: 4, rt: $n[1].Decimal, sn: "MedicareLevy_LowerThreshold" }, { a: 1, n: "MedicareLevy_PhaseInRate", is: !0, t: 4, rt: $n[1].Decimal, sn: "MedicareLevy_PhaseInRate" }, { a: 1, n: "MedicareLevy_Rate", is: !0, t: 4, rt: $n[1].Decimal, sn: "MedicareLevy_Rate" }, { a: 1, n: "MedicareLevy_UpperThreshold", is: !0, t: 4, rt: $n[1].Decimal, sn: "MedicareLevy_UpperThreshold" }] } }); $m($n[0].Person, function () { return { att: 1048577, a: 2, m: [{ a: 2, n: ".ctor", t: 1, p: [$n[1].Decimal, $n[1].Boolean, $n[1].Decimal, $n[1].Decimal], pi: [{ n: "Salary", pt: $n[1].Decimal, ps: 0 }, { n: "SalaryBeforeTax", pt: $n[1].Boolean, ps: 1 }, { n: "ThisEmployerContributionRate", pt: $n[1].Decimal, ps: 2 }, { n: "ThisAge", pt: $n[1].Decimal, ps: 3 }], sn: "ctor" }, { a: 2, n: "Age", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_Age", t: 8, rt: $n[1].Decimal, fg: "Age" }, s: { a: 1, n: "set_Age", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "Age" }, fn: "Age" }, { a: 2, n: "EmployerContributionRate", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_EmployerContributionRate", t: 8, rt: $n[1].Decimal, fg: "EmployerContributionRate" }, s: { a: 1, n: "set_EmployerContributionRate", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "EmployerContributionRate" }, fn: "EmployerContributionRate" }, { a: 2, n: "GrossAnnualSalary", t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_GrossAnnualSalary", t: 8, rt: $n[1].Decimal, fg: "GrossAnnualSalary" }, s: { a: 1, n: "set_GrossAnnualSalary", t: 8, p: [$n[1].Decimal], rt: $n[1].Void, fs: "GrossAnnualSalary" }, fn: "GrossAnnualSalary" }] } }); $m($n[0].SuperannuationContributionsTaxBasis, function () { return { att: 1048961, a: 2, s: !0, m: [{ a: 2, n: "ConcessionalContributionTax", is: !0, t: 8, pi: [{ n: "Salary", pt: $n[1].Decimal, ps: 0 }, { n: "EmployerConcessionalContributions", pt: $n[1].Decimal, ps: 1 }, { n: "VoluntaryMemberConcessionalContributions", pt: $n[1].Decimal, ps: 2 }], sn: "ConcessionalContributionTax", rt: $n[1].Decimal, p: [$n[1].Decimal, $n[1].Decimal, $n[1].Decimal] }, { a: 2, n: "ConcessionalContributionTaxOnVoluntaryContributions", is: !0, t: 8, pi: [{ n: "Salary", pt: $n[1].Decimal, ps: 0 }, { n: "EmployerConcessionalContributions", pt: $n[1].Decimal, ps: 1 }, { n: "VoluntaryConcessionalContribution", pt: $n[1].Decimal, ps: 2 }], sn: "ConcessionalContributionTaxOnVoluntaryContributions", rt: $n[1].Decimal, p: [$n[1].Decimal, $n[1].Decimal, $n[1].Decimal] }, { a: 2, n: "ConcessionalContributionsThreshold", is: !0, t: 16, rt: $n[1].Decimal, g: { a: 2, n: "get_ConcessionalContributionsThreshold", t: 8, rt: $n[1].Decimal, fg: "ConcessionalContributionsThreshold", is: !0 }, fn: "ConcessionalContributionsThreshold" }, { a: 1, n: "c_ConcessionalContributionThreshold", is: !0, t: 4, rt: $n[1].Decimal, sn: "c_ConcessionalContributionThreshold" }, { a: 1, n: "c_ConcessionalContributionsHighEarnerTaxRate", is: !0, t: 4, rt: $n[1].Decimal, sn: "c_ConcessionalContributionsHighEarnerTaxRate" }, { a: 1, n: "c_ConcessionalContributionsStandardTaxRate", is: !0, t: 4, rt: $n[1].Decimal, sn: "c_ConcessionalContributionsStandardTaxRate" }, { a: 1, n: "c_Div293IncomeThreshold", is: !0, t: 4, rt: $n[1].Decimal, sn: "c_Div293IncomeThreshold" }, { a: 1, n: "c_LISTOMaximumOffset", is: !0, t: 4, rt: $n[1].Decimal, sn: "c_LISTOMaximumOffset" }, { a: 1, n: "c_LISTOSalaryThreshold", is: !0, t: 4, rt: $n[1].Decimal, sn: "c_LISTOSalaryThreshold" }] } }) });;
!function (e) { "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).SuperEngine = e() }(function () {
return function r(i, o, a) { function s(t, e) { if (!o[t]) { if (!i[t]) { var n = "function" == typeof require && require; if (!e && n) return n(t, !0); if (u) return u(t, !0); throw (e = new Error("Cannot find module '" + t + "'")).code = "MODULE_NOT_FOUND", e } n = o[t] = { exports: {} }, i[t][0].call(n.exports, function (e) { return s(i[t][1][e] || e) }, n, n.exports, r, i, o, a) } return o[t].exports } for (var u = "function" == typeof require && require, e = 0; e < a.length; e++)s(a[e]); return s }({
1: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.defaultConfiguration = { AssetTestLowerThresholdCoupleHomeowner: 47e4, AssetTestLowerThresholdCoupleNonHomeowner: 722e3, AssetTestUpperThresholdCoupleHomeowner: 1031e3, AssetTestUpperThresholdCoupleNonHomeowner: 1283e3, AssetTestLowerThresholdSingleHomeowner: 314e3, AssetTestLowerThresholdSingleNonHomeowner: 566e3, AssetTestUpperThresholdSingleHomeowner: 686250, AssetTestUpperThresholdSingleNonHomeowner: 938250, IncomeTestLowerThresholdCouple: 372, IncomeTestLowerThresholdSingle: 212, IncomeTestUpperThresholdCouple: 3737.6, IncomeTestUpperThresholdSingle: 2444.6, PensionCouple: 769.3, PensionSingle: 1020.6, PensionSupplementCoupleMaximum: 72.1, PensionSupplementCoupleMinimum: 43.7, PensionSupplementSingleMaximum: 95.7, PensionSupplementSingleMinimum: 58, DeemingThresholdSingle: 62600, DeemingThresholdCouple: 103800, DeemingRateLowerIncome: .0025, DeemingRateHigherIncome: .0225, CoContributionLowerThreshold: 45400, CoContributionUpperThreshold: 60400, MaximumContributionBase: 1e3, CurrentMaximumCoContribution: 500, SGCMaximumContributionBase: 65070, UntaxedPlanCapAmount: 178e4, ConcessionalContributionThreshold: 30793, NonConcessionalContributionThreshold: 123172, PensionTransferBalanceCap: 1989502, LowIncomeEarnersGovernmentContributionIncomeThreshold: 37e3, LowIncomeEarnersGovernmentContributionMaximum: 500, HighIncomeEarningThreshold: 25e4, WorkBonus: 300, IncomeTaxRates_2024: { band_0: { bandStart: 0, rate: 0 }, band_1: { bandStart: 18200, rate: .16 }, band_2: { bandStart: 45e3, rate: .3 }, band_3: { bandStart: 135e3, rate: .37 }, band_4: { bandStart: 19e4, rate: .45 } }, MedicareLowerThreshold: 24276, MedicareUpperThreshold: 30345, MedicarePhasingInRate: .1, MedicareRate: .02, LITO_2022_LowIncomeThreshold: 37500, LITO_2022_MiddleIncomeThreshold: 45e3, LITO_2022_HighIncomeThreshold: 66667, LITO_2022_MaxPaymentRate: 700, LITO_2022_LowPaymentRate: 325, LITO_2022_InitialPhaseOutRate: .05, LITO_2022_SubsequentPhaseOutRate: .015, MaximumSATO: 2230, MaximumSATOCouple: 1602, SATOLowerThreshold: 32279, SATOLowerThresholdCouple: 28974, SATOUpperThreshold: 50119, SATOUpperThresholdCouple: 41790, UntaxedComponent: 0, UntaxedComponent_2: 0, AgeNowCompletedPartYear: 0, AgeNowCompletedPartYear_2: 0, EnforceMaximumContributionBase: 0, IncludeCoContributions: 0, QSuperDefaultInsuranceUnitsGovernment: 2, QSuperDefaultInsuranceUnitsNonGovernment: 2, FSSInsurancePremium: 242, InsurancePremium: 100, EquipInsurancePremium: -1, VisionTPD: 223.85, ActiveSuper_MaleDeathPerUnitPerMonth: .854, ActiveSuper_FemaleDeathPerUnitPerMonth: .658, ActiveSuper_MaleTPDPerUnitPerMonth: .444, ActiveSuper_FemaleTPDPerUnitPerMonth: .553, ActiveSuperInsuranceInflation: .005, SeniorSupplementSingle: 858, SeniorSupplementCouple: 647.4, SeniorSupplementIncomeThresholdSingle: 5e4, SeniorSupplementIncomeThresholdCouple: 8e4, Legacy603CalculationMethod: !1, VisionIPSalaryThreshold: 0, VisionIncomeProtection: { startAge: 16, cost: [.2, .2, .2, .2, .22, .22, .22, .22, .22, .24, .24, .24, .24, .24, .25, .25, .25, .25, .25, .33, .33, .33, .33, .33, .5, .5, .5, .5, .5, .82, .82, .82, .82, .82, 1.15, 1.15, 1.15, 1.15, 1.15, 1.8, 1.8, 1.8, 1.8, 1.8, 1.82, 1.82, 1.82, 1.82, 1.82, 1.82] }, Output: !0, Testing: !1, Debug: !1, CalculationDate: "30/06/2022", IncludePartner: !1, IncludeAgePension: !0, IncludeTTR: !1, PriceInflationIndex: [.04], WageInflationIndex: [.04], SunSuperTargetIncomeInflationInRetirement: .03, AgePensionAllowCouplePensions: !1, HomeOwner: !1, Married: !1, OtherAssets: 0, OtherIncome: 0, EnforceMinimumDrawingRequirements: !1, AccountType: 1, AccruedDBMultiple: 0, AccumulationMemberCoreContributionRate: 0, AgeNow: 35, DBMemberCoreContributionRate: 0, UseSpecificDBAccrualRates: !1, DeferredRetirementBalance: 0, EmployerContributionRate: .115, InitialExternalPension: 0, InvestmentOption: 3, InvestmentOptionInRetirement: 3, MemberType: 0, OneOffContribution: 0, OneOffContributionMadeAtAge: 35, PartTimeWorkDaysPerWeek: 0, PartTimeWorkFromAge: 35, PartTimeWorkYearsDuration: 0, PostTaxContributions: !0, PostTaxMemberContributions: 0, PreTaxMemberContributions: 0, RetirementAge: 65, RollOverAmount: 0, RollOverAge: 0, Salary: 5e4, Sex: "Male", SuperannuationBalance: 0, WithdrawalAtRetirement: 0, FutureYearsCurrentEmployment: 0, ContributionRateSubsequentEmployment: 0, AccountType_2: 1, AccruedDBMultiple_2: 0, AccumulationMemberCoreContributionRate_2: 0, AgeNow_2: 35, DBMemberCoreContributionRate_2: 0, UseSpecificDBAccrualRates_2: !1, DeferredRetirementBalance_2: 0, EmployerContributionRate_2: .115, InitialExternalPension_2: 0, InvestmentOption_2: 3, InvestmentOptionInRetirement_2: 3, MemberType_2: 0, OneOffContribution_2: 0, OneOffContributionMadeAtAge_2: 0, PartTimeWorkDaysPerWeek_2: 0, PartTimeWorkFromAge_2: 0, PartTimeWorkYearsDuration_2: 0, PostTaxContributions_2: !0, PostTaxMemberContributions_2: 0, PreTaxMemberContributions_2: 0, RetirementAge_2: 65, RollOverAmount_2: 0, RollOverAge_2: 0, Salary_2: 1e4, Sex_2: "Male", SuperannuationBalance_2: 0, WithdrawalAtRetirement_2: 0, FutureYearsCurrentEmployment_2: 0, ContributionRateSubsequentEmployment_2: 0, AbsLifeTable: { startAge: 0, male: [83.7, 82.95, 81.96, 80.97, 79.98, 78.98, 77.98, 76.98, 75.98, 74.98, 73.98, 72.98, 71.98, 70.98, 69.98, 68.98, 67.98, 66.99, 66.01, 65.02, 64.04, 63.06, 62.08, 61.09, 60.11, 59.13, 58.15, 57.16, 56.18, 55.2, 54.21, 53.23, 52.25, 51.27, 50.29, 49.31, 48.33, 47.35, 46.37, 45.39, 44.41, 43.43, 42.45, 41.48, 40.51, 39.55, 38.59, 37.63, 36.67, 35.72, 34.76, 33.81, 32.86, 31.93, 31, 30.07, 29.14, 28.23, 27.32, 26.42, 25.52, 24.64, 23.75, 22.87, 22, 21.15, 20.3, 19.45, 18.62, 17.8, 16.99, 16.19, 15.39, 14.6, 13.82, 13.05, 12.31, 11.58, 10.88, 10.2, 9.55, 8.92, 8.32, 7.74, 7.19, 6.66, 6.15, 5.68, 5.25, 4.85, 4.43, 4.11, 3.82, 3.54, 3.3, 3.11, 2.94, 2.76, 2.6, 2.49, 2.42], female: [86.72, 85.96, 84.98, 83.99, 82.99, 82, 81, 80.01, 79.01, 78.01, 77.02, 76.02, 75.02, 74.03, 73.03, 72.04, 71.04, 70.05, 69.05, 68.06, 67.07, 66.07, 65.08, 64.09, 63.1, 62.12, 61.12, 60.13, 59.14, 58.15, 57.16, 56.16, 55.17, 54.18, 53.18, 52.19, 51.2, 50.22, 49.24, 48.25, 47.27, 46.28, 45.3, 44.32, 43.35, 42.37, 41.4, 40.43, 39.46, 38.5, 37.53, 36.57, 35.61, 34.66, 33.7, 32.75, 31.8, 30.86, 29.92, 28.99, 28.06, 27.13, 26.21, 25.29, 24.37, 23.47, 22.56, 21.66, 20.77, 19.89, 19.02, 18.15, 17.3, 16.45, 15.61, 14.8, 13.98, 13.19, 12.42, 11.66, 10.93, 10.22, 9.53, 8.86, 8.23, 7.62, 7.04, 6.49, 5.97, 5.49, 5.04, 4.64, 4.27, 3.92, 3.62, 3.35, 3.14, 2.94, 2.77, 2.68, 2.7], all: [85.21, 84.46, 83.47, 82.48, 81.48, 80.49, 79.49, 78.5, 77.5, 76.5, 75.5, 74.5, 73.5, 72.5, 71.5, 70.51, 69.51, 68.52, 67.53, 66.54, 65.55, 64.57, 63.58, 62.59, 61.61, 60.62, 59.64, 58.65, 57.66, 56.67, 55.69, 54.7, 53.71, 52.72, 51.74, 50.75, 49.77, 48.79, 47.8, 46.82, 45.84, 44.86, 43.88, 42.9, 41.93, 40.96, 39.99, 39.03, 38.07, 37.11, 36.15, 35.19, 34.24, 33.29, 32.35, 31.41, 30.47, 29.54, 28.62, 27.7, 26.79, 25.88, 24.98, 24.08, 23.19, 22.31, 21.43, 20.56, 19.69, 18.85, 18, 17.17, 16.35, 15.53, 14.72, 13.92, 13.14, 12.39, 11.65, 10.93, 10.24, 9.57, 8.92, 8.3, 7.71, 7.14, 6.6, 6.08, 5.61, 5.17, 4.73, 4.37, 4.05, 3.73, 3.46, 3.23, 3.04, 2.85, 2.69, 2.58, 2.56] }, AlternateLifeTable: { startAge: 50, male: [31.43, 30.53, 29.63, 28.73, 27.84, 26.95, 26.08, 25.2, 24.34, 23.48, 22.63, 21.79, 20.96, 20.14, 19.34, 18.54, 17.76, 16.99, 16.24, 15.49, 14.76, 14.04, 13.33, 12.64, 11.96, 11.31, 10.68, 10.07, 9.48, 8.92, 8.38, 7.86, 7.36, 6.89, 6.45, 6.03, 5.64, 5.27, 4.94, 4.63, 4.36, 4.11, 3.89, 3.69, 3.51, 3.36, 3.22, 3.1, 2.99, 2.9], female: [35.17, 34.24, 33.31, 32.38, 31.45, 30.53, 29.61, 28.7, 27.79, 26.89, 26, 25.11, 24.23, 23.35, 22.48, 21.62, 20.76, 19.92, 19.08, 18.24, 17.42, 16.61, 15.82, 15.03, 14.27, 13.51, 12.78, 12.05, 11.35, 10.67, 10.01, 9.37, 8.75, 8.17, 7.61, 7.08, 6.58, 6.11, 5.68, 5.28, 4.91, 4.57, 4.27, 3.99, 3.75, 3.53, 3.33, 3.16, 3, 2.86] }, SunSuper_50: { startAge: 55, male: [32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 13], female: [35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14] }, SunSuper_10: { startAge: 55, male: [42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22], female: [44, 43, 42, 41, 40, 39, 38, 37, 36, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23] }, EmployerAccrualTable: { rate_1: { contributionRate: 0, memberType: "qsuper", accrualRate: 0 }, rate_2: { contributionRate: .01, memberType: "qsuper", accrualRate: 0 }, rate_3: { contributionRate: .02, memberType: "qsuper", accrualRate: .135 }, rate_4: { contributionRate: .03, memberType: "qsuper", accrualRate: .16 }, rate_5: { contributionRate: .04, memberType: "qsuper", accrualRate: .185 }, rate_6: { contributionRate: .05, memberType: "qsuper", accrualRate: .21 }, rate_7: { contributionRate: 0, memberType: "qpolice", accrualRate: 0 }, rate_8: { contributionRate: .01, memberType: "qpolice", accrualRate: 0 }, rate_9: { contributionRate: .02, memberType: "qpolice", accrualRate: 0 }, rate_10: { contributionRate: .03, memberType: "qpolice", accrualRate: .14 }, rate_11: { contributionRate: .04, memberType: "qpolice", accrualRate: .175 }, rate_12: { contributionRate: .05, memberType: "qpolice", accrualRate: .21 }, rate_13: { contributionRate: .06, memberType: "qpolice", accrualRate: .245 }, rate_14: { contributionRate: 0, memberType: "AGEST", accrualRate: 0 }, rate_15: { contributionRate: .01, memberType: "AGEST", accrualRate: 0 }, rate_16: { contributionRate: .02, memberType: "AGEST", accrualRate: 0 }, rate_17: { contributionRate: .03, memberType: "AGEST", accrualRate: 0 }, rate_18: { contributionRate: .04, memberType: "AGEST", accrualRate: 0 }, rate_19: { contributionRate: .05, memberType: "AGEST", accrualRate: 0 }, rate_20: { contributionRate: .06, memberType: "AGEST", accrualRate: 0 }, rate_21: { contributionRate: .07, memberType: "AGEST", accrualRate: 0 }, rate_22: { contributionRate: .08, memberType: "AGEST", accrualRate: 0 }, rate_23: { contributionRate: .09, memberType: "AGEST", accrualRate: 0 }, rate_24: { contributionRate: .1, memberType: "AGEST", accrualRate: 0 } }, EmployerContributionTable: { rate_1: { contributionRate: 0, memberType: "qsuper", accumulationContributionRate: .09 }, rate_2: { contributionRate: .01, memberType: "qsuper", accumulationContributionRate: 0 }, rate_3: { contributionRate: .02, memberType: "qsuper", accumulationContributionRate: .0975 }, rate_4: { contributionRate: .03, memberType: "qsuper", accumulationContributionRate: .1075 }, rate_5: { contributionRate: .04, memberType: "qsuper", accumulationContributionRate: .1175 }, rate_6: { contributionRate: .05, memberType: "qsuper", accumulationContributionRate: .1275 }, rate_7: { contributionRate: 0, memberType: "qpolice", accumulationContributionRate: .09 }, rate_8: { contributionRate: .01, memberType: "qpolice", accumulationContributionRate: 0 }, rate_9: { contributionRate: .02, memberType: "qpolice", accumulationContributionRate: 0 }, rate_10: { contributionRate: .03, memberType: "qpolice", accumulationContributionRate: .12 }, rate_11: { contributionRate: .04, memberType: "qpolice", accumulationContributionRate: .14 }, rate_12: { contributionRate: .05, memberType: "qpolice", accumulationContributionRate: .16 }, rate_13: { contributionRate: .06, memberType: "qpolice", accumulationContributionRate: .18 } }, GovernmentIncomeProtectionTable: { startAge: 16, cost: [.00311, .00312, .00317, .00325, .00338, .00346, .00363, .00388, .00412, .00441, .00466, .00494, .00525, .00552, .00579, .00625, .00666, .00719, .00776, .00836, .00884, .00944, .01001, .01051, .0109, .01147, .01184, .01218, .01251, .01291, .01334, .01373, .01402, .01457, .01509, .01576, .01653, .01752, .01827, .01933, .02039, .02177, .02308, .02501, .02665, .02912, .03087, .03056, .01674, 0] }, PoliceIncomeProtectionTable: { startAge: 16, cost: [79e-5, 8e-4, 81e-5, 83e-5, 87e-5, 88e-5, 92e-5, 96e-5, 99e-5, .00104, .0011, .00114, .00121, .00129, .00132, .00143, .00155, .00166, .00179, .0019, .00202, .00212, .00224, .00234, .00246, .00255, .00267, .0028, .00294, .00306, .00325, .0034, .00351, .00364, .00379, .00402, .00421, .00446, .00477, .00506, .0053, .00571, .00433, 57e-5, 0] }, NonGovernmentIncomeProtectionTable: { startAge: 16, cost: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, SunSuperDeathTPDMale: { startAge: 15, cost: [2, 2, 2, 2, 2, 2, 2, 3.52, 3.52, 3.52, 3.52, 3.52, 3.52, 3.52, 3.52, 6.4, 6.4, 6.4, 6.4, 6.4, 6.4, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 7.56, 3.96, 3.96, 3.96] }, SunSuperDeathTPDFemale: { startAge: 15, cost: [1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 2.36, 2.36, 2.36, 2.36, 2.36, 2.36, 2.36, 2.36, 4.32, 4.32, 4.32, 4.32, 4.32, 4.32, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 5.92, 2.56, 2.56, 2.56] }, QSuperDeathTPDDefault: { startAge: 16, cost: [.6, .61, .61, .63, .66, .71, .8, .94, 1.1, 1.3, 1.5, 1.76, 2.05, 2.35, 2.65, 2.95, 3.24, 3.55, 3.86, 4.22, 4.58, 4.99, 5.43, 5.84, 6.24, 6.42, 6.43, 6.44, 6.44, 6.44, 6.44, 6.44, 6.44, 6.44, 6.31, 6.07, 5.82, 5.56, 5.33, 5.07, 4.72, 4.28, 3.78, 3.35, 2.96, 2.61, 2.39, 2.32, 2.23, .66, .72, .78, .85, .92] }, QSuperDeathTPDPolice: { startAge: 16, cost: [.73, .74, .74, .77, .81, .89, 1.02, 1.2, 1.43, 1.71, 2.01, 2.39, 2.8, 3.24, 3.69, 4.12, 4.57, 5.02, 5.48, 6, 6.52, 7.12, 7.76, 8.36, 8.95, 9.22, 9.24, 9.25, 9.26, 9.26, 9.27, 9.28, 9.27, 9.27, 9.07, 8.74, 8.37, 7.99, 7.66, 7.28, 6.78, 6.14, 5.42, 4.8, 0, 0] }, InTodaysTerms: !0, EquipDeathPremiums: { startAge: 0, cost: [] }, EquipTPDPremiums: { startAge: 0, cost: [] }, EquipDeathCoverTaper: { startAge: 0, cost: [] }, EquipTPDCoverTaper: { startAge: 0, cost: [] }, EquipInsurancePremiumSteps: { startAge: 0, cost: [] } } }, {}], 2: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var r = e("./modules/Engine"), i = e("./modules/Parameters"), o = e("./EngineResults"), a = e("./BrowserHelpers"); function s() { this.params = new i.Parameters } e("es6-promise").polyfill(), Object.defineProperty(s, "version", { get: function () { return "4.0.0" }, enumerable: !0, configurable: !0 }), s.prototype.setDefaults = function (e) { a.BrowserHelpers.ObjectToParameters(e, this.params) }, s.prototype.runSync = function (e) { a.BrowserHelpers.ObjectToParameters(e, this.params); e = new r.Engine(this.params).run(); return new o.EngineResults(e, this.params) }, s.prototype.run = function (e) { a.BrowserHelpers.ObjectToParameters(e, this.params); e = new r.Engine(this.params).run(); return Promise.resolve(new o.EngineResults(e, this.params)) }, n.BrowserEngine = s }, { "./BrowserHelpers": 3, "./EngineResults": 4, "./modules/Engine": 25, "./modules/Parameters": 41, "es6-promise": 49 }], 3: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var i = e("./modules/Parameters"), o = e("./lib/Helpers"), c = e("./lib/AdvDate"), l = e("./modules/LifeTable"), h = e("./modules/InsuranceTable"), m = e("./modules/AccrualTable"), _ = e("./modules/RetirementDrawingsTable"), p = e("./modules/InvestmentOptionList"), d = e("./modules/IncomeTaxScheme"); function a() { } a.main = function (e, t, n) { var r = new i.Parameters; a.ObjectToParameters(e, r); n.helpers = new o.Helpers(r), t && t(this) }, a.ObjectToParameters = function (e, t) { for (var n in e) if (e.hasOwnProperty(n)) { var r, i = e[n]; "string" == typeof i && (r = i.match(new RegExp("/", "g"))) && 2 === r.length && (i = new c.AdvDate(i)), "WageInflationIndex" !== n && "PriceInflationIndex" !== n && "SunSuperTargetIncomeInflationInRetirement" !== n || "string" == typeof i && (i = i.split(" ").map(parseFloat)), -1 < ["AbsLifeTable", "AlternateLifeTable", "SunSuper_50", "SunSuper_10"].indexOf(n) && ((o = new l.LifeTable).initialise(i.startAge, i.male, i.female, i.all), i = o), -1 < ["GovernmentIncomeProtectionTable", "NonGovernmentIncomeProtectionTable", "SunSuperDeathTPDMale", "SunSuperDeathTPDFemale", "VisionIncomeProtection", "EquipDeathPremiums", "EquipTPDPremiums", "EquipDeathCoverTaper", "EquipTPDCoverTaper", "EquipInsurancePremiumSteps", "QSuperDeathTPDDefault", "QSuperDeathTPDPolice", "PoliceIncomeProtectionTable"].indexOf(n) && ((o = new h.InsuranceTable).initialise(i.startAge, i.cost), i = o); if (-1 < ["EmployerAccrualTable"].indexOf(n)) { var o = new m.AccrualTable; for (s in i) i.hasOwnProperty(s) && o.addAccrualRate(i[s].accrualRate, i[s].contributionRate, i[s].memberType); i = o } if (-1 < ["RetirementDrawingsTable"].indexOf(n) && ((o = new _.RetirementDrawingsTable).initialise(i.startAge, i.drawingsPercentage), i = o), "InvestmentOptions" === n) { var a = new p.InvestmentOptionList; for (s in i) i.hasOwnProperty(s) && a.addInvestmentOption(i[s]); i = a } if ("IncomeTaxRates" === n || "IncomeTaxRates_2022" === n || "IncomeTaxRates_2024" === n) { var s, u = new d.IncomeTaxScheme; for (s in i) i.hasOwnProperty(s) && u.addBand(i[s].bandStart, i[s].rate); i = u } "CalculationDate" === n && "string" == typeof i && (i = new c.AdvDate(i)), t.setParam(n, i) } }, n.BrowserHelpers = a }, { "./lib/AdvDate": 9, "./lib/Helpers": 12, "./modules/AccrualTable": 18, "./modules/IncomeTaxScheme": 27, "./modules/InsuranceTable": 33, "./modules/InvestmentOptionList": 35, "./modules/LifeTable": 36, "./modules/Parameters": 41, "./modules/RetirementDrawingsTable": 47 }], 4: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var r = e("./lib/AdvDate"), i = e("./modules/PreservationTable"); function o(e, t) { this.engineResults = e, this.parameters = t.clone(), this.runOutAge = e.subjectOutput.runOutAge, this.preservationAge = this.getPreservationAge((new r.AdvDate).plus(-1 * t.getParamNumber("AgeNow"))), this.lifeExpectancy = this.getlifeExpectancy(t.getParamNumber("AgeNow"), t.getParamString("Sex"), t), this.deflatedCombinedBalanceAtRetirement = e.deflatedCombinedBalanceAtRetirement(), this.deflatedCombinedIncomeAtRetirement = e.deflatedCombinedIncomeAtRetirement() } o.prototype.getPreservationAge = function (e) { return i.PreservationTable.createDefault().preservationAge(e) }, o.prototype.getlifeExpectancy = function (e, t, n) { n = n.getParamObject("AbsLifeTable"), t = Math.floor(n.lifeExpectancy(Math.max(e, n.startAge), t)); return Math.max(e, n.startAge) + t }, n.EngineResults = o }, { "./lib/AdvDate": 9, "./modules/PreservationTable": 45 }], 5: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var r = e("./modules/Engine"), u = e("./lib/AdvDate"), c = e("./modules/Parameters"), i = e("./EngineResults"), l = e("./modules/LifeTable"), h = e("./modules/InsuranceTable"), m = e("./modules/InvestmentOptionList"), _ = e("./modules/IncomeTaxScheme"); function o() { } Object.defineProperty(o, "version", { get: function () { return "4.0.1" }, enumerable: !0, configurable: !0 }), o.prototype.loadInputs = function (e) { for (var t in void 0 === this.params && (this.params = new c.Parameters), e) if (e.hasOwnProperty(t)) { var n, r, i = e[t]; "string" == typeof i && (n = i.match(new RegExp("/", "g"))) && 2 === n.length && (i = new u.AdvDate(i)), "WageInflationIndex" !== t && "PriceInflationIndex" !== t && "SunSuperTargetIncomeInflationInRetirement" !== t || ("string" == typeof i ? i = i.split(" ").map(parseFloat) : "number" == typeof i && (i = [i])), -1 < ["AbsLifeTable", "AlternateLifeTable", "SunSuper_50", "SunSuper_10"].indexOf(t) && ((r = new l.LifeTable).initialise(i.startAge, i.male, i.female, i.all), i = r); if (-1 < ["GovernmentIncomeProtectionTable", "NonGovernmentIncomeProtectionTable", "SunSuperDeathTPDMale", "SunSuperDeathTPDFemale", "VisionIncomeProtection", "EquipDeathPremiums", "EquipTPDPremiums", "EquipDeathCoverTaper", "EquipTPDCoverTaper", "EquipInsurancePremiumSteps", "QSuperDeathTPDDefault", "QSuperDeathTPDPolice", "PoliceIncomeProtectionTable"].indexOf(t) && ((r = new h.InsuranceTable).initialise(i.startAge, i.cost), i = r), "InvestmentOptions" === t) { var o = new m.InvestmentOptionList; for (a in i) i.hasOwnProperty(a) && o.addInvestmentOption(i[a]); i = o } if ("IncomeTaxRates" === t || "IncomeTaxRates_2022" === t || "IncomeTaxRates_2024" === t) { var a, s = new _.IncomeTaxScheme; for (a in i) i.hasOwnProperty(a) && s.addBand(i[a].bandStart, i[a].rate); i = s } this.params.setParam(t, i) } }, o.prototype.run = function (e) { if (void 0 !== (e = void 0 === e ? void 0 : e) && this.loadInputs(e), void 0 === this.params) throw "Load config before running the engine"; e = new r.Engine(this.params).run(); return new i.EngineResults(e, this.params) }, n.NodeEngine = o }, { "./EngineResults": 4, "./lib/AdvDate": 9, "./modules/Engine": 25, "./modules/IncomeTaxScheme": 27, "./modules/InsuranceTable": 33, "./modules/InvestmentOptionList": 35, "./modules/LifeTable": 36, "./modules/Parameters": 41 }], 6: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var o = e("./modules/Constants"), i = function () { }, e = (n.RunOutSolverResults = i, a.setTargetIncomeForRunOut = function (e, t, n) { var r = new i, e = new a(e, t, n); return e.solve() ? r.targetIncome = e.targetIncomeAtSmallestDifference : r.targetIncome = e.highestTargetIncomeForRunoutAboveTarget, r.foundSolution = e._foundSolution, r }, a.prototype.solve = function () { for (var e = 0, t = (this._foundSolution = !1, this._smallestDifference = Number.POSITIVE_INFINITY, this._highestTargetIncomeForRunoutAboveTarget = 0), n = Math.floor(2 * this.guessUpperBound()); e++ < 20 && !this._foundSolution;) { var r = Math.floor((t + n) / 2); this.inputs.TargetIncome = r; var i = this.engine.runSync(this.inputs).engineResults.subjectAgeOfFirstFailureToMeetTarget(r, .05) - this.targetRunOutAge - 1; if (0 < i) { if (t = r, 1 === e) break } else i < 0 ? n = r : this._foundSolution = !0; if (0 < i && (this._highestTargetIncomeForRunoutAboveTarget = Math.max(this._highestTargetIncomeForRunoutAboveTarget, r)), Math.abs(i) < Math.abs(this._smallestDifference) && (this._targetIncomeAtSmallestDifference = r, this._smallestDifference = i), n - t <= 1) break } return this.inputs.TargetIncome = this.baseTargetIncome, this._foundSolution }, Object.defineProperty(a.prototype, "highestTargetIncomeForRunoutAboveTarget", { get: function () { return this._highestTargetIncomeForRunoutAboveTarget }, enumerable: !0, configurable: !0 }), a.prototype.guessUpperBound = function () { var e = this.engine.runSync(this.inputs), t = e.engineResults.subjectOutput.deflatedAssetsInYear[e.engineResults.get_subjectRetirementAgeIndex()], n = e.engineResults.partnerOutput.deflatedAssetsInYear[e.engineResults.get_partnerRetirementAgeIndex()], r = this.targetRunOutAge - this.engine.params.getParamNumber("RetirementAge"), i = Math.pow(1.1, r), t = t + (e.engineResults.includePartner ? n : 0); return 1.1 * (2 * this.engine.params.getParamNumber("PensionCouple") * o.FORTNIGHTS_PER_YEAR + i * t / r) }, Object.defineProperty(a.prototype, "foundSolution", { get: function () { return this._foundSolution }, enumerable: !0, configurable: !0 }), Object.defineProperty(a.prototype, "smallestDifference", { get: function () { return this._smallestDifference }, enumerable: !0, configurable: !0 }), Object.defineProperty(a.prototype, "targetIncomeAtSmallestDifference", { get: function () { return this._targetIncomeAtSmallestDifference }, enumerable: !0, configurable: !0 }), a); function a(e, t, n) { this.engine = e, this.inputs = t, this.targetRunOutAge = n, this.baseTargetIncome = t.TargetIncome || 0 } n.RunOutSolver = e }, { "./modules/Constants": 22 }], 7: [function (e, t, n) { "use strict"; var r = this && this.__awaiter || function (o, a, s, u) { return new (s = s || Promise)(function (e, t) { function n(e) { try { i(u.next(e)) } catch (e) { t(e) } } function r(e) { try { i(u.throw(e)) } catch (e) { t(e) } } function i(t) { t.done ? e(t.value) : new s(function (e) { e(t.value) }).then(n, r) } i((u = u.apply(o, a || [])).next()) }) }, i = this && this.__generator || function (r, i) { var o, a, s, u = { label: 0, sent: function () { if (1 & s[0]) throw s[1]; return s[1] }, trys: [], ops: [] }, e = { next: t(0), throw: t(1), return: t(2) }; return "function" == typeof Symbol && (e[Symbol.iterator] = function () { return this }), e; function t(n) { return function (e) { var t = [n, e]; if (o) throw new TypeError("Generator is already executing."); for (; u;)try { if (o = 1, a && (s = 2 & t[0] ? a.return : t[0] ? a.throw || ((s = a.return) && s.call(a), 0) : a.next) && !(s = s.call(a, t[1])).done) return s; switch (a = 0, (t = s ? [2 & t[0], s.value] : t)[0]) { case 0: case 1: s = t; break; case 4: return u.label++, { value: t[1], done: !1 }; case 5: u.label++, a = t[1], t = [0]; continue; case 7: t = u.ops.pop(), u.trys.pop(); continue; default: if (!(s = 0 < (s = u.trys).length && s[s.length - 1]) && (6 === t[0] || 2 === t[0])) { u = 0; continue } if (3 === t[0] && (!s || t[1] > s[0] && t[1] < s[3])) u.label = t[1]; else if (6 === t[0] && u.label < s[1]) u.label = s[1], s = t; else { if (!(s && u.label < s[2])) { s[2] && u.ops.pop(), u.trys.pop(); continue } u.label = s[2], u.ops.push(t) } }t = i.call(r, u) } catch (e) { t = [6, e], a = 0 } finally { o = s = 0 } if (5 & t[0]) throw t[1]; return { value: t[0] ? t[1] : void 0, done: !0 } } } }, C = (Object.defineProperty(n, "__esModule", { value: !0 }), e("lodash")), e = (n.TargetIncomeSolverResults = function () { }, o.prototype.init = function (e, t, n) { void 0 === n && (n = !1), this.engine = e, this.inputs = t, this.debugMode = n }, o.prototype.solve = function (e) { (e = void 0 === e ? !1 : e) && (this.inputs = e); var t, n, r, i = this.inputs.ScenarioCount || 10, o = this.inputs.SearchTolerance || 100, a = this.inputs.MaximumIterations || 10, s = this.inputs.RunOutAge || 92, u = this.inputs.IncludePartner, e = this.inputs.RetirementAge, c = this.inputs.AgeNow, l = Array.from({ length: i + 1 }, function () { return 0 }), h = Array.from({ length: i + 1 }, function () { return 0 }), m = Array.from({ length: i + 1 }, function () { return 0 }), _ = s - c, e = e - c, p = 0, d = !1, f = !1, g = 0, y = 1, b = null, b = this.engine.runSync(this.inputs); for (this.debugMode && console.log("TargetIncomeSolver -> First Run -> ", "RetirementAgeRow:", e, "age[" + e + "]:", b.engineResults.subjectOutput.age[e], "Inputs:", C.cloneDeep(this.inputs), "Output:", C.cloneDeep(b)), n = b.engineResults.subjectOutput, r = b.engineResults.partnerOutput, t = u ? n.deflatedAccumulationAssetsInYear[e] + n.deflatedPensionAssetsInYear[e] + r.deflatedAccumulationAssetsInYear[e] + r.deflatedPensionAssetsInYear[e] + n.deflatedOtherIncome[e] : n.deflatedAccumulationAssetsInYear[e] + n.deflatedPensionAssetsInYear[e] + n.deflatedOtherIncome[e], t = Math.max(t, 1e5), this.debugMode && (console.log("TargetIncomeSolver -> IncludePartner", u), console.log("TargetIncomeSolver -> MaximumTargetIncomeToTest", t)); !f && y <= a;) { for (var P = (t - g) / (i - 1), T = 1; T <= i; T++)this.debugMode && console.log("For loop -> i =", T), l[T] = t - P * (T - 1); this.debugMode && (console.log("TargetIncomeSolver -> MaximumTargetIncomeToTest", t), console.log("TargetIncomeSolver -> MinimumTargetIncomeToTest", g), console.log("TargetIncomeSolver -> ScenarioStep", P), console.log("TargetIncomeSolver -> TargetIncomeScenarios", C.cloneDeep(l))); for (var A = 1; A <= i; A++)if (this.debugMode && console.log("For loop -> i =", A), this.inputs.TargetIncome = l[A], b = this.engine.runSync(this.inputs), this.debugMode && console.log("TargetIncomeSolver -> For Loop -> ", "Inputs", C.cloneDeep(this.inputs), "Output", C.cloneDeep(b)), n = b.engineResults.subjectOutput, r = b.engineResults.partnerOutput, u) h[A] = n.deflatedAccumulationAssetsInYear[_] + n.deflatedPensionAssetsInYear[_] + r.deflatedAccumulationAssetsInYear[_] + r.deflatedPensionAssetsInYear[_], m[A] = n.deflatedAgePension[_ - 1] + n.deflatedPensionDrawingsInYear[_ - 1] + r.deflatedAgePension[_ - 1] + r.deflatedPensionDrawingsInYear[_ - 1]; else if (h[A] = n.deflatedAccumulationAssetsInYear[_] + n.deflatedPensionAssetsInYear[_], m[A] = n.deflatedAgePension[_ - 1] + n.deflatedPensionDrawingsInYear[_ - 1], this.debugMode) try { console.warn("i", A, "BalanceAtRunOutAge", n.deflatedAccumulationAssetsInYear[_] + n.deflatedPensionAssetsInYear[_], "IncomeInFinalYear", n.deflatedAgePension[_ - 1] + n.deflatedPensionDrawingsInYear[_ - 1], "+ / - lines for comparison", "BalanceAtRunOutAge", n.deflatedAccumulationAssetsInYear[1 + _] + n.deflatedPensionAssetsInYear[1 + _], "/", "BalanceAtRunOutAge", n.deflatedAccumulationAssetsInYear[_ - 1] + n.deflatedPensionAssetsInYear[_ - 1], "---", "IncomeInFinalYear", n.deflatedAgePension[_] + n.deflatedPensionDrawingsInYear[_], "/", "IncomeInFinalYear", n.deflatedAgePension[_ - 2] + n.deflatedPensionDrawingsInYear[_ - 2]) } catch (e) { console.log(e) } this.debugMode && console.log("TargetIncomeSolver -> ", "RunOutAgeRow", _, "|", "BalanceAtRunOutAge", C.cloneDeep(h), "IncomeInFinalYear", C.cloneDeep(m)); for (var p = 0, d = !1, I = 1; I <= i; I++)this.debugMode && console.log("For loop -> i =", I), 0 < h[I] && !d && (p = I, d = !0); this.debugMode && d && console.log("TargetIncomeSolver -> ", "IndexFirstTargetIncomeScenarioWithRemainingFunds / i", p, "FoundFirstTargetIncomeScenarioWithRemainingFunds", d), 1 == p || h[p] < o && 0 - m[p] < o ? f = !0 : (g = l[p], t = l[p - 1]), this.debugMode && console.log("TargetIncomeSolver -> ", "FoundAcceptableScenario", f, "RunOutAge", s, "|", "MinimumTargetIncomeToTest", g, "MaximumTargetIncomeToTest", t, "|", "iterationcount", y), y++ } return f && (this.inputs.TargetIncome = l[p]), b = this.engine.runSync(this.inputs), { foundAcceptableScenario: f, targetIncome: this.inputs.TargetIncome, output: b } }, o.prototype.solveAsync = function (t) { return void 0 === t && (t = !1), r(this, void 0, void 0, function () { return i(this, function (e) { return [2, Promise.resolve(this.solve(t))] }) }) }, o); function o() { } n.TargetIncomeSolver = e }, { lodash: 51 }], 8: [function (e, t, n) { "use strict"; function r(e) { for (var t in e) n.hasOwnProperty(t) || (n[t] = e[t]) } Object.defineProperty(n, "__esModule", { value: !0 }), r(e("./NodeEngine")), r(e("./lib/AdvDate")), r(e("./lib/Helpers")), r(e("./BrowserEngine")), r(e("./BrowserHelpers")), r(e("./EngineResults")), r(e("./RunOutSolver")), r(e("./TargetIncomeSolver")), r(e("./modules/Account")), r(e("./modules/AccountType")), r(e("./modules/AccrualTable")), r(e("./modules/AgePensionBasis")), r(e("./modules/CoContributionBasis")), r(e("./modules/Constants")), r(e("./modules/ContributionTable")), r(e("./modules/Employer")), r(e("./modules/IncomeTaxBand")), r(e("./modules/IncomeTaxScheme")), r(e("./modules/IndexationBasis")), r(e("./modules/IndexedDollarParameter")), r(e("./modules/IndexedInvestmentOption")), r(e("./modules/IndexedInvestmentOptionList")), r(e("./modules/Insurance")), r(e("./modules/InsuranceTable")), r(e("./modules/InvestmentOption")), r(e("./modules/InvestmentOptionList")), r(e("./modules/LifeTable")), r(e("./modules/LinearScale")), r(e("./modules/MemberType")), r(e("./modules/Output")), r(e("./modules/Parameters")), r(e("./modules/PAYGIncomeTaxBasis")), r(e("./modules/Person")), r(e("./modules/PersonOutput")), r(e("./modules/PreservationTable")), r(e("./modules/Projection")), r(e("../assets/config/js/defaults")) }, { "../assets/config/js/defaults": 1, "./BrowserEngine": 2, "./BrowserHelpers": 3, "./EngineResults": 4, "./NodeEngine": 5, "./RunOutSolver": 6, "./TargetIncomeSolver": 7, "./lib/AdvDate": 9, "./lib/Helpers": 12, "./modules/Account": 16, "./modules/AccountType": 17, "./modules/AccrualTable": 18, "./modules/AgePensionBasis": 19, "./modules/CoContributionBasis": 21, "./modules/Constants": 22, "./modules/ContributionTable": 23, "./modules/Employer": 24, "./modules/IncomeTaxBand": 26, "./modules/IncomeTaxScheme": 27, "./modules/IndexationBasis": 28, "./modules/IndexedDollarParameter": 29, "./modules/IndexedInvestmentOption": 30, "./modules/IndexedInvestmentOptionList": 31, "./modules/Insurance": 32, "./modules/InsuranceTable": 33, "./modules/InvestmentOption": 34, "./modules/InvestmentOptionList": 35, "./modules/LifeTable": 36, "./modules/LinearScale": 37, "./modules/MemberType": 38, "./modules/Output": 39, "./modules/PAYGIncomeTaxBasis": 40, "./modules/Parameters": 41, "./modules/Person": 42, "./modules/PersonOutput": 43, "./modules/PreservationTable": 45, "./modules/Projection": 46 }], 9: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var r = e("./g11n/Culture"), e = (a.prototype.duplicateDate = function (e) { return new Date(e.getTime()) }, a.prototype.makeFromNothing = function () { return new Date }, a.prototype.makeFromNumber = function (e) { return new Date(e) }, a.prototype.makeFromString = function (e) { var e = a.splitStringDate(e), t = e[0], n = e[1], e = e[2]; return new Date(e, n - 1, t, 12, 0, 0, 0) }, a.prototype.makeFromThreeNumbers = function (e, t, n) { return new Date(e, t - 1, n) }, a.earlierOf = function (e, t) { return e.beforeOrOn(t) ? e : t }, a.laterOf = function (e, t) { return e.afterOrOn(t) ? e : t }, a.stringMonthToNumber = function (e) { switch (e.toLowerCase().substring(0, 3)) { case "jan": return 1; case "feb": return 2; case "mar": return 3; case "apr": return 4; case "may": return 5; case "jun": return 6; case "jul": return 7; case "aug": return 8; case "sep": return 9; case "oct": return 10; case "nov": return 11; case "dec": return 12; default: return Number.NaN } }, a.daysInMonth = function (e) { switch (e) { case 9: case 4: case 6: case 11: return 30; case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31; case 2: return 28; default: return Number.NaN } }, a.daysToDayOfMonth = function (e, t) { for (var n = e, r = 1; r < t; r++)n += a.daysInMonth(r); return n }, a.compareDates = function (e, t, n, r, i, o) { return a.daysToDayOfMonth(r, i) / a.DAYS_IN_YEAR + o - a.daysToDayOfMonth(e, t) / a.DAYS_IN_YEAR - n }, a.compareDateObjects = function (e, t) { return a.compareDates(e.getDate(), e.getMonth() + 1, e.getFullYear(), t.getDate(), t.getMonth() + 1, t.getFullYear()) }, a.compareAdvDateObjects = function (e, t) { return a.compareDates(e.getDate(), e.getMonth() + 1, e.getFullYear(), t.getDate(), t.getMonth() + 1, t.getFullYear()) }, a.monthsBetween = function (e, t) { var n; return null != e && null != t && 0 < a.compareAdvDateObjects(e, t) ? (n = (t.getFullYear() - e.getFullYear()) * a.MONTHS_IN_YEAR + t.getMonth() - e.getMonth(), e.getDate() > t.getDate() ? n - 1 : n) : -1 }, a.roundMonths = function (e) { return Math.round(e * a.MONTHS_IN_YEAR) / a.MONTHS_IN_YEAR }, a.floorMonths = function (e) { return Math.floor(e * a.MONTHS_IN_YEAR) / a.MONTHS_IN_YEAR }, a.validStringDate = function (e) { e = a.splitStringDate(e); return !(isNaN(e[0]) || isNaN(e[1]) || isNaN(e[2]) || e[1] < 1 || e[1] > a.MONTHS_IN_YEAR || e[0] < 1 || e[0] > a.daysInMonth(e[1] + 1)) }, a.today = function () { var e = a.now(); return e.setHours(0), e.setMinutes(0), e.setSeconds(0), e.setMilliseconds(0), e }, a.now = function () { return new a }, a.splitStringDate = function (e) { e = e.split("/"); return [parseInt(e[0], 10), parseInt(e[1], 10), parseInt(e[2], 10)] }, Object.defineProperty(a.prototype, "date", { get: function () { return this._date.getDate() }, set: function (e) { this._date.setDate(e) }, enumerable: !0, configurable: !0 }), Object.defineProperty(a.prototype, "day", { get: function () { return this._date.getDay() }, enumerable: !0, configurable: !0 }), Object.defineProperty(a.prototype, "fullYear", { get: function () { return this._date.getFullYear() }, set: function (e) { this._date.setFullYear(e) }, enumerable: !0, configurable: !0 }), Object.defineProperty(a.prototype, "hours", { get: function () { return this._date.getHours() }, set: function (e) { this._date.setHours(e) }, enumerable: !0, configurable: !0 }), Object.defineProperty(a.prototype, "milliseconds", { get: function () { return this._date.getMilliseconds() }, set: function (e) { this._date.setMilliseconds(e) }, enumerable: !0, configurable: !0 }), Object.defineProperty(a.prototype, "minutes", { get: function () { return this._date.getMinutes() }, set: function (e) { this._date.setMinutes(e) }, enumerable: !0, configurable: !0 }), Object.defineProperty(a.prototype, "month", { get: function () { return this._date.getMonth() + 1 }, set: function (e) { this._date.setMonth(e - 1) }, enumerable: !0, configurable: !0 }), Object.defineProperty(a.prototype, "seconds", { get: function () { return this._date.getSeconds() }, set: function (e) { this._date.setSeconds(e) }, enumerable: !0, configurable: !0 }), Object.defineProperty(a.prototype, "time", { get: function () { return this._date.getTime() }, set: function (e) { this._date.setTime(e) }, enumerable: !0, configurable: !0 }), Object.defineProperty(a.prototype, "timezoneOffset", { get: function () { return this._date.getTimezoneOffset() }, enumerable: !0, configurable: !0 }), a.prototype.get_date = function () { return this._date.getDate() }, a.prototype.get_day = function () { return this._date.getDay() }, a.prototype.get_fullYear = function () { return this._date.getFullYear() }, a.prototype.get_hours = function () { return this._date.getHours() }, a.prototype.get_milliseconds = function () { return this._date.getMilliseconds() }, a.prototype.get_minutes = function () { return this._date.getMinutes() }, a.prototype.get_month = function () { return this._date.getMonth() + 1 }, a.prototype.get_seconds = function () { return this._date.getSeconds() }, a.prototype.get_time = function () { return this._date.getTime() }, a.prototype.get_timezoneOffset = function () { return this._date.getTimezoneOffset() }, a.prototype.toDate = function () { return new Date(this.getTime()) }, a.prototype.getDay = function () { return this._date.getDay() }, a.prototype.getDate = function () { return this._date.getDate() }, a.prototype.getMonth = function () { return this._date.getMonth() + 1 }, a.prototype.getFullYear = function () { return this._date.getFullYear() }, a.prototype.getTime = function () { return this._date.getTime() }, a.prototype.getTimeZoneOffset = function () { return this._date.getTimezoneOffset() }, a.prototype.setHours = function (e, t, n, r) { this._date.setHours(e, t = void 0 === t ? 0 : t, n = void 0 === n ? 0 : n, r = void 0 === r ? 0 : r) }, a.prototype.setMinutes = function (e, t, n) { this._date.setMinutes(e, t = void 0 === t ? 0 : t, n = void 0 === n ? 0 : n) }, a.prototype.setSeconds = function (e, t) { this._date.setSeconds(e, t = void 0 === t ? 0 : t) }, a.prototype.setMilliseconds = function (e) { this._date.setHours(e) }, a.prototype.toString = function () { return (this.getDate() < 10 ? "0" + this.getDate() : "" + this.getDate()) + "/" + (this.getMonth() + 1 < 10 ? "0" + (this.getMonth() + 1) : "" + (this.getMonth() + 1)) + "/" + this.getFullYear() }, a.prototype.dayPostfix = function () { switch (this._date.getDate()) { case 1: case 21: case 31: return "st"; case 2: case 22: return "nd"; case 3: case 23: return "rd"; default: return "th" } }, a.prototype.monthString = function () { switch (this._date.getMonth() + 1) { case 1: return "January"; case 2: return "February"; case 3: return "March"; case 4: return "April"; case 5: return "May"; case 6: return "June"; case 7: return "July"; case 8: return "August"; case 9: return "September"; case 10: return "October"; case 11: return "November"; case 12: return "December"; default: return "" } }, a.prototype.minus = function (e) { return a.compareAdvDateObjects(e, this) }, a.prototype.plus = function (e) { for (var e = e + this.getFullYear(), t = Math.floor(e), n = t, e = this.getMonth() + (e - t) * a.MONTHS_IN_YEAR, r = e, i = Math.floor(e); i > a.MONTHS_IN_YEAR - 1;)i -= a.MONTHS_IN_YEAR, r -= a.MONTHS_IN_YEAR, n++; for (var t = this.getDate() + (r - i) * (a.DAYS_IN_YEAR / a.MONTHS_IN_YEAR), o = Math.floor(t); o > a.daysInMonth(i + 1);)o -= a.daysInMonth(i + 1), a.daysInMonth(i + 1), i++, i %= 12; return new a(n, i, o) }, a.prototype.before = function (e) { return "number" == typeof e ? this.getTime() - e < 0 : this.getTime() - e.getTime() < 0 }, a.prototype.after = function (e) { return "number" == typeof e ? 0 < this.getTime() - e : 0 < this.getTime() - e.getTime() }, a.prototype.equals = function (e) { return e.getTime() === this.getTime() }, a.prototype.beforeOrOn = function (e) { return this.getTime() - e.getTime() <= 0 }, a.prototype.afterOrOn = function (e) { return 0 <= this.getTime() - e.getTime() }, Object.defineProperty(a.prototype, "financialYear", { get: function () { return r.Culture.getDefault().financialYear(this) }, enumerable: !0, configurable: !0 }), a.prototype.get_financialYear = function () { return r.Culture.getDefault().financialYear(this) }, a.prototype.clone = function () { return new a(this.getTime()) }, Object.defineProperty(a.prototype, "dateWithMonthString", { get: function () { return this._date.getDate() + " " + this.monthString() + " " + this._date.getFullYear() }, enumerable: !0, configurable: !0 }), a.prototype.get_dateWithMonthString = function () { return this._date.getDate() + " " + this.monthString() + " " + this._date.getFullYear() }, a.DAYS_IN_YEAR = 365, a.WEEKS_IN_YEAR = 52, a.MONTHS_IN_YEAR = 12, a.HOURS_IN_DAY = 24, a.MINUTES_IN_HOUR = 60, a.SECONDS_IN_MINUTE = 60, a.MILLIS_IN_SECOND = 1e3, a.DATE_CACHE = {}, a); function a() { for (var e = [], t = 0; t < arguments.length; t++)e[t] = arguments[t]; if (0 === e.length) this._date = this.makeFromNothing(); else if (1 === e.length && "string" == typeof e[0]) { var n = e[0]; void 0 === a.DATE_CACHE[n] && (a.DATE_CACHE[n] = this.makeFromString(n)), this._date = this.duplicateDate(a.DATE_CACHE[n]) } else if (1 === e.length && "number" == typeof e[0]) this._date = this.makeFromNumber(e[0]); else if (1 === e.length && "object" == typeof e[0] && e[0] instanceof Date) this._date = this.duplicateDate(e[0]); else { if (3 !== e.length || "number" != typeof e[0] || "number" != typeof e[1] || "number" != typeof e[2]) throw new Error("Unsupported number of args"); n = e[2] + "/" + e[1] + "/" + e[0]; void 0 === a.DATE_CACHE[n] && (a.DATE_CACHE[n] = this.makeFromThreeNumbers(e[0], e[1], e[2])), this._date = this.duplicateDate(a.DATE_CACHE[n]) } } n.AdvDate = e }, { "./g11n/Culture": 13 }], 10: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.InitialiseArray = function (e) { for (var t = new Array(e); 0 <= --e;)t[e] = 0; return t } }, {}], 11: [function (e, t, n) { "use strict"; function r() { } Object.defineProperty(n, "__esModule", { value: !0 }), n.ALL = 2, n.MALE = 1, n.FEMALE = 0, r.fromString = function (e) { return "M" === e.toUpperCase().charAt(0) ? n.MALE : "F" === e.toUpperCase().charAt(0) ? n.FEMALE : "A" === e.toUpperCase().charAt(0) ? n.ALL : Number.NaN }, r.toString = function (e) { return e === n.MALE ? "male" : e === n.FEMALE ? "female" : e === n.ALL ? "all" : "ERROR" }, n.Gender = r }, {}], 12: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var r = e("../modules/PreservationTable"), i = e("../modules/AgePensionBasis"), o = e("../modules/PAYGIncomeTaxBasis"), a = e("./Gender"), s = e("../index"); function u(e) { this.p = e, this.tax = new o.PAYGIncomeTaxBasis, this.wageInflation = new s.IndexationBasis, this.wageInflation.initialise(this.p.getParamObject("WageInflationIndex")), this.tax.initialise(e, this.p.getParamBoolean("Married"), this.wageInflation) } u.prototype.get_DateOfBirth = function () { return this.dateOfBirth(this.p.getParamNumber("AgeNow")) }, u.prototype.get_DateOfBirth_2 = function () { return this.dateOfBirth(this.p.getParamNumber("AgeNow_2")) }, u.prototype.get_PreservationAge = function () { return this.preservationAge(this.get_DateOfBirth()) }, u.prototype.get_PreservationAge_2 = function () { return this.preservationAge(this.get_DateOfBirth_2()) }, u.prototype.get_AgePensionAge = function () { return this.agePensionAge(this.p.getParamString("Sex"), this.get_DateOfBirth()) }, u.prototype.get_AgePensionAge_2 = function () { return this.agePensionAge(this.p.getParamString("Sex_2"), this.get_DateOfBirth_2()) }, u.prototype.get_LifeExpectancy = function () { return this.lifeExpectancy(this.p.getParamNumber("AgeNow"), this.p.getParamString("Sex")) }, u.prototype.get_LifeExpectancy_2 = function () { return this.lifeExpectancy(this.p.getParamNumber("AgeNow_2"), this.p.getParamString("Sex_2")) }, u.prototype.currentTakeHomePay = function () { return this.p.getParamNumber("Salary") - this.tax.taxPayable(this.p.getParamString("Sex"), this.get_DateOfBirth(), this.p.getParamNumber("AgeNow"), this.p.getParamNumber("Salary")) }, u.prototype.currentTakeHomePay_2 = function () { return this.p.getParamNumber("Salary_2") - this.tax.taxPayable(this.p.getParamString("Sex_2"), this.get_DateOfBirth_2(), this.p.getParamNumber("AgeNow_2"), this.p.getParamNumber("Salary_2")) }, u.prototype.dateOfBirth = function (e) { return this.p.getParamObject("CalculationDate").plus(-.5 - e) }, u.prototype.preservationAge = function (e) { return r.PreservationTable.createDefault().preservationAge(e) }, u.prototype.lifeExpectancy = function (e, t) { var n = this.p.getParamObject("AbsLifeTable"), t = a.Gender.fromString(t), e = Math.max(e, n.startAge); return e + Math.floor(n.lifeExpectancy(e, t)) }, u.prototype.agePensionAge = function (e, t) { for (var n = 60; n < 100; n++)if (i.AgePensionBasis.isQualifyingAgeForAgePension(e, t, n)) return n }, n.Helpers = u }, { "../index": 8, "../modules/AgePensionBasis": 19, "../modules/PAYGIncomeTaxBasis": 40, "../modules/PreservationTable": 45, "./Gender": 11 }], 13: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var r = e("./cultureinfo/CultureInfo_enAU"), i = e("./cultureinfo/CultureInfo_enUK"); function o(e, t) { this._cultureInfo = o.findCultureInfo(e, t) } o.getDefault = function () { return o._default = void 0 === o._default ? o.enAU() : o._default }, o.setDefault = function (e) { o._default = e }, o.registerCulture = function (e, t, n) { (o._cultureInfoPool = o.poolEmpty() ? new Object : o._cultureInfoPool)[e + t] = new n }, o.enUK = function () { return o._enUK = void 0 === o._enUK ? new o(o.ENGLISH, o.UK) : o._enUK }, o.enAU = function () { return o._enAU = void 0 === o._enAU ? new o(o.ENGLISH, o.AUSTRALIA) : o._enAU }, o.populatePoolFromPackage = function () { o.registerCulture(o.ENGLISH, o.AU, r.CultureInfoEnAU), o.registerCulture(o.ENGLISH, o.UK, i.CultureInfoEnUK) }, o.findCultureInfo = function (e, t) { o.poolEmpty() && o.populatePoolFromPackage(); e = o._cultureInfoPool[e + t]; if (void 0 === e) throw new Error("Culture not found."); return e }, o.poolSize = function () { var e, t = 0; for (e in o._cultureInfoPool) o._cultureInfoPool.hasOwnProperty(e) && t++; return t }, o.poolEmpty = function () { return void 0 === o._cultureInfoPool || 0 === o.poolSize() }, o.prototype.financialYear = function (e) { return this._cultureInfo.financialYear(e) }, o.prototype.getLanguage = function () { return this._cultureInfo.getLanguage() }, o.prototype.getCountry = function () { return this._cultureInfo.getCountry() }, o.UK = "UK", o.AUSTRALIA = "AU", o.AU = "AU", o.ENGLISH = "en", n.Culture = o }, { "./cultureinfo/CultureInfo_enAU": 14, "./cultureinfo/CultureInfo_enUK": 15 }], 14: [function (e, t, n) { "use strict"; function r() { } Object.defineProperty(n, "__esModule", { value: !0 }), r.prototype.financialYear = function (e) { return e.getMonth() + 1 < 7 ? e.getFullYear() - 1 : e.getFullYear() }, r.prototype.getLanguage = function () { return "en" }, r.prototype.getCountry = function () { return "AU" }, n.CultureInfoEnAU = r }, {}], 15: [function (e, t, n) { "use strict"; function r() { } Object.defineProperty(n, "__esModule", { value: !0 }), r.prototype.financialYear = function (e) { return e.getMonth() + 1 < 4 || e.getMonth() + 1 === 4 && e.getDate() < 6 ? e.getFullYear() - 1 : e.getFullYear() }, r.prototype.getLanguage = function () { return "en" }, r.prototype.getCountry = function () { return "UK" }, n.CultureInfoEnUK = r }, {}], 16: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var I = e("../lib/ArrayUtils"), U = e("./Constants"), u = e("./AccountType"), L = e("./MemberType"), Y = e("./PhaseType"), C = e("./IndexedDollarParameter"), v = e("./RetirementDrawingsTable"), R = e("lodash"), H = (new Date(2014, 0, 1, 12, 0, 0).getTime(), new Date(2015, 0, 1, 12, 0, 0).getTime(), new Date(2017, 6, 1, 12, 0, 0).getTime(), new Date(2018, 6, 1, 12, 0, 0).getTime(), new Date(2021, 5, 30, 12, 0, 0)), k = new Date(2020, 5, 30, 12, 0, 0); function r() { this._dbContributionRate = 0, this._dbAccrualRate = 0, this._accountBasedPensionPurchasePrice = 0, this._lengthOfPeriodInFirstProjectionPeriod = 0, this._arrayCounter = 1, this._InitialCashAllocation = 0, this._RemainingCashAllocation = 0, this._RemainingCashAssets = 0, this._accumulationAssets = [], this._pensionAssets = [], this._dbMultiple = [], this._dbAssets = [], this._deferredRetirementAssets = [], this._indexedPensionHistory = [], this._netContributions = [], this._drawings = [], this._actualDrawings = [], this._accumulationAccountDrawings = [], this._pensionAccountDrawings = [], this._minimumDrawings = [], this._investmentEarnings = [], this._administrationFees = [], this._insuranceFees = [], this._deflationFactor = [], this._deflatedPensionAccountDrawings = [], this._deflatedAccumulationAccountDrawings = [], this._deflatedDrawings = [], this._deflatedActualDrawings = [], this._deflatedIndexedPension = [], this._deflatedMinimumDrawings = [], this._deflatedInsuranceFees = [], this._grossReturn = [], this._taxableFraction = [], this._remainingCashAllocationHistory = [], this._triedToExceedNonConcessionalContributionCap = !1, this._ageTriedToExceededNonConcessionalContributionCap = 0, this._drawingsLessThanMinimumDrawingRequirements = !1, this._drawingsAreMinimumLegislated = !1, this._inPreviousTwoYearsTriggeredBringForwardRule = [], this._previousTwoYearsBringForwardPeriod = [], this._previousTwoYearsNonConcessionalContributions = [], this._previousTwoYearsNonConcessionalContributionsCap = [] } r.prototype.initialise = function (e, t, n, r, i, o, a, s, u, c, l, h, m, _, p, d, f, g, y, b, P, T) { this._arrayCounter = 1, this._concessionalContributionThreshold = new C.IndexedDollarParameter, this._nonConcessionalContributionThreshold = new C.IndexedDollarParameter, this._lowIncomeEarnersGovernmentContributionIncomeThreshold = new C.IndexedDollarParameter, this._lowIncomeEarnersGovernmentContributionMaximum = new C.IndexedDollarParameter, this._concessionalContributionThreshold.initialise(e.getParamNumber("ConcessionalContributionThreshold"), h), this._nonConcessionalContributionThreshold.initialise(e.getParamNumber("NonConcessionalContributionThreshold"), h), this._lowIncomeEarnersGovernmentContributionIncomeThreshold.initialise(e.getParamNumber("LowIncomeEarnersGovernmentContributionIncomeThreshold"), h), this._lowIncomeEarnersGovernmentContributionMaximum.initialise(e.getParamNumber("LowIncomeEarnersGovernmentContributionMaximum"), h), this._highIncomeEarningThreshold = new C.IndexedDollarParameter, this._highIncomeEarningThreshold.initialise(e.getParamNumber("HighIncomeEarningThreshold"), h), this._pensionTransferBalanceCap = new C.IndexedDollarParameter, this._pensionTransferBalanceCap.initialise(e.getParamNumber("PensionTransferBalanceCap"), m), this._pensionTransferBalanceCapExceeded = !1, this._untaxedPlanCapAmount = new C.IndexedDollarParameter, this._untaxedPlanCapAmount.initialise(e.getParamNumber("UntaxedPlanCapAmount"), h), this._indexedPension = new C.IndexedDollarParameter, p === L.MemberType.ART_RBA || p === L.MemberType.ART_DEFAULT || p === L.MemberType.ART_LIFECYCLE ? this._indexedPension.initialise(a, h) : this._indexedPension.initialise(a, m), this._indexedPensionStartAge = s, this._ExternalDBAssets = new C.IndexedDollarParameter, this._ExternalDBAssets.initialise(0, h), this._accumulationAssets = I.InitialiseArray(_ + 1), this._pensionAssets = I.InitialiseArray(_ + 2), this._netContributions = I.InitialiseArray(_), this._drawings = I.InitialiseArray(_), this._actualDrawings = I.InitialiseArray(_), this._minimumDrawings = I.InitialiseArray(_), this._investmentEarnings = I.InitialiseArray(_), this._administrationFees = I.InitialiseArray(_), this._insuranceFees = I.InitialiseArray(_), this._indexedPensionHistory = I.InitialiseArray(_), this._pensionAccountDrawings = I.InitialiseArray(_), this._accumulationAccountDrawings = I.InitialiseArray(_), this._deflationFactor = I.InitialiseArray(_), this._deflatedAssets = I.InitialiseArray(_), this._deflatedAccumulationAssets = I.InitialiseArray(_), this._deflatedPensionAssets = I.InitialiseArray(_), this._deflatedDrawings = I.InitialiseArray(_), this._deflatedActualDrawings = I.InitialiseArray(_), this._deflatedIndexedPension = I.InitialiseArray(_), this._deflatedPensionAccountDrawings = I.InitialiseArray(_), this._deflatedAccumulationAccountDrawings = I.InitialiseArray(_), this._deflatedMinimumDrawings = I.InitialiseArray(_), this._deflatedInsuranceFees = I.InitialiseArray(_), this._grossReturn = I.InitialiseArray(_), this._taxableFraction = I.InitialiseArray(_), this._remainingCashAllocationHistory = I.InitialiseArray(_), this._TaxedComponent = l, this._cumulativeAmountTransferredFromUntaxedFund = 0, this._ttrFirstYear = !0; var a = 0, A = (p === L.MemberType.SUPERSA_SSS && r === Y.PhaseType.RETIRED ? (a = (m = t - this._TaxedComponent) < (s = this.untaxedPlanCapAmountInYear()) ? m * U.SUPERANNUATION_TAX_RATE : s * U.SUPERANNUATION_TAX_RATE + (m - s) * U.SUPERANNUATION_EXCESSIVE_TAX_RATE, this._cumulativeAmountTransferredFromUntaxedFund = m, this._accumulationAssets[this._arrayCounter - 1] = 0, this._pensionAssets[this._arrayCounter - 1] = t - a, this._ttrFirstYear = !1, this._TaxedComponent = 0, T && (console.log("SUPERSA_SSS / Retired -> Running Account/initialise()"), console.info("this._arrayCounter - 1 = ", this._arrayCounter - 1, "this._cumulativeAmountTransferredFromUntaxedFund =", this._cumulativeAmountTransferredFromUntaxedFund, "this._accumulationAssets =", this._accumulationAssets, "this._pensionAssets =", this._pensionAssets, "this._ttrFirstYear =", this._ttrFirstYear, "this._TaxedComponent =", this._TaxedComponent))) : (this._accumulationAssets[this._arrayCounter - 1] = t, T && (console.log("ALL -> Running Account/initialise() normal code"), console.info("this._arrayCounter - 1 = ", this._arrayCounter - 1, "this._accumulationAssets =", this._accumulationAssets, "superannuationBalance", t))), this._UntaxedComponent = c, this._discountWithPriceInflationInRetirement = d, this._applyTaxDeductionForExpenses = P, i >= this._indexedPensionStartAge ? this._indexedPensionHistory[this._arrayCounter - 1] = this._indexedPension.value : this._indexedPensionHistory[this._arrayCounter - 1] = 0, this._RetirementIncomeProductPurchasePrice = 0, this._previousTwoYearsNonConcessionalContributions[0] = 0, this._previousTwoYearsNonConcessionalContributions[1] = 0, this._previousTwoYearsNonConcessionalContributionsCap[0] = 0, this._previousTwoYearsNonConcessionalContributionsCap[1] = 0, this._previousTwoYearsBringForwardPeriod[0] = 0, this._previousTwoYearsBringForwardPeriod[1] = 0, this._inPreviousTwoYearsTriggeredBringForwardRule[0] = !1, this._inPreviousTwoYearsTriggeredBringForwardRule[1] = !1, this._triedToExceedNonConcessionalContributionCap = !1, this._ageTriedToExceededNonConcessionalContributionCap = 0, this._limitConcessionalContributionsToThreshold = u, this._triedToExceedConcessionalContributionCap = !1, this._ageTriedToExceededConcessionalContributionCap = 0, this._lengthOfPeriodInFirstProjectionPeriod = 1, this._indexedInvestmentOption = R.cloneDeep(o.getOptionAtPosition(n)), null); switch (p) { case L.MemberType.CSC_Profile1_Single_Retirement_60: A = e.getParamObject("CSC_Profile1_Single_Retirement_60"); break; case L.MemberType.CSC_Profile2_Single_Retirement_60: A = e.getParamObject("CSC_Profile2_Single_Retirement_60"); break; case L.MemberType.CSC_Profile3_Single_Retirement_60: A = e.getParamObject("CSC_Profile3_Single_Retirement_60"); break; case L.MemberType.CSC_Profile4_Single_Retirement_60: A = e.getParamObject("CSC_Profile4_Single_Retirement_60"); break; case L.MemberType.CSC_Profile5_Single_Retirement_60: A = e.getParamObject("CSC_Profile5_Single_Retirement_60"); break; case L.MemberType.CSC_Profile6_Single_Retirement_60: A = e.getParamObject("CSC_Profile6_Single_Retirement_60"); break; case L.MemberType.CSC_Profile7_Single_Retirement_60: A = e.getParamObject("CSC_Profile7_Single_Retirement_60"); break; case L.MemberType.CSC_Profile8_Single_Retirement_60: A = e.getParamObject("CSC_Profile8_Single_Retirement_60"); break; case L.MemberType.CSC_Profile1_Couple_Retirement_60: A = e.getParamObject("CSC_Profile1_Couple_Retirement_60"); break; case L.MemberType.CSC_Profile2_Couple_Retirement_60: A = e.getParamObject("CSC_Profile2_Couple_Retirement_60"); break; case L.MemberType.CSC_Profile3_Couple_Retirement_60: A = e.getParamObject("CSC_Profile3_Couple_Retirement_60"); break; case L.MemberType.CSC_Profile4_Couple_Retirement_60: A = e.getParamObject("CSC_Profile4_Couple_Retirement_60"); break; case L.MemberType.CSC_Profile5_Couple_Retirement_60: A = e.getParamObject("CSC_Profile5_Couple_Retirement_60"); break; case L.MemberType.CSC_Profile6_Couple_Retirement_60: A = e.getParamObject("CSC_Profile6_Couple_Retirement_60"); break; case L.MemberType.CSC_Profile7_Couple_Retirement_60: A = e.getParamObject("CSC_Profile7_Couple_Retirement_60"); break; case L.MemberType.CSC_Profile8_Couple_Retirement_60: A = e.getParamObject("CSC_Profile8_Couple_Retirement_60"); break; case L.MemberType.CSC_Profile1_Single_Retirement_64: A = e.getParamObject("CSC_Profile1_Single_Retirement_64"); break; case L.MemberType.CSC_Profile2_Single_Retirement_64: A = e.getParamObject("CSC_Profile2_Single_Retirement_64"); break; case L.MemberType.CSC_Profile3_Single_Retirement_64: A = e.getParamObject("CSC_Profile3_Single_Retirement_64"); break; case L.MemberType.CSC_Profile4_Single_Retirement_64: A = e.getParamObject("CSC_Profile4_Single_Retirement_64"); break; case L.MemberType.CSC_Profile5_Single_Retirement_64: A = e.getParamObject("CSC_Profile5_Single_Retirement_64"); break; case L.MemberType.CSC_Profile6_Single_Retirement_64: A = e.getParamObject("CSC_Profile6_Single_Retirement_64"); break; case L.MemberType.CSC_Profile7_Single_Retirement_64: A = e.getParamObject("CSC_Profile7_Single_Retirement_64"); break; case L.MemberType.CSC_Profile8_Single_Retirement_64: A = e.getParamObject("CSC_Profile8_Single_Retirement_64"); break; case L.MemberType.CSC_Profile1_Couple_Retirement_64: A = e.getParamObject("CSC_Profile1_Couple_Retirement_64"); break; case L.MemberType.CSC_Profile2_Couple_Retirement_64: A = e.getParamObject("CSC_Profile2_Couple_Retirement_64"); break; case L.MemberType.CSC_Profile3_Couple_Retirement_64: A = e.getParamObject("CSC_Profile3_Couple_Retirement_64"); break; case L.MemberType.CSC_Profile4_Couple_Retirement_64: A = e.getParamObject("CSC_Profile4_Couple_Retirement_64"); break; case L.MemberType.CSC_Profile5_Couple_Retirement_64: A = e.getParamObject("CSC_Profile5_Couple_Retirement_64"); break; case L.MemberType.CSC_Profile6_Couple_Retirement_64: A = e.getParamObject("CSC_Profile6_Couple_Retirement_64"); break; case L.MemberType.CSC_Profile7_Couple_Retirement_64: A = e.getParamObject("CSC_Profile7_Couple_Retirement_64"); break; case L.MemberType.CSC_Profile8_Couple_Retirement_64: A = e.getParamObject("CSC_Profile8_Couple_Retirement_64") }this._CSC_RIS_DrawingPercentages = new v.RetirementDrawingsTable, null !== A && this._CSC_RIS_DrawingPercentages.initialise(A.startAge, A.drawingsPercentage), p >= L.MemberType.CSC_Profile1_Single_Retirement_60 && p <= L.MemberType.CSC_Profile8_Couple_Retirement_64 && (this._InitialCashAllocation = f ? this.CalculateProfileDefaultCashAllocation(this._CSC_RIS_DrawingPercentages, b) : g), this._CashInvestmentOption = o.getOptionAtPosition(y) }, r.prototype.CalculateProfileDefaultCashAllocation = function (e, t) { return e.getDrawingsPercentage(t) + e.getDrawingsPercentage(t + 1) }, r.prototype.initialiseCovidWithdrawals = function (e, t, n) { this._covidWithdrawal_19_20 = e, this._covidWithdrawal_20_21 = t, this._projectionRunAsAt = n }, r.prototype.initialiseDB = function (e, t, n, r, i) { this._dbMultiple[this._arrayCounter - 1] = e, this._dbAssets[this._arrayCounter - 1] = this._dbMultiple[this._arrayCounter - 1] * n, this._dbContributionRate = t, this._dbAccrualRate = r }, r.prototype.initialiseDeferredRetirement = function (e, t, n, r) { this._deferredRetirementBalance = new C.IndexedDollarParameter, this._deferredRetirementBalance.initialise(e, n), this._deferredRetirementAssets[this._arrayCounter - 1] = this._deferredRetirementBalance.value }, r.prototype.SetLengthOfFirstPeriod = function (e) { this._lengthOfPeriodInFirstProjectionPeriod = 1 - e }, r.prototype.resetInvestmentChoice = function (e, t) { this._indexedInvestmentOption = R.cloneDeep(t.getOptionAtPosition(e)) }, r.prototype.annualUpdate = function (e, t, n, r, i) { this._arrayCounter = this._arrayCounter + 1, e.plus(n - 1), r && (this._dbAccrualRate = 0, this._dbMultiple[this._arrayCounter - 1] = 0), this._concessionalContributionThreshold.index(n), this._nonConcessionalContributionThreshold.index(n), this._highIncomeEarningThreshold.index(n), this._pensionTransferBalanceCap.index(n), this._untaxedPlanCapAmount.index(n), this._lowIncomeEarnersGovernmentContributionMaximum.index(n), this._indexedInvestmentOption.index(n), this._indexedPensionStartAge <= t ? 2 !== this._arrayCounter || i !== L.MemberType.ESSS_AssistMe && i !== L.MemberType.ESSS_AssistMe_DB ? (this._indexedPensionHistory[this._arrayCounter - 1] = this._indexedPension.value, this._indexedPension.index(n)) : (e = this._indexedPension.getIndexationInYear(this._arrayCounter), this._indexedPension.resetValues(this._indexedPension.value * Math.pow(1 + e.valueOf(), this._lengthOfPeriodInFirstProjectionPeriod)), this._indexedPensionHistory[this._arrayCounter - 1] = this._indexedPension.value) : this._indexedPensionHistory[this._arrayCounter - 1] = 0, this._ExternalDBAssets.index(n) }, r.prototype.CalculateRetirementIncomeProductIncome = function (e, t) { return (this._pensionAssets[this._arrayCounter - 1] + this._accumulationAssets[this._arrayCounter - 1]) * e / 1e5 * t }, r.prototype.ReduceAccountBalanceForRetirementIncomeProductPurchase = function (e) { this._pensionAssets[this._arrayCounter - 1] = this._pensionAssets[this._arrayCounter - 1] * (1 - e), this._accumulationAssets[this._arrayCounter - 1] = this._accumulationAssets[this._arrayCounter - 1] * (1 - e), this._RetirementIncomeProductPurchasePrice = (this._pensionAssets[this._arrayCounter - 1] + this._accumulationAssets[this._arrayCounter - 1]) * (1 - e) }, r.prototype.CalculateRetirementIncomeProductIncomeBasedOnAssetConversion = function (e, t) { var n = this._pensionAssets[this._arrayCounter - 1] + this._accumulationAssets[this._arrayCounter - 1]; return Math.min(e, n) / 1e5 * t }, r.prototype.ReduceAccountBalanceForRetirementIncomeProductPurchase_AssetBasedPurchase = function (e) { var t = Math.min(e, this._accumulationAssets[this._arrayCounter - 1]), e = Math.min(e - t, this._pensionAssets[this._arrayCounter - 1]); this._accumulationAssets[this._arrayCounter - 1] = this._accumulationAssets[this._arrayCounter - 1] - t, this._pensionAssets[this._arrayCounter - 1] = this._pensionAssets[this._arrayCounter - 1] - e, this._RetirementIncomeProductPurchasePrice = t + e }, r.prototype.CalculateMaximumAnnuity = function (e) { return (this._pensionAssets[this._arrayCounter - 1] + this._accumulationAssets[this._arrayCounter - 1]) / 1e5 * e }, r.prototype.setLifeCycleProductInvestmentAssumptions = function (e, t) { var n, r = R.cloneDeep(t.getOptionAtPosition(5)), t = R.cloneDeep(t.getOptionAtPosition(3)), i = r.grossReturn, o = t.grossReturn, r = r.taxableFraction, t = t.taxableFraction, i = e < 50 ? (n = i, r) : 65 < e ? (n = o, t) : (n = i - (i - o) * (e - 50) / 15, r - (r - t) * (e - 50) / 15); this._indexedInvestmentOption.grossReturn = n, this._indexedInvestmentOption.taxableFraction = i }, r.prototype.setSunSuperFeeInPensionPhase = function (e) { var e = R.cloneDeep(e.getOptionAtPosition(6)), t = e.feePercentageOnBalance, n = e.feePercentageOnBalanceCapped, r = e.feePercentageOnBalanceCappedCap, e = e.feeAnnualDollar; this._indexedInvestmentOption.feePercentageOnBalance = t, this._indexedInvestmentOption.feePercentageOnBalanceCapped = n, this._indexedInvestmentOption.feePercentageOnBalanceCappedCap = r, this._indexedInvestmentOption.feeAnnualDollar = e }, r.prototype.setAustralianSuperFeeInPensionPhase = function (e) { var e = R.cloneDeep(e.getOptionAtPosition(5)), t = e.feePercentageOnBalance, n = e.feePercentageOnBalanceCapped, r = e.feePercentageOnBalanceCappedCap, e = e.feeAnnualDollar; this._indexedInvestmentOption.feePercentageOnBalance = t, this._indexedInvestmentOption.feePercentageOnBalanceCapped = n, this._indexedInvestmentOption.feePercentageOnBalanceCappedCap = r, this._indexedInvestmentOption.feeAnnualDollar = e }, r.prototype.setVisionFeeInPensionPhase = function (e) { var e = R.cloneDeep(e.getOptionAtPosition(4)), t = e.feePercentageOnBalance, n = e.feePercentageOnBalanceCapped, r = e.feePercentageOnBalanceCappedCap, e = e.feeAnnualDollar; this._indexedInvestmentOption.feePercentageOnBalance = t, this._indexedInvestmentOption.feePercentageOnBalanceCapped = n, this._indexedInvestmentOption.feePercentageOnBalanceCappedCap = r, this._indexedInvestmentOption.feeAnnualDollar = e }, r.prototype.setHostplusFeeInPensionPhase = function (e) { e = R.cloneDeep(e.getOptionAtPosition(5)).feeAnnualDollar; this._indexedInvestmentOption.feeAnnualDollar = e }, r.prototype.setSmartMondayFeeInPensionPhase = function (e) { e = R.cloneDeep(e.getOptionAtPosition(4)).feePercentageOnBalance; this._indexedInvestmentOption.feePercentageOnBalance = e }, r.prototype.setActiveSuperFeeInPensionPhase = function (e) { e = R.cloneDeep(e.getOptionAtPosition(5)).feePercentageOnBalance; this._indexedInvestmentOption.feePercentageOnBalance = e }, r.prototype.setFirstStateMySuperInvestmentAssumptions = function (e, t) { 60 <= e ? this.resetInvestmentChoice(3, t) : this.resetInvestmentChoice(5, t) }, r.prototype.setActiveSuperLifeCycleInvestmentAssumption = function (e, t) { e < 50 ? this.resetInvestmentChoice(1, t) : e < 55 ? this.resetInvestmentChoice(2, t) : this.resetInvestmentChoice(3, t) }, r.prototype.setGuildLifeCyleInvestmentAssumption = function (e, t) { e < 40 ? this.resetInvestmentChoice(6, t) : e < 56 ? this.resetInvestmentChoice(5, t) : this.resetInvestmentChoice(4, t) }, r.prototype.makeAllAssetsInPensionMode = function (e, t) { var n, r, i = 0; e === L.MemberType.SUPERSA_SSS && (!0 === this._ttrFirstYear ? (i = (n = this._accumulationAssets[this._arrayCounter - 1] - this._TaxedComponent) < (r = this.untaxedPlanCapAmountInYear()) ? n * U.SUPERANNUATION_TAX_RATE : r * U.SUPERANNUATION_TAX_RATE + (n - r) * U.SUPERANNUATION_EXCESSIVE_TAX_RATE, this._cumulativeAmountTransferredFromUntaxedFund = n, t && (console.log("SUPERSA_SSS -> Running Account/makeAllAssetsInPensionMode() SuperSA.SSS specific code - ttrFirstYear"), console.info("dblUntaxedAssetsToTransfer =", n, "dblUntaxedPlanCapAmount =", r, "dblTax =", i))) : (n = this._accumulationAssets[this._arrayCounter - 1], r = this.untaxedPlanCapAmountInYear(), i = n < (e = Math.max(r - this._cumulativeAmountTransferredFromUntaxedFund, 0)) ? n * U.SUPERANNUATION_TAX_RATE : e * U.SUPERANNUATION_TAX_RATE + (n - e) * U.SUPERANNUATION_EXCESSIVE_TAX_RATE, this._cumulativeAmountTransferredFromUntaxedFund = this._cumulativeAmountTransferredFromUntaxedFund + n, t && (console.log("SUPERSA_SSS -> Running Account/makeAllAssetsInPensionMode() SuperSA.SSS specific code - NOT ttrFirstYear"), console.info("dblUntaxedAssetsToTransfer =", n, "dblUntaxedPlanCapAmount =", r, "dblTax =", i)))), this._pensionAssets[this._arrayCounter - 1] = this._pensionAssets[this._arrayCounter - 1] + this._accumulationAssets[this._arrayCounter - 1] + this._dbAssets[this._arrayCounter - 1] + this._deferredRetirementAssets[this._arrayCounter - 1] - i, this._accumulationAssets[this._arrayCounter - 1] = 0, this._dbAssets[this._arrayCounter - 1] = 0, this._dbMultiple[this._arrayCounter - 1] = 0, this._deferredRetirementAssets[this._arrayCounter - 1] = 0, this._TaxedComponent = 0, this._ttrFirstYear = !1 }, r.prototype.deductTaxAtRetirementOnUntaxedFunds = function () { var e = this._accumulationAssets[this._arrayCounter - 1] - this._TaxedComponent, t = this.untaxedPlanCapAmountInYear(), e = e < t ? e * U.SUPERANNUATION_TAX_RATE : t * U.SUPERANNUATION_TAX_RATE + (e - t) * U.SUPERANNUATION_EXCESSIVE_TAX_RATE; this._accumulationAssets[this._arrayCounter - 1] = this._accumulationAssets[this._arrayCounter - 1] - e }, r.prototype.transferFundsOnRetirement = function () { var e = this._pensionAssets[this._arrayCounter - 1] + this._accumulationAssets[this._arrayCounter - 1] + this._dbAssets[this._arrayCounter - 1] + this._deferredRetirementAssets[this._arrayCounter - 1] - this._UntaxedComponent * U.SUPERANNUATION_TAX_RATE, t = this.pensionTransferBalanceCapInYear(); t < e ? (this._pensionTransferBalanceCapExceeded = !0, this._pensionAssets[this._arrayCounter - 1] = t, this._accumulationAssets[this._arrayCounter - 1] = e - t, this._TransferBalanceCapUnusedPercentage = 0, this._AssetsTransferredToRetirementAccountAtRetirement = t) : (this._pensionAssets[this._arrayCounter - 1] = e, this._accumulationAssets[this._arrayCounter - 1] = 0, this._AssetsTransferredToRetirementAccountAtRetirement = e, this._TransferBalanceCapUnusedPercentage = 1 - e / t), this._TransferBalanceCapAtRetirement = t, this._dbAssets[this._arrayCounter - 1] = 0, this._dbMultiple[this._arrayCounter - 1] = 0, this._deferredRetirementAssets[this._arrayCounter - 1] = 0 }, r.prototype.CalculateCashAllocationOnRetirement = function () { this._RemainingCashAllocation = this._InitialCashAllocation, this._RemainingCashAssets = (this._pensionAssets[this._arrayCounter - 1] + this._accumulationAssets[this._arrayCounter - 1]) * this._InitialCashAllocation }, r.prototype.transferDeferredRetirementAssetsToAccumulationAccount = function () { this._accumulationAssets[this._arrayCounter - 1] = this._accumulationAssets[this._arrayCounter - 1] + this._deferredRetirementAssets[this._arrayCounter - 1], this._deferredRetirementBalance.resetValues(0), this._deferredRetirementAssets[this._arrayCounter - 1] = 0 }, r.prototype.getMinimumDrawings = function (e, t, n, r) { return void 0 === n && (n = !1), void 0 === r && (r = 0), t = t >= L.MemberType.CSC_Profile1_Single_Retirement_60 && t <= L.MemberType.CSC_Profile8_Couple_Retirement_64 ? this._CSC_RIS_DrawingPercentages.getDrawingsPercentage(e) : e < 65 ? .04 : e <= 74 ? .05 : e <= 79 ? .06 : e <= 84 ? .07 : e <= 89 ? .09 : e <= 94 ? .11 : .14, n ? Math.max(this._pensionAssets[this._arrayCounter - 1] - r, 0) * t : this._pensionAssets[this._arrayCounter - 1] * t }, r.prototype.getMaximumDrawings = function () { var e = this._indexedInvestmentOption.grossReturn, e = (this._pensionAssets[this._arrayCounter - 1] + this._accumulationAssets[this._arrayCounter - 1]) * (1 + e) / (1 + e / 2); return Math.floor(e) }, r.prototype.getMaximumTTRDrawings = function () { return this._pensionAssets[this._arrayCounter - 1] * U.MAXIMUM_TTR_DRAWING_RATE }, r.prototype.accumulate = function (e, t, n, r, i, o, a, s, u, c, l, j, h, m, _) { var p, d, f, g = 0, y = 0, b = 0, P = 0, T = 0, A = 0, I = 0, C = 0, v = 0, R = !1, S = 0, x = 0, O = 0, w = !1, F = 0, D = 0, E = 0, M = 0, N = 0, B = 0, S = (0 < m && (h === Y.PhaseType.ACCUMULATION || h === Y.PhaseType.TTR ? this._accumulationAssets[this._arrayCounter - 1] = this._accumulationAssets[this._arrayCounter - 1] + m : h === Y.PhaseType.RETIRED && (m <= (B = this._TransferBalanceCapAtRetirement + (this.pensionTransferBalanceCapInYear() - this._TransferBalanceCapAtRetirement) * this._TransferBalanceCapUnusedPercentage - this._AssetsTransferredToRetirementAccountAtRetirement) ? this._pensionAssets[this._arrayCounter - 1] = this._pensionAssets[this._arrayCounter - 1] + m : (this._pensionAssets[this._arrayCounter - 1] = this._pensionAssets[this._arrayCounter - 1] + B, this._accumulationAssets[this._arrayCounter - 1] = this._accumulationAssets[this._arrayCounter - 1] + (m - B), this._pensionTransferBalanceCapExceeded = !0))), 0 < n && h === Y.PhaseType.RETIRED && (n <= (B = this._TransferBalanceCapAtRetirement + (this.pensionTransferBalanceCapInYear() - this._TransferBalanceCapAtRetirement) * this._TransferBalanceCapUnusedPercentage - this._AssetsTransferredToRetirementAccountAtRetirement) ? this._pensionAssets[this._arrayCounter - 1] = this._pensionAssets[this._arrayCounter - 1] + n : (this._pensionAssets[this._arrayCounter - 1] = this._pensionAssets[this._arrayCounter - 1] + B, this._accumulationAssets[this._arrayCounter - 1] = this._accumulationAssets[this._arrayCounter - 1] + (n - B), this._pensionTransferBalanceCapExceeded = !0), n = 0), p = (m = this._accumulationAssets[this._arrayCounter - 1]) + (B = this._pensionAssets[this._arrayCounter - 1]), w = !1, this._inPreviousTwoYearsTriggeredBringForwardRule[0] && 1 < this._previousTwoYearsBringForwardPeriod[0] ? (x = this._previousTwoYearsNonConcessionalContributionsCap[0] - this._previousTwoYearsNonConcessionalContributions[0], w = !0) : this._inPreviousTwoYearsTriggeredBringForwardRule[1] && 3 === this._previousTwoYearsBringForwardPeriod[1] && (x = this._previousTwoYearsNonConcessionalContributionsCap[1] - this._previousTwoYearsNonConcessionalContributions[0] - this._previousTwoYearsNonConcessionalContributions[1], w = !0), d = 1e4 * Math.floor(this._nonConcessionalContributionThreshold.value / 1e4), S = (f = this.pensionTransferBalanceCapInYear()) <= p ? v = 0 : f - d <= p && p < f || 75 <= a ? (v = 1, d) : f - 2 * d <= p && p < f - d ? d * (v = 2) : d * (v = 3), (O = w ? (R = !1, Math.max(0, Math.min(x, S))) : (R = d < t + n, S)) < t + n && (!1 === this._triedToExceedNonConcessionalContributionCap && (this._ageTriedToExceededNonConcessionalContributionCap = a), this._triedToExceedNonConcessionalContributionCap = !0, (t = Math.min(t, O)) + (n = Math.min(n, O - t)) === 0) && (r = 0), this._previousTwoYearsNonConcessionalContributions[1] = this._previousTwoYearsNonConcessionalContributions[0], this._previousTwoYearsNonConcessionalContributions[0] = t + n, this._previousTwoYearsNonConcessionalContributionsCap[1] = this._previousTwoYearsNonConcessionalContributionsCap[0], this._previousTwoYearsNonConcessionalContributionsCap[0] = S, this._previousTwoYearsBringForwardPeriod[1] = this._previousTwoYearsBringForwardPeriod[0], this._previousTwoYearsBringForwardPeriod[0] = v, this._inPreviousTwoYearsTriggeredBringForwardRule[1] = this._inPreviousTwoYearsTriggeredBringForwardRule[0], this._inPreviousTwoYearsTriggeredBringForwardRule[0] = R, this._limitConcessionalContributionsToThreshold && (f = 2500 * Math.floor(this._concessionalContributionThreshold.value / 2500)) < e && (e = f, !1 === this._triedToExceedConcessionalContributionCap && (this._ageTriedToExceededConcessionalContributionCap = a), this._triedToExceedConcessionalContributionCap = !0), w = this._indexedInvestmentOption.feeAnnualDollar, y = m * (x = this._indexedInvestmentOption.feePercentageOnBalance) + (e + t + n) * this._indexedInvestmentOption.feePercentageOnContributions, b = B * x, h === Y.PhaseType.ACCUMULATION ? y += o : h === Y.PhaseType.TTR && (b += o), 0 !== m && (y += w), 0 !== B && (b += w), 0 !== p && (d = p * this._indexedInvestmentOption.feePercentageOnBalanceCapped, y += O = (d = Math.min(d, this._indexedInvestmentOption.feePercentageOnBalanceCappedCap)) * m / p, b += A = (A = d - O) < 1e-4 ? 0 : A), this._administrationFees[this._arrayCounter - 1] = y + b - o, h === Y.PhaseType.ACCUMULATION || h === Y.PhaseType.TTR ? this._administrationFees[this._arrayCounter - 1] = y + b - o : this._administrationFees[this._arrayCounter - 1] = y + b, h === Y.PhaseType.ACCUMULATION || h === Y.PhaseType.TTR ? this._insuranceFees[this._arrayCounter - 1] = o : this._insuranceFees[this._arrayCounter - 1] = 0, F = h === Y.PhaseType.TTR ? b : y, g = this.netConcessionalContributions(e, F, a, s, u, c, l) + this.netNonConcessionalContributions(t, n, a, s, u, l, c) + r, !1); 0 === i ? C = I = 0 : this._pensionTransferBalanceCapExceeded && 0 !== m ? 0 === B ? (I = 0, C = i) : i < this.getMinimumDrawings(a, u) ? (I = i, C = 0) : m < (C = i - (I = Math.min(i, this.getMinimumDrawings(a, u)))) && (I = i - (C = m), S = !0) : (I = i, C = 0), v = m + g / 2 - C / 2 - y / 2, 0 === this._RemainingCashAllocation ? u === L.MemberType.SUPERSA_SSS ? (P = v * this._indexedInvestmentOption.grossReturn, _ && (console.log("SUPERSA_SSS -> Running accumulate() SuperSA.SSS specific code"), console.info("investmentEarningsOnAccumulationAssets = ", P))) : (P = v * this._indexedInvestmentOption.grossReturn - v * this._indexedInvestmentOption.grossReturn * this._indexedInvestmentOption.taxableFraction * U.SUPERANNUATION_TAX_RATE, _ && (console.log("ALL -> Running accumulate() normal code"), console.info("investmentEarningsOnAccumulationAssets = ", P))) : (M = this._CashInvestmentOption.grossReturn * this._RemainingCashAllocation + this._indexedInvestmentOption.grossReturn * (1 - this._RemainingCashAllocation), N = this._CashInvestmentOption.taxableFraction * this._RemainingCashAllocation + this._indexedInvestmentOption.taxableFraction * (1 - this._RemainingCashAllocation), P = u === L.MemberType.SUPERSA_SSS ? v * M : v * M - v * M * N * U.SUPERANNUATION_TAX_RATE), this._projectionRunAsAt.before(k) ? 1 === this._arrayCounter ? D = (E = Math.min(this._covidWithdrawal_19_20, m)) * this._indexedInvestmentOption.grossReturn - E * this._indexedInvestmentOption.grossReturn * this._indexedInvestmentOption.taxableFraction * U.SUPERANNUATION_TAX_RATE : 2 === this._arrayCounter && (D = (E = Math.min(this._covidWithdrawal_20_21, m)) * this._indexedInvestmentOption.grossReturn - E * this._indexedInvestmentOption.grossReturn * this._indexedInvestmentOption.taxableFraction * U.SUPERANNUATION_TAX_RATE) : this._projectionRunAsAt.before(H) && 1 === this._arrayCounter && (D = (E = Math.min(this._covidWithdrawal_20_21, m)) * this._indexedInvestmentOption.grossReturn - E * this._indexedInvestmentOption.grossReturn * this._indexedInvestmentOption.taxableFraction * U.SUPERANNUATION_TAX_RATE), P -= D, v = B - (I = S ? i - (C = m + g + P - y) : I) / 2 - b / 2, T = 0 === this._RemainingCashAllocation ? h === Y.PhaseType.TTR ? v * this._indexedInvestmentOption.grossReturn - v * this._indexedInvestmentOption.grossReturn * this._indexedInvestmentOption.taxableFraction * U.SUPERANNUATION_TAX_RATE : v * this._indexedInvestmentOption.grossReturn : (M = this._CashInvestmentOption.grossReturn * this._RemainingCashAllocation + this._indexedInvestmentOption.grossReturn * (1 - this._RemainingCashAllocation), N = this._CashInvestmentOption.taxableFraction * this._RemainingCashAllocation + this._indexedInvestmentOption.taxableFraction * (1 - this._RemainingCashAllocation), h === Y.PhaseType.TTR ? v * M - v * M * N * U.SUPERANNUATION_TAX_RATE : v * M), this._remainingCashAllocationHistory[this._arrayCounter] = this._RemainingCashAllocation, u !== L.MemberType.ESSS_AssistMe && u !== L.MemberType.ESSS_AssistMe_DB || 1 !== this._arrayCounter || (g = (g - n) * this._lengthOfPeriodInFirstProjectionPeriod + n, C *= this._lengthOfPeriodInFirstProjectionPeriod, y *= this._lengthOfPeriodInFirstProjectionPeriod, P *= this._lengthOfPeriodInFirstProjectionPeriod), this._accumulationAssets[this._arrayCounter] = m + g - C - y + P, this._projectionRunAsAt.before(k) ? 1 === this._arrayCounter ? E = Math.min(this._covidWithdrawal_19_20, m) : 2 === this._arrayCounter && (E = Math.min(this._covidWithdrawal_20_21, m)) : this._projectionRunAsAt.before(H) ? 1 === this._arrayCounter && (E = Math.min(this._covidWithdrawal_20_21, m)) : E = 0, this._accumulationAssets[this._arrayCounter] = this._accumulationAssets[this._arrayCounter] - E, this._accumulationAssets[this._arrayCounter] = Math.max(0, this._accumulationAssets[this._arrayCounter]), this._accumulationAssets[this._arrayCounter] = this._accumulationAssets[this._arrayCounter] + j, R = i, (f = B - I - b + T) < 5 && (R = Math.max(0, i + f), I = Math.max(0, I + f), f = 0), this._pensionAssets[this._arrayCounter] = f, this._actualDrawings[this._arrayCounter - 1] = R, this._pensionAccountDrawings[this._arrayCounter - 1] = I, this._accumulationAccountDrawings[this._arrayCounter - 1] = C, this._investmentEarnings[this._arrayCounter - 1] = P + T, this._grossReturn[this._arrayCounter - 1] = this._indexedInvestmentOption.grossReturn, this._taxableFraction[this._arrayCounter - 1] = this._indexedInvestmentOption.taxableFraction, this._accumulationAssets[this._arrayCounter] + this._pensionAssets[this._arrayCounter] < 5 && (this._accumulationAssets[this._arrayCounter] = 0, this._pensionAssets[this._arrayCounter] = 0), h === Y.PhaseType.RETIRED && 0 < this._RemainingCashAssets && (0 < this._pensionAssets[this._arrayCounter] || 0 < this._accumulationAssets[this._arrayCounter]) ? (w = x = void 0, x = this._pensionAssets[this._arrayCounter] / (this._pensionAssets[this._arrayCounter] + this._accumulationAssets[this._arrayCounter]), w = this._CashInvestmentOption.grossReturn * x + this._CashInvestmentOption.grossReturn * (1 - this._CashInvestmentOption.taxableFraction) * (1 - x), this._RemainingCashAssets = Math.max(this._RemainingCashAssets * (1 + w) - i * Math.pow(1 + w, .5) - b * this._RemainingCashAssets / this._pensionAssets[this._arrayCounter] * Math.pow(1 + w, .5), 0), this._RemainingCashAllocation = this._RemainingCashAssets / (this._accumulationAssets[this._arrayCounter] + this._pensionAssets[this._arrayCounter])) : (this._RemainingCashAssets = 0, this._RemainingCashAllocation = 0) }, r.prototype.accrueDBAndDeferredRetirement = function (e, t, n) { t = 0 === e ? 0 : 2 * (t / e - 1); this._dbMultiple[this._arrayCounter] = this._dbMultiple[this._arrayCounter - 1] + this._dbAccrualRate * n, this._dbAssets[this._arrayCounter] = this._dbMultiple[this._arrayCounter] * (e * (1 + t)), this._deferredRetirementBalance.index(1), this._deferredRetirementAssets[this._arrayCounter] = this._deferredRetirementBalance.value }, r.prototype.withdraw = function (e) { this._pensionAssets[this._arrayCounter - 1] = this._pensionAssets[this._arrayCounter - 1] - e }, r.prototype.netConcessionalContributions = function (e, t, n, r, i, o, a) { var s = this._concessionalContributionThreshold.value; return s = 2500 * Math.floor(s / 2500), r === u.AccountType.DEFINED_BENEFIT && (i === L.MemberType.QSUPER_DEFAULT && a ? s -= 1.2 * (.12 * o - o * this._dbContributionRate) : i === L.MemberType.QSUPER_POLICE && a ? s -= 1.2 * (.14 * o - o * this._dbContributionRate) : i !== L.MemberType.QSUPER_DEFAULT || a ? i !== L.MemberType.QSUPER_POLICE || a || (s -= .14 * o * 1.2) : s -= .12 * o * 1.2), r = this._applyTaxDeductionForExpenses ? Math.max(0, e - t) : e, a = i === L.MemberType.SUPERSA_SSS ? o + r < this._highIncomeEarningThreshold.value ? 0 : o > this._highIncomeEarningThreshold.value ? r * U.SUPERANNUATION_TAX_RATE : (o + r - this._highIncomeEarningThreshold.value) * U.SUPERANNUATION_TAX_RATE : o + r < this._highIncomeEarningThreshold.value ? r * U.SUPERANNUATION_TAX_RATE : o > this._highIncomeEarningThreshold.value ? r * U.SUPERANNUATION_TAX_RATE_HIGH_EARNER : (this._highIncomeEarningThreshold.value - o) * U.SUPERANNUATION_TAX_RATE + (o + r - this._highIncomeEarningThreshold.value) * U.SUPERANNUATION_TAX_RATE_HIGH_EARNER, e - (a = o < this._lowIncomeEarnersGovernmentContributionIncomeThreshold.value ? Math.max(0, a - this._lowIncomeEarnersGovernmentContributionMaximum.value) : a) }, r.prototype.netNonConcessionalContributions = function (e, t, n, r, i, o, a) { var s = this._nonConcessionalContributionThreshold.value; return e + t - ((s = 1e4 * Math.floor(s / 1e4) * 3) < e + t + (r = r === u.AccountType.DEFINED_BENEFIT && o && i !== L.MemberType.AGEST ? a * this._dbContributionRate : 0) ? (e + t + r - s) * U.SUPERANNUATION_EXCESSIVE_TAX_RATE : 0) }, r.prototype.pensionTransferBalanceCapInYear = function () { return 1e5 * Math.floor(this._pensionTransferBalanceCap.value / 1e5) }, r.prototype.untaxedPlanCapAmountInYear = function () { return 5e3 * Math.floor(this._untaxedPlanCapAmount.value / 5e3) }, r.prototype.calculateAccountBasedPensionPurchasePrice = function (e) { this._accountBasedPensionPurchasePrice = (this._accumulationAssets[this._arrayCounter - 1] + this._pensionAssets[this._arrayCounter - 1]) / e }, r.prototype.isNotExhausted = function () { return !(this._accumulationAssets[this._arrayCounter] + this._pensionAssets[this._arrayCounter] <= 100 && 2 < this._arrayCounter) }, r.prototype.rollOverAmountIn = function (e) { this._accumulationAssets[this._arrayCounter - 1] = this._accumulationAssets[this._arrayCounter - 1] + e }, r.prototype.deflate = function (e, t, n, r, i) { var o = 0, a = 1, s = r + 1; this._deflatedAssets[0] = this._accumulationAssets[0] + this._pensionAssets[0] + this._dbAssets[0] + this._deferredRetirementAssets[0], this._deflatedAccumulationAssets[0] = this._accumulationAssets[0], this._deflatedPensionAssets[0] = this._pensionAssets[0], this._deflatedDrawings[0] = this._drawings[0], this._deflatedActualDrawings[0] = this._actualDrawings[0], this._deflatedMinimumDrawings[0] = this._minimumDrawings[0], this._deflatedIndexedPension[0] = this._indexedPensionHistory[0], this._deflatedPensionAccountDrawings[0] = this._pensionAccountDrawings[0], this._deflatedAccumulationAccountDrawings[0] = this._accumulationAccountDrawings[0], this._deflatedInsuranceFees[0] = this._insuranceFees[0]; for (var u = 2; u <= this._drawings.length; u++)o = (i < s && !0 === this._discountWithPriceInflationInRetirement ? t : e).getIndexationRate(u - 1), n !== L.MemberType.ESSS_AssistMe && n !== L.MemberType.ESSS_AssistMe_DB || 2 !== u ? a /= 1 + o : a = Math.pow(a / (1 + o), this._lengthOfPeriodInFirstProjectionPeriod), this._deflatedAssets[u - 1] = (this._accumulationAssets[u - 1] + this._pensionAssets[u - 1] + this._dbAssets[u - 1] + this._deferredRetirementAssets[u - 1]) * a, this._deflatedAccumulationAssets[u - 1] = this._accumulationAssets[u - 1] * a, this._deflatedPensionAssets[u - 1] = this._pensionAssets[u - 1] * a, this._deflatedDrawings[u - 1] = this._drawings[u - 1] * a, this._deflatedActualDrawings[u - 1] = this._actualDrawings[u - 1] * a, this._deflatedIndexedPension[u - 1] = this._indexedPensionHistory[u - 1] * a, this._deflatedPensionAccountDrawings[u - 1] = this._pensionAccountDrawings[u - 1] * a, this._deflatedAccumulationAccountDrawings[u - 1] = this._accumulationAccountDrawings[u - 1] * a, this._deflatedMinimumDrawings[u - 1] = this._minimumDrawings[u - 1] * a, this._deflatedInsuranceFees[u - 1] = this._insuranceFees[u - 1] * a, s++ }, r.prototype.getAccumulationAssetsInYear = function (e) { return this._accumulationAssets[e - 1] }, r.prototype.getPensionAssetsInYear = function (e) { return this._pensionAssets[e - 1] }, r.prototype.currentBalance = function () { return this._accumulationAssets[this._arrayCounter - 1] + this._pensionAssets[this._arrayCounter - 1] + this._dbAssets[this._arrayCounter - 1] + this._deferredRetirementAssets[this._arrayCounter - 1] }, r.prototype.currentRateOfIndexedPension = function () { return this._indexedPensionHistory[this._arrayCounter - 1] }, r.prototype.applyDrawingsLimits = function () { this._drawings[this._arrayCounter - 1] = Math.min(this._drawings[this._arrayCounter - 1], this.getMaximumDrawings()) }, r.prototype.setDrawings = function (e) { this._drawings[this._arrayCounter - 1] = e }, r.prototype.setWhetherDrawingsLessThanMinimum = function (e) { this._drawingsLessThanMinimumDrawingRequirements = e }, r.prototype.setWhetherDrawingsAreMinimumLegislated = function (e) { this._drawingsAreMinimumLegislated = e }, r.prototype.setMinimumDrawings = function (e) { this._minimumDrawings[this._arrayCounter - 1] = e }, r.prototype.addWithdrawalToDrawings = function (e) { this._drawings[this._arrayCounter - 1] = this._drawings[this._arrayCounter - 1] + e, this.applyDrawingsLimits() }, r.prototype.drawings = function () { return this._drawings[this._arrayCounter - 1] }, r.prototype.getDrawingsInYear = function (e) { return this._drawings[e - 1] }, r.prototype.getAccruedDBMultipleInYear = function (e) { return this._dbMultiple[e - 1] }, r.prototype.getDBAssetsInYear = function (e) { return this._dbAssets[e - 1] }, r.prototype.getDrawingsFromAccumulationAccountInYear = function (e) { return this._accumulationAccountDrawings[e - 1] }, r.prototype.getDrawingsFromPensionAccountInYear = function (e) { return this._pensionAccountDrawings[e - 1] }, r.prototype.getDeferredRetirementAssetsInYear = function (e) { return this._deferredRetirementAssets[e - 1] }, r.prototype.getDeflationFactorInYear = function (e) { return this._deflationFactor[e - 1] }, r.prototype.getInsuranceFeesInYear = function (e) { return this._insuranceFees[e - 1] }, r.prototype.getAdministrationFeesInYear = function (e) { return this._administrationFees[e - 1] }, r.prototype.getDeflatedAssetsInYear = function (e) { return this._deflatedAssets[e - 1] }, r.prototype.getDeflatedAccumulationAssetsInYear = function (e) { return this._deflatedAccumulationAssets[e - 1] }, r.prototype.getDeflatedPensionAssetsInYear = function (e) { return this._deflatedPensionAssets[e - 1] }, r.prototype.getDeflatedDrawingsInYear = function (e) { return this._deflatedDrawings[e - 1] }, r.prototype.getDeflatedActualDrawingsInYear = function (e) { return this._deflatedActualDrawings[e - 1] }, r.prototype.getDeflatedAccumulationAccountDrawingsInYear = function (e) { return this._deflatedAccumulationAccountDrawings[e - 1] }, r.prototype.getDeflatedPensionAccountDrawingsInYear = function (e) { return this._deflatedPensionAccountDrawings[e - 1] }, r.prototype.getDeflatedMinimumDrawingsInYear = function (e) { return this._deflatedMinimumDrawings[e - 1] }, r.prototype.getDeflatedInsuranceFeesInYear = function (e) { return this._deflatedInsuranceFees[e - 1] }, Object.defineProperty(r.prototype, "indexedPensionIncome", { get: function () { return this._indexedPensionHistory[this._arrayCounter - 1] }, enumerable: !0, configurable: !0 }), Object.defineProperty(r.prototype, "accountBasedPensionPurchasePrice", { get: function () { return this._accountBasedPensionPurchasePrice }, enumerable: !0, configurable: !0 }), r.prototype.getIndexedPensionInYear = function (e) { return this._indexedPensionHistory[e - 1] }, r.prototype.getDeflatedIndexedPensionInYear = function (e) { return this._deflatedIndexedPension[e - 1] }, r.prototype.isPensionTransferBalanceCapExceeded = function () { return this._pensionTransferBalanceCapExceeded }, Object.defineProperty(r.prototype, "triedToExceedNonConcessionalContributionCap", { get: function () { return this._triedToExceedNonConcessionalContributionCap }, enumerable: !0, configurable: !0 }), Object.defineProperty(r.prototype, "ageTriedToExceedNonConcessionalContributionCap", { get: function () { return this._ageTriedToExceededNonConcessionalContributionCap }, enumerable: !0, configurable: !0 }), Object.defineProperty(r.prototype, "ExternalDBAssets", { get: function () { return this._ExternalDBAssets.value }, enumerable: !0, configurable: !0 }), Object.defineProperty(r.prototype, "drawingsLessThanMinimumRequired", { get: function () { return this._drawingsLessThanMinimumDrawingRequirements }, enumerable: !0, configurable: !0 }), Object.defineProperty(r.prototype, "drawingsAreMinimumLegislated", { get: function () { return this._drawingsAreMinimumLegislated }, enumerable: !0, configurable: !0 }), Object.defineProperty(r.prototype, "RetirementIncomeProductPurchasePrice", { get: function () { return this._RetirementIncomeProductPurchasePrice }, enumerable: !0, configurable: !0 }), n.Account = r }, { "../lib/ArrayUtils": 10, "./AccountType": 17, "./Constants": 22, "./IndexedDollarParameter": 29, "./MemberType": 38, "./PhaseType": 44, "./RetirementDrawingsTable": 47, lodash: 51 }], 17: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), (n = n.AccountType || (n.AccountType = {}))[n.ACCUMULATION = 1] = "ACCUMULATION", n[n.DEFINED_BENEFIT = 2] = "DEFINED_BENEFIT" }, {}], 18: [function (e, t, n) { "use strict"; function r() { this._rates = [] } Object.defineProperty(n, "__esModule", { value: !0 }), r.prototype.addAccrualRate = function (e, t, n) { this._rates[this.key(t, n)] = e }, r.prototype.accrualRate = function (e, t) { return this._rates[this.key(e, t)] }, r.prototype.key = function (e, t) { return Math.floor(100 * e) + "" + t }, n.AccrualTable = r }, {}], 19: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var d = e("./Constants"), f = e("./IndexedDollarParameter"), g = e("./LinearScale"), r = e("../lib/AdvDate"); function i() { this._maxFortnightlyPayment = null, this._incomeTest = null, this._assetTest = null, this._pensionSupplementMinimum = null, this._pensionSupplementMaximum = null, this._pensionSupplementUpperIncomeThreshold = null, this._pensionSupplementUpperAssetThreshold = null, this._deemingThreshold = null, this._WorkBonus = null, this._deemingRateLowerIncome = 0, this._deemingRateHigherIncome = 0, this._includeAgePension = !1, this._singlePersonProjectionButAllowForBothAgePensions = !1, this._isMarried = !1, this._isHomeowner = !1 } i.isQualifyingAgeForAgePension = function (e, t, n) { return ("Male" === e ? t.before(new r.AdvDate("1/7/1952")) ? 65 : t.before(new r.AdvDate("1/1/1954")) ? 65.5 : t.before(new r.AdvDate("1/7/1955")) ? 66 : t.before(new r.AdvDate("1/1/1957")) ? 66.5 : 67 : t.before(new r.AdvDate("1/7/1935")) ? 60 : t.before(new r.AdvDate("1/1/1937")) ? 60.5 : t.before(new r.AdvDate("1/7/1938")) ? 61 : t.before(new r.AdvDate("1/1/1940")) ? 61.5 : t.before(new r.AdvDate("1/7/1941")) ? 62 : t.before(new r.AdvDate("1/1/1943")) ? 62.5 : t.before(new r.AdvDate("1/7/1944")) ? 63 : t.before(new r.AdvDate("1/1/1946")) ? 63.5 : t.before(new r.AdvDate("1/7/1947")) ? 64 : t.before(new r.AdvDate("1/1/1948")) ? 64.5 : t.before(new r.AdvDate("1/7/1952")) ? 65 : t.before(new r.AdvDate("1/1/1954")) ? 65.5 : t.before(new r.AdvDate("1/7/1955")) ? 66 : t.before(new r.AdvDate("1/1/1957")) ? 66.5 : 67) <= n }, i.prototype.initialise = function (e, t, n, r, i, o, a) { var s, u, c, l, h, m, _, p; this._maxFortnightlyPayment = new f.IndexedDollarParameter, this._incomeTest = new g.LinearScale, this._assetTest = new g.LinearScale, this._pensionSupplementMinimum = new f.IndexedDollarParameter, this._pensionSupplementMaximum = new f.IndexedDollarParameter, this._pensionSupplementUpperIncomeThreshold = new f.IndexedDollarParameter, this._pensionSupplementUpperAssetThreshold = new f.IndexedDollarParameter, this._deemingThreshold = new f.IndexedDollarParameter, this._WorkBonus = new f.IndexedDollarParameter, p = t ? (s = e.getParamNumber("PensionCouple"), m = e.getParamNumber("PensionSupplementCoupleMaximum"), _ = e.getParamNumber("PensionSupplementCoupleMinimum"), u = e.getParamNumber("IncomeTestLowerThresholdCouple"), c = e.getParamNumber("IncomeTestUpperThresholdCouple"), h = n ? (l = e.getParamNumber("AssetTestLowerThresholdCoupleHomeowner"), e.getParamNumber("AssetTestUpperThresholdCoupleHomeowner")) : (l = e.getParamNumber("AssetTestLowerThresholdCoupleNonHomeowner"), e.getParamNumber("AssetTestUpperThresholdCoupleNonHomeowner")), e.getParamNumber("DeemingThresholdCouple")) : (s = e.getParamNumber("PensionSingle"), m = e.getParamNumber("PensionSupplementSingleMaximum"), _ = e.getParamNumber("PensionSupplementSingleMinimum"), u = e.getParamNumber("IncomeTestLowerThresholdSingle"), c = e.getParamNumber("IncomeTestUpperThresholdSingle"), h = n ? (l = e.getParamNumber("AssetTestLowerThresholdSingleHomeowner"), e.getParamNumber("AssetTestUpperThresholdSingleHomeowner")) : (l = e.getParamNumber("AssetTestLowerThresholdSingleNonHomeowner"), e.getParamNumber("AssetTestUpperThresholdSingleNonHomeowner")), e.getParamNumber("DeemingThresholdSingle")), this._maxFortnightlyPayment.initialise(s, o), this._incomeTest.initialise(u * d.FORTNIGHTS_PER_YEAR, c * d.FORTNIGHTS_PER_YEAR, a), this._assetTest.initialise(l, h, a), this._pensionSupplementMinimum.initialise(_, o), this._pensionSupplementMaximum.initialise(m, o), this._pensionSupplementUpperIncomeThreshold.initialise(c * d.FORTNIGHTS_PER_YEAR, a), this._pensionSupplementUpperAssetThreshold.initialise(h, a), this._deemingThreshold.initialise(p, a), this._deemingRateLowerIncome = e.getParamNumber("DeemingRateLowerIncome"), this._deemingRateHigherIncome = e.getParamNumber("DeemingRateHigherIncome"), this._WorkBonus.initialise(e.getParamNumber("WorkBonus"), o), this._isMarried = t, this._isHomeowner = n, this._includeAgePension = e.getParamBoolean("IncludeAgePension"), this._singlePersonProjectionButAllowForBothAgePensions = !!(r && t && i) }, i.prototype.index = function (e, t, n) { e.plus(t - 1); this._maxFortnightlyPayment.index(t), this._pensionSupplementMinimum.index(t), this._pensionSupplementMaximum.index(t), this._pensionSupplementUpperIncomeThreshold.index(t), this._pensionSupplementUpperAssetThreshold.index(t), this._deemingThreshold.index(t), this._WorkBonus.index(t), this._incomeTest.index(t), this._assetTest.index(t), e = this._isMarried ? 2 : 1, t = this._assetTest.minimumThreshold + (this._maxFortnightlyPayment.value + this._pensionSupplementMaximum.value) * e / 3 * 1e3, this._assetTest.resetValues(this._assetTest.minimumThreshold, t) }, i.prototype.calculateAgePension = function (e, t, n, r, i, o, a, s, u, c, l, h, m, _) { u = this._assetTest.getProportion(i + a + u + h + m), h = (e = t ? Math.max(e - this._WorkBonus.value * d.FORTNIGHTS_PER_YEAR, 0) : e) + (n = r ? Math.max(n - this._WorkBonus.value * d.FORTNIGHTS_PER_YEAR, 0) : n) + c + o + l + _ + this.calculateDeemedIncome(i + a), m = this._incomeTest.getProportion(h), t = this._maxFortnightlyPayment.value * Math.min(m, u) * d.FORTNIGHTS_PER_YEAR; return 0 < m && 0 < u && (t += Math.max(this._pensionSupplementMaximum.value * Math.min(m, u), this._pensionSupplementMinimum.value) * d.FORTNIGHTS_PER_YEAR), t }, i.prototype.calculateDeemedIncome = function (e) { return e < this._deemingThreshold.value ? e * this._deemingRateLowerIncome : this._deemingThreshold.value * this._deemingRateLowerIncome + (e - this._deemingThreshold.value) * this._deemingRateHigherIncome }, Object.defineProperty(i.prototype, "includeAgePension", { get: function () { return this._includeAgePension }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "maximumFortnightlyAgePension", { get: function () { return this._maxFortnightlyPayment.value }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "pensionSupplement", { get: function () { return this._pensionSupplementMaximum.value }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "deemingThreshold", { get: function () { return this._deemingThreshold.value }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "incomeTestMinimumThreshold", { get: function () { return this._incomeTest.minimumThreshold }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "incomeTestMaximumThreshold", { get: function () { return this._incomeTest.maximumThreshold }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "assetTestMinimumThreshold", { get: function () { return this._assetTest.minimumThreshold }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "assetTestMaximumThreshold", { get: function () { return this._assetTest.maximumThreshold }, enumerable: !0, configurable: !0 }), n.AgePensionBasis = i }, { "../lib/AdvDate": 9, "./Constants": 22, "./IndexedDollarParameter": 29, "./LinearScale": 37 }], 20: [function (e, t, n) { "use strict"; function r() { this._startAge = 0, this._annuityArray = [] } Object.defineProperty(n, "__esModule", { value: !0 }), r.prototype.initialise = function (e, t) { this._startAge = e, this._annuityArray = t }, r.prototype.getAnnuityPurchasePrice = function (e) { var t = 0, t = e - this._startAge < 0 ? 0 : e - this._startAge >= this._annuityArray.length ? this._annuityArray.length - 1 : e - this._startAge; return this._annuityArray[t] }, n.AnnuityPurchasePriceTable = r }, {}], 21: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var r = e("./IndexedDollarParameter"), i = e("./LinearScale"), o = new Date(2013, 0, 1, 12, 0, 0).getTime(); function a() { this._maximumCoContribution = null, this._memberContributionTest = null, this._incomeTest = null, this._includeCoContributions = !0 } a.prototype.initialise = function (e, t) { this._maximumCoContribution = new r.IndexedDollarParameter, this._memberContributionTest = new i.LinearScale, this._incomeTest = new i.LinearScale, this._maximumCoContribution.initialise(e.getParamNumber("CurrentMaximumCoContribution"), t), this._memberContributionTest.initialise(0, e.getParamNumber("MaximumContributionBase"), t), this._incomeTest.initialise(e.getParamNumber("CoContributionLowerThreshold"), e.getParamNumber("CoContributionUpperThreshold"), t), this._includeCoContributions = e.getParamBoolean("IncludeCoContributions") }, a.prototype.annualUpdate = function (e, t) { e.plus(t - 1).after(o) && (this._maximumCoContribution.index(t), this._memberContributionTest.index(t), this._incomeTest.index(t)) }, a.prototype.calculateCoContributions = function (e, t) { return this._includeCoContributions ? (e = this._incomeTest.getProportion(e), t = this._memberContributionTest.getProportion(t), this._maximumCoContribution.value * e * (t = 1 - t)) : 0 }, a.prototype.getMaximumCoContribution = function () { return this._maximumCoContribution.value }, a.prototype.getLowerIncomeThreshold = function () { return this._incomeTest.minimumThreshold }, a.prototype.getUpperIncomeThreshold = function () { return this._incomeTest.maximumThreshold }, a.prototype.getLowerContributionThreshold = function () { return this._memberContributionTest.minimumThreshold }, a.prototype.getUpperContributionThreshold = function () { return this._memberContributionTest.maximumThreshold }, n.CoContributionBasis = a }, { "./IndexedDollarParameter": 29, "./LinearScale": 37 }], 22: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.MAX_AGE = 102, n.SUPERANNUATION_TAX_RATE = .15, n.SUPERANNUATION_TAX_RATE_HIGH_EARNER = .3, n.SUPERANNUATION_EXCESSIVE_TAX_RATE = .465, n.PENSION_REBATE_RATE = .15, n.FULL_TIME_DAYS_PER_WEEK = 5, n.MAXIMUM_TTR_DRAWING_RATE = .1, n.FORTNIGHTS_PER_YEAR = 26.09, n.AGE_CEASE_DEFERRED_RETIREMENT = 55 }, {}], 23: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var r = e("./MemberType"), i = e("./AccountType"); function o() { this._rates = [] } o.prototype.addRate = function (e, t, n) { this._rates[this.key(t, n)] = e }, o.prototype.rate = function (e, t, n) { return t === i.AccountType.ACCUMULATION && n === r.MemberType.QSUPER_POLICE ? this._rates[this.key(e, "qpolice")] : t === i.AccountType.ACCUMULATION && n === r.MemberType.QSUPER_DEFAULT ? this._rates[this.key(e, "qsuper")] : t === i.AccountType.ACCUMULATION ? .09 : 0 }, o.prototype.key = function (e, t) { return Math.floor(100 * e) + "" + t }, n.ContributionTable = o }, { "./AccountType": 17, "./MemberType": 38 }], 24: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var o = e("./IndexedDollarParameter"), c = e("./MemberType"), a = e("../lib/ArrayUtils"), s = new Date(2024, 5, 30, 12, 0, 0).getTime(), u = new Date(2025, 5, 30, 12, 0, 0).getTime(), l = new Date(2026, 5, 30, 12, 0, 0).getTime(); function r() { this._rateContribution = 0, this._rateContributionInSubsequentEmployment = 0, this._sgcMaximumContributionBase = null, this._enforceSGMaximumContributionBase = !1, this._enforceSGCRatesOfContribution = !1, this._employerContributionsHistory = [], this._arrayCounter = 0, this._deflatedEmployerContributions = [] } r.prototype.initialise = function (e, t, n, r, i) { this._enforceSGMaximumContributionBase = e.getParamBoolean("EnforceMaximumContributionBase"), this._sgcMaximumContributionBase = new o.IndexedDollarParameter, this._sgcMaximumContributionBase.initialise(e.getParamNumber("SGCMaximumContributionBase"), r), this._rateContribution = t, this._enforceSGCRatesOfContribution = e.getParamBoolean("EnforceSGCRatesOfContribution"), this._rateContributionInSubsequentEmployment = n, this._employerContributionsHistory = a.InitialiseArray(i + 2), this._arrayCounter = 0 }, r.prototype.annualUpdate = function (e) { this._sgcMaximumContributionBase.index(e), this._arrayCounter++ }, r.prototype.calculateEmployerContributions = function (e, t, n, r, i) { e = this._enforceSGMaximumContributionBase ? Math.min(e * t, 4 * this._sgcMaximumContributionBase.value) : e * t, t = n.plus(r - 1), n = i === c.MemberType.ESSS_AssistMe_DB ? t.before(s) ? .08 : t.before(u) ? .09 : t.before(l) ? .11 : .12 : t.before(s) ? .11 : t.before(u) ? .115 : .12, r = this._enforceSGCRatesOfContribution ? Math.max(this._rateContribution, n) : this._rateContribution; this._employerContributionsHistory[this._arrayCounter] = Math.round(e * r * 100) / 100 }, r.prototype.commenceSubsequentEmployment = function () { this._rateContribution = this._rateContributionInSubsequentEmployment, this._enforceSGCRatesOfContribution = !0 }, Object.defineProperty(r.prototype, "employerContributions", { get: function () { return this._employerContributionsHistory[this._arrayCounter] }, enumerable: !0, configurable: !0 }), r.prototype.getEmployerContributionsInYear = function (e) { return this._employerContributionsHistory[e - 1] }, r.prototype.getDeflatedEmployerContributionsInYear = function (e) { return this._deflatedEmployerContributions[e - 1] }, r.prototype.deflate = function (e, t, n, r, i) { var o = 1, a = 1, s = r + 1; this._deflatedEmployerContributions[0] = this._employerContributionsHistory[0]; for (var u = 2; u <= this._employerContributionsHistory.length; u++)o /= 1 + e.getIndexationRate(u - 1), a /= i < s ? 1 + t.getIndexationRate(u - 1) : 1 + e.getIndexationRate(u - 1), n === c.MemberType.ART_DEFAULT || n === c.MemberType.ART_LIFECYCLE || n === c.MemberType.FIRSTSTATESUPER || n === c.MemberType.FIRSTSTATESUPER_MYSUPER ? this._deflatedEmployerContributions[u - 1] = this._employerContributionsHistory[u - 1] * a : this._deflatedEmployerContributions[u - 1] = this._employerContributionsHistory[u - 1] * o, s++ }, n.Employer = r }, { "../lib/ArrayUtils": 10, "./IndexedDollarParameter": 29, "./MemberType": 38 }], 25: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var A = e("./Constants"), i = e("./Output"), p = e("./Person"), d = e("./Account"), f = e("./Employer"), g = e("./Projection"), y = e("./AccountType"), b = e("./MemberType"), P = e("./PhaseType"), u = e("./TTRMode"), T = e("./CoContributionBasis"), I = e("./AgePensionBasis"), C = e("./PAYGIncomeTaxBasis"), v = e("./IndexationBasis"), R = e("./IndexedInvestmentOptionList"), S = e("./Insurance"); function r(e) { this._insurancePremiumSubject = 0, this._insurancePremiumPartner = 0, this._parameters = e } r.prototype.run = function () { this.init(); for (var e = new i.Output(this._parameters.getParamNumber("RetirementAge"), this._parameters.getParamNumber("RetirementAge_2"), this._parameters.getParamBoolean("IncludePartner"), this._parameters); (this._subjectAccount.isNotExhausted() || this._partnerAccount.isNotExhausted()) && (this._subject.age < A.MAX_AGE || this._partner.age < A.MAX_AGE) || this._subject.age < A.MAX_AGE || this._partner.age < this._partner.retirementAge;) { this.annualUpdate(this._subject, this._partner, this._subjectAccount, this._partnerAccount, this._subjectEmployer, this._partnerEmployer, this._coContributionBasis, this._paygIncomeTaxBasis, this._agePensionBasis, this._projection, this._indexedInvestmentOptionList, this._insuranceFeeBasis, this._wageInflation, this._parameters), this.calculateAgePensionEntitlements(this._subject, this._partner, this._subjectAccount, this._partnerAccount, this._agePensionBasis, this._projection, this._paygIncomeTaxBasis), this.calculateSuperannuationDrawings(this._subject, this._partner, this._subjectAccount, this._partnerAccount, this._paygIncomeTaxBasis, this._projection), this.calculateEmployerContributions(this._subject, this._partner, this._subjectEmployer, this._partnerEmployer, this._projection), this.calculateCoContributions(this._subject, this._partner, this._coContributionBasis), this.calculateTTR(this._subject, this._partner, this._subjectAccount, this._partnerAccount, this._subjectEmployer, this._partnerEmployer, this._paygIncomeTaxBasis), this._subject.retiredThisYear && (t = this.getInvestmentOption("InvestmentOptionByName", "InvestmentOptionInRetirement", "decumulation"), this._subjectAccount.addWithdrawalToDrawings(this._subject.indexedLumpSumWithdrawalAtRetirement), this._subject.setRetirementDrawings(this._subjectAccount.drawings()), this._subject.memberType !== b.MemberType.ART_LIFECYCLE && this._subject.memberType !== b.MemberType.FIRSTSTATESUPER_MYSUPER && this._subject.memberType !== b.MemberType.ACTIVE_SUPER_LIFECYCLE && this._subject.memberType !== b.MemberType.ACTIVE_SUPER && this._subjectAccount.resetInvestmentChoice(t, this._indexedInvestmentOptionList), this._subject.memberType !== b.MemberType.ART_DEFAULT && this._subject.memberType !== b.MemberType.ART_LIFECYCLE && this._subject.memberType !== b.MemberType.ART_RBA || this._subjectAccount.setSunSuperFeeInPensionPhase(this._indexedInvestmentOptionList), this._subject.memberType === b.MemberType.VISION ? this._subjectAccount.setVisionFeeInPensionPhase(this._indexedInvestmentOptionList) : this._subject.memberType === b.MemberType.AUSTRALIAN_SUPER ? (this._subjectAccount.setAustralianSuperFeeInPensionPhase(this._indexedInvestmentOptionList), this._subject.resetOtherIncomeIndexationBasis(this._priceInflation)) : this._subject.memberType === b.MemberType.HOSTPLUS ? this._subjectAccount.setHostplusFeeInPensionPhase(this._indexedInvestmentOptionList) : this._subject.memberType === b.MemberType.SMART_MONDAY ? this._subjectAccount.setSmartMondayFeeInPensionPhase(this._indexedInvestmentOptionList) : this._subject.memberType !== b.MemberType.ACTIVE_SUPER && this._subject.memberType !== b.MemberType.ACTIVE_SUPER_LIFECYCLE || this._subjectAccount.setActiveSuperFeeInPensionPhase(this._indexedInvestmentOptionList), this._subject.discountWithPriceInflationInRetirement && this._subject.resetTargetIncomeIndexationBasis(this._priceInflation), this._parameters.getParamBoolean("ForceResetOtherIncomeIndexation")) && this._subject.resetOtherIncomeIndexationBasis(this._priceInflation), this._partner.retiredThisYear && (t = this.getInvestmentOption("InvestmentOptionByName_2", "InvestmentOptionInRetirement_2", "decumulation"), this._partnerAccount.addWithdrawalToDrawings(this._partner.indexedLumpSumWithdrawalAtRetirement), this._partner.setRetirementDrawings(this._partnerAccount.drawings()), this._partner.memberType !== b.MemberType.ART_LIFECYCLE && this._partner.memberType !== b.MemberType.FIRSTSTATESUPER_MYSUPER && this._partner.memberType !== b.MemberType.ACTIVE_SUPER_LIFECYCLE && this._partner.memberType !== b.MemberType.ACTIVE_SUPER && this._partnerAccount.resetInvestmentChoice(t, this._indexedInvestmentOptionList), this._partner.memberType !== b.MemberType.ART_DEFAULT && this._partner.memberType !== b.MemberType.ART_LIFECYCLE && this._partner.memberType !== b.MemberType.ART_RBA || (this._partnerAccount.setSunSuperFeeInPensionPhase(this._indexedInvestmentOptionList), this._partner.resetTargetIncomeIndexationBasis(this._artPostRetirementInflation)), this._partner.memberType === b.MemberType.VISION ? this._partnerAccount.setVisionFeeInPensionPhase(this._indexedInvestmentOptionList) : this._partner.memberType === b.MemberType.AUSTRALIAN_SUPER ? (this._partnerAccount.setAustralianSuperFeeInPensionPhase(this._indexedInvestmentOptionList), this._partner.resetOtherIncomeIndexationBasis(this._priceInflation)) : this._partner.memberType === b.MemberType.HOSTPLUS ? this._partnerAccount.setHostplusFeeInPensionPhase(this._indexedInvestmentOptionList) : this._partner.memberType === b.MemberType.SMART_MONDAY ? this._partnerAccount.setSmartMondayFeeInPensionPhase(this._indexedInvestmentOptionList) : this._partner.memberType !== b.MemberType.ACTIVE_SUPER && this._partner.memberType !== b.MemberType.ACTIVE_SUPER_LIFECYCLE || this._partnerAccount.setActiveSuperFeeInPensionPhase(this._indexedInvestmentOptionList), this._partner.discountWithPriceInflationInRetirement && this._partner.resetTargetIncomeIndexationBasis(this._priceInflation), this._parameters.getParamBoolean("ForceResetOtherIncomeIndexation")) && this._partner.resetOtherIncomeIndexationBasis(this._priceInflation); var t, n = this._insuranceFeeBasis.incomeProtectionPremium(this._subject.accountType, this._subject.memberType, this._subject.age, this._subject.isRetired, this._subject.midYearSalary, this._projection.asAt, this._projection.yearCount), r = this._insuranceFeeBasis.getDeathAndTpdPremium(this._subject.accountType, this._subject.memberType, this._subject.age, this._subject.isRetired, this._subject.sex); isNaN(n), isNaN(r), this._insurancePremiumSubject = n + r, this._insurancePremiumPartner = this._insuranceFeeBasis.incomeProtectionPremium(this._partner.accountType, this._partner.memberType, this._partner.age, this._partner.isRetired, this._partner.midYearSalary, this._projection.asAt, this._projection.yearCount) + this._insuranceFeeBasis.getDeathAndTpdPremium(this._partner.accountType, this._partner.memberType, this._partner.age, this._partner.isRetired, this._partner.sex), this._subjectAccount.accumulate(this._subject.preTaxMemberContributions + this._subjectEmployer.employerContributions + this._subject.ttrContributions, this._subject.postTaxMemberContributions, this._subject.lumpSumContribution, this._subject.coContributions, this._subject.retirementDrawings + this._subject.ttrDrawings, this._insurancePremiumSubject, this._subject.age, this._subject.accountType, this._subject.memberType, this._subject.midYearSalary, this._subject.coreContributionsPostTax, this._subject.rollOver(), this._subject.phase, this._subject.downsizerContribution, this._subject.debugMode), this._partnerAccount.accumulate(this._partner.preTaxMemberContributions + this._partnerEmployer.employerContributions + this._partner.ttrContributions, this._partner.postTaxMemberContributions, this._partner.lumpSumContribution, this._partner.coContributions, this._partner.retirementDrawings + this._partner.ttrDrawings, this._insurancePremiumPartner, this._partner.age, this._partner.accountType, this._partner.memberType, this._partner.midYearSalary, this._partner.coreContributionsPostTax, this._partner.rollOver(), this._partner.phase, this._partner.downsizerContribution, this._partner.debugMode), this._subjectAccount.accrueDBAndDeferredRetirement(this._subject.salary, this._subject.midYearSalary, this._subject.workload), this._partnerAccount.accrueDBAndDeferredRetirement(this._partner.salary, this._partner.midYearSalary, this._partner.workload), this._subject.setIndexedPensionInYear(this._subjectAccount.indexedPensionIncome), this._partner.setIndexedPensionInYear(this._partnerAccount.indexedPensionIncome), e.setYear(this._projection.yearCount), e.addSubjectYearFrom(this._subject, this._subjectAccount, this._subjectEmployer), e.addPartnerYearFrom(this._partner, this._partnerAccount, this._partnerEmployer), this._projection.isFirstYear() && (n = this._parameters.concessionalContributionThreshold(), e.subjectConcessionalCapBreachedInFirstYear = this._subject.preTaxMemberContributions + this._subjectEmployer.employerContributions > n, n = this._parameters.concessionalContributionThreshold(), e.partnerConcessionalCapBreachedInFirstYear = this._partner.preTaxMemberContributions + this._partnerEmployer.employerContributions > n), this._projection.incrementYear() } return this._subjectAccount.deflate(this._wageInflation, this._priceInflation, this._subject.memberType, this._subject.startAge, this._subject.retirementAge), this._subject.deflate(this._wageInflation, this._priceInflation, this._subject.memberType, this._subject.startAge, this._subject.retirementAge), this._subjectEmployer.deflate(this._wageInflation, this._priceInflation, this._subject.memberType, this._subject.startAge, this._subject.retirementAge), this._partnerAccount.deflate(this._wageInflation, this._priceInflation, this._subject.memberType, this._subject.startAge, this._subject.retirementAge), this._partner.deflate(this._wageInflation, this._priceInflation, this._subject.memberType, this._subject.startAge, this._subject.retirementAge), this._partnerEmployer.deflate(this._wageInflation, this._priceInflation, this._subject.memberType, this._subject.startAge, this._subject.retirementAge), e.addDeflatedData(this._projection.yearCount - 1, this._subject, this._subjectAccount, this._subjectEmployer, this._partner, this._partnerAccount, this._partnerEmployer), e.subjectOutput.pensionTransferBalanceCapExceeded = this._subjectAccount.isPensionTransferBalanceCapExceeded(), e.partnerOutput.pensionTransferBalanceCapExceeded = this._partnerAccount.isPensionTransferBalanceCapExceeded(), e.subjectOutput.triedToExceedNonConcessionalContributionCap = this._subjectAccount.triedToExceedNonConcessionalContributionCap, e.subjectOutput.triedToExceedNonConcessionalContributionCapAge = this._subjectAccount.ageTriedToExceedNonConcessionalContributionCap, e.partnerOutput.triedToExceedNonConcessionalContributionCap = this._partnerAccount.triedToExceedNonConcessionalContributionCap, e.partnerOutput.triedToExceedNonConcessionalContributionCapAge = this._partnerAccount.ageTriedToExceedNonConcessionalContributionCap, e.subjectOutput.drawingsLessThanMinimumRequired = this._subjectAccount.drawingsLessThanMinimumRequired, e.partnerOutput.drawingsLessThanMinimumRequired = this._partnerAccount.drawingsLessThanMinimumRequired, e.subjectOutput.drawingsAreMinimumLegislated = this._subjectAccount.drawingsAreMinimumLegislated, e.partnerOutput.drawingsAreMinimumLegislated = this._partnerAccount.drawingsAreMinimumLegislated, e }, r.prototype.init = function () { var e = this._parameters, t = A.MAX_AGE - Math.min(e.getParamNumber("AgeNow"), e.getParamNumber("AgeNow_2")) + 1, n = e.equipInitialPremium(), r = (this._financialAssets = [], this._incomeWithNoBackingAssets = [], this._incomeWithNoBackingAssets_CeaseAge = [], this._userAccountType = e.getParamNumber("AccountType"), this._userMemberType = e.getParamNumber("MemberType"), this._partnerAccountType = e.getParamNumber("AccountType_2"), this._partnerMemberType = e.getParamNumber("MemberType_2"), this._wageInflation = new v.IndexationBasis, this._wageInflation.initialise(e.getParamObject("WageInflationIndex")), this._priceInflation = new v.IndexationBasis, this._priceInflation.initialise(e.getParamObject("PriceInflationIndex")), this._artPostRetirementInflation = new v.IndexationBasis, this._artPostRetirementInflation.initialise(e.getParamObject("SunSuperTargetIncomeInflationInRetirement")), this._activeSuperInsuranceInflation = new v.IndexationBasis, this._activeSuperInsuranceInflation.initialise(e.getParamObject("ActiveSuperInsuranceInflation")), this._projection = new g.Projection, this._projection.initialise(e.getParamBoolean("IncludePartner"), e.getParamBoolean("EnforceMinimumDrawingRequirements")), this._coContributionBasis = new T.CoContributionBasis, this._coContributionBasis.initialise(e, this._wageInflation), this._subject = new p.Person, this._subject.initialise(e, e.getParamNumber("AgeNow"), e.getParamString("Sex"), e.getParamNumber("Salary"), e.getParamNumber("RetirementAge"), e.getParamBoolean("HomeOwner"), e.getParamBoolean("Married"), e.getParamNumber("PreTaxMemberContributions"), e.getParamNumber("PostTaxMemberContributions"), e.getParamNumber("TargetIncome"), e.getParamNumber("NonFinancialAssets"), e.getParamNumber("IncomeOnNonFinancialAssets"), e.getParamNumber("NonFinancialAssets_GrowthRate"), e.getParamNumber("PersonalAssets"), e.getParamNumber("PartTimeWorkDaysPerWeek"), e.getParamNumber("PartTimeWorkYearsDuration"), e.getParamNumber("PartTimeWorkFromAge"), e.getParamNumber("OneOffContribution"), e.getParamNumber("OneOffContributionMadeAtAge"), e.getParamBoolean("IncludeTTR"), e.getParamBoolean("TTRModeTaxOptimisation"), e.getParamNumber("TTRUserSpecifiedDrawings"), e.getParamNumber("WithdrawalAtRetirement"), this._userAccountType, this._userMemberType, this._wageInflation, this._priceInflation, t, e.getParamBoolean("PostTaxContributions"), e.getParamNumber("RollOverAmount"), e.getParamNumber("RollOverAge"), e.getParamNumber("InitialExternalPension"), e.getParamNumber("FutureYearsCurrentEmployment"), e.getParamBoolean("IsARetirementIncomeProduct"), e.getParamNumber("RetirementIncomeProduct_AgePurchase"), e.getParamNumber("RetirementIncomeProduct_AgeCommences"), e.getParamBoolean("ElectionBasedOnAssetToConvert"), e.getParamBoolean("ElectionBasedOnDollarsOfAssetsToConvert"), e.getParamNumber("RetirementIncomeProduct_ProportionOfBenefit"), e.getParamNumber("RetirementIncomeProduct_DollarsOfAssetsToConvert"), e.getParamNumber("RetirementIncomeProduct_AimForAnnualIncome"), e.getParamNumber("RetirementIncomeProduct_IndexationRate"), e.getParamBoolean("UseDefaultPurchasePrice"), e.getParamNumber("RetirementIncomeProduct_IncomePer100KPurchase"), !e.getParamBoolean("Legacy603CalculationMethod"), e.getParamNumber("TTR_CurrentWorkLoad"), e.getParamNumber("TTR_ProposedWorkLoad"), e.getParamBoolean("TTRMode_UserSpecifiesDrawingAmount"), e.getParamBoolean("Debug")), this._subject.setDownsizerContribution(e.getParamNumber("DownsizerContributionAmount"), e.getParamNumber("DownsizerContributionAge")), this._subject.memberType !== b.MemberType.ESSS_AssistMe_DB && this._subject.memberType !== b.MemberType.ESSS_AssistMe || this._subject.setLengthOfFirstPeriod(e.getParamNumber("AgeNowCompletedPartYear")), this._partner = new p.Person, this._partner.initialise(e, e.getParamNumber("AgeNow_2"), e.getParamString("Sex_2"), e.getParamNumber("Salary_2"), e.getParamNumber("RetirementAge_2"), e.getParamBoolean("HomeOwner"), e.getParamBoolean("Married"), e.getParamNumber("PreTaxMemberContributions_2"), e.getParamNumber("PostTaxMemberContributions_2"), e.getParamNumber("TargetIncome"), e.getParamNumber("NonFinancialAssets"), e.getParamNumber("IncomeOnNonFinancialAssets"), e.getParamNumber("NonFinancialAssets_GrowthRate"), e.getParamNumber("PersonalAssets"), e.getParamNumber("PartTimeWorkDaysPerWeek_2"), e.getParamNumber("PartTimeWorkYearsDuration_2"), e.getParamNumber("PartTimeWorkFromAge_2"), e.getParamNumber("OneOffContribution_2"), e.getParamNumber("OneOffContributionMadeAtAge_2"), e.getParamBoolean("IncludeTTR"), e.getParamBoolean("TTRModeTaxOptimisation"), e.getParamNumber("TTRUserSpecifiedDrawings_2"), e.getParamNumber("WithdrawalAtRetirement_2"), this._partnerAccountType, this._partnerMemberType, this._wageInflation, this._priceInflation, t, e.getParamBoolean("PostTaxContributions_2"), e.getParamNumber("RollOverAmount_2"), e.getParamNumber("RollOverAge_2"), e.getParamNumber("InitialExternalPension_2"), e.getParamNumber("FutureYearsCurrentEmployment_2"), e.getParamBoolean("IsARetirementIncomeProduct_2"), e.getParamNumber("RetirementIncomeProduct_AgePurchase_2"), e.getParamNumber("RetirementIncomeProduct_AgeCommences_2"), e.getParamBoolean("ElectionBasedOnAssetToConvert_2"), e.getParamBoolean("ElectionBasedOnDollarsOfAssetsToConvert_2"), e.getParamNumber("RetirementIncomeProduct_ProportionOfBenefit_2"), e.getParamNumber("RetirementIncomeProduct_DollarsOfAssetsToConvert_2"), e.getParamNumber("RetirementIncomeProduct_AimForAnnualIncome_2"), e.getParamNumber("RetirementIncomeProduct_IndexationRate_2"), e.getParamBoolean("UseDefaultPurchasePrice_2"), e.getParamNumber("RetirementIncomeProduct_IncomePer100KPurchase_2"), !e.getParamBoolean("Legacy603CalculationMethod"), e.getParamNumber("TTR_CurrentWorkLoad_2"), e.getParamNumber("TTR_ProposedWorkLoad_2"), e.getParamBoolean("TTRMode_UserSpecifiesDrawingAmount"), e.getParamBoolean("Debug")), this._partner.setDownsizerContribution(e.getParamNumber("DownsizerContributionAmount_2"), e.getParamNumber("DownsizerContributionAge_2")), this._partner.memberType !== b.MemberType.ESSS_AssistMe_DB && this._partner.memberType !== b.MemberType.ESSS_AssistMe || this._partner.setLengthOfFirstPeriod(e.getParamNumber("AgeNowCompletedPartYear")), this._financialAssets = e.getParamObject("FinancialAssets") ? e.getParamObject("FinancialAssets") : [], e.getParamNumber("OtherIncome")), i = e.getParamNumber("OtherAssets"), o = (this.processLegacyAssetInputs(r, i), 1); this._subject.SizeTheFinancialAssetsArray(this._financialAssets.length), this._partner.SizeTheFinancialAssetsArray(this._financialAssets.length); for (var a = 0, s = this._financialAssets; a < s.length; a++) { var u = s[a], c = new v.IndexationBasis; c.initialise(u.rateOfReturnGrowth), this._subject.InitialiseFinancialAssets(u.amount, u.rateOfReturnIncome, c, o), this._partner.InitialiseFinancialAssets(u.amount, u.rateOfReturnIncome, c, o), o++ } e.getParamBoolean("Debug") && (console.info("subject._FinancialAssets =", this._subject.getFinancialAssets()), console.info("partner._FinancialAssets =", this._partner.getFinancialAssets())), this._incomeWithNoBackingAssets = e.getParamObject("IncomeWithNoBackingAssets") ? e.getParamObject("IncomeWithNoBackingAssets") : [], this._incomeWithNoBackingAssets_CeaseAge = e.getParamObject("IncomeWithNoBackingAssets_CeaseAge") ? e.getParamObject("IncomeWithNoBackingAssets_CeaseAge") : []; var l = 1; this._subject.SizeTheIncomeWithNoBackingAssetsArray(this._incomeWithNoBackingAssets.length), this._partner.SizeTheIncomeWithNoBackingAssetsArray(this._incomeWithNoBackingAssets.length); for (var h = 0, m = this._incomeWithNoBackingAssets; h < m.length; h++) { var _ = m[h]; this._subject.InitialiseIncomeWithNoBackingAssets(_, this._incomeWithNoBackingAssets_CeaseAge[l - 1], this._priceInflation, this._wageInflation, l), this._partner.InitialiseIncomeWithNoBackingAssets(_, this._incomeWithNoBackingAssets_CeaseAge[l - 1], this._priceInflation, this._wageInflation, l), l++ } e.getParamBoolean("Debug") && (console.info("this._incomeWithNoBackingAssets =", this._incomeWithNoBackingAssets), console.info("this._incomeWithNoBackingAssets_CeaseAge =", this._incomeWithNoBackingAssets_CeaseAge), console.info("subject._IncomeWithNoBackingAssets =", this._subject.getIncomeWithNoBackingAssets()), console.info("subject._IncomeWithNoBackingAssets_CeaseAge =", this._subject.getIncomeWithNoBackingAssets_CeaseAge())), this._subject.setInitialOtherIncome(), this._partner.setInitialOtherIncome(), this._subjectEmployer = new f.Employer, this._subjectEmployer.initialise(e, e.getParamNumber("EmployerContributionRate"), e.getParamNumber("ContributionRateSubsequentEmployment"), this._wageInflation, t), this._partnerEmployer = new f.Employer, this._partnerEmployer.initialise(e, e.getParamNumber("EmployerContributionRate_2"), e.getParamNumber("ContributionRateSubsequentEmployment_2"), this._wageInflation, t), this._indexedInvestmentOptionList = new R.IndexedInvestmentOptionList, this._indexedInvestmentOptionList.initialise(e.getParamObject("InvestmentOptions"), this._wageInflation); r = "", this._userAccountType === y.AccountType.DEFINED_BENEFIT && this._userMemberType === b.MemberType.QSUPER_POLICE ? r = "qpolice" : this._userAccountType === y.AccountType.DEFINED_BENEFIT && this._userMemberType === b.MemberType.QSUPER_DEFAULT && (r = "qsuper"), i = 0 < r.length ? 1 == e.getParamBoolean("UseSpecificDBAccrualRates") ? e.getParamNumber("UserSpecifiedDBAccrualRates") : e.getParamObject("EmployerAccrualTable").accrualRate(e.getParamNumber("DBMemberCoreContributionRate"), r) : 0, r = this.getInvestmentOption("InvestmentOptionByName", "InvestmentOption", "accumulation"), this._subjectAccount = new d.Account, this._subjectAccount.initialise(e, e.getParamNumber("SuperannuationBalance") + this._subject.immediateRollOverInFirstYear, r, this._subject.phase, this._subject.age, this._indexedInvestmentOptionList, e.getParamNumber("InitialRateOfIndexedPension"), e.getParamNumber("IndexedPensionStartAge"), e.getParamBoolean("LimitConcessionalContributionsToThresholds"), e.getParamNumber("UntaxedComponent"), e.getParamNumber("TaxedComponent"), this._wageInflation, this._priceInflation, t, this._userMemberType, !e.getParamBoolean("Legacy603CalculationMethod"), e.getParamBoolean("UseProfileDefaultCashAllocation"), e.getParamNumber("InitialAllocationToCash"), e.getParamNumber("CashInvestmentOptionIndex"), e.getParamNumber("RetirementAge"), !e.getParamBoolean("DoNotApplyTaxDeductionForExpenses"), this._subject.debugMode), this._subjectAccount.initialiseDB(e.getParamNumber("AccruedDBMultiple"), e.getParamNumber("DBMemberCoreContributionRate"), this._subject.salary, i, t), this._subjectAccount.initialiseDeferredRetirement(e.getParamNumber("DeferredRetirementBalance"), this._subject.age, this._wageInflation, t), this._subjectAccount.initialiseCovidWithdrawals(e.getParamNumber("CovidWithdrawal_19_20"), e.getParamNumber("CovidWithdrawal_20_21"), this._projection.asAt), this._subject.memberType !== b.MemberType.ESSS_AssistMe && this._subject.memberType !== b.MemberType.ESSS_AssistMe_DB || this._subjectAccount.SetLengthOfFirstPeriod(e.getParamNumber("AgeNowCompletedPartYear")), r = "", this._partnerAccountType === y.AccountType.DEFINED_BENEFIT && this._partnerMemberType === b.MemberType.QSUPER_POLICE ? r = "qpolice" : this._partnerAccountType === y.AccountType.DEFINED_BENEFIT && this._partnerMemberType === b.MemberType.QSUPER_DEFAULT && (r = "qsuper"), i = 0, 0 < r.length && (i = 1 == e.getParamBoolean("UseSpecificDBAccrualRates_2") ? e.getParamNumber("UserSpecifiedDBAccrualRates_2") : e.getParamObject("EmployerAccrualTable").accrualRate(e.getParamNumber("DBMemberCoreContributionRate_2"), r)), r = this.getInvestmentOption("InvestmentOptionByName_2", "InvestmentOption_2", "accumulation"); this._partnerAccount = new d.Account, this._partnerAccount.initialise(e, e.getParamNumber("SuperannuationBalance_2") + this._partner.immediateRollOverInFirstYear, r, this._partner.phase, this._partner.age, this._indexedInvestmentOptionList, e.getParamNumber("InitialRateOfIndexedPension_2"), e.getParamNumber("IndexedPensionStartAge_2"), e.getParamBoolean("LimitConcessionalContributionsToThresholds"), e.getParamNumber("UntaxedComponent_2"), e.getParamNumber("TaxedComponent_2"), this._wageInflation, this._priceInflation, t, this._partnerMemberType, !e.getParamBoolean("Legacy603CalculationMethod"), e.getParamBoolean("UseProfileDefaultCashAllocation_2"), e.getParamNumber("InitialAllocationToCash_2"), e.getParamNumber("CashInvestmentOptionIndex_2"), e.getParamNumber("RetirementAge_2"), !e.getParamBoolean("DoNotApplyTaxDeductionForExpenses"), this._partner.debugMode), this._partnerAccount.initialiseDB(e.getParamNumber("AccruedDBMultiple_2"), e.getParamNumber("DBMemberCoreContributionRate_2"), this._partner.salary, i, t), this._partnerAccount.initialiseDeferredRetirement(e.getParamNumber("DeferredRetirementBalance_2"), this._partner.age, this._wageInflation, t), this._partnerAccount.initialiseCovidWithdrawals(e.getParamNumber("CovidWithdrawal_19_20_2"), e.getParamNumber("CovidWithdrawal_20_21_2"), this._projection.asAt), this._partner.memberType !== b.MemberType.ESSS_AssistMe && this._partner.memberType !== b.MemberType.ESSS_AssistMe_DB || this._partnerAccount.SetLengthOfFirstPeriod(e.getParamNumber("AgeNowCompletedPartYear")), this._subject.initialiseCoreAccumulationContributionRate(e.getParamNumber("AccumulationMemberCoreContributionRate")), this._partner.initialiseCoreAccumulationContributionRate(e.getParamNumber("AccumulationMemberCoreContributionRate_2")), this._agePensionBasis = new I.AgePensionBasis, this._agePensionBasis.initialise(e, this._subject.isMarried, this._subject.isHomeOwner, !e.getParamNumber("IncludePartner"), e.getParamBoolean("AgePensionAllowCouplePensions"), this._wageInflation, this._priceInflation), this._coContributionBasis = new T.CoContributionBasis, this._coContributionBasis.initialise(e, this._wageInflation), this._paygIncomeTaxBasis = new C.PAYGIncomeTaxBasis, this._paygIncomeTaxBasis.initialise(e, this._subject.isMarried, this._wageInflation), this._subject.memberType === b.MemberType.ACTIVE_SUPER || this._subject.memberType === b.MemberType.ACTIVE_SUPER_LIFECYCLE ? (this._insuranceFeeBasis = new S.Insurance, this._insuranceFeeBasis.initialise(e, this._activeSuperInsuranceInflation, this._subject.salary, this._subject.age, n)) : (this._insuranceFeeBasis = new S.Insurance, this._insuranceFeeBasis.initialise(e, this._wageInflation, this._subject.salary, this._subject.age, n)) }, r.prototype.annualUpdate = function (e, t, n, r, i, o, a, s, u, c, l, h, m, _) { c.isNotFirstYear() && (e.annualUpdate(c.asAt, c.yearCount), n.annualUpdate(c.asAt, e.age, c.yearCount, e.isRetired, e.memberType), i.annualUpdate(c.yearCount), t.annualUpdate(c.asAt, c.yearCount), r.annualUpdate(c.asAt, t.age, c.yearCount, t.isRetired, e.memberType), o.annualUpdate(c.yearCount), a.annualUpdate(c.asAt, c.yearCount), s.annualUpdate(c.yearCount, m), l.annualUpdate(c.yearCount), u.index(c.asAt, c.yearCount, e.memberType), h.index(c.yearCount, e.age)), e.age === A.AGE_CEASE_DEFERRED_RETIREMENT && n.transferDeferredRetirementAssetsToAccumulationAccount(), t.age === A.AGE_CEASE_DEFERRED_RETIREMENT && r.transferDeferredRetirementAssetsToAccumulationAccount(), e.age === e.retirementAge && e.memberType === b.MemberType.SUPERSA_SSS && (n.deductTaxAtRetirementOnUntaxedFunds(), e.debugMode) && (console.log("SUPERSA_SSS -> Running subjectAccount.deductTaxAtRetirementOnUntaxedFunds()"), console.info("subjectAccount =", n)), e.IsARetirementIncomeProduct && e.age === e.RetirementIncomeProduct_AgeOfPurchase && (e.RetirementIncomeProduct_UseDefaultIncomePer100KPurchase && (c.isTwoPersonProjection ? e.RetirementIncomeProduct_SetDefaultIncomePer100KPurchase_WithReversion(_, t.age, t.sex) : e.RetirementIncomeProduct_SetDefaultIncomePer100KPurchase_Single(_)), e.RetirementIncomeProduct_ElectionBasedOnAssetsToConvert && e.RetirementIncomeProduct_ElectionBasedOnDollarsOfAssetsToConvert ? (e.setRetirementIncomeProductIncome(n.CalculateRetirementIncomeProductIncomeBasedOnAssetConversion(e.RetirementIncomeProduct_PurchaseBalance_FutureDollars, e.RetirementIncomeProduct_IncomePer100KPurchase)), n.ReduceAccountBalanceForRetirementIncomeProductPurchase_AssetBasedPurchase(e.RetirementIncomeProduct_PurchaseBalance_FutureDollars)) : e.RetirementIncomeProduct_ElectionBasedOnAssetsToConvert ? (e.setRetirementIncomeProductIncome(n.CalculateRetirementIncomeProductIncome(e.RetirementIncomeProduct_PurchaseProportion, e.RetirementIncomeProduct_IncomePer100KPurchase)), n.ReduceAccountBalanceForRetirementIncomeProductPurchase(e.RetirementIncomeProduct_PurchaseProportion)) : (e.setRetirementIncomeProductIncomeBasedOnIncomeAim(n.CalculateMaximumAnnuity(e.RetirementIncomeProduct_IncomePer100KPurchase)), n.ReduceAccountBalanceForRetirementIncomeProductPurchase_AssetBasedPurchase(e.RetirementIncomeProduct_PurchaseBalance))), t.IsARetirementIncomeProduct && t.age === t.RetirementIncomeProduct_AgeOfPurchase && (t.RetirementIncomeProduct_UseDefaultIncomePer100KPurchase && (c.isTwoPersonProjection ? t.RetirementIncomeProduct_SetDefaultIncomePer100KPurchase_WithReversion(_, e.age, e.sex) : t.RetirementIncomeProduct_SetDefaultIncomePer100KPurchase_Single(_)), t.RetirementIncomeProduct_ElectionBasedOnAssetsToConvert && t.RetirementIncomeProduct_ElectionBasedOnDollarsOfAssetsToConvert ? (t.setRetirementIncomeProductIncome(r.CalculateRetirementIncomeProductIncomeBasedOnAssetConversion(t.RetirementIncomeProduct_PurchaseBalance_FutureDollars, t.RetirementIncomeProduct_IncomePer100KPurchase)), r.ReduceAccountBalanceForRetirementIncomeProductPurchase_AssetBasedPurchase(t.RetirementIncomeProduct_PurchaseBalance_FutureDollars)) : t.RetirementIncomeProduct_ElectionBasedOnAssetsToConvert ? (t.setRetirementIncomeProductIncome(r.CalculateRetirementIncomeProductIncome(t.RetirementIncomeProduct_PurchaseProportion, t.RetirementIncomeProduct_IncomePer100KPurchase)), r.ReduceAccountBalanceForRetirementIncomeProductPurchase(t.RetirementIncomeProduct_PurchaseProportion)) : (t.setRetirementIncomeProductIncomeBasedOnIncomeAim(r.CalculateMaximumAnnuity(t.RetirementIncomeProduct_IncomePer100KPurchase)), r.ReduceAccountBalanceForRetirementIncomeProductPurchase_AssetBasedPurchase(t.RetirementIncomeProduct_PurchaseBalance))), (e.age === e.retirementAge || e.age > e.retirementAge && this._projection.isFirstYear()) && (n.transferFundsOnRetirement(), n.CalculateCashAllocationOnRetirement()), t.age === t.retirementAge && t.memberType === b.MemberType.SUPERSA_SSS && (r.deductTaxAtRetirementOnUntaxedFunds(), t.debugMode) && (console.log("SUPERSA_SSS -> Running partnerAccount.deductTaxAtRetirementOnUntaxedFunds()"), console.info("partnerAccount =", r)), (t.age === t.retirementAge || t.age > t.retirementAge && this._projection.isFirstYear()) && (r.transferFundsOnRetirement(), r.CalculateCashAllocationOnRetirement()), e.age === e.ageCeaseCurrentEmployment && i.commenceSubsequentEmployment(), t.age === t.ageCeaseCurrentEmployment && o.commenceSubsequentEmployment(), e.memberType === b.MemberType.ART_LIFECYCLE && e.phase === P.PhaseType.ACCUMULATION ? n.setLifeCycleProductInvestmentAssumptions(e.age, l) : e.memberType === b.MemberType.ACTIVE_SUPER_LIFECYCLE ? n.setActiveSuperLifeCycleInvestmentAssumption(e.age, l) : e.memberType === b.MemberType.GUILD && n.setGuildLifeCyleInvestmentAssumption(e.age, l), t.memberType === b.MemberType.ART_LIFECYCLE && t.phase === P.PhaseType.ACCUMULATION ? r.setLifeCycleProductInvestmentAssumptions(t.age, l) : t.memberType === b.MemberType.ACTIVE_SUPER_LIFECYCLE ? r.setActiveSuperLifeCycleInvestmentAssumption(t.age, l) : t.memberType === b.MemberType.GUILD && r.setGuildLifeCyleInvestmentAssumption(t.age, l) }, r.prototype.calculateAgePensionEntitlements = function (e, t, n, r, i, o, a) { var s = !1, u = !1, c = 0, l = 0, h = 0, m = 0, _ = 0, p = 0; i.includeAgePension && (o.isTwoPersonProjection ? (s = !!I.AgePensionBasis.isQualifyingAgeForAgePension(e.sex, e.dateBirth, e.age) && (h += n.currentBalance(), !0), u = !!I.AgePensionBasis.isQualifyingAgeForAgePension(t.sex, t.dateBirth, t.age) && (h += r.currentBalance(), !0), e.IsARetirementIncomeProduct && (p = Math.max(e.age - e.ageRetirementIncomeProductCommences, 0), e.age < 85 || p <= 5 ? m += .6 * n.RetirementIncomeProductPurchasePrice : m += .3 * n.RetirementIncomeProductPurchasePrice, _ += .6 * e.retirementProductIncome), t.IsARetirementIncomeProduct && (p = Math.max(t.age - t.ageRetirementIncomeProductCommences, 0), t.age < 85 || p <= 5 ? m += .6 * r.RetirementIncomeProductPurchasePrice : m += .3 * r.RetirementIncomeProductPurchasePrice, _ += .6 * t.retirementProductIncome), o = i.calculateAgePension(e.salary * e.workload, s, t.salary * t.workload, u, h, n.currentRateOfIndexedPension() + r.currentRateOfIndexedPension(), e.FinancialAssets, e.IncomeOnFinancialAssets, e.NonFinancialAssets, e.IncomeOnNonFinancialAssets, e.IncomeWithNoBackingAssets, e.PersonalAssets, m, _), I.AgePensionBasis.isQualifyingAgeForAgePension(e.sex, e.dateBirth, e.age) && (c = o), I.AgePensionBasis.isQualifyingAgeForAgePension(t.sex, t.dateBirth, t.age) && (l = o)) : (I.AgePensionBasis.isQualifyingAgeForAgePension(e.sex, e.dateBirth, e.age) && (h = n.currentBalance(), s = !0, e.IsARetirementIncomeProduct && (p = Math.max(e.age - e.ageRetirementIncomeProductCommences, 0), m = e.age < 85 || p <= 5 ? .6 * n.RetirementIncomeProductPurchasePrice : .3 * n.RetirementIncomeProductPurchasePrice, _ = .6 * e.retirementProductIncome), c = i.calculateAgePension(e.salary * e.workload, s, 0, !1, h, n.currentRateOfIndexedPension(), e.FinancialAssets, e.IncomeOnFinancialAssets, e.NonFinancialAssets, e.IncomeOnNonFinancialAssets, e.IncomeWithNoBackingAssets, e.PersonalAssets, m, _)), this._parameters.getParamBoolean("Married") && this._parameters.getParamBoolean("AgePensionAllowCouplePensions") && (c *= 2))), e.setAgePensionInYear(c), t.setAgePensionInYear(l) }, r.prototype.calculateSuperannuationDrawings = function (e, t, n, r, i, o) { var a = 0, s = 0, u = 0, c = 0, l = 0, h = 0, m = 0, _ = 0, p = 0, d = 0, f = 0, g = 0, y = 0, b = 0, P = 0, T = (o.isTwoPersonProjection ? e.isRetired && t.isRetired ? (o = e.agePensionIncome + n.indexedPensionIncome + e.retirementProductIncome + e.IncomeOnFinancialAssets / 2 + e.IncomeOnNonFinancialAssets / 2 + e.IncomeWithNoBackingAssets / 2 - i.taxPayable(e.sex, e.dateBirth, e.age, e.agePensionIncome), s = (T = t.agePensionIncome + r.indexedPensionIncome + t.retirementProductIncome + e.IncomeOnFinancialAssets / 2 + e.IncomeOnNonFinancialAssets / 2 + e.IncomeWithNoBackingAssets / 2 - i.taxPayable(t.sex, t.dateBirth, t.age, t.agePensionIncome)) + ((T = Math.max(0, e.targetIncome - o - T)) - (P = 0 !== n.currentBalance() ? T * n.currentBalance() / (n.currentBalance() + r.currentBalance()) : 0)), u = e.drawingsRequiredToAttainTargetIncome(a = o + P, e.IncomeOnFinancialAssets / 2 + e.IncomeOnNonFinancialAssets / 2 + e.IncomeWithNoBackingAssets / 2, e.agePensionIncome, n.indexedPensionIncome + e.retirementProductIncome, i), c = t.drawingsRequiredToAttainTargetIncome(s, e.IncomeOnFinancialAssets / 2 + e.IncomeOnNonFinancialAssets / 2 + e.IncomeWithNoBackingAssets / 2, t.agePensionIncome, r.indexedPensionIncome + t.retirementProductIncome, i), l = n.getMaximumDrawings(), h = r.getMaximumDrawings(), m = n.getMinimumDrawings(e.age, e.memberType, e.retiredThisYear, e.indexedLumpSumWithdrawalAtRetirement), _ = r.getMinimumDrawings(t.age, t.memberType, t.retiredThisYear, t.indexedLumpSumWithdrawalAtRetirement), this._projection.enforceMinimumDrawingRequirements ? (p = Math.max(u, m), d = Math.max(c, _), u < m && n.setWhetherDrawingsAreMinimumLegislated(!0), c < _ && r.setWhetherDrawingsAreMinimumLegislated(!0)) : (d = c, (p = u) < m && n.setWhetherDrawingsLessThanMinimum(!0), c < _ && r.setWhetherDrawingsLessThanMinimum(!0)), f = Math.min(p, l), g = Math.min(d, h), e.setIndividualsTargetIncome(a), t.setIndividualsTargetIncome(s), n.setDrawings(f), e.setRetirementDrawings(f), r.setDrawings(g), t.setRetirementDrawings(g), b = 60 <= t.age ? i.taxPayable(t.sex, t.dateBirth, t.age, t.agePensionIncome) : i.taxPayable(t.sex, t.dateBirth, t.age, t.agePensionIncome + g) - g * A.PENSION_REBATE_RATE, y = 60 <= e.age ? i.taxPayable(e.sex, e.dateBirth, e.age, e.agePensionIncome) : i.taxPayable(e.sex, e.dateBirth, e.age, e.agePensionIncome + f) - f * A.PENSION_REBATE_RATE, e.setIncomeTax(y), t.setIncomeTax(b)) : e.isRetired ? (b = i.taxPayable(t.sex, t.dateBirth, t.age, t.salary * t.workload + t.agePensionIncome), T = t.salary + t.agePensionIncome + r.indexedPensionIncome + t.retirementProductIncome + e.IncomeOnFinancialAssets / 2 + e.IncomeOnNonFinancialAssets / 2 + e.IncomeWithNoBackingAssets / 2 - b, a = Math.max(0, e.targetIncome - T), u = e.drawingsRequiredToAttainTargetIncome(a, e.IncomeOnFinancialAssets / 2 + e.IncomeOnNonFinancialAssets / 2 + e.IncomeWithNoBackingAssets / 2, e.agePensionIncome, n.indexedPensionIncome + e.retirementProductIncome, i), l = n.getMaximumDrawings(), m = n.getMinimumDrawings(e.age, e.memberType, e.retiredThisYear, e.indexedLumpSumWithdrawalAtRetirement), this._projection.enforceMinimumDrawingRequirements ? (p = Math.max(u, m), u < m && n.setWhetherDrawingsAreMinimumLegislated(!0)) : (p = u) < m && n.setWhetherDrawingsLessThanMinimum(!0), f = Math.min(p, l), y = 60 <= e.age ? i.taxPayable(e.sex, e.dateBirth, e.age, e.agePensionIncome) : i.taxPayable(e.sex, e.dateBirth, e.age, e.agePensionIncome + f) - f * A.PENSION_REBATE_RATE, n.setDrawings(f), e.setRetirementDrawings(f), e.setIndividualsTargetIncome(a), e.setIncomeTax(y), r.setDrawings(0), t.setRetirementDrawings(0), t.setIncomeTax(b), t.setIndividualsTargetIncome(0)) : t.isRetired && (y = i.taxPayable(e.sex, e.dateBirth, e.age, e.salary * e.workload + e.agePensionIncome), o = e.salary + e.agePensionIncome + n.indexedPensionIncome + e.retirementProductIncome + e.IncomeOnFinancialAssets / 2 + e.IncomeOnNonFinancialAssets / 2 + e.IncomeWithNoBackingAssets / 2 - y, s = Math.max(0, e.targetIncome - o), c = t.drawingsRequiredToAttainTargetIncome(s, e.IncomeOnFinancialAssets / 2 + e.IncomeOnNonFinancialAssets / 2 + e.IncomeWithNoBackingAssets / 2, t.agePensionIncome, r.indexedPensionIncome + t.retirementProductIncome, i), h = r.getMaximumDrawings(), _ = r.getMinimumDrawings(t.age, t.memberType, t.retiredThisYear, t.indexedLumpSumWithdrawalAtRetirement), this._projection.enforceMinimumDrawingRequirements ? (d = Math.max(c, _), c < _ && r.setWhetherDrawingsAreMinimumLegislated(!0)) : (d = c) < _ && r.setWhetherDrawingsLessThanMinimum(!0), g = Math.min(d, h), b = 60 <= t.age ? i.taxPayable(t.sex, t.dateBirth, t.age, t.agePensionIncome) : i.taxPayable(t.sex, t.dateBirth, t.age, t.agePensionIncome + g) - g * A.PENSION_REBATE_RATE, r.setDrawings(g), t.setRetirementDrawings(g), t.setIndividualsTargetIncome(s), t.setIncomeTax(b), n.setDrawings(0), e.setRetirementDrawings(0), e.setIncomeTax(y), e.setIndividualsTargetIncome(0)) : e.isRetired && (P = void 0, P = e.IncomeOnFinancialAssets + e.IncomeOnNonFinancialAssets + e.IncomeWithNoBackingAssets + e.retirementProductIncome, u = e.drawingsRequiredToAttainTargetIncome(e.targetIncome, P, e.agePensionIncome, n.indexedPensionIncome, i), l = n.getMaximumDrawings(), m = n.getMinimumDrawings(e.age, e.memberType, e.retiredThisYear, e.indexedLumpSumWithdrawalAtRetirement), this._projection.enforceMinimumDrawingRequirements ? (p = Math.max(u, m), u < m && n.setWhetherDrawingsAreMinimumLegislated(!0)) : (p = u) < m && n.setWhetherDrawingsLessThanMinimum(!0), f = Math.min(p, l), n.setDrawings(f), e.setRetirementDrawings(f), r.setDrawings(0), t.setRetirementDrawings(0)), n.getMinimumDrawings(e.age, e.memberType)), a = r.getMinimumDrawings(t.age, t.memberType); n.setMinimumDrawings(T), r.setMinimumDrawings(a) }, r.prototype.calculateTTR = function (e, t, n, r, i, o, a) { var s = 0; e.inTTR && (n.makeAllAssetsInPensionMode(e.memberType, e.debugMode), s = n.getMaximumTTRDrawings(), e.TTRMode === u.TTRMode.TaxOptimisation ? e.optimiseTTR(0, e.midYearSalary * e.workload - e.preTaxMemberContributions, s, e.preTaxMemberContributions, i.employerContributions, a) : e.TTRMode === u.TTRMode.DrawingsOnly_UserSpecifyAmount ? e.setTTRDrawingsOnlyModeDrawings(s) : e.setTTRDrawingsToTopUpReducedSalary(s, a)), t.inTTR && (r.makeAllAssetsInPensionMode(t.memberType, t.debugMode), s = r.getMaximumTTRDrawings(), t.TTRMode === u.TTRMode.TaxOptimisation ? t.optimiseTTR(0, t.midYearSalary * t.workload - t.preTaxMemberContributions, s, t.preTaxMemberContributions, o.employerContributions, a) : t.TTRMode === u.TTRMode.DrawingsOnly_UserSpecifyAmount ? t.setTTRDrawingsOnlyModeDrawings(s) : t.setTTRDrawingsToTopUpReducedSalary(s, a)) }, r.prototype.calculateEmployerContributions = function (e, t, n, r, i) { n.calculateEmployerContributions(e.midYearSalary, e.workload, i.asAt, i.yearCount, this._subject.memberType), r.calculateEmployerContributions(t.midYearSalary, t.workload, i.asAt, i.yearCount, this._partner.memberType) }, r.prototype.calculateCoContributions = function (e, t, n) { var r = n.calculateCoContributions(e.midYearSalary, e.postTaxMemberContributions + e.lumpSumContribution), n = n.calculateCoContributions(t.midYearSalary, t.postTaxMemberContributions + t.lumpSumContribution); e.setCoContributions(r), t.setCoContributions(n) }, r.prototype.getInvestmentOption = function (e, t, n) { e = this._parameters.getParamObject(e); return void 0 !== e ? "object" == typeof e ? this.calculateInvestmentOption(e[n]) : this.calculateInvestmentOption(e) : this.calculateInvestmentOption(this._parameters.getParamNumber(t)) }, r.prototype.calculateInvestmentOption = function (e) { var t = parseInt(e, 10); return t != t ? this._indexedInvestmentOptionList.getIndexForOptionWithName(e) + 1 : t }, r.prototype.processLegacyAssetInputs = function (e, t) { var n = null; 0 === this._financialAssets.length && (0 < e || 0 < t) && (n = this._subject.memberType === b.MemberType.AUSTRALIAN_SUPER ? { amount: t, rateOfReturnIncome: e, rateOfReturnGrowth: this._wageInflation.getIndexationRate(1) } : { amount: t, rateOfReturnIncome: e, rateOfReturnGrowth: this._priceInflation.getIndexationRate(1) }, this._financialAssets.push(n)) }, Object.defineProperty(r.prototype, "params", { get: function () { return this._parameters }, enumerable: !0, configurable: !0 }), n.Engine = r }, { "./Account": 16, "./AccountType": 17, "./AgePensionBasis": 19, "./CoContributionBasis": 21, "./Constants": 22, "./Employer": 24, "./IndexationBasis": 28, "./IndexedInvestmentOptionList": 31, "./Insurance": 32, "./MemberType": 38, "./Output": 39, "./PAYGIncomeTaxBasis": 40, "./Person": 42, "./PhaseType": 44, "./Projection": 46, "./TTRMode": 48 }], 26: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var r = e("./IndexedDollarParameter"); function i() { this._startOfBand = null, this._taxRateInBand = 0, this._taxToStartOfBand = 0 } i.prototype.index = function (e) { this._startOfBand.index(e) }, i.prototype.setStartBand = function (e, t) { this._startOfBand = new r.IndexedDollarParameter, this._startOfBand.initialise(e, t) }, i.prototype.setRateInBand = function (e) { this._taxRateInBand = e }, i.prototype.setTaxToStartOfBand = function (e) { this._taxToStartOfBand = e }, Object.defineProperty(i.prototype, "startOfTaxBand", { get: function () { return this._startOfBand.value }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "taxRateInBand", { get: function () { return this._taxRateInBand }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "taxToStartOfBand", { get: function () { return this._taxToStartOfBand }, enumerable: !0, configurable: !0 }), n.IncomeTaxBand = i }, { "./IndexedDollarParameter": 29 }], 27: [function (e, t, n) { "use strict"; function r() { this._bandsArray = [], this._ratesArray = [] } Object.defineProperty(n, "__esModule", { value: !0 }), r.prototype.addBand = function (e, t) { this._bandsArray.push(e), this._ratesArray.push(t) }, r.prototype.bandStartAtIndex = function (e) { return this._bandsArray[e - 1] }, r.prototype.rateAtIndex = function (e) { return this._ratesArray[e - 1] }, Object.defineProperty(r.prototype, "numberOfBands", { get: function () { return this._bandsArray.length }, enumerable: !0, configurable: !0 }), n.IncomeTaxScheme = r }, {}], 28: [function (e, t, n) { "use strict"; function r() { this._indexationRates = [], this._countOfIndexationRates = 0 } Object.defineProperty(n, "__esModule", { value: !0 }), r.prototype.initialise = function (e) { Array.isArray(e) ? (this._countOfIndexationRates = e.length, this._indexationRates = e) : (this._countOfIndexationRates = 1, this._indexationRates = [e]) }, r.prototype.getIndexationRate = function (e) { return this._indexationRates[Math.min(e, this._countOfIndexationRates) - 1] }, n.IndexationBasis = r }, {}], 29: [function (e, t, n) { "use strict"; function r() { this._indexationBasis = null, this._value = 0 } Object.defineProperty(n, "__esModule", { value: !0 }), r.prototype.initialise = function (e, t) { this._indexationBasis = t, this._value = e }, r.prototype.resetValues = function (e) { this._value = e }, r.prototype.index = function (e) { this._value = this._value * (1 + this._indexationBasis.getIndexationRate(e)) }, r.prototype.resetIndexationBasis = function (e) { this._indexationBasis = e }, Object.defineProperty(r.prototype, "value", { get: function () { return this._value }, enumerable: !0, configurable: !0 }), r.prototype.getIndexationInYear = function (e) { return this._indexationBasis.getIndexationRate(e) }, n.IndexedDollarParameter = r }, {}], 30: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var r = e("./IndexedDollarParameter"); function i() { this._investmentOption = null, this._annualDollarFee = null, this._feePercentageOnBalanceCappedCap = null } i.prototype.initialise = function (e, t) { this._investmentOption = e, this._annualDollarFee = new r.IndexedDollarParameter, this._feePercentageOnBalanceCappedCap = new r.IndexedDollarParameter, this._annualDollarFee.initialise(this._investmentOption.feeAnnualDollar, t), this._feePercentageOnBalanceCappedCap.initialise(this._investmentOption.feePercentageOnBalanceCappedCap, t) }, i.prototype.index = function (e) { this._annualDollarFee.index(e), this._feePercentageOnBalanceCappedCap.index(e) }, Object.defineProperty(i.prototype, "name", { get: function () { return this._investmentOption.name }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "grossReturn", { get: function () { return this._investmentOption.grossReturn }, set: function (e) { this._investmentOption.grossReturn = e }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "taxableFraction", { get: function () { return this._investmentOption.taxableFraction }, set: function (e) { this._investmentOption.taxableFraction = e }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "feePercentageOnBalance", { get: function () { return this._investmentOption.feePercentageOnBalance }, set: function (e) { this._investmentOption.feePercentageOnBalance = e }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "feePercentageOnContributions", { get: function () { return this._investmentOption.feePercentageOnContributions }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "feeAnnualDollar", { get: function () { return this._annualDollarFee.value }, set: function (e) { this._annualDollarFee.resetValues(e) }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "feePercentageOnBalanceCapped", { get: function () { return this._investmentOption.feePercentageOnBalanceCapped }, set: function (e) { this._investmentOption.feePercentageOnBalanceCapped = e }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "feePercentageOnBalanceCappedCap", { get: function () { return this._feePercentageOnBalanceCappedCap.value }, set: function (e) { this._feePercentageOnBalanceCappedCap.resetValues(e) }, enumerable: !0, configurable: !0 }), n.IndexedInvestmentOption = i }, { "./IndexedDollarParameter": 29 }], 31: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var i = e("./IndexedInvestmentOption"), r = e("lodash"); function o() { this._list = [] } o.prototype.initialise = function (e, t) { for (var n = 1; n <= e.numberOfInvestmentOptions; n++) { var r = new i.IndexedInvestmentOption; r.initialise(e.getOptionAtPosition(n), t), this._list.push(r) } }, o.prototype.annualUpdate = function (e) { for (var t = 0; t < this._list.length; t++)this._list[t].index(e) }, o.prototype.getOptionAtPosition = function (e) { return this._list[e - 1] }, o.prototype.getOptionWithName = function (n) { return r.find(this._list, function (e, t) { return e.name === n }) }, o.prototype.getIndexForOptionWithName = function (n) { return r.findIndex(this._list, function (e, t) { return e.name === n }) }, n.IndexedInvestmentOptionList = o }, { "./IndexedInvestmentOption": 30, lodash: 51 }], 32: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var b = e("./IndexedDollarParameter"), u = e("./MemberType"), c = e("./AccountType"); new Date(2013, 5, 30, 12, 0, 0).getTime(), new Date(2014, 5, 30, 12, 0, 0).getTime(), new Date(2021, 5, 30, 12, 0, 0).getTime(), new Date(2022, 5, 30, 12, 0, 0).getTime(), new Date(2023, 5, 30, 12, 0, 0).getTime(), new Date(2024, 5, 30, 12, 0, 0).getTime(), new Date(2025, 5, 30, 12, 0, 0).getTime(); function r() { this._insurancePremium = null, this._qsuperDeathTPDDefault = [], this._qsuperDeathTPDPolice = [], this._qsuperUnitsCoverGovernment = 0, this._qsuperUnitsCoverNonGovernment = 0, this._ipInsuranceGovernmentEmployee = [], this._ipInsurancePoliceEmployee = [], this._sunSuperDeathTPDMale = [], this._sunSuperDeathTPDFemale = [], this._fssInsurancePremium = null, this._visionDeathAndTPD = null, this._visionIncomeProtection = [], this._visionIPSalaryThreshold = null } r.prototype.initialise = function (e, t, n, r, i) { this._insurancePremium = new b.IndexedDollarParameter, this._insurancePremium.initialise(e.getParamNumber("InsurancePremium"), t), this._incomeProtectionInsurancePremium = new b.IndexedDollarParameter, this._incomeProtectionInsurancePremium.initialise(e.getParamNumber("IncomeProtectionInsurancePremium"), t), this._visionDeathAndTPD = new b.IndexedDollarParameter, this._visionDeathAndTPD.initialise(e.getParamNumber("VisionTPD"), t), this._visionIPSalaryThreshold = new b.IndexedDollarParameter, this._visionIPSalaryThreshold.initialise(e.getParamNumber("VisionIPSalaryThreshold"), t), this._fssInsurancePremium = new b.IndexedDollarParameter, this._fssInsurancePremium.initialise(e.getParamNumber("FSSInsurancePremium"), t), this._ActiveSuper_MaleDeathPerUnitPerMonth = new b.IndexedDollarParameter, this._ActiveSuper_MaleDeathPerUnitPerMonth.initialise(e.getParamNumber("ActiveSuper_MaleDeathPerUnitPerMonth"), t), this._ActiveSuper_FemaleDeathPerUnitPerMonth = new b.IndexedDollarParameter, this._ActiveSuper_FemaleDeathPerUnitPerMonth.initialise(e.getParamNumber("ActiveSuper_FemaleDeathPerUnitPerMonth"), t), this._ActiveSuper_MaleTPDPerUnitPerMonth = new b.IndexedDollarParameter, this._ActiveSuper_MaleTPDPerUnitPerMonth.initialise(e.getParamNumber("ActiveSuper_MaleTPDPerUnitPerMonth"), t), this._ActiveSuper_FemaleTPDPerUnitPerMonth = new b.IndexedDollarParameter, this._ActiveSuper_FemaleTPDPerUnitPerMonth.initialise(e.getParamNumber("ActiveSuper_FemaleTPDPerUnitPerMonth"), t); for (var o = e.getParamObject("GovernmentIncomeProtectionTable"), a = e.getParamObject("PoliceIncomeProtectionTable"), s = e.getParamObject("QSuperDeathTPDDefault"), u = e.getParamObject("QSuperDeathTPDPolice"), c = e.getParamObject("SunSuperDeathTPDMale"), l = e.getParamObject("SunSuperDeathTPDFemale"), h = e.getParamObject("VisionIncomeProtection"), m = 16; m <= 65; m++)this._ipInsuranceGovernmentEmployee[m - 1] = o.cost(m), this._visionIncomeProtection[m - 1] = new b.IndexedDollarParameter, this._visionIncomeProtection[m - 1].initialise(h.cost(m), t); for (var _ = 16; _ <= 60; _++)this._ipInsurancePoliceEmployee[_ - 1] = a.cost(_); for (var p = 15; p <= 69; p++)this._sunSuperDeathTPDMale[p - 1] = new b.IndexedDollarParameter, this._sunSuperDeathTPDFemale[p - 1] = new b.IndexedDollarParameter, this._sunSuperDeathTPDMale[p - 1].initialise(c.cost(p), t), this._sunSuperDeathTPDFemale[p - 1].initialise(l.cost(p), t); for (var d = 16; d <= 69; d++)this._qsuperDeathTPDDefault[d - 1] = new b.IndexedDollarParameter, this._qsuperDeathTPDDefault[d - 1].initialise(s.cost(d), t); for (var f = 16; f <= 59; f++)this._qsuperDeathTPDPolice[f - 1] = new b.IndexedDollarParameter, this._qsuperDeathTPDPolice[f - 1].initialise(u.cost(f), t); this._qsuperUnitsCoverGovernment = e.getParamNumber("QSuperDefaultInsuranceUnitsGovernment"), this._qsuperUnitsCoverNonGovernment = e.getParamNumber("QSuperDefaultInsuranceUnitsNonGovernment"), this._equipSuperDeathAndTPD = new b.IndexedDollarParameter, this._equipSuperDeathAndTPD.initialise(i, t); var g = e.getParamObject("EquipInsurancePremiumSteps"); this._equipInsurancePremiumSteps = []; for (var y = 17; y <= 70; y++)this._equipInsurancePremiumSteps[y] = g.cost(y); this._overrideFundDefaultPremiums = e.getParamBoolean("OverrideFundDefaultInsurancePremiums") }, r.prototype.index = function (e, t) { this._insurancePremium.index(e), this._incomeProtectionInsurancePremium.index(e), this._visionDeathAndTPD.index(e), this._fssInsurancePremium.index(e), this._ActiveSuper_MaleDeathPerUnitPerMonth.index(e), this._ActiveSuper_FemaleDeathPerUnitPerMonth.index(e), this._ActiveSuper_MaleTPDPerUnitPerMonth.index(e), this._ActiveSuper_FemaleTPDPerUnitPerMonth.index(e); for (var n = 16; n <= 69; n++)this._qsuperDeathTPDDefault[n - 1].index(e); for (n = 16; n <= 59; n++)this._qsuperDeathTPDPolice[n - 1].index(e); this._visionIPSalaryThreshold.index(e); for (n = 16; n <= 65; n++)this._visionIncomeProtection[n - 1].index(e); for (n = 15; n <= 69; n++)this._sunSuperDeathTPDMale[n - 1].index(e), this._sunSuperDeathTPDFemale[n - 1].index(e); t += 1, this._equipSuperDeathAndTPD.index(e), t = t < 17 ? this._equipInsurancePremiumSteps[17] : 70 < t ? this._equipInsurancePremiumSteps[70] : this._equipInsurancePremiumSteps[t], this._equipSuperDeathAndTPD.resetValues(this._equipSuperDeathAndTPD.value * t) }, r.prototype.getDeathAndTpdPremium = function (e, t, n, r, i) { var o, a, s = 0; return t !== u.MemberType.QSUPER_DEFAULT && t !== u.MemberType.QSUPER_NON_GOVERNMENT && t !== u.MemberType.QSUPER_POLICE && t !== u.MemberType.ART_DEFAULT && t !== u.MemberType.ART_LIFECYCLE && t !== u.MemberType.FIRSTSTATESUPER && t !== u.MemberType.FIRSTSTATESUPER_MYSUPER && t !== u.MemberType.VISION && t !== u.MemberType.EQUIPSUPER && t !== u.MemberType.ACTIVE_SUPER_LIFECYCLE && t !== u.MemberType.ACTIVE_SUPER || e !== c.AccountType.ACCUMULATION || 0 != this._overrideFundDefaultPremiums ? r ? 0 : this._insurancePremium.value : (t === u.MemberType.QSUPER_DEFAULT && e === c.AccountType.ACCUMULATION ? s = !0 === r || 70 <= n ? 0 : 52.18 * this._qsuperDeathTPDDefault[n - 1].value * this._qsuperUnitsCoverGovernment : t === u.MemberType.QSUPER_NON_GOVERNMENT && e === c.AccountType.ACCUMULATION ? s = !0 === r || 70 <= n ? 0 : 52.18 * this._qsuperDeathTPDDefault[n - 1].value * this._qsuperUnitsCoverNonGovernment : t === u.MemberType.QSUPER_POLICE && e === c.AccountType.ACCUMULATION ? s = !0 === r || 60 <= n ? 0 : 52.18 * this._qsuperDeathTPDPolice[n - 1].value * this._qsuperUnitsCoverGovernment : t === u.MemberType.ART_DEFAULT || t === u.MemberType.ART_LIFECYCLE ? s = !0 === r || 70 <= n ? 0 : "Male" === i ? 52.18 * this._sunSuperDeathTPDMale[n - 1].value : 52.18 * this._sunSuperDeathTPDFemale[n - 1].value : t === u.MemberType.FIRSTSTATESUPER || t === u.MemberType.FIRSTSTATESUPER_MYSUPER ? s = this._fssInsurancePremium.value : t === u.MemberType.VISION ? s = this._visionDeathAndTPD.value : t === u.MemberType.EQUIPSUPER ? s = r ? 0 : this._equipSuperDeathAndTPD.value : t !== u.MemberType.ACTIVE_SUPER_LIFECYCLE && t !== u.MemberType.ACTIVE_SUPER || (e = n <= 25 ? (a = 5, 15) : n <= 30 ? a = 10 : n <= 70 ? (a = 15, 5) : a = 0, r = ("Male" === i ? (o = this._ActiveSuper_MaleDeathPerUnitPerMonth.value, this._ActiveSuper_MaleTPDPerUnitPerMonth) : (o = this._ActiveSuper_FemaleDeathPerUnitPerMonth.value, this._ActiveSuper_FemaleTPDPerUnitPerMonth)).value, s = 12 * o * a + 12 * r * e), s) }, r.prototype.incomeProtectionPremium = function (e, t, n, r, i, o, a) { return !0 === r || 65 <= n ? 0 : e === c.AccountType.ACCUMULATION && 1 == this._overrideFundDefaultPremiums || e !== c.AccountType.ACCUMULATION || t !== u.MemberType.QSUPER_DEFAULT && t !== u.MemberType.QSUPER_POLICE && t !== u.MemberType.VISION ? this._incomeProtectionInsurancePremium.value : t === u.MemberType.QSUPER_DEFAULT ? this._ipInsuranceGovernmentEmployee[n - 1] * i : t === u.MemberType.QSUPER_POLICE && n < 60 ? this._ipInsurancePoliceEmployee[n - 1] * i : t === u.MemberType.VISION ? Math.floor(.75 * i / 12 / this._visionIPSalaryThreshold.value) * this._visionIncomeProtection[n - 1].value * 52.18 : 0 }, n.Insurance = r }, { "./AccountType": 17, "./IndexedDollarParameter": 29, "./MemberType": 38 }], 33: [function (e, t, n) { "use strict"; function r() { this._startAge = 0, this._costArray = [] } Object.defineProperty(n, "__esModule", { value: !0 }), r.prototype.initialise = function (e, t) { this._startAge = e, this._costArray = t }, r.prototype.cost = function (e) { e -= this._startAge; return e < 0 ? e = 0 : e >= this._costArray.length && (e = this._costArray.length - 1), this._costArray[e] }, n.InsuranceTable = r }, {}], 34: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.InvestmentOption = function () { this.name = null, this.grossReturn = 0, this.taxableFraction = 0, this.feePercentageOnBalance = 0, this.feePercentageOnBalanceCapped = 0, this.feePercentageOnBalanceCappedCap = 0, this.feePercentageOnContributions = 0, this.feeAnnualDollar = 0 } }, {}], 35: [function (e, t, n) { "use strict"; function r() { this._list = [] } Object.defineProperty(n, "__esModule", { value: !0 }), r.prototype.addInvestmentOption = function (e) { this._list.push(e) }, Object.defineProperty(r.prototype, "list", { get: function () { return this._list }, enumerable: !0, configurable: !0 }), r.prototype.getOptionAtPosition = function (e) { return this._list[e - 1] }, Object.defineProperty(r.prototype, "numberOfInvestmentOptions", { get: function () { return this._list.length }, enumerable: !0, configurable: !0 }), n.InvestmentOptionList = r }, {}], 36: [function (e, t, n) { "use strict"; function r() { this._startAge = 0, this._maleArray = [], this._femaleArray = [], this._allArray = [] } Object.defineProperty(n, "__esModule", { value: !0 }), r.prototype.initialise = function (e, t, n, r) { this._startAge = e, this._maleArray = t, this._femaleArray = n, this._allArray = r }, r.prototype.lifeExpectancy = function (e, t) { return "Male" === t || 1 === t ? this._maleArray[e - this._startAge] : "All" === t || 2 === t ? this._allArray && 0 < this._allArray.length ? this._allArray[e - this._startAge] : (this._femaleArray[e - this._startAge] + this._maleArray[e - this._startAge]) / 2 : this._femaleArray[e - this._startAge] }, Object.defineProperty(r.prototype, "startAge", { get: function () { return this._startAge }, enumerable: !0, configurable: !0 }), n.LifeTable = r }, {}], 37: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var r = e("./IndexedDollarParameter"); function i() { this._minThreshold = null, this._maxThreshold = null } i.prototype.initialise = function (e, t, n) { this._minThreshold = new r.IndexedDollarParameter, this._maxThreshold = new r.IndexedDollarParameter, this._minThreshold.initialise(e, n), this._maxThreshold.initialise(t, n) }, i.prototype.resetValues = function (e, t) { this._minThreshold.resetValues(e), this._maxThreshold.resetValues(t) }, i.prototype.index = function (e) { this._minThreshold.index(e), this._maxThreshold.index(e) }, i.prototype.getProportion = function (e) { return e < this._minThreshold.value ? 1 : e > this._maxThreshold.value ? 0 : (this._maxThreshold.value - e) / (this._maxThreshold.value - this._minThreshold.value) }, Object.defineProperty(i.prototype, "minimumThreshold", { get: function () { return this._minThreshold.value }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "maximumThreshold", { get: function () { return this._maxThreshold.value }, enumerable: !0, configurable: !0 }), n.LinearScale = i }, { "./IndexedDollarParameter": 29 }], 38: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), (n = n.MemberType || (n.MemberType = {}))[n.GENERIC = 0] = "GENERIC", n[n.QSUPER_DEFAULT = 1] = "QSUPER_DEFAULT", n[n.QSUPER_POLICE = 2] = "QSUPER_POLICE", n[n.QSUPER_NON_GOVERNMENT = 3] = "QSUPER_NON_GOVERNMENT", n[n.AGEST = 4] = "AGEST", n[n.ART_DEFAULT = 5] = "ART_DEFAULT", n[n.ART_LIFECYCLE = 6] = "ART_LIFECYCLE", n[n.FIRSTSTATESUPER = 7] = "FIRSTSTATESUPER", n[n.FIRSTSTATESUPER_MYSUPER = 8] = "FIRSTSTATESUPER_MYSUPER", n[n.VISION = 9] = "VISION", n[n.ACTIVE_SUPER_LIFECYCLE = 10] = "ACTIVE_SUPER_LIFECYCLE", n[n.EQUIPSUPER = 11] = "EQUIPSUPER", n[n.MILITARY_SUPER = 12] = "MILITARY_SUPER", n[n.CLUB_PLUS = 13] = "CLUB_PLUS", n[n.ART_RBA = 14] = "ART_RBA", n[n.GUILD = 15] = "GUILD", n[n.CSF = 16] = "CSF", n[n.ESSS_AssistMe = 17] = "ESSS_AssistMe", n[n.ESSS_AssistMe_DB = 18] = "ESSS_AssistMe_DB", n[n.ACTIVE_SUPER = 19] = "ACTIVE_SUPER", n[n.AUSTRALIAN_SUPER = 20] = "AUSTRALIAN_SUPER", n[n.SUNCORP = 21] = "SUNCORP", n[n.STATEWIDE = 22] = "STATEWIDE", n[n.WASUPER = 23] = "WASUPER", n[n.BT_SUPER = 24] = "BT_SUPER", n[n.HOSTPLUS = 25] = "HOSTPLUS", n[n.SUPERSA_SELECT = 26] = "SUPERSA_SELECT", n[n.SUPERSA_SSS = 27] = "SUPERSA_SSS", n[n.SMART_MONDAY = 28] = "SMART_MONDAY", n[n.CSC_Profile1_Single_Retirement_60 = 29] = "CSC_Profile1_Single_Retirement_60", n[n.CSC_Profile2_Single_Retirement_60 = 30] = "CSC_Profile2_Single_Retirement_60", n[n.CSC_Profile3_Single_Retirement_60 = 31] = "CSC_Profile3_Single_Retirement_60", n[n.CSC_Profile4_Single_Retirement_60 = 32] = "CSC_Profile4_Single_Retirement_60", n[n.CSC_Profile5_Single_Retirement_60 = 33] = "CSC_Profile5_Single_Retirement_60", n[n.CSC_Profile6_Single_Retirement_60 = 34] = "CSC_Profile6_Single_Retirement_60", n[n.CSC_Profile7_Single_Retirement_60 = 35] = "CSC_Profile7_Single_Retirement_60", n[n.CSC_Profile8_Single_Retirement_60 = 36] = "CSC_Profile8_Single_Retirement_60", n[n.CSC_Profile1_Couple_Retirement_60 = 37] = "CSC_Profile1_Couple_Retirement_60", n[n.CSC_Profile2_Couple_Retirement_60 = 38] = "CSC_Profile2_Couple_Retirement_60", n[n.CSC_Profile3_Couple_Retirement_60 = 39] = "CSC_Profile3_Couple_Retirement_60", n[n.CSC_Profile4_Couple_Retirement_60 = 40] = "CSC_Profile4_Couple_Retirement_60", n[n.CSC_Profile5_Couple_Retirement_60 = 41] = "CSC_Profile5_Couple_Retirement_60", n[n.CSC_Profile6_Couple_Retirement_60 = 42] = "CSC_Profile6_Couple_Retirement_60", n[n.CSC_Profile7_Couple_Retirement_60 = 43] = "CSC_Profile7_Couple_Retirement_60", n[n.CSC_Profile8_Couple_Retirement_60 = 44] = "CSC_Profile8_Couple_Retirement_60", n[n.CSC_Profile1_Single_Retirement_64 = 45] = "CSC_Profile1_Single_Retirement_64", n[n.CSC_Profile2_Single_Retirement_64 = 46] = "CSC_Profile2_Single_Retirement_64", n[n.CSC_Profile3_Single_Retirement_64 = 47] = "CSC_Profile3_Single_Retirement_64", n[n.CSC_Profile4_Single_Retirement_64 = 48] = "CSC_Profile4_Single_Retirement_64", n[n.CSC_Profile5_Single_Retirement_64 = 49] = "CSC_Profile5_Single_Retirement_64", n[n.CSC_Profile6_Single_Retirement_64 = 50] = "CSC_Profile6_Single_Retirement_64", n[n.CSC_Profile7_Single_Retirement_64 = 51] = "CSC_Profile7_Single_Retirement_64", n[n.CSC_Profile8_Single_Retirement_64 = 52] = "CSC_Profile8_Single_Retirement_64", n[n.CSC_Profile1_Couple_Retirement_64 = 53] = "CSC_Profile1_Couple_Retirement_64", n[n.CSC_Profile2_Couple_Retirement_64 = 54] = "CSC_Profile2_Couple_Retirement_64", n[n.CSC_Profile3_Couple_Retirement_64 = 55] = "CSC_Profile3_Couple_Retirement_64", n[n.CSC_Profile4_Couple_Retirement_64 = 56] = "CSC_Profile4_Couple_Retirement_64", n[n.CSC_Profile5_Couple_Retirement_64 = 57] = "CSC_Profile5_Couple_Retirement_64", n[n.CSC_Profile6_Couple_Retirement_64 = 58] = "CSC_Profile6_Couple_Retirement_64", n[n.CSC_Profile7_Couple_Retirement_64 = 59] = "CSC_Profile7_Couple_Retirement_64", n[n.CSC_Profile8_Couple_Retirement_64 = 60] = "CSC_Profile8_Couple_Retirement_64" }, {}], 39: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var i = e("./PersonOutput"); function r(e, t, n, r) { this.year = [], this.deflationFactor = [], this.subjectOutput = new i.PersonOutput(r, !0), this.partnerOutput = new i.PersonOutput(r, !1), this.subjectRetirementAge = e, this.partnerRetirementAge = t, this.includePartner = n } r.prototype.setYear = function (e) { this.year.push(e) }, r.prototype.addSubjectYearFrom = function (e, t, n) { this.subjectOutput.populateYear(this.year[this.year.length - 1], e, t, n) }, r.prototype.addPartnerYearFrom = function (e, t, n) { this.partnerOutput.populateYear(this.year[this.year.length - 1], e, t, n) }, r.prototype.addDeflatedData = function (e, t, n, r, i, o, a) { for (var s = 1; s <= e; s++)this.deflationFactor.push(n.getDeflationFactorInYear(s)); this.subjectOutput.addDeflatedData(e, t, n, r), this.partnerOutput.addDeflatedData(e, i, o, a), this.subjectOutput.removeWithdrawalFromActualDrawings(this.get_subjectRetirementAgeIndex(), t.lumpSumWithdrawalAtRetirement), this.partnerOutput.removeWithdrawalFromActualDrawings(this.get_partnerRetirementAgeIndex(), i.lumpSumWithdrawalAtRetirement) }, r.prototype.deflatedCombinedBalanceAtRetirement = function () { return this.deflatedCombinedBalanceAtIndex(this.get_subjectRetirementAgeIndex()) }, r.prototype.deflatedCombinedBalanceAtIndex = function (e) { return this.subjectOutput.deflatedAssetsInYear[e] + (this.includePartner ? this.partnerOutput.deflatedAssetsInYear[e] : 0) }, r.prototype.deflatedCombinedIncomeAtRetirement = function () { return this.deflatedCombinedIncomeAtIndex(this.get_subjectRetirementAgeIndex()) }, Object.defineProperty(r.prototype, "subjectRetirementAgeIndex", { get: function () { return this.subjectAgeToIndex(this.subjectRetirementAge) }, enumerable: !0, configurable: !0 }), Object.defineProperty(r.prototype, "partnerRetirementAgeIndex", { get: function () { return this.partnerAgeToIndex(this.partnerRetirementAge) }, enumerable: !0, configurable: !0 }), r.prototype.get_subjectRetirementAgeIndex = function () { return this.subjectAgeToIndex(this.subjectRetirementAge) }, r.prototype.get_partnerRetirementAgeIndex = function () { return this.partnerAgeToIndex(this.partnerRetirementAge) }, r.prototype.deflatedCombinedIncomeAtIndex = function (e) { return this.subjectOutput.deflatedActualDrawingsInYear[e] + this.subjectOutput.deflatedAgePension[e] + this.subjectOutput.deflatedOtherIncome[e] + this.subjectOutput.deflatedNetSalary[e] + this.subjectOutput.deflatedRetirementIncomeProductIncome[e] + (this.includePartner ? this.partnerOutput.deflatedActualDrawingsInYear[e] + this.partnerOutput.deflatedAgePension[e] + this.partnerOutput.deflatedOtherIncome[e] + this.partnerOutput.deflatedNetSalary[e] + this.partnerOutput.deflatedRetirementIncomeProductIncome[e] : 0) }, r.prototype.deflatedCombinedIncomeAtSubjectAge = function (e) { return this.deflatedCombinedIncomeAtIndex(this.subjectAgeToIndex(e)) }, r.prototype.subjectAgeToIndex = function (e) { return this.subjectOutput.age.indexOf(e) }, r.prototype.partnerAgeToIndex = function (e) { return this.partnerOutput.age.indexOf(e) }, r.prototype.indexToSubjectAge = function (e) { return e + this.subjectOutput.age[0] }, r.prototype.indexToPartnerAge = function (e) { return e + this.partnerOutput.age[0] }, Object.defineProperty(r.prototype, "lastIndex", { get: function () { return this.year.length - 1 }, enumerable: !0, configurable: !0 }), r.prototype.get_lastIndex = function () { return this.year.length - 1 }, r.prototype.indexOfFirstFailureToMeetTarget = function (e, t) { void 0 === t && (t = 0); for (var n = this.get_subjectRetirementAgeIndex(); n < this.get_lastIndex() && this.deflatedCombinedIncomeAtIndex(n++) > e * (1 - t);); return n }, r.prototype.subjectAgeOfFirstFailureToMeetTarget = function (e, t) { return this.indexToSubjectAge(this.indexOfFirstFailureToMeetTarget(e, t = void 0 === t ? 0 : t)) }, n.Output = r }, { "./PersonOutput": 43 }], 40: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var o = e("./IncomeTaxBand"), a = e("./IndexedDollarParameter"), s = e("./LinearScale"), u = e("./../lib/AdvDate"), r = new u.AdvDate("01/07/1952"), i = new u.AdvDate("01/07/1955"), c = new u.AdvDate("01/07/1935"), l = new u.AdvDate("01/07/1938"), h = new u.AdvDate("01/07/1941"), m = new u.AdvDate("01/07/1944"), _ = new u.AdvDate("01/07/1947"), p = (new u.AdvDate("01/07/2022"), new u.AdvDate("01/07/2024"), new u.AdvDate("01/07/2025")); function d() { this._incomeTaxBands = [], this._countIncomeTaxBands = 0, this._medicareLowerThreshold = null, this._medicareUpperThreshold = null, this._medicareRate = 0, this._medicarePhasingInRate = 0, this._maximumSato = null, this._satoIncomeTest = null, this._incomeTaxScheme = null, this._incomeTaxScheme_2022 = null, this._incomeTaxScheme_2024 = null, this._LITO_2022_LowIncomeThreshold = null, this._LITO_2022_MiddleIncomeThreshold = null, this._LITO_2022_HighIncomeThreshold = null, this._LITO_2022_MaxPaymentRate = null, this._LITO_2022_LowPaymentRate = null, this._LITO_2022_InitialPhaseOutRate = 0, this._LITO_2022_SubsequentPhaseOutRate = 0, this._dateProjectionRun = null, this._dateStartCurrentProjectionYear = null, this._yearCount = 0 } d.prototype.initialise = function (e, t, n) { var r, i; for (this._medicareLowerThreshold = new a.IndexedDollarParameter, this._medicareUpperThreshold = new a.IndexedDollarParameter, this._maximumSato = new a.IndexedDollarParameter, this._satoIncomeTest = new s.LinearScale, this._LITO_2022_LowIncomeThreshold = new a.IndexedDollarParameter, this._LITO_2022_MiddleIncomeThreshold = new a.IndexedDollarParameter, this._LITO_2022_HighIncomeThreshold = new a.IndexedDollarParameter, this._LITO_2022_MaxPaymentRate = new a.IndexedDollarParameter, this._LITO_2022_LowPaymentRate = new a.IndexedDollarParameter, this._medicareLowerThreshold.initialise(e.getParamNumber("MedicareLowerThreshold"), n), this._medicareUpperThreshold.initialise(e.getParamNumber("MedicareUpperThreshold"), n), this._medicareRate = e.getParamNumber("MedicareRate"), this._medicarePhasingInRate = e.getParamNumber("MedicarePhasingInRate"), this._LITO_2022_LowIncomeThreshold.initialise(e.getParamNumber("LITO_2022_LowIncomeThreshold"), n), this._LITO_2022_MiddleIncomeThreshold.initialise(e.getParamNumber("LITO_2022_MiddleIncomeThreshold"), n), this._LITO_2022_HighIncomeThreshold.initialise(e.getParamNumber("LITO_2022_HighIncomeThreshold"), n), this._LITO_2022_MaxPaymentRate.initialise(e.getParamNumber("LITO_2022_MaxPaymentRate"), n), this._LITO_2022_LowPaymentRate.initialise(e.getParamNumber("LITO_2022_LowPaymentRate"), n), this._LITO_2022_InitialPhaseOutRate = e.getParamNumber("LITO_2022_InitialPhaseOutRate"), this._LITO_2022_SubsequentPhaseOutRate = e.getParamNumber("LITO_2022_SubsequentPhaseOutRate"), t ? (this._maximumSato.initialise(e.getParamNumber("MaximumSATOCouple"), n), this._satoIncomeTest.initialise(e.getParamNumber("SATOLowerThresholdCouple"), e.getParamNumber("SATOUpperThresholdCouple"), n)) : (this._maximumSato.initialise(e.getParamNumber("MaximumSATO"), n), this._satoIncomeTest.initialise(e.getParamNumber("SATOLowerThreshold"), e.getParamNumber("SATOUpperThreshold"), n)), this._incomeTaxScheme = e.getParamObject("IncomeTaxRates_2024"), this._countIncomeTaxBands = this._incomeTaxScheme.numberOfBands, r = 0; r < this._countIncomeTaxBands; r++)this._incomeTaxBands[r] = new o.IncomeTaxBand, this._incomeTaxBands[r].setStartBand(this._incomeTaxScheme.bandStartAtIndex(r + 1), n), this._incomeTaxBands[r].setRateInBand(this._incomeTaxScheme.rateAtIndex(r + 1)); for (r = i = 0; r < this._countIncomeTaxBands; r++)0 === r ? this._incomeTaxBands[r].setTaxToStartOfBand(0) : (i += (this._incomeTaxBands[r].startOfTaxBand - this._incomeTaxBands[r - 1].startOfTaxBand) * this._incomeTaxBands[r - 1].taxRateInBand, this._incomeTaxBands[r].setTaxToStartOfBand(i)); this._dateProjectionRun = new u.AdvDate, this._dateStartCurrentProjectionYear = new u.AdvDate, this._yearCount = 1 }, d.prototype.annualUpdate = function (e, t) { var n, r; if (this._dateStartCurrentProjectionYear = this._dateStartCurrentProjectionYear.plus(1), this._medicareLowerThreshold.index(e), this._medicareUpperThreshold.index(e), this._maximumSato.index(e), this._satoIncomeTest.index(e), this._dateStartCurrentProjectionYear.afterOrOn(p)) for (this._LITO_2022_LowIncomeThreshold.index(e), this._LITO_2022_MiddleIncomeThreshold.index(e), this._LITO_2022_HighIncomeThreshold.index(e), this._LITO_2022_MaxPaymentRate.index(e), this._LITO_2022_LowPaymentRate.index(e), r = 0; r < this._countIncomeTaxBands; r++)this._incomeTaxBands[r].index(e); for (n = 0, r = 1; r <= this._countIncomeTaxBands; r++)1 === r ? this._incomeTaxBands[r - 1].setTaxToStartOfBand(0) : (n += (this._incomeTaxBands[r - 1].startOfTaxBand - this._incomeTaxBands[r - 2].startOfTaxBand) * this._incomeTaxBands[r - 2].taxRateInBand, this._incomeTaxBands[r - 1].setTaxToStartOfBand(n)); this._yearCount = this._yearCount + 1 }, d.prototype.taxPayable = function (e, t, n, r) { return Math.max(0, this.incomeTax(r) + this.medicare(r) - this.lowIncomeTaxOffset(r) - this.seniorAustralianTaxOffset(e, t, n, r)) }, d.prototype.incomeTax = function (e) { var t; if (e <= 0) return 0; for (t = this._countIncomeTaxBands; this._incomeTaxBands[t - 1].startOfTaxBand > e;)t -= 1; return this._incomeTaxBands[t - 1].taxToStartOfBand + (e - this._incomeTaxBands[t - 1].startOfTaxBand) * this._incomeTaxBands[t - 1].taxRateInBand }, d.prototype.medicare = function (e) { return e < this._medicareLowerThreshold.value ? 0 : e > this._medicareUpperThreshold.value ? e * this._medicareRate : (e - this._medicareLowerThreshold.value) * this._medicarePhasingInRate }, d.prototype.lowIncomeTaxOffset = function (e) { return e <= this._LITO_2022_LowIncomeThreshold.value ? this._LITO_2022_MaxPaymentRate.value : e <= this._LITO_2022_MiddleIncomeThreshold.value ? this._LITO_2022_MaxPaymentRate.value - (e - this._LITO_2022_LowIncomeThreshold.value) * this._LITO_2022_InitialPhaseOutRate : e <= this._LITO_2022_HighIncomeThreshold.value ? this._LITO_2022_LowPaymentRate.value - (e - this._LITO_2022_MiddleIncomeThreshold.value) * this._LITO_2022_SubsequentPhaseOutRate : 0 }, d.prototype.seniorAustralianTaxOffset = function (e, t, n, r) { return this.isQualifyingAgeForSeniorAustralianTaxOffset(e, t, n) ? this._maximumSato.value * this._satoIncomeTest.getProportion(r) : 0 }, d.prototype.isQualifyingAgeForSeniorAustralianTaxOffset = function (e, t, n) { return ("Male" === e ? t.before(r) ? 65 : t.before(i) ? 66 : 67 : t.before(c) ? 60 : t.before(l) ? 61 : t.before(h) ? 62 : t.before(m) ? 63 : t.before(_) ? 64 : t.before(r) || t.before(r) ? 65 : t.before(i) ? 66 : 67) <= n }, d.prototype.getcountIncomeTaxBands = function () { return this._countIncomeTaxBands }, d.prototype.startTaxBand = function (e) { return this._incomeTaxBands[e].startOfTaxBand }, d.prototype.taxRateInBand = function (e) { return this._incomeTaxBands[e].taxRateInBand }, d.prototype.taxToStartOfTaxBand = function (e) { return this._incomeTaxBands[e].taxToStartOfBand }, Object.defineProperty(d.prototype, "medicareLowThreshold", { get: function () { return this._medicareLowerThreshold.value }, enumerable: !0, configurable: !0 }), Object.defineProperty(d.prototype, "medicareUpperThreshold", { get: function () { return this._medicareUpperThreshold.value }, enumerable: !0, configurable: !0 }), Object.defineProperty(d.prototype, "medicareRate", { get: function () { return this._medicareRate }, enumerable: !0, configurable: !0 }), Object.defineProperty(d.prototype, "medicarePhasingInRate", { get: function () { return this._medicarePhasingInRate }, enumerable: !0, configurable: !0 }), Object.defineProperty(d.prototype, "satoLowerThreshold", { get: function () { return this._satoIncomeTest.minimumThreshold }, enumerable: !0, configurable: !0 }), Object.defineProperty(d.prototype, "satoUpperThreshold", { get: function () { return this._satoIncomeTest.maximumThreshold }, enumerable: !0, configurable: !0 }), Object.defineProperty(d.prototype, "satoMaximumPayment", { get: function () { return this._maximumSato.value }, enumerable: !0, configurable: !0 }), n.PAYGIncomeTaxBasis = d }, { "./../lib/AdvDate": 9, "./IncomeTaxBand": 26, "./IndexedDollarParameter": 29, "./LinearScale": 37 }], 41: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var r = e("lodash"); function i() { this._params = [] } i.prototype.clone = function () { var e, t, n = new i; for (e in this._params) this._params.hasOwnProperty(e) && (t = this._params[e], n.setParam(e, r.cloneDeep(t))); return n }, i.prototype.setParam = function (e, t) { this._params[e] = t }, i.prototype.getParamString = function (e) { return "" + this._params[e] }, i.prototype.getParamBoolean = function (e) { var t = this._params[e]; return "boolean" == typeof t ? t : "string" == typeof t ? "false" !== t.toLowerCase() : "number" == typeof t ? 0 !== t : !!this._params[e] }, i.prototype.getParamNumber = function (e) { var t = this._params[e]; return null == t ? 0 : parseFloat(this._params[e]) }, i.prototype.getParamObject = function (e) { return this._params[e] }, i.prototype.maximumOneOffContribution = function () { return 3 * (1e4 * Math.floor(this.nonConcessionalContributionThreshold() / 1e4)) }, i.prototype.nonConcessionalContributionThreshold = function () { return this.getParamNumber("NonConcessionalContributionThreshold") }, i.prototype.concessionalContributionThreshold = function () { return this.getParamNumber("ConcessionalContributionThreshold") }, i.prototype.remainingConcessionalContribution = function () { var e = 2500 * Math.floor(this.concessionalContributionThreshold() / 2500), t = this.getParamNumber("Salary"); return e - (t = this.getParamBoolean("EnforceMaximumContributionBase") ? Math.min(this.getParamNumber("Salary"), 4 * this.getParamNumber("SGCMaximumContributionBase")) : t) * this.getParamNumber("EmployerContributionRate") }, i.prototype.remainingConcessionalContribution_2 = function () { var e = 2500 * Math.floor(this.concessionalContributionThreshold() / 2500), t = this.getParamNumber("Salary_2"); return e - (t = this.getParamBoolean("EnforceMaximumContributionBase") ? Math.min(this.getParamNumber("Salary_2"), 4 * this.getParamNumber("SGCMaximumContributionBase")) : t) * this.getParamNumber("EmployerContributionRate_2") }, i.prototype.equipInitialPremium = function (e) { var t, n, r, i, o, a, s; return void 0 === e && (e = !1), i = this.getParamObject("EquipDeathPremiums"), o = this.getParamObject("EquipTPDPremiums"), a = this.getParamObject("EquipDeathCoverTaper"), s = this.getParamObject("EquipTPDCoverTaper"), t = this.getParamNumber("AgeNow") + 1, n = this.getParamNumber("Salary"), r = this.getParamNumber("EquipInsurancePremium"), i = 4 * n / 1e3 * i.cost(t) * a.cost(t) + 4 * n / 1e3 * o.cost(t) * s.cost(t), e || -1 === r ? i : r }, n.Parameters = i }, { lodash: 51 }], 42: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var Q = e("../lib/ArrayUtils"), _ = e("./Constants"), X = e("./MemberType"), $ = e("./TTRMode"), Z = e("./PhaseType"), J = e("./IndexedDollarParameter"), ee = e("./IndexationBasis"), i = e("./AnnuityPurchasePriceTable"), r = new Date(1960, 6, 1, 12, 0, 0).getTime(), o = new Date(1961, 6, 1, 12, 0, 0).getTime(), a = new Date(1962, 6, 1, 12, 0, 0).getTime(), s = new Date(1963, 6, 1, 12, 0, 0).getTime(), u = new Date(1964, 6, 1, 12, 0, 0).getTime(); new Date(2014, 0, 1, 12, 0, 0).getTime(), new Date(2015, 0, 1, 12, 0, 0).getTime(); function c() { this._dateBirth = null, this._age = 0, this._startAge = 0, this._sex = null, this._retirementAge = 0, this._preservationAge = 0, this._expectedAgeAtDeath = 0, this._lifeExpectancyAtRetirement = 0, this._sunSuperSurvival50Percent = 0, this._sunSuperSurvival10Percent = 0, this._isHomeOwner = !1, this._isMarried = !1, this._accountType = null, this._memberType = null, this._includeTtr = !1, this._TTRMode = $.TTRMode.TaxOptimisation, this._TTRUserSpecifiedDrawings = null, this._phase = null, this._retiredThisYear = !1, this._ttrContributions = 0, this._ttrDrawings = 0, this._ttrIncomeReduction = 0, this._ttrTaxBenefit = 0, this._ttrPostContributionNetSalary = 0, this._ttrProblemCanNotTopUpSalary = !1, this._preTaxMemberContributions = null, this._postTaxMemberContributions = null, this._coreContributionsPostTax = !1, this._coContributions = 0, this._lumpSumWithdrawalAtRetirement = 0, this._indexedLumpSumWithdrawalAtRetirement = null, this._annualFullTimeSalary = null, this._midYearSalary = 0, this._targetIncome = null, this._FinancialAssets = [], this._IncomeOnFinancialAssets = [], this._NonFinancialAssets = null, this._IncomeOnNonFinancialAssets = null, this._IncomeWithNoBackingAssets = [], this._IncomeWithNoBackingAssets_CeaseAge = [], this._OtherIncome = null, this._PersonalAssets = null, this._concessionalContributionThreshold = null, this._lowIncomeEarnersGovernmentContributionIncomeThreshold = null, this._lowIncomeEarnersGovernmentContributionMaximum = null, this._highIncomeEarningThreshold = null, this._annualFullTimeSalaryHistory = [], this._annualFullTimeMidYearSalaryHistory = [], this._workDaysPerWeek = [], this._targetIncomeHistory = [], this._OtherIncomeHistory = [], this._individualsTargetIncomeHistory = [], this._incomeTaxHistory = [], this._preTaxMemberContributionHistory = [], this._postTaxMemberContributionHistory = [], this._lumpSumMemberContributions = [], this._DownsizerContributions = [], this._rollOver = [], this._ttrContributionsHistory = [], this._ttrDrawingsHistory = [], this._ttrIncomeReductionHistory = [], this._ttrTaxBenefitHistory = [], this._ttrPostContributionNetSalaryHistory = [], this._ttrProblemCanNotTopUpSalaryHistory = [], this._retirementDrawingsHistory = [], this._agePensionHistory = [], this._indexedPensionHistory = [], this._arrayCounter = 0, this._deflatedSalary = [], this._deflatedPreTaxMemberContribution = [], this._deflatedPostTaxMemberContribution = [], this._deflatedNetSalary = [], this._deflatedOtherIncome = [], this._deflatedTargetIncome = [], this._deflatedAgePension = [], this._deflatedIndexedPension = [], this._IsARetirementIncomeProduct = !1, this._RetirementIncomeProduct_ElectionBasedOnAssetsToConvert = !1, this._RetirementIncomeProduct_ElectionBasedOnDollarsOfAssetsToConvert = !1, this._debugMode = !1 } c.prototype.initialise = function (e, t, n, r, i, o, a, s, u, c, l, h, m, _, p, d, f, g, y, b, P, T, A, I, C, v, R, S, x, O, w, j, D, E, F, U, L, Y, H, k, W, q, G, V, z, M, N, K, B) { this._debugMode = B = void 0 === B ? !1 : B, this._annualFullTimeSalary = new J.IndexedDollarParameter, this._targetIncome = new J.IndexedDollarParameter, this._NonFinancialAssetsGrowthRate = new ee.IndexationBasis, this._NonFinancialAssets = new J.IndexedDollarParameter, this._IncomeOnNonFinancialAssets = new J.IndexedDollarParameter, this._OtherIncome = new J.IndexedDollarParameter, this._PersonalAssets = new J.IndexedDollarParameter, this._concessionalContributionThreshold = new J.IndexedDollarParameter, this._indexedLumpSumWithdrawalAtRetirement = new J.IndexedDollarParameter, this._preTaxMemberContributions = new J.IndexedDollarParameter, this._postTaxMemberContributions = new J.IndexedDollarParameter, this._lowIncomeEarnersGovernmentContributionIncomeThreshold = new J.IndexedDollarParameter, this._lowIncomeEarnersGovernmentContributionMaximum = new J.IndexedDollarParameter, this._highIncomeEarningThreshold = new J.IndexedDollarParameter, this._TTRUserSpecifiedDrawings = new J.IndexedDollarParameter, this._age = t, this._startAge = t, this._sex = n, this._retirementAge = i, this._isHomeOwner = o, this._isMarried = a, this._accountType = I, this._memberType = C, this._coreContributionsPostTax = x, this._ageCeaseCurrentEmployment = 0 === D ? 0 : t + D, this._NonFinancialAssetsGrowthRate.initialise([m]), this._NonFinancialAssets.initialise(l, this._NonFinancialAssetsGrowthRate), this._IncomeOnNonFinancialAssets.initialise(h, this._NonFinancialAssetsGrowthRate), this._annualFullTimeSalary.initialise(r, v), this._memberType === X.MemberType.AUSTRALIAN_SUPER ? this._PersonalAssets.initialise(_, v) : this._PersonalAssets.initialise(_, R), this._lumpSumWithdrawalAtRetirement = A, B = p, n = d, o = f, a = g, I = y, this._includeTtr = b, this._includeTtr ? this._TTRMode = P ? $.TTRMode.TaxOptimisation : K ? $.TTRMode.DrawingsOnly_UserSpecifyAmount : $.TTRMode.DrawingsOnly_TopUpReducedSalary : this._TTRMode = $.TTRMode.TaxOptimisation, this._TTRMode === $.TTRMode.DrawingsOnly_TopUpReducedSalary && (B = 5 * N / M, n = this._retirementAge - this._age, o = this._age), this._TTRUserSpecifiedDrawings.initialise(T, v), this._concessionalContributionThreshold.initialise(e.getParamNumber("ConcessionalContributionThreshold"), v), this._indexedLumpSumWithdrawalAtRetirement.initialise(A, v), this._preTaxMemberContributions.initialise(s, v), this._postTaxMemberContributions.initialise(u, v), this._lowIncomeEarnersGovernmentContributionIncomeThreshold.initialise(e.getParamNumber("LowIncomeEarnersGovernmentContributionIncomeThreshold"), v), this._lowIncomeEarnersGovernmentContributionMaximum.initialise(e.getParamNumber("LowIncomeEarnersGovernmentContributionMaximum"), v), this._highIncomeEarningThreshold.initialise(e.getParamNumber("HighIncomeEarningThreshold"), v); C = -6 - 12 * this._age, x = e.getParamObject("CalculationDate"), this._dateBirth = x.plus(C / 12), this._preservationAge = this.getPreservationAge(), this._midYearSalary = this._annualFullTimeSalary.value * (1 + this._annualFullTimeSalary.getIndexationInYear(1) / 2), this._expectedAgeAtDeath = e.getParamObject("AbsLifeTable").lifeExpectancy(this._age, this._sex), this._lifeExpectancyAtRetirement = e.getParamObject("AlternateLifeTable").lifeExpectancy(this._retirementAge, this._sex), this._sunSuperSurvival50Percent = e.getParamObject("SunSuper_50").lifeExpectancy(this._retirementAge, this._sex), this._sunSuperSurvival10Percent = e.getParamObject("SunSuper_10").lifeExpectancy(this._retirementAge, this._sex), this._annualFullTimeSalaryHistory = Q.InitialiseArray(S), this._annualFullTimeMidYearSalaryHistory = Q.InitialiseArray(S), this._workDaysPerWeek = Q.InitialiseArray(S), this._targetIncomeHistory = Q.InitialiseArray(S), this._OtherIncomeHistory = Q.InitialiseArray(S), this._retirementIncomeProductIncomeHistory = Q.InitialiseArray(S), this._superannuationDrawings = Q.InitialiseArray(S), this._agePensionHistory = Q.InitialiseArray(S), this._indexedPensionHistory = Q.InitialiseArray(S), this._ttrContributionsHistory = Q.InitialiseArray(S), this._ttrDrawingsHistory = Q.InitialiseArray(S), this._ttrIncomeReductionHistory = Q.InitialiseArray(S), this._ttrTaxBenefitHistory = Q.InitialiseArray(S), this._ttrPostContributionNetSalaryHistory = Q.InitialiseArray(S), this._ttrProblemCanNotTopUpSalaryHistory = Array.from({ length: S }, function () { return !1 }), this._retirementDrawingsHistory = Q.InitialiseArray(S), this._preTaxMemberContributionHistory = Q.InitialiseArray(S), this._postTaxMemberContributionHistory = Q.InitialiseArray(S), this._lumpSumMemberContributions = Q.InitialiseArray(S), this._DownsizerContributions = Q.InitialiseArray(S), this._rollOver = Q.InitialiseArray(S), this._deflatedSalary = Q.InitialiseArray(S), this._deflatedPreTaxMemberContribution = Q.InitialiseArray(S), this._deflatedPostTaxMemberContribution = Q.InitialiseArray(S), this._deflatedNetSalary = Q.InitialiseArray(S), this._deflatedOtherIncome = Q.InitialiseArray(S), this._deflatedTargetIncome = Q.InitialiseArray(S), this._deflatedAgePension = Q.InitialiseArray(S), this._deflatedIndexedPension = Q.InitialiseArray(S), this._deflatedSuperannuationDrawings = Q.InitialiseArray(S), this._deflatedRetirementIncomeProductIncomeHistory = Q.InitialiseArray(S), this._individualsTargetIncomeHistory = Q.InitialiseArray(S), this._incomeTaxHistory = Q.InitialiseArray(S), this.setWorkDaysPerWeek(B, n, o, this._age, this._retirementAge), this.setLumpSumContribution(a, I), this.setRollOver(O, w), this.updatePhase(), this._arrayCounter = 0, this._phase === Z.PhaseType.RETIRED ? (this._preTaxMemberContributions.resetValues(0), this._postTaxMemberContributions.resetValues(0), this._preTaxMemberContributionHistory[this._arrayCounter] = 0, this._postTaxMemberContributionHistory[this._arrayCounter] = 0) : (0 !== this._annualFullTimeSalary.value && (this._preTaxMemberContributions.resetValues(this._preTaxMemberContributions.value * this._midYearSalary / this._annualFullTimeSalary.value), this._postTaxMemberContributions.resetValues(this._postTaxMemberContributions.value * this._midYearSalary / this._annualFullTimeSalary.value)), this._preTaxMemberContributionHistory[this._arrayCounter] = this._preTaxMemberContributions.value, this._postTaxMemberContributionHistory[this._arrayCounter] = this._postTaxMemberContributions.value), this._discountWithPriceInflationInRetirement = z, this._phase === Z.PhaseType.RETIRED && this._discountWithPriceInflationInRetirement ? this._targetIncome.initialise(c, R) : this._targetIncome.initialise(c, v), this._annualFullTimeSalaryHistory[this._arrayCounter] = this._annualFullTimeSalary.value, this._annualFullTimeMidYearSalaryHistory[this._arrayCounter] = this._midYearSalary, this._targetIncomeHistory[this._arrayCounter] = this._targetIncome.value, this._OtherIncomeHistory[this._arrayCounter] = this._OtherIncome.value, this._retirementDrawingsHistory[this._arrayCounter] = 0, this._IsARetirementIncomeProduct = E, this._RetirementIncomeProduct_ElectionBasedOnAssetsToConvert = L, this._RetirementIncomeProduct_ElectionBasedOnDollarsOfAssetsToConvert = Y, this._RetirementIncomeProduct_AgeOfPurchase = F, this._RetirementIncomeProduct_AgeIncomeStart = U, this._RetirementIncomeProduct_PurchaseProportion = H, this._RetirementIncomeProduct_PurchaseAssetBalance = k, this._RetirementIncomeProduct_AimAnnualIncome = W, D = Math.pow(1 + v.getIndexationRate(1), i - t) * Math.pow(1 + R.getIndexationRate(1), this._RetirementIncomeProduct_AgeOfPurchase - i); this._RetirementIncomeProduct_PurchaseAssetBalance_FutureDollars = this._RetirementIncomeProduct_PurchaseAssetBalance * D, this._RetirementIncomeProduct_AimAnnualIncome_FutureDollars = this._RetirementIncomeProduct_AimAnnualIncome * D, this._RetirementIncomeProduct_UseDefaultIncomePer100KPurchase = G, this._RetirementIncomeProduct_IncomePer100KPurchase = V, this._RetirementIncomeProduct_IndexationBasis = new ee.IndexationBasis, this._RetirementIncomeProduct_Income = new J.IndexedDollarParameter, this._RetirementIncomeProduct_IndexationBasis.initialise(q), this._RetirementIncomeProduct_Income.initialise(0, this._RetirementIncomeProduct_IndexationBasis), this._TTR_CurrentWorkLoad = M, this._TTR_ProposedWorkLoad = N }, c.prototype.initialiseCoreAccumulationContributionRate = function (e) { this._coreContributionsPostTax ? (this._postTaxMemberContributions.resetValues(this._postTaxMemberContributions.value + e * this._midYearSalary), this._postTaxMemberContributionHistory[this._arrayCounter] = this._postTaxMemberContributionHistory[this._arrayCounter] + this._midYearSalary * e * this._workDaysPerWeek[this._arrayCounter] / _.FULL_TIME_DAYS_PER_WEEK) : (this._preTaxMemberContributions.resetValues(this._preTaxMemberContributions.value + e * this._midYearSalary), this._preTaxMemberContributionHistory[this._arrayCounter] = this._preTaxMemberContributionHistory[this._arrayCounter] + this._midYearSalary * e * this._workDaysPerWeek[this._arrayCounter] / _.FULL_TIME_DAYS_PER_WEEK) }, c.prototype.SizeTheFinancialAssetsArray = function (e) { 0 < e && e++, this._FinancialAssets = Array.from({ length: e }, function () { return null }), this._IncomeOnFinancialAssets = Array.from({ length: e }, function () { return null }) }, c.prototype.InitialiseFinancialAssets = function (e, t, n, r) { this._FinancialAssets[r] = new J.IndexedDollarParameter, this._IncomeOnFinancialAssets[r] = new J.IndexedDollarParameter, this._FinancialAssets[r].initialise(e, n), this._IncomeOnFinancialAssets[r].initialise(t, n) }, c.prototype.SizeTheIncomeWithNoBackingAssetsArray = function (e) { 0 < e && e++, this._IncomeWithNoBackingAssets = Array.from({ length: e }, function () { return null }), this._IncomeWithNoBackingAssets_CeaseAge = Array.from({ length: e }, function () { return null }) }, c.prototype.InitialiseIncomeWithNoBackingAssets = function (e, t, n, r, i) { this._IncomeWithNoBackingAssets[i] = new J.IndexedDollarParameter, this._memberType === X.MemberType.AUSTRALIAN_SUPER ? this._IncomeWithNoBackingAssets[i].initialise(e, r) : this._IncomeWithNoBackingAssets[i].initialise(e, n), this._IncomeWithNoBackingAssets_CeaseAge[i] = t }, c.prototype.setInitialOtherIncome = function () { for (var e = this._IncomeOnNonFinancialAssets.value, t = 1; t < this._FinancialAssets.length; t++)e += this._IncomeOnFinancialAssets[t].value; for (t = 1; t < this._IncomeWithNoBackingAssets.length; t++)e += this._IncomeWithNoBackingAssets[t].value; this._OtherIncomeHistory[this._arrayCounter] = e, this._OtherIncome.resetValues(e) }, c.prototype.setLengthOfFirstPeriod = function (e) { this._LengthOfPeriodInFirstProjectionPeriod = 1 - e }, c.prototype.RetirementIncomeProduct_SetDefaultIncomePer100KPurchase_WithReversion = function (e, t, n) { var r, n = "CSC_Annuity_Reversion_" + this._sex + "_" + this._age + "_Partner_" + n; null !== (e = e.getParamObject(n)) && ((r = new i.AnnuityPurchasePriceTable).initialise(e.startAge, e.data), this._RetirementIncomeProduct_IncomePer100KPurchase = r.getAnnuityPurchasePrice(t)), this.debugMode && console.log("ENGINE 671 ==> annuityTableObj... tried to get ", n, e) }, c.prototype.RetirementIncomeProduct_SetDefaultIncomePer100KPurchase_Single = function (e) { var t = "CSC_Annuity_Single_" + this._sex; null !== (e = e.getParamObject(t)) && ((t = new i.AnnuityPurchasePriceTable).initialise(e.startAge, e.data), this._RetirementIncomeProduct_IncomePer100KPurchase = t.getAnnuityPurchasePrice(this._age)) }, c.prototype.setRetirementIncomeProductIncome = function (e) { this._RetirementIncomeProduct_Income.resetValues(e), this._retirementIncomeProductIncomeHistory[this._arrayCounter] = this._RetirementIncomeProduct_Income.value }, c.prototype.setRetirementIncomeProductIncomeBasedOnIncomeAim = function (e) { this._RetirementIncomeProduct_Income.resetValues(Math.min(this._RetirementIncomeProduct_AimAnnualIncome_FutureDollars, e)), this._age === this._RetirementIncomeProduct_AgeIncomeStart && (this._retirementIncomeProductIncomeHistory[this._arrayCounter] = this._RetirementIncomeProduct_Income.value), this._RetirementIncomeProduct_PurchaseAssetBalance = this._RetirementIncomeProduct_Income.value / this._RetirementIncomeProduct_IncomePer100KPurchase * 1e5 }, c.prototype.getPreservationAge = function () { return this._dateBirth.before(r) ? 55 : this._dateBirth.before(o) ? 56 : this._dateBirth.before(a) ? 57 : this._dateBirth.before(s) ? 58 : this._dateBirth.before(u) ? 59 : 60 }, c.prototype.setWorkDaysPerWeek = function (e, t, n, r, i) { for (var o = 0, a = !1, s = 1; s <= this._workDaysPerWeek.length; s++)i <= r ? this._workDaysPerWeek[s - 1] = 0 : (this._age + s - 1 === n || a) && (a = o < t) ? (this._workDaysPerWeek[s - 1] = e, o += 1) : this._workDaysPerWeek[s - 1] = _.FULL_TIME_DAYS_PER_WEEK, r += 1 }, c.prototype.setLumpSumContribution = function (e, t) { for (var n = 1; n <= this._lumpSumMemberContributions.length; n++)this._startAge + n - 1 === t ? this._lumpSumMemberContributions[n - 1] = e : this._lumpSumMemberContributions[n - 1] = 0 }, c.prototype.setDownsizerContribution = function (e, t) { for (var n = 1; n <= this._DownsizerContributions.length; n++)this._startAge + n - 1 == t ? this._DownsizerContributions[n - 1] = e : this._DownsizerContributions[n - 1] = 0 }, c.prototype.setRollOver = function (e, t) { for (var n = 0; n < this._rollOver.length; n++)this._startAge + n === t ? this._rollOver[n] = e : this._rollOver[n] = 0 }, c.prototype.annualUpdate = function (e, t) { var n; if (this._age = this._age + 1, this._arrayCounter = this._arrayCounter + 1, e.plus(t - 1), this.updatePhase(), this._phase === Z.PhaseType.RETIRED) { this._annualFullTimeSalary.resetValues(0), this._midYearSalary = 0, this._ttrContributions = 0, this._ttrDrawings = 0, this._ttrContributionsHistory[this._arrayCounter] = 0, this._ttrDrawingsHistory[this._arrayCounter] = 0, this._preTaxMemberContributions.resetValues(0), this._postTaxMemberContributions.resetValues(0), this._indexedLumpSumWithdrawalAtRetirement.index(t), this._targetIncome.index(t), this._NonFinancialAssets.index(t), this._IncomeOnNonFinancialAssets.index(t), this._PersonalAssets.index(t); for (var r = 1; r < this._FinancialAssets.length; r++)this._FinancialAssets[r].index(t), this._IncomeOnFinancialAssets[r].index(t); for (r = 1; r < this._IncomeWithNoBackingAssets.length; r++)this._IncomeWithNoBackingAssets[r].index(t) } else { if (1 !== this._arrayCounter || this._memberType !== X.MemberType.ESSS_AssistMe && this._memberType !== X.MemberType.ESSS_AssistMe_DB) { this._indexedLumpSumWithdrawalAtRetirement.index(t), this._targetIncome.index(t), this._NonFinancialAssets.index(t), this._IncomeOnNonFinancialAssets.index(t), this._PersonalAssets.index(t); for (r = 1; r < this._FinancialAssets.length; r++)this._FinancialAssets[r].index(t), this._IncomeOnFinancialAssets[r].index(t); for (r = 1; r < this._IncomeWithNoBackingAssets.length; r++)this._IncomeWithNoBackingAssets[r].index(t); this._annualFullTimeSalary.index(t), this._midYearSalary = this._annualFullTimeSalary.value * (1 + this._annualFullTimeSalary.getIndexationInYear(t) / 2), this._preTaxMemberContributions.index(t), this._postTaxMemberContributions.index(t), this._TTRUserSpecifiedDrawings.index(t) } else { n = this._targetIncome.getIndexationInYear(this._arrayCounter), this._targetIncome.resetValues(this._targetIncome.value * Math.pow(1 + n, this._LengthOfPeriodInFirstProjectionPeriod)); for (var r = 1; r < this._FinancialAssets.length; r++)n = this._FinancialAssets[r].getIndexationInYear(this._arrayCounter), this._FinancialAssets[r].resetValues(this._FinancialAssets[r].value * Math.pow(1 + n, this._LengthOfPeriodInFirstProjectionPeriod)), n = this._IncomeOnFinancialAssets[r].getIndexationInYear(this._arrayCounter), this._IncomeOnFinancialAssets[r].resetValues(this._IncomeOnFinancialAssets[r].value * Math.pow(1 + n, this._LengthOfPeriodInFirstProjectionPeriod)); for (var r = 1; r < this._IncomeWithNoBackingAssets.length; r++)n = this._IncomeWithNoBackingAssets[r].getIndexationInYear(this._arrayCounter), this._IncomeWithNoBackingAssets[r].resetValues(this._IncomeWithNoBackingAssets[r].value * Math.pow(1 + n, this._LengthOfPeriodInFirstProjectionPeriod)); n = this._NonFinancialAssets.getIndexationInYear(this._arrayCounter), this._NonFinancialAssets.resetValues(this._NonFinancialAssets.value * Math.pow(1 + n, this._LengthOfPeriodInFirstProjectionPeriod)), n = this._IncomeOnNonFinancialAssets.getIndexationInYear(this._arrayCounter), this._IncomeOnNonFinancialAssets.resetValues(this._IncomeOnNonFinancialAssets.value * Math.pow(1 + n, this._LengthOfPeriodInFirstProjectionPeriod)), n = this._PersonalAssets.getIndexationInYear(this._arrayCounter), this._PersonalAssets.resetValues(this._PersonalAssets.value * Math.pow(1 + n, this._LengthOfPeriodInFirstProjectionPeriod)), n = this._annualFullTimeSalary.getIndexationInYear(this._arrayCounter), this._annualFullTimeSalary.resetValues(this._annualFullTimeSalary.value * Math.pow(1 + n, this._LengthOfPeriodInFirstProjectionPeriod)), this._midYearSalary = this._annualFullTimeSalary.value * (1 + this._annualFullTimeSalary.getIndexationInYear(t) / 2), this._preTaxMemberContributions.resetValues(this._preTaxMemberContributions.value * Math.pow(1 + n, this._LengthOfPeriodInFirstProjectionPeriod)), this._postTaxMemberContributions.resetValues(this._postTaxMemberContributions.value * Math.pow(1 + n, this._LengthOfPeriodInFirstProjectionPeriod)), n = this._TTRUserSpecifiedDrawings.getIndexationInYear(this._arrayCounter), this._TTRUserSpecifiedDrawings.resetValues(this._TTRUserSpecifiedDrawings.value * Math.pow(1 + n, this._LengthOfPeriodInFirstProjectionPeriod)) } this._retirementDrawingsHistory[this._arrayCounter] = 0 } for (r = 1; r < this._IncomeWithNoBackingAssets.length; r++)this._age == this._IncomeWithNoBackingAssets_CeaseAge[r] && this._IncomeWithNoBackingAssets[r].resetValues(0); this._targetIncomeHistory[this._arrayCounter] = this._targetIncome.value, this._OtherIncomeHistory[this._arrayCounter] = this._IncomeOnNonFinancialAssets.value; for (r = 1; r < this._IncomeWithNoBackingAssets.length; r++)this._OtherIncomeHistory[this._arrayCounter] += this._IncomeWithNoBackingAssets[r].value; for (r = 1; r < this._FinancialAssets.length; r++)this._OtherIncomeHistory[this._arrayCounter] += this._IncomeOnFinancialAssets[r].value; this._OtherIncome.resetValues(this._OtherIncomeHistory[this._arrayCounter]), this._annualFullTimeSalaryHistory[this._arrayCounter] = this._annualFullTimeSalary.value, this._annualFullTimeMidYearSalaryHistory[this._arrayCounter] = this._midYearSalary, 0 === this._annualFullTimeSalary.value ? (this._preTaxMemberContributionHistory[this._arrayCounter] = this._preTaxMemberContributions.value, this._postTaxMemberContributionHistory[this._arrayCounter] = this._postTaxMemberContributions.value) : (this._preTaxMemberContributionHistory[this._arrayCounter] = this._preTaxMemberContributions.value * this._workDaysPerWeek[this._arrayCounter] / _.FULL_TIME_DAYS_PER_WEEK, this._postTaxMemberContributionHistory[this._arrayCounter] = this._postTaxMemberContributions.value * this._workDaysPerWeek[this._arrayCounter] / _.FULL_TIME_DAYS_PER_WEEK), this._concessionalContributionThreshold.index(t), this._lowIncomeEarnersGovernmentContributionIncomeThreshold.index(t), this._lowIncomeEarnersGovernmentContributionMaximum.index(t), this._highIncomeEarningThreshold.index(t), this._age < this._RetirementIncomeProduct_AgeIncomeStart ? this._retirementIncomeProductIncomeHistory[this._arrayCounter] = 0 : (this._age !== this._RetirementIncomeProduct_AgeIncomeStart && this._RetirementIncomeProduct_Income.index(t), this._retirementIncomeProductIncomeHistory[this._arrayCounter] = this._RetirementIncomeProduct_Income.value) }, c.prototype.updatePhase = function () { this._age === this._retirementAge ? (this._phase = Z.PhaseType.RETIRED, this._retiredThisYear = !0) : (this._age > this._retirementAge ? this._phase = Z.PhaseType.RETIRED : this._includeTtr && this._age >= this._preservationAge && (0 !== this._annualFullTimeSalary.value || this._TTRMode == $.TTRMode.DrawingsOnly_UserSpecifyAmount || this._TTRMode == $.TTRMode.DrawingsOnly_TopUpReducedSalary) ? this._phase = Z.PhaseType.TTR : this._phase = Z.PhaseType.ACCUMULATION, this._retiredThisYear = !1) }, c.prototype.resetTargetIncomeIndexationBasis = function (e) { this._targetIncome.resetIndexationBasis(e) }, c.prototype.resetOtherIncomeIndexationBasis = function (e) { for (var t = 1; t < this._IncomeWithNoBackingAssets.length; t++)this._IncomeWithNoBackingAssets[t].resetIndexationBasis(e) }, c.prototype.drawingsRequiredToAttainTargetIncome = function (e, t, n, r, i) { var o = 60 <= this._age ? e - (n + t + r - i.taxPayable(this._sex, this._dateBirth, this._age, n)) : i.taxPayable(this._sex, this._dateBirth, this._age, n + (o = e - n - t - r)) <= o * _.PENSION_REBATE_RATE ? o : this.getRequiredDrawingsUnder60(e, t, n, r, i, 0, this._targetIncome.value); return Math.max(o, 0) }, c.prototype.getRequiredDrawingsUnder60 = function (e, t, n, r, i, o, a, s) { var u, c, l, h, m; return void 0 === s && (s = 0), u = !1, h = t + n + r + o - i.taxPayable(this._sex, this._dateBirth, this._age, n + o) + o * _.PENSION_REBATE_RATE, c = t + n + r + a - i.taxPayable(this._sex, this._dateBirth, this._age, n + a) + a * _.PENSION_REBATE_RATE, h = i.taxPayable(this._sex, this._dateBirth, this._age, n + (c = o + (a - o) * (e - h) / (c - h))), m = c * _.PENSION_REBATE_RATE, m = Math.min(h, m), (u = Math.abs(t + n + r + c - h + m - e) < 20 || 30 <= s ? !0 : u) ? c : (h = c - o < a - c ? (l = o, c) : (l = c, a), this.getRequiredDrawingsUnder60(e, t, n, r, i, l, h, s + 1)) }, c.prototype.optimiseTTR = function (e, t, n, r, i, o, a) { void 0 === a && (a = 0); var s, u, c, l = Q.InitialiseArray(11), h = Q.InitialiseArray(11), m = Q.InitialiseArray(11), _ = !1, p = !1, d = 0, f = 0, g = o.taxPayable(this._sex, this._dateBirth, this._age, this._midYearSalary * this.workload + this.agePensionIncome - r + this._OtherIncome.value), y = this._midYearSalary * this.workload + this.agePensionIncome - r + this._OtherIncome.value - g; for (this._memberType !== X.MemberType.SUPERSA_SSS && ((c = this.concessionalContributionThreshold()) - r - i < t && (t = Math.max(0, c - r - i)), this.debugMode) && (console.log("ALL -> Running optimiseTTR normal code"), console.info("maxConcessionalContributions =", c, "maximumContributionsToTest =", t)), u = 1; u <= 11; u++)l[u - 1] = Math.floor(e + (u - 1) / 10 * (t - e)); for (u = 1; u <= 11; u++)60 <= this._age ? (s = o.taxPayable(this._sex, this._dateBirth, this._age, this._midYearSalary * this.workload + this.agePensionIncome - r - l[u - 1] + this._OtherIncome.value), s = this._midYearSalary * this.workload + this.agePensionIncome - l[u - 1] + this._OtherIncome.value - r - s, h[u - 1] = y - s) : 0 === l[u - 1] ? h[u - 1] = 0 : h[u - 1] = Math.floor(this.getTTRDrawingsForContributionLevelBelow60(y, l[u - 1], 0, l[u - 1], o)), h[u - 1] > n ? m[u - 1] = 0 : m[u - 1] = this.ttrBenefit(l[u - 1], r + i, h[u - 1]), m[u - 1] > d + 1 && (d = m[u - 1], f = u); 1 === f || 11 === f ? _ = !0 : 0 === f || 10 <= a ? p = !0 : (c = m[f - 2] > m[f] ? f - 1 : f + 1, m[f - 1] - m[c - 1] < 25 && (_ = !0)), _ ? (this._ttrContributions = l[f - 1], this._ttrDrawings = h[f - 1], this._ttrContributionsHistory[this._arrayCounter] = this._ttrContributions, this._ttrDrawingsHistory[this._arrayCounter] = this._ttrDrawings, this._ttrTaxBenefitHistory[this._arrayCounter] = m[f - 1], c = void 0, c = o.taxPayable(this._sex, this._dateBirth, this._age, this._midYearSalary * this.workload + this.agePensionIncome - r - l[f - 1] + this._OtherIncome.value), this._ttrIncomeReductionHistory[this._arrayCounter] = l[f - 1] + c - g) : p ? (this._ttrContributions = 0, this._ttrDrawings = 0, this._ttrContributionsHistory[this._arrayCounter] = this._ttrContributions, this._ttrDrawingsHistory[this._arrayCounter] = this._ttrDrawings) : (_ = l[f - 2], c = l[f], this.optimiseTTR(_, c, n, r, i, o, a + 1)) }, c.prototype.getTTRDrawingsForContributionLevelBelow60 = function (e, t, n, r, i, o) { void 0 === o && (o = 0); var a = !1, s = 0, u = 0, c = this._midYearSalary * this.workload + this.agePensionIncome - t + this._OtherIncome.value + n - this.preTaxMemberContributions - i.taxPayable(this._sex, this._dateBirth, this._age, this._midYearSalary * this.workload + this.agePensionIncome - t - this.preTaxMemberContributions + this._OtherIncome.value + n) + n * _.PENSION_REBATE_RATE, l = this._midYearSalary * this.workload + this.agePensionIncome - t + this._OtherIncome.value + r - this.preTaxMemberContributions - i.taxPayable(this._sex, this._dateBirth, this._age, this._midYearSalary * this.workload + this.agePensionIncome - t - this.preTaxMemberContributions + this._OtherIncome.value + r) + r * _.PENSION_REBATE_RATE, c = this._midYearSalary * this.workload + this.agePensionIncome - t + this._OtherIncome.value + (l = n + (r - n) * (e - c) / (l - c)) - this.preTaxMemberContributions - i.taxPayable(this._sex, this._dateBirth, this._age, this._midYearSalary * this.workload + this.agePensionIncome - t - this.preTaxMemberContributions + this._OtherIncome.value + l) + l * _.PENSION_REBATE_RATE; return (a = Math.abs(c - e) < 10 || 25 <= o ? !0 : a) ? l : (u = l - n < r - l ? (s = n, l) : (s = l, r), this.getTTRDrawingsForContributionLevelBelow60(e, t, s, u, i, o + 1)) }, c.prototype.ttrBenefit = function (e, t, n) { return this.netConcessionalContributions(e + t) - this.netConcessionalContributions(t) - n }, c.prototype.netConcessionalContributions = function (e) { var t, n = this._midYearSalary * this.workload, r = this._concessionalContributionThreshold.value; return Math.floor(r / 2500), this.memberType === X.MemberType.SUPERSA_SSS ? (t = n + e < this._highIncomeEarningThreshold.value ? 0 : n > this._highIncomeEarningThreshold.value ? e * _.SUPERANNUATION_TAX_RATE : (n + e - this._highIncomeEarningThreshold.value) * _.SUPERANNUATION_TAX_RATE, this.debugMode && (console.log("SUPERSA_SSS -> Running netConcessionalContributions() SuperSA.SSS specific code"), console.info("tax =", t))) : (t = n + e < this._highIncomeEarningThreshold.value ? e * _.SUPERANNUATION_TAX_RATE : n > this._highIncomeEarningThreshold.value ? e * _.SUPERANNUATION_TAX_RATE_HIGH_EARNER : (this._highIncomeEarningThreshold.value - n) * _.SUPERANNUATION_TAX_RATE + (n + e - this._highIncomeEarningThreshold.value) * _.SUPERANNUATION_TAX_RATE_HIGH_EARNER, this.debugMode && (console.log("ALL -> Running netConcessionalContributions() normal code"), console.info("tax =", t))), e - (t = n < this._lowIncomeEarnersGovernmentContributionIncomeThreshold.value ? Math.max(0, t - this._lowIncomeEarnersGovernmentContributionMaximum.value) : t) }, c.prototype.concessionalContributionThreshold = function () { return 2500 * Math.floor(this._concessionalContributionThreshold.value / 2500) }, c.prototype.deflate = function (e, t, n, r, i) { var o = 0, a = 1, s = r + 1; this._deflatedSalary[0] = this._annualFullTimeSalaryHistory[0] * this._workDaysPerWeek[0] / _.FULL_TIME_DAYS_PER_WEEK, this._deflatedNetSalary[0] = this._deflatedSalary[0] - this._incomeTaxHistory[0], this._deflatedTargetIncome[0] = this._targetIncomeHistory[0], this._deflatedOtherIncome[0] = this._OtherIncomeHistory[0], this._deflatedAgePension[0] = this._agePensionHistory[0], this._deflatedRetirementIncomeProductIncomeHistory[0] = this._retirementIncomeProductIncomeHistory[0], this._deflatedIndexedPension[0] = this._indexedPensionHistory[0], this._deflatedPreTaxMemberContribution[0] = this._preTaxMemberContributionHistory[0], this._deflatedPostTaxMemberContribution[0] = this._postTaxMemberContributionHistory[0]; for (var u = 2; u <= this._annualFullTimeSalaryHistory.length; u++)o = (i < s && !0 === this._discountWithPriceInflationInRetirement ? t : e).getIndexationRate(u - 1), n !== X.MemberType.ESSS_AssistMe_DB && n !== X.MemberType.ESSS_AssistMe || 2 !== u ? a /= 1 + o : a = Math.pow(a / (1 + o), this._LengthOfPeriodInFirstProjectionPeriod), this._deflatedTargetIncome[u - 1] = this._targetIncomeHistory[u - 1] * a, this._deflatedOtherIncome[u - 1] = this._OtherIncomeHistory[u - 1] * a, this._deflatedAgePension[u - 1] = this._agePensionHistory[u - 1] * a, this._deflatedRetirementIncomeProductIncomeHistory[u - 1] = this._retirementIncomeProductIncomeHistory[u - 1] * a, this._deflatedSalary[u - 1] = this._annualFullTimeSalaryHistory[u - 1] * this._workDaysPerWeek[u - 1] / _.FULL_TIME_DAYS_PER_WEEK * a, this._deflatedNetSalary[u - 1] = this._deflatedSalary[u - 1] - this._incomeTaxHistory[u - 1] * a, s++ }, Object.defineProperty(c.prototype, "isRetired", { get: function () { return this._phase === Z.PhaseType.RETIRED }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "inTTR", { get: function () { return this._phase === Z.PhaseType.TTR }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "accumulationOnly", { get: function () { return this._phase === Z.PhaseType.ACCUMULATION }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "lumpSumContribution", { get: function () { return this._lumpSumMemberContributions[this._arrayCounter] }, enumerable: !0, configurable: !0 }), c.prototype.get_lumpSumContribution = function () { return this._lumpSumMemberContributions[this._arrayCounter] }, Object.defineProperty(c.prototype, "downsizerContribution", { get: function () { return this._DownsizerContributions[this._arrayCounter] }, enumerable: !0, configurable: !0 }), c.prototype.get_downsizerContribution = function () { return this._DownsizerContributions[this._arrayCounter] }, c.prototype.rollOver = function () { return this._arrayCounter + 1 >= this._rollOver.length ? 0 : this._rollOver[this._arrayCounter + 1] }, Object.defineProperty(c.prototype, "immediateRollOverInFirstYear", { get: function () { return this._rollOver[0] }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "agePensionIncome", { get: function () { return this._agePensionHistory[this._arrayCounter] }, enumerable: !0, configurable: !0 }), c.prototype.get_immediateRollOverInFirstYear = function () { return this._rollOver[0] }, c.prototype.get_agePensionIncome = function () { return this._agePensionHistory[this._arrayCounter] }, c.prototype.setAgePensionInYear = function (e) { this._agePensionHistory[this._arrayCounter] = e }, c.prototype.getAgePensionInYear = function (e) { return this._agePensionHistory[e - 1] }, Object.defineProperty(c.prototype, "indexedPensionIncome", { get: function () { return this._indexedPensionHistory[this._arrayCounter] }, enumerable: !0, configurable: !0 }), c.prototype.get_indexedPensionIncome = function () { return this._indexedPensionHistory[this._arrayCounter] }, c.prototype.setIndexedPensionInYear = function (e) { this._indexedPensionHistory[this._arrayCounter] = e }, c.prototype.getIndexedPensionInYear = function (e) { return this._indexedPensionHistory[e - 1] }, c.prototype.getSalaryInYear = function (e) { return this._annualFullTimeSalaryHistory[e - 1] }, c.prototype.getMidYearSalaryInYear = function (e) { return this._annualFullTimeMidYearSalaryHistory[e - 1] }, c.prototype.setTTRDrawingsInYear = function (e) { this._ttrDrawingsHistory[this._arrayCounter] = e }, c.prototype.getTTRDrawingsInYear = function (e) { return this._ttrDrawingsHistory[e - 1] }, c.prototype.setTTRContributionsInYear = function (e) { this._ttrContributionsHistory[this._arrayCounter] = e }, c.prototype.getTTRContributionsInYear = function (e) { return this._ttrContributionsHistory[e - 1] }, c.prototype.setTTRIncomeReductionInYear = function (e) { this._ttrIncomeReductionHistory[this._arrayCounter] = e }, c.prototype.getTTRIncomeReductionInYear = function (e) { return this._ttrIncomeReductionHistory[e - 1] }, c.prototype.setTTRTaxBenefitInYear = function (e) { this._ttrTaxBenefitHistory[this._arrayCounter] = e }, c.prototype.getTTRTaxBenefitInYear = function (e) { return this._ttrTaxBenefitHistory[e - 1] }, c.prototype.setTTRPostContributionNetSalaryInYear = function (e) { this._ttrPostContributionNetSalaryHistory[this._arrayCounter] = e }, c.prototype.getTTRPostContributionNetSalaryInYear = function (e) { return this._ttrPostContributionNetSalaryHistory[e - 1] }, c.prototype.setTTRProblemCanNotTopUpSalaryInYear = function (e) { this._ttrProblemCanNotTopUpSalaryHistory[this._arrayCounter] = e }, c.prototype.getTTRProblemCanNotTopUpSalaryInYear = function (e) { return this._ttrProblemCanNotTopUpSalaryHistory[e - 1] }, c.prototype.getWorkLoadInYear = function (e) { return this._workDaysPerWeek[e - 1] }, c.prototype.getFinancialAssets = function () { return this._FinancialAssets }, c.prototype.getIncomeWithNoBackingAssets = function () { return this._IncomeWithNoBackingAssets }, c.prototype.getIncomeWithNoBackingAssets_CeaseAge = function () { return this._IncomeWithNoBackingAssets_CeaseAge }, Object.defineProperty(c.prototype, "sex", { get: function () { return this._sex }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "salary", { get: function () { return this._annualFullTimeSalary.value }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "midYearSalary", { get: function () { return this._midYearSalary }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "workload", { get: function () { return this._workDaysPerWeek[this._arrayCounter] / _.FULL_TIME_DAYS_PER_WEEK }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "age", { get: function () { return this._age }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "ageRetirementIncomeProductCommences", { get: function () { return this._RetirementIncomeProduct_AgeIncomeStart }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "ageCeaseCurrentEmployment", { get: function () { return this._ageCeaseCurrentEmployment }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "FinancialAssets", { get: function () { for (var e = 0, t = 1; t < this._FinancialAssets.length; t++)e += this._FinancialAssets[t].value; return e }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "IncomeOnFinancialAssets", { get: function () { for (var e = 0, t = 1; t < this._IncomeOnFinancialAssets.length; t++)e += this._IncomeOnFinancialAssets[t].value; return e }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "NonFinancialAssets", { get: function () { return this._NonFinancialAssets.value }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "IncomeOnNonFinancialAssets", { get: function () { return this._IncomeOnNonFinancialAssets.value }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "IncomeWithNoBackingAssets", { get: function () { for (var e = 0, t = 1; t < this._IncomeWithNoBackingAssets.length; t++)e += this._IncomeWithNoBackingAssets[t].value; return e }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "PersonalAssets", { get: function () { return this._PersonalAssets.value }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "otherIncome", { get: function () { return this._OtherIncome.value }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "retirementProductIncome", { get: function () { return this._RetirementIncomeProduct_Income.value }, enumerable: !0, configurable: !0 }), c.prototype.get_sex = function () { return this._sex }, c.prototype.get_salary = function () { return this._annualFullTimeSalary.value }, c.prototype.get_midYearSalary = function () { return this._midYearSalary }, c.prototype.get_workload = function () { return this._workDaysPerWeek[this._arrayCounter] / _.FULL_TIME_DAYS_PER_WEEK }, c.prototype.get_otherIncome = function () { return this._OtherIncome.value }, c.prototype.getOtherIncomeInYear = function (e) { return this._OtherIncomeHistory[e - 1] }, c.prototype.getRetirementIncomeProductIncomeInYear = function (e) { return this._retirementIncomeProductIncomeHistory[e - 1] }, c.prototype.getTargetIncomeInYear = function (e) { return this._targetIncomeHistory[e - 1] }, Object.defineProperty(c.prototype, "dateBirth", { get: function () { return this._dateBirth }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "isHomeOwner", { get: function () { return this._isHomeOwner }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "isMarried", { get: function () { return this._isMarried }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "phase", { get: function () { return this._phase }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "ttrContributions", { get: function () { return this._ttrContributions }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "ttrDrawings", { get: function () { return this._ttrDrawings }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "ttrIncomeReduction", { get: function () { return this._ttrIncomeReductionHistory[this._arrayCounter] }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "ttrTaxBenefit", { get: function () { return this._ttrTaxBenefitHistory[this._arrayCounter] }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "ttrPostContributionNetSalary", { get: function () { return this._ttrPostContributionNetSalaryHistory[this._arrayCounter] }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "ttrProblemCanNotTopUpSalary", { get: function () { return this._ttrProblemCanNotTopUpSalaryHistory[this._arrayCounter] }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "preTaxMemberContributions", { get: function () { return this._preTaxMemberContributionHistory[this._arrayCounter] }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "postTaxMemberContributions", { get: function () { return this._postTaxMemberContributionHistory[this._arrayCounter] }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "targetIncome", { get: function () { return this._targetIncome.value }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "startAge", { get: function () { return this._startAge }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "retirementAge", { get: function () { return this._retirementAge }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "RetirementIncomeProduct_AgeOfPurchase", { get: function () { return this._RetirementIncomeProduct_AgeOfPurchase }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "RetirementIncomeProduct_AgeIncomeStart", { get: function () { return this._RetirementIncomeProduct_AgeIncomeStart }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "RetirementIncomeProduct_PurchaseProportion", { get: function () { return this._RetirementIncomeProduct_PurchaseProportion }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "RetirementIncomeProduct_IncomePer100KPurchase", { get: function () { return this._RetirementIncomeProduct_IncomePer100KPurchase }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "RetirementIncomeProduct_UseDefaultIncomePer100KPurchase", { get: function () { return this._RetirementIncomeProduct_UseDefaultIncomePer100KPurchase }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "IsARetirementIncomeProduct", { get: function () { return this._IsARetirementIncomeProduct }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "RetirementIncomeProduct_ElectionBasedOnAssetsToConvert", { get: function () { return this._RetirementIncomeProduct_ElectionBasedOnAssetsToConvert }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "RetirementIncomeProduct_ElectionBasedOnDollarsOfAssetsToConvert", { get: function () { return this._RetirementIncomeProduct_ElectionBasedOnDollarsOfAssetsToConvert }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "RetirementIncomeProduct_PurchaseBalance", { get: function () { return this._RetirementIncomeProduct_PurchaseAssetBalance }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "RetirementIncomeProduct_AimAnnualIncome", { get: function () { return this._RetirementIncomeProduct_AimAnnualIncome }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "RetirementIncomeProduct_PurchaseBalance_FutureDollars", { get: function () { return this._RetirementIncomeProduct_PurchaseAssetBalance_FutureDollars }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "RetirementIncomeProduct_AimAnnualIncome_FutureDollars", { get: function () { return this._RetirementIncomeProduct_AimAnnualIncome_FutureDollars }, enumerable: !0, configurable: !0 }), c.prototype.get_dateBirth = function () { return this._dateBirth }, c.prototype.get_isHomeOwner = function () { return this._isHomeOwner }, c.prototype.get_isMarried = function () { return this._isMarried }, c.prototype.get_phase = function () { return this._phase }, c.prototype.get_ttrContributions = function () { return this._ttrContributions }, c.prototype.get_ttrDrawings = function () { return this._ttrDrawings }, c.prototype.get_ttrIncomeReductionHistory = function () { return this._ttrIncomeReductionHistory[this._arrayCounter] }, c.prototype.get_ttrTaxBenefitHistory = function () { return this._ttrTaxBenefitHistory[this._arrayCounter] }, c.prototype.get_ttrPostContributionNetSalaryHistory = function () { return this._ttrPostContributionNetSalaryHistory[this._arrayCounter] }, c.prototype.get_ttrProblemCanNotTopUpSalaryHistory = function () { return this._ttrProblemCanNotTopUpSalaryHistory[this._arrayCounter] }, c.prototype.get_preTaxMemberContributions = function () { return this._preTaxMemberContributionHistory[this._arrayCounter] }, c.prototype.get_postTaxMemberContributions = function () { return this._postTaxMemberContributionHistory[this._arrayCounter] }, c.prototype.get_targetIncome = function () { return this._targetIncome.value }, c.prototype.get_startAge = function () { return this._startAge }, c.prototype.get_retirementAge = function () { return this._retirementAge }, c.prototype.getDeflatedSalaryInYear = function (e) { return this._deflatedSalary[e - 1] }, c.prototype.getDeflatedPreTaxContributionsInYear = function (e) { return this._deflatedPreTaxMemberContribution[e - 1] }, c.prototype.getDeflatedPostTaxContributionsInYear = function (e) { return this._deflatedPostTaxMemberContribution[e - 1] }, c.prototype.getDeflatedNetSalaryInYear = function (e) { return this._deflatedNetSalary[e - 1] }, c.prototype.getDeflatedOtherIncomeInYear = function (e) { return this._deflatedOtherIncome[e - 1] }, c.prototype.getDeflatedRetirementIncomeProductIncomeInYear = function (e) { return this._deflatedRetirementIncomeProductIncomeHistory[e - 1] }, c.prototype.getDeflatedTargetIncomeInYear = function (e) { return this._deflatedTargetIncome[e - 1] }, c.prototype.getDeflatedAgePensionInYear = function (e) { return this._deflatedAgePension[e - 1] }, c.prototype.getDeflatedIndexedPensionInYear = function (e) { return this._deflatedIndexedPension[e - 1] }, Object.defineProperty(c.prototype, "expectedAgeAtDeath", { get: function () { return this._expectedAgeAtDeath }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "lifeExpectancyAtRetirement", { get: function () { return this._lifeExpectancyAtRetirement }, enumerable: !0, configurable: !0 }), c.prototype.get_expectedAgeAtDeath = function () { return this._expectedAgeAtDeath }, c.prototype.get_lifeExpectancyAtRetirement = function () { return this._lifeExpectancyAtRetirement }, c.prototype.get_sunSuperSurvival50Percent = function () { return this._sunSuperSurvival50Percent }, c.prototype.get_sunSuperSurvival10Percent = function () { return this._sunSuperSurvival10Percent }, c.prototype.setCoContributions = function (e) { this._coContributions = e }, Object.defineProperty(c.prototype, "coContributions", { get: function () { return this._coContributions }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "retiredThisYear", { get: function () { return this._retiredThisYear }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "lumpSumWithdrawalAtRetirement", { get: function () { return this._lumpSumWithdrawalAtRetirement }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "discountWithPriceInflationInRetirement", { get: function () { return this._discountWithPriceInflationInRetirement }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "indexedLumpSumWithdrawalAtRetirement", { get: function () { return this._indexedLumpSumWithdrawalAtRetirement.value }, enumerable: !0, configurable: !0 }), c.prototype.get_coContributions = function () { return this._coContributions }, c.prototype.get_retiredThisYear = function () { return this._retiredThisYear }, c.prototype.get_lumpSumWithdrawalAtRetirement = function () { return this._lumpSumWithdrawalAtRetirement }, c.prototype.get_indexedLumpSumWithdrawalAtRetirement = function () { return this._indexedLumpSumWithdrawalAtRetirement.value }, c.prototype.setRetirementDrawings = function (e) { this._retirementDrawingsHistory[this._arrayCounter] = e }, Object.defineProperty(c.prototype, "retirementDrawings", { get: function () { return this._retirementDrawingsHistory[this._arrayCounter] }, enumerable: !0, configurable: !0 }), c.prototype.get_retirementDrawings = function () { return this._retirementDrawingsHistory[this._arrayCounter] }, c.prototype.getDrawingsRequiredInRetirementInYear = function (e) { return this._retirementDrawingsHistory[e - 1] }, c.prototype.setTTRDrawingsOnlyModeDrawings = function (e) { this._ttrDrawings = Math.min(this._TTRUserSpecifiedDrawings.value, e), this._ttrDrawingsHistory[this._arrayCounter] = this._ttrDrawings, this._ttrContributions = 0, this._ttrContributionsHistory[this._arrayCounter] = this._ttrContributions, this._TTRUserSpecifiedDrawings.value > e ? this._ttrProblemCanNotTopUpSalaryHistory[this._arrayCounter] = !0 : this._ttrProblemCanNotTopUpSalaryHistory[this._arrayCounter] = !1 }, c.prototype.setTTRDrawingsToTopUpReducedSalary = function (e, t) { var n = this._annualFullTimeSalary.value, r = n * this._TTR_ProposedWorkLoad / this._TTR_CurrentWorkLoad, n = n - t.taxPayable(this._sex, this._dateBirth, this._age, n), t = r - t.taxPayable(this._sex, this._dateBirth, this._age, r), r = n - t; this._ttrDrawings = Math.min(r, e), this._ttrDrawingsHistory[this._arrayCounter] = this._ttrDrawings, this._ttrContributions = 0, this._ttrContributionsHistory[this._arrayCounter] = this._ttrContributions, this._ttrPostContributionNetSalaryHistory[this._arrayCounter] = t, this._ttrProblemCanNotTopUpSalaryHistory[this._arrayCounter] = e < r }, c.prototype.setIncomeTax = function (e) { this._incomeTaxHistory[this._arrayCounter] = e }, c.prototype.getIncomeTaxInYear = function (e) { return this._incomeTaxHistory[e - 1] }, c.prototype.setIndividualsTargetIncome = function (e) { this._individualsTargetIncomeHistory[this._arrayCounter] = e }, c.prototype.getIndividualsTargetIncomeInYear = function (e) { return this._individualsTargetIncomeHistory[e - 1] }, Object.defineProperty(c.prototype, "accountType", { get: function () { return this._accountType }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "memberType", { get: function () { return this._memberType }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "TTRMode", { get: function () { return this._TTRMode }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "coreContributionsPostTax", { get: function () { return this._coreContributionsPostTax }, enumerable: !0, configurable: !0 }), Object.defineProperty(c.prototype, "LengthOfPeriodInFirstProjectionPeriod", { get: function () { return this._LengthOfPeriodInFirstProjectionPeriod }, enumerable: !0, configurable: !0 }), c.prototype.getLumpSumWithdrawalInYear = function (e) { return this.get_startAge() + e - 1 === this.get_retirementAge() ? this._lumpSumWithdrawalAtRetirement : 0 }, Object.defineProperty(c.prototype, "debugMode", { get: function () { return this._debugMode }, enumerable: !0, configurable: !0 }), n.Person = c }, { "../lib/ArrayUtils": 10, "./AnnuityPurchasePriceTable": 20, "./Constants": 22, "./IndexationBasis": 28, "./IndexedDollarParameter": 29, "./MemberType": 38, "./PhaseType": 44, "./TTRMode": 48 }], 43: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var r = e("./PreservationTable"), i = e("../lib/Gender"); function o(e, t) { this.year = [], this.age = [], this.salary = [], this.midYearSalary = [], this.workload = [], this.dbMultiple = [], this.preTaxContributions = [], this.postTaxContributions = [], this.lumpsumContributions = [], this.employerContributions = [], this.coContributions = [], this.ttrContributions = [], this.ttrDrawings = [], this.ttrIncomeReductionHistory = [], this.ttrTaxBenefitHistory = [], this.ttrPostContributionNetSalaryHistory = [], this.ttrProblemCanNotTopUpSalaryHistory = [], this.otherIncome = [], this.targetIncome = [], this.minimumDrawings = [], this.insuranceFees = [], this.administrationFees = [], this.drawings = [], this.dbAssetsStartOfYear = [], this.drbAssetsStartOfYear = [], this.agePension = [], this.retirementIncomeProductIncome = [], this.indexedPension = [], this.accumulationAssetsStartYear = [], this.pensionAssetsStartYear = [], this.accumulationAssetsEndYear = [], this.pensionAssetsEndYear = [], this.drawingsFromPensionAccount = [], this.drawingsFromAccumulationAccount = [], this.deflatedSalary = [], this.deflatedPreTaxContributions = [], this.deflatedPostTaxContributions = [], this.deflatedNetSalary = [], this.deflatedOtherIncome = [], this.deflatedTargetIncome = [], this.deflatedAgePension = [], this.deflatedRetirementIncomeProductIncome = [], this.deflatedIndexedPension = [], this.deflatedDrawingsInYear = [], this.deflatedAccumulationDrawingsInYear = [], this.deflatedPensionDrawingsInYear = [], this.deflatedActualDrawingsInYear = [], this.deflatedAssetsInYear = [], this.deflatedAccumulationAssetsInYear = [], this.deflatedPensionAssetsInYear = [], this.deflatedMinimumDrawingsInYear = [], this.deflatedInsuranceFees = [], this.deflatedEmployerContributions = []; var n = e.getParamObject("CalculationDate"), r = e.getParamString(t ? "Sex" : "Sex_2"), t = e.getParamNumber(t ? "AgeNow" : "AgeNow_2"); this.preservationAge = this.calculatePreservationAge(this.calculateDateOfBirth(n, t)), this.lifeExpectancy = this.calculateLifeExpectancy(e.getParamObject("AbsLifeTable"), t, r) } o.prototype.populateYear = function (e, t, n, r) { this.year.push(e), this.age.push(t.age), this.salary.push(t.getSalaryInYear(e)), this.midYearSalary.push(t.getMidYearSalaryInYear(e)), this.workload.push(t.getWorkLoadInYear(e)), this.dbMultiple.push(n.getAccruedDBMultipleInYear(e)), this.preTaxContributions.push(t.preTaxMemberContributions), this.postTaxContributions.push(t.postTaxMemberContributions), this.lumpsumContributions.push(t.lumpSumContribution), this.employerContributions.push(r.getEmployerContributionsInYear(e)), this.coContributions.push(t.coContributions), this.ttrContributions.push(t.getTTRContributionsInYear(e)), this.ttrDrawings.push(t.getTTRDrawingsInYear(e)), this.ttrIncomeReductionHistory.push(t.getTTRIncomeReductionInYear(e)), this.ttrTaxBenefitHistory.push(t.getTTRTaxBenefitInYear(e)), this.ttrPostContributionNetSalaryHistory.push(t.getTTRPostContributionNetSalaryInYear(e)), this.ttrProblemCanNotTopUpSalaryHistory.push(t.getTTRProblemCanNotTopUpSalaryInYear(e)), this.otherIncome.push(t.getOtherIncomeInYear(e)), this.targetIncome.push(t.getTargetIncomeInYear(e)), this.agePension.push(t.getAgePensionInYear(e)), this.retirementIncomeProductIncome.push(t.getRetirementIncomeProductIncomeInYear(e)), this.indexedPension.push(t.getIndexedPensionInYear(e)), this.minimumDrawings.push(n.getMinimumDrawings(e, t.memberType)), this.insuranceFees.push(n.getInsuranceFeesInYear(e)), this.administrationFees.push(n.getAdministrationFeesInYear(e)), this.drawings.push(n.getDrawingsInYear(e)), this.dbAssetsStartOfYear.push(n.getDBAssetsInYear(e)), this.drbAssetsStartOfYear.push(n.getDeferredRetirementAssetsInYear(e)), this.accumulationAssetsStartYear.push(n.getAccumulationAssetsInYear(e)), this.pensionAssetsStartYear.push(n.getPensionAssetsInYear(e)), this.accumulationAssetsEndYear.push(n.getAccumulationAssetsInYear(e + 1)), this.pensionAssetsEndYear.push(n.getPensionAssetsInYear(e + 1)), this.drawingsFromPensionAccount.push(n.getDrawingsFromPensionAccountInYear(e)), this.drawingsFromAccumulationAccount.push(n.getDrawingsFromAccumulationAccountInYear(e)) }, o.prototype.addDeflatedData = function (e, t, n, r) { for (var i = 1; i <= e; i++)this.deflatedSalary.push(t.getDeflatedSalaryInYear(i)), this.deflatedPreTaxContributions.push(t.getDeflatedPreTaxContributionsInYear(i)), this.deflatedPostTaxContributions.push(t.getDeflatedPostTaxContributionsInYear(i)), this.deflatedNetSalary.push(t.getDeflatedNetSalaryInYear(i)), this.deflatedOtherIncome.push(t.getDeflatedOtherIncomeInYear(i)), this.deflatedTargetIncome.push(t.getDeflatedTargetIncomeInYear(i)), this.deflatedAgePension.push(t.getDeflatedAgePensionInYear(i)), this.deflatedRetirementIncomeProductIncome.push(t.getDeflatedRetirementIncomeProductIncomeInYear(i)), this.deflatedIndexedPension.push(n.getDeflatedIndexedPensionInYear(i)), this.deflatedDrawingsInYear.push(n.getDeflatedDrawingsInYear(i)), this.deflatedAccumulationDrawingsInYear.push(n.getDeflatedAccumulationAccountDrawingsInYear(i)), this.deflatedPensionDrawingsInYear.push(n.getDeflatedPensionAccountDrawingsInYear(i)), this.deflatedActualDrawingsInYear.push(n.getDeflatedActualDrawingsInYear(i)), this.deflatedMinimumDrawingsInYear.push(n.getDeflatedMinimumDrawingsInYear(i)), this.deflatedInsuranceFees.push(n.getDeflatedInsuranceFeesInYear(i)), this.deflatedAssetsInYear.push(n.getDeflatedAssetsInYear(i)), this.deflatedAccumulationAssetsInYear.push(n.getDeflatedAccumulationAssetsInYear(i)), this.deflatedPensionAssetsInYear.push(n.getDeflatedPensionAssetsInYear(i)), this.deflatedEmployerContributions.push(r.getDeflatedEmployerContributionsInYear(i)) }, o.prototype.removeWithdrawalFromActualDrawings = function (e, t) { this.deflatedActualDrawingsInYear[e] = Math.max(0, this.deflatedActualDrawingsInYear[e] - t) }, Object.defineProperty(o.prototype, "runOutAge", { get: function () { for (var e = this.age.length - 1; this.deflatedAssetsInYear[e] < 5 && 0 < e;)e--; return this.age[e] + 1 }, enumerable: !0, configurable: !0 }), o.prototype.calculatePreservationAge = function (e) { return r.PreservationTable.createDefault().preservationAge(e) }, o.prototype.calculateDateOfBirth = function (e, t) { return e.plus(-.5 - t) }, o.prototype.calculateLifeExpectancy = function (e, t, n) { n = i.Gender.fromString(n), t = Math.max(t, e.startAge); return t + Math.floor(e.lifeExpectancy(t, n)) }, n.PersonOutput = o }, { "../lib/Gender": 11, "./PreservationTable": 45 }], 44: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), (n = n.PhaseType || (n.PhaseType = {})).ACCUMULATION = "Accumulation", n.TTR = "TTR", n.RETIRED = "Retired" }, {}], 45: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var e = e("../lib/AdvDate"), r = [new e.AdvDate("01/01/1900"), new e.AdvDate("01/07/1960"), new e.AdvDate("01/07/1961"), new e.AdvDate("01/07/1962"), new e.AdvDate("01/07/1963"), new e.AdvDate("01/07/1964")], i = [55, 56, 57, 58, 59, 60]; function o(e, t) { this._fromDates = e, this._preservationAges = t } o.createDefault = function () { return new o(r, i) }, o.prototype.preservationAge = function (e) { for (var t = 0, t = this._fromDates.length - 1; 0 <= t; t--)if (e.getTime() >= this._fromDates[t].getTime()) return this._preservationAges[t]; return NaN }, n.PreservationTable = o }, { "../lib/AdvDate": 9 }], 46: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var r = e("./../lib/AdvDate"); function i() { this._asAt = null, this._year = 0, this._isTwoPersonProjection = !1, this._enforceMinimumDrawingRequirements = !1 } i.prototype.initialise = function (e, t) { this._asAt = new r.AdvDate, this._year = 1, this._isTwoPersonProjection = e, this._enforceMinimumDrawingRequirements = t }, i.prototype.incrementYear = function () { this._year++ }, i.prototype.isNotFirstYear = function () { return 1 !== this._year }, i.prototype.isFirstYear = function () { return 1 === this._year }, Object.defineProperty(i.prototype, "yearCount", { get: function () { return this._year }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "asAt", { get: function () { return this._asAt }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "isTwoPersonProjection", { get: function () { return this._isTwoPersonProjection }, enumerable: !0, configurable: !0 }), Object.defineProperty(i.prototype, "enforceMinimumDrawingRequirements", { get: function () { return this._enforceMinimumDrawingRequirements }, enumerable: !0, configurable: !0 }), n.Projection = i }, { "./../lib/AdvDate": 9 }], 47: [function (e, t, n) { "use strict"; function r() { this._startAge = 0, this._drawingsArray = [] } Object.defineProperty(n, "__esModule", { value: !0 }), r.prototype.initialise = function (e, t) { this._startAge = e, this._drawingsArray = t }, r.prototype.getDrawingsPercentage = function (e) { var t = 0, t = e - this._startAge < 0 ? 0 : e - this._startAge >= this._drawingsArray.length ? this._drawingsArray.length - 1 : e - this._startAge; return this._drawingsArray[t] }, n.RetirementDrawingsTable = r }, {}], 48: [function (e, t, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), (n = n.TTRMode || (n.TTRMode = {}))[n.TaxOptimisation = 0] = "TaxOptimisation", n[n.DrawingsOnly_UserSpecifyAmount = 1] = "DrawingsOnly_UserSpecifyAmount", n[n.DrawingsOnly_TopUpReducedSalary = 2] = "DrawingsOnly_TopUpReducedSalary" }, {}], 49: [function (k, n, r) {
!function (Y, H) {
/*!
* @overview es6-promise - a tiny implementation of Promises/A+.
* @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
* @license Licensed under MIT license
* See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
* @version v4.2.8+1e68dce6
*/var e, t; e = this, t = function () { "use strict"; function u(e) { return "function" == typeof e } var n = Array.isArray || function (e) { return "[object Array]" === Object.prototype.toString.call(e) }, r = 0, t = void 0, i = void 0, a = function (e, t) { h[r] = e, h[r + 1] = t, 2 === (r += 2) && (i ? i(m) : j()) }; var e = "undefined" != typeof window ? window : void 0, o = e || {}, o = o.MutationObserver || o.WebKitMutationObserver, s = "undefined" == typeof self && void 0 !== Y && "[object process]" === {}.toString.call(Y), c = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" != typeof MessageChannel; function l() { var e = setTimeout; return function () { return e(m, 1) } } var h = new Array(1e3); function m() { for (var e = 0; e < r; e += 2)(0, h[e])(h[e + 1]), h[e] = void 0, h[e + 1] = void 0; r = 0 } function _() { try { var e = Function("return this")().require("vertx"); return void 0 !== (t = e.runOnLoop || e.runOnContext) ? function () { t(m) } : l() } catch (e) { return l() } } var p, d, f, j = void 0; function g(e, t) { var n, r = this, i = new this.constructor(P), o = (void 0 === i[b] && E(i), r._state); return o ? (n = arguments[o - 1], a(function () { return w(o, i, n, r._result) })) : x(r, i, e, t), i } function y(e) { var t; return e && "object" == typeof e && e.constructor === this ? e : (v(t = new this(P), e), t) } var j = s ? function () { return Y.nextTick(m) } : o ? (d = 0, s = new o(m), f = document.createTextNode(""), s.observe(f, { characterData: !0 }), function () { f.data = d = ++d % 2 }) : c ? ((p = new MessageChannel).port1.onmessage = m, function () { return p.port2.postMessage(0) }) : (void 0 === e && "function" == typeof k ? _ : l)(), b = Math.random().toString(36).substring(2); function P() { } var T = void 0, A = 1, I = 2; function F(e, r, i) { a(function (t) { var n = !1, e = function (e, t, n, r) { try { e.call(t, n, r) } catch (e) { return e } }(i, r, function (e) { n || (n = !0, (r !== e ? v : R)(t, e)) }, function (e) { n || (n = !0, S(t, e)) }, t._label); !n && e && (n = !0, S(t, e)) }, e) } function C(e, t, n) { var r, i; t.constructor === e.constructor && n === g && t.constructor.resolve === y ? (r = e, (i = t)._state === A ? R(r, i._result) : i._state === I ? S(r, i._result) : x(i, void 0, function (e) { return v(r, e) }, function (e) { return S(r, e) })) : void 0 !== n && u(n) ? F(e, t, n) : R(e, t) } function v(t, e) { if (t === e) S(t, new TypeError("You cannot resolve a promise with itself")); else if (n = typeof e, null === e || "object" != n && "function" != n) R(t, e); else { n = void 0; try { n = e.then } catch (e) { return void S(t, e) } C(t, e, n) } var n } function U(e) { e._onerror && e._onerror(e._result), O(e) } function R(e, t) { e._state === T && (e._result = t, e._state = A, 0 !== e._subscribers.length) && a(O, e) } function S(e, t) { e._state === T && (e._state = I, e._result = t, a(U, e)) } function x(e, t, n, r) { var i = e._subscribers, o = i.length; e._onerror = null, i[o] = t, i[o + A] = n, i[o + I] = r, 0 === o && e._state && a(O, e) } function O(e) { var t = e._subscribers, n = e._state; if (0 !== t.length) { for (var r, i = void 0, o = e._result, a = 0; a < t.length; a += 3)r = t[a], i = t[a + n], r ? w(n, r, i, o) : i(o); e._subscribers.length = 0 } } function w(e, t, n, r) { var i = u(n), o = void 0, a = void 0, s = !0; if (i) { try { o = n(r) } catch (e) { s = !1, a = e } if (t === o) return void S(t, new TypeError("A promises callback cannot return that same promise.")) } else o = r; t._state === T && (i && s ? v(t, o) : !1 === s ? S(t, a) : e === A ? R(t, o) : e === I && S(t, o)) } var D = 0; function E(e) { e[b] = D++, e._state = void 0, e._result = void 0, e._subscribers = [] } M.prototype._enumerate = function (e) { for (var t = 0; this._state === T && t < e.length; t++)this._eachEntry(e[t], t) }, M.prototype._eachEntry = function (t, e) { var n = this._instanceConstructor, r = n.resolve; if (r === y) { var i, o = void 0, a = void 0, s = !1; try { o = t.then } catch (e) { s = !0, a = e } o === g && t._state !== T ? this._settledAt(t._state, e, t._result) : "function" != typeof o ? (this._remaining--, this._result[e] = t) : n === N ? (i = new n(P), s ? S(i, a) : C(i, t, o), this._willSettleAt(i, e)) : this._willSettleAt(new n(function (e) { return e(t) }), e) } else this._willSettleAt(r(t), e) }, M.prototype._settledAt = function (e, t, n) { var r = this.promise; r._state === T && (this._remaining--, e === I ? S(r, n) : this._result[t] = n), 0 === this._remaining && R(r, this._result) }, M.prototype._willSettleAt = function (e, t) { var n = this; x(e, void 0, function (e) { return n._settledAt(A, t, e) }, function (e) { return n._settledAt(I, t, e) }) }; var L = M; function M(e, t) { this._instanceConstructor = e, this.promise = new e(P), this.promise[b] || E(this.promise), n(t) ? (this.length = t.length, this._remaining = t.length, this._result = new Array(this.length), 0 !== this.length && (this.length = this.length || 0, this._enumerate(t), 0 !== this._remaining) || R(this.promise, this._result)) : S(this.promise, new Error("Array Methods must be provided an Array")) } B.prototype.catch = function (e) { return this.then(null, e) }, B.prototype.finally = function (t) { var n = this.constructor; return u(t) ? this.then(function (e) { return n.resolve(t()).then(function () { return e }) }, function (e) { return n.resolve(t()).then(function () { throw e }) }) : this.then(t, t) }; var N = B; function B(e) { if (this[b] = D++, this._result = this._state = void 0, this._subscribers = [], P !== e) { if ("function" != typeof e) throw new TypeError("You must pass a resolver function as the first argument to the promise constructor"); if (!(this instanceof B)) throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."); var t = this; try { e(function (e) { v(t, e) }, function (e) { S(t, e) }) } catch (e) { S(t, e) } } } return N.prototype.then = g, N.all = function (e) { return new L(this, e).promise }, N.race = function (i) { var o = this; return n(i) ? new o(function (e, t) { for (var n = i.length, r = 0; r < n; r++)o.resolve(i[r]).then(e, t) }) : new o(function (e, t) { return t(new TypeError("You must pass an array to race.")) }) }, N.resolve = y, N.reject = function (e) { var t = new this(P); return S(t, e), t }, N._setScheduler = function (e) { i = e }, N._setAsap = function (e) { a = e }, N._asap = a, N.polyfill = function () { var e = void 0; if (void 0 !== H) e = H; else if ("undefined" != typeof self) e = self; else try { e = Function("return this")() } catch (e) { throw new Error("polyfill failed because global object is unavailable in this environment") } var t = e.Promise; if (t) { var n = null; try { n = Object.prototype.toString.call(t.resolve()) } catch (e) { } if ("[object Promise]" === n && !t.cast) return } e.Promise = N }, N.Promise = N }, "object" == typeof r && void 0 !== n ? n.exports = t() : e.ES6Promise = t()
}.call(this, k("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
}, { _process: 50 }], 50: [function (e, t, n) { var r, i, t = t.exports = {}; function o() { throw new Error("setTimeout has not been defined") } function a() { throw new Error("clearTimeout has not been defined") } try { r = "function" == typeof setTimeout ? setTimeout : o } catch (e) { r = o } try { i = "function" == typeof clearTimeout ? clearTimeout : a } catch (e) { i = a } function s(t) { if (r === setTimeout) return setTimeout(t, 0); if ((r === o || !r) && setTimeout) return (r = setTimeout)(t, 0); try { return r(t, 0) } catch (e) { try { return r.call(null, t, 0) } catch (e) { return r.call(this, t, 0) } } } var u, c = [], l = !1, h = -1; function m() { l && u && (l = !1, u.length ? c = u.concat(c) : h = -1, c.length) && _() } function _() { if (!l) { for (var e = s(m), t = (l = !0, c.length); t;) { for (u = c, c = []; ++h < t;)u && u[h].run(); h = -1, t = c.length } u = null, l = !1, !function (t) { if (i === clearTimeout) return clearTimeout(t); if ((i === a || !i) && clearTimeout) return (i = clearTimeout)(t); try { i(t) } catch (e) { try { return i.call(null, t) } catch (e) { return i.call(this, t) } } }(e) } } function p(e, t) { this.fun = e, this.array = t } function d() { } t.nextTick = function (e) { var t = new Array(arguments.length - 1); if (1 < arguments.length) for (var n = 1; n < arguments.length; n++)t[n - 1] = arguments[n]; c.push(new p(e, t)), 1 !== c.length || l || s(_) }, p.prototype.run = function () { this.fun.apply(null, this.array) }, t.title = "browser", t.browser = !0, t.env = {}, t.argv = [], t.version = "", t.versions = {}, t.on = d, t.addListener = d, t.once = d, t.off = d, t.removeListener = d, t.removeAllListeners = d, t.emit = d, t.prependListener = d, t.prependOnceListener = d, t.listeners = function (e) { return [] }, t.binding = function (e) { throw new Error("process.binding is not supported") }, t.cwd = function () { return "/" }, t.chdir = function (e) { throw new Error("process.chdir is not supported") }, t.umask = function () { return 0 } }, {}], 51: [function (e, O, w) { !function (x) { !function () { var Ho, ko = "Expected a function", ya = "__lodash_hash_undefined__", ba = "__lodash_placeholder__", Wo = 128, qo = 9007199254740991, Pa = NaN, Go = 4294967295, Ta = [["ary", Wo], ["bind", 1], ["bindKey", 2], ["curry", 8], ["curryRight", 16], ["flip", 512], ["partial", 32], ["partialRight", 64], ["rearg", 256]], Vo = "[object Arguments]", Aa = "[object Array]", zo = "[object Boolean]", Ko = "[object Date]", Ia = "[object Error]", Ca = "[object Function]", va = "[object GeneratorFunction]", Qo = "[object Map]", Xo = "[object Number]", $o = "[object Object]", Ra = "[object Promise]", Zo = "[object RegExp]", Jo = "[object Set]", ea = "[object String]", Sa = "[object Symbol]", ta = "[object WeakMap]", xa = "[object ArrayBuffer]", na = "[object DataView]", Oa = "[object Float32Array]", wa = "[object Float64Array]", Da = "[object Int8Array]", Ea = "[object Int16Array]", Ma = "[object Int32Array]", Na = "[object Uint8Array]", Ba = "[object Uint8ClampedArray]", ja = "[object Uint16Array]", Fa = "[object Uint32Array]", Ua = /\b__p \+= '';/g, La = /\b(__p \+=) '' \+/g, Ya = /(__e\(.*?\)|\b__t\)) \+\n'';/g, Ha = /&(?:amp|lt|gt|quot|#39);/g, ka = /[&<>"']/g, Wa = RegExp(Ha.source), qa = RegExp(ka.source), Ga = /<%-([\s\S]+?)%>/g, Va = /<%([\s\S]+?)%>/g, za = /<%=([\s\S]+?)%>/g, Ka = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, Qa = /^\w*$/, Xa = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, $a = /[\\^$.*+?()[\]{}|]/g, Za = RegExp($a.source), Ja = /^\s+|\s+$/g, es = /^\s+/, ts = /\s+$/, ns = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, rs = /\{\n\/\* \[wrapped with (.+)\] \*/, is = /,? & /, os = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, as = /\\(\\)?/g, ss = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, us = /\w*$/, cs = /^[-+]0x[0-9a-f]+$/i, ls = /^0b[01]+$/i, hs = /^\[object .+?Constructor\]$/, ms = /^0o[0-7]+$/i, _s = /^(?:0|[1-9]\d*)$/, ps = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, ds = /($^)/, fs = /['\n\r\u2028\u2029\\]/g, o = "\\ud800-\\udfff", a = "\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff", s = "\\u2700-\\u27bf", e = "a-z\\xdf-\\xf6\\xf8-\\xff", t = "A-Z\\xc0-\\xd6\\xd8-\\xde", u = "\\ufe0e\\ufe0f", c = "\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", l = "['’]", n = "[" + o + "]", h = "[" + c + "]", m = "[" + a + "]", _ = "[" + s + "]", p = "[" + e + "]", c = "[^" + o + c + "\\d+" + s + e + t + "]", s = "\\ud83c[\\udffb-\\udfff]", e = "[^" + o + "]", d = "(?:\\ud83c[\\udde6-\\uddff]){2}", r = "[\\ud800-\\udbff][\\udc00-\\udfff]", t = "[" + t + "]", f = "\\u200d", g = "(?:" + p + "|" + c + ")", c = "(?:" + t + "|" + c + ")", y = "(?:['’](?:d|ll|m|re|s|t|ve))?", b = "(?:['’](?:D|LL|M|RE|S|T|VE))?", P = "(?:" + m + "|" + s + ")" + "?", T = "[" + u + "]?", T = T + P + ("(?:" + f + "(?:" + [e, d, r].join("|") + ")" + T + P + ")*"), P = "(?:" + [_, d, r].join("|") + ")" + T, _ = "(?:" + [e + m + "?", m, d, r, n].join("|") + ")", gs = RegExp(l, "g"), ys = RegExp(m, "g"), A = RegExp(s + "(?=" + s + ")|" + _ + T, "g"), bs = RegExp([t + "?" + p + "+" + y + "(?=" + [h, t, "$"].join("|") + ")", c + "+" + b + "(?=" + [h, t + g, "$"].join("|") + ")", t + "?" + g + "+" + y, t + "+" + b, "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", "\\d+", P].join("|"), "g"), I = RegExp("[" + f + o + a + u + "]"), Ps = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/, Ts = ["Array", "Buffer", "DataView", "Date", "Error", "Float32Array", "Float64Array", "Function", "Int8Array", "Int16Array", "Int32Array", "Map", "Math", "Object", "Promise", "RegExp", "Set", "String", "Symbol", "TypeError", "Uint8Array", "Uint8ClampedArray", "Uint16Array", "Uint32Array", "WeakMap", "_", "clearTimeout", "isFinite", "parseInt", "setTimeout"], As = -1, ra = {}, ia = (ra[Oa] = ra[wa] = ra[Da] = ra[Ea] = ra[Ma] = ra[Na] = ra[Ba] = ra[ja] = ra[Fa] = !0, ra[Vo] = ra[Aa] = ra[xa] = ra[zo] = ra[na] = ra[Ko] = ra[Ia] = ra[Ca] = ra[Qo] = ra[Xo] = ra[$o] = ra[Zo] = ra[Jo] = ra[ea] = ra[ta] = !1, {}), C = (ia[Vo] = ia[Aa] = ia[xa] = ia[na] = ia[zo] = ia[Ko] = ia[Oa] = ia[wa] = ia[Da] = ia[Ea] = ia[Ma] = ia[Qo] = ia[Xo] = ia[$o] = ia[Zo] = ia[Jo] = ia[ea] = ia[Sa] = ia[Na] = ia[Ba] = ia[ja] = ia[Fa] = !0, ia[Ia] = ia[Ca] = ia[ta] = !1, { "\\": "\\", "'": "'", "\n": "n", "\r": "r", "\u2028": "u2028", "\u2029": "u2029" }), Is = parseFloat, Cs = parseInt, e = "object" == typeof x && x && x.Object === Object && x, d = "object" == typeof self && self && self.Object === Object && self, oa = e || d || Function("return this")(), r = "object" == typeof w && w && !w.nodeType && w, i = r && "object" == typeof O && O && !O.nodeType && O, vs = i && i.exports === r, v = vs && e.process, n = function () { try { var e = i && i.require && i.require("util").types; return e ? e : v && v.binding && v.binding("util") } catch (e) { } }(), Rs = n && n.isArrayBuffer, Ss = n && n.isDate, xs = n && n.isMap, Os = n && n.isRegExp, ws = n && n.isSet, Ds = n && n.isTypedArray; function aa(e, t, n) { switch (n.length) { case 0: return e.call(t); case 1: return e.call(t, n[0]); case 2: return e.call(t, n[0], n[1]); case 3: return e.call(t, n[0], n[1], n[2]) }return e.apply(t, n) } function Es(e, t, n, r) { for (var i = -1, o = null == e ? 0 : e.length; ++i < o;) { var a = e[i]; t(r, a, n(a), e) } return r } function sa(e, t) { for (var n = -1, r = null == e ? 0 : e.length; ++n < r && !1 !== t(e[n], n, e);); return e } function Ms(e, t) { for (var n = null == e ? 0 : e.length; n-- && !1 !== t(e[n], n, e);); return e } function Ns(e, t) { for (var n = -1, r = null == e ? 0 : e.length; ++n < r;)if (!t(e[n], n, e)) return !1; return !0 } function ua(e, t) { for (var n = -1, r = null == e ? 0 : e.length, i = 0, o = []; ++n < r;) { var a = e[n]; t(a, n, e) && (o[i++] = a) } return o } function Bs(e, t) { return !!(null == e ? 0 : e.length) && -1 < ha(e, t, 0) } function js(e, t, n) { for (var r = -1, i = null == e ? 0 : e.length; ++r < i;)if (n(t, e[r])) return !0; return !1 } function ca(e, t) { for (var n = -1, r = null == e ? 0 : e.length, i = Array(r); ++n < r;)i[n] = t(e[n], n, e); return i } function la(e, t) { for (var n = -1, r = t.length, i = e.length; ++n < r;)e[i + n] = t[n]; return e } function Fs(e, t, n, r) { var i = -1, o = null == e ? 0 : e.length; for (r && o && (n = e[++i]); ++i < o;)n = t(n, e[i], i, e); return n } function Us(e, t, n, r) { var i = null == e ? 0 : e.length; for (r && i && (n = e[--i]); i--;)n = t(n, e[i], i, e); return n } function Ls(e, t) { for (var n = -1, r = null == e ? 0 : e.length; ++n < r;)if (t(e[n], n, e)) return !0; return !1 } var R = Gs("length"); function Ys(e, r, t) { var i; return t(e, function (e, t, n) { if (r(e, t, n)) return i = t, !1 }), i } function Hs(e, t, n, r) { for (var i = e.length, o = n + (r ? 1 : -1); r ? o-- : ++o < i;)if (t(e[o], o, e)) return o; return -1 } function ha(e, t, n) { if (t != t) return Hs(e, Ws, n); for (var r = e, i = t, o = n - 1, a = r.length; ++o < a;)if (r[o] === i) return o; return -1 } function ks(e, t, n, r) { for (var i = n - 1, o = e.length; ++i < o;)if (r(e[i], t)) return i; return -1 } function Ws(e) { return e != e } function qs(e, t) { var n = null == e ? 0 : e.length; return n ? zs(e, t) / n : Pa } function Gs(t) { return function (e) { return null == e ? Ho : e[t] } } function S(t) { return function (e) { return null == t ? Ho : t[e] } } function Vs(e, r, i, o, t) { return t(e, function (e, t, n) { i = o ? (o = !1, e) : r(i, e, t, n) }), i } function zs(e, t) { for (var n, r = -1, i = e.length; ++r < i;) { var o = t(e[r]); o !== Ho && (n = n === Ho ? o : n + o) } return n } function Ks(e, t) { for (var n = -1, r = Array(e); ++n < e;)r[n] = t(n); return r } function ma(t) { return function (e) { return t(e) } } function Qs(t, e) { return ca(e, function (e) { return t[e] }) } function Xs(e, t) { return e.has(t) } function $s(e, t) { for (var n = -1, r = e.length; ++n < r && -1 < ha(t, e[n], 0);); return n } function Zs(e, t) { for (var n = e.length; n-- && -1 < ha(t, e[n], 0);); return n } var Js = S({ "À": "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", "Ā": "A", "Ă": "A", "Ą": "A", "ā": "a", "ă": "a", "ą": "a", "Ć": "C", "Ĉ": "C", "Ċ": "C", "Č": "C", "ć": "c", "ĉ": "c", "ċ": "c", "č": "c", "Ď": "D", "Đ": "D", "ď": "d", "đ": "d", "Ē": "E", "Ĕ": "E", "Ė": "E", "Ę": "E", "Ě": "E", "ē": "e", "ĕ": "e", "ė": "e", "ę": "e", "ě": "e", "Ĝ": "G", "Ğ": "G", "Ġ": "G", "Ģ": "G", "ĝ": "g", "ğ": "g", "ġ": "g", "ģ": "g", "Ĥ": "H", "Ħ": "H", "ĥ": "h", "ħ": "h", "Ĩ": "I", "Ī": "I", "Ĭ": "I", "Į": "I", "İ": "I", "ĩ": "i", "ī": "i", "ĭ": "i", "į": "i", "ı": "i", "Ĵ": "J", "ĵ": "j", "Ķ": "K", "ķ": "k", "ĸ": "k", "Ĺ": "L", "Ļ": "L", "Ľ": "L", "Ŀ": "L", "Ł": "L", "ĺ": "l", "ļ": "l", "ľ": "l", "ŀ": "l", "ł": "l", "Ń": "N", "Ņ": "N", "Ň": "N", "Ŋ": "N", "ń": "n", "ņ": "n", "ň": "n", "ŋ": "n", "Ō": "O", "Ŏ": "O", "Ő": "O", "ō": "o", "ŏ": "o", "ő": "o", "Ŕ": "R", "Ŗ": "R", "Ř": "R", "ŕ": "r", "ŗ": "r", "ř": "r", "Ś": "S", "Ŝ": "S", "Ş": "S", "Š": "S", "ś": "s", "ŝ": "s", "ş": "s", "š": "s", "Ţ": "T", "Ť": "T", "Ŧ": "T", "ţ": "t", "ť": "t", "ŧ": "t", "Ũ": "U", "Ū": "U", "Ŭ": "U", "Ů": "U", "Ű": "U", "Ų": "U", "ũ": "u", "ū": "u", "ŭ": "u", "ů": "u", "ű": "u", "ų": "u", "Ŵ": "W", "ŵ": "w", "Ŷ": "Y", "ŷ": "y", "Ÿ": "Y", "Ź": "Z", "Ż": "Z", "Ž": "Z", "ź": "z", "ż": "z", "ž": "z", "IJ": "IJ", "ij": "ij", "Œ": "Oe", "œ": "oe", "ʼn": "'n", "ſ": "s" }), eu = S({ "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }); function tu(e) { return "\\" + C[e] } function _a(e) { return I.test(e) } function nu(e) { var n = -1, r = Array(e.size); return e.forEach(function (e, t) { r[++n] = [t, e] }), r } function ru(t, n) { return function (e) { return t(n(e)) } } function pa(e, t) { for (var n = -1, r = e.length, i = 0, o = []; ++n < r;) { var a = e[n]; a !== t && a !== ba || (e[n] = ba, o[i++] = n) } return o } function iu(e) { var t = -1, n = Array(e.size); return e.forEach(function (e) { n[++t] = e }), n } function da(e) { return (_a(e) ? function (e) { var t = A.lastIndex = 0; for (; A.test(e);)++t; return t } : R)(e) } function fa(e) { return _a(e) ? e.match(A) || [] : e.split("") } var ou = S({ "&": "&", "<": "<", ">": ">", """: '"', "'": "'" }); var ga = function i(e) { var A = (e = null == e ? oa : ga.defaults(oa.Object(), e, ga.pick(oa, Ts))).Array, o = e.Date, E = e.Error, M = e.Function, N = e.Math, d = e.Object, B = e.RegExp, k = e.String, I = e.TypeError, W = A.prototype, q = M.prototype, G = d.prototype, V = e["__core-js_shared__"], z = q.toString, j = G.hasOwnProperty, K = 0, Q = (q = /[^.]+$/.exec(V && V.keys && V.keys.IE_PROTO || "")) ? "Symbol(src)_1." + q : "", X = G.toString, $ = z.call(d), Z = oa._, J = B("^" + z.call(j).replace($a, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"), q = vs ? e.Buffer : Ho, t = e.Symbol, ee = e.Uint8Array, te = q ? q.allocUnsafe : Ho, ne = ru(d.getPrototypeOf, d), re = d.create, ie = G.propertyIsEnumerable, oe = W.splice, ae = t ? t.isConcatSpreadable : Ho, se = t ? t.iterator : Ho, ue = t ? t.toStringTag : Ho, ce = function () { try { var e = Zn(d, "defineProperty"); return e({}, "", {}), e } catch (e) { } }(), le = e.clearTimeout !== oa.clearTimeout && e.clearTimeout, he = o && o.now !== oa.Date.now && o.now, me = e.setTimeout !== oa.setTimeout && e.setTimeout, _e = N.ceil, pe = N.floor, de = d.getOwnPropertySymbols, q = q ? q.isBuffer : Ho, fe = e.isFinite, ge = W.join, ye = ru(d.keys, d), C = N.max, v = N.min, be = o.now, Pe = e.parseInt, Te = N.random, Ae = W.reverse, o = Zn(e, "DataView"), Ie = Zn(e, "Map"), Ce = Zn(e, "Promise"), ve = Zn(e, "Set"), e = Zn(e, "WeakMap"), Re = Zn(d, "create"), Se = e && new e, xe = {}, Oe = Ir(o), we = Ir(Ie), De = Ir(Ce), Ee = Ir(ve), Me = Ir(e), t = t ? t.prototype : Ho, Ne = t ? t.valueOf : Ho, Be = t ? t.toString : Ho; function p(e) { if (H(e) && !Y(e) && !(e instanceof g)) { if (e instanceof f) return e; if (j.call(e, "__wrapped__")) return Cr(e) } return new f(e) } var je = function (e) { if (!T(e)) return {}; if (re) return re(e); Fe.prototype = e; e = new Fe; return Fe.prototype = Ho, e }; function Fe() { } function Ue() { } function f(e, t) { this.__wrapped__ = e, this.__actions__ = [], this.__chain__ = !!t, this.__index__ = 0, this.__values__ = Ho } function g(e) { this.__wrapped__ = e, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = Go, this.__views__ = [] } function Le(e) { var t = -1, n = null == e ? 0 : e.length; for (this.clear(); ++t < n;) { var r = e[t]; this.set(r[0], r[1]) } } function Ye(e) { var t = -1, n = null == e ? 0 : e.length; for (this.clear(); ++t < n;) { var r = e[t]; this.set(r[0], r[1]) } } function He(e) { var t = -1, n = null == e ? 0 : e.length; for (this.clear(); ++t < n;) { var r = e[t]; this.set(r[0], r[1]) } } function ke(e) { var t = -1, n = null == e ? 0 : e.length; for (this.__data__ = new He; ++t < n;)this.add(e[t]) } function F(e) { e = this.__data__ = new Ye(e); this.size = e.size } function We(e, t) { var n, r = Y(e), i = !r && gi(e), o = !r && !i && bi(e), a = !r && !i && !o && wi(e), s = r || i || o || a, u = s ? Ks(e.length, k) : [], c = u.length; for (n in e) !t && !j.call(e, n) || s && ("length" == n || o && ("offset" == n || "parent" == n) || a && ("buffer" == n || "byteLength" == n || "byteOffset" == n) || ir(n, c)) || u.push(n); return u } function qe(e) { var t = e.length; return t ? e[Ut(0, t - 1)] : Ho } function Ge(e, t) { return br(R(e), et(t, 0, e.length)) } function Ve(e) { return br(R(e)) } function ze(e, t, n) { (n === Ho || L(e[t], n)) && (n !== Ho || t in e) || Ze(e, t, n) } function Ke(e, t, n) { var r = e[t]; j.call(e, t) && L(r, n) && (n !== Ho || t in e) || Ze(e, t, n) } function Qe(e, t) { for (var n = e.length; n--;)if (L(e[n][0], t)) return n; return -1 } function Xe(e, r, i, o) { return it(e, function (e, t, n) { r(o, e, i(e), n) }), o } function $e(e, t) { return e && fn(t, O(t), e) } function Ze(e, t, n) { "__proto__" == t && ce ? ce(e, t, { configurable: !0, enumerable: !0, value: n, writable: !0 }) : e[t] = n } function Je(e, t) { for (var n = -1, r = t.length, i = A(r), o = null == e; ++n < r;)i[n] = o ? Ho : qi(e, t[n]); return i } function et(e, t, n) { return e = e == e && (n !== Ho && (e = e <= n ? e : n), t !== Ho) ? t <= e ? e : t : e } function y(n, r, i, e, t, o) { var a, s = 1 & r, u = 2 & r, c = 4 & r; if ((a = i ? t ? i(n, e, t, o) : i(n) : a) === Ho) { if (!T(n)) return n; var l, e = Y(n); if (e) { if (a = function (e) { var t = e.length, n = new e.constructor(t); t && "string" == typeof e[0] && j.call(e, "index") && (n.index = e.index, n.input = e.input); return n }(n), !s) return R(n, a) } else { var h = U(n), m = h == Ca || h == va; if (bi(n)) return ln(n, s); if (h == $o || h == Vo || m && !t) { if (a = u || m ? {} : nr(n), !s) return u ? (_ = m = n, _ = (l = a) && fn(_, w(_), l), fn(m, er(m), _)) : (m = $e(a, l = n), fn(l, Jn(l), m)) } else { if (!ia[h]) return t ? n : {}; a = function (e, t, n) { var r = e.constructor; switch (t) { case xa: return hn(e); case zo: case Ko: return new r(+e); case na: return function (e, t) { t = t ? hn(e.buffer) : e.buffer; return new e.constructor(t, e.byteOffset, e.byteLength) }(e, n); case Oa: case wa: case Da: case Ea: case Ma: case Na: case Ba: case ja: case Fa: return mn(e, n); case Qo: return new r; case Xo: case ea: return new r(e); case Zo: return function (e) { var t = new e.constructor(e.source, us.exec(e)); return t.lastIndex = e.lastIndex, t }(e); case Jo: return new r; case Sa: return function (e) { return Ne ? d(Ne.call(e)) : {} }(e) } }(n, h, s) } } var _ = (o = o || new F).get(n); if (_) return _; o.set(n, a), xi(n) ? n.forEach(function (e) { a.add(y(e, r, i, e, n, o)) }) : Ci(n) && n.forEach(function (e, t) { a.set(t, y(e, r, i, t, n, o)) }); var p = e ? Ho : (c ? u ? Vn : Gn : u ? w : O)(n); sa(p || n, function (e, t) { p && (e = n[t = e]), Ke(a, t, y(e, r, i, t, n, o)) }) } return a } function tt(e, t, n) { var r = n.length; if (null == e) return !r; for (e = d(e); r--;) { var i = n[r], o = t[i], a = e[i]; if (a === Ho && !(i in e) || !o(a)) return !1 } return !0 } function nt(e, t, n) { if ("function" != typeof e) throw new I(ko); return dr(function () { e.apply(Ho, n) }, t) } function rt(e, t, n, r) { var i = -1, o = Bs, a = !0, s = e.length, u = [], c = t.length; if (s) { n && (t = ca(t, ma(n))), r ? (o = js, a = !1) : 200 <= t.length && (o = Xs, a = !1, t = new ke(t)); e: for (; ++i < s;) { var l = e[i], h = null == n ? l : n(l), l = r || 0 !== l ? l : 0; if (a && h == h) { for (var m = c; m--;)if (t[m] === h) continue e; u.push(l) } else o(t, h, r) || u.push(l) } } return u } p.templateSettings = { escape: Ga, evaluate: Va, interpolate: za, variable: "", imports: { _: p } }, (p.prototype = Ue.prototype).constructor = p, (f.prototype = je(Ue.prototype)).constructor = f, (g.prototype = je(Ue.prototype)).constructor = g, Le.prototype.clear = function () { this.__data__ = Re ? Re(null) : {}, this.size = 0 }, Le.prototype.delete = function (e) { return e = this.has(e) && delete this.__data__[e], this.size -= e ? 1 : 0, e }, Le.prototype.get = function (e) { var t, n = this.__data__; return Re ? (t = n[e]) === ya ? Ho : t : j.call(n, e) ? n[e] : Ho }, Le.prototype.has = function (e) { var t = this.__data__; return Re ? t[e] !== Ho : j.call(t, e) }, Le.prototype.set = function (e, t) { var n = this.__data__; return this.size += this.has(e) ? 0 : 1, n[e] = Re && t === Ho ? ya : t, this }, Ye.prototype.clear = function () { this.__data__ = [], this.size = 0 }, Ye.prototype.delete = function (e) { var t = this.__data__; return !((e = Qe(t, e)) < 0 || (e == t.length - 1 ? t.pop() : oe.call(t, e, 1), --this.size, 0)) }, Ye.prototype.get = function (e) { var t = this.__data__; return (e = Qe(t, e)) < 0 ? Ho : t[e][1] }, Ye.prototype.has = function (e) { return -1 < Qe(this.__data__, e) }, Ye.prototype.set = function (e, t) { var n = this.__data__, r = Qe(n, e); return r < 0 ? (++this.size, n.push([e, t])) : n[r][1] = t, this }, He.prototype.clear = function () { this.size = 0, this.__data__ = { hash: new Le, map: new (Ie || Ye), string: new Le } }, He.prototype.delete = function (e) { return e = Xn(this, e).delete(e), this.size -= e ? 1 : 0, e }, He.prototype.get = function (e) { return Xn(this, e).get(e) }, He.prototype.has = function (e) { return Xn(this, e).has(e) }, He.prototype.set = function (e, t) { var n = Xn(this, e), r = n.size; return n.set(e, t), this.size += n.size == r ? 0 : 1, this }, ke.prototype.add = ke.prototype.push = function (e) { return this.__data__.set(e, ya), this }, ke.prototype.has = function (e) { return this.__data__.has(e) }, F.prototype.clear = function () { this.__data__ = new Ye, this.size = 0 }, F.prototype.delete = function (e) { var t = this.__data__, e = t.delete(e); return this.size = t.size, e }, F.prototype.get = function (e) { return this.__data__.get(e) }, F.prototype.has = function (e) { return this.__data__.has(e) }, F.prototype.set = function (e, t) { var n = this.__data__; if (n instanceof Ye) { var r = n.__data__; if (!Ie || r.length < 199) return r.push([e, t]), this.size = ++n.size, this; n = this.__data__ = new He(r) } return n.set(e, t), this.size = n.size, this }; var it = bn(ht), ot = bn(mt, !0); function at(e, r) { var i = !0; return it(e, function (e, t, n) { return i = !!r(e, t, n) }), i } function st(e, t, n) { for (var r = -1, i = e.length; ++r < i;) { var o, a, s = e[r], u = t(s); null != u && (o === Ho ? u == u && !b(u) : n(u, o)) && (o = u, a = s) } return a } function ut(e, r) { var i = []; return it(e, function (e, t, n) { r(e, t, n) && i.push(e) }), i } function u(e, t, n, r, i) { var o = -1, a = e.length; for (n = n || rr, i = i || []; ++o < a;) { var s = e[o]; 0 < t && n(s) ? 1 < t ? u(s, t - 1, n, r, i) : la(i, s) : r || (i[i.length] = s) } return i } var ct = Pn(), lt = Pn(!0); function ht(e, t) { return e && ct(e, t, O) } function mt(e, t) { return e && lt(e, t, O) } function _t(t, e) { return ua(e, function (e) { return Ti(t[e]) }) } function pt(e, t) { for (var n = 0, r = (t = an(t, e)).length; null != e && n < r;)e = e[Ar(t[n++])]; return n && n == r ? e : Ho } function dt(e, t, n) { t = t(e); return Y(e) ? t : la(t, n(e)) } function n(e) { if (null == e) return e === Ho ? "[object Undefined]" : "[object Null]"; if (ue && ue in d(e)) { var t = e, n = j.call(t, ue), r = t[ue]; try { t[ue] = Ho; var i = !0 } catch (e) { } var o = X.call(t); return i && (n ? t[ue] = r : delete t[ue]), o } return X.call(e) } function ft(e, t) { return t < e } function gt(e, t) { return null != e && j.call(e, t) } function yt(e, t) { return null != e && t in d(e) } function bt(e, t, n) { for (var r = n ? js : Bs, i = e[0].length, o = e.length, a = o, s = A(o), u = 1 / 0, c = []; a--;) { var l = e[a]; a && t && (l = ca(l, ma(t))), u = v(l.length, u), s[a] = !n && (t || 120 <= i && 120 <= l.length) ? new ke(a && l) : Ho } var l = e[0], h = -1, m = s[0]; e: for (; ++h < i && c.length < u;) { var _ = l[h], p = t ? t(_) : _, _ = n || 0 !== _ ? _ : 0; if (!(m ? Xs(m, p) : r(c, p, n))) { for (a = o; --a;) { var d = s[a]; if (!(d ? Xs(d, p) : r(e[a], p, n))) continue e } m && m.push(p), c.push(_) } } return c } function Pt(e, t, n) { t = null == (e = mr(e, t = an(t, e))) ? e : e[Ar(r(t))]; return null == t ? Ho : aa(t, e, n) } function Tt(e) { return H(e) && n(e) == Vo } function At(e, t, n, r, i) { if (e === t) return !0; if (null == e || null == t || !H(e) && !H(t)) return e != e && t != t; var o = At, a = Y(e), s = Y(t), u = a ? Aa : U(e), s = s ? Aa : U(t), c = (u = u == Vo ? $o : u) == $o, l = (s = s == Vo ? $o : s) == $o; if ((s = u == s) && bi(e)) { if (!bi(t)) return !1; c = !(a = !0) } if (s && !c) { i = i || new F; if (a || wi(e)) return Wn(e, t, n, r, o, i); else { var h = e; var m = t; var _ = u; var p = n; var d = r; var f = o; var g = i; switch (_) { case na: if (h.byteLength != m.byteLength || h.byteOffset != m.byteOffset) return !1; h = h.buffer, m = m.buffer; case xa: return h.byteLength == m.byteLength && f(new ee(h), new ee(m)) ? !0 : !1; case zo: case Ko: case Xo: return L(+h, +m); case Ia: return h.name == m.name && h.message == m.message; case Zo: case ea: return h == m + ""; case Qo: var y = nu; case Jo: var b = 1 & p; if (y = y || iu, h.size != m.size && !b) return !1; b = g.get(h); if (b) return b == m; p |= 2, g.set(h, m); b = Wn(y(h), y(m), p, d, f, g); return g.delete(h), b; case Sa: if (Ne) return Ne.call(h) == Ne.call(m) }return !1; return } } if (!(1 & n)) { var a = c && j.call(e, "__wrapped__"), u = l && j.call(t, "__wrapped__"); if (a || u) return c = a ? e.value() : e, l = u ? t.value() : t, i = i || new F, o(c, l, n, r, i) } if (s) { i = i || new F; var P = e, T = t, A = n, I = r, C = o, v = i, R = 1 & A, S = Gn(P), x = S.length, a = Gn(T).length; if (x != a && !R) return !1; for (var O = x; O--;) { var w = S[O]; if (!(R ? w in T : j.call(T, w))) return !1 } if ((a = v.get(P)) && v.get(T)) return a == T; for (var D = !0, E = (v.set(P, T), v.set(T, P), R); ++O < x;) { w = S[O]; var M, N = P[w], B = T[w]; if (!((M = I ? R ? I(B, N, w, T, P, v) : I(N, B, w, P, T, v) : M) === Ho ? N === B || C(N, B, A, I, v) : M)) { D = !1; break } E = E || "constructor" == w } return D && !E && (a = P.constructor, u = T.constructor, a != u) && "constructor" in P && "constructor" in T && !("function" == typeof a && a instanceof a && "function" == typeof u && u instanceof u) && (D = !1), v.delete(P), v.delete(T), D } return !1 } function It(e, t, n, r) { var i = n.length, o = i, a = !r; if (null == e) return !o; for (e = d(e); i--;) { var s = n[i]; if (a && s[2] ? s[1] !== e[s[0]] : !(s[0] in e)) return !1 } for (; ++i < o;) { var u = (s = n[i])[0], c = e[u], l = s[1]; if (a && s[2]) { if (c === Ho && !(u in e)) return !1 } else { var h, m = new F; if (!((h = r ? r(c, l, u, e, t, m) : h) === Ho ? At(l, c, 3, r, m) : h)) return !1 } } return !0 } function Ct(e) { var t; return !(!T(e) || (t = e, Q && Q in t)) && (Ti(e) ? J : hs).test(Ir(e)) } function vt(e) { return "function" == typeof e ? e : null == e ? D : "object" == typeof e ? Y(e) ? Dt(e[0], e[1]) : wt(e) : xo(e) } function Rt(e) { if (!ur(e)) return ye(e); var t, n = []; for (t in d(e)) j.call(e, t) && "constructor" != t && n.push(t); return n } function St(e) { if (!T(e)) { var t = e, n = []; if (null != t) for (var r in d(t)) n.push(r); return n } var i, o = ur(e), a = []; for (i in e) ("constructor" != i || !o && j.call(e, i)) && a.push(i); return a } function xt(e, t) { return e < t } function Ot(e, r) { var i = -1, o = l(e) ? A(e.length) : []; return it(e, function (e, t, n) { o[++i] = r(e, t, n) }), o } function wt(t) { var n = $n(t); return 1 == n.length && n[0][2] ? lr(n[0][0], n[0][1]) : function (e) { return e === t || It(e, t, n) } } function Dt(n, r) { return or(n) && cr(r) ? lr(Ar(n), r) : function (e) { var t = qi(e, n); return t === Ho && t === r ? Gi(e, n) : At(r, t, 3) } } function Et(d, f, g, y, b) { d !== f && ct(f, function (e, t) { var n, r, i, o, a, s, u, c, l, h, m, _, p; b = b || new F, T(e) ? (r = f, o = g, a = Et, s = y, u = b, m = _r(n = d, i = t), _ = _r(r, i), (p = u.get(_)) ? ze(n, i, p) : (p = s ? s(m, _, i + "", n, r, u) : Ho, (r = p === Ho) && (c = Y(_), l = !c && bi(_), h = !c && !l && wi(_), p = _, c || l || h ? p = Y(m) ? m : P(m) ? R(m) : l ? ln(_, !(r = !1)) : h ? mn(_, !(r = !1)) : [] : Ri(_) || gi(_) ? gi(p = m) ? p = ji(m) : T(m) && !Ti(m) || (p = nr(_)) : r = !1), r && (u.set(_, p), a(p, _, o, s, u), u.delete(_)), ze(n, i, p))) : (c = y ? y(_r(d, t), e, t + "", d, f, b) : Ho, ze(d, t, c = c === Ho ? e : c)) }, w) } function Mt(e, t) { var n = e.length; if (n) return ir(t += t < 0 ? n : 0, n) ? e[t] : Ho } function Nt(e, r, l) { var i = -1; r = ca(r.length ? r : [D], ma(h())); var t = Ot(e, function (t, e, n) { return { criteria: ca(r, function (e) { return e(t) }), index: ++i, value: t } }), e = function (e, t) { for (var n = l, r = -1, i = e.criteria, o = t.criteria, a = i.length, s = n.length; ++r < a;) { var u, c = _n(i[r], o[r]); if (c) return s <= r ? c : (u = n[r], c * ("desc" == u ? -1 : 1)) } return e.index - t.index }, n = t.length; for (t.sort(e); n--;)t[n] = t[n].value; return t } function Bt(e, t, n) { for (var r = -1, i = t.length, o = {}; ++r < i;) { var a = t[r], s = pt(e, a); n(s, a) && kt(o, an(a, e), s) } return o } function jt(e, t, n, r) { var i = r ? ks : ha, o = -1, a = t.length, s = e; for (e === t && (t = R(t)), n && (s = ca(e, ma(n))); ++o < a;)for (var u = 0, c = t[o], l = n ? n(c) : c; -1 < (u = i(s, l, u, r));)s !== e && oe.call(s, u, 1), oe.call(e, u, 1); return e } function Ft(e, t) { for (var n = e ? t.length : 0, r = n - 1; n--;) { var i, o = t[n]; n != r && o === i || (ir(i = o) ? oe.call(e, o, 1) : $t(e, o)) } } function Ut(e, t) { return e + pe(Te() * (t - e + 1)) } function Lt(e, t) { var n = ""; if (!(!e || t < 1 || qo < t)) for (; t % 2 && (n += e), (t = pe(t / 2)) && (e += e), t;); return n } function a(e, t) { return fr(hr(e, t, D), e + "") } function Yt(e) { return qe(no(e)) } function Ht(e, t) { e = no(e); return br(e, et(t, 0, e.length)) } function kt(e, t, n, r) { if (T(e)) for (var i = -1, o = (t = an(t, e)).length, a = o - 1, s = e; null != s && ++i < o;) { var u, c = Ar(t[i]), l = n; Ke(s, c, l = i != a && (u = s[c], (l = r ? r(u, c, s) : Ho) === Ho) ? T(u) ? u : ir(t[i + 1]) ? [] : {} : l), s = s[c] } return e } var Wt = Se ? function (e, t) { return Se.set(e, t), e } : D, t = ce ? function (e, t) { return ce(e, "toString", { configurable: !0, enumerable: !1, value: go(t), writable: !0 }) } : D; function qt(e) { return br(no(e)) } function s(e, t, n) { for (var r = -1, i = e.length, o = ((n = i < n ? i : n) < 0 && (n += i), i = n < (t = t < 0 ? i < -t ? 0 : i + t : t) ? 0 : n - t >>> 0, t >>>= 0, A(i)); ++r < i;)o[r] = e[r + t]; return o } function Gt(e, r) { var i; return it(e, function (e, t, n) { return !(i = r(e, t, n)) }), !!i } function Vt(e, t, n) { var r = 0, i = null == e ? r : e.length; if ("number" == typeof t && t == t && i <= 2147483647) { for (; r < i;) { var o = r + i >>> 1, a = e[o]; null !== a && !b(a) && (n ? a <= t : a < t) ? r = 1 + o : i = o } return i } return zt(e, t, D, n) } function zt(e, t, n, r) { t = n(t); for (var i = 0, o = null == e ? 0 : e.length, a = t != t, s = null === t, u = b(t), c = t === Ho; i < o;) { var l = pe((i + o) / 2), h = n(e[l]), m = h !== Ho, _ = null === h, p = h == h, d = b(h), p = a ? r || p : c ? p && (r || m) : s ? p && m && (r || !_) : u ? p && m && !_ && (r || !d) : !_ && !d && (r ? h <= t : h < t); p ? i = l + 1 : o = l } return v(o, 4294967294) } function Kt(e, t) { for (var n = -1, r = e.length, i = 0, o = []; ++n < r;) { var a, s = e[n], u = t ? t(s) : s; n && L(u, a) || (a = u, o[i++] = 0 === s ? 0 : s) } return o } function Qt(e) { return "number" == typeof e ? e : b(e) ? Pa : +e } function c(e) { var t; return "string" == typeof e ? e : Y(e) ? ca(e, c) + "" : b(e) ? Be ? Be.call(e) : "" : "0" == (t = e + "") && 1 / e == -1 / 0 ? "-0" : t } function Xt(e, t, n) { var r = -1, i = Bs, o = e.length, a = !0, s = [], u = s; if (n) a = !1, i = js; else if (200 <= o) { var c = t ? null : Fn(e); if (c) return iu(c); a = !1, i = Xs, u = new ke } else u = t ? [] : s; e: for (; ++r < o;) { var l = e[r], h = t ? t(l) : l, l = n || 0 !== l ? l : 0; if (a && h == h) { for (var m = u.length; m--;)if (u[m] === h) continue e; t && u.push(h), s.push(l) } else i(u, h, n) || (u !== s && u.push(h), s.push(l)) } return s } function $t(e, t) { return null == (e = mr(e, t = an(t, e))) || delete e[Ar(r(t))] } function Zt(e, t, n, r) { return kt(e, t, n(pt(e, t)), r) } function Jt(e, t, n, r) { for (var i = e.length, o = r ? i : -1; (r ? o-- : ++o < i) && t(e[o], o, e);); return n ? s(e, r ? 0 : o, r ? o + 1 : i) : s(e, r ? o + 1 : 0, r ? i : o) } function en(e, t) { var n = e; return Fs(t, function (e, t) { return t.func.apply(t.thisArg, la([e], t.args)) }, n = e instanceof g ? e.value() : n) } function tn(e, t, n) { var r = e.length; if (r < 2) return r ? Xt(e[0]) : []; for (var i = -1, o = A(r); ++i < r;)for (var a = e[i], s = -1; ++s < r;)s != i && (o[i] = rt(o[i] || a, e[s], t, n)); return Xt(u(o, 1), t, n) } function nn(e, t, n) { for (var r = -1, i = e.length, o = t.length, a = {}; ++r < i;) { var s = r < o ? t[r] : Ho; n(a, e[r], s) } return a } function rn(e) { return P(e) ? e : [] } function on(e) { return "function" == typeof e ? e : D } function an(e, t) { return Y(e) ? e : or(e, t) ? [e] : Tr(_(e)) } var sn = a; function un(e, t, n) { var r = e.length; return n = n === Ho ? r : n, !t && r <= n ? e : s(e, t, n) } var cn = le || function (e) { return oa.clearTimeout(e) }; function ln(e, t) { return t ? e.slice() : (t = e.length, t = te ? te(t) : new e.constructor(t), e.copy(t), t) } function hn(e) { var t = new e.constructor(e.byteLength); return new ee(t).set(new ee(e)), t } function mn(e, t) { t = t ? hn(e.buffer) : e.buffer; return new e.constructor(t, e.byteOffset, e.length) } function _n(e, t) { if (e !== t) { var n = e !== Ho, r = null === e, i = e == e, o = b(e), a = t !== Ho, s = null === t, u = t == t, c = b(t); if (!s && !c && !o && t < e || o && a && u && !s && !c || r && a && u || !n && u || !i) return 1; if (!r && !o && !c && e < t || c && n && i && !r && !o || s && n && i || !a && i || !u) return -1 } return 0 } function pn(e, t, n, r) { for (var i = -1, o = e.length, a = n.length, s = -1, u = t.length, c = C(o - a, 0), l = A(u + c), h = !r; ++s < u;)l[s] = t[s]; for (; ++i < a;)(h || i < o) && (l[n[i]] = e[i]); for (; c--;)l[s++] = e[i++]; return l } function dn(e, t, n, r) { for (var i = -1, o = e.length, a = -1, s = n.length, u = -1, c = t.length, l = C(o - s, 0), h = A(l + c), m = !r; ++i < l;)h[i] = e[i]; for (var _ = i; ++u < c;)h[_ + u] = t[u]; for (; ++a < s;)(m || i < o) && (h[_ + n[a]] = e[i++]); return h } function R(e, t) { var n = -1, r = e.length; for (t = t || A(r); ++n < r;)t[n] = e[n]; return t } function fn(e, t, n, r) { for (var i = !n, o = (n = n || {}, -1), a = t.length; ++o < a;) { var s = t[o], u = r ? r(n[s], e[s], s, n, e) : Ho; (i ? Ze : Ke)(n, s, u = u === Ho ? e[s] : u) } return n } function gn(i, o) { return function (e, t) { var n = Y(e) ? Es : Xe, r = o ? o() : {}; return n(e, i, h(t, 2), r) } } function yn(s) { return a(function (e, t) { var n = -1, r = t.length, i = 1 < r ? t[r - 1] : Ho, o = 2 < r ? t[2] : Ho, i = 3 < s.length && "function" == typeof i ? (r--, i) : Ho; for (o && m(t[0], t[1], o) && (i = r < 3 ? Ho : i, r = 1), e = d(e); ++n < r;) { var a = t[n]; a && s(e, a, n, i) } return e }) } function bn(o, a) { return function (e, t) { if (null != e) { if (!l(e)) return o(e, t); for (var n = e.length, r = a ? n : -1, i = d(e); (a ? r-- : ++r < n) && !1 !== t(i[r], r, i);); } return e } } function Pn(u) { return function (e, t, n) { for (var r = -1, i = d(e), o = n(e), a = o.length; a--;) { var s = o[u ? a : ++r]; if (!1 === t(i[s], s, i)) break } return e } } function Tn(r) { return function (e) { var t = _a(e = _(e)) ? fa(e) : Ho, n = t ? t[0] : e.charAt(0), t = t ? un(t, 1).join("") : e.slice(1); return n[r]() + t } } function An(t) { return function (e) { return Fs(_o(oo(e).replace(gs, "")), t, "") } } function In(r) { return function () { var e = arguments; switch (e.length) { case 0: return new r; case 1: return new r(e[0]); case 2: return new r(e[0], e[1]); case 3: return new r(e[0], e[1], e[2]); case 4: return new r(e[0], e[1], e[2], e[3]); case 5: return new r(e[0], e[1], e[2], e[3], e[4]); case 6: return new r(e[0], e[1], e[2], e[3], e[4], e[5]); case 7: return new r(e[0], e[1], e[2], e[3], e[4], e[5], e[6]) }var t = je(r.prototype), n = r.apply(t, e); return T(n) ? n : t } } function Cn(o, a, s) { var u = In(o); return function e() { for (var t = arguments.length, n = A(t), r = t, i = Qn(e); r--;)n[r] = arguments[r]; i = t < 3 && n[0] !== i && n[t - 1] !== i ? [] : pa(n, i); return (t -= i.length) < s ? Bn(o, a, Sn, e.placeholder, Ho, n, i, Ho, Ho, s - t) : aa(this && this !== oa && this instanceof e ? u : o, this, n) } } function vn(o) { return function (e, t, n) { var r, i = d(e), t = (l(e) || (r = h(t, 3), e = O(e), t = function (e) { return r(i[e], e, i) }), o(e, t, n)); return -1 < t ? i[r ? e[t] : t] : Ho } } function Rn(u) { return qn(function (i) { var o = i.length, e = o, t = f.prototype.thru; for (u && i.reverse(); e--;) { var n = i[e]; if ("function" != typeof n) throw new I(ko); t && !s && "wrapper" == Kn(n) && (s = new f([], !0)) } for (e = s ? e : o; ++e < o;)var r = Kn(n = i[e]), a = "wrapper" == r ? zn(n) : Ho, s = a && ar(a[0]) && 424 == a[1] && !a[4].length && 1 == a[9] ? s[Kn(a[0])].apply(s, a[3]) : 1 == n.length && ar(n) ? s[r]() : s.thru(n); return function () { var e = arguments, t = e[0]; if (s && 1 == e.length && Y(t)) return s.plant(t).value(); for (var n = 0, r = o ? i[n].apply(this, e) : t; ++n < o;)r = i[n].call(this, r); return r } }) } function Sn(a, s, u, c, l, h, m, _, p, d) { var f = s & Wo, g = 1 & s, y = 2 & s, b = 24 & s, P = 512 & s, T = y ? Ho : In(a); return function e() { for (var t, n, r, i = A(r = arguments.length), o = r; o--;)i[o] = arguments[o]; return b && (n = function (e, t) { for (var n = e.length, r = 0; n--;)e[n] === t && ++r; return r }(i, t = Qn(e))), c && (i = pn(i, c, l, b)), h && (i = dn(i, h, m, b)), r -= n, b && r < d ? (n = pa(i, t), Bn(a, s, Sn, e.placeholder, u, i, n, _, p, d - r)) : (t = g ? u : this, n = y ? t[a] : a, r = i.length, _ ? i = function (e, t) { for (var n = e.length, r = v(t.length, n), i = R(e); r--;) { var o = t[r]; e[r] = ir(o, n) ? i[o] : Ho } return e }(i, _) : P && 1 < r && i.reverse(), f && p < r && (i.length = p), (n = this && this !== oa && this instanceof e ? T || In(n) : n).apply(t, i)) } } function xn(n, a) { return function (e, t) { return e = e, r = n, i = a(t), o = {}, ht(e, function (e, t, n) { r(o, i(e), t, n) }), o; var r, i, o } } function On(r, i) { return function (e, t) { var n; if (e === Ho && t === Ho) return i; if (e !== Ho && (n = e), t !== Ho) { if (n === Ho) return t; t = ("string" == typeof e || "string" == typeof t ? (e = c(e), c) : (e = Qt(e), Qt))(t), n = r(e, t) } return n } } function wn(r) { return qn(function (e) { return e = ca(e, ma(h())), a(function (t) { var n = this; return r(e, function (e) { return aa(e, n, t) }) }) }) } function Dn(e, t) { var n = (t = t === Ho ? " " : c(t)).length; return n < 2 ? n ? Lt(t, e) : t : (n = Lt(t, _e(e / da(t))), _a(t) ? un(fa(n), 0, e).join("") : n.slice(0, e)) } function En(s, e, u, c) { var l = 1 & e, h = In(s); return function e() { for (var t = -1, n = arguments.length, r = -1, i = c.length, o = A(i + n), a = this && this !== oa && this instanceof e ? h : s; ++r < i;)o[r] = c[r]; for (; n--;)o[r++] = arguments[++t]; return aa(a, l ? u : this, o) } } function Mn(c) { return function (e, t, n) { n && "number" != typeof n && m(e, t, n) && (t = n = Ho), e = Ni(e), t === Ho ? (t = e, e = 0) : t = Ni(t), n = n === Ho ? e < t ? 1 : -1 : Ni(n); for (var r = e, i = n, o = c, a = -1, s = C(_e((t - r) / (i || 1)), 0), u = A(s); s--;)u[o ? s : ++a] = r, r += i; return u } } function Nn(n) { return function (e, t) { return "string" == typeof e && "string" == typeof t || (e = x(e), t = x(t)), n(e, t) } } function Bn(e, t, n, r, i, o, a, s, u, c) { var l = 8 & t, i = (4 & (t = (t | (l ? 32 : 64)) & ~(l ? 64 : 32)) || (t &= -4), [e, t, i, l ? o : Ho, l ? a : Ho, l ? Ho : o, l ? Ho : a, s, u, c]), o = n.apply(Ho, i); return ar(e) && pr(o, i), o.placeholder = r, gr(o, e, t) } function jn(e) { var r = N[e]; return function (e, t) { var n; return e = x(e), (t = null == t ? 0 : v(S(t), 292)) && fe(e) ? (n = (_(e) + "e").split("e"), +((n = (_(r(n[0] + "e" + (+n[1] + t))) + "e").split("e"))[0] + "e" + (+n[1] - t))) : r(e) } } var Fn = ve && 1 / iu(new ve([, -0]))[1] == 1 / 0 ? function (e) { return new ve(e) } : Co; function Un(o) { return function (e) { var t, n, r, i = U(e); return i == Qo ? nu(e) : i == Jo ? (i = e, t = -1, n = Array(i.size), i.forEach(function (e) { n[++t] = [e, e] }), n) : ca(o(r = e), function (e) { return [e, r[e]] }) } } function Ln(e, t, n, r, i, o, a, s) { var u, c, l, h, m, _, p, d, f, g, y, b, P, T = 2 & t; if (T || "function" == typeof e) return (u = r ? r.length : 0) || (t &= -97, r = i = Ho), a = a === Ho ? a : C(S(a), 0), s = s === Ho ? s : S(s), u -= i ? i.length : 0, 64 & t && (l = r, h = i, r = i = Ho), c = T ? Ho : zn(e), l = [e, t, n, r, i, l, h, o, a, s], c && (h = c, a = (o = l)[1], _ = h[1], d = (p = a | _) < 131, f = _ == Wo && 8 == a || _ == Wo && 256 == a && o[7].length <= h[8] || 384 == _ && h[7].length <= h[8] && 8 == a, d || f) && (1 & _ && (o[2] = h[2], p |= 1 & a ? 0 : 4), (d = h[3]) && (m = o[3], o[3] = m ? pn(m, d, h[4]) : d, o[4] = m ? pa(o[3], ba) : h[4]), (d = h[5]) && (m = o[5], o[5] = m ? dn(m, d, h[6]) : d, o[6] = m ? pa(o[5], ba) : h[6]), (d = h[7]) && (o[7] = d), _ & Wo && (o[8] = null == o[8] ? h[8] : v(o[8], h[8])), null == o[9] && (o[9] = h[9]), o[0] = h[0], o[1] = p), e = l[0], t = l[1], n = l[2], r = l[3], i = l[4], !(s = l[9] = l[9] === Ho ? T ? 0 : e.length : C(l[9] - u, 0)) && 24 & t && (t &= -25), f = t && 1 != t ? 8 == t || 16 == t ? Cn(e, t, s) : 32 != t && 33 != t || i.length ? Sn.apply(Ho, l) : En(e, t, n, r) : (y = n, b = 1 & t, P = In(g = e), function e() { return (this && this !== oa && this instanceof e ? P : g).apply(b ? y : this, arguments) }), gr((c ? Wt : pr)(f, l), e, t); throw new I(ko) } function Yn(e, t, n, r) { return e === Ho || L(e, G[n]) && !j.call(r, n) ? t : e } function Hn(e, t, n, r, i, o) { return T(e) && T(t) && (o.set(t, e), Et(e, t, Ho, Hn, o), o.delete(t)), e } function kn(e) { return Ri(e) ? Ho : e } function Wn(e, t, n, r, i, o) { var a = 1 & n, s = e.length, u = t.length; if (s != u && !(a && s < u)) return !1; u = o.get(e); if (u && o.get(t)) return u == t; var c = -1, l = !0, h = 2 & n ? new ke : Ho; for (o.set(e, t), o.set(t, e); ++c < s;) { var m, _ = e[c], p = t[c]; if ((m = r ? a ? r(p, _, c, t, e, o) : r(_, p, c, e, t, o) : m) !== Ho) { if (m) continue; l = !1; break } if (h) { if (!Ls(t, function (e, t) { return !Xs(h, t) && (_ === e || i(_, e, n, r, o)) && h.push(t) })) { l = !1; break } } else if (_ !== p && !i(_, p, n, r, o)) { l = !1; break } } return o.delete(e), o.delete(t), l } function qn(e) { return fr(hr(e, Ho, Sr), e + "") } function Gn(e) { return dt(e, O, Jn) } function Vn(e) { return dt(e, w, er) } var zn = Se ? function (e) { return Se.get(e) } : Co; function Kn(e) { for (var t = e.name + "", n = xe[t], r = j.call(xe, t) ? n.length : 0; r--;) { var i = n[r], o = i.func; if (null == o || o == e) return i.name } return t } function Qn(e) { return (j.call(p, "placeholder") ? p : e).placeholder } function h() { var e = (e = p.iteratee || Po) === Po ? vt : e; return arguments.length ? e(arguments[0], arguments[1]) : e } function Xn(e, t) { var n, r, e = e.__data__; return ("string" == (r = typeof (n = t)) || "number" == r || "symbol" == r || "boolean" == r ? "__proto__" !== n : null === n) ? e["string" == typeof t ? "string" : "hash"] : e.map } function $n(e) { for (var t = O(e), n = t.length; n--;) { var r = t[n], i = e[r]; t[n] = [r, i, cr(i)] } return t } function Zn(e, t) { t = t; e = null == (e = e) ? Ho : e[t]; return Ct(e) ? e : Ho } var Jn = de ? function (t) { return null == t ? [] : (t = d(t), ua(de(t), function (e) { return ie.call(t, e) })) } : Do, er = de ? function (e) { for (var t = []; e;)la(t, Jn(e)), e = ne(e); return t } : Do, U = n; function tr(e, t, n) { for (var r = -1, i = (t = an(t, e)).length, o = !1; ++r < i;) { var a = Ar(t[r]); if (!(o = null != e && n(e, a))) break; e = e[a] } return o || ++r != i ? o : !!(i = null == e ? 0 : e.length) && Ii(i) && ir(a, i) && (Y(e) || gi(e)) } function nr(e) { return "function" != typeof e.constructor || ur(e) ? {} : je(ne(e)) } function rr(e) { return Y(e) || gi(e) || !!(ae && e && e[ae]) } function ir(e, t) { var n = typeof e; return !!(t = null == t ? qo : t) && ("number" == n || "symbol" != n && _s.test(e)) && -1 < e && e % 1 == 0 && e < t } function m(e, t, n) { var r; if (T(n)) return ("number" == (r = typeof t) ? l(n) && ir(t, n.length) : "string" == r && t in n) && L(n[t], e) } function or(e, t) { var n; if (!Y(e)) return "number" == (n = typeof e) || "symbol" == n || "boolean" == n || null == e || b(e) || Qa.test(e) || !Ka.test(e) || null != t && e in d(t) } function ar(e) { var t = Kn(e), n = p[t]; return "function" == typeof n && t in g.prototype && (e === n || (t = zn(n)) && e === t[0]) } (o && U(new o(new ArrayBuffer(1))) != na || Ie && U(new Ie) != Qo || Ce && U(Ce.resolve()) != Ra || ve && U(new ve) != Jo || e && U(new e) != ta) && (U = function (e) { var t = n(e), e = t == $o ? e.constructor : Ho, e = e ? Ir(e) : ""; if (e) switch (e) { case Oe: return na; case we: return Qo; case De: return Ra; case Ee: return Jo; case Me: return ta }return t }); var sr = V ? Ti : Eo; function ur(e) { var t = e && e.constructor; return e === ("function" == typeof t && t.prototype || G) } function cr(e) { return e == e && !T(e) } function lr(t, n) { return function (e) { return null != e && e[t] === n && (n !== Ho || t in d(e)) } } function hr(o, a, s) { return a = C(a === Ho ? o.length - 1 : a, 0), function () { for (var e = arguments, t = -1, n = C(e.length - a, 0), r = A(n); ++t < n;)r[t] = e[a + t]; for (var t = -1, i = A(a + 1); ++t < a;)i[t] = e[t]; return i[a] = s(r), aa(o, this, i) } } function mr(e, t) { return t.length < 2 ? e : pt(e, s(t, 0, -1)) } function _r(e, t) { if (("constructor" !== t || "function" != typeof e[t]) && "__proto__" != t) return e[t] } var pr = yr(Wt), dr = me || function (e, t) { return oa.setTimeout(e, t) }, fr = yr(t); function gr(e, t, n) { var r, i, o, t = t + ""; return fr(e, (i = (t = (t = e = t).match(rs)) ? t[1].split(is) : [], o = n, sa(Ta, function (e) { var t = "_." + e[0]; o & e[1] && !Bs(i, t) && i.push(t) }), t = i.sort(), (n = t.length) ? (t[r = n - 1] = (1 < n ? "& " : "") + t[r], t = t.join(2 < n ? ", " : " "), e.replace(ns, "{\n/* [wrapped with " + t + "] */\n")) : e)) } function yr(n) { var r = 0, i = 0; return function () { var e = be(), t = 16 - (e - i); if (i = e, 0 < t) { if (800 <= ++r) return arguments[0] } else r = 0; return n.apply(Ho, arguments) } } function br(e, t) { var n = -1, r = e.length, i = r - 1; for (t = t === Ho ? r : t; ++n < t;) { var o = Ut(n, i), a = e[o]; e[o] = e[n], e[n] = a } return e.length = t, e } Pr = (le = li(le = function (e) { var i = []; return 46 === e.charCodeAt(0) && i.push(""), e.replace(Xa, function (e, t, n, r) { i.push(n ? r.replace(as, "$1") : t || e) }), i }, function (e) { return 500 === Pr.size && Pr.clear(), e })).cache; var Pr, Tr = le; function Ar(e) { var t; return "string" == typeof e || b(e) ? e : "0" == (t = e + "") && 1 / e == -1 / 0 ? "-0" : t } function Ir(e) { if (null != e) { try { return z.call(e) } catch (e) { } try { return e + "" } catch (e) { } } return "" } function Cr(e) { var t; return e instanceof g ? e.clone() : ((t = new f(e.__wrapped__, e.__chain__)).__actions__ = R(e.__actions__), t.__index__ = e.__index__, t.__values__ = e.__values__, t) } o = a(function (e, t) { return P(e) ? rt(e, u(t, 1, P, !0)) : [] }), Ce = a(function (e, t) { var n = r(t); return P(n) && (n = Ho), P(e) ? rt(e, u(t, 1, P, !0), h(n, 2)) : [] }), e = a(function (e, t) { var n = r(t); return P(n) && (n = Ho), P(e) ? rt(e, u(t, 1, P, !0), Ho, n) : [] }); function vr(e, t, n) { var r = null == e ? 0 : e.length; return r ? ((n = null == n ? 0 : S(n)) < 0 && (n = C(r + n, 0)), Hs(e, h(t, 3), n)) : -1 } function Rr(e, t, n) { var r, i = null == e ? 0 : e.length; return i ? (r = i - 1, n !== Ho && (r = S(n), r = n < 0 ? C(i + r, 0) : v(r, i - 1)), Hs(e, h(t, 3), r, !0)) : -1 } function Sr(e) { return (null == e ? 0 : e.length) ? u(e, 1) : [] } function xr(e) { return e && e.length ? e[0] : Ho } V = a(function (e) { var t = ca(e, rn); return t.length && t[0] === e[0] ? bt(t) : [] }), me = a(function (e) { var t = r(e), n = ca(e, rn); return t === r(n) ? t = Ho : n.pop(), n.length && n[0] === e[0] ? bt(n, h(t, 2)) : [] }), t = a(function (e) { var t = r(e), n = ca(e, rn); return (t = "function" == typeof t ? t : Ho) && n.pop(), n.length && n[0] === e[0] ? bt(n, Ho, t) : [] }); function r(e) { var t = null == e ? 0 : e.length; return t ? e[t - 1] : Ho } le = a(Or); function Or(e, t) { return e && e.length && t && t.length ? jt(e, t) : e } var wr = qn(function (e, t) { var n = null == e ? 0 : e.length, r = Je(e, t); return Ft(e, ca(t, function (e) { return ir(e, n) ? +e : e }).sort(_n)), r }); function Dr(e) { return null == e ? e : Ae.call(e) } var Er = a(function (e) { return Xt(u(e, 1, P, !0)) }), Mr = a(function (e) { var t = r(e); return P(t) && (t = Ho), Xt(u(e, 1, P, !0), h(t, 2)) }), Nr = a(function (e) { var t = "function" == typeof (t = r(e)) ? t : Ho; return Xt(u(e, 1, P, !0), Ho, t) }); function Br(t) { var n; return t && t.length ? (n = 0, t = ua(t, function (e) { return P(e) && (n = C(e.length, n), 1) }), Ks(n, function (e) { return ca(t, Gs(e)) })) : [] } function jr(e, t) { return e && e.length ? (e = Br(e), null == t ? e : ca(e, function (e) { return aa(t, Ho, e) })) : [] } var Fr = a(function (e, t) { return P(e) ? rt(e, t) : [] }), Ur = a(function (e) { return tn(ua(e, P)) }), Lr = a(function (e) { var t = r(e); return P(t) && (t = Ho), tn(ua(e, P), h(t, 2)) }), Yr = a(function (e) { var t = "function" == typeof (t = r(e)) ? t : Ho; return tn(ua(e, P), Ho, t) }), Hr = a(Br); var kr = a(function (e) { var t = e.length, t = "function" == typeof (t = 1 < t ? e[t - 1] : Ho) ? (e.pop(), t) : Ho; return jr(e, t) }); function Wr(e) { e = p(e); return e.__chain__ = !0, e } function qr(e, t) { return t(e) } var Gr = qn(function (t) { function e(e) { return Je(e, t) } var n = t.length, r = n ? t[0] : 0, i = this.__wrapped__; return !(1 < n || this.__actions__.length) && i instanceof g && ir(r) ? ((i = i.slice(r, +r + (n ? 1 : 0))).__actions__.push({ func: qr, args: [e], thisArg: Ho }), new f(i, this.__chain__).thru(function (e) { return n && !e.length && e.push(Ho), e })) : this.thru(e) }); var Vr = gn(function (e, t, n) { j.call(e, n) ? ++e[n] : Ze(e, n, 1) }); var zr = vn(vr), Kr = vn(Rr); function Qr(e, t) { return (Y(e) ? sa : it)(e, h(t, 3)) } function Xr(e, t) { return (Y(e) ? Ms : ot)(e, h(t, 3)) } var $r = gn(function (e, t, n) { j.call(e, n) ? e[n].push(t) : Ze(e, n, [t]) }); var Zr = a(function (e, t, n) { var r = -1, i = "function" == typeof t, o = l(e) ? A(e.length) : []; return it(e, function (e) { o[++r] = i ? aa(t, e, n) : Pt(e, t, n) }), o }), Jr = gn(function (e, t, n) { Ze(e, n, t) }); function ei(e, t) { return (Y(e) ? ca : Ot)(e, h(t, 3)) } var ti = gn(function (e, t, n) { e[n ? 0 : 1].push(t) }, function () { return [[], []] }); var ni = a(function (e, t) { var n; return null == e ? [] : (1 < (n = t.length) && m(e, t[0], t[1]) ? t = [] : 2 < n && m(t[0], t[1], t[2]) && (t = [t[0]]), Nt(e, u(t, 1), [])) }), ri = he || function () { return oa.Date.now() }; function ii(e, t, n) { return t = n ? Ho : t, t = e && null == t ? e.length : t, Ln(e, Wo, Ho, Ho, Ho, Ho, t) } function oi(e, t) { var n; if ("function" != typeof t) throw new I(ko); return e = S(e), function () { return 0 < --e && (n = t.apply(this, arguments)), e <= 1 && (t = Ho), n } } var ai = a(function (e, t, n) { var r, i = 1; return n.length && (r = pa(n, Qn(ai)), i |= 32), Ln(e, i, t, n, r) }), si = a(function (e, t, n) { var r, i = 3; return n.length && (r = pa(n, Qn(si)), i |= 32), Ln(t, i, e, n, r) }); function ui(r, n, e) { var i, o, a, s, u, c, l = 0, h = !1, m = !1, t = !0; if ("function" != typeof r) throw new I(ko); function _(e) { var t = i, n = o; return i = o = Ho, l = e, s = r.apply(n, t) } function p(e) { var t = e - c; return c === Ho || n <= t || t < 0 || m && a <= e - l } function d() { var e, t = ri(); if (p(t)) return f(t); u = dr(d, (e = n - ((t = t) - c), m ? v(e, a - (t - l)) : e)) } function f(e) { return u = Ho, t && i ? _(e) : (i = o = Ho, s) } function g() { var e = ri(), t = p(e); if (i = arguments, o = this, c = e, t) { if (u === Ho) return l = e = c, u = dr(d, n), h ? _(e) : s; if (m) return cn(u), u = dr(d, n), _(c) } return u === Ho && (u = dr(d, n)), s } return n = x(n) || 0, T(e) && (h = !!e.leading, m = "maxWait" in e, a = m ? C(x(e.maxWait) || 0, n) : a, t = "trailing" in e ? !!e.trailing : t), g.cancel = function () { u !== Ho && cn(u), l = 0, i = c = o = u = Ho }, g.flush = function () { return u === Ho ? s : f(ri()) }, g } var he = a(function (e, t) { return nt(e, 1, t) }), ci = a(function (e, t, n) { return nt(e, x(t) || 0, n) }); function li(r, i) { if ("function" != typeof r || null != i && "function" != typeof i) throw new I(ko); function o() { var e = arguments, t = i ? i.apply(this, e) : e[0], n = o.cache; return n.has(t) ? n.get(t) : (e = r.apply(this, e), o.cache = n.set(t, e) || n, e) } return o.cache = new (li.Cache || He), o } function hi(t) { if ("function" != typeof t) throw new I(ko); return function () { var e = arguments; switch (e.length) { case 0: return !t.call(this); case 1: return !t.call(this, e[0]); case 2: return !t.call(this, e[0], e[1]); case 3: return !t.call(this, e[0], e[1], e[2]) }return !t.apply(this, e) } } li.Cache = He; var sn = sn(function (r, i) { var o = (i = 1 == i.length && Y(i[0]) ? ca(i[0], ma(h())) : ca(u(i, 1), ma(h()))).length; return a(function (e) { for (var t = -1, n = v(e.length, o); ++t < n;)e[t] = i[t].call(this, e[t]); return aa(r, this, e) }) }), mi = a(function (e, t) { var n = pa(t, Qn(mi)); return Ln(e, 32, Ho, t, n) }), _i = a(function (e, t) { var n = pa(t, Qn(_i)); return Ln(e, 64, Ho, t, n) }), pi = qn(function (e, t) { return Ln(e, 256, Ho, Ho, Ho, t) }); function L(e, t) { return e === t || e != e && t != t } var di = Nn(ft), fi = Nn(function (e, t) { return t <= e }), gi = Tt(function () { return arguments }()) ? Tt : function (e) { return H(e) && j.call(e, "callee") && !ie.call(e, "callee") }, Y = A.isArray, yi = Rs ? ma(Rs) : function (e) { return H(e) && n(e) == xa }; function l(e) { return null != e && Ii(e.length) && !Ti(e) } function P(e) { return H(e) && l(e) } var bi = q || Eo, q = Ss ? ma(Ss) : function (e) { return H(e) && n(e) == Ko }; function Pi(e) { var t; return !!H(e) && ((t = n(e)) == Ia || "[object DOMException]" == t || "string" == typeof e.message && "string" == typeof e.name && !Ri(e)) } function Ti(e) { return !!T(e) && ((e = n(e)) == Ca || e == va || "[object AsyncFunction]" == e || "[object Proxy]" == e) } function Ai(e) { return "number" == typeof e && e == S(e) } function Ii(e) { return "number" == typeof e && -1 < e && e % 1 == 0 && e <= qo } function T(e) { var t = typeof e; return null != e && ("object" == t || "function" == t) } function H(e) { return null != e && "object" == typeof e } var Ci = xs ? ma(xs) : function (e) { return H(e) && U(e) == Qo }; function vi(e) { return "number" == typeof e || H(e) && n(e) == Xo } function Ri(e) { return !(!H(e) || n(e) != $o) && (null === (e = ne(e)) || "function" == typeof (e = j.call(e, "constructor") && e.constructor) && e instanceof e && z.call(e) == $) } var Si = Os ? ma(Os) : function (e) { return H(e) && n(e) == Zo }; var xi = ws ? ma(ws) : function (e) { return H(e) && U(e) == Jo }; function Oi(e) { return "string" == typeof e || !Y(e) && H(e) && n(e) == ea } function b(e) { return "symbol" == typeof e || H(e) && n(e) == Sa } var wi = Ds ? ma(Ds) : function (e) { return H(e) && Ii(e.length) && !!ra[n(e)] }; var Di = Nn(xt), Ei = Nn(function (e, t) { return e <= t }); function Mi(e) { if (!e) return []; if (l(e)) return (Oi(e) ? fa : R)(e); if (se && e[se]) { for (var t, n = e[se](), r = []; !(t = n.next()).done;)r.push(t.value); return r } var i = U(e); return (i == Qo ? nu : i == Jo ? iu : no)(e) } function Ni(e) { return e ? (e = x(e)) === 1 / 0 || e === -1 / 0 ? 17976931348623157e292 * (e < 0 ? -1 : 1) : e == e ? e : 0 : 0 === e ? e : 0 } function S(e) { var e = Ni(e), t = e % 1; return e == e ? t ? e - t : e : 0 } function Bi(e) { return e ? et(S(e), 0, Go) : 0 } function x(e) { if ("number" == typeof e) return e; if (b(e)) return Pa; if ("string" != typeof (e = T(e) ? T(t = "function" == typeof e.valueOf ? e.valueOf() : e) ? t + "" : t : e)) return 0 === e ? e : +e; e = e.replace(Ja, ""); var t = ls.test(e); return t || ms.test(e) ? Cs(e.slice(2), t ? 2 : 8) : cs.test(e) ? Pa : +e } function ji(e) { return fn(e, w(e)) } function _(e) { return null == e ? "" : c(e) } var Fi = yn(function (e, t) { if (ur(t) || l(t)) fn(t, O(t), e); else for (var n in t) j.call(t, n) && Ke(e, n, t[n]) }), Ui = yn(function (e, t) { fn(t, w(t), e) }), Li = yn(function (e, t, n, r) { fn(t, w(t), e, r) }), Yi = yn(function (e, t, n, r) { fn(t, O(t), e, r) }), Hi = qn(Je); var ki = a(function (e, t) { e = d(e); var n = -1, r = t.length, i = 2 < r ? t[2] : Ho; for (i && m(t[0], t[1], i) && (r = 1); ++n < r;)for (var o = t[n], a = w(o), s = -1, u = a.length; ++s < u;) { var c = a[s], l = e[c]; (l === Ho || L(l, G[c]) && !j.call(e, c)) && (e[c] = o[c]) } return e }), Wi = a(function (e) { return e.push(Ho, Hn), aa(Xi, Ho, e) }); function qi(e, t, n) { e = null == e ? Ho : pt(e, t); return e === Ho ? n : e } function Gi(e, t) { return null != e && tr(e, t, yt) } var Vi = xn(function (e, t, n) { e[t = null != t && "function" != typeof t.toString ? X.call(t) : t] = n }, go(D)), zi = xn(function (e, t, n) { null != t && "function" != typeof t.toString && (t = X.call(t)), j.call(e, t) ? e[t].push(n) : e[t] = [n] }, h), Ki = a(Pt); function O(e) { return (l(e) ? We : Rt)(e) } function w(e) { return l(e) ? We(e, !0) : St(e) } var Qi = yn(function (e, t, n) { Et(e, t, n) }), Xi = yn(function (e, t, n, r) { Et(e, t, n, r) }), $i = qn(function (t, e) { var n = {}; if (null != t) for (var r = !1, i = (e = ca(e, function (e) { return e = an(e, t), r = r || 1 < e.length, e }), fn(t, Vn(t), n), r && (n = y(n, 7, kn)), e.length); i--;)$t(n, e[i]); return n }); var Zi = qn(function (e, t) { return null == e ? {} : Bt(n = e, t, function (e, t) { return Gi(n, t) }); var n }); function Ji(e, n) { var t; return null == e ? {} : (t = ca(Vn(e), function (e) { return [e] }), n = h(n), Bt(e, t, function (e, t) { return n(e, t[0]) })) } var eo = Un(O), to = Un(w); function no(e) { return null == e ? [] : Qs(e, O(e)) } var ro = An(function (e, t, n) { return t = t.toLowerCase(), e + (n ? io(t) : t) }); function io(e) { return mo(_(e).toLowerCase()) } function oo(e) { return (e = _(e)) && e.replace(ps, Js).replace(ys, "") } var ao = An(function (e, t, n) { return e + (n ? "-" : "") + t.toLowerCase() }), so = An(function (e, t, n) { return e + (n ? " " : "") + t.toLowerCase() }), uo = Tn("toLowerCase"); var co = An(function (e, t, n) { return e + (n ? "_" : "") + t.toLowerCase() }); var lo = An(function (e, t, n) { return e + (n ? " " : "") + mo(t) }); var ho = An(function (e, t, n) { return e + (n ? " " : "") + t.toUpperCase() }), mo = Tn("toUpperCase"); function _o(e, t, n) { return e = _(e), (t = n ? Ho : t) === Ho ? (n = e, Ps.test(n) ? e.match(bs) || [] : e.match(os) || []) : e.match(t) || [] } var po = a(function (e, t) { try { return aa(e, Ho, t) } catch (e) { return Pi(e) ? e : new E(e) } }), fo = qn(function (t, e) { return sa(e, function (e) { e = Ar(e), Ze(t, e, ai(t[e], t)) }), t }); function go(e) { return function () { return e } } var yo = Rn(), bo = Rn(!0); function D(e) { return e } function Po(e) { return vt("function" == typeof e ? e : y(e, 1)) } var To = a(function (t, n) { return function (e) { return Pt(e, t, n) } }), Ao = a(function (t, n) { return function (e) { return Pt(t, e, n) } }); function Io(r, t, e) { var n = O(t), i = _t(t, n), o = (null != e || T(t) && (i.length || !n.length) || (e = t, t = r, r = this, i = _t(t, O(t))), !(T(e) && "chain" in e && !e.chain)), a = Ti(r); return sa(i, function (e) { var n = t[e]; r[e] = n, a && (r.prototype[e] = function () { var e, t = this.__chain__; return o || t ? (((e = r(this.__wrapped__)).__actions__ = R(this.__actions__)).push({ func: n, args: arguments, thisArg: r }), e.__chain__ = t, e) : n.apply(r, la([this.value()], arguments)) }) }), r } function Co() { } var vo = wn(ca), Ro = wn(Ns), So = wn(Ls); function xo(e) { return or(e) ? Gs(Ar(e)) : (t = e, function (e) { return pt(e, t) }); var t } var Oo = Mn(), wo = Mn(!0); function Do() { return [] } function Eo() { return !1 } var Mo = On(function (e, t) { return e + t }, 0), No = jn("ceil"), Bo = On(function (e, t) { return e / t }, 1), jo = jn("floor"); var Fo, Uo = On(function (e, t) { return e * t }, 1), Lo = jn("round"), Yo = On(function (e, t) { return e - t }, 0); return p.after = function (e, t) { if ("function" != typeof t) throw new I(ko); return e = S(e), function () { if (--e < 1) return t.apply(this, arguments) } }, p.ary = ii, p.assign = Fi, p.assignIn = Ui, p.assignInWith = Li, p.assignWith = Yi, p.at = Hi, p.before = oi, p.bind = ai, p.bindAll = fo, p.bindKey = si, p.castArray = function () { var e; return arguments.length ? Y(e = arguments[0]) ? e : [e] : [] }, p.chain = Wr, p.chunk = function (e, t, n) { t = (n ? m(e, t, n) : t === Ho) ? 1 : C(S(t), 0); var r = null == e ? 0 : e.length; if (!r || t < 1) return []; for (var i = 0, o = 0, a = A(_e(r / t)); i < r;)a[o++] = s(e, i, i += t); return a }, p.compact = function (e) { for (var t = -1, n = null == e ? 0 : e.length, r = 0, i = []; ++t < n;) { var o = e[t]; o && (i[r++] = o) } return i }, p.concat = function () { var e = arguments.length; if (!e) return []; for (var t = A(e - 1), n = arguments[0], r = e; r--;)t[r - 1] = arguments[r]; return la(Y(n) ? R(n) : [n], u(t, 1)) }, p.cond = function (r) { var i = null == r ? 0 : r.length, t = h(); return r = i ? ca(r, function (e) { if ("function" != typeof e[1]) throw new I(ko); return [t(e[0]), e[1]] }) : [], a(function (e) { for (var t = -1; ++t < i;) { var n = r[t]; if (aa(n[0], this, e)) return aa(n[1], this, e) } }) }, p.conforms = function (e) { return t = y(e, 1), n = O(t), function (e) { return tt(e, t, n) }; var t, n }, p.constant = go, p.countBy = Vr, p.create = function (e, t) { return e = je(e), null == t ? e : $e(e, t) }, p.curry = function e(t, n, r) { t = Ln(t, 8, Ho, Ho, Ho, Ho, Ho, n = r ? Ho : n); return t.placeholder = e.placeholder, t }, p.curryRight = function e(t, n, r) { t = Ln(t, 16, Ho, Ho, Ho, Ho, Ho, n = r ? Ho : n); return t.placeholder = e.placeholder, t }, p.debounce = ui, p.defaults = ki, p.defaultsDeep = Wi, p.defer = he, p.delay = ci, p.difference = o, p.differenceBy = Ce, p.differenceWith = e, p.drop = function (e, t, n) { var r = null == e ? 0 : e.length; return r ? s(e, (t = n || t === Ho ? 1 : S(t)) < 0 ? 0 : t, r) : [] }, p.dropRight = function (e, t, n) { var r = null == e ? 0 : e.length; return r ? s(e, 0, (t = r - (t = n || t === Ho ? 1 : S(t))) < 0 ? 0 : t) : [] }, p.dropRightWhile = function (e, t) { return e && e.length ? Jt(e, h(t, 3), !0, !0) : [] }, p.dropWhile = function (e, t) { return e && e.length ? Jt(e, h(t, 3), !0) : [] }, p.fill = function (e, t, n, r) { if (!(u = null == e ? 0 : e.length)) return []; n && "number" != typeof n && m(e, t, n) && (n = 0, r = u); var i = e, o = t, a = n, s = r, u = i.length; for ((a = S(a)) < 0 && (a = u < -a ? 0 : u + a), (s = s === Ho || u < s ? u : S(s)) < 0 && (s += u), s = s < a ? 0 : Bi(s); a < s;)i[a++] = o; return i }, p.filter = function (e, t) { return (Y(e) ? ua : ut)(e, h(t, 3)) }, p.flatMap = function (e, t) { return u(ei(e, t), 1) }, p.flatMapDeep = function (e, t) { return u(ei(e, t), 1 / 0) }, p.flatMapDepth = function (e, t, n) { return n = n === Ho ? 1 : S(n), u(ei(e, t), n) }, p.flatten = Sr, p.flattenDeep = function (e) { return (null == e ? 0 : e.length) ? u(e, 1 / 0) : [] }, p.flattenDepth = function (e, t) { return (null == e ? 0 : e.length) ? u(e, t = t === Ho ? 1 : S(t)) : [] }, p.flip = function (e) { return Ln(e, 512) }, p.flow = yo, p.flowRight = bo, p.fromPairs = function (e) { for (var t = -1, n = null == e ? 0 : e.length, r = {}; ++t < n;) { var i = e[t]; r[i[0]] = i[1] } return r }, p.functions = function (e) { return null == e ? [] : _t(e, O(e)) }, p.functionsIn = function (e) { return null == e ? [] : _t(e, w(e)) }, p.groupBy = $r, p.initial = function (e) { return (null == e ? 0 : e.length) ? s(e, 0, -1) : [] }, p.intersection = V, p.intersectionBy = me, p.intersectionWith = t, p.invert = Vi, p.invertBy = zi, p.invokeMap = Zr, p.iteratee = Po, p.keyBy = Jr, p.keys = O, p.keysIn = w, p.map = ei, p.mapKeys = function (e, r) { var i = {}; return r = h(r, 3), ht(e, function (e, t, n) { Ze(i, r(e, t, n), e) }), i }, p.mapValues = function (e, r) { var i = {}; return r = h(r, 3), ht(e, function (e, t, n) { Ze(i, t, r(e, t, n)) }), i }, p.matches = function (e) { return wt(y(e, 1)) }, p.matchesProperty = function (e, t) { return Dt(e, y(t, 1)) }, p.memoize = li, p.merge = Qi, p.mergeWith = Xi, p.method = To, p.methodOf = Ao, p.mixin = Io, p.negate = hi, p.nthArg = function (t) { return t = S(t), a(function (e) { return Mt(e, t) }) }, p.omit = $i, p.omitBy = function (e, t) { return Ji(e, hi(h(t))) }, p.once = function (e) { return oi(2, e) }, p.orderBy = function (e, t, n, r) { return null == e ? [] : Nt(e, t = Y(t) ? t : null == t ? [] : [t], n = Y(n = r ? Ho : n) ? n : null == n ? [] : [n]) }, p.over = vo, p.overArgs = sn, p.overEvery = Ro, p.overSome = So, p.partial = mi, p.partialRight = _i, p.partition = ti, p.pick = Zi, p.pickBy = Ji, p.property = xo, p.propertyOf = function (t) { return function (e) { return null == t ? Ho : pt(t, e) } }, p.pull = le, p.pullAll = Or, p.pullAllBy = function (e, t, n) { return e && e.length && t && t.length ? jt(e, t, h(n, 2)) : e }, p.pullAllWith = function (e, t, n) { return e && e.length && t && t.length ? jt(e, t, Ho, n) : e }, p.pullAt = wr, p.range = Oo, p.rangeRight = wo, p.rearg = pi, p.reject = function (e, t) { return (Y(e) ? ua : ut)(e, hi(h(t, 3))) }, p.remove = function (e, t) { var n = []; if (e && e.length) { var r = -1, i = [], o = e.length; for (t = h(t, 3); ++r < o;) { var a = e[r]; t(a, r, e) && (n.push(a), i.push(r)) } Ft(e, i) } return n }, p.rest = function (e, t) { if ("function" != typeof e) throw new I(ko); return a(e, t = t === Ho ? t : S(t)) }, p.reverse = Dr, p.sampleSize = function (e, t, n) { return t = (n ? m(e, t, n) : t === Ho) ? 1 : S(t), (Y(e) ? Ge : Ht)(e, t) }, p.set = function (e, t, n) { return null == e ? e : kt(e, t, n) }, p.setWith = function (e, t, n, r) { return r = "function" == typeof r ? r : Ho, null == e ? e : kt(e, t, n, r) }, p.shuffle = function (e) { return (Y(e) ? Ve : qt)(e) }, p.slice = function (e, t, n) { var r = null == e ? 0 : e.length; return r ? (n = n && "number" != typeof n && m(e, t, n) ? (t = 0, r) : (t = null == t ? 0 : S(t), n === Ho ? r : S(n)), s(e, t, n)) : [] }, p.sortBy = ni, p.sortedUniq = function (e) { return e && e.length ? Kt(e) : [] }, p.sortedUniqBy = function (e, t) { return e && e.length ? Kt(e, h(t, 2)) : [] }, p.split = function (e, t, n) { return n && "number" != typeof n && m(e, t, n) && (t = n = Ho), (n = n === Ho ? Go : n >>> 0) ? (e = _(e)) && ("string" == typeof t || null != t && !Si(t)) && !(t = c(t)) && _a(e) ? un(fa(e), 0, n) : e.split(t, n) : [] }, p.spread = function (n, r) { if ("function" != typeof n) throw new I(ko); return r = null == r ? 0 : C(S(r), 0), a(function (e) { var t = e[r], e = un(e, 0, r); return t && la(e, t), aa(n, this, e) }) }, p.tail = function (e) { var t = null == e ? 0 : e.length; return t ? s(e, 1, t) : [] }, p.take = function (e, t, n) { return e && e.length ? s(e, 0, (t = n || t === Ho ? 1 : S(t)) < 0 ? 0 : t) : [] }, p.takeRight = function (e, t, n) { var r = null == e ? 0 : e.length; return r ? s(e, (t = r - (t = n || t === Ho ? 1 : S(t))) < 0 ? 0 : t, r) : [] }, p.takeRightWhile = function (e, t) { return e && e.length ? Jt(e, h(t, 3), !1, !0) : [] }, p.takeWhile = function (e, t) { return e && e.length ? Jt(e, h(t, 3)) : [] }, p.tap = function (e, t) { return t(e), e }, p.throttle = function (e, t, n) { var r = !0, i = !0; if ("function" != typeof e) throw new I(ko); return T(n) && (r = "leading" in n ? !!n.leading : r, i = "trailing" in n ? !!n.trailing : i), ui(e, t, { leading: r, maxWait: t, trailing: i }) }, p.thru = qr, p.toArray = Mi, p.toPairs = eo, p.toPairsIn = to, p.toPath = function (e) { return Y(e) ? ca(e, Ar) : b(e) ? [e] : R(Tr(_(e))) }, p.toPlainObject = ji, p.transform = function (e, r, i) { var t, n = Y(e), o = n || bi(e) || wi(e); return r = h(r, 4), null == i && (t = e && e.constructor, i = o ? n ? new t : [] : T(e) && Ti(t) ? je(ne(e)) : {}), (o ? sa : ht)(e, function (e, t, n) { return r(i, e, t, n) }), i }, p.unary = function (e) { return ii(e, 1) }, p.union = Er, p.unionBy = Mr, p.unionWith = Nr, p.uniq = function (e) { return e && e.length ? Xt(e) : [] }, p.uniqBy = function (e, t) { return e && e.length ? Xt(e, h(t, 2)) : [] }, p.uniqWith = function (e, t) { return t = "function" == typeof t ? t : Ho, e && e.length ? Xt(e, Ho, t) : [] }, p.unset = function (e, t) { return null == e || $t(e, t) }, p.unzip = Br, p.unzipWith = jr, p.update = function (e, t, n) { return null == e ? e : Zt(e, t, on(n)) }, p.updateWith = function (e, t, n, r) { return r = "function" == typeof r ? r : Ho, null == e ? e : Zt(e, t, on(n), r) }, p.values = no, p.valuesIn = function (e) { return null == e ? [] : Qs(e, w(e)) }, p.without = Fr, p.words = _o, p.wrap = function (e, t) { return mi(on(t), e) }, p.xor = Ur, p.xorBy = Lr, p.xorWith = Yr, p.zip = Hr, p.zipObject = function (e, t) { return nn(e || [], t || [], Ke) }, p.zipObjectDeep = function (e, t) { return nn(e || [], t || [], kt) }, p.zipWith = kr, p.entries = eo, p.entriesIn = to, p.extend = Ui, p.extendWith = Li, Io(p, p), p.add = Mo, p.attempt = po, p.camelCase = ro, p.capitalize = io, p.ceil = No, p.clamp = function (e, t, n) { return n === Ho && (n = t, t = Ho), n !== Ho && (n = (n = x(n)) == n ? n : 0), t !== Ho && (t = (t = x(t)) == t ? t : 0), et(x(e), t, n) }, p.clone = function (e) { return y(e, 4) }, p.cloneDeep = function (e) { return y(e, 5) }, p.cloneDeepWith = function (e, t) { return y(e, 5, t = "function" == typeof t ? t : Ho) }, p.cloneWith = function (e, t) { return y(e, 4, t = "function" == typeof t ? t : Ho) }, p.conformsTo = function (e, t) { return null == t || tt(e, t, O(t)) }, p.deburr = oo, p.defaultTo = function (e, t) { return null == e || e != e ? t : e }, p.divide = Bo, p.endsWith = function (e, t, n) { e = _(e), t = c(t); var r = e.length, r = n = n === Ho ? r : et(S(n), 0, r); return 0 <= (n -= t.length) && e.slice(n, r) == t }, p.eq = L, p.escape = function (e) { return (e = _(e)) && qa.test(e) ? e.replace(ka, eu) : e }, p.escapeRegExp = function (e) { return (e = _(e)) && Za.test(e) ? e.replace($a, "\\$&") : e }, p.every = function (e, t, n) { return (Y(e) ? Ns : at)(e, h(t = n && m(e, t, n) ? Ho : t, 3)) }, p.find = zr, p.findIndex = vr, p.findKey = function (e, t) { return Ys(e, h(t, 3), ht) }, p.findLast = Kr, p.findLastIndex = Rr, p.findLastKey = function (e, t) { return Ys(e, h(t, 3), mt) }, p.floor = jo, p.forEach = Qr, p.forEachRight = Xr, p.forIn = function (e, t) { return null == e ? e : ct(e, h(t, 3), w) }, p.forInRight = function (e, t) { return null == e ? e : lt(e, h(t, 3), w) }, p.forOwn = function (e, t) { return e && ht(e, h(t, 3)) }, p.forOwnRight = function (e, t) { return e && mt(e, h(t, 3)) }, p.get = qi, p.gt = di, p.gte = fi, p.has = function (e, t) { return null != e && tr(e, t, gt) }, p.hasIn = Gi, p.head = xr, p.identity = D, p.includes = function (e, t, n, r) { return e = l(e) ? e : no(e), n = n && !r ? S(n) : 0, r = e.length, n < 0 && (n = C(r + n, 0)), Oi(e) ? n <= r && -1 < e.indexOf(t, n) : !!r && -1 < ha(e, t, n) }, p.indexOf = function (e, t, n) { var r = null == e ? 0 : e.length; return r ? ha(e, t, e = (e = null == n ? 0 : S(n)) < 0 ? C(r + e, 0) : e) : -1 }, p.inRange = function (e, t, n) { return t = Ni(t), n === Ho ? (n = t, t = 0) : n = Ni(n), (e = e = x(e)) >= v(t = t, n = n) && e < C(t, n) }, p.invoke = Ki, p.isArguments = gi, p.isArray = Y, p.isArrayBuffer = yi, p.isArrayLike = l, p.isArrayLikeObject = P, p.isBoolean = function (e) { return !0 === e || !1 === e || H(e) && n(e) == zo }, p.isBuffer = bi, p.isDate = q, p.isElement = function (e) { return H(e) && 1 === e.nodeType && !Ri(e) }, p.isEmpty = function (e) { if (null != e) { if (l(e) && (Y(e) || "string" == typeof e || "function" == typeof e.splice || bi(e) || wi(e) || gi(e))) return !e.length; var t, n = U(e); if (n == Qo || n == Jo) return !e.size; if (ur(e)) return !Rt(e).length; for (t in e) if (j.call(e, t)) return !1 } return !0 }, p.isEqual = function (e, t) { return At(e, t) }, p.isEqualWith = function (e, t, n) { var r = (n = "function" == typeof n ? n : Ho) ? n(e, t) : Ho; return r === Ho ? At(e, t, Ho, n) : !!r }, p.isError = Pi, p.isFinite = function (e) { return "number" == typeof e && fe(e) }, p.isFunction = Ti, p.isInteger = Ai, p.isLength = Ii, p.isMap = Ci, p.isMatch = function (e, t) { return e === t || It(e, t, $n(t)) }, p.isMatchWith = function (e, t, n) { return n = "function" == typeof n ? n : Ho, It(e, t, $n(t), n) }, p.isNaN = function (e) { return vi(e) && e != +e }, p.isNative = function (e) { if (sr(e)) throw new E("Unsupported core-js use. Try https://npms.io/search?q=ponyfill."); return Ct(e) }, p.isNil = function (e) { return null == e }, p.isNull = function (e) { return null === e }, p.isNumber = vi, p.isObject = T, p.isObjectLike = H, p.isPlainObject = Ri, p.isRegExp = Si, p.isSafeInteger = function (e) { return Ai(e) && -qo <= e && e <= qo }, p.isSet = xi, p.isString = Oi, p.isSymbol = b, p.isTypedArray = wi, p.isUndefined = function (e) { return e === Ho }, p.isWeakMap = function (e) { return H(e) && U(e) == ta }, p.isWeakSet = function (e) { return H(e) && "[object WeakSet]" == n(e) }, p.join = function (e, t) { return null == e ? "" : ge.call(e, t) }, p.kebabCase = ao, p.last = r, p.lastIndexOf = function (e, t, n) { var r = null == e ? 0 : e.length; if (!r) return -1; var i = r; if (n !== Ho && (i = (i = S(n)) < 0 ? C(r + i, 0) : v(i, r - 1)), t != t) return Hs(e, Ws, i, !0); for (var o = e, a = t, s = i + 1; s--;)if (o[s] === a) return s; return s }, p.lowerCase = so, p.lowerFirst = uo, p.lt = Di, p.lte = Ei, p.max = function (e) { return e && e.length ? st(e, D, ft) : Ho }, p.maxBy = function (e, t) { return e && e.length ? st(e, h(t, 2), ft) : Ho }, p.mean = function (e) { return qs(e, D) }, p.meanBy = function (e, t) { return qs(e, h(t, 2)) }, p.min = function (e) { return e && e.length ? st(e, D, xt) : Ho }, p.minBy = function (e, t) { return e && e.length ? st(e, h(t, 2), xt) : Ho }, p.stubArray = Do, p.stubFalse = Eo, p.stubObject = function () { return {} }, p.stubString = function () { return "" }, p.stubTrue = function () { return !0 }, p.multiply = Uo, p.nth = function (e, t) { return e && e.length ? Mt(e, S(t)) : Ho }, p.noConflict = function () { return oa._ === this && (oa._ = Z), this }, p.noop = Co, p.now = ri, p.pad = function (e, t, n) { e = _(e); var r = (t = S(t)) ? da(e) : 0; return !t || t <= r ? e : Dn(pe(t = (t - r) / 2), n) + e + Dn(_e(t), n) }, p.padEnd = function (e, t, n) { e = _(e); var r = (t = S(t)) ? da(e) : 0; return t && r < t ? e + Dn(t - r, n) : e }, p.padStart = function (e, t, n) { e = _(e); var r = (t = S(t)) ? da(e) : 0; return t && r < t ? Dn(t - r, n) + e : e }, p.parseInt = function (e, t, n) { return t = n || null == t ? 0 : t && +t, Pe(_(e).replace(es, ""), t || 0) }, p.random = function (e, t, n) { var r; return n && "boolean" != typeof n && m(e, t, n) && (t = n = Ho), n === Ho && ("boolean" == typeof t ? (n = t, t = Ho) : "boolean" == typeof e && (n = e, e = Ho)), e === Ho && t === Ho ? (e = 0, t = 1) : (e = Ni(e), t === Ho ? (t = e, e = 0) : t = Ni(t)), t < e && (r = e, e = t, t = r), n || e % 1 || t % 1 ? (r = Te(), v(e + r * (t - e + Is("1e-" + ((r + "").length - 1))), t)) : Ut(e, t) }, p.reduce = function (e, t, n) { var r = Y(e) ? Fs : Vs, i = arguments.length < 3; return r(e, h(t, 4), n, i, it) }, p.reduceRight = function (e, t, n) { var r = Y(e) ? Us : Vs, i = arguments.length < 3; return r(e, h(t, 4), n, i, ot) }, p.repeat = function (e, t, n) { return t = (n ? m(e, t, n) : t === Ho) ? 1 : S(t), Lt(_(e), t) }, p.replace = function () { var e = arguments, t = _(e[0]); return e.length < 3 ? t : t.replace(e[1], e[2]) }, p.result = function (e, t, n) { var r = -1, i = (t = an(t, e)).length; for (i || (i = 1, e = Ho); ++r < i;) { var o = null == e ? Ho : e[Ar(t[r])]; o === Ho && (r = i, o = n), e = Ti(o) ? o.call(e) : o } return e }, p.round = Lo, p.runInContext = i, p.sample = function (e) { return (Y(e) ? qe : Yt)(e) }, p.size = function (e) { var t; return null == e ? 0 : l(e) ? Oi(e) ? da(e) : e.length : (t = U(e)) == Qo || t == Jo ? e.size : Rt(e).length }, p.snakeCase = co, p.some = function (e, t, n) { return (Y(e) ? Ls : Gt)(e, h(t = n && m(e, t, n) ? Ho : t, 3)) }, p.sortedIndex = function (e, t) { return Vt(e, t) }, p.sortedIndexBy = function (e, t, n) { return zt(e, t, h(n, 2)) }, p.sortedIndexOf = function (e, t) { var n = null == e ? 0 : e.length; if (n) { var r = Vt(e, t); if (r < n && L(e[r], t)) return r } return -1 }, p.sortedLastIndex = function (e, t) { return Vt(e, t, !0) }, p.sortedLastIndexBy = function (e, t, n) { return zt(e, t, h(n, 2), !0) }, p.sortedLastIndexOf = function (e, t) { if (null == e ? 0 : e.length) { var n = Vt(e, t, !0) - 1; if (L(e[n], t)) return n } return -1 }, p.startCase = lo, p.startsWith = function (e, t, n) { return e = _(e), n = null == n ? 0 : et(S(n), 0, e.length), t = c(t), e.slice(n, n + t.length) == t }, p.subtract = Yo, p.sum = function (e) { return e && e.length ? zs(e, D) : 0 }, p.sumBy = function (e, t) { return e && e.length ? zs(e, h(t, 2)) : 0 }, p.template = function (a, e, t) { var s, u, n = p.templateSettings; t && m(a, e, t) && (e = Ho), a = _(a), e = Li({}, e, n, Yn); var r = O(t = Li({}, e.imports, n.imports, Yn)), i = Qs(t, r), c = 0, n = e.interpolate || ds, l = "__p += '", t = B((e.escape || ds).source + "|" + n.source + "|" + (n === za ? ss : ds).source + "|" + (e.evaluate || ds).source + "|$", "g"), o = "//# sourceURL=" + (j.call(e, "sourceURL") ? (e.sourceURL + "").replace(/[\r\n]/g, " ") : "lodash.templateSources[" + ++As + "]") + "\n"; if (a.replace(t, function (e, t, n, r, i, o) { return n = n || r, l += a.slice(c, o).replace(fs, tu), t && (s = !0, l += "' +\n__e(" + t + ") +\n'"), i && (u = !0, l += "';\n" + i + ";\n__p += '"), n && (l += "' +\n((__t = (" + n + ")) == null ? '' : __t) +\n'"), c = o + e.length, e }), l += "';\n", (n = j.call(e, "variable") && e.variable) || (l = "with (obj) {\n" + l + "\n}\n"), l = (u ? l.replace(Ua, "") : l).replace(La, "$1").replace(Ya, "$1;"), l = "function(" + (n || "obj") + ") {\n" + (n ? "" : "obj || (obj = {});\n") + "var __t, __p = ''" + (s ? ", __e = _.escape" : "") + (u ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ";\n") + l + "return __p\n}", (t = po(function () { return M(r, o + "return " + l).apply(Ho, i) })).source = l, Pi(t)) throw t; return t }, p.times = function (e, t) { if ((e = S(e)) < 1 || qo < e) return []; for (var n = Go, r = v(e, Go), r = (t = h(t), e -= Go, Ks(r, t)); ++n < e;)t(n); return r }, p.toFinite = Ni, p.toInteger = S, p.toLength = Bi, p.toLower = function (e) { return _(e).toLowerCase() }, p.toNumber = x, p.toSafeInteger = function (e) { return e ? et(S(e), -qo, qo) : 0 === e ? e : 0 }, p.toString = _, p.toUpper = function (e) { return _(e).toUpperCase() }, p.trim = function (e, t, n) { return (e = _(e)) && (n || t === Ho) ? e.replace(Ja, "") : e && (t = c(t)) ? un(n = fa(e), $s(n, t = fa(t)), Zs(n, t) + 1).join("") : e }, p.trimEnd = function (e, t, n) { return (e = _(e)) && (n || t === Ho) ? e.replace(ts, "") : e && (t = c(t)) ? un(n = fa(e), 0, Zs(n, fa(t)) + 1).join("") : e }, p.trimStart = function (e, t, n) { return (e = _(e)) && (n || t === Ho) ? e.replace(es, "") : e && (t = c(t)) ? un(n = fa(e), $s(n, fa(t))).join("") : e }, p.truncate = function (e, t) { var n, r = 30, i = "...", t = (T(t) && (n = "separator" in t ? t.separator : n, r = "length" in t ? S(t.length) : r, i = "omission" in t ? c(t.omission) : i), (e = _(e)).length); if ((t = _a(e) ? (o = fa(e)).length : t) <= r) return e; if ((t = r - da(i)) < 1) return i; var o, r = o ? un(o, 0, t).join("") : e.slice(0, t); if (n !== Ho) if (o && (t += r.length - t), Si(n)) { if (e.slice(t).search(n)) { var a, s = r; for ((n = n.global ? n : B(n.source, _(us.exec(n)) + "g")).lastIndex = 0; a = n.exec(s);)var u = a.index; r = r.slice(0, u === Ho ? t : u) } } else e.indexOf(c(n), t) != t && -1 < (o = r.lastIndexOf(n)) && (r = r.slice(0, o)); return r + i }, p.unescape = function (e) { return (e = _(e)) && Wa.test(e) ? e.replace(Ha, ou) : e }, p.uniqueId = function (e) { var t = ++K; return _(e) + t }, p.upperCase = ho, p.upperFirst = mo, p.each = Qr, p.eachRight = Xr, p.first = xr, Io(p, (Fo = {}, ht(p, function (e, t) { j.call(p.prototype, t) || (Fo[t] = e) }), Fo), { chain: !1 }), p.VERSION = "4.17.15", sa(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function (e) { p[e].placeholder = p }), sa(["drop", "take"], function (n, r) { g.prototype[n] = function (e) { e = e === Ho ? 1 : C(S(e), 0); var t = this.__filtered__ && !r ? new g(this) : this.clone(); return t.__filtered__ ? t.__takeCount__ = v(e, t.__takeCount__) : t.__views__.push({ size: v(e, Go), type: n + (t.__dir__ < 0 ? "Right" : "") }), t }, g.prototype[n + "Right"] = function (e) { return this.reverse()[n](e).reverse() } }), sa(["filter", "map", "takeWhile"], function (e, t) { var n = t + 1, r = 1 == n || 3 == n; g.prototype[e] = function (e) { var t = this.clone(); return t.__iteratees__.push({ iteratee: h(e, 3), type: n }), t.__filtered__ = t.__filtered__ || r, t } }), sa(["head", "last"], function (e, t) { var n = "take" + (t ? "Right" : ""); g.prototype[e] = function () { return this[n](1).value()[0] } }), sa(["initial", "tail"], function (e, t) { var n = "drop" + (t ? "" : "Right"); g.prototype[e] = function () { return this.__filtered__ ? new g(this) : this[n](1) } }), g.prototype.compact = function () { return this.filter(D) }, g.prototype.find = function (e) { return this.filter(e).head() }, g.prototype.findLast = function (e) { return this.reverse().find(e) }, g.prototype.invokeMap = a(function (t, n) { return "function" == typeof t ? new g(this) : this.map(function (e) { return Pt(e, t, n) }) }), g.prototype.reject = function (e) { return this.filter(hi(h(e))) }, g.prototype.slice = function (e, t) { e = S(e); var n = this; return n.__filtered__ && (0 < e || t < 0) ? new g(n) : (e < 0 ? n = n.takeRight(-e) : e && (n = n.drop(e)), t !== Ho ? (t = S(t)) < 0 ? n.dropRight(-t) : n.take(t - e) : n) }, g.prototype.takeRightWhile = function (e) { return this.reverse().takeWhile(e).reverse() }, g.prototype.toArray = function () { return this.take(Go) }, ht(g.prototype, function (c, e) { var l = /^(?:filter|find|map|reject)|While$/.test(e), h = /^(?:head|last)$/.test(e), m = p[h ? "take" + ("last" == e ? "Right" : "") : e], _ = h || /^find/.test(e); m && (p.prototype[e] = function () { function e(e) { return e = m.apply(p, la([e], r)), h && s ? e[0] : e } var t, n = this.__wrapped__, r = h ? [1] : arguments, i = n instanceof g, o = r[0], a = i || Y(n), s = (a && l && "function" == typeof o && 1 != o.length && (i = a = !1), this.__chain__), o = !!this.__actions__.length, u = _ && !s, i = i && !o; return !_ && a ? (n = i ? n : new g(this), (t = c.apply(n, r)).__actions__.push({ func: qr, args: [e], thisArg: Ho }), new f(t, s)) : u && i ? c.apply(this, r) : (t = this.thru(e), u ? h ? t.value()[0] : t.value() : t) }) }), sa(["pop", "push", "shift", "sort", "splice", "unshift"], function (e) { var n = W[e], r = /^(?:push|sort|unshift)$/.test(e) ? "tap" : "thru", i = /^(?:pop|shift)$/.test(e); p.prototype[e] = function () { var e, t = arguments; return i && !this.__chain__ ? (e = this.value(), n.apply(Y(e) ? e : [], t)) : this[r](function (e) { return n.apply(Y(e) ? e : [], t) }) } }), ht(g.prototype, function (e, t) { var n, r = p[t]; r && (n = r.name + "", j.call(xe, n) || (xe[n] = []), xe[n].push({ name: t, func: r })) }), xe[Sn(Ho, 2).name] = [{ name: "wrapper", func: Ho }], g.prototype.clone = function () { var e = new g(this.__wrapped__); return e.__actions__ = R(this.__actions__), e.__dir__ = this.__dir__, e.__filtered__ = this.__filtered__, e.__iteratees__ = R(this.__iteratees__), e.__takeCount__ = this.__takeCount__, e.__views__ = R(this.__views__), e }, g.prototype.reverse = function () { var e; return this.__filtered__ ? ((e = new g(this)).__dir__ = -1, e.__filtered__ = !0) : (e = this.clone()).__dir__ *= -1, e }, g.prototype.value = function () { var e = this.__wrapped__.value(), t = this.__dir__, n = Y(e), r = t < 0, i = n ? e.length : 0, o = function (e, t, n) { var r = -1, i = n.length; for (; ++r < i;) { var o = n[r], a = o.size; switch (o.type) { case "drop": e += a; break; case "dropRight": t -= a; break; case "take": t = v(t, e + a); break; case "takeRight": e = C(e, t - a) } } return { start: e, end: t } }(0, i, this.__views__), a = o.start, s = (o = o.end) - a, u = r ? o : a - 1, c = this.__iteratees__, l = c.length, h = 0, m = v(s, this.__takeCount__); if (!n || !r && i == s && m == s) return en(e, this.__actions__); var _ = []; e: for (; s-- && h < m;) { for (var p = -1, d = e[u += t]; ++p < l;) { var f = c[p], g = f.iteratee, f = f.type, g = g(d); if (2 == f) d = g; else if (!g) { if (1 == f) continue e; break e } } _[h++] = d } return _ }, p.prototype.at = Gr, p.prototype.chain = function () { return Wr(this) }, p.prototype.commit = function () { return new f(this.value(), this.__chain__) }, p.prototype.next = function () { this.__values__ === Ho && (this.__values__ = Mi(this.value())); var e = this.__index__ >= this.__values__.length; return { done: e, value: e ? Ho : this.__values__[this.__index__++] } }, p.prototype.plant = function (e) { for (var t, n = this; n instanceof Ue;)var r = Cr(n), i = (r.__index__ = 0, r.__values__ = Ho, t ? i.__wrapped__ = r : t = r, r), n = n.__wrapped__; return i.__wrapped__ = e, t }, p.prototype.reverse = function () { var e = this.__wrapped__; return e instanceof g ? (e = e, (e = (e = this.__actions__.length ? new g(this) : e).reverse()).__actions__.push({ func: qr, args: [Dr], thisArg: Ho }), new f(e, this.__chain__)) : this.thru(Dr) }, p.prototype.toJSON = p.prototype.valueOf = p.prototype.value = function () { return en(this.__wrapped__, this.__actions__) }, p.prototype.first = p.prototype.head, se && (p.prototype[se] = function () { return this }), p }(); i ? ((i.exports = ga)._ = ga, r._ = ga) : oa._ = ga }.call(this) }.call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, {}]
}, {}, [8])(8)
});;
function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){function Po(t,n,e){switch(e.length){case 0:return t.call(n);case 1:return t.call(n,e[0]);case 2:return t.call(n,e[0],e[1]);case 3:return t.call(n,e[0],e[1],e[2])}return t.apply(n,e)}function su(t,n,e,r){for(var i=-1,o=null==t?0:t.length;++i"']/g,Tu=RegExp(Ou.source),ku=RegExp(Su.source),Ru=/<%-([\s\S]+?)%>/g,Eu=/<%([\s\S]+?)%>/g,Pu=/<%=([\s\S]+?)%>/g,Du=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Wu=/^\w*$/,Fu=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,iu=/[\\^$.*+?()[\]{}|]/g,Mu=RegExp(iu.source),Bu=/^\s+|\s+$/g,Nu=/^\s+/,Vu=/\s+$/,$u=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Lu=/\{\n\/\* \[wrapped with (.+)\] \*/,zu=/,? & /,Uu=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,qu=/\\(\\)?/g,Hu=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Zu=/\w*$/,Gu=/^[-+]0x[0-9a-f]+$/i,Yu=/^0b[01]+$/i,Ku=/^\[object .+?Constructor\]$/,Ju=/^0o[0-7]+$/i,Qu=/^(?:0|[1-9]\d*)$/,Xu=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ou=/($^)/,ta=/['\n\r\u2028\u2029\\]/g,n="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*",e="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+n,na=RegExp("['’]","g"),ea=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g"),i=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]?|[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])"+n,"g"),ra=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['’](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['’](?:D|LL|M|RE|S|T|VE))?|\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])|\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])|\\d+",e].join("|"),"g"),uu=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),ia=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,oa="Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),au={},cu=(au["[object Float32Array]"]=au["[object Float64Array]"]=au["[object Int8Array]"]=au["[object Int16Array]"]=au["[object Int32Array]"]=au["[object Uint8Array]"]=au["[object Uint8ClampedArray]"]=au["[object Uint16Array]"]=au["[object Uint32Array]"]=!0,au["[object Arguments]"]=au["[object Array]"]=au["[object ArrayBuffer]"]=au["[object Boolean]"]=au["[object DataView]"]=au["[object Date]"]=au["[object Error]"]=au["[object Function]"]=au["[object Map]"]=au["[object Number]"]=au["[object Object]"]=au["[object RegExp]"]=au["[object Set]"]=au["[object String]"]=au["[object WeakMap]"]=!1,{}),o=(cu["[object Arguments]"]=cu["[object Array]"]=cu["[object ArrayBuffer]"]=cu["[object DataView]"]=cu["[object Boolean]"]=cu["[object Date]"]=cu["[object Float32Array]"]=cu["[object Float64Array]"]=cu["[object Int8Array]"]=cu["[object Int16Array]"]=cu["[object Int32Array]"]=cu["[object Map]"]=cu["[object Number]"]=cu["[object Object]"]=cu["[object RegExp]"]=cu["[object Set]"]=cu["[object String]"]=cu["[object Symbol]"]=cu["[object Uint8Array]"]=cu["[object Uint8ClampedArray]"]=cu["[object Uint16Array]"]=cu["[object Uint32Array]"]=!0,cu["[object Error]"]=cu["[object Function]"]=cu["[object WeakMap]"]=!1,{"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"}),ua=parseFloat,aa=parseInt,n="object"==("undefined"==typeof global?"undefined":_typeof(global))&&global&&global.Object===Object&&global,e="object"==("undefined"==typeof self?"undefined":_typeof(self))&&self&&self.Object===Object&&self,lu=n||e||Function("return this")(),e="object"==("undefined"==typeof exports?"undefined":_typeof(exports))&&exports&&!exports.nodeType&&exports,r=e&&"object"==("undefined"==typeof module?"undefined":_typeof(module))&&module&&!module.nodeType&&module,ca=r&&r.exports===e,u=ca&&n.process,n=function(){try{var t=r&&r.require&&r.require("util").types;return t||u&&u.binding&&u.binding("util")}catch(t){}}(),la=n&&n.isArrayBuffer,fa=n&&n.isDate,sa=n&&n.isMap,pa=n&&n.isRegExp,ha=n&&n.isSet,da=n&&n.isTypedArray,a=Uo("length"),ba=t({"À":"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","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),_a=t({"&":"&","<":"<",">":">",'"':""","'":"'"}),ga=t({"&":"&","<":"<",">":">",""":'"',"'":"'"}),fu=function i(t){function h(t){if(x(t)&&!M(t)&&!(t instanceof b)){if(t instanceof d)return t;if(P.call(t,"__wrapped__"))return Qn(t)}return new d(t)}function o(){}function d(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=nu}function b(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function B(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n>>0,n>>>=0,e=k(i);++r>>1,u=t[o];null!==u&&!C(u)&&(e?u<=n:u>>0)?(t=A(t))&&("string"==typeof n||null!=n&&!Ni(n))&&!(n=l(n))&&uu.test(t)?Zt(tu(t),0,e):t.split(n,e):[]},h.spread=function(e,r){if("function"!=typeof e)throw new E("Expected a function");return r=null==r?0:D(w(r),0),a(function(t){var n=t[r];return t=Zt(t,0,r),n&&No(t,n),Po(e,this,t)})},h.tail=function(t){var n=null==t?0:t.length;return n?u(t,1,n):[]},h.take=function(t,n,e){return t&&t.length?u(t,0,(n=e||n===nu?1:w(n))<0?0:n):[]},h.takeRight=function(t,n,e){var r=null==t?0:t.length;return r?u(t,(n=r-(n=e||n===nu?1:w(n)))<0?0:n,r):[]},h.takeRightWhile=function(t,n){return t&&t.length?Vt(t,f(n,3),!1,!0):[]},h.takeWhile=function(t,n){return t&&t.length?Vt(t,f(n,3)):[]},h.tap=function(t,n){return n(t),t},h.throttle=function(t,n,e){var r=!0,i=!0;if("function"!=typeof t)throw new E("Expected a function");return v(e)&&(r="leading"in e?!!e.leading:r,i="trailing"in e?!!e.trailing:i),de(t,n,{leading:r,maxWait:n,trailing:i})},h.thru=ce,h.toArray=je,h.toPairs=io,h.toPairsIn=oo,h.toPath=function(t){return M(t)?Bo(t,Yn):C(t)?[t]:I(oi(A(t)))},h.toPlainObject=Oe,h.transform=function(t,r,i){var n,e=M(t),o=e||Mi(t)||$i(t);return r=f(r,4),null==i&&(n=t&&t.constructor,i=o?e?new n:[]:v(t)&&ye(n)?$r(ar(t)):{}),(o?Do:it)(t,function(t,n,e){return r(i,t,n,e)}),i},h.unary=function(t){return pe(t,1)},h.union=ai,h.unionBy=ci,h.unionWith=li,h.uniq=function(t){return t&&t.length?Bt(t):[]},h.uniqBy=function(t,n){return t&&t.length?Bt(t,f(n,2)):[]},h.uniqWith=function(t,n){return n="function"==typeof n?n:nu,t&&t.length?Bt(t,nu,n):[]},h.unset=function(t,n){return null==t||Nt(t,n)},h.unzip=oe,h.unzipWith=ue,h.update=function(t,n,e){return t=null!=t?Et(t,n,(e=qt(e))(at(t,n)),void 0):t},h.updateWith=function(t,n,e,r){return r="function"==typeof r?r:nu,t=null!=t?Et(t,n,(e=qt(e))(at(t,n)),r):t},h.values=Re,h.valuesIn=function(t){return null==t?[]:Go(t,S(t))},h.without=fi,h.words=De,h.wrap=function(t,n){return ki(qt(n),t)},h.xor=si,h.xorBy=pi,h.xorWith=hi,h.zip=di,h.zipObject=function(t,n){return zt(t||[],n||[],q)},h.zipObjectDeep=function(t,n){return zt(t||[],n||[],Et)},h.zipWith=bi,h.entries=io,h.entriesIn=oo,h.extend=qi,h.extendWith=Hi,Me(h,h),h.add=Ao,h.attempt=bo,h.camelCase=uo,h.capitalize=Ee,h.ceil=Oo,h.clamp=function(t,n,e){return e===nu&&(e=n,n=nu),e!==nu&&(e=(e=j(e))==e?e:0),n!==nu&&(n=(n=j(n))==n?n:0),J(j(t),n,e)},h.clone=function(t){return g(t,4)},h.cloneDeep=function(t){return g(t,5)},h.cloneDeepWith=function(t,n){return g(t,5,n="function"==typeof n?n:nu)},h.cloneWith=function(t,n){return g(t,4,n="function"==typeof n?n:nu)},h.conformsTo=function(t,n){return null==n||Q(t,n,O(n))},h.deburr=Pe,h.defaultTo=function(t,n){return null==t||t!=t?n:t},h.divide=So,h.endsWith=function(t,n,e){t=A(t),n=l(n);var r=t.length,r=e=e===nu?r:J(w(e),0,r);return 0<=(e-=n.length)&&t.slice(e,r)==n},h.eq=y,h.escape=function(t){return(t=A(t))&&ku.test(t)?t.replace(Su,_a):t},h.escapeRegExp=function(t){return(t=A(t))&&Mu.test(t)?t.replace(iu,"\\$&"):t},h.every=function(t,n,e){return(M(t)?pu:nt)(t,f(n=e&&s(t,n,e)?nu:n,3))},h.find=yi,h.findIndex=Xn,h.findKey=function(t,n){return du(t,f(n,3),it)},h.findLast=mi,h.findLastIndex=te,h.findLastKey=function(t,n){return du(t,f(n,3),ot)},h.floor=To,h.forEach=le,h.forEachRight=fe,h.forIn=function(t,n){return null==t?t:Zr(t,f(n,3),S)},h.forInRight=function(t,n){return null==t?t:Gr(t,f(n,3),S)},h.forOwn=function(t,n){return t&&it(t,f(n,3))},h.forOwnRight=function(t,n){return t&&ot(t,f(n,3))},h.get=Se,h.gt=Pi,h.gte=Di,h.has=function(t,n){return null!=t&&Fn(t,n,ft)},h.hasIn=Te,h.head=ee,h.identity=T,h.includes=function(t,n,e,r){return t=p(t)?t:Re(t),e=e&&!r?w(e):0,r=t.length,e<0&&(e=D(r+e,0)),we(t)?e<=r&&-1=W(n,e)&&t=this.__values__.length;return{done:t,value:t?nu:this.__values__[this.__index__++]}},h.prototype.plant=function(t){for(var n,e=this;e instanceof o;)var r=Qn(e),i=(r.__index__=0,r.__values__=nu,n?i.__wrapped__=r:n=r,r),e=e.__wrapped__;return i.__wrapped__=t,n},h.prototype.reverse=function(){var t=this.__wrapped__;return t instanceof b?((t=(t=this.__actions__.length?new b(this):t).reverse()).__actions__.push({func:ce,args:[ie],thisArg:nu}),new d(t,this.__chain__)):this.thru(ie)},h.prototype.toJSON=h.prototype.valueOf=h.prototype.value=function(){return $t(this.__wrapped__,this.__actions__)},h.prototype.first=h.prototype.head,pr&&(h.prototype[pr]=function(){return this}),h}();"function"==typeof define&&"object"==_typeof(define.amd)&&define.amd?(lu._=fu,define(function(){return fu})):r?((r.exports=fu)._=fu,e._=fu):lu._=fu}.call(this),Vue.use(VeeValidate),Vue.filter("formatNumber",function(t){return parseFloat(t).toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,").replace(".00","")}),Vue.filter("formatCurrency",function(t){return parseFloat(t).toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,").replace(".00","")}),Vue.filter("roundDownToNearestTen",function(t){t=10*Math.floor(t/10);return parseFloat(t).toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,").replace(".00","")}),Vue.filter("roundDownToNearestHundred",function(t){t=100*Math.floor(t/100);return parseFloat(t).toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,").replace(".00","")}),Vue.filter("roundDownToNearestThousand",function(t){t=1e3*Math.floor(t/1e3);return parseFloat(t).toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,").replace(".00","")}),Vue.component("popbox",{props:["heading","content","iconClass"],data:function(){return{visible:!1}},template:' '}),Vue.component("currency-input",{inject:["$validator"],props:["value","precision","placeholderprop","validateprop","minlengthprop","maxlengthprop","fieldname","errorvalidationprop","errormsgprop","classBinding"],template:' ',data:function(){return{salary:"",hasError:!1}},computed:{displayValue:{get:function(){return isNaN(this.value)||0===this.value.length?"$":"$"+parseFloat(this.value).toFixed(this.precision).replace(/(\d)(?=(\d{3})+(?:\.\d+)?$)/g,"$1,")},set:function(t){t=parseFloat(t.replace(/[^\d\.]/g,""));isNaN(t)&&(t=0),this.$emit("input",t)}}},created:function(){var n=this;this.$validator.extend(n.fieldname+"-val",{getMessage:function(t){return t},validate:function(t){return t=t.replace(/,/g,"").replace("$",""),isNaN(parseFloat(t))?n.hasError=!0:n.hasError=parseFloat(t)>=n.minlengthprop&&parseFloat(t)<=parseFloat(n.maxlengthprop),n.hasError}})}}),Vue.component("percentage-input",{inject:["$validator"],props:["value","placeholderprop","validateprop","minimum","maximum","fieldname","errorvalidationprop","errormsgprop"],template:'{{errormsgprop}}
',data:function(){return{isInputActive:!1,fieldName:"",errValidation:this.errorvalidationprop,hasError:!1}},computed:{displayValue:{get:function(){return this.isInputActive?isNaN(this.value)||0===this.value.length?"%":this.value.toString():isNaN(this.value)||0===this.value.length?"%":this.value+"%"},set:function(t){t=parseFloat(t.replace(/[^\d\.]/g,""));isNaN(t)&&(t=0),this.$emit("input",t)}}},created:function(){var n=this;this.$validator.extend("percentagelimit",{getMessage:function(t){return t},validate:function(t){return t=parseFloat(t.replace(/[^\d\.]/g,"")),isNaN(parseFloat(t))?n.hasError=!0:n.hasError=!(0===parseFloat(t))||parseFloat(t)>=parseFloat(n.minimum)&&parseFloat(t)<=parseFloat(n.maximum),n.hasError}})}}),Vue.component("dob",{inject:["$validator"],data:function(){return{dob_day:"",dob_month:"",dob_year:"",invalid_dob_day:!1,invalid_dob_month:!1,invalid_dob_year:!1}},watch:{dob_day:function(){this.setFieldErrorState(this.validate()),this.$emit("input",this.dateOfBirth)},dob_month:function(){this.setFieldErrorState(this.validate()),this.$emit("input",this.dateOfBirth)},dob_year:function(){this.setFieldErrorState(this.validate()),this.$emit("input",this.dateOfBirth)}},methods:{dateOfBirth:function(){return this.dob_year+"-"+("00"+this.dob_month).substring(this.dob_month.length)+"-"+("00"+this.dob_day).substring(this.dob_day.length)},setFieldErrorState:function(t){this.invalid_dob_day=2===t,this.invalid_dob_month=1===t,this.invalid_dob_year=0===t},validate:function(){var t,n,e,r,i=-1;return 0r)&&(n=!1,i=0),document.getElementById("dob-error").className=n?"collapse":"field-error",n||0===i||(i=t.invalidAt())),i}}}),Vue.component("dropdown",{template:"{{ selectedOption.name }} {{ placeholderText }} ",data:function(){return{selectedOption:{name:""},showMenu:!1,placeholderText:""}},props:{options:{type:[Array,Object]},selected:{},placeholder:""},mounted:function(){this.selectedOption=this.selected,this.placeholder&&(this.placeholderText=this.placeholder)},methods:{updateOption:function(t){this.selectedOption=t,this.showMenu=!1,this.$emit("option-changed",this.selectedOption)},toggleMenu:function(){this.showMenu=!this.showMenu}}}),Vue.component("selectmenu",{template:"{{ selectedOption.name }} {{ placeholderText }} {{ option.name }} ",data:function(){return{selectedOption:"",placeholderText:""}},props:{options:{type:[Array,Object]},selected:"",placeholder:""},mounted:function(){this.selectedOption=this.selected,this.placeholder&&(this.placeholderText=this.placeholder)},methods:{updateOption:function(t){this.selectedOption=t.target.value,this.showMenu=!1,this.$emit("option-changed",this.selectedOption)}}}),Vue.component("accordion",{data:function(){return{beforeAfterTax:0,beforeTax:0,afterTax:0,payReduction:0}},props:{output:{beforeTaxContribution:0,afterTaxContribution:0,taxSavings:0,coContributions:0,takeHomePayWithNoContributions:0,takeHomePayWithContributions:0,superWithNoContributions:0,superWithContributions:0,balanceIncrease:0,annualIncomeIncrease:0},frequency:String,frequencyText:String},created:function(){this.refresh()},watch:{output:function(){this.refresh()}},methods:{refresh:function(){var t=parseInt(0);switch(this.frequency){case"week":t=parseInt(52);break;case"fortnight":t=parseInt(26);break;case"month":t=parseInt(12)}var n=this.output.takeHomePayWithNoContributions-this.output.takeHomePayWithContributions;this.beforeTax=(0===t?this.output.beforeTaxContribution:this.output.beforeTaxContribution/t).toFixed(2),this.afterTax=(0===t?this.output.afterTaxContribution:this.output.afterTaxContribution/t).toFixed(2),this.payReduction=(0===t?n:n/t).toFixed(2),this.beforeAfterTax=(parseFloat(this.beforeTax)+parseFloat(this.afterTax)).toFixed(2)}}});var currentDate=new Date,date=currentDate.getDate()<10?"0".concat(currentDate.getDate()):""+currentDate.getDate(),intMonth=currentDate.getMonth()+1,month=intMonth<10?"0".concat(intMonth):""+intMonth,year=currentDate.getFullYear(),calculationDate=date+"/"+month+"/"+year,clientDefaults={OverrideFundDefaultInsurancePremiums:!0,InsurancePremium:0,CalculationDate:calculationDate,IncludeCoContributions:!0,SGCMaximumContributionBase:Number.POSITIVE_INFINITY,IncludePartner:!1,IncludeAgePension:!1,AgePensionAllowCouplePensions:!0,PriceInflationIndex:.025,WageInflationIndex:.04,AustralianRetirementTrustTargetIncomeInflationInRetirement:.0325,EnforceMinimumDrawingRequirements:!0,EnforceSGCRatesOfContribution:!0,TargetIncome:3e4,Name:"",RbLumpSum:null,InitialRateOfIndexedPension:null,DeflatedRbLumpSum:null,DeflatedAccumulationBalance:null,DeflatedInitialRateOfIndexedPension:null,IndexedPensionStartAge:null,StartingAge:null,LeavingAge:null,WithdrawalAge:null,Working:!1,IsActiveMember:!1,AgeNow:35,FutureYearsCurrentEmployment:100,ContributionRateSubsequentEmployment:.115,EmployerContributionRate:.115,InvestmentOption:1,InvestmentOptionInRetirement:4,MemberType:6,RetirementAge:67,Salary:5e4,Sex:"Male",SuperannuationBalance:0,AgeNow_2:35,FutureYearsCurrentEmployment_2:100,ContributionRateSubsequentEmployment_2:.115,EmployerContributionRate_2:.115,InvestmentOption_2:1,InvestmentOptionInRetirement_2:4,MemberType_2:6,RetirementAge_2:67,Salary_2:5e4,Sex_2:"Male",SuperannuationBalance_2:0,AustralianRetirementTrust_50:{startAge:55,male:[32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,13],female:[35,34,33,32,31,30,29,28,27,26,24,23,22,21,20,19,18,17,16,15,14]},AustralianRetirementTrust_10:{startAge:55,male:[42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22],female:[44,43,42,41,40,39,38,37,36,34,33,32,31,30,29,28,27,26,25,24,23]},AustralianRetirementTrustDeathTPDMale:{startAge:15,cost:[2,2,2,2,2,2,2,3.52,3.52,3.52,3.52,3.52,3.52,3.52,3.52,6.4,6.4,6.4,6.4,6.4,6.4,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,7.56,3.96,3.96,3.96]},AustralianRetirementTrustDeathTPDFemale:{startAge:15,cost:[1.2,1.2,1.2,1.2,1.2,1.2,1.2,2.36,2.36,2.36,2.36,2.36,2.36,2.36,2.36,4.32,4.32,4.32,4.32,4.32,4.32,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,5.92,2.56,2.56,2.56]},InvestmentOptions:{investmentOption_0:{name:"LifeCycle",grossReturn:.065,taxableFraction:.47619,feePercentageOnBalance:0,feePercentageOnBalanceCapped:6e-4,feePercentageOnBalanceCappedCap:500,feePercentageOnContributions:0,feeAnnualDollar:62.4},investmentOption_1:{name:"Low/Medium risk",grossReturn:.055,taxableFraction:.6061,feePercentageOnBalance:0,feePercentageOnBalanceCapped:6e-4,feePercentageOnBalanceCappedCap:500,feePercentageOnContributions:0,feeAnnualDollar:62.4},investmentOption_2:{name:"Medium risk",grossReturn:.06,taxableFraction:.5556,feePercentageOnBalance:0,feePercentageOnBalanceCapped:6e-4,feePercentageOnBalanceCappedCap:500,feePercentageOnContributions:0,feeAnnualDollar:62.4},investmentOption_3:{name:"Medium/High risk",grossReturn:.065,taxableFraction:.51282,feePercentageOnBalance:0,feePercentageOnBalanceCapped:6e-4,feePercentageOnBalanceCappedCap:500,feePercentageOnContributions:0,feeAnnualDollar:62.4},investmentOption_4:{name:"High risk",grossReturn:.07,taxableFraction:.47619,feePercentageOnBalance:0,feePercentageOnBalanceCapped:6e-4,feePercentageOnBalanceCappedCap:500,feePercentageOnContributions:0,feeAnnualDollar:62.4},investmentOption_5:{name:"AustralianRetirementTrustFeesInRetirement",grossReturn:0,taxableFraction:1,feePercentageOnBalance:0,feePercentageOnBalanceCapped:6e-4,feePercentageOnBalanceCappedCap:500,feePercentageOnContributions:0,feeAnnualDollar:156}}},app=new Vue({el:"#contributions-calculator",data:{age:"",salary:"",annualSalary:0,salary_help_visible:!1,employerRate_help_visible:!1,seeOthers_help_visible:!1,investmentOption_help_visible:!1,frequency:"year",amount:"",amounts:[500,1e3,2e3,5e3],employerRate:EmployerContributionRateDefault.value,annualContribution:0,taxType:"before",oneOffContribution:!1,verificationError:!1,verificationSucceeded:!1,isBusy:!1,isInputActive:!1,frequencyText:"",showTab:"calc",isDisclaimerVisible:!1,salaryFrequency:"year",formEdited:!1,optionCount:3,retirementAge:"",cpiInflation:2.5,wageInflation:3.7,retirementIncomePeriod:92,investmentOption:"investmentoption_1",adminFee:.1,retirementAge_help_visible:!1,cpiInflation_help_visible:!1,wageInflation_help_visible:!1,retirementIncomePeriod_help_visible:!1,maxContributionMessage:"",backBtnClicked:!1,calculateBtnClicked:!1,output:{withinLimits:!0,mix:{beforeTaxContribution:0,afterTaxContribution:0,taxSavings:0,coContributions:0,takeHomePayWithNoContributions:0,takeHomePayWithContributions:0,superWithNoContributions:0,superWithContributions:0,balanceIncrease:0,annualIncomeIncrease:0},pretax:{beforeTaxContribution:0,afterTaxContribution:0,taxSavings:0,coContributions:0,takeHomePayWithNoContributions:0,takeHomePayWithContributions:0,superWithNoContributions:0,superWithContributions:0,balanceIncrease:0,annualIncomeIncrease:0},posttax:{beforeTaxContribution:0,afterTaxContribution:0,taxSavings:0,coContributions:0,takeHomePayWithNoContributions:0,takeHomePayWithContributions:0,superWithNoContributions:0,superWithContributions:0,balanceIncrease:0,annualIncomeIncrease:0}}},computed:{maximumContribution:{get:function(){this.maxContributionMessage="The maximum amount for regular contributions is $120,000 per year. Learn more about contribution caps .";var t,n=36e4;switch(this.frequency){case"week":n=this.annualContribution>this.annualSalary?this.annualSalary/52:"2307";break;case"fortnight":n=this.annualContribution>this.annualSalary?this.annualSalary/26:"4615";break;case"month":n=this.annualContribution>this.annualSalary?this.annualSalary/12:"10000";break;case"year":n=this.annualContribution>this.annualSalary?this.annualSalary:"120000"}return t="decimal|min_value:1|max_value:"+n,this.annualContribution>this.annualSalary&&(this.maxContributionMessage="This calculator is not set up for adding more than your total salary to your super."),t}}},watch:{backBtnClicked:function(){this.isDisclaimerVisible=!1},age:function(){this.resetModel()},salary:function(){this.resetModel(),this.calculateAnnualSalary()},salaryFrequency:function(){this.resetModel(),this.calculateAnnualSalary()},rate:function(){this.resetModel()},frequency:function(){this.resetModel(),this.frequencyText="once"===this.frequency?"":"/"+this.frequency,this.calculateAnnualContribution()},amount:function(){this.resetModel(),this.calculateAnnualContribution()}},methods:{resetModel:function(){this.calculateBtnClicked=!1,this.output={withinLimits:!0,mix:{beforeTaxContribution:0,afterTaxContribution:0,taxSavings:0,coContributions:0,takeHomePayWithNoContributions:0,takeHomePayWithContributions:0,superWithNoContributions:0,superWithContributions:0,balanceIncrease:0,annualIncomeIncrease:0},pretax:{beforeTaxContribution:0,afterTaxContribution:0,taxSavings:0,coContributions:0,takeHomePayWithNoContributions:0,takeHomePayWithContributions:0,superWithNoContributions:0,superWithContributions:0,balanceIncrease:0,annualIncomeIncrease:0},posttax:{beforeTaxContribution:0,afterTaxContribution:0,taxSavings:0,coContributions:0,takeHomePayWithNoContributions:0,takeHomePayWithContributions:0,superWithNoContributions:0,superWithContributions:0,balanceIncrease:0,annualIncomeIncrease:0}}},onAmountChange:function(t){this.amount=t,this.calculateAnnualContribution()},calculateAnnualSalary:function(){switch(this.salaryFrequency){case"week":this.annualSalary=52*this.salary;break;case"fortnight":this.annualSalary=26*this.salary;break;case"month":this.annualSalary=12*this.salary;break;case"year":this.annualSalary=this.salary}},calculateAnnualContribution:function(){switch(this.frequency){case"week":this.annualContribution=52*this.amount,this.amounts=[25,50,100,200];break;case"fortnight":this.annualContribution=26*this.amount,this.amounts=[50,100,200,400];break;case"month":this.annualContribution=12*this.amount,this.amounts=[100,200,500,1e3];break;case"once":case"year":this.annualContribution=this.amount,this.amounts=[500,1e3,2e3,5e3]}},validate:function(){this.calculateBtnClicked=!0,!isNaN(this.salary)&&""!==this.salary||(this.salary=0),!isNaN(this.amount)&&""!==this.amount||(this.amount=0),this.onAmountChange(this.amount),document.getElementById("calculate-button").classList.remove("shake-it");var n=this;this.$validator.validateAll().then(function(t){t?(n.calculate(),void 0!==window.dataLayer&&(window.dataLayer.push({event:"ContCalcSubmit",contcalcvalue:n.amount,contcalcage:n.age}),!0===this.formEdited)&&window.dataLayer.push({event:"ContCalcValueEdit"}),this.formEdited=!0):(void 0!==window.dataLayer&&window.dataLayer.push({event:"ContCalcSubmitError"}),document.getElementById("calculate-button").classList.add("shake-it"),_.delay(function(){$("html,body").animate({scrollTop:$("#contributions-calculator").offset().top-80},1e3)},500))})},calculate:function(){this.frequencyText="once"===this.frequency?"":"/"+this.frequency,this.oneOffContribution="once"===this.frequency;var t=new ContributionsCalculator_Engine.Person(System.Decimal(this.annualSalary),"before"===this.taxType,System.Decimal(this.employerRate/100),System.Decimal(this.age)),n=new ContributionsCalculator_Engine.ContributionsInput(System.Decimal(this.annualContribution),this.oneOffContribution),t=ContributionsCalculator_Engine.Calculator.GetScenario(t,n),n=t.CoContributions.toFloat(),e=t.VoluntaryConcessionalContributions.toFloat(),r=t.VoluntaryNonConcessionalContributions.toFloat()+n,i=t.GrossAnnualSalary.toFloat(),o=parseInt(this.investmentOption.split("_")[1]),i={AgeNow:this.age,AgeNow_2:this.age,Salary:i,IncludeCoContributions:!1,EmployerContributionRate:this.employerRate/100,PriceInflationIndex:this.cpiInflation/100,WageInflationIndex:this.wageInflation/100,RetirementAge:this.retirementAge,RetirementIncomePeriod:this.retirementIncomePeriod,InvestmentOption:o,InvestmentOption_2:o,InvestmentOptionInRetirement:o,InvestmentOptionInRetirement_2:o,SunSuperTargetIncomeInflationInRetirement:this.cpiInflation/100},u=(1===o?(i.MemberType=6,i.MemberType_2=6):(i.MemberType=5,i.MemberType_2=5),.1!=this.adminFee&&(o=clientDefaults.InvestmentOptions["investmentOption_"+(o-1)],(u=Object.assign({},o)).feePercentageOnBalance=this.adminFee/100,u.name=o.name+" - User defined",i.InvestmentOption=7,i.InvestmentOption_2=7,i.InvestmentOptionInRetirement=7,i.InvestmentOptionInRetirement_2=7),this.runSuperannuationEngine(i)),o=Object.assign||function(t){for(var n=1;n