| Index: src/site/articles/trydart/examples/6-piratebadge/piratebadge.dart.js
 | 
| diff --git a/src/site/docs/tutorials/fetchdata/examples/portmanteaux_simple/portmanteaux_simple.dart.js b/src/site/articles/trydart/examples/6-piratebadge/piratebadge.dart.js
 | 
| similarity index 89%
 | 
| copy from src/site/docs/tutorials/fetchdata/examples/portmanteaux_simple/portmanteaux_simple.dart.js
 | 
| copy to src/site/articles/trydart/examples/6-piratebadge/piratebadge.dart.js
 | 
| index d619abbe92a51e728ef163db447447ec5f57ddf7..d1282d619d34d544878cf1fa49818a0ce7f4697d 100644
 | 
| --- a/src/site/docs/tutorials/fetchdata/examples/portmanteaux_simple/portmanteaux_simple.dart.js
 | 
| +++ b/src/site/articles/trydart/examples/6-piratebadge/piratebadge.dart.js
 | 
| @@ -508,7 +508,7 @@ IsolateNatives__processWorkerMessage: function(sender, e) {
 | 
|        break;
 | 
|      case "message":
 | 
|        if (t1.$index(msg, "port") != null)
 | 
| -        J.send$2$x(t1.$index(msg, "port"), t1.$index(msg, "msg"), t1.$index(msg, "replyTo"));
 | 
| +        t1.$index(msg, "port").send$2(t1.$index(msg, "msg"), t1.$index(msg, "replyTo"));
 | 
|        $globalState.topEventLoop.run$0();
 | 
|        break;
 | 
|      case "close":
 | 
| @@ -560,7 +560,7 @@ IsolateNatives__startIsolate: function(topLevel, replyTo) {
 | 
|    $.lazyPort = H.ReceivePortImpl$();
 | 
|    t1 = P._Isolate_port();
 | 
|    t1.toString;
 | 
| -  J.send$2$x(replyTo, "spawned", new H._NativeJsSendPort(t1, $globalState.currentContext.id));
 | 
| +  replyTo.send$2("spawned", new H._NativeJsSendPort(t1, $globalState.currentContext.id));
 | 
|    topLevel.call$0();
 | 
|  },
 | 
|  
 | 
| @@ -821,7 +821,7 @@ _BaseSendPort: {"": "Object;",
 | 
|      completer = new P._AsyncCompleter(P._Future$(t1));
 | 
|      H.setRuntimeTypeInfo(completer, [t1]);
 | 
|      port = H.ReceivePortImpl$();
 | 
| -    this.send$2(this, message, new H._NativeJsSendPort(port, $globalState.currentContext.id));
 | 
| +    this.send$2(message, new H._NativeJsSendPort(port, $globalState.currentContext.id));
 | 
|      port._callback = new H._BaseSendPort_call_closure(completer, port);
 | 
|      return completer.future;
 | 
|    },
 | 
| @@ -851,7 +851,7 @@ _BaseSendPort_call_closure: {"": "Closure;completer_0,port_1",
 | 
|  },
 | 
|  
 | 
|  _NativeJsSendPort: {"": "_BaseSendPort;_receivePort,_isolateId",
 | 
| -  send$2: function(_, message, replyTo) {
 | 
| +  send$2: function(message, replyTo) {
 | 
|      H._waitForPendingPorts([message, replyTo], new H._NativeJsSendPort_send_closure(this, message, replyTo));
 | 
|    },
 | 
|    $eq: function(_, other) {
 | 
| @@ -915,7 +915,7 @@ _NativeJsSendPort_send__closure: {"": "Closure;box_0,this_4,shouldSerialize_5",
 | 
|  },
 | 
|  
 | 
|  _WorkerSendPort: {"": "_BaseSendPort;_workerId,_receivePortId,_isolateId",
 | 
| -  send$2: function(_, message, replyTo) {
 | 
| +  send$2: function(message, replyTo) {
 | 
|      H._waitForPendingPorts([message, replyTo], new H._WorkerSendPort_send_closure(this, message, replyTo));
 | 
|    },
 | 
|    $eq: function(_, other) {
 | 
| @@ -1826,6 +1826,25 @@ convertDartClosureToJS: function(closure, arity) {
 | 
|    return $function;
 | 
|  },
 | 
|  
 | 
| +propertyTypeCastError: function(value, property) {
 | 
| +  var actualType, t1, expectedType;
 | 
| +  actualType = H.Primitives_objectTypeName(value);
 | 
| +  t1 = J.getInterceptor$asx(property);
 | 
| +  expectedType = t1.substring$2(property, 3, t1.get$length(property));
 | 
| +  throw H.wrapException(new H.CastErrorImplementation("CastError: Casting value of type " + actualType + " to incompatible type " + expectedType));
 | 
| +},
 | 
| +
 | 
| +interceptedTypeCast: function(value, property) {
 | 
| +  var t1;
 | 
| +  if (value != null)
 | 
| +    t1 = typeof value === "object" && J.getInterceptor(value)[property];
 | 
| +  else
 | 
| +    t1 = true;
 | 
| +  if (t1)
 | 
| +    return value;
 | 
| +  H.propertyTypeCastError(value, property);
 | 
| +},
 | 
| +
 | 
|  throwCyclicInit: function(staticName) {
 | 
|    throw H.wrapException(new P.CyclicInitializationError("Cyclic initialization for static " + H.S(staticName)));
 | 
|  },
 | 
| @@ -2558,6 +2577,13 @@ BoundClosure: {"": "Closure;_self,__js_helper$_target,_receiver,__js_helper$_nam
 | 
|    $isBoundClosure: true
 | 
|  },
 | 
|  
 | 
| +CastErrorImplementation: {"": "Error;message",
 | 
| +  toString$0: function(_) {
 | 
| +    return this.message;
 | 
| +  },
 | 
| +  $isError: true
 | 
| +},
 | 
| +
 | 
|  applyExperimentalFixup_newGetTagDartFunction: {"": "Closure;newGetTagJSFunction_0",
 | 
|    call$1: function(object) {
 | 
|      return this.newGetTagJSFunction_0(object);
 | 
| @@ -2780,32 +2806,6 @@ MappedListIterable: {"": "ListIterable;_source,_f",
 | 
|    }
 | 
|  },
 | 
|  
 | 
| -WhereIterable: {"": "IterableBase;_iterable,_f",
 | 
| -  get$iterator: function(_) {
 | 
| -    var t1 = J.get$iterator$ax(this._iterable);
 | 
| -    t1 = new H.WhereIterator(t1, this._f);
 | 
| -    H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "WhereIterable", 0)]);
 | 
| -    return t1;
 | 
| -  },
 | 
| -  $asIterableBase: null
 | 
| -},
 | 
| -
 | 
| -WhereIterator: {"": "Iterator;_iterator,_f",
 | 
| -  _f$1: function(arg0) {
 | 
| -    return this._f.call$1(arg0);
 | 
| -  },
 | 
| -  moveNext$0: function() {
 | 
| -    for (var t1 = this._iterator; t1.moveNext$0();)
 | 
| -      if (this._f$1(t1.get$current()) === true)
 | 
| -        return true;
 | 
| -    return false;
 | 
| -  },
 | 
| -  get$current: function() {
 | 
| -    return this._iterator.get$current();
 | 
| -  },
 | 
| -  $asIterator: null
 | 
| -},
 | 
| -
 | 
|  FixedLengthListMixin: {"": "Object;"}}],
 | 
|  ["dart.async", "dart:async", , P, {
 | 
|  _attachStackTrace: function(o, st) {
 | 
| @@ -4013,7 +4013,7 @@ _ZoneDelegate: {"": "Object;_degelationTarget",
 | 
|    }
 | 
|  },
 | 
|  
 | 
| -_CustomizedZone: {"": "Object;parent>,_specification<,_map",
 | 
| +_CustomizedZone: {"": "Object;parent>,_specification<,_async$_map",
 | 
|    get$_errorZone: function() {
 | 
|      if (this._specification.handleUncaughtError != null)
 | 
|        return this;
 | 
| @@ -4064,7 +4064,7 @@ _CustomizedZone: {"": "Object;parent>,_specification<,_map",
 | 
|    },
 | 
|    $index: function(_, key) {
 | 
|      var t1, result;
 | 
| -    t1 = this._map;
 | 
| +    t1 = this._async$_map;
 | 
|      result = t1.$index(t1, key);
 | 
|      if (result != null || t1.containsKey$1(key))
 | 
|        return result;
 | 
| @@ -4403,17 +4403,17 @@ _HashMap_values_closure: {"": "Closure;this_0",
 | 
|    }
 | 
|  },
 | 
|  
 | 
| -HashMapKeyIterable: {"": "IterableBase;_collection$_map",
 | 
| +HashMapKeyIterable: {"": "IterableBase;_map",
 | 
|    get$length: function(_) {
 | 
| -    return this._collection$_map._collection$_length;
 | 
| +    return this._map._collection$_length;
 | 
|    },
 | 
|    get$iterator: function(_) {
 | 
| -    var t1 = this._collection$_map;
 | 
| +    var t1 = this._map;
 | 
|      return new P.HashMapKeyIterator(t1, t1._computeKeys$0(), 0, null);
 | 
|    },
 | 
|    forEach$1: function(_, f) {
 | 
|      var t1, keys, $length, i;
 | 
| -    t1 = this._collection$_map;
 | 
| +    t1 = this._map;
 | 
|      keys = t1._computeKeys$0();
 | 
|      for ($length = keys.length, i = 0; i < $length; ++i) {
 | 
|        f.call$1(keys[i]);
 | 
| @@ -4424,7 +4424,7 @@ HashMapKeyIterable: {"": "IterableBase;_collection$_map",
 | 
|    $asIterableBase: null
 | 
|  },
 | 
|  
 | 
| -HashMapKeyIterator: {"": "Object;_collection$_map,_collection$_keys,_offset,_collection$_current",
 | 
| +HashMapKeyIterator: {"": "Object;_map,_collection$_keys,_offset,_collection$_current",
 | 
|    get$current: function() {
 | 
|      return this._collection$_current;
 | 
|    },
 | 
| @@ -4432,7 +4432,7 @@ HashMapKeyIterator: {"": "Object;_collection$_map,_collection$_keys,_offset,_col
 | 
|      var keys, offset, t1;
 | 
|      keys = this._collection$_keys;
 | 
|      offset = this._offset;
 | 
| -    t1 = this._collection$_map;
 | 
| +    t1 = this._map;
 | 
|      if (keys !== t1._collection$_keys)
 | 
|        throw H.wrapException(new P.ConcurrentModificationError(t1));
 | 
|      else if (offset >= keys.length) {
 | 
| @@ -4734,19 +4734,19 @@ _LinkedCustomHashMap_closure: {"": "Closure;K_0",
 | 
|  
 | 
|  LinkedHashMapCell: {"": "Object;_key<,_collection$_value@,_next<,_previous<"},
 | 
|  
 | 
| -LinkedHashMapKeyIterable: {"": "IterableBase;_collection$_map",
 | 
| +LinkedHashMapKeyIterable: {"": "IterableBase;_map",
 | 
|    get$length: function(_) {
 | 
| -    return this._collection$_map._collection$_length;
 | 
| +    return this._map._collection$_length;
 | 
|    },
 | 
|    get$iterator: function(_) {
 | 
| -    var t1 = this._collection$_map;
 | 
| +    var t1 = this._map;
 | 
|      t1 = new P.LinkedHashMapKeyIterator(t1, t1._modifications, null, null);
 | 
| -    t1._cell = t1._collection$_map._first;
 | 
| +    t1._cell = t1._map._first;
 | 
|      return t1;
 | 
|    },
 | 
|    forEach$1: function(_, f) {
 | 
|      var t1, cell, modifications;
 | 
| -    t1 = this._collection$_map;
 | 
| +    t1 = this._map;
 | 
|      cell = t1._first;
 | 
|      modifications = t1._modifications;
 | 
|      for (; cell != null;) {
 | 
| @@ -4759,12 +4759,12 @@ LinkedHashMapKeyIterable: {"": "IterableBase;_collection$_map",
 | 
|    $asIterableBase: null
 | 
|  },
 | 
|  
 | 
| -LinkedHashMapKeyIterator: {"": "Object;_collection$_map,_modifications,_cell,_collection$_current",
 | 
| +LinkedHashMapKeyIterator: {"": "Object;_map,_modifications,_cell,_collection$_current",
 | 
|    get$current: function() {
 | 
|      return this._collection$_current;
 | 
|    },
 | 
|    moveNext$0: function() {
 | 
| -    var t1 = this._collection$_map;
 | 
| +    var t1 = this._map;
 | 
|      if (this._modifications !== t1._modifications)
 | 
|        throw H.wrapException(new P.ConcurrentModificationError(t1));
 | 
|      else {
 | 
| @@ -4819,8 +4819,6 @@ IterableBase: {"": "Object;",
 | 
|    }
 | 
|  },
 | 
|  
 | 
| -ListBase: {"": "Object+ListMixin;", $isList: true, $asList: null},
 | 
| -
 | 
|  ListMixin: {"": "Object;",
 | 
|    get$iterator: function(receiver) {
 | 
|      return new H.ListIterator(receiver, this.get$length(receiver), 0, null);
 | 
| @@ -4832,12 +4830,12 @@ ListMixin: {"": "Object;",
 | 
|      var $length, i;
 | 
|      if (typeof receiver !== "string" && (typeof receiver !== "object" || receiver === null || receiver.constructor !== Array && !H.isJsIndexable(receiver, receiver[init.dispatchPropertyName])))
 | 
|        return this.forEach$1$bailout(1, receiver, action);
 | 
| -    $length = receiver.length;
 | 
| +    $length = C.JS_CONST_ZYJ(receiver);
 | 
|      for (i = 0; i < $length; ++i) {
 | 
| -      if (i >= receiver.length)
 | 
| +      if (i >= C.JS_CONST_ZYJ(receiver))
 | 
|          throw H.ioore(receiver, i);
 | 
|        action.call$1(receiver[i]);
 | 
| -      if ($length !== receiver.length)
 | 
| +      if ($length !== C.JS_CONST_ZYJ(receiver))
 | 
|          throw H.wrapException(new P.ConcurrentModificationError(receiver));
 | 
|      }
 | 
|    },
 | 
| @@ -4850,57 +4848,11 @@ ListMixin: {"": "Object;",
 | 
|          throw H.wrapException(new P.ConcurrentModificationError(receiver));
 | 
|      }
 | 
|    },
 | 
| -  where$1: function(receiver, test) {
 | 
| -    var t1 = new H.WhereIterable(receiver, test);
 | 
| -    H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
 | 
| -    return t1;
 | 
| -  },
 | 
|    map$1: function(receiver, f) {
 | 
|      var t1 = new H.MappedListIterable(receiver, f);
 | 
|      H.setRuntimeTypeInfo(t1, [null, null]);
 | 
|      return t1;
 | 
|    },
 | 
| -  toList$1$growable: function(receiver, growable) {
 | 
| -    var result, t1, t2, i, t3;
 | 
| -    if (typeof receiver !== "string" && (typeof receiver !== "object" || receiver === null || receiver.constructor !== Array && !H.isJsIndexable(receiver, receiver[init.dispatchPropertyName])))
 | 
| -      return this.toList$1$growable$bailout(1, receiver, growable);
 | 
| -    if (growable) {
 | 
| -      result = P.List_List(null, H.getRuntimeTypeArgument(receiver, "ListMixin", 0));
 | 
| -      H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
 | 
| -      C.JSArray_methods.set$length(result, receiver.length);
 | 
| -    } else {
 | 
| -      result = P.List_List(receiver.length, H.getRuntimeTypeArgument(receiver, "ListMixin", 0));
 | 
| -      H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
 | 
| -    }
 | 
| -    for (t1 = receiver.length, t2 = result.length, i = 0; i < t1; ++i) {
 | 
| -      t3 = receiver[i];
 | 
| -      if (i >= t2)
 | 
| -        throw H.ioore(result, i);
 | 
| -      result[i] = t3;
 | 
| -    }
 | 
| -    return result;
 | 
| -  },
 | 
| -  toList$1$growable$bailout: function(state0, receiver, growable) {
 | 
| -    var result, i, t1;
 | 
| -    if (growable) {
 | 
| -      result = P.List_List(null, H.getRuntimeTypeArgument(receiver, "ListMixin", 0));
 | 
| -      H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
 | 
| -      C.JSArray_methods.set$length(result, this.get$length(receiver));
 | 
| -    } else {
 | 
| -      result = P.List_List(this.get$length(receiver), H.getRuntimeTypeArgument(receiver, "ListMixin", 0));
 | 
| -      H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
 | 
| -    }
 | 
| -    for (i = 0; i < this.get$length(receiver); ++i) {
 | 
| -      t1 = this.$index(receiver, i);
 | 
| -      if (i >= result.length)
 | 
| -        throw H.ioore(result, i);
 | 
| -      result[i] = t1;
 | 
| -    }
 | 
| -    return result;
 | 
| -  },
 | 
| -  toList$0: function($receiver) {
 | 
| -    return this.toList$1$growable($receiver, true);
 | 
| -  },
 | 
|    toString$0: function(receiver) {
 | 
|      var result, i, t1;
 | 
|      for (i = 0; i < $.get$ListMixin__toStringList().length; ++i) {
 | 
| @@ -5049,62 +5001,6 @@ _ListQueueIterator$: function(queue) {
 | 
|  }}
 | 
|  
 | 
|  }}],
 | 
| -["dart.convert", "dart:convert", , P, {
 | 
| -_convertJsonToDart: function(json, reviver) {
 | 
| -  var revive = new P._convertJsonToDart_closure();
 | 
| -  return revive.call$2(null, new P._convertJsonToDart_walk(revive).call$1(json));
 | 
| -},
 | 
| -
 | 
| -_parseJson: function(source, reviver) {
 | 
| -  var parsed, e, t1, exception;
 | 
| -  t1 = source;
 | 
| -  if (typeof t1 !== "string")
 | 
| -    throw H.wrapException(new P.ArgumentError(source));
 | 
| -  parsed = null;
 | 
| -  try {
 | 
| -    parsed = JSON.parse(source);
 | 
| -  } catch (exception) {
 | 
| -    t1 = H.unwrapException(exception);
 | 
| -    e = t1;
 | 
| -    throw H.wrapException(new P.FormatException(String(e)));
 | 
| -  }
 | 
| -
 | 
| -  return P._convertJsonToDart(parsed, reviver);
 | 
| -},
 | 
| -
 | 
| -_convertJsonToDart_closure: {"": "Closure;",
 | 
| -  call$2: function(key, value) {
 | 
| -    return value;
 | 
| -  }
 | 
| -},
 | 
| -
 | 
| -_convertJsonToDart_walk: {"": "Closure;revive_0",
 | 
| -  call$1: function(e) {
 | 
| -    var list, t1, i, keys, map, key, proto;
 | 
| -    if (e == null || typeof e != "object")
 | 
| -      return e;
 | 
| -    if (Object.getPrototypeOf(e) === Array.prototype) {
 | 
| -      list = e;
 | 
| -      for (t1 = this.revive_0, i = 0; i < list.length; ++i)
 | 
| -        list[i] = t1.call$2(i, this.call$1(list[i]));
 | 
| -      return list;
 | 
| -    }
 | 
| -    keys = Object.keys(e);
 | 
| -    map = H.fillLiteralMap([], P.LinkedHashMap_LinkedHashMap(null, null, null, null, null));
 | 
| -    for (t1 = this.revive_0, i = 0; i < keys.length; ++i) {
 | 
| -      key = keys[i];
 | 
| -      map.$indexSet(map, key, t1.call$2(key, this.call$1(e[key])));
 | 
| -    }
 | 
| -    proto = e.__proto__;
 | 
| -    if (typeof proto !== "undefined" && proto !== Object.prototype)
 | 
| -      map.$indexSet(map, "__proto__", t1.call$2("__proto__", this.call$1(proto)));
 | 
| -    return map;
 | 
| -  }
 | 
| -},
 | 
| -
 | 
| -Converter: {"": "Object;"},
 | 
| -
 | 
| -JsonDecoder: {"": "Converter;_reviver"}}],
 | 
|  ["dart.core", "dart:core", , P, {
 | 
|  _symbolToString: function(symbol) {
 | 
|    return H.Symbol_getName(symbol);
 | 
| @@ -5361,13 +5257,6 @@ _ExceptionImplementation: {"": "Object;message",
 | 
|    $isException: true
 | 
|  },
 | 
|  
 | 
| -FormatException: {"": "Object;message",
 | 
| -  toString$0: function(_) {
 | 
| -    return "FormatException: " + this.message;
 | 
| -  },
 | 
| -  $isException: true
 | 
| -},
 | 
| -
 | 
|  Expando: {"": "Object;name",
 | 
|    toString$0: function(_) {
 | 
|      return "Expando:" + this.name;
 | 
| @@ -5422,8 +5311,7 @@ Object: {"": ";",
 | 
|    },
 | 
|    toString$0: function(_) {
 | 
|      return H.Primitives_objectToString(this);
 | 
| -  },
 | 
| -  $isObject: true
 | 
| +  }
 | 
|  },
 | 
|  
 | 
|  StackTrace: {"": "Object;"},
 | 
| @@ -5479,145 +5367,27 @@ StringBuffer$: function($content) {
 | 
|  
 | 
|  Symbol: {"": "Object;", $isSymbol: true}}],
 | 
|  ["dart.dom.html", "dart:html", , W, {
 | 
| -HttpRequest_getString: function(url, onProgress, withCredentials) {
 | 
| -  return W.HttpRequest_request(url, null, null, onProgress, null, null, null, withCredentials).then$1(new W.HttpRequest_getString_closure());
 | 
| -},
 | 
| -
 | 
| -HttpRequest_request: function(url, method, mimeType, onProgress, requestHeaders, responseType, sendData, withCredentials) {
 | 
| -  var t1, completer, xhr, t2;
 | 
| -  t1 = W.HttpRequest;
 | 
| -  completer = new P._AsyncCompleter(P._Future$(t1));
 | 
| -  H.setRuntimeTypeInfo(completer, [t1]);
 | 
| -  xhr = new XMLHttpRequest();
 | 
| -  C.HttpRequest_methods.open$3$async(xhr, "GET", url, true);
 | 
| -  t1 = new W._EventStream(xhr, C.EventStreamProvider_load._eventType, false);
 | 
| -  H.setRuntimeTypeInfo(t1, [null]);
 | 
| -  t2 = new W._EventStreamSubscription(0, t1._target, t1._eventType, W._EventStreamSubscription__wrapZone(new W.HttpRequest_request_closure(completer, xhr)), t1._useCapture);
 | 
| -  H.setRuntimeTypeInfo(t2, [H.getRuntimeTypeArgument(t1, "_EventStream", 0)]);
 | 
| -  t2._tryResume$0();
 | 
| -  t2 = new W._EventStream(xhr, C.EventStreamProvider_error._eventType, false);
 | 
| -  H.setRuntimeTypeInfo(t2, [null]);
 | 
| -  t1 = new W._EventStreamSubscription(0, t2._target, t2._eventType, W._EventStreamSubscription__wrapZone(new W.HttpRequest_request_closure0(completer)), t2._useCapture);
 | 
| -  H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(t2, "_EventStream", 0)]);
 | 
| -  t1._tryResume$0();
 | 
| -  xhr.send();
 | 
| -  return completer.future;
 | 
| -},
 | 
| -
 | 
|  _convertNativeToDart_Window: function(win) {
 | 
|    if (win == null)
 | 
|      return;
 | 
|    return W._DOMWindowCrossFrame__createSafe(win);
 | 
|  },
 | 
|  
 | 
| -_ChildrenElementList: {"": "ListBase;_element,_childElements",
 | 
| -  get$length: function(_) {
 | 
| -    return this._childElements.length;
 | 
| -  },
 | 
| -  $index: function(_, index) {
 | 
| -    var t1 = this._childElements;
 | 
| -    if (index >>> 0 !== index || index >= t1.length)
 | 
| -      throw H.ioore(t1, index);
 | 
| -    return t1[index];
 | 
| -  },
 | 
| -  $indexSet: function(_, index, value) {
 | 
| -    var t1 = this._childElements;
 | 
| -    if (index >>> 0 !== index || index >= t1.length)
 | 
| -      throw H.ioore(t1, index);
 | 
| -    this._element.replaceChild(value, t1[index]);
 | 
| -  },
 | 
| -  add$1: function(_, value) {
 | 
| -    this._element.appendChild(value);
 | 
| -    return value;
 | 
| -  },
 | 
| -  get$iterator: function(_) {
 | 
| -    var t1 = this.toList$0(this);
 | 
| -    return new H.ListIterator(t1, t1.length, 0, null);
 | 
| -  },
 | 
| -  $asList: function() {
 | 
| -    return [W.Element];
 | 
| -  }
 | 
| -},
 | 
| -
 | 
| -Interceptor_ListMixin: {"": "Interceptor+ListMixin;", $isList: true, $asList: null},
 | 
| -
 | 
| -Interceptor_ListMixin_ImmutableListMixin: {"": "Interceptor_ListMixin+ImmutableListMixin;", $asList: null, $isList: true},
 | 
| -
 | 
| -HttpRequest_getString_closure: {"": "Closure;",
 | 
| -  call$1: function(xhr) {
 | 
| -    return J.get$responseText$x(xhr);
 | 
| -  }
 | 
| -},
 | 
| -
 | 
| -HttpRequest_request_closure1: {"": "Closure;xhr_0",
 | 
| -  call$2: function(header, value) {
 | 
| -    this.xhr_0.setRequestHeader(header, value);
 | 
| -  }
 | 
| -},
 | 
| -
 | 
| -HttpRequest_request_closure: {"": "Closure;completer_1,xhr_2",
 | 
| -  call$1: function(e) {
 | 
| -    var t1, t2, t3;
 | 
| -    t1 = this.xhr_2;
 | 
| -    t2 = t1.status;
 | 
| -    if (typeof t2 !== "number")
 | 
| -      throw t2.$ge();
 | 
| -    t2 = t2 >= 200 && t2 < 300 || t2 === 0 || t2 === 304;
 | 
| -    t3 = this.completer_1;
 | 
| -    if (t2) {
 | 
| -      t2 = t3.future;
 | 
| -      if (t2._state !== 0)
 | 
| -        H.throwExpression(new P.StateError("Future already completed"));
 | 
| -      t2._asyncComplete$1(t1);
 | 
| -    } else {
 | 
| -      t1 = t3.future;
 | 
| -      if (t1._state !== 0)
 | 
| -        H.throwExpression(new P.StateError("Future already completed"));
 | 
| -      t1._asyncCompleteError$2(e, null);
 | 
| -    }
 | 
| -  }
 | 
| -},
 | 
| -
 | 
| -HttpRequest_request_closure0: {"": "Closure;completer_3",
 | 
| -  call$1: function(e) {
 | 
| -    var t1 = this.completer_3.future;
 | 
| -    if (t1._state !== 0)
 | 
| -      H.throwExpression(new P.StateError("Future already completed"));
 | 
| -    t1._asyncCompleteError$2(e, null);
 | 
| -  }
 | 
| -},
 | 
| -
 | 
| -_ChildNodeListLazy: {"": "ListBase;_this",
 | 
| -  $indexSet: function(_, index, value) {
 | 
| -    var t1, t2;
 | 
| -    t1 = this._this;
 | 
| -    t2 = t1.childNodes;
 | 
| -    if (index >>> 0 !== index || index >= t2.length)
 | 
| -      throw H.ioore(t2, index);
 | 
| -    t1.replaceChild(value, t2[index]);
 | 
| -  },
 | 
| -  get$iterator: function(_) {
 | 
| -    return C.NodeList_methods.get$iterator(this._this.childNodes);
 | 
| -  },
 | 
| -  get$length: function(_) {
 | 
| -    return this._this.childNodes.length;
 | 
| -  },
 | 
| -  $index: function(_, index) {
 | 
| -    var t1 = this._this.childNodes;
 | 
| -    if (index >>> 0 !== index || index >= t1.length)
 | 
| -      throw H.ioore(t1, index);
 | 
| -    return t1[index];
 | 
| -  },
 | 
| -  $asList: function() {
 | 
| -    return [W.Node];
 | 
| -  }
 | 
| +_convertNativeToDart_EventTarget: function(e) {
 | 
| +  var $window, t1;
 | 
| +  if (e == null)
 | 
| +    return;
 | 
| +  if ("setInterval" in e) {
 | 
| +    $window = W._DOMWindowCrossFrame__createSafe(e);
 | 
| +    t1 = J.getInterceptor($window);
 | 
| +    if (typeof $window === "object" && $window !== null && !!t1.$isEventTarget)
 | 
| +      return $window;
 | 
| +    return;
 | 
| +  } else
 | 
| +    return e;
 | 
|  },
 | 
|  
 | 
| -Interceptor_ListMixin0: {"": "Interceptor+ListMixin;", $isList: true, $asList: null},
 | 
| -
 | 
| -Interceptor_ListMixin_ImmutableListMixin0: {"": "Interceptor_ListMixin0+ImmutableListMixin;", $asList: null, $isList: true},
 | 
| -
 | 
| -_EventStream: {"": "Stream;_target,_eventType,_useCapture",
 | 
| +_EventStream: {"": "Stream;",
 | 
|    listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
 | 
|      var t1 = new W._EventStreamSubscription(0, this._target, this._eventType, W._EventStreamSubscription__wrapZone(onData), this._useCapture);
 | 
|      H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "_EventStream", 0)]);
 | 
| @@ -5677,42 +5447,11 @@ _EventStreamSubscription__wrapZone: function(callback) {
 | 
|  
 | 
|  EventStreamProvider: {"": "Object;_eventType"},
 | 
|  
 | 
| -ImmutableListMixin: {"": "Object;",
 | 
| -  get$iterator: function(receiver) {
 | 
| -    return W.FixedSizeListIterator$(receiver);
 | 
| -  },
 | 
| -  $isList: true,
 | 
| -  $asList: null
 | 
| -},
 | 
| -
 | 
| -FixedSizeListIterator: {"": "Object;_array,_html$_length,_html$_position,_html$_current",
 | 
| -  moveNext$0: function() {
 | 
| -    var nextPosition, t1;
 | 
| -    nextPosition = this._html$_position + 1;
 | 
| -    t1 = this._html$_length;
 | 
| -    if (nextPosition < t1) {
 | 
| -      this._html$_current = J.$index$asx(this._array, nextPosition);
 | 
| -      this._html$_position = nextPosition;
 | 
| -      return true;
 | 
| -    }
 | 
| -    this._html$_current = null;
 | 
| -    this._html$_position = t1;
 | 
| -    return false;
 | 
| -  },
 | 
| -  get$current: function() {
 | 
| -    return this._html$_current;
 | 
| -  },
 | 
| -  static: {
 | 
| -FixedSizeListIterator$: function(array) {
 | 
| -  return new W.FixedSizeListIterator(array, J.get$length$asx(array), -1, null);
 | 
| -}}
 | 
| -
 | 
| -},
 | 
| -
 | 
|  _DOMWindowCrossFrame: {"": "Object;_window",
 | 
|    get$parent: function(_) {
 | 
|      return W._DOMWindowCrossFrame__createSafe(this._window.parent);
 | 
|    },
 | 
| +  $isEventTarget: true,
 | 
|    static: {
 | 
|  _DOMWindowCrossFrame__createSafe: function(w) {
 | 
|    if (w === window)
 | 
| @@ -5725,12 +5464,18 @@ _DOMWindowCrossFrame__createSafe: function(w) {
 | 
|  
 | 
|  HtmlElement: {"": "Element;"},
 | 
|  
 | 
| -AnchorElement: {"": "HtmlElement;",
 | 
| +AnchorElement: {"": "HtmlElement;target=",
 | 
|    toString$0: function(receiver) {
 | 
|      return receiver.toString();
 | 
|    }
 | 
|  },
 | 
|  
 | 
| +AreaElement: {"": "HtmlElement;target="},
 | 
| +
 | 
| +BaseElement: {"": "HtmlElement;target="},
 | 
| +
 | 
| +ButtonElement: {"": "HtmlElement;disabled},value%"},
 | 
| +
 | 
|  CharacterData: {"": "Node;length="},
 | 
|  
 | 
|  DomException: {"": "Interceptor;",
 | 
| @@ -5740,16 +5485,17 @@ DomException: {"": "Interceptor;",
 | 
|  },
 | 
|  
 | 
|  Element: {"": "Node;",
 | 
| -  get$children: function(receiver) {
 | 
| -    return new W._ChildrenElementList(receiver, receiver.children);
 | 
| -  },
 | 
|    toString$0: function(receiver) {
 | 
|      return receiver.localName;
 | 
| -  },
 | 
| -  $isElement: true
 | 
| +  }
 | 
|  },
 | 
|  
 | 
| -Event: {"": "Interceptor;"},
 | 
| +Event: {"": "Interceptor;",
 | 
| +  get$target: function(receiver) {
 | 
| +    return W._convertNativeToDart_EventTarget(receiver.target);
 | 
| +  },
 | 
| +  $isEvent: true
 | 
| +},
 | 
|  
 | 
|  EventTarget: {"": "Interceptor;",
 | 
|    $$dom_addEventListener$3: function(receiver, type, listener, useCapture) {
 | 
| @@ -5757,100 +5503,50 @@ EventTarget: {"": "Interceptor;",
 | 
|    },
 | 
|    $$dom_removeEventListener$3: function(receiver, type, listener, useCapture) {
 | 
|      return receiver.removeEventListener(type, H.convertDartClosureToJS(listener, 1), useCapture);
 | 
| -  }
 | 
| +  },
 | 
| +  $isEventTarget: true
 | 
|  },
 | 
|  
 | 
| -FormElement: {"": "HtmlElement;length="},
 | 
| +FieldSetElement: {"": "HtmlElement;disabled}"},
 | 
|  
 | 
| -HtmlCollection: {"": "Interceptor_ListMixin_ImmutableListMixin;",
 | 
| -  get$length: function(receiver) {
 | 
| -    return receiver.length;
 | 
| -  },
 | 
| -  $index: function(receiver, index) {
 | 
| -    var t1 = receiver.length;
 | 
| -    if (index >>> 0 !== index || index >= t1)
 | 
| -      throw H.wrapException(new P.RangeError("value " + H.S(index) + " not in range 0.." + t1));
 | 
| -    return receiver[index];
 | 
| -  },
 | 
| -  $indexSet: function(receiver, index, value) {
 | 
| -    throw H.wrapException(new P.UnsupportedError("Cannot assign element of immutable List."));
 | 
| -  },
 | 
| -  elementAt$1: function(receiver, index) {
 | 
| -    if (index < 0 || index >= receiver.length)
 | 
| -      throw H.ioore(receiver, index);
 | 
| -    return receiver[index];
 | 
| -  },
 | 
| -  $asList: function() {
 | 
| -    return [W.Node];
 | 
| -  },
 | 
| -  $isList: true,
 | 
| -  $isJavaScriptIndexingBehavior: true
 | 
| -},
 | 
| +FormElement: {"": "HtmlElement;length=,target="},
 | 
|  
 | 
| -HttpRequest: {"": "XmlHttpRequestEventTarget;responseText=",
 | 
| -  open$5$async$password$user: function(receiver, method, url, async, password, user) {
 | 
| -    return receiver.open(method, url, async, user, password);
 | 
| -  },
 | 
| -  open$3$async: function($receiver, method, url, async) {
 | 
| -    return $receiver.open(method, url, async);
 | 
| -  },
 | 
| -  $isHttpRequest: true
 | 
| -},
 | 
| +InputElement: {"": "HtmlElement;checked=,disabled},placeholder},value%", $isEventTarget: true, $isRadioButtonInputElement: true, $isCheckboxInputElement: true},
 | 
| +
 | 
| +KeygenElement: {"": "HtmlElement;disabled}"},
 | 
| +
 | 
| +LIElement: {"": "HtmlElement;value%"},
 | 
| +
 | 
| +LinkElement: {"": "HtmlElement;disabled}"},
 | 
|  
 | 
| -InputElement: {"": "HtmlElement;", $isElement: true, $isNode: true},
 | 
| +MeterElement: {"": "HtmlElement;value%"},
 | 
|  
 | 
|  MouseEvent: {"": "UIEvent;", $isMouseEvent: true},
 | 
|  
 | 
|  Node: {"": "EventTarget;parent:parentElement=",
 | 
| -  replaceWith$1: function(receiver, otherNode) {
 | 
| -    var $parent, exception;
 | 
| -    try {
 | 
| -      $parent = receiver.parentNode;
 | 
| -      J._replaceChild$2$x($parent, otherNode, receiver);
 | 
| -    } catch (exception) {
 | 
| -      H.unwrapException(exception);
 | 
| -    }
 | 
| -
 | 
| -    return receiver;
 | 
| -  },
 | 
|    toString$0: function(receiver) {
 | 
|      var t1 = receiver.nodeValue;
 | 
|      return t1 == null ? J.Interceptor.prototype.toString$0.call(this, receiver) : t1;
 | 
| -  },
 | 
| -  _replaceChild$2: function(receiver, newChild, oldChild) {
 | 
| -    return receiver.replaceChild(newChild, oldChild);
 | 
| -  },
 | 
| -  $isNode: true
 | 
| +  }
 | 
|  },
 | 
|  
 | 
| -NodeList: {"": "Interceptor_ListMixin_ImmutableListMixin0;",
 | 
| -  get$length: function(receiver) {
 | 
| -    return receiver.length;
 | 
| -  },
 | 
| -  $index: function(receiver, index) {
 | 
| -    var t1 = receiver.length;
 | 
| -    if (index >>> 0 !== index || index >= t1)
 | 
| -      throw H.wrapException(new P.RangeError("value " + H.S(index) + " not in range 0.." + t1));
 | 
| -    return receiver[index];
 | 
| -  },
 | 
| -  $indexSet: function(receiver, index, value) {
 | 
| -    throw H.wrapException(new P.UnsupportedError("Cannot assign element of immutable List."));
 | 
| -  },
 | 
| -  elementAt$1: function(receiver, index) {
 | 
| -    if (index < 0 || index >= receiver.length)
 | 
| -      throw H.ioore(receiver, index);
 | 
| -    return receiver[index];
 | 
| -  },
 | 
| -  $asList: function() {
 | 
| -    return [W.Node];
 | 
| -  },
 | 
| -  $isList: true,
 | 
| -  $isJavaScriptIndexingBehavior: true
 | 
| -},
 | 
| +OptGroupElement: {"": "HtmlElement;disabled}"},
 | 
| +
 | 
| +OptionElement: {"": "HtmlElement;disabled},value%"},
 | 
| +
 | 
| +OutputElement: {"": "HtmlElement;value%"},
 | 
|  
 | 
| -ProgressEvent: {"": "Event;", $isProgressEvent: true},
 | 
| +ParamElement: {"": "HtmlElement;value%"},
 | 
|  
 | 
| -SelectElement: {"": "HtmlElement;length="},
 | 
| +ProcessingInstruction: {"": "CharacterData;target="},
 | 
| +
 | 
| +ProgressElement: {"": "HtmlElement;value%"},
 | 
| +
 | 
| +SelectElement: {"": "HtmlElement;disabled},length=,value%"},
 | 
| +
 | 
| +StyleElement: {"": "HtmlElement;disabled}"},
 | 
| +
 | 
| +TextAreaElement: {"": "HtmlElement;disabled},placeholder},value%"},
 | 
|  
 | 
|  UIEvent: {"": "Event;"},
 | 
|  
 | 
| @@ -5860,18 +5556,17 @@ Window: {"": "EventTarget;",
 | 
|    },
 | 
|    toString$0: function(receiver) {
 | 
|      return receiver.toString();
 | 
| -  }
 | 
| -},
 | 
| -
 | 
| -XmlHttpRequestEventTarget: {"": "EventTarget;"}}],
 | 
| -["dart.dom.svg", "dart:svg", , P, {
 | 
| -SvgElement: {"": "Element;",
 | 
| -  get$children: function(receiver) {
 | 
| -    var t1 = new P.FilteredElementList(receiver, new W._ChildNodeListLazy(receiver));
 | 
| -    H.setRuntimeTypeInfo(t1, [W.Element]);
 | 
| -    return t1;
 | 
| -  }
 | 
| +  },
 | 
| +  $isEventTarget: true
 | 
|  }}],
 | 
| +["dart.dom.svg", "dart:svg", , P, {
 | 
| +AElement: {"": "GraphicsElement;target="},
 | 
| +
 | 
| +GraphicsElement: {"": "SvgElement;"},
 | 
| +
 | 
| +StyleElement0: {"": "SvgElement;disabled}"},
 | 
| +
 | 
| +SvgElement: {"": "Element;"}}],
 | 
|  ["dart.isolate", "dart:isolate", , P, {
 | 
|  _Isolate_port: function() {
 | 
|    if ($.lazyPort == null)
 | 
| @@ -5880,6 +5575,16 @@ _Isolate_port: function() {
 | 
|  },
 | 
|  
 | 
|  ReceivePort: {"": "Object;", $isReceivePort: true}}],
 | 
| +["dart.math", "dart:math", , P, {
 | 
| +_Random: {"": "Object;",
 | 
| +  nextInt$1: function(max) {
 | 
| +    if (max < 0)
 | 
| +      throw H.wrapException(new P.ArgumentError("negative max: " + max));
 | 
| +    if (max > 4294967295)
 | 
| +      max = 4294967295;
 | 
| +    return Math.random() * max >>> 0;
 | 
| +  }
 | 
| +}}],
 | 
|  ["dart.typed_data", "dart:typed_data", , P, {
 | 
|  TypedData_ListMixin: {"": "TypedData+ListMixin;", $isList: true, $asList: null},
 | 
|  
 | 
| @@ -5935,103 +5640,136 @@ Uint8List: {"": "TypedData_ListMixin_FixedLengthListMixin;",
 | 
|    $isList: true,
 | 
|    $isJavaScriptIndexingBehavior: true
 | 
|  }}],
 | 
| -["html_common", "dart:html_common", , P, {
 | 
| -FilteredElementList: {"": "ListBase;_node,_childNodes",
 | 
| -  get$_filtered: function() {
 | 
| -    var t1 = this._childNodes;
 | 
| -    return P.List_List$from(t1.where$1(t1, new P.FilteredElementList__filtered_closure()), true, W.Element);
 | 
| -  },
 | 
| -  forEach$1: function(_, f) {
 | 
| -    H.IterableMixinWorkaround_forEach(this.get$_filtered(), f);
 | 
| -  },
 | 
| -  $indexSet: function(_, index, value) {
 | 
| -    var t1 = this.get$_filtered();
 | 
| -    if (index >>> 0 !== index || index >= t1.length)
 | 
| -      throw H.ioore(t1, index);
 | 
| -    J.replaceWith$1$x(t1[index], value);
 | 
| -  },
 | 
| -  add$1: function(_, value) {
 | 
| -    this._childNodes._this.appendChild(value);
 | 
| -  },
 | 
| -  get$length: function(_) {
 | 
| -    return this.get$_filtered().length;
 | 
| -  },
 | 
| -  $index: function(_, index) {
 | 
| -    var t1 = this.get$_filtered();
 | 
| -    if (index >>> 0 !== index || index >= t1.length)
 | 
| -      throw H.ioore(t1, index);
 | 
| -    return t1[index];
 | 
| -  },
 | 
| -  get$iterator: function(_) {
 | 
| -    var t1 = this.get$_filtered();
 | 
| -    return new H.ListIterator(t1, t1.length, 0, null);
 | 
| -  },
 | 
| -  $asListBase: null,
 | 
| -  $asList: null
 | 
| -},
 | 
| -
 | 
| -FilteredElementList__filtered_closure: {"": "Closure;",
 | 
| -  call$1: function(n) {
 | 
| -    var t1 = J.getInterceptor(n);
 | 
| -    return typeof n === "object" && n !== null && !!t1.$isElement;
 | 
| -  }
 | 
| -}}],
 | 
| -["portmanteaux_simple.dart", "portmanteaux_simple.dart", , O, {
 | 
| +["piratebadge.dart", "piratebadge.dart", , A, {
 | 
|  main: function() {
 | 
| -  var t1, t2;
 | 
| -  t1 = document.querySelector("#getWords");
 | 
| +  var t1, t2, t3;
 | 
| +  $.inputNameElement = document.querySelector("#inputName");
 | 
| +  t1 = $.inputNameElement;
 | 
|    t1.toString;
 | 
| -  t1 = new W._ElementEventStreamImpl(t1, C.EventStreamProvider_click._eventType, false);
 | 
| +  t1 = new W._ElementEventStreamImpl(t1, C.EventStreamProvider_change._eventType, false);
 | 
|    H.setRuntimeTypeInfo(t1, [null]);
 | 
| -  t2 = new W._EventStreamSubscription(0, t1._target, t1._eventType, W._EventStreamSubscription__wrapZone(O.makeRequest$closure), t1._useCapture);
 | 
| +  t2 = new W._EventStreamSubscription(0, t1._target, t1._eventType, W._EventStreamSubscription__wrapZone(A.generateBadge$closure), t1._useCapture);
 | 
|    H.setRuntimeTypeInfo(t2, [H.getRuntimeTypeArgument(t1, "_EventStream", 0)]);
 | 
|    t2._tryResume$0();
 | 
| -  $.wordList = document.querySelector("#wordList");
 | 
| +  $.genButtonElement = document.querySelector("#generateButton");
 | 
| +  t2 = $.genButtonElement;
 | 
| +  t2.toString;
 | 
| +  t1 = C.EventStreamProvider_click._eventType;
 | 
| +  t2 = new W._ElementEventStreamImpl(t2, t1, false);
 | 
| +  H.setRuntimeTypeInfo(t2, [null]);
 | 
| +  t3 = new W._EventStreamSubscription(0, t2._target, t2._eventType, W._EventStreamSubscription__wrapZone(A.generateBadge$closure), t2._useCapture);
 | 
| +  H.setRuntimeTypeInfo(t3, [H.getRuntimeTypeArgument(t2, "_EventStream", 0)]);
 | 
| +  t3._tryResume$0();
 | 
| +  t3 = document.querySelector("#useRandomName");
 | 
| +  t3.toString;
 | 
| +  t1 = new W._ElementEventStreamImpl(t3, t1, false);
 | 
| +  H.setRuntimeTypeInfo(t1, [null]);
 | 
| +  t3 = new W._EventStreamSubscription(0, t1._target, t1._eventType, W._EventStreamSubscription__wrapZone(A.useRandomNameClickHandler$closure), t1._useCapture);
 | 
| +  H.setRuntimeTypeInfo(t3, [H.getRuntimeTypeArgument(t1, "_EventStream", 0)]);
 | 
| +  t3._tryResume$0();
 | 
| +  $.captainRadioElement = document.querySelector("#captain");
 | 
| +  $.scallywagRadioElement = document.querySelector("#scallywag");
 | 
| +},
 | 
| +
 | 
| +generateBadge: function($event) {
 | 
| +  if (!$.useRandomName)
 | 
| +    document.querySelector("#badgeName").textContent = A.PirateName$(J.get$value$x($.inputNameElement))._pirateName;
 | 
| +  else if (J.get$checked$x(H.interceptedTypeCast(document.querySelector("#captain"), "$isRadioButtonInputElement")) === true)
 | 
| +    document.querySelector("#badgeName").textContent = A.PirateName$captain()._pirateName;
 | 
| +  else
 | 
| +    document.querySelector("#badgeName").textContent = A.PirateName$scallywag()._pirateName;
 | 
|  },
 | 
|  
 | 
| -makeRequest: function(e) {
 | 
| -  W.HttpRequest_getString("portmanteaux_simple.json", null, null).then$1(O.processString$closure).catchError$1(O.handleError$closure);
 | 
| +useRandomNameClickHandler: function(e) {
 | 
| +  var t1, t2;
 | 
| +  t1 = J.get$checked$x(H.interceptedTypeCast(J.get$target$x(e), "$isCheckboxInputElement"));
 | 
| +  t2 = $.genButtonElement;
 | 
| +  if (t1 === true) {
 | 
| +    J.set$disabled$x(t2, false);
 | 
| +    J.set$disabled$x($.captainRadioElement, false);
 | 
| +    J.set$disabled$x($.scallywagRadioElement, false);
 | 
| +    t1 = $.inputNameElement;
 | 
| +    t2 = J.getInterceptor$x(t1);
 | 
| +    t2.set$disabled(t1, true);
 | 
| +    t2.set$value(t1, "");
 | 
| +    t2.set$placeholder(t1, "");
 | 
| +    $.useRandomName = true;
 | 
| +  } else {
 | 
| +    J.set$disabled$x(t2, true);
 | 
| +    J.set$disabled$x($.captainRadioElement, true);
 | 
| +    J.set$disabled$x($.scallywagRadioElement, true);
 | 
| +    t1 = $.inputNameElement;
 | 
| +    t2 = J.getInterceptor$x(t1);
 | 
| +    t2.set$disabled(t1, false);
 | 
| +    t2.set$placeholder(t1, "Your name here");
 | 
| +    $.useRandomName = false;
 | 
| +  }
 | 
|  },
 | 
|  
 | 
| -processString: function(jsonString) {
 | 
| -  var portmanteaux, i, t1, t2;
 | 
| -  portmanteaux = P._parseJson(jsonString, new P.JsonDecoder(null)._reviver);
 | 
| -  if (typeof portmanteaux !== "string" && (typeof portmanteaux !== "object" || portmanteaux === null || portmanteaux.constructor !== Array && !H.isJsIndexable(portmanteaux, portmanteaux[init.dispatchPropertyName])))
 | 
| -    return O.processString$bailout(1, portmanteaux);
 | 
| -  for (i = 0; i < portmanteaux.length; ++i) {
 | 
| -    t1 = J.get$children$x($.wordList);
 | 
| -    t2 = document.createElement("li", null);
 | 
| -    if (i >= portmanteaux.length)
 | 
| -      throw H.ioore(portmanteaux, i);
 | 
| -    t2.textContent = portmanteaux[i];
 | 
| -    t1.add$1(t1, t2);
 | 
| -  }
 | 
| +PirateName: {"": "Object;indexGen,_pirateName,names,captains,scallywags",
 | 
| +  toString$0: function(_) {
 | 
| +    return this._pirateName;
 | 
| +  },
 | 
| +  PirateName$1$firstName: function(firstName) {
 | 
| +    var t1, t2;
 | 
| +    if (firstName == null) {
 | 
| +      t1 = this.names;
 | 
| +      t2 = this.indexGen.nextInt$1(52);
 | 
| +      if (t2 < 0 || t2 >= 52)
 | 
| +        throw H.ioore(t1, t2);
 | 
| +      firstName = t1[t2];
 | 
| +    }
 | 
| +    this._pirateName = H.S(firstName);
 | 
| +  },
 | 
| +  PirateName$captain$0: function() {
 | 
| +    var t1, t2, t3, firstName, appellation;
 | 
| +    t1 = this.names;
 | 
| +    t2 = this.indexGen;
 | 
| +    t3 = t2.nextInt$1(52);
 | 
| +    if (t3 < 0 || t3 >= 52)
 | 
| +      throw H.ioore(t1, t3);
 | 
| +    firstName = t1[t3];
 | 
| +    t3 = this.captains;
 | 
| +    t2 = t2.nextInt$1(26);
 | 
| +    if (t2 < 0 || t2 >= 26)
 | 
| +      throw H.ioore(t3, t2);
 | 
| +    appellation = t3[t2];
 | 
| +    this._pirateName = firstName + " the " + appellation;
 | 
| +  },
 | 
| +  PirateName$scallywag$0: function() {
 | 
| +    var t1, t2, t3, firstName, appellation;
 | 
| +    t1 = this.names;
 | 
| +    t2 = this.indexGen;
 | 
| +    t3 = t2.nextInt$1(52);
 | 
| +    if (t3 < 0 || t3 >= 52)
 | 
| +      throw H.ioore(t1, t3);
 | 
| +    firstName = t1[t3];
 | 
| +    t3 = this.scallywags;
 | 
| +    t2 = t2.nextInt$1(26);
 | 
| +    if (t2 < 0 || t2 >= 26)
 | 
| +      throw H.ioore(t3, t2);
 | 
| +    appellation = t3[t2];
 | 
| +    this._pirateName = firstName + " the " + appellation;
 | 
| +  },
 | 
| +  static: {
 | 
| +PirateName$: function(firstName) {
 | 
| +  var t1 = new A.PirateName(C.C__Random, null, C.List_mes, C.List_C8d, C.List_gmZ);
 | 
| +  t1.PirateName$1$firstName(firstName);
 | 
| +  return t1;
 | 
|  },
 | 
|  
 | 
| -processString$bailout: function(state0, portmanteaux) {
 | 
| -  var t1, i, t2, t3;
 | 
| -  t1 = J.getInterceptor$asx(portmanteaux);
 | 
| -  i = 0;
 | 
| -  while (true) {
 | 
| -    t2 = t1.get$length(portmanteaux);
 | 
| -    if (typeof t2 !== "number")
 | 
| -      throw H.iae(t2);
 | 
| -    if (!(i < t2))
 | 
| -      break;
 | 
| -    t2 = J.get$children$x($.wordList);
 | 
| -    t3 = document.createElement("li", null);
 | 
| -    t3.textContent = t1.$index(portmanteaux, i);
 | 
| -    t2.add$1(t2, t3);
 | 
| -    ++i;
 | 
| -  }
 | 
| +PirateName$captain: function() {
 | 
| +  var t1 = new A.PirateName(C.C__Random, null, C.List_mes, C.List_C8d, C.List_gmZ);
 | 
| +  t1.PirateName$captain$0();
 | 
| +  return t1;
 | 
|  },
 | 
|  
 | 
| -handleError: function(error) {
 | 
| -  var t1, t2;
 | 
| -  t1 = J.get$children$x($.wordList);
 | 
| -  t2 = document.createElement("li", null);
 | 
| -  t2.textContent = "Request failed.";
 | 
| -  t1.add$1(t1, t2);
 | 
| +PirateName$scallywag: function() {
 | 
| +  var t1 = new A.PirateName(C.C__Random, null, C.List_mes, C.List_C8d, C.List_gmZ);
 | 
| +  t1.PirateName$scallywag$0();
 | 
| +  return t1;
 | 
| +}}
 | 
| +
 | 
|  }},
 | 
|  1],
 | 
|  ]);
 | 
| @@ -6067,36 +5805,31 @@ init.globalFunctions._defaultEquals$closure = P._defaultEquals$closure = new H.C
 | 
|  init.globalFunctions._defaultHashCode$closure = P._defaultHashCode$closure = new H.Closure$1(P._defaultHashCode, "_defaultHashCode$closure");
 | 
|  init.globalFunctions.identical$closure = P.identical$closure = new H.Closure$2(P.identical, "identical$closure");
 | 
|  init.globalFunctions.identityHashCode$closure = P.identityHashCode$closure = new H.Closure$1(P.identityHashCode, "identityHashCode$closure");
 | 
| -init.globalFunctions.main$closure = O.main$closure = new H.Closure$0(O.main, "main$closure");
 | 
| -init.globalFunctions.makeRequest$closure = O.makeRequest$closure = new H.Closure$1(O.makeRequest, "makeRequest$closure");
 | 
| -init.globalFunctions.processString$closure = O.processString$closure = new H.Closure$1(O.processString, "processString$closure");
 | 
| -init.globalFunctions.handleError$closure = O.handleError$closure = new H.Closure$1(O.handleError, "handleError$closure");
 | 
| +init.globalFunctions.main$closure = A.main$closure = new H.Closure$0(A.main, "main$closure");
 | 
| +init.globalFunctions.generateBadge$closure = A.generateBadge$closure = new H.Closure$1(A.generateBadge, "generateBadge$closure");
 | 
| +init.globalFunctions.useRandomNameClickHandler$closure = A.useRandomNameClickHandler$closure = new H.Closure$1(A.useRandomNameClickHandler, "useRandomNameClickHandler$closure");
 | 
|  // Runtime type support
 | 
|  J.JSInt.$isint = true;
 | 
|  J.JSInt.$isObject = true;
 | 
| -W.Node.$isObject = true;
 | 
|  J.JSString.$isString = true;
 | 
|  J.JSString.$isObject = true;
 | 
|  J.JSNumber.$isObject = true;
 | 
|  P.Duration.$isDuration = true;
 | 
|  P.Duration.$isObject = true;
 | 
| -W.Element.$isObject = true;
 | 
| -P.Object.$isObject = true;
 | 
| +W.Event.$isEvent = true;
 | 
| +W.Event.$isObject = true;
 | 
| +W.MouseEvent.$isMouseEvent = true;
 | 
|  W.MouseEvent.$isEvent = true;
 | 
|  W.MouseEvent.$isObject = true;
 | 
|  P.Symbol.$isSymbol = true;
 | 
|  P.Symbol.$isObject = true;
 | 
| -W.HttpRequest.$isObject = true;
 | 
| -W.ProgressEvent.$isEvent = true;
 | 
| -W.ProgressEvent.$isObject = true;
 | 
|  P.ReceivePort.$isObject = true;
 | 
|  H._IsolateEvent.$isObject = true;
 | 
|  H._IsolateContext.$isObject = true;
 | 
|  J.JSArray.$isObject = true;
 | 
|  P.Future.$isFuture = true;
 | 
|  P.Future.$isObject = true;
 | 
| -W.Event.$isEvent = true;
 | 
| -W.Event.$isObject = true;
 | 
| +P.Object.$isObject = true;
 | 
|  P.Zone.$isZone = true;
 | 
|  P.Zone.$isObject = true;
 | 
|  P.ZoneDelegate.$isZoneDelegate = true;
 | 
| @@ -6111,8 +5844,6 @@ P.Function.$isFunction = true;
 | 
|  P.Function.$isObject = true;
 | 
|  J.JSBool.$isbool = true;
 | 
|  J.JSBool.$isObject = true;
 | 
| -P.Error.$isError = true;
 | 
| -P.Error.$isObject = true;
 | 
|  P.StackTrace.$isStackTrace = true;
 | 
|  P.StackTrace.$isObject = true;
 | 
|  P._EventSink.$is_EventSink = true;
 | 
| @@ -6192,11 +5923,10 @@ J.getInterceptor$x = function(receiver) {
 | 
|  C.C_CloseToken = new H.CloseToken();
 | 
|  C.C_UnknownJavaScriptObject = new J.UnknownJavaScriptObject();
 | 
|  C.C__DelayedDone = new P._DelayedDone();
 | 
| +C.C__Random = new P._Random();
 | 
|  C.Duration_0 = new P.Duration(0);
 | 
| +C.EventStreamProvider_change = new W.EventStreamProvider("change");
 | 
|  C.EventStreamProvider_click = new W.EventStreamProvider("click");
 | 
| -C.EventStreamProvider_error = new W.EventStreamProvider("error");
 | 
| -C.EventStreamProvider_load = new W.EventStreamProvider("load");
 | 
| -C.HttpRequest_methods = W.HttpRequest.prototype;
 | 
|  C.JSArray_methods = J.JSArray.prototype;
 | 
|  C.JSInt_methods = J.JSInt.prototype;
 | 
|  C.JSNumber_methods = J.JSNumber.prototype;
 | 
| @@ -6212,8 +5942,10 @@ Isolate.makeConstantList = function(list) {
 | 
|    list.fixed$length = true;
 | 
|    return list;
 | 
|  };
 | 
| +C.List_C8d = Isolate.makeConstantList(["Awesome", "Black", "Captain", "Damned", "Even", "Fighter", "Great", "Hearty", "Irate", "Jackal", "King", "Lord", "Mighty", "Noble", "Old", "Powerful", "Quick", "Red", "Stalwart", "Tank", "Ultimate", "Vicious", "Wily", "aXe", "Young", "Zealot"]);
 | 
|  C.List_empty = Isolate.makeConstantList([]);
 | 
| -C.NodeList_methods = W.NodeList.prototype;
 | 
| +C.List_gmZ = Isolate.makeConstantList(["Angry", "Brave", "Crazy", "Damned", "Eager", "Fool", "Greedy", "Hated", "Idiot", "Jinxed", "Kind", "Lame", "Maimed", "Naked", "Old", "Pale", "Queasy", "Rat", "Sandy", "Tired", "Ugly", "Vile", "Weak", "Xeric", "Yellow", "Zesty"]);
 | 
| +C.List_mes = Isolate.makeConstantList(["Anne", "Bette", "Cate", "Dawn", "Elise", "Faye", "Ginger", "Harriot", "Izzy", "Jane", "Kaye", "Liz", "Maria", "Nell", "Olive", "Pat", "Queenie", "Rae", "Sal", "Tam", "Uma", "Violet", "Wilma", "Xana", "Yvonne", "Zelda", "Abe", "Billy", "Caleb", "Davie", "Eb", "Frank", "Gabe", "House", "Icarus", "Jack", "Kurt", "Larry", "Mike", "Nolan", "Oliver", "Pat", "Quib", "Roy", "Sal", "Tom", "Ube", "Val", "Walt", "Xavier", "Yvan", "Zeb"]);
 | 
|  C._ZoneSpecification_eDx = new P._ZoneSpecification(P._rootHandleUncaughtError$closure, P._rootRun$closure, P._rootRunUnary$closure, P._rootRegisterCallback$closure, P._rootRegisterUnaryCallback$closure, P._rootScheduleMicrotask$closure, P._rootCreateTimer$closure, P._rootCreatePeriodicTimer$closure, P._rootFork$closure);
 | 
|  C.List_empty0 = H.setRuntimeTypeInfo(Isolate.makeConstantList([]), [P.Symbol]);
 | 
|  C.Map_empty = H.setRuntimeTypeInfo(new H.ConstantStringMap(0, {}, C.List_empty0), [P.Symbol, null]);
 | 
| @@ -6231,7 +5963,11 @@ $.Zone__current = C._CustomizedZone_WYN;
 | 
|  $.Expando__keyCount = 0;
 | 
|  $.Device__isOpera = null;
 | 
|  $.Device__isWebKit = null;
 | 
| -$.wordList = null;
 | 
| +$.inputNameElement = null;
 | 
| +$.genButtonElement = null;
 | 
| +$.useRandomName = false;
 | 
| +$.captainRadioElement = null;
 | 
| +$.scallywagRadioElement = null;
 | 
|  J.$$dom_addEventListener$3$x = function(receiver, a0, a1, a2) {
 | 
|    return J.getInterceptor$x(receiver).$$dom_addEventListener$3(receiver, a0, a1, a2);
 | 
|  };
 | 
| @@ -6261,17 +5997,14 @@ J.$indexSet$ax = function(receiver, a0, a1) {
 | 
|      return receiver[a0] = a1;
 | 
|    return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1);
 | 
|  };
 | 
| -J._replaceChild$2$x = function(receiver, a0, a1) {
 | 
| -  return J.getInterceptor$x(receiver)._replaceChild$2(receiver, a0, a1);
 | 
| -};
 | 
|  J.elementAt$1$ax = function(receiver, a0) {
 | 
|    return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
 | 
|  };
 | 
|  J.forEach$1$ax = function(receiver, a0) {
 | 
|    return J.getInterceptor$ax(receiver).forEach$1(receiver, a0);
 | 
|  };
 | 
| -J.get$children$x = function(receiver) {
 | 
| -  return J.getInterceptor$x(receiver).get$children(receiver);
 | 
| +J.get$checked$x = function(receiver) {
 | 
| +  return J.getInterceptor$x(receiver).get$checked(receiver);
 | 
|  };
 | 
|  J.get$hashCode$ = function(receiver) {
 | 
|    return J.getInterceptor(receiver).get$hashCode(receiver);
 | 
| @@ -6282,17 +6015,17 @@ J.get$iterator$ax = function(receiver) {
 | 
|  J.get$length$asx = function(receiver) {
 | 
|    return J.getInterceptor$asx(receiver).get$length(receiver);
 | 
|  };
 | 
| -J.get$responseText$x = function(receiver) {
 | 
| -  return J.getInterceptor$x(receiver).get$responseText(receiver);
 | 
| +J.get$target$x = function(receiver) {
 | 
| +  return J.getInterceptor$x(receiver).get$target(receiver);
 | 
| +};
 | 
| +J.get$value$x = function(receiver) {
 | 
| +  return J.getInterceptor$x(receiver).get$value(receiver);
 | 
|  };
 | 
|  J.map$1$ax = function(receiver, a0) {
 | 
|    return J.getInterceptor$ax(receiver).map$1(receiver, a0);
 | 
|  };
 | 
| -J.replaceWith$1$x = function(receiver, a0) {
 | 
| -  return J.getInterceptor$x(receiver).replaceWith$1(receiver, a0);
 | 
| -};
 | 
| -J.send$2$x = function(receiver, a0, a1) {
 | 
| -  return J.getInterceptor$x(receiver).send$2(receiver, a0, a1);
 | 
| +J.set$disabled$x = function(receiver, value) {
 | 
| +  return J.getInterceptor$x(receiver).set$disabled(receiver, value);
 | 
|  };
 | 
|  J.toString$0 = function(receiver) {
 | 
|    return J.getInterceptor(receiver).toString$0(receiver);
 | 
| @@ -6365,33 +6098,47 @@ Isolate.$lazy($, "_toStringList", "Maps__toStringList", "get$Maps__toStringList"
 | 
|    return P.List_List(null, null);
 | 
|  });
 | 
|  // Native classes
 | 
| -H.defineNativeMethods("DOMError|FileError|MediaError|MediaKeyError|Navigator|NavigatorUserMediaError|PositionError|SQLError|SVGAnimatedNumberList", J.Interceptor);
 | 
| +H.defineNativeMethods("DOMError|FileError|MediaError|MediaKeyError|Navigator|NavigatorUserMediaError|PositionError|SQLError|SVGAnimatedNumberList|SVGAnimatedString", J.Interceptor);
 | 
|  
 | 
| -H.defineNativeMethods("HTMLAppletElement|HTMLAreaElement|HTMLAudioElement|HTMLBRElement|HTMLBaseElement|HTMLBaseFontElement|HTMLBodyElement|HTMLButtonElement|HTMLCanvasElement|HTMLContentElement|HTMLDListElement|HTMLDataListElement|HTMLDetailsElement|HTMLDialogElement|HTMLDirectoryElement|HTMLDivElement|HTMLEmbedElement|HTMLFieldSetElement|HTMLFontElement|HTMLFrameElement|HTMLFrameSetElement|HTMLHRElement|HTMLHeadElement|HTMLHeadingElement|HTMLHtmlElement|HTMLIFrameElement|HTMLImageElement|HTMLKeygenElement|HTMLLIElement|HTMLLabelElement|HTMLLegendElement|HTMLLinkElement|HTMLMapElement|HTMLMarqueeElement|HTMLMediaElement|HTMLMenuElement|HTMLMetaElement|HTMLMeterElement|HTMLModElement|HTMLOListElement|HTMLObjectElement|HTMLOptGroupElement|HTMLOptionElement|HTMLOutputElement|HTMLParagraphElement|HTMLParamElement|HTMLPreElement|HTMLProgressElement|HTMLQuoteElement|HTMLScriptElement|HTMLShadowElement|HTMLSourceElement|HTMLSpanElement|HTMLStyleElement|HTMLTableCaptionElement|HTMLTableCellElement|HTMLTableColElement|HTMLTableDataCellElement|HTMLTableElement|HTMLTableHeaderCellElement|HTMLTableRowElement|HTMLTableSectionElement|HTMLTemplateElement|HTMLTextAreaElement|HTMLTitleElement|HTMLTrackElement|HTMLUListElement|HTMLUnknownElement|HTMLVideoElement", W.HtmlElement);
 | 
| +H.defineNativeMethods("HTMLAppletElement|HTMLAudioElement|HTMLBRElement|HTMLBaseFontElement|HTMLBodyElement|HTMLCanvasElement|HTMLContentElement|HTMLDListElement|HTMLDataListElement|HTMLDetailsElement|HTMLDialogElement|HTMLDirectoryElement|HTMLDivElement|HTMLEmbedElement|HTMLFontElement|HTMLFrameElement|HTMLFrameSetElement|HTMLHRElement|HTMLHeadElement|HTMLHeadingElement|HTMLHtmlElement|HTMLIFrameElement|HTMLImageElement|HTMLLabelElement|HTMLLegendElement|HTMLMapElement|HTMLMarqueeElement|HTMLMediaElement|HTMLMenuElement|HTMLMetaElement|HTMLModElement|HTMLOListElement|HTMLObjectElement|HTMLParagraphElement|HTMLPreElement|HTMLQuoteElement|HTMLScriptElement|HTMLShadowElement|HTMLSourceElement|HTMLSpanElement|HTMLTableCaptionElement|HTMLTableCellElement|HTMLTableColElement|HTMLTableDataCellElement|HTMLTableElement|HTMLTableHeaderCellElement|HTMLTableRowElement|HTMLTableSectionElement|HTMLTemplateElement|HTMLTitleElement|HTMLTrackElement|HTMLUListElement|HTMLUnknownElement|HTMLVideoElement", W.HtmlElement);
 | 
|  
 | 
|  H.defineNativeMethodsNonleaf("HTMLElement", W.HtmlElement);
 | 
|  
 | 
|  H.defineNativeMethods("HTMLAnchorElement", W.AnchorElement);
 | 
|  
 | 
| -H.defineNativeMethods("CDATASection|CharacterData|Comment|ProcessingInstruction|Text", W.CharacterData);
 | 
| +H.defineNativeMethods("HTMLAreaElement", W.AreaElement);
 | 
| +
 | 
| +H.defineNativeMethods("HTMLBaseElement", W.BaseElement);
 | 
| +
 | 
| +H.defineNativeMethods("HTMLButtonElement", W.ButtonElement);
 | 
| +
 | 
| +H.defineNativeMethods("CDATASection|Comment|Text", W.CharacterData);
 | 
| +
 | 
| +H.defineNativeMethodsNonleaf("CharacterData", W.CharacterData);
 | 
|  
 | 
|  H.defineNativeMethods("DOMException", W.DomException);
 | 
|  
 | 
|  H.defineNativeMethodsNonleaf("Element", W.Element);
 | 
|  
 | 
| -H.defineNativeMethods("AudioProcessingEvent|AutocompleteErrorEvent|BeforeLoadEvent|CSSFontFaceLoadEvent|CloseEvent|CustomEvent|DeviceMotionEvent|DeviceOrientationEvent|ErrorEvent|HashChangeEvent|IDBVersionChangeEvent|MIDIConnectionEvent|MIDIMessageEvent|MediaKeyEvent|MediaKeyMessageEvent|MediaKeyNeededEvent|MediaStreamEvent|MediaStreamTrackEvent|MessageEvent|MutationEvent|OfflineAudioCompletionEvent|OverflowEvent|PageTransitionEvent|PopStateEvent|RTCDTMFToneChangeEvent|RTCDataChannelEvent|RTCIceCandidateEvent|SecurityPolicyViolationEvent|SpeechInputEvent|SpeechRecognitionError|SpeechRecognitionEvent|SpeechSynthesisEvent|StorageEvent|TrackEvent|TransitionEvent|WebGLContextEvent|WebKitAnimationEvent|WebKitTransitionEvent", W.Event);
 | 
| +H.defineNativeMethods("AudioProcessingEvent|AutocompleteErrorEvent|BeforeLoadEvent|CSSFontFaceLoadEvent|CloseEvent|CustomEvent|DeviceMotionEvent|DeviceOrientationEvent|ErrorEvent|HashChangeEvent|IDBVersionChangeEvent|MIDIConnectionEvent|MIDIMessageEvent|MediaKeyEvent|MediaKeyMessageEvent|MediaKeyNeededEvent|MediaStreamEvent|MediaStreamTrackEvent|MessageEvent|MutationEvent|OfflineAudioCompletionEvent|OverflowEvent|PageTransitionEvent|PopStateEvent|ProgressEvent|RTCDTMFToneChangeEvent|RTCDataChannelEvent|RTCIceCandidateEvent|ResourceProgressEvent|SecurityPolicyViolationEvent|SpeechInputEvent|SpeechRecognitionError|SpeechRecognitionEvent|SpeechSynthesisEvent|StorageEvent|TrackEvent|TransitionEvent|WebGLContextEvent|WebKitAnimationEvent|WebKitTransitionEvent|XMLHttpRequestProgressEvent", W.Event);
 | 
|  
 | 
|  H.defineNativeMethodsNonleaf("Event", W.Event);
 | 
|  
 | 
|  H.defineNativeMethodsNonleaf("EventTarget", W.EventTarget);
 | 
|  
 | 
| +H.defineNativeMethods("HTMLFieldSetElement", W.FieldSetElement);
 | 
| +
 | 
|  H.defineNativeMethods("HTMLFormElement", W.FormElement);
 | 
|  
 | 
| -H.defineNativeMethods("HTMLCollection|HTMLFormControlsCollection|HTMLOptionsCollection", W.HtmlCollection);
 | 
| +H.defineNativeMethods("HTMLInputElement", W.InputElement);
 | 
|  
 | 
| -H.defineNativeMethods("XMLHttpRequest", W.HttpRequest);
 | 
| +H.defineNativeMethods("HTMLKeygenElement", W.KeygenElement);
 | 
|  
 | 
| -H.defineNativeMethods("HTMLInputElement", W.InputElement);
 | 
| +H.defineNativeMethods("HTMLLIElement", W.LIElement);
 | 
| +
 | 
| +H.defineNativeMethods("HTMLLinkElement", W.LinkElement);
 | 
| +
 | 
| +H.defineNativeMethods("HTMLMeterElement", W.MeterElement);
 | 
|  
 | 
|  H.defineNativeMethods("DragEvent|MSPointerEvent|MouseEvent|MouseScrollEvent|MouseWheelEvent|PointerEvent|WheelEvent", W.MouseEvent);
 | 
|  
 | 
| @@ -6399,21 +6146,41 @@ H.defineNativeMethods("Attr|Document|DocumentFragment|DocumentType|Entity|HTMLDo
 | 
|  
 | 
|  H.defineNativeMethodsNonleaf("Node", W.Node);
 | 
|  
 | 
| -H.defineNativeMethods("NodeList|RadioNodeList", W.NodeList);
 | 
| +H.defineNativeMethods("HTMLOptGroupElement", W.OptGroupElement);
 | 
| +
 | 
| +H.defineNativeMethods("HTMLOptionElement", W.OptionElement);
 | 
|  
 | 
| -H.defineNativeMethods("ProgressEvent|ResourceProgressEvent|XMLHttpRequestProgressEvent", W.ProgressEvent);
 | 
| +H.defineNativeMethods("HTMLOutputElement", W.OutputElement);
 | 
| +
 | 
| +H.defineNativeMethods("HTMLParamElement", W.ParamElement);
 | 
| +
 | 
| +H.defineNativeMethods("ProcessingInstruction", W.ProcessingInstruction);
 | 
| +
 | 
| +H.defineNativeMethods("HTMLProgressElement", W.ProgressElement);
 | 
|  
 | 
|  H.defineNativeMethods("HTMLSelectElement", W.SelectElement);
 | 
|  
 | 
| +H.defineNativeMethods("HTMLStyleElement", W.StyleElement);
 | 
| +
 | 
| +H.defineNativeMethods("HTMLTextAreaElement", W.TextAreaElement);
 | 
| +
 | 
|  H.defineNativeMethods("CompositionEvent|FocusEvent|KeyboardEvent|SVGZoomEvent|TextEvent|TouchEvent", W.UIEvent);
 | 
|  
 | 
|  H.defineNativeMethodsNonleaf("UIEvent", W.UIEvent);
 | 
|  
 | 
|  H.defineNativeMethods("DOMWindow|Window", W.Window);
 | 
|  
 | 
| -H.defineNativeMethodsNonleaf("XMLHttpRequestEventTarget", W.XmlHttpRequestEventTarget);
 | 
| +H.defineNativeMethods("SVGAElement", P.AElement);
 | 
| +
 | 
| +H.defineNativeMethods("SVGAltGlyphElement|SVGCircleElement|SVGClipPathElement|SVGDefsElement|SVGEllipseElement|SVGForeignObjectElement|SVGGElement|SVGImageElement|SVGLineElement|SVGPathElement|SVGPolygonElement|SVGPolylineElement|SVGRectElement|SVGSVGElement|SVGSwitchElement|SVGTRefElement|SVGTSpanElement|SVGTextContentElement|SVGTextElement|SVGTextPathElement|SVGTextPositioningElement|SVGUseElement", P.GraphicsElement);
 | 
| +
 | 
| +H.defineNativeMethodsNonleaf("SVGGraphicsElement", P.GraphicsElement);
 | 
| +
 | 
| +H.defineNativeMethods("SVGStyleElement", P.StyleElement0);
 | 
| +
 | 
| +H.defineNativeMethods("SVGAltGlyphDefElement|SVGAltGlyphItemElement|SVGAnimateColorElement|SVGAnimateElement|SVGAnimateMotionElement|SVGAnimateTransformElement|SVGAnimationElement|SVGComponentTransferFunctionElement|SVGCursorElement|SVGDescElement|SVGFEBlendElement|SVGFEColorMatrixElement|SVGFEComponentTransferElement|SVGFECompositeElement|SVGFEConvolveMatrixElement|SVGFEDiffuseLightingElement|SVGFEDisplacementMapElement|SVGFEDistantLightElement|SVGFEDropShadowElement|SVGFEFloodElement|SVGFEFuncAElement|SVGFEFuncBElement|SVGFEFuncGElement|SVGFEFuncRElement|SVGFEGaussianBlurElement|SVGFEImageElement|SVGFEMergeElement|SVGFEMergeNodeElement|SVGFEMorphologyElement|SVGFEOffsetElement|SVGFEPointLightElement|SVGFESpecularLightingElement|SVGFESpotLightElement|SVGFETileElement|SVGFETurbulenceElement|SVGFilterElement|SVGFontElement|SVGFontFaceElement|SVGFontFaceFormatElement|SVGFontFaceNameElement|SVGFontFaceSrcElement|SVGFontFaceUriElement|SVGGlyphElement|SVGGlyphRefElement|SVGGradientElement|SVGHKernElement|SVGLinearGradientElement|SVGMPathElement|SVGMarkerElement|SVGMaskElement|SVGMetadataElement|SVGMissingGlyphElement|SVGPatternElement|SVGRadialGradientElement|SVGScriptElement|SVGSetElement|SVGStopElement|SVGSymbolElement|SVGTitleElement|SVGVKernElement|SVGViewElement", P.SvgElement);
 | 
|  
 | 
| -H.defineNativeMethods("SVGAElement|SVGAltGlyphDefElement|SVGAltGlyphElement|SVGAltGlyphItemElement|SVGAnimateColorElement|SVGAnimateElement|SVGAnimateMotionElement|SVGAnimateTransformElement|SVGAnimationElement|SVGCircleElement|SVGClipPathElement|SVGComponentTransferFunctionElement|SVGCursorElement|SVGDefsElement|SVGDescElement|SVGElement|SVGEllipseElement|SVGFEBlendElement|SVGFEColorMatrixElement|SVGFEComponentTransferElement|SVGFECompositeElement|SVGFEConvolveMatrixElement|SVGFEDiffuseLightingElement|SVGFEDisplacementMapElement|SVGFEDistantLightElement|SVGFEDropShadowElement|SVGFEFloodElement|SVGFEFuncAElement|SVGFEFuncBElement|SVGFEFuncGElement|SVGFEFuncRElement|SVGFEGaussianBlurElement|SVGFEImageElement|SVGFEMergeElement|SVGFEMergeNodeElement|SVGFEMorphologyElement|SVGFEOffsetElement|SVGFEPointLightElement|SVGFESpecularLightingElement|SVGFESpotLightElement|SVGFETileElement|SVGFETurbulenceElement|SVGFilterElement|SVGFontElement|SVGFontFaceElement|SVGFontFaceFormatElement|SVGFontFaceNameElement|SVGFontFaceSrcElement|SVGFontFaceUriElement|SVGForeignObjectElement|SVGGElement|SVGGlyphElement|SVGGlyphRefElement|SVGGradientElement|SVGGraphicsElement|SVGHKernElement|SVGImageElement|SVGLineElement|SVGLinearGradientElement|SVGMPathElement|SVGMarkerElement|SVGMaskElement|SVGMetadataElement|SVGMissingGlyphElement|SVGPathElement|SVGPatternElement|SVGPolygonElement|SVGPolylineElement|SVGRadialGradientElement|SVGRectElement|SVGSVGElement|SVGScriptElement|SVGSetElement|SVGStopElement|SVGStyleElement|SVGSwitchElement|SVGSymbolElement|SVGTRefElement|SVGTSpanElement|SVGTextContentElement|SVGTextElement|SVGTextPathElement|SVGTextPositioningElement|SVGTitleElement|SVGUseElement|SVGVKernElement|SVGViewElement", P.SvgElement);
 | 
| +H.defineNativeMethodsNonleaf("SVGElement", P.SvgElement);
 | 
|  
 | 
|  H.defineNativeMethodsExtended("ArrayBufferView", P.TypedData, [P.TypedData_ListMixin, P.TypedData_ListMixin_FixedLengthListMixin]);
 | 
|  
 | 
| @@ -6492,9 +6259,9 @@ Z = convertToFastObject(Z);
 | 
|    init.currentScript = currentScript;
 | 
|  
 | 
|    if (typeof dartMainRunner === "function") {
 | 
| -    dartMainRunner(function() { H.startRootIsolate(O.main$closure); });
 | 
| +    dartMainRunner(function() { H.startRootIsolate(A.main$closure); });
 | 
|    } else {
 | 
| -    H.startRootIsolate(O.main$closure);
 | 
| +    H.startRootIsolate(A.main$closure);
 | 
|    }
 | 
|  });
 | 
|  // END invoke [main].
 | 
| @@ -6721,5 +6488,5 @@ function init() {
 | 
|  }
 | 
|  })()
 | 
|  
 | 
| -//# sourceMappingURL=portmanteaux_simple.dart.js.map
 | 
| -//@ sourceMappingURL=portmanteaux_simple.dart.js.map
 | 
| +//# sourceMappingURL=piratebadge.dart.js.map
 | 
| +//@ sourceMappingURL=piratebadge.dart.js.map
 | 
| 
 |