diff --git a/app/components/Discover.jsx b/app/components/Discover.jsx index 80f9edf..c153940 100644 --- a/app/components/Discover.jsx +++ b/app/components/Discover.jsx @@ -5,7 +5,7 @@ import FontAwesome from "react-fontawesome"; import css from "../styles/Discover.scss"; -export default class DiscoverCSS extends Component { +export class DiscoverCSS extends Component { render() { const artistsAlbumsSongsDropdown = (
diff --git a/public/fix.ie9.js.map b/public/fix.ie9.js.map index 2ba9187..cda27c5 100644 --- a/public/fix.ie9.js.map +++ b/public/fix.ie9.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///fix.ie9.js","webpack:///webpack/bootstrap 65f64544a850210e9328?d74b","webpack:///./fix.ie9.js","webpack:///./~/html5shiv/dist/html5shiv.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","0","Object","defineProperty","value","_html5shiv","keys","forEach","key","enumerable","get","640","window","document","addStyleSheet","ownerDocument","cssText","createElement","parent","getElementsByTagName","documentElement","innerHTML","insertBefore","lastChild","firstChild","getElements","elements","html5","split","addElements","newElements","join","shivDocument","getExpandoData","data","expandoData","expando","expanID","nodeName","supportsUnknownElements","node","cache","cloneNode","saveClones","test","createElem","canHaveChildren","reSkip","tagUrn","frag","appendChild","createDocumentFragment","clone","i","elems","l","length","shivMethods","createFrag","Function","replace","shivCSS","supportsHtml5Styles","hasCSS","version","options","a","childNodes","e","type","this"],"mappings":"CAAS,SAAUA,GCInB,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAE,WACAE,GAAAJ,EACAK,QAAA,EAUA,OANAP,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,GAGAI,EAAAE,QAAA,EAGAF,EAAAD,QAvBA,GAAAD,KAqCA,OATAF,GAAAQ,EAAAT,EAGAC,EAAAS,EAAAP,EAGAF,EAAAU,EAAA,KAGAV,EAAA,KDMMW,EACA,SAASP,EAAQD,EAASH,GAE/B,YAEAY,QAAOC,eAAeV,EAAS,cAC7BW,OAAO,GAGT,IAAIC,GAAaf,EAAoB,IElDtCY,QAAAI,KAAAD,GAAAE,QAAA,SAAAC,GAAA,YAAAA,GAAA,eAAAA,GAAAN,OAAAC,eAAAV,EAAAe,GAAAC,YAAA,EAAAC,IAAA,iBAAAL,GAAAG,SFgEMG,IACA,SAASjB,EAAQD,IGjEtB,SAAAmB,EAAAC,GA+DD,QAAAC,GAAAC,EAAAC,GACA,GAAAhB,GAAAe,EAAAE,cAAA,KACAC,EAAAH,EAAAI,qBAAA,YAAAJ,EAAAK,eAGA,OADApB,GAAAqB,UAAA,WAAAL,EAAA,WACAE,EAAAI,aAAAtB,EAAAuB,UAAAL,EAAAM,YAQA,QAAAC,KACA,GAAAC,GAAAC,EAAAD,QACA,uBAAAA,KAAAE,MAAA,KAAAF,EASA,QAAAG,GAAAC,EAAAf,GACA,GAAAW,GAAAC,EAAAD,QACA,iBAAAA,KACAA,IAAAK,KAAA,MAEA,gBAAAD,KACAA,IAAAC,KAAA,MAEAJ,EAAAD,WAAA,IAAAI,EACAE,EAAAjB,GASA,QAAAkB,GAAAlB,GACA,GAAAmB,GAAAC,EAAApB,EAAAqB,GAOA,OANAF,KACAA,KACAG,IACAtB,EAAAqB,GAAAC,EACAF,EAAAE,GAAAH,GAEAA,EAUA,QAAAjB,GAAAqB,EAAAvB,EAAAmB,GAIA,GAHAnB,IACAA,EAAAF,GAEA0B,EACA,MAAAxB,GAAAE,cAAAqB,EAEAJ,KACAA,EAAAD,EAAAlB,GAEA,IAAAyB,EAiBA,OAdAA,GADAN,EAAAO,MAAAH,GACAJ,EAAAO,MAAAH,GAAAI,YACKC,EAAAC,KAAAN,IACLJ,EAAAO,MAAAH,GAAAJ,EAAAW,WAAAP,IAAAI,YAEAR,EAAAW,WAAAP,IAUAE,EAAAM,iBAAAC,EAAAH,KAAAN,IAAAE,EAAAQ,OAAAR,EAAAN,EAAAe,KAAAC,YAAAV,GASA,QAAAW,GAAApC,EAAAmB,GAIA,GAHAnB,IACAA,EAAAF,GAEA0B,EACA,MAAAxB,GAAAoC,wBAEAjB,MAAAD,EAAAlB,EAKA,KAJA,GAAAqC,GAAAlB,EAAAe,KAAAP,YACAW,EAAA,EACAC,EAAA7B,IACA8B,EAAAD,EAAAE,OACSH,EAAAE,EAAIF,IACbD,EAAAnC,cAAAqC,EAAAD,GAEA,OAAAD,GASA,QAAAK,GAAA1C,EAAAmB,GACAA,EAAAO,QACAP,EAAAO,SACAP,EAAAW,WAAA9B,EAAAE,cACAiB,EAAAwB,WAAA3C,EAAAoC,uBACAjB,EAAAe,KAAAf,EAAAwB,cAIA3C,EAAAE,cAAA,SAAAqB,GAEA,MAAAX,GAAA8B,YAGAxC,EAAAqB,EAAAvB,EAAAmB,GAFAA,EAAAW,WAAAP,IAKAvB,EAAAoC,uBAAAQ,SAAA,iFAIAlC,IAAAM,OAAA6B,QAAA,qBAAAtB,GAGA,MAFAJ,GAAAW,WAAAP,GACAJ,EAAAe,KAAAhC,cAAAqB,GACA,MAAAA,EAAA,OAEA,eACAX,EAAAO,EAAAe,MAWA,QAAAjB,GAAAjB,GACAA,IACAA,EAAAF,EAEA,IAAAqB,GAAAD,EAAAlB,EAeA,QAbAY,EAAAkC,SAAAC,GAAA5B,EAAA6B,SACA7B,EAAA6B,SAAAjD,EAAAC,EAEA,sJAOAwB,GACAkB,EAAA1C,EAAAmB,GAEAnB,EA7OA,GAYA+C,GAYAvB,EAxBAyB,EAAA,YAGAC,EAAArD,EAAAe,UAGAoB,EAAA,qEAGAJ,EAAA,6GAMAP,EAAA,aAGAC,EAAA,EAGAF,MAKA,WACA,IACA,GAAA+B,GAAArD,EAAAI,cAAA,IACAiD,GAAA7C,UAAA,cAEAyC,EAAA,UAAAI,GAEA3B,EAAA,GAAA2B,EAAAC,WAAAX,QAAA,WAEA3C,EAAA,kBACA,IAAAoC,GAAApC,EAAAsC,wBACA,OACA,mBAAAF,GAAAP,WACA,mBAAAO,GAAAE,wBACA,mBAAAF,GAAAhC,iBAGK,MAAAmD,GAELN,GAAA,EACAvB,GAAA,KA6MA,IAAAZ,IAOAD,SAAAuC,EAAAvC,UAAA,0LAKAsC,UAOAH,QAAAI,EAAAJ,WAAA,EAOAtB,0BAQAkB,YAAAQ,EAAAR,eAAA,EAOAY,KAAA,UAGArC,eAGAf,gBAGAkC,yBAGAtB,cAMAjB,GAAAe,QAGAK,EAAAnB,GAEA,gBAAAnB,MAAAD,UACAC,EAAAD,QAAAkC,IAGC,mBAAAf,eAAA0D,KAAAzD","file":"fix.ie9.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _html5shiv = __webpack_require__(640);\n\t\n\tObject.keys(_html5shiv).forEach(function (key) {\n\t if (key === \"default\" || key === \"__esModule\") return;\n\t Object.defineProperty(exports, key, {\n\t enumerable: true,\n\t get: function get() {\n\t return _html5shiv[key];\n\t }\n\t });\n\t});\n\n/***/ },\n\n/***/ 640:\n/***/ function(module, exports) {\n\n\t/**\n\t* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed\n\t*/\n\t;(function(window, document) {\n\t/*jshint evil:true */\n\t /** version */\n\t var version = '3.7.3-pre';\n\t\n\t /** Preset options */\n\t var options = window.html5 || {};\n\t\n\t /** Used to skip problem elements */\n\t var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;\n\t\n\t /** Not all elements can be cloned in IE **/\n\t var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;\n\t\n\t /** Detect whether the browser supports default html5 styles */\n\t var supportsHtml5Styles;\n\t\n\t /** Name of the expando, to work with multiple documents or to re-shiv one document */\n\t var expando = '_html5shiv';\n\t\n\t /** The id for the the documents expando */\n\t var expanID = 0;\n\t\n\t /** Cached data for each document */\n\t var expandoData = {};\n\t\n\t /** Detect whether the browser supports unknown elements */\n\t var supportsUnknownElements;\n\t\n\t (function() {\n\t try {\n\t var a = document.createElement('a');\n\t a.innerHTML = '';\n\t //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles\n\t supportsHtml5Styles = ('hidden' in a);\n\t\n\t supportsUnknownElements = a.childNodes.length == 1 || (function() {\n\t // assign a false positive if unable to shiv\n\t (document.createElement)('a');\n\t var frag = document.createDocumentFragment();\n\t return (\n\t typeof frag.cloneNode == 'undefined' ||\n\t typeof frag.createDocumentFragment == 'undefined' ||\n\t typeof frag.createElement == 'undefined'\n\t );\n\t }());\n\t } catch(e) {\n\t // assign a false positive if detection fails => unable to shiv\n\t supportsHtml5Styles = true;\n\t supportsUnknownElements = true;\n\t }\n\t\n\t }());\n\t\n\t /*--------------------------------------------------------------------------*/\n\t\n\t /**\n\t * Creates a style sheet with the given CSS text and adds it to the document.\n\t * @private\n\t * @param {Document} ownerDocument The document.\n\t * @param {String} cssText The CSS text.\n\t * @returns {StyleSheet} The style element.\n\t */\n\t function addStyleSheet(ownerDocument, cssText) {\n\t var p = ownerDocument.createElement('p'),\n\t parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;\n\t\n\t p.innerHTML = 'x';\n\t return parent.insertBefore(p.lastChild, parent.firstChild);\n\t }\n\t\n\t /**\n\t * Returns the value of `html5.elements` as an array.\n\t * @private\n\t * @returns {Array} An array of shived element node names.\n\t */\n\t function getElements() {\n\t var elements = html5.elements;\n\t return typeof elements == 'string' ? elements.split(' ') : elements;\n\t }\n\t\n\t /**\n\t * Extends the built-in list of html5 elements\n\t * @memberOf html5\n\t * @param {String|Array} newElements whitespace separated list or array of new element names to shiv\n\t * @param {Document} ownerDocument The context document.\n\t */\n\t function addElements(newElements, ownerDocument) {\n\t var elements = html5.elements;\n\t if(typeof elements != 'string'){\n\t elements = elements.join(' ');\n\t }\n\t if(typeof newElements != 'string'){\n\t newElements = newElements.join(' ');\n\t }\n\t html5.elements = elements +' '+ newElements;\n\t shivDocument(ownerDocument);\n\t }\n\t\n\t /**\n\t * Returns the data associated to the given document\n\t * @private\n\t * @param {Document} ownerDocument The document.\n\t * @returns {Object} An object of data.\n\t */\n\t function getExpandoData(ownerDocument) {\n\t var data = expandoData[ownerDocument[expando]];\n\t if (!data) {\n\t data = {};\n\t expanID++;\n\t ownerDocument[expando] = expanID;\n\t expandoData[expanID] = data;\n\t }\n\t return data;\n\t }\n\t\n\t /**\n\t * returns a shived element for the given nodeName and document\n\t * @memberOf html5\n\t * @param {String} nodeName name of the element\n\t * @param {Document} ownerDocument The context document.\n\t * @returns {Object} The shived element.\n\t */\n\t function createElement(nodeName, ownerDocument, data){\n\t if (!ownerDocument) {\n\t ownerDocument = document;\n\t }\n\t if(supportsUnknownElements){\n\t return ownerDocument.createElement(nodeName);\n\t }\n\t if (!data) {\n\t data = getExpandoData(ownerDocument);\n\t }\n\t var node;\n\t\n\t if (data.cache[nodeName]) {\n\t node = data.cache[nodeName].cloneNode();\n\t } else if (saveClones.test(nodeName)) {\n\t node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();\n\t } else {\n\t node = data.createElem(nodeName);\n\t }\n\t\n\t // Avoid adding some elements to fragments in IE < 9 because\n\t // * Attributes like `name` or `type` cannot be set/changed once an element\n\t // is inserted into a document/fragment\n\t // * Link elements with `src` attributes that are inaccessible, as with\n\t // a 403 response, will cause the tab/window to crash\n\t // * Script elements appended to fragments will execute when their `src`\n\t // or `text` property is set\n\t return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;\n\t }\n\t\n\t /**\n\t * returns a shived DocumentFragment for the given document\n\t * @memberOf html5\n\t * @param {Document} ownerDocument The context document.\n\t * @returns {Object} The shived DocumentFragment.\n\t */\n\t function createDocumentFragment(ownerDocument, data){\n\t if (!ownerDocument) {\n\t ownerDocument = document;\n\t }\n\t if(supportsUnknownElements){\n\t return ownerDocument.createDocumentFragment();\n\t }\n\t data = data || getExpandoData(ownerDocument);\n\t var clone = data.frag.cloneNode(),\n\t i = 0,\n\t elems = getElements(),\n\t l = elems.length;\n\t for(;i
'}),n.prototype=e.extend({},e.fn.tooltip.Constructor.prototype),n.prototype.constructor=n,n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.setContent=function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof n?"html":"append":"text"](n),e.removeClass("fade top bottom left right in"),e.find(".popover-title").html()||e.find(".popover-title").hide(); -},n.prototype.hasContent=function(){return this.getTitle()||this.getContent()},n.prototype.getContent=function(){var e=this.$element,t=this.options;return e.attr("data-content")||("function"==typeof t.content?t.content.call(e[0]):t.content)},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var r=e.fn.popover;e.fn.popover=t,e.fn.popover.Constructor=n,e.fn.popover.noConflict=function(){return e.fn.popover=r,this}}(e)}).call(t,n(16))},function(e,t,n){(function(e){+function(e){"use strict";function t(n,r){this.$body=e(document.body),this.$scrollElement=e(e(n).is(document.body)?window:n),this.options=e.extend({},t.DEFAULTS,r),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e.proxy(this.process,this)),this.refresh(),this.process()}function n(n){return this.each(function(){var r=e(this),o=r.data("bs.scrollspy"),i="object"==typeof n&&n;o||r.data("bs.scrollspy",o=new t(this,i)),"string"==typeof n&&o[n]()})}t.VERSION="3.3.7",t.DEFAULTS={offset:10},t.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},t.prototype.refresh=function(){var t=this,n="offset",r=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),e.isWindow(this.$scrollElement[0])||(n="position",r=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=e(this),o=t.data("target")||t.attr("href"),i=/^#./.test(o)&&e(o);return i&&i.length&&i.is(":visible")&&[[i[n]().top+r,o]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},t.prototype.process=function(){var e,t=this.$scrollElement.scrollTop()+this.options.offset,n=this.getScrollHeight(),r=this.options.offset+n-this.$scrollElement.height(),o=this.offsets,i=this.targets,a=this.activeTarget;if(this.scrollHeight!=n&&this.refresh(),t>=r)return a!=(e=i[i.length-1])&&this.activate(e);if(a&&t=o[e]&&(void 0===o[e+1]||t .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),o&&o()}var a=r.find("> .active"),s=o&&e.support.transition&&(a.length&&a.hasClass("fade")||!!r.find("> .fade").length);a.length&&s?a.one("bsTransitionEnd",i).emulateTransitionEnd(n.TRANSITION_DURATION):i(),a.removeClass("in")};var r=e.fn.tab;e.fn.tab=t,e.fn.tab.Constructor=n,e.fn.tab.noConflict=function(){return e.fn.tab=r,this};var o=function(n){n.preventDefault(),t.call(e(this),"show")};e(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',o).on("click.bs.tab.data-api",'[data-toggle="pill"]',o)}(e)}).call(t,n(16))},function(e,t,n){(function(e){+function(e){"use strict";function t(t){return this.each(function(){var r=e(this),o=r.data("bs.tooltip"),i="object"==typeof t&&t;!o&&/destroy|hide/.test(t)||(o||r.data("bs.tooltip",o=new n(this,i)),"string"==typeof t&&o[t]())})}var n=function(e,t){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",e,t)};n.VERSION="3.3.7",n.TRANSITION_DURATION=150,n.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},n.prototype.init=function(t,n,r){if(this.enabled=!0,this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.$viewport=this.options.viewport&&e(e.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),i=o.length;i--;){var a=o[i];if("click"==a)this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this));else if("manual"!=a){var s="hover"==a?"mouseenter":"focusin",u="hover"==a?"mouseleave":"focusout";this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(u+"."+this.type,this.options.selector,e.proxy(this.leave,this))}}this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.getOptions=function(t){return t=e.extend({},this.getDefaults(),this.$element.data(),t),t.delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t},n.prototype.getDelegateOptions=function(){var t={},n=this.getDefaults();return this._options&&e.each(this._options,function(e,r){n[e]!=r&&(t[e]=r)}),t},n.prototype.enter=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusin"==t.type?"focus":"hover"]=!0),n.tip().hasClass("in")||"in"==n.hoverState?void(n.hoverState="in"):(clearTimeout(n.timeout),n.hoverState="in",n.options.delay&&n.options.delay.show?void(n.timeout=setTimeout(function(){"in"==n.hoverState&&n.show()},n.options.delay.show)):n.show())},n.prototype.isInStateTrue=function(){for(var e in this.inState)if(this.inState[e])return!0;return!1},n.prototype.leave=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);if(n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusout"==t.type?"focus":"hover"]=!1),!n.isInStateTrue())return clearTimeout(n.timeout),n.hoverState="out",n.options.delay&&n.options.delay.hide?void(n.timeout=setTimeout(function(){"out"==n.hoverState&&n.hide()},n.options.delay.hide)):n.hide()},n.prototype.show=function(){var t=e.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var r=e.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!r)return;var o=this,i=this.tip(),a=this.getUID(this.type);this.setContent(),i.attr("id",a),this.$element.attr("aria-describedby",a),this.options.animation&&i.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,i[0],this.$element[0]):this.options.placement,u=/\s?auto?\s?/i,c=u.test(s);c&&(s=s.replace(u,"")||"top"),i.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?i.appendTo(this.options.container):i.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),f=i[0].offsetWidth,p=i[0].offsetHeight;if(c){var d=s,h=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+p>h.bottom?"top":"top"==s&&l.top-ph.width?"left":"left"==s&&l.left-fa.top+a.height&&(o.top=a.top+a.height-u)}else{var c=t.left-i,l=t.left+i+n;ca.right&&(o.left=a.left+a.width-l)}return o},n.prototype.getTitle=function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||("function"==typeof n.title?n.title.call(t[0]):n.title)},n.prototype.getUID=function(e){do e+=~~(1e6*Math.random());while(document.getElementById(e));return e},n.prototype.tip=function(){if(!this.$tip&&(this.$tip=e(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},n.prototype.enable=function(){this.enabled=!0},n.prototype.disable=function(){this.enabled=!1},n.prototype.toggleEnabled=function(){this.enabled=!this.enabled},n.prototype.toggle=function(t){var n=this;t&&(n=e(t.currentTarget).data("bs."+this.type),n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n))),t?(n.inState.click=!n.inState.click,n.isInStateTrue()?n.enter(n):n.leave(n)):n.tip().hasClass("in")?n.leave(n):n.enter(n)},n.prototype.destroy=function(){var e=this;clearTimeout(this.timeout),this.hide(function(){e.$element.off("."+e.type).removeData("bs."+e.type),e.$tip&&e.$tip.detach(),e.$tip=null,e.$arrow=null,e.$viewport=null,e.$element=null})};var r=e.fn.tooltip;e.fn.tooltip=t,e.fn.tooltip.Constructor=n,e.fn.tooltip.noConflict=function(){return e.fn.tooltip=r,this}}(e)}).call(t,n(16))},function(e,t,n){(function(e){+function(e){"use strict";function t(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in t)if(void 0!==e.style[n])return{end:t[n]};return!1}e.fn.emulateTransitionEnd=function(t){var n=!1,r=this;e(this).one("bsTransitionEnd",function(){n=!0});var o=function(){n||e(r).trigger(e.support.transition.end)};return setTimeout(o,t),this},e(function(){e.support.transition=t(),e.support.transition&&(e.event.special.bsTransitionEnd={bindType:e.support.transition.end,delegateType:e.support.transition.end,handle:function(t){if(e(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}})})}(e)}).call(t,n(16))},function(e,t,n){n(422),e.exports=n(41).RegExp.escape},function(e,t,n){var r=n(9),o=n(151),i=n(10)("species");e.exports=function(e){var t;return o(e)&&(t=e.constructor,"function"!=typeof t||t!==Array&&!o(t.prototype)||(t=void 0),r(t)&&(t=t[i],null===t&&(t=void 0))),void 0===t?Array:t}},function(e,t,n){var r=n(413);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){"use strict";var r=n(4),o=n(43),i="number";e.exports=function(e){if("string"!==e&&e!==i&&"default"!==e)throw TypeError("Incorrect hint");return o(r(this),e!=i)}},function(e,t,n){var r=n(70),o=n(113),i=n(93);e.exports=function(e){var t=r(e),n=o.f;if(n)for(var a,s=n(e),u=i.f,c=0;s.length>c;)u.call(e,a=s[c++])&&t.push(a);return t}},function(e,t,n){var r=n(70),o=n(30);e.exports=function(e,t){for(var n,i=o(e),a=r(i),s=a.length,u=0;s>u;)if(i[n=a[u++]]===t)return n}},function(e,t,n){"use strict";var r=n(419),o=n(109),i=n(27);e.exports=function(){for(var e=i(this),t=arguments.length,n=Array(t),a=0,s=r._,u=!1;t>a;)(n[a]=arguments[a++])===s&&(u=!0);return function(){var r,i=this,a=arguments.length,c=0,l=0;if(!u&&!a)return o(e,n,i);if(r=n.slice(),u)for(;t>c;c++)r[c]===s&&(r[c]=arguments[l++]);for(;a>l;)r.push(arguments[l++]);return o(e,r,i)}}},function(e,t,n){e.exports=n(7)},function(e,t){e.exports=function(e,t){var n=t===Object(t)?function(e){return t[e]}:t;return function(t){return String(t).replace(e,n)}}},function(e,t,n){var r=n(82),o=n(10)("iterator"),i=n(66);e.exports=n(41).isIterable=function(e){var t=Object(e);return void 0!==t[o]||"@@iterator"in t||i.hasOwnProperty(r(t))}},function(e,t,n){var r=n(1),o=n(420)(/[\\^$*+?.()|[\]{}]/g,"\\$&");r(r.S,"RegExp",{escape:function(e){return o(e)}})},function(e,t,n){var r=n(1);r(r.P,"Array",{copyWithin:n(218)}),n(81)("copyWithin")},function(e,t,n){"use strict";var r=n(1),o=n(40)(4);r(r.P+r.F*!n(37)([].every,!0),"Array",{every:function(e){return o(this,e,arguments[1])}})},function(e,t,n){var r=n(1);r(r.P,"Array",{fill:n(143)}),n(81)("fill")},function(e,t,n){"use strict";var r=n(1),o=n(40)(2);r(r.P+r.F*!n(37)([].filter,!0),"Array",{filter:function(e){return o(this,e,arguments[1])}})},function(e,t,n){"use strict";var r=n(1),o=n(40)(6),i="findIndex",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,"Array",{findIndex:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),n(81)(i)},function(e,t,n){"use strict";var r=n(1),o=n(40)(5),i="find",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,"Array",{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),n(81)(i)},function(e,t,n){"use strict";var r=n(1),o=n(40)(0),i=n(37)([].forEach,!0);r(r.P+r.F*!i,"Array",{forEach:function(e){return o(this,e,arguments[1])}})},function(e,t,n){"use strict";var r=n(51),o=n(1),i=n(20),a=n(226),s=n(150),u=n(19),c=n(144),l=n(167);o(o.S+o.F*!n(111)(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,o,f,p=i(e),d="function"==typeof this?this:Array,h=arguments.length,m=h>1?arguments[1]:void 0,v=void 0!==m,y=0,g=l(p);if(v&&(m=r(m,h>2?arguments[2]:void 0,2)),void 0==g||d==Array&&s(g))for(t=u(p.length),n=new d(t);t>y;y++)c(n,y,v?m(p[y],y):p[y]);else for(f=g.call(p),n=new d;!(o=f.next()).done;y++)c(n,y,v?a(f,m,[o.value,y],!0):o.value);return n.length=y,n}})},function(e,t,n){"use strict";var r=n(1),o=n(105)(!1),i=[].indexOf,a=!!i&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(a||!n(37)(i)),"Array",{indexOf:function(e){return a?i.apply(this,arguments)||0:o(this,e,arguments[1])}})},function(e,t,n){var r=n(1);r(r.S,"Array",{isArray:n(151)})},function(e,t,n){"use strict";var r=n(1),o=n(30),i=[].join;r(r.P+r.F*(n(92)!=Object||!n(37)(i)),"Array",{join:function(e){return i.call(o(this),void 0===e?",":e)}})},function(e,t,n){"use strict";var r=n(1),o=n(30),i=n(60),a=n(19),s=[].lastIndexOf,u=!!s&&1/[1].lastIndexOf(1,-0)<0;r(r.P+r.F*(u||!n(37)(s)),"Array",{lastIndexOf:function(e){if(u)return s.apply(this,arguments)||0;var t=o(this),n=a(t.length),r=n-1;for(arguments.length>1&&(r=Math.min(r,i(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in t&&t[r]===e)return r||0;return-1}})},function(e,t,n){"use strict";var r=n(1),o=n(40)(1);r(r.P+r.F*!n(37)([].map,!0),"Array",{map:function(e){return o(this,e,arguments[1])}})},function(e,t,n){"use strict";var r=n(1),o=n(144);r(r.S+r.F*n(8)(function(){function e(){}return!(Array.of.call(e)instanceof e)}),"Array",{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)o(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var r=n(1),o=n(220);r(r.P+r.F*!n(37)([].reduceRight,!0),"Array",{reduceRight:function(e){return o(this,e,arguments.length,arguments[1],!0)}})},function(e,t,n){"use strict";var r=n(1),o=n(220);r(r.P+r.F*!n(37)([].reduce,!0),"Array",{reduce:function(e){return o(this,e,arguments.length,arguments[1],!1)}})},function(e,t,n){"use strict";var r=n(1),o=n(148),i=n(35),a=n(73),s=n(19),u=[].slice;r(r.P+r.F*n(8)(function(){o&&u.call(o)}),"Array",{slice:function(e,t){var n=s(this.length),r=i(this);if(t=void 0===t?n:t,"Array"==r)return u.call(this,e,t);for(var o=a(e,n),c=a(t,n),l=s(c-o),f=Array(l),p=0;p9?e:"0"+e};r(r.P+r.F*(o(function(){return"0385-07-25T07:06:39.999Z"!=new Date(-5e13-1).toISOString()})||!o(function(){new Date(NaN).toISOString()})),"Date",{toISOString:function(){if(!isFinite(i.call(this)))throw RangeError("Invalid time value");var e=this,t=e.getUTCFullYear(),n=e.getUTCMilliseconds(),r=t<0?"-":t>9999?"+":"";return r+("00000"+Math.abs(t)).slice(r?-6:-4)+"-"+a(e.getUTCMonth()+1)+"-"+a(e.getUTCDate())+"T"+a(e.getUTCHours())+":"+a(e.getUTCMinutes())+":"+a(e.getUTCSeconds())+"."+(n>99?n:"0"+a(n))+"Z"}})},function(e,t,n){"use strict";var r=n(1),o=n(20),i=n(43);r(r.P+r.F*n(8)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function(e){var t=o(this),n=i(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){var r=n(10)("toPrimitive"),o=Date.prototype;r in o||n(24)(o,r,n(415))},function(e,t,n){var r=Date.prototype,o="Invalid Date",i="toString",a=r[i],s=r.getTime;new Date(NaN)+""!=o&&n(28)(r,i,function(){var e=s.call(this);return e===e?a.call(this):o})},function(e,t,n){var r=n(1);r(r.P,"Function",{bind:n(221)})},function(e,t,n){"use strict";var r=n(9),o=n(33),i=n(10)("hasInstance"),a=Function.prototype;i in a||n(14).f(a,i,{value:function(e){if("function"!=typeof this||!r(e))return!1;if(!r(this.prototype))return e instanceof this;for(;e=o(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){var r=n(14).f,o=n(59),i=n(23),a=Function.prototype,s=/^\s*function ([^ (]*)/,u="name",c=Object.isExtensible||function(){return!0};u in a||n(13)&&r(a,u,{configurable:!0,get:function(){try{var e=this,t=(""+e).match(s)[1];return i(e,u)||!c(e)||r(e,u,o(5,t)),t}catch(n){return""}}})},function(e,t,n){var r=n(1),o=n(228),i=Math.sqrt,a=Math.acosh;r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),"Math",{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?Math.log(e)+Math.LN2:o(e-1+i(e-1)*i(e+1))}})},function(e,t,n){function r(e){return isFinite(e=+e)&&0!=e?e<0?-r(-e):Math.log(e+Math.sqrt(e*e+1)):e}var o=n(1),i=Math.asinh;o(o.S+o.F*!(i&&1/i(0)>0),"Math",{asinh:r})},function(e,t,n){var r=n(1),o=Math.atanh;r(r.S+r.F*!(o&&1/o(-0)<0),"Math",{atanh:function(e){return 0==(e=+e)?e:Math.log((1+e)/(1-e))/2}})},function(e,t,n){var r=n(1),o=n(156);r(r.S,"Math",{cbrt:function(e){return o(e=+e)*Math.pow(Math.abs(e),1/3)}})},function(e,t,n){var r=n(1);r(r.S,"Math",{clz32:function(e){return(e>>>=0)?31-Math.floor(Math.log(e+.5)*Math.LOG2E):32}})},function(e,t,n){var r=n(1),o=Math.exp;r(r.S,"Math",{cosh:function(e){return(o(e=+e)+o(-e))/2}})},function(e,t,n){var r=n(1),o=n(155);r(r.S+r.F*(o!=Math.expm1),"Math",{expm1:o})},function(e,t,n){var r=n(1),o=n(156),i=Math.pow,a=i(2,-52),s=i(2,-23),u=i(2,127)*(2-s),c=i(2,-126),l=function(e){return e+1/a-1/a};r(r.S,"Math",{fround:function(e){var t,n,r=Math.abs(e),i=o(e);return ru||n!=n?i*(1/0):i*n)}})},function(e,t,n){var r=n(1),o=Math.abs;r(r.S,"Math",{hypot:function(e,t){for(var n,r,i=0,a=0,s=arguments.length,u=0;a0?(r=n/u,i+=r*r):i+=n;return u===1/0?1/0:u*Math.sqrt(i)}})},function(e,t,n){var r=n(1),o=Math.imul;r(r.S+r.F*n(8)(function(){return o(4294967295,5)!=-5||2!=o.length}),"Math",{imul:function(e,t){var n=65535,r=+e,o=+t,i=n&r,a=n&o;return 0|i*a+((n&r>>>16)*a+i*(n&o>>>16)<<16>>>0)}})},function(e,t,n){var r=n(1);r(r.S,"Math",{log10:function(e){return Math.log(e)/Math.LN10}})},function(e,t,n){var r=n(1);r(r.S,"Math",{log1p:n(228)})},function(e,t,n){var r=n(1);r(r.S,"Math",{log2:function(e){return Math.log(e)/Math.LN2}})},function(e,t,n){var r=n(1);r(r.S,"Math",{sign:n(156)})},function(e,t,n){var r=n(1),o=n(155),i=Math.exp;r(r.S+r.F*n(8)(function(){return!Math.sinh(-2e-17)!=-2e-17}),"Math",{sinh:function(e){return Math.abs(e=+e)<1?(o(e)-o(-e))/2:(i(e-1)-i(-e-1))*(Math.E/2)}})},function(e,t,n){var r=n(1),o=n(155),i=Math.exp;r(r.S,"Math",{tanh:function(e){var t=o(e=+e),n=o(-e);return t==1/0?1:n==1/0?-1:(t-n)/(i(e)+i(-e))}})},function(e,t,n){var r=n(1);r(r.S,"Math",{trunc:function(e){return(e>0?Math.floor:Math.ceil)(e)}})},function(e,t,n){"use strict";var r=n(7),o=n(23),i=n(35),a=n(149),s=n(43),u=n(8),c=n(69).f,l=n(32).f,f=n(14).f,p=n(85).trim,d="Number",h=r[d],m=h,v=h.prototype,y=i(n(68)(v))==d,g="trim"in String.prototype,b=function(e){var t=s(e,!1);if("string"==typeof t&&t.length>2){t=g?t.trim():p(t,3);var n,r,o,i=t.charCodeAt(0);if(43===i||45===i){if(n=t.charCodeAt(2),88===n||120===n)return NaN}else if(48===i){switch(t.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+t}for(var a,u=t.slice(2),c=0,l=u.length;co)return NaN;return parseInt(u,r)}}return+t};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof h&&(y?u(function(){v.valueOf.call(n)}):i(n)!=d)?a(new m(b(t)),n,h):b(t)};for(var _,w=n(13)?c(m):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),E=0;w.length>E;E++)o(m,_=w[E])&&!o(h,_)&&f(h,_,l(m,_));h.prototype=v,v.constructor=h,n(28)(r,d,h)}},function(e,t,n){var r=n(1);r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(e,t,n){var r=n(1),o=n(7).isFinite;r(r.S,"Number",{isFinite:function(e){return"number"==typeof e&&o(e)}})},function(e,t,n){var r=n(1);r(r.S,"Number",{isInteger:n(152)})},function(e,t,n){var r=n(1);r(r.S,"Number",{isNaN:function(e){return e!=e}})},function(e,t,n){var r=n(1),o=n(152),i=Math.abs;r(r.S,"Number",{isSafeInteger:function(e){return o(e)&&i(e)<=9007199254740991}})},function(e,t,n){var r=n(1);r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){var r=n(1);r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){var r=n(1),o=n(235);r(r.S+r.F*(Number.parseFloat!=o),"Number",{parseFloat:o})},function(e,t,n){var r=n(1),o=n(236);r(r.S+r.F*(Number.parseInt!=o),"Number",{parseInt:o})},function(e,t,n){"use strict";var r=n(1),o=(n(57),n(60)),i=n(217),a=n(162),s=1..toFixed,u=Math.floor,c=[0,0,0,0,0,0],l="Number.toFixed: incorrect invocation!",f="0",p=function(e,t){for(var n=-1,r=t;++n<6;)r+=e*c[n],c[n]=r%1e7,r=u(r/1e7)},d=function(e){for(var t=6,n=0;--t>=0;)n+=c[t],c[t]=u(n/e),n=n%e*1e7},h=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==c[e]){var n=String(c[e]);t=""===t?n:t+a.call(f,7-n.length)+n}return t},m=function(e,t,n){return 0===t?n:t%2===1?m(e,t-1,n*e):m(e*e,t/2,n)},v=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t};r(r.P+r.F*(!!s&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!n(8)(function(){s.call({})})),"Number",{toFixed:function(e){var t,n,r,s,u=i(this,l),c=o(e),y="",g=f;if(c<0||c>20)throw RangeError(l);if(u!=u)return"NaN";if(u<=-1e21||u>=1e21)return String(u);if(u<0&&(y="-",u=-u),u>1e-21)if(t=v(u*m(2,69,1))-69,n=t<0?u*m(2,-t,1):u/m(2,t,1),n*=4503599627370496,t=52-t,t>0){for(p(0,n),r=c;r>=7;)p(1e7,0),r-=7;for(p(m(10,r,1),0),r=t-1;r>=23;)d(1<<23),r-=23;d(1<0?(s=g.length,g=y+(s<=c?"0."+a.call(f,c-s)+g:g.slice(0,s-c)+"."+g.slice(s-c))):g=y+g,g}})},function(e,t,n){"use strict";var r=n(1),o=n(8),i=n(217),a=1..toPrecision;r(r.P+r.F*(o(function(){return"1"!==a.call(1,void 0)})||!o(function(){a.call({})})),"Number",{toPrecision:function(e){var t=i(this,"Number#toPrecision: incorrect invocation!");return void 0===e?a.call(t):a.call(t,e)}})},function(e,t,n){var r=n(1);r(r.S+r.F,"Object",{assign:n(229)})},function(e,t,n){var r=n(1);r(r.S,"Object",{create:n(68)})},function(e,t,n){var r=n(1);r(r.S+r.F*!n(13),"Object",{defineProperties:n(230)})},function(e,t,n){var r=n(1);r(r.S+r.F*!n(13),"Object",{defineProperty:n(14).f})},function(e,t,n){var r=n(9),o=n(58).onFreeze;n(42)("freeze",function(e){return function(t){return e&&r(t)?e(o(t)):t}})},function(e,t,n){var r=n(30),o=n(32).f;n(42)("getOwnPropertyDescriptor",function(){return function(e,t){return o(r(e),t)}})},function(e,t,n){n(42)("getOwnPropertyNames",function(){return n(231).f})},function(e,t,n){var r=n(20),o=n(33);n(42)("getPrototypeOf",function(){return function(e){return o(r(e))}})},function(e,t,n){var r=n(9);n(42)("isExtensible",function(e){return function(t){return!!r(t)&&(!e||e(t))}})},function(e,t,n){var r=n(9);n(42)("isFrozen",function(e){return function(t){return!r(t)||!!e&&e(t)}})},function(e,t,n){var r=n(9);n(42)("isSealed",function(e){return function(t){return!r(t)||!!e&&e(t)}})},function(e,t,n){var r=n(1);r(r.S,"Object",{is:n(237)})},function(e,t,n){var r=n(20),o=n(70);n(42)("keys",function(){return function(e){return o(r(e))}})},function(e,t,n){var r=n(9),o=n(58).onFreeze;n(42)("preventExtensions",function(e){return function(t){return e&&r(t)?e(o(t)):t}})},function(e,t,n){var r=n(9),o=n(58).onFreeze;n(42)("seal",function(e){return function(t){return e&&r(t)?e(o(t)):t}})},function(e,t,n){var r=n(1);r(r.S,"Object",{setPrototypeOf:n(114).set})},function(e,t,n){"use strict";var r=n(82),o={};o[n(10)("toStringTag")]="z",o+""!="[object z]"&&n(28)(Object.prototype,"toString",function(){return"[object "+r(this)+"]"},!0)},function(e,t,n){var r=n(1),o=n(235);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(e,t,n){var r=n(1),o=n(236);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(e,t,n){"use strict";var r,o,i,a=n(67),s=n(7),u=n(51),c=n(82),l=n(1),f=n(9),p=(n(4),n(27)),d=n(57),h=n(83),m=(n(114).set,n(159)),v=n(164).set,y=n(157)(),g="Promise",b=s.TypeError,_=s.process,w=s[g],_=s.process,E="process"==c(_),x=function(){},P=!!function(){try{var e=w.resolve(1),t=(e.constructor={})[n(10)("species")]=function(e){e(x,x)};return(E||"function"==typeof PromiseRejectionEvent)&&e.then(x)instanceof t}catch(r){}}(),T=function(e,t){return e===t||e===w&&t===i},S=function(e){var t;return!(!f(e)||"function"!=typeof(t=e.then))&&t},O=function(e){return T(w,e)?new C(e):new o(e)},C=o=function(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw b("Bad Promise constructor");t=e,n=r}),this.resolve=p(t),this.reject=p(n)},A=function(e){try{e()}catch(t){return{error:t}}},k=function(e,t){if(!e._n){e._n=!0;var n=e._c;y(function(){for(var r=e._v,o=1==e._s,i=0,a=function(t){var n,i,a=o?t.ok:t.fail,s=t.resolve,u=t.reject,c=t.domain;try{a?(o||(2==e._h&&N(e),e._h=1),a===!0?n=r:(c&&c.enter(),n=a(r),c&&c.exit()),n===t.promise?u(b("Promise-chain cycle")):(i=S(n))?i.call(n,s,u):s(n)):u(r)}catch(l){u(l)}};n.length>i;)a(n[i++]);e._c=[],e._n=!1,t&&!e._h&&M(e)})}},M=function(e){v.call(s,function(){var t,n,r,o=e._v;if(F(e)&&(t=A(function(){E?_.emit("unhandledRejection",o,e):(n=s.onunhandledrejection)?n({promise:e,reason:o}):(r=s.console)&&r.error&&r.error("Unhandled promise rejection",o)}),e._h=E||F(e)?2:1),e._a=void 0,t)throw t.error})},F=function(e){if(1==e._h)return!1;for(var t,n=e._a||e._c,r=0;n.length>r;)if(t=n[r++],t.fail||!F(t.promise))return!1;return!0},N=function(e){v.call(s,function(){var t;E?_.emit("rejectionHandled",e):(t=s.onrejectionhandled)&&t({promise:e,reason:e._v})})},I=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||(t._a=t._c.slice()),k(t,!0))},R=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw b("Promise can't be resolved itself");(t=S(e))?y(function(){var r={_w:n,_d:!1};try{t.call(e,u(R,r,1),u(I,r,1))}catch(o){I.call(r,o)}}):(n._v=e,n._s=1,k(n,!1))}catch(r){I.call({_w:n,_d:!1},r)}}};P||(w=function(e){d(this,w,g,"_h"),p(e),r.call(this);try{e(u(R,this,1),u(I,this,1))}catch(t){I.call(this,t)}},r=function(e){ -this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(71)(w.prototype,{then:function(e,t){var n=O(m(this,w));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=E?_.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&k(this,!1),n.promise},"catch":function(e){return this.then(void 0,e)}}),C=function(){var e=new r;this.promise=e,this.resolve=u(R,e,1),this.reject=u(I,e,1)}),l(l.G+l.W+l.F*!P,{Promise:w}),n(84)(w,g),n(72)(g),i=n(41)[g],l(l.S+l.F*!P,g,{reject:function(e){var t=O(this),n=t.reject;return n(e),t.promise}}),l(l.S+l.F*(a||!P),g,{resolve:function(e){if(e instanceof w&&T(e.constructor,this))return e;var t=O(this),n=t.resolve;return n(e),t.promise}}),l(l.S+l.F*!(P&&n(111)(function(e){w.all(e).catch(x)})),g,{all:function(e){var t=this,n=O(t),r=n.resolve,o=n.reject,i=A(function(){var n=[],i=0,a=1;h(e,!1,function(e){var s=i++,u=!1;n.push(void 0),a++,t.resolve(e).then(function(e){u||(u=!0,n[s]=e,--a||r(n))},o)}),--a||r(n)});return i&&o(i.error),n.promise},race:function(e){var t=this,n=O(t),r=n.reject,o=A(function(){h(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return o&&r(o.error),n.promise}})},function(e,t,n){var r=n(1),o=n(27),i=n(4),a=Function.apply;r(r.S,"Reflect",{apply:function(e,t,n){return a.call(o(e),t,i(n))}})},function(e,t,n){var r=n(1),o=n(68),i=n(27),a=n(4),s=n(9),u=n(221);r(r.S+r.F*n(8)(function(){function e(){}return!(Reflect.construct(function(){},[],e)instanceof e)}),"Reflect",{construct:function(e,t){i(e),a(t);var n=arguments.length<3?e:i(arguments[2]);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var r=[null];return r.push.apply(r,t),new(u.apply(e,r))}var c=n.prototype,l=o(s(c)?c:Object.prototype),f=Function.apply.call(e,l,t);return s(f)?f:l}})},function(e,t,n){var r=n(14),o=n(1),i=n(4),a=n(43);o(o.S+o.F*n(8)(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(e,t,n){i(e),t=a(t,!0),i(n);try{return r.f(e,t,n),!0}catch(o){return!1}}})},function(e,t,n){var r=n(1),o=n(32).f,i=n(4);r(r.S,"Reflect",{deleteProperty:function(e,t){var n=o(i(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var r=n(1),o=n(4),i=function(e){this._t=o(e),this._i=0;var t,n=this._k=[];for(t in e)n.push(t)};n(153)(i,"Object",function(){var e,t=this,n=t._k;do if(t._i>=n.length)return{value:void 0,done:!0};while(!((e=n[t._i++])in t._t));return{value:e,done:!1}}),r(r.S,"Reflect",{enumerate:function(e){return new i(e)}})},function(e,t,n){var r=n(32),o=n(1),i=n(4);o(o.S,"Reflect",{getOwnPropertyDescriptor:function(e,t){return r.f(i(e),t)}})},function(e,t,n){var r=n(1),o=n(33),i=n(4);r(r.S,"Reflect",{getPrototypeOf:function(e){return o(i(e))}})},function(e,t,n){function r(e,t){var n,s,l=arguments.length<3?e:arguments[2];return c(e)===l?e[t]:(n=o.f(e,t))?a(n,"value")?n.value:void 0!==n.get?n.get.call(l):void 0:u(s=i(e))?r(s,t,l):void 0}var o=n(32),i=n(33),a=n(23),s=n(1),u=n(9),c=n(4);s(s.S,"Reflect",{get:r})},function(e,t,n){var r=n(1);r(r.S,"Reflect",{has:function(e,t){return t in e}})},function(e,t,n){var r=n(1),o=n(4),i=Object.isExtensible;r(r.S,"Reflect",{isExtensible:function(e){return o(e),!i||i(e)}})},function(e,t,n){var r=n(1);r(r.S,"Reflect",{ownKeys:n(234)})},function(e,t,n){var r=n(1),o=n(4),i=Object.preventExtensions;r(r.S,"Reflect",{preventExtensions:function(e){o(e);try{return i&&i(e),!0}catch(t){return!1}}})},function(e,t,n){var r=n(1),o=n(114);o&&r(r.S,"Reflect",{setPrototypeOf:function(e,t){o.check(e,t);try{return o.set(e,t),!0}catch(n){return!1}}})},function(e,t,n){function r(e,t,n){var u,p,d=arguments.length<4?e:arguments[3],h=i.f(l(e),t);if(!h){if(f(p=a(e)))return r(p,t,n,d);h=c(0)}return s(h,"value")?!(h.writable===!1||!f(d))&&(u=i.f(d,t)||c(0),u.value=n,o.f(d,t,u),!0):void 0!==h.set&&(h.set.call(d,n),!0)}var o=n(14),i=n(32),a=n(33),s=n(23),u=n(1),c=n(59),l=n(4),f=n(9);u(u.S,"Reflect",{set:r})},function(e,t,n){var r=n(7),o=n(149),i=n(14).f,a=n(69).f,s=n(110),u=n(108),c=r.RegExp,l=c,f=c.prototype,p=/a/g,d=/a/g,h=new c(p)!==p;if(n(13)&&(!h||n(8)(function(){return d[n(10)("match")]=!1,c(p)!=p||c(d)==d||"/a/i"!=c(p,"i")}))){c=function(e,t){var n=this instanceof c,r=s(e),i=void 0===t;return!n&&r&&e.constructor===c&&i?e:o(h?new l(r&&!i?e.source:e,t):l((r=e instanceof c)?e.source:e,r&&i?u.call(e):t),n?this:f,c)};for(var m=(function(e){e in c||i(c,e,{configurable:!0,get:function(){return l[e]},set:function(t){l[e]=t}})}),v=a(l),y=0;v.length>y;)m(v[y++]);f.constructor=c,c.prototype=f,n(28)(r,"RegExp",c)}n(72)("RegExp")},function(e,t,n){n(107)("match",1,function(e,t,n){return[function(n){"use strict";var r=e(this),o=void 0==n?void 0:n[t];return void 0!==o?o.call(n,r):new RegExp(n)[t](String(r))},n]})},function(e,t,n){n(107)("replace",2,function(e,t,n){return[function(r,o){"use strict";var i=e(this),a=void 0==r?void 0:r[t];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},n]})},function(e,t,n){n(107)("search",1,function(e,t,n){return[function(n){"use strict";var r=e(this),o=void 0==n?void 0:n[t];return void 0!==o?o.call(n,r):new RegExp(n)[t](String(r))},n]})},function(e,t,n){n(107)("split",2,function(e,t,r){"use strict";var o=n(110),i=r,a=[].push,s="split",u="length",c="lastIndex";if("c"=="abbc"[s](/(b)*/)[1]||4!="test"[s](/(?:)/,-1)[u]||2!="ab"[s](/(?:ab)*/)[u]||4!="."[s](/(.?)(.?)/)[u]||"."[s](/()()/)[u]>1||""[s](/.?/)[u]){var l=void 0===/()??/.exec("")[1];r=function(e,t){var n=String(this);if(void 0===e&&0===t)return[];if(!o(e))return i.call(n,e,t);var r,s,f,p,d,h=[],m=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),v=0,y=void 0===t?4294967295:t>>>0,g=new RegExp(e.source,m+"g");for(l||(r=new RegExp("^"+g.source+"$(?!\\s)",m));(s=g.exec(n))&&(f=s.index+s[0][u],!(f>v&&(h.push(n.slice(v,s.index)),!l&&s[u]>1&&s[0].replace(r,function(){for(d=1;d1&&s.index=y)));)g[c]===s.index&&g[c]++;return v===n[u]?!p&&g.test("")||h.push(""):h.push(n.slice(v)),h[u]>y?h.slice(0,y):h}}else"0"[s](void 0,0)[u]&&(r=function(e,t){return void 0===e&&0===t?[]:i.call(this,e,t)});return[function(n,o){var i=e(this),a=void 0==n?void 0:n[t];return void 0!==a?a.call(n,i,o):r.call(String(i),n,o)},r]})},function(e,t,n){"use strict";n(241);var r=n(4),o=n(108),i=n(13),a="toString",s=/./[a],u=function(e){n(28)(RegExp.prototype,a,e,!0)};n(8)(function(){return"/a/b"!=s.call({source:"a",flags:"b"})})?u(function(){var e=r(this);return"/".concat(e.source,"/","flags"in e?e.flags:!i&&e instanceof RegExp?o.call(e):void 0)}):s.name!=a&&u(function(){return s.call(this)})},function(e,t,n){"use strict";n(29)("anchor",function(e){return function(t){return e(this,"a","name",t)}})},function(e,t,n){"use strict";n(29)("big",function(e){return function(){return e(this,"big","","")}})},function(e,t,n){"use strict";n(29)("blink",function(e){return function(){return e(this,"blink","","")}})},function(e,t,n){"use strict";n(29)("bold",function(e){return function(){return e(this,"b","","")}})},function(e,t,n){"use strict";var r=n(1),o=n(160)(!1);r(r.P,"String",{codePointAt:function(e){return o(this,e)}})},function(e,t,n){"use strict";var r=n(1),o=n(19),i=n(161),a="endsWith",s=""[a];r(r.P+r.F*n(147)(a),"String",{endsWith:function(e){var t=i(this,e,a),n=arguments.length>1?arguments[1]:void 0,r=o(t.length),u=void 0===n?r:Math.min(o(n),r),c=String(e);return s?s.call(t,c,u):t.slice(u-c.length,u)===c}})},function(e,t,n){"use strict";n(29)("fixed",function(e){return function(){return e(this,"tt","","")}})},function(e,t,n){"use strict";n(29)("fontcolor",function(e){return function(t){return e(this,"font","color",t)}})},function(e,t,n){"use strict";n(29)("fontsize",function(e){return function(t){return e(this,"font","size",t)}})},function(e,t,n){var r=n(1),o=n(73),i=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),"String",{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,a=0;r>a;){if(t=+arguments[a++],o(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?i(t):i(((t-=65536)>>10)+55296,t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var r=n(1),o=n(161),i="includes";r(r.P+r.F*n(147)(i),"String",{includes:function(e){return!!~o(this,e,i).indexOf(e,arguments.length>1?arguments[1]:void 0)}})},function(e,t,n){"use strict";n(29)("italics",function(e){return function(){return e(this,"i","","")}})},function(e,t,n){"use strict";var r=n(160)(!0);n(154)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){"use strict";n(29)("link",function(e){return function(t){return e(this,"a","href",t)}})},function(e,t,n){var r=n(1),o=n(30),i=n(19);r(r.S,"String",{raw:function(e){for(var t=o(e.raw),n=i(t.length),r=arguments.length,a=[],s=0;n>s;)a.push(String(t[s++])),s1?arguments[1]:void 0,t.length)),r=String(e);return s?s.call(t,r,n):t.slice(n,n+r.length)===r}})},function(e,t,n){"use strict";n(29)("strike",function(e){return function(){return e(this,"strike","","")}})},function(e,t,n){"use strict";n(29)("sub",function(e){return function(){return e(this,"sub","","")}})},function(e,t,n){"use strict";n(29)("sup",function(e){return function(){return e(this,"sup","","")}})},function(e,t,n){"use strict";n(85)("trim",function(e){return function(){return e(this,3)}})},function(e,t,n){"use strict";var r=n(7),o=n(23),i=n(13),a=n(1),s=n(28),u=n(58).KEY,c=n(8),l=n(115),f=n(84),p=n(74),d=n(10),h=n(239),m=n(166),v=n(417),y=n(416),g=n(151),b=n(4),_=n(30),w=n(43),E=n(59),x=n(68),P=n(231),T=n(32),S=n(14),O=n(70),C=T.f,A=S.f,k=P.f,M=r.Symbol,F=r.JSON,N=F&&F.stringify,I="prototype",R=d("_hidden"),j=d("toPrimitive"),L={}.propertyIsEnumerable,D=l("symbol-registry"),U=l("symbols"),B=l("op-symbols"),q=Object[I],H="function"==typeof M,W=r.QObject,z=!W||!W[I]||!W[I].findChild,$=i&&c(function(){return 7!=x(A({},"a",{get:function(){return A(this,"a",{value:7}).a}})).a})?function(e,t,n){var r=C(q,t);r&&delete q[t],A(e,t,n),r&&e!==q&&A(q,t,r)}:A,V=function(e){var t=U[e]=x(M[I]);return t._k=e,t},G=H&&"symbol"==typeof M.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof M},K=function(e,t,n){return e===q&&K(B,t,n),b(e),t=w(t,!0),b(n),o(U,t)?(n.enumerable?(o(e,R)&&e[R][t]&&(e[R][t]=!1),n=x(n,{enumerable:E(0,!1)})):(o(e,R)||A(e,R,E(1,{})),e[R][t]=!0),$(e,t,n)):A(e,t,n)},Y=function(e,t){b(e);for(var n,r=y(t=_(t)),o=0,i=r.length;i>o;)K(e,n=r[o++],t[n]);return e},X=function(e,t){return void 0===t?x(e):Y(x(e),t)},Q=function(e){var t=L.call(this,e=w(e,!0));return!(this===q&&o(U,e)&&!o(B,e))&&(!(t||!o(this,e)||!o(U,e)||o(this,R)&&this[R][e])||t)},J=function(e,t){if(e=_(e),t=w(t,!0),e!==q||!o(U,t)||o(B,t)){var n=C(e,t);return!n||!o(U,t)||o(e,R)&&e[R][t]||(n.enumerable=!0),n}},Z=function(e){for(var t,n=k(_(e)),r=[],i=0;n.length>i;)o(U,t=n[i++])||t==R||t==u||r.push(t);return r},ee=function(e){for(var t,n=e===q,r=k(n?B:_(e)),i=[],a=0;r.length>a;)!o(U,t=r[a++])||n&&!o(q,t)||i.push(U[t]);return i};H||(M=function(){if(this instanceof M)throw TypeError("Symbol is not a constructor!");var e=p(arguments.length>0?arguments[0]:void 0),t=function(n){this===q&&t.call(B,n),o(this,R)&&o(this[R],e)&&(this[R][e]=!1),$(this,e,E(1,n))};return i&&z&&$(q,e,{configurable:!0,set:t}),V(e)},s(M[I],"toString",function(){return this._k}),T.f=J,S.f=K,n(69).f=P.f=Z,n(93).f=Q,n(113).f=ee,i&&!n(67)&&s(q,"propertyIsEnumerable",Q,!0),h.f=function(e){return V(d(e))}),a(a.G+a.W+a.F*!H,{Symbol:M});for(var te="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),ne=0;te.length>ne;)d(te[ne++]);for(var te=O(d.store),ne=0;te.length>ne;)m(te[ne++]);a(a.S+a.F*!H,"Symbol",{"for":function(e){return o(D,e+="")?D[e]:D[e]=M(e)},keyFor:function(e){if(G(e))return v(D,e);throw TypeError(e+" is not a symbol!")},useSetter:function(){z=!0},useSimple:function(){z=!1}}),a(a.S+a.F*!H,"Object",{create:X,defineProperty:K,defineProperties:Y,getOwnPropertyDescriptor:J,getOwnPropertyNames:Z,getOwnPropertySymbols:ee}),F&&a(a.S+a.F*(!H||c(function(){var e=M();return"[null]"!=N([e])||"{}"!=N({a:e})||"{}"!=N(Object(e))})),"JSON",{stringify:function(e){if(void 0!==e&&!G(e)){for(var t,n,r=[e],o=1;arguments.length>o;)r.push(arguments[o++]);return t=r[1],"function"==typeof t&&(n=t),!n&&g(t)||(t=function(e,t){if(n&&(t=n.call(this,e,t)),!G(t))return t}),r[1]=t,N.apply(F,r)}}}),M[I][j]||n(24)(M[I],j,M[I].valueOf),f(M,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},function(e,t,n){"use strict";var r=n(1),o=n(116),i=n(165),a=n(4),s=n(73),u=n(19),c=n(9),l=(n(10)("typed_array"),n(7).ArrayBuffer),f=n(159),p=i.ArrayBuffer,d=i.DataView,h=o.ABV&&l.isView,m=p.prototype.slice,v=o.VIEW,y="ArrayBuffer";r(r.G+r.W+r.F*(l!==p),{ArrayBuffer:p}),r(r.S+r.F*!o.CONSTR,y,{isView:function(e){return h&&h(e)||c(e)&&v in e}}),r(r.P+r.U+r.F*n(8)(function(){return!new p(2).slice(1,void 0).byteLength}),y,{slice:function(e,t){if(void 0!==m&&void 0===t)return m.call(a(this),e);for(var n=a(this).byteLength,r=s(e,n),o=s(void 0===t?n:t,n),i=new(f(this,p))(u(o-r)),c=new d(this),l=new d(i),h=0;r0?arguments[0]:void 0)}},{add:function(e){return r.def(this,e,!0)}},r,!1,!0)},function(e,t,n){"use strict";var r=n(1),o=n(105)(!0);r(r.P,"Array",{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),n(81)("includes")},function(e,t,n){var r=n(1),o=n(157)(),i=n(7).process,a="process"==n(35)(i);r(r.G,{asap:function(e){var t=a&&i.domain;o(t?t.bind(e):e)}})},function(e,t,n){var r=n(1),o=n(35);r(r.S,"Error",{isError:function(e){return"Error"===o(e)}})},function(e,t,n){var r=n(1);r(r.P+r.R,"Map",{toJSON:n(223)("Map")})},function(e,t,n){var r=n(1);r(r.S,"Math",{iaddh:function(e,t,n,r){var o=e>>>0,i=t>>>0,a=n>>>0;return i+(r>>>0)+((o&a|(o|a)&~(o+a>>>0))>>>31)|0}})},function(e,t,n){var r=n(1);r(r.S,"Math",{imulh:function(e,t){var n=65535,r=+e,o=+t,i=r&n,a=o&n,s=r>>16,u=o>>16,c=(s*a>>>0)+(i*a>>>16);return s*u+(c>>16)+((i*u>>>0)+(c&n)>>16)}})},function(e,t,n){var r=n(1);r(r.S,"Math",{isubh:function(e,t,n,r){var o=e>>>0,i=t>>>0,a=n>>>0;return i-(r>>>0)-((~o&a|~(o^a)&o-a>>>0)>>>31)|0}})},function(e,t,n){var r=n(1);r(r.S,"Math",{umulh:function(e,t){var n=65535,r=+e,o=+t,i=r&n,a=o&n,s=r>>>16,u=o>>>16,c=(s*a>>>0)+(i*a>>>16);return s*u+(c>>>16)+((i*u>>>0)+(c&n)>>>16)}})},function(e,t,n){"use strict";var r=n(1),o=n(20),i=n(27),a=n(14);n(13)&&r(r.P+n(112),"Object",{__defineGetter__:function(e,t){a.f(o(this),e,{get:i(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var r=n(1),o=n(20),i=n(27),a=n(14);n(13)&&r(r.P+n(112),"Object",{__defineSetter__:function(e,t){a.f(o(this),e,{set:i(t),enumerable:!0,configurable:!0})}})},function(e,t,n){var r=n(1),o=n(233)(!0);r(r.S,"Object",{entries:function(e){return o(e)}})},function(e,t,n){var r=n(1),o=n(234),i=n(30),a=n(32),s=n(144);r(r.S,"Object",{getOwnPropertyDescriptors:function(e){for(var t,n=i(e),r=a.f,u=o(n),c={},l=0;u.length>l;)s(c,t=u[l++],r(n,t));return c}})},function(e,t,n){"use strict";var r=n(1),o=n(20),i=n(43),a=n(33),s=n(32).f;n(13)&&r(r.P+n(112),"Object",{__lookupGetter__:function(e){var t,n=o(this),r=i(e,!0);do if(t=s(n,r))return t.get;while(n=a(n))}})},function(e,t,n){"use strict";var r=n(1),o=n(20),i=n(43),a=n(33),s=n(32).f;n(13)&&r(r.P+n(112),"Object",{__lookupSetter__:function(e){var t,n=o(this),r=i(e,!0);do if(t=s(n,r))return t.set;while(n=a(n))}})},function(e,t,n){var r=n(1),o=n(233)(!1);r(r.S,"Object",{values:function(e){return o(e)}})},function(e,t,n){"use strict";var r=n(1),o=n(7),i=n(41),a=n(157)(),s=n(10)("observable"),u=n(27),c=n(4),l=n(57),f=n(71),p=n(24),d=n(83),h=d.RETURN,m=function(e){return null==e?void 0:u(e)},v=function(e){var t=e._c;t&&(e._c=void 0,t())},y=function(e){return void 0===e._o},g=function(e){y(e)||(e._o=void 0,v(e))},b=function(e,t){c(e),this._c=void 0,this._o=e,e=new _(this);try{var n=t(e),r=n;null!=n&&("function"==typeof n.unsubscribe?n=function(){r.unsubscribe()}:u(n),this._c=n)}catch(o){return void e.error(o)}y(this)&&v(this)};b.prototype=f({},{unsubscribe:function(){g(this)}});var _=function(e){this._s=e};_.prototype=f({},{next:function(e){var t=this._s;if(!y(t)){var n=t._o;try{var r=m(n.next);if(r)return r.call(n,e)}catch(o){try{g(t)}finally{throw o}}}},error:function(e){var t=this._s;if(y(t))throw e;var n=t._o;t._o=void 0;try{var r=m(n.error);if(!r)throw e;e=r.call(n,e)}catch(o){try{v(t)}finally{throw o}}return v(t),e},complete:function(e){var t=this._s;if(!y(t)){var n=t._o;t._o=void 0;try{var r=m(n.complete);e=r?r.call(n,e):void 0}catch(o){try{v(t)}finally{throw o}}return v(t),e}}});var w=function(e){l(this,w,"Observable","_f")._f=u(e)};f(w.prototype,{subscribe:function(e){return new b(e,this._f)},forEach:function(e){var t=this;return new(i.Promise||o.Promise)(function(n,r){u(e);var o=t.subscribe({next:function(t){try{return e(t)}catch(n){r(n),o.unsubscribe()}},error:r,complete:n})})}}),f(w,{from:function(e){var t="function"==typeof this?this:w,n=m(c(e)[s]);if(n){var r=c(n.call(e));return r.constructor===t?r:new t(function(e){return r.subscribe(e)})}return new t(function(t){var n=!1;return a(function(){if(!n){try{if(d(e,!1,function(e){if(t.next(e),n)return h})===h)return}catch(r){if(n)throw r;return void t.error(r)}t.complete()}}),function(){n=!0}})},of:function(){for(var e=0,t=arguments.length,n=Array(t);e1?arguments[1]:void 0,!1)}})},function(e,t,n){"use strict";var r=n(1),o=n(238);r(r.P,"String",{padStart:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0,!0)}})},function(e,t,n){"use strict";n(85)("trimLeft",function(e){return function(){return e(this,1)}},"trimStart")},function(e,t,n){"use strict";n(85)("trimRight",function(e){return function(){return e(this,2)}},"trimEnd")},function(e,t,n){n(166)("asyncIterator")},function(e,t,n){n(166)("observable")},function(e,t,n){var r=n(1);r(r.S,"System",{global:n(7)})},function(e,t,n){for(var r=n(168),o=n(28),i=n(7),a=n(24),s=n(66),u=n(10),c=u("iterator"),l=u("toStringTag"),f=s.Array,p=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],d=0;d<5;d++){var h,m=p[d],v=i[m],y=v&&v.prototype;if(y){y[c]||a(y,c,f),y[l]||a(y,l,m),s[m]=f;for(h in r)y[h]||o(y,h,r[h],!0)}}},function(e,t,n){var r=n(1),o=n(164);r(r.G+r.B,{setImmediate:o.set,clearImmediate:o.clear})},function(e,t,n){var r=n(7),o=n(1),i=n(109),a=n(418),s=r.navigator,u=!!s&&/MSIE .\./.test(s.userAgent),c=function(e){return u?function(t,n){return e(i(a,[].slice.call(arguments,2),"function"==typeof t?t:Function(t)),n)}:e};o(o.G+o.B+o.F*u,{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})},function(e,t,n){n(542),n(481),n(483),n(482),n(485),n(487),n(492),n(486),n(484),n(494),n(493),n(489),n(490),n(488),n(480),n(491),n(495),n(496),n(448),n(450),n(449),n(498),n(497),n(468),n(478),n(479),n(469),n(470),n(471),n(472),n(473),n(474),n(475),n(476),n(477),n(451),n(452),n(453),n(454),n(455),n(456),n(457),n(458),n(459),n(460),n(461),n(462),n(463),n(464),n(465),n(466),n(467),n(529),n(534),n(541),n(532),n(524),n(525),n(530),n(535),n(537),n(520),n(521),n(522),n(523),n(526),n(527),n(528),n(531),n(533),n(536),n(538),n(539),n(540),n(443),n(445),n(444),n(447),n(446),n(432),n(430),n(436),n(433),n(439),n(441),n(429),n(435),n(426),n(440),n(424),n(438),n(437),n(431),n(434),n(423),n(425),n(428),n(427),n(442),n(168),n(514),n(519),n(241),n(515),n(516),n(517),n(518),n(499),n(240),n(242),n(243),n(554),n(543),n(544),n(549),n(552),n(553),n(547),n(550),n(548),n(551),n(545),n(546),n(500),n(501),n(502),n(503),n(504),n(507),n(505),n(506),n(508),n(509),n(510),n(511),n(513),n(512),n(555),n(581),n(584),n(583),n(585),n(586),n(582),n(587),n(588),n(566),n(569),n(565),n(563),n(564),n(567),n(568),n(558),n(580),n(589),n(557),n(559),n(561),n(560),n(562),n(571),n(572),n(574),n(573),n(576),n(575),n(577),n(578),n(579),n(556),n(570),n(592),n(591),n(590),e.exports=n(41)},function(e,t,n){function r(e){return null===e||void 0===e}function o(e){return!(!e||"object"!=typeof e||"number"!=typeof e.length)&&("function"==typeof e.copy&&"function"==typeof e.slice&&!(e.length>0&&"number"!=typeof e[0]))}function i(e,t,n){var i,l;if(r(e)||r(t))return!1;if(e.prototype!==t.prototype)return!1;if(u(e))return!!u(t)&&(e=a.call(e),t=a.call(t),c(e,t,n));if(o(e)){if(!o(t))return!1;if(e.length!==t.length)return!1;for(i=0;i=0;i--)if(f[i]!=p[i])return!1;for(i=f.length-1;i>=0;i--)if(l=f[i],!c(e[l],t[l],n))return!1;return typeof e==typeof t}var a=Array.prototype.slice,s=n(596),u=n(595),c=e.exports=function(e,t,n){return n||(n={}),e===t||(e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():!e||!t||"object"!=typeof e&&"object"!=typeof t?n.strict?e===t:e==t:i(e,t,n))}},function(e,t){function n(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function r(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Object.prototype.hasOwnProperty.call(e,"callee")&&!Object.prototype.propertyIsEnumerable.call(e,"callee")||!1}var o="[object Arguments]"==function(){return Object.prototype.toString.call(arguments)}();t=e.exports=o?n:r,t.supported=n,t.unsupported=r},function(e,t){function n(e){var t=[];for(var n in e)t.push(n);return t}t=e.exports="function"==typeof Object.keys?Object.keys:n,t.shim=n},function(e,t,n){"use strict";var r=n(169),o=function(){};r&&(o=function(){return document.addEventListener?function(e,t,n,r){return e.removeEventListener(t,n,r||!1)}:document.attachEvent?function(e,t,n){return e.detachEvent("on"+t,n)}:void 0}()),e.exports=o},function(e,t,n){"use strict";var r=n(169),o=function(){};r&&(o=function(){return document.addEventListener?function(e,t,n,r){return e.addEventListener(t,n,r||!1)}:document.attachEvent?function(e,t,n){return e.attachEvent("on"+t,n)}:void 0}()),e.exports=o},function(e,t,n){"use strict";var r=n(245);e.exports=function(e,t){var n=r(e);return void 0===t?n?"pageXOffset"in n?n.pageXOffset:n.document.documentElement.scrollLeft:e.scrollLeft:void(n?n.scrollTo(t,"pageYOffset"in n?n.pageYOffset:n.document.documentElement.scrollTop):e.scrollLeft=t)}},function(e,t,n){"use strict";var r=n(245);e.exports=function(e,t){var n=r(e);return void 0===t?n?"pageYOffset"in n?n.pageYOffset:n.document.documentElement.scrollTop:e.scrollTop:void(n?n.scrollTo("pageXOffset"in n?n.pageXOffset:n.document.documentElement.scrollLeft,t):e.scrollTop=t)}},function(e,t,n){"use strict";function r(e){var t=(new Date).getTime(),n=Math.max(0,16-(t-l)),r=setTimeout(e,n);return l=t,r}var o,i=n(169),a=["","webkit","moz","o","ms"],s="clearTimeout",u=r,c=function(e,t){return e+(e?t[0].toUpperCase()+t.substr(1):t)+"AnimationFrame"};i&&a.some(function(e){var t=c(e,"request");if(t in window)return s=c(e,"cancel"),u=function(e){return window[t](e)}});var l=(new Date).getTime();o=function(e){return u(e)},o.cancel=function(e){return window[s](e)},e.exports=o},function(e,t){},602,602,function(e,t){e.exports={row:"Album__row__2o5fb",art:"Album__art__1tMui",play:"Album__play__2zFWE Songs__play__1O6-p",playNext:"Album__playNext__3KXjB Songs__playNext__2v-xp",nameRow:"Album__nameRow__12kfS",artRow:"Album__artRow__3ouy5",songs:"Album__songs__1PPsj Songs__songs__CIaD9"}},function(e,t){e.exports={name:"Artist__name__3mI6y",art:"Artist__art__3QV3w"}},function(e,t){e.exports={noMarginTop:"Discover__noMarginTop__2bubk",h2Title:"Discover__h2Title__25yU5",caret:"Discover__caret__1zwQ4",dashedUnderline:"Discover__dashedUnderline__2ePE6","dropdown-menu":"Discover__dropdown-menu__o2cZr"}},function(e,t){e.exports={titleImage:"Login__titleImage__33L1L",submit:"Login__submit__1BiPC"}},function(e,t){e.exports={play:"Songs__play__1O6-p",playNext:"Songs__playNext__2v-xp",songs:"Songs__songs__CIaD9"}},function(e,t){e.exports={filter:"FilterBar__filter__2xukG",legend:"FilterBar__legend__1wPAA","form-group":"FilterBar__form-group__3coaa"}},function(e,t){e.exports={placeholders:"Grid__placeholders__3sosj",name:"Grid__name__2qx8M",art:"Grid__art__2OMDU"}},function(e,t){e.exports={nav:"Pagination__nav__1sgUO",pointer:"Pagination__pointer__27wCb"}},function(e,t){e.exports={webplayer:"WebPlayer__webplayer__22F_4",art:"WebPlayer__art__omkHN",artRow:"WebPlayer__artRow__9onVV",artTimer:"WebPlayer__artTimer__3-Um6",artDuration:"WebPlayer__artDuration__3exrw",controls:"WebPlayer__controls__we9ux",btn:"WebPlayer__btn__1S8Hy",prevBtn:"WebPlayer__prevBtn__QTVVR WebPlayer__btn__1S8Hy",playPauseBtn:"WebPlayer__playPauseBtn__yN44O WebPlayer__btn__1S8Hy",nextBtn:"WebPlayer__nextBtn__2582V WebPlayer__btn__1S8Hy",volumeBtn:"WebPlayer__volumeBtn__2OcLS WebPlayer__btn__1S8Hy",repeatBtn:"WebPlayer__repeatBtn__w2JIN WebPlayer__btn__1S8Hy",randomBtn:"WebPlayer__randomBtn__2NB_N WebPlayer__btn__1S8Hy",playlistBtn:"WebPlayer__playlistBtn__3rkYH WebPlayer__btn__1S8Hy",active:"WebPlayer__active__3OOYe"}},function(e,t){e.exports={sidebar:"Sidebar__sidebar__2XLQ1",collapse:"Sidebar__collapse__3-rUF",link:"Sidebar__link__1faG5",active:"Sidebar__active__3HL57 Sidebar__link__1faG5",title:"Sidebar__title__XR8sf",imgTitle:"Sidebar__imgTitle__1iVIJ",toggle:"Sidebar__toggle__32s05","icon-bar":"Sidebar__icon-bar__kStJV","icon-navbar":"Sidebar__icon-navbar__1oNVr","container-fluid":"Sidebar__container-fluid__3rTUW",nav:"Sidebar__nav__13nUO","main-panel":"Sidebar__main-panel__3FfOV","nav-list":"Sidebar__nav-list__1jNav"}},function(e,t){"use strict";function n(e){return e.replace(r,function(e,t){return t.toUpperCase()})}var r=/-(.)/g;e.exports=n},function(e,t,n){"use strict";function r(e){return o(e.replace(i,"ms-"))}var o=n(615),i=/^-ms-/;e.exports=r},function(e,t,n){"use strict";function r(e,t){return!(!e||!t)&&(e===t||!o(e)&&(o(t)?r(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}var o=n(625);e.exports=r},function(e,t,n){"use strict";function r(e){var t=e.length;if(Array.isArray(e)||"object"!=typeof e&&"function"!=typeof e?a(!1):void 0,"number"!=typeof t?a(!1):void 0,0===t||t-1 in e?void 0:a(!1),"function"==typeof e.callee?a(!1):void 0,e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(n){}for(var r=Array(t),o=0;o":a.innerHTML="<"+e+">",s[e]=!a.firstChild),s[e]?p[e]:null}var o=n(25),i=n(3),a=o.canUseDOM?document.createElement("div"):null,s={},u=[1,'"],c=[1,"","
"],l=[3,"","
"],f=[1,'',""],p={"*":[1,"?
","
"], -area:[1,"",""],col:[2,"","
"],legend:[1,"
","
"],param:[1,"",""],tr:[2,"","
"],optgroup:u,option:u,caption:c,colgroup:c,tbody:c,tfoot:c,thead:c,td:l,th:l},d=["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"];d.forEach(function(e){p[e]=f,s[e]=!0}),e.exports=r},function(e,t){"use strict";function n(e){return e===window?{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}e.exports=n},function(e,t){"use strict";function n(e){return e.replace(r,"-$1").toLowerCase()}var r=/([A-Z])/g;e.exports=n},function(e,t,n){"use strict";function r(e){return o(e).replace(i,"-ms-")}var o=n(622),i=/^ms-/;e.exports=r},function(e,t){"use strict";function n(e){return!(!e||!("function"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}e.exports=n},function(e,t,n){"use strict";function r(e){return o(e)&&3==e.nodeType}var o=n(624);e.exports=r},function(e,t){"use strict";function n(e,t,n){if(!e)return null;var o={};for(var i in e)r.call(e,i)&&(o[i]=t.call(n,e[i],i,e));return o}var r=Object.prototype.hasOwnProperty;e.exports=n},function(e,t){"use strict";function n(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}e.exports=n},function(e,t,n){e.exports=n.p+"25a32416abee198dd821b0b17a198a8f.eot"},628,function(e,t,n){n(634)},function(e,t,n){t=e.exports=n(632)(),t.push([e.id,'.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-fw{width:1.28571429em;text-align:center}.fa-glass:before{content:"\\F000"}.fa-music:before{content:"\\F001"}.fa-search:before{content:"\\F002"}.fa-envelope-o:before{content:"\\F003"}.fa-heart:before{content:"\\F004"}.fa-star:before{content:"\\F005"}.fa-star-o:before{content:"\\F006"}.fa-user:before{content:"\\F007"}.fa-film:before{content:"\\F008"}.fa-th-large:before{content:"\\F009"}.fa-th:before{content:"\\F00A"}.fa-th-list:before{content:"\\F00B"}.fa-check:before{content:"\\F00C"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\\F00D"}.fa-search-plus:before{content:"\\F00E"}.fa-search-minus:before{content:"\\F010"}.fa-power-off:before{content:"\\F011"}.fa-signal:before{content:"\\F012"}.fa-cog:before,.fa-gear:before{content:"\\F013"}.fa-trash-o:before{content:"\\F014"}.fa-home:before{content:"\\F015"}.fa-file-o:before{content:"\\F016"}.fa-clock-o:before{content:"\\F017"}.fa-road:before{content:"\\F018"}.fa-download:before{content:"\\F019"}.fa-arrow-circle-o-down:before{content:"\\F01A"}.fa-arrow-circle-o-up:before{content:"\\F01B"}.fa-inbox:before{content:"\\F01C"}.fa-play-circle-o:before{content:"\\F01D"}.fa-repeat:before,.fa-rotate-right:before{content:"\\F01E"}.fa-refresh:before{content:"\\F021"}.fa-list-alt:before{content:"\\F022"}.fa-lock:before{content:"\\F023"}.fa-flag:before{content:"\\F024"}.fa-headphones:before{content:"\\F025"}.fa-volume-off:before{content:"\\F026"}.fa-volume-down:before{content:"\\F027"}.fa-volume-up:before{content:"\\F028"}.fa-qrcode:before{content:"\\F029"}.fa-barcode:before{content:"\\F02A"}.fa-tag:before{content:"\\F02B"}.fa-tags:before{content:"\\F02C"}.fa-book:before{content:"\\F02D"}.fa-bookmark:before{content:"\\F02E"}.fa-print:before{content:"\\F02F"}.fa-camera:before{content:"\\F030"}.fa-font:before{content:"\\F031"}.fa-bold:before{content:"\\F032"}.fa-italic:before{content:"\\F033"}.fa-text-height:before{content:"\\F034"}.fa-text-width:before{content:"\\F035"}.fa-align-left:before{content:"\\F036"}.fa-align-center:before{content:"\\F037"}.fa-align-right:before{content:"\\F038"}.fa-align-justify:before{content:"\\F039"}.fa-list:before{content:"\\F03A"}.fa-dedent:before,.fa-outdent:before{content:"\\F03B"}.fa-indent:before{content:"\\F03C"}.fa-video-camera:before{content:"\\F03D"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\\F03E"}.fa-pencil:before{content:"\\F040"}.fa-map-marker:before{content:"\\F041"}.fa-adjust:before{content:"\\F042"}.fa-tint:before{content:"\\F043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\\F044"}.fa-share-square-o:before{content:"\\F045"}.fa-check-square-o:before{content:"\\F046"}.fa-arrows:before{content:"\\F047"}.fa-step-backward:before{content:"\\F048"}.fa-fast-backward:before{content:"\\F049"}.fa-backward:before{content:"\\F04A"}.fa-play:before{content:"\\F04B"}.fa-pause:before{content:"\\F04C"}.fa-stop:before{content:"\\F04D"}.fa-forward:before{content:"\\F04E"}.fa-fast-forward:before{content:"\\F050"}.fa-step-forward:before{content:"\\F051"}.fa-eject:before{content:"\\F052"}.fa-chevron-left:before{content:"\\F053"}.fa-chevron-right:before{content:"\\F054"}.fa-plus-circle:before{content:"\\F055"}.fa-minus-circle:before{content:"\\F056"}.fa-times-circle:before{content:"\\F057"}.fa-check-circle:before{content:"\\F058"}.fa-question-circle:before{content:"\\F059"}.fa-info-circle:before{content:"\\F05A"}.fa-crosshairs:before{content:"\\F05B"}.fa-times-circle-o:before{content:"\\F05C"}.fa-check-circle-o:before{content:"\\F05D"}.fa-ban:before{content:"\\F05E"}.fa-arrow-left:before{content:"\\F060"}.fa-arrow-right:before{content:"\\F061"}.fa-arrow-up:before{content:"\\F062"}.fa-arrow-down:before{content:"\\F063"}.fa-mail-forward:before,.fa-share:before{content:"\\F064"}.fa-expand:before{content:"\\F065"}.fa-compress:before{content:"\\F066"}.fa-plus:before{content:"\\F067"}.fa-minus:before{content:"\\F068"}.fa-asterisk:before{content:"\\F069"}.fa-exclamation-circle:before{content:"\\F06A"}.fa-gift:before{content:"\\F06B"}.fa-leaf:before{content:"\\F06C"}.fa-fire:before{content:"\\F06D"}.fa-eye:before{content:"\\F06E"}.fa-eye-slash:before{content:"\\F070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\\F071"}.fa-plane:before{content:"\\F072"}.fa-calendar:before{content:"\\F073"}.fa-random:before{content:"\\F074"}.fa-comment:before{content:"\\F075"}.fa-magnet:before{content:"\\F076"}.fa-chevron-up:before{content:"\\F077"}.fa-chevron-down:before{content:"\\F078"}.fa-retweet:before{content:"\\F079"}.fa-shopping-cart:before{content:"\\F07A"}.fa-folder:before{content:"\\F07B"}.fa-folder-open:before{content:"\\F07C"}.fa-arrows-v:before{content:"\\F07D"}.fa-arrows-h:before{content:"\\F07E"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\\F080"}.fa-twitter-square:before{content:"\\F081"}.fa-facebook-square:before{content:"\\F082"}.fa-camera-retro:before{content:"\\F083"}.fa-key:before{content:"\\F084"}.fa-cogs:before,.fa-gears:before{content:"\\F085"}.fa-comments:before{content:"\\F086"}.fa-thumbs-o-up:before{content:"\\F087"}.fa-thumbs-o-down:before{content:"\\F088"}.fa-star-half:before{content:"\\F089"}.fa-heart-o:before{content:"\\F08A"}.fa-sign-out:before{content:"\\F08B"}.fa-linkedin-square:before{content:"\\F08C"}.fa-thumb-tack:before{content:"\\F08D"}.fa-external-link:before{content:"\\F08E"}.fa-sign-in:before{content:"\\F090"}.fa-trophy:before{content:"\\F091"}.fa-github-square:before{content:"\\F092"}.fa-upload:before{content:"\\F093"}.fa-lemon-o:before{content:"\\F094"}.fa-phone:before{content:"\\F095"}.fa-square-o:before{content:"\\F096"}.fa-bookmark-o:before{content:"\\F097"}.fa-phone-square:before{content:"\\F098"}.fa-twitter:before{content:"\\F099"}.fa-facebook-f:before,.fa-facebook:before{content:"\\F09A"}.fa-github:before{content:"\\F09B"}.fa-unlock:before{content:"\\F09C"}.fa-credit-card:before{content:"\\F09D"}.fa-feed:before,.fa-rss:before{content:"\\F09E"}.fa-hdd-o:before{content:"\\F0A0"}.fa-bullhorn:before{content:"\\F0A1"}.fa-bell:before{content:"\\F0F3"}.fa-certificate:before{content:"\\F0A3"}.fa-hand-o-right:before{content:"\\F0A4"}.fa-hand-o-left:before{content:"\\F0A5"}.fa-hand-o-up:before{content:"\\F0A6"}.fa-hand-o-down:before{content:"\\F0A7"}.fa-arrow-circle-left:before{content:"\\F0A8"}.fa-arrow-circle-right:before{content:"\\F0A9"}.fa-arrow-circle-up:before{content:"\\F0AA"}.fa-arrow-circle-down:before{content:"\\F0AB"}.fa-globe:before{content:"\\F0AC"}.fa-wrench:before{content:"\\F0AD"}.fa-tasks:before{content:"\\F0AE"}.fa-filter:before{content:"\\F0B0"}.fa-briefcase:before{content:"\\F0B1"}.fa-arrows-alt:before{content:"\\F0B2"}.fa-group:before,.fa-users:before{content:"\\F0C0"}.fa-chain:before,.fa-link:before{content:"\\F0C1"}.fa-cloud:before{content:"\\F0C2"}.fa-flask:before{content:"\\F0C3"}.fa-cut:before,.fa-scissors:before{content:"\\F0C4"}.fa-copy:before,.fa-files-o:before{content:"\\F0C5"}.fa-paperclip:before{content:"\\F0C6"}.fa-floppy-o:before,.fa-save:before{content:"\\F0C7"}.fa-square:before{content:"\\F0C8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\\F0C9"}.fa-list-ul:before{content:"\\F0CA"}.fa-list-ol:before{content:"\\F0CB"}.fa-strikethrough:before{content:"\\F0CC"}.fa-underline:before{content:"\\F0CD"}.fa-table:before{content:"\\F0CE"}.fa-magic:before{content:"\\F0D0"}.fa-truck:before{content:"\\F0D1"}.fa-pinterest:before{content:"\\F0D2"}.fa-pinterest-square:before{content:"\\F0D3"}.fa-google-plus-square:before{content:"\\F0D4"}.fa-google-plus:before{content:"\\F0D5"}.fa-money:before{content:"\\F0D6"}.fa-caret-down:before{content:"\\F0D7"}.fa-caret-up:before{content:"\\F0D8"}.fa-caret-left:before{content:"\\F0D9"}.fa-caret-right:before{content:"\\F0DA"}.fa-columns:before{content:"\\F0DB"}.fa-sort:before,.fa-unsorted:before{content:"\\F0DC"}.fa-sort-desc:before,.fa-sort-down:before{content:"\\F0DD"}.fa-sort-asc:before,.fa-sort-up:before{content:"\\F0DE"}.fa-envelope:before{content:"\\F0E0"}.fa-linkedin:before{content:"\\F0E1"}.fa-rotate-left:before,.fa-undo:before{content:"\\F0E2"}.fa-gavel:before,.fa-legal:before{content:"\\F0E3"}.fa-dashboard:before,.fa-tachometer:before{content:"\\F0E4"}.fa-comment-o:before{content:"\\F0E5"}.fa-comments-o:before{content:"\\F0E6"}.fa-bolt:before,.fa-flash:before{content:"\\F0E7"}.fa-sitemap:before{content:"\\F0E8"}.fa-umbrella:before{content:"\\F0E9"}.fa-clipboard:before,.fa-paste:before{content:"\\F0EA"}.fa-lightbulb-o:before{content:"\\F0EB"}.fa-exchange:before{content:"\\F0EC"}.fa-cloud-download:before{content:"\\F0ED"}.fa-cloud-upload:before{content:"\\F0EE"}.fa-user-md:before{content:"\\F0F0"}.fa-stethoscope:before{content:"\\F0F1"}.fa-suitcase:before{content:"\\F0F2"}.fa-bell-o:before{content:"\\F0A2"}.fa-coffee:before{content:"\\F0F4"}.fa-cutlery:before{content:"\\F0F5"}.fa-file-text-o:before{content:"\\F0F6"}.fa-building-o:before{content:"\\F0F7"}.fa-hospital-o:before{content:"\\F0F8"}.fa-ambulance:before{content:"\\F0F9"}.fa-medkit:before{content:"\\F0FA"}.fa-fighter-jet:before{content:"\\F0FB"}.fa-beer:before{content:"\\F0FC"}.fa-h-square:before{content:"\\F0FD"}.fa-plus-square:before{content:"\\F0FE"}.fa-angle-double-left:before{content:"\\F100"}.fa-angle-double-right:before{content:"\\F101"}.fa-angle-double-up:before{content:"\\F102"}.fa-angle-double-down:before{content:"\\F103"}.fa-angle-left:before{content:"\\F104"}.fa-angle-right:before{content:"\\F105"}.fa-angle-up:before{content:"\\F106"}.fa-angle-down:before{content:"\\F107"}.fa-desktop:before{content:"\\F108"}.fa-laptop:before{content:"\\F109"}.fa-tablet:before{content:"\\F10A"}.fa-mobile-phone:before,.fa-mobile:before{content:"\\F10B"}.fa-circle-o:before{content:"\\F10C"}.fa-quote-left:before{content:"\\F10D"}.fa-quote-right:before{content:"\\F10E"}.fa-spinner:before{content:"\\F110"}.fa-circle:before{content:"\\F111"}.fa-mail-reply:before,.fa-reply:before{content:"\\F112"}.fa-github-alt:before{content:"\\F113"}.fa-folder-o:before{content:"\\F114"}.fa-folder-open-o:before{content:"\\F115"}.fa-smile-o:before{content:"\\F118"}.fa-frown-o:before{content:"\\F119"}.fa-meh-o:before{content:"\\F11A"}.fa-gamepad:before{content:"\\F11B"}.fa-keyboard-o:before{content:"\\F11C"}.fa-flag-o:before{content:"\\F11D"}.fa-flag-checkered:before{content:"\\F11E"}.fa-terminal:before{content:"\\F120"}.fa-code:before{content:"\\F121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\\F122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\\F123"}.fa-location-arrow:before{content:"\\F124"}.fa-crop:before{content:"\\F125"}.fa-code-fork:before{content:"\\F126"}.fa-chain-broken:before,.fa-unlink:before{content:"\\F127"}.fa-question:before{content:"\\F128"}.fa-info:before{content:"\\F129"}.fa-exclamation:before{content:"\\F12A"}.fa-superscript:before{content:"\\F12B"}.fa-subscript:before{content:"\\F12C"}.fa-eraser:before{content:"\\F12D"}.fa-puzzle-piece:before{content:"\\F12E"}.fa-microphone:before{content:"\\F130"}.fa-microphone-slash:before{content:"\\F131"}.fa-shield:before{content:"\\F132"}.fa-calendar-o:before{content:"\\F133"}.fa-fire-extinguisher:before{content:"\\F134"}.fa-rocket:before{content:"\\F135"}.fa-maxcdn:before{content:"\\F136"}.fa-chevron-circle-left:before{content:"\\F137"}.fa-chevron-circle-right:before{content:"\\F138"}.fa-chevron-circle-up:before{content:"\\F139"}.fa-chevron-circle-down:before{content:"\\F13A"}.fa-html5:before{content:"\\F13B"}.fa-css3:before{content:"\\F13C"}.fa-anchor:before{content:"\\F13D"}.fa-unlock-alt:before{content:"\\F13E"}.fa-bullseye:before{content:"\\F140"}.fa-ellipsis-h:before{content:"\\F141"}.fa-ellipsis-v:before{content:"\\F142"}.fa-rss-square:before{content:"\\F143"}.fa-play-circle:before{content:"\\F144"}.fa-ticket:before{content:"\\F145"}.fa-minus-square:before{content:"\\F146"}.fa-minus-square-o:before{content:"\\F147"}.fa-level-up:before{content:"\\F148"}.fa-level-down:before{content:"\\F149"}.fa-check-square:before{content:"\\F14A"}.fa-pencil-square:before{content:"\\F14B"}.fa-external-link-square:before{content:"\\F14C"}.fa-share-square:before{content:"\\F14D"}.fa-compass:before{content:"\\F14E"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\\F150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\\F151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\\F152"}.fa-eur:before,.fa-euro:before{content:"\\F153"}.fa-gbp:before{content:"\\F154"}.fa-dollar:before,.fa-usd:before{content:"\\F155"}.fa-inr:before,.fa-rupee:before{content:"\\F156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\\F157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\\F158"}.fa-krw:before,.fa-won:before{content:"\\F159"}.fa-bitcoin:before,.fa-btc:before{content:"\\F15A"}.fa-file:before{content:"\\F15B"}.fa-file-text:before{content:"\\F15C"}.fa-sort-alpha-asc:before{content:"\\F15D"}.fa-sort-alpha-desc:before{content:"\\F15E"}.fa-sort-amount-asc:before{content:"\\F160"}.fa-sort-amount-desc:before{content:"\\F161"}.fa-sort-numeric-asc:before{content:"\\F162"}.fa-sort-numeric-desc:before{content:"\\F163"}.fa-thumbs-up:before{content:"\\F164"}.fa-thumbs-down:before{content:"\\F165"}.fa-youtube-square:before{content:"\\F166"}.fa-youtube:before{content:"\\F167"}.fa-xing:before{content:"\\F168"}.fa-xing-square:before{content:"\\F169"}.fa-youtube-play:before{content:"\\F16A"}.fa-dropbox:before{content:"\\F16B"}.fa-stack-overflow:before{content:"\\F16C"}.fa-instagram:before{content:"\\F16D"}.fa-flickr:before{content:"\\F16E"}.fa-adn:before{content:"\\F170"}.fa-bitbucket:before{content:"\\F171"}.fa-bitbucket-square:before{content:"\\F172"}.fa-tumblr:before{content:"\\F173"}.fa-tumblr-square:before{content:"\\F174"}.fa-long-arrow-down:before{content:"\\F175"}.fa-long-arrow-up:before{content:"\\F176"}.fa-long-arrow-left:before{content:"\\F177"}.fa-long-arrow-right:before{content:"\\F178"}.fa-apple:before{content:"\\F179"}.fa-windows:before{content:"\\F17A"}.fa-android:before{content:"\\F17B"}.fa-linux:before{content:"\\F17C"}.fa-dribbble:before{content:"\\F17D"}.fa-skype:before{content:"\\F17E"}.fa-foursquare:before{content:"\\F180"}.fa-trello:before{content:"\\F181"}.fa-female:before{content:"\\F182"}.fa-male:before{content:"\\F183"}.fa-gittip:before,.fa-gratipay:before{content:"\\F184"}.fa-sun-o:before{content:"\\F185"}.fa-moon-o:before{content:"\\F186"}.fa-archive:before{content:"\\F187"}.fa-bug:before{content:"\\F188"}.fa-vk:before{content:"\\F189"}.fa-weibo:before{content:"\\F18A"}.fa-renren:before{content:"\\F18B"}.fa-pagelines:before{content:"\\F18C"}.fa-stack-exchange:before{content:"\\F18D"}.fa-arrow-circle-o-right:before{content:"\\F18E"}.fa-arrow-circle-o-left:before{content:"\\F190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\\F191"}.fa-dot-circle-o:before{content:"\\F192"}.fa-wheelchair:before{content:"\\F193"}.fa-vimeo-square:before{content:"\\F194"}.fa-try:before,.fa-turkish-lira:before{content:"\\F195"}.fa-plus-square-o:before{content:"\\F196"}.fa-space-shuttle:before{content:"\\F197"}.fa-slack:before{content:"\\F198"}.fa-envelope-square:before{content:"\\F199"}.fa-wordpress:before{content:"\\F19A"}.fa-openid:before{content:"\\F19B"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\\F19C"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\\F19D"}.fa-yahoo:before{content:"\\F19E"}.fa-google:before{content:"\\F1A0"}.fa-reddit:before{content:"\\F1A1"}.fa-reddit-square:before{content:"\\F1A2"}.fa-stumbleupon-circle:before{content:"\\F1A3"}.fa-stumbleupon:before{content:"\\F1A4"}.fa-delicious:before{content:"\\F1A5"}.fa-digg:before{content:"\\F1A6"}.fa-pied-piper-pp:before{content:"\\F1A7"}.fa-pied-piper-alt:before{content:"\\F1A8"}.fa-drupal:before{content:"\\F1A9"}.fa-joomla:before{content:"\\F1AA"}.fa-language:before{content:"\\F1AB"}.fa-fax:before{content:"\\F1AC"}.fa-building:before{content:"\\F1AD"}.fa-child:before{content:"\\F1AE"}.fa-paw:before{content:"\\F1B0"}.fa-spoon:before{content:"\\F1B1"}.fa-cube:before{content:"\\F1B2"}.fa-cubes:before{content:"\\F1B3"}.fa-behance:before{content:"\\F1B4"}.fa-behance-square:before{content:"\\F1B5"}.fa-steam:before{content:"\\F1B6"}.fa-steam-square:before{content:"\\F1B7"}.fa-recycle:before{content:"\\F1B8"}.fa-automobile:before,.fa-car:before{content:"\\F1B9"}.fa-cab:before,.fa-taxi:before{content:"\\F1BA"}.fa-tree:before{content:"\\F1BB"}.fa-spotify:before{content:"\\F1BC"}.fa-deviantart:before{content:"\\F1BD"}.fa-soundcloud:before{content:"\\F1BE"}.fa-database:before{content:"\\F1C0"}.fa-file-pdf-o:before{content:"\\F1C1"}.fa-file-word-o:before{content:"\\F1C2"}.fa-file-excel-o:before{content:"\\F1C3"}.fa-file-powerpoint-o:before{content:"\\F1C4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\\F1C5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\\F1C6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\\F1C7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\\F1C8"}.fa-file-code-o:before{content:"\\F1C9"}.fa-vine:before{content:"\\F1CA"}.fa-codepen:before{content:"\\F1CB"}.fa-jsfiddle:before{content:"\\F1CC"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\\F1CD"}.fa-circle-o-notch:before{content:"\\F1CE"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\\F1D0"}.fa-empire:before,.fa-ge:before{content:"\\F1D1"}.fa-git-square:before{content:"\\F1D2"}.fa-git:before{content:"\\F1D3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\\F1D4"}.fa-tencent-weibo:before{content:"\\F1D5"}.fa-qq:before{content:"\\F1D6"}.fa-wechat:before,.fa-weixin:before{content:"\\F1D7"}.fa-paper-plane:before,.fa-send:before{content:"\\F1D8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\\F1D9"}.fa-history:before{content:"\\F1DA"}.fa-circle-thin:before{content:"\\F1DB"}.fa-header:before{content:"\\F1DC"}.fa-paragraph:before{content:"\\F1DD"}.fa-sliders:before{content:"\\F1DE"}.fa-share-alt:before{content:"\\F1E0"}.fa-share-alt-square:before{content:"\\F1E1"}.fa-bomb:before{content:"\\F1E2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\\F1E3"}.fa-tty:before{content:"\\F1E4"}.fa-binoculars:before{content:"\\F1E5"}.fa-plug:before{content:"\\F1E6"}.fa-slideshare:before{content:"\\F1E7"}.fa-twitch:before{content:"\\F1E8"}.fa-yelp:before{content:"\\F1E9"}.fa-newspaper-o:before{content:"\\F1EA"}.fa-wifi:before{content:"\\F1EB"}.fa-calculator:before{content:"\\F1EC"}.fa-paypal:before{content:"\\F1ED"}.fa-google-wallet:before{content:"\\F1EE"}.fa-cc-visa:before{content:"\\F1F0"}.fa-cc-mastercard:before{content:"\\F1F1"}.fa-cc-discover:before{content:"\\F1F2"}.fa-cc-amex:before{content:"\\F1F3"}.fa-cc-paypal:before{content:"\\F1F4"}.fa-cc-stripe:before{content:"\\F1F5"}.fa-bell-slash:before{content:"\\F1F6"}.fa-bell-slash-o:before{content:"\\F1F7"}.fa-trash:before{content:"\\F1F8"}.fa-copyright:before{content:"\\F1F9"}.fa-at:before{content:"\\F1FA"}.fa-eyedropper:before{content:"\\F1FB"}.fa-paint-brush:before{content:"\\F1FC"}.fa-birthday-cake:before{content:"\\F1FD"}.fa-area-chart:before{content:"\\F1FE"}.fa-pie-chart:before{content:"\\F200"}.fa-line-chart:before{content:"\\F201"}.fa-lastfm:before{content:"\\F202"}.fa-lastfm-square:before{content:"\\F203"}.fa-toggle-off:before{content:"\\F204"}.fa-toggle-on:before{content:"\\F205"}.fa-bicycle:before{content:"\\F206"}.fa-bus:before{content:"\\F207"}.fa-ioxhost:before{content:"\\F208"}.fa-angellist:before{content:"\\F209"}.fa-cc:before{content:"\\F20A"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\\F20B"}.fa-meanpath:before{content:"\\F20C"}.fa-buysellads:before{content:"\\F20D"}.fa-connectdevelop:before{content:"\\F20E"}.fa-dashcube:before{content:"\\F210"}.fa-forumbee:before{content:"\\F211"}.fa-leanpub:before{content:"\\F212"}.fa-sellsy:before{content:"\\F213"}.fa-shirtsinbulk:before{content:"\\F214"}.fa-simplybuilt:before{content:"\\F215"}.fa-skyatlas:before{content:"\\F216"}.fa-cart-plus:before{content:"\\F217"}.fa-cart-arrow-down:before{content:"\\F218"}.fa-diamond:before{content:"\\F219"}.fa-ship:before{content:"\\F21A"}.fa-user-secret:before{content:"\\F21B"}.fa-motorcycle:before{content:"\\F21C"}.fa-street-view:before{content:"\\F21D"}.fa-heartbeat:before{content:"\\F21E"}.fa-venus:before{content:"\\F221"}.fa-mars:before{content:"\\F222"}.fa-mercury:before{content:"\\F223"}.fa-intersex:before,.fa-transgender:before{content:"\\F224"}.fa-transgender-alt:before{content:"\\F225"}.fa-venus-double:before{content:"\\F226"}.fa-mars-double:before{content:"\\F227"}.fa-venus-mars:before{content:"\\F228"}.fa-mars-stroke:before{content:"\\F229"}.fa-mars-stroke-v:before{content:"\\F22A"}.fa-mars-stroke-h:before{content:"\\F22B"}.fa-neuter:before{content:"\\F22C"}.fa-genderless:before{content:"\\F22D"}.fa-facebook-official:before{content:"\\F230"}.fa-pinterest-p:before{content:"\\F231"}.fa-whatsapp:before{content:"\\F232"}.fa-server:before{content:"\\F233"}.fa-user-plus:before{content:"\\F234"}.fa-user-times:before{content:"\\F235"}.fa-bed:before,.fa-hotel:before{content:"\\F236"}.fa-viacoin:before{content:"\\F237"}.fa-train:before{content:"\\F238"}.fa-subway:before{content:"\\F239"}.fa-medium:before{content:"\\F23A"}.fa-y-combinator:before,.fa-yc:before{content:"\\F23B"}.fa-optin-monster:before{content:"\\F23C"}.fa-opencart:before{content:"\\F23D"}.fa-expeditedssl:before{content:"\\F23E"}.fa-battery-4:before,.fa-battery-full:before{content:"\\F240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\\F241"}.fa-battery-2:before,.fa-battery-half:before{content:"\\F242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\\F243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\\F244"}.fa-mouse-pointer:before{content:"\\F245"}.fa-i-cursor:before{content:"\\F246"}.fa-object-group:before{content:"\\F247"}.fa-object-ungroup:before{content:"\\F248"}.fa-sticky-note:before{content:"\\F249"}.fa-sticky-note-o:before{content:"\\F24A"}.fa-cc-jcb:before{content:"\\F24B"}.fa-cc-diners-club:before{content:"\\F24C"}.fa-clone:before{content:"\\F24D"}.fa-balance-scale:before{content:"\\F24E"}.fa-hourglass-o:before{content:"\\F250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\\F251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\\F252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\\F253"}.fa-hourglass:before{content:"\\F254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\\F255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\\F256"}.fa-hand-scissors-o:before{content:"\\F257"}.fa-hand-lizard-o:before{content:"\\F258"}.fa-hand-spock-o:before{content:"\\F259"}.fa-hand-pointer-o:before{content:"\\F25A"}.fa-hand-peace-o:before{content:"\\F25B"}.fa-trademark:before{content:"\\F25C"}.fa-registered:before{content:"\\F25D"}.fa-creative-commons:before{content:"\\F25E"}.fa-gg:before{content:"\\F260"}.fa-gg-circle:before{content:"\\F261"}.fa-tripadvisor:before{content:"\\F262"}.fa-odnoklassniki:before{content:"\\F263"}.fa-odnoklassniki-square:before{content:"\\F264"}.fa-get-pocket:before{content:"\\F265"}.fa-wikipedia-w:before{content:"\\F266"}.fa-safari:before{content:"\\F267"}.fa-chrome:before{content:"\\F268"}.fa-firefox:before{content:"\\F269"}.fa-opera:before{content:"\\F26A"}.fa-internet-explorer:before{content:"\\F26B"}.fa-television:before,.fa-tv:before{content:"\\F26C"}.fa-contao:before{content:"\\F26D"}.fa-500px:before{content:"\\F26E"}.fa-amazon:before{content:"\\F270"}.fa-calendar-plus-o:before{content:"\\F271"}.fa-calendar-minus-o:before{content:"\\F272"}.fa-calendar-times-o:before{content:"\\F273"}.fa-calendar-check-o:before{content:"\\F274"}.fa-industry:before{content:"\\F275"}.fa-map-pin:before{content:"\\F276"}.fa-map-signs:before{content:"\\F277"}.fa-map-o:before{content:"\\F278"}.fa-map:before{content:"\\F279"}.fa-commenting:before{content:"\\F27A"}.fa-commenting-o:before{content:"\\F27B"}.fa-houzz:before{content:"\\F27C"}.fa-vimeo:before{content:"\\F27D"}.fa-black-tie:before{content:"\\F27E"}.fa-fonticons:before{content:"\\F280"}.fa-reddit-alien:before{content:"\\F281"}.fa-edge:before{content:"\\F282"}.fa-credit-card-alt:before{content:"\\F283"}.fa-codiepie:before{content:"\\F284"}.fa-modx:before{content:"\\F285"}.fa-fort-awesome:before{content:"\\F286"}.fa-usb:before{content:"\\F287"}.fa-product-hunt:before{content:"\\F288"}.fa-mixcloud:before{content:"\\F289"}.fa-scribd:before{content:"\\F28A"}.fa-pause-circle:before{content:"\\F28B"}.fa-pause-circle-o:before{content:"\\F28C"}.fa-stop-circle:before{content:"\\F28D"}.fa-stop-circle-o:before{content:"\\F28E"}.fa-shopping-bag:before{content:"\\F290"}.fa-shopping-basket:before{content:"\\F291"}.fa-hashtag:before{content:"\\F292"}.fa-bluetooth:before{content:"\\F293"}.fa-bluetooth-b:before{content:"\\F294"}.fa-percent:before{content:"\\F295"}.fa-gitlab:before{content:"\\F296"}.fa-wpbeginner:before{content:"\\F297"}.fa-wpforms:before{content:"\\F298"}.fa-envira:before{content:"\\F299"}.fa-universal-access:before{content:"\\F29A"}.fa-wheelchair-alt:before{content:"\\F29B"}.fa-question-circle-o:before{content:"\\F29C"}.fa-blind:before{content:"\\F29D"}.fa-audio-description:before{content:"\\F29E"}.fa-volume-control-phone:before{content:"\\F2A0"}.fa-braille:before{content:"\\F2A1"}.fa-assistive-listening-systems:before{content:"\\F2A2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\\F2A3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\\F2A4"}.fa-glide:before{content:"\\F2A5"}.fa-glide-g:before{content:"\\F2A6"}.fa-sign-language:before,.fa-signing:before{content:"\\F2A7"}.fa-low-vision:before{content:"\\F2A8"}.fa-viadeo:before{content:"\\F2A9"}.fa-viadeo-square:before{content:"\\F2AA"}.fa-snapchat:before{content:"\\F2AB"}.fa-snapchat-ghost:before{content:"\\F2AC"}.fa-snapchat-square:before{content:"\\F2AD"}.fa-pied-piper:before{content:"\\F2AE"}.fa-first-order:before{content:"\\F2B0"}.fa-yoast:before{content:"\\F2B1"}.fa-themeisle:before{content:"\\F2B2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\\F2B3"}.fa-fa:before,.fa-font-awesome:before{content:"\\F2B4"}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}@font-face{font-family:FontAwesome;src:url('+n(629)+");src:url("+n(628)+"?#iefix&v=4.6.3) format('embedded-opentype'),url("+n(875)+") format('woff2'),url("+n(876)+") format('woff'),url("+n(873)+") format('truetype'),url("+n(874)+'#fontawesomeregular) format(\'svg\');font-weight:400;font-style:normal}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";-webkit-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}',""])},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;t0&&(f.include=u),{type:s.CALL_API,payload:{endpoint:t,dispatch:[h,null,m],action:e,auth:r,username:n,extraParams:f}}},y=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=e.pageNumber,n=void 0===t?1:t,r=e.limit,o=void 0===r?l:r,i=e.filter,a=void 0===i?null:i,s=e.include,u=void 0===s?[]:s;return function(e,t){var r=t(),i=r.auth,s=v(i.endpoint,i.username,i.token.token,a,n,o,u);s.payload.dispatch[1]=function(e){return function(t){var r=p(e,n,o);r.map(function(e){return t(e)})}},e(s)}},g=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=e.filter,n=void 0===t?null:t,r=e.include,o=void 0===r?[]:r;return function(e,t){var r=t(),i=r.auth,a=v(i.endpoint,i.username,i.token.token,n,1,l,o);a.payload.dispatch[1]=function(e){return function(t){t(d(e))}},e(a)}},b={},_=a.default.pascalize(e);return b["loadPaginated"+_]=y,b["load"+_.rstrip("s")]=g,b};var o=n(283),i=n(255),a=r(i),s=n(141),u=n(103),c=n(362),l=t.DEFAULT_LIMIT=32},function(e,t,n){"use strict";function r(){return function(e,t){var n=t().paginated,r={};r[n.get("type")]=n.get("result").toJS(),e((0,o.decrementRefCount)(r)),e({type:i})}}Object.defineProperty(t,"__esModule",{value:!0}),t.CLEAR_PAGINATED_RESULTS=void 0,t.clearPaginatedResults=r;var o=n(103),i=t.CLEAR_PAGINATED_RESULTS="CLEAR_PAGINATED_RESULTS"},function(e,t,n){"use strict";function r(e){return function(t){t((0,o.push)(e))}}Object.defineProperty(t,"__esModule",{value:!0}),t.goToPage=r;var o=n(97)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(604);Object.keys(r).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}})});var o=n(603);Object.keys(o).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}})})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(335);Object.keys(r).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}})});var o=n(336);Object.keys(o).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}})})},function(e,t,n){(function(e){"use strict";e.fn.shake=function(t,n,r){return this.each(function(){e(this).css("position","relative");for(var o=1;o<=t;o++)e(this).animate({left:n*-1},r/t/4).animate({left:n},r/t/2).animate({left:0},r/t/4)}),this}}).call(t,n(16))},function(e,t){"use strict";String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)},String.prototype.rstrip=function(e){var t=new RegExp(e+"$");return this.replace(t,"")}},function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.AlbumRow=t.AlbumTracksTable=t.AlbumTrackRow=void 0;var s=function(){function e(e,t){for(var n=0;n0?c.default.createElement(S,{playAction:this.props.playAction,playNextAction:this.props.playNextAction,tracks:this.props.songs}):null))}}]),t}(u.Component);O.propTypes={playAction:u.PropTypes.func.isRequired,playNextAction:u.PropTypes.func.isRequired,album:u.PropTypes.instanceOf(v.default.Map).isRequired,songs:u.PropTypes.instanceOf(v.default.List).isRequired};t.AlbumRow=(0,f.default)(O,w.default)}).call(t,n(16))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n0){var o=n.get("artist");r=encodeURIComponent(o+"-"+t.getIn([o,"name"]))}return"/artist/"+r+"/album/"+n.get("id")+"-"+encodeURIComponent(n.get("name"))}};return c.default.createElement("div",null,e,c.default.createElement(d.default,{grid:n,pagination:this.props.pagination}))}}]),t}(u.Component);t.default=v,v.propTypes={error:u.PropTypes.string,isFetching:u.PropTypes.bool.isRequired,albums:u.PropTypes.instanceOf(f.default.List).isRequired,artists:u.PropTypes.instanceOf(f.default.Map),pagination:u.PropTypes.object.isRequired}},function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n0){var n={playAction:this.props.playAction,playNextAction:this.props.playNextAction,songs:this.props.songs.slice(this.props.currentIndex,this.props.currentIndex+1)},r={playAction:this.props.playAction,playNextAction:this.props.playNextAction,songs:this.props.songs +};t=c.default.createElement("div",null,c.default.createElement("p",{className:"text-center"},c.default.createElement("button",{onClick:function(){return e.props.flushAction()}},c.default.createElement(p.FormattedMessage,b["app.playlist.flushPlaylist"]))),c.default.createElement("h3",null,c.default.createElement(p.FormattedMessage,b["app.playlist.currentSongPlaying"])),c.default.createElement(h.SongsTable,n),c.default.createElement("h3",null,c.default.createElement(p.FormattedMessage,b["app.playlist.fullPlaylist"])),c.default.createElement(h.SongsTable,r))}else t=c.default.createElement("p",null,c.default.createElement(p.FormattedMessage,b["app.playlist.emptyPlaylist"]));return c.default.createElement("div",null,c.default.createElement("div",{className:"row"},c.default.createElement("div",{className:"col-xs-12"},c.default.createElement("h2",null,c.default.createElement(p.FormattedMessage,b["app.playlist.playlist"])),c.default.createElement("hr",null))),c.default.createElement("div",{className:"row"},c.default.createElement("div",{className:"col-xs-12"},t)))}}]),t}(u.Component);_.propTypes={playAction:u.PropTypes.func.isRequired,playNextAction:u.PropTypes.func,flushAction:u.PropTypes.func.isRequired,songs:u.PropTypes.instanceOf(f.default.List).isRequired,currentIndex:u.PropTypes.number.isRequired,intl:p.intlShape.isRequired},t.default=(0,p.injectIntl)(_)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;nGo to page {pageNumber}',"app.pagination.goToPageWithoutMarkup":"Go to page {pageNumber}","app.pagination.pageNavigation":"Page navigation","app.pagination.pageToGoTo":"Page to go to?","app.playlist.currentSongPlaying":"Current song playing","app.playlist.emptyPlaylist":"Empty playlist","app.playlist.flushPlaylist":"Empty the playlist","app.playlist.fullPlaylist":"Full playlist","app.playlist.playlist":"Playlist","app.settings.settings":"Settings","app.sidebarLayout.browse":"Browse","app.sidebarLayout.browseAlbums":"Browse albums","app.sidebarLayout.browseArtists":"Browse artists","app.sidebarLayout.browseSongs":"Browse songs","app.sidebarLayout.discover":"Discover","app.sidebarLayout.home":"Home","app.sidebarLayout.logout":"Logout","app.sidebarLayout.mainNavigationMenu":"Main navigation menu","app.sidebarLayout.settings":"Settings","app.sidebarLayout.toggleNavigation":"Toggle navigation","app.songs.genre":"Genre","app.songs.length":"Length","app.songs.title":"Title","app.webplayer.by":"by","app.webplayer.next":"Next","app.webplayer.onLoadError":"Unable to load song","app.webplayer.playlist":"Playlist","app.webplayer.previous":"Previous","app.webplayer.random":"Random","app.webplayer.repeat":"Repeat","app.webplayer.unsupported":"Unsupported media type","app.webplayer.volume":"Volume"}},function(e,t){"use strict";e.exports={"app.api.invalidResponse":"Réponse invalide reçue.","app.api.emptyResponse":"Réponse vide reçue.","app.api.error":"Erreur inconnue.","app.common.album":"{itemCount, plural, one {album} other {albums}}","app.common.art":"Pochette","app.common.artist":"{itemCount, plural, one {artiste} other {artistes}}","app.common.cancel":"Annuler","app.common.close":"Fermer","app.common.go":"Aller","app.common.loading":"Chargement…","app.common.pause":"Pause","app.common.play":"Jouer","app.common.playNext":"Jouer après","app.common.track":"{itemCount, plural, one {piste} other {pistes}}","app.filter.filter":"Filtrer…","app.filter.whatAreWeListeningToToday":"Que voulez-vous écouter aujourd'hui ?","app.grid.goToArtistPage":"Aller à la page de l'artiste","app.grid.goToAlbumPage":"Aller à la page de l'album","app.login.byebye":"À bientôt !","app.login.connecting":"Connexion…","app.login.endpointInputAriaLabel":"URL de votre Ampache (e.g. http://ampache.example.com)","app.login.expired":"Session expirée… =(","app.login.greeting":"Bon retour sur Ampache, c'est parti !","app.login.password":"Mot de passe","app.login.rememberMe":"Se souvenir","app.login.signIn":"Connexion","app.login.success":"Connecté en tant que { username } !","app.login.username":"Utilisateur","app.pagination.current":"actuelle","app.pagination.goToPage":'Aller à la page {pageNumber}',"app.pagination.goToPageWithoutMarkup":"Aller à la page {pageNumber}","app.pagination.pageNavigation":"Navigation entre les pages","app.pagination.pageToGoTo":"Page à laquelle aller ?","app.playlist.currentSongPlaying":"Piste en cours de lecture","app.playlist.emptyPlaylist":"Liste de lecture vide","app.playlist.flushPlaylist":"Vider la playlist","app.playlist.fullPlaylist":"Playlist complète","app.playlist.playlist":"Liste de lecture","app.settings.settings":"Préférences","app.sidebarLayout.browse":"Explorer","app.sidebarLayout.browseAlbums":"Parcourir les albums","app.sidebarLayout.browseArtists":"Parcourir les artistes","app.sidebarLayout.browseSongs":"Parcourir les pistes","app.sidebarLayout.discover":"Découvrir","app.sidebarLayout.home":"Accueil","app.sidebarLayout.logout":"Déconnexion","app.sidebarLayout.mainNavigationMenu":"Menu principal","app.sidebarLayout.settings":"Préférences","app.sidebarLayout.toggleNavigation":"Afficher le menu","app.songs.genre":"Genre","app.songs.length":"Durée","app.songs.title":"Titre","app.webplayer.by":"par","app.webplayer.next":"Suivant","app.webplayer.onLoadError":"Impossible de charger la piste","app.webplayer.playlist":"Liste de lecture","app.webplayer.previous":"Précédent","app.webplayer.random":"Aléatoire","app.webplayer.repeat":"Répéter","app.webplayer.unsupported":"Format non supporté","app.webplayer.volume":"Volume"}},function(e,t,n){"use strict";e.exports={"en-US":n(351),"fr-FR":n(352)}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=[{id:"app.login.username",defaultMessage:"Username",description:"Username input placeholder"},{id:"app.login.password",defaultMessage:"Password",description:"Password input placeholder"},{id:"app.login.signIn",defaultMessage:"Sign in",description:"Sign in"},{id:"app.login.endpointInputAriaLabel",defaultMessage:"URL of your Ampache instance (e.g. http://ampache.example.com)",description:"ARIA label for the endpoint input"},{id:"app.login.rememberMe",description:"Remember me checkbox label",defaultMessage:"Remember me"},{id:"app.login.greeting",description:"Greeting to welcome the user to the app",defaultMessage:"Welcome back on Ampache, let's go!"},{id:"app.login.connecting",defaultMessage:"Connecting…",description:"Info message while trying to connect"},{id:"app.login.success",defaultMessage:"Successfully logged in as { username }!",description:"Info message on successful login."},{id:"app.login.byebye",defaultMessage:"See you soon!",description:"Info message on successful logout"},{id:"app.login.expired",defaultMessage:"Your session expired… =(",description:"Error message on expired session"}];t.default=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=[{id:"app.playlist.playlist",defaultMessage:"Playlist",description:"Playlist translation"},{id:"app.playlist.currentSongPlaying",defaultMessage:"Current song playing",description:"Current song playing"},{id:"app.playlist.fullPlaylist",defaultMessage:"Full playlist",description:"Full playlist"},{id:"app.playlist.emptyPlaylist",defaultMessage:"Empty playlist",description:"Empty playlist message"},{id:"app.playlist.flushPlaylist",defaultMessage:"Empty the playlist",description:"Empty the playlist link label"}];t.default=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=[{id:"app.settings.settings",defaultMessage:"Settings",description:"Settings translation"}];t.default=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=[{id:"app.songs.title",description:"Title (song)",defaultMessage:"Title"},{id:"app.songs.genre",description:"Genre (song)",defaultMessage:"Genre"},{id:"app.songs.length",description:"Length (song)",defaultMessage:"Length"}];t.default=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=[{id:"app.filter.filter",defaultMessage:"Filter…",description:"Filtering input placeholder"},{id:"app.filter.whatAreWeListeningToToday",description:"Description for the filter bar",defaultMessage:"What are we listening to today?"}];t.default=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=[{id:"app.pagination.goToPage",defaultMessage:'Go to page {pageNumber}',description:"Link content to go to page N. span is here for screen-readers"},{id:"app.pagination.goToPageWithoutMarkup",defaultMessage:"Go to page {pageNumber}",description:"Link title to go to page N"},{id:"app.pagination.pageNavigation",defaultMessage:"Page navigation",description:"ARIA label for the nav block containing pagination"},{id:"app.pagination.pageToGoTo",description:"Title of the pagination modal",defaultMessage:"Page to go to?"},{id:"app.pagination.current", +description:"Current (page)",defaultMessage:"current"}];t.default=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=[{id:"app.grid.goToArtistPage",defaultMessage:"Go to artist page",description:"Artist thumbnail link title"},{id:"app.grid.goToAlbumPage",defaultMessage:"Go to album page",description:"Album thumbnail link title"}];t.default=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=[{id:"app.sidebarLayout.mainNavigationMenu",description:"ARIA label for the main navigation menu",defaultMessage:"Main navigation menu"},{id:"app.sidebarLayout.home",description:"Home",defaultMessage:"Home"},{id:"app.sidebarLayout.settings",description:"Settings",defaultMessage:"Settings"},{id:"app.sidebarLayout.logout",description:"Logout",defaultMessage:"Logout"},{id:"app.sidebarLayout.discover",description:"Discover",defaultMessage:"Discover"},{id:"app.sidebarLayout.browse",description:"Browse",defaultMessage:"Browse"},{id:"app.sidebarLayout.browseArtists",description:"Browse artists",defaultMessage:"Browse artists"},{id:"app.sidebarLayout.browseAlbums",description:"Browse albums",defaultMessage:"Browse albums"},{id:"app.sidebarLayout.browseSongs",description:"Browse songs",defaultMessage:"Browse songs"},{id:"app.sidebarLayout.toggleNavigation",description:"Screen reader description of toggle navigation button",defaultMessage:"Toggle navigation"}];t.default=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.song=t.album=t.artist=void 0;var r=n(283),o=t.artist=new r.Schema("artist"),i=t.album=new r.Schema("album"),a=t.song=new r.Schema("song");o.define({albums:(0,r.arrayOf)(i),songs:(0,r.arrayOf)(a)}),i.define({artist:o,tracks:(0,r.arrayOf)(a)}),a.define({artist:o,album:i})},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.stateRecord=t.tokenRecord=void 0;var o=n(15),i=r(o),a=t.tokenRecord=i.default.Record({token:null,expires:null});t.stateRecord=new i.default.Record({token:new a,username:null,endpoint:null,rememberMe:!1,isAuthenticated:!1,isAuthenticating:!1,error:null,info:null,timerID:null})},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.stateRecord=void 0;var o=n(15),i=r(o);t.stateRecord=new i.default.Record({isFetching:!1,error:null,refCounts:new i.default.Map({album:new i.default.Map,artist:new i.default.Map,song:new i.default.Map}),entities:new i.default.Map({album:new i.default.Map,artist:new i.default.Map,song:new i.default.Map})})},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.stateRecord=void 0;var o=n(15),i=r(o);t.stateRecord=new i.default.Record({type:null,result:new i.default.List,currentPage:1,nPages:1})},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.stateRecord=void 0;var o=n(15),i=r(o);t.stateRecord=new i.default.Record({isPlaying:!1,isRandom:!1,isRepeat:!1,isMute:!1,volume:100,currentIndex:0,playlist:new i.default.List,error:null})},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(t,"__esModule",{value:!0});var i,a=n(258),s=r(a),u=n(12),c=n(80),l=n(363),f=n(26),p=new l.stateRecord,d=s.default.getJSON("token");d&&(d.expires=new Date(d.expires),p=p.set("token",new l.tokenRecord({token:d.token,expires:new Date(d.expires)})));var h=s.default.get("username");h&&(p=p.set("username",h));var m=s.default.get("endpoint");m&&(p=p.set("endpoint",m)),h&&m&&(p=p.set("rememberMe",!0)),t.default=(0,u.createReducer)(p,(i={},o(i,f.LOGIN_USER_REQUEST,function(){return new l.stateRecord({isAuthenticating:!0,info:new c.i18nRecord({id:"app.login.connecting",values:{}})})}),o(i,f.LOGIN_USER_SUCCESS,function(e,t){return new l.stateRecord({isAuthenticated:!0,token:new l.tokenRecord(t.token),username:t.username,endpoint:t.endpoint,rememberMe:t.rememberMe,info:new c.i18nRecord({id:"app.login.success",values:{username:t.username}}),timerID:t.timerID})}),o(i,f.LOGIN_USER_FAILURE,function(e,t){return new l.stateRecord({error:t.error})}),o(i,f.LOGIN_USER_EXPIRED,function(e,t){return new l.stateRecord({isAuthenticated:!1,error:t.error})}),o(i,f.LOGOUT_USER,function(){return new l.stateRecord({info:new c.i18nRecord({id:"app.login.byebye",values:{}})})}),i))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t,n){var r=Array.concat(["refCounts"],t),o=e.getIn(r)+n;return isNaN(o)&&(o=Math.sign(n)),e.setIn(r,o)}function a(e,t,n,r,o){var a=e,s=null,u=null;switch(t){case"artist":a=i(a,["artist",n],o),s=r.get("albums"),l.default.List.isList(s)&&s.forEach(function(e){a=i(a,["album",e],o)}),u=r.get("songs"),l.default.List.isList(u)&&u.forEach(function(e){a=i(a,["song",e],o)});break;case"album":a=i(a,["album",n],o),a=i(a,["artist",r.get("artist")],o),u=r.get("tracks"),l.default.List.isList(u)&&u.forEach(function(e){a=i(a,["song",e],o)});break;case"song":a=i(a,["song",n],o),a=i(a,["artist",r.get("artist")],o),a=i(a,["album",r.get("album")],o);break;default:a=i(a,[t,n],o)}return a}function s(e){var t=e;return e.refCounts.forEach(function(e,n){e.forEach(function(e,r){e<1&&(t=t.deleteIn(["entities",n,r]),t=t.deleteIn(["refCounts",n,r]))})}),t}Object.defineProperty(t,"__esModule",{value:!0});var u,c=n(15),l=r(c),f=n(12),p=n(364),d=n(26),h=new p.stateRecord;t.default=(0,f.createReducer)(h,(u={},o(u,d.API_REQUEST,function(e){return e.set("isFetching",!0).set("error",null)}),o(u,d.API_FAILURE,function(e,t){return e.set("isFetching",!1).set("error",t.error)}),o(u,d.PUSH_ENTITIES,function(e,t){var n=e;return n=e.set("isFetching",!1).set("error",t.error),n=n.mergeDeepIn(["entities"],t.entities),t.refCountType.forEach(function(e){var r=t.entities[e];for(var o in r){var i=n.getIn(["entities",e,o]);n=a(n,e,o,i,1)}}),n}),o(u,d.INCREMENT_REFCOUNT,function(e,t){var n=e,r=function(e){var r=t.entities[e];r.forEach(function(t){var r=n.getIn(["entities",e,t]);n=a(n,e,t,r,1)})};for(var o in t.entities)r(o);return n}),o(u,d.DECREMENT_REFCOUNT,function(e,t){var n=e,r=function(e){var r=t.entities[e];r.forEach(function(t){var r=n.getIn(["entities",e,t]);n=a(n,e,t,r,-1)})};for(var o in t.entities)r(o);return n=s(n)}),o(u,d.INVALIDATE_STORE,function(){return new p.stateRecord}),u))},function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(97),a=n(39),s=n(367),u=o(s),c=n(368),l=o(c),f=n(370),p=o(f),d=n(371),h=o(d),m=n(26),v=r(m),y=(0,p.default)([v.API_REQUEST,v.API_SUCCESS,v.API_FAILURE]);t.default=(0,a.combineReducers)({routing:i.routerReducer,auth:u.default,entities:l.default,paginated:y,webplayer:h.default})},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e){var t;if(!Array.isArray(e)||3!==e.length)throw new Error("Expected types to be an array of three elements.");if(!e.every(function(e){return"string"==typeof e}))throw new Error("Expected types to be strings.");var n=a(e,3),r=n[0],i=n[1],s=n[2];return(0,c.createReducer)(p,(t={},o(t,r,function(e){return e}),o(t,i,function(e,t){return e.set("type",t.type).set("result",u.default.fromJS(t.result)).set("nPages",t.nPages).set("currentPage",t.currentPage)}),o(t,s,function(e){return e}),o(t,f.CLEAR_PAGINATED_RESULTS,function(e){return e.set("result",new u.default.List)}),o(t,f.INVALIDATE_STORE,function(){return new l.stateRecord}),t))}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(u){o=!0,i=u}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.default=i;var s=n(15),u=r(s),c=n(12),l=n(365),f=n(26),p=new l.stateRecord},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(t,"__esModule",{value:!0});var i,a=n(15),s=r(a),u=n(12),c=n(366),l=n(26),f=new c.stateRecord;t.default=(0,u.createReducer)(f,(i={},o(i,l.PLAY_PAUSE,function(e,t){return e.set("isPlaying",t.isPlaying).set("error",null)}),o(i,l.STOP_PLAYBACK,function(e){return e.set("isPlaying",!1).set("currentIndex",0).set("playlist",new s.default.List).set("error",null)}),o(i,l.SET_PLAYLIST,function(e,t){return e.set("playlist",new s.default.List(t.playlist)).set("currentIndex",0).set("error",null)}),o(i,l.PUSH_SONG,function(e,t){var n=e;return t.index?(n=n.set("playlist",n.get("playlist").insert(t.index,t.song)),t.index<=n.get("currentIndex")&&(n=n.set("currentIndex",Math.min(n.get("currentIndex")+1,n.get("playlist").size)))):n=n.set("playlist",n.get("playlist").push(t.song)),n}),o(i,l.POP_SONG,function(e,t){var n=e.deleteIn(["playlist",t.index]);return t.index=e.get("playlist").size?e.get("isRepeat")?void(t=0):e.set("isPlaying",!1).set("error",null):e.set("currentIndex",t).set("error",null)}),o(i,l.TOGGLE_RANDOM,function(e){return e.set("isRandom",!e.get("isRandom"))}),o(i,l.TOGGLE_REPEAT,function(e){return e.set("isRepeat",!e.get("isRepeat"))}),o(i,l.TOGGLE_MUTE,function(e){return e.set("isMute",!e.get("isMute"))}),o(i,l.SET_VOLUME,function(e,t){return e.set("volume",t.volume)}),o(i,l.SET_ERROR,function(e,t){return e.set("isPlaying",!1).set("error",t.error)}),o(i,l.INVALIDATE_STORE,function(){return new c.stateRecord}),i))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),i=r(o),a=n(54),s=n(349),u=r(s),c=n(348),l=r(c),f=n(347),p=r(f),d=n(346),h=r(d),m=n(383),v=r(m),y=n(142),g=r(y),b=n(382),_=r(b),w=n(384),E=r(w),x=n(385),P=r(x),T=n(386),S=r(T),O=n(387),C=r(O),A=n(388),k=r(A),M=n(389),F=r(M),N=n(391),I=r(N),R=n(390),j=r(R);t.default=i.default.createElement(a.Route,{path:"/",component:l.default}," // Main container is App",i.default.createElement(a.Route,{path:"login",component:p.default}," // Login is a SimpleLayout",i.default.createElement(a.IndexRoute,{component:C.default})),i.default.createElement(a.Route,{component:h.default}," // All the rest is a SidebarLayout",i.default.createElement(a.Route,{path:"logout",component:k.default}),i.default.createElement(a.Route,{component:u.default}," // And some pages require authentication",i.default.createElement(a.Route,{path:"discover",component:P.default}),i.default.createElement(a.Route,{path:"browse",component:E.default}),i.default.createElement(a.Route,{path:"artists",component:g.default}),i.default.createElement(a.Route,{path:"artist/:artist",component:v.default}),i.default.createElement(a.Route,{path:"albums",component:_.default}),i.default.createElement(a.Route,{path:"artist/:artist/album/:album",component:v.default}),i.default.createElement(a.Route,{path:"songs",component:I.default}),i.default.createElement(a.Route,{path:"playlist",component:F.default}),i.default.createElement(a.Route,{path:"settings",component:j.default}),i.default.createElement(a.IndexRoute,{component:S.default}))))},function(e,t,n){"use strict";e.exports=n(374)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){return(0,i.createStore)(f.default,e,(0,i.applyMiddleware)(c.default,d.default,h))}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var i=n(39),a=n(54),s=n(97),u=n(864),c=r(u),l=n(369),f=r(l),p=n(141),d=r(p),h=(0,s.routerMiddleware)(a.hashHistory)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){var t=Math.floor(Date.now()/1e3),n=new a.default("SHA-256","TEXT");n.update(e);var r=n.getHash("HEX");return n=new a.default("SHA-256","TEXT"),n.update(t+r),{time:t,passphrase:n.getHash("HEX")}}Object.defineProperty(t,"__esModule",{value:!0}),t.buildHMAC=o;var i=n(664),a=r(i)},function(e,t){"use strict";function n(e,t){return e.filter(function(e){return t.indexOf(e)<0})}Object.defineProperty(t,"__esModule",{value:!0}),t.immutableDiff=n},function(e,t,n){"use strict";function r(){var e=[];e=navigator.languages?navigator.languages:navigator.userLanguage?[navigator.userLanguage]:[navigator.language];var t=e.map(function(e){var t=e.split("-");return t[1]?t[0]+"-"+t[1].toUpperCase():e});return t}function o(e){var t={};return e.forEach(function(e){t[e.id]=e}),t}function i(e,t,n){return e instanceof a.i18nRecord?t(n[e.id],e.values):e}Object.defineProperty(t,"__esModule",{value:!0}),t.getBrowserLocales=r,t.messagesMap=o,t.handleErrorI18nObject=i;var a=n(80)},function(e,t){"use strict";function n(e){return/^(\-|\+)?([0-9]+|Infinity)$/.test(e)?Number(e):NaN}function r(e){var t=Math.floor(e/60),n=e-60*t;return n<10&&(n="0"+n),t+":"+n}Object.defineProperty(t,"__esModule",{value:!0}),t.filterInt=n,t.formatLength=r},function(e,t){"use strict";function n(e,t,n,r){var o=function(t){return{pathname:e.pathname,query:Object.assign({},e.query,{page:t})}};return{currentPage:t,nPages:n,goToPage:function(e){return r(o(e))},buildLinkToPage:o}}function r(e,t){for(var n=arguments.length<=2||void 0===arguments[2]?5:arguments[2],r=e,o=e,i=1;i1&&(r--,i++),i0&&(t=e.paginated.result.map(function(t){return e.entities.getIn(["entities","album",t])}),t.forEach(function(t){if(t){var r=t.get("artist");n=n.set(r,e.entities.getIn(["entities","artist",r]))}})),{isFetching:e.entities.isFetching,error:e.entities.error,albumsList:t,artistsList:n,currentPage:e.paginated.currentPage,nPages:e.paginated.nPages}},S=function(e){return{actions:(0,f.bindActionCreators)(g,e)}};t.default=(0,p.connect)(T,S)((0,d.injectIntl)(P))},function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n0&&(t=e.webplayer.playlist.map(function(t){var n=e.entities.getIn(["entities","song",t]),r=e.entities.getIn(["entities","artist",n.get("artist")]),o=e.entities.getIn(["entities","album",n.get("album")]);return n.set("artist",new h.default.Map({id:r.get("id"),name:r.get("name")})).set("album",new h.default.Map({id:o.get("id"),name:o.get("name")}))})),{songsList:t,currentIndex:e.webplayer.currentIndex}},w=function(e){return{actions:(0,f.bindActionCreators)(v,e)}};t.default=(0,p.connect)(_,w)(b)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n0&&(t=e.paginated.result.map(function(t){var n=e.entities.getIn(["entities","song",t]),r=e.entities.getIn(["entities","artist",n.get("artist")]),o=e.entities.getIn(["entities","album",n.get("album")]);return n.set("artist",new m.default.Map({id:r.get("id"),name:r.get("name")})).set("album",new m.default.Map({id:o.get("id"),name:o.get("name")}))})),{isFetching:e.entities.isFetching,error:e.entities.error,songsList:t,currentPage:e.paginated.currentPage,nPages:e.paginated.nPages}},S=function(e){return{actions:(0,f.bindActionCreators)(g,e)}};t.default=(0,p.connect)(T,S)((0,d.injectIntl)(P))},function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n0?l.default.createElement(_.default,n):l.default.createElement("div",null)}}]),t}(c.Component);P.propTypes={location:c.PropTypes.object,intl:d.intlShape.isRequired};var T=function(e){var t=e.webplayer.currentIndex,n=e.webplayer.playlist,r=e.entities.getIn(["entities","song",n.get(t)]),o=void 0;return r&&(o=e.entities.getIn(["entities","artist",r.get("artist")])),{isPlaying:e.webplayer.isPlaying,isRandom:e.webplayer.isRandom,isRepeat:e.webplayer.isRepeat,isMute:e.webplayer.isMute,volume:e.webplayer.volume,currentIndex:t,playlist:n,error:e.webplayer.error,currentSong:r,currentArtist:o}},S=function(e){return{actions:(0,f.bindActionCreators)(g,e)}};t.default=(0,p.connect)(T,S)((0,d.injectIntl)(P))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t=e-r&&"bottom"},n.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(n.RESET).addClass("affix");var e=this.$target.scrollTop(),t=this.$element.offset();return this.pinnedOffset=t.top-e},n.prototype.checkPositionWithEventLoop=function(){setTimeout(e.proxy(this.checkPosition,this),1)},n.prototype.checkPosition=function(){if(this.$element.is(":visible")){var t=this.$element.height(),r=this.options.offset,o=r.top,i=r.bottom,a=Math.max(e(document).height(),e(document.body).height());"object"!=typeof r&&(i=o=r),"function"==typeof o&&(o=r.top(this.$element)),"function"==typeof i&&(i=r.bottom(this.$element));var s=this.getState(a,t,o,i);if(this.affixed!=s){null!=this.unpin&&this.$element.css("top","");var u="affix"+(s?"-"+s:""),c=e.Event(u+".bs.affix");if(this.$element.trigger(c),c.isDefaultPrevented())return;this.affixed=s,this.unpin="bottom"==s?this.getPinnedOffset():null,this.$element.removeClass(n.RESET).addClass(u).trigger(u.replace("affix","affixed")+".bs.affix")}"bottom"==s&&this.$element.offset({top:a-t-i})}};var r=e.fn.affix;e.fn.affix=t,e.fn.affix.Constructor=n,e.fn.affix.noConflict=function(){return e.fn.affix=r,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var n=e(this),r=n.data();r.offset=r.offset||{},null!=r.offsetBottom&&(r.offset.bottom=r.offsetBottom),null!=r.offsetTop&&(r.offset.top=r.offsetTop),t.call(n,r)})})}(e)}).call(t,n(16))},function(e,t,n){(function(e){+function(e){"use strict";function t(t){return this.each(function(){var n=e(this),o=n.data("bs.alert");o||n.data("bs.alert",o=new r(this)),"string"==typeof t&&o[t].call(n)})}var n='[data-dismiss="alert"]',r=function(t){e(t).on("click",n,this.close)};r.VERSION="3.3.7",r.TRANSITION_DURATION=150,r.prototype.close=function(t){function n(){a.detach().trigger("closed.bs.alert").remove()}var o=e(this),i=o.attr("data-target");i||(i=o.attr("href"),i=i&&i.replace(/.*(?=#[^\s]*$)/,""));var a=e("#"===i?[]:i);t&&t.preventDefault(),a.length||(a=o.closest(".alert")),a.trigger(t=e.Event("close.bs.alert")),t.isDefaultPrevented()||(a.removeClass("in"),e.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",n).emulateTransitionEnd(r.TRANSITION_DURATION):n())};var o=e.fn.alert;e.fn.alert=t,e.fn.alert.Constructor=r,e.fn.alert.noConflict=function(){return e.fn.alert=o,this},e(document).on("click.bs.alert.data-api",n,r.prototype.close)}(e)}).call(t,n(16))},function(e,t,n){(function(e){+function(e){"use strict";function t(t){return this.each(function(){var r=e(this),o=r.data("bs.button"),i="object"==typeof t&&t;o||r.data("bs.button",o=new n(this,i)),"toggle"==t?o.toggle():t&&o.setState(t)})}var n=function(t,r){this.$element=e(t),this.options=e.extend({},n.DEFAULTS,r),this.isLoading=!1};n.VERSION="3.3.7",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(t){var n="disabled",r=this.$element,o=r.is("input")?"val":"html",i=r.data();t+="Text",null==i.resetText&&r.data("resetText",r[o]()),setTimeout(e.proxy(function(){r[o](null==i[t]?this.options[t]:i[t]),"loadingText"==t?(this.isLoading=!0,r.addClass(n).attr(n,n).prop(n,!0)):this.isLoading&&(this.isLoading=!1,r.removeClass(n).removeAttr(n).prop(n,!1))},this),0)},n.prototype.toggle=function(){var e=!0,t=this.$element.closest('[data-toggle="buttons"]');if(t.length){var n=this.$element.find("input");"radio"==n.prop("type")?(n.prop("checked")&&(e=!1),t.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==n.prop("type")&&(n.prop("checked")!==this.$element.hasClass("active")&&(e=!1),this.$element.toggleClass("active")),n.prop("checked",this.$element.hasClass("active")),e&&n.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var r=e.fn.button;e.fn.button=t,e.fn.button.Constructor=n,e.fn.button.noConflict=function(){return e.fn.button=r,this},e(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(n){var r=e(n.target).closest(".btn");t.call(r,"toggle"),e(n.target).is('input[type="radio"], input[type="checkbox"]')||(n.preventDefault(),r.is("input,button")?r.trigger("focus"):r.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(t){e(t.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(t.type))})}(e)}).call(t,n(16))},function(e,t,n){(function(e){+function(e){"use strict";function t(t){return this.each(function(){var r=e(this),o=r.data("bs.carousel"),i=e.extend({},n.DEFAULTS,r.data(),"object"==typeof t&&t),a="string"==typeof t?t:i.slide;o||r.data("bs.carousel",o=new n(this,i)),"number"==typeof t?o.to(t):a?o[a]():i.interval&&o.pause().cycle()})}var n=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",e.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",e.proxy(this.pause,this)).on("mouseleave.bs.carousel",e.proxy(this.cycle,this))};n.VERSION="3.3.7",n.TRANSITION_DURATION=600,n.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},n.prototype.keydown=function(e){if(!/input|textarea/i.test(e.target.tagName)){switch(e.which){case 37:this.prev();break;case 39:this.next();break;default:return}e.preventDefault()}},n.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},n.prototype.getItemIndex=function(e){return this.$items=e.parent().children(".item"),this.$items.index(e||this.$active)},n.prototype.getItemForDirection=function(e,t){var n=this.getItemIndex(t),r="prev"==e&&0===n||"next"==e&&n==this.$items.length-1;if(r&&!this.options.wrap)return t;var o="prev"==e?-1:1,i=(n+o)%this.$items.length;return this.$items.eq(i)},n.prototype.to=function(e){var t=this,n=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(e>this.$items.length-1||e<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){t.to(e)}):n==e?this.pause().cycle():this.slide(e>n?"next":"prev",this.$items.eq(e))},n.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},n.prototype.next=function(){if(!this.sliding)return this.slide("next")},n.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},n.prototype.slide=function(t,r){var o=this.$element.find(".item.active"),i=r||this.getItemForDirection(t,o),a=this.interval,s="next"==t?"left":"right",u=this;if(i.hasClass("active"))return this.sliding=!1;var c=i[0],l=e.Event("slide.bs.carousel",{relatedTarget:c,direction:s});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,a&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var f=e(this.$indicators.children()[this.getItemIndex(i)]);f&&f.addClass("active")}var p=e.Event("slid.bs.carousel",{relatedTarget:c,direction:s});return e.support.transition&&this.$element.hasClass("slide")?(i.addClass(t),i[0].offsetWidth,o.addClass(s),i.addClass(s),o.one("bsTransitionEnd",function(){i.removeClass([t,s].join(" ")).addClass("active"),o.removeClass(["active",s].join(" ")),u.sliding=!1,setTimeout(function(){u.$element.trigger(p)},0)}).emulateTransitionEnd(n.TRANSITION_DURATION)):(o.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger(p)),a&&this.cycle(),this}};var r=e.fn.carousel;e.fn.carousel=t,e.fn.carousel.Constructor=n,e.fn.carousel.noConflict=function(){return e.fn.carousel=r,this};var o=function(n){var r,o=e(this),i=e(o.attr("data-target")||(r=o.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""));if(i.hasClass("carousel")){var a=e.extend({},i.data(),o.data()),s=o.attr("data-slide-to");s&&(a.interval=!1),t.call(i,a),s&&i.data("bs.carousel").to(s),n.preventDefault()}};e(document).on("click.bs.carousel.data-api","[data-slide]",o).on("click.bs.carousel.data-api","[data-slide-to]",o),e(window).on("load",function(){e('[data-ride="carousel"]').each(function(){var n=e(this);t.call(n,n.data())})})}(e)}).call(t,n(16))},function(e,t,n){(function(e){+function(e){"use strict";function t(t){var n,r=t.attr("data-target")||(n=t.attr("href"))&&n.replace(/.*(?=#[^\s]+$)/,"");return e(r)}function n(t){return this.each(function(){var n=e(this),o=n.data("bs.collapse"),i=e.extend({},r.DEFAULTS,n.data(),"object"==typeof t&&t);!o&&i.toggle&&/show|hide/.test(t)&&(i.toggle=!1),o||n.data("bs.collapse",o=new r(this,i)),"string"==typeof t&&o[t]()})}var r=function(t,n){this.$element=e(t),this.options=e.extend({},r.DEFAULTS,n),this.$trigger=e('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};r.VERSION="3.3.7",r.TRANSITION_DURATION=350,r.DEFAULTS={toggle:!0},r.prototype.dimension=function(){var e=this.$element.hasClass("width");return e?"width":"height"},r.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var t,o=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(o&&o.length&&(t=o.data("bs.collapse"),t&&t.transitioning))){var i=e.Event("show.bs.collapse");if(this.$element.trigger(i),!i.isDefaultPrevented()){o&&o.length&&(n.call(o,"hide"),t||o.data("bs.collapse",null));var a=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[a](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var s=function(){this.$element.removeClass("collapsing").addClass("collapse in")[a](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!e.support.transition)return s.call(this);var u=e.camelCase(["scroll",a].join("-"));this.$element.one("bsTransitionEnd",e.proxy(s,this)).emulateTransitionEnd(r.TRANSITION_DURATION)[a](this.$element[0][u])}}}},r.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var t=e.Event("hide.bs.collapse");if(this.$element.trigger(t),!t.isDefaultPrevented()){var n=this.dimension();this.$element[n](this.$element[n]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var o=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return e.support.transition?void this.$element[n](0).one("bsTransitionEnd",e.proxy(o,this)).emulateTransitionEnd(r.TRANSITION_DURATION):o.call(this)}}},r.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},r.prototype.getParent=function(){return e(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(e.proxy(function(n,r){var o=e(r);this.addAriaAndCollapsedClass(t(o),o)},this)).end()},r.prototype.addAriaAndCollapsedClass=function(e,t){var n=e.hasClass("in");e.attr("aria-expanded",n),t.toggleClass("collapsed",!n).attr("aria-expanded",n)};var o=e.fn.collapse;e.fn.collapse=n,e.fn.collapse.Constructor=r,e.fn.collapse.noConflict=function(){return e.fn.collapse=o,this},e(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(r){var o=e(this);o.attr("data-target")||r.preventDefault();var i=t(o),a=i.data("bs.collapse"),s=a?"toggle":o.data();n.call(i,s)})}(e)}).call(t,n(16))},function(e,t,n){(function(e){+function(e){"use strict";function t(t){var n=t.attr("data-target");n||(n=t.attr("href"),n=n&&/#[A-Za-z]/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var r=n&&e(n);return r&&r.length?r:t.parent()}function n(n){n&&3===n.which||(e(o).remove(),e(i).each(function(){var r=e(this),o=t(r),i={relatedTarget:this};o.hasClass("open")&&(n&&"click"==n.type&&/input|textarea/i.test(n.target.tagName)&&e.contains(o[0],n.target)||(o.trigger(n=e.Event("hide.bs.dropdown",i)),n.isDefaultPrevented()||(r.attr("aria-expanded","false"),o.removeClass("open").trigger(e.Event("hidden.bs.dropdown",i)))))}))}function r(t){return this.each(function(){var n=e(this),r=n.data("bs.dropdown");r||n.data("bs.dropdown",r=new a(this)),"string"==typeof t&&r[t].call(n)})}var o=".dropdown-backdrop",i='[data-toggle="dropdown"]',a=function(t){e(t).on("click.bs.dropdown",this.toggle)};a.VERSION="3.3.7",a.prototype.toggle=function(r){var o=e(this);if(!o.is(".disabled, :disabled")){var i=t(o),a=i.hasClass("open");if(n(),!a){"ontouchstart"in document.documentElement&&!i.closest(".navbar-nav").length&&e(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(e(this)).on("click",n);var s={relatedTarget:this};if(i.trigger(r=e.Event("show.bs.dropdown",s)),r.isDefaultPrevented())return;o.trigger("focus").attr("aria-expanded","true"),i.toggleClass("open").trigger(e.Event("shown.bs.dropdown",s))}return!1}},a.prototype.keydown=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)){var r=e(this);if(n.preventDefault(),n.stopPropagation(),!r.is(".disabled, :disabled")){var o=t(r),a=o.hasClass("open");if(!a&&27!=n.which||a&&27==n.which)return 27==n.which&&o.find(i).trigger("focus"),r.trigger("click");var s=" li:not(.disabled):visible a",u=o.find(".dropdown-menu"+s);if(u.length){var c=u.index(n.target);38==n.which&&c>0&&c--,40==n.which&&cdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&e?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!e?this.scrollbarWidth:""})},n.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},n.prototype.checkScrollbar=function(){var e=window.innerWidth;if(!e){var t=document.documentElement.getBoundingClientRect();e=t.right-Math.abs(t.left)}this.bodyIsOverflowing=document.body.clientWidth

'}),n.prototype=e.extend({},e.fn.tooltip.Constructor.prototype),n.prototype.constructor=n,n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.setContent=function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof n?"html":"append":"text"](n), +e.removeClass("fade top bottom left right in"),e.find(".popover-title").html()||e.find(".popover-title").hide()},n.prototype.hasContent=function(){return this.getTitle()||this.getContent()},n.prototype.getContent=function(){var e=this.$element,t=this.options;return e.attr("data-content")||("function"==typeof t.content?t.content.call(e[0]):t.content)},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var r=e.fn.popover;e.fn.popover=t,e.fn.popover.Constructor=n,e.fn.popover.noConflict=function(){return e.fn.popover=r,this}}(e)}).call(t,n(16))},function(e,t,n){(function(e){+function(e){"use strict";function t(n,r){this.$body=e(document.body),this.$scrollElement=e(e(n).is(document.body)?window:n),this.options=e.extend({},t.DEFAULTS,r),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e.proxy(this.process,this)),this.refresh(),this.process()}function n(n){return this.each(function(){var r=e(this),o=r.data("bs.scrollspy"),i="object"==typeof n&&n;o||r.data("bs.scrollspy",o=new t(this,i)),"string"==typeof n&&o[n]()})}t.VERSION="3.3.7",t.DEFAULTS={offset:10},t.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},t.prototype.refresh=function(){var t=this,n="offset",r=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),e.isWindow(this.$scrollElement[0])||(n="position",r=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=e(this),o=t.data("target")||t.attr("href"),i=/^#./.test(o)&&e(o);return i&&i.length&&i.is(":visible")&&[[i[n]().top+r,o]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},t.prototype.process=function(){var e,t=this.$scrollElement.scrollTop()+this.options.offset,n=this.getScrollHeight(),r=this.options.offset+n-this.$scrollElement.height(),o=this.offsets,i=this.targets,a=this.activeTarget;if(this.scrollHeight!=n&&this.refresh(),t>=r)return a!=(e=i[i.length-1])&&this.activate(e);if(a&&t=o[e]&&(void 0===o[e+1]||t .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),o&&o()}var a=r.find("> .active"),s=o&&e.support.transition&&(a.length&&a.hasClass("fade")||!!r.find("> .fade").length);a.length&&s?a.one("bsTransitionEnd",i).emulateTransitionEnd(n.TRANSITION_DURATION):i(),a.removeClass("in")};var r=e.fn.tab;e.fn.tab=t,e.fn.tab.Constructor=n,e.fn.tab.noConflict=function(){return e.fn.tab=r,this};var o=function(n){n.preventDefault(),t.call(e(this),"show")};e(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',o).on("click.bs.tab.data-api",'[data-toggle="pill"]',o)}(e)}).call(t,n(16))},function(e,t,n){(function(e){+function(e){"use strict";function t(t){return this.each(function(){var r=e(this),o=r.data("bs.tooltip"),i="object"==typeof t&&t;!o&&/destroy|hide/.test(t)||(o||r.data("bs.tooltip",o=new n(this,i)),"string"==typeof t&&o[t]())})}var n=function(e,t){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",e,t)};n.VERSION="3.3.7",n.TRANSITION_DURATION=150,n.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},n.prototype.init=function(t,n,r){if(this.enabled=!0,this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.$viewport=this.options.viewport&&e(e.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),i=o.length;i--;){var a=o[i];if("click"==a)this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this));else if("manual"!=a){var s="hover"==a?"mouseenter":"focusin",u="hover"==a?"mouseleave":"focusout";this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(u+"."+this.type,this.options.selector,e.proxy(this.leave,this))}}this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.getOptions=function(t){return t=e.extend({},this.getDefaults(),this.$element.data(),t),t.delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t},n.prototype.getDelegateOptions=function(){var t={},n=this.getDefaults();return this._options&&e.each(this._options,function(e,r){n[e]!=r&&(t[e]=r)}),t},n.prototype.enter=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusin"==t.type?"focus":"hover"]=!0),n.tip().hasClass("in")||"in"==n.hoverState?void(n.hoverState="in"):(clearTimeout(n.timeout),n.hoverState="in",n.options.delay&&n.options.delay.show?void(n.timeout=setTimeout(function(){"in"==n.hoverState&&n.show()},n.options.delay.show)):n.show())},n.prototype.isInStateTrue=function(){for(var e in this.inState)if(this.inState[e])return!0;return!1},n.prototype.leave=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);if(n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusout"==t.type?"focus":"hover"]=!1),!n.isInStateTrue())return clearTimeout(n.timeout),n.hoverState="out",n.options.delay&&n.options.delay.hide?void(n.timeout=setTimeout(function(){"out"==n.hoverState&&n.hide()},n.options.delay.hide)):n.hide()},n.prototype.show=function(){var t=e.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var r=e.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!r)return;var o=this,i=this.tip(),a=this.getUID(this.type);this.setContent(),i.attr("id",a),this.$element.attr("aria-describedby",a),this.options.animation&&i.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,i[0],this.$element[0]):this.options.placement,u=/\s?auto?\s?/i,c=u.test(s);c&&(s=s.replace(u,"")||"top"),i.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?i.appendTo(this.options.container):i.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),f=i[0].offsetWidth,p=i[0].offsetHeight;if(c){var d=s,h=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+p>h.bottom?"top":"top"==s&&l.top-ph.width?"left":"left"==s&&l.left-fa.top+a.height&&(o.top=a.top+a.height-u)}else{var c=t.left-i,l=t.left+i+n;ca.right&&(o.left=a.left+a.width-l)}return o},n.prototype.getTitle=function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||("function"==typeof n.title?n.title.call(t[0]):n.title)},n.prototype.getUID=function(e){do e+=~~(1e6*Math.random());while(document.getElementById(e));return e},n.prototype.tip=function(){if(!this.$tip&&(this.$tip=e(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},n.prototype.enable=function(){this.enabled=!0},n.prototype.disable=function(){this.enabled=!1},n.prototype.toggleEnabled=function(){this.enabled=!this.enabled},n.prototype.toggle=function(t){var n=this;t&&(n=e(t.currentTarget).data("bs."+this.type),n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n))),t?(n.inState.click=!n.inState.click,n.isInStateTrue()?n.enter(n):n.leave(n)):n.tip().hasClass("in")?n.leave(n):n.enter(n)},n.prototype.destroy=function(){var e=this;clearTimeout(this.timeout),this.hide(function(){e.$element.off("."+e.type).removeData("bs."+e.type),e.$tip&&e.$tip.detach(),e.$tip=null,e.$arrow=null,e.$viewport=null,e.$element=null})};var r=e.fn.tooltip;e.fn.tooltip=t,e.fn.tooltip.Constructor=n,e.fn.tooltip.noConflict=function(){return e.fn.tooltip=r,this}}(e)}).call(t,n(16))},function(e,t,n){(function(e){+function(e){"use strict";function t(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in t)if(void 0!==e.style[n])return{end:t[n]};return!1}e.fn.emulateTransitionEnd=function(t){var n=!1,r=this;e(this).one("bsTransitionEnd",function(){n=!0});var o=function(){n||e(r).trigger(e.support.transition.end)};return setTimeout(o,t),this},e(function(){e.support.transition=t(),e.support.transition&&(e.event.special.bsTransitionEnd={bindType:e.support.transition.end,delegateType:e.support.transition.end,handle:function(t){if(e(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}})})}(e)}).call(t,n(16))},function(e,t,n){n(422),e.exports=n(41).RegExp.escape},function(e,t,n){var r=n(9),o=n(151),i=n(10)("species");e.exports=function(e){var t;return o(e)&&(t=e.constructor,"function"!=typeof t||t!==Array&&!o(t.prototype)||(t=void 0),r(t)&&(t=t[i],null===t&&(t=void 0))),void 0===t?Array:t}},function(e,t,n){var r=n(413);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){"use strict";var r=n(4),o=n(43),i="number";e.exports=function(e){if("string"!==e&&e!==i&&"default"!==e)throw TypeError("Incorrect hint");return o(r(this),e!=i)}},function(e,t,n){var r=n(70),o=n(113),i=n(93);e.exports=function(e){var t=r(e),n=o.f;if(n)for(var a,s=n(e),u=i.f,c=0;s.length>c;)u.call(e,a=s[c++])&&t.push(a);return t}},function(e,t,n){var r=n(70),o=n(30);e.exports=function(e,t){for(var n,i=o(e),a=r(i),s=a.length,u=0;s>u;)if(i[n=a[u++]]===t)return n}},function(e,t,n){"use strict";var r=n(419),o=n(109),i=n(27);e.exports=function(){for(var e=i(this),t=arguments.length,n=Array(t),a=0,s=r._,u=!1;t>a;)(n[a]=arguments[a++])===s&&(u=!0);return function(){var r,i=this,a=arguments.length,c=0,l=0;if(!u&&!a)return o(e,n,i);if(r=n.slice(),u)for(;t>c;c++)r[c]===s&&(r[c]=arguments[l++]);for(;a>l;)r.push(arguments[l++]);return o(e,r,i)}}},function(e,t,n){e.exports=n(7)},function(e,t){e.exports=function(e,t){var n=t===Object(t)?function(e){return t[e]}:t;return function(t){return String(t).replace(e,n)}}},function(e,t,n){var r=n(82),o=n(10)("iterator"),i=n(66);e.exports=n(41).isIterable=function(e){var t=Object(e);return void 0!==t[o]||"@@iterator"in t||i.hasOwnProperty(r(t))}},function(e,t,n){var r=n(1),o=n(420)(/[\\^$*+?.()|[\]{}]/g,"\\$&");r(r.S,"RegExp",{escape:function(e){return o(e)}})},function(e,t,n){var r=n(1);r(r.P,"Array",{copyWithin:n(218)}),n(81)("copyWithin")},function(e,t,n){"use strict";var r=n(1),o=n(40)(4);r(r.P+r.F*!n(37)([].every,!0),"Array",{every:function(e){return o(this,e,arguments[1])}})},function(e,t,n){var r=n(1);r(r.P,"Array",{fill:n(143)}),n(81)("fill")},function(e,t,n){"use strict";var r=n(1),o=n(40)(2);r(r.P+r.F*!n(37)([].filter,!0),"Array",{filter:function(e){return o(this,e,arguments[1])}})},function(e,t,n){"use strict";var r=n(1),o=n(40)(6),i="findIndex",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,"Array",{findIndex:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),n(81)(i)},function(e,t,n){"use strict";var r=n(1),o=n(40)(5),i="find",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,"Array",{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),n(81)(i)},function(e,t,n){"use strict";var r=n(1),o=n(40)(0),i=n(37)([].forEach,!0);r(r.P+r.F*!i,"Array",{forEach:function(e){return o(this,e,arguments[1])}})},function(e,t,n){"use strict";var r=n(51),o=n(1),i=n(20),a=n(226),s=n(150),u=n(19),c=n(144),l=n(167);o(o.S+o.F*!n(111)(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,o,f,p=i(e),d="function"==typeof this?this:Array,h=arguments.length,m=h>1?arguments[1]:void 0,v=void 0!==m,y=0,g=l(p);if(v&&(m=r(m,h>2?arguments[2]:void 0,2)),void 0==g||d==Array&&s(g))for(t=u(p.length),n=new d(t);t>y;y++)c(n,y,v?m(p[y],y):p[y]);else for(f=g.call(p),n=new d;!(o=f.next()).done;y++)c(n,y,v?a(f,m,[o.value,y],!0):o.value);return n.length=y,n}})},function(e,t,n){"use strict";var r=n(1),o=n(105)(!1),i=[].indexOf,a=!!i&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(a||!n(37)(i)),"Array",{indexOf:function(e){return a?i.apply(this,arguments)||0:o(this,e,arguments[1])}})},function(e,t,n){var r=n(1);r(r.S,"Array",{isArray:n(151)})},function(e,t,n){"use strict";var r=n(1),o=n(30),i=[].join;r(r.P+r.F*(n(92)!=Object||!n(37)(i)),"Array",{join:function(e){return i.call(o(this),void 0===e?",":e)}})},function(e,t,n){"use strict";var r=n(1),o=n(30),i=n(60),a=n(19),s=[].lastIndexOf,u=!!s&&1/[1].lastIndexOf(1,-0)<0;r(r.P+r.F*(u||!n(37)(s)),"Array",{lastIndexOf:function(e){if(u)return s.apply(this,arguments)||0;var t=o(this),n=a(t.length),r=n-1;for(arguments.length>1&&(r=Math.min(r,i(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in t&&t[r]===e)return r||0;return-1}})},function(e,t,n){"use strict";var r=n(1),o=n(40)(1);r(r.P+r.F*!n(37)([].map,!0),"Array",{map:function(e){return o(this,e,arguments[1])}})},function(e,t,n){"use strict";var r=n(1),o=n(144);r(r.S+r.F*n(8)(function(){function e(){}return!(Array.of.call(e)instanceof e)}),"Array",{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)o(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var r=n(1),o=n(220);r(r.P+r.F*!n(37)([].reduceRight,!0),"Array",{reduceRight:function(e){return o(this,e,arguments.length,arguments[1],!0)}})},function(e,t,n){"use strict";var r=n(1),o=n(220);r(r.P+r.F*!n(37)([].reduce,!0),"Array",{reduce:function(e){return o(this,e,arguments.length,arguments[1],!1)}})},function(e,t,n){"use strict";var r=n(1),o=n(148),i=n(35),a=n(73),s=n(19),u=[].slice;r(r.P+r.F*n(8)(function(){o&&u.call(o)}),"Array",{slice:function(e,t){var n=s(this.length),r=i(this);if(t=void 0===t?n:t,"Array"==r)return u.call(this,e,t);for(var o=a(e,n),c=a(t,n),l=s(c-o),f=Array(l),p=0;p9?e:"0"+e};r(r.P+r.F*(o(function(){return"0385-07-25T07:06:39.999Z"!=new Date(-5e13-1).toISOString()})||!o(function(){new Date(NaN).toISOString()})),"Date",{toISOString:function(){if(!isFinite(i.call(this)))throw RangeError("Invalid time value");var e=this,t=e.getUTCFullYear(),n=e.getUTCMilliseconds(),r=t<0?"-":t>9999?"+":"";return r+("00000"+Math.abs(t)).slice(r?-6:-4)+"-"+a(e.getUTCMonth()+1)+"-"+a(e.getUTCDate())+"T"+a(e.getUTCHours())+":"+a(e.getUTCMinutes())+":"+a(e.getUTCSeconds())+"."+(n>99?n:"0"+a(n))+"Z"}})},function(e,t,n){"use strict";var r=n(1),o=n(20),i=n(43);r(r.P+r.F*n(8)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function(e){var t=o(this),n=i(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){var r=n(10)("toPrimitive"),o=Date.prototype;r in o||n(24)(o,r,n(415))},function(e,t,n){var r=Date.prototype,o="Invalid Date",i="toString",a=r[i],s=r.getTime;new Date(NaN)+""!=o&&n(28)(r,i,function(){var e=s.call(this);return e===e?a.call(this):o})},function(e,t,n){var r=n(1);r(r.P,"Function",{bind:n(221)})},function(e,t,n){"use strict";var r=n(9),o=n(33),i=n(10)("hasInstance"),a=Function.prototype;i in a||n(14).f(a,i,{value:function(e){if("function"!=typeof this||!r(e))return!1;if(!r(this.prototype))return e instanceof this;for(;e=o(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){var r=n(14).f,o=n(59),i=n(23),a=Function.prototype,s=/^\s*function ([^ (]*)/,u="name",c=Object.isExtensible||function(){return!0};u in a||n(13)&&r(a,u,{configurable:!0,get:function(){try{var e=this,t=(""+e).match(s)[1];return i(e,u)||!c(e)||r(e,u,o(5,t)),t}catch(n){return""}}})},function(e,t,n){var r=n(1),o=n(228),i=Math.sqrt,a=Math.acosh;r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),"Math",{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?Math.log(e)+Math.LN2:o(e-1+i(e-1)*i(e+1))}})},function(e,t,n){function r(e){return isFinite(e=+e)&&0!=e?e<0?-r(-e):Math.log(e+Math.sqrt(e*e+1)):e}var o=n(1),i=Math.asinh;o(o.S+o.F*!(i&&1/i(0)>0),"Math",{asinh:r})},function(e,t,n){var r=n(1),o=Math.atanh;r(r.S+r.F*!(o&&1/o(-0)<0),"Math",{atanh:function(e){return 0==(e=+e)?e:Math.log((1+e)/(1-e))/2}})},function(e,t,n){var r=n(1),o=n(156);r(r.S,"Math",{cbrt:function(e){return o(e=+e)*Math.pow(Math.abs(e),1/3)}})},function(e,t,n){var r=n(1);r(r.S,"Math",{clz32:function(e){return(e>>>=0)?31-Math.floor(Math.log(e+.5)*Math.LOG2E):32}})},function(e,t,n){var r=n(1),o=Math.exp;r(r.S,"Math",{cosh:function(e){return(o(e=+e)+o(-e))/2}})},function(e,t,n){var r=n(1),o=n(155);r(r.S+r.F*(o!=Math.expm1),"Math",{expm1:o})},function(e,t,n){var r=n(1),o=n(156),i=Math.pow,a=i(2,-52),s=i(2,-23),u=i(2,127)*(2-s),c=i(2,-126),l=function(e){return e+1/a-1/a};r(r.S,"Math",{fround:function(e){var t,n,r=Math.abs(e),i=o(e);return ru||n!=n?i*(1/0):i*n)}})},function(e,t,n){var r=n(1),o=Math.abs;r(r.S,"Math",{hypot:function(e,t){for(var n,r,i=0,a=0,s=arguments.length,u=0;a0?(r=n/u,i+=r*r):i+=n;return u===1/0?1/0:u*Math.sqrt(i)}})},function(e,t,n){var r=n(1),o=Math.imul;r(r.S+r.F*n(8)(function(){return o(4294967295,5)!=-5||2!=o.length}),"Math",{imul:function(e,t){var n=65535,r=+e,o=+t,i=n&r,a=n&o;return 0|i*a+((n&r>>>16)*a+i*(n&o>>>16)<<16>>>0)}})},function(e,t,n){var r=n(1);r(r.S,"Math",{log10:function(e){return Math.log(e)/Math.LN10}})},function(e,t,n){var r=n(1);r(r.S,"Math",{log1p:n(228)})},function(e,t,n){var r=n(1);r(r.S,"Math",{log2:function(e){return Math.log(e)/Math.LN2}})},function(e,t,n){var r=n(1);r(r.S,"Math",{sign:n(156)})},function(e,t,n){var r=n(1),o=n(155),i=Math.exp;r(r.S+r.F*n(8)(function(){return!Math.sinh(-2e-17)!=-2e-17}),"Math",{sinh:function(e){return Math.abs(e=+e)<1?(o(e)-o(-e))/2:(i(e-1)-i(-e-1))*(Math.E/2)}})},function(e,t,n){var r=n(1),o=n(155),i=Math.exp;r(r.S,"Math",{tanh:function(e){var t=o(e=+e),n=o(-e);return t==1/0?1:n==1/0?-1:(t-n)/(i(e)+i(-e))}})},function(e,t,n){var r=n(1);r(r.S,"Math",{trunc:function(e){return(e>0?Math.floor:Math.ceil)(e)}})},function(e,t,n){"use strict";var r=n(7),o=n(23),i=n(35),a=n(149),s=n(43),u=n(8),c=n(69).f,l=n(32).f,f=n(14).f,p=n(85).trim,d="Number",h=r[d],m=h,v=h.prototype,y=i(n(68)(v))==d,g="trim"in String.prototype,b=function(e){var t=s(e,!1);if("string"==typeof t&&t.length>2){t=g?t.trim():p(t,3);var n,r,o,i=t.charCodeAt(0);if(43===i||45===i){if(n=t.charCodeAt(2),88===n||120===n)return NaN}else if(48===i){switch(t.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+t}for(var a,u=t.slice(2),c=0,l=u.length;co)return NaN;return parseInt(u,r)}}return+t};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof h&&(y?u(function(){v.valueOf.call(n)}):i(n)!=d)?a(new m(b(t)),n,h):b(t)};for(var _,w=n(13)?c(m):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),E=0;w.length>E;E++)o(m,_=w[E])&&!o(h,_)&&f(h,_,l(m,_));h.prototype=v,v.constructor=h,n(28)(r,d,h)}},function(e,t,n){var r=n(1);r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(e,t,n){var r=n(1),o=n(7).isFinite;r(r.S,"Number",{isFinite:function(e){return"number"==typeof e&&o(e)}})},function(e,t,n){var r=n(1);r(r.S,"Number",{isInteger:n(152)})},function(e,t,n){var r=n(1);r(r.S,"Number",{isNaN:function(e){return e!=e}})},function(e,t,n){var r=n(1),o=n(152),i=Math.abs;r(r.S,"Number",{isSafeInteger:function(e){return o(e)&&i(e)<=9007199254740991}})},function(e,t,n){var r=n(1);r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){var r=n(1);r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){var r=n(1),o=n(235);r(r.S+r.F*(Number.parseFloat!=o),"Number",{parseFloat:o})},function(e,t,n){var r=n(1),o=n(236);r(r.S+r.F*(Number.parseInt!=o),"Number",{parseInt:o})},function(e,t,n){"use strict";var r=n(1),o=(n(57),n(60)),i=n(217),a=n(162),s=1..toFixed,u=Math.floor,c=[0,0,0,0,0,0],l="Number.toFixed: incorrect invocation!",f="0",p=function(e,t){for(var n=-1,r=t;++n<6;)r+=e*c[n],c[n]=r%1e7,r=u(r/1e7)},d=function(e){for(var t=6,n=0;--t>=0;)n+=c[t],c[t]=u(n/e),n=n%e*1e7},h=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==c[e]){var n=String(c[e]);t=""===t?n:t+a.call(f,7-n.length)+n}return t},m=function(e,t,n){return 0===t?n:t%2===1?m(e,t-1,n*e):m(e*e,t/2,n)},v=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t};r(r.P+r.F*(!!s&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!n(8)(function(){s.call({})})),"Number",{toFixed:function(e){var t,n,r,s,u=i(this,l),c=o(e),y="",g=f;if(c<0||c>20)throw RangeError(l);if(u!=u)return"NaN";if(u<=-1e21||u>=1e21)return String(u);if(u<0&&(y="-",u=-u),u>1e-21)if(t=v(u*m(2,69,1))-69,n=t<0?u*m(2,-t,1):u/m(2,t,1),n*=4503599627370496,t=52-t,t>0){for(p(0,n),r=c;r>=7;)p(1e7,0),r-=7;for(p(m(10,r,1),0),r=t-1;r>=23;)d(1<<23),r-=23;d(1<0?(s=g.length,g=y+(s<=c?"0."+a.call(f,c-s)+g:g.slice(0,s-c)+"."+g.slice(s-c))):g=y+g,g}})},function(e,t,n){"use strict";var r=n(1),o=n(8),i=n(217),a=1..toPrecision;r(r.P+r.F*(o(function(){return"1"!==a.call(1,void 0)})||!o(function(){a.call({})})),"Number",{toPrecision:function(e){var t=i(this,"Number#toPrecision: incorrect invocation!");return void 0===e?a.call(t):a.call(t,e)}})},function(e,t,n){var r=n(1);r(r.S+r.F,"Object",{assign:n(229)})},function(e,t,n){var r=n(1);r(r.S,"Object",{create:n(68)})},function(e,t,n){var r=n(1);r(r.S+r.F*!n(13),"Object",{defineProperties:n(230)})},function(e,t,n){var r=n(1);r(r.S+r.F*!n(13),"Object",{defineProperty:n(14).f})},function(e,t,n){var r=n(9),o=n(58).onFreeze;n(42)("freeze",function(e){return function(t){return e&&r(t)?e(o(t)):t}})},function(e,t,n){var r=n(30),o=n(32).f;n(42)("getOwnPropertyDescriptor",function(){return function(e,t){return o(r(e),t)}})},function(e,t,n){n(42)("getOwnPropertyNames",function(){return n(231).f})},function(e,t,n){var r=n(20),o=n(33);n(42)("getPrototypeOf",function(){return function(e){return o(r(e))}})},function(e,t,n){var r=n(9);n(42)("isExtensible",function(e){return function(t){return!!r(t)&&(!e||e(t))}})},function(e,t,n){var r=n(9);n(42)("isFrozen",function(e){return function(t){return!r(t)||!!e&&e(t)}})},function(e,t,n){var r=n(9);n(42)("isSealed",function(e){return function(t){return!r(t)||!!e&&e(t)}})},function(e,t,n){var r=n(1);r(r.S,"Object",{is:n(237)})},function(e,t,n){var r=n(20),o=n(70);n(42)("keys",function(){return function(e){return o(r(e))}})},function(e,t,n){var r=n(9),o=n(58).onFreeze;n(42)("preventExtensions",function(e){return function(t){return e&&r(t)?e(o(t)):t}})},function(e,t,n){var r=n(9),o=n(58).onFreeze;n(42)("seal",function(e){return function(t){return e&&r(t)?e(o(t)):t}})},function(e,t,n){var r=n(1);r(r.S,"Object",{setPrototypeOf:n(114).set})},function(e,t,n){"use strict";var r=n(82),o={};o[n(10)("toStringTag")]="z",o+""!="[object z]"&&n(28)(Object.prototype,"toString",function(){return"[object "+r(this)+"]"},!0)},function(e,t,n){var r=n(1),o=n(235);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(e,t,n){var r=n(1),o=n(236);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(e,t,n){"use strict";var r,o,i,a=n(67),s=n(7),u=n(51),c=n(82),l=n(1),f=n(9),p=(n(4),n(27)),d=n(57),h=n(83),m=(n(114).set,n(159)),v=n(164).set,y=n(157)(),g="Promise",b=s.TypeError,_=s.process,w=s[g],_=s.process,E="process"==c(_),x=function(){},P=!!function(){try{var e=w.resolve(1),t=(e.constructor={})[n(10)("species")]=function(e){e(x,x)};return(E||"function"==typeof PromiseRejectionEvent)&&e.then(x)instanceof t}catch(r){}}(),T=function(e,t){return e===t||e===w&&t===i},S=function(e){var t;return!(!f(e)||"function"!=typeof(t=e.then))&&t},O=function(e){return T(w,e)?new C(e):new o(e)},C=o=function(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw b("Bad Promise constructor");t=e,n=r}),this.resolve=p(t),this.reject=p(n)},A=function(e){try{e()}catch(t){return{error:t}}},k=function(e,t){if(!e._n){e._n=!0;var n=e._c;y(function(){for(var r=e._v,o=1==e._s,i=0,a=function(t){var n,i,a=o?t.ok:t.fail,s=t.resolve,u=t.reject,c=t.domain;try{a?(o||(2==e._h&&N(e),e._h=1),a===!0?n=r:(c&&c.enter(),n=a(r),c&&c.exit()),n===t.promise?u(b("Promise-chain cycle")):(i=S(n))?i.call(n,s,u):s(n)):u(r)}catch(l){u(l)}};n.length>i;)a(n[i++]);e._c=[],e._n=!1,t&&!e._h&&M(e)})}},M=function(e){v.call(s,function(){var t,n,r,o=e._v;if(F(e)&&(t=A(function(){E?_.emit("unhandledRejection",o,e):(n=s.onunhandledrejection)?n({promise:e,reason:o}):(r=s.console)&&r.error&&r.error("Unhandled promise rejection",o)}),e._h=E||F(e)?2:1),e._a=void 0,t)throw t.error})},F=function(e){if(1==e._h)return!1;for(var t,n=e._a||e._c,r=0;n.length>r;)if(t=n[r++],t.fail||!F(t.promise))return!1;return!0},N=function(e){v.call(s,function(){var t;E?_.emit("rejectionHandled",e):(t=s.onrejectionhandled)&&t({promise:e,reason:e._v})})},I=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||(t._a=t._c.slice()),k(t,!0))},R=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw b("Promise can't be resolved itself");(t=S(e))?y(function(){var r={_w:n,_d:!1};try{t.call(e,u(R,r,1),u(I,r,1))}catch(o){I.call(r,o)}}):(n._v=e,n._s=1,k(n,!1))}catch(r){I.call({_w:n,_d:!1},r)}}};P||(w=function(e){ +d(this,w,g,"_h"),p(e),r.call(this);try{e(u(R,this,1),u(I,this,1))}catch(t){I.call(this,t)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(71)(w.prototype,{then:function(e,t){var n=O(m(this,w));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=E?_.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&k(this,!1),n.promise},"catch":function(e){return this.then(void 0,e)}}),C=function(){var e=new r;this.promise=e,this.resolve=u(R,e,1),this.reject=u(I,e,1)}),l(l.G+l.W+l.F*!P,{Promise:w}),n(84)(w,g),n(72)(g),i=n(41)[g],l(l.S+l.F*!P,g,{reject:function(e){var t=O(this),n=t.reject;return n(e),t.promise}}),l(l.S+l.F*(a||!P),g,{resolve:function(e){if(e instanceof w&&T(e.constructor,this))return e;var t=O(this),n=t.resolve;return n(e),t.promise}}),l(l.S+l.F*!(P&&n(111)(function(e){w.all(e).catch(x)})),g,{all:function(e){var t=this,n=O(t),r=n.resolve,o=n.reject,i=A(function(){var n=[],i=0,a=1;h(e,!1,function(e){var s=i++,u=!1;n.push(void 0),a++,t.resolve(e).then(function(e){u||(u=!0,n[s]=e,--a||r(n))},o)}),--a||r(n)});return i&&o(i.error),n.promise},race:function(e){var t=this,n=O(t),r=n.reject,o=A(function(){h(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return o&&r(o.error),n.promise}})},function(e,t,n){var r=n(1),o=n(27),i=n(4),a=Function.apply;r(r.S,"Reflect",{apply:function(e,t,n){return a.call(o(e),t,i(n))}})},function(e,t,n){var r=n(1),o=n(68),i=n(27),a=n(4),s=n(9),u=n(221);r(r.S+r.F*n(8)(function(){function e(){}return!(Reflect.construct(function(){},[],e)instanceof e)}),"Reflect",{construct:function(e,t){i(e),a(t);var n=arguments.length<3?e:i(arguments[2]);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var r=[null];return r.push.apply(r,t),new(u.apply(e,r))}var c=n.prototype,l=o(s(c)?c:Object.prototype),f=Function.apply.call(e,l,t);return s(f)?f:l}})},function(e,t,n){var r=n(14),o=n(1),i=n(4),a=n(43);o(o.S+o.F*n(8)(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(e,t,n){i(e),t=a(t,!0),i(n);try{return r.f(e,t,n),!0}catch(o){return!1}}})},function(e,t,n){var r=n(1),o=n(32).f,i=n(4);r(r.S,"Reflect",{deleteProperty:function(e,t){var n=o(i(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var r=n(1),o=n(4),i=function(e){this._t=o(e),this._i=0;var t,n=this._k=[];for(t in e)n.push(t)};n(153)(i,"Object",function(){var e,t=this,n=t._k;do if(t._i>=n.length)return{value:void 0,done:!0};while(!((e=n[t._i++])in t._t));return{value:e,done:!1}}),r(r.S,"Reflect",{enumerate:function(e){return new i(e)}})},function(e,t,n){var r=n(32),o=n(1),i=n(4);o(o.S,"Reflect",{getOwnPropertyDescriptor:function(e,t){return r.f(i(e),t)}})},function(e,t,n){var r=n(1),o=n(33),i=n(4);r(r.S,"Reflect",{getPrototypeOf:function(e){return o(i(e))}})},function(e,t,n){function r(e,t){var n,s,l=arguments.length<3?e:arguments[2];return c(e)===l?e[t]:(n=o.f(e,t))?a(n,"value")?n.value:void 0!==n.get?n.get.call(l):void 0:u(s=i(e))?r(s,t,l):void 0}var o=n(32),i=n(33),a=n(23),s=n(1),u=n(9),c=n(4);s(s.S,"Reflect",{get:r})},function(e,t,n){var r=n(1);r(r.S,"Reflect",{has:function(e,t){return t in e}})},function(e,t,n){var r=n(1),o=n(4),i=Object.isExtensible;r(r.S,"Reflect",{isExtensible:function(e){return o(e),!i||i(e)}})},function(e,t,n){var r=n(1);r(r.S,"Reflect",{ownKeys:n(234)})},function(e,t,n){var r=n(1),o=n(4),i=Object.preventExtensions;r(r.S,"Reflect",{preventExtensions:function(e){o(e);try{return i&&i(e),!0}catch(t){return!1}}})},function(e,t,n){var r=n(1),o=n(114);o&&r(r.S,"Reflect",{setPrototypeOf:function(e,t){o.check(e,t);try{return o.set(e,t),!0}catch(n){return!1}}})},function(e,t,n){function r(e,t,n){var u,p,d=arguments.length<4?e:arguments[3],h=i.f(l(e),t);if(!h){if(f(p=a(e)))return r(p,t,n,d);h=c(0)}return s(h,"value")?!(h.writable===!1||!f(d))&&(u=i.f(d,t)||c(0),u.value=n,o.f(d,t,u),!0):void 0!==h.set&&(h.set.call(d,n),!0)}var o=n(14),i=n(32),a=n(33),s=n(23),u=n(1),c=n(59),l=n(4),f=n(9);u(u.S,"Reflect",{set:r})},function(e,t,n){var r=n(7),o=n(149),i=n(14).f,a=n(69).f,s=n(110),u=n(108),c=r.RegExp,l=c,f=c.prototype,p=/a/g,d=/a/g,h=new c(p)!==p;if(n(13)&&(!h||n(8)(function(){return d[n(10)("match")]=!1,c(p)!=p||c(d)==d||"/a/i"!=c(p,"i")}))){c=function(e,t){var n=this instanceof c,r=s(e),i=void 0===t;return!n&&r&&e.constructor===c&&i?e:o(h?new l(r&&!i?e.source:e,t):l((r=e instanceof c)?e.source:e,r&&i?u.call(e):t),n?this:f,c)};for(var m=(function(e){e in c||i(c,e,{configurable:!0,get:function(){return l[e]},set:function(t){l[e]=t}})}),v=a(l),y=0;v.length>y;)m(v[y++]);f.constructor=c,c.prototype=f,n(28)(r,"RegExp",c)}n(72)("RegExp")},function(e,t,n){n(107)("match",1,function(e,t,n){return[function(n){"use strict";var r=e(this),o=void 0==n?void 0:n[t];return void 0!==o?o.call(n,r):new RegExp(n)[t](String(r))},n]})},function(e,t,n){n(107)("replace",2,function(e,t,n){return[function(r,o){"use strict";var i=e(this),a=void 0==r?void 0:r[t];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},n]})},function(e,t,n){n(107)("search",1,function(e,t,n){return[function(n){"use strict";var r=e(this),o=void 0==n?void 0:n[t];return void 0!==o?o.call(n,r):new RegExp(n)[t](String(r))},n]})},function(e,t,n){n(107)("split",2,function(e,t,r){"use strict";var o=n(110),i=r,a=[].push,s="split",u="length",c="lastIndex";if("c"=="abbc"[s](/(b)*/)[1]||4!="test"[s](/(?:)/,-1)[u]||2!="ab"[s](/(?:ab)*/)[u]||4!="."[s](/(.?)(.?)/)[u]||"."[s](/()()/)[u]>1||""[s](/.?/)[u]){var l=void 0===/()??/.exec("")[1];r=function(e,t){var n=String(this);if(void 0===e&&0===t)return[];if(!o(e))return i.call(n,e,t);var r,s,f,p,d,h=[],m=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),v=0,y=void 0===t?4294967295:t>>>0,g=new RegExp(e.source,m+"g");for(l||(r=new RegExp("^"+g.source+"$(?!\\s)",m));(s=g.exec(n))&&(f=s.index+s[0][u],!(f>v&&(h.push(n.slice(v,s.index)),!l&&s[u]>1&&s[0].replace(r,function(){for(d=1;d1&&s.index=y)));)g[c]===s.index&&g[c]++;return v===n[u]?!p&&g.test("")||h.push(""):h.push(n.slice(v)),h[u]>y?h.slice(0,y):h}}else"0"[s](void 0,0)[u]&&(r=function(e,t){return void 0===e&&0===t?[]:i.call(this,e,t)});return[function(n,o){var i=e(this),a=void 0==n?void 0:n[t];return void 0!==a?a.call(n,i,o):r.call(String(i),n,o)},r]})},function(e,t,n){"use strict";n(241);var r=n(4),o=n(108),i=n(13),a="toString",s=/./[a],u=function(e){n(28)(RegExp.prototype,a,e,!0)};n(8)(function(){return"/a/b"!=s.call({source:"a",flags:"b"})})?u(function(){var e=r(this);return"/".concat(e.source,"/","flags"in e?e.flags:!i&&e instanceof RegExp?o.call(e):void 0)}):s.name!=a&&u(function(){return s.call(this)})},function(e,t,n){"use strict";n(29)("anchor",function(e){return function(t){return e(this,"a","name",t)}})},function(e,t,n){"use strict";n(29)("big",function(e){return function(){return e(this,"big","","")}})},function(e,t,n){"use strict";n(29)("blink",function(e){return function(){return e(this,"blink","","")}})},function(e,t,n){"use strict";n(29)("bold",function(e){return function(){return e(this,"b","","")}})},function(e,t,n){"use strict";var r=n(1),o=n(160)(!1);r(r.P,"String",{codePointAt:function(e){return o(this,e)}})},function(e,t,n){"use strict";var r=n(1),o=n(19),i=n(161),a="endsWith",s=""[a];r(r.P+r.F*n(147)(a),"String",{endsWith:function(e){var t=i(this,e,a),n=arguments.length>1?arguments[1]:void 0,r=o(t.length),u=void 0===n?r:Math.min(o(n),r),c=String(e);return s?s.call(t,c,u):t.slice(u-c.length,u)===c}})},function(e,t,n){"use strict";n(29)("fixed",function(e){return function(){return e(this,"tt","","")}})},function(e,t,n){"use strict";n(29)("fontcolor",function(e){return function(t){return e(this,"font","color",t)}})},function(e,t,n){"use strict";n(29)("fontsize",function(e){return function(t){return e(this,"font","size",t)}})},function(e,t,n){var r=n(1),o=n(73),i=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),"String",{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,a=0;r>a;){if(t=+arguments[a++],o(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?i(t):i(((t-=65536)>>10)+55296,t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var r=n(1),o=n(161),i="includes";r(r.P+r.F*n(147)(i),"String",{includes:function(e){return!!~o(this,e,i).indexOf(e,arguments.length>1?arguments[1]:void 0)}})},function(e,t,n){"use strict";n(29)("italics",function(e){return function(){return e(this,"i","","")}})},function(e,t,n){"use strict";var r=n(160)(!0);n(154)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){"use strict";n(29)("link",function(e){return function(t){return e(this,"a","href",t)}})},function(e,t,n){var r=n(1),o=n(30),i=n(19);r(r.S,"String",{raw:function(e){for(var t=o(e.raw),n=i(t.length),r=arguments.length,a=[],s=0;n>s;)a.push(String(t[s++])),s1?arguments[1]:void 0,t.length)),r=String(e);return s?s.call(t,r,n):t.slice(n,n+r.length)===r}})},function(e,t,n){"use strict";n(29)("strike",function(e){return function(){return e(this,"strike","","")}})},function(e,t,n){"use strict";n(29)("sub",function(e){return function(){return e(this,"sub","","")}})},function(e,t,n){"use strict";n(29)("sup",function(e){return function(){return e(this,"sup","","")}})},function(e,t,n){"use strict";n(85)("trim",function(e){return function(){return e(this,3)}})},function(e,t,n){"use strict";var r=n(7),o=n(23),i=n(13),a=n(1),s=n(28),u=n(58).KEY,c=n(8),l=n(115),f=n(84),p=n(74),d=n(10),h=n(239),m=n(166),v=n(417),y=n(416),g=n(151),b=n(4),_=n(30),w=n(43),E=n(59),x=n(68),P=n(231),T=n(32),S=n(14),O=n(70),C=T.f,A=S.f,k=P.f,M=r.Symbol,F=r.JSON,N=F&&F.stringify,I="prototype",R=d("_hidden"),j=d("toPrimitive"),L={}.propertyIsEnumerable,D=l("symbol-registry"),U=l("symbols"),B=l("op-symbols"),q=Object[I],H="function"==typeof M,W=r.QObject,z=!W||!W[I]||!W[I].findChild,$=i&&c(function(){return 7!=x(A({},"a",{get:function(){return A(this,"a",{value:7}).a}})).a})?function(e,t,n){var r=C(q,t);r&&delete q[t],A(e,t,n),r&&e!==q&&A(q,t,r)}:A,V=function(e){var t=U[e]=x(M[I]);return t._k=e,t},G=H&&"symbol"==typeof M.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof M},K=function(e,t,n){return e===q&&K(B,t,n),b(e),t=w(t,!0),b(n),o(U,t)?(n.enumerable?(o(e,R)&&e[R][t]&&(e[R][t]=!1),n=x(n,{enumerable:E(0,!1)})):(o(e,R)||A(e,R,E(1,{})),e[R][t]=!0),$(e,t,n)):A(e,t,n)},Y=function(e,t){b(e);for(var n,r=y(t=_(t)),o=0,i=r.length;i>o;)K(e,n=r[o++],t[n]);return e},X=function(e,t){return void 0===t?x(e):Y(x(e),t)},Q=function(e){var t=L.call(this,e=w(e,!0));return!(this===q&&o(U,e)&&!o(B,e))&&(!(t||!o(this,e)||!o(U,e)||o(this,R)&&this[R][e])||t)},J=function(e,t){if(e=_(e),t=w(t,!0),e!==q||!o(U,t)||o(B,t)){var n=C(e,t);return!n||!o(U,t)||o(e,R)&&e[R][t]||(n.enumerable=!0),n}},Z=function(e){for(var t,n=k(_(e)),r=[],i=0;n.length>i;)o(U,t=n[i++])||t==R||t==u||r.push(t);return r},ee=function(e){for(var t,n=e===q,r=k(n?B:_(e)),i=[],a=0;r.length>a;)!o(U,t=r[a++])||n&&!o(q,t)||i.push(U[t]);return i};H||(M=function(){if(this instanceof M)throw TypeError("Symbol is not a constructor!");var e=p(arguments.length>0?arguments[0]:void 0),t=function(n){this===q&&t.call(B,n),o(this,R)&&o(this[R],e)&&(this[R][e]=!1),$(this,e,E(1,n))};return i&&z&&$(q,e,{configurable:!0,set:t}),V(e)},s(M[I],"toString",function(){return this._k}),T.f=J,S.f=K,n(69).f=P.f=Z,n(93).f=Q,n(113).f=ee,i&&!n(67)&&s(q,"propertyIsEnumerable",Q,!0),h.f=function(e){return V(d(e))}),a(a.G+a.W+a.F*!H,{Symbol:M});for(var te="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),ne=0;te.length>ne;)d(te[ne++]);for(var te=O(d.store),ne=0;te.length>ne;)m(te[ne++]);a(a.S+a.F*!H,"Symbol",{"for":function(e){return o(D,e+="")?D[e]:D[e]=M(e)},keyFor:function(e){if(G(e))return v(D,e);throw TypeError(e+" is not a symbol!")},useSetter:function(){z=!0},useSimple:function(){z=!1}}),a(a.S+a.F*!H,"Object",{create:X,defineProperty:K,defineProperties:Y,getOwnPropertyDescriptor:J,getOwnPropertyNames:Z,getOwnPropertySymbols:ee}),F&&a(a.S+a.F*(!H||c(function(){var e=M();return"[null]"!=N([e])||"{}"!=N({a:e})||"{}"!=N(Object(e))})),"JSON",{stringify:function(e){if(void 0!==e&&!G(e)){for(var t,n,r=[e],o=1;arguments.length>o;)r.push(arguments[o++]);return t=r[1],"function"==typeof t&&(n=t),!n&&g(t)||(t=function(e,t){if(n&&(t=n.call(this,e,t)),!G(t))return t}),r[1]=t,N.apply(F,r)}}}),M[I][j]||n(24)(M[I],j,M[I].valueOf),f(M,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},function(e,t,n){"use strict";var r=n(1),o=n(116),i=n(165),a=n(4),s=n(73),u=n(19),c=n(9),l=(n(10)("typed_array"),n(7).ArrayBuffer),f=n(159),p=i.ArrayBuffer,d=i.DataView,h=o.ABV&&l.isView,m=p.prototype.slice,v=o.VIEW,y="ArrayBuffer";r(r.G+r.W+r.F*(l!==p),{ArrayBuffer:p}),r(r.S+r.F*!o.CONSTR,y,{isView:function(e){return h&&h(e)||c(e)&&v in e}}),r(r.P+r.U+r.F*n(8)(function(){return!new p(2).slice(1,void 0).byteLength}),y,{slice:function(e,t){if(void 0!==m&&void 0===t)return m.call(a(this),e);for(var n=a(this).byteLength,r=s(e,n),o=s(void 0===t?n:t,n),i=new(f(this,p))(u(o-r)),c=new d(this),l=new d(i),h=0;r0?arguments[0]:void 0)}},{add:function(e){return r.def(this,e,!0)}},r,!1,!0)},function(e,t,n){"use strict";var r=n(1),o=n(105)(!0);r(r.P,"Array",{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),n(81)("includes")},function(e,t,n){var r=n(1),o=n(157)(),i=n(7).process,a="process"==n(35)(i);r(r.G,{asap:function(e){var t=a&&i.domain;o(t?t.bind(e):e)}})},function(e,t,n){var r=n(1),o=n(35);r(r.S,"Error",{isError:function(e){return"Error"===o(e)}})},function(e,t,n){var r=n(1);r(r.P+r.R,"Map",{toJSON:n(223)("Map")})},function(e,t,n){var r=n(1);r(r.S,"Math",{iaddh:function(e,t,n,r){var o=e>>>0,i=t>>>0,a=n>>>0;return i+(r>>>0)+((o&a|(o|a)&~(o+a>>>0))>>>31)|0}})},function(e,t,n){var r=n(1);r(r.S,"Math",{imulh:function(e,t){var n=65535,r=+e,o=+t,i=r&n,a=o&n,s=r>>16,u=o>>16,c=(s*a>>>0)+(i*a>>>16);return s*u+(c>>16)+((i*u>>>0)+(c&n)>>16)}})},function(e,t,n){var r=n(1);r(r.S,"Math",{isubh:function(e,t,n,r){var o=e>>>0,i=t>>>0,a=n>>>0;return i-(r>>>0)-((~o&a|~(o^a)&o-a>>>0)>>>31)|0}})},function(e,t,n){var r=n(1);r(r.S,"Math",{umulh:function(e,t){var n=65535,r=+e,o=+t,i=r&n,a=o&n,s=r>>>16,u=o>>>16,c=(s*a>>>0)+(i*a>>>16);return s*u+(c>>>16)+((i*u>>>0)+(c&n)>>>16)}})},function(e,t,n){"use strict";var r=n(1),o=n(20),i=n(27),a=n(14);n(13)&&r(r.P+n(112),"Object",{__defineGetter__:function(e,t){a.f(o(this),e,{get:i(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var r=n(1),o=n(20),i=n(27),a=n(14);n(13)&&r(r.P+n(112),"Object",{__defineSetter__:function(e,t){a.f(o(this),e,{set:i(t),enumerable:!0,configurable:!0})}})},function(e,t,n){var r=n(1),o=n(233)(!0);r(r.S,"Object",{entries:function(e){return o(e)}})},function(e,t,n){var r=n(1),o=n(234),i=n(30),a=n(32),s=n(144);r(r.S,"Object",{getOwnPropertyDescriptors:function(e){for(var t,n=i(e),r=a.f,u=o(n),c={},l=0;u.length>l;)s(c,t=u[l++],r(n,t));return c}})},function(e,t,n){"use strict";var r=n(1),o=n(20),i=n(43),a=n(33),s=n(32).f;n(13)&&r(r.P+n(112),"Object",{__lookupGetter__:function(e){var t,n=o(this),r=i(e,!0);do if(t=s(n,r))return t.get;while(n=a(n))}})},function(e,t,n){"use strict";var r=n(1),o=n(20),i=n(43),a=n(33),s=n(32).f;n(13)&&r(r.P+n(112),"Object",{__lookupSetter__:function(e){var t,n=o(this),r=i(e,!0);do if(t=s(n,r))return t.set;while(n=a(n))}})},function(e,t,n){var r=n(1),o=n(233)(!1);r(r.S,"Object",{values:function(e){return o(e)}})},function(e,t,n){"use strict";var r=n(1),o=n(7),i=n(41),a=n(157)(),s=n(10)("observable"),u=n(27),c=n(4),l=n(57),f=n(71),p=n(24),d=n(83),h=d.RETURN,m=function(e){return null==e?void 0:u(e)},v=function(e){var t=e._c;t&&(e._c=void 0,t())},y=function(e){return void 0===e._o},g=function(e){y(e)||(e._o=void 0,v(e))},b=function(e,t){c(e),this._c=void 0,this._o=e,e=new _(this);try{var n=t(e),r=n;null!=n&&("function"==typeof n.unsubscribe?n=function(){r.unsubscribe()}:u(n),this._c=n)}catch(o){return void e.error(o)}y(this)&&v(this)};b.prototype=f({},{unsubscribe:function(){g(this)}});var _=function(e){this._s=e};_.prototype=f({},{next:function(e){var t=this._s;if(!y(t)){var n=t._o;try{var r=m(n.next);if(r)return r.call(n,e)}catch(o){try{g(t)}finally{throw o}}}},error:function(e){var t=this._s;if(y(t))throw e;var n=t._o;t._o=void 0;try{var r=m(n.error);if(!r)throw e;e=r.call(n,e)}catch(o){try{v(t)}finally{throw o}}return v(t),e},complete:function(e){var t=this._s;if(!y(t)){var n=t._o;t._o=void 0;try{var r=m(n.complete);e=r?r.call(n,e):void 0}catch(o){try{v(t)}finally{throw o}}return v(t),e}}});var w=function(e){l(this,w,"Observable","_f")._f=u(e)};f(w.prototype,{subscribe:function(e){return new b(e,this._f)},forEach:function(e){var t=this;return new(i.Promise||o.Promise)(function(n,r){u(e);var o=t.subscribe({next:function(t){try{return e(t)}catch(n){r(n),o.unsubscribe()}},error:r,complete:n})})}}),f(w,{from:function(e){var t="function"==typeof this?this:w,n=m(c(e)[s]);if(n){var r=c(n.call(e));return r.constructor===t?r:new t(function(e){return r.subscribe(e)})}return new t(function(t){var n=!1;return a(function(){if(!n){try{if(d(e,!1,function(e){if(t.next(e),n)return h})===h)return}catch(r){if(n)throw r;return void t.error(r)}t.complete()}}),function(){n=!0}})},of:function(){for(var e=0,t=arguments.length,n=Array(t);e1?arguments[1]:void 0,!1)}})},function(e,t,n){"use strict";var r=n(1),o=n(238);r(r.P,"String",{padStart:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0,!0)}})},function(e,t,n){"use strict";n(85)("trimLeft",function(e){return function(){return e(this,1)}},"trimStart")},function(e,t,n){"use strict";n(85)("trimRight",function(e){return function(){return e(this,2)}},"trimEnd")},function(e,t,n){n(166)("asyncIterator")},function(e,t,n){n(166)("observable")},function(e,t,n){var r=n(1);r(r.S,"System",{global:n(7)})},function(e,t,n){for(var r=n(168),o=n(28),i=n(7),a=n(24),s=n(66),u=n(10),c=u("iterator"),l=u("toStringTag"),f=s.Array,p=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],d=0;d<5;d++){var h,m=p[d],v=i[m],y=v&&v.prototype;if(y){y[c]||a(y,c,f),y[l]||a(y,l,m),s[m]=f;for(h in r)y[h]||o(y,h,r[h],!0)}}},function(e,t,n){var r=n(1),o=n(164);r(r.G+r.B,{setImmediate:o.set,clearImmediate:o.clear})},function(e,t,n){var r=n(7),o=n(1),i=n(109),a=n(418),s=r.navigator,u=!!s&&/MSIE .\./.test(s.userAgent),c=function(e){return u?function(t,n){return e(i(a,[].slice.call(arguments,2),"function"==typeof t?t:Function(t)),n)}:e};o(o.G+o.B+o.F*u,{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})},function(e,t,n){n(542),n(481),n(483),n(482),n(485),n(487),n(492),n(486),n(484),n(494),n(493),n(489),n(490),n(488),n(480),n(491),n(495),n(496),n(448),n(450),n(449),n(498),n(497),n(468),n(478),n(479),n(469),n(470),n(471),n(472),n(473),n(474),n(475),n(476),n(477),n(451),n(452),n(453),n(454),n(455),n(456),n(457),n(458),n(459),n(460),n(461),n(462),n(463),n(464),n(465),n(466),n(467),n(529),n(534),n(541),n(532),n(524),n(525),n(530),n(535),n(537),n(520),n(521),n(522),n(523),n(526),n(527),n(528),n(531),n(533),n(536),n(538),n(539),n(540),n(443),n(445),n(444),n(447),n(446),n(432),n(430),n(436),n(433),n(439),n(441),n(429),n(435),n(426),n(440),n(424),n(438),n(437),n(431),n(434),n(423),n(425),n(428),n(427),n(442),n(168),n(514),n(519),n(241),n(515),n(516),n(517),n(518),n(499),n(240),n(242),n(243),n(554),n(543),n(544),n(549),n(552),n(553),n(547),n(550),n(548),n(551),n(545),n(546),n(500),n(501),n(502),n(503),n(504),n(507),n(505),n(506),n(508),n(509),n(510),n(511),n(513),n(512),n(555),n(581),n(584),n(583),n(585),n(586),n(582),n(587),n(588),n(566),n(569),n(565),n(563),n(564),n(567),n(568),n(558),n(580),n(589),n(557),n(559),n(561),n(560),n(562),n(571),n(572),n(574),n(573),n(576),n(575),n(577),n(578),n(579),n(556),n(570),n(592),n(591),n(590),e.exports=n(41)},function(e,t,n){function r(e){return null===e||void 0===e}function o(e){return!(!e||"object"!=typeof e||"number"!=typeof e.length)&&("function"==typeof e.copy&&"function"==typeof e.slice&&!(e.length>0&&"number"!=typeof e[0]))}function i(e,t,n){var i,l;if(r(e)||r(t))return!1;if(e.prototype!==t.prototype)return!1;if(u(e))return!!u(t)&&(e=a.call(e),t=a.call(t),c(e,t,n));if(o(e)){if(!o(t))return!1;if(e.length!==t.length)return!1;for(i=0;i=0;i--)if(f[i]!=p[i])return!1;for(i=f.length-1;i>=0;i--)if(l=f[i],!c(e[l],t[l],n))return!1;return typeof e==typeof t}var a=Array.prototype.slice,s=n(596),u=n(595),c=e.exports=function(e,t,n){return n||(n={}),e===t||(e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():!e||!t||"object"!=typeof e&&"object"!=typeof t?n.strict?e===t:e==t:i(e,t,n))}},function(e,t){function n(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function r(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Object.prototype.hasOwnProperty.call(e,"callee")&&!Object.prototype.propertyIsEnumerable.call(e,"callee")||!1}var o="[object Arguments]"==function(){return Object.prototype.toString.call(arguments)}();t=e.exports=o?n:r,t.supported=n,t.unsupported=r},function(e,t){function n(e){var t=[];for(var n in e)t.push(n);return t}t=e.exports="function"==typeof Object.keys?Object.keys:n,t.shim=n},function(e,t,n){"use strict";var r=n(169),o=function(){};r&&(o=function(){return document.addEventListener?function(e,t,n,r){return e.removeEventListener(t,n,r||!1)}:document.attachEvent?function(e,t,n){return e.detachEvent("on"+t,n)}:void 0}()),e.exports=o},function(e,t,n){"use strict";var r=n(169),o=function(){};r&&(o=function(){return document.addEventListener?function(e,t,n,r){return e.addEventListener(t,n,r||!1)}:document.attachEvent?function(e,t,n){return e.attachEvent("on"+t,n)}:void 0}()),e.exports=o},function(e,t,n){"use strict";var r=n(245);e.exports=function(e,t){var n=r(e);return void 0===t?n?"pageXOffset"in n?n.pageXOffset:n.document.documentElement.scrollLeft:e.scrollLeft:void(n?n.scrollTo(t,"pageYOffset"in n?n.pageYOffset:n.document.documentElement.scrollTop):e.scrollLeft=t)}},function(e,t,n){"use strict";var r=n(245);e.exports=function(e,t){var n=r(e);return void 0===t?n?"pageYOffset"in n?n.pageYOffset:n.document.documentElement.scrollTop:e.scrollTop:void(n?n.scrollTo("pageXOffset"in n?n.pageXOffset:n.document.documentElement.scrollLeft,t):e.scrollTop=t)}},function(e,t,n){"use strict";function r(e){var t=(new Date).getTime(),n=Math.max(0,16-(t-l)),r=setTimeout(e,n);return l=t,r}var o,i=n(169),a=["","webkit","moz","o","ms"],s="clearTimeout",u=r,c=function(e,t){return e+(e?t[0].toUpperCase()+t.substr(1):t)+"AnimationFrame"};i&&a.some(function(e){var t=c(e,"request");if(t in window)return s=c(e,"cancel"),u=function(e){return window[t](e)}});var l=(new Date).getTime();o=function(e){return u(e)},o.cancel=function(e){return window[s](e)},e.exports=o},function(e,t){},602,602,function(e,t){e.exports={row:"Album__row__2o5fb",art:"Album__art__1tMui",play:"Album__play__2zFWE Songs__play__1O6-p",playNext:"Album__playNext__3KXjB Songs__playNext__2v-xp",nameRow:"Album__nameRow__12kfS",artRow:"Album__artRow__3ouy5",songs:"Album__songs__1PPsj Songs__songs__CIaD9"}},function(e,t){e.exports={name:"Artist__name__3mI6y",art:"Artist__art__3QV3w"}},function(e,t){e.exports={noMarginTop:"Discover__noMarginTop__2bubk",h2Title:"Discover__h2Title__25yU5",caret:"Discover__caret__1zwQ4",dashedUnderline:"Discover__dashedUnderline__2ePE6","dropdown-menu":"Discover__dropdown-menu__o2cZr"}},function(e,t){e.exports={titleImage:"Login__titleImage__33L1L",submit:"Login__submit__1BiPC"}},function(e,t){e.exports={play:"Songs__play__1O6-p",playNext:"Songs__playNext__2v-xp",songs:"Songs__songs__CIaD9"}},function(e,t){e.exports={filter:"FilterBar__filter__2xukG",legend:"FilterBar__legend__1wPAA","form-group":"FilterBar__form-group__3coaa"}},function(e,t){e.exports={placeholders:"Grid__placeholders__3sosj",name:"Grid__name__2qx8M",art:"Grid__art__2OMDU"}},function(e,t){e.exports={nav:"Pagination__nav__1sgUO",pointer:"Pagination__pointer__27wCb"}},function(e,t){e.exports={webplayer:"WebPlayer__webplayer__22F_4",art:"WebPlayer__art__omkHN",artRow:"WebPlayer__artRow__9onVV",artTimer:"WebPlayer__artTimer__3-Um6",artDuration:"WebPlayer__artDuration__3exrw",controls:"WebPlayer__controls__we9ux",btn:"WebPlayer__btn__1S8Hy",prevBtn:"WebPlayer__prevBtn__QTVVR WebPlayer__btn__1S8Hy",playPauseBtn:"WebPlayer__playPauseBtn__yN44O WebPlayer__btn__1S8Hy",nextBtn:"WebPlayer__nextBtn__2582V WebPlayer__btn__1S8Hy",volumeBtn:"WebPlayer__volumeBtn__2OcLS WebPlayer__btn__1S8Hy",repeatBtn:"WebPlayer__repeatBtn__w2JIN WebPlayer__btn__1S8Hy",randomBtn:"WebPlayer__randomBtn__2NB_N WebPlayer__btn__1S8Hy",playlistBtn:"WebPlayer__playlistBtn__3rkYH WebPlayer__btn__1S8Hy",active:"WebPlayer__active__3OOYe"}},function(e,t){e.exports={sidebar:"Sidebar__sidebar__2XLQ1",collapse:"Sidebar__collapse__3-rUF",link:"Sidebar__link__1faG5",active:"Sidebar__active__3HL57 Sidebar__link__1faG5",title:"Sidebar__title__XR8sf",imgTitle:"Sidebar__imgTitle__1iVIJ",toggle:"Sidebar__toggle__32s05","icon-bar":"Sidebar__icon-bar__kStJV","icon-navbar":"Sidebar__icon-navbar__1oNVr","container-fluid":"Sidebar__container-fluid__3rTUW",nav:"Sidebar__nav__13nUO","main-panel":"Sidebar__main-panel__3FfOV","nav-list":"Sidebar__nav-list__1jNav"}},function(e,t){"use strict";function n(e){return e.replace(r,function(e,t){return t.toUpperCase()})}var r=/-(.)/g;e.exports=n},function(e,t,n){"use strict";function r(e){return o(e.replace(i,"ms-"))}var o=n(615),i=/^-ms-/;e.exports=r},function(e,t,n){"use strict";function r(e,t){return!(!e||!t)&&(e===t||!o(e)&&(o(t)?r(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}var o=n(625);e.exports=r},function(e,t,n){"use strict";function r(e){var t=e.length;if(Array.isArray(e)||"object"!=typeof e&&"function"!=typeof e?a(!1):void 0,"number"!=typeof t?a(!1):void 0,0===t||t-1 in e?void 0:a(!1),"function"==typeof e.callee?a(!1):void 0,e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(n){}for(var r=Array(t),o=0;o":a.innerHTML="<"+e+">",s[e]=!a.firstChild),s[e]?p[e]:null}var o=n(25),i=n(3),a=o.canUseDOM?document.createElement("div"):null,s={},u=[1,'"],c=[1,"","
"],l=[3,"","
"],f=[1,'',""],p={ +"*":[1,"?
","
"],area:[1,"",""],col:[2,"","
"],legend:[1,"
","
"],param:[1,"",""],tr:[2,"","
"],optgroup:u,option:u,caption:c,colgroup:c,tbody:c,tfoot:c,thead:c,td:l,th:l},d=["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"];d.forEach(function(e){p[e]=f,s[e]=!0}),e.exports=r},function(e,t){"use strict";function n(e){return e===window?{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}e.exports=n},function(e,t){"use strict";function n(e){return e.replace(r,"-$1").toLowerCase()}var r=/([A-Z])/g;e.exports=n},function(e,t,n){"use strict";function r(e){return o(e).replace(i,"-ms-")}var o=n(622),i=/^ms-/;e.exports=r},function(e,t){"use strict";function n(e){return!(!e||!("function"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}e.exports=n},function(e,t,n){"use strict";function r(e){return o(e)&&3==e.nodeType}var o=n(624);e.exports=r},function(e,t){"use strict";function n(e,t,n){if(!e)return null;var o={};for(var i in e)r.call(e,i)&&(o[i]=t.call(n,e[i],i,e));return o}var r=Object.prototype.hasOwnProperty;e.exports=n},function(e,t){"use strict";function n(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}e.exports=n},function(e,t,n){e.exports=n.p+"25a32416abee198dd821b0b17a198a8f.eot"},628,function(e,t,n){n(634)},function(e,t,n){t=e.exports=n(632)(),t.push([e.id,'.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-fw{width:1.28571429em;text-align:center}.fa-glass:before{content:"\\F000"}.fa-music:before{content:"\\F001"}.fa-search:before{content:"\\F002"}.fa-envelope-o:before{content:"\\F003"}.fa-heart:before{content:"\\F004"}.fa-star:before{content:"\\F005"}.fa-star-o:before{content:"\\F006"}.fa-user:before{content:"\\F007"}.fa-film:before{content:"\\F008"}.fa-th-large:before{content:"\\F009"}.fa-th:before{content:"\\F00A"}.fa-th-list:before{content:"\\F00B"}.fa-check:before{content:"\\F00C"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\\F00D"}.fa-search-plus:before{content:"\\F00E"}.fa-search-minus:before{content:"\\F010"}.fa-power-off:before{content:"\\F011"}.fa-signal:before{content:"\\F012"}.fa-cog:before,.fa-gear:before{content:"\\F013"}.fa-trash-o:before{content:"\\F014"}.fa-home:before{content:"\\F015"}.fa-file-o:before{content:"\\F016"}.fa-clock-o:before{content:"\\F017"}.fa-road:before{content:"\\F018"}.fa-download:before{content:"\\F019"}.fa-arrow-circle-o-down:before{content:"\\F01A"}.fa-arrow-circle-o-up:before{content:"\\F01B"}.fa-inbox:before{content:"\\F01C"}.fa-play-circle-o:before{content:"\\F01D"}.fa-repeat:before,.fa-rotate-right:before{content:"\\F01E"}.fa-refresh:before{content:"\\F021"}.fa-list-alt:before{content:"\\F022"}.fa-lock:before{content:"\\F023"}.fa-flag:before{content:"\\F024"}.fa-headphones:before{content:"\\F025"}.fa-volume-off:before{content:"\\F026"}.fa-volume-down:before{content:"\\F027"}.fa-volume-up:before{content:"\\F028"}.fa-qrcode:before{content:"\\F029"}.fa-barcode:before{content:"\\F02A"}.fa-tag:before{content:"\\F02B"}.fa-tags:before{content:"\\F02C"}.fa-book:before{content:"\\F02D"}.fa-bookmark:before{content:"\\F02E"}.fa-print:before{content:"\\F02F"}.fa-camera:before{content:"\\F030"}.fa-font:before{content:"\\F031"}.fa-bold:before{content:"\\F032"}.fa-italic:before{content:"\\F033"}.fa-text-height:before{content:"\\F034"}.fa-text-width:before{content:"\\F035"}.fa-align-left:before{content:"\\F036"}.fa-align-center:before{content:"\\F037"}.fa-align-right:before{content:"\\F038"}.fa-align-justify:before{content:"\\F039"}.fa-list:before{content:"\\F03A"}.fa-dedent:before,.fa-outdent:before{content:"\\F03B"}.fa-indent:before{content:"\\F03C"}.fa-video-camera:before{content:"\\F03D"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\\F03E"}.fa-pencil:before{content:"\\F040"}.fa-map-marker:before{content:"\\F041"}.fa-adjust:before{content:"\\F042"}.fa-tint:before{content:"\\F043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\\F044"}.fa-share-square-o:before{content:"\\F045"}.fa-check-square-o:before{content:"\\F046"}.fa-arrows:before{content:"\\F047"}.fa-step-backward:before{content:"\\F048"}.fa-fast-backward:before{content:"\\F049"}.fa-backward:before{content:"\\F04A"}.fa-play:before{content:"\\F04B"}.fa-pause:before{content:"\\F04C"}.fa-stop:before{content:"\\F04D"}.fa-forward:before{content:"\\F04E"}.fa-fast-forward:before{content:"\\F050"}.fa-step-forward:before{content:"\\F051"}.fa-eject:before{content:"\\F052"}.fa-chevron-left:before{content:"\\F053"}.fa-chevron-right:before{content:"\\F054"}.fa-plus-circle:before{content:"\\F055"}.fa-minus-circle:before{content:"\\F056"}.fa-times-circle:before{content:"\\F057"}.fa-check-circle:before{content:"\\F058"}.fa-question-circle:before{content:"\\F059"}.fa-info-circle:before{content:"\\F05A"}.fa-crosshairs:before{content:"\\F05B"}.fa-times-circle-o:before{content:"\\F05C"}.fa-check-circle-o:before{content:"\\F05D"}.fa-ban:before{content:"\\F05E"}.fa-arrow-left:before{content:"\\F060"}.fa-arrow-right:before{content:"\\F061"}.fa-arrow-up:before{content:"\\F062"}.fa-arrow-down:before{content:"\\F063"}.fa-mail-forward:before,.fa-share:before{content:"\\F064"}.fa-expand:before{content:"\\F065"}.fa-compress:before{content:"\\F066"}.fa-plus:before{content:"\\F067"}.fa-minus:before{content:"\\F068"}.fa-asterisk:before{content:"\\F069"}.fa-exclamation-circle:before{content:"\\F06A"}.fa-gift:before{content:"\\F06B"}.fa-leaf:before{content:"\\F06C"}.fa-fire:before{content:"\\F06D"}.fa-eye:before{content:"\\F06E"}.fa-eye-slash:before{content:"\\F070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\\F071"}.fa-plane:before{content:"\\F072"}.fa-calendar:before{content:"\\F073"}.fa-random:before{content:"\\F074"}.fa-comment:before{content:"\\F075"}.fa-magnet:before{content:"\\F076"}.fa-chevron-up:before{content:"\\F077"}.fa-chevron-down:before{content:"\\F078"}.fa-retweet:before{content:"\\F079"}.fa-shopping-cart:before{content:"\\F07A"}.fa-folder:before{content:"\\F07B"}.fa-folder-open:before{content:"\\F07C"}.fa-arrows-v:before{content:"\\F07D"}.fa-arrows-h:before{content:"\\F07E"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\\F080"}.fa-twitter-square:before{content:"\\F081"}.fa-facebook-square:before{content:"\\F082"}.fa-camera-retro:before{content:"\\F083"}.fa-key:before{content:"\\F084"}.fa-cogs:before,.fa-gears:before{content:"\\F085"}.fa-comments:before{content:"\\F086"}.fa-thumbs-o-up:before{content:"\\F087"}.fa-thumbs-o-down:before{content:"\\F088"}.fa-star-half:before{content:"\\F089"}.fa-heart-o:before{content:"\\F08A"}.fa-sign-out:before{content:"\\F08B"}.fa-linkedin-square:before{content:"\\F08C"}.fa-thumb-tack:before{content:"\\F08D"}.fa-external-link:before{content:"\\F08E"}.fa-sign-in:before{content:"\\F090"}.fa-trophy:before{content:"\\F091"}.fa-github-square:before{content:"\\F092"}.fa-upload:before{content:"\\F093"}.fa-lemon-o:before{content:"\\F094"}.fa-phone:before{content:"\\F095"}.fa-square-o:before{content:"\\F096"}.fa-bookmark-o:before{content:"\\F097"}.fa-phone-square:before{content:"\\F098"}.fa-twitter:before{content:"\\F099"}.fa-facebook-f:before,.fa-facebook:before{content:"\\F09A"}.fa-github:before{content:"\\F09B"}.fa-unlock:before{content:"\\F09C"}.fa-credit-card:before{content:"\\F09D"}.fa-feed:before,.fa-rss:before{content:"\\F09E"}.fa-hdd-o:before{content:"\\F0A0"}.fa-bullhorn:before{content:"\\F0A1"}.fa-bell:before{content:"\\F0F3"}.fa-certificate:before{content:"\\F0A3"}.fa-hand-o-right:before{content:"\\F0A4"}.fa-hand-o-left:before{content:"\\F0A5"}.fa-hand-o-up:before{content:"\\F0A6"}.fa-hand-o-down:before{content:"\\F0A7"}.fa-arrow-circle-left:before{content:"\\F0A8"}.fa-arrow-circle-right:before{content:"\\F0A9"}.fa-arrow-circle-up:before{content:"\\F0AA"}.fa-arrow-circle-down:before{content:"\\F0AB"}.fa-globe:before{content:"\\F0AC"}.fa-wrench:before{content:"\\F0AD"}.fa-tasks:before{content:"\\F0AE"}.fa-filter:before{content:"\\F0B0"}.fa-briefcase:before{content:"\\F0B1"}.fa-arrows-alt:before{content:"\\F0B2"}.fa-group:before,.fa-users:before{content:"\\F0C0"}.fa-chain:before,.fa-link:before{content:"\\F0C1"}.fa-cloud:before{content:"\\F0C2"}.fa-flask:before{content:"\\F0C3"}.fa-cut:before,.fa-scissors:before{content:"\\F0C4"}.fa-copy:before,.fa-files-o:before{content:"\\F0C5"}.fa-paperclip:before{content:"\\F0C6"}.fa-floppy-o:before,.fa-save:before{content:"\\F0C7"}.fa-square:before{content:"\\F0C8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\\F0C9"}.fa-list-ul:before{content:"\\F0CA"}.fa-list-ol:before{content:"\\F0CB"}.fa-strikethrough:before{content:"\\F0CC"}.fa-underline:before{content:"\\F0CD"}.fa-table:before{content:"\\F0CE"}.fa-magic:before{content:"\\F0D0"}.fa-truck:before{content:"\\F0D1"}.fa-pinterest:before{content:"\\F0D2"}.fa-pinterest-square:before{content:"\\F0D3"}.fa-google-plus-square:before{content:"\\F0D4"}.fa-google-plus:before{content:"\\F0D5"}.fa-money:before{content:"\\F0D6"}.fa-caret-down:before{content:"\\F0D7"}.fa-caret-up:before{content:"\\F0D8"}.fa-caret-left:before{content:"\\F0D9"}.fa-caret-right:before{content:"\\F0DA"}.fa-columns:before{content:"\\F0DB"}.fa-sort:before,.fa-unsorted:before{content:"\\F0DC"}.fa-sort-desc:before,.fa-sort-down:before{content:"\\F0DD"}.fa-sort-asc:before,.fa-sort-up:before{content:"\\F0DE"}.fa-envelope:before{content:"\\F0E0"}.fa-linkedin:before{content:"\\F0E1"}.fa-rotate-left:before,.fa-undo:before{content:"\\F0E2"}.fa-gavel:before,.fa-legal:before{content:"\\F0E3"}.fa-dashboard:before,.fa-tachometer:before{content:"\\F0E4"}.fa-comment-o:before{content:"\\F0E5"}.fa-comments-o:before{content:"\\F0E6"}.fa-bolt:before,.fa-flash:before{content:"\\F0E7"}.fa-sitemap:before{content:"\\F0E8"}.fa-umbrella:before{content:"\\F0E9"}.fa-clipboard:before,.fa-paste:before{content:"\\F0EA"}.fa-lightbulb-o:before{content:"\\F0EB"}.fa-exchange:before{content:"\\F0EC"}.fa-cloud-download:before{content:"\\F0ED"}.fa-cloud-upload:before{content:"\\F0EE"}.fa-user-md:before{content:"\\F0F0"}.fa-stethoscope:before{content:"\\F0F1"}.fa-suitcase:before{content:"\\F0F2"}.fa-bell-o:before{content:"\\F0A2"}.fa-coffee:before{content:"\\F0F4"}.fa-cutlery:before{content:"\\F0F5"}.fa-file-text-o:before{content:"\\F0F6"}.fa-building-o:before{content:"\\F0F7"}.fa-hospital-o:before{content:"\\F0F8"}.fa-ambulance:before{content:"\\F0F9"}.fa-medkit:before{content:"\\F0FA"}.fa-fighter-jet:before{content:"\\F0FB"}.fa-beer:before{content:"\\F0FC"}.fa-h-square:before{content:"\\F0FD"}.fa-plus-square:before{content:"\\F0FE"}.fa-angle-double-left:before{content:"\\F100"}.fa-angle-double-right:before{content:"\\F101"}.fa-angle-double-up:before{content:"\\F102"}.fa-angle-double-down:before{content:"\\F103"}.fa-angle-left:before{content:"\\F104"}.fa-angle-right:before{content:"\\F105"}.fa-angle-up:before{content:"\\F106"}.fa-angle-down:before{content:"\\F107"}.fa-desktop:before{content:"\\F108"}.fa-laptop:before{content:"\\F109"}.fa-tablet:before{content:"\\F10A"}.fa-mobile-phone:before,.fa-mobile:before{content:"\\F10B"}.fa-circle-o:before{content:"\\F10C"}.fa-quote-left:before{content:"\\F10D"}.fa-quote-right:before{content:"\\F10E"}.fa-spinner:before{content:"\\F110"}.fa-circle:before{content:"\\F111"}.fa-mail-reply:before,.fa-reply:before{content:"\\F112"}.fa-github-alt:before{content:"\\F113"}.fa-folder-o:before{content:"\\F114"}.fa-folder-open-o:before{content:"\\F115"}.fa-smile-o:before{content:"\\F118"}.fa-frown-o:before{content:"\\F119"}.fa-meh-o:before{content:"\\F11A"}.fa-gamepad:before{content:"\\F11B"}.fa-keyboard-o:before{content:"\\F11C"}.fa-flag-o:before{content:"\\F11D"}.fa-flag-checkered:before{content:"\\F11E"}.fa-terminal:before{content:"\\F120"}.fa-code:before{content:"\\F121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\\F122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\\F123"}.fa-location-arrow:before{content:"\\F124"}.fa-crop:before{content:"\\F125"}.fa-code-fork:before{content:"\\F126"}.fa-chain-broken:before,.fa-unlink:before{content:"\\F127"}.fa-question:before{content:"\\F128"}.fa-info:before{content:"\\F129"}.fa-exclamation:before{content:"\\F12A"}.fa-superscript:before{content:"\\F12B"}.fa-subscript:before{content:"\\F12C"}.fa-eraser:before{content:"\\F12D"}.fa-puzzle-piece:before{content:"\\F12E"}.fa-microphone:before{content:"\\F130"}.fa-microphone-slash:before{content:"\\F131"}.fa-shield:before{content:"\\F132"}.fa-calendar-o:before{content:"\\F133"}.fa-fire-extinguisher:before{content:"\\F134"}.fa-rocket:before{content:"\\F135"}.fa-maxcdn:before{content:"\\F136"}.fa-chevron-circle-left:before{content:"\\F137"}.fa-chevron-circle-right:before{content:"\\F138"}.fa-chevron-circle-up:before{content:"\\F139"}.fa-chevron-circle-down:before{content:"\\F13A"}.fa-html5:before{content:"\\F13B"}.fa-css3:before{content:"\\F13C"}.fa-anchor:before{content:"\\F13D"}.fa-unlock-alt:before{content:"\\F13E"}.fa-bullseye:before{content:"\\F140"}.fa-ellipsis-h:before{content:"\\F141"}.fa-ellipsis-v:before{content:"\\F142"}.fa-rss-square:before{content:"\\F143"}.fa-play-circle:before{content:"\\F144"}.fa-ticket:before{content:"\\F145"}.fa-minus-square:before{content:"\\F146"}.fa-minus-square-o:before{content:"\\F147"}.fa-level-up:before{content:"\\F148"}.fa-level-down:before{content:"\\F149"}.fa-check-square:before{content:"\\F14A"}.fa-pencil-square:before{content:"\\F14B"}.fa-external-link-square:before{content:"\\F14C"}.fa-share-square:before{content:"\\F14D"}.fa-compass:before{content:"\\F14E"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\\F150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\\F151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\\F152"}.fa-eur:before,.fa-euro:before{content:"\\F153"}.fa-gbp:before{content:"\\F154"}.fa-dollar:before,.fa-usd:before{content:"\\F155"}.fa-inr:before,.fa-rupee:before{content:"\\F156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\\F157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\\F158"}.fa-krw:before,.fa-won:before{content:"\\F159"}.fa-bitcoin:before,.fa-btc:before{content:"\\F15A"}.fa-file:before{content:"\\F15B"}.fa-file-text:before{content:"\\F15C"}.fa-sort-alpha-asc:before{content:"\\F15D"}.fa-sort-alpha-desc:before{content:"\\F15E"}.fa-sort-amount-asc:before{content:"\\F160"}.fa-sort-amount-desc:before{content:"\\F161"}.fa-sort-numeric-asc:before{content:"\\F162"}.fa-sort-numeric-desc:before{content:"\\F163"}.fa-thumbs-up:before{content:"\\F164"}.fa-thumbs-down:before{content:"\\F165"}.fa-youtube-square:before{content:"\\F166"}.fa-youtube:before{content:"\\F167"}.fa-xing:before{content:"\\F168"}.fa-xing-square:before{content:"\\F169"}.fa-youtube-play:before{content:"\\F16A"}.fa-dropbox:before{content:"\\F16B"}.fa-stack-overflow:before{content:"\\F16C"}.fa-instagram:before{content:"\\F16D"}.fa-flickr:before{content:"\\F16E"}.fa-adn:before{content:"\\F170"}.fa-bitbucket:before{content:"\\F171"}.fa-bitbucket-square:before{content:"\\F172"}.fa-tumblr:before{content:"\\F173"}.fa-tumblr-square:before{content:"\\F174"}.fa-long-arrow-down:before{content:"\\F175"}.fa-long-arrow-up:before{content:"\\F176"}.fa-long-arrow-left:before{content:"\\F177"}.fa-long-arrow-right:before{content:"\\F178"}.fa-apple:before{content:"\\F179"}.fa-windows:before{content:"\\F17A"}.fa-android:before{content:"\\F17B"}.fa-linux:before{content:"\\F17C"}.fa-dribbble:before{content:"\\F17D"}.fa-skype:before{content:"\\F17E"}.fa-foursquare:before{content:"\\F180"}.fa-trello:before{content:"\\F181"}.fa-female:before{content:"\\F182"}.fa-male:before{content:"\\F183"}.fa-gittip:before,.fa-gratipay:before{content:"\\F184"}.fa-sun-o:before{content:"\\F185"}.fa-moon-o:before{content:"\\F186"}.fa-archive:before{content:"\\F187"}.fa-bug:before{content:"\\F188"}.fa-vk:before{content:"\\F189"}.fa-weibo:before{content:"\\F18A"}.fa-renren:before{content:"\\F18B"}.fa-pagelines:before{content:"\\F18C"}.fa-stack-exchange:before{content:"\\F18D"}.fa-arrow-circle-o-right:before{content:"\\F18E"}.fa-arrow-circle-o-left:before{content:"\\F190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\\F191"}.fa-dot-circle-o:before{content:"\\F192"}.fa-wheelchair:before{content:"\\F193"}.fa-vimeo-square:before{content:"\\F194"}.fa-try:before,.fa-turkish-lira:before{content:"\\F195"}.fa-plus-square-o:before{content:"\\F196"}.fa-space-shuttle:before{content:"\\F197"}.fa-slack:before{content:"\\F198"}.fa-envelope-square:before{content:"\\F199"}.fa-wordpress:before{content:"\\F19A"}.fa-openid:before{content:"\\F19B"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\\F19C"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\\F19D"}.fa-yahoo:before{content:"\\F19E"}.fa-google:before{content:"\\F1A0"}.fa-reddit:before{content:"\\F1A1"}.fa-reddit-square:before{content:"\\F1A2"}.fa-stumbleupon-circle:before{content:"\\F1A3"}.fa-stumbleupon:before{content:"\\F1A4"}.fa-delicious:before{content:"\\F1A5"}.fa-digg:before{content:"\\F1A6"}.fa-pied-piper-pp:before{content:"\\F1A7"}.fa-pied-piper-alt:before{content:"\\F1A8"}.fa-drupal:before{content:"\\F1A9"}.fa-joomla:before{content:"\\F1AA"}.fa-language:before{content:"\\F1AB"}.fa-fax:before{content:"\\F1AC"}.fa-building:before{content:"\\F1AD"}.fa-child:before{content:"\\F1AE"}.fa-paw:before{content:"\\F1B0"}.fa-spoon:before{content:"\\F1B1"}.fa-cube:before{content:"\\F1B2"}.fa-cubes:before{content:"\\F1B3"}.fa-behance:before{content:"\\F1B4"}.fa-behance-square:before{content:"\\F1B5"}.fa-steam:before{content:"\\F1B6"}.fa-steam-square:before{content:"\\F1B7"}.fa-recycle:before{content:"\\F1B8"}.fa-automobile:before,.fa-car:before{content:"\\F1B9"}.fa-cab:before,.fa-taxi:before{content:"\\F1BA"}.fa-tree:before{content:"\\F1BB"}.fa-spotify:before{content:"\\F1BC"}.fa-deviantart:before{content:"\\F1BD"}.fa-soundcloud:before{content:"\\F1BE"}.fa-database:before{content:"\\F1C0"}.fa-file-pdf-o:before{content:"\\F1C1"}.fa-file-word-o:before{content:"\\F1C2"}.fa-file-excel-o:before{content:"\\F1C3"}.fa-file-powerpoint-o:before{content:"\\F1C4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\\F1C5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\\F1C6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\\F1C7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\\F1C8"}.fa-file-code-o:before{content:"\\F1C9"}.fa-vine:before{content:"\\F1CA"}.fa-codepen:before{content:"\\F1CB"}.fa-jsfiddle:before{content:"\\F1CC"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\\F1CD"}.fa-circle-o-notch:before{content:"\\F1CE"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\\F1D0"}.fa-empire:before,.fa-ge:before{content:"\\F1D1"}.fa-git-square:before{content:"\\F1D2"}.fa-git:before{content:"\\F1D3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\\F1D4"}.fa-tencent-weibo:before{content:"\\F1D5"}.fa-qq:before{content:"\\F1D6"}.fa-wechat:before,.fa-weixin:before{content:"\\F1D7"}.fa-paper-plane:before,.fa-send:before{content:"\\F1D8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\\F1D9"}.fa-history:before{content:"\\F1DA"}.fa-circle-thin:before{content:"\\F1DB"}.fa-header:before{content:"\\F1DC"}.fa-paragraph:before{content:"\\F1DD"}.fa-sliders:before{content:"\\F1DE"}.fa-share-alt:before{content:"\\F1E0"}.fa-share-alt-square:before{content:"\\F1E1"}.fa-bomb:before{content:"\\F1E2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\\F1E3"}.fa-tty:before{content:"\\F1E4"}.fa-binoculars:before{content:"\\F1E5"}.fa-plug:before{content:"\\F1E6"}.fa-slideshare:before{content:"\\F1E7"}.fa-twitch:before{content:"\\F1E8"}.fa-yelp:before{content:"\\F1E9"}.fa-newspaper-o:before{content:"\\F1EA"}.fa-wifi:before{content:"\\F1EB"}.fa-calculator:before{content:"\\F1EC"}.fa-paypal:before{content:"\\F1ED"}.fa-google-wallet:before{content:"\\F1EE"}.fa-cc-visa:before{content:"\\F1F0"}.fa-cc-mastercard:before{content:"\\F1F1"}.fa-cc-discover:before{content:"\\F1F2"}.fa-cc-amex:before{content:"\\F1F3"}.fa-cc-paypal:before{content:"\\F1F4"}.fa-cc-stripe:before{content:"\\F1F5"}.fa-bell-slash:before{content:"\\F1F6"}.fa-bell-slash-o:before{content:"\\F1F7"}.fa-trash:before{content:"\\F1F8"}.fa-copyright:before{content:"\\F1F9"}.fa-at:before{content:"\\F1FA"}.fa-eyedropper:before{content:"\\F1FB"}.fa-paint-brush:before{content:"\\F1FC"}.fa-birthday-cake:before{content:"\\F1FD"}.fa-area-chart:before{content:"\\F1FE"}.fa-pie-chart:before{content:"\\F200"}.fa-line-chart:before{content:"\\F201"}.fa-lastfm:before{content:"\\F202"}.fa-lastfm-square:before{content:"\\F203"}.fa-toggle-off:before{content:"\\F204"}.fa-toggle-on:before{content:"\\F205"}.fa-bicycle:before{content:"\\F206"}.fa-bus:before{content:"\\F207"}.fa-ioxhost:before{content:"\\F208"}.fa-angellist:before{content:"\\F209"}.fa-cc:before{content:"\\F20A"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\\F20B"}.fa-meanpath:before{content:"\\F20C"}.fa-buysellads:before{content:"\\F20D"}.fa-connectdevelop:before{content:"\\F20E"}.fa-dashcube:before{content:"\\F210"}.fa-forumbee:before{content:"\\F211"}.fa-leanpub:before{content:"\\F212"}.fa-sellsy:before{content:"\\F213"}.fa-shirtsinbulk:before{content:"\\F214"}.fa-simplybuilt:before{content:"\\F215"}.fa-skyatlas:before{content:"\\F216"}.fa-cart-plus:before{content:"\\F217"}.fa-cart-arrow-down:before{content:"\\F218"}.fa-diamond:before{content:"\\F219"}.fa-ship:before{content:"\\F21A"}.fa-user-secret:before{content:"\\F21B"}.fa-motorcycle:before{content:"\\F21C"}.fa-street-view:before{content:"\\F21D"}.fa-heartbeat:before{content:"\\F21E"}.fa-venus:before{content:"\\F221"}.fa-mars:before{content:"\\F222"}.fa-mercury:before{content:"\\F223"}.fa-intersex:before,.fa-transgender:before{content:"\\F224"}.fa-transgender-alt:before{content:"\\F225"}.fa-venus-double:before{content:"\\F226"}.fa-mars-double:before{content:"\\F227"}.fa-venus-mars:before{content:"\\F228"}.fa-mars-stroke:before{content:"\\F229"}.fa-mars-stroke-v:before{content:"\\F22A"}.fa-mars-stroke-h:before{content:"\\F22B"}.fa-neuter:before{content:"\\F22C"}.fa-genderless:before{content:"\\F22D"}.fa-facebook-official:before{content:"\\F230"}.fa-pinterest-p:before{content:"\\F231"}.fa-whatsapp:before{content:"\\F232"}.fa-server:before{content:"\\F233"}.fa-user-plus:before{content:"\\F234"}.fa-user-times:before{content:"\\F235"}.fa-bed:before,.fa-hotel:before{content:"\\F236"}.fa-viacoin:before{content:"\\F237"}.fa-train:before{content:"\\F238"}.fa-subway:before{content:"\\F239"}.fa-medium:before{content:"\\F23A"}.fa-y-combinator:before,.fa-yc:before{content:"\\F23B"}.fa-optin-monster:before{content:"\\F23C"}.fa-opencart:before{content:"\\F23D"}.fa-expeditedssl:before{content:"\\F23E"}.fa-battery-4:before,.fa-battery-full:before{content:"\\F240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\\F241"}.fa-battery-2:before,.fa-battery-half:before{content:"\\F242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\\F243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\\F244"}.fa-mouse-pointer:before{content:"\\F245"}.fa-i-cursor:before{content:"\\F246"}.fa-object-group:before{content:"\\F247"}.fa-object-ungroup:before{content:"\\F248"}.fa-sticky-note:before{content:"\\F249"}.fa-sticky-note-o:before{content:"\\F24A"}.fa-cc-jcb:before{content:"\\F24B"}.fa-cc-diners-club:before{content:"\\F24C"}.fa-clone:before{content:"\\F24D"}.fa-balance-scale:before{content:"\\F24E"}.fa-hourglass-o:before{content:"\\F250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\\F251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\\F252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\\F253"}.fa-hourglass:before{content:"\\F254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\\F255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\\F256"}.fa-hand-scissors-o:before{content:"\\F257"}.fa-hand-lizard-o:before{content:"\\F258"}.fa-hand-spock-o:before{content:"\\F259"}.fa-hand-pointer-o:before{content:"\\F25A"}.fa-hand-peace-o:before{content:"\\F25B"}.fa-trademark:before{content:"\\F25C"}.fa-registered:before{content:"\\F25D"}.fa-creative-commons:before{content:"\\F25E"}.fa-gg:before{content:"\\F260"}.fa-gg-circle:before{content:"\\F261"}.fa-tripadvisor:before{content:"\\F262"}.fa-odnoklassniki:before{content:"\\F263"}.fa-odnoklassniki-square:before{content:"\\F264"}.fa-get-pocket:before{content:"\\F265"}.fa-wikipedia-w:before{content:"\\F266"}.fa-safari:before{content:"\\F267"}.fa-chrome:before{content:"\\F268"}.fa-firefox:before{content:"\\F269"}.fa-opera:before{content:"\\F26A"}.fa-internet-explorer:before{content:"\\F26B"}.fa-television:before,.fa-tv:before{content:"\\F26C"}.fa-contao:before{content:"\\F26D"}.fa-500px:before{content:"\\F26E"}.fa-amazon:before{content:"\\F270"}.fa-calendar-plus-o:before{content:"\\F271"}.fa-calendar-minus-o:before{content:"\\F272"}.fa-calendar-times-o:before{content:"\\F273"}.fa-calendar-check-o:before{content:"\\F274"}.fa-industry:before{content:"\\F275"}.fa-map-pin:before{content:"\\F276"}.fa-map-signs:before{content:"\\F277"}.fa-map-o:before{content:"\\F278"}.fa-map:before{content:"\\F279"}.fa-commenting:before{content:"\\F27A"}.fa-commenting-o:before{content:"\\F27B"}.fa-houzz:before{content:"\\F27C"}.fa-vimeo:before{content:"\\F27D"}.fa-black-tie:before{content:"\\F27E"}.fa-fonticons:before{content:"\\F280"}.fa-reddit-alien:before{content:"\\F281"}.fa-edge:before{content:"\\F282"}.fa-credit-card-alt:before{content:"\\F283"}.fa-codiepie:before{content:"\\F284"}.fa-modx:before{content:"\\F285"}.fa-fort-awesome:before{content:"\\F286"}.fa-usb:before{content:"\\F287"}.fa-product-hunt:before{content:"\\F288"}.fa-mixcloud:before{content:"\\F289"}.fa-scribd:before{content:"\\F28A"}.fa-pause-circle:before{content:"\\F28B"}.fa-pause-circle-o:before{content:"\\F28C"}.fa-stop-circle:before{content:"\\F28D"}.fa-stop-circle-o:before{content:"\\F28E"}.fa-shopping-bag:before{content:"\\F290"}.fa-shopping-basket:before{content:"\\F291"}.fa-hashtag:before{content:"\\F292"}.fa-bluetooth:before{content:"\\F293"}.fa-bluetooth-b:before{content:"\\F294"}.fa-percent:before{content:"\\F295"}.fa-gitlab:before{content:"\\F296"}.fa-wpbeginner:before{content:"\\F297"}.fa-wpforms:before{content:"\\F298"}.fa-envira:before{content:"\\F299"}.fa-universal-access:before{content:"\\F29A"}.fa-wheelchair-alt:before{content:"\\F29B"}.fa-question-circle-o:before{content:"\\F29C"}.fa-blind:before{content:"\\F29D"}.fa-audio-description:before{content:"\\F29E"}.fa-volume-control-phone:before{content:"\\F2A0"}.fa-braille:before{content:"\\F2A1"}.fa-assistive-listening-systems:before{content:"\\F2A2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\\F2A3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\\F2A4"}.fa-glide:before{content:"\\F2A5"}.fa-glide-g:before{content:"\\F2A6"}.fa-sign-language:before,.fa-signing:before{content:"\\F2A7"}.fa-low-vision:before{content:"\\F2A8"}.fa-viadeo:before{content:"\\F2A9"}.fa-viadeo-square:before{content:"\\F2AA"}.fa-snapchat:before{content:"\\F2AB"}.fa-snapchat-ghost:before{content:"\\F2AC"}.fa-snapchat-square:before{content:"\\F2AD"}.fa-pied-piper:before{content:"\\F2AE"}.fa-first-order:before{content:"\\F2B0"}.fa-yoast:before{content:"\\F2B1"}.fa-themeisle:before{content:"\\F2B2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\\F2B3"}.fa-fa:before,.fa-font-awesome:before{content:"\\F2B4"}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}@font-face{font-family:FontAwesome;src:url('+n(629)+");src:url("+n(628)+"?#iefix&v=4.6.3) format('embedded-opentype'),url("+n(875)+") format('woff2'),url("+n(876)+") format('woff'),url("+n(873)+") format('truetype'),url("+n(874)+'#fontawesomeregular) format(\'svg\');font-weight:400;font-style:normal}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";-webkit-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}',""])},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;t=e&&c&&(s=!0,n()))}}var a=0,s=!1,u=!1,c=!1,l=void 0;i()}t.__esModule=!0;var r=Array.prototype.slice;t.loopAsync=n},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(){function e(e){try{e=e||window.history.state||{}}catch(t){e={}}var n=f.getWindowPath(),r=e,o=r.key,a=void 0;o?a=p.readState(o):(a=null,o=b.createKey(),y&&window.history.replaceState(i({},e,{key:o}),null));var s=c.parsePath(n);return b.createLocation(i({},s,{state:a}),void 0,o)}function t(t){function n(t){void 0!==t.state&&r(e(t.state))}var r=t.transitionTo;return f.addEventListener(window,"popstate",n),function(){f.removeEventListener(window,"popstate",n)}}function n(e){var t=e.basename,n=e.pathname,r=e.search,o=e.hash,i=e.state,a=e.action,s=e.key;if(a!==u.POP){p.saveState(s,i);var c=(t||"")+n+r+o,l={key:s};if(a===u.PUSH){if(g)return window.location.href=c,!1;window.history.pushState(l,null,c)}else{if(g)return window.location.replace(c),!1;window.history.replaceState(l,null,c)}}}function r(e){1===++_&&(w=t(b));var n=b.listenBefore(e);return function(){n(),0===--_&&w()}}function o(e){1===++_&&(w=t(b));var n=b.listen(e);return function(){n(),0===--_&&w()}}function a(e){1===++_&&(w=t(b)),b.registerTransitionHook(e)}function d(e){b.unregisterTransitionHook(e),0===--_&&w()}var m=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];l.canUseDOM?void 0:s.default(!1);var v=m.forceRefresh,y=f.supportsHistory(),g=!y||v,b=h.default(i({},m,{getCurrentLocation:e,finishTransition:n,saveState:p.saveState})),_=0,w=void 0;return i({},b,{listenBefore:r,listen:o,registerTransitionHook:a,unregisterTransitionHook:d})}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t=0&&t=0&&v=0&&e<=1){if(t._volume=e,t._muted)return t;t.usingWebAudio&&(t.masterGain.gain.value=e);for(var n=0;n=0;t--)e._howls[t].unload();return e.usingWebAudio&&"undefined"!=typeof e.ctx.close&&(e.ctx.close(),e.ctx=null,h()),e},codecs:function(e){return(this||a)._codecs[e]},_setup:function(){var e=this||a;return e.state=e.ctx?e.ctx.state||"running":"running",e._autoSuspend(),e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||a,t="undefined"!=typeof Audio?new Audio:null;if(!t||"function"!=typeof t.canPlayType)return e;var n=t.canPlayType("audio/mpeg;").replace(/^no$/,""),r=e._navigator&&e._navigator.userAgent.match(/OPR\/([0-6].)/g),o=r&&parseInt(r[0].split("/")[1],10)<33;return e._codecs={mp3:!(o||!n&&!t.canPlayType("audio/mp3;").replace(/^no$/,"")),mpeg:!!n,opus:!!t.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!t.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),aac:!!t.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!t.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(t.canPlayType("audio/x-m4a;")||t.canPlayType("audio/m4a;")||t.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(t.canPlayType("audio/x-mp4;")||t.canPlayType("audio/mp4;")||t.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),webm:!!t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),dolby:!!t.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,"")},e},_enableMobileAudio:function(){var e=this||a,t=/iPhone|iPad|iPod|Android|BlackBerry|BB10|Silk|Mobi/i.test(e._navigator&&e._navigator.userAgent),n=!!("ontouchend"in window||e._navigator&&e._navigator.maxTouchPoints>0||e._navigator&&e._navigator.msMaxTouchPoints>0);if(!e._mobileEnabled&&e.ctx&&(t||n)){e._mobileEnabled=!1,e._mobileUnloaded||44100===e.ctx.sampleRate||(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var r=function(){var t=e.ctx.createBufferSource();t.buffer=e._scratchBuffer,t.connect(e.ctx.destination),"undefined"==typeof t.start?t.noteOn(0):t.start(0),t.onended=function(){t.disconnect(0),e._mobileEnabled=!0,e.mobileAutoEnable=!1,document.removeEventListener("touchend",r,!0)}};return document.addEventListener("touchend",r,!0),e}},_autoSuspend:function(){var e=this;if(e.autoSuspend&&e.ctx&&"undefined"!=typeof e.ctx.suspend&&a.usingWebAudio){for(var t=0;t0?s._seek:n._sprite[e][0]/1e3,c=(n._sprite[e][0]+n._sprite[e][1])/1e3-u,l=1e3*c/Math.abs(s._rate);s._paused=!1,s._ended=!1,s._sprite=e,s._seek=u,s._start=n._sprite[e][0]/1e3,s._stop=(n._sprite[e][0]+n._sprite[e][1])/1e3,s._loop=!(!s._loop&&!n._sprite[e][2]);var f=s._node;if(n._webAudio){var p=function(){n._refreshBuffer(s);var e=s._muted||n._muted?0:s._volume;f.gain.setValueAtTime(e,a.ctx.currentTime),s._playStart=a.ctx.currentTime,"undefined"==typeof f.bufferSource.start?s._loop?f.bufferSource.noteGrainOn(0,u,86400):f.bufferSource.noteGrainOn(0,u,c):s._loop?f.bufferSource.start(0,u,86400):f.bufferSource.start(0,u,c),l!==1/0&&(n._endTimers[s._id]=setTimeout(n._ended.bind(n,s),l)),t||setTimeout(function(){n._emit("play",s._id)},0)};"loaded"===n._state?p():(n.once("load",p,s._id),n._clearTimer(s._id))}else{var d=function(){f.currentTime=u,f.muted=s._muted||n._muted||a._muted||f.muted,f.volume=s._volume*a.volume(),f.playbackRate=s._rate,setTimeout(function(){f.play(),l!==1/0&&(n._endTimers[s._id]=setTimeout(n._ended.bind(n,s),l)),t||n._emit("play",s._id)},0)},h="loaded"===n._state&&(window&&window.ejecta||!f.readyState&&a._navigator.isCocoonJS);if(4===f.readyState||h)d();else{var m=function(){d(),f.removeEventListener(a._canPlayEvent,m,!1)};f.addEventListener(a._canPlayEvent,m,!1),n._clearTimer(s._id)}}return s._id},pause:function(e){var t=this;if("loaded"!==t._state)return t._queue.push({event:"pause",action:function(){t.pause(e)}}),t;for(var n=t._getSoundIds(e),r=0;r=0?t=parseInt(r[0],10):e=parseFloat(r[0])}else r.length>=2&&(e=parseFloat(r[0]),t=parseInt(r[1],10));var s;if(!("undefined"!=typeof e&&e>=0&&e<=1))return s=t?n._soundById(t):n._sounds[0],s?s._volume:0;if("loaded"!==n._state)return n._queue.push({event:"volume",action:function(){n.volume.apply(n,r)}}),n;"undefined"==typeof t&&(n._volume=e),t=n._getSoundIds(t);for(var u=0;ut?"out":"in",u=i/.01,c=n/u;if("loaded"!==o._state)return o._queue.push({event:"fade",action:function(){o.fade(e,t,n,r)}}),o;o.volume(e,r);for(var l=o._getSoundIds(r),f=0;f=0?t=parseInt(r[0],10):e=parseFloat(r[0])}else 2===r.length&&(e=parseFloat(r[0]),t=parseInt(r[1],10));var s;if("number"!=typeof e)return s=n._soundById(t),s?s._rate:n._rate;if("loaded"!==n._state)return n._queue.push({event:"rate",action:function(){n.rate.apply(n,r)}}),n;"undefined"==typeof t&&(n._rate=e),t=n._getSoundIds(t);for(var u=0;u=0?t=parseInt(r[0],10):(t=n._sounds[0]._id,e=parseFloat(r[0]))}else 2===r.length&&(e=parseFloat(r[0]),t=parseInt(r[1],10));if("undefined"==typeof t)return n;if("loaded"!==n._state)return n._queue.push({event:"seek",action:function(){n.seek.apply(n,r)}}),n;var s=n._soundById(t);if(s){if(!("number"==typeof e&&e>=0)){if(n._webAudio){var u=n.playing(t)?a.ctx.currentTime-s._playStart:0,c=s._rateSeek?s._rateSeek-s._seek:0;return s._seek+(c+u*Math.abs(s._rate))}return s._node.currentTime}var l=n.playing(t);l&&n.pause(t,!0),s._seek=e,s._ended=!1,n._clearTimer(t),l&&n.play(t,!0),!n._webAudio&&s._node&&(s._node.currentTime=e),n._emit("seek",t)}return n},playing:function(e){var t=this;if("number"==typeof e){var n=t._soundById(e);return!!n&&!n._paused}for(var r=0;r=0&&a._howls.splice(r,1)}var o=!0;for(n=0;n=0;i--)o[i].id&&o[i].id!==t&&"load"!==e||(setTimeout(function(e){e.call(this,t,n)}.bind(r,o[i].fn),0),o[i].once&&r.off(e,o[i].fn,o[i].id));return r},_loadQueue:function(){var e=this;if(e._queue.length>0){var t=e._queue[0];e.once(t.event,function(){e._queue.shift(),e._loadQueue()}),t.action()}return e},_ended:function(e){var t=this,n=e._sprite,r=!(!e._loop&&!t._sprite[n][2]);if(t._emit("end",e._id),!t._webAudio&&r&&t.stop(e._id,!0).play(e._id),t._webAudio&&r){t._emit("play",e._id),e._seek=e._start||0,e._rateSeek=0,e._playStart=a.ctx.currentTime;var o=1e3*(e._stop-e._start)/Math.abs(e._rate);t._endTimers[e._id]=setTimeout(t._ended.bind(t,e),o)}return t._webAudio&&!r&&(e._paused=!0,e._ended=!0,e._seek=e._start||0,e._rateSeek=0,t._clearTimer(e._id),t._cleanBuffer(e._node),a._autoSuspend()),t._webAudio||r||t.stop(e._id),t},_clearTimer:function(e){var t=this;return t._endTimers[e]&&(clearTimeout(t._endTimers[e]),delete t._endTimers[e]),t},_soundById:function(e){for(var t=this,n=0;n=0;r--){if(n<=t)return;e._sounds[r]._ended&&(e._webAudio&&e._sounds[r]._node&&e._sounds[r]._node.disconnect(0),e._sounds.splice(r,1),n--)}}},_getSoundIds:function(e){var t=this;if("undefined"==typeof e){for(var n=[],r=0;r0&&(c[t._src]=e,d(t,e))},function(){t._emit("loaderror",null,"Decoding audio data failed.")})},d=function(e,t){t&&!e._duration&&(e._duration=t.duration),0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),"loaded"!==e._state&&(e._state="loaded",e._emit("load"),e._loadQueue()),e._autoplay&&e.play()},h=function(){a.noAudio=!1;try{"undefined"!=typeof AudioContext?a.ctx=new AudioContext:"undefined"!=typeof webkitAudioContext?a.ctx=new webkitAudioContext:a.usingWebAudio=!1}catch(e){a.usingWebAudio=!1}if(!a.usingWebAudio)if("undefined"!=typeof Audio)try{var t=new Audio;"undefined"==typeof t.oncanplaythrough&&(a._canPlayEvent="canplay")}catch(e){a.noAudio=!0}else a.noAudio=!0;try{var t=new Audio;t.muted&&(a.noAudio=!0)}catch(e){}var n=/iP(hone|od|ad)/.test(a._navigator&&a._navigator.platform),r=a._navigator&&a._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),o=r?parseInt(r[1],10):null;if(n&&o&&o<9){var i=/safari/.test(a._navigator&&a._navigator.userAgent.toLowerCase());(a._navigator&&a._navigator.standalone&&!i||a._navigator&&!a._navigator.standalone&&!i)&&(a.usingWebAudio=!1)}a.usingWebAudio&&(a.masterGain="undefined"==typeof a.ctx.createGain?a.ctx.createGainNode():a.ctx.createGain(),a.masterGain.gain.value=1,a.masterGain.connect(a.ctx.destination)),a._setup()};r=[],o=function(){return{Howler:a,Howl:s}}.apply(t,r),!(void 0!==o&&(e.exports=o)),t.Howler=a,t.Howl=s,"undefined"!=typeof window?(window.HowlerGlobal=i,window.Howler=a,window.Howl=s,window.Sound=u):"undefined"!=typeof n&&(n.HowlerGlobal=i,n.Howler=a,n.Howl=s,n.Sound=u)}(),function(){"use strict";HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(e){var t=this;if(!t.ctx||!t.ctx.listener)return t;for(var n=t._howls.length-1;n>=0;n--)t._howls[n].stereo(e);return t},HowlerGlobal.prototype.pos=function(e,t,n){var r=this;return r.ctx&&r.ctx.listener?(t="number"!=typeof t?r._pos[1]:t,n="number"!=typeof n?r._pos[2]:n,"number"!=typeof e?r._pos:(r._pos=[e,t,n],r.ctx.listener.setPosition(r._pos[0],r._pos[1],r._pos[2]),r)):r},HowlerGlobal.prototype.orientation=function(e,t,n,r,o,i){var a=this;if(!a.ctx||!a.ctx.listener)return a;var s=a._orientation;return t="number"!=typeof t?s[1]:t,n="number"!=typeof n?s[2]:n,r="number"!=typeof r?s[3]:r,o="number"!=typeof o?s[4]:o,i="number"!=typeof i?s[5]:i,"number"!=typeof e?s:(a._orientation=[e,t,n,r,o,i],a.ctx.listener.setOrientation(e,t,n,r,o,i),a)},Howl.prototype.init=function(e){return function(t){var n=this;return n._orientation=t.orientation||[1,0,0],n._stereo=t.stereo||null,n._pos=t.pos||null,n._pannerAttr={coneInnerAngle:"undefined"!=typeof t.coneInnerAngle?t.coneInnerAngle:360,coneOuterAngle:"undefined"!=typeof t.coneOuterAngle?t.coneOuterAngle:360,coneOuterGain:"undefined"!=typeof t.coneOuterGain?t.coneOuterGain:0,distanceModel:"undefined"!=typeof t.distanceModel?t.distanceModel:"inverse",maxDistance:"undefined"!=typeof t.maxDistance?t.maxDistance:1e4,panningModel:"undefined"!=typeof t.panningModel?t.panningModel:"HRTF",refDistance:"undefined"!=typeof t.refDistance?t.refDistance:1,rolloffFactor:"undefined"!=typeof t.rolloffFactor?t.rolloffFactor:1},n._onstereo=t.onstereo?[{fn:t.onstereo}]:[],n._onpos=t.onpos?[{fn:t.onpos}]:[],n._onorientation=t.onorientation?[{fn:t.onorientation}]:[],e.call(this,t)}}(Howl.prototype.init),Howl.prototype.stereo=function(t,n){var r=this;if(!r._webAudio)return r;if("loaded"!==r._state)return r._queue.push({event:"stereo",action:function(){r.stereo(t,n)}}),r;var o="undefined"==typeof Howler.ctx.createStereoPanner?"spatial":"stereo";if("undefined"==typeof n){if("number"!=typeof t)return r._stereo;r._stereo=t,r._pos=[t,0,0]}for(var i=r._getSoundIds(n),a=0;at&&(Ye=0,Xe={line:1,column:1,seenCR:!1}),n(Xe,Ye,t),Ye=t),Xe}function r(e){GeQe&&(Qe=Ge,Je=[]),Je.push(e))}function o(r,o,i){function a(e){var t=1;for(e.sort(function(e,t){return e.descriptiont.description?1:0});t1?a.slice(0,-1).join(", ")+" or "+a[e.length-1]:a[0],o=t?'"'+n(t)+'"':"end of input","Expected "+r+" but "+o+" found."}var u=n(i),c=i1?arguments[1]:{},k={},M={start:i},F=i,N=function(e){return{type:"messageFormatPattern",elements:e}},I=k,R=function(e){var t,n,r,o,i,a="";for(t=0,r=e.length;t=0)return!0;if("string"==typeof e){var t=/s$/.test(e)&&e.substr(0,e.length-1);if(t&&a.arrIndexOf.call(s,t)>=0)throw new Error('"'+e+'" is not a valid IntlRelativeFormat `units` value, did you mean: '+t)}throw new Error('"'+e+'" is not a valid IntlRelativeFormat `units` value, it must be one of: "'+s.join('", "')+'"')},r.prototype._resolveLocale=function(e){"string"==typeof e&&(e=[e]),e=(e||[]).concat(r.defaultLocale);var t,n,o,i,a=r.__localeData__;for(t=0,n=e.length;t=0)return e;throw new Error('"'+e+'" is not a valid IntlRelativeFormat `style` value, it must be one of: "'+u.join('", "')+'"')},r.prototype._selectUnits=function(e){var t,n,o;for(t=0,n=s.length;ts||as?1:-1)*c}}return 0}}var u=e.jQuery,c=String.prototype.trim?function(e){return e.trim()}:function(e){return e.replace(/^\s+|\s+$/g,"")},l=t.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});l.Item=i,l.LayoutMode=a;var f=l.prototype;f._create=function(){this.itemGUID=0,this._sorters={},this._getSorters(),t.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"];for(var e in a.modes)this._initLayoutMode(e)},f.reloadItems=function(){this.itemGUID=0,t.prototype.reloadItems.call(this)},f._itemize=function(){for(var e=t.prototype._itemize.apply(this,arguments),n=0;nn&&(this.x=0,this.y=this.maxY);var r={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+e.size.outerHeight),this.x+=t,r},n._getContainerSize=function(){return{height:this.maxY}},t})},function(e,t,n){var r,o,i;!function(a,s){o=[n(121),n(754)],r=s,i="function"==typeof r?r.apply(t,o):r,!(void 0!==i&&(e.exports=i))}(window,function(e,t){"use strict";var n=e.create("masonry"),r=n.prototype,o={_getElementOffset:!0,layout:!0,_getMeasurement:!0};for(var i in t.prototype)o[i]||(r[i]=t.prototype[i]);var a=r.measureColumns;r.measureColumns=function(){this.items=this.isotope.filteredItems,a.call(this)};var s=r._getOption;return r._getOption=function(e){return"fitWidth"==e?void 0!==this.options.isFitWidth?this.options.isFitWidth:this.options.fitWidth:s.apply(this.isotope,arguments)},n})},function(e,t,n){var r,o,i;!function(a,s){o=[n(121)],r=s,i="function"==typeof r?r.apply(t,o):r,!(void 0!==i&&(e.exports=i))}(window,function(e){"use strict";var t=e.create("vertical",{horizontalAlignment:0}),n=t.prototype;return n._resetLayout=function(){this.y=0},n._getItemLayoutPosition=function(e){e.getSize();var t=(this.isotope.size.innerWidth-e.size.outerWidth)*this.options.horizontalAlignment,n=this.y;return this.y+=e.size.outerHeight,{x:t,y:n}},n._getContainerSize=function(){return{height:this.y}},t})},function(e,t,n){var r;!function(o){function i(e,t,n){var r,o,i,a,s,u,c,l,y,g=0,b=[],_=0,w=!1,E=[],x=[],P=!1,T=!1;if(n=n||{},r=n.encoding||"UTF8",y=n.numRounds||1,i=v(t,r),y!==parseInt(y,10)||1>y)throw Error("numRounds must a integer >= 1");if("SHA-1"===e)s=512,u=H,c=W,a=160,l=function(e){return e.slice()};else if(0===e.lastIndexOf("SHA-",0))if(u=function(t,n){return z(t,n,e)},c=function(t,n,r,o){var i,a;if("SHA-224"===e||"SHA-256"===e)i=(n+65>>>9<<4)+15,a=16;else{if("SHA-384"!==e&&"SHA-512"!==e)throw Error("Unexpected error in SHA-2 implementation");i=(n+129>>>10<<5)+31,a=32}for(;t.length<=i;)t.push(0);for(t[n>>>5]|=128<<24-n%32,n+=r,t[i]=4294967295&n,t[i-1]=n/4294967296|0,r=t.length,n=0;nt;t+=1)n[t]=e[t].slice();return n},"SHA3-224"===e)s=1152,a=224;else if("SHA3-256"===e)s=1088,a=256;else if("SHA3-384"===e)s=832,a=384;else if("SHA3-512"===e)s=576,a=512;else if("SHAKE128"===e)s=1344,a=-1,S=31,T=!0;else{if("SHAKE256"!==e)throw Error("Chosen SHA variant is not supported");s=1088,a=-1,S=31,T=!0}c=function(e,t,n,r,o){n=s;var i,a=S,u=[],c=n>>>5,l=0,f=t>>>5;for(i=0;i=n;i+=c)r=$(e.slice(i,i+c),r),t-=n;for(e=e.slice(i),t%=n;e.length>>3,e[i>>2]^=a<<24-i%4*8,e[c-1]^=128,r=$(e,r);32*u.length>8|e.b>>>24),!(32*u.length>=o));)u.push((255&e.a)<<24|(65280&e.a)<<8|(16711680&e.a)>>8|e.a>>>24),l+=1,0===64*l%n&&$(null,r);return u}}o=q(e),this.setHMACKey=function(t,n,i){var l;if(!0===w)throw Error("HMAC key already set");if(!0===P)throw Error("Cannot set HMAC key after calling update");if(!0===T)throw Error("SHAKE is not supported for HMAC");if(r=(i||{}).encoding||"UTF8",n=v(n,r)(t),t=n.binLen,n=n.value,l=s>>>3,i=l/4-1,lt/8){for(;n.length<=i;)n.push(0);n[i]&=4294967040}for(t=0;t<=i;t+=1)E[t]=909522486^n[t],x[t]=1549556828^n[t];o=u(E,o),g=s,w=!0},this.update=function(e){var t,n,r,a=0,c=s>>>5;for(t=i(e,b,_),e=t.binLen,n=t.value,t=e>>>5,r=0;r>>5),_=e%s,P=!0},this.getHash=function(t,n){var r,i,s,u;if(!0===w)throw Error("Cannot call getHash after setting HMAC key");if(s=m(n),!0===T){if(-1===s.shakeLen)throw Error("shakeLen must be specified in options");a=s.shakeLen}switch(t){case"HEX":r=function(e){return f(e,a,s)};break;case"B64":r=function(e){return p(e,a,s)};break;case"BYTES":r=function(e){return d(e,a)};break;case"ARRAYBUFFER":try{i=new ArrayBuffer(0)}catch(v){throw Error("ARRAYBUFFER not supported by this environment")}r=function(e){return h(e,a)};break;default:throw Error("format must be HEX, B64, BYTES, or ARRAYBUFFER")}for(u=c(b.slice(),_,g,l(o),a),i=1;i>>3,0!==u%2)throw Error("String of HEX type must be in byte increments");for(r=0;r>>1)+s,i=a>>>2;t.length<=i;)t.push(0);t[i]|=o<<8*(3-a%4)}return{value:t,binLen:4*u+n}}function u(e,t,n){var r,o,i,a,s=[],s=t||[0];for(n=n||0,o=n>>>3,r=0;r>>2,s.length<=i&&s.push(0),s[i]|=t<<8*(3-a%4);return{value:s,binLen:8*e.length+n}}function c(e,t,n){var r,o,i,a,s,u,c=[],l=0,c=t||[0];if(n=n||0,t=n>>>3,-1===e.search(/^[a-zA-Z0-9=+\/]+$/))throw Error("Invalid character in base-64 string");if(o=e.indexOf("="),e=e.replace(/\=/g,""),-1!==o&&o 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n\t args[_key - 2] = arguments[_key];\n\t }\n\t\n\t if (format === undefined) {\n\t throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n\t }\n\t\n\t if (format.indexOf('Failed Composite propType: ') === 0) {\n\t return; // Ignore CompositeComponent proptype check.\n\t }\n\t\n\t if (!condition) {\n\t var argIndex = 0;\n\t var message = 'Warning: ' + format.replace(/%s/g, function () {\n\t return args[argIndex++];\n\t });\n\t if (typeof console !== 'undefined') {\n\t console.error(message);\n\t }\n\t try {\n\t // --- Welcome to debugging React ---\n\t // This error was thrown as a convenience so that you can use this stack\n\t // to find the callsite that caused this warning to fire.\n\t throw new Error(message);\n\t } catch (x) {}\n\t }\n\t };\n\t}\n\t\n\tmodule.exports = warning;\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n\tvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n\t ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\n\tif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(exec){\n\t try {\n\t return !!exec();\n\t } catch(e){\n\t return true;\n\t }\n\t};\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(it){\n\t return typeof it === 'object' ? it !== null : typeof it === 'function';\n\t};\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar store = __webpack_require__(115)('wks')\n\t , uid = __webpack_require__(74)\n\t , Symbol = __webpack_require__(7).Symbol\n\t , USE_SYMBOL = typeof Symbol == 'function';\n\t\n\tvar $exports = module.exports = function(name){\n\t return store[name] || (store[name] =\n\t USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n\t};\n\t\n\t$exports.store = store;\n\n/***/ },\n/* 11 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t/* eslint-disable no-unused-vars */\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\t\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\t\n\t\treturn Object(val);\n\t}\n\t\n\tfunction shouldUseNative() {\n\t\ttry {\n\t\t\tif (!Object.assign) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// Detect buggy property enumeration order in older V8 versions.\n\t\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\t\tvar test1 = new String('abc'); // eslint-disable-line\n\t\t\ttest1[5] = 'de';\n\t\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\t\tvar test2 = {};\n\t\t\tfor (var i = 0; i < 10; i++) {\n\t\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t\t}\n\t\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\t\treturn test2[n];\n\t\t\t});\n\t\t\tif (order2.join('') !== '0123456789') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\t\tvar test3 = {};\n\t\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\t\ttest3[letter] = letter;\n\t\t\t});\n\t\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\t\treturn false;\n\t\t}\n\t}\n\t\n\tmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\t\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\t\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn to;\n\t};\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _ampache = __webpack_require__(375);\n\t\n\tObject.keys(_ampache).forEach(function (key) {\n\t if (key === \"default\" || key === \"__esModule\") return;\n\t Object.defineProperty(exports, key, {\n\t enumerable: true,\n\t get: function get() {\n\t return _ampache[key];\n\t }\n\t });\n\t});\n\t\n\tvar _immutable = __webpack_require__(376);\n\t\n\tObject.keys(_immutable).forEach(function (key) {\n\t if (key === \"default\" || key === \"__esModule\") return;\n\t Object.defineProperty(exports, key, {\n\t enumerable: true,\n\t get: function get() {\n\t return _immutable[key];\n\t }\n\t });\n\t});\n\t\n\tvar _locale = __webpack_require__(377);\n\t\n\tObject.keys(_locale).forEach(function (key) {\n\t if (key === \"default\" || key === \"__esModule\") return;\n\t Object.defineProperty(exports, key, {\n\t enumerable: true,\n\t get: function get() {\n\t return _locale[key];\n\t }\n\t });\n\t});\n\t\n\tvar _misc = __webpack_require__(378);\n\t\n\tObject.keys(_misc).forEach(function (key) {\n\t if (key === \"default\" || key === \"__esModule\") return;\n\t Object.defineProperty(exports, key, {\n\t enumerable: true,\n\t get: function get() {\n\t return _misc[key];\n\t }\n\t });\n\t});\n\t\n\tvar _pagination = __webpack_require__(379);\n\t\n\tObject.keys(_pagination).forEach(function (key) {\n\t if (key === \"default\" || key === \"__esModule\") return;\n\t Object.defineProperty(exports, key, {\n\t enumerable: true,\n\t get: function get() {\n\t return _pagination[key];\n\t }\n\t });\n\t});\n\t\n\tvar _reducers = __webpack_require__(380);\n\t\n\tObject.keys(_reducers).forEach(function (key) {\n\t if (key === \"default\" || key === \"__esModule\") return;\n\t Object.defineProperty(exports, key, {\n\t enumerable: true,\n\t get: function get() {\n\t return _reducers[key];\n\t }\n\t });\n\t});\n\t\n\tvar _url = __webpack_require__(381);\n\t\n\tObject.keys(_url).forEach(function (key) {\n\t if (key === \"default\" || key === \"__esModule\") return;\n\t Object.defineProperty(exports, key, {\n\t enumerable: true,\n\t get: function get() {\n\t return _url[key];\n\t }\n\t });\n\t});\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Thank's IE8 for his funny defineProperty\n\tmodule.exports = !__webpack_require__(8)(function(){\n\t return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n\t});\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar anObject = __webpack_require__(4)\n\t , IE8_DOM_DEFINE = __webpack_require__(225)\n\t , toPrimitive = __webpack_require__(43)\n\t , dP = Object.defineProperty;\n\t\n\texports.f = __webpack_require__(13) ? Object.defineProperty : function defineProperty(O, P, Attributes){\n\t anObject(O);\n\t P = toPrimitive(P, true);\n\t anObject(Attributes);\n\t if(IE8_DOM_DEFINE)try {\n\t return dP(O, P, Attributes);\n\t } catch(e){ /* empty */ }\n\t if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n\t if('value' in Attributes)O[P] = Attributes.value;\n\t return O;\n\t};\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2014-2015, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t */\n\t\n\t(function (global, factory) {\n\t true ? module.exports = factory() :\n\t typeof define === 'function' && define.amd ? define(factory) :\n\t (global.Immutable = factory());\n\t}(this, function () { 'use strict';var SLICE$0 = Array.prototype.slice;\n\t\n\t function createClass(ctor, superClass) {\n\t if (superClass) {\n\t ctor.prototype = Object.create(superClass.prototype);\n\t }\n\t ctor.prototype.constructor = ctor;\n\t }\n\t\n\t function Iterable(value) {\n\t return isIterable(value) ? value : Seq(value);\n\t }\n\t\n\t\n\t createClass(KeyedIterable, Iterable);\n\t function KeyedIterable(value) {\n\t return isKeyed(value) ? value : KeyedSeq(value);\n\t }\n\t\n\t\n\t createClass(IndexedIterable, Iterable);\n\t function IndexedIterable(value) {\n\t return isIndexed(value) ? value : IndexedSeq(value);\n\t }\n\t\n\t\n\t createClass(SetIterable, Iterable);\n\t function SetIterable(value) {\n\t return isIterable(value) && !isAssociative(value) ? value : SetSeq(value);\n\t }\n\t\n\t\n\t\n\t function isIterable(maybeIterable) {\n\t return !!(maybeIterable && maybeIterable[IS_ITERABLE_SENTINEL]);\n\t }\n\t\n\t function isKeyed(maybeKeyed) {\n\t return !!(maybeKeyed && maybeKeyed[IS_KEYED_SENTINEL]);\n\t }\n\t\n\t function isIndexed(maybeIndexed) {\n\t return !!(maybeIndexed && maybeIndexed[IS_INDEXED_SENTINEL]);\n\t }\n\t\n\t function isAssociative(maybeAssociative) {\n\t return isKeyed(maybeAssociative) || isIndexed(maybeAssociative);\n\t }\n\t\n\t function isOrdered(maybeOrdered) {\n\t return !!(maybeOrdered && maybeOrdered[IS_ORDERED_SENTINEL]);\n\t }\n\t\n\t Iterable.isIterable = isIterable;\n\t Iterable.isKeyed = isKeyed;\n\t Iterable.isIndexed = isIndexed;\n\t Iterable.isAssociative = isAssociative;\n\t Iterable.isOrdered = isOrdered;\n\t\n\t Iterable.Keyed = KeyedIterable;\n\t Iterable.Indexed = IndexedIterable;\n\t Iterable.Set = SetIterable;\n\t\n\t\n\t var IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';\n\t var IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';\n\t var IS_INDEXED_SENTINEL = '@@__IMMUTABLE_INDEXED__@@';\n\t var IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';\n\t\n\t // Used for setting prototype methods that IE8 chokes on.\n\t var DELETE = 'delete';\n\t\n\t // Constants describing the size of trie nodes.\n\t var SHIFT = 5; // Resulted in best performance after ______?\n\t var SIZE = 1 << SHIFT;\n\t var MASK = SIZE - 1;\n\t\n\t // A consistent shared value representing \"not set\" which equals nothing other\n\t // than itself, and nothing that could be provided externally.\n\t var NOT_SET = {};\n\t\n\t // Boolean references, Rough equivalent of `bool &`.\n\t var CHANGE_LENGTH = { value: false };\n\t var DID_ALTER = { value: false };\n\t\n\t function MakeRef(ref) {\n\t ref.value = false;\n\t return ref;\n\t }\n\t\n\t function SetRef(ref) {\n\t ref && (ref.value = true);\n\t }\n\t\n\t // A function which returns a value representing an \"owner\" for transient writes\n\t // to tries. The return value will only ever equal itself, and will not equal\n\t // the return of any subsequent call of this function.\n\t function OwnerID() {}\n\t\n\t // http://jsperf.com/copy-array-inline\n\t function arrCopy(arr, offset) {\n\t offset = offset || 0;\n\t var len = Math.max(0, arr.length - offset);\n\t var newArr = new Array(len);\n\t for (var ii = 0; ii < len; ii++) {\n\t newArr[ii] = arr[ii + offset];\n\t }\n\t return newArr;\n\t }\n\t\n\t function ensureSize(iter) {\n\t if (iter.size === undefined) {\n\t iter.size = iter.__iterate(returnTrue);\n\t }\n\t return iter.size;\n\t }\n\t\n\t function wrapIndex(iter, index) {\n\t // This implements \"is array index\" which the ECMAString spec defines as:\n\t //\n\t // A String property name P is an array index if and only if\n\t // ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal\n\t // to 2^32−1.\n\t //\n\t // http://www.ecma-international.org/ecma-262/6.0/#sec-array-exotic-objects\n\t if (typeof index !== 'number') {\n\t var uint32Index = index >>> 0; // N >>> 0 is shorthand for ToUint32\n\t if ('' + uint32Index !== index || uint32Index === 4294967295) {\n\t return NaN;\n\t }\n\t index = uint32Index;\n\t }\n\t return index < 0 ? ensureSize(iter) + index : index;\n\t }\n\t\n\t function returnTrue() {\n\t return true;\n\t }\n\t\n\t function wholeSlice(begin, end, size) {\n\t return (begin === 0 || (size !== undefined && begin <= -size)) &&\n\t (end === undefined || (size !== undefined && end >= size));\n\t }\n\t\n\t function resolveBegin(begin, size) {\n\t return resolveIndex(begin, size, 0);\n\t }\n\t\n\t function resolveEnd(end, size) {\n\t return resolveIndex(end, size, size);\n\t }\n\t\n\t function resolveIndex(index, size, defaultIndex) {\n\t return index === undefined ?\n\t defaultIndex :\n\t index < 0 ?\n\t Math.max(0, size + index) :\n\t size === undefined ?\n\t index :\n\t Math.min(size, index);\n\t }\n\t\n\t /* global Symbol */\n\t\n\t var ITERATE_KEYS = 0;\n\t var ITERATE_VALUES = 1;\n\t var ITERATE_ENTRIES = 2;\n\t\n\t var REAL_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n\t var FAUX_ITERATOR_SYMBOL = '@@iterator';\n\t\n\t var ITERATOR_SYMBOL = REAL_ITERATOR_SYMBOL || FAUX_ITERATOR_SYMBOL;\n\t\n\t\n\t function Iterator(next) {\n\t this.next = next;\n\t }\n\t\n\t Iterator.prototype.toString = function() {\n\t return '[Iterator]';\n\t };\n\t\n\t\n\t Iterator.KEYS = ITERATE_KEYS;\n\t Iterator.VALUES = ITERATE_VALUES;\n\t Iterator.ENTRIES = ITERATE_ENTRIES;\n\t\n\t Iterator.prototype.inspect =\n\t Iterator.prototype.toSource = function () { return this.toString(); }\n\t Iterator.prototype[ITERATOR_SYMBOL] = function () {\n\t return this;\n\t };\n\t\n\t\n\t function iteratorValue(type, k, v, iteratorResult) {\n\t var value = type === 0 ? k : type === 1 ? v : [k, v];\n\t iteratorResult ? (iteratorResult.value = value) : (iteratorResult = {\n\t value: value, done: false\n\t });\n\t return iteratorResult;\n\t }\n\t\n\t function iteratorDone() {\n\t return { value: undefined, done: true };\n\t }\n\t\n\t function hasIterator(maybeIterable) {\n\t return !!getIteratorFn(maybeIterable);\n\t }\n\t\n\t function isIterator(maybeIterator) {\n\t return maybeIterator && typeof maybeIterator.next === 'function';\n\t }\n\t\n\t function getIterator(iterable) {\n\t var iteratorFn = getIteratorFn(iterable);\n\t return iteratorFn && iteratorFn.call(iterable);\n\t }\n\t\n\t function getIteratorFn(iterable) {\n\t var iteratorFn = iterable && (\n\t (REAL_ITERATOR_SYMBOL && iterable[REAL_ITERATOR_SYMBOL]) ||\n\t iterable[FAUX_ITERATOR_SYMBOL]\n\t );\n\t if (typeof iteratorFn === 'function') {\n\t return iteratorFn;\n\t }\n\t }\n\t\n\t function isArrayLike(value) {\n\t return value && typeof value.length === 'number';\n\t }\n\t\n\t createClass(Seq, Iterable);\n\t function Seq(value) {\n\t return value === null || value === undefined ? emptySequence() :\n\t isIterable(value) ? value.toSeq() : seqFromValue(value);\n\t }\n\t\n\t Seq.of = function(/*...values*/) {\n\t return Seq(arguments);\n\t };\n\t\n\t Seq.prototype.toSeq = function() {\n\t return this;\n\t };\n\t\n\t Seq.prototype.toString = function() {\n\t return this.__toString('Seq {', '}');\n\t };\n\t\n\t Seq.prototype.cacheResult = function() {\n\t if (!this._cache && this.__iterateUncached) {\n\t this._cache = this.entrySeq().toArray();\n\t this.size = this._cache.length;\n\t }\n\t return this;\n\t };\n\t\n\t // abstract __iterateUncached(fn, reverse)\n\t\n\t Seq.prototype.__iterate = function(fn, reverse) {\n\t return seqIterate(this, fn, reverse, true);\n\t };\n\t\n\t // abstract __iteratorUncached(type, reverse)\n\t\n\t Seq.prototype.__iterator = function(type, reverse) {\n\t return seqIterator(this, type, reverse, true);\n\t };\n\t\n\t\n\t\n\t createClass(KeyedSeq, Seq);\n\t function KeyedSeq(value) {\n\t return value === null || value === undefined ?\n\t emptySequence().toKeyedSeq() :\n\t isIterable(value) ?\n\t (isKeyed(value) ? value.toSeq() : value.fromEntrySeq()) :\n\t keyedSeqFromValue(value);\n\t }\n\t\n\t KeyedSeq.prototype.toKeyedSeq = function() {\n\t return this;\n\t };\n\t\n\t\n\t\n\t createClass(IndexedSeq, Seq);\n\t function IndexedSeq(value) {\n\t return value === null || value === undefined ? emptySequence() :\n\t !isIterable(value) ? indexedSeqFromValue(value) :\n\t isKeyed(value) ? value.entrySeq() : value.toIndexedSeq();\n\t }\n\t\n\t IndexedSeq.of = function(/*...values*/) {\n\t return IndexedSeq(arguments);\n\t };\n\t\n\t IndexedSeq.prototype.toIndexedSeq = function() {\n\t return this;\n\t };\n\t\n\t IndexedSeq.prototype.toString = function() {\n\t return this.__toString('Seq [', ']');\n\t };\n\t\n\t IndexedSeq.prototype.__iterate = function(fn, reverse) {\n\t return seqIterate(this, fn, reverse, false);\n\t };\n\t\n\t IndexedSeq.prototype.__iterator = function(type, reverse) {\n\t return seqIterator(this, type, reverse, false);\n\t };\n\t\n\t\n\t\n\t createClass(SetSeq, Seq);\n\t function SetSeq(value) {\n\t return (\n\t value === null || value === undefined ? emptySequence() :\n\t !isIterable(value) ? indexedSeqFromValue(value) :\n\t isKeyed(value) ? value.entrySeq() : value\n\t ).toSetSeq();\n\t }\n\t\n\t SetSeq.of = function(/*...values*/) {\n\t return SetSeq(arguments);\n\t };\n\t\n\t SetSeq.prototype.toSetSeq = function() {\n\t return this;\n\t };\n\t\n\t\n\t\n\t Seq.isSeq = isSeq;\n\t Seq.Keyed = KeyedSeq;\n\t Seq.Set = SetSeq;\n\t Seq.Indexed = IndexedSeq;\n\t\n\t var IS_SEQ_SENTINEL = '@@__IMMUTABLE_SEQ__@@';\n\t\n\t Seq.prototype[IS_SEQ_SENTINEL] = true;\n\t\n\t\n\t\n\t createClass(ArraySeq, IndexedSeq);\n\t function ArraySeq(array) {\n\t this._array = array;\n\t this.size = array.length;\n\t }\n\t\n\t ArraySeq.prototype.get = function(index, notSetValue) {\n\t return this.has(index) ? this._array[wrapIndex(this, index)] : notSetValue;\n\t };\n\t\n\t ArraySeq.prototype.__iterate = function(fn, reverse) {\n\t var array = this._array;\n\t var maxIndex = array.length - 1;\n\t for (var ii = 0; ii <= maxIndex; ii++) {\n\t if (fn(array[reverse ? maxIndex - ii : ii], ii, this) === false) {\n\t return ii + 1;\n\t }\n\t }\n\t return ii;\n\t };\n\t\n\t ArraySeq.prototype.__iterator = function(type, reverse) {\n\t var array = this._array;\n\t var maxIndex = array.length - 1;\n\t var ii = 0;\n\t return new Iterator(function() \n\t {return ii > maxIndex ?\n\t iteratorDone() :\n\t iteratorValue(type, ii, array[reverse ? maxIndex - ii++ : ii++])}\n\t );\n\t };\n\t\n\t\n\t\n\t createClass(ObjectSeq, KeyedSeq);\n\t function ObjectSeq(object) {\n\t var keys = Object.keys(object);\n\t this._object = object;\n\t this._keys = keys;\n\t this.size = keys.length;\n\t }\n\t\n\t ObjectSeq.prototype.get = function(key, notSetValue) {\n\t if (notSetValue !== undefined && !this.has(key)) {\n\t return notSetValue;\n\t }\n\t return this._object[key];\n\t };\n\t\n\t ObjectSeq.prototype.has = function(key) {\n\t return this._object.hasOwnProperty(key);\n\t };\n\t\n\t ObjectSeq.prototype.__iterate = function(fn, reverse) {\n\t var object = this._object;\n\t var keys = this._keys;\n\t var maxIndex = keys.length - 1;\n\t for (var ii = 0; ii <= maxIndex; ii++) {\n\t var key = keys[reverse ? maxIndex - ii : ii];\n\t if (fn(object[key], key, this) === false) {\n\t return ii + 1;\n\t }\n\t }\n\t return ii;\n\t };\n\t\n\t ObjectSeq.prototype.__iterator = function(type, reverse) {\n\t var object = this._object;\n\t var keys = this._keys;\n\t var maxIndex = keys.length - 1;\n\t var ii = 0;\n\t return new Iterator(function() {\n\t var key = keys[reverse ? maxIndex - ii : ii];\n\t return ii++ > maxIndex ?\n\t iteratorDone() :\n\t iteratorValue(type, key, object[key]);\n\t });\n\t };\n\t\n\t ObjectSeq.prototype[IS_ORDERED_SENTINEL] = true;\n\t\n\t\n\t createClass(IterableSeq, IndexedSeq);\n\t function IterableSeq(iterable) {\n\t this._iterable = iterable;\n\t this.size = iterable.length || iterable.size;\n\t }\n\t\n\t IterableSeq.prototype.__iterateUncached = function(fn, reverse) {\n\t if (reverse) {\n\t return this.cacheResult().__iterate(fn, reverse);\n\t }\n\t var iterable = this._iterable;\n\t var iterator = getIterator(iterable);\n\t var iterations = 0;\n\t if (isIterator(iterator)) {\n\t var step;\n\t while (!(step = iterator.next()).done) {\n\t if (fn(step.value, iterations++, this) === false) {\n\t break;\n\t }\n\t }\n\t }\n\t return iterations;\n\t };\n\t\n\t IterableSeq.prototype.__iteratorUncached = function(type, reverse) {\n\t if (reverse) {\n\t return this.cacheResult().__iterator(type, reverse);\n\t }\n\t var iterable = this._iterable;\n\t var iterator = getIterator(iterable);\n\t if (!isIterator(iterator)) {\n\t return new Iterator(iteratorDone);\n\t }\n\t var iterations = 0;\n\t return new Iterator(function() {\n\t var step = iterator.next();\n\t return step.done ? step : iteratorValue(type, iterations++, step.value);\n\t });\n\t };\n\t\n\t\n\t\n\t createClass(IteratorSeq, IndexedSeq);\n\t function IteratorSeq(iterator) {\n\t this._iterator = iterator;\n\t this._iteratorCache = [];\n\t }\n\t\n\t IteratorSeq.prototype.__iterateUncached = function(fn, reverse) {\n\t if (reverse) {\n\t return this.cacheResult().__iterate(fn, reverse);\n\t }\n\t var iterator = this._iterator;\n\t var cache = this._iteratorCache;\n\t var iterations = 0;\n\t while (iterations < cache.length) {\n\t if (fn(cache[iterations], iterations++, this) === false) {\n\t return iterations;\n\t }\n\t }\n\t var step;\n\t while (!(step = iterator.next()).done) {\n\t var val = step.value;\n\t cache[iterations] = val;\n\t if (fn(val, iterations++, this) === false) {\n\t break;\n\t }\n\t }\n\t return iterations;\n\t };\n\t\n\t IteratorSeq.prototype.__iteratorUncached = function(type, reverse) {\n\t if (reverse) {\n\t return this.cacheResult().__iterator(type, reverse);\n\t }\n\t var iterator = this._iterator;\n\t var cache = this._iteratorCache;\n\t var iterations = 0;\n\t return new Iterator(function() {\n\t if (iterations >= cache.length) {\n\t var step = iterator.next();\n\t if (step.done) {\n\t return step;\n\t }\n\t cache[iterations] = step.value;\n\t }\n\t return iteratorValue(type, iterations, cache[iterations++]);\n\t });\n\t };\n\t\n\t\n\t\n\t\n\t // # pragma Helper functions\n\t\n\t function isSeq(maybeSeq) {\n\t return !!(maybeSeq && maybeSeq[IS_SEQ_SENTINEL]);\n\t }\n\t\n\t var EMPTY_SEQ;\n\t\n\t function emptySequence() {\n\t return EMPTY_SEQ || (EMPTY_SEQ = new ArraySeq([]));\n\t }\n\t\n\t function keyedSeqFromValue(value) {\n\t var seq =\n\t Array.isArray(value) ? new ArraySeq(value).fromEntrySeq() :\n\t isIterator(value) ? new IteratorSeq(value).fromEntrySeq() :\n\t hasIterator(value) ? new IterableSeq(value).fromEntrySeq() :\n\t typeof value === 'object' ? new ObjectSeq(value) :\n\t undefined;\n\t if (!seq) {\n\t throw new TypeError(\n\t 'Expected Array or iterable object of [k, v] entries, '+\n\t 'or keyed object: ' + value\n\t );\n\t }\n\t return seq;\n\t }\n\t\n\t function indexedSeqFromValue(value) {\n\t var seq = maybeIndexedSeqFromValue(value);\n\t if (!seq) {\n\t throw new TypeError(\n\t 'Expected Array or iterable object of values: ' + value\n\t );\n\t }\n\t return seq;\n\t }\n\t\n\t function seqFromValue(value) {\n\t var seq = maybeIndexedSeqFromValue(value) ||\n\t (typeof value === 'object' && new ObjectSeq(value));\n\t if (!seq) {\n\t throw new TypeError(\n\t 'Expected Array or iterable object of values, or keyed object: ' + value\n\t );\n\t }\n\t return seq;\n\t }\n\t\n\t function maybeIndexedSeqFromValue(value) {\n\t return (\n\t isArrayLike(value) ? new ArraySeq(value) :\n\t isIterator(value) ? new IteratorSeq(value) :\n\t hasIterator(value) ? new IterableSeq(value) :\n\t undefined\n\t );\n\t }\n\t\n\t function seqIterate(seq, fn, reverse, useKeys) {\n\t var cache = seq._cache;\n\t if (cache) {\n\t var maxIndex = cache.length - 1;\n\t for (var ii = 0; ii <= maxIndex; ii++) {\n\t var entry = cache[reverse ? maxIndex - ii : ii];\n\t if (fn(entry[1], useKeys ? entry[0] : ii, seq) === false) {\n\t return ii + 1;\n\t }\n\t }\n\t return ii;\n\t }\n\t return seq.__iterateUncached(fn, reverse);\n\t }\n\t\n\t function seqIterator(seq, type, reverse, useKeys) {\n\t var cache = seq._cache;\n\t if (cache) {\n\t var maxIndex = cache.length - 1;\n\t var ii = 0;\n\t return new Iterator(function() {\n\t var entry = cache[reverse ? maxIndex - ii : ii];\n\t return ii++ > maxIndex ?\n\t iteratorDone() :\n\t iteratorValue(type, useKeys ? entry[0] : ii - 1, entry[1]);\n\t });\n\t }\n\t return seq.__iteratorUncached(type, reverse);\n\t }\n\t\n\t function fromJS(json, converter) {\n\t return converter ?\n\t fromJSWith(converter, json, '', {'': json}) :\n\t fromJSDefault(json);\n\t }\n\t\n\t function fromJSWith(converter, json, key, parentJSON) {\n\t if (Array.isArray(json)) {\n\t return converter.call(parentJSON, key, IndexedSeq(json).map(function(v, k) {return fromJSWith(converter, v, k, json)}));\n\t }\n\t if (isPlainObj(json)) {\n\t return converter.call(parentJSON, key, KeyedSeq(json).map(function(v, k) {return fromJSWith(converter, v, k, json)}));\n\t }\n\t return json;\n\t }\n\t\n\t function fromJSDefault(json) {\n\t if (Array.isArray(json)) {\n\t return IndexedSeq(json).map(fromJSDefault).toList();\n\t }\n\t if (isPlainObj(json)) {\n\t return KeyedSeq(json).map(fromJSDefault).toMap();\n\t }\n\t return json;\n\t }\n\t\n\t function isPlainObj(value) {\n\t return value && (value.constructor === Object || value.constructor === undefined);\n\t }\n\t\n\t /**\n\t * An extension of the \"same-value\" algorithm as [described for use by ES6 Map\n\t * and Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Key_equality)\n\t *\n\t * NaN is considered the same as NaN, however -0 and 0 are considered the same\n\t * value, which is different from the algorithm described by\n\t * [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).\n\t *\n\t * This is extended further to allow Objects to describe the values they\n\t * represent, by way of `valueOf` or `equals` (and `hashCode`).\n\t *\n\t * Note: because of this extension, the key equality of Immutable.Map and the\n\t * value equality of Immutable.Set will differ from ES6 Map and Set.\n\t *\n\t * ### Defining custom values\n\t *\n\t * The easiest way to describe the value an object represents is by implementing\n\t * `valueOf`. For example, `Date` represents a value by returning a unix\n\t * timestamp for `valueOf`:\n\t *\n\t * var date1 = new Date(1234567890000); // Fri Feb 13 2009 ...\n\t * var date2 = new Date(1234567890000);\n\t * date1.valueOf(); // 1234567890000\n\t * assert( date1 !== date2 );\n\t * assert( Immutable.is( date1, date2 ) );\n\t *\n\t * Note: overriding `valueOf` may have other implications if you use this object\n\t * where JavaScript expects a primitive, such as implicit string coercion.\n\t *\n\t * For more complex types, especially collections, implementing `valueOf` may\n\t * not be performant. An alternative is to implement `equals` and `hashCode`.\n\t *\n\t * `equals` takes another object, presumably of similar type, and returns true\n\t * if the it is equal. Equality is symmetrical, so the same result should be\n\t * returned if this and the argument are flipped.\n\t *\n\t * assert( a.equals(b) === b.equals(a) );\n\t *\n\t * `hashCode` returns a 32bit integer number representing the object which will\n\t * be used to determine how to store the value object in a Map or Set. You must\n\t * provide both or neither methods, one must not exist without the other.\n\t *\n\t * Also, an important relationship between these methods must be upheld: if two\n\t * values are equal, they *must* return the same hashCode. If the values are not\n\t * equal, they might have the same hashCode; this is called a hash collision,\n\t * and while undesirable for performance reasons, it is acceptable.\n\t *\n\t * if (a.equals(b)) {\n\t * assert( a.hashCode() === b.hashCode() );\n\t * }\n\t *\n\t * All Immutable collections implement `equals` and `hashCode`.\n\t *\n\t */\n\t function is(valueA, valueB) {\n\t if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n\t return true;\n\t }\n\t if (!valueA || !valueB) {\n\t return false;\n\t }\n\t if (typeof valueA.valueOf === 'function' &&\n\t typeof valueB.valueOf === 'function') {\n\t valueA = valueA.valueOf();\n\t valueB = valueB.valueOf();\n\t if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n\t return true;\n\t }\n\t if (!valueA || !valueB) {\n\t return false;\n\t }\n\t }\n\t if (typeof valueA.equals === 'function' &&\n\t typeof valueB.equals === 'function' &&\n\t valueA.equals(valueB)) {\n\t return true;\n\t }\n\t return false;\n\t }\n\t\n\t function deepEqual(a, b) {\n\t if (a === b) {\n\t return true;\n\t }\n\t\n\t if (\n\t !isIterable(b) ||\n\t a.size !== undefined && b.size !== undefined && a.size !== b.size ||\n\t a.__hash !== undefined && b.__hash !== undefined && a.__hash !== b.__hash ||\n\t isKeyed(a) !== isKeyed(b) ||\n\t isIndexed(a) !== isIndexed(b) ||\n\t isOrdered(a) !== isOrdered(b)\n\t ) {\n\t return false;\n\t }\n\t\n\t if (a.size === 0 && b.size === 0) {\n\t return true;\n\t }\n\t\n\t var notAssociative = !isAssociative(a);\n\t\n\t if (isOrdered(a)) {\n\t var entries = a.entries();\n\t return b.every(function(v, k) {\n\t var entry = entries.next().value;\n\t return entry && is(entry[1], v) && (notAssociative || is(entry[0], k));\n\t }) && entries.next().done;\n\t }\n\t\n\t var flipped = false;\n\t\n\t if (a.size === undefined) {\n\t if (b.size === undefined) {\n\t if (typeof a.cacheResult === 'function') {\n\t a.cacheResult();\n\t }\n\t } else {\n\t flipped = true;\n\t var _ = a;\n\t a = b;\n\t b = _;\n\t }\n\t }\n\t\n\t var allEqual = true;\n\t var bSize = b.__iterate(function(v, k) {\n\t if (notAssociative ? !a.has(v) :\n\t flipped ? !is(v, a.get(k, NOT_SET)) : !is(a.get(k, NOT_SET), v)) {\n\t allEqual = false;\n\t return false;\n\t }\n\t });\n\t\n\t return allEqual && a.size === bSize;\n\t }\n\t\n\t createClass(Repeat, IndexedSeq);\n\t\n\t function Repeat(value, times) {\n\t if (!(this instanceof Repeat)) {\n\t return new Repeat(value, times);\n\t }\n\t this._value = value;\n\t this.size = times === undefined ? Infinity : Math.max(0, times);\n\t if (this.size === 0) {\n\t if (EMPTY_REPEAT) {\n\t return EMPTY_REPEAT;\n\t }\n\t EMPTY_REPEAT = this;\n\t }\n\t }\n\t\n\t Repeat.prototype.toString = function() {\n\t if (this.size === 0) {\n\t return 'Repeat []';\n\t }\n\t return 'Repeat [ ' + this._value + ' ' + this.size + ' times ]';\n\t };\n\t\n\t Repeat.prototype.get = function(index, notSetValue) {\n\t return this.has(index) ? this._value : notSetValue;\n\t };\n\t\n\t Repeat.prototype.includes = function(searchValue) {\n\t return is(this._value, searchValue);\n\t };\n\t\n\t Repeat.prototype.slice = function(begin, end) {\n\t var size = this.size;\n\t return wholeSlice(begin, end, size) ? this :\n\t new Repeat(this._value, resolveEnd(end, size) - resolveBegin(begin, size));\n\t };\n\t\n\t Repeat.prototype.reverse = function() {\n\t return this;\n\t };\n\t\n\t Repeat.prototype.indexOf = function(searchValue) {\n\t if (is(this._value, searchValue)) {\n\t return 0;\n\t }\n\t return -1;\n\t };\n\t\n\t Repeat.prototype.lastIndexOf = function(searchValue) {\n\t if (is(this._value, searchValue)) {\n\t return this.size;\n\t }\n\t return -1;\n\t };\n\t\n\t Repeat.prototype.__iterate = function(fn, reverse) {\n\t for (var ii = 0; ii < this.size; ii++) {\n\t if (fn(this._value, ii, this) === false) {\n\t return ii + 1;\n\t }\n\t }\n\t return ii;\n\t };\n\t\n\t Repeat.prototype.__iterator = function(type, reverse) {var this$0 = this;\n\t var ii = 0;\n\t return new Iterator(function() \n\t {return ii < this$0.size ? iteratorValue(type, ii++, this$0._value) : iteratorDone()}\n\t );\n\t };\n\t\n\t Repeat.prototype.equals = function(other) {\n\t return other instanceof Repeat ?\n\t is(this._value, other._value) :\n\t deepEqual(other);\n\t };\n\t\n\t\n\t var EMPTY_REPEAT;\n\t\n\t function invariant(condition, error) {\n\t if (!condition) throw new Error(error);\n\t }\n\t\n\t createClass(Range, IndexedSeq);\n\t\n\t function Range(start, end, step) {\n\t if (!(this instanceof Range)) {\n\t return new Range(start, end, step);\n\t }\n\t invariant(step !== 0, 'Cannot step a Range by 0');\n\t start = start || 0;\n\t if (end === undefined) {\n\t end = Infinity;\n\t }\n\t step = step === undefined ? 1 : Math.abs(step);\n\t if (end < start) {\n\t step = -step;\n\t }\n\t this._start = start;\n\t this._end = end;\n\t this._step = step;\n\t this.size = Math.max(0, Math.ceil((end - start) / step - 1) + 1);\n\t if (this.size === 0) {\n\t if (EMPTY_RANGE) {\n\t return EMPTY_RANGE;\n\t }\n\t EMPTY_RANGE = this;\n\t }\n\t }\n\t\n\t Range.prototype.toString = function() {\n\t if (this.size === 0) {\n\t return 'Range []';\n\t }\n\t return 'Range [ ' +\n\t this._start + '...' + this._end +\n\t (this._step !== 1 ? ' by ' + this._step : '') +\n\t ' ]';\n\t };\n\t\n\t Range.prototype.get = function(index, notSetValue) {\n\t return this.has(index) ?\n\t this._start + wrapIndex(this, index) * this._step :\n\t notSetValue;\n\t };\n\t\n\t Range.prototype.includes = function(searchValue) {\n\t var possibleIndex = (searchValue - this._start) / this._step;\n\t return possibleIndex >= 0 &&\n\t possibleIndex < this.size &&\n\t possibleIndex === Math.floor(possibleIndex);\n\t };\n\t\n\t Range.prototype.slice = function(begin, end) {\n\t if (wholeSlice(begin, end, this.size)) {\n\t return this;\n\t }\n\t begin = resolveBegin(begin, this.size);\n\t end = resolveEnd(end, this.size);\n\t if (end <= begin) {\n\t return new Range(0, 0);\n\t }\n\t return new Range(this.get(begin, this._end), this.get(end, this._end), this._step);\n\t };\n\t\n\t Range.prototype.indexOf = function(searchValue) {\n\t var offsetValue = searchValue - this._start;\n\t if (offsetValue % this._step === 0) {\n\t var index = offsetValue / this._step;\n\t if (index >= 0 && index < this.size) {\n\t return index\n\t }\n\t }\n\t return -1;\n\t };\n\t\n\t Range.prototype.lastIndexOf = function(searchValue) {\n\t return this.indexOf(searchValue);\n\t };\n\t\n\t Range.prototype.__iterate = function(fn, reverse) {\n\t var maxIndex = this.size - 1;\n\t var step = this._step;\n\t var value = reverse ? this._start + maxIndex * step : this._start;\n\t for (var ii = 0; ii <= maxIndex; ii++) {\n\t if (fn(value, ii, this) === false) {\n\t return ii + 1;\n\t }\n\t value += reverse ? -step : step;\n\t }\n\t return ii;\n\t };\n\t\n\t Range.prototype.__iterator = function(type, reverse) {\n\t var maxIndex = this.size - 1;\n\t var step = this._step;\n\t var value = reverse ? this._start + maxIndex * step : this._start;\n\t var ii = 0;\n\t return new Iterator(function() {\n\t var v = value;\n\t value += reverse ? -step : step;\n\t return ii > maxIndex ? iteratorDone() : iteratorValue(type, ii++, v);\n\t });\n\t };\n\t\n\t Range.prototype.equals = function(other) {\n\t return other instanceof Range ?\n\t this._start === other._start &&\n\t this._end === other._end &&\n\t this._step === other._step :\n\t deepEqual(this, other);\n\t };\n\t\n\t\n\t var EMPTY_RANGE;\n\t\n\t createClass(Collection, Iterable);\n\t function Collection() {\n\t throw TypeError('Abstract');\n\t }\n\t\n\t\n\t createClass(KeyedCollection, Collection);function KeyedCollection() {}\n\t\n\t createClass(IndexedCollection, Collection);function IndexedCollection() {}\n\t\n\t createClass(SetCollection, Collection);function SetCollection() {}\n\t\n\t\n\t Collection.Keyed = KeyedCollection;\n\t Collection.Indexed = IndexedCollection;\n\t Collection.Set = SetCollection;\n\t\n\t var imul =\n\t typeof Math.imul === 'function' && Math.imul(0xffffffff, 2) === -2 ?\n\t Math.imul :\n\t function imul(a, b) {\n\t a = a | 0; // int\n\t b = b | 0; // int\n\t var c = a & 0xffff;\n\t var d = b & 0xffff;\n\t // Shift by 0 fixes the sign on the high part.\n\t return (c * d) + ((((a >>> 16) * d + c * (b >>> 16)) << 16) >>> 0) | 0; // int\n\t };\n\t\n\t // v8 has an optimization for storing 31-bit signed numbers.\n\t // Values which have either 00 or 11 as the high order bits qualify.\n\t // This function drops the highest order bit in a signed number, maintaining\n\t // the sign bit.\n\t function smi(i32) {\n\t return ((i32 >>> 1) & 0x40000000) | (i32 & 0xBFFFFFFF);\n\t }\n\t\n\t function hash(o) {\n\t if (o === false || o === null || o === undefined) {\n\t return 0;\n\t }\n\t if (typeof o.valueOf === 'function') {\n\t o = o.valueOf();\n\t if (o === false || o === null || o === undefined) {\n\t return 0;\n\t }\n\t }\n\t if (o === true) {\n\t return 1;\n\t }\n\t var type = typeof o;\n\t if (type === 'number') {\n\t if (o !== o || o === Infinity) {\n\t return 0;\n\t }\n\t var h = o | 0;\n\t if (h !== o) {\n\t h ^= o * 0xFFFFFFFF;\n\t }\n\t while (o > 0xFFFFFFFF) {\n\t o /= 0xFFFFFFFF;\n\t h ^= o;\n\t }\n\t return smi(h);\n\t }\n\t if (type === 'string') {\n\t return o.length > STRING_HASH_CACHE_MIN_STRLEN ? cachedHashString(o) : hashString(o);\n\t }\n\t if (typeof o.hashCode === 'function') {\n\t return o.hashCode();\n\t }\n\t if (type === 'object') {\n\t return hashJSObj(o);\n\t }\n\t if (typeof o.toString === 'function') {\n\t return hashString(o.toString());\n\t }\n\t throw new Error('Value type ' + type + ' cannot be hashed.');\n\t }\n\t\n\t function cachedHashString(string) {\n\t var hash = stringHashCache[string];\n\t if (hash === undefined) {\n\t hash = hashString(string);\n\t if (STRING_HASH_CACHE_SIZE === STRING_HASH_CACHE_MAX_SIZE) {\n\t STRING_HASH_CACHE_SIZE = 0;\n\t stringHashCache = {};\n\t }\n\t STRING_HASH_CACHE_SIZE++;\n\t stringHashCache[string] = hash;\n\t }\n\t return hash;\n\t }\n\t\n\t // http://jsperf.com/hashing-strings\n\t function hashString(string) {\n\t // This is the hash from JVM\n\t // The hash code for a string is computed as\n\t // s[0] * 31 ^ (n - 1) + s[1] * 31 ^ (n - 2) + ... + s[n - 1],\n\t // where s[i] is the ith character of the string and n is the length of\n\t // the string. We \"mod\" the result to make it between 0 (inclusive) and 2^31\n\t // (exclusive) by dropping high bits.\n\t var hash = 0;\n\t for (var ii = 0; ii < string.length; ii++) {\n\t hash = 31 * hash + string.charCodeAt(ii) | 0;\n\t }\n\t return smi(hash);\n\t }\n\t\n\t function hashJSObj(obj) {\n\t var hash;\n\t if (usingWeakMap) {\n\t hash = weakMap.get(obj);\n\t if (hash !== undefined) {\n\t return hash;\n\t }\n\t }\n\t\n\t hash = obj[UID_HASH_KEY];\n\t if (hash !== undefined) {\n\t return hash;\n\t }\n\t\n\t if (!canDefineProperty) {\n\t hash = obj.propertyIsEnumerable && obj.propertyIsEnumerable[UID_HASH_KEY];\n\t if (hash !== undefined) {\n\t return hash;\n\t }\n\t\n\t hash = getIENodeHash(obj);\n\t if (hash !== undefined) {\n\t return hash;\n\t }\n\t }\n\t\n\t hash = ++objHashUID;\n\t if (objHashUID & 0x40000000) {\n\t objHashUID = 0;\n\t }\n\t\n\t if (usingWeakMap) {\n\t weakMap.set(obj, hash);\n\t } else if (isExtensible !== undefined && isExtensible(obj) === false) {\n\t throw new Error('Non-extensible objects are not allowed as keys.');\n\t } else if (canDefineProperty) {\n\t Object.defineProperty(obj, UID_HASH_KEY, {\n\t 'enumerable': false,\n\t 'configurable': false,\n\t 'writable': false,\n\t 'value': hash\n\t });\n\t } else if (obj.propertyIsEnumerable !== undefined &&\n\t obj.propertyIsEnumerable === obj.constructor.prototype.propertyIsEnumerable) {\n\t // Since we can't define a non-enumerable property on the object\n\t // we'll hijack one of the less-used non-enumerable properties to\n\t // save our hash on it. Since this is a function it will not show up in\n\t // `JSON.stringify` which is what we want.\n\t obj.propertyIsEnumerable = function() {\n\t return this.constructor.prototype.propertyIsEnumerable.apply(this, arguments);\n\t };\n\t obj.propertyIsEnumerable[UID_HASH_KEY] = hash;\n\t } else if (obj.nodeType !== undefined) {\n\t // At this point we couldn't get the IE `uniqueID` to use as a hash\n\t // and we couldn't use a non-enumerable property to exploit the\n\t // dontEnum bug so we simply add the `UID_HASH_KEY` on the node\n\t // itself.\n\t obj[UID_HASH_KEY] = hash;\n\t } else {\n\t throw new Error('Unable to set a non-enumerable property on object.');\n\t }\n\t\n\t return hash;\n\t }\n\t\n\t // Get references to ES5 object methods.\n\t var isExtensible = Object.isExtensible;\n\t\n\t // True if Object.defineProperty works as expected. IE8 fails this test.\n\t var canDefineProperty = (function() {\n\t try {\n\t Object.defineProperty({}, '@', {});\n\t return true;\n\t } catch (e) {\n\t return false;\n\t }\n\t }());\n\t\n\t // IE has a `uniqueID` property on DOM nodes. We can construct the hash from it\n\t // and avoid memory leaks from the IE cloneNode bug.\n\t function getIENodeHash(node) {\n\t if (node && node.nodeType > 0) {\n\t switch (node.nodeType) {\n\t case 1: // Element\n\t return node.uniqueID;\n\t case 9: // Document\n\t return node.documentElement && node.documentElement.uniqueID;\n\t }\n\t }\n\t }\n\t\n\t // If possible, use a WeakMap.\n\t var usingWeakMap = typeof WeakMap === 'function';\n\t var weakMap;\n\t if (usingWeakMap) {\n\t weakMap = new WeakMap();\n\t }\n\t\n\t var objHashUID = 0;\n\t\n\t var UID_HASH_KEY = '__immutablehash__';\n\t if (typeof Symbol === 'function') {\n\t UID_HASH_KEY = Symbol(UID_HASH_KEY);\n\t }\n\t\n\t var STRING_HASH_CACHE_MIN_STRLEN = 16;\n\t var STRING_HASH_CACHE_MAX_SIZE = 255;\n\t var STRING_HASH_CACHE_SIZE = 0;\n\t var stringHashCache = {};\n\t\n\t function assertNotInfinite(size) {\n\t invariant(\n\t size !== Infinity,\n\t 'Cannot perform this action with an infinite size.'\n\t );\n\t }\n\t\n\t createClass(Map, KeyedCollection);\n\t\n\t // @pragma Construction\n\t\n\t function Map(value) {\n\t return value === null || value === undefined ? emptyMap() :\n\t isMap(value) && !isOrdered(value) ? value :\n\t emptyMap().withMutations(function(map ) {\n\t var iter = KeyedIterable(value);\n\t assertNotInfinite(iter.size);\n\t iter.forEach(function(v, k) {return map.set(k, v)});\n\t });\n\t }\n\t\n\t Map.of = function() {var keyValues = SLICE$0.call(arguments, 0);\n\t return emptyMap().withMutations(function(map ) {\n\t for (var i = 0; i < keyValues.length; i += 2) {\n\t if (i + 1 >= keyValues.length) {\n\t throw new Error('Missing value for key: ' + keyValues[i]);\n\t }\n\t map.set(keyValues[i], keyValues[i + 1]);\n\t }\n\t });\n\t };\n\t\n\t Map.prototype.toString = function() {\n\t return this.__toString('Map {', '}');\n\t };\n\t\n\t // @pragma Access\n\t\n\t Map.prototype.get = function(k, notSetValue) {\n\t return this._root ?\n\t this._root.get(0, undefined, k, notSetValue) :\n\t notSetValue;\n\t };\n\t\n\t // @pragma Modification\n\t\n\t Map.prototype.set = function(k, v) {\n\t return updateMap(this, k, v);\n\t };\n\t\n\t Map.prototype.setIn = function(keyPath, v) {\n\t return this.updateIn(keyPath, NOT_SET, function() {return v});\n\t };\n\t\n\t Map.prototype.remove = function(k) {\n\t return updateMap(this, k, NOT_SET);\n\t };\n\t\n\t Map.prototype.deleteIn = function(keyPath) {\n\t return this.updateIn(keyPath, function() {return NOT_SET});\n\t };\n\t\n\t Map.prototype.update = function(k, notSetValue, updater) {\n\t return arguments.length === 1 ?\n\t k(this) :\n\t this.updateIn([k], notSetValue, updater);\n\t };\n\t\n\t Map.prototype.updateIn = function(keyPath, notSetValue, updater) {\n\t if (!updater) {\n\t updater = notSetValue;\n\t notSetValue = undefined;\n\t }\n\t var updatedValue = updateInDeepMap(\n\t this,\n\t forceIterator(keyPath),\n\t notSetValue,\n\t updater\n\t );\n\t return updatedValue === NOT_SET ? undefined : updatedValue;\n\t };\n\t\n\t Map.prototype.clear = function() {\n\t if (this.size === 0) {\n\t return this;\n\t }\n\t if (this.__ownerID) {\n\t this.size = 0;\n\t this._root = null;\n\t this.__hash = undefined;\n\t this.__altered = true;\n\t return this;\n\t }\n\t return emptyMap();\n\t };\n\t\n\t // @pragma Composition\n\t\n\t Map.prototype.merge = function(/*...iters*/) {\n\t return mergeIntoMapWith(this, undefined, arguments);\n\t };\n\t\n\t Map.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n\t return mergeIntoMapWith(this, merger, iters);\n\t };\n\t\n\t Map.prototype.mergeIn = function(keyPath) {var iters = SLICE$0.call(arguments, 1);\n\t return this.updateIn(\n\t keyPath,\n\t emptyMap(),\n\t function(m ) {return typeof m.merge === 'function' ?\n\t m.merge.apply(m, iters) :\n\t iters[iters.length - 1]}\n\t );\n\t };\n\t\n\t Map.prototype.mergeDeep = function(/*...iters*/) {\n\t return mergeIntoMapWith(this, deepMerger, arguments);\n\t };\n\t\n\t Map.prototype.mergeDeepWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n\t return mergeIntoMapWith(this, deepMergerWith(merger), iters);\n\t };\n\t\n\t Map.prototype.mergeDeepIn = function(keyPath) {var iters = SLICE$0.call(arguments, 1);\n\t return this.updateIn(\n\t keyPath,\n\t emptyMap(),\n\t function(m ) {return typeof m.mergeDeep === 'function' ?\n\t m.mergeDeep.apply(m, iters) :\n\t iters[iters.length - 1]}\n\t );\n\t };\n\t\n\t Map.prototype.sort = function(comparator) {\n\t // Late binding\n\t return OrderedMap(sortFactory(this, comparator));\n\t };\n\t\n\t Map.prototype.sortBy = function(mapper, comparator) {\n\t // Late binding\n\t return OrderedMap(sortFactory(this, comparator, mapper));\n\t };\n\t\n\t // @pragma Mutability\n\t\n\t Map.prototype.withMutations = function(fn) {\n\t var mutable = this.asMutable();\n\t fn(mutable);\n\t return mutable.wasAltered() ? mutable.__ensureOwner(this.__ownerID) : this;\n\t };\n\t\n\t Map.prototype.asMutable = function() {\n\t return this.__ownerID ? this : this.__ensureOwner(new OwnerID());\n\t };\n\t\n\t Map.prototype.asImmutable = function() {\n\t return this.__ensureOwner();\n\t };\n\t\n\t Map.prototype.wasAltered = function() {\n\t return this.__altered;\n\t };\n\t\n\t Map.prototype.__iterator = function(type, reverse) {\n\t return new MapIterator(this, type, reverse);\n\t };\n\t\n\t Map.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n\t var iterations = 0;\n\t this._root && this._root.iterate(function(entry ) {\n\t iterations++;\n\t return fn(entry[1], entry[0], this$0);\n\t }, reverse);\n\t return iterations;\n\t };\n\t\n\t Map.prototype.__ensureOwner = function(ownerID) {\n\t if (ownerID === this.__ownerID) {\n\t return this;\n\t }\n\t if (!ownerID) {\n\t this.__ownerID = ownerID;\n\t this.__altered = false;\n\t return this;\n\t }\n\t return makeMap(this.size, this._root, ownerID, this.__hash);\n\t };\n\t\n\t\n\t function isMap(maybeMap) {\n\t return !!(maybeMap && maybeMap[IS_MAP_SENTINEL]);\n\t }\n\t\n\t Map.isMap = isMap;\n\t\n\t var IS_MAP_SENTINEL = '@@__IMMUTABLE_MAP__@@';\n\t\n\t var MapPrototype = Map.prototype;\n\t MapPrototype[IS_MAP_SENTINEL] = true;\n\t MapPrototype[DELETE] = MapPrototype.remove;\n\t MapPrototype.removeIn = MapPrototype.deleteIn;\n\t\n\t\n\t // #pragma Trie Nodes\n\t\n\t\n\t\n\t function ArrayMapNode(ownerID, entries) {\n\t this.ownerID = ownerID;\n\t this.entries = entries;\n\t }\n\t\n\t ArrayMapNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n\t var entries = this.entries;\n\t for (var ii = 0, len = entries.length; ii < len; ii++) {\n\t if (is(key, entries[ii][0])) {\n\t return entries[ii][1];\n\t }\n\t }\n\t return notSetValue;\n\t };\n\t\n\t ArrayMapNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n\t var removed = value === NOT_SET;\n\t\n\t var entries = this.entries;\n\t var idx = 0;\n\t for (var len = entries.length; idx < len; idx++) {\n\t if (is(key, entries[idx][0])) {\n\t break;\n\t }\n\t }\n\t var exists = idx < len;\n\t\n\t if (exists ? entries[idx][1] === value : removed) {\n\t return this;\n\t }\n\t\n\t SetRef(didAlter);\n\t (removed || !exists) && SetRef(didChangeSize);\n\t\n\t if (removed && entries.length === 1) {\n\t return; // undefined\n\t }\n\t\n\t if (!exists && !removed && entries.length >= MAX_ARRAY_MAP_SIZE) {\n\t return createNodes(ownerID, entries, key, value);\n\t }\n\t\n\t var isEditable = ownerID && ownerID === this.ownerID;\n\t var newEntries = isEditable ? entries : arrCopy(entries);\n\t\n\t if (exists) {\n\t if (removed) {\n\t idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop());\n\t } else {\n\t newEntries[idx] = [key, value];\n\t }\n\t } else {\n\t newEntries.push([key, value]);\n\t }\n\t\n\t if (isEditable) {\n\t this.entries = newEntries;\n\t return this;\n\t }\n\t\n\t return new ArrayMapNode(ownerID, newEntries);\n\t };\n\t\n\t\n\t\n\t\n\t function BitmapIndexedNode(ownerID, bitmap, nodes) {\n\t this.ownerID = ownerID;\n\t this.bitmap = bitmap;\n\t this.nodes = nodes;\n\t }\n\t\n\t BitmapIndexedNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n\t if (keyHash === undefined) {\n\t keyHash = hash(key);\n\t }\n\t var bit = (1 << ((shift === 0 ? keyHash : keyHash >>> shift) & MASK));\n\t var bitmap = this.bitmap;\n\t return (bitmap & bit) === 0 ? notSetValue :\n\t this.nodes[popCount(bitmap & (bit - 1))].get(shift + SHIFT, keyHash, key, notSetValue);\n\t };\n\t\n\t BitmapIndexedNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n\t if (keyHash === undefined) {\n\t keyHash = hash(key);\n\t }\n\t var keyHashFrag = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n\t var bit = 1 << keyHashFrag;\n\t var bitmap = this.bitmap;\n\t var exists = (bitmap & bit) !== 0;\n\t\n\t if (!exists && value === NOT_SET) {\n\t return this;\n\t }\n\t\n\t var idx = popCount(bitmap & (bit - 1));\n\t var nodes = this.nodes;\n\t var node = exists ? nodes[idx] : undefined;\n\t var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter);\n\t\n\t if (newNode === node) {\n\t return this;\n\t }\n\t\n\t if (!exists && newNode && nodes.length >= MAX_BITMAP_INDEXED_SIZE) {\n\t return expandNodes(ownerID, nodes, bitmap, keyHashFrag, newNode);\n\t }\n\t\n\t if (exists && !newNode && nodes.length === 2 && isLeafNode(nodes[idx ^ 1])) {\n\t return nodes[idx ^ 1];\n\t }\n\t\n\t if (exists && newNode && nodes.length === 1 && isLeafNode(newNode)) {\n\t return newNode;\n\t }\n\t\n\t var isEditable = ownerID && ownerID === this.ownerID;\n\t var newBitmap = exists ? newNode ? bitmap : bitmap ^ bit : bitmap | bit;\n\t var newNodes = exists ? newNode ?\n\t setIn(nodes, idx, newNode, isEditable) :\n\t spliceOut(nodes, idx, isEditable) :\n\t spliceIn(nodes, idx, newNode, isEditable);\n\t\n\t if (isEditable) {\n\t this.bitmap = newBitmap;\n\t this.nodes = newNodes;\n\t return this;\n\t }\n\t\n\t return new BitmapIndexedNode(ownerID, newBitmap, newNodes);\n\t };\n\t\n\t\n\t\n\t\n\t function HashArrayMapNode(ownerID, count, nodes) {\n\t this.ownerID = ownerID;\n\t this.count = count;\n\t this.nodes = nodes;\n\t }\n\t\n\t HashArrayMapNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n\t if (keyHash === undefined) {\n\t keyHash = hash(key);\n\t }\n\t var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n\t var node = this.nodes[idx];\n\t return node ? node.get(shift + SHIFT, keyHash, key, notSetValue) : notSetValue;\n\t };\n\t\n\t HashArrayMapNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n\t if (keyHash === undefined) {\n\t keyHash = hash(key);\n\t }\n\t var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n\t var removed = value === NOT_SET;\n\t var nodes = this.nodes;\n\t var node = nodes[idx];\n\t\n\t if (removed && !node) {\n\t return this;\n\t }\n\t\n\t var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter);\n\t if (newNode === node) {\n\t return this;\n\t }\n\t\n\t var newCount = this.count;\n\t if (!node) {\n\t newCount++;\n\t } else if (!newNode) {\n\t newCount--;\n\t if (newCount < MIN_HASH_ARRAY_MAP_SIZE) {\n\t return packNodes(ownerID, nodes, newCount, idx);\n\t }\n\t }\n\t\n\t var isEditable = ownerID && ownerID === this.ownerID;\n\t var newNodes = setIn(nodes, idx, newNode, isEditable);\n\t\n\t if (isEditable) {\n\t this.count = newCount;\n\t this.nodes = newNodes;\n\t return this;\n\t }\n\t\n\t return new HashArrayMapNode(ownerID, newCount, newNodes);\n\t };\n\t\n\t\n\t\n\t\n\t function HashCollisionNode(ownerID, keyHash, entries) {\n\t this.ownerID = ownerID;\n\t this.keyHash = keyHash;\n\t this.entries = entries;\n\t }\n\t\n\t HashCollisionNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n\t var entries = this.entries;\n\t for (var ii = 0, len = entries.length; ii < len; ii++) {\n\t if (is(key, entries[ii][0])) {\n\t return entries[ii][1];\n\t }\n\t }\n\t return notSetValue;\n\t };\n\t\n\t HashCollisionNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n\t if (keyHash === undefined) {\n\t keyHash = hash(key);\n\t }\n\t\n\t var removed = value === NOT_SET;\n\t\n\t if (keyHash !== this.keyHash) {\n\t if (removed) {\n\t return this;\n\t }\n\t SetRef(didAlter);\n\t SetRef(didChangeSize);\n\t return mergeIntoNode(this, ownerID, shift, keyHash, [key, value]);\n\t }\n\t\n\t var entries = this.entries;\n\t var idx = 0;\n\t for (var len = entries.length; idx < len; idx++) {\n\t if (is(key, entries[idx][0])) {\n\t break;\n\t }\n\t }\n\t var exists = idx < len;\n\t\n\t if (exists ? entries[idx][1] === value : removed) {\n\t return this;\n\t }\n\t\n\t SetRef(didAlter);\n\t (removed || !exists) && SetRef(didChangeSize);\n\t\n\t if (removed && len === 2) {\n\t return new ValueNode(ownerID, this.keyHash, entries[idx ^ 1]);\n\t }\n\t\n\t var isEditable = ownerID && ownerID === this.ownerID;\n\t var newEntries = isEditable ? entries : arrCopy(entries);\n\t\n\t if (exists) {\n\t if (removed) {\n\t idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop());\n\t } else {\n\t newEntries[idx] = [key, value];\n\t }\n\t } else {\n\t newEntries.push([key, value]);\n\t }\n\t\n\t if (isEditable) {\n\t this.entries = newEntries;\n\t return this;\n\t }\n\t\n\t return new HashCollisionNode(ownerID, this.keyHash, newEntries);\n\t };\n\t\n\t\n\t\n\t\n\t function ValueNode(ownerID, keyHash, entry) {\n\t this.ownerID = ownerID;\n\t this.keyHash = keyHash;\n\t this.entry = entry;\n\t }\n\t\n\t ValueNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n\t return is(key, this.entry[0]) ? this.entry[1] : notSetValue;\n\t };\n\t\n\t ValueNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n\t var removed = value === NOT_SET;\n\t var keyMatch = is(key, this.entry[0]);\n\t if (keyMatch ? value === this.entry[1] : removed) {\n\t return this;\n\t }\n\t\n\t SetRef(didAlter);\n\t\n\t if (removed) {\n\t SetRef(didChangeSize);\n\t return; // undefined\n\t }\n\t\n\t if (keyMatch) {\n\t if (ownerID && ownerID === this.ownerID) {\n\t this.entry[1] = value;\n\t return this;\n\t }\n\t return new ValueNode(ownerID, this.keyHash, [key, value]);\n\t }\n\t\n\t SetRef(didChangeSize);\n\t return mergeIntoNode(this, ownerID, shift, hash(key), [key, value]);\n\t };\n\t\n\t\n\t\n\t // #pragma Iterators\n\t\n\t ArrayMapNode.prototype.iterate =\n\t HashCollisionNode.prototype.iterate = function (fn, reverse) {\n\t var entries = this.entries;\n\t for (var ii = 0, maxIndex = entries.length - 1; ii <= maxIndex; ii++) {\n\t if (fn(entries[reverse ? maxIndex - ii : ii]) === false) {\n\t return false;\n\t }\n\t }\n\t }\n\t\n\t BitmapIndexedNode.prototype.iterate =\n\t HashArrayMapNode.prototype.iterate = function (fn, reverse) {\n\t var nodes = this.nodes;\n\t for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) {\n\t var node = nodes[reverse ? maxIndex - ii : ii];\n\t if (node && node.iterate(fn, reverse) === false) {\n\t return false;\n\t }\n\t }\n\t }\n\t\n\t ValueNode.prototype.iterate = function (fn, reverse) {\n\t return fn(this.entry);\n\t }\n\t\n\t createClass(MapIterator, Iterator);\n\t\n\t function MapIterator(map, type, reverse) {\n\t this._type = type;\n\t this._reverse = reverse;\n\t this._stack = map._root && mapIteratorFrame(map._root);\n\t }\n\t\n\t MapIterator.prototype.next = function() {\n\t var type = this._type;\n\t var stack = this._stack;\n\t while (stack) {\n\t var node = stack.node;\n\t var index = stack.index++;\n\t var maxIndex;\n\t if (node.entry) {\n\t if (index === 0) {\n\t return mapIteratorValue(type, node.entry);\n\t }\n\t } else if (node.entries) {\n\t maxIndex = node.entries.length - 1;\n\t if (index <= maxIndex) {\n\t return mapIteratorValue(type, node.entries[this._reverse ? maxIndex - index : index]);\n\t }\n\t } else {\n\t maxIndex = node.nodes.length - 1;\n\t if (index <= maxIndex) {\n\t var subNode = node.nodes[this._reverse ? maxIndex - index : index];\n\t if (subNode) {\n\t if (subNode.entry) {\n\t return mapIteratorValue(type, subNode.entry);\n\t }\n\t stack = this._stack = mapIteratorFrame(subNode, stack);\n\t }\n\t continue;\n\t }\n\t }\n\t stack = this._stack = this._stack.__prev;\n\t }\n\t return iteratorDone();\n\t };\n\t\n\t\n\t function mapIteratorValue(type, entry) {\n\t return iteratorValue(type, entry[0], entry[1]);\n\t }\n\t\n\t function mapIteratorFrame(node, prev) {\n\t return {\n\t node: node,\n\t index: 0,\n\t __prev: prev\n\t };\n\t }\n\t\n\t function makeMap(size, root, ownerID, hash) {\n\t var map = Object.create(MapPrototype);\n\t map.size = size;\n\t map._root = root;\n\t map.__ownerID = ownerID;\n\t map.__hash = hash;\n\t map.__altered = false;\n\t return map;\n\t }\n\t\n\t var EMPTY_MAP;\n\t function emptyMap() {\n\t return EMPTY_MAP || (EMPTY_MAP = makeMap(0));\n\t }\n\t\n\t function updateMap(map, k, v) {\n\t var newRoot;\n\t var newSize;\n\t if (!map._root) {\n\t if (v === NOT_SET) {\n\t return map;\n\t }\n\t newSize = 1;\n\t newRoot = new ArrayMapNode(map.__ownerID, [[k, v]]);\n\t } else {\n\t var didChangeSize = MakeRef(CHANGE_LENGTH);\n\t var didAlter = MakeRef(DID_ALTER);\n\t newRoot = updateNode(map._root, map.__ownerID, 0, undefined, k, v, didChangeSize, didAlter);\n\t if (!didAlter.value) {\n\t return map;\n\t }\n\t newSize = map.size + (didChangeSize.value ? v === NOT_SET ? -1 : 1 : 0);\n\t }\n\t if (map.__ownerID) {\n\t map.size = newSize;\n\t map._root = newRoot;\n\t map.__hash = undefined;\n\t map.__altered = true;\n\t return map;\n\t }\n\t return newRoot ? makeMap(newSize, newRoot) : emptyMap();\n\t }\n\t\n\t function updateNode(node, ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n\t if (!node) {\n\t if (value === NOT_SET) {\n\t return node;\n\t }\n\t SetRef(didAlter);\n\t SetRef(didChangeSize);\n\t return new ValueNode(ownerID, keyHash, [key, value]);\n\t }\n\t return node.update(ownerID, shift, keyHash, key, value, didChangeSize, didAlter);\n\t }\n\t\n\t function isLeafNode(node) {\n\t return node.constructor === ValueNode || node.constructor === HashCollisionNode;\n\t }\n\t\n\t function mergeIntoNode(node, ownerID, shift, keyHash, entry) {\n\t if (node.keyHash === keyHash) {\n\t return new HashCollisionNode(ownerID, keyHash, [node.entry, entry]);\n\t }\n\t\n\t var idx1 = (shift === 0 ? node.keyHash : node.keyHash >>> shift) & MASK;\n\t var idx2 = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n\t\n\t var newNode;\n\t var nodes = idx1 === idx2 ?\n\t [mergeIntoNode(node, ownerID, shift + SHIFT, keyHash, entry)] :\n\t ((newNode = new ValueNode(ownerID, keyHash, entry)), idx1 < idx2 ? [node, newNode] : [newNode, node]);\n\t\n\t return new BitmapIndexedNode(ownerID, (1 << idx1) | (1 << idx2), nodes);\n\t }\n\t\n\t function createNodes(ownerID, entries, key, value) {\n\t if (!ownerID) {\n\t ownerID = new OwnerID();\n\t }\n\t var node = new ValueNode(ownerID, hash(key), [key, value]);\n\t for (var ii = 0; ii < entries.length; ii++) {\n\t var entry = entries[ii];\n\t node = node.update(ownerID, 0, undefined, entry[0], entry[1]);\n\t }\n\t return node;\n\t }\n\t\n\t function packNodes(ownerID, nodes, count, excluding) {\n\t var bitmap = 0;\n\t var packedII = 0;\n\t var packedNodes = new Array(count);\n\t for (var ii = 0, bit = 1, len = nodes.length; ii < len; ii++, bit <<= 1) {\n\t var node = nodes[ii];\n\t if (node !== undefined && ii !== excluding) {\n\t bitmap |= bit;\n\t packedNodes[packedII++] = node;\n\t }\n\t }\n\t return new BitmapIndexedNode(ownerID, bitmap, packedNodes);\n\t }\n\t\n\t function expandNodes(ownerID, nodes, bitmap, including, node) {\n\t var count = 0;\n\t var expandedNodes = new Array(SIZE);\n\t for (var ii = 0; bitmap !== 0; ii++, bitmap >>>= 1) {\n\t expandedNodes[ii] = bitmap & 1 ? nodes[count++] : undefined;\n\t }\n\t expandedNodes[including] = node;\n\t return new HashArrayMapNode(ownerID, count + 1, expandedNodes);\n\t }\n\t\n\t function mergeIntoMapWith(map, merger, iterables) {\n\t var iters = [];\n\t for (var ii = 0; ii < iterables.length; ii++) {\n\t var value = iterables[ii];\n\t var iter = KeyedIterable(value);\n\t if (!isIterable(value)) {\n\t iter = iter.map(function(v ) {return fromJS(v)});\n\t }\n\t iters.push(iter);\n\t }\n\t return mergeIntoCollectionWith(map, merger, iters);\n\t }\n\t\n\t function deepMerger(existing, value, key) {\n\t return existing && existing.mergeDeep && isIterable(value) ?\n\t existing.mergeDeep(value) :\n\t is(existing, value) ? existing : value;\n\t }\n\t\n\t function deepMergerWith(merger) {\n\t return function(existing, value, key) {\n\t if (existing && existing.mergeDeepWith && isIterable(value)) {\n\t return existing.mergeDeepWith(merger, value);\n\t }\n\t var nextValue = merger(existing, value, key);\n\t return is(existing, nextValue) ? existing : nextValue;\n\t };\n\t }\n\t\n\t function mergeIntoCollectionWith(collection, merger, iters) {\n\t iters = iters.filter(function(x ) {return x.size !== 0});\n\t if (iters.length === 0) {\n\t return collection;\n\t }\n\t if (collection.size === 0 && !collection.__ownerID && iters.length === 1) {\n\t return collection.constructor(iters[0]);\n\t }\n\t return collection.withMutations(function(collection ) {\n\t var mergeIntoMap = merger ?\n\t function(value, key) {\n\t collection.update(key, NOT_SET, function(existing )\n\t {return existing === NOT_SET ? value : merger(existing, value, key)}\n\t );\n\t } :\n\t function(value, key) {\n\t collection.set(key, value);\n\t }\n\t for (var ii = 0; ii < iters.length; ii++) {\n\t iters[ii].forEach(mergeIntoMap);\n\t }\n\t });\n\t }\n\t\n\t function updateInDeepMap(existing, keyPathIter, notSetValue, updater) {\n\t var isNotSet = existing === NOT_SET;\n\t var step = keyPathIter.next();\n\t if (step.done) {\n\t var existingValue = isNotSet ? notSetValue : existing;\n\t var newValue = updater(existingValue);\n\t return newValue === existingValue ? existing : newValue;\n\t }\n\t invariant(\n\t isNotSet || (existing && existing.set),\n\t 'invalid keyPath'\n\t );\n\t var key = step.value;\n\t var nextExisting = isNotSet ? NOT_SET : existing.get(key, NOT_SET);\n\t var nextUpdated = updateInDeepMap(\n\t nextExisting,\n\t keyPathIter,\n\t notSetValue,\n\t updater\n\t );\n\t return nextUpdated === nextExisting ? existing :\n\t nextUpdated === NOT_SET ? existing.remove(key) :\n\t (isNotSet ? emptyMap() : existing).set(key, nextUpdated);\n\t }\n\t\n\t function popCount(x) {\n\t x = x - ((x >> 1) & 0x55555555);\n\t x = (x & 0x33333333) + ((x >> 2) & 0x33333333);\n\t x = (x + (x >> 4)) & 0x0f0f0f0f;\n\t x = x + (x >> 8);\n\t x = x + (x >> 16);\n\t return x & 0x7f;\n\t }\n\t\n\t function setIn(array, idx, val, canEdit) {\n\t var newArray = canEdit ? array : arrCopy(array);\n\t newArray[idx] = val;\n\t return newArray;\n\t }\n\t\n\t function spliceIn(array, idx, val, canEdit) {\n\t var newLen = array.length + 1;\n\t if (canEdit && idx + 1 === newLen) {\n\t array[idx] = val;\n\t return array;\n\t }\n\t var newArray = new Array(newLen);\n\t var after = 0;\n\t for (var ii = 0; ii < newLen; ii++) {\n\t if (ii === idx) {\n\t newArray[ii] = val;\n\t after = -1;\n\t } else {\n\t newArray[ii] = array[ii + after];\n\t }\n\t }\n\t return newArray;\n\t }\n\t\n\t function spliceOut(array, idx, canEdit) {\n\t var newLen = array.length - 1;\n\t if (canEdit && idx === newLen) {\n\t array.pop();\n\t return array;\n\t }\n\t var newArray = new Array(newLen);\n\t var after = 0;\n\t for (var ii = 0; ii < newLen; ii++) {\n\t if (ii === idx) {\n\t after = 1;\n\t }\n\t newArray[ii] = array[ii + after];\n\t }\n\t return newArray;\n\t }\n\t\n\t var MAX_ARRAY_MAP_SIZE = SIZE / 4;\n\t var MAX_BITMAP_INDEXED_SIZE = SIZE / 2;\n\t var MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4;\n\t\n\t createClass(List, IndexedCollection);\n\t\n\t // @pragma Construction\n\t\n\t function List(value) {\n\t var empty = emptyList();\n\t if (value === null || value === undefined) {\n\t return empty;\n\t }\n\t if (isList(value)) {\n\t return value;\n\t }\n\t var iter = IndexedIterable(value);\n\t var size = iter.size;\n\t if (size === 0) {\n\t return empty;\n\t }\n\t assertNotInfinite(size);\n\t if (size > 0 && size < SIZE) {\n\t return makeList(0, size, SHIFT, null, new VNode(iter.toArray()));\n\t }\n\t return empty.withMutations(function(list ) {\n\t list.setSize(size);\n\t iter.forEach(function(v, i) {return list.set(i, v)});\n\t });\n\t }\n\t\n\t List.of = function(/*...values*/) {\n\t return this(arguments);\n\t };\n\t\n\t List.prototype.toString = function() {\n\t return this.__toString('List [', ']');\n\t };\n\t\n\t // @pragma Access\n\t\n\t List.prototype.get = function(index, notSetValue) {\n\t index = wrapIndex(this, index);\n\t if (index >= 0 && index < this.size) {\n\t index += this._origin;\n\t var node = listNodeFor(this, index);\n\t return node && node.array[index & MASK];\n\t }\n\t return notSetValue;\n\t };\n\t\n\t // @pragma Modification\n\t\n\t List.prototype.set = function(index, value) {\n\t return updateList(this, index, value);\n\t };\n\t\n\t List.prototype.remove = function(index) {\n\t return !this.has(index) ? this :\n\t index === 0 ? this.shift() :\n\t index === this.size - 1 ? this.pop() :\n\t this.splice(index, 1);\n\t };\n\t\n\t List.prototype.insert = function(index, value) {\n\t return this.splice(index, 0, value);\n\t };\n\t\n\t List.prototype.clear = function() {\n\t if (this.size === 0) {\n\t return this;\n\t }\n\t if (this.__ownerID) {\n\t this.size = this._origin = this._capacity = 0;\n\t this._level = SHIFT;\n\t this._root = this._tail = null;\n\t this.__hash = undefined;\n\t this.__altered = true;\n\t return this;\n\t }\n\t return emptyList();\n\t };\n\t\n\t List.prototype.push = function(/*...values*/) {\n\t var values = arguments;\n\t var oldSize = this.size;\n\t return this.withMutations(function(list ) {\n\t setListBounds(list, 0, oldSize + values.length);\n\t for (var ii = 0; ii < values.length; ii++) {\n\t list.set(oldSize + ii, values[ii]);\n\t }\n\t });\n\t };\n\t\n\t List.prototype.pop = function() {\n\t return setListBounds(this, 0, -1);\n\t };\n\t\n\t List.prototype.unshift = function(/*...values*/) {\n\t var values = arguments;\n\t return this.withMutations(function(list ) {\n\t setListBounds(list, -values.length);\n\t for (var ii = 0; ii < values.length; ii++) {\n\t list.set(ii, values[ii]);\n\t }\n\t });\n\t };\n\t\n\t List.prototype.shift = function() {\n\t return setListBounds(this, 1);\n\t };\n\t\n\t // @pragma Composition\n\t\n\t List.prototype.merge = function(/*...iters*/) {\n\t return mergeIntoListWith(this, undefined, arguments);\n\t };\n\t\n\t List.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n\t return mergeIntoListWith(this, merger, iters);\n\t };\n\t\n\t List.prototype.mergeDeep = function(/*...iters*/) {\n\t return mergeIntoListWith(this, deepMerger, arguments);\n\t };\n\t\n\t List.prototype.mergeDeepWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n\t return mergeIntoListWith(this, deepMergerWith(merger), iters);\n\t };\n\t\n\t List.prototype.setSize = function(size) {\n\t return setListBounds(this, 0, size);\n\t };\n\t\n\t // @pragma Iteration\n\t\n\t List.prototype.slice = function(begin, end) {\n\t var size = this.size;\n\t if (wholeSlice(begin, end, size)) {\n\t return this;\n\t }\n\t return setListBounds(\n\t this,\n\t resolveBegin(begin, size),\n\t resolveEnd(end, size)\n\t );\n\t };\n\t\n\t List.prototype.__iterator = function(type, reverse) {\n\t var index = 0;\n\t var values = iterateList(this, reverse);\n\t return new Iterator(function() {\n\t var value = values();\n\t return value === DONE ?\n\t iteratorDone() :\n\t iteratorValue(type, index++, value);\n\t });\n\t };\n\t\n\t List.prototype.__iterate = function(fn, reverse) {\n\t var index = 0;\n\t var values = iterateList(this, reverse);\n\t var value;\n\t while ((value = values()) !== DONE) {\n\t if (fn(value, index++, this) === false) {\n\t break;\n\t }\n\t }\n\t return index;\n\t };\n\t\n\t List.prototype.__ensureOwner = function(ownerID) {\n\t if (ownerID === this.__ownerID) {\n\t return this;\n\t }\n\t if (!ownerID) {\n\t this.__ownerID = ownerID;\n\t return this;\n\t }\n\t return makeList(this._origin, this._capacity, this._level, this._root, this._tail, ownerID, this.__hash);\n\t };\n\t\n\t\n\t function isList(maybeList) {\n\t return !!(maybeList && maybeList[IS_LIST_SENTINEL]);\n\t }\n\t\n\t List.isList = isList;\n\t\n\t var IS_LIST_SENTINEL = '@@__IMMUTABLE_LIST__@@';\n\t\n\t var ListPrototype = List.prototype;\n\t ListPrototype[IS_LIST_SENTINEL] = true;\n\t ListPrototype[DELETE] = ListPrototype.remove;\n\t ListPrototype.setIn = MapPrototype.setIn;\n\t ListPrototype.deleteIn =\n\t ListPrototype.removeIn = MapPrototype.removeIn;\n\t ListPrototype.update = MapPrototype.update;\n\t ListPrototype.updateIn = MapPrototype.updateIn;\n\t ListPrototype.mergeIn = MapPrototype.mergeIn;\n\t ListPrototype.mergeDeepIn = MapPrototype.mergeDeepIn;\n\t ListPrototype.withMutations = MapPrototype.withMutations;\n\t ListPrototype.asMutable = MapPrototype.asMutable;\n\t ListPrototype.asImmutable = MapPrototype.asImmutable;\n\t ListPrototype.wasAltered = MapPrototype.wasAltered;\n\t\n\t\n\t\n\t function VNode(array, ownerID) {\n\t this.array = array;\n\t this.ownerID = ownerID;\n\t }\n\t\n\t // TODO: seems like these methods are very similar\n\t\n\t VNode.prototype.removeBefore = function(ownerID, level, index) {\n\t if (index === level ? 1 << level : 0 || this.array.length === 0) {\n\t return this;\n\t }\n\t var originIndex = (index >>> level) & MASK;\n\t if (originIndex >= this.array.length) {\n\t return new VNode([], ownerID);\n\t }\n\t var removingFirst = originIndex === 0;\n\t var newChild;\n\t if (level > 0) {\n\t var oldChild = this.array[originIndex];\n\t newChild = oldChild && oldChild.removeBefore(ownerID, level - SHIFT, index);\n\t if (newChild === oldChild && removingFirst) {\n\t return this;\n\t }\n\t }\n\t if (removingFirst && !newChild) {\n\t return this;\n\t }\n\t var editable = editableVNode(this, ownerID);\n\t if (!removingFirst) {\n\t for (var ii = 0; ii < originIndex; ii++) {\n\t editable.array[ii] = undefined;\n\t }\n\t }\n\t if (newChild) {\n\t editable.array[originIndex] = newChild;\n\t }\n\t return editable;\n\t };\n\t\n\t VNode.prototype.removeAfter = function(ownerID, level, index) {\n\t if (index === (level ? 1 << level : 0) || this.array.length === 0) {\n\t return this;\n\t }\n\t var sizeIndex = ((index - 1) >>> level) & MASK;\n\t if (sizeIndex >= this.array.length) {\n\t return this;\n\t }\n\t\n\t var newChild;\n\t if (level > 0) {\n\t var oldChild = this.array[sizeIndex];\n\t newChild = oldChild && oldChild.removeAfter(ownerID, level - SHIFT, index);\n\t if (newChild === oldChild && sizeIndex === this.array.length - 1) {\n\t return this;\n\t }\n\t }\n\t\n\t var editable = editableVNode(this, ownerID);\n\t editable.array.splice(sizeIndex + 1);\n\t if (newChild) {\n\t editable.array[sizeIndex] = newChild;\n\t }\n\t return editable;\n\t };\n\t\n\t\n\t\n\t var DONE = {};\n\t\n\t function iterateList(list, reverse) {\n\t var left = list._origin;\n\t var right = list._capacity;\n\t var tailPos = getTailOffset(right);\n\t var tail = list._tail;\n\t\n\t return iterateNodeOrLeaf(list._root, list._level, 0);\n\t\n\t function iterateNodeOrLeaf(node, level, offset) {\n\t return level === 0 ?\n\t iterateLeaf(node, offset) :\n\t iterateNode(node, level, offset);\n\t }\n\t\n\t function iterateLeaf(node, offset) {\n\t var array = offset === tailPos ? tail && tail.array : node && node.array;\n\t var from = offset > left ? 0 : left - offset;\n\t var to = right - offset;\n\t if (to > SIZE) {\n\t to = SIZE;\n\t }\n\t return function() {\n\t if (from === to) {\n\t return DONE;\n\t }\n\t var idx = reverse ? --to : from++;\n\t return array && array[idx];\n\t };\n\t }\n\t\n\t function iterateNode(node, level, offset) {\n\t var values;\n\t var array = node && node.array;\n\t var from = offset > left ? 0 : (left - offset) >> level;\n\t var to = ((right - offset) >> level) + 1;\n\t if (to > SIZE) {\n\t to = SIZE;\n\t }\n\t return function() {\n\t do {\n\t if (values) {\n\t var value = values();\n\t if (value !== DONE) {\n\t return value;\n\t }\n\t values = null;\n\t }\n\t if (from === to) {\n\t return DONE;\n\t }\n\t var idx = reverse ? --to : from++;\n\t values = iterateNodeOrLeaf(\n\t array && array[idx], level - SHIFT, offset + (idx << level)\n\t );\n\t } while (true);\n\t };\n\t }\n\t }\n\t\n\t function makeList(origin, capacity, level, root, tail, ownerID, hash) {\n\t var list = Object.create(ListPrototype);\n\t list.size = capacity - origin;\n\t list._origin = origin;\n\t list._capacity = capacity;\n\t list._level = level;\n\t list._root = root;\n\t list._tail = tail;\n\t list.__ownerID = ownerID;\n\t list.__hash = hash;\n\t list.__altered = false;\n\t return list;\n\t }\n\t\n\t var EMPTY_LIST;\n\t function emptyList() {\n\t return EMPTY_LIST || (EMPTY_LIST = makeList(0, 0, SHIFT));\n\t }\n\t\n\t function updateList(list, index, value) {\n\t index = wrapIndex(list, index);\n\t\n\t if (index !== index) {\n\t return list;\n\t }\n\t\n\t if (index >= list.size || index < 0) {\n\t return list.withMutations(function(list ) {\n\t index < 0 ?\n\t setListBounds(list, index).set(0, value) :\n\t setListBounds(list, 0, index + 1).set(index, value)\n\t });\n\t }\n\t\n\t index += list._origin;\n\t\n\t var newTail = list._tail;\n\t var newRoot = list._root;\n\t var didAlter = MakeRef(DID_ALTER);\n\t if (index >= getTailOffset(list._capacity)) {\n\t newTail = updateVNode(newTail, list.__ownerID, 0, index, value, didAlter);\n\t } else {\n\t newRoot = updateVNode(newRoot, list.__ownerID, list._level, index, value, didAlter);\n\t }\n\t\n\t if (!didAlter.value) {\n\t return list;\n\t }\n\t\n\t if (list.__ownerID) {\n\t list._root = newRoot;\n\t list._tail = newTail;\n\t list.__hash = undefined;\n\t list.__altered = true;\n\t return list;\n\t }\n\t return makeList(list._origin, list._capacity, list._level, newRoot, newTail);\n\t }\n\t\n\t function updateVNode(node, ownerID, level, index, value, didAlter) {\n\t var idx = (index >>> level) & MASK;\n\t var nodeHas = node && idx < node.array.length;\n\t if (!nodeHas && value === undefined) {\n\t return node;\n\t }\n\t\n\t var newNode;\n\t\n\t if (level > 0) {\n\t var lowerNode = node && node.array[idx];\n\t var newLowerNode = updateVNode(lowerNode, ownerID, level - SHIFT, index, value, didAlter);\n\t if (newLowerNode === lowerNode) {\n\t return node;\n\t }\n\t newNode = editableVNode(node, ownerID);\n\t newNode.array[idx] = newLowerNode;\n\t return newNode;\n\t }\n\t\n\t if (nodeHas && node.array[idx] === value) {\n\t return node;\n\t }\n\t\n\t SetRef(didAlter);\n\t\n\t newNode = editableVNode(node, ownerID);\n\t if (value === undefined && idx === newNode.array.length - 1) {\n\t newNode.array.pop();\n\t } else {\n\t newNode.array[idx] = value;\n\t }\n\t return newNode;\n\t }\n\t\n\t function editableVNode(node, ownerID) {\n\t if (ownerID && node && ownerID === node.ownerID) {\n\t return node;\n\t }\n\t return new VNode(node ? node.array.slice() : [], ownerID);\n\t }\n\t\n\t function listNodeFor(list, rawIndex) {\n\t if (rawIndex >= getTailOffset(list._capacity)) {\n\t return list._tail;\n\t }\n\t if (rawIndex < 1 << (list._level + SHIFT)) {\n\t var node = list._root;\n\t var level = list._level;\n\t while (node && level > 0) {\n\t node = node.array[(rawIndex >>> level) & MASK];\n\t level -= SHIFT;\n\t }\n\t return node;\n\t }\n\t }\n\t\n\t function setListBounds(list, begin, end) {\n\t // Sanitize begin & end using this shorthand for ToInt32(argument)\n\t // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n\t if (begin !== undefined) {\n\t begin = begin | 0;\n\t }\n\t if (end !== undefined) {\n\t end = end | 0;\n\t }\n\t var owner = list.__ownerID || new OwnerID();\n\t var oldOrigin = list._origin;\n\t var oldCapacity = list._capacity;\n\t var newOrigin = oldOrigin + begin;\n\t var newCapacity = end === undefined ? oldCapacity : end < 0 ? oldCapacity + end : oldOrigin + end;\n\t if (newOrigin === oldOrigin && newCapacity === oldCapacity) {\n\t return list;\n\t }\n\t\n\t // If it's going to end after it starts, it's empty.\n\t if (newOrigin >= newCapacity) {\n\t return list.clear();\n\t }\n\t\n\t var newLevel = list._level;\n\t var newRoot = list._root;\n\t\n\t // New origin might need creating a higher root.\n\t var offsetShift = 0;\n\t while (newOrigin + offsetShift < 0) {\n\t newRoot = new VNode(newRoot && newRoot.array.length ? [undefined, newRoot] : [], owner);\n\t newLevel += SHIFT;\n\t offsetShift += 1 << newLevel;\n\t }\n\t if (offsetShift) {\n\t newOrigin += offsetShift;\n\t oldOrigin += offsetShift;\n\t newCapacity += offsetShift;\n\t oldCapacity += offsetShift;\n\t }\n\t\n\t var oldTailOffset = getTailOffset(oldCapacity);\n\t var newTailOffset = getTailOffset(newCapacity);\n\t\n\t // New size might need creating a higher root.\n\t while (newTailOffset >= 1 << (newLevel + SHIFT)) {\n\t newRoot = new VNode(newRoot && newRoot.array.length ? [newRoot] : [], owner);\n\t newLevel += SHIFT;\n\t }\n\t\n\t // Locate or create the new tail.\n\t var oldTail = list._tail;\n\t var newTail = newTailOffset < oldTailOffset ?\n\t listNodeFor(list, newCapacity - 1) :\n\t newTailOffset > oldTailOffset ? new VNode([], owner) : oldTail;\n\t\n\t // Merge Tail into tree.\n\t if (oldTail && newTailOffset > oldTailOffset && newOrigin < oldCapacity && oldTail.array.length) {\n\t newRoot = editableVNode(newRoot, owner);\n\t var node = newRoot;\n\t for (var level = newLevel; level > SHIFT; level -= SHIFT) {\n\t var idx = (oldTailOffset >>> level) & MASK;\n\t node = node.array[idx] = editableVNode(node.array[idx], owner);\n\t }\n\t node.array[(oldTailOffset >>> SHIFT) & MASK] = oldTail;\n\t }\n\t\n\t // If the size has been reduced, there's a chance the tail needs to be trimmed.\n\t if (newCapacity < oldCapacity) {\n\t newTail = newTail && newTail.removeAfter(owner, 0, newCapacity);\n\t }\n\t\n\t // If the new origin is within the tail, then we do not need a root.\n\t if (newOrigin >= newTailOffset) {\n\t newOrigin -= newTailOffset;\n\t newCapacity -= newTailOffset;\n\t newLevel = SHIFT;\n\t newRoot = null;\n\t newTail = newTail && newTail.removeBefore(owner, 0, newOrigin);\n\t\n\t // Otherwise, if the root has been trimmed, garbage collect.\n\t } else if (newOrigin > oldOrigin || newTailOffset < oldTailOffset) {\n\t offsetShift = 0;\n\t\n\t // Identify the new top root node of the subtree of the old root.\n\t while (newRoot) {\n\t var beginIndex = (newOrigin >>> newLevel) & MASK;\n\t if (beginIndex !== (newTailOffset >>> newLevel) & MASK) {\n\t break;\n\t }\n\t if (beginIndex) {\n\t offsetShift += (1 << newLevel) * beginIndex;\n\t }\n\t newLevel -= SHIFT;\n\t newRoot = newRoot.array[beginIndex];\n\t }\n\t\n\t // Trim the new sides of the new root.\n\t if (newRoot && newOrigin > oldOrigin) {\n\t newRoot = newRoot.removeBefore(owner, newLevel, newOrigin - offsetShift);\n\t }\n\t if (newRoot && newTailOffset < oldTailOffset) {\n\t newRoot = newRoot.removeAfter(owner, newLevel, newTailOffset - offsetShift);\n\t }\n\t if (offsetShift) {\n\t newOrigin -= offsetShift;\n\t newCapacity -= offsetShift;\n\t }\n\t }\n\t\n\t if (list.__ownerID) {\n\t list.size = newCapacity - newOrigin;\n\t list._origin = newOrigin;\n\t list._capacity = newCapacity;\n\t list._level = newLevel;\n\t list._root = newRoot;\n\t list._tail = newTail;\n\t list.__hash = undefined;\n\t list.__altered = true;\n\t return list;\n\t }\n\t return makeList(newOrigin, newCapacity, newLevel, newRoot, newTail);\n\t }\n\t\n\t function mergeIntoListWith(list, merger, iterables) {\n\t var iters = [];\n\t var maxSize = 0;\n\t for (var ii = 0; ii < iterables.length; ii++) {\n\t var value = iterables[ii];\n\t var iter = IndexedIterable(value);\n\t if (iter.size > maxSize) {\n\t maxSize = iter.size;\n\t }\n\t if (!isIterable(value)) {\n\t iter = iter.map(function(v ) {return fromJS(v)});\n\t }\n\t iters.push(iter);\n\t }\n\t if (maxSize > list.size) {\n\t list = list.setSize(maxSize);\n\t }\n\t return mergeIntoCollectionWith(list, merger, iters);\n\t }\n\t\n\t function getTailOffset(size) {\n\t return size < SIZE ? 0 : (((size - 1) >>> SHIFT) << SHIFT);\n\t }\n\t\n\t createClass(OrderedMap, Map);\n\t\n\t // @pragma Construction\n\t\n\t function OrderedMap(value) {\n\t return value === null || value === undefined ? emptyOrderedMap() :\n\t isOrderedMap(value) ? value :\n\t emptyOrderedMap().withMutations(function(map ) {\n\t var iter = KeyedIterable(value);\n\t assertNotInfinite(iter.size);\n\t iter.forEach(function(v, k) {return map.set(k, v)});\n\t });\n\t }\n\t\n\t OrderedMap.of = function(/*...values*/) {\n\t return this(arguments);\n\t };\n\t\n\t OrderedMap.prototype.toString = function() {\n\t return this.__toString('OrderedMap {', '}');\n\t };\n\t\n\t // @pragma Access\n\t\n\t OrderedMap.prototype.get = function(k, notSetValue) {\n\t var index = this._map.get(k);\n\t return index !== undefined ? this._list.get(index)[1] : notSetValue;\n\t };\n\t\n\t // @pragma Modification\n\t\n\t OrderedMap.prototype.clear = function() {\n\t if (this.size === 0) {\n\t return this;\n\t }\n\t if (this.__ownerID) {\n\t this.size = 0;\n\t this._map.clear();\n\t this._list.clear();\n\t return this;\n\t }\n\t return emptyOrderedMap();\n\t };\n\t\n\t OrderedMap.prototype.set = function(k, v) {\n\t return updateOrderedMap(this, k, v);\n\t };\n\t\n\t OrderedMap.prototype.remove = function(k) {\n\t return updateOrderedMap(this, k, NOT_SET);\n\t };\n\t\n\t OrderedMap.prototype.wasAltered = function() {\n\t return this._map.wasAltered() || this._list.wasAltered();\n\t };\n\t\n\t OrderedMap.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n\t return this._list.__iterate(\n\t function(entry ) {return entry && fn(entry[1], entry[0], this$0)},\n\t reverse\n\t );\n\t };\n\t\n\t OrderedMap.prototype.__iterator = function(type, reverse) {\n\t return this._list.fromEntrySeq().__iterator(type, reverse);\n\t };\n\t\n\t OrderedMap.prototype.__ensureOwner = function(ownerID) {\n\t if (ownerID === this.__ownerID) {\n\t return this;\n\t }\n\t var newMap = this._map.__ensureOwner(ownerID);\n\t var newList = this._list.__ensureOwner(ownerID);\n\t if (!ownerID) {\n\t this.__ownerID = ownerID;\n\t this._map = newMap;\n\t this._list = newList;\n\t return this;\n\t }\n\t return makeOrderedMap(newMap, newList, ownerID, this.__hash);\n\t };\n\t\n\t\n\t function isOrderedMap(maybeOrderedMap) {\n\t return isMap(maybeOrderedMap) && isOrdered(maybeOrderedMap);\n\t }\n\t\n\t OrderedMap.isOrderedMap = isOrderedMap;\n\t\n\t OrderedMap.prototype[IS_ORDERED_SENTINEL] = true;\n\t OrderedMap.prototype[DELETE] = OrderedMap.prototype.remove;\n\t\n\t\n\t\n\t function makeOrderedMap(map, list, ownerID, hash) {\n\t var omap = Object.create(OrderedMap.prototype);\n\t omap.size = map ? map.size : 0;\n\t omap._map = map;\n\t omap._list = list;\n\t omap.__ownerID = ownerID;\n\t omap.__hash = hash;\n\t return omap;\n\t }\n\t\n\t var EMPTY_ORDERED_MAP;\n\t function emptyOrderedMap() {\n\t return EMPTY_ORDERED_MAP || (EMPTY_ORDERED_MAP = makeOrderedMap(emptyMap(), emptyList()));\n\t }\n\t\n\t function updateOrderedMap(omap, k, v) {\n\t var map = omap._map;\n\t var list = omap._list;\n\t var i = map.get(k);\n\t var has = i !== undefined;\n\t var newMap;\n\t var newList;\n\t if (v === NOT_SET) { // removed\n\t if (!has) {\n\t return omap;\n\t }\n\t if (list.size >= SIZE && list.size >= map.size * 2) {\n\t newList = list.filter(function(entry, idx) {return entry !== undefined && i !== idx});\n\t newMap = newList.toKeyedSeq().map(function(entry ) {return entry[0]}).flip().toMap();\n\t if (omap.__ownerID) {\n\t newMap.__ownerID = newList.__ownerID = omap.__ownerID;\n\t }\n\t } else {\n\t newMap = map.remove(k);\n\t newList = i === list.size - 1 ? list.pop() : list.set(i, undefined);\n\t }\n\t } else {\n\t if (has) {\n\t if (v === list.get(i)[1]) {\n\t return omap;\n\t }\n\t newMap = map;\n\t newList = list.set(i, [k, v]);\n\t } else {\n\t newMap = map.set(k, list.size);\n\t newList = list.set(list.size, [k, v]);\n\t }\n\t }\n\t if (omap.__ownerID) {\n\t omap.size = newMap.size;\n\t omap._map = newMap;\n\t omap._list = newList;\n\t omap.__hash = undefined;\n\t return omap;\n\t }\n\t return makeOrderedMap(newMap, newList);\n\t }\n\t\n\t createClass(ToKeyedSequence, KeyedSeq);\n\t function ToKeyedSequence(indexed, useKeys) {\n\t this._iter = indexed;\n\t this._useKeys = useKeys;\n\t this.size = indexed.size;\n\t }\n\t\n\t ToKeyedSequence.prototype.get = function(key, notSetValue) {\n\t return this._iter.get(key, notSetValue);\n\t };\n\t\n\t ToKeyedSequence.prototype.has = function(key) {\n\t return this._iter.has(key);\n\t };\n\t\n\t ToKeyedSequence.prototype.valueSeq = function() {\n\t return this._iter.valueSeq();\n\t };\n\t\n\t ToKeyedSequence.prototype.reverse = function() {var this$0 = this;\n\t var reversedSequence = reverseFactory(this, true);\n\t if (!this._useKeys) {\n\t reversedSequence.valueSeq = function() {return this$0._iter.toSeq().reverse()};\n\t }\n\t return reversedSequence;\n\t };\n\t\n\t ToKeyedSequence.prototype.map = function(mapper, context) {var this$0 = this;\n\t var mappedSequence = mapFactory(this, mapper, context);\n\t if (!this._useKeys) {\n\t mappedSequence.valueSeq = function() {return this$0._iter.toSeq().map(mapper, context)};\n\t }\n\t return mappedSequence;\n\t };\n\t\n\t ToKeyedSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n\t var ii;\n\t return this._iter.__iterate(\n\t this._useKeys ?\n\t function(v, k) {return fn(v, k, this$0)} :\n\t ((ii = reverse ? resolveSize(this) : 0),\n\t function(v ) {return fn(v, reverse ? --ii : ii++, this$0)}),\n\t reverse\n\t );\n\t };\n\t\n\t ToKeyedSequence.prototype.__iterator = function(type, reverse) {\n\t if (this._useKeys) {\n\t return this._iter.__iterator(type, reverse);\n\t }\n\t var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n\t var ii = reverse ? resolveSize(this) : 0;\n\t return new Iterator(function() {\n\t var step = iterator.next();\n\t return step.done ? step :\n\t iteratorValue(type, reverse ? --ii : ii++, step.value, step);\n\t });\n\t };\n\t\n\t ToKeyedSequence.prototype[IS_ORDERED_SENTINEL] = true;\n\t\n\t\n\t createClass(ToIndexedSequence, IndexedSeq);\n\t function ToIndexedSequence(iter) {\n\t this._iter = iter;\n\t this.size = iter.size;\n\t }\n\t\n\t ToIndexedSequence.prototype.includes = function(value) {\n\t return this._iter.includes(value);\n\t };\n\t\n\t ToIndexedSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n\t var iterations = 0;\n\t return this._iter.__iterate(function(v ) {return fn(v, iterations++, this$0)}, reverse);\n\t };\n\t\n\t ToIndexedSequence.prototype.__iterator = function(type, reverse) {\n\t var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n\t var iterations = 0;\n\t return new Iterator(function() {\n\t var step = iterator.next();\n\t return step.done ? step :\n\t iteratorValue(type, iterations++, step.value, step)\n\t });\n\t };\n\t\n\t\n\t\n\t createClass(ToSetSequence, SetSeq);\n\t function ToSetSequence(iter) {\n\t this._iter = iter;\n\t this.size = iter.size;\n\t }\n\t\n\t ToSetSequence.prototype.has = function(key) {\n\t return this._iter.includes(key);\n\t };\n\t\n\t ToSetSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n\t return this._iter.__iterate(function(v ) {return fn(v, v, this$0)}, reverse);\n\t };\n\t\n\t ToSetSequence.prototype.__iterator = function(type, reverse) {\n\t var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n\t return new Iterator(function() {\n\t var step = iterator.next();\n\t return step.done ? step :\n\t iteratorValue(type, step.value, step.value, step);\n\t });\n\t };\n\t\n\t\n\t\n\t createClass(FromEntriesSequence, KeyedSeq);\n\t function FromEntriesSequence(entries) {\n\t this._iter = entries;\n\t this.size = entries.size;\n\t }\n\t\n\t FromEntriesSequence.prototype.entrySeq = function() {\n\t return this._iter.toSeq();\n\t };\n\t\n\t FromEntriesSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n\t return this._iter.__iterate(function(entry ) {\n\t // Check if entry exists first so array access doesn't throw for holes\n\t // in the parent iteration.\n\t if (entry) {\n\t validateEntry(entry);\n\t var indexedIterable = isIterable(entry);\n\t return fn(\n\t indexedIterable ? entry.get(1) : entry[1],\n\t indexedIterable ? entry.get(0) : entry[0],\n\t this$0\n\t );\n\t }\n\t }, reverse);\n\t };\n\t\n\t FromEntriesSequence.prototype.__iterator = function(type, reverse) {\n\t var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n\t return new Iterator(function() {\n\t while (true) {\n\t var step = iterator.next();\n\t if (step.done) {\n\t return step;\n\t }\n\t var entry = step.value;\n\t // Check if entry exists first so array access doesn't throw for holes\n\t // in the parent iteration.\n\t if (entry) {\n\t validateEntry(entry);\n\t var indexedIterable = isIterable(entry);\n\t return iteratorValue(\n\t type,\n\t indexedIterable ? entry.get(0) : entry[0],\n\t indexedIterable ? entry.get(1) : entry[1],\n\t step\n\t );\n\t }\n\t }\n\t });\n\t };\n\t\n\t\n\t ToIndexedSequence.prototype.cacheResult =\n\t ToKeyedSequence.prototype.cacheResult =\n\t ToSetSequence.prototype.cacheResult =\n\t FromEntriesSequence.prototype.cacheResult =\n\t cacheResultThrough;\n\t\n\t\n\t function flipFactory(iterable) {\n\t var flipSequence = makeSequence(iterable);\n\t flipSequence._iter = iterable;\n\t flipSequence.size = iterable.size;\n\t flipSequence.flip = function() {return iterable};\n\t flipSequence.reverse = function () {\n\t var reversedSequence = iterable.reverse.apply(this); // super.reverse()\n\t reversedSequence.flip = function() {return iterable.reverse()};\n\t return reversedSequence;\n\t };\n\t flipSequence.has = function(key ) {return iterable.includes(key)};\n\t flipSequence.includes = function(key ) {return iterable.has(key)};\n\t flipSequence.cacheResult = cacheResultThrough;\n\t flipSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n\t return iterable.__iterate(function(v, k) {return fn(k, v, this$0) !== false}, reverse);\n\t }\n\t flipSequence.__iteratorUncached = function(type, reverse) {\n\t if (type === ITERATE_ENTRIES) {\n\t var iterator = iterable.__iterator(type, reverse);\n\t return new Iterator(function() {\n\t var step = iterator.next();\n\t if (!step.done) {\n\t var k = step.value[0];\n\t step.value[0] = step.value[1];\n\t step.value[1] = k;\n\t }\n\t return step;\n\t });\n\t }\n\t return iterable.__iterator(\n\t type === ITERATE_VALUES ? ITERATE_KEYS : ITERATE_VALUES,\n\t reverse\n\t );\n\t }\n\t return flipSequence;\n\t }\n\t\n\t\n\t function mapFactory(iterable, mapper, context) {\n\t var mappedSequence = makeSequence(iterable);\n\t mappedSequence.size = iterable.size;\n\t mappedSequence.has = function(key ) {return iterable.has(key)};\n\t mappedSequence.get = function(key, notSetValue) {\n\t var v = iterable.get(key, NOT_SET);\n\t return v === NOT_SET ?\n\t notSetValue :\n\t mapper.call(context, v, key, iterable);\n\t };\n\t mappedSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n\t return iterable.__iterate(\n\t function(v, k, c) {return fn(mapper.call(context, v, k, c), k, this$0) !== false},\n\t reverse\n\t );\n\t }\n\t mappedSequence.__iteratorUncached = function (type, reverse) {\n\t var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n\t return new Iterator(function() {\n\t var step = iterator.next();\n\t if (step.done) {\n\t return step;\n\t }\n\t var entry = step.value;\n\t var key = entry[0];\n\t return iteratorValue(\n\t type,\n\t key,\n\t mapper.call(context, entry[1], key, iterable),\n\t step\n\t );\n\t });\n\t }\n\t return mappedSequence;\n\t }\n\t\n\t\n\t function reverseFactory(iterable, useKeys) {\n\t var reversedSequence = makeSequence(iterable);\n\t reversedSequence._iter = iterable;\n\t reversedSequence.size = iterable.size;\n\t reversedSequence.reverse = function() {return iterable};\n\t if (iterable.flip) {\n\t reversedSequence.flip = function () {\n\t var flipSequence = flipFactory(iterable);\n\t flipSequence.reverse = function() {return iterable.flip()};\n\t return flipSequence;\n\t };\n\t }\n\t reversedSequence.get = function(key, notSetValue) \n\t {return iterable.get(useKeys ? key : -1 - key, notSetValue)};\n\t reversedSequence.has = function(key )\n\t {return iterable.has(useKeys ? key : -1 - key)};\n\t reversedSequence.includes = function(value ) {return iterable.includes(value)};\n\t reversedSequence.cacheResult = cacheResultThrough;\n\t reversedSequence.__iterate = function (fn, reverse) {var this$0 = this;\n\t return iterable.__iterate(function(v, k) {return fn(v, k, this$0)}, !reverse);\n\t };\n\t reversedSequence.__iterator =\n\t function(type, reverse) {return iterable.__iterator(type, !reverse)};\n\t return reversedSequence;\n\t }\n\t\n\t\n\t function filterFactory(iterable, predicate, context, useKeys) {\n\t var filterSequence = makeSequence(iterable);\n\t if (useKeys) {\n\t filterSequence.has = function(key ) {\n\t var v = iterable.get(key, NOT_SET);\n\t return v !== NOT_SET && !!predicate.call(context, v, key, iterable);\n\t };\n\t filterSequence.get = function(key, notSetValue) {\n\t var v = iterable.get(key, NOT_SET);\n\t return v !== NOT_SET && predicate.call(context, v, key, iterable) ?\n\t v : notSetValue;\n\t };\n\t }\n\t filterSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n\t var iterations = 0;\n\t iterable.__iterate(function(v, k, c) {\n\t if (predicate.call(context, v, k, c)) {\n\t iterations++;\n\t return fn(v, useKeys ? k : iterations - 1, this$0);\n\t }\n\t }, reverse);\n\t return iterations;\n\t };\n\t filterSequence.__iteratorUncached = function (type, reverse) {\n\t var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n\t var iterations = 0;\n\t return new Iterator(function() {\n\t while (true) {\n\t var step = iterator.next();\n\t if (step.done) {\n\t return step;\n\t }\n\t var entry = step.value;\n\t var key = entry[0];\n\t var value = entry[1];\n\t if (predicate.call(context, value, key, iterable)) {\n\t return iteratorValue(type, useKeys ? key : iterations++, value, step);\n\t }\n\t }\n\t });\n\t }\n\t return filterSequence;\n\t }\n\t\n\t\n\t function countByFactory(iterable, grouper, context) {\n\t var groups = Map().asMutable();\n\t iterable.__iterate(function(v, k) {\n\t groups.update(\n\t grouper.call(context, v, k, iterable),\n\t 0,\n\t function(a ) {return a + 1}\n\t );\n\t });\n\t return groups.asImmutable();\n\t }\n\t\n\t\n\t function groupByFactory(iterable, grouper, context) {\n\t var isKeyedIter = isKeyed(iterable);\n\t var groups = (isOrdered(iterable) ? OrderedMap() : Map()).asMutable();\n\t iterable.__iterate(function(v, k) {\n\t groups.update(\n\t grouper.call(context, v, k, iterable),\n\t function(a ) {return (a = a || [], a.push(isKeyedIter ? [k, v] : v), a)}\n\t );\n\t });\n\t var coerce = iterableClass(iterable);\n\t return groups.map(function(arr ) {return reify(iterable, coerce(arr))});\n\t }\n\t\n\t\n\t function sliceFactory(iterable, begin, end, useKeys) {\n\t var originalSize = iterable.size;\n\t\n\t // Sanitize begin & end using this shorthand for ToInt32(argument)\n\t // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n\t if (begin !== undefined) {\n\t begin = begin | 0;\n\t }\n\t if (end !== undefined) {\n\t if (end === Infinity) {\n\t end = originalSize;\n\t } else {\n\t end = end | 0;\n\t }\n\t }\n\t\n\t if (wholeSlice(begin, end, originalSize)) {\n\t return iterable;\n\t }\n\t\n\t var resolvedBegin = resolveBegin(begin, originalSize);\n\t var resolvedEnd = resolveEnd(end, originalSize);\n\t\n\t // begin or end will be NaN if they were provided as negative numbers and\n\t // this iterable's size is unknown. In that case, cache first so there is\n\t // a known size and these do not resolve to NaN.\n\t if (resolvedBegin !== resolvedBegin || resolvedEnd !== resolvedEnd) {\n\t return sliceFactory(iterable.toSeq().cacheResult(), begin, end, useKeys);\n\t }\n\t\n\t // Note: resolvedEnd is undefined when the original sequence's length is\n\t // unknown and this slice did not supply an end and should contain all\n\t // elements after resolvedBegin.\n\t // In that case, resolvedSize will be NaN and sliceSize will remain undefined.\n\t var resolvedSize = resolvedEnd - resolvedBegin;\n\t var sliceSize;\n\t if (resolvedSize === resolvedSize) {\n\t sliceSize = resolvedSize < 0 ? 0 : resolvedSize;\n\t }\n\t\n\t var sliceSeq = makeSequence(iterable);\n\t\n\t // If iterable.size is undefined, the size of the realized sliceSeq is\n\t // unknown at this point unless the number of items to slice is 0\n\t sliceSeq.size = sliceSize === 0 ? sliceSize : iterable.size && sliceSize || undefined;\n\t\n\t if (!useKeys && isSeq(iterable) && sliceSize >= 0) {\n\t sliceSeq.get = function (index, notSetValue) {\n\t index = wrapIndex(this, index);\n\t return index >= 0 && index < sliceSize ?\n\t iterable.get(index + resolvedBegin, notSetValue) :\n\t notSetValue;\n\t }\n\t }\n\t\n\t sliceSeq.__iterateUncached = function(fn, reverse) {var this$0 = this;\n\t if (sliceSize === 0) {\n\t return 0;\n\t }\n\t if (reverse) {\n\t return this.cacheResult().__iterate(fn, reverse);\n\t }\n\t var skipped = 0;\n\t var isSkipping = true;\n\t var iterations = 0;\n\t iterable.__iterate(function(v, k) {\n\t if (!(isSkipping && (isSkipping = skipped++ < resolvedBegin))) {\n\t iterations++;\n\t return fn(v, useKeys ? k : iterations - 1, this$0) !== false &&\n\t iterations !== sliceSize;\n\t }\n\t });\n\t return iterations;\n\t };\n\t\n\t sliceSeq.__iteratorUncached = function(type, reverse) {\n\t if (sliceSize !== 0 && reverse) {\n\t return this.cacheResult().__iterator(type, reverse);\n\t }\n\t // Don't bother instantiating parent iterator if taking 0.\n\t var iterator = sliceSize !== 0 && iterable.__iterator(type, reverse);\n\t var skipped = 0;\n\t var iterations = 0;\n\t return new Iterator(function() {\n\t while (skipped++ < resolvedBegin) {\n\t iterator.next();\n\t }\n\t if (++iterations > sliceSize) {\n\t return iteratorDone();\n\t }\n\t var step = iterator.next();\n\t if (useKeys || type === ITERATE_VALUES) {\n\t return step;\n\t } else if (type === ITERATE_KEYS) {\n\t return iteratorValue(type, iterations - 1, undefined, step);\n\t } else {\n\t return iteratorValue(type, iterations - 1, step.value[1], step);\n\t }\n\t });\n\t }\n\t\n\t return sliceSeq;\n\t }\n\t\n\t\n\t function takeWhileFactory(iterable, predicate, context) {\n\t var takeSequence = makeSequence(iterable);\n\t takeSequence.__iterateUncached = function(fn, reverse) {var this$0 = this;\n\t if (reverse) {\n\t return this.cacheResult().__iterate(fn, reverse);\n\t }\n\t var iterations = 0;\n\t iterable.__iterate(function(v, k, c) \n\t {return predicate.call(context, v, k, c) && ++iterations && fn(v, k, this$0)}\n\t );\n\t return iterations;\n\t };\n\t takeSequence.__iteratorUncached = function(type, reverse) {var this$0 = this;\n\t if (reverse) {\n\t return this.cacheResult().__iterator(type, reverse);\n\t }\n\t var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n\t var iterating = true;\n\t return new Iterator(function() {\n\t if (!iterating) {\n\t return iteratorDone();\n\t }\n\t var step = iterator.next();\n\t if (step.done) {\n\t return step;\n\t }\n\t var entry = step.value;\n\t var k = entry[0];\n\t var v = entry[1];\n\t if (!predicate.call(context, v, k, this$0)) {\n\t iterating = false;\n\t return iteratorDone();\n\t }\n\t return type === ITERATE_ENTRIES ? step :\n\t iteratorValue(type, k, v, step);\n\t });\n\t };\n\t return takeSequence;\n\t }\n\t\n\t\n\t function skipWhileFactory(iterable, predicate, context, useKeys) {\n\t var skipSequence = makeSequence(iterable);\n\t skipSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n\t if (reverse) {\n\t return this.cacheResult().__iterate(fn, reverse);\n\t }\n\t var isSkipping = true;\n\t var iterations = 0;\n\t iterable.__iterate(function(v, k, c) {\n\t if (!(isSkipping && (isSkipping = predicate.call(context, v, k, c)))) {\n\t iterations++;\n\t return fn(v, useKeys ? k : iterations - 1, this$0);\n\t }\n\t });\n\t return iterations;\n\t };\n\t skipSequence.__iteratorUncached = function(type, reverse) {var this$0 = this;\n\t if (reverse) {\n\t return this.cacheResult().__iterator(type, reverse);\n\t }\n\t var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n\t var skipping = true;\n\t var iterations = 0;\n\t return new Iterator(function() {\n\t var step, k, v;\n\t do {\n\t step = iterator.next();\n\t if (step.done) {\n\t if (useKeys || type === ITERATE_VALUES) {\n\t return step;\n\t } else if (type === ITERATE_KEYS) {\n\t return iteratorValue(type, iterations++, undefined, step);\n\t } else {\n\t return iteratorValue(type, iterations++, step.value[1], step);\n\t }\n\t }\n\t var entry = step.value;\n\t k = entry[0];\n\t v = entry[1];\n\t skipping && (skipping = predicate.call(context, v, k, this$0));\n\t } while (skipping);\n\t return type === ITERATE_ENTRIES ? step :\n\t iteratorValue(type, k, v, step);\n\t });\n\t };\n\t return skipSequence;\n\t }\n\t\n\t\n\t function concatFactory(iterable, values) {\n\t var isKeyedIterable = isKeyed(iterable);\n\t var iters = [iterable].concat(values).map(function(v ) {\n\t if (!isIterable(v)) {\n\t v = isKeyedIterable ?\n\t keyedSeqFromValue(v) :\n\t indexedSeqFromValue(Array.isArray(v) ? v : [v]);\n\t } else if (isKeyedIterable) {\n\t v = KeyedIterable(v);\n\t }\n\t return v;\n\t }).filter(function(v ) {return v.size !== 0});\n\t\n\t if (iters.length === 0) {\n\t return iterable;\n\t }\n\t\n\t if (iters.length === 1) {\n\t var singleton = iters[0];\n\t if (singleton === iterable ||\n\t isKeyedIterable && isKeyed(singleton) ||\n\t isIndexed(iterable) && isIndexed(singleton)) {\n\t return singleton;\n\t }\n\t }\n\t\n\t var concatSeq = new ArraySeq(iters);\n\t if (isKeyedIterable) {\n\t concatSeq = concatSeq.toKeyedSeq();\n\t } else if (!isIndexed(iterable)) {\n\t concatSeq = concatSeq.toSetSeq();\n\t }\n\t concatSeq = concatSeq.flatten(true);\n\t concatSeq.size = iters.reduce(\n\t function(sum, seq) {\n\t if (sum !== undefined) {\n\t var size = seq.size;\n\t if (size !== undefined) {\n\t return sum + size;\n\t }\n\t }\n\t },\n\t 0\n\t );\n\t return concatSeq;\n\t }\n\t\n\t\n\t function flattenFactory(iterable, depth, useKeys) {\n\t var flatSequence = makeSequence(iterable);\n\t flatSequence.__iterateUncached = function(fn, reverse) {\n\t var iterations = 0;\n\t var stopped = false;\n\t function flatDeep(iter, currentDepth) {var this$0 = this;\n\t iter.__iterate(function(v, k) {\n\t if ((!depth || currentDepth < depth) && isIterable(v)) {\n\t flatDeep(v, currentDepth + 1);\n\t } else if (fn(v, useKeys ? k : iterations++, this$0) === false) {\n\t stopped = true;\n\t }\n\t return !stopped;\n\t }, reverse);\n\t }\n\t flatDeep(iterable, 0);\n\t return iterations;\n\t }\n\t flatSequence.__iteratorUncached = function(type, reverse) {\n\t var iterator = iterable.__iterator(type, reverse);\n\t var stack = [];\n\t var iterations = 0;\n\t return new Iterator(function() {\n\t while (iterator) {\n\t var step = iterator.next();\n\t if (step.done !== false) {\n\t iterator = stack.pop();\n\t continue;\n\t }\n\t var v = step.value;\n\t if (type === ITERATE_ENTRIES) {\n\t v = v[1];\n\t }\n\t if ((!depth || stack.length < depth) && isIterable(v)) {\n\t stack.push(iterator);\n\t iterator = v.__iterator(type, reverse);\n\t } else {\n\t return useKeys ? step : iteratorValue(type, iterations++, v, step);\n\t }\n\t }\n\t return iteratorDone();\n\t });\n\t }\n\t return flatSequence;\n\t }\n\t\n\t\n\t function flatMapFactory(iterable, mapper, context) {\n\t var coerce = iterableClass(iterable);\n\t return iterable.toSeq().map(\n\t function(v, k) {return coerce(mapper.call(context, v, k, iterable))}\n\t ).flatten(true);\n\t }\n\t\n\t\n\t function interposeFactory(iterable, separator) {\n\t var interposedSequence = makeSequence(iterable);\n\t interposedSequence.size = iterable.size && iterable.size * 2 -1;\n\t interposedSequence.__iterateUncached = function(fn, reverse) {var this$0 = this;\n\t var iterations = 0;\n\t iterable.__iterate(function(v, k) \n\t {return (!iterations || fn(separator, iterations++, this$0) !== false) &&\n\t fn(v, iterations++, this$0) !== false},\n\t reverse\n\t );\n\t return iterations;\n\t };\n\t interposedSequence.__iteratorUncached = function(type, reverse) {\n\t var iterator = iterable.__iterator(ITERATE_VALUES, reverse);\n\t var iterations = 0;\n\t var step;\n\t return new Iterator(function() {\n\t if (!step || iterations % 2) {\n\t step = iterator.next();\n\t if (step.done) {\n\t return step;\n\t }\n\t }\n\t return iterations % 2 ?\n\t iteratorValue(type, iterations++, separator) :\n\t iteratorValue(type, iterations++, step.value, step);\n\t });\n\t };\n\t return interposedSequence;\n\t }\n\t\n\t\n\t function sortFactory(iterable, comparator, mapper) {\n\t if (!comparator) {\n\t comparator = defaultComparator;\n\t }\n\t var isKeyedIterable = isKeyed(iterable);\n\t var index = 0;\n\t var entries = iterable.toSeq().map(\n\t function(v, k) {return [k, v, index++, mapper ? mapper(v, k, iterable) : v]}\n\t ).toArray();\n\t entries.sort(function(a, b) {return comparator(a[3], b[3]) || a[2] - b[2]}).forEach(\n\t isKeyedIterable ?\n\t function(v, i) { entries[i].length = 2; } :\n\t function(v, i) { entries[i] = v[1]; }\n\t );\n\t return isKeyedIterable ? KeyedSeq(entries) :\n\t isIndexed(iterable) ? IndexedSeq(entries) :\n\t SetSeq(entries);\n\t }\n\t\n\t\n\t function maxFactory(iterable, comparator, mapper) {\n\t if (!comparator) {\n\t comparator = defaultComparator;\n\t }\n\t if (mapper) {\n\t var entry = iterable.toSeq()\n\t .map(function(v, k) {return [v, mapper(v, k, iterable)]})\n\t .reduce(function(a, b) {return maxCompare(comparator, a[1], b[1]) ? b : a});\n\t return entry && entry[0];\n\t } else {\n\t return iterable.reduce(function(a, b) {return maxCompare(comparator, a, b) ? b : a});\n\t }\n\t }\n\t\n\t function maxCompare(comparator, a, b) {\n\t var comp = comparator(b, a);\n\t // b is considered the new max if the comparator declares them equal, but\n\t // they are not equal and b is in fact a nullish value.\n\t return (comp === 0 && b !== a && (b === undefined || b === null || b !== b)) || comp > 0;\n\t }\n\t\n\t\n\t function zipWithFactory(keyIter, zipper, iters) {\n\t var zipSequence = makeSequence(keyIter);\n\t zipSequence.size = new ArraySeq(iters).map(function(i ) {return i.size}).min();\n\t // Note: this a generic base implementation of __iterate in terms of\n\t // __iterator which may be more generically useful in the future.\n\t zipSequence.__iterate = function(fn, reverse) {\n\t /* generic:\n\t var iterator = this.__iterator(ITERATE_ENTRIES, reverse);\n\t var step;\n\t var iterations = 0;\n\t while (!(step = iterator.next()).done) {\n\t iterations++;\n\t if (fn(step.value[1], step.value[0], this) === false) {\n\t break;\n\t }\n\t }\n\t return iterations;\n\t */\n\t // indexed:\n\t var iterator = this.__iterator(ITERATE_VALUES, reverse);\n\t var step;\n\t var iterations = 0;\n\t while (!(step = iterator.next()).done) {\n\t if (fn(step.value, iterations++, this) === false) {\n\t break;\n\t }\n\t }\n\t return iterations;\n\t };\n\t zipSequence.__iteratorUncached = function(type, reverse) {\n\t var iterators = iters.map(function(i )\n\t {return (i = Iterable(i), getIterator(reverse ? i.reverse() : i))}\n\t );\n\t var iterations = 0;\n\t var isDone = false;\n\t return new Iterator(function() {\n\t var steps;\n\t if (!isDone) {\n\t steps = iterators.map(function(i ) {return i.next()});\n\t isDone = steps.some(function(s ) {return s.done});\n\t }\n\t if (isDone) {\n\t return iteratorDone();\n\t }\n\t return iteratorValue(\n\t type,\n\t iterations++,\n\t zipper.apply(null, steps.map(function(s ) {return s.value}))\n\t );\n\t });\n\t };\n\t return zipSequence\n\t }\n\t\n\t\n\t // #pragma Helper Functions\n\t\n\t function reify(iter, seq) {\n\t return isSeq(iter) ? seq : iter.constructor(seq);\n\t }\n\t\n\t function validateEntry(entry) {\n\t if (entry !== Object(entry)) {\n\t throw new TypeError('Expected [K, V] tuple: ' + entry);\n\t }\n\t }\n\t\n\t function resolveSize(iter) {\n\t assertNotInfinite(iter.size);\n\t return ensureSize(iter);\n\t }\n\t\n\t function iterableClass(iterable) {\n\t return isKeyed(iterable) ? KeyedIterable :\n\t isIndexed(iterable) ? IndexedIterable :\n\t SetIterable;\n\t }\n\t\n\t function makeSequence(iterable) {\n\t return Object.create(\n\t (\n\t isKeyed(iterable) ? KeyedSeq :\n\t isIndexed(iterable) ? IndexedSeq :\n\t SetSeq\n\t ).prototype\n\t );\n\t }\n\t\n\t function cacheResultThrough() {\n\t if (this._iter.cacheResult) {\n\t this._iter.cacheResult();\n\t this.size = this._iter.size;\n\t return this;\n\t } else {\n\t return Seq.prototype.cacheResult.call(this);\n\t }\n\t }\n\t\n\t function defaultComparator(a, b) {\n\t return a > b ? 1 : a < b ? -1 : 0;\n\t }\n\t\n\t function forceIterator(keyPath) {\n\t var iter = getIterator(keyPath);\n\t if (!iter) {\n\t // Array might not be iterable in this environment, so we need a fallback\n\t // to our wrapped type.\n\t if (!isArrayLike(keyPath)) {\n\t throw new TypeError('Expected iterable or array-like: ' + keyPath);\n\t }\n\t iter = getIterator(Iterable(keyPath));\n\t }\n\t return iter;\n\t }\n\t\n\t createClass(Record, KeyedCollection);\n\t\n\t function Record(defaultValues, name) {\n\t var hasInitialized;\n\t\n\t var RecordType = function Record(values) {\n\t if (values instanceof RecordType) {\n\t return values;\n\t }\n\t if (!(this instanceof RecordType)) {\n\t return new RecordType(values);\n\t }\n\t if (!hasInitialized) {\n\t hasInitialized = true;\n\t var keys = Object.keys(defaultValues);\n\t setProps(RecordTypePrototype, keys);\n\t RecordTypePrototype.size = keys.length;\n\t RecordTypePrototype._name = name;\n\t RecordTypePrototype._keys = keys;\n\t RecordTypePrototype._defaultValues = defaultValues;\n\t }\n\t this._map = Map(values);\n\t };\n\t\n\t var RecordTypePrototype = RecordType.prototype = Object.create(RecordPrototype);\n\t RecordTypePrototype.constructor = RecordType;\n\t\n\t return RecordType;\n\t }\n\t\n\t Record.prototype.toString = function() {\n\t return this.__toString(recordName(this) + ' {', '}');\n\t };\n\t\n\t // @pragma Access\n\t\n\t Record.prototype.has = function(k) {\n\t return this._defaultValues.hasOwnProperty(k);\n\t };\n\t\n\t Record.prototype.get = function(k, notSetValue) {\n\t if (!this.has(k)) {\n\t return notSetValue;\n\t }\n\t var defaultVal = this._defaultValues[k];\n\t return this._map ? this._map.get(k, defaultVal) : defaultVal;\n\t };\n\t\n\t // @pragma Modification\n\t\n\t Record.prototype.clear = function() {\n\t if (this.__ownerID) {\n\t this._map && this._map.clear();\n\t return this;\n\t }\n\t var RecordType = this.constructor;\n\t return RecordType._empty || (RecordType._empty = makeRecord(this, emptyMap()));\n\t };\n\t\n\t Record.prototype.set = function(k, v) {\n\t if (!this.has(k)) {\n\t throw new Error('Cannot set unknown key \"' + k + '\" on ' + recordName(this));\n\t }\n\t if (this._map && !this._map.has(k)) {\n\t var defaultVal = this._defaultValues[k];\n\t if (v === defaultVal) {\n\t return this;\n\t }\n\t }\n\t var newMap = this._map && this._map.set(k, v);\n\t if (this.__ownerID || newMap === this._map) {\n\t return this;\n\t }\n\t return makeRecord(this, newMap);\n\t };\n\t\n\t Record.prototype.remove = function(k) {\n\t if (!this.has(k)) {\n\t return this;\n\t }\n\t var newMap = this._map && this._map.remove(k);\n\t if (this.__ownerID || newMap === this._map) {\n\t return this;\n\t }\n\t return makeRecord(this, newMap);\n\t };\n\t\n\t Record.prototype.wasAltered = function() {\n\t return this._map.wasAltered();\n\t };\n\t\n\t Record.prototype.__iterator = function(type, reverse) {var this$0 = this;\n\t return KeyedIterable(this._defaultValues).map(function(_, k) {return this$0.get(k)}).__iterator(type, reverse);\n\t };\n\t\n\t Record.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n\t return KeyedIterable(this._defaultValues).map(function(_, k) {return this$0.get(k)}).__iterate(fn, reverse);\n\t };\n\t\n\t Record.prototype.__ensureOwner = function(ownerID) {\n\t if (ownerID === this.__ownerID) {\n\t return this;\n\t }\n\t var newMap = this._map && this._map.__ensureOwner(ownerID);\n\t if (!ownerID) {\n\t this.__ownerID = ownerID;\n\t this._map = newMap;\n\t return this;\n\t }\n\t return makeRecord(this, newMap, ownerID);\n\t };\n\t\n\t\n\t var RecordPrototype = Record.prototype;\n\t RecordPrototype[DELETE] = RecordPrototype.remove;\n\t RecordPrototype.deleteIn =\n\t RecordPrototype.removeIn = MapPrototype.removeIn;\n\t RecordPrototype.merge = MapPrototype.merge;\n\t RecordPrototype.mergeWith = MapPrototype.mergeWith;\n\t RecordPrototype.mergeIn = MapPrototype.mergeIn;\n\t RecordPrototype.mergeDeep = MapPrototype.mergeDeep;\n\t RecordPrototype.mergeDeepWith = MapPrototype.mergeDeepWith;\n\t RecordPrototype.mergeDeepIn = MapPrototype.mergeDeepIn;\n\t RecordPrototype.setIn = MapPrototype.setIn;\n\t RecordPrototype.update = MapPrototype.update;\n\t RecordPrototype.updateIn = MapPrototype.updateIn;\n\t RecordPrototype.withMutations = MapPrototype.withMutations;\n\t RecordPrototype.asMutable = MapPrototype.asMutable;\n\t RecordPrototype.asImmutable = MapPrototype.asImmutable;\n\t\n\t\n\t function makeRecord(likeRecord, map, ownerID) {\n\t var record = Object.create(Object.getPrototypeOf(likeRecord));\n\t record._map = map;\n\t record.__ownerID = ownerID;\n\t return record;\n\t }\n\t\n\t function recordName(record) {\n\t return record._name || record.constructor.name || 'Record';\n\t }\n\t\n\t function setProps(prototype, names) {\n\t try {\n\t names.forEach(setProp.bind(undefined, prototype));\n\t } catch (error) {\n\t // Object.defineProperty failed. Probably IE8.\n\t }\n\t }\n\t\n\t function setProp(prototype, name) {\n\t Object.defineProperty(prototype, name, {\n\t get: function() {\n\t return this.get(name);\n\t },\n\t set: function(value) {\n\t invariant(this.__ownerID, 'Cannot set on an immutable record.');\n\t this.set(name, value);\n\t }\n\t });\n\t }\n\t\n\t createClass(Set, SetCollection);\n\t\n\t // @pragma Construction\n\t\n\t function Set(value) {\n\t return value === null || value === undefined ? emptySet() :\n\t isSet(value) && !isOrdered(value) ? value :\n\t emptySet().withMutations(function(set ) {\n\t var iter = SetIterable(value);\n\t assertNotInfinite(iter.size);\n\t iter.forEach(function(v ) {return set.add(v)});\n\t });\n\t }\n\t\n\t Set.of = function(/*...values*/) {\n\t return this(arguments);\n\t };\n\t\n\t Set.fromKeys = function(value) {\n\t return this(KeyedIterable(value).keySeq());\n\t };\n\t\n\t Set.prototype.toString = function() {\n\t return this.__toString('Set {', '}');\n\t };\n\t\n\t // @pragma Access\n\t\n\t Set.prototype.has = function(value) {\n\t return this._map.has(value);\n\t };\n\t\n\t // @pragma Modification\n\t\n\t Set.prototype.add = function(value) {\n\t return updateSet(this, this._map.set(value, true));\n\t };\n\t\n\t Set.prototype.remove = function(value) {\n\t return updateSet(this, this._map.remove(value));\n\t };\n\t\n\t Set.prototype.clear = function() {\n\t return updateSet(this, this._map.clear());\n\t };\n\t\n\t // @pragma Composition\n\t\n\t Set.prototype.union = function() {var iters = SLICE$0.call(arguments, 0);\n\t iters = iters.filter(function(x ) {return x.size !== 0});\n\t if (iters.length === 0) {\n\t return this;\n\t }\n\t if (this.size === 0 && !this.__ownerID && iters.length === 1) {\n\t return this.constructor(iters[0]);\n\t }\n\t return this.withMutations(function(set ) {\n\t for (var ii = 0; ii < iters.length; ii++) {\n\t SetIterable(iters[ii]).forEach(function(value ) {return set.add(value)});\n\t }\n\t });\n\t };\n\t\n\t Set.prototype.intersect = function() {var iters = SLICE$0.call(arguments, 0);\n\t if (iters.length === 0) {\n\t return this;\n\t }\n\t iters = iters.map(function(iter ) {return SetIterable(iter)});\n\t var originalSet = this;\n\t return this.withMutations(function(set ) {\n\t originalSet.forEach(function(value ) {\n\t if (!iters.every(function(iter ) {return iter.includes(value)})) {\n\t set.remove(value);\n\t }\n\t });\n\t });\n\t };\n\t\n\t Set.prototype.subtract = function() {var iters = SLICE$0.call(arguments, 0);\n\t if (iters.length === 0) {\n\t return this;\n\t }\n\t iters = iters.map(function(iter ) {return SetIterable(iter)});\n\t var originalSet = this;\n\t return this.withMutations(function(set ) {\n\t originalSet.forEach(function(value ) {\n\t if (iters.some(function(iter ) {return iter.includes(value)})) {\n\t set.remove(value);\n\t }\n\t });\n\t });\n\t };\n\t\n\t Set.prototype.merge = function() {\n\t return this.union.apply(this, arguments);\n\t };\n\t\n\t Set.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n\t return this.union.apply(this, iters);\n\t };\n\t\n\t Set.prototype.sort = function(comparator) {\n\t // Late binding\n\t return OrderedSet(sortFactory(this, comparator));\n\t };\n\t\n\t Set.prototype.sortBy = function(mapper, comparator) {\n\t // Late binding\n\t return OrderedSet(sortFactory(this, comparator, mapper));\n\t };\n\t\n\t Set.prototype.wasAltered = function() {\n\t return this._map.wasAltered();\n\t };\n\t\n\t Set.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n\t return this._map.__iterate(function(_, k) {return fn(k, k, this$0)}, reverse);\n\t };\n\t\n\t Set.prototype.__iterator = function(type, reverse) {\n\t return this._map.map(function(_, k) {return k}).__iterator(type, reverse);\n\t };\n\t\n\t Set.prototype.__ensureOwner = function(ownerID) {\n\t if (ownerID === this.__ownerID) {\n\t return this;\n\t }\n\t var newMap = this._map.__ensureOwner(ownerID);\n\t if (!ownerID) {\n\t this.__ownerID = ownerID;\n\t this._map = newMap;\n\t return this;\n\t }\n\t return this.__make(newMap, ownerID);\n\t };\n\t\n\t\n\t function isSet(maybeSet) {\n\t return !!(maybeSet && maybeSet[IS_SET_SENTINEL]);\n\t }\n\t\n\t Set.isSet = isSet;\n\t\n\t var IS_SET_SENTINEL = '@@__IMMUTABLE_SET__@@';\n\t\n\t var SetPrototype = Set.prototype;\n\t SetPrototype[IS_SET_SENTINEL] = true;\n\t SetPrototype[DELETE] = SetPrototype.remove;\n\t SetPrototype.mergeDeep = SetPrototype.merge;\n\t SetPrototype.mergeDeepWith = SetPrototype.mergeWith;\n\t SetPrototype.withMutations = MapPrototype.withMutations;\n\t SetPrototype.asMutable = MapPrototype.asMutable;\n\t SetPrototype.asImmutable = MapPrototype.asImmutable;\n\t\n\t SetPrototype.__empty = emptySet;\n\t SetPrototype.__make = makeSet;\n\t\n\t function updateSet(set, newMap) {\n\t if (set.__ownerID) {\n\t set.size = newMap.size;\n\t set._map = newMap;\n\t return set;\n\t }\n\t return newMap === set._map ? set :\n\t newMap.size === 0 ? set.__empty() :\n\t set.__make(newMap);\n\t }\n\t\n\t function makeSet(map, ownerID) {\n\t var set = Object.create(SetPrototype);\n\t set.size = map ? map.size : 0;\n\t set._map = map;\n\t set.__ownerID = ownerID;\n\t return set;\n\t }\n\t\n\t var EMPTY_SET;\n\t function emptySet() {\n\t return EMPTY_SET || (EMPTY_SET = makeSet(emptyMap()));\n\t }\n\t\n\t createClass(OrderedSet, Set);\n\t\n\t // @pragma Construction\n\t\n\t function OrderedSet(value) {\n\t return value === null || value === undefined ? emptyOrderedSet() :\n\t isOrderedSet(value) ? value :\n\t emptyOrderedSet().withMutations(function(set ) {\n\t var iter = SetIterable(value);\n\t assertNotInfinite(iter.size);\n\t iter.forEach(function(v ) {return set.add(v)});\n\t });\n\t }\n\t\n\t OrderedSet.of = function(/*...values*/) {\n\t return this(arguments);\n\t };\n\t\n\t OrderedSet.fromKeys = function(value) {\n\t return this(KeyedIterable(value).keySeq());\n\t };\n\t\n\t OrderedSet.prototype.toString = function() {\n\t return this.__toString('OrderedSet {', '}');\n\t };\n\t\n\t\n\t function isOrderedSet(maybeOrderedSet) {\n\t return isSet(maybeOrderedSet) && isOrdered(maybeOrderedSet);\n\t }\n\t\n\t OrderedSet.isOrderedSet = isOrderedSet;\n\t\n\t var OrderedSetPrototype = OrderedSet.prototype;\n\t OrderedSetPrototype[IS_ORDERED_SENTINEL] = true;\n\t\n\t OrderedSetPrototype.__empty = emptyOrderedSet;\n\t OrderedSetPrototype.__make = makeOrderedSet;\n\t\n\t function makeOrderedSet(map, ownerID) {\n\t var set = Object.create(OrderedSetPrototype);\n\t set.size = map ? map.size : 0;\n\t set._map = map;\n\t set.__ownerID = ownerID;\n\t return set;\n\t }\n\t\n\t var EMPTY_ORDERED_SET;\n\t function emptyOrderedSet() {\n\t return EMPTY_ORDERED_SET || (EMPTY_ORDERED_SET = makeOrderedSet(emptyOrderedMap()));\n\t }\n\t\n\t createClass(Stack, IndexedCollection);\n\t\n\t // @pragma Construction\n\t\n\t function Stack(value) {\n\t return value === null || value === undefined ? emptyStack() :\n\t isStack(value) ? value :\n\t emptyStack().unshiftAll(value);\n\t }\n\t\n\t Stack.of = function(/*...values*/) {\n\t return this(arguments);\n\t };\n\t\n\t Stack.prototype.toString = function() {\n\t return this.__toString('Stack [', ']');\n\t };\n\t\n\t // @pragma Access\n\t\n\t Stack.prototype.get = function(index, notSetValue) {\n\t var head = this._head;\n\t index = wrapIndex(this, index);\n\t while (head && index--) {\n\t head = head.next;\n\t }\n\t return head ? head.value : notSetValue;\n\t };\n\t\n\t Stack.prototype.peek = function() {\n\t return this._head && this._head.value;\n\t };\n\t\n\t // @pragma Modification\n\t\n\t Stack.prototype.push = function(/*...values*/) {\n\t if (arguments.length === 0) {\n\t return this;\n\t }\n\t var newSize = this.size + arguments.length;\n\t var head = this._head;\n\t for (var ii = arguments.length - 1; ii >= 0; ii--) {\n\t head = {\n\t value: arguments[ii],\n\t next: head\n\t };\n\t }\n\t if (this.__ownerID) {\n\t this.size = newSize;\n\t this._head = head;\n\t this.__hash = undefined;\n\t this.__altered = true;\n\t return this;\n\t }\n\t return makeStack(newSize, head);\n\t };\n\t\n\t Stack.prototype.pushAll = function(iter) {\n\t iter = IndexedIterable(iter);\n\t if (iter.size === 0) {\n\t return this;\n\t }\n\t assertNotInfinite(iter.size);\n\t var newSize = this.size;\n\t var head = this._head;\n\t iter.reverse().forEach(function(value ) {\n\t newSize++;\n\t head = {\n\t value: value,\n\t next: head\n\t };\n\t });\n\t if (this.__ownerID) {\n\t this.size = newSize;\n\t this._head = head;\n\t this.__hash = undefined;\n\t this.__altered = true;\n\t return this;\n\t }\n\t return makeStack(newSize, head);\n\t };\n\t\n\t Stack.prototype.pop = function() {\n\t return this.slice(1);\n\t };\n\t\n\t Stack.prototype.unshift = function(/*...values*/) {\n\t return this.push.apply(this, arguments);\n\t };\n\t\n\t Stack.prototype.unshiftAll = function(iter) {\n\t return this.pushAll(iter);\n\t };\n\t\n\t Stack.prototype.shift = function() {\n\t return this.pop.apply(this, arguments);\n\t };\n\t\n\t Stack.prototype.clear = function() {\n\t if (this.size === 0) {\n\t return this;\n\t }\n\t if (this.__ownerID) {\n\t this.size = 0;\n\t this._head = undefined;\n\t this.__hash = undefined;\n\t this.__altered = true;\n\t return this;\n\t }\n\t return emptyStack();\n\t };\n\t\n\t Stack.prototype.slice = function(begin, end) {\n\t if (wholeSlice(begin, end, this.size)) {\n\t return this;\n\t }\n\t var resolvedBegin = resolveBegin(begin, this.size);\n\t var resolvedEnd = resolveEnd(end, this.size);\n\t if (resolvedEnd !== this.size) {\n\t // super.slice(begin, end);\n\t return IndexedCollection.prototype.slice.call(this, begin, end);\n\t }\n\t var newSize = this.size - resolvedBegin;\n\t var head = this._head;\n\t while (resolvedBegin--) {\n\t head = head.next;\n\t }\n\t if (this.__ownerID) {\n\t this.size = newSize;\n\t this._head = head;\n\t this.__hash = undefined;\n\t this.__altered = true;\n\t return this;\n\t }\n\t return makeStack(newSize, head);\n\t };\n\t\n\t // @pragma Mutability\n\t\n\t Stack.prototype.__ensureOwner = function(ownerID) {\n\t if (ownerID === this.__ownerID) {\n\t return this;\n\t }\n\t if (!ownerID) {\n\t this.__ownerID = ownerID;\n\t this.__altered = false;\n\t return this;\n\t }\n\t return makeStack(this.size, this._head, ownerID, this.__hash);\n\t };\n\t\n\t // @pragma Iteration\n\t\n\t Stack.prototype.__iterate = function(fn, reverse) {\n\t if (reverse) {\n\t return this.reverse().__iterate(fn);\n\t }\n\t var iterations = 0;\n\t var node = this._head;\n\t while (node) {\n\t if (fn(node.value, iterations++, this) === false) {\n\t break;\n\t }\n\t node = node.next;\n\t }\n\t return iterations;\n\t };\n\t\n\t Stack.prototype.__iterator = function(type, reverse) {\n\t if (reverse) {\n\t return this.reverse().__iterator(type);\n\t }\n\t var iterations = 0;\n\t var node = this._head;\n\t return new Iterator(function() {\n\t if (node) {\n\t var value = node.value;\n\t node = node.next;\n\t return iteratorValue(type, iterations++, value);\n\t }\n\t return iteratorDone();\n\t });\n\t };\n\t\n\t\n\t function isStack(maybeStack) {\n\t return !!(maybeStack && maybeStack[IS_STACK_SENTINEL]);\n\t }\n\t\n\t Stack.isStack = isStack;\n\t\n\t var IS_STACK_SENTINEL = '@@__IMMUTABLE_STACK__@@';\n\t\n\t var StackPrototype = Stack.prototype;\n\t StackPrototype[IS_STACK_SENTINEL] = true;\n\t StackPrototype.withMutations = MapPrototype.withMutations;\n\t StackPrototype.asMutable = MapPrototype.asMutable;\n\t StackPrototype.asImmutable = MapPrototype.asImmutable;\n\t StackPrototype.wasAltered = MapPrototype.wasAltered;\n\t\n\t\n\t function makeStack(size, head, ownerID, hash) {\n\t var map = Object.create(StackPrototype);\n\t map.size = size;\n\t map._head = head;\n\t map.__ownerID = ownerID;\n\t map.__hash = hash;\n\t map.__altered = false;\n\t return map;\n\t }\n\t\n\t var EMPTY_STACK;\n\t function emptyStack() {\n\t return EMPTY_STACK || (EMPTY_STACK = makeStack(0));\n\t }\n\t\n\t /**\n\t * Contributes additional methods to a constructor\n\t */\n\t function mixin(ctor, methods) {\n\t var keyCopier = function(key ) { ctor.prototype[key] = methods[key]; };\n\t Object.keys(methods).forEach(keyCopier);\n\t Object.getOwnPropertySymbols &&\n\t Object.getOwnPropertySymbols(methods).forEach(keyCopier);\n\t return ctor;\n\t }\n\t\n\t Iterable.Iterator = Iterator;\n\t\n\t mixin(Iterable, {\n\t\n\t // ### Conversion to other types\n\t\n\t toArray: function() {\n\t assertNotInfinite(this.size);\n\t var array = new Array(this.size || 0);\n\t this.valueSeq().__iterate(function(v, i) { array[i] = v; });\n\t return array;\n\t },\n\t\n\t toIndexedSeq: function() {\n\t return new ToIndexedSequence(this);\n\t },\n\t\n\t toJS: function() {\n\t return this.toSeq().map(\n\t function(value ) {return value && typeof value.toJS === 'function' ? value.toJS() : value}\n\t ).__toJS();\n\t },\n\t\n\t toJSON: function() {\n\t return this.toSeq().map(\n\t function(value ) {return value && typeof value.toJSON === 'function' ? value.toJSON() : value}\n\t ).__toJS();\n\t },\n\t\n\t toKeyedSeq: function() {\n\t return new ToKeyedSequence(this, true);\n\t },\n\t\n\t toMap: function() {\n\t // Use Late Binding here to solve the circular dependency.\n\t return Map(this.toKeyedSeq());\n\t },\n\t\n\t toObject: function() {\n\t assertNotInfinite(this.size);\n\t var object = {};\n\t this.__iterate(function(v, k) { object[k] = v; });\n\t return object;\n\t },\n\t\n\t toOrderedMap: function() {\n\t // Use Late Binding here to solve the circular dependency.\n\t return OrderedMap(this.toKeyedSeq());\n\t },\n\t\n\t toOrderedSet: function() {\n\t // Use Late Binding here to solve the circular dependency.\n\t return OrderedSet(isKeyed(this) ? this.valueSeq() : this);\n\t },\n\t\n\t toSet: function() {\n\t // Use Late Binding here to solve the circular dependency.\n\t return Set(isKeyed(this) ? this.valueSeq() : this);\n\t },\n\t\n\t toSetSeq: function() {\n\t return new ToSetSequence(this);\n\t },\n\t\n\t toSeq: function() {\n\t return isIndexed(this) ? this.toIndexedSeq() :\n\t isKeyed(this) ? this.toKeyedSeq() :\n\t this.toSetSeq();\n\t },\n\t\n\t toStack: function() {\n\t // Use Late Binding here to solve the circular dependency.\n\t return Stack(isKeyed(this) ? this.valueSeq() : this);\n\t },\n\t\n\t toList: function() {\n\t // Use Late Binding here to solve the circular dependency.\n\t return List(isKeyed(this) ? this.valueSeq() : this);\n\t },\n\t\n\t\n\t // ### Common JavaScript methods and properties\n\t\n\t toString: function() {\n\t return '[Iterable]';\n\t },\n\t\n\t __toString: function(head, tail) {\n\t if (this.size === 0) {\n\t return head + tail;\n\t }\n\t return head + ' ' + this.toSeq().map(this.__toStringMapper).join(', ') + ' ' + tail;\n\t },\n\t\n\t\n\t // ### ES6 Collection methods (ES6 Array and Map)\n\t\n\t concat: function() {var values = SLICE$0.call(arguments, 0);\n\t return reify(this, concatFactory(this, values));\n\t },\n\t\n\t includes: function(searchValue) {\n\t return this.some(function(value ) {return is(value, searchValue)});\n\t },\n\t\n\t entries: function() {\n\t return this.__iterator(ITERATE_ENTRIES);\n\t },\n\t\n\t every: function(predicate, context) {\n\t assertNotInfinite(this.size);\n\t var returnValue = true;\n\t this.__iterate(function(v, k, c) {\n\t if (!predicate.call(context, v, k, c)) {\n\t returnValue = false;\n\t return false;\n\t }\n\t });\n\t return returnValue;\n\t },\n\t\n\t filter: function(predicate, context) {\n\t return reify(this, filterFactory(this, predicate, context, true));\n\t },\n\t\n\t find: function(predicate, context, notSetValue) {\n\t var entry = this.findEntry(predicate, context);\n\t return entry ? entry[1] : notSetValue;\n\t },\n\t\n\t forEach: function(sideEffect, context) {\n\t assertNotInfinite(this.size);\n\t return this.__iterate(context ? sideEffect.bind(context) : sideEffect);\n\t },\n\t\n\t join: function(separator) {\n\t assertNotInfinite(this.size);\n\t separator = separator !== undefined ? '' + separator : ',';\n\t var joined = '';\n\t var isFirst = true;\n\t this.__iterate(function(v ) {\n\t isFirst ? (isFirst = false) : (joined += separator);\n\t joined += v !== null && v !== undefined ? v.toString() : '';\n\t });\n\t return joined;\n\t },\n\t\n\t keys: function() {\n\t return this.__iterator(ITERATE_KEYS);\n\t },\n\t\n\t map: function(mapper, context) {\n\t return reify(this, mapFactory(this, mapper, context));\n\t },\n\t\n\t reduce: function(reducer, initialReduction, context) {\n\t assertNotInfinite(this.size);\n\t var reduction;\n\t var useFirst;\n\t if (arguments.length < 2) {\n\t useFirst = true;\n\t } else {\n\t reduction = initialReduction;\n\t }\n\t this.__iterate(function(v, k, c) {\n\t if (useFirst) {\n\t useFirst = false;\n\t reduction = v;\n\t } else {\n\t reduction = reducer.call(context, reduction, v, k, c);\n\t }\n\t });\n\t return reduction;\n\t },\n\t\n\t reduceRight: function(reducer, initialReduction, context) {\n\t var reversed = this.toKeyedSeq().reverse();\n\t return reversed.reduce.apply(reversed, arguments);\n\t },\n\t\n\t reverse: function() {\n\t return reify(this, reverseFactory(this, true));\n\t },\n\t\n\t slice: function(begin, end) {\n\t return reify(this, sliceFactory(this, begin, end, true));\n\t },\n\t\n\t some: function(predicate, context) {\n\t return !this.every(not(predicate), context);\n\t },\n\t\n\t sort: function(comparator) {\n\t return reify(this, sortFactory(this, comparator));\n\t },\n\t\n\t values: function() {\n\t return this.__iterator(ITERATE_VALUES);\n\t },\n\t\n\t\n\t // ### More sequential methods\n\t\n\t butLast: function() {\n\t return this.slice(0, -1);\n\t },\n\t\n\t isEmpty: function() {\n\t return this.size !== undefined ? this.size === 0 : !this.some(function() {return true});\n\t },\n\t\n\t count: function(predicate, context) {\n\t return ensureSize(\n\t predicate ? this.toSeq().filter(predicate, context) : this\n\t );\n\t },\n\t\n\t countBy: function(grouper, context) {\n\t return countByFactory(this, grouper, context);\n\t },\n\t\n\t equals: function(other) {\n\t return deepEqual(this, other);\n\t },\n\t\n\t entrySeq: function() {\n\t var iterable = this;\n\t if (iterable._cache) {\n\t // We cache as an entries array, so we can just return the cache!\n\t return new ArraySeq(iterable._cache);\n\t }\n\t var entriesSequence = iterable.toSeq().map(entryMapper).toIndexedSeq();\n\t entriesSequence.fromEntrySeq = function() {return iterable.toSeq()};\n\t return entriesSequence;\n\t },\n\t\n\t filterNot: function(predicate, context) {\n\t return this.filter(not(predicate), context);\n\t },\n\t\n\t findEntry: function(predicate, context, notSetValue) {\n\t var found = notSetValue;\n\t this.__iterate(function(v, k, c) {\n\t if (predicate.call(context, v, k, c)) {\n\t found = [k, v];\n\t return false;\n\t }\n\t });\n\t return found;\n\t },\n\t\n\t findKey: function(predicate, context) {\n\t var entry = this.findEntry(predicate, context);\n\t return entry && entry[0];\n\t },\n\t\n\t findLast: function(predicate, context, notSetValue) {\n\t return this.toKeyedSeq().reverse().find(predicate, context, notSetValue);\n\t },\n\t\n\t findLastEntry: function(predicate, context, notSetValue) {\n\t return this.toKeyedSeq().reverse().findEntry(predicate, context, notSetValue);\n\t },\n\t\n\t findLastKey: function(predicate, context) {\n\t return this.toKeyedSeq().reverse().findKey(predicate, context);\n\t },\n\t\n\t first: function() {\n\t return this.find(returnTrue);\n\t },\n\t\n\t flatMap: function(mapper, context) {\n\t return reify(this, flatMapFactory(this, mapper, context));\n\t },\n\t\n\t flatten: function(depth) {\n\t return reify(this, flattenFactory(this, depth, true));\n\t },\n\t\n\t fromEntrySeq: function() {\n\t return new FromEntriesSequence(this);\n\t },\n\t\n\t get: function(searchKey, notSetValue) {\n\t return this.find(function(_, key) {return is(key, searchKey)}, undefined, notSetValue);\n\t },\n\t\n\t getIn: function(searchKeyPath, notSetValue) {\n\t var nested = this;\n\t // Note: in an ES6 environment, we would prefer:\n\t // for (var key of searchKeyPath) {\n\t var iter = forceIterator(searchKeyPath);\n\t var step;\n\t while (!(step = iter.next()).done) {\n\t var key = step.value;\n\t nested = nested && nested.get ? nested.get(key, NOT_SET) : NOT_SET;\n\t if (nested === NOT_SET) {\n\t return notSetValue;\n\t }\n\t }\n\t return nested;\n\t },\n\t\n\t groupBy: function(grouper, context) {\n\t return groupByFactory(this, grouper, context);\n\t },\n\t\n\t has: function(searchKey) {\n\t return this.get(searchKey, NOT_SET) !== NOT_SET;\n\t },\n\t\n\t hasIn: function(searchKeyPath) {\n\t return this.getIn(searchKeyPath, NOT_SET) !== NOT_SET;\n\t },\n\t\n\t isSubset: function(iter) {\n\t iter = typeof iter.includes === 'function' ? iter : Iterable(iter);\n\t return this.every(function(value ) {return iter.includes(value)});\n\t },\n\t\n\t isSuperset: function(iter) {\n\t iter = typeof iter.isSubset === 'function' ? iter : Iterable(iter);\n\t return iter.isSubset(this);\n\t },\n\t\n\t keyOf: function(searchValue) {\n\t return this.findKey(function(value ) {return is(value, searchValue)});\n\t },\n\t\n\t keySeq: function() {\n\t return this.toSeq().map(keyMapper).toIndexedSeq();\n\t },\n\t\n\t last: function() {\n\t return this.toSeq().reverse().first();\n\t },\n\t\n\t lastKeyOf: function(searchValue) {\n\t return this.toKeyedSeq().reverse().keyOf(searchValue);\n\t },\n\t\n\t max: function(comparator) {\n\t return maxFactory(this, comparator);\n\t },\n\t\n\t maxBy: function(mapper, comparator) {\n\t return maxFactory(this, comparator, mapper);\n\t },\n\t\n\t min: function(comparator) {\n\t return maxFactory(this, comparator ? neg(comparator) : defaultNegComparator);\n\t },\n\t\n\t minBy: function(mapper, comparator) {\n\t return maxFactory(this, comparator ? neg(comparator) : defaultNegComparator, mapper);\n\t },\n\t\n\t rest: function() {\n\t return this.slice(1);\n\t },\n\t\n\t skip: function(amount) {\n\t return this.slice(Math.max(0, amount));\n\t },\n\t\n\t skipLast: function(amount) {\n\t return reify(this, this.toSeq().reverse().skip(amount).reverse());\n\t },\n\t\n\t skipWhile: function(predicate, context) {\n\t return reify(this, skipWhileFactory(this, predicate, context, true));\n\t },\n\t\n\t skipUntil: function(predicate, context) {\n\t return this.skipWhile(not(predicate), context);\n\t },\n\t\n\t sortBy: function(mapper, comparator) {\n\t return reify(this, sortFactory(this, comparator, mapper));\n\t },\n\t\n\t take: function(amount) {\n\t return this.slice(0, Math.max(0, amount));\n\t },\n\t\n\t takeLast: function(amount) {\n\t return reify(this, this.toSeq().reverse().take(amount).reverse());\n\t },\n\t\n\t takeWhile: function(predicate, context) {\n\t return reify(this, takeWhileFactory(this, predicate, context));\n\t },\n\t\n\t takeUntil: function(predicate, context) {\n\t return this.takeWhile(not(predicate), context);\n\t },\n\t\n\t valueSeq: function() {\n\t return this.toIndexedSeq();\n\t },\n\t\n\t\n\t // ### Hashable Object\n\t\n\t hashCode: function() {\n\t return this.__hash || (this.__hash = hashIterable(this));\n\t }\n\t\n\t\n\t // ### Internal\n\t\n\t // abstract __iterate(fn, reverse)\n\t\n\t // abstract __iterator(type, reverse)\n\t });\n\t\n\t // var IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';\n\t // var IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';\n\t // var IS_INDEXED_SENTINEL = '@@__IMMUTABLE_INDEXED__@@';\n\t // var IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';\n\t\n\t var IterablePrototype = Iterable.prototype;\n\t IterablePrototype[IS_ITERABLE_SENTINEL] = true;\n\t IterablePrototype[ITERATOR_SYMBOL] = IterablePrototype.values;\n\t IterablePrototype.__toJS = IterablePrototype.toArray;\n\t IterablePrototype.__toStringMapper = quoteString;\n\t IterablePrototype.inspect =\n\t IterablePrototype.toSource = function() { return this.toString(); };\n\t IterablePrototype.chain = IterablePrototype.flatMap;\n\t IterablePrototype.contains = IterablePrototype.includes;\n\t\n\t mixin(KeyedIterable, {\n\t\n\t // ### More sequential methods\n\t\n\t flip: function() {\n\t return reify(this, flipFactory(this));\n\t },\n\t\n\t mapEntries: function(mapper, context) {var this$0 = this;\n\t var iterations = 0;\n\t return reify(this,\n\t this.toSeq().map(\n\t function(v, k) {return mapper.call(context, [k, v], iterations++, this$0)}\n\t ).fromEntrySeq()\n\t );\n\t },\n\t\n\t mapKeys: function(mapper, context) {var this$0 = this;\n\t return reify(this,\n\t this.toSeq().flip().map(\n\t function(k, v) {return mapper.call(context, k, v, this$0)}\n\t ).flip()\n\t );\n\t }\n\t\n\t });\n\t\n\t var KeyedIterablePrototype = KeyedIterable.prototype;\n\t KeyedIterablePrototype[IS_KEYED_SENTINEL] = true;\n\t KeyedIterablePrototype[ITERATOR_SYMBOL] = IterablePrototype.entries;\n\t KeyedIterablePrototype.__toJS = IterablePrototype.toObject;\n\t KeyedIterablePrototype.__toStringMapper = function(v, k) {return JSON.stringify(k) + ': ' + quoteString(v)};\n\t\n\t\n\t\n\t mixin(IndexedIterable, {\n\t\n\t // ### Conversion to other types\n\t\n\t toKeyedSeq: function() {\n\t return new ToKeyedSequence(this, false);\n\t },\n\t\n\t\n\t // ### ES6 Collection methods (ES6 Array and Map)\n\t\n\t filter: function(predicate, context) {\n\t return reify(this, filterFactory(this, predicate, context, false));\n\t },\n\t\n\t findIndex: function(predicate, context) {\n\t var entry = this.findEntry(predicate, context);\n\t return entry ? entry[0] : -1;\n\t },\n\t\n\t indexOf: function(searchValue) {\n\t var key = this.keyOf(searchValue);\n\t return key === undefined ? -1 : key;\n\t },\n\t\n\t lastIndexOf: function(searchValue) {\n\t var key = this.lastKeyOf(searchValue);\n\t return key === undefined ? -1 : key;\n\t },\n\t\n\t reverse: function() {\n\t return reify(this, reverseFactory(this, false));\n\t },\n\t\n\t slice: function(begin, end) {\n\t return reify(this, sliceFactory(this, begin, end, false));\n\t },\n\t\n\t splice: function(index, removeNum /*, ...values*/) {\n\t var numArgs = arguments.length;\n\t removeNum = Math.max(removeNum | 0, 0);\n\t if (numArgs === 0 || (numArgs === 2 && !removeNum)) {\n\t return this;\n\t }\n\t // If index is negative, it should resolve relative to the size of the\n\t // collection. However size may be expensive to compute if not cached, so\n\t // only call count() if the number is in fact negative.\n\t index = resolveBegin(index, index < 0 ? this.count() : this.size);\n\t var spliced = this.slice(0, index);\n\t return reify(\n\t this,\n\t numArgs === 1 ?\n\t spliced :\n\t spliced.concat(arrCopy(arguments, 2), this.slice(index + removeNum))\n\t );\n\t },\n\t\n\t\n\t // ### More collection methods\n\t\n\t findLastIndex: function(predicate, context) {\n\t var entry = this.findLastEntry(predicate, context);\n\t return entry ? entry[0] : -1;\n\t },\n\t\n\t first: function() {\n\t return this.get(0);\n\t },\n\t\n\t flatten: function(depth) {\n\t return reify(this, flattenFactory(this, depth, false));\n\t },\n\t\n\t get: function(index, notSetValue) {\n\t index = wrapIndex(this, index);\n\t return (index < 0 || (this.size === Infinity ||\n\t (this.size !== undefined && index > this.size))) ?\n\t notSetValue :\n\t this.find(function(_, key) {return key === index}, undefined, notSetValue);\n\t },\n\t\n\t has: function(index) {\n\t index = wrapIndex(this, index);\n\t return index >= 0 && (this.size !== undefined ?\n\t this.size === Infinity || index < this.size :\n\t this.indexOf(index) !== -1\n\t );\n\t },\n\t\n\t interpose: function(separator) {\n\t return reify(this, interposeFactory(this, separator));\n\t },\n\t\n\t interleave: function(/*...iterables*/) {\n\t var iterables = [this].concat(arrCopy(arguments));\n\t var zipped = zipWithFactory(this.toSeq(), IndexedSeq.of, iterables);\n\t var interleaved = zipped.flatten(true);\n\t if (zipped.size) {\n\t interleaved.size = zipped.size * iterables.length;\n\t }\n\t return reify(this, interleaved);\n\t },\n\t\n\t keySeq: function() {\n\t return Range(0, this.size);\n\t },\n\t\n\t last: function() {\n\t return this.get(-1);\n\t },\n\t\n\t skipWhile: function(predicate, context) {\n\t return reify(this, skipWhileFactory(this, predicate, context, false));\n\t },\n\t\n\t zip: function(/*, ...iterables */) {\n\t var iterables = [this].concat(arrCopy(arguments));\n\t return reify(this, zipWithFactory(this, defaultZipper, iterables));\n\t },\n\t\n\t zipWith: function(zipper/*, ...iterables */) {\n\t var iterables = arrCopy(arguments);\n\t iterables[0] = this;\n\t return reify(this, zipWithFactory(this, zipper, iterables));\n\t }\n\t\n\t });\n\t\n\t IndexedIterable.prototype[IS_INDEXED_SENTINEL] = true;\n\t IndexedIterable.prototype[IS_ORDERED_SENTINEL] = true;\n\t\n\t\n\t\n\t mixin(SetIterable, {\n\t\n\t // ### ES6 Collection methods (ES6 Array and Map)\n\t\n\t get: function(value, notSetValue) {\n\t return this.has(value) ? value : notSetValue;\n\t },\n\t\n\t includes: function(value) {\n\t return this.has(value);\n\t },\n\t\n\t\n\t // ### More sequential methods\n\t\n\t keySeq: function() {\n\t return this.valueSeq();\n\t }\n\t\n\t });\n\t\n\t SetIterable.prototype.has = IterablePrototype.includes;\n\t SetIterable.prototype.contains = SetIterable.prototype.includes;\n\t\n\t\n\t // Mixin subclasses\n\t\n\t mixin(KeyedSeq, KeyedIterable.prototype);\n\t mixin(IndexedSeq, IndexedIterable.prototype);\n\t mixin(SetSeq, SetIterable.prototype);\n\t\n\t mixin(KeyedCollection, KeyedIterable.prototype);\n\t mixin(IndexedCollection, IndexedIterable.prototype);\n\t mixin(SetCollection, SetIterable.prototype);\n\t\n\t\n\t // #pragma Helper functions\n\t\n\t function keyMapper(v, k) {\n\t return k;\n\t }\n\t\n\t function entryMapper(v, k) {\n\t return [k, v];\n\t }\n\t\n\t function not(predicate) {\n\t return function() {\n\t return !predicate.apply(this, arguments);\n\t }\n\t }\n\t\n\t function neg(predicate) {\n\t return function() {\n\t return -predicate.apply(this, arguments);\n\t }\n\t }\n\t\n\t function quoteString(value) {\n\t return typeof value === 'string' ? JSON.stringify(value) : String(value);\n\t }\n\t\n\t function defaultZipper() {\n\t return arrCopy(arguments);\n\t }\n\t\n\t function defaultNegComparator(a, b) {\n\t return a < b ? 1 : a > b ? -1 : 0;\n\t }\n\t\n\t function hashIterable(iterable) {\n\t if (iterable.size === Infinity) {\n\t return 0;\n\t }\n\t var ordered = isOrdered(iterable);\n\t var keyed = isKeyed(iterable);\n\t var h = ordered ? 1 : 0;\n\t var size = iterable.__iterate(\n\t keyed ?\n\t ordered ?\n\t function(v, k) { h = 31 * h + hashMerge(hash(v), hash(k)) | 0; } :\n\t function(v, k) { h = h + hashMerge(hash(v), hash(k)) | 0; } :\n\t ordered ?\n\t function(v ) { h = 31 * h + hash(v) | 0; } :\n\t function(v ) { h = h + hash(v) | 0; }\n\t );\n\t return murmurHashOfSize(size, h);\n\t }\n\t\n\t function murmurHashOfSize(size, h) {\n\t h = imul(h, 0xCC9E2D51);\n\t h = imul(h << 15 | h >>> -15, 0x1B873593);\n\t h = imul(h << 13 | h >>> -13, 5);\n\t h = (h + 0xE6546B64 | 0) ^ size;\n\t h = imul(h ^ h >>> 16, 0x85EBCA6B);\n\t h = imul(h ^ h >>> 13, 0xC2B2AE35);\n\t h = smi(h ^ h >>> 16);\n\t return h;\n\t }\n\t\n\t function hashMerge(a, b) {\n\t return a ^ b + 0x9E3779B9 + (a << 6) + (a >> 2) | 0; // int\n\t }\n\t\n\t var Immutable = {\n\t\n\t Iterable: Iterable,\n\t\n\t Seq: Seq,\n\t Collection: Collection,\n\t Map: Map,\n\t OrderedMap: OrderedMap,\n\t List: List,\n\t Stack: Stack,\n\t Set: Set,\n\t OrderedSet: OrderedSet,\n\t\n\t Record: Record,\n\t Range: Range,\n\t Repeat: Repeat,\n\t\n\t is: is,\n\t fromJS: fromJS\n\t\n\t };\n\t\n\t return Immutable;\n\t\n\t}));\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*eslint-disable no-unused-vars*/\n\t/*!\n\t * jQuery JavaScript Library v3.1.0\n\t * https://jquery.com/\n\t *\n\t * Includes Sizzle.js\n\t * https://sizzlejs.com/\n\t *\n\t * Copyright jQuery Foundation and other contributors\n\t * Released under the MIT license\n\t * https://jquery.org/license\n\t *\n\t * Date: 2016-07-07T21:44Z\n\t */\n\t( function( global, factory ) {\n\t\n\t\t\"use strict\";\n\t\n\t\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\n\t\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t\t// is present, execute the factory and get jQuery.\n\t\t\t// For environments that do not have a `window` with a `document`\n\t\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t\t// This accentuates the need for the creation of a real `window`.\n\t\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t\t// See ticket #14549 for more info.\n\t\t\tmodule.exports = global.document ?\n\t\t\t\tfactory( global, true ) :\n\t\t\t\tfunction( w ) {\n\t\t\t\t\tif ( !w.document ) {\n\t\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t\t}\n\t\t\t\t\treturn factory( w );\n\t\t\t\t};\n\t\t} else {\n\t\t\tfactory( global );\n\t\t}\n\t\n\t// Pass this if window is not defined yet\n\t} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\t\n\t// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n\t// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n\t// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n\t// enough that all such attempts are guarded in a try block.\n\t\"use strict\";\n\t\n\tvar arr = [];\n\t\n\tvar document = window.document;\n\t\n\tvar getProto = Object.getPrototypeOf;\n\t\n\tvar slice = arr.slice;\n\t\n\tvar concat = arr.concat;\n\t\n\tvar push = arr.push;\n\t\n\tvar indexOf = arr.indexOf;\n\t\n\tvar class2type = {};\n\t\n\tvar toString = class2type.toString;\n\t\n\tvar hasOwn = class2type.hasOwnProperty;\n\t\n\tvar fnToString = hasOwn.toString;\n\t\n\tvar ObjectFunctionString = fnToString.call( Object );\n\t\n\tvar support = {};\n\t\n\t\n\t\n\t\tfunction DOMEval( code, doc ) {\n\t\t\tdoc = doc || document;\n\t\n\t\t\tvar script = doc.createElement( \"script\" );\n\t\n\t\t\tscript.text = code;\n\t\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t\t}\n\t/* global Symbol */\n\t// Defining this global in .eslintrc would create a danger of using the global\n\t// unguarded in another place, it seems safer to define global only for this module\n\t\n\t\n\t\n\tvar\n\t\tversion = \"3.1.0\",\n\t\n\t\t// Define a local copy of jQuery\n\t\tjQuery = function( selector, context ) {\n\t\n\t\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\t\treturn new jQuery.fn.init( selector, context );\n\t\t},\n\t\n\t\t// Support: Android <=4.0 only\n\t\t// Make sure we trim BOM and NBSP\n\t\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n\t\n\t\t// Matches dashed string for camelizing\n\t\trmsPrefix = /^-ms-/,\n\t\trdashAlpha = /-([a-z])/g,\n\t\n\t\t// Used by jQuery.camelCase as callback to replace()\n\t\tfcamelCase = function( all, letter ) {\n\t\t\treturn letter.toUpperCase();\n\t\t};\n\t\n\tjQuery.fn = jQuery.prototype = {\n\t\n\t\t// The current version of jQuery being used\n\t\tjquery: version,\n\t\n\t\tconstructor: jQuery,\n\t\n\t\t// The default length of a jQuery object is 0\n\t\tlength: 0,\n\t\n\t\ttoArray: function() {\n\t\t\treturn slice.call( this );\n\t\t},\n\t\n\t\t// Get the Nth element in the matched element set OR\n\t\t// Get the whole matched element set as a clean array\n\t\tget: function( num ) {\n\t\t\treturn num != null ?\n\t\n\t\t\t\t// Return just the one element from the set\n\t\t\t\t( num < 0 ? this[ num + this.length ] : this[ num ] ) :\n\t\n\t\t\t\t// Return all the elements in a clean array\n\t\t\t\tslice.call( this );\n\t\t},\n\t\n\t\t// Take an array of elements and push it onto the stack\n\t\t// (returning the new matched element set)\n\t\tpushStack: function( elems ) {\n\t\n\t\t\t// Build a new jQuery matched element set\n\t\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\t\n\t\t\t// Add the old object onto the stack (as a reference)\n\t\t\tret.prevObject = this;\n\t\n\t\t\t// Return the newly-formed element set\n\t\t\treturn ret;\n\t\t},\n\t\n\t\t// Execute a callback for every element in the matched set.\n\t\teach: function( callback ) {\n\t\t\treturn jQuery.each( this, callback );\n\t\t},\n\t\n\t\tmap: function( callback ) {\n\t\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\t\treturn callback.call( elem, i, elem );\n\t\t\t} ) );\n\t\t},\n\t\n\t\tslice: function() {\n\t\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t\t},\n\t\n\t\tfirst: function() {\n\t\t\treturn this.eq( 0 );\n\t\t},\n\t\n\t\tlast: function() {\n\t\t\treturn this.eq( -1 );\n\t\t},\n\t\n\t\teq: function( i ) {\n\t\t\tvar len = this.length,\n\t\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t\t},\n\t\n\t\tend: function() {\n\t\t\treturn this.prevObject || this.constructor();\n\t\t},\n\t\n\t\t// For internal use only.\n\t\t// Behaves like an Array's method, not like a jQuery method.\n\t\tpush: push,\n\t\tsort: arr.sort,\n\t\tsplice: arr.splice\n\t};\n\t\n\tjQuery.extend = jQuery.fn.extend = function() {\n\t\tvar options, name, src, copy, copyIsArray, clone,\n\t\t\ttarget = arguments[ 0 ] || {},\n\t\t\ti = 1,\n\t\t\tlength = arguments.length,\n\t\t\tdeep = false;\n\t\n\t\t// Handle a deep copy situation\n\t\tif ( typeof target === \"boolean\" ) {\n\t\t\tdeep = target;\n\t\n\t\t\t// Skip the boolean and the target\n\t\t\ttarget = arguments[ i ] || {};\n\t\t\ti++;\n\t\t}\n\t\n\t\t// Handle case when target is a string or something (possible in deep copy)\n\t\tif ( typeof target !== \"object\" && !jQuery.isFunction( target ) ) {\n\t\t\ttarget = {};\n\t\t}\n\t\n\t\t// Extend jQuery itself if only one argument is passed\n\t\tif ( i === length ) {\n\t\t\ttarget = this;\n\t\t\ti--;\n\t\t}\n\t\n\t\tfor ( ; i < length; i++ ) {\n\t\n\t\t\t// Only deal with non-null/undefined values\n\t\t\tif ( ( options = arguments[ i ] ) != null ) {\n\t\n\t\t\t\t// Extend the base object\n\t\t\t\tfor ( name in options ) {\n\t\t\t\t\tsrc = target[ name ];\n\t\t\t\t\tcopy = options[ name ];\n\t\n\t\t\t\t\t// Prevent never-ending loop\n\t\t\t\t\tif ( target === copy ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t\t( copyIsArray = jQuery.isArray( copy ) ) ) ) {\n\t\n\t\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && jQuery.isArray( src ) ? src : [];\n\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && jQuery.isPlainObject( src ) ? src : {};\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\t\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\t// Return the modified object\n\t\treturn target;\n\t};\n\t\n\tjQuery.extend( {\n\t\n\t\t// Unique for each copy of jQuery on the page\n\t\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\t\n\t\t// Assume jQuery is ready without the ready module\n\t\tisReady: true,\n\t\n\t\terror: function( msg ) {\n\t\t\tthrow new Error( msg );\n\t\t},\n\t\n\t\tnoop: function() {},\n\t\n\t\tisFunction: function( obj ) {\n\t\t\treturn jQuery.type( obj ) === \"function\";\n\t\t},\n\t\n\t\tisArray: Array.isArray,\n\t\n\t\tisWindow: function( obj ) {\n\t\t\treturn obj != null && obj === obj.window;\n\t\t},\n\t\n\t\tisNumeric: function( obj ) {\n\t\n\t\t\t// As of jQuery 3.0, isNumeric is limited to\n\t\t\t// strings and numbers (primitives or objects)\n\t\t\t// that can be coerced to finite numbers (gh-2662)\n\t\t\tvar type = jQuery.type( obj );\n\t\t\treturn ( type === \"number\" || type === \"string\" ) &&\n\t\n\t\t\t\t// parseFloat NaNs numeric-cast false positives (\"\")\n\t\t\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t\t\t// subtraction forces infinities to NaN\n\t\t\t\t!isNaN( obj - parseFloat( obj ) );\n\t\t},\n\t\n\t\tisPlainObject: function( obj ) {\n\t\t\tvar proto, Ctor;\n\t\n\t\t\t// Detect obvious negatives\n\t\t\t// Use toString instead of jQuery.type to catch host objects\n\t\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\tproto = getProto( obj );\n\t\n\t\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\n\t\t\tif ( !proto ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\n\t\t\t// Objects with prototype are plain iff they were constructed by a global Object function\n\t\t\tCtor = hasOwn.call( proto, \"constructor\" ) && proto.constructor;\n\t\t\treturn typeof Ctor === \"function\" && fnToString.call( Ctor ) === ObjectFunctionString;\n\t\t},\n\t\n\t\tisEmptyObject: function( obj ) {\n\t\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t// See https://github.com/eslint/eslint/issues/6125\n\t\t\tvar name;\n\t\n\t\t\tfor ( name in obj ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\n\t\ttype: function( obj ) {\n\t\t\tif ( obj == null ) {\n\t\t\t\treturn obj + \"\";\n\t\t\t}\n\t\n\t\t\t// Support: Android <=2.3 only (functionish RegExp)\n\t\t\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\t\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\t\t\ttypeof obj;\n\t\t},\n\t\n\t\t// Evaluates a script in a global context\n\t\tglobalEval: function( code ) {\n\t\t\tDOMEval( code );\n\t\t},\n\t\n\t\t// Convert dashed to camelCase; used by the css and data modules\n\t\t// Support: IE <=9 - 11, Edge 12 - 13\n\t\t// Microsoft forgot to hump their vendor prefix (#9572)\n\t\tcamelCase: function( string ) {\n\t\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n\t\t},\n\t\n\t\tnodeName: function( elem, name ) {\n\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\t\t},\n\t\n\t\teach: function( obj, callback ) {\n\t\t\tvar length, i = 0;\n\t\n\t\t\tif ( isArrayLike( obj ) ) {\n\t\t\t\tlength = obj.length;\n\t\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( i in obj ) {\n\t\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn obj;\n\t\t},\n\t\n\t\t// Support: Android <=4.0 only\n\t\ttrim: function( text ) {\n\t\t\treturn text == null ?\n\t\t\t\t\"\" :\n\t\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t\t},\n\t\n\t\t// results is for internal usage only\n\t\tmakeArray: function( arr, results ) {\n\t\t\tvar ret = results || [];\n\t\n\t\t\tif ( arr != null ) {\n\t\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t\t[ arr ] : arr\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tpush.call( ret, arr );\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn ret;\n\t\t},\n\t\n\t\tinArray: function( elem, arr, i ) {\n\t\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t\t},\n\t\n\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\tmerge: function( first, second ) {\n\t\t\tvar len = +second.length,\n\t\t\t\tj = 0,\n\t\t\t\ti = first.length;\n\t\n\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\tfirst[ i++ ] = second[ j ];\n\t\t\t}\n\t\n\t\t\tfirst.length = i;\n\t\n\t\t\treturn first;\n\t\t},\n\t\n\t\tgrep: function( elems, callback, invert ) {\n\t\t\tvar callbackInverse,\n\t\t\t\tmatches = [],\n\t\t\t\ti = 0,\n\t\t\t\tlength = elems.length,\n\t\t\t\tcallbackExpect = !invert;\n\t\n\t\t\t// Go through the array, only saving the items\n\t\t\t// that pass the validator function\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn matches;\n\t\t},\n\t\n\t\t// arg is for internal usage only\n\t\tmap: function( elems, callback, arg ) {\n\t\t\tvar length, value,\n\t\t\t\ti = 0,\n\t\t\t\tret = [];\n\t\n\t\t\t// Go through the array, translating each of the items to their new values\n\t\t\tif ( isArrayLike( elems ) ) {\n\t\t\t\tlength = elems.length;\n\t\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\t\n\t\t\t\t\tif ( value != null ) {\n\t\t\t\t\t\tret.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t// Go through every key on the object,\n\t\t\t} else {\n\t\t\t\tfor ( i in elems ) {\n\t\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\t\n\t\t\t\t\tif ( value != null ) {\n\t\t\t\t\t\tret.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t// Flatten any nested arrays\n\t\t\treturn concat.apply( [], ret );\n\t\t},\n\t\n\t\t// A global GUID counter for objects\n\t\tguid: 1,\n\t\n\t\t// Bind a function to a context, optionally partially applying any\n\t\t// arguments.\n\t\tproxy: function( fn, context ) {\n\t\t\tvar tmp, args, proxy;\n\t\n\t\t\tif ( typeof context === \"string\" ) {\n\t\t\t\ttmp = fn[ context ];\n\t\t\t\tcontext = fn;\n\t\t\t\tfn = tmp;\n\t\t\t}\n\t\n\t\t\t// Quick check to determine if target is callable, in the spec\n\t\t\t// this throws a TypeError, but we will just return undefined.\n\t\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\n\t\t\t// Simulated bind\n\t\t\targs = slice.call( arguments, 2 );\n\t\t\tproxy = function() {\n\t\t\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t\t\t};\n\t\n\t\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\t\n\t\t\treturn proxy;\n\t\t},\n\t\n\t\tnow: Date.now,\n\t\n\t\t// jQuery.support is not used in Core but other projects attach their\n\t\t// properties to it so it needs to exist.\n\t\tsupport: support\n\t} );\n\t\n\tif ( typeof Symbol === \"function\" ) {\n\t\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n\t}\n\t\n\t// Populate the class2type map\n\tjQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\n\tfunction( i, name ) {\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n\t} );\n\t\n\tfunction isArrayLike( obj ) {\n\t\n\t\t// Support: real iOS 8.2 only (not reproducible in simulator)\n\t\t// `in` check used to prevent JIT error (gh-2145)\n\t\t// hasOwn isn't used here due to false negatives\n\t\t// regarding Nodelist length in IE\n\t\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\t\ttype = jQuery.type( obj );\n\t\n\t\tif ( type === \"function\" || jQuery.isWindow( obj ) ) {\n\t\t\treturn false;\n\t\t}\n\t\n\t\treturn type === \"array\" || length === 0 ||\n\t\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n\t}\n\tvar Sizzle =\n\t/*!\n\t * Sizzle CSS Selector Engine v2.3.0\n\t * https://sizzlejs.com/\n\t *\n\t * Copyright jQuery Foundation and other contributors\n\t * Released under the MIT license\n\t * http://jquery.org/license\n\t *\n\t * Date: 2016-01-04\n\t */\n\t(function( window ) {\n\t\n\tvar i,\n\t\tsupport,\n\t\tExpr,\n\t\tgetText,\n\t\tisXML,\n\t\ttokenize,\n\t\tcompile,\n\t\tselect,\n\t\toutermostContext,\n\t\tsortInput,\n\t\thasDuplicate,\n\t\n\t\t// Local document vars\n\t\tsetDocument,\n\t\tdocument,\n\t\tdocElem,\n\t\tdocumentIsHTML,\n\t\trbuggyQSA,\n\t\trbuggyMatches,\n\t\tmatches,\n\t\tcontains,\n\t\n\t\t// Instance-specific data\n\t\texpando = \"sizzle\" + 1 * new Date(),\n\t\tpreferredDoc = window.document,\n\t\tdirruns = 0,\n\t\tdone = 0,\n\t\tclassCache = createCache(),\n\t\ttokenCache = createCache(),\n\t\tcompilerCache = createCache(),\n\t\tsortOrder = function( a, b ) {\n\t\t\tif ( a === b ) {\n\t\t\t\thasDuplicate = true;\n\t\t\t}\n\t\t\treturn 0;\n\t\t},\n\t\n\t\t// Instance methods\n\t\thasOwn = ({}).hasOwnProperty,\n\t\tarr = [],\n\t\tpop = arr.pop,\n\t\tpush_native = arr.push,\n\t\tpush = arr.push,\n\t\tslice = arr.slice,\n\t\t// Use a stripped-down indexOf as it's faster than native\n\t\t// https://jsperf.com/thor-indexof-vs-for/5\n\t\tindexOf = function( list, elem ) {\n\t\t\tvar i = 0,\n\t\t\t\tlen = list.length;\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tif ( list[i] === elem ) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn -1;\n\t\t},\n\t\n\t\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n\t\n\t\t// Regular expressions\n\t\n\t\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\t\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\t\n\t\t// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\t\tidentifier = \"(?:\\\\\\\\.|[\\\\w-]|[^\\0-\\\\xa0])+\",\n\t\n\t\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\t\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\t\t\t// Operator (capture 2)\n\t\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\t\"*\\\\]\",\n\t\n\t\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\t\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\t\t\t// 2. simple (capture 6)\n\t\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\t\t\t// 3. anything else (capture 2)\n\t\t\t\".*\" +\n\t\t\t\")\\\\)|)\",\n\t\n\t\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\t\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\t\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\t\n\t\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\t\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\t\n\t\trattributeQuotes = new RegExp( \"=\" + whitespace + \"*([^\\\\]'\\\"]*?)\" + whitespace + \"*\\\\]\", \"g\" ),\n\t\n\t\trpseudo = new RegExp( pseudos ),\n\t\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\t\n\t\tmatchExpr = {\n\t\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\t\t\t// For use in libraries implementing .is()\n\t\t\t// We use this for POS matching in `select`\n\t\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t\t},\n\t\n\t\trinputs = /^(?:input|select|textarea|button)$/i,\n\t\trheader = /^h\\d$/i,\n\t\n\t\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\t\n\t\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\t\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\t\n\t\trsibling = /[+~]/,\n\t\n\t\t// CSS escapes\n\t\t// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\t\trunescape = new RegExp( \"\\\\\\\\([\\\\da-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\t\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t\t// NaN means non-codepoint\n\t\t\t// Support: Firefox<24\n\t\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\t\treturn high !== high || escapedWhitespace ?\n\t\t\t\tescaped :\n\t\t\t\thigh < 0 ?\n\t\t\t\t\t// BMP codepoint\n\t\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t\t},\n\t\n\t\t// CSS string/identifier serialization\n\t\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\n\t\trcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g,\n\t\tfcssescape = function( ch, asCodePoint ) {\n\t\t\tif ( asCodePoint ) {\n\t\n\t\t\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\t\t\tif ( ch === \"\\0\" ) {\n\t\t\t\t\treturn \"\\uFFFD\";\n\t\t\t\t}\n\t\n\t\t\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\t\t\treturn ch.slice( 0, -1 ) + \"\\\\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t\t\t}\n\t\n\t\t\t// Other potentially-special ASCII characters get backslash-escaped\n\t\t\treturn \"\\\\\" + ch;\n\t\t},\n\t\n\t\t// Used for iframes\n\t\t// See setDocument()\n\t\t// Removing the function wrapper causes a \"Permission Denied\"\n\t\t// error in IE\n\t\tunloadHandler = function() {\n\t\t\tsetDocument();\n\t\t},\n\t\n\t\tdisabledAncestor = addCombinator(\n\t\t\tfunction( elem ) {\n\t\t\t\treturn elem.disabled === true;\n\t\t\t},\n\t\t\t{ dir: \"parentNode\", next: \"legend\" }\n\t\t);\n\t\n\t// Optimize for push.apply( _, NodeList )\n\ttry {\n\t\tpush.apply(\n\t\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\t\tpreferredDoc.childNodes\n\t\t);\n\t\t// Support: Android<4.0\n\t\t// Detect silently failing push.apply\n\t\tarr[ preferredDoc.childNodes.length ].nodeType;\n\t} catch ( e ) {\n\t\tpush = { apply: arr.length ?\n\t\n\t\t\t// Leverage slice if possible\n\t\t\tfunction( target, els ) {\n\t\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t\t} :\n\t\n\t\t\t// Support: IE<9\n\t\t\t// Otherwise append directly\n\t\t\tfunction( target, els ) {\n\t\t\t\tvar j = target.length,\n\t\t\t\t\ti = 0;\n\t\t\t\t// Can't trust NodeList.length\n\t\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\t\ttarget.length = j - 1;\n\t\t\t}\n\t\t};\n\t}\n\t\n\tfunction Sizzle( selector, context, results, seed ) {\n\t\tvar m, i, elem, nid, match, groups, newSelector,\n\t\t\tnewContext = context && context.ownerDocument,\n\t\n\t\t\t// nodeType defaults to 9, since context defaults to document\n\t\t\tnodeType = context ? context.nodeType : 9;\n\t\n\t\tresults = results || [];\n\t\n\t\t// Return early from calls with invalid selector or context\n\t\tif ( typeof selector !== \"string\" || !selector ||\n\t\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\t\n\t\t\treturn results;\n\t\t}\n\t\n\t\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\t\tif ( !seed ) {\n\t\n\t\t\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\t\t\tsetDocument( context );\n\t\t\t}\n\t\t\tcontext = context || document;\n\t\n\t\t\tif ( documentIsHTML ) {\n\t\n\t\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\t\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\n\t\n\t\t\t\t\t// ID selector\n\t\t\t\t\tif ( (m = match[1]) ) {\n\t\n\t\t\t\t\t\t// Document context\n\t\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\t\tif ( (elem = context.getElementById( m )) ) {\n\t\n\t\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t// Element context\n\t\t\t\t\t\t} else {\n\t\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( newContext && (elem = newContext.getElementById( m )) &&\n\t\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\t\telem.id === m ) {\n\t\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t// Type selector\n\t\t\t\t\t} else if ( match[2] ) {\n\t\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\t\treturn results;\n\t\n\t\t\t\t\t// Class selector\n\t\t\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName &&\n\t\t\t\t\t\tcontext.getElementsByClassName ) {\n\t\n\t\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\t// Take advantage of querySelectorAll\n\t\t\t\tif ( support.qsa &&\n\t\t\t\t\t!compilerCache[ selector + \" \" ] &&\n\t\t\t\t\t(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\n\t\n\t\t\t\t\tif ( nodeType !== 1 ) {\n\t\t\t\t\t\tnewContext = context;\n\t\t\t\t\t\tnewSelector = selector;\n\t\n\t\t\t\t\t// qSA looks outside Element context, which is not what we want\n\t\t\t\t\t// Thanks to Andrew Dupont for this workaround technique\n\t\t\t\t\t// Support: IE <=8\n\t\t\t\t\t// Exclude object elements\n\t\t\t\t\t} else if ( context.nodeName.toLowerCase() !== \"object\" ) {\n\t\n\t\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\t\tif ( (nid = context.getAttribute( \"id\" )) ) {\n\t\t\t\t\t\t\tnid = nid.replace( rcssescape, fcssescape );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.setAttribute( \"id\", (nid = expando) );\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\t\ti = groups.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tgroups[i] = \"#\" + nid + \" \" + toSelector( groups[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnewSelector = groups.join( \",\" );\n\t\n\t\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\t\tcontext;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tif ( newSelector ) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\t// All others\n\t\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n\t}\n\t\n\t/**\n\t * Create key-value caches of limited size\n\t * @returns {function(string, object)} Returns the Object data after storing it on itself with\n\t *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n\t *\tdeleting the oldest entry\n\t */\n\tfunction createCache() {\n\t\tvar keys = [];\n\t\n\t\tfunction cache( key, value ) {\n\t\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\t\t\t\t// Only keep the most recent entries\n\t\t\t\tdelete cache[ keys.shift() ];\n\t\t\t}\n\t\t\treturn (cache[ key + \" \" ] = value);\n\t\t}\n\t\treturn cache;\n\t}\n\t\n\t/**\n\t * Mark a function for special use by Sizzle\n\t * @param {Function} fn The function to mark\n\t */\n\tfunction markFunction( fn ) {\n\t\tfn[ expando ] = true;\n\t\treturn fn;\n\t}\n\t\n\t/**\n\t * Support testing using an element\n\t * @param {Function} fn Passed the created element and returns a boolean result\n\t */\n\tfunction assert( fn ) {\n\t\tvar el = document.createElement(\"fieldset\");\n\t\n\t\ttry {\n\t\t\treturn !!fn( el );\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t} finally {\n\t\t\t// Remove from its parent by default\n\t\t\tif ( el.parentNode ) {\n\t\t\t\tel.parentNode.removeChild( el );\n\t\t\t}\n\t\t\t// release memory in IE\n\t\t\tel = null;\n\t\t}\n\t}\n\t\n\t/**\n\t * Adds the same handler for all of the specified attrs\n\t * @param {String} attrs Pipe-separated list of attributes\n\t * @param {Function} handler The method that will be applied\n\t */\n\tfunction addHandle( attrs, handler ) {\n\t\tvar arr = attrs.split(\"|\"),\n\t\t\ti = arr.length;\n\t\n\t\twhile ( i-- ) {\n\t\t\tExpr.attrHandle[ arr[i] ] = handler;\n\t\t}\n\t}\n\t\n\t/**\n\t * Checks document order of two siblings\n\t * @param {Element} a\n\t * @param {Element} b\n\t * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n\t */\n\tfunction siblingCheck( a, b ) {\n\t\tvar cur = b && a,\n\t\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\t\ta.sourceIndex - b.sourceIndex;\n\t\n\t\t// Use IE sourceIndex if available on both nodes\n\t\tif ( diff ) {\n\t\t\treturn diff;\n\t\t}\n\t\n\t\t// Check if b follows a\n\t\tif ( cur ) {\n\t\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\t\tif ( cur === b ) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn a ? 1 : -1;\n\t}\n\t\n\t/**\n\t * Returns a function to use in pseudos for input types\n\t * @param {String} type\n\t */\n\tfunction createInputPseudo( type ) {\n\t\treturn function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === type;\n\t\t};\n\t}\n\t\n\t/**\n\t * Returns a function to use in pseudos for buttons\n\t * @param {String} type\n\t */\n\tfunction createButtonPseudo( type ) {\n\t\treturn function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t\t};\n\t}\n\t\n\t/**\n\t * Returns a function to use in pseudos for :enabled/:disabled\n\t * @param {Boolean} disabled true for :disabled; false for :enabled\n\t */\n\tfunction createDisabledPseudo( disabled ) {\n\t\t// Known :disabled false positives:\n\t\t// IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset)\n\t\t// not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n\t\treturn function( elem ) {\n\t\n\t\t\t// Check form elements and option elements for explicit disabling\n\t\t\treturn \"label\" in elem && elem.disabled === disabled ||\n\t\t\t\t\"form\" in elem && elem.disabled === disabled ||\n\t\n\t\t\t\t// Check non-disabled form elements for fieldset[disabled] ancestors\n\t\t\t\t\"form\" in elem && elem.disabled === false && (\n\t\t\t\t\t// Support: IE6-11+\n\t\t\t\t\t// Ancestry is covered for us\n\t\t\t\t\telem.isDisabled === disabled ||\n\t\n\t\t\t\t\t// Otherwise, assume any non-