{"version":3,"sources":["webpack:///app-b20f4d284d2d7f3d7905.js","webpack:///./.cache/api-runner-browser.js","webpack:///./.cache/async-requires.js","webpack:///./.cache/component-renderer.js","webpack:///./.cache/emitter.js","webpack:///./.cache/find-page.js","webpack:///./.cache/history.js","webpack:///./.cache/json/404-html.json?780a","webpack:///./.cache/json/404.json?2d21","webpack:///./.cache/json/about.json?e030","webpack:///./.cache/json/alarms.json?922b","webpack:///./.cache/json/background.json?1b79","webpack:///./.cache/json/contact.json?85fd","webpack:///./.cache/json/disclaimer.json?7b86","webpack:///./.cache/json/error-detection.json?0ca0","webpack:///./.cache/json/index.json?9cdc","webpack:///./.cache/json/layout-index.json?fda3","webpack:///./.cache/json/validation-chart.json?9e44","webpack:///./.cache/layouts/index.js?8284","webpack:///./.cache/loader.js","webpack:///./.cache/pages.json","webpack:///./.cache/prefetcher.js","webpack:///./.cache/production-app.js","webpack:///./.cache/redirects.json","webpack:///./.cache/register-service-worker.js","webpack:///./.cache/strip-prefix.js","webpack:///./gatsby-browser.js","webpack:///./~/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./~/domready/ready.js","webpack:///./~/gatsby-module-loader/patch.js","webpack:///./~/gatsby-plugin-canonical-urls/gatsby-browser.js","webpack:///./~/mitt/dist/mitt.js","webpack:///./~/object-fit-images/dist/ofi.common-js.js","webpack:///./~/shallow-compare/lib/index.js","webpack:///./src/pages/404.js?f0bd","webpack:///./src/pages/about.js?da60","webpack:///./src/pages/contact.js?e9dd","webpack:///./src/pages/disclaimer.js?7fa7","webpack:///./src/pages/index.js?d547","webpack:///./src/templates/feature.js?f67b"],"names":["webpackJsonp","83","module","exports","__webpack_require__","apiRunner","api","args","defaultReturn","results","plugins","map","plugin","result","options","filter","length","apiRunnerAsync","reduce","previous","next","then","Promise","resolve","__esModule","siteUrl","231","components","component---src-templates-feature-js","component---src-pages-404-js","component---src-pages-about-js","component---src-pages-contact-js","component---src-pages-disclaimer-js","component---src-pages-index-js","json","layout-index.json","alarms.json","background.json","error-detection.json","validation-chart.json","404.json","about.json","contact.json","disclaimer.json","index.json","404-html.json","layouts","layout---index","232","_interopRequireDefault","obj","default","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","call","ReferenceError","_inherits","subClass","superClass","prototype","Object","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","_extends","assign","target","i","arguments","source","key","hasOwnProperty","_react","_react2","_propTypes","_propTypes2","_loader","_loader2","_emitter","_emitter2","_apiRunnerBrowser","_shallowCompare","_shallowCompare2","DefaultLayout","_ref","children","createElement","ComponentRenderer","_React$Component","props","this","_this","location","loader","getPage","pathname","state","pageResources","getResourcesForPathname","componentWillReceiveProps","nextProps","_this2","setState","componentDidMount","_this3","emitter","on","e","page","path","shouldComponentUpdate","nextState","component","matchPath","render","pluginResponses","publicLoader","replacementComponent","layout","React","Component","propTypes","PropTypes","bool","object","61","_mitt","_mitt2","233","_reactRouterDom","_stripPrefix","_stripPrefix2","pageCache","pages","pathPrefix","undefined","rawPathname","decodeURIComponent","trimmedPathname","split","slice","join","foundPage","some","exact","234","_createBrowserHistory","_createBrowserHistory2","replacementHistory","history","359","cb","_","error","console","log","358","360","361","362","363","364","365","366","357","367","350","138","process","_findPage","_findPage2","findPage","syncRequires","asyncRequires","pathScriptsCache","resourceStrCache","resourceCache","pathArray","pathCount","resourcesArray","resourcesCount","preferDefault","m","prefetcher","inInitialRender","fetchHistory","failedPaths","failedResources","MAX_HISTORY","getNextQueuedResources","createResourceDownload","resourceName","fetchResource","r","onResourcedFinished","onPreLoadPageResources","onPostLoadPageResources","sortResourcesByCount","a","b","sortPagesByCount","nextTick","resourceFunction","err","executeChunk","push","resource","succeeded","getResourceModule","appearsOnLine","isOnLine","navigator","onLine","succeededFetch","find","entry","handleResourceLoadError","message","window","replace","mountOrder","queue","empty","addPagesArray","newPages","addDevRequires","devRequires","addProdRequires","prodRequires","dequeue","pop","enqueue","rawPath","p","mountOrderBoost","has","unshift","sort","jsonName","indexOf","componentChunkName","onNewResourcesAdded","getResources","getPages","serviceWorker","controller","getRegistrations","registrations","_iterator","_isArray","Array","isArray","_i","Symbol","iterator","done","registration","unregister","reload","emit","layoutComponentChunkName","c","j","l","peek","388","236","pagesLoading","resourcesDownloading","startResourceDownloading","nextResource","reducer","action","type","payload","setTimeout","event","getState","0","_reactDom","_reactDom2","_gatsbyReactRouterScroll","_domready","_domready2","_history","_history2","_history3","_pages","_pages2","_redirects","_redirects2","_componentRenderer","_componentRenderer2","_asyncRequires","_asyncRequires2","___history","___emitter","___loader","redirectMap","redirects","redirect","fromPath","maybeRedirect","toPath","attachToHistory","initialAttachDone","listen","shouldUpdateScroll","prevRouterProps","oldPathname","navigate","to","eventHandler","off","clearTimeout","timeoutId","historyNavigateFunc","createLocation","wl","search","hash","___push","___replace","___navigateTo","AltRouter","DefaultRouter","_ref2","Router","ComponentRendererWithRouter","withRouter","Root","ScrollContext","layoutProps","Route","routeProps","NewRoot","renderer","ReactDOM","document","getElementById","389","237","register","reg","addEventListener","installingWorker","installing","catch","139","str","prefix","substr","238","_objectFitImages","_objectFitImages2","onInitialClientRender","46","337","name","definition","listener","fns","doc","hack","documentElement","doScroll","domContentLoaded","loaded","test","readyState","removeEventListener","shift","fn","9","patch","onError","callback","script","head","lastChild","tagName","warn","onload","onerror","failures","querySelector","ensure","chunks","s","chunkId","immediate","handler","368","onRouteUpdate","domElem","existingValue","getAttribute","baseProtocol","baseHost","setAttribute","390","n","splice","391","createPlaceholder","w","h","polyfillCurrentSrc","el","srcset","supportsCurrentSrc","picturefill","pf","ns","evaled","fillImg","reselect","curSrc","supported","currentSrc","src","getStyle","parsed","style","getComputedStyle","fontFamily","propRegex","exec","setPlaceholder","img","width","height","placeholder","nativeGetAttribute","nativeSetAttribute","onImageReady","naturalWidth","fixOne","ofi","OFI","skipTest","supportsObjectFit","Image","naturalHeight","keepSrcUsable","backgroundImage","backgroundPosition","backgroundRepeat","backgroundOrigin","backgroundSize","descriptors","get","prop","set","defineProperty","ss","hijackAttributes","getOfiImageMaybe","supportsObjectPosition","HTMLImageElement","String","fix","imgs","opts","startAutoMode","autoModeEnabled","supportsOFI","getElementsByTagName","querySelectorAll","body","watchMQ","bind","testImg","object-position","499","shallowDiffers","351","352","353","354","355","356"],"mappings":"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","file":"app-b20f4d284d2d7f3d7905.js","sourcesContent":["webpackJsonp([231608221292675],{\n\n/***/ 83:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports.apiRunner = apiRunner;\n\texports.apiRunnerAsync = apiRunnerAsync;\n\tvar plugins = [{\n\t plugin: __webpack_require__(368),\n\t options: { \"plugins\": [], \"siteUrl\": \"https://www.huvaros.com\" }\n\t}, {\n\t plugin: __webpack_require__(238),\n\t options: { \"plugins\": [] }\n\t}];\n\t// During bootstrap, we write requires at top of this file which looks\n\t// basically like:\n\t// var plugins = [\n\t// {\n\t// plugin: require(\"/path/to/plugin1/gatsby-browser.js\"),\n\t// options: { ... },\n\t// },\n\t// {\n\t// plugin: require(\"/path/to/plugin2/gatsby-browser.js\"),\n\t// options: { ... },\n\t// },\n\t// ]\n\t\n\tfunction apiRunner(api, args, defaultReturn) {\n\t var results = plugins.map(function (plugin) {\n\t if (plugin.plugin[api]) {\n\t var result = plugin.plugin[api](args, plugin.options);\n\t return result;\n\t }\n\t });\n\t\n\t // Filter out undefined results.\n\t results = results.filter(function (result) {\n\t return typeof result !== \"undefined\";\n\t });\n\t\n\t if (results.length > 0) {\n\t return results;\n\t } else if (defaultReturn) {\n\t return [defaultReturn];\n\t } else {\n\t return [];\n\t }\n\t}\n\t\n\tfunction apiRunnerAsync(api, args, defaultReturn) {\n\t return plugins.reduce(function (previous, next) {\n\t return next.plugin[api] ? previous.then(function () {\n\t return next.plugin[api](args, next.options);\n\t }) : previous;\n\t }, Promise.resolve());\n\t}\n\n/***/ }),\n\n/***/ 231:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\t// prefer default export if available\n\tvar preferDefault = function preferDefault(m) {\n\t return m && m.default || m;\n\t};\n\t\n\texports.components = {\n\t \"component---src-templates-feature-js\": __webpack_require__(356),\n\t \"component---src-pages-404-js\": __webpack_require__(351),\n\t \"component---src-pages-about-js\": __webpack_require__(352),\n\t \"component---src-pages-contact-js\": __webpack_require__(353),\n\t \"component---src-pages-disclaimer-js\": __webpack_require__(354),\n\t \"component---src-pages-index-js\": __webpack_require__(355)\n\t};\n\t\n\texports.json = {\n\t \"layout-index.json\": __webpack_require__(357),\n\t \"alarms.json\": __webpack_require__(361),\n\t \"background.json\": __webpack_require__(362),\n\t \"error-detection.json\": __webpack_require__(365),\n\t \"validation-chart.json\": __webpack_require__(367),\n\t \"404.json\": __webpack_require__(358),\n\t \"about.json\": __webpack_require__(360),\n\t \"contact.json\": __webpack_require__(363),\n\t \"disclaimer.json\": __webpack_require__(364),\n\t \"index.json\": __webpack_require__(366),\n\t \"404-html.json\": __webpack_require__(359)\n\t};\n\t\n\texports.layouts = {\n\t \"layout---index\": __webpack_require__(350)\n\t};\n\n/***/ }),\n\n/***/ 232:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(8);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _loader = __webpack_require__(138);\n\t\n\tvar _loader2 = _interopRequireDefault(_loader);\n\t\n\tvar _emitter = __webpack_require__(61);\n\t\n\tvar _emitter2 = _interopRequireDefault(_emitter);\n\t\n\tvar _apiRunnerBrowser = __webpack_require__(83);\n\t\n\tvar _shallowCompare = __webpack_require__(499);\n\t\n\tvar _shallowCompare2 = _interopRequireDefault(_shallowCompare);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar DefaultLayout = function DefaultLayout(_ref) {\n\t var children = _ref.children;\n\t return _react2.default.createElement(\n\t \"div\",\n\t null,\n\t children()\n\t );\n\t};\n\t\n\t// Pass pathname in as prop.\n\t// component will try fetching resources. If they exist,\n\t// will just render, else will render null.\n\t\n\tvar ComponentRenderer = function (_React$Component) {\n\t _inherits(ComponentRenderer, _React$Component);\n\t\n\t function ComponentRenderer(props) {\n\t _classCallCheck(this, ComponentRenderer);\n\t\n\t var _this = _possibleConstructorReturn(this, _React$Component.call(this));\n\t\n\t var location = props.location;\n\t\n\t // Set the pathname for 404 pages.\n\t if (!_loader2.default.getPage(location.pathname)) {\n\t location = _extends({}, location, {\n\t pathname: \"/404.html\"\n\t });\n\t }\n\t\n\t _this.state = {\n\t location: location,\n\t pageResources: _loader2.default.getResourcesForPathname(location.pathname)\n\t };\n\t return _this;\n\t }\n\t\n\t ComponentRenderer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n\t var _this2 = this;\n\t\n\t // During development, always pass a component's JSON through so graphql\n\t // updates go through.\n\t if (false) {\n\t if (nextProps && nextProps.pageResources && nextProps.pageResources.json) {\n\t this.setState({ pageResources: nextProps.pageResources });\n\t }\n\t }\n\t if (this.state.location.pathname !== nextProps.location.pathname) {\n\t var pageResources = _loader2.default.getResourcesForPathname(nextProps.location.pathname);\n\t if (!pageResources) {\n\t var location = nextProps.location;\n\t\n\t // Set the pathname for 404 pages.\n\t if (!_loader2.default.getPage(location.pathname)) {\n\t location = _extends({}, location, {\n\t pathname: \"/404.html\"\n\t });\n\t }\n\t\n\t // Page resources won't be set in cases where the browser back button\n\t // or forward button is pushed as we can't wait as normal for resources\n\t // to load before changing the page.\n\t _loader2.default.getResourcesForPathname(location.pathname, function (pageResources) {\n\t _this2.setState({\n\t location: location,\n\t pageResources: pageResources\n\t });\n\t });\n\t } else {\n\t this.setState({\n\t location: nextProps.location,\n\t pageResources: pageResources\n\t });\n\t }\n\t }\n\t };\n\t\n\t ComponentRenderer.prototype.componentDidMount = function componentDidMount() {\n\t var _this3 = this;\n\t\n\t // Listen to events so when our page gets updated, we can transition.\n\t // This is only useful on delayed transitions as the page will get rendered\n\t // without the necessary page resources and then re-render once those come in.\n\t _emitter2.default.on(\"onPostLoadPageResources\", function (e) {\n\t if (_loader2.default.getPage(_this3.state.location.pathname) && e.page.path === _loader2.default.getPage(_this3.state.location.pathname).path) {\n\t _this3.setState({ pageResources: e.pageResources });\n\t }\n\t });\n\t };\n\t\n\t ComponentRenderer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n\t // 404\n\t if (!nextState.pageResources) {\n\t return true;\n\t }\n\t // Check if the component or json have changed.\n\t if (!this.state.pageResources && nextState.pageResources) {\n\t return true;\n\t }\n\t if (this.state.pageResources.component !== nextState.pageResources.component) {\n\t return true;\n\t }\n\t\n\t if (this.state.pageResources.json !== nextState.pageResources.json) {\n\t return true;\n\t }\n\t\n\t // Check if location has changed on a page using internal routing\n\t // via matchPath configuration.\n\t if (this.state.location.key !== nextState.location.key && nextState.pageResources.page && (nextState.pageResources.page.matchPath || nextState.pageResources.page.path)) {\n\t return true;\n\t }\n\t\n\t return (0, _shallowCompare2.default)(this, nextProps, nextState);\n\t };\n\t\n\t ComponentRenderer.prototype.render = function render() {\n\t var pluginResponses = (0, _apiRunnerBrowser.apiRunner)(\"replaceComponentRenderer\", {\n\t props: _extends({}, this.props, { pageResources: this.state.pageResources }),\n\t loader: _loader.publicLoader\n\t });\n\t var replacementComponent = pluginResponses[0];\n\t // If page.\n\t if (this.props.page) {\n\t if (this.state.pageResources) {\n\t return replacementComponent || (0, _react.createElement)(this.state.pageResources.component, _extends({\n\t key: this.props.location.pathname\n\t }, this.props, this.state.pageResources.json));\n\t } else {\n\t return null;\n\t }\n\t // If layout.\n\t } else if (this.props.layout) {\n\t return replacementComponent || (0, _react.createElement)(this.state.pageResources && this.state.pageResources.layout ? this.state.pageResources.layout : DefaultLayout, _extends({\n\t key: this.state.pageResources && this.state.pageResources.layout ? this.state.pageResources.layout : \"DefaultLayout\"\n\t }, this.props));\n\t } else {\n\t return null;\n\t }\n\t };\n\t\n\t return ComponentRenderer;\n\t}(_react2.default.Component);\n\t\n\tComponentRenderer.propTypes = {\n\t page: _propTypes2.default.bool,\n\t layout: _propTypes2.default.bool,\n\t location: _propTypes2.default.object\n\t};\n\t\n\texports.default = ComponentRenderer;\n\tmodule.exports = exports[\"default\"];\n\n/***/ }),\n\n/***/ 61:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _mitt = __webpack_require__(390);\n\t\n\tvar _mitt2 = _interopRequireDefault(_mitt);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar emitter = (0, _mitt2.default)();\n\tmodule.exports = emitter;\n\n/***/ }),\n\n/***/ 233:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _reactRouterDom = __webpack_require__(81);\n\t\n\tvar _stripPrefix = __webpack_require__(139);\n\t\n\tvar _stripPrefix2 = _interopRequireDefault(_stripPrefix);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t// TODO add tests especially for handling prefixed links.\n\tvar pageCache = {};\n\t\n\tmodule.exports = function (pages) {\n\t var pathPrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n\t return function (rawPathname) {\n\t var pathname = decodeURIComponent(rawPathname);\n\t\n\t // Remove the pathPrefix from the pathname.\n\t var trimmedPathname = (0, _stripPrefix2.default)(pathname, pathPrefix);\n\t\n\t // Remove any hashfragment\n\t if (trimmedPathname.split(\"#\").length > 1) {\n\t trimmedPathname = trimmedPathname.split(\"#\").slice(0, -1).join(\"\");\n\t }\n\t\n\t // Remove search query\n\t if (trimmedPathname.split(\"?\").length > 1) {\n\t trimmedPathname = trimmedPathname.split(\"?\").slice(0, -1).join(\"\");\n\t }\n\t\n\t if (pageCache[trimmedPathname]) {\n\t return pageCache[trimmedPathname];\n\t }\n\t\n\t var foundPage = void 0;\n\t // Array.prototype.find is not supported in IE so we use this somewhat odd\n\t // work around.\n\t pages.some(function (page) {\n\t if (page.matchPath) {\n\t // Try both the path and matchPath\n\t if ((0, _reactRouterDom.matchPath)(trimmedPathname, { path: page.path }) || (0, _reactRouterDom.matchPath)(trimmedPathname, {\n\t path: page.matchPath\n\t })) {\n\t foundPage = page;\n\t pageCache[trimmedPathname] = page;\n\t return true;\n\t }\n\t } else {\n\t if ((0, _reactRouterDom.matchPath)(trimmedPathname, {\n\t path: page.path,\n\t exact: true\n\t })) {\n\t foundPage = page;\n\t pageCache[trimmedPathname] = page;\n\t return true;\n\t }\n\t\n\t // Finally, try and match request with default document.\n\t if ((0, _reactRouterDom.matchPath)(trimmedPathname, {\n\t path: page.path + \"index.html\"\n\t })) {\n\t foundPage = page;\n\t pageCache[trimmedPathname] = page;\n\t return true;\n\t }\n\t }\n\t\n\t return false;\n\t });\n\t\n\t return foundPage;\n\t };\n\t};\n\n/***/ }),\n\n/***/ 234:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _createBrowserHistory = __webpack_require__(374);\n\t\n\tvar _createBrowserHistory2 = _interopRequireDefault(_createBrowserHistory);\n\t\n\tvar _apiRunnerBrowser = __webpack_require__(83);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar pluginResponses = (0, _apiRunnerBrowser.apiRunner)(\"replaceHistory\");\n\tvar replacementHistory = pluginResponses[0];\n\tvar history = replacementHistory || (0, _createBrowserHistory2.default)();\n\tmodule.exports = history;\n\n/***/ }),\n\n/***/ 359:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(178698757827068, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(378) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 358:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(254022195166212, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(379) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 360:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(273950069227526, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(380) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 361:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(235776908455345, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(381) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 362:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(168242014180752, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(382) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 363:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(184662623972074, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(383) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 364:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(183279941031601, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(384) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 365:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(51177141961796, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(385) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 366:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(142629428675168, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(386) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 357:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(60335399758886, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(112) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 367:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(113734519205298, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(387) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 350:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(114276838955818, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(235) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 138:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process) {\"use strict\";\n\t\n\texports.__esModule = true;\n\texports.publicLoader = undefined;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _findPage = __webpack_require__(233);\n\t\n\tvar _findPage2 = _interopRequireDefault(_findPage);\n\t\n\tvar _emitter = __webpack_require__(61);\n\t\n\tvar _emitter2 = _interopRequireDefault(_emitter);\n\t\n\tvar _stripPrefix = __webpack_require__(139);\n\t\n\tvar _stripPrefix2 = _interopRequireDefault(_stripPrefix);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar findPage = void 0;\n\t\n\tvar syncRequires = {};\n\tvar asyncRequires = {};\n\tvar pathScriptsCache = {};\n\tvar resourceStrCache = {};\n\tvar resourceCache = {};\n\tvar pages = [];\n\t// Note we're not actively using the path data atm. There\n\t// could be future optimizations however around trying to ensure\n\t// we load all resources for likely-to-be-visited paths.\n\tvar pathArray = [];\n\tvar pathCount = {};\n\tvar pathPrefix = \"\";\n\tvar resourcesArray = [];\n\tvar resourcesCount = {};\n\tvar preferDefault = function preferDefault(m) {\n\t return m && m.default || m;\n\t};\n\tvar prefetcher = void 0;\n\tvar inInitialRender = true;\n\tvar fetchHistory = [];\n\tvar failedPaths = {};\n\tvar failedResources = {};\n\tvar MAX_HISTORY = 5;\n\t\n\t// Prefetcher logic\n\tif (true) {\n\t prefetcher = __webpack_require__(236)({\n\t getNextQueuedResources: function getNextQueuedResources() {\n\t return resourcesArray.slice(-1)[0];\n\t },\n\t createResourceDownload: function createResourceDownload(resourceName) {\n\t fetchResource(resourceName, function () {\n\t resourcesArray = resourcesArray.filter(function (r) {\n\t return r !== resourceName;\n\t });\n\t prefetcher.onResourcedFinished(resourceName);\n\t });\n\t }\n\t });\n\t _emitter2.default.on(\"onPreLoadPageResources\", function (e) {\n\t prefetcher.onPreLoadPageResources(e);\n\t });\n\t _emitter2.default.on(\"onPostLoadPageResources\", function (e) {\n\t prefetcher.onPostLoadPageResources(e);\n\t });\n\t}\n\t\n\tvar sortResourcesByCount = function sortResourcesByCount(a, b) {\n\t if (resourcesCount[a] > resourcesCount[b]) {\n\t return 1;\n\t } else if (resourcesCount[a] < resourcesCount[b]) {\n\t return -1;\n\t } else {\n\t return 0;\n\t }\n\t};\n\t\n\tvar sortPagesByCount = function sortPagesByCount(a, b) {\n\t if (pathCount[a] > pathCount[b]) {\n\t return 1;\n\t } else if (pathCount[a] < pathCount[b]) {\n\t return -1;\n\t } else {\n\t return 0;\n\t }\n\t};\n\t\n\tvar fetchResource = function fetchResource(resourceName) {\n\t var cb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};\n\t\n\t if (resourceStrCache[resourceName]) {\n\t process.nextTick(function () {\n\t cb(null, resourceStrCache[resourceName]);\n\t });\n\t } else {\n\t // Find resource\n\t var resourceFunction = void 0;\n\t if (resourceName.slice(0, 12) === \"component---\") {\n\t resourceFunction = asyncRequires.components[resourceName];\n\t } else if (resourceName.slice(0, 9) === \"layout---\") {\n\t resourceFunction = asyncRequires.layouts[resourceName];\n\t } else {\n\t resourceFunction = asyncRequires.json[resourceName];\n\t }\n\t\n\t // Download the resource\n\t resourceFunction(function (err, executeChunk) {\n\t resourceStrCache[resourceName] = executeChunk;\n\t fetchHistory.push({\n\t resource: resourceName,\n\t succeeded: !err\n\t });\n\t\n\t if (!failedResources[resourceName]) {\n\t failedResources[resourceName] = err;\n\t }\n\t\n\t fetchHistory = fetchHistory.slice(-MAX_HISTORY);\n\t cb(err, executeChunk);\n\t });\n\t }\n\t};\n\t\n\tvar getResourceModule = function getResourceModule(resourceName, cb) {\n\t if (resourceCache[resourceName]) {\n\t process.nextTick(function () {\n\t cb(null, resourceCache[resourceName]);\n\t });\n\t } else if (failedResources[resourceName]) {\n\t process.nextTick(function () {\n\t cb(failedResources[resourceName]);\n\t });\n\t } else {\n\t fetchResource(resourceName, function (err, executeChunk) {\n\t if (err) {\n\t cb(err);\n\t } else {\n\t var module = preferDefault(executeChunk());\n\t resourceCache[resourceName] = module;\n\t cb(err, module);\n\t }\n\t });\n\t }\n\t};\n\t\n\tvar appearsOnLine = function appearsOnLine() {\n\t var isOnLine = navigator.onLine;\n\t if (typeof isOnLine === \"boolean\") {\n\t return isOnLine;\n\t }\n\t\n\t // If no navigator.onLine support assume onLine if any of last N fetches succeeded\n\t var succeededFetch = fetchHistory.find(function (entry) {\n\t return entry.succeeded;\n\t });\n\t return !!succeededFetch;\n\t};\n\t\n\tvar handleResourceLoadError = function handleResourceLoadError(path, message) {\n\t console.log(message);\n\t\n\t if (!failedPaths[path]) {\n\t failedPaths[path] = message;\n\t }\n\t\n\t if (appearsOnLine() && window.location.pathname.replace(/\\/$/g, \"\") !== path.replace(/\\/$/g, \"\")) {\n\t window.location.pathname = path;\n\t }\n\t};\n\t\n\tvar mountOrder = 1;\n\tvar queue = {\n\t empty: function empty() {\n\t pathArray = [];\n\t pathCount = {};\n\t resourcesCount = {};\n\t resourcesArray = [];\n\t pages = [];\n\t pathPrefix = \"\";\n\t },\n\t addPagesArray: function addPagesArray(newPages) {\n\t pages = newPages;\n\t if (true) {\n\t if (false) pathPrefix = __PATH_PREFIX__;\n\t }\n\t findPage = (0, _findPage2.default)(newPages, pathPrefix);\n\t },\n\t addDevRequires: function addDevRequires(devRequires) {\n\t syncRequires = devRequires;\n\t },\n\t addProdRequires: function addProdRequires(prodRequires) {\n\t asyncRequires = prodRequires;\n\t },\n\t dequeue: function dequeue() {\n\t return pathArray.pop();\n\t },\n\t enqueue: function enqueue(rawPath) {\n\t // Check page exists.\n\t var path = (0, _stripPrefix2.default)(rawPath, pathPrefix);\n\t if (!pages.some(function (p) {\n\t return p.path === path;\n\t })) {\n\t return false;\n\t }\n\t\n\t var mountOrderBoost = 1 / mountOrder;\n\t mountOrder += 1;\n\t // console.log(\n\t // `enqueue \"${path}\", mountOrder: \"${mountOrder}, mountOrderBoost: ${mountOrderBoost}`\n\t // )\n\t\n\t // Add to path counts.\n\t if (!pathCount[path]) {\n\t pathCount[path] = 1;\n\t } else {\n\t pathCount[path] += 1;\n\t }\n\t\n\t // Add path to queue.\n\t if (!queue.has(path)) {\n\t pathArray.unshift(path);\n\t }\n\t\n\t // Sort pages by pathCount\n\t pathArray.sort(sortPagesByCount);\n\t\n\t // Add resources to queue.\n\t var page = findPage(path);\n\t if (page.jsonName) {\n\t if (!resourcesCount[page.jsonName]) {\n\t resourcesCount[page.jsonName] = 1 + mountOrderBoost;\n\t } else {\n\t resourcesCount[page.jsonName] += 1 + mountOrderBoost;\n\t }\n\t\n\t // Before adding, checking that the JSON resource isn't either\n\t // already queued or been downloading.\n\t if (resourcesArray.indexOf(page.jsonName) === -1 && !resourceStrCache[page.jsonName]) {\n\t resourcesArray.unshift(page.jsonName);\n\t }\n\t }\n\t if (page.componentChunkName) {\n\t if (!resourcesCount[page.componentChunkName]) {\n\t resourcesCount[page.componentChunkName] = 1 + mountOrderBoost;\n\t } else {\n\t resourcesCount[page.componentChunkName] += 1 + mountOrderBoost;\n\t }\n\t\n\t // Before adding, checking that the component resource isn't either\n\t // already queued or been downloading.\n\t if (resourcesArray.indexOf(page.componentChunkName) === -1 && !resourceStrCache[page.jsonName]) {\n\t resourcesArray.unshift(page.componentChunkName);\n\t }\n\t }\n\t\n\t // Sort resources by resourcesCount.\n\t resourcesArray.sort(sortResourcesByCount);\n\t if (true) {\n\t prefetcher.onNewResourcesAdded();\n\t }\n\t\n\t return true;\n\t },\n\t getResources: function getResources() {\n\t return {\n\t resourcesArray: resourcesArray,\n\t resourcesCount: resourcesCount\n\t };\n\t },\n\t getPages: function getPages() {\n\t return {\n\t pathArray: pathArray,\n\t pathCount: pathCount\n\t };\n\t },\n\t getPage: function getPage(pathname) {\n\t return findPage(pathname);\n\t },\n\t has: function has(path) {\n\t return pathArray.some(function (p) {\n\t return p === path;\n\t });\n\t },\n\t getResourcesForPathname: function getResourcesForPathname(path) {\n\t var cb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};\n\t\n\t if (inInitialRender && navigator && navigator.serviceWorker && navigator.serviceWorker.controller && navigator.serviceWorker.controller.state === \"activated\") {\n\t // If we're loading from a service worker (it's already activated on\n\t // this initial render) and we can't find a page, there's a good chance\n\t // we're on a new page that this (now old) service worker doesn't know\n\t // about so we'll unregister it and reload.\n\t if (!findPage(path)) {\n\t navigator.serviceWorker.getRegistrations().then(function (registrations) {\n\t // We would probably need this to\n\t // prevent unnecessary reloading of the page\n\t // while unregistering of ServiceWorker is not happening\n\t if (registrations.length) {\n\t for (var _iterator = registrations, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n\t var _ref;\n\t\n\t if (_isArray) {\n\t if (_i >= _iterator.length) break;\n\t _ref = _iterator[_i++];\n\t } else {\n\t _i = _iterator.next();\n\t if (_i.done) break;\n\t _ref = _i.value;\n\t }\n\t\n\t var registration = _ref;\n\t\n\t registration.unregister();\n\t }\n\t window.location.reload();\n\t }\n\t });\n\t }\n\t }\n\t inInitialRender = false;\n\t // In development we know the code is loaded already\n\t // so we just return with it immediately.\n\t if (false) {\n\t var page = findPage(path);\n\t if (!page) return cb();\n\t var pageResources = {\n\t component: syncRequires.components[page.componentChunkName],\n\t json: syncRequires.json[page.jsonName],\n\t layout: syncRequires.layouts[page.layout],\n\t page: page\n\t };\n\t cb(pageResources);\n\t return pageResources;\n\t // Production code path\n\t } else {\n\t if (failedPaths[path]) {\n\t handleResourceLoadError(path, \"Previously detected load failure for \\\"\" + path + \"\\\"\");\n\t\n\t return cb();\n\t }\n\t\n\t var _page = findPage(path);\n\t\n\t if (!_page) {\n\t handleResourceLoadError(path, \"A page wasn't found for \\\"\" + path + \"\\\"\");\n\t\n\t return cb();\n\t }\n\t\n\t // Use the path from the page so the pathScriptsCache uses\n\t // the normalized path.\n\t path = _page.path;\n\t\n\t // Check if it's in the cache already.\n\t if (pathScriptsCache[path]) {\n\t process.nextTick(function () {\n\t cb(pathScriptsCache[path]);\n\t _emitter2.default.emit(\"onPostLoadPageResources\", {\n\t page: _page,\n\t pageResources: pathScriptsCache[path]\n\t });\n\t });\n\t return pathScriptsCache[path];\n\t }\n\t\n\t _emitter2.default.emit(\"onPreLoadPageResources\", { path: path });\n\t // Nope, we need to load resource(s)\n\t var component = void 0;\n\t var json = void 0;\n\t var layout = void 0;\n\t // Load the component/json/layout and parallel and call this\n\t // function when they're done loading. When both are loaded,\n\t // we move on.\n\t var done = function done() {\n\t if (component && json && (!_page.layoutComponentChunkName || layout)) {\n\t pathScriptsCache[path] = { component: component, json: json, layout: layout, page: _page };\n\t var _pageResources = { component: component, json: json, layout: layout, page: _page };\n\t cb(_pageResources);\n\t _emitter2.default.emit(\"onPostLoadPageResources\", {\n\t page: _page,\n\t pageResources: _pageResources\n\t });\n\t }\n\t };\n\t getResourceModule(_page.componentChunkName, function (err, c) {\n\t if (err) {\n\t handleResourceLoadError(_page.path, \"Loading the component for \" + _page.path + \" failed\");\n\t }\n\t component = c;\n\t done();\n\t });\n\t getResourceModule(_page.jsonName, function (err, j) {\n\t if (err) {\n\t handleResourceLoadError(_page.path, \"Loading the JSON for \" + _page.path + \" failed\");\n\t }\n\t json = j;\n\t done();\n\t });\n\t\n\t _page.layoutComponentChunkName && getResourceModule(_page.layout, function (err, l) {\n\t if (err) {\n\t handleResourceLoadError(_page.path, \"Loading the Layout for \" + _page.path + \" failed\");\n\t }\n\t layout = l;\n\t done();\n\t });\n\t\n\t return undefined;\n\t }\n\t },\n\t peek: function peek(path) {\n\t return pathArray.slice(-1)[0];\n\t },\n\t length: function length() {\n\t return pathArray.length;\n\t },\n\t indexOf: function indexOf(path) {\n\t return pathArray.length - pathArray.indexOf(path) - 1;\n\t }\n\t};\n\t\n\tvar publicLoader = exports.publicLoader = {\n\t getResourcesForPathname: queue.getResourcesForPathname\n\t};\n\t\n\texports.default = queue;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(55)))\n\n/***/ }),\n\n/***/ 388:\n/***/ (function(module, exports) {\n\n\tmodule.exports = [{\"componentChunkName\":\"component---src-templates-feature-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"alarms.json\",\"path\":\"/alarms\"},{\"componentChunkName\":\"component---src-templates-feature-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"background.json\",\"path\":\"/background\"},{\"componentChunkName\":\"component---src-templates-feature-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"error-detection.json\",\"path\":\"/error-detection\"},{\"componentChunkName\":\"component---src-templates-feature-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"validation-chart.json\",\"path\":\"/validation-chart\"},{\"componentChunkName\":\"component---src-pages-404-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"404.json\",\"path\":\"/404/\"},{\"componentChunkName\":\"component---src-pages-about-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"about.json\",\"path\":\"/about/\"},{\"componentChunkName\":\"component---src-pages-contact-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"contact.json\",\"path\":\"/contact/\"},{\"componentChunkName\":\"component---src-pages-disclaimer-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"disclaimer.json\",\"path\":\"/disclaimer/\"},{\"componentChunkName\":\"component---src-pages-index-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"index.json\",\"path\":\"/\"},{\"componentChunkName\":\"component---src-pages-404-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"404-html.json\",\"path\":\"/404.html\"}]\n\n/***/ }),\n\n/***/ 236:\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (_ref) {\n\t var getNextQueuedResources = _ref.getNextQueuedResources,\n\t createResourceDownload = _ref.createResourceDownload;\n\t\n\t var pagesLoading = [];\n\t var resourcesDownloading = [];\n\t\n\t // Do things\n\t var startResourceDownloading = function startResourceDownloading() {\n\t var nextResource = getNextQueuedResources();\n\t if (nextResource) {\n\t resourcesDownloading.push(nextResource);\n\t createResourceDownload(nextResource);\n\t }\n\t };\n\t\n\t var reducer = function reducer(action) {\n\t switch (action.type) {\n\t case \"RESOURCE_FINISHED\":\n\t resourcesDownloading = resourcesDownloading.filter(function (r) {\n\t return r !== action.payload;\n\t });\n\t break;\n\t case \"ON_PRE_LOAD_PAGE_RESOURCES\":\n\t pagesLoading.push(action.payload.path);\n\t break;\n\t case \"ON_POST_LOAD_PAGE_RESOURCES\":\n\t pagesLoading = pagesLoading.filter(function (p) {\n\t return p !== action.payload.page.path;\n\t });\n\t break;\n\t case \"ON_NEW_RESOURCES_ADDED\":\n\t break;\n\t }\n\t\n\t // Take actions.\n\t // Wait for event loop queue to finish.\n\t setTimeout(function () {\n\t if (resourcesDownloading.length === 0 && pagesLoading.length === 0) {\n\t // Start another resource downloading.\n\t startResourceDownloading();\n\t }\n\t }, 0);\n\t };\n\t\n\t return {\n\t onResourcedFinished: function onResourcedFinished(event) {\n\t // Tell prefetcher that the resource finished downloading\n\t // so it can grab the next one.\n\t reducer({ type: \"RESOURCE_FINISHED\", payload: event });\n\t },\n\t onPreLoadPageResources: function onPreLoadPageResources(event) {\n\t // Tell prefetcher a page load has started so it should stop\n\t // loading anything new\n\t reducer({ type: \"ON_PRE_LOAD_PAGE_RESOURCES\", payload: event });\n\t },\n\t onPostLoadPageResources: function onPostLoadPageResources(event) {\n\t // Tell prefetcher a page load has finished so it should start\n\t // loading resources again.\n\t reducer({ type: \"ON_POST_LOAD_PAGE_RESOURCES\", payload: event });\n\t },\n\t onNewResourcesAdded: function onNewResourcesAdded() {\n\t // Tell prefetcher that more resources to be downloaded have\n\t // been added.\n\t reducer({ type: \"ON_NEW_RESOURCES_ADDED\" });\n\t },\n\t getState: function getState() {\n\t return { pagesLoading: pagesLoading, resourcesDownloading: resourcesDownloading };\n\t },\n\t empty: function empty() {\n\t pagesLoading = [];\n\t resourcesDownloading = [];\n\t }\n\t };\n\t};\n\n/***/ }),\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _apiRunnerBrowser = __webpack_require__(83);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(177);\n\t\n\tvar _reactDom2 = _interopRequireDefault(_reactDom);\n\t\n\tvar _reactRouterDom = __webpack_require__(81);\n\t\n\tvar _gatsbyReactRouterScroll = __webpack_require__(372);\n\t\n\tvar _domready = __webpack_require__(337);\n\t\n\tvar _domready2 = _interopRequireDefault(_domready);\n\t\n\tvar _history = __webpack_require__(19);\n\t\n\tvar _history2 = __webpack_require__(234);\n\t\n\tvar _history3 = _interopRequireDefault(_history2);\n\t\n\tvar _emitter = __webpack_require__(61);\n\t\n\tvar _emitter2 = _interopRequireDefault(_emitter);\n\t\n\tvar _pages = __webpack_require__(388);\n\t\n\tvar _pages2 = _interopRequireDefault(_pages);\n\t\n\tvar _redirects = __webpack_require__(389);\n\t\n\tvar _redirects2 = _interopRequireDefault(_redirects);\n\t\n\tvar _componentRenderer = __webpack_require__(232);\n\t\n\tvar _componentRenderer2 = _interopRequireDefault(_componentRenderer);\n\t\n\tvar _asyncRequires = __webpack_require__(231);\n\t\n\tvar _asyncRequires2 = _interopRequireDefault(_asyncRequires);\n\t\n\tvar _loader = __webpack_require__(138);\n\t\n\tvar _loader2 = _interopRequireDefault(_loader);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tif (true) {\n\t __webpack_require__(261);\n\t}\n\t\n\twindow.___history = _history3.default;\n\t\n\twindow.___emitter = _emitter2.default;\n\t\n\t_loader2.default.addPagesArray(_pages2.default);\n\t_loader2.default.addProdRequires(_asyncRequires2.default);\n\twindow.asyncRequires = _asyncRequires2.default;\n\twindow.___loader = _loader2.default;\n\twindow.matchPath = _reactRouterDom.matchPath;\n\t\n\t// Convert to a map for faster lookup in maybeRedirect()\n\tvar redirectMap = _redirects2.default.reduce(function (map, redirect) {\n\t map[redirect.fromPath] = redirect;\n\t return map;\n\t}, {});\n\t\n\tvar maybeRedirect = function maybeRedirect(pathname) {\n\t var redirect = redirectMap[pathname];\n\t\n\t if (redirect != null) {\n\t _history3.default.replace(redirect.toPath);\n\t return true;\n\t } else {\n\t return false;\n\t }\n\t};\n\t\n\t// Check for initial page-load redirect\n\tmaybeRedirect(window.location.pathname);\n\t\n\t// Let the site/plugins run code very early.\n\t(0, _apiRunnerBrowser.apiRunnerAsync)(\"onClientEntry\").then(function () {\n\t // Let plugins register a service worker. The plugin just needs\n\t // to return true.\n\t if ((0, _apiRunnerBrowser.apiRunner)(\"registerServiceWorker\").length > 0) {\n\t __webpack_require__(237);\n\t }\n\t\n\t var navigate = function navigate(to, replace) {\n\t var location = (0, _history.createLocation)(to, null, null, _history3.default.location);\n\t var pathname = location.pathname;\n\t\n\t var redirect = redirectMap[pathname];\n\t\n\t // If we're redirecting, just replace the passed in pathname\n\t // to the one we want to redirect to.\n\t if (redirect) {\n\t pathname = redirect.toPath;\n\t }\n\t var wl = window.location;\n\t\n\t // If we're already at this location, do nothing.\n\t if (wl.pathname === location.pathname && wl.search === location.search && wl.hash === location.hash) {\n\t return;\n\t }\n\t\n\t var historyNavigateFunc = replace ? window.___history.replace : window.___history.push;\n\t\n\t // Listen to loading events. If page resources load before\n\t // a second, navigate immediately.\n\t function eventHandler(e) {\n\t if (e.page.path === _loader2.default.getPage(pathname).path) {\n\t _emitter2.default.off(\"onPostLoadPageResources\", eventHandler);\n\t clearTimeout(timeoutId);\n\t historyNavigateFunc(location);\n\t }\n\t }\n\t\n\t // Start a timer to wait for a second before transitioning and showing a\n\t // loader in case resources aren't around yet.\n\t var timeoutId = setTimeout(function () {\n\t _emitter2.default.off(\"onPostLoadPageResources\", eventHandler);\n\t _emitter2.default.emit(\"onDelayedLoadPageResources\", { pathname: pathname });\n\t historyNavigateFunc(location);\n\t }, 1000);\n\t\n\t if (_loader2.default.getResourcesForPathname(pathname)) {\n\t // The resources are already loaded so off we go.\n\t clearTimeout(timeoutId);\n\t historyNavigateFunc(location);\n\t } else {\n\t // They're not loaded yet so let's add a listener for when\n\t // they finish loading.\n\t _emitter2.default.on(\"onPostLoadPageResources\", eventHandler);\n\t }\n\t };\n\t\n\t // window.___loadScriptsForPath = loadScriptsForPath\n\t window.___push = function (to) {\n\t return navigate(to, false);\n\t };\n\t window.___replace = function (to) {\n\t return navigate(to, true);\n\t };\n\t window.___navigateTo = window.___push;\n\t\n\t // Call onRouteUpdate on the initial page load.\n\t (0, _apiRunnerBrowser.apiRunner)(\"onRouteUpdate\", {\n\t location: _history3.default.location,\n\t action: _history3.default.action\n\t });\n\t\n\t var initialAttachDone = false;\n\t function attachToHistory(history) {\n\t if (!window.___history || initialAttachDone === false) {\n\t window.___history = history;\n\t initialAttachDone = true;\n\t\n\t history.listen(function (location, action) {\n\t if (!maybeRedirect(location.pathname)) {\n\t // Make sure React has had a chance to flush to DOM first.\n\t setTimeout(function () {\n\t (0, _apiRunnerBrowser.apiRunner)(\"onRouteUpdate\", { location: location, action: action });\n\t }, 0);\n\t }\n\t });\n\t }\n\t }\n\t\n\t function shouldUpdateScroll(prevRouterProps, _ref) {\n\t var pathname = _ref.location.pathname;\n\t\n\t var results = (0, _apiRunnerBrowser.apiRunner)(\"shouldUpdateScroll\", {\n\t prevRouterProps: prevRouterProps,\n\t pathname: pathname\n\t });\n\t if (results.length > 0) {\n\t return results[0];\n\t }\n\t\n\t if (prevRouterProps) {\n\t var oldPathname = prevRouterProps.location.pathname;\n\t\n\t if (oldPathname === pathname) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t }\n\t\n\t var AltRouter = (0, _apiRunnerBrowser.apiRunner)(\"replaceRouterComponent\", { history: _history3.default })[0];\n\t var DefaultRouter = function DefaultRouter(_ref2) {\n\t var children = _ref2.children;\n\t return _react2.default.createElement(\n\t _reactRouterDom.Router,\n\t { history: _history3.default },\n\t children\n\t );\n\t };\n\t\n\t var ComponentRendererWithRouter = (0, _reactRouterDom.withRouter)(_componentRenderer2.default);\n\t\n\t _loader2.default.getResourcesForPathname(window.location.pathname, function () {\n\t var Root = function Root() {\n\t return (0, _react.createElement)(AltRouter ? AltRouter : DefaultRouter, null, (0, _react.createElement)(_gatsbyReactRouterScroll.ScrollContext, { shouldUpdateScroll: shouldUpdateScroll }, (0, _react.createElement)(ComponentRendererWithRouter, {\n\t layout: true,\n\t children: function children(layoutProps) {\n\t return (0, _react.createElement)(_reactRouterDom.Route, {\n\t render: function render(routeProps) {\n\t attachToHistory(routeProps.history);\n\t var props = layoutProps ? layoutProps : routeProps;\n\t\n\t if (_loader2.default.getPage(props.location.pathname)) {\n\t return (0, _react.createElement)(_componentRenderer2.default, _extends({\n\t page: true\n\t }, props));\n\t } else {\n\t return (0, _react.createElement)(_componentRenderer2.default, {\n\t page: true,\n\t location: { pathname: \"/404.html\" }\n\t });\n\t }\n\t }\n\t });\n\t }\n\t })));\n\t };\n\t\n\t var NewRoot = (0, _apiRunnerBrowser.apiRunner)(\"wrapRootComponent\", { Root: Root }, Root)[0];\n\t\n\t var renderer = (0, _apiRunnerBrowser.apiRunner)(\"replaceHydrateFunction\", undefined, _reactDom2.default.render)[0];\n\t\n\t (0, _domready2.default)(function () {\n\t return renderer(_react2.default.createElement(NewRoot, null), typeof window !== \"undefined\" ? document.getElementById(\"___gatsby\") : void 0, function () {\n\t (0, _apiRunnerBrowser.apiRunner)(\"onInitialClientRender\");\n\t });\n\t });\n\t });\n\t});\n\n/***/ }),\n\n/***/ 389:\n/***/ (function(module, exports) {\n\n\tmodule.exports = []\n\n/***/ }),\n\n/***/ 237:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _emitter = __webpack_require__(61);\n\t\n\tvar _emitter2 = _interopRequireDefault(_emitter);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar pathPrefix = \"/\";\n\tif (false) {\n\t pathPrefix = __PATH_PREFIX__ + \"/\";\n\t}\n\t\n\tif (\"serviceWorker\" in navigator) {\n\t navigator.serviceWorker.register(pathPrefix + \"sw.js\").then(function (reg) {\n\t reg.addEventListener(\"updatefound\", function () {\n\t // The updatefound event implies that reg.installing is set; see\n\t // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n\t var installingWorker = reg.installing;\n\t console.log(\"installingWorker\", installingWorker);\n\t installingWorker.addEventListener(\"statechange\", function () {\n\t switch (installingWorker.state) {\n\t case \"installed\":\n\t if (navigator.serviceWorker.controller) {\n\t // At this point, the old content will have been purged and the fresh content will\n\t // have been added to the cache.\n\t // We reload immediately so the user sees the new content.\n\t // This could/should be made configurable in the future.\n\t window.location.reload();\n\t } else {\n\t // At this point, everything has been precached.\n\t // It's the perfect time to display a \"Content is cached for offline use.\" message.\n\t console.log(\"Content is now available offline!\");\n\t _emitter2.default.emit(\"sw:installed\");\n\t }\n\t break;\n\t\n\t case \"redundant\":\n\t console.error(\"The installing service worker became redundant.\");\n\t break;\n\t }\n\t });\n\t });\n\t }).catch(function (e) {\n\t console.error(\"Error during service worker registration:\", e);\n\t });\n\t}\n\n/***/ }),\n\n/***/ 139:\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\t/**\n\t * Remove a prefix from a string. Return the input string if the given prefix\n\t * isn't found.\n\t */\n\t\n\texports.default = function (str) {\n\t var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n\t\n\t if (str.substr(0, prefix.length) === prefix) return str.slice(prefix.length);\n\t return str;\n\t};\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }),\n\n/***/ 238:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _objectFitImages = __webpack_require__(391);\n\t\n\tvar _objectFitImages2 = _interopRequireDefault(_objectFitImages);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.onInitialClientRender = function () {\n\t (0, _objectFitImages2.default)();\n\t};\n\n/***/ }),\n\n/***/ 46:\n/***/ (function(module, exports) {\n\n\tfunction _interopRequireDefault(obj) {\n\t return obj && obj.__esModule ? obj : {\n\t \"default\": obj\n\t };\n\t}\n\tmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n/***/ }),\n\n/***/ 337:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/*!\n\t * domready (c) Dustin Diaz 2014 - License MIT\n\t */\n\t!function (name, definition) {\n\t\n\t if (true) module.exports = definition()\n\t else if (typeof define == 'function' && typeof define.amd == 'object') define(definition)\n\t else this[name] = definition()\n\t\n\t}('domready', function () {\n\t\n\t var fns = [], listener\n\t , doc = document\n\t , hack = doc.documentElement.doScroll\n\t , domContentLoaded = 'DOMContentLoaded'\n\t , loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState)\n\t\n\t\n\t if (!loaded)\n\t doc.addEventListener(domContentLoaded, listener = function () {\n\t doc.removeEventListener(domContentLoaded, listener)\n\t loaded = 1\n\t while (listener = fns.shift()) listener()\n\t })\n\t\n\t return function (fn) {\n\t loaded ? setTimeout(fn, 0) : fns.push(fn)\n\t }\n\t\n\t});\n\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\t/* global document: false, __webpack_require__: false */\n\tpatch();\n\t\n\tfunction patch() {\n\t var head = document.querySelector(\"head\");\n\t var ensure = __webpack_require__.e;\n\t var chunks = __webpack_require__.s;\n\t var failures;\n\t\n\t __webpack_require__.e = function (chunkId, callback) {\n\t var loaded = false;\n\t var immediate = true;\n\t\n\t var handler = function handler(error) {\n\t if (!callback) return;\n\t\n\t callback(__webpack_require__, error);\n\t callback = null;\n\t };\n\t\n\t if (!chunks && failures && failures[chunkId]) {\n\t handler(true);\n\t return;\n\t }\n\t\n\t ensure(chunkId, function () {\n\t if (loaded) return;\n\t loaded = true;\n\t\n\t if (immediate) {\n\t // webpack fires callback immediately if chunk was already loaded\n\t // IE also fires callback immediately if script was already\n\t // in a cache (AppCache counts too)\n\t setTimeout(function () {\n\t handler();\n\t });\n\t } else {\n\t handler();\n\t }\n\t });\n\t\n\t // This is |true| if chunk is already loaded and does not need onError call.\n\t // This happens because in such case ensure() is performed in sync way\n\t if (loaded) {\n\t return;\n\t }\n\t\n\t immediate = false;\n\t\n\t onError(function () {\n\t if (loaded) return;\n\t loaded = true;\n\t\n\t if (chunks) {\n\t chunks[chunkId] = void 0;\n\t } else {\n\t failures || (failures = {});\n\t failures[chunkId] = true;\n\t }\n\t\n\t handler(true);\n\t });\n\t };\n\t\n\t function onError(callback) {\n\t var script = head.lastChild;\n\t\n\t if (script.tagName !== \"SCRIPT\") {\n\t if (typeof console !== \"undefined\" && console.warn) {\n\t console.warn(\"Script is not a script\", script);\n\t }\n\t\n\t return;\n\t }\n\t\n\t script.onload = script.onerror = function () {\n\t script.onload = script.onerror = null;\n\t setTimeout(callback, 0);\n\t };\n\t }\n\t}\n\n/***/ }),\n\n/***/ 368:\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.onRouteUpdate = function (_ref) {\n\t var location = _ref.location;\n\t\n\t var domElem = document.querySelector(\"link[rel='canonical']\");\n\t var existingValue = domElem.getAttribute(\"href\");\n\t var baseProtocol = domElem.getAttribute(\"data-baseProtocol\");\n\t var baseHost = domElem.getAttribute(\"data-baseHost\");\n\t if (existingValue && baseProtocol && baseHost) {\n\t domElem.setAttribute(\"href\", baseProtocol + \"//\" + baseHost + location.pathname + location.search + location.hash);\n\t }\n\t};\n\n/***/ }),\n\n/***/ 390:\n/***/ (function(module, exports) {\n\n\tfunction n(n){return n=n||Object.create(null),{on:function(c,e){(n[c]||(n[c]=[])).push(e)},off:function(c,e){n[c]&&n[c].splice(n[c].indexOf(e)>>>0,1)},emit:function(c,e){(n[c]||[]).slice().map(function(n){n(e)}),(n[\"*\"]||[]).slice().map(function(n){n(c,e)})}}}module.exports=n;\n\t//# sourceMappingURL=mitt.js.map\n\n/***/ }),\n\n/***/ 391:\n/***/ (function(module, exports) {\n\n\t/*! npm.im/object-fit-images 3.2.4 */\n\t'use strict';\n\t\n\tvar OFI = 'bfred-it:object-fit-images';\n\tvar propRegex = /(object-fit|object-position)\\s*:\\s*([-.\\w\\s%]+)/g;\n\tvar testImg = typeof Image === 'undefined' ? {style: {'object-position': 1}} : new Image();\n\tvar supportsObjectFit = 'object-fit' in testImg.style;\n\tvar supportsObjectPosition = 'object-position' in testImg.style;\n\tvar supportsOFI = 'background-size' in testImg.style;\n\tvar supportsCurrentSrc = typeof testImg.currentSrc === 'string';\n\tvar nativeGetAttribute = testImg.getAttribute;\n\tvar nativeSetAttribute = testImg.setAttribute;\n\tvar autoModeEnabled = false;\n\t\n\tfunction createPlaceholder(w, h) {\n\t\treturn (\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='\" + w + \"' height='\" + h + \"'%3E%3C/svg%3E\");\n\t}\n\t\n\tfunction polyfillCurrentSrc(el) {\n\t\tif (el.srcset && !supportsCurrentSrc && window.picturefill) {\n\t\t\tvar pf = window.picturefill._;\n\t\t\t// parse srcset with picturefill where currentSrc isn't available\n\t\t\tif (!el[pf.ns] || !el[pf.ns].evaled) {\n\t\t\t\t// force synchronous srcset parsing\n\t\t\t\tpf.fillImg(el, {reselect: true});\n\t\t\t}\n\t\n\t\t\tif (!el[pf.ns].curSrc) {\n\t\t\t\t// force picturefill to parse srcset\n\t\t\t\tel[pf.ns].supported = false;\n\t\t\t\tpf.fillImg(el, {reselect: true});\n\t\t\t}\n\t\n\t\t\t// retrieve parsed currentSrc, if any\n\t\t\tel.currentSrc = el[pf.ns].curSrc || el.src;\n\t\t}\n\t}\n\t\n\tfunction getStyle(el) {\n\t\tvar style = getComputedStyle(el).fontFamily;\n\t\tvar parsed;\n\t\tvar props = {};\n\t\twhile ((parsed = propRegex.exec(style)) !== null) {\n\t\t\tprops[parsed[1]] = parsed[2];\n\t\t}\n\t\treturn props;\n\t}\n\t\n\tfunction setPlaceholder(img, width, height) {\n\t\t// Default: fill width, no height\n\t\tvar placeholder = createPlaceholder(width || 1, height || 0);\n\t\n\t\t// Only set placeholder if it's different\n\t\tif (nativeGetAttribute.call(img, 'src') !== placeholder) {\n\t\t\tnativeSetAttribute.call(img, 'src', placeholder);\n\t\t}\n\t}\n\t\n\tfunction onImageReady(img, callback) {\n\t\t// naturalWidth is only available when the image headers are loaded,\n\t\t// this loop will poll it every 100ms.\n\t\tif (img.naturalWidth) {\n\t\t\tcallback(img);\n\t\t} else {\n\t\t\tsetTimeout(onImageReady, 100, img, callback);\n\t\t}\n\t}\n\t\n\tfunction fixOne(el) {\n\t\tvar style = getStyle(el);\n\t\tvar ofi = el[OFI];\n\t\tstyle['object-fit'] = style['object-fit'] || 'fill'; // default value\n\t\n\t\t// Avoid running where unnecessary, unless OFI had already done its deed\n\t\tif (!ofi.img) {\n\t\t\t// fill is the default behavior so no action is necessary\n\t\t\tif (style['object-fit'] === 'fill') {\n\t\t\t\treturn;\n\t\t\t}\n\t\n\t\t\t// Where object-fit is supported and object-position isn't (Safari < 10)\n\t\t\tif (\n\t\t\t\t!ofi.skipTest && // unless user wants to apply regardless of browser support\n\t\t\t\tsupportsObjectFit && // if browser already supports object-fit\n\t\t\t\t!style['object-position'] // unless object-position is used\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\n\t\t// keep a clone in memory while resetting the original to a blank\n\t\tif (!ofi.img) {\n\t\t\tofi.img = new Image(el.width, el.height);\n\t\t\tofi.img.srcset = nativeGetAttribute.call(el, \"data-ofi-srcset\") || el.srcset;\n\t\t\tofi.img.src = nativeGetAttribute.call(el, \"data-ofi-src\") || el.src;\n\t\n\t\t\t// preserve for any future cloneNode calls\n\t\t\t// https://github.com/bfred-it/object-fit-images/issues/53\n\t\t\tnativeSetAttribute.call(el, \"data-ofi-src\", el.src);\n\t\t\tif (el.srcset) {\n\t\t\t\tnativeSetAttribute.call(el, \"data-ofi-srcset\", el.srcset);\n\t\t\t}\n\t\n\t\t\tsetPlaceholder(el, el.naturalWidth || el.width, el.naturalHeight || el.height);\n\t\n\t\t\t// remove srcset because it overrides src\n\t\t\tif (el.srcset) {\n\t\t\t\tel.srcset = '';\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tkeepSrcUsable(el);\n\t\t\t} catch (err) {\n\t\t\t\tif (window.console) {\n\t\t\t\t\tconsole.warn('https://bit.ly/ofi-old-browser');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\tpolyfillCurrentSrc(ofi.img);\n\t\n\t\tel.style.backgroundImage = \"url(\\\"\" + ((ofi.img.currentSrc || ofi.img.src).replace(/\"/g, '\\\\\"')) + \"\\\")\";\n\t\tel.style.backgroundPosition = style['object-position'] || 'center';\n\t\tel.style.backgroundRepeat = 'no-repeat';\n\t\tel.style.backgroundOrigin = 'content-box';\n\t\n\t\tif (/scale-down/.test(style['object-fit'])) {\n\t\t\tonImageReady(ofi.img, function () {\n\t\t\t\tif (ofi.img.naturalWidth > el.width || ofi.img.naturalHeight > el.height) {\n\t\t\t\t\tel.style.backgroundSize = 'contain';\n\t\t\t\t} else {\n\t\t\t\t\tel.style.backgroundSize = 'auto';\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tel.style.backgroundSize = style['object-fit'].replace('none', 'auto').replace('fill', '100% 100%');\n\t\t}\n\t\n\t\tonImageReady(ofi.img, function (img) {\n\t\t\tsetPlaceholder(el, img.naturalWidth, img.naturalHeight);\n\t\t});\n\t}\n\t\n\tfunction keepSrcUsable(el) {\n\t\tvar descriptors = {\n\t\t\tget: function get(prop) {\n\t\t\t\treturn el[OFI].img[prop ? prop : 'src'];\n\t\t\t},\n\t\t\tset: function set(value, prop) {\n\t\t\t\tel[OFI].img[prop ? prop : 'src'] = value;\n\t\t\t\tnativeSetAttribute.call(el, (\"data-ofi-\" + prop), value); // preserve for any future cloneNode\n\t\t\t\tfixOne(el);\n\t\t\t\treturn value;\n\t\t\t}\n\t\t};\n\t\tObject.defineProperty(el, 'src', descriptors);\n\t\tObject.defineProperty(el, 'currentSrc', {\n\t\t\tget: function () { return descriptors.get('currentSrc'); }\n\t\t});\n\t\tObject.defineProperty(el, 'srcset', {\n\t\t\tget: function () { return descriptors.get('srcset'); },\n\t\t\tset: function (ss) { return descriptors.set(ss, 'srcset'); }\n\t\t});\n\t}\n\t\n\tfunction hijackAttributes() {\n\t\tfunction getOfiImageMaybe(el, name) {\n\t\t\treturn el[OFI] && el[OFI].img && (name === 'src' || name === 'srcset') ? el[OFI].img : el;\n\t\t}\n\t\tif (!supportsObjectPosition) {\n\t\t\tHTMLImageElement.prototype.getAttribute = function (name) {\n\t\t\t\treturn nativeGetAttribute.call(getOfiImageMaybe(this, name), name);\n\t\t\t};\n\t\n\t\t\tHTMLImageElement.prototype.setAttribute = function (name, value) {\n\t\t\t\treturn nativeSetAttribute.call(getOfiImageMaybe(this, name), name, String(value));\n\t\t\t};\n\t\t}\n\t}\n\t\n\tfunction fix(imgs, opts) {\n\t\tvar startAutoMode = !autoModeEnabled && !imgs;\n\t\topts = opts || {};\n\t\timgs = imgs || 'img';\n\t\n\t\tif ((supportsObjectPosition && !opts.skipTest) || !supportsOFI) {\n\t\t\treturn false;\n\t\t}\n\t\n\t\t// use imgs as a selector or just select all images\n\t\tif (imgs === 'img') {\n\t\t\timgs = document.getElementsByTagName('img');\n\t\t} else if (typeof imgs === 'string') {\n\t\t\timgs = document.querySelectorAll(imgs);\n\t\t} else if (!('length' in imgs)) {\n\t\t\timgs = [imgs];\n\t\t}\n\t\n\t\t// apply fix to all\n\t\tfor (var i = 0; i < imgs.length; i++) {\n\t\t\timgs[i][OFI] = imgs[i][OFI] || {\n\t\t\t\tskipTest: opts.skipTest\n\t\t\t};\n\t\t\tfixOne(imgs[i]);\n\t\t}\n\t\n\t\tif (startAutoMode) {\n\t\t\tdocument.body.addEventListener('load', function (e) {\n\t\t\t\tif (e.target.tagName === 'IMG') {\n\t\t\t\t\tfix(e.target, {\n\t\t\t\t\t\tskipTest: opts.skipTest\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}, true);\n\t\t\tautoModeEnabled = true;\n\t\t\timgs = 'img'; // reset to a generic selector for watchMQ\n\t\t}\n\t\n\t\t// if requested, watch media queries for object-fit change\n\t\tif (opts.watchMQ) {\n\t\t\twindow.addEventListener('resize', fix.bind(null, imgs, {\n\t\t\t\tskipTest: opts.skipTest\n\t\t\t}));\n\t\t}\n\t}\n\t\n\tfix.supportsObjectFit = supportsObjectFit;\n\tfix.supportsObjectPosition = supportsObjectPosition;\n\t\n\thijackAttributes();\n\t\n\tmodule.exports = fix;\n\n\n/***/ }),\n\n/***/ 499:\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t// Pulled from react-compat\n\t// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\n\tfunction shallowDiffers(a, b) {\n\t for (var i in a) {\n\t if (!(i in b)) return true;\n\t }for (var _i in b) {\n\t if (a[_i] !== b[_i]) return true;\n\t }return false;\n\t}\n\t\n\texports.default = function (instance, nextProps, nextState) {\n\t return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n\t};\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }),\n\n/***/ 351:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(162898551421021, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(246) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 352:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(263791100135453, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(247) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 353:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(70144966829960, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(248) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 354:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(277423997445353, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(249) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 355:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(35783957827783, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(250) })\n\t }\n\t });\n\t }\n\t \n\n/***/ }),\n\n/***/ 356:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t 9\n\t );\n\t module.exports = function(cb) { return __webpack_require__.e/* nsure */(199700796789862, function(_, error) {\n\t if (error) {\n\t console.log('bundle loading error', error)\n\t cb(true)\n\t } else {\n\t cb(null, function() { return __webpack_require__(252) })\n\t }\n\t });\n\t }\n\t \n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// app-b20f4d284d2d7f3d7905.js","var plugins = [{\n plugin: require('D:/agents/huvaros/a1/_work/2/s/node_modules/gatsby-plugin-canonical-urls/gatsby-browser'),\n options: {\"plugins\":[],\"siteUrl\":\"https://www.huvaros.com\"},\n },{\n plugin: require('D:/agents/huvaros/a1/_work/2/s/gatsby-browser'),\n options: {\"plugins\":[]},\n }]\n// During bootstrap, we write requires at top of this file which looks\n// basically like:\n// var plugins = [\n// {\n// plugin: require(\"/path/to/plugin1/gatsby-browser.js\"),\n// options: { ... },\n// },\n// {\n// plugin: require(\"/path/to/plugin2/gatsby-browser.js\"),\n// options: { ... },\n// },\n// ]\n\nexport function apiRunner(api, args, defaultReturn) {\n let results = plugins.map(plugin => {\n if (plugin.plugin[api]) {\n const result = plugin.plugin[api](args, plugin.options)\n return result\n }\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexport function apiRunnerAsync(api, args, defaultReturn) {\n return plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n}\n\n\n\n// WEBPACK FOOTER //\n// ./.cache/api-runner-browser.js","// prefer default export if available\nconst preferDefault = m => m && m.default || m\n\nexports.components = {\n \"component---src-templates-feature-js\": require(\"gatsby-module-loader?name=component---src-templates-feature-js!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\src\\\\templates\\\\feature.js\"),\n \"component---src-pages-404-js\": require(\"gatsby-module-loader?name=component---src-pages-404-js!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\src\\\\pages\\\\404.js\"),\n \"component---src-pages-about-js\": require(\"gatsby-module-loader?name=component---src-pages-about-js!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\src\\\\pages\\\\about.js\"),\n \"component---src-pages-contact-js\": require(\"gatsby-module-loader?name=component---src-pages-contact-js!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\src\\\\pages\\\\contact.js\"),\n \"component---src-pages-disclaimer-js\": require(\"gatsby-module-loader?name=component---src-pages-disclaimer-js!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\src\\\\pages\\\\disclaimer.js\"),\n \"component---src-pages-index-js\": require(\"gatsby-module-loader?name=component---src-pages-index-js!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\src\\\\pages\\\\index.js\")\n}\n\nexports.json = {\n \"layout-index.json\": require(\"gatsby-module-loader?name=path---!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\.cache\\\\json\\\\layout-index.json\"),\n \"alarms.json\": require(\"gatsby-module-loader?name=path---alarms!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\.cache\\\\json\\\\alarms.json\"),\n \"background.json\": require(\"gatsby-module-loader?name=path---background!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\.cache\\\\json\\\\background.json\"),\n \"error-detection.json\": require(\"gatsby-module-loader?name=path---error-detection!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\.cache\\\\json\\\\error-detection.json\"),\n \"validation-chart.json\": require(\"gatsby-module-loader?name=path---validation-chart!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\.cache\\\\json\\\\validation-chart.json\"),\n \"404.json\": require(\"gatsby-module-loader?name=path---404!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\.cache\\\\json\\\\404.json\"),\n \"about.json\": require(\"gatsby-module-loader?name=path---about!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\.cache\\\\json\\\\about.json\"),\n \"contact.json\": require(\"gatsby-module-loader?name=path---contact!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\.cache\\\\json\\\\contact.json\"),\n \"disclaimer.json\": require(\"gatsby-module-loader?name=path---disclaimer!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\.cache\\\\json\\\\disclaimer.json\"),\n \"index.json\": require(\"gatsby-module-loader?name=path---index!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\.cache\\\\json\\\\index.json\"),\n \"404-html.json\": require(\"gatsby-module-loader?name=path---404-html!D:\\\\agents\\\\huvaros\\\\a1\\\\_work\\\\2\\\\s\\\\.cache\\\\json\\\\404-html.json\")\n}\n\nexports.layouts = {\n \"layout---index\": require(\"gatsby-module-loader?name=component---src-layouts-index-js!D:/agents/huvaros/a1/_work/2/s/.cache/layouts/index.js\")\n}\n\n\n// WEBPACK FOOTER //\n// ./.cache/async-requires.js","import React, { createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { publicLoader } from \"./loader\"\nimport emitter from \"./emitter\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport shallowCompare from \"shallow-compare\"\n\nconst DefaultLayout = ({ children }) =>