{"version":3,"sources":["webpack:///app-d37415839a4a9e5b07ce.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?7ebb","webpack:///./.cache/json/404.json?5e2d","webpack:///./.cache/json/index.json?b613","webpack:///./.cache/json/layout-index.json?b0a6","webpack:///./.cache/json/make-money-writing-online-html.json?d040","webpack:///./.cache/json/online-writing-jobs-html.json?1919","webpack:///./.cache/json/writing-jobs-from-home-html.json?c89b","webpack:///./.cache/layouts/index.js?28e7","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:///./src/pages/404.js?bf9d","webpack:///./src/pages/index.js?4f94","webpack:///./src/pages/make_money_writing_online.html.js?2210","webpack:///./src/pages/online_writing_jobs.html.js?e482","webpack:///./src/pages/writing_jobs_from_home.html.js?a7a6","webpack:////home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/@babel/runtime/helpers/interopRequireDefault.js","webpack:////home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/domready/ready.js","webpack:////home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-module-loader/patch.js","webpack:////home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-plugin-google-tagmanager/gatsby-browser.js","webpack:////home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/mitt/dist/mitt.js","webpack:////home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/process/browser.js?2ad5","webpack:////home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/shallow-compare/lib/index.js"],"names":["webpackJsonp","92","module","exports","__webpack_require__","_interopRequireDefault","obj","__esModule","default","apiRunner","api","args","defaultReturn","results","plugins","map","plugin","result","options","filter","length","apiRunnerAsync","reduce","previous","next","then","_promise2","resolve","_promise","id","219","components","component---src-pages-404-js","component---src-pages-index-js","component---src-pages-make-money-writing-online-html-js","component---src-pages-online-writing-jobs-html-js","component---src-pages-writing-jobs-from-home-html-js","json","layout-index.json","404.json","index.json","make-money-writing-online-html.json","online-writing-jobs-html.json","writing-jobs-from-home-html.json","404-html.json","layouts","layout---index","220","_extends2","_extends3","_classCallCheck2","_classCallCheck3","_possibleConstructorReturn2","_possibleConstructorReturn3","_inherits2","_inherits3","_react","_react2","_propTypes","_propTypes2","_loader","_loader2","_emitter","_emitter2","_apiRunnerBrowser","_shallowCompare","_shallowCompare2","DefaultLayout","_ref","children","createElement","ComponentRenderer","_React$Component","props","this","_this","call","location","loader","getPage","pathname","state","pageResources","getResourcesForPathname","prototype","componentWillReceiveProps","nextProps","_this2","setState","componentDidMount","_this3","emitter","on","e","page","path","shouldComponentUpdate","nextState","component","key","matchPath","render","pluginResponses","publicLoader","replacementComponent","layout","React","Component","propTypes","PropTypes","bool","object","70","_mitt","_mitt2","221","_reactRouterDom","_stripPrefix","_stripPrefix2","pageCache","pages","pathPrefix","arguments","undefined","rawPathname","decodeURIComponent","trimmedPathname","split","slice","join","foundPage","some","exact","222","_createBrowserHistory","_createBrowserHistory2","replacementHistory","history","363","cb","_","error","console","log","362","364","361","365","366","367","355","142","process","_getIterator2","_getIterator3","_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","done","value","registration","unregister","reload","emit","layoutComponentChunkName","c","j","l","peek","385","224","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","386","225","register","reg","addEventListener","installingWorker","installing","catch","143","str","prefix","substr","356","357","358","359","360","48","338","name","definition","listener","fns","doc","hack","documentElement","doScroll","domContentLoaded","loaded","test","readyState","removeEventListener","shift","fn","17","patch","onError","callback","script","head","lastChild","tagName","warn","onload","onerror","failures","querySelector","ensure","chunks","s","chunkId","immediate","handler","368","onRouteUpdate","pluginOptions","dataLayer","388","n","Object","create","splice","61","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","concat","queueIndex","drainQueue","timeout","len","run","Item","array","noop","i","apply","title","browser","env","argv","version","versions","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","513","shallowDiffers","instance"],"mappings":"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","file":"app-d37415839a4a9e5b07ce.js","sourcesContent":["webpackJsonp([231608221292675],{\n\n/***/ 92:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _promise = __webpack_require__(240);\n\t\n\tvar _promise2 = _interopRequireDefault(_promise);\n\t\n\texports.apiRunner = apiRunner;\n\texports.apiRunnerAsync = apiRunnerAsync;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar plugins = [{\n\t  plugin: __webpack_require__(368),\n\t  options: { \"plugins\": [], \"id\": \"GTM-TQSPKN4\" }\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  }, _promise2.default.resolve());\n\t}\n\n/***/ }),\n\n/***/ 219:\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-pages-404-js\": __webpack_require__(356),\n\t  \"component---src-pages-index-js\": __webpack_require__(357),\n\t  \"component---src-pages-make-money-writing-online-html-js\": __webpack_require__(358),\n\t  \"component---src-pages-online-writing-jobs-html-js\": __webpack_require__(359),\n\t  \"component---src-pages-writing-jobs-from-home-html-js\": __webpack_require__(360)\n\t};\n\t\n\texports.json = {\n\t  \"layout-index.json\": __webpack_require__(361),\n\t  \"404.json\": __webpack_require__(362),\n\t  \"index.json\": __webpack_require__(364),\n\t  \"make-money-writing-online-html.json\": __webpack_require__(365),\n\t  \"online-writing-jobs-html.json\": __webpack_require__(366),\n\t  \"writing-jobs-from-home-html.json\": __webpack_require__(367),\n\t  \"404-html.json\": __webpack_require__(363)\n\t};\n\t\n\texports.layouts = {\n\t  \"layout---index\": __webpack_require__(355)\n\t};\n\n/***/ }),\n\n/***/ 220:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends2 = __webpack_require__(51);\n\t\n\tvar _extends3 = _interopRequireDefault(_extends2);\n\t\n\tvar _classCallCheck2 = __webpack_require__(9);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(11);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(10);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(6);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _loader = __webpack_require__(142);\n\t\n\tvar _loader2 = _interopRequireDefault(_loader);\n\t\n\tvar _emitter = __webpack_require__(70);\n\t\n\tvar _emitter2 = _interopRequireDefault(_emitter);\n\t\n\tvar _apiRunnerBrowser = __webpack_require__(92);\n\t\n\tvar _shallowCompare = __webpack_require__(513);\n\t\n\tvar _shallowCompare2 = _interopRequireDefault(_shallowCompare);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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  (0, _inherits3.default)(ComponentRenderer, _React$Component);\n\t\n\t  function ComponentRenderer(props) {\n\t    (0, _classCallCheck3.default)(this, ComponentRenderer);\n\t\n\t    var _this = (0, _possibleConstructorReturn3.default)(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 = (0, _extends3.default)({}, 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 = (0, _extends3.default)({}, 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: (0, _extends3.default)({}, 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, (0, _extends3.default)({\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, (0, _extends3.default)({\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/***/ 70:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _mitt = __webpack_require__(388);\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/***/ 221:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _reactRouterDom = __webpack_require__(89);\n\t\n\tvar _stripPrefix = __webpack_require__(143);\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/***/ 222:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _createBrowserHistory = __webpack_require__(375);\n\t\n\tvar _createBrowserHistory2 = _interopRequireDefault(_createBrowserHistory);\n\t\n\tvar _apiRunnerBrowser = __webpack_require__(92);\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/***/ 363:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t      17\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__(379) })\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      17\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__(380) })\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      17\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__(381) })\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      17\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__(121) })\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      17\n\t    );\n\t    module.exports = function(cb) { return __webpack_require__.e/* nsure */(34002917859142, 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/***/ 366:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t      17\n\t    );\n\t    module.exports = function(cb) { return __webpack_require__.e/* nsure */(40660020918401, 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/***/ 367:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t      17\n\t    );\n\t    module.exports = function(cb) { return __webpack_require__.e/* nsure */(194597636284621, 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/***/ 355:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t      17\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__(223) })\n\t        }\n\t      });\n\t     }\n\t    \n\n/***/ }),\n\n/***/ 142:\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 _getIterator2 = __webpack_require__(234);\n\t\n\tvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _findPage = __webpack_require__(221);\n\t\n\tvar _findPage2 = _interopRequireDefault(_findPage);\n\t\n\tvar _emitter = __webpack_require__(70);\n\t\n\tvar _emitter2 = _interopRequireDefault(_emitter);\n\t\n\tvar _stripPrefix = __webpack_require__(143);\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__(224)({\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 : (0, _getIterator3.default)(_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__(61)))\n\n/***/ }),\n\n/***/ 385:\n/***/ (function(module, exports) {\n\n\tmodule.exports = [{\"componentChunkName\":\"component---src-pages-404-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"404.json\",\"path\":\"/404/\"},{\"componentChunkName\":\"component---src-pages-index-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"index.json\",\"path\":\"/\"},{\"componentChunkName\":\"component---src-pages-make-money-writing-online-html-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"make-money-writing-online-html.json\",\"path\":\"/make_money_writing_online.html/\"},{\"componentChunkName\":\"component---src-pages-online-writing-jobs-html-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"online-writing-jobs-html.json\",\"path\":\"/online_writing_jobs.html/\"},{\"componentChunkName\":\"component---src-pages-writing-jobs-from-home-html-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"writing-jobs-from-home-html.json\",\"path\":\"/writing_jobs_from_home.html/\"},{\"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/***/ 224:\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 _extends2 = __webpack_require__(51);\n\t\n\tvar _extends3 = _interopRequireDefault(_extends2);\n\t\n\tvar _apiRunnerBrowser = __webpack_require__(92);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(41);\n\t\n\tvar _reactDom2 = _interopRequireDefault(_reactDom);\n\t\n\tvar _reactRouterDom = __webpack_require__(89);\n\t\n\tvar _gatsbyReactRouterScroll = __webpack_require__(372);\n\t\n\tvar _domready = __webpack_require__(338);\n\t\n\tvar _domready2 = _interopRequireDefault(_domready);\n\t\n\tvar _history = __webpack_require__(24);\n\t\n\tvar _history2 = __webpack_require__(222);\n\t\n\tvar _history3 = _interopRequireDefault(_history2);\n\t\n\tvar _emitter = __webpack_require__(70);\n\t\n\tvar _emitter2 = _interopRequireDefault(_emitter);\n\t\n\tvar _pages = __webpack_require__(385);\n\t\n\tvar _pages2 = _interopRequireDefault(_pages);\n\t\n\tvar _redirects = __webpack_require__(386);\n\t\n\tvar _redirects2 = _interopRequireDefault(_redirects);\n\t\n\tvar _componentRenderer = __webpack_require__(220);\n\t\n\tvar _componentRenderer2 = _interopRequireDefault(_componentRenderer);\n\t\n\tvar _asyncRequires = __webpack_require__(219);\n\t\n\tvar _asyncRequires2 = _interopRequireDefault(_asyncRequires);\n\t\n\tvar _loader = __webpack_require__(142);\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__(248);\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__(225);\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, (0, _extends3.default)({\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/***/ 386:\n/***/ (function(module, exports) {\n\n\tmodule.exports = []\n\n/***/ }),\n\n/***/ 225:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _emitter = __webpack_require__(70);\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/***/ 143:\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/***/ 356:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t      17\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__(229) })\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      17\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__(230) })\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      17\n\t    );\n\t    module.exports = function(cb) { return __webpack_require__.e/* nsure */(209190203178069, 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__(231) })\n\t        }\n\t      });\n\t     }\n\t    \n\n/***/ }),\n\n/***/ 359:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(\n\t      17\n\t    );\n\t    module.exports = function(cb) { return __webpack_require__.e/* nsure */(239556512387334, 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__(232) })\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      17\n\t    );\n\t    module.exports = function(cb) { return __webpack_require__.e/* nsure */(274226809838094, 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__(233) })\n\t        }\n\t      });\n\t     }\n\t    \n\n/***/ }),\n\n/***/ 48:\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\t\n\tmodule.exports = _interopRequireDefault;\n\n/***/ }),\n\n/***/ 338:\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/***/ 17:\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, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.onRouteUpdate = function (_, pluginOptions) {\n\t  if (true) {\n\t    // wrap inside a timeout to ensure the title has properly been changed\n\t    setTimeout(function () {\n\t      window.dataLayer.push({\n\t        event: \"gatsby-route-change\"\n\t      });\n\t    }, 50);\n\t  }\n\t};\n\n/***/ }),\n\n/***/ 388:\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/***/ 61:\n/***/ (function(module, exports) {\n\n\t// shim for using process in browser\n\tvar process = module.exports = {};\n\t\n\t// cached from whatever global is present so that test runners that stub it\n\t// don't break things.  But we need to wrap it in a try catch in case it is\n\t// wrapped in strict mode code which doesn't define any globals.  It's inside a\n\t// function because try/catches deoptimize in certain engines.\n\t\n\tvar cachedSetTimeout;\n\tvar cachedClearTimeout;\n\t\n\tfunction defaultSetTimout() {\n\t    throw new Error('setTimeout has not been defined');\n\t}\n\tfunction defaultClearTimeout () {\n\t    throw new Error('clearTimeout has not been defined');\n\t}\n\t(function () {\n\t    try {\n\t        if (typeof setTimeout === 'function') {\n\t            cachedSetTimeout = setTimeout;\n\t        } else {\n\t            cachedSetTimeout = defaultSetTimout;\n\t        }\n\t    } catch (e) {\n\t        cachedSetTimeout = defaultSetTimout;\n\t    }\n\t    try {\n\t        if (typeof clearTimeout === 'function') {\n\t            cachedClearTimeout = clearTimeout;\n\t        } else {\n\t            cachedClearTimeout = defaultClearTimeout;\n\t        }\n\t    } catch (e) {\n\t        cachedClearTimeout = defaultClearTimeout;\n\t    }\n\t} ())\n\tfunction runTimeout(fun) {\n\t    if (cachedSetTimeout === setTimeout) {\n\t        //normal enviroments in sane situations\n\t        return setTimeout(fun, 0);\n\t    }\n\t    // if setTimeout wasn't available but was latter defined\n\t    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n\t        cachedSetTimeout = setTimeout;\n\t        return setTimeout(fun, 0);\n\t    }\n\t    try {\n\t        // when when somebody has screwed with setTimeout but no I.E. maddness\n\t        return cachedSetTimeout(fun, 0);\n\t    } catch(e){\n\t        try {\n\t            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n\t            return cachedSetTimeout.call(null, fun, 0);\n\t        } catch(e){\n\t            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n\t            return cachedSetTimeout.call(this, fun, 0);\n\t        }\n\t    }\n\t\n\t\n\t}\n\tfunction runClearTimeout(marker) {\n\t    if (cachedClearTimeout === clearTimeout) {\n\t        //normal enviroments in sane situations\n\t        return clearTimeout(marker);\n\t    }\n\t    // if clearTimeout wasn't available but was latter defined\n\t    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n\t        cachedClearTimeout = clearTimeout;\n\t        return clearTimeout(marker);\n\t    }\n\t    try {\n\t        // when when somebody has screwed with setTimeout but no I.E. maddness\n\t        return cachedClearTimeout(marker);\n\t    } catch (e){\n\t        try {\n\t            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n\t            return cachedClearTimeout.call(null, marker);\n\t        } catch (e){\n\t            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n\t            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n\t            return cachedClearTimeout.call(this, marker);\n\t        }\n\t    }\n\t\n\t\n\t\n\t}\n\tvar queue = [];\n\tvar draining = false;\n\tvar currentQueue;\n\tvar queueIndex = -1;\n\t\n\tfunction cleanUpNextTick() {\n\t    if (!draining || !currentQueue) {\n\t        return;\n\t    }\n\t    draining = false;\n\t    if (currentQueue.length) {\n\t        queue = currentQueue.concat(queue);\n\t    } else {\n\t        queueIndex = -1;\n\t    }\n\t    if (queue.length) {\n\t        drainQueue();\n\t    }\n\t}\n\t\n\tfunction drainQueue() {\n\t    if (draining) {\n\t        return;\n\t    }\n\t    var timeout = runTimeout(cleanUpNextTick);\n\t    draining = true;\n\t\n\t    var len = queue.length;\n\t    while(len) {\n\t        currentQueue = queue;\n\t        queue = [];\n\t        while (++queueIndex < len) {\n\t            if (currentQueue) {\n\t                currentQueue[queueIndex].run();\n\t            }\n\t        }\n\t        queueIndex = -1;\n\t        len = queue.length;\n\t    }\n\t    currentQueue = null;\n\t    draining = false;\n\t    runClearTimeout(timeout);\n\t}\n\t\n\tprocess.nextTick = function (fun) {\n\t    var args = new Array(arguments.length - 1);\n\t    if (arguments.length > 1) {\n\t        for (var i = 1; i < arguments.length; i++) {\n\t            args[i - 1] = arguments[i];\n\t        }\n\t    }\n\t    queue.push(new Item(fun, args));\n\t    if (queue.length === 1 && !draining) {\n\t        runTimeout(drainQueue);\n\t    }\n\t};\n\t\n\t// v8 likes predictible objects\n\tfunction Item(fun, array) {\n\t    this.fun = fun;\n\t    this.array = array;\n\t}\n\tItem.prototype.run = function () {\n\t    this.fun.apply(null, this.array);\n\t};\n\tprocess.title = 'browser';\n\tprocess.browser = true;\n\tprocess.env = {};\n\tprocess.argv = [];\n\tprocess.version = ''; // empty string to avoid regexp issues\n\tprocess.versions = {};\n\t\n\tfunction noop() {}\n\t\n\tprocess.on = noop;\n\tprocess.addListener = noop;\n\tprocess.once = noop;\n\tprocess.off = noop;\n\tprocess.removeListener = noop;\n\tprocess.removeAllListeners = noop;\n\tprocess.emit = noop;\n\tprocess.prependListener = noop;\n\tprocess.prependOnceListener = noop;\n\t\n\tprocess.listeners = function (name) { return [] }\n\t\n\tprocess.binding = function (name) {\n\t    throw new Error('process.binding is not supported');\n\t};\n\t\n\tprocess.cwd = function () { return '/' };\n\tprocess.chdir = function (dir) {\n\t    throw new Error('process.chdir is not supported');\n\t};\n\tprocess.umask = function() { return 0; };\n\n\n/***/ }),\n\n/***/ 513:\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});\n\n\n// WEBPACK FOOTER //\n// app-d37415839a4a9e5b07ce.js","var plugins = [{\n      plugin: require('/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/gatsby-plugin-google-tagmanager/gatsby-browser'),\n      options: {\"plugins\":[],\"id\":\"GTM-TQSPKN4\"},\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-pages-404-js\": require(\"gatsby-module-loader?name=component---src-pages-404-js!/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/geopublic/canada/src/pages/404.js\"),\n  \"component---src-pages-index-js\": require(\"gatsby-module-loader?name=component---src-pages-index-js!/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/geopublic/canada/src/pages/index.js\"),\n  \"component---src-pages-make-money-writing-online-html-js\": require(\"gatsby-module-loader?name=component---src-pages-make-money-writing-online-html-js!/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/geopublic/canada/src/pages/make_money_writing_online.html.js\"),\n  \"component---src-pages-online-writing-jobs-html-js\": require(\"gatsby-module-loader?name=component---src-pages-online-writing-jobs-html-js!/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/geopublic/canada/src/pages/online_writing_jobs.html.js\"),\n  \"component---src-pages-writing-jobs-from-home-html-js\": require(\"gatsby-module-loader?name=component---src-pages-writing-jobs-from-home-html-js!/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/geopublic/canada/src/pages/writing_jobs_from_home.html.js\")\n}\n\nexports.json = {\n  \"layout-index.json\": require(\"gatsby-module-loader?name=path---!/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/geopublic/canada/.cache/json/layout-index.json\"),\n  \"404.json\": require(\"gatsby-module-loader?name=path---404!/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/geopublic/canada/.cache/json/404.json\"),\n  \"index.json\": require(\"gatsby-module-loader?name=path---index!/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/geopublic/canada/.cache/json/index.json\"),\n  \"make-money-writing-online-html.json\": require(\"gatsby-module-loader?name=path---make-money-writing-online-html!/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/geopublic/canada/.cache/json/make-money-writing-online-html.json\"),\n  \"online-writing-jobs-html.json\": require(\"gatsby-module-loader?name=path---online-writing-jobs-html!/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/geopublic/canada/.cache/json/online-writing-jobs-html.json\"),\n  \"writing-jobs-from-home-html.json\": require(\"gatsby-module-loader?name=path---writing-jobs-from-home-html!/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/geopublic/canada/.cache/json/writing-jobs-from-home-html.json\"),\n  \"404-html.json\": require(\"gatsby-module-loader?name=path---404-html!/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/geopublic/canada/.cache/json/404-html.json\")\n}\n\nexports.layouts = {\n  \"layout---index\": require(\"gatsby-module-loader?name=component---src-layouts-index-js!/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/geopublic/canada/.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 }) => <div>{children()}</div>\n\n// Pass pathname in as prop.\n// component will try fetching resources. If they exist,\n// will just render, else will render null.\nclass ComponentRenderer extends React.Component {\n  constructor(props) {\n    super()\n    let location = props.location\n\n    // Set the pathname for 404 pages.\n    if (!loader.getPage(location.pathname)) {\n      location = Object.assign({}, location, {\n        pathname: `/404.html`,\n      })\n    }\n\n    this.state = {\n      location,\n      pageResources: loader.getResourcesForPathname(location.pathname),\n    }\n  }\n\n  componentWillReceiveProps(nextProps) {\n    // During development, always pass a component's JSON through so graphql\n    // updates go through.\n    if (process.env.NODE_ENV !== `production`) {\n      if (\n        nextProps &&\n        nextProps.pageResources &&\n        nextProps.pageResources.json\n      ) {\n        this.setState({ pageResources: nextProps.pageResources })\n      }\n    }\n    if (this.state.location.pathname !== nextProps.location.pathname) {\n      const pageResources = loader.getResourcesForPathname(\n        nextProps.location.pathname\n      )\n      if (!pageResources) {\n        let location = nextProps.location\n\n        // Set the pathname for 404 pages.\n        if (!loader.getPage(location.pathname)) {\n          location = Object.assign({}, location, {\n            pathname: `/404.html`,\n          })\n        }\n\n        // Page resources won't be set in cases where the browser back button\n        // or forward button is pushed as we can't wait as normal for resources\n        // to load before changing the page.\n        loader.getResourcesForPathname(location.pathname, pageResources => {\n          this.setState({\n            location,\n            pageResources,\n          })\n        })\n      } else {\n        this.setState({\n          location: nextProps.location,\n          pageResources,\n        })\n      }\n    }\n  }\n\n  componentDidMount() {\n    // Listen to events so when our page gets updated, we can transition.\n    // This is only useful on delayed transitions as the page will get rendered\n    // without the necessary page resources and then re-render once those come in.\n    emitter.on(`onPostLoadPageResources`, e => {\n      if (\n        loader.getPage(this.state.location.pathname) &&\n        e.page.path === loader.getPage(this.state.location.pathname).path\n      ) {\n        this.setState({ pageResources: e.pageResources })\n      }\n    })\n  }\n\n  shouldComponentUpdate(nextProps, nextState) {\n    // 404\n    if (!nextState.pageResources) {\n      return true\n    }\n    // Check if the component or json have changed.\n    if (!this.state.pageResources && nextState.pageResources) {\n      return true\n    }\n    if (\n      this.state.pageResources.component !== nextState.pageResources.component\n    ) {\n      return true\n    }\n\n    if (this.state.pageResources.json !== nextState.pageResources.json) {\n      return true\n    }\n\n    // Check if location has changed on a page using internal routing\n    // via matchPath configuration.\n    if (\n      this.state.location.key !== nextState.location.key &&\n      nextState.pageResources.page &&\n      (nextState.pageResources.page.matchPath ||\n        nextState.pageResources.page.path)\n    ) {\n      return true\n    }\n\n    return shallowCompare(this, nextProps, nextState)\n  }\n\n  render() {\n    const pluginResponses = apiRunner(`replaceComponentRenderer`, {\n      props: { ...this.props, pageResources: this.state.pageResources },\n      loader: publicLoader,\n    })\n    const replacementComponent = pluginResponses[0]\n    // If page.\n    if (this.props.page) {\n      if (this.state.pageResources) {\n        return (\n          replacementComponent ||\n          createElement(this.state.pageResources.component, {\n            key: this.props.location.pathname,\n            ...this.props,\n            ...this.state.pageResources.json,\n          })\n        )\n      } else {\n        return null\n      }\n      // If layout.\n    } else if (this.props.layout) {\n      return (\n        replacementComponent ||\n        createElement(\n          this.state.pageResources && this.state.pageResources.layout\n            ? this.state.pageResources.layout\n            : DefaultLayout,\n          {\n            key:\n              this.state.pageResources && this.state.pageResources.layout\n                ? this.state.pageResources.layout\n                : `DefaultLayout`,\n            ...this.props,\n          }\n        )\n      )\n    } else {\n      return null\n    }\n  }\n}\n\nComponentRenderer.propTypes = {\n  page: PropTypes.bool,\n  layout: PropTypes.bool,\n  location: PropTypes.object,\n}\n\nexport default ComponentRenderer\n\n\n\n// WEBPACK FOOTER //\n// ./.cache/component-renderer.js","import mitt from \"mitt\"\nconst emitter = mitt()\nmodule.exports = emitter\n\n\n\n// WEBPACK FOOTER //\n// ./.cache/emitter.js","// TODO add tests especially for handling prefixed links.\nimport { matchPath } from \"react-router-dom\"\nimport stripPrefix from \"./strip-prefix\"\n\nconst pageCache = {}\n\nmodule.exports = (pages, pathPrefix = ``) => rawPathname => {\n  let pathname = decodeURIComponent(rawPathname)\n\n  // Remove the pathPrefix from the pathname.\n  let trimmedPathname = stripPrefix(pathname, pathPrefix)\n\n  // Remove any hashfragment\n  if (trimmedPathname.split(`#`).length > 1) {\n    trimmedPathname = trimmedPathname\n      .split(`#`)\n      .slice(0, -1)\n      .join(``)\n  }\n\n  // Remove search query\n  if (trimmedPathname.split(`?`).length > 1) {\n    trimmedPathname = trimmedPathname\n      .split(`?`)\n      .slice(0, -1)\n      .join(``)\n  }\n\n  if (pageCache[trimmedPathname]) {\n    return pageCache[trimmedPathname]\n  }\n\n  let foundPage\n  // Array.prototype.find is not supported in IE so we use this somewhat odd\n  // work around.\n  pages.some(page => {\n    if (page.matchPath) {\n      // Try both the path and matchPath\n      if (\n        matchPath(trimmedPathname, { path: page.path }) ||\n        matchPath(trimmedPathname, {\n          path: page.matchPath,\n        })\n      ) {\n        foundPage = page\n        pageCache[trimmedPathname] = page\n        return true\n      }\n    } else {\n      if (\n        matchPath(trimmedPathname, {\n          path: page.path,\n          exact: true,\n        })\n      ) {\n        foundPage = page\n        pageCache[trimmedPathname] = page\n        return true\n      }\n\n      // Finally, try and match request with default document.\n      if (\n        matchPath(trimmedPathname, {\n          path: page.path + `index.html`,\n        })\n      ) {\n        foundPage = page\n        pageCache[trimmedPathname] = page\n        return true\n      }\n    }\n\n    return false\n  })\n\n  return foundPage\n}\n\n\n\n// WEBPACK FOOTER //\n// ./.cache/find-page.js","import createHistory from \"history/createBrowserHistory\"\nimport { apiRunner } from \"./api-runner-browser\"\n\nconst pluginResponses = apiRunner(`replaceHistory`)\nconst replacementHistory = pluginResponses[0]\nconst history = replacementHistory || createHistory()\nmodule.exports = history\n\n\n\n// WEBPACK FOOTER //\n// ./.cache/history.js","require(\n      \"!../../../../node_modules/gatsby-module-loader/patch.js\"\n    );\n    module.exports = function(cb) { return require.ensure([], function(_, error) {\n        if (error) {\n          console.log('bundle loading error', error)\n          cb(true)\n        } else {\n          cb(null, function() { return require(\"!!../../../../node_modules/json-loader/index.js!./404-html.json\") })\n        }\n      }, \"path---404-html\");\n     }\n    \n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-module-loader?name=path---404-html!./.cache/json/404-html.json\n// module id = 363\n// module chunks = 231608221292675","require(\n      \"!../../../../node_modules/gatsby-module-loader/patch.js\"\n    );\n    module.exports = function(cb) { return require.ensure([], function(_, error) {\n        if (error) {\n          console.log('bundle loading error', error)\n          cb(true)\n        } else {\n          cb(null, function() { return require(\"!!../../../../node_modules/json-loader/index.js!./404.json\") })\n        }\n      }, \"path---404\");\n     }\n    \n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-module-loader?name=path---404!./.cache/json/404.json\n// module id = 362\n// module chunks = 231608221292675","require(\n      \"!../../../../node_modules/gatsby-module-loader/patch.js\"\n    );\n    module.exports = function(cb) { return require.ensure([], function(_, error) {\n        if (error) {\n          console.log('bundle loading error', error)\n          cb(true)\n        } else {\n          cb(null, function() { return require(\"!!../../../../node_modules/json-loader/index.js!./index.json\") })\n        }\n      }, \"path---index\");\n     }\n    \n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-module-loader?name=path---index!./.cache/json/index.json\n// module id = 364\n// module chunks = 231608221292675","require(\n      \"!../../../../node_modules/gatsby-module-loader/patch.js\"\n    );\n    module.exports = function(cb) { return require.ensure([], function(_, error) {\n        if (error) {\n          console.log('bundle loading error', error)\n          cb(true)\n        } else {\n          cb(null, function() { return require(\"!!../../../../node_modules/json-loader/index.js!./layout-index.json\") })\n        }\n      }, \"path---\");\n     }\n    \n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-module-loader?name=path---!./.cache/json/layout-index.json\n// module id = 361\n// module chunks = 231608221292675","require(\n      \"!../../../../node_modules/gatsby-module-loader/patch.js\"\n    );\n    module.exports = function(cb) { return require.ensure([], function(_, error) {\n        if (error) {\n          console.log('bundle loading error', error)\n          cb(true)\n        } else {\n          cb(null, function() { return require(\"!!../../../../node_modules/json-loader/index.js!./make-money-writing-online-html.json\") })\n        }\n      }, \"path---make-money-writing-online-html\");\n     }\n    \n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-module-loader?name=path---make-money-writing-online-html!./.cache/json/make-money-writing-online-html.json\n// module id = 365\n// module chunks = 231608221292675","require(\n      \"!../../../../node_modules/gatsby-module-loader/patch.js\"\n    );\n    module.exports = function(cb) { return require.ensure([], function(_, error) {\n        if (error) {\n          console.log('bundle loading error', error)\n          cb(true)\n        } else {\n          cb(null, function() { return require(\"!!../../../../node_modules/json-loader/index.js!./online-writing-jobs-html.json\") })\n        }\n      }, \"path---online-writing-jobs-html\");\n     }\n    \n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-module-loader?name=path---online-writing-jobs-html!./.cache/json/online-writing-jobs-html.json\n// module id = 366\n// module chunks = 231608221292675","require(\n      \"!../../../../node_modules/gatsby-module-loader/patch.js\"\n    );\n    module.exports = function(cb) { return require.ensure([], function(_, error) {\n        if (error) {\n          console.log('bundle loading error', error)\n          cb(true)\n        } else {\n          cb(null, function() { return require(\"!!../../../../node_modules/json-loader/index.js!./writing-jobs-from-home-html.json\") })\n        }\n      }, \"path---writing-jobs-from-home-html\");\n     }\n    \n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-module-loader?name=path---writing-jobs-from-home-html!./.cache/json/writing-jobs-from-home-html.json\n// module id = 367\n// module chunks = 231608221292675","require(\n      \"!../../../../node_modules/gatsby-module-loader/patch.js\"\n    );\n    module.exports = function(cb) { return require.ensure([], function(_, error) {\n        if (error) {\n          console.log('bundle loading error', error)\n          cb(true)\n        } else {\n          cb(null, function() { return require(\"!!../../../../node_modules/babel-loader/lib/index.js?{\\\"plugins\\\":[\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/gatsby/dist/utils/babel-plugin-extract-graphql.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-plugin-add-module-exports/lib/index.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-plugin-transform-object-assign/lib/index.js\\\"],\\\"presets\\\":[[\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-env/lib/index.js\\\",{\\\"loose\\\":true,\\\"uglify\\\":true,\\\"modules\\\":\\\"commonjs\\\",\\\"targets\\\":{\\\"browsers\\\":[\\\"> 1%\\\",\\\"last 2 versions\\\",\\\"IE >= 9\\\"]},\\\"exclude\\\":[\\\"transform-regenerator\\\",\\\"transform-es2015-typeof-symbol\\\"]}],\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-stage-0/lib/index.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-react/lib/index.js\\\"],\\\"cacheDirectory\\\":true}!./index.js\") })\n        }\n      }, \"component---src-layouts-index-js\");\n     }\n    \n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-module-loader?name=component---src-layouts-index-js!./.cache/layouts/index.js\n// module id = 355\n// module chunks = 231608221292675","import React, { createElement } from \"react\"\nimport pageFinderFactory from \"./find-page\"\nimport emitter from \"./emitter\"\nimport stripPrefix from \"./strip-prefix\"\nlet findPage\n\nlet syncRequires = {}\nlet asyncRequires = {}\nlet pathScriptsCache = {}\nlet resourceStrCache = {}\nlet resourceCache = {}\nlet pages = []\n// Note we're not actively using the path data atm. There\n// could be future optimizations however around trying to ensure\n// we load all resources for likely-to-be-visited paths.\nlet pathArray = []\nlet pathCount = {}\nlet pathPrefix = ``\nlet resourcesArray = []\nlet resourcesCount = {}\nconst preferDefault = m => (m && m.default) || m\nlet prefetcher\nlet inInitialRender = true\nlet fetchHistory = []\nconst failedPaths = {}\nconst failedResources = {}\nconst MAX_HISTORY = 5\n\n// Prefetcher logic\nif (process.env.NODE_ENV === `production`) {\n  prefetcher = require(`./prefetcher`)({\n    getNextQueuedResources: () => resourcesArray.slice(-1)[0],\n    createResourceDownload: resourceName => {\n      fetchResource(resourceName, () => {\n        resourcesArray = resourcesArray.filter(r => r !== resourceName)\n        prefetcher.onResourcedFinished(resourceName)\n      })\n    },\n  })\n  emitter.on(`onPreLoadPageResources`, e => {\n    prefetcher.onPreLoadPageResources(e)\n  })\n  emitter.on(`onPostLoadPageResources`, e => {\n    prefetcher.onPostLoadPageResources(e)\n  })\n}\n\nconst sortResourcesByCount = (a, b) => {\n  if (resourcesCount[a] > resourcesCount[b]) {\n    return 1\n  } else if (resourcesCount[a] < resourcesCount[b]) {\n    return -1\n  } else {\n    return 0\n  }\n}\n\nconst sortPagesByCount = (a, b) => {\n  if (pathCount[a] > pathCount[b]) {\n    return 1\n  } else if (pathCount[a] < pathCount[b]) {\n    return -1\n  } else {\n    return 0\n  }\n}\n\nconst fetchResource = (resourceName, cb = () => {}) => {\n  if (resourceStrCache[resourceName]) {\n    process.nextTick(() => {\n      cb(null, resourceStrCache[resourceName])\n    })\n  } else {\n    // Find resource\n    let resourceFunction\n    if (resourceName.slice(0, 12) === `component---`) {\n      resourceFunction = asyncRequires.components[resourceName]\n    } else if (resourceName.slice(0, 9) === `layout---`) {\n      resourceFunction = asyncRequires.layouts[resourceName]\n    } else {\n      resourceFunction = asyncRequires.json[resourceName]\n    }\n\n    // Download the resource\n    resourceFunction((err, executeChunk) => {\n      resourceStrCache[resourceName] = executeChunk\n      fetchHistory.push({\n        resource: resourceName,\n        succeeded: !err,\n      })\n\n      if (!failedResources[resourceName]) {\n        failedResources[resourceName] = err\n      }\n\n      fetchHistory = fetchHistory.slice(-MAX_HISTORY)\n      cb(err, executeChunk)\n    })\n  }\n}\n\nconst getResourceModule = (resourceName, cb) => {\n  if (resourceCache[resourceName]) {\n    process.nextTick(() => {\n      cb(null, resourceCache[resourceName])\n    })\n  } else if (failedResources[resourceName]) {\n    process.nextTick(() => {\n      cb(failedResources[resourceName])\n    })\n  } else {\n    fetchResource(resourceName, (err, executeChunk) => {\n      if (err) {\n        cb(err)\n      } else {\n        const module = preferDefault(executeChunk())\n        resourceCache[resourceName] = module\n        cb(err, module)\n      }\n    })\n  }\n}\n\nconst appearsOnLine = () => {\n  const isOnLine = navigator.onLine\n  if (typeof isOnLine === `boolean`) {\n    return isOnLine\n  }\n\n  // If no navigator.onLine support assume onLine if any of last N fetches succeeded\n  const succeededFetch = fetchHistory.find(entry => entry.succeeded)\n  return !!succeededFetch\n}\n\nconst handleResourceLoadError = (path, message) => {\n  console.log(message)\n\n  if (!failedPaths[path]) {\n    failedPaths[path] = message\n  }\n\n  if (\n    appearsOnLine() &&\n    window.location.pathname.replace(/\\/$/g, ``) !== path.replace(/\\/$/g, ``)\n  ) {\n    window.location.pathname = path\n  }\n}\n\nlet mountOrder = 1\nconst queue = {\n  empty: () => {\n    pathArray = []\n    pathCount = {}\n    resourcesCount = {}\n    resourcesArray = []\n    pages = []\n    pathPrefix = ``\n  },\n  addPagesArray: newPages => {\n    pages = newPages\n    if (\n      typeof __PREFIX_PATHS__ !== `undefined` &&\n      typeof __PATH_PREFIX__ !== `undefined`\n    ) {\n      if (__PREFIX_PATHS__ === true) pathPrefix = __PATH_PREFIX__\n    }\n    findPage = pageFinderFactory(newPages, pathPrefix)\n  },\n  addDevRequires: devRequires => {\n    syncRequires = devRequires\n  },\n  addProdRequires: prodRequires => {\n    asyncRequires = prodRequires\n  },\n  dequeue: () => pathArray.pop(),\n  enqueue: rawPath => {\n    // Check page exists.\n    const path = stripPrefix(rawPath, pathPrefix)\n    if (!pages.some(p => p.path === path)) {\n      return false\n    }\n\n    const mountOrderBoost = 1 / mountOrder\n    mountOrder += 1\n    // console.log(\n    // `enqueue \"${path}\", mountOrder: \"${mountOrder}, mountOrderBoost: ${mountOrderBoost}`\n    // )\n\n    // Add to path counts.\n    if (!pathCount[path]) {\n      pathCount[path] = 1\n    } else {\n      pathCount[path] += 1\n    }\n\n    // Add path to queue.\n    if (!queue.has(path)) {\n      pathArray.unshift(path)\n    }\n\n    // Sort pages by pathCount\n    pathArray.sort(sortPagesByCount)\n\n    // Add resources to queue.\n    const page = findPage(path)\n    if (page.jsonName) {\n      if (!resourcesCount[page.jsonName]) {\n        resourcesCount[page.jsonName] = 1 + mountOrderBoost\n      } else {\n        resourcesCount[page.jsonName] += 1 + mountOrderBoost\n      }\n\n      // Before adding, checking that the JSON resource isn't either\n      // already queued or been downloading.\n      if (\n        resourcesArray.indexOf(page.jsonName) === -1 &&\n        !resourceStrCache[page.jsonName]\n      ) {\n        resourcesArray.unshift(page.jsonName)\n      }\n    }\n    if (page.componentChunkName) {\n      if (!resourcesCount[page.componentChunkName]) {\n        resourcesCount[page.componentChunkName] = 1 + mountOrderBoost\n      } else {\n        resourcesCount[page.componentChunkName] += 1 + mountOrderBoost\n      }\n\n      // Before adding, checking that the component resource isn't either\n      // already queued or been downloading.\n      if (\n        resourcesArray.indexOf(page.componentChunkName) === -1 &&\n        !resourceStrCache[page.jsonName]\n      ) {\n        resourcesArray.unshift(page.componentChunkName)\n      }\n    }\n\n    // Sort resources by resourcesCount.\n    resourcesArray.sort(sortResourcesByCount)\n    if (process.env.NODE_ENV === `production`) {\n      prefetcher.onNewResourcesAdded()\n    }\n\n    return true\n  },\n  getResources: () => {\n    return {\n      resourcesArray,\n      resourcesCount,\n    }\n  },\n  getPages: () => {\n    return {\n      pathArray,\n      pathCount,\n    }\n  },\n  getPage: pathname => findPage(pathname),\n  has: path => pathArray.some(p => p === path),\n  getResourcesForPathname: (path, cb = () => {}) => {\n    if (\n      inInitialRender &&\n      navigator &&\n      navigator.serviceWorker &&\n      navigator.serviceWorker.controller &&\n      navigator.serviceWorker.controller.state === `activated`\n    ) {\n      // If we're loading from a service worker (it's already activated on\n      // this initial render) and we can't find a page, there's a good chance\n      // we're on a new page that this (now old) service worker doesn't know\n      // about so we'll unregister it and reload.\n      if (!findPage(path)) {\n        navigator.serviceWorker\n          .getRegistrations()\n          .then(function(registrations) {\n            // We would probably need this to\n            // prevent unnecessary reloading of the page\n            // while unregistering of ServiceWorker is not happening\n            if (registrations.length) {\n              for (let registration of registrations) {\n                registration.unregister()\n              }\n              window.location.reload()\n            }\n          })\n      }\n    }\n    inInitialRender = false\n    // In development we know the code is loaded already\n    // so we just return with it immediately.\n    if (process.env.NODE_ENV !== `production`) {\n      const page = findPage(path)\n      if (!page) return cb()\n      const pageResources = {\n        component: syncRequires.components[page.componentChunkName],\n        json: syncRequires.json[page.jsonName],\n        layout: syncRequires.layouts[page.layout],\n        page,\n      }\n      cb(pageResources)\n      return pageResources\n      // Production code path\n    } else {\n      if (failedPaths[path]) {\n        handleResourceLoadError(\n          path,\n          `Previously detected load failure for \"${path}\"`\n        )\n\n        return cb()\n      }\n\n      const page = findPage(path)\n\n      if (!page) {\n        handleResourceLoadError(path, `A page wasn't found for \"${path}\"`)\n\n        return cb()\n      }\n\n      // Use the path from the page so the pathScriptsCache uses\n      // the normalized path.\n      path = page.path\n\n      // Check if it's in the cache already.\n      if (pathScriptsCache[path]) {\n        process.nextTick(() => {\n          cb(pathScriptsCache[path])\n          emitter.emit(`onPostLoadPageResources`, {\n            page,\n            pageResources: pathScriptsCache[path],\n          })\n        })\n        return pathScriptsCache[path]\n      }\n\n      emitter.emit(`onPreLoadPageResources`, { path })\n      // Nope, we need to load resource(s)\n      let component\n      let json\n      let layout\n      // Load the component/json/layout and parallel and call this\n      // function when they're done loading. When both are loaded,\n      // we move on.\n      const done = () => {\n        if (component && json && (!page.layoutComponentChunkName || layout)) {\n          pathScriptsCache[path] = { component, json, layout, page }\n          const pageResources = { component, json, layout, page }\n          cb(pageResources)\n          emitter.emit(`onPostLoadPageResources`, {\n            page,\n            pageResources,\n          })\n        }\n      }\n      getResourceModule(page.componentChunkName, (err, c) => {\n        if (err) {\n          handleResourceLoadError(\n            page.path,\n            `Loading the component for ${page.path} failed`\n          )\n        }\n        component = c\n        done()\n      })\n      getResourceModule(page.jsonName, (err, j) => {\n        if (err) {\n          handleResourceLoadError(\n            page.path,\n            `Loading the JSON for ${page.path} failed`\n          )\n        }\n        json = j\n        done()\n      })\n\n      page.layoutComponentChunkName &&\n        getResourceModule(page.layout, (err, l) => {\n          if (err) {\n            handleResourceLoadError(\n              page.path,\n              `Loading the Layout for ${page.path} failed`\n            )\n          }\n          layout = l\n          done()\n        })\n\n      return undefined\n    }\n  },\n  peek: path => pathArray.slice(-1)[0],\n  length: () => pathArray.length,\n  indexOf: path => pathArray.length - pathArray.indexOf(path) - 1,\n}\n\nexport const publicLoader = {\n  getResourcesForPathname: queue.getResourcesForPathname,\n}\n\nexport default queue\n\n\n\n// WEBPACK FOOTER //\n// ./.cache/loader.js","module.exports = [{\"componentChunkName\":\"component---src-pages-404-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"404.json\",\"path\":\"/404/\"},{\"componentChunkName\":\"component---src-pages-index-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"index.json\",\"path\":\"/\"},{\"componentChunkName\":\"component---src-pages-make-money-writing-online-html-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"make-money-writing-online-html.json\",\"path\":\"/make_money_writing_online.html/\"},{\"componentChunkName\":\"component---src-pages-online-writing-jobs-html-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"online-writing-jobs-html.json\",\"path\":\"/online_writing_jobs.html/\"},{\"componentChunkName\":\"component---src-pages-writing-jobs-from-home-html-js\",\"layout\":\"layout---index\",\"layoutComponentChunkName\":\"component---src-layouts-index-js\",\"jsonName\":\"writing-jobs-from-home-html.json\",\"path\":\"/writing_jobs_from_home.html/\"},{\"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// WEBPACK FOOTER\n// ./.cache/pages.json\n// module id = 385\n// module chunks = 231608221292675","module.exports = ({ getNextQueuedResources, createResourceDownload }) => {\n  let pagesLoading = []\n  let resourcesDownloading = []\n\n  // Do things\n  const startResourceDownloading = () => {\n    const nextResource = getNextQueuedResources()\n    if (nextResource) {\n      resourcesDownloading.push(nextResource)\n      createResourceDownload(nextResource)\n    }\n  }\n\n  const reducer = action => {\n    switch (action.type) {\n      case `RESOURCE_FINISHED`:\n        resourcesDownloading = resourcesDownloading.filter(\n          r => r !== action.payload\n        )\n        break\n      case `ON_PRE_LOAD_PAGE_RESOURCES`:\n        pagesLoading.push(action.payload.path)\n        break\n      case `ON_POST_LOAD_PAGE_RESOURCES`:\n        pagesLoading = pagesLoading.filter(p => p !== action.payload.page.path)\n        break\n      case `ON_NEW_RESOURCES_ADDED`:\n        break\n    }\n\n    // Take actions.\n    // Wait for event loop queue to finish.\n    setTimeout(() => {\n      if (resourcesDownloading.length === 0 && pagesLoading.length === 0) {\n        // Start another resource downloading.\n        startResourceDownloading()\n      }\n    }, 0)\n  }\n\n  return {\n    onResourcedFinished: event => {\n      // Tell prefetcher that the resource finished downloading\n      // so it can grab the next one.\n      reducer({ type: `RESOURCE_FINISHED`, payload: event })\n    },\n    onPreLoadPageResources: event => {\n      // Tell prefetcher a page load has started so it should stop\n      // loading anything new\n      reducer({ type: `ON_PRE_LOAD_PAGE_RESOURCES`, payload: event })\n    },\n    onPostLoadPageResources: event => {\n      // Tell prefetcher a page load has finished so it should start\n      // loading resources again.\n      reducer({ type: `ON_POST_LOAD_PAGE_RESOURCES`, payload: event })\n    },\n    onNewResourcesAdded: () => {\n      // Tell prefetcher that more resources to be downloaded have\n      // been added.\n      reducer({ type: `ON_NEW_RESOURCES_ADDED` })\n    },\n    getState: () => {\n      return { pagesLoading, resourcesDownloading }\n    },\n    empty: () => {\n      pagesLoading = []\n      resourcesDownloading = []\n    },\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./.cache/prefetcher.js","if (__POLYFILL__) {\n  require(`core-js/fn/promise`)\n}\nimport { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React, { createElement } from \"react\"\nimport ReactDOM from \"react-dom\"\nimport { Router, Route, withRouter, matchPath } from \"react-router-dom\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport domReady from \"domready\"\nimport { createLocation } from \"history\"\nimport history from \"./history\"\nwindow.___history = history\nimport emitter from \"./emitter\"\nwindow.___emitter = emitter\nimport pages from \"./pages.json\"\nimport redirects from \"./redirects.json\"\nimport ComponentRenderer from \"./component-renderer\"\nimport asyncRequires from \"./async-requires\"\nimport loader from \"./loader\"\nloader.addPagesArray(pages)\nloader.addProdRequires(asyncRequires)\nwindow.asyncRequires = asyncRequires\nwindow.___loader = loader\nwindow.matchPath = matchPath\n\n// Convert to a map for faster lookup in maybeRedirect()\nconst redirectMap = redirects.reduce((map, redirect) => {\n  map[redirect.fromPath] = redirect\n  return map\n}, {})\n\nconst maybeRedirect = pathname => {\n  const redirect = redirectMap[pathname]\n\n  if (redirect != null) {\n    history.replace(redirect.toPath)\n    return true\n  } else {\n    return false\n  }\n}\n\n// Check for initial page-load redirect\nmaybeRedirect(window.location.pathname)\n\n// Let the site/plugins run code very early.\napiRunnerAsync(`onClientEntry`).then(() => {\n  // Let plugins register a service worker. The plugin just needs\n  // to return true.\n  if (apiRunner(`registerServiceWorker`).length > 0) {\n    require(`./register-service-worker`)\n  }\n\n  const navigate = (to, replace) => {\n    const location = createLocation(to, null, null, history.location)\n    let { pathname } = location\n    const redirect = redirectMap[pathname]\n\n    // If we're redirecting, just replace the passed in pathname\n    // to the one we want to redirect to.\n    if (redirect) {\n      pathname = redirect.toPath\n    }\n    const wl = window.location\n\n    // If we're already at this location, do nothing.\n    if (\n      wl.pathname === location.pathname &&\n      wl.search === location.search &&\n      wl.hash === location.hash\n    ) {\n      return\n    }\n\n    const historyNavigateFunc = replace\n      ? window.___history.replace\n      : window.___history.push\n\n    // Listen to loading events. If page resources load before\n    // a second, navigate immediately.\n    function eventHandler(e) {\n      if (e.page.path === loader.getPage(pathname).path) {\n        emitter.off(`onPostLoadPageResources`, eventHandler)\n        clearTimeout(timeoutId)\n        historyNavigateFunc(location)\n      }\n    }\n\n    // Start a timer to wait for a second before transitioning and showing a\n    // loader in case resources aren't around yet.\n    const timeoutId = setTimeout(() => {\n      emitter.off(`onPostLoadPageResources`, eventHandler)\n      emitter.emit(`onDelayedLoadPageResources`, { pathname })\n      historyNavigateFunc(location)\n    }, 1000)\n\n    if (loader.getResourcesForPathname(pathname)) {\n      // The resources are already loaded so off we go.\n      clearTimeout(timeoutId)\n      historyNavigateFunc(location)\n    } else {\n      // They're not loaded yet so let's add a listener for when\n      // they finish loading.\n      emitter.on(`onPostLoadPageResources`, eventHandler)\n    }\n  }\n\n  // window.___loadScriptsForPath = loadScriptsForPath\n  window.___push = (to) => navigate(to, false)\n  window.___replace = (to) => navigate(to, true)\n  window.___navigateTo = window.___push\n\n  // Call onRouteUpdate on the initial page load.\n  apiRunner(`onRouteUpdate`, {\n    location: history.location,\n    action: history.action,\n  })\n\n  let initialAttachDone = false\n  function attachToHistory(history) {\n    if (!window.___history || initialAttachDone === false) {\n      window.___history = history\n      initialAttachDone = true\n\n      history.listen((location, action) => {\n        if (!maybeRedirect(location.pathname)) {\n          // Make sure React has had a chance to flush to DOM first.\n          setTimeout(() => {\n            apiRunner(`onRouteUpdate`, { location, action })\n          }, 0)\n        }\n      })\n    }\n  }\n\n  function shouldUpdateScroll(prevRouterProps, { location: { pathname } }) {\n    const results = apiRunner(`shouldUpdateScroll`, {\n      prevRouterProps,\n      pathname,\n    })\n    if (results.length > 0) {\n      return results[0]\n    }\n\n    if (prevRouterProps) {\n      const {\n        location: { pathname: oldPathname },\n      } = prevRouterProps\n      if (oldPathname === pathname) {\n        return false\n      }\n    }\n    return true\n  }\n\n  const AltRouter = apiRunner(`replaceRouterComponent`, { history })[0]\n  const DefaultRouter = ({ children }) => (\n    <Router history={history}>{children}</Router>\n  )\n\n  const ComponentRendererWithRouter = withRouter(ComponentRenderer)\n\n  loader.getResourcesForPathname(window.location.pathname, () => {\n    const Root = () =>\n      createElement(\n        AltRouter ? AltRouter : DefaultRouter,\n        null,\n        createElement(\n          ScrollContext,\n          { shouldUpdateScroll },\n          createElement(ComponentRendererWithRouter, {\n            layout: true,\n            children: layoutProps =>\n              createElement(Route, {\n                render: routeProps => {\n                  attachToHistory(routeProps.history)\n                  const props = layoutProps ? layoutProps : routeProps\n\n                  if (loader.getPage(props.location.pathname)) {\n                    return createElement(ComponentRenderer, {\n                      page: true,\n                      ...props,\n                    })\n                  } else {\n                    return createElement(ComponentRenderer, {\n                      page: true,\n                      location: { pathname: `/404.html` },\n                    })\n                  }\n                },\n              }),\n          })\n        )\n      )\n\n    const NewRoot = apiRunner(`wrapRootComponent`, { Root }, Root)[0]\n\n    const renderer = apiRunner(\n      `replaceHydrateFunction`,\n      undefined,\n      ReactDOM.render\n    )[0]\n\n    domReady(() =>\n      renderer(\n        <NewRoot />,\n        typeof window !== `undefined`\n          ? document.getElementById(`___gatsby`)\n          : void 0,\n        () => {\n          apiRunner(`onInitialClientRender`)\n        }\n      )\n    )\n  })\n})\n\n\n\n// WEBPACK FOOTER //\n// ./.cache/production-app.js","module.exports = []\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./.cache/redirects.json\n// module id = 386\n// module chunks = 231608221292675","import emitter from \"./emitter\"\n\nlet pathPrefix = `/`\nif (__PREFIX_PATHS__) {\n  pathPrefix = __PATH_PREFIX__ + `/`\n}\n\nif (`serviceWorker` in navigator) {\n  navigator.serviceWorker\n    .register(`${pathPrefix}sw.js`)\n    .then(function(reg) {\n      reg.addEventListener(`updatefound`, () => {\n        // The updatefound event implies that reg.installing is set; see\n        // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n        const installingWorker = reg.installing\n        console.log(`installingWorker`, installingWorker)\n        installingWorker.addEventListener(`statechange`, () => {\n          switch (installingWorker.state) {\n            case `installed`:\n              if (navigator.serviceWorker.controller) {\n                // At this point, the old content will have been purged and the fresh content will\n                // have been added to the cache.\n                // We reload immediately so the user sees the new content.\n                // This could/should be made configurable in the future.\n                window.location.reload()\n              } else {\n                // At this point, everything has been precached.\n                // It's the perfect time to display a \"Content is cached for offline use.\" message.\n                console.log(`Content is now available offline!`)\n                emitter.emit(`sw:installed`)\n              }\n              break\n\n            case `redundant`:\n              console.error(`The installing service worker became redundant.`)\n              break\n          }\n        })\n      })\n    })\n    .catch(function(e) {\n      console.error(`Error during service worker registration:`, e)\n    })\n}\n\n\n\n// WEBPACK FOOTER //\n// ./.cache/register-service-worker.js","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default (str, prefix = ``) => {\n  if (str.substr(0, prefix.length) === prefix) return str.slice(prefix.length)\n  return str\n}\n\n\n\n// WEBPACK FOOTER //\n// ./.cache/strip-prefix.js","require(\n      \"!../../../../node_modules/gatsby-module-loader/patch.js\"\n    );\n    module.exports = function(cb) { return require.ensure([], function(_, error) {\n        if (error) {\n          console.log('bundle loading error', error)\n          cb(true)\n        } else {\n          cb(null, function() { return require(\"!!../../../../node_modules/babel-loader/lib/index.js?{\\\"plugins\\\":[\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/gatsby/dist/utils/babel-plugin-extract-graphql.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-plugin-add-module-exports/lib/index.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-plugin-transform-object-assign/lib/index.js\\\"],\\\"presets\\\":[[\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-env/lib/index.js\\\",{\\\"loose\\\":true,\\\"uglify\\\":true,\\\"modules\\\":\\\"commonjs\\\",\\\"targets\\\":{\\\"browsers\\\":[\\\"> 1%\\\",\\\"last 2 versions\\\",\\\"IE >= 9\\\"]},\\\"exclude\\\":[\\\"transform-regenerator\\\",\\\"transform-es2015-typeof-symbol\\\"]}],\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-stage-0/lib/index.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-react/lib/index.js\\\"],\\\"cacheDirectory\\\":true}!./404.js\") })\n        }\n      }, \"component---src-pages-404-js\");\n     }\n    \n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-module-loader?name=component---src-pages-404-js!./src/pages/404.js\n// module id = 356\n// module chunks = 231608221292675","require(\n      \"!../../../../node_modules/gatsby-module-loader/patch.js\"\n    );\n    module.exports = function(cb) { return require.ensure([], function(_, error) {\n        if (error) {\n          console.log('bundle loading error', error)\n          cb(true)\n        } else {\n          cb(null, function() { return require(\"!!../../../../node_modules/babel-loader/lib/index.js?{\\\"plugins\\\":[\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/gatsby/dist/utils/babel-plugin-extract-graphql.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-plugin-add-module-exports/lib/index.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-plugin-transform-object-assign/lib/index.js\\\"],\\\"presets\\\":[[\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-env/lib/index.js\\\",{\\\"loose\\\":true,\\\"uglify\\\":true,\\\"modules\\\":\\\"commonjs\\\",\\\"targets\\\":{\\\"browsers\\\":[\\\"> 1%\\\",\\\"last 2 versions\\\",\\\"IE >= 9\\\"]},\\\"exclude\\\":[\\\"transform-regenerator\\\",\\\"transform-es2015-typeof-symbol\\\"]}],\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-stage-0/lib/index.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-react/lib/index.js\\\"],\\\"cacheDirectory\\\":true}!./index.js\") })\n        }\n      }, \"component---src-pages-index-js\");\n     }\n    \n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-module-loader?name=component---src-pages-index-js!./src/pages/index.js\n// module id = 357\n// module chunks = 231608221292675","require(\n      \"!../../../../node_modules/gatsby-module-loader/patch.js\"\n    );\n    module.exports = function(cb) { return require.ensure([], function(_, error) {\n        if (error) {\n          console.log('bundle loading error', error)\n          cb(true)\n        } else {\n          cb(null, function() { return require(\"!!../../../../node_modules/babel-loader/lib/index.js?{\\\"plugins\\\":[\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/gatsby/dist/utils/babel-plugin-extract-graphql.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-plugin-add-module-exports/lib/index.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-plugin-transform-object-assign/lib/index.js\\\"],\\\"presets\\\":[[\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-env/lib/index.js\\\",{\\\"loose\\\":true,\\\"uglify\\\":true,\\\"modules\\\":\\\"commonjs\\\",\\\"targets\\\":{\\\"browsers\\\":[\\\"> 1%\\\",\\\"last 2 versions\\\",\\\"IE >= 9\\\"]},\\\"exclude\\\":[\\\"transform-regenerator\\\",\\\"transform-es2015-typeof-symbol\\\"]}],\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-stage-0/lib/index.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-react/lib/index.js\\\"],\\\"cacheDirectory\\\":true}!./make_money_writing_online.html.js\") })\n        }\n      }, \"component---src-pages-make-money-writing-online-html-js\");\n     }\n    \n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-module-loader?name=component---src-pages-make-money-writing-online-html-js!./src/pages/make_money_writing_online.html.js\n// module id = 358\n// module chunks = 231608221292675","require(\n      \"!../../../../node_modules/gatsby-module-loader/patch.js\"\n    );\n    module.exports = function(cb) { return require.ensure([], function(_, error) {\n        if (error) {\n          console.log('bundle loading error', error)\n          cb(true)\n        } else {\n          cb(null, function() { return require(\"!!../../../../node_modules/babel-loader/lib/index.js?{\\\"plugins\\\":[\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/gatsby/dist/utils/babel-plugin-extract-graphql.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-plugin-add-module-exports/lib/index.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-plugin-transform-object-assign/lib/index.js\\\"],\\\"presets\\\":[[\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-env/lib/index.js\\\",{\\\"loose\\\":true,\\\"uglify\\\":true,\\\"modules\\\":\\\"commonjs\\\",\\\"targets\\\":{\\\"browsers\\\":[\\\"> 1%\\\",\\\"last 2 versions\\\",\\\"IE >= 9\\\"]},\\\"exclude\\\":[\\\"transform-regenerator\\\",\\\"transform-es2015-typeof-symbol\\\"]}],\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-stage-0/lib/index.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-react/lib/index.js\\\"],\\\"cacheDirectory\\\":true}!./online_writing_jobs.html.js\") })\n        }\n      }, \"component---src-pages-online-writing-jobs-html-js\");\n     }\n    \n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-module-loader?name=component---src-pages-online-writing-jobs-html-js!./src/pages/online_writing_jobs.html.js\n// module id = 359\n// module chunks = 231608221292675","require(\n      \"!../../../../node_modules/gatsby-module-loader/patch.js\"\n    );\n    module.exports = function(cb) { return require.ensure([], function(_, error) {\n        if (error) {\n          console.log('bundle loading error', error)\n          cb(true)\n        } else {\n          cb(null, function() { return require(\"!!../../../../node_modules/babel-loader/lib/index.js?{\\\"plugins\\\":[\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/gatsby/dist/utils/babel-plugin-extract-graphql.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-plugin-add-module-exports/lib/index.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-plugin-transform-object-assign/lib/index.js\\\"],\\\"presets\\\":[[\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-env/lib/index.js\\\",{\\\"loose\\\":true,\\\"uglify\\\":true,\\\"modules\\\":\\\"commonjs\\\",\\\"targets\\\":{\\\"browsers\\\":[\\\"> 1%\\\",\\\"last 2 versions\\\",\\\"IE >= 9\\\"]},\\\"exclude\\\":[\\\"transform-regenerator\\\",\\\"transform-es2015-typeof-symbol\\\"]}],\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-stage-0/lib/index.js\\\",\\\"/home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/node_modules/babel-preset-react/lib/index.js\\\"],\\\"cacheDirectory\\\":true}!./writing_jobs_from_home.html.js\") })\n        }\n      }, \"component---src-pages-writing-jobs-from-home-html-js\");\n     }\n    \n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-module-loader?name=component---src-pages-writing-jobs-from-home-html-js!./src/pages/writing_jobs_from_home.html.js\n// module id = 360\n// module chunks = 231608221292675","function _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    \"default\": obj\n  };\n}\n\nmodule.exports = _interopRequireDefault;\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/@babel/runtime/helpers/interopRequireDefault.js\n// module id = 48\n// module chunks = 231608221292675","/*!\n  * domready (c) Dustin Diaz 2014 - License MIT\n  */\n!function (name, definition) {\n\n  if (typeof module != 'undefined') module.exports = definition()\n  else if (typeof define == 'function' && typeof define.amd == 'object') define(definition)\n  else this[name] = definition()\n\n}('domready', function () {\n\n  var fns = [], listener\n    , doc = document\n    , hack = doc.documentElement.doScroll\n    , domContentLoaded = 'DOMContentLoaded'\n    , loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState)\n\n\n  if (!loaded)\n  doc.addEventListener(domContentLoaded, listener = function () {\n    doc.removeEventListener(domContentLoaded, listener)\n    loaded = 1\n    while (listener = fns.shift()) listener()\n  })\n\n  return function (fn) {\n    loaded ? setTimeout(fn, 0) : fns.push(fn)\n  }\n\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/domready/ready.js\n// module id = 338\n// module chunks = 231608221292675","\"use strict\";\n\n/* global document: false, __webpack_require__: false */\npatch();\n\nfunction patch() {\n  var head = document.querySelector(\"head\");\n  var ensure = __webpack_require__.e;\n  var chunks = __webpack_require__.s;\n  var failures;\n\n  __webpack_require__.e = function (chunkId, callback) {\n    var loaded = false;\n    var immediate = true;\n\n    var handler = function handler(error) {\n      if (!callback) return;\n\n      callback(__webpack_require__, error);\n      callback = null;\n    };\n\n    if (!chunks && failures && failures[chunkId]) {\n      handler(true);\n      return;\n    }\n\n    ensure(chunkId, function () {\n      if (loaded) return;\n      loaded = true;\n\n      if (immediate) {\n        // webpack fires callback immediately if chunk was already loaded\n        // IE also fires callback immediately if script was already\n        // in a cache (AppCache counts too)\n        setTimeout(function () {\n          handler();\n        });\n      } else {\n        handler();\n      }\n    });\n\n    // This is |true| if chunk is already loaded and does not need onError call.\n    // This happens because in such case ensure() is performed in sync way\n    if (loaded) {\n      return;\n    }\n\n    immediate = false;\n\n    onError(function () {\n      if (loaded) return;\n      loaded = true;\n\n      if (chunks) {\n        chunks[chunkId] = void 0;\n      } else {\n        failures || (failures = {});\n        failures[chunkId] = true;\n      }\n\n      handler(true);\n    });\n  };\n\n  function onError(callback) {\n    var script = head.lastChild;\n\n    if (script.tagName !== \"SCRIPT\") {\n      if (typeof console !== \"undefined\" && console.warn) {\n        console.warn(\"Script is not a script\", script);\n      }\n\n      return;\n    }\n\n    script.onload = script.onerror = function () {\n      script.onload = script.onerror = null;\n      setTimeout(callback, 0);\n    };\n  }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-module-loader/patch.js\n// module id = 17\n// module chunks = 231608221292675","\"use strict\";\n\nexports.onRouteUpdate = function (_, pluginOptions) {\n  if (process.env.NODE_ENV === \"production\" || pluginOptions.includeInDevelopment) {\n    // wrap inside a timeout to ensure the title has properly been changed\n    setTimeout(function () {\n      window.dataLayer.push({\n        event: \"gatsby-route-change\"\n      });\n    }, 50);\n  }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/gatsby-plugin-google-tagmanager/gatsby-browser.js\n// module id = 368\n// module chunks = 231608221292675","function 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//# sourceMappingURL=mitt.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/mitt/dist/mitt.js\n// module id = 388\n// module chunks = 231608221292675","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/process/browser.js\n// module id = 61\n// module chunks = 35783957827783 231608221292675","\"use strict\";\n\nexports.__esModule = true;\n// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n  for (var i in a) {\n    if (!(i in b)) return true;\n  }for (var _i in b) {\n    if (a[_i] !== b[_i]) return true;\n  }return false;\n}\n\nexports.default = function (instance, nextProps, nextState) {\n  return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n};\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/gitlab-runner/builds/7DjWm5H2/0/cw/ws/uvocorp.com/gatsby/~/shallow-compare/lib/index.js\n// module id = 513\n// module chunks = 231608221292675"],"sourceRoot":""}