{"version":3,"sources":["javascripts/polyfill/polyfill.bundle/fetch.js","javascripts/polyfill/polyfill.bundle/string-includes.js","javascripts/polyfill/polyfill.bundle/string-startswith.js","javascripts/polyfill/polyfill.bundle/shim-scroll-to.js"],"names":["undefined","global","nativeURL","URL","error","this","isSequence","o","Symbol","iterator","Array","isArray","toArray","iter","from","prototype","slice","call","origURL","_","urlencoded_serialize","pairs","output","first","forEach","pair","name","encodeURIComponent","value","replace","urlencoded_parse","input","isindex","sequences","split","indexOf","bytes","length","index","substring","push","decodeURIComponent","URLSearchParams","init","$this","_list","String","e","TypeError","nv","Object","keys","key","_url_object","_setList","list","updating","_update_steps","protocol","pathname","search","Iterator","source","kind","done","url","base","href","iframe","doc","toString","window","operamini","document","createElement","style","display","documentElement","appendChild","contentWindow","implementation","createHTMLDocument","createDocument","ActiveXObject","write","close","Error","baseTag","getElementsByTagName","anchor","parentNode","removeChild","instance","URLUtils","self","obj","defineProperties","prop","get","query_object","tidy_instance","update_steps","set","v","enumerable","configurable","origin","host","username","password","re","http:","https:","ftp:","hostname","port","charAt","searchParams","hash","valueOf","append","writable","delete","i","splice","getAll","result","has","found","entries","values","callback","thisArg","arguments","defineProperty","hasOwnProperty","a","orig","n","t","r","exports","id","loaded","m","c","p","0","Promise","err","80","un","B","G","J","u","f","s","C","apply","F","rn","l","S","O","nextTick","h","W","D","next","K","X","U","stack","d","toLowerCase","H","I","listeners","tn","emit","_v","reason","promise","_s","w","en","A","Q","q","T","k","x","N","_next","_p","join","on","g","_c","z","$","longStack","fn","cn","Y","P","b","R","then","E","process","L","console","M","nn","_onFulfilled","_onRejected","y","speciesConstructor","catch","finally","resolve","reject","race","all","constructor","unhandledRejection","rejectionHandled","enableLongStackTrace","setTimeout","j","_umark","support","Blob","viewClasses","isDataView","DataView","isPrototypeOf","isArrayBufferView","ArrayBuffer","isView","normalizeName","test","normalizeValue","iteratorFor","items","shift","Headers","headers","map","header","getOwnPropertyNames","consumed","body","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","bufferClone","buf","view","Uint8Array","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","_bodyBlob","FormData","_bodyFormData","_bodyArrayBuffer","type","rejected","arrayBuffer","text","readAsText","chars","fromCharCode","readArrayBufferAsText","formData","decode","json","JSON","parse","oldValue","methods","Request","options","method","upcased","credentials","mode","toUpperCase","referrer","form","trim","Response","bodyInit","status","ok","statusText","clone","response","redirectStatuses","redirect","RangeError","location","fetch","request","xhr","XMLHttpRequest","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","open","withCredentials","responseType","setRequestHeader","send","polyfill","Event","unlistenableWindowEvents","click","dblclick","keyup","keypress","keydown","mousedown","mouseup","mousemove","mouseover","mouseenter","mouseleave","mouseout","storage","storagecommit","textinput","existingProto","Window","eventInitDict","event","createEvent","bubbles","cancelable","initEvent","createEventObject","addEventListener","Document","Element","element","listener","_events","eventElement","events","preventDefault","returnValue","stopPropagation","cancelBubble","stopImmediatePropagation","cancelImmediate","currentTarget","relatedTarget","fromElement","target","srcElement","timeStamp","Date","getTime","clientX","pageX","scrollLeft","pageY","clientY","scrollTop","attachEvent","removeEventListener","detachEvent","dispatchEvent","cancelBubbleEvent","fireEvent","nodeType","parentWindow","readyState","array","includes","start","startsWith","object","$defineProperty","string","stringLength","searchString","searchLength","position","pos","Number","Math","min","max","charCodeAt","__forceSmoothScrollPolyfill__","userAgent","HTMLElement","original","scroll","scrollTo","scrollBy","elementScroll","scrollElement","scrollIntoView","now","performance","bind","ROUNDING_TOLERANCE","navigator","RegExp","shouldBailOut","smoothScroll","left","scrollX","pageXOffset","top","scrollY","pageYOffset","SyntaxError","behavior","scrollableParent","findScrollableParent","parentRects","getBoundingClientRect","clientRects","getComputedStyle","firstArg","hasScrollableSpace","el","axis","clientHeight","scrollHeight","clientWidth","scrollWidth","canOverflow","overflowValue","isScrollable","isScrollableY","isScrollableX","isBody","step","context","currentX","currentY","elapsed","startTime","cos","PI","startX","startY","scrollable","requestAnimationFrame","module"],"mappings":"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","file":"polyfill.bundle.min.js","sourcesContent":["/* Polyfill service v3.25.1\r\n * For detailed credits and licence information see https://github.com/financial-times/polyfill-service.\r\n *\r\n * source: https://cdn.polyfill.io/v2/polyfill.js?features=fetch,URL&flags=gated&ua=Mozilla/5.0%20(Windows%20NT%206.3;%20Trident/7.0;%20rv:11.0)%20like%20Gecko\r\n * UA detected: ie/11.0.0\r\n * Features requested: URL,fetch\r\n *\r\n * - URL, License: CC0\r\n * - Promise, License: MIT (required by \"fetch\")\r\n * - fetch, License: MIT\r\n * - Event, License: CC0 (required by \"XMLHttpRequest\", \"fetch\") */\r\n\r\n(function(undefined) {\r\n if (!((function(global) {\r\n /*\r\n * Browsers may have:\r\n * No global URL object\r\n * URL with static methods only - may have a dummy constructor\r\n * URL with members except searchParams\r\n * Full URL API support\r\n */\r\n 'use strict';\r\n\r\n try {\r\n var nativeURL = new global.URL('http://example.com');\r\n\r\n return 'href' in nativeURL && 'searchParams' in nativeURL;\r\n } catch (error) {\r\n return false;\r\n }\r\n }(this)))) {\r\n\r\n // URL\r\n // URL Polyfill\r\n // Draft specification: https://url.spec.whatwg.org\r\n\r\n // Notes:\r\n // - Primarily useful for parsing URLs and modifying query parameters\r\n // - Should work in IE8+ and everything more modern, with es5.js polyfills\r\n\r\n (function(global) {\r\n 'use strict';\r\n\r\n function isSequence(o) {\r\n if (!o) return false;\r\n if ('Symbol' in global && 'iterator' in global.Symbol &&\r\n typeof o[Symbol.iterator] === 'function') return true;\r\n if (Array.isArray(o)) return true;\r\n return false;\r\n }\r\n\r\n function toArray(iter) {\r\n return ('from' in Array) ? Array.from(iter) : Array.prototype.slice.call(iter);\r\n }\r\n\r\n (function() {\r\n\r\n // Browsers may have:\r\n // * No global URL object\r\n // * URL with static methods only - may have a dummy constructor\r\n // * URL with members except searchParams\r\n // * Full URL API support\r\n var origURL = global.URL;\r\n var nativeURL;\r\n try {\r\n if (origURL) {\r\n nativeURL = new global.URL('http://example.com');\r\n if ('searchParams' in nativeURL)\r\n return;\r\n if (!('href' in nativeURL))\r\n nativeURL = undefined;\r\n }\r\n } catch (_) {}\r\n\r\n // NOTE: Doesn't do the encoding/decoding dance\r\n\r\n function urlencoded_serialize(pairs) {\r\n var output = '',\r\n first = true;\r\n pairs.forEach(function(pair) {\r\n var name = encodeURIComponent(pair.name);\r\n var value = encodeURIComponent(pair.value);\r\n if (!first) output += '&';\r\n output += name + '=' + value;\r\n first = false;\r\n });\r\n return output.replace(/%20/g, '+');\r\n }\r\n\r\n // NOTE: Doesn't do the encoding/decoding dance\r\n\r\n function urlencoded_parse(input, isindex) {\r\n var sequences = input.split('&');\r\n if (isindex && sequences[0].indexOf('=') === -1)\r\n sequences[0] = '=' + sequences[0];\r\n var pairs = [];\r\n sequences.forEach(function(bytes) {\r\n if (bytes.length === 0) return;\r\n var index = bytes.indexOf('=');\r\n if (index !== -1) {\r\n var name = bytes.substring(0, index);\r\n var value = bytes.substring(index + 1);\r\n } else {\r\n name = bytes;\r\n value = '';\r\n }\r\n name = name.replace(/\\+/g, ' ');\r\n value = value.replace(/\\+/g, ' ');\r\n pairs.push({\r\n name: name,\r\n value: value\r\n });\r\n });\r\n var output = [];\r\n pairs.forEach(function(pair) {\r\n output.push({\r\n name: decodeURIComponent(pair.name),\r\n value: decodeURIComponent(pair.value)\r\n });\r\n });\r\n return output;\r\n }\r\n\r\n function URLUtils(url) {\r\n if (nativeURL)\r\n return new origURL(url);\r\n var anchor = document.createElement('a');\r\n anchor.href = url;\r\n return anchor;\r\n }\r\n\r\n function URLSearchParams(init) {\r\n var $this = this;\r\n this._list = [];\r\n\r\n if (init === undefined || init === null) {\r\n // no-op\r\n } else if (init instanceof URLSearchParams) {\r\n // In ES6 init would be a sequence, but special case for ES5.\r\n this._list = urlencoded_parse(String(init));\r\n } else if (typeof init === 'object' && isSequence(init)) {\r\n toArray(init).forEach(function(e) {\r\n if (!isSequence(e)) throw TypeError();\r\n var nv = toArray(e);\r\n if (nv.length !== 2) throw TypeError();\r\n $this._list.push({\r\n name: String(nv[0]),\r\n value: String(nv[1])\r\n });\r\n });\r\n } else if (typeof init === 'object' && init) {\r\n Object.keys(init).forEach(function(key) {\r\n $this._list.push({\r\n name: String(key),\r\n value: String(init[key])\r\n });\r\n });\r\n } else {\r\n init = String(init);\r\n if (init.substring(0, 1) === '?')\r\n init = init.substring(1);\r\n this._list = urlencoded_parse(init);\r\n }\r\n\r\n this._url_object = null;\r\n this._setList = function(list) {\r\n if (!updating) $this._list = list;\r\n };\r\n\r\n var updating = false;\r\n this._update_steps = function() {\r\n if (updating) return;\r\n updating = true;\r\n\r\n if (!$this._url_object) return;\r\n\r\n // Partial workaround for IE issue with 'about:'\r\n if ($this._url_object.protocol === 'about:' &&\r\n $this._url_object.pathname.indexOf('?') !== -1) {\r\n $this._url_object.pathname = $this._url_object.pathname.split('?')[0];\r\n }\r\n\r\n $this._url_object.search = urlencoded_serialize($this._list);\r\n\r\n updating = false;\r\n };\r\n }\r\n\r\n\r\n Object.defineProperties(URLSearchParams.prototype, {\r\n append: {\r\n value: function(name, value) {\r\n this._list.push({\r\n name: name,\r\n value: value\r\n });\r\n this._update_steps();\r\n },\r\n writable: true,\r\n enumerable: true,\r\n configurable: true\r\n },\r\n\r\n 'delete': {\r\n value: function(name) {\r\n for (var i = 0; i < this._list.length;) {\r\n if (this._list[i].name === name)\r\n this._list.splice(i, 1);\r\n else ++i;\r\n }\r\n this._update_steps();\r\n },\r\n writable: true,\r\n enumerable: true,\r\n configurable: true\r\n },\r\n\r\n get: {\r\n value: function(name) {\r\n for (var i = 0; i < this._list.length; ++i) {\r\n if (this._list[i].name === name)\r\n return this._list[i].value;\r\n }\r\n return null;\r\n },\r\n writable: true,\r\n enumerable: true,\r\n configurable: true\r\n },\r\n\r\n getAll: {\r\n value: function(name) {\r\n var result = [];\r\n for (var i = 0; i < this._list.length; ++i) {\r\n if (this._list[i].name === name)\r\n result.push(this._list[i].value);\r\n }\r\n return result;\r\n },\r\n writable: true,\r\n enumerable: true,\r\n configurable: true\r\n },\r\n\r\n has: {\r\n value: function(name) {\r\n for (var i = 0; i < this._list.length; ++i) {\r\n if (this._list[i].name === name)\r\n return true;\r\n }\r\n return false;\r\n },\r\n writable: true,\r\n enumerable: true,\r\n configurable: true\r\n },\r\n\r\n set: {\r\n value: function(name, value) {\r\n var found = false;\r\n for (var i = 0; i < this._list.length;) {\r\n if (this._list[i].name === name) {\r\n if (!found) {\r\n this._list[i].value = value;\r\n found = true;\r\n ++i;\r\n } else {\r\n this._list.splice(i, 1);\r\n }\r\n } else {\r\n ++i;\r\n }\r\n }\r\n\r\n if (!found)\r\n this._list.push({\r\n name: name,\r\n value: value\r\n });\r\n\r\n this._update_steps();\r\n },\r\n writable: true,\r\n enumerable: true,\r\n configurable: true\r\n },\r\n\r\n entries: {\r\n value: function() {\r\n return new Iterator(this._list, 'key+value');\r\n },\r\n writable: true,\r\n enumerable: true,\r\n configurable: true\r\n },\r\n\r\n keys: {\r\n value: function() {\r\n return new Iterator(this._list, 'key');\r\n },\r\n writable: true,\r\n enumerable: true,\r\n configurable: true\r\n },\r\n\r\n values: {\r\n value: function() {\r\n return new Iterator(this._list, 'value');\r\n },\r\n writable: true,\r\n enumerable: true,\r\n configurable: true\r\n },\r\n\r\n forEach: {\r\n value: function(callback) {\r\n var thisArg = (arguments.length > 1) ? arguments[1] : undefined;\r\n this._list.forEach(function(pair, index) {\r\n callback.call(thisArg, pair.value, pair.name);\r\n });\r\n\r\n },\r\n writable: true,\r\n enumerable: true,\r\n configurable: true\r\n },\r\n\r\n toString: {\r\n value: function() {\r\n return urlencoded_serialize(this._list);\r\n },\r\n writable: true,\r\n enumerable: false,\r\n configurable: true\r\n }\r\n });\r\n\r\n function Iterator(source, kind) {\r\n var index = 0;\r\n this['next'] = function() {\r\n if (index >= source.length)\r\n return {\r\n done: true,\r\n value: undefined\r\n };\r\n var pair = source[index++];\r\n return {\r\n done: false,\r\n value: kind === 'key' ? pair.name : kind === 'value' ? pair.value : [pair.name, pair.value]\r\n };\r\n };\r\n }\r\n\r\n if ('Symbol' in global && 'iterator' in global.Symbol) {\r\n Object.defineProperty(URLSearchParams.prototype, global.Symbol.iterator, {\r\n value: URLSearchParams.prototype.entries,\r\n writable: true,\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Iterator.prototype, global.Symbol.iterator, {\r\n value: function() {\r\n return this;\r\n },\r\n writable: true,\r\n enumerable: true,\r\n configurable: true\r\n });\r\n }\r\n\r\n function URL(url, base) {\r\n if (!(this instanceof global.URL))\r\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator.\");\r\n\r\n if (base) {\r\n url = (function() {\r\n if (nativeURL) return new origURL(url, base).href;\r\n var iframe;\r\n try {\r\n var doc;\r\n // Use another document/base tag/anchor for relative URL resolution, if possible\r\n if (Object.prototype.toString.call(window.operamini) === \"[object OperaMini]\") {\r\n iframe = document.createElement('iframe');\r\n iframe.style.display = 'none';\r\n document.documentElement.appendChild(iframe);\r\n doc = iframe.contentWindow.document;\r\n } else if (document.implementation && document.implementation.createHTMLDocument) {\r\n doc = document.implementation.createHTMLDocument('');\r\n } else if (document.implementation && document.implementation.createDocument) {\r\n doc = document.implementation.createDocument('http://www.w3.org/1999/xhtml', 'html', null);\r\n doc.documentElement.appendChild(doc.createElement('head'));\r\n doc.documentElement.appendChild(doc.createElement('body'));\r\n } else if (window.ActiveXObject) {\r\n doc = new window.ActiveXObject('htmlfile');\r\n doc.write('<\\/head><\\/body>');\r\n doc.close();\r\n }\r\n\r\n if (!doc) throw Error('base not supported');\r\n\r\n var baseTag = doc.createElement('base');\r\n baseTag.href = base;\r\n doc.getElementsByTagName('head')[0].appendChild(baseTag);\r\n var anchor = doc.createElement('a');\r\n anchor.href = url;\r\n return anchor.href;\r\n } finally {\r\n if (iframe)\r\n iframe.parentNode.removeChild(iframe);\r\n }\r\n }());\r\n }\r\n\r\n // An inner object implementing URLUtils (either a native URL\r\n // object or an HTMLAnchorElement instance) is used to perform the\r\n // URL algorithms. With full ES5 getter/setter support, return a\r\n // regular object For IE8's limited getter/setter support, a\r\n // different HTMLAnchorElement is returned with properties\r\n // overridden\r\n\r\n var instance = URLUtils(url || '');\r\n\r\n // Detect for ES5 getter/setter support\r\n // (an Object.defineProperties polyfill that doesn't support getters/setters may throw)\r\n var ES5_GET_SET = (function() {\r\n if (!('defineProperties' in Object)) return false;\r\n try {\r\n var obj = {};\r\n Object.defineProperties(obj, {\r\n prop: {\r\n 'get': function() {\r\n return true;\r\n }\r\n }\r\n });\r\n return obj.prop;\r\n } catch (_) {\r\n return false;\r\n }\r\n })();\r\n\r\n var self = ES5_GET_SET ? this : document.createElement('a');\r\n\r\n\r\n\r\n var query_object = new URLSearchParams(\r\n instance.search ? instance.search.substring(1) : null);\r\n query_object._url_object = self;\r\n\r\n Object.defineProperties(self, {\r\n href: {\r\n get: function() {\r\n return instance.href;\r\n },\r\n set: function(v) {\r\n instance.href = v;\r\n tidy_instance();\r\n update_steps();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n },\r\n origin: {\r\n get: function() {\r\n if ('origin' in instance) return instance.origin;\r\n return this.protocol + '//' + this.host;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n },\r\n protocol: {\r\n get: function() {\r\n return instance.protocol;\r\n },\r\n set: function(v) {\r\n instance.protocol = v;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n },\r\n username: {\r\n get: function() {\r\n return instance.username;\r\n },\r\n set: function(v) {\r\n instance.username = v;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n },\r\n password: {\r\n get: function() {\r\n return instance.password;\r\n },\r\n set: function(v) {\r\n instance.password = v;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n },\r\n host: {\r\n get: function() {\r\n // IE returns default port in |host|\r\n var re = {\r\n 'http:': /:80$/,\r\n 'https:': /:443$/,\r\n 'ftp:': /:21$/\r\n }[instance.protocol];\r\n return re ? instance.host.replace(re, '') : instance.host;\r\n },\r\n set: function(v) {\r\n instance.host = v;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n },\r\n hostname: {\r\n get: function() {\r\n return instance.hostname;\r\n },\r\n set: function(v) {\r\n instance.hostname = v;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n },\r\n port: {\r\n get: function() {\r\n return instance.port;\r\n },\r\n set: function(v) {\r\n instance.port = v;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n },\r\n pathname: {\r\n get: function() {\r\n // IE does not include leading '/' in |pathname|\r\n if (instance.pathname.charAt(0) !== '/') return '/' + instance.pathname;\r\n return instance.pathname;\r\n },\r\n set: function(v) {\r\n instance.pathname = v;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n },\r\n search: {\r\n get: function() {\r\n return instance.search;\r\n },\r\n set: function(v) {\r\n if (instance.search === v) return;\r\n instance.search = v;\r\n tidy_instance();\r\n update_steps();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n },\r\n searchParams: {\r\n get: function() {\r\n return query_object;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n },\r\n hash: {\r\n get: function() {\r\n return instance.hash;\r\n },\r\n set: function(v) {\r\n instance.hash = v;\r\n tidy_instance();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n },\r\n toString: {\r\n value: function() {\r\n return instance.toString();\r\n },\r\n enumerable: false,\r\n configurable: true\r\n },\r\n valueOf: {\r\n value: function() {\r\n return instance.valueOf();\r\n },\r\n enumerable: false,\r\n configurable: true\r\n }\r\n });\r\n\r\n function tidy_instance() {\r\n var href = instance.href.replace(/#$|\\?$|\\?(?=#)/g, '');\r\n if (instance.href !== href)\r\n instance.href = href;\r\n }\r\n\r\n function update_steps() {\r\n query_object._setList(instance.search ? urlencoded_parse(instance.search.substring(1)) : []);\r\n query_object._update_steps();\r\n };\r\n\r\n return self;\r\n }\r\n\r\n if (origURL) {\r\n for (var i in origURL) {\r\n if (origURL.hasOwnProperty(i) && typeof origURL[i] === 'function')\r\n URL[i] = origURL[i];\r\n }\r\n }\r\n\r\n global.URL = URL;\r\n global.URLSearchParams = URLSearchParams;\r\n }());\r\n\r\n // Patch native URLSearchParams constructor to handle sequences/records\r\n // if necessary.\r\n (function() {\r\n if (new global.URLSearchParams([\r\n ['a', 1]\r\n ]).get('a') === '1' &&\r\n new global.URLSearchParams({\r\n a: 1\r\n }).get('a') === '1')\r\n return;\r\n var orig = global.URLSearchParams;\r\n global.URLSearchParams = function(init) {\r\n if (init && typeof init === 'object' && isSequence(init)) {\r\n var o = new orig();\r\n toArray(init).forEach(function(e) {\r\n if (!isSequence(e)) throw TypeError();\r\n var nv = toArray(e);\r\n if (nv.length !== 2) throw TypeError();\r\n o.append(nv[0], nv[1]);\r\n });\r\n return o;\r\n } else if (init && typeof init === 'object') {\r\n o = new orig();\r\n Object.keys(init).forEach(function(key) {\r\n o.set(key, init[key]);\r\n });\r\n return o;\r\n } else {\r\n return new orig(init);\r\n }\r\n };\r\n }());\r\n\r\n }(self));\r\n\r\n }\r\n\r\n if (!('Promise' in this)) {\r\n\r\n // Promise\r\n ! function(n) {\r\n function t(e) {\r\n if (r[e]) return r[e].exports;\r\n var o = r[e] = {\r\n exports: {},\r\n id: e,\r\n loaded: !1\r\n };\r\n return n[e].call(o.exports, o, o.exports, t), o.loaded = !0, o.exports\r\n }\r\n var r = {};\r\n return t.m = n, t.c = r, t.p = \"\", t(0)\r\n }({\r\n 0:\r\n /*!***********************!*\\\r\n !*** ./src/global.js ***!\r\n \\***********************/\r\n\r\n function(n, t, r) {\r\n (function(n) {\r\n var t = r( /*! ./yaku */ 80);\r\n try {\r\n (n || {}).Promise = t, window.Promise = t\r\n } catch (err) {}\r\n }).call(t, function() {\r\n return this\r\n }())\r\n },\r\n 80:\r\n /*!*********************!*\\\r\n !*** ./src/yaku.js ***!\r\n \\*********************/\r\n\r\n function(n, t) {\r\n (function(t) {\r\n ! function() {\r\n \"use strict\";\r\n\r\n function r() {\r\n return un[B][G] || J\r\n }\r\n\r\n function e(n, t) {\r\n for (var r in t) n[r] = t[r]\r\n }\r\n\r\n function o(n) {\r\n return n && \"object\" == typeof n\r\n }\r\n\r\n function i(n) {\r\n return \"function\" == typeof n\r\n }\r\n\r\n function u(n, t) {\r\n return n instanceof t\r\n }\r\n\r\n function c(n) {\r\n return u(n, U)\r\n }\r\n\r\n function f(n, t, r) {\r\n if (!t(n)) throw v(r)\r\n }\r\n\r\n function s() {\r\n try {\r\n return C.apply(F, arguments)\r\n } catch (e) {\r\n return rn.e = e, rn\r\n }\r\n }\r\n\r\n function a(n, t) {\r\n return C = n, F = t, s\r\n }\r\n\r\n function l(n, t) {\r\n function r() {\r\n for (var r = 0; r < o;) t(e[r], e[r + 1]), e[r++] = S, e[r++] = S;\r\n o = 0, e.length > n && (e.length = n)\r\n }\r\n var e = O(n),\r\n o = 0;\r\n return function(n, t) {\r\n e[o++] = n, e[o++] = t, 2 === o && un.nextTick(r)\r\n }\r\n }\r\n\r\n function h(n, t) {\r\n var r, e, o, c, f = 0;\r\n if (!n) throw v(W);\r\n var s = n[un[B][D]];\r\n if (i(s)) e = s.call(n);\r\n else {\r\n if (!i(n.next)) {\r\n if (u(n, O)) {\r\n for (r = n.length; f < r;) t(n[f], f++);\r\n return f\r\n }\r\n throw v(W)\r\n }\r\n e = n\r\n }\r\n for (; !(o = e.next()).done;)\r\n if (c = a(t)(o.value, f++), c === rn) throw i(e[K]) && e[K](), c.e;\r\n return f\r\n }\r\n\r\n function v(n) {\r\n return new TypeError(n)\r\n }\r\n\r\n function _(n) {\r\n return (n ? \"\" : X) + (new U).stack\r\n }\r\n\r\n function d(n, t) {\r\n var r = \"on\" + n.toLowerCase(),\r\n e = H[r];\r\n I && I.listeners(n).length ? n === tn ? I.emit(n, t._v, t) : I.emit(n, t) : e ? e({\r\n reason: t._v,\r\n promise: t\r\n }) : un[n](t._v, t)\r\n }\r\n\r\n function p(n) {\r\n return n && n._s\r\n }\r\n\r\n function w(n) {\r\n if (p(n)) return new n(en);\r\n var t, r, e;\r\n return t = new n(function(n, o) {\r\n if (t) throw v();\r\n r = n, e = o\r\n }), f(r, i), f(e, i), t\r\n }\r\n\r\n function m(n, t) {\r\n return function(r) {\r\n A && (n[Q] = _(!0)), t === q ? T(n, r) : k(n, t, r)\r\n }\r\n }\r\n\r\n function y(n, t, r, e) {\r\n return i(r) && (t._onFulfilled = r), i(e) && (n[M] && d(nn, n), t._onRejected = e), A && (t._p = n), n[n._c++] = t, n._s !== z && cn(n, t), t\r\n }\r\n\r\n function j(n) {\r\n if (n._umark) return !0;\r\n n._umark = !0;\r\n for (var t, r = 0, e = n._c; r < e;)\r\n if (t = n[r++], t._onRejected || j(t)) return !0\r\n }\r\n\r\n function x(n, t) {\r\n function r(n) {\r\n return e.push(n.replace(/^\\s+|\\s+$/g, \"\"))\r\n }\r\n var e = [];\r\n return A && (t[Q] && r(t[Q]), function o(n) {\r\n n && N in n && (o(n._next), r(n[N] + \"\"), o(n._p))\r\n }(t)), (n && n.stack ? n.stack : n) + (\"\\n\" + e.join(\"\\n\")).replace(on, \"\")\r\n }\r\n\r\n function g(n, t) {\r\n return n(t)\r\n }\r\n\r\n function k(n, t, r) {\r\n var e = 0,\r\n o = n._c;\r\n if (n._s === z)\r\n for (n._s = t, n._v = r, t === $ && (A && c(r) && (r.longStack = x(r, n)), fn(n)); e < o;) cn(n, n[e++]);\r\n return n\r\n }\r\n\r\n function T(n, t) {\r\n if (t === n && t) return k(n, $, v(Y)), n;\r\n if (t !== P && (i(t) || o(t))) {\r\n var r = a(b)(t);\r\n if (r === rn) return k(n, $, r.e), n;\r\n i(r) ? (A && p(t) && (n._next = t), p(t) ? R(n, t, r) : un.nextTick(function() {\r\n R(n, t, r)\r\n })) : k(n, q, t)\r\n } else k(n, q, t);\r\n return n\r\n }\r\n\r\n function b(n) {\r\n return n.then\r\n }\r\n\r\n function R(n, t, r) {\r\n var e = a(r, t)(function(r) {\r\n t && (t = P, T(n, r))\r\n }, function(r) {\r\n t && (t = P, k(n, $, r))\r\n });\r\n e === rn && t && (k(n, $, e.e), t = P)\r\n }\r\n var S, C, F, P = null,\r\n E = \"object\" == typeof window,\r\n H = E ? window : t,\r\n I = H.process,\r\n L = H.console,\r\n A = !1,\r\n O = Array,\r\n U = Error,\r\n $ = 1,\r\n q = 2,\r\n z = 3,\r\n B = \"Symbol\",\r\n D = \"iterator\",\r\n G = \"species\",\r\n J = B + \"(\" + G + \")\",\r\n K = \"return\",\r\n M = \"_uh\",\r\n N = \"_pt\",\r\n Q = \"_st\",\r\n V = \"Invalid this\",\r\n W = \"Invalid argument\",\r\n X = \"\\nFrom previous \",\r\n Y = \"Chaining cycle detected for promise\",\r\n Z = \"Uncaught (in promise)\",\r\n nn = \"rejectionHandled\",\r\n tn = \"unhandledRejection\",\r\n rn = {\r\n e: P\r\n }, en = function() {}, on = /^.+\\/node_modules\\/yaku\\/.+\\n?/gm,\r\n un = n.exports = function(n) {\r\n var t, r = this;\r\n if (!o(r) || r._s !== S) throw v(V);\r\n if (r._s = z, A && (r[N] = _()), n !== en) {\r\n if (!i(n)) throw v(W);\r\n t = a(n)(m(r, q), m(r, $)), t === rn && k(r, $, t.e)\r\n }\r\n };\r\n un[\"default\"] = un, e(un.prototype, {\r\n then: function(n, t) {\r\n if (void 0 === this._s) throw v();\r\n return y(this, w(un.speciesConstructor(this, un)), n, t)\r\n },\r\n \"catch\": function(n) {\r\n return this.then(S, n)\r\n },\r\n \"finally\": function(n) {\r\n function t(t) {\r\n return un.resolve(n()).then(function() {\r\n return t\r\n })\r\n }\r\n return this.then(t, t)\r\n },\r\n _c: 0,\r\n _p: P\r\n }), un.resolve = function(n) {\r\n return p(n) ? n : T(w(this), n)\r\n }, un.reject = function(n) {\r\n return k(w(this), $, n)\r\n }, un.race = function(n) {\r\n var t = this,\r\n r = w(t),\r\n e = function(n) {\r\n k(r, q, n)\r\n }, o = function(n) {\r\n k(r, $, n)\r\n }, i = a(h)(n, function(n) {\r\n t.resolve(n).then(e, o)\r\n });\r\n return i === rn ? t.reject(i.e) : r\r\n }, un.all = function(n) {\r\n function t(n) {\r\n k(o, $, n)\r\n }\r\n var r, e = this,\r\n o = w(e),\r\n i = [];\r\n return r = a(h)(n, function(n, u) {\r\n e.resolve(n).then(function(n) {\r\n i[u] = n, --r || k(o, q, i)\r\n }, t)\r\n }), r === rn ? e.reject(r.e) : (r || k(o, q, []), o)\r\n }, un.Symbol = H[B] || {}, a(function() {\r\n Object.defineProperty(un, r(), {\r\n get: function() {\r\n return this\r\n }\r\n })\r\n })(), un.speciesConstructor = function(n, t) {\r\n var e = n.constructor;\r\n return e ? e[r()] || t : t\r\n }, un.unhandledRejection = function(n, t) {\r\n L && L.error(Z, A ? t.longStack : x(n, t))\r\n }, un.rejectionHandled = en, un.enableLongStackTrace = function() {\r\n A = !0\r\n }, un.nextTick = E ? function(n) {\r\n setTimeout(n)\r\n } : I.nextTick, un._s = 1;\r\n var cn = l(999, function(n, t) {\r\n var r, e;\r\n return e = n._s !== $ ? t._onFulfilled : t._onRejected, e === S ? void k(t, n._s, n._v) : (r = a(g)(e, n._v), r === rn ? void k(t, $, r.e) : void T(t, r))\r\n }),\r\n fn = l(9, function(n) {\r\n j(n) || (n[M] = 1, d(tn, n))\r\n })\r\n }()\r\n }).call(t, function() {\r\n return this\r\n }())\r\n }\r\n });\r\n }\r\n\r\n if (!('fetch' in this)) {\r\n\r\n // fetch\r\n (function(self) {\r\n 'use strict';\r\n\r\n var support = {\r\n searchParams: 'URLSearchParams' in self,\r\n iterable: 'Symbol' in self && 'iterator' in Symbol,\r\n blob: 'FileReader' in self && 'Blob' in self && (function() {\r\n try {\r\n new Blob()\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n })(),\r\n formData: 'FormData' in self,\r\n arrayBuffer: 'ArrayBuffer' in self\r\n }\r\n\r\n if (support.arrayBuffer) {\r\n var viewClasses = [\r\n '[object Int8Array]',\r\n '[object Uint8Array]',\r\n '[object Uint8ClampedArray]',\r\n '[object Int16Array]',\r\n '[object Uint16Array]',\r\n '[object Int32Array]',\r\n '[object Uint32Array]',\r\n '[object Float32Array]',\r\n '[object Float64Array]'\r\n ]\r\n\r\n var isDataView = function(obj) {\r\n return obj && DataView.prototype.isPrototypeOf(obj)\r\n }\r\n\r\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\r\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\r\n }\r\n }\r\n\r\n function normalizeName(name) {\r\n if (typeof name !== 'string') {\r\n name = String(name)\r\n }\r\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\r\n throw new TypeError('Invalid character in header field name')\r\n }\r\n return name.toLowerCase()\r\n }\r\n\r\n function normalizeValue(value) {\r\n if (typeof value !== 'string') {\r\n value = String(value)\r\n }\r\n return value\r\n }\r\n\r\n // Build a destructive iterator for the value list\r\n\r\n function iteratorFor(items) {\r\n var iterator = {\r\n next: function() {\r\n var value = items.shift()\r\n return {\r\n done: value === undefined,\r\n value: value\r\n }\r\n }\r\n }\r\n\r\n if (support.iterable) {\r\n iterator[Symbol.iterator] = function() {\r\n return iterator\r\n }\r\n }\r\n\r\n return iterator\r\n }\r\n\r\n function Headers(headers) {\r\n this.map = {}\r\n\r\n if (headers instanceof Headers) {\r\n headers.forEach(function(value, name) {\r\n this.append(name, value)\r\n }, this)\r\n } else if (Array.isArray(headers)) {\r\n headers.forEach(function(header) {\r\n this.append(header[0], header[1])\r\n }, this)\r\n } else if (headers) {\r\n Object.getOwnPropertyNames(headers).forEach(function(name) {\r\n this.append(name, headers[name])\r\n }, this)\r\n }\r\n }\r\n\r\n Headers.prototype.append = function(name, value) {\r\n name = normalizeName(name)\r\n value = normalizeValue(value)\r\n var oldValue = this.map[name]\r\n this.map[name] = oldValue ? oldValue + ',' + value : value\r\n }\r\n\r\n Headers.prototype['delete'] = function(name) {\r\n delete this.map[normalizeName(name)]\r\n }\r\n\r\n Headers.prototype.get = function(name) {\r\n name = normalizeName(name)\r\n return this.has(name) ? this.map[name] : null\r\n }\r\n\r\n Headers.prototype.has = function(name) {\r\n return this.map.hasOwnProperty(normalizeName(name))\r\n }\r\n\r\n Headers.prototype.set = function(name, value) {\r\n this.map[normalizeName(name)] = normalizeValue(value)\r\n }\r\n\r\n Headers.prototype.forEach = function(callback, thisArg) {\r\n for (var name in this.map) {\r\n if (this.map.hasOwnProperty(name)) {\r\n callback.call(thisArg, this.map[name], name, this)\r\n }\r\n }\r\n }\r\n\r\n Headers.prototype.keys = function() {\r\n var items = []\r\n this.forEach(function(value, name) {\r\n items.push(name)\r\n })\r\n return iteratorFor(items)\r\n }\r\n\r\n Headers.prototype.values = function() {\r\n var items = []\r\n this.forEach(function(value) {\r\n items.push(value)\r\n })\r\n return iteratorFor(items)\r\n }\r\n\r\n Headers.prototype.entries = function() {\r\n var items = []\r\n this.forEach(function(value, name) {\r\n items.push([name, value])\r\n })\r\n return iteratorFor(items)\r\n }\r\n\r\n if (support.iterable) {\r\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\r\n }\r\n\r\n function consumed(body) {\r\n if (body.bodyUsed) {\r\n return Promise.reject(new TypeError('Already read'))\r\n }\r\n body.bodyUsed = true\r\n }\r\n\r\n function fileReaderReady(reader) {\r\n return new Promise(function(resolve, reject) {\r\n reader.onload = function() {\r\n resolve(reader.result)\r\n }\r\n reader.onerror = function() {\r\n reject(reader.error)\r\n }\r\n })\r\n }\r\n\r\n function readBlobAsArrayBuffer(blob) {\r\n var reader = new FileReader()\r\n var promise = fileReaderReady(reader)\r\n reader.readAsArrayBuffer(blob)\r\n return promise\r\n }\r\n\r\n function readBlobAsText(blob) {\r\n var reader = new FileReader()\r\n var promise = fileReaderReady(reader)\r\n reader.readAsText(blob)\r\n return promise\r\n }\r\n\r\n function readArrayBufferAsText(buf) {\r\n var view = new Uint8Array(buf)\r\n var chars = new Array(view.length)\r\n\r\n for (var i = 0; i < view.length; i++) {\r\n chars[i] = String.fromCharCode(view[i])\r\n }\r\n return chars.join('')\r\n }\r\n\r\n function bufferClone(buf) {\r\n if (buf.slice) {\r\n return buf.slice(0)\r\n } else {\r\n var view = new Uint8Array(buf.byteLength)\r\n view.set(new Uint8Array(buf))\r\n return view.buffer\r\n }\r\n }\r\n\r\n function Body() {\r\n this.bodyUsed = false\r\n\r\n this._initBody = function(body) {\r\n this._bodyInit = body\r\n if (!body) {\r\n this._bodyText = ''\r\n } else if (typeof body === 'string') {\r\n this._bodyText = body\r\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\r\n this._bodyBlob = body\r\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\r\n this._bodyFormData = body\r\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\r\n this._bodyText = body.toString()\r\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\r\n this._bodyArrayBuffer = bufferClone(body.buffer)\r\n // IE 10-11 can't handle a DataView body.\r\n this._bodyInit = new Blob([this._bodyArrayBuffer])\r\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\r\n this._bodyArrayBuffer = bufferClone(body)\r\n } else {\r\n throw new Error('unsupported BodyInit type')\r\n }\r\n\r\n if (!this.headers.get('content-type')) {\r\n if (typeof body === 'string') {\r\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\r\n } else if (this._bodyBlob && this._bodyBlob.type) {\r\n this.headers.set('content-type', this._bodyBlob.type)\r\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\r\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\r\n }\r\n }\r\n }\r\n\r\n if (support.blob) {\r\n this.blob = function() {\r\n var rejected = consumed(this)\r\n if (rejected) {\r\n return rejected\r\n }\r\n\r\n if (this._bodyBlob) {\r\n return Promise.resolve(this._bodyBlob)\r\n } else if (this._bodyArrayBuffer) {\r\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\r\n } else if (this._bodyFormData) {\r\n throw new Error('could not read FormData body as blob')\r\n } else {\r\n return Promise.resolve(new Blob([this._bodyText]))\r\n }\r\n }\r\n\r\n this.arrayBuffer = function() {\r\n if (this._bodyArrayBuffer) {\r\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\r\n } else {\r\n return this.blob().then(readBlobAsArrayBuffer)\r\n }\r\n }\r\n }\r\n\r\n this.text = function() {\r\n var rejected = consumed(this)\r\n if (rejected) {\r\n return rejected\r\n }\r\n\r\n if (this._bodyBlob) {\r\n return readBlobAsText(this._bodyBlob)\r\n } else if (this._bodyArrayBuffer) {\r\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\r\n } else if (this._bodyFormData) {\r\n throw new Error('could not read FormData body as text')\r\n } else {\r\n return Promise.resolve(this._bodyText)\r\n }\r\n }\r\n\r\n if (support.formData) {\r\n this.formData = function() {\r\n return this.text().then(decode)\r\n }\r\n }\r\n\r\n this.json = function() {\r\n return this.text().then(JSON.parse)\r\n }\r\n\r\n return this\r\n }\r\n\r\n // HTTP methods whose capitalization should be normalized\r\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\r\n\r\n function normalizeMethod(method) {\r\n var upcased = method.toUpperCase()\r\n return (methods.indexOf(upcased) > -1) ? upcased : method\r\n }\r\n\r\n function Request(input, options) {\r\n options = options || {}\r\n var body = options.body\r\n\r\n if (input instanceof Request) {\r\n if (input.bodyUsed) {\r\n throw new TypeError('Already read')\r\n }\r\n this.url = input.url\r\n this.credentials = input.credentials\r\n if (!options.headers) {\r\n this.headers = new Headers(input.headers)\r\n }\r\n this.method = input.method\r\n this.mode = input.mode\r\n if (!body && input._bodyInit != null) {\r\n body = input._bodyInit\r\n input.bodyUsed = true\r\n }\r\n } else {\r\n this.url = String(input)\r\n }\r\n\r\n this.credentials = options.credentials || this.credentials || 'same-origin'\r\n if (options.headers || !this.headers) {\r\n this.headers = new Headers(options.headers)\r\n }\r\n this.method = normalizeMethod(options.method || this.method || 'GET')\r\n this.mode = options.mode || this.mode || null\r\n this.referrer = null\r\n\r\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\r\n throw new TypeError('Body not allowed for GET or HEAD requests')\r\n }\r\n this._initBody(body)\r\n }\r\n\r\n Request.prototype.clone = function() {\r\n return new Request(this, {\r\n body: this._bodyInit\r\n })\r\n }\r\n\r\n function decode(body) {\r\n var form = new FormData()\r\n body.trim().split('&').forEach(function(bytes) {\r\n if (bytes) {\r\n var split = bytes.split('=')\r\n var name = split.shift().replace(/\\+/g, ' ')\r\n var value = split.join('=').replace(/\\+/g, ' ')\r\n form.append(decodeURIComponent(name), decodeURIComponent(value))\r\n }\r\n })\r\n return form\r\n }\r\n\r\n function parseHeaders(rawHeaders) {\r\n var headers = new Headers()\r\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\r\n var parts = line.split(':')\r\n var key = parts.shift().trim()\r\n if (key) {\r\n var value = parts.join(':').trim()\r\n headers.append(key, value)\r\n }\r\n })\r\n return headers\r\n }\r\n\r\n Body.call(Request.prototype)\r\n\r\n function Response(bodyInit, options) {\r\n if (!options) {\r\n options = {}\r\n }\r\n\r\n this.type = 'default'\r\n this.status = 'status' in options ? options.status : 200\r\n this.ok = this.status >= 200 && this.status < 300\r\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\r\n this.headers = new Headers(options.headers)\r\n this.url = options.url || ''\r\n this._initBody(bodyInit)\r\n }\r\n\r\n Body.call(Response.prototype)\r\n\r\n Response.prototype.clone = function() {\r\n return new Response(this._bodyInit, {\r\n status: this.status,\r\n statusText: this.statusText,\r\n headers: new Headers(this.headers),\r\n url: this.url\r\n })\r\n }\r\n\r\n Response.error = function() {\r\n var response = new Response(null, {\r\n status: 0,\r\n statusText: ''\r\n })\r\n response.type = 'error'\r\n return response\r\n }\r\n\r\n var redirectStatuses = [301, 302, 303, 307, 308]\r\n\r\n Response.redirect = function(url, status) {\r\n if (redirectStatuses.indexOf(status) === -1) {\r\n throw new RangeError('Invalid status code')\r\n }\r\n\r\n return new Response(null, {\r\n status: status,\r\n headers: {\r\n location: url\r\n }\r\n })\r\n }\r\n\r\n self.Headers = Headers\r\n self.Request = Request\r\n self.Response = Response\r\n\r\n self.fetch = function(input, init) {\r\n return new Promise(function(resolve, reject) {\r\n var request = new Request(input, init)\r\n var xhr = new XMLHttpRequest()\r\n\r\n xhr.onload = function() {\r\n var options = {\r\n status: xhr.status,\r\n statusText: xhr.statusText,\r\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\r\n }\r\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\r\n var body = 'response' in xhr ? xhr.response : xhr.responseText\r\n resolve(new Response(body, options))\r\n }\r\n\r\n xhr.onerror = function() {\r\n reject(new TypeError('Network request failed'))\r\n }\r\n\r\n xhr.ontimeout = function() {\r\n reject(new TypeError('Network request failed'))\r\n }\r\n\r\n xhr.open(request.method, request.url, true)\r\n\r\n if (request.credentials === 'include') {\r\n xhr.withCredentials = true\r\n }\r\n\r\n if ('responseType' in xhr && support.blob) {\r\n xhr.responseType = 'blob'\r\n }\r\n\r\n request.headers.forEach(function(value, name) {\r\n xhr.setRequestHeader(name, value)\r\n })\r\n\r\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\r\n })\r\n }\r\n self.fetch.polyfill = true\r\n })(typeof self !== 'undefined' ? self : this);\r\n\r\n }\r\n\r\n if (!((function(global) {\r\n\r\n if (!('Event' in global)) return false;\r\n if (typeof global.Event === 'function') return true;\r\n\r\n try {\r\n\r\n // In IE 9-11, the Event object exists but cannot be instantiated\r\n new Event('click');\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n }(this)))) {\r\n\r\n // Event\r\n (function() {\r\n var unlistenableWindowEvents = {\r\n click: 1,\r\n dblclick: 1,\r\n keyup: 1,\r\n keypress: 1,\r\n keydown: 1,\r\n mousedown: 1,\r\n mouseup: 1,\r\n mousemove: 1,\r\n mouseover: 1,\r\n mouseenter: 1,\r\n mouseleave: 1,\r\n mouseout: 1,\r\n storage: 1,\r\n storagecommit: 1,\r\n textinput: 1\r\n };\r\n\r\n // This polyfill depends on availability of `document` so will not run in a worker\r\n // However, we asssume there are no browsers with worker support that lack proper\r\n // support for `Event` within the worker\r\n if (typeof document === 'undefined' || typeof window === 'undefined') return;\r\n\r\n function indexOf(array, element) {\r\n var\r\n index = -1,\r\n length = array.length;\r\n\r\n while (++index < length) {\r\n if (index in array && array[index] === element) {\r\n return index;\r\n }\r\n }\r\n\r\n return -1;\r\n }\r\n\r\n var existingProto = (window.Event && window.Event.prototype) || null;\r\n window.Event = Window.prototype.Event = function Event(type, eventInitDict) {\r\n if (!type) {\r\n throw new Error('Not enough arguments');\r\n }\r\n\r\n var event;\r\n // Shortcut if browser supports createEvent\r\n if ('createEvent' in document) {\r\n event = document.createEvent('Event');\r\n var bubbles = eventInitDict && eventInitDict.bubbles !== undefined ? eventInitDict.bubbles : false;\r\n var cancelable = eventInitDict && eventInitDict.cancelable !== undefined ? eventInitDict.cancelable : false;\r\n\r\n event.initEvent(type, bubbles, cancelable);\r\n\r\n return event;\r\n }\r\n\r\n event = document.createEventObject();\r\n\r\n event.type = type;\r\n event.bubbles = eventInitDict && eventInitDict.bubbles !== undefined ? eventInitDict.bubbles : false;\r\n event.cancelable = eventInitDict && eventInitDict.cancelable !== undefined ? eventInitDict.cancelable : false;\r\n\r\n return event;\r\n };\r\n if (existingProto) {\r\n Object.defineProperty(window.Event, 'prototype', {\r\n configurable: false,\r\n enumerable: false,\r\n writable: true,\r\n value: existingProto\r\n });\r\n }\r\n\r\n if (!('createEvent' in document)) {\r\n window.addEventListener = Window.prototype.addEventListener = Document.prototype.addEventListener = Element.prototype.addEventListener = function addEventListener() {\r\n var\r\n element = this,\r\n type = arguments[0],\r\n listener = arguments[1];\r\n\r\n if (element === window && type in unlistenableWindowEvents) {\r\n throw new Error('In IE8 the event: ' + type + ' is not available on the window object. Please see https://github.com/Financial-Times/polyfill-service/issues/317 for more information.');\r\n }\r\n\r\n if (!element._events) {\r\n element._events = {};\r\n }\r\n\r\n if (!element._events[type]) {\r\n element._events[type] = function(event) {\r\n var\r\n list = element._events[event.type].list,\r\n events = list.slice(),\r\n index = -1,\r\n length = events.length,\r\n eventElement;\r\n\r\n event.preventDefault = function preventDefault() {\r\n if (event.cancelable !== false) {\r\n event.returnValue = false;\r\n }\r\n };\r\n\r\n event.stopPropagation = function stopPropagation() {\r\n event.cancelBubble = true;\r\n };\r\n\r\n event.stopImmediatePropagation = function stopImmediatePropagation() {\r\n event.cancelBubble = true;\r\n event.cancelImmediate = true;\r\n };\r\n\r\n event.currentTarget = element;\r\n event.relatedTarget = event.fromElement || null;\r\n event.target = event.target || event.srcElement || element;\r\n event.timeStamp = new Date().getTime();\r\n\r\n if (event.clientX) {\r\n event.pageX = event.clientX + document.documentElement.scrollLeft;\r\n event.pageY = event.clientY + document.documentElement.scrollTop;\r\n }\r\n\r\n while (++index < length && !event.cancelImmediate) {\r\n if (index in events) {\r\n eventElement = events[index];\r\n\r\n if (indexOf(list, eventElement) !== -1 && typeof eventElement === 'function') {\r\n eventElement.call(element, event);\r\n }\r\n }\r\n }\r\n };\r\n\r\n element._events[type].list = [];\r\n\r\n if (element.attachEvent) {\r\n element.attachEvent('on' + type, element._events[type]);\r\n }\r\n }\r\n\r\n element._events[type].list.push(listener);\r\n };\r\n\r\n window.removeEventListener = Window.prototype.removeEventListener = Document.prototype.removeEventListener = Element.prototype.removeEventListener = function removeEventListener() {\r\n var\r\n element = this,\r\n type = arguments[0],\r\n listener = arguments[1],\r\n index;\r\n\r\n if (element._events && element._events[type] && element._events[type].list) {\r\n index = indexOf(element._events[type].list, listener);\r\n\r\n if (index !== -1) {\r\n element._events[type].list.splice(index, 1);\r\n\r\n if (!element._events[type].list.length) {\r\n if (element.detachEvent) {\r\n element.detachEvent('on' + type, element._events[type]);\r\n }\r\n delete element._events[type];\r\n }\r\n }\r\n }\r\n };\r\n\r\n window.dispatchEvent = Window.prototype.dispatchEvent = Document.prototype.dispatchEvent = Element.prototype.dispatchEvent = function dispatchEvent(event) {\r\n if (!arguments.length) {\r\n throw new Error('Not enough arguments');\r\n }\r\n\r\n if (!event || typeof event.type !== 'string') {\r\n throw new Error('DOM Events Exception 0');\r\n }\r\n\r\n var element = this,\r\n type = event.type;\r\n\r\n try {\r\n if (!event.bubbles) {\r\n event.cancelBubble = true;\r\n\r\n var cancelBubbleEvent = function(event) {\r\n event.cancelBubble = true;\r\n\r\n (element || window).detachEvent('on' + type, cancelBubbleEvent);\r\n };\r\n\r\n this.attachEvent('on' + type, cancelBubbleEvent);\r\n }\r\n\r\n this.fireEvent('on' + type, event);\r\n } catch (error) {\r\n event.target = element;\r\n\r\n do {\r\n event.currentTarget = element;\r\n\r\n if ('_events' in element && typeof element._events[type] === 'function') {\r\n element._events[type].call(element, event);\r\n }\r\n\r\n if (typeof element['on' + type] === 'function') {\r\n element['on' + type].call(element, event);\r\n }\r\n\r\n element = element.nodeType === 9 ? element.parentWindow : element.parentNode;\r\n } while (element && !event.cancelBubble);\r\n }\r\n\r\n return true;\r\n };\r\n\r\n // Add the DOMContentLoaded Event\r\n document.attachEvent('onreadystatechange', function() {\r\n if (document.readyState === 'complete') {\r\n document.dispatchEvent(new Event('DOMContentLoaded', {\r\n bubbles: true\r\n }));\r\n }\r\n });\r\n }\r\n }());\r\n\r\n }\r\n\r\n})\r\n .call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\r\n","if (!String.prototype.includes) {\r\n String.prototype.includes = function(search, start) {\r\n 'use strict';\r\n if (typeof start !== 'number') {\r\n start = 0;\r\n }\r\n\r\n if (start + search.length > this.length) {\r\n return false;\r\n } else {\r\n return this.indexOf(search, start) !== -1;\r\n }\r\n };\r\n}\r\n","/*! https://mths.be/startswith v0.2.0 by @mathias */\r\nif (!String.prototype.startsWith) {\r\n\t(function() {\r\n\t\t'use strict'; // needed to support `apply`/`call` with `undefined`/`null`\r\n\t\tvar defineProperty = (function() {\r\n\t\t\t// IE 8 only supports `Object.defineProperty` on DOM elements\r\n\t\t\ttry {\r\n\t\t\t\tvar object = {};\r\n\t\t\t\tvar $defineProperty = Object.defineProperty;\r\n\t\t\t\tvar result = $defineProperty(object, object, object) && $defineProperty;\r\n\t\t\t} catch(error) {}\r\n\t\t\treturn result;\r\n\t\t}());\r\n\t\tvar toString = {}.toString;\r\n\t\tvar startsWith = function(search) {\r\n\t\t\tif (this == null) {\r\n\t\t\t\tthrow TypeError();\r\n\t\t\t}\r\n\t\t\tvar string = String(this);\r\n\t\t\tif (search && toString.call(search) == '[object RegExp]') {\r\n\t\t\t\tthrow TypeError();\r\n\t\t\t}\r\n\t\t\tvar stringLength = string.length;\r\n\t\t\tvar searchString = String(search);\r\n\t\t\tvar searchLength = searchString.length;\r\n\t\t\tvar position = arguments.length > 1 ? arguments[1] : undefined;\r\n\t\t\t// `ToInteger`\r\n\t\t\tvar pos = position ? Number(position) : 0;\r\n\t\t\tif (pos != pos) { // better `isNaN`\r\n\t\t\t\tpos = 0;\r\n\t\t\t}\r\n\t\t\tvar start = Math.min(Math.max(pos, 0), stringLength);\r\n\t\t\t// Avoid the `indexOf` call if no match is possible\r\n\t\t\tif (searchLength + start > stringLength) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tvar index = -1;\r\n\t\t\twhile (++index < searchLength) {\r\n\t\t\t\tif (string.charCodeAt(start + index) != searchString.charCodeAt(index)) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t};\r\n\t\tif (defineProperty) {\r\n\t\t\tdefineProperty(String.prototype, 'startsWith', {\r\n\t\t\t\t'value': startsWith,\r\n\t\t\t\t'configurable': true,\r\n\t\t\t\t'writable': true\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tString.prototype.startsWith = startsWith;\r\n\t\t}\r\n\t}());\r\n}\r\n","/*\r\n* Smooth Scroll 0.4.2\r\n* https://github.com/iamdustan/smoothscroll\r\n* MIT\r\n*/\r\n'use strict';\r\n\r\n// polyfill\r\nfunction polyfill() {\r\n // aliases\r\n var w = window;\r\n var d = document;\r\n\r\n // return if scroll behavior is supported and polyfill is not forced\r\n if (\r\n 'scrollBehavior' in d.documentElement.style &&\r\n w.__forceSmoothScrollPolyfill__ !== true\r\n ) {\r\n return;\r\n }\r\n\r\n // globals\r\n var Element = w.HTMLElement || w.Element;\r\n var SCROLL_TIME = 468;\r\n\r\n // object gathering original scroll methods\r\n var original = {\r\n scroll: w.scroll || w.scrollTo,\r\n scrollBy: w.scrollBy,\r\n elementScroll: Element.prototype.scroll || scrollElement,\r\n scrollIntoView: Element.prototype.scrollIntoView\r\n };\r\n\r\n // define timing method\r\n var now =\r\n w.performance && w.performance.now\r\n ? w.performance.now.bind(w.performance)\r\n : Date.now;\r\n\r\n /**\r\n * indicates if a the current browser is made by Microsoft\r\n * @method isMicrosoftBrowser\r\n * @param {String} userAgent\r\n * @returns {Boolean}\r\n */\r\n function isMicrosoftBrowser(userAgent) {\r\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\r\n\r\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\r\n }\r\n\r\n /*\r\n * IE has rounding bug rounding down clientHeight and clientWidth and\r\n * rounding up scrollHeight and scrollWidth causing false positives\r\n * on hasScrollableSpace\r\n */\r\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\r\n\r\n /**\r\n * changes scroll position inside an element\r\n * @method scrollElement\r\n * @param {Number} x\r\n * @param {Number} y\r\n * @returns {undefined}\r\n */\r\n function scrollElement(x, y) {\r\n this.scrollLeft = x;\r\n this.scrollTop = y;\r\n }\r\n\r\n /**\r\n * returns result of applying ease math function to a number\r\n * @method ease\r\n * @param {Number} k\r\n * @returns {Number}\r\n */\r\n function ease(k) {\r\n return 0.5 * (1 - Math.cos(Math.PI * k));\r\n }\r\n\r\n /**\r\n * indicates if a smooth behavior should be applied\r\n * @method shouldBailOut\r\n * @param {Number|Object} firstArg\r\n * @returns {Boolean}\r\n */\r\n function shouldBailOut(firstArg) {\r\n if (\r\n firstArg === null ||\r\n typeof firstArg !== 'object' ||\r\n firstArg.behavior === undefined ||\r\n firstArg.behavior === 'auto' ||\r\n firstArg.behavior === 'instant'\r\n ) {\r\n // first argument is not an object/null\r\n // or behavior is auto, instant or undefined\r\n return true;\r\n }\r\n\r\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\r\n // first argument is an object and behavior is smooth\r\n return false;\r\n }\r\n\r\n // throw error when behavior is not supported\r\n throw new TypeError(\r\n 'behavior member of ScrollOptions ' +\r\n firstArg.behavior +\r\n ' is not a valid value for enumeration ScrollBehavior.'\r\n );\r\n }\r\n\r\n /**\r\n * indicates if an element has scrollable space in the provided axis\r\n * @method hasScrollableSpace\r\n * @param {Node} el\r\n * @param {String} axis\r\n * @returns {Boolean}\r\n */\r\n function hasScrollableSpace(el, axis) {\r\n if (axis === 'Y') {\r\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\r\n }\r\n\r\n if (axis === 'X') {\r\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\r\n }\r\n }\r\n\r\n /**\r\n * indicates if an element has a scrollable overflow property in the axis\r\n * @method canOverflow\r\n * @param {Node} el\r\n * @param {String} axis\r\n * @returns {Boolean}\r\n */\r\n function canOverflow(el, axis) {\r\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\r\n\r\n return overflowValue === 'auto' || overflowValue === 'scroll';\r\n }\r\n\r\n /**\r\n * indicates if an element can be scrolled in either axis\r\n * @method isScrollable\r\n * @param {Node} el\r\n * @param {String} axis\r\n * @returns {Boolean}\r\n */\r\n function isScrollable(el) {\r\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\r\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\r\n\r\n return isScrollableY || isScrollableX;\r\n }\r\n\r\n /**\r\n * finds scrollable parent of an element\r\n * @method findScrollableParent\r\n * @param {Node} el\r\n * @returns {Node} el\r\n */\r\n function findScrollableParent(el) {\r\n var isBody;\r\n\r\n do {\r\n el = el.parentNode;\r\n\r\n isBody = el === d.body;\r\n } while (isBody === false && isScrollable(el) === false);\r\n\r\n isBody = null;\r\n\r\n return el;\r\n }\r\n\r\n /**\r\n * self invoked function that, given a context, steps through scrolling\r\n * @method step\r\n * @param {Object} context\r\n * @returns {undefined}\r\n */\r\n function step(context) {\r\n var time = now();\r\n var value;\r\n var currentX;\r\n var currentY;\r\n var elapsed = (time - context.startTime) / SCROLL_TIME;\r\n\r\n // avoid elapsed times higher than one\r\n elapsed = elapsed > 1 ? 1 : elapsed;\r\n\r\n // apply easing to elapsed time\r\n value = ease(elapsed);\r\n\r\n currentX = context.startX + (context.x - context.startX) * value;\r\n currentY = context.startY + (context.y - context.startY) * value;\r\n\r\n context.method.call(context.scrollable, currentX, currentY);\r\n\r\n // scroll more if we have not reached our destination\r\n if (currentX !== context.x || currentY !== context.y) {\r\n w.requestAnimationFrame(step.bind(w, context));\r\n }\r\n }\r\n\r\n /**\r\n * scrolls window or element with a smooth behavior\r\n * @method smoothScroll\r\n * @param {Object|Node} el\r\n * @param {Number} x\r\n * @param {Number} y\r\n * @returns {undefined}\r\n */\r\n function smoothScroll(el, x, y) {\r\n var scrollable;\r\n var startX;\r\n var startY;\r\n var method;\r\n var startTime = now();\r\n\r\n // define scroll context\r\n if (el === d.body) {\r\n scrollable = w;\r\n startX = w.scrollX || w.pageXOffset;\r\n startY = w.scrollY || w.pageYOffset;\r\n method = original.scroll;\r\n } else {\r\n scrollable = el;\r\n startX = el.scrollLeft;\r\n startY = el.scrollTop;\r\n method = scrollElement;\r\n }\r\n\r\n // scroll looping over a frame\r\n step({\r\n scrollable: scrollable,\r\n method: method,\r\n startTime: startTime,\r\n startX: startX,\r\n startY: startY,\r\n x: x,\r\n y: y\r\n });\r\n }\r\n\r\n // ORIGINAL METHODS OVERRIDES\r\n // w.scroll and w.scrollTo\r\n w.scroll = w.scrollTo = function() {\r\n // avoid action when no arguments are passed\r\n if (arguments[0] === undefined) {\r\n return;\r\n }\r\n\r\n // avoid smooth behavior if not required\r\n if (shouldBailOut(arguments[0]) === true) {\r\n original.scroll.call(\r\n w,\r\n arguments[0].left !== undefined\r\n ? arguments[0].left\r\n : typeof arguments[0] !== 'object'\r\n ? arguments[0]\r\n : w.scrollX || w.pageXOffset,\r\n // use top prop, second argument if present or fallback to scrollY\r\n arguments[0].top !== undefined\r\n ? arguments[0].top\r\n : arguments[1] !== undefined\r\n ? arguments[1]\r\n : w.scrollY || w.pageYOffset\r\n );\r\n\r\n return;\r\n }\r\n\r\n // LET THE SMOOTHNESS BEGIN!\r\n smoothScroll.call(\r\n w,\r\n d.body,\r\n arguments[0].left !== undefined\r\n ? ~~arguments[0].left\r\n : w.scrollX || w.pageXOffset,\r\n arguments[0].top !== undefined\r\n ? ~~arguments[0].top\r\n : w.scrollY || w.pageYOffset\r\n );\r\n };\r\n\r\n // w.scrollBy\r\n w.scrollBy = function() {\r\n // avoid action when no arguments are passed\r\n if (arguments[0] === undefined) {\r\n return;\r\n }\r\n\r\n // avoid smooth behavior if not required\r\n if (shouldBailOut(arguments[0])) {\r\n original.scrollBy.call(\r\n w,\r\n arguments[0].left !== undefined\r\n ? arguments[0].left\r\n : typeof arguments[0] !== 'object' ? arguments[0] : 0,\r\n arguments[0].top !== undefined\r\n ? arguments[0].top\r\n : arguments[1] !== undefined ? arguments[1] : 0\r\n );\r\n\r\n return;\r\n }\r\n\r\n // LET THE SMOOTHNESS BEGIN!\r\n smoothScroll.call(\r\n w,\r\n d.body,\r\n ~~arguments[0].left + (w.scrollX || w.pageXOffset),\r\n ~~arguments[0].top + (w.scrollY || w.pageYOffset)\r\n );\r\n };\r\n\r\n // Element.prototype.scroll and Element.prototype.scrollTo\r\n Element.prototype.scroll = Element.prototype.scrollTo = function() {\r\n // avoid action when no arguments are passed\r\n if (arguments[0] === undefined) {\r\n return;\r\n }\r\n\r\n // avoid smooth behavior if not required\r\n if (shouldBailOut(arguments[0]) === true) {\r\n // if one number is passed, throw error to match Firefox implementation\r\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\r\n throw new SyntaxError('Value could not be converted');\r\n }\r\n\r\n original.elementScroll.call(\r\n this,\r\n // use left prop, first number argument or fallback to scrollLeft\r\n arguments[0].left !== undefined\r\n ? ~~arguments[0].left\r\n : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,\r\n // use top prop, second argument or fallback to scrollTop\r\n arguments[0].top !== undefined\r\n ? ~~arguments[0].top\r\n : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop\r\n );\r\n\r\n return;\r\n }\r\n\r\n var left = arguments[0].left;\r\n var top = arguments[0].top;\r\n\r\n // LET THE SMOOTHNESS BEGIN!\r\n smoothScroll.call(\r\n this,\r\n this,\r\n typeof left === 'undefined' ? this.scrollLeft : ~~left,\r\n typeof top === 'undefined' ? this.scrollTop : ~~top\r\n );\r\n };\r\n\r\n // Element.prototype.scrollBy\r\n Element.prototype.scrollBy = function() {\r\n // avoid action when no arguments are passed\r\n if (arguments[0] === undefined) {\r\n return;\r\n }\r\n\r\n // avoid smooth behavior if not required\r\n if (shouldBailOut(arguments[0]) === true) {\r\n original.elementScroll.call(\r\n this,\r\n arguments[0].left !== undefined\r\n ? ~~arguments[0].left + this.scrollLeft\r\n : ~~arguments[0] + this.scrollLeft,\r\n arguments[0].top !== undefined\r\n ? ~~arguments[0].top + this.scrollTop\r\n : ~~arguments[1] + this.scrollTop\r\n );\r\n\r\n return;\r\n }\r\n\r\n this.scroll({\r\n left: ~~arguments[0].left + this.scrollLeft,\r\n top: ~~arguments[0].top + this.scrollTop,\r\n behavior: arguments[0].behavior\r\n });\r\n };\r\n\r\n // Element.prototype.scrollIntoView\r\n Element.prototype.scrollIntoView = function() {\r\n // avoid smooth behavior if not required\r\n if (shouldBailOut(arguments[0]) === true) {\r\n original.scrollIntoView.call(\r\n this,\r\n arguments[0] === undefined ? true : arguments[0]\r\n );\r\n\r\n return;\r\n }\r\n\r\n // LET THE SMOOTHNESS BEGIN!\r\n var scrollableParent = findScrollableParent(this);\r\n var parentRects = scrollableParent.getBoundingClientRect();\r\n var clientRects = this.getBoundingClientRect();\r\n\r\n if (scrollableParent !== d.body) {\r\n // reveal element inside parent\r\n smoothScroll.call(\r\n this,\r\n scrollableParent,\r\n scrollableParent.scrollLeft + clientRects.left - parentRects.left,\r\n scrollableParent.scrollTop + clientRects.top - parentRects.top\r\n );\r\n\r\n // reveal parent in viewport unless is fixed\r\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\r\n w.scrollBy({\r\n left: parentRects.left,\r\n top: parentRects.top,\r\n behavior: 'smooth'\r\n });\r\n }\r\n } else {\r\n // reveal element in viewport\r\n w.scrollBy({\r\n left: clientRects.left,\r\n top: clientRects.top,\r\n behavior: 'smooth'\r\n });\r\n }\r\n };\r\n}\r\n\r\nif (typeof exports === 'object' && typeof module !== 'undefined') {\r\n // commonjs\r\n module.exports = { polyfill: polyfill };\r\n} else {\r\n // global\r\n polyfill();\r\n}"]}