diff --git a/CopyThisStuff/babel/babel-bottom.js b/CopyThisStuff/babel/babel-bottom.js
deleted file mode 100644
index e774140bf94d41fafb8cccce1871b586ebb29e81..0000000000000000000000000000000000000000
--- a/CopyThisStuff/babel/babel-bottom.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict"; (function () {function a(a, b, c) { var d = a; if (d.state = b, d.stateData = c, 0 < d.onNextStateChange.length) { var e = d.onNextStateChange.slice(); d.onNextStateChange.length = 0; for (var f, g = 0, h = e; g < h.length; g++)f = h[g], f() } return d } function b(b) {function d() { try { document.head.removeChild(f) } catch (a) { } } var e = a(b, "Loading", void 0), f = document.createElement("script"); return f.src = b.url, f.onload = function () { var a, b, f; void 0 === r ? (b = [], f = void 0) : (a = r(), b = a[0], f = a[1]), c(e, b, f), d() }, f.onerror = function () {g(b, new TypeError("Failed to fetch " + b.url)), d() }, document.head.appendChild(f), e } function c(b, c, e) { var f = d(b, c), g = f[0], h = f[1]; return a(b, "WaitingForTurn", {args: g, deps: h, moduleBody: e }) } function d(a, c) { for (var e, f = [], g = [], i = 0, j = c; i < j.length; i++) { if (e = j[i], "exports" === e) {f.push(a.exports); continue } if ("require" === e) {f.push(function (b, c, e) { var f = d(a, b), g = f[0], i = f[1]; h(i, function () { c && c.apply(null, g) }, e) }); continue } if ("meta" === e) {f.push({ url: !0 === a.isTopLevel ? a.url.substring(0, a.url.lastIndexOf("#")) : a.url }); continue } var l = k(n(a.urlBase, e)); f.push(l.exports), g.push(l), "Initialized" === l.state && b(l) } return [f, g] } function e(b) { var c = a(b, "WaitingOnDeps", b.stateData); return h(b.stateData.deps, function () { return f(c) }, function (a) { return g(c, a) }), c } function f(b) { var c = b.stateData; if (null != c.moduleBody) try {c.moduleBody.apply(null, c.args)} catch (a) { return g(b, a) } return a(b, "Executed", void 0) } function g(b, c) { return !0 === b.isTopLevel && setTimeout(function () { throw c }), a(b, "Failed", c) } function h(a, b, c) { var d = a.shift(); return void 0 === d ? void (b && b()) : "WaitingOnDeps" === d.state ? (!1, void h(a, b, c)) : void i(d, function () {h(a, b, c)}, c) } function i(a, b, c) { switch (a.state) { case "WaitingForTurn": return e(a), void i(a, b, c); case "Failed": return void (c && c(a.stateData)); case "Executed": return void b(); case "Loading": case "WaitingOnDeps": return void a.onNextStateChange.push(function () { return i(a, b, c) }); case "Initialized": throw new Error("All dependencies should be loading already before pressureDependencyToExecute is called."); default: throw new Error("Impossible module state: " + a.state); } } function j(a, b) { switch (a.state) { case "Executed": case "Failed": return void b(); default: a.onNextStateChange.push(function () { return j(a, b) }); } } function k(a) { var b = q[a]; return void 0 === b && (b = q[a] = {url: a, urlBase: m(a), exports: Object.create(null), state: "Initialized", stateData: void 0, isTopLevel: !1, onNextStateChange: [] }), b } function l(a) { return v.href = a, v.href } function m(a) { return a = a.split("?")[0], a = a.split("#")[0], a.substring(0, a.lastIndexOf("/") + 1) } function n(a, b) { return -1 === b.indexOf("://") ? l("/" === b[0] ? b : a + b) : b } function o() { return document.baseURI || (document.querySelector("base") || window.location).href } function p() { var b = document.currentScript; if (!b) return u; if (window.HTMLImports) { var c = window.HTMLImports.importForElement(b); return c ? c.href : u } var d = b.ownerDocument.createElement("a"); return d.href = "", d.href } if (!window.define) { var q = Object.create(null), r = void 0, s = 0, t = void 0, u = o(); window.define = function (a, b) { var d = !1; r = function () { return d = !0, r = void 0, [a, b] }; var f = p(); setTimeout(function () { if (!1 == d) {r = void 0; var g = f + "#" + s++, h = k(g); h.isTopLevel = !0; var i = c(h, a, b); void 0 === t ? e(i) : j(k(t), function () {e(i)}), t = g } }, 0) }, window.define._reset = function () { for (var a in q) delete q[a]; r = void 0, s = 0, t = void 0, u = o() }; var v = document.createElement("a") } })();
\ No newline at end of file
diff --git a/CopyThisStuff/babel/babel-top.js b/CopyThisStuff/babel/babel-top.js
deleted file mode 100644
index 6ceadaf9837e6dd7784c5bee3f56c1ccd3cff5f8..0000000000000000000000000000000000000000
--- a/CopyThisStuff/babel/babel-top.js
+++ /dev/null
@@ -1,2 +0,0 @@
-!function (a) { "use strict"; function b(a, b, c, e) { var f = b && b.prototype instanceof d ? b : d, g = Object.create(f.prototype), h = new m(e || []); return g._invoke = i(a, c, h), g } function c(a, b, c) { try { return { type: "normal", arg: a.call(b, c) } } catch (a) { return { type: "throw", arg: a } } } function d() { } function e() { } function f() { } function g(a) { ["next", "throw", "return"].forEach(function (b) { a[b] = function (a) { return this._invoke(b, a) } }) } function h(a) { function b(d, e, f, g) { var h = c(a[d], a, e); if ("throw" === h.type) g(h.arg); else { var i = h.arg, j = i.value; return j && "object" === typeof j && q.call(j, "__await") ? Promise.resolve(j.__await).then(function (a) { b("next", a, f, g) }, function (a) { b("throw", a, f, g) }) : Promise.resolve(j).then(function (a) { i.value = a, f(i) }, g) } } function d(a, c) { function d() { return new Promise(function (d, e) { b(a, c, d, e) }) } return e = e ? e.then(d, d) : d() } var e; this._invoke = d } function i(a, b, d) { var e = "suspendedStart"; return function (f, g) { if (e === "executing") throw new Error("Generator is already running"); if ("completed" === e) { if ("throw" === f) throw g; return o() } for (d.method = f, d.arg = g; ;) { var h = d.delegate; if (h) { var i = j(h, d); if (i) { if (i === x) continue; return i } } if ("next" === d.method) d.sent = d._sent = d.arg; else if ("throw" === d.method) { if ("suspendedStart" === e) throw e = "completed", d.arg; d.dispatchException(d.arg) } else "return" === d.method && d.abrupt("return", d.arg); e = "executing"; var k = c(a, b, d); if ("normal" === k.type) { if (e = d.done ? "completed" : "suspendedYield", k.arg === x) continue; return { value: k.arg, done: d.done } } "throw" === k.type && (e = "completed", d.method = "throw", d.arg = k.arg) } } } function j(a, b) { var d = a.iterator[b.method]; if (void 0 === d) { if (b.delegate = null, "throw" === b.method) { if (a.iterator.return && (b.method = "return", b.arg = void 0, j(a, b), "throw" === b.method)) return x; b.method = "throw", b.arg = new TypeError("The iterator does not provide a 'throw' method") } return x } var e = c(d, a.iterator, b.arg); if ("throw" === e.type) return b.method = "throw", b.arg = e.arg, b.delegate = null, x; var f = e.arg; if (!f) return b.method = "throw", b.arg = new TypeError("iterator result is not an object"), b.delegate = null, x; if (f.done) b[a.resultName] = f.value, b.next = a.nextLoc, "return" !== b.method && (b.method = "next", b.arg = void 0); else return f; return b.delegate = null, x } function k(a) { var b = { tryLoc: a[0] }; 1 in a && (b.catchLoc = a[1]), 2 in a && (b.finallyLoc = a[2], b.afterLoc = a[3]), this.tryEntries.push(b) } function l(a) { var b = a.completion || {}; b.type = "normal", delete b.arg, a.completion = b } function m(a) { this.tryEntries = [{ tryLoc: "root" }], a.forEach(k, this), this.reset(!0) } function n(a) { if (a) { var b = a[s]; if (b) return b.call(a); if ("function" === typeof a.next) return a; if (!isNaN(a.length)) { var c = -1, d = function b() { for (; ++c < a.length;)if (q.call(a, c)) return b.value = a[c], b.done = !1, b; return b.value = void 0, b.done = !0, b }; return d.next = d } } return { next: o } } function o() { return { value: void 0, done: !0 } } var p = Object.prototype, q = p.hasOwnProperty, r = "function" === typeof Symbol ? Symbol : {}, s = r.iterator || "@@iterator", t = r.asyncIterator || "@@asyncIterator", u = r.toStringTag || "@@toStringTag", v = "object" === typeof module, w = a.regeneratorRuntime; if (w) return void (v && (module.exports = w)); w = a.regeneratorRuntime = v ? module.exports : {}, w.wrap = b; var x = {}, y = {}; y[s] = function () { return this }; var z = Object.getPrototypeOf, A = z && z(z(n([]))); A && A !== p && q.call(A, s) && (y = A); var B = f.prototype = d.prototype = Object.create(y); e.prototype = B.constructor = f, f.constructor = e, f[u] = e.displayName = "GeneratorFunction", w.isGeneratorFunction = function (a) { var b = "function" === typeof a && a.constructor; return !!b && (b === e || "GeneratorFunction" === (b.displayName || b.name)) }, w.mark = function (a) { return Object.setPrototypeOf ? Object.setPrototypeOf(a, f) : (a.__proto__ = f, !(u in a) && (a[u] = "GeneratorFunction")), a.prototype = Object.create(B), a }, w.awrap = function (a) { return { __await: a } }, g(h.prototype), h.prototype[t] = function () { return this }, w.AsyncIterator = h, w.async = function (a, c, d, e) { var f = new h(b(a, c, d, e)); return w.isGeneratorFunction(c) ? f : f.next().then(function (a) { return a.done ? a.value : f.next() }) }, g(B), B[u] = "Generator", B[s] = function () { return this }, B.toString = function () { return "[object Generator]" }, w.keys = function (a) { var b = []; for (var c in a) b.push(c); return b.reverse(), function c() { for (; b.length;) { var d = b.pop(); if (d in a) return c.value = d, c.done = !1, c } return c.done = !0, c } }, w.values = n, m.prototype = { constructor: m, reset: function (a) { if (this.prev = 0, this.next = 0, this.sent = this._sent = void 0, this.done = !1, this.delegate = null, this.method = "next", this.arg = void 0, this.tryEntries.forEach(l), !a) for (var b in this) "t" === b.charAt(0) && q.call(this, b) && !isNaN(+b.slice(1)) && (this[b] = void 0) }, stop: function () { this.done = !0; var a = this.tryEntries[0], b = a.completion; if ("throw" === b.type) throw b.arg; return this.rval }, dispatchException: function (a) { function b(b, d) { return f.type = "throw", f.arg = a, c.next = b, d && (c.method = "next", c.arg = void 0), !!d } if (this.done) throw a; for (var c = this, d = this.tryEntries.length - 1; 0 <= d; --d) { var e = this.tryEntries[d], f = e.completion; if ("root" === e.tryLoc) return b("end"); if (e.tryLoc <= this.prev) { var g = q.call(e, "catchLoc"), h = q.call(e, "finallyLoc"); if (g && h) { if (this.prev < e.catchLoc) return b(e.catchLoc, !0); if (this.prev < e.finallyLoc) return b(e.finallyLoc) } else if (g) { if (this.prev < e.catchLoc) return b(e.catchLoc, !0); } else if (!h) throw new Error("try statement without catch or finally"); else if (this.prev < e.finallyLoc) return b(e.finallyLoc) } } }, abrupt: function (a, b) { for (var c, d = this.tryEntries.length - 1; 0 <= d; --d)if (c = this.tryEntries[d], c.tryLoc <= this.prev && q.call(c, "finallyLoc") && this.prev < c.finallyLoc) { var e = c; break } e && ("break" === a || "continue" === a) && e.tryLoc <= b && b <= e.finallyLoc && (e = null); var f = e ? e.completion : {}; return f.type = a, f.arg = b, e ? (this.method = "next", this.next = e.finallyLoc, x) : this.complete(f) }, complete: function (a, b) { if ("throw" === a.type) throw a.arg; return "break" === a.type || "continue" === a.type ? this.next = a.arg : "return" === a.type ? (this.rval = this.arg = a.arg, this.method = "return", this.next = "end") : "normal" === a.type && b && (this.next = b), x }, finish: function (a) { for (var b, c = this.tryEntries.length - 1; 0 <= c; --c)if (b = this.tryEntries[c], b.finallyLoc === a) return this.complete(b.completion, b.afterLoc), l(b), x }, catch: function (a) { for (var b, c = this.tryEntries.length - 1; 0 <= c; --c)if (b = this.tryEntries[c], b.tryLoc === a) { var d = b.completion; if ("throw" === d.type) { var e = d.arg; l(b) } return e } throw new Error("illegal catch attempt") }, delegateYield: function (a, b, c) { return this.delegate = { iterator: n(a), resultName: b, nextLoc: c }, "next" === this.method && (this.arg = void 0), x } } }(function () { return this }() || Function("return this")());
-(function (a) {function b(a) { return r.typeof = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? b = function (a) { return typeof a } : b = function (a) { return a && "function" === typeof Symbol && a.constructor === Symbol && a !== Symbol.prototype ? "symbol" : typeof a }, b(a) } function c(a) {function b(d, e) { try { var f = a[d](e), g = f.value, h = g instanceof r.AwaitValue; Promise.resolve(h ? g.wrapped : g).then(function (a) { return h ? void b("next", a) : void c(f.done ? "return" : "normal", a) }, function (a) { b("throw", a) }) } catch (a) { c("throw", a) } } function c(a, c) { switch (a) { case "return": d.resolve({value: c, done: !0 }); break; case "throw": d.reject(c); break; default: d.resolve({value: c, done: !1 }); }d = d.next, d ? b(d.key, d.arg) : e = null } var d, e; this._invoke = function (a, c) { return new Promise(function (f, g) { var h = {key: a, arg: c, resolve: f, reject: g, next: null }; e ? e = e.next = h : (d = e = h, b(a, c)) }) }, "function" !== typeof a.return && (this.return = void 0) } function d(a, b, c, d, e, f, g) { try { var h = a[f](g), i = h.value } catch (a) { return void c(a) } h.done ? b(i) : Promise.resolve(i).then(d, e) } function e(a, b) { for (var c, d = 0; d < b.length; d++)c = b[d], c.enumerable = c.enumerable || !1, c.configurable = !0, "value" in c && (c.writable = !0), Object.defineProperty(a, c.key, c) } function f(a, b) { for (var c in b) { var d = b[c]; d.configurable = d.enumerable = !0, "value" in d && (d.writable = !0), Object.defineProperty(a, c, d) } if (Object.getOwnPropertySymbols) for (var e = Object.getOwnPropertySymbols(b), f = 0; f < e.length; f++) { var g = e[f], d = b[g]; d.configurable = d.enumerable = !0, "value" in d && (d.writable = !0), Object.defineProperty(a, g, d) } return a } function g(a, b, c) { return b in a ? Object.defineProperty(a, b, {value: c, enumerable: !0, configurable: !0, writable: !0 }) : a[b] = c, a } function h() { return r.extends = h = Object.assign || function (a) { for (var b, c = 1; c < arguments.length; c++)for (var d in b = arguments[c], b) Object.prototype.hasOwnProperty.call(b, d) && (a[d] = b[d]); return a }, h.apply(this, arguments) } function i(a) { return r.getPrototypeOf = i = Object.setPrototypeOf ? Object.getPrototypeOf : function (a) { return a.__proto__ || Object.getPrototypeOf(a) }, i(a) } function j(a, b) { return r.setPrototypeOf = j = Object.setPrototypeOf || function (a, b) { return a.__proto__ = b, a }, j(a, b) } function k() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], function () {})), !0 } catch (a) { return !1 } } function l() { return r.construct = k() ? l = Reflect.construct : l = function (b, c, d) { var e = [null]; e.push.apply(e, c); var a = Function.bind.apply(b, e), f = new a; return d && r.setPrototypeOf(f, d.prototype), f }, l.apply(null, arguments) } function m(a) { var b = "function" === typeof Map ? new Map : void 0; return r.wrapNativeSuper = m = function (a) {function c() { return r.construct(a, arguments, r.getPrototypeOf(this).constructor) } if (null === a || !r.isNativeFunction(a)) return a; if ("function" !== typeof a) throw new TypeError("Super expression must either be null or a function"); if ("undefined" !== typeof b) { if (b.has(a)) return b.get(a); b.set(a, c) } return c.prototype = Object.create(a.prototype, {constructor: {value: c, enumerable: !1, writable: !0, configurable: !0 } }), r.setPrototypeOf(c, a) }, m(a) } function n(a, b, c) { return r.get = "undefined" !== typeof Reflect && Reflect.get ? n = Reflect.get : n = function (a, b, c) { var d = r.superPropBase(a, b); if (d) { var e = Object.getOwnPropertyDescriptor(d, b); return e.get ? e.get.call(c) : e.value } }, n(a, b, c || a) } function o(a, b, c, d) { return o = "undefined" !== typeof Reflect && Reflect.set ? Reflect.set : function (a, b, c, d) { var e, f = r.superPropBase(a, b); if (f) { if (e = Object.getOwnPropertyDescriptor(f, b), e.set) return e.set.call(d, c), !0; if (!e.writable) return !1 } if (e = Object.getOwnPropertyDescriptor(d, b), e) { if (!e.writable) return !1; e.value = c, Object.defineProperty(d, b, e) } else r.defineProperty(d, b, c); return !0 }, o(a, b, c, d) } function p(a, b, c, d, e) { var f = o(a, b, c, d || a); if (!f && e) throw new Error("failed to set property"); return c } function q(a) { if (Symbol.iterator in Object(a) || "[object Arguments]" === Object.prototype.toString.call(a)) return Array.from(a) } var r = a.babelHelpers = {}; r.typeof = b, r.asyncIterator = function (a) { var b; if ("function" === typeof Symbol) { if (Symbol.asyncIterator && (b = a[Symbol.asyncIterator], null != b)) return b.call(a); if (Symbol.iterator && (b = a[Symbol.iterator], null != b)) return b.call(a) } throw new TypeError("Object is not async iterable") }, r.AwaitValue = function (a) {this.wrapped = a}, "function" === typeof Symbol && Symbol.asyncIterator && (c.prototype[Symbol.asyncIterator] = function () { return this }), c.prototype.next = function (a) { return this._invoke("next", a) }, c.prototype.throw = function (a) { return this._invoke("throw", a) }, c.prototype.return = function (a) { return this._invoke("return", a) }, r.AsyncGenerator = c, r.wrapAsyncGenerator = function (a) { return function () { return new r.AsyncGenerator(a.apply(this, arguments)) } }, r.awaitAsyncGenerator = function (a) { return new r.AwaitValue(a) }, r.asyncGeneratorDelegate = function (a, b) {function c(c, d) { return e = !0, d = new Promise(function (b) { b(a[c](d)) }), { done: !1, value: b(d) } } var d = {}, e = !1; return "function" === typeof Symbol && Symbol.iterator && (d[Symbol.iterator] = function () { return this }), d.next = function (a) { return e ? (e = !1, a) : c("next", a) }, "function" === typeof a.throw && (d.throw = function (a) { if (e) throw e = !1, a; return c("throw", a) }), "function" === typeof a.return && (d.return = function (a) { return c("return", a) }), d }, r.asyncToGenerator = function (a) { return function () { var b = this, c = arguments; return new Promise(function (e, f) {function g(a) { d(i, e, f, g, h, "next", a) } function h(a) {d(i, e, f, g, h, "throw", a)} var i = a.apply(b, c); g(void 0) }) } }, r.classCallCheck = function (a, b) { if (!(a instanceof b)) throw new TypeError("Cannot call a class as a function") }, r.createClass = function (a, b, c) { return b && e(a.prototype, b), c && e(a, c), a }, r.defineEnumerableProperties = f, r.defaults = function (a, b) { for (var c = Object.getOwnPropertyNames(b), d = 0; d < c.length; d++) { var e = c[d], f = Object.getOwnPropertyDescriptor(b, e); f && f.configurable && a[e] === void 0 && Object.defineProperty(a, e, f) } return a }, r.defineProperty = g, r.extends = h, r.objectSpread = function (a) { for (var b = 1; b < arguments.length; b++) { var c = null == arguments[b] ? {} : arguments[b], d = Object.keys(c); "function" === typeof Object.getOwnPropertySymbols && (d = d.concat(Object.getOwnPropertySymbols(c).filter(function (a) { return Object.getOwnPropertyDescriptor(c, a).enumerable }))), d.forEach(function (b) {r.defineProperty(a, b, c[b])}) } return a }, r.inherits = function (a, b) { if ("function" !== typeof b && null !== b) throw new TypeError("Super expression must either be null or a function"); a.prototype = Object.create(b && b.prototype, {constructor: {value: a, writable: !0, configurable: !0 } }), b && r.setPrototypeOf(a, b) }, r.getPrototypeOf = i, r.setPrototypeOf = j, r.construct = l, r.isNativeFunction = function (a) { return -1 !== Function.toString.call(a).indexOf("[native code]") }, r.wrapNativeSuper = m, r.instanceof = function (a, b) { return null != b && "undefined" !== typeof Symbol && b[Symbol.hasInstance] ? b[Symbol.hasInstance](a) : a instanceof b }, r.interopRequireDefault = function (a) { return a && a.__esModule ? a : { default : a } }, r.interopRequireWildcard = function (a) { if (a && a.__esModule) return a; var b = {}; if (null != a) for (var c in a) if (Object.prototype.hasOwnProperty.call(a, c)) { var d = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(a, c) : {}; d.get || d.set ? Object.defineProperty(b, c, d) : b[c] = a[c] } return b.default = a, b }, r.newArrowCheck = function (a, b) { if (a !== b) throw new TypeError("Cannot instantiate an arrow function") }, r.objectDestructuringEmpty = function (a) { if (null == a) throw new TypeError("Cannot destructure undefined") }, r.objectWithoutProperties = function (a, b) { if (null == a) return {}; var c, d, e = r.objectWithoutPropertiesLoose(a, b); if (Object.getOwnPropertySymbols) { var f = Object.getOwnPropertySymbols(a); for (d = 0; d < f.length; d++)c = f[d], !(0 <= b.indexOf(c)) && Object.prototype.propertyIsEnumerable.call(a, c) && (e[c] = a[c]) } return e }, r.assertThisInitialized = function (a) { if (void 0 === a) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return a }, r.possibleConstructorReturn = function (a, b) { return b && ("object" === typeof b || "function" === typeof b) ? b : r.assertThisInitialized(a) }, r.superPropBase = function (a, b) { for (; !Object.prototype.hasOwnProperty.call(a, b) && (a = r.getPrototypeOf(a), null !== a);); return a }, r.get = n, r.set = p, r.taggedTemplateLiteral = function (a, b) { return b || (b = a.slice(0)), Object.freeze(Object.defineProperties(a, {raw: {value: Object.freeze(b) } })) }, r.temporalRef = function (a, b) { if (a === r.temporalUndefined) throw new ReferenceError(b + " is not defined - temporal dead zone"); else return a }, r.readOnlyError = function (a) { throw new Error("\"" + a + "\" is read-only") }, r.temporalUndefined = {}, r.slicedToArray = function (a, b) { return r.arrayWithHoles(a) || r.iterableToArrayLimit(a, b) || r.nonIterableRest() }, r.toArray = function (a) { return r.arrayWithHoles(a) || r.iterableToArray(a) || r.nonIterableRest() }, r.toConsumableArray = function (a) { return r.arrayWithoutHoles(a) || r.iterableToArray(a) || r.nonIterableSpread() }, r.arrayWithoutHoles = function (a) { if (Array.isArray(a)) { for (var b = 0, c = Array(a.length); b < a.length; b++)c[b] = a[b]; return c } }, r.arrayWithHoles = function (a) { if (Array.isArray(a)) return a }, r.iterableToArray = q, r.iterableToArrayLimit = function (a, b) { var c = [], d = !0, e = !1, f = void 0; try { for (var g, h = a[Symbol.iterator](); !(d = (g = h.next()).done) && (c.push(g.value), !(b && c.length === b)); d = !0); } catch (a) {e = !0, f = a } finally { try {d || null == h["return"] || h["return"]()} finally { if (e) throw f } } return c }, r.nonIterableSpread = function () { throw new TypeError("Invalid attempt to spread non-iterable instance") }, r.nonIterableRest = function () { throw new TypeError("Invalid attempt to destructure non-iterable instance") }, r.toPropertyKey = function (a) { return "symbol" === typeof a ? a : a + "" } })("undefined" === typeof global ? self : global);
\ No newline at end of file
diff --git a/CopyThisStuff/build.js b/CopyThisStuff/build.js
deleted file mode 100644
index 4d5c35fd310cac55bb0bdc40d5b12632a039f735..0000000000000000000000000000000000000000
--- a/CopyThisStuff/build.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// this is an example, you should include just the things you want
-// however, this is a good base to get HAX and all its friends and integrations
-import "@lrnwebcomponents/baseline-build-hax/baseline-build-hax.js";
-import "@lrnwebcomponents/h-a-x/h-a-x.js";
-import "@lrnwebcomponents/hax-body/hax-body.js";
-import "@lrnwebcomponents/hax-body-behaviors/hax-body-behaviors.js";
-// common in CMSs
-import "@lrnwebcomponents/cms-hax/cms-hax.js";
-import "@lrnwebcomponents/wysiwyg-hax/wysiwyg-hax.js";
\ No newline at end of file
diff --git a/CopyThisStuff/dist/build.html b/CopyThisStuff/dist/build.html
deleted file mode 100644
index c935b5b15dbc183dee38a7396ffb882bff51a28b..0000000000000000000000000000000000000000
--- a/CopyThisStuff/dist/build.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
-  <title>static-build-plate build housing to ensure assets resolve</title>
-  <script src="../node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>
-  <script src="../node_modules/web-animations-js/web-animations-next-lite.min.js"></script>
-  <!--! do not remove -->
-  <script type="module" src="../build.js"></script>
-</head>
-<body></body>
-</html>
\ No newline at end of file
diff --git a/CopyThisStuff/package.json b/CopyThisStuff/package.json
deleted file mode 100644
index 0b21120d991cf9cbdde91b6a5c398476ed7e6d72..0000000000000000000000000000000000000000
--- a/CopyThisStuff/package.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
-  "name": "hax-boilerplate",
-  "description": "HAX and friend elements to get wired into anything",
-  "version": "0.0.1",
-  "author": "btopro",
-  "license": "Apache-2.0",
-  "main": "webcomponents/es6/build.js",
-  "module": "webcomponents/amd/build.amd.js",
-  "flat": true,
-  "dependencies": {
-    "@lrnwebcomponents/a11y-gif-player": "^2.1.2",
-    "@lrnwebcomponents/accent-card": "^2.1.2",
-    "@lrnwebcomponents/citation-element": "^2.1.2",
-    "@lrnwebcomponents/cms-hax": "^2.1.3",
-    "@lrnwebcomponents/grid-plate": "^2.1.2",
-    "@lrnwebcomponents/h-a-x": "^2.1.3",
-    "@lrnwebcomponents/hero-banner": "^2.1.2",
-    "@lrnwebcomponents/image-compare-slider": "^2.1.2",
-    "@lrnwebcomponents/license-element": "^2.1.2",
-    "@lrnwebcomponents/lrn-aside": "^2.1.2",
-    "@lrnwebcomponents/lrn-math": "^2.1.2",
-    "@lrnwebcomponents/lrn-table": "^2.1.2",
-    "@lrnwebcomponents/lrn-vocab": "^2.1.3",
-    "@lrnwebcomponents/lrndesign-blockquote": "^2.1.2",
-    "@lrnwebcomponents/lrndesign-gallery": "^2.1.2",
-    "@lrnwebcomponents/lrndesign-timeline": "^2.1.2",
-    "@lrnwebcomponents/magazine-cover": "^2.1.2",
-    "@lrnwebcomponents/md-block": "^2.1.2",
-    "@lrnwebcomponents/media-image": "^2.1.2",
-    "@lrnwebcomponents/meme-maker": "^2.1.2",
-    "@lrnwebcomponents/multiple-choice": "^2.1.2",
-    "@lrnwebcomponents/oer-schema": "^2.1.2",
-    "@lrnwebcomponents/paper-audio-player": "^2.1.2",
-    "@lrnwebcomponents/person-testimonial": "^2.1.2",
-    "@lrnwebcomponents/place-holder": "^2.1.2",
-    "@lrnwebcomponents/q-r": "^2.1.2",
-    "@lrnwebcomponents/self-check": "^2.1.2",
-    "@lrnwebcomponents/simple-concept-network": "^2.1.2",
-    "@lrnwebcomponents/stop-note": "^2.1.2",
-    "@lrnwebcomponents/tab-list": "^2.1.2",
-    "@lrnwebcomponents/task-list": "^2.1.2",
-    "@lrnwebcomponents/video-player": "^2.1.3",
-    "@lrnwebcomponents/wave-player": "^2.1.2",
-    "@lrnwebcomponents/wikipedia-query": "^2.1.2",
-    "@lrnwebcomponents/wysiwyg-hax": "^2.1.3",
-    "@webcomponents/webcomponentsjs": "2.2.1",
-    "web-animations-js": "2.3.1"
-  },
-  "resolutions": {
-    "object-assign": "4.1.1",
-    "commander": "2.19.0",
-    "readable-stream": "1.1.14",
-    "isarray": "1.0.0",
-    "source-map": "0.5.7",
-    "kind-of": "6.0.2",
-    "is-number": "4.0.0",
-    "once": "1.4.0",
-    "minimist": "1.2.0",
-    "ajv": "6.6.2",
-    "fast-deep-equal": "2.0.1",
-    "json-schema-traverse": "0.4.1"
-  }
-}
diff --git a/CopyThisStuff/polymer.json b/CopyThisStuff/polymer.json
deleted file mode 100644
index d8f7201bf2983870a7b3ef71478347ea920998f1..0000000000000000000000000000000000000000
--- a/CopyThisStuff/polymer.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
-  "entrypoint": "dist/build.html",
-  "extraDependencies": [
-    "node_modules/@webcomponents/webcomponentsjs/*.js",
-    "!node_modules/@webcomponents/webcomponentsjs/gulpfile.js",
-    "node_modules/@webcomponents/webcomponentsjs/bundles/*.js",
-    "node_modules/web-animations-js/web-animations-next-lite.min.js",
-    "node_modules/@lrnwebcomponents/haxcms-elements/lib/haxcms-backend-demo.js"
-  ],
-  "sources": [],
-  "builds": [
-    {
-      "name": "es6",
-      "browserCapabilities": ["es2015", "modules"],
-      "js": {
-        "minify": true
-      },
-      "css": {
-        "minify": true
-      },
-      "html": {
-        "minify": true
-      },
-      "bundle": false,
-      "addServiceWorker": false
-    },
-    {
-      "name": "es5-amd",
-      "js": {
-        "minify": true,
-        "compile": true,
-        "transformModulesToAmd": true
-      },
-      "css": {
-        "minify": true
-      },
-      "html": {
-        "minify": true
-      },
-      "bundle": false,
-      "addServiceWorker": false
-    }
-  ],
-  "moduleResolution": "node",
-  "npm": true,
-  "lint": {
-    "rules": ["polymer-3"]
-  }
-}
diff --git a/CopyThisStuff/yarn.lock b/CopyThisStuff/yarn.lock
deleted file mode 100644
index 1af2318a18a5d45f45f69bba15d1c24db21507c0..0000000000000000000000000000000000000000
--- a/CopyThisStuff/yarn.lock
+++ /dev/null
@@ -1,1929 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@lrnwebcomponents/a11y-behaviors@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/a11y-behaviors/-/a11y-behaviors-2.1.2.tgz#85cceeae07aa4b3b3aa49024ee5c6e006aa651e9"
-  integrity sha512-V6VXbI8CZ7sOWOaJEwcJpx0+oD/3gv9eoJq4yyXZiVfueXYfb/IrS1blGp4BVyNrXVN6+Hzg4bz6bIM3FUP0wQ==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/a11y-collapse@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/a11y-collapse/-/a11y-collapse-2.1.2.tgz#f810d9b4feba53c07b2948d58d8d6534a0c36818"
-  integrity sha512-/++/oopqFMDJNZSUZp1V1HUUZnQbQR4wU5dsdVjNtmGNA/hfXRhFTV/4emcXoNgdaObcwA6EbP40zQOmimWTkg==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/paper-icon-button" "^3.0.2"
-    "@polymer/paper-tooltip" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/a11y-gif-player@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/a11y-gif-player/-/a11y-gif-player-2.1.2.tgz#841cc53e8411a6d9fad6eb3275c188c84eb6cf13"
-  integrity sha512-pIlF0IUmAAHt3sDr29XKdoel9wTYoi/IFCsiOuJ9oBIP2UuIsKFtcbltt+27Yso6MViP49sn4MZymJ/Tey9FTw==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@polymer/iron-a11y-keys" "^3.0.1"
-    "@polymer/iron-image" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/a11y-media-player@^2.1.3":
-  version "2.1.3"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/a11y-media-player/-/a11y-media-player-2.1.3.tgz#cd12c7cc0a8e76b132b70b52d7baf9bac589bfc5"
-  integrity sha512-WChqcF3tK9/IIOUqdo9hG6RAzFacgH7a6yqQD+3SQBBlv+bScrtEn447sV1i/x9YSEO9OzxmnsxQMr7EUmwd1Q==
-  dependencies:
-    "@lrnwebcomponents/dropdown-select" "^2.1.2"
-    "@lrnwebcomponents/es-global-bridge" "^2.1.1"
-    "@lrnwebcomponents/responsive-utility" "^2.1.2"
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@lrnwebcomponents/simple-search" "^2.1.2"
-    "@polymer/iron-a11y-keys" "^3.0.1"
-    "@polymer/iron-ajax" "^3.0.0"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/neon-animation" "^3.0.0"
-    "@polymer/paper-icon-button" "^3.0.2"
-    "@polymer/paper-input" "^3.0.2"
-    "@polymer/paper-item" "^3.0.0"
-    "@polymer/paper-listbox" "^3.0.0"
-    "@polymer/paper-menu-button" "^3.0.0"
-    "@polymer/paper-slider" "^3.0.1"
-    "@polymer/paper-toggle-button" "^3.0.1"
-    "@polymer/paper-tooltip" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-    chartist "^0.11.0"
-    file-loader "^3.0.1"
-    screenfull "^4.2.0"
-
-"@lrnwebcomponents/a11y-tabs@^2.1.3":
-  version "2.1.3"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/a11y-tabs/-/a11y-tabs-2.1.3.tgz#043e0a0b152133a1e7d511f4ab6f68297820047c"
-  integrity sha512-ZkdNXkojYFcyokTilcIZJxGLkFgX9KyZrPqEr6NgQLjsLy5XoEv78dwfgsZ2IgBMm68L2h7AKrgjGVFcIK/HEQ==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" latest
-    "@lrnwebcomponents/responsive-utility" "^2.1.2"
-    "@polymer/iron-a11y-keys" "^3.0.1"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/paper-tooltip" "^3.0.1"
-    "@polymer/polymer" "^3.0.5"
-
-"@lrnwebcomponents/accent-card@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/accent-card/-/accent-card-2.1.2.tgz#aeecaa430b9b05f684d54994bac17c4f307aa1cd"
-  integrity sha512-qXkVDZpDhwrWv0Lx3xOwCnZVvlOc61eU/S6SvK7xKHOi2h6Yy52lgt+Ls5uX1iRhMouxqwq0p88YNKVIzV/N7w==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/app-datepicker@^2.0.9":
-  version "2.0.9"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/app-datepicker/-/app-datepicker-2.0.9.tgz#45051ad130b19fdd713827e5fdaf85acc369946a"
-  integrity sha512-wfPIho/5dwjF6kg7zrYKS5e5/ZqzgRU82VXGNf4etT1U7IfdhfecWssQ0467WNXo+vN5EL1STz98b/DCVPv2qw==
-  dependencies:
-    "@polymer/iron-iconset-svg" "^3.0.0"
-    "@polymer/iron-list" "^3.0.0"
-    "@polymer/iron-selector" "^3.0.1"
-    "@polymer/neon-animation" "^3.0.0"
-    "@polymer/paper-button" "^3.0.0"
-    "@polymer/paper-dialog-behavior" "^3.0.0"
-    "@polymer/paper-icon-button" "^3.0.0"
-    "@polymer/polymer" "^3.0.5"
-    web-animations-js "^2.3.1"
-
-"@lrnwebcomponents/citation-element@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/citation-element/-/citation-element-2.1.2.tgz#f40d892bb08d7f1e9d90aedf5d9054b461aa6429"
-  integrity sha512-3rXPoevayj8ImjIh1svn3Wtk9eJoLzr8zcT+uR40N0L6VvFGIvqtUaxUkec3nT9p0mQBZZoYIc/eWhnG0FRiUA==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/license-element" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/code-editor@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/code-editor/-/code-editor-2.1.2.tgz#24a6bf33fe3e50e11212ac2369eabff0a48aa960"
-  integrity sha512-TFOIohmt+2jENo/n+xASNJPKH8BnPZyA6a24nlWGE08NYqQCaJkizxEVuJsgsWfjyPnGveBkASN1dfgyjm5eug==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@polymer/polymer" "^3.2.0"
-    monaco-editor "^0.15.0"
-
-"@lrnwebcomponents/code-sample@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/code-sample/-/code-sample-2.1.2.tgz#718294b6db8e9b47d63ef73d8fd918274628822a"
-  integrity sha512-IGAElLMO7RkzPBJHTRYWF2qjG1HMgboI4wgdfrxAZN4VVtQK3lF4663waj1hAldySxjnBa3PnVn6OIGg7UhfqA==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/csv-render@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/csv-render/-/csv-render-2.1.2.tgz#3e7f8c4db7e94bd195c23affc09724ebedbd72b5"
-  integrity sha512-a1s3Brx2l9DQ86c4+kKGGgoZQk1qUuvl0RUM7+yHHn2LllgLFRgK1hP5HtqJkf0RcyIaVtBOnXJx90Ujd+AxBA==
-  dependencies:
-    "@lrnwebcomponents/hexagon-loader" "^2.1.2"
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@polymer/iron-ajax" "^3.0.1"
-    "@polymer/iron-icon" "^3.0.1"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/paper-tooltip" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/dl-behavior@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/dl-behavior/-/dl-behavior-2.1.2.tgz#7ee5133ac554003f794ad413717bb31e8026f095"
-  integrity sha512-6scVibnpXvwEid7b7GufCkvpAbVDiDjJg/HBG5G8qH9ROVuEd6nm4OPlYhXY7qAAGWd76FHliGJIQkgBBi4V5w==
-  dependencies:
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/dropdown-select@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/dropdown-select/-/dropdown-select-2.1.2.tgz#d88c312bb17bbc3c140e8b9e5e70f8a281ac83b0"
-  integrity sha512-nO9BiHFMe3c0s36ZnApKTyGtcyEJ7vGMbkAqdlmzkttNNs0XZccuVD4AsEEHNuWuISw+7r4GyfZ/k1jCbLnUYg==
-  dependencies:
-    "@polymer/neon-animation" "^3.0.0"
-    "@polymer/paper-dropdown-menu" "^3.0.1"
-    "@polymer/paper-item" "^3.0.0"
-    "@polymer/paper-listbox" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-    web-animations-js "^2.3.1"
-
-"@lrnwebcomponents/eco-json-schema-form@^2.1.3":
-  version "2.1.3"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/eco-json-schema-form/-/eco-json-schema-form-2.1.3.tgz#60c5e690dcf49a1979d5f96f4fca2f6dc9525713"
-  integrity sha512-AcoAsvhNEUT/k9rqTQtxo8u5ysaVCXt+eGEpZiHQ1xGYEsquv0dztTRT70HbziHcHcJg8L6ITRbP96pk6pSVvw==
-  dependencies:
-    "@lrnwebcomponents/a11y-collapse" "^2.1.2"
-    "@lrnwebcomponents/a11y-tabs" "^2.1.3"
-    "@polymer/app-layout" "^3.0.2"
-    "@polymer/app-localize-behavior" "^3.0.0"
-    "@polymer/iron-flex-layout" "^3.0.0"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/iron-pages" "^3.0.0"
-    "@polymer/iron-validator-behavior" "^3.0.0"
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/paper-checkbox" "^3.0.0"
-    "@polymer/paper-dropdown-menu" "^3.0.1"
-    "@polymer/paper-icon-button" "^3.0.2"
-    "@polymer/paper-input" "^3.0.2"
-    "@polymer/paper-item" "^3.0.0"
-    "@polymer/paper-listbox" "^3.0.0"
-    "@polymer/paper-material" "^3.0.0"
-    "@polymer/paper-tooltip" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-    ace-builds "^1.4.1"
-    jsoneditor "^5.24.7"
-    paper-collapse-item "^4.0.4"
-
-"@lrnwebcomponents/es-global-bridge@2.1.1", "@lrnwebcomponents/es-global-bridge@^2.1.1":
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/es-global-bridge/-/es-global-bridge-2.1.1.tgz#064919b03c4bf24b237097f3813bf4b27a6dea43"
-  integrity sha512-lsn4C1jU0Tz2X9yQG91IGvhp7DICZnQihI92jHxSWJg7XqUy96hsaS1CRd7XiZuPAeXl4375ECjFj2UgNjw0VQ==
-
-"@lrnwebcomponents/grafitto-filter@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/grafitto-filter/-/grafitto-filter-2.1.2.tgz#c113bd0963314ff71530d327c3bb015fe7cb787b"
-  integrity sha512-LDOpYRYa7WVPwmdMKcugjSAXqGrczoQWooF2Yfc+MTpurTYxalexOxUI1G0REgOUPBqlvvBE6CM3xC6YnPHfCg==
-  dependencies:
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/grid-plate@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/grid-plate/-/grid-plate-2.1.2.tgz#357126a89337c99f0aa152055245405b1d3d70fc"
-  integrity sha512-GVtyugYaa22ooR2sXQDoamSlIaYbtxk+GUHUZHF+HmWNW4OQIiYll1Aw39E1xOqAMxP+ipPcA3w25BCCJE+lpg==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/responsive-grid" "^2.1.2"
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@polymer/iron-a11y-keys" "^3.0.1"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/paper-icon-button" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/h-a-x@^2.1.3":
-  version "2.1.3"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/h-a-x/-/h-a-x-2.1.3.tgz#4d86e6e0b34b3f8cb8b179ddd4438c52e2d49ecf"
-  integrity sha512-1UIokZyUHEY4QzAlKKqVe8F7rCuFYwhmjrpyhvhV1DDeTWm1qjd+zd1jwpKVFkiHCmm8kfP4QHSwMNzwpsTTbg==
-  dependencies:
-    "@lrnwebcomponents/hax-body" "^2.1.3"
-    "@lrnwebcomponents/hax-iconset" "^2.1.2"
-    "@lrnwebcomponents/lrn-icons" "^2.1.2"
-    "@polymer/iron-icon" "^3.0.1"
-    "@polymer/iron-icons" "^3.0.1"
-
-"@lrnwebcomponents/hal-9000@^2.1.3":
-  version "2.1.3"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/hal-9000/-/hal-9000-2.1.3.tgz#fd91604db111951f1f92361cd384178098218af6"
-  integrity sha512-W2r/MnysrEibYJ4amTKHKfPE7+SAgul9nAUtAteWif4JEdjeYrXjtYePOx4VMGZ6tTc0dgOif1Wp29Qlc4Tr0w==
-  dependencies:
-    "@lrnwebcomponents/es-global-bridge" "2.1.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/hax-body-behaviors@^2.1.2", "@lrnwebcomponents/hax-body-behaviors@latest":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/hax-body-behaviors/-/hax-body-behaviors-2.1.2.tgz#befd7fa09407848076c40a8bf9dafb9b81f03317"
-  integrity sha512-88bIMOflBPcZuQYYkch+gjcpP78V+ko3+qa1/vkJUXvYJtlnypcLafFfnfQ+Bajfr/9b0nKuUajkXPcOSmPftA==
-  dependencies:
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/hax-body@^2.1.3":
-  version "2.1.3"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/hax-body/-/hax-body-2.1.3.tgz#510387e3a52ae6988d7fb447d413bbf7010cdb87"
-  integrity sha512-jZn0EM7aSfuyzJde6QA5RYmS6zfvToJ1qU/vjxU1gY1SH25ml3LHSXeapiCskRmMk7XqsL4sID8jCjUSOevmTw==
-  dependencies:
-    "@lrnwebcomponents/app-datepicker" "^2.0.9"
-    "@lrnwebcomponents/code-editor" "^2.1.2"
-    "@lrnwebcomponents/code-sample" "^2.1.2"
-    "@lrnwebcomponents/dl-behavior" "^2.1.2"
-    "@lrnwebcomponents/dropdown-select" "^2.1.2"
-    "@lrnwebcomponents/eco-json-schema-form" "^2.1.3"
-    "@lrnwebcomponents/grafitto-filter" "^2.1.2"
-    "@lrnwebcomponents/grid-plate" "^2.1.2"
-    "@lrnwebcomponents/hal-9000" "^2.1.3"
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/hexagon-loader" "^2.1.2"
-    "@lrnwebcomponents/lrn-icons" "^2.1.2"
-    "@lrnwebcomponents/materializecss-styles" "^2.1.2"
-    "@lrnwebcomponents/md-extra-icons" "^2.1.2"
-    "@lrnwebcomponents/media-behaviors" "^2.1.2"
-    "@lrnwebcomponents/oer-schema" "^2.1.2"
-    "@lrnwebcomponents/paper-input-flagged" "^2.1.2"
-    "@lrnwebcomponents/responsive-grid" "^2.1.2"
-    "@lrnwebcomponents/responsive-utility" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@lrnwebcomponents/simple-drawer" "^2.1.2"
-    "@lrnwebcomponents/simple-icon-picker" "^2.1.2"
-    "@lrnwebcomponents/simple-login" "^2.1.2"
-    "@lrnwebcomponents/simple-modal" "^2.1.2"
-    "@lrnwebcomponents/simple-picker" "^2.1.2"
-    "@lrnwebcomponents/simple-toast" "^2.1.2"
-    "@polymer/app-layout" "^3.0.2"
-    "@polymer/app-localize-behavior" "^3.0.1"
-    "@polymer/iron-a11y-keys" "^3.0.1"
-    "@polymer/iron-a11y-keys-behavior" "^3.0.1"
-    "@polymer/iron-ajax" "^3.0.1"
-    "@polymer/iron-behaviors" "^3.0.1"
-    "@polymer/iron-dropdown" "^3.0.0"
-    "@polymer/iron-flex-layout" "^3.0.0"
-    "@polymer/iron-icon" "^3.0.1"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/iron-iconset-svg" "^3.0.1"
-    "@polymer/iron-image" "^3.0.0"
-    "@polymer/iron-list" "^3.0.2"
-    "@polymer/iron-menu-behavior" "^3.0.0"
-    "@polymer/iron-pages" "^3.0.1"
-    "@polymer/iron-range-behavior" "^3.0.1"
-    "@polymer/iron-validatable-behavior" "^3.0.1"
-    "@polymer/neon-animation" "^3.0.1"
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/paper-card" "^3.0.0"
-    "@polymer/paper-checkbox" "^3.0.0"
-    "@polymer/paper-dialog" "^3.0.1"
-    "@polymer/paper-dialog-scrollable" "^3.0.0"
-    "@polymer/paper-dropdown-menu" "^3.0.1"
-    "@polymer/paper-icon-button" "^3.0.2"
-    "@polymer/paper-input" "^3.0.2"
-    "@polymer/paper-item" "^3.0.0"
-    "@polymer/paper-listbox" "^3.0.0"
-    "@polymer/paper-menu-button" "^3.0.0"
-    "@polymer/paper-ripple" "^3.0.1"
-    "@polymer/paper-slider" "^3.0.1"
-    "@polymer/paper-styles" "^3.0.0"
-    "@polymer/paper-tabs" "^3.0.0"
-    "@polymer/paper-toast" "^3.0.0"
-    "@polymer/paper-toggle-button" "^3.0.1"
-    "@polymer/paper-tooltip" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-    "@vaadin/vaadin-split-layout" "^4.1.0"
-    "@vaadin/vaadin-upload" "^4.2.1"
-    app-datepicker "^3.0.0"
-    paper-collapse-item "^4.0.4"
-    web-animations-js "^2.3.1"
-
-"@lrnwebcomponents/hax-iconset@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/hax-iconset/-/hax-iconset-2.1.2.tgz#69f5e086e6acd2394f42154f1aaa0d6aff3e7275"
-  integrity sha512-UL/ErMGwHTXp4tm3F6BOFYdvmKhbEx7sBsxZi31qeCHIkQrtYMoDdZ4LPyrjQ/MWL77WDOCC/cbwn29xbI88fw==
-  dependencies:
-    "@polymer/polymer" "^3.0.5"
-
-"@lrnwebcomponents/hero-banner@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/hero-banner/-/hero-banner-2.1.2.tgz#afee5fb3ffa6442aec7b24607abd299dada00521"
-  integrity sha512-jA2DGlcqgOBhsQftwYNMiC1n8S9DtYCh468Ifj7KieHEHsAJQaoe0QFDEtLG84TvXr+cCzZwFbK8NlD8Mnm04Q==
-  dependencies:
-    "@lrnwebcomponents/a11y-behaviors" "^2.1.2"
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/materializecss-styles" "^2.1.2"
-    "@polymer/iron-image" "^3.0.0"
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/hexagon-loader@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/hexagon-loader/-/hexagon-loader-2.1.2.tgz#39f0fe3e716f7d935e386baa9ade48ecceff7beb"
-  integrity sha512-2uMbyUU+unjWi91tM2COABjrtJx/0PAc5bzfhul8kknRstRD1uEV9U2sJhCqcEHpcm6N3TuCCYTSaUmA1QeOmQ==
-  dependencies:
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/iconset-demo@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/iconset-demo/-/iconset-demo-2.1.2.tgz#00f302fba67641bdfa7a6ee9b3d242eca84acf1b"
-  integrity sha512-qEAabGNoqLe0lkZ7Gt6Il+vOdXczRmJXHT9hRWUC7yNk7fv1IwZxwsoY0pmgnwAn3ayDk/W/xFOPe91BeVLm5w==
-  dependencies:
-    "@polymer/iron-icon" "^3.0.1"
-    "@polymer/marked-element" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/image-compare-slider@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/image-compare-slider/-/image-compare-slider-2.1.2.tgz#0c5dc8b3a7403c2b922c483e35810754101e71af"
-  integrity sha512-4te4cgJbYbKLC6lH6XwrnMcl4IN+zLpetsjx93xCU3aPt5ESkZWT15WpX0R90GscGEIU1LBldoO0hQjCvWqf6A==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/materializecss-styles" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@lrnwebcomponents/user-action" "^2.1.2"
-    "@polymer/iron-image" "^3.0.0"
-    "@polymer/paper-slider" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/image-inspector@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/image-inspector/-/image-inspector-2.1.2.tgz#3d9dbfbd7e49b63dbefc90a9f11927ba58c28065"
-  integrity sha512-xfdUJIAppg/EGg+FpD7jIzn95azz7WZkTFx2o1JlGGyd6ve/J/P5pIToVyzRASazPBJRm7m2eUsaSYZda7QXZw==
-  dependencies:
-    "@lrnwebcomponents/img-pan-zoom" "^2.1.2"
-    "@lrnwebcomponents/lrnsys-button" "^2.1.2"
-    "@lrnwebcomponents/materializecss-styles" "^2.1.2"
-    "@polymer/app-layout" "^3.0.2"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/img-pan-zoom@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/img-pan-zoom/-/img-pan-zoom-2.1.2.tgz#aff1fb977bd9e7d1da162e469cd4aebae84ee2e4"
-  integrity sha512-f+kvj/NCatzo6d2cQDaV8h4fWgpPzuDl3rdL1zUWolISkhOgOYvWmAmG9aXfWgz+rHm10Vi+GB9zDc9PlLyQYw==
-  dependencies:
-    "@lrnwebcomponents/es-global-bridge" "^2.1.1"
-    "@polymer/paper-spinner" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/license-element@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/license-element/-/license-element-2.1.2.tgz#4054f6cb572659aa4eb64ad9a0f7514c96ed9fb3"
-  integrity sha512-vle2K8eoVgdomUpepQ0gBDXtWCmmWzvBNVDrUKD2fN1QZM0hW3T6FZTTPmfjl11iNguKsp5Kt7UnezRfA1daUQ==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/lrn-aside@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/lrn-aside/-/lrn-aside-2.1.2.tgz#1c44c780a3e18c60d243557eab4ce768e7f159d0"
-  integrity sha512-c7B8DjJajrbmZVF5NnNuFZsRCPoVgS59gk9bknIFTVfyWrZSmWfFEHuS+27uxp1Tbx1cYKz6fjzwlaOuU5W9nw==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/lrndesign-panelcard" "^2.1.2"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/lrn-icons@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/lrn-icons/-/lrn-icons-2.1.2.tgz#f988b2ea941dcb60247f4c4d3fb51a53bb3c2ee1"
-  integrity sha512-SFkSTDzutxiYG7xA625cpUo8hUwIDUqias1OHSTntfgVEEEz0kJo29Bk7mJ8+qk6X9EvANec8e5ZgTNHpKrY4Q==
-  dependencies:
-    "@polymer/iron-icon" "^3.0.0"
-    "@polymer/iron-iconset-svg" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/lrn-math@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/lrn-math/-/lrn-math-2.1.2.tgz#66c1451c954643dd51b191dfb1010ac22b52ef30"
-  integrity sha512-ZwuAoNEVRNWs6exmeCtbH/i9OWSJ3tOsg6IiwO0mWIqst1GyBkZLkWcgH7hCSq9JJOmZeheT/cGlYi/r8xJ9TA==
-  dependencies:
-    "@lrnwebcomponents/es-global-bridge" "^2.1.1"
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/lrn-shared-styles@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/lrn-shared-styles/-/lrn-shared-styles-2.1.2.tgz#4ad917027d35d7b2c8d698afb931ad496dbf86e4"
-  integrity sha512-zIN7+qhRg5OaSCpTReqE877cbWULHoapePAx4HofN3KM6nFyM97FvMsqvvkfNKL/45PDhxSbdvDArv0QWcFXOg==
-  dependencies:
-    "@polymer/iron-flex-layout" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/lrn-table@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/lrn-table/-/lrn-table-2.1.2.tgz#ed33050cf8e32545d23d1eb41b9b04c179d84844"
-  integrity sha512-E2FTjC7K2X8eHouhTgWxtTmKY4zqGI9G9ZJxtqRKHqZ60drL8nVchq98XyLnvUfNU4M5C/DhZ2WCC49Z8LNrAA==
-  dependencies:
-    "@lrnwebcomponents/csv-render" "^2.1.2"
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/lrn-vocab@^2.1.3":
-  version "2.1.3"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/lrn-vocab/-/lrn-vocab-2.1.3.tgz#7c547e560fd2632fde1f9ed12fa57350ba6bcf79"
-  integrity sha512-TxVf2IhK3jCyH5lTURy3S80fWPSJDQ+eq2OLPILLIVKI5UHU2h1JCBImyLQEip7To4cvA4jfjFiz1zqbuRZQbQ==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@lrnwebcomponents/simple-modal" "^2.1.2"
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/lrndesign-blockquote@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/lrndesign-blockquote/-/lrndesign-blockquote-2.1.2.tgz#7fa52a080986f4e1caa876769a8a587850fe693e"
-  integrity sha512-e0e/fJ4EQDRafxfLlo+SGiA33wLUjlApJHI+qyM02Nmout7bHgYvnP4DzWldpkjOnWs9WNmEaMxdyLJpBZazZA==
-  dependencies:
-    "@lrnwebcomponents/a11y-behaviors" "^2.1.2"
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/materializecss-styles" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@polymer/paper-styles" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/lrndesign-gallery@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/lrndesign-gallery/-/lrndesign-gallery-2.1.2.tgz#d1dcaeaf1c8eb1f45244e95547aaa559a22ce4de"
-  integrity sha512-RyBycSEO33yA9F9Gdk54UaBiG93fh7WT1azUDF8nB9F80nTkBL+nZbO2PJCfU271+183zPU0gYcGdmJ5guXW4Q==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/image-inspector" "^2.1.2"
-    "@lrnwebcomponents/img-pan-zoom" "^2.1.2"
-    "@lrnwebcomponents/lrnsys-button" "^2.1.2"
-    "@lrnwebcomponents/lrnsys-layout" "^2.1.2"
-    "@lrnwebcomponents/responsive-utility" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@polymer/iron-a11y-keys" "^3.0.1"
-    "@polymer/iron-ajax" "^3.0.0"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/iron-image" "^3.0.0"
-    "@polymer/iron-list" "^3.0.2"
-    "@polymer/neon-animation" "^3.0.0"
-    "@polymer/paper-card" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-    juicy-html "^2.0.0"
-    openseadragon "^2.4.0"
-    web-animations-js "^2.3.1"
-
-"@lrnwebcomponents/lrndesign-panelcard@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/lrndesign-panelcard/-/lrndesign-panelcard-2.1.2.tgz#296e6020f6a4277fb0318f465bf3dd2062b1a257"
-  integrity sha512-0YXI+EGtNYAROiSP6HsFUyCcW/a9l1iTvElTAWWTyc2B3PQ7kuSiYLoxCrxZUPhT+KBi05Wjf2/CTHeUsiDeUw==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@polymer/paper-card" "^3.0.0"
-    "@polymer/paper-styles" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/lrndesign-timeline@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/lrndesign-timeline/-/lrndesign-timeline-2.1.2.tgz#669ea8a2d342d336e4fa6f2f006521a3a7a448cf"
-  integrity sha512-LUgFDDweS3IIf8s+l1HBi5qfmLcirggxZ+XDjgJEJnpElTPDDusHtBtDStjV5jTY/1DojBHmuvpuTaihtVTi5A==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/lrnsys-button@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/lrnsys-button/-/lrnsys-button-2.1.2.tgz#d898adc4ce1ada0e17ef59b7f4d6004d4d61787b"
-  integrity sha512-s2syInzPYOW+7+A78vczzMZvra3ruIPThHiT14sHIGD2CPW9jqfteIsmTxMFRpnMB6GODiVW1lhPj0cajeo/eg==
-  dependencies:
-    "@lrnwebcomponents/materializecss-styles" "^2.1.2"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/paper-styles" "^3.0.0"
-    "@polymer/paper-tooltip" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/lrnsys-layout@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/lrnsys-layout/-/lrnsys-layout-2.1.2.tgz#32076abd8b0c5c76dde8c6ae7d885c824414d9d9"
-  integrity sha512-0TbGLGQFNdqiLIBixHQEkkBfivpelJmx77XGok0GZwz+Wa5crlOT9+vvYfxqbGkYiiAlxqAzfDWpP4N9D/D9EQ==
-  dependencies:
-    "@lrnwebcomponents/lrn-icons" "^2.1.2"
-    "@lrnwebcomponents/paper-avatar" "^2.1.2"
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@lrnwebcomponents/simple-drawer" "^2.1.2"
-    "@lrnwebcomponents/simple-modal" "^2.1.2"
-    "@polymer/app-layout" "^3.0.2"
-    "@polymer/iron-collapse" "^3.0.0"
-    "@polymer/iron-image" "^3.0.0"
-    "@polymer/neon-animation" "^3.0.0"
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/paper-drawer-panel" "^3.0.0"
-    "@polymer/paper-input" "^3.0.2"
-    "@polymer/paper-tooltip" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-    web-animations-js "^2.3.1"
-
-"@lrnwebcomponents/magazine-cover@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/magazine-cover/-/magazine-cover-2.1.2.tgz#73cf7df008f10830cfff30d7a825d00df2464852"
-  integrity sha512-2EmMrZTpBMNI9cPYJDPmrkaoG/4b2U7UaclNh9JuXv56kciQazjU4OvjKgl+7rFdicGtttGC9x6EU8sabViTuw==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/iron-image" "^3.0.0"
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/paper-styles" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/materializecss-styles@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/materializecss-styles/-/materializecss-styles-2.1.2.tgz#e652868ef961822b033599aa2509d7cf6686dafa"
-  integrity sha512-D8yQMjHHY96ayTv8VgJRv+MXOv67kRvnx+we1D93l0/2WFUB/kGEQio1FttSOzCQEx6VVYgvuPiEKIS+e120VA==
-  dependencies:
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/md-block@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/md-block/-/md-block-2.1.2.tgz#044848f9d2fb4478f04d3d6d45c21c35c130267c"
-  integrity sha512-LB9G2dE0koewFzN5Lj0OTGz5hKXik6S6RVduJvXG4ufk9735Ss/NMOswzHMHYf4hj/aBqcuMVbb86O+1yk8TRg==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@polymer/marked-element" "3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/md-extra-icons@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/md-extra-icons/-/md-extra-icons-2.1.2.tgz#b8155b924fe970bb062396a7ff79747a2f8a446c"
-  integrity sha512-NyCEiTR3PtuWkfV6V7l40Vwl6DpoAqkAhbzIcVe9rGB6TD64bc27LPwc0Vg+M59cpYE2/gDTeARh7XCuiQVbsw==
-  dependencies:
-    "@lrnwebcomponents/iconset-demo" "^2.1.2"
-    "@polymer/iron-icon" "^3.0.0"
-    "@polymer/iron-iconset-svg" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/media-behaviors@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/media-behaviors/-/media-behaviors-2.1.2.tgz#2dfd065d0a355cdf76ed9267a1376fea5aa74c6f"
-  integrity sha512-d8gzVE7wyJV3S+0CyOzv4rVC7nsJ/0j3bURg2KW/N1YthImpd6M/fApUwI1/g9kWhzXPfzJ3231GUf0OOg+Efw==
-  dependencies:
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/media-image@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/media-image/-/media-image-2.1.2.tgz#c22b960a5ddb88a6b6225057c67bd5a86002b64b"
-  integrity sha512-UM5KR5Lkx+BnpnOcr4Wbv1Q4BS+HgbLA1kmIaGq76d6VXixFbPCFErFf3Du0hfzylagLao/QIAKhBltWPWxPCg==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/iron-image" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/meme-maker@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/meme-maker/-/meme-maker-2.1.2.tgz#7de69d18386cbb86633affc1814e36ea0f41dba6"
-  integrity sha512-m51hASkJctLgakAfcZl15i6Rc/rhrqag4lyUGqCxR2Mg6ikh8qK4UAz7PI+tKYNxB9guDSON7aifBG8Era3xHA==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    lit-element "^2.1.0"
-
-"@lrnwebcomponents/multiple-choice@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/multiple-choice/-/multiple-choice-2.1.2.tgz#e1ef2c94d3426d02236893eb790923085dba3f59"
-  integrity sha512-BqTrKMhotS4SVGA2wKtP/DXDhAhdz8TBBLJbsGiMUTGyNYY1fFlGTqe2fHTgn9C7SAL0gcIWPzggGRQXJr7jIQ==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/paper-checkbox" "^3.0.0"
-    "@polymer/paper-radio-button" "^3.0.0"
-    "@polymer/paper-radio-group" "^3.0.1"
-    "@polymer/paper-toast" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/oer-schema@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/oer-schema/-/oer-schema-2.1.2.tgz#ea5a4128c8a1682f830c459049ba13572a5f9cf5"
-  integrity sha512-K/t4FWgMwoFuB6gajnx+YG5LJixRTQKROc/CFhmnSEYB638SAdN90Lg263xith+4f/d8c154FM2mR9yF7R/6aw==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/paper-audio-player@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/paper-audio-player/-/paper-audio-player-2.1.2.tgz#088ae59c808e10babff82b6a6c7cd401c844c589"
-  integrity sha512-OLiLKiR7KjvzYoV4zRh7eSUdKrLyDEp7zjXMplnm2Z7XqcJNA4inlfdTRZgDcBx5qb6sJvIChBPs0trTXNSCAQ==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@polymer/iron-a11y-keys-behavior" "^3.0.0"
-    "@polymer/iron-icon" "^3.0.0"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/paper-icon-button" "^3.0.2"
-    "@polymer/paper-progress" "^3.0.0"
-    "@polymer/paper-ripple" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/paper-avatar@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/paper-avatar/-/paper-avatar-2.1.2.tgz#d1f9bde3164e86a64309164f684215b90182e129"
-  integrity sha512-xFU/XHul9ZPRb5RmlYBFAR3B/gP/HS8uaQOdK6/IXYcREeYGik0p7HW8daQOUAVMz/do8Z4vsVlCl6SnLz0qjg==
-  dependencies:
-    "@lrnwebcomponents/es-global-bridge" "^2.1.1"
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/paper-input-flagged@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/paper-input-flagged/-/paper-input-flagged-2.1.2.tgz#ab7d8e6b2fd84b1059191b2cab40d6e4405fcbeb"
-  integrity sha512-v/+SEfn7BQYj/cfi24XV5uy45VouyU6t/Obj9Qk2iNBo13UgOkdUF7YOzVHvaaBhJRCoNnob1sbgaz1Zfuvveg==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@polymer/iron-icon" "^3.0.0"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/paper-input" "^3.0.2"
-    "@polymer/paper-tooltip" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/person-testimonial@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/person-testimonial/-/person-testimonial-2.1.2.tgz#3774e993df2bb95e65e93f22a2475ae9748c4d99"
-  integrity sha512-TRxPEzv3eU9iMmEm/iUNbuRP7VMRvo+O/NYL/zI7AGGFQbmPfXsnOtIRiYT2wkNkHnx1mFbLFUE3GjWnlLA3ug==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@polymer/iron-icon" "^3.0.0"
-    "@polymer/iron-iconset-svg" "^3.0.0"
-    "@polymer/iron-image" "^3.0.1"
-    "@polymer/paper-card" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/place-holder@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/place-holder/-/place-holder-2.1.2.tgz#c49942e3e5508b36c7fc4d2b38bbe840551fd496"
-  integrity sha512-p6QVfouhGzfWcDnUMjrdjIGMC+dchKNoUfyvxcZzKvHl5ZrxdEmpELQntj7jL9KJTJAhPQtLkuXJQtuVEM6rwA==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/materializecss-styles" "^2.1.2"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/q-r@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/q-r/-/q-r-2.1.2.tgz#3cabe89c8b5a6cd6e929887d0fb66920d4201e94"
-  integrity sha512-MlW/KvSk3f0KcNRNsrZTkgdMslD5ObsXjXD1xnY5ZCkIdKDyWV3r3THcFh1wRdqoa+TUh/4kH6kdDkHCTAI2RA==
-  dependencies:
-    "@lrnwebcomponents/es-global-bridge" "^2.1.1"
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/responsive-grid@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/responsive-grid/-/responsive-grid-2.1.2.tgz#d5d8028e4bd50ac151cd9ea0b640bfe71881f3b9"
-  integrity sha512-tq+vdYLuWbenVuXzHGaP76dRxyw3tPz4TCbCJkVb+qw8a/R4iWoEEvxLo1rYmQRLdgWcsoS8MxeeOz+g9FNElg==
-  dependencies:
-    "@lrnwebcomponents/responsive-utility" "^2.1.2"
-    "@polymer/iron-resizable-behavior" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/responsive-utility@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/responsive-utility/-/responsive-utility-2.1.2.tgz#4158ba98e67e9482a9d538e576611374c10c87f3"
-  integrity sha512-UdHfp6q4Ih2K+EQ7LFabQhZbBE75PMnT92iU3cdnhCJBwfSOhYG5x5QoG6ApaOBX8plDoBNXrELeSCZMKeUw2w==
-  dependencies:
-    "@polymer/iron-resizable-behavior" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/schema-behaviors@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/schema-behaviors/-/schema-behaviors-2.1.2.tgz#82419b9de76bb6e4173250b8832dddecb35e1f21"
-  integrity sha512-FfJuQoLc3CTNOqe5ib4YIJChrAJ56RQRoTJdI2GOBXHsOACk9Qd/dRTzrhqWqkwtVhTS2Df/4u+cZ9IBb4RDXg==
-  dependencies:
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/self-check@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/self-check/-/self-check-2.1.2.tgz#0d2093543e47c16e00e91440425a92b481d3ae05"
-  integrity sha512-wqgl0ip4g4omUz4Jn8p5lm4ESY8XEp1bjdEVzdHfoYnXdhStpqzZC0tv3xMTuViYyd+cV7TYnBs/0NFkpZswHg==
-  dependencies:
-    "@lrnwebcomponents/a11y-behaviors" "^2.1.2"
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/materializecss-styles" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@lrnwebcomponents/user-action" "^2.1.2"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/paper-card" "^3.0.0"
-    "@polymer/paper-icon-button" "^3.0.1"
-    "@polymer/paper-tooltip" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/simple-colors@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/simple-colors/-/simple-colors-2.1.2.tgz#f8ab4bfd83eccf7dcc5ad017dff206c945377fe5"
-  integrity sha512-xDDmCQJmIfefy94pVdFEwxlXO/9yrw+6Hv+/Sz6FwwXx0X9DwRlLHqfh+iexGoHLIXIlbG2k5Wu5zE2+R1uwbA==
-  dependencies:
-    "@lrnwebcomponents/simple-picker" "^2.1.2"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/simple-concept-network@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/simple-concept-network/-/simple-concept-network-2.1.2.tgz#5cc64c0f861252373b2bc6898e7b574dae28488b"
-  integrity sha512-SHAnU2GruBEKOwEfzUqh+kfygmy00U5W8a7ndIiHbvaQ8HEntbkxu0Fxh4zIyNZHqgay2OYXh269OtfYYbtnnQ==
-  dependencies:
-    "@lrnwebcomponents/a11y-behaviors" "^2.1.2"
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/lrn-icons" "^2.1.2"
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/paper-icon-button" "^3.0.2"
-    "@polymer/paper-tooltip" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/simple-drawer@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/simple-drawer/-/simple-drawer-2.1.2.tgz#e446d138d71bebc021fe7bb7615d638e0398e077"
-  integrity sha512-g0V974uFrWwYV64OoUH6qhjsmk/96mmUlcXGApU/3Uej4VPcZgRW8Lu5fjIMsqWOIPHhj5+6h+4EQcAZX++WIQ==
-  dependencies:
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@polymer/app-layout" "^3.0.2"
-    "@polymer/iron-icon" "^3.0.1"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/neon-animation" "^3.0.1"
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/simple-icon-picker@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/simple-icon-picker/-/simple-icon-picker-2.1.2.tgz#68d324e83ac519ce7f61a390a82395eed17625d0"
-  integrity sha512-xtY9hVagBWtl0tF7PHuPxIVvzv2Z+d10MctuETagT58EgYgICBLVUukGEMTNYYTTQPJpAwzLj0oOcg7BcF0zcw==
-  dependencies:
-    "@lrnwebcomponents/simple-picker" "^2.1.2"
-    "@polymer/iron-meta" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/simple-login@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/simple-login/-/simple-login-2.1.2.tgz#721aca59f21614024b557e4496b80925e7dd52e4"
-  integrity sha512-oN416Z6YptEOpRq+JNjZ0KK8yoxfR2Ix7kSj3YW+EtGqC1Isegb5R/CPh5uz6C++2ztQKUxgxUNayrTzsNDpOA==
-  dependencies:
-    "@lrnwebcomponents/es-global-bridge" "^2.1.1"
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/paper-icon-button" "^3.0.1"
-    "@polymer/paper-input" "^3.0.2"
-    "@polymer/paper-progress" "^3.0.1"
-    "@polymer/paper-styles" "^3.0.1"
-    "@polymer/paper-tooltip" "^3.0.1"
-    "@polymer/polymer" "^3.0.5"
-    msr "^1.3.4"
-
-"@lrnwebcomponents/simple-modal@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/simple-modal/-/simple-modal-2.1.2.tgz#8c468f4e47324ab8263c373fc4b77a20d97fad25"
-  integrity sha512-AAya8zYmiKmO+YVuUF0qgr9QvjiFDi/ZMStICyjRs09mQY0atwADrgZ4+i4z1Anxr5G3qGIyH+J9BmjtefxvQQ==
-  dependencies:
-    "@polymer/iron-icon" "^3.0.1"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/neon-animation" "^3.0.1"
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/paper-dialog" "^3.0.1"
-    "@polymer/paper-dialog-scrollable" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-    web-animations-js "^2.3.1"
-
-"@lrnwebcomponents/simple-picker@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/simple-picker/-/simple-picker-2.1.2.tgz#91de9351fda7529e893c571bc84db407e20db431"
-  integrity sha512-BnJRtqGD7X86JGSEME1+UDlERoVDCK0nHXO5OCPlQIOIwQNAgOouZis9DpB4XZvLV4sajWkxzSoXvT9HmGHOlA==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/lrn-shared-styles" "^2.1.2"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/simple-search@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/simple-search/-/simple-search-2.1.2.tgz#10c8729446a83daffdc789d9c9aa0d60211edc4a"
-  integrity sha512-cpAD1At7NzblIRCN6jzDgKHkoDIdJ4pUybc+fgbNIlyFXqaEhGz140fO1BzAEFN/WNtqXtiln295xviLQIKODw==
-  dependencies:
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/paper-input" "^3.0.2"
-    "@polymer/paper-tooltip" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/simple-toast@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/simple-toast/-/simple-toast-2.1.2.tgz#2c1b4cead4b632258c94489c839b584366033b28"
-  integrity sha512-C67KX7gDN5zWK2dXdohXdaB6tH0c1vadDpnyw1SChF9V/XV9I+YaSZ5/sSyxycRZfkDqTs8WeznN8IbGODBlvA==
-  dependencies:
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/paper-toast" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/stop-note@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/stop-note/-/stop-note-2.1.2.tgz#41af447ac13674c1882ac3dd5bb77a3b4420cb92"
-  integrity sha512-/Mf1W7mz9O0c7RTjLIoHb5/1rD3hXpCFGqz0m8o/yUotZC+2/U7S/kotGJqw1i935DC3D7T+ku5sc4dxSQMhRw==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/materializecss-styles" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@polymer/iron-icon" "^3.0.1"
-    "@polymer/iron-iconset-svg" "^3.0.1"
-    "@polymer/paper-card" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/tab-list@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/tab-list/-/tab-list-2.1.2.tgz#c1626defffbf343e734ebb54666ba8137ea9e5a2"
-  integrity sha512-lcpaM08Cqv8HtINw+tWBTEhiTujN3gz+BI1LWyh9W92squZ5qYQyM8QTdG2eg71GUJLosCVC45W88a66e9WyCQ==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@polymer/paper-tabs" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/task-list@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/task-list/-/task-list-2.1.2.tgz#14fb9198cd9326bea1a7b8c0de2cacb470c35788"
-  integrity sha512-oB6y3cVBnNFjOxkdIcY/0RDO9s+MfO6wWbMRDOnKRZEvQAH5o3WKxAld+NYH2mEPrQKTAv0NVqDKoZQch3B2tA==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/materializecss-styles" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/user-action@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/user-action/-/user-action-2.1.2.tgz#ca6977a3c76f46f9d4f1376016828fad30e0ee3b"
-  integrity sha512-OCl+ty1dq8ArEDzajyeggUoBO0CNk1nwjCsmm6iUVptLVFROZLYFC61qThPP3qxXoCY+7DR8h/Lef6RWR1S4cA==
-  dependencies:
-    "@lrnwebcomponents/hax-body-behaviors" latest
-
-"@lrnwebcomponents/video-player@^2.1.3":
-  version "2.1.3"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/video-player/-/video-player-2.1.3.tgz#3792303300b50e383aaa87c6cc5785dabacbd32a"
-  integrity sha512-aII8jHE+QS5kxzvnJ2ZsybN7EyZWw2KDbs9gM85x2hJW7EGH7wwqryymi6ZhZWGKPwx2fB/cJxhsFJV6xFW3Sw==
-  dependencies:
-    "@lrnwebcomponents/a11y-behaviors" "^2.1.2"
-    "@lrnwebcomponents/a11y-media-player" "^2.1.3"
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/materializecss-styles" "^2.1.2"
-    "@lrnwebcomponents/media-behaviors" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@lrnwebcomponents/simple-colors" "^2.1.2"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/wave-player@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/wave-player/-/wave-player-2.1.2.tgz#850d51c7b926b7a518361e5294caaa79e34964a9"
-  integrity sha512-8lGqAFWW7/g40piLuQ56LeUwhUPiFrfY7FzaLhlRrewfiuGI3MUPQZ1nJQ/qMKonBEG+ahEsRW83ibA7w/pUeQ==
-  dependencies:
-    "@lrnwebcomponents/es-global-bridge" "^2.1.1"
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@lrnwebcomponents/schema-behaviors" "^2.1.2"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/paper-fab" "^3.0.1"
-    "@polymer/paper-icon-button" "^3.0.1"
-    "@polymer/paper-material" "^3.0.1"
-    "@polymer/polymer" "^3.2.0"
-
-"@lrnwebcomponents/wikipedia-query@^2.1.2":
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/@lrnwebcomponents/wikipedia-query/-/wikipedia-query-2.1.2.tgz#53504848a43540fb1b8c98d37ccd776867fc0338"
-  integrity sha512-eGtobwSmn8WslPisP2Tvi4M4bBcS2s2il+Yv5Q4xEXjjbP3rmpLve5ybhtYAUF6Lw05l++IMdxHsJNpZ5hQiow==
-  dependencies:
-    "@lrnwebcomponents/citation-element" "^2.1.2"
-    "@lrnwebcomponents/hax-body-behaviors" "^2.1.2"
-    "@polymer/iron-ajax" "^3.0.0"
-    "@polymer/polymer" "^3.2.0"
-
-"@polymer/app-layout@^3.0.2":
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/@polymer/app-layout/-/app-layout-3.1.0.tgz#b146cd2ce202e079ac51059a4fcaef03f5b2f3c4"
-  integrity sha512-+jf5/TtUDj/la9Vi59ooGNjnTN8JTkyIUK8gxAms0N3MmyeqrmcNLlJKDVyE6IIGKz0WfFeGKqKtmtTLHrZIlg==
-  dependencies:
-    "@polymer/iron-flex-layout" "^3.0.0-pre.26"
-    "@polymer/iron-media-query" "^3.0.0-pre.26"
-    "@polymer/iron-resizable-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-scroll-target-behavior" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/app-localize-behavior@^3.0.0", "@polymer/app-localize-behavior@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/app-localize-behavior/-/app-localize-behavior-3.0.1.tgz#b787dc15c4399fdd006851cacb6107a9580edf06"
-  integrity sha512-0OZuUIMlfYvSJbB+clU+UaEuSDsvyu997xM3aRW33mGWijgUFMprWUQIP12RM8Ob/2i7WXJPn5ew3ir+rwTARg==
-  dependencies:
-    "@polymer/iron-ajax" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-    intl-messageformat "^2.2.0"
-
-"@polymer/font-roboto@^3.0.1":
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/@polymer/font-roboto/-/font-roboto-3.0.2.tgz#80cdaa7225db2359130dfb2c6d9a3be1820020c3"
-  integrity sha512-tx5TauYSmzsIvmSqepUPDYbs4/Ejz2XbZ1IkD7JEGqkdNUJlh+9KU85G56Tfdk/xjEZ8zorFfN09OSwiMrIQWA==
-
-"@polymer/iron-a11y-announcer@^3.0.0-pre.26":
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-a11y-announcer/-/iron-a11y-announcer-3.0.2.tgz#730dd36ccb2e042ecd5160ba439c2bf2f8a97412"
-  integrity sha512-LqnMF39mXyxSSRbTHRzGbcJS8nU0NVTo2raBOgOlpxw5yfGJUVcwaTJ/qy5NtWCZLRfa4suycf0oAkuUjHTXHQ==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-a11y-keys-behavior@^3.0.0", "@polymer/iron-a11y-keys-behavior@^3.0.0-pre.26", "@polymer/iron-a11y-keys-behavior@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-a11y-keys-behavior/-/iron-a11y-keys-behavior-3.0.1.tgz#2868ea72912d2007ffab4734684a91f5aac49b84"
-  integrity sha512-lnrjKq3ysbBPT/74l0Fj0U9H9C35Tpw2C/tpJ8a+5g8Y3YJs1WSZYnEl1yOkw6sEyaxOq/1DkzH0+60gGu5/PQ==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-a11y-keys@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-a11y-keys/-/iron-a11y-keys-3.0.1.tgz#bd59613c27248f7e516bbe389087d01be9396e9c"
-  integrity sha512-zmTi8xHeY4ZMJLAitW2hAmW5zXZ35hVy/eHQUFadAlOccuBK3oRRmoPRQRaZgpyJrCVFDAQRXXzzJtUDil/0CA==
-  dependencies:
-    "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-ajax@^3.0.0", "@polymer/iron-ajax@^3.0.0-pre.26", "@polymer/iron-ajax@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-ajax/-/iron-ajax-3.0.1.tgz#831781be31ced011ac7243a46e34a775a4bb3133"
-  integrity sha512-7+TPEAfWsRdhj1Y8UeF1759ktpVu+c3sG16rJiUC3wF9+woQ9xI1zUm2d59i7Yc3aDEJrR/Q8Y262KlOvyGVNg==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-autogrow-textarea@^3.0.0-pre.26":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-autogrow-textarea/-/iron-autogrow-textarea-3.0.1.tgz#0205d9c5ca16f3afd505f41e9037989707d59dce"
-  integrity sha512-FgSL7APrOSL9Vu812sBCFlQ17hvnJsBAV2C2e1UAiaHhB+dyfLq8gGdGUpqVWuGJ50q4Y/49QwCNnLf85AdVYA==
-  dependencies:
-    "@polymer/iron-behaviors" "^3.0.0-pre.26"
-    "@polymer/iron-flex-layout" "^3.0.0-pre.26"
-    "@polymer/iron-validatable-behavior" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-behaviors@^3.0.0-pre.26", "@polymer/iron-behaviors@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-behaviors/-/iron-behaviors-3.0.1.tgz#a3b6f876779a7f0a91a15e4423890968b6525901"
-  integrity sha512-IMEwcv1lhf1HSQxuyWOUIL0lOBwmeaoSTpgCJeP9IBYnuB1SPQngmfRuHKgK6/m9LQ9F9miC7p3HeQQUdKAE0w==
-  dependencies:
-    "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-checked-element-behavior@^3.0.0-pre.26":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-checked-element-behavior/-/iron-checked-element-behavior-3.0.1.tgz#7a4b49646603657ab2c5e5ca7bd97f34444fdaf5"
-  integrity sha512-aDr0cbCNVq49q+pOqa6CZutFh+wWpwPMLpEth9swx+GkAj+gCURhuQkaUYhIo5f2egDbEioR1aeHMnPlU9dQZA==
-  dependencies:
-    "@polymer/iron-form-element-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-validatable-behavior" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-collapse@^3.0.0", "@polymer/iron-collapse@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-collapse/-/iron-collapse-3.0.1.tgz#6417c84f5405ed909187765d9242e3b87ba4626f"
-  integrity sha512-yg6q5ZyckQR9VL9VmLrSTkSFXWy9AcJC8KtnD5cg0EHRPbakE8I9S/gVAgeP4nMWV2a/BjLLC4IBygcCMDhAGw==
-  dependencies:
-    "@polymer/iron-resizable-behavior" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-dropdown@^3.0.0", "@polymer/iron-dropdown@^3.0.0-pre.26":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-dropdown/-/iron-dropdown-3.0.1.tgz#c573faa1a08c179d201ae877c1c726018314bff3"
-  integrity sha512-22yLhepfcKjuQMfFmRHi/9MPKTqkzgRrmWWW0P5uqK++xle53k2QBO5VYUAYiCN3ZcxIi9lEhZ9YWGeQj2JBig==
-  dependencies:
-    "@polymer/iron-behaviors" "^3.0.0-pre.26"
-    "@polymer/iron-overlay-behavior" "^3.0.0-pre.27"
-    "@polymer/neon-animation" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-fit-behavior@^3.0.0-pre.26":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-fit-behavior/-/iron-fit-behavior-3.0.1.tgz#e5c26b0b4d9e74f0c3d6d56b9cfd460e84bddf0d"
-  integrity sha512-/M0B1L30k31vmwNBaGuZcxzUAhJSHoGccb/DF0CDKI/hT8UlkTvcyemaWdOpmHHLgY52ceKIkRwA3AeXrKyvaQ==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-flex-layout@^3.0.0", "@polymer/iron-flex-layout@^3.0.0-pre.26", "@polymer/iron-flex-layout@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-flex-layout/-/iron-flex-layout-3.0.1.tgz#36f9e1a8eb792d279b2bc75d362628721ad37f0c"
-  integrity sha512-7gB869czArF+HZcPTVSgvA7tXYFze9EKckvM95NB7SqYF+NnsQyhoXgKnpFwGyo95lUjUW9TFDLUwDXnCYFtkw==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-form-element-behavior@^3.0.0-pre.26":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-form-element-behavior/-/iron-form-element-behavior-3.0.1.tgz#4c79e1981d7796ce659e997f3b8f5e14b4a075a4"
-  integrity sha512-G/e2KXyL5AY7mMjmomHkGpgS0uAf4ovNpKhkuUTRnMuMJuf589bKqE85KN4ovE1Tzhv2hJoh/igyD6ekHiYU1A==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-icon@^3.0.0", "@polymer/iron-icon@^3.0.0-pre.26", "@polymer/iron-icon@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-icon/-/iron-icon-3.0.1.tgz#93211c39d8825fe4965a68419566036c1df291eb"
-  integrity sha512-QLPwirk+UPZNaLnMew9VludXA4CWUCenRewgEcGYwdzVgDPCDbXxy6vRJjmweZobMQv/oVLppT2JZtJFnPxX6g==
-  dependencies:
-    "@polymer/iron-flex-layout" "^3.0.0-pre.26"
-    "@polymer/iron-meta" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-icons@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-icons/-/iron-icons-3.0.1.tgz#c1bd31d8483afbdb5422cdc384081e19c9267cfe"
-  integrity sha512-xtEI8erH2GIBiF3QxEMyW81XuVjguu6Le5WjEEpX67qd9z7jjmc4T/ke3zRUlnDydex9p8ytcwVpMIKcyvjYAQ==
-  dependencies:
-    "@polymer/iron-icon" "^3.0.0-pre.26"
-    "@polymer/iron-iconset-svg" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-iconset-svg@^3.0.0", "@polymer/iron-iconset-svg@^3.0.0-pre.26", "@polymer/iron-iconset-svg@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-iconset-svg/-/iron-iconset-svg-3.0.1.tgz#568d6e7dbc120299dae63be3600aeba0d30ddbea"
-  integrity sha512-XNwURbNHRw6u2fJe05O5fMYye6GSgDlDqCO+q6K1zAnKIrpgZwf2vTkBd5uCcZwsN0FyCB3mvNZx4jkh85dRDw==
-  dependencies:
-    "@polymer/iron-meta" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-image@^3.0.0", "@polymer/iron-image@^3.0.0-pre.26", "@polymer/iron-image@^3.0.1":
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-image/-/iron-image-3.0.2.tgz#425ee6269634e024dbea726a91a61724ae4402b6"
-  integrity sha512-VyYtnewGozDb5sUeoLR1OvKzlt5WAL6b8Od7fPpio5oYL+9t061/nTV8+ZMrpMgF2WgB0zqM/3K53o3pbK5v8Q==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-input@^3.0.0-pre.26":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-input/-/iron-input-3.0.1.tgz#dc866a25107f9b38d9ca4512dd9a3e51b78b4915"
-  integrity sha512-WLx13kEcbH9GKbj9+pWR6pbJkA5kxn3796ynx6eQd2rueMyUfVTR3GzOvadBKsciUuIuzrxpBWZ2+3UcueVUQQ==
-  dependencies:
-    "@polymer/iron-a11y-announcer" "^3.0.0-pre.26"
-    "@polymer/iron-validatable-behavior" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-list@^3.0.0", "@polymer/iron-list@^3.0.1", "@polymer/iron-list@^3.0.2":
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-list/-/iron-list-3.0.2.tgz#9e6b80e503328dc29217dbe26f94faa47adb4124"
-  integrity sha512-A6GMTx/4mWxGn3BC6weaXqRC7B0coNjgEoxwVbEcDNwovqntv0aWs5sT9+PI4zvV/syWL5rAESyJDvOxTatoEw==
-  dependencies:
-    "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-resizable-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-scroll-target-behavior" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-media-query@^3.0.0-pre.26":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-media-query/-/iron-media-query-3.0.1.tgz#5cd8a1c1e8c9b8bafd3dd5da14e0f8d2cfa76d83"
-  integrity sha512-czUX1pm1zfmfcZtq5J57XFkcobBv08Y50exp0/3v8Bos5VL/jv2tU0RwiTfDBxUMhjicGbgwEBFQPY2V5DMzyw==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-menu-behavior@^3.0.0", "@polymer/iron-menu-behavior@^3.0.0-pre.26":
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-menu-behavior/-/iron-menu-behavior-3.0.2.tgz#f8fa2d59af472a4cb4fb0359c704b808bc2c105d"
-  integrity sha512-8dpASkFNBIkxAJWsFLWIO1M7tKM0+wKs3PqdeF/dDdBciwoaaFgC2K1XCZFZnbe2t9/nJgemXxVugGZAWpYCGg==
-  dependencies:
-    "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-flex-layout" "^3.0.0-pre.26"
-    "@polymer/iron-selector" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-meta@^3.0.0-pre.26", "@polymer/iron-meta@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-meta/-/iron-meta-3.0.1.tgz#7f140628d127b0a284f882f1bb323a261bc125f5"
-  integrity sha512-pWguPugiLYmWFV9UWxLWzZ6gm4wBwQdDy4VULKwdHCqR7OP7u98h+XDdGZsSlDPv6qoryV/e3tGHlTIT0mbzJA==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-overlay-behavior@^3.0.0-pre.27":
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-overlay-behavior/-/iron-overlay-behavior-3.0.2.tgz#6a12a3f4eab4721eb6978ed950be534c9c283983"
-  integrity sha512-j1qmt6mJHCwpe1mKOvqK5kcCUPQr5LSrlqpgRDbUuLgUfNJ/vGTipjrkBlfbEUagm5FEQdc1VLPLSQP6WVuP9g==
-  dependencies:
-    "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-fit-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-resizable-behavior" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-pages@^3.0.0", "@polymer/iron-pages@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-pages/-/iron-pages-3.0.1.tgz#b0c3639a4d51e405464c8b8bcccbe055fab401c0"
-  integrity sha512-PQe8S1JKHPcsIvFOaQP+9+AXmqUIL9fPqC6xT63OAZQxYCeZJDKgT9GKBx+VRryYBUlj2FLEXkUVpG+PTotdjg==
-  dependencies:
-    "@polymer/iron-resizable-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-selector" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-range-behavior@^3.0.0-pre.26", "@polymer/iron-range-behavior@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-range-behavior/-/iron-range-behavior-3.0.1.tgz#0aba35addb0a390bd3eafc307c35389cddbe8677"
-  integrity sha512-+jtL9v45M/T1RJleWyQaNH84S9/mIIR+AjNbYIttbKGp1eG+98j8MDWe7LXNtg79V2LQnE/+VS82cBeELyGVeg==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-resizable-behavior@^3.0.0", "@polymer/iron-resizable-behavior@^3.0.0-pre.26", "@polymer/iron-resizable-behavior@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-resizable-behavior/-/iron-resizable-behavior-3.0.1.tgz#e284348ed7c1c7e263f7039297532fa954025ea2"
-  integrity sha512-FyHxRxFspVoRaeZSWpT3y0C9awomb4tXXolIJcZ7RvXhMP632V5lez+ch5G5SwK0LpnAPkg35eB0LPMFv+YMMQ==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-scroll-target-behavior@^3.0.0-pre.26":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-scroll-target-behavior/-/iron-scroll-target-behavior-3.0.1.tgz#29fa644b320fb29ab6c68eb6d08a6520157764ac"
-  integrity sha512-xg1WanG25BIkQE8rhuReqY9zx1K5M7F+YAIYpswEp5eyDIaZ1Y3vUmVeQ3KG+hiSugzI1M752azXN7kvyhOBcQ==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-selector@^3.0.0-pre.26", "@polymer/iron-selector@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-selector/-/iron-selector-3.0.1.tgz#e845bec58489c96b4e7609525532437869ad5a88"
-  integrity sha512-sBVk2uas6prW0glUe2xEJJYlvxmYzM40Au9OKbfDK2Qekou/fLKcBRyIYI39kuI8zWRaip8f3CI8qXcUHnKb1A==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-validatable-behavior@^3.0.0-pre.26", "@polymer/iron-validatable-behavior@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-validatable-behavior/-/iron-validatable-behavior-3.0.1.tgz#73538f005a07741c31b6fc1e981168c3d3e0d92b"
-  integrity sha512-wwpYh6wOa4fNI+jH5EYKC7TVPYQ2OfgQqocWat7GsNWcsblKYhLYbwsvEY5nO0n2xKqNfZzDLrUom5INJN7msQ==
-  dependencies:
-    "@polymer/iron-meta" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/iron-validator-behavior@^3.0.0":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/iron-validator-behavior/-/iron-validator-behavior-3.0.1.tgz#d8302840ea7e7fe1a16be00a52a14af3a993f28f"
-  integrity sha512-n6eRVlNj/sFJ/L+L3+QtPzueyRJVTJzztFXQyhSOU86za+IoR53S/eWrrCnJv2SokzedwXCUa/iDBQjtztuVSA==
-  dependencies:
-    "@polymer/iron-meta" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/marked-element@3.0.1", "@polymer/marked-element@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/marked-element/-/marked-element-3.0.1.tgz#56add62080404dea142c055977807ae9ca773a89"
-  integrity sha512-WJQzQetxdStVGQbyTBUBgd+hSI0Rl39uJg7b2zL3r6EfMnibzmA/YNT06M8jVZdxPF+B4SumrFWRtasVtGQRUQ==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-    marked "~0.3.9"
-
-"@polymer/neon-animation@^3.0.0", "@polymer/neon-animation@^3.0.0-pre.26", "@polymer/neon-animation@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/neon-animation/-/neon-animation-3.0.1.tgz#6658e4b524abc057477772a7473292493d366c24"
-  integrity sha512-cDDc0llpVCe0ATbDS3clDthI54Bc8YwZIeTGGmBJleKOvbRTUC5+ssJmRL+VwVh+VM5FlnQlx760ppftY3uprg==
-  dependencies:
-    "@polymer/iron-resizable-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-selector" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-behaviors@^3.0.0-pre.27":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-behaviors/-/paper-behaviors-3.0.1.tgz#83f1cd06489f484c1b108a2967fb01952df722ad"
-  integrity sha512-6knhj69fPJejv8qR0kCSUY+Q0XjaUf0OSnkjRjmTJPAwSrRYtgqE+l6P1FfA+py1X/cUjgne9EF5rMZAKJIg1g==
-  dependencies:
-    "@polymer/iron-behaviors" "^3.0.0-pre.26"
-    "@polymer/iron-checked-element-behavior" "^3.0.0-pre.26"
-    "@polymer/paper-ripple" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-button@^3.0.0", "@polymer/paper-button@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-button/-/paper-button-3.0.1.tgz#f13b019137e3f6ccc4d04d0b1f27f4830ea5774d"
-  integrity sha512-JRNBc+Oj9EWnmyLr7FcCr8T1KAnEHPh6mosln9BUdkM+qYaYsudSICh3cjTIbnj6AuF5OJidoLkM1dlyj0j6Zg==
-  dependencies:
-    "@polymer/iron-flex-layout" "^3.0.0-pre.26"
-    "@polymer/paper-behaviors" "^3.0.0-pre.27"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-card@^3.0.0":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-card/-/paper-card-3.0.1.tgz#fb5960b3e55fab56d20b7c1c3dee08f0d052ff2a"
-  integrity sha512-ZYzfA4kzP9niRO22wSOBL2RS+URZNUP5XmUCwN91fYPIGO0Qbimh7d1O2HpJD4cRCZhvGYn2CJMDMVmDm35vIg==
-  dependencies:
-    "@polymer/iron-flex-layout" "^3.0.0-pre.26"
-    "@polymer/iron-image" "^3.0.0-pre.26"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-checkbox@^3.0.0":
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-checkbox/-/paper-checkbox-3.1.0.tgz#66b903ae5814db237d027deb4a3f3430f48d905b"
-  integrity sha512-kXm6yDG1tT8if0XuJ2cc9NF+g8Ev4wG+rnf0a+Sx+O7J6fn1jcnBlYn72FlrfjVjDQZDBFmT6nynhD5PvFw8iQ==
-  dependencies:
-    "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-checked-element-behavior" "^3.0.0-pre.26"
-    "@polymer/paper-behaviors" "^3.0.0-pre.27"
-    "@polymer/paper-ripple" "^3.0.0-pre.26"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-dialog-behavior@^3.0.0", "@polymer/paper-dialog-behavior@^3.0.0-pre.26", "@polymer/paper-dialog-behavior@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-dialog-behavior/-/paper-dialog-behavior-3.0.1.tgz#819b2fbb9444c1c318ddf55f02819bb29a85657b"
-  integrity sha512-wbI4kCK8le/9MHT+IXzvHjoatxf3kd3Yn0tgozAiAwfSZ7N4Ubpi5MHrK0m9S9PeIxKokAgBYdTUrezSE5378A==
-  dependencies:
-    "@polymer/iron-overlay-behavior" "^3.0.0-pre.27"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-dialog-scrollable@^3.0.0", "@polymer/paper-dialog-scrollable@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-dialog-scrollable/-/paper-dialog-scrollable-3.0.1.tgz#42fd30380320e6dd6d4d68b2ac4e45ee9e5e024f"
-  integrity sha512-1E8B9kNdL58jUrJ/BwqJeOoNVcxNrB559z//d1V0rVHWT5bWCCZegwS3G06iFK5MjxWFbIKzleVTLrT0opiZkA==
-  dependencies:
-    "@polymer/iron-flex-layout" "^3.0.0-pre.26"
-    "@polymer/paper-dialog-behavior" "^3.0.0-pre.26"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-dialog@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-dialog/-/paper-dialog-3.0.1.tgz#728ebdbfc4d35ec1485e543434cef5dba476f15e"
-  integrity sha512-KvglYbEq7AWJvui2j6WKLnOvgVMeGjovAydGrPRj7kVzCiD49Eq/hpYFJTRV5iDcalWH+mORUpw+jrFnG9+Kgw==
-  dependencies:
-    "@polymer/iron-overlay-behavior" "^3.0.0-pre.27"
-    "@polymer/neon-animation" "^3.0.0-pre.26"
-    "@polymer/paper-dialog-behavior" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-drawer-panel@^3.0.0":
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-drawer-panel/-/paper-drawer-panel-3.0.2.tgz#a4e40294e7a4879030df895a22c906a0415fdaaa"
-  integrity sha512-3hoGbPGh6OXkDnC33kXDMHFW9+pV7CXb3wFFvvu+JPkFGGRq6Es464qHOdiBHL+H76sQ/+NcgpvTMUO4a/k3XA==
-  dependencies:
-    "@polymer/iron-media-query" "^3.0.0-pre.26"
-    "@polymer/iron-resizable-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-selector" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-dropdown-menu@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-dropdown-menu/-/paper-dropdown-menu-3.0.1.tgz#73d7b962de2ccd52bc644b42a7e3f5de4cb99c2f"
-  integrity sha512-GBFzoP8SC+MTcLgKAflmGEvfjboCFVNkJd39fBEoNHAV3KU92ugmR4sl9iFaIaaGuxJ7QdjsLa2zQPlcS4lr6Q==
-  dependencies:
-    "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-form-element-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-icon" "^3.0.0-pre.26"
-    "@polymer/iron-iconset-svg" "^3.0.0-pre.26"
-    "@polymer/iron-validatable-behavior" "^3.0.0-pre.26"
-    "@polymer/paper-behaviors" "^3.0.0-pre.27"
-    "@polymer/paper-input" "^3.0.0-pre.26"
-    "@polymer/paper-menu-button" "^3.0.0-pre.26"
-    "@polymer/paper-ripple" "^3.0.0-pre.26"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-fab@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-fab/-/paper-fab-3.0.1.tgz#2636359e7fb70dd5a549ed92ba9b3bdb9ff86bf8"
-  integrity sha512-LO8ckgd72MnAtC1WiPd5CFR27WC/dEuY/lOIQuHYdEjwI62+iiV7Bmr7uoQ9wvvV71qMFdMIOyq/03KklsuAzw==
-  dependencies:
-    "@polymer/iron-flex-layout" "^3.0.0-pre.26"
-    "@polymer/iron-icon" "^3.0.0-pre.26"
-    "@polymer/paper-behaviors" "^3.0.0-pre.27"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-icon-button@^3.0.0", "@polymer/paper-icon-button@^3.0.0-pre.26", "@polymer/paper-icon-button@^3.0.1", "@polymer/paper-icon-button@^3.0.2":
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-icon-button/-/paper-icon-button-3.0.2.tgz#a1254faadc2c8dd135ce1ae33bcc161a94c31f65"
-  integrity sha512-kOdxQgnKL097bggFF6PWvsBYuWg+MCcoHoTHX6bh/MuZoWFZNjrFntFqwuB4oEbpjCpfm4moA33muPJFj7CihQ==
-  dependencies:
-    "@polymer/iron-icon" "^3.0.0-pre.26"
-    "@polymer/paper-behaviors" "^3.0.0-pre.27"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-input@^3.0.0-pre.26", "@polymer/paper-input@^3.0.2":
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-input/-/paper-input-3.0.2.tgz#c70559ed9b38a34efda972de8bcb7caed3c299d5"
-  integrity sha512-EoyJLsUCo7zLQp63jG7+qbRcN7ynT0p9MktDeH+dnl29UqFD4Ovj2/O5cSgq3lA3dYrei4vHF11Qmdmk7iab7Q==
-  dependencies:
-    "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-autogrow-textarea" "^3.0.0-pre.26"
-    "@polymer/iron-behaviors" "^3.0.0-pre.26"
-    "@polymer/iron-form-element-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-input" "^3.0.0-pre.26"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-item@^3.0.0", "@polymer/paper-item@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-item/-/paper-item-3.0.1.tgz#05b3543483e556cd5532431cd1751a84343989b5"
-  integrity sha512-KTk2N+GsYiI/HuubL3sxebZ6tteQbBOAp4QVLAnbjSPmwl+mJSDWk+omuadesU0bpkCwaWVs3fHuQsmXxy4pkw==
-  dependencies:
-    "@polymer/iron-behaviors" "^3.0.0-pre.26"
-    "@polymer/iron-flex-layout" "^3.0.0-pre.26"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-listbox@^3.0.0":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-listbox/-/paper-listbox-3.0.1.tgz#fe05094781b359e4afbc5bec89a07758a303a957"
-  integrity sha512-vMLWFpYcggAPmEDBmK+96fFefacOG3GLB1EguTn8+ZkqI+328hNfw1MzHjH68rgCIIUtjmm+9qgB1Sy/MN0a/A==
-  dependencies:
-    "@polymer/iron-behaviors" "^3.0.0-pre.26"
-    "@polymer/iron-menu-behavior" "^3.0.0-pre.26"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-material@^3.0.0", "@polymer/paper-material@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-material/-/paper-material-3.0.1.tgz#2d5f7673d21ac65270e4a687439d16b980aa517b"
-  integrity sha512-FUa3iqEcwjYtUzMqIh9cEfdTJE8ZtRasAzxVbck5GChthA/T2HwnhjAyqzN4lusVMyafdl3rjNEwhVPK/Pmykg==
-  dependencies:
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-menu-button@^3.0.0", "@polymer/paper-menu-button@^3.0.0-pre.26":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-menu-button/-/paper-menu-button-3.0.1.tgz#318fc4d884a01d42ed0f3f3b5a6f78548d64befa"
-  integrity sha512-Rxte2Fp7N2BMI2FMM7tB25IkvD11DhjMklcg97JP1jnlHbJNrXPh5SSX2bdtabz49UE8vejIsrxZ+AGsB5nqIQ==
-  dependencies:
-    "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-behaviors" "^3.0.0-pre.26"
-    "@polymer/iron-dropdown" "^3.0.0-pre.26"
-    "@polymer/iron-fit-behavior" "^3.0.0-pre.26"
-    "@polymer/neon-animation" "^3.0.0-pre.26"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-progress@^3.0.0", "@polymer/paper-progress@^3.0.0-pre.26", "@polymer/paper-progress@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-progress/-/paper-progress-3.0.1.tgz#2943054a909ad381236b3c7aecee078123bba839"
-  integrity sha512-5nguG+tmnyoaWKVNG8Smtno2uLSPBgEsT3f20JY8yJTjUBYWaqa8E3l5RLkTRXgA4x9OnvLb8/CdlQWXQIogBg==
-  dependencies:
-    "@polymer/iron-flex-layout" "^3.0.0-pre.26"
-    "@polymer/iron-range-behavior" "^3.0.0-pre.26"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-radio-button@^3.0.0", "@polymer/paper-radio-button@^3.0.0-pre.26":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-radio-button/-/paper-radio-button-3.0.1.tgz#89d7033ff976a28a76ac7f516b86ea09cb3a4bf7"
-  integrity sha512-ltCdgolOrmTeG3IxHhfMgxRc9AloNpoIwRMInrTI5Nzva4yOzSpP01bfpEwBpTl11o0NYxqfYYCxCjLQGRq9ng==
-  dependencies:
-    "@polymer/iron-checked-element-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-flex-layout" "^3.0.0-pre.26"
-    "@polymer/paper-behaviors" "^3.0.0-pre.27"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-radio-group@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-radio-group/-/paper-radio-group-3.0.1.tgz#f1a1bc34ad5a9579b59287f2144e29b92073bb21"
-  integrity sha512-VYUWj6Y7/1sJncbtKJ4+aKJ0U98cLPXWu6mTgMREoA2jOKrb41JxtnKNrKMjs+lBHCZj4wvtmHwzeS//HFULfA==
-  dependencies:
-    "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-menu-behavior" "^3.0.0-pre.26"
-    "@polymer/paper-radio-button" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-ripple@^3.0.0", "@polymer/paper-ripple@^3.0.0-pre.26", "@polymer/paper-ripple@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-ripple/-/paper-ripple-3.0.1.tgz#28e506f079f840703bf8cbfd62966e1e83ebc3c3"
-  integrity sha512-dgOe12GyCF1VZBLUQqnzGWlf3xb255FajNCVB1VFj/AtskYtoamnafa7m3a+1vs+C8qbg4Benn5KwgxVDSW4cg==
-  dependencies:
-    "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-slider@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-slider/-/paper-slider-3.0.1.tgz#f252af4b41f7ce72bd4fb761e6b1efd55ca75550"
-  integrity sha512-TNA8nEQci1fe3vTQQaFwkPj9p9yTLSr9Mhe8xQSTHpFNKun1rsp91LlKJmiKJDO7xU9RGZmA2mRlQwaj6kgR3g==
-  dependencies:
-    "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-behaviors" "^3.0.0-pre.26"
-    "@polymer/iron-flex-layout" "^3.0.0-pre.26"
-    "@polymer/iron-form-element-behavior" "^3.0.0-pre.26"
-    "@polymer/paper-behaviors" "^3.0.0-pre.27"
-    "@polymer/paper-input" "^3.0.0-pre.26"
-    "@polymer/paper-progress" "^3.0.0-pre.26"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-spinner@^3.0.0":
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-spinner/-/paper-spinner-3.0.2.tgz#c857c79f0494bc74e9ae293839d00f37fcf29f78"
-  integrity sha512-XUzu8/4NH+pnNZUTI2MxtOKFAr0EOsW7eGhTg3VBhTh7DDW/q3ewzwYRWnqNJokX9BEnxKMiXXaIeTEBq4k2dw==
-  dependencies:
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-styles@^3.0.0", "@polymer/paper-styles@^3.0.0-pre.26", "@polymer/paper-styles@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-styles/-/paper-styles-3.0.1.tgz#bd4962b83ab8432cd1cf197bb5222d3a08f135e1"
-  integrity sha512-y6hmObLqlCx602TQiSBKHqjwkE7xmDiFkoxdYGaNjtv4xcysOTdVJsDR/R9UHwIaxJ7gHlthMSykir1nv78++g==
-  dependencies:
-    "@polymer/font-roboto" "^3.0.1"
-    "@polymer/iron-flex-layout" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-tabs@^3.0.0":
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-tabs/-/paper-tabs-3.1.0.tgz#a173839d20703fdd5fca97a9d878f7b0e6257150"
-  integrity sha512-t8G+3CiyI0R+wA077UNQXR/oG9GlsqRRO1KMsFHHjBSsYqWXghNsqxUG827wEj+PafI5u9tZ3vVt1S++Lg4B2g==
-  dependencies:
-    "@polymer/iron-behaviors" "^3.0.0-pre.26"
-    "@polymer/iron-flex-layout" "^3.0.0-pre.26"
-    "@polymer/iron-icon" "^3.0.0-pre.26"
-    "@polymer/iron-iconset-svg" "^3.0.0-pre.26"
-    "@polymer/iron-menu-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-resizable-behavior" "^3.0.0-pre.26"
-    "@polymer/paper-behaviors" "^3.0.0-pre.27"
-    "@polymer/paper-icon-button" "^3.0.0-pre.26"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-toast@^3.0.0", "@polymer/paper-toast@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-toast/-/paper-toast-3.0.1.tgz#213aa3373909cee7c8e17299cf70fa2603bfb358"
-  integrity sha512-pizuogzObniDdICUc6dSLrnDt2VzzoRne1gCmbD6sfOATVv5tc8UfrqhA2iHngbNBEbniBiciS3iogdp5KTVUQ==
-  dependencies:
-    "@polymer/iron-a11y-announcer" "^3.0.0-pre.26"
-    "@polymer/iron-fit-behavior" "^3.0.0-pre.26"
-    "@polymer/iron-overlay-behavior" "^3.0.0-pre.27"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-toggle-button@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-toggle-button/-/paper-toggle-button-3.0.1.tgz#7d855420f0df96e7f812a9f1bdcfbc5ab082e819"
-  integrity sha512-jadZB60fycT7YnSAH0H23LYo6/2HYmMZTtNr9LpdSIRFPLX6mqqxewex92cFz019bMKaRJgORn308hRlJo2u6A==
-  dependencies:
-    "@polymer/iron-checked-element-behavior" "^3.0.0-pre.26"
-    "@polymer/paper-behaviors" "^3.0.0-pre.27"
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/paper-tooltip@^3.0.1":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@polymer/paper-tooltip/-/paper-tooltip-3.0.1.tgz#cdbb06442737513f081437c6302842170ce714dc"
-  integrity sha512-yiUk09opTEnE1lK+tb501ENb+yQBi4p++Ep0eGJAHesVYKVMPNgPphVKkIizkDaU+n0SE+zXfTsRbYyOMDYXSg==
-  dependencies:
-    "@polymer/paper-styles" "^3.0.0-pre.26"
-    "@polymer/polymer" "^3.0.0"
-
-"@polymer/polymer@^3.0.0", "@polymer/polymer@^3.0.5", "@polymer/polymer@^3.1.0", "@polymer/polymer@^3.2.0":
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/@polymer/polymer/-/polymer-3.3.0.tgz#52a0665ac29654728e8f46e8ee178c02c49efdd0"
-  integrity sha512-rij7suomS7DxdBamnwr/Xa0V5hpypf7I9oYKseF2FWz5Xh2a3wJNpVjgJy1adXVCxqIyPhghsrthnfCt7EblsQ==
-  dependencies:
-    "@webcomponents/shadycss" "^1.9.1"
-
-"@sphinxxxx/color-conversion@^2.2.1":
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/@sphinxxxx/color-conversion/-/color-conversion-2.2.2.tgz#03ecc29279e3c0c832f6185a5bfa3497858ac8ca"
-  integrity sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw==
-
-"@vaadin/vaadin-button@^2.1.0":
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/@vaadin/vaadin-button/-/vaadin-button-2.2.1.tgz#129b585d176053289b13451767495727b2201763"
-  integrity sha512-FjgC/NIRkmV5PVaZz4qvS7h8AJpAStcutZhn71gBeKVyKvSG4QUzZo1cP5XK050ZVOIQA/LFGimZfHVqJV350Q==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-    "@vaadin/vaadin-control-state-mixin" "^2.1.1"
-    "@vaadin/vaadin-element-mixin" "^2.0.0"
-    "@vaadin/vaadin-lumo-styles" "^1.3.3"
-    "@vaadin/vaadin-material-styles" "^1.2.0"
-    "@vaadin/vaadin-themable-mixin" "^1.2.1"
-
-"@vaadin/vaadin-control-state-mixin@^2.1.1":
-  version "2.1.3"
-  resolved "https://registry.yarnpkg.com/@vaadin/vaadin-control-state-mixin/-/vaadin-control-state-mixin-2.1.3.tgz#509998350611651acfa8db1506fc12d925861b48"
-  integrity sha512-EtLfMN9i/gwToAEuW6E1OA2Q2i/4a+Il6tKkqE/0i7bgu3Xr1IITMcagQn9QSsp1Xkpr/nLtWWKRq7yZZkbHVg==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@vaadin/vaadin-development-mode-detector@^2.0.0":
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/@vaadin/vaadin-development-mode-detector/-/vaadin-development-mode-detector-2.0.4.tgz#f49c8009856bead92d248377c36b295b5aae78e5"
-  integrity sha512-S+PaFrZpK8uBIOnIHxjntTrgumd5ztuCnZww96ydGKXgo9whXfZsbMwDuD/102a/IuPUMyF+dh/n3PbWzJ6igA==
-
-"@vaadin/vaadin-element-mixin@^2.0.0":
-  version "2.1.3"
-  resolved "https://registry.yarnpkg.com/@vaadin/vaadin-element-mixin/-/vaadin-element-mixin-2.1.3.tgz#3d7e835501afecba1c5b4400ef35e3d9459b2693"
-  integrity sha512-tCEdrS5JMIl9ZsyjnV28XI2AFLC35RUWRF6XPrvm/MpKAxWLk1MlYrkwR26avOuSqvNwCBO56NIDN2k1yYC4eA==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-    "@vaadin/vaadin-development-mode-detector" "^2.0.0"
-    "@vaadin/vaadin-usage-statistics" "^2.0.2"
-
-"@vaadin/vaadin-lumo-styles@^1.1.0", "@vaadin/vaadin-lumo-styles@^1.3.3":
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-1.5.0.tgz#8dec3c4aefea347431c8d184caf72406ea20c564"
-  integrity sha512-9e9n7rH5IlzsAhRWvBt6C8roXbdNILKyKMJPwbN9I6zsPwzFhG5y2y5IY59Q5Ijj8aXvHuLV+Icjogc+2KU5fg==
-  dependencies:
-    "@polymer/iron-icon" "^3.0.0"
-    "@polymer/iron-iconset-svg" "^3.0.0"
-    "@polymer/polymer" "^3.0.0"
-
-"@vaadin/vaadin-material-styles@^1.1.0", "@vaadin/vaadin-material-styles@^1.2.0":
-  version "1.2.3"
-  resolved "https://registry.yarnpkg.com/@vaadin/vaadin-material-styles/-/vaadin-material-styles-1.2.3.tgz#b769a39a89696f76b87bea607b0168edf7b374b8"
-  integrity sha512-hWtnfNPANPU3UJmyIXuu2pH8R60LtnUzTZ0o2lupvxyc5IR0qFZMnB1m0xQBdBTje44xxCRaHeJATrwpzsOeMQ==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@vaadin/vaadin-progress-bar@^1.1.0":
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/@vaadin/vaadin-progress-bar/-/vaadin-progress-bar-1.1.2.tgz#6b64328279147611ddad9f3abbc858d4f3f09ff5"
-  integrity sha512-/qQPn4tlGKjjrP+0SIqqrDk/We8+gLM635EXEzhKwoioFf/j1G7bpamkHB5dYHb38RqHDoeclLcNi+Uy8JF9NQ==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-    "@vaadin/vaadin-element-mixin" "^2.0.0"
-    "@vaadin/vaadin-lumo-styles" "^1.1.0"
-    "@vaadin/vaadin-material-styles" "^1.1.0"
-    "@vaadin/vaadin-themable-mixin" "^1.2.1"
-
-"@vaadin/vaadin-split-layout@^4.1.0":
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/@vaadin/vaadin-split-layout/-/vaadin-split-layout-4.1.1.tgz#5b588227d32816c2f37173c6ca709819a0aea160"
-  integrity sha512-NEwLeRceSY3chX/TzbKMyJA/YuWnr3KbAyStepDGvZDted3ovDNEpwFmzBOqbtS95bwF2ZrsFLXbHbrt9B22SQ==
-  dependencies:
-    "@polymer/iron-resizable-behavior" "^3.0.0"
-    "@polymer/polymer" "^3.0.0"
-    "@vaadin/vaadin-element-mixin" "^2.0.0"
-    "@vaadin/vaadin-lumo-styles" "^1.1.0"
-    "@vaadin/vaadin-material-styles" "^1.1.0"
-    "@vaadin/vaadin-themable-mixin" "^1.2.1"
-
-"@vaadin/vaadin-themable-mixin@^1.2.1":
-  version "1.4.4"
-  resolved "https://registry.yarnpkg.com/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-1.4.4.tgz#ebaf1e3726e528adac7db80367bdb9eca58e9008"
-  integrity sha512-S/zN0DvSQ3cy1PdH0Dfa2yQirIFQKWCC3o0YdBzrKVCGvi5QW8+IqBTDFKnIaOfWjYoHsw2eunWcg9pu2jlI1Q==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-
-"@vaadin/vaadin-upload@^4.2.1":
-  version "4.2.2"
-  resolved "https://registry.yarnpkg.com/@vaadin/vaadin-upload/-/vaadin-upload-4.2.2.tgz#5f3c28779a5304beaf8053fe174c22d9979b9860"
-  integrity sha512-0boE0vYMgayIlhRbY614JhAzr1YULW7JDKyvF3BgHcH0STSYGXet1SQscPhwNmGse3tEb1uHoBWYe2V64d8POw==
-  dependencies:
-    "@polymer/polymer" "^3.0.0"
-    "@vaadin/vaadin-button" "^2.1.0"
-    "@vaadin/vaadin-element-mixin" "^2.0.0"
-    "@vaadin/vaadin-lumo-styles" "^1.1.0"
-    "@vaadin/vaadin-material-styles" "^1.1.0"
-    "@vaadin/vaadin-progress-bar" "^1.1.0"
-    "@vaadin/vaadin-themable-mixin" "^1.2.1"
-
-"@vaadin/vaadin-usage-statistics@^2.0.2":
-  version "2.0.6"
-  resolved "https://registry.yarnpkg.com/@vaadin/vaadin-usage-statistics/-/vaadin-usage-statistics-2.0.6.tgz#47df51914ed793bb4732f86158004b97f87028c5"
-  integrity sha512-D24tBuewuO8cOouHhdxhAEikBeHz2P9kljbt6o/aq7O/h9uWxGMMa9t5gDPTimJVtmbcULS08Xa8crN3t3uAmA==
-  dependencies:
-    "@vaadin/vaadin-development-mode-detector" "^2.0.0"
-
-"@webcomponents/shadycss@^1.9.1":
-  version "1.9.1"
-  resolved "https://registry.yarnpkg.com/@webcomponents/shadycss/-/shadycss-1.9.1.tgz#d769fbadfa504f11b84caeef26701f89070ec49a"
-  integrity sha512-IaZOnWOKXHghqk/WfPNDRIgDBi3RsVPY2IFAw6tYiL9UBGvQRy5R6uC+Fk7qTZsReTJ0xh5MTT8yAcb3MUR4mQ==
-
-"@webcomponents/webcomponentsjs@2.2.1":
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/@webcomponents/webcomponentsjs/-/webcomponentsjs-2.2.1.tgz#bf28cdad466aaf85d88ee56aebed32c83f4c1328"
-  integrity sha512-lZZ+Lkke6JhsJcQQqSVk1Pny6/8y4qhJ98LO7a/MwBSRO8WqHqK1X2vscfeL8vOnYGFnmBUyVG95lwYv/AXyLQ==
-
-ace-builds@^1.4.1:
-  version "1.4.5"
-  resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.4.5.tgz#f442b2e0b2fc3f83739617f184805fb0677cfda7"
-  integrity sha512-wotVzxv5YClvwOjiuXNyGm4j/CnKoFIoTnnXNmi1nTHjr7hXMMjQeytcnbFua4thaJ5vvpVEDv0utmjqsrp3Jw==
-
-ajv-errors@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
-  integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
-
-ajv-keywords@^3.1.0:
-  version "3.4.1"
-  resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
-  integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==
-
-ajv@5.5.2, ajv@6.6.2, ajv@^6.1.0:
-  version "6.6.2"
-  resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.6.2.tgz#caceccf474bf3fc3ce3b147443711a24063cc30d"
-  integrity sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==
-  dependencies:
-    fast-deep-equal "^2.0.1"
-    fast-json-stable-stringify "^2.0.0"
-    json-schema-traverse "^0.4.1"
-    uri-js "^4.2.2"
-
-app-datepicker@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/app-datepicker/-/app-datepicker-3.1.0.tgz#6378004381bfdfede42bb2292e76842fbaa0b584"
-  integrity sha512-vdl1n9JwAjVkKBD95wEopyV92DM8UGyA/8sOCl84BHvGorzeQiBlGTDdLM1P4Wg0g2PzwZIEFOF+kX77KI1+qg==
-  dependencies:
-    "@polymer/iron-iconset-svg" "^3.0.1"
-    "@polymer/iron-list" "^3.0.1"
-    "@polymer/iron-selector" "^3.0.1"
-    "@polymer/neon-animation" "^3.0.1"
-    "@polymer/paper-button" "^3.0.1"
-    "@polymer/paper-dialog-behavior" "^3.0.1"
-    "@polymer/paper-icon-button" "^3.0.1"
-    "@polymer/polymer" "^3.1.0"
-    web-animations-js "^2.3.1"
-
-big.js@^5.2.2:
-  version "5.2.2"
-  resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
-  integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
-
-brace@0.11.1:
-  version "0.11.1"
-  resolved "https://registry.yarnpkg.com/brace/-/brace-0.11.1.tgz#4896fcc9d544eef45f4bb7660db320d3b379fe58"
-  integrity sha1-SJb8ydVE7vRfS7dmDbMg07N5/lg=
-
-chartist@^0.11.0:
-  version "0.11.3"
-  resolved "https://registry.yarnpkg.com/chartist/-/chartist-0.11.3.tgz#939d525669d9bffdb0dbcd0f38e7416d2bf0a93a"
-  integrity sha512-ENqCECh7iu0Mm36NNKqeECdGQ9dIcHXmf8fqSWmcmt/XDtl0mqpVNNC9aChoyrJYrlFBOlLGOeAb7fIHFDMNvg==
-
-co@^4.6.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
-  integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
-
-commander@2.19.0:
-  version "2.19.0"
-  resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
-  integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==
-
-core-util-is@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
-  integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
-
-drag-tracker@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/drag-tracker/-/drag-tracker-1.0.0.tgz#9bd33d380bc3056db69bd5b3cf6e062fec58bd64"
-  integrity sha1-m9M9OAvDBW22m9Wzz24GL+xYvWQ=
-
-emojis-list@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
-  integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
-
-fast-deep-equal@2.0.1, fast-deep-equal@^1.0.0, fast-deep-equal@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
-  integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
-
-fast-json-stable-stringify@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
-  integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
-
-file-loader@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa"
-  integrity sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==
-  dependencies:
-    loader-utils "^1.0.2"
-    schema-utils "^1.0.0"
-
-inherits@~2.0.1:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
-  integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-intl-messageformat-parser@1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz#b43d45a97468cadbe44331d74bb1e8dea44fc075"
-  integrity sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU=
-
-intl-messageformat@^2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-2.2.0.tgz#345bcd46de630b7683330c2e52177ff5eab484fc"
-  integrity sha1-NFvNRt5jC3aDMwwuUhd/9eq0hPw=
-  dependencies:
-    intl-messageformat-parser "1.4.0"
-
-is-number@4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
-  integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==
-
-isarray@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
-  integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
-
-isarray@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
-  integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
-
-javascript-natural-sort@0.7.1:
-  version "0.7.1"
-  resolved "https://registry.yarnpkg.com/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz#f9e2303d4507f6d74355a73664d1440fb5a0ef59"
-  integrity sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k=
-
-jmespath@0.15.0:
-  version "0.15.0"
-  resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
-  integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=
-
-json-schema-traverse@0.4.1, json-schema-traverse@^0.3.0, json-schema-traverse@^0.4.1:
-  version "0.4.1"
-  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
-  integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
-
-json-source-map@0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/json-source-map/-/json-source-map-0.4.0.tgz#eea837fe3ce2f2bfd5b13687779406354423c355"
-  integrity sha1-7qg3/jzi8r/VsTaHd5QGNUQjw1U=
-
-json5@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
-  integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
-  dependencies:
-    minimist "^1.2.0"
-
-jsoneditor@^5.24.7:
-  version "5.34.0"
-  resolved "https://registry.yarnpkg.com/jsoneditor/-/jsoneditor-5.34.0.tgz#f496c6b4adc26fc4bd67665b355b2981539dc3ed"
-  integrity sha512-/F7L6oXuRkv2/FKFIL4NMWF0P+oVvSWLJPVEVP/7KGehBj6dtOp5FKdfLcNkIgbqzklXx/NDzHSXYlf64wqmuQ==
-  dependencies:
-    ajv "5.5.2"
-    brace "0.11.1"
-    javascript-natural-sort "0.7.1"
-    jmespath "0.15.0"
-    json-source-map "0.4.0"
-    mobius1-selectr "2.4.10"
-    picomodal "3.0.0"
-    vanilla-picker "2.8.0"
-
-juicy-html@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/juicy-html/-/juicy-html-2.0.0.tgz#a5c111f4f036cd7ab92f6509b323ed6c781a7b62"
-  integrity sha1-pcER9PA2zXq5L2UJsyPtbHgae2I=
-
-kind-of@6.0.2:
-  version "6.0.2"
-  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
-  integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
-
-lit-element@^2.1.0:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-2.2.1.tgz#79c94d8cfdc2d73b245656e37991bd1e4811d96f"
-  integrity sha512-ipDcgQ1EpW6Va2Z6dWm79jYdimVepO5GL0eYkZrFvdr0OD/1N260Q9DH+K5HXHFrRoC7dOg+ZpED2XE0TgGdXw==
-  dependencies:
-    lit-html "^1.0.0"
-
-lit-html@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-1.1.1.tgz#186ed6abcc70c0d24e1132b37411c3b2645ed1aa"
-  integrity sha512-1WqhkPpj+CKwLRXCCbyRGnWkcFKE4ft2+j8C2zaXwFUK9I2vYDzTuDGPh0H9hZcDBEwoe6YpPC8AO5734EPORQ==
-
-loader-utils@^1.0.2:
-  version "1.2.3"
-  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
-  integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
-  dependencies:
-    big.js "^5.2.2"
-    emojis-list "^2.0.0"
-    json5 "^1.0.1"
-
-marked@~0.3.9:
-  version "0.3.19"
-  resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790"
-  integrity sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==
-
-minimist@1.2.0, minimist@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
-  integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
-
-mobius1-selectr@2.4.10:
-  version "2.4.10"
-  resolved "https://registry.yarnpkg.com/mobius1-selectr/-/mobius1-selectr-2.4.10.tgz#98f29116e9461b7be19b8f380dabd7dc1253a861"
-  integrity sha512-U/pQ8jZwO7z3Mf9OYzJR6AKfleF5jSBIueKKxGMr/tgyLuTWgchgFyeaXpAIz3Cbp+7eIN1hw5D2gxc4cNnOkQ==
-
-monaco-editor@^0.15.0:
-  version "0.15.6"
-  resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.15.6.tgz#d63b3b06f86f803464f003b252627c3eb4a09483"
-  integrity sha512-JoU9V9k6KqT9R9Tiw1RTU8ohZ+Xnf9DMg6Ktqqw5hILumwmq7xqa/KLXw513uTUsWbhtnHoSJYYR++u3pkyxJg==
-
-msr@^1.3.4:
-  version "1.3.4"
-  resolved "https://registry.yarnpkg.com/msr/-/msr-1.3.4.tgz#489458468d5385e6ac1b2e112a8724a844314fa2"
-  integrity sha1-SJRYRo1TheasGy4RKockqEQxT6I=
-
-object-assign@4.1.1:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
-  integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
-
-once@1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
-  integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
-  dependencies:
-    wrappy "1"
-
-openseadragon@^2.4.0:
-  version "2.4.1"
-  resolved "https://registry.yarnpkg.com/openseadragon/-/openseadragon-2.4.1.tgz#91fda5245558f5e4f939c2173bdf582359154b21"
-  integrity sha512-7fWUnCkGvWcnoRxqeXcg4bSLPApWbI0hHumEZF8K2pziMfPNjvvHL5XB4oQeT2XfrGKfaasVrPe2XqhAr5kogA==
-
-paper-collapse-item@^4.0.4:
-  version "4.0.5"
-  resolved "https://registry.yarnpkg.com/paper-collapse-item/-/paper-collapse-item-4.0.5.tgz#fd1663787f11d53d934cb1a0a555fae879373d4d"
-  integrity sha512-yiUtrW/7zM0PRFwRrvsL2RLj/DYk5361A7a64c1znYq6lXCVMJtueyOcevuhgH3IHJDh+A1fFP1OglUY8IOPog==
-  dependencies:
-    "@polymer/iron-collapse" "^3.0.1"
-    "@polymer/iron-icons" "^3.0.1"
-    "@polymer/paper-icon-button" "^3.0.1"
-    "@polymer/paper-item" "^3.0.1"
-    "@polymer/paper-styles" "^3.0.1"
-    "@polymer/polymer" "^3.0.5"
-
-picomodal@3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/picomodal/-/picomodal-3.0.0.tgz#facd30f4fbf34a809c1e04ea525f004f399c0b82"
-  integrity sha1-+s0w9PvzSoCcHgTqUl8ATzmcC4I=
-
-punycode@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
-  integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
-
-readable-stream@1.1.14:
-  version "1.1.14"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
-  integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
-  dependencies:
-    core-util-is "~1.0.0"
-    inherits "~2.0.1"
-    isarray "0.0.1"
-    string_decoder "~0.10.x"
-
-schema-utils@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
-  integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==
-  dependencies:
-    ajv "^6.1.0"
-    ajv-errors "^1.0.0"
-    ajv-keywords "^3.1.0"
-
-screenfull@^4.2.0:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-4.2.1.tgz#3245b7bc73d2b7c9a15bd8caaf6965db7cbc7f04"
-  integrity sha512-PLSp6f5XdhvjCCCO8OjavRfzkSGL3Qmdm7P82bxyU8HDDDBhDV3UckRaYcRa/NDNTYt8YBpzjoLWHUAejmOjLg==
-
-source-map@0.5.7:
-  version "0.5.7"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
-  integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
-
-string_decoder@~0.10.x:
-  version "0.10.31"
-  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
-  integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
-
-uri-js@^4.2.2:
-  version "4.2.2"
-  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
-  integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
-  dependencies:
-    punycode "^2.1.0"
-
-vanilla-picker@2.8.0:
-  version "2.8.0"
-  resolved "https://registry.yarnpkg.com/vanilla-picker/-/vanilla-picker-2.8.0.tgz#e01121c38e2af6827224311f70cf5a023235d0e9"
-  integrity sha512-NPBxrtLi2LA2mEyRLW+Lyt7Eqtm0t0SmKqscE5RaugXLtJXXjPzy6r65fqLiQkhRc2WoLnmj2m/EnTWKN4hL+g==
-  dependencies:
-    "@sphinxxxx/color-conversion" "^2.2.1"
-    drag-tracker "^1.0.0"
-
-web-animations-js@2.3.1, web-animations-js@^2.3.1:
-  version "2.3.1"
-  resolved "https://registry.yarnpkg.com/web-animations-js/-/web-animations-js-2.3.1.tgz#3a6d9bc15196377a90f8e2803fa5262165b04510"
-  integrity sha1-Om2bwVGWN3qQ+OKAP6UmIWWwRRA=
-
-wrappy@1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
-  integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
diff --git a/README.md b/README.md
old mode 100755
new mode 100644
index 8fb1215cc44fe23e636b5d904410cc957219bc90..de16acbe0199eabf86481facaab76c834e653de2
--- a/README.md
+++ b/README.md
@@ -1,19 +1,22 @@
 ## Usage
 
 This should give you the dependencies you need to get going.
-1. Enable the Web components module and any dependencies it requires.
-2. The default is to serve JS assets up from a CDN. Should you need to change this
+1. Enable the Web components module
+2. The default is to serve JS assets up from a CDN.
+   Should you need to change this keep reading into building your own assets.
 
+NOTE on Text Formats: Web components are designed to work with nodes with bodies in the
+default Full HTML format where "Limit allowed HTML tags and correct faulty HTML"
+is unchecked, or with formats with similarly permissive settings.
 
-# Front end Developers
-You may build Web components from source if needed. We default to use CDNs which will effectively point to
-this directory or some mutation of it -- https://github.com/elmsln/HAXcms/tree/master/build
+### Developer settings
+There are some non-UI based settings that developers can set if they are running into issues with complex integrations that are environment specific. If they need to serve build.js locally as opposed to via CDN, when leveraging a CDN, then `$settings['webcomponents_project_local_build_file'] = true;` can be used to achieve this in settings.php. This can also be useful if you've forked the recommended build.js file that comes from our supported unbundled-build routine.
+
+## Proxie environments
+To upload media in a proxied environment you may need to add `$settings['base_url'] = "https://yourdomain.com";` to `settings.php` which has the actual full base url to the server. Most configurations this setting won't be needed but in testing proxies can cause issues as far as how this address is default configured in Drupal.
 
-If you want to build everything from source, your welcome to use yarn / npm to do so though our
-build routine effectively will end in the same net result.  If you want to do custom build routines
-such as rollup or webpack and not use our prebuilt copies / split build approaches, then your welcome
-to check the box related to not loading front end assets in the settings page in order to tailor
-the build to your specific needs.
+# Front end Developers
+If you want to build locally in order to add your own custom web components then we've built our unbundled builds tooling to simplify this -- https://github.com/elmsln/unbundled-webcomponents
 
 ## Getting dependencies
 You need polymer cli (not polymer but the CLI library) in order to interface with web components in your site. Get polymer cli installed prior to usage of this (and (yarn)[https://yarnpkg.com/lang/en/docs/install/#mac-stable] / an npm client of some kind)
@@ -24,96 +27,16 @@ Perform this on your computer locally, this doesn't have to be installed on your
 
 ## Usage
 
-- Find `CopyThisStuff` directory in `/sites/all/modules/webcomponents`.
+- Find https://github.com/elmsln/unbundled-webcomponents and run the tooling to create your build (`yarn install` then `yarn run build`)
 - create a `/sites/all/libraries/webcomponents` directory
-- copy the files from `CopyThisStuff` into `/sites/all/libraries/webcomponents`
-
-Then run the following (from the directory you copied it over to) in order to get dependencies:
-```bash
-$ yarn install
-```
-Now run `polymer build` and you'll have files in `build/` which contain everything you'll need to get wired up to web components in your site. Modifying build.js or package.json can be used in order to get new elements and have them be implemented.
+- copy the files from https://github.com/elmsln/unbundled-webcomponents into `/sites/all/libraries/webcomponents`
 
 ### Shouldn't I put web components in my theme?
-We don't think so. While it may seem counter intuitive, the theme layer should be effectively implementing what the site is saying is available. If you think of standard HTML tags are being part of this (p, div, a, etc) then it makes a bit more sense. You don't want functional HTML components to ONLY be supplied if your theme is there, you want your theme to implement and leverage the components.
+We don't think so. While it may seem counter intuitive, the theme layer should be effectively implementing what the site is saying is available. If you think of standard HTML tags are being part of this (p, div, a, etc) then it makes a bit more sense. You don't want functional HTML components to ONLY be supplied if your theme is there, you want your theme to implement and leverage the components. Our autoloading script will automatically hydrate web components that are detected.
 
 ## New to web components?
-We built our own tooling to take the guess work out of creating, publishing and testing web components. We highly recommend you use this tooling though it's not required:
+We built our own tooling to take the guess work out of creating, publishing and testing web components for HAX and other projects. We highly recommend you use this tooling though it's not required:
 - https://open-wc.org - great, simple tooling and open community resource
-- https://github.com/elmsln/wcfactory - Build your own web component library
-- https://github.com/elmsln/lrnwebcomponents - Our invoking of this tooling to see what a filled out repo looks like
-
-## Single Page app development (webcomponents_app sub-module)
-You can turbo charge you single page app development workflows with Drupal and the webcomponents_app sub-module! The workflow involving this is that you can do all of your development via a one-page polymer app and then integration into Drupal comes in the form of writing a single data callback function (for simple apps, obviously). So, here's the workflow for an example app called `phone-book`:
-- Make a polymer one page app and save it to one of the following:
-  - sites/all/libraries/polymer/apps/`phone-book`
-  - sites/all/modules/`custom_phonebook_module`/apps/`phone-book` (or any other valid module location in the apps directory)
-- Go into your one page app directory, and edit the manifest.json file.
-  - Add a property called 'title' and name it what you want it to be called in Drupal
-  - (optional but probably what you want) edit your `manifest.json` file so it looks more like this:
-```
-{
-  "name": "phone-book",
-  "short_name": "phone-book",
-  "description": "An app for loading phone numbers and making them searchable",
-  "start_url": "/",
-  "display": "standalone",
-  "title": "Phone Book App",
-  "app_integration": {
-    "menu": {
-      "menu_name": "main-menu",
-      "weight": 10
-    },
-    "endpoints": {
-      "api/numbers": {
-        "callback": "_custom_phonebook_module_numbers",
-        "property": "source-path"
-      }
-      "api/numbers/%": {
-        "callback": "_custom_phonebook_module_number"
-        "property": "source-path"
-      },
-      "api/numbers/%/call": {
-        "callback": "_custom_phonebook_module_number_call"
-        "property": "source-path"
-      },
-      "api/numbers/%/text": {
-        "callback": "_custom_phonebook_module_number_text"
-        "property": "source-path"
-      }
-    }
-  }
-}
-```
-- Note that menu will provide the ability for the app to be visible in Drupal's menu system, in this example the main menu. Weight is the order it falls in that menu.
-- If you need a data callback to power your app, then the `endpoints` property is for you. `endpoints` has two parameters, callback and property.
-  - `callback` is the php function to call in order to return the data needed. If all goes well, this is probably the most "drupal" specific stuff you have to do today.
-  - `property` is the property your webcomponent is looking for data from. For example. if you have a one page tag called `<phone-book>` and phone-book gets data by using `source-path="whatever.json"` then property would be `source-path`.
-  - Wildcard routes are supported by using the `%` placeholder when defining your routes. You can access the wildcard value via the `arg()` function your defined callback. For instance, if your route is `api/numbers/%/call` then you would access
-  the wildcard value in your function like so:
-  ```
-  function _custom_phonebook_module_number_call($machine_name, $path, $params, $args) {
-    $args = arg();
-    $number = arg[2]
-    ...
-  }
-  ```
-- Now when you clear your caches and have these files pushed up, the following will happen automatically!
-1. A permission called `access phone-book app` will be created
-2. A menu path called `apps/phone-book` will be created and will load your element if accessed
-3. A menu item called "Phone book" will show up in the main menu that links to `apps/phone-book`
-4. For each `endpoint` you have defined menu callback paths will be created and will return your data delivered by the function you've specified. So `apps/phone-book/api/numbers` will be created and fed data via `_custom_phonebook_module_numbers`.
-5. You will be incredibly happy with how little Drupal specific work your front-end designer just had to do!
-
-### A note on data returned by that PHP function
-Returned data should look like the following since it gets ripped into json:
-```
-$phone_book = array(
-    array('Joe', 'Cool', '555-867-5309'),
-    array('Jill', 'Cool', '554-867-5309'),
-);
-return array(
-  'status' => 200,
-  'data' => $phone_book
-);
-```
\ No newline at end of file
+- https://github.com/elmsln/unbundled-webcomponents - build for lazy loading in any application, Drupal or otherwise
+- https://github.com/elmsln/wcfactory - Build your own web component library at scale
+- https://github.com/elmsln/lrnwebcomponents - Our invoking of this tooling to see what a filled out repo looks like
\ No newline at end of file
diff --git a/WebComponentsService.php b/WebComponentsService.php
deleted file mode 100755
index a8e29eae2caf187b53e83954878a13fa8ae2ca07..0000000000000000000000000000000000000000
--- a/WebComponentsService.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-/**
- * Class for implementing web component polyfills and other header aspects in a uniform manner
- */
-class WebComponentsService {
-  /**
-   * This applies all pieces of a standard build appended to the header
-   */
-  public function applyWebcomponents($directory = '/', $files = array('build.js')) {
-    return 
-      $this->getBuild($directory, $files);
-  }
-  /**
-   * Front end logic for ES5-AMD, ES6-AMD, ES6 version to deliver
-   */
-  public function getBuild($directory  = '/', $files = array('build.js')) {
-    $es5 = array();
-    $es6Amd = array();
-    $es6 = array();
-    foreach ($files as $file) {
-      array_push($es5, 'cdn + "build/es5-amd/' . $file . '"');
-      array_push($es6Amd, 'cdn + "build/es6-amd/' . $file . '"');
-      array_push($es6, 'import "' . $directory . 'build/es6/' . $file . '";');
-    }
-    return '<script>var cdn="' . $directory . '";var old=false;
-    try { new Function(\'import("")\'); } catch (err) {
-      if (typeof Symbol == "undefined") { // IE 11, at least try to serve the components
-        if (!(window.ActiveXObject) && "ActiveXObject" in window) {
-          "use strict"; (function () { function a(a, b, c) { var d = a; if (d.state = b, d.stateData = c, 0 < d.onNextStateChange.length) { var e = d.onNextStateChange.slice(); d.onNextStateChange.length = 0; for (var f, g = 0, h = e; g < h.length; g++)f = h[g], f() } return d } function b(b) { function d() { try { document.head.removeChild(f) } catch (a) { } } var e = a(b, "Loading", void 0), f = document.createElement("script"); return f.src = b.url, f.onload = function () { var a, b, f; void 0 === r ? (b = [], f = void 0) : (a = r(), b = a[0], f = a[1]), c(e, b, f), d() }, f.onerror = function () { g(b, new TypeError("Failed to fetch " + b.url)), d() }, document.head.appendChild(f), e } function c(b, c, e) { var f = d(b, c), g = f[0], h = f[1]; return a(b, "WaitingForTurn", { args: g, deps: h, moduleBody: e }) } function d(a, c) { for (var e, f = [], g = [], i = 0, j = c; i < j.length; i++) { if (e = j[i], "exports" === e) { f.push(a.exports); continue } if ("require" === e) { f.push(function (b, c, e) { var f = d(a, b), g = f[0], i = f[1]; h(i, function () { c && c.apply(null, g) }, e) }); continue } if ("meta" === e) { f.push({ url: !0 === a.isTopLevel ? a.url.substring(0, a.url.lastIndexOf("#")) : a.url }); continue } var l = k(n(a.urlBase, e)); f.push(l.exports), g.push(l), "Initialized" === l.state && b(l) } return [f, g] } function e(b) { var c = a(b, "WaitingOnDeps", b.stateData); return h(b.stateData.deps, function () { return f(c) }, function (a) { return g(c, a) }), c } function f(b) { var c = b.stateData; if (null != c.moduleBody) try { c.moduleBody.apply(null, c.args) } catch (a) { return g(b, a) } return a(b, "Executed", void 0) } function g(b, c) { return !0 === b.isTopLevel && setTimeout(function () { throw c }), a(b, "Failed", c) } function h(a, b, c) { var d = a.shift(); return void 0 === d ? void (b && b()) : "WaitingOnDeps" === d.state ? (!1, void h(a, b, c)) : void i(d, function () { h(a, b, c) }, c) } function i(a, b, c) { switch (a.state) { case "WaitingForTurn": return e(a), void i(a, b, c); case "Failed": return void (c && c(a.stateData)); case "Executed": return void b(); case "Loading": case "WaitingOnDeps": return void a.onNextStateChange.push(function () { return i(a, b, c) }); case "Initialized": throw new Error("All dependencies should be loading already before pressureDependencyToExecute is called."); default: throw new Error("Impossible module state: " + a.state); } } function j(a, b) { switch (a.state) { case "Executed": case "Failed": return void b(); default: a.onNextStateChange.push(function () { return j(a, b) }); } } function k(a) { var b = q[a]; return void 0 === b && (b = q[a] = { url: a, urlBase: m(a), exports: Object.create(null), state: "Initialized", stateData: void 0, isTopLevel: !1, onNextStateChange: [] }), b } function l(a) { return v.href = a, v.href } function m(a) { return a = a.split("?")[0], a = a.split("#")[0], a.substring(0, a.lastIndexOf("/") + 1) } function n(a, b) { return -1 === b.indexOf("://") ? l("/" === b[0] ? b : a + b) : b } function o() { return document.baseURI || (document.querySelector("base") || window.location).href } function p() { var b = document.currentScript; if (!b) return u; if (window.HTMLImports) { var c = window.HTMLImports.importForElement(b); return c ? c.href : u } var d = b.ownerDocument.createElement("a"); return d.href = "", d.href } if (!window.define) { var q = Object.create(null), r = void 0, s = 0, t = void 0, u = o(); window.define = function (a, b) { var d = !1; r = function () { return d = !0, r = void 0, [a, b] }; var f = p(); setTimeout(function () { if (!1 == d) { r = void 0; var g = f + "#" + s++, h = k(g); h.isTopLevel = !0; var i = c(h, a, b); void 0 === t ? e(i) : j(k(t), function () { e(i) }), t = g } }, 0) }, window.define._reset = function () { for (var a in q) delete q[a]; r = void 0, s = 0, t = void 0, u = o() }; var v = document.createElement("a") } })();
-          var defs = [
-            cdn + "build/es5-amd/node_modules/web-animations-js/web-animations-next-lite.min.js",
-            cdn + "build/es5-amd/node_modules/promise-polyfill/dist/polyfill.min.js",
-            cdn + "build/es5-amd/node_modules/fetch-ie8/fetch.js",
-            cdn + "babel/babel-top.js"
-          ];
-          defs.push(' . implode(',', $es5) . ');
-          define(defs, function () { "use strict" });
-          define([cdn + "build/es5-amd/node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js"], function () { "use strict" });
-        }
-      }
-      else {
-        "use strict"; (function () { function a(a, b, c) { var d = a; if (d.state = b, d.stateData = c, 0 < d.onNextStateChange.length) { var e = d.onNextStateChange.slice(); d.onNextStateChange.length = 0; for (var f, g = 0, h = e; g < h.length; g++)f = h[g], f() } return d } function b(b) { function d() { try { document.head.removeChild(f) } catch (a) { } } var e = a(b, "Loading", void 0), f = document.createElement("script"); return f.src = b.url, f.onload = function () { var a, b, f; void 0 === r ? (b = [], f = void 0) : (a = r(), b = a[0], f = a[1]), c(e, b, f), d() }, f.onerror = function () { g(b, new TypeError("Failed to fetch " + b.url)), d() }, document.head.appendChild(f), e } function c(b, c, e) { var f = d(b, c), g = f[0], h = f[1]; return a(b, "WaitingForTurn", { args: g, deps: h, moduleBody: e }) } function d(a, c) { for (var e, f = [], g = [], i = 0, j = c; i < j.length; i++) { if (e = j[i], "exports" === e) { f.push(a.exports); continue } if ("require" === e) { f.push(function (b, c, e) { var f = d(a, b), g = f[0], i = f[1]; h(i, function () { c && c.apply(null, g) }, e) }); continue } if ("meta" === e) { f.push({ url: !0 === a.isTopLevel ? a.url.substring(0, a.url.lastIndexOf("#")) : a.url }); continue } var l = k(n(a.urlBase, e)); f.push(l.exports), g.push(l), "Initialized" === l.state && b(l) } return [f, g] } function e(b) { var c = a(b, "WaitingOnDeps", b.stateData); return h(b.stateData.deps, function () { return f(c) }, function (a) { return g(c, a) }), c } function f(b) { var c = b.stateData; if (null != c.moduleBody) try { c.moduleBody.apply(null, c.args) } catch (a) { return g(b, a) } return a(b, "Executed", void 0) } function g(b, c) { return !0 === b.isTopLevel && setTimeout(function () { throw c }), a(b, "Failed", c) } function h(a, b, c) { var d = a.shift(); return void 0 === d ? void (b && b()) : "WaitingOnDeps" === d.state ? (!1, void h(a, b, c)) : void i(d, function () { h(a, b, c) }, c) } function i(a, b, c) { switch (a.state) { case "WaitingForTurn": return e(a), void i(a, b, c); case "Failed": return void (c && c(a.stateData)); case "Executed": return void b(); case "Loading": case "WaitingOnDeps": return void a.onNextStateChange.push(function () { return i(a, b, c) }); case "Initialized": throw new Error("All dependencies should be loading already before pressureDependencyToExecute is called."); default: throw new Error("Impossible module state: " + a.state); } } function j(a, b) { switch (a.state) { case "Executed": case "Failed": return void b(); default: a.onNextStateChange.push(function () { return j(a, b) }); } } function k(a) { var b = q[a]; return void 0 === b && (b = q[a] = { url: a, urlBase: m(a), exports: Object.create(null), state: "Initialized", stateData: void 0, isTopLevel: !1, onNextStateChange: [] }), b } function l(a) { return v.href = a, v.href } function m(a) { return a = a.split("?")[0], a = a.split("#")[0], a.substring(0, a.lastIndexOf("/") + 1) } function n(a, b) { return -1 === b.indexOf("://") ? l("/" === b[0] ? b : a + b) : b } function o() { return document.baseURI || (document.querySelector("base") || window.location).href } function p() { var b = document.currentScript; if (!b) return u; if (window.HTMLImports) { var c = window.HTMLImports.importForElement(b); return c ? c.href : u } var d = b.ownerDocument.createElement("a"); return d.href = "", d.href } if (!window.define) { var q = Object.create(null), r = void 0, s = 0, t = void 0, u = o(); window.define = function (a, b) { var d = !1; r = function () { return d = !0, r = void 0, [a, b] }; var f = p(); setTimeout(function () { if (!1 == d) { r = void 0; var g = f + "#" + s++, h = k(g); h.isTopLevel = !0; var i = c(h, a, b); void 0 === t ? e(i) : j(k(t), function () { e(i) }), t = g } }, 0) }, window.define._reset = function () { for (var a in q) delete q[a]; r = void 0, s = 0, t = void 0, u = o() }; var v = document.createElement("a") } })();
-        var defs = [
-          cdn + "build/es6-amd/node_modules/web-animations-js/web-animations-next-lite.min.js",
-          cdn + "babel/babel-top.js"
-        ];
-        if (window.customElements) { // certain FF / Safari versions
-          defs.push(cdn + "build/es6-amd/node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js");
-        }
-        else {
-          defs.push(cdn + "build/es6-amd/node_modules/promise-polyfill/dist/polyfill.min.js");
-          defs.push(cdn + "build/es6-amd/node_modules/fetch-ie8/fetch.js");
-          defs.push(cdn + "build/es6-amd/node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js");
-        }
-        defs.push(' . implode(',', $es6Amd) . ');
-        define(defs, function () { "use strict" });
-      }
-      old=true;
-    }
-  </script>
-  <script>if(old)document.write(\'<!--\');</script>
-  <script async defer type="module">
-    ' . implode("\n", $es6) . '
-  </script>
-  <script async src="' . $directory . 'build/es6/node_modules/web-animations-js/web-animations-next-lite.min.js">
-  //<!--! do not remove -->
-  </script>';
-  }
-}
\ No newline at end of file
diff --git a/config/install/webcomponents.settings.yml b/config/install/webcomponents.settings.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d009496f4eb1d5cf78cd42fec60777f98f6d9e71
--- /dev/null
+++ b/config/install/webcomponents.settings.yml
@@ -0,0 +1,3 @@
+webcomponents_project_location: 'https://cdn.webcomponents.psu.edu/cdn/'
+webcomponents_project_location_other: ''
+webcomponents_project_local_build_file: false
\ No newline at end of file
diff --git a/config/schema/webcomponents.schema.yml b/config/schema/webcomponents.schema.yml
new file mode 100644
index 0000000000000000000000000000000000000000..266cfe00ad681d5c576bba23ac47a2b71a3e263e
--- /dev/null
+++ b/config/schema/webcomponents.schema.yml
@@ -0,0 +1,10 @@
+webcomponents.settings:
+  type: mapping
+  label: Settings
+  mapping:
+    webcomponents_project_location:
+      type: string
+    webcomponents_project_location_other:
+      type: string
+    webcomponents_project_local_build_file:
+      type: boolean
\ No newline at end of file
diff --git a/js/webcomponents-behaviors.js b/js/webcomponents-behaviors.js
new file mode 100644
index 0000000000000000000000000000000000000000..a830cb1e6bcac366fd34721a900424e67e8ff68f
--- /dev/null
+++ b/js/webcomponents-behaviors.js
@@ -0,0 +1,9 @@
+(function (Drupal) {
+  Drupal.behaviors.WebcomponentsAutoloadBehavior = {
+    attach: function (context, settings) {
+      if (window.WCAutoload && window.WCAutoload.process) {
+        window.WCAutoload.process();
+      }
+    }
+  };
+})(Drupal);
\ No newline at end of file
diff --git a/src/Form/WebcomponentsSettings.php b/src/Form/WebcomponentsSettings.php
new file mode 100644
index 0000000000000000000000000000000000000000..49d69092f7a01b3dd686eac7ad0447aa7c95270f
--- /dev/null
+++ b/src/Form/WebcomponentsSettings.php
@@ -0,0 +1,74 @@
+<?php
+
+namespace Drupal\webcomponents\Form;
+
+use Drupal\Core\Form\ConfigFormBase;
+use Drupal\Core\Form\FormStateInterface;
+use Drupal\Core\Link;
+use Drupal\Core\Render\Element;
+use Drupal\Core\Url;
+
+/**
+ * Class WebcomponentsSettings.
+ *
+ * @package Drupal\webcomponents\Form
+ */
+class WebcomponentsSettings extends ConfigFormBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getFormId() {
+    return 'webcomponents_settings';
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function submitForm(array &$form, FormStateInterface $form_state) {
+    $config = $this->config('webcomponents.settings');
+    foreach (Element::children($form) as $variable) {
+      $value = $form_state->getValue($form[$variable]['#parents']);
+      $config->set($variable, $value);
+    }
+    $config->save();
+
+    if (method_exists($this, '_submitForm')) {
+      $this->_submitForm($form, $form_state);
+    }
+
+    parent::submitForm($form, $form_state);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildForm(array $form, FormStateInterface $form_state) {
+    $config = $this->config('webcomponents.settings');
+    $form['webcomponents_project_location'] = [
+      '#type' => 'select',
+      '#title' => $this->t('Webcomponents Location'),
+      '#default_value' => $config->get('webcomponents_project_location'),
+      '#description' => $this->t("Use this to point to CDNs or if you've installed your web components some place else. Start without a slash and end with a slash."),
+      '#options' => array(
+        'https://cdn.webcomponents.psu.edu/cdn/' => $this->t('Penn state CDN'),
+        'https://cdn.waxam.io/' => $this->t('WaxaM CDN'),
+        base_path() . 'sites/all/libraries/webcomponents' => $this->t('Local (sites/all/libraries/webcomponents)'),
+        'other' => $this->t('Other (listed below)'),
+      )
+    ];
+    $form['webcomponents_project_location_other'] = [
+      '#type' => 'textfield',
+      '#title' => $this->t('Other Location'),
+      '#default_value' => $config->get('webcomponents_project_location_other'),
+      '#description' => $this->t("Only use this if you need to use a source other than the above supported options."),
+    ];
+    return parent::buildForm($form, $form_state);
+  }
+  /**
+   * {@inheritdoc}
+   */
+  protected function getEditableConfigNames() {
+    return ['webcomponents.settings'];
+  }
+}
diff --git a/webcomponents.info.yml b/webcomponents.info.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0ab64e3fa62998ab3089e46300505ce4133220cb
--- /dev/null
+++ b/webcomponents.info.yml
@@ -0,0 +1,5 @@
+name: Web components
+description: 'Provides web components integration with Drupal'
+type: module
+core: 8.x
+core_version_requirement: ^8 || ^9
diff --git a/webcomponents.install b/webcomponents.install
new file mode 100644
index 0000000000000000000000000000000000000000..5c7f1e86447edfdd23991888a8b590b46b54aa01
--- /dev/null
+++ b/webcomponents.install
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * @file
+ * Web components install hooks.
+ */
+
+/**
+ * Implements hook_install().
+ */
+function webcomponents_install() {
+  \Drupal::messenger()->addStatus(t('To use web components in the body field of content, make sure you have an input filter enabled to allow full HTML or valids custom elements. The default is to serve web components over a CDN but if you want to do your own custom build do https://github.com/elmsln/unbundled-webcomponents'));
+}
diff --git a/webcomponents.libraries.yml b/webcomponents.libraries.yml
new file mode 100644
index 0000000000000000000000000000000000000000..666b266416eeda2d46c03d629004f70dfde2ab04
--- /dev/null
+++ b/webcomponents.libraries.yml
@@ -0,0 +1,3 @@
+webcomponents-behaviors:
+  js:
+    js/webcomponents-behaviors.js: {}
\ No newline at end of file
diff --git a/webcomponents.links.menu.yml b/webcomponents.links.menu.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d61be1c01ad409509c150ca9482fe2c235a694ef
--- /dev/null
+++ b/webcomponents.links.menu.yml
@@ -0,0 +1,5 @@
+webcomponents.settings:
+  route_name: webcomponents.settings
+  title: Web components
+  description: 'Set CDN / entry point location for web components.'
+  parent: system.admin_config_content
diff --git a/webcomponents.module b/webcomponents.module
new file mode 100644
index 0000000000000000000000000000000000000000..5d4e608346cf9df9f2a016ea4e909bc0a982fcc4
--- /dev/null
+++ b/webcomponents.module
@@ -0,0 +1,126 @@
+<?php
+
+/**
+ * @file
+ * Web components integration with Drupal
+ */
+
+use Drupal\Core\Site\Settings;
+use Drupal\webcomponents\HaxService;
+
+function webcomponents_page_attachments_alter(array &$page) {
+  $preconnect = array(
+    'https://fonts.googleapis.com',
+    'https://cdnjs.cloudflare.com',
+    'https://i.creativecommons.org',
+    'https://licensebuttons.net'
+  );
+  $config = \Drupal::config('webcomponents.settings');
+  $base = $config->get('webcomponents_project_location');
+  if ($config->get('webcomponents_project_location') == 'sites/all/libraries/webcomponents/') {
+    $base = base_path() . $config->get('webcomponents_project_location');
+  }
+  else if ($config->get('webcomponents_project_location') != base_path() . 'sites/all/libraries/webcomponents/') {
+    $preconnect[] = $config->get('webcomponents_project_location');
+  }
+  $loader = array(
+    "preconnect" => $preconnect,
+    "preload" => array(
+      $base . "build.js",
+      $base . "wc-registry.json",
+      $base . "build/es6/node_modules/web-animations-js/web-animations-next-lite.min.js",
+    ),
+    "modulepreload" => array(
+      $base . "build/es6/node_modules/@lrnwebcomponents/wc-autoload/wc-autoload.js",
+      $base . "build/es6/node_modules/@lrnwebcomponents/dynamic-import-registry/dynamic-import-registry.js"
+    )
+  );
+  foreach ($loader as $rel => $data) {
+    foreach ($data as $key => $src) {
+      $tag = array(
+        '#type' => 'html_tag',
+        '#tag' => 'link',
+        '#attributes' => array(
+          'rel' => $rel,
+          'href' => $src,
+        ),
+      );
+      if ($rel == "preload") {
+        $tag['#attributes']['as'] = 'script';
+        if ($src == $base . "wc-registry.json") {
+          $tag['#attributes']['as'] = 'fetch';
+          $tag['#attributes']['crossorigin'] = "anonymous";
+        }
+      }
+      if ($rel == "modulepreload") {
+        $tag2 = array(
+          '#type' => 'html_tag',
+          '#tag' => 'link',
+          '#attributes' => array(
+            'rel' => "preload",
+            'href' => $src,
+            'as' => "script",
+            'crossorigin' => "anonymous"
+          ),
+        );
+        $page['#attached']['html_head'][] = [$tag2, 'webcomponents-tag2-preload-' . $key];
+      }
+      $page['#attached']['html_head'][] = [$tag, 'webcomponents-tag-' . $rel . $key];
+    }
+  }
+}
+
+/**
+ * Implements hook_page_bottom().
+ *
+ * Load all attachments for this page.
+ */
+function webcomponents_page_bottom(array &$page_bottom) {
+  // if the HAX module set this already then just defer to that
+  $location = \Drupal::config('webcomponents.settings')->get('webcomponents_project_location');
+  // account for custom locations
+  if ($location == 'other') {
+    $location = \Drupal::config('webcomponents.settings')->get('webcomponents_project_location_other');
+  }
+  if ($location == 'sites/all/libraries/webcomponents/') {
+    $location = base_path() . 'sites/all/libraries/webcomponents/';
+  }
+  $buildLocation = $location;
+  // support for build file to come local but assets via CDN
+  if (\Drupal::config('webcomponents.settings')->get('webcomponents_project_local_build_file')) {
+    $buildLocation = base_path() . 'sites/all/libraries/webcomponents/';
+  }
+  $wc = new WebComponentsService();
+  $page_bottom['webcomponents'] = [
+    '#type' => 'inline_template',
+    '#template' => '{{ somecontent|raw }}',
+    '#context' => [
+      'somecontent' => $wc->applyWebcomponents($buildLocation, $location)
+    ],
+    '#attached' => [
+      'library' => [
+        'webcomponents/webcomponents-behaviors' => 'webcomponents/webcomponents-behaviors'
+      ]
+    ]
+  ];
+}
+
+/**
+ * Class for implementing web component polyfills and other header aspects in a uniform manner
+ */
+class WebComponentsService {
+  /**
+   * This applies all pieces of a standard build appended to the header
+   */
+  public function applyWebcomponents($directory = '/', $cdn = '/') {
+    return $this->getBuild($directory, "false", $cdn);
+  }
+  /**
+   * Front end logic for ES5-AMD, ES6-AMD, ES6 version to deliver
+   */
+  public function getBuild($directory  = '/', $forceUpgrade = "false", $cdn = '/') {
+    return '
+    <script>window.__appCDN="' . $cdn . '";window.__appForceUpgrade=' . $forceUpgrade . ';</script>
+    <script src="' . $directory . 'build.js"></script>';
+  }
+}
diff --git a/webcomponents.routing.yml b/webcomponents.routing.yml
new file mode 100644
index 0000000000000000000000000000000000000000..51b5d4e9c23ac3076790d77eb9c2f3a46efba633
--- /dev/null
+++ b/webcomponents.routing.yml
@@ -0,0 +1,7 @@
+webcomponents.settings:
+  path: /admin/config/content/webcomponents
+  defaults:
+    _title: Web components
+    _form: \Drupal\webcomponents\Form\WebcomponentsSettings
+  requirements:
+    _permission: 'administer site configuration'