From 5b18497b11e71be4578ed95b67a257a33c2677eb Mon Sep 17 00:00:00 2001 From: shenjack <3695888@qq.com> Date: Fri, 5 Apr 2024 23:06:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20contains=20key?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dart-js/out.js | 14806 +++++++++++++++++++++----------------------- dart-js/test.dart | 16 +- 2 files changed, 7094 insertions(+), 7728 deletions(-) diff --git a/dart-js/out.js b/dart-js/out.js index 16650f1..a3045d1 100644 --- a/dart-js/out.js +++ b/dart-js/out.js @@ -20,7751 +20,7109 @@ // method or constructor. Used only when compiling programs with // --experiment-call-instrumentation. (function dartProgram() { - function copyProperties(from, to) { - var keys = Object.keys(from); - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - to[key] = from[key]; - } + function copyProperties(from, to) { + var keys = Object.keys(from); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + to[key] = from[key]; } - - function mixinProperties(from, to) { - var keys = Object.keys(from); - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - if (!to.hasOwnProperty(key)) - to[key] = from[key]; - } + } + function mixinProperties(from, to) { + var keys = Object.keys(from); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!to.hasOwnProperty(key)) + to[key] = from[key]; } - var supportsDirectProtoAccess = function () { - var cls = function () {}; - cls.prototype = { - p: {} + } + var supportsDirectProtoAccess = function() { + var cls = function() { + }; + cls.prototype = {p: {}}; + var object = new cls(); + if (!(object.__proto__ && object.__proto__.p === cls.prototype.p)) + return false; + try { + if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0) + return true; + if (typeof version == "function" && version.length == 0) { + var v = version(); + if (/^\d+\.\d+\.\d+\.\d+$/.test(v)) + return true; + } + } catch (_) { + } + return false; + }(); + function setFunctionNamesIfNecessary(holders) { + function t() { + } + ; + if (typeof t.name == "string") + return; + for (var i = 0; i < holders.length; i++) { + var holder = holders[i]; + var keys = Object.keys(holder); + for (var j = 0; j < keys.length; j++) { + var key = keys[j]; + var f = holder[key]; + if (typeof f == "function") + f.name = key; + } + } + } + function inherit(cls, sup) { + cls.prototype.constructor = cls; + cls.prototype["$is" + cls.name] = cls; + if (sup != null) { + if (supportsDirectProtoAccess) { + cls.prototype.__proto__ = sup.prototype; + return; + } + var clsPrototype = Object.create(sup.prototype); + copyProperties(cls.prototype, clsPrototype); + cls.prototype = clsPrototype; + } + } + function inheritMany(sup, classes) { + for (var i = 0; i < classes.length; i++) + inherit(classes[i], sup); + } + function mixin(cls, mixin) { + mixinProperties(mixin.prototype, cls.prototype); + cls.prototype.constructor = cls; + } + function lazyOld(holder, name, getterName, initializer) { + var uninitializedSentinel = holder; + holder[name] = uninitializedSentinel; + holder[getterName] = function() { + holder[getterName] = function() { + H.throwCyclicInit(name); + }; + var result; + var sentinelInProgress = initializer; + try { + if (holder[name] === uninitializedSentinel) { + result = holder[name] = sentinelInProgress; + result = holder[name] = initializer(); + } else + result = holder[name]; + } finally { + if (result === sentinelInProgress) + holder[name] = null; + holder[getterName] = function() { + return this[name]; }; - var object = new cls(); - if (!(object.__proto__ && object.__proto__.p === cls.prototype.p)) - return false; + } + return result; + }; + } + function lazy(holder, name, getterName, initializer) { + var uninitializedSentinel = holder; + holder[name] = uninitializedSentinel; + holder[getterName] = function() { + if (holder[name] === uninitializedSentinel) + holder[name] = initializer(); + holder[getterName] = function() { + return this[name]; + }; + return holder[name]; + }; + } + function lazyFinal(holder, name, getterName, initializer) { + var uninitializedSentinel = holder; + holder[name] = uninitializedSentinel; + holder[getterName] = function() { + if (holder[name] === uninitializedSentinel) { + var value = initializer(); + if (holder[name] !== uninitializedSentinel) + H.throwLateInitializationError(name); + holder[name] = value; + } + holder[getterName] = function() { + return this[name]; + }; + return holder[name]; + }; + } + function makeConstList(list) { + list.immutable$list = Array; + list.fixed$length = Array; + return list; + } + function convertToFastObject(properties) { + function t() { + } + t.prototype = properties; + new t(); + return properties; + } + function convertAllToFastObject(arrayOfObjects) { + for (var i = 0; i < arrayOfObjects.length; ++i) + convertToFastObject(arrayOfObjects[i]); + } + var functionCounter = 0; + function tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted) { + return isIntercepted ? new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "(receiver) {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, true, name);" + "return new c(this, funcs[0], receiver, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null) : new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "() {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, false, name);" + "return new c(this, funcs[0], null, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null); + } + function tearOff(funcs, applyTrampolineIndex, reflectionInfo, isStatic, name, isIntercepted) { + var cache = null; + return isStatic ? function() { + if (cache === null) + cache = H.closureFromTearOff(this, funcs, applyTrampolineIndex, reflectionInfo, true, false, name).prototype; + return cache; + } : tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted); + } + var typesOffset = 0; + function installTearOff(container, getterName, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { + var funs = []; + for (var i = 0; i < funsOrNames.length; i++) { + var fun = funsOrNames[i]; + if (typeof fun == "string") + fun = container[fun]; + fun.$callName = callNames[i]; + funs.push(fun); + } + var fun = funs[0]; + fun.$requiredArgCount = requiredParameterCount; + fun.$defaultValues = optionalParameterDefaultValues; + var reflectionInfo = funType; + if (typeof reflectionInfo == "number") + reflectionInfo += typesOffset; + var name = funsOrNames[0]; + fun.$stubName = name; + var getterFunction = tearOff(funs, applyIndex || 0, reflectionInfo, isStatic, name, isIntercepted); + container[getterName] = getterFunction; + if (isStatic) + fun.$tearOff = getterFunction; + } + function installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { + return installTearOff(container, getterName, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex); + } + function installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { + return installTearOff(container, getterName, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex); + } + function setOrUpdateInterceptorsByTag(newTags) { + var tags = init.interceptorsByTag; + if (!tags) { + init.interceptorsByTag = newTags; + return; + } + copyProperties(newTags, tags); + } + function setOrUpdateLeafTags(newTags) { + var tags = init.leafTags; + if (!tags) { + init.leafTags = newTags; + return; + } + copyProperties(newTags, tags); + } + function updateTypes(newTypes) { + var types = init.types; + var length = types.length; + types.push.apply(types, newTypes); + return length; + } + function updateHolder(holder, newHolder) { + copyProperties(newHolder, holder); + return holder; + } + var hunkHelpers = function() { + var mkInstance = function(isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { + return function(container, getterName, name, funType) { + return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex); + }; + }, + mkStatic = function(requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { + return function(container, getterName, name, funType) { + return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex); + }; + }; + return {inherit: inherit, inheritMany: inheritMany, mixin: mixin, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, lazyFinal: lazyFinal, lazyOld: lazyOld, updateHolder: updateHolder, convertToFastObject: convertToFastObject, setFunctionNamesIfNecessary: setFunctionNamesIfNecessary, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags}; + }(); + function initializeDeferredHunk(hunk) { + typesOffset = init.types.length; + hunk(hunkHelpers, init, holders, $); + } + function getGlobalFromName(name) { + for (var i = 0; i < holders.length; i++) { + if (holders[i] == C) + continue; + if (holders[i][name]) + return holders[i][name]; + } + } + var C = {}, + H = {JS_CONST: function JS_CONST() { + }, + checkNotNullable: function(value, $name, $T) { + return value; + }, + SubListIterable$: function(_iterable, _start, _endOrLength, $E) { + P.RangeError_checkNotNegative(_start, "start"); + P.RangeError_checkNotNegative(_endOrLength, "end"); + if (_start > _endOrLength) + H.throwExpression(P.RangeError$range(_start, 0, _endOrLength, "start", null)); + return new H.SubListIterable(_iterable, _start, _endOrLength, $E._eval$1("SubListIterable<0>")); + }, + MappedIterable_MappedIterable: function(iterable, $function, $S, $T) { + return new H.EfficientLengthMappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>")); + }, + LateError: function LateError(t0) { + this._message = t0; + }, + EfficientLengthIterable: function EfficientLengthIterable() { + }, + ListIterable: function ListIterable() { + }, + SubListIterable: function SubListIterable(t0, t1, t2, t3) { + var _ = this; + _.__internal$_iterable = t0; + _._start = t1; + _._endOrLength = t2; + _.$ti = t3; + }, + ListIterator: function ListIterator(t0, t1, t2) { + var _ = this; + _.__internal$_iterable = t0; + _.__internal$_length = t1; + _.__internal$_index = 0; + _.__internal$_current = null; + _.$ti = t2; + }, + MappedIterable: function MappedIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + EfficientLengthMappedIterable: function EfficientLengthMappedIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + MappedIterator: function MappedIterator(t0, t1, t2) { + var _ = this; + _.__internal$_current = null; + _._iterator = t0; + _._f = t1; + _.$ti = t2; + }, + MappedListIterable: function MappedListIterable(t0, t1, t2) { + this._source = t0; + this._f = t1; + this.$ti = t2; + }, + FixedLengthListMixin: function FixedLengthListMixin() { + }, + Symbol: function Symbol(t0) { + this.__internal$_name = t0; + }, + unminifyOrTag: function(rawClassName) { + var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName); + if (preserved != null) + return preserved; + return rawClassName; + }, + isJsIndexable: function(object, record) { + var result; + if (record != null) { + result = record.x; + if (result != null) + return result; + } + return type$.JavaScriptIndexingBehavior_dynamic._is(object); + }, + S: function(value) { + var res; + if (typeof value == "string") + return value; + if (typeof value == "number") { + if (value !== 0) + return "" + value; + } else if (true === value) + return "true"; + else if (false === value) + return "false"; + else if (value == null) + return "null"; + res = J.toString$0$(value); + return res; + }, + Primitives_objectHashCode: function(object) { + var hash = object.$identityHash; + if (hash == null) { + hash = Math.random() * 0x3fffffff | 0; + object.$identityHash = hash; + } + return hash; + }, + Primitives_objectTypeName: function(object) { + return H.Primitives__objectTypeNameNewRti(object); + }, + Primitives__objectTypeNameNewRti: function(object) { + var dispatchName, $constructor, constructorName; + if (object instanceof P.Object) + return H._rtiToString(H.instanceType(object), null); + if (J.getInterceptor$(object) === C.Interceptor_methods || type$.UnknownJavaScriptObject._is(object)) { + dispatchName = C.C_JS_CONST(object); + if (H.Primitives__saneNativeClassName(dispatchName)) + return dispatchName; + $constructor = object.constructor; + if (typeof $constructor == "function") { + constructorName = $constructor.name; + if (typeof constructorName == "string" && H.Primitives__saneNativeClassName(constructorName)) + return constructorName; + } + } + return H._rtiToString(H.instanceType(object), null); + }, + Primitives__saneNativeClassName: function($name) { + var t1 = $name !== "Object" && $name !== ""; + return t1; + }, + Primitives_lazyAsJsDate: function(receiver) { + if (receiver.date === void 0) + receiver.date = new Date(receiver._value); + return receiver.date; + }, + Primitives_getYear: function(receiver) { + var t1 = H.Primitives_lazyAsJsDate(receiver).getFullYear() + 0; + return t1; + }, + Primitives_getMonth: function(receiver) { + var t1 = H.Primitives_lazyAsJsDate(receiver).getMonth() + 1; + return t1; + }, + Primitives_getDay: function(receiver) { + var t1 = H.Primitives_lazyAsJsDate(receiver).getDate() + 0; + return t1; + }, + Primitives_getHours: function(receiver) { + var t1 = H.Primitives_lazyAsJsDate(receiver).getHours() + 0; + return t1; + }, + Primitives_getMinutes: function(receiver) { + var t1 = H.Primitives_lazyAsJsDate(receiver).getMinutes() + 0; + return t1; + }, + Primitives_getSeconds: function(receiver) { + var t1 = H.Primitives_lazyAsJsDate(receiver).getSeconds() + 0; + return t1; + }, + Primitives_getMilliseconds: function(receiver) { + var t1 = H.Primitives_lazyAsJsDate(receiver).getMilliseconds() + 0; + return t1; + }, + Primitives_functionNoSuchMethod: function($function, positionalArguments, namedArguments) { + var $arguments, namedArgumentList, t1 = {}; + t1.argumentCount = 0; + $arguments = []; + namedArgumentList = []; + t1.argumentCount = positionalArguments.length; + C.JSArray_methods.addAll$1($arguments, positionalArguments); + t1.names = ""; + if (namedArguments != null && namedArguments._length !== 0) + namedArguments.forEach$1(0, new H.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments)); + "" + t1.argumentCount; + return J.noSuchMethod$1$($function, new H.JSInvocationMirror(C.Symbol_call, 0, $arguments, namedArgumentList, 0)); + }, + Primitives_applyFunction: function($function, positionalArguments, namedArguments) { + var t1, $arguments, argumentCount, jsStub; + if (positionalArguments instanceof Array) + t1 = namedArguments == null || namedArguments._length === 0; + else + t1 = false; + if (t1) { + $arguments = positionalArguments; + argumentCount = $arguments.length; + if (argumentCount === 0) { + if (!!$function.call$0) + return $function.call$0(); + } else if (argumentCount === 1) { + if (!!$function.call$1) + return $function.call$1($arguments[0]); + } else if (argumentCount === 2) { + if (!!$function.call$2) + return $function.call$2($arguments[0], $arguments[1]); + } else if (argumentCount === 3) { + if (!!$function.call$3) + return $function.call$3($arguments[0], $arguments[1], $arguments[2]); + } else if (argumentCount === 4) { + if (!!$function.call$4) + return $function.call$4($arguments[0], $arguments[1], $arguments[2], $arguments[3]); + } else if (argumentCount === 5) + if (!!$function.call$5) + return $function.call$5($arguments[0], $arguments[1], $arguments[2], $arguments[3], $arguments[4]); + jsStub = $function["call" + "$" + argumentCount]; + if (jsStub != null) + return jsStub.apply($function, $arguments); + } + return H.Primitives__genericApplyFunction2($function, positionalArguments, namedArguments); + }, + Primitives__genericApplyFunction2: function($function, positionalArguments, namedArguments) { + var defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, keys, _i, defaultValue, used, key, + $arguments = positionalArguments instanceof Array ? positionalArguments : P.List_List$from(positionalArguments, type$.dynamic), + argumentCount = $arguments.length, + requiredParameterCount = $function.$requiredArgCount; + if (argumentCount < requiredParameterCount) + return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + defaultValuesClosure = $function.$defaultValues; + t1 = defaultValuesClosure == null; + defaultValues = !t1 ? defaultValuesClosure() : null; + interceptor = J.getInterceptor$($function); + jsFunction = interceptor["call*"]; + if (typeof jsFunction == "string") + jsFunction = interceptor[jsFunction]; + if (t1) { + if (namedArguments != null && namedArguments._length !== 0) + return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + if (argumentCount === requiredParameterCount) + return jsFunction.apply($function, $arguments); + return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + } + if (defaultValues instanceof Array) { + if (namedArguments != null && namedArguments._length !== 0) + return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + if (argumentCount > requiredParameterCount + defaultValues.length) + return H.Primitives_functionNoSuchMethod($function, $arguments, null); + C.JSArray_methods.addAll$1($arguments, defaultValues.slice(argumentCount - requiredParameterCount)); + return jsFunction.apply($function, $arguments); + } else { + if (argumentCount > requiredParameterCount) + return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + keys = Object.keys(defaultValues); + if (namedArguments == null) + for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) { + defaultValue = defaultValues[H._asString(keys[_i])]; + if (C.C__Required === defaultValue) + return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + C.JSArray_methods.add$1($arguments, defaultValue); + } + else { + for (t1 = keys.length, used = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) { + key = H._asString(keys[_i]); + if (namedArguments.containsKey$1(key)) { + ++used; + C.JSArray_methods.add$1($arguments, namedArguments.$index(0, key)); + } else { + defaultValue = defaultValues[key]; + if (C.C__Required === defaultValue) + return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + C.JSArray_methods.add$1($arguments, defaultValue); + } + } + if (used !== namedArguments._length) + return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + } + return jsFunction.apply($function, $arguments); + } + }, + ioore: function(receiver, index) { + if (receiver == null) + J.get$length$asx(receiver); + throw H.wrapException(H.diagnoseIndexError(receiver, index)); + }, + diagnoseIndexError: function(indexable, index) { + var $length, _s5_ = "index"; + if (!H._isInt(index)) + return new P.ArgumentError(true, index, _s5_, null); + $length = H._asInt(J.get$length$asx(indexable)); + if (index < 0 || index >= $length) + return P.IndexError$(index, indexable, _s5_, null, $length); + return P.RangeError$value(index, _s5_); + }, + wrapException: function(ex) { + var wrapper, t1; + if (ex == null) + ex = new P.NullThrownError(); + wrapper = new Error(); + wrapper.dartException = ex; + t1 = H.toStringWrapper; + if ("defineProperty" in Object) { + Object.defineProperty(wrapper, "message", {get: t1}); + wrapper.name = ""; + } else + wrapper.toString = t1; + return wrapper; + }, + toStringWrapper: function() { + return J.toString$0$(this.dartException); + }, + throwExpression: function(ex) { + throw H.wrapException(ex); + }, + throwConcurrentModificationError: function(collection) { + throw H.wrapException(P.ConcurrentModificationError$(collection)); + }, + TypeErrorDecoder_extractPattern: function(message) { + var match, $arguments, argumentsExpr, expr, method, receiver; + message = H.quoteStringForRegExp(message.replace(String({}), "$receiver$")); + match = message.match(/\\\$[a-zA-Z]+\\\$/g); + if (match == null) + match = H.setRuntimeTypeInfo([], type$.JSArray_String); + $arguments = match.indexOf("\\$arguments\\$"); + argumentsExpr = match.indexOf("\\$argumentsExpr\\$"); + expr = match.indexOf("\\$expr\\$"); + method = match.indexOf("\\$method\\$"); + receiver = match.indexOf("\\$receiver\\$"); + return new H.TypeErrorDecoder(message.replace(new RegExp("\\\\\\$arguments\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$", "g"), "((?:x|[^x])*)"), $arguments, argumentsExpr, expr, method, receiver); + }, + TypeErrorDecoder_provokeCallErrorOn: function(expression) { + return function($expr$) { + var $argumentsExpr$ = "$arguments$"; try { - if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0) - return true; - if (typeof version == "function" && version.length == 0) { - var v = version(); - if (/^\d+\.\d+\.\d+\.\d+$/.test(v)) - return true; - } - } catch (_) {} - return false; - }(); - - function setFunctionNamesIfNecessary(holders) { - function t() {}; - if (typeof t.name == "string") - return; - for (var i = 0; i < holders.length; i++) { - var holder = holders[i]; - var keys = Object.keys(holder); - for (var j = 0; j < keys.length; j++) { - var key = keys[j]; - var f = holder[key]; - if (typeof f == "function") - f.name = key; - } + $expr$.$method$($argumentsExpr$); + } catch (e) { + return e.message; } - } - - function inherit(cls, sup) { - cls.prototype.constructor = cls; - cls.prototype["$is" + cls.name] = cls; - if (sup != null) { - if (supportsDirectProtoAccess) { - cls.prototype.__proto__ = sup.prototype; - return; - } - var clsPrototype = Object.create(sup.prototype); - copyProperties(cls.prototype, clsPrototype); - cls.prototype = clsPrototype; + }(expression); + }, + TypeErrorDecoder_provokePropertyErrorOn: function(expression) { + return function($expr$) { + try { + $expr$.$method$; + } catch (e) { + return e.message; } - } - - function inheritMany(sup, classes) { - for (var i = 0; i < classes.length; i++) - inherit(classes[i], sup); - } - - function mixin(cls, mixin) { - mixinProperties(mixin.prototype, cls.prototype); - cls.prototype.constructor = cls; - } - - function lazyOld(holder, name, getterName, initializer) { - var uninitializedSentinel = holder; - holder[name] = uninitializedSentinel; - holder[getterName] = function () { - holder[getterName] = function () { - H.throwCyclicInit(name); - }; - var result; - var sentinelInProgress = initializer; - try { - if (holder[name] === uninitializedSentinel) { - result = holder[name] = sentinelInProgress; - result = holder[name] = initializer(); - } else - result = holder[name]; - } finally { - if (result === sentinelInProgress) - holder[name] = null; - holder[getterName] = function () { - return this[name]; - }; - } - return result; - }; - } - - function lazy(holder, name, getterName, initializer) { - var uninitializedSentinel = holder; - holder[name] = uninitializedSentinel; - holder[getterName] = function () { - if (holder[name] === uninitializedSentinel) - holder[name] = initializer(); - holder[getterName] = function () { - return this[name]; - }; - return holder[name]; - }; - } - - function lazyFinal(holder, name, getterName, initializer) { - var uninitializedSentinel = holder; - holder[name] = uninitializedSentinel; - holder[getterName] = function () { - if (holder[name] === uninitializedSentinel) { - var value = initializer(); - if (holder[name] !== uninitializedSentinel) - H.throwLateInitializationError(name); - holder[name] = value; - } - holder[getterName] = function () { - return this[name]; - }; - return holder[name]; - }; - } - - function makeConstList(list) { - list.immutable$list = Array; - list.fixed$length = Array; - return list; - } - - function convertToFastObject(properties) { - function t() {} - t.prototype = properties; - new t(); - return properties; - } - - function convertAllToFastObject(arrayOfObjects) { - for (var i = 0; i < arrayOfObjects.length; ++i) - convertToFastObject(arrayOfObjects[i]); - } - var functionCounter = 0; - - function tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted) { - return isIntercepted ? new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "(receiver) {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, true, name);" + "return new c(this, funcs[0], receiver, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null) : new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "() {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, false, name);" + "return new c(this, funcs[0], null, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null); - } - - function tearOff(funcs, applyTrampolineIndex, reflectionInfo, isStatic, name, isIntercepted) { - var cache = null; - return isStatic ? function () { - if (cache === null) - cache = H.closureFromTearOff(this, funcs, applyTrampolineIndex, reflectionInfo, true, false, name).prototype; - return cache; - } : tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted); - } - var typesOffset = 0; - - function installTearOff(container, getterName, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { - var funs = []; - for (var i = 0; i < funsOrNames.length; i++) { - var fun = funsOrNames[i]; - if (typeof fun == "string") - fun = container[fun]; - fun.$callName = callNames[i]; - funs.push(fun); - } - var fun = funs[0]; - fun.$requiredArgCount = requiredParameterCount; - fun.$defaultValues = optionalParameterDefaultValues; - var reflectionInfo = funType; - if (typeof reflectionInfo == "number") - reflectionInfo += typesOffset; - var name = funsOrNames[0]; - fun.$stubName = name; - var getterFunction = tearOff(funs, applyIndex || 0, reflectionInfo, isStatic, name, isIntercepted); - container[getterName] = getterFunction; - if (isStatic) - fun.$tearOff = getterFunction; - } - - function installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { - return installTearOff(container, getterName, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex); - } - - function installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { - return installTearOff(container, getterName, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex); - } - - function setOrUpdateInterceptorsByTag(newTags) { - var tags = init.interceptorsByTag; - if (!tags) { - init.interceptorsByTag = newTags; - return; - } - copyProperties(newTags, tags); - } - - function setOrUpdateLeafTags(newTags) { - var tags = init.leafTags; - if (!tags) { - init.leafTags = newTags; - return; - } - copyProperties(newTags, tags); - } - - function updateTypes(newTypes) { - var types = init.types; - var length = types.length; - types.push.apply(types, newTypes); - return length; - } - - function updateHolder(holder, newHolder) { - copyProperties(newHolder, holder); - return holder; - } - var hunkHelpers = function () { - var mkInstance = function (isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { - return function (container, getterName, name, funType) { - return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex); - }; - }, - mkStatic = function (requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { - return function (container, getterName, name, funType) { - return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex); - }; - }; - return { - inherit: inherit, - inheritMany: inheritMany, - mixin: mixin, - installStaticTearOff: installStaticTearOff, - installInstanceTearOff: installInstanceTearOff, - _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), - _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), - _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), - _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), - _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), - _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), - _static_0: mkStatic(0, null, ["call$0"], 0), - _static_1: mkStatic(1, null, ["call$1"], 0), - _static_2: mkStatic(2, null, ["call$2"], 0), - makeConstList: makeConstList, - lazy: lazy, - lazyFinal: lazyFinal, - lazyOld: lazyOld, - updateHolder: updateHolder, - convertToFastObject: convertToFastObject, - setFunctionNamesIfNecessary: setFunctionNamesIfNecessary, - updateTypes: updateTypes, - setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, - setOrUpdateLeafTags: setOrUpdateLeafTags - }; - }(); - - function initializeDeferredHunk(hunk) { - typesOffset = init.types.length; - hunk(hunkHelpers, init, holders, $); - } - - function getGlobalFromName(name) { - for (var i = 0; i < holders.length; i++) { - if (holders[i] == C) - continue; - if (holders[i][name]) - return holders[i][name]; - } - } - var C = {}, - H = { - JS_CONST: function JS_CONST() {}, - checkNotNullable: function (value, $name, $T) { - return value; - }, - SubListIterable$: function (_iterable, _start, _endOrLength, $E) { - P.RangeError_checkNotNegative(_start, "start"); - P.RangeError_checkNotNegative(_endOrLength, "end"); - if (_start > _endOrLength) - H.throwExpression(P.RangeError$range(_start, 0, _endOrLength, "start", null)); - return new H.SubListIterable(_iterable, _start, _endOrLength, $E._eval$1("SubListIterable<0>")); - }, - MappedIterable_MappedIterable: function (iterable, $function, $S, $T) { - return new H.EfficientLengthMappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>")); - }, - LateError: function LateError(t0) { - this._message = t0; - }, - EfficientLengthIterable: function EfficientLengthIterable() {}, - ListIterable: function ListIterable() {}, - SubListIterable: function SubListIterable(t0, t1, t2, t3) { - var _ = this; - _.__internal$_iterable = t0; - _._start = t1; - _._endOrLength = t2; - _.$ti = t3; - }, - ListIterator: function ListIterator(t0, t1, t2) { - var _ = this; - _.__internal$_iterable = t0; - _.__internal$_length = t1; - _.__internal$_index = 0; - _.__internal$_current = null; - _.$ti = t2; - }, - MappedIterable: function MappedIterable(t0, t1, t2) { - this.__internal$_iterable = t0; - this._f = t1; - this.$ti = t2; - }, - EfficientLengthMappedIterable: function EfficientLengthMappedIterable(t0, t1, t2) { - this.__internal$_iterable = t0; - this._f = t1; - this.$ti = t2; - }, - MappedIterator: function MappedIterator(t0, t1, t2) { - var _ = this; - _.__internal$_current = null; - _._iterator = t0; - _._f = t1; - _.$ti = t2; - }, - MappedListIterable: function MappedListIterable(t0, t1, t2) { - this._source = t0; - this._f = t1; - this.$ti = t2; - }, - FixedLengthListMixin: function FixedLengthListMixin() {}, - Symbol: function Symbol(t0) { - this.__internal$_name = t0; - }, - unminifyOrTag: function (rawClassName) { - var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName); - if (preserved != null) - return preserved; - return rawClassName; - }, - isJsIndexable: function (object, record) { - var result; - if (record != null) { - result = record.x; - if (result != null) - return result; - } - return type$.JavaScriptIndexingBehavior_dynamic._is(object); - }, - S: function (value) { - var res; - if (typeof value == "string") - return value; - if (typeof value == "number") { - if (value !== 0) - return "" + value; - } else if (true === value) - return "true"; - else if (false === value) - return "false"; - else if (value == null) - return "null"; - res = J.toString$0$(value); - return res; - }, - Primitives_objectHashCode: function (object) { - var hash = object.$identityHash; - if (hash == null) { - hash = Math.random() * 0x3fffffff | 0; - object.$identityHash = hash; - } - return hash; - }, - Primitives_objectTypeName: function (object) { - return H.Primitives__objectTypeNameNewRti(object); - }, - Primitives__objectTypeNameNewRti: function (object) { - var dispatchName, $constructor, constructorName; - if (object instanceof P.Object) - return H._rtiToString(H.instanceType(object), null); - if (J.getInterceptor$(object) === C.Interceptor_methods || type$.UnknownJavaScriptObject._is(object)) { - dispatchName = C.C_JS_CONST(object); - if (H.Primitives__saneNativeClassName(dispatchName)) - return dispatchName; - $constructor = object.constructor; - if (typeof $constructor == "function") { - constructorName = $constructor.name; - if (typeof constructorName == "string" && H.Primitives__saneNativeClassName(constructorName)) - return constructorName; - } - } - return H._rtiToString(H.instanceType(object), null); - }, - Primitives__saneNativeClassName: function ($name) { - var t1 = $name !== "Object" && $name !== ""; - return t1; - }, - Primitives_lazyAsJsDate: function (receiver) { - if (receiver.date === void 0) - receiver.date = new Date(receiver._value); - return receiver.date; - }, - Primitives_getYear: function (receiver) { - var t1 = H.Primitives_lazyAsJsDate(receiver).getFullYear() + 0; - return t1; - }, - Primitives_getMonth: function (receiver) { - var t1 = H.Primitives_lazyAsJsDate(receiver).getMonth() + 1; - return t1; - }, - Primitives_getDay: function (receiver) { - var t1 = H.Primitives_lazyAsJsDate(receiver).getDate() + 0; - return t1; - }, - Primitives_getHours: function (receiver) { - var t1 = H.Primitives_lazyAsJsDate(receiver).getHours() + 0; - return t1; - }, - Primitives_getMinutes: function (receiver) { - var t1 = H.Primitives_lazyAsJsDate(receiver).getMinutes() + 0; - return t1; - }, - Primitives_getSeconds: function (receiver) { - var t1 = H.Primitives_lazyAsJsDate(receiver).getSeconds() + 0; - return t1; - }, - Primitives_getMilliseconds: function (receiver) { - var t1 = H.Primitives_lazyAsJsDate(receiver).getMilliseconds() + 0; - return t1; - }, - Primitives_functionNoSuchMethod: function ($function, positionalArguments, namedArguments) { - var $arguments, namedArgumentList, t1 = {}; - t1.argumentCount = 0; - $arguments = []; - namedArgumentList = []; - t1.argumentCount = positionalArguments.length; - C.JSArray_methods.addAll$1($arguments, positionalArguments); - t1.names = ""; - if (namedArguments != null && namedArguments._length !== 0) - namedArguments.forEach$1(0, new H.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments)); - "" + t1.argumentCount; - return J.noSuchMethod$1$($function, new H.JSInvocationMirror(C.Symbol_call, 0, $arguments, namedArgumentList, 0)); - }, - Primitives_applyFunction: function ($function, positionalArguments, namedArguments) { - var t1, $arguments, argumentCount, jsStub; - if (positionalArguments instanceof Array) - t1 = namedArguments == null || namedArguments._length === 0; - else - t1 = false; - if (t1) { - $arguments = positionalArguments; - argumentCount = $arguments.length; - if (argumentCount === 0) { - if (!!$function.call$0) - return $function.call$0(); - } else if (argumentCount === 1) { - if (!!$function.call$1) - return $function.call$1($arguments[0]); - } else if (argumentCount === 2) { - if (!!$function.call$2) - return $function.call$2($arguments[0], $arguments[1]); - } else if (argumentCount === 3) { - if (!!$function.call$3) - return $function.call$3($arguments[0], $arguments[1], $arguments[2]); - } else if (argumentCount === 4) { - if (!!$function.call$4) - return $function.call$4($arguments[0], $arguments[1], $arguments[2], $arguments[3]); - } else if (argumentCount === 5) - if (!!$function.call$5) - return $function.call$5($arguments[0], $arguments[1], $arguments[2], $arguments[3], $arguments[4]); - jsStub = $function["call" + "$" + argumentCount]; - if (jsStub != null) - return jsStub.apply($function, $arguments); - } - return H.Primitives__genericApplyFunction2($function, positionalArguments, namedArguments); - }, - Primitives__genericApplyFunction2: function ($function, positionalArguments, namedArguments) { - var defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, keys, _i, defaultValue, used, key, - $arguments = positionalArguments instanceof Array ? positionalArguments : P.List_List$from(positionalArguments, type$.dynamic), - argumentCount = $arguments.length, - requiredParameterCount = $function.$requiredArgCount; - if (argumentCount < requiredParameterCount) - return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); - defaultValuesClosure = $function.$defaultValues; - t1 = defaultValuesClosure == null; - defaultValues = !t1 ? defaultValuesClosure() : null; - interceptor = J.getInterceptor$($function); - jsFunction = interceptor["call*"]; - if (typeof jsFunction == "string") - jsFunction = interceptor[jsFunction]; - if (t1) { - if (namedArguments != null && namedArguments._length !== 0) - return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); - if (argumentCount === requiredParameterCount) - return jsFunction.apply($function, $arguments); - return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); - } - if (defaultValues instanceof Array) { - if (namedArguments != null && namedArguments._length !== 0) - return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); - if (argumentCount > requiredParameterCount + defaultValues.length) - return H.Primitives_functionNoSuchMethod($function, $arguments, null); - C.JSArray_methods.addAll$1($arguments, defaultValues.slice(argumentCount - requiredParameterCount)); - return jsFunction.apply($function, $arguments); - } else { - if (argumentCount > requiredParameterCount) - return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); - keys = Object.keys(defaultValues); - if (namedArguments == null) - for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) { - defaultValue = defaultValues[H._asString(keys[_i])]; - if (C.C__Required === defaultValue) - return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); - C.JSArray_methods.add$1($arguments, defaultValue); - } - else { - for (t1 = keys.length, used = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) { - key = H._asString(keys[_i]); - if (namedArguments.containsKey$1(key)) { - ++used; - C.JSArray_methods.add$1($arguments, namedArguments.$index(0, key)); - } else { - defaultValue = defaultValues[key]; - if (C.C__Required === defaultValue) - return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); - C.JSArray_methods.add$1($arguments, defaultValue); - } - } - if (used !== namedArguments._length) - return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); - } - return jsFunction.apply($function, $arguments); - } - }, - ioore: function (receiver, index) { - if (receiver == null) - J.get$length$asx(receiver); - throw H.wrapException(H.diagnoseIndexError(receiver, index)); - }, - diagnoseIndexError: function (indexable, index) { - var $length, _s5_ = "index"; - if (!H._isInt(index)) - return new P.ArgumentError(true, index, _s5_, null); - $length = H._asInt(J.get$length$asx(indexable)); - if (index < 0 || index >= $length) - return P.IndexError$(index, indexable, _s5_, null, $length); - return P.RangeError$value(index, _s5_); - }, - wrapException: function (ex) { - var wrapper, t1; - if (ex == null) - ex = new P.NullThrownError(); - wrapper = new Error(); - wrapper.dartException = ex; - t1 = H.toStringWrapper; - if ("defineProperty" in Object) { - Object.defineProperty(wrapper, "message", { - get: t1 - }); - wrapper.name = ""; - } else - wrapper.toString = t1; - return wrapper; - }, - toStringWrapper: function () { - return J.toString$0$(this.dartException); - }, - throwExpression: function (ex) { - throw H.wrapException(ex); - }, - throwConcurrentModificationError: function (collection) { - throw H.wrapException(P.ConcurrentModificationError$(collection)); - }, - TypeErrorDecoder_extractPattern: function (message) { - var match, $arguments, argumentsExpr, expr, method, receiver; - message = H.quoteStringForRegExp(message.replace(String({}), "$receiver$")); - match = message.match(/\\\$[a-zA-Z]+\\\$/g); - if (match == null) - match = H.setRuntimeTypeInfo([], type$.JSArray_String); - $arguments = match.indexOf("\\$arguments\\$"); - argumentsExpr = match.indexOf("\\$argumentsExpr\\$"); - expr = match.indexOf("\\$expr\\$"); - method = match.indexOf("\\$method\\$"); - receiver = match.indexOf("\\$receiver\\$"); - return new H.TypeErrorDecoder(message.replace(new RegExp("\\\\\\$arguments\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$", "g"), "((?:x|[^x])*)"), $arguments, argumentsExpr, expr, method, receiver); - }, - TypeErrorDecoder_provokeCallErrorOn: function (expression) { - return function ($expr$) { - var $argumentsExpr$ = "$arguments$"; - try { - $expr$.$method$($argumentsExpr$); - } catch (e) { - return e.message; - } - }(expression); - }, - TypeErrorDecoder_provokePropertyErrorOn: function (expression) { - return function ($expr$) { - try { - $expr$.$method$; - } catch (e) { - return e.message; - } - }(expression); - }, - NullError$: function (_message, match) { - return new H.NullError(_message, match == null ? null : match.method); - }, - JsNoSuchMethodError$: function (_message, match) { - var t1 = match == null, - t2 = t1 ? null : match.method; - return new H.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver); - }, - unwrapException: function (ex) { - if (ex == null) - return new H.NullThrownFromJavaScriptException(ex); - if (ex instanceof H.ExceptionAndStackTrace) - return H.saveStackTrace(ex, type$.Object._as(ex.dartException)); - if (typeof ex !== "object") - return ex; - if ("dartException" in ex) - return H.saveStackTrace(ex, ex.dartException); - return H._unwrapNonDartException(ex); - }, - saveStackTrace: function (ex, error) { - if (type$.Error._is(error)) - if (error.$thrownJsError == null) - error.$thrownJsError = ex; - return error; - }, - _unwrapNonDartException: function (ex) { - var message, number, ieErrorCode, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match, t1, _null = null; - if (!("message" in ex)) - return ex; - message = ex.message; - if ("number" in ex && typeof ex.number == "number") { - number = ex.number; - ieErrorCode = number & 65535; - if ((C.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10) - switch (ieErrorCode) { - case 438: - return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H.S(message) + " (Error " + ieErrorCode + ")", _null)); - case 445: - case 5007: - return H.saveStackTrace(ex, H.NullError$(H.S(message) + " (Error " + ieErrorCode + ")", _null)); - } - } - if (ex instanceof TypeError) { - nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern(); - notClosure = $.$get$TypeErrorDecoder_notClosurePattern(); - nullCall = $.$get$TypeErrorDecoder_nullCallPattern(); - nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern(); - undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern(); - undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern(); - nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern(); - $.$get$TypeErrorDecoder_nullLiteralPropertyPattern(); - undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern(); - undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern(); - match = nsme.matchTypeError$1(message); - if (match != null) - return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H._asString(message), match)); - else { - match = notClosure.matchTypeError$1(message); - if (match != null) { - match.method = "call"; - return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H._asString(message), match)); - } else { - match = nullCall.matchTypeError$1(message); - if (match == null) { - match = nullLiteralCall.matchTypeError$1(message); - if (match == null) { - match = undefCall.matchTypeError$1(message); - if (match == null) { - match = undefLiteralCall.matchTypeError$1(message); - if (match == null) { - match = nullProperty.matchTypeError$1(message); - if (match == null) { - match = nullLiteralCall.matchTypeError$1(message); - if (match == null) { - match = undefProperty.matchTypeError$1(message); - if (match == null) { - match = undefLiteralProperty.matchTypeError$1(message); - t1 = match != null; - } else - t1 = true; - } else - t1 = true; - } else - t1 = true; - } else - t1 = true; - } else - t1 = true; - } else - t1 = true; - } else - t1 = true; - if (t1) - return H.saveStackTrace(ex, H.NullError$(H._asString(message), match)); - } - } - return H.saveStackTrace(ex, new H.UnknownJsTypeError(typeof message == "string" ? message : "")); - } - if (ex instanceof RangeError) { - if (typeof message == "string" && message.indexOf("call stack") !== -1) - return new P.StackOverflowError(); - message = function (ex) { - try { - return String(ex); - } catch (e) {} - return null; - }(ex); - return H.saveStackTrace(ex, new P.ArgumentError(false, _null, _null, typeof message == "string" ? message.replace(/^RangeError:\s*/, "") : message)); - } - if (typeof InternalError == "function" && ex instanceof InternalError) - if (typeof message == "string" && message === "too much recursion") - return new P.StackOverflowError(); - return ex; - }, - getTraceFromException: function (exception) { - var trace; - if (exception instanceof H.ExceptionAndStackTrace) - return exception.stackTrace; - if (exception == null) - return new H._StackTrace(exception); - trace = exception.$cachedTrace; - if (trace != null) - return trace; - return exception.$cachedTrace = new H._StackTrace(exception); - }, - fillLiteralMap: function (keyValuePairs, result) { - var index, index0, index1, - $length = keyValuePairs.length; - for (index = 0; index < $length; index = index1) { - index0 = index + 1; - index1 = index0 + 1; - result.$indexSet(0, keyValuePairs[index], keyValuePairs[index0]); - } - return result; - }, - invokeClosure: function (closure, numberOfArguments, arg1, arg2, arg3, arg4) { - type$.Function._as(closure); - switch (H._asInt(numberOfArguments)) { - case 0: - return closure.call$0(); - case 1: - return closure.call$1(arg1); - case 2: - return closure.call$2(arg1, arg2); - case 3: - return closure.call$3(arg1, arg2, arg3); - case 4: - return closure.call$4(arg1, arg2, arg3, arg4); - } - throw H.wrapException(new P._Exception("Unsupported number of arguments for wrapped closure")); - }, - convertDartClosureToJS: function (closure, arity) { - var $function; - if (closure == null) - return null; - $function = closure.$identity; - if (!!$function) - return $function; - $function = function (closure, arity, invoke) { - return function (a1, a2, a3, a4) { - return invoke(closure, arity, a1, a2, a3, a4); - }; - }(closure, arity, H.invokeClosure); - closure.$identity = $function; - return $function; - }, - Closure_fromTearOff: function (receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, propertyName) { - var $constructor, t1, trampoline, applyTrampoline, i, stub, stubCallName, - $function = functions[0], - callName = $function.$callName, - $prototype = isStatic ? Object.create(new H.StaticClosure().constructor.prototype) : Object.create(new H.BoundClosure(null, null, null, "").constructor.prototype); - $prototype.$initialize = $prototype.constructor; - if (isStatic) - $constructor = function static_tear_off() { - this.$initialize(); - }; - else { - t1 = $.Closure_functionCounter; - if (typeof t1 !== "number") - return t1.$add(); - $.Closure_functionCounter = t1 + 1; - t1 = new Function("a,b,c,d" + t1, "this.$initialize(a,b,c,d" + t1 + ")"); - $constructor = t1; - } - $prototype.constructor = $constructor; - $constructor.prototype = $prototype; - if (!isStatic) { - trampoline = H.Closure_forwardCallTo(receiver, $function, isIntercepted); - trampoline.$reflectionInfo = reflectionInfo; - } else { - $prototype.$static_name = propertyName; - trampoline = $function; - } - type$.Object._as(reflectionInfo); - $prototype.$signature = H.Closure__computeSignatureFunctionNewRti(reflectionInfo, isStatic, isIntercepted); - $prototype[callName] = trampoline; - for (applyTrampoline = trampoline, i = 1; i < functions.length; ++i) { - stub = functions[i]; - stubCallName = stub.$callName; - if (stubCallName != null) { - stub = isStatic ? stub : H.Closure_forwardCallTo(receiver, stub, isIntercepted); - $prototype[stubCallName] = stub; - } - if (i === applyTrampolineIndex) { - stub.$reflectionInfo = reflectionInfo; - applyTrampoline = stub; - } - } - $prototype["call*"] = applyTrampoline; - $prototype.$requiredArgCount = $function.$requiredArgCount; - $prototype.$defaultValues = $function.$defaultValues; - return $constructor; - }, - Closure__computeSignatureFunctionNewRti: function (functionType, isStatic, isIntercepted) { - var typeEvalMethod; - if (typeof functionType == "number") - return function (getType, t) { - return function () { - return getType(t); - }; - }(H.getTypeFromTypesTable, functionType); - if (typeof functionType == "string") { - if (isStatic) - throw H.wrapException("Cannot compute signature for static tearoff."); - typeEvalMethod = isIntercepted ? H.BoundClosure_evalRecipeIntercepted : H.BoundClosure_evalRecipe; - return function (recipe, evalOnReceiver) { - return function () { - return evalOnReceiver(this, recipe); - }; - }(functionType, typeEvalMethod); - } - throw H.wrapException("Error in functionType of tearoff"); - }, - Closure_cspForwardCall: function (arity, isSuperCall, stubName, $function) { - var getSelf = H.BoundClosure_selfOf; - switch (isSuperCall ? -1 : arity) { - case 0: - return function (n, S) { - return function () { - return S(this)[n](); - }; - }(stubName, getSelf); - case 1: - return function (n, S) { - return function (a) { - return S(this)[n](a); - }; - }(stubName, getSelf); - case 2: - return function (n, S) { - return function (a, b) { - return S(this)[n](a, b); - }; - }(stubName, getSelf); - case 3: - return function (n, S) { - return function (a, b, c) { - return S(this)[n](a, b, c); - }; - }(stubName, getSelf); - case 4: - return function (n, S) { - return function (a, b, c, d) { - return S(this)[n](a, b, c, d); - }; - }(stubName, getSelf); - case 5: - return function (n, S) { - return function (a, b, c, d, e) { - return S(this)[n](a, b, c, d, e); - }; - }(stubName, getSelf); - default: - return function (f, s) { - return function () { - return f.apply(s(this), arguments); - }; - }($function, getSelf); - } - }, - Closure_forwardCallTo: function (receiver, $function, isIntercepted) { - var stubName, arity, lookedUpFunction, t1, t2, selfName, $arguments; - if (isIntercepted) - return H.Closure_forwardInterceptedCallTo(receiver, $function); - stubName = $function.$stubName; - arity = $function.length; - lookedUpFunction = receiver[stubName]; - t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction; - t2 = !t1 || arity >= 27; - if (t2) - return H.Closure_cspForwardCall(arity, !t1, stubName, $function); - if (arity === 0) { - t1 = $.Closure_functionCounter; - if (typeof t1 !== "number") - return t1.$add(); - $.Closure_functionCounter = t1 + 1; - selfName = "self" + t1; - return new Function("return function(){var " + selfName + " = this." + H.BoundClosure_selfFieldName() + ";return " + selfName + "." + H.S(stubName) + "();}")(); - } - $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity).join(","); - t1 = $.Closure_functionCounter; - if (typeof t1 !== "number") - return t1.$add(); - $.Closure_functionCounter = t1 + 1; - $arguments += t1; - return new Function("return function(" + $arguments + "){return this." + H.BoundClosure_selfFieldName() + "." + H.S(stubName) + "(" + $arguments + ");}")(); - }, - Closure_cspForwardInterceptedCall: function (arity, isSuperCall, $name, $function) { - var getSelf = H.BoundClosure_selfOf, - getReceiver = H.BoundClosure_receiverOf; - switch (isSuperCall ? -1 : arity) { - case 0: - throw H.wrapException(new H.RuntimeError("Intercepted function with no arguments.")); - case 1: - return function (n, s, r) { - return function () { - return s(this)[n](r(this)); - }; - }($name, getSelf, getReceiver); - case 2: - return function (n, s, r) { - return function (a) { - return s(this)[n](r(this), a); - }; - }($name, getSelf, getReceiver); - case 3: - return function (n, s, r) { - return function (a, b) { - return s(this)[n](r(this), a, b); - }; - }($name, getSelf, getReceiver); - case 4: - return function (n, s, r) { - return function (a, b, c) { - return s(this)[n](r(this), a, b, c); - }; - }($name, getSelf, getReceiver); - case 5: - return function (n, s, r) { - return function (a, b, c, d) { - return s(this)[n](r(this), a, b, c, d); - }; - }($name, getSelf, getReceiver); - case 6: - return function (n, s, r) { - return function (a, b, c, d, e) { - return s(this)[n](r(this), a, b, c, d, e); - }; - }($name, getSelf, getReceiver); - default: - return function (f, s, r, a) { - return function () { - a = [r(this)]; - Array.prototype.push.apply(a, arguments); - return f.apply(s(this), a); - }; - }($function, getSelf, getReceiver); - } - }, - Closure_forwardInterceptedCallTo: function (receiver, $function) { - var stubName, arity, lookedUpFunction, t1, t2, $arguments, - selfField = H.BoundClosure_selfFieldName(), - receiverField = $.BoundClosure_receiverFieldNameCache; - if (receiverField == null) - receiverField = $.BoundClosure_receiverFieldNameCache = H.BoundClosure_computeFieldNamed("receiver"); - stubName = $function.$stubName; - arity = $function.length; - lookedUpFunction = receiver[stubName]; - t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction; - t2 = !t1 || arity >= 28; - if (t2) - return H.Closure_cspForwardInterceptedCall(arity, !t1, stubName, $function); - if (arity === 1) { - t1 = "return function(){return this." + selfField + "." + H.S(stubName) + "(this." + receiverField + ");"; - t2 = $.Closure_functionCounter; - if (typeof t2 !== "number") - return t2.$add(); - $.Closure_functionCounter = t2 + 1; - return new Function(t1 + t2 + "}")(); - } - $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity - 1).join(","); - t1 = "return function(" + $arguments + "){return this." + selfField + "." + H.S(stubName) + "(this." + receiverField + ", " + $arguments + ");"; - t2 = $.Closure_functionCounter; - if (typeof t2 !== "number") - return t2.$add(); - $.Closure_functionCounter = t2 + 1; - return new Function(t1 + t2 + "}")(); - }, - closureFromTearOff: function (receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, $name) { - return H.Closure_fromTearOff(receiver, functions, applyTrampolineIndex, reflectionInfo, !!isStatic, !!isIntercepted, $name); - }, - BoundClosure_evalRecipe: function (closure, recipe) { - return H._Universe_evalInEnvironment(init.typeUniverse, H.instanceType(closure._self), recipe); - }, - BoundClosure_evalRecipeIntercepted: function (closure, recipe) { - return H._Universe_evalInEnvironment(init.typeUniverse, H.instanceType(closure._receiver), recipe); - }, - BoundClosure_selfOf: function (closure) { - return closure._self; - }, - BoundClosure_receiverOf: function (closure) { - return closure._receiver; - }, - BoundClosure_selfFieldName: function () { - var t1 = $.BoundClosure_selfFieldNameCache; - return t1 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t1; - }, - BoundClosure_computeFieldNamed: function (fieldName) { - var t1, i, $name, - template = new H.BoundClosure("self", "target", "receiver", "name"), - names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template), type$.nullable_Object); - for (t1 = names.length, i = 0; i < t1; ++i) { - $name = names[i]; - if (template[$name] === fieldName) - return $name; - } - throw H.wrapException(P.ArgumentError$("Field name " + fieldName + " not found.")); - }, - boolConversionCheck: function (value) { - if (value == null) - H.assertThrow("boolean expression must not be null"); - return value; - }, - assertThrow: function (message) { - throw H.wrapException(new H._AssertionError(message)); - }, - throwCyclicInit: function (staticName) { - throw H.wrapException(new P.CyclicInitializationError(staticName)); - }, - getIsolateAffinityTag: function ($name) { - return init.getIsolateTag($name); - }, - throwLateInitializationError: function ($name) { - return H.throwExpression(new H.LateError($name)); - }, - defineProperty: function (obj, property, value) { - Object.defineProperty(obj, property, { - value: value, - enumerable: false, - writable: true, - configurable: true - }); - }, - lookupAndCacheInterceptor: function (obj) { - var interceptor, interceptorClass, altTag, mark, t1, - tag = H._asString($.getTagFunction.call$1(obj)), - record = $.dispatchRecordsForInstanceTags[tag]; - if (record != null) { - Object.defineProperty(obj, init.dispatchPropertyName, { - value: record, - enumerable: false, - writable: true, - configurable: true - }); - return record.i; - } - interceptor = $.interceptorsForUncacheableTags[tag]; - if (interceptor != null) - return interceptor; - interceptorClass = init.interceptorsByTag[tag]; - if (interceptorClass == null) { - altTag = H._asStringQ($.alternateTagFunction.call$2(obj, tag)); - if (altTag != null) { - record = $.dispatchRecordsForInstanceTags[altTag]; - if (record != null) { - Object.defineProperty(obj, init.dispatchPropertyName, { - value: record, - enumerable: false, - writable: true, - configurable: true - }); - return record.i; - } - interceptor = $.interceptorsForUncacheableTags[altTag]; - if (interceptor != null) - return interceptor; - interceptorClass = init.interceptorsByTag[altTag]; - tag = altTag; - } - } - if (interceptorClass == null) - return null; - interceptor = interceptorClass.prototype; - mark = tag[0]; - if (mark === "!") { - record = H.makeLeafDispatchRecord(interceptor); - $.dispatchRecordsForInstanceTags[tag] = record; - Object.defineProperty(obj, init.dispatchPropertyName, { - value: record, - enumerable: false, - writable: true, - configurable: true - }); - return record.i; - } - if (mark === "~") { - $.interceptorsForUncacheableTags[tag] = interceptor; - return interceptor; - } - if (mark === "-") { - t1 = H.makeLeafDispatchRecord(interceptor); - Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, { - value: t1, - enumerable: false, - writable: true, - configurable: true - }); - return t1.i; - } - if (mark === "+") - return H.patchInteriorProto(obj, interceptor); - if (mark === "*") - throw H.wrapException(P.UnimplementedError$(tag)); - if (init.leafTags[tag] === true) { - t1 = H.makeLeafDispatchRecord(interceptor); - Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, { - value: t1, - enumerable: false, - writable: true, - configurable: true - }); - return t1.i; - } else - return H.patchInteriorProto(obj, interceptor); - }, - patchInteriorProto: function (obj, interceptor) { - var proto = Object.getPrototypeOf(obj); - Object.defineProperty(proto, init.dispatchPropertyName, { - value: J.makeDispatchRecord(interceptor, proto, null, null), - enumerable: false, - writable: true, - configurable: true - }); - return interceptor; - }, - makeLeafDispatchRecord: function (interceptor) { - return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior); - }, - makeDefaultDispatchRecord: function (tag, interceptorClass, proto) { - var interceptor = interceptorClass.prototype; - if (init.leafTags[tag] === true) - return H.makeLeafDispatchRecord(interceptor); - else - return J.makeDispatchRecord(interceptor, proto, null, null); - }, - initNativeDispatch: function () { - if (true === $.initNativeDispatchFlag) - return; - $.initNativeDispatchFlag = true; - H.initNativeDispatchContinue(); - }, - initNativeDispatchContinue: function () { - var map, tags, fun, i, tag, proto, record, interceptorClass; - $.dispatchRecordsForInstanceTags = Object.create(null); - $.interceptorsForUncacheableTags = Object.create(null); - H.initHooks(); - map = init.interceptorsByTag; - tags = Object.getOwnPropertyNames(map); - if (typeof window != "undefined") { - window; - fun = function () {}; - for (i = 0; i < tags.length; ++i) { - tag = tags[i]; - proto = $.prototypeForTagFunction.call$1(tag); - if (proto != null) { - record = H.makeDefaultDispatchRecord(tag, map[tag], proto); - if (record != null) { - Object.defineProperty(proto, init.dispatchPropertyName, { - value: record, - enumerable: false, - writable: true, - configurable: true - }); - fun.prototype = proto; - } - } - } - } - for (i = 0; i < tags.length; ++i) { - tag = tags[i]; - if (/^[A-Za-z_]/.test(tag)) { - interceptorClass = map[tag]; - map["!" + tag] = interceptorClass; - map["~" + tag] = interceptorClass; - map["-" + tag] = interceptorClass; - map["+" + tag] = interceptorClass; - map["*" + tag] = interceptorClass; - } - } - }, - initHooks: function () { - var transformers, i, transformer, getTag, getUnknownTag, prototypeForTag, - hooks = C.C_JS_CONST0(); - hooks = H.applyHooksTransformer(C.C_JS_CONST1, H.applyHooksTransformer(C.C_JS_CONST2, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST4, H.applyHooksTransformer(C.C_JS_CONST5, H.applyHooksTransformer(C.C_JS_CONST6(C.C_JS_CONST), hooks))))))); - if (typeof dartNativeDispatchHooksTransformer != "undefined") { - transformers = dartNativeDispatchHooksTransformer; - if (typeof transformers == "function") - transformers = [transformers]; - if (transformers.constructor == Array) - for (i = 0; i < transformers.length; ++i) { - transformer = transformers[i]; - if (typeof transformer == "function") - hooks = transformer(hooks) || hooks; - } - } - getTag = hooks.getTag; - getUnknownTag = hooks.getUnknownTag; - prototypeForTag = hooks.prototypeForTag; - $.getTagFunction = new H.initHooks_closure(getTag); - $.alternateTagFunction = new H.initHooks_closure0(getUnknownTag); - $.prototypeForTagFunction = new H.initHooks_closure1(prototypeForTag); - }, - applyHooksTransformer: function (transformer, hooks) { - return transformer(hooks) || hooks; - }, - JSSyntaxRegExp_makeNative: function (source, multiLine, caseSensitive, unicode, dotAll, global) { - var m = multiLine ? "m" : "", - i = caseSensitive ? "" : "i", - u = unicode ? "u" : "", - s = dotAll ? "s" : "", - g = global ? "g" : "", - regexp = function (source, modifiers) { - try { - return new RegExp(source, modifiers); - } catch (e) { - return e; - } - }(source, m + i + u + s + g); - if (regexp instanceof RegExp) - return regexp; - throw H.wrapException(new P.FormatException("Illegal RegExp pattern (" + String(regexp) + ")", source)); - }, - quoteStringForRegExp: function (string) { - if (/[[\]{}()*+?.\\^$|]/.test(string)) - return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&"); - return string; - }, - ConstantMapView: function ConstantMapView(t0, t1) { - this._collection$_map = t0; - this.$ti = t1; - }, - ConstantMap: function ConstantMap() {}, - ConstantStringMap: function ConstantStringMap(t0, t1, t2, t3) { - var _ = this; - _._length = t0; - _.__js_helper$_jsObject = t1; - _._keys = t2; - _.$ti = t3; - }, - JSInvocationMirror: function JSInvocationMirror(t0, t1, t2, t3, t4) { - var _ = this; - _._memberName = t0; - _.__js_helper$_kind = t1; - _._arguments = t2; - _._namedArgumentNames = t3; - _._typeArgumentCount = t4; - }, - Primitives_functionNoSuchMethod_closure: function Primitives_functionNoSuchMethod_closure(t0, t1, t2) { - this._box_0 = t0; - this.namedArgumentList = t1; - this.$arguments = t2; - }, - TypeErrorDecoder: function TypeErrorDecoder(t0, t1, t2, t3, t4, t5) { - var _ = this; - _._pattern = t0; - _._arguments = t1; - _._argumentsExpr = t2; - _._expr = t3; - _._method = t4; - _._receiver = t5; - }, - NullError: function NullError(t0, t1) { - this.__js_helper$_message = t0; - this._method = t1; - }, - JsNoSuchMethodError: function JsNoSuchMethodError(t0, t1, t2) { - this.__js_helper$_message = t0; - this._method = t1; - this._receiver = t2; - }, - UnknownJsTypeError: function UnknownJsTypeError(t0) { - this.__js_helper$_message = t0; - }, - NullThrownFromJavaScriptException: function NullThrownFromJavaScriptException(t0) { - this._irritant = t0; - }, - ExceptionAndStackTrace: function ExceptionAndStackTrace(t0, t1) { - this.dartException = t0; - this.stackTrace = t1; - }, - _StackTrace: function _StackTrace(t0) { - this._exception = t0; - this._trace = null; - }, - Closure: function Closure() {}, - TearOffClosure: function TearOffClosure() {}, - StaticClosure: function StaticClosure() {}, - BoundClosure: function BoundClosure(t0, t1, t2, t3) { - var _ = this; - _._self = t0; - _._target = t1; - _._receiver = t2; - _._name = t3; - }, - RuntimeError: function RuntimeError(t0) { - this.message = t0; - }, - _AssertionError: function _AssertionError(t0) { - this.message = t0; - }, - _Required: function _Required() {}, - JsLinkedHashMap: function JsLinkedHashMap(t0) { - var _ = this; - _._length = 0; - _._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null; - _._modifications = 0; - _.$ti = t0; - }, - JsLinkedHashMap_values_closure: function JsLinkedHashMap_values_closure(t0) { - this.$this = t0; - }, - JsLinkedHashMap_containsValue_closure: function JsLinkedHashMap_containsValue_closure(t0, t1) { - this.$this = t0; - this.value = t1; - }, - LinkedHashMapCell: function LinkedHashMapCell(t0, t1) { - var _ = this; - _.hashMapCellKey = t0; - _.hashMapCellValue = t1; - _._previous = _._next = null; - }, - LinkedHashMapKeyIterable: function LinkedHashMapKeyIterable(t0, t1) { - this._map = t0; - this.$ti = t1; - }, - LinkedHashMapKeyIterator: function LinkedHashMapKeyIterator(t0, t1, t2) { - var _ = this; - _._map = t0; - _._modifications = t1; - _.__js_helper$_current = _._cell = null; - _.$ti = t2; - }, - initHooks_closure: function initHooks_closure(t0) { - this.getTag = t0; - }, - initHooks_closure0: function initHooks_closure0(t0) { - this.getUnknownTag = t0; - }, - initHooks_closure1: function initHooks_closure1(t0) { - this.prototypeForTag = t0; - }, - JSSyntaxRegExp: function JSSyntaxRegExp(t0, t1) { - var _ = this; - _.pattern = t0; - _._nativeRegExp = t1; - _._nativeAnchoredRegExp = _._nativeGlobalRegExp = null; - }, - _checkValidIndex: function (index, list, $length) { - if (index >>> 0 !== index || index >= $length) - throw H.wrapException(H.diagnoseIndexError(list, index)); - }, - NativeTypedData: function NativeTypedData() {}, - NativeTypedArray: function NativeTypedArray() {}, - NativeTypedArrayOfDouble: function NativeTypedArrayOfDouble() {}, - NativeTypedArrayOfInt: function NativeTypedArrayOfInt() {}, - NativeInt16List: function NativeInt16List() {}, - NativeInt32List: function NativeInt32List() {}, - NativeInt8List: function NativeInt8List() {}, - NativeUint16List: function NativeUint16List() {}, - NativeUint32List: function NativeUint32List() {}, - NativeUint8ClampedList: function NativeUint8ClampedList() {}, - NativeUint8List: function NativeUint8List() {}, - _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin() {}, - _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin() {}, - _NativeTypedArrayOfInt_NativeTypedArray_ListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin() {}, - _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() {}, - Rti__getQuestionFromStar: function (universe, rti) { - var question = rti._precomputed1; - return question == null ? rti._precomputed1 = H._Universe__lookupQuestionRti(universe, rti._primary, true) : question; - }, - Rti__getFutureFromFutureOr: function (universe, rti) { - var future = rti._precomputed1; - return future == null ? rti._precomputed1 = H._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]) : future; - }, - Rti__isUnionOfFunctionType: function (rti) { - var kind = rti._kind; - if (kind === 6 || kind === 7 || kind === 8) - return H.Rti__isUnionOfFunctionType(rti._primary); - return kind === 11 || kind === 12; - }, - Rti__getCanonicalRecipe: function (rti) { - return rti._canonicalRecipe; - }, - findType: function (recipe) { - return H._Universe_eval(init.typeUniverse, recipe, false); - }, - _substitute: function (universe, rti, typeArguments, depth) { - var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument, - kind = rti._kind; - switch (kind) { - case 5: - case 1: - case 2: - case 3: - case 4: - return rti; - case 6: - baseType = rti._primary; - substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth); - if (substitutedBaseType === baseType) - return rti; - return H._Universe__lookupStarRti(universe, substitutedBaseType, true); - case 7: - baseType = rti._primary; - substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth); - if (substitutedBaseType === baseType) - return rti; - return H._Universe__lookupQuestionRti(universe, substitutedBaseType, true); - case 8: - baseType = rti._primary; - substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth); - if (substitutedBaseType === baseType) - return rti; - return H._Universe__lookupFutureOrRti(universe, substitutedBaseType, true); - case 9: - interfaceTypeArguments = rti._rest; - substitutedInterfaceTypeArguments = H._substituteArray(universe, interfaceTypeArguments, typeArguments, depth); - if (substitutedInterfaceTypeArguments === interfaceTypeArguments) - return rti; - return H._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments); - case 10: - base = rti._primary; - substitutedBase = H._substitute(universe, base, typeArguments, depth); - $arguments = rti._rest; - substitutedArguments = H._substituteArray(universe, $arguments, typeArguments, depth); - if (substitutedBase === base && substitutedArguments === $arguments) - return rti; - return H._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments); - case 11: - returnType = rti._primary; - substitutedReturnType = H._substitute(universe, returnType, typeArguments, depth); - functionParameters = rti._rest; - substitutedFunctionParameters = H._substituteFunctionParameters(universe, functionParameters, typeArguments, depth); - if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters) - return rti; - return H._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters); - case 12: - bounds = rti._rest; - depth += bounds.length; - substitutedBounds = H._substituteArray(universe, bounds, typeArguments, depth); - base = rti._primary; - substitutedBase = H._substitute(universe, base, typeArguments, depth); - if (substitutedBounds === bounds && substitutedBase === base) - return rti; - return H._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true); - case 13: - index = rti._primary; - if (index < depth) - return rti; - argument = typeArguments[index - depth]; - if (argument == null) - return rti; - return argument; - default: - throw H.wrapException(P.AssertionError$("Attempted to substitute unexpected RTI kind " + kind)); - } - }, - _substituteArray: function (universe, rtiArray, typeArguments, depth) { - var changed, i, rti, substitutedRti, - $length = rtiArray.length, - result = []; - for (changed = false, i = 0; i < $length; ++i) { - rti = rtiArray[i]; - substitutedRti = H._substitute(universe, rti, typeArguments, depth); - if (substitutedRti !== rti) - changed = true; - result.push(substitutedRti); - } - return changed ? result : rtiArray; - }, - _substituteNamed: function (universe, namedArray, typeArguments, depth) { - var changed, i, t1, t2, rti, substitutedRti, - $length = namedArray.length, - result = []; - for (changed = false, i = 0; i < $length; i += 3) { - t1 = namedArray[i]; - t2 = namedArray[i + 1]; - rti = namedArray[i + 2]; - substitutedRti = H._substitute(universe, rti, typeArguments, depth); - if (substitutedRti !== rti) - changed = true; - result.push(t1); - result.push(t2); - result.push(substitutedRti); - } - return changed ? result : namedArray; - }, - _substituteFunctionParameters: function (universe, functionParameters, typeArguments, depth) { - var result, - requiredPositional = functionParameters._requiredPositional, - substitutedRequiredPositional = H._substituteArray(universe, requiredPositional, typeArguments, depth), - optionalPositional = functionParameters._optionalPositional, - substitutedOptionalPositional = H._substituteArray(universe, optionalPositional, typeArguments, depth), - named = functionParameters._named, - substitutedNamed = H._substituteNamed(universe, named, typeArguments, depth); - if (substitutedRequiredPositional === requiredPositional && substitutedOptionalPositional === optionalPositional && substitutedNamed === named) - return functionParameters; - result = new H._FunctionParameters(); - result._requiredPositional = substitutedRequiredPositional; - result._optionalPositional = substitutedOptionalPositional; - result._named = substitutedNamed; - return result; - }, - setRuntimeTypeInfo: function (target, rti) { - target[init.arrayRti] = rti; - return target; - }, - closureFunctionType: function (closure) { - var signature = closure.$signature; - if (signature != null) { - if (typeof signature == "number") - return H.getTypeFromTypesTable(signature); - return closure.$signature(); - } - return null; - }, - instanceOrFunctionType: function (object, testRti) { - var rti; - if (H.Rti__isUnionOfFunctionType(testRti)) - if (object instanceof H.Closure) { - rti = H.closureFunctionType(object); - if (rti != null) - return rti; - } - return H.instanceType(object); - }, - instanceType: function (object) { - var rti; - if (object instanceof P.Object) { - rti = object.$ti; - return rti != null ? rti : H._instanceTypeFromConstructor(object); - } - if (Array.isArray(object)) - return H._arrayInstanceType(object); - return H._instanceTypeFromConstructor(J.getInterceptor$(object)); - }, - _arrayInstanceType: function (object) { - var rti = object[init.arrayRti], - defaultRti = type$.JSArray_dynamic; - if (rti == null) - return defaultRti; - if (rti.constructor !== defaultRti.constructor) - return defaultRti; - return rti; - }, - _instanceType: function (object) { - var rti = object.$ti; - return rti != null ? rti : H._instanceTypeFromConstructor(object); - }, - _instanceTypeFromConstructor: function (instance) { - var $constructor = instance.constructor, - probe = $constructor.$ccache; - if (probe != null) - return probe; - return H._instanceTypeFromConstructorMiss(instance, $constructor); - }, - _instanceTypeFromConstructorMiss: function (instance, $constructor) { - var effectiveConstructor = instance instanceof H.Closure ? instance.__proto__.__proto__.constructor : $constructor, - rti = H._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name); - $constructor.$ccache = rti; - return rti; - }, - getTypeFromTypesTable: function (index) { - var table, type, rti; - H._asInt(index); - table = init.types; - type = table[index]; - if (typeof type == "string") { - rti = H._Universe_eval(init.typeUniverse, type, false); - table[index] = rti; - return rti; - } - return type; - }, - _installSpecializedIsTest: function (object) { - var t1, unstarred, isFn, testRti = this; - if (testRti === type$.Object) - return H._finishIsFn(testRti, object, H._isObject); - if (!H.isStrongTopType(testRti)) - if (!(testRti === type$.legacy_Object)) - t1 = false; - else - t1 = true; - else - t1 = true; - if (t1) - return H._finishIsFn(testRti, object, H._isTop); - t1 = testRti._kind; - unstarred = t1 === 6 ? testRti._primary : testRti; - if (unstarred === type$.int) - isFn = H._isInt; - else if (unstarred === type$.double || unstarred === type$.num) - isFn = H._isNum; - else if (unstarred === type$.String) - isFn = H._isString; - else - isFn = unstarred === type$.bool ? H._isBool : null; - if (isFn != null) - return H._finishIsFn(testRti, object, isFn); - if (unstarred._kind === 9) { - t1 = unstarred._primary; - if (unstarred._rest.every(H.isTopType)) { - testRti._specializedTestResource = "$is" + t1; - return H._finishIsFn(testRti, object, H._isTestViaProperty); - } - } else if (t1 === 7) - return H._finishIsFn(testRti, object, H._generalNullableIsTestImplementation); - return H._finishIsFn(testRti, object, H._generalIsTestImplementation); - }, - _finishIsFn: function (testRti, object, isFn) { - testRti._is = isFn; - return testRti._is(object); - }, - _installSpecializedAsCheck: function (object) { - var t1, testRti = this, - asFn = H._generalAsCheckImplementation; - if (!H.isStrongTopType(testRti)) - if (!(testRti === type$.legacy_Object)) - t1 = false; - else - t1 = true; - else - t1 = true; - if (t1) - asFn = H._asTop; - else if (testRti === type$.Object) - asFn = H._asObject; - else { - t1 = H.isNullable(testRti); - if (t1) - asFn = H._generalNullableAsCheckImplementation; - } - testRti._as = asFn; - return testRti._as(object); - }, - _nullIs: function (testRti) { - var t1, - kind = testRti._kind; - if (!H.isStrongTopType(testRti)) - if (!(testRti === type$.legacy_Object)) - if (!(testRti === type$.legacy_Never)) - if (kind !== 7) - t1 = kind === 8 && H._nullIs(testRti._primary) || testRti === type$.Null || testRti === type$.JSNull; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - return t1; - }, - _generalIsTestImplementation: function (object) { - var testRti = this; - if (object == null) - return H._nullIs(testRti); - return H._isSubtype(init.typeUniverse, H.instanceOrFunctionType(object, testRti), null, testRti, null); - }, - _generalNullableIsTestImplementation: function (object) { - if (object == null) - return true; - return this._primary._is(object); - }, - _isTestViaProperty: function (object) { - var tag, testRti = this; - if (object == null) - return H._nullIs(testRti); - tag = testRti._specializedTestResource; - if (object instanceof P.Object) - return !!object[tag]; - return !!J.getInterceptor$(object)[tag]; - }, - _generalAsCheckImplementation: function (object) { - var t1, testRti = this; - if (object == null) { - t1 = H.isNullable(testRti); - if (t1) - return object; - } else if (testRti._is(object)) - return object; - H._failedAsCheck(object, testRti); - }, - _generalNullableAsCheckImplementation: function (object) { - var testRti = this; - if (object == null) - return object; - else if (testRti._is(object)) - return object; - H._failedAsCheck(object, testRti); - }, - _failedAsCheck: function (object, testRti) { - throw H.wrapException(H._TypeError$fromMessage(H._Error_compose(object, H.instanceOrFunctionType(object, testRti), H._rtiToString(testRti, null)))); - }, - checkTypeBound: function (type, bound, variable, methodName) { - var _null = null; - if (H._isSubtype(init.typeUniverse, type, _null, bound, _null)) - return type; - throw H.wrapException(H._TypeError$fromMessage("The type argument '" + H._rtiToString(type, _null) + "' is not a subtype of the type variable bound '" + H._rtiToString(bound, _null) + "' of type variable '" + variable + "' in '" + methodName + "'.")); - }, - _Error_compose: function (object, objectRti, checkedTypeDescription) { - var objectDescription = P.Error_safeToString(object), - objectTypeDescription = H._rtiToString(objectRti == null ? H.instanceType(object) : objectRti, null); - return objectDescription + ": type '" + objectTypeDescription + "' is not a subtype of type '" + checkedTypeDescription + "'"; - }, - _TypeError$fromMessage: function (message) { - return new H._TypeError("TypeError: " + message); - }, - _TypeError__TypeError$forType: function (object, type) { - return new H._TypeError("TypeError: " + H._Error_compose(object, null, type)); - }, - _isObject: function (object) { - return object != null; - }, - _asObject: function (object) { - if (object != null) - return object; - throw H.wrapException(H._TypeError__TypeError$forType(object, "Object")); - }, - _isTop: function (object) { - return true; - }, - _asTop: function (object) { - return object; - }, - _isBool: function (object) { - return true === object || false === object; - }, - _asBool: function (object) { - if (true === object) - return true; - if (false === object) - return false; - throw H.wrapException(H._TypeError__TypeError$forType(object, "bool")); - }, - _asBoolS: function (object) { - if (true === object) - return true; - if (false === object) - return false; - if (object == null) - return object; - throw H.wrapException(H._TypeError__TypeError$forType(object, "bool")); - }, - _asBoolQ: function (object) { - if (true === object) - return true; - if (false === object) - return false; - if (object == null) - return object; - throw H.wrapException(H._TypeError__TypeError$forType(object, "bool?")); - }, - _asDouble: function (object) { - if (typeof object == "number") - return object; - throw H.wrapException(H._TypeError__TypeError$forType(object, "double")); - }, - _asDoubleS: function (object) { - if (typeof object == "number") - return object; - if (object == null) - return object; - throw H.wrapException(H._TypeError__TypeError$forType(object, "double")); - }, - _asDoubleQ: function (object) { - if (typeof object == "number") - return object; - if (object == null) - return object; - throw H.wrapException(H._TypeError__TypeError$forType(object, "double?")); - }, - _isInt: function (object) { - return typeof object == "number" && Math.floor(object) === object; - }, - _asInt: function (object) { - if (typeof object == "number" && Math.floor(object) === object) - return object; - throw H.wrapException(H._TypeError__TypeError$forType(object, "int")); - }, - _asIntS: function (object) { - if (typeof object == "number" && Math.floor(object) === object) - return object; - if (object == null) - return object; - throw H.wrapException(H._TypeError__TypeError$forType(object, "int")); - }, - _asIntQ: function (object) { - if (typeof object == "number" && Math.floor(object) === object) - return object; - if (object == null) - return object; - throw H.wrapException(H._TypeError__TypeError$forType(object, "int?")); - }, - _isNum: function (object) { - return typeof object == "number"; - }, - _asNum: function (object) { - if (typeof object == "number") - return object; - throw H.wrapException(H._TypeError__TypeError$forType(object, "num")); - }, - _asNumS: function (object) { - if (typeof object == "number") - return object; - if (object == null) - return object; - throw H.wrapException(H._TypeError__TypeError$forType(object, "num")); - }, - _asNumQ: function (object) { - if (typeof object == "number") - return object; - if (object == null) - return object; - throw H.wrapException(H._TypeError__TypeError$forType(object, "num?")); - }, - _isString: function (object) { - return typeof object == "string"; - }, - _asString: function (object) { - if (typeof object == "string") - return object; - throw H.wrapException(H._TypeError__TypeError$forType(object, "String")); - }, - _asStringS: function (object) { - if (typeof object == "string") - return object; - if (object == null) - return object; - throw H.wrapException(H._TypeError__TypeError$forType(object, "String")); - }, - _asStringQ: function (object) { - if (typeof object == "string") - return object; - if (object == null) - return object; - throw H.wrapException(H._TypeError__TypeError$forType(object, "String?")); - }, - _rtiArrayToString: function (array, genericContext) { - var s, sep, i; - for (s = "", sep = "", i = 0; i < array.length; ++i, sep = ", ") - s += sep + H._rtiToString(array[i], genericContext); - return s; - }, - _functionRtiToString: function (functionType, genericContext, bounds) { - var boundsLength, outerContextLength, offset, i, t1, t2, typeParametersText, typeSep, t3, t4, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", "; - if (bounds != null) { - boundsLength = bounds.length; - if (genericContext == null) { - genericContext = H.setRuntimeTypeInfo([], type$.JSArray_String); - outerContextLength = null; - } else - outerContextLength = genericContext.length; - offset = genericContext.length; - for (i = boundsLength; i > 0; --i) - C.JSArray_methods.add$1(genericContext, "T" + (offset + i)); - for (t1 = type$.nullable_Object, t2 = type$.legacy_Object, typeParametersText = "<", typeSep = "", i = 0; i < boundsLength; ++i, typeSep = _s2_) { - typeParametersText += typeSep; - t3 = genericContext.length; - t4 = t3 - 1 - i; - if (t4 < 0) - return H.ioore(genericContext, t4); - typeParametersText = C.JSString_methods.$add(typeParametersText, genericContext[t4]); - boundRti = bounds[i]; - kind = boundRti._kind; - if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1)) - if (!(boundRti === t2)) - t3 = false; - else - t3 = true; - else - t3 = true; - if (!t3) - typeParametersText += " extends " + H._rtiToString(boundRti, genericContext); - } - typeParametersText += ">"; - } else { - typeParametersText = ""; - outerContextLength = null; - } - t1 = functionType._primary; - parameters = functionType._rest; - requiredPositional = parameters._requiredPositional; - requiredPositionalLength = requiredPositional.length; - optionalPositional = parameters._optionalPositional; - optionalPositionalLength = optionalPositional.length; - named = parameters._named; - namedLength = named.length; - returnTypeText = H._rtiToString(t1, genericContext); - for (argumentsText = "", sep = "", i = 0; i < requiredPositionalLength; ++i, sep = _s2_) - argumentsText += sep + H._rtiToString(requiredPositional[i], genericContext); - if (optionalPositionalLength > 0) { - argumentsText += sep + "["; - for (sep = "", i = 0; i < optionalPositionalLength; ++i, sep = _s2_) - argumentsText += sep + H._rtiToString(optionalPositional[i], genericContext); - argumentsText += "]"; - } - if (namedLength > 0) { - argumentsText += sep + "{"; - for (sep = "", i = 0; i < namedLength; i += 3, sep = _s2_) { - argumentsText += sep; - if (named[i + 1]) - argumentsText += "required "; - argumentsText += H._rtiToString(named[i + 2], genericContext) + " " + named[i]; - } - argumentsText += "}"; - } - if (outerContextLength != null) { - genericContext.toString; - genericContext.length = outerContextLength; - } - return typeParametersText + "(" + argumentsText + ") => " + returnTypeText; - }, - _rtiToString: function (rti, genericContext) { - var s, questionArgument, argumentKind, $name, $arguments, t1, t2, - kind = rti._kind; - if (kind === 5) - return "erased"; - if (kind === 2) - return "dynamic"; - if (kind === 3) - return "void"; - if (kind === 1) - return "Never"; - if (kind === 4) - return "any"; - if (kind === 6) { - s = H._rtiToString(rti._primary, genericContext); - return s; - } - if (kind === 7) { - questionArgument = rti._primary; - s = H._rtiToString(questionArgument, genericContext); - argumentKind = questionArgument._kind; - return (argumentKind === 11 || argumentKind === 12 ? "(" + s + ")" : s) + "?"; - } - if (kind === 8) - return "FutureOr<" + H._rtiToString(rti._primary, genericContext) + ">"; - if (kind === 9) { - $name = H._unminifyOrTag(rti._primary); - $arguments = rti._rest; - return $arguments.length !== 0 ? $name + ("<" + H._rtiArrayToString($arguments, genericContext) + ">") : $name; - } - if (kind === 11) - return H._functionRtiToString(rti, genericContext, null); - if (kind === 12) - return H._functionRtiToString(rti._primary, genericContext, rti._rest); - if (kind === 13) { - t1 = rti._primary; - t2 = genericContext.length; - t1 = t2 - 1 - t1; - if (t1 < 0 || t1 >= t2) - return H.ioore(genericContext, t1); - return genericContext[t1]; - } - return "?"; - }, - _unminifyOrTag: function (rawClassName) { - var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName); - if (preserved != null) - return preserved; - return rawClassName; - }, - _Universe_findRule: function (universe, targetType) { - var rule = universe.tR[targetType]; - for (; typeof rule == "string";) - rule = universe.tR[rule]; - return rule; - }, - _Universe_findErasedType: function (universe, cls) { - var $length, erased, $arguments, i, $interface, - t1 = universe.eT, - probe = t1[cls]; - if (probe == null) - return H._Universe_eval(universe, cls, false); - else if (typeof probe == "number") { - $length = probe; - erased = H._Universe__lookupTerminalRti(universe, 5, "#"); - $arguments = []; - for (i = 0; i < $length; ++i) - $arguments.push(erased); - $interface = H._Universe__lookupInterfaceRti(universe, cls, $arguments); - t1[cls] = $interface; - return $interface; - } else - return probe; - }, - _Universe_addRules: function (universe, rules) { - return H._Utils_objectAssign(universe.tR, rules); - }, - _Universe_addErasedTypes: function (universe, types) { - return H._Utils_objectAssign(universe.eT, types); - }, - _Universe_eval: function (universe, recipe, normalize) { - var rti, - t1 = universe.eC, - probe = t1.get(recipe); - if (probe != null) - return probe; - rti = H._Parser_parse(H._Parser_create(universe, null, recipe, normalize)); - t1.set(recipe, rti); - return rti; - }, - _Universe_evalInEnvironment: function (universe, environment, recipe) { - var probe, rti, - cache = environment._evalCache; - if (cache == null) - cache = environment._evalCache = new Map(); - probe = cache.get(recipe); - if (probe != null) - return probe; - rti = H._Parser_parse(H._Parser_create(universe, environment, recipe, true)); - cache.set(recipe, rti); - return rti; - }, - _Universe_bind: function (universe, environment, argumentsRti) { - var argumentsRecipe, probe, rti, - cache = environment._bindCache; - if (cache == null) - cache = environment._bindCache = new Map(); - argumentsRecipe = argumentsRti._canonicalRecipe; - probe = cache.get(argumentsRecipe); - if (probe != null) - return probe; - rti = H._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 10 ? argumentsRti._rest : [argumentsRti]); - cache.set(argumentsRecipe, rti); - return rti; - }, - _Universe__installTypeTests: function (universe, rti) { - rti._as = H._installSpecializedAsCheck; - rti._is = H._installSpecializedIsTest; - return rti; - }, - _Universe__lookupTerminalRti: function (universe, kind, key) { - var rti, t1, - probe = universe.eC.get(key); - if (probe != null) - return probe; - rti = new H.Rti(null, null); - rti._kind = kind; - rti._canonicalRecipe = key; - t1 = H._Universe__installTypeTests(universe, rti); - universe.eC.set(key, t1); - return t1; - }, - _Universe__lookupStarRti: function (universe, baseType, normalize) { - var t1, - key = baseType._canonicalRecipe + "*", - probe = universe.eC.get(key); - if (probe != null) - return probe; - t1 = H._Universe__createStarRti(universe, baseType, key, normalize); - universe.eC.set(key, t1); - return t1; - }, - _Universe__createStarRti: function (universe, baseType, key, normalize) { - var baseKind, t1, rti; - if (normalize) { - baseKind = baseType._kind; - if (!H.isStrongTopType(baseType)) - t1 = baseType === type$.Null || baseType === type$.JSNull || baseKind === 7 || baseKind === 6; - else - t1 = true; - if (t1) - return baseType; - } - rti = new H.Rti(null, null); - rti._kind = 6; - rti._primary = baseType; - rti._canonicalRecipe = key; - return H._Universe__installTypeTests(universe, rti); - }, - _Universe__lookupQuestionRti: function (universe, baseType, normalize) { - var t1, - key = baseType._canonicalRecipe + "?", - probe = universe.eC.get(key); - if (probe != null) - return probe; - t1 = H._Universe__createQuestionRti(universe, baseType, key, normalize); - universe.eC.set(key, t1); - return t1; - }, - _Universe__createQuestionRti: function (universe, baseType, key, normalize) { - var baseKind, t1, starArgument, rti; - if (normalize) { - baseKind = baseType._kind; - if (!H.isStrongTopType(baseType)) - if (!(baseType === type$.Null || baseType === type$.JSNull)) - if (baseKind !== 7) - t1 = baseKind === 8 && H.isNullable(baseType._primary); - else - t1 = true; - else - t1 = true; - else - t1 = true; - if (t1) - return baseType; - else if (baseKind === 1 || baseType === type$.legacy_Never) - return type$.Null; - else if (baseKind === 6) { - starArgument = baseType._primary; - if (starArgument._kind === 8 && H.isNullable(starArgument._primary)) - return starArgument; - else - return H.Rti__getQuestionFromStar(universe, baseType); - } - } - rti = new H.Rti(null, null); - rti._kind = 7; - rti._primary = baseType; - rti._canonicalRecipe = key; - return H._Universe__installTypeTests(universe, rti); - }, - _Universe__lookupFutureOrRti: function (universe, baseType, normalize) { - var t1, - key = baseType._canonicalRecipe + "/", - probe = universe.eC.get(key); - if (probe != null) - return probe; - t1 = H._Universe__createFutureOrRti(universe, baseType, key, normalize); - universe.eC.set(key, t1); - return t1; - }, - _Universe__createFutureOrRti: function (universe, baseType, key, normalize) { - var t1, t2, rti; - if (normalize) { - t1 = baseType._kind; - if (!H.isStrongTopType(baseType)) - if (!(baseType === type$.legacy_Object)) - t2 = false; - else - t2 = true; - else - t2 = true; - if (t2 || baseType === type$.Object) - return baseType; - else if (t1 === 1) - return H._Universe__lookupInterfaceRti(universe, "Future", [baseType]); - else if (baseType === type$.Null || baseType === type$.JSNull) - return type$.nullable_Future_Null; - } - rti = new H.Rti(null, null); - rti._kind = 8; - rti._primary = baseType; - rti._canonicalRecipe = key; - return H._Universe__installTypeTests(universe, rti); - }, - _Universe__lookupGenericFunctionParameterRti: function (universe, index) { - var rti, t1, - key = "" + index + "^", - probe = universe.eC.get(key); - if (probe != null) - return probe; - rti = new H.Rti(null, null); - rti._kind = 13; - rti._primary = index; - rti._canonicalRecipe = key; - t1 = H._Universe__installTypeTests(universe, rti); - universe.eC.set(key, t1); - return t1; - }, - _Universe__canonicalRecipeJoin: function ($arguments) { - var s, sep, i, - $length = $arguments.length; - for (s = "", sep = "", i = 0; i < $length; ++i, sep = ",") - s += sep + $arguments[i]._canonicalRecipe; - return s; - }, - _Universe__canonicalRecipeJoinNamed: function ($arguments) { - var s, sep, i, t1, nameSep, s0, - $length = $arguments.length; - for (s = "", sep = "", i = 0; i < $length; i += 3, sep = ",") { - t1 = $arguments[i]; - nameSep = $arguments[i + 1] ? "!" : ":"; - s0 = $arguments[i + 2]._canonicalRecipe; - s += sep + t1 + nameSep + s0; - } - return s; - }, - _Universe__lookupInterfaceRti: function (universe, $name, $arguments) { - var probe, rti, t1, - s = $name; - if ($arguments.length !== 0) - s += "<" + H._Universe__canonicalRecipeJoin($arguments) + ">"; - probe = universe.eC.get(s); - if (probe != null) - return probe; - rti = new H.Rti(null, null); - rti._kind = 9; - rti._primary = $name; - rti._rest = $arguments; - if ($arguments.length > 0) - rti._precomputed1 = $arguments[0]; - rti._canonicalRecipe = s; - t1 = H._Universe__installTypeTests(universe, rti); - universe.eC.set(s, t1); - return t1; - }, - _Universe__lookupBindingRti: function (universe, base, $arguments) { - var newBase, newArguments, key, probe, rti, t1; - if (base._kind === 10) { - newBase = base._primary; - newArguments = base._rest.concat($arguments); - } else { - newArguments = $arguments; - newBase = base; - } - key = newBase._canonicalRecipe + (";<" + H._Universe__canonicalRecipeJoin(newArguments) + ">"); - probe = universe.eC.get(key); - if (probe != null) - return probe; - rti = new H.Rti(null, null); - rti._kind = 10; - rti._primary = newBase; - rti._rest = newArguments; - rti._canonicalRecipe = key; - t1 = H._Universe__installTypeTests(universe, rti); - universe.eC.set(key, t1); - return t1; - }, - _Universe__lookupFunctionRti: function (universe, returnType, parameters) { - var sep, t1, key, probe, rti, - s = returnType._canonicalRecipe, - requiredPositional = parameters._requiredPositional, - requiredPositionalLength = requiredPositional.length, - optionalPositional = parameters._optionalPositional, - optionalPositionalLength = optionalPositional.length, - named = parameters._named, - namedLength = named.length, - recipe = "(" + H._Universe__canonicalRecipeJoin(requiredPositional); - if (optionalPositionalLength > 0) { - sep = requiredPositionalLength > 0 ? "," : ""; - t1 = H._Universe__canonicalRecipeJoin(optionalPositional); - recipe += sep + "[" + t1 + "]"; - } - if (namedLength > 0) { - sep = requiredPositionalLength > 0 ? "," : ""; - t1 = H._Universe__canonicalRecipeJoinNamed(named); - recipe += sep + "{" + t1 + "}"; - } - key = s + (recipe + ")"); - probe = universe.eC.get(key); - if (probe != null) - return probe; - rti = new H.Rti(null, null); - rti._kind = 11; - rti._primary = returnType; - rti._rest = parameters; - rti._canonicalRecipe = key; - t1 = H._Universe__installTypeTests(universe, rti); - universe.eC.set(key, t1); - return t1; - }, - _Universe__lookupGenericFunctionRti: function (universe, baseFunctionType, bounds, normalize) { - var t1, - key = baseFunctionType._canonicalRecipe + ("<" + H._Universe__canonicalRecipeJoin(bounds) + ">"), - probe = universe.eC.get(key); - if (probe != null) - return probe; - t1 = H._Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize); - universe.eC.set(key, t1); - return t1; - }, - _Universe__createGenericFunctionRti: function (universe, baseFunctionType, bounds, key, normalize) { - var $length, typeArguments, count, i, bound, substitutedBase, substitutedBounds, rti; - if (normalize) { - $length = bounds.length; - typeArguments = new Array($length); - for (count = 0, i = 0; i < $length; ++i) { - bound = bounds[i]; - if (bound._kind === 1) { - typeArguments[i] = bound; - ++count; - } - } - if (count > 0) { - substitutedBase = H._substitute(universe, baseFunctionType, typeArguments, 0); - substitutedBounds = H._substituteArray(universe, bounds, typeArguments, 0); - return H._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, bounds !== substitutedBounds); - } - } - rti = new H.Rti(null, null); - rti._kind = 12; - rti._primary = baseFunctionType; - rti._rest = bounds; - rti._canonicalRecipe = key; - return H._Universe__installTypeTests(universe, rti); - }, - _Parser_create: function (universe, environment, recipe, normalize) { - return { - u: universe, - e: environment, - r: recipe, - s: [], - p: 0, - n: normalize - }; - }, - _Parser_parse: function (parser) { - var t2, i, ch, t3, array, head, base, parameters, optionalPositional, named, item, - source = parser.r, - t1 = parser.s; - for (t2 = source.length, i = 0; i < t2;) { - ch = source.charCodeAt(i); - if (ch >= 48 && ch <= 57) - i = H._Parser_handleDigit(i + 1, ch, source, t1); - else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36) - i = H._Parser_handleIdentifier(parser, i, source, t1, false); - else if (ch === 46) - i = H._Parser_handleIdentifier(parser, i, source, t1, true); - else { - ++i; - switch (ch) { - case 44: - break; - case 58: - t1.push(false); - break; - case 33: - t1.push(true); - break; - case 59: - t1.push(H._Parser_toType(parser.u, parser.e, t1.pop())); - break; - case 94: - t1.push(H._Universe__lookupGenericFunctionParameterRti(parser.u, t1.pop())); - break; - case 35: - t1.push(H._Universe__lookupTerminalRti(parser.u, 5, "#")); - break; - case 64: - t1.push(H._Universe__lookupTerminalRti(parser.u, 2, "@")); - break; - case 126: - t1.push(H._Universe__lookupTerminalRti(parser.u, 3, "~")); - break; - case 60: - t1.push(parser.p); - parser.p = t1.length; - break; - case 62: - t3 = parser.u; - array = t1.splice(parser.p); - H._Parser_toTypes(parser.u, parser.e, array); - parser.p = t1.pop(); - head = t1.pop(); - if (typeof head == "string") - t1.push(H._Universe__lookupInterfaceRti(t3, head, array)); - else { - base = H._Parser_toType(t3, parser.e, head); - switch (base._kind) { - case 11: - t1.push(H._Universe__lookupGenericFunctionRti(t3, base, array, parser.n)); - break; - default: - t1.push(H._Universe__lookupBindingRti(t3, base, array)); - break; - } - } - break; - case 38: - H._Parser_handleExtendedOperations(parser, t1); - break; - case 42: - t3 = parser.u; - t1.push(H._Universe__lookupStarRti(t3, H._Parser_toType(t3, parser.e, t1.pop()), parser.n)); - break; - case 63: - t3 = parser.u; - t1.push(H._Universe__lookupQuestionRti(t3, H._Parser_toType(t3, parser.e, t1.pop()), parser.n)); - break; - case 47: - t3 = parser.u; - t1.push(H._Universe__lookupFutureOrRti(t3, H._Parser_toType(t3, parser.e, t1.pop()), parser.n)); - break; - case 40: - t1.push(parser.p); - parser.p = t1.length; - break; - case 41: - t3 = parser.u; - parameters = new H._FunctionParameters(); - optionalPositional = t3.sEA; - named = t3.sEA; - head = t1.pop(); - if (typeof head == "number") - switch (head) { - case -1: - optionalPositional = t1.pop(); - break; - case -2: - named = t1.pop(); - break; - default: - t1.push(head); - break; - } - else - t1.push(head); - array = t1.splice(parser.p); - H._Parser_toTypes(parser.u, parser.e, array); - parser.p = t1.pop(); - parameters._requiredPositional = array; - parameters._optionalPositional = optionalPositional; - parameters._named = named; - t1.push(H._Universe__lookupFunctionRti(t3, H._Parser_toType(t3, parser.e, t1.pop()), parameters)); - break; - case 91: - t1.push(parser.p); - parser.p = t1.length; - break; - case 93: - array = t1.splice(parser.p); - H._Parser_toTypes(parser.u, parser.e, array); - parser.p = t1.pop(); - t1.push(array); - t1.push(-1); - break; - case 123: - t1.push(parser.p); - parser.p = t1.length; - break; - case 125: - array = t1.splice(parser.p); - H._Parser_toTypesNamed(parser.u, parser.e, array); - parser.p = t1.pop(); - t1.push(array); - t1.push(-2); - break; - default: - throw "Bad character " + ch; - } - } - } - item = t1.pop(); - return H._Parser_toType(parser.u, parser.e, item); - }, - _Parser_handleDigit: function (i, digit, source, stack) { - var t1, ch, - value = digit - 48; - for (t1 = source.length; i < t1; ++i) { - ch = source.charCodeAt(i); - if (!(ch >= 48 && ch <= 57)) - break; - value = value * 10 + (ch - 48); - } - stack.push(value); - return i; - }, - _Parser_handleIdentifier: function (parser, start, source, stack, hasPeriod) { - var t1, ch, t2, string, environment, recipe, - i = start + 1; - for (t1 = source.length; i < t1; ++i) { - ch = source.charCodeAt(i); - if (ch === 46) { - if (hasPeriod) - break; - hasPeriod = true; - } else { - if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36)) - t2 = ch >= 48 && ch <= 57; - else - t2 = true; - if (!t2) - break; - } - } - string = source.substring(start, i); - if (hasPeriod) { - t1 = parser.u; - environment = parser.e; - if (environment._kind === 10) - environment = environment._primary; - recipe = H._Universe_findRule(t1, environment._primary)[string]; - if (recipe == null) - H.throwExpression('No "' + string + '" in "' + H.Rti__getCanonicalRecipe(environment) + '"'); - stack.push(H._Universe_evalInEnvironment(t1, environment, recipe)); - } else - stack.push(string); - return i; - }, - _Parser_handleExtendedOperations: function (parser, stack) { - var $top = stack.pop(); - if (0 === $top) { - stack.push(H._Universe__lookupTerminalRti(parser.u, 1, "0&")); - return; - } - if (1 === $top) { - stack.push(H._Universe__lookupTerminalRti(parser.u, 4, "1&")); - return; - } - throw H.wrapException(P.AssertionError$("Unexpected extended operation " + H.S($top))); - }, - _Parser_toType: function (universe, environment, item) { - if (typeof item == "string") - return H._Universe__lookupInterfaceRti(universe, item, universe.sEA); - else if (typeof item == "number") - return H._Parser_indexToType(universe, environment, item); - else - return item; - }, - _Parser_toTypes: function (universe, environment, items) { - var i, - $length = items.length; - for (i = 0; i < $length; ++i) - items[i] = H._Parser_toType(universe, environment, items[i]); - }, - _Parser_toTypesNamed: function (universe, environment, items) { - var i, - $length = items.length; - for (i = 2; i < $length; i += 3) - items[i] = H._Parser_toType(universe, environment, items[i]); - }, - _Parser_indexToType: function (universe, environment, index) { - var typeArguments, len, - kind = environment._kind; - if (kind === 10) { - if (index === 0) - return environment._primary; - typeArguments = environment._rest; - len = typeArguments.length; - if (index <= len) - return typeArguments[index - 1]; - index -= len; - environment = environment._primary; - kind = environment._kind; - } else if (index === 0) - return environment; - if (kind !== 9) - throw H.wrapException(P.AssertionError$("Indexed base must be an interface type")); - typeArguments = environment._rest; - if (index <= typeArguments.length) - return typeArguments[index - 1]; - throw H.wrapException(P.AssertionError$("Bad index " + index + " for " + environment.toString$0(0))); - }, - _isSubtype: function (universe, s, sEnv, t, tEnv) { - var t1, sKind, leftTypeVariable, tKind, sBounds, tBounds, sLength, i, sBound, tBound; - if (s === t) - return true; - if (!H.isStrongTopType(t)) - if (!(t === type$.legacy_Object)) - t1 = false; - else - t1 = true; - else - t1 = true; - if (t1) - return true; - sKind = s._kind; - if (sKind === 4) - return true; - if (H.isStrongTopType(s)) - return false; - if (s._kind !== 1) - t1 = false; - else - t1 = true; - if (t1) - return true; - leftTypeVariable = sKind === 13; - if (leftTypeVariable) - if (H._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv)) - return true; - tKind = t._kind; - t1 = s === type$.Null || s === type$.JSNull; - if (t1) { - if (tKind === 8) - return H._isSubtype(universe, s, sEnv, t._primary, tEnv); - return t === type$.Null || t === type$.JSNull || tKind === 7 || tKind === 6; - } - if (t === type$.Object) { - if (sKind === 8) - return H._isSubtype(universe, s._primary, sEnv, t, tEnv); - if (sKind === 6) - return H._isSubtype(universe, s._primary, sEnv, t, tEnv); - return sKind !== 7; - } - if (sKind === 6) - return H._isSubtype(universe, s._primary, sEnv, t, tEnv); - if (tKind === 6) { - t1 = H.Rti__getQuestionFromStar(universe, t); - return H._isSubtype(universe, s, sEnv, t1, tEnv); - } - if (sKind === 8) { - if (!H._isSubtype(universe, s._primary, sEnv, t, tEnv)) - return false; - return H._isSubtype(universe, H.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv); - } - if (sKind === 7) { - t1 = H._isSubtype(universe, type$.Null, sEnv, t, tEnv); - return t1 && H._isSubtype(universe, s._primary, sEnv, t, tEnv); - } - if (tKind === 8) { - if (H._isSubtype(universe, s, sEnv, t._primary, tEnv)) - return true; - return H._isSubtype(universe, s, sEnv, H.Rti__getFutureFromFutureOr(universe, t), tEnv); - } - if (tKind === 7) { - t1 = H._isSubtype(universe, s, sEnv, type$.Null, tEnv); - return t1 || H._isSubtype(universe, s, sEnv, t._primary, tEnv); - } - if (leftTypeVariable) - return false; - t1 = sKind !== 11; - if ((!t1 || sKind === 12) && t === type$.Function) - return true; - if (tKind === 12) { - if (s === type$.JavaScriptFunction) - return true; - if (sKind !== 12) - return false; - sBounds = s._rest; - tBounds = t._rest; - sLength = sBounds.length; - if (sLength !== tBounds.length) - return false; - sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv); - tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv); - for (i = 0; i < sLength; ++i) { - sBound = sBounds[i]; - tBound = tBounds[i]; - if (!H._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !H._isSubtype(universe, tBound, tEnv, sBound, sEnv)) - return false; - } - return H._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv); - } - if (tKind === 11) { - if (s === type$.JavaScriptFunction) - return true; - if (t1) - return false; - return H._isFunctionSubtype(universe, s, sEnv, t, tEnv); - } - if (sKind === 9) { - if (tKind !== 9) - return false; - return H._isInterfaceSubtype(universe, s, sEnv, t, tEnv); - } - return false; - }, - _isFunctionSubtype: function (universe, s, sEnv, t, tEnv) { - var sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, t1, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName, sIsRequired; - if (!H._isSubtype(universe, s._primary, sEnv, t._primary, tEnv)) - return false; - sParameters = s._rest; - tParameters = t._rest; - sRequiredPositional = sParameters._requiredPositional; - tRequiredPositional = tParameters._requiredPositional; - sRequiredPositionalLength = sRequiredPositional.length; - tRequiredPositionalLength = tRequiredPositional.length; - if (sRequiredPositionalLength > tRequiredPositionalLength) - return false; - requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength; - sOptionalPositional = sParameters._optionalPositional; - tOptionalPositional = tParameters._optionalPositional; - sOptionalPositionalLength = sOptionalPositional.length; - tOptionalPositionalLength = tOptionalPositional.length; - if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength) - return false; - for (i = 0; i < sRequiredPositionalLength; ++i) { - t1 = sRequiredPositional[i]; - if (!H._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv)) - return false; - } - for (i = 0; i < requiredPositionalDelta; ++i) { - t1 = sOptionalPositional[i]; - if (!H._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv)) - return false; - } - for (i = 0; i < tOptionalPositionalLength; ++i) { - t1 = sOptionalPositional[requiredPositionalDelta + i]; - if (!H._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv)) - return false; - } - sNamed = sParameters._named; - tNamed = tParameters._named; - sNamedLength = sNamed.length; - tNamedLength = tNamed.length; - for (sIndex = 0, tIndex = 0; tIndex < tNamedLength; tIndex += 3) { - tName = tNamed[tIndex]; - for (; true;) { - if (sIndex >= sNamedLength) - return false; - sName = sNamed[sIndex]; - sIndex += 3; - if (tName < sName) - return false; - sIsRequired = sNamed[sIndex - 2]; - if (sName < tName) { - if (sIsRequired) - return false; - continue; - } - t1 = tNamed[tIndex + 1]; - if (sIsRequired && !t1) - return false; - t1 = sNamed[sIndex - 1]; - if (!H._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv)) - return false; - break; - } - } - for (; sIndex < sNamedLength;) { - if (sNamed[sIndex + 1]) - return false; - sIndex += 3; - } - return true; - }, - _isInterfaceSubtype: function (universe, s, sEnv, t, tEnv) { - var sArgs, tArgs, $length, i, t1, t2, rule, supertypeArgs, - sName = s._primary, - tName = t._primary; - if (sName === tName) { - sArgs = s._rest; - tArgs = t._rest; - $length = sArgs.length; - for (i = 0; i < $length; ++i) { - t1 = sArgs[i]; - t2 = tArgs[i]; - if (!H._isSubtype(universe, t1, sEnv, t2, tEnv)) - return false; - } - return true; - } - if (t === type$.Object) - return true; - rule = H._Universe_findRule(universe, sName); - if (rule == null) - return false; - supertypeArgs = rule[tName]; - if (supertypeArgs == null) - return false; - $length = supertypeArgs.length; - tArgs = t._rest; - for (i = 0; i < $length; ++i) - if (!H._isSubtype(universe, H._Universe_evalInEnvironment(universe, s, supertypeArgs[i]), sEnv, tArgs[i], tEnv)) - return false; - return true; - }, - isNullable: function (t) { - var t1, - kind = t._kind; - if (!(t === type$.Null || t === type$.JSNull)) - if (!H.isStrongTopType(t)) - if (kind !== 7) - if (!(kind === 6 && H.isNullable(t._primary))) - t1 = kind === 8 && H.isNullable(t._primary); - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - return t1; - }, - isTopType: function (t) { - var t1; - if (!H.isStrongTopType(t)) - if (!(t === type$.legacy_Object)) - t1 = false; - else - t1 = true; - else - t1 = true; - return t1; - }, - isStrongTopType: function (t) { - var kind = t._kind; - return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object; - }, - _Utils_objectAssign: function (o, other) { - var i, key, - keys = Object.keys(other), - $length = keys.length; - for (i = 0; i < $length; ++i) { - key = keys[i]; - o[key] = other[key]; - } - }, - Rti: function Rti(t0, t1) { - var _ = this; - _._as = t0; - _._is = t1; - _._cachedRuntimeType = _._specializedTestResource = _._precomputed1 = null; - _._kind = 0; - _._canonicalRecipe = _._bindCache = _._evalCache = _._rest = _._primary = null; - }, - _FunctionParameters: function _FunctionParameters() { - this._named = this._optionalPositional = this._requiredPositional = null; - }, - _Error: function _Error() {}, - _TypeError: function _TypeError(t0) { - this.__rti$_message = t0; - }, - isBrowserObject: function (o) { - return type$.Blob._is(o) || type$.Event._is(o) || type$.KeyRange._is(o) || type$.ImageData._is(o) || type$.Node._is(o) || type$.Window._is(o) || type$.WorkerGlobalScope._is(o); - }, - unmangleGlobalNameIfPreservedAnyways: function ($name) { - return init.mangledGlobalNames[$name]; - }, - printString: function (string) { - if (typeof dartPrint == "function") { - dartPrint(string); - return; - } - if (typeof console == "object" && typeof console.log != "undefined") { - console.log(string); - return; - } - if (typeof window == "object") - return; - if (typeof print == "function") { - print(string); - return; - } - throw "Unable to print message: " + String(string); - } - }, - J = { - makeDispatchRecord: function (interceptor, proto, extension, indexability) { - return { - i: interceptor, - p: proto, - e: extension, - x: indexability - }; - }, - getNativeInterceptor: function (object) { - var proto, objectProto, $constructor, interceptor, - record = object[init.dispatchPropertyName]; - if (record == null) - if ($.initNativeDispatchFlag == null) { - H.initNativeDispatch(); - record = object[init.dispatchPropertyName]; - } - if (record != null) { - proto = record.p; - if (false === proto) - return record.i; - if (true === proto) - return object; - objectProto = Object.getPrototypeOf(object); - if (proto === objectProto) - return record.i; - if (record.e === objectProto) - throw H.wrapException(P.UnimplementedError$("Return interceptor for " + H.S(proto(object, record)))); - } - $constructor = object.constructor; - interceptor = $constructor == null ? null : $constructor[J.JS_INTEROP_INTERCEPTOR_TAG()]; - if (interceptor != null) - return interceptor; - interceptor = H.lookupAndCacheInterceptor(object); - if (interceptor != null) - return interceptor; - if (typeof object == "function") - return C.JavaScriptFunction_methods; - proto = Object.getPrototypeOf(object); - if (proto == null) - return C.PlainJavaScriptObject_methods; - if (proto === Object.prototype) - return C.PlainJavaScriptObject_methods; - if (typeof $constructor == "function") { - Object.defineProperty($constructor, J.JS_INTEROP_INTERCEPTOR_TAG(), { - value: C.UnknownJavaScriptObject_methods, - enumerable: false, - writable: true, - configurable: true - }); - return C.UnknownJavaScriptObject_methods; - } - return C.UnknownJavaScriptObject_methods; - }, - JS_INTEROP_INTERCEPTOR_TAG: function () { - var t1 = $._JS_INTEROP_INTERCEPTOR_TAG; - return t1 == null ? $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js") : t1; - }, - JSArray_JSArray$fixed: function ($length, $E) { - if ($length < 0 || $length > 4294967295) - throw H.wrapException(P.RangeError$range($length, 0, 4294967295, "length", null)); - return J.JSArray_JSArray$markFixed(new Array($length), $E); - }, - JSArray_JSArray$growable: function ($length, $E) { - if ($length < 0) - throw H.wrapException(P.ArgumentError$("Length must be a non-negative integer: " + $length)); - return H.setRuntimeTypeInfo(new Array($length), $E._eval$1("JSArray<0>")); - }, - JSArray_JSArray$markFixed: function (allocation, $E) { - return J.JSArray_markFixedList(H.setRuntimeTypeInfo(allocation, $E._eval$1("JSArray<0>")), $E); - }, - JSArray_markFixedList: function (list, $T) { - list.fixed$length = Array; - return list; - }, - getInterceptor$: function (receiver) { - if (typeof receiver == "number") { - if (Math.floor(receiver) == receiver) - return J.JSInt.prototype; - return J.JSDouble.prototype; - } - if (typeof receiver == "string") - return J.JSString.prototype; - if (receiver == null) - return J.JSNull.prototype; - if (typeof receiver == "boolean") - return J.JSBool.prototype; - if (receiver.constructor == Array) - return J.JSArray.prototype; - if (typeof receiver != "object") { - if (typeof receiver == "function") - return J.JavaScriptFunction.prototype; - return receiver; - } - if (receiver instanceof P.Object) - return receiver; - return J.getNativeInterceptor(receiver); - }, - getInterceptor$asx: function (receiver) { - if (typeof receiver == "string") - return J.JSString.prototype; - if (receiver == null) - return receiver; - if (receiver.constructor == Array) - return J.JSArray.prototype; - if (typeof receiver != "object") { - if (typeof receiver == "function") - return J.JavaScriptFunction.prototype; - return receiver; - } - if (receiver instanceof P.Object) - return receiver; - return J.getNativeInterceptor(receiver); - }, - getInterceptor$ax: function (receiver) { - if (receiver == null) - return receiver; - if (receiver.constructor == Array) - return J.JSArray.prototype; - if (typeof receiver != "object") { - if (typeof receiver == "function") - return J.JavaScriptFunction.prototype; - return receiver; - } - if (receiver instanceof P.Object) - return receiver; - return J.getNativeInterceptor(receiver); - }, - getInterceptor$x: function (receiver) { - if (receiver == null) - return receiver; - if (typeof receiver != "object") { - if (typeof receiver == "function") - return J.JavaScriptFunction.prototype; - return receiver; - } - if (receiver instanceof P.Object) - return receiver; - return J.getNativeInterceptor(receiver); - }, - get$hashCode$: function (receiver) { - return J.getInterceptor$(receiver).get$hashCode(receiver); - }, - get$iterator$ax: function (receiver) { - return J.getInterceptor$ax(receiver).get$iterator(receiver); - }, - get$length$asx: function (receiver) { - return J.getInterceptor$asx(receiver).get$length(receiver); - }, - $eq$: function (receiver, a0) { - if (receiver == null) - return a0 == null; - if (typeof receiver != "object") - return a0 != null && receiver === a0; - return J.getInterceptor$(receiver).$eq(receiver, a0); - }, - addEventListener$2$x: function (receiver, a0, a1) { - return J.getInterceptor$x(receiver).addEventListener$2(receiver, a0, a1); - }, - elementAt$1$ax: function (receiver, a0) { - return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0); - }, - map$1$1$ax: function (receiver, a0, $T1) { - return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1); - }, - noSuchMethod$1$: function (receiver, a0) { - return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0); - }, - postMessage$2$x: function (receiver, a0, a1) { - return J.getInterceptor$x(receiver).postMessage$2(receiver, a0, a1); - }, - toString$0$: function (receiver) { - return J.getInterceptor$(receiver).toString$0(receiver); - }, - Interceptor: function Interceptor() {}, - JSBool: function JSBool() {}, - JSNull: function JSNull() {}, - JavaScriptObject: function JavaScriptObject() {}, - PlainJavaScriptObject: function PlainJavaScriptObject() {}, - UnknownJavaScriptObject: function UnknownJavaScriptObject() {}, - JavaScriptFunction: function JavaScriptFunction() {}, - JSArray: function JSArray(t0) { - this.$ti = t0; - }, - JSUnmodifiableArray: function JSUnmodifiableArray(t0) { - this.$ti = t0; - }, - ArrayIterator: function ArrayIterator(t0, t1, t2) { - var _ = this; - _._iterable = t0; - _.__interceptors$_length = t1; - _._index = 0; - _._current = null; - _.$ti = t2; - }, - JSNumber: function JSNumber() {}, - JSInt: function JSInt() {}, - JSDouble: function JSDouble() {}, - JSString: function JSString() {} - }, - P = { - _AsyncRun__initializeScheduleImmediate: function () { - var div, span, t1 = {}; - if (self.scheduleImmediate != null) - return P.async__AsyncRun__scheduleImmediateJsOverride$closure(); - if (self.MutationObserver != null && self.document != null) { - div = self.document.createElement("div"); - span = self.document.createElement("span"); - t1.storedCallback = null; - new self.MutationObserver(H.convertDartClosureToJS(new P._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, { - childList: true - }); - return new P._AsyncRun__initializeScheduleImmediate_closure(t1, div, span); - } else if (self.setImmediate != null) - return P.async__AsyncRun__scheduleImmediateWithSetImmediate$closure(); - return P.async__AsyncRun__scheduleImmediateWithTimer$closure(); - }, - _AsyncRun__scheduleImmediateJsOverride: function (callback) { - self.scheduleImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateJsOverride_internalCallback(type$.void_Function._as(callback)), 0)); - }, - _AsyncRun__scheduleImmediateWithSetImmediate: function (callback) { - self.setImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(type$.void_Function._as(callback)), 0)); - }, - _AsyncRun__scheduleImmediateWithTimer: function (callback) { - P.Timer__createTimer(C.Duration_0, type$.void_Function._as(callback)); - }, - Timer__createTimer: function (duration, callback) { - var milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000); - return P._TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback); - }, - _TimerImpl$: function (milliseconds, callback) { - var t1 = new P._TimerImpl(); - t1._TimerImpl$2(milliseconds, callback); - return t1; - }, - _makeAsyncAwaitCompleter: function ($T) { - return new P._AsyncAwaitCompleter(new P._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncAwaitCompleter<0>")); - }, - _asyncStartSync: function (bodyFunction, completer) { - bodyFunction.call$2(0, null); - completer.isSync = true; - return completer._future; - }, - _asyncAwait: function (object, bodyFunction) { - P._awaitOnObject(object, bodyFunction); - }, - _asyncReturn: function (object, completer) { - var value, t2, - t1 = completer.$ti; - t1._eval$1("1/?")._as(object); - value = object == null ? t1._precomputed1._as(object) : object; - if (!completer.isSync) - completer._future._asyncComplete$1(value); - else { - t2 = completer._future; - if (t1._eval$1("Future<1>")._is(value)) - t2._chainFuture$1(value); - else - t2._completeWithValue$1(t1._precomputed1._as(value)); - } - }, - _asyncRethrow: function (object, completer) { - var t1 = H.unwrapException(object), - st = H.getTraceFromException(object), - t2 = completer.isSync, - t3 = completer._future; - if (t2) - t3._completeError$2(t1, st); - else - t3._asyncCompleteError$2(t1, st); - }, - _awaitOnObject: function (object, bodyFunction) { - var t1, future, - thenCallback = new P._awaitOnObject_closure(bodyFunction), - errorCallback = new P._awaitOnObject_closure0(bodyFunction); - if (object instanceof P._Future) - object._thenAwait$1$2(thenCallback, errorCallback, type$.dynamic); - else { - t1 = type$.dynamic; - if (type$.Future_dynamic._is(object)) - object.then$1$2$onError(thenCallback, errorCallback, t1); - else { - future = new P._Future($.Zone__current, type$._Future_dynamic); - future._state = 4; - future._resultOrListeners = object; - future._thenAwait$1$2(thenCallback, errorCallback, t1); - } - } - }, - _wrapJsFunctionForAsync: function ($function) { - var $protected = function (fn, ERROR) { - return function (errorCode, result) { - while (true) - try { - fn(errorCode, result); - break; - } catch (error) { - result = error; - errorCode = ERROR; - } - }; - }($function, 1); - return $.Zone__current.registerBinaryCallback$3$1(new P._wrapJsFunctionForAsync_closure($protected), type$.void, type$.int, type$.dynamic); - }, - AsyncError$: function (error, stackTrace) { - var t1 = H.checkNotNullable(error, "error", type$.Object); - return new P.AsyncError(t1, stackTrace == null ? P.AsyncError_defaultStackTrace(error) : stackTrace); - }, - AsyncError_defaultStackTrace: function (error) { - var stackTrace; - if (type$.Error._is(error)) { - stackTrace = error.get$stackTrace(); - if (stackTrace != null) - return stackTrace; - } - return C.C__StringStackTrace; - }, - Future_Future$delayed: function (duration, $T) { - var result, - t1 = !$T._is(null); - if (t1) - throw H.wrapException(P.ArgumentError$value(null, "computation", "The type parameter is not nullable")); - result = new P._Future($.Zone__current, $T._eval$1("_Future<0>")); - P.Timer_Timer(duration, new P.Future_Future$delayed_closure(null, result, $T)); - return result; - }, - _Future__chainCoreFuture: function (source, target) { - var t1, t2, listeners; - for (t1 = type$._Future_dynamic; t2 = source._state, t2 === 2;) - source = t1._as(source._resultOrListeners); - if (t2 >= 4) { - listeners = target._removeListeners$0(); - target._state = source._state; - target._resultOrListeners = source._resultOrListeners; - P._Future__propagateToListeners(target, listeners); - } else { - listeners = type$.nullable__FutureListener_dynamic_dynamic._as(target._resultOrListeners); - target._state = 2; - target._resultOrListeners = source; - source._prependListeners$1(listeners); - } - }, - _Future__propagateToListeners: function (source, listeners) { - var t2, t3, t4, _box_0, hasError, asyncError, nextListener, nextListener0, t5, sourceResult, t6, t7, zone, oldZone, result, current, _null = null, - _box_1 = {}, - t1 = _box_1.source = source; - for (t2 = type$.AsyncError, t3 = type$.nullable__FutureListener_dynamic_dynamic, t4 = type$.Future_dynamic; true;) { - _box_0 = {}; - hasError = t1._state === 8; - if (listeners == null) { - if (hasError) { - asyncError = t2._as(t1._resultOrListeners); - P._rootHandleUncaughtError(_null, _null, t1._zone, asyncError.error, asyncError.stackTrace); - } - return; - } - _box_0.listener = listeners; - nextListener = listeners._nextListener; - for (t1 = listeners; nextListener != null; t1 = nextListener, nextListener = nextListener0) { - t1._nextListener = null; - P._Future__propagateToListeners(_box_1.source, t1); - _box_0.listener = nextListener; - nextListener0 = nextListener._nextListener; - } - t5 = _box_1.source; - sourceResult = t5._resultOrListeners; - _box_0.listenerHasError = hasError; - _box_0.listenerValueOrError = sourceResult; - t6 = !hasError; - if (t6) { - t7 = t1.state; - t7 = (t7 & 1) !== 0 || (t7 & 15) === 8; - } else - t7 = true; - if (t7) { - zone = t1.result._zone; - if (hasError) { - t7 = t5._zone === zone; - t7 = !(t7 || t7); + }(expression); + }, + NullError$: function(_message, match) { + return new H.NullError(_message, match == null ? null : match.method); + }, + JsNoSuchMethodError$: function(_message, match) { + var t1 = match == null, + t2 = t1 ? null : match.method; + return new H.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver); + }, + unwrapException: function(ex) { + if (ex == null) + return new H.NullThrownFromJavaScriptException(ex); + if (ex instanceof H.ExceptionAndStackTrace) + return H.saveStackTrace(ex, type$.Object._as(ex.dartException)); + if (typeof ex !== "object") + return ex; + if ("dartException" in ex) + return H.saveStackTrace(ex, ex.dartException); + return H._unwrapNonDartException(ex); + }, + saveStackTrace: function(ex, error) { + if (type$.Error._is(error)) + if (error.$thrownJsError == null) + error.$thrownJsError = ex; + return error; + }, + _unwrapNonDartException: function(ex) { + var message, number, ieErrorCode, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match, t1, _null = null; + if (!("message" in ex)) + return ex; + message = ex.message; + if ("number" in ex && typeof ex.number == "number") { + number = ex.number; + ieErrorCode = number & 65535; + if ((C.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10) + switch (ieErrorCode) { + case 438: + return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H.S(message) + " (Error " + ieErrorCode + ")", _null)); + case 445: + case 5007: + return H.saveStackTrace(ex, H.NullError$(H.S(message) + " (Error " + ieErrorCode + ")", _null)); + } + } + if (ex instanceof TypeError) { + nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern(); + notClosure = $.$get$TypeErrorDecoder_notClosurePattern(); + nullCall = $.$get$TypeErrorDecoder_nullCallPattern(); + nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern(); + undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern(); + undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern(); + nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern(); + $.$get$TypeErrorDecoder_nullLiteralPropertyPattern(); + undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern(); + undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern(); + match = nsme.matchTypeError$1(message); + if (match != null) + return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H._asString(message), match)); + else { + match = notClosure.matchTypeError$1(message); + if (match != null) { + match.method = "call"; + return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H._asString(message), match)); + } else { + match = nullCall.matchTypeError$1(message); + if (match == null) { + match = nullLiteralCall.matchTypeError$1(message); + if (match == null) { + match = undefCall.matchTypeError$1(message); + if (match == null) { + match = undefLiteralCall.matchTypeError$1(message); + if (match == null) { + match = nullProperty.matchTypeError$1(message); + if (match == null) { + match = nullLiteralCall.matchTypeError$1(message); + if (match == null) { + match = undefProperty.matchTypeError$1(message); + if (match == null) { + match = undefLiteralProperty.matchTypeError$1(message); + t1 = match != null; } else - t7 = false; - if (t7) { - t2._as(sourceResult); - P._rootHandleUncaughtError(_null, _null, t5._zone, sourceResult.error, sourceResult.stackTrace); - return; - } - oldZone = $.Zone__current; - if (oldZone !== zone) - $.Zone__current = zone; - else - oldZone = _null; - t1 = t1.state; - if ((t1 & 15) === 8) - new P._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0(); - else if (t6) { - if ((t1 & 1) !== 0) - new P._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0(); - } else if ((t1 & 2) !== 0) - new P._Future__propagateToListeners_handleError(_box_1, _box_0).call$0(); - if (oldZone != null) - $.Zone__current = oldZone; - t1 = _box_0.listenerValueOrError; - if (t4._is(t1)) { - t5 = _box_0.listener.$ti; - t5 = t5._eval$1("Future<2>")._is(t1) || !t5._rest[1]._is(t1); - } else - t5 = false; - if (t5) { - t4._as(t1); - result = _box_0.listener.result; - if (t1._state >= 4) { - current = t3._as(result._resultOrListeners); - result._resultOrListeners = null; - listeners = result._reverseListeners$1(current); - result._state = t1._state; - result._resultOrListeners = t1._resultOrListeners; - _box_1.source = t1; - continue; - } else - P._Future__chainCoreFuture(t1, result); - return; - } - } - result = _box_0.listener.result; - current = t3._as(result._resultOrListeners); - result._resultOrListeners = null; - listeners = result._reverseListeners$1(current); - t1 = _box_0.listenerHasError; - t5 = _box_0.listenerValueOrError; - if (!t1) { - result.$ti._precomputed1._as(t5); - result._state = 4; - result._resultOrListeners = t5; - } else { - t2._as(t5); - result._state = 8; - result._resultOrListeners = t5; - } - _box_1.source = result; - t1 = result; - } - }, - _registerErrorHandler: function (errorHandler, zone) { - var t1; - if (type$.dynamic_Function_Object_StackTrace._is(errorHandler)) - return zone.registerBinaryCallback$3$1(errorHandler, type$.dynamic, type$.Object, type$.StackTrace); - t1 = type$.dynamic_Function_Object; - if (t1._is(errorHandler)) - return t1._as(errorHandler); - throw H.wrapException(P.ArgumentError$value(errorHandler, "onError", "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a valid result")); - }, - _microtaskLoop: function () { - var entry, next; - for (entry = $._nextCallback; entry != null; entry = $._nextCallback) { - $._lastPriorityCallback = null; - next = entry.next; - $._nextCallback = next; - if (next == null) - $._lastCallback = null; - entry.callback.call$0(); - } - }, - _startMicrotaskLoop: function () { - $._isInCallbackLoop = true; - try { - P._microtaskLoop(); - } finally { - $._lastPriorityCallback = null; - $._isInCallbackLoop = false; - if ($._nextCallback != null) - $.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure()); - } - }, - _scheduleAsyncCallback: function (callback) { - var newEntry = new P._AsyncCallbackEntry(callback), - lastCallback = $._lastCallback; - if (lastCallback == null) { - $._nextCallback = $._lastCallback = newEntry; - if (!$._isInCallbackLoop) - $.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure()); + t1 = true; + } else + t1 = true; + } else + t1 = true; + } else + t1 = true; } else - $._lastCallback = lastCallback.next = newEntry; - }, - _schedulePriorityAsyncCallback: function (callback) { - var entry, lastPriorityCallback, next, - t1 = $._nextCallback; - if (t1 == null) { - P._scheduleAsyncCallback(callback); - $._lastPriorityCallback = $._lastCallback; - return; - } - entry = new P._AsyncCallbackEntry(callback); - lastPriorityCallback = $._lastPriorityCallback; - if (lastPriorityCallback == null) { - entry.next = t1; - $._nextCallback = $._lastPriorityCallback = entry; - } else { - next = lastPriorityCallback.next; - entry.next = next; - $._lastPriorityCallback = lastPriorityCallback.next = entry; - if (next == null) - $._lastCallback = entry; - } - }, - scheduleMicrotask: function (callback) { - var _null = null, - currentZone = $.Zone__current; - if (C.C__RootZone === currentZone) { - P._rootScheduleMicrotask(_null, _null, C.C__RootZone, callback); - return; - } - P._rootScheduleMicrotask(_null, _null, currentZone, type$.void_Function._as(currentZone.bindCallbackGuarded$1(callback))); - }, - StreamIterator_StreamIterator: function (stream, $T) { - H.checkNotNullable(stream, "stream", type$.Object); - return new P._StreamIterator($T._eval$1("_StreamIterator<0>")); - }, - Timer_Timer: function (duration, callback) { - var t1 = $.Zone__current; - if (t1 === C.C__RootZone) - return P.Timer__createTimer(duration, type$.void_Function._as(callback)); - return P.Timer__createTimer(duration, type$.void_Function._as(t1.bindCallbackGuarded$1(callback))); - }, - _rootHandleUncaughtError: function ($self, $parent, zone, error, stackTrace) { - P._schedulePriorityAsyncCallback(new P._rootHandleUncaughtError_closure(error, stackTrace)); - }, - _rootRun: function ($self, $parent, zone, f, $R) { - var old, - t1 = $.Zone__current; - if (t1 === zone) - return f.call$0(); - $.Zone__current = zone; - old = t1; - try { - t1 = f.call$0(); - return t1; - } finally { - $.Zone__current = old; - } - }, - _rootRunUnary: function ($self, $parent, zone, f, arg, $R, $T) { - var old, - t1 = $.Zone__current; - if (t1 === zone) - return f.call$1(arg); - $.Zone__current = zone; - old = t1; - try { - t1 = f.call$1(arg); - return t1; - } finally { - $.Zone__current = old; - } - }, - _rootRunBinary: function ($self, $parent, zone, f, arg1, arg2, $R, T1, T2) { - var old, - t1 = $.Zone__current; - if (t1 === zone) - return f.call$2(arg1, arg2); - $.Zone__current = zone; - old = t1; - try { - t1 = f.call$2(arg1, arg2); - return t1; - } finally { - $.Zone__current = old; - } - }, - _rootScheduleMicrotask: function ($self, $parent, zone, f) { - var t1; - type$.void_Function._as(f); - t1 = C.C__RootZone !== zone; - if (t1) - f = !(!t1 || false) ? zone.bindCallbackGuarded$1(f) : zone.bindCallback$1$1(f, type$.void); - P._scheduleAsyncCallback(f); - }, - _AsyncRun__initializeScheduleImmediate_internalCallback: function _AsyncRun__initializeScheduleImmediate_internalCallback(t0) { - this._box_0 = t0; - }, - _AsyncRun__initializeScheduleImmediate_closure: function _AsyncRun__initializeScheduleImmediate_closure(t0, t1, t2) { - this._box_0 = t0; - this.div = t1; - this.span = t2; - }, - _AsyncRun__scheduleImmediateJsOverride_internalCallback: function _AsyncRun__scheduleImmediateJsOverride_internalCallback(t0) { - this.callback = t0; - }, - _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: function _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(t0) { - this.callback = t0; - }, - _TimerImpl: function _TimerImpl() {}, - _TimerImpl_internalCallback: function _TimerImpl_internalCallback(t0, t1) { - this.$this = t0; - this.callback = t1; - }, - _AsyncAwaitCompleter: function _AsyncAwaitCompleter(t0, t1) { - this._future = t0; - this.isSync = false; - this.$ti = t1; - }, - _awaitOnObject_closure: function _awaitOnObject_closure(t0) { - this.bodyFunction = t0; - }, - _awaitOnObject_closure0: function _awaitOnObject_closure0(t0) { - this.bodyFunction = t0; - }, - _wrapJsFunctionForAsync_closure: function _wrapJsFunctionForAsync_closure(t0) { - this.$protected = t0; - }, - AsyncError: function AsyncError(t0, t1) { - this.error = t0; - this.stackTrace = t1; - }, - Future_Future$delayed_closure: function Future_Future$delayed_closure(t0, t1, t2) { - this.computation = t0; - this.result = t1; - this.T = t2; - }, - _FutureListener: function _FutureListener(t0, t1, t2, t3, t4) { - var _ = this; - _._nextListener = null; - _.result = t0; - _.state = t1; - _.callback = t2; - _.errorCallback = t3; - _.$ti = t4; - }, - _Future: function _Future(t0, t1) { - var _ = this; - _._state = 0; - _._zone = t0; - _._resultOrListeners = null; - _.$ti = t1; - }, - _Future__addListener_closure: function _Future__addListener_closure(t0, t1) { - this.$this = t0; - this.listener = t1; - }, - _Future__prependListeners_closure: function _Future__prependListeners_closure(t0, t1) { - this._box_0 = t0; - this.$this = t1; - }, - _Future__chainForeignFuture_closure: function _Future__chainForeignFuture_closure(t0) { - this.$this = t0; - }, - _Future__chainForeignFuture_closure0: function _Future__chainForeignFuture_closure0(t0) { - this.$this = t0; - }, - _Future__chainForeignFuture_closure1: function _Future__chainForeignFuture_closure1(t0, t1, t2) { - this.$this = t0; - this.e = t1; - this.s = t2; - }, - _Future__asyncCompleteWithValue_closure: function _Future__asyncCompleteWithValue_closure(t0, t1) { - this.$this = t0; - this.value = t1; - }, - _Future__chainFuture_closure: function _Future__chainFuture_closure(t0, t1) { - this.$this = t0; - this.value = t1; - }, - _Future__asyncCompleteError_closure: function _Future__asyncCompleteError_closure(t0, t1, t2) { - this.$this = t0; - this.error = t1; - this.stackTrace = t2; - }, - _Future__propagateToListeners_handleWhenCompleteCallback: function _Future__propagateToListeners_handleWhenCompleteCallback(t0, t1, t2) { - this._box_0 = t0; - this._box_1 = t1; - this.hasError = t2; - }, - _Future__propagateToListeners_handleWhenCompleteCallback_closure: function _Future__propagateToListeners_handleWhenCompleteCallback_closure(t0) { - this.originalSource = t0; - }, - _Future__propagateToListeners_handleValueCallback: function _Future__propagateToListeners_handleValueCallback(t0, t1) { - this._box_0 = t0; - this.sourceResult = t1; - }, - _Future__propagateToListeners_handleError: function _Future__propagateToListeners_handleError(t0, t1) { - this._box_1 = t0; - this._box_0 = t1; - }, - _AsyncCallbackEntry: function _AsyncCallbackEntry(t0) { - this.callback = t0; - this.next = null; - }, - _StreamIterator: function _StreamIterator(t0) { - this.$ti = t0; - }, - _Zone: function _Zone() {}, - _rootHandleUncaughtError_closure: function _rootHandleUncaughtError_closure(t0, t1) { - this.error = t0; - this.stackTrace = t1; - }, - _RootZone: function _RootZone() {}, - _RootZone_bindCallback_closure: function _RootZone_bindCallback_closure(t0, t1, t2) { - this.$this = t0; - this.f = t1; - this.R = t2; - }, - _RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) { - this.$this = t0; - this.f = t1; - }, - LinkedHashMap_LinkedHashMap$_literal: function (keyValuePairs, $K, $V) { - return $K._eval$1("@<0>")._bind$1($V)._eval$1("LinkedHashMap<1,2>")._as(H.fillLiteralMap(keyValuePairs, new H.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")))); - }, - IterableBase_iterableToShortString: function (iterable, leftDelimiter, rightDelimiter) { - var parts, t1; - if (P._isToStringVisiting(iterable)) { - if (leftDelimiter === "(" && rightDelimiter === ")") - return "(...)"; - return leftDelimiter + "..." + rightDelimiter; - } - parts = H.setRuntimeTypeInfo([], type$.JSArray_String); - C.JSArray_methods.add$1($._toStringVisiting, iterable); - try { - P._iterablePartsToStrings(iterable, parts); - } finally { - if (0 >= $._toStringVisiting.length) - return H.ioore($._toStringVisiting, -1); - $._toStringVisiting.pop(); - } - t1 = P.StringBuffer__writeAll(leftDelimiter, type$.Iterable_dynamic._as(parts), ", ") + rightDelimiter; - return t1.charCodeAt(0) == 0 ? t1 : t1; - }, - IterableBase_iterableToFullString: function (iterable, leftDelimiter, rightDelimiter) { - var buffer, t1; - if (P._isToStringVisiting(iterable)) - return leftDelimiter + "..." + rightDelimiter; - buffer = new P.StringBuffer(leftDelimiter); - C.JSArray_methods.add$1($._toStringVisiting, iterable); - try { - t1 = buffer; - t1._contents = P.StringBuffer__writeAll(t1._contents, iterable, ", "); - } finally { - if (0 >= $._toStringVisiting.length) - return H.ioore($._toStringVisiting, -1); - $._toStringVisiting.pop(); - } - buffer._contents += rightDelimiter; - t1 = buffer._contents; - return t1.charCodeAt(0) == 0 ? t1 : t1; - }, - _isToStringVisiting: function (o) { - var t1, i; - for (t1 = $._toStringVisiting.length, i = 0; i < t1; ++i) - if (o === $._toStringVisiting[i]) - return true; - return false; - }, - _iterablePartsToStrings: function (iterable, parts) { - var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision, - it = iterable.get$iterator(iterable), - $length = 0, - count = 0; - while (true) { - if (!($length < 80 || count < 3)) - break; - if (!it.moveNext$0()) - return; - next = H.S(it.get$current()); - C.JSArray_methods.add$1(parts, next); - $length += next.length + 2; - ++count; - } - if (!it.moveNext$0()) { - if (count <= 5) - return; - if (0 >= parts.length) - return H.ioore(parts, -1); - ultimateString = parts.pop(); - if (0 >= parts.length) - return H.ioore(parts, -1); - penultimateString = parts.pop(); - } else { - penultimate = it.get$current(); - ++count; - if (!it.moveNext$0()) { - if (count <= 4) { - C.JSArray_methods.add$1(parts, H.S(penultimate)); - return; - } - ultimateString = H.S(penultimate); - if (0 >= parts.length) - return H.ioore(parts, -1); - penultimateString = parts.pop(); - $length += ultimateString.length + 2; - } else { - ultimate = it.get$current(); - ++count; - for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0) { - ultimate0 = it.get$current(); - ++count; - if (count > 100) { - while (true) { - if (!($length > 75 && count > 3)) - break; - if (0 >= parts.length) - return H.ioore(parts, -1); - $length -= parts.pop().length + 2; - --count; - } - C.JSArray_methods.add$1(parts, "..."); - return; - } - } - penultimateString = H.S(penultimate); - ultimateString = H.S(ultimate); - $length += ultimateString.length + penultimateString.length + 4; - } - } - if (count > parts.length + 2) { - $length += 5; - elision = "..."; - } else - elision = null; - while (true) { - if (!($length > 80 && parts.length > 3)) - break; - if (0 >= parts.length) - return H.ioore(parts, -1); - $length -= parts.pop().length + 2; - if (elision == null) { - $length += 5; - elision = "..."; - } - } - if (elision != null) - C.JSArray_methods.add$1(parts, elision); - C.JSArray_methods.add$1(parts, penultimateString); - C.JSArray_methods.add$1(parts, ultimateString); - }, - MapBase_mapToString: function (m) { - var result, t1 = {}; - if (P._isToStringVisiting(m)) - return "{...}"; - result = new P.StringBuffer(""); - try { - C.JSArray_methods.add$1($._toStringVisiting, m); - result._contents += "{"; - t1.first = true; - m.forEach$1(0, new P.MapBase_mapToString_closure(t1, result)); - result._contents += "}"; - } finally { - if (0 >= $._toStringVisiting.length) - return H.ioore($._toStringVisiting, -1); - $._toStringVisiting.pop(); - } - t1 = result._contents; - return t1.charCodeAt(0) == 0 ? t1 : t1; - }, - ListBase: function ListBase() {}, - ListMixin: function ListMixin() {}, - MapBase: function MapBase() {}, - MapBase_mapToString_closure: function MapBase_mapToString_closure(t0, t1) { - this._box_0 = t0; - this.result = t1; - }, - MapMixin: function MapMixin() {}, - _UnmodifiableMapMixin: function _UnmodifiableMapMixin() {}, - MapView: function MapView() {}, - UnmodifiableMapView: function UnmodifiableMapView() {}, - _ListBase_Object_ListMixin: function _ListBase_Object_ListMixin() {}, - _UnmodifiableMapView_MapView__UnmodifiableMapMixin: function _UnmodifiableMapView_MapView__UnmodifiableMapMixin() {}, - Function_apply: function ($function, positionalArguments) { - return H.Primitives_applyFunction($function, positionalArguments, null); - }, - Error__objectToString: function (object) { - if (object instanceof H.Closure) - return object.toString$0(0); - return "Instance of '" + H.Primitives_objectTypeName(object) + "'"; - }, - List_List$filled: function ($length, fill, growable, $E) { - var i, - result = growable ? J.JSArray_JSArray$growable($length, $E) : J.JSArray_JSArray$fixed($length, $E); - if ($length !== 0 && fill != null) - for (i = 0; i < result.length; ++i) - result[i] = fill; - return result; - }, - List_List$from: function (elements, $E) { - var t1, - list = H.setRuntimeTypeInfo([], $E._eval$1("JSArray<0>")); - for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) - C.JSArray_methods.add$1(list, $E._as(t1.get$current())); - return list; - }, - List_List$of: function (elements, growable, $E) { - var t1 = P.List_List$_of(elements, $E); - return t1; - }, - List_List$_of: function (elements, $E) { - var list, t1; - if (Array.isArray(elements)) - return H.setRuntimeTypeInfo(elements.slice(0), $E._eval$1("JSArray<0>")); - list = H.setRuntimeTypeInfo([], $E._eval$1("JSArray<0>")); - for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) - C.JSArray_methods.add$1(list, t1.get$current()); - return list; - }, - RegExp_RegExp: function (source) { - return new H.JSSyntaxRegExp(source, H.JSSyntaxRegExp_makeNative(source, false, true, false, false, false)); - }, - StringBuffer__writeAll: function (string, objects, separator) { - var iterator = J.get$iterator$ax(objects); - if (!iterator.moveNext$0()) - return string; - if (separator.length === 0) { - do - string += H.S(iterator.get$current()); - while (iterator.moveNext$0()); - } else { - string += H.S(iterator.get$current()); - for (; iterator.moveNext$0();) - string = string + separator + H.S(iterator.get$current()); - } - return string; - }, - NoSuchMethodError$: function (receiver, memberName, positionalArguments, namedArguments) { - return new P.NoSuchMethodError(receiver, memberName, positionalArguments, namedArguments); - }, - DateTime__fourDigits: function (n) { - var absN = Math.abs(n), - sign = n < 0 ? "-" : ""; - if (absN >= 1000) - return "" + n; - if (absN >= 100) - return sign + "0" + absN; - if (absN >= 10) - return sign + "00" + absN; - return sign + "000" + absN; - }, - DateTime__threeDigits: function (n) { - if (n >= 100) - return "" + n; - if (n >= 10) - return "0" + n; - return "00" + n; - }, - DateTime__twoDigits: function (n) { - if (n >= 10) - return "" + n; - return "0" + n; - }, - Duration$: function (milliseconds) { - return new P.Duration(1000 * milliseconds); - }, - Error_safeToString: function (object) { - if (typeof object == "number" || H._isBool(object) || null == object) - return J.toString$0$(object); - if (typeof object == "string") - return JSON.stringify(object); - return P.Error__objectToString(object); - }, - AssertionError$: function (message) { - return new P.AssertionError(message); - }, - ArgumentError$: function (message) { - return new P.ArgumentError(false, null, null, message); - }, - ArgumentError$value: function (value, $name, message) { - return new P.ArgumentError(true, value, $name, message); - }, - RangeError$value: function (value, $name) { - return new P.RangeError(null, null, true, value, $name, "Value not in range"); - }, - RangeError$range: function (invalidValue, minValue, maxValue, $name, message) { - return new P.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value"); - }, - RangeError_checkValidRange: function (start, end, $length) { - if (start > $length) - throw H.wrapException(P.RangeError$range(start, 0, $length, "start", null)); - if (start > end || end > $length) - throw H.wrapException(P.RangeError$range(end, start, $length, "end", null)); - return end; - }, - RangeError_checkNotNegative: function (value, $name) { - return value; - }, - IndexError$: function (invalidValue, indexable, $name, message, $length) { - var t1 = H._asInt($length == null ? J.get$length$asx(indexable) : $length); - return new P.IndexError(t1, true, invalidValue, $name, "Index out of range"); - }, - UnsupportedError$: function (message) { - return new P.UnsupportedError(message); - }, - UnimplementedError$: function (message) { - return new P.UnimplementedError(message); - }, - StateError$: function (message) { - return new P.StateError(message); - }, - ConcurrentModificationError$: function (modifiedObject) { - return new P.ConcurrentModificationError(modifiedObject); - }, - print: function (object) { - H.printString(J.toString$0$(object)); - }, - NoSuchMethodError_toString_closure: function NoSuchMethodError_toString_closure(t0, t1) { - this._box_0 = t0; - this.sb = t1; - }, - DateTime: function DateTime(t0, t1) { - this._value = t0; - this.isUtc = t1; - }, - Duration: function Duration(t0) { - this._duration = t0; - }, - Duration_toString_sixDigits: function Duration_toString_sixDigits() {}, - Duration_toString_twoDigits: function Duration_toString_twoDigits() {}, - Error: function Error() {}, - AssertionError: function AssertionError(t0) { - this.message = t0; - }, - TypeError: function TypeError() {}, - NullThrownError: function NullThrownError() {}, - ArgumentError: function ArgumentError(t0, t1, t2, t3) { - var _ = this; - _._hasValue = t0; - _.invalidValue = t1; - _.name = t2; - _.message = t3; - }, - RangeError: function RangeError(t0, t1, t2, t3, t4, t5) { - var _ = this; - _.start = t0; - _.end = t1; - _._hasValue = t2; - _.invalidValue = t3; - _.name = t4; - _.message = t5; - }, - IndexError: function IndexError(t0, t1, t2, t3, t4) { - var _ = this; - _.length = t0; - _._hasValue = t1; - _.invalidValue = t2; - _.name = t3; - _.message = t4; - }, - NoSuchMethodError: function NoSuchMethodError(t0, t1, t2, t3) { - var _ = this; - _._core$_receiver = t0; - _._core$_memberName = t1; - _._core$_arguments = t2; - _._namedArguments = t3; - }, - UnsupportedError: function UnsupportedError(t0) { - this.message = t0; - }, - UnimplementedError: function UnimplementedError(t0) { - this.message = t0; - }, - StateError: function StateError(t0) { - this.message = t0; - }, - ConcurrentModificationError: function ConcurrentModificationError(t0) { - this.modifiedObject = t0; - }, - StackOverflowError: function StackOverflowError() {}, - CyclicInitializationError: function CyclicInitializationError(t0) { - this.variableName = t0; - }, - _Exception: function _Exception(t0) { - this.message = t0; - }, - FormatException: function FormatException(t0, t1) { - this.message = t0; - this.source = t1; - }, - Iterable: function Iterable() {}, - Iterator: function Iterator() {}, - Null: function Null() {}, - Object: function Object() {}, - _StringStackTrace: function _StringStackTrace() {}, - StringBuffer: function StringBuffer(t0) { - this._contents = t0; - }, - _StructuredClone: function _StructuredClone() {}, - _StructuredClone_walk_closure: function _StructuredClone_walk_closure(t0, t1) { - this._box_0 = t0; - this.$this = t1; - }, - _StructuredClone_walk_closure0: function _StructuredClone_walk_closure0(t0, t1) { - this._box_0 = t0; - this.$this = t1; - }, - _StructuredCloneDart2Js: function _StructuredCloneDart2Js(t0, t1) { - this.values = t0; - this.copies = t1; - }, - KeyRange: function KeyRange() {}, - _callDartFunction: function (callback, captureThis, $self, $arguments) { - var arguments0, t1, dartArgs; - H._asBool(captureThis); - type$.List_dynamic._as($arguments); - if (captureThis) { - arguments0 = [$self]; - C.JSArray_methods.addAll$1(arguments0, $arguments); - $arguments = arguments0; - } - t1 = type$.dynamic; - dartArgs = P.List_List$from(J.map$1$1$ax($arguments, P.js___convertToDart$closure(), t1), t1); - return P._convertToJS(P.Function_apply(type$.Function._as(callback), dartArgs)); - }, - _defineProperty: function (o, $name, value) { - var exception; - try { - if (Object.isExtensible(o) && !Object.prototype.hasOwnProperty.call(o, $name)) { - Object.defineProperty(o, $name, { - value: value - }); - return true; - } - } catch (exception) { - H.unwrapException(exception); - } - return false; - }, - _getOwnProperty: function (o, $name) { - if (Object.prototype.hasOwnProperty.call(o, $name)) - return o[$name]; - return null; - }, - _convertToJS: function (o) { - if (o == null || typeof o == "string" || typeof o == "number" || H._isBool(o)) - return o; - if (o instanceof P.JsObject) - return o._jsObject; - if (H.isBrowserObject(o)) - return o; - if (type$.TypedData._is(o)) - return o; - if (o instanceof P.DateTime) - return H.Primitives_lazyAsJsDate(o); - if (type$.Function._is(o)) - return P._getJsProxy(o, "$dart_jsFunction", new P._convertToJS_closure()); - return P._getJsProxy(o, "_$dart_jsObject", new P._convertToJS_closure0($.$get$_dartProxyCtor())); - }, - _getJsProxy: function (o, propertyName, createProxy) { - var jsProxy = P._getOwnProperty(o, propertyName); - if (jsProxy == null) { - jsProxy = createProxy.call$1(o); - P._defineProperty(o, propertyName, jsProxy); - } - return jsProxy; - }, - _convertToDart: function (o) { - var t1, t2; - if (o == null || typeof o == "string" || typeof o == "number" || typeof o == "boolean") - return o; - else if (o instanceof Object && H.isBrowserObject(o)) - return o; - else if (o instanceof Object && type$.TypedData._is(o)) - return o; - else if (o instanceof Date) { - t1 = H._asInt(o.getTime()); - if (Math.abs(t1) <= 864e13) - t2 = false; - else - t2 = true; - if (t2) - H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + t1)); - H.checkNotNullable(false, "isUtc", type$.bool); - return new P.DateTime(t1, false); - } else if (o.constructor === $.$get$_dartProxyCtor()) - return o.o; - else - return P._wrapToDart(o); - }, - _wrapToDart: function (o) { - if (typeof o == "function") - return P._getDartProxy(o, $.$get$DART_CLOSURE_PROPERTY_NAME(), new P._wrapToDart_closure()); - if (o instanceof Array) - return P._getDartProxy(o, $.$get$_DART_OBJECT_PROPERTY_NAME(), new P._wrapToDart_closure0()); - return P._getDartProxy(o, $.$get$_DART_OBJECT_PROPERTY_NAME(), new P._wrapToDart_closure1()); - }, - _getDartProxy: function (o, propertyName, createProxy) { - var dartProxy = P._getOwnProperty(o, propertyName); - if (dartProxy == null || !(o instanceof Object)) { - dartProxy = createProxy.call$1(o); - P._defineProperty(o, propertyName, dartProxy); - } - return dartProxy; - }, - _convertDartFunctionFast: function (f) { - var ret, - existing = f.$dart_jsFunction; - if (existing != null) - return existing; - ret = function (_call, f) { - return function () { - return _call(f, Array.prototype.slice.apply(arguments)); - }; - }(P._callDartFunctionFast, f); - ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; - f.$dart_jsFunction = ret; - return ret; - }, - _callDartFunctionFast: function (callback, $arguments) { - type$.List_dynamic._as($arguments); - return P.Function_apply(type$.Function._as(callback), $arguments); - }, - allowInterop: function (f, $F) { - if (typeof f == "function") - return f; - else - return $F._as(P._convertDartFunctionFast(f)); - }, - _convertToJS_closure: function _convertToJS_closure() {}, - _convertToJS_closure0: function _convertToJS_closure0(t0) { - this.ctor = t0; - }, - _wrapToDart_closure: function _wrapToDart_closure() {}, - _wrapToDart_closure0: function _wrapToDart_closure0() {}, - _wrapToDart_closure1: function _wrapToDart_closure1() {}, - JsObject: function JsObject(t0) { - this._jsObject = t0; - }, - JsFunction: function JsFunction(t0) { - this._jsObject = t0; - }, - JsArray: function JsArray(t0, t1) { - this._jsObject = t0; - this.$ti = t1; - }, - _JsArray_JsObject_ListMixin: function _JsArray_JsObject_ListMixin() {} - }, - W = { - _convertNativeToDart_Window: function (win) { - return W._DOMWindowCrossFrame__createSafe(win); - }, - _DOMWindowCrossFrame__createSafe: function (w) { - if (w === window) - return type$.WindowBase._as(w); - else - return new W._DOMWindowCrossFrame(w); - }, - HtmlElement: function HtmlElement() {}, - AnchorElement: function AnchorElement() {}, - AreaElement: function AreaElement() {}, - Blob: function Blob() {}, - CanvasElement: function CanvasElement() {}, - CanvasRenderingContext2D: function CanvasRenderingContext2D() {}, - CharacterData: function CharacterData() {}, - Comment: function Comment() {}, - CssStyleDeclaration: function CssStyleDeclaration() {}, - CssStyleDeclarationBase: function CssStyleDeclarationBase() {}, - DivElement: function DivElement() {}, - DomException: function DomException() {}, - DomTokenList: function DomTokenList() {}, - _FrozenElementList: function _FrozenElementList(t0, t1) { - this._nodeList = t0; - this.$ti = t1; - }, - Element: function Element() {}, - Event: function Event() {}, - EventTarget: function EventTarget() {}, - File: function File() {}, - FormElement: function FormElement() {}, - ImageData: function ImageData() {}, - Node: function Node() {}, - NodeList: function NodeList() {}, - SelectElement: function SelectElement() {}, - TableCellElement: function TableCellElement() {}, - Window: function Window() {}, - WorkerGlobalScope: function WorkerGlobalScope() {}, - ImmutableListMixin: function ImmutableListMixin() {}, - FixedSizeListIterator: function FixedSizeListIterator(t0, t1, t2) { - var _ = this; - _._array = t0; - _._html$_length = t1; - _._position = -1; - _._html$_current = null; - _.$ti = t2; - }, - _DOMWindowCrossFrame: function _DOMWindowCrossFrame(t0) { - this._window = t0; - }, - _CssStyleDeclaration_Interceptor_CssStyleDeclarationBase: function _CssStyleDeclaration_Interceptor_CssStyleDeclarationBase() {}, - _NodeList_Interceptor_ListMixin: function _NodeList_Interceptor_ListMixin() {}, - _NodeList_Interceptor_ListMixin_ImmutableListMixin: function _NodeList_Interceptor_ListMixin_ImmutableListMixin() {} - }, - V = { - test_list: function (str) { - var t1 = type$.JSArray_String; - if (C.JSArray_methods.join$1(H.setRuntimeTypeInfo(str.split(""), t1), "").length === 0) - return H.setRuntimeTypeInfo([], t1); - return H.setRuntimeTypeInfo(["a", "b", "c"], t1); - }, - b_run: function () { - var $async$goto = 0, - $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic); - var $async$b_run = P._wrapJsFunctionForAsync(function ($async$errorCode, $async$result) { - if ($async$errorCode === 1) - return P._asyncRethrow($async$result, $async$completer); - while (true) - switch ($async$goto) { - case 0: - // Function start - P.print("object in b_run"); - $async$goto = 2; - return P._asyncAwait(V.md5run(), $async$b_run); - case 2: - // returning from await. - $async$goto = 3; - return P._asyncAwait(V.async_catch(), $async$b_run); - case 3: - // returning from await. - P.print("object after 1s"); - // implicit return - return P._asyncReturn(null, $async$completer); - } - }); - return P._asyncStartSync($async$b_run, $async$completer); - }, - md5run: function () { - var $async$goto = 0, - $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic); - var $async$md5run = P._wrapJsFunctionForAsync(function ($async$errorCode, $async$result) { - if ($async$errorCode === 1) - return P._asyncRethrow($async$result, $async$completer); - while (true) - switch ($async$goto) { - case 0: - // Function start - P.print("object in md5run"); - $async$goto = 2; - return P._asyncAwait(P.Future_Future$delayed(P.Duration$(1000), type$.dynamic), $async$md5run); - case 2: - // returning from await. - P.print("object in md5run after 1s"); - // implicit return - return P._asyncReturn(null, $async$completer); - } - }); - return P._asyncStartSync($async$md5run, $async$completer); - }, - a_async_throw: function () { - var $async$goto = 0, - $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic); - var $async$a_async_throw = P._wrapJsFunctionForAsync(function ($async$errorCode, $async$result) { - if ($async$errorCode === 1) - return P._asyncRethrow($async$result, $async$completer); - while (true) - switch ($async$goto) { - case 0: - // Function start - throw H.wrapException("a_async_throw"); - // implicit return - return P._asyncReturn(null, $async$completer); - } - }); - return P._asyncStartSync($async$a_async_throw, $async$completer); - }, - async_catch: function () { - var $async$goto = 0, - $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic), - $async$handler = 1, - $async$currentError, $async$next = [], - e, exception, $async$exception; - var $async$async_catch = P._wrapJsFunctionForAsync(function ($async$errorCode, $async$result) { - if ($async$errorCode === 1) { - $async$currentError = $async$result; - $async$goto = $async$handler; - } - while (true) - switch ($async$goto) { - case 0: - // Function start - $async$handler = 3; - $async$goto = 6; - return P._asyncAwait(V.a_async_throw(), $async$async_catch); - case 6: - // returning from await. - $async$handler = 1; - // goto after finally - $async$goto = 5; - break; - case 3: - // catch - $async$handler = 2; - $async$exception = $async$currentError; - e = H.unwrapException($async$exception); - P.print(e); - // goto after finally - $async$goto = 5; - break; - case 2: - // uncaught - // goto rethrow - $async$goto = 1; - break; - case 5: - // after finally - // implicit return - return P._asyncReturn(null, $async$completer); - case 1: - // rethrow - return P._asyncRethrow($async$currentError, $async$completer); - } - }); - return P._asyncStartSync($async$async_catch, $async$completer); - }, - a_run: function () { - var $async$goto = 0, - $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic); - var $async$a_run = P._wrapJsFunctionForAsync(function ($async$errorCode, $async$result) { - if ($async$errorCode === 1) - return P._asyncRethrow($async$result, $async$completer); - while (true) - switch ($async$goto) { - case 0: - // Function start - P.print("object"); - $async$goto = 2; - return P._asyncAwait(V.md5run(), $async$a_run); - case 2: - // returning from await. - $async$goto = 3; - return P._asyncAwait(V.b_run(), $async$a_run); - case 3: - // returning from await. - P.print("object after 1s"); - // implicit return - return P._asyncReturn(null, $async$completer); - } - }); - return P._asyncStartSync($async$a_run, $async$completer); - }, - main: function () { - var reg_exp, t1, t2, t3, comment, e, ctx, t4, double_list, t5, range, index, test_map, tr, td, plist, pbody, p, a, i, b, - _s13_ = "Hello, World!"; - P.print(V.test_list("abc")); - P.print(V.test_list("")); - P.print($.$get$Dt_at()); - reg_exp = P.RegExp_RegExp("^\\d{1,2}$"); - P.print(reg_exp._nativeRegExp.test("1")); - t1 = document; - t2 = t1.querySelector("#an-id"); - t2.toString; - t3 = t1.querySelector(".a-class"); - t3.toString; - comment = t1.createComment("comment"); - e = t1.createElement("canvas"); - C.CanvasElement_methods.set$width(e, 100); - C.CanvasElement_methods.set$height(e, 100); - ctx = type$.CanvasRenderingContext2D._as(C.CanvasElement_methods.getContext$1(e, "2d")); - C.CanvasRenderingContext2D_methods.set$fillStyle(ctx, "black"); - ctx.fillRect(0, 0, 100, 100); - C.CanvasRenderingContext2D_methods.set$fillStyle(ctx, "white"); - ctx.measureText(_s13_); - ctx.fillText("Hello, World!", 0, 15, 100); - C.Comment_methods.addEventListener$2(comment, "click", new V.main_closure()); - J.addEventListener$2$x(t3, "click", new V.main_closure0()); - t4 = type$.Element; - H.checkTypeBound(t4, t4, "T", "querySelectorAll"); - t4 = t1.querySelectorAll("div"); - double_list = H.setRuntimeTypeInfo([1, 2, 3, 5, 5.002], type$.JSArray_double); - P.RangeError_checkValidRange(0, 2, double_list.length); - t5 = type$.double; - P.print(H.SubListIterable$(double_list, 0, 2, t5).toList$0(0)); - range = H.setRuntimeTypeInfo(new Array(5), type$.JSArray_int); - for (index = 0; index < 5; ++index) - range[index] = index; - P.print(range); - P.RangeError_checkValidRange(3, 1, double_list.length); - P.print(H.SubListIterable$(double_list, 3, 1, t5).toList$0(0)); - C.JSArray_methods.add$1(double_list, 4); - if (!!double_list.fixed$length) - H.throwExpression(P.UnsupportedError$("removeAt")); - t5 = double_list.length; - if (0 >= t5) - H.throwExpression(P.RangeError$value(0, null)); - double_list.splice(0, 1)[0]; - C.JSArray_methods.$indexSet(double_list, 0, 5); - if (0 >= double_list.length) - return H.ioore(double_list, 0); - P.print(double_list[0]); - C.JSArray_methods.forEach$1(double_list, new V.main_closure1()); - $.$get$_context().callMethod$2("setTimeout", [P.allowInterop(new V.main_closure2(), type$.Null_Function), 1000]); - test_map = P.LinkedHashMap_LinkedHashMap$_literal(["a", 1], type$.String, type$.int); - V.a_run(); - test_map.$indexSet(0, "b", 2); - test_map.remove$1(0, "a"); - test_map.$indexSet(0, "b", 3); - P.print(test_map.$index(0, "b")); - test_map.forEach$1(0, new V.main_closure3()); - P.print(test_map._length); - P.print(test_map._length === 0); - P.print(test_map._length !== 0); - P.print(test_map.containsKey$1("b")); - P.print(test_map.containsValue$1(3)); - t5 = H._instanceType(test_map)._eval$1("LinkedHashMapKeyIterable<1>"); - P.print(P.List_List$of(new H.LinkedHashMapKeyIterable(test_map, t5), true, t5._eval$1("Iterable.E"))); - t5 = test_map.get$values(test_map); - P.print(P.List_List$of(t5, true, H._instanceType(t5)._eval$1("Iterable.E"))); - P.print(P.MapBase_mapToString(test_map)); - test_map.clear$0(0); - t5 = W._convertNativeToDart_Window(window.parent); - if (t5 != null) - J.postMessage$2$x(t5, "\u4ec0\u4e48\u5947\u602a\u4e1c\u897f", "*"); - P.print(test_map); - tr = t1.createElement("tr"); - td = t1.createElement("td"); - tr.appendChild(td); - C.TableCellElement_methods.set$text(td, "\u51fb\u6740"); - t5 = td.style; - t5.width = "44px"; - td = t1.createElement("td"); - tr.appendChild(td); - C.TableCellElement_methods.set$text(td, "\u81f4\u547d\u4e00\u51fb"); - t5 = td.style; - t5.minWidth = "112px"; - t5 = type$.DivElement; - plist = t5._as(t1.querySelector(".plist")); - pbody = t5._as(t1.querySelector(".pbody")); - p = t1.createElement("div"); - p.classList.add("p"); - p.appendChild(tr); - pbody.appendChild(p); - plist.appendChild(pbody); - P.print(t2); - P.print(t3); - P.print(new W._FrozenElementList(t4, type$._FrozenElementList_Element)); - t1.querySelector("#inputs").appendChild(t2); - P.print(_s13_); - for (a = _s13_, i = 0; i < 10; ++i) - a += " " + C.JSInt_methods.toString$0(i); - for (b = 124242424, i = 0; i < 10; ++i) - b += b * i; - P.Future_Future$delayed(P.Duration$(1000), type$.dynamic).then$1$1(new V.main_closure4(), type$.Null); - new V.main_closure5().call$0(); - P.print(a); - }, - main_closure: function main_closure() {}, - main_closure0: function main_closure0() {}, - main_closure1: function main_closure1() {}, - main_closure2: function main_closure2() {}, - main_closure3: function main_closure3() {}, - main_closure4: function main_closure4() {}, - main_closure5: function main_closure5() {} - }; - var holders = [C, H, J, P, W, V]; - hunkHelpers.setFunctionNamesIfNecessary(holders); - var $ = {}; - H.JS_CONST.prototype = {}; - J.Interceptor.prototype = { - $eq: function (receiver, other) { - return receiver === other; - }, - get$hashCode: function (receiver) { - return H.Primitives_objectHashCode(receiver); - }, - toString$0: function (receiver) { - return "Instance of '" + H.Primitives_objectTypeName(receiver) + "'"; - }, - noSuchMethod$1: function (receiver, invocation) { - type$.Invocation._as(invocation); - throw H.wrapException(P.NoSuchMethodError$(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments())); - } - }; - J.JSBool.prototype = { - toString$0: function (receiver) { - return String(receiver); - }, - get$hashCode: function (receiver) { - return receiver ? 519018 : 218159; - }, - $isbool: 1 - }; - J.JSNull.prototype = { - $eq: function (receiver, other) { - return null == other; - }, - toString$0: function (receiver) { - return "null"; - }, - get$hashCode: function (receiver) { - return 0; - }, - $isNull: 1 - }; - J.JavaScriptObject.prototype = { - get$hashCode: function (receiver) { - return 0; - }, - toString$0: function (receiver) { - return String(receiver); - }, - $isJSObject: 1 - }; - J.PlainJavaScriptObject.prototype = {}; - J.UnknownJavaScriptObject.prototype = {}; - J.JavaScriptFunction.prototype = { - toString$0: function (receiver) { - var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()]; - if (dartClosure == null) - return this.super$JavaScriptObject$toString(receiver); - return "JavaScript function for " + H.S(J.toString$0$(dartClosure)); - }, - $isFunction: 1 - }; - J.JSArray.prototype = { - add$1: function (receiver, value) { - H._arrayInstanceType(receiver)._precomputed1._as(value); - if (!!receiver.fixed$length) - H.throwExpression(P.UnsupportedError$("add")); - receiver.push(value); - }, - addAll$1: function (receiver, collection) { - var t1; - H._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(collection); - if (!!receiver.fixed$length) - H.throwExpression(P.UnsupportedError$("addAll")); - if (Array.isArray(collection)) { - this._addAllFromArray$1(receiver, collection); - return; - } - for (t1 = J.get$iterator$ax(collection); t1.moveNext$0();) - receiver.push(t1.get$current()); - }, - _addAllFromArray$1: function (receiver, array) { - var len, i; - type$.JSArray_dynamic._as(array); - len = array.length; - if (len === 0) - return; - if (receiver === array) - throw H.wrapException(P.ConcurrentModificationError$(receiver)); - for (i = 0; i < len; ++i) - receiver.push(array[i]); - }, - forEach$1: function (receiver, f) { - var end, i; - H._arrayInstanceType(receiver)._eval$1("~(1)")._as(f); - end = receiver.length; - for (i = 0; i < end; ++i) { - f.call$1(receiver[i]); - if (receiver.length !== end) - throw H.wrapException(P.ConcurrentModificationError$(receiver)); - } - }, - map$1$1: function (receiver, f, $T) { - var t1 = H._arrayInstanceType(receiver); - return new H.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>")); - }, - join$1: function (receiver, separator) { - var i, - list = P.List_List$filled(receiver.length, "", false, type$.String); - for (i = 0; i < receiver.length; ++i) - this.$indexSet(list, i, H.S(receiver[i])); - return list.join(separator); - }, - elementAt$1: function (receiver, index) { - if (index < 0 || index >= receiver.length) - return H.ioore(receiver, index); - return receiver[index]; - }, - toString$0: function (receiver) { - return P.IterableBase_iterableToFullString(receiver, "[", "]"); - }, - get$iterator: function (receiver) { - return new J.ArrayIterator(receiver, receiver.length, H._arrayInstanceType(receiver)._eval$1("ArrayIterator<1>")); - }, - get$hashCode: function (receiver) { - return H.Primitives_objectHashCode(receiver); - }, - get$length: function (receiver) { - return receiver.length; - }, - $index: function (receiver, index) { - if (index >= receiver.length || index < 0) - throw H.wrapException(H.diagnoseIndexError(receiver, index)); - return receiver[index]; - }, - $indexSet: function (receiver, index, value) { - H._arrayInstanceType(receiver)._precomputed1._as(value); - if (!!receiver.immutable$list) - H.throwExpression(P.UnsupportedError$("indexed set")); - if (index >= receiver.length || false) - throw H.wrapException(H.diagnoseIndexError(receiver, index)); - receiver[index] = value; - }, - $isIterable: 1, - $isList: 1 - }; - J.JSUnmodifiableArray.prototype = {}; - J.ArrayIterator.prototype = { - get$current: function () { - return this.$ti._precomputed1._as(this._current); - }, - moveNext$0: function () { - var t2, _this = this, - t1 = _this._iterable, - $length = t1.length; - if (_this.__interceptors$_length !== $length) - throw H.wrapException(H.throwConcurrentModificationError(t1)); - t2 = _this._index; - if (t2 >= $length) { - _this.set$_current(null); - return false; - } - _this.set$_current(t1[t2]); - ++_this._index; - return true; - }, - set$_current: function (_current) { - this._current = this.$ti._eval$1("1?")._as(_current); - }, - $isIterator: 1 - }; - J.JSNumber.prototype = { - toString$0: function (receiver) { - if (receiver === 0 && 1 / receiver < 0) - return "-0.0"; - else - return "" + receiver; - }, - get$hashCode: function (receiver) { - var absolute, floorLog2, factor, scaled, - intValue = receiver | 0; - if (receiver === intValue) - return intValue & 536870911; - absolute = Math.abs(receiver); - floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0; - factor = Math.pow(2, floorLog2); - scaled = absolute < 1 ? absolute / factor : factor / absolute; - return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911; - }, - _tdivFast$1: function (receiver, other) { - return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other); - }, - _tdivSlow$1: function (receiver, other) { - var quotient = receiver / other; - if (quotient >= -2147483648 && quotient <= 2147483647) - return quotient | 0; - if (quotient > 0) { - if (quotient !== 1 / 0) - return Math.floor(quotient); - } else if (quotient > -1 / 0) - return Math.ceil(quotient); - throw H.wrapException(P.UnsupportedError$("Result of truncating division is " + H.S(quotient) + ": " + H.S(receiver) + " ~/ " + other)); - }, - _shrOtherPositive$1: function (receiver, other) { - var t1; - if (receiver > 0) - t1 = this._shrBothPositive$1(receiver, other); - else { - t1 = other > 31 ? 31 : other; - t1 = receiver >> t1 >>> 0; - } - return t1; - }, - _shrBothPositive$1: function (receiver, other) { - return other > 31 ? 0 : receiver >>> other; - }, - $isdouble: 1, - $isnum: 1 - }; - J.JSInt.prototype = { - $isint: 1 - }; - J.JSDouble.prototype = {}; - J.JSString.prototype = { - $add: function (receiver, other) { - return receiver + other; - }, - substring$2: function (receiver, startIndex, endIndex) { - if (endIndex == null) - endIndex = receiver.length; - if (startIndex < 0) - throw H.wrapException(P.RangeError$value(startIndex, null)); - if (startIndex > endIndex) - throw H.wrapException(P.RangeError$value(startIndex, null)); - if (endIndex > receiver.length) - throw H.wrapException(P.RangeError$value(endIndex, null)); - return receiver.substring(startIndex, endIndex); - }, - toString$0: function (receiver) { - return receiver; - }, - get$hashCode: function (receiver) { - var t1, hash, i; - for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) { - hash = hash + receiver.charCodeAt(i) & 536870911; - hash = hash + ((hash & 524287) << 10) & 536870911; - hash ^= hash >> 6; - } - hash = hash + ((hash & 67108863) << 3) & 536870911; - hash ^= hash >> 11; - return hash + ((hash & 16383) << 15) & 536870911; - }, - get$length: function (receiver) { - return receiver.length; - }, - $isString: 1 - }; - H.LateError.prototype = { - toString$0: function (_) { - var t1 = "LateInitializationError: " + this._message; - return t1; - } - }; - H.EfficientLengthIterable.prototype = {}; - H.ListIterable.prototype = { - get$iterator: function (_) { - var _this = this; - return new H.ListIterator(_this, _this.get$length(_this), H._instanceType(_this)._eval$1("ListIterator")); - } - }; - H.SubListIterable.prototype = { - get$_endIndex: function () { - var $length = J.get$length$asx(this.__internal$_iterable), - endOrLength = this._endOrLength; - if (endOrLength > $length) - return $length; - return endOrLength; - }, - get$_startIndex: function () { - var $length = J.get$length$asx(this.__internal$_iterable), - t1 = this._start; - if (t1 > $length) - return $length; - return t1; - }, - get$length: function (_) { - var endOrLength, - $length = J.get$length$asx(this.__internal$_iterable), - t1 = this._start; - if (t1 >= $length) - return 0; - endOrLength = this._endOrLength; - if (endOrLength >= $length) - return $length - t1; - return endOrLength - t1; - }, - elementAt$1: function (_, index) { - var _this = this, - realIndex = _this.get$_startIndex() + index, - t1 = _this.get$_endIndex(); - if (realIndex >= t1) - throw H.wrapException(P.IndexError$(index, _this, "index", null, null)); - return J.elementAt$1$ax(_this.__internal$_iterable, realIndex); - }, - toList$0: function (_) { - var $length, result, i, _this = this, - start = _this._start, - t1 = _this.__internal$_iterable, - t2 = J.getInterceptor$asx(t1), - end = t2.get$length(t1), - endOrLength = _this._endOrLength; - if (endOrLength < end) - end = endOrLength; - $length = end - start; - if ($length <= 0) { - t1 = J.JSArray_JSArray$growable(0, _this.$ti._precomputed1); - return t1; - } - result = P.List_List$filled($length, t2.elementAt$1(t1, start), true, _this.$ti._precomputed1); - for (i = 1; i < $length; ++i) { - C.JSArray_methods.$indexSet(result, i, t2.elementAt$1(t1, start + i)); - if (t2.get$length(t1) < end) - throw H.wrapException(P.ConcurrentModificationError$(_this)); - } - return result; - } - }; - H.ListIterator.prototype = { - get$current: function () { - return this.$ti._precomputed1._as(this.__internal$_current); - }, - moveNext$0: function () { - var t3, _this = this, - t1 = _this.__internal$_iterable, - t2 = J.getInterceptor$asx(t1), - $length = t2.get$length(t1); - if (_this.__internal$_length !== $length) - throw H.wrapException(P.ConcurrentModificationError$(t1)); - t3 = _this.__internal$_index; - if (t3 >= $length) { - _this.set$__internal$_current(null); - return false; - } - _this.set$__internal$_current(t2.elementAt$1(t1, t3)); - ++_this.__internal$_index; - return true; - }, - set$__internal$_current: function (_current) { - this.__internal$_current = this.$ti._eval$1("1?")._as(_current); - }, - $isIterator: 1 - }; - H.MappedIterable.prototype = { - get$iterator: function (_) { - var t1 = H._instanceType(this); - return new H.MappedIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("MappedIterator<1,2>")); - }, - get$length: function (_) { - return J.get$length$asx(this.__internal$_iterable); - } - }; - H.EfficientLengthMappedIterable.prototype = {}; - H.MappedIterator.prototype = { - moveNext$0: function () { - var _this = this, - t1 = _this._iterator; - if (t1.moveNext$0()) { - _this.set$__internal$_current(_this._f.call$1(t1.get$current())); - return true; - } - _this.set$__internal$_current(null); - return false; - }, - get$current: function () { - return this.$ti._rest[1]._as(this.__internal$_current); - }, - set$__internal$_current: function (_current) { - this.__internal$_current = this.$ti._eval$1("2?")._as(_current); - } - }; - H.MappedListIterable.prototype = { - get$length: function (_) { - return J.get$length$asx(this._source); - }, - elementAt$1: function (_, index) { - return this._f.call$1(J.elementAt$1$ax(this._source, index)); - } - }; - H.FixedLengthListMixin.prototype = {}; - H.Symbol.prototype = { - get$hashCode: function (_) { - var hash = this._hashCode; - if (hash != null) - return hash; - hash = 664597 * J.get$hashCode$(this.__internal$_name) & 536870911; - this._hashCode = hash; - return hash; - }, - toString$0: function (_) { - return 'Symbol("' + H.S(this.__internal$_name) + '")'; - }, - $eq: function (_, other) { - if (other == null) - return false; - return other instanceof H.Symbol && this.__internal$_name == other.__internal$_name; - }, - $isSymbol0: 1 - }; - H.ConstantMapView.prototype = {}; - H.ConstantMap.prototype = { - toString$0: function (_) { - return P.MapBase_mapToString(this); - }, - $isMap: 1 - }; - H.ConstantStringMap.prototype = { - get$length: function (_) { - return this._length; - }, - _fetch$1: function (key) { - return this.__js_helper$_jsObject[H._asString(key)]; - }, - forEach$1: function (_, f) { - var keys, t2, i, key, - t1 = H._instanceType(this); - t1._eval$1("~(1,2)")._as(f); - keys = this._keys; - for (t2 = keys.length, t1 = t1._rest[1], i = 0; i < t2; ++i) { - key = keys[i]; - f.call$2(key, t1._as(this._fetch$1(key))); - } - } - }; - H.JSInvocationMirror.prototype = { - get$memberName: function () { - var t1 = this._memberName; - return t1; - }, - get$positionalArguments: function () { - var t1, argumentCount, list, index, _this = this; - if (_this.__js_helper$_kind === 1) - return C.List_empty; - t1 = _this._arguments; - argumentCount = t1.length - _this._namedArgumentNames.length - _this._typeArgumentCount; - if (argumentCount === 0) - return C.List_empty; - list = []; - for (index = 0; index < argumentCount; ++index) { - if (index >= t1.length) - return H.ioore(t1, index); - list.push(t1[index]); - } - list.fixed$length = Array; - list.immutable$list = Array; - return list; - }, - get$namedArguments: function () { - var t1, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, t3, t4, _this = this; - if (_this.__js_helper$_kind !== 0) - return C.Map_empty; - t1 = _this._namedArgumentNames; - namedArgumentCount = t1.length; - t2 = _this._arguments; - namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount; - if (namedArgumentCount === 0) - return C.Map_empty; - map = new H.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic); - for (i = 0; i < namedArgumentCount; ++i) { - if (i >= t1.length) - return H.ioore(t1, i); - t3 = t1[i]; - t4 = namedArgumentsStartIndex + i; - if (t4 < 0 || t4 >= t2.length) - return H.ioore(t2, t4); - map.$indexSet(0, new H.Symbol(t3), t2[t4]); - } - return new H.ConstantMapView(map, type$.ConstantMapView_Symbol_dynamic); - }, - $isInvocation: 1 - }; - H.Primitives_functionNoSuchMethod_closure.prototype = { - call$2: function ($name, argument) { - var t1; - H._asString($name); - t1 = this._box_0; - t1.names = t1.names + "$" + $name; - C.JSArray_methods.add$1(this.namedArgumentList, $name); - C.JSArray_methods.add$1(this.$arguments, argument); - ++t1.argumentCount; - }, - $signature: 7 - }; - H.TypeErrorDecoder.prototype = { - matchTypeError$1: function (message) { - var result, t1, _this = this, - match = new RegExp(_this._pattern).exec(message); - if (match == null) - return null; - result = Object.create(null); - t1 = _this._arguments; - if (t1 !== -1) - result.arguments = match[t1 + 1]; - t1 = _this._argumentsExpr; - if (t1 !== -1) - result.argumentsExpr = match[t1 + 1]; - t1 = _this._expr; - if (t1 !== -1) - result.expr = match[t1 + 1]; - t1 = _this._method; - if (t1 !== -1) - result.method = match[t1 + 1]; - t1 = _this._receiver; - if (t1 !== -1) - result.receiver = match[t1 + 1]; - return result; - } - }; - H.NullError.prototype = { - toString$0: function (_) { - var t1 = this._method; - if (t1 == null) - return "NoSuchMethodError: " + this.__js_helper$_message; - return "NoSuchMethodError: method not found: '" + t1 + "' on null"; - } - }; - H.JsNoSuchMethodError.prototype = { - toString$0: function (_) { - var t2, _this = this, - _s38_ = "NoSuchMethodError: method not found: '", - t1 = _this._method; - if (t1 == null) - return "NoSuchMethodError: " + _this.__js_helper$_message; - t2 = _this._receiver; - if (t2 == null) - return _s38_ + t1 + "' (" + _this.__js_helper$_message + ")"; - return _s38_ + t1 + "' on '" + t2 + "' (" + _this.__js_helper$_message + ")"; - } - }; - H.UnknownJsTypeError.prototype = { - toString$0: function (_) { - var t1 = this.__js_helper$_message; - return t1.length === 0 ? "Error" : "Error: " + t1; - } - }; - H.NullThrownFromJavaScriptException.prototype = { - toString$0: function (_) { - return "Throw of null ('" + (this._irritant === null ? "null" : "undefined") + "' from JavaScript)"; - } - }; - H.ExceptionAndStackTrace.prototype = {}; - H._StackTrace.prototype = { - toString$0: function (_) { - var trace, - t1 = this._trace; - if (t1 != null) - return t1; - t1 = this._exception; - trace = t1 !== null && typeof t1 === "object" ? t1.stack : null; - return this._trace = trace == null ? "" : trace; - }, - $isStackTrace: 1 - }; - H.Closure.prototype = { - toString$0: function (_) { - var $constructor = this.constructor, - $name = $constructor == null ? null : $constructor.name; - return "Closure '" + H.unminifyOrTag($name == null ? "unknown" : $name) + "'"; - }, - $isFunction: 1, - get$$call: function () { - return this; - }, - "call*": "call$1", - $requiredArgCount: 1, - $defaultValues: null - }; - H.TearOffClosure.prototype = {}; - H.StaticClosure.prototype = { - toString$0: function (_) { - var $name = this.$static_name; - if ($name == null) - return "Closure of unknown static method"; - return "Closure '" + H.unminifyOrTag($name) + "'"; - } - }; - H.BoundClosure.prototype = { - $eq: function (_, other) { - var _this = this; - if (other == null) - return false; - if (_this === other) - return true; - if (!(other instanceof H.BoundClosure)) - return false; - return _this._self === other._self && _this._target === other._target && _this._receiver === other._receiver; - }, - get$hashCode: function (_) { - var receiverHashCode, - t1 = this._receiver; - if (t1 == null) - receiverHashCode = H.Primitives_objectHashCode(this._self); - else - receiverHashCode = typeof t1 !== "object" ? J.get$hashCode$(t1) : H.Primitives_objectHashCode(t1); - return (receiverHashCode ^ H.Primitives_objectHashCode(this._target)) >>> 0; - }, - toString$0: function (_) { - var receiver = this._receiver; - if (receiver == null) - receiver = this._self; - return "Closure '" + H.S(this._name) + "' of " + ("Instance of '" + H.Primitives_objectTypeName(type$.Object._as(receiver)) + "'"); - } - }; - H.RuntimeError.prototype = { - toString$0: function (_) { - return "RuntimeError: " + this.message; - } - }; - H._AssertionError.prototype = { - toString$0: function (_) { - return "Assertion failed: " + P.Error_safeToString(this.message); - } - }; - H._Required.prototype = {}; - H.JsLinkedHashMap.prototype = { - get$length: function (_) { - return this._length; - }, - get$values: function (_) { - var t1 = H._instanceType(this); - return H.MappedIterable_MappedIterable(new H.LinkedHashMapKeyIterable(this, t1._eval$1("LinkedHashMapKeyIterable<1>")), new H.JsLinkedHashMap_values_closure(this), t1._precomputed1, t1._rest[1]); - }, - containsKey$1: function (key) { - var strings = this._strings; - if (strings == null) - return false; - return this._containsTableEntry$2(strings, key); - }, - containsValue$1: function (value) { - return new H.LinkedHashMapKeyIterable(this, H._instanceType(this)._eval$1("LinkedHashMapKeyIterable<1>")).any$1(0, new H.JsLinkedHashMap_containsValue_closure(this, value)); - }, - $index: function (_, key) { - var strings, cell, t1, nums, _this = this, - _null = null; - if (typeof key == "string") { - strings = _this._strings; - if (strings == null) - return _null; - cell = _this._getTableCell$2(strings, key); - t1 = cell == null ? _null : cell.hashMapCellValue; - return t1; - } else if (typeof key == "number" && (key & 0x3ffffff) === key) { - nums = _this._nums; - if (nums == null) - return _null; - cell = _this._getTableCell$2(nums, key); - t1 = cell == null ? _null : cell.hashMapCellValue; - return t1; + t1 = true; + } else + t1 = true; } else - return _this.internalGet$1(key); - }, - internalGet$1: function (key) { - var bucket, index, - rest = this.__js_helper$_rest; - if (rest == null) - return null; - bucket = this._getTableBucket$2(rest, J.get$hashCode$(key) & 0x3ffffff); - index = this.internalFindBucketIndex$2(bucket, key); - if (index < 0) - return null; - return bucket[index].hashMapCellValue; - }, - $indexSet: function (_, key, value) { - var strings, nums, rest, hash, bucket, index, _this = this, - t1 = H._instanceType(_this); - t1._precomputed1._as(key); - t1._rest[1]._as(value); - if (typeof key == "string") { - strings = _this._strings; - _this._addHashTableEntry$3(strings == null ? _this._strings = _this._newHashTable$0() : strings, key, value); - } else if (typeof key == "number" && (key & 0x3ffffff) === key) { - nums = _this._nums; - _this._addHashTableEntry$3(nums == null ? _this._nums = _this._newHashTable$0() : nums, key, value); - } else { - rest = _this.__js_helper$_rest; - if (rest == null) - rest = _this.__js_helper$_rest = _this._newHashTable$0(); - hash = J.get$hashCode$(key) & 0x3ffffff; - bucket = _this._getTableBucket$2(rest, hash); - if (bucket == null) - _this._setTableEntry$3(rest, hash, [_this._newLinkedCell$2(key, value)]); - else { - index = _this.internalFindBucketIndex$2(bucket, key); - if (index >= 0) - bucket[index].hashMapCellValue = value; - else - bucket.push(_this._newLinkedCell$2(key, value)); - } - } - }, - remove$1: function (_, key) { - var t1 = this._removeHashTableEntry$2(this._strings, key); - return t1; - }, - clear$0: function (_) { - var _this = this; - if (_this._length > 0) { - _this._strings = _this._nums = _this.__js_helper$_rest = _this._first = _this._last = null; - _this._length = 0; - _this._modified$0(); - } - }, - forEach$1: function (_, action) { - var cell, modifications, _this = this; - H._instanceType(_this)._eval$1("~(1,2)")._as(action); - cell = _this._first; - modifications = _this._modifications; - for (; cell != null;) { - action.call$2(cell.hashMapCellKey, cell.hashMapCellValue); - if (modifications !== _this._modifications) - throw H.wrapException(P.ConcurrentModificationError$(_this)); - cell = cell._next; - } - }, - _addHashTableEntry$3: function (table, key, value) { - var cell, _this = this, - t1 = H._instanceType(_this); - t1._precomputed1._as(key); - t1._rest[1]._as(value); - cell = _this._getTableCell$2(table, key); - if (cell == null) - _this._setTableEntry$3(table, key, _this._newLinkedCell$2(key, value)); - else - cell.hashMapCellValue = value; - }, - _removeHashTableEntry$2: function (table, key) { - var cell; - if (table == null) - return null; - cell = this._getTableCell$2(table, key); - if (cell == null) - return null; - this._unlinkCell$1(cell); - this._deleteTableEntry$2(table, key); - return cell.hashMapCellValue; - }, - _modified$0: function () { - this._modifications = this._modifications + 1 & 67108863; - }, - _newLinkedCell$2: function (key, value) { - var _this = this, - t1 = H._instanceType(_this), - cell = new H.LinkedHashMapCell(t1._precomputed1._as(key), t1._rest[1]._as(value)); - if (_this._first == null) - _this._first = _this._last = cell; - else { - t1 = _this._last; - t1.toString; - cell._previous = t1; - _this._last = t1._next = cell; - } - ++_this._length; - _this._modified$0(); - return cell; - }, - _unlinkCell$1: function (cell) { - var _this = this, - previous = cell._previous, - next = cell._next; - if (previous == null) - _this._first = next; - else - previous._next = next; - if (next == null) - _this._last = previous; - else - next._previous = previous; - --_this._length; - _this._modified$0(); - }, - internalFindBucketIndex$2: function (bucket, key) { - var $length, i; - if (bucket == null) - return -1; - $length = bucket.length; - for (i = 0; i < $length; ++i) - if (J.$eq$(bucket[i].hashMapCellKey, key)) - return i; - return -1; - }, - toString$0: function (_) { - return P.MapBase_mapToString(this); - }, - _getTableCell$2: function (table, key) { - return table[key]; - }, - _getTableBucket$2: function (table, key) { - return table[key]; - }, - _setTableEntry$3: function (table, key, value) { - table[key] = value; - }, - _deleteTableEntry$2: function (table, key) { - delete table[key]; - }, - _containsTableEntry$2: function (table, key) { - return this._getTableCell$2(table, key) != null; - }, - _newHashTable$0: function () { - var _s20_ = "", - table = Object.create(null); - this._setTableEntry$3(table, _s20_, table); - this._deleteTableEntry$2(table, _s20_); - return table; - }, - $isLinkedHashMap: 1 - }; - H.JsLinkedHashMap_values_closure.prototype = { - call$1: function (each) { - var t1 = this.$this, - t2 = H._instanceType(t1); - return t2._rest[1]._as(t1.$index(0, t2._precomputed1._as(each))); - }, - $signature: function () { - return H._instanceType(this.$this)._eval$1("2(1)"); - } - }; - H.JsLinkedHashMap_containsValue_closure.prototype = { - call$1: function (each) { - var t1 = this.$this; - return J.$eq$(t1.$index(0, H._instanceType(t1)._precomputed1._as(each)), this.value); - }, - $signature: function () { - return H._instanceType(this.$this)._eval$1("bool(1)"); - } - }; - H.LinkedHashMapCell.prototype = {}; - H.LinkedHashMapKeyIterable.prototype = { - get$length: function (_) { - return this._map._length; - }, - get$iterator: function (_) { - var t1 = this._map, - t2 = new H.LinkedHashMapKeyIterator(t1, t1._modifications, this.$ti._eval$1("LinkedHashMapKeyIterator<1>")); - t2._cell = t1._first; - return t2; - } - }; - H.LinkedHashMapKeyIterator.prototype = { - get$current: function () { - return this.$ti._precomputed1._as(this.__js_helper$_current); - }, - moveNext$0: function () { - var cell, _this = this, - t1 = _this._map; - if (_this._modifications !== t1._modifications) - throw H.wrapException(P.ConcurrentModificationError$(t1)); - cell = _this._cell; - if (cell == null) { - _this.set$__js_helper$_current(null); - return false; - } else { - _this.set$__js_helper$_current(cell.hashMapCellKey); - _this._cell = cell._next; - return true; - } - }, - set$__js_helper$_current: function (_current) { - this.__js_helper$_current = this.$ti._eval$1("1?")._as(_current); - }, - $isIterator: 1 - }; - H.initHooks_closure.prototype = { - call$1: function (o) { - return this.getTag(o); - }, - $signature: 2 - }; - H.initHooks_closure0.prototype = { - call$2: function (o, tag) { - return this.getUnknownTag(o, tag); - }, - $signature: 8 - }; - H.initHooks_closure1.prototype = { - call$1: function (tag) { - return this.prototypeForTag(H._asString(tag)); - }, - $signature: 9 - }; - H.JSSyntaxRegExp.prototype = { - toString$0: function (_) { - return "RegExp/" + this.pattern + "/" + this._nativeRegExp.flags; - }, - $isRegExp: 1 - }; - H.NativeTypedData.prototype = { - $isNativeTypedData: 1, - $isTypedData: 1 - }; - H.NativeTypedArray.prototype = { - get$length: function (receiver) { - return receiver.length; - }, - $isJavaScriptIndexingBehavior: 1 - }; - H.NativeTypedArrayOfDouble.prototype = { - $index: function (receiver, index) { - H._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - }, - $isIterable: 1, - $isList: 1 - }; - H.NativeTypedArrayOfInt.prototype = { - $isIterable: 1, - $isList: 1 - }; - H.NativeInt16List.prototype = { - $index: function (receiver, index) { - H._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - } - }; - H.NativeInt32List.prototype = { - $index: function (receiver, index) { - H._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - } - }; - H.NativeInt8List.prototype = { - $index: function (receiver, index) { - H._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - } - }; - H.NativeUint16List.prototype = { - $index: function (receiver, index) { - H._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - } - }; - H.NativeUint32List.prototype = { - $index: function (receiver, index) { - H._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - } - }; - H.NativeUint8ClampedList.prototype = { - get$length: function (receiver) { - return receiver.length; - }, - $index: function (receiver, index) { - H._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - } - }; - H.NativeUint8List.prototype = { - get$length: function (receiver) { - return receiver.length; - }, - $index: function (receiver, index) { - H._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - } - }; - H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.prototype = {}; - H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; - H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.prototype = {}; - H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; - H.Rti.prototype = { - _eval$1: function (recipe) { - return H._Universe_evalInEnvironment(init.typeUniverse, this, recipe); - }, - _bind$1: function (typeOrTuple) { - return H._Universe_bind(init.typeUniverse, this, typeOrTuple); - } - }; - H._FunctionParameters.prototype = {}; - H._Error.prototype = { - toString$0: function (_) { - return this.__rti$_message; - } - }; - H._TypeError.prototype = {}; - P._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = { - call$1: function (_) { - var t1 = this._box_0, - f = t1.storedCallback; - t1.storedCallback = null; - f.call$0(); - }, - $signature: 3 - }; - P._AsyncRun__initializeScheduleImmediate_closure.prototype = { - call$1: function (callback) { - var t1, t2; - this._box_0.storedCallback = type$.void_Function._as(callback); - t1 = this.div; - t2 = this.span; - t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); - }, - $signature: 10 - }; - P._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { - call$0: function () { - this.callback.call$0(); - }, - "call*": "call$0", - $requiredArgCount: 0, - $signature: 1 - }; - P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = { - call$0: function () { - this.callback.call$0(); - }, - "call*": "call$0", - $requiredArgCount: 0, - $signature: 1 - }; - P._TimerImpl.prototype = { - _TimerImpl$2: function (milliseconds, callback) { - if (self.setTimeout != null) - self.setTimeout(H.convertDartClosureToJS(new P._TimerImpl_internalCallback(this, callback), 0), milliseconds); - else - throw H.wrapException(P.UnsupportedError$("`setTimeout()` not found.")); - } - }; - P._TimerImpl_internalCallback.prototype = { - call$0: function () { - this.callback.call$0(); - }, - "call*": "call$0", - $requiredArgCount: 0, - $signature: 0 - }; - P._AsyncAwaitCompleter.prototype = {}; - P._awaitOnObject_closure.prototype = { - call$1: function (result) { - return this.bodyFunction.call$2(0, result); - }, - $signature: 11 - }; - P._awaitOnObject_closure0.prototype = { - call$2: function (error, stackTrace) { - this.bodyFunction.call$2(1, new H.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace))); - }, - "call*": "call$2", - $requiredArgCount: 2, - $signature: 12 - }; - P._wrapJsFunctionForAsync_closure.prototype = { - call$2: function (errorCode, result) { - this.$protected(H._asInt(errorCode), result); - }, - $signature: 13 - }; - P.AsyncError.prototype = { - toString$0: function (_) { - return H.S(this.error); - }, - $isError: 1, - get$stackTrace: function () { - return this.stackTrace; - } - }; - P.Future_Future$delayed_closure.prototype = { - call$0: function () { - this.result._complete$1(this.T._as(null)); - }, - $signature: 0 - }; - P._FutureListener.prototype = { - matchesErrorTest$1: function (asyncError) { - if ((this.state & 15) !== 6) - return true; - return this.result._zone.runUnary$2$2(type$.bool_Function_Object._as(this.callback), asyncError.error, type$.bool, type$.Object); - }, - handleError$1: function (asyncError) { - var errorCallback = this.errorCallback, - t1 = type$.dynamic, - t2 = type$.Object, - t3 = asyncError.error, - t4 = this.$ti._eval$1("2/"), - t5 = this.result._zone; - if (type$.dynamic_Function_Object_StackTrace._is(errorCallback)) - return t4._as(t5.runBinary$3$3(errorCallback, t3, asyncError.stackTrace, t1, t2, type$.StackTrace)); - else - return t4._as(t5.runUnary$2$2(type$.dynamic_Function_Object._as(errorCallback), t3, t1, t2)); - } - }; - P._Future.prototype = { - then$1$2$onError: function (f, onError, $R) { - var currentZone, result, t2, - t1 = this.$ti; - t1._bind$1($R)._eval$1("1/(2)")._as(f); - currentZone = $.Zone__current; - if (currentZone !== C.C__RootZone) { - $R._eval$1("@<0/>")._bind$1(t1._precomputed1)._eval$1("1(2)")._as(f); - if (onError != null) - onError = P._registerErrorHandler(onError, currentZone); - } - result = new P._Future(currentZone, $R._eval$1("_Future<0>")); - t2 = onError == null ? 1 : 3; - this._addListener$1(new P._FutureListener(result, t2, f, onError, t1._eval$1("@<1>")._bind$1($R)._eval$1("_FutureListener<1,2>"))); - return result; - }, - then$1$1: function (f, $R) { - return this.then$1$2$onError(f, null, $R); - }, - _thenAwait$1$2: function (f, onError, $E) { - var result, - t1 = this.$ti; - t1._bind$1($E)._eval$1("1/(2)")._as(f); - result = new P._Future($.Zone__current, $E._eval$1("_Future<0>")); - this._addListener$1(new P._FutureListener(result, 19, f, onError, t1._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>"))); - return result; - }, - _addListener$1: function (listener) { - var source, _this = this, - t1 = _this._state; - if (t1 <= 1) { - listener._nextListener = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); - _this._resultOrListeners = listener; - } else { - if (t1 === 2) { - source = type$._Future_dynamic._as(_this._resultOrListeners); - t1 = source._state; - if (t1 < 4) { - source._addListener$1(listener); - return; - } - _this._state = t1; - _this._resultOrListeners = source._resultOrListeners; - } - P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__addListener_closure(_this, listener))); - } - }, - _prependListeners$1: function (listeners) { - var t1, existingListeners, next, cursor, next0, source, _this = this, - _box_0 = {}; - _box_0.listeners = listeners; - if (listeners == null) - return; - t1 = _this._state; - if (t1 <= 1) { - existingListeners = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); - _this._resultOrListeners = listeners; - if (existingListeners != null) { - next = listeners._nextListener; - for (cursor = listeners; next != null; cursor = next, next = next0) - next0 = next._nextListener; - cursor._nextListener = existingListeners; - } - } else { - if (t1 === 2) { - source = type$._Future_dynamic._as(_this._resultOrListeners); - t1 = source._state; - if (t1 < 4) { - source._prependListeners$1(listeners); - return; - } - _this._state = t1; - _this._resultOrListeners = source._resultOrListeners; - } - _box_0.listeners = _this._reverseListeners$1(listeners); - P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__prependListeners_closure(_box_0, _this))); - } - }, - _removeListeners$0: function () { - var current = type$.nullable__FutureListener_dynamic_dynamic._as(this._resultOrListeners); - this._resultOrListeners = null; - return this._reverseListeners$1(current); - }, - _reverseListeners$1: function (listeners) { - var current, prev, next; - for (current = listeners, prev = null; current != null; prev = current, current = next) { - next = current._nextListener; - current._nextListener = prev; - } - return prev; - }, - _chainForeignFuture$1: function (source) { - var e, s, exception, _this = this; - _this._state = 1; - try { - source.then$1$2$onError(new P._Future__chainForeignFuture_closure(_this), new P._Future__chainForeignFuture_closure0(_this), type$.Null); - } catch (exception) { - e = H.unwrapException(exception); - s = H.getTraceFromException(exception); - P.scheduleMicrotask(new P._Future__chainForeignFuture_closure1(_this, e, s)); - } - }, - _complete$1: function (value) { - var listeners, _this = this, - t1 = _this.$ti; - t1._eval$1("1/")._as(value); - if (t1._eval$1("Future<1>")._is(value)) - _this._chainForeignFuture$1(value); - else { - listeners = _this._removeListeners$0(); - t1._precomputed1._as(value); - _this._state = 4; - _this._resultOrListeners = value; - P._Future__propagateToListeners(_this, listeners); - } - }, - _completeWithValue$1: function (value) { - var listeners, _this = this; - _this.$ti._precomputed1._as(value); - listeners = _this._removeListeners$0(); - _this._state = 4; - _this._resultOrListeners = value; - P._Future__propagateToListeners(_this, listeners); - }, - _completeError$2: function (error, stackTrace) { - var listeners, t1, _this = this; - type$.StackTrace._as(stackTrace); - listeners = _this._removeListeners$0(); - t1 = P.AsyncError$(error, stackTrace); - _this._state = 8; - _this._resultOrListeners = t1; - P._Future__propagateToListeners(_this, listeners); - }, - _asyncComplete$1: function (value) { - var t1 = this.$ti; - t1._eval$1("1/")._as(value); - if (t1._eval$1("Future<1>")._is(value)) { - this._chainFuture$1(value); - return; - } - this._asyncCompleteWithValue$1(t1._precomputed1._as(value)); - }, - _asyncCompleteWithValue$1: function (value) { - var _this = this; - _this.$ti._precomputed1._as(value); - _this._state = 1; - P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__asyncCompleteWithValue_closure(_this, value))); - }, - _chainFuture$1: function (value) { - var _this = this, - t1 = _this.$ti; - t1._eval$1("Future<1>")._as(value); - if (t1._is(value)) { - if (value._state === 8) { - _this._state = 1; - P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__chainFuture_closure(_this, value))); - } else - P._Future__chainCoreFuture(value, _this); - return; - } - _this._chainForeignFuture$1(value); - }, - _asyncCompleteError$2: function (error, stackTrace) { - this._state = 1; - P._rootScheduleMicrotask(null, null, this._zone, type$.void_Function._as(new P._Future__asyncCompleteError_closure(this, error, stackTrace))); - }, - $isFuture: 1 - }; - P._Future__addListener_closure.prototype = { - call$0: function () { - P._Future__propagateToListeners(this.$this, this.listener); - }, - $signature: 0 - }; - P._Future__prependListeners_closure.prototype = { - call$0: function () { - P._Future__propagateToListeners(this.$this, this._box_0.listeners); - }, - $signature: 0 - }; - P._Future__chainForeignFuture_closure.prototype = { - call$1: function (value) { - var error, stackTrace, exception, - t1 = this.$this; - t1._state = 0; - try { - t1._completeWithValue$1(t1.$ti._precomputed1._as(value)); - } catch (exception) { - error = H.unwrapException(exception); - stackTrace = H.getTraceFromException(exception); - t1._completeError$2(error, stackTrace); - } - }, - $signature: 3 - }; - P._Future__chainForeignFuture_closure0.prototype = { - call$2: function (error, stackTrace) { - this.$this._completeError$2(type$.Object._as(error), type$.StackTrace._as(stackTrace)); - }, - "call*": "call$2", - $requiredArgCount: 2, - $signature: 14 - }; - P._Future__chainForeignFuture_closure1.prototype = { - call$0: function () { - this.$this._completeError$2(this.e, this.s); - }, - $signature: 0 - }; - P._Future__asyncCompleteWithValue_closure.prototype = { - call$0: function () { - this.$this._completeWithValue$1(this.value); - }, - $signature: 0 - }; - P._Future__chainFuture_closure.prototype = { - call$0: function () { - P._Future__chainCoreFuture(this.value, this.$this); - }, - $signature: 0 - }; - P._Future__asyncCompleteError_closure.prototype = { - call$0: function () { - this.$this._completeError$2(this.error, this.stackTrace); - }, - $signature: 0 - }; - P._Future__propagateToListeners_handleWhenCompleteCallback.prototype = { - call$0: function () { - var e, s, t1, exception, t2, originalSource, _this = this, - completeResult = null; - try { - t1 = _this._box_0.listener; - completeResult = t1.result._zone.run$1$1(type$.dynamic_Function._as(t1.callback), type$.dynamic); - } catch (exception) { - e = H.unwrapException(exception); - s = H.getTraceFromException(exception); - t1 = _this.hasError && type$.AsyncError._as(_this._box_1.source._resultOrListeners).error === e; - t2 = _this._box_0; - if (t1) - t2.listenerValueOrError = type$.AsyncError._as(_this._box_1.source._resultOrListeners); - else - t2.listenerValueOrError = P.AsyncError$(e, s); - t2.listenerHasError = true; - return; - } - if (completeResult instanceof P._Future && completeResult._state >= 4) { - if (completeResult._state === 8) { - t1 = _this._box_0; - t1.listenerValueOrError = type$.AsyncError._as(completeResult._resultOrListeners); - t1.listenerHasError = true; - } - return; - } - if (type$.Future_dynamic._is(completeResult)) { - originalSource = _this._box_1.source; - t1 = _this._box_0; - t1.listenerValueOrError = completeResult.then$1$1(new P._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic); - t1.listenerHasError = false; - } - }, - $signature: 0 - }; - P._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = { - call$1: function (_) { - return this.originalSource; - }, - $signature: 15 - }; - P._Future__propagateToListeners_handleValueCallback.prototype = { - call$0: function () { - var e, s, t1, t2, t3, t4, t5, exception; - try { - t1 = this._box_0; - t2 = t1.listener; - t3 = t2.$ti; - t4 = t3._precomputed1; - t5 = t4._as(this.sourceResult); - t1.listenerValueOrError = t2.result._zone.runUnary$2$2(t3._eval$1("2/(1)")._as(t2.callback), t5, t3._eval$1("2/"), t4); - } catch (exception) { - e = H.unwrapException(exception); - s = H.getTraceFromException(exception); - t1 = this._box_0; - t1.listenerValueOrError = P.AsyncError$(e, s); - t1.listenerHasError = true; - } - }, - $signature: 0 - }; - P._Future__propagateToListeners_handleError.prototype = { - call$0: function () { - var asyncError, e, s, t1, exception, t2, _this = this; - try { - asyncError = type$.AsyncError._as(_this._box_1.source._resultOrListeners); - t1 = _this._box_0; - if (t1.listener.matchesErrorTest$1(asyncError) && t1.listener.errorCallback != null) { - t1.listenerValueOrError = t1.listener.handleError$1(asyncError); - t1.listenerHasError = false; - } - } catch (exception) { - e = H.unwrapException(exception); - s = H.getTraceFromException(exception); - t1 = type$.AsyncError._as(_this._box_1.source._resultOrListeners); - t2 = _this._box_0; - if (t1.error === e) - t2.listenerValueOrError = t1; - else - t2.listenerValueOrError = P.AsyncError$(e, s); - t2.listenerHasError = true; - } - }, - $signature: 0 - }; - P._AsyncCallbackEntry.prototype = {}; - P._StreamIterator.prototype = {}; - P._Zone.prototype = { - $isZone: 1 - }; - P._rootHandleUncaughtError_closure.prototype = { - call$0: function () { - var error = type$.Object._as(H.wrapException(this.error)); - error.stack = this.stackTrace.toString$0(0); - throw error; - }, - $signature: 0 - }; - P._RootZone.prototype = { - runGuarded$1: function (f) { - var e, s, exception, _null = null; - type$.void_Function._as(f); - try { - if (C.C__RootZone === $.Zone__current) { - f.call$0(); - return; - } - P._rootRun(_null, _null, this, f, type$.void); - } catch (exception) { - e = H.unwrapException(exception); - s = H.getTraceFromException(exception); - P._rootHandleUncaughtError(_null, _null, this, type$.Object._as(e), type$.StackTrace._as(s)); - } - }, - bindCallback$1$1: function (f, $R) { - return new P._RootZone_bindCallback_closure(this, $R._eval$1("0()")._as(f), $R); - }, - bindCallbackGuarded$1: function (f) { - return new P._RootZone_bindCallbackGuarded_closure(this, type$.void_Function._as(f)); - }, - run$1$1: function (f, $R) { - $R._eval$1("0()")._as(f); - if ($.Zone__current === C.C__RootZone) - return f.call$0(); - return P._rootRun(null, null, this, f, $R); - }, - runUnary$2$2: function (f, arg, $R, $T) { - $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); - $T._as(arg); - if ($.Zone__current === C.C__RootZone) - return f.call$1(arg); - return P._rootRunUnary(null, null, this, f, arg, $R, $T); - }, - runBinary$3$3: function (f, arg1, arg2, $R, T1, T2) { - $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); - T1._as(arg1); - T2._as(arg2); - if ($.Zone__current === C.C__RootZone) - return f.call$2(arg1, arg2); - return P._rootRunBinary(null, null, this, f, arg1, arg2, $R, T1, T2); - }, - registerBinaryCallback$3$1: function (f, $R, T1, T2) { - return $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); - } - }; - P._RootZone_bindCallback_closure.prototype = { - call$0: function () { - return this.$this.run$1$1(this.f, this.R); - }, - $signature: function () { - return this.R._eval$1("0()"); - } - }; - P._RootZone_bindCallbackGuarded_closure.prototype = { - call$0: function () { - return this.$this.runGuarded$1(this.f); - }, - $signature: 0 - }; - P.ListBase.prototype = { - $isIterable: 1, - $isList: 1 - }; - P.ListMixin.prototype = { - get$iterator: function (receiver) { - return new H.ListIterator(receiver, this.get$length(receiver), H.instanceType(receiver)._eval$1("ListIterator")); - }, - elementAt$1: function (receiver, index) { - return this.$index(receiver, index); - }, - map$1$1: function (receiver, f, $T) { - var t1 = H.instanceType(receiver); - return new H.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(ListMixin.E)")._as(f), t1._eval$1("@")._bind$1($T)._eval$1("MappedListIterable<1,2>")); - }, - toString$0: function (receiver) { - return P.IterableBase_iterableToFullString(receiver, "[", "]"); - } - }; - P.MapBase.prototype = {}; - P.MapBase_mapToString_closure.prototype = { - call$2: function (k, v) { - var t2, - t1 = this._box_0; - if (!t1.first) - this.result._contents += ", "; - t1.first = false; - t1 = this.result; - t2 = t1._contents += H.S(k); - t1._contents = t2 + ": "; - t1._contents += H.S(v); - }, - $signature: 16 - }; - P.MapMixin.prototype = { - forEach$1: function (_, action) { - var t2, t3, key, - t1 = H._instanceType(this); - t1._eval$1("~(1,2)")._as(action); - for (t2 = new H.LinkedHashMapKeyIterable(this, t1._eval$1("LinkedHashMapKeyIterable<1>")), t2 = t2.get$iterator(t2), t3 = t2.$ti._precomputed1, t1 = t1._rest[1]; t2.moveNext$0();) { - key = t3._as(t2.__js_helper$_current); - action.call$2(key, t1._as(this.$index(0, key))); - } - }, - get$length: function (_) { - return this._length; - }, - toString$0: function (_) { - return P.MapBase_mapToString(this); - }, - $isMap: 1 - }; - P._UnmodifiableMapMixin.prototype = {}; - P.MapView.prototype = { - forEach$1: function (_, action) { - this._collection$_map.forEach$1(0, this.$ti._eval$1("~(1,2)")._as(action)); - }, - get$length: function (_) { - return this._collection$_map._length; - }, - toString$0: function (_) { - return P.MapBase_mapToString(this._collection$_map); - }, - $isMap: 1 - }; - P.UnmodifiableMapView.prototype = {}; - P._ListBase_Object_ListMixin.prototype = {}; - P._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {}; - P.NoSuchMethodError_toString_closure.prototype = { - call$2: function (key, value) { - var t1, t2, t3; - type$.Symbol._as(key); - t1 = this.sb; - t2 = this._box_0; - t3 = t1._contents += t2.comma; - t3 += key.__internal$_name; - t1._contents = t3; - t1._contents = t3 + ": "; - t1._contents += P.Error_safeToString(value); - t2.comma = ", "; - }, - $signature: 17 - }; - P.DateTime.prototype = { - $eq: function (_, other) { - if (other == null) - return false; - return other instanceof P.DateTime && this._value === other._value && true; - }, - get$hashCode: function (_) { - var t1 = this._value; - return (t1 ^ C.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823; - }, - toString$0: function (_) { - var _this = this, - y = P.DateTime__fourDigits(H.Primitives_getYear(_this)), - m = P.DateTime__twoDigits(H.Primitives_getMonth(_this)), - d = P.DateTime__twoDigits(H.Primitives_getDay(_this)), - h = P.DateTime__twoDigits(H.Primitives_getHours(_this)), - min = P.DateTime__twoDigits(H.Primitives_getMinutes(_this)), - sec = P.DateTime__twoDigits(H.Primitives_getSeconds(_this)), - ms = P.DateTime__threeDigits(H.Primitives_getMilliseconds(_this)), - t1 = y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms; - return t1; - } - }; - P.Duration.prototype = { - $eq: function (_, other) { - if (other == null) - return false; - return other instanceof P.Duration && this._duration === other._duration; - }, - get$hashCode: function (_) { - return C.JSInt_methods.get$hashCode(this._duration); - }, - toString$0: function (_) { - var twoDigitMinutes, twoDigitSeconds, sixDigitUs, - t1 = new P.Duration_toString_twoDigits(), - t2 = this._duration; - if (t2 < 0) - return "-" + new P.Duration(0 - t2).toString$0(0); - twoDigitMinutes = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 60000000) % 60); - twoDigitSeconds = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 1000000) % 60); - sixDigitUs = new P.Duration_toString_sixDigits().call$1(t2 % 1000000); - return "" + C.JSInt_methods._tdivFast$1(t2, 3600000000) + ":" + twoDigitMinutes + ":" + twoDigitSeconds + "." + sixDigitUs; - } - }; - P.Duration_toString_sixDigits.prototype = { - call$1: function (n) { - if (n >= 100000) - return "" + n; - if (n >= 10000) - return "0" + n; - if (n >= 1000) - return "00" + n; - if (n >= 100) - return "000" + n; - if (n >= 10) - return "0000" + n; - return "00000" + n; - }, - $signature: 5 - }; - P.Duration_toString_twoDigits.prototype = { - call$1: function (n) { - if (n >= 10) - return "" + n; - return "0" + n; - }, - $signature: 5 - }; - P.Error.prototype = { - get$stackTrace: function () { - return H.getTraceFromException(this.$thrownJsError); - } - }; - P.AssertionError.prototype = { - toString$0: function (_) { - var t1 = this.message; - if (t1 != null) - return "Assertion failed: " + P.Error_safeToString(t1); - return "Assertion failed"; - } - }; - P.TypeError.prototype = {}; - P.NullThrownError.prototype = { - toString$0: function (_) { - return "Throw of null."; - } - }; - P.ArgumentError.prototype = { - get$_errorName: function () { - return "Invalid argument" + (!this._hasValue ? "(s)" : ""); - }, - get$_errorExplanation: function () { - return ""; - }, - toString$0: function (_) { - var explanation, errorValue, _this = this, - $name = _this.name, - nameString = $name == null ? "" : " (" + $name + ")", - message = _this.message, - messageString = message == null ? "" : ": " + H.S(message), - prefix = _this.get$_errorName() + nameString + messageString; - if (!_this._hasValue) - return prefix; - explanation = _this.get$_errorExplanation(); - errorValue = P.Error_safeToString(_this.invalidValue); - return prefix + explanation + ": " + errorValue; - } - }; - P.RangeError.prototype = { - get$_errorName: function () { - return "RangeError"; - }, - get$_errorExplanation: function () { - var explanation, - start = this.start, - end = this.end; - if (start == null) - explanation = end != null ? ": Not less than or equal to " + H.S(end) : ""; - else if (end == null) - explanation = ": Not greater than or equal to " + H.S(start); - else if (end > start) - explanation = ": Not in inclusive range " + H.S(start) + ".." + H.S(end); - else - explanation = end < start ? ": Valid value range is empty" : ": Only valid value is " + H.S(start); - return explanation; - } - }; - P.IndexError.prototype = { - get$_errorName: function () { - return "RangeError"; - }, - get$_errorExplanation: function () { - if (H._asInt(this.invalidValue) < 0) - return ": index must not be negative"; - var t1 = this.length; - if (t1 === 0) - return ": no indices are valid"; - return ": index should be less than " + t1; - }, - get$length: function (receiver) { - return this.length; - } - }; - P.NoSuchMethodError.prototype = { - toString$0: function (_) { - var $arguments, t1, _i, t2, t3, argument, receiverText, actualParameters, _this = this, - _box_0 = {}, - sb = new P.StringBuffer(""); - _box_0.comma = ""; - $arguments = _this._core$_arguments; - for (t1 = $arguments.length, _i = 0, t2 = "", t3 = ""; _i < t1; ++_i, t3 = ", ") { - argument = $arguments[_i]; - sb._contents = t2 + t3; - t2 = sb._contents += P.Error_safeToString(argument); - _box_0.comma = ", "; - } - _this._namedArguments.forEach$1(0, new P.NoSuchMethodError_toString_closure(_box_0, sb)); - receiverText = P.Error_safeToString(_this._core$_receiver); - actualParameters = sb.toString$0(0); - t1 = "NoSuchMethodError: method not found: '" + _this._core$_memberName.__internal$_name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]"; - return t1; - } - }; - P.UnsupportedError.prototype = { - toString$0: function (_) { - return "Unsupported operation: " + this.message; - } - }; - P.UnimplementedError.prototype = { - toString$0: function (_) { - var t1 = "UnimplementedError: " + this.message; - return t1; - } - }; - P.StateError.prototype = { - toString$0: function (_) { - return "Bad state: " + this.message; - } - }; - P.ConcurrentModificationError.prototype = { - toString$0: function (_) { - var t1 = this.modifiedObject; - if (t1 == null) - return "Concurrent modification during iteration."; - return "Concurrent modification during iteration: " + P.Error_safeToString(t1) + "."; - } - }; - P.StackOverflowError.prototype = { - toString$0: function (_) { - return "Stack Overflow"; - }, - get$stackTrace: function () { - return null; - }, - $isError: 1 - }; - P.CyclicInitializationError.prototype = { - toString$0: function (_) { - var t1 = "Reading static variable '" + this.variableName + "' during its initialization"; - return t1; - } - }; - P._Exception.prototype = { - toString$0: function (_) { - return "Exception: " + this.message; - } - }; - P.FormatException.prototype = { - toString$0: function (_) { - var message = this.message, - report = "" !== message ? "FormatException: " + message : "FormatException", - source = this.source; - if (source.length > 78) - source = C.JSString_methods.substring$2(source, 0, 75) + "..."; - return report + "\n" + source; - } - }; - P.Iterable.prototype = { - any$1: function (_, test) { - var t1; - H._instanceType(this)._eval$1("bool(Iterable.E)")._as(test); - for (t1 = this.get$iterator(this); t1.moveNext$0();) - if (H.boolConversionCheck(test.call$1(t1.get$current()))) - return true; - return false; - }, - get$length: function (_) { - var count, - it = this.get$iterator(this); - for (count = 0; it.moveNext$0();) - ++count; - return count; - }, - elementAt$1: function (_, index) { - var t1, elementIndex, element; - P.RangeError_checkNotNegative(index, "index"); - for (t1 = this.get$iterator(this), elementIndex = 0; t1.moveNext$0();) { - element = t1.get$current(); - if (index === elementIndex) - return element; - ++elementIndex; - } - throw H.wrapException(P.IndexError$(index, this, "index", null, elementIndex)); - }, - toString$0: function (_) { - return P.IterableBase_iterableToShortString(this, "(", ")"); - } - }; - P.Iterator.prototype = {}; - P.Null.prototype = { - get$hashCode: function (_) { - return P.Object.prototype.get$hashCode.call(C.JSNull_methods, this); - }, - toString$0: function (_) { - return "null"; - } - }; - P.Object.prototype = { - constructor: P.Object, - $isObject: 1, - $eq: function (_, other) { - return this === other; - }, - get$hashCode: function (_) { - return H.Primitives_objectHashCode(this); - }, - toString$0: function (_) { - return "Instance of '" + H.Primitives_objectTypeName(this) + "'"; - }, - noSuchMethod$1: function (_, invocation) { - type$.Invocation._as(invocation); - throw H.wrapException(P.NoSuchMethodError$(this, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments())); - }, - toString: function () { - return this.toString$0(this); - } - }; - P._StringStackTrace.prototype = { - toString$0: function (_) { - return ""; - }, - $isStackTrace: 1 - }; - P.StringBuffer.prototype = { - get$length: function (_) { - return this._contents.length; - }, - toString$0: function (_) { - var t1 = this._contents; - return t1.charCodeAt(0) == 0 ? t1 : t1; - } - }; - W.HtmlElement.prototype = {}; - W.AnchorElement.prototype = { - toString$0: function (receiver) { - return String(receiver); - } - }; - W.AreaElement.prototype = { - toString$0: function (receiver) { - return String(receiver); - } - }; - W.Blob.prototype = { - $isBlob: 1 - }; - W.CanvasElement.prototype = { - set$height: function (receiver, value) { - receiver.height = value; - }, - set$width: function (receiver, value) { - receiver.width = value; - }, - getContext$1: function (receiver, contextId) { - return receiver.getContext(contextId); - } - }; - W.CanvasRenderingContext2D.prototype = { - set$fillStyle: function (receiver, value) { - receiver.fillStyle = value; - }, - $isCanvasRenderingContext2D: 1 - }; - W.CharacterData.prototype = { - get$length: function (receiver) { - return receiver.length; - } - }; - W.Comment.prototype = {}; - W.CssStyleDeclaration.prototype = { - get$length: function (receiver) { - return receiver.length; - } - }; - W.CssStyleDeclarationBase.prototype = {}; - W.DivElement.prototype = { - $isDivElement: 1 - }; - W.DomException.prototype = { - toString$0: function (receiver) { - return String(receiver); - } - }; - W.DomTokenList.prototype = { - get$length: function (receiver) { - return receiver.length; - } - }; - W._FrozenElementList.prototype = { - get$length: function (_) { - return this._nodeList.length; - }, - $index: function (_, index) { - var t1 = this._nodeList; - if (index < 0 || index >= t1.length) - return H.ioore(t1, index); - return this.$ti._precomputed1._as(t1[index]); - } - }; - W.Element.prototype = { - toString$0: function (receiver) { - return receiver.localName; - }, - $isElement: 1 - }; - W.Event.prototype = { - $isEvent: 1 - }; - W.EventTarget.prototype = { - addEventListener$2: function (receiver, type, listener) { - this._addEventListener$3(receiver, type, type$.nullable_dynamic_Function_Event._as(listener), null); - }, - _addEventListener$3: function (receiver, type, listener, options) { - return receiver.addEventListener(type, H.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), options); - } - }; - W.File.prototype = { - $isFile: 1 - }; - W.FormElement.prototype = { - get$length: function (receiver) { - return receiver.length; - } - }; - W.ImageData.prototype = { - $isImageData: 1 - }; - W.Node.prototype = { - toString$0: function (receiver) { - var value = receiver.nodeValue; - return value == null ? this.super$Interceptor$toString(receiver) : value; - }, - set$text: function (receiver, value) { - receiver.textContent = value; - }, - $isNode: 1 - }; - W.NodeList.prototype = { - get$length: function (receiver) { - return receiver.length; - }, - $index: function (receiver, index) { - if (index >>> 0 !== index || index >= receiver.length) - throw H.wrapException(P.IndexError$(index, receiver, null, null, null)); - return receiver[index]; - }, - elementAt$1: function (receiver, index) { - if (index < 0 || index >= receiver.length) - return H.ioore(receiver, index); - return receiver[index]; - }, - $isJavaScriptIndexingBehavior: 1, - $isIterable: 1, - $isList: 1 - }; - W.SelectElement.prototype = { - get$length: function (receiver) { - return receiver.length; - } - }; - W.TableCellElement.prototype = {}; - W.Window.prototype = { - postMessage$2: function (receiver, message, targetOrigin) { - receiver.postMessage(new P._StructuredCloneDart2Js([], []).walk$1(message), targetOrigin); - return; - }, - $isWindow: 1, - $isWindowBase: 1 - }; - W.WorkerGlobalScope.prototype = { - $isWorkerGlobalScope: 1 - }; - W.ImmutableListMixin.prototype = { - get$iterator: function (receiver) { - return new W.FixedSizeListIterator(receiver, receiver.length, H.instanceType(receiver)._eval$1("FixedSizeListIterator")); - } - }; - W.FixedSizeListIterator.prototype = { - moveNext$0: function () { - var _this = this, - nextPosition = _this._position + 1, - t1 = _this._html$_length; - if (nextPosition < t1) { - t1 = _this._array; - if (nextPosition < 0 || nextPosition >= t1.length) - return H.ioore(t1, nextPosition); - _this.set$_html$_current(t1[nextPosition]); - _this._position = nextPosition; - return true; - } - _this.set$_html$_current(null); - _this._position = t1; - return false; - }, - get$current: function () { - return this.$ti._precomputed1._as(this._html$_current); - }, - set$_html$_current: function (_current) { - this._html$_current = this.$ti._eval$1("1?")._as(_current); - }, - $isIterator: 1 - }; - W._DOMWindowCrossFrame.prototype = { - postMessage$2: function (_, message, targetOrigin) { - this._window.postMessage(new P._StructuredCloneDart2Js([], []).walk$1(message), targetOrigin); - }, - $isWindowBase: 1 - }; - W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase.prototype = {}; - W._NodeList_Interceptor_ListMixin.prototype = {}; - W._NodeList_Interceptor_ListMixin_ImmutableListMixin.prototype = {}; - P._StructuredClone.prototype = { - findSlot$1: function (value) { - var i, - t1 = this.values, - $length = t1.length; - for (i = 0; i < $length; ++i) - if (t1[i] === value) - return i; - C.JSArray_methods.add$1(t1, value); - C.JSArray_methods.add$1(this.copies, null); - return $length; - }, - walk$1: function (e) { - var t2, slot, copy, _this = this, - t1 = {}; - if (e == null) - return e; - if (H._isBool(e)) - return e; - if (typeof e == "number") - return e; - if (typeof e == "string") - return e; - if (e instanceof P.DateTime) - return new Date(e._value); - if (type$.RegExp._is(e)) - throw H.wrapException(P.UnimplementedError$("structured clone of RegExp")); - if (type$.File._is(e)) - return e; - if (type$.Blob._is(e)) - return e; - if (type$.ImageData._is(e)) - return e; - t2 = type$.NativeTypedData._is(e) || false; - if (t2) - return e; - if (type$.Map_dynamic_dynamic._is(e)) { - slot = _this.findSlot$1(e); - t2 = _this.copies; - if (slot >= t2.length) - return H.ioore(t2, slot); - copy = t1.copy = t2[slot]; - if (copy != null) - return copy; - copy = {}; - t1.copy = copy; - C.JSArray_methods.$indexSet(t2, slot, copy); - e.forEach$1(0, new P._StructuredClone_walk_closure(t1, _this)); - return t1.copy; - } - if (type$.List_dynamic._is(e)) { - slot = _this.findSlot$1(e); - t1 = _this.copies; - if (slot >= t1.length) - return H.ioore(t1, slot); - copy = t1[slot]; - if (copy != null) - return copy; - return _this.copyList$2(e, slot); - } - if (type$.JSObject._is(e)) { - slot = _this.findSlot$1(e); - t2 = _this.copies; - if (slot >= t2.length) - return H.ioore(t2, slot); - copy = t1.copy = t2[slot]; - if (copy != null) - return copy; - copy = {}; - t1.copy = copy; - C.JSArray_methods.$indexSet(t2, slot, copy); - _this.forEachObjectKey$2(e, new P._StructuredClone_walk_closure0(t1, _this)); - return t1.copy; - } - throw H.wrapException(P.UnimplementedError$("structured clone of other type")); - }, - copyList$2: function (e, slot) { - var i, - t1 = J.getInterceptor$asx(e), - $length = t1.get$length(e), - copy = new Array($length); - C.JSArray_methods.$indexSet(this.copies, slot, copy); - for (i = 0; i < $length; ++i) - C.JSArray_methods.$indexSet(copy, i, this.walk$1(t1.$index(e, i))); - return copy; - } - }; - P._StructuredClone_walk_closure.prototype = { - call$2: function (key, value) { - this._box_0.copy[key] = this.$this.walk$1(value); - }, - $signature: 18 - }; - P._StructuredClone_walk_closure0.prototype = { - call$2: function (key, value) { - this._box_0.copy[key] = this.$this.walk$1(value); - }, - $signature: 19 - }; - P._StructuredCloneDart2Js.prototype = { - forEachObjectKey$2: function (object, action) { - var t1, t2, _i, key; - type$.dynamic_Function_dynamic_dynamic._as(action); - for (t1 = Object.keys(object), t2 = t1.length, _i = 0; _i < t2; ++_i) { - key = t1[_i]; - action.call$2(key, object[key]); - } - } - }; - P.KeyRange.prototype = { - $isKeyRange: 1 - }; - P._convertToJS_closure.prototype = { - call$1: function (o) { - var jsFunction; - type$.Function._as(o); - jsFunction = function (_call, f, captureThis) { - return function () { - return _call(f, captureThis, this, Array.prototype.slice.apply(arguments)); - }; - }(P._callDartFunction, o, false); - P._defineProperty(jsFunction, $.$get$DART_CLOSURE_PROPERTY_NAME(), o); - return jsFunction; - }, - $signature: 2 - }; - P._convertToJS_closure0.prototype = { - call$1: function (o) { - return new this.ctor(o); - }, - $signature: 2 - }; - P._wrapToDart_closure.prototype = { - call$1: function (o) { - return new P.JsFunction(type$.Object._as(o)); - }, - $signature: 20 - }; - P._wrapToDart_closure0.prototype = { - call$1: function (o) { - return new P.JsArray(type$.Object._as(o), type$.JsArray_dynamic); - }, - $signature: 21 - }; - P._wrapToDart_closure1.prototype = { - call$1: function (o) { - return new P.JsObject(type$.Object._as(o)); - }, - $signature: 22 - }; - P.JsObject.prototype = { - $index: function (_, property) { - return P._convertToDart(this._jsObject[property]); - }, - $eq: function (_, other) { - if (other == null) - return false; - return other instanceof P.JsObject && this._jsObject === other._jsObject; - }, - toString$0: function (_) { - var t1, exception; - try { - t1 = String(this._jsObject); - return t1; - } catch (exception) { - H.unwrapException(exception); - t1 = this.super$Object$toString(0); - return t1; - } - }, - callMethod$2: function (method, args) { - var t2, - t1 = this._jsObject; - if (args == null) - t2 = null; - else { - t2 = H._arrayInstanceType(args); - t2 = P.List_List$from(new H.MappedListIterable(args, t2._eval$1("@(1)")._as(P.js___convertToJS$closure()), t2._eval$1("MappedListIterable<1,@>")), type$.dynamic); - } - return P._convertToDart(t1[method].apply(t1, t2)); - }, - get$hashCode: function (_) { - return 0; - } - }; - P.JsFunction.prototype = {}; - P.JsArray.prototype = { - _checkIndex$1: function (index) { - var _this = this, - t1 = index < 0 || index >= _this.get$length(_this); + t1 = true; if (t1) - throw H.wrapException(P.RangeError$range(index, 0, _this.get$length(_this), null, null)); - }, - $index: function (_, index) { - this._checkIndex$1(index); - return this.$ti._precomputed1._as(this.super$JsObject$$index(0, index)); - }, - get$length: function (_) { - var len = this._jsObject.length; - if (typeof len === "number" && len >>> 0 === len) - return len; - throw H.wrapException(P.StateError$("Bad JsArray length")); - }, - $isIterable: 1, - $isList: 1 - }; - P._JsArray_JsObject_ListMixin.prototype = {}; - V.main_closure.prototype = { - call$1: function ($event) { - type$.Event._as($event); - return null; - }, - $signature: 6 - }; - V.main_closure0.prototype = { - call$1: function ($event) { - type$.Event._as($event); - P.print("click"); - }, - $signature: 6 - }; - V.main_closure1.prototype = { - call$1: function (element) { - P.print(H._asDouble(element)); - }, - $signature: 23 - }; - V.main_closure2.prototype = { - call$0: function () { - P.print("\u5ef6\u65f61\u79d2\u6267\u884c"); - }, - "call*": "call$0", - $requiredArgCount: 0, - $signature: 1 - }; - V.main_closure3.prototype = { - call$2: function (key, value) { - H._asString(key); - H._asInt(value); - P.print(key + " : " + value); - }, - $signature: 24 - }; - V.main_closure4.prototype = { - call$1: function (value) { - P.print("\u5ef6\u65f61\u79d2\u6267\u884c then "); - P.print(value); - }, - $signature: 3 - }; - V.main_closure5.prototype = { - call$0: function () { - P.print("closuer"); - }, - $signature: 1 - }; - (function aliases() { - var _ = J.Interceptor.prototype; - _.super$Interceptor$toString = _.toString$0; - _ = J.JavaScriptObject.prototype; - _.super$JavaScriptObject$toString = _.toString$0; - _ = P.Object.prototype; - _.super$Object$toString = _.toString$0; - _ = P.JsObject.prototype; - _.super$JsObject$$index = _.$index; - })(); - (function installTearOffs() { - var _static_1 = hunkHelpers._static_1, - _static_0 = hunkHelpers._static_0; - _static_1(P, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 4); - _static_1(P, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 4); - _static_1(P, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 4); - _static_0(P, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0); - _static_1(P, "js___convertToJS$closure", "_convertToJS", 25); - _static_1(P, "js___convertToDart$closure", "_convertToDart", 26); - })(); - (function inheritance() { - var _mixin = hunkHelpers.mixin, - _inherit = hunkHelpers.inherit, - _inheritMany = hunkHelpers.inheritMany; - _inherit(P.Object, null); - _inheritMany(P.Object, [H.JS_CONST, J.Interceptor, J.ArrayIterator, P.Error, P.Iterable, H.ListIterator, P.Iterator, H.FixedLengthListMixin, H.Symbol, P.MapView, H.ConstantMap, H.JSInvocationMirror, H.Closure, H.TypeErrorDecoder, H.NullThrownFromJavaScriptException, H.ExceptionAndStackTrace, H._StackTrace, H._Required, P.MapMixin, H.LinkedHashMapCell, H.LinkedHashMapKeyIterator, H.JSSyntaxRegExp, H.Rti, H._FunctionParameters, P._TimerImpl, P._AsyncAwaitCompleter, P.AsyncError, P._FutureListener, P._Future, P._AsyncCallbackEntry, P._StreamIterator, P._Zone, P._ListBase_Object_ListMixin, P.ListMixin, P._UnmodifiableMapMixin, P.DateTime, P.Duration, P.StackOverflowError, P._Exception, P.FormatException, P.Null, P._StringStackTrace, P.StringBuffer, W.CssStyleDeclarationBase, W.ImmutableListMixin, W.FixedSizeListIterator, W._DOMWindowCrossFrame, P._StructuredClone, P.JsObject]); - _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JSArray, J.JSNumber, J.JSString, H.NativeTypedData, W.EventTarget, W.Blob, W.CanvasRenderingContext2D, W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase, W.DomException, W.DomTokenList, W.Event, W.ImageData, W._NodeList_Interceptor_ListMixin, P.KeyRange]); - _inheritMany(J.JavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction]); - _inherit(J.JSUnmodifiableArray, J.JSArray); - _inheritMany(J.JSNumber, [J.JSInt, J.JSDouble]); - _inheritMany(P.Error, [H.LateError, P.TypeError, H.JsNoSuchMethodError, H.UnknownJsTypeError, H.RuntimeError, P.AssertionError, H._Error, P.NullThrownError, P.ArgumentError, P.NoSuchMethodError, P.UnsupportedError, P.UnimplementedError, P.StateError, P.ConcurrentModificationError, P.CyclicInitializationError]); - _inheritMany(P.Iterable, [H.EfficientLengthIterable, H.MappedIterable]); - _inheritMany(H.EfficientLengthIterable, [H.ListIterable, H.LinkedHashMapKeyIterable]); - _inheritMany(H.ListIterable, [H.SubListIterable, H.MappedListIterable]); - _inherit(H.EfficientLengthMappedIterable, H.MappedIterable); - _inherit(H.MappedIterator, P.Iterator); - _inherit(P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, P.MapView); - _inherit(P.UnmodifiableMapView, P._UnmodifiableMapView_MapView__UnmodifiableMapMixin); - _inherit(H.ConstantMapView, P.UnmodifiableMapView); - _inherit(H.ConstantStringMap, H.ConstantMap); - _inheritMany(H.Closure, [H.Primitives_functionNoSuchMethod_closure, H.TearOffClosure, H.JsLinkedHashMap_values_closure, H.JsLinkedHashMap_containsValue_closure, H.initHooks_closure, H.initHooks_closure0, H.initHooks_closure1, P._AsyncRun__initializeScheduleImmediate_internalCallback, P._AsyncRun__initializeScheduleImmediate_closure, P._AsyncRun__scheduleImmediateJsOverride_internalCallback, P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, P._TimerImpl_internalCallback, P._awaitOnObject_closure, P._awaitOnObject_closure0, P._wrapJsFunctionForAsync_closure, P.Future_Future$delayed_closure, P._Future__addListener_closure, P._Future__prependListeners_closure, P._Future__chainForeignFuture_closure, P._Future__chainForeignFuture_closure0, P._Future__chainForeignFuture_closure1, P._Future__asyncCompleteWithValue_closure, P._Future__chainFuture_closure, P._Future__asyncCompleteError_closure, P._Future__propagateToListeners_handleWhenCompleteCallback, P._Future__propagateToListeners_handleWhenCompleteCallback_closure, P._Future__propagateToListeners_handleValueCallback, P._Future__propagateToListeners_handleError, P._rootHandleUncaughtError_closure, P._RootZone_bindCallback_closure, P._RootZone_bindCallbackGuarded_closure, P.MapBase_mapToString_closure, P.NoSuchMethodError_toString_closure, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, P._StructuredClone_walk_closure, P._StructuredClone_walk_closure0, P._convertToJS_closure, P._convertToJS_closure0, P._wrapToDart_closure, P._wrapToDart_closure0, P._wrapToDart_closure1, V.main_closure, V.main_closure0, V.main_closure1, V.main_closure2, V.main_closure3, V.main_closure4, V.main_closure5]); - _inherit(H.NullError, P.TypeError); - _inheritMany(H.TearOffClosure, [H.StaticClosure, H.BoundClosure]); - _inherit(H._AssertionError, P.AssertionError); - _inherit(P.MapBase, P.MapMixin); - _inherit(H.JsLinkedHashMap, P.MapBase); - _inherit(H.NativeTypedArray, H.NativeTypedData); - _inheritMany(H.NativeTypedArray, [H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin]); - _inherit(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin); - _inherit(H.NativeTypedArrayOfDouble, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin); - _inherit(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin); - _inherit(H.NativeTypedArrayOfInt, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin); - _inheritMany(H.NativeTypedArrayOfInt, [H.NativeInt16List, H.NativeInt32List, H.NativeInt8List, H.NativeUint16List, H.NativeUint32List, H.NativeUint8ClampedList, H.NativeUint8List]); - _inherit(H._TypeError, H._Error); - _inherit(P._RootZone, P._Zone); - _inherit(P.ListBase, P._ListBase_Object_ListMixin); - _inheritMany(P.ArgumentError, [P.RangeError, P.IndexError]); - _inheritMany(W.EventTarget, [W.Node, W.Window, W.WorkerGlobalScope]); - _inheritMany(W.Node, [W.Element, W.CharacterData]); - _inherit(W.HtmlElement, W.Element); - _inheritMany(W.HtmlElement, [W.AnchorElement, W.AreaElement, W.CanvasElement, W.DivElement, W.FormElement, W.SelectElement, W.TableCellElement]); - _inherit(W.Comment, W.CharacterData); - _inherit(W.CssStyleDeclaration, W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase); - _inherit(W._FrozenElementList, P.ListBase); - _inherit(W.File, W.Blob); - _inherit(W._NodeList_Interceptor_ListMixin_ImmutableListMixin, W._NodeList_Interceptor_ListMixin); - _inherit(W.NodeList, W._NodeList_Interceptor_ListMixin_ImmutableListMixin); - _inherit(P._StructuredCloneDart2Js, P._StructuredClone); - _inheritMany(P.JsObject, [P.JsFunction, P._JsArray_JsObject_ListMixin]); - _inherit(P.JsArray, P._JsArray_JsObject_ListMixin); - _mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, P.ListMixin); - _mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin); - _mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin, P.ListMixin); - _mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin); - _mixin(P._ListBase_Object_ListMixin, P.ListMixin); - _mixin(P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, P._UnmodifiableMapMixin); - _mixin(W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase, W.CssStyleDeclarationBase); - _mixin(W._NodeList_Interceptor_ListMixin, P.ListMixin); - _mixin(W._NodeList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin); - _mixin(P._JsArray_JsObject_ListMixin, P.ListMixin); - })(); - var init = { - typeUniverse: { - eC: new Map(), - tR: {}, - eT: {}, - tPV: {}, - sEA: [] - }, - mangledGlobalNames: { - int: "int", - double: "double", - num: "num", - String: "String", - bool: "bool", - Null: "Null", - List: "List" - }, - mangledNames: {}, - getTypeFromName: getGlobalFromName, - metadata: [], - types: ["~()", "Null()", "@(@)", "Null(@)", "~(~())", "String(int)", "Null(Event)", "~(String,@)", "@(@,String)", "@(String)", "Null(~())", "~(@)", "Null(@,StackTrace)", "~(int,@)", "Null(Object,StackTrace)", "_Future<@>(@)", "~(Object?,Object?)", "~(Symbol0,@)", "~(@,@)", "Null(@,@)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "~(double)", "~(String,int)", "Object?(Object?)", "Object?(@)"], - interceptorsByTag: null, - leafTags: null, - arrayRti: typeof Symbol == "function" && typeof Symbol() == "symbol" ? Symbol("$ti") : "$ti" - }; - H._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"JavaScriptObject","UnknownJavaScriptObject":"JavaScriptObject","JavaScriptFunction":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AElement":"Element","GraphicsElement":"Element","SvgElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","NativeFloat32List":"NativeTypedArrayOfDouble","NativeByteData":"NativeTypedData","JSBool":{"bool":[]},"JSNull":{"Null":[]},"JavaScriptObject":{"JSObject":[],"Function":[]},"JSArray":{"List":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"Iterable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[]},"JSInt":{"double":[],"int":[],"num":[]},"JSDouble":{"double":[],"num":[]},"JSString":{"String":[]},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"Iterable":["1"],"Iterable.E":"1","ListIterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"Iterable":["2"],"Iterable.E":"2","ListIterable.E":"2"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"]},"LinkedHashMapKeyIterable":{"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[]},"NativeTypedData":{"TypedData":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"NativeTypedData":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double"},"NativeTypedArrayOfInt":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeInt16List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt8List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint16List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8ClampedList":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"_Error":{"Error":[]},"_TypeError":{"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_Zone":{"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"ListBase":{"ListMixin":["1"],"List":["1"],"Iterable":["1"]},"MapBase":{"MapMixin":["1","2"],"Map":["1","2"]},"MapMixin":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"double":{"num":[]},"int":{"num":[]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"NullThrownError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"StackOverflowError":{"Error":[]},"CyclicInitializationError":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"HtmlElement":{"Element":[],"Node":[]},"AnchorElement":{"Element":[],"Node":[]},"AreaElement":{"Element":[],"Node":[]},"CanvasElement":{"Element":[],"Node":[]},"CharacterData":{"Node":[]},"Comment":{"Node":[]},"DivElement":{"Element":[],"Node":[]},"_FrozenElementList":{"ListMixin":["1"],"List":["1"],"Iterable":["1"],"ListMixin.E":"1"},"Element":{"Node":[]},"File":{"Blob":[]},"FormElement":{"Element":[],"Node":[]},"NodeList":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"Iterable":["Node"],"ListMixin.E":"Node","ImmutableListMixin.E":"Node"},"SelectElement":{"Element":[],"Node":[]},"TableCellElement":{"Element":[],"Node":[]},"Window":{"WindowBase":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"WindowBase":[]},"JsArray":{"ListMixin":["1"],"List":["1"],"Iterable":["1"],"ListMixin.E":"1"}}')); - H._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"EfficientLengthIterable":1,"NativeTypedArray":1,"ListBase":1,"MapBase":2,"_ListBase_Object_ListMixin":1,"_JsArray_JsObject_ListMixin":1}')); - 0; - var type$ = (function rtii() { - var findType = H.findType; - return { - AsyncError: findType("AsyncError"), - Blob: findType("Blob"), - CanvasRenderingContext2D: findType("CanvasRenderingContext2D"), - ConstantMapView_Symbol_dynamic: findType("ConstantMapView"), - DivElement: findType("DivElement"), - Element: findType("Element"), - Error: findType("Error"), - Event: findType("Event"), - File: findType("File"), - Function: findType("Function"), - Future_dynamic: findType("Future<@>"), - ImageData: findType("ImageData"), - Invocation: findType("Invocation"), - Iterable_dynamic: findType("Iterable<@>"), - JSArray_String: findType("JSArray"), - JSArray_double: findType("JSArray"), - JSArray_dynamic: findType("JSArray<@>"), - JSArray_int: findType("JSArray"), - JSNull: findType("JSNull"), - JSObject: findType("JSObject"), - JavaScriptFunction: findType("JavaScriptFunction"), - JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"), - JsArray_dynamic: findType("JsArray<@>"), - JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap"), - KeyRange: findType("KeyRange"), - List_dynamic: findType("List<@>"), - Map_dynamic_dynamic: findType("Map<@,@>"), - NativeTypedData: findType("NativeTypedData"), - Node: findType("Node"), - Null: findType("Null"), - Null_Function: findType("Null()"), - Object: findType("Object"), - RegExp: findType("RegExp"), - StackTrace: findType("StackTrace"), - String: findType("String"), - Symbol: findType("Symbol0"), - TypedData: findType("TypedData"), - UnknownJavaScriptObject: findType("UnknownJavaScriptObject"), - Window: findType("Window"), - WindowBase: findType("WindowBase"), - WorkerGlobalScope: findType("WorkerGlobalScope"), - _FrozenElementList_Element: findType("_FrozenElementList"), - _Future_dynamic: findType("_Future<@>"), - bool: findType("bool"), - bool_Function_Object: findType("bool(Object)"), - double: findType("double"), - dynamic: findType("@"), - dynamic_Function: findType("@()"), - dynamic_Function_Object: findType("@(Object)"), - dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"), - dynamic_Function_dynamic_dynamic: findType("@(@,@)"), - int: findType("int"), - legacy_Never: findType("0&*"), - legacy_Object: findType("Object*"), - nullable_Future_Null: findType("Future?"), - nullable_Object: findType("Object?"), - nullable__FutureListener_dynamic_dynamic: findType("_FutureListener<@,@>?"), - nullable_dynamic_Function_Event: findType("@(Event)?"), - num: findType("num"), - void: findType("~"), - void_Function: findType("~()") + return H.saveStackTrace(ex, H.NullError$(H._asString(message), match)); + } + } + return H.saveStackTrace(ex, new H.UnknownJsTypeError(typeof message == "string" ? message : "")); + } + if (ex instanceof RangeError) { + if (typeof message == "string" && message.indexOf("call stack") !== -1) + return new P.StackOverflowError(); + message = function(ex) { + try { + return String(ex); + } catch (e) { + } + return null; + }(ex); + return H.saveStackTrace(ex, new P.ArgumentError(false, _null, _null, typeof message == "string" ? message.replace(/^RangeError:\s*/, "") : message)); + } + if (typeof InternalError == "function" && ex instanceof InternalError) + if (typeof message == "string" && message === "too much recursion") + return new P.StackOverflowError(); + return ex; + }, + getTraceFromException: function(exception) { + var trace; + if (exception instanceof H.ExceptionAndStackTrace) + return exception.stackTrace; + if (exception == null) + return new H._StackTrace(exception); + trace = exception.$cachedTrace; + if (trace != null) + return trace; + return exception.$cachedTrace = new H._StackTrace(exception); + }, + fillLiteralMap: function(keyValuePairs, result) { + var index, index0, index1, + $length = keyValuePairs.length; + for (index = 0; index < $length; index = index1) { + index0 = index + 1; + index1 = index0 + 1; + result.$indexSet(0, keyValuePairs[index], keyValuePairs[index0]); + } + return result; + }, + invokeClosure: function(closure, numberOfArguments, arg1, arg2, arg3, arg4) { + type$.Function._as(closure); + switch (H._asInt(numberOfArguments)) { + case 0: + return closure.call$0(); + case 1: + return closure.call$1(arg1); + case 2: + return closure.call$2(arg1, arg2); + case 3: + return closure.call$3(arg1, arg2, arg3); + case 4: + return closure.call$4(arg1, arg2, arg3, arg4); + } + throw H.wrapException(new P._Exception("Unsupported number of arguments for wrapped closure")); + }, + convertDartClosureToJS: function(closure, arity) { + var $function; + if (closure == null) + return null; + $function = closure.$identity; + if (!!$function) + return $function; + $function = function(closure, arity, invoke) { + return function(a1, a2, a3, a4) { + return invoke(closure, arity, a1, a2, a3, a4); }; - })(); - (function constants() { - var makeConstList = hunkHelpers.makeConstList; - C.CanvasElement_methods = W.CanvasElement.prototype; - C.CanvasRenderingContext2D_methods = W.CanvasRenderingContext2D.prototype; - C.Comment_methods = W.Comment.prototype; - C.Interceptor_methods = J.Interceptor.prototype; - C.JSArray_methods = J.JSArray.prototype; - C.JSInt_methods = J.JSInt.prototype; - C.JSNull_methods = J.JSNull.prototype; - C.JSString_methods = J.JSString.prototype; - C.JavaScriptFunction_methods = J.JavaScriptFunction.prototype; - C.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype; - C.TableCellElement_methods = W.TableCellElement.prototype; - C.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype; - C.C_JS_CONST = function getTagFallback(o) { - var s = Object.prototype.toString.call(o); - return s.substring(8, s.length - 1); + }(closure, arity, H.invokeClosure); + closure.$identity = $function; + return $function; + }, + Closure_fromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, propertyName) { + var $constructor, t1, trampoline, applyTrampoline, i, stub, stubCallName, + $function = functions[0], + callName = $function.$callName, + $prototype = isStatic ? Object.create(new H.StaticClosure().constructor.prototype) : Object.create(new H.BoundClosure(null, null, null, "").constructor.prototype); + $prototype.$initialize = $prototype.constructor; + if (isStatic) + $constructor = function static_tear_off() { + this.$initialize(); }; - C.C_JS_CONST0 = function () { - var toStringFunction = Object.prototype.toString; - - function getTag(o) { - var s = toStringFunction.call(o); - return s.substring(8, s.length - 1); - } - - function getUnknownTag(object, tag) { - if (/^HTML[A-Z].*Element$/.test(tag)) { - var name = toStringFunction.call(object); - if (name == "[object Object]") return null; - return "HTMLElement"; - } - } - - function getUnknownTagGenericBrowser(object, tag) { - if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement"; - return getUnknownTag(object, tag); - } - - function prototypeForTag(tag) { - if (typeof window == "undefined") return null; - if (typeof window[tag] == "undefined") return null; - var constructor = window[tag]; - if (typeof constructor != "function") return null; - return constructor.prototype; - } - - function discriminator(tag) { - return null; - } - var isBrowser = typeof navigator == "object"; - return { - getTag: getTag, - getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, - prototypeForTag: prototypeForTag, - discriminator: discriminator + else { + t1 = $.Closure_functionCounter; + if (typeof t1 !== "number") + return t1.$add(); + $.Closure_functionCounter = t1 + 1; + t1 = new Function("a,b,c,d" + t1, "this.$initialize(a,b,c,d" + t1 + ")"); + $constructor = t1; + } + $prototype.constructor = $constructor; + $constructor.prototype = $prototype; + if (!isStatic) { + trampoline = H.Closure_forwardCallTo(receiver, $function, isIntercepted); + trampoline.$reflectionInfo = reflectionInfo; + } else { + $prototype.$static_name = propertyName; + trampoline = $function; + } + type$.Object._as(reflectionInfo); + $prototype.$signature = H.Closure__computeSignatureFunctionNewRti(reflectionInfo, isStatic, isIntercepted); + $prototype[callName] = trampoline; + for (applyTrampoline = trampoline, i = 1; i < functions.length; ++i) { + stub = functions[i]; + stubCallName = stub.$callName; + if (stubCallName != null) { + stub = isStatic ? stub : H.Closure_forwardCallTo(receiver, stub, isIntercepted); + $prototype[stubCallName] = stub; + } + if (i === applyTrampolineIndex) { + stub.$reflectionInfo = reflectionInfo; + applyTrampoline = stub; + } + } + $prototype["call*"] = applyTrampoline; + $prototype.$requiredArgCount = $function.$requiredArgCount; + $prototype.$defaultValues = $function.$defaultValues; + return $constructor; + }, + Closure__computeSignatureFunctionNewRti: function(functionType, isStatic, isIntercepted) { + var typeEvalMethod; + if (typeof functionType == "number") + return function(getType, t) { + return function() { + return getType(t); + }; + }(H.getTypeFromTypesTable, functionType); + if (typeof functionType == "string") { + if (isStatic) + throw H.wrapException("Cannot compute signature for static tearoff."); + typeEvalMethod = isIntercepted ? H.BoundClosure_evalRecipeIntercepted : H.BoundClosure_evalRecipe; + return function(recipe, evalOnReceiver) { + return function() { + return evalOnReceiver(this, recipe); + }; + }(functionType, typeEvalMethod); + } + throw H.wrapException("Error in functionType of tearoff"); + }, + Closure_cspForwardCall: function(arity, isSuperCall, stubName, $function) { + var getSelf = H.BoundClosure_selfOf; + switch (isSuperCall ? -1 : arity) { + case 0: + return function(n, S) { + return function() { + return S(this)[n](); }; - }; - C.C_JS_CONST6 = function (getTagFallback) { - return function (hooks) { - if (typeof navigator != "object") return hooks; - var ua = navigator.userAgent; - if (ua.indexOf("DumpRenderTree") >= 0) return hooks; - if (ua.indexOf("Chrome") >= 0) { - function confirm(p) { - return typeof window == "object" && window[p] && window[p].name == p; - } - if (confirm("Window") && confirm("HTMLElement")) return hooks; - } - hooks.getTag = getTagFallback; + }(stubName, getSelf); + case 1: + return function(n, S) { + return function(a) { + return S(this)[n](a); }; + }(stubName, getSelf); + case 2: + return function(n, S) { + return function(a, b) { + return S(this)[n](a, b); + }; + }(stubName, getSelf); + case 3: + return function(n, S) { + return function(a, b, c) { + return S(this)[n](a, b, c); + }; + }(stubName, getSelf); + case 4: + return function(n, S) { + return function(a, b, c, d) { + return S(this)[n](a, b, c, d); + }; + }(stubName, getSelf); + case 5: + return function(n, S) { + return function(a, b, c, d, e) { + return S(this)[n](a, b, c, d, e); + }; + }(stubName, getSelf); + default: + return function(f, s) { + return function() { + return f.apply(s(this), arguments); + }; + }($function, getSelf); + } + }, + Closure_forwardCallTo: function(receiver, $function, isIntercepted) { + var stubName, arity, lookedUpFunction, t1, t2, selfName, $arguments; + if (isIntercepted) + return H.Closure_forwardInterceptedCallTo(receiver, $function); + stubName = $function.$stubName; + arity = $function.length; + lookedUpFunction = receiver[stubName]; + t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction; + t2 = !t1 || arity >= 27; + if (t2) + return H.Closure_cspForwardCall(arity, !t1, stubName, $function); + if (arity === 0) { + t1 = $.Closure_functionCounter; + if (typeof t1 !== "number") + return t1.$add(); + $.Closure_functionCounter = t1 + 1; + selfName = "self" + t1; + return new Function("return function(){var " + selfName + " = this." + H.BoundClosure_selfFieldName() + ";return " + selfName + "." + H.S(stubName) + "();}")(); + } + $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity).join(","); + t1 = $.Closure_functionCounter; + if (typeof t1 !== "number") + return t1.$add(); + $.Closure_functionCounter = t1 + 1; + $arguments += t1; + return new Function("return function(" + $arguments + "){return this." + H.BoundClosure_selfFieldName() + "." + H.S(stubName) + "(" + $arguments + ");}")(); + }, + Closure_cspForwardInterceptedCall: function(arity, isSuperCall, $name, $function) { + var getSelf = H.BoundClosure_selfOf, + getReceiver = H.BoundClosure_receiverOf; + switch (isSuperCall ? -1 : arity) { + case 0: + throw H.wrapException(new H.RuntimeError("Intercepted function with no arguments.")); + case 1: + return function(n, s, r) { + return function() { + return s(this)[n](r(this)); + }; + }($name, getSelf, getReceiver); + case 2: + return function(n, s, r) { + return function(a) { + return s(this)[n](r(this), a); + }; + }($name, getSelf, getReceiver); + case 3: + return function(n, s, r) { + return function(a, b) { + return s(this)[n](r(this), a, b); + }; + }($name, getSelf, getReceiver); + case 4: + return function(n, s, r) { + return function(a, b, c) { + return s(this)[n](r(this), a, b, c); + }; + }($name, getSelf, getReceiver); + case 5: + return function(n, s, r) { + return function(a, b, c, d) { + return s(this)[n](r(this), a, b, c, d); + }; + }($name, getSelf, getReceiver); + case 6: + return function(n, s, r) { + return function(a, b, c, d, e) { + return s(this)[n](r(this), a, b, c, d, e); + }; + }($name, getSelf, getReceiver); + default: + return function(f, s, r, a) { + return function() { + a = [r(this)]; + Array.prototype.push.apply(a, arguments); + return f.apply(s(this), a); + }; + }($function, getSelf, getReceiver); + } + }, + Closure_forwardInterceptedCallTo: function(receiver, $function) { + var stubName, arity, lookedUpFunction, t1, t2, $arguments, + selfField = H.BoundClosure_selfFieldName(), + receiverField = $.BoundClosure_receiverFieldNameCache; + if (receiverField == null) + receiverField = $.BoundClosure_receiverFieldNameCache = H.BoundClosure_computeFieldNamed("receiver"); + stubName = $function.$stubName; + arity = $function.length; + lookedUpFunction = receiver[stubName]; + t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction; + t2 = !t1 || arity >= 28; + if (t2) + return H.Closure_cspForwardInterceptedCall(arity, !t1, stubName, $function); + if (arity === 1) { + t1 = "return function(){return this." + selfField + "." + H.S(stubName) + "(this." + receiverField + ");"; + t2 = $.Closure_functionCounter; + if (typeof t2 !== "number") + return t2.$add(); + $.Closure_functionCounter = t2 + 1; + return new Function(t1 + t2 + "}")(); + } + $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity - 1).join(","); + t1 = "return function(" + $arguments + "){return this." + selfField + "." + H.S(stubName) + "(this." + receiverField + ", " + $arguments + ");"; + t2 = $.Closure_functionCounter; + if (typeof t2 !== "number") + return t2.$add(); + $.Closure_functionCounter = t2 + 1; + return new Function(t1 + t2 + "}")(); + }, + closureFromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, $name) { + return H.Closure_fromTearOff(receiver, functions, applyTrampolineIndex, reflectionInfo, !!isStatic, !!isIntercepted, $name); + }, + BoundClosure_evalRecipe: function(closure, recipe) { + return H._Universe_evalInEnvironment(init.typeUniverse, H.instanceType(closure._self), recipe); + }, + BoundClosure_evalRecipeIntercepted: function(closure, recipe) { + return H._Universe_evalInEnvironment(init.typeUniverse, H.instanceType(closure._receiver), recipe); + }, + BoundClosure_selfOf: function(closure) { + return closure._self; + }, + BoundClosure_receiverOf: function(closure) { + return closure._receiver; + }, + BoundClosure_selfFieldName: function() { + var t1 = $.BoundClosure_selfFieldNameCache; + return t1 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t1; + }, + BoundClosure_computeFieldNamed: function(fieldName) { + var t1, i, $name, + template = new H.BoundClosure("self", "target", "receiver", "name"), + names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template), type$.nullable_Object); + for (t1 = names.length, i = 0; i < t1; ++i) { + $name = names[i]; + if (template[$name] === fieldName) + return $name; + } + throw H.wrapException(P.ArgumentError$("Field name " + fieldName + " not found.")); + }, + boolConversionCheck: function(value) { + if (value == null) + H.assertThrow("boolean expression must not be null"); + return value; + }, + assertThrow: function(message) { + throw H.wrapException(new H._AssertionError(message)); + }, + throwCyclicInit: function(staticName) { + throw H.wrapException(new P.CyclicInitializationError(staticName)); + }, + getIsolateAffinityTag: function($name) { + return init.getIsolateTag($name); + }, + throwLateInitializationError: function($name) { + return H.throwExpression(new H.LateError($name)); + }, + defineProperty: function(obj, property, value) { + Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true}); + }, + lookupAndCacheInterceptor: function(obj) { + var interceptor, interceptorClass, altTag, mark, t1, + tag = H._asString($.getTagFunction.call$1(obj)), + record = $.dispatchRecordsForInstanceTags[tag]; + if (record != null) { + Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + return record.i; + } + interceptor = $.interceptorsForUncacheableTags[tag]; + if (interceptor != null) + return interceptor; + interceptorClass = init.interceptorsByTag[tag]; + if (interceptorClass == null) { + altTag = H._asStringQ($.alternateTagFunction.call$2(obj, tag)); + if (altTag != null) { + record = $.dispatchRecordsForInstanceTags[altTag]; + if (record != null) { + Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + return record.i; + } + interceptor = $.interceptorsForUncacheableTags[altTag]; + if (interceptor != null) + return interceptor; + interceptorClass = init.interceptorsByTag[altTag]; + tag = altTag; + } + } + if (interceptorClass == null) + return null; + interceptor = interceptorClass.prototype; + mark = tag[0]; + if (mark === "!") { + record = H.makeLeafDispatchRecord(interceptor); + $.dispatchRecordsForInstanceTags[tag] = record; + Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + return record.i; + } + if (mark === "~") { + $.interceptorsForUncacheableTags[tag] = interceptor; + return interceptor; + } + if (mark === "-") { + t1 = H.makeLeafDispatchRecord(interceptor); + Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true}); + return t1.i; + } + if (mark === "+") + return H.patchInteriorProto(obj, interceptor); + if (mark === "*") + throw H.wrapException(P.UnimplementedError$(tag)); + if (init.leafTags[tag] === true) { + t1 = H.makeLeafDispatchRecord(interceptor); + Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true}); + return t1.i; + } else + return H.patchInteriorProto(obj, interceptor); + }, + patchInteriorProto: function(obj, interceptor) { + var proto = Object.getPrototypeOf(obj); + Object.defineProperty(proto, init.dispatchPropertyName, {value: J.makeDispatchRecord(interceptor, proto, null, null), enumerable: false, writable: true, configurable: true}); + return interceptor; + }, + makeLeafDispatchRecord: function(interceptor) { + return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior); + }, + makeDefaultDispatchRecord: function(tag, interceptorClass, proto) { + var interceptor = interceptorClass.prototype; + if (init.leafTags[tag] === true) + return H.makeLeafDispatchRecord(interceptor); + else + return J.makeDispatchRecord(interceptor, proto, null, null); + }, + initNativeDispatch: function() { + if (true === $.initNativeDispatchFlag) + return; + $.initNativeDispatchFlag = true; + H.initNativeDispatchContinue(); + }, + initNativeDispatchContinue: function() { + var map, tags, fun, i, tag, proto, record, interceptorClass; + $.dispatchRecordsForInstanceTags = Object.create(null); + $.interceptorsForUncacheableTags = Object.create(null); + H.initHooks(); + map = init.interceptorsByTag; + tags = Object.getOwnPropertyNames(map); + if (typeof window != "undefined") { + window; + fun = function() { }; - C.C_JS_CONST1 = function (hooks) { - if (typeof dartExperimentalFixupGetTag != "function") return hooks; - hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); - }; - C.C_JS_CONST2 = function (hooks) { - var getTag = hooks.getTag; - var prototypeForTag = hooks.prototypeForTag; - - function getTagFixed(o) { - var tag = getTag(o); - if (tag == "Document") { - if (!!o.xmlVersion) return "!Document"; - return "!HTMLDocument"; - } - return tag; + for (i = 0; i < tags.length; ++i) { + tag = tags[i]; + proto = $.prototypeForTagFunction.call$1(tag); + if (proto != null) { + record = H.makeDefaultDispatchRecord(tag, map[tag], proto); + if (record != null) { + Object.defineProperty(proto, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + fun.prototype = proto; } - - function prototypeForTagFixed(tag) { - if (tag == "Document") return null; - return prototypeForTag(tag); - } - hooks.getTag = getTagFixed; - hooks.prototypeForTag = prototypeForTagFixed; - }; - C.C_JS_CONST5 = function (hooks) { - var userAgent = typeof navigator == "object" ? navigator.userAgent : ""; - if (userAgent.indexOf("Firefox") == -1) return hooks; - var getTag = hooks.getTag; - var quickMap = { - "BeforeUnloadEvent": "Event", - "DataTransfer": "Clipboard", - "GeoGeolocation": "Geolocation", - "Location": "!Location", - "WorkerMessageEvent": "MessageEvent", - "XMLDocument": "!Document" - }; - - function getTagFirefox(o) { - var tag = getTag(o); - return quickMap[tag] || tag; - } - hooks.getTag = getTagFirefox; - }; - C.C_JS_CONST4 = function (hooks) { - var userAgent = typeof navigator == "object" ? navigator.userAgent : ""; - if (userAgent.indexOf("Trident/") == -1) return hooks; - var getTag = hooks.getTag; - var quickMap = { - "BeforeUnloadEvent": "Event", - "DataTransfer": "Clipboard", - "HTMLDDElement": "HTMLElement", - "HTMLDTElement": "HTMLElement", - "HTMLPhraseElement": "HTMLElement", - "Position": "Geoposition" - }; - - function getTagIE(o) { - var tag = getTag(o); - var newTag = quickMap[tag]; - if (newTag) return newTag; - if (tag == "Object") { - if (window.DataView && (o instanceof window.DataView)) return "DataView"; - } - return tag; - } - - function prototypeForTagIE(tag) { - var constructor = window[tag]; - if (constructor == null) return null; - return constructor.prototype; - } - hooks.getTag = getTagIE; - hooks.prototypeForTag = prototypeForTagIE; - }; - C.C_JS_CONST3 = function (hooks) { - return hooks; - }; - C.C__Required = new H._Required(); - C.C__RootZone = new P._RootZone(); - C.C__StringStackTrace = new P._StringStackTrace(); - C.Duration_0 = new P.Duration(0); - C.List_empty = H.setRuntimeTypeInfo(makeConstList([]), type$.JSArray_dynamic); - C.List_empty0 = H.setRuntimeTypeInfo(makeConstList([]), H.findType("JSArray")); - C.Map_empty = new H.ConstantStringMap(0, {}, C.List_empty0, H.findType("ConstantStringMap")); - C.Symbol_call = new H.Symbol("call"); - })(); - (function staticFields() { - $._JS_INTEROP_INTERCEPTOR_TAG = null; - $.Closure_functionCounter = 0; - $.BoundClosure_selfFieldNameCache = null; - $.BoundClosure_receiverFieldNameCache = null; - $.getTagFunction = null; - $.alternateTagFunction = null; - $.prototypeForTagFunction = null; - $.dispatchRecordsForInstanceTags = null; - $.interceptorsForUncacheableTags = null; - $.initNativeDispatchFlag = null; - $._nextCallback = null; - $._lastCallback = null; - $._lastPriorityCallback = null; - $._isInCallbackLoop = false; - $.Zone__current = C.C__RootZone; - $._toStringVisiting = H.setRuntimeTypeInfo([], H.findType("JSArray")); - })(); - (function lazyInitializers() { - var _lazyFinal = hunkHelpers.lazyFinal, - _lazy = hunkHelpers.lazy; - _lazyFinal($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", function () { - return H.getIsolateAffinityTag("_$dart_dartClosure"); - }); - _lazyFinal($, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethodPattern", function () { - return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({ - toString: function () { - return "$receiver$"; - } - })); - }); - _lazyFinal($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", function () { - return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({ - $method$: null, - toString: function () { - return "$receiver$"; - } - })); - }); - _lazyFinal($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", function () { - return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(null)); - }); - _lazyFinal($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", function () { - return H.TypeErrorDecoder_extractPattern(function () { - var $argumentsExpr$ = "$arguments$"; - try { - null.$method$($argumentsExpr$); - } catch (e) { - return e.message; - } - }()); - }); - _lazyFinal($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", function () { - return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(void 0)); - }); - _lazyFinal($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", function () { - return H.TypeErrorDecoder_extractPattern(function () { - var $argumentsExpr$ = "$arguments$"; - try { - (void 0).$method$($argumentsExpr$); - } catch (e) { - return e.message; - } - }()); - }); - _lazyFinal($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", function () { - return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(null)); - }); - _lazyFinal($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", function () { - return H.TypeErrorDecoder_extractPattern(function () { - try { - null.$method$; - } catch (e) { - return e.message; - } - }()); - }); - _lazyFinal($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", function () { - return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(void 0)); - }); - _lazyFinal($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", function () { - return H.TypeErrorDecoder_extractPattern(function () { - try { - (void 0).$method$; - } catch (e) { - return e.message; - } - }()); - }); - _lazyFinal($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", function () { - return P._AsyncRun__initializeScheduleImmediate(); - }); - _lazyFinal($, "_context", "$get$_context", function () { - return P._wrapToDart(self); - }); - _lazyFinal($, "_DART_OBJECT_PROPERTY_NAME", "$get$_DART_OBJECT_PROPERTY_NAME", function () { - return H.getIsolateAffinityTag("_$dart_dartObject"); - }); - _lazyFinal($, "_dartProxyCtor", "$get$_dartProxyCtor", function () { - return function DartObject(o) { - this.o = o; - }; - }); - _lazy($, "Dt_at", "$get$Dt_at", function () { - return "@"; - }); - })(); - (function nativeSupport() { - ! function () { - var intern = function (s) { - var o = {}; - o[s] = 1; - return Object.keys(hunkHelpers.convertToFastObject(o))[0]; - }; - init.getIsolateTag = function (name) { - return intern("___dart_" + name + init.isolateTag); - }; - var tableProperty = "___dart_isolate_tags_"; - var usedProperties = Object[tableProperty] || (Object[tableProperty] = Object.create(null)); - var rootProperty = "_ZxYxX"; - for (var i = 0;; i++) { - var property = intern(rootProperty + "_" + i + "_"); - if (!(property in usedProperties)) { - usedProperties[property] = 1; - init.isolateTag = property; + } + } + } + for (i = 0; i < tags.length; ++i) { + tag = tags[i]; + if (/^[A-Za-z_]/.test(tag)) { + interceptorClass = map[tag]; + map["!" + tag] = interceptorClass; + map["~" + tag] = interceptorClass; + map["-" + tag] = interceptorClass; + map["+" + tag] = interceptorClass; + map["*" + tag] = interceptorClass; + } + } + }, + initHooks: function() { + var transformers, i, transformer, getTag, getUnknownTag, prototypeForTag, + hooks = C.C_JS_CONST0(); + hooks = H.applyHooksTransformer(C.C_JS_CONST1, H.applyHooksTransformer(C.C_JS_CONST2, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST4, H.applyHooksTransformer(C.C_JS_CONST5, H.applyHooksTransformer(C.C_JS_CONST6(C.C_JS_CONST), hooks))))))); + if (typeof dartNativeDispatchHooksTransformer != "undefined") { + transformers = dartNativeDispatchHooksTransformer; + if (typeof transformers == "function") + transformers = [transformers]; + if (transformers.constructor == Array) + for (i = 0; i < transformers.length; ++i) { + transformer = transformers[i]; + if (typeof transformer == "function") + hooks = transformer(hooks) || hooks; + } + } + getTag = hooks.getTag; + getUnknownTag = hooks.getUnknownTag; + prototypeForTag = hooks.prototypeForTag; + $.getTagFunction = new H.initHooks_closure(getTag); + $.alternateTagFunction = new H.initHooks_closure0(getUnknownTag); + $.prototypeForTagFunction = new H.initHooks_closure1(prototypeForTag); + }, + applyHooksTransformer: function(transformer, hooks) { + return transformer(hooks) || hooks; + }, + JSSyntaxRegExp_makeNative: function(source, multiLine, caseSensitive, unicode, dotAll, global) { + var m = multiLine ? "m" : "", + i = caseSensitive ? "" : "i", + u = unicode ? "u" : "", + s = dotAll ? "s" : "", + g = global ? "g" : "", + regexp = function(source, modifiers) { + try { + return new RegExp(source, modifiers); + } catch (e) { + return e; + } + }(source, m + i + u + s + g); + if (regexp instanceof RegExp) + return regexp; + throw H.wrapException(new P.FormatException("Illegal RegExp pattern (" + String(regexp) + ")", source)); + }, + quoteStringForRegExp: function(string) { + if (/[[\]{}()*+?.\\^$|]/.test(string)) + return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&"); + return string; + }, + ConstantMapView: function ConstantMapView(t0, t1) { + this._collection$_map = t0; + this.$ti = t1; + }, + ConstantMap: function ConstantMap() { + }, + ConstantStringMap: function ConstantStringMap(t0, t1, t2, t3) { + var _ = this; + _._length = t0; + _.__js_helper$_jsObject = t1; + _._keys = t2; + _.$ti = t3; + }, + JSInvocationMirror: function JSInvocationMirror(t0, t1, t2, t3, t4) { + var _ = this; + _._memberName = t0; + _.__js_helper$_kind = t1; + _._arguments = t2; + _._namedArgumentNames = t3; + _._typeArgumentCount = t4; + }, + Primitives_functionNoSuchMethod_closure: function Primitives_functionNoSuchMethod_closure(t0, t1, t2) { + this._box_0 = t0; + this.namedArgumentList = t1; + this.$arguments = t2; + }, + TypeErrorDecoder: function TypeErrorDecoder(t0, t1, t2, t3, t4, t5) { + var _ = this; + _._pattern = t0; + _._arguments = t1; + _._argumentsExpr = t2; + _._expr = t3; + _._method = t4; + _._receiver = t5; + }, + NullError: function NullError(t0, t1) { + this.__js_helper$_message = t0; + this._method = t1; + }, + JsNoSuchMethodError: function JsNoSuchMethodError(t0, t1, t2) { + this.__js_helper$_message = t0; + this._method = t1; + this._receiver = t2; + }, + UnknownJsTypeError: function UnknownJsTypeError(t0) { + this.__js_helper$_message = t0; + }, + NullThrownFromJavaScriptException: function NullThrownFromJavaScriptException(t0) { + this._irritant = t0; + }, + ExceptionAndStackTrace: function ExceptionAndStackTrace(t0, t1) { + this.dartException = t0; + this.stackTrace = t1; + }, + _StackTrace: function _StackTrace(t0) { + this._exception = t0; + this._trace = null; + }, + Closure: function Closure() { + }, + TearOffClosure: function TearOffClosure() { + }, + StaticClosure: function StaticClosure() { + }, + BoundClosure: function BoundClosure(t0, t1, t2, t3) { + var _ = this; + _._self = t0; + _._target = t1; + _._receiver = t2; + _._name = t3; + }, + RuntimeError: function RuntimeError(t0) { + this.message = t0; + }, + _AssertionError: function _AssertionError(t0) { + this.message = t0; + }, + _Required: function _Required() { + }, + JsLinkedHashMap: function JsLinkedHashMap(t0) { + var _ = this; + _._length = 0; + _._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null; + _._modifications = 0; + _.$ti = t0; + }, + JsLinkedHashMap_values_closure: function JsLinkedHashMap_values_closure(t0) { + this.$this = t0; + }, + JsLinkedHashMap_containsValue_closure: function JsLinkedHashMap_containsValue_closure(t0, t1) { + this.$this = t0; + this.value = t1; + }, + LinkedHashMapCell: function LinkedHashMapCell(t0, t1) { + var _ = this; + _.hashMapCellKey = t0; + _.hashMapCellValue = t1; + _._previous = _._next = null; + }, + LinkedHashMapKeyIterable: function LinkedHashMapKeyIterable(t0, t1) { + this._map = t0; + this.$ti = t1; + }, + LinkedHashMapKeyIterator: function LinkedHashMapKeyIterator(t0, t1, t2) { + var _ = this; + _._map = t0; + _._modifications = t1; + _.__js_helper$_current = _._cell = null; + _.$ti = t2; + }, + initHooks_closure: function initHooks_closure(t0) { + this.getTag = t0; + }, + initHooks_closure0: function initHooks_closure0(t0) { + this.getUnknownTag = t0; + }, + initHooks_closure1: function initHooks_closure1(t0) { + this.prototypeForTag = t0; + }, + JSSyntaxRegExp: function JSSyntaxRegExp(t0, t1) { + var _ = this; + _.pattern = t0; + _._nativeRegExp = t1; + _._nativeAnchoredRegExp = _._nativeGlobalRegExp = null; + }, + _checkValidIndex: function(index, list, $length) { + if (index >>> 0 !== index || index >= $length) + throw H.wrapException(H.diagnoseIndexError(list, index)); + }, + NativeTypedData: function NativeTypedData() { + }, + NativeTypedArray: function NativeTypedArray() { + }, + NativeTypedArrayOfDouble: function NativeTypedArrayOfDouble() { + }, + NativeTypedArrayOfInt: function NativeTypedArrayOfInt() { + }, + NativeInt16List: function NativeInt16List() { + }, + NativeInt32List: function NativeInt32List() { + }, + NativeInt8List: function NativeInt8List() { + }, + NativeUint16List: function NativeUint16List() { + }, + NativeUint32List: function NativeUint32List() { + }, + NativeUint8ClampedList: function NativeUint8ClampedList() { + }, + NativeUint8List: function NativeUint8List() { + }, + _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin() { + }, + _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin() { + }, + _NativeTypedArrayOfInt_NativeTypedArray_ListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin() { + }, + _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() { + }, + Rti__getQuestionFromStar: function(universe, rti) { + var question = rti._precomputed1; + return question == null ? rti._precomputed1 = H._Universe__lookupQuestionRti(universe, rti._primary, true) : question; + }, + Rti__getFutureFromFutureOr: function(universe, rti) { + var future = rti._precomputed1; + return future == null ? rti._precomputed1 = H._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]) : future; + }, + Rti__isUnionOfFunctionType: function(rti) { + var kind = rti._kind; + if (kind === 6 || kind === 7 || kind === 8) + return H.Rti__isUnionOfFunctionType(rti._primary); + return kind === 11 || kind === 12; + }, + Rti__getCanonicalRecipe: function(rti) { + return rti._canonicalRecipe; + }, + findType: function(recipe) { + return H._Universe_eval(init.typeUniverse, recipe, false); + }, + _substitute: function(universe, rti, typeArguments, depth) { + var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument, + kind = rti._kind; + switch (kind) { + case 5: + case 1: + case 2: + case 3: + case 4: + return rti; + case 6: + baseType = rti._primary; + substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth); + if (substitutedBaseType === baseType) + return rti; + return H._Universe__lookupStarRti(universe, substitutedBaseType, true); + case 7: + baseType = rti._primary; + substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth); + if (substitutedBaseType === baseType) + return rti; + return H._Universe__lookupQuestionRti(universe, substitutedBaseType, true); + case 8: + baseType = rti._primary; + substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth); + if (substitutedBaseType === baseType) + return rti; + return H._Universe__lookupFutureOrRti(universe, substitutedBaseType, true); + case 9: + interfaceTypeArguments = rti._rest; + substitutedInterfaceTypeArguments = H._substituteArray(universe, interfaceTypeArguments, typeArguments, depth); + if (substitutedInterfaceTypeArguments === interfaceTypeArguments) + return rti; + return H._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments); + case 10: + base = rti._primary; + substitutedBase = H._substitute(universe, base, typeArguments, depth); + $arguments = rti._rest; + substitutedArguments = H._substituteArray(universe, $arguments, typeArguments, depth); + if (substitutedBase === base && substitutedArguments === $arguments) + return rti; + return H._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments); + case 11: + returnType = rti._primary; + substitutedReturnType = H._substitute(universe, returnType, typeArguments, depth); + functionParameters = rti._rest; + substitutedFunctionParameters = H._substituteFunctionParameters(universe, functionParameters, typeArguments, depth); + if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters) + return rti; + return H._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters); + case 12: + bounds = rti._rest; + depth += bounds.length; + substitutedBounds = H._substituteArray(universe, bounds, typeArguments, depth); + base = rti._primary; + substitutedBase = H._substitute(universe, base, typeArguments, depth); + if (substitutedBounds === bounds && substitutedBase === base) + return rti; + return H._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true); + case 13: + index = rti._primary; + if (index < depth) + return rti; + argument = typeArguments[index - depth]; + if (argument == null) + return rti; + return argument; + default: + throw H.wrapException(P.AssertionError$("Attempted to substitute unexpected RTI kind " + kind)); + } + }, + _substituteArray: function(universe, rtiArray, typeArguments, depth) { + var changed, i, rti, substitutedRti, + $length = rtiArray.length, + result = []; + for (changed = false, i = 0; i < $length; ++i) { + rti = rtiArray[i]; + substitutedRti = H._substitute(universe, rti, typeArguments, depth); + if (substitutedRti !== rti) + changed = true; + result.push(substitutedRti); + } + return changed ? result : rtiArray; + }, + _substituteNamed: function(universe, namedArray, typeArguments, depth) { + var changed, i, t1, t2, rti, substitutedRti, + $length = namedArray.length, + result = []; + for (changed = false, i = 0; i < $length; i += 3) { + t1 = namedArray[i]; + t2 = namedArray[i + 1]; + rti = namedArray[i + 2]; + substitutedRti = H._substitute(universe, rti, typeArguments, depth); + if (substitutedRti !== rti) + changed = true; + result.push(t1); + result.push(t2); + result.push(substitutedRti); + } + return changed ? result : namedArray; + }, + _substituteFunctionParameters: function(universe, functionParameters, typeArguments, depth) { + var result, + requiredPositional = functionParameters._requiredPositional, + substitutedRequiredPositional = H._substituteArray(universe, requiredPositional, typeArguments, depth), + optionalPositional = functionParameters._optionalPositional, + substitutedOptionalPositional = H._substituteArray(universe, optionalPositional, typeArguments, depth), + named = functionParameters._named, + substitutedNamed = H._substituteNamed(universe, named, typeArguments, depth); + if (substitutedRequiredPositional === requiredPositional && substitutedOptionalPositional === optionalPositional && substitutedNamed === named) + return functionParameters; + result = new H._FunctionParameters(); + result._requiredPositional = substitutedRequiredPositional; + result._optionalPositional = substitutedOptionalPositional; + result._named = substitutedNamed; + return result; + }, + setRuntimeTypeInfo: function(target, rti) { + target[init.arrayRti] = rti; + return target; + }, + closureFunctionType: function(closure) { + var signature = closure.$signature; + if (signature != null) { + if (typeof signature == "number") + return H.getTypeFromTypesTable(signature); + return closure.$signature(); + } + return null; + }, + instanceOrFunctionType: function(object, testRti) { + var rti; + if (H.Rti__isUnionOfFunctionType(testRti)) + if (object instanceof H.Closure) { + rti = H.closureFunctionType(object); + if (rti != null) + return rti; + } + return H.instanceType(object); + }, + instanceType: function(object) { + var rti; + if (object instanceof P.Object) { + rti = object.$ti; + return rti != null ? rti : H._instanceTypeFromConstructor(object); + } + if (Array.isArray(object)) + return H._arrayInstanceType(object); + return H._instanceTypeFromConstructor(J.getInterceptor$(object)); + }, + _arrayInstanceType: function(object) { + var rti = object[init.arrayRti], + defaultRti = type$.JSArray_dynamic; + if (rti == null) + return defaultRti; + if (rti.constructor !== defaultRti.constructor) + return defaultRti; + return rti; + }, + _instanceType: function(object) { + var rti = object.$ti; + return rti != null ? rti : H._instanceTypeFromConstructor(object); + }, + _instanceTypeFromConstructor: function(instance) { + var $constructor = instance.constructor, + probe = $constructor.$ccache; + if (probe != null) + return probe; + return H._instanceTypeFromConstructorMiss(instance, $constructor); + }, + _instanceTypeFromConstructorMiss: function(instance, $constructor) { + var effectiveConstructor = instance instanceof H.Closure ? instance.__proto__.__proto__.constructor : $constructor, + rti = H._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name); + $constructor.$ccache = rti; + return rti; + }, + getTypeFromTypesTable: function(index) { + var table, type, rti; + H._asInt(index); + table = init.types; + type = table[index]; + if (typeof type == "string") { + rti = H._Universe_eval(init.typeUniverse, type, false); + table[index] = rti; + return rti; + } + return type; + }, + _installSpecializedIsTest: function(object) { + var t1, unstarred, isFn, testRti = this; + if (testRti === type$.Object) + return H._finishIsFn(testRti, object, H._isObject); + if (!H.isStrongTopType(testRti)) + if (!(testRti === type$.legacy_Object)) + t1 = false; + else + t1 = true; + else + t1 = true; + if (t1) + return H._finishIsFn(testRti, object, H._isTop); + t1 = testRti._kind; + unstarred = t1 === 6 ? testRti._primary : testRti; + if (unstarred === type$.int) + isFn = H._isInt; + else if (unstarred === type$.double || unstarred === type$.num) + isFn = H._isNum; + else if (unstarred === type$.String) + isFn = H._isString; + else + isFn = unstarred === type$.bool ? H._isBool : null; + if (isFn != null) + return H._finishIsFn(testRti, object, isFn); + if (unstarred._kind === 9) { + t1 = unstarred._primary; + if (unstarred._rest.every(H.isTopType)) { + testRti._specializedTestResource = "$is" + t1; + return H._finishIsFn(testRti, object, H._isTestViaProperty); + } + } else if (t1 === 7) + return H._finishIsFn(testRti, object, H._generalNullableIsTestImplementation); + return H._finishIsFn(testRti, object, H._generalIsTestImplementation); + }, + _finishIsFn: function(testRti, object, isFn) { + testRti._is = isFn; + return testRti._is(object); + }, + _installSpecializedAsCheck: function(object) { + var t1, testRti = this, + asFn = H._generalAsCheckImplementation; + if (!H.isStrongTopType(testRti)) + if (!(testRti === type$.legacy_Object)) + t1 = false; + else + t1 = true; + else + t1 = true; + if (t1) + asFn = H._asTop; + else if (testRti === type$.Object) + asFn = H._asObject; + else { + t1 = H.isNullable(testRti); + if (t1) + asFn = H._generalNullableAsCheckImplementation; + } + testRti._as = asFn; + return testRti._as(object); + }, + _nullIs: function(testRti) { + var t1, + kind = testRti._kind; + if (!H.isStrongTopType(testRti)) + if (!(testRti === type$.legacy_Object)) + if (!(testRti === type$.legacy_Never)) + if (kind !== 7) + t1 = kind === 8 && H._nullIs(testRti._primary) || testRti === type$.Null || testRti === type$.JSNull; + else + t1 = true; + else + t1 = true; + else + t1 = true; + else + t1 = true; + return t1; + }, + _generalIsTestImplementation: function(object) { + var testRti = this; + if (object == null) + return H._nullIs(testRti); + return H._isSubtype(init.typeUniverse, H.instanceOrFunctionType(object, testRti), null, testRti, null); + }, + _generalNullableIsTestImplementation: function(object) { + if (object == null) + return true; + return this._primary._is(object); + }, + _isTestViaProperty: function(object) { + var tag, testRti = this; + if (object == null) + return H._nullIs(testRti); + tag = testRti._specializedTestResource; + if (object instanceof P.Object) + return !!object[tag]; + return !!J.getInterceptor$(object)[tag]; + }, + _generalAsCheckImplementation: function(object) { + var t1, testRti = this; + if (object == null) { + t1 = H.isNullable(testRti); + if (t1) + return object; + } else if (testRti._is(object)) + return object; + H._failedAsCheck(object, testRti); + }, + _generalNullableAsCheckImplementation: function(object) { + var testRti = this; + if (object == null) + return object; + else if (testRti._is(object)) + return object; + H._failedAsCheck(object, testRti); + }, + _failedAsCheck: function(object, testRti) { + throw H.wrapException(H._TypeError$fromMessage(H._Error_compose(object, H.instanceOrFunctionType(object, testRti), H._rtiToString(testRti, null)))); + }, + checkTypeBound: function(type, bound, variable, methodName) { + var _null = null; + if (H._isSubtype(init.typeUniverse, type, _null, bound, _null)) + return type; + throw H.wrapException(H._TypeError$fromMessage("The type argument '" + H._rtiToString(type, _null) + "' is not a subtype of the type variable bound '" + H._rtiToString(bound, _null) + "' of type variable '" + variable + "' in '" + methodName + "'.")); + }, + _Error_compose: function(object, objectRti, checkedTypeDescription) { + var objectDescription = P.Error_safeToString(object), + objectTypeDescription = H._rtiToString(objectRti == null ? H.instanceType(object) : objectRti, null); + return objectDescription + ": type '" + objectTypeDescription + "' is not a subtype of type '" + checkedTypeDescription + "'"; + }, + _TypeError$fromMessage: function(message) { + return new H._TypeError("TypeError: " + message); + }, + _TypeError__TypeError$forType: function(object, type) { + return new H._TypeError("TypeError: " + H._Error_compose(object, null, type)); + }, + _isObject: function(object) { + return object != null; + }, + _asObject: function(object) { + if (object != null) + return object; + throw H.wrapException(H._TypeError__TypeError$forType(object, "Object")); + }, + _isTop: function(object) { + return true; + }, + _asTop: function(object) { + return object; + }, + _isBool: function(object) { + return true === object || false === object; + }, + _asBool: function(object) { + if (true === object) + return true; + if (false === object) + return false; + throw H.wrapException(H._TypeError__TypeError$forType(object, "bool")); + }, + _asBoolS: function(object) { + if (true === object) + return true; + if (false === object) + return false; + if (object == null) + return object; + throw H.wrapException(H._TypeError__TypeError$forType(object, "bool")); + }, + _asBoolQ: function(object) { + if (true === object) + return true; + if (false === object) + return false; + if (object == null) + return object; + throw H.wrapException(H._TypeError__TypeError$forType(object, "bool?")); + }, + _asDouble: function(object) { + if (typeof object == "number") + return object; + throw H.wrapException(H._TypeError__TypeError$forType(object, "double")); + }, + _asDoubleS: function(object) { + if (typeof object == "number") + return object; + if (object == null) + return object; + throw H.wrapException(H._TypeError__TypeError$forType(object, "double")); + }, + _asDoubleQ: function(object) { + if (typeof object == "number") + return object; + if (object == null) + return object; + throw H.wrapException(H._TypeError__TypeError$forType(object, "double?")); + }, + _isInt: function(object) { + return typeof object == "number" && Math.floor(object) === object; + }, + _asInt: function(object) { + if (typeof object == "number" && Math.floor(object) === object) + return object; + throw H.wrapException(H._TypeError__TypeError$forType(object, "int")); + }, + _asIntS: function(object) { + if (typeof object == "number" && Math.floor(object) === object) + return object; + if (object == null) + return object; + throw H.wrapException(H._TypeError__TypeError$forType(object, "int")); + }, + _asIntQ: function(object) { + if (typeof object == "number" && Math.floor(object) === object) + return object; + if (object == null) + return object; + throw H.wrapException(H._TypeError__TypeError$forType(object, "int?")); + }, + _isNum: function(object) { + return typeof object == "number"; + }, + _asNum: function(object) { + if (typeof object == "number") + return object; + throw H.wrapException(H._TypeError__TypeError$forType(object, "num")); + }, + _asNumS: function(object) { + if (typeof object == "number") + return object; + if (object == null) + return object; + throw H.wrapException(H._TypeError__TypeError$forType(object, "num")); + }, + _asNumQ: function(object) { + if (typeof object == "number") + return object; + if (object == null) + return object; + throw H.wrapException(H._TypeError__TypeError$forType(object, "num?")); + }, + _isString: function(object) { + return typeof object == "string"; + }, + _asString: function(object) { + if (typeof object == "string") + return object; + throw H.wrapException(H._TypeError__TypeError$forType(object, "String")); + }, + _asStringS: function(object) { + if (typeof object == "string") + return object; + if (object == null) + return object; + throw H.wrapException(H._TypeError__TypeError$forType(object, "String")); + }, + _asStringQ: function(object) { + if (typeof object == "string") + return object; + if (object == null) + return object; + throw H.wrapException(H._TypeError__TypeError$forType(object, "String?")); + }, + _rtiArrayToString: function(array, genericContext) { + var s, sep, i; + for (s = "", sep = "", i = 0; i < array.length; ++i, sep = ", ") + s += sep + H._rtiToString(array[i], genericContext); + return s; + }, + _functionRtiToString: function(functionType, genericContext, bounds) { + var boundsLength, outerContextLength, offset, i, t1, t2, typeParametersText, typeSep, t3, t4, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", "; + if (bounds != null) { + boundsLength = bounds.length; + if (genericContext == null) { + genericContext = H.setRuntimeTypeInfo([], type$.JSArray_String); + outerContextLength = null; + } else + outerContextLength = genericContext.length; + offset = genericContext.length; + for (i = boundsLength; i > 0; --i) + C.JSArray_methods.add$1(genericContext, "T" + (offset + i)); + for (t1 = type$.nullable_Object, t2 = type$.legacy_Object, typeParametersText = "<", typeSep = "", i = 0; i < boundsLength; ++i, typeSep = _s2_) { + typeParametersText += typeSep; + t3 = genericContext.length; + t4 = t3 - 1 - i; + if (t4 < 0) + return H.ioore(genericContext, t4); + typeParametersText = C.JSString_methods.$add(typeParametersText, genericContext[t4]); + boundRti = bounds[i]; + kind = boundRti._kind; + if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1)) + if (!(boundRti === t2)) + t3 = false; + else + t3 = true; + else + t3 = true; + if (!t3) + typeParametersText += " extends " + H._rtiToString(boundRti, genericContext); + } + typeParametersText += ">"; + } else { + typeParametersText = ""; + outerContextLength = null; + } + t1 = functionType._primary; + parameters = functionType._rest; + requiredPositional = parameters._requiredPositional; + requiredPositionalLength = requiredPositional.length; + optionalPositional = parameters._optionalPositional; + optionalPositionalLength = optionalPositional.length; + named = parameters._named; + namedLength = named.length; + returnTypeText = H._rtiToString(t1, genericContext); + for (argumentsText = "", sep = "", i = 0; i < requiredPositionalLength; ++i, sep = _s2_) + argumentsText += sep + H._rtiToString(requiredPositional[i], genericContext); + if (optionalPositionalLength > 0) { + argumentsText += sep + "["; + for (sep = "", i = 0; i < optionalPositionalLength; ++i, sep = _s2_) + argumentsText += sep + H._rtiToString(optionalPositional[i], genericContext); + argumentsText += "]"; + } + if (namedLength > 0) { + argumentsText += sep + "{"; + for (sep = "", i = 0; i < namedLength; i += 3, sep = _s2_) { + argumentsText += sep; + if (named[i + 1]) + argumentsText += "required "; + argumentsText += H._rtiToString(named[i + 2], genericContext) + " " + named[i]; + } + argumentsText += "}"; + } + if (outerContextLength != null) { + genericContext.toString; + genericContext.length = outerContextLength; + } + return typeParametersText + "(" + argumentsText + ") => " + returnTypeText; + }, + _rtiToString: function(rti, genericContext) { + var s, questionArgument, argumentKind, $name, $arguments, t1, t2, + kind = rti._kind; + if (kind === 5) + return "erased"; + if (kind === 2) + return "dynamic"; + if (kind === 3) + return "void"; + if (kind === 1) + return "Never"; + if (kind === 4) + return "any"; + if (kind === 6) { + s = H._rtiToString(rti._primary, genericContext); + return s; + } + if (kind === 7) { + questionArgument = rti._primary; + s = H._rtiToString(questionArgument, genericContext); + argumentKind = questionArgument._kind; + return (argumentKind === 11 || argumentKind === 12 ? "(" + s + ")" : s) + "?"; + } + if (kind === 8) + return "FutureOr<" + H._rtiToString(rti._primary, genericContext) + ">"; + if (kind === 9) { + $name = H._unminifyOrTag(rti._primary); + $arguments = rti._rest; + return $arguments.length !== 0 ? $name + ("<" + H._rtiArrayToString($arguments, genericContext) + ">") : $name; + } + if (kind === 11) + return H._functionRtiToString(rti, genericContext, null); + if (kind === 12) + return H._functionRtiToString(rti._primary, genericContext, rti._rest); + if (kind === 13) { + t1 = rti._primary; + t2 = genericContext.length; + t1 = t2 - 1 - t1; + if (t1 < 0 || t1 >= t2) + return H.ioore(genericContext, t1); + return genericContext[t1]; + } + return "?"; + }, + _unminifyOrTag: function(rawClassName) { + var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName); + if (preserved != null) + return preserved; + return rawClassName; + }, + _Universe_findRule: function(universe, targetType) { + var rule = universe.tR[targetType]; + for (; typeof rule == "string";) + rule = universe.tR[rule]; + return rule; + }, + _Universe_findErasedType: function(universe, cls) { + var $length, erased, $arguments, i, $interface, + t1 = universe.eT, + probe = t1[cls]; + if (probe == null) + return H._Universe_eval(universe, cls, false); + else if (typeof probe == "number") { + $length = probe; + erased = H._Universe__lookupTerminalRti(universe, 5, "#"); + $arguments = []; + for (i = 0; i < $length; ++i) + $arguments.push(erased); + $interface = H._Universe__lookupInterfaceRti(universe, cls, $arguments); + t1[cls] = $interface; + return $interface; + } else + return probe; + }, + _Universe_addRules: function(universe, rules) { + return H._Utils_objectAssign(universe.tR, rules); + }, + _Universe_addErasedTypes: function(universe, types) { + return H._Utils_objectAssign(universe.eT, types); + }, + _Universe_eval: function(universe, recipe, normalize) { + var rti, + t1 = universe.eC, + probe = t1.get(recipe); + if (probe != null) + return probe; + rti = H._Parser_parse(H._Parser_create(universe, null, recipe, normalize)); + t1.set(recipe, rti); + return rti; + }, + _Universe_evalInEnvironment: function(universe, environment, recipe) { + var probe, rti, + cache = environment._evalCache; + if (cache == null) + cache = environment._evalCache = new Map(); + probe = cache.get(recipe); + if (probe != null) + return probe; + rti = H._Parser_parse(H._Parser_create(universe, environment, recipe, true)); + cache.set(recipe, rti); + return rti; + }, + _Universe_bind: function(universe, environment, argumentsRti) { + var argumentsRecipe, probe, rti, + cache = environment._bindCache; + if (cache == null) + cache = environment._bindCache = new Map(); + argumentsRecipe = argumentsRti._canonicalRecipe; + probe = cache.get(argumentsRecipe); + if (probe != null) + return probe; + rti = H._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 10 ? argumentsRti._rest : [argumentsRti]); + cache.set(argumentsRecipe, rti); + return rti; + }, + _Universe__installTypeTests: function(universe, rti) { + rti._as = H._installSpecializedAsCheck; + rti._is = H._installSpecializedIsTest; + return rti; + }, + _Universe__lookupTerminalRti: function(universe, kind, key) { + var rti, t1, + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new H.Rti(null, null); + rti._kind = kind; + rti._canonicalRecipe = key; + t1 = H._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupStarRti: function(universe, baseType, normalize) { + var t1, + key = baseType._canonicalRecipe + "*", + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = H._Universe__createStarRti(universe, baseType, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createStarRti: function(universe, baseType, key, normalize) { + var baseKind, t1, rti; + if (normalize) { + baseKind = baseType._kind; + if (!H.isStrongTopType(baseType)) + t1 = baseType === type$.Null || baseType === type$.JSNull || baseKind === 7 || baseKind === 6; + else + t1 = true; + if (t1) + return baseType; + } + rti = new H.Rti(null, null); + rti._kind = 6; + rti._primary = baseType; + rti._canonicalRecipe = key; + return H._Universe__installTypeTests(universe, rti); + }, + _Universe__lookupQuestionRti: function(universe, baseType, normalize) { + var t1, + key = baseType._canonicalRecipe + "?", + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = H._Universe__createQuestionRti(universe, baseType, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createQuestionRti: function(universe, baseType, key, normalize) { + var baseKind, t1, starArgument, rti; + if (normalize) { + baseKind = baseType._kind; + if (!H.isStrongTopType(baseType)) + if (!(baseType === type$.Null || baseType === type$.JSNull)) + if (baseKind !== 7) + t1 = baseKind === 8 && H.isNullable(baseType._primary); + else + t1 = true; + else + t1 = true; + else + t1 = true; + if (t1) + return baseType; + else if (baseKind === 1 || baseType === type$.legacy_Never) + return type$.Null; + else if (baseKind === 6) { + starArgument = baseType._primary; + if (starArgument._kind === 8 && H.isNullable(starArgument._primary)) + return starArgument; + else + return H.Rti__getQuestionFromStar(universe, baseType); + } + } + rti = new H.Rti(null, null); + rti._kind = 7; + rti._primary = baseType; + rti._canonicalRecipe = key; + return H._Universe__installTypeTests(universe, rti); + }, + _Universe__lookupFutureOrRti: function(universe, baseType, normalize) { + var t1, + key = baseType._canonicalRecipe + "/", + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = H._Universe__createFutureOrRti(universe, baseType, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createFutureOrRti: function(universe, baseType, key, normalize) { + var t1, t2, rti; + if (normalize) { + t1 = baseType._kind; + if (!H.isStrongTopType(baseType)) + if (!(baseType === type$.legacy_Object)) + t2 = false; + else + t2 = true; + else + t2 = true; + if (t2 || baseType === type$.Object) + return baseType; + else if (t1 === 1) + return H._Universe__lookupInterfaceRti(universe, "Future", [baseType]); + else if (baseType === type$.Null || baseType === type$.JSNull) + return type$.nullable_Future_Null; + } + rti = new H.Rti(null, null); + rti._kind = 8; + rti._primary = baseType; + rti._canonicalRecipe = key; + return H._Universe__installTypeTests(universe, rti); + }, + _Universe__lookupGenericFunctionParameterRti: function(universe, index) { + var rti, t1, + key = "" + index + "^", + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new H.Rti(null, null); + rti._kind = 13; + rti._primary = index; + rti._canonicalRecipe = key; + t1 = H._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__canonicalRecipeJoin: function($arguments) { + var s, sep, i, + $length = $arguments.length; + for (s = "", sep = "", i = 0; i < $length; ++i, sep = ",") + s += sep + $arguments[i]._canonicalRecipe; + return s; + }, + _Universe__canonicalRecipeJoinNamed: function($arguments) { + var s, sep, i, t1, nameSep, s0, + $length = $arguments.length; + for (s = "", sep = "", i = 0; i < $length; i += 3, sep = ",") { + t1 = $arguments[i]; + nameSep = $arguments[i + 1] ? "!" : ":"; + s0 = $arguments[i + 2]._canonicalRecipe; + s += sep + t1 + nameSep + s0; + } + return s; + }, + _Universe__lookupInterfaceRti: function(universe, $name, $arguments) { + var probe, rti, t1, + s = $name; + if ($arguments.length !== 0) + s += "<" + H._Universe__canonicalRecipeJoin($arguments) + ">"; + probe = universe.eC.get(s); + if (probe != null) + return probe; + rti = new H.Rti(null, null); + rti._kind = 9; + rti._primary = $name; + rti._rest = $arguments; + if ($arguments.length > 0) + rti._precomputed1 = $arguments[0]; + rti._canonicalRecipe = s; + t1 = H._Universe__installTypeTests(universe, rti); + universe.eC.set(s, t1); + return t1; + }, + _Universe__lookupBindingRti: function(universe, base, $arguments) { + var newBase, newArguments, key, probe, rti, t1; + if (base._kind === 10) { + newBase = base._primary; + newArguments = base._rest.concat($arguments); + } else { + newArguments = $arguments; + newBase = base; + } + key = newBase._canonicalRecipe + (";<" + H._Universe__canonicalRecipeJoin(newArguments) + ">"); + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new H.Rti(null, null); + rti._kind = 10; + rti._primary = newBase; + rti._rest = newArguments; + rti._canonicalRecipe = key; + t1 = H._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupFunctionRti: function(universe, returnType, parameters) { + var sep, t1, key, probe, rti, + s = returnType._canonicalRecipe, + requiredPositional = parameters._requiredPositional, + requiredPositionalLength = requiredPositional.length, + optionalPositional = parameters._optionalPositional, + optionalPositionalLength = optionalPositional.length, + named = parameters._named, + namedLength = named.length, + recipe = "(" + H._Universe__canonicalRecipeJoin(requiredPositional); + if (optionalPositionalLength > 0) { + sep = requiredPositionalLength > 0 ? "," : ""; + t1 = H._Universe__canonicalRecipeJoin(optionalPositional); + recipe += sep + "[" + t1 + "]"; + } + if (namedLength > 0) { + sep = requiredPositionalLength > 0 ? "," : ""; + t1 = H._Universe__canonicalRecipeJoinNamed(named); + recipe += sep + "{" + t1 + "}"; + } + key = s + (recipe + ")"); + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new H.Rti(null, null); + rti._kind = 11; + rti._primary = returnType; + rti._rest = parameters; + rti._canonicalRecipe = key; + t1 = H._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupGenericFunctionRti: function(universe, baseFunctionType, bounds, normalize) { + var t1, + key = baseFunctionType._canonicalRecipe + ("<" + H._Universe__canonicalRecipeJoin(bounds) + ">"), + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = H._Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createGenericFunctionRti: function(universe, baseFunctionType, bounds, key, normalize) { + var $length, typeArguments, count, i, bound, substitutedBase, substitutedBounds, rti; + if (normalize) { + $length = bounds.length; + typeArguments = new Array($length); + for (count = 0, i = 0; i < $length; ++i) { + bound = bounds[i]; + if (bound._kind === 1) { + typeArguments[i] = bound; + ++count; + } + } + if (count > 0) { + substitutedBase = H._substitute(universe, baseFunctionType, typeArguments, 0); + substitutedBounds = H._substituteArray(universe, bounds, typeArguments, 0); + return H._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, bounds !== substitutedBounds); + } + } + rti = new H.Rti(null, null); + rti._kind = 12; + rti._primary = baseFunctionType; + rti._rest = bounds; + rti._canonicalRecipe = key; + return H._Universe__installTypeTests(universe, rti); + }, + _Parser_create: function(universe, environment, recipe, normalize) { + return {u: universe, e: environment, r: recipe, s: [], p: 0, n: normalize}; + }, + _Parser_parse: function(parser) { + var t2, i, ch, t3, array, head, base, parameters, optionalPositional, named, item, + source = parser.r, + t1 = parser.s; + for (t2 = source.length, i = 0; i < t2;) { + ch = source.charCodeAt(i); + if (ch >= 48 && ch <= 57) + i = H._Parser_handleDigit(i + 1, ch, source, t1); + else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36) + i = H._Parser_handleIdentifier(parser, i, source, t1, false); + else if (ch === 46) + i = H._Parser_handleIdentifier(parser, i, source, t1, true); + else { + ++i; + switch (ch) { + case 44: + break; + case 58: + t1.push(false); + break; + case 33: + t1.push(true); + break; + case 59: + t1.push(H._Parser_toType(parser.u, parser.e, t1.pop())); + break; + case 94: + t1.push(H._Universe__lookupGenericFunctionParameterRti(parser.u, t1.pop())); + break; + case 35: + t1.push(H._Universe__lookupTerminalRti(parser.u, 5, "#")); + break; + case 64: + t1.push(H._Universe__lookupTerminalRti(parser.u, 2, "@")); + break; + case 126: + t1.push(H._Universe__lookupTerminalRti(parser.u, 3, "~")); + break; + case 60: + t1.push(parser.p); + parser.p = t1.length; + break; + case 62: + t3 = parser.u; + array = t1.splice(parser.p); + H._Parser_toTypes(parser.u, parser.e, array); + parser.p = t1.pop(); + head = t1.pop(); + if (typeof head == "string") + t1.push(H._Universe__lookupInterfaceRti(t3, head, array)); + else { + base = H._Parser_toType(t3, parser.e, head); + switch (base._kind) { + case 11: + t1.push(H._Universe__lookupGenericFunctionRti(t3, base, array, parser.n)); + break; + default: + t1.push(H._Universe__lookupBindingRti(t3, base, array)); break; } - } - init.dispatchPropertyName = init.getIsolateTag("dispatch_record"); - }(); - hunkHelpers.setOrUpdateInterceptorsByTag({ - DOMError: J.Interceptor, - MediaError: J.Interceptor, - Navigator: J.Interceptor, - NavigatorConcurrentHardware: J.Interceptor, - NavigatorUserMediaError: J.Interceptor, - OverconstrainedError: J.Interceptor, - PositionError: J.Interceptor, - TextMetrics: J.Interceptor, - WebGLRenderingContext: J.Interceptor, - WebGL2RenderingContext: J.Interceptor, - SQLError: J.Interceptor, - DataView: H.NativeTypedData, - ArrayBufferView: H.NativeTypedData, - Float32Array: H.NativeTypedArrayOfDouble, - Float64Array: H.NativeTypedArrayOfDouble, - Int16Array: H.NativeInt16List, - Int32Array: H.NativeInt32List, - Int8Array: H.NativeInt8List, - Uint16Array: H.NativeUint16List, - Uint32Array: H.NativeUint32List, - Uint8ClampedArray: H.NativeUint8ClampedList, - CanvasPixelArray: H.NativeUint8ClampedList, - Uint8Array: H.NativeUint8List, - HTMLAudioElement: W.HtmlElement, - HTMLBRElement: W.HtmlElement, - HTMLBaseElement: W.HtmlElement, - HTMLBodyElement: W.HtmlElement, - HTMLButtonElement: W.HtmlElement, - HTMLContentElement: W.HtmlElement, - HTMLDListElement: W.HtmlElement, - HTMLDataElement: W.HtmlElement, - HTMLDataListElement: W.HtmlElement, - HTMLDetailsElement: W.HtmlElement, - HTMLDialogElement: W.HtmlElement, - HTMLEmbedElement: W.HtmlElement, - HTMLFieldSetElement: W.HtmlElement, - HTMLHRElement: W.HtmlElement, - HTMLHeadElement: W.HtmlElement, - HTMLHeadingElement: W.HtmlElement, - HTMLHtmlElement: W.HtmlElement, - HTMLIFrameElement: W.HtmlElement, - HTMLImageElement: W.HtmlElement, - HTMLInputElement: W.HtmlElement, - HTMLLIElement: W.HtmlElement, - HTMLLabelElement: W.HtmlElement, - HTMLLegendElement: W.HtmlElement, - HTMLLinkElement: W.HtmlElement, - HTMLMapElement: W.HtmlElement, - HTMLMediaElement: W.HtmlElement, - HTMLMenuElement: W.HtmlElement, - HTMLMetaElement: W.HtmlElement, - HTMLMeterElement: W.HtmlElement, - HTMLModElement: W.HtmlElement, - HTMLOListElement: W.HtmlElement, - HTMLObjectElement: W.HtmlElement, - HTMLOptGroupElement: W.HtmlElement, - HTMLOptionElement: W.HtmlElement, - HTMLOutputElement: W.HtmlElement, - HTMLParagraphElement: W.HtmlElement, - HTMLParamElement: W.HtmlElement, - HTMLPictureElement: W.HtmlElement, - HTMLPreElement: W.HtmlElement, - HTMLProgressElement: W.HtmlElement, - HTMLQuoteElement: W.HtmlElement, - HTMLScriptElement: W.HtmlElement, - HTMLShadowElement: W.HtmlElement, - HTMLSlotElement: W.HtmlElement, - HTMLSourceElement: W.HtmlElement, - HTMLSpanElement: W.HtmlElement, - HTMLStyleElement: W.HtmlElement, - HTMLTableCaptionElement: W.HtmlElement, - HTMLTableColElement: W.HtmlElement, - HTMLTableElement: W.HtmlElement, - HTMLTableRowElement: W.HtmlElement, - HTMLTableSectionElement: W.HtmlElement, - HTMLTemplateElement: W.HtmlElement, - HTMLTextAreaElement: W.HtmlElement, - HTMLTimeElement: W.HtmlElement, - HTMLTitleElement: W.HtmlElement, - HTMLTrackElement: W.HtmlElement, - HTMLUListElement: W.HtmlElement, - HTMLUnknownElement: W.HtmlElement, - HTMLVideoElement: W.HtmlElement, - HTMLDirectoryElement: W.HtmlElement, - HTMLFontElement: W.HtmlElement, - HTMLFrameElement: W.HtmlElement, - HTMLFrameSetElement: W.HtmlElement, - HTMLMarqueeElement: W.HtmlElement, - HTMLElement: W.HtmlElement, - HTMLAnchorElement: W.AnchorElement, - HTMLAreaElement: W.AreaElement, - Blob: W.Blob, - HTMLCanvasElement: W.CanvasElement, - CanvasRenderingContext2D: W.CanvasRenderingContext2D, - CDATASection: W.CharacterData, - ProcessingInstruction: W.CharacterData, - Text: W.CharacterData, - CharacterData: W.CharacterData, - Comment: W.Comment, - CSSStyleDeclaration: W.CssStyleDeclaration, - MSStyleCSSProperties: W.CssStyleDeclaration, - CSS2Properties: W.CssStyleDeclaration, - HTMLDivElement: W.DivElement, - DOMException: W.DomException, - DOMTokenList: W.DomTokenList, - SVGAElement: W.Element, - SVGAnimateElement: W.Element, - SVGAnimateMotionElement: W.Element, - SVGAnimateTransformElement: W.Element, - SVGAnimationElement: W.Element, - SVGCircleElement: W.Element, - SVGClipPathElement: W.Element, - SVGDefsElement: W.Element, - SVGDescElement: W.Element, - SVGDiscardElement: W.Element, - SVGEllipseElement: W.Element, - SVGFEBlendElement: W.Element, - SVGFEColorMatrixElement: W.Element, - SVGFEComponentTransferElement: W.Element, - SVGFECompositeElement: W.Element, - SVGFEConvolveMatrixElement: W.Element, - SVGFEDiffuseLightingElement: W.Element, - SVGFEDisplacementMapElement: W.Element, - SVGFEDistantLightElement: W.Element, - SVGFEFloodElement: W.Element, - SVGFEFuncAElement: W.Element, - SVGFEFuncBElement: W.Element, - SVGFEFuncGElement: W.Element, - SVGFEFuncRElement: W.Element, - SVGFEGaussianBlurElement: W.Element, - SVGFEImageElement: W.Element, - SVGFEMergeElement: W.Element, - SVGFEMergeNodeElement: W.Element, - SVGFEMorphologyElement: W.Element, - SVGFEOffsetElement: W.Element, - SVGFEPointLightElement: W.Element, - SVGFESpecularLightingElement: W.Element, - SVGFESpotLightElement: W.Element, - SVGFETileElement: W.Element, - SVGFETurbulenceElement: W.Element, - SVGFilterElement: W.Element, - SVGForeignObjectElement: W.Element, - SVGGElement: W.Element, - SVGGeometryElement: W.Element, - SVGGraphicsElement: W.Element, - SVGImageElement: W.Element, - SVGLineElement: W.Element, - SVGLinearGradientElement: W.Element, - SVGMarkerElement: W.Element, - SVGMaskElement: W.Element, - SVGMetadataElement: W.Element, - SVGPathElement: W.Element, - SVGPatternElement: W.Element, - SVGPolygonElement: W.Element, - SVGPolylineElement: W.Element, - SVGRadialGradientElement: W.Element, - SVGRectElement: W.Element, - SVGScriptElement: W.Element, - SVGSetElement: W.Element, - SVGStopElement: W.Element, - SVGStyleElement: W.Element, - SVGElement: W.Element, - SVGSVGElement: W.Element, - SVGSwitchElement: W.Element, - SVGSymbolElement: W.Element, - SVGTSpanElement: W.Element, - SVGTextContentElement: W.Element, - SVGTextElement: W.Element, - SVGTextPathElement: W.Element, - SVGTextPositioningElement: W.Element, - SVGTitleElement: W.Element, - SVGUseElement: W.Element, - SVGViewElement: W.Element, - SVGGradientElement: W.Element, - SVGComponentTransferFunctionElement: W.Element, - SVGFEDropShadowElement: W.Element, - SVGMPathElement: W.Element, - Element: W.Element, - AbortPaymentEvent: W.Event, - AnimationEvent: W.Event, - AnimationPlaybackEvent: W.Event, - ApplicationCacheErrorEvent: W.Event, - BackgroundFetchClickEvent: W.Event, - BackgroundFetchEvent: W.Event, - BackgroundFetchFailEvent: W.Event, - BackgroundFetchedEvent: W.Event, - BeforeInstallPromptEvent: W.Event, - BeforeUnloadEvent: W.Event, - BlobEvent: W.Event, - CanMakePaymentEvent: W.Event, - ClipboardEvent: W.Event, - CloseEvent: W.Event, - CompositionEvent: W.Event, - CustomEvent: W.Event, - DeviceMotionEvent: W.Event, - DeviceOrientationEvent: W.Event, - ErrorEvent: W.Event, - Event: W.Event, - InputEvent: W.Event, - SubmitEvent: W.Event, - ExtendableEvent: W.Event, - ExtendableMessageEvent: W.Event, - FetchEvent: W.Event, - FocusEvent: W.Event, - FontFaceSetLoadEvent: W.Event, - ForeignFetchEvent: W.Event, - GamepadEvent: W.Event, - HashChangeEvent: W.Event, - InstallEvent: W.Event, - KeyboardEvent: W.Event, - MediaEncryptedEvent: W.Event, - MediaKeyMessageEvent: W.Event, - MediaQueryListEvent: W.Event, - MediaStreamEvent: W.Event, - MediaStreamTrackEvent: W.Event, - MessageEvent: W.Event, - MIDIConnectionEvent: W.Event, - MIDIMessageEvent: W.Event, - MouseEvent: W.Event, - DragEvent: W.Event, - MutationEvent: W.Event, - NotificationEvent: W.Event, - PageTransitionEvent: W.Event, - PaymentRequestEvent: W.Event, - PaymentRequestUpdateEvent: W.Event, - PointerEvent: W.Event, - PopStateEvent: W.Event, - PresentationConnectionAvailableEvent: W.Event, - PresentationConnectionCloseEvent: W.Event, - ProgressEvent: W.Event, - PromiseRejectionEvent: W.Event, - PushEvent: W.Event, - RTCDataChannelEvent: W.Event, - RTCDTMFToneChangeEvent: W.Event, - RTCPeerConnectionIceEvent: W.Event, - RTCTrackEvent: W.Event, - SecurityPolicyViolationEvent: W.Event, - SensorErrorEvent: W.Event, - SpeechRecognitionError: W.Event, - SpeechRecognitionEvent: W.Event, - SpeechSynthesisEvent: W.Event, - StorageEvent: W.Event, - SyncEvent: W.Event, - TextEvent: W.Event, - TouchEvent: W.Event, - TrackEvent: W.Event, - TransitionEvent: W.Event, - WebKitTransitionEvent: W.Event, - UIEvent: W.Event, - VRDeviceEvent: W.Event, - VRDisplayEvent: W.Event, - VRSessionEvent: W.Event, - WheelEvent: W.Event, - MojoInterfaceRequestEvent: W.Event, - ResourceProgressEvent: W.Event, - USBConnectionEvent: W.Event, - IDBVersionChangeEvent: W.Event, - AudioProcessingEvent: W.Event, - OfflineAudioCompletionEvent: W.Event, - WebGLContextEvent: W.Event, - EventTarget: W.EventTarget, - File: W.File, - HTMLFormElement: W.FormElement, - ImageData: W.ImageData, - Document: W.Node, - DocumentFragment: W.Node, - HTMLDocument: W.Node, - ShadowRoot: W.Node, - XMLDocument: W.Node, - Attr: W.Node, - DocumentType: W.Node, - Node: W.Node, - NodeList: W.NodeList, - RadioNodeList: W.NodeList, - HTMLSelectElement: W.SelectElement, - HTMLTableCellElement: W.TableCellElement, - HTMLTableDataCellElement: W.TableCellElement, - HTMLTableHeaderCellElement: W.TableCellElement, - Window: W.Window, - DOMWindow: W.Window, - DedicatedWorkerGlobalScope: W.WorkerGlobalScope, - ServiceWorkerGlobalScope: W.WorkerGlobalScope, - SharedWorkerGlobalScope: W.WorkerGlobalScope, - WorkerGlobalScope: W.WorkerGlobalScope, - IDBKeyRange: P.KeyRange - }); - hunkHelpers.setOrUpdateLeafTags({ - DOMError: true, - MediaError: true, - Navigator: true, - NavigatorConcurrentHardware: true, - NavigatorUserMediaError: true, - OverconstrainedError: true, - PositionError: true, - TextMetrics: true, - WebGLRenderingContext: true, - WebGL2RenderingContext: true, - SQLError: true, - DataView: true, - ArrayBufferView: false, - Float32Array: true, - Float64Array: true, - Int16Array: true, - Int32Array: true, - Int8Array: true, - Uint16Array: true, - Uint32Array: true, - Uint8ClampedArray: true, - CanvasPixelArray: true, - Uint8Array: false, - HTMLAudioElement: true, - HTMLBRElement: true, - HTMLBaseElement: true, - HTMLBodyElement: true, - HTMLButtonElement: true, - HTMLContentElement: true, - HTMLDListElement: true, - HTMLDataElement: true, - HTMLDataListElement: true, - HTMLDetailsElement: true, - HTMLDialogElement: true, - HTMLEmbedElement: true, - HTMLFieldSetElement: true, - HTMLHRElement: true, - HTMLHeadElement: true, - HTMLHeadingElement: true, - HTMLHtmlElement: true, - HTMLIFrameElement: true, - HTMLImageElement: true, - HTMLInputElement: true, - HTMLLIElement: true, - HTMLLabelElement: true, - HTMLLegendElement: true, - HTMLLinkElement: true, - HTMLMapElement: true, - HTMLMediaElement: true, - HTMLMenuElement: true, - HTMLMetaElement: true, - HTMLMeterElement: true, - HTMLModElement: true, - HTMLOListElement: true, - HTMLObjectElement: true, - HTMLOptGroupElement: true, - HTMLOptionElement: true, - HTMLOutputElement: true, - HTMLParagraphElement: true, - HTMLParamElement: true, - HTMLPictureElement: true, - HTMLPreElement: true, - HTMLProgressElement: true, - HTMLQuoteElement: true, - HTMLScriptElement: true, - HTMLShadowElement: true, - HTMLSlotElement: true, - HTMLSourceElement: true, - HTMLSpanElement: true, - HTMLStyleElement: true, - HTMLTableCaptionElement: true, - HTMLTableColElement: true, - HTMLTableElement: true, - HTMLTableRowElement: true, - HTMLTableSectionElement: true, - HTMLTemplateElement: true, - HTMLTextAreaElement: true, - HTMLTimeElement: true, - HTMLTitleElement: true, - HTMLTrackElement: true, - HTMLUListElement: true, - HTMLUnknownElement: true, - HTMLVideoElement: true, - HTMLDirectoryElement: true, - HTMLFontElement: true, - HTMLFrameElement: true, - HTMLFrameSetElement: true, - HTMLMarqueeElement: true, - HTMLElement: false, - HTMLAnchorElement: true, - HTMLAreaElement: true, - Blob: false, - HTMLCanvasElement: true, - CanvasRenderingContext2D: true, - CDATASection: true, - ProcessingInstruction: true, - Text: true, - CharacterData: false, - Comment: true, - CSSStyleDeclaration: true, - MSStyleCSSProperties: true, - CSS2Properties: true, - HTMLDivElement: true, - DOMException: true, - DOMTokenList: true, - SVGAElement: true, - SVGAnimateElement: true, - SVGAnimateMotionElement: true, - SVGAnimateTransformElement: true, - SVGAnimationElement: true, - SVGCircleElement: true, - SVGClipPathElement: true, - SVGDefsElement: true, - SVGDescElement: true, - SVGDiscardElement: true, - SVGEllipseElement: true, - SVGFEBlendElement: true, - SVGFEColorMatrixElement: true, - SVGFEComponentTransferElement: true, - SVGFECompositeElement: true, - SVGFEConvolveMatrixElement: true, - SVGFEDiffuseLightingElement: true, - SVGFEDisplacementMapElement: true, - SVGFEDistantLightElement: true, - SVGFEFloodElement: true, - SVGFEFuncAElement: true, - SVGFEFuncBElement: true, - SVGFEFuncGElement: true, - SVGFEFuncRElement: true, - SVGFEGaussianBlurElement: true, - SVGFEImageElement: true, - SVGFEMergeElement: true, - SVGFEMergeNodeElement: true, - SVGFEMorphologyElement: true, - SVGFEOffsetElement: true, - SVGFEPointLightElement: true, - SVGFESpecularLightingElement: true, - SVGFESpotLightElement: true, - SVGFETileElement: true, - SVGFETurbulenceElement: true, - SVGFilterElement: true, - SVGForeignObjectElement: true, - SVGGElement: true, - SVGGeometryElement: true, - SVGGraphicsElement: true, - SVGImageElement: true, - SVGLineElement: true, - SVGLinearGradientElement: true, - SVGMarkerElement: true, - SVGMaskElement: true, - SVGMetadataElement: true, - SVGPathElement: true, - SVGPatternElement: true, - SVGPolygonElement: true, - SVGPolylineElement: true, - SVGRadialGradientElement: true, - SVGRectElement: true, - SVGScriptElement: true, - SVGSetElement: true, - SVGStopElement: true, - SVGStyleElement: true, - SVGElement: true, - SVGSVGElement: true, - SVGSwitchElement: true, - SVGSymbolElement: true, - SVGTSpanElement: true, - SVGTextContentElement: true, - SVGTextElement: true, - SVGTextPathElement: true, - SVGTextPositioningElement: true, - SVGTitleElement: true, - SVGUseElement: true, - SVGViewElement: true, - SVGGradientElement: true, - SVGComponentTransferFunctionElement: true, - SVGFEDropShadowElement: true, - SVGMPathElement: true, - Element: false, - AbortPaymentEvent: true, - AnimationEvent: true, - AnimationPlaybackEvent: true, - ApplicationCacheErrorEvent: true, - BackgroundFetchClickEvent: true, - BackgroundFetchEvent: true, - BackgroundFetchFailEvent: true, - BackgroundFetchedEvent: true, - BeforeInstallPromptEvent: true, - BeforeUnloadEvent: true, - BlobEvent: true, - CanMakePaymentEvent: true, - ClipboardEvent: true, - CloseEvent: true, - CompositionEvent: true, - CustomEvent: true, - DeviceMotionEvent: true, - DeviceOrientationEvent: true, - ErrorEvent: true, - Event: true, - InputEvent: true, - SubmitEvent: true, - ExtendableEvent: true, - ExtendableMessageEvent: true, - FetchEvent: true, - FocusEvent: true, - FontFaceSetLoadEvent: true, - ForeignFetchEvent: true, - GamepadEvent: true, - HashChangeEvent: true, - InstallEvent: true, - KeyboardEvent: true, - MediaEncryptedEvent: true, - MediaKeyMessageEvent: true, - MediaQueryListEvent: true, - MediaStreamEvent: true, - MediaStreamTrackEvent: true, - MessageEvent: true, - MIDIConnectionEvent: true, - MIDIMessageEvent: true, - MouseEvent: true, - DragEvent: true, - MutationEvent: true, - NotificationEvent: true, - PageTransitionEvent: true, - PaymentRequestEvent: true, - PaymentRequestUpdateEvent: true, - PointerEvent: true, - PopStateEvent: true, - PresentationConnectionAvailableEvent: true, - PresentationConnectionCloseEvent: true, - ProgressEvent: true, - PromiseRejectionEvent: true, - PushEvent: true, - RTCDataChannelEvent: true, - RTCDTMFToneChangeEvent: true, - RTCPeerConnectionIceEvent: true, - RTCTrackEvent: true, - SecurityPolicyViolationEvent: true, - SensorErrorEvent: true, - SpeechRecognitionError: true, - SpeechRecognitionEvent: true, - SpeechSynthesisEvent: true, - StorageEvent: true, - SyncEvent: true, - TextEvent: true, - TouchEvent: true, - TrackEvent: true, - TransitionEvent: true, - WebKitTransitionEvent: true, - UIEvent: true, - VRDeviceEvent: true, - VRDisplayEvent: true, - VRSessionEvent: true, - WheelEvent: true, - MojoInterfaceRequestEvent: true, - ResourceProgressEvent: true, - USBConnectionEvent: true, - IDBVersionChangeEvent: true, - AudioProcessingEvent: true, - OfflineAudioCompletionEvent: true, - WebGLContextEvent: true, - EventTarget: false, - File: true, - HTMLFormElement: true, - ImageData: true, - Document: true, - DocumentFragment: true, - HTMLDocument: true, - ShadowRoot: true, - XMLDocument: true, - Attr: true, - DocumentType: true, - Node: false, - NodeList: true, - RadioNodeList: true, - HTMLSelectElement: true, - HTMLTableCellElement: true, - HTMLTableDataCellElement: true, - HTMLTableHeaderCellElement: true, - Window: true, - DOMWindow: true, - DedicatedWorkerGlobalScope: true, - ServiceWorkerGlobalScope: true, - SharedWorkerGlobalScope: true, - WorkerGlobalScope: true, - IDBKeyRange: true - }); - H.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView"; - H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; - H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; - H.NativeTypedArrayOfDouble.$nativeSuperclassTag = "ArrayBufferView"; - H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; - H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; - H.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView"; - })(); - convertAllToFastObject(holders); - convertToFastObject($); - (function (callback) { - if (typeof document === "undefined") { - callback(null); - return; + } + break; + case 38: + H._Parser_handleExtendedOperations(parser, t1); + break; + case 42: + t3 = parser.u; + t1.push(H._Universe__lookupStarRti(t3, H._Parser_toType(t3, parser.e, t1.pop()), parser.n)); + break; + case 63: + t3 = parser.u; + t1.push(H._Universe__lookupQuestionRti(t3, H._Parser_toType(t3, parser.e, t1.pop()), parser.n)); + break; + case 47: + t3 = parser.u; + t1.push(H._Universe__lookupFutureOrRti(t3, H._Parser_toType(t3, parser.e, t1.pop()), parser.n)); + break; + case 40: + t1.push(parser.p); + parser.p = t1.length; + break; + case 41: + t3 = parser.u; + parameters = new H._FunctionParameters(); + optionalPositional = t3.sEA; + named = t3.sEA; + head = t1.pop(); + if (typeof head == "number") + switch (head) { + case -1: + optionalPositional = t1.pop(); + break; + case -2: + named = t1.pop(); + break; + default: + t1.push(head); + break; + } + else + t1.push(head); + array = t1.splice(parser.p); + H._Parser_toTypes(parser.u, parser.e, array); + parser.p = t1.pop(); + parameters._requiredPositional = array; + parameters._optionalPositional = optionalPositional; + parameters._named = named; + t1.push(H._Universe__lookupFunctionRti(t3, H._Parser_toType(t3, parser.e, t1.pop()), parameters)); + break; + case 91: + t1.push(parser.p); + parser.p = t1.length; + break; + case 93: + array = t1.splice(parser.p); + H._Parser_toTypes(parser.u, parser.e, array); + parser.p = t1.pop(); + t1.push(array); + t1.push(-1); + break; + case 123: + t1.push(parser.p); + parser.p = t1.length; + break; + case 125: + array = t1.splice(parser.p); + H._Parser_toTypesNamed(parser.u, parser.e, array); + parser.p = t1.pop(); + t1.push(array); + t1.push(-2); + break; + default: + throw "Bad character " + ch; + } } - if (typeof document.currentScript != "undefined") { - callback(document.currentScript); - return; + } + item = t1.pop(); + return H._Parser_toType(parser.u, parser.e, item); + }, + _Parser_handleDigit: function(i, digit, source, stack) { + var t1, ch, + value = digit - 48; + for (t1 = source.length; i < t1; ++i) { + ch = source.charCodeAt(i); + if (!(ch >= 48 && ch <= 57)) + break; + value = value * 10 + (ch - 48); + } + stack.push(value); + return i; + }, + _Parser_handleIdentifier: function(parser, start, source, stack, hasPeriod) { + var t1, ch, t2, string, environment, recipe, + i = start + 1; + for (t1 = source.length; i < t1; ++i) { + ch = source.charCodeAt(i); + if (ch === 46) { + if (hasPeriod) + break; + hasPeriod = true; + } else { + if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36)) + t2 = ch >= 48 && ch <= 57; + else + t2 = true; + if (!t2) + break; } - var scripts = document.scripts; - - function onLoad(event) { - for (var i = 0; i < scripts.length; ++i) - scripts[i].removeEventListener("load", onLoad, false); - callback(event.target); - } - for (var i = 0; i < scripts.length; ++i) - scripts[i].addEventListener("load", onLoad, false); - })(function (currentScript) { - init.currentScript = currentScript; - var callMain = V.main; - if (typeof dartMainRunner === "function") - dartMainRunner(callMain, []); + } + string = source.substring(start, i); + if (hasPeriod) { + t1 = parser.u; + environment = parser.e; + if (environment._kind === 10) + environment = environment._primary; + recipe = H._Universe_findRule(t1, environment._primary)[string]; + if (recipe == null) + H.throwExpression('No "' + string + '" in "' + H.Rti__getCanonicalRecipe(environment) + '"'); + stack.push(H._Universe_evalInEnvironment(t1, environment, recipe)); + } else + stack.push(string); + return i; + }, + _Parser_handleExtendedOperations: function(parser, stack) { + var $top = stack.pop(); + if (0 === $top) { + stack.push(H._Universe__lookupTerminalRti(parser.u, 1, "0&")); + return; + } + if (1 === $top) { + stack.push(H._Universe__lookupTerminalRti(parser.u, 4, "1&")); + return; + } + throw H.wrapException(P.AssertionError$("Unexpected extended operation " + H.S($top))); + }, + _Parser_toType: function(universe, environment, item) { + if (typeof item == "string") + return H._Universe__lookupInterfaceRti(universe, item, universe.sEA); + else if (typeof item == "number") + return H._Parser_indexToType(universe, environment, item); + else + return item; + }, + _Parser_toTypes: function(universe, environment, items) { + var i, + $length = items.length; + for (i = 0; i < $length; ++i) + items[i] = H._Parser_toType(universe, environment, items[i]); + }, + _Parser_toTypesNamed: function(universe, environment, items) { + var i, + $length = items.length; + for (i = 2; i < $length; i += 3) + items[i] = H._Parser_toType(universe, environment, items[i]); + }, + _Parser_indexToType: function(universe, environment, index) { + var typeArguments, len, + kind = environment._kind; + if (kind === 10) { + if (index === 0) + return environment._primary; + typeArguments = environment._rest; + len = typeArguments.length; + if (index <= len) + return typeArguments[index - 1]; + index -= len; + environment = environment._primary; + kind = environment._kind; + } else if (index === 0) + return environment; + if (kind !== 9) + throw H.wrapException(P.AssertionError$("Indexed base must be an interface type")); + typeArguments = environment._rest; + if (index <= typeArguments.length) + return typeArguments[index - 1]; + throw H.wrapException(P.AssertionError$("Bad index " + index + " for " + environment.toString$0(0))); + }, + _isSubtype: function(universe, s, sEnv, t, tEnv) { + var t1, sKind, leftTypeVariable, tKind, sBounds, tBounds, sLength, i, sBound, tBound; + if (s === t) + return true; + if (!H.isStrongTopType(t)) + if (!(t === type$.legacy_Object)) + t1 = false; else - callMain([]); + t1 = true; + else + t1 = true; + if (t1) + return true; + sKind = s._kind; + if (sKind === 4) + return true; + if (H.isStrongTopType(s)) + return false; + if (s._kind !== 1) + t1 = false; + else + t1 = true; + if (t1) + return true; + leftTypeVariable = sKind === 13; + if (leftTypeVariable) + if (H._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv)) + return true; + tKind = t._kind; + t1 = s === type$.Null || s === type$.JSNull; + if (t1) { + if (tKind === 8) + return H._isSubtype(universe, s, sEnv, t._primary, tEnv); + return t === type$.Null || t === type$.JSNull || tKind === 7 || tKind === 6; + } + if (t === type$.Object) { + if (sKind === 8) + return H._isSubtype(universe, s._primary, sEnv, t, tEnv); + if (sKind === 6) + return H._isSubtype(universe, s._primary, sEnv, t, tEnv); + return sKind !== 7; + } + if (sKind === 6) + return H._isSubtype(universe, s._primary, sEnv, t, tEnv); + if (tKind === 6) { + t1 = H.Rti__getQuestionFromStar(universe, t); + return H._isSubtype(universe, s, sEnv, t1, tEnv); + } + if (sKind === 8) { + if (!H._isSubtype(universe, s._primary, sEnv, t, tEnv)) + return false; + return H._isSubtype(universe, H.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv); + } + if (sKind === 7) { + t1 = H._isSubtype(universe, type$.Null, sEnv, t, tEnv); + return t1 && H._isSubtype(universe, s._primary, sEnv, t, tEnv); + } + if (tKind === 8) { + if (H._isSubtype(universe, s, sEnv, t._primary, tEnv)) + return true; + return H._isSubtype(universe, s, sEnv, H.Rti__getFutureFromFutureOr(universe, t), tEnv); + } + if (tKind === 7) { + t1 = H._isSubtype(universe, s, sEnv, type$.Null, tEnv); + return t1 || H._isSubtype(universe, s, sEnv, t._primary, tEnv); + } + if (leftTypeVariable) + return false; + t1 = sKind !== 11; + if ((!t1 || sKind === 12) && t === type$.Function) + return true; + if (tKind === 12) { + if (s === type$.JavaScriptFunction) + return true; + if (sKind !== 12) + return false; + sBounds = s._rest; + tBounds = t._rest; + sLength = sBounds.length; + if (sLength !== tBounds.length) + return false; + sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv); + tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv); + for (i = 0; i < sLength; ++i) { + sBound = sBounds[i]; + tBound = tBounds[i]; + if (!H._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !H._isSubtype(universe, tBound, tEnv, sBound, sEnv)) + return false; + } + return H._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv); + } + if (tKind === 11) { + if (s === type$.JavaScriptFunction) + return true; + if (t1) + return false; + return H._isFunctionSubtype(universe, s, sEnv, t, tEnv); + } + if (sKind === 9) { + if (tKind !== 9) + return false; + return H._isInterfaceSubtype(universe, s, sEnv, t, tEnv); + } + return false; + }, + _isFunctionSubtype: function(universe, s, sEnv, t, tEnv) { + var sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, t1, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName, sIsRequired; + if (!H._isSubtype(universe, s._primary, sEnv, t._primary, tEnv)) + return false; + sParameters = s._rest; + tParameters = t._rest; + sRequiredPositional = sParameters._requiredPositional; + tRequiredPositional = tParameters._requiredPositional; + sRequiredPositionalLength = sRequiredPositional.length; + tRequiredPositionalLength = tRequiredPositional.length; + if (sRequiredPositionalLength > tRequiredPositionalLength) + return false; + requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength; + sOptionalPositional = sParameters._optionalPositional; + tOptionalPositional = tParameters._optionalPositional; + sOptionalPositionalLength = sOptionalPositional.length; + tOptionalPositionalLength = tOptionalPositional.length; + if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength) + return false; + for (i = 0; i < sRequiredPositionalLength; ++i) { + t1 = sRequiredPositional[i]; + if (!H._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv)) + return false; + } + for (i = 0; i < requiredPositionalDelta; ++i) { + t1 = sOptionalPositional[i]; + if (!H._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv)) + return false; + } + for (i = 0; i < tOptionalPositionalLength; ++i) { + t1 = sOptionalPositional[requiredPositionalDelta + i]; + if (!H._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv)) + return false; + } + sNamed = sParameters._named; + tNamed = tParameters._named; + sNamedLength = sNamed.length; + tNamedLength = tNamed.length; + for (sIndex = 0, tIndex = 0; tIndex < tNamedLength; tIndex += 3) { + tName = tNamed[tIndex]; + for (; true;) { + if (sIndex >= sNamedLength) + return false; + sName = sNamed[sIndex]; + sIndex += 3; + if (tName < sName) + return false; + sIsRequired = sNamed[sIndex - 2]; + if (sName < tName) { + if (sIsRequired) + return false; + continue; + } + t1 = tNamed[tIndex + 1]; + if (sIsRequired && !t1) + return false; + t1 = sNamed[sIndex - 1]; + if (!H._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv)) + return false; + break; + } + } + for (; sIndex < sNamedLength;) { + if (sNamed[sIndex + 1]) + return false; + sIndex += 3; + } + return true; + }, + _isInterfaceSubtype: function(universe, s, sEnv, t, tEnv) { + var sArgs, tArgs, $length, i, t1, t2, rule, supertypeArgs, + sName = s._primary, + tName = t._primary; + if (sName === tName) { + sArgs = s._rest; + tArgs = t._rest; + $length = sArgs.length; + for (i = 0; i < $length; ++i) { + t1 = sArgs[i]; + t2 = tArgs[i]; + if (!H._isSubtype(universe, t1, sEnv, t2, tEnv)) + return false; + } + return true; + } + if (t === type$.Object) + return true; + rule = H._Universe_findRule(universe, sName); + if (rule == null) + return false; + supertypeArgs = rule[tName]; + if (supertypeArgs == null) + return false; + $length = supertypeArgs.length; + tArgs = t._rest; + for (i = 0; i < $length; ++i) + if (!H._isSubtype(universe, H._Universe_evalInEnvironment(universe, s, supertypeArgs[i]), sEnv, tArgs[i], tEnv)) + return false; + return true; + }, + isNullable: function(t) { + var t1, + kind = t._kind; + if (!(t === type$.Null || t === type$.JSNull)) + if (!H.isStrongTopType(t)) + if (kind !== 7) + if (!(kind === 6 && H.isNullable(t._primary))) + t1 = kind === 8 && H.isNullable(t._primary); + else + t1 = true; + else + t1 = true; + else + t1 = true; + else + t1 = true; + return t1; + }, + isTopType: function(t) { + var t1; + if (!H.isStrongTopType(t)) + if (!(t === type$.legacy_Object)) + t1 = false; + else + t1 = true; + else + t1 = true; + return t1; + }, + isStrongTopType: function(t) { + var kind = t._kind; + return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object; + }, + _Utils_objectAssign: function(o, other) { + var i, key, + keys = Object.keys(other), + $length = keys.length; + for (i = 0; i < $length; ++i) { + key = keys[i]; + o[key] = other[key]; + } + }, + Rti: function Rti(t0, t1) { + var _ = this; + _._as = t0; + _._is = t1; + _._cachedRuntimeType = _._specializedTestResource = _._precomputed1 = null; + _._kind = 0; + _._canonicalRecipe = _._bindCache = _._evalCache = _._rest = _._primary = null; + }, + _FunctionParameters: function _FunctionParameters() { + this._named = this._optionalPositional = this._requiredPositional = null; + }, + _Error: function _Error() { + }, + _TypeError: function _TypeError(t0) { + this.__rti$_message = t0; + }, + isBrowserObject: function(o) { + return type$.Blob._is(o) || type$.Event._is(o) || type$.KeyRange._is(o) || type$.ImageData._is(o) || type$.Node._is(o) || type$.Window._is(o) || type$.WorkerGlobalScope._is(o); + }, + unmangleGlobalNameIfPreservedAnyways: function($name) { + return init.mangledGlobalNames[$name]; + }, + printString: function(string) { + if (typeof dartPrint == "function") { + dartPrint(string); + return; + } + if (typeof console == "object" && typeof console.log != "undefined") { + console.log(string); + return; + } + if (typeof window == "object") + return; + if (typeof print == "function") { + print(string); + return; + } + throw "Unable to print message: " + String(string); + } + }, + J = { + makeDispatchRecord: function(interceptor, proto, extension, indexability) { + return {i: interceptor, p: proto, e: extension, x: indexability}; + }, + getNativeInterceptor: function(object) { + var proto, objectProto, $constructor, interceptor, + record = object[init.dispatchPropertyName]; + if (record == null) + if ($.initNativeDispatchFlag == null) { + H.initNativeDispatch(); + record = object[init.dispatchPropertyName]; + } + if (record != null) { + proto = record.p; + if (false === proto) + return record.i; + if (true === proto) + return object; + objectProto = Object.getPrototypeOf(object); + if (proto === objectProto) + return record.i; + if (record.e === objectProto) + throw H.wrapException(P.UnimplementedError$("Return interceptor for " + H.S(proto(object, record)))); + } + $constructor = object.constructor; + interceptor = $constructor == null ? null : $constructor[J.JS_INTEROP_INTERCEPTOR_TAG()]; + if (interceptor != null) + return interceptor; + interceptor = H.lookupAndCacheInterceptor(object); + if (interceptor != null) + return interceptor; + if (typeof object == "function") + return C.JavaScriptFunction_methods; + proto = Object.getPrototypeOf(object); + if (proto == null) + return C.PlainJavaScriptObject_methods; + if (proto === Object.prototype) + return C.PlainJavaScriptObject_methods; + if (typeof $constructor == "function") { + Object.defineProperty($constructor, J.JS_INTEROP_INTERCEPTOR_TAG(), {value: C.UnknownJavaScriptObject_methods, enumerable: false, writable: true, configurable: true}); + return C.UnknownJavaScriptObject_methods; + } + return C.UnknownJavaScriptObject_methods; + }, + JS_INTEROP_INTERCEPTOR_TAG: function() { + var t1 = $._JS_INTEROP_INTERCEPTOR_TAG; + return t1 == null ? $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js") : t1; + }, + JSArray_JSArray$fixed: function($length, $E) { + if ($length < 0 || $length > 4294967295) + throw H.wrapException(P.RangeError$range($length, 0, 4294967295, "length", null)); + return J.JSArray_JSArray$markFixed(new Array($length), $E); + }, + JSArray_JSArray$growable: function($length, $E) { + if ($length < 0) + throw H.wrapException(P.ArgumentError$("Length must be a non-negative integer: " + $length)); + return H.setRuntimeTypeInfo(new Array($length), $E._eval$1("JSArray<0>")); + }, + JSArray_JSArray$markFixed: function(allocation, $E) { + return J.JSArray_markFixedList(H.setRuntimeTypeInfo(allocation, $E._eval$1("JSArray<0>")), $E); + }, + JSArray_markFixedList: function(list, $T) { + list.fixed$length = Array; + return list; + }, + getInterceptor$: function(receiver) { + if (typeof receiver == "number") { + if (Math.floor(receiver) == receiver) + return J.JSInt.prototype; + return J.JSDouble.prototype; + } + if (typeof receiver == "string") + return J.JSString.prototype; + if (receiver == null) + return J.JSNull.prototype; + if (typeof receiver == "boolean") + return J.JSBool.prototype; + if (receiver.constructor == Array) + return J.JSArray.prototype; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + return receiver; + } + if (receiver instanceof P.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$asx: function(receiver) { + if (typeof receiver == "string") + return J.JSString.prototype; + if (receiver == null) + return receiver; + if (receiver.constructor == Array) + return J.JSArray.prototype; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + return receiver; + } + if (receiver instanceof P.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$ax: function(receiver) { + if (receiver == null) + return receiver; + if (receiver.constructor == Array) + return J.JSArray.prototype; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + return receiver; + } + if (receiver instanceof P.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$x: function(receiver) { + if (receiver == null) + return receiver; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + return receiver; + } + if (receiver instanceof P.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + get$hashCode$: function(receiver) { + return J.getInterceptor$(receiver).get$hashCode(receiver); + }, + get$iterator$ax: function(receiver) { + return J.getInterceptor$ax(receiver).get$iterator(receiver); + }, + get$length$asx: function(receiver) { + return J.getInterceptor$asx(receiver).get$length(receiver); + }, + $eq$: function(receiver, a0) { + if (receiver == null) + return a0 == null; + if (typeof receiver != "object") + return a0 != null && receiver === a0; + return J.getInterceptor$(receiver).$eq(receiver, a0); + }, + addEventListener$2$x: function(receiver, a0, a1) { + return J.getInterceptor$x(receiver).addEventListener$2(receiver, a0, a1); + }, + elementAt$1$ax: function(receiver, a0) { + return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0); + }, + map$1$1$ax: function(receiver, a0, $T1) { + return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1); + }, + noSuchMethod$1$: function(receiver, a0) { + return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0); + }, + postMessage$2$x: function(receiver, a0, a1) { + return J.getInterceptor$x(receiver).postMessage$2(receiver, a0, a1); + }, + toString$0$: function(receiver) { + return J.getInterceptor$(receiver).toString$0(receiver); + }, + Interceptor: function Interceptor() { + }, + JSBool: function JSBool() { + }, + JSNull: function JSNull() { + }, + JavaScriptObject: function JavaScriptObject() { + }, + PlainJavaScriptObject: function PlainJavaScriptObject() { + }, + UnknownJavaScriptObject: function UnknownJavaScriptObject() { + }, + JavaScriptFunction: function JavaScriptFunction() { + }, + JSArray: function JSArray(t0) { + this.$ti = t0; + }, + JSUnmodifiableArray: function JSUnmodifiableArray(t0) { + this.$ti = t0; + }, + ArrayIterator: function ArrayIterator(t0, t1, t2) { + var _ = this; + _._iterable = t0; + _.__interceptors$_length = t1; + _._index = 0; + _._current = null; + _.$ti = t2; + }, + JSNumber: function JSNumber() { + }, + JSInt: function JSInt() { + }, + JSDouble: function JSDouble() { + }, + JSString: function JSString() { + } + }, + P = { + _AsyncRun__initializeScheduleImmediate: function() { + var div, span, t1 = {}; + if (self.scheduleImmediate != null) + return P.async__AsyncRun__scheduleImmediateJsOverride$closure(); + if (self.MutationObserver != null && self.document != null) { + div = self.document.createElement("div"); + span = self.document.createElement("span"); + t1.storedCallback = null; + new self.MutationObserver(H.convertDartClosureToJS(new P._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, {childList: true}); + return new P._AsyncRun__initializeScheduleImmediate_closure(t1, div, span); + } else if (self.setImmediate != null) + return P.async__AsyncRun__scheduleImmediateWithSetImmediate$closure(); + return P.async__AsyncRun__scheduleImmediateWithTimer$closure(); + }, + _AsyncRun__scheduleImmediateJsOverride: function(callback) { + self.scheduleImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateJsOverride_internalCallback(type$.void_Function._as(callback)), 0)); + }, + _AsyncRun__scheduleImmediateWithSetImmediate: function(callback) { + self.setImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(type$.void_Function._as(callback)), 0)); + }, + _AsyncRun__scheduleImmediateWithTimer: function(callback) { + P.Timer__createTimer(C.Duration_0, type$.void_Function._as(callback)); + }, + Timer__createTimer: function(duration, callback) { + var milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000); + return P._TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback); + }, + _TimerImpl$: function(milliseconds, callback) { + var t1 = new P._TimerImpl(); + t1._TimerImpl$2(milliseconds, callback); + return t1; + }, + _makeAsyncAwaitCompleter: function($T) { + return new P._AsyncAwaitCompleter(new P._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncAwaitCompleter<0>")); + }, + _asyncStartSync: function(bodyFunction, completer) { + bodyFunction.call$2(0, null); + completer.isSync = true; + return completer._future; + }, + _asyncAwait: function(object, bodyFunction) { + P._awaitOnObject(object, bodyFunction); + }, + _asyncReturn: function(object, completer) { + var value, t2, + t1 = completer.$ti; + t1._eval$1("1/?")._as(object); + value = object == null ? t1._precomputed1._as(object) : object; + if (!completer.isSync) + completer._future._asyncComplete$1(value); + else { + t2 = completer._future; + if (t1._eval$1("Future<1>")._is(value)) + t2._chainFuture$1(value); + else + t2._completeWithValue$1(t1._precomputed1._as(value)); + } + }, + _asyncRethrow: function(object, completer) { + var t1 = H.unwrapException(object), + st = H.getTraceFromException(object), + t2 = completer.isSync, + t3 = completer._future; + if (t2) + t3._completeError$2(t1, st); + else + t3._asyncCompleteError$2(t1, st); + }, + _awaitOnObject: function(object, bodyFunction) { + var t1, future, + thenCallback = new P._awaitOnObject_closure(bodyFunction), + errorCallback = new P._awaitOnObject_closure0(bodyFunction); + if (object instanceof P._Future) + object._thenAwait$1$2(thenCallback, errorCallback, type$.dynamic); + else { + t1 = type$.dynamic; + if (type$.Future_dynamic._is(object)) + object.then$1$2$onError(thenCallback, errorCallback, t1); + else { + future = new P._Future($.Zone__current, type$._Future_dynamic); + future._state = 4; + future._resultOrListeners = object; + future._thenAwait$1$2(thenCallback, errorCallback, t1); + } + } + }, + _wrapJsFunctionForAsync: function($function) { + var $protected = function(fn, ERROR) { + return function(errorCode, result) { + while (true) + try { + fn(errorCode, result); + break; + } catch (error) { + result = error; + errorCode = ERROR; + } + }; + }($function, 1); + return $.Zone__current.registerBinaryCallback$3$1(new P._wrapJsFunctionForAsync_closure($protected), type$.void, type$.int, type$.dynamic); + }, + AsyncError$: function(error, stackTrace) { + var t1 = H.checkNotNullable(error, "error", type$.Object); + return new P.AsyncError(t1, stackTrace == null ? P.AsyncError_defaultStackTrace(error) : stackTrace); + }, + AsyncError_defaultStackTrace: function(error) { + var stackTrace; + if (type$.Error._is(error)) { + stackTrace = error.get$stackTrace(); + if (stackTrace != null) + return stackTrace; + } + return C.C__StringStackTrace; + }, + Future_Future$delayed: function(duration, $T) { + var result, + t1 = !$T._is(null); + if (t1) + throw H.wrapException(P.ArgumentError$value(null, "computation", "The type parameter is not nullable")); + result = new P._Future($.Zone__current, $T._eval$1("_Future<0>")); + P.Timer_Timer(duration, new P.Future_Future$delayed_closure(null, result, $T)); + return result; + }, + _Future__chainCoreFuture: function(source, target) { + var t1, t2, listeners; + for (t1 = type$._Future_dynamic; t2 = source._state, t2 === 2;) + source = t1._as(source._resultOrListeners); + if (t2 >= 4) { + listeners = target._removeListeners$0(); + target._state = source._state; + target._resultOrListeners = source._resultOrListeners; + P._Future__propagateToListeners(target, listeners); + } else { + listeners = type$.nullable__FutureListener_dynamic_dynamic._as(target._resultOrListeners); + target._state = 2; + target._resultOrListeners = source; + source._prependListeners$1(listeners); + } + }, + _Future__propagateToListeners: function(source, listeners) { + var t2, t3, t4, _box_0, hasError, asyncError, nextListener, nextListener0, t5, sourceResult, t6, t7, zone, oldZone, result, current, _null = null, _box_1 = {}, + t1 = _box_1.source = source; + for (t2 = type$.AsyncError, t3 = type$.nullable__FutureListener_dynamic_dynamic, t4 = type$.Future_dynamic; true;) { + _box_0 = {}; + hasError = t1._state === 8; + if (listeners == null) { + if (hasError) { + asyncError = t2._as(t1._resultOrListeners); + P._rootHandleUncaughtError(_null, _null, t1._zone, asyncError.error, asyncError.stackTrace); + } + return; + } + _box_0.listener = listeners; + nextListener = listeners._nextListener; + for (t1 = listeners; nextListener != null; t1 = nextListener, nextListener = nextListener0) { + t1._nextListener = null; + P._Future__propagateToListeners(_box_1.source, t1); + _box_0.listener = nextListener; + nextListener0 = nextListener._nextListener; + } + t5 = _box_1.source; + sourceResult = t5._resultOrListeners; + _box_0.listenerHasError = hasError; + _box_0.listenerValueOrError = sourceResult; + t6 = !hasError; + if (t6) { + t7 = t1.state; + t7 = (t7 & 1) !== 0 || (t7 & 15) === 8; + } else + t7 = true; + if (t7) { + zone = t1.result._zone; + if (hasError) { + t7 = t5._zone === zone; + t7 = !(t7 || t7); + } else + t7 = false; + if (t7) { + t2._as(sourceResult); + P._rootHandleUncaughtError(_null, _null, t5._zone, sourceResult.error, sourceResult.stackTrace); + return; + } + oldZone = $.Zone__current; + if (oldZone !== zone) + $.Zone__current = zone; + else + oldZone = _null; + t1 = t1.state; + if ((t1 & 15) === 8) + new P._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0(); + else if (t6) { + if ((t1 & 1) !== 0) + new P._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0(); + } else if ((t1 & 2) !== 0) + new P._Future__propagateToListeners_handleError(_box_1, _box_0).call$0(); + if (oldZone != null) + $.Zone__current = oldZone; + t1 = _box_0.listenerValueOrError; + if (t4._is(t1)) { + t5 = _box_0.listener.$ti; + t5 = t5._eval$1("Future<2>")._is(t1) || !t5._rest[1]._is(t1); + } else + t5 = false; + if (t5) { + t4._as(t1); + result = _box_0.listener.result; + if (t1._state >= 4) { + current = t3._as(result._resultOrListeners); + result._resultOrListeners = null; + listeners = result._reverseListeners$1(current); + result._state = t1._state; + result._resultOrListeners = t1._resultOrListeners; + _box_1.source = t1; + continue; + } else + P._Future__chainCoreFuture(t1, result); + return; + } + } + result = _box_0.listener.result; + current = t3._as(result._resultOrListeners); + result._resultOrListeners = null; + listeners = result._reverseListeners$1(current); + t1 = _box_0.listenerHasError; + t5 = _box_0.listenerValueOrError; + if (!t1) { + result.$ti._precomputed1._as(t5); + result._state = 4; + result._resultOrListeners = t5; + } else { + t2._as(t5); + result._state = 8; + result._resultOrListeners = t5; + } + _box_1.source = result; + t1 = result; + } + }, + _registerErrorHandler: function(errorHandler, zone) { + var t1; + if (type$.dynamic_Function_Object_StackTrace._is(errorHandler)) + return zone.registerBinaryCallback$3$1(errorHandler, type$.dynamic, type$.Object, type$.StackTrace); + t1 = type$.dynamic_Function_Object; + if (t1._is(errorHandler)) + return t1._as(errorHandler); + throw H.wrapException(P.ArgumentError$value(errorHandler, "onError", "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a valid result")); + }, + _microtaskLoop: function() { + var entry, next; + for (entry = $._nextCallback; entry != null; entry = $._nextCallback) { + $._lastPriorityCallback = null; + next = entry.next; + $._nextCallback = next; + if (next == null) + $._lastCallback = null; + entry.callback.call$0(); + } + }, + _startMicrotaskLoop: function() { + $._isInCallbackLoop = true; + try { + P._microtaskLoop(); + } finally { + $._lastPriorityCallback = null; + $._isInCallbackLoop = false; + if ($._nextCallback != null) + $.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure()); + } + }, + _scheduleAsyncCallback: function(callback) { + var newEntry = new P._AsyncCallbackEntry(callback), + lastCallback = $._lastCallback; + if (lastCallback == null) { + $._nextCallback = $._lastCallback = newEntry; + if (!$._isInCallbackLoop) + $.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure()); + } else + $._lastCallback = lastCallback.next = newEntry; + }, + _schedulePriorityAsyncCallback: function(callback) { + var entry, lastPriorityCallback, next, + t1 = $._nextCallback; + if (t1 == null) { + P._scheduleAsyncCallback(callback); + $._lastPriorityCallback = $._lastCallback; + return; + } + entry = new P._AsyncCallbackEntry(callback); + lastPriorityCallback = $._lastPriorityCallback; + if (lastPriorityCallback == null) { + entry.next = t1; + $._nextCallback = $._lastPriorityCallback = entry; + } else { + next = lastPriorityCallback.next; + entry.next = next; + $._lastPriorityCallback = lastPriorityCallback.next = entry; + if (next == null) + $._lastCallback = entry; + } + }, + scheduleMicrotask: function(callback) { + var _null = null, + currentZone = $.Zone__current; + if (C.C__RootZone === currentZone) { + P._rootScheduleMicrotask(_null, _null, C.C__RootZone, callback); + return; + } + P._rootScheduleMicrotask(_null, _null, currentZone, type$.void_Function._as(currentZone.bindCallbackGuarded$1(callback))); + }, + StreamIterator_StreamIterator: function(stream, $T) { + H.checkNotNullable(stream, "stream", type$.Object); + return new P._StreamIterator($T._eval$1("_StreamIterator<0>")); + }, + Timer_Timer: function(duration, callback) { + var t1 = $.Zone__current; + if (t1 === C.C__RootZone) + return P.Timer__createTimer(duration, type$.void_Function._as(callback)); + return P.Timer__createTimer(duration, type$.void_Function._as(t1.bindCallbackGuarded$1(callback))); + }, + _rootHandleUncaughtError: function($self, $parent, zone, error, stackTrace) { + P._schedulePriorityAsyncCallback(new P._rootHandleUncaughtError_closure(error, stackTrace)); + }, + _rootRun: function($self, $parent, zone, f, $R) { + var old, + t1 = $.Zone__current; + if (t1 === zone) + return f.call$0(); + $.Zone__current = zone; + old = t1; + try { + t1 = f.call$0(); + return t1; + } finally { + $.Zone__current = old; + } + }, + _rootRunUnary: function($self, $parent, zone, f, arg, $R, $T) { + var old, + t1 = $.Zone__current; + if (t1 === zone) + return f.call$1(arg); + $.Zone__current = zone; + old = t1; + try { + t1 = f.call$1(arg); + return t1; + } finally { + $.Zone__current = old; + } + }, + _rootRunBinary: function($self, $parent, zone, f, arg1, arg2, $R, T1, T2) { + var old, + t1 = $.Zone__current; + if (t1 === zone) + return f.call$2(arg1, arg2); + $.Zone__current = zone; + old = t1; + try { + t1 = f.call$2(arg1, arg2); + return t1; + } finally { + $.Zone__current = old; + } + }, + _rootScheduleMicrotask: function($self, $parent, zone, f) { + var t1; + type$.void_Function._as(f); + t1 = C.C__RootZone !== zone; + if (t1) + f = !(!t1 || false) ? zone.bindCallbackGuarded$1(f) : zone.bindCallback$1$1(f, type$.void); + P._scheduleAsyncCallback(f); + }, + _AsyncRun__initializeScheduleImmediate_internalCallback: function _AsyncRun__initializeScheduleImmediate_internalCallback(t0) { + this._box_0 = t0; + }, + _AsyncRun__initializeScheduleImmediate_closure: function _AsyncRun__initializeScheduleImmediate_closure(t0, t1, t2) { + this._box_0 = t0; + this.div = t1; + this.span = t2; + }, + _AsyncRun__scheduleImmediateJsOverride_internalCallback: function _AsyncRun__scheduleImmediateJsOverride_internalCallback(t0) { + this.callback = t0; + }, + _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: function _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(t0) { + this.callback = t0; + }, + _TimerImpl: function _TimerImpl() { + }, + _TimerImpl_internalCallback: function _TimerImpl_internalCallback(t0, t1) { + this.$this = t0; + this.callback = t1; + }, + _AsyncAwaitCompleter: function _AsyncAwaitCompleter(t0, t1) { + this._future = t0; + this.isSync = false; + this.$ti = t1; + }, + _awaitOnObject_closure: function _awaitOnObject_closure(t0) { + this.bodyFunction = t0; + }, + _awaitOnObject_closure0: function _awaitOnObject_closure0(t0) { + this.bodyFunction = t0; + }, + _wrapJsFunctionForAsync_closure: function _wrapJsFunctionForAsync_closure(t0) { + this.$protected = t0; + }, + AsyncError: function AsyncError(t0, t1) { + this.error = t0; + this.stackTrace = t1; + }, + Future_Future$delayed_closure: function Future_Future$delayed_closure(t0, t1, t2) { + this.computation = t0; + this.result = t1; + this.T = t2; + }, + _FutureListener: function _FutureListener(t0, t1, t2, t3, t4) { + var _ = this; + _._nextListener = null; + _.result = t0; + _.state = t1; + _.callback = t2; + _.errorCallback = t3; + _.$ti = t4; + }, + _Future: function _Future(t0, t1) { + var _ = this; + _._state = 0; + _._zone = t0; + _._resultOrListeners = null; + _.$ti = t1; + }, + _Future__addListener_closure: function _Future__addListener_closure(t0, t1) { + this.$this = t0; + this.listener = t1; + }, + _Future__prependListeners_closure: function _Future__prependListeners_closure(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + _Future__chainForeignFuture_closure: function _Future__chainForeignFuture_closure(t0) { + this.$this = t0; + }, + _Future__chainForeignFuture_closure0: function _Future__chainForeignFuture_closure0(t0) { + this.$this = t0; + }, + _Future__chainForeignFuture_closure1: function _Future__chainForeignFuture_closure1(t0, t1, t2) { + this.$this = t0; + this.e = t1; + this.s = t2; + }, + _Future__asyncCompleteWithValue_closure: function _Future__asyncCompleteWithValue_closure(t0, t1) { + this.$this = t0; + this.value = t1; + }, + _Future__chainFuture_closure: function _Future__chainFuture_closure(t0, t1) { + this.$this = t0; + this.value = t1; + }, + _Future__asyncCompleteError_closure: function _Future__asyncCompleteError_closure(t0, t1, t2) { + this.$this = t0; + this.error = t1; + this.stackTrace = t2; + }, + _Future__propagateToListeners_handleWhenCompleteCallback: function _Future__propagateToListeners_handleWhenCompleteCallback(t0, t1, t2) { + this._box_0 = t0; + this._box_1 = t1; + this.hasError = t2; + }, + _Future__propagateToListeners_handleWhenCompleteCallback_closure: function _Future__propagateToListeners_handleWhenCompleteCallback_closure(t0) { + this.originalSource = t0; + }, + _Future__propagateToListeners_handleValueCallback: function _Future__propagateToListeners_handleValueCallback(t0, t1) { + this._box_0 = t0; + this.sourceResult = t1; + }, + _Future__propagateToListeners_handleError: function _Future__propagateToListeners_handleError(t0, t1) { + this._box_1 = t0; + this._box_0 = t1; + }, + _AsyncCallbackEntry: function _AsyncCallbackEntry(t0) { + this.callback = t0; + this.next = null; + }, + _StreamIterator: function _StreamIterator(t0) { + this.$ti = t0; + }, + _Zone: function _Zone() { + }, + _rootHandleUncaughtError_closure: function _rootHandleUncaughtError_closure(t0, t1) { + this.error = t0; + this.stackTrace = t1; + }, + _RootZone: function _RootZone() { + }, + _RootZone_bindCallback_closure: function _RootZone_bindCallback_closure(t0, t1, t2) { + this.$this = t0; + this.f = t1; + this.R = t2; + }, + _RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) { + this.$this = t0; + this.f = t1; + }, + LinkedHashMap_LinkedHashMap$_literal: function(keyValuePairs, $K, $V) { + return $K._eval$1("@<0>")._bind$1($V)._eval$1("LinkedHashMap<1,2>")._as(H.fillLiteralMap(keyValuePairs, new H.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")))); + }, + IterableBase_iterableToShortString: function(iterable, leftDelimiter, rightDelimiter) { + var parts, t1; + if (P._isToStringVisiting(iterable)) { + if (leftDelimiter === "(" && rightDelimiter === ")") + return "(...)"; + return leftDelimiter + "..." + rightDelimiter; + } + parts = H.setRuntimeTypeInfo([], type$.JSArray_String); + C.JSArray_methods.add$1($._toStringVisiting, iterable); + try { + P._iterablePartsToStrings(iterable, parts); + } finally { + if (0 >= $._toStringVisiting.length) + return H.ioore($._toStringVisiting, -1); + $._toStringVisiting.pop(); + } + t1 = P.StringBuffer__writeAll(leftDelimiter, type$.Iterable_dynamic._as(parts), ", ") + rightDelimiter; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + IterableBase_iterableToFullString: function(iterable, leftDelimiter, rightDelimiter) { + var buffer, t1; + if (P._isToStringVisiting(iterable)) + return leftDelimiter + "..." + rightDelimiter; + buffer = new P.StringBuffer(leftDelimiter); + C.JSArray_methods.add$1($._toStringVisiting, iterable); + try { + t1 = buffer; + t1._contents = P.StringBuffer__writeAll(t1._contents, iterable, ", "); + } finally { + if (0 >= $._toStringVisiting.length) + return H.ioore($._toStringVisiting, -1); + $._toStringVisiting.pop(); + } + buffer._contents += rightDelimiter; + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _isToStringVisiting: function(o) { + var t1, i; + for (t1 = $._toStringVisiting.length, i = 0; i < t1; ++i) + if (o === $._toStringVisiting[i]) + return true; + return false; + }, + _iterablePartsToStrings: function(iterable, parts) { + var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision, + it = iterable.get$iterator(iterable), + $length = 0, count = 0; + while (true) { + if (!($length < 80 || count < 3)) + break; + if (!it.moveNext$0()) + return; + next = H.S(it.get$current()); + C.JSArray_methods.add$1(parts, next); + $length += next.length + 2; + ++count; + } + if (!it.moveNext$0()) { + if (count <= 5) + return; + if (0 >= parts.length) + return H.ioore(parts, -1); + ultimateString = parts.pop(); + if (0 >= parts.length) + return H.ioore(parts, -1); + penultimateString = parts.pop(); + } else { + penultimate = it.get$current(); + ++count; + if (!it.moveNext$0()) { + if (count <= 4) { + C.JSArray_methods.add$1(parts, H.S(penultimate)); + return; + } + ultimateString = H.S(penultimate); + if (0 >= parts.length) + return H.ioore(parts, -1); + penultimateString = parts.pop(); + $length += ultimateString.length + 2; + } else { + ultimate = it.get$current(); + ++count; + for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0) { + ultimate0 = it.get$current(); + ++count; + if (count > 100) { + while (true) { + if (!($length > 75 && count > 3)) + break; + if (0 >= parts.length) + return H.ioore(parts, -1); + $length -= parts.pop().length + 2; + --count; + } + C.JSArray_methods.add$1(parts, "..."); + return; + } + } + penultimateString = H.S(penultimate); + ultimateString = H.S(ultimate); + $length += ultimateString.length + penultimateString.length + 4; + } + } + if (count > parts.length + 2) { + $length += 5; + elision = "..."; + } else + elision = null; + while (true) { + if (!($length > 80 && parts.length > 3)) + break; + if (0 >= parts.length) + return H.ioore(parts, -1); + $length -= parts.pop().length + 2; + if (elision == null) { + $length += 5; + elision = "..."; + } + } + if (elision != null) + C.JSArray_methods.add$1(parts, elision); + C.JSArray_methods.add$1(parts, penultimateString); + C.JSArray_methods.add$1(parts, ultimateString); + }, + MapBase_mapToString: function(m) { + var result, t1 = {}; + if (P._isToStringVisiting(m)) + return "{...}"; + result = new P.StringBuffer(""); + try { + C.JSArray_methods.add$1($._toStringVisiting, m); + result._contents += "{"; + t1.first = true; + m.forEach$1(0, new P.MapBase_mapToString_closure(t1, result)); + result._contents += "}"; + } finally { + if (0 >= $._toStringVisiting.length) + return H.ioore($._toStringVisiting, -1); + $._toStringVisiting.pop(); + } + t1 = result._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + ListBase: function ListBase() { + }, + ListMixin: function ListMixin() { + }, + MapBase: function MapBase() { + }, + MapBase_mapToString_closure: function MapBase_mapToString_closure(t0, t1) { + this._box_0 = t0; + this.result = t1; + }, + MapMixin: function MapMixin() { + }, + _UnmodifiableMapMixin: function _UnmodifiableMapMixin() { + }, + MapView: function MapView() { + }, + UnmodifiableMapView: function UnmodifiableMapView() { + }, + _ListBase_Object_ListMixin: function _ListBase_Object_ListMixin() { + }, + _UnmodifiableMapView_MapView__UnmodifiableMapMixin: function _UnmodifiableMapView_MapView__UnmodifiableMapMixin() { + }, + Function_apply: function($function, positionalArguments) { + return H.Primitives_applyFunction($function, positionalArguments, null); + }, + Error__objectToString: function(object) { + if (object instanceof H.Closure) + return object.toString$0(0); + return "Instance of '" + H.Primitives_objectTypeName(object) + "'"; + }, + List_List$filled: function($length, fill, growable, $E) { + var i, + result = growable ? J.JSArray_JSArray$growable($length, $E) : J.JSArray_JSArray$fixed($length, $E); + if ($length !== 0 && fill != null) + for (i = 0; i < result.length; ++i) + result[i] = fill; + return result; + }, + List_List$from: function(elements, $E) { + var t1, + list = H.setRuntimeTypeInfo([], $E._eval$1("JSArray<0>")); + for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) + C.JSArray_methods.add$1(list, $E._as(t1.get$current())); + return list; + }, + List_List$of: function(elements, growable, $E) { + var t1 = P.List_List$_of(elements, $E); + return t1; + }, + List_List$_of: function(elements, $E) { + var list, t1; + if (Array.isArray(elements)) + return H.setRuntimeTypeInfo(elements.slice(0), $E._eval$1("JSArray<0>")); + list = H.setRuntimeTypeInfo([], $E._eval$1("JSArray<0>")); + for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) + C.JSArray_methods.add$1(list, t1.get$current()); + return list; + }, + RegExp_RegExp: function(source) { + return new H.JSSyntaxRegExp(source, H.JSSyntaxRegExp_makeNative(source, false, true, false, false, false)); + }, + StringBuffer__writeAll: function(string, objects, separator) { + var iterator = J.get$iterator$ax(objects); + if (!iterator.moveNext$0()) + return string; + if (separator.length === 0) { + do + string += H.S(iterator.get$current()); + while (iterator.moveNext$0()); + } else { + string += H.S(iterator.get$current()); + for (; iterator.moveNext$0();) + string = string + separator + H.S(iterator.get$current()); + } + return string; + }, + NoSuchMethodError$: function(receiver, memberName, positionalArguments, namedArguments) { + return new P.NoSuchMethodError(receiver, memberName, positionalArguments, namedArguments); + }, + DateTime__fourDigits: function(n) { + var absN = Math.abs(n), + sign = n < 0 ? "-" : ""; + if (absN >= 1000) + return "" + n; + if (absN >= 100) + return sign + "0" + absN; + if (absN >= 10) + return sign + "00" + absN; + return sign + "000" + absN; + }, + DateTime__threeDigits: function(n) { + if (n >= 100) + return "" + n; + if (n >= 10) + return "0" + n; + return "00" + n; + }, + DateTime__twoDigits: function(n) { + if (n >= 10) + return "" + n; + return "0" + n; + }, + Duration$: function(milliseconds) { + return new P.Duration(1000 * milliseconds); + }, + Error_safeToString: function(object) { + if (typeof object == "number" || H._isBool(object) || null == object) + return J.toString$0$(object); + if (typeof object == "string") + return JSON.stringify(object); + return P.Error__objectToString(object); + }, + AssertionError$: function(message) { + return new P.AssertionError(message); + }, + ArgumentError$: function(message) { + return new P.ArgumentError(false, null, null, message); + }, + ArgumentError$value: function(value, $name, message) { + return new P.ArgumentError(true, value, $name, message); + }, + RangeError$value: function(value, $name) { + return new P.RangeError(null, null, true, value, $name, "Value not in range"); + }, + RangeError$range: function(invalidValue, minValue, maxValue, $name, message) { + return new P.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value"); + }, + RangeError_checkValidRange: function(start, end, $length) { + if (start > $length) + throw H.wrapException(P.RangeError$range(start, 0, $length, "start", null)); + if (start > end || end > $length) + throw H.wrapException(P.RangeError$range(end, start, $length, "end", null)); + return end; + }, + RangeError_checkNotNegative: function(value, $name) { + return value; + }, + IndexError$: function(invalidValue, indexable, $name, message, $length) { + var t1 = H._asInt($length == null ? J.get$length$asx(indexable) : $length); + return new P.IndexError(t1, true, invalidValue, $name, "Index out of range"); + }, + UnsupportedError$: function(message) { + return new P.UnsupportedError(message); + }, + UnimplementedError$: function(message) { + return new P.UnimplementedError(message); + }, + StateError$: function(message) { + return new P.StateError(message); + }, + ConcurrentModificationError$: function(modifiedObject) { + return new P.ConcurrentModificationError(modifiedObject); + }, + print: function(object) { + H.printString(J.toString$0$(object)); + }, + NoSuchMethodError_toString_closure: function NoSuchMethodError_toString_closure(t0, t1) { + this._box_0 = t0; + this.sb = t1; + }, + DateTime: function DateTime(t0, t1) { + this._value = t0; + this.isUtc = t1; + }, + Duration: function Duration(t0) { + this._duration = t0; + }, + Duration_toString_sixDigits: function Duration_toString_sixDigits() { + }, + Duration_toString_twoDigits: function Duration_toString_twoDigits() { + }, + Error: function Error() { + }, + AssertionError: function AssertionError(t0) { + this.message = t0; + }, + TypeError: function TypeError() { + }, + NullThrownError: function NullThrownError() { + }, + ArgumentError: function ArgumentError(t0, t1, t2, t3) { + var _ = this; + _._hasValue = t0; + _.invalidValue = t1; + _.name = t2; + _.message = t3; + }, + RangeError: function RangeError(t0, t1, t2, t3, t4, t5) { + var _ = this; + _.start = t0; + _.end = t1; + _._hasValue = t2; + _.invalidValue = t3; + _.name = t4; + _.message = t5; + }, + IndexError: function IndexError(t0, t1, t2, t3, t4) { + var _ = this; + _.length = t0; + _._hasValue = t1; + _.invalidValue = t2; + _.name = t3; + _.message = t4; + }, + NoSuchMethodError: function NoSuchMethodError(t0, t1, t2, t3) { + var _ = this; + _._core$_receiver = t0; + _._core$_memberName = t1; + _._core$_arguments = t2; + _._namedArguments = t3; + }, + UnsupportedError: function UnsupportedError(t0) { + this.message = t0; + }, + UnimplementedError: function UnimplementedError(t0) { + this.message = t0; + }, + StateError: function StateError(t0) { + this.message = t0; + }, + ConcurrentModificationError: function ConcurrentModificationError(t0) { + this.modifiedObject = t0; + }, + StackOverflowError: function StackOverflowError() { + }, + CyclicInitializationError: function CyclicInitializationError(t0) { + this.variableName = t0; + }, + _Exception: function _Exception(t0) { + this.message = t0; + }, + FormatException: function FormatException(t0, t1) { + this.message = t0; + this.source = t1; + }, + Iterable: function Iterable() { + }, + Iterator: function Iterator() { + }, + Null: function Null() { + }, + Object: function Object() { + }, + _StringStackTrace: function _StringStackTrace() { + }, + StringBuffer: function StringBuffer(t0) { + this._contents = t0; + }, + _StructuredClone: function _StructuredClone() { + }, + _StructuredClone_walk_closure: function _StructuredClone_walk_closure(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + _StructuredClone_walk_closure0: function _StructuredClone_walk_closure0(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + _StructuredCloneDart2Js: function _StructuredCloneDart2Js(t0, t1) { + this.values = t0; + this.copies = t1; + }, + KeyRange: function KeyRange() { + }, + _callDartFunction: function(callback, captureThis, $self, $arguments) { + var arguments0, t1, dartArgs; + H._asBool(captureThis); + type$.List_dynamic._as($arguments); + if (captureThis) { + arguments0 = [$self]; + C.JSArray_methods.addAll$1(arguments0, $arguments); + $arguments = arguments0; + } + t1 = type$.dynamic; + dartArgs = P.List_List$from(J.map$1$1$ax($arguments, P.js___convertToDart$closure(), t1), t1); + return P._convertToJS(P.Function_apply(type$.Function._as(callback), dartArgs)); + }, + _defineProperty: function(o, $name, value) { + var exception; + try { + if (Object.isExtensible(o) && !Object.prototype.hasOwnProperty.call(o, $name)) { + Object.defineProperty(o, $name, {value: value}); + return true; + } + } catch (exception) { + H.unwrapException(exception); + } + return false; + }, + _getOwnProperty: function(o, $name) { + if (Object.prototype.hasOwnProperty.call(o, $name)) + return o[$name]; + return null; + }, + _convertToJS: function(o) { + if (o == null || typeof o == "string" || typeof o == "number" || H._isBool(o)) + return o; + if (o instanceof P.JsObject) + return o._jsObject; + if (H.isBrowserObject(o)) + return o; + if (type$.TypedData._is(o)) + return o; + if (o instanceof P.DateTime) + return H.Primitives_lazyAsJsDate(o); + if (type$.Function._is(o)) + return P._getJsProxy(o, "$dart_jsFunction", new P._convertToJS_closure()); + return P._getJsProxy(o, "_$dart_jsObject", new P._convertToJS_closure0($.$get$_dartProxyCtor())); + }, + _getJsProxy: function(o, propertyName, createProxy) { + var jsProxy = P._getOwnProperty(o, propertyName); + if (jsProxy == null) { + jsProxy = createProxy.call$1(o); + P._defineProperty(o, propertyName, jsProxy); + } + return jsProxy; + }, + _convertToDart: function(o) { + var t1, t2; + if (o == null || typeof o == "string" || typeof o == "number" || typeof o == "boolean") + return o; + else if (o instanceof Object && H.isBrowserObject(o)) + return o; + else if (o instanceof Object && type$.TypedData._is(o)) + return o; + else if (o instanceof Date) { + t1 = H._asInt(o.getTime()); + if (Math.abs(t1) <= 864e13) + t2 = false; + else + t2 = true; + if (t2) + H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + t1)); + H.checkNotNullable(false, "isUtc", type$.bool); + return new P.DateTime(t1, false); + } else if (o.constructor === $.$get$_dartProxyCtor()) + return o.o; + else + return P._wrapToDart(o); + }, + _wrapToDart: function(o) { + if (typeof o == "function") + return P._getDartProxy(o, $.$get$DART_CLOSURE_PROPERTY_NAME(), new P._wrapToDart_closure()); + if (o instanceof Array) + return P._getDartProxy(o, $.$get$_DART_OBJECT_PROPERTY_NAME(), new P._wrapToDart_closure0()); + return P._getDartProxy(o, $.$get$_DART_OBJECT_PROPERTY_NAME(), new P._wrapToDart_closure1()); + }, + _getDartProxy: function(o, propertyName, createProxy) { + var dartProxy = P._getOwnProperty(o, propertyName); + if (dartProxy == null || !(o instanceof Object)) { + dartProxy = createProxy.call$1(o); + P._defineProperty(o, propertyName, dartProxy); + } + return dartProxy; + }, + _convertDartFunctionFast: function(f) { + var ret, + existing = f.$dart_jsFunction; + if (existing != null) + return existing; + ret = function(_call, f) { + return function() { + return _call(f, Array.prototype.slice.apply(arguments)); + }; + }(P._callDartFunctionFast, f); + ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; + f.$dart_jsFunction = ret; + return ret; + }, + _callDartFunctionFast: function(callback, $arguments) { + type$.List_dynamic._as($arguments); + return P.Function_apply(type$.Function._as(callback), $arguments); + }, + allowInterop: function(f, $F) { + if (typeof f == "function") + return f; + else + return $F._as(P._convertDartFunctionFast(f)); + }, + _convertToJS_closure: function _convertToJS_closure() { + }, + _convertToJS_closure0: function _convertToJS_closure0(t0) { + this.ctor = t0; + }, + _wrapToDart_closure: function _wrapToDart_closure() { + }, + _wrapToDart_closure0: function _wrapToDart_closure0() { + }, + _wrapToDart_closure1: function _wrapToDart_closure1() { + }, + JsObject: function JsObject(t0) { + this._jsObject = t0; + }, + JsFunction: function JsFunction(t0) { + this._jsObject = t0; + }, + JsArray: function JsArray(t0, t1) { + this._jsObject = t0; + this.$ti = t1; + }, + _JsArray_JsObject_ListMixin: function _JsArray_JsObject_ListMixin() { + } + }, + W = { + _convertNativeToDart_Window: function(win) { + return W._DOMWindowCrossFrame__createSafe(win); + }, + _DOMWindowCrossFrame__createSafe: function(w) { + if (w === window) + return type$.WindowBase._as(w); + else + return new W._DOMWindowCrossFrame(w); + }, + HtmlElement: function HtmlElement() { + }, + AnchorElement: function AnchorElement() { + }, + AreaElement: function AreaElement() { + }, + Blob: function Blob() { + }, + CanvasElement: function CanvasElement() { + }, + CanvasRenderingContext2D: function CanvasRenderingContext2D() { + }, + CharacterData: function CharacterData() { + }, + Comment: function Comment() { + }, + CssStyleDeclaration: function CssStyleDeclaration() { + }, + CssStyleDeclarationBase: function CssStyleDeclarationBase() { + }, + DivElement: function DivElement() { + }, + DomException: function DomException() { + }, + DomTokenList: function DomTokenList() { + }, + _FrozenElementList: function _FrozenElementList(t0, t1) { + this._nodeList = t0; + this.$ti = t1; + }, + Element: function Element() { + }, + Event: function Event() { + }, + EventTarget: function EventTarget() { + }, + File: function File() { + }, + FormElement: function FormElement() { + }, + ImageData: function ImageData() { + }, + Node: function Node() { + }, + NodeList: function NodeList() { + }, + SelectElement: function SelectElement() { + }, + TableCellElement: function TableCellElement() { + }, + Window: function Window() { + }, + WorkerGlobalScope: function WorkerGlobalScope() { + }, + ImmutableListMixin: function ImmutableListMixin() { + }, + FixedSizeListIterator: function FixedSizeListIterator(t0, t1, t2) { + var _ = this; + _._array = t0; + _._html$_length = t1; + _._position = -1; + _._html$_current = null; + _.$ti = t2; + }, + _DOMWindowCrossFrame: function _DOMWindowCrossFrame(t0) { + this._window = t0; + }, + _CssStyleDeclaration_Interceptor_CssStyleDeclarationBase: function _CssStyleDeclaration_Interceptor_CssStyleDeclarationBase() { + }, + _NodeList_Interceptor_ListMixin: function _NodeList_Interceptor_ListMixin() { + }, + _NodeList_Interceptor_ListMixin_ImmutableListMixin: function _NodeList_Interceptor_ListMixin_ImmutableListMixin() { + } + }, + V = { + test_list: function(str) { + var t1 = type$.JSArray_String; + if (C.JSArray_methods.join$1(H.setRuntimeTypeInfo(str.split(""), t1), "").length === 0) + return H.setRuntimeTypeInfo([], t1); + return H.setRuntimeTypeInfo(["a", "b", "c"], t1); + }, + b_run: function() { + var $async$goto = 0, + $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic); + var $async$b_run = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return P._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + P.print("object in b_run"); + $async$goto = 2; + return P._asyncAwait(V.md5run(), $async$b_run); + case 2: + // returning from await. + $async$goto = 3; + return P._asyncAwait(V.async_catch(), $async$b_run); + case 3: + // returning from await. + P.print("object after 1s"); + // implicit return + return P._asyncReturn(null, $async$completer); + } + }); + return P._asyncStartSync($async$b_run, $async$completer); + }, + md5run: function() { + var $async$goto = 0, + $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic); + var $async$md5run = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return P._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + P.print("object in md5run"); + $async$goto = 2; + return P._asyncAwait(P.Future_Future$delayed(P.Duration$(1000), type$.dynamic), $async$md5run); + case 2: + // returning from await. + P.print("object in md5run after 1s"); + // implicit return + return P._asyncReturn(null, $async$completer); + } + }); + return P._asyncStartSync($async$md5run, $async$completer); + }, + a_async_throw: function() { + var $async$goto = 0, + $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic); + var $async$a_async_throw = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return P._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + throw H.wrapException("a_async_throw"); + // implicit return + return P._asyncReturn(null, $async$completer); + } + }); + return P._asyncStartSync($async$a_async_throw, $async$completer); + }, + async_catch: function() { + var $async$goto = 0, + $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic), + $async$handler = 1, $async$currentError, $async$next = [], e, exception, $async$exception; + var $async$async_catch = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$handler = 3; + $async$goto = 6; + return P._asyncAwait(V.a_async_throw(), $async$async_catch); + case 6: + // returning from await. + $async$handler = 1; + // goto after finally + $async$goto = 5; + break; + case 3: + // catch + $async$handler = 2; + $async$exception = $async$currentError; + e = H.unwrapException($async$exception); + P.print(e); + // goto after finally + $async$goto = 5; + break; + case 2: + // uncaught + // goto rethrow + $async$goto = 1; + break; + case 5: + // after finally + // implicit return + return P._asyncReturn(null, $async$completer); + case 1: + // rethrow + return P._asyncRethrow($async$currentError, $async$completer); + } + }); + return P._asyncStartSync($async$async_catch, $async$completer); + }, + a_run: function() { + var $async$goto = 0, + $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic); + var $async$a_run = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return P._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + P.print("object"); + $async$goto = 2; + return P._asyncAwait(V.md5run(), $async$a_run); + case 2: + // returning from await. + $async$goto = 3; + return P._asyncAwait(V.b_run(), $async$a_run); + case 3: + // returning from await. + P.print("object after 1s"); + // implicit return + return P._asyncReturn(null, $async$completer); + } + }); + return P._asyncStartSync($async$a_run, $async$completer); + }, + main: function() { + var reg_exp, t1, t2, t3, comment, e, ctx, t4, double_list, t5, range, index, test_map, tr, td, plist, pbody, p, a, i, b, + _s13_ = "Hello, World!", + _s1_ = "b"; + P.print(V.test_list("abc")); + P.print(V.test_list("")); + P.print($.$get$Dt_at()); + reg_exp = P.RegExp_RegExp("^\\d{1,2}$"); + P.print(reg_exp._nativeRegExp.test("1")); + t1 = document; + t2 = t1.querySelector("#an-id"); + t2.toString; + t3 = t1.querySelector(".a-class"); + t3.toString; + comment = t1.createComment("comment"); + e = t1.createElement("canvas"); + C.CanvasElement_methods.set$width(e, 100); + C.CanvasElement_methods.set$height(e, 100); + ctx = type$.CanvasRenderingContext2D._as(C.CanvasElement_methods.getContext$1(e, "2d")); + C.CanvasRenderingContext2D_methods.set$fillStyle(ctx, "black"); + ctx.fillRect(0, 0, 100, 100); + C.CanvasRenderingContext2D_methods.set$fillStyle(ctx, "white"); + ctx.measureText(_s13_); + ctx.fillText("Hello, World!", 0, 15, 100); + C.Comment_methods.addEventListener$2(comment, "click", new V.main_closure()); + J.addEventListener$2$x(t3, "click", new V.main_closure0()); + t4 = type$.Element; + H.checkTypeBound(t4, t4, "T", "querySelectorAll"); + t4 = t1.querySelectorAll("div"); + double_list = H.setRuntimeTypeInfo([1, 2, 3, 5, 5.002], type$.JSArray_double); + P.RangeError_checkValidRange(0, 2, double_list.length); + t5 = type$.double; + P.print(H.SubListIterable$(double_list, 0, 2, t5).toList$0(0)); + range = H.setRuntimeTypeInfo(new Array(5), type$.JSArray_int); + for (index = 0; index < 5; ++index) + range[index] = index; + P.print(range); + P.RangeError_checkValidRange(3, 1, double_list.length); + P.print(H.SubListIterable$(double_list, 3, 1, t5).toList$0(0)); + C.JSArray_methods.add$1(double_list, 4); + if (!!double_list.fixed$length) + H.throwExpression(P.UnsupportedError$("removeAt")); + t5 = double_list.length; + if (0 >= t5) + H.throwExpression(P.RangeError$value(0, null)); + double_list.splice(0, 1)[0]; + C.JSArray_methods.$indexSet(double_list, 0, 5); + if (0 >= double_list.length) + return H.ioore(double_list, 0); + P.print(double_list[0]); + C.JSArray_methods.forEach$1(double_list, new V.main_closure1()); + $.$get$_context().callMethod$2("setTimeout", [P.allowInterop(new V.main_closure2(), type$.Null_Function), 1000]); + test_map = P.LinkedHashMap_LinkedHashMap$_literal(["a", 1], type$.String, type$.int); + V.a_run(); + test_map.$indexSet(0, _s1_, 2); + test_map.remove$1(0, "a"); + test_map.$indexSet(0, _s1_, 3); + if (test_map.containsKey$1(_s1_)) + test_map.$indexSet(0, _s1_, 4); + P.print(test_map.$index(0, _s1_)); + test_map.forEach$1(0, new V.main_closure3()); + P.print(test_map._length); + P.print(test_map._length === 0); + P.print(test_map._length !== 0); + P.print(test_map.containsKey$1(_s1_)); + P.print(test_map.containsValue$1(3)); + t5 = H._instanceType(test_map)._eval$1("LinkedHashMapKeyIterable<1>"); + P.print(P.List_List$of(new H.LinkedHashMapKeyIterable(test_map, t5), true, t5._eval$1("Iterable.E"))); + t5 = test_map.get$values(test_map); + P.print(P.List_List$of(t5, true, H._instanceType(t5)._eval$1("Iterable.E"))); + P.print(P.MapBase_mapToString(test_map)); + test_map.clear$0(0); + t5 = W._convertNativeToDart_Window(window.parent); + if (t5 != null) + J.postMessage$2$x(t5, "\u4ec0\u4e48\u5947\u602a\u4e1c\u897f", "*"); + P.print(test_map); + tr = t1.createElement("tr"); + td = t1.createElement("td"); + tr.appendChild(td); + C.TableCellElement_methods.set$text(td, "\u51fb\u6740"); + t5 = td.style; + t5.width = "44px"; + td = t1.createElement("td"); + tr.appendChild(td); + C.TableCellElement_methods.set$text(td, "\u81f4\u547d\u4e00\u51fb"); + t5 = td.style; + t5.minWidth = "112px"; + t5 = type$.DivElement; + plist = t5._as(t1.querySelector(".plist")); + pbody = t5._as(t1.querySelector(".pbody")); + p = t1.createElement("div"); + p.classList.add("p"); + p.appendChild(tr); + pbody.appendChild(p); + plist.appendChild(pbody); + P.print(t2); + P.print(t3); + P.print(new W._FrozenElementList(t4, type$._FrozenElementList_Element)); + t1.querySelector("#inputs").appendChild(t2); + P.print(_s13_); + for (a = _s13_, i = 0; i < 10; ++i) + a += " " + C.JSInt_methods.toString$0(i); + for (b = 124242424, i = 0; i < 10; ++i) + b += b * i; + P.Future_Future$delayed(P.Duration$(1000), type$.dynamic).then$1$1(new V.main_closure4(), type$.Null); + new V.main_closure5().call$0(); + P.print(a); + }, + main_closure: function main_closure() { + }, + main_closure0: function main_closure0() { + }, + main_closure1: function main_closure1() { + }, + main_closure2: function main_closure2() { + }, + main_closure3: function main_closure3() { + }, + main_closure4: function main_closure4() { + }, + main_closure5: function main_closure5() { + } + }; + var holders = [C, H, J, P, W, V]; + hunkHelpers.setFunctionNamesIfNecessary(holders); + var $ = {}; + H.JS_CONST.prototype = {}; + J.Interceptor.prototype = { + $eq: function(receiver, other) { + return receiver === other; + }, + get$hashCode: function(receiver) { + return H.Primitives_objectHashCode(receiver); + }, + toString$0: function(receiver) { + return "Instance of '" + H.Primitives_objectTypeName(receiver) + "'"; + }, + noSuchMethod$1: function(receiver, invocation) { + type$.Invocation._as(invocation); + throw H.wrapException(P.NoSuchMethodError$(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments())); + } + }; + J.JSBool.prototype = { + toString$0: function(receiver) { + return String(receiver); + }, + get$hashCode: function(receiver) { + return receiver ? 519018 : 218159; + }, + $isbool: 1 + }; + J.JSNull.prototype = { + $eq: function(receiver, other) { + return null == other; + }, + toString$0: function(receiver) { + return "null"; + }, + get$hashCode: function(receiver) { + return 0; + }, + $isNull: 1 + }; + J.JavaScriptObject.prototype = { + get$hashCode: function(receiver) { + return 0; + }, + toString$0: function(receiver) { + return String(receiver); + }, + $isJSObject: 1 + }; + J.PlainJavaScriptObject.prototype = {}; + J.UnknownJavaScriptObject.prototype = {}; + J.JavaScriptFunction.prototype = { + toString$0: function(receiver) { + var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()]; + if (dartClosure == null) + return this.super$JavaScriptObject$toString(receiver); + return "JavaScript function for " + H.S(J.toString$0$(dartClosure)); + }, + $isFunction: 1 + }; + J.JSArray.prototype = { + add$1: function(receiver, value) { + H._arrayInstanceType(receiver)._precomputed1._as(value); + if (!!receiver.fixed$length) + H.throwExpression(P.UnsupportedError$("add")); + receiver.push(value); + }, + addAll$1: function(receiver, collection) { + var t1; + H._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(collection); + if (!!receiver.fixed$length) + H.throwExpression(P.UnsupportedError$("addAll")); + if (Array.isArray(collection)) { + this._addAllFromArray$1(receiver, collection); + return; + } + for (t1 = J.get$iterator$ax(collection); t1.moveNext$0();) + receiver.push(t1.get$current()); + }, + _addAllFromArray$1: function(receiver, array) { + var len, i; + type$.JSArray_dynamic._as(array); + len = array.length; + if (len === 0) + return; + if (receiver === array) + throw H.wrapException(P.ConcurrentModificationError$(receiver)); + for (i = 0; i < len; ++i) + receiver.push(array[i]); + }, + forEach$1: function(receiver, f) { + var end, i; + H._arrayInstanceType(receiver)._eval$1("~(1)")._as(f); + end = receiver.length; + for (i = 0; i < end; ++i) { + f.call$1(receiver[i]); + if (receiver.length !== end) + throw H.wrapException(P.ConcurrentModificationError$(receiver)); + } + }, + map$1$1: function(receiver, f, $T) { + var t1 = H._arrayInstanceType(receiver); + return new H.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>")); + }, + join$1: function(receiver, separator) { + var i, + list = P.List_List$filled(receiver.length, "", false, type$.String); + for (i = 0; i < receiver.length; ++i) + this.$indexSet(list, i, H.S(receiver[i])); + return list.join(separator); + }, + elementAt$1: function(receiver, index) { + if (index < 0 || index >= receiver.length) + return H.ioore(receiver, index); + return receiver[index]; + }, + toString$0: function(receiver) { + return P.IterableBase_iterableToFullString(receiver, "[", "]"); + }, + get$iterator: function(receiver) { + return new J.ArrayIterator(receiver, receiver.length, H._arrayInstanceType(receiver)._eval$1("ArrayIterator<1>")); + }, + get$hashCode: function(receiver) { + return H.Primitives_objectHashCode(receiver); + }, + get$length: function(receiver) { + return receiver.length; + }, + $index: function(receiver, index) { + if (index >= receiver.length || index < 0) + throw H.wrapException(H.diagnoseIndexError(receiver, index)); + return receiver[index]; + }, + $indexSet: function(receiver, index, value) { + H._arrayInstanceType(receiver)._precomputed1._as(value); + if (!!receiver.immutable$list) + H.throwExpression(P.UnsupportedError$("indexed set")); + if (index >= receiver.length || false) + throw H.wrapException(H.diagnoseIndexError(receiver, index)); + receiver[index] = value; + }, + $isIterable: 1, + $isList: 1 + }; + J.JSUnmodifiableArray.prototype = {}; + J.ArrayIterator.prototype = { + get$current: function() { + return this.$ti._precomputed1._as(this._current); + }, + moveNext$0: function() { + var t2, _this = this, + t1 = _this._iterable, + $length = t1.length; + if (_this.__interceptors$_length !== $length) + throw H.wrapException(H.throwConcurrentModificationError(t1)); + t2 = _this._index; + if (t2 >= $length) { + _this.set$_current(null); + return false; + } + _this.set$_current(t1[t2]); + ++_this._index; + return true; + }, + set$_current: function(_current) { + this._current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + J.JSNumber.prototype = { + toString$0: function(receiver) { + if (receiver === 0 && 1 / receiver < 0) + return "-0.0"; + else + return "" + receiver; + }, + get$hashCode: function(receiver) { + var absolute, floorLog2, factor, scaled, + intValue = receiver | 0; + if (receiver === intValue) + return intValue & 536870911; + absolute = Math.abs(receiver); + floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0; + factor = Math.pow(2, floorLog2); + scaled = absolute < 1 ? absolute / factor : factor / absolute; + return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911; + }, + _tdivFast$1: function(receiver, other) { + return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other); + }, + _tdivSlow$1: function(receiver, other) { + var quotient = receiver / other; + if (quotient >= -2147483648 && quotient <= 2147483647) + return quotient | 0; + if (quotient > 0) { + if (quotient !== 1 / 0) + return Math.floor(quotient); + } else if (quotient > -1 / 0) + return Math.ceil(quotient); + throw H.wrapException(P.UnsupportedError$("Result of truncating division is " + H.S(quotient) + ": " + H.S(receiver) + " ~/ " + other)); + }, + _shrOtherPositive$1: function(receiver, other) { + var t1; + if (receiver > 0) + t1 = this._shrBothPositive$1(receiver, other); + else { + t1 = other > 31 ? 31 : other; + t1 = receiver >> t1 >>> 0; + } + return t1; + }, + _shrBothPositive$1: function(receiver, other) { + return other > 31 ? 0 : receiver >>> other; + }, + $isdouble: 1, + $isnum: 1 + }; + J.JSInt.prototype = {$isint: 1}; + J.JSDouble.prototype = {}; + J.JSString.prototype = { + $add: function(receiver, other) { + return receiver + other; + }, + substring$2: function(receiver, startIndex, endIndex) { + if (endIndex == null) + endIndex = receiver.length; + if (startIndex < 0) + throw H.wrapException(P.RangeError$value(startIndex, null)); + if (startIndex > endIndex) + throw H.wrapException(P.RangeError$value(startIndex, null)); + if (endIndex > receiver.length) + throw H.wrapException(P.RangeError$value(endIndex, null)); + return receiver.substring(startIndex, endIndex); + }, + toString$0: function(receiver) { + return receiver; + }, + get$hashCode: function(receiver) { + var t1, hash, i; + for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) { + hash = hash + receiver.charCodeAt(i) & 536870911; + hash = hash + ((hash & 524287) << 10) & 536870911; + hash ^= hash >> 6; + } + hash = hash + ((hash & 67108863) << 3) & 536870911; + hash ^= hash >> 11; + return hash + ((hash & 16383) << 15) & 536870911; + }, + get$length: function(receiver) { + return receiver.length; + }, + $isString: 1 + }; + H.LateError.prototype = { + toString$0: function(_) { + var t1 = "LateInitializationError: " + this._message; + return t1; + } + }; + H.EfficientLengthIterable.prototype = {}; + H.ListIterable.prototype = { + get$iterator: function(_) { + var _this = this; + return new H.ListIterator(_this, _this.get$length(_this), H._instanceType(_this)._eval$1("ListIterator")); + } + }; + H.SubListIterable.prototype = { + get$_endIndex: function() { + var $length = J.get$length$asx(this.__internal$_iterable), + endOrLength = this._endOrLength; + if (endOrLength > $length) + return $length; + return endOrLength; + }, + get$_startIndex: function() { + var $length = J.get$length$asx(this.__internal$_iterable), + t1 = this._start; + if (t1 > $length) + return $length; + return t1; + }, + get$length: function(_) { + var endOrLength, + $length = J.get$length$asx(this.__internal$_iterable), + t1 = this._start; + if (t1 >= $length) + return 0; + endOrLength = this._endOrLength; + if (endOrLength >= $length) + return $length - t1; + return endOrLength - t1; + }, + elementAt$1: function(_, index) { + var _this = this, + realIndex = _this.get$_startIndex() + index, + t1 = _this.get$_endIndex(); + if (realIndex >= t1) + throw H.wrapException(P.IndexError$(index, _this, "index", null, null)); + return J.elementAt$1$ax(_this.__internal$_iterable, realIndex); + }, + toList$0: function(_) { + var $length, result, i, _this = this, + start = _this._start, + t1 = _this.__internal$_iterable, + t2 = J.getInterceptor$asx(t1), + end = t2.get$length(t1), + endOrLength = _this._endOrLength; + if (endOrLength < end) + end = endOrLength; + $length = end - start; + if ($length <= 0) { + t1 = J.JSArray_JSArray$growable(0, _this.$ti._precomputed1); + return t1; + } + result = P.List_List$filled($length, t2.elementAt$1(t1, start), true, _this.$ti._precomputed1); + for (i = 1; i < $length; ++i) { + C.JSArray_methods.$indexSet(result, i, t2.elementAt$1(t1, start + i)); + if (t2.get$length(t1) < end) + throw H.wrapException(P.ConcurrentModificationError$(_this)); + } + return result; + } + }; + H.ListIterator.prototype = { + get$current: function() { + return this.$ti._precomputed1._as(this.__internal$_current); + }, + moveNext$0: function() { + var t3, _this = this, + t1 = _this.__internal$_iterable, + t2 = J.getInterceptor$asx(t1), + $length = t2.get$length(t1); + if (_this.__internal$_length !== $length) + throw H.wrapException(P.ConcurrentModificationError$(t1)); + t3 = _this.__internal$_index; + if (t3 >= $length) { + _this.set$__internal$_current(null); + return false; + } + _this.set$__internal$_current(t2.elementAt$1(t1, t3)); + ++_this.__internal$_index; + return true; + }, + set$__internal$_current: function(_current) { + this.__internal$_current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + H.MappedIterable.prototype = { + get$iterator: function(_) { + var t1 = H._instanceType(this); + return new H.MappedIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("MappedIterator<1,2>")); + }, + get$length: function(_) { + return J.get$length$asx(this.__internal$_iterable); + } + }; + H.EfficientLengthMappedIterable.prototype = {}; + H.MappedIterator.prototype = { + moveNext$0: function() { + var _this = this, + t1 = _this._iterator; + if (t1.moveNext$0()) { + _this.set$__internal$_current(_this._f.call$1(t1.get$current())); + return true; + } + _this.set$__internal$_current(null); + return false; + }, + get$current: function() { + return this.$ti._rest[1]._as(this.__internal$_current); + }, + set$__internal$_current: function(_current) { + this.__internal$_current = this.$ti._eval$1("2?")._as(_current); + } + }; + H.MappedListIterable.prototype = { + get$length: function(_) { + return J.get$length$asx(this._source); + }, + elementAt$1: function(_, index) { + return this._f.call$1(J.elementAt$1$ax(this._source, index)); + } + }; + H.FixedLengthListMixin.prototype = {}; + H.Symbol.prototype = { + get$hashCode: function(_) { + var hash = this._hashCode; + if (hash != null) + return hash; + hash = 664597 * J.get$hashCode$(this.__internal$_name) & 536870911; + this._hashCode = hash; + return hash; + }, + toString$0: function(_) { + return 'Symbol("' + H.S(this.__internal$_name) + '")'; + }, + $eq: function(_, other) { + if (other == null) + return false; + return other instanceof H.Symbol && this.__internal$_name == other.__internal$_name; + }, + $isSymbol0: 1 + }; + H.ConstantMapView.prototype = {}; + H.ConstantMap.prototype = { + toString$0: function(_) { + return P.MapBase_mapToString(this); + }, + $isMap: 1 + }; + H.ConstantStringMap.prototype = { + get$length: function(_) { + return this._length; + }, + _fetch$1: function(key) { + return this.__js_helper$_jsObject[H._asString(key)]; + }, + forEach$1: function(_, f) { + var keys, t2, i, key, + t1 = H._instanceType(this); + t1._eval$1("~(1,2)")._as(f); + keys = this._keys; + for (t2 = keys.length, t1 = t1._rest[1], i = 0; i < t2; ++i) { + key = keys[i]; + f.call$2(key, t1._as(this._fetch$1(key))); + } + } + }; + H.JSInvocationMirror.prototype = { + get$memberName: function() { + var t1 = this._memberName; + return t1; + }, + get$positionalArguments: function() { + var t1, argumentCount, list, index, _this = this; + if (_this.__js_helper$_kind === 1) + return C.List_empty; + t1 = _this._arguments; + argumentCount = t1.length - _this._namedArgumentNames.length - _this._typeArgumentCount; + if (argumentCount === 0) + return C.List_empty; + list = []; + for (index = 0; index < argumentCount; ++index) { + if (index >= t1.length) + return H.ioore(t1, index); + list.push(t1[index]); + } + list.fixed$length = Array; + list.immutable$list = Array; + return list; + }, + get$namedArguments: function() { + var t1, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, t3, t4, _this = this; + if (_this.__js_helper$_kind !== 0) + return C.Map_empty; + t1 = _this._namedArgumentNames; + namedArgumentCount = t1.length; + t2 = _this._arguments; + namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount; + if (namedArgumentCount === 0) + return C.Map_empty; + map = new H.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic); + for (i = 0; i < namedArgumentCount; ++i) { + if (i >= t1.length) + return H.ioore(t1, i); + t3 = t1[i]; + t4 = namedArgumentsStartIndex + i; + if (t4 < 0 || t4 >= t2.length) + return H.ioore(t2, t4); + map.$indexSet(0, new H.Symbol(t3), t2[t4]); + } + return new H.ConstantMapView(map, type$.ConstantMapView_Symbol_dynamic); + }, + $isInvocation: 1 + }; + H.Primitives_functionNoSuchMethod_closure.prototype = { + call$2: function($name, argument) { + var t1; + H._asString($name); + t1 = this._box_0; + t1.names = t1.names + "$" + $name; + C.JSArray_methods.add$1(this.namedArgumentList, $name); + C.JSArray_methods.add$1(this.$arguments, argument); + ++t1.argumentCount; + }, + $signature: 7 + }; + H.TypeErrorDecoder.prototype = { + matchTypeError$1: function(message) { + var result, t1, _this = this, + match = new RegExp(_this._pattern).exec(message); + if (match == null) + return null; + result = Object.create(null); + t1 = _this._arguments; + if (t1 !== -1) + result.arguments = match[t1 + 1]; + t1 = _this._argumentsExpr; + if (t1 !== -1) + result.argumentsExpr = match[t1 + 1]; + t1 = _this._expr; + if (t1 !== -1) + result.expr = match[t1 + 1]; + t1 = _this._method; + if (t1 !== -1) + result.method = match[t1 + 1]; + t1 = _this._receiver; + if (t1 !== -1) + result.receiver = match[t1 + 1]; + return result; + } + }; + H.NullError.prototype = { + toString$0: function(_) { + var t1 = this._method; + if (t1 == null) + return "NoSuchMethodError: " + this.__js_helper$_message; + return "NoSuchMethodError: method not found: '" + t1 + "' on null"; + } + }; + H.JsNoSuchMethodError.prototype = { + toString$0: function(_) { + var t2, _this = this, + _s38_ = "NoSuchMethodError: method not found: '", + t1 = _this._method; + if (t1 == null) + return "NoSuchMethodError: " + _this.__js_helper$_message; + t2 = _this._receiver; + if (t2 == null) + return _s38_ + t1 + "' (" + _this.__js_helper$_message + ")"; + return _s38_ + t1 + "' on '" + t2 + "' (" + _this.__js_helper$_message + ")"; + } + }; + H.UnknownJsTypeError.prototype = { + toString$0: function(_) { + var t1 = this.__js_helper$_message; + return t1.length === 0 ? "Error" : "Error: " + t1; + } + }; + H.NullThrownFromJavaScriptException.prototype = { + toString$0: function(_) { + return "Throw of null ('" + (this._irritant === null ? "null" : "undefined") + "' from JavaScript)"; + } + }; + H.ExceptionAndStackTrace.prototype = {}; + H._StackTrace.prototype = { + toString$0: function(_) { + var trace, + t1 = this._trace; + if (t1 != null) + return t1; + t1 = this._exception; + trace = t1 !== null && typeof t1 === "object" ? t1.stack : null; + return this._trace = trace == null ? "" : trace; + }, + $isStackTrace: 1 + }; + H.Closure.prototype = { + toString$0: function(_) { + var $constructor = this.constructor, + $name = $constructor == null ? null : $constructor.name; + return "Closure '" + H.unminifyOrTag($name == null ? "unknown" : $name) + "'"; + }, + $isFunction: 1, + get$$call: function() { + return this; + }, + "call*": "call$1", + $requiredArgCount: 1, + $defaultValues: null + }; + H.TearOffClosure.prototype = {}; + H.StaticClosure.prototype = { + toString$0: function(_) { + var $name = this.$static_name; + if ($name == null) + return "Closure of unknown static method"; + return "Closure '" + H.unminifyOrTag($name) + "'"; + } + }; + H.BoundClosure.prototype = { + $eq: function(_, other) { + var _this = this; + if (other == null) + return false; + if (_this === other) + return true; + if (!(other instanceof H.BoundClosure)) + return false; + return _this._self === other._self && _this._target === other._target && _this._receiver === other._receiver; + }, + get$hashCode: function(_) { + var receiverHashCode, + t1 = this._receiver; + if (t1 == null) + receiverHashCode = H.Primitives_objectHashCode(this._self); + else + receiverHashCode = typeof t1 !== "object" ? J.get$hashCode$(t1) : H.Primitives_objectHashCode(t1); + return (receiverHashCode ^ H.Primitives_objectHashCode(this._target)) >>> 0; + }, + toString$0: function(_) { + var receiver = this._receiver; + if (receiver == null) + receiver = this._self; + return "Closure '" + H.S(this._name) + "' of " + ("Instance of '" + H.Primitives_objectTypeName(type$.Object._as(receiver)) + "'"); + } + }; + H.RuntimeError.prototype = { + toString$0: function(_) { + return "RuntimeError: " + this.message; + } + }; + H._AssertionError.prototype = { + toString$0: function(_) { + return "Assertion failed: " + P.Error_safeToString(this.message); + } + }; + H._Required.prototype = {}; + H.JsLinkedHashMap.prototype = { + get$length: function(_) { + return this._length; + }, + get$values: function(_) { + var t1 = H._instanceType(this); + return H.MappedIterable_MappedIterable(new H.LinkedHashMapKeyIterable(this, t1._eval$1("LinkedHashMapKeyIterable<1>")), new H.JsLinkedHashMap_values_closure(this), t1._precomputed1, t1._rest[1]); + }, + containsKey$1: function(key) { + var strings = this._strings; + if (strings == null) + return false; + return this._containsTableEntry$2(strings, key); + }, + containsValue$1: function(value) { + return new H.LinkedHashMapKeyIterable(this, H._instanceType(this)._eval$1("LinkedHashMapKeyIterable<1>")).any$1(0, new H.JsLinkedHashMap_containsValue_closure(this, value)); + }, + $index: function(_, key) { + var strings, cell, t1, nums, _this = this, _null = null; + if (typeof key == "string") { + strings = _this._strings; + if (strings == null) + return _null; + cell = _this._getTableCell$2(strings, key); + t1 = cell == null ? _null : cell.hashMapCellValue; + return t1; + } else if (typeof key == "number" && (key & 0x3ffffff) === key) { + nums = _this._nums; + if (nums == null) + return _null; + cell = _this._getTableCell$2(nums, key); + t1 = cell == null ? _null : cell.hashMapCellValue; + return t1; + } else + return _this.internalGet$1(key); + }, + internalGet$1: function(key) { + var bucket, index, + rest = this.__js_helper$_rest; + if (rest == null) + return null; + bucket = this._getTableBucket$2(rest, J.get$hashCode$(key) & 0x3ffffff); + index = this.internalFindBucketIndex$2(bucket, key); + if (index < 0) + return null; + return bucket[index].hashMapCellValue; + }, + $indexSet: function(_, key, value) { + var strings, nums, rest, hash, bucket, index, _this = this, + t1 = H._instanceType(_this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + if (typeof key == "string") { + strings = _this._strings; + _this._addHashTableEntry$3(strings == null ? _this._strings = _this._newHashTable$0() : strings, key, value); + } else if (typeof key == "number" && (key & 0x3ffffff) === key) { + nums = _this._nums; + _this._addHashTableEntry$3(nums == null ? _this._nums = _this._newHashTable$0() : nums, key, value); + } else { + rest = _this.__js_helper$_rest; + if (rest == null) + rest = _this.__js_helper$_rest = _this._newHashTable$0(); + hash = J.get$hashCode$(key) & 0x3ffffff; + bucket = _this._getTableBucket$2(rest, hash); + if (bucket == null) + _this._setTableEntry$3(rest, hash, [_this._newLinkedCell$2(key, value)]); + else { + index = _this.internalFindBucketIndex$2(bucket, key); + if (index >= 0) + bucket[index].hashMapCellValue = value; + else + bucket.push(_this._newLinkedCell$2(key, value)); + } + } + }, + remove$1: function(_, key) { + var t1 = this._removeHashTableEntry$2(this._strings, key); + return t1; + }, + clear$0: function(_) { + var _this = this; + if (_this._length > 0) { + _this._strings = _this._nums = _this.__js_helper$_rest = _this._first = _this._last = null; + _this._length = 0; + _this._modified$0(); + } + }, + forEach$1: function(_, action) { + var cell, modifications, _this = this; + H._instanceType(_this)._eval$1("~(1,2)")._as(action); + cell = _this._first; + modifications = _this._modifications; + for (; cell != null;) { + action.call$2(cell.hashMapCellKey, cell.hashMapCellValue); + if (modifications !== _this._modifications) + throw H.wrapException(P.ConcurrentModificationError$(_this)); + cell = cell._next; + } + }, + _addHashTableEntry$3: function(table, key, value) { + var cell, _this = this, + t1 = H._instanceType(_this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + cell = _this._getTableCell$2(table, key); + if (cell == null) + _this._setTableEntry$3(table, key, _this._newLinkedCell$2(key, value)); + else + cell.hashMapCellValue = value; + }, + _removeHashTableEntry$2: function(table, key) { + var cell; + if (table == null) + return null; + cell = this._getTableCell$2(table, key); + if (cell == null) + return null; + this._unlinkCell$1(cell); + this._deleteTableEntry$2(table, key); + return cell.hashMapCellValue; + }, + _modified$0: function() { + this._modifications = this._modifications + 1 & 67108863; + }, + _newLinkedCell$2: function(key, value) { + var _this = this, + t1 = H._instanceType(_this), + cell = new H.LinkedHashMapCell(t1._precomputed1._as(key), t1._rest[1]._as(value)); + if (_this._first == null) + _this._first = _this._last = cell; + else { + t1 = _this._last; + t1.toString; + cell._previous = t1; + _this._last = t1._next = cell; + } + ++_this._length; + _this._modified$0(); + return cell; + }, + _unlinkCell$1: function(cell) { + var _this = this, + previous = cell._previous, + next = cell._next; + if (previous == null) + _this._first = next; + else + previous._next = next; + if (next == null) + _this._last = previous; + else + next._previous = previous; + --_this._length; + _this._modified$0(); + }, + internalFindBucketIndex$2: function(bucket, key) { + var $length, i; + if (bucket == null) + return -1; + $length = bucket.length; + for (i = 0; i < $length; ++i) + if (J.$eq$(bucket[i].hashMapCellKey, key)) + return i; + return -1; + }, + toString$0: function(_) { + return P.MapBase_mapToString(this); + }, + _getTableCell$2: function(table, key) { + return table[key]; + }, + _getTableBucket$2: function(table, key) { + return table[key]; + }, + _setTableEntry$3: function(table, key, value) { + table[key] = value; + }, + _deleteTableEntry$2: function(table, key) { + delete table[key]; + }, + _containsTableEntry$2: function(table, key) { + return this._getTableCell$2(table, key) != null; + }, + _newHashTable$0: function() { + var _s20_ = "", + table = Object.create(null); + this._setTableEntry$3(table, _s20_, table); + this._deleteTableEntry$2(table, _s20_); + return table; + }, + $isLinkedHashMap: 1 + }; + H.JsLinkedHashMap_values_closure.prototype = { + call$1: function(each) { + var t1 = this.$this, + t2 = H._instanceType(t1); + return t2._rest[1]._as(t1.$index(0, t2._precomputed1._as(each))); + }, + $signature: function() { + return H._instanceType(this.$this)._eval$1("2(1)"); + } + }; + H.JsLinkedHashMap_containsValue_closure.prototype = { + call$1: function(each) { + var t1 = this.$this; + return J.$eq$(t1.$index(0, H._instanceType(t1)._precomputed1._as(each)), this.value); + }, + $signature: function() { + return H._instanceType(this.$this)._eval$1("bool(1)"); + } + }; + H.LinkedHashMapCell.prototype = {}; + H.LinkedHashMapKeyIterable.prototype = { + get$length: function(_) { + return this._map._length; + }, + get$iterator: function(_) { + var t1 = this._map, + t2 = new H.LinkedHashMapKeyIterator(t1, t1._modifications, this.$ti._eval$1("LinkedHashMapKeyIterator<1>")); + t2._cell = t1._first; + return t2; + } + }; + H.LinkedHashMapKeyIterator.prototype = { + get$current: function() { + return this.$ti._precomputed1._as(this.__js_helper$_current); + }, + moveNext$0: function() { + var cell, _this = this, + t1 = _this._map; + if (_this._modifications !== t1._modifications) + throw H.wrapException(P.ConcurrentModificationError$(t1)); + cell = _this._cell; + if (cell == null) { + _this.set$__js_helper$_current(null); + return false; + } else { + _this.set$__js_helper$_current(cell.hashMapCellKey); + _this._cell = cell._next; + return true; + } + }, + set$__js_helper$_current: function(_current) { + this.__js_helper$_current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + H.initHooks_closure.prototype = { + call$1: function(o) { + return this.getTag(o); + }, + $signature: 2 + }; + H.initHooks_closure0.prototype = { + call$2: function(o, tag) { + return this.getUnknownTag(o, tag); + }, + $signature: 8 + }; + H.initHooks_closure1.prototype = { + call$1: function(tag) { + return this.prototypeForTag(H._asString(tag)); + }, + $signature: 9 + }; + H.JSSyntaxRegExp.prototype = { + toString$0: function(_) { + return "RegExp/" + this.pattern + "/" + this._nativeRegExp.flags; + }, + $isRegExp: 1 + }; + H.NativeTypedData.prototype = {$isNativeTypedData: 1, $isTypedData: 1}; + H.NativeTypedArray.prototype = { + get$length: function(receiver) { + return receiver.length; + }, + $isJavaScriptIndexingBehavior: 1 + }; + H.NativeTypedArrayOfDouble.prototype = { + $index: function(receiver, index) { + H._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + $isIterable: 1, + $isList: 1 + }; + H.NativeTypedArrayOfInt.prototype = {$isIterable: 1, $isList: 1}; + H.NativeInt16List.prototype = { + $index: function(receiver, index) { + H._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + } + }; + H.NativeInt32List.prototype = { + $index: function(receiver, index) { + H._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + } + }; + H.NativeInt8List.prototype = { + $index: function(receiver, index) { + H._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + } + }; + H.NativeUint16List.prototype = { + $index: function(receiver, index) { + H._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + } + }; + H.NativeUint32List.prototype = { + $index: function(receiver, index) { + H._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + } + }; + H.NativeUint8ClampedList.prototype = { + get$length: function(receiver) { + return receiver.length; + }, + $index: function(receiver, index) { + H._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + } + }; + H.NativeUint8List.prototype = { + get$length: function(receiver) { + return receiver.length; + }, + $index: function(receiver, index) { + H._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + } + }; + H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.prototype = {}; + H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; + H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.prototype = {}; + H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; + H.Rti.prototype = { + _eval$1: function(recipe) { + return H._Universe_evalInEnvironment(init.typeUniverse, this, recipe); + }, + _bind$1: function(typeOrTuple) { + return H._Universe_bind(init.typeUniverse, this, typeOrTuple); + } + }; + H._FunctionParameters.prototype = {}; + H._Error.prototype = { + toString$0: function(_) { + return this.__rti$_message; + } + }; + H._TypeError.prototype = {}; + P._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = { + call$1: function(_) { + var t1 = this._box_0, + f = t1.storedCallback; + t1.storedCallback = null; + f.call$0(); + }, + $signature: 3 + }; + P._AsyncRun__initializeScheduleImmediate_closure.prototype = { + call$1: function(callback) { + var t1, t2; + this._box_0.storedCallback = type$.void_Function._as(callback); + t1 = this.div; + t2 = this.span; + t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); + }, + $signature: 10 + }; + P._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { + call$0: function() { + this.callback.call$0(); + }, + "call*": "call$0", + $requiredArgCount: 0, + $signature: 1 + }; + P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = { + call$0: function() { + this.callback.call$0(); + }, + "call*": "call$0", + $requiredArgCount: 0, + $signature: 1 + }; + P._TimerImpl.prototype = { + _TimerImpl$2: function(milliseconds, callback) { + if (self.setTimeout != null) + self.setTimeout(H.convertDartClosureToJS(new P._TimerImpl_internalCallback(this, callback), 0), milliseconds); + else + throw H.wrapException(P.UnsupportedError$("`setTimeout()` not found.")); + } + }; + P._TimerImpl_internalCallback.prototype = { + call$0: function() { + this.callback.call$0(); + }, + "call*": "call$0", + $requiredArgCount: 0, + $signature: 0 + }; + P._AsyncAwaitCompleter.prototype = {}; + P._awaitOnObject_closure.prototype = { + call$1: function(result) { + return this.bodyFunction.call$2(0, result); + }, + $signature: 11 + }; + P._awaitOnObject_closure0.prototype = { + call$2: function(error, stackTrace) { + this.bodyFunction.call$2(1, new H.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace))); + }, + "call*": "call$2", + $requiredArgCount: 2, + $signature: 12 + }; + P._wrapJsFunctionForAsync_closure.prototype = { + call$2: function(errorCode, result) { + this.$protected(H._asInt(errorCode), result); + }, + $signature: 13 + }; + P.AsyncError.prototype = { + toString$0: function(_) { + return H.S(this.error); + }, + $isError: 1, + get$stackTrace: function() { + return this.stackTrace; + } + }; + P.Future_Future$delayed_closure.prototype = { + call$0: function() { + this.result._complete$1(this.T._as(null)); + }, + $signature: 0 + }; + P._FutureListener.prototype = { + matchesErrorTest$1: function(asyncError) { + if ((this.state & 15) !== 6) + return true; + return this.result._zone.runUnary$2$2(type$.bool_Function_Object._as(this.callback), asyncError.error, type$.bool, type$.Object); + }, + handleError$1: function(asyncError) { + var errorCallback = this.errorCallback, + t1 = type$.dynamic, + t2 = type$.Object, + t3 = asyncError.error, + t4 = this.$ti._eval$1("2/"), + t5 = this.result._zone; + if (type$.dynamic_Function_Object_StackTrace._is(errorCallback)) + return t4._as(t5.runBinary$3$3(errorCallback, t3, asyncError.stackTrace, t1, t2, type$.StackTrace)); + else + return t4._as(t5.runUnary$2$2(type$.dynamic_Function_Object._as(errorCallback), t3, t1, t2)); + } + }; + P._Future.prototype = { + then$1$2$onError: function(f, onError, $R) { + var currentZone, result, t2, + t1 = this.$ti; + t1._bind$1($R)._eval$1("1/(2)")._as(f); + currentZone = $.Zone__current; + if (currentZone !== C.C__RootZone) { + $R._eval$1("@<0/>")._bind$1(t1._precomputed1)._eval$1("1(2)")._as(f); + if (onError != null) + onError = P._registerErrorHandler(onError, currentZone); + } + result = new P._Future(currentZone, $R._eval$1("_Future<0>")); + t2 = onError == null ? 1 : 3; + this._addListener$1(new P._FutureListener(result, t2, f, onError, t1._eval$1("@<1>")._bind$1($R)._eval$1("_FutureListener<1,2>"))); + return result; + }, + then$1$1: function(f, $R) { + return this.then$1$2$onError(f, null, $R); + }, + _thenAwait$1$2: function(f, onError, $E) { + var result, + t1 = this.$ti; + t1._bind$1($E)._eval$1("1/(2)")._as(f); + result = new P._Future($.Zone__current, $E._eval$1("_Future<0>")); + this._addListener$1(new P._FutureListener(result, 19, f, onError, t1._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>"))); + return result; + }, + _addListener$1: function(listener) { + var source, _this = this, + t1 = _this._state; + if (t1 <= 1) { + listener._nextListener = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); + _this._resultOrListeners = listener; + } else { + if (t1 === 2) { + source = type$._Future_dynamic._as(_this._resultOrListeners); + t1 = source._state; + if (t1 < 4) { + source._addListener$1(listener); + return; + } + _this._state = t1; + _this._resultOrListeners = source._resultOrListeners; + } + P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__addListener_closure(_this, listener))); + } + }, + _prependListeners$1: function(listeners) { + var t1, existingListeners, next, cursor, next0, source, _this = this, _box_0 = {}; + _box_0.listeners = listeners; + if (listeners == null) + return; + t1 = _this._state; + if (t1 <= 1) { + existingListeners = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); + _this._resultOrListeners = listeners; + if (existingListeners != null) { + next = listeners._nextListener; + for (cursor = listeners; next != null; cursor = next, next = next0) + next0 = next._nextListener; + cursor._nextListener = existingListeners; + } + } else { + if (t1 === 2) { + source = type$._Future_dynamic._as(_this._resultOrListeners); + t1 = source._state; + if (t1 < 4) { + source._prependListeners$1(listeners); + return; + } + _this._state = t1; + _this._resultOrListeners = source._resultOrListeners; + } + _box_0.listeners = _this._reverseListeners$1(listeners); + P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__prependListeners_closure(_box_0, _this))); + } + }, + _removeListeners$0: function() { + var current = type$.nullable__FutureListener_dynamic_dynamic._as(this._resultOrListeners); + this._resultOrListeners = null; + return this._reverseListeners$1(current); + }, + _reverseListeners$1: function(listeners) { + var current, prev, next; + for (current = listeners, prev = null; current != null; prev = current, current = next) { + next = current._nextListener; + current._nextListener = prev; + } + return prev; + }, + _chainForeignFuture$1: function(source) { + var e, s, exception, _this = this; + _this._state = 1; + try { + source.then$1$2$onError(new P._Future__chainForeignFuture_closure(_this), new P._Future__chainForeignFuture_closure0(_this), type$.Null); + } catch (exception) { + e = H.unwrapException(exception); + s = H.getTraceFromException(exception); + P.scheduleMicrotask(new P._Future__chainForeignFuture_closure1(_this, e, s)); + } + }, + _complete$1: function(value) { + var listeners, _this = this, + t1 = _this.$ti; + t1._eval$1("1/")._as(value); + if (t1._eval$1("Future<1>")._is(value)) + _this._chainForeignFuture$1(value); + else { + listeners = _this._removeListeners$0(); + t1._precomputed1._as(value); + _this._state = 4; + _this._resultOrListeners = value; + P._Future__propagateToListeners(_this, listeners); + } + }, + _completeWithValue$1: function(value) { + var listeners, _this = this; + _this.$ti._precomputed1._as(value); + listeners = _this._removeListeners$0(); + _this._state = 4; + _this._resultOrListeners = value; + P._Future__propagateToListeners(_this, listeners); + }, + _completeError$2: function(error, stackTrace) { + var listeners, t1, _this = this; + type$.StackTrace._as(stackTrace); + listeners = _this._removeListeners$0(); + t1 = P.AsyncError$(error, stackTrace); + _this._state = 8; + _this._resultOrListeners = t1; + P._Future__propagateToListeners(_this, listeners); + }, + _asyncComplete$1: function(value) { + var t1 = this.$ti; + t1._eval$1("1/")._as(value); + if (t1._eval$1("Future<1>")._is(value)) { + this._chainFuture$1(value); + return; + } + this._asyncCompleteWithValue$1(t1._precomputed1._as(value)); + }, + _asyncCompleteWithValue$1: function(value) { + var _this = this; + _this.$ti._precomputed1._as(value); + _this._state = 1; + P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__asyncCompleteWithValue_closure(_this, value))); + }, + _chainFuture$1: function(value) { + var _this = this, + t1 = _this.$ti; + t1._eval$1("Future<1>")._as(value); + if (t1._is(value)) { + if (value._state === 8) { + _this._state = 1; + P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__chainFuture_closure(_this, value))); + } else + P._Future__chainCoreFuture(value, _this); + return; + } + _this._chainForeignFuture$1(value); + }, + _asyncCompleteError$2: function(error, stackTrace) { + this._state = 1; + P._rootScheduleMicrotask(null, null, this._zone, type$.void_Function._as(new P._Future__asyncCompleteError_closure(this, error, stackTrace))); + }, + $isFuture: 1 + }; + P._Future__addListener_closure.prototype = { + call$0: function() { + P._Future__propagateToListeners(this.$this, this.listener); + }, + $signature: 0 + }; + P._Future__prependListeners_closure.prototype = { + call$0: function() { + P._Future__propagateToListeners(this.$this, this._box_0.listeners); + }, + $signature: 0 + }; + P._Future__chainForeignFuture_closure.prototype = { + call$1: function(value) { + var error, stackTrace, exception, + t1 = this.$this; + t1._state = 0; + try { + t1._completeWithValue$1(t1.$ti._precomputed1._as(value)); + } catch (exception) { + error = H.unwrapException(exception); + stackTrace = H.getTraceFromException(exception); + t1._completeError$2(error, stackTrace); + } + }, + $signature: 3 + }; + P._Future__chainForeignFuture_closure0.prototype = { + call$2: function(error, stackTrace) { + this.$this._completeError$2(type$.Object._as(error), type$.StackTrace._as(stackTrace)); + }, + "call*": "call$2", + $requiredArgCount: 2, + $signature: 14 + }; + P._Future__chainForeignFuture_closure1.prototype = { + call$0: function() { + this.$this._completeError$2(this.e, this.s); + }, + $signature: 0 + }; + P._Future__asyncCompleteWithValue_closure.prototype = { + call$0: function() { + this.$this._completeWithValue$1(this.value); + }, + $signature: 0 + }; + P._Future__chainFuture_closure.prototype = { + call$0: function() { + P._Future__chainCoreFuture(this.value, this.$this); + }, + $signature: 0 + }; + P._Future__asyncCompleteError_closure.prototype = { + call$0: function() { + this.$this._completeError$2(this.error, this.stackTrace); + }, + $signature: 0 + }; + P._Future__propagateToListeners_handleWhenCompleteCallback.prototype = { + call$0: function() { + var e, s, t1, exception, t2, originalSource, _this = this, completeResult = null; + try { + t1 = _this._box_0.listener; + completeResult = t1.result._zone.run$1$1(type$.dynamic_Function._as(t1.callback), type$.dynamic); + } catch (exception) { + e = H.unwrapException(exception); + s = H.getTraceFromException(exception); + t1 = _this.hasError && type$.AsyncError._as(_this._box_1.source._resultOrListeners).error === e; + t2 = _this._box_0; + if (t1) + t2.listenerValueOrError = type$.AsyncError._as(_this._box_1.source._resultOrListeners); + else + t2.listenerValueOrError = P.AsyncError$(e, s); + t2.listenerHasError = true; + return; + } + if (completeResult instanceof P._Future && completeResult._state >= 4) { + if (completeResult._state === 8) { + t1 = _this._box_0; + t1.listenerValueOrError = type$.AsyncError._as(completeResult._resultOrListeners); + t1.listenerHasError = true; + } + return; + } + if (type$.Future_dynamic._is(completeResult)) { + originalSource = _this._box_1.source; + t1 = _this._box_0; + t1.listenerValueOrError = completeResult.then$1$1(new P._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic); + t1.listenerHasError = false; + } + }, + $signature: 0 + }; + P._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = { + call$1: function(_) { + return this.originalSource; + }, + $signature: 15 + }; + P._Future__propagateToListeners_handleValueCallback.prototype = { + call$0: function() { + var e, s, t1, t2, t3, t4, t5, exception; + try { + t1 = this._box_0; + t2 = t1.listener; + t3 = t2.$ti; + t4 = t3._precomputed1; + t5 = t4._as(this.sourceResult); + t1.listenerValueOrError = t2.result._zone.runUnary$2$2(t3._eval$1("2/(1)")._as(t2.callback), t5, t3._eval$1("2/"), t4); + } catch (exception) { + e = H.unwrapException(exception); + s = H.getTraceFromException(exception); + t1 = this._box_0; + t1.listenerValueOrError = P.AsyncError$(e, s); + t1.listenerHasError = true; + } + }, + $signature: 0 + }; + P._Future__propagateToListeners_handleError.prototype = { + call$0: function() { + var asyncError, e, s, t1, exception, t2, _this = this; + try { + asyncError = type$.AsyncError._as(_this._box_1.source._resultOrListeners); + t1 = _this._box_0; + if (t1.listener.matchesErrorTest$1(asyncError) && t1.listener.errorCallback != null) { + t1.listenerValueOrError = t1.listener.handleError$1(asyncError); + t1.listenerHasError = false; + } + } catch (exception) { + e = H.unwrapException(exception); + s = H.getTraceFromException(exception); + t1 = type$.AsyncError._as(_this._box_1.source._resultOrListeners); + t2 = _this._box_0; + if (t1.error === e) + t2.listenerValueOrError = t1; + else + t2.listenerValueOrError = P.AsyncError$(e, s); + t2.listenerHasError = true; + } + }, + $signature: 0 + }; + P._AsyncCallbackEntry.prototype = {}; + P._StreamIterator.prototype = {}; + P._Zone.prototype = {$isZone: 1}; + P._rootHandleUncaughtError_closure.prototype = { + call$0: function() { + var error = type$.Object._as(H.wrapException(this.error)); + error.stack = this.stackTrace.toString$0(0); + throw error; + }, + $signature: 0 + }; + P._RootZone.prototype = { + runGuarded$1: function(f) { + var e, s, exception, _null = null; + type$.void_Function._as(f); + try { + if (C.C__RootZone === $.Zone__current) { + f.call$0(); + return; + } + P._rootRun(_null, _null, this, f, type$.void); + } catch (exception) { + e = H.unwrapException(exception); + s = H.getTraceFromException(exception); + P._rootHandleUncaughtError(_null, _null, this, type$.Object._as(e), type$.StackTrace._as(s)); + } + }, + bindCallback$1$1: function(f, $R) { + return new P._RootZone_bindCallback_closure(this, $R._eval$1("0()")._as(f), $R); + }, + bindCallbackGuarded$1: function(f) { + return new P._RootZone_bindCallbackGuarded_closure(this, type$.void_Function._as(f)); + }, + run$1$1: function(f, $R) { + $R._eval$1("0()")._as(f); + if ($.Zone__current === C.C__RootZone) + return f.call$0(); + return P._rootRun(null, null, this, f, $R); + }, + runUnary$2$2: function(f, arg, $R, $T) { + $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + $T._as(arg); + if ($.Zone__current === C.C__RootZone) + return f.call$1(arg); + return P._rootRunUnary(null, null, this, f, arg, $R, $T); + }, + runBinary$3$3: function(f, arg1, arg2, $R, T1, T2) { + $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); + T1._as(arg1); + T2._as(arg2); + if ($.Zone__current === C.C__RootZone) + return f.call$2(arg1, arg2); + return P._rootRunBinary(null, null, this, f, arg1, arg2, $R, T1, T2); + }, + registerBinaryCallback$3$1: function(f, $R, T1, T2) { + return $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); + } + }; + P._RootZone_bindCallback_closure.prototype = { + call$0: function() { + return this.$this.run$1$1(this.f, this.R); + }, + $signature: function() { + return this.R._eval$1("0()"); + } + }; + P._RootZone_bindCallbackGuarded_closure.prototype = { + call$0: function() { + return this.$this.runGuarded$1(this.f); + }, + $signature: 0 + }; + P.ListBase.prototype = {$isIterable: 1, $isList: 1}; + P.ListMixin.prototype = { + get$iterator: function(receiver) { + return new H.ListIterator(receiver, this.get$length(receiver), H.instanceType(receiver)._eval$1("ListIterator")); + }, + elementAt$1: function(receiver, index) { + return this.$index(receiver, index); + }, + map$1$1: function(receiver, f, $T) { + var t1 = H.instanceType(receiver); + return new H.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(ListMixin.E)")._as(f), t1._eval$1("@")._bind$1($T)._eval$1("MappedListIterable<1,2>")); + }, + toString$0: function(receiver) { + return P.IterableBase_iterableToFullString(receiver, "[", "]"); + } + }; + P.MapBase.prototype = {}; + P.MapBase_mapToString_closure.prototype = { + call$2: function(k, v) { + var t2, + t1 = this._box_0; + if (!t1.first) + this.result._contents += ", "; + t1.first = false; + t1 = this.result; + t2 = t1._contents += H.S(k); + t1._contents = t2 + ": "; + t1._contents += H.S(v); + }, + $signature: 16 + }; + P.MapMixin.prototype = { + forEach$1: function(_, action) { + var t2, t3, key, + t1 = H._instanceType(this); + t1._eval$1("~(1,2)")._as(action); + for (t2 = new H.LinkedHashMapKeyIterable(this, t1._eval$1("LinkedHashMapKeyIterable<1>")), t2 = t2.get$iterator(t2), t3 = t2.$ti._precomputed1, t1 = t1._rest[1]; t2.moveNext$0();) { + key = t3._as(t2.__js_helper$_current); + action.call$2(key, t1._as(this.$index(0, key))); + } + }, + get$length: function(_) { + return this._length; + }, + toString$0: function(_) { + return P.MapBase_mapToString(this); + }, + $isMap: 1 + }; + P._UnmodifiableMapMixin.prototype = {}; + P.MapView.prototype = { + forEach$1: function(_, action) { + this._collection$_map.forEach$1(0, this.$ti._eval$1("~(1,2)")._as(action)); + }, + get$length: function(_) { + return this._collection$_map._length; + }, + toString$0: function(_) { + return P.MapBase_mapToString(this._collection$_map); + }, + $isMap: 1 + }; + P.UnmodifiableMapView.prototype = {}; + P._ListBase_Object_ListMixin.prototype = {}; + P._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {}; + P.NoSuchMethodError_toString_closure.prototype = { + call$2: function(key, value) { + var t1, t2, t3; + type$.Symbol._as(key); + t1 = this.sb; + t2 = this._box_0; + t3 = t1._contents += t2.comma; + t3 += key.__internal$_name; + t1._contents = t3; + t1._contents = t3 + ": "; + t1._contents += P.Error_safeToString(value); + t2.comma = ", "; + }, + $signature: 17 + }; + P.DateTime.prototype = { + $eq: function(_, other) { + if (other == null) + return false; + return other instanceof P.DateTime && this._value === other._value && true; + }, + get$hashCode: function(_) { + var t1 = this._value; + return (t1 ^ C.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823; + }, + toString$0: function(_) { + var _this = this, + y = P.DateTime__fourDigits(H.Primitives_getYear(_this)), + m = P.DateTime__twoDigits(H.Primitives_getMonth(_this)), + d = P.DateTime__twoDigits(H.Primitives_getDay(_this)), + h = P.DateTime__twoDigits(H.Primitives_getHours(_this)), + min = P.DateTime__twoDigits(H.Primitives_getMinutes(_this)), + sec = P.DateTime__twoDigits(H.Primitives_getSeconds(_this)), + ms = P.DateTime__threeDigits(H.Primitives_getMilliseconds(_this)), + t1 = y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms; + return t1; + } + }; + P.Duration.prototype = { + $eq: function(_, other) { + if (other == null) + return false; + return other instanceof P.Duration && this._duration === other._duration; + }, + get$hashCode: function(_) { + return C.JSInt_methods.get$hashCode(this._duration); + }, + toString$0: function(_) { + var twoDigitMinutes, twoDigitSeconds, sixDigitUs, + t1 = new P.Duration_toString_twoDigits(), + t2 = this._duration; + if (t2 < 0) + return "-" + new P.Duration(0 - t2).toString$0(0); + twoDigitMinutes = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 60000000) % 60); + twoDigitSeconds = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 1000000) % 60); + sixDigitUs = new P.Duration_toString_sixDigits().call$1(t2 % 1000000); + return "" + C.JSInt_methods._tdivFast$1(t2, 3600000000) + ":" + twoDigitMinutes + ":" + twoDigitSeconds + "." + sixDigitUs; + } + }; + P.Duration_toString_sixDigits.prototype = { + call$1: function(n) { + if (n >= 100000) + return "" + n; + if (n >= 10000) + return "0" + n; + if (n >= 1000) + return "00" + n; + if (n >= 100) + return "000" + n; + if (n >= 10) + return "0000" + n; + return "00000" + n; + }, + $signature: 5 + }; + P.Duration_toString_twoDigits.prototype = { + call$1: function(n) { + if (n >= 10) + return "" + n; + return "0" + n; + }, + $signature: 5 + }; + P.Error.prototype = { + get$stackTrace: function() { + return H.getTraceFromException(this.$thrownJsError); + } + }; + P.AssertionError.prototype = { + toString$0: function(_) { + var t1 = this.message; + if (t1 != null) + return "Assertion failed: " + P.Error_safeToString(t1); + return "Assertion failed"; + } + }; + P.TypeError.prototype = {}; + P.NullThrownError.prototype = { + toString$0: function(_) { + return "Throw of null."; + } + }; + P.ArgumentError.prototype = { + get$_errorName: function() { + return "Invalid argument" + (!this._hasValue ? "(s)" : ""); + }, + get$_errorExplanation: function() { + return ""; + }, + toString$0: function(_) { + var explanation, errorValue, _this = this, + $name = _this.name, + nameString = $name == null ? "" : " (" + $name + ")", + message = _this.message, + messageString = message == null ? "" : ": " + H.S(message), + prefix = _this.get$_errorName() + nameString + messageString; + if (!_this._hasValue) + return prefix; + explanation = _this.get$_errorExplanation(); + errorValue = P.Error_safeToString(_this.invalidValue); + return prefix + explanation + ": " + errorValue; + } + }; + P.RangeError.prototype = { + get$_errorName: function() { + return "RangeError"; + }, + get$_errorExplanation: function() { + var explanation, + start = this.start, + end = this.end; + if (start == null) + explanation = end != null ? ": Not less than or equal to " + H.S(end) : ""; + else if (end == null) + explanation = ": Not greater than or equal to " + H.S(start); + else if (end > start) + explanation = ": Not in inclusive range " + H.S(start) + ".." + H.S(end); + else + explanation = end < start ? ": Valid value range is empty" : ": Only valid value is " + H.S(start); + return explanation; + } + }; + P.IndexError.prototype = { + get$_errorName: function() { + return "RangeError"; + }, + get$_errorExplanation: function() { + if (H._asInt(this.invalidValue) < 0) + return ": index must not be negative"; + var t1 = this.length; + if (t1 === 0) + return ": no indices are valid"; + return ": index should be less than " + t1; + }, + get$length: function(receiver) { + return this.length; + } + }; + P.NoSuchMethodError.prototype = { + toString$0: function(_) { + var $arguments, t1, _i, t2, t3, argument, receiverText, actualParameters, _this = this, _box_0 = {}, + sb = new P.StringBuffer(""); + _box_0.comma = ""; + $arguments = _this._core$_arguments; + for (t1 = $arguments.length, _i = 0, t2 = "", t3 = ""; _i < t1; ++_i, t3 = ", ") { + argument = $arguments[_i]; + sb._contents = t2 + t3; + t2 = sb._contents += P.Error_safeToString(argument); + _box_0.comma = ", "; + } + _this._namedArguments.forEach$1(0, new P.NoSuchMethodError_toString_closure(_box_0, sb)); + receiverText = P.Error_safeToString(_this._core$_receiver); + actualParameters = sb.toString$0(0); + t1 = "NoSuchMethodError: method not found: '" + _this._core$_memberName.__internal$_name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]"; + return t1; + } + }; + P.UnsupportedError.prototype = { + toString$0: function(_) { + return "Unsupported operation: " + this.message; + } + }; + P.UnimplementedError.prototype = { + toString$0: function(_) { + var t1 = "UnimplementedError: " + this.message; + return t1; + } + }; + P.StateError.prototype = { + toString$0: function(_) { + return "Bad state: " + this.message; + } + }; + P.ConcurrentModificationError.prototype = { + toString$0: function(_) { + var t1 = this.modifiedObject; + if (t1 == null) + return "Concurrent modification during iteration."; + return "Concurrent modification during iteration: " + P.Error_safeToString(t1) + "."; + } + }; + P.StackOverflowError.prototype = { + toString$0: function(_) { + return "Stack Overflow"; + }, + get$stackTrace: function() { + return null; + }, + $isError: 1 + }; + P.CyclicInitializationError.prototype = { + toString$0: function(_) { + var t1 = "Reading static variable '" + this.variableName + "' during its initialization"; + return t1; + } + }; + P._Exception.prototype = { + toString$0: function(_) { + return "Exception: " + this.message; + } + }; + P.FormatException.prototype = { + toString$0: function(_) { + var message = this.message, + report = "" !== message ? "FormatException: " + message : "FormatException", + source = this.source; + if (source.length > 78) + source = C.JSString_methods.substring$2(source, 0, 75) + "..."; + return report + "\n" + source; + } + }; + P.Iterable.prototype = { + any$1: function(_, test) { + var t1; + H._instanceType(this)._eval$1("bool(Iterable.E)")._as(test); + for (t1 = this.get$iterator(this); t1.moveNext$0();) + if (H.boolConversionCheck(test.call$1(t1.get$current()))) + return true; + return false; + }, + get$length: function(_) { + var count, + it = this.get$iterator(this); + for (count = 0; it.moveNext$0();) + ++count; + return count; + }, + elementAt$1: function(_, index) { + var t1, elementIndex, element; + P.RangeError_checkNotNegative(index, "index"); + for (t1 = this.get$iterator(this), elementIndex = 0; t1.moveNext$0();) { + element = t1.get$current(); + if (index === elementIndex) + return element; + ++elementIndex; + } + throw H.wrapException(P.IndexError$(index, this, "index", null, elementIndex)); + }, + toString$0: function(_) { + return P.IterableBase_iterableToShortString(this, "(", ")"); + } + }; + P.Iterator.prototype = {}; + P.Null.prototype = { + get$hashCode: function(_) { + return P.Object.prototype.get$hashCode.call(C.JSNull_methods, this); + }, + toString$0: function(_) { + return "null"; + } + }; + P.Object.prototype = {constructor: P.Object, $isObject: 1, + $eq: function(_, other) { + return this === other; + }, + get$hashCode: function(_) { + return H.Primitives_objectHashCode(this); + }, + toString$0: function(_) { + return "Instance of '" + H.Primitives_objectTypeName(this) + "'"; + }, + noSuchMethod$1: function(_, invocation) { + type$.Invocation._as(invocation); + throw H.wrapException(P.NoSuchMethodError$(this, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments())); + }, + toString: function() { + return this.toString$0(this); + } + }; + P._StringStackTrace.prototype = { + toString$0: function(_) { + return ""; + }, + $isStackTrace: 1 + }; + P.StringBuffer.prototype = { + get$length: function(_) { + return this._contents.length; + }, + toString$0: function(_) { + var t1 = this._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + } + }; + W.HtmlElement.prototype = {}; + W.AnchorElement.prototype = { + toString$0: function(receiver) { + return String(receiver); + } + }; + W.AreaElement.prototype = { + toString$0: function(receiver) { + return String(receiver); + } + }; + W.Blob.prototype = {$isBlob: 1}; + W.CanvasElement.prototype = { + set$height: function(receiver, value) { + receiver.height = value; + }, + set$width: function(receiver, value) { + receiver.width = value; + }, + getContext$1: function(receiver, contextId) { + return receiver.getContext(contextId); + } + }; + W.CanvasRenderingContext2D.prototype = { + set$fillStyle: function(receiver, value) { + receiver.fillStyle = value; + }, + $isCanvasRenderingContext2D: 1 + }; + W.CharacterData.prototype = { + get$length: function(receiver) { + return receiver.length; + } + }; + W.Comment.prototype = {}; + W.CssStyleDeclaration.prototype = { + get$length: function(receiver) { + return receiver.length; + } + }; + W.CssStyleDeclarationBase.prototype = {}; + W.DivElement.prototype = {$isDivElement: 1}; + W.DomException.prototype = { + toString$0: function(receiver) { + return String(receiver); + } + }; + W.DomTokenList.prototype = { + get$length: function(receiver) { + return receiver.length; + } + }; + W._FrozenElementList.prototype = { + get$length: function(_) { + return this._nodeList.length; + }, + $index: function(_, index) { + var t1 = this._nodeList; + if (index < 0 || index >= t1.length) + return H.ioore(t1, index); + return this.$ti._precomputed1._as(t1[index]); + } + }; + W.Element.prototype = { + toString$0: function(receiver) { + return receiver.localName; + }, + $isElement: 1 + }; + W.Event.prototype = {$isEvent: 1}; + W.EventTarget.prototype = { + addEventListener$2: function(receiver, type, listener) { + this._addEventListener$3(receiver, type, type$.nullable_dynamic_Function_Event._as(listener), null); + }, + _addEventListener$3: function(receiver, type, listener, options) { + return receiver.addEventListener(type, H.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), options); + } + }; + W.File.prototype = {$isFile: 1}; + W.FormElement.prototype = { + get$length: function(receiver) { + return receiver.length; + } + }; + W.ImageData.prototype = {$isImageData: 1}; + W.Node.prototype = { + toString$0: function(receiver) { + var value = receiver.nodeValue; + return value == null ? this.super$Interceptor$toString(receiver) : value; + }, + set$text: function(receiver, value) { + receiver.textContent = value; + }, + $isNode: 1 + }; + W.NodeList.prototype = { + get$length: function(receiver) { + return receiver.length; + }, + $index: function(receiver, index) { + if (index >>> 0 !== index || index >= receiver.length) + throw H.wrapException(P.IndexError$(index, receiver, null, null, null)); + return receiver[index]; + }, + elementAt$1: function(receiver, index) { + if (index < 0 || index >= receiver.length) + return H.ioore(receiver, index); + return receiver[index]; + }, + $isJavaScriptIndexingBehavior: 1, + $isIterable: 1, + $isList: 1 + }; + W.SelectElement.prototype = { + get$length: function(receiver) { + return receiver.length; + } + }; + W.TableCellElement.prototype = {}; + W.Window.prototype = { + postMessage$2: function(receiver, message, targetOrigin) { + receiver.postMessage(new P._StructuredCloneDart2Js([], []).walk$1(message), targetOrigin); + return; + }, + $isWindow: 1, + $isWindowBase: 1 + }; + W.WorkerGlobalScope.prototype = {$isWorkerGlobalScope: 1}; + W.ImmutableListMixin.prototype = { + get$iterator: function(receiver) { + return new W.FixedSizeListIterator(receiver, receiver.length, H.instanceType(receiver)._eval$1("FixedSizeListIterator")); + } + }; + W.FixedSizeListIterator.prototype = { + moveNext$0: function() { + var _this = this, + nextPosition = _this._position + 1, + t1 = _this._html$_length; + if (nextPosition < t1) { + t1 = _this._array; + if (nextPosition < 0 || nextPosition >= t1.length) + return H.ioore(t1, nextPosition); + _this.set$_html$_current(t1[nextPosition]); + _this._position = nextPosition; + return true; + } + _this.set$_html$_current(null); + _this._position = t1; + return false; + }, + get$current: function() { + return this.$ti._precomputed1._as(this._html$_current); + }, + set$_html$_current: function(_current) { + this._html$_current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + W._DOMWindowCrossFrame.prototype = { + postMessage$2: function(_, message, targetOrigin) { + this._window.postMessage(new P._StructuredCloneDart2Js([], []).walk$1(message), targetOrigin); + }, + $isWindowBase: 1 + }; + W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase.prototype = {}; + W._NodeList_Interceptor_ListMixin.prototype = {}; + W._NodeList_Interceptor_ListMixin_ImmutableListMixin.prototype = {}; + P._StructuredClone.prototype = { + findSlot$1: function(value) { + var i, + t1 = this.values, + $length = t1.length; + for (i = 0; i < $length; ++i) + if (t1[i] === value) + return i; + C.JSArray_methods.add$1(t1, value); + C.JSArray_methods.add$1(this.copies, null); + return $length; + }, + walk$1: function(e) { + var t2, slot, copy, _this = this, t1 = {}; + if (e == null) + return e; + if (H._isBool(e)) + return e; + if (typeof e == "number") + return e; + if (typeof e == "string") + return e; + if (e instanceof P.DateTime) + return new Date(e._value); + if (type$.RegExp._is(e)) + throw H.wrapException(P.UnimplementedError$("structured clone of RegExp")); + if (type$.File._is(e)) + return e; + if (type$.Blob._is(e)) + return e; + if (type$.ImageData._is(e)) + return e; + t2 = type$.NativeTypedData._is(e) || false; + if (t2) + return e; + if (type$.Map_dynamic_dynamic._is(e)) { + slot = _this.findSlot$1(e); + t2 = _this.copies; + if (slot >= t2.length) + return H.ioore(t2, slot); + copy = t1.copy = t2[slot]; + if (copy != null) + return copy; + copy = {}; + t1.copy = copy; + C.JSArray_methods.$indexSet(t2, slot, copy); + e.forEach$1(0, new P._StructuredClone_walk_closure(t1, _this)); + return t1.copy; + } + if (type$.List_dynamic._is(e)) { + slot = _this.findSlot$1(e); + t1 = _this.copies; + if (slot >= t1.length) + return H.ioore(t1, slot); + copy = t1[slot]; + if (copy != null) + return copy; + return _this.copyList$2(e, slot); + } + if (type$.JSObject._is(e)) { + slot = _this.findSlot$1(e); + t2 = _this.copies; + if (slot >= t2.length) + return H.ioore(t2, slot); + copy = t1.copy = t2[slot]; + if (copy != null) + return copy; + copy = {}; + t1.copy = copy; + C.JSArray_methods.$indexSet(t2, slot, copy); + _this.forEachObjectKey$2(e, new P._StructuredClone_walk_closure0(t1, _this)); + return t1.copy; + } + throw H.wrapException(P.UnimplementedError$("structured clone of other type")); + }, + copyList$2: function(e, slot) { + var i, + t1 = J.getInterceptor$asx(e), + $length = t1.get$length(e), + copy = new Array($length); + C.JSArray_methods.$indexSet(this.copies, slot, copy); + for (i = 0; i < $length; ++i) + C.JSArray_methods.$indexSet(copy, i, this.walk$1(t1.$index(e, i))); + return copy; + } + }; + P._StructuredClone_walk_closure.prototype = { + call$2: function(key, value) { + this._box_0.copy[key] = this.$this.walk$1(value); + }, + $signature: 18 + }; + P._StructuredClone_walk_closure0.prototype = { + call$2: function(key, value) { + this._box_0.copy[key] = this.$this.walk$1(value); + }, + $signature: 19 + }; + P._StructuredCloneDart2Js.prototype = { + forEachObjectKey$2: function(object, action) { + var t1, t2, _i, key; + type$.dynamic_Function_dynamic_dynamic._as(action); + for (t1 = Object.keys(object), t2 = t1.length, _i = 0; _i < t2; ++_i) { + key = t1[_i]; + action.call$2(key, object[key]); + } + } + }; + P.KeyRange.prototype = {$isKeyRange: 1}; + P._convertToJS_closure.prototype = { + call$1: function(o) { + var jsFunction; + type$.Function._as(o); + jsFunction = function(_call, f, captureThis) { + return function() { + return _call(f, captureThis, this, Array.prototype.slice.apply(arguments)); + }; + }(P._callDartFunction, o, false); + P._defineProperty(jsFunction, $.$get$DART_CLOSURE_PROPERTY_NAME(), o); + return jsFunction; + }, + $signature: 2 + }; + P._convertToJS_closure0.prototype = { + call$1: function(o) { + return new this.ctor(o); + }, + $signature: 2 + }; + P._wrapToDart_closure.prototype = { + call$1: function(o) { + return new P.JsFunction(type$.Object._as(o)); + }, + $signature: 20 + }; + P._wrapToDart_closure0.prototype = { + call$1: function(o) { + return new P.JsArray(type$.Object._as(o), type$.JsArray_dynamic); + }, + $signature: 21 + }; + P._wrapToDart_closure1.prototype = { + call$1: function(o) { + return new P.JsObject(type$.Object._as(o)); + }, + $signature: 22 + }; + P.JsObject.prototype = { + $index: function(_, property) { + return P._convertToDart(this._jsObject[property]); + }, + $eq: function(_, other) { + if (other == null) + return false; + return other instanceof P.JsObject && this._jsObject === other._jsObject; + }, + toString$0: function(_) { + var t1, exception; + try { + t1 = String(this._jsObject); + return t1; + } catch (exception) { + H.unwrapException(exception); + t1 = this.super$Object$toString(0); + return t1; + } + }, + callMethod$2: function(method, args) { + var t2, + t1 = this._jsObject; + if (args == null) + t2 = null; + else { + t2 = H._arrayInstanceType(args); + t2 = P.List_List$from(new H.MappedListIterable(args, t2._eval$1("@(1)")._as(P.js___convertToJS$closure()), t2._eval$1("MappedListIterable<1,@>")), type$.dynamic); + } + return P._convertToDart(t1[method].apply(t1, t2)); + }, + get$hashCode: function(_) { + return 0; + } + }; + P.JsFunction.prototype = {}; + P.JsArray.prototype = { + _checkIndex$1: function(index) { + var _this = this, + t1 = index < 0 || index >= _this.get$length(_this); + if (t1) + throw H.wrapException(P.RangeError$range(index, 0, _this.get$length(_this), null, null)); + }, + $index: function(_, index) { + this._checkIndex$1(index); + return this.$ti._precomputed1._as(this.super$JsObject$$index(0, index)); + }, + get$length: function(_) { + var len = this._jsObject.length; + if (typeof len === "number" && len >>> 0 === len) + return len; + throw H.wrapException(P.StateError$("Bad JsArray length")); + }, + $isIterable: 1, + $isList: 1 + }; + P._JsArray_JsObject_ListMixin.prototype = {}; + V.main_closure.prototype = { + call$1: function($event) { + type$.Event._as($event); + return null; + }, + $signature: 6 + }; + V.main_closure0.prototype = { + call$1: function($event) { + type$.Event._as($event); + P.print("click"); + }, + $signature: 6 + }; + V.main_closure1.prototype = { + call$1: function(element) { + P.print(H._asDouble(element)); + }, + $signature: 23 + }; + V.main_closure2.prototype = { + call$0: function() { + P.print("\u5ef6\u65f61\u79d2\u6267\u884c"); + }, + "call*": "call$0", + $requiredArgCount: 0, + $signature: 1 + }; + V.main_closure3.prototype = { + call$2: function(key, value) { + H._asString(key); + H._asInt(value); + P.print(key + " : " + value); + }, + $signature: 24 + }; + V.main_closure4.prototype = { + call$1: function(value) { + P.print("\u5ef6\u65f61\u79d2\u6267\u884c then "); + P.print(value); + }, + $signature: 3 + }; + V.main_closure5.prototype = { + call$0: function() { + P.print("closuer"); + }, + $signature: 1 + }; + (function aliases() { + var _ = J.Interceptor.prototype; + _.super$Interceptor$toString = _.toString$0; + _ = J.JavaScriptObject.prototype; + _.super$JavaScriptObject$toString = _.toString$0; + _ = P.Object.prototype; + _.super$Object$toString = _.toString$0; + _ = P.JsObject.prototype; + _.super$JsObject$$index = _.$index; + })(); + (function installTearOffs() { + var _static_1 = hunkHelpers._static_1, + _static_0 = hunkHelpers._static_0; + _static_1(P, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 4); + _static_1(P, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 4); + _static_1(P, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 4); + _static_0(P, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0); + _static_1(P, "js___convertToJS$closure", "_convertToJS", 25); + _static_1(P, "js___convertToDart$closure", "_convertToDart", 26); + })(); + (function inheritance() { + var _mixin = hunkHelpers.mixin, + _inherit = hunkHelpers.inherit, + _inheritMany = hunkHelpers.inheritMany; + _inherit(P.Object, null); + _inheritMany(P.Object, [H.JS_CONST, J.Interceptor, J.ArrayIterator, P.Error, P.Iterable, H.ListIterator, P.Iterator, H.FixedLengthListMixin, H.Symbol, P.MapView, H.ConstantMap, H.JSInvocationMirror, H.Closure, H.TypeErrorDecoder, H.NullThrownFromJavaScriptException, H.ExceptionAndStackTrace, H._StackTrace, H._Required, P.MapMixin, H.LinkedHashMapCell, H.LinkedHashMapKeyIterator, H.JSSyntaxRegExp, H.Rti, H._FunctionParameters, P._TimerImpl, P._AsyncAwaitCompleter, P.AsyncError, P._FutureListener, P._Future, P._AsyncCallbackEntry, P._StreamIterator, P._Zone, P._ListBase_Object_ListMixin, P.ListMixin, P._UnmodifiableMapMixin, P.DateTime, P.Duration, P.StackOverflowError, P._Exception, P.FormatException, P.Null, P._StringStackTrace, P.StringBuffer, W.CssStyleDeclarationBase, W.ImmutableListMixin, W.FixedSizeListIterator, W._DOMWindowCrossFrame, P._StructuredClone, P.JsObject]); + _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JSArray, J.JSNumber, J.JSString, H.NativeTypedData, W.EventTarget, W.Blob, W.CanvasRenderingContext2D, W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase, W.DomException, W.DomTokenList, W.Event, W.ImageData, W._NodeList_Interceptor_ListMixin, P.KeyRange]); + _inheritMany(J.JavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction]); + _inherit(J.JSUnmodifiableArray, J.JSArray); + _inheritMany(J.JSNumber, [J.JSInt, J.JSDouble]); + _inheritMany(P.Error, [H.LateError, P.TypeError, H.JsNoSuchMethodError, H.UnknownJsTypeError, H.RuntimeError, P.AssertionError, H._Error, P.NullThrownError, P.ArgumentError, P.NoSuchMethodError, P.UnsupportedError, P.UnimplementedError, P.StateError, P.ConcurrentModificationError, P.CyclicInitializationError]); + _inheritMany(P.Iterable, [H.EfficientLengthIterable, H.MappedIterable]); + _inheritMany(H.EfficientLengthIterable, [H.ListIterable, H.LinkedHashMapKeyIterable]); + _inheritMany(H.ListIterable, [H.SubListIterable, H.MappedListIterable]); + _inherit(H.EfficientLengthMappedIterable, H.MappedIterable); + _inherit(H.MappedIterator, P.Iterator); + _inherit(P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, P.MapView); + _inherit(P.UnmodifiableMapView, P._UnmodifiableMapView_MapView__UnmodifiableMapMixin); + _inherit(H.ConstantMapView, P.UnmodifiableMapView); + _inherit(H.ConstantStringMap, H.ConstantMap); + _inheritMany(H.Closure, [H.Primitives_functionNoSuchMethod_closure, H.TearOffClosure, H.JsLinkedHashMap_values_closure, H.JsLinkedHashMap_containsValue_closure, H.initHooks_closure, H.initHooks_closure0, H.initHooks_closure1, P._AsyncRun__initializeScheduleImmediate_internalCallback, P._AsyncRun__initializeScheduleImmediate_closure, P._AsyncRun__scheduleImmediateJsOverride_internalCallback, P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, P._TimerImpl_internalCallback, P._awaitOnObject_closure, P._awaitOnObject_closure0, P._wrapJsFunctionForAsync_closure, P.Future_Future$delayed_closure, P._Future__addListener_closure, P._Future__prependListeners_closure, P._Future__chainForeignFuture_closure, P._Future__chainForeignFuture_closure0, P._Future__chainForeignFuture_closure1, P._Future__asyncCompleteWithValue_closure, P._Future__chainFuture_closure, P._Future__asyncCompleteError_closure, P._Future__propagateToListeners_handleWhenCompleteCallback, P._Future__propagateToListeners_handleWhenCompleteCallback_closure, P._Future__propagateToListeners_handleValueCallback, P._Future__propagateToListeners_handleError, P._rootHandleUncaughtError_closure, P._RootZone_bindCallback_closure, P._RootZone_bindCallbackGuarded_closure, P.MapBase_mapToString_closure, P.NoSuchMethodError_toString_closure, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, P._StructuredClone_walk_closure, P._StructuredClone_walk_closure0, P._convertToJS_closure, P._convertToJS_closure0, P._wrapToDart_closure, P._wrapToDart_closure0, P._wrapToDart_closure1, V.main_closure, V.main_closure0, V.main_closure1, V.main_closure2, V.main_closure3, V.main_closure4, V.main_closure5]); + _inherit(H.NullError, P.TypeError); + _inheritMany(H.TearOffClosure, [H.StaticClosure, H.BoundClosure]); + _inherit(H._AssertionError, P.AssertionError); + _inherit(P.MapBase, P.MapMixin); + _inherit(H.JsLinkedHashMap, P.MapBase); + _inherit(H.NativeTypedArray, H.NativeTypedData); + _inheritMany(H.NativeTypedArray, [H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin]); + _inherit(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin); + _inherit(H.NativeTypedArrayOfDouble, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin); + _inherit(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin); + _inherit(H.NativeTypedArrayOfInt, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin); + _inheritMany(H.NativeTypedArrayOfInt, [H.NativeInt16List, H.NativeInt32List, H.NativeInt8List, H.NativeUint16List, H.NativeUint32List, H.NativeUint8ClampedList, H.NativeUint8List]); + _inherit(H._TypeError, H._Error); + _inherit(P._RootZone, P._Zone); + _inherit(P.ListBase, P._ListBase_Object_ListMixin); + _inheritMany(P.ArgumentError, [P.RangeError, P.IndexError]); + _inheritMany(W.EventTarget, [W.Node, W.Window, W.WorkerGlobalScope]); + _inheritMany(W.Node, [W.Element, W.CharacterData]); + _inherit(W.HtmlElement, W.Element); + _inheritMany(W.HtmlElement, [W.AnchorElement, W.AreaElement, W.CanvasElement, W.DivElement, W.FormElement, W.SelectElement, W.TableCellElement]); + _inherit(W.Comment, W.CharacterData); + _inherit(W.CssStyleDeclaration, W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase); + _inherit(W._FrozenElementList, P.ListBase); + _inherit(W.File, W.Blob); + _inherit(W._NodeList_Interceptor_ListMixin_ImmutableListMixin, W._NodeList_Interceptor_ListMixin); + _inherit(W.NodeList, W._NodeList_Interceptor_ListMixin_ImmutableListMixin); + _inherit(P._StructuredCloneDart2Js, P._StructuredClone); + _inheritMany(P.JsObject, [P.JsFunction, P._JsArray_JsObject_ListMixin]); + _inherit(P.JsArray, P._JsArray_JsObject_ListMixin); + _mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, P.ListMixin); + _mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin); + _mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin, P.ListMixin); + _mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin); + _mixin(P._ListBase_Object_ListMixin, P.ListMixin); + _mixin(P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, P._UnmodifiableMapMixin); + _mixin(W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase, W.CssStyleDeclarationBase); + _mixin(W._NodeList_Interceptor_ListMixin, P.ListMixin); + _mixin(W._NodeList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin); + _mixin(P._JsArray_JsObject_ListMixin, P.ListMixin); + })(); + var init = { + typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []}, + mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"}, + mangledNames: {}, + getTypeFromName: getGlobalFromName, + metadata: [], + types: ["~()", "Null()", "@(@)", "Null(@)", "~(~())", "String(int)", "Null(Event)", "~(String,@)", "@(@,String)", "@(String)", "Null(~())", "~(@)", "Null(@,StackTrace)", "~(int,@)", "Null(Object,StackTrace)", "_Future<@>(@)", "~(Object?,Object?)", "~(Symbol0,@)", "~(@,@)", "Null(@,@)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "~(double)", "~(String,int)", "Object?(Object?)", "Object?(@)"], + interceptorsByTag: null, + leafTags: null, + arrayRti: typeof Symbol == "function" && typeof Symbol() == "symbol" ? Symbol("$ti") : "$ti" + }; + H._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"JavaScriptObject","UnknownJavaScriptObject":"JavaScriptObject","JavaScriptFunction":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AElement":"Element","GraphicsElement":"Element","SvgElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","NativeFloat32List":"NativeTypedArrayOfDouble","NativeByteData":"NativeTypedData","JSBool":{"bool":[]},"JSNull":{"Null":[]},"JavaScriptObject":{"JSObject":[],"Function":[]},"JSArray":{"List":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"Iterable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[]},"JSInt":{"double":[],"int":[],"num":[]},"JSDouble":{"double":[],"num":[]},"JSString":{"String":[]},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"Iterable":["1"],"Iterable.E":"1","ListIterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"Iterable":["2"],"Iterable.E":"2","ListIterable.E":"2"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"]},"LinkedHashMapKeyIterable":{"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[]},"NativeTypedData":{"TypedData":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"NativeTypedData":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double"},"NativeTypedArrayOfInt":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeInt16List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt8List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint16List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8ClampedList":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"_Error":{"Error":[]},"_TypeError":{"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_Zone":{"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"ListBase":{"ListMixin":["1"],"List":["1"],"Iterable":["1"]},"MapBase":{"MapMixin":["1","2"],"Map":["1","2"]},"MapMixin":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"double":{"num":[]},"int":{"num":[]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"NullThrownError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"StackOverflowError":{"Error":[]},"CyclicInitializationError":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"HtmlElement":{"Element":[],"Node":[]},"AnchorElement":{"Element":[],"Node":[]},"AreaElement":{"Element":[],"Node":[]},"CanvasElement":{"Element":[],"Node":[]},"CharacterData":{"Node":[]},"Comment":{"Node":[]},"DivElement":{"Element":[],"Node":[]},"_FrozenElementList":{"ListMixin":["1"],"List":["1"],"Iterable":["1"],"ListMixin.E":"1"},"Element":{"Node":[]},"File":{"Blob":[]},"FormElement":{"Element":[],"Node":[]},"NodeList":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"Iterable":["Node"],"ListMixin.E":"Node","ImmutableListMixin.E":"Node"},"SelectElement":{"Element":[],"Node":[]},"TableCellElement":{"Element":[],"Node":[]},"Window":{"WindowBase":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"WindowBase":[]},"JsArray":{"ListMixin":["1"],"List":["1"],"Iterable":["1"],"ListMixin.E":"1"}}')); + H._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"EfficientLengthIterable":1,"NativeTypedArray":1,"ListBase":1,"MapBase":2,"_ListBase_Object_ListMixin":1,"_JsArray_JsObject_ListMixin":1}')); + 0; + var type$ = (function rtii() { + var findType = H.findType; + return { + AsyncError: findType("AsyncError"), + Blob: findType("Blob"), + CanvasRenderingContext2D: findType("CanvasRenderingContext2D"), + ConstantMapView_Symbol_dynamic: findType("ConstantMapView"), + DivElement: findType("DivElement"), + Element: findType("Element"), + Error: findType("Error"), + Event: findType("Event"), + File: findType("File"), + Function: findType("Function"), + Future_dynamic: findType("Future<@>"), + ImageData: findType("ImageData"), + Invocation: findType("Invocation"), + Iterable_dynamic: findType("Iterable<@>"), + JSArray_String: findType("JSArray"), + JSArray_double: findType("JSArray"), + JSArray_dynamic: findType("JSArray<@>"), + JSArray_int: findType("JSArray"), + JSNull: findType("JSNull"), + JSObject: findType("JSObject"), + JavaScriptFunction: findType("JavaScriptFunction"), + JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"), + JsArray_dynamic: findType("JsArray<@>"), + JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap"), + KeyRange: findType("KeyRange"), + List_dynamic: findType("List<@>"), + Map_dynamic_dynamic: findType("Map<@,@>"), + NativeTypedData: findType("NativeTypedData"), + Node: findType("Node"), + Null: findType("Null"), + Null_Function: findType("Null()"), + Object: findType("Object"), + RegExp: findType("RegExp"), + StackTrace: findType("StackTrace"), + String: findType("String"), + Symbol: findType("Symbol0"), + TypedData: findType("TypedData"), + UnknownJavaScriptObject: findType("UnknownJavaScriptObject"), + Window: findType("Window"), + WindowBase: findType("WindowBase"), + WorkerGlobalScope: findType("WorkerGlobalScope"), + _FrozenElementList_Element: findType("_FrozenElementList"), + _Future_dynamic: findType("_Future<@>"), + bool: findType("bool"), + bool_Function_Object: findType("bool(Object)"), + double: findType("double"), + dynamic: findType("@"), + dynamic_Function: findType("@()"), + dynamic_Function_Object: findType("@(Object)"), + dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"), + dynamic_Function_dynamic_dynamic: findType("@(@,@)"), + int: findType("int"), + legacy_Never: findType("0&*"), + legacy_Object: findType("Object*"), + nullable_Future_Null: findType("Future?"), + nullable_Object: findType("Object?"), + nullable__FutureListener_dynamic_dynamic: findType("_FutureListener<@,@>?"), + nullable_dynamic_Function_Event: findType("@(Event)?"), + num: findType("num"), + void: findType("~"), + void_Function: findType("~()") + }; + })(); + (function constants() { + var makeConstList = hunkHelpers.makeConstList; + C.CanvasElement_methods = W.CanvasElement.prototype; + C.CanvasRenderingContext2D_methods = W.CanvasRenderingContext2D.prototype; + C.Comment_methods = W.Comment.prototype; + C.Interceptor_methods = J.Interceptor.prototype; + C.JSArray_methods = J.JSArray.prototype; + C.JSInt_methods = J.JSInt.prototype; + C.JSNull_methods = J.JSNull.prototype; + C.JSString_methods = J.JSString.prototype; + C.JavaScriptFunction_methods = J.JavaScriptFunction.prototype; + C.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype; + C.TableCellElement_methods = W.TableCellElement.prototype; + C.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype; + C.C_JS_CONST = function getTagFallback(o) { + var s = Object.prototype.toString.call(o); + return s.substring(8, s.length - 1); +}; + C.C_JS_CONST0 = function() { + var toStringFunction = Object.prototype.toString; + function getTag(o) { + var s = toStringFunction.call(o); + return s.substring(8, s.length - 1); + } + function getUnknownTag(object, tag) { + if (/^HTML[A-Z].*Element$/.test(tag)) { + var name = toStringFunction.call(object); + if (name == "[object Object]") return null; + return "HTMLElement"; + } + } + function getUnknownTagGenericBrowser(object, tag) { + if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement"; + return getUnknownTag(object, tag); + } + function prototypeForTag(tag) { + if (typeof window == "undefined") return null; + if (typeof window[tag] == "undefined") return null; + var constructor = window[tag]; + if (typeof constructor != "function") return null; + return constructor.prototype; + } + function discriminator(tag) { return null; } + var isBrowser = typeof navigator == "object"; + return { + getTag: getTag, + getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, + prototypeForTag: prototypeForTag, + discriminator: discriminator }; +}; + C.C_JS_CONST6 = function(getTagFallback) { + return function(hooks) { + if (typeof navigator != "object") return hooks; + var ua = navigator.userAgent; + if (ua.indexOf("DumpRenderTree") >= 0) return hooks; + if (ua.indexOf("Chrome") >= 0) { + function confirm(p) { + return typeof window == "object" && window[p] && window[p].name == p; + } + if (confirm("Window") && confirm("HTMLElement")) return hooks; + } + hooks.getTag = getTagFallback; + }; +}; + C.C_JS_CONST1 = function(hooks) { + if (typeof dartExperimentalFixupGetTag != "function") return hooks; + hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); +}; + C.C_JS_CONST2 = function(hooks) { + var getTag = hooks.getTag; + var prototypeForTag = hooks.prototypeForTag; + function getTagFixed(o) { + var tag = getTag(o); + if (tag == "Document") { + if (!!o.xmlVersion) return "!Document"; + return "!HTMLDocument"; + } + return tag; + } + function prototypeForTagFixed(tag) { + if (tag == "Document") return null; + return prototypeForTag(tag); + } + hooks.getTag = getTagFixed; + hooks.prototypeForTag = prototypeForTagFixed; +}; + C.C_JS_CONST5 = function(hooks) { + var userAgent = typeof navigator == "object" ? navigator.userAgent : ""; + if (userAgent.indexOf("Firefox") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "GeoGeolocation": "Geolocation", + "Location": "!Location", + "WorkerMessageEvent": "MessageEvent", + "XMLDocument": "!Document"}; + function getTagFirefox(o) { + var tag = getTag(o); + return quickMap[tag] || tag; + } + hooks.getTag = getTagFirefox; +}; + C.C_JS_CONST4 = function(hooks) { + var userAgent = typeof navigator == "object" ? navigator.userAgent : ""; + if (userAgent.indexOf("Trident/") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "HTMLDDElement": "HTMLElement", + "HTMLDTElement": "HTMLElement", + "HTMLPhraseElement": "HTMLElement", + "Position": "Geoposition" + }; + function getTagIE(o) { + var tag = getTag(o); + var newTag = quickMap[tag]; + if (newTag) return newTag; + if (tag == "Object") { + if (window.DataView && (o instanceof window.DataView)) return "DataView"; + } + return tag; + } + function prototypeForTagIE(tag) { + var constructor = window[tag]; + if (constructor == null) return null; + return constructor.prototype; + } + hooks.getTag = getTagIE; + hooks.prototypeForTag = prototypeForTagIE; +}; + C.C_JS_CONST3 = function(hooks) { return hooks; } +; + C.C__Required = new H._Required(); + C.C__RootZone = new P._RootZone(); + C.C__StringStackTrace = new P._StringStackTrace(); + C.Duration_0 = new P.Duration(0); + C.List_empty = H.setRuntimeTypeInfo(makeConstList([]), type$.JSArray_dynamic); + C.List_empty0 = H.setRuntimeTypeInfo(makeConstList([]), H.findType("JSArray")); + C.Map_empty = new H.ConstantStringMap(0, {}, C.List_empty0, H.findType("ConstantStringMap")); + C.Symbol_call = new H.Symbol("call"); + })(); + (function staticFields() { + $._JS_INTEROP_INTERCEPTOR_TAG = null; + $.Closure_functionCounter = 0; + $.BoundClosure_selfFieldNameCache = null; + $.BoundClosure_receiverFieldNameCache = null; + $.getTagFunction = null; + $.alternateTagFunction = null; + $.prototypeForTagFunction = null; + $.dispatchRecordsForInstanceTags = null; + $.interceptorsForUncacheableTags = null; + $.initNativeDispatchFlag = null; + $._nextCallback = null; + $._lastCallback = null; + $._lastPriorityCallback = null; + $._isInCallbackLoop = false; + $.Zone__current = C.C__RootZone; + $._toStringVisiting = H.setRuntimeTypeInfo([], H.findType("JSArray")); + })(); + (function lazyInitializers() { + var _lazyFinal = hunkHelpers.lazyFinal, + _lazy = hunkHelpers.lazy; + _lazyFinal($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", function() { + return H.getIsolateAffinityTag("_$dart_dartClosure"); }); + _lazyFinal($, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethodPattern", function() { + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({ + toString: function() { + return "$receiver$"; + } + })); + }); + _lazyFinal($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", function() { + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({$method$: null, + toString: function() { + return "$receiver$"; + } + })); + }); + _lazyFinal($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", function() { + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(null)); + }); + _lazyFinal($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", function() { + return H.TypeErrorDecoder_extractPattern(function() { + var $argumentsExpr$ = "$arguments$"; + try { + null.$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }()); + }); + _lazyFinal($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", function() { + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(void 0)); + }); + _lazyFinal($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", function() { + return H.TypeErrorDecoder_extractPattern(function() { + var $argumentsExpr$ = "$arguments$"; + try { + (void 0).$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }()); + }); + _lazyFinal($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", function() { + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(null)); + }); + _lazyFinal($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", function() { + return H.TypeErrorDecoder_extractPattern(function() { + try { + null.$method$; + } catch (e) { + return e.message; + } + }()); + }); + _lazyFinal($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", function() { + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(void 0)); + }); + _lazyFinal($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", function() { + return H.TypeErrorDecoder_extractPattern(function() { + try { + (void 0).$method$; + } catch (e) { + return e.message; + } + }()); + }); + _lazyFinal($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", function() { + return P._AsyncRun__initializeScheduleImmediate(); + }); + _lazyFinal($, "_context", "$get$_context", function() { + return P._wrapToDart(self); + }); + _lazyFinal($, "_DART_OBJECT_PROPERTY_NAME", "$get$_DART_OBJECT_PROPERTY_NAME", function() { + return H.getIsolateAffinityTag("_$dart_dartObject"); + }); + _lazyFinal($, "_dartProxyCtor", "$get$_dartProxyCtor", function() { + return function DartObject(o) { + this.o = o; + }; + }); + _lazy($, "Dt_at", "$get$Dt_at", function() { + return "@"; + }); + })(); + (function nativeSupport() { + !function() { + var intern = function(s) { + var o = {}; + o[s] = 1; + return Object.keys(hunkHelpers.convertToFastObject(o))[0]; + }; + init.getIsolateTag = function(name) { + return intern("___dart_" + name + init.isolateTag); + }; + var tableProperty = "___dart_isolate_tags_"; + var usedProperties = Object[tableProperty] || (Object[tableProperty] = Object.create(null)); + var rootProperty = "_ZxYxX"; + for (var i = 0;; i++) { + var property = intern(rootProperty + "_" + i + "_"); + if (!(property in usedProperties)) { + usedProperties[property] = 1; + init.isolateTag = property; + break; + } + } + init.dispatchPropertyName = init.getIsolateTag("dispatch_record"); + }(); + hunkHelpers.setOrUpdateInterceptorsByTag({DOMError: J.Interceptor, MediaError: J.Interceptor, Navigator: J.Interceptor, NavigatorConcurrentHardware: J.Interceptor, NavigatorUserMediaError: J.Interceptor, OverconstrainedError: J.Interceptor, PositionError: J.Interceptor, TextMetrics: J.Interceptor, WebGLRenderingContext: J.Interceptor, WebGL2RenderingContext: J.Interceptor, SQLError: J.Interceptor, DataView: H.NativeTypedData, ArrayBufferView: H.NativeTypedData, Float32Array: H.NativeTypedArrayOfDouble, Float64Array: H.NativeTypedArrayOfDouble, Int16Array: H.NativeInt16List, Int32Array: H.NativeInt32List, Int8Array: H.NativeInt8List, Uint16Array: H.NativeUint16List, Uint32Array: H.NativeUint32List, Uint8ClampedArray: H.NativeUint8ClampedList, CanvasPixelArray: H.NativeUint8ClampedList, Uint8Array: H.NativeUint8List, HTMLAudioElement: W.HtmlElement, HTMLBRElement: W.HtmlElement, HTMLBaseElement: W.HtmlElement, HTMLBodyElement: W.HtmlElement, HTMLButtonElement: W.HtmlElement, HTMLContentElement: W.HtmlElement, HTMLDListElement: W.HtmlElement, HTMLDataElement: W.HtmlElement, HTMLDataListElement: W.HtmlElement, HTMLDetailsElement: W.HtmlElement, HTMLDialogElement: W.HtmlElement, HTMLEmbedElement: W.HtmlElement, HTMLFieldSetElement: W.HtmlElement, HTMLHRElement: W.HtmlElement, HTMLHeadElement: W.HtmlElement, HTMLHeadingElement: W.HtmlElement, HTMLHtmlElement: W.HtmlElement, HTMLIFrameElement: W.HtmlElement, HTMLImageElement: W.HtmlElement, HTMLInputElement: W.HtmlElement, HTMLLIElement: W.HtmlElement, HTMLLabelElement: W.HtmlElement, HTMLLegendElement: W.HtmlElement, HTMLLinkElement: W.HtmlElement, HTMLMapElement: W.HtmlElement, HTMLMediaElement: W.HtmlElement, HTMLMenuElement: W.HtmlElement, HTMLMetaElement: W.HtmlElement, HTMLMeterElement: W.HtmlElement, HTMLModElement: W.HtmlElement, HTMLOListElement: W.HtmlElement, HTMLObjectElement: W.HtmlElement, HTMLOptGroupElement: W.HtmlElement, HTMLOptionElement: W.HtmlElement, HTMLOutputElement: W.HtmlElement, HTMLParagraphElement: W.HtmlElement, HTMLParamElement: W.HtmlElement, HTMLPictureElement: W.HtmlElement, HTMLPreElement: W.HtmlElement, HTMLProgressElement: W.HtmlElement, HTMLQuoteElement: W.HtmlElement, HTMLScriptElement: W.HtmlElement, HTMLShadowElement: W.HtmlElement, HTMLSlotElement: W.HtmlElement, HTMLSourceElement: W.HtmlElement, HTMLSpanElement: W.HtmlElement, HTMLStyleElement: W.HtmlElement, HTMLTableCaptionElement: W.HtmlElement, HTMLTableColElement: W.HtmlElement, HTMLTableElement: W.HtmlElement, HTMLTableRowElement: W.HtmlElement, HTMLTableSectionElement: W.HtmlElement, HTMLTemplateElement: W.HtmlElement, HTMLTextAreaElement: W.HtmlElement, HTMLTimeElement: W.HtmlElement, HTMLTitleElement: W.HtmlElement, HTMLTrackElement: W.HtmlElement, HTMLUListElement: W.HtmlElement, HTMLUnknownElement: W.HtmlElement, HTMLVideoElement: W.HtmlElement, HTMLDirectoryElement: W.HtmlElement, HTMLFontElement: W.HtmlElement, HTMLFrameElement: W.HtmlElement, HTMLFrameSetElement: W.HtmlElement, HTMLMarqueeElement: W.HtmlElement, HTMLElement: W.HtmlElement, HTMLAnchorElement: W.AnchorElement, HTMLAreaElement: W.AreaElement, Blob: W.Blob, HTMLCanvasElement: W.CanvasElement, CanvasRenderingContext2D: W.CanvasRenderingContext2D, CDATASection: W.CharacterData, ProcessingInstruction: W.CharacterData, Text: W.CharacterData, CharacterData: W.CharacterData, Comment: W.Comment, CSSStyleDeclaration: W.CssStyleDeclaration, MSStyleCSSProperties: W.CssStyleDeclaration, CSS2Properties: W.CssStyleDeclaration, HTMLDivElement: W.DivElement, DOMException: W.DomException, DOMTokenList: W.DomTokenList, SVGAElement: W.Element, SVGAnimateElement: W.Element, SVGAnimateMotionElement: W.Element, SVGAnimateTransformElement: W.Element, SVGAnimationElement: W.Element, SVGCircleElement: W.Element, SVGClipPathElement: W.Element, SVGDefsElement: W.Element, SVGDescElement: W.Element, SVGDiscardElement: W.Element, SVGEllipseElement: W.Element, SVGFEBlendElement: W.Element, SVGFEColorMatrixElement: W.Element, SVGFEComponentTransferElement: W.Element, SVGFECompositeElement: W.Element, SVGFEConvolveMatrixElement: W.Element, SVGFEDiffuseLightingElement: W.Element, SVGFEDisplacementMapElement: W.Element, SVGFEDistantLightElement: W.Element, SVGFEFloodElement: W.Element, SVGFEFuncAElement: W.Element, SVGFEFuncBElement: W.Element, SVGFEFuncGElement: W.Element, SVGFEFuncRElement: W.Element, SVGFEGaussianBlurElement: W.Element, SVGFEImageElement: W.Element, SVGFEMergeElement: W.Element, SVGFEMergeNodeElement: W.Element, SVGFEMorphologyElement: W.Element, SVGFEOffsetElement: W.Element, SVGFEPointLightElement: W.Element, SVGFESpecularLightingElement: W.Element, SVGFESpotLightElement: W.Element, SVGFETileElement: W.Element, SVGFETurbulenceElement: W.Element, SVGFilterElement: W.Element, SVGForeignObjectElement: W.Element, SVGGElement: W.Element, SVGGeometryElement: W.Element, SVGGraphicsElement: W.Element, SVGImageElement: W.Element, SVGLineElement: W.Element, SVGLinearGradientElement: W.Element, SVGMarkerElement: W.Element, SVGMaskElement: W.Element, SVGMetadataElement: W.Element, SVGPathElement: W.Element, SVGPatternElement: W.Element, SVGPolygonElement: W.Element, SVGPolylineElement: W.Element, SVGRadialGradientElement: W.Element, SVGRectElement: W.Element, SVGScriptElement: W.Element, SVGSetElement: W.Element, SVGStopElement: W.Element, SVGStyleElement: W.Element, SVGElement: W.Element, SVGSVGElement: W.Element, SVGSwitchElement: W.Element, SVGSymbolElement: W.Element, SVGTSpanElement: W.Element, SVGTextContentElement: W.Element, SVGTextElement: W.Element, SVGTextPathElement: W.Element, SVGTextPositioningElement: W.Element, SVGTitleElement: W.Element, SVGUseElement: W.Element, SVGViewElement: W.Element, SVGGradientElement: W.Element, SVGComponentTransferFunctionElement: W.Element, SVGFEDropShadowElement: W.Element, SVGMPathElement: W.Element, Element: W.Element, AbortPaymentEvent: W.Event, AnimationEvent: W.Event, AnimationPlaybackEvent: W.Event, ApplicationCacheErrorEvent: W.Event, BackgroundFetchClickEvent: W.Event, BackgroundFetchEvent: W.Event, BackgroundFetchFailEvent: W.Event, BackgroundFetchedEvent: W.Event, BeforeInstallPromptEvent: W.Event, BeforeUnloadEvent: W.Event, BlobEvent: W.Event, CanMakePaymentEvent: W.Event, ClipboardEvent: W.Event, CloseEvent: W.Event, CompositionEvent: W.Event, CustomEvent: W.Event, DeviceMotionEvent: W.Event, DeviceOrientationEvent: W.Event, ErrorEvent: W.Event, Event: W.Event, InputEvent: W.Event, SubmitEvent: W.Event, ExtendableEvent: W.Event, ExtendableMessageEvent: W.Event, FetchEvent: W.Event, FocusEvent: W.Event, FontFaceSetLoadEvent: W.Event, ForeignFetchEvent: W.Event, GamepadEvent: W.Event, HashChangeEvent: W.Event, InstallEvent: W.Event, KeyboardEvent: W.Event, MediaEncryptedEvent: W.Event, MediaKeyMessageEvent: W.Event, MediaQueryListEvent: W.Event, MediaStreamEvent: W.Event, MediaStreamTrackEvent: W.Event, MessageEvent: W.Event, MIDIConnectionEvent: W.Event, MIDIMessageEvent: W.Event, MouseEvent: W.Event, DragEvent: W.Event, MutationEvent: W.Event, NotificationEvent: W.Event, PageTransitionEvent: W.Event, PaymentRequestEvent: W.Event, PaymentRequestUpdateEvent: W.Event, PointerEvent: W.Event, PopStateEvent: W.Event, PresentationConnectionAvailableEvent: W.Event, PresentationConnectionCloseEvent: W.Event, ProgressEvent: W.Event, PromiseRejectionEvent: W.Event, PushEvent: W.Event, RTCDataChannelEvent: W.Event, RTCDTMFToneChangeEvent: W.Event, RTCPeerConnectionIceEvent: W.Event, RTCTrackEvent: W.Event, SecurityPolicyViolationEvent: W.Event, SensorErrorEvent: W.Event, SpeechRecognitionError: W.Event, SpeechRecognitionEvent: W.Event, SpeechSynthesisEvent: W.Event, StorageEvent: W.Event, SyncEvent: W.Event, TextEvent: W.Event, TouchEvent: W.Event, TrackEvent: W.Event, TransitionEvent: W.Event, WebKitTransitionEvent: W.Event, UIEvent: W.Event, VRDeviceEvent: W.Event, VRDisplayEvent: W.Event, VRSessionEvent: W.Event, WheelEvent: W.Event, MojoInterfaceRequestEvent: W.Event, ResourceProgressEvent: W.Event, USBConnectionEvent: W.Event, IDBVersionChangeEvent: W.Event, AudioProcessingEvent: W.Event, OfflineAudioCompletionEvent: W.Event, WebGLContextEvent: W.Event, EventTarget: W.EventTarget, File: W.File, HTMLFormElement: W.FormElement, ImageData: W.ImageData, Document: W.Node, DocumentFragment: W.Node, HTMLDocument: W.Node, ShadowRoot: W.Node, XMLDocument: W.Node, Attr: W.Node, DocumentType: W.Node, Node: W.Node, NodeList: W.NodeList, RadioNodeList: W.NodeList, HTMLSelectElement: W.SelectElement, HTMLTableCellElement: W.TableCellElement, HTMLTableDataCellElement: W.TableCellElement, HTMLTableHeaderCellElement: W.TableCellElement, Window: W.Window, DOMWindow: W.Window, DedicatedWorkerGlobalScope: W.WorkerGlobalScope, ServiceWorkerGlobalScope: W.WorkerGlobalScope, SharedWorkerGlobalScope: W.WorkerGlobalScope, WorkerGlobalScope: W.WorkerGlobalScope, IDBKeyRange: P.KeyRange}); + hunkHelpers.setOrUpdateLeafTags({DOMError: true, MediaError: true, Navigator: true, NavigatorConcurrentHardware: true, NavigatorUserMediaError: true, OverconstrainedError: true, PositionError: true, TextMetrics: true, WebGLRenderingContext: true, WebGL2RenderingContext: true, SQLError: true, DataView: true, ArrayBufferView: false, Float32Array: true, Float64Array: true, Int16Array: true, Int32Array: true, Int8Array: true, Uint16Array: true, Uint32Array: true, Uint8ClampedArray: true, CanvasPixelArray: true, Uint8Array: false, HTMLAudioElement: true, HTMLBRElement: true, HTMLBaseElement: true, HTMLBodyElement: true, HTMLButtonElement: true, HTMLContentElement: true, HTMLDListElement: true, HTMLDataElement: true, HTMLDataListElement: true, HTMLDetailsElement: true, HTMLDialogElement: true, HTMLEmbedElement: true, HTMLFieldSetElement: true, HTMLHRElement: true, HTMLHeadElement: true, HTMLHeadingElement: true, HTMLHtmlElement: true, HTMLIFrameElement: true, HTMLImageElement: true, HTMLInputElement: true, HTMLLIElement: true, HTMLLabelElement: true, HTMLLegendElement: true, HTMLLinkElement: true, HTMLMapElement: true, HTMLMediaElement: true, HTMLMenuElement: true, HTMLMetaElement: true, HTMLMeterElement: true, HTMLModElement: true, HTMLOListElement: true, HTMLObjectElement: true, HTMLOptGroupElement: true, HTMLOptionElement: true, HTMLOutputElement: true, HTMLParagraphElement: true, HTMLParamElement: true, HTMLPictureElement: true, HTMLPreElement: true, HTMLProgressElement: true, HTMLQuoteElement: true, HTMLScriptElement: true, HTMLShadowElement: true, HTMLSlotElement: true, HTMLSourceElement: true, HTMLSpanElement: true, HTMLStyleElement: true, HTMLTableCaptionElement: true, HTMLTableColElement: true, HTMLTableElement: true, HTMLTableRowElement: true, HTMLTableSectionElement: true, HTMLTemplateElement: true, HTMLTextAreaElement: true, HTMLTimeElement: true, HTMLTitleElement: true, HTMLTrackElement: true, HTMLUListElement: true, HTMLUnknownElement: true, HTMLVideoElement: true, HTMLDirectoryElement: true, HTMLFontElement: true, HTMLFrameElement: true, HTMLFrameSetElement: true, HTMLMarqueeElement: true, HTMLElement: false, HTMLAnchorElement: true, HTMLAreaElement: true, Blob: false, HTMLCanvasElement: true, CanvasRenderingContext2D: true, CDATASection: true, ProcessingInstruction: true, Text: true, CharacterData: false, Comment: true, CSSStyleDeclaration: true, MSStyleCSSProperties: true, CSS2Properties: true, HTMLDivElement: true, DOMException: true, DOMTokenList: true, SVGAElement: true, SVGAnimateElement: true, SVGAnimateMotionElement: true, SVGAnimateTransformElement: true, SVGAnimationElement: true, SVGCircleElement: true, SVGClipPathElement: true, SVGDefsElement: true, SVGDescElement: true, SVGDiscardElement: true, SVGEllipseElement: true, SVGFEBlendElement: true, SVGFEColorMatrixElement: true, SVGFEComponentTransferElement: true, SVGFECompositeElement: true, SVGFEConvolveMatrixElement: true, SVGFEDiffuseLightingElement: true, SVGFEDisplacementMapElement: true, SVGFEDistantLightElement: true, SVGFEFloodElement: true, SVGFEFuncAElement: true, SVGFEFuncBElement: true, SVGFEFuncGElement: true, SVGFEFuncRElement: true, SVGFEGaussianBlurElement: true, SVGFEImageElement: true, SVGFEMergeElement: true, SVGFEMergeNodeElement: true, SVGFEMorphologyElement: true, SVGFEOffsetElement: true, SVGFEPointLightElement: true, SVGFESpecularLightingElement: true, SVGFESpotLightElement: true, SVGFETileElement: true, SVGFETurbulenceElement: true, SVGFilterElement: true, SVGForeignObjectElement: true, SVGGElement: true, SVGGeometryElement: true, SVGGraphicsElement: true, SVGImageElement: true, SVGLineElement: true, SVGLinearGradientElement: true, SVGMarkerElement: true, SVGMaskElement: true, SVGMetadataElement: true, SVGPathElement: true, SVGPatternElement: true, SVGPolygonElement: true, SVGPolylineElement: true, SVGRadialGradientElement: true, SVGRectElement: true, SVGScriptElement: true, SVGSetElement: true, SVGStopElement: true, SVGStyleElement: true, SVGElement: true, SVGSVGElement: true, SVGSwitchElement: true, SVGSymbolElement: true, SVGTSpanElement: true, SVGTextContentElement: true, SVGTextElement: true, SVGTextPathElement: true, SVGTextPositioningElement: true, SVGTitleElement: true, SVGUseElement: true, SVGViewElement: true, SVGGradientElement: true, SVGComponentTransferFunctionElement: true, SVGFEDropShadowElement: true, SVGMPathElement: true, Element: false, AbortPaymentEvent: true, AnimationEvent: true, AnimationPlaybackEvent: true, ApplicationCacheErrorEvent: true, BackgroundFetchClickEvent: true, BackgroundFetchEvent: true, BackgroundFetchFailEvent: true, BackgroundFetchedEvent: true, BeforeInstallPromptEvent: true, BeforeUnloadEvent: true, BlobEvent: true, CanMakePaymentEvent: true, ClipboardEvent: true, CloseEvent: true, CompositionEvent: true, CustomEvent: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, ErrorEvent: true, Event: true, InputEvent: true, SubmitEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, FetchEvent: true, FocusEvent: true, FontFaceSetLoadEvent: true, ForeignFetchEvent: true, GamepadEvent: true, HashChangeEvent: true, InstallEvent: true, KeyboardEvent: true, MediaEncryptedEvent: true, MediaKeyMessageEvent: true, MediaQueryListEvent: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MessageEvent: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MouseEvent: true, DragEvent: true, MutationEvent: true, NotificationEvent: true, PageTransitionEvent: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PointerEvent: true, PopStateEvent: true, PresentationConnectionAvailableEvent: true, PresentationConnectionCloseEvent: true, ProgressEvent: true, PromiseRejectionEvent: true, PushEvent: true, RTCDataChannelEvent: true, RTCDTMFToneChangeEvent: true, RTCPeerConnectionIceEvent: true, RTCTrackEvent: true, SecurityPolicyViolationEvent: true, SensorErrorEvent: true, SpeechRecognitionError: true, SpeechRecognitionEvent: true, SpeechSynthesisEvent: true, StorageEvent: true, SyncEvent: true, TextEvent: true, TouchEvent: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, UIEvent: true, VRDeviceEvent: true, VRDisplayEvent: true, VRSessionEvent: true, WheelEvent: true, MojoInterfaceRequestEvent: true, ResourceProgressEvent: true, USBConnectionEvent: true, IDBVersionChangeEvent: true, AudioProcessingEvent: true, OfflineAudioCompletionEvent: true, WebGLContextEvent: true, EventTarget: false, File: true, HTMLFormElement: true, ImageData: true, Document: true, DocumentFragment: true, HTMLDocument: true, ShadowRoot: true, XMLDocument: true, Attr: true, DocumentType: true, Node: false, NodeList: true, RadioNodeList: true, HTMLSelectElement: true, HTMLTableCellElement: true, HTMLTableDataCellElement: true, HTMLTableHeaderCellElement: true, Window: true, DOMWindow: true, DedicatedWorkerGlobalScope: true, ServiceWorkerGlobalScope: true, SharedWorkerGlobalScope: true, WorkerGlobalScope: true, IDBKeyRange: true}); + H.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView"; + H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; + H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; + H.NativeTypedArrayOfDouble.$nativeSuperclassTag = "ArrayBufferView"; + H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; + H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; + H.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView"; + })(); + convertAllToFastObject(holders); + convertToFastObject($); + (function(callback) { + if (typeof document === "undefined") { + callback(null); + return; + } + if (typeof document.currentScript != "undefined") { + callback(document.currentScript); + return; + } + var scripts = document.scripts; + function onLoad(event) { + for (var i = 0; i < scripts.length; ++i) + scripts[i].removeEventListener("load", onLoad, false); + callback(event.target); + } + for (var i = 0; i < scripts.length; ++i) + scripts[i].addEventListener("load", onLoad, false); + })(function(currentScript) { + init.currentScript = currentScript; + var callMain = V.main; + if (typeof dartMainRunner === "function") + dartMainRunner(callMain, []); + else + callMain([]); + }); })(); -//# sourceMappingURL=out.js.map \ No newline at end of file +//# sourceMappingURL=out.js.map diff --git a/dart-js/test.dart b/dart-js/test.dart index 26ab1a5..05231ad 100644 --- a/dart-js/test.dart +++ b/dart-js/test.dart @@ -117,7 +117,8 @@ void main() { // canvas CanvasElement canvas = CanvasElement(width: 100, height: 100); - CanvasRenderingContext2D ctx = canvas.getContext('2d') as CanvasRenderingContext2D; + CanvasRenderingContext2D ctx = + canvas.getContext('2d') as CanvasRenderingContext2D; ctx.fillStyle = 'black'; ctx.fillRect(0, 0, 100, 100); ctx.fillStyle = 'white'; @@ -155,9 +156,12 @@ void main() { }); // call setTimeout - Js.context.callMethod('setTimeout', [Js.allowInterop(() { - print("延时1秒执行"); - }), 1000]); + Js.context.callMethod('setTimeout', [ + Js.allowInterop(() { + print("延时1秒执行"); + }), + 1000 + ]); Map test_map = { "a": 1, @@ -174,6 +178,10 @@ void main() { // 修改 test_map["b"] = 3; + if (test_map.containsKey("b")) { + test_map["b"] = 4; + } + // 查找 print(test_map["b"]); // 遍历