Advertisement
Guest User

Untitled

a guest
Nov 11th, 2019
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 45.43 KB | None | 0 0
  1. // Generated by dart2js (fast startup emitter, strong), the Dart to JavaScript compiler version: 2.7.0-edge.5b7c981086141d367077c9b9a8efdb7e9fc5d784.
  2. // The code supports the following hooks:
  3. // dartPrint(message):
  4. // if this function is defined it is called instead of the Dart [print]
  5. // method.
  6. //
  7. // dartMainRunner(main, args):
  8. // if this function is defined, the Dart [main] method will not be invoked
  9. // directly. Instead, a closure that will invoke [main], and its arguments
  10. // [args] is passed to [dartMainRunner].
  11. //
  12. // dartDeferredLibraryLoader(uri, successCallback, errorCallback):
  13. // if this function is defined, it will be called when a deferred library
  14. // is loaded. It should load and eval the javascript of `uri`, and call
  15. // successCallback. If it fails to do so, it should call errorCallback with
  16. // an error.
  17. //
  18. // dartCallInstrumentation(id, qualifiedName):
  19. // if this function is defined, it will be called at each entry of a
  20. // method or constructor. Used only when compiling programs with
  21. // --experiment-call-instrumentation.
  22. {
  23. }
  24. (function dartProgram() {
  25. function copyProperties(from, to) {
  26. var keys = Object.keys(from);
  27. for (var i = 0; i < keys.length; i++) {
  28. var key = keys[i];
  29. to[key] = from[key];
  30. }
  31. }
  32. var supportsDirectProtoAccess = function() {
  33. var cls = function() {
  34. };
  35. cls.prototype = {p: {}};
  36. var object = new cls();
  37. if (!(object.__proto__ && object.__proto__.p === cls.prototype.p))
  38. return false;
  39. try {
  40. if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0)
  41. return true;
  42. if (typeof version == "function" && version.length == 0) {
  43. var v = version();
  44. if (/^\d+\.\d+\.\d+\.\d+$/.test(v))
  45. return true;
  46. }
  47. } catch (_) {
  48. }
  49. return false;
  50. }();
  51. function setFunctionNamesIfNecessary(holders) {
  52. function t() {
  53. }
  54. ;
  55. if (typeof t.name == "string")
  56. return;
  57. for (var i = 0; i < holders.length; i++) {
  58. var holder = holders[i];
  59. var keys = Object.keys(holder);
  60. for (var j = 0; j < keys.length; j++) {
  61. var key = keys[j];
  62. var f = holder[key];
  63. if (typeof f == 'function')
  64. f.name = key;
  65. }
  66. }
  67. }
  68. function inherit(cls, sup) {
  69. cls.prototype.constructor = cls;
  70. cls.prototype["$is" + cls.name] = cls;
  71. if (sup != null) {
  72. if (supportsDirectProtoAccess) {
  73. cls.prototype.__proto__ = sup.prototype;
  74. return;
  75. }
  76. var clsPrototype = Object.create(sup.prototype);
  77. copyProperties(cls.prototype, clsPrototype);
  78. cls.prototype = clsPrototype;
  79. }
  80. }
  81. function inheritMany(sup, classes) {
  82. for (var i = 0; i < classes.length; i++)
  83. inherit(classes[i], sup);
  84. }
  85. function mixin(cls, mixin) {
  86. copyProperties(mixin.prototype, cls.prototype);
  87. cls.prototype.constructor = cls;
  88. }
  89. function lazy(holder, name, getterName, initializer) {
  90. var uninitializedSentinel = holder;
  91. holder[name] = uninitializedSentinel;
  92. holder[getterName] = function() {
  93. holder[getterName] = function() {
  94. H.throwCyclicInit(name);
  95. };
  96. var result;
  97. var sentinelInProgress = initializer;
  98. try {
  99. if (holder[name] === uninitializedSentinel) {
  100. result = holder[name] = sentinelInProgress;
  101. result = holder[name] = initializer();
  102. } else
  103. result = holder[name];
  104. } finally {
  105. if (result === sentinelInProgress)
  106. holder[name] = null;
  107. holder[getterName] = function() {
  108. return this[name];
  109. };
  110. }
  111. return result;
  112. };
  113. }
  114. function makeConstList(list) {
  115. list.immutable$list = Array;
  116. list.fixed$length = Array;
  117. return list;
  118. }
  119. function convertToFastObject(properties) {
  120. function t() {
  121. }
  122. t.prototype = properties;
  123. new t();
  124. return properties;
  125. }
  126. function convertAllToFastObject(arrayOfObjects) {
  127. for (var i = 0; i < arrayOfObjects.length; ++i)
  128. convertToFastObject(arrayOfObjects[i]);
  129. }
  130. var functionCounter = 0;
  131. function tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted) {
  132. 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);
  133. }
  134. function tearOff(funcs, applyTrampolineIndex, reflectionInfo, isStatic, name, isIntercepted) {
  135. var cache = null;
  136. return isStatic ? function() {
  137. if (cache === null)
  138. cache = H.closureFromTearOff(this, funcs, applyTrampolineIndex, reflectionInfo, true, false, name).prototype;
  139. return cache;
  140. } : tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted);
  141. }
  142. var typesOffset = 0;
  143. function installTearOff(container, getterName, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
  144. var funs = [];
  145. for (var i = 0; i < funsOrNames.length; i++) {
  146. var fun = funsOrNames[i];
  147. if (typeof fun == 'string')
  148. fun = container[fun];
  149. fun.$callName = callNames[i];
  150. funs.push(fun);
  151. }
  152. var fun = funs[0];
  153. fun.$requiredArgCount = requiredParameterCount;
  154. fun.$defaultValues = optionalParameterDefaultValues;
  155. var reflectionInfo = funType;
  156. if (typeof reflectionInfo == "number")
  157. reflectionInfo += typesOffset;
  158. var name = funsOrNames[0];
  159. fun.$stubName = name;
  160. var getterFunction = tearOff(funs, applyIndex || 0, reflectionInfo, isStatic, name, isIntercepted);
  161. container[getterName] = getterFunction;
  162. if (isStatic)
  163. fun.$tearOff = getterFunction;
  164. }
  165. function installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
  166. return installTearOff(container, getterName, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex);
  167. }
  168. function installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
  169. return installTearOff(container, getterName, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex);
  170. }
  171. function setOrUpdateInterceptorsByTag(newTags) {
  172. var tags = init.interceptorsByTag;
  173. if (!tags) {
  174. init.interceptorsByTag = newTags;
  175. return;
  176. }
  177. copyProperties(newTags, tags);
  178. }
  179. function setOrUpdateLeafTags(newTags) {
  180. var tags = init.leafTags;
  181. if (!tags) {
  182. init.leafTags = newTags;
  183. return;
  184. }
  185. copyProperties(newTags, tags);
  186. }
  187. function updateTypes(newTypes) {
  188. var types = init.types;
  189. var length = types.length;
  190. types.push.apply(types, newTypes);
  191. return length;
  192. }
  193. function updateHolder(holder, newHolder) {
  194. copyProperties(newHolder, holder);
  195. return holder;
  196. }
  197. var hunkHelpers = function() {
  198. var mkInstance = function(isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
  199. return function(container, getterName, name, funType) {
  200. return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
  201. };
  202. },
  203. mkStatic = function(requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
  204. return function(container, getterName, name, funType) {
  205. return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
  206. };
  207. };
  208. 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, updateHolder: updateHolder, convertToFastObject: convertToFastObject, setFunctionNamesIfNecessary: setFunctionNamesIfNecessary, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags};
  209. }();
  210. function initializeDeferredHunk(hunk) {
  211. typesOffset = init.types.length;
  212. hunk(hunkHelpers, init, holders, $);
  213. }
  214. function getGlobalFromName(name) {
  215. for (var i = 0; i < holders.length; i++) {
  216. if (holders[i] == C)
  217. continue;
  218. if (holders[i][name])
  219. return holders[i][name];
  220. }
  221. }
  222. var C = {},
  223. H = {JS_CONST: function JS_CONST() {
  224. },
  225. unminifyOrTag: function(rawClassName) {
  226. var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName);
  227. if (typeof preserved === "string")
  228. return preserved;
  229. return rawClassName;
  230. },
  231. S: function(value) {
  232. var res;
  233. if (typeof value === "string")
  234. return value;
  235. if (typeof value === "number") {
  236. if (value !== 0)
  237. return "" + value;
  238. } else if (true === value)
  239. return "true";
  240. else if (false === value)
  241. return "false";
  242. else if (value == null)
  243. return "null";
  244. res = J.toString$0$(value);
  245. if (typeof res !== "string")
  246. throw H.wrapException(H.argumentErrorValue(value));
  247. return res;
  248. },
  249. Primitives_objectTypeName: function(object) {
  250. return H.Primitives__objectClassName(object) + H._joinArguments(H.getRuntimeTypeInfo(object), 0, null);
  251. },
  252. Primitives__objectClassName: function(object) {
  253. var interceptorConstructorName, $name, t1, dispatchName, objectConstructor, match, decompiledName, endIndex, _null = null,
  254. interceptor = J.getInterceptor$(object),
  255. interceptorConstructor = interceptor.constructor;
  256. if (typeof interceptorConstructor == "function") {
  257. interceptorConstructorName = interceptorConstructor.name;
  258. $name = typeof interceptorConstructorName === "string" ? interceptorConstructorName : _null;
  259. } else
  260. $name = _null;
  261. t1 = $name == null;
  262. if (t1 || interceptor === C.Interceptor_methods || false) {
  263. dispatchName = C.C_JS_CONST(object);
  264. if (t1)
  265. $name = dispatchName;
  266. if (dispatchName === "Object") {
  267. objectConstructor = object.constructor;
  268. if (typeof objectConstructor == "function") {
  269. match = String(objectConstructor).match(/^\s*function\s*([\w$]*)\s*\(/);
  270. decompiledName = match == null ? _null : match[1];
  271. if (typeof decompiledName === "string" && /^\w+$/.test(decompiledName))
  272. $name = decompiledName;
  273. }
  274. }
  275. return $name;
  276. }
  277. $name = $name;
  278. endIndex = $name.length;
  279. if (endIndex > 1 && C.JSString_methods._codeUnitAt$1($name, 0) === 36) {
  280. if (1 > endIndex)
  281. H.throwExpression(P.RangeError$value(1, _null));
  282. if (endIndex > endIndex)
  283. H.throwExpression(P.RangeError$value(endIndex, _null));
  284. $name = $name.substring(1, endIndex);
  285. }
  286. return H.unminifyOrTag($name);
  287. },
  288. ioore: function(receiver, index) {
  289. if (receiver == null)
  290. J.get$length$as(receiver);
  291. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  292. },
  293. diagnoseIndexError: function(indexable, index) {
  294. var $length, _s5_ = "index";
  295. if (typeof index !== "number" || Math.floor(index) !== index)
  296. return new P.ArgumentError(index, _s5_, null);
  297. $length = J.get$length$as(indexable);
  298. if (index < 0 || index >= $length)
  299. return new P.IndexError($length, index, _s5_, "Index out of range");
  300. return P.RangeError$value(index, _s5_);
  301. },
  302. argumentErrorValue: function(object) {
  303. return new P.ArgumentError(object, null, null);
  304. },
  305. wrapException: function(ex) {
  306. var wrapper;
  307. if (ex == null)
  308. ex = new P.NullThrownError();
  309. wrapper = new Error();
  310. wrapper.dartException = ex;
  311. if ("defineProperty" in Object) {
  312. Object.defineProperty(wrapper, "message", {get: H.toStringWrapper});
  313. wrapper.name = "";
  314. } else
  315. wrapper.toString = H.toStringWrapper;
  316. return wrapper;
  317. },
  318. toStringWrapper: function() {
  319. return J.toString$0$(this.dartException);
  320. },
  321. throwExpression: function(ex) {
  322. throw H.wrapException(ex);
  323. },
  324. throwConcurrentModificationError: function(collection) {
  325. throw H.wrapException(new P.ConcurrentModificationError(collection));
  326. },
  327. stringTypeCheck: function(value) {
  328. if (value == null)
  329. return value;
  330. if (typeof value === "string")
  331. return value;
  332. throw H.wrapException(H.TypeErrorImplementation$(value, "String"));
  333. },
  334. numTypeCheck: function(value) {
  335. if (value == null)
  336. return value;
  337. if (typeof value === "number")
  338. return value;
  339. throw H.wrapException(H.TypeErrorImplementation$(value, "num"));
  340. },
  341. intTypeCheck: function(value) {
  342. if (value == null)
  343. return value;
  344. if (typeof value === "number" && Math.floor(value) === value)
  345. return value;
  346. throw H.wrapException(H.TypeErrorImplementation$(value, "int"));
  347. },
  348. extractFunctionTypeObjectFromInternal: function(o) {
  349. var signature;
  350. if ("$signature" in o) {
  351. signature = o.$signature;
  352. if (typeof signature == "number")
  353. return init.types[H.intTypeCheck(signature)];
  354. else
  355. return o.$signature();
  356. }
  357. return;
  358. },
  359. functionTypeTest: function(value, functionTypeRti) {
  360. var functionTypeObject;
  361. if (typeof value == "function")
  362. return true;
  363. functionTypeObject = H.extractFunctionTypeObjectFromInternal(J.getInterceptor$(value));
  364. if (functionTypeObject == null)
  365. return false;
  366. return H._isFunctionSubtype(functionTypeObject, null, functionTypeRti, null);
  367. },
  368. TypeErrorImplementation$: function(value, type) {
  369. return new H.TypeErrorImplementation("TypeError: " + P.Error_safeToString(value) + ": type '" + H.S(H._typeDescription(value)) + "' is not a subtype of type '" + type + "'");
  370. },
  371. _typeDescription: function(value) {
  372. var functionTypeObject,
  373. t1 = J.getInterceptor$(value);
  374. if (!!t1.$isClosure) {
  375. functionTypeObject = H.extractFunctionTypeObjectFromInternal(t1);
  376. if (functionTypeObject != null)
  377. return H.runtimeTypeToString(functionTypeObject);
  378. return "Closure";
  379. }
  380. return H.Primitives_objectTypeName(value);
  381. },
  382. throwCyclicInit: function(staticName) {
  383. throw H.wrapException(new P.CyclicInitializationError(staticName));
  384. },
  385. setRuntimeTypeInfo: function(target, rti) {
  386. target.$ti = rti;
  387. return target;
  388. },
  389. getRuntimeTypeInfo: function(target) {
  390. if (target == null)
  391. return;
  392. return target.$ti;
  393. },
  394. getTypeArgumentByIndex: function(target, index) {
  395. var rti = H.getRuntimeTypeInfo(target);
  396. return rti == null ? null : rti[index];
  397. },
  398. runtimeTypeToString: function(rti) {
  399. return H._runtimeTypeToString(rti, null);
  400. },
  401. _runtimeTypeToString: function(rti, genericContext) {
  402. var t1, t2;
  403. if (rti == null)
  404. return "dynamic";
  405. if (rti === -1)
  406. return "void";
  407. if (typeof rti === "object" && rti !== null && rti.constructor === Array)
  408. return H.unminifyOrTag(rti[0].name) + H._joinArguments(rti, 1, genericContext);
  409. if (typeof rti == "function")
  410. return H.unminifyOrTag(rti.name);
  411. if (rti === -2)
  412. return "dynamic";
  413. if (typeof rti === "number") {
  414. H.intTypeCheck(rti);
  415. if (genericContext == null || rti < 0 || rti >= genericContext.length)
  416. return "unexpected-generic-index:" + rti;
  417. t1 = genericContext.length;
  418. t2 = t1 - rti - 1;
  419. if (t2 < 0 || t2 >= t1)
  420. return H.ioore(genericContext, t2);
  421. return H.S(genericContext[t2]);
  422. }
  423. if ('func' in rti)
  424. return H._functionRtiToString(rti, genericContext);
  425. if ('futureOr' in rti)
  426. return "FutureOr<" + H._runtimeTypeToString("type" in rti ? rti.type : null, genericContext) + ">";
  427. return "unknown-reified-type";
  428. },
  429. _functionRtiToString: function(rti, genericContext) {
  430. var boundsRti, outerContextLength, offset, i, i0, typeParameters, typeSep, t1, t2, boundRti, returnTypeText, $arguments, argumentsText, sep, _i, argument, optionalArguments, namedArguments, t3, _s2_ = ", ";
  431. if ("bounds" in rti) {
  432. boundsRti = rti.bounds;
  433. if (genericContext == null) {
  434. genericContext = H.setRuntimeTypeInfo([], [P.String]);
  435. outerContextLength = null;
  436. } else
  437. outerContextLength = genericContext.length;
  438. offset = genericContext.length;
  439. for (i = boundsRti.length, i0 = i; i0 > 0; --i0)
  440. C.JSArray_methods.add$1(genericContext, "T" + (offset + i0));
  441. for (typeParameters = "<", typeSep = "", i0 = 0; i0 < i; ++i0, typeSep = _s2_) {
  442. typeParameters += typeSep;
  443. t1 = genericContext.length;
  444. t2 = t1 - i0 - 1;
  445. if (t2 < 0)
  446. return H.ioore(genericContext, t2);
  447. typeParameters = C.JSString_methods.$add(typeParameters, genericContext[t2]);
  448. boundRti = boundsRti[i0];
  449. if (boundRti != null && boundRti !== P.Object)
  450. typeParameters += " extends " + H._runtimeTypeToString(boundRti, genericContext);
  451. }
  452. typeParameters += ">";
  453. } else {
  454. typeParameters = "";
  455. outerContextLength = null;
  456. }
  457. returnTypeText = !!rti.v ? "void" : H._runtimeTypeToString(rti.ret, genericContext);
  458. if ("args" in rti) {
  459. $arguments = rti.args;
  460. for (t1 = $arguments.length, argumentsText = "", sep = "", _i = 0; _i < t1; ++_i, sep = _s2_) {
  461. argument = $arguments[_i];
  462. argumentsText = argumentsText + sep + H._runtimeTypeToString(argument, genericContext);
  463. }
  464. } else {
  465. argumentsText = "";
  466. sep = "";
  467. }
  468. if ("opt" in rti) {
  469. optionalArguments = rti.opt;
  470. argumentsText += sep + "[";
  471. for (t1 = optionalArguments.length, sep = "", _i = 0; _i < t1; ++_i, sep = _s2_) {
  472. argument = optionalArguments[_i];
  473. argumentsText = argumentsText + sep + H._runtimeTypeToString(argument, genericContext);
  474. }
  475. argumentsText += "]";
  476. }
  477. if ("named" in rti) {
  478. namedArguments = rti.named;
  479. argumentsText += sep + "{";
  480. for (t1 = H.extractKeys(namedArguments), t2 = t1.length, sep = "", _i = 0; _i < t2; ++_i, sep = _s2_) {
  481. t3 = H.stringTypeCheck(t1[_i]);
  482. argumentsText = argumentsText + sep + H._runtimeTypeToString(namedArguments[t3], genericContext) + (" " + H.S(t3));
  483. }
  484. argumentsText += "}";
  485. }
  486. if (outerContextLength != null)
  487. genericContext.length = outerContextLength;
  488. return typeParameters + "(" + argumentsText + ") => " + returnTypeText;
  489. },
  490. _joinArguments: function(types, startIndex, genericContext) {
  491. var buffer, index, separator, allDynamic, t1, argument;
  492. if (types == null)
  493. return "";
  494. buffer = new P.StringBuffer("");
  495. for (index = startIndex, separator = "", allDynamic = true, t1 = ""; index < types.length; ++index, separator = ", ") {
  496. buffer._contents = t1 + separator;
  497. argument = types[index];
  498. if (argument != null)
  499. allDynamic = false;
  500. t1 = buffer._contents += H._runtimeTypeToString(argument, genericContext);
  501. }
  502. return "<" + buffer.toString$0(0) + ">";
  503. },
  504. substitute: function(substitution, $arguments) {
  505. if (substitution == null)
  506. return $arguments;
  507. substitution = substitution.apply(null, $arguments);
  508. if (substitution == null)
  509. return;
  510. if (typeof substitution === "object" && substitution !== null && substitution.constructor === Array)
  511. return substitution;
  512. if (typeof substitution == "function")
  513. return substitution.apply(null, $arguments);
  514. return $arguments;
  515. },
  516. checkSubtype: function(object, isField, checks, asField) {
  517. var $arguments, interceptor;
  518. if (object == null)
  519. return false;
  520. $arguments = H.getRuntimeTypeInfo(object);
  521. interceptor = J.getInterceptor$(object);
  522. if (interceptor[isField] == null)
  523. return false;
  524. return H.areSubtypes(H.substitute(interceptor[asField], $arguments), null, checks, null);
  525. },
  526. assertSubtype: function(object, isField, checks, asField) {
  527. if (object == null)
  528. return object;
  529. if (H.checkSubtype(object, isField, checks, asField))
  530. return object;
  531. throw H.wrapException(H.TypeErrorImplementation$(object, function(str, names) {
  532. return str.replace(/[^<,> ]+/g, function(m) {
  533. return names[m] || m;
  534. });
  535. }(H.unminifyOrTag(isField.substring(3)) + H._joinArguments(checks, 0, null), init.mangledGlobalNames)));
  536. },
  537. areSubtypes: function(s, sEnv, t, tEnv) {
  538. var len, i;
  539. if (t == null)
  540. return true;
  541. if (s == null) {
  542. len = t.length;
  543. for (i = 0; i < len; ++i)
  544. if (!H._isSubtype(null, null, t[i], tEnv))
  545. return false;
  546. return true;
  547. }
  548. len = s.length;
  549. for (i = 0; i < len; ++i)
  550. if (!H._isSubtype(s[i], sEnv, t[i], tEnv))
  551. return false;
  552. return true;
  553. },
  554. isSupertypeOfNullRecursive: function(type) {
  555. var typeArgument;
  556. if (typeof type === "number")
  557. return false;
  558. if ('futureOr' in type) {
  559. typeArgument = "type" in type ? type.type : null;
  560. return type == null || type.name === "Object" || type.name === "Null" || type === -1 || type === -2 || H.isSupertypeOfNullRecursive(typeArgument);
  561. }
  562. return false;
  563. },
  564. checkSubtypeOfRuntimeType: function(o, t) {
  565. var type, rti;
  566. if (o == null)
  567. return t == null || t.name === "Object" || t.name === "Null" || t === -1 || t === -2 || H.isSupertypeOfNullRecursive(t);
  568. if (t == null || t === -1 || t.name === "Object" || t === -2)
  569. return true;
  570. if (typeof t == "object") {
  571. if ('futureOr' in t)
  572. if (H.checkSubtypeOfRuntimeType(o, "type" in t ? t.type : null))
  573. return true;
  574. if ('func' in t)
  575. return H.functionTypeTest(o, t);
  576. }
  577. type = J.getInterceptor$(o).constructor;
  578. rti = H.getRuntimeTypeInfo(o);
  579. if (rti != null) {
  580. rti = rti.slice();
  581. rti.splice(0, 0, type);
  582. type = rti;
  583. }
  584. return H._isSubtype(type, null, t, null);
  585. },
  586. assertSubtypeOfRuntimeType: function(object, type) {
  587. if (object != null && !H.checkSubtypeOfRuntimeType(object, type))
  588. throw H.wrapException(H.TypeErrorImplementation$(object, H.runtimeTypeToString(type)));
  589. return object;
  590. },
  591. _isSubtype: function(s, sEnv, t, tEnv) {
  592. var t1, typeOfS, tTypeArgument, futureSubstitution, futureArguments, t2, typeOfT, typeOfTString, substitution, _null = null;
  593. if (s === t)
  594. return true;
  595. if (t == null || t === -1 || t.name === "Object" || t === -2)
  596. return true;
  597. if (s === -2)
  598. return true;
  599. if (s == null || s === -1 || s.name === "Object" || s === -2) {
  600. if (typeof t === "number")
  601. return false;
  602. if ('futureOr' in t)
  603. return H._isSubtype(s, sEnv, "type" in t ? t.type : _null, tEnv);
  604. return false;
  605. }
  606. if (typeof s === "number")
  607. return H._isSubtype(sEnv[H.intTypeCheck(s)], sEnv, t, tEnv);
  608. if (typeof t === "number")
  609. return false;
  610. if (s.name === "Null")
  611. return true;
  612. t1 = typeof s === "object" && s !== null && s.constructor === Array;
  613. typeOfS = t1 ? s[0] : s;
  614. if ('futureOr' in t) {
  615. tTypeArgument = "type" in t ? t.type : _null;
  616. if ('futureOr' in s)
  617. return H._isSubtype("type" in s ? s.type : _null, sEnv, tTypeArgument, tEnv);
  618. else if (H._isSubtype(s, sEnv, tTypeArgument, tEnv))
  619. return true;
  620. else {
  621. if (!('$is' + "Future" in typeOfS.prototype))
  622. return false;
  623. futureSubstitution = typeOfS.prototype["$as" + "Future"];
  624. futureArguments = H.substitute(futureSubstitution, t1 ? s.slice(1) : _null);
  625. return H._isSubtype(typeof futureArguments === "object" && futureArguments !== null && futureArguments.constructor === Array ? futureArguments[0] : _null, sEnv, tTypeArgument, tEnv);
  626. }
  627. }
  628. if ('func' in t)
  629. return H._isFunctionSubtype(s, sEnv, t, tEnv);
  630. if ('func' in s)
  631. return t.name === "Function";
  632. t2 = typeof t === "object" && t !== null && t.constructor === Array;
  633. typeOfT = t2 ? t[0] : t;
  634. if (typeOfT !== typeOfS) {
  635. typeOfTString = typeOfT.name;
  636. if (!('$is' + typeOfTString in typeOfS.prototype))
  637. return false;
  638. substitution = typeOfS.prototype["$as" + typeOfTString];
  639. } else
  640. substitution = _null;
  641. if (!t2)
  642. return true;
  643. t1 = t1 ? s.slice(1) : _null;
  644. t2 = t.slice(1);
  645. return H.areSubtypes(H.substitute(substitution, t1), sEnv, t2, tEnv);
  646. },
  647. _isFunctionSubtype: function(s, sEnv, t, tEnv) {
  648. var sBounds, tBounds, sParameterTypes, tParameterTypes, sOptionalParameterTypes, tOptionalParameterTypes, sParametersLen, tParametersLen, sOptionalParametersLen, tOptionalParametersLen, pos, tPos, sPos, sNamedParameters, tNamedParameters;
  649. if (!('func' in s))
  650. return false;
  651. if ("bounds" in s) {
  652. if (!("bounds" in t))
  653. return false;
  654. sBounds = s.bounds;
  655. tBounds = t.bounds;
  656. if (sBounds.length !== tBounds.length)
  657. return false;
  658. sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv);
  659. tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv);
  660. } else if ("bounds" in t)
  661. return false;
  662. if (!H._isSubtype(s.ret, sEnv, t.ret, tEnv))
  663. return false;
  664. sParameterTypes = s.args;
  665. tParameterTypes = t.args;
  666. sOptionalParameterTypes = s.opt;
  667. tOptionalParameterTypes = t.opt;
  668. sParametersLen = sParameterTypes != null ? sParameterTypes.length : 0;
  669. tParametersLen = tParameterTypes != null ? tParameterTypes.length : 0;
  670. sOptionalParametersLen = sOptionalParameterTypes != null ? sOptionalParameterTypes.length : 0;
  671. tOptionalParametersLen = tOptionalParameterTypes != null ? tOptionalParameterTypes.length : 0;
  672. if (sParametersLen > tParametersLen)
  673. return false;
  674. if (sParametersLen + sOptionalParametersLen < tParametersLen + tOptionalParametersLen)
  675. return false;
  676. for (pos = 0; pos < sParametersLen; ++pos)
  677. if (!H._isSubtype(tParameterTypes[pos], tEnv, sParameterTypes[pos], sEnv))
  678. return false;
  679. for (tPos = pos, sPos = 0; tPos < tParametersLen; ++sPos, ++tPos)
  680. if (!H._isSubtype(tParameterTypes[tPos], tEnv, sOptionalParameterTypes[sPos], sEnv))
  681. return false;
  682. for (tPos = 0; tPos < tOptionalParametersLen; ++sPos, ++tPos)
  683. if (!H._isSubtype(tOptionalParameterTypes[tPos], tEnv, sOptionalParameterTypes[sPos], sEnv))
  684. return false;
  685. sNamedParameters = s.named;
  686. tNamedParameters = t.named;
  687. if (tNamedParameters == null)
  688. return true;
  689. if (sNamedParameters == null)
  690. return false;
  691. return H.namedParametersSubtypeCheck(sNamedParameters, sEnv, tNamedParameters, tEnv);
  692. },
  693. namedParametersSubtypeCheck: function(s, sEnv, t, tEnv) {
  694. var t1, i, $name,
  695. names = Object.getOwnPropertyNames(t);
  696. for (t1 = names.length, i = 0; i < t1; ++i) {
  697. $name = names[i];
  698. if (!Object.hasOwnProperty.call(s, $name))
  699. return false;
  700. if (!H._isSubtype(t[$name], tEnv, s[$name], sEnv))
  701. return false;
  702. }
  703. return true;
  704. },
  705. Closure: function Closure() {
  706. },
  707. TypeErrorImplementation: function TypeErrorImplementation(t0) {
  708. this.message = t0;
  709. },
  710. extractKeys: function(victim) {
  711. return J.JSArray_JSArray$markFixed(victim ? Object.keys(victim) : [], null);
  712. },
  713. unmangleGlobalNameIfPreservedAnyways: function($name) {
  714. return init.mangledGlobalNames[$name];
  715. },
  716. printString: function(string) {
  717. if (typeof dartPrint == "function") {
  718. dartPrint(string);
  719. return;
  720. }
  721. if (typeof console == "object" && typeof console.log != "undefined") {
  722. console.log(string);
  723. return;
  724. }
  725. if (typeof window == "object")
  726. return;
  727. if (typeof print == "function") {
  728. print(string);
  729. return;
  730. }
  731. throw "Unable to print message: " + String(string);
  732. }
  733. },
  734. J = {
  735. JSArray_JSArray$markFixed: function(allocation, $E) {
  736. return J.JSArray_markFixedList(H.setRuntimeTypeInfo(allocation, [$E]));
  737. },
  738. JSArray_markFixedList: function(list) {
  739. list.fixed$length = Array;
  740. return list;
  741. },
  742. getInterceptor$: function(receiver) {
  743. if (typeof receiver == "number") {
  744. if (Math.floor(receiver) == receiver)
  745. return J.JSInt.prototype;
  746. return J.JSDouble.prototype;
  747. }
  748. if (typeof receiver == "string")
  749. return J.JSString.prototype;
  750. if (receiver == null)
  751. return J.JSNull.prototype;
  752. if (typeof receiver == "boolean")
  753. return J.JSBool.prototype;
  754. if (receiver.constructor == Array)
  755. return J.JSArray.prototype;
  756. return receiver;
  757. },
  758. getInterceptor$as: function(receiver) {
  759. if (typeof receiver == "string")
  760. return J.JSString.prototype;
  761. if (receiver == null)
  762. return receiver;
  763. if (receiver.constructor == Array)
  764. return J.JSArray.prototype;
  765. return receiver;
  766. },
  767. get$length$as: function(receiver) {
  768. return J.getInterceptor$as(receiver).get$length(receiver);
  769. },
  770. toString$0$: function(receiver) {
  771. return J.getInterceptor$(receiver).toString$0(receiver);
  772. },
  773. Interceptor: function Interceptor() {
  774. },
  775. JSBool: function JSBool() {
  776. },
  777. JSNull: function JSNull() {
  778. },
  779. JSArray: function JSArray(t0) {
  780. this.$ti = t0;
  781. },
  782. JSUnmodifiableArray: function JSUnmodifiableArray(t0) {
  783. this.$ti = t0;
  784. },
  785. ArrayIterator: function ArrayIterator(t0, t1, t2) {
  786. var _ = this;
  787. _._iterable = t0;
  788. _._length = t1;
  789. _._index = 0;
  790. _._current = null;
  791. _.$ti = t2;
  792. },
  793. JSNumber: function JSNumber() {
  794. },
  795. JSInt: function JSInt() {
  796. },
  797. JSDouble: function JSDouble() {
  798. },
  799. JSString: function JSString() {
  800. }
  801. },
  802. P = {
  803. Error__objectToString: function(object) {
  804. if (object instanceof H.Closure)
  805. return object.toString$0(0);
  806. return "Instance of '" + H.S(H.Primitives_objectTypeName(object)) + "'";
  807. },
  808. StringBuffer__writeAll: function(string, objects, separator) {
  809. var iterator = new J.ArrayIterator(objects, objects.length, [H.getTypeArgumentByIndex(objects, 0)]);
  810. if (!iterator.moveNext$0())
  811. return string;
  812. if (separator.length === 0) {
  813. do
  814. string += H.S(iterator._current);
  815. while (iterator.moveNext$0());
  816. } else {
  817. string += H.S(iterator._current);
  818. for (; iterator.moveNext$0();)
  819. string = string + separator + H.S(iterator._current);
  820. }
  821. return string;
  822. },
  823. Error_safeToString: function(object) {
  824. if (typeof object === "number" || typeof object === "boolean" || null == object)
  825. return J.toString$0$(object);
  826. if (typeof object === "string")
  827. return JSON.stringify(object);
  828. return P.Error__objectToString(object);
  829. },
  830. ArgumentError$value: function(value, $name, message) {
  831. return new P.ArgumentError(value, $name, message);
  832. },
  833. RangeError$value: function(value, $name) {
  834. return new P.RangeError(null, null, value, $name, "Value not in range");
  835. },
  836. UnsupportedError$: function(message) {
  837. return new P.UnsupportedError(message);
  838. },
  839. bool: function bool() {
  840. },
  841. double: function double() {
  842. },
  843. Error: function Error() {
  844. },
  845. NullThrownError: function NullThrownError() {
  846. },
  847. ArgumentError: function ArgumentError(t0, t1, t2) {
  848. this.invalidValue = t0;
  849. this.name = t1;
  850. this.message = t2;
  851. },
  852. RangeError: function RangeError(t0, t1, t2, t3, t4) {
  853. var _ = this;
  854. _.start = t0;
  855. _.end = t1;
  856. _.invalidValue = t2;
  857. _.name = t3;
  858. _.message = t4;
  859. },
  860. IndexError: function IndexError(t0, t1, t2, t3) {
  861. var _ = this;
  862. _.length = t0;
  863. _.invalidValue = t1;
  864. _.name = t2;
  865. _.message = t3;
  866. },
  867. UnsupportedError: function UnsupportedError(t0) {
  868. this.message = t0;
  869. },
  870. ConcurrentModificationError: function ConcurrentModificationError(t0) {
  871. this.modifiedObject = t0;
  872. },
  873. CyclicInitializationError: function CyclicInitializationError(t0) {
  874. this.variableName = t0;
  875. },
  876. int: function int() {
  877. },
  878. List: function List() {
  879. },
  880. Null: function Null() {
  881. },
  882. num: function num() {
  883. },
  884. Object: function Object() {
  885. },
  886. String: function String() {
  887. },
  888. StringBuffer: function StringBuffer(t0) {
  889. this._contents = t0;
  890. },
  891. IterableBase_iterableToFullString: function(iterable, leftDelimiter, rightDelimiter) {
  892. var buffer, t1;
  893. if (P._isToStringVisiting(iterable))
  894. return leftDelimiter + "..." + rightDelimiter;
  895. buffer = new P.StringBuffer(leftDelimiter);
  896. C.JSArray_methods.add$1($._toStringVisiting, iterable);
  897. try {
  898. t1 = buffer;
  899. t1._contents = P.StringBuffer__writeAll(t1._contents, iterable, ", ");
  900. } finally {
  901. if (0 >= $._toStringVisiting.length)
  902. return H.ioore($._toStringVisiting, -1);
  903. $._toStringVisiting.pop();
  904. }
  905. buffer._contents += rightDelimiter;
  906. t1 = buffer._contents;
  907. return t1.charCodeAt(0) == 0 ? t1 : t1;
  908. },
  909. _isToStringVisiting: function(o) {
  910. var t1, i;
  911. for (t1 = $._toStringVisiting.length, i = 0; i < t1; ++i)
  912. if (o === $._toStringVisiting[i])
  913. return true;
  914. return false;
  915. }
  916. },
  917. G = {
  918. main: function() {
  919. var t1, i, out;
  920. for (t1 = [P.String], i = 1; i <= 100; ++i) {
  921. out = H.setRuntimeTypeInfo([], t1);
  922. if (i % 3 === 0)
  923. C.JSArray_methods.add$1(out, "Fizz");
  924. if (i % 5 === 0)
  925. C.JSArray_methods.add$1(out, "Buzz");
  926. H.printString(H.S(out.length > 0 ? C.JSArray_methods.join$1(out, "") : i));
  927. }
  928. }
  929. };
  930. var holders = [C, H, J, P, G];
  931. hunkHelpers.setFunctionNamesIfNecessary(holders);
  932. var $ = {};
  933. H.JS_CONST.prototype = {};
  934. J.Interceptor.prototype = {
  935. toString$0: function(receiver) {
  936. return "Instance of '" + H.S(H.Primitives_objectTypeName(receiver)) + "'";
  937. }
  938. };
  939. J.JSBool.prototype = {
  940. toString$0: function(receiver) {
  941. return String(receiver);
  942. },
  943. $isbool: 1
  944. };
  945. J.JSNull.prototype = {
  946. toString$0: function(receiver) {
  947. return "null";
  948. }
  949. };
  950. J.JSArray.prototype = {
  951. add$1: function(receiver, value) {
  952. H.assertSubtypeOfRuntimeType(value, H.getTypeArgumentByIndex(receiver, 0));
  953. if (!!receiver.fixed$length)
  954. H.throwExpression(P.UnsupportedError$("add"));
  955. receiver.push(value);
  956. },
  957. join$1: function(receiver, separator) {
  958. var i,
  959. list = new Array(receiver.length);
  960. list.fixed$length = Array;
  961. for (i = 0; i < receiver.length; ++i)
  962. this.$indexSet(list, i, H.S(receiver[i]));
  963. return list.join(separator);
  964. },
  965. toString$0: function(receiver) {
  966. return P.IterableBase_iterableToFullString(receiver, "[", "]");
  967. },
  968. get$length: function(receiver) {
  969. return receiver.length;
  970. },
  971. $indexSet: function(receiver, index, value) {
  972. H.assertSubtypeOfRuntimeType(value, H.getTypeArgumentByIndex(receiver, 0));
  973. if (!!receiver.immutable$list)
  974. H.throwExpression(P.UnsupportedError$("indexed set"));
  975. if (index >= receiver.length || false)
  976. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  977. receiver[index] = value;
  978. },
  979. $isIterable: 1
  980. };
  981. J.JSUnmodifiableArray.prototype = {};
  982. J.ArrayIterator.prototype = {
  983. moveNext$0: function() {
  984. var t2, _this = this,
  985. t1 = _this._iterable,
  986. $length = t1.length;
  987. if (_this._length !== $length)
  988. throw H.wrapException(H.throwConcurrentModificationError(t1));
  989. t2 = _this._index;
  990. if (t2 >= $length) {
  991. _this.set$_current(null);
  992. return false;
  993. }
  994. _this.set$_current(t1[t2]);
  995. ++_this._index;
  996. return true;
  997. },
  998. set$_current: function(_current) {
  999. this._current = H.assertSubtypeOfRuntimeType(_current, H.getTypeArgumentByIndex(this, 0));
  1000. }
  1001. };
  1002. J.JSNumber.prototype = {
  1003. toString$0: function(receiver) {
  1004. if (receiver === 0 && 1 / receiver < 0)
  1005. return "-0.0";
  1006. else
  1007. return "" + receiver;
  1008. },
  1009. $isnum: 1
  1010. };
  1011. J.JSInt.prototype = {$isint: 1};
  1012. J.JSDouble.prototype = {};
  1013. J.JSString.prototype = {
  1014. _codeUnitAt$1: function(receiver, index) {
  1015. if (index >= receiver.length)
  1016. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  1017. return receiver.charCodeAt(index);
  1018. },
  1019. $add: function(receiver, other) {
  1020. if (typeof other !== "string")
  1021. throw H.wrapException(P.ArgumentError$value(other, null, null));
  1022. return receiver + other;
  1023. },
  1024. toString$0: function(receiver) {
  1025. return receiver;
  1026. },
  1027. get$length: function(receiver) {
  1028. return receiver.length;
  1029. },
  1030. $isString: 1
  1031. };
  1032. H.Closure.prototype = {
  1033. get$$call: function() {
  1034. return this;
  1035. },
  1036. "call*": "call$1",
  1037. $requiredArgCount: 1,
  1038. $defaultValues: null
  1039. };
  1040. H.TypeErrorImplementation.prototype = {
  1041. toString$0: function(_) {
  1042. return this.message;
  1043. }
  1044. };
  1045. P.bool.prototype = {
  1046. toString$0: function(_) {
  1047. return this ? "true" : "false";
  1048. }
  1049. };
  1050. P.double.prototype = {};
  1051. P.Error.prototype = {};
  1052. P.NullThrownError.prototype = {
  1053. toString$0: function(_) {
  1054. return "Throw of null.";
  1055. }
  1056. };
  1057. P.ArgumentError.prototype = {
  1058. get$_errorName: function() {
  1059. return "Invalid argument";
  1060. },
  1061. get$_errorExplanation: function() {
  1062. return "";
  1063. },
  1064. toString$0: function(_) {
  1065. var message, prefix, explanation, errorValue, _this = this,
  1066. t1 = _this.name,
  1067. nameString = t1 != null ? " (" + t1 + ")" : "";
  1068. t1 = _this.message;
  1069. message = t1 == null ? "" : ": " + t1;
  1070. prefix = _this.get$_errorName() + nameString + message;
  1071. explanation = _this.get$_errorExplanation();
  1072. errorValue = P.Error_safeToString(_this.invalidValue);
  1073. return prefix + explanation + ": " + errorValue;
  1074. }
  1075. };
  1076. P.RangeError.prototype = {
  1077. get$_errorName: function() {
  1078. return "RangeError";
  1079. },
  1080. get$_errorExplanation: function() {
  1081. var explanation, t2,
  1082. t1 = this.start;
  1083. if (t1 == null) {
  1084. t1 = this.end;
  1085. explanation = t1 != null ? ": Not less than or equal to " + H.S(t1) : "";
  1086. } else {
  1087. t2 = this.end;
  1088. if (t2 == null)
  1089. explanation = ": Not greater than or equal to " + H.S(t1);
  1090. else if (t2 > t1)
  1091. explanation = ": Not in range " + H.S(t1) + ".." + H.S(t2) + ", inclusive";
  1092. else
  1093. explanation = t2 < t1 ? ": Valid value range is empty" : ": Only valid value is " + H.S(t1);
  1094. }
  1095. return explanation;
  1096. }
  1097. };
  1098. P.IndexError.prototype = {
  1099. get$_errorName: function() {
  1100. return "RangeError";
  1101. },
  1102. get$_errorExplanation: function() {
  1103. var t1,
  1104. invalidValue = H.intTypeCheck(this.invalidValue);
  1105. if (typeof invalidValue !== "number")
  1106. return invalidValue.$lt();
  1107. if (invalidValue < 0)
  1108. return ": index must not be negative";
  1109. t1 = this.length;
  1110. if (t1 === 0)
  1111. return ": no indices are valid";
  1112. return ": index should be less than " + t1;
  1113. },
  1114. get$length: function(receiver) {
  1115. return this.length;
  1116. }
  1117. };
  1118. P.UnsupportedError.prototype = {
  1119. toString$0: function(_) {
  1120. return "Unsupported operation: " + this.message;
  1121. }
  1122. };
  1123. P.ConcurrentModificationError.prototype = {
  1124. toString$0: function(_) {
  1125. var t1 = this.modifiedObject;
  1126. if (t1 == null)
  1127. return "Concurrent modification during iteration.";
  1128. return "Concurrent modification during iteration: " + P.Error_safeToString(t1) + ".";
  1129. }
  1130. };
  1131. P.CyclicInitializationError.prototype = {
  1132. toString$0: function(_) {
  1133. var t1 = this.variableName;
  1134. return t1 == null ? "Reading static variable during its initialization" : "Reading static variable '" + t1 + "' during its initialization";
  1135. }
  1136. };
  1137. P.int.prototype = {};
  1138. P.List.prototype = {$isIterable: 1};
  1139. P.Null.prototype = {
  1140. toString$0: function(_) {
  1141. return "null";
  1142. }
  1143. };
  1144. P.num.prototype = {};
  1145. P.Object.prototype = {constructor: P.Object, $isObject: 1,
  1146. toString$0: function(_) {
  1147. return "Instance of '" + H.S(H.Primitives_objectTypeName(this)) + "'";
  1148. },
  1149. toString: function() {
  1150. return this.toString$0(this);
  1151. }
  1152. };
  1153. P.String.prototype = {};
  1154. P.StringBuffer.prototype = {
  1155. get$length: function(_) {
  1156. return this._contents.length;
  1157. },
  1158. toString$0: function(_) {
  1159. var t1 = this._contents;
  1160. return t1.charCodeAt(0) == 0 ? t1 : t1;
  1161. }
  1162. };
  1163. (function inheritance() {
  1164. var _inherit = hunkHelpers.inherit,
  1165. _inheritMany = hunkHelpers.inheritMany;
  1166. _inherit(P.Object, null);
  1167. _inheritMany(P.Object, [H.JS_CONST, J.Interceptor, J.ArrayIterator, H.Closure, P.Error, P.bool, P.num, P.List, P.Null, P.String, P.StringBuffer]);
  1168. _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JSArray, J.JSNumber, J.JSString]);
  1169. _inherit(J.JSUnmodifiableArray, J.JSArray);
  1170. _inheritMany(J.JSNumber, [J.JSInt, J.JSDouble]);
  1171. _inheritMany(P.Error, [H.TypeErrorImplementation, P.NullThrownError, P.ArgumentError, P.UnsupportedError, P.ConcurrentModificationError, P.CyclicInitializationError]);
  1172. _inheritMany(P.num, [P.double, P.int]);
  1173. _inheritMany(P.ArgumentError, [P.RangeError, P.IndexError]);
  1174. })();
  1175. var init = {mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"}, mangledNames: {}, getTypeFromName: getGlobalFromName, metadata: [], types: []};
  1176. (function constants() {
  1177. C.Interceptor_methods = J.Interceptor.prototype;
  1178. C.JSArray_methods = J.JSArray.prototype;
  1179. C.JSString_methods = J.JSString.prototype;
  1180. C.C_JS_CONST = function getTagFallback(o) {
  1181. var s = Object.prototype.toString.call(o);
  1182. return s.substring(8, s.length - 1);
  1183. };
  1184. })();
  1185. (function staticFields() {
  1186. $._toStringVisiting = [];
  1187. })();
  1188. convertAllToFastObject(holders);
  1189. convertToFastObject($);
  1190. (function(callback) {
  1191. if (typeof document === "undefined") {
  1192. callback(null);
  1193. return;
  1194. }
  1195. if (typeof document.currentScript != 'undefined') {
  1196. callback(document.currentScript);
  1197. return;
  1198. }
  1199. var scripts = document.scripts;
  1200. function onLoad(event) {
  1201. for (var i = 0; i < scripts.length; ++i)
  1202. scripts[i].removeEventListener("load", onLoad, false);
  1203. callback(event.target);
  1204. }
  1205. for (var i = 0; i < scripts.length; ++i)
  1206. scripts[i].addEventListener("load", onLoad, false);
  1207. })(function(currentScript) {
  1208. init.currentScript = currentScript;
  1209. if (typeof dartMainRunner === "function")
  1210. dartMainRunner(G.main, []);
  1211. else
  1212. G.main([]);
  1213. });
  1214. })();
  1215.  
  1216. //# sourceMappingURL=fizzbuzz.js.map
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement